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

Иллюстрации

Показать все

Изобретение относится к области кодирования/декодирования аудио информации. Технический результат – обеспечение улучшенного компромисса между эффективностью скорости передачи битов и эффективностью использования ресурсов. Аудио декодер включает: арифметический декодер для обеспечения множества декодированных спектральных значений на основе арифметически кодированного представления спектральных значений, содержащихся в кодированной аудио информации, и конвертер частотной области во временную область для обеспечения аудио представления временной области, используя декодированные спектральные значения, в целях получения декодированной аудио информации; при этом арифметический декодер настроен выбирать правило отображения, описывающее отображение значения кода арифметически кодированного представления спектральных значений на код символа; определять числовое значение текущего контекста; и модифицировать числовое представление числового значения предыдущего контекста в зависимости от значения поддиапазона контекста, чтобы получить числовое представление числового значения текущего контекста. 6 н. и 14 з.п. ф-лы, 67 ил.

Реферат

Область применения

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

Воплощения в соответствии с изобретением связаны с улучшенным спектральным бесшумным кодированием, которое может быть использовано в аудио кодере и декодере, например, в так называемом едином кодере речи и аудио (USAC).

Уровень техники

Далее будет кратко описан уровень техники для того, чтобы облегчить понимание настоящего изобретения и его преимуществ. За последние десять лет были предприняты большие усилия для создания возможности цифрового хранения и распространения аудио содержания с хорошей эффективностью битрейта. Одним из важных достижений на этом пути является определение международного стандарта ISO/IEC 14496-3. Часть 3 данного стандарта связана с кодированием и декодированием аудио содержания, а подраздел 4 части 3 связан с общим аудио кодированием. ISO/IEC 14496, часть 3, раздел 4 определяет концепцию кодирования и декодирования общего аудио содержания. Кроме этого были предложены дальнейшие улучшения с целью повышения качества и/или снижения необходимой скорости передачи данных.

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

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

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

Например, использование так называемого кодирования Хаффмана квантованных спектральных коэффициентов описано в международном стандарте ISO/IEC 14496-3:2005 (Е), часть 3, раздел 4.

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

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

Сущность изобретения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Аудио кодер основан на тех же идеях, что и аудио декодер. Также аудио кодер быть дополнен теми же функциями, которые рассматривались по отношению к аудио декодеру.

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

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

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

Краткое описание чертежей

Варианты реализации настоящего изобретения будут далее описаны со ссылкой на прилагаемые фигуры:

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

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

Фиг. 3 показывает представление кода псевдо-программы алгоритма "values_decode()» для декодирования спектральных значений;

Фиг. 4 показывает схематическое представление контекста для вычисления состояния;

Фиг. 5а показывает представление кода псевдо-программы алгоритма "arith_map_context()» для отображения контекста;

Фиг. 5b показывает представление кода псевдо-программы следующего алгоритма "arith_map_context()» для отображения контекста;

Фиг. 5с показывает представление кода псевдо-программы алгоритма "arith_get_context()» для получения значения состояния контекста;

Фиг. 5d показывает представление кода псевдо-программы алгоритма "arith_get_context()» для получения значения состояния контекста;

Фиг. 5е показывает представление кода псевдо-программы алгоритма "arith_get_pk()» для извлечения значения индекса сводной таблицы частот „pki" из значения состояния (или переменной состояния);

Фиг. 5f показывает представление кода псевдо-программы алгоритма "arith_get_pk()» для извлечения значения индекса сводной таблицы частот „pki" из значения состояния (или переменной состояния);

Фиг. 5g показывает представление кода псевдо-программы алгоритма "arith_decode()» для арифметического декодирования символа из кодового слова переменной длины;

Фиг. 5h показывает первую часть представления кода псевдо-программы следующего алгоритма "arith_decode()» для арифметического декодирования символа из кодового слова переменной длины;

Фиг. 5i показывает вторую часть представления кода псевдо-программы следующего алгоритма "arith_decode()» для арифметического декодирования символа из кодового слова переменной длины;

Фиг. 5j показывает представление кода псевдо-программы алгоритма для извлечения абсолютных величин a, b спектральных значений из общего значения m;

Фиг. 5k показывает представление кода псевдо-программы алгоритма для ввода декодированных значений a, b в массив декодированных спектральных значений;

Фиг. 5l показывает представление кода псевдо-программы алгоритма "arith_update_context()» для получения значения контекста поддиапазона основе абсолютных значений a, b декодированных спектральных значений;

Фиг. 5m показывает представление кода псевдо-программы алгоритма "arith_finish()» для заполнения записей массива декодированных спектральных значений и массива значений контекста поддиапазона;

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

Фиг. 5о показывает представление кода псевдо-программы алгоритма "arith_update_context()" для обновления массива декодированных спектральных значений и массива значений контекста поддиапазона;

Фиг. 5р показывает представление кода псевдо-программы алгоритма "arith_save_context()» для заполнения записей массива декодированных спектральных значений и массива значений контекста поддиапазона;

Фиг. 5q показывает легенду определений;

Фиг. 5r показывает легенду переменных;

Фиг. 6а показывает синтаксис представления необработанного блока данных единого кодирования речи и аудио (USAC);

Фиг. 6b показывает синтаксис представления единого элемента канала;

Фиг. 6с показывает синтаксис представления парного элемента канала;

Фиг. 6d показывает синтаксис представления контрольной информации"ICS";

Фиг. 6е показывает синтаксис представления потока канала частотной области;

Фиг. 6f показывает синтаксис представления арифметически кодированных спектральных данных;

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

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

Фиг. 6i показывает легенду элементов данных и переменных;

Фиг. 6j показывает следующую легенду элементов данных и переменных;

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

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

Фиг. 9 показывает графическое представление отображения числового значения текущего контекста на значение индекса правила отображения согласно первому аспекту изобретения;

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

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

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

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

Фиг. 14а показывает схематическое представление контекста для вычисления состояния как оно используется в соответствии с рабочим проектом 4 проекта стандарта USAC;

Фиг. 14b показывает обзор таблиц, используемых в схеме арифметического кодирования в соответствии с рабочим проектом 4 проекта стандарта USAC;

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

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

Фиг. 16а показывает графическое представление запроса памяти только для чтения на схемы бесшумного кодирования в соответствии с настоящим изобретением, рабочим проектом 5 проекта стандарта USAC и согласно кодированию Хаффмана ААС (усовершенствованное аудио кодирование);

Фиг. 16b показывает графическое представление общего запроса данных памяти только для чтения декодера USAC в соответствии с настоящим изобретением и в соответствии с рабочим проектом 5 проекта стандарта USAC;

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

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

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

Фиг. 20 показывает таблицу представления обычных порядковых чисел для декодирования 32-кбитного потока в соответствии с рабочим проектом 3 проекта стандарта USAC для различных версий арифметического кодера;

Фиг. 21(1) и 21(2) показывают содержание таблицы "ari_lookup_m[600]";

Фиг. 22(1) - 21(4) показывают содержание таблицы "ari_hash_m[600]";

Фиг. 23(1) - 23(7) показывают содержание таблицы "ari_cf_m[600]";

Фиг. 24 показывает содержание таблицы "ari_cf_r[]".

Подробное описание вариантов реализации изобретения

1. Аудио кодер в соответствии с фиг. 7

Фиг. 7 показывает блок-схему аудио кодера, согласно одному из вариантов реализации изобретения. Аудио декодер 700 настроен получать входную аудио информацию 710 и получать на ее основе кодированную аудио информацию 712. Аудио кодер включает в себя энергосберегающий конвертер временной области в частотную область 720, который предназначен обеспечивать аудио представление в частотной области 722 на основе представления входной аудио информации 710 во временной области так, что аудио представление в частотной области 722 включает в себя набор спектральных значений. Аудио кодер 700 также включает в себя арифметический кодер 730, предназначенный для кодирования спектрального значения (из набора спектральных значений, формирующих аудио представление в частотной области 722) или его предварительно обработанной версии с помощью кодового слова переменной длиной, чтобы получить кодированную аудио информацию 712 (которая может включать, например, множество кодовых слов переменной длины).

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

Как можно видеть, отображение спектрального значения (аудио представления в частотной плоскости 722) или наиболее значимой битовой плоскости спектрального значения на значение кода (кодированной аудио информации 712) может осуществляться кодированием спектрального значения 740 с помощью правила отображения 742. Трекер состояния 750 может быть настроен для отслеживания состояния контекста. Трекер состояния 750 обеспечивает информацию 754, описывающую текущее состояние контекста. Информация 754, описывающая текущее состояние контекста, предпочтительно может быть в форме числового значения текущего контекста. Селектор правила отображения 760 настроен выбирать правило отображения, например, сводную таблицу частот, описывающую отображение спектрального значения, или наиболее значимую битовую плоскость спектрального значения, на значение кода. Соответственно, селектор правила отображения 760 предоставляет информацию правила отображения 742 для кодирования спектрального значения 740. Информация правила отображения 742 может иметь форму значения индекса правила отображения или сводной таблицы частот, которая выбирается в зависимости от значения индекса правила отображения. Селектор правила отображения 760 включает (или по меньшей мере оценивает) хэш-таблицу 752, записи которой определяют как значения значимого состояния среди числовых значений контекста, так и границы интервалов числовых значений контекста, при этом значение индекса правила отображения индивидуально соотносится с числовым значением контекста, так как является значением значимого состояния, при этом общее значение индекса правила отображения соотносится с разными числовыми значениями (текущего) контекста, которые находятся в пределах интервала, ограниченного границами. Хэш-таблица 762 оценивается для того, чтобы выбрать правило отображения, т.е. чтобы обеспечить информацию правила отображения 742.

Подводя итог вышесказанному, аудио кодер 700 выполняет арифметическое кодирование аудио представления в частотной области, осуществляемого конвертером временной области в частотную область. Арифметическое кодирование зависит от контекста, например, правило отображения (например, сводная таблица частот) выбирается в зависимости от ранее кодированных спектральных значений. Таким образом, спектральные значения, смежные во времени и/или по частоте (или по меньшей мере в заданном окружении) друг с другом и/или с кодируемым в данный момент спектральным значением (т.е. спектральные значения в пределах заданного окружения в данный момент кодируемого спектрального значения) рассматриваются в арифметическом кодировании для регулировки распределения вероятности, оцениваемой арифметическим кодированием. При выборе соответствующего правила отображения оцениваются числовые значения текущего контекста 754, предоставленные трекером состояния 750. Поскольку обычно число различных правил отображения значительно меньше, чем число возможных числовых значений текущего контекста 754, селектор правила отображения 760 определяет одни и те же правила отображения (описанные, например, с помощью значения индекса правила отображения) для сравнительно большого количества различных числовых значений контекста. Тем не менее, обычно существуют особые спектральные конфигурации (представленные особыми числовыми значениями контекста), которым должно соответствовать определенное правило отображения для того, чтобы обеспечить эффективное кодирование.

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