УСТРОЙСТВО И СПОСОБ ОСНОВАННОГО НА КОНТЕКСТЕ АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ И УСТРОЙСТВО И СПОСОБ ОСНОВАННОГО НА КОНТЕКСТЕ АРИФМЕТИЧЕСКОГО ДЕКОДИРОВАНИЯ Российский патент 2018 года по МПК G10L19/20 

Описание патента на изобретение RU2649288C2

Область техники, к которой относится изобретение

Один или более вариантов осуществления относятся к способу кодирования и декодирования аудиосигнала, а более конкретно, к способу кодирования и декодирования без потерь.

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

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

Кодирование и декодирование речевого сигнала может, в общем, выполняться во временной области. Большая часть речевых кодеков, сжимающих во временной области, может быть связана с линейным прогнозированием с возбуждением по коду (CELP). CELP может быть технологией кодирования речи и, G.729, широкополосное адаптивное многоскоростное кодирование (AMR-WB), кодек с низкой скоростью передачи битов через Интернет (iLBC), усовершенствованный кодек с переменной скоростью (EVRC) и т.п., которые экстенсивно используются, могут быть речевыми кодерами на основе CELP. Эти схемы кодирования могут быть разработаны при допущении, что речевой сигнал получается с использованием линейного прогнозирования. В кодировании речи могут быть необходимы коэффициент линейного прогнозирования и сигнал возбуждения. В общем, коэффициент линейного прогнозирования может быть кодирован с использованием пар спектральных линий (LSP), и сигнал возбуждения может быть кодирован с использованием нескольких таблиц кодирования. В качестве примеров схемы кодирования, разработанной на основе CELP, схемы кодирования на основе алгебраического линейного прогнозирования с возбуждением по коду (ACELP) и т.п., может быть приведена схема кодирования на основе линейного прогнозирования с возбуждением по сопряженно-структурированному коду (CS-CELP).

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

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

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

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

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

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

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

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

Согласно другому аспекту одного или более вариантов осуществления, может предоставляться устройство основанного на контексте арифметического декодирования, причем устройство включает в себя: модуль определения контекста кортежа из N элементов, чтобы определять контекст текущего кортежа из N элементов, который должен быть декодирован; модуль декодирования управляющего кода, чтобы выполнять декодирование для управляющего кода на основе контекста текущего кортежа из N элементов; модуль определения MSB-контекста, чтобы определять MSB-контекст, соответствующий MSB-символу текущего кортежа из N элементов; модуль преобразования вероятностных моделей, чтобы определять вероятностную модель с использованием контекста текущего кортежа из N элементов и MSB-контекста; модуль MSB-декодирования, чтобы выполнять декодирование для MSB на основе определенной вероятностной модели; и модуль LSB-декодирования, чтобы выполнять декодирование для LSB на основе битовой глубины LSB, извлеченного из декодирования управляющего кода.

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

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

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

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

Согласно дополнительному аспекту одного или более вариантов осуществления, может предоставляться способ основанного на контексте арифметического декодирования, причем способ включает в себя: выполнение, в зависимости от того, находится или нет контекст кортежа из N элементов в конкретном состоянии из поднабора, декодирования для MSB текущего кортежа из N элементов, который должен быть декодирован, с использованием одного из (1) контекста кортежа из N элементов на основе соседних кортежей из N элементов, соседних с текущим кортежем из N элементов, и (2) контекста кортежа из N элементов и дополнительного контекста; и выполнение декодирования для LSB текущего кортежа из N элементов с использованием контекста LSB на основе информации знака MSB.

Согласно дополнительному аспекту одного или более вариантов осуществления, может предоставляться способ основанного на контексте арифметического декодирования, причем способ включает в себя: выполнение, в зависимости от того, находится или нет контекст кортежа из N элементов в конкретном состоянии, декодирования для MSB текущего кортежа из N элементов, который должен быть декодирован, с использованием одного из (1) контекста кортежа из N элементов на основе соседних кортежей из N элементов, соседних с текущим кортежем из N элементов, и (2) контекста кортежа из N элементов и дополнительного контекста; и выполнение декодирования для LSB текущего кортежа из N элементов с использованием контекста LSB на основе информации знака MSB и битовой глубины LSB.

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

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

Согласно дополнительному аспекту одного или более вариантов осуществления, может предоставляться способ основанного на контексте арифметического декодирования, причем способ содержит: выполнение декодирования для MSB текущего кортежа из 2 элементов, который должен быть декодирован, с использованием, по меньшей мере, одного из контекста кортежа из 2 элементов на основе соседних кортежей из 2 элементов, соседних с текущим кортежем из 2 элементов, и дополнительного контекста; и выполнение декодирования LSB текущего кортежа из 2 элементов, когда MSB текущего кортежа из 2 элементов декодируется.

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

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

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

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

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

Фиг.1 иллюстрирует кодер на основе объединенного кодирования речи и аудио (USAC);

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

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

Фиг.4 является схемой, используемой для описания кортежа из N элементов, старшего бита (MSB) и младшего бита (LSB) согласно варианту осуществления;

Фиг.5 иллюстрирует контекст и вероятностную модель согласно варианту осуществления;

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

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

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

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

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

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

Фиг.12 иллюстрирует контекст и вероятностную модель согласно другому варианту осуществления;

Фиг.13 иллюстрирует второй пример способа MSB-декодирования согласно варианту осуществления;

Фиг.14 иллюстрирует второй пример способа LSB-декодирования согласно варианту осуществления;

Фиг.15 иллюстрирует контекстный режим согласно варианту осуществления;

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

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

Фиг.18 иллюстрирует пример реализации контекстного режима согласно варианту осуществления;

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

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

Фиг.21 иллюстрирует кортеж из 1 элемента, MSB и LSB согласно варианту осуществления;

Фиг.22 иллюстрирует пример контекстного шаблона согласно варианту осуществления;

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

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

Фиг.25 иллюстрирует контекстный шаблон относительно кортежа из 2 элементов согласно варианту осуществления;

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

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

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

Фиг.29 является схемой, используемой для описания процесса выполнения арифметического кодирования/декодирования для кортежа из 2 элементов согласно варианту осуществления.

Режим осуществления изобретения

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

Фиг.1A иллюстрирует кодер на основе объединенного кодирования речи и аудио (USAC), и Фиг.1B иллюстрирует USAC-декодер.

USAC по стандарту Экспертной группы по киноизображению (MPEG)-D может кратко включать в себя три рабочих режима. Во-первых, в режиме стереосигнала, стереосигнал может выражаться как параметр с использованием объемного звучания MPEG, улучшенная репликация полос спектра (eSBR) может приспосабливаться в полосе высоких частот, и базовая схема кодирования может быть использована в полосе низких частот. Во-вторых, в режиме стереосигнала, eSBR может приспосабливаться относительно двух каналов в полосе высоких частот, и базовая схема кодирования может быть использована в полосе низких частот двух каналов, может быть предоставлена. В-третьих, в режиме моносигнала, полоса высоких частот может быть кодирована с использованием eSBR, и низкочастотный сигнал может быть кодирован с использованием базовой схемы кодирования.

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

USAC-кодер и USAC-декодер в полосе низких частот могут выбирать один из режима FD-кодирования и режима кодирования в области линейного прогнозирования (LPD), чтобы выполнять кодирование или декодирование для сигналов.

В этом случае, относительно FD, USAC-кодер и USAC-декодер могут выполнять квантование или бесшумное кодирование для спектра в MDCT-домене. Относительно LPD, USAC-кодер и USAC-декодер могут избирательно выполнять кодирование или декодирование в соответствии с ACELP-схемой или wLPT-схемой.

В этом случае, USAC-кодер и USAC-декодер могут выполнять кодирование и декодирование в соответствии с ACELP-схемой через одно из линейного прогнозирования (LP), адаптивной таблицы кодирования и фиксированной таблицы кодирования. USAC-кодер и USAC-декодер могут преобразовывать взвешенный остаточный LP-сигнал в частотную область с использованием MDCT и выполнять квантование и бесшумное кодирование для преобразованного сигнала, чтобы выполнять кодирование и декодирование в соответствии с wLPT-схемой.

В полосе высоких частот USAC-кодер может выполнять кодирование для высокочастотного сигнала с использованием параметра через eSBR. Затем, USAC-декодер может выполнять декодирование для кодированного сигнала и формировать высокочастотный сигнал на основе декодированного сигнала.

USAC-кодер может выполнять кодирование посредством выражения стереоинформации в качестве параметра с использованием объемного звучания MPEG (MPS), и USAC-декодер может формировать стереосигнал на основе декодированной информации.

Варианты осуществления, которые подробно описываются, могут относиться к бесшумному кодированию, выполняемому в USAC-кодере и USAC-декодере, а более конкретно, к кодированию и декодированию без потерь, которое выполняется для спектральных данных, квантованных посредством FD-схемы или wLPT-схемы. Устройство 100 арифметического кодирования может выполнять основанное на контексте арифметическое кодирование в USAC-кодере, и устройство 101 арифметического декодирования может выполнять основанное на контексте арифметическое декодирование в USAC-декодере.

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

Устройство 100 арифметического кодирования включает в себя модуль 201 сброса контекста, модуль 202 преобразования контекста, модуль 203 определения контекста кортежа из N элементов, модуль 204 определения контекста старшего бита (MSB), модуль 205 кодирования управляющего кода, модуль 206 преобразования вероятностей, модуль 207 MSB-кодирования, модуль 208 кодирования младшего бита (LSB) и модуль 209 обновления контекста. В зависимости от вариантов осуществления модуль 205 кодирования управляющего кода может исключаться.

Здесь, модуль 201 сброса контекста и модуль 202 преобразования контекста могут работать в единице кадра, а модуль 203 определения контекста кортежа из N элементов, модуль 204 определения MSB-контекста, модуль 205 кодирования управляющего кода, модуль 206 преобразования вероятностных режимов, модуль 207 MSB-кодирования и модуль 208 LSB-кодирования могут работать в единице частоты в кадре. В частности, устройство 100 арифметического кодирования может выполнять кодирование для идентичного кадра посредством увеличения частотного индекса.

Когда текущий кадр, который должен быть кодирован, является кадром сброса, модуль 201 сброса контекста может инициализировать частотный спектр предыдущего кадра как равный 0. Когда текущий кадр не является кадром сброса, модуль 202 преобразования контекста может совмещать, в случае, если длина частотного спектра текущего кадра отличается от длины частотного спектра предыдущего кадра, длину предыдущего кадра так, что она является длиной текущего кадра.

Модуль 203 определения контекста кортежа из N элементов может определять контекст относительно текущего кортежа 210 из N элементов (кортежа из 4 элементов), который должен быть кодирован, с использованием значения квантованного спектра соседних кортежей 211, 212, 213 и 214 из N элементов, соседних с текущим кортежем 210 из N элементов. Текущий кортеж 210 из N элементов может быть кодирован через кодированные четыре соседних кортежа 211, 212, 213 и 214 из N элементов.

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

Модуль 203 определения контекста кортежа из N элементов может выполнять уменьшение до тех пор, пока значение квантованного спектра каждого из соседних кортежей 212 и 214 из N элементов относительно текущего кортежа 210 из N элементов не находится в диапазоне от -4 до 3. Затем, модуль 203 определения контекста кортежа из N элементов может оценивать уровень 0, т.е. начальную глубину LSB-битов на основе числа раз, когда уменьшение выполняется. Уровень дополнительно описывается относительно Фиг.4.

Кроме того, модуль 203 определения контекста кортежа из N элементов может извлекать MSB посредством выполнения уменьшения на уровень 0 и многократно выполнять уменьшение до тех пор, пока извлеченный MSB не имеет значение в рамках от -4 до 3.

Модуль 204 определения MSB-контекста может определять MSB-контекст из соседних кортежей 212 и 214 из N элементов для текущего кортежа 210 из N элементов относительно MSB, который должен быть кодирован. В частности, модуль 204 определения MSB-контекста может определять, в качестве MSB-контекста, как MSB частоты, идентичной частоте предыдущего кадра, так и MSB предыдущей частоты текущего кадра относительно MSB, который должен быть кодирован.

Модуль 205 кодирования управляющего кода может выполнять кодирование для управляющего кода с использованием вероятностной модели на основе контекста относительно текущего кортежа 210 из N элементов.

Модуль 206 преобразования вероятностей может преобразовывать конечную вероятностную модель с использованием контекста текущего кортежа из N элементов и MSB-контекста.

Модуль 207 MSB-кодирования может последовательно выполнять арифметическое кодирование для MSB текущего кортежа 210 из N элементов с использованием контекста текущего кортежа 210 из N элементов и MSB-контекста.

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

Модуль 209 обновления контекста может обновлять квантованную выборку, чтобы кодировать следующий кортеж из N элементов. Затем, модуль 204 определения MSB-контекста может определять MSB-контекст с использованием обновленной квантованной выборки относительно следующего кортежа из N элементов.

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

Модуль 101 арифметического декодирования включает в себя модуль 301 сброса контекста, модуль 302 преобразования контекста, модуль 303 определения контекста кортежа из N элементов, модуль 304 определения контекста, модуль 305 декодирования управляющего кода, модуль 306 преобразования вероятностей, модуль 307 MSB-декодирования, модуль 308 LSB-декодирования, модуль 309 формирования квантованных выборок и модуль 310 обновления контекста.

Модуль 301 сброса контекста и модуль 303 преобразования контекста могут работать в единице кадра, а модуль 303 определения контекста кортежа из N элементов, модуль 304 определения MSB-контекста, модуль 305 декодирования управляющего кода, модуль 306 преобразования вероятностей, модуль 307 MSB-декодирования, модуль 308 LSB-декодирования могут работать в единице частоты в кадре. В частности, устройство 101 арифметического декодирования может выполнять декодирование для идентичного кадра посредством увеличения частотного индекса.

Когда текущий кадр, который должен быть декодирован, является кадром сброса, модуль 301 сброса контекста может инициализировать частотный спектр предыдущего кадра как равный 0. Когда текущий кадр не является кадром сброса, модуль 303 преобразования контекста может совмещать, в случае, если длина частотного спектра текущего кадра отличается от длины частотного спектра предыдущего кадра, длину предыдущего кадра так, что она является длиной текущего кадра.

Модуль 203 определения контекста кортежа из N элементов может определять контекст текущего кортежа 311 из N элементов (кортежей из 4 элементов), который должен быть кодирован, с использованием значения квантованного спектра соседних кортежей 312, 313, 314 и 315 из N элементов, соседних с текущим кортежем 311 из N элементов. Текущий кортеж 311 из N элементов может быть декодирован через декодированные четыре соседних кортежа 312, 313, 314 и 315 из N элементов. Кортеж из N элементов дополнительно описывается со ссылкой на Фиг.4.

Модуль 303 определения контекста кортежа из N элементов может выполнять уменьшение до тех пор, пока значение квантованного спектра каждого из соседних кортежей 313 и 315 из N элементов относительно текущего кортежа 311 из N элементов не находится в диапазоне от -4 до 3. Затем, модуль 303 определения контекста кортежа из N элементов может оценивать уровень 0, т.е. начальную глубину LSB-битов на основе числа раз, когда уменьшение выполняется. Уровень дополнительно описывается со ссылкой на Фиг.4.

Модуль 304 определения MSB-контекста может определять MSB, который должен быть использован в качестве контекста, на основе декодированного MSB.

Модуль 305 кодирования управляющего кода может выполнять декодирование для управляющего кода с использованием вероятностной модели на основе контекста, определенного в модуле 303 определения контекста кортежа из N элементов. Кроме того, модуль декодирования управляющего кода может выполнять декодирование для управляющего кода с использованием вероятностного режима на основе контекста базового режима кодирования.

Модуль 306 преобразования вероятностей может преобразовывать конечную вероятностную модель с использованием контекста текущего кортежа 311 из N элементов и MSB-контекста.

Модуль 307 MSB-декодирования может последовательно выполнять арифметическое кодирование для MSB текущего кортежа 311 из N элементов с использованием контекста текущего кортежа 311 из N элементов и MSB-контекста.

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

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

Модуль 310 обновления контекста может обновлять квантованную выборку, чтобы декодировать следующий кортеж из N элементов. Затем, модуль 304 определения MSB-контекста может определять MSB-контекст с использованием обновленной квантованной выборки относительно следующего кортежа из N элементов.

Фиг.4 является схемой, используемой для описания кортежа из N элементов, MSB и LSB согласно варианту осуществления.

В верхней части Фиг.4, кортежи из N элементов проиллюстрированы на основе времени и частоты. Текущий кортеж 401 из N элементов может обозначать кортежи из N элементов, требуемые для кодирования или декодирования. Четыре соседних кортежа 402, 403, 404 и 405 из N элементов уже кодированы или декодированы и могут быть использованы при определении контекста текущего кортежа 401 из N элементов. В этом случае, соседние кортежи 403, 404 и 405 из N элементов могут соответствовать предыдущему кадру, а соседний кортеж 402 из N элементов может соответствовать текущему кадру, идентичному кадру текущего кортежа 401 из N элементов.

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

Ссылаясь на Фиг.4, LSB может обозначать бит, имеющий большую битовую глубину, чем битовая глубина MSB. В этом случае, LSB может иметь значение уровня. Значение уровня может быть значением, определенным посредством комбинации MSB контекстов, и битовая глубина в 0 может обозначать LSB, расположенный непосредственно ниже MSB. Кортеж из N элементов может соответствовать MSB и может быть разделен на символы в соответствии с частотным индексом. Например, на Фиг.4, кортеж из N элементов может быть сконфигурирован из четырех символов. Затем, текущий кортеж 401 из N элементов может разделять четыре символа согласно частоте, которая должна быть кодирована или декодирована. В этом случае, кортеж может соответствовать символу. На Фиг.4, четыре символа, включенные в кортеж из N элементов, проиллюстрированы, тем не менее, число символов может быть изменяемым.

Фиг.5 иллюстрирует контекст и вероятностную модель согласно варианту осуществления.

Ссылаясь на Фиг.5, текущий кортеж 501 из N элементов, включающий в себя четыре символа, и четыре соседних кортежа 502, 503, 504 и 505 из N элементов проиллюстрированы. Модули 203 и 303 определения контекста кортежа из N элементов по Фиг.2 и 3 могут определять контекст текущего кортежа 501 из N элементов с использованием значения квантованного спектра каждого из соседних кортежей 502, 503, 504 и 505 из N элементов относительно текущего кортежа 501 из N элементов.

Модули 204 и 304 определения MSB-контекста могут определять, из соседних кортежей 502, 503, 504 и 505 из N элементов, контекст, соответствующий каждому из символов A, B, C и D, составляющих текущий кортеж 501 из N элементов. Как описано выше, символ может обозначать MSB. Например, модули 204 и 304 определения MSB-контекста могут определять, в качестве контекста, как символ частоты, идентичной частоте предыдущего кадра, так и символ предыдущей частоты текущего кадра относительно символов, составляющих текущий кортеж 501 из N элементов. В частности, модули 204 и 304 определения MSB-контекста могут определять, в качестве контекста, как MSB частоты, идентичной частоте предыдущего кадра, так и MSB предыдущей частоты текущего кадра относительно MSB, предназначенных для кодирования или декодирования.

Модули 206 и 306 преобразования вероятностей могут преобразовывать конечную вероятностную модель с использованием контекста кортежа из N элементов и MSB-контекста. Например, чтобы преобразовывать вероятностную модель для символа A (MSB A) текущего кортежа 501 из N элементов, модули 206 и 306 преобразования вероятностей могут преобразовывать, в качестве вероятностной модели, соседние кортежи 502, 503, 504 и 505 из N элементов, т.е. контекст текущего кортежа 501 из N элементов, MSB A0 соседнего кортежа 504 из N элементов, т.е. контекст MSB A, и MSB D1 соседнего кортежа 502 из N элементов. Вероятностный режим каждого из A, B, C и D MSB, составляющих текущий кортеж 501 из N элементов, проиллюстрирован на Фиг.5.

В этом случае, когда MSB, соответствующий каждому из A, B, C и D, составляет верхние 3 бита, включающие в себя информацию знака, восемь видов (-4, -3, -2, -1, 0, 1, 2 и 3) могут получаться в качестве MSB-значений. Затем, модули 206 и 306 преобразования вероятностей могут назначать значение вероятности восьми MSB-значениям всего. В частности, модули 206 и 306 преобразования вероятностей могут преобразовывать вероятностную модель при условии восьми видов MSB-значений (A0, B0, C0 и D0) частоты, идентичной частоте предыдущего кадра, и восьми видов MSB-значений (D1, A, B и C) предыдущей частоты текущего кадра. Затем, таблица вероятностей может быть prob[8][8][8]. Эта таблица вероятностей может быть prob[64][8].

Например, вероятностная модель может выбираться в качестве prob[-4+4][-3+4], когда MSB-значение частоты, идентичной частоте предыдущего кадра, равно -4, и MSB-значение предыдущей частоты текущего кадра равно -3. В частности, выбранная вероятностная модель может быть сконфигурирована из p={p(-4), p(-3), p(-2), p(-1), p(0), p(1), p(2), p(3)}. Таким образом, конечная таблица вероятностей для текущего кортежа 501 из N элементов может быть сконфигурирована из prob[32][64*8]. В этом случае, модули 206 и 306 преобразования вероятностей могут конфигурировать таблицу вероятностей, соответствующую каждой информации режима, на основе информации режима FD или wLPT(TCX).

Кроме того, модули 206 и 306 преобразования вероятностей могут использовать таблицу преобразования вероятностных моделей, чтобы повышать эффективность использования запоминающего устройства, когда идентичное значение для вероятностных моделей перекрывается. Таблица преобразования вероятностных моделей может обозначаться как отдельное выражение индекса. Например, таблица преобразования вероятностных моделей может выражаться как unsigned short map[2048], unsigned short prob[748][8] и т.п. В частности, число условий, когда вышеописанное выражение таблицы преобразования вероятностных моделей формируется, равно 2048, и общее число вероятностных моделей равно 748. Следовательно, unsigned short[32][64*8] может составлять 32*64*8*0,5=8192 слов, и 2048*0,5+748*0,5=4016 слов получается при использовании таблицы преобразования вероятностных моделей, тем самым уменьшая запоминающее устройство.

Фиг.6 является блок-схемой последовательности операций, иллюстрирующей способ MSB-декодирования (первый пример) согласно варианту осуществления.

На этапе S601, устройство 101 арифметического декодирования может определять битовую глубину LSB с использованием четырех MSB, включенных в текущий кортеж из N элементов. Битовая глубина LSB может быть использована при выполнении декодирования для LSB. На этапе S602, устройство 101 арифметического декодирования может выбирать набор вероятностных моделей относительно четырех MSB. На этапе S603, устройство 101 арифметического декодирования может выбирать вероятностную модель согласно тому, является или нет MSB, который должен быть декодирован, управляющим кодом, и выполнять арифметическое декодирование для MSB. На этапе S605, устройство 101 арифметического декодирования может выполнять декодирование согласно тому, является или нет MSB управляющим кодом, с использованием таблицы ari_pk_mod_esc[32][2]. Когда арифметическое декодирование выполняется в управляющем коде, устройство 101 арифметического декодирования может возвращаться к этапу 604, и в противном случае, устройство 101 арифметического декодирования может выполнять этап S606.

На этапе S607, в случае FD-режима или TCX-(wLPT-)режима, устройство 101 арифметического декодирования может преобразовывать вероятностную модель MSB-символа с использованием как MSB частоты, идентичной частоте предыдущего кадра, так и MSB предыдущей частоты идентичного кадра. На этапе S606, устройство 101 арифметического декодирования может выполнять арифметическое декодирование для четырех MSB, включенных в текущий кортеж из N элементов, на основе результата преобразованной вероятностной модели.

Фиг.7 является блок-схемой последовательности операций, иллюстрирующей способ LSB-декодирования (первый пример) согласно варианту осуществления.

На этапе S701, устройство 101 арифметического декодирования может задавать индекс битовой глубины (bid), извлеченный из декодирования MSB. На этапе S702, устройство 101 арифметического декодирования может определять то, меньше или нет индекс битовой глубины N, т.е. уровня LSB. На этапе S703, когда индекс битовой глубины меньше N, устройство 101 арифметического декодирования может определять вероятностную модель на основе индекса битовой глубины и знака MSB. На этапе S705, когда индекс битовой глубины превышает N, устройство 101 арифметического декодирования может определять вероятностную модель на основе знака MSB. Затем, на этапе S704, устройство 101 арифметического декодирования может выполнять арифметическое декодирование в единице битов из LSB и выводить битовое значение (1 или 0), соответствующее индексу битовой глубины, из LSB, соответствующих MSB. В этом случае, устройство 101 арифметического декодирования может классифицировать уже кодированный или декодированный MSB как равный 0, положительному значению и отрицательному значению, и выполнять арифметическое декодирование для классифицированного MSB.

Например, устройство 101 арифметического декодирования может использовать информацию битовой глубины в качестве контекста, когда битовая глубина меньше N(5), и в противном случае, устройство 101 арифметического декодирования может классифицировать только три случая, когда MSB равно 0, положительному значению и отрицательному значению. Устройство 101 арифметического декодирования может увеличивать индекс битовой глубины на 1 единицу после выполнения арифметического декодирования, так что LSB, соответствующий следующей битовой глубине, может быть арифметически декодирован.

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

Классификация на основе знака может обозначать, что только схема выражения относительно символа MSB изменяется. Этапы S801-S805 по Фиг.8 могут соответствовать этапам S601-S606 по Фиг.6.

На этапе S806, когда MSB, который должен быть декодирован на этапе S805, является управляющим кодом, устройство 101 арифметического декодирования может выполнять арифметическое декодирование абсолютной величины. В этом случае, на этапе S808, устройство 100 арифметического кодирования может определять то, должно или нет выполняться декодирование для знака MSB. На этапе S810, когда декодирование должно выполняться для знака MSB, устройство 100 арифметического кодирования может выполнять декодирование для знака MSB. На этапе S809, когда декодирование не должно выполняться для знака MSB, устройство 100 арифметического кодирования может преобразовывать знак в MSB-значение. Например, -4 и 0 являются фиксированными значениями, и тем самым не требуется выполнять декодирование для знака каждого из -4 и 0. Преобразованное MSB-значение может быть использовано при преобразовании вероятностной модели MSB-символа на этапе S807. Ссылаясь на Фиг.8, абсолютная величина MSB идентичного частотного индекса может быть сначала декодирована, декодирование может выполняться для знака абсолютной величины MSB, и затем кодирование следующего частотного индекса может выполняться.

При выполнении декодирования для MSB, контекст может быть использован таким же образом, как указано выше, или измененный символ может быть использован. В частности, устройство 101 арифметического декодирования может использовать как MSB частоты, идентичной частоте предыдущего кадра, так и MSB предыдущей частоты текущего кадра при декодировании MSB текущего кадра. В этом случае, абсолютная величина вероятностной модели может быть [32][8][8][5], и знак вероятностной модели может указывать [32][8][8][2]. Устройство 101 арифметического декодирования может использовать измененный символ, и абсолютная величина вероятностной модели измененного символа может быть [32][5][5][5], и знак вероятностной модели измененного символа может указывать [32][5][5][2].

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

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

Блок-схема последовательности операций способа MSB-кодирования проиллюстрирована в верхней части Фиг.9, а блок-схема последовательности операций способа MSB-декодирования проиллюстрирована в нижней части Фиг.9.

На этапе S901, устройство 100 арифметического кодирования может выполнять LSF-кодирование. На этапе S902, устройство 100 арифметического кодирования может формировать контекст, соответствующий кортежу из N элементов, с использованием квантованного LSB, извлеченного из кодирования LSF. На этапе S903, устройство 100 арифметического кодирования может определять вероятностную модель с использованием как квантованного MDCT-спектра, так и существующего контекста. На этапе S904, устройство 100 арифметического кодирования может выполнять арифметическое кодирование для MSB. Арифметически кодированный MSB и квантованная LSF могут быть включены в поток битов.

На этапе S905, устройство 101 арифметического декодирования может выполнять LSG-кодирование из сжатого потока битов. На этапе S907, устройство 101 арифметического декодирования может формировать контекст, соответствующий кортежу из N элементов, с использованием квантованной LSF, извлеченной из кодирования LSF.

Устройство 101 арифметического декодирования может определять вероятностную модель с использованием как квантованного MDCT-спектра, так и существующего контекста на этапе S906 и выполнять арифметическое декодирование для MSB на этапе S904.

Когда контекст определяется с использованием LSF, структуру текущего потока битов может требоваться изменять. В частности, когда структура текущего потока битов конфигурируется в порядке acelp_core_mode, lpd_mode, ACELP- или TCX-данные и LPC-данные, измененная структура потока битов может быть сконфигурирована в порядке acelp_core_mode, lpd_mode, LPC-данные и ACELP- или TCX-данные.

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

Устройство 100 арифметического кодирования включает в себя модуль 1001 сброса контекста, модуль 1002 преобразования контекста, модуль 1003 определения контекста кортежа из N элементов, модуль 1004 определения MSB-контекста, модуль 1005 кодирования управляющего кода, модуль 1006 преобразования вероятностей, модуль 1007 MSB-кодирования, модуль 1008 LSB-кодирования, модуль 1009 кодирования на основе контекстного режима и модуль 1010 обновления контекста.

Устройство 100 арифметического кодирования по Фиг.10 дополнительно может включать в себя модуль 1009 кодирования на основе контекстного режима по сравнению с устройством 100 арифметического кодирования по Фиг.2.

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

Кроме того, модуль 1002 преобразования контекста дополнительно может преобразовывать кодированные MSB предыдущего кадра.

Модуль 1003 определения контекста кортежа из N элементов может определять контекст относительно текущего кортежа 1011 из N элементов (кортежа из 4 элементов), который должен быть кодирован, с использованием значения квантованного спектра соседних кортежей 1012, 1013, 1014 и 1015 из N элементов, соседних с текущим кортежем 1011 из N элементов.

Текущий кортеж 1011 из N элементов может быть кодирован через четыре кодированных соседних кортежа 1012, 1013, 1014 и 1015 из N элементов.

Модуль 1003 определения контекста кортежа из N элементов может выполнять уменьшение до тех пор, пока значение квантованного спектра каждого из соседних кортежей 212 и 214 из N элементов относительно текущего кортежа 1011 из N элементов не находится в диапазоне от -4 до 3. Затем, модуль 1003 определения контекста кортежа из N элементов может оценивать уровень 0 на основе числа раз, когда уменьшение выполняется. Кроме того, модуль 1003 определения контекста кортежа из N элементов может извлекать MSB посредством выполнения уменьшения на уровень 0 и многократно выполнять уменьшение до тех пор, пока извлеченный MSB не имеет значение в рамках от -4 до 3. Число раз, когда уменьшение дополнительно выполняется, может определять число раз, когда кодирование выполняется для управляющего кода.

Модуль 1004 определения MSB-контекста может определять MSB-контекст из соседних кортежей 1013 и 1015 из N элементов для текущего кортежа 1011 из N элементов относительно MSB, требуемого для кодирования. В частности, модуль 1004 определения MSB-контекста может определять, в качестве MSB-контекста, как MSB частоты, идентичной частоте предыдущего кадра, так и MSB предыдущей частоты текущего кадра относительно MSB, требуемого для кодирования.

Здесь, модуль 1009 кодирования на основе контекстного режима может выполнять кодирование для одного контекстного режима, в итоге передаваемого из множества контекстов, которые должны быть использованы при выполнении кодирования для MSB. Множество контекстов может обозначать MSB, соседний с символом, который должен быть декодирован. Контекстный режим может быть передан посредством схемы побитовой упаковки и передан посредством схемы арифметического кодирования. Передача контекстного режима может выполняться один раз для каждого кадра. Модуль 1009 кодирования на основе контекстного режима может выполнять схему побитовой упаковки посредством назначения бита, выражающего номер варианта. Модуль 1009 кодирования на основе контекстного режима дополнительно описывается со ссылкой на Фиг.16.

Модуль 1004 определения MSB-контекста может выбирать надлежащий MSB-контекст в соответствии с контекстным режимом.

Модуль 1005 кодирования управляющего кода может выполнять кодирование для управляющего кода с использованием вероятностной модели на основе контекста текущего кортежа 1010 из N элементов. В частности, модуль 1005 кодирования управляющего кода может выполнять арифметическое кодирование согласно тому, является или нет MSB, который должен быть декодирован, управляющим кодом, и выполнять арифметическое кодирование для MSB, когда MSB, который должен быть декодирован, не является управляющим кодом. В качестве контекста, используемого при выполнении кодирования для управляющего кода, контекст кортежа из N элементов и базового режима кодирования (FD или wLPD). Когда MSB, который должен быть декодирован, является управляющим кодом, MSB может быть кодирован как равный 1, а когда MSB, который должен быть декодирован, не является управляющим кодом, MSB может быть кодирован как равный 0. Когда кодирование выполняется для MSB с использованием управляющего кода, "уровень" битовой глубины LSB может быть обновлен посредством увеличения значения уровня 0 на единицу +2.

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

Модуль 1007 MSB-кодирования может последовательно выполнять арифметическое кодирование для MSB текущего кортежа из N элементов с использованием контекста текущего кортежа 1010 из N элементов и MSB-контекста.

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

Модуль 1010 обновления контекста может обновлять квантованную выборку, чтобы выполнять кодирование для следующего кортежа из N элементов. Затем, модуль 1004 определения MSB-контекста может определять MSB-контекст с использованием обновленной квантованной выборки относительно кортежа из N элементов.

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

Устройство 101 арифметического декодирования включает в себя модуль 1101 сброса контекста, модуль 1102 преобразования контекста, модуль 1103 декодирования на основе контекстного режима, модуль 1104 определения контекста кортежа из N элементов, модуль 1105 определения MSB-контекста, модуль 1106 декодирования управляющего кода, модуль 1107 преобразования вероятностей, модуль 1108 MSB-декодирования, модуль 1109 LSB-декодирования, модуль 1110 формирования квантованных выборок и модуль 1111 обновления контекста. Устройство 101 арифметического декодирования по Фиг.11 дополнительно может включать в себя модуль 1103 декодирования на основе контекстного режима по сравнению с устройством 101 арифметического декодирования по Фиг.3.

Устройство 101 арифметического декодирования по Фиг.2 или 11 может разделять MSB и LSB, чтобы выполнять декодирование. В частности, устройство 101 арифметического декодирования может декодировать только MSB или декодировать как MSB, так и LSB.

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

Модуль 1103 декодирования на основе контекстного режима может выполнять декодирование для одного контекстного режима, в итоге передаваемого из множества контекстов, используемых при выполнении MSB. Множество контекстов может обозначать MSB, соседний с символом, который должен быть декодирован. Контекстный режим может быть передан посредством схемы побитовой упаковки или передан посредством выполнения арифметического декодирования. Передача контекстного режима может выполняться один раз для каждого кадра. Модуль 1103 декодирования на основе контекстного режима может выполнять схему побитовой упаковки посредством назначения бита, выражающего номер варианта. Модуль 1103 декодирования на основе контекстного режима дополнительно описывается со ссылкой на Фиг.16. Затем, модуль 1104 определения MSB-контекста может выбирать надлежащий MSB-контекст в соответствии с контекстным режимом.

Модуль 1104 определения контекста кортежа из N элементов может определять контекст относительно текущего кортежа 1112 из N элементов, который должен быть декодирован, с использованием значения квантованного спектра соседних кортежей 1113, 1114, 1115 и 1116 из N элементов (кортежей из 4 элементов), соседних с текущим кортежем 1112 из N элементов.

Текущий кортеж 1112 из N элементов может быть декодирован через соседние уже декодированные кортежи 1113, 1114, 1115 и 1116 из N элементов.

Модуль 1104 определения контекста кортежа из N элементов может выполнять уменьшение до тех пор, пока значение квантованного спектра каждого из соседних кортежей 1114 и 1116 из N элементов не находится в диапазоне от -4 до 3. Затем, модуль 1104 определения контекста кортежа из N элементов может оценивать уровень 0 на основе числа раз, когда уменьшение выполняется.

Модуль 1105 определения MSB-контекста может определять MSB-контекст из соседних кортежей 1114 и 1116 из N элементов для текущего кортежа 1112 из N элементов относительно MSB, который должен быть декодирован. В частности, модуль 1105 определения MSB-контекста может определять, в качестве MSB-контекста, как MSB частоты, идентичной частоте предыдущего кадра, так и MSB предыдущей частоты текущего кадра относительно MSB, который должен быть декодирован.

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

Модуль 1107 декодирования управляющего кода может выполнять декодирование для управляющего кода с использованием вероятностной модели на основе контекста текущего кортежа 1112 из N элементов. В частности, модуль 1107 кодирования управляющего кода может выполнять арифметическое декодирование согласно тому, является или нет MSB, который должен быть декодирован, управляющим кодом, и выполнять арифметическое декодирование для MSB, когда MSB, который должен быть декодирован, не является управляющим кодом. В качестве контекста, используемого при выполнении декодирования для управляющего кода, контекст кортежа из N элементов и базового режима кодирования (FD или wLPD). Когда MSB, который должен быть декодирован, является управляющим кодом, MSB может быть декодирован как равный 1, и когда MSB, который должен быть декодирован, не является управляющим кодом, MSB может быть декодирован как равный 0. Когда декодирование выполняется для MSB с использованием управляющего кода, "уровень" битовой глубины LSB может быть обновлен посредством увеличения значения уровня 0 на единицу +2.

Модуль 1108 MSB-декодирования может последовательно выполнять арифметическое декодирование для MSB текущего кортежа из N элементов с использованием контекста текущего кортежа 1112 из N элементов и MSB-контекста.

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

Затем, модуль 1104 определения контекста кортежа из N элементов может определять первый контекст (контекст кортежа из N элементов) с использованием значения квантованного частотного спектра набора (соседних кортежей из N элементов), соседнего с набором (текущим кортежем из N элементов), который должен быть в данный момент декодирован.

Модуль 1107 декодирования управляющего кода может оценивать битовую глубину LSB на основе набора (соседних кортежей из N элементов), соседнего с набором (текущим кортежем из N элементов), который должен быть в данный момент декодирован. Модуль 1107 декодирования управляющего кода может выполнять, с использованием режима декодирования в качестве контекста, декодирование для символа, выражающего то, является или нет MSB, который должен быть декодирован, управляющим кодом. Затем, модуль 1107 декодирования управляющего кода может обновлять оцененную битовую глубину LSB на основе числа раз, когда управляющий код декодируется.

Модуль 1105 определения MSB-контекста может определять второй контекст (MSB-контекст) с использованием декодированного MSB-символа, соседнего с MSB-символом (MSB-символа текущего кортежа из N элементов), который должен быть в данный момент декодирован. В этом случае, модуль 1103 декодирования на основе контекстного режима может выполнять декодирование для информации относительной позиции (контекстного режима) MSB-символа (MSB-символа текущего кортежа из N элементов), который должен быть в данный момент декодирован, относительно декодированного MSB-символа, используемого в качестве контекста. Затем, модуль 1105 определения MSB-контекста может формировать второй контекст с использованием информации относительной позиции. В этом случае, информация относительной позиции может быть декодирована через арифметическое декодирование с использованием базового режима декодирования в качестве контекста. Альтернативно, информация относительной позиции может выражаться как значение, соответствующее второму контексту, который должен быть использован при выполнении декодирования для MSB-символа (MSB-символа текущего кортежа из N элементов) во множестве полос частот.

Следовательно, модуль 1108 MSB-декодирования может декодировать MSB с использованием сформированного первого контекста и сформированного второго контекста.

Модуль 1109 LSB-декодирования может выполнять арифметическое декодирование для LSB в единице битов вплоть до битовой глубины, соответствующей уровню. Декодирование LSB может обрабатываться в бите, и модуль 1109 LSB-декодирования может выполнять арифметическое декодирование для LSB с использованием информации битовой глубины, обозначающей расстояние от MSB, и с использованием информации декодирования (положительное число/отрицательное число/0) MSB в качестве контекста.

Как описано выше, устройство 101 арифметического декодирования может разделять модуль 1109 LSB-декодирования и модуль 1108 MSB-декодирования, чтобы выполнять декодирование. В этом случае, модуль 1109 LSB-декодирования может формировать третий контекст с использованием информации знака MSB. Модуль 1109 LSB-декодирования может формировать четвертый контекст с использованием информации битовой глубины LSB. Затем, модуль 1109 LSB-декодирования может выполнять декодирование LSB в единице битов с использованием сформированного третьего контекста и сформированного четвертого контекста.

Например, при использовании третьего контекста, модуль 1109 LSB-декодирования может выполнять декодирование для LSB на основе информации, указывающей то, является знак MSB-символа, соответствующего частотной позиции, идентичной частотной позиции LSB, положительным числом, отрицательным числом или нулем. Модуль 1109 LSB-декодирования может выполнять декодирование для LSB с использованием только четвертого контекста.

Модуль 1110 формирования квантованных выборок может формировать квантованную выборку относительно текущего кортежа 1112 из N элементов с использованием арифметически декодированного MSB и LSB.

Модуль 1111 обновления контекста может обновлять квантованную выборку, чтобы выполнять декодирование для следующего кортежа из N элементов. Кроме того, декодированный MSB может быть обновлен.

Фиг.12 иллюстрирует контекст и вероятностную модель согласно другому варианту осуществления.

Ссылаясь на Фиг.12, текущий кортеж 1201 из N элементов, включающий в себя четыре символа, и соседние кортежи 1202, 1203, 1204 и 1205 из N элементов проиллюстрированы.

Модуль 1103 или 1204 определения контекста кортежа из N элементов может определять, в качестве контекста текущего кортежа 1201 из N элементов, значение квантованного спектра соседних кортежей 1202, 1203, 1204 и 1205 из N элементов относительно текущего кортежа 1201 из N элементов.

Модуль 1103 или 1204 определения MSB-контекста может определять, из соседних кортежей 1202, 1203, 1204 и 1205 из N элементов, контексты, соответствующие каждому из символов A, B, C и D, составляющих текущий кортеж из N элементов 120, на основе информации контекстного режима.

Как описано выше, символ может обозначать MSB. Например, модуль 1103 или 1204 определения MSB-контекста может определять, в качестве контекста, как символ частоты, идентичной частоте предыдущего кадра, так и символ предыдущей частоты текущего кадра относительно символов, составляющих текущий кортеж 1201 из N элементов. В частности, модуль 1103 или 1204 определения MSB-контекста может определять, в качестве контекста, как MSB частоты, идентичной частоте предыдущего кадра, так и MSB предыдущей частоты и текущего кадра, относительно MS, который должен быть декодирован.

Модуль 1106 или 1206 преобразования вероятностей может преобразовывать конечную вероятностную модель с использованием MSB-контекста и контекста кортежа из N элементов в соответствии с контекстным режимом. Например, чтобы преобразовывать вероятностную модель относительно символа A (MSB A) текущего кортежа 1201 из N элементов, модули 1106 и 1206 преобразования вероятностей могут преобразовывать, в качестве вероятностной модели, соседние кортежи 1202, 1203, 1204 и 1205 из N элементов, т.е. контекст текущего кортежа 1201 из N элементов, MSB соседнего кортежа 1204 из N элементов, т.е. контекст MSB A, и MSB соседнего кортежа 1202 из N элементов в соответствии с контекстным режимом (режим 0, режим 1, режим 2 и режим 3). Вероятностный режим каждого из A, B, C и D MSB, составляющих текущий кортеж 1201 из N элементов, проиллюстрирован на Фиг.12. Контекст MSB B текущего кортежа 1201 из N элементов может преобразовывать, в качестве вероятностной модели, MSB соседнего кортежа 1204 из N элементов и MSB соседнего кортежа 1202 из N элементов в соответствии с контекстным режимом. На Фиг.12, контекст текущего MSB может быть дифференцированно определен в соответствии с контекстным режимом по сравнению с Фиг.5.

Фиг.13 иллюстрирует второй пример способа MSB-декодирования согласно варианту осуществления.

На этапе 1301, устройство 101 арифметического декодирования может определять уровень 0, т.е. начальную битовую глубину LSB через четыре MSB (квантованную выборку), включенные в текущий кортеж из N элементов. Битовая глубина LSB может быть использована при выполнении декодирования для LSB. На этапе S1302, устройство 101 арифметического декодирования может выбирать набор вероятностных моделей относительно четырех MSB, включенных в текущий кортеж из N элементов. На этапе S1303, устройство 101 арифметического декодирования может выбирать вероятностную модель того, является или нет MSB, который должен быть декодирован, управляющим кодом, в соответствии с FD или wLPD. На этапе S1304, устройство 101 арифметического декодирования может выполнять декодирование для MSB. На этапе S1305, устройство 1305 арифметического декодирования может выполнять декодирование согласно тому, является или нет MSB, который должен быть декодирован, управляющим кодом, с использованием таблицы ari_pk_mod_esc[32][2]. Когда то, что является управляющим кодом, устройство 101 арифметического декодирования может возвращаться к этапу 1304, а когда то, что не является управляющим кодом, устройство 101 арифметического декодирования может выполнять этап 1301.

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

На этапе S1306, устройство 101 арифметического декодирования может выполнять арифметическое декодирование для MSB. Поскольку четыре MSB включаются в текущий кортеж из N элементов, циклический этап может выполняться четыре раза.

Фиг.14 иллюстрирует второй пример способа LSB-декодирования согласно варианту осуществления.

На этапе S1401, устройство 101 арифметического декодирования может задавать индекс битовой глубины (bid), извлеченный из декодирования MSB. На этапе S1402, устройство 101 арифметического декодирования может определять то, меньше или равен либо нет bdi N, т.е. уровня LSB. На этапе S1403, когда bdi меньше N, устройство 101 арифметического декодирования может определять вероятностную модель в соответствии с BID и знаком MSB. На этапе S1405, когда bdi превышает N, устройство 101 арифметического декодирования может определять вероятностную модель в соответствии со знаком MSB. Затем, устройство 101 арифметического декодирования может выполнять арифметическое декодирование в единице битов из LSB и выводить битовое значение (1 или 0), соответствующее bdi, из LSB, соответствующих MSB. В этом случае, устройство 101 арифметического декодирования может разделять три случая, обозначающие, равно ранее кодированное или декодированное MSB-значение положительному числу, отрицательному числу или 0, и выполнять арифметическое кодирование.

Например, когда битовая глубина меньше N(5), устройство 101 арифметического декодирования может использовать, в качестве контекста, информацию битовой глубины, и в противном случае, устройство 101 арифметического декодирования может разделять только три случая, является MSB положительным числом, отрицательным числом или 0. Устройство 101 арифметического декодирования может выполнять арифметическое декодирование для LSB, соответствующего следующей битовой глубине, посредством увеличения bdi на 1 единицу после выполнения арифметического декодирования.

Фиг.15 иллюстрирует контекстный режим согласно варианту осуществления.

На Фиг.15, каждый из A, B, C, D, A0, B0, C0, D0, A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3 и D3 может обозначать MSB-значение, уже декодированное или требуемое для декодирования, включать в себя знаковый бит, который должен выражаться как 3 бита, и иметь значение только в диапазоне от -4 до 3.

Декодирование может выполняться для MSB в единице символа относительно кортежа из N элементов. В частности, декодирование может выполняться для A, B, C и D MSB в установленном порядке в соответствии с частотным индексом. При выполнении декодирования для MSB-значения A, B, C и D, арифметическое декодирование может выполняться для двух MSB из MSB, соответствующих контексту текущего кортежа из N элементов и уже декодированных соседних кортежей из N элементов, с использованием MSB-контекста. Например, при декодировании A MSB текущего кортежа 1501 из N элементов, контекст кортежа из N элементов может быть определен, и вероятностная модель, которая декодирует A посредством конфигурирования MSB-контекста с использованием значения MSB A0 соседнего кортежа 1504 из N элементов и значения MSB D1 соседнего кортежа 1502 из N элементов, может получаться, чтобы тем самым выполнять арифметическое декодирование. В этом случае, MSB-контекст не может быть сконфигурирован только из A0 и D1, и два MSB-значения из множества MSB-значений, соседних с MSB A текущего кортежа 1501 из N элементов, могут быть комбинированы.

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

Кроме того, контекстный режим может быть передан один раз для каждого кадра, так что идентичный MSB-контекст может быть использован во всех кадрах. Кроме того, контекстный режим может быть передан два раза для каждого кадра, различные MSB-контексты, соответствующие полосе низких частот и полосе высоких частот, могут быть использованы. Здесь, кадр может соответствовать одному кадру в случае FD-режима и может обозначать единицу с использованием wLPT в случае wLPT-режима. Например, когда MSB-контексты составляют четыре типа, и MSB-контекст передается два раза для каждого кадра, 15 типов контекстных режимов могут конфигурироваться, как проиллюстрировано на Фиг.15. Кроме того, контекстный режим может быть разделен на несколько наборов, которые должны выражаться в зависимости от того, декодируется или нет контекстный режим в базовом режиме декодирования, таком как FD-режим или wLPT-режим, и набор контекстного режима может быть по-разному конфигурирован в зависимости от числа частотных спектров.

Когда контекст кортежа из N элементов, декодирующего MSB-символ A текущего кортежа 1501 из N элементов, и MSB-контекст определяются, декодирование может выполняться для MSB-значения. Когда вероятностная модель используется во всех случаях, общее число случаев вероятностных моделей может увеличиваться, тем самым увеличивая объем запоминающего устройства. Чтобы не допускать увеличения объема запоминающего устройства, вероятность может выражаться с использованием таблицы преобразования вероятностей и таблицы вероятностей, чтобы использовать характерную вероятностную модель. Например, когда значение N_pki равно 32, MSB-контексты составляют четыре типа, MSB-значение находится в диапазоне от -4 до 3, общее число случаев вероятности может быть 32*8*8*4=4096, и число символов, которые должны быть в итоге декодированы, равно 8, и тем самым только 65536 таблиц вероятностей может быть использовано при условии, что все таблицы вероятностей не комбинируются. Чтобы предотвращать это, когда число случаев таблицы вероятностей сокращается посредством выполнения комбинирования вероятностной модели, и таблица преобразования 32*8*8*4 конфигурируется, объем запоминающего устройства, которое должно быть использовано, может быть уменьшено.

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

Способ по Фиг.16 может соответствовать этапам устройства 101 арифметического декодирования по Фиг.3 и 12.

На этапе S1601, устройство 101 арифметического декодирования может определять то, является или нет текущий кадр кадром сброса. Когда текущий кадр является кадром сброса, устройство 101 арифметического декодирования может выполнять сброс контекста. Когда текущий кадр не является кадром сброса, устройство 101 арифметического декодирования может преобразовывать контекст. В частности, устройство 101 арифметического декодирования может регуляризовать длину предыдущего кадра в качестве длины текущего кадра, чтобы тем самым преобразовывать контекст, так что частотный индекс между двумя кадрами может преобразовываться в случае, если длина текущего кадра отличается от длины предыдущего кадра. Этапы S1601-S1603 могут выполняться в единице кадра.

На этапе S1604, устройство 101 арифметического декодирования может декодировать контекстный режим, чтобы определять MSB-контекст. Затем, на этапе S1605, устройство 101 арифметического декодирования может определять контекст кортежа из N элементов. В этом случае, уровень 0 начальной глубины LSB-битов может быть оценен.

На этапе S1606, устройство 101 арифметического декодирования может декодировать управляющий код на основе контекста (pki) кортежа из N элементов и FD/wLPT. Каждый раз, когда управляющий код декодируется, уровень 0 может быть обновлен, и когда код, отличающийся от управляющего кода, декодируется, устройство 101 арифметического декодирования может выполнять декодирование для MSB на этапе S1609.

На этапе S1607, устройство 101 арифметического декодирования может определять MSB-контекст, соответствующий MSB, который должен быть в данный момент декодирован. На этапе S1608, устройство 101 арифметического декодирования может определять надлежащий вероятностный режим на основе контекста кортежа из N элементов и MSB-контекста.

На этапе S1609, устройство 101 арифметического декодирования может выполнять декодирование для MSB на основе вероятностной модели.

На этапе S1610, устройство 101 арифметического декодирования может декодировать биты, соответствующие битовой глубине LSB, извлеченного из декодирования управляющего кода. На этапе S1611, устройство 101 арифметического декодирования может формировать квантованную выборку через MSB и LSB. На этапе S1612, устройство 101 арифметического декодирования может обновлять контекст, чтобы декодировать следующий кортеж из N элементов. На этапе S1613, устройство 101 арифметического декодирования может увеличивать частотный индекс и выполнять декодирование для кортежа из N элементов.

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

Способ по Фиг.17 может соответствовать этапам устройства 100 арифметического кодирования по Фиг.2 и 11.

На этапе S1701, устройство 100 арифметического кодирования может определять то, является или нет текущий кадр кадром сброса. Когда текущий кадр является кадром сброса, устройство 100 арифметического кодирования может выполнять сброс контекста. Когда текущий кадр не является кадром сброса, устройство 100 арифметического кодирования может преобразовывать контекст. В частности, устройство 100 арифметического кодирования может регуляризовать длину предыдущего кадра в качестве длины текущего кадра, чтобы тем самым преобразовывать контекст, так что частотный индекс между двумя кадрами может преобразовываться в случае, если длина текущего кадра отличается от длины предыдущего кадра. Этапы S1601-S1603 могут выполняться в единице кадра.

Этапы S1701 и S1703 могут выполняться в единице кадра.

На этапе S1704, устройство 100 арифметического кодирования может кодировать контекстный режим, чтобы определять MSB-контекст.

На этапе S1705, устройство 100 арифметического кодирования может определять контекст кортежа из N элементов относительно текущего кортежа из N элементов. В этом случае, уровень 0 начальной глубины LSB-битов может быть оценен.

На этапе S1706, устройство 100 арифметического кодирования может выполнять кодирование для управляющего кода на основе контекста кортежа из N элементов (pki) и FD/wLPT. Каждый раз, когда управляющий код кодируется, уровень 0 может быть обновлен, когда режим, отличающийся от управляющего кода, кодируется, устройство арифметического кодирования 101 может выполнять кодирование для MSB на этапе S1709.

На этапе S1707, устройство 100 арифметического кодирования может определять MSB-контекст, соответствующий MSB, который должен быть в данный момент кодирован. На этапе S1708, устройство 100 арифметического кодирования может определять надлежащую вероятностную модель на основе контекста кортежа из N элементов и MSB-контекста.

На этапе S1709, устройство 100 арифметического кодирования может выполнять кодирование MSB на основе вероятностной модели.

На этапе S1710, устройство 100 арифметического кодирования может выполнять кодирование битов, соответствующих битовой глубине LSB, извлеченного из декодирования управляющего кода. На этапе S1711, устройство 100 арифметического кодирования может формировать квантованную выборку через MSB и LSB, и на этапе S1712, устройство 100 арифметического кодирования может обновлять контекст, чтобы кодировать следующий кортеж из N элементов.

На этапе S1713, устройство 100 арифметического кодирования может увеличивать частотный индекс и выполнять декодирование для следующего кортежа из N элементов.

Фиг.18 иллюстрирует пример реализации контекстного режима согласно варианту осуществления.

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

Контекстные шаблоны от 0 до 3 могут обозначать информацию относительной позиции, "c" может обозначать MSB-символ, который должен быть в данный момент декодирован, и p0, p1, cp0, cp1 и cp2 могут быть уже декодированным MSB-символом. В случае контекстного шаблона 0, MSB-символ частотной позиции, идентичной частотной позиции предыдущего кадра, и MSB-символ предыдущей частотной позиции идентичного кадра могут быть использованы в качестве MSB-контекста.

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

Например, индекс контекстного шаблона может выражаться как следующее уравнение 1.

уравнение 1

В уравнении 1, ct_l и ct_h могут обозначать значение контекстного шаблона полосы низких частот и контекстного шаблона полосы высоких частот, и четыре случая всего могут выражаться, ctidx может обозначать индекс контекстного шаблона. Модуль LSB-декодирования может выполнять декодирование для LSB через следующее уравнение 2.

уравнение 2

X обозначает MSB-значение, соответствующее частотной позиции, идентичной частотной позиции LSB-значения, и 1 обозначает битовую глубину LSB. Кроме того, a0, b0, c0 и d0 могут обозначать MSB-символ, который должен быть декодирован.

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

Устройство 100 арифметического кодирования включает в себя модуль 1901 сброса контекста, модуль 1902 преобразования контекста, модуль 1903 определения контекста кортежа из 1 элемента, модуль 1904 определения MSB-контекста, модуль 1905 преобразования вероятностей, модуль 1906 кодирования управляющего кода, модуль 1907 MSB-кодирования, модуль 1908 LSB-кодирования, модуль 1909 кодирования на основе контекстного шаблона и модуль 1910 обновления контекста.

Устройство 100 арифметического кодирования дополнительно может включать в себя модуль 1903 определения контекста кортежа из 1 элемента по сравнению с устройством 100 арифметического кодирования по Фиг.10. В частности, устройство 100 арифметического кодирования по Фиг.10 может выполнять этап с использованием контекста кортежа из N элементов, или устройство 100 арифметического кодирования может выполнять этап с использованием контекста кортежа из 1 элемента.

Модуль 1901 сброса контекста и модуль 1902 преобразования контекста могут работать в единице кадра. Когда текущий кадр является кадром сброса, модуль 1901 сброса контекста может выполнять сброс контекста. Когда текущий кадр не является кадром сброса, модуль 1902 преобразования контекста может совмещать, в случае, если длина частотного спектра текущего кадра отличается от длины частотного спектра предыдущего кадра, длину предыдущего кадра так, что она является длиной текущего кадра.

Кроме того, модуль 1902 преобразования контекста дополнительно может преобразовывать кодированные MSB-значения предыдущего кадра.

Модуль 1903 определения контекста кортежа из 1 элемента может определять контекст текущего кортежа 1911 из 1 элемента с использованием значения квантованного спектра соседних кортежей 1912-1918 из 1 элемента, соседних с текущим кортежем 1911 из 1 элемента, который должен быть кодирован.

Например, модуль 1903 определения контекста кортежа из 1 элемента может определять контекст текущего кортежа 1911 из 1 элемента с использованием уже кодированных семи кортежей 1912-1918 из 1 элемента.

Модуль 1903 определения контекста кортежа из 1 элемента может выполнять преобразование в 64 состояниях с использованием соседних кортежей 1912-1918 из 1 элемента, т.е. семи квантованных спектров относительно текущего кортежа 1911 из 1 элемента. Кроме того, модуль 1903 определения контекста кортежа из 1 элемента может уменьшать объем информации квантованного спектра посредством соответствующего преобразования 0 в 0, -1 или 1 в 1, 2 или -2 в 2 и больше 3 или меньше -4 в 3 в процессе обучения. Затем, модуль 1903 определения контекста кортежа из 1 элемента может конфигурировать одно состояние посредством пакетирования случаев, имеющих аналогичную вероятность формирования MSB-символов из всех возможных чисел случаев, когда преобразованный квантованный спектр формируется, тем самым формируя множество состояний.

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

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

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

Модуль 1903 определения контекста кортежа из 1 элемента может прогнозировать число раз, когда уменьшение текущего кортежа 1911 из 1 элемента, т.е. дополнительно в данный момент квантованного спектра выполняется, тем самым извлекая MSB-информацию и LSB-информацию.

Число раз, когда уменьшение выполняется, может получаться посредством прогнозирования с использованием соседних кортежей из 1 элемента. В этом случае, модуль 1903 определения контекста кортежа из 1 элемента может прогнозировать число раз, когда уменьшение текущего кортежа 1911 из 1 элемента с использованием, по меньшей мере, одного из семи соседних кортежей 1912-1918 из 1 элемента.

Например, когда прогнозирование выполняется с использованием соседнего кортежа 1917 или 1918 из 1 элемента, соответствующего предыдущей частоте текущего кадра, модуль 1903 определения контекста кортежа из 1 элемента может выполнять уменьшение до 1/2 до тех пор, пока значение соседнего кортежа 1917 или 1918 из 1 элемента не достигает диапазона, выражаемого как номер бита, выражающий MSB текущего кортежа 1911 из 1 элемента, и определять число раз, когда уменьшение выполняется, когда значение достигает диапазона. В этом случае, MSB задается как равный трем битам, включающим в себя информацию знака, модуль 1903 определения контекста кортежа из 1 элемента может выполнять уменьшение до 1/2 до тех пор, пока значение соседнего кортежа 1917 или 1918 из 1 элемента не находится в диапазоне от -4 до 3, тем самым прогнозируя частоту уменьшения относительно текущего кортежа 1911 из 1 элемента. Прогнозная частота уменьшения может обозначать вышеописанный процесс оценки уровня 0.

Согласно варианту осуществления, модуль 1903 определения контекста кортежа из 1 элемента может оценивать уровень 0 с использованием двух соседних кортежей 1917 и 1918 из 1 элемента, соответствующих предыдущей частоте текущего кадра относительно текущего кортежа 1911 из 1 элемента. При использовании множества соседних кортежей из 1 элемента точность оценки уровня 0 может быть повышена.

Согласно другому варианту осуществления, модуль 1903 определения контекста кортежа из 1 элемента может выполнять оценку уровня 0 с использованием, по меньшей мере, одного из соседних кортежей 1917 и 1918 из 1 элемента, соответствующих предыдущей частоте текущего кадра относительно текущего кортежа 1911 из 1 элемента, и определять число раз, когда уменьшение выполняется, посредством сравнения абсолютных значений, по меньшей мере, одного из соседних кортежей из 1 элемента, соответствующих предыдущей частоте текущего кадра относительно текущего кортежа 1911 из 1 элемента.

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

Например, когда MSB задается как равный трем битам, включающим в себя информацию знака, модуль 1903 определения контекста кортежа из 1 элемента может вычислять абсолютное значение каждого из двух соседних кортежей 1917 и 1918 из 1 элемента, соответствующих предыдущей частоте текущего кадра относительно текущего кортежа 1911 из 1 элемента, и затем, когда значение, при котором уменьшение выполняется, достигает 4 или меньше при выполнении уменьшения до 1/2 для двух абсолютных значений, уменьшение может прекращать выполняться, и значение, при котором уменьшение в итоге выполняется, может быть использовано в качестве значения оценки уровня 0.

Кроме того, согласно варианту осуществления, модуль 1903 определения контекста кортежа из 1 элемента может оценивать уровень 0 избирательно с использованием одного соседнего кортежа 1917 из 1 элемента или двух соседних кортежей 1917 и 1918 из 1 элемента, причем каждый из соседних кортежей из 1 элемента соответствует предыдущей частоте текущего кадра относительно текущего кортежа 1911 из 1 элемента.

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

Кроме того, модуль 1903 определения контекста кортежа из 1 элемента может оценивать число соседних кортежей из 1 элемента, используемых при оценке уровня 0, на основе инструментального средства, используемого при выполнении кодирования в FD-режиме. Например, в качестве инструментального средства, используемого при выполнении кодирования в FD-режиме, временное ограничение шума (TNS), MDCT с преобразованием временного масштаба (TW-MDCT) и т.п. может быть использовано. В этом случае, когда кодирование выполняется с использованием инструментального средства TW-MDCT в FD-режиме, модуль 1903 определения контекста кортежа из 1 элемента может оценивать уровень 0 с использованием двух соседних кортежей 1917 и 1918 из 1 элемента.

Кроме того, модуль 1903 определения контекста кортежа из 1 элемента может оценивать уровень 0 с использованием одного соседнего кортежа 1917 из 1 элемента или с использованием двух соседних кортежей 1917 и 1918 из 1 элемента на основе информации, передаваемой для каждого кадра. Например, модуль 1903 определения контекста кортежа из 1 элемента может оценивать уровень 0 в соответствии с числом соседних кортежей из 1 элемента, передаваемых для каждого кадра посредством приспособления схемы арифметического декодирования. В частности, модуль 1903 определения контекста кортежа из 1 элемента может формировать вероятностную модель на основе частоты относительно числа используемых соседних кортежей из 1 элемента в соответствии с FD-режимом или wLPT-режимом при выполнении арифметического декодирования и выполнять арифметическое декодирование посредством применения сформированной вероятностной модели в качестве контекста.

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

Например, MSB-контекст, сформированный через модуль 1904 определения MSB-контекста, может заключаться в следующем. Контекстный шаблон дополнительно описывается со ссылкой на Фиг.22.

(1) MSB-значение соседнего кортежа 1917 или 1918 из 1 элемента, т.е. квантованного спектра, соответствующего предыдущей частоте в текущем кадре, или MSB-значение соседнего кортежа 1914 из 1 элемента, т.е. квантованного спектра, соответствующего текущей частоте в предыдущем кадре

(2) MSB-значение квантованного спектра, комбинированного с контекстным шаблоном

(3) Значение, извлеченное посредством дополнительного квантования соседнего кортежа 1917 или 1918 из 1 элемента, соответствующего предыдущей частоте в текущем кадре, или значение, извлеченное посредством дополнительного квантования соседнего кортежа 1914 из 1 элемента, т.е. квантованного спектра, соответствующего текущей частоте в предыдущем кадре

(4) Значение, извлеченное посредством дополнительного квантования квантованного спектра, комбинированного с контекстным шаблоном

(5) Значение, извлеченное посредством дополнительного квантования соседних кортежей 1912-1916 из 1 элемента, т.е. квантованного спектра предыдущего кадра

(6) Значение, извлеченное посредством изменения соседнего кортежа 1917 или 1918 из 1 элемента, соответствующего предыдущей частоте в текущем кадре, или значение, извлеченное посредством изменения соседнего кортежа 1914 из 1 элемента, т.е. квантованного спектра, соответствующего текущей частоте в предыдущем кадре

(7) Значение, извлеченное посредством изменения квантованного спектра, комбинированного с контекстным шаблоном

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

Во-вторых, модуль 1904 определения MSB-контекста дополнительно может выполнять квантование, чтобы определять, в качестве контекста сначала квантованного спектра, конкретную схему, в которой от -4 до 3 преобразуется в от -4 до 3, больше 4 преобразуется в 3, и -5 или меньше может преобразовываться в -4.

При использовании MSB-значения модуль 1907 MSB-кодирования может выполнять декодирование для текущего кортежа 1911 из 1 элемента посредством выбора одного из MSB-значений соседних кортежей 1912-1918 из 1 элемента, т.е. квантованного спектра, в котором кодирование без потерь выполняется для текущего кадра или предыдущего кадра.

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

Модуль 1904 определения MSB-контекста может извлекать значение квантованного частотного спектра посредством выполнения уменьшения для соседних кортежей 1912-1918 из 1 элемента на уровень 0 на основе значения оценки уровня 0 текущего кортежа 1911 из 1 элемента, т.е. текущего частотного спектра, который должен подвергаться кодированию без потерь относительно текущего кадра.

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

Модуль 1905 кодирования управляющего кода может выполнять кодирование управляющего кода, когда значение, измененное посредством выполнения уменьшения до 1/2 для текущего кортежа 1911 из 1 элемента, который должен подвергаться кодированию без потерь на оцененный уровень 0, превышает значение, выражаемое как номер бита, задающий MSB текущего кортежа 1911 из N элементов.

Схема выполнения кодирования для управляющего кода может включать в себя (1) схему выполнения кодирования для информации, указывающей то, является или нет MSB, который должен быть декодирован, управляющим кодом, и (2) схему выполнения кодирования для управляющего кода, включенного в MSB-символ. В частности, (1) схема выполнения кодирования для информации может назначать 1 управляющему коду и назначать 0 управляющему коду, когда MSB не является управляющим кодом, и выполнять кодирование для 0 или 1. Когда 0 кодируется, модуль 1907 MSB-кодирования может выполнять кодирование для MSB текущего кортежа 1911 из 1 элемента. (2) Схема выполнения кодирования для управляющего кода может обозначать схему выполнения кодирования для одного символа из девяти символов, всего полученных посредством выражения восьми MSB-символов и управляющего кода в качестве символа идентичного уровня. Например, модуль 1905 кодирования управляющего кода может задавать от 0 до 7 в качестве MSB-символов и задавать 9 в качестве управляющего кода, чтобы тем самым кодировать девять символов.

Модуль 1905 кодирования управляющего кода может не выполнять кодирование для управляющего кода в случае, если значение текущего кортежа 1911 из 1 элемента находится в диапазоне от -4 до 3 при выполнении уменьшения для текущего кортежа 1911 из 1 элемента, т.е. квантованного спектра, который должен быть в данный момент кодирован посредством прогнозного числа раз, когда уменьшение до 1/2 выполняется.

В случае, если значение текущего кортежа 1911 из 1 элемента не находится в диапазоне от -4 до 3 при выполнении уменьшения для текущего кортежа из 1 элемента, модуль 1905 кодирования управляющего кода дополнительно может выполнять уменьшение для текущего кортежа 1911 из 1 элемента, чтобы предоставлять возможность включения значения текущего кортежа 1911 из 1 элемента в диапазон от -4 до 3 и выполнять кодирование для управляющего кода посредством числа раз, когда уменьшение выполняется. В этом случае, данные, потерянные в процессе выполнения уменьшения, могут быть включены в LSB, и модуль 1908 LSB-кодирования может выполнять кодирование для LSB.

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

Модуль 1907 MSB-кодирования может выполнять кодирование для MSB текущего кортежа 1910 из 1 элемента только с использованием всех состояний, сформированных в (i) модуле 1903 определения контекста кортежа из 1 элемента, или может выбирать вероятностную модель с использованием поднабора конкретного состояния из всех состояний, сформированных в (ii) модуле 1903 определения контекста кортежа из 1 элемента, и с использованием дополнительного контекста, определенного в модуле 1904 определения MSB-контекста, и тем самым выполнять арифметическое кодирование для MSB текущего кортежа 1910 из 1 элемента.

Модуль 1908 LSB-кодирования может выполнять арифметическое кодирование с использованием оставшихся битов вплоть до битовой глубины LSB текущего кортежа 1911 из 1 элемента, в качестве контекста. В этом случае, контекст может включать в себя информацию знака (отрицательное число, 0, положительное число) MSB соседнего кортежа 1914 из 1 элемента, соответствующего текущей частоте текущего кортежа 1911 из 1 элемента. Кроме того, информация знака MSB соседнего кортежа 1914 из 1 элемента может включать в себя информацию знака, включающую в себя отрицательное число и положительное число за исключением 0. Затем, модуль 1908 LSB-кодирования может выбирать вероятностную модель в соответствии с информацией знака MSB соседнего кортежа 1914 из 1 элемента и после этого выполнять кодирование для LSB.

Кроме того, модуль 1908 LSB-кодирования может выполнять кодирование для LSB с использованием контекста, определенного на основе битовой глубины LSB и информации знака MSB соседнего кортежа 1914 из 1 элемента. В этом случае, битовая глубина LSB может выражаться как информация индекса (уровня).

Модуль 1909 кодирования на основе контекстного шаблона может выполнять кодирование для одного контекстного шаблона, в итоге передаваемого из множества контекстов, которые должны быть использованы при выполнении кодирования для MSB текущего кортежа 1911 из 1 элемента. Множество контекстов может обозначать значение, извлеченное, чтобы определять MSB-контекст в модуле 1904 определения MSB-контекста. Контекстный шаблон может обозначать относительную позицию соседнего кортежа из 1 элемента относительно текущего кортежа 1911 из 1 элемента, который должен быть кодирован, и значение, которое должно быть использовано в качестве MSB-контекста, может быть извлечено из позиции, определенной посредством контекстного шаблона. Контекстный шаблон может быть передан посредством схемы побитовой упаковки и может быть передан посредством схемы арифметического кодирования. Передача контекстного шаблона может выполняться один раз для каждого кадра. Модуль 1909 кодирования на основе контекстного шаблона может назначать биты, выражающие номер варианта, чтобы тем самым выполнять побитовую упаковку. Затем, модуль 1904 определения MSB-контекста может выбирать надлежащий MSB-контекст в соответствии с контекстным шаблоном.

Модуль 1910 обновления контекста может обновлять квантованную выборку, чтобы кодировать следующий кортеж из 1 элемента. Затем, модуль 1904 определения MSB-контекста может определять MSB-контекст с использованием обновленной квантованной выборки относительно следующего кортежа из 1 элемента.

Фиг.20 подробно иллюстрирует конфигурацию третьего примера устройства 101 арифметического декодирования согласно варианту осуществления.

Устройство 101 арифметического декодирования по Фиг.20 может соответствовать устройству 100 арифметического кодирования по Фиг.19, и этапы каждого из компонентов могут быть идентичными.

Устройство 101 арифметического декодирования включает в себя модуль 2001 сброса контекста, модуль 2002 преобразования контекста, модуль 2003 декодирования на основе контекстного шаблона, модуль 2004 определения контекста кортежа из 1 элемента, модуль 2005 определения MSB-контекста, модуль 2006 преобразования вероятностей, модуль 2007 декодирования управляющего кода, модуль 2008 MSB-декодирования, модуль 2009 LSB-декодирования, модуль 2010 формирования квантованных выборок и модуль 2011 обновления контекста.

По сравнению с устройством 101 арифметического декодирования по Фиг.11, устройство 101 арифметического декодирования по Фиг.20 может использовать модуль 2007 определения контекста кортежа из 1 элемента. В частности, устройство 101 арифметического декодирования по Фиг.11 может выполнять этап с использованием контекста кортежа из N элементов, а устройство 101 арифметического декодирования по Фиг.20 может выполнять этап с использованием контекста кортежа из 1 элемента.

Модуль 2001 сброса контекста и модуль 2002 преобразования контекста могут работать в соответствии с единицей кадра. Когда текущий кадр, который должен быть декодирован, является кадром сброса, модуль 2001 сброса контекста может выполнять сброс контекста. Когда текущий кадр, который должен быть декодирован, не является кадром сброса, модуль 2002 преобразования контекста может совмещать, в случае, если длина частотного спектра текущего кадра отличается от длины частотного спектра предыдущего кадра, длину предыдущего кадра так, что она является длиной текущего кадра. Кроме того, модуль 2002 преобразования контекста дополнительно может преобразовывать декодированные MSB-значения предыдущего кадра.

Модуль 2003 декодирования на основе контекстного шаблона может выполнять декодирование для одного контекстного шаблона, в итоге передаваемого из множества контекстов, которые должны быть использованы при выполнении MSB текущего кортежа 2012 из 1 элемента, который должен быть декодирован. Множество контекстов может обозначать значение, извлеченное, чтобы определять MSB-контекст в модуле 2005 определения MSB-контекста. Контекстный шаблон может выражать относительную позицию соседнего кортежа из 1 элемента относительно текущего кортежа 2012 из 1 элемента, который должен быть декодирован, и значение, которое должно быть использовано в качестве MSB-контекста, может быть извлечено из относительной позиции. Контекстный шаблон может быть передан посредством схемы побитовой упаковки и передан посредством схемы арифметического декодирования. Передача контекстного шаблона может выполняться один раз для каждого кадра. Модуль 2003 декодирования на основе контекстного шаблона может выполнять схему побитовой упаковки посредством назначения битов, выражающих номер варианта. Затем, модуль 2005 определения MSB-контекста может выбирать надлежащий MSB-контекст в соответствии с контекстным шаблоном.

Модуль 2004 определения контекста кортежа из 1 элемента может определять контекст текущего кортежа 2012 из 1 элемента с использованием значения квантованного спектра соседних кортежей 2013-2019 из 1 элемента, соседних с текущим кортежем 2012 из 1 элемента, который должен быть декодирован. Например, модуль 2004 определения контекста кортежа из 1 элемента может определять контекст текущего кортежа 2012 из 1 элемента с использованием семи декодированных соседних кортежей 2013-2019 из 1 элемента.

Модуль 2004 определения контекста кортежа из 1 элемента может преобразовывать соседние кортежи из 1 элемента в 64 состояния с использованием семи соседних кортежей 2013-2019 из 1 элемента.

Кроме того, модуль 2004 определения контекста кортежа из 1 элемента дополнительно может квантовать семь квантованных спектров. В частности, модуль 2004 определения контекста кортежа из 1 элемента может преобразовывать 0 в 0, -1 или 1 в 1, 2 или -2 в 2 и больше 3 или меньше -4 в 3, соответственно, в процессе обучения, тем самым уменьшая информацию квантованного спектра. Затем, модуль 2004 определения контекста кортежа из 1 элемента может конфигурировать одно состояние посредством пакетирования случаев, имеющих аналогичную вероятность формирования MSB-символов из всех возможных чисел случаев, когда преобразованный квантованный спектр формируется, тем самым формируя множество состояний.

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

Кроме того, чтобы определять контекст текущего кортежа 2012 из 1 элемента, информация базового режима кодирования дополнительно может рассматриваться. Модуль 2004 определения контекста кортежа из 1 элемента может определять то, является информация базового режима кодирования FD-режимом или wLPT-режимом, и отражать определенную информацию в процессе обучения. Модуль 2004 определения контекста кортежа из 1 элемента может вводить, в хэш-таблицу, уже декодированные соседние кортежи из 1 элемента и информацию базового режима кодирования, чтобы тем самым определять состояние.

Модуль 2004 определения контекста кортежа из 1 элемента может прогнозировать число раз, когда уменьшение текущего кортежа 2012 из 1 элемента, т.е. дополнительно в данный момент квантованного спектра выполняется, тем самым извлекая MSB-информацию и LSB-информацию. Число раз, когда уменьшение выполняется, может получаться посредством выполнения прогнозирования с использованием соседних кортежей из 1 элемента. В этом случае, модуль 2004 определения контекста кортежа из 1 элемента может прогнозировать число раз, когда уменьшение выполняется, относительно текущего кортежа 2012 из 1 элемента с использованием, по меньшей мере, одного из семи соседних кортежей 2013-2019 из 1 элемента.

Например, когда прогнозирование выполняется с использованием соседнего кортежа 2018 или 2019 из 1 элемента, соответствующего предыдущей частоте текущего кадра, модуль 2004 определения контекста кортежа из 1 элемента может выполнять уменьшение до 1/2 до тех пор, пока значение соседнего кортежа 2018 или 2019 из 1 элемента не достигает диапазона, выражаемого как номер бита, выражающий MSB текущего кортежа 2012 из 1 элемента, и определять число раз, когда уменьшение выполняется, когда значение достигает диапазона. В этом случае, MSB задается как равный трем битам, включающим в себя информацию знака, модуль 2004 определения контекста кортежа из 1 элемента может выполнять уменьшение до 1/2 до тех пор, пока значение соседнего кортежа 2013 или 2019 из 1 элемента не находится в диапазоне от -4 до 3, тем самым прогнозируя частоту уменьшения относительно текущего кортежа 2012 из 1 элемента. Прогнозная частота уменьшения может обозначать вышеописанный процесс оценки уровня 0.

Согласно варианту осуществления, модуль 2004 определения контекста кортежа из 1 элемента может выполнять оценку уровня 0 с использованием двух соседних кортежей 2018 и 2019 из 1 элемента, соответствующих предыдущей частоте текущего кадра относительно текущего кортежа 2012 из 1 элемента. При использовании множества кортежей окружения точность оценки уровня 0 может быть повышена.

Согласно другому варианту осуществления, модуль 2004 определения контекста кортежа из 1 элемента может выполнять оценку уровня 0 с использованием, по меньшей мере, одного из соседних кортежей 2018 и 2019 из 1 элемента, соответствующих предыдущей частоте текущего кадра относительно текущего кортежа 2012 из 1 элемента, и определять число раз, когда уменьшение выполняется, посредством сравнения абсолютных значений, по меньшей мере, одного из соседнего кортежа из 1 элемента, соответствующего предыдущей частоте текущего кадра относительно текущего кортежа 2012 из 1 элемента. В частности, модуль 2004 определения контекста кортежа из 1 элемента может изменять, в качестве абсолютных значений, значения, по меньшей мере, одного из соседнего кортежа из 1 элемента, соответствующего предыдущей частоте текущего кадра относительно текущего кортежа 2012 из 1 элемента, и когда значения, полученные в то время, когда уменьшение до 1/2 выполняется, достигают предварительно определенного порогового значения, модуль 2004 определения контекста кортежа из 1 элемента, может прекращать выполнять уменьшение, чтобы определять, в качестве значения оценки уровня 0, значение, полученное посредством конечного выполнения уменьшения.

Например, MSB задается как равный трем битам, включающим в себя информацию знака, модуль 2004 определения контекста кортежа из 1 элемента может вычислять абсолютное значение двух соседних кортежей 2018 и 2019 из 1 элемента, соответствующих предыдущей частоте текущего кадра относительно текущего кортежа 2012 из 1 элемента, и затем, когда значение, полученное при выполнении уменьшения до 1/2 для двух абсолютных значений, достигает 4 или меньше, модуль 2004 определения контекста кортежа из 1 элемента может прекращать выполнять уменьшение, чтобы тем самым использовать значение, полученное посредством конечного выполнения уменьшения, в качестве значения оценки уровня 0.

Кроме того, согласно варианту осуществления, модуль 2004 определения контекста кортежа из 1 элемента может оценивать уровень 0 посредством избирательно с использованием одного соседнего кортежа 2018 из 1 элемента или двух соседних кортежей 2018 и 2019 из 1 элемента, причем каждый из соседних кортежей из 1 элемента соответствует предыдущей частоте текущего кадра относительно текущего кортежа 2012 из 1 элемента.

Например, как описано выше, уровень 0 может быть оценен в соответствии с базовым режимом. Модуль 2004 определения контекста кортежа из 1 элемента может оценивать уровень 0 с использованием одного соседнего кортежа из 1 элемента в случае FD-режима и с использованием двух соседних кортежей из 1 элемента в случае wLPT-режима.

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

Кроме того, модуль 2004 определения контекста кортежа из 1 элемента может оценивать число соседних кортежей из 1 элемента, используемых при оценке уровня 0, на основе инструментального средства, используемого при выполнении кодирования в FD-режиме. Например, в качестве инструментального средства, используемого при выполнении кодирования в FD-режиме, TNS, TW-MDCT и т.п. может быть использовано. В этом случае, когда кодирование выполняется с использованием инструментального средства TW-MDCT в FD-режиме, модуль 2004 определения контекста кортежа из 1 элемента может оценивать уровень 0 с использованием двух соседних кортежей 2018 и 2019 из 1 элемента.

Кроме того, модуль 2004 определения контекста кортежа из 1 элемента может оценивать уровень 0 с использованием одного соседнего кортежа 2018 из 1 элемента или с использованием двух соседних кортежей 2018 и 2019 из 1 элемента на основе информации, передаваемой для каждого кадра. Например, модуль 2004 определения контекста кортежа из 1 элемента может оценивать уровень 0 в соответствии с числом соседних кортежей из 1 элемента, передаваемых для каждого кадра посредством приспособления схемы арифметического декодирования. В частности, модуль 2004 определения контекста кортежа из 1 элемента может формировать вероятностную модель на основе частоты относительно числа используемых соседних кортежей из 1 элемента в соответствии с FD-режимом или wLPT-режимом при выполнении арифметического декодирования и выполнять арифметическое декодирование посредством применения сформированной вероятностной модели в качестве контекста.

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

Например, MSB-контекст, сформированный через модуль 2005 определения MSB-контекста, может заключаться в следующем. Контекстный шаблон дополнительно описывается со ссылкой на Фиг.22.

(1) MSB-значение соседнего кортежа 2018 или 2019 из 1 элемента, т.е. квантованного спектра, соответствующего предыдущей частоте в текущем кадре, или MSB-значение соседнего кортежа 2015 из 1 элемента, т.е. квантованного спектра, соответствующего текущей частоте в предыдущем кадре

(2) MSB-значение квантованного спектра, комбинированного с контекстным шаблоном

(3) Значение, извлеченное посредством дополнительного квантования соседнего кортежа 2018 или 2019 из 1 элемента, соответствующего предыдущей частоте в текущем кадре, или значение, извлеченное посредством дополнительного квантования соседнего кортежа 2015 из 1 элемента, т.е. квантованного спектра, соответствующего текущей частоте в предыдущем кадре

(4) Значение, извлеченное посредством дополнительного квантования квантованного спектра, комбинированного с контекстным шаблоном

(5) Значение, извлеченное посредством дополнительного квантования соседних кортежей 2013-2017 из 1 элемента, т.е. квантованного спектра предыдущего кадра

(6) Значение, извлеченное посредством изменения соседнего кортежа 2018 или 2019 из 1 элемента, соответствующего предыдущей частоте в текущем кадре, или значение, извлеченное посредством изменения соседнего кортежа 2015 из 1 элемента, т.е. квантованного спектра, соответствующего текущей частоте в предыдущем кадре

(7) Значение, извлеченное посредством изменения квантованного спектра, комбинированного с контекстным шаблоном

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

Во-первых, модуль 2005 определения MSB-контекста дополнительно может выполнять квантование для квантованного спектра в соответствии с FD-режимом и wLPT-режимом.

Во-вторых, модуль 2005 определения MSB-контекста дополнительно может выполнять квантование, чтобы определять, в качестве контекста сначала квантованного спектра, конкретную схему, в которой от -4 до 3 преобразуется в от -4 до 3, больше 4 преобразуется в 3, и -5 или меньше преобразуется в -4.

При использовании MSB-значения модуль 2008 MSB-декодирования может выполнять декодирование для текущего кортежа 2012 из 1 элемента посредством выбора одного из MSB-значений соседних кортежей 2013-2019 из 1 элемента, т.е. квантованного спектра, в котором кодирование без потерь выполняется для текущего кадра или предыдущего кадра.

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

Модуль 2005 определения MSB-контекста может извлекать значение квантованного частотного спектра посредством выполнения уменьшения для соседних кортежей 2013-2019 из 1 элемента на уровень 0, на основе значения оценки уровня 0 текущего кортежа 2012 из 1 элемента, т.е. текущего частотного спектра, который должен подвергаться кодированию без потерь относительно текущего кадра.

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

Модуль 2007 декодирования управляющего кода может выполнять кодирование управляющего кода, когда значение, измененное посредством выполнения уменьшения до 1/2 для текущего кортежа 2012 из 1 элемента, который должен подвергаться кодированию без потерь на оцененный уровень 0, превышает значение, выражаемое как номер бита, задающий MSB текущего кортежа 2012 из N элементов.

Схема выполнения декодирования для управляющего кода может включать в себя (1) схему выполнения декодирования для информации, указывающей то, является или нет MSB, который должен быть декодирован, управляющим кодом, и (2) схему выполнения декодирования для управляющего кода, включенного в MSB-символ. В частности, (1) схема выполнения декодирования для информации может назначать 1 управляющему коду и назначать 0 управляющему коду, когда MSB не является управляющим кодом, и выполнять декодирование для 0 или 1. Когда 0 декодируется, модуль 2008 MSB-декодирования может выполнять декодирование для MSB текущего кортежа 2012 из 1 элемента. (2) Схема выполнения декодирования для управляющего кода может обозначать схему выполнения декодирования для одного символа из девяти символов, всего полученных посредством выражения восьми MSB-символов и управляющего кода в качестве символа идентичного уровня. Например, модуль 2007 декодирования управляющего кода может задавать от 0 до 7 в качестве MSB-символов и задавать 9 в качестве управляющего кода, чтобы тем самым декодировать девять символов.

Модуль 2007 декодирования управляющего кода может не выполнять кодирование для управляющего кода в случае, если значение текущего кортежа 2012 из 1 элемента находится в диапазоне от -4 до 3 при выполнении уменьшения для текущего кортежа 2012 из 1 элемента, т.е. квантованного спектра, который должен быть в данный момент декодирован посредством прогнозного числа раз, когда уменьшение до 1/2 выполняется.

В случае, если значение текущего кортежа 2012 из 1 элемента не находится в диапазоне от -4 до 3 при выполнении уменьшения для текущего кортежа из 1 элемента, модуль 2007 декодирования управляющего кода дополнительно может выполнять уменьшение для текущего кортежа 2012 из 1 элемента, чтобы предоставлять возможность включения значения текущего кортежа 2012 из 1 элемента в диапазон от -4 до 3 и выполнять декодирование для управляющего кода посредством числа раз, когда уменьшение выполняется. В этом случае, данные, потерянные в процессе выполнения уменьшения, могут быть включены в LSB, и модуль 2009 LSB-декодирования может выполнять кодирование для LSB.

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

Модуль 2008 MSB-декодирования может выполнять декодирование для MSB текущего кортежа 2012 из 1 элемента только с использованием всех состояний, сформированных в (i) модуле 2004 определения контекста кортежа из 1 элемента, или может выбирать вероятностную модель с использованием поднабора конкретного состояния из всех состояний, сформированных в (ii) модуле 2004 определения контекста кортежа из 1 элемента, и с использованием дополнительного контекста, определенного в модуле 1904 определения MSB-контекста, и тем самым выполнять арифметическое декодирование для MSB текущего кортежа 2012 из 1 элемента.

Модуль 2009 LSB-декодирования может выполнять арифметическое декодирование с использованием оставшихся битов вплоть до битовой глубины LSB текущего кортежа 2012 из 1 элемента, в качестве контекста. В этом случае, контекст может включать в себя информацию знака (отрицательное число, 0, положительное число) MSB соседнего кортежа 2015 из 1 элемента, соответствующего текущей частоте текущего кортежа 2012 из 1 элемента. Кроме того, информация знака MSB соседнего кортежа 2015 из 1 элемента может включать в себя информацию знака, включающую в себя отрицательное число и положительное число за исключением 0. Затем, модуль 2008 LSB-декодирования может выбирать вероятностную модель в соответствии с информацией знака MSB соседнего кортежа 2015 из 1 элемента и после этого выполнять декодирование для LSB.

Кроме того, модуль 2009 LSB-декодирования может выполнять декодирование для LSB с использованием контекста, определенного на основе битовой глубины LSB и информации знака MSB соседнего кортежа 2014 из 1 элемента. В этом случае, битовая глубина LSB может выражаться как информация индекса (уровня).

Модуль 2010 формирования квантованных выборок может формировать квантованную выборку относительно текущего кортежа 2012 из N элементов с использованием арифметически декодированного MSB и LSB.

Модуль 2011 обновления контекста может обновлять квантованную выборку, чтобы декодировать следующий кортеж из 1 элемента. Затем, модуль 2005 определения MSB-контекста может определять MSB-контекст с использованием обновленной квантованной выборки относительно следующего кортежа из 1 элемента.

Фиг.21 иллюстрирует кортеж из 1 элемента, MSB и LSB согласно варианту осуществления.

В верхней части Фиг.21, кортежи из 1 элемента проиллюстрированы на основе времени и частоты. Здесь, кортеж из 1 элемента может обозначать набор, в котором квантованные частотные спектры пакетируются в единицу из непрерывного 1 частотного спектра в порядке увеличения частоты. Кортежи из N элементов описываются со ссылкой на Фиг.4, тем не менее, кортежи из 1 элемента дополнительно описываются со ссылкой на Фиг.21. Семь соседних кортежей 2102-2108 из 1 элемента уже кодированы или декодированы и могут быть использованы при определении контекста текущего кортежа 2101 из 1 элемента. В этом случае, соседние кортежи 2102-2106 из 1 элемента могут соответствовать предыдущему кадру, и соседние кортежи 2107 и 2108 из 1 элемента могут соответствовать текущему кадру, идентичному текущему кортежу 2101 из 1 элемента.

В нижней части Фиг.21, MSB 2109 и LSB 2110 проиллюстрированы на основе частотного индекса и битовой глубины. В этом случае, MSB 2109 может обозначать MSB, включающий в себя информацию знака. Согласно варианту осуществления, MSB 2109 может обозначаться как доступные три бита. Задание MSB может быть изменено на основе конфигурации системы.

Ссылаясь на Фиг.21, LSB 2110 может обозначать биты, имеющие битовую глубину, превышающую битовую глубину MSB 2109. В этом случае, LSB 2110 может иметь значение уровня. Уровень может быть значением, определенным посредством комбинации MSB контекстов, и битовая глубина в 0 может обозначать LSB 2110, расположенный непосредственно ниже MSB 2109. Кортеж из 1 элемента может соответствовать MSB 2109 и может быть разделен на символы в соответствии с частотным индексом. Например, на Фиг.21, кортеж из 1 элемента может быть сконфигурирован из одного символа. Затем, текущий кортеж 2101 из 1 элемента может разделять один символ согласно частоте, которая должна быть кодирована или декодирована. В частности, MSB 2109 может быть декодирован или кодирован в единице символа. В этом случае, кортеж может соответствовать символу. На Фиг.21, один символ, включенный в кортеж из 1 элемента, проиллюстрирован, тем не менее, число символов может быть изменяемым в соответствии с системой.

Фиг.22 иллюстрирует пример контекстного шаблона согласно варианту осуществления.

На Фиг.19, модуль 1904 определения MSB-контекста может определять MSB-контекст с использованием контекстного шаблона. Контекстный шаблон может конфигурироваться, как проиллюстрировано на Фиг.22.

Текущие кортежи 2201, 2205 и 2209 из 1 элемента могут обозначать кортежи, которые должны быть в данный момент кодированы. Соседние кортежи 2202, 2207 и 2212 из 1 элемента могут обозначать кортежи, используемые в качестве MSB-контекста в соответствии с контекстным шаблоном. Информация по контекстному шаблону может быть передана один раз из устройства кодирования в кадр посредством схемы арифметического кодирования, и вероятностная модель может быть определена на основе частоты формирования с использованием информации по контекстному шаблону. Кроме того, контекстный шаблон может быть определен по-разному в зависимости от полосы низких частот и полосы высоких частот.

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

Спектральное бесшумное кодирование может обозначать способ кодирования, чтобы без потерь передавать квантованные данные из устройства кодирования в устройство декодирования. В частности, спектральное бесшумное кодирование может передавать квантованные данные с использованием схемы кодирования в битовой плоскости. В этом случае, схема кодирования в битовой плоскости может отображать квантованные данные в качестве двоичного числа и передавать значение, выражаемое в единице битов или в качестве нескольких битов. Например, когда квантованный спектр - это (3, 7, 1, 0), последовательность (11, 1001, 1, 0), в которой квантованный спектр выражается как двоичное число, может быть передана посредством схемы кодирования в битовой плоскости. Чтобы восстанавливать квантованные данные через передаваемую последовательность, информация, указывающая то, что каждое значение, составляющее последовательность, выражается как 2 бита, 4 бита, 1 бит и 1 бит, дополнительно может требоваться.

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

Как проиллюстрировано на Фиг.23, при кодировании (11, 1001, 1, 0) приспосабливается спектральное бесшумное кодирование, которое передает три бита, включающие в себя информацию знака, и передает оставшиеся биты после прогнозирования битовой глубины.

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

Когда оставшаяся битовая глубина оценивается как 1, устройство декодирования может прогнозировать информацию уровня, соответствующую битовой глубине. Устройство декодирования может декодировать MSB (три бита, включающие в себя информацию знака) (1, 2, 0, 0), что упоминается как MSB-декодирование. Затем, устройство декодирования может декодировать дополнительные оставшиеся биты (0 битов, 1 бит, 1 бит, 0 битов). Эти дополнительные оставшиеся биты могут соответствовать частоте управляющего кода. Затем, устройство декодирования может декодировать оставшиеся биты LSB в соответствии с числом оставшихся битов, что упоминается как LSB-декодирование.

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

На этапе S2401, устройство 101 арифметического декодирования может определять то, является или нет текущий кадр кадром сброса. На этапе S2402, когда текущий кадр является кадром сброса, устройство 101 арифметического декодирования может выполнять сброс контекста. На этапе S2403, когда текущий кадр не является кадром сброса, устройство 101 арифметического декодирования может преобразовывать контекст. В частности, устройство 101 арифметического декодирования может регуляризовать длину предыдущего кадра в качестве длины текущего кадра, чтобы тем самым преобразовывать контекст, так что частотный индекс между двумя кадрами может преобразовываться в случае, если длина текущего кадра отличается от длины предыдущего кадра.

Этапы S2401-S2403 могут выполняться в единице кадра.

На этапе S2404, устройство 101 арифметического декодирования может выполнять декодирование для одного контекстного шаблона, в итоге передаваемого из множества контекстов, которые должны быть использованы при выполнении декодирования для MSB текущего кортежа из 1 элемента. Контекстный шаблон дополнительно описывается со ссылкой на Фиг.22. Затем, устройство 101 арифметического декодирования может определять контекст кортежа из 1 элемента для текущего кортежа из 1 элемента и определять уровень 0 текущего кортежа из 1 элемента. В этом случае, устройство 101 арифметического декодирования может оценивать уровень 0, т.е. начальную глубину LSB-битов. Этап определения контекста кортежа из 1 элемента для текущего кортежа из 1 элемента и этап оценки уровня 0 могут ссылаться на описания Фиг.20.

На этапе S2406, устройство 101 арифметического декодирования может выполнять декодирование для управляющего кода на основе контекста (pki) кортежа из 1 элемента и FD/wLPT-режимов. На этапе S2409, каждый раз, когда управляющий код декодируется, устройство 101 арифметического декодирования может обновлять уровень 0, и когда значение, отличающееся от управляющего кода, декодируется, устройство 101 арифметического декодирования может выполнять декодирование для MSB.

На этапе S2407, устройство 101 арифметического декодирования может определять MSB-контекст, соответствующий MSB текущего кортежа из 1 элемента, который должен быть в данный момент декодирован. На этапе S2408, устройство 101 арифметического декодирования может определять надлежащую вероятностную модель на основе контекста кортежа из 1 элемента и MSB-контекста.

На этапе S2409, устройство 101 арифметического декодирования может выполнять декодирование для MSB на основе вероятностной модели.

На этапе S2410, устройство арифметического декодирования может выполнять декодирование для битов, соответствующих битовой глубине LSB, извлеченного из декодирования управляющего кода. На этапе S2411, устройство 101 арифметического декодирования может формировать квантованную выборку через MSB и LSB. На этапе S2412, устройство арифметического декодирования может обновлять контекст, чтобы декодировать следующий кортеж из 1 элемента. На этапе S2413, устройство арифметического декодирования может увеличивать частотный индекс, чтобы тем самым выполнять декодирование для следующего кортежа из 1 элемента.

В этом случае, кортеж из 2 элементов может обозначать пример кортежа из N элементов, кортежи 401, 402, 403, 404 и 405 из 2 элементов обозначают кортеж из 2 элементов, состоящий из двух частотных спектров. Текущий кортеж 404 из 2 элементов может обозначать кортеж из 2 элементов, который должен быть кодирован или декодирован. Уже декодированные и кодированные 4 соседних кортежа 401, 402, 403 и 405 из 2 элементов могут быть использованы при определении контекста текущего кортежа 404 из 2 элементов. В этом случае, соседние кортежи 401, 403 и 405 из 2 элементов могут соответствовать предыдущему кадру, а соседний кортеж 402 из 2 элементов может соответствовать текущему кадру, идентичному текущему кортежу 404 из 2 элементов.

Фиг.25 иллюстрирует контекстный шаблон относительно кортежа из 2 элементов согласно варианту осуществления.

Текущий кортеж 2501 из 2 элементов может обозначать кортеж, который должен быть в данный момент кодирован. Соседние кортежи 2502 и 2503 из 2 элементов могут обозначать кортежи, которые должны быть использованы в качестве MSB-контекста в соответствии с контекстным шаблоном. Информация по контекстному шаблону может быть передана один раз из устройства кодирования в кадр посредством схемы арифметического кодирования, и вероятностная модель может быть определена на основе частоты формирования с использованием информации по контекстному шаблону. Кроме того, контекстный шаблон может быть определен по-разному в зависимости от полосы низких частот и полосы высоких частот.

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

Устройство 100 арифметического кодирования включает в себя модуль 2601 сброса контекста, модуль 2602 преобразования контекста, модуль 2603 определения контекста кортежа из 2 элементов, модуль 2604 определения дополнительного контекста, модуль 2605 кодирования управляющего кода, модуль 2606 преобразования вероятностей, модуль 2607 MSB-кодирования, модуль 2608 LSB-кодирования, модуль 2609 кодирования на основе контекстного шаблона и модуль 2610 обновления контекста.

Модуль 2601 сброса контекста и модуль 2602 преобразования контекста могут быть выполнены идентично модулю 1901 сброса контекста и модулю 1902 преобразования контекста, и тем самым их дополнительные описания опускаются.

Модуль 2603 определения контекста кортежа из 2 элементов может определять контекст текущего кортежа 2611 из 2 элементов, который должен быть кодирован, с использованием значения квантованного спектра соседних кортежей 2612-2615 из 2 элементов, соседних с текущим кортежем 2611 из 2 элементов. Например, модуль 2603 определения контекста кортежа из 2 элементов может определять контекст текущего кортежа 2611 из 2 элементов с использованием кодированных четырех соседних кортежей 2612-2615 из 2 элементов.

Устройство 100 арифметического кодирования может разделять входной сигнал на MSB-символы и оставшиеся биты, чтобы выполнять кодирование для MSB-символов и оставшихся битов. В частности, устройство 100 арифметического кодирования может разделять текущий кортеж 2611 из 2 элементов, соответствующий квантованному частотному спектру, на абсолютные значения и информацию знака, чтобы выполнять кодирование для абсолютных значений и информации знака. В этом случае, абсолютное значение текущего кортежа 2611 из 2 элементов может быть разделено на MSB-символ и оставшийся LSB, чтобы выполнять кодирование для MSB-символа и оставшегося LSB. Уменьшение до 1/2 может выполняться для абсолютного значения MSB-символа до тех пор, пока абсолютное значение не становится меньше предварительно определенного порогового значения. Затем, модуль 2605 кодирования управляющего кода может выполнять кодирование для управляющего кода посредством числа раз, когда уменьшение до 1/2 выполняется.

Оставшийся LSB может обозначать биты, удаленные каждый раз, когда уменьшение до 1/2 выполняется для абсолютного значения MSB-символа. Когда кодирование для MSB текущего кортежа 2611 из 2 элементов завершается, кодирование может выполняться для оставшегося LSB. Когда кодирование для кортежа из 2 элементов, соответствующего всем квантованным спектрам относительно текущего кадра, завершается, информация знака квантованного спектра, отличающегося от 0, может быть кодирована.

Когда уменьшение выполняется для MSB-символа, предварительно определенное пороговое значение может задаваться как 4. Когда предварительно определенное пороговое значение равно 4, MSB может представлять четыре случая 0, 1, 2 и 3. Поскольку два частотных спектра кортежей из 2 элементов пакетируются и обрабатываются, устройство 100 арифметического кодирования может выполнять уменьшение для абсолютного значения каждого из двух квантованных частотных спектров, соответствующих текущему кортежу 2611 из 2 элементов, до тех пор пока каждый из двух квантованных частотных спектров не становится меньше предварительно определенного порогового значения.

Устройство 100 арифметического кодирования может выполнять текстовое арифметическое кодирование с использованием четырех соседних кортежей 2612-2615 из 2 элементов для текущего кортежа 2611 из 2 элементов. В частности, модуль 2603 определения контекста кортежа из 2 элементов дополнительно может квантовать квантованные спектры трех соседних кортежей 2612-2614 из 2 элементов, соответствующих предыдущему кадру, и два квантованных спектра в трех соседних кортежах 2612-2614 из 2 элементов могут выражаться как два бита (3*2*2=12). Модуль 2603 определения контекста кортежа из 2 элементов может формировать контекст кортежа из 2 элементов с использованием двух квантованных частотных спектров, соответствующих одному соседнему кортежу 2615 из 2 элементов, соответствующему предыдущей частоте текущего кадра. Сформированный контекст кортежа из 2 элементов может быть реализован посредством хэш-таблицы.

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

Когда значение, отличающееся от управляющего кода, кодируется, модуль 2602 MSB-кодирования может выполнять кодирование для MSB-символа текущего кортежа 2611 из 2 элементов.

Выполнение кодирования для текущего кортежа из 2 элементов на основе контекста кортежа из 2 элементов

Например, модуль 2607 MSB-кодирования может выполнять кодирование для MSB-символа текущего кортежа 2611 из 2 элементов на основе контекста кортежа из 2 элементов, сформированного посредством модуля 2603 определения контекста кортежа из 2 элементов. В этом случае, модуль 2607 MSB-кодирования может пакетировать два MSB-символа текущего кортежа 2611 из 2 элементов на основе контекста кортежа из 2 элементов, чтобы выполнять кодирование для пакетированных двух MSB-символов. Например, модуль 2607 MSB-кодирования может выражать два MSB-символа, имеющие значение от 0 до 3, в качестве одного символа, чтобы тем самым выполнять кодирование для одного символа. В этом случае, арифметическое кодирование может выполняться один раз для одного текущего кортежа 2611 из 2 элементов через 16 символов всего.

Выполнение кодирования для текущего кортежа из 2 элементов на основе контекста кортежа из 2 элементов в определенном случае и на основе контекста кортежа из 2 элементов и дополнительного контекста в другом определенном случае.

Например, модуль 2607 MSB-кодирования может выполнять арифметическое кодирование для MSB-символа текущего кортежа 2611 из 2 элементов на основе контекста кортежа из 2 элементов в определенном случае.

Кроме того, модуль 2607 MSB-кодирования может выполнять арифметическое кодирование для MSB-символа текущего кортежа 2611 из 2 элементов на основе контекста кортежа из 2 элементов и дополнительного контекста в другом определенном случае. В этом случае, дополнительный контекст может обозначать MSB-символ соседнего кортежа 2615 из 2 элементов, соответствующего предыдущей частоте текущего кадра относительно текущего кортежа 2611 из 2 элементов.

В этом случае, модуль 2607 MSB-кодирования может выполнять арифметическое кодирование два раза посредством выражения текущего кортежа 2611 из 2 элементов в качестве двух MSB-символов. Когда арифметическое кодирование выполняется два раза, MSB-символ, который должен быть использован в качестве дополнительного контекста, может быть соседним кортежем 2602 или 2603 из 2 элементов по Фиг.26. Т.е. модуль 2607 MSB-кодирования может определять соседний кортеж 2602 или 2603 из 2 элементов в качестве дополнительного контекста на основе информации контекстного шаблона относительно текущего кортежа 2611 из 2 элементов.

Выполнение кодирования для текущего кортежа из 2 элементов на основе контекста кортежа из 2 элементов и дополнительного контекста во всех случаях

Например, модуль 2607 MSB-кодирования может выполнять арифметическое кодирование для MSB-символа текущего кортежа 2611 из 2 элементов на основе контекста кортежа из 2 элементов и дополнительного контекста во всех случаях. Контекст кортежа из 2 элементов и дополнительный контекст описаны, как указано выше, и далее опускаются.

Модуль 2609 кодирования на основе контекстного шаблона может выполнять кодирование для контекстного шаблона. Информация контекстного шаблона может быть передана при кодировании входных сигналов. Контекстный шаблон может быть кодирован посредством схемы арифметического кодирования и передан один раз для каждого кадра. В этом случае, кадр может обозначать один кадр в случае режима FD-кодирования и может обозначать кадр, который может быть кодирован в TCX в суперкадре, в случае режима LPD-кодирования.

Информация контекстного шаблона может быть разделена на область низких частот и область высоких частот, которые должны быть переданы. Например, информация контекстного шаблона может назначаться по-разному в зависимости от частотной области. Информация контекстного шаблона может выражаться как область низких частот и область высоких частот через два бита. В этом случае, четыре случая 0, 1, 2, 3 могут выражаться. Когда информация контекстного шаблона равна 0, как область низких частот, так и область высоких частот могут иметь контекстный шаблон 0, а когда информация контекстного шаблона равна 1, область низких частот может иметь контекстный шаблон 1, а область высоких частот может иметь контекстный шаблон 0. Кроме того, когда информация контекстного шаблона равна 2, область низких частот может иметь контекстный шаблон 0, а область высоких частот может иметь контекстный шаблон 1. Когда информация контекстного шаблона равна 3, как область низких частот, так и область высоких частот могут иметь контекстный шаблон 1.

Например, когда абсолютное значение спектра, следующего после текущего кортежа 2611 из 2 элементов, равно 0 или 1, модуль 2607 MSB-кодирования может выполнять двоичное арифметическое кодирование, чтобы кодировать MSB-символ текущего кортежа 2611 из 2 элементов. В частности, когда абсолютное значение квантованного спектра всех частот, следующего после текущего кортежа 2611 из 2 элементов, равно 0 или 1, модуль 2607 MSB-кодирования может выполнять обработку исключений, чтобы выполнять кодирование для MSB текущего кортежа 2611 из 2 элементов. Например, поскольку управляющий код может не быть кодирован, когда все символы кортежей из 2 элементов равны 0, и на основе этого обработка исключений может выполняться для того, чтобы выполнять кодирование для MSB текущего кортежа 2611 из 2 элементов. Т.е. модуль 2607 кодирования управляющего кода может выполнять кодирование для управляющего кода до того, как модуль 2607 MSB-кодирования кодирует, в 0, текущий кортеж 2611 из 2 элементов, который должен быть в данный момент кодирован.

Например, модуль 2608 LSB-кодирования может выполнять кодирование для оставшихся LSB текущего кортежа 2611 из 2 элементов на основе равномерной вероятности, после того как кодирование выполняется для MSB-символа. Модуль 2608 LSB-кодирования может выполнять кодирование для оставшихся LSB текущего кортежа 2611 из 2 элементов посредством извлечения оставшихся LSB на 2 бита в единице битовой глубины идентичное число раз, когда управляющий код выполняется.

Четыре символа в совокупности могут существовать, и модуль 2608 LSB-кодирования может выполнять арифметическое кодирование для четырех символов.

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

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

Например, предполагается, что при кодировании абсолютного значения в 3 MSB кодируется в 0 перед выполнением кодирования для оставшихся LSB, и оставшиеся LSB в 11 (двоичное число) должны быть кодированы два раза.

Поскольку абсолютное значение, кодированное до настоящего момента, равно 0 при кодировании оставшегося LSB в 1, модуль 2608 LSB-кодирования может кодировать первый оставшийся LSB посредством применения вероятностной модели в случае 0. Поскольку абсолютное значение, кодированное до настоящего момента, равно 1, включая в себя первый оставшийся LSB при кодировании второго оставшегося LSB в 1, модуль 2608 LSB-кодирования может кодировать второй оставшийся LSB посредством применения вероятностной модели в случае отличия от 0.

Согласно другому примеру, модуль 2608 LSB-кодирования может кодировать оставшиеся LSB текущего кортежа 2611 из 2 элементов на основе информации, указывающей то, равно или нет абсолютное значение, кодированное до настоящего момента, 0. В частности, модуль 2608 LSB-кодирования может извлекать оставшиеся LSB текущего кортежа 2611 из 2 элементов, который должен быть кодирован, на 2 бита в битовой глубине и выполнять арифметическое кодирование для извлеченных оставшихся LSB с использованием, в качестве контекста, информации, указывающей то, равно или нет абсолютное значение, которое должно быть в данный момент кодировано, 0. Оставшиеся LSB-символы, которые должны быть кодированы, могут представлять четыре случая 00(2), 01(2), 10(2) и 11(2). Поскольку два случая, когда абсолютное значение текущего кортежа из 2 элементов, используемого в качестве контекста, равно 0 или нет, рассматриваются, может быть предусмотрено четыре случая, к примеру, случай, когда два абсолютных значения кортежей из 2 элементов равны 0, случай, когда низкочастотное значение равно 0, и высокочастотное значение не равно 0, случай, когда низкочастотное значение равно 0, и высокочастотное значение равно 0, и случай, когда низкочастотное значение и высокочастотное значение равно 0. Тем не менее, в случае, если как низкочастотное значение, так и высокочастотное значение равно 0, не требуется выполнять кодирование для оставшихся LSB, и тем самым арифметическое кодирование может выполняться с использованием оставшихся трех случаев в качестве контекста.

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

Компоненты, не описанные на Фиг.26, могут ссылаться на описания Фиг.10.

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

Устройство 101 арифметического декодирования включает в себя модуль 2701 сброса контекста, модуль 2702 преобразования контекста, модуль 2703 декодирования на основе контекстного шаблона, модуль 2704 определения контекста кортежа из 2 элементов, модуль 2705 определения дополнительного контекста, модуль 2706 преобразования вероятностей, модуль 2707 декодирования управляющего кода, модуль 2708 MSB-декодирования, модуль 2709 LSB-декодирования, модуль 2710 формирования квантованных выборок и модуль 2711 обновления контекста.

Модуль 2701 сброса контекста и модуль 2702 преобразования контекста могут быть выполнены идентично модулю 2001 сброса контекста и модулю 2002 преобразования контекста, и тем самым их дополнительные описания опускаются.

Модуль 2704 определения контекста кортежа из 2 элементов может определять контекст текущего кортежа 2712 из 2 элементов, который должен быть декодирован, с использованием значения квантованного спектра соседних кортежей 2713-2716 из 2 элементов, соседних с текущим кортежем 2712 из 2 элементов. Например, модуль 2703 определения контекста кортежа из 2 элементов может определять контекст текущего кортежа 2712 из 2 элементов с использованием четырех декодированных соседних кортежей 2713-2716 из 2 элементов.

Устройство 101 арифметического декодирования может разделять входной сигнал на MSB-символы и оставшиеся биты, чтобы выполнять декодирование для MSB-символов и оставшихся битов. В частности, устройство 101 арифметического декодирования может разделять текущий кортеж 2712 из 2 элементов, соответствующий квантованному частотному спектру, на абсолютные значения и информацию знака, чтобы выполнять декодирование для абсолютных значений и информации знака. В этом случае, абсолютное значение текущего кортежа 2712 из 2 элементов может быть разделено на MSB-символ и оставшийся LSB, чтобы выполнять декодирование для MSB-символа и оставшегося LSB. Уменьшение до 1/2 может выполняться для абсолютного значения MSB-символа до тех пор, пока абсолютное значение не становится меньше предварительно определенного порогового значения. Затем, модуль 2707 декодирования управляющего кода может выполнять декодирование для управляющего кода посредством числа раз, когда уменьшение до 1/2 выполняется.

Оставшийся LSB может обозначать биты, удаленные каждый раз, когда уменьшение до 1/2 выполняется для абсолютного значения MSB-символа. Когда декодирование для MSB текущего кортежа 2712 из 2 элементов завершается, декодирование может выполняться для оставшегося LSB. Когда декодирование для кортежа из 2 элементов, соответствующего всем квантованным спектрам относительно текущего кадра, завершается, информация знака квантованного спектра, отличающегося от 0, может быть декодирована.

Когда уменьшение выполняется для MSB-символа, предварительно определенное пороговое значение может задаваться как 4. Когда предварительно определенное пороговое значение равно 4, MSB может представлять четыре случая 0, 1, 2 и 3. Поскольку два частотных спектра кортежей из 2 элементов пакетируются и обрабатываются, устройство 101 арифметического декодирования может выполнять уменьшение для абсолютного значения каждого из двух квантованных частотных спектров, соответствующих текущему кортежу 2712 из 2 элементов, до тех пор пока каждый из двух квантованных частотных спектров не становится меньше предварительно определенного порогового значения.

Устройство 101 арифметического декодирования может выполнять текстовое арифметическое декодирование с использованием четырех соседних кортежей 2713-2716 из 2 элементов для текущего кортежа 2712 из 2 элементов. В частности, модуль 2704 определения контекста кортежа из 2 элементов дополнительно может квантовать квантованные спектры трех соседних кортежей 2713-2716 из 2 элементов, соответствующих предыдущему кадру, и два квантованных спектра в трех соседних кортежах 2713-2716 из 2 элементов могут выражаться как два бита (3*2*2=12). Модуль 2704 определения контекста кортежа из 2 элементов может формировать контекст кортежа из 2 элементов с использованием двух квантованных частотных спектров, соответствующих одному соседнему кортежу 2716 из 2 элементов, соответствующему предыдущей частоте текущего кадра. Сформированный контекст кортежа из 2 элементов может быть реализован посредством хэш-таблицы.

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

Когда значение, отличающееся от управляющего кода, декодируется, модуль 2708 MSB-декодирования может выполнять декодирование для MSB-символа текущего кортежа 2712 из 2 элементов.

Выполнение декодирования для текущего кортежа из 2 элементов на основе контекста кортежа из 2 элементов

Например, модуль 2708 MSB-декодирования может выполнять декодирование для MSB-символа текущего кортежа 2712 из 2 элементов на основе контекста кортежа из 2 элементов, сформированного посредством модуля 2704 определения контекста кортежа из 2 элементов. В этом случае, модуль 2708 MSB-декодирования может пакетировать два MSB-символа текущего кортежа 2712 из 2 элементов на основе контекста кортежа из 2 элементов, чтобы выполнять декодирование для пакетированных двух MSB-символов. Например, модуль 2708 MSB-декодирования может выражать два MSB-символа, имеющие значение от 0 до 3, в качестве одного символа, чтобы тем самым выполнять декодирование для одного символа. В этом случае, арифметическое декодирование может выполняться один раз для одного текущего кортежа 2712 из 2 элементов через 16 символов всего.

Выполнение декодирования для текущего кортежа из 2 элементов на основе контекста кортежа из 2 элементов в определенном случае и на основе контекста кортежа из 2 элементов и дополнительного контекста в другом определенном случае.

Например, модуль 2708 MSB-декодирования может выполнять арифметическое декодирование для MSB-символа текущего кортежа 2712 из 2 элементов на основе контекста кортежа из 2 элементов в определенном случае. Кроме того, модуль 2708 MSB-декодирования может выполнять арифметическое декодирование для MSB-символа текущего кортежа 2712 из 2 элементов на основе контекста кортежа из 2 элементов и дополнительного контекста в другом определенном случае. В этом случае, дополнительный контекст может обозначать MSB-символ соседнего кортежа 2716 из 2 элементов, соответствующего предыдущей частоте текущего кадра относительно текущего кортежа 2712 из 2 элементов.

В этом случае, модуль 2708 MSB-декодирования может выполнять арифметическое декодирование два раза посредством выражения текущего кортежа 2712 из 2 элементов в качестве двух MSB-символов. Когда арифметическое декодирование выполняется два раза, MSB-символ, который должен быть использован в качестве дополнительного контекста, может быть соседним кортежем 2602 или 2603 из 2 элементов по Фиг.26. Т.е. модуль 2708 MSB-декодирования может определять соседний кортеж 2602 или 2603 из 2 элементов в качестве дополнительного контекста на основе информации контекстного шаблона относительно текущего кортежа 2712 из 2 элементов.

Случай II указывается как нижеприведенный синтаксис, "i" является частотным индексом, который следует в данный момент декодировать. a0, b0 являются MSB-символом кортежей из 2 элементов предыдущей частоты, и a, b являются MSB-символом, который следует в данный момент декодировать.

- IsMSBContext() является функцией, которая возвращает то, используется кодирование кортежа из 2 элементов или кодирование кортежа из 1 элемента с дополнительным MSB-контекстом, в зависимости от pki, в качестве таблицы X+1

- arith_lut() является функцией, которая возвращает индекс таблицы поиска для таблицы накопленных частот, необходимой для того, чтобы декодировать кодовое слово acod_ml[lut][a] или acod_ml[lut][b].

- a0, b0 является старшей битовой плоскостью предыдущего кортежа из 2 элементов в текущем кадре

- m является индексом старшей двухбитовой плоскости кортежа из 2 элементов, где 0<=m<=15

- a, b является кортежем 2 элементов, соответствующим квантованным спектральным коэффициентам

- lg является числом квантованных коэффициентов, которые следует декодировать.

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

- acod_m[][] является арифметическим кодовым словом, необходимым для арифметического декодирования старшей двухбитовой плоскости кортежа из 2 элементов.

- acod_ml[][] является арифметическим кодовым словом, необходимым для арифметического декодирования старшей двухбитовой плоскости кортежа из 1 элемента.

III. Выполнение декодирования для текущего кортежа из 2 элементов на основе контекста кортежа из 2 элементов и дополнительного контекста во всех случаях

Например, модуль 2708 MSB-декодирования может выполнять арифметическое декодирование для MSB-символа текущего кортежа 2712 из 2 элементов на основе контекста кортежа из 2 элементов и дополнительного контекста во всех случаях. Контекст кортежа из 2 элементов и дополнительный контекст описаны, как указано выше, и далее опускаются.

Случай m указывается как нижеприведенный синтаксис. T является частотным индексом, который следует в данный момент декодировать. a0, b0 являются MSB-символом кортежей из 2 элементов предыдущей частоты, и a, b являются MSB-символом, который следует в данный момент декодировать, pki обозначает контекст кортежа из 2 элементов, ctxt обозначает контекстный шаблон MSB, который следует в данный момент декодировать. Если декодированный символ является символом Escape, символ esc декодируется на основе pki, если декодированный символ не является символом Escape, MSB-символ декодируется. A и b декодируется с использованием дополнительного контекста на основе ctxt.

Модуль 2703 декодирования на основе контекстного шаблона может выполнять декодирование для контекстного шаблона. Информация контекстного шаблона может быть передана при декодировании входных сигналов. Контекстный шаблон может быть декодирован посредством схемы арифметического декодирования и передан один раз для каждого кадра. В этом случае, кадр может обозначать один кадр в случае режима FD-кодирования и может обозначать кадр, который может быть декодирован в TCX в суперкадре, в случае режима LPD-кодирования.

Информация контекстного шаблона может быть разделена на область низких частот и область высоких частот, которые должны быть переданы. Например, информация контекстного шаблона может назначаться по-разному в зависимости от частотной области. Информация контекстного шаблона может выражаться как область низких частот и область высоких частот через два бита. В этом случае, четыре случая 0, 1, 2, 3 могут выражаться. Когда информация контекстного шаблона равна 0, как область низких частот, так и область высоких частот могут иметь контекстный шаблон 0, а когда информация контекстного шаблона равна 1, область низких частот может иметь контекстный шаблон 1, а область высоких частот может иметь контекстный шаблон 0. Кроме того, когда информация контекстного шаблона равна 2, область низких частот может иметь контекстный шаблон 0, а область высоких частот может иметь контекстный шаблон 1. Когда информация контекстного шаблона равна 3, как область низких частот, так и область высоких частот могут иметь контекстный шаблон 1.

Например, модуль 2709 LSB-декодирования может выполнять декодирование для оставшихся LSB текущего кортежа 2712 из 2 элементов на основе равномерной вероятности, после того как кодирование выполняется для MSB-символа. Модуль 2709 LSB-декодирования может выполнять декодирование для оставшихся LSB текущего кортежа 2712 из 2 элементов посредством извлечения оставшихся LSB на 2 бита в единице битовой глубины идентичное число раз, когда управляющий код выполняется.

Четыре символа в совокупности могут существовать, и модуль 2709 LSB-декодирования может выполнять арифметическое декодирование для четырех символов.

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

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

Например, предполагается, что при декодировании абсолютного значения в 3 MSB декодируется в 0 перед выполнением декодирования для оставшихся LSB, и оставшиеся LSB в 11 (двоичное число) должны быть декодированы два раза.

Поскольку абсолютное значение, декодированное до настоящего момента, равно 0 при декодировании оставшегося LSB в 1, модуль 2708 LSB-декодирования может декодировать первый оставшийся LSB посредством применения вероятностной модели в случае 0. Поскольку абсолютное значение, декодированное до настоящего момента, равно 1, включая в себя первый оставшийся LSB при декодировании второго оставшегося LSB в 1, модуль 2709 LSB-декодирования может декодировать второй оставшийся LSB посредством применения вероятностной модели в случае отличия от 0.

Согласно другому примеру, модуль 2709 LSB-декодирования может декодировать оставшиеся LSB текущего кортежа 2712 из 2 элементов на основе информации, указывающей то, равно или нет абсолютное значение, декодированное до настоящего момента, 0. В частности, модуль 2709 LSB-декодирования может извлекать оставшиеся LSB текущего кортежа 2712 из 2 элементов, который должен быть в данный момент декодирован в единице битов на два бита. В этом случае, арифметическое декодирование может выполняться с использованием, в качестве контекста, информации, указывающей то, равно или нет абсолютное значение, которое должно быть в данный момент декодировано, 0. Оставшиеся LSB-символы, которые должны быть кодированы, могут представлять четыре случая 00(2), 01(2), 10(2) и 11(2). Поскольку два случая, когда абсолютное значение текущего кортежа из 2 элементов, используемого в качестве контекста, равно 0 или нет, рассматриваются, может быть предусмотрено четыре случая, к примеру, случай, когда два абсолютных значения кортежей из 2 элементов равны 0, случай, когда низкочастотное значение равно 0, и высокочастотное значение не равно 0, случай, когда низкочастотное значение равно 0, и высокочастотное значение равно 0, и случай, когда низкочастотное значение и высокочастотное значение равно 0. Тем не менее, в случае, если как низкочастотное значение, так и высокочастотное значение равно 0, не требуется выполнять декодирование для оставшихся LSB, и тем самым арифметическое декодирование может выполняться с использованием оставшихся трех случаев в качестве контекста. Каждый из декодированных 2 битов, как описано выше, в единице битовой глубины может обозначать 1 бит, который является LSB-значением низкой частоты кортежа из 2 элементов, и обозначать 1 бит, т.е. LSB-значение высокой частоты кортежа из 2 элементов.

Вышеприведенное описание указывается как нижеприведенный синтаксис. Здесь, a, b является абсолютным значением кортежей из 2 элементов, которые следует в данный момент декодировать, r обозначает младший оставшийся бит, который следует декодировать.

- level является уровнем битовых плоскостей, которые следует декодировать помимо старшей двухбитовой плоскости.

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

- a, b является кортежем 2 элементов, соответствующим квантованным спектральным коэффициентам.

- acod_r[][] является арифметическим кодовым словом, необходимым для арифметического декодирования r.

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

Компоненты, не описанные на Фиг.27, могут ссылаться на описания Фиг.11.

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

На этапе S2801, устройство 101 арифметического декодирования может определять то, является или нет текущий кадр кадром сброса. На этапе S2802, когда текущий кадр является кадром сброса, устройство 101 арифметического декодирования может выполнять сброс контекста. На этапе S2803, устройство 101 арифметического декодирования может преобразовывать контекст. В частности, устройство 101 арифметического декодирования может регуляризовать длину предыдущего кадра в качестве длины текущего кадра, чтобы тем самым преобразовывать контекст, так что частотный индекс между двумя кадрами может преобразовываться в случае, если длина текущего кадра отличается от длины предыдущего кадра.

Этапы S2801-S2803 могут выполняться в единице кадра.

На этапе S2804, устройство 101 арифметического декодирования может выполнять декодирование для одного контекстного шаблона, в итоге передаваемого из множества контекстов, которые должны быть использованы при выполнении MSB текущего кортежа из 2 элементов. Контекстный шаблон может ссылаться на описания Фиг.20. На этапе S2805, устройство 101 арифметического декодирования может определять контекст кортежа из 2 элементов для текущего кортежа из 2 элементов. Этап определения контекста кортежа из 2 элементов для текущего кортежа из 2 элементов может ссылаться на описание Фиг.28.

На этапе S2806, устройство 101 арифметического декодирования может выполнять декодирование для управляющего кода. Каждый раз, когда управляющий код декодируется, уровень 0 может быть обновлен, и на этапе S2809, когда значение, отличающееся от управляющего кода, декодируется, устройство 101 арифметического декодирования может выполнять декодирование для MSB.

На этапе S2807, устройство 101 арифметического декодирования может определять MSB-контекст, соответствующий MSB текущего кортежа из 2 элементов, который должен быть в данный момент декодирован. На этапе S2808, устройство 101 арифметического декодирования может определять надлежащую вероятностную модель на основе контекста кортежа из 2 элементов и дополнительного контекста.

На этапе S2808, устройство 101 арифметического декодирования может определять надлежащую вероятностную модель на основе контекста кортежа из 2 элементов и дополнительного контекста.

На этапе S2809, устройство 101 арифметического декодирования может выполнять декодирование для MSB на основе контекста кортежа из 2 элементов. В некоторых случаях, устройство 101 арифметического декодирования может использовать только контекст кортежа из 2 элементов, и в других случаях, устройство 101 арифметического декодирования может использовать как контекст кортежа из 2 элементов, так и дополнительный контекст. На этапе S2810, устройство 101 арифметического декодирования может выполнять декодирование для битов посредством битовой глубины LSB, извлеченного из декодирования управляющего кода. На этапе S2812 устройство 101 арифметического декодирования может обновлять контекст, а на этапе S2813 может увеличивать частотный индекс. Когда декодирование выполняется как для MSB, так и для LSB, устройство 101 арифметического декодирования может выполнять декодирование для информации знака.

На этапе S2815, устройство 101 арифметического декодирования может формировать квантованную выборку.

Вышеописанные способы могут записываться, сохраняться или фиксироваться в одном или более машиночитаемых энергонезависимых носителей хранения данных, которые включают в себя программные инструкции, которые должны быть реализованы посредством компьютера, чтобы инструктировать процессору приводить в исполнение или выполнять программные инструкции. Носители также могут включать в себя, отдельно или в комбинации с программными инструкциями, файлы данных, структуры данных и т.п. Носители и программные инструкции могут быть специально проектированы и созданы или они могут быть вида, известного и доступного для специалистов в областях техники компьютерного программного обеспечения. Примеры машиночитаемых носителей включают в себя магнитные носители, к примеру, жесткие диски, гибкие диски и магнитную ленту; оптические носители, к примеру, диски CD-ROM и DVD; магнитооптические носители, к примеру, оптические диски; и аппаратные устройства, которые специально конфигурируются, чтобы сохранять и выполнять программные инструкции, к примеру, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память и т.п. Машиночитаемые носители также могут быть распределенной сетью, так что программные инструкции сохраняются и выполняются распределенным способом. Программные инструкции могут быть выполнены посредством одного или более процессоров. Машиночитаемые носители также могут быть осуществлены, по меньшей мере, в одной специализированной интегральной схеме (ASIC) или программируемой пользователем вентильной матрице (FPGA), которая выполняет (обрабатывает, аналогично процессору) программные инструкции. Примеры программных инструкций включают в себя как машинный код, к примеру, сформированный посредством компилятора, так и файлы, содержащие код верхнего уровня, который может быть выполнен посредством компьютера с использованием интерпретатора. Описанные аппаратные устройства могут быть выполнены с возможностью выступать в качестве одного или более программных модулей, чтобы выполнять этапы и способы, описанные выше, или наоборот.

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

Похожие патенты RU2649288C2

название год авторы номер документа
УСТРОЙСТВО И СПОСОБ ОСНОВАННОГО НА КОНТЕКСТЕ АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ И УСТРОЙСТВО И СПОСОБ ОСНОВАННОГО НА КОНТЕКСТЕ АРИФМЕТИЧЕСКОГО ДЕКОДИРОВАНИЯ 2010
  • Чоо Ки Хиун
  • Ким Дзунг-Хое
  • Ох Еун Ми
RU2493652C2
ИНИЦИАЛИЗАЦИЯ КОНТЕКСТА ПРИ ЭНТРОПИЙНОМ КОДИРОВАНИИ 2012
  • Георге Валери
  • Бросс Беньямин
  • Кирххоффер Хайнер
  • Марпе Детлеф
  • Нгуйен Тунг
  • Прайсс Маттиас
  • Зикманн Миша
  • Штегеманн Ян
  • Виганд Томас
RU2595934C2
ИНИЦИАЛИЗАЦИЯ КОНТЕКСТА ПРИ ЭНТРОПИЙНОМ КОДИРОВАНИИ 2019
  • Георге, Валери
  • Бросс, Беньямин
  • Кирххоффер, Хайнер
  • Марпе, Детлеф
  • Нгуйен, Тунг
  • Прайсс, Маттиас
  • Зикманн, Миша
  • Штегеманн, Ян
  • Виганд, Томас
RU2755020C2
ИНИЦИАЛИЗАЦИЯ КОНТЕКСТА ПРИ ЭНТРОПИЙНОМ КОДИРОВАНИИ 2021
  • Георге, Валери
  • Бросс, Беньямин
  • Кирххоффер, Хайнер
  • Марпе, Детлеф
  • Нгуйен, Тунг
  • Прайсс, Маттиас
  • Зикманн, Миша
  • Штегеманн, Ян
  • Виганд, Томас
RU2779898C1
ИНИЦИАЛИЗАЦИЯ КОНТЕКСТА ПРИ ЭНТРОПИЙНОМ КОДИРОВАНИИ 2012
  • Георге Валери
  • Бросс Беньямин
  • Кирххоффер Хайнер
  • Марпе Детлеф
  • Нгуйен Тунг
  • Прайсс Маттиас
  • Зикманн Миша
  • Штегеманн Ян
  • Виганд Томас
RU2642373C1
ИНИЦИАЛИЗАЦИЯ КОНТЕКСТА ПРИ ЭНТРОПИЙНОМ КОДИРОВАНИИ 2018
  • Георге Валери
  • Бросс Беньямин
  • Кирххоффер Хайнер
  • Марпе Детлеф
  • Нгуйен Тунг
  • Прайсс Маттиас
  • Зикманн Миша
  • Штегеманн Ян
  • Виганд Томас
RU2699677C2
СОКРАЩЕНИЕ КОЛИЧЕСТВА КОНТЕКСТОВ ДЛЯ КОНТЕКСТНО-АДАПТИВНОГО БИНАРНОГО АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ 2012
  • Чиэнь Вэй-Цзюн
  • Соле Рохальс Хоэль
  • Карчевич Марта
RU2602380C2
СОКРАЩЕНИЕ КОЛИЧЕСТВА КОНТЕКСТОВ ДЛЯ КОНТЕКСТНО-АДАПТИВНОГО БИНАРНОГО АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ 2012
  • Чиэнь Вэй-Цзюн
  • Соле Рохальс Хоэль
  • Карчевич Марта
RU2575398C2
КОДИРОВАНИЕ СПЕКТРАЛЬНЫХ КОЭФФИЦИЕНТОВ СПЕКТРА АУДИОСИГНАЛА 2014
  • Фукс Гийом
  • Нойзингер Маттиас
  • Мультрус Маркус
  • Дела Штефан
RU2638734C2
АУДИОКОДЕР, АУДИОДЕКОДЕР, СПОСОБ ДЛЯ КОДИРОВАНИЯ АУДИОИНФОРМАЦИИ, СПОСОБ ДЛЯ ДЕКОДИРОВАНИЯ АУДИОИНФОРМАЦИИ И КОМПЬЮТЕРНАЯ ПРОГРАММА, ИСПОЛЬЗУЮЩИЕ ОПТИМИЗИРОВАННУЮ ХЭШ-ТАБЛИЦУ 2011
  • Фукс Гийом
  • Суббараман Вигнеш
  • Мултрус Маркус
  • Реттельбах Николаус
  • Хильденбранд Маттиас
  • Вайсс Оливер
  • Триттарт Артур
  • Вармбольд Патрик
RU2568381C2

Иллюстрации к изобретению RU 2 649 288 C2

Реферат патента 2018 года УСТРОЙСТВО И СПОСОБ ОСНОВАННОГО НА КОНТЕКСТЕ АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ И УСТРОЙСТВО И СПОСОБ ОСНОВАННОГО НА КОНТЕКСТЕ АРИФМЕТИЧЕСКОГО ДЕКОДИРОВАНИЯ

Изобретение относится к области кодирования и декодирования аудиосигнала. Техническим результатом является повышение эффективности кодирования. Устройство содержит первый модуль декодирования, реализованный по меньшей мере одним устройством обработки, для определения первого контекста, на основании ранее декодированных спектральных коэффициентов, соседних с текущим кортежем из 2 элементов, который должен быть декодирован, для декодирования старшего бита (MSB) текущего кортежа из 2 элементов, с использованием первой вероятностной модели, полученной из первого контекста; и второй модуль декодирования, реализованный по меньшей мере одним устройством обработки, для определения второго контекста, на основании информации, указывающей, является ли каждый спектральный коэффициент текущего кортежа из 2 элементов, который должен быть декодирован в текущий момент, 0 или не является 0, и для декодирования младшего бита (LSB) текущего кортежа из 2 элементов с использованием второй вероятностной модели, полученной из второго контекста. 1 з.п. ф-лы, 29 ил.

Формула изобретения RU 2 649 288 C2

1. Устройство спектрального бесшумного декодирования, содержащее:

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

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

2. Устройство по п.1, в котором арифметическое декодирование используется для спектрального бесшумного декодирования.

Документы, цитированные в отчете о поиске Патент 2018 года RU2649288C2

Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор 1923
  • Петров Г.С.
SU2005A1
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок 1923
  • Григорьев П.Н.
SU2008A1
US 6400289 B1, 04.06.2002
СПОСОБ И УСТРОЙСТВО ДЛЯ МАСШТАБИРУЕМОГО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ АУДИОСИГНАЛОВ 1997
  • Ким Йеон-Бае
RU2224302C2
RU 97122039 A, 20.11.1999.

RU 2 649 288 C2

Авторы

Чоо Ки Хиун

Ким Дзунг-Хое

Ох Еун Ми

Даты

2018-03-30Публикация

2013-06-27Подача