СПОСОБЫ И СИСТЕМЫ ГЕНЕРИРОВАНИЯ КОЭФФИЦИЕНТОВ ФИЛЬТРА И КОНФИГУРИРОВАНИЯ ФИЛЬТРОВ
METHODS AND SYSTEMS FOR GENERATING FILTER COEFFICIENTS AND CONFIGURING FILTERS

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Данная заявка заявляет приоритет предварительной заявки на патент США №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 битов на каждое дискретное значение, что меньше, чем любая информация боковой цепи, необходимая для обратного перематрицирования в декодере.
x
Для удобства, дальнейшее описание последующих операций, выполняемых в кодере 1, относится к дискретным значениям (и их кодированию) в одном единственном канале, представленном как вывод ступени 3. Следует понимать, что описываемое кодирования выполняется на дискретных значениях (идентифицируемых на фиг.1 как дискретные значения «S») во всех каналах.
Предсказатель 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, выполняется операция округления (например, до ближайшего целого числа)
n
На ступени 4 предсказатель 5 вычитает каждое текущее значение квантованного, комбинированного вывода, P, фильтров 7 и 9 из каждого текущего значения последовательности кодированных дискретных значений из ступени 3 с целью генерирования последовательности остаточных значений (остатков). Остаточные значения являются показателями разности между каждым кодированным дискретным значением из ступени 3 и предсказанной версией этого кодированного дискретного значения. Остаточные значения, генерируемые на ступени 4, утверждаются на ступени 11 представления с блочно-плавающей запятой.
n
n
n
n
n
n
n
n
Конкретнее, на ступени 4 квантованный, комбинированный вывод, P, фильтров 7 и 9 (в ответ на предыдущие значения, включающие «(n-1)»-е кодированное значение, последовательности кодированных дискретных значений из ступени 3 и последовательности остаточных значений из ступени 4) вычитается из «n»-го кодированного дискретного значения указанной последовательности, генерируя «n»-й остаток, где P - квантованная версия разности Y-X, где X - текущее значение, утверждаемое на выходе фильтра 7 в ответ на предыдущие остаточные значения, Y - текущее значение, утверждаемое на выходе фильтра 9 в ответ на предыдущие кодированные дискретные значения в указанной последовательности, и Y-X - предсказанное «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) и кодирования с предсказанием (в предсказателе 5) заключается в максимально возможном обратимом понижении уровня сигнала с целью извлечения максимальной выгоды из кодирования с блочно-плавающей запятой на ступени 11.
Кодированные значения, генерируемые в ходе ступени 11, подвергаются кодированию методом Хаффмана в кодере Хаффмана на ступени 13 с целью дальнейшего обратимого уменьшения их размера/понижения уровня. Результирующие, кодированные методом Хаффмана значения упаковываются (с данными боковой цепи) на ступени 15 упаковки для вывода из кодера 1. Ступень 13 кодера Хаффмана, предпочтительно, понижает уровень отдельных повсеместно встречающихся дискретных значений путем замещения каждого из них более коротким кодовым словом из справочной таблицы (инверсия которой реализуется в декодере 25 Хаффмана в системе по фиг.3), допускающей восстановление оригинального дискретного значения при помощи поиска по обратной таблице в декодере по фиг.3.
На ступени 15 упаковки выходной поток данных генерируется путем совместной упаковки значений, кодированных методом Хаффмана (из кодера 13), слов боковой цепи (получаемых из каждой ступени кодера 1, на которой они генерируются) и данных о коэффициентах фильтра (из предсказателя 5), которые определяют текущую конфигурацию фильтра 7 IIR (и, как правило, текущую конфигурацию фильтра 9 FIR). Выходной поток данных представляет собой кодированные данные (являющиеся показателями входных дискретных значений аудиоданных), т.е. сжатые данные (поскольку кодирование, выполняемое в кодере 1 представляет собой сжатие без потерь). В декодере (например, в декодере 21 по фиг.3) выходной поток данных может декодироваться для восстановления оригинальных входных дискретных значений аудиоданных, сжатых без потерь.
В альтернативных вариантах осуществления изобретения, фильтр с предсказанием ступени 5 предсказателя реализуется как имеющий иную конструкцию, чем конструкция, показанная на фиг.1 (например, конструкцию какого-либо из вариантов осуществления изобретения, описанных в упомянутом выше патенте США №6664913), но являющийся конфигурируемым (например, адаптивно обновляемым) с использованием предварительно определенной палитры коэффициентов IIR согласно настоящему изобретению. Фильтр с предсказанием ступени 5 предсказателя может реализовываться (с конструкцией, показанной на фиг.1) традиционным образом (например, как в вышеупомянутом патенте США №6664913) за исключением того, что традиционная реализация модифицируется в соответствии с одним из вариантов осуществления настоящего изобретения так, чтобы фильтр с предсказанием являлся конфигурируемым (и адаптивно обновляемым) с использованием предварительно определенной палитры коэффициентов IIR (палитры 8) согласно настоящему изобретению. В ходе указанного обновления набор коэффициентов фильтра IIR (из тех, которые включены в палитру 8) выбирается и используется для конфигурирования фильтра 7 IIR, а фильтр 9 FIR конфигурируется для приемлемого (или оптимального) совместного действия со сконфигурированным таким образом фильтром 7. Фильтр 9 FIR может быть идентичен фильтру 59 FIR по фиг.2 за исключением того, что каждое выходное значение из такой реализации фильтра 9 представляет собой обратное значение по операции сложения для значения, которое должно было бы являться выводом из фильтра 59 в ответ на такой же самый ввод, ступень 6 вычитания (предсказателя 5 по фиг.1) может замещать ступень 56 по фиг.2, ступень 4 вычитания (предсказателя 5 по фиг.1) может замещать ступень 61 суммирования по фиг.2, ступень 10 квантования (предсказателя 5 по фиг.1) может быть идентична ступени 60 квантования по фиг.2, и фильтр 7 IIR (предсказателя 5 по фиг.1) может быть идентичен фильтру 57 IIR по фиг.2 (подключенному в конфигурации с обратной связью, показанной на фиг.2) за исключением того, что каждое выходное значение из такой реализации фильтра 7 представляет собой обратное значение по операции сложения для значения, которое могло бы быть выводом из фильтра 57 в ответ на тот же самый ввод.
Ниже описывается декодер 21 по фиг.3.
Как правило, на входах декодера 21 утверждается несколько каналов кодированных входных данных. Каждый канал, как правило, включает поток кодированных входных дискретных значений аудиоданных, и он может соответствовать отдельному каналу (или смеси каналов, определяемой перематрицированием в кодере 1) многоканальной звуковой программы.
Декодер 21 является сконфигурированным для выполнения следующих функций: операции распаковки (представленной ступенью 23 распаковки по фиг.3), операции декодирования методом Хаффмана (представленной ступенью 25 декодирования методом Хаффмана), операции декодирования представления с блочно-плавающей запятой (представленной ступенью 27), операции предсказания (включающей генерирование предсказываемых дискретных значений и генерирование из них декодированных дискретных значений), представленной предсказателем 29, и операции перематрицирования (представленной ступенью 41 перематрицирования). В некоторых вариантах осуществления изобретения, декодер 21 представляет собой процессор цифровой обработки сигналов (DSP), программируемый и иначе конфигурируемый для выполнения указанных функций (и, необязательно, дополнительных функций) в программном обеспечении.
Декодер 21 действует следующим образом:
ступень 23 распаковки распаковывает значения, кодированные методом Хаффмана (из кодера 13 в кодере 1), все слова боковой цепи (из ступеней кодера 1) и данные о коэффициентах фильтра (из предсказателя 5 кодера 1), и доставляет распакованные кодированные значения для обработки в декодере 25 Хаффмана, данные о коэффициентах фильтра - для обработки в предсказателе 29, и подмножества слов боковой цепи - для обработки на ступенях декодера 21 по необходимости. Ступень 23 может распаковывать значения, которые определяют размер (например, количество микроблоков) в каждом макроблоке принятых значений, кодированных методом Хаффмана (размер каждого макроблока может определять интервалы, с которыми должна изменяться конфигурация фильтра 31 IIR и фильтра 33 FIR (предсказателя 29 декодера 21)).
На ступени 25 декодирования методом Хаффмана, значения, кодированные методом Хаффмана, декодируются (путем выполнения инверсии операции кодирования методом Хаффмана, выполняемой в кодере 1), и результирующие значения, декодированные методом Хаффмана, доставляются на ступень 27 декодирования представления с блочно-плавающей запятой.
x
x
x
x
x
x
x
x
x
На ступени 27 декодирования представления с блочно-плавающей запятой (на блоках значений, декодированных методом Хаффмана) с целью получения кодированных значений V выполняется инверсия операции кодирования, которая выполнялась на ступени 11 кодера 1. Каждое из значений V равно сумме квантованного остатка, который генерировался предсказателем кодера (каждый квантованный остаток соответствует кодированному дискретному значению, S, генерируемому на ступени 3 перематрицирования кодера 1) и битов MSB кодированного дискретного значения S. Значение квантованного остатка равно S-P, где P - предсказанное значение S, генерируемое в предсказателе 5 кодера 1. Кодированные значения V доставляются на ступень 29 предсказателя. Фактически, каждая экспонента, определяемая выводом ступени 11 блочно-плавающей запятой кодера 1, добавляется обратно к мантиссам соответствующих блоков (также определяемых выводом ступени 11). Предсказатель 29 действует на результат этой операции.
В предсказателе 29 фильтр 33 FIR, как правило, идентичен фильтру 7 FIR кодера 1 по фиг.1 за исключением того, что фильтр 33 FIR подключается к предсказателю 29 в конфигурации с прямой связью (в то время как фильтр 7 в предсказателе 5 по фиг.1 подключается в конфигурации с обратной связью), и фильтр 31 IIR, как правило, идентичен фильтру 9 FIR кодера 1 по фиг.1 за исключением того, что фильтр 31 IIR в предсказателе 29 подключается в конфигурации с обратной связью (в то время как фильтр 9 в предсказателе 5 по фиг.1 подключается в конфигурации с прямой связью). В указанных типичных вариантах осуществления изобретения, каждый из фильтров 7, 9, 31 и 33 реализуется с конструкцией фильтра FIR (и каждый может рассматриваться как фильтр FIR), но каждый из фильтров 7 и 31 при подключении в конфигурации с обратной связью называется в данном раскрытии фильтром «IIR».
Предсказатель 29 выполняет следующие операции: вычитание (представленное ступенью 30 вычитания), суммирование (представленное ступенью 34 суммирования), фильтрацию IIR (представленную фильтром 31 IIR), фильтрацию FIR (представленную фильтром 33 FIR), квантование (представленное ступенью 32 квантования), и конфигурирование фильтра 31 IIR и фильтра 33 FIR и обновление конфигурации фильтров 31 и 33. В ответ на данные о коэффициентах фильтра (из предсказателя 5 кодера после распаковки на ступени 23) предсказатель 29 конфигурирует фильтр 33 FIR выбранным одним из наборов коэффициентов IIR из палитры 8 коэффициентов IIR (этот набор коэффициентов, как правило, идентичен набору коэффициентов, которые использовались в кодере для конфигурирования фильтра 7 IIR) и, как правило, также конфигурирует фильтр 31 IIR коэффициентами, заключенными (или иначе определяемыми) в данные о коэффициентах фильтра (эти коэффициенты, как правило, идентичны коэффициентам, которые использовались в кодере 1 для конфигурирования фильтра 9 FIR). Если данные о коэффициентах фильтра определяют (а не включают) текущий набор коэффициентов IIR, подлежащий использованию для конфигурирования фильтра 33, текущий набор коэффициентов IIR загружается из палитры 8 предсказателя 29 (на фиг.3) в фильтр 33 (в данном случае, палитра 8 по фиг.3 идентична аналогично пронумерованной палитре в предсказателе 5 по фиг.1).
Если данные о коэффициентах фильтра включают (а не определяют) текущий набор коэффициентов IIR, подлежащих использованию для конфигурирования фильтра 33, то палитра 8 не включается в декодер 21 (т.е. палитра коэффициентов IIR не сохраняется в памяти декодера 21), и для конфигурирования фильтра 33 используются сами данные о коэффициентах фильтра. Как отмечалось, в альтернативных вариантах осуществления изобретения, где данные о коэффициентах фильтра определяют один из наборов коэффициентов IIR (в палитре 8), подлежащих использованию для конфигурирования фильтра 33, этот набор коэффициентов IIR может выбираться из палитры 8 (которая была предварительно сохранена в памяти декодера 21) и использоваться для конфигурирования фильтра 33. В любом случае, фильтр 33 FIR (когда он используется для декодирования данных, которые были закодированы предсказателем 5 с фильтром 7 с использованием конкретного набора коэффициентов IIR) конфигурируется тем же самым набором коэффициентов IIR. Аналогично, когда данные о коэффициентах фильтра включают набор коэффициентов FIR, который был использован для конфигурирования фильтра 9 FIR предсказателя 5 (по фиг.1), фильтр 31 IIR конфигурируется этим набором коэффициентов FIR (для использования фильтром 31 при декодировании данных, которые были закодированы в предсказателе 5 фильтром 9 с использованием тех же самых коэффициентов FIR). Конфигурация фильтра 33 FIR (и фильтра 31 IIR), как правило, обновляется в ответ на каждый новый набор данных о коэффициентах фильтра.
В альтернативных реализациях декодера (в которых палитра 8 по фиг.3, как правило, не идентична палитре по фиг.1, но в которых палитра по фиг.3 включает предварительно определенные наборы коэффициентов IIR, предназначенных для конфигурирования фильтра 31), предсказатель действует в режиме конфигурирования (например, такого же типа, как и тот, для выполнения которого действует предсказатель 5 кодера 1) с целью выбора одного из наборов коэффициентов IIR из предварительно определенной палитры 8 коэффициентов IIR (согласно какому-либо из вариантов осуществления способа изобретения) и для конфигурирования фильтра 31 IIR выбранным одним из наборов, а также, как правило, для соответствующего конфигурирования фильтра 33 FIR (например, согласно какому-либо из вариантов осуществления способа изобретения). В некоторых таких реализациях предсказатель 29 действует для обновления фильтров 31 и 33 адаптивным образом (например, согласно какому-либо из вариантов осуществления способа изобретения). Альтернативные реализации, описанные в данном абзаце не могут подходить для реконструкции без потерь данных, которые были кодированы в кодере сжатия без потерь, если они не могут конфигурировать фильтры 31 и 33 так, чтобы конфигурация предсказателя 29 совпадала с конфигурацией его аналога в кодере для кодирования дискретных значений предсказателем кодера в такой конфигурации.
В любом варианте осуществления кодера согласно изобретению, который включает как фильтр 31 IIR, так и фильтр 33 FIR, каждый раз, когда определяется (или обновляется) конфигурация одного из фильтров, фильтра 31 IIR или фильтра 33 FIR, определяется (или обновляется) конфигурация другого фильтра, фильтра 31 IIR или фильтра 33 FIR. В типичных случаях, это осуществляется путем конфигурирования обоих фильтров 31 и 33 коэффициентами, заключенными в текущем наборе данных о коэффициентах фильтра (которые были приняты из кодера и распакованы на ступени 23). В этих случаях, кодер передает все требуемые коэффициенты FIR и IIR в декодер с тем, чтобы декодеру не приходилось выполнять какие-либо вычисления, и чтобы он не должен был знать палитру IIR, используемую кодером (которая может быть изменена в любой момент без какой-либо необходимости в изменении существующих декодеров). В этих случаях, необходимость в передаче коэффициентов (в декодер из кодера), как правило, налагает ограничения на процесс генерирования палитры коэффициентов IIR, которая используется в кодере, поскольку обычно существует максимальное количество коэффициентов IIR+FIR, которое может быть отправлено в декодер, максимальное общее количество ступеней фильтра, которые могут быть использованы (в предсказателе кодера и в предсказателе декодера), и максимальное общее количество битов, которые могут быть использованы для передаваемых коэффициентов.
x
x
Снова со ссылкой на декодер 21 по фиг.3, фильтры 31 и 33 реализуются и конфигурируются так, чтобы их объединенные выводы, в ответ на последовательность кодированных значений V (генерируемых на ступени 27), являлись показателем предсказанного следующего кодированного значения V в этой последовательности. На ступени 30 предсказатель 29 вычитает каждое текущее значение вывода фильтра 33 из текущего значения вывода фильтра 31, генерируя последовательность предсказанных значений. На ступени 32 квантования предсказатель 29 генерирует последовательность квантованных значений путем выполнения операции округления (например, до ближайшего целого числа) на каждом предсказанном значении, генерируемом на ступени 30.
x
x
x
На ступени 34 предсказатель 29 добавляет каждое квантованное текущее значение к объединенному выводу фильтров 31 и 33 (предсказанному следующему кодированному значению V, выходному из ступени 32) для каждого текущего значения последовательности кодированных значений V, генерируя последовательность кодированных значений S.
x
x
x
x
Каждое из кодированных значений S, генерируемых на ступени 34, представляет собой точно восстановленную версию соответствующего одного из кодированных дискретных значений аудиоданных, S, которое генерировалось на ступени 3 перематрицирования кодера 1 (а затем подвергалось кодированию с предсказанием на ступени 5 предсказателя в кодере 1). Каждая последовательность квантованных значений S, генерируемых на ступени 29 предсказателя, идентична соответствующей последовательности кодированных значений S, которые генерировались на ступени 3 перематрицирования в кодере 1.
x
x
Квантованные значения S, генерируемые на ступени 29 предсказателя, подвергаются перематрицированию на ступени 41 перематрицирования. На ступени 41 перематрицирования на значениях S с целью восстановления оригинальных входных дискретных значений аудиоданных, которые изначально утверждались в кодере 1, выполняется инверсия кодирования с перематрицированием, которое выполнялось на ступени 3 кодера 1. Эти восстановленные дискретные значения, отмеченные на фиг.3 как «выходные дискретные значения аудиоданных», как правило, включают несколько каналов дискретных значений аудиоданных.
Каждая ступень кодирования в системе по фиг.1, как правило, генерирует свои собственные данные боковой цепи. Ступень 3 перематрицирования генерирует коэффициенты перематрицирования, предсказатель 5 генерирует обновленные наборы коэффициентов фильтра IIR, кодер 13 Хаффмана генерирует индекс для специальной справочной таблицы Хаффмана (для использования декодером 21, которой мог бы реализовывать такую же справочную таблицу), а ступень 11 представления с блочно-плавающей запятой генерирует общую экспоненту для каждого блока дискретных значений плюс мантиссы индивидуальных дискретных значений. Ступень 15 упаковки реализует главную программу упаковки, которая принимает все данные боковой цепи из всех ступеней кодирования и упаковывает их все совместно. Ступень 23 распаковки в декодере по фиг.3 выполняет обратную операцию (распаковку).
Ступень 29 предсказателя в декодере 21 применяет к последовательности входящих в него значений (из ступени 27) такой же предсказатель, как и предсказатель, реализуемый декодером 1, с целью предсказания следующего значения в последовательности. В типичной реализации ступени 29 предсказателя, каждое предсказанное значение добавляется к соответствующему значению, принимаемому из ступени 27, с целью реконструкции кодированного дискретного значения, которое представляло собой вывод из ступени 3 перематрицирования в кодере 1. Декодер 21 также выполняет инверсии операций кодирования методом Хаффмана и перематрицирования (выполняемых в кодере 1) с целью восстановления оригинальных входных дискретных значений, утвержденных в кодере 1.
Система по фиг.1, предпочтительно, реализуется как цифровой аудиокодер сжатия без потерь, и декодированный вывод (генерируемый на выходе совместимой реализации декодера по фиг.3) обязан точно, побитно совпадать с вводом по фиг.1. Предпочтительные реализации кодера и декодера согласно изобретению (например, кодера по фиг.1 и декодера по фиг.3) совместно используют общий протокол для выражения некоторых классов сигналов в более компактной форме, и, таким образом, скорость передачи данных для вывода кодированных данных из кодера снижается, но декодер может восстанавливать ввод оригинального сигнала в кодер.
Предсказатель 5 системы по фиг.1 использует сочетание фильтров IIR и FIR (фильтр 9 FIR и фильтр 7 IIR). При совместной работе фильтры генерируют оценку следующего дискретного значения аудиоданных на основе предшествующих дискретных значений. Эта оценка вычитается (на ступени 6) из фактического дискретного значения, что в результате приводит к остаточному дискретному значению с пониженной амплитудой, которое квантуется и утверждается на ступени 11 для дальнейшего кодирования. Преимущество использования фильтра с предсказанием, включающего фильтры как и прямой, так и обратной связи (например, фильтр 7 IIR и фильтр 9 FIR) заключается в том, что каждый из фильтров, фильтр прямой связи и фильтр обратной связи, может быть эффективен для различных состояний сигнала, для которых он подходит наилучшим образом. Например, фильтр 9 FIR может компенсировать пик в спектре сигнала меньшим количеством коэффициентов, чем фильтр 7 IIR, в то время как обратное верно для внезапного спада в спектре сигнала. В качестве альтернативы, некоторые варианты осуществления фильтра с предсказанием согласно изобретению (и кодера или декодера, в котором он реализуется) включают только фильтр обратной связи (IIR).
Для эффективного функционирования, коэффициенты фильтров FIR и IIR в вариантах осуществления предсказателя согласно изобретению должны выбираться так, чтобы они совпадали с характеристиками входного сигнала в предсказатель. Для проектирования фильтра FIR при заданном блоке сигнала существуют эффективные стандартные программы (например, рекурсивный метод Левинсона-Дарбина), но для конфигурирования фильтра IIR такого алгоритма не существует, как отдельно, так и во взаимодействии с фильтром FIR. Для того, чтобы позволить эффективно выбирать коэффициенты фильтра IIR (с целью конфигурирования фильтра IIR в предсказателе), согласно одному из классов вариантов осуществления изобретения, генерируется палитра предварительно рассчитанных наборов коэффициентов фильтра IIR, определяющая набор фильтров IIR, который генерируется с использованием условной нелинейной оптимизации (например, одного или обоих методов: условного ньютоновского метода или условного симплексного метода). Данный процесс может отнимать много времени, поскольку он выполняется перед фактическим конфигурированием фильтра с предсказанием с использованием указанной палитры. Палитра, включающая наборы коэффициентов фильтра IIR (где каждый набор определяет фильтр IIR), делается доступной для системы (например, для кодера), которая реализует фильтр с предсказанием, подлежащий конфигурированию. Как правило, палитра хранится в системе (например, в кодере), но, в альтернативном варианте, она может храниться вне системы, и доступ к ней получается при необходимости. Память, в которой хранится палитра, в данном раскрытии иногда для удобства называется самой палитрой (например, палитра 8 предсказателя 5 представляет собой память, в которой хранится палитра, которая была генерирована согласно изобретению). Палитра, предпочтительно, достаточно невелика (является существенно короткой), чтобы кодер мог быстро испытывать каждый фильтр IIR, определяемый набором коэффициентов в палитре. После испытания каждого кандидата-фильтра IIR, кодер (который реализует фильтр с предсказанием, включающий фильтр FIR, а также фильтр IIR) может выполнять эффективную рекурсию Левинсона-Дарбина на остаточном выводе IIR (определяемом с использованием фильтра IIR, сконфигурированного выбранным набором коэффициентов) для определения оптимального набора коэффициентов фильтра FIR. Фильтр FIR и фильтр IIR конфигурируются в соответствии с определенным наилучшим сочетанием конфигураций FIR и IIR, и применяются для получения данных, подвергнутых фильтрации с предсказанием (например, последовательности остатков, передаваемой из ступени 5 предсказания по фиг.1 на ступень 11). В альтернативных вариантах осуществления кодера, данные, подвергнутые фильтрации с предсказанием, которые генерируются сконфигурированным фильтром с предсказанием (например, остатки, генерируемые сконфигурированной ступенью 5 в ответ на каждый входящий в нее блок дискретных значений), передаются в декодер без дальнейшего кодирования наряду с выбранными коэффициентами фильтра IIR, использованными для генерирования этих данных (или с данными о коэффициентах фильтра, идентифицирующими выбранные коэффициенты IIR).
В одном из предпочтительных вариантов осуществления изобретения, кодер согласно изобретению (например, кодер 1 по фиг.1) реализуется для работы с размером блока дискретных значений, который является переменным в следующем смысле. Например, как отмечалось выше в связи с адаптивным обновлением конфигураций фильтров 7 и 9, кодер 1, предпочтительно, действует для определения того, сколько микроблоков кодированных дискретных значений (генерируемых на ступени 3) подлежат дальнейшему кодированию с использованием каждой определенной конфигурации фильтров 7 и 9. В таких предпочтительных вариантах осуществления изобретения, кодер 1 эффективно определяет размер «макроблока» кодированных дискретных значений (генерируемых на ступени 3), которые будут кодироваться с использованием каждой определенной конфигурации фильтров 7 и 9 (без обновления конфигурации). Например, предпочтительный вариант осуществления предсказателя 5 в кодере 1 может определять размер каждого макроблока кодированных дискретных значений (генерируемых на ступени 3), подлежащих кодированию с использование каждой определенной конфигурации фильтров 7 и 9, как количество N микроблоков (где N находится в интервале 1≤N≤128). Для определения оптимального количества N, предсказатель 5 может действовать для обновления фильтров 7 и 9 единожды в каждом микроблоке дискретных значений (например, состоящем из 48 дискретных значений) и для фильтрации каждого микроблока из последовательности микроблоков, а затем для обновления фильтров 7 и 9 (например, множеством способов, описанных в данном раскрытии) один раз на каждую последовательность из X микроблоков и для фильтрации каждого микроблока из последовательности таких групп микроблоков, а затем для обновления фильтров 7 и 9 один раз на каждую большую группу микроблоков и для фильтрации каждого микроблока из последовательности таких больших групп микроблоков, и т.д. в последовательности (например, до группы из 128 микроблоков), и для определения исходя из результирующих данных оптимального размера макроблока (оптимального количества N микроблоков на один макроблок). Например, оптимальный размер макроблока может представлять собой максимальное количество микроблоков, которые могут совместно группироваться для образования каждого макроблока без неприемлемого повышения уровня RMS остатков, генерируемых предсказателем 5 (или уровня RMS выходного потока данных, генерируемого кодером 1, включая все служебные данные).
В некоторых вариантах осуществления изобретения, адаптивное обновление фильтра 7 IIR и фильтра 9 FIR выполняется один раз (или Z раз, где Z - некоторое определенное число) на один макроблок (например, один раз на каждые 128 микроблоков дискретных значений, подлежащих кодированию кодером 1), но не более чем один раз на микроблок дискретных значений, подлежащих кодированию кодером 1. В некоторых вариантах осуществления изобретения, операция кодирования кодером 1 отменяется для первых Х (например, X=8) дискретных значений в каждом макроблоке (в течение промежутков, когда операция кодирования отменяется, фильтр 7 IIR и фильтр 9 FIR могут обновляться). Х некодированных дискретных значений в каждом макроблоке ретранслируются в декодер.
Некоторые варианты осуществления кодера 1 ограничивают интервалы между событиями адаптивного обновления конфигураций фильтра с предсказанием (например, максимальную частоту, с которой допускается обновление фильтров 7 и 9), например, с целью оптимизации эффективности кодирования. Каждый раз, когда конфигурация фильтра 7 IIR в кодере 1 (реализованном как кодер сжатия без потерь) изменяется согласно изобретению, в кодере происходит изменение состояния, что требует, чтобы передавались служебные данные (данные боковой цепи), являющиеся показателем нового состояния, позволяющие декодеру 21 учитывать каждое изменение состояния при декодировании. Однако если изменение состояния кодера происходит по какой-либо причине, не являющейся изменением конфигурации фильтра IIR (например, из-за изменения состояния, происходящего в начале обработки нового макроблока дискретных значений), служебные данные, являющиеся показателем нового состояния, также должны передаваться в декодер, и, таким образом, в это время может быть выполнено изменение конфигурации фильтров 7 и 9 без добавления (или без значительного или недопустимого добавления) к количеству служебных данных, которые должны передаваться. Поэтому некоторые варианты осуществления кодера 1 сконфигурированы для выполнения операции определения непрерывности с целью определения того, когда имеет место изменение состояния кодера, и для управления расчетом времени операций по соответствующему изменению конфигурации фильтров 7 и 9 (например, так, чтобы изменение конфигурации фильтров 7 и 9 откладывалось до возникновения события изменения состояния в начале нового макроблока).
Далее будет описано четыре особенности предпочтительных вариантов осуществления программного обеспечения способа и системы согласно изобретению. Первые две особенности представляют собой предпочтительные способы (и системы, запрограммированные для их выполнения), предназначенные для генерирования палитры коэффициентов фильтра IIR, подлежащих доставке в кодер с целью использования при конфигурировании фильтра с предсказанием в кодере (где фильтр с предсказанием включает фильтр IIR, а также, необязательно, фильтр FIR). Вторые две особенности представляют собой предпочтительные способы (и системы, запрограммированные для их выполнения), предназначенные для использования палитры при конфигурировании фильтра с предсказанием в кодере, где фильтр с предсказанием включает фильтр IIR, а также, необязательно, фильтр FIR.
Как правило, процессор (соответствующим образом запрограммированный аппаратно-программным обеспечением или программным обеспечением согласно одному из вариантов осуществления изобретения) действует для генерирования оригинальной палитры коэффициентов фильтра IIR, подлежащих доставке в кодер. Как было описано выше, каждый набор коэффициентов оригинальной палитры может генерироваться путем выполнения нелинейной оптимизации по набору («обучающему набору») входных сигналов (например, дискретных значений аудиоданных) при условии, по меньшей мере, одного ограничения. Поскольку указанный процесс может приводить к неприемлемо большой оригинальной палитре, на оригинальной палитре может выполняться процесс отсечения (с целью отбраковки из нее наборов коэффициентов IIR и, посредством этого, генерирования меньшей окончательной палитры коэффициентов IIR) на основе некоторого сочетания накопления гистограмм и общего улучшения, обеспечиваемых каждым кандидатом-фильтром IIR, по обучающему набору.
В типичном варианте осуществления изобретения, оригинальная палитра коэффициентов IIR подвергается отсечению для получения окончательной палитры следующим образом. Для каждого блока дискретных значений сигнала каждого сигнала в (возможно, отличающемся) обучающем наборе сигналов (возможно, ином, чем обучающий набор, использованный для генерирования оригинальной палитры), для каждого кандидата-фильтра IIR в оригинальной палитре с использованием рекурсии Левинсона-Дарбина вычисляется соответствующий фильтр FIR. Оцениваются остатки, генерируемые объединенными кандидатом-фильтром IIR и фильтром FIR, и для включения в окончательную палитру выбираются коэффициенты IIR, которые определяют фильтр IIR в комбинации фильтра IIR и фильтра FIR и которые приводят к остаточному сигналу, имеющему наименьший уровень RMS (выбор может быть обусловлен максимальной Q и требуемой точностью комбинации фильтров IIR/FIR). Могут накапливаться гистограммы общего использования каждого фильтра и общего улучшения. После обработки обучающего набора, наименее эффективные фильтры отсекаются из палитры. Процедура обучения может повторяться до тех пор, пока не будет достигнута палитра требуемого размера.
В предпочтительных вариантах осуществления изобретения, способ изобретения генерирует палитру коэффициентов фильтра IIR так, чтобы каждый фильтр, определяемый каждым набором коэффициентов в палитре, имел порядок, который может выбираться из большого количества различных возможных порядков. Например, рассмотрим один из наборов («первый» набор) коэффициентов IIR в такой палитре. Указанный первый набор может быть полезен для конфигурирования фильтра IIR, имеющего выбираемый порядок в следующем смысле: первое подмножество (коэффициентов в первом наборе) определяет выбранную реализацию фильтра IIR первого порядка, и, по меньшей мере, еще одно подмножество (коэффициентов в первом наборе) определяет выбранную реализацию фильтра IIR N-го порядка (где N - целое число больше единицы, например, N=4 для реализации фильтра IIR четвертого порядка). В предпочтительном варианте осуществления изобретения, фильтр с предсказанием, подлежащий конфигурированию с использованием указанной палитры (например, предпочтительная реализация фильтра с предсказанием, реализуемая ступенью 5 кодера 1), включает фильтр IIR и фильтр FIR, и в ходе конфигурирования фильтра с предсказанием с использованием палитры порядки этих фильтров являются выбираемыми при условии таких ограничений: порядок фильтра IIR находится в интервале от 0 до X включительно (например, X=4), порядок фильтра FIR находится в интервале от 0 до Y (например, Y=12), и выбранные порядки фильтра IIR и фильтра FIR могут суммироваться до максимального Z (например, Z=12).
Как было отмечено, каждый набор коэффициентов в палитре может генерироваться путем выполнения нелинейной оптимизации по набору («обучающему набору») входных сигналов (например, дискретных значений аудиоданных) при условии, по меньшей мере, одного ограничения. В некоторых вариантах осуществления изобретения, это осуществляется следующим образом (предполагая, что фильтр с предсказанием, подлежащий конфигурированию с использованием палитры, будет применять для генерирования остатков как фильтр FIR, так и фильтр IIR). Для каждого пробного набора коэффициентов IIR каждой рекурсии оптимизатора на каждом блоке дискретных значений выполняется программа Левинсона-Дарбина конструирования FIR с целью получения оптимальных коэффициентов фильтра FIR с предсказанием, соответствующих фильтру IIR с предсказанием, определяемому пробным набором. Наилучшее сочетание порядков фильтров IIR/FIR и значений коэффициентов IIR (и соответствующего FIR) определяется на основе минимального предсказываемого остатка, обусловленного ограничениями, налагаемыми на служебные данные передачи, максимальную Q фильтра, численную точность коэффициентов и стабильность. Для каждого сигнала в пробном наборе, пробный набор коэффициентов IIR, включаемый в «наилучшую» комбинацию IIR/FIR, определяемую путем оптимизации, включается в оригинальную палитру (если еще в ней не присутствует). Процесс продолжается до накопления набора коэффициентов IIR в оригинальной палитре для каждого сигнала во всем обучающем наборе.
Предпочтительный способ (и система, запрограммированная для его выполнения), предназначенный для использования палитры коэффициентов IIR, определяемой согласно изобретению с целью конфигурирования фильтра с предсказанием в кодере (где фильтр с предсказанием включает фильтр IIR и фильтр FIR), включает следующие этапы: для каждого блока в наборе входных данных - каждый фильтр IIR определяемый наборами коэффициентов в палитре, применяется для генерирования первых остатков, наилучшая конфигурация фильтра FIR для каждого фильтра IIR определяется путем применения рекурсивного метода Левинсона-Дарбина к первым остаткам (например, для определения конфигурации FIR, которая при применении к первым остаткам в результате приводит к набору остатков предсказания, имеющих наименьший уровень (например, наименьший уровень RMS), в том числе с учетом служебных данных передачи коэффициентов (например, включая служебные данные, которые требуется передать с каждым набором остатков предсказания, и выбора конфигурации FIR, которая минимизирует уровень остатков предсказания, включая служебные данные)), и конфигурирование фильтра с предсказанием наилучшим определенным сочетанием коэффициентов IIR и коэффициентов FIR.
Предпочтительный способ (и система, запрограммированная для его выполнения), предназначенный для использования палитры коэффициентов IIR, определяемой согласно изобретению для конфигурирования фильтра с предсказанием в кодере (где фильтр с предсказанием включает фильтр IIR и фильтр FIR), включает следующие этапы: использование указанной палитры для определения наилучшего сочетания коэффициентов IIR и коэффициентов FIR (согласно какому-либо из вариантов осуществления изобретения), и установку состояния фильтра с предсказанием с использованием определенного наилучшего сочетания коэффициентов IIR и коэффициентов FIR по способу, учитывающему (предпочтительно, так, чтобы максимально увеличить) непрерывность выходного сигнала (например, с использованием оптимизации методом наименьших квадратов). Например, конфигурация фильтра с предсказанием может не изменяться вновь определенным набором коэффициентов IIR и FIR, если осуществление этого изменения потребовало бы передачи неприемлемых служебных данных (например, предназначенных для указания изменения состояния в результате изменения конфигурации декодера), или конфигурация фильтра с предсказанием изменяется вновь определенным набором коэффициентов IIR и FIR в момент времени, совпадающий с изменением состояния вначале нового макроблока дискретных значений, подлежащих кодированию с предсказанием.
Для того, чтобы позволить использование на практике предсказателя с обратной связью (предсказателя, включающего фильтр с предсказанием, который включает фильтр обратной связи с приращением за счет предсказания с прямой связью или без него), предусматривается кодер, включающий предсказатель, со списком («палитрой») предварительно вычисленных коэффициентов фильтра обратной связи в соответствии с некоторыми вариантами осуществления изобретения. Если выбору подлежит новый фильтр, кодеру необходимо лишь испытать каждый фильтр обратной связи (IIR), определяемый палитрой (на наборе значений входных данных, например, на блоке дискретных значений аудиоданных), для определения наилучшего выбора, что обычно представляет собой быстрое вычисление, если палитра не является слишком большой. Например, наилучший выбор коэффициентов для предсказателя может определяться путем испытания каждого набора коэффициентов в палитре и выбора в качестве «наилучшего» набора коэффициентов того набора коэффициентов, который приводит к остаточному сигналу, имеющему наименьший уровень RMS (где остаточный сигнал генерируется для каждого набора коэффициентов путем применения фильтра с предсказанием, сконфигурированного указанным набором, к входному сигналу, например, к входному сигналу, подлежащему кодированию, или к другому сигналу, имеющему характеристики, сходные с характеристиками подлежащего кодированию входного сигнала). Как правило, лучше всего минимизировать уровень RMS остатка, поскольку это позволит процессору с блочно-плавающей запятой (или другой ступени кодирования) минимизировать биты генерируемых таким образом кодированных данных.
В некоторых вариантах осуществления изобретения, для кодера с предсказанием в многоступенчатом кодере, где многоступенчатый кодер включает другие ступени кодирования (например, ступени кодирования с блочно-плавающей запятой и кодирования методом Хаффмана), а также кодер с предсказанием, способ выбора наилучшего сочетания конфигураций фильтров FIR/IIR (или наилучшей конфигурации фильтра IIR) рассматривает результат применения всех ступеней кодирования (включая предсказатель) к входному сигналу (где кодер с предсказанием конфигурируется каждым из кандидатов-наборов коэффициентов IIR, определяемых палитрой). Выбранное сочетание коэффициентов FIR/IIR (или наилучший набор коэффициентов IIR) может быть таким, что в результате приводит к наименьшей скорости передачи данных для полностью кодированного вывода из многоступенчатого кодера. Однако, поскольку такое вычисление может требовать затрат времени, в качестве критерия для определения наилучшего сочетания коэффициентов FIR/IIR (или наилучшего набора коэффициентов IIR) для кодера с предсказанием указанного многоступенчатого кодера может использоваться только уровень RMS (также учитывающий служебные данные боковой цепи) вывода ступени кодирования с предсказанием.
Также, поскольку изменение конфигурации фильтра с предсказанием в кодере (для реализации нового набора коэффициентов фильтра IIR, или коэффициентов фильтров IIR и FIR) может вносить кратковременный переход, который будет увеличивать скорость передачи данных вывода кодера, предпочтительным иногда является учет служебных данных, связанных с каждым таким переходом, при определении расчета времени предусматриваемого изменения конфигурации фильтра с предсказанием.
Как отмечалось выше, в некоторых вариантах осуществления изобретения для определения набора коэффициентов фильтра FIR, предназначенных для конфигурирования фильтра FIR в фильтре с предсказанием, где фильтр с предсказанием включает как фильтр FIR, так и фильтр IIR, а набор коэффициентов фильтра IIR (предназначенных для конфигурирования фильтра IIR) является уже определенным (например, с использованием какого-либо варианта осуществления способа изобретения), используется рекурсивный метод (например, рекурсия Левинсона-Дарбина). В этом контексте, фильтр FIR может представлять собой фильтр прямой связи N-го порядка с предсказанием, и рекурсивный метод может принимать в качестве ввода блок дискретных значений (например, дискретных значений, генерируемых путем применения к данным фильтра IIR, сконфигурированного определенным набором коэффициентов IIR) и определять с использованием рекурсивных вычислений оптимальный набор коэффициентов фильтра FIR для фильтра FIR. Указанные коэффициенты могут являться оптимальными в том смысле, что они минимизируют среднеквадратичную ошибку остаточного сигнала. Каждая итерация в ходе рекурсии (до того, как она сойдется, определяя оптимальный набор коэффициентов фильтра FIR), как правило, предполагает отличающийся набор коэффициентов фильтра FIR (иногда называемый в данном раскрытии «кандидатом-набором» коэффициентов фильтра FIR). В некоторых случаях, рекурсия может начинаться с нахождения оптимальных коэффициентов предсказателя 1-го порядка, затем использовать их для нахождения оптимальных коэффициентов предсказателя 2-го порядка, затем использовать эти коэффициенты для нахождения оптимальных коэффициентов предсказателя 3-го порядка, и т.д. до тех пор, пока не будет определен оптимальный набор коэффициентов фильтра для фильтра прямой связи N-го порядка с предсказанием.
В типичных вариантах осуществления изобретения, система согласно изобретению включает процессор общего, или специального, назначения, запрограммированный программным обеспечением (или аппаратно-программным обеспечением) или иначе сконфигурированный для выполнения одного из вариантов осуществления способа изобретения. Предпочтительной реализацией для многих применений будет являться процессор цифровой обработки сигналов (DSP), предназначенный для обработки ожидаемых входных данных (например, дискретных значений аудиоданных). В некоторых вариантах осуществления изобретения, система согласно изобретению представляет собой процессор общего назначения, подключенный для приема входных данных, являющихся показателем дискретных значений аналогового сигнала (например, дискретных значений звукового сигнала), и запрограммированный (соответствующим программным обеспечением) для генерирования выходных данных в ответ на входные данные путем выполнения одного из вариантов осуществления способа изобретения (например, для генерирования палитры коэффициентов фильтра IIR и/или для выполнения операции фильтрации с предсказанием на дискретных значениях данных и адаптивного обновления конфигурации фильтра IIR и фильтра FIR в фильтре с предсказанием, используемом для выполнения фильтрации). В некоторых вариантах осуществления изобретения, система согласно изобретению представляет собой кодер (реализованный как DSP), декодер (реализованный как DSP) или другой DSP, запрограммированный и/или иначе сконфигурированный для выполнения одного из вариантов осуществления способа изобретения на данных, являющихся показателями дискретных значений аналогового сигнала (например, дискретных значений звукового сигнала).
Фиг.4 представляет собой вид в вертикальной проекции машиночитаемого оптического диска 50, на котором хранится код, предназначенный для реализации одного из вариантов осуществления способа изобретения (например, для генерирования палитры коэффициентов фильтра IIR и/или для выполнения операции фильтрации с предсказанием на дискретных значениях данных и для адаптивного обновления конфигурации фильтра IIR и фильтра FIR в фильтре с предсказанием, используемом для выполнения фильтрации). Например, код может исполняться процессором для генерирования палитры коэффициентов фильтра IIR (например, палитры 8). Или код может загружаться в один из вариантов осуществления кодера 1 - в программный кодер 1 - для выполнения операции фильтрации с предсказанием (в предсказателе 5) в соответствии с одним из вариантов осуществления изобретения на дискретных значениях данных и для адаптивного обновления конфигурации фильтра 7 IIR и фильтра 9 FIR в соответствии с одним из вариантов осуществления изобретения, или в один из вариантов осуществления декодера 21 - в программный декодер 21 - для выполнения операции фильтрации с предсказанием (в предсказателе 29) в соответствии с одним из вариантов осуществления изобретения на дискретных значениях данных и для адаптивного обновления конфигурации фильтра 31 IIR и фильтра 33 FIR в соответствии с одним из вариантов осуществления изобретения.
Несмотря на то, что в данном раскрытии были описаны конкретные варианты осуществления изобретения и применения изобретения, средним специалистам в данной области будет очевидно, что в описанные в данном раскрытии варианты осуществления изобретения и применения возможно внесение множества изменений без отступления от объема изобретения, описанного и заявленного в данном раскрытии. Следует понимать, что, несмотря на то, что были показаны и описаны некоторые формы изобретения, изобретение не следует ограничивать описанными и показанными конкретными вариантами его осуществления или описанными конкретными способами.