Устройство и способ основанного на контексте арифметического кодирования и устройство и способ основанного на контексте арифметического декодирования
Иллюстрации
Показать всеИзобретение относится к способам кодирования и декодирования аудиосигнала без потерь. Техническим результатом является повышение эффективности кодирования и снижение требуемого для кодирования объема памяти. Раскрыты устройство и способ основанного на контексте арифметического кодирования, а также устройство и способ основанного на контексте арифметического декодирования. Устройство, основанное на контексте арифметического декодирования может определять контекст текущего кортежа из N элементов, который должен быть декодирован, определять контекст старшего бита (MSB), соответствующий MSB-символу текущего кортежа из N элементов, и определять вероятностную модель с использованием контекста кортежа из N элементов и MSB-контекста. Затем устройство основанного на контексте арифметического декодирования может выполнять декодирование для MSB на основе определенной вероятностной модели и выполнять декодирование для младшего бита (LSB) на основе битовой глубины LSB, извлеченного из процесса декодирования для управляющего кода. 28 н. и 51 з.п. ф-лы, 29 ил.
Реферат
Область техники, к которой относится изобретение
Один или более вариантов осуществления относятся к способу кодирования и декодирования аудиосигнала, а более конкретно, к способу кодирования и декодирования без потерь.
Уровень техники
Кодирование и декодирование аудиосигнала может, в общем, выполняться в частотной области. В качестве характерного примера может быть приведено усовершенствованное кодирование аудио (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 преобразов