RU2562771C2 - Способы и системы генерирования коэффициентов фильтра и конфигурирования фильтров - Google Patents
Способы и системы генерирования коэффициентов фильтра и конфигурирования фильтров Download PDFInfo
- Publication number
- RU2562771C2 RU2562771C2 RU2013137876/08A RU2013137876A RU2562771C2 RU 2562771 C2 RU2562771 C2 RU 2562771C2 RU 2013137876/08 A RU2013137876/08 A RU 2013137876/08A RU 2013137876 A RU2013137876 A RU 2013137876A RU 2562771 C2 RU2562771 C2 RU 2562771C2
- Authority
- RU
- Russia
- Prior art keywords
- filter
- iir
- coefficients
- data
- prediction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000005457 optimization Methods 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 10
- 238000013144 data compression Methods 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 abstract description 10
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000008859 change Effects 0.000 description 25
- 238000001914 filtration Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 238000007667 floating Methods 0.000 description 9
- 238000013139 quantization Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Изобретение относится к способам и системам конфигурирования (в том числе путем адаптивного обновления) фильтра с предсказанием. Технический результат заключается в повышении эффективности определения небольших групп наборов возможных коэффициентов фильтра с предсказанием, из которых для конфигурирования фильтра с предсказанием может выбираться требуемый набор коэффициентов для оптимизации фильтра с бесконечной импульсной характеристикой (IIR) при использовании в соответствии со значимыми характеристиками сигнала. Технический результат достигается за счет способа генерирования палитры наборов коэффициентов фильтра обратной связи и применения указанной палитры для конфигурирования фильтра с предсказанием, который включает фильтр обратной связи, и системы для выполнения любого из способов. В некоторых вариантах осуществления изобретения фильтр с предсказанием включается в кодер, способный действовать для генерирования (и утверждения в декодере) кодированных данных, включающих данные о коэффициентах фильтра, являющиеся показателем выбранного набора коэффициентов IIR, которыми конфигурировался фильтр с предсказанием в ходе генерирования кодированных данных. 4 н. и 20 з.п. ф-лы, 4 ил.
Description
ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Данная заявка заявляет приоритет предварительной заявки на патент США №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) и кодирования с предсказанием (в предсказателе 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 декодирования представления с блочно-плавающей запятой.
На ступени 27 декодирования представления с блочно-плавающей запятой (на блоках значений, декодированных методом Хаффмана) с целью получения кодированных значений Vx выполняется инверсия операции кодирования, которая выполнялась на ступени 11 кодера 1. Каждое из значений Vx равно сумме квантованного остатка, который генерировался предсказателем кодера (каждый квантованный остаток соответствует кодированному дискретному значению, Sx, генерируемому на ступени 3 перематрицирования кодера 1) и битов MSB кодированного дискретного значения Sx. Значение квантованного остатка равно Sx-Px, где Px - предсказанное значение Sx, генерируемое в предсказателе 5 кодера 1. Кодированные значения Vx доставляются на ступень 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, которое может быть отправлено в декодер, максимальное общее количество ступеней фильтра, которые могут быть использованы (в предсказателе кодера и в предсказателе декодера), и максимальное общее количество битов, которые могут быть использованы для передаваемых коэффициентов.
Снова со ссылкой на декодер 21 по фиг.3, фильтры 31 и 33 реализуются и конфигурируются так, чтобы их объединенные выводы, в ответ на последовательность кодированных значений Vx (генерируемых на ступени 27), являлись показателем предсказанного следующего кодированного значения Vx в этой последовательности. На ступени 30 предсказатель 29 вычитает каждое текущее значение вывода фильтра 33 из текущего значения вывода фильтра 31, генерируя последовательность предсказанных значений. На ступени 32 квантования предсказатель 29 генерирует последовательность квантованных значений путем выполнения операции округления (например, до ближайшего целого числа) на каждом предсказанном значении, генерируемом на ступени 30.
На ступени 34 предсказатель 29 добавляет каждое квантованное текущее значение к объединенному выводу фильтров 31 и 33 (предсказанному следующему кодированному значению Vx, выходному из ступени 32) для каждого текущего значения последовательности кодированных значений Vx, генерируя последовательность кодированных значений Sx.
Каждое из кодированных значений Sx, генерируемых на ступени 34, представляет собой точно восстановленную версию соответствующего одного из кодированных дискретных значений аудиоданных, Sx, которое генерировалось на ступени 3 перематрицирования кодера 1 (а затем подвергалось кодированию с предсказанием на ступени 5 предсказателя в кодере 1). Каждая последовательность квантованных значений Sx, генерируемых на ступени 29 предсказателя, идентична соответствующей последовательности кодированных значений Sx, которые генерировались на ступени 3 перематрицирования в кодере 1.
Квантованные значения Sx, генерируемые на ступени 29 предсказателя, подвергаются перематрицированию на ступени 41 перематрицирования. На ступени 41 перематрицирования на значениях Sx с целью восстановления оригинальных входных дискретных значений аудиоданных, которые изначально утверждались в кодере 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 в соответствии с одним из вариантов осуществления изобретения.
Несмотря на то, что в данном раскрытии были описаны конкретные варианты осуществления изобретения и применения изобретения, средним специалистам в данной области будет очевидно, что в описанные в данном раскрытии варианты осуществления изобретения и применения возможно внесение множества изменений без отступления от объема изобретения, описанного и заявленного в данном раскрытии. Следует понимать, что, несмотря на то, что были показаны и описаны некоторые формы изобретения, изобретение не следует ограничивать описанными и показанными конкретными вариантами его осуществления или описанными конкретными способами.
Claims (24)
1. Способ применения предварительно определенной палитры наборов коэффициентов фильтра с бесконечной импульсной характеристикой (IIR) для конфигурирования фильтра с предсказанием дискретных значений, включающего фильтр IIR и фильтр с конечной импульсной характеристикой (FIR), при этом указанный способ включает этапы, на которых:
(a) для каждого из наборов коэффициентов IIR в палитре генерируют данные конфигурации, являющиеся показателем вывода, генерируемого путем применения к входным данным фильтра IIR, сконфигурированного указанным каждым из наборов коэффициентов IIR, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений, и идентифицируют в качестве выбранного набора коэффициентов IIR один из наборов коэффициентов IIR, конфигурирующий фильтр IIR для генерирования данных конфигурации, которые удовлетворяют предварительно определенному критерию;
(b) определяют оптимальный набор коэффициентов фильтра FIR путем выполнения рекурсивной операции на тестовых данных, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра с предсказанием дискретных значений с фильтром IIR, сконфигурированным выбранным набором коэффициентов IIR, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений; и
(c) конфигурируют фильтр FIR оптимальным набором коэффициентов FIR и конфигурируют фильтр с IIR выбранным набором коэффициентов IIR, посредством чего конфигурируют фильтр с предсказанием дискретных значений.
(a) для каждого из наборов коэффициентов IIR в палитре генерируют данные конфигурации, являющиеся показателем вывода, генерируемого путем применения к входным данным фильтра IIR, сконфигурированного указанным каждым из наборов коэффициентов IIR, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений, и идентифицируют в качестве выбранного набора коэффициентов IIR один из наборов коэффициентов IIR, конфигурирующий фильтр IIR для генерирования данных конфигурации, которые удовлетворяют предварительно определенному критерию;
(b) определяют оптимальный набор коэффициентов фильтра FIR путем выполнения рекурсивной операции на тестовых данных, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра с предсказанием дискретных значений с фильтром IIR, сконфигурированным выбранным набором коэффициентов IIR, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений; и
(c) конфигурируют фильтр FIR оптимальным набором коэффициентов FIR и конфигурируют фильтр с IIR выбранным набором коэффициентов IIR, посредством чего конфигурируют фильтр с предсказанием дискретных значений.
2. Способ по п. 1, отличающийся тем, что этап (а) включает этап, на котором в качестве выбранного набора коэффициентов IIR идентифицируют один из наборов коэффициентов IIR, конфигурирующий фильтр IIR для генерирования данных конфигурации, имеющих наименьший RMS уровень.
3. Способ по п. 1, отличающийся тем, что этап (а) включает этап, на котором в качестве выбранного набора коэффициентов IIR идентифицируют один из наборов коэффициентов IIR, конфигурирующий фильтр IIR для соответствия оптимальному сочетанию критериев, причем одним из критериев является генерирование данных конфигурации, имеющих наименьший RMS уровень.
4. Способ по п. 1, отличающийся тем, что фильтр с предсказанием дискретных значений включают в кодер, способный действовать для генерирования кодированных выходных данных путем кодирования входных данных, при этом указанный способ дополнительно включает этап, на котором:
приводят в действие кодер для утверждения кодированных выходных данных по меньшей мере на одном выходе с данными о коэффициентах фильтра, являющимися показателем выбранного набора коэффициентов IIR.
приводят в действие кодер для утверждения кодированных выходных данных по меньшей мере на одном выходе с данными о коэффициентах фильтра, являющимися показателем выбранного набора коэффициентов IIR.
5. Способ по п. 4, отличающийся тем, что данные о коэффициентах фильтра представляют собой выбранный набор коэффициентов IIR.
6. Способ по п. 1, отличающийся тем, что этап (а) включает этап, на котором в качестве выбранного набора коэффициентов IIR идентифицируют один из наборов коэффициентов IIR, конфигурирующий фильтр IIR для генерирования данных конфигурации, для которых А+В имеет наименьшее значение, где А является показателем RMS уровня данных конфигурации и В - количество данных боковой цепи, необходимых для идентификации указанного одного из наборов коэффициентов IIR.
7. Способ по п. 1, отличающийся тем, что этап (а) включает этап, на котором в качестве выбранного набора коэффициентов IIR идентифицируют один из наборов коэффициентов IIR, конфигурирующий фильтр IIR для генерирования данных конфигурации, для которых А+В имеет наименьшее значение, где А является показателем RMS уровня данных конфигурации и В - количество данных боковой цепи, необходимых для идентификации указанного одного из наборов коэффициентов IIR, плюс количество данных боковой цепи, требуемых для декодирования данных, которые были закодированы с применением фильтра с предсказанием дискретных значений, сконфигурированного указанным одним из наборов коэффициентов IIR.
8. Способ по п. 1, отличающийся тем, что фильтр с предсказанием дискретных значений включают в кодер сжатия без потерь, способный действовать для генерирования кодированных выходных данных путем кодирования входных данных, при этом декодер сжатия без потерь, включающий фильтр с предсказанием дискретных значений в декодере, способен действовать для декодирования кодированных выходных данных с целью восстановления входных данных, причем фильтр с предсказанием дискретных значений в декодере включает фильтр IIR и фильтр FIR, при этом указанный способ дополнительно включает этапы, на которых:
приводят в действие кодер для утверждения кодированных выходных данных по меньшей мере на одном выходе с данными о коэффициентах фильтра, являющимися показателем выбранного набора коэффициентов IIR; и
конфигурируют фильтр с предсказанием дискретных значений в декодере сжатия без потерь в ответ на данные о коэффициентах фильтра, в том числе конфигурируют один из фильтра IIR или фильтра FIR указанного фильтра с предсказанием дискретных значений в декодере выбранным набором коэффициентов IIR.
приводят в действие кодер для утверждения кодированных выходных данных по меньшей мере на одном выходе с данными о коэффициентах фильтра, являющимися показателем выбранного набора коэффициентов IIR; и
конфигурируют фильтр с предсказанием дискретных значений в декодере сжатия без потерь в ответ на данные о коэффициентах фильтра, в том числе конфигурируют один из фильтра IIR или фильтра FIR указанного фильтра с предсказанием дискретных значений в декодере выбранным набором коэффициентов IIR.
9. Способ по п. 1, отличающийся тем, что фильтр с предсказанием дискретных значений включают в кодер сжатия без потерь, способный действовать для генерирования кодированных выходных данных путем кодирования входных данных, при этом указанный способ дополнительно включает этап, на котором:
приводят в действие кодер сжатия аудиоданных без потерь для утверждения кодированных выходных данных по меньшей мере на одном выходе с данными о коэффициентах фильтра, являющимися показателем выбранного набора коэффициентов IIR.
приводят в действие кодер сжатия аудиоданных без потерь для утверждения кодированных выходных данных по меньшей мере на одном выходе с данными о коэффициентах фильтра, являющимися показателем выбранного набора коэффициентов IIR.
10. Кодер, включающий:
фильтр с предсказанием дискретных значений, включающий фильтр с бесконечной импульсной характеристикой (IIR) и фильтр с конечной импульсной характеристикой (FIR), при этом фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью генерирования данных, фильтрованных с предсказанием дискретных значений, в ответ на входные данные, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений; и
подсистему, связанную с фильтром с предсказанием дискретных значений и сконфигурированную для генерирования кодированных выходных данных в ответ на данные, фильтрованные с предсказанием дискретных значений,
при этом фильтр с предсказанием дискретных значений сконфигурирован для функционирования в режиме конфигурирования, в котором фильтр с предсказанием дискретных значений применяет предварительно определенную палитру наборов коэффициентов IIR для конфигурирования фильтра IIR и фильтра FIR, что заключается в генерировании для каждого из наборов коэффициентов IIR в палитре данных конфигурации, являющихся показателем вывода, генерируемого путем применения к данным фильтра IIR, сконфигурированного указанным каждым из наборов коэффициентов IIR, и идентификации в качестве выбранного набора коэффициентов IIR одного из наборов коэффициентов IIR, конфигурирующего фильтр IIR для генерирования данных конфигурации, которые удовлетворяют предварительно определенному критерию;
определении оптимального набора коэффициентов фильтра FIR путем выполнения рекурсивной операции на тестовых данных, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра с предсказанием дискретных значений, где фильтр IIR сконфигурирован выбранным набором коэффициентов IIR; и
конфигурировании фильтра FIR оптимальным набором коэффициентов FIR и конфигурировании фильтра IIR выбранным набором коэффициентов IIR, посредством чего конфигурируется фильтр с предсказанием дискретных значений.
фильтр с предсказанием дискретных значений, включающий фильтр с бесконечной импульсной характеристикой (IIR) и фильтр с конечной импульсной характеристикой (FIR), при этом фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью генерирования данных, фильтрованных с предсказанием дискретных значений, в ответ на входные данные, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений; и
подсистему, связанную с фильтром с предсказанием дискретных значений и сконфигурированную для генерирования кодированных выходных данных в ответ на данные, фильтрованные с предсказанием дискретных значений,
при этом фильтр с предсказанием дискретных значений сконфигурирован для функционирования в режиме конфигурирования, в котором фильтр с предсказанием дискретных значений применяет предварительно определенную палитру наборов коэффициентов IIR для конфигурирования фильтра IIR и фильтра FIR, что заключается в генерировании для каждого из наборов коэффициентов IIR в палитре данных конфигурации, являющихся показателем вывода, генерируемого путем применения к данным фильтра IIR, сконфигурированного указанным каждым из наборов коэффициентов IIR, и идентификации в качестве выбранного набора коэффициентов IIR одного из наборов коэффициентов IIR, конфигурирующего фильтр IIR для генерирования данных конфигурации, которые удовлетворяют предварительно определенному критерию;
определении оптимального набора коэффициентов фильтра FIR путем выполнения рекурсивной операции на тестовых данных, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра с предсказанием дискретных значений, где фильтр IIR сконфигурирован выбранным набором коэффициентов IIR; и
конфигурировании фильтра FIR оптимальным набором коэффициентов FIR и конфигурировании фильтра IIR выбранным набором коэффициентов IIR, посредством чего конфигурируется фильтр с предсказанием дискретных значений.
11. Кодер по п. 10, отличающийся тем, что подсистема сконфигурирована для утверждения кодированных выходных данных по меньшей мере на одном выходе с данными о коэффициентах фильтра, являющимися показателем выбранного набора коэффициентов IIR.
12. Кодер по п. 11, отличающийся тем, что данные о коэффициентах фильтра представляют собой выбранный набор коэффициентов IIR.
13. Кодер по п. 11, отличающийся тем, что указанный кодер представляет собой кодер сжатия без потерь и фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью генерирования данных, фильтрованных с предсказанием дискретных значений, в ответ на дискретные значения аудиоданных.
14. Кодер по п. 11, отличающийся тем, что фильтр с предсказанием дискретных значений сконфигурирован для функционирования в режиме конфигурирования с целью идентификации в качестве выбранного набора коэффициентов IIR одного из наборов коэффициентов IIR, конфигурирующего фильтр IIR для генерирования данных конфигурации, для которых А+В имеет наименьшее значение, где А является показателем RMS уровня данных конфигурации и В - количество данных боковой цепи, необходимых для идентификации указанного одного из наборов коэффициентов IIR.
15. Кодер по п. 11, отличающийся тем, что фильтр с предсказанием дискретных значений сконфигурирован для функционирования в режиме конфигурирования с целью идентификации в качестве выбранного набора коэффициентов IIR одного из наборов коэффициентов IIR, конфигурирующего фильтр IIR для генерирования данных конфигурации, для которых А+В имеет наименьшее значение, где А является показателем RMS уровня данных конфигурации и В - количество данных боковой цепи, необходимых для идентификации указанного одного из наборов коэффициентов IIR, плюс количество данных боковой цепи, требуемых для декодирования данных, которые были закодированы с применением фильтра с предсказанием дискретных значений, сконфигурированного указанным одним из наборов коэффициентов IIR.
16. Кодер по п. 10, отличающийся тем, что палитра наборов коэффициентов IIR включает по меньшей мере два набора коэффициентов фильтра IIR, при этом каждый из наборов состоит из коэффициентов, достаточных для определения фильтра IIR, и указанная палитра была предварительно определена путем выполнения нелинейной оптимизации по обучающему набору входных сигналов, что заключается в:
(а) определении по меньшей мере одного из наборов коэффициентов фильтра IIR в палитре путем выполнения нелинейной оптимизации по одному из входных сигналов в обучающем наборе при условии по меньшей мере одного ограничения; и
(b) определении по меньшей мере еще одного набора коэффициентов фильтра IIR в палитре путем выполнения нелинейной оптимизации по еще одному из входных сигналов в обучающем наборе при условии по меньшей мере одного ограничения.
(а) определении по меньшей мере одного из наборов коэффициентов фильтра IIR в палитре путем выполнения нелинейной оптимизации по одному из входных сигналов в обучающем наборе при условии по меньшей мере одного ограничения; и
(b) определении по меньшей мере еще одного набора коэффициентов фильтра IIR в палитре путем выполнения нелинейной оптимизации по еще одному из входных сигналов в обучающем наборе при условии по меньшей мере одного ограничения.
17. Декодер, подключенный для приема данных о коэффициентах фильтра, являющихся показателем выбранного набора коэффициентов фильтра с бесконечной импульсной характеристикой (IIR), причем выбранный набор коэффициентов IIR был выбран кодером из палитры наборов коэффициентов IIR, при этом декодер дополнительно подключен для приема кодированных данных, и указанный декодер включает:
подсистему декодирования, сконфигурированную для генерирования частично декодированных данных в ответ на кодированные данные; и
фильтр с предсказанием дискретных значений, связанный с указанной подсистемой и включающий фильтр IIR и фильтр с конечной импульсной характеристикой (FIR), при этом фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью генерирования данных, фильтрованных с предсказанием дискретных значений, в ответ на частично декодированные данные, и фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью конфигурирования одного из фильтров, фильтра IIR или фильтра FIR, выбранным набором коэффициентов IIR в ответ на данные о коэффициентах фильтра.
подсистему декодирования, сконфигурированную для генерирования частично декодированных данных в ответ на кодированные данные; и
фильтр с предсказанием дискретных значений, связанный с указанной подсистемой и включающий фильтр IIR и фильтр с конечной импульсной характеристикой (FIR), при этом фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью генерирования данных, фильтрованных с предсказанием дискретных значений, в ответ на частично декодированные данные, и фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью конфигурирования одного из фильтров, фильтра IIR или фильтра FIR, выбранным набором коэффициентов IIR в ответ на данные о коэффициентах фильтра.
18. Декодер по п. 17, отличающийся тем, что данные о коэффициентах фильтра представляют собой выбранный набор коэффициентов IIR.
19. Декодер по п. 17, отличающийся тем, что фильтр IIR в фильтре с предсказанием дискретных значений представляет собой фильтр с конечной импульсной характеристикой в конфигурации с обратной связью, при этом данные о коэффициентах фильтра дополнительно являются показателем набора коэффициентов FIR, и фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью конфигурирования фильтра IIR набором коэффициентов FIR и для конфигурирования фильтра FIR выбранным набором коэффициентов IIR в ответ на данные о коэффициентах фильтра.
20. Декодер по п. 17, отличающийся тем, что декодер представляет собой устройство для декодирования сжатия без потерь.
21. Декодер по п. 20, отличающийся тем, что подсистема сконфигурирована для функционирования с целью генерирования частично декодированных данных в ответ на дискретные значения аудиоданных.
22. Декодер, включающий:
подсистему декодирования, сконфигурированную для генерирования частично декодированных данных в ответ на кодированные данные; и
фильтр с предсказанием дискретных значений, связанный с подсистемой и включающий фильтр с бесконечной импульсной характеристикой (IIR) и фильтр с конечной импульсной характеристикой (FIR), причем фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью генерирования данных, фильтрованных с предсказанием дискретных значений, в ответ на частично декодированные данные, и фильтр с предсказанием дискретных значений сконфигурирован для функционирования в режиме конфигурирования, в котором фильтр с предсказанием дискретных значений конфигурирует фильтр IIR и фильтр FIR с применением предварительно определенной палитры наборов коэффициентов IIR, что заключается в:
(а) для каждого из наборов коэффициентов IIR в палитре - генерировании данных конфигурации, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра IIR, сконфигурированного указанным каждым из наборов коэффициентов IIR, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений, и идентификации в качестве выбранного набора коэффициентов IIR одного из наборов коэффициентов IIR, конфигурирующего фильтр IIR для генерирования данных конфигурации, которые удовлетворяют предварительно определенному критерию;
(b) определении оптимального набора коэффициентов фильтра FIR путем выполнения рекурсивной операции на тестовых данных, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра с предсказанием дискретных значений с фильтром IIR, сконфигурированным выбранным набором коэффициентов IIR; и
(c) конфигурировании фильтра FIR оптимальным набором коэффициентов FIR и конфигурировании фильтра IIR выбранным набором коэффициентов IIR.
подсистему декодирования, сконфигурированную для генерирования частично декодированных данных в ответ на кодированные данные; и
фильтр с предсказанием дискретных значений, связанный с подсистемой и включающий фильтр с бесконечной импульсной характеристикой (IIR) и фильтр с конечной импульсной характеристикой (FIR), причем фильтр с предсказанием дискретных значений сконфигурирован для функционирования с целью генерирования данных, фильтрованных с предсказанием дискретных значений, в ответ на частично декодированные данные, и фильтр с предсказанием дискретных значений сконфигурирован для функционирования в режиме конфигурирования, в котором фильтр с предсказанием дискретных значений конфигурирует фильтр IIR и фильтр FIR с применением предварительно определенной палитры наборов коэффициентов IIR, что заключается в:
(а) для каждого из наборов коэффициентов IIR в палитре - генерировании данных конфигурации, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра IIR, сконфигурированного указанным каждым из наборов коэффициентов IIR, причем входные данные включают поток входных дискретных значений, полученных фильтром с предсказанием дискретных значений, и идентификации в качестве выбранного набора коэффициентов IIR одного из наборов коэффициентов IIR, конфигурирующего фильтр IIR для генерирования данных конфигурации, которые удовлетворяют предварительно определенному критерию;
(b) определении оптимального набора коэффициентов фильтра FIR путем выполнения рекурсивной операции на тестовых данных, являющихся показателем вывода, генерируемого путем применения к входным данным фильтра с предсказанием дискретных значений с фильтром IIR, сконфигурированным выбранным набором коэффициентов IIR; и
(c) конфигурировании фильтра FIR оптимальным набором коэффициентов FIR и конфигурировании фильтра IIR выбранным набором коэффициентов IIR.
23. Декодер по п. 22, отличающийся тем, что декодер представляет собой устройство для декодирования сжатия без потерь.
24. Декодер по п. 22, отличающийся тем, что подсистема сконфигурирована для функционирования с целью генерирования частично декодированных данных в ответ на дискретные значения аудиоданных.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161443360P | 2011-02-16 | 2011-02-16 | |
US61/443,360 | 2011-02-16 | ||
PCT/US2012/024270 WO2012112357A1 (en) | 2011-02-16 | 2012-02-08 | Methods and systems for generating filter coefficients and configuring filters |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013137876A RU2013137876A (ru) | 2015-02-20 |
RU2562771C2 true RU2562771C2 (ru) | 2015-09-10 |
Family
ID=45607417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013137876/08A RU2562771C2 (ru) | 2011-02-16 | 2012-02-08 | Способы и системы генерирования коэффициентов фильтра и конфигурирования фильтров |
Country Status (13)
Country | Link |
---|---|
US (1) | US9343076B2 (ru) |
EP (2) | EP2863389B1 (ru) |
JP (1) | JP5863830B2 (ru) |
KR (1) | KR101585849B1 (ru) |
CN (1) | CN103534752B (ru) |
AU (1) | AU2012218016B2 (ru) |
BR (1) | BR112013020769B1 (ru) |
CA (1) | CA2823262C (ru) |
ES (1) | ES2727131T3 (ru) |
HK (1) | HK1189990A1 (ru) |
MX (1) | MX2013009148A (ru) |
RU (1) | RU2562771C2 (ru) |
WO (1) | WO2012112357A1 (ru) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9548056B2 (en) | 2012-12-19 | 2017-01-17 | Dolby International Ab | Signal adaptive FIR/IIR predictors for minimizing entropy |
US9405734B2 (en) | 2012-12-27 | 2016-08-02 | Reflektion, Inc. | Image manipulation for web content |
US9280964B2 (en) * | 2013-03-14 | 2016-03-08 | Fishman Transducers, Inc. | Device and method for processing signals associated with sound |
US10170125B2 (en) * | 2013-09-12 | 2019-01-01 | Dolby International Ab | Audio decoding system and audio encoding system |
JP6289041B2 (ja) * | 2013-11-12 | 2018-03-07 | 三菱電機株式会社 | イコライザ |
US10419774B2 (en) | 2013-12-10 | 2019-09-17 | Canon Kabushiki Kaisha | Palette mode in HEVC |
EP3080990B1 (en) * | 2013-12-10 | 2018-09-05 | Canon Kabushiki Kaisha | Method and apparatus for encoding or decoding a palette in palette coding mode |
EP3117608B1 (en) * | 2014-03-14 | 2021-05-12 | HFI Innovation Inc. | Method for palette management |
AU2015345649A1 (en) * | 2014-11-12 | 2017-06-08 | Hfi Innovation Inc. | Methods of escape pixel coding in index map coding |
WO2017106209A1 (en) * | 2015-12-13 | 2017-06-22 | GenXComm, Inc. | Interference cancellation methods and apparatus |
CA3024167A1 (en) * | 2016-05-10 | 2017-11-16 | Immersion Services LLC | Adaptive audio codec system, method, apparatus and medium |
CN105957534B (zh) * | 2016-06-28 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 自适应滤波方法和自适应滤波器 |
US10257746B2 (en) | 2016-07-16 | 2019-04-09 | GenXComm, Inc. | Interference cancellation methods and apparatus |
US11150409B2 (en) | 2018-12-27 | 2021-10-19 | GenXComm, Inc. | Saw assisted facet etch dicing |
US10727945B1 (en) | 2019-07-15 | 2020-07-28 | GenXComm, Inc. | Efficiently combining multiple taps of an optical filter |
WO2021050715A1 (en) | 2019-09-12 | 2021-03-18 | Bytedance Inc. | Using palette predictor in video coding |
US11215755B2 (en) | 2019-09-19 | 2022-01-04 | GenXComm, Inc. | Low loss, polarization-independent, large bandwidth mode converter for edge coupling |
US11539394B2 (en) | 2019-10-29 | 2022-12-27 | GenXComm, Inc. | Self-interference mitigation in in-band full-duplex communication systems |
US11796737B2 (en) | 2020-08-10 | 2023-10-24 | GenXComm, Inc. | Co-manufacturing of silicon-on-insulator waveguides and silicon nitride waveguides for hybrid photonic integrated circuits |
US12001065B1 (en) | 2020-11-12 | 2024-06-04 | ORCA Computing Limited | Photonics package with tunable liquid crystal lens |
US11838056B2 (en) | 2021-10-25 | 2023-12-05 | GenXComm, Inc. | Hybrid photonic integrated circuits for ultra-low phase noise signal generators |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1275200B1 (en) * | 2000-04-14 | 2008-09-10 | Harman International Industries, Incorporated | Method and apparatus for dynamic sound optimization |
RU2390856C2 (ru) * | 2005-04-01 | 2010-05-27 | Квэлкомм Инкорпорейтед | Системы, способы и устройства для подавления высокополосных всплесков |
US7742912B2 (en) * | 2004-06-21 | 2010-06-22 | Koninklijke Philips Electronics N.V. | Method and apparatus to encode and decode multi-channel audio signals |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3099844B2 (ja) | 1992-03-11 | 2000-10-16 | 三菱電機株式会社 | 音声符号化復号化方式 |
GB9509831D0 (en) * | 1995-05-15 | 1995-07-05 | Gerzon Michael A | Lossless coding method for waveform data |
JP3578933B2 (ja) | 1999-02-17 | 2004-10-20 | 日本電信電話株式会社 | 重み符号帳の作成方法及び符号帳設計時における学習時のma予測係数の初期値の設定方法並びに音響信号の符号化方法及びその復号方法並びに符号化プログラムが記憶されたコンピュータに読み取り可能な記憶媒体及び復号プログラムが記憶されたコンピュータに読み取り可能な記憶媒体 |
KR100743534B1 (ko) * | 2000-01-07 | 2007-07-27 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 디지털 정보를 전송하는 전송장치 및 전송방법 |
US7155177B2 (en) * | 2003-02-10 | 2006-12-26 | Qualcomm Incorporated | Weight prediction for closed-loop mode transmit diversity |
DE10316803B4 (de) | 2003-04-11 | 2009-04-09 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Kanalschätzung in Funksystemen durch MMSE-basierte rekursive Filterung |
US7373367B2 (en) | 2004-04-19 | 2008-05-13 | Chang Gung University | Efficient digital filter design tool for approximating an FIR filter with a low-order linear-phase IIR filter |
EP1833163B1 (en) | 2004-07-20 | 2019-12-18 | Harman Becker Automotive Systems GmbH | Audio enhancement system and method |
US7596220B2 (en) * | 2004-12-30 | 2009-09-29 | Alcatel Lucent | Echo cancellation using adaptive IIR and FIR filters |
US7774396B2 (en) | 2005-11-18 | 2010-08-10 | Dynamic Hearing Pty Ltd | Method and device for low delay processing |
EP1991986B1 (en) | 2006-03-07 | 2019-07-31 | Telefonaktiebolaget LM Ericsson (publ) | Methods and arrangements for audio coding |
US8135047B2 (en) * | 2006-07-31 | 2012-03-13 | Qualcomm Incorporated | Systems and methods for including an identifier with a packet associated with a speech signal |
US9454974B2 (en) * | 2006-07-31 | 2016-09-27 | Qualcomm Incorporated | Systems, methods, and apparatus for gain factor limiting |
KR100790163B1 (ko) | 2006-08-08 | 2008-01-02 | 삼성전자주식회사 | 이동통신 단말기의 이동속도에 따라 iir 필터 계수를 변경하는 채널 추정장치 및 계수 변경 방법 |
US8077821B2 (en) | 2006-09-25 | 2011-12-13 | Zoran Corporation | Optimized timing recovery device and method using linear predictor |
JP2008122729A (ja) | 2006-11-14 | 2008-05-29 | Sony Corp | ノイズ低減装置、ノイズ低減方法、ノイズ低減プログラムおよびノイズ低減音声出力装置 |
DE102007017254B4 (de) | 2006-11-16 | 2009-06-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung zum Kodieren und Dekodieren |
FR2913521B1 (fr) | 2007-03-09 | 2009-06-12 | Sas Rns Engineering | Procede de reduction active d'une nuisance sonore. |
EP1976122A1 (en) | 2007-03-31 | 2008-10-01 | Sony Deutschland Gmbh | Adaptive filter device |
WO2008122930A1 (en) | 2007-04-04 | 2008-10-16 | Koninklijke Philips Electronics N.V. | Sound enhancement in closed spaces |
JP5284475B2 (ja) | 2008-08-25 | 2013-09-11 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 前白色化を伴うlmsアルゴリズムによって適応させられる適応フィルタの更新済みフィルタ係数を決定する方法 |
US20100135172A1 (en) | 2008-09-08 | 2010-06-03 | Qualcomm Incorporated | Method and apparatus for predicting channel quality indicator in a high speed downlink packet access system |
JP5068373B2 (ja) | 2008-10-06 | 2012-11-07 | 三菱電機株式会社 | 信号処理回路 |
JP2010141780A (ja) | 2008-12-15 | 2010-06-24 | Audio Technica Corp | Iirフィルタ設計方法 |
GB2466673B (en) | 2009-01-06 | 2012-11-07 | Skype | Quantization |
US8077764B2 (en) | 2009-01-27 | 2011-12-13 | International Business Machines Corporation | 16-state adaptive noise predictive maximum-likelihood detection system |
KR101669084B1 (ko) | 2009-02-24 | 2016-10-25 | 삼성전자주식회사 | Iir 필터를 이용한 디지털 상하향 변환 방법 및 장치 |
EP2621198A3 (en) | 2009-04-02 | 2015-03-25 | Oticon A/s | Adaptive feedback cancellation based on inserted and/or intrinsic signal characteristics and matched retrieval |
-
2012
- 2012-02-08 US US13/983,892 patent/US9343076B2/en active Active
- 2012-02-08 CN CN201280007778.4A patent/CN103534752B/zh active Active
- 2012-02-08 RU RU2013137876/08A patent/RU2562771C2/ru active
- 2012-02-08 EP EP14196260.5A patent/EP2863389B1/en active Active
- 2012-02-08 ES ES14196260T patent/ES2727131T3/es active Active
- 2012-02-08 JP JP2013553512A patent/JP5863830B2/ja active Active
- 2012-02-08 MX MX2013009148A patent/MX2013009148A/es active IP Right Grant
- 2012-02-08 AU AU2012218016A patent/AU2012218016B2/en active Active
- 2012-02-08 BR BR112013020769-8A patent/BR112013020769B1/pt active IP Right Grant
- 2012-02-08 WO PCT/US2012/024270 patent/WO2012112357A1/en active Application Filing
- 2012-02-08 KR KR1020137021471A patent/KR101585849B1/ko active IP Right Grant
- 2012-02-08 CA CA2823262A patent/CA2823262C/en active Active
- 2012-02-08 EP EP12704215.8A patent/EP2676263B1/en active Active
-
2014
- 2014-03-31 HK HK14103084.5A patent/HK1189990A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1275200B1 (en) * | 2000-04-14 | 2008-09-10 | Harman International Industries, Incorporated | Method and apparatus for dynamic sound optimization |
US7742912B2 (en) * | 2004-06-21 | 2010-06-22 | Koninklijke Philips Electronics N.V. | Method and apparatus to encode and decode multi-channel audio signals |
RU2390856C2 (ru) * | 2005-04-01 | 2010-05-27 | Квэлкомм Инкорпорейтед | Системы, способы и устройства для подавления высокополосных всплесков |
RU2402826C2 (ru) * | 2005-04-01 | 2010-10-27 | Квэлкомм Инкорпорейтед | Способы и устройство кодирования и декодирования части речевого сигнала диапазона высоких частот |
Also Published As
Publication number | Publication date |
---|---|
CA2823262C (en) | 2018-03-06 |
BR112013020769A2 (pt) | 2016-10-11 |
AU2012218016A1 (en) | 2013-07-11 |
US9343076B2 (en) | 2016-05-17 |
CN103534752A (zh) | 2014-01-22 |
HK1189990A1 (zh) | 2014-06-20 |
EP2863389A1 (en) | 2015-04-22 |
MX2013009148A (es) | 2013-08-29 |
BR112013020769B1 (pt) | 2021-03-09 |
CA2823262A1 (en) | 2012-08-23 |
EP2863389B1 (en) | 2019-04-17 |
CN103534752B (zh) | 2015-07-29 |
KR101585849B1 (ko) | 2016-01-22 |
EP2676263B1 (en) | 2016-06-01 |
WO2012112357A1 (en) | 2012-08-23 |
EP2676263A1 (en) | 2013-12-25 |
AU2012218016B2 (en) | 2015-11-19 |
KR20130112942A (ko) | 2013-10-14 |
JP2014508323A (ja) | 2014-04-03 |
ES2727131T3 (es) | 2019-10-14 |
JP5863830B2 (ja) | 2016-02-17 |
RU2013137876A (ru) | 2015-02-20 |
US20130317833A1 (en) | 2013-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2562771C2 (ru) | Способы и системы генерирования коэффициентов фильтра и конфигурирования фильтров | |
CA2218893C (en) | Lossless coding method for waveform data | |
JP5688861B2 (ja) | レベル・モードとラン・レングス/レベル・モードの間での符号化を適応させるエントロピー符号化 | |
JP6698897B2 (ja) | スペクトルピーク位置の符号化及び復号化 | |
NO341186B1 (no) | Selektiv anvendelse ved bruk av flere entropimodeller i adaptiv koding og dekoding | |
JP4866484B2 (ja) | パラメータ選択方法、パラメータ選択装置、プログラム及び記録媒体 | |
KR20090101932A (ko) | 오디오 양자화 | |
RU2644078C1 (ru) | Способ, устройство и система кодирования/декодирования | |
JP2010500819A (ja) | 複数の量子化パターンの効率的な知覚的関連検索による音声及びオーディオを量子化するための方法 | |
US8502708B2 (en) | Encoding method and decoding method, and devices, program and recording medium for the same | |
JP4918103B2 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
JP4848049B2 (ja) | 符号化方法、復号方法、それらの装置、プログラム及び記録媒体 | |
JPH0934493A (ja) | 音響信号符号化装置、音響信号復号装置および音響信号処理装置 | |
WO2019198383A1 (ja) | 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体 | |
JP6629256B2 (ja) | 符号化装置、方法及びプログラム | |
Slyz et al. | Some simple parametric lossless image compressors | |
JPH0445614A (ja) | 1ビット/サンプル量子化方法 | |
Bosi et al. | Quantization |