Предпосылки изобретения
Иерархическое кодирование аудио относится к организации потоков кода аудиокодирования по иерархическому принципу, в основном это разделение на основной уровень и несколько расширенных уровней. При отсутствии потоков кода высших уровней (таких, как расширенный уровень) кодирования декодер может декодировать только потоки кода нижнего уровня (такого, как основной уровень), а чем больше декодированных уровней, тем выше качество звука.
Технология иерархического кодирования имеет весьма значительное прикладное значение для сетей связи. С одной стороны, передача данных может быть полностью совместима разными каналами, а коэффициент потери пакетов каждого канала может быть разным, в этом случае для данных требуется иерархическая обработка, при которой важная часть данных передается на стабильном канале с относительно низким коэффициентом потери пакетов, тогда как менее важная часть данных передается на нестабильном канале с относительно высоким коэффициентом потери пакетов, тем самым гарантируется, что, когда пакеты теряются на нестабильном канале, происходит лишь относительное падение качества звука, а не полный сбой декодирования блока данных. С другой стороны, ширина каналов определенных сетей связи (таких, как Интернет) не является стабильной, и ширина каналов у различных пользователей различна, так что требования пользователей с различной шириной каналов не могут быть одновременно удовлетворены при помощи использования фиксированной кодовой скорости, тогда как иерархическая схема кодирования может позволить разным пользователям получать удовольствие оптимального качества звука при имеющейся у них ширине канала.
В обычной схеме иерархического кодирования аудио, например стандарте G.729.1 и G.VBR Международного союза телекоммуникаций ITU, основной уровень использует кодирование аудио, тогда как расширенный уровень применяет кодирование временной области или области преобразования. Схема кодирования основного уровня не зависит от схемы кодирования расширенного уровня, что приводит к низкой эффективности кодирования, а также влияет на качество кодирования музыкального сигнала в условиях передачи средней/низкой кодовой скорости. В других иерархических схемах, например схеме кодирования ВSAC (разрядно-секционный арифметический код) изменяющейся (или сократимой) кодовой скорости, применяемой стандартом MPEG4 (4 Экспертная группа по движущимся изображениям), распределение битов и иерархический принцип работы используются только на основании размера самого элемента данных, без рассмотрения характеристик распределения остаточного восприятия всего сигнала как такового, так что имеющаяся информация основного уровня не может использоваться, чтобы помогать выполнять кодирование расширенному уровню, что приводит к относительно низкой эффективности кодирования.
Суть изобретения
Техническая задача, которую предстоит решить в данном изобретении, состоит в том, чтобы преодолеть недостаток прототипов путем предоставления способа иерархического кодирования, декодирования аудио и устройства с высокой эффективностью.
Чтобы решить вышеуказанную техническую задачу, настоящее изобретение предоставляет способ иерархического кодирования аудио, содержащий следующие этапы:
разделение коэффициентов частотной области аудиосигнала, для которого было осуществлено модифицированное дискретное косинусное преобразование (МДКП), на коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня, разделение коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня на множество поддиапазонов кодирования, и квантование и кодирование значений огибающей амплитуды поддиапазонов кодирования;
распределение битов в каждый поддиапазон кодирования основного уровня согласно значению огибающей амплитуды каждого поддиапазона кодирования основного уровня, и затем квантование и кодирование коэффициентов частотной области основного уровня, чтобы получить закодированные биты коэффициентов частотной области основного уровня;
вычисление значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня;
распределение битов в каждый поддиапазон кодирования расширенного уровня согласно сигналу кодирования расширенного уровня, состоящему из остаточного сигнала основного уровня и коэффициентов частотной области расширенного уровня, и значению огибающей амплитуды каждого поддиапазона кодирования, состоящего из сигнала кодирования расширенного уровня, и затем квантование и кодирование сигнала кодирования расширенного уровня, чтобы получить закодированные биты сигнала кодирования расширенного уровня; и
мультиплексирование и упаковка закодированных битов значения огибающей амплитуды каждого поддиапазона кодирования, состоящего из коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня, закодированных битов коэффициентов частотной области основного уровня и закодированных битов сигнала кодирования расширенного уровня, и затем передача на сторону декодирования.
Кроме того, на указанном этапе разделения коэффициентов частотной области аудиосигнала, для которого было произведено модифицированное дискретное косинусное преобразование (МДКП), на коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня, разделения коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня на множество поддиапазонов кодирования,
разделение коэффициентов частотной области после МДКП на множество равномерных поддиапазонов, или разделение на множество неравномерных поддиапазонов кодирования согласно характеристикам, воспринимаемым на слух; группировка низкочастотных поддиапазонов кодирования как поддиапазонов кодирования основного уровня и группировка высокочастотных поддиапазонов кодирования как поддиапазонов кодирования расширенного уровня.
Кроме того, распределение битов с изменяющимися длинами этапов осуществляется для каждого поддиапазона кодирования согласно значению огибающей амплитуды поддиапазонов кодирования;
во время процесса распределения битов длина этапа распределения битов составляет 1 бит, а длина этапа уменьшения важности после распределения бита составляет 1 для поддиапазона кодирования, чье число распределения битов равно 0, длина этапа распределения битов для распределения битов дополнительно составляет 0,5, а длина этапа уменьшения важности после распределения бита составляет 0,5 для поддиапазона кодирования, чье число распределения битов больше 0 и меньше порога классификации, и длина этапа распределения битов для распределения битов дополнительно составляет 1 бит, а длина этапа уменьшения важности после распределения бита составляет 1 для поддиапазона кодирования, чье число распределения битов больше или равняется порогу классификации;
число распределения битов - это число битов, распределенных в один коэффициент частотной области в одном поддиапазоне кодирования.
Кроме того, на указанном этапе квантования и кодирования коэффициентов частотной области основного уровня и сигнала кодирования расширенного уровня,
квантование и кодирование подлежащих квантованию векторов поддиапазона кодирования, чье число распределения битов меньше, чем порог классификации, используя векторное квантование пирамидальной решетки, и квантование и кодирование подлежащих квантованию векторов поддиапазона кодирования, чье число распределения битов больше, чем порог классификации, используя векторное квантование сферической решетки;
число распределения битов - это число битов, распределенных в один коэффициент частотной области в одном поддиапазоне кодирования.
Кроме того, на указанном этапе расчета значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня,
значение огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня рассчитывается следующим образом:
обратным квантованием квантованного значения коэффициента частотной области основного уровня и применением расчета разности относительно коэффициентов частотной области основного уровня, чтобы получить остаточный сигнал основного уровня;
разделением остаточного сигнала основного уровня на поддиапазоны кодирования тем же способом, что и для коэффициента частотной области основного уровня, и вычислением значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня.
Кроме того, этап вычисления значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня содержит: вычисление показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и осуществление расчета разности относительно значения изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня;
где значение изменения показателя степени квантования каждого поддиапазона кодирования больше или равно 0, и не уменьшается, когда число распределения битов соответствующего поддиапазона кодирования основного уровня возрастает; и
когда число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, и когда число распределения битов поддиапазона кодирования основного уровня является определенным максимальным числом распределения битов, значение огибающей амплитуды остаточного сигнала основного уровня в поддиапазоне кодирования равно 0.
Кроме того, значение изменения показателя степени квантования поддиапазона кодирования получается согласно числу распределения битов основного уровня, и когда число распределения битов поддиапазона кодирования основного уровня равно, соответственно, 0, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 6, 7 или 8, значение изменения показателя степени квантования, соответствующее поддиапазону кодирования, равно, соответственно, 0, 1,2, 3, 4, 5, 5, 6, 7, 7, 9, 10 или 12;
кроме того, указанный этап получения закодированных битов коэффициентов частотной области основного уровня содержит: вычисление показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и распределение битов в каждый поддиапазон кодирования основного уровня; и
нормализация коэффициента частотной области каждого поддиапазона кодирования с использованием значения огибающей амплитуды квантования каждого поддиапазона кодирования основного уровня, восстановленной согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, и квантование и кодирование согласно числу распределения битов каждого поддиапазона кодирования основного уровня с использованием векторного квантования пирамидальной решетки и векторного квантования сферической решетки соответственно, чтобы получить закодированные биты коэффициентов частотной области основного уровня;
где указанный этап получения закодированных битов сигнала кодирования расширенного уровня содержит:
составление сигнала кодирования расширенного уровня из остаточного сигнала основного уровня и коэффициентов частотной области расширенного уровня;
распределение битов в каждый поддиапазон кодирования расширенного уровня согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования сигнала кодирования расширенного уровня; и
нормализация сигнала кодирования каждого поддиапазона кодирования с использованием значения огибающей амплитуды квантования каждого поддиапазона кодирования расширенного уровня, восстановленной согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня, и квантование и кодирование согласно числу распределения битов каждого поддиапазона кодирования расширенного уровня с использованием векторного квантования пирамидальной решетки и векторного квантования сферической решетки соответственно, чтобы получить закодированные биты сигнала кодирования расширенного уровня.
Кроме того, на указанном этапе мультиплексирования и упаковки закодированных битов значения огибающей амплитуды каждого поддиапазона кодирования, составленного из коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня, закодированных битов коэффициентов частотной области основного уровня и закодированных битов сигнала кодирования расширенного уровня, и затем передачи на сторону декодирования
мультиплексирование и упаковка осуществляются в соответствии со следующим форматом потока кода:
запись битов дополнительной информации основного уровня после заголовка кадра потока кода, запись закодированных битов значения огибающей амплитуды поддиапазона кодирования основного уровня в мультиплексор MUX потока битов, и затем запись закодированных битов коэффициентов частотной области основного уровня в MUX; и запись битов дополнительной информации расширенного уровня в MUX, запись закодированных битов значения огибающей амплитуды поддиапазона кодирования коэффициентов частотной области расширенного уровня в MUX, и затем запись закодированных битов сигнала кодирования расширенного уровня в MUX;
биты, чье число соответствует требованиям кодовой скорости, отсылаются на сторону декодирования согласно требуемой кодовой скорости.
Кроме того, закодированные биты сигнала кодирования расширенного уровня записываются в поток кода согласно начальному значению важности каждого поддиапазона кодирования в ниспадающем порядке, и отсылаются на сторону декодирования.
Кроме того, дополнительная информация основного уровня включает биты флажков кодирования Хаффмана огибающей амплитуды поддиапазона кодирования, составленного из коэффициентов МДКП, биты флажков кодирования Хаффмана коэффициентов частотной области основного уровня и биты числа итераций;
дополнительная информация расширенного уровня включает биты флажков кодирования Хаффмана сигнала кодирования расширенного уровня и биты числа итераций.
Кроме того, указанный этап передачи битов, чье число удовлетворяет условиям кодовой скорости, на сторону декодирования содержит:
кодирование основного уровня и расширенного уровня в диапазоне всей частотной полосы, в которой необходимо кодирование, согласно числу битов для определенной максимальной скорости кодирования, так что максимальная скорость кодирования достигается в диапазоне частотной полосы кодирования;
после закодированных битов основного уровня запись закодированных битов сигнала кодирования расширенного уровня в мультиплексор потока битов, согласно начальному значению важности каждого поддиапазона кодирования в убывающем порядке; и
передачу битов, число которых удовлетворяет требованиям кодовой скорости, на сторону декодирования, на основе принципа, что закодированные биты поддиапазона кодирования с меньшим начальным значением важности отклоняются в первую очередь;
где кодовая скорость, соответствующая основному уровню, обозначается как уровень L0, каждая кодовая скорость, соответствующая расширенному уровню, обозначается как уровень L1_1, уровень L1_2, вплоть до уровня L1_K согласно числу отклоненных битов расширенного уровня, где кодовая скорость уровня L1_K является точно максимальной скоростью кодирования.
Кроме того, диапазон частотной полосы кодирования составляет 0-13,6 кГц, и когда максимальная скорость кодирования составляет 64 кбит/с, биты, чье число удовлетворяет условиям кодовой скорости, отсылаются на сторону декодирования способом иерархии скорости кодирования, как ниже:
группирование коэффициентов МДКП частотной области в 0-6,4 кГц из диапазона 0-13,6 кГц частотной полосы кодирования в основной уровень, максимальная кодовая скорость, соответствующая основному уровню, составляет 32 кбит/с и обозначается как уровень L0; диапазон частотной полосы кодирования расширенного уровня составляет 0-13,6 кГц, и его максимальная кодовая скорость составляет 64 кбит/с и обозначается как уровень L1_5;
до передачи на сторону декодирования кодовая скорость разделяется, согласно числу отклоненных битов, на уровень L1_1, соответствующий 36 кбит/с, уровень L1_2, соответствующий 40 кбит/с, уровень L1_3, соответствующий 48 кбит/с, уровень L1_4, соответствующий 56 кбит/с, и уровень L1_5, соответствующий 64 кбит/с.
Кроме того, после указанного этапа разделения коэффициентов частотной области аудиосигнала, для которого было выполнено модифицированное дискретное косинусное преобразование (МДКП), на коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня, способ также включает: разделение коэффициентов частотной области расширенного уровня, в возрастающем порядке частот, на М частей, которые являются коэффициентами частотной области расширенного уровня от расширенного уровня 1 до расширенного уровня М соответственно, где частота для коэффициента частотной области в расширенном уровне 1 является самой низкой, а частота для коэффициента частотной области в расширенном уровне М - наивысшей;
после указанного этапа квантования и кодирования коэффициентов частотной области основного уровня способ также включает: обратное квантование квантованного значения коэффициента частотной области основного уровня, и осуществление расчета разности относительно коэффициента частотной области основного уровня, чтобы получить остаточный сигнал основного уровня; на указанном этапе вычисления значения огибающей амплитуды остаточного сигнала каждого поддиапазона кодирования основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня, разделение остаточного сигнала основного уровня на поддиапазоны кодирования тем же способом, что и для основного уровня, и вычисление значения огибающей амплитуды остаточного сигнала каждого поддиапазона кодирования основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня;
на указанном этапе распределения битов в каждый поддиапазон кодирования расширенного уровня согласно сигналу кодирования расширенного уровня, составленному из остаточного сигнала основного уровня и коэффициентов частотной области расширенного уровня и значения огибающей амплитуды каждого поддиапазона кодирования, составленного из сигнала кодирования расширенного уровня, и затем квантования и кодирования сигнала кодирования расширенного уровня, чтобы получить закодированные биты сигнала кодирования расширенного уровня,
составление сигнала кодирования расширенного уровня 1 из остаточного сигнала основного уровня и коэффициента частотной области расширенного уровня 1, вычисление показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования согласно сигналу кодирования расширенного уровня 1, и распределение битов в каждый поддиапазон кодирования расширенного уровня 1; квантование и кодирование сигнала кодирования расширенного уровня 1 согласно числу распределения битов каждого поддиапазона кодирования расширенного уровня 1;
обратное квантование квантованного значения сигнала кодирования расширенного уровня i, и осуществление расчета разности относительно сигнала кодирования расширенного уровня i, чтобы получить остаточный сигнал расширенного уровня i; разделение остаточного сигнала расширенного уровня i на поддиапазоны кодирования тем же способом, что и для расширенного уровня i, и вычисление значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала расширенного уровня i согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования расширенного уровня i;
составление сигнала кодирования расширенного уровня i+1 из остаточного сигнала расширенного уровня i и коэффициента частотной области расширенного уровня i+1, и распределение битов в каждый поддиапазон кодирования расширенного уровня i+1 согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования сигнала кодирования расширенного уровня i+1; и
нормализация, векторное квантование и кодирование сигнала кодирования каждого поддиапазона кодирования расширенного уровня i+1 с использованием значения огибающей амплитуды квантования и числа закодированных битов каждого поддиапазона кодирования расширенного уровня i+1, восстановленных согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня i+1, чтобы получить закодированные биты сигнала кодирования расширенного уровня i+1;
указанное i=1,….N-1, и N являются положительными целыми числами, большими 2.
Кроме того, мультиплексирование и упаковка осуществляются согласно следующему формату потока кода:
после закодированных битов основного уровня запись битов расширенного уровня с меньшим порядковым номером в мультиплексор MUX потока битов, а затем запись битов расширенного уровня с большим порядковым номером в мультиплексор MUX потока битов, т.е. запись в MUX сначала битов расширенного уровня i, а затем запись битов расширенного уровня i+1; в идентичном расширенном уровне запись битов дополнительной информации расширенного уровня в MUX, запись закодированных битов значения огибающей амплитуды поддиапазона кодирования коэффициентов частотной области расширенного уровня в MUX сначала, а затем запись закодированных битов сигнала кодирования расширенного уровня в MUX;
передача битов, чье число удовлетворяет требованиям кодовой скорости, на сторону декодирования согласно требуемой кодовой скорости.
Кроме того, биты, чье число удовлетворяет требованиям кодовой скорости, передаются на сторону декодирования иерархическим способом скорости кодирования, как ниже:
кодирование основного уровня и расширенных уровней 1-М в диапазоне всей частотной полосы, в которой необходимо кодирование, согласно числу битов для определенной максимальной скорости кодирования, так что максимальная скорость кодирования достигается в диапазоне частотной полосы кодирования;
после закодированных битов основного уровня предпочтительно запись битов расширенного уровня с меньшим порядковым номером в мультиплексор потока битов, а затем предпочтительно запись закодированных битов поддиапазона кодирования с большим начальным значением важности в мультиплексор потока битов в идентичном расширенном уровне;
для каждого расширенного уровня отклонение ненужных битов в задней части мультиплексора потока битов согласно расчетным требованиям кодовой скорости в каждом уровне, т.е. передача битов, чье число удовлетворяет требованиям кодовой скорости, на сторону декодирования согласно тому принципу, что закодированные биты поддиапазона кодирования с меньшим начальным значением важности отклоняются первыми;
обозначение кодовой скорости, соответствующей основному уровню, как уровень L0, обозначение максимальной кодовой скорости, соответствующей каждому расширенному уровню, как уровень L1_K1, уровень L2_K2, вплоть до уровня LM_KM, соответственно, согласно определенным требованиям для кодовых скоростей передачи, где кодовая скорость уровня LM_KM является точно максимальной кодовой скоростью, требуемой кодировщиком;
дальнейшее разделение уровня кодовой скорости между расширенным уровнем i и расширенным уровнем i+1 согласно числу отклоненных битов, т.е. подразделение на уровень Li+1_1, уровень Li+1_2, вплоть до уровня Li+1_Ki+1 между уровнем Li_Ki и уровнем Li+1_Ki+1 согласно числу отклоненных битов.
Кроме того, диапазон частотной полосы кодирования составляет 0-20 кГц, и когда максимальная скорость кодирования составляет 96 кбит/с, биты, чье число удовлетворяет требованиям кодовой скорости, отправляются на сторону декодирования иерархическим способом скорости кодирования, как ниже:
группирование МДКП коэффициентов частотной области в 0-6,4 кГц из диапазона 0-20 кГц частотной полосы кодирования в основной уровень, максимальная кодовая скорость, соответствующая основному уровню, составляет 32 кбит/с и обозначается как уровень L0;
диапазон частотной полосы кодирования расширенного уровня 1 составляет 0-13,6 кГц, и его максимальная кодовая скорость составляет 64 кбит/с и обозначается как уровень L1_5; диапазон частотной полосы кодирования расширенного уровня 2 составляет 0-20 кГц, и его максимальная кодовая скорость составляет 96 кбит/с и обозначается как уровень L2_2;
перед отправкой на сторону декодирования также разделение уровня L1_5 и уровня L2_2 на уровень L2_1, соответствующий 80 кбит/с, и уровень L2_2, соответствующий 96 кбит/с, согласно числу отклоненных битов.
Настоящее изобретение также предоставляет иерархический способ декодирования аудио, включающий следующие этапы:
демультиплексирование потока битов, посланного стороной кодирования, и декодирование закодированных битов огибающей амплитуды коэффициентов частотной области основного уровня, чтобы получить величину огибающей амплитуды каждого поддиапазона кодирования основного уровня;
распределение битов в каждый поддиапазон основного уровня согласно значению огибающей амплитуды каждого поддиапазона кодирования основного уровня, и вычисление значения огибающей амплитуды остаточного сигнала основного уровня; декодирование закодированных битов огибающей амплитуды коэффициентов частотной области расширенного уровня, чтобы получить величину огибающей амплитуды коэффициентов частотной области расширенного уровня; распределение битов в каждый поддиапазон кодирования расширенного уровня согласно значению огибающей амплитуды остаточного сигнала основного уровня и значению огибающей амплитуды коэффициентов частотной области расширенного уровня; и
соответственно декодирование закодированных битов коэффициентов частотной области основного уровня и закодированных битов сигнала кодирования расширенного уровня согласно числу распределения битов основного уровня и числу распределения битов расширенного уровня, чтобы получить коэффициенты частотной области основного уровня и сигнал кодирования расширенного уровня, переустройство сигнала кодирования расширенного уровня согласно порядку частотных полос, и сложение с коэффициентами частотной области основного уровня, чтобы получить коэффициенты частотной области всей полосы частот, выполнение обратного модифицированного дискретного косинусного преобразования (ОМДКП) для коэффициентов частотной области всей полосы частот, чтобы получить выходной аудиосигнал.
Кроме того, способ для вычисления значения огибающей амплитуды остаточного сигнала представляет собой:
этап вычисления значения огибающей амплитуды остаточного сигнала основного уровня включает:
вычисление показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и осуществление расчета разности относительно значения изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня;
вычисление значения огибающей амплитуды каждого поддиапазона остаточного сигнала расширенного уровня i согласно огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования расширенного уровня i;
значение изменения показателя степени квантования каждого поддиапазона кодирования является большей или равной 0, и неубывающей, когда число распределения битов соответствующего поддиапазона кодирования основного уровня возрастает; и
когда число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, и когда число распределения битов поддиапазона кодирования является определенным максимальным числом распределения битов, значение огибающей амплитуды остаточного сигнала основного уровня в поддиапазоне кодирования равно 0.
Кроме того, значение изменения показателя степени квантования поддиапазона кодирования получается согласно числу распределения битов основного уровня, и когда число распределения битов поддиапазона кодирования основного уровня составляет 0, 1, 1,5, 2, 2,5, 3, 3,5, 4, 4,5, 5, 6, 7 или 8 соответственно, значение изменения показателя степени квантования, соответствующее поддиапазону кодирования, составляет 0, 1, 2, 3, 4, 5, 5, 6, 7, 7, 9, 10 или 12 соответственно.
Кроме того, указанный этап получения коэффициентов частотной области основного уровня и сигнала кодирования расширенного уровня включает:
декодирование, обратное квантование и обратная нормализация закодированных битов коэффициентов частотной области основного уровня согласно числу распределения битов, значению огибающей амплитуды квантования и дополнительной информации каждого поддиапазона кодирования основного уровня, чтобы получить коэффициенты частотной области основного уровня; и
декодирование, обратное квантование и обратная нормализация закодированных битов сигнала кодирования расширенного уровня согласно числу распределения битов каждого поддиапазона кодирования расширенного уровня, значению огибающей амплитуды квантования и дополнительной информации сигнала кодирования расширенного уровня, чтобы получить сигнал кодирования расширенного уровня.
Кроме того, на указанном этапе декодирования закодированных битов сигнала кодирования расширенного уровня,
закодированные биты сигнала кодирования расширенного уровня декодируются в следующем порядке:
в различных расширенных уровнях порядок для декодирования различных уровней таков: в первую очередь декодирование закодированных битов каждого поддиапазона кодирования и огибающей амплитуды нижнего расширенного уровня с меньшим порядковым номером расширенного уровня, а затем декодирование закодированных битов каждого поддиапазона кодирования и огибающей амплитуды верхнего расширенного уровня с большим порядковым номером расширенного уровня, число декодированных битов рассчитывается во время декодирования, и декодирование прекращается, когда число декодированных битов удовлетворяет требованиям к общему числу битов;
в идентичном расширенном уровне порядок для декодирования различных поддиапазонов определяется начальным значением важности каждого поддиапазона кодирования, поддиапазон кодирования с большей важностью декодируется предпочтительно, а если присутствуют два поддиапазона кодирования с одинаковой важностью, то предпочтительно декодируется поддиапазон кодирования более низкой частоты, число декодированных битов рассчитывается во время декодирования, и декодирование прекращается, когда число декодированных битов удовлетворяет требованиям к общему числу битов.
Кроме того, когда кодовая скорость, с которой биты отсылаются со стороны кодирования на сторону декодирования, составляет 64 кбит/с, на стороне декодирования для декодирования перехватываются различные количества битов, и скорость декодирования может составлять 36 кбит/с, 40 кбит/с, 48 кбит/с, 56 кбит/с или 64 кбит/с.
Когда кодовая скорость, с которой биты отсылаются со стороны кодирования на сторону декодирования, составляет 96 кбит/с, на стороне декодирования для декодирования перехватываются различные количества битов, и скорость декодирования может составлять 80 кбит/с или 96 кбит/с.
Настоящее изобретение также предоставляет систему иерархического кодирования аудио, содержащую: блок модифицированного дискретного косинусного преобразования (МДКП), блок вычисления огибающей амплитуды, блок квантования и кодирования огибающей амплитуды, блок распределения битов основного уровня, блок векторного квантования и кодирования коэффициентов частотной области основного уровня и мультиплексор потока битов; система также содержит: блок генерирования сигнала кодирования расширенного уровня, блок генерирования огибающей амплитуды остаточного сигнала, блок распределения битов расширенного уровня и блок векторного квантования и кодирования сигнала кодирования расширенного уровня, где:
блок МДКП приспособлен выполнять модифицированное дискретное косинусное преобразование для входящего аудиосигнала, чтобы генерировать коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня;
блок вычисления огибающей амплитуды приспособлен разделять подлежащую кодированию часть коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня на поддиапазон кодирования коэффициентов частотной области основного уровня и поддиапазон кодирования коэффициентов частотной области расширенного уровня, и вычислять величину огибающей амплитуды каждого поддиапазона кодирования;
блок квантования и кодирования огибающей амплитуды приспособлен квантовать и кодировать значения огибающей амплитуды поддиапазона кодирования коэффициентов частотной области основного уровня и поддиапазона кодирования коэффициентов частотной области расширенного уровня, чтобы генерировать показатель степени квантования огибающей амплитуды и закодированные биты огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области основного уровня и поддиапазона кодирования коэффициентов частотной области расширенного уровня;
блок распределения битов основного уровня приспособлен распределять биты в основной уровень, чтобы получать число распределения битов каждого поддиапазона кодирования основного уровня;
блок векторного квантования и кодирования коэффициентов частотной области основного уровня приспособлен нормализовать, векторно квантовать и кодировать коэффициенты частотной области каждого поддиапазона кодирования основного уровня, используя величину огибающей амплитуды квантования и число распределения битов каждого поддиапазона кодирования основного уровня, восстановленные согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, чтобы получать закодированные биты коэффициентов частотной области основного уровня;
блок генерирования сигнала кодирования расширенного уровня приспособлен генерировать остаточный сигнал и получать сигнал кодирования расширенного уровня, составленный из остаточного сигнала и коэффициентов частотной области расширенного уровня;
блок генерирования огибающей амплитуды остаточного сигнала приспособлен получать показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и числу распределения битов соответствующего поддиапазона кодирования;
блок распределения битов расширенного уровня приспособлен распределять биты в расширенный уровень согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала и показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области расширенного уровня, чтобы получать число распределения битов каждого поддиапазона кодирования сигнала кодирования расширенного уровня;
блок векторного квантования и кодирования сигнала кодирования расширенного уровня приспособлен нормализовать, векторно квантовать и кодировать сигнал кодирования каждого поддиапазона кодирования расширенного уровня, используя величину огибающей амплитуды квантования и число распределения битов каждого поддиапазона кодирования расширенного уровня, восстановленные согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня, чтобы получить закодированные биты сигнала кодирования расширенного уровня;
мультиплексор потока битов приспособлен упаковывать биты дополнительной информации основного уровня, закодированные биты огибающей амплитуды каждого поддиапазона кодирования основного уровня, закодированные биты коэффициентов частотной области основного уровня, биты дополнительной информации расширенного уровня, закодированные биты каждой огибающей амплитуды коэффициентов частотной области расширенного уровня и закодированные биты сигнала кодирования расширенного уровня.
Кроме того, блок генерирования сигнала кодирования расширенного уровня также содержит блок генерирования остаточного сигнала и блок синтеза сигнала кодирования расширенного уровня;
блок генерирования остаточного сигнала приспособлен обратно квантовать квантованную величину коэффициентов частотной области основного уровня, осуществлять расчет разности относительно коэффициента частотной области основного уровня, чтобы получить остаточный сигнал основного уровня;
блок синтеза сигнала кодирования расширенного уровня приспособлен синтезировать остаточный сигнал основного уровня и коэффициент частотной области расширенного уровня в порядке частотных диапазонов, чтобы получить сигнал кодирования расширенного уровня.
Кроме того, блок генерирования огибающей амплитуды остаточного сигнала также содержит блок получения значения изменения показателя степени квантования и блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала;
блок получения значения изменения показателя степени квантования приспособлен рассчитывать величину изменения показателя степени квантования каждого поддиапазона кодирования остаточного сигнала согласно числу распределения битов каждого поддиапазона кодирования основного уровня, где значение изменения показателя степени квантования каждого поддиапазона кодирования больше или равно 0 и не уменьшается, когда число распределения битов соответствующего поддиапазона кодирования основного уровня увеличивается; когда число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, а когда число распределения битов поддиапазона кодирования основного уровня равно определенному максимальному числу распределения битов, значение огибающей амплитуды остаточного сигнала основного уровня в поддиапазоне кодирования равно 0;
блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала приспособлен осуществлять расчет разности между показателем степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и значением изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня.
Кроме того, мультиплексор потока битов приспособлен записывать закодированные биты сигнала кодирования расширенного уровня в поток кода согласно начальному значению важности каждого поддиапазона кодирования в порядке убывания, а для поддиапазонов кодирования с одинаковой важностью предпочтительно записывать в поток кода закодированные биты поддиапазона кодирования более низкой частоты.
Настоящее изобретение также предоставляет систему иерархического декодирования аудио, содержащую: демультиплексор потока битов, блок декодирования огибающей амплитуды основного уровня, блок распределения битов основного уровня и блок декодирования и обратного квантования основного уровня; система также содержит: блок декодирования огибающей амплитуды расширенного уровня, блок генерирования огибающей амплитуды остаточного сигнала основного уровня, блок распределения битов расширенного уровня, блок декодирования и обратного квантования сигнала кодирования расширенного уровня, блок генерирования коэффициента частотной области, блок заполнения шумом и блок обратного модифицированного дискретного косинусного преобразования (ОМДКП); где:
блок декодирования огибающей амплитуды основного уровня приспособлен декодировать закодированные биты огибающей амплитуды поддиапазонов кодирования основного уровня, выдаваемые демультиплексором потока битов, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня;
блок распределения битов основного уровня приспособлен распределять биты в основной уровень, чтобы получать число распределения битов каждого поддиапазона кодирования основного уровня;
блок декодирования и обратного квантования основного уровня приспособлен получать путем вычисления значения огибающей амплитуды квантования каждого поддиапазона кодирования основного уровня согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, и декодировать, обратно квантовать и обратно нормализовать закодированные биты коэффициентов частотной области основного уровня, выдаваемые демультиплексором потока битов, используя число распределения битов и величину огибающей амплитуды квантования каждого поддиапазона кодирования основного уровня, чтобы получать коэффициенты частотной области основного уровня;
блок декодирования огибающей амплитуды расширенного уровня приспособлен декодировать закодированные биты огибающей амплитуды коэффициентов частотной области основного уровня, выдаваемые демультиплексором потока битов, чтобы получать показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области основного уровня;
блок генерирования огибающей амплитуды остаточного сигнала основного уровня приспособлен получать путем вычисления показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и числу распределения битов соответствующего поддиапазона кодирования;
блок распределения битов расширенного уровня приспособлен распределять биты в расширенный уровень согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала и показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области расширенного уровня, чтобы получить число распределения битов каждого поддиапазона кодирования сигнала кодирования расширенного уровня;
блок декодирования и обратного квантования сигнала кодирования расширенного уровня приспособлен получать путем вычисления величину огибающей амплитуды квантования каждого поддиапазона кодирования расширенного уровня согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня, и декодировать, обратно квантовать и обратно нормализовать закодированные биты сигнала кодирования расширенного уровня, выдаваемые демультиплексором потока битов, используя число распределения битов и величину огибающей амплитуды квантования каждого поддиапазона кодирования расширенного уровня, чтобы получать сигнал кодирования расширенного уровня;
блок генерирования коэффициента частотной области приспособлен перестраивать сигнал кодирования расширенного уровня, выдаваемый блоком декодирования и обратного квантования сигнала кодирования расширенного уровня, согласно порядку частотных диапазонов, а затем выполнять расчет суммы относительно коэффициентов частотной области основного уровня, выдаваемых блоком декодирования и обратного квантования сигнала кодирования основного уровня, чтобы получить выходное значение коэффициента частотной области;
блок заполнения шумом приспособлен выполнять заполнение шумом для поддиапазонов кодирования, в которые ни один закодированный бит не был распределен во время процесса кодирования;
блок ОМДКП приспособлен выполнять ОМДКП для всех коэффициентов частотной области, для которых было выполнено заполнение шумом, чтобы получать выходной аудиосигнал.
Кроме того, блок генерирования огибающей амплитуды остаточного сигнала основного уровня также содержит блок получения значения изменения показателя степени квантования и блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала;
блок получения значения изменения показателя степени квантования приспособлен вычислять величину изменения показателя степени квантования каждого поддиапазона кодирования остаточного сигнала согласно числу распределения битов каждого поддиапазона кодирования основного уровня и осуществлять регулирование согласно абсолютному значению коэффициента частотной области соответствующего поддиапазона кодирования, где значение изменения показателя степени квантования каждого поддиапазона кодирования больше или равно 0 и не уменьшается, когда число распределения битов соответствующего поддиапазона кодирования основного уровня увеличивается, и если число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, и если число распределения битов поддиапазона кодирования основного уровня является определенным максимальным числом распределения битов, значение огибающей амплитуды остаточного сигнала в поддиапазоне кодирования равно 0;
блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала приспособлен выполнять расчет разности для показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования и значения изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня.
Кроме того, блок декодирования и обратного квантования сигнала кодирования расширенного уровня приспособлен так, что порядок декодирования различных поддиапазонов сигнала кодирования расширенного уровня определяется начальным значением важности каждого поддиапазона кодирования, поддиапазон кодирования с большей важностью декодируется предпочтительно, а если присутствуют два поддиапазона кодирования с одинаковой важностью, то предпочтительно декодируется поддиапазон кодирования более низкой частоты, число декодированных битов рассчитывается во время декодирования, и декодирование прекращается, когда число декодированных битов удовлетворяет требованиям к общему числу битов.
В заключение, в настоящем изобретении идентичный способ для разделения на поддиапазоны и распределения битов применяется в основном уровне и расширенном уровне, информация огибающей амплитуды расширенного уровня вычисляется согласно информации огибающей амплитуды основного уровня, и характеристики распределения самих сигналов полностью принимаются во внимание в распределении битов и основного уровня, и расширенного уровня, так что основной уровень и расширенный уровень тесно связаны друг с другом, и поток кода расширенного уровня не содержит информации огибающей амплитуды остаточного сигнала, тем самым повышая эффективность иерархического кодирования и декодирования аудио и одновременно увеличивая коэффициент использования кодов.
Краткое описание графических материалов
Фиг.1 представляет собой блок-схему усовершенствованного способа иерархического кодирования аудио согласно первому примеру данного изобретения;
Фиг.2 представляет собой блок-схему способа для модификации распределения битов после векторного квантования согласно одному примеру данного изобретения;
Фиг.3 представляет собой изображение структуры системы усовершенствованного иерархического кодирования аудио согласно первому примеру данного изобретения;
Фиг.3а представляет собой изображение потока кода иерархического кодирования согласно первому примеру данного изобретения;
Фиг.4 представляет собой блок-схему усовершенствованного способа иерархического декодирования аудио согласно первому примеру данного изобретения;
Фиг.5 представляет собой изображение структуры системы усовершенствованного иерархического декодирования аудио согласно первому примеру данного изобретения;
Фиг.6 представляет собой блок-схему расширенного способа иерархического кодирования аудио согласно второму примеру данного изобретения;
Фиг.6а представляет собой изображение потока кода иерархического кодирования согласно второму примеру данного изобретения;
Фиг.7 представляет собой изображение структуры системы расширенного иерархического кодирования аудио согласно второму примеру данного изобретения;
Фиг.8 представляет собой блок-схему расширенного способа иерархического декодирования аудио согласно второму примеру данного изобретения;
Фиг.9 представляет собой изображение структуры системы расширенного иерархического декодирования аудио согласно второму примеру данного изобретения;
Фиг.10 представляет собой изображение взаимосвязи между послойным разделением в диапазоне частотных полос и послойным разделением согласно кодовой скорости, в соответствии с данным изобретением.
Предпочтительные варианты осуществления изобретения
Основная идея данного изобретения заключается в том, чтобы компенсировать квантованный шум в основном уровне, использовать те же способы для разделения поддиапазонов и распределения битов в основном уровне и расширенном уровне, и вычислять информацию огибающей амплитуды остаточного сигнала основного уровня согласно информации огибающей амплитуды основного уровня, что может улучшать качество аудио основного уровня без передачи информации огибающей амплитуды остаточного сигнала в потоке кода расширенного уровня.
Настоящее изобретение будет подробно описано ниже со ссылками на графические материалы и примеры.
Первый пример
Фиг.1 представляет собой блок-схему усовершенствованного способа иерархического кодирования аудио согласно первому примеру данного изобретения. В этом примере способ иерархического кодирования аудио данного изобретения будет описываться в качестве примера при помощи аудиопотока с длиной кадра 20 мс и частотой дискретизации 32 кГц. Способ данного изобретения также применим в условиях других длин кадра и частот дискретизации. Как показано на фиг.1, способ включает:
Этап 101: МДКП (модифицированное дискретное косинусное преобразование) выполняется для аудиопотока с длиной кадра 20 мс и частотой дискретизации 32 кГц, чтобы получить коэффициенты частотной области на N точках дискретизации частотной области.
Этот этап конкретно может реализовываться следующим образом:
когда сигнал дискретизации x(n) временной области N точек текущего кадра и сигнал дискретизации Xold(n) временной области N точек последнего кадра составляют сигнал дискретизации
МДКП выполняется на
где w(n) представляет собой синусную оконную функцию, которая выражается как:
Кроме того, когда длина кадра составляет 20 мс, а частота дискретизации составляет 32 кГц, N=640 (соответствующее N может также рассчитываться согласно другим длинам кадров и частотам дискретизации).
Этап 102: коэффициенты частотной области N точек разделяются на несколько поддиапазонов, равномерно или неравномерно, а в этом примере поддиапазоны разделяются неравномерно, и затем вычисляется огибающая амплитуды частотной области (для краткости называемая огибающей амплитуды) каждого поддиапазона.
Этот этап может осуществляться посредством следующих подэтапов:
Этап 102а: коэффициенты частотной области в диапазоне частотной полосы, которые подлежат кодированию, разделяются на L поддиапазонов (которые могут называться поддиапазонами кодирования);
в этом примере диапазон частотной полосы, подлежащий кодированию, составляет 0-13,6 кГц, и может быть разделен на поддиапазоны неравномерно, согласно характеристикам, воспринимаемым на слух человеком. Таблица 1 предоставляет конкретный режим разделения.
В Таблице 1 коэффициенты частотной области в диапазоне частотной полосы 0-13,6 кГц разделяются на 28 поддиапазонов кодирования, т.е. L=28; коэффициенты частотной области выше 13,6 кГц рассматриваются как равные 0.
В этом примере также разделяется диапазон частотной области основного уровня. Поддиапазоны от №0-15 в Таблице 1 выбираются как поддиапазоны основного уровня, и в целом имеется L_core=16 поддиапазонов. Диапазон частотной полосы основного уровня составляет 0-6,4 кГц.
Этап 102b: огибающая амплитуды каждого поддиапазона кодирования рассчитывается по следующей формуле:
где LIndex(j) и HIndex(j) представляют собой, соответственно, точку начальной частоты и точку конечной частоты j-го поддиапазона кодирования, а их конкретные значения показаны в Таблице 1.
Этап 103: значение огибающей амплитуды каждого поддиапазона кодирования квантуется и кодируется, чтобы получить показатель степени квантования огибающей амплитуды и закодированные биты огибающей амплитуды, и закодированные биты огибающей амплитуды необходимо передать на мультиплексор потока битов (MUX).
Огибающая амплитуды каждого поддиапазона кодирования квантуется при помощи следующей формулы (5), чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования, т.е. выходную величину квантователя:
где
Огибающая амплитуды квантования, восстанавливаемая согласно показателю степени квантования, составляет
Показатель степени квантования огибающей амплитуды первого поддиапазона кодирования кодируется 6 битами, т.е. расходуются 6 битов.
Значения дифференциальных операций между показателями квантования огибающей амплитуды различных поддиапазонов кодирования рассчитываются по следующей формуле:
Чтобы гарантировать, что ΔThq(j) находится в пределах [-15, 16], огибающая амплитуды может изменяться следующим образом:
если ΔThq(j)<-15, пусть ΔThq(j)=-15, Thq(j)=Thq(j+1)+15,j=L-2,…,0;
если ΔThq(j)>16, пусть ΔThq(j)=16, Thq(j+1)=Thq(j)+16,j=0,…,L-2.
Кодирование Хаффмана выполняется для Thq(j),j=0,…,L-2 и рассчитывается число битов, используемых в этот момент (называемых закодированными битами Хаффмана). Если число закодированных битов Хаффмана больше или равно числу фиксировано распределенных битов (которое в этом примере больше чем (L-1)х5), ΔThq(j),j=0,…,L-2 не кодируется в режиме кодирования Хаффмана, и флажок кодирования Хаффмана Flag_huff_rms устанавливается в 0, иначе ΔThq(j),j=0,…,L-2 кодируется при помощи кодирования Хаффмана, а флажок кодирования Хаффмана Flag-huff_rms устанавливается в 1. Закодированные биты показателя степени квантования огибающей амплитуды (т.е. закодированные биты значения дифференциала) и бит флажка кодирования Хаффмана нужно передать на MUX.
Этап 104: начальное значение важности каждого поддиапазона кодирования основного уровня рассчитывается согласно теории искажений кодовой скорости и информации огибающей амплитуды поддиапазона кодирования, и распределение битов для основного уровня выполняется согласно важности каждого поддиапазона кодирования.
Этот этап может осуществляться посредством следующих подэтапов:
Этап 104а: рассчитывается среднее значение использования битов одного коэффициента частотной области основного уровня:
из общего числа битов, которые могут быть предоставлены длиной кадра в 20 мс, bits_available, вычитаются число битов для кодирования основного уровня, bits_available_core, число битов, используемых дополнительной информацией основного уровня, layer bit_sides_core, и число битов, используемых показателем степени квантования огибающей амплитуды поддиапазона кодирования основного уровня, bits_Th_core, чтобы получить число оставшихся битов, bits_left_core, которые могут быть использованы для кодирования коэффициентов частотной области основного уровня, т.е.
Дополнительная информация содержит флажки кодирования Хаффмана flags Flag_huff_rms, Flag_huff_PLVQ и биты числа итераций count. Flag_huff_rms используется, чтобы отмечать, применяется ли кодирование Хаффмана к показателям квантования огибающей амплитуды поддиапазонов кодирования основного уровня и расширенного уровня; Flag_huff_PLVQ_core используется, чтобы отмечать, используется ли кодирование Хаффмана, когда для коэффициентов частотной области выполняется векторное кодирование, а число итераций count используется, чтобы обозначать число итераций во время модификации распределения битов (подробности смотрите в описании последующих этапов).
Рассчитывается среднее значение использования битов
где L_core - это число поддиапазонов кодирования основного уровня.
Этап 104b: в соответствии с теорией искажений кодовой скорости рассчитывается оптимальное значение битов при условии максимального роста отношения сигнал-шум квантования.
Степень искажения кодовой скорости, основанная на случайной переменной отдельного распределения Гаусса, оптимизируется при помощи метода Лагранжа, и оптимальное значение битов при условии максимального роста отношения сигнал-шум квантования каждого поддиапазона кодирования может быть получено при помощи следующих расчетов:
где,
и
Этап 104 с: начальное значение важности каждого поддиапазона кодирования рассчитывается во время распределения битов:
начальное значение важности каждого поддиапазона кодирования для управления распределением битов при распределении битов на практике может быть получено при помощи вышеупомянутого оптимального значения битов и коэффициента пропорциональности, соответствующего характеристикам, воспринимаемым человеком на слух:
где α - это коэффициент пропорциональности, который связан с кодовой скоростью кодирования и может быть получен при помощи статистики и анализа, и он, как правило, 0<α<1, и в этом примере равен 0,4; rk (j) обозначает важность j-го поддиапазона кодирования во время распределения битов.
Этап 104d: распределение битов для основного уровня выполняется согласно важности каждого поддиапазона кодирования; конкретное описание таково:
сначала находится поддиапазон кодирования с максимальным значением среди различных rk(j), и порядковый номер поддиапазона кодирования предполагается равным jk, и затем количество закодированных битов region_bit(jk) каждого коэффициента частотной области в поддиапазоне кодирования увеличивается, в то время как важность поддиапазона кодирования уменьшается; тем временем рассчитывается общее количество битов bit_band_used(jk), используемых для кодирования поддиапазона; наконец, рассчитывается сумма количеств битов, используемых всеми поддиапазонами кодирования, sun(bit_band_used(j)),j=0,…,L_core-1; вышеописанная процедура повторяется, пока сумма количеств используемых битов не достигает максимального значения при условии ограничения доступных битов.
Способ распределения битов на этом этапе может быть представлен следующим псевдокодом:
пусть region_bit(j)=0, j=0,1…,L_core-1;
для поддиапазонов кодирования 0,1,…,L_core-1:
{
найти
если region_bit(jk)<порог классификации
{
если region_bit(jk)=0
пусть region_bit(jk)=region_bit(jk)+1;
рассчитать bit_band_used(jk)=region_bit(jk)*BandWidth(jk);
пусть rk(jk)=rk(jk)-1;
или иначе, если region_bit(jk)>=1
пусть region_bit(jk)=region_bit(jk)+0,5;
рассчитать bit_band_used(jk)=region_bit(jk)*BandWidth(jk)*0,5;
пусть rk(jk)=rk(jk)-0,5;
}
или иначе, если region_bit(jk)>= порог классификации
{
пусть region_bit(jk)=region_bit(jk)+1;
рассчитать bit_band_used(jk)=region_bit(jk)×BandWidth(jk);
}
рассчитать bit_used_all=sum(bit_band_used(j)) j=0,1,…,L_core-1;
если bit_used_all<bits_left_core-24, возвратиться и найти jk снова в различных поддиапазонах кодирования, и рассчитать число распределения битов (или называемое числом закодированных битов) в цикле; где 24 - это максимальное значение ширины поддиапазона кодирования.
Или иначе, завершить цикл, рассчитать число распределения битов и выдать число распределения битов в настоящий момент.
}
Наконец, согласно важности поддиапазона, оставшиеся биты, менее 24, распределяются в поддиапазон кодирования, который удовлетворяет требованиям на основании следующего правила: 0,5 бит предпочтительно распределяется в каждый коэффициент частотной области в поддиапазоне кодирования с распределением битов, равным 1, и тем временем важность поддиапазона кодирования уменьшается на 0,5; иначе 1 бит распределяется в каждый коэффициент частотной области в поддиапазоне кодирования с распределением битов, равным 0, и тем временем важность поддиапазона кодирования уменьшается на 1, до тех пор, пока не выполняется условие bit_left-bit_used_all<4, распределение битов завершается.
Диапазон значений порога классификации больше или равен 2 и меньше или равен 8, а в этом примере его значением может быть равным 5.
Где MaxBit - это максимальное число битов, которые могут быть распределены в один коэффициент частотной области в поддиапазоне кодирования, чьей единицей является бит/коэффициент частотной области. В этом примере MaxBit=9. Это значение может регулироваться согласно скорости кодирования декодировщика. region_bit(j) - это число битов, распределенных в один коэффициент частотной области в j-м поддиапазоне кодирования, т.е. число закодированных битов одного коэффициента частотной области в поддиапазоне кодирования.
Кроме того, на этом этапе, Thq(j) или
Этап 105: для каждого коэффициента частотной области в поддиапазоне кодирования выполняется нормализация, согласно значению огибающей амплитуды квантования, восстановленной с использованием показателя степени квантования каждого поддиапазона кодирования основного уровня, а затем нормализованные коэффициенты частотной области группируются, чтобы образовать несколько векторов;
нормализующая обработка выполняется для всех коэффициентов Xj частотной области поддиапазона кодирования с использованием огибающей амплитуды
8 последовательных коэффициентов в поддиапазоне кодирования группируются, чтобы составлять один 8-размерный вектор. Согласно разделению поддиапазонов кодирования в Таблице 1, коэффициенты в поддиапазоне кодирования j могут быть точно сгруппированы, чтобы составлять Lattice_D8(j) 8-размерных векторов. Каждый нормализованный и сгруппированный 8-размерный вектор, подлежащий квантованию, может быть представлен как
Этап 106: оценивается значение количества битов, распределенных в поддиапазон кодирования j, region_bit(j), и если число распределенных битов region_bit(j) меньше, чем порог классификации, выполняются этапы 107 и 109, т.е. вектор в поддиапазоне кодирования, подлежащий квантованию, квантуется и кодируется, используя векторное квантование пирамидальной решетки; если число распределенных битов region_bit(j) больше порога классификации или равно ему, выполняются этапы 108 и 110, т.е. вектор в поддиапазоне кодирования, подлежащий квантованию, квантуется и кодируется, используя векторное квантование сферической решетки; пороговое значение в этом примере принимает значение 5 бит.
Этап 107: поддиапазон кодирования с малым числом битов квантуется с использованием векторного квантования пирамидальной решетки, в этом случае число битов, распределенных в поддиапазон j, удовлетворяет условию 1<=region_bit(j)<5.
Настоящее изобретение использует способ квантования 8-размерного вектора решетки, основанный на узле решетки D8, где узел решетки D8 определяется следующим образом:
где Z8 представляет собой 8-размерное целочисленное пространство. Способ для отображения (т.е. квантования) 8-размерного вектора в узел решетки D8 описывается следующим образом:
Предполагается, что х - любое вещественное число, f(x) обозначает выполнение округляющего квантования целого, ближнего к х среди двух целых, смежных с х; w(x) обозначает выполнение округляющего квантования целого, дальнего от х среди двух целых, смежных с х. Для любого вектора X=(x1, x2,…,x8)∈R8, также может быть определено, что f(X)=(f(x1), f(x2),…,f(x8)). Минимальный индекс среди компонент с самым большим абсолютным значением ошибки округляющего квантования выбирается в f(X) и обозначается как k, и таким образом определяется, что g(X)=(f(x1), f(x2),…w(xk),…,f(x8)), тогда одно и
только одно из f(X) и g(X) является значением узла решетки D8, в этом случае значение квантования выхода узла решетки D8 квантователем имеет вид:
Способ для квантования подлежащего квантованию вектора в узел решетки D8 и конкретные этапы для нахождения показателя узла решетки D8 имеют следующий вид:
Этап 107а: регулируется энергия подлежащего квантованию вектора;
До квантования необходимо выполнить регулирование энергии для подлежащего квантованию вектора. Согласно числу битов, region_bit(j), распределенных в поддиапазон кодирования j, где располагается подлежащий квантованию вектор, порядковый номер (index) шифровальной книги, соответствующий числу битов, и коэффициент масштабирования энергии (scale) находятся в Таблице 2; затем регулирование энергии для подлежащего квантованию вектора выполняется согласно следующей формуле:
где
Этап 107b: для регулируемого вектора выполняется квантование узла решетки;
8-размерныи вектор
где
Этап 107с: энергия
энергия узла
рассчитать пирамидальную поверхностную энергию
Kbak=temp_К
если temp_K>LargeK(index)
{
пока temp_K>LargeK(index)
{
Kbak=temp_К
пока temp_K<=LargeK(index)
{
Kbak=temp_К
}
}
temp_К=Kbak
В этот момент
Этап 107d: в книге шифрования генерируется индекс квантования узла
Индекс узла
Этап 1: узел решетки на каждой пирамидальной поверхности обозначается отдельно согласно значению пирамидальной поверхностной энергии.
Для целой сетки ZL узловой решетки, с размерностью L, пирамидальная поверхность, чей радиус энергии обозначается К, определяется как:
N(L,K) обозначается как число узлов решетки в S(L,K), и для целой решетки ZL, N(L,K) имеет следующее рекуррентное соотношение:
N(L,0)=1 (L≥0), N(0,K)=0 (К≥1)
N(L,K)=N(L-1,K)+N(L-1,K-1)+N(L,K-1) (L≥1,K≥1)
Для узла целочисленной решетки Y=(y1,y2,…,yL)∈ZL на пирамидальной поверхности, чей радиус энергии равен К, она обозначается определенной значением b в [0,1,….,N(L,K)-1], и b называется меткой узла решетки. Этапы нахождения метки b имеют следующий вид:
Этап 1.1: пусть b=0, i=1, k=K, l=L и рассчитать N(m,n), (m<=L, n<=K) согласно приведенной выше рекурсивной формуле. Определяется, что:
Этап 1.2: если уi=0, то b=b+0;
если
если |уi|>1, то
Этап 1.3: k=k-|yi|, 1=1-1, i=i+l, если k=0 в этот момент, то поиск заканчивается, и b является меткой Y, иначе необходимо перейти на этап 1.2.
Этап 2: узлы решетки на всех пирамидальных поверхностях обозначаются равномерно.
Метка каждого узла решетки на всех пирамидальных поверхностях рассчитывается согласно числу узлов решетки на каждой пирамидальной поверхности и метке каждого узла решетки на ее собственной пирамидальной поверхности:
где kk - четное число, a index_b(j,m) в этот момент является точно индексом узла
Этап 107е: этапы 107a-107d повторяются, пока не сгенерированы индексы 8-размерных векторов всех поддиапазонов кодирования, чьи закодированные биты больше 0; переход к этапу 109.
Этап 108: под диапазоны кодирования с большим числом битов квантуются с использованием векторного квантования сферической решетки, и в этот момент число битов, распределенных в поддиапазон j, удовлетворяет условию 5<=region_bit(j)<=9;
здесь также применяется квантование 8-размерного вектора решетки, основанное на решетке D8.
Этап 108а: следующее регулирование энергии выполняется для m-го нормализованного подлежащего квантованию вектора
где a=(2-6, 2-6, 2-6, 2-6, 2-6, 2-6, 2-6, 2-6),
и scale (region _bit(j)) представляет собой коэффициент масштабирования энергии, когда число распределения битов одного коэффициента частотной области в поддиапазоне кодирования равно region_bit(j), и их соответствующее соотношение может быть найдено в Таблице 3.
Этап 108b: генерируется индексный вектор узла решетки D8.
m-й подлежащий квантованию вектор
Проверяется, является ли
Если условие нулевого вектора выполняется, индексный вектор может быть получен согласно следующей формуле генерации экспонент вектора:
В этот момент выдается индексный вектор k узла
Если условие нулевого вектора не выполняется, величина вектора
temp_D=
Dbak=temp_D
Пока temp_D≠0
{
temp_D=
}
Dbak=temp_D
Пока temp_D=0
{
Dbak=temp_D
temp_D=
}
Переход к этапу 110;
Этап 109: индекс векторного квантования поддиапазона кодирования с малым числом битов кодируется; и в этот момент число битов, распределенных в поддиапазоне, удовлетворяет условию 1<=region_bit(j)<5;
индекс векторного квантования, index_b(j,k), каждого 8-размерного вектора в каждом поддиапазоне кодирования получается согласно векторному квантованию пирамидальной решетки, где k обозначает k-й 8-размерный вектор поддиапазона кодирования j. Этапы для осуществления кодирования Хаффмана для индекса квантования, index_(j,k), таковы:
Этап 109а: во всех поддиапазонах кодирования с числом распределенных битов, большим 1 и меньшим 5, исключая 2, в одном коэффициенте частотной области, каждые четыре бита обычного двоичного кода каждого индекса векторного квантования группируются как одна группа и подвергаются кодированию Хаффмана.
Этап 109b: во всех поддиапазонах кодирования с числом распределенных битов, равным 2, в одном коэффициенте частотной области, индекс векторного квантования пирамидальной решетки каждого 8-размерного вектора кодируется с использованием 15 бит. В этих 15 битах кодирование Хаффмана выполняется для трех групп по 4 бита и одной группы в 3 бита, соответственно.
Этап 109с: когда число битов, распределенных в один коэффициент частотной области поддиапазона кодирования, равно 1, если индекс квантования меньше 127, индекс квантования кодируется с использованием 7 бит, и эти 7 бит делятся на одну группу в 3 бита и одну группу в 4 бита, для которых, соответственно, выполняется кодирование Хаффмана; если индекс квантования равен 127, значение его натурального двоичного кода составляет «11111110», первые семь «1» разделяются на одну группу в 3 бита и группу и одну группу в 4 бита, для которых, соответственно, выполняется кодирование Хаффмана; если индекс квантования равен 128, значение его двоичного кода составляет «1111111», первые семь «1» разделяются на одну группу в 3 бита и одну группу в 4 бита, для которых, соответственно, выполняется кодирование Хаффмана.
Способ для осуществления кодирования Хаффмана для индекса квантования может быть описан с использованием следующего псевдокода:
во всех поддиапазонах кодирования, где region_bit(j)=1.5 и 2<region_bit(j)<5
{
n находится в диапазоне [0, region_bit(j)×8/4-1], и следующий цикл выполняется с длиной этапа, увеличиваемой на 1:
{
сдвинуть index_b(j,k) на 4*n битов вправо,
рассчитать нижние 4 бита, tmp, параметра index_b(j,k), т.е. tmp=and (index_b(j,k), 15)
рассчитать кодовое слово параметра tmp в книге шифрования и его число использования битов:
plvq_codebook(j,k)=plvq_code(tmp+1);
plvq_count(j,k)=plvq_bit_count(tmp+1);
где plvq_codebook(j,k:) и plvq_count(j,k:) - это, соответственно, кодовое слово и число использования битов k-го 8-размерного вектора поддиапазона j в книге шифрования кодирования Хаффмана; plvq_bit_count и plvq_code находятся согласно Таблице 4.
Обновить общее число использования битов после использования кодирования Хаффмана:
bit_used_huff_all=bit_used_huff_all+plvq_bit_count(tmp+1);
}
}
В поддиапазоне кодирования, где region_bit(j)=2
{
n находится в диапазоне [0, region_bit(j)×8/4-2], и следующий цикл выполняется с длиной этапа, увеличиваемой на 1:
{
сдвинуть index _b(j,k) на 4*n битов вправо,
рассчитать нижние 4 бита, tmp, параметра index_b(j,k), т.е. tmp=and(index_b(j,k), 15)
рассчитать кодовое слово параметра tmp в книге шифрования и его число использования битов:
plvq_count(j,k)=plvq_bit_count(tmp+1);
plvq_codebook(j,k)=plvq_code(tmp+1);
где plvq_count(j,k) и plvq_codebook(j,k) - это, соответственно, число использования битов и кодовое слово k-го 8-размерного вектора поддиапазона j в книге шифрования кодирования Хаффмана; plvq_bit_count и plvq_code находятся согласно Таблице 4.
Обновить общее число использования битов после кодирования Хаффмана:
bit_used_huif_all=bit_used_huif_all+plvq_bit_count(tmp+1);
}
{
случай с тремя битами необходимо обрабатывать, как указывается ниже:
после сдвига index_b(j,k) на [region_bit(j)×8/4-2]*4 битов вправо,
рассчитать нижние 3 бита, tmp, параметра index_b(j,k), т.е. tmp=and(index_b(j,k), 7)
рассчитать кодовое слово параметра tmp в книге шифрования и его число использования битов:
plvq_count(j,k)=plvq_bit_count _r2_3(tmp+1);
plvq_codebook(j,k:)=plvq_code _r2_3(tmp+1);
где plvq_count(j,k) и plvq_codebook(j,k) - это, соответственно, число использования битов и кодовое слово k-го 8-размерного вектора поддиапазона j; plvq_bit_count_r2_3 и plvq_code_r2_3 находятся согласно Таблице 5.
Обновить общее число использования битов после использования кодирования Хаффмана:
bit_used_huff_all=bit_used_huif_all+plvq_bit_count(tmp+1);
}
}
в поддиапазоне кодирования, где region _bit(j)=1
{
если index_b(j,k)<127
{
{
рассчитать нижние 4 бита, tmp, параметра index_b(j,k), т.е. tmp=Sind(index_b(j,k), 15)
рассчитать кодовое слово параметра tmp в книге шифрования и его число использования битов:
plvq_count(j,k)=plvq_bit_count _r1_4(tmp+1);
plvq_codebook(j,k:)=plvq_code _j1_4(tmp+1);
где plvq_count(j,k) и plvq_codebook(j,k) - это, соответственно, хаффмановское число использования битов и кодовое слово k-го 8-размерного вектора поддиапазона j; plvq_bit_count_r1_4 и plvq_code_r1_4 находятся соответственно Таблице 6.
Обновить общее число использования битов после использования кодирования Хаффмана:
bit_used_huif_all=bit_used_huff_all+plvq_bit_count(tmp+1);
}
{
случай с тремя битами необходимо обрабатывать, как указывается ниже:
сдвинуть index_b(j,k) на четыре бита вправо,
рассчитать нижние 3 бита, tmp, параметра index_b(j,k), т.е. tmp=and(index_b(j,k), 7)
рассчитать кодовое слово параметра tmp в книге шифрования и его число использования битов:
plvq_count(j,k)=plvq_bit_count _r1_3(tmp+1);
plvq_codebook(j,k)=plvq_code _r1_3(tmp+1);
где plvq_count(j,k) и plvq_codebook(j,k) - это, соответственно, хаффмановские числа использования битов и кодовое слово k-го 8-размерного вектора поддиапазона j; plvq_bit_count_r1_3 и plvq_code_r1_3 находятся соответственно Таблице 7.
Обновить общее число использования битов после использования кодирования Хаффмана:
bit_used_huff_all=bit_used_huff_all+plvq_bit_count(tmp+1);
}
}
если index_b(j,k)=127
{ его двоичное значение составляет "1111 1110"
осуществить поиск в кодовой таблице Хаффмана Таблицы 7 и Таблицы 6 для первых трех «1» и последних четырех «1», и способ расчета тот же, что и в случае, когда index_b(j,k)<127.
Обновить общее число использования битов после использования кодирования Хаффмана: в целом необходимо 8 битов.
}
если index_b(j,k)=128
{ его двоичное значение составляет "1111 1111"
осуществить поиск в кодовой таблице Хаффмана Таблицы 7 и Таблицы 6 для первых трех «1» и последних четырех «1», и способ расчета тот же, что и в случае, когда index_b(j,k)<127.
Обновить общее число использования битов после использования кодирования Хаффмана: в целом необходимо 8 битов.
}
}
Этап 109d: определяется, может ли кодирование Хаффмана сохранить биты.
Совокупность всех поддиапазонов кодирования с малым числом битов обозначается как С, и рассчитывается общее число битов, bit_used_huff_all, используемых индексами векторного квантования 8-размерных векторов во всех поддиапазонах кодирования, принадлежащих С, после осуществления кодирования Хаффмана. bit_used_huff_all сравнивается с общим числом битов, распределенных во все поддиапазоны кодирования в С, sum(bit_band_used(j),j∈С), и если bit_used_huff_all<sum(bit_band_used(j), j∈С), индекс векторного квантования после кодирования Хаффмана передается, а тем временем флажок кодирования Хаффмана Flag_huff_PLVQ устанавливается в 1; иначе выполняется натуральное кодирование индекса векторного квантования непосредственно, а флажок кодирования Хаффмана Flag_huff_PLVQ устанавливается в 0.
Этап 109е: число распределения битов изменяется.
Если флажок кодирования Хаффмана Flag_huff_PLVQ равен 0, распределение битов поддиапазона кодирования не изменяется. Если флажок кодирования Хаффмана Flag_huff_PLVQ равен 1, распределение битов поддиапазона кодирования изменяется с использованием битов, сохраненных кодированием Хаффмана.
Как показано на фиг.2, процесс для изменения распределения битов в частности включает следующие этапы:
Этап 109f: рассчитывается число битов, сохраненных кодированием Хаффмана, и полагая count=0:
diff_huff=sum(bit_band_used(j),j∈С)-bit_used_huff_all
Этап 109g: если diif_huff больше 0, в каждом rk(j) (j=0,…,L-1) ищут максимальное значение rk(jk), что представляется с использованием следующей формулы:
Этап 109h: определяется, является ли region_bit(jk)+1 меньшим или равным 9, и если да, выполняется этап 109i; иначе важность, соответствующая jk, устанавливается как наименьшая (например, пусть rk(jk)=-100), чтобы указать, что число распределения битов поддиапазона кодирования изменять не нужно, и перейти к этапу 109g.
Этап 109i: определяется, является ли diff_huff-(region_bit(jk)+1)×BandWidth(jk) больше чем или равным 0, и если да, то выполняется этап 109j, т.е. число распределения битов region_bit(jk) поддиапазона кодирования jk изменяется, а значение важности поддиапазона rk(jk) уменьшается, число итераций для изменения распределения битов устанавливается в count=count+1, и векторное квантование и кодирование Хаффмана выполняются снова для поддиапазона кодирования jk, и, наконец, значение diff_huff обновляется; иначе процесс изменения распределения битов завершается.
Этап 109j: во время процесса изменения распределения битов поддиапазон кодирования, чье число распределения битов равно 0, распределяется 1 битом, и важность после распределения битов уменьшается на 1, поддиапазон кодирования, чье число распределения битов больше 0 и меньше 5, распределяется 0,5 битами, и важность после распределения битов уменьшается на 0,5, а поддиапазон кодирования, чье число распределения битов больше 5, распределяется 1 битом, и важность после распределения битов уменьшается на 1.
Этап 109k: определяется, является ли число итераций для изменения распределения битов, count, меньшим или равным Maxcount, и если да, осуществляется переход на этап 109f, иначе процесс изменения распределения битов завершается.
Вышеуказанная величина Maxcount - это верхний предел числа итераций для изменения распределения битов, и эта величина определяется потоком закодированных битов и его частотой дискретизации. В этом примере Maxcount=31.
Перейти к этапу 111.
Этап 110: кодируется индекс векторного квантования поддиапазона кодирования с большим числом битов, и в этот момент число битов, распределенных в поддиапазоне, удовлетворяет условию: 5<=region_bit(j)<=9.
Согласно способу на этапе 108, 8-размерные векторы в поддиапазонах кодирования с числом закодированных битов от 5 до 9 квантуются, чтобы получить векторный индекс k={k1, k2, k3, k4, k5, k6, k7, k8}, и каждая компонента индексного вектора k непосредственно кодируется согласно числу битов, распределенных в один коэффициент частотной области, чтобы получить закодированные биты вектора.
Этап 111: выполняется обратное квантование для коэффициентов частотной области, для которых векторное квантование было осуществлено в вышеуказанном основном уровне, и осуществляется расчет разницы относительно оригинальных коэффициентов частотной области, полученных после МДКП, чтобы получить остаточный сигнал основного уровня.
Этап 112: остаточный сигнал основного уровня разделяется на поддиапазоны тем же способом, что и для коэффициентов частотной области, и показатель степени квантования огибающей амплитуды поддиапазона остаточного сигнала основного уровня рассчитывается согласно показателю степени квантования огибающей амплитуды поддиапазона кодирования основного уровня и числу распределения битов (т.е. каждому region_bit(j),j=0,…,L_core-1) основного уровня.
Этот этап может осуществляться при помощи следующих подэтапов:
Этап112а: значение изменения показателя степени квантования огибающей амплитуды остаточного сигнала основного уровня, diff(region_bit(j)),j=0,…,L_core-1, вычисляется согласно числу битов, распределенных в один коэффициент частотной области в каждом поддиапазоне кодирования основного уровня, region_bit(j),j=0,…,L_core-1;
где region_bit(j)=1; 1,5; 2; 2,5; 3; 3,5; 4; 4,5; 5; 6; 7; 8, j=0,…,L_core-1, а значение изменения показателя степени квантования огибающей амплитуды может быть сформировано по следующим правилам:
- diff(region_bit(j))≥0; и
- когда region_bit(j)>0, diff(region_bit(j)) не уменьшается, когда значение region_bit(j) увеличивается.
Для получения лучших результатов кодирования и декодирования может собираться статистика относительно разности между показателем степени квантования огибающей амплитуды поддиапазона, рассчитанной относительно каждого числа распределения битов (region_bit), и показателем степени квантования огибающей амплитуды поддиапазона, непосредственно рассчитанной из остаточного сигнала, чтобы получить величину изменения показателя степени квантования огибающей амплитуды с наивысшей вероятностью, как показано в Таблице 8.
Этап 112b: показатель степени квантования огибающей амплитуды j-го остаточного сигнала основного уровня рассчитывается согласно показателю степени квантования огибающей амплитуды поддиапазона кодирования j основного уровня и значению изменения показателя степени квантования в Таблице 8:
где Thq(j) - это показатель степени квантования огибающей амплитуды поддиапазона кодирования j в основном уровне.
Следует отметить, что, когда число распределения битов определенного поддиапазона кодирования в основном уровне равно 0, нет необходимости изменять огибающую амплитуду поддиапазона кодирования остаточного сигнала основного уровня, и в этот момент значение огибающей амплитуды поддиапазона остаточного сигнала основного уровня является аналогичным значению огибающей амплитуды поддиапазона кодирования основного уровня.
Кроме того, когда число распределения битов region_bit(j) определенного поддиапазона кодирования основного уровня равно 9, значение огибающей амплитуды квантования j-го поддиапазона кодирования остаточного сигнала основного уровня устанавливается в 0.
Этап 113: распределение битов выполняется для каждого поддиапазона в расширенном уровне:
Сигнал кодирования расширенного уровня составляется из остаточного сигнала основного уровня и коэффициентов МДКП выше диапазона частот основного уровня. Разделение на поддиапазоны расширенного уровня определяется согласно Таблице 1. Сигналы кодирования в поддиапазонах 0,…,L_core-1 представляют собой остаточные сигналы основного уровня, и сигналы кодирования в L_core,…,L-1 представляют собой коэффициенты МДКП в соответствующих поддиапазонах.
Начальное значение важности каждого поддиапазона кодирования расширенного уровня рассчитывается в пределах всего диапазона частотной полосы расширенного уровня, используя ту же схему распределения битов, что и для основного уровня, согласно рассчитанному показателю степени квантования огибающей амплитуды поддиапазона остаточного сигнала основного уровня, показателю степени квантования огибающей амплитуды поддиапазона кодирования, составленного из коэффициентов МДКП в расширенном уровне, и числу доступных битов в расширенном уровне, и биты распределяются в каждый поддиапазон кодирования.
В этом примере диапазон частотной полосы расширенного уровня составляет 0-13,6 кГц. Общая кодовая скорость аудиопотока составляет 64 кбит/с, кодовая скорость основного уровня составляет 32 кбит/с, и тогда максимальная кодовая скорость расширенного уровня составляет 64 кбит/с. Общее число доступных битов в расширенном уровне рассчитывается согласно кодовой скорости основного уровня и максимальной кодовой скорости расширенного уровня, и затем выполняется распределение битов, пока биты не будут полностью использованы.
Этап 114: сигнал кодирования расширенного уровня нормализуется, векторно квантуется и кодируется согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня и соответствующему числу распределения битов, чтобы получить закодированные биты сигнала кодирования. Где построение вектора, схема векторного квантования и схема кодирования сигнала кодирования в расширенном уровне аналогичны соответственно построению вектора, схеме векторного квантования и схеме кодирования коэффициента частотной области в основном уровне.
Этап 115: как показано на фиг.3а, поток кода иерархического кодирования создается следующим образом: сначала запись дополнительной информации основного уровня в мультиплексор MUX потока битов в следующей последовательности: Flag_huff_rms, Flag_huff_PLVQ_core и count; запись закодированных битов огибающей амплитуды поддиапазона кодирования основного уровня в MUX и затем запись закодированных битов коэффициента частотной области основного уровня в MUX; запись флажка Flag_huff_PLVQ_ext кодирования Хаффмана векторного кодирования расширенного уровня и числа итераций расширенного уровня count_ext в MUX, запись закодированных битов огибающей амплитуды поддиапазона кодирования (L_core,…,L-1), построенного из коэффициентов МДКП в расширенном уровне, в MUX и затем запись закодированных битов сигнала кодирования расширенного уровня в MUX;
наконец, передача потока кода иерархического кодирования, записанного в вышеуказанной последовательности, на сторону декодирования;
где последовательность записи закодированных битов сигнала кодирования расширенного уровня основывается на последовательности начальных значений важности различных поддиапазонов кодирования. То есть закодированные биты поддиапазона кодирования с большим начальным значением важности предпочтительно записываются в поток кода, а для поддиапазонов кодирования с одинаковой важностью предпочтение имеет поддиапазон кодирования более низкой частоты.
Поскольку огибающая амплитуда остаточного сигнала в расширенном уровне рассчитывается из огибающей амплитуды и числа распределения битов основного уровня, нет необходимости передавать ее на сторону декодирования. Это может улучшить точность кодирования полосы частот основного уровня без добавления битов для передачи значения огибающей амплитуды остаточного сигнала.
Этап 116: уровень кодовой скорости создается согласно значению кодовой скорости.
Ненужные биты в задней части мультиплексора потока битов отклоняются согласно требуемой кодовой скорости, на которой передаются биты, и биты, чье число удовлетворяет условию кодовой скорости, передаются на сторону декодирования. То есть ненужные биты отклоняются согласно важности поддиапазона кодирования в возрастающем порядке.
В этом примере диапазон частотной полосы кодирования составляет 0-13,6 кГц, максимальная кодовая скорость составляет 64 кбит/с, а способ для разбиения на слои, основанный на кодовой скорости, состоит в следующем:
коэффициенты МДКП в диапазоне частотной полосы кодирования 0-6,4 кГц группируются как основной уровень, максимальная кодовая скорость, соответствующая основному уровню, составляет 32 кбит/с, и этот уровень отмечается как уровень L0; диапазон частотной полосы кодирования расширенного уровня составляет 0-13,6 кГц, и его максимальная кодовая скорость составляет 64 кбит/с, и этот уровень отмечается как уровень L1_5;
перед отправлением на сторону декодирования кодовая скорость разделяется, согласно числу отклоненных битов, на уровень L1_1, соответствующий 36 кбит/с, уровень L1_2, соответствующий 40 кбит/с, уровень L1_3, соответствующий 48 кбит/с, уровень L1_4, соответствующий 56 кбит/с, и уровень L1_5, соответствующий 64 кбит/с.
Фиг.10 иллюстрирует соотношение между послойным разделением в диапазоне частотных полос и послойным разделением согласно кодовой скорости.
Фиг.3 иллюстрирует структуру системы усовершенствованного иерархического кодирования аудио согласно первому примеру настоящего изобретения. Как показано на фиг.3, система содержит: блок 301 МДКП, блок 302 расчета огибающей амплитуды, блок 303 квантования и кодирования огибающей амплитуды, блок 304 распределения битов основного уровня, блок 305 векторного квантования и кодирования коэффициентов частотной области основного уровня, блок 306 генерирования сигнала кодирования расширенного уровня, блок 307 генерирования огибающей амплитуды остаточного сигнала, блок 308 распределения битов расширенного уровня и блок 309 векторного квантования и кодирования сигнала кодирования расширенного уровня, и мультиплексор (MUX) 310 потока битов, где:
блок МДКП приспособлен выполнять МДКП для входящего аудиосигнала, чтобы генерировать коэффициенты частотной области;
блок расчета огибающей амплитуды приспособлен разделять коэффициенты частотной области, выдаваемые блоком МДКП, на поддиапазоны и вычислять величину огибающей амплитуды частотной области каждого поддиапазона кодирования. Согласно положению поддиапазона, соответствующего огибающей амплитуде, она может быть разделена на огибающую амплитуды основного уровня и огибающую амплитуды расширенного уровня;
блок квантования и кодирования огибающей амплитуды приспособлен квантовать и кодировать величину огибающей амплитуды каждого поддиапазона кодирования, выдаваемую блоком расчета огибающей амплитуды, чтобы генерировать показатель степени квантования огибающей амплитуды поддиапазона и закодированные биты показателя степени квантования огибающей амплитуды;
блок распределения битов основного уровня приспособлен рассчитывать начальную величину важности каждого поддиапазона кодирования согласно показателю степени квантования огибающей амплитуды поддиапазона, выдаваемому блоком квантования и кодирования огибающей амплитуды, и выполнять распределение битов для основного уровня согласно важности каждого поддиапазона кодирования;
блок векторного квантования и кодирования коэффициентов частотной области основного уровня приспособлен нормализовать коэффициенты частотной области каждого поддиапазона кодирования, используя квантованную величину огибающей амплитуды поддиапазона кодирования, а затем векторно квантовать и кодировать коэффициенты частотной области, которые нужно кодировать, чтобы генерировать величину векторного квантования и закодированные биты коэффициентов частотной области;
блок генерирования сигнала кодирования расширенного уровня приспособлен обратно квантовать вышеуказанные векторно квантованные коэффициенты частотной области и выполнять расчет разности относительно коэффициентов частотной области в диапазоне частотной полосы основного уровня, выдаваемых блоком МДКП, чтобы получить остаточный сигнал основного уровня. Остаточный сигнал основного уровня и вышеуказанные коэффициенты частотной области диапазона основного уровня, выдаваемые блоком МДКП, составляют сигнал кодирования расширенного уровня;
блок генерирования огибающей амплитуды остаточного сигнала приспособлен выполнять разделение на поддиапазоны остаточного сигнала тем же способом, что и для коэффициентов частотной области, и рассчитывать показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и числу распределения битов;
блок распределения битов расширенного уровня приспособлен распределять биты в каждый поддиапазон кодирования расширенного уровня и генерировать число распределения битов каждого поддиапазона кодирования расширенного уровня;
блок векторного квантования и кодирования сигнала кодирования расширенного уровня приспособлен нормализовать, векторно квантовать и кодировать сигнал кодирования согласно показателю степени квантования огибающей амплитуды поддиапазона сигнала кодирования расширенного уровня и соответствующему числу распределения битов, чтобы получить закодированные биты сигнала кодирования;
мультиплексор потока битов приспособлен отсылать дополнительную информацию, закодированные биты огибающей амплитуды каждого поддиапазона кодирования, закодированные биты коэффициентов частотной области основного уровня и закодированные биты сигнала кодирования расширенного уровня на сторону декодирования.
Описание процесса для конкретной функции каждого блока (модуля) с фиг.3 смотрите на фиг.1.
Фиг.4 представляет собой блок-схему способа усовершенствованного иерархического декодирования аудио согласно первому примеру настоящего изобретения. Как показано на фиг.4, способ включает:
Этап 401: кадр закодированных битов извлекается из иерархического потока кода, высылаемого стороной кодирования (т.е. из демультиплексора DeMUX потока битов);
после того как закодированные биты извлечены, сначала декодируется дополнительная информация, а затем закодированные биты каждой огибающей амплитуды основного уровня во кадре декодируются по методу Хаффмана согласно значению Flag_huff_rms или прямо декодируются, получая показетель степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, Thq(j),j=0,…,L_core-1.
Этап 402: начальное значение важности каждого поддиапазона кодирования основного уровня рассчитывается согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, распределение битов выполняется для каждого поддиапазона кодирования основного уровня согласно важности поддиапазона, чтобы получить число распределения битов основного уровня; способ для распределения битов в стороне декодирования в точности такой же, как и способ для распределения битов в стороне кодирования. Во время процесса распределения битов длина этапа распределения битов и длина этапа уменьшения важности после распределения битов являются переменными.
После завершения вышеуказанного процесса распределения битов распределение битов выполняется для поддиапазона кодирования для других времен count согласно временам изменения распределения битов, count, основного уровня стороны кодирования и важности каждого поддиапазона кодирования, а затем весь процесс распределения битов завершается.
Во время процесса распределения битов длина этапа распределения битов составляет 1 бит, и длина этапа уменьшения важности после распределения битов составляет 1 для поддиапазона кодирования, чье число распределения битов равно 0, длина этапа распределения битов для распределения битов дополнительно составляет 0,5 бит, и длина этапа уменьшения важности после распределения битов также составляет 0,5 бит для поддиапазона кодирования, чье число распределения битов больше 0 и меньше порога классификации, и длина этапа распределения битов для распределения битов дополнительно составляет 1 бит, а длина этапа уменьшения важности после распределения битов также составляет 1 для поддиапазона кодирования, чье число распределения битов больше или равно порогу классификации.
Этап 403: закодированные биты коэффициентов частотной области декодируются, обратно квантуются и обратно нормализуются с использованием числа распределения битов основного уровня и значения огибающей амплитуды квантования каждого поддиапазона кодирования и согласно Flag_huff_PLVQ_core, чтобы получить коэффициенты частотной области основного уровня.
Этап 404: при декодировании и обратном квантовании закодированных битов коэффициентов частотной области каждый поддиапазон кодирования группируется в поддиапазон с малым числом битов и поддиапазон с большим числом битов согласно числам распределения битов поддиапазонов кодирования основного уровня, и поддиапазон с малым числом битов и поддиапазон с большим числом битов обратно квантуются с использованием векторного квантования/обратного квантования пирамидальной решетки и векторного квантования/обратного квантования сферической решетки соответственно, переходя к этапу 405 и этапу 406.
Этап 405: согласно дополнительной информации поддиапазон кодирования с малым числом битов подвергается декодированию Хаффмана или прямо подвергается естественному декодированию, чтобы получить индекс векторного квантования пирамидальной решетки поддиапазона кодирования с малым числом битов, и все индексы векторного квантования пирамидальной решетки обратно квантуются и обратно нормализуются, чтобы получить коэффициенты частотной области поддиапазона кодирования; осуществляется переход к этапу 407.
405 а) Если Flag_hufi_PLVQ=0, декодирование выполняется прямо, чтобы получить индекс, index_b(j,m), квантования m-го вектора поддиапазона кодирования j с малым числом битов, а если Flag_huff_PLVQ=1, индекс, index_b(j,m), квантования m-го вектора поддиапазона кодирования j с малым числом битов получают согласно кодовой таблице кодирования Хаффмана, соответствующей числу распределения битов одного коэффициента частотной области поддиапазона кодирования.
Когда число битов, распределенных в один коэффициент частотной области поддиапазона кодирования, равно 1, если значение обычного двоичного кода индекса квантования меньше чем «1111 111», индекс квантования рассчитывается согласно значению обычного двоичного кода; если значение обычного двоичного кода индекса квантования равно «1111 111», тогда необходимо продолжать считывать следующий бит; если следующий бит равен 0, то индекс квантования равен 127, а если следующий бит равен 1, то индекс квантования равен 128.
405 b) Процесс обратного векторного квантования пирамидальной решетки индекса квантования фактически является обратным процессом процесса 107 векторного квантования. Процесс обратного квантования следующий:
405 с) определяются энергетическая пирамидальная поверхность, где располагается показатель векторного квантования, и его обозначение на пирамидальной поверхности:
находится kk в энергии пирамидальной поверхности от 2 до LargeK(region_bit(j)), так что выполняется следующее неравенство:
N(8,kk)<=index_b(j,m)<N(8,kk+2),
если такое kk найдено, то K=kk - это энергия пирамидальной поверхности, где располагается решетка D8, соответствующая индексу квантования index_b(j,m), b=index_b(j,m)-N(8,kk) - это индексное обозначение решетки D8 на пирамидальной поверхности, где она располагается;
если такое kk не удается найти, энергия К пирамидальной поверхности решетки Dg, соответствующей индексу квантования index_b(j,m), равна 0, и индексное обозначение равно 0;
405 d) конкретные этапы для нахождения вектора Y=(y1, y2 у3, у4, у5, у6, у7, у8) решетки D8, чья энергия пирамидальной поверхности равна К и индексное обозначение равно b, следующие:
Этап 1: пусть Y=(0,0,0,0,0,0,0,0), xb=0, i=1, k=K, 1=8;
Этап 2: если b=xb, то yi=0; перейти к этапу 6;
Этап 3: если b<xb+N(1-1,k), то yi=0, перейти к этапу 5;
иначе, xb=xb+N(1-1,k); пусть j=l;
Этап 4: если b<xb+2*N(1-1,k-j), то
если xb<=b<xb+N(1-1,k-j), то yi=j;
если b>=xb+N(1-1,k-j), то yi=-j, xb=xb+N(1-1, k-j);
иначе, xb=xb+2*N(l-l, k-j), j=j+1; приступить к этому этапу;
Этап 5: обновить k=k-|yi|, 1=1-1, i=i+l, если k>0, перейти к этапу 2;
Этап 6: если k>0, то y8=k-|yi|, Y=(y1,y2,…, у8) - это решетка, которую надо решить.
405 е) выполнить обратное регулирование энергии для решенной решетки D8, получая
где а=(2-6,2-6,2-6,2-6,2-6,2-6,2-6,2-6,), scale(index) - это коэффициенты масштабирования и могут быть найдены в Таблице 2.
405 f) для
где Thq(j) - это показатель степени квантования огибающей амплитуды j-го поддиапазона кодирования.
Этап 406: поддиапазон кодирования с большим числом битов прямо кодируется, чтобы получить индекс векторного квантования поддиапазона кодирования с большим числом битов, и все индексы векторного квантования обратно квантуются и обратно нормализуются, чтобы получить коэффициент частотной области поддиапазона кодирования.
Натуральное кодирование прямо выполняется для закодированных битов поддиапазона кодирования с большим числом битов, чтобы получить m-ый индекс-вектор k поддиапазона кодирования j с большим числом битов, и процесс обратного квантования выполнения векторного квантования сферической решетки для индекс-вектора фактически является обратным процессом процесса квантования, и его конкретные этапы следующие:
406а) рассчитать x=k*G, и рассчитать ytemp=x/(2∧(region_bit(j)); где k - это индекс-вектор векторного квантования, region_bit(j) представляет собой число распределения битов одного коэффициента частотной области в поддиапазоне кодирования j; G - это порождающая матрица решетки D8, форма которой следующая:
406 b) рассчитать у=х-fD8(уtemp)*(2∧(region_bit(j));
406 с) выполнить обратное регулирование энергии для D8, которая должна быть решена, получая
где а=(2-6,2-6,2-6,2-6,2-6,2-6,2-6,2-6), scale(region __bit(j)) - это коэффициенты масштабирования и могут быть найдены в Таблице 3.
406 d) выполнить обратную нормализацию для
где Thq(j) - это показатель степени квантования огибающей амплитуды j-го поддиапазона кодирования.
Этап 407: показатель степени квантования огибающей амплитуды поддиапазона остаточного сигнала основного уровня вычисляется согласно показателю степени квантования огибающей амплитуды каждого поддиапазона основного уровня и числу распределения битов основного уровня; способ расчета на стороне декодирования в точности тот же, что и способ расчета на стороне кодирования.
Каждый закодированный бит огибающей амплитуды выше диапазона частотной области основного уровня декодируется методом Хаффмана согласно значению Flag_huff_rms или прямо декодируется, чтобы получить показатель степени квантования огибающей амплитуды, Thq(j),j=L_core,…,L-1, соответствующего поддиапазона кодирования расширенного уровня.
Этап 408: Сигнал кодирования расширенного уровня составляется из остаточного сигнала основного уровня и коэффициента частотной области расширенного уровня, и начальное значение важности каждого поддиапазона кодирования рассчитывается согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня, и распределение битов выполняется для каждого поддиапазона кодирования расширенного уровня согласно важности каждого поддиапазона кодирования, чтобы получить число распределения битов каждого поддиапазона кодирования расширенного уровня; способ для расчета начальной значения важности поддиапазона кодирования и способ для распределения битов в стороне декодирования те же, что и способ для расчета начального значения важности поддиапазона кодирования и способ для распределения битов в стороне кодирования.
Этап 409: вычисляется сигнал кодирования расширенного уровня.
Закодированные биты сигнала кодирования декодируются и обратно квантуются согласно числу распределения битов расширенного уровня, и данные, для которых было выполнено обратное квантование, нормализуются обратно с использованием значения огибающей амплитуды квантования каждого поддиапазона кодирования расширенного уровня, чтобы получить сигнал кодирования расширенного уровня.
Способ для декодирования и способ для обратного квантования в расширенном уровне те же, что и способы для декодирования и обратного квантования в основном уровне.
На этом этапе порядок декодирования каждого поддиапазона кодирования определяется начальным значением важности каждого поддиапазона кодирования. Если есть два поддиапазона кодирования с одинаковой важностью, то предпочтительно декодируется поддиапазон кодирования более низкой частоты, и тем временем рассчитывается число декодированных битов, и декодирование останавливается, когда число декодированных битов удовлетворяет требованиям к общему числу битов.
Например, кодовая скорость для передачи из стороны кодирования в сторону декодирования составляет 64 кбит/с, но сторона декодирования может получить лишь информацию первых 48 кбит/с потока кода по сетевым причинам, или сторона декодирования может поддерживать лишь декодирование 48 кбит/с, следовательно, декодирование останавливается, когда устройство декодирования декодирует на 48 кбит/с.
Этап 410: сигнал кодирования, полученный декодированием в расширенном уровне, перестраивается согласно порядку частот, и коэффициенты частотной области основного уровня и сигналы кодирования расширенного уровня ниже той же частоты добавляются, чтобы получить выходную величину коэффициентов частотной области.
Этап 411: заполнение шумом выполняется для поддиапазона, в который никакие закодированные биты не были распределены во время процесса кодирования, или поддиапазона, который потерялся во время процесса передачи.
Этап 412: ОМДКП (обратное модифицированное дискретное косинусное преобразование) выполняется для коэффициентов частотной области после выполнения заполнения шумом, чтобы получить окончательный выходной аудиосигнал.
Фиг.5 иллюстрирует структуру системы усовершенствованного иерархического декодирования аудио согласно первому примеру настоящего изобретения. Как показано на фиг.5, система содержит: демультиплексор (DeMUX) 501 потока битов, блок 502 декодирования огибающей амплитуды основного уровня, блок 503 распределения битов основного уровня и блок 504 декодирования и обратного квантования основного уровня, блок 505 генерирования огибающей амплитуды остаточного сигнала основного уровня, блок 506 декодирования огибающей амплитуды расширенного уровня, блок 507 распределения битов расширенного уровня, блок 508 декодирования и обратного квантования сигнала кодирования расширенного уровня, блок 509 генерирования коэффициентов частотной области, блок 510 заполнения шумом и блок 511 ОМДКП, где:
демультиплексор потока битов приспособлен выдавать закодированные биты огибающей амплитуды, закодированные биты коэффициентов частотной области и закодированные биты сигнала кодирования расширенного уровня;
блок декодирования огибающей амплитуды основного уровня приспособлен выполнять декодирование Хаффмана согласно значению Flag_huff_rms в дополнительной информации или выполнять прямое декодирование закодированных битов огибающей амплитуды основного уровня, выдаваемых демультиплексором потока битов, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, Thq(j),j=0,…,L_core-1;
блок распределения битов основного уровня приспособлен рассчитывать начальную величину важности каждого поддиапазона кодирования согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, выдаваемому блоком квантования и кодирования огибающей амплитуды, и выполнять распределение битов для каждого поддиапазона кодирования основного уровня согласно важности каждого поддиапазона кодирования, чтобы получать число распределения битов основного уровня;
блок декодирования и обратного квантования основного уровня приспособлен декодировать, обратно квантовать и обратно нормализовать закодированные биты коэффициентов частотной области с использованием числа распределения битов и значения огибающей амплитуды квантования основного уровня и согласно значению Flag_huff_PLVQ_core в дополнительной информации, чтобы получать коэффициенты частотной области основного уровня;
блок генерирования огибающей амплитуды остаточного сигнала основного уровня приспособлен рассчитывать показатель степени квантования огибающей амплитуды соответствующего остаточного сигнала поддиапазона кодирования основного уровня с использованием показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и числа распределения битов основного уровня;
блок декодирования огибающей амплитуды расширенного уровня приспособлен выполнять декодирование Хаффмана согласно значению Flag_huff_rms в дополнительной информации или выполнять прямое декодирование закодированного бита огибающей амплитуды выше диапазона основного уровня, выдаваемого демультиплексором потока битов, чтобы получать показатель степени квантования огибающей амплитуды, Thq(j),j=L_core,…,L-1, соответствующего поддиапазона кодирования расширенного уровня;
блок распределения битов расширенного уровня приспособлен рассчитывать начальную величину важности каждого поддиапазона кодирования согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня и выполнять распределение битов для каждого поддиапазона кодирования расширенного уровня согласно важности каждого поддиапазона кодирования, чтобы получить число распределения битов расширенного уровня;
блок декодирования и обратного квантования сигнала кодирования расширенного уровня приспособлен декодировать закодированные биты сигнала кодирования расширенного уровня с использованием числа распределения битов расширенного уровня и выполнять обратное векторное квантование и обратную нормализацию для декодированных данных с использованием значения огибающей амплитуды квантования поддиапазона кодирования расширенного уровня, чтобы получать сигнал кодирования расширенного уровня;
блок генерирования коэффициентов частотной области приспособлен складывать коэффициенты частотной области основного уровня, выдаваемые блоком декодирования и обратного квантования основного уровня, и сигнал кодирования расширенного уровня, выдаваемый блоком декодирования и обратного квантования сигнала кодирования расширенного уровня, чтобы получить выходную величину частотного коэффициента;
блок заполнения шумом приспособлен выполнять заполнение шумом для поддиапазонов кодирования, в которые ни одного бита не распределено в выходном значении частотного коэффициента, выдаваемого блоком генерирования коэффициентов частотной области;
блок ОМДКП приспособлен выполнять ОМДКП для коэффициентов частотной области после выполнения заполнения шумом, чтобы получать окончательный выходной аудиосигнал.
Второй пример
Фиг.6 представляет собой блок-схему способа расширенного иерархического кодирования аудио согласно второму варианту осуществления настоящего изобретения. В этом примере способ иерархического кодирования аудио настоящего изобретения будет описан путем рассмотрения аудиопотока с длиной кадра в 20 мс и частотой дискретизации 48 кГц в качестве примера. Способ согласно настоящему изобретению также применим в других условий длины кадра и частоты дискретизации. Как показано на фиг.6, способ включает:
Этап 601: МДКП (модифицированное дискретное косинусное преобразование) выполняется для аудиопотока с длиной кадра в 20 мс и частотой дискретизации в 48 кГц, чтобы получить N точек коэффициентов частотной области. В этом примере N=960.
Смотрите этап 101 для конкретного способа осуществления этого этапа.
Этап 602: коэффициенты частотной области N точек делятся на несколько неравных поддиапазонов, и затем рассчитывается огибающая амплитуды частотной области (для краткости называемая огибающей амплитуды) каждого поддиапазона.
102а: коэффициенты частотной области в диапазоне частотной полосы, подлежащем кодированию, разделяются на L поддиапазонов (которые могут называться поддиапазонами кодирования).
В этом примере диапазон частотной полосы, подлежащий кодированию, составляет 0-20 кГц, и она может быть разделена на поддиапазоны неравномерно согласно характеристикам, воспринимаемым человеком на слух. Таблица 9 предоставляет конкретный режим разделения.
В Таблице 9 коэффициенты частотной области в диапазоне частотной полосы 0-20 кГц разделяются на 36 поддиапазонов кодирования, т.е. L=36; коэффициенты частотной области выше 20 кГц устанавливаются в 0.
В этом примере диапазон частотной области основного уровня также разделяется. Поддиапазоны, пронумерованные в Таблице 9 от 0 до 15, выбраны как поддиапазоны основного уровня, всего имеется L_core=16 поддиапазонов, и диапазон частотной полосы основного уровня составляет 0-6,4 кГц;
поддиапазоны, пронумерованные в Таблице 9 от 0 до 27, выбраны как поддиапазоны расширенного уровня 1, всего имеется в L1=28 поддиапазонов, и диапазон частотной полосы расширенного уровня 1 составляет 0-13,6 кГц; поддиапазоны, пронумерованные в Таблице 9 от 0 до 35, выбраны как поддиапазоны расширенного уровня 2, всего имеется L1=36 поддиапазонов, и диапазон частотной полосы расширенного уровня 2 составляет 0-20 кГц.
Смотрите этап 102 для конкретного способа для расчета огибающей амплитуды каждого поддиапазона кодирования.
Этап 603: значение огибающей амплитуды каждого поддиапазона кодирования квантуется и кодируется, чтобы получить показатель степени квантования огибающей амплитуды и закодированные биты огибающей амплитуды каждого поддиапазона кодирования, и закодированные биты огибающей амплитуды необходимо передать на MUX.
Смотрите этап 103 для конкретного способа для осуществления этого этапа.
Этап 604: начальное значение важности каждого поддиапазона кодирования рассчитывается согласно теории искажения кодовой скорости и информации огибающей амплитуды поддиапазона кодирования, и распределение битов для основного уровня выполняется согласно важности каждого поддиапазона кодирования основного уровня.
Смотрите этап 104 для конкретного способа для осуществления этого этапа.
Этап 605: расчет нормализации выполняется для каждого коэффициента частотной области в поддиапазоне кодирования согласно значению огибающей амплитуды квантования (
Смотрите этапы 105-110 для конкретного способа для осуществления этого этапа.
Этап 606: обратное квантование выполняется для вышеуказанных коэффициентов частотной области основного уровня, для которых было выполнено векторное квантование, и расчет разности выполняется относительно оригинальных коэффициентов частотной области, полученных после МДКП, чтобы получить остаточный сигнал центральной области, который обозначается как остаточный сигнал 1, и сигнал кодирования расширенного уровня 1 составляется из остаточного сигнала 1 и частотных коэффициентов расширенного уровня 1; аналогично расчет разности выполняется между сигналом кодирования расширенного уровня k-1 и значением обратного квантования сигнала кодирования расширенного уровня k-1, для которого было выполнено векторное квантование, чтобы получить остаточный сигнал расширенного уровня k-1, который обозначается как остаточный сигнал k, и сигнал кодирования расширенного уровня k составляется из остаточного сигнала k и коэффициентов частотной области расширенного уровня k.
Этап 607: для остаточного сигнала k выполняется такое же разделение на поддиапазоны, что и для сигнала кодирования расширенного уровня k-1, и рассчитывается показатель степени квантования огибающей амплитуды поддиапазона остаточного сигнала k.
Показатель степени квантования огибающей амплитуды поддиапазона кодирования остаточного сигнала 1 может быть рассчитан согласно показателю степени квантования огибающей амплитуды поддиапазона основного уровня и числу распределения битов основного уровня. Аналогично, показатель степени квантования огибающей амплитуды поддиапазона кодирования остаточного сигнала в более высоком расширенном уровне может быть рассчитан с использованием показателя степени квантования огибающей амплитуды поддиапазона кодирования остаточного сигнала в более низком расширенном уровне и числа распределения битов более низкого расширенного уровня; то есть показатель степени квантования огибающей амплитуды поддиапазона остаточного сигнала k в расширенном уровне k (k>1) рассчитывается согласно показателю степени квантования огибающей амплитуды поддиапазона кодирования сигнала кодирования расширенного уровня k-1 и соответствующему значению изменения.
Смотрите этап 112 для конкретного способа для осуществления этого этапа.
Этап 608: распределение битов выполняется для каждого поддиапазона в расширенном уровне (т.е. выполняется распределение битов для каждого поддиапазона кодирования каждого сигнала кодирования расширенного уровня).
Начальное значение важности каждого поддиапазона кодирования рассчитывается в каждом расширенном уровне с использованием такой же схемы распределения битов, что и в основном уровне, согласно рассчитанному показателю степени квантования огибающей амплитуды сигнала кодирования расширенного уровня, и распределение битов выполняется для каждого поддиапазона кодирования; в этом примере общая кодовая скорость аудиопотока составляет 96 кбит/с, кодовая скорость основного уровня составляет 32 кбит/с, и тогда максимальная кодовая скорость расширенного уровня 1 составляет 64 кбит/с, а максимальная кодовая скорость расширенного уровня 2 составляет 96 кбит/с. Число доступных битов в каждом расширенном уровне рассчитывается соответственно, и затем выполняется распределение битов, пока биты не будут использованы полностью. Способ для распределения битов в каждом расширенном уровне такой же, что и способ для распределения битов в основном уровне.
Этап 609: сигнал кодирования нормализуется, векторно квантуется и кодируется согласно рассчитанному значению огибающей амплитуды квантования поддиапазона кодирования сигнала кодирования расширенного уровня и соответствующему числу распределения битов, чтобы получить закодированные биты сигнала кодирования. Где построение вектора сигнала кодирования, способ векторного квантования и способ кодирования в каждом расширенном уровне являются такими же, что и построение вектора коэффициента частотной области, способ векторного квантования и способ кодирования в основном уровне соответственно.
Этап 610: как показано на фиг.6а, поток кода иерархического кодирования создается следующим образом: сначала запись дополнительной информации основного уровня в мультиплексор MUX потока битов в следующей последовательности: Flag_huff_rms, Flag_huff_PLVQ_core и count; запись закодированных битов огибающей амплитуды поддиапазона кодирования основного уровня в MUX и затем запись закодированных битов коэффициента частотной области основного уровня в MUX; запись Flag_huff_PLVQ и count в расширенном уровне в MUX согласно порядку каждого расширенного уровня, запись закодированных битов огибающей амплитуды поддиапазона кодирования коэффициентов частотной области расширенного уровня в MUX и затем запись закодированных битов сигнала кодирования в MUX; наконец, передача потока кода иерархического кодирования, записанного в вышеуказанной последовательности, в сторону декодирования;
где порядок записи закодированных битов сигнала кодирования таков: запись закодированных битов каждого расширенного уровня в поток кода согласно порядку расширенных уровней от низкого до высокого; то есть запись дополнительной информации, закодированных битов огибающей амплитуды поддиапазона кодирования коэффициентов частотной области и закодированных битов сигнала кодирования (k-1)-го расширенного уровня перед записью дополнительной информации, закодированных битов огибающей амплитуды поддиапазона кодирования коэффициентов частотной области и закодированных битов сигнала кодирования k-го расширенного уровня. В каждом расширенном уровне порядок записи закодированных битов сигнала кодирования основывается на порядке начальной важности каждого поддиапазона; то есть закодированные биты сигнала кодирования поддиапазона с большей начальной важностью записываются в поток кода предпочтительно.
Этап 611: уровень кодовой скорости создается согласно значению кодовой скорости.
Ненужные биты в задней части мультиплексора потока битов отклоняются согласно кодовой скорости, требуемой для передачи, и биты, чье число удовлетворяет требованию к кодовой скорости, передаются в сторону декодирования. То есть ненужные биты отклоняются согласно важности поддиапазона кодирования в возрастающем порядке.
В этом примере диапазон частотной полосы кодирования составляет 0-20 кГц, максимальная кодовая скорость составляет 96 кбит/с, и способ для разбиения на слои, основанный на кодовой скорости, следующий:
коэффициенты частотной области МДКП в диапазоне частотной полосы кодирования 0-6,4 кГц группируются как основной уровень, максимальная кодовая скорость, соответствующая основному уровню, составляет 32 кбит/с, и этот уровень обозначается как уровень L0;
диапазон частотной полосы кодирования расширенного уровня 1 составляет 0-13,6 кГц, его максимальная кодовая скорость составляет 64 кбит/с, и этот уровень обозначается как уровень L1_5; диапазон частотной полосы кодирования расширенного уровня 2 составляет 0-20 кГц, его максимальная кодовая скорость составляет 96 кбит/с, и этот уровень обозначается как уровень L2_2;
перед отправкой в сторону декодирования, согласно числу отклоненных битов, часть между уровнем L1_5 и уровнем L2_2 далее группируется на уровень L2_1, соответствующий 80 кбит/с, и уровень L2_2, соответствующий 96 кбит/с.
Фиг.10 представляет собой изображение взаимосвязи между послойным разделением в диапазоне частотных полос и послойным разделением согласно кодовой скорости.
Фиг.7 иллюстрирует структуру системы расширенного иерархического кодирования аудио согласно второму примеру настоящего изобретения. Как показано на фиг.7, устройство содержит: блок 701 МДКП, блок 702 расчета огибающей амплитуды, блок 703 квантования и кодирования огибающей амплитуды, блок 704 распределения битов основного уровня, блок 705 векторного квантования и кодирования коэффициентов частотной области, блок генерирования сигнала кодирования расширенного уровня, блок генерирования огибающей амплитуды остаточного сигнала, блок распределения битов расширенного уровня и блок векторного квантования и кодирования сигнала кодирования, и многоканальный мультиплексор 706.
На фиг.7, чтобы четко описать взаимосвязь взаимодействия данных между различными расширенными уровнями, блок генерирования сигнала кодирования расширенного уровня также разделяется на: блоки 1-К генерирования сигнала кодирования расширенного уровня; блок генерирования огибающей амплитуды остаточного сигнала также разделяется на: блоки 1-К генерирования огибающей амплитуды остаточного сигнала; блок распределения битов расширенного уровня также разделяется на: блоки 1-К распределения битов расширенного уровня; блок векторного квантования и кодирования сигнала кодирования также разделяется на: блоки 1-К векторного квантования и кодирования сигнала кодирования.
Блок МДКП приспособлен выполнять МДКП для входящего аудиосигнала, чтобы генерировать коэффициенты частотной области;
блок расчета огибающей амплитуды приспособлен разделять коэффициенты частотной области, выдаваемые блоком МДКП, на поддиапазоны и рассчитывать величину огибающей амплитуды каждого поддиапазона кодирования;
блок квантования и кодирования огибающей амплитуды приспособлен квантовать и кодировать значения огибающей амплитуды каждого поддиапазона кодирования, выдаваемые блоком расчета огибающей амплитуды, чтобы генерировать показатель степени квантования огибающей амплитуды и закодированные биты огибающей амплитуды каждого поддиапазона кодирования;
блок распределения битов основного уровня приспособлен распределять биты в основной уровень согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, выдаваемому блоком квантования и кодирования огибающей амплитуды;
блок векторного квантования и кодирования коэффициентов частотной области приспособлен нормализовать коэффициенты частотной области каждого поддиапазона кодирования, используя квантованную величину огибающей амплитуды поддиапазона кодирования в основном уровне, и затем векторно квантовать и кодировать коэффициенты частотной области, которые необходимо кодировать, чтобы генерировать величину векторного квантования и закодированные биты коэффициентов частотной области основного уровня;
блок 1 генерирования сигнала кодирования расширенного уровня приспособлен обратно квантовать коэффициенты частотной области, для которых было выполнено векторное квантование, выданные блоком векторного квантования и кодирования коэффициентов частотной области, и выполнять расчет разности относительно коэффициентов частотной области, выдаваемых блоком МДКП, чтобы получить остаточный сигнал (обозначаемый как остаточный сигнал 1), а остаточный сигнал 1 и коэффициенты частотной области расширенного уровня 1 составляют сигнал кодирования расширенного уровня 1 (обозначаемый как сигнал 1 кодирования);
блок i+1 генерирования сигнала кодирования расширенного уровня приспособлен обратно квантовать сигнал i кодирования, для которого было выполнено векторное квантование, выдаваемый блоком i векторного квантования и кодирования сигнала кодирования расширенного уровня i, и выполнять расчет разности относительно сигнала i кодирования, для которого векторное квантование не было выполнено, выдаваемого блоком i генерирования сигнала кодирования расширенного уровня, чтобы получить остаточный сигнал расширенного уровня i (обозначаемый как остаточный сигнал i+1), и остаточный сигнал i+1 и коэффициенты частотной области расширенного уровня i+1 составляют сигнал кодирования расширенного уровня i+1 (обозначаемый как сигнал кодирования i+1); где i=l,…,К-1, К - это число расширенных уровней.
Блок 1 генерирования огибающей амплитуды остаточного сигнала приспособлен разделять остаточные сигналы основного уровня на поддиапазоны таким же способом, что и для коэффициентов частотной области основного уровня, и рассчитывать показатель степени квантования огибающей амплитуды поддиапазона остаточного сигнала основного уровня (остаточного сигнала 1) согласно показателю степени квантования огибающей амплитуды поддиапазона кодирования основного уровня и числу распределения битов основного уровня;
блок i+1 генерирования огибающей амплитуды остаточного сигнала приспособлен рассчитывать показатель степени квантования огибающей амплитуды поддиапазона кодирования остаточного сигнала (остаточного сигнала i+1) расширенного уровня i согласно показателю степени квантования огибающей амплитуды поддиапазона кодирования и числу распределения битов расширенного уровня i;
блок i распределения битов расширенного уровня приспособлен распределять биты каждого поддиапазона кодирования расширенного уровня i и генерировать число распределения битов каждого поддиапазона кодирования расширенного уровня i; где i=1,…,К, К - это число расширенных уровней;
блок i векторного квантования и кодирования сигнала кодирования приспособлен нормализовать, векторно квантовать и кодировать сигнал кодирования, используя величину огибающей амплитуды квантования поддиапазона кодирования и соответствующее число распределения битов сигнала кодирования расширенного уровня i, чтобы получить закодированные биты сигнала i кодирования; где i=1,…,К, К - это число расширенных уровней;
многоканальный мультиплексор приспособлен отсылать дополнительную информацию, закодированные биты огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области, закодированные биты коэффициентов частотной области основного уровня, дополнительную информацию каждого расширенного уровня и закодированные биты сигнала кодирования расширенного уровня в сторону декодирования.
Фиг.8 представляет собой блок-схему способа расширенного иерархического декодирования аудио согласно второму примеру настоящего изобретения. Как показано на фиг.8, способ включает:
Этап 801: кадр закодированных битов извлекается из потока иерархического кода, посланного стороной кодирования (т.е. из многоканального разделителя DeMUX);
после того как закодированные биты извлечены, сначала декодируется дополнительная информация, а затем закодированные биты каждой огибающей амплитуды в кадре декодируются методом Хаффмана согласно значению Flag_huff_rms или прямо декодируются, получая показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, Thq(j)j=0,…,L_core-1.
Этап 802: начальное значение важности каждого поддиапазона кодирования основного уровня рассчитывается согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, распределение битов выполняется для каждого поддиапазона кодирования основного уровня согласно важности поддиапазона, чтобы получить число распределения битов основного уровня (т.е. Region_bit(j), j=0,…,L_core-1); способ для распределения битов в стороне декодирования точно такой же, что и способ для распределения битов в стороне кодирования. Во время процесса распределения битов длина этапа для распределения битов и длина этапа уменьшения важности после распределения битов являются переменными.
После того как вышеуказанный процесс распределения битов завершен, распределение битов выполняется для поддиапазона кодирования для других времен count согласно временам изменения распределения битов, count, основного уровня стороны кодирования и важности каждого поддиапазона кодирования, и затем весь процесс распределения битов завершается.
Во время процесса распределения битов длина этапа распределения битов составляет 1 бит, а длина этапа уменьшения важности после распределения битов составляет 1 для поддиапазона кодирования, чье число распределения битов равно 0; длина этапа распределения битов для распределения битов дополнительно составляет 0,5 бит, а длина этапа уменьшения важности после распределения битов составляет также 0,5 для поддиапазона кодирования, чье число распределения битов больше 0 и меньше порога классификации; и длина этапа распределения битов для распределения битов дополнительно составляет 1 бит, а длина этапа уменьшения важности после распределения битов составляет также 1 для поддиапазона кодирования, чье число распределения битов больше или равно порогу классификации;
Этап 803: закодированные биты коэффициентов частотной области основного уровня декодируются, обратно квантуются и обратно нормализуются с использованием числа распределения битов основного уровня и значения (
Этап 804: показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня рассчитывается согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и числу распределения битов основного уровня; способ расчета на стороне декодирования точно такой же, что и способ расчета на стороне кодирования. Остаточный сигнал основного уровня и коэффициенты частотной области расширенного уровня 1 составляют сигнал кодирования расширенного уровня 1.
Подобным образом показатель степени квантования огибающей амплитуды поддиапазона кодирования остаточного сигнала в более высоком расширенном уровне рассчитывается с использованием показателя степени квантования огибающей амплитуды поддиапазона кодирования сигнала кодирования в более низком расширенном уровне и числа распределения битов более низкого расширенного уровня; то есть показатель степени квантования огибающей амплитуды поддиапазона остаточного сигнала в расширенном уровне i-1 рассчитывается согласно показателю степени квантования огибающей амплитуды поддиапазона кодирования сигнала кодирования расширенного уровня i-1 и соответствующему значению изменения. Остаточный сигнал расширенного уровня i-1 и коэффициенты частотной области расширенного уровня составляют сигнал кодирования расширенного уровня i.
Этап 805: начальное значение важности каждого поддиапазона кодирования рассчитывается согласно показателю степени квантования огибающей амплитуды сигнала кодирования каждого поддиапазона кодирования каждого расширенного уровня, и распределение битов выполняется для каждого поддиапазона кодирования расширенного уровня согласно важности каждого поддиапазона кодирования, чтобы получить число распределения битов расширенного уровня; способ для расчета начального значения важности поддиапазона кодирования и способ для распределения битов на стороне декодирования такие же, что и способ для расчета начального значения важности поддиапазона кодирования и способ для распределения битов на стороне кодирования.
Этап 806: рассчитывается сигнал кодирования расширенного уровня.
Закодированные биты сигнала кодирования декодируются и обратно векторно квантуются согласно числу распределения битов расширенного уровня, и обратно квантованные данные обратно нормализуются с использованием значения огибающей амплитуды квантования каждого поддиапазона кодирования сигнала кодирования расширенного уровня, чтобы получить сигнал кодирования расширенного уровня.
На этом этапе порядок декодирования сигнала кодирования каждого расширенного уровня осуществляется от более низкого расширенного уровня к более высокому расширенному уровню, а порядок декодирования сигнала кодирования каждого поддиапазона кодирования в идентичном расширенном уровне определяется начальным значением важности каждого поддиапазона кодирования. Если присутствуют два поддиапазона кодирования с одинаковой важностью, то поддиапазон кодирования более низкой частоты декодируется предпочтительно, и тем временем рассчитывается число декодированных битов, и декодирование прерывается, когда число декодированных битов удовлетворяет требованию к общему числу битов.
Этап 807: коэффициенты частотной области основного уровня и сигнал кодирования каждого расширенного уровня складываются, чтобы получить выходное значение коэффициентов частотной области.
Этап 808: заполнение шумом выполняется для поддиапазонов кодирования, в которые во время процесса кодирования не было распределено никаких закодированных битов;
Этап 809: ОМДКП выполняется для коэффициентов частотной области, для которых было выполнено заполнение шумом, чтобы получить окончательный выходной аудиосигнал.
Фиг.9 иллюстрирует структуру системы расширенного иерархического декодирования аудио согласно второму примеру настоящего изобретения. Как показано на фиг.9, система содержит: демультиплексор (DeMUX) 901 потока битов, блок 902 декодирования огибающей амплитуды, блок 903 распределения битов основного уровня и блок 904 декодирования и обратного квантования основного уровня, блок генерирования огибающей амплитуды остаточного сигнала, блок распределения битов расширенного уровня, блок декодирования и обратного квантования сигнала кодирования, блок 905 генерирования коэффициентов частотной области, блок 906 заполнения шумом и блок 907 ОМДКП.
На фиг.9, чтобы четко описать взаимосвязь взаимодействия данных между различными расширенными уровнями, блок генерирования огибающей амплитуды остаточного сигнала также разделяется на: блоки 1-К генерирования огибающей амплитуды остаточного сигнала; блок распределения битов расширенного уровня также разделяется на: блоки 1-К распределения битов расширенного уровня; блок декодирования и обратного квантования сигнала кодирования также разделяется на: блоки 1-К декодирования и обратного квантования сигнала кодирования.
демультиплексор потока кода приспособлен выдавать закодированные биты огибающей амплитуды, закодированные биты коэффициента частотной области, закодированные биты сигнала кодирования каждого расширенного уровня;
блок декодирования огибающей амплитуды приспособлен выполнять декодирование Хаффмана согласно значению Flag_huff_rms в дополнительной информации или выполнять прямое декодирование закодированных битов огибающей амплитуды, выдаваемых демультиплексором потока битов, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, Thq(j),j=0,…,L_core-1;
блок распределения битов основного уровня приспособлен рассчитывать начальную величину важности каждого поддиапазона кодирования основного уровня согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, выдаваемому блоком декодирования огибающей амплитуды, и выполнять распределение битов для каждого поддиапазона кодирования основного уровня согласно важности каждого поддиапазона кодирования, чтобы получить число распределения битов основного уровня (т.е. Region_bit(j), j=0,…, L_core-1);
блок декодирования и обратного квантования основного уровня приспособлен декодировать, обратно квантовать и обратно нормализовать закодированные биты коэффициентов частотной области с использованием числа распределения битов основного уровня и значения (
блок 1 генерирования огибающей амплитуды остаточного сигнала приспособлен рассчитывать показатель степени квантования огибающей амплитуды остаточного сигнала каждого поддиапазона кодирования основного уровня согласно показателю степени квантования огибающей амплитуды каждого поддиапазона основного уровня и числу распределения битов основного уровня;
блок i+1 генерирования огибающей амплитуды остаточного сигнала приспособлен рассчитывать показатель степени квантования огибающей амплитуды остаточного сигнала каждого поддиапазона кодирования расширенного уровня i с использованием показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня i и числа распределения битов расширенного уровня i; где i=1,…,K-1, К - это число расширенных уровней;
блок i распределения битов расширенного уровня приспособлен рассчитывать начальную величину важности каждого поддиапазона кодирования расширенного уровня i согласно показателю степени квантования огибающей амплитуды сигнала кодирования каждого поддиапазона кодирования расширенного уровня i и выполнять распределение битов для каждого поддиапазона кодирования расширенного уровня i согласно важности каждого поддиапазона кодирования расширенного уровня i, чтобы получить число распределения битов расширенного уровня i; где i=1,…,K, К - это число расширенных уровней;
блок 1 декодирования и обратного квантования сигнала кодирования приспособлен декодировать и обратно квантовать закодированные биты сигнала кодирования i согласно числу распределения битов расширенного уровня i и обратно нормализовать обратно квантованные данные с использованием значения огибающей амплитуды квантования поддиапазона кодирования сигнала кодирования расширенного уровня i, чтобы получить сигнал кодирования расширенного уровня i; где i=1,…,К, К - это число расширенных уровней;
блок генерирования коэффициентов частотной области приспособлен складывать коэффициенты частотной области основного уровня, выдаваемые блоком декодирования и обратного квантования основного уровня, с сигналом кодирования каждого расширенного уровня, выдаваемым блоком декодирования и обратного квантования сигнала кодирования, чтобы получать выходное значение частотного коэффициента;
блок заполнения шумом приспособлен выполнять заполнение шумом для поддиапазонов, в которые никакие закодированные биты не распределяются среди выходных значений коэффициента частотной области, выдаваемых блоком генерирования коэффициентов частотной области;
блок ОМДКП приспособлен выполнять ОМДКП для коэффициентов частотной области, для которых было выполнено заполнение шумом, чтобы получить окончательный выходной аудиосигнал.
Специалист в данной области техники может разобраться в том, что все или часть этапов в вышеуказанных примерах могут осуществляться путем подачи команд соответствующему аппаратному обеспечению посредством программы, которая может храниться на носителе данных, считываемом компьютером, таком как постоянное запоминающее устройство, диск или оптический диск и т.п. Факультативно, все или часть этапов в вышеуказанных примерах также могут осуществляться с использованием одной или более интегральных схем. Соответственно, каждый модуль/блок в вышеуказанных примерах может быть реализован в форме аппаратного обеспечения или в форме функционального модуля программного обеспечения. Настоящее изобретение не ограничивается какой-либо конкретной формой сочетания аппаратного и программного обеспечения.
Промышленная применимость
В способе и системе иерархического кодирования, декодирования аудио идентичный способ для разделения на поддиапазоны и распределения битов применяется в основном уровне и расширенном уровне; информация огибающей амплитуды расширенного уровня рассчитывается согласно информации огибающей амплитуды основного уровня, и характеристики распределения самих сигналов полностью учитываются в распределении битов как основного уровня, так расширенного уровня, так что основной уровень и расширенный уровень тесно связаны друг с другом, и поток кода расширенного уровня не содержит информации огибающей амплитуды остаточного сигнала, тем самым повышая эффективность иерархического кодирования и декодирования аудио и одновременно увеличивая коэффициент использования кодов.
Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности иерархического кодирования/декодирования аудио. Способ иерархического кодирования аудио включает разделение коэффициентов частотной области аудио сигнала после модифицированного дискретного косинусного преобразования (МДКП) на множество поддиапазонов кодирования, квантование и кодирование значений огибающей амплитуды поддиапазонов кодирования; распределение битов в каждый поддиапазон кодирования основного уровня, квантование и кодирование коэффициентов частотной области основного уровня, чтобы получить закодированные биты коэффициентов частотной области основного уровня; вычисление значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня; распределение битов в каждый поддиапазон кодирования расширенного уровня, квантование и кодирование сигнала кодирования расширенного уровня, чтобы получить закодированные биты сигнала кодирования расширенного уровня; мультиплексирование и упаковку закодированных битов значения огибающей амплитуды каждого поддиапазона кодирования, состоящего из коэффициентов частотной области основного уровня и расширенного уровня, закодированных битов частотных коэффициентов основного уровня и закодированных битов сигнала кодирования расширенного уровня, затем передачу на сторону декодирования. 4 н. и 18 з.п. ф-лы, 12 ил., 9 табл.
1. Способ иерархического кодирования аудио, включающий следующие этапы:
разделение коэффициентов частотной области аудиосигнала, для которого было выполнено модифицированное дискретное косинусное преобразование (МДКП), на коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня, и разделение коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня на множество поддиапазонов кодирования, и квантование и кодирование значений огибающей амплитуды поддиапазонов кодирования;
распределение битов в каждый поддиапазон кодирования основного уровня согласно значению огибающей амплитуды каждого поддиапазона кодирования основного уровня, и затем квантование и кодирование коэффициентов частотной области основного уровня, чтобы получить закодированные биты коэффициентов частотной области основного уровня;
вычисление значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня;
распределение битов в каждый поддиапазон кодирования расширенного уровня согласно сигналу кодирования расширенного уровня, состоящему из остаточного сигнала основного уровня и коэффициентов частотной области расширенного уровня, и значению огибающей амплитуды каждого поддиапазона кодирования, состоящего из сигнала кодирования расширенного уровня, и затем квантование и кодирование сигнала кодирования расширенного уровня, чтобы получить закодированные биты сигнала кодирования расширенного уровня; и
мультиплексирование и упаковка закодированных битов значения огибающей амплитуды каждого поддиапазона кодирования, состоящего из коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня, закодированных битов коэффициентов частотной области основного уровня и закодированных битов сигнала кодирования расширенного уровня, и затем передача на сторону декодирования.
2. Способ по п.1, где на указанном этапе разделения коэффициентов частотной области аудиосигнала, для которого было произведено модифицированное дискретное косинусное преобразование (МДКП), на коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня, и разделения коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня на множество поддиапазонов кодирования,
коэффициенты частотной области, после того как было выполнено МДКП, разделяют на множество равномерно распределенных поддиапазонов кодирования или разделяют на множество неравномерных поддиапазонов кодирования согласно характеристикам слухового восприятия; низкочастотные поддиапазоны кодирования группируют как поддиапазоны кодирования основного уровня, а высокочастотные поддиапазоны кодирования группируют как поддиапазоны кодирования расширенного уровня.
3. Способ по п.1, где
на указанном этапе квантования и кодирования коэффициентов частотной области основного уровня и сигнала кодирования расширенного уровня
подлежащие квантованию векторы поддиапазона кодирования, число распределения битов которых меньше порога классификации, квантуют и кодируют с использованием векторного квантования пирамидальной решетки, а подлежащие квантованию векторы поддиапазона кодирования, число распределения битов которых больше порога классификации, квантуют и кодируют с использованием векторного квантования сферической решетки;
число распределения битов является числом битов, распределенных в один коэффициент частотной области в одном поддиапазоне кодирования.
4. Способ по п.1, где на указанном этапе вычисления значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня
значение огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня рассчитывают следующим образом:
обратным квантованием квантованного значения коэффициента частотной области основного уровня и применением расчета разности относительно коэффициента частотной области основного уровня, чтобы получить остаточный сигнал основного уровня;
разделением остаточного сигнала основного уровня на поддиапазоны кодирования тем же способом, что и для коэффициента частотной области основного уровня, и вычислением значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня.
5. Способ по п.4, где этап вычисления значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня включает:
вычисление показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и осуществление расчета разности относительно значения изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня;
значение изменения показателя степени квантования каждого поддиапазона кодирования больше или равно 0 и не уменьшается, когда число распределения битов соответствующего поддиапазона кодирования основного уровня возрастает; и
когда число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, и когда число распределения битов поддиапазона кодирования основного уровня является определенным максимальным числом распределения битов, значение огибающей амплитуды остаточного сигнала основного уровня в поддиапазоне кодирования равно 0.
6. Способ по п.1, где указанный этап получения закодированных битов коэффициентов частотной области основного уровня включает:
вычисление показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и распределение битов в каждый поддиапазон кодирования основного уровня; и
нормализация коэффициентов частотной области каждого поддиапазона кодирования согласно значению огибающей амплитуды квантования каждого поддиапазона кодирования основного уровня, восстановленной согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, и квантование и кодирование согласно числу распределения битов каждого поддиапазона кодирования основного уровня с использованием векторного квантования пирамидальной решетки и векторного квантования сферической решетки соответственно, чтобы получить закодированные биты коэффициентов частотной области основного уровня;
где указанный этап получения закодированных битов сигнала кодирования расширенного уровня включает:
составление сигнала кодирования расширенного уровня из остаточного сигнала основного уровня и коэффициентов частотной области расширенного уровня;
распределение битов в каждый поддиапазон кодирования расширенного уровня согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования сигнала кодирования расширенного уровня; и
нормализация сигнала кодирования каждого поддиапазона кодирования согласно значению огибающей амплитуды квантования каждого поддиапазона кодирования расширенного уровня, восстановленной согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня, и квантование и кодирование согласно числу распределения битов каждого поддиапазона кодирования расширенного уровня с использованием способа векторного квантования пирамидальной решетки и векторного квантования сферической решетки соответственно, чтобы получить закодированные биты сигнала кодирования расширенного уровня.
7. Способ по п.1, где на указанном этапе мультиплексирования и упаковки закодированных битов значения огибающей амплитуды каждого поддиапазона кодирования, составленного из коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня, закодированных битов коэффициентов частотной области основного уровня и закодированных битов сигнала кодирования расширенного уровня, и затем передачи на сторону декодирования,
мультиплексирование и упаковку осуществляют в соответствии со следующим форматом потока кода:
запись битов дополнительной информации основного уровня после заголовка кадра потока кода, запись закодированных битов значения огибающей амплитуды поддиапазона кодирования основного уровня в мультиплексор MUX потока битов, и затем запись закодированных битов коэффициентов частотной области основного уровня в MUX; и запись битов дополнительной информации расширенного уровня в MUX, запись закодированных битов значения огибающей амплитуды поддиапазона кодирования коэффициентов частотной области расширенного уровня в MUX, и затем запись закодированных битов сигнала кодирования расширенного уровня в MUX;
биты, число которых соответствует требованиям кодовой скорости, отсылают на сторону декодирования согласно требуемой кодовой скорости.
8. Способ по п.7, где
дополнительная информация основного уровня включает биты флажков кодирования Хаффмана огибающей амплитуды поддиапазона кодирования, составленного из коэффициентов МДКП, биты флажков кодирования Хаффмана коэффициентов частотной области основного уровня и биты числа итераций;
дополнительная информация расширенного уровня включает биты флажков кодирования Хаффмана сигнала кодирования расширенного уровня и биты числа итераций.
9. Способ по п.7, где указанный этап передачи битов, число которых удовлетворяет требуемой кодовой скорости, на сторону декодирования включает:
кодирование основного уровня и расширенного уровня в диапазоне всей частотной полосы, в которой необходимо кодирование, согласно числу битов для определенной максимальной скорости кодирования, так что максимальную скорость кодирования достигают в диапазоне частотной полосы кодирования;
после закодированных битов основного уровня запись закодированных битов сигнала кодирования расширенного уровня в мультиплексор потока битов согласно начальному значению важности каждого поддиапазона кодирования в убывающем порядке; и
передачу битов, число которых удовлетворяет требуемой кодовой скорости, на сторону декодирования, на основе принципа, что закодированные биты поддиапазона кодирования с меньшим начальным значением важности отклоняют в первую очередь;
где кодовая скорость, соответствующая основному уровню, обозначена как уровень L0, каждая кодовая скорость, соответствующая расширенному уровню, обозначена как уровень L1_1, уровень L1_2, …, вплоть до уровня L1_K согласно числу отклоненных битов расширенного уровня соответственно, где кодовая скорость уровня L1_K является точно максимальной скоростью кодирования.
10. Способ по любому из пп.1-4, где
после указанного этапа разделения коэффициентов частотной области аудиосигнала, для которого было выполнено модифицированное дискретное косинусное преобразование (МДКП), на коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня, способ также включает: разделение коэффициентов частотной области расширенного уровня, в возрастающем порядке частот, на М частей, которые являются коэффициентами частотной области расширенных уровней от расширенного уровня 1 до расширенного уровня М соответственно, где частота для коэффициента частотной области в расширенном уровне 1 является самой низкой, а частота для коэффициента частотной области в расширенном уровне М является самой высокой;
после указанного этапа квантования и кодирования коэффициентов частотной области основного уровня способ также включает: обратное квантование квантованного значения коэффициента частотной области основного уровня и осуществление расчета разности относительно коэффициента частотной области основного уровня, чтобы получить остаточный сигнал основного уровня;
на указанном этапе вычисления значения огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня остаточный сигнал основного уровня разделяют на поддиапазоны кодирования тем же способом, что и для основного уровня, и величину огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня вычисляют согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования основного уровня;
на указанном этапе распределения битов в каждый поддиапазон кодирования расширенного уровня согласно сигналу кодирования расширенного уровня, составленному из остаточного сигнала основного уровня и коэффициентов частотной области расширенного уровня, и значению огибающей амплитуды каждого поддиапазона кодирования, составленного из сигнала кодирования расширенного уровня, и затем квантования и кодирования сигнала кодирования расширенного уровня, чтобы получить закодированные биты сигнала кодирования расширенного уровня,
сигнал кодирования расширенного уровня 1 составляют из остаточного сигнала основного уровня и коэффициента частотной области расширенного уровня 1, показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования вычисляют согласно сигналу кодирования расширенного уровня 1, и биты распределяют в каждый поддиапазон кодирования расширенного уровня 1; сигнал кодирования расширенного уровня 1 квантуют и кодируют согласно числу распределения битов каждого поддиапазона кодирования расширенного уровня 1;
квантованное значение сигнала кодирования расширенного уровня i обратно квантуют, и осуществляют расчет разности относительно сигнала кодирования расширенного уровня i, чтобы получить остаточный сигнал расширенного уровня i;
остаточный сигнал расширенного уровня i разделяют на поддиапазоны кодирования тем же способом, что и для расширенного уровня i, и величину огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала расширенного уровня i вычисляют согласно значению огибающей амплитуды и числу распределения битов каждого поддиапазона кодирования расширенного уровня i;
сигнал кодирования расширенного уровня i+1 составляют из остаточного сигнала расширенного уровня i и коэффициента частотной области расширенного уровня i+1, и биты распределяют в каждый поддиапазон кодирования расширенного уровня i+1 согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования сигнала кодирования расширенного уровня i+1; и
сигнал кодирования каждого поддиапазона кодирования расширенного уровня i+1 нормализуют, векторно квантуют и кодируют согласно значению огибающей амплитуды квантования и числу закодированных битов каждого поддиапазона кодирования расширенного уровня i+1, восстановленным согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня i+1, чтобы получить закодированные биты сигнала кодирования расширенного уровня i+1;
указанное i=1, ….N-1, и N является положительным целым числом больше 2.
11. Способ по п.1 или 7, где при мультиплексировании и упаковке закодированных битов значения огибающей амплитуды каждого поддиапазона кодирования, составленного из коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня, закодированных битов коэффициентов частотной области основного уровня и закодированных битов сигнала кодирования расширенного уровня,
мультиплексирование и упаковку осуществляют согласно следующему формату потока кода:
после закодированных битов основного уровня, согласно числу расширенного уровня, запись битов расширенного уровня с меньшим порядковым номером в мультиплексор MUX потока битов, а затем запись битов расширенного уровня с большим порядковым номером в мультиплексор MUX потока битов;
в идентичном расширенном уровне, в первую очередь запись битов дополнительной информации расширенного уровня в MUX, запись закодированных битов значения огибающей амплитуды поддиапазона кодирования коэффициентов частотной области расширенного уровня в MUX, а затем запись закодированных битов сигнала кодирования расширенного уровня в MUX;
передача битов, число которых удовлетворяет требуемой кодовой скорости, на сторону декодирования согласно требуемой кодовой скорости.
12. Способ иерархического декодирования аудио, включающий следующие этапы:
демультиплексирование потока битов, посланного стороной кодирования, и декодирование закодированных битов огибающей амплитуды коэффициентов частотной области основного уровня, чтобы получить величину огибающей амплитуды каждого поддиапазона кодирования основного уровня;
распределение битов в каждый поддиапазон основного уровня согласно значению огибающей амплитуды каждого поддиапазона кодирования основного уровня, и вычисление значения огибающей амплитуды остаточного сигнала основного уровня; декодирование закодированных битов огибающей амплитуды коэффициентов частотной области расширенного уровня, чтобы получить величину огибающей амплитуды коэффициентов частотной области расширенного уровня; распределение битов в каждый поддиапазон кодирования расширенного уровня согласно значению огибающей амплитуды остаточного сигнала основного уровня и значению огибающей амплитуды коэффициентов частотной области расширенного уровня; и
соответственно декодирование закодированных битов коэффициентов частотной области основного уровня и закодированных битов сигнала кодирования расширенного уровня согласно числу распределения битов основного уровня и числу распределения битов расширенного уровня, чтобы получить коэффициенты частотной области основного уровня и сигнал кодирования расширенного уровня, перегруппировка сигнала кодирования расширенного уровня согласно порядку частотных полос, и сложение с коэффициентами частотной области основного уровня, чтобы получить коэффициенты частотной области всей полосы частот, выполнение обратного модифицированного дискретного косинусного преобразования (ОМДКП) для коэффициентов частотной области всей полосы частот, чтобы получить выходной аудиосигнал.
13. Способ по п.12, где этап вычисления значения огибающей амплитуды остаточного сигнала основного уровня включает:
вычисление показателя степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и осуществление расчета разности относительно значения изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня;
вычисление значения огибающей амплитуды каждого поддиапазона остаточного сигнала расширенного уровня i согласно огибающей амплитуде и числу распределения битов каждого поддиапазона кодирования расширенного уровня i;
значение изменения показателя степени квантования каждого поддиапазона кодирования является большей или равной 0, и неубывающей, когда число распределения битов соответствующего поддиапазона кодирования основного уровня возрастает; и
когда число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, и когда число распределения битов поддиапазона кодирования является определенным максимальным числом распределения битов, значение огибающей амплитуды остаточного сигнала основного уровня в поддиапазоне кодирования равно 0.
14. Способ по п.12, где указанный этап получения коэффициентов частотной области основного уровня и сигнала кодирования расширенного уровня включает:
декодирование, обратное квантование и обратную нормализацию закодированных битов коэффициентов частотной области основного уровня согласно числу распределения битов, значению огибающей амплитуды квантования и дополнительной информации каждого поддиапазона кодирования основного уровня, чтобы получить коэффициенты частотной области основного уровня; и
декодирование, обратное квантование и обратную нормализацию закодированных битов сигнала кодирования расширенного уровня согласно числу распределения битов каждого поддиапазона кодирования расширенного уровня, значению огибающей амплитуды квантования и дополнительной информации сигнала кодирования расширенного уровня, чтобы получить сигнал кодирования расширенного уровня.
15. Способ по п.12 или 14, где на указанном этапе декодирования закодированных битов сигнала кодирования расширенного уровня
закодированные биты сигнала кодирования расширенного уровня декодируют в следующем порядке:
в различных расширенных уровнях порядок для декодирования различных уровней таков: в первую очередь декодирование закодированных битов каждого поддиапазона кодирования и огибающей амплитуды нижнего расширенного уровня с меньшим порядковым номером расширенного уровня, а затем декодирование закодированных битов каждого поддиапазона кодирования и огибающей амплитуды более высокого расширенного уровня с большим порядковым номером расширенного уровня, число декодированных битов рассчитывают во время декодирования, и декодирование прекращают, когда число декодированных битов удовлетворяет требованиям к общему числу битов;
в идентичном расширенном уровне порядок для декодирования различных поддиапазонов определяют начальным значением важности каждого поддиапазона кодирования, поддиапазон кодирования с большей важностью декодируют предпочтительно, а если присутствуют два поддиапазона кодирования с одинаковой важностью, то предпочтительно декодируют поддиапазон кодирования более низкой частоты, число декодированных битов рассчитывают во время декодирования, и декодирование прекращают, когда число декодированных битов удовлетворяет требованиям к общему числу битов.
16. Система иерархического кодирования аудио, содержащая: блок модифицированного дискретного косинусного преобразования (МДКП), блок вычисления огибающей амплитуды, блок квантования и кодирования огибающей амплитуды, блок распределения битов основного уровня, блок векторного квантования и кодирования коэффициентов частотной области основного уровня и мультиплексор потока битов; система также содержит: блок генерирования сигнала кодирования расширенного уровня, блок генерирования огибающей амплитуды остаточного сигнала, блок распределения битов расширенного уровня и блок векторного квантования и кодирования сигнала кодирования расширенного уровня, где:
блок МДКП приспособлен выполнять модифицированное дискретное косинусное преобразование для входящего аудиосигнала, чтобы генерировать коэффициенты частотной области основного уровня и коэффициенты частотной области расширенного уровня;
блок вычисления огибающей амплитуды приспособлен группировать подлежащие кодированию части в коэффициентах частотной области основного уровня и коэффициентах частотной области расширенного уровня как поддиапазоны кодирования коэффициентов частотной области основного уровня и поддиапазоны кодирования коэффициентов частотной области расширенного уровня, и вычислять величину огибающей амплитуды каждого поддиапазона кодирования;
блок квантования и кодирования огибающей амплитуды приспособлен квантовать и кодировать значения огибающей амплитуды поддиапазонов кодирования коэффициентов частотной области основного уровня и поддиапазонов кодирования коэффициентов частотной области расширенного уровня, чтобы генерировать показатель степени квантования огибающей амплитуды и закодированные биты огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области основного уровня и коэффициентов частотной области расширенного уровня;
блок распределения битов основного уровня приспособлен распределять биты в основной уровень, чтобы получать число распределения битов каждого поддиапазона кодирования основного уровня;
блок векторного квантования и кодирования коэффициентов частотной области основного уровня приспособлен нормализовать, квантовать вектор и кодировать коэффициенты частотной области каждого поддиапазона кодирования основного уровня, используя величину огибающей амплитуды квантования и число распределения битов каждого поддиапазона кодирования основного уровня, восстановленные согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, чтобы получать закодированные биты коэффициентов частотной области основного уровня;
блок генерирования сигнала кодирования расширенного уровня приспособлен генерировать остаточный сигнал и получать сигнал кодирования расширенного уровня, составленный из остаточного сигнала и коэффициентов частотной области расширенного уровня;
блок генерирования огибающей амплитуды остаточного сигнала приспособлен получать показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и числу распределения битов соответствующего поддиапазона кодирования;
блок распределения битов расширенного уровня приспособлен распределять биты в расширенный уровень согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала и показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области расширенного уровня, чтобы получать число распределения битов каждого поддиапазона кодирования сигнала кодирования расширенного уровня;
блок векторного квантования и кодирования сигнала кодирования расширенного уровня приспособлен нормализовать, векторно квантовать и кодировать сигнал кодирования каждого поддиапазона кодирования расширенного уровня, используя величину огибающей амплитуды квантования и число распределения битов каждого поддиапазона кодирования расширенного уровня, восстановленные согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня, чтобы получить закодированные биты сигнала кодирования расширенного уровня;
мультиплексор потока битов приспособлен упаковывать биты дополнительной информации основного уровня, закодированные биты огибающей амплитуды каждого поддиапазона кодирования основного уровня, закодированные биты коэффициентов частотной области основного уровня, биты дополнительной информации расширенного уровня, закодированные биты каждой огибающей амплитуды коэффициентов частотной области расширенного уровня и закодированные биты сигнала кодирования расширенного уровня.
17. Система согласно п.16, где
блок генерирования сигнала кодирования расширенного уровня также содержит блок генерирования остаточного сигнала и блок синтеза сигнала кодирования расширенного уровня;
блок генерирования остаточного сигнала приспособлен обратно квантовать квантованные значения коэффициентов частотной области основного уровня и осуществлять расчет разности относительно коэффициента частотной области основного уровня, чтобы получить остаточный сигнал основного уровня;
блок синтеза сигнала кодирования расширенного уровня приспособлен синтезировать остаточный сигнал основного уровня и коэффициенты частотной области расширенного уровня в порядке частотных диапазонов, чтобы получить сигнал кодирования расширенного уровня.
18. Система по п.16, где
блок генерирования огибающей амплитуды остаточного сигнала также содержит блок получения значения изменения показателя степени квантования и блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала;
блок получения значения изменения показателя степени квантования приспособлен рассчитывать величину изменения показателя степени квантования каждого поддиапазона кодирования остаточного сигнала согласно числу распределения битов каждого поддиапазона кодирования основного уровня, где значение изменения показателя степени квантования каждого поддиапазона кодирования больше или равно 0 и не уменьшается, когда число распределения битов соответствующего поддиапазона кодирования основного уровня увеличивается; когда число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, а когда число распределения битов поддиапазона кодирования является определенным максимальным числом распределения битов, значение огибающей амплитуды остаточного сигнала в поддиапазоне кодирования равно 0;
блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала приспособлен осуществлять расчет разности между показателем степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и значением изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня.
19. Система по п.16, где
мультиплексор потока битов приспособлен записывать закодированные биты сигнала кодирования расширенного уровня в поток кода согласно начальному значению важности каждого поддиапазона кодирования в порядке убывания, а для поддиапазонов кодирования одинаковой важности предпочтительно записывать в поток кода закодированные биты поддиапазона кодирования более низкой частоты.
20. Система иерархического декодирования аудио, содержащая: демультиплексор потока битов, блок декодирования огибающей амплитуды основного уровня, блок распределения битов основного уровня и блок декодирования и обратного квантования основного уровня; система также содержит: блок декодирования огибающей амплитуды расширенного уровня, блок генерирования огибающей амплитуды остаточного сигнала основного уровня, блок распределения битов расширенного уровня, блок декодирования и обратного квантования сигнала кодирования расширенного уровня, блок генерирования коэффициента частотной области, блок заполнения шумом и блок обратного модифицированного дискретного косинусного преобразования (ОМДКП); где:
блок декодирования огибающей амплитуды основного уровня приспособлен декодировать закодированные биты огибающей амплитуды поддиапазонов кодирования основного уровня, выдаваемые демультиплексором потока битов, чтобы получить показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня;
блок распределения битов основного уровня приспособлен распределять биты в основной уровень, чтобы получать число распределения битов каждого поддиапазона кодирования основного уровня;
блок декодирования и обратного квантования основного уровня приспособлен вычислять величину огибающей амплитуды квантования каждого поддиапазона кодирования основного уровня согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня, и декодировать, обратно квантовать и обратно нормализовать закодированные биты коэффициентов частотной области основного уровня, выдаваемые демультиплексором потока битов, используя число распределения битов и величину огибающей амплитуды квантования каждого поддиапазона кодирования основного уровня, чтобы получать коэффициенты частотной области основного уровня;
блок декодирования огибающей амплитуды расширенного уровня приспособлен декодировать закодированные биты огибающей амплитуды коэффициентов частотной области основного уровня, выдаваемые демультиплексором потока битов, чтобы получать показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области основного уровня;
блок генерирования огибающей амплитуды остаточного сигнала основного уровня приспособлен вычислять показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования основного уровня и числу распределения битов соответствующего поддиапазона кодирования;
блок распределения битов расширенного уровня приспособлен распределять биты в расширенный уровень согласно показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала и показателю степени квантования огибающей амплитуды каждого поддиапазона кодирования коэффициентов частотной области расширенного уровня, чтобы получать число распределения битов каждого поддиапазона кодирования сигнала кодирования расширенного уровня;
блок декодирования и обратного квантования сигнала кодирования расширенного уровня приспособлен вычислять величину огибающей амплитуды квантования каждого поддиапазона кодирования расширенного уровня, используя показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования расширенного уровня, и декодировать, обратно квантовать и обратно нормализовать закодированные биты сигнала кодирования расширенного уровня, выдаваемые демультиплексором потока битов, используя число распределения битов и величину огибающей амплитуды квантования каждого поддиапазона кодирования расширенного уровня, чтобы получать сигнал кодирования расширенного уровня;
блок генерирования коэффициента частотной области приспособлен переупорядочивать сигнал кодирования расширенного уровня, выдаваемый блоком декодирования и обратного квантования сигнала кодирования расширенного уровня, согласно порядку частотных диапазонов, а затем выполнять расчет суммы с коэффициентами частотной области основного уровня, выдаваемыми блоком декодирования и обратного квантования сигнала кодирования основного уровня, чтобы получать выходные значения коэффициента частотной области;
блок заполнения шумом приспособлен выполнять заполнение шумом для поддиапазонов кодирования, в которые ни один закодированный бит не распределен во время процесса кодирования;
блок ОМДКП приспособлен выполнять ОМДКП для всех коэффициентов частотной области, для которых было выполнено заполнение шумом, чтобы получать выходной аудиосигнал.
21. Система по п.20, где
блок генерирования огибающей амплитуды остаточного сигнала основного уровня также содержит блок получения значения изменения показателя степени квантования и блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала;
блок получения значения изменения показателя степени квантования приспособлен вычислять величину изменения показателя степени квантования каждого поддиапазона кодирования остаточного сигнала согласно числу распределения битов каждого поддиапазона кодирования основного уровня и осуществлять регулирование согласно абсолютному значению коэффициента частотной области соответствующего поддиапазона кодирования, где значение изменения показателя степени квантования каждого поддиапазона кодирования больше или равно 0 и не уменьшается, когда число распределения битов соответствующего поддиапазона кодирования основного уровня увеличивается, и если число распределения битов поддиапазона кодирования основного уровня равно 0, значение изменения показателя степени квантования равно 0, и если число распределения битов поддиапазона кодирования основного уровня является определенным максимальным числом распределения битов, значение огибающей амплитуды остаточного сигнала в поддиапазоне кодирования равно 0;
блок вычисления показателя степени квантования огибающей амплитуды остаточного сигнала приспособлен выполнять расчет разности между показателем степени квантования огибающей амплитуды каждого поддиапазона кодирования и значением изменения показателя степени квантования соответствующего поддиапазона кодирования, чтобы получать показатель степени квантования огибающей амплитуды каждого поддиапазона кодирования остаточного сигнала основного уровня.
22. Система по п.20, где
блок декодирования и обратного квантования сигнала кодирования расширенного уровня приспособлен так, что порядок для декодирования различных поддиапазонов сигнала кодирования расширенного уровня был определен начальным значением важности каждого поддиапазона кодирования, поддиапазон кодирования с большей важностью декодируется предпочтительно, а если присутствуют два поддиапазона кодирования с одинаковой важностью, то предпочтительно декодируется поддиапазон кодирования более низкой частоты, число декодированных битов рассчитано во время декодирования, и декодирование прекращается, когда число декодированных битов удовлетворяет требованиям к общему числу битов.
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
СПОСОБ ОБРАБОТКИ БУРОВОГО РАСТВОРА | 1994 |
|
RU2101318C1 |
Колосоуборка | 1923 |
|
SU2009A1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ МАСШТАБИРУЕМОГО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ АУДИОСИГНАЛОВ | 1997 |
|
RU2214047C2 |
МУЛЬТИПЛЕКСИРОВАНИЕ С ЧАСТОТНЫМ РАЗДЕЛЕНИЕМ ДЛЯ МНОЖЕСТВЕННЫХ ПОТОКОВ ДАННЫХ В СИСТЕМЕ БЕСПРОВОДНОЙ СВЯЗИ С НЕСКОЛЬКИМИ НЕСУЩИМИ | 2004 |
|
RU2336651C2 |
Авторы
Даты
2014-03-10—Публикация
2010-10-26—Подача