Аудио кодер, аудио декодер, способ кодирования и декодирования аудио информации и компьютерная программа, определяющая значение поддиапазона контекста на основе нормы ранее декодированных спектральных значений
Иллюстрации
Показать всеИзобретение относится к технике кодирования и декодирования информации и может быть использовано для получения декодированной аудио информации на основе кодированной аудио информации. Достигаемый технический результат - уменьшение ошибок кодирования спектральных значений входной аудио информации. Заявлены кодер, аудио декодер, способ кодирования и декодирования аудио информации и компьютерная программа для получения частотного значения на основе нормальных ранее декодированных спектральных значений. Аудио декодер для обеспечения декодированной аудио информации на основе кодированной аудио информации включает арифметический декодер для предоставления множества декодированных спектральных значений на основе арифметически кодированного представления спектральных значений и частотно-временной конвертер для обеспечения аудио представления временной области, используя декодированные спектральные значения для получения декодированной аудио информации, арифметический декодер выбирает правило отображения, описывающее отображение значения кода на код символа в зависимости от состояния контекста, которое описывается с помощью числового значения текущего контекста, определяет числовое значение текущего контекста в зависимости от множества ранее декодированных спектральных значений. 6 н. и 13 з.п. ф-лы, 24 ил.
Реферат
Область применения
Воплощения в соответствии с изобретением связаны с аудио декодером для обеспечения декодированной аудио информации на основе кодированной аудио информации, аудио кодером для обеспечения кодированной аудио информации на основе входной аудио информации, способом для получения декодированной аудио информации на основе кодированной аудио информации, способом получения кодированной аудио информации на основе входной аудио информации и компьютерной программой.
Воплощения в соответствии с изобретением связаны с улучшенным спектральным бесшумным кодированием, которое может быть использовано в аудио кодере и декодере, например, в так называемом едином кодере речи и аудио (USAC).
Уровень техники
Далее будет кратко описан уровень техники для того, чтобы облегчить понимание настоящего изобретения и его преимуществ. За последние десять лет были предприняты большие усилия для создания возможности цифрового хранения и распространения аудио содержания с хорошей эффективностью битрейта. Одним из важных достижений на этом пути является определение международного стандарта ISO/IEC 14496-3. Часть 3 данного стандарта связана с кодированием и декодированием аудио содержания, а подраздел 4 части 3 связан с общим аудио кодированием. ISO/IEC 14496, часть 3, раздел 4 определяет концепцию кодирования и декодирования общего аудио содержания. Кроме этого были предложены дальнейшие улучшения с целью повышения качества и/или снижения необходимой скорости передачи данных.
Согласно концепции, описанной в указанном стандарте, звуковой сигнал во временной области преобразуется в частотно-временное представление. Преобразование из временной области в частотно-временную область, как правило, осуществляется с помощью блоков преобразования, которые обозначаются как "кадры" образцов временной области. Было установлено, что выгоднее использовать перекрывающиеся кадры, которые перемещаются, например, на половину кадра, так как перекрытие позволяет эффективно избежать (или хотя бы уменьшить) артефакты. Кроме того, было обнаружено, что необходимо выполнить разделение на окна для того, чтобы избежать артефактов, появляющихся из-за обработки временно ограниченных кадров.
При преобразовании разделенной на окна части входного аудио сигнала из временной области в частотно-временную область, во многих случаях происходит уплотнение энергии, так что некоторые спектральные значения составляют значительно большую величину, чем множество других спектральных значений. Соответственно, во многих случаях есть сравнительно небольшое число спектральных значений с величиной, которая существенно выше средней величины спектральных значений. Типичным примером преобразования из временной области в частотно-временную область, приводящего к уплотнению энергии, является так называемое модифицированное дискретное косинус преобразование (MDCT).
Спектральные значения часто масштабируются и квантуются в соответствии с психоакустической моделью так, что ошибки квантования сравнительно меньше для психоакустичеки важных спектральных значений и сравнительно больше для психоакустически менее важных спектральных значений. Масштабированные и квантованные спектральные значения кодируются в целях обеспечения эффективного битрейта их представления.
Например, использование так называемого кодирования Хаффмана квантованных спектральных коэффициентов описано в международном стандарте ISO/IEC 14496-3:2005 (E), часть 3, раздел 4.
Тем не менее, было установлено, что качество кодирования спектральных значений оказывает значительное влияние на требуемый битрейт. Кроме того, было установлено, что сложность аудио декодера, который часто представляет собой портативное устройство, используемое потребителем, и который поэтому должен быть дешевым и потреблять мало энергии, зависит от способа кодирования, используемого для кодирования спектральных значений.
В связи с этим, существует необходимость в разработке концепции кодирования и декодирования аудио содержания, которая предусматривает улучшение компромисса между эффективностью битрейта и эффективностью использования ресурсов.
Сущность изобретения
Примером воплощения изобретения является аудио декодер для получения декодированной аудио информации на основе кодированной аудио информации. Аудио декодер включает в себя арифметический декодер для получения множества декодированных спектральных значений на основе арифметически-кодированного представления спектральных значений. Аудио декодер также включает конвертер частотной области во временную область для получения аудио представления во временной области с помощью декодированных спектральных значений в целях получения декодированной аудио информации. Арифметический декодер предназначен для выбора правила отображения, описывающего отображение значения кода в код символа (код символа обычно описывает спектральное значение или множество спектральных значений или наиболее значимую битовую плоскость спектрального значения или множества спектральных значений) в зависимости от состояния контекста, которое описано с помощью числового значения текущего контекста. Арифметический декодер настроен определять числовое значение текущего контекста в зависимости от множества ранее декодированных спектральных значений. Арифметический декодер также настроен получать множество значений поддиапазона контекста на основе ранее декодированных спектральных значений, а также сохранять указанные значения поддиапазона контекста. Арифметический декодер настроен извлекать числовое значение текущего контекста, соответствующее одному или более декодируемому спектральному значению (или, что более точно, определять контекст для декодирования одного или более декодируемого спектрального значения) в зависимости от сохраненных значений поддиапазона контекста. Арифметический декодер настроен вычислять норму вектора, сформированного множеством ранее декодированных спектральных значений для того, чтобы получить общее значение поддиапазона контекста, соответствующее множеству ранее декодированных спектральных значений.
Данный вариант реализации изобретения основан на том, что эффективная с точки зрения объема памяти информация о поддиапазоне контекста может быть получена при помощи вычисления нормы вектора, формируемого множеством ранее декодированных спектральных значений, так как норма такого вектора, формируемого множеством ранее декодированных спектральных значений, включает наиболее релевантную информацию о контексте. При формировании нормы знаки спектральных значений обычно не учитываются. Однако, было обнаружено, что знаки спектральных значений оказывают второстепенное влияние на состояние контекста, если вообще оказывают, и могут, таким образом, быть опущены, без существенного ущерба для значения поддиапазона контекста. Кроме этого, было обнаружено, что создание нормы вектора, формируемого множеством ранее декодированных спектральных значений, который обычно имеет эффект усреднения, позволяет уменьшить количество информации, получая при этом значение контекста, которое отражает с достаточной точностью ситуацию текущего контекста. Таким образом, объем памяти, необходимой для хранения контекста в форме множества значений поддиапазона контекста, может быть небольшим при хранении значений поддиапазона контекста, которые основаны на вычислении нормы вектора, формируемой множеством ранее декодированных спектральных значений (а не самих спектральных значений).
В предпочтительном варианте реализации изобретения арифметический декодер настроен суммировать абсолютные значения множества ранее декодированных спектральных значений, которые предпочтительно, но не обязательно, соответствуют смежным частотным областям частотно-временного конвертера, и общую временную часть аудио информации для того, чтобы получить общее значение поддиапазона контекста, соответствующее указанному множеству ранее декодированных спектральных значений. Было обнаружено, что суммирование абсолютных значений множества ранее декодированных спектральных значений, соответствующих вычислению нормы, является эффективным способом вычисления значимых значений поддиапазона контекста. Необходимо отметить, что вычисление суммы абсолютных значений вектора соответствует вычислению так называемой L-1 нормы вектора. Другими словами, вычисление суммы абсолютных значений вектора является примером вычисления нормы.
В предпочтительном варианте реализации изобретения арифметический декодер настроен на квантование нормы множества ранее декодированных спектральных значений, которые соответствуют смежным частотным областям частотно-временного конвертера и общей временной части аудио информации, для того, чтобы получить общее значение поддиапазона контекста, соответствующее множеству ранее декодированных спектральных значений. Квантование нормы может, например, включать вычисление нормы дискретной шкалы (напр., суммы абсолютных целых значений), а также сокращение результата.
В предпочтительном варианте реализации изобретения арифметический декодер настроен на квантование нормы множества ранее декодированных спектральных значений, которые, предпочтительно, но не обязательно, соответствуют смежным частотным областям частотно-временного конвертера и общей временной части аудио информации, для того, чтобы получить общее значение поддиапазона контекста, соответствующее множеству ранее декодированных спектральных значений. Было обнаружено, что квантование указанной нормы может способствовать тому, что количество информации останется достаточно небольшим. Например, квантование может способствовать уменьшению количества бит, необходимых для представления значения поддиапазона контекста, и, таким образом, упростить получение числового значения текущего контекста, имеющего небольшое количество бит.
В предпочтительном варианте реализации изобретения арифметический декодер настроен суммировать абсолютные значения ранее декодированных спектральных значений, которые кодируются с помощью общего значения кода, для того, чтобы получить общее значение поддиапазона контекста, соответствующее множеству ранее декодированных спектральных значений. Было обнаружено, что точность контекста является особенно высокой, если общее значение поддиапазона контекста формируется для спектральных значений, которые кодируются при помощи общего значения кода. Соответственно, каждое значение поддиапазона контекста может соответствовать значению кода, которое, в свою очередь, способствует эффективному использованию памяти при хранении значения поддиапазона контекста.
В предпочтительном варианте реализации изобретения арифметический декодер настроен предоставлять знаковые декодированные дискретные спектральные значения частотно-временному конвертеру, а также суммировать абсолютные значения, соответствующие знаковым декодированным спектральным значениям, для того, чтобы получить общее значение поддиапазона контекста, соответствующее множеству ранее декодированных спектральных значений. Было обнаружено, что иногда с точки зрения качества аудио целесообразно иметь знаковые значения в качестве входных значений частотно-временного конвертера, так как это позволяет рассматривать фазы реконструкции аудио содержания. Однако также было обнаружено, что опущение информации о фазе (напр., знаковой информации о спектральных значениях) в значениях поддиапазона контекста значительно не снижает точность информации о состоянии контекста, которая извлекается с помощью значений поддиапазона контекста, так как информация о фазе, в большинстве случаев, не строго соответствует различным частотным областям.
В предпочтительном варианте реализации изобретения арифметический декодер настроен извлекать предельное значение суммы из суммы абсолютных значений ранее декодированных дискретных спектральных значений (или извлекать предельное значение нормы из нормы вектора, формируемого множеством ранее декодированных дискретных спектральных значений) так, что диапазон возможных значений для предельного значения суммы меньше, чем диапазон возможных значений суммы (или так, что диапазон возможных значений для предельного значения нормы меньше, чем диапазон возможных значений нормы). Было обнаружено, что сокращение значений поддиапазона контекста позволяет уменьшить количество бит, необходимых для хранения значений поддиапазона контекста. Также было обнаружено, что умеренное сокращение значений поддиапазона контекста не приводит к значительной потере информации, так как для спектральных значений, которые превышают определенный порог, контекст впоследствии значительно не меняется.
В предпочтительном варианте реализации изобретения арифметический декодер настроен получать числовое значение текущего контекста в зависимости от множества значений поддиапазона контекста, соответствующих различным наборам ранее декодированных спектральных значений. Такой подход позволяет эффективно рассматривать различные контексты для декодирования различных спектральных значений (или кортежей спектральных значений). При поддержании достаточно высокой детализации значений поддиапазона контекста, так что множество значений поддиапазона контекста используется для получения одного числового значения текущего контекста, возможно сохранять значимую и при этом универсально используемую информацию о поддиапазоне контекста, из которой может быть извлечено фактическое числовое значение контекста непосредственно перед декодированием спектрального значения (или кортежа спектральных значений).
В предпочтительном варианте реализации изобретения арифметический декодер настроен получать числовое представление числового значения текущего контекста таким образом, что первая часть числового представления числового значения текущего контекста определяется первым значением суммы или предельным значением суммы абсолютных значений множества ранее декодированных спектральных значений (или, более обобщенно, первым значением нормы или предельным значением нормы), и вторая часть числового представления числового значения текущего контекста определяется вторым значением суммы или предельным значением суммы абсолютных значений множества ранее декодированных спектральных значений (или, более обобщенно, вторым значением нормы или предельным значением нормы). Было обнаружено, что значения поддиапазона контекста возможно эффективно применять при извлечении числового значения текущего контекста. А именно, было обнаружено, что значения поддиапазона контекста, вычисляемые как это было рассмотрено выше, подходят для формирования числового значения текущего контекста. Также было обнаружено, что значения поддиапазона контекста, вычисляемые как это было рассмотрено выше, подходят для определения различных частей числового представления числового значения текущего контекста. Соответственно, можно достичь как эффективного вычисления значений поддиапазона контекста, так и эффективного извлечения и обновления числового значения текущего контекста.
В предпочтительном варианте реализации изобретения арифметический декодер настроен получать числовое значение текущего контекста таким образом, что первое значение суммы или предельное значение суммы абсолютных значений множества ранее декодированных спектральных значений (либо первого значения нормы или предельное значение нормы) и второе значение суммы или предельное значение суммы абсолютных значений множества ранее декодированных спектральных значений (либо второе значение нормы или предельное значение нормы) представляют различный вес в числовом значении текущего контекста. Соответственно, могут быть приняты во внимание различные расстояния спектральных значений, на которых основаны значения поддиапазона контекста, до одного или более декодируемых спектральных значений. И наоборот, относительно различные позиции спектральных значений, на которых основаны значения поддиапазона контекста, и одного или более декодируемых спектральных значений могут быть рассмотрены в связи с применением различного числового веса в числовом значении текущего контекста. Такой подход способствует повторному обновлению числового значения текущего контекста, так как числовой вес частей числового представления может легко изменяться при помощи операции сдвига.
В предпочтительном варианте реализации изобретения арифметический декодер настроен модифицировать числовое представление числового значения предыдущего контекста, которое описывает состояние контекста, соответствующее одному или более ранее декодированному спектральному значению, в зависимости от значения суммы или предельного значения суммы абсолютных значений множества ранее декодированных спектральных значений (либо от значения нормы или предельного значения нормы) для того, чтобы получить числовое представление числового значения текущего контекста, которое описывает состояние контекста, соответствующее одному или более декодируемому спектральному значению. Таким образом может быть достигнуто эффективное обновление числового значения текущего контекста, избегая при этом полного повторного вычисления числового значения текущего контекста.
В предпочтительном варианте реализации изобретения арифметический декодер настроен контролировать, меньше или равна сумма множества значений поддиапазона контекста заданному пороговому значению суммы, а также выборочно модифицировать числовое значение текущего контекста в зависимости от результата проверки, при этом каждое из значений поддиапазона контекста является значением суммы или предельным значением суммы абсолютных значений соответствующего множества ранее декодированных спектральных значений (либо значением нормы или предельным значением нормы). Соответственно, может быть обнаружено присутствие расширенной области сравнительно небольших спектральных значений, и результат обнаружения может быть применен для адаптации контекста. Например, из-за присутствия такой расширенной области сравнительно небольших спектральных значений может быть сделан вывод, что есть высокая вероятность того, что спектральное значение, декодируемое с использованием числового значения текущего контекста, является также сравнительно небольшим. Таким образом, контекст может быть адаптирован эффективным способом.
В предпочтительном варианте реализации изобретения арифметический декодер настроен учитывать множество значений поддиапазона контекста, которое определяется при помощи ранее декодированных спектральных значений, соответствующих предыдущей временной части аудио содержания, а также учитывать по меньшей мере одно значение поддиапазона контекста, определяемое при помощи ранее декодированных спектральных значений, соответствующих текущей временной части аудио содержания, чтобы получить числовое значение текущего контекста, соответствующее одному или более декодируемому спектральному значению, а также соответствующее текущей временной части аудио содержания так, что окружение смежных по времени ранее декодированных спектральных значений предыдущей временной области и смежных по частоте ранее декодированных спектральных значений текущей временной области учитываются для получения числового значения текущего контекста. Таким образом может быть получен значимый контекст. Также необходимо отметить, что описанное выше извлечение значений поддиапазона контекста позволяет сохранить достаточно небольшим объем памяти, необходимый для хранения значений поддиапазона контекста предыдущей временной области.
В предпочтительном варианте реализации изобретения арифметический декодер настроен сохранять набор значений поддиапазона контекста, каждое из которых основано на значении суммы или предельном значении суммы абсолютных значений множества ранее декодированных спектральных значений (или, более обобщенно, на значении нормы вектора, которое формируется множеством ранее декодированных спектральных значений) для заданной временной области аудио информации, а также использовать значения поддиапазона контекста для извлечения числового значения текущего контекста с целью декодирования одного или более спектральных значений временной области аудио информации, которая следует за заданной временной областью аудио информации, оставляя отдельные ранее декодированные спектральные значения для заданной временной части аудио информации неучтенными при извлечении числового значения текущего контекста. Соответственно, может быть повышена эффективность вычисления числового значения текущего контекста. А также исчезает необходимость сохранять отдельные ранее декодированные спектральные значения на длительный период времени.
В предпочтительном варианте реализации изобретения арифметический декодер настроен отдельно декодировать значение величины и знак спектрального значения. В этом случае арифметический декодер настроен оставлять неучтенными знаки ранее декодированных спектральных значений при определении числового значения текущего контекста для декодирования необходимого спектрального значения. Было обнаружено, что подобная раздельная обработка абсолютного значения и знака спектрального значения не приводит к значительному ухудшению эффективности кодирования, но значительно снижает сложность вычислений. Кроме этого, было обнаружено, что вычисление значений поддиапазона контекста на основе вычисления нормы вектора, формируемого множеством ранее декодированных спектральных значений, хорошо подходит для использования в комбинации с такой концепцией.
Вариант реализации изобретения создает аудио кодер для обеспечения кодированной информации на основе входной аудио информации. Аудио кодер содержит энергосберегающий конвертер временной области в частотную область для обеспечения аудио представления в частотной области на основе представления входной аудио информации во временной области таким образом, что аудио представление частотной области включает набор спектральных значений. Аудио кодер включает арифметический кодер, который настроен кодировать спектральное значение или его обработанную ранее версию, либо, аналогично, множество спектральных значений или их обработанных ранее версий, используя кодовое слово переменной длины. Арифметический кодер настроен отображать спектральное значение или значение наиболее значимой битовой плоскости спектрального значения либо, аналогично, множество спектральных значений или значение наиболее значимой битовой плоскости множества спектральных значений на значение кода. Арифметический кодер настроен выбирать правило отображения, которое описывает отображение спектрального значения или наиболее значимой битовой плоскости спектрального значения на значение кода в зависимости от состояния контекста, описанного с помощью числового значения текущего контекста. Арифметический кодер настроен определять числовое значение текущего контекста в зависимости от множества ранее кодированных спектральных значений. Арифметический кодер настроен получать множество значений поддиапазона контекста на основе ранее кодированных спектральных значений, сохранять указанные значения поддиапазона контекста, а также извлекать числовое значение текущего контекста, соответствующее одному или более кодируемому спектральному значению (или, более точно, определять контекст для кодирования спектральных значений), в зависимости от сохраненных значений поддиапазона контекста. Арифметический кодер настроен вычислять норму вектора, которая формируется множеством ранее кодированных спектральных значений, для того, чтобы получить общее значение поддиапазона контекста, соответствующее множеству ранее кодированных спектральных значений.
Указанный аудио кодер основан на тех же временных настройках, что и описанный выше аудио декодер. Указанный аудио кодер и может быть дополнен любыми свойствами и функциями, описанными выше по отношению к аудио декодеру.
Следующий вариант реализации настоящего изобретения создает способ обеспечения декодированной аудио информации на основе кодированной аудио информации.
Следующий вариант реализации настоящего изобретения создает способ обеспечения кодированной аудио информации на основе входной аудио информации.
Следующий вариант реализации настоящего изобретения создает компьютерную программу для выполнения одного из указанных способов.
Краткое описание чертежей
Варианты реализации настоящего изобретения будут далее описаны со ссылкой на прилагаемые фигуры:
Фиг. 1 показывает блок-схему аудио кодера согласно одному из вариантов реализации изобретения;
Фиг. 2 показывает блок-схему аудио декодера согласно одному из вариантов реализации изобретения;
Фиг. 3 показывает представление кода псевдо-программы алгоритма "values_decode ()" для декодирования спектральных значений;
Фиг. 4 показывает схематическое представление контекста для вычисления состояния;
Фиг. 5A показывает представление кода псевдо-программы алгоритма "arith_map_context ()" для отображения контекста;
Фиг. 5B показывает представление кода псевдо-программы следующего алгоритма "arith_map_context ()" для отображения контекста;
Фиг. 5C показывает представление кода псевдо-программы алгоритма "arith_get_context ()" для получения значения состояния контекста;
Фиг. 5D показывает представление кода псевдо-программы алгоритма "arith_get_context ()" для получения значения состояния контекста;
Фиг. 5E показывает представление кода псевдо-программы алгоритма "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;
Фиг. 5O показывает представление кода псевдо-программы алгоритма "arith_update_context()" для обновления массива декодированных спектральных значений и массива значений контекста поддиапазона;
Фиг. 5P показывает представление кода псевдо-программы алгоритма "arith_save_context ()" для заполнения записей массива декодированных спектральных значений и массива значений контекста поддиапазона;
Фиг. 5Q показывает легенду определений;
Фиг. 5R показывает легенду переменных;
Фиг. 6A показывает синтаксис представления необработанного блока данных единого кодирования речи и аудио (USAC);
Фиг. 6B показывает синтаксис представления единого элемента канала;
Фиг. 6C показывает синтаксис представления парного элемента канала;
Фиг. 6D показывает синтаксис представления контрольной информации"ICS";
Фиг. 6E показывает синтаксис представления потока канала частотной области;
Фиг. 6F показывает синтаксис представления арифметически кодированных спектральных данных;
Фиг. 6G показывает синтаксис представления для декодирования набора спектральных значений;
Фиг. 6H показывает следующий синтаксис представления для декодирования набора спектральных значений;
Фиг. 6I показывает легенду элементов данных и переменных;
Фиг. 6J показывает следующую легенду элементов данных и переменных;
Фиг. 7 показывает блок-схему аудио кодера согласно первому аспекту изобретения;
Фиг. 8 показывает блок-схему аудио декодера согласно первому аспекту изобретения;
Фиг. 9 показывает графическое представление отображения числового значения текущего контекста на значение индекса правила отображения согласно первому аспекту изобретения;
Фиг. 10 показывает блок-схему аудио кодера согласно второму аспекту изобретения;
Фиг. 11 показывает блок-схему аудио декодера согласно второму аспекту изобретения;
Фиг. 12 показывает блок-схему аудио кодера согласно третьему аспекту изобретения;
Фиг. 13 показывает блок-схему аудио декодера согласно третьему аспекту изобретения;
Фиг. 14A показывает схематическое представление контекста для вычисления состояния как оно используется в соответствии с рабочим проектом 4 проекта стандарта USAC;
Фиг. 14B показывает обзор таблиц, используемых в схеме арифметического кодирования в соответствии с рабочим проектом 4 проекта стандарта USAC;
Фиг. 15A показывает схематическое представление контекста для вычисления состояния как оно используется в вариантах реализации настоящего изобретения
Фиг. 15B показывает обзор таблиц, используемых в схеме арифметического кодирования согласно настоящему изобретению;
Фиг. 16A показывает графическое представление запроса памяти только для чтения на схемы бесшумного кодирования в соответствии с настоящим изобретением, рабочим проектом 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(8) показывают содержание таблицы "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, записи которой определяют как значения значимого состояния среди числовых значений контекста, так и границы интервалов числовых значений контекста, при этом значение индекса правила отображения индивидуально соотносится с числовым значением контекста, так как является значением значимого состояния, при этом общее значение индекса правила отображения соотносится с разными числовыми значениями (текущего) контекста, которые находятся в пределах интервала, ограниченного границами. Хэш-табл