Кодер и способ для кодирования с предсказанием, декодер и способ для декодирования, система и способ для кодирования с предсказанием и декодирования, и кодированный с предсказанием информационный сигнал

Иллюстрации

Показать все

Изобретение относится к кодированию с предсказанием информационного сигнала. Технический результат - повышение точности кодирования с предсказанием информационного сигнала и обеспечение возможности лучшего поддержания качества сигнала. Для этого кодер для кодирования с предсказанием информационного сигнала, имеющего последовательность значений сигнала (s(n)), содержит блок предсказания для выполнения адаптивного предсказания в зависимости от последовательности значений сигнала (s(n)) и в зависимости от одного или более весовых значений ωi, чтобы получить значения предсказанного сигнала (s'(n)), в котором блок предсказания выполнен с возможностью сбрасывания весовых значений в моменты времени, которые зависят от значений информационного сигнала, и в котором блок предсказания выполнен с возможностью адаптирования весовых значений к сигналу между последующими сбросами. 15 н. и 11 з.п. ф-лы, 13 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ

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

В случае ошибок передачи, т.е. если возникают некорректно переданные разности или ошибки предсказания, предсказание более не будет одинаковым на сторонах передатчика и приемника. Некорректные значения декодированного сигнала будут реконструированы из-за некорректно переданных ошибок предсказания на стороне приемника.

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

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

В документе S. Wabnik, G. Schuller, F. Kraemer: "An Error Robust Ultra Low Delay Audio Coder Using an MA Prediction Model", ICASSP 2009, апрель 19-24 2009, Тайбэй, Тайвань, описаны две структуры предсказания для кодирования с предсказанием воспринимаемого аудио в контексте схемы кодирования со сверхнизкой задержкой (ULD). Одна структура основана на распространенной AR-модели прохождения сигналов, ведущей к IIR-блоку предсказания в декодере. Другая структура основана на MA-модели прохождения сигналов, ведущей к FIR-блоку предсказания в декодере.

В документе S. Wabnik, Gerald Schuller, J. Hirschfeld, U. Kraemer: "Packet Loss Concealment in Predictive Audio Coding", 2005, IEEE IEEE Workshop on Applications of Signal Processing Audio and Acoustics, Mohonk Mountain House, New Paltz, Нью-Йорк, 16-19 октября 2005, описаны несколько стратегий сокрытия потерь пакетов в контексте предиктивного аудиокодера с низкой задержкой.

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

J. Makhoul, Linear Prediction: A Tutorial Review, PROCEEDINGS OF THE IEEE, том 63, № 4, апрель 1975; АН H. Sayed: "Fundamentals of Adaptive Filtering", Wiley-IEEE Press, 2003; и Simon S. Haykin, "Adaptive Filter Theory", Prentice Hall International, 2001.

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

Вследствие этого, задачей настоящего изобретения является предоставить схему кодирования с предсказанием и/или декодирования, которая обеспечивает возможность улучшенного соотношения между надежностью предсказания, требуемой битовой скоростью и качеством сигнала.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Эта задача решается посредством кодера по п. 1 формулы изобретения, декодера по одному из п. с 13 по 15, системы по п. 16, кодированного сигнала по п. 17, способа для кодирования с предсказанием по п. 19, способа для декодирования по одному из п. с 20 по 22, способа для кодирования с предсказанием и декодирования по п. 23 или компьютерной программы по п. 24.

Согласно варианту осуществления настоящего изобретения, кодер для кодирования с предсказанием сигнала, имеющего последовательность значений сигнала, содержит блок предсказания. Блок предсказания сконфигурирован для выполнения адаптивного предсказания в зависимости от сигнала и в зависимости от одного или более весовых значений, для получения значений предсказанного сигнала. Здесь блок предсказания выполнен с возможностью сбрасывания весовых значений в моменты времени, которые зависят от сигнала. Более того, блок предсказания выполнен с возможностью адаптирования весовых значений к сигналу между последующими сбросами.

Основной идеей, лежащей в основе настоящего изобретения, является то, что хорошая эффективность предсказания может быть достигнута, если адаптивное предсказание выполняется в зависимости от сигнала и в зависимости от одного или более весовых значений, и если весовые значения сбрасываются в моменты времени, которые зависят от сигнала. Таким образом, увеличение ошибки предсказания, возникающей в результате сброса, и/или увеличение битовой скорости, требуемой для кодирования ошибки предсказания с желаемой точностью, может быть предотвращено или по меньшей мере уменьшено, тем самым обеспечивая возможность лучшего поддержания качества сигнала. В качестве альтернативы, или в дополнение, возможно выбирать момент времени сброса так, чтобы было возможно кодировать даже сравнительно большую ошибку предсказания с хорошей точностью при данных ограничениях битовой скорости.

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

В дополнение, кодер может быть выполнен с возможностью выборочно выбирать моменты времени сброса для сбрасывания весовых значений. Это по существу обеспечивает возможность того, что восприятие искажений, вызванных сбросами в выбранные моменты времени сброса, будет меньше, чем восприятие искажений, которые были бы вызваны сбрасыванием весовых значений в разные моменты времени.

Согласно дополнительным вариантам осуществления, кодер выполнен с возможностью генерирования остаточного сигнала на основе разностей между значениями сигнала и значениями предсказанного сигнала. В результате, предоставленный битовый поток может содержать кодированные значения остаточного сигнала, кодированные с переменной битовой скоростью. В дополнение, блок предсказания может быть выполнен с возможностью выполнения сбросов весовых значений в переменные моменты времени. Таким образом, может гарантироваться, что сбросы будут выполнены в моменты времени, в которые существует резерв битовой скорости, который больше, чем предварительно определенный уровень резерва битовой скорости, или равен ему. Вследствие этого, возможно кодировать значения остаточного сигнала с сравнительно высокой точностью, применяя доступный резерв битовой скорости. Следовательно, слышимые искажения могут удерживаться небольшими.

Дополнительные варианты осуществления настоящего изобретения предоставляют декодеры для декодирования кодированного с предсказанием сигнала, имеющего последовательность значений остаточного сигнала.

Согласно дополнительному варианту осуществления настоящего изобретения, предоставляется система для кодирования с предсказанием сигнала, имеющего последовательность значений сигнала, и для декодирования кодированной с предсказанием версии сигнала, имеющего последовательность значений остаточного сигнала.

Дополнительные варианты осуществления настоящего изобретения предоставляют способы для кодирования с предсказанием сигнала и для декодирования кодированной с предсказанием версии сигнала.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

В дальнейшем варианты осуществления настоящего изобретения будут разъяснены со ссылкой на прилагаемые чертежи, на которых:

на Фиг. 1 показана блок-схема варианта осуществления кодера для кодирования с предсказанием сигнала;

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

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

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

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

на Фиг. 5 показана схематичная иллюстрация концепции для определения момента времени сброса для сбрасывания весовых значений в зависимости от текущего резерва битовой скорости согласно варианту осуществления настоящего изобретения;

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

на Фиг. 7a проиллюстрировано отрицательное воздействие выполнения сброса в пределах примерного хорошо предсказуемого сигнала;

на Фиг. 7b проиллюстрировано отрицательное воздействие выполнения сброса в пределах дополнительного примерного хорошо предсказуемого сигнала;

на Фиг. 8 показана блок-схема варианта осуществления декодера для декодирования кодированного с предсказанием сигнала с использованием информация сброса;

на Фиг. 9 показана блок-схема дополнительного варианта осуществления декодера для декодирования кодированного с предсказанием сигнала с блоком определения момента времени сброса на основе анализа сигнала;

на Фиг. 10 показана блок-схема дополнительного варианта осуществления декодера для декодирования кодированного с предсказанием сигнала с блоком определения момента времени сброса с использованием текущего резерва битовой скорости; и

на Фиг. 11 показана блок-схема варианта осуществления кодирующей/декодирующей системы на основе адаптивного предсказания с использованием синхронных сбросов.

ПОДРОБНОЕ ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

На Фиг. 1 показана блок-схема варианта осуществления кодера 100 для кодирования с предсказанием сигнала 105. Сигнал 105 может, например, быть информационным сигналом, таким как аудиосигнал или видеосигнал, который состоит из последовательности значений сигнала, s(n), где n=1, 2, 3, ..., таких как значения аудиосигнала или видеосигнала. Как показано на Фиг. 1, кодер 100 содержит блок 110 предсказания. Блок 110 предсказания сконфигурирован для выполнения адаптивного предсказания в зависимости от сигнала 105, s(n), и в зависимости от одного или более весовых значений 111, ωi, для получения значений 115 предсказанного сигнала, s'(n). В частности, блок 110 предсказания выполнен с возможностью сбрасывания весовых значений 111 в моменты времени, которые зависят от сигнала 105. Более того, блок 110 предсказания выполнен с возможностью адаптирования весовых значений 111 к сигналу 105 между последующими сбросами.

В вариантах осуществления, блок 110 предсказания выполнен с возможностью выполнения предсказания посредством определения значения предсказанного сигнала s'(n) исходя из одного или более предыдущих значений сигнала s(n-m), m=1, 2, 3, ..., n-1, для текущего значения сигнала s(n). Здесь, значение предсказанного сигнала s'(n) получается посредством взвешенной суммы одного или более предыдущих значений s(n-m) сигнала.

В вариантах осуществления, весовые значения предпочтительно адаптированы так, что ошибка предсказания будет удерживаться сравнительно небольшой. Например, весовые значения могут быть адаптированы так, что блок предсказания будет учитывать периодичность или периодичные участки сигнала, соответственно. Для изменений сигнала, например, когда сигнал является нестационарным, ошибка предсказания сначала увеличивается, что приводит к последствию, что весовые значения будут адаптированы так, что предсказание, выполняемое блоком предсказания, будет снова адаптировано к измененному сигналу. Ошибка предсказания может затем снова уменьшиться в том случае, если сигнал теперь достигает, по меньшей мере временно, стационарного состояния.

Согласно дополнительным вариантам осуществления, блок 110 предсказания кодера 100 может быть выполнен с возможностью выполнения сбросов весовых значений 111 в моменты времени, которые адаптированы к сигналу 105. В частности, кодер 110 может быть выполнен с возможностью выборочно выбирать моменты времени сброса для сбрасывания весовых значений 111 так, что восприятие искажений, вызванных сбросами в выбранные моменты времени сброса, будет меньше, чем восприятие искажений, которые были бы вызваны сбрасыванием весовых значений 111 в разные моменты времени.

На Фиг. 2 показана блок-схема дополнительного варианта осуществления кодера 200 для кодирования с предсказанием сигнала 105 со сбрасыванием весовых значений ωi в зависимости от текущего резерва битовой скорости, R0. Кодер 200 по Фиг. 2 по существу содержит блок 210 предсказания, который может соответствовать блоку 110 предсказания кодера 100, показанного на Фиг. 1. В варианте осуществления по Фиг. 2, блок 210 предсказания, выполненный с возможностью оперирования с сигналом 105 и предоставления предсказанного сигнала 115 на свой выход. Здесь, блок 210 предсказания может управляться сигналом управления так, чтобы выполнять сбрасывание весовых значений ωi управляемым образом. Вследствие этого, на Фиг. 2, блок 210 обработки указан надписью "блок предсказания с управляемым сбросом ωi". В варианте осуществления по Фиг. 2 блок 220 вычитания помещен после блока 210 предсказания, где блок 220 вычитания выполнен с возможностью вычитания предсказанных значений 115, s'(n), из значений 105 сигнала, s(n), так что значения остаточного сигнала, δ(n), получаются на выходе 225 блока 220 вычитания. Блок 210 предсказания и блок 220 вычитания могут вследствие этого составлять генератор 222 остаточного сигнала, который выполнен с возможностью определения значений 225 остаточного сигнала из входного сигнала 105. Как изображено на Фиг. 2, кодер 200 может также содержать δ(n)-кодер 230 для кодирования значений 225 остаточного сигнала, δ(n), для получения кодированных значений 235 остаточного сигнала, δ'(n). Здесь, δ(n)-кодер 230 может, например, быть выполненным с возможностью использования переменной битовой скорости, означая, что δ(n)-кодером 230 может быть использовано переменное число бит на сэмпл остаточного сигнала для процесса кодирования. Например, увеличенная битовая скорость может быть назначена участку сигнала, который должен быть кодирован, по существу соответствующему относительно высокой ошибке предсказания, тогда как уменьшенная битовая скорость может быть назначена другому участку сигнала, который должен быть кодирован, по существу соответствующему относительно низкой ошибке предсказания. Это будет описано более подробно ниже.

Может также быть видно на Фиг. 2, что δ(n)-кодер 230 может быть выполнен с возможностью предоставления указания 233, указывающего текущий резерв битовой скорости (или, эквивалентно, битовый резерв) (R0), который по существу относится к кодированию значений 225 остаточного сигнала, выполняемому δ(n)-кодером 230. Указание 233, указывающее текущий резерв битовой скорости (или битовый резерв), R0, принимается контроллером 240 блока предсказания, который может быть выполнен с возможностью предоставления сигнала 241 управления для блока 210 предсказания, имеющего управляемый сброс ωi и, опционально, информацию 245 сброса. В частности, контроллер блока предсказания 240 может быть настроен так, что сигнал 241 управления (т.е. сигнал управления сбросом ωi) будет основан на сравнении текущего резерва битовой скорости, R0, указанного посредством указания 233, и предварительно определенного уровня 239 резерва битовой скорости (Rp). Сравнение, выполненное контроллером 240 блока предсказания, может, например, быть таким, что блок 210 предсказания будет управляться сигналом 241 управления сбросом ωi так, чтобы выполнить сбрасывание весовых значений для адаптивного предсказания, когда текущий резерв битовой скорости, R0, превышает предварительно определенный уровень резерва битовой скорости или равняется ему (R0≥Rp). В этом случае, по существу может гарантироваться, что достаточно высокий резерв битовой скорости будет доступен для предоставления битового потока, который должен быть извлечен из входного сигнала 105. В частности, может быть гарантировано, что остаточный сигнал, который обычно принимает сравнительно большие значения вскоре после сброса, может быть кодирован с хорошей точностью ввиду доступности достаточно большого резерва битовой скорости.

Ссылаясь на вариант осуществления по Фиг. 2, кодер 200 может также содержать блок 250 задания формата битового потока. В частности, блок 250 задания формата битового потока может быть выполнен с возможностью задания формата кодированных значений 235 остаточного сигнала и информации 245 сброса для получения битового потока 255. Здесь, битовый поток 255 по существу представляет сигнал 105, s(n), и может быть использован для хранения или передачи такового.

Вследствие этого, в варианте осуществления по Фиг. 2, кодер 200 по существу сконфигурирован для получения битового потока 255, представляющего сигнал 105, причем блок 210 предсказания выполнен с возможностью выполнения сбросов в зависимости от текущего резерва 233 битовой скорости, R0, доступного для предоставления битового потока 255. Более того, генератор 222 остаточного сигнала кодера 200, как показано на Фиг. 2, выполнен с возможностью генерирования остаточного сигнала δ(n) на основе разностей между значениями 105 сигнала и значениями 115 предсказанного сигнала, так что битовый поток 255 содержит кодированные значения 235 остаточного сигнала, кодированные с переменной битовой скоростью (или числом бит на значение остаточного сигнала). По существу, блок 210 предсказания кодера 200 выполнен с возможностью выполнения сбросов весовых значений в переменные моменты времени, так что сбросы будут выполнены в моменты времени, в которые существует резерв 233 битовой скорости, который больше, чем предварительно определенный уровень 239 резерва битовой скорости, или равен ему.

На Фиг. 3a показана блок-схема дополнительного варианта осуществления кодера 300 для кодирования с предсказанием сигнала 105 со сбрасыванием весовых значений (ωi) на основе анализа сигнала. Как показано на Фиг. 3a, кодер 300 может содержать генератор 310 остаточного сигнала, δ(n)-кодер 330 и блок 350 задания формата битового потока. Здесь, блоки 310, 330, 350 обработки кодера 300, показанного на Фиг. 3a, по существу соответствуют блокам 222, 230, 250 обработки кодера 200, показанного на Фиг. 2. В частности, генератор 310 остаточного сигнала, имеющий управляемый сброс ωi, может быть выполнен с возможностью получения значений 325 остаточного сигнала δ(n) из значений 105 сигнала, s(n), так что предоставляется остаточный сигнал, который определяется значениями 325 остаточного сигнала, δ(n), и который зависит от сигнала 105, s(n). Более того, δ(n)-кодер 330 может быть выполнен с возможностью кодирования значений 325 остаточного сигнала, δ(n), для получения кодированных значений 335 остаточного сигнала, δ'(n), как, например, посредством использования переменной битовой скорости, что было описано ранее.

В варианте осуществления по Фиг. 3a, кодер 300 может также содержать анализатор 320 сигнала, который может быть реализован для анализа сигнала 105, чтобы получить сигнал 305 результата анализа. Здесь, анализ сигнала, выполненный анализатором 320 сигнала, может, например, быть использован для определения характеристик сигнала для сигнала 105, которые описываются сигналом 305 результата анализа, который может впоследствии быть использован как основание для управления операцией сброса ωi, выполняемой внутри генератора 310 остаточного сигнала. Конкретно, анализатор 320 сигнала кодера 300 может быть выполнен с возможностью извлечения характеристик сигнала для сигнала 105, на основе определения параметра тональности, поведения в неустановившимся состоянии и/или поведения при дискретности, из значений сигнала, s(n), для получения сигнала результата анализа.

В вариантах осуществления, анализатор 320 сигнала может быть выполнен с возможностью получения характеристик сигнала, которые описываются сигналом 305 результата анализа, посредством определения того, включает ли в себя область анализа (например, заданный интервал времени) неустановившееся событие или является нестационарным, т.е. характеризуется ли область анализа относительно резким изменением энергии сигнала 105 во времени, таким как увеличение или уменьшение энергии на более чем, например, 50% от одного временного участка до следующего временного участка области анализа. Здесь, обнаружение неустановившегося состояния может, например, быть основано на измерении мощности, заключенной в высокочастотном диапазоне сигнала 105, и последующего сравнения временного изменения мощности с предварительно определенным порогом.

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

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

Как показано на Фиг. 3a, контроллер блока 340 предсказания помещен после анализатора 320 сигнала, который может быть в особенности настроен для предоставления сигнала 341 управления сбросом ωi для генератора 310 остаточного сигнала на основе характеристик сигнала для сигнала 105, которые описываются сигналом результата анализа. Контроллер блока 340 предсказания может, например, быть настроен для управления генератором 310 остаточного сигнала или своим внутренним блоком предсказания посредством сигнала 341 управления сбросом ωi, так что сбросы весовых значений ωi будут выборочно выполняться в моменты времени, для которых сигналы имеют конкретные характеристики (например, в моменты времени сброса, в которые, или в окрестности которых, сигнал является, например, нетональным, нестационарным или содержит ступеньку). Кроме предоставления сигнала 341 управления сбросом ωi, контроллер 340 блока предсказания может также предоставлять информацию 345 сброса в зависимости от характеристик сигнала для сигнала 105. Блок 350 задания формата битового потока выполнен с возможностью задания формата кодированных значений 335 остаточного сигнала и информации 345 сброса, предоставленной контроллером 340 блока предсказания, для получения битового потока 355, предоставляющего сигнал s(n).

Вследствие этого, со ссылкой на Фиг. 3a, кодер может быть выполнен с возможностью выполнения анализа сигнала для сигнала s(n) и выборочного выполнения сбросов в зависимости от анализа сигнала для сигнала. Более того, кодер может быть сконфигурирован для получения битового потока, представляющего сигнал, и для предоставления информации сброса, кодированной внутри битового потока, в зависимости от анализа сигнала.

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

На Фиг. 3b показана блок-схема дополнительного варианта осуществления кодера 360 для кодирования с предсказанием сигнала 105 со сбрасыванием весовых значений (ωi) на основе анализа остаточного сигнала. Здесь, кодер 360 по Фиг. 3b по существу содержит те же блоки обработки, как и кодер 300 по Фиг. 3a. Вследствие этого, идентичные блоки, имеющие аналогичные реализации и/или функции, обозначены теми же номерами, и повторное описание соответствующих блоков обработки пропущено. Однако для кодера 360 по Фиг. 3b характерно, что анализатор 380 сигнала может быть реализован для анализирования остаточного сигнала 325, δ(n), для получения сигнала 385 результата анализа. Здесь, анализ сигнала, выполненный анализатором 380 сигнала, может, например, быть использован для определения характеристик сигнала остаточного сигнала 325, которые описываются сигналом 385 результата анализа, который может впоследствии быть использован как основание для управления операцией сброса ωi, выполняемой внутри генератора 310 остаточного сигнала. Конкретно, анализатор 380 сигнала кодера 360 может быть выполнен с возможностью извлечения характеристик сигнала остаточного сигнала 325, на основе определения некоторых параметров анализа, из значений остаточного сигнала, δ(n), для получения сигнала результата анализа.

В противоположность контроллеру 340 блока предсказания кодера 300 на Фиг. 3a, контроллер 390 блока предсказания кодера 360 на Фиг. 3b не имеет выхода для предоставления информации сброса. Таким образом, блок 350 задания формата битового потока выполнен с возможностью задания формата только кодированных значений 355 остаточного сигнала для получения битового потока 355, представляющего сигнал s(n). Здесь также следует отметить, что в варианте осуществления по Фиг. 3b, вероятно некоторые другие параметры могут или должны быть использованы, которые отличаются от параметров в варианте осуществления по Фиг. 3a.

Вследствие этого, со ссылкой на Фиг. 3b, кодер может быть выполнен с возможностью выполнения анализа остаточного сигнала для остаточного сигнала δ(n) и выборочного выполнения сбросов в зависимости от анализа остаточного сигнала для остаточного сигнала. Более того, кодер может быть сконфигурирован для получения битового потока, представляющего сигнал и содержащего последовательность кодированных значений остаточного сигнала, δ'(n). Здесь кодер выполнен с возможностью избегания включения флага сброса, указывающего сброс весовых значений, в битовый поток.

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

Ссылаясь на варианты осуществления, описанные со ссылкой на Фиг. 1, 2, 3a и 3b, блок предсказания может вследствие этого быть выполнен с возможностью выполнения сбросов в нерегулярные моменты времени, которые зависят от сигнала.

На Фиг. 4 показана блок-схема дополнительного варианта осуществления кодера 400 для кодирования с предсказанием сигнала 105 с фильтрующей структурой 405 и блоком 410 предоставления для предоставления весовых значений. Как показано на Фиг. 4, кодер 400 содержит генератор 402 остаточного сигнала, который включает в себя фильтрующую структуру 405 и блок 410 предоставления ωi. Здесь, генератор 402 остаточного сигнала и фильтрующая структура 405 кодера 400, как показано на Фиг. 4, может соответствовать генератору 222 остаточного сигнала и блоку 110 предсказания кодера 200, как показано на Фиг. 2, соответственно. В частности, фильтрующая структура 405 может состоять из множества 420 из m последовательно соединенных элементов линии задержки "z-1", которые могут быть выполнены с возможностью успешной задержки сигнала 105, s(n), так что множество значений успешно задержанного сигнала s(n-1), s(n-2), ..., s(n-m) будет получено на соответствующих выходах множества 420 элементов линии задержки. Впоследствии множество значений успешно задержанного сигнала s(n-1), s(n-2), ..., s(n-m) будет подано на множество 422 соответствующих блоков умножения. Каждый блок умножения из множества 422 блоков умножения может быть выполнен с возможностью применения соответствующего весового значения из множества ωi, i=1, 2, 3, ..., m, весовых значений в качестве коэффициента фильтра или веса предсказания к соответствующему значению сигнала s(n-i), i=1, 2, 3, ..., m, так что множество 423 взвешенных значений сигнала будет получено на выходах множества 422 блоков умножения. Затем, как может быть видно на Фиг. 4, множество 424 блоков суммирования могут быть выполнены с возможностью суммирования взвешенных значений сигнала из множества 423 взвешенных значений сигнала для получения значения предсказанного сигнала, s'(n), на выходе 425 фильтрующей структуры 405. Здесь, значение предсказанного сигнала, s'(n), полученное с помощью фильтрующей структуры 405, может быть представлено формулой

Как описано соответственно в варианте осуществления по Фиг. 2, генератор 402 остаточного сигнала кодера 400 может также содержать блок 430 вычитания, который может соответствовать блоку 220 вычитания кодера 200, показанного на Фиг. 2. Здесь, блок 430 вычитания может быть выполнен с возможностью вычитания значений предсказанного сигнала, s'(n), на выходе 425 фильтрующей структуры 405 из сигнала 105 для получения значений 435 остаточного сигнала, δ(n), на выходе генератора 402 остаточного сигнала. Значения 435 остаточного сигнала могут быть дополнительно обработаны, как в предыдущих вариантах осуществления. Может также быть видно на Фиг. 4, что блок 410 предоставления ωi по существу выполнен с возможностью предоставления весовых значений 415, ω1, ω2, ω3, ..., ωm, для соответствующих блоков умножения из множества 422 блоков умножения. В частности, блок 410 предоставления ωi может предоставлять весовые значения 415 на основе ошибки предсказания, принятой из выхода 435 генератора 402 остаточного сигнала, и он может также принимать сигнал 105, s(n).

В вариантах осуществления, адаптивное предсказание может быть выполнено следующим образом. Сначала множество корректирующих значений δωi, i=1, 2, 3, ..., m, может быть вычислено для каждого фильтра или этапа итерации с использованием соответствующих значений сигнала, s(n), и ошибки предсказания, δ(n).

Затем полученные таким образом корректирующие значения δω1, ..., δωm могут быть прибавлены до следующего этапа фильтрации к текущим коэффициентам ω1, ..., ωm для получения обновленных весовых значений 415, так что следующий этап итерации для значения сигнала, s(n+1), будет выполнен с новыми обновленными коэффициентами ωi→ωi+δωi. Вследствие этого, кодер 400 может по существу быть использован для выполнения адаптации весовых значений на основе ошибки предсказания.

Ссылаясь на вариант осуществления по Фиг. 4, блок 410 предоставления ωi кодера 400 может управляться сигналом 401 управления сбросом ωi, который может соответствовать сигналу 241, 341 управления вариантов осуществления по Фиг. 2, 3a или 3b, соответственно, так что весовые значения 415 будут сброшены в моменты времени, как указано сигналом 401 управления сбросом ωi. В вариантах осуществления, сбросы могут быть выполнены посредством установления весовых значений 415 в предопределенные значения, которые могут, например, быть одинаковыми для последующих моментов времени сброса, где весовые значения могут представлять начальный набор коэффициентов предсказания.

На Фиг. 5 показана схематичная иллюстрация 500 концепции для определения момента времени 555 сброса для сбрасывания весовых значений в зависимости от текущего резерва битовой скорости (R0) согласно варианту осуществления настоящего изобретения. На схематичной иллюстрации 500 по Фиг. 5 показан примерный остаточный сигнал 510 δ(n), который может соответствовать остаточным сигналам 225; 325; 435 по Фиг. 2; 3a; 3b; 4, соответственно. Здесь, соответствующая (левая) вертикальная ось 501 представляет уровень остаточного сигнала, тогда как горизонтальная ось 502 является осью время/сэмпл. Может быть видно на Фиг. 5, что вертикальная ось 501 может, например, представлять уровень сигнала с использованием нелинейной шкалы. Как изображено на Фиг. 5, примерный остаточный сигнал 510 может иметь обычную форму сигнала, причем первый участок 512 остаточного сигнала 510 может быть близким к нулю или колебаться около него, тогда как второй последовательный участок 514 остаточного сигнала 510 может иметь сильно меняющуюся форму сигнала, характеризующуюся относительно большим диапазоном между максимальным и минимальным значениями сигнала остаточного сигнала 510.

Согласно вариантам осуществления, остаточный сигнал 510 может быть кодирован, как описано в предыдущих вариантах осуществления (см. например, Фиг. 2, 3a и 3b). Здесь для кодирования может быть использован динамический диапазон 511, соответствующий максимально доступной битовой скорости, такой как, например, 8 бит на сэмпл.

Ссылаясь на Фиг. 5, первый участок 512 сигнала может, например, быть кодирован с начальной (средней) битовой скоростью в 2 бит/сэмпл, как примерно указано стреловидной линией 513, тогда как второй участок 514 сигнала может, например, быть кодирован с измененной или увеличенной битовой скоростью более чем 2 бит/сэмпл, как примерно указа