Кодирование звука
Иллюстрации
Показать всеИзобретение относится к кодеру и декодеру звука и кодированию звука, дающему возможность звуковым сигналам быть закодированными с коротким временем задержки. Технический результат - повышение эффективности кодирования. Кодирование звукового сигнала последовательности звуковых значений в кодированный сигнал включает в себя определение первого порога прослушивания для первого блока звуковых значений последовательности звуковых значений и второго порога прослушивания для второго блока звуковых значений последовательности звуковых значений; вычисление версии первой параметризации параметризуемого фильтра, так чтобы его передаточная функция примерно соответствовала инверсии модуля первого порога прослушивания, и версии второй параметризации параметризуемого фильтра, так чтобы его передаточная функция примерно соответствовала инверсии модуля второго порога прослушивания; фильтрацию заранее определенного блока звуковых значений последовательности звуковых значений с помощью параметризуемого фильтра с использованием заранее определенной параметризации, которая заранее определенным образом зависит от версии второй параметризации для того, чтобы получить блок фильтрованных звуковых значений, соответствующих заранее определенному блоку; квантование фильтрованных звуковых значений для того, чтобы получить блок квантованных фильтрованных звуковых значений; формирование комбинации версии первой параметризации и версии второй параметризации, включающей в себя, по меньшей мере, разность между версией первой параметризации и версией второй параметризации; и интеграцию информации, из которой могут быть получены фильтрованные квантованные звуковые значения и версия первой параметризации и которая включает комбинацию в кодированный сигнал. 6 н. и 6 з.п. ф-лы, 15 ил.
Реферат
Настоящее изобретение относится к кодеру и декодерам звука и кодированию звука, в общем, а в частности, к кодированию звука, дающему возможность звуковым сигналам быть закодированными с коротким временем задержки.
Способ сжатия звука, наиболее известный на данный момент, - это MPEG-1 Layer III. С помощью этого способа сжатия выборка или звуковые значения звукового сигнала кодируются в кодированный сигнал методом без потерь. Говоря по-иному, нерелевантность и избыточность исходного звукового сигнала уменьшается или в идеале устраняется при сжатии. Чтобы достичь этого, одновременная и временная маскировка распознается посредством психоакустической модели, т.е. изменяющийся во времени порог маскировки в зависимости от звукового сигнала вычисляется или определяется, указывающий, с какой громкости тоны определенной частоты воспринимаются человеческим слухом. Эта информация, в свою очередь, используется для кодирования сигнала посредством квантования спектральных значений звукового сигнала более точным способом, или менее точным способом, или вообще без точности, в зависимости от порога маскировки, и интегрирования их в кодированный сигнал.
Способы сжатия звука, такие как, например, формат MP3, испытывают ограничение своей применимости, когда звуковые данные должны передаваться посредством ограниченного по скорости канала передачи, с одной стороны, сжатым способом, но, с другой стороны, с минимально возможным временем задержки. В некоторых вариантах применения время задержки не играет роли, например, при архивировании звуковой информации. Кодеры звука с небольшой задержкой, которые иногда упоминаются как "кодеры со сверхнизкой задержкой", однако, являются необходимыми, когда должны передаваться критичные по времени звуковые сигналы, как, например, при организации телеконференций, в беспроводных громкоговорителях или микрофонах. Для этих областей применения статья Schuller G. и др. "Perceptual Audio Coding using Adaptive Pre- and Post-Filters and Lossless Compression", IEEE Transactions on Speech and Audio Processing, том 10, номер 6, сентябрь 2002 года, стр. 379-390, предлагает кодирование звука, когда уменьшение нерелевантности и уменьшение избыточности выполняются не в одном преобразовании, а в двух отдельных преобразованиях.
Принцип будет описан далее со ссылкой на фиг. 12 и 13. Кодирование начинается со звукового сигнала 902, который уже дискретизирован и, таким образом, уже присутствует в качестве последовательности 904 звуковых значений или значений 906 выборок, при этом временной порядок звуковых значений 906 указывается стрелкой 908. Порог прослушивания вычисляется посредством психоакустической модели для последовательных блоков звуковых значений 906, характеризующейся нумерацией по возрастанию на "блок №". Фиг. 13, например, показывает схему, на которой относительно частоты f графика a иллюстрирует спектр блока сигналов из 128 звуковых значений 906, а b иллюстрирует порог маскировки, вычисленный посредством психоакустической модели, в логарифмических единицах. Порог маскировки указывает, как уже упоминалось, вплоть до какой интенсивности частоты остаются неслышимыми для человеческого уха, а именно все тона ниже порога маскировки b. На основе порогов прослушивания, вычисленных для каждого блока, уменьшение нерелевантности достигается посредством управления параметризуемым фильтром, после которого следует квантователь. Для параметризуемого фильтра параметризация вычисляется таким образом, чтобы его частотная характеристика соответствовала инверсии модуля порога маскировки. Эта параметризация указывается на фиг. 12 как x#(i).
После фильтрации звуковых значений 906 выполняется квантование с постоянным размером шага, такое как, например, операция округления до следующего целого. Шум квантования, вызываемый этим, - это белый шум. В декодере фильтрованный сигнал снова "повторно преобразуется" посредством параметризуемого фильтра, передаточная функция которого задается равной модулю самого порога маскировки. Не только фильтрованный сигнал декодируется посредством этого, но и шум квантования в декодере также корректируется до формы или конфигурации порога маскировки. Чтобы шум квантования соответствовал порогу маскировки как можно точнее, значение усиления a#, применяемое к фильтрованному сигналу до квантования, вычисляется в кодере для каждого набора параметров или каждой параметризации. Чтобы повторное преобразование было выполнено в декодере, значение усиления a и параметризация x передаются в кодер как дополнительная информация 910 отдельно от фактических основных данных, а именно квантованных отфильтрованных звуковых значений 912. Для уменьшения 914 избыточности эти данные, т.е. дополнительная информация 910 и основные данные 912, подвергаются сжатию без потерь, а именно энтропийному кодированию, посредством чего получается кодированный сигнал.
Вышеупомянутая статья предлагает размер в 128 значений 906 выборок в качестве размера блока. Это обеспечивает относительно небольшую задержку в 8 мс с частотой дискретизации в 32 кГц. Ссылаясь на подробную реализацию, статья также заявляет, что для повышения эффективности кодирования дополнительной информации передается только дополнительная информация, т.е. коэффициенты x# и a#, если имеются достаточные изменения по сравнению с набором параметров, переданным до этого, т.е. если изменения превышают некоторое пороговое значение. Помимо этого описывается, что реализация предпочтительно осуществляется таким образом, чтобы текущий набор параметров применялся не напрямую ко всем значениям выборок, принадлежащим соответствующему блоку, а чтобы использовалась линейная интерполяция коэффициентов фильтрации x# для того, чтобы избежать слышимых помех. Чтобы выполнить линейную интерполяцию коэффициентов фильтрации, предлагается решетчатая структура фильтра для того, чтобы избежать возникновения нестабильности. Для случая, когда необходим кодированный сигнал с контролируемой скоростью передачи в битах, статья также предлагает избирательное умножение или ослабление отфильтрованного сигнала, масштабированного с помощью зависимого от времени коэффициента усиления a, на коэффициент, не равный 1, с тем чтобы возникали слышимые помехи, но скорость передачи в битах могла быть уменьшена в местах звукового сигнала, которые трудны для того, чтобы кодировать.
Хотя вышеупомянутая схема кодирования звука, описанная в статье, уже уменьшает время задержки для многих вариантов применения до достаточной степени, проблема в вышеуказанной схеме заключается в том, что вследствие обязательной необходимости передавать порог маскировки или передаточную функцию фильтра в кодере, далее упоминаемого как предварительный фильтр, канал передачи загружается в относительно высокой степени, даже когда должны быть переданы только коэффициенты фильтрации, когда заранее определенный порог превышается.
Еще один недостаток вышеописанной схемы кодирования заключается в том, что вследствие того факта, что порог маскировки или его инверсия должна быть сделана доступной в декодере посредством набора параметров x#, который должен быть передан, должен быть найден компромисс между наименьшей возможной скоростью передачи в битах или высоким коэффициентом сжатия, с одной стороны, и наиболее точной возможной аппроксимацией или параметризацией порога маскировки или его инверсии, с другой стороны. Таким образом, неизбежно шум квантования, откорректированный до порога маскировки посредством вышеупомянутой схемы кодирования, превысит порог маскировки в некоторых частотных диапазонах и, таким образом, приведет к слышимым звуковым помехам для слушателя. Фиг. 13, например, показывает параметризованную частотную характеристику параметризуемого фильтра декодера посредством графика c. Как можно увидеть, есть области, где передаточная функция фильтра декодера, далее упоминаемого как пост-фильтр, превышает порог маскировки b. Проблема усугубляется тем фактом, что параметризация передается только периодически при достаточном изменении между параметризациями и интерполируется между ними. Интерполяция коэффициентов фильтрации x#, которая предлагается в статье, сама приводит к слышимым помехам, когда значение усиления a# остается постоянным от узла к узлу или от новой параметризации к новой параметризации. Даже если интерполяция, предлагаемая в статье, также применяется к значению дополнительной информации a#, т.е. переданному значению усиления, слышимые звуковые помехи могут оставаться в звуковом сигнале, поступающем в декодер.
Другая проблема со схемой кодирования согласно фиг. 12 и 13 заключается в том, что фильтрованный сигнал может вследствие частотно-избирательной фильтрации принять непредсказуемую форму, когда, в частности, вследствие произвольного наложения многих отдельных гармонических волн одно или несколько звуковых значений кодированного сигнала суммируется до очень высоких значений, что, в свою очередь, приводит к худшему коэффициенту сжатия при дальнейшем уменьшении избыточности вследствие их нечастого появления.
Цель настоящего изобретения - предоставить более эффективную схему кодирования звука.
Эта цель достигается посредством способа по п. 8 или 10 и устройства по п. 1 или 9.
Изобретаемое кодирование звукового сигнала последовательности звуковых значений в кодированный сигнал включает в себя определение первого порога прослушивания для первого блока звуковых значений последовательности звуковых значений и второго порога прослушивания для второго блока звуковых значений последовательности звуковых значений; вычисление версии первой параметризации параметризуемого фильтра, так чтобы его передаточная функция примерно соответствовала инверсии модуля первого порога прослушивания, и версии второй параметризации параметризуемого фильтра, так чтобы его передаточная функция примерно соответствовала инверсии модуля второго порога прослушивания; фильтрацию заранее определенного блока звуковых значений последовательности звуковых значений с помощью параметризуемого фильтра с использованием заранее определенной параметризации, которая заранее определенным образом зависит от версии второй параметризации, чтобы получить блок фильтрованных звуковых значений, соответствующих заранее определенному блоку; квантование фильтрованных звуковых значений для того, чтобы получить блок квантованных фильтрованных звуковых значений; формирование комбинации версии первой параметризации и версии второй параметризации, включающей в себя, по меньшей мере, разность между версией первой параметризации и версией второй параметризации; и интеграцию информации, из которой могут быть получены фильтрованные квантованные звуковые значения и версия первой параметризации и которая включает упомянутую комбинацию в кодированный сигнал.
Основная идея настоящего изобретения заключается в том, что более высокий коэффициент сжатия может быть получен посредством передачи разностей последовательных параметризаций.
Дополнительно, если передача параметризаций выполняется только в случае, когда существует достаточная разность между ними, преимущества настоящего изобретения, в частности, также будут заключаться в том, что хотя разность параметризаций не падает ниже минимальной величины разности, тем не менее, передача разностей между двумя параметризациями обеспечивает повышение сжатия, взамен параметризации, более чем компенсация за дополнительную сложность вычисления разности в кодере и вычисления суммы в декодере.
Согласно варианту осуществления настоящего изобретения передается чистая разность между последовательными параметризациями, тогда как согласно другому варианту осуществления минимальный порог, начиная с которого будут передаваться параметризации новых узлов, вычитается из этих разностей.
Далее описываются предпочтительные варианты осуществления настоящего изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 - это принципиальная блок-схема звукового кодера согласно варианту осуществления настоящего изобретения;
Фиг. 2 иллюстрирует блок-схему последовательности операций режима функционирования звукового кодера по фиг. 1 при вводе данных;
Фиг. 3 иллюстрирует блок-схему последовательности операций режима функционирования звукового кодера по фиг. 1 в отношении оценки входящего звукового сигнала посредством психоакустической модели;
Фиг. 4 иллюстрирует блок-схему последовательности операций режима функционирования звукового кодера по фиг. 1 в отношении применения параметров, полученных посредством психоакустической модели, к входящему звуковому сигналу;
Фиг. 5a иллюстрирует схематическое представление входящего звукового сигнала, последовательность звуковых значений, из которых он состоит, и этапы работы по фиг. 4 в отношении звуковых значений;
Фиг. 5b иллюстрирует схематическое представление настройки кодированного сигнала;
Фиг. 6 иллюстрирует блок-схему последовательности операций режима функционирования звукового кодера по фиг. 1 в отношении окончательной обработки до кодированного сигнала;
Фиг. 7a иллюстрирует схему, на которой показан вариант осуществления функции этапа квантования;
Фиг. 7a иллюстрирует схему, на которой показан другой вариант осуществления функции этапа квантования;
Фиг. 8 иллюстрирует принципиальную блок-схему звукового кодера, который может декодировать звуковой сигнал, закодированный звуковым кодером по фиг. 1, согласно варианту осуществления настоящего изобретения;
Фиг. 9 иллюстрирует блок-схему последовательности операций режима функционирования декодера по фиг. 8 при вводе данных;
Фиг. 10 иллюстрирует блок-схему последовательности операций режима функционирования декодера по фиг. 8 в отношении буферизации предварительно декодированных квантованных и отфильтрованных звуковых данных и обработки звуковых блоков без соответствующей дополнительной информации;
Фиг. 11 иллюстрирует блок-схему последовательности операций режима функционирования декодера по фиг. 8 в отношении фактической обратной фильтрации;
Фиг. 12 иллюстрирует схематическое представление традиционной схемы звукового кодирования, имеющей небольшое время задержки; и
Фиг. 13 иллюстрирует схему, на которой показаны в качестве примера спектр звукового сигнала, порог его прослушивания и передаточная функция пост-фильтра в декодере.
Фиг. 1 иллюстрирует звуковой кодер согласно варианту осуществления настоящего изобретения. Звуковой кодер, который, в общем, указан цифрой 10, включает в себя ввод 12 данных, где он принимает звуковой сигнал, который должен быть закодирован, который, как подробнее описывается со ссылкой на фиг. 5a, состоит из последовательности звуковых значений или значений выборок, и вывод данных, где выводится кодированный сигнал, информационное содержимое которого подробнее описывается со ссылкой на фиг. 5b.
Звуковой кодер 10 по фиг. 1 делится на часть 16 уменьшения нерелевантности и часть 18 уменьшения избыточности. Часть 16 уменьшения нерелевантности включает в себя средство 20 определения порога прослушивания, средство 22 вычисления значения усиления, средство 24 вычисления параметризации, средство 26 сравнения узлов, квантователь 28 и параметризуемый предварительный фильтр 30 и входной FIFO- (первым-вошел-первым-вышел) буфер 32, буфер или запоминающее устройство 38 и умножитель или средство 40 умножения. Часть 18 уменьшения избыточности включает в себя средство сжатия (компрессор) 34 и контроллер 36 скорости передачи в битах.
Часть 16 уменьшения нерелевантности и часть 18 уменьшения избыточности соединены последовательно в этом порядке между вводом 12 данных и выводом 14 данных. В частности, ввод 12 данных соединен с вводом данных средства 20 определения порога прослушивания и вводом данных входного буфера 32. Вывод данных средства 20 определения порога прослушивания соединен с вводом средства 24 вычисления параметризации и вводом данных средства 22 вычисления значения усиления для того, чтобы передавать порог прослушивания, определенный для него. Средства 22 и 24 вычисляют параметризацию или значение усиления на основе порога прослушивания и соединены со средством 26 сравнения узлов для того, чтобы передавать эти результаты ему. В зависимости от результата сравнения средство 26 сравнения узлов, как описывается далее, передает результаты, вычисленные средством 22 и 24, в качестве входного параметра или параметризации параметризуемому предварительному фильтру 30. Параметризуемый предварительный фильтр 30 подключен между выводом данных входного буфера 32 и вводом данных буфера 38. Умножитель 40 подключен между выводом данных буфера 38 и квантователем 28. Квантователь 28 передает фильтрованные звуковые значения, которые могут быть умножены или масштабированы, но всегда квантуются, в часть 18 уменьшения избыточности, более точно, во ввод данных средства 34 сжатия. Средство 26 сравнения узлов передает информацию, из которой входные параметры, переданные параметризуемому предварительному фильтру 30, могут быть получены части 18 уменьшения избыточности, более точно, в другой ввод данных средства 34 сжатия. Контроллер скорости передачи в битах соединен с управляющим входом умножителя 40 посредством управляющего соединения для того, чтобы предоставлять квантованные фильтрованные звуковые значения, принимаемые из предварительного фильтра 30, которые должны быть умножены умножителем 40 на соответствующий сомножитель, что подробнее описывается ниже. Контроллер 36 скорости передачи в битах подключен между выводом данных средства 34 сжатия и выводом 14 данных звукового кодера 10 для того, чтобы определять сомножитель для умножителя 40 надлежащим способом. Когда каждое звуковое значение проходит через квантователь 40 в первый раз, сомножитель сначала задается равным надлежащему коэффициенту масштабирования, например, 1. Тем не менее, буфер 38 продолжает сохранение каждого фильтрованного звукового значения для того, чтобы дать возможность контроллеру 36 скорости передачи в битах, описываемому далее, изменения сомножителя для другой передачи блока звуковых значений. Если это изменение не указано контроллером 36 скорости передачи в битах, буфер 38 может очистить память, занимаемую этим блоком.
После того как настройка звукового кодера по фиг. 1 описана выше, далее описывается его режим функционирования со ссылкой на фиг. 2-7b.
Как можно видеть на фиг. 2, звуковой сигнал, когда достигает звукового входа 12, уже получен посредством дискретизации 50 звуковых сигналов из аналогового звукового сигнала. Дискретизация звуковых сигналов выполняется на заранее определенной частоте дискретизации, которая обычно составляет от 32 до 48 кГц. Следовательно, на вводе 12 данных присутствует звуковой сигнал, состоящий из последовательности выборок или звуковых значений. Хотя кодирование звукового сигнала не выполняется на основе блоков, как станет очевидно из последующего описания, звуковые значения на вводе 12 данных сначала объединяются для того, чтобы сформировать звуковые блоки на этапе 52. Объединение для того, чтобы формировать звуковые блоки, выполняется только для целей определения порога прослушивания, как станет очевидно из последующего описания, и выполняется на входном этапе средства 20 определения порога прослушивания. В настоящем варианте осуществления для примера предполагается, что 128 последовательных звуковых значений объединяются для того, чтобы сформировать звуковые блоки, и что объединение выполняется таким образом, чтобы, с одной стороны, последовательные блоки не перекрывались, а с другой стороны, являлись соседями друг друга. Это на примере вкратце описывается со ссылкой на фиг. 5a.
На фиг. 5a позиция 54 указывает последовательность значений выборок, при этом каждое значение выборки проиллюстрировано прямоугольником 56. Значения выборок нумеруются для целей иллюстрации, тогда как для ясности, в свою очередь, только некоторые значения выборок последовательности 54 показаны. Как указано фигурными скобками над последовательностью 54, 128 последовательных значений выборки объединяются для того, чтобы сформировать блок согласно настоящему варианту осуществления, в котором непосредственно последовательные 128 значений выборок формируют следующий блок. Только в качестве меры предосторожности следует указать, что объединение для того, чтобы сформировать блоки, также может быть выполнено по-иному, например, посредством перекрывающихся блоков или разнесенных блоков, имеющих другой размер блока, хотя размер блока в 128, в свою очередь, является предпочтительным, поскольку представляет оптимальный компромисс между высоким качеством звука, с одной стороны, и наименьшим возможным временем задержки, с другой стороны.
Тогда как звуковые блоки, объединенные в средстве 20 на этапе 52, поблочно обрабатываются в средстве 20 определения порога прослушивания, входящие звуковые значения буферизуются 54 во входном буфере 32 до тех пор, пока параметризуемый предварительный фильтр 30 не получит входные параметры из средства 26 сравнения узлов для того, чтобы выполнить предварительную фильтрацию, как описывается далее.
Как можно видеть из фиг. 3, средство 20 определения порога прослушивания начинает свою обработку сразу после того, как достаточно звуковых значений принято на входе 12 данных для того, чтобы сформировать звуковой блок или чтобы сформировать следующий звуковой блок, который средство 20 отслеживает посредством контроля на этапе 60. Если нет полностью обрабатываемого звукового блока, средство 20 подождет. Если полный звуковой блок, который должен быть обработан, присутствует, средство 20 определения порога прослушивания вычисляет порог прослушивания на этапе 62 на основе надлежащей психоакустической модели на этапе 62. Для иллюстрации порога прослушивания снова обратимся к фиг. 12 и, в частности, к графику b, полученному на основе психоакустической модели, например, в отношении текущего звукового блока со спектром a. Порог маскировки, который определен на этапе 62, - это частотно-зависимая функция, которая может варьироваться для последовательных звуковых блоков и также может значительно варьироваться от одного звукового сигнала к другому, например, от фрагментов рок-музыки до классической музыки. Порог прослушивания указывает для каждой частоты пороговое значение, ниже которого человеческий слух не может воспринимать помехи.
На следующем этапе 64 средство 24 и средство 22 вычисляют из вычисленного порога прослушивания M(f) (f показывает частоту) значение усиления или набор из N параметров x(i) (i=1,..., N). Параметризация x(i), которую средство 24 вычисляет на этапе 64, предусмотрена для параметризуемого предварительного фильтра 30, который, например, осуществлен в структуре адаптивного фильтра, которая используется в LPC-кодировании (LPC - линейное предиктивное кодирование). Например, пусть s(n), n=0,..., 127, - это 128 звуковых значений текущего звукового блока, а s' (n) - это результирующие фильтрованные 128 звуковых значений, тогда фильтр примерно реализован таким образом, чтобы применялось следующее уравнение:
где K - порядок фильтрации, at k, k = 1,..., K, - это коэффициенты фильтрации, а индекс t предназначен для того, чтобы проиллюстрировать то, что коэффициенты фильтрации изменяются в последовательных звуковых блоках. Средство 24 затем вычисляет параметризацию at k с тем, чтобы передаточная функция H(f) параметризуемого предварительного фильтра 30 примерно равнялась инверсии модуля порога маскировки M(f), т.е. так, чтобы применялось следующее:
при этом зависимость от t, в свою очередь, служит для того, чтобы проиллюстрировать, что порог маскировки M(f) меняется для различных звуковых блоков. При реализации предварительного фильтра 30 в качестве вышеупомянутого адаптивного фильтра коэффициенты фильтрации at k получаются следующим образом: обратное дискретное преобразование Фурье |M(f, t)|2 над частотой блока в момент времени t приводит к целевой функции автокорреляции rt mm(i). Затем at k получается посредством решения системы линейных уравнений:
Чтобы не возникало нестабильности между параметризациями при линейной интерполяции, подробнее описанной ниже, предпочтительно используется решетчатая структура для фильтра 30, при этом коэффициенты фильтрации для решеточной структуры повторно параметризируются для того, чтобы сформировать коэффициенты отражения. В отношении дополнительных подробностей структуры предварительного фильтра, вычисления коэффициентов и повторной параметризации делается ссылка на статью Schuller и др., упомянутую во введении описания, и в частности, на страницу 381, раздел III, которая содержится в данном документе по ссылке.
Тогда как последовательно средство 24 вычисляет параметризацию для параметризуемого предварительного фильтра 30 таким образом, что его передаточная функция равна инверсии порога маскировки, средство 22 вычисляет предел мощности шума на основе порога прослушивания, а именно предел, указывающий то, какую мощность шума квантователю 28 разрешено вводить в звуковой сигнал, отфильтрованный предварительным фильтром 30 для того, чтобы шум квантования в декодере был ниже порога прослушивания M(f) или точно равен ему после пост- и обратной фильтрации. Средство 22 вычисляет этот предел мощности шума как область ниже квадрата модуля порога прослушивания M, т.е. как Σ|M(f)|2. Средство 22 вычисляет значение a усиления из предела мощности шума посредством вычисления корня части мощности шума квантования, поделенной на предел мощности шума. Шум квантования - это шум, вызываемый квантователем 28. Шум, вызываемый квантователем 28 - это, как описано ниже, белый шум, и он, таким образом, является частотно-независимым. Мощность шума квантования - это мощность шума квантования.
Из вышеприведенного описания очевидно, что средство 22 также вычисляет предел мощности шума отдельно от значения усиления a. Хотя средство 26 сравнения узлов может повторно вычислить предел мощности шума из значения усиления a, полученного из средства 22, также средство 22 может передать определенный предел мощности шума средству 26 сравнения узлов отдельно от значения усиления a.
После вычисления значения усиления и параметризации средство 26 сравнения узлов проверяет на этапе 66, отличается ли только что вычисленная параметризация более чем на заранее заданный порог от текущей последней параметризации, переданной параметризуемому предварительному фильтру. Если проверка на этапе 66 имеет такой результат, что только что вычисленная параметризация отличается от текущей на более чем заранее определенный порог, только что вычисленные коэффициенты фильтрации и только что вычисленное значение усиления или предел мощности шума буферизуются в средстве 26 сравнения узлов для интерполяции, которая будет описана, и средство 26 сравнения узлов передает предварительному фильтру 30 коэффициенты фильтрации, только что вычисленные на этапе 68, и значение усиления, только что вычисленное на этапе 70. Тем не менее, если этого не происходит и только что вычисленная параметризация не отличается от текущей более чем на заранее определенный порог, средство 26 сравнения узлов передает предварительному фильтру 30 на этапе 72, вместо только что вычисленной параметризации, только параметризацию текущего узла, т.е. ту параметризацию, которая последняя привела к положительному результату на этапе 66, т.е. отличается от параметризации предыдущего узла более чем на заранее определенный порог. После этапов 70 и 72 процесс фиг. 3 возвращается к обработке следующего звукового блока, т.е. к запросу 60.
В случае, когда только что вычисленная параметризация не отличается от параметризации текущего узла и, следовательно, предварительный фильтр 30 на этапе 72 снова получает параметризацию узла, уже полученную для, по меньшей мере, последнего звукового блока, предварительный фильтр 30 применяет параметризацию этого узла ко всем значениям выборок этого звукового блока в FIFO 32, как подробнее описано ниже, т.е. то, как этот текущий блок получается из FIFO 32 и квантователь 28 принимает результирующий звуковой блок предварительно фильтрованных звуковых значений.
Фиг. 4 подробнее иллюстрирует режим работы параметризуемого предварительного фильтра 30 для случая, когда он принимает только что вычисленную параметризацию и только что вычисленное значение усиления, поскольку они существенно отличаются от параметризации текущего узла. Как описано со ссылкой на фиг. 3, нет обработки согласно фиг. 4 для каждого из последовательных звуковых блоков, а только для звуковых блоков, где соответствующая параметризация существенно отличалась от параметризации текущего узла. Другие звуковые блоки, как только что было описано, предварительно фильтруются посредством применения соответствующей параметризации текущего узла и связанного соответствующего текущего значения усиления ко всем значениям выборок этих звуковых блоков.
На этапе 80 параметризуемый предварительный фильтр 30 проверяет, была ли выполнена передача только что вычисленных коэффициентов фильтрации из средства 26 сравнения узлов или из более старых операций параметризации узлов. Предварительный фильтр 30 выполняет проверку 80 до тех пор, пока эта передача не осуществится.
Как только передача произошла, параметризуемый предварительный фильтр 30 начинает обработку текущего звукового блока звуковых значений только в буфере 32, т.е. в том, для которого только что была рассчитана параметризация. На фиг. 5a, например, проиллюстрировано, что все звуковые значения 56 перед звуковым значением с номером 0 уже обработаны и, таким образом, уже прошли запоминающее устройство 32. Обработка блоков звуковых значений до звукового значения с номером 0 инициирована, поскольку параметризация, вычисленная для звукового блока перед блоком 0, т.е. x0(i), отличалась от параметризации узла, переданной ранее в предварительный фильтр 30, более чем на заранее определенный порог. Таким образом, параметризация x0(i) - это параметризация узла, описанная в настоящем изобретении. Обработка звуковых значений в звуковом блоке перед звуковым значением 0 выполнена на основе набора параметров a0, x0(i).
На фиг. 5a предполагается, что вычислена параметризация для блока 0 со звуковыми значениями 0-127, отличавшаяся меньше чем на заранее определенный порог от параметризации x0(i), которая относилась к блоку впереди. Таким образом, этот блок 0 также получен из FIFO 32 посредством предварительного фильтра 30, в равной степени обработан в отношении всех значений выборок 0-127 посредством параметризации x0(i), примененной на этапе 72, как указано стрелкой 81, описанной как "прямое применение", и затем передан в квантователь 28.
Параметризация, вычисленная для блока 1, по-прежнему размещенного в FIFO 32, тем не менее, наоборот, отличается, согласно иллюстративному примеру фиг. 5a, на более чем заранее определенный порог от параметризации x0(i), и таким образом, передается на этапе 68 в предварительный фильтр 30 как параметризация x1(i) вместе со значением усиления a1 (этап 70) и, если применимо, связанный предел мощности шума, при этом индексы a и x на фиг. 5 должны быть индексом для узлов, которые используются в интерполяции, которая должна быть описана ниже, которая выполняется в отношении значений выборок 128-255 в блоке 1, обозначенная стрелкой 82 и реализованная посредством этапов после этапа 80 на фиг. 4. Таким образом, обработка на этапе 80 должна начаться с появления звукового блока с номером 1.
В момент времени, когда передан набор параметров a1, x1, только звуковые значения 128-255, т.е. текущий звуковой блок после последнего звукового блока 0, обработанного предварительным фильтром 30, находятся в запоминающем устройстве 32. После определения передачи параметров x1(i) узла на этапе 80 предварительный фильтр 30 определяет предел q1 мощности шума, соответствующий значению a1 усиления на этапе 84. Это может выполняться посредством средства 26 сравнения узлов, передающего это значение в предварительный фильтр 30, или посредством предварительного фильтра 30, повторно вычисляющего это значение, как описано выше со ссылкой на этап 64.
После этого индекс j инициализируется как значение выборки на этапе 86 для того, чтобы указывать на самое старое значение выборки, оставшееся в запоминающем устройстве 32 FIFO, или первое значение выборки текущего звукового блока "блок 1", т.е. в настоящем примере фиг. 5 значение выборки 128. На этапе 88 параметризуемый предварительный фильтр осуществляет интерполяцию между коэффициентами x0 и x1 фильтрации, при этом в данном случае параметризация x0 выступает в качестве узла, имеющего номер звукового значения 127 предыдущего блока 0, а параметризация x1 выступает в качестве узла, имеющего номер звукового значения 255 текущего блока 1. Эти позиции 127 и 255 звуковых значений далее упоминаются как узел 0 и узел 1, при этом операции параметризации узлов, относящиеся к узлам на фиг. 5a, указываются стрелками 90 и 92.
На этапе 88 параметризуемый предварительный фильтр 30 выполняет интерполяцию коэффициентов x0, x1 фильтрации между двумя узлами в виде линейной интерполяции для того, чтобы получить интерполированные коэффициенты фильтрации в позиции выборки j, т.е. x(tj) (i), i = 1,..., N.
После этого, т.е. на этапе 90 параметризуемый предварительный фильтр 30 выполняет интерполяцию между пределом мощности шума q1 и q0, чтобы получить интерполированный предел мощности шума в позиции j выборки, т.е. q(tj).
На этапе 92 параметризуемый предварительный фильтр 30 далее вычисляет значение усиления для позиции j выборки на основе интерполированного предела мощности шума и мощности шума квантования и предпочтительно также интерполированных коэффициентов фильтрации, т.е. например, в зависимости от корня в котором для этой ссылки сделано в описании этапа 64 фиг. 3.
На этапе 94 параметризуемый предварительный фильтр 30 затем применяет значение усиления, вычисленные и интерполированные коэффициенты фильтрации к значению выборки в позиции j выборки для того, чтобы получить фильтрованное значение выборки для этой позиции выборки, т.е. s'(tj).
На этапе 96 параметризуемый предварительный фильтр 30 в таком случае проверяет, достигла ли позиция j выборки текущего узла, т.е. узла 1, в случае фиг. 5a позиции 255 выборки, т.е. значения выборки, для которого параметризация, переданная параметризуемому предварительному фильтру 30, плюс значение усиления должны быть допустимыми напрямую, т.е. без интерполяции. Если это не так, параметризуемый предварительный фильтр 30 увеличит или прирастит индекс j на 1, при этом этапы 88-96 повторяются. Тем не менее, если проверка на этапе 96 является положительной, параметризуемый предварительный фильтр применяет на этапе 100 последнее значение усиления, переданное из средства 26 сравнения узлов и последние коэффициенты фильтрации, переданные от средства 26 сравнения узлов непосредственно без интерполяции для значения выборки в новом узле, посредством чего текущий блок, т.е. в данном случае блок 1, обработан, и процесс выполняется снова на этапе 80 в отношении следующего блока, который должен быть обработан, которым в зависимости от того, отличается ли параметризация следующего звукового блока, блока 2, в существенной степени от параметризации x1(i), может быть следующий звуковой блок, блок 2, или более дальний звуковой блок.
Перед дополнительной процедурой, когда будет описана обработка фильтрованных значений s' выборок со ссылкой на фиг. 5, далее описывается назначение и исходные данные процедуры фиг. 3 и 4. Назначение фильтрации - это фильтрация звукового сигнала на входе 12 с помощью адаптивного фильтра, передаточная функция которого непрерывно регулируется к инверсии порога прослушивания до наилучшей возможной степени, кот