Способы и системы генерирования коэффициентов фильтра и конфигурирования фильтров

Иллюстрации

Показать все

Изобретение относится к способам и системам конфигурирования (в том числе путем адаптивного обновления) фильтра с предсказанием. Технический результат заключается в повышении эффективности определения небольших групп наборов возможных коэффициентов фильтра с предсказанием, из которых для конфигурирования фильтра с предсказанием может выбираться требуемый набор коэффициентов для оптимизации фильтра с бесконечной импульсной характеристикой (IIR) при использовании в соответствии со значимыми характеристиками сигнала. Технический результат достигается за счет способа генерирования палитры наборов коэффициентов фильтра обратной связи и применения указанной палитры для конфигурирования фильтра с предсказанием, который включает фильтр обратной связи, и системы для выполнения любого из способов. В некоторых вариантах осуществления изобретения фильтр с предсказанием включается в кодер, способный действовать для генерирования (и утверждения в декодере) кодированных данных, включающих данные о коэффициентах фильтра, являющиеся показателем выбранного набора коэффициентов IIR, которыми конфигурировался фильтр с предсказанием в ходе генерирования кодированных данных. 4 н. и 20 з.п. ф-лы, 4 ил.

Реферат

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

Данная заявка заявляет приоритет предварительной заявки на патент США №61/443360, поданной 16 февраля 2011 г., которая ссылкой полностью включается в настоящее раскрытие.

ОБЛАСТЬ ТЕХНИЧЕСКОГО ПРИМЕНЕНИЯ

Изобретение относится к способам и системам конфигурирования (в том числе путем адаптивного обновления) фильтра с предсказанием (например, фильтра с предсказанием в кодере или декодере аудиоданных). Типичные варианты осуществления изобретения представляют собой способы и системы генерирования палитры коэффициентов фильтра обратной связи и использования указанной палитры для конфигурирования (например, адаптивного обновления) фильтра обратной связи, который представляет собой (или является элементом) фильтра с предсказанием (например, фильтра с предсказанием в кодере или декодере аудиоданных).

Предпосылки

Повсюду в данном раскрытии, в том числе в формуле изобретения, выражение выполнения операции (например, фильтрации или преобразования) «на» сигналах или данных используется в широком смысле для обозначения выполнения операции непосредственно на сигналах или данных, или на обработанных версиях сигналов или данных (например, на версиях сигналов, которые были подвергнуты предварительной фильтрации перед выполнением на них указанной операции).

Повсюду в данном раскрытии, в том числе в формуле изобретения, выражение «система» используется в широком смысле для обозначения устройства, системы или подсистемы. Например, подсистема, которая предсказывает следующее дискретное значение в последовательности дискретных значений может называться системой предсказания (или предсказателем), а система, включающая эту подсистему (например, процессор, включающий предсказатель, который предсказывает следующее дискретное значение в последовательности дискретных значений, и средства для использования предсказанных дискретных значений при выполнении кодирования или другой фильтрации), также может называться системой предсказания, или предсказателем.

Повсюду в данном раскрытии, в том числе в формуле изобретения, глагол «включает» используется в широком смысле для обозначения «представляет собой (является) или включает», и в таком же широком смысле используются другие формы глагола «включает». Например, выражение «фильтр с предсказанием, который включает фильтр обратной связи» (или выражение «фильтр с предсказанием, включающий фильтр обратной связи»), в данном раскрытии обозначает или фильтр с предсказанием, который представляет собой фильтр обратной связи (т.е. не включает фильтр прямой связи), или фильтр с предсказанием, который включает фильтр обратной связи (и, по меньшей мере, еще один фильтр, например, фильтр прямой связи).

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

Общепринятая конфигурация предсказателя, находящегося в системах цифровой обработки сигналов (DSP), использует последовательность дискретных значений целевого сигнала (сигнала, который представляет собой ввод в предсказатель) для оценки, или предсказания, следующего дискретного значения в последовательности. Обычно намерение заключается в снижении амплитуды целевого сигнала путем вычитания каждого предсказанного компонента из соответствующего дискретного значения целевого сигнала (посредством чего генерируется последовательность остатков), и, как правило, также в кодировании результирующей последовательности остатков. Это является желательным в системах кодекса, предназначенных для сжатия с определенной скоростью передачи данных, поскольку требуемая скорость передачи данных обычно уменьшается при понижении уровня сигнала. Декодер восстанавливает исходный сигнал из переданных остатков (которые могут представлять собой кодированные остатки) путем выполнения какого-либо необходимого предварительного декодирования на остатках, а затем - воспроизведения фильтрации с предсказанием, используемой кодером, и добавления каждого предсказанного/оценочного значения к соответствующему одному из остатков.

Повсюду в данном раскрытии, включая формулу изобретения, выражение «фильтр с предсказанием» обозначает или фильтр в предсказателе, или предсказатель, реализованный как фильтр.

Любой фильтр DSP, в том числе и те, которые используются в предсказателях, может, по меньшей мере, математически классифицироваться как фильтр прямой связи (также известный как фильтр с конечной импульсной характеристикой, или «FIR») или как фильтр обратной связи (также известный как фильтр с бесконечной импульсной характеристикой, или «IIR»), или как сочетание фильтров FIR и IIR. Фильтр каждого из типов (FIR и IIR) имеет характеристики, которые могут делать его более соответствующим тому или иному применению или характеристике сигнала.

Для того, чтобы обеспечивать точные оценки, коэффициенты фильтра с предсказанием по мере необходимости должны обновляться в ответ на динамическое поведение сигнала. На практике, это налагает потребность в способности быстро и просто вычислять приемлемые (или оптимальные) коэффициенты фильтра исходя из входного сигнала. Для фильтров прямой связи существуют соответствующие алгоритмы, такие как рекурсивный метод Левинсона-Дарбина, однако эквивалентных алгоритмов для предсказателей с обратной связью не существует. По этой причине, варианты осуществления предсказателей, имеющие наибольшее практическое значение, используют только архитектуру прямой связи даже тогда, когда характеристики сигнала могут отдавать предпочтение использованию схемы с обратной связью.

Патент США №6664913, выданный 16 декабря 2003 г. и переуступленный правопреемнику настоящего изобретения, описывает кодер и декодер, предназначенный для декодирования вывода кодера. Каждое из устройств, кодер и декодер, включает фильтр с предсказанием. В одном из классов вариантов осуществления изобретения (например, в варианте осуществления изобретения, показанном на фиг.2 настоящего раскрытия), фильтр с предсказанием включает как фильтр IIR, так и фильтр FIR, и он рассчитан на использование при декодировании данных, являющихся показателем аналогового сигнала (например, звукового сигнала или видеосигнала). В варианте осуществления изобретения, показанном на фиг.2, фильтр с предсказанием включает фильтр 57 IIR (подключенный в конфигурации с обратной связью, показанной на фиг.2) и фильтр 59 FIR, выводы которых объединяются ступенью 56 вычитания. Разностные значения, выходящие из ступени 56, квантуются на ступени 60 квантования. Вывод ступени 60 суммируется с входными дискретными значениями («S») на ступени 61 суммирования. В действии, предсказатель по фиг.2 может утверждать (как вывод ступени 61) остаточные значения (идентифицируемые на фиг.2 как «остатки»), каждое из которых является показателем суммы входного дискретного значения («S») и квантованной, предсказанной версии этого дискретного значения (где указанная предсказанная версия дискретного значения определяется по разности между выводами фильтров 57 и 59).

Доступные для приобретения кодеры и декодеры, которые воплощают технологию «Dolby TrueHD», разработанную Dolby Laboratories Licensing Corporation, используют способы кодирования и декодирования, относящиеся к типу, описанному в патенте США №6664913. Кодер, который воплощает технологию Dolby TrueHD, является цифровым аудиокодером сжатия без потерь; это означает, что декодированный вывод (генерируемый на выходе совместимого декодера) должен точно, побитно совпадать с вводом в кодер. По существу, кодер и декодер совместно используют общий протокол для выражения некоторых классов сигналов в боле компактной форме, таким образом, скорость передачи данных уменьшается, однако декодер может восстанавливать оригинальный сигнал.

Патент США №6664913 предлагает, что фильтры 57 и 59 (и сходные фильтры с предсказанием) можно конфигурировать с целью минимизации скорости передачи кодированных данных (скорости передачи данных вывода «R») путем испытания каждого выбора из небольшого набора выборов возможных коэффициентов фильтра (используя каждый пробный набор для кодирования входного сигнала), выбора того набора, который дает наименьший средний уровень выходного сигнала или наименьший пиковый уровень в блоке выходных данных (генерируемом в ответ на блок входных данных), и конфигурирования фильтров выбранным набором коэффициентов. Патент также предлагает, что выбранный набор коэффициентов можно передавать в декодер и загружать в фильтр с предсказанием в декодере для конфигурирования фильтра с предсказанием.

Патент США №7756498, выданный 13 июля 2010 г., раскрывает терминал мобильной связи, который в ходе приема сигнала перемещается с переменной скоростью. Терминал включает предсказатель, который включает фильтр IIR первого порядка, и в предсказатель доставляется список предварительно определенных пар коэффициентов фильтра IIR. В ходе работы терминала (по мере того, как он перемещается с определенной скоростью), для конфигурирования фильтра из списка кандидатов-фильтров выбирается пара предварительно определенных коэффициентов фильтра IIR (выбор основывается на сравнении результатов предсказания с результатами, в которых не возникает шум). Выбор может обновляться при изменении скорости терминала, однако отсутствует предложение по урегулированию проблемы непрерывности сигнала перед лицом изменения коэффициентов фильтра. Ссылка не указывает, каким образом генерируется список кандидатов-фильтров, за исключением состояния, в котором в результате эксперимента (не описанного) каждая пара в списке определяется как подходящая для конфигурирования фильтра тогда, когда терминал перемещается с другой скоростью.

И хотя было предложено адаптивно обновлять фильтр IIR (например, фильтр 57 в системе по фиг.2) в фильтре с предсказанием (например, для минимизации энергии выходного сигнала в каждый момент времени), вплоть до настоящего изобретения не было известно, каким образом делать это эффективно, быстро и рационально (например, как быстро и эффективно оптимизировать фильтр IIR и/или фильтр с предсказанием, включающий фильтр IIR, для использования в соответствии со значимыми характеристиками сигнала, которые могут изменяться со временем). Как не было известно и то, как сделать это таким образом, чтобы обратиться к вопросу непрерывности сигнала при условии изменения коэффициентов фильтра.

Патент США №6664913 также предлагает определять первую группу возможных наборов коэффициентов фильтра (небольшое количество наборов, из которых можно выбрать требуемый набор) так, чтобы в нее включались наборы, которые определяют широко отличающиеся фильтры, совпадающие с типичными ожидаемыми спектрами сигналов. Затем (после того, как будет выбран наилучший набор из первой группы) может выполняться второй этап выбора коэффициентов с целью создания очищенного выбора наилучшего набора коэффициентов фильтра из второй небольшой группы возможных наборов коэффициентов фильтра с предсказанием, где все наборы во второй группе определяют фильтры, сходные с фильтром, выбранным на первом этапе. Этот процесс может быть итеративным, каждый раз использующим более сходную группу возможных фильтров с предсказанием, чем использованная в предыдущей итерации.

И хотя было предложено генерировать одну или несколько небольших групп наборов возможных коэффициентов фильтра с предсказанием (из которой для конфигурирования фильтра с предсказанием может выбираться требуемый набор коэффициентов), вплоть до настоящего изобретения не было известно, каким образом эффективно и рационально определить указанную небольшую группу так, чтобы каждый набор в этой группе был полезен для оптимизации (или адаптивного обновления) фильтра IIR (или фильтра с предсказанием, включающего фильтр IIR) при использовании в соответствии со значимыми характеристиками сигнала.

КРАТКОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

В одном из классов вариантов осуществления изобретения, изобретение представляет собой способ использования предварительно определенной палитры наборов коэффициентов фильтра IIR (обратной связи), предназначенных для конфигурирования (например, адаптивного обновления) фильтра IIR, который представляет собой фильтр с предсказанием (или является его элементом). Как правило, фильтр с предсказанием включается в систему кодирования аудиоданных (кодер) или в систему декодирования аудиоданных (декодер). В типичных вариантах осуществления изобретения, способ использует предварительно определенную палитру наборов коэффициентов фильтра IIR («наборов коэффициентов IIR») для конфигурирования фильтра с предсказанием, который включает как фильтр IIR, так и фильтр FIR (прямой связи), и способ включает этапы: для каждого из наборов коэффициентов IIR в палитре, - генерирования данных конфигурации, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра IIR, сконфигурированного указанным каждым из наборов коэффициентов IIR, и идентификации (как выбранного набора коэффициентов IIR) одного из наборов коэффициентов IIR, который конфигурирует фильтр IIR для генерирования данных конфигурации, имеющих наименьший уровень (например, наименьший уровень RMS), или который конфигурирует фильтр IIR для его соответствия оптимальной комбинации критериев (в том числе, критерия того, что данные конфигурации имеют наименьший уровень); затем - определения оптимального набора коэффициентов фильтра FIR путем выполнения рекурсивной операции (например, рекурсии Левинсона-Дарбина) на тестовых данных, являющихся показателем вывода, генерируемого путем применения фильтра с предсказанием к входным данным, где фильтр IIR сконфигурирован выбранным набором коэффициентов IIR (как правило, в качестве исходного кандидата-набора коэффициентов FIR для рекурсии используется предварительно определенный набор коэффициентов фильтра FIR, а в последующих итерациях рекурсивной операции используются другие кандидаты-наборы коэффициентов фильтра FIR до тех пор, пока рекурсия не сойдется, определяя оптимальный набор коэффициентов фильтра FIR), и конфигурирования фильтра FIR оптимальным набором коэффициентов FIR, и конфигурирования фильтра IIR выбранным набором коэффициентов IIR, посредством чего конфигурируется фильтр с предсказанием.

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

В некоторых вариантах осуществления изобретения, выбранный набор коэффициентов IIR (набор коэффициентов в палитре, который выбран для конфигурирования фильтра IIR) идентифицируется как набор коэффициентов IIR в палитре, который (в ответ на входные данные) конфигурирует фильтр IIR для генерирования выходных данных, имеющих наименьшее значение A+B, где «A» - это уровень (например, уровень RMS) выходных данных, и «B» - количество данных боковой цепи, необходимых для идентификации набора коэффициентов IIR (например, количество данных боковой цепи, которые должны быть переданы в декодер, чтобы позволить декодеру идентифицировать набор коэффициентов IIR), и, необязательно, также любых других данных боковой цепи, требуемых для декодирования данных, которые были закодированы с использованием фильтра с предсказанием, сконфигурированного набором коэффициентов IIR. Данный критерий является подходящим для некоторых вариантов осуществления изобретения, поскольку некоторые из наборов коэффициентов IIR в палитре могут включать более длинные (более точные) коэффициенты, чем другие наборы, и, таким образом, вместо несколько более эффективного фильтра IIR, определяемого более длинными коэффициентами, может быть выбран менее эффективный фильтр (при рассмотрении только RMS выходных данных), определяемый короткими коэффициентами.

В некоторых вариантах осуществления изобретения, расчет времени (например, частота), с которым происходит, или допускается, адаптивное обновление конфигурации фильтра с предсказанием (который включает фильтр IIR, или фильтр IIR и фильтр FIR), является ограниченным (например, для оптимизации эффективности кодирования с предсказанием). Например, каждый раз, когда изменяется конфигурация фильтра с предсказанием типичного кодера сжатия без потерь (с соответствии с одним из вариантов осуществления изобретения), происходит изменение состояния в кодере, которое может потребовать передачи служебных данных (данных боковой цепи), являющихся показателем нового состояния, позволяющих декодеру учесть каждое изменение состояния в ходе декодирования. Однако если изменение состояния кодера происходит по какой-либо причине, которой не является изменение конфигурации фильтра с предсказанием (например, изменение состояния, происходящее в начале обработки нового блока, например макроблока, дискретных значений), служебные данные, являющиеся показателем этого нового состояния, также должны передаваться в декодер, и, таким образом, изменение конфигурации фильтра с предсказанием в это время может выполняться без добавления (или без значительного или недопустимого добавления) к количеству служебных данных, которое должно быть передано. В некоторых вариантах осуществления способа и системы кодирования согласно изобретению, для определения того, когда происходит изменение состояния кодера, выполняется операция определения непрерывности, и расчет времени операций изменения конфигурации фильтра управляется соответственно (например, изменение конфигурации фильтра с предсказанием откладывается до возникновения события изменения состояния).

В другом классе вариантов осуществления изобретения, изобретение представляет собой способ генерирования предварительно определяемой палитры коэффициентов фильтра IIR, которые могут использоваться для конфигурирования (например, адаптивного обновления) фильтра IIR («обратной связи») с предсказанием (т.е. фильтра IIR который является, или не является, элементом фильтра с предсказанием). Палитра включает, по меньшей мере, два набора (как правило, небольшое количество наборов) коэффициентов фильтра IIR, где каждый из наборов состоит из коэффициентов, достаточных для конфигурирования фильтра IIR. В одном из классов вариантов осуществления изобретения, каждый набор коэффициентов в палитре генерируется путем выполнения нелинейной оптимизации по набору («обучающему набору») входных сигналов при условии, по меньшей мере, одного ограничения. Как правило, оптимизация выполняется при условии нескольких ограничений, в том числе, по меньшей мере, двух из следующих ограничений: наилучшее предсказание, максимальная Q фильтра, звон, допустимая или требуемая численная точность коэффициентов фильтра (например, требование того, чтобы каждый коэффициент в наборе обязательно состоял не более чем из X битов, где X может быть равно, например, 14 битов), служебные данные передачи и стабильность фильтра. Для достижения оптимального кандидата-набора коэффициентов фильтра для сигнала, для каждого блока каждого сигнала в обучающем наборе применяется, по меньшей мере, один алгоритм нелинейной оптимизации (например, ньютоновской оптимизации или симплексной оптимизации). Оптимальный кандидат-набор добавляется к палитре, если определяемый посредством него фильтр IIR удовлетворяет каждому из ограничений, но он отбрасывается (и не добавляется к палитре), если фильтр IIR нарушает, по меньшей мере, одно ограничение (например, если фильтр IIR является нестабильным). Если оптимальный кандидат-набор отбрасывается, к палитре может добавляться равно хороший (или следующий наилучший) кандидат-набор (определяемый при помощи той же самой оптимизации на том же самом сигнале), если равно хороший (или следующий наилучший) кандидат-набор удовлетворяет каждому из ограничений, и процесс итеративно продолжается до тех пор, пока набор коэффициентов (определенных исходя из указанного сигнала) не будет добавлен к палитре. Палитра может включать наборы коэффициентов фильтра, определенные с использованием различных алгоритмов условной оптимизации (например, по отдельности могут выполняться условная ньютоновская оптимизация и условная симплексная оптимизация, и для включения в палитру отбираются наилучшие решения для каждой из них). Если условная оптимизация приводит к неприемлемо большой исходной палитре, для уменьшения размера палитры используется процесс отсечения (путем удаления из исходной палитры, по меньшей мере, одного набора), основывающийся на сочетании накопления гистограмм и общего улучшения, обеспечиваемого каждым набором коэффициентов в исходной палитре, по сигналам в обучающем наборе.

Предпочтительно, палитра наборов коэффициентов фильтра IIR определяется так, чтобы она включала наборы коэффициентов, которые будут оптимально конфигурировать фильтр IIR с предсказанием для использования с любым входным сигналом, имеющим характеристики, находящиеся в ожидаемом диапазоне.

Особенности изобретения включают систему (например, кодер, декодер, или систему, включающую и кодер, и декодер), сконфигурированную (например, запрограммированную) для выполнения какого-либо из вариантов осуществления способа изобретения, и машиночитаемый носитель данных (например, диск), в памяти которого хранится код, предназначенный для программирования процессора, или другой системы, для выполнения какого-либо из вариантов осуществления способа изобретения.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ

Фиг.1 - блок-схема кодера, который включает фильтр с предсказанием, включающий фильтр (7) IIR и фильтр (9) FIR. Фильтр с предсказанием конфигурируется (и адаптивно обновляется) с использованием предварительно определенной палитры (8) наборов коэффициентов IIR в соответствии с одним из вариантов осуществления изобретения.

Фиг.2 - блок-схема фильтра с предсказанием, относящегося к типу, используемому в традиционном кодере, и включающего фильтр IIR и фильтр FIR.

Фиг.3 - блок-схема декодера, сконфигурированного для декодирования данных, которые были закодированы кодером по фиг.1. Декодер по фиг.3 включает фильтр IIR, который конфигурируется (и адаптивно обновляется) в соответствии с одним из вариантов осуществления изобретения.

Фиг.4 - вид в вертикальной проекции машиночитаемого оптического диска, на котором хранится код, предназначенный для реализации одного из вариантов осуществления способа изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ

Многие варианты осуществления настоящего изобретения являются технологически возможными. Из настоящего раскрытия специалистам в данной области станет ясно, как их реализовать. Варианты осуществления системы изобретения, способа и носителя будут описаны со ссылкой на фиг.1, 3 и 4.

В типичном варианте осуществления изобретения, каждая из систем, система по фиг.1 и система по фиг.3, реализуется как процессор цифровой обработки сигналов (DSP), архитектура которого пригодна для обработки ожидаемых входных данных (например, дискретных значений аудиоданных), и который сконфигурирован (например, запрограммирован) соответствующим программно-аппаратным обеспечением и/или программным обеспечением для реализации одного из вариантов осуществления способа изобретения. DSP может реализовываться как интегральная микросхема (или набор микросхем) и может включать память программ и данных, доступную для его процессора (процессоров). Память может включать энергонезависимую память, достаточную для хранения палитры коэффициентов фильтра, программных данных и других данных, требуемых для реализации выполнения каждого из вариантов осуществления способа изобретения. В альтернативном варианте, одна или обе системы, система по фиг.1 и система по фиг.3 (или другой вариант осуществления изобретения), реализуется как процессор общего назначения, программируемый соответствующим программным обеспечением для реализации одного из вариантов осуществления способа изобретения, или они реализуются как соответствующим образом сконфигурированное аппаратное обеспечение.

Как правило, несколько каналов входных дискретных значений данных утверждаются на входе кодера 1 (по фиг.1). Каждый канал, как правило, включает поток входных дискретных значений аудиоданных и может соответствовать другому каналу многоканальной звуковой программы. В каждом канале кодер, как правило, получает небольшие блоки («микроблоки») входных дискретных значений аудиоданных. Каждый микроблок может состоять из 48 дискретных значений.

Кодер 1 конфигурируется для выполнения следующих функций: операции перематрицирования (представленной ступенью 3 перематрицирования по фиг.1), операции предсказания (включающей генерирование предсказываемых дискретных значений и генерирование из них остатков), представленной предсказателем 5, операции кодирования представления с блочно-плавающей запятой (представленной ступенью 11), операции кодирования методом Хаффмана (представленной ступенью 13 кодирования методом Хаффмана), и операции упаковки (представленной ступенью 15 упаковки). В некоторых реализациях, кодер 1 представляет собой процессор цифровой обработки сигналов (DSP), запрограммированный, или иначе сконфигурированный, для выполнения указанных функций (и, необязательно, дополнительных функций) в программном обеспечении.

Ступень 3 перематрицирования кодирует входные дискретные значения аудиоданных (для обратимого уменьшения их размера/понижения уровня), посредством чего она генерирует кодированные дискретные значения. В типичных реализациях, где входными на ступень 3 перематрицирования являются несколько каналов входных дискретных значений (каждый из которых, например, соответствует одному из каналов многоканальной звуковой программы), ступень 3 определяет то, сумму или разность дискретных значений следует генерировать для каждой из по меньшей мере одной пары входных каналов, и выводит или суммарные, или разностные значения (например, взвешенную версию каждой такой суммы или разности), или сами входные дискретные значения с данными боковой цепи, указывающими на то, являются выводом суммарные или разностные значения, или сами входные дискретные значения. Как правило, суммарные и разностные значения, выводимые из ступени 3 представляют собой взвешенные суммы и разности дискретных значений, а данные боковой цепи включают коэффициенты суммы/разности. Процесс перематрицирования, выполняемый на ступени 3, формирует суммы и разности сигналов входных каналов с целью аннулирования дублирующихся компонентов сигналов. Например, два идентичных 16-битных канала должны кодироваться (на ступени 3) как суммарный сигнал из 17 битов и разностный сигнал молчания для достижения потенциальной экономии 15 битов на каждое дискретное значение, что меньше, чем любая информация боковой цепи, необходимая для обратного перематрицирования в декодере.

Для удобства, дальнейшее описание последующих операций, выполняемых в кодере 1, относится к дискретным значениям (и их кодированию) в одном единственном канале, представленном как вывод ступени 3. Следует понимать, что описываемое кодирования выполняется на дискретных значениях (идентифицируемых на фиг.1 как дискретные значения «Sx») во всех каналах.

Предсказатель 5 выполняет следующие операции: вычитание (представленное ступенью 4 вычитания и ступенью 6 вычитания), фильтрацию IIR (представленную фильтром 7 IIR), фильтрацию FIR (представленную фильтром 9 FIR), квантование (представленное ступенью 10 квантования), конфигурирование фильтра 7 IIR (для реализации наборов коэффициентов IIR, выбранных из палитры 8 коэффициентов IIR), конфигурирования фильтра 9 FIR и адаптивного обновления конфигураций фильтров 7 и 9. В ответ на последовательность кодированных (перематрицированных) дискретных значений, генерируемых на ступени 3, предсказатель 5 предсказывает каждое «следующее» кодированное дискретное значение в последовательности. Фильтры 7 и 9 реализуются так, чтобы их объединенные выводы (в ответ на последовательность кодированных дискретных значений из ступени 3) являлись показателями предсказанного следующего кодированного дискретного значения в последовательности. Предсказанные следующие кодированные дискретные значения (генерируемые на ступени 6 путем вычитания вывода фильтра 7 из вывода фильтра 9) квантуются на ступени 10. В частности, на ступени 10 квантования на каждом предсказанном следующем кодированном дискретном значении, генерируемом на ступени 6, выполняется операция округления (например, до ближайшего целого числа)

На ступени 4 предсказатель 5 вычитает каждое текущее значение квантованного, комбинированного вывода, Pn, фильтров 7 и 9 из каждого текущего значения последовательности кодированных дискретных значений из ступени 3 с целью генерирования последовательности остаточных значений (остатков). Остаточные значения являются показателями разности между каждым кодированным дискретным значением из ступени 3 и предсказанной версией этого кодированного дискретного значения. Остаточные значения, генерируемые на ступени 4, утверждаются на ступени 11 представления с блочно-плавающей запятой.

Конкретнее, на ступени 4 квантованный, комбинированный вывод, Pn, фильтров 7 и 9 (в ответ на предыдущие значения, включающие «(n-1)»-е кодированное значение, последовательности кодированных дискретных значений из ступени 3 и последовательности остаточных значений из ступени 4) вычитается из «n»-го кодированного дискретного значения указанной последовательности, генерируя «n»-й остаток, где Pn - квантованная версия разности Yn-Xn, где Xn - текущее значение, утверждаемое на выходе фильтра 7 в ответ на предыдущие остаточные значения, Yn - текущее значение, утверждаемое на выходе фильтра 9 в ответ на предыдущие кодированные дискретные значения в указанной последовательности, и Yn-Xn - предсказанное «n»-е кодированное дискретное значение в указанной последовательности.

Перед приведением в действие фильтра 7 IIR и фильтра 9 FIR с целью фильтрации кодированных дискретных значений, генерируемых на ступени 3, предсказатель 5 выполняет операцию выбора коэффициентов IIR (которая описывается ниже) в соответствии с одним из вариантов осуществления настоящего изобретения с целью выбора набора коэффициентов фильтра IIR (из тех предварительно определенных наборов, которые предварительно сохранены в палитре 8 коэффициентов IIR) и конфигурирует фильтр 7 IIR для реализации в нем выбранного набора коэффициентов IIR. Предсказатель 5 также определяет коэффициенты фильтра FIR, предназначенные для конфигурирования фильтра 9 FIR для совместно действия со сконфигурированным таким образом фильтром 7 IIR. Конфигурация фильтров 7 и 9 адаптивно обновляется по способу, который будет описан ниже. Предсказатель также утверждает на ступени 15 упаковки данные «о коэффициентах фильтра», являющиеся показателем текущего выбранного набора коэффициентов фильтра IIR (из палитры 8), а также, необязательно, и текущего набора коэффициентов фильтра FIR. В некоторых реализациях данные «о коэффициентах фильтра» представляют собой текущий выбранный набор коэффициентов фильтра IIR (и, необязательно, также соответствующий текущий набор коэффициентов фильтра FIR). В альтернативном варианте, данные о коэффициентах фильтра являются показателем текущего выбранного набора коэффициентов IIR (или FIR и IIR). Палитра 8 может реализовываться как память кодера 1 или как ячейки памяти в памяти кодера 1, в которые было предварительно загружено некоторое количество различных предварительно определенных наборов коэффициентов фильтра IIR (так, чтобы они были доступны для предсказателя 5 при конфигурировании фильтра 7 и для обновления конфигурации фильтра 7).

В связи с адаптивным обновлением конфигураций фильтров 7 и 9, предсказатель 5, предпочтительно, действует для определения того, сколько микроблоков кодированных дискретных значений (генерируемых на ступени 3) подлежат дальнейшему кодированию с использованием каждой определенной конфигурации фильтров 7 и 9. Фактически, предсказатель 5 определяет размер «макроблока» кодированных дискретных значений, который будет кодироваться с использованием каждой определенной конфигурации фильтров 7 и 9 (перед тем, как конфигурация будет обновлена). Например, предпочтительный вариант осуществления предсказателя 5 может определять количество N (где N находится в диапазоне 1≤N≤118) микроблоков для кодирования с использованием каждой определенной конфигурации фильтров 7 и 9. Конфигурирование (адаптивное обновление) фильтров 7 и 9 будет более подробно описано ниже.

Ступень 11 представления с блочно-плавающей запятой действует на квантованные остатки, генерируемые на ступени 5 предсказания, и на слова боковой цепи («данные MSB»), также генерируемые на ступени 5 предсказания. Данные MSB являются показателем старших битов (MSB) кодированных дискретных значений, соответствующих квантованным остаткам, определяемым на ступени 5 предсказания. Каждый из квантованных остатков сам по себе является показателем только младших битов другого из кодированных дискретных значений. Данные MSB могут являться показателем старших битов (MSB) кодированного дискретного значения, соответствующего первому квантованному остатку в каждом макроблоке, определяемом на ступени 5 предсказания.

На ступени 11 представления с блочно-плавающей запятой блоки квантованных остатков и данные MSB, генерируемые в предсказателе 5 дополнительно кодируются. В частности, ступень 11 генерирует данные, являющиеся показателями общей экспоненты для каждого блока и индивидуальных мантисс для отдельных квантованных остатков в каждом блоке.

В кодере 1 по фиг.1 используется четыре ключевых процесса кодирования: перематрицирование, предсказание, кодирование методом Хаффмана и представление с блочно-плавающей запятой. Процесс представления с блочно-плавающей запятой (реализуемый ступенью 11), предпочтительно реализуется для использования того факта, что тихие сигналы могут передаваться более компактно, чем громкие сигналы. Блок, являющийся показателем 16-битного сигнала с максимальным уровнем, который является входным на ступень 11, может потребовать все 16 битов для каждого дискретного значения, подлежащего передаче (например, вывода из ступени 11). Однако блок значений, являющихся показателями сигнала с уровнем на 48 дБ ниже (который утверждается на входе ступени 11) потребует только 8 битов на каждое дискретное значение, являющееся выводом из ступени 11, наряду со словом боковой цепи, указывающим, что верхние 8 битов каждого дискретного значения являются неиспользуемыми и подавленными (и нуждаются в восстановлении декодером).

В системе по фиг.1, цель перематрицирования (на ступени 3) и ко