Звуковое кодирующее устройство и звуковое декодирующее устройство

Иллюстрации

Показать все

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

Реферат

Настоящее изобретение относится к области звукового кодирования, в частности к кодированию на основе кодирования энтропии.

Традиционные представления об аудиокодировании включают схему кодирования энтропии для уменьшения избыточной информации в передаваемом сигнале. Как правило, кодирование энтропии использует дискретные спектральные коэффициенты для частотной области и выполняется на основе схем кодирования или дискретных выборок во временной области с использованием схем кодирования. Эти схемы кодирования энтропии обычно используют передачу комбинации кодовых слов в соответствии с индексом кодовой таблицы, который позволяет декодеру найти определенную страницу кодовой таблицы для декодирования закодированного информационного слова, соответствующего переданному кодовому слову на указанной странице. В некоторых принципах кодирования передача индекса кодовой таблицы, тем не менее, не является обязательной, например, для случаев, когда индекс кодовой таблицы может быть определен по символу, который, например, является кодировкой энтропии, как описано в Meine, Edier, "Improved Quantization and Lossless Coding for Subband Audio Coding" and Meine, "Vektorquantisierung und kontextabhängige arithmetische Codierung für MPEG-4 AAC", Dissertation, Gottfried Wilhelm Leibnitz Universitat Hannover, Hanover 2007.

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

Фиг.9 иллюстрирует пример контекста и его зависимостей. Фиг.9 показывает плоскость частота-время, в которой указано много символов. Символ Sn, м. обозначает символ во времени n и частоту m. Фиг.9 показывает, что для кодирования определенного символа, используется его контекст и определяется соответствующая кодовая таблица. Например, для символа Sn0,m0 то это будут все символы с

n<n0 и любого m, или с n=n0 и m<m0.

В практических применениях контекст будет не бесконечным, а ограниченным. В примере, изображенном в Фиг.9, контекст для символа, S0,3, например, может быть

S0,2, S0,l, S-1,5, S-1,4, S-1,3, S-1,2, S-1,1, S-2,5, S-2,4, S-2,3, S-2,2, S-2,1.

Для звукового кодирования, использующего частоту, могут использоваться изменение времени, сигнал адаптивной группы фильтров или так называемые блоки преобразования, что, в качестве примера, описано в Edler, В., "Codierung von Audiosignalen mit überlappender Transformation und adaptiven Fensterfunktionen", Frequenz, Ausgabe 43, September 1989. Другими словами, в рамках этих принципов аудиокодирования, в течение длительного времени могут происходить изменения разрешения частоты/времени. Популярный принцип аудиокодирования - так называемый ААС (ААС - широкополосный алгоритм аудиокодирования), в котором используются блоки двух размеров, в которых закодированы, например, 128 или 1024 коэффициентов преобразования, представляющих, соответственно, частотные компоненты 256 или 2048 оконных выборок во временном интервале.

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

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

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

Это достигается использованием звукового кодирующего устройства согласно положению 1, метода аудиокодирования согласно положению 8, звукового декодера согласно положению 9 и метода аудиодекодирования согласно положению 16.

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

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

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

Фиг.1 показывает воплощение звукового кодирующего устройства;

Фиг.2 показывает воплощение звукового декодера;

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

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

Фиг.5 иллюстрирует время переключения аудио и разрешение по частоте;

Фиг.6 иллюстрирует пример выполнения воплощения;

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

Фиг.7b иллюстрирует общую процедуру обновления контекста воплощения;

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

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

Фиг.9 показывает современную схему кодировки в координатах частота - время.

Фиг.1 показывает воплощение звукового кодирующего устройства 100 для кодирования сегментов коэффициентов, имеющих различное разрешение по времени или частоте, выбранного звукового сигнала. Звуковое кодирующее устройство 100 содержит процессор 110 для получения контекста кодирования кодируемого текущего коэффициента текущего сегмента, основанного на ранее закодированном коэффициенте предыдущего сегмента, имеющим разрешение по времени или частоте, отличающееся от кодируемого в настоящий момент коэффициента. Кроме того, воплощение звукового кодирующего устройства включает также кодирующее устройство энтропии 120 для значения энтропии, кодирующего текущий коэффициент, основанный на кодирующем контексте для получения закодированного звукового потока.

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

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

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

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

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

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

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

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

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

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

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

Фиг.3 показывает каким образом процессор 110; 210 может получить кодирующий контекст для коэффициентов текущего сегмента Mc,new, основанный на коэффициентах предыдущего сегмента Mc,old, причем предыдущий сегмент включает количество звуковых коэффициентов, отличающееся от числа коэффициентов текущего сегмента. В воплощении, показанном на фиг.3, количество коэффициентов сегмента М определяет частотное или спектральное разрешение сегмента. Воплощение может включать метод отображения, который отображает коэффициенты Mc,old предыдущего сегмента на коэффициенты Mc,new, имеющие такое же частотное или спектральное разрешение, как и контекст текущего сегмента. Фиг.3 показывает два набора коэффициентов в пределах двух сегментов, то есть оригинальный предыдущий сегмент 310, представляемый коэффициентами Mc,old, Sn,0, Sn,1, Sn,2, и т.д., и соответственно, отображение предыдущего сегмента 320, которое имеет более высокое разрешение, то есть разрешение Mc,new лучше, чем Mc,old, которое представлено Mc,new с коэффициентами Sn,0, Sn,1, Sn,2, Sn,3, и т.д.

Вообще, два воплощения можно отличить, в зависимости от того, лучше или хуже разрешение контекста текущего сегмента, чем разрешение контекста предыдущего сегмента. Фиг.3 показывает воплощение, в котором разрешение коэффициентов Mc,old предыдущего сегмента хуже, чем разрешение коэффициентов Mc,new текущего сегмента.

Фиг.3 показывает коэффициенты предыдущего сегмента 310 и символы, отражающие предыдущий сегмент 320. Из Фиг.3 можно заметить, что разрешение коэффициентов Mc,new текущего сегмента лучше, чем разрешение предыдущего сегмента 310, имеющего только коэффициенты Mc,old. В одном из вариантов исполнения предыдущий сегмент 310 имеет большее число выборок по сравнению с сегментом 320 коэффициентов Mc,new для согласования частотного или спектрального разрешения текущего сегмента. Это может быть проведено обычным увеличением числа выборок с дублированием символа и механизмами исключения каждого десятого символа, например, повторением каждого значения Mc,new, взятого до исключения каждого десятого символа, и в результате получается сегмент с увеличением числа выборок, с использованием только 1 коэффициента из каждого Mc,old. Также могут использоваться и другие виды интерполяции или экстраполяции.

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

Фиг.4 представляет другое воплощение, в котором коэффициенты предыдущего сегмента 410 имеют меньшее количество выборок по сравнению с сегментом 420, используемым для вычисления контекстов текущего сегмента, то есть в котором число коэффициентов Mc,old предыдущего сегмента 410 больше чем количество коэффициентов Mc,new текущего сегмента. Иллюстрация на фиг.4 аналогична фиг.3, и, соответственно, большое количество коэффициентов показано в каждом сегменте 410 и 420. Как показано на фиг.4, количество коэффициентов Mc,old, больше чем в Mc,new. Поэтому коэффициенты Mc,old подбираются таким образом, чтобы соответствовать частотному или спектральному разрешению коэффициентов Mc,new текущего сегмента, то есть в вариантах использования предыдущие сегменты, имеющие более высокое разрешение, могут быть подобраны таким образом, чтобы соответствовать разрешению текущего сегмента, имеющего более низкое разрешение. В воплощениях это может быть реализовано обычным уменьшением числа выборок с соответствующим коэффициентом дублирования и исключением каждого десятого символа, и в результате получается сегмент с увеличением числа выборок, с использованием только 1 коэффициента из каждого Mc,old; например, путем повторения каждого значения Mc,new, взятого до исключения каждого десятого символа из выбранного сегмента, с использованием только 1 коэффициента из каждого Mc,old. В других воплощениях могут использоваться операции фильтрации, например усреднение двух или более смежных значений.

Фиг.5 иллюстрирует другое воплощение, в котором выполнено переключение между различными разрешениями. Фиг.5 показывает плоскость времени/частоты, в которой представлены три последовательных сегмента звуковых коэффициентов, а именно 510, 520 и 530. Каждый из сегментов 510, 520 и 530 соответствует единственному набору коэффициентов. В воплощении, показанном на Фиг.5, предполагается, что второй сегмент 520 в два раза длиннее первого и третьего сегментов 510 и 530. Это может быть достигнуто при использовании различных окон при делении на сегменты во временной области, например, сделанном в ААС. В воплощении, иллюстрированном на фиг.5, предполагается, что норма осуществления выборки остается постоянной, другими словами, более длинный второй сегмент 520 включает в два раза больше звуковых коэффициентов в диапазоне частот, чем первый или третий сегмент 510 или 530.

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

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

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

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

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

Кодирование с исключением шумов может быть основано на дискретных спектральных значениях и может использовать взаимосвязанный контекст совокупных таблиц частот, полученный, например, из четырех ранее декодированных соседних кортежей [в базах данных, кортежем называется группа взаимосвязанных элементов данных]. Фиг.6 иллюстрирует другое воплощение. Фиг.6 показывает плоскость частота-время, причем на оси времени показаны три значения времени n, n-1 и n-2. Кроме того, Фиг.6 иллюстрирует четыре частотных или спектральных диапазона, которые обозначены m-2, m-1, m и m+1. Фиг.6 показывает пределы выбранных интервалов частота-время, в которых представлены кортежи выборок, которые будут закодированы или декодированы. на Фиг.6 показаны три различных типа кортежей, в которых соединительные порты блоков, имеющие сплошную или пунктирную границу, указывают остающиеся кортежи, которые будут закодированы или декодированы, блоки белого цвета, имеющие сплошную границу, соответствуют ранее закодированным или декодированным сегментам кортежа, и блоки серого цвета со сплошной границей соответствуют ранее закодированным/декодированным кортежам, которые используются для определения контекста для текущего кортежа, который будет закодирован или декодирован.

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

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

Фиг.7а показывает блок-схему USAC (USAC = Универсальный Речевой и Звуковой Кодировщик) арифметического кодировщика взаимосвязанного контекста для схемы кодирования спектральных коэффициентов. Процесс кодирования зависит от текущих 4 кортежей и контекста, где контекст используется для выбора распределения вероятности арифметического кодировщика и предсказания амплитуды спектральных коэффициентов. На фиг.7а блок 705 выполняет определение контекста, основанное на t0, t1, t2 и t3, соответствующих q (n-1, m), q(n, m-1), q(n-1, m-1) и q(n-1, m+1), которые изображены на Фиг.6 блоками серого цвета со сплошными границами.

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

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

-5<a,b,c,d<4.

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

Далее, если в этом воплощении изобретения набор коэффициентов (а, b, с, d), то есть какой-нибудь из коэффициентов а, b, с, d, выходит за пределы данного диапазона, в общем случае можно использовать, по мере необходимости, деление (а, b, с, d) на коэффициент (например, 2 или 4) несколько раз, для того, чтобы получающееся закодированное слово находилось в пределах данного диапазона. Деление на коэффициент 2 соответствует двоичному сдвигу в правую сторону, то есть (а, b, с, d)>>1. Это изменение вносится в полное представление, т.е. информация может быть утрачена. Младшие биты, которые могут быть потеряны при сдвиге вправо, сохраняются и позже кодируются с использованием арифметического кодировщика и однородного распределения вероятности. Процесс сдвига вправо выполняется для всех четырех спектральных коэффициентов (а, b, с, d).

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

В воплощении Фиг.7а распределение вероятности для кодирования буквенного кодового слова, а также оценка количества шагов по уменьшению диапазона могут быть получены из контекста. Например, все кодовые слова в количестве 84=4096, полностью представлены в 544 группах, которые состоят из одного или более элементов. Кодовое слово может быть представлено в потоке битов как индекс группы ng и элемент группы ne. Оба значения могут быть закодированы арифметическим кодировщиком с использованием определенного распределения вероятности. В одном из воплощений распределение вероятности для ng может быть получено из контекста, а распределение вероятности для ne может предполагаться однородным. Комбинация ng и ne может однозначно идентифицировать кодовое слово. Остаток от деления, то есть сдвинутые [перемещенные] разрядные матрицы, также может предполагаться однородно распределенным.

На Фиг.7а, на шаге 710, показаны 4 кортежа q (n, m), то есть (а, b, с, d) или текущий сегмент определены, и параметр lev инициализируется с установкой его значения в 0. На шаге 715 на основе контекста оценен диапазон (а, b, с, d). Согласно этой оценке (а, b, с, d) может быть уменьшен в соответствии со значением lev0, то есть разделен на множитель 21ev0. Младшие разряды матрицы lev0 сохранены для последующего использования на шаге 750. На шаге 720 происходит проверка, не превышает ли (а, b, с, d) данный диапазон, и, если это так, диапазон (а, b, с, d) уменьшается с параметром 4 на шаге 725. Другими словами, на шаге 725 (а, b, с, d) перемещены с параметром 2 вправо, и исключенные разряды матрицы сохраняются для последующего использования на шаге 750. Для того чтобы зафиксировать этот этап сокращения, для ng установлено значение 544 на шаге 730, то есть ng=544 служит признаком исключения кодового слова. Затем это кодовое слово записывается в поток битов на шаге 755, где для получения кодового слова на шаге 730 используется арифметический кодировщик с распределением вероятности, полученным из контекста. В случае если этот этап сокращения был использован в первый раз, то есть когда lev=lev0, контекст немного адаптирован. В случае если этап сокращения применен более одного раза, контекст не используется, и далее применяется распределение по умолчанию. Затем процесс продолжается с шага 720.

Если на шаге 720 достигается согласование диапазона, то есть если (а, b, с, d) соответствует условию диапазона, (а, b, с, d) отображается на группу ng, индекс элемента группы ne, если он применяется. Это отображение однозначно, то есть (а, b, с, d) может быть получено из ng и ne. Индекс группы ng затем кодируется арифметическим кодировщиком с использованием распределения вероятности, полученного для адаптированного/отбрасываемого контекста на шаге 735. Индекс группы ng затем включается в поток битов на шаге 755. На следующем шаге 740 проверяется является ли число элементов в группе больше чем 1. В случае необходимости, то есть когда группа, индексированная с помощью ng, состоит более чем из одного элемента, индекс элемента группы ne кодируется арифметическим кодировщиком на шаге 745, в предположении однородного распределения вероятности в представленном воплощении.

На следующем шаге 745, индекс группы элемента ne включается в поток битов на шаге 755. Наконец, на шаге 750, все сохраненные разряды матрицы, кодируются с использованием арифметического кодировщика в предположении однородного распределения вероятности. Затем закодированные сохраненные разряды матрицы также включаются в поток битов на шаге 755.

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