КОДИРОВАНИЕ ИНФОРМАЦИОННОГО СИГНАЛА
DATA SIGNAL ENCODING

Настоящее изобретение относится к кодированию информационного сигнала, например кодированию аудио или видео.
Использование кодирования цифрового аудио в новых коммуникационных сетях, а также в профессиональных аудиопроизведениях для двунаправленного обмена в реальном времени, требует очень недорогого алгоритмического кодирования, а также очень короткой задержки кодирования. Типичный сценарий, где применение кодирования цифрового аудио становится критическим в смысле времени задержки, существует, когда прямые, то есть не кодированные, и передаваемые, то есть кодированные и декодированные, сигналы используются одновременно. Примерами, поэтому, является "живые" произведения, использующие беспроводные микрофоны и мгновенный (в ухе) контроль, или "разрозненные" произведения, где артисты играют одновременно в различных студиях. Допустимый полный период времени задержки в этих применениях составляет менее 10 мс. Если, например, асимметричные каналы участников используются для обмена, скорость передачи данных в битах является дополнительным ограничивающим фактором.
Алгоритмическая задержка стандартных кодеров аудио, таких как MPEG-1 3 (MP3), MPEG-2 AAC и MPEG-2/4 с малой задержкой, изменяется от 20 мс до нескольких сотен (100) мс, причем ссылка приводится, например, на статью M. Lutzky, G. Schuller, M. Gayer; U. Kraemer, S. Wabnik: "A guideline to audio codec delay", представленную на 116-м съезде AES, Берлин, май 2004. Кодеры речи оперируют при более низких скоростях передачи данных и с меньшей алгоритмической задержкой, но обеспечивают просто ограниченное аудиокачество.
Вышеописанный пробел между стандартными кодерами аудио с одной стороны и речевыми кодерами с другой стороны, например, закрывается посредством схемы кодирования, такой как описана в статье B. Edler, C. Faller and G. Schuller, "Perceptual Audio Coding Using a Time-Varying Linear Pre- and Postfilter", представленной на 109 съезде AES, Лос-Анджелес, сентябрь 2000, согласно которой сигнал, подлежащий кодированию, фильтруют с инверсией порога маскирования на стороне кодера и затем квантуют, чтобы выполнить сокращение неуместных данных, и квантованный сигнал подвергают статистическому кодированию для выполнения устранения избыточности, отдельного от сокращения неуместных данных, в то время как квантованный предварительно фильтрованный сигнал восстанавливают на стороне декодера и фильтруют в постфильтре с порогом маскирования в качестве функции передачи. Такая схема кодирования, ниже называемая схемой кодирования ULD, приводит к воспринимаемому качеству, которое может быть сравнено со стандартными кодерами аудио, например MP3, для скоростей передачи данных, приблизительно равных 80 кбит/сек на канал и выше. Кодер этого типа, например, описан также в WO 2005/078703 A1.
В частности, ULD кодеры, описанные здесь, используют психоакустически управляемые линейные фильтры для формирования шума квантования. Из-за своей структуры шум квантования всегда находится на заданном пороге, даже когда никакого сигнала нет в заданной частотной области. Шум остается неслышимым, пока он соответствует психоакустическому порогу маскирования. Для получения скорости передачи, которая является даже меньшей, чем скорость передачи данных, которая заранее определена этим порогом, шум квантования должен быть увеличен, что делает шум слышимым. В частности, шум становится слышимым в областях без частей сигнала. Примерами поэтому являются очень низкие и очень высокие звуковые частоты. Обычно имеются только части очень низких сигналов в этих областях, в то время как порог маскирования является высоким. Если порог маскирования увеличивается однородно по всей частотной области, шум квантования находится на увеличенном пороге, даже когда не имеется никакого сигнала, так что шум квантования становится слышимым как сигнал, который слышится паразитным. Основанные на поддиапазонах кодеры не имеют этой проблемы, так как они просто квантуют поддиапазоны, имеющие меньшие сигналы, чем порог, в нуль.
Вышеупомянутая проблема, которая имеет место, когда разрешенная скорость передачи данных падает ниже минимальной скорости передачи данных, которая не вызывает побочного шума квантования и которая определена порогом маскирования, не является единственной. Кроме того, ULD кодеры, описанные в вышеупомянутых ссылках, страдают от сложной процедуры получения постоянной скорости передачи данных, в частности, из-за того, что используется итеративный цикл, который нужно пройти, чтобы определить, для каждого блока выборки, значение коэффициента усиления, регулирующее размер шага деквантования (обратного квантования).
Задачей настоящего изобретения является обеспечение схемы кодирования информации, которая делает возможным разрешить короткое время задержки, типичное для типов ULD кодера, при низкой скорости передачи и все же обеспечить высокое качество кодирования.
Эта задача достигается устройствами по п. 1 или 24, способами по п. 44 или 45, а также кодером по п. 47 и декодером по п. 48.
Центральной идеей настоящего изобретения является обнаружение того, что чрезвычайно грубое квантование, превышающее меру, определенную порогом маскирования, сделано возможным без или только с очень небольшими потерями качества, с помощью не непосредственно квантования предварительно фильтрованного сигнала, но ошибки предсказания, полученной в соответствии с адаптивным предсказанием вперед предварительно фильтрованного сигнала. Из-за адаптивности вперед ошибка квантования не имеет отрицательного влияния на коэффициент предсказания.
Согласно другому варианту осуществления предварительно фильтрованный сигнал даже квантуется нелинейным способом или даже отсекается, то есть квантуется посредством функции квантования, которая отображает неквантованные значения ошибки предсказания на индексы квантования ступеней квантования, и чей ход (изменение) является более крутым ниже порога, чем выше порога. Таким образом, PSD (спектральная плотность мощности) шума, увеличенная относительно порога маскирования из-за низкой доступной скорости передачи данных, подстраивается к PSD сигнала, так что нарушение порога маскирования не имеет места в спектральных частях без части сигнала, что дополнительно улучшает качество прослушивания или поддерживает качество прослушивания соответственно, несмотря на уменьшающуюся доступную скорость передачи данных.
Согласно еще одному варианту осуществления настоящего изобретения квантование является равномерно квантованным или ограниченным соответственно посредством ограничения, а именно посредством квантования в ограниченное и фиксированное количество уровней квантования или ступеней соответственно. Посредством предсказания предварительно фильтрованного сигнала с помощью адаптивного предсказания вперед, грубое квантование не имеет отрицательного эффекта непосредственно на коэффициенты предсказания. Посредством квантования к фиксированному количеству уровней квантования предотвращение итерации для получения постоянной скорости передачи данных разрешается естественным образом.
Согласно другому варианту осуществления настоящего изобретения размер шага квантования или высота ступени соответственно между фиксированным количеством уровней квантования определяется адаптивным способом назад (в обратном направлении) от предыдущих индексов уровня квантования, полученных квантованием, так что, с одной стороны, несмотря на очень малое количество уровней квантования, лучшее или по меньшей мере наилучшее возможное квантование ошибки предсказания или остаточного сигнала соответственно может быть получено без необходимости подавать дополнительную побочную информацию к стороне декодера. С другой стороны, можно гарантировать, что ошибки передачи во время передачи квантованного остаточного сигнала к стороне декодера имеют только кратковременный эффект на сторону декодера с соответствующей конфигурацией адаптивной настройки размера шага назад (в обратном направлении).
Предпочтительные варианты осуществления изобретения описаны ниже со ссылками на сопроводительные чертежи. Они показывают:
фиг.1 - блок-схема кодера согласно варианту осуществления настоящего изобретения;
фиг.2, a, b являются графиками, показывающими примерно ход (изменение) спектра шума относительно порога маскирования и спектральную плотность мощности сигнала для случая кодера по п. 1 (график a) или для сравнительного случая кодера с адаптивным предсказанием назад предварительно фильтрованного сигнала и итеративную настройку размера шага поблочного квантования порога маскирования (график b) соответственно;
фиг.3, a, b, c являются графиками, показывающими в качестве примера плотность спектра мощности сигнала относительно спектральной плотности мощности ошибки или шума соответственно для различных величин отсечения или различных количеств уровней квантования соответственно для случая, когда, как в кодере согласно фиг.1, выполняется адаптивное предсказание вперед предварительно фильтрованного сигнала, но все еще выполняется итеративная настройка размера шага квантования;
фиг.4 - блок-схема структуры кодера коэффициентов в кодере согласно фиг.1 согласно варианту осуществления настоящего изобретения;
фиг.5 - блок-схема декодера для декодирования информационного сигнала, кодированного кодером согласно фиг.1 согласно варианту осуществления настоящего изобретения;
фиг.6 - блок-схема структуры кодеров коэффициентов в кодере согласно фиг.1 или декодере согласно фиг.5 согласно варианту осуществления настоящего изобретения;
фиг.7 - график для иллюстрирования результатов тестирования прослушивания;
фиг.8A-8C - графики примерных функций квантования, которые могут использоваться в средствах квантования и квантования/отсечения соответственно на фиг.1, 4, 5 и 6.
Прежде, чем варианты осуществления настоящего изобретения будут описаны более подробно со ссылками на чертежи, сначала для лучшего понимания преимуществ и принципов этих вариантов осуществления возможная реализация схемы кодирования ULD-типа описана в качестве сравнительного примера, на основе которого существенные преимущества и соображения, лежащие в основе последующих вариантов осуществления, которые в конце концов привели к этим вариантам осуществления, могут быть проиллюстрированы более ясно.
Как было описано во введении настоящего описания, имеется потребность в ULD версии для более низких скоростей передачи данных, например 64 кбит/сек, с сопоставимым воспринимаемым качеством, а также в более простой схеме получения постоянной скорости передачи данных, особенно для намеченных более низких скоростей передачи данных. Дополнительно, было бы выгодно, чтобы время восстановления после ошибки в передаче могло оставаться низким или на минимальном уровне.
Для устранения избыточности психоакустически предварительно обработанного сигнала, сравниваемый ULD кодер использует адаптивное предсказание назад по выборкам с замкнутым контуром. Это означает, что вычисление коэффициентов предсказания в кодере и декодере основано просто на прошлых или уже квантованных и восстановленных выборках сигнала. Для получения адаптации к сигналу или предварительно фильтрованному сигналу соответственно новый набор коэффициентов блока предсказания вычисляют снова для каждой выборки. Это приводит к тому преимуществу, что могут использоваться длинные блоки предсказания или формулы определения значений предсказания, то есть, в частности, блоки предсказания, имеющие большое количество коэффициентов блока предсказания, так как не имеется требования передавать коэффициенты блока предсказания от кодера к стороне декодера. С другой стороны, это означает, что квантованная ошибка предсказания должна быть передана к декодеру без потерь точности для получения коэффициентов предсказания, которые являются идентичными тем, что лежат в основе процесса кодирования. Иначе, предсказанные или «заявленные» значения соответственно в кодере и декодере могут не быть идентичными друг другу, что вызовет нестабильный процесс кодирования. Вместо этого, в сравниваемом ULD кодере требуется периодический сброс блока предсказания и на стороне кодера и стороне декодера, чтобы разрешить избирательный доступ к кодированному потоку битов, а также остановить распространение ошибок передачи. Однако периодические сбросы вызывают пики скорости передачи данных, что не представляет проблемы для канала с переменной скоростью передачи данных, но представляет проблемы для каналов с фиксированной скоростью передачи данных, где пики скорости передачи данных ограничивают нижний предел настройки постоянной скорости передачи данных.
Как следует из нижеследующего более подробного описания сравниваемой схемы кодирования ULD с вариантами осуществления настоящего изобретения, эти варианты осуществления отличаются от сравниваемой схемы кодирования использованием поблочного адаптивного предсказания вперед с адаптивной настройкой назад размера шага квантования вместо адаптивного предсказания по выборкам назад. С одной стороны, это имеет недостаток в том, что блоки предсказания должны быть короче, чтобы ограничить объем требуемой побочной информации для передачи требуемых коэффициентов предсказания к стороне кодера, что снова может приводить к уменьшенной эффективности кодера, но, с другой стороны, это имеет преимущество в том, что процедура согласно последующим вариантам осуществления все еще функционирует эффективно для более высоких ошибок квантования, которые являются результатом уменьшенных скоростей передачи данных, так, чтобы блок предсказания на стороне декодера мог использоваться для формирования шума квантования.
Как также следует из нижеследующего сравнения, по сравнению со сравниваемым ULD кодером скорость передачи данных является ограниченной посредством ограничения диапазона значений остатка предсказания перед передачей. Это приводит к формированию шума, модифицированного по сравнению со сравниваемой схемой кодирования ULD, и также ведет к различным и менее паразитным артефактам прослушивания. Далее, постоянная скорость передачи данных формируется без использования итеративных циклов. Далее, "сброс" неотъемлемо включен для каждого блока выборок как результат поблочной адаптации вперед. Дополнительно, в вариантах осуществления, описанных ниже, схема кодирования используется для коэффициентов предварительного фильтра и коэффициентов предсказания вперед, которое использует разностное кодирование с управлением адаптивным квантованием назад размером шага для LSF (линейных спектральных частот) представления этих коэффициентов. Эта схема обеспечивает поблочный доступ к этим коэффициентам, генерирует постоянную скорость передачи данных побочной информации и, помимо этого, является устойчивой к ошибкам в передаче, как описано ниже.
Ниже, сравниваемая структура ULD кодера и декодера описана более подробно с последующим описанием вариантов осуществления настоящего изобретения и иллюстрации его преимуществ при передаче от более высоких постоянных скоростей передачи данных к более низким скоростям передачи данных.
В сравниваемой схеме кодирования ULD входной сигнал кодера анализируется на стороне кодера перцепционной моделью или моделью прослушивания соответственно для получения информации относительно перцепционно нерелевантных частей сигнала. Эта информация используется для управления предварительным фильтром посредством изменяющихся во времени коэффициентов фильтра. Посредством этого предварительный фильтр нормализует входной сигнал в отношении его порога маскирования. Коэффициенты фильтра вычисляют однократно для каждого блока из 128 выборок каждый, квантованных и переданных к стороне кодера в качестве побочной информации.
После перемножения предварительно фильтрованного сигнала с коэффициентом усиления, посредством вычитания адаптивно предсказанного назад сигнала, ошибка предсказания квантуется с помощью однородного блока квантования, то есть блока квантования с однородным размером шага. Как упомянуто выше, предсказанный сигнал получают с помощью адаптивного предсказания назад по выборкам с замкнутым контуром. Соответственно, передачи коэффициентов предсказания к декодеру не требуется. Затем квантованный остаточный сигнал предсказания подвергается статистическому кодированию. Для получения постоянной скорости передачи данных обеспечивается контур, который повторяет этапы перемножения, предсказания, квантования и статистического кодирования несколько раз для каждого блока предварительно фильтрованных выборок. После итерации определяют самый высокий коэффициент усиления из набора заранее определенных значений усиления, который все еще удовлетворяет условию постоянной скорости передачи данных. Это значение усиления передают к декодеру. Если, однако, определено значение усиления меньшее чем единица, шум квантования является заметным после декодирования, то есть его спектр имеет форму подобную порогу маскирования, но его полная мощность выше, чем заранее определенная с помощью модели предсказания. Для частей спектра входного сигнала шум квантования может даже стать выше, чем спектр самого входного сигнала, что опять генерирует слышимые артефакты в частях спектра, где в ином случае никакой звуковой сигнал не присутствует из-за использования прогнозирующего кодера. Эти эффекты, вызванные шумом квантования, представляют собой ограничивающий фактор, когда более низкие постоянные скорости передачи данных представляют интерес.
Продолжая описание сравниваемой схемы ULD, коэффициенты предварительного фильтра просто передаются как внутрикадровые LSF-разности, и также только как только они превышают некоторый предел. Во избежание распространения ошибки передачи в течение неограниченного периода система время от времени сбрасывается. Дополнительные методы могут использоваться для минимизации снижения восприятия декодированного сигнала в случае ошибок передачи. Схема передачи генерирует переменную скорость передачи данных побочной информации, которая является многоуровневой в описанном выше контуре цикле посредством регулировки вышеупомянутого коэффициента усиления соответствующим образом.
Статистическое кодирование квантованного остаточного сигнала предсказания в случае сравниваемого ULD кодера содержит способы, типа Голомба (Golomb), Хаффмана, или способ арифметического кодирования. Статистическое кодирование должно быть сброшено время от времени и формирует неотъемлемо переменную скорость передачи данных, которая снова является многоуровневой из-за вышеупомянутого контура.
В случае сравниваемой схемы кодирования ULD, квантованный остаточный сигнал предсказания в декодере получают из статистического кодирования, после чего остаток предсказания и предсказанный сигнал суммируют, сумму умножают на инверсию переданного коэффициента усиления, и из нее формируют восстановленный выходной сигнал посредством постфильтра, имеющего частотную характеристику, инверсную таковой предварительного фильтра, при этом постфильтр использует переданные коэффициенты предварительного фильтра.
Сравниваемый ULD кодер описанного выше типа получает, например, общую задержку кодера/декодера от 5,33 до 8 мс при частотах выборок 32 кГц - 48 кГц. Без (ложного контура) итерации он формирует скорости передачи данных в диапазоне от 80 до 96 кбит/сек. Как описано выше, при более низких постоянных скоростях передачи данных качество прослушивания уменьшается в этом кодере из-за однородного увеличения спектра шума. Дополнительно, из-за итераций затраты для получения однородной скорости передачи данных являются высокими. Варианты осуществления, описанные ниже, преодолевают или минимизируют эти недостатки. При постоянной скорости передачи данных схема кодирования согласно вариантам осуществления, описанным ниже, вызывает формирование ошибки квантования с меняющимся шумом и не требует никакой итерации. Более точно, в вышеописанной сравниваемой схеме кодирования ULD в случае постоянной скорости передачи данных в итеративном процессе определяют множитель, с помощью которого сигнал, приходящий из предварительного фильтра, умножается до квантования, причем шум квантования является спектрально белым, что приводит к шуму квантования в декодере, который имеет форму, подобную порогу прослушивания, но который находится немного ниже или немного выше порога прослушивания, в зависимости от выбранного множителя, который может, как описано выше, также интерпретироваться как сдвиг определенного порога прослушивания. В связи с этим, шум квантования происходит после декодирования, чья мощность в отдельных частотных областях может даже превышать мощность входного сигнала в соответствующей частотной области. Результирующие артефакты кодирования являются ясно слышимыми. Варианты осуществления, описанные ниже, формируют шум квантования таким, что его спектральная плотность мощности больше не является спектрально белой. Грубое квантование/ограничение или отсечение соответственно сигнала предварительного фильтра скорее формируют результирующий шум квантования, подобный к спектральной плотности мощности сигнала предварительного фильтра. Таким образом, шум квантования в декодере формируется так, что он остается ниже спектральной плотности мощности входного сигнала. Это может интерпретироваться как искажение определенного порога прослушивания. Результирующие артефакты кодирования являются менее паразитными, чем в сравниваемой схеме кодирования ULD. Далее, последующие варианты осуществления не требуют итеративного процесса, что уменьшает сложность.
Так как посредством описания вышеприведенной сравниваемой схемы кодирования ULD было обеспечено достаточное основание для привлечения внимания к основным преимуществам и соображениям нижеследующих вариантов осуществления для описания этих вариантов осуществления, сначала ниже описана структура кодера согласно варианту осуществления настоящего изобретения.
Кодер согласно фиг.1, в целом обозначаемый 10, содержит вход 12 для информационного сигнала, который подлежит кодированию, а также выход 14 для кодированного информационного сигнала, причем в качестве примера ниже принимается, что он является аудиосигналом, и в качестве примера, в частности, уже дискретизированным аудиосигналом, хотя осуществление выборки в кодере после входа 12 также возможно. Выборки входящего выходного сигнала обозначены на фиг.1 как x(n).
Как показано на фиг.1, кодер 10 может быть разделен на средство 16 определения порога маскирования, средство 18 предварительного фильтра, средство 20 прогнозирующего предсказания вперед и средство 22 квантования/отсечения, а также средство 24 генерирования потока битов. Средство 16 определения порога маскирования работает согласно перцепционной модели или модели прослушивания соответственно для определения представления порога маскирования или прослушивания соответственно аудиосигнала, приходящего на вход 12, с помощью использования перцепционной модели, которая указывает часть аудиосигнала, которая является нерелевантной в отношении восприимчивости или слышимости, соответственно, или представляет спектральный порог для частоты, при которой спектральная энергия остается неслышимой из-за психоакустических эффектов охвата или не воспринимается людьми соответственно. Как описано ниже, средство 16 определения определяет порог маскирования поблочно, то есть оно определяет порог маскирования для каждого блока последующих блоков выборок аудиосигнала. Другие процедуры также возможны. Представление порога маскирования, как оно выдается из средства 16 определения, может, вопреки последующему описанию, в частности, со ссылками на фиг.4, также быть представлением в виде спектральных выборок спектрального порога маскирования.
Предварительный фильтр или средство 18 предварительной оценки подсоединено как к средству 16 определения порога маскирования, так и входу 12 и фильтрует выходной сигнал для его нормализации в отношении порога маскирования для получения предварительно фильтрованного сигнала f(n). Средство 18 предварительного фильтра основано, например, на линейном фильтре и реализуется для того, чтобы настраивать коэффициенты фильтра в зависимости от представления порога маскирования, выданного средством 16 определения порога маскирования, так что функция передачи линейного фильтра соответствует по существу инверсии порога маскирования. Настройка коэффициентов фильтра может быть выполнена поблочно, наполовину поблочно, например, в случае, описанном ниже, для блоков, накладывающихся наполовину при определении порога маскирования, или для каждой выборки, например, посредством интерполяции коэффициентов фильтра, полученных посредством поблочно определенных представлений порога маскирования, или посредством коэффициентов фильтра, полученных из него через межблочные промежутки.
c
Средство 20 предсказания вперед подсоединено к средству 18 предварительного фильтра для того, чтобы подвергнуть выборки f(n) предварительно фильтрованного сигнала, которые адаптивно отфильтрованы во временной области с использованием психоакустического порога маскирования, адаптивному предсказанию вперед для получения предсказанного сигнала (n), остаточного сигнала r(n), представляющего ошибки предсказания для предварительно фильтрованного сигнала f(n), и представления коэффициентов фильтра предсказания, на основании которых предсказанный сигнал может быть восстановлен. В частности, средство 20 адаптивного предсказания вперед реализовано для того, чтобы определить представление коэффициентов фильтра предсказания немедленно из предварительно фильтрованного сигнала f и не только на основании последующего квантования остаточного сигнала r. Хотя, как описано более подробно ниже со ссылками на фиг.4, коэффициенты фильтра предсказания представлены в области LFS, в частности в форме остатка предсказания LFS, также возможны другие представления, например промежуточное представление в форме коэффициентов линейного фильтра. Дополнительно, средство 20 выполняет определение коэффициента фильтра предсказания согласно последующему описанию, например, поблочно, то есть для каждого блока в последующем блоке выборок f(n) предварительно фильтрованного сигнала, при этом, однако, также возможны другие процедуры. Средство 20 также реализуется, чтобы определить предсказанный сигнал  с помощью этих определенных коэффициентов фильтра предсказания, и вычесть его из предварительно фильтрованного сигнала f, причем определение предсказанного сигнала выполняется, например, с помощью линейного фильтра, чьи коэффициенты фильтра настроены согласно адаптивно определенным вперед представлениям коэффициентов предсказания. Остаточный сигнал, доступный на стороне декодера, то есть квантованный и отсеченный остаточный сигнал i(n), суммированный с ранее выданными значениями выходного сигнала фильтра, может служить в качестве входного сигнала фильтра, как описано ниже более подробно.
c
Средство 22 квантования/отсечения подсоединено к средству 20 предсказания для квантования или отсечения соответственно остаточного сигнала с помощью функции квантования, отображающей значения r(n) остаточного сигнала на постоянное и ограниченное количество уровней квантования, и для передачи квантованного остаточного сигнала, полученного этим способом, в форме индексов квантования i(n), как уже было упомянуто, к средству 20 адаптивного предсказания вперед.
c
Квантованный остаточный сигнал i(n), представление коэффициентов предсказания, определенные средством 20, а также представление порога маскирования, определенное средством 16, составляют информацию, подаваемую к стороне декодера посредством кодированного сигнала 14, в котором, поэтому, средство 24 генерирования потока битов обеспечивается, например, на фиг.1 для объединения информации согласно последовательному потоку битов или пакетной передаче, возможно, используя дальнейшее кодирование без потерь.
c
c
c
Перед описанием более подробно структуры кодера фиг.1, режим работы кодера 1 описан ниже на основании вышеупомянутой структуры кодера 10. Посредством фильтрации аудиосигнала средством 18 предварительного фильтра с функцией передачи, соответствующей инверсии порога маскирования, получают предварительно фильтрованный сигнал f(n), который получает спектральную плотность мощности ошибки равномерным квантованием, которое главным образом соответствует белому шуму, и может привести к спектру шума, подобному порогу маскирования, посредством фильтрации в постфильтре на стороне декодера. Однако сначала остаточный сигнал f уменьшается до ошибки предсказания r средством 20 адаптивного предсказания вперед с помощью вычитания адаптивно предсказанного вперед сигнала f. Последующее грубое квантование этой ошибки предсказания r средством 22 квантования/отсечения не оказывает влияния на коэффициенты предсказания средства 20 предсказания ни на стороне кодера, ни на стороне декодера, так как вычисление коэффициентов предсказания выполняют адаптивным способом вперед, и таким образом основано на не квантованных значениях f(n). Квантование не только выполнено грубым способом, в том смысле, что используется большой (грубый) размер шага квантования, но также выполнено грубым способом в том смысле, что равномерное квантование выполняется только к постоянному и ограниченному количеству уровней квантования, так что для представления каждого квантованного остаточного сигнала i(n) или каждого индекса квантования в кодированном аудиосигнале 14 требуется только фиксированное количество битов, что разрешает неотъемлемо постоянную скорость передачи данных в отношении остаточных значений i(n). Как описано ниже, квантование выполняют главным образом посредством квантования до равноудаленных уровней квантования фиксированного количества, и ниже в качестве примера - до количества просто трех уровней квантования, при этом квантование выполняют, например, так что не квантованное остаточное значение сигнала r(n) квантуется к следующему уровню квантования для получения индекса квантования i(n), соответствующего уровню квантования для него. Чрезвычайно высокие и чрезвычайно низкие значения не квантованного остаточного сигнала r(n) таким образом отображаются на соответствующий самый высокий или самый низкий, соответственно, уровень квантования или соответствующий индекс уровня квантования, соответственно, даже когда они могли бы быть отображены на более высокий уровень квантования при равномерном квантовании с тем же самым размером шага. До этой степени остаточный сигнал r также "отсекается" или ограничивается, соответственно, средством 22. Однако последнее имеет тот эффект, как описано ниже, что PSD ошибки (PSD = спектральная плотность мощности) предварительно фильтрованного сигнала больше не является белым шумом, а аппроксимируется к PSD сигнала предварительно фильтрованного сигнала в зависимости от степени отсечения. На стороне декодера это имеет тот эффект, что PSD шума остается ниже PSD сигнала даже при скоростях передачи данных, которые являются более низкими, чем определенные заранее с помощью порога маскирования.
Ниже структура кодера на фиг.1 описана более подробно. В частности, средство 16 определения порога маскирования содержит блок определения порога маскирования, или перцепционную модель 26, соответственно, работающий согласно перцепционной модели, модуль 28 вычисления коэффициентов предварительного фильтра и кодер 30 коэффициентов, которые подсоединены в названном порядке между входом 12 и средством 18 предварительного фильтра, а также генератором 24 потока битов. Средство 18 предварительного фильтра содержит декодер 32 коэффициентов, чей вход соединен с выходом кодера 30 коэффициентов, а также предварительный фильтр 34, которым является, например, адаптивный линейный фильтр, и который связан своим входом данных с входом 12 и своим выходом данных со средством 20, в то время как его вход адаптации для адаптации коэффициентов фильтра связан с выходом декодера 32 коэффициентов. Средство 20 предсказания содержит модуль 36 вычисления коэффициентов предсказания, кодер 38 коэффициентов, декодер 40 коэффициентов, блок вычитания 42, фильтр 44 предсказания, элемент 46 задержки, дополнительный сумматор 48 и деквантователь 50. Модуль 36 вычисления коэффициентов предсказания и кодер 38 коэффициентов соединены последовательно в этом порядке между выходом предварительного фильтра 34 и входом декодера 40 коэффициентов или дополнительного входа генератора 24 потока битов соответственно и взаимодействуют для определения представления коэффициентов предсказания поблочно адаптивным способом вперед. Декодер 40 коэффициентов включен между кодером 38 коэффициентов и фильтром 44 предсказания, которым является, например, фильтр с линейным предсказанием. Кроме входа коэффициента предсказания, соединенного с декодером 40 коэффициентов, фильтр 44 содержит вход данных и выход данных, с которыми он соединен в замкнутом контуре, который содержит, кроме фильтра 44, сумматор 48 и элемент 46 задержки. В частности, элемент 46 задержки включен между сумматором 48 и фильтром 44, в то время как выход данных фильтра 44 соединен с первым входом сумматора 48. Помимо этого, выход данных фильтра 44 также соединен с инвертирующим входом блока вычитания 42. Не инвертирующий вход блока вычитания 42 соединен с выходом предварительного фильтра 34, в то время как второй вход сумматора 48 соединен с выходом деквантователя 50. Вход данных деквантователя 50 соединен со средством 22 квантования/отсечения, а также с входом управления размером шага деквантователя 50. Средство 22 квантования/отсечения содержит модуль 52 квантователя, а также блок 54 адаптации размера шага, причем снова модуль 52 квантования состоит из однородного квантователя 56 с однородным и управляемым размером шага и ограничителем 58, которые соединены последовательно в названном порядке между выходом блока вычитания 42 и дополнительным входом генератора 24 потока битов, и, при этом, снова, блок 54 адаптации размера шага содержит модуль 60 адаптации размера шага и элемент 62 задержки, которые соединены последовательно в названном порядке между выходом ограничителя 58 и входом управления размером шага квантователя 56. Дополнительно, выход ограничителя 58 соединен со входом данных деквантователя 50, причем вход управления размером шага деквантователя 50 также соединен с блоком 60 адаптации размера шага. На выходе генератора 24 потока битов, снова, формируют выходной сигнал 14 кодера 10.
После того как подробная структура кодера согласно фиг.1 была выше описана подробно, его режим работы описан ниже. Модуль 26 перцепционной модели определяет или оценивает, соответственно, порог маскирования поблочно из аудиосигнала. Поэтому модуль 26 перцепционной модели использует, например, DFT (дискретное преобразование Фурье, ДПФ) длиной 256, то есть длину блока в 256 выборок x(n) с 50% перекрытием между блоками, что приводит к задержке кодера 10, равной 128 выборкам аудиосигнала. Оценка порога маскирования, выводимая модулем 26 перцепционной модели, например, представлена в форме спектральных выборок в диапазонах барк-шкалы или линейной шкале частот. Порог маскирования, выдаваемый модулем 26 перцепционной модели для каждого блока, используется в модуле 24 вычисления коэффициентов для вычисления коэффициентов фильтра заранее определенного фильтра, а именно фильтра 34. Коэффициенты, вычисленные модулем 28, могут быть, например, LPC коэффициентами, которые моделируют порог маскирования. Коэффициенты предварительного фильтра для каждого блока снова кодируются кодером 30 коэффициентов, который описан более подробно со ссылками на фиг.4. Декодер 32 коэффициентов декодирует кодированные коэффициенты предварительного фильтра для извлечения коэффициентов предварительного фильтра модуля 28, при этом предварительный фильтр 34 снова получает эти параметры или коэффициенты предварительного фильтра соответственно и использует их так, что это нормализует входной сигнал x(n) по отношению к его порогу маскирования или фильтрует его с функцией передачи соответственно, которая по существу соответствует инверсии порога маскирования. По сравнению с входным сигналом, результирующий предварительно фильтрованный сигнал f(n) является значительно меньшим по объему.
i
В модуле 36 вычисления коэффициентов предсказания выборки f(n) предварительно фильтрованного сигнала обрабатывают поблочно, причем поблочное разделение может соответствовать примерно одному аудиосигналу 12, полученному посредством модуля 26 перцепционной модели, но не должно делать этого. Для каждого блока предварительно фильтрованных выборок модуль 36 вычисления коэффициентов вычисляет коэффициенты предсказания для использования в фильтре 44 предсказания. Поэтому модуль 36 вычисления коэффициентов выполняет, например, LPC (LPC = кодирование с линейным предсказанием), анализ для каждого блока предварительно фильтрованного сигнала для получения коэффициентов предсказания. Кодер 38 коэффициентов кодирует затем коэффициенты предсказания аналогично кодеру 30 коэффициентов, как описано более подробно ниже, и выдает это представление коэффициентов предсказания на генератор 24 потока битов и, в частности, на декодер 40 коэффициентов, причем последний использует полученное представление коэффициентов предсказания для подачи коэффициентов предсказания, полученных при LPC-анализе модулем 36 вычисления коэффициентов, к линейному фильтру 44, так чтобы блок предсказания с замкнутым контуром, состоящий из замкнутого контура с фильтром 44, элементом 46 задержки и сумматором 48, формировал предсказанный сигнал (n), который снова вычитается из предварительно фильтрованного сигнала f(n) блоком вычитания 42. Линейный фильтр 44 является, например, фильтром с линейным предсказанием типа А(z) = длины N, причем декодер 40 коэффициентов настраивает значения a в зависимости от коэффициентов предсказания, вычисленных модулем 36 вычисления коэффициентов, то есть веса, с которыми предыдущие предсказанные значения (n) плюс деквантованные значения остаточного сигнала являются взвешенными, а затем суммирует для получения нового или текущего, соответственно, предсказанного значения .
с
c
c
Остаток предсказания r(n), полученный блоком вычитания 42, подвергается однородному квантованию, то есть квантованию с размером шага равномерного квантования, в квантователе 56, при этом размер шага Δ(n) является переменным во времени и вычисляется или определяется, соответственно, модулем адаптации размера шага адаптивным способом назад, то есть от квантованных остаточных значений к предыдущим остаточным значениям r (m<n). Более точно, однородный квантователь 56 выдает квантованное остаточное значение q(n) для каждого остаточного значения r(n), что может быть выражено как q(n) = i(n)•Δ(n) и может быть названо как предварительный шаг квантования с индексом. Предварительный индекс i(n) квантования снова отсекается ограничителем 58 до количества C = [-c; c], где C - постоянная,  {1, 2,...}. В частности, ограничитель 58 реализован так, что все значения предварительного индекса i(n) с |i(n)|> являются установленными в любое из -c или c, в зависимости от того, какое значение ближе. Просто отсеченная или ограниченная, соответственно, последовательность индексов, или ряд i(n), выводится ограничителем 58 на генератор 24 потока битов, деквантователь 50 и блок 54 адаптации размера шага или элемент 62 задержки соответственно, так как элемент 62 задержки, а также все другие элементы задержки в существующих вариантах осуществления задерживают входящие значения на одну выборку.
c
c
c
с
0
c
c
1
c
c
0
1
Затем адаптивное управление размером шага назад реализуется посредством блока 54 адаптации размера шага, в котором он использует прошлые значения последовательности индексов i(n), задержанные элементом 62 задержки для постоянного адаптирования размера шага Δ(n) так, что область, ограниченная ограничителем 58, то есть область, установленная "разрешенными" индексами квантования или соответствующими уровнями квантования соответственно, помещается так в статистическую вероятность возникновения неквантованных остаточных значений r(n), что разрешенные уровни квантования имеют место настолько однородно, насколько возможно в сформированном отсеченном потоке i(n) последовательности индексов квантования. В частности, модуль 60 адаптации размера шага вычисляет, например, текущий размер шага Δ(n), например, используя два непосредственно предшествующих отсеченных индекса квантования i(n-1) и i(n-2), а также непосредственно предшествующее определенное значение размера шага Δ(n-1) к Δ(n) = βΔ(n-1) + δ(n), где β [0.0; 1.0], δ(n) = δ для |i(n-1) + i(n-2)| ≤ I и δ(n) = δ для |i(n-1) + i(n-2)| > I, причем δ, δи I - соответствующим образом настроенные константы, так же как и β.
c
c
c
c
Как описано более подробно ниже со ссылками на фиг.5, декодер использует полученную последовательность индексов i(n) квантования и последовательность Δ(n) размеров шага, которую также вычисляют адаптивным способом назад для восстановления деквантованной последовательности остаточных значений q(n), посредством вычисления i(n)•Δ(n), что также выполняется в кодере 10 согласно фиг.1, а именно деквантователем 50 в средстве 20 предсказания. Как и на стороне декодера, последовательность остаточных значений q(n), созданная этим способом, подвергается суммированию с предсказанными значениями (n) способом "для каждой выборки", при котором суммирование выполняют в кодере 10 с помощью сумматора 48. Хотя восстановленный или деквантованный, соответственно, предварительно фильтрованный сигнал, полученный эти способом, больше не используется в кодере 10, за исключением вычисления последующих предсказанных значений (n), постфильтр генерирует декодированную последовательность y(n) аудиовыборок из него на стороне декодера, что отменяет нормализацию посредством предварительного фильтра 34.
c
2
Шум квантования, введенный в последовательность q(n) индексов квантования, больше не является белым из-за отсечения. Вместо этого, его спектральная форма копирует таковую предварительно фильтрованного сигнала. Для иллюстрации этого, ссылка кратко делается на фиг.3, которая показывает на графиках a, b и c PSD предварительно фильтрованного сигнала (верхний график) и PSD ошибки квантования (соответствующий нижний график) для различных количеств уровней квантования или ступеней соответственно, а именно для C = [-15; 15] на графике a, для диапазона ограничителя [-7, -7] на графике b и диапазоне отсечения [-1; 1] на графике c. По причинам ясности должно быть также отмечено, что PSD-кривые для PSD ошибок на графиках A-C каждая нанесена на график со смещением -10 дБ. Как можно видеть, предварительно фильтрованный сигнал соответствует цветовому шуму с мощностью от σ = 34. При квантовании с размером шага Δ = 1, сигнал находится в пределах [-21; 21], то есть выборки предварительно фильтрованного сигнала имеют распределение положения или формируют гистограмму соответственно, которая находится в пределах этой области. Для графиков a-c на фиг.3 диапазон квантования ограничен, как упомянуто выше, до [-15; 15] в a), [-7; 7] в b) и [-1; 1] в c). Ошибка квантования была измерена как разность между не квантованным предварительно фильтрованным сигналом и декодированным предварительно фильтрованным сигналом. Как можно видеть, шум квантования добавляется к предварительно фильтрованному сигналу посредством увеличения отсечения или с увеличивающимся ограничением количества уровней квантования, которое копирует PSD предварительно фильтрованного сигнала, при этом степень копирования зависит от жесткости или расширения соответственно, применяемого отсечения. Следовательно, после постфильтрации спектр шума квантования на стороне декодера копирует больше PSD входного сигнала аудио. Это означает, что шум квантования остается ниже спектра сигнала после декодирования. Этот эффект иллюстрирован на фиг.2, которая показывает на графике a, для случая адаптивного предсказания назад, то есть предсказания согласно вышеописанной сравниваемой ULD схеме, и на графике b, для случая адаптивного предсказания вперед с применяемым отсечением согласно фиг.1, соответственно три кривые в нормированной частотной области, а именно сверху вниз, PSD сигнала, то есть PSD аудиосигнала, PSD ошибки квантования или шум квантования после декодирования (сплошная линия) и порог маскирования (пунктир). Как можно видеть, шум квантования для сравниваемого ULD кодера (фиг.2,a) формируется подобно порогу маскирования и превышает спектр сигнала для частей сигнала. Эффект адаптивного предсказания вперед предварительно фильтрованного сигнала, скомбинированного с последующим отсечением или ограничением соответственно, количества уровней квантования, теперь ясно проиллюстрирован на фиг.2,b, где можно видеть, что шум квантования всегда ниже, чем спектр сигнала, и его форма представляет смесь спектра сигнала и порога маскирования. В тестах прослушивания было выяснено, что артефакты кодирования согласно фиг.2,b являются менее паразитными, то есть воспринятое качество прослушивания лучше.
c
Вышеупомянутое описание режима работы кодера фиг.1 было сконцентрировано на постобработке предварительно фильтрованного сигнала f(n) для получения отсеченных индексов квантования i(n), подлежащих передаче к стороне декодера. Так как они исходят из количества с постоянным и ограниченным количеством индексов, они могут быть каждый представлены одним и тем же количеством битов в пределах кодированного потока данных на выходе 14. Поэтому генератор 24 потока битов использует, например, инъективное отображение индексов квантования на m битовых слов, которые могут быть представлены заранее определенным количеством битов m.
Нижеследующее описание описывает передачу коэффициентов предварительного фильтра или коэффициентов предсказания, соответственно вычисленных модулями 28 и 36 вычисления коэффициентов, к стороне декодера, то есть, в частности, относится к варианту осуществления для структуры кодеров 30 и 38 коэффициентов.
Как показано, кодеры коэффициентов согласно варианту осуществления на фиг.4 содержат модуль 102 преобразования LSF, первый блок 104 вычитания, второй блок 106 вычитания, однородный квантователь 108 с однородным и корректируемым размером шага квантования, ограничитель 110, деквантователь 112, третий сумматор 114, два элемента 116 и 118 задержки, фильтр 120 предсказания с фиксированными коэффициентами фильтра или постоянными коэффициентами фильтра соответственно, а также модуль 122 адаптации размера шага. Коэффициенты фильтра, которые должны быть кодированы, приходят на вход 124, причем выход 126 обеспечивается для выдачи кодированного представления.
c
Вход модуля 102 преобразования LSF непосредственно следует за входом 124. Блок 104 вычитания с его неинвертирующим входом и своим выходом включен между выходом модуля 102 преобразования LSF и первым входом блока 106 вычитания, при этом константа l подается на вход блока 104 вычитания. Блок 106 вычитания включен со своим неинвертирующим входом и своим выходом между первым блоком 104 вычитания и квантователем 108, при этом его инвертирующий вход подсоединен к выходу фильтра 120 предсказания. Вместе с элементом 118 задержки и сумматором 114 фильтр 120 предсказания формирует блок предсказания с замкнутым контуром, при этом он включен последовательно в контур с обратной связью так, что элемент 118 задержки включен между выходом сумматора 114 и входом фильтра 120 предсказания, и выход фильтра 120 предсказания соединен с первым входом сумматора 114. Остальная структура соответствует снова главным образом таковым из средства 22 кодера 10, то есть квантователь 108 включен между выходом блока 106 вычитания и входом ограничителя 110, чей выход снова соединен с выходом 126, входом элемента 116 задержки и входом деквантователя 112. Выход элемента 116 задержки соединен со входом модуля 122 адаптации размера шага, которые таким образом формируют вместе блок адаптации размера шага. Выход модуля 122 адаптации размера шага подсоединен к входам управления размера шага квантователя 108 и деквантователя 112. Выход деквантователя 112 соединен со вторым входом сумматора 114.
c
c
d
d
e
e
0
1
e
l
e
d
d
d
После того как структура кодера коэффициентов была описана выше, его режим работы описан ниже, при этом ссылки сделаны снова к фиг.1. Передачу как предварительных фильтров, так и предсказания или коэффициентов предсказания, соответственно, или их кодирование, соответственно, выполняют, используя схему кодирования постоянной скорости передачи данных, которая реализована структурой согласно фиг.4. Затем, в модуле 102 преобразования LSF коэффициенты фильтра, то есть коэффициенты предварительного фильтра или коэффициенты предсказания, соответственно, сначала преобразуют в значения l(n) LSF или передают в LSF область соответственно. Каждая спектральная линейная частота l(n) затем обрабатывается остальными элементами на фиг.4 следующим образом. Это означает, что нижеследующее описание относится к просто одной спектральной линейной частоте, при этом обработка, конечно, выполняется для всех спектральных линейных частот. Например, модуль 102 формирует значения LSF для каждого набора коэффициентов предварительного фильтра, представляющих порог маскирования, или блока коэффициентов предсказания, предсказывающих предварительно фильтрованный сигнал. Блок 104 вычитания вычитает постоянное опорное значение l из вычисленного значения l(n), при котором достаточный диапазон для l изменяется, например, от 0 до π. Из результирующей разности l(n) блок 106 вычитания вычитает предсказанное значение (n), которое вычислено блоком предсказания с замкнутым контуром 120, 118 и 114, включая фильтр 120 предсказания, такой как линейный фильтр, с фиксированными коэффициентами А(z). Что остается, то есть остаточное значение, квантуется адаптивным квантователем 108 размера шага, причем индексы квантования, выводимые квантователем 108, отсекаются ограничителем 110 до поднабора индексов квантования, полученных им же, так, например, что для всех отсеченных индексов квантования l(n), когда они выводятся ограничителем 110, применяется следующее: : l(n) {-1,0,1}. Для адаптации размера шага квантования для Δ(n) квантователь 108 остаточного LSF, модуль 122 адаптации размера шага и элемент 116 задержки совместно работают, например, способом, описанным в отношении блока 54 адаптации размера шага со ссылками на фиг.1, однако, возможно с отличной функцией адаптации или с отличными константами β, I, δ, δ и I. В то время как квантователь 108 использует текущий размер шага для квантования текущего остаточного значения к l(n), деквантователь 112 использует размер шага Δ(n) для деквантования этого значения l(n) индекса снова и для подачи результирующего восстановленного значения для остаточного значения LSF, как оно выдано блоком 106 вычитания, к сумматору 114, который добавляет это значение к соответствующему предсказанному значению l(n), и подает его же через элемент 118 задержки, задержанным на выборку к фильтру 120 для вычисления предсказанного значения (n) LSF для следующего значения l(n) LSF.
Если два кодера 30 и 38 коэффициентов реализованы способом, описанном на фиг.4, кодер 10 согласно фиг.1 удовлетворяет условию постоянной скорости передачи данных без использования какого-либо контура. Из-за поблочной адаптации вперед LPC коэффициентов и применяемой схемы кодирования явного сброса блока предсказания не требуется.
Прежде, чем результаты тестов прослушивания, которые были получены кодером согласно Фиг.1 и 4, будут описаны ниже, согласно варианту осуществления настоящего изобретения ниже описана структура декодера, который является подходящим для декодирования кодированного потока данных от этого кодера, причем ссылки будут сделаны на Фиг.5 и 6. Фиг.6 также показывает структуру декодера коэффициентов на фиг.1.
c
c
c
c
c
Декодер, в целом обозначенный 200 на фиг.5, содержит вход 202 для приема кодированного потока данных, выход 204 для выдачи декодированного потока y(n) аудио, а также средство 206 деквантования, имеющее ограниченное и постоянное количество уровней квантования, средство 208 предсказания, средство 210 восстановления, а также средство 212 постфильтра. Дополнительно обеспечивается блок извлечения 214, который подсоединен к входу 202 и осуществлен так, чтобы извлекать из входящего кодированного потока битов квантованный и отсеченный остаточный сигнал i(n) предварительного фильтра, кодированную информацию относительно коэффициентов предварительного фильтра и кодированную информацию относительно коэффициентов предсказания, как они были сгенерированы из кодеров 30 и 38 коэффициентов (фиг.1), и выводить их на соответствующих выходах. Средство 206 деквантования подсоединено к блоку 214 извлечения для получения индексов i(n) квантования из него и для выполнения деквантования этих индексов до ограниченного и постоянного количества уровней квантования, а именно, следуя той же нотации, что указана выше, {-c•Δ(n); c•Δ(n)}, для получения деквантованного или восстановленного предварительного фильтра сигнала q(n) соответственно. Средство 208 предсказания подсоединено к блоку 214 извлечения для получения предсказанного сигнала для предварительно фильтрованного сигнала, а именно (n), из информации о коэффициентах предсказания. Средство 208 предсказания подсоединено к блоку 214 извлечения для определения предсказанного сигнала для предварительно фильтрованного сигнала, а именно (n), из информации о коэффициентах предсказания, при этом средство 208 предсказания согласно варианту осуществления на фиг.5 также соединено с выходом средства 210 восстановления. Средство 210 восстановления обеспечивается для восстановления предварительно фильтрованного сигнала на основании предсказанного сигнала (n) и деквантованных остаточных сигналов q(n). Эта реконструкция (восстановленный сигнал) затем используется последующим средством 212 постфильтра для фильтрации предварительно фильтрованного сигнала на основании информации о коэффициентах предварительного фильтра, принятой из блока 214 извлечения так, что нормализация в отношении порога маскирования отменяется для получения декодированного аудиосигнала y(n).
c
После того, как базовая структура декодера фиг.5 была описана выше, структура декодера 200 будет описана более подробно. В частности, деквантователь 206 содержит блок адаптации размера шага из элемента 216 задержки и модуля 218 адаптации размера шага, а также однородного деквантователя 220. Деквантователь 220 соединен с выходом блока 214 извлечения своим входом данных для получения индексов i(n) квантования. Далее, модуль 218 адаптации размера шага соединен с этим выходом блока 214 извлечения через элемент 216 задержки, чей выход снова соединен со входом управления размером шага в деквантователе 220. Выход деквантователя 220 соединен с первым входом сумматора 222, который формирует средство 210 восстановления. Средство 208 предсказания содержит декодер 224 коэффициентов, фильтр 226 предсказания, а также элемент 228 задержки. Декодер 224 коэффициентов, сумматор 222, фильтр 226 предсказания и элемент 228 задержки соответствуют элементам 40, 44, 46 и 48 из кодера 10 в отношении их режима работы и их связности. В частности, выход фильтра 226 предсказания соединен с дополнительным входом сумматора 222, чей выходной сигнал снова подают назад к входу данных фильтра 226 предсказания через элемент 228 задержки, а также подсоединен к средству 212 постфильтра. Декодер 224 коэффициентов включен между дополнительным выходом блока 214 извлечения и входом блока 226 адаптации фильтра предсказания. Средство постфильтра содержат декодер 230 коэффициентов и постфильтр 232, при этом вход данных постфильтра 232 соединен с выходом сумматора 222, и выход данных постфильтра 232 соединен с выходом 204, в то время как вход адаптации постфильтра 232 соединен с выходом декодера 230 коэффициентов для адаптации постфильтра 232, чей вход снова соединен с дополнительным выходом блока 214 извлечения.
c
c
c
Как уже было упомянуто, блок 214 извлечения извлекает индексы i(n) квантования, представляющие квантованный остаточный сигнал предварительного фильтра, из кодированного потока данных на входе 202. В однородном деквантователе 220 эти индексы квантования деквантуют к квантованным остаточным значениям q(n). Неотъемлемо, это деквантование остается в пределах разрешенных уровней квантования, так как индексы i(n) квантования уже были отсечены на стороне кодера. Адаптация размера шага выполняется адаптивным способом назад таким же образом, как в блоке адаптации размера шага кодера согласно фиг.1. В отсутствие ошибок передачи деквантователь 220 генерирует те же самые значения, что деквантователь 50 из кодера согласно фиг.1. Поэтому элементы 222, 226, 228 и 224, основанные на кодированных коэффициентах предсказания, получают тот же самый результат, какой был получен в кодере 10 из фиг.1 на выходе сумматора 48, то есть деквантованный или восстановленный сигнал предварительного фильтра соответственно. Последний фильтруется в постфильтре 232 с функцией передачи, соответствующей порогу маскирования, при этом постфильтр 232 настраивается адаптивно декодером 230 коэффициентов, которые соответственно настраивают постфильтр 230 или его коэффициенты фильтра, соответственно, на основании информации коэффициентов предварительного фильтра.
e
c
c
c
Принимая, что кодер 10 обеспечивается кодерами 30 и 38 коэффициентов, которые осуществлены, как описано на фиг.4, декодеры 224 и 230 коэффициентов кодера 200, но также и декодер 40 коэффициентов кодера 10, являются структурированными, как показано на фиг.6. Как можно видеть, декодер коэффициентов содержит два элемента 302, 304 задержки, модуль 306 адаптации размера шага, формирующий блок адаптации размера шага вместе с элементом 302 задержки, однородный деквантователь 308 с однородным размером шага, фильтр 310 предсказания, два сумматора 312 и 314, модуль 316 восстановления LSF, а также вход 318 для приема квантованных остаточных значений l(n) LSF с постоянным смещением -l и выходом 320 для выдачи восстановленных коэффициентов предсказания или предварительного фильтра соответственно. Таким образом, элемент 302 задержки включен между входом модуля 306 адаптации размера шага и входом 318, вход деквантователя 308 также соединен со входом 318, и вход адаптации размера шага деквантователя 308 соединен с выходом модуля 306 адаптации размера шага. Режим работы и связность элементов 302, 306 и 308 соответствуют элементам 112, 116 и 122 на фиг.4. Блок предсказания с замкнутым контуром из элемента 304 задержки, фильтра 310 предсказания и сумматора 312, которые включены в общий контур посредством подсоединения элемента 304 задержки между выходом сумматора 312 и входом фильтра 310 предсказания, и посредством подключения первого входа сумматора 312 к выходу деквантователя 308 и подключения второго входа сумматора 312 к выходу фильтра 310 предсказания, соединен с выходом деквантователя 308. Элементы 304, 310 и 312 соответствуют элементам 120, 118 и 114 на фиг.4 по их режиму работы и связности. Дополнительно, вывод сумматора 312 соединен с первым входом сумматора 314, на второй вход которого подается постоянное значение l, причем согласно существующему варианту осуществления постоянное значение l является согласованной величиной, которая присутствует и в кодере, и в декодере и таким образом не должна быть передана как часть побочной (вспомогательной) информации, хотя последнее также возможно. Модуль 316 восстановления LSF включен между выходом сумматора 314 и выходом 320.
e
c
c
Индексы l(n) остаточных сигналов LSF, поступающие на вход 318, деквантуются деквантователем 308, причем деквантователь 308 использует значения Δ(n) адаптивного размера шага назад, которые были определены адаптивным способом назад модулем 306 адаптации размера шага из уже деквантованных индексов квантования, а именно тех, что были задержаны на одну выборку элементом 302 задержки. Сумматор 312 суммирует предсказанный сигнал с деквантованными остаточными значениями LSF, что вычисляет комбинацию элемента 304 задержки и фильтра 310 предсказания из сумм, которые сумматор 312 уже вычислил ранее, и таким образом представляет восстановленные значения LSF, которые просто снабжаются постоянным смещением посредством постоянного смещения l. Последнее корректируется сумматором 314 посредством добавления значения l к значениям LSF, который сумматор 312 выдает. Таким образом, на выходе сумматора 314 восстановленный результат значений LSF, которые являются преобразованными модулем 316 из области LSF обратно к восстановленным предсказанию или коэффициентам предварительного фильтра соответственно. Поэтому модуль 316 восстановления LSF рассматривает все спектральные линейные частоты, в то время как описание других элементов на фиг.6 было ограничено описанием одной спектральной линейной частоты. Однако элементы 302-314 выполняют описанные выше измерения также на других спектральных линейных частотах.
После обеспечения выше вариантов осуществления и кодера, и декодера результаты тестов прослушивания представлены ниже на основании фиг.7, как они были получены посредством схемы кодирования согласно Фиг.1, 4, 5 и 6. В выполненных тестах и кодер согласно Фиг.1, 4 и 6, и кодер согласно сравниваемой ULD схеме кодирования, описанной в начале описания чертежей, были протестированы в тесте прослушивания согласно стандарту MUSHRA, где посредники были опущены. Тест MUSHRA был выполнен на портативном компьютере с внешним цифроаналоговым преобразователем и усилителем STAX/наушниками в тихом офисном окружении. Группа из восьми тестовых слушателей была составлена из слушателей не экспертов и экспертов. Прежде, чем участники начали тест прослушивания, они имели возможность прослушать тестовый набор. Тесты были выполнены с двенадцатью моно аудиофайлами из набора тестов MPEG, в котором все имели частоту выборок 32 кГц, а именно es01 (Сюзанна Вега), es02 (мужская речь, немецкий язык), es03 (женская речь, английский язык), sc01 (труба), sc02 (оркестр), sc03 (поп-музыка), si01 (цимбалы), si02 (кастаньеты), si03 (камертон-дудка), sm01 (волынка), sm02 (глокеншпиль (колокольчики)), sm03 (щипковые струнные инструменты).
c
Для сравниваемой схемы кодирования ULD адаптивное предсказание назад с длиной 64 использовалось в этой реализации, вместе с адаптивным назад кодером Голомба для статистического кодирования, с постоянной скоростью передачи данных 64 кбит/сек. Напротив, для реализации кодера согласно Фиг.1, 4 и 6 использовался адаптивный блок предсказания вперед с длиной 12, в котором количество различных уровней квантования было ограничено 3, а именно такими, что n: i(n)  {-1,0,1}. Это привело, вместе с кодированной вспомогательной информацией, к постоянной скорости передачи данных 64 кбит/сек, что означает ту же самую скорость передачи данных.
Результаты тестов прослушивания MUSHRA показаны на фиг.7, на которой и средние значения, и интервалы доверия 95 % показаны для двенадцати тестовых частей отдельно и для полного результата по всем частям. Пока интервалы доверия перекрываются, не имеется статистически существенного различия между способами кодирования.
Часть es01 (Сюзанна Вега) является хорошим примером для превосходства схемы кодирования согласно Фиг.1, 4, 5 и 6 при более низких скоростях передачи данных. Более высокие части спектра декодированного сигнала показывают менее слышимые артефакты, по сравнению со сравниваемой схемой кодирования ULD. Это приводит к значительно более высокому рейтингу (оценке) схемы согласно Фиг.1, 4, 5 и 6.
Переходы сигнала части sm02 (глокеншпиль) имеют высокие требования к скорости передачи для сравниваемой схемы кодирования ULD. При используемых 64 кБит/с сравниваемая схема кодирования ULD генерирует побочные артефакты кодирования по полным блокам выборок. Напротив, кодер, работающий согласно Фиг.1, 4 и 6, обеспечивает значительно улучшенное качество прослушивания или воспринимаемое качество соответственно. Полная оценка, видимая на графике фиг.7 справа, схемы кодирования, сформированной согласно Фиг.1, 4 и 6, получила значительно лучшую оценку, чем сравниваемая схема кодирования ULD. В целом, эта схема кодирования получила полную оценку "хорошее качество аудио" при данных условиях теста.
Итак, из описанных выше вариантов осуществления получается схема кодирования аудио с малой задержки, которая использует поблочное адаптивное предсказание вперед вместе с отсечением/ограничением вместо адаптивного предсказания назад по выборкам. Формирование шума отличается от сравниваемой схемы кодирования ULD.
Тест прослушивания показал, что описанные выше варианты осуществления превосходят способ адаптивного предсказания назад согласно сравниваемой схеме кодирования ULD в случае более низких скоростей передачи данных. Следовательно, он является кандидатом на закрытие пробела в скорости передачи данных между речевыми кодерами высокого качества и кодерами аудио с малой задержкой. В целом, описанные выше варианты осуществления обеспечили возможность создания схем кодирования аудио, имеющих очень малую задержку 6-8 мс для уменьшенных скоростей передачи данных, который имеет следующие преимущества со сравниваемым ULD кодером. Он является более устойчивым против высоких ошибок квантования, имеет дополнительные шумоформирующие способности, имеет лучшую способность получения постоянной скорости передачи данных и показывает лучшее поведение при устранении ошибок. Проблема слышимого шума квантования в позициях без сигнала, которая имеет место в сравниваемой схеме кодирования ULD, решается вариантом осуществления посредством модифицированного способа увеличения шума квантования выше порога маскирования, а именно суммируя спектр сигнала с порогом маскирования вместо однородного увеличения порога маскирования до некоторой степени. Таким образом, не имеется слышимого шума квантования в позициях без сигнала.
Другими словами, вышеупомянутые варианты осуществления отличаются от сравниваемой схемы кодирования ULD следующим. В сравниваемой схеме кодирования ULD используется адаптивное предсказание назад, что означает, что коэффициенты для фильтра предсказания А(z) обновляются на основании "выборка-за-выборкой" из значений предварительно декодированного сигнала. Используется квантователь, имеющий переменный размер шага, причем размер шага адаптирует все 128 выборок, используя информацию от статистических кодеров, и она передается в качестве побочной (вспомогательной) информации к стороне декодера. Посредством этой процедуры размер шага квантования увеличивается, что добавляет большее количество белого шума к предварительно фильтрованному сигналу, и таким образом однородно повышает порог маскирования. Если адаптивное предсказание назад заменено адаптивным блочным предсказанием вперед в сравниваемой схеме кодирования ULD, что означает, что коэффициенты для фильтра А(z) предсказания вычисляют однократно для 128 выборок из неквантованных предварительно фильтрованных выборок, и передают как побочную информацию, и если размер шага квантования адаптирован к 128 выборкам посредством использования информации от статистического кодера и передачи в качестве побочной информации к стороне декодера, размер шага квантования все еще увеличивается, как это имеет место в сравниваемой схеме кодирования ULD, но на обновление блока предсказания не оказывается влияние каким-либо квантованием. Вышеупомянутые варианты осуществления использовали только адаптированное блочное предсказание вперед, причем дополнительно квантователь имел просто заданное количество ступеней квантования, имеющих фиксированный размер шага. Для предварительно фильтрованных сигналов x(n) с амплитудами вне диапазона квантователя [-NΔ/NΔ] квантованный сигнал был ограничен [-NΔ/NΔ]. Это приводит к шуму квантования, имеющему PSD, которая не больше белого, но копирует PSD входного сигнала, то есть предварительно фильтрованного аудиосигнала.
e
c
5
8
В заключение, в отношении вышеупомянутых вариантов осуществления должно быть отмечено следующее. Сначала следует заметить, что существуют различные возможности для передачи информации о представлении порога маскирования, когда они получены модулем 26 перцепционной модели в кодере, к предварительному фильтру 34, или фильтру 44 предсказания, соответственно, и к декодеру, и в нем конкретно к постфильтру 232 и фильтру 226 предсказания. В частности, должно быть отмечено, что не требуется, чтобы декодеры 32 и 40 коэффициентов в кодере принимали одну и ту же информацию в отношении порога маскирования, как она выводится на выходе 14 кодера и как она получается на выходе 202 декодера. Вместо этого возможно, что, например в структуре кодера 30 коэффициентов согласно фиг.4, полученные индексы l(n), а также индексы квантования i(n) остаточного сигнала предварительного фильтра берутся также только в количестве из трех значений, а именно -1, 0, 1, и что генератор 24 потока битов отображает эти индексы также очевидно в соответствующие n битные слова. Согласно варианту осуществления согласно Фиг.1, 4 или 5, 6 соответственно индексы квантования предварительного фильтра, индексы квантования коэффициента предсказания и/или индексы квантования предварительного фильтра, каждые взятые из числа -1, 0, 1, отображаются в группы из пятерок в 8 битные слова, что соответствует отображению 3 возможностей к 2 битовых слов. Так как отображение не является сюръективным, несколько 8 битных слов остаются неиспользованными и могут быть использованы другими способами, например, для синхронизации или таким же образом.
В этом случае должно быть отмечено следующее. Выше было описано со ссылками на фиг.6, что структура декодеров 32 и 230 коэффициентов идентична. В этом случае предварительный фильтр 34 и постфильтр 232 реализованы так, что при применении одинаковых коэффициентов фильтра они имеют функцию передачи, инверсную друг другу. Однако конечно возможно также, что, например, кодер 32 коэффициентов выполняет дополнительное преобразование коэффициентов фильтра, так чтобы предварительный фильтр имел функцию передачи, в основном соответствующую инверсии порога маскирования, принимая во внимание, что постфильтр имеет функцию передачи, в основном соответствующую порогу маскирования.
В вышеупомянутых вариантах осуществления принималось, что порог маскирования вычисляют в модуле 26. Однако должно быть отмечено, что вычисленный порог не должен точно соответствовать психоакустическому порогу, но может представлять более или менее точную его оценку, что могут не рассматриваться все психоакустические эффекты, но просто некоторые из них. В частности, порог может представлять психоакустически мотивированный порог, который был преднамеренно подвергнут модификации в отличие от оценки психоакустического порога маскирования.
Далее должно быть отмечено, что адаптивная адаптация назад размера шага при квантовании остаточных значений сигнала предварительного фильтра не обязательно должна присутствовать. Скорее, в некоторых прикладных случаях фиксированный размер шага может быть достаточным.
Далее должно быть отмечено, что настоящее изобретение не ограничено областью кодирования аудио. Вместо этого, сигнал, который должен быть кодирован, может также быть сигналом, используемым для стимулирования кончика пальца в перчатке для киберпространства, при этом перцепционная модель 26 в этом случае рассматривает некоторые осязательные характеристики, которые человеческое осязание больше не может чувствовать. Другим примером информационного сигнала, который должен быть кодирован, может быть, например, сигнал видео. В частности, информационный сигнал, который должен быть кодирован, может быть информацией яркости пикселя или точкой изображения соответственно, при этом перцепционная модель 26 может также рассматривать различные временные, локальные и частотные психовизуальные охватывающие эффекты, то есть визуальный порог маскирования.
Дополнительно должно быть отмечено, что квантователь 56 и ограничитель 58 или квантователь 108 и ограничитель 110 соответственно не должны быть отдельными компонентами. Вместо этого отображение неквантованных значений в квантованные/отсеченные значения может быть также выполнено посредством одного отображения. С другой стороны, квантователь 56 или квантователь 108 соответственно могут быть также реализованы последовательным соединением делителя с последующим квантователем с однородным и постоянным размером шага, где делитель будет использовать значение Δ(n) размера шага, полученное от соответствующего модуля адаптации размера шага, в качестве делителя, в то время как остаточный сигнал, подлежащий кодированию будет формировать делимое. Квантователь, имеющий постоянный и однородный размер шага, может быть обеспечен как простой модуль округления, который округляет результат деления до следующего целого числа, после чего последующий ограничитель затем ограничит целое число, как описано выше, до целого числа разрешенного количества C. В соответствующем деквантователе однородное деквантование может быть просто выполнено с Δ(n) в качестве множителя.
Далее должно быть отмечено, что вышеупомянутые варианты осуществления были ограничены приложениям, имеющим постоянную скорость передачи данных. Однако настоящее изобретение не ограничено ими, и, таким образом, квантование посредством отсечения, например, предварительно фильтрованного сигнала, используемого в этих вариантах осуществления, является только одной возможной альтернативой. Вместо отсечения может использоваться функция квантования с нелинейной кривой характеристики. Для иллюстрации этого ссылка делается на Фиг.8A - 8C. Фиг.8A показывает вышеупомянутую используемую функцию квантования, приводящую к отсечению на трех ступенях квантования, то есть функцию шага с тремя ступенями 402a, b, c, которая отображает неквантованные значения (x ось) в индексы квантования (y ось), причем высота ступени квантования или размер шага квантования Δ(n) также отмечена. Как можно видеть, неквантованные значения выше чем Δ(n)/2 отсекаются к соответствующей следующей ступени 402a или 402c соответственно. Фиг.8B показывает в целом функцию квантования, приводящую при отсечении к 2n+1 ступеням квантования. Размер шага квантования Δ(n) снова показан. Функции квантования согласно Фиг.8A и 8B представляют функции квантования, где квантование между порогами -Δ(n) и (n) или -NΔ (n) и NΔ (n) происходит однородным способом, то есть с одной и той же высотой ступени, после чего функции ступени квантования остаются плоскими, что соответствует отсечению. Фиг.8C показывает нелинейную функцию квантования, где функция квантования остается по области между -NΔ(n) и NΔ(n) не полностью плоской, но с более низким наклоном, то есть с большим размером шага или высотой ступени соответственно, по сравнению с первой областью. Это нелинейное квантование неотъемлемо не приводит к постоянной скорости передачи данных, как это имело место в вышеупомянутых вариантах осуществления, но также формирует описанное выше искажение шума квантования, так что оно подстраивается к PSD сигнала. Просто в качестве предупредительной меры должно быть отмечено со ссылками на фиг.8A-C, что вместо областей равномерного квантования может использоваться неоднородное квантование, где, например, высота ступени увеличивается непрерывно, причем высоты ступени могут быть масштабируемыми посредством корректировки значения Δ(n) высоты ступени, в то же время поддерживая их взаимные соотношения. Поэтому, например, неквантованное значение может быть отображено посредством нелинейной функции в промежуточное значение в соответствующем квантователе, при этом, или прежде, или впоследствии перемножение с Δ(n) выполняется, и наконец результирующее значение однородно квантуется. В соответствующем деквантователе может быть выполнена инверсия, что означает однородное деквантование с помощью Δ(n), с последующим обратным нелинейным отображением или, наоборот, нелинейным отображением преобразования сначала с последующим деквантованием с Δ(n). Наконец, должно быть отмечено, что непрерывное однородное, то есть линейное, квантование посредством получения описанного выше эффекта искажения PSD ошибки может быть также возможно, когда высота ступени будет отрегулирована столь высокой или квантование настолько грубым, что это квантование эффективно работает подобно нелинейному квантованию в отношении статистики сигнала для сигнала, который нужно квантовать, например предварительно фильтрованного сигнала, при этом эта корректировка высоты ступени снова сделана возможной посредством адаптивного предсказания вперед.
Далее описанные выше варианты осуществления могут также быть изменены в отношении обработки кодированного потока битов. В частности, генератор потока битов и блок извлечения 214 соответственно также могут быть опущены.
Различные индексы квантования, а именно остаточные значения предварительно фильтрованных сигналов, остаточные значения коэффициентов предварительного фильтра и остаточные значения коэффициентов предсказания, также могут быть переданы параллельно друг другу, сохранены или сделаны доступным другим способом для декодирования отдельно через индивидуальные каналы. С другой стороны, в случае, когда постоянная скорость передачи данных не является императивом, эти данные также могут быть кодированы статистически.
В частности, вышеупомянутые функции в блоках на Фиг.1, 4, 5 и 6 могут быть осуществлены индивидуально или в комбинации посредством подпрограмм. Альтернативно, также возможна реализация изобретенного устройства в форме интегральной схемы, где эти блоки реализованы, например, как индивидуальные схемные части специализированной интегральной схемы.
В частности, должно быть отмечено, что в зависимости от обстоятельств изобретенная схема также может быть осуществлена в программном обеспечении. Реализация может быть сделана на цифровом запоминающем носителе, в частности диске или компакт-диске считываемыми электронным образом сигналами управления, которые могут совместно действовать с программируемой компьютерной системой так, что реализуется соответствующий способ. Вообще, таким образом, изобретение состоит также в компьютерном программном продукте, имеющем программный код, сохраненный на машиночитаемом носителе для выполнения изобретенного способа, когда компьютерный программный продукт выполняется на компьютере. Другими словами, изобретение может быть реализовано в виде компьютерной программы, имеющей программный код для выполнения способа, когда компьютерная программа выполняется на компьютере.