СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ АУДИОСИГНАЛОВ
AUDIO SIGNAL ENCODING AND DECODING DEVICE AND METHOD

Настоящая заявка притязает на приоритет предварительной заявки на патент (США) порядковый номер 60/828816, озаглавленной "A FRAMEWORK FOR ENCODING GENERALIZED AUDIO SIGNALS", поданной 10 октября 2006 года, и заявки на патент (США) порядковый номер 60/942984, озаглавленной "METHOD AND APPARATUS FOR ENCODING AND DECODING AUDIO SIGNALS", поданной 8 июня 2007 года, обе из которых назначены правопреемнику этой заявки и содержатся в данном документе по ссылке.
Уровень техники
Область техники, к которой относится изобретение
Настоящее раскрытие, в общем, относится к связи, а более конкретно, к методикам для кодирования и декодирования аудиосигналов.
Уровень техники
Аудиокодеры и декодеры широко используются для различных применений, таких как беспроводная связь, "речь-по-Интернет-протоколу" (VoIP), мультимедиа, цифровое аудио и т.д. Аудиокодер принимает аудиосигнал на входной скорости передачи битов, кодирует аудиосигнал на основе схемы кодирования и формирует кодированный сигнал на выходной скорости передачи битов, которая типично является более низкой (и иногда намного более низкой), чем входная скорость передачи битов. Это дает возможность отправлять или сохранять кодированный сигнал с использованием меньшего числа ресурсов.
Аудиокодер может быть разработан на основе определенных предполагаемых характеристик аудиосигнала и может применять эти характеристики сигнала, чтобы использовать меньшее число битов как возможно, чтобы представлять информацию в аудиосигнале. Эффективность аудиокодера может затем зависеть от того, как близко фактический аудиосигнал соответствует предполагаемым характеристикам, для которых разработан аудиокодер. Производительность аудиокодера может быть относительно плохой, если аудиосигнал имеет отличные характеристики от тех, для которых разработан аудиокодер.
Сущность изобретения
Методики для эффективного кодирования входного сигнала и декодирования кодированного сигнала описываются в данном документе. В одной схеме обобщенный кодер может кодировать входной сигнал (к примеру, аудиосигнал) на основе, по меньшей мере, одного детектора и нескольких кодеров. По меньшей мере, один детектор может содержать детектор активности сигналов, детектор шумоподобных сигналов, детектор разреженности, какой-либо другой детектор или их комбинацию. Несколько кодеров могут содержать кодер молчания, кодер шумоподобных сигналов, кодер временной области, по меньшей мере, один кодер области преобразования, какой-либо другой кодер или их комбинацию. Характеристики входного сигнала могут быть определены на основе, по меньшей мере, одного детектора. Кодер может быть выбран из числа нескольких кодеров на основе характеристик входного сигнала. Входной сигнал затем может быть кодирован на основе выбранного кодера. Входной сигнал может содержать последовательность кадров. Для каждого кадра, могут быть определены характеристики сигнала кадра, кодер может быть выбран для кадра на основе его характеристик и кадр может быть кодирован на основе выбранного кодера.
В другой схеме обобщенный кодер может кодировать входной сигнал на основе детектора разреженности и нескольких кодеров для нескольких областей. Разреженность входного сигнала в каждой из нескольких областей может быть определена. Кодер может быть выбран из числа нескольких кодеров на основе разреженности входного сигнала в нескольких областях. Входной сигнал затем может быть кодирован на основе выбранного кодера. Несколько областей могут включать в себя временную область и область преобразования. Кодер временной области может быть выбран, чтобы кодировать входной сигнал во временной области, если входной сигнал считается более разреженным во временной области, чем области преобразования. Кодер области преобразования может быть выбран, чтобы кодировать входной сигнал в области преобразования (к примеру, частотной области), если входной сигнал считается более разреженным в области преобразования, чем временной области.
В еще одной схеме детектор разреженности может выполнять обнаружение разреженности преобразованием первого сигнала в первой области (к примеру, временную область), чтобы получить второй сигнал во второй области (к примеру, области преобразования). Первый и второй параметры могут быть определены на основе энергии значений/компонентов в первом и втором сигналах. По меньшей мере, один подсчет также может быть определен на основе предшествующих объявлений первого сигнала более разреженным и предшествующих объявлений второго сигнала более разреженным. Является ли первый сигнал или второй сигнал более разреженным, может быть определено на основе первого и второго параметров и, по меньшей мере, одного подсчета, если он используется.
Далее более подробно описаны различные аспекты и признаки изобретения.
Краткое описание чертежей
Фиг.1 показывает блок-схему обобщенного аудиокодера.
Фиг.2 показывает блок-схему детектора разреженности.
Фиг.3 показывает блок-схему другого детектора разреженности.
Фиг.4A и 4B показывают графики речевого сигнала и инструментального музыкального сигнала во временной области и области преобразования.
Фиг.5A и 5B показывают графики для коэффициентов уплотнения временной области и области преобразования для речевого сигнала и инструментального музыкального сигнала.
Фиг.6A и 6B показывают процесс для выбора или кодера временной области, или кодера области преобразования для аудиокадра.
Фиг.7 показывает процесс для кодирования входного сигнала с обобщенным кодером.
Фиг.8 показывает процесс для кодирования входного сигнала с кодерами для нескольких областей.
Фиг.9 показывает процесс для выполнения обнаружения разреженности.
Фиг.10 показывает блок-схему обобщенного аудиодекодера.
Фиг.11 показывает блок-схему устройства беспроводной связи.
Подробное описание изобретения
Различные типы аудиокодеров могут использоваться, чтобы кодировать аудиосигналы. Некоторые аудиокодеры могут допускать кодирование различных классов аудиосигналов, таких как речь, музыка, тоны и т.д. Эти аудиокодеры могут упоминаться как универсальные аудиокодеры. Некоторые другие аудиокодеры могут быть предназначены для конкретных классов аудиосигналов, таких как речь, музыка, фоновый шум и т.д. Эти аудиокодеры могут упоминаться как конкретные для класса сигналов аудиокодеры, специализированные аудиокодеры и т.д. В общем, конкретный для класса сигналов аудиокодер, который предназначен для конкретного класса аудиосигналов, может быть способен более эффективно кодировать аудиосигнал в своем классе, чем универсальный аудиокодер. Конкретные для класса сигналов аудиокодеры могут быть способны достигать улучшенного кодирования источников аудиосигналов конкретных классов на скоростях передачи битов, равных минимум 8 килобитов в секунду (Кбит/с).
Обобщенный аудиокодер может использовать набор конкретных для класса сигналов аудиокодеров для того, чтобы эффективно кодировать обобщенные аудиосигналы. Обобщенные аудиосигналы могут принадлежать различным классам и/или могут динамически изменять класс с течением времени. Например, аудиосигнал может содержать главным образом музыку в некоторых интервалах времени, главным образом речь в некоторых других интервалах времени, главным образом шум в еще некоторых других интервалах времени и т.д. Обобщенный аудиокодер может быть способен эффективно кодировать этот аудиосигнал с различными надлежащим образом выбранными конкретными для класса сигналов аудиокодерами в различных интервалах времени. Обобщенный аудиокодер может быть способен достигать хорошей производительности кодирования для аудиосигналов различных классов и/или динамически изменяющихся классов.
Фиг.1 показывает блок-схему схемы обобщенного аудиокодера 100, который допускает кодирование аудиосигнала с различными и/или изменяющимися характеристиками. Аудиокодер 100 включает в себя набор детекторов 110, селектор 120, набор конкретных для класса сигналов аудиокодеров 130 и мультиплексор (Mux) 140. Детекторы 110 и селектор 120 предоставляют механизм, чтобы выбирать соответствующий конкретный для класса аудиокодер на основе характеристик аудиосигнала. Различные конкретные для класса сигналов аудиокодеры также могут упоминаться как различные режимы кодирования.
В рамках аудиокодера 100, детектор 112 активности сигналов может обнаруживать активность в аудиосигнале. Если активность сигнала не обнаружена, как определено на этапе 122, то аудиосигнал может быть кодирован на основе кодера 132 молчания, который может быть эффективным при кодировании главным образом шума.
Если активность сигнала обнаружена, то детектор 114 может обнаруживать периодические и/или шумоподобные характеристики аудиосигнала. Аудиосигнал может иметь шумоподобные характеристики, если он не является периодическим, не имеет прогнозируемой структуры или шаблона, не имеет фундаментального периода (основного тона) и т.д. Например, звук буквы "s" может рассматриваться как имеющий шумоподобные характеристики. Если аудиосигнал имеет шумоподобные характеристики, как определено на этапе 124, то аудиосигнал может быть кодирован на основе кодера 134 шумоподобных сигналов. Кодер 134 может реализовать методику линейного предсказания с шумовым возбуждением (NELP) и/или какую-либо другую методику кодирования, которая может эффективно кодировать сигнал, имеющий шумоподобные характеристики.
Если аудиосигнал не имеет шумоподобных характеристик, то детектор 116 разреженности может анализировать аудиосигнал, чтобы определять, демонстрирует ли сигнал разреженность во временной области или в одной или более областей преобразования. Аудиосигнал может быть преобразован из временной области в другую область (к примеру, частотную область) на основе преобразования, и область преобразования упоминается как область, в которую преобразовывается аудиосигнал. Аудиосигнал может быть преобразован в различные области преобразования на основе различных типов преобразования. Разреженность упоминается как возможность представлять информацию с малым числом битов. Аудиосигнал может рассматриваться как разреженный в данной области, если только малое число значений или компонентов для сигнала в этой области содержат большую часть энергии или информации сигнала.
Если аудиосигнал разряжен во временной области, как определено на этапе 126, то аудиосигнал может быть кодирован на основе кодера 136 временной области. Кодер 136 может реализовать методику линейного предсказания с шумовым возбуждением (NELP) и/или какую-либо другую методику кодирования, которая может эффективно кодировать сигнал, разряженный во временной области. Кодер 136 может определять и кодировать остатки долгосрочных и краткосрочных предсказаний аудиосигнала. Иначе, если аудиосигнал разрежен в одной из областей преобразования, и/или эффективность кодирования лучше в одной из областей преобразования, чем временной области и других областей преобразования, то аудиосигнал может быть кодирован на основе кодера 138 области преобразования. Кодер области преобразования - это кодер, который кодирует сигнал, представление которого в области преобразования разрежено, в области преобразования. Кодер 138 может реализовать модифицированное дискретное косинусное преобразование (MDCT), набор гребенок фильтров, синусоидальное моделирование и/или какую-либо другую методику кодирования, которая может эффективно представлять разреженные коэффициенты преобразования сигнала.
Мультиплексор 140 может принимать выводы кодеров 132, 134, 136 и 138 и может предоставлять вывод одного кодера как кодированный сигнал. Различные кодеры 132, 134, 136 и 138 могут быть выбраны в различных интервалах времени на основе характеристик аудиосигнала.
Фиг.1 показывает конкретную схему обобщенного аудиокодера 100. В общем, обобщенный аудиокодер может включать в себя любое число детекторов и любой тип детектора, который может использоваться, чтобы обнаруживать любые характеристики аудиосигнала. Обобщенный аудиокодер также может включать в себя любое число кодеров и любой тип кодера, который может использоваться, чтобы кодировать аудиосигнал. Некоторые примерные детекторы и кодеры приведены выше и известны специалистам в данной области техники. Детекторы и кодеры могут быть расположены по-разному. Фиг.1 показывает один примерный набор детекторов и кодеров в одной примерной компоновке. Обобщенный аудиокодер может включать в себя меньшее, большее число и/или другие кодеры и детекторы, чем показано на Фиг.1.
Аудиосигнал может быть обработан в единицах кадров. Кадр может включать в себя данные, собранные за предварительно определенный интервал времени, к примеру 10 миллисекунд (мс), 20 мс и т.д. Кадр также может включать в себя предварительно определенное число выборок с предварительно определенной частотой дискретизации. Кадр также может упоминаться как пакет, блок данных, единица данных и т.д.
Обобщенный аудиокодер 100 может обрабатывать каждый кадр так, как показано на Фиг.1. Для каждого кадра детектор 112 активности сигналов может определять, содержит ли этот кадр молчание или активность. Если кадр молчания обнаружен, то кодер 132 молчания может кодировать кадр и предоставлять кодированный кадр. Иначе, детектор 114 может определять, содержит ли кадр шумоподобный сигнал, и если да, кодер 134 может кодировать кадр. Иначе, любой кодер 136 или 138 может кодировать кадр на основе обнаружения разреженности в кадре детектором 116. Обобщенный аудиокодер 100 может выбирать соответствующий кодер для каждого кадра, чтобы максимизировать эффективность кодирования (к примеру, достигать хорошего качества восстановления при низких скоростях передачи в битах) при активации бесшовного перехода между различными кодерами.
Хотя описание ниже описывает детекторы разреженности, которые активируют выбор между временной областью и областью преобразования, схема ниже может быть обобщена, чтобы выбирать одну область из числа временной области и любого числа областей преобразования. Аналогично, кодеры в обобщенных аудиокодерах могут включать в себя любое число и любой тип кодеров области преобразования, один из которых может быть выбран, чтобы кодировать сигнал или кадр сигнала.
В схеме, показанной на Фиг.1, детектор 116 разреженности может определять, разрежен ли аудиосигнал во временной области или области преобразования. Результат этого определения может использоваться, чтобы выбирать кодер 136 временной области или кодер 138 области преобразования для аудиосигнала. Поскольку разреженная информация может быть представлена с меньшим числом битов, критерий разреженности может использоваться, чтобы выбирать эффективный кодер для аудиосигнала. Разреженность может быть обнаружена по-разному.
Фиг.2 показывает блок-схему детектора 116a разреженности, который является одной схемой детектора 116 разреженности на Фиг.1. В этой схеме детектор 116a разреженности принимает аудиокадр и определяет, является ли аудиокадр более разреженным во временной области или области преобразования.
В схеме, показанной на Фиг.2, блок 210 может выполнять анализ кодирования с линейным предсказанием (LPC) в окрестности текущего аудиокадра и предоставлять кадр остатков. Окрестность типично включает в себя текущий аудиокадр и дополнительно может включать в себя предшествующие и/или будущие кадры. Например, блок 210 может извлекать предсказанный кадр на основе выборок только в текущем кадре или в текущем кадре и одном или более предшествующих кадров, или в текущем кадре и одном или более будущих кадров, или в текущем кадре, одном или более предшествующих кадров и одном или более будущих кадров и т.д. Предсказанный кадр также может быть извлечен на основе одинакового или различного числа выборок в различных кадрах, к примеру, 160 выборок из текущего кадра, 80 выборок из следующего кадра и т.д. В любом случае блок 210 может вычислять разность между текущим аудиокадром и предсказанным кадром, чтобы получать остаточный кадр, содержащий разности между текущими и предсказанными кадрами. Разности также упоминаются как остатки, ошибки предсказания и т.д.
Текущий аудиокадр может содержать K выборок и может быть обработан блоком 210, чтобы получить остаточный кадр, содержащий K остатков, при этом K может быть любым целочисленным значением. Блок 220 может преобразовать остаточный кадр (к примеру, на основе такого же преобразования, используемого кодером 138 области преобразования на Фиг.1), чтобы получить преобразованный кадр, содержащий K коэффициентов.
Блок 212 может вычислять квадратную величину или энергию каждого остатка в остаточном кадре следующим образом:
уравнение (1)
k-тый
где  - это комплекснозначный остаток в остаточном кадре, и
k
|
k-того
2
|xявляется квадратной величиной или энергией остатка.
Блок 212 может фильтровать остатки и затем вычислять энергию фильтрованных остатков. Блок 212 также может сглаживать и/или повторно дискретизировать значения остаточной энергии. В любом случае блок 212 может предоставлять N значений остаточной энергии во временной области, где N≤K.
Блок 214 может сортировать N значений остаточной энергии в порядке убывания следующим образом:
уравнение (2)
X
|
X
|
X
|
1
k
2
k
N
k
k
2
2
2
2
где  - это наибольшее значение |x,  - это второе по величине значение |xи т.д., а  - это наименьшее значение |xиз N значений |x|из блока 212.
Блок 216 может суммировать N значений остаточной энергии, чтобы получить полную остаточную энергию. Блок 216 также может накапливать N отсортированных значений остаточной энергии, по одному значению энергии за раз, до тех пор пока накопленная остаточная энергия не превышает предварительно определенный процент полной остаточной энергии, следующим образом:
уравнение (3a)
уравнение (3b)
E
η
N
total,X
T
где  - это полная энергия всех N значений остаточной энергии,  - это предварительно определенный процент, к примеру, η=70 или какому-либо другому значению, а  - это минимальное число значений остаточной энергии с накопленной энергией, превышающей η процентов полной остаточной энергии.
Блок 222 может вычислять квадратную величину или энергию каждого коэффициента в преобразованном кадре следующим образом:
уравнение (4)
k-тый
где  - это коэффициент в преобразованном кадре, и
k
2
k-того
|y| - это квадратная величина или энергия коэффициента.
Блок 222 может оперировать коэффициентами в преобразованном кадре таким же образом, что и блок 212. Например, блок 222 может сглаживать и/или повторно дискретизировать значения энергии коэффициентов. Блок 222 может предоставлять N значений энергии коэффициентов.
Блок 224 может сортировать N значений энергии коэффициентов в порядке убывания, следующим образом:
уравнение (5)
Y
-
Y
k
2
k
N
k
k
2
2
2
2
где  - этонаибольшее значение |y|,  - это второе по значение величине |y| и т.д., а Y - это наименьшее значение |y|из N значений |y| из блока 222.
Блок 226 может суммировать N значений энергии коэффициентов, чтобы получить полную энергию коэффициентов. Блок 226 также может накапливать N отсортированных значений энергии коэффициентов, по одному значению энергии за раз, до тех пор пока накопленная энергия коэффициентов не превышает предварительно определенный процент полной энергии коэффициентов, следующим образом:
уравнение (6a)
уравнение (6b)
E
N
total,Y
M
где  - это полная энергия всех N значений энергии коэффициентов, и  - это минимальное число значений энергии коэффициентов с накопленной энергией, превышающей η процентов полной энергии коэффициентов.
Блоки 218 и 228 могут вычислять коэффициенты уплотнения для временной области и области преобразования, соответственно, следующим образом:
уравнение (7a)
уравнение (7b)
C
(i)
C
(i
T
M
где является коэффициентом уплотнения для временной области, а ) является коэффициентом уплотнения для области преобразования.
C
(i)
i
C
(i)
C
(i)
i
C
(i)
T
T
M
M
служит признаком совокупной энергии верхних  значений остаточной энергии. может рассматриваться как функция накопленной энергии для временной области. служит признаком совокупной энергии верхних значений энергии коэффициентов. может рассматриваться как функция накопленной энергии для области преобразования.
D(i)
Блок 238 может вычислять параметр дельты на основе коэффициентов уплотнения следующим образом:
D(i)=C
(i)-C
(i)
M
T
уравнение (8)
N
N
D(i)
N
, N
, D(i)
T
M
T
M
Модуль 240 решения может принимать параметры  и  из блоков 216 и 226, соответственно, параметр дельты из блока 238 и, возможно, другую информацию. Модуль 240 решения может выбирать или кодер 136 временной области или кодер 138 области преобразования для текущего кадра на основе и/или другой информации.
В одной схеме модуль 240 решения может выбирать кодер 136 временной области или кодер 138 области преобразования для текущего кадра следующим образом:
N
<(N
-Q
)
T
M
1
Если , то выбрать кодер 136 временной области, уравнение (9a)
N
N
-Q
)
M
T
2
Если <(, то выбрать кодер 138 области преобразования, уравнение (9b)
Q
Q
Q
≥
Q
≥
1
2
1
2
где  и  - это предварительно определенные пороговые значения, к примеру 0 и 0.
N
N
N
N
T
T
M
M,
может служить признаком разреженности остаточного кадра во временной области с меньшим значением , соответствующее более разреженному остаточному кадру, и наоборот. Аналогично, , может служить признаком разреженности преобразованного кадра в области преобразования с меньшим значением  соответствующее более разреженному преобразованному кадру, и наоборот. Уравнение (9a) выбирает кодер 136 временной области, если представление временной области остатков более разрежено, а уравнение (9b) выбирает кодер 138 области преобразования, если представление области преобразования остатков более разрежено.
N
=N
, Q
≥
Q
≥
D(i)
D(i)
T
M
1
2
Выбор в наборе уравнений (9), может быть неопределенным для текущего кадра. Это может иметь место, к примеру, если 0 и/или 0. В этом случае один или более дополнительных параметров, таких как , могут использоваться, чтобы определять, выбрать ли кодер 136 временной области или кодер 138 области преобразования для текущего кадра. Например, если одного набора уравнений (9) недостаточно, чтобы выбрать кодер, то кодер 138 области преобразования может быть выбран, если больше нуля, и кодер 136 временной области может быть выбран в противном случае.
Q
Q
Q
Q
N
N
.
Q
Q
Q
Q
Q
Q
Q
Q
N
N
Q
,
Q
-
N
N
Q
,
Q
Q
Q
1
2
1
2
T
M
1
2
1
2
2
1
1
2
M
T
2
2
T
M
1
1
1
2
Пороговые значения  и  могут использоваться, чтобы достигать различных результатов. Например, пороговые значения  и/или  могут быть выбраны, чтобы учитывать разности или смещение (если есть) в вычислении  и Пороговые значения  и/или  также могут быть использованы, чтобы (i) предпочесть кодер 136 временной области кодеру 138 области преобразования использованием небольшого значения  и/или большого значения , или (ii) предпочесть кодер 138 области преобразования кодеру 136 временной области использованием небольшого значения  и/или большого значения . Пороговые значения  и/или  также могут использоваться, чтобы достигать гистерезиса в выборе кодера 136 или 138. Например, если кодер 136 временной области выбран для предыдущего кадра, то кодер 138 области преобразования может быть выбран для текущего кадра, если меньше чем  на где  это величина гипотезы в переходе от кодера 136 к кодеру 138. Аналогично, если кодер 138 области преобразования выбран для предыдущего кадра, то кодер 136 временной области может быть выбран для текущего кадра, если  меньше чем  на где  - это величина гипотезы в переходе от кодера 138 к кодеру 136. Гипотеза может использоваться, чтобы изменять кодер только, если характеристики сигнала изменились на достаточную величину, где достаточная величина может быть задана соответствующими вариантами значений  и .
Q
Q
Q
Q
, Q
Q
3
4
5
3
4
5
В другой схеме модуль 240 решения может выбирать кодер 136 временной области или кодер 138 области преобразования для текущего кадра на основе начальных решений для текущих и предшествующих кадров. В каждом кадре модуль 240 решения может принимать начальное решение использовать кодер 136 временной области или кодер 138 области преобразования для данного кадра, к примеру, как описано выше. Модуль 240 решения затем может переключаться с одного кодера на другой кодер на основе правила выбора. Например, модуль 240 решения может переключаться на другой кодер, только если новые кадры  предпочитают переключение, если  из  новых кадров предпочитают переключение и т.д., где  и  могут быть надлежащим образом выбранными значениями. Модуль 240 решения может использовать текущий кодер для текущего кадра, если переключение не делается. Эта схема может предоставлять гипотезу времени и не допустить непрерывного переключения между кодерами в последовательных кадрах.
C
(i)
C
(i)
T
M
Фиг.3 показывает блок-схему детектора 116b разреженности, который является другой схемой детектора 116 разреженности на Фиг.1. В этой схеме детектор 116b разреженности включает в себя блоки 210, 212, 214, 218, 220, 222, 224 и 228, которые работают так, как описано выше для Фиг.2, чтобы вычислять коэффициент уплотнения для временной области и коэффициент уплотнения для области преобразования.
C
(i) ≥C
(i)
C
(i)≥C
(i),
C
(i)
C
(i)
T
M
M
T
T
M
Блок 330 может определять число раз, когда , и число раз, когда для всех значений и  вплоть до предварительно определенного значения следующим образом:
уравнение (10a)
уравнение (10b)
K
T
где  - это параметр разреженности временной области,
К
М
- это параметр разреженности области преобразования, и
τ
K
К
.
T
М
- это процент полной энергии, учитываемой, чтобы определять  и
Кардинальное число набора - это число элементов в наборе.
C
(i)
C
(i)
i =
C
K
.
T
M
T
T
В уравнении (10a) каждый коэффициент уплотнения временной области сравнивается с соответствующим коэффициентом уплотнения области преобразования, для 1, ..., N и (i)≤τ. Для всех коэффициентов уплотнения временной области, которые сравниваются, число коэффициентов уплотнения временной области, которые больше чем или равны соответствующим коэффициентам уплотнения области преобразования, предоставляется как
C
(i)
C
(i)
i = 1,
C
(i)≤τ.
К
.
M
T
M
М
В уравнении (10b) каждый коэффициент уплотнения области преобразования сравнивается с соответствующим коэффициентом уплотнения временной области, для ..., N и Для всех коэффициентов уплотнения области преобразования, которые сравниваются, число коэффициентов уплотнения области преобразования, которые больше чем или равны соответствующим коэффициентам уплотнения временной области, предоставляется как
T
M
Блок 332 может определять параметры Δи Δ следующим образом:
уравнение (11a)
уравнение (11b)
K
C
(i)
C
(i)
C
(i)
C
(i)
C
(i)>C
(i)
К
C
(i)
C
(i),
C
(i)
C
(i)
C
(i)>C
(i).
T
T
M
T
T
M
T
M
М
M
T
M
M
T
M
T
служит признаком того, сколько раз соответствует или превышает , а Δ служит признаком совокупной величины, на которую превышает , когда .служит признаком того, сколько раз соответствует или превышает и Δслужит признаком совокупной величины, на которую превышает , когда
T
M
T
M
T
M
T
M
, K
, Δ
H
H
.
H
H
Модуль 340 решения может принимать параметры K и Δ от блоков 330 и 332 и может выбирать либо кодер 136 временной области, либо кодер 138 области преобразования для текущего кадра. Модуль 340 решения может сохранять подсчет  предысторий временной области и подсчет  предысторий области преобразованияПодсчет  предысторий временной области может быть увеличен каждый раз, когда кадр считается более разреженным во временной области, и уменьшен каждый раз, когда кадр считается более разреженным в области преобразования. Подсчет  предысторий области преобразования может быть увеличен каждый раз, когда кадр считается более разреженным в области преобразования, и уменьшен каждый раз, когда кадр считается более разреженным во временной области.
Фиг.4A показывает графики примерного речевого сигнала во временной области и области преобразования, к примеру, области MDCT. В этом примере речевой сигнал имеет относительно немного больших значений во временной области, но много больших значений в области преобразования. Этот речевой сигнал более разрежен во временной области и может быть более эффективно кодирован на основе кодера 136 временной области.
Фиг.4B показывает графики примерного инструментального музыкального сигнала во временной области и области преобразования, к примеру области MDCT. В этом примере инструментальный музыкальный сигнал имеет много больших значений во временной области, но меньше больших значений в области преобразования. Этот инструментальный музыкальный сигнал более разрежен в области преобразования и может быть более эффективно кодирован на основе кодера 138 области преобразования.
C
(i)
C
(i)
T
M
Фиг.5A показывает график 510 для коэффициента уплотнения временной области и график 512 для коэффициента уплотнения области преобразования для речевого сигнала, показанного на Фиг.4A. Графики 510 и 512 указывают, что данный процент полной энергии может быть зафиксирован меньшим числом значений временной области, чем значений области преобразования.
C
(i)
C
(i)
T
M
Фиг.5B показывает график 520 для коэффициента уплотнения временной области и график 522 для коэффициента уплотнения области преобразования для инструментального музыкального сигнала, показанного на Фиг.4B. Графики 520 и 522 указывают, что данный процент полной энергии может быть зафиксирован меньшим числом значений области преобразования, чем значений временной области.
Z
Z
H
Z
, Z
, Z
-
H
U
, U
U
-
H
U
, U
U
-
H
D
, D
D
H
D
, D
D
-
H
V
, V
, V
V
H
H
.
T1
T2
T
M1
M2
M3
M
T1
T2
T3
T
M1
M2
M3
M
T1
T2
T3
T
M1
M2
M3
M
1
2
3
4
T
M
Фиг.6A и 6B показывают блок-схему последовательности операций схемы процесса 600 для выбора или кодера 136 временной области или кодера 138 области преобразования для аудиокадра. Процесс 600 может использоваться для детектора 116b разреженности на Фиг.3. В последующем описании,  и  - это пороговые значения, с которыми подсчет  предысторий временной области сравнивается, а это пороговые значения, с которым подсчет  предысторий области преобразования сравнивается.  и  это величины приращения для , когда выбран кодер 136 временной области, а  и  это величины приращения для , когда выбран кодер 138 области преобразования. Величины приращения могут быть одинаковыми или различными значениями.  и  - это величины декремента для , когда выбран кодер 138 области преобразования, а  и  это величины декремента для , когда выбран кодер 136 временной области. Величины декремента могут быть одинаковыми или различными значениями.  и  - это пороговые значения, используемые, чтобы решать, обновлять ли или нет подсчеты  и  предысторий
H
=
H
=
, К
, Δ
T
M
T
М
T
M
На Фиг.6A, аудиокадр, чтобы кодировать, первоначально принимается (этап 612). Совершается определение, являлся ли предыдущий аудиокадр кадром молчания или шумоподобным кадром сигнала (этап 614). Если ответ "Да", то подсчеты предысторий временной области и области преобразования сбрасываются как 0 и 0 (этап 616). Если ответ "Нет" для этапа 614 и также после этапа 616, параметры K и Δ вычисляются для текущего аудиокадра так, как описано выше (этап 618).
K
>К
H
<Z
K
>К
H
<Z
T
М
M
M1
T
М
M
M1
Затем совершается определение того, что  и  (этап 620). Условие  может указывать, что текущий аудиокадр более разрежен во временной области, чем в области преобразования. Условие  может указывать, что предшествующие аудиокадры не строго разрежены в области преобразования. Если ответ "Да" для этапа 620, то кодер 136 временной области выбирается для текущего аудиокадра (этап 622). Подсчеты предысторий могут затем быть обновлены на этапе 624 следующим образом:
H
=H
+U
H
=H
-D
T
T
T1
M
M
M1
и  уравнение (12)
К
>K
H
>Z
К
>K
H
>Z
H
>Z
М
T
M
M2
М
T
M
M2
T
T1
Если ответ "Нет" для этапа 620, то совершается определение того, что  и  (этап 630). Условие  может указывать, что текущий аудиокадр более разрежен в области преобразования, чем временной области. Условие  может указывать, что предшествующие аудиокадры разрежены в области преобразования. Набор условий для этапа 630 помогает смещать решение к выбору кодера 138 временной области более часто. Второе условие на этапе может быть заменено , чтобы совпасть с этапом 620. Если ответ "Да" для этапа 630, то кодер 138 области преобразования выбирается для текущего аудиокадра (этап 632). Подсчеты предысторий могут затем быть обновлены на этапе 634 следующим образом:
H
=H
+U
H
=H
-D
M
M
M1
T
T
T1
и  уравнение (13).
После этапов 624 и 634 процесс завершается. Если ответ "Нет" для этапа 630, то процесс переходит к Фиг.6B.
K
=К
>Δ
H
>Z
>Δ
)>V
T
М
M
T
M
M2
M
T
M
T
1
Фиг.6B может быть достигнут, если  или если условия подсчета предысторий на этапах 620 и/или 630 не удовлетворяются. Первоначально совершается определение того, что Δ и  (этап 640). Условие Δ может указывать, что текущий аудиокадр более разрежен в области преобразования, чем во временной области. Если ответ "Да" для этапа 640, то кодер 138 области преобразования выбирается для текущего аудиокадра (этап 642). Затем совершается определение того, что (Δ-Δ(этап 644). Если ответ "Да", то подсчеты предысторий могут быть обновлены на этапе 646 следующим образом:
H
=H
+U
H
=H
-D
M
M
M2
T
T
T2
и  уравнение (14)
M
T
T
T1
T
M
2
>Δ
H
>Z
-Δ
)>V
Если ответ "Нет" на этапе 640, то совершается определение того, что Δ и  (этап 650). Если ответ "Да" для этапа 650, то кодер 136 временной области выбирается для текущего аудиокадра (этап 652). Затем совершается определение того, что (Δ (этап 654). Если ответ "Да", то подсчеты предысторий могут быть обновлены на этапе 656 следующим образом:
H
=H
+U
H
=H
-D
T
T
T2
M
M
M2
и  уравнение (15)
T
M
T
T2
T
M
T
M
3
H
>Z
>Δ
)>V
Если ответ "Нет" для этапа 650, то совершается определение того, что Δ>Δ и  (этап 660). Условие Δ может указывать, что текущий аудиокадр более разрежен во временной области, чем области преобразования. Если ответ "Да" для этапа 660, то кодер 136 временной области выбирается для текущего аудиокадра (этап 662). Затем совершается определение того, что (Δ-Δ (этап 664). Если ответ "Да", то подсчеты предысторий могут быть обновлены на этапе 666 следующим образом:
H
=H
+U
H
=H
-D
T
T
T3
M
M
M3
и  уравнение (16)
T
M
M
M3
M
T
4
H
>Z
V
Если ответ "Нет" для этапа 660, то совершается определение того, что Δ>Δ и  (этап 670). Если ответ "Да" для этапа 670, то кодер 138 области преобразования выбирается для текущего аудиокадра (этап 672). Затем совершается определение того, что (Δ-Δ)> (этап 674). Если ответ "Да", то подсчеты предысторий могут быть обновлены на этапе 676 следующим образом:
H
H
+U
H
=H
-D
M
M
M3
T
T
T3
= и  уравнение (17)
Если ответ "Нет" для этапа 670, то кодер по умолчанию может быть выбран для текущего аудиокадра (этап 682). Кодер по умолчанию может быть кодером, используемым в предыдущем аудиокадре, указанным кодером (к примеру, или кодером 136 временной области или кодером 138 области преобразования) и т.д.
Z
=Z
=Z
=Z
=
U
=U
=
D
=D
=
V
=V
=V
=V
U
=D
=
M1
M2
T1
T2
T1
M1
T1
M1
1
2
3
4
M2
T2
Различные пороговые значения используются в процессе 600, чтобы предоставлять возможность настройки выбора кодера 136 временной области или кодера 138 области преобразования. Пороговые значения могут быть выбраны, чтобы предпочесть один кодер другому кодеру в определенных ситуациях. В одной примерной схеме, 4, 2, 1, =1 и 1. Другие пороговые значения также могут использоваться для процесса 600.
Фиг.2-6B показывают несколько схем детектора 116 разреженности на Фиг.1. Обнаружение разреженности также может быть выполнено другими способами, к примеру с другими параметрами. Детектор разреженности может быть разработан со следующими целями:
- Обнаружение разреженности на основе характеристик сигнала, чтобы выбирать кодер 136 временной области или кодер 138 области преобразования.
- Хорошее обнаружение разреженности для кадров вокализованных речевых сигналов, к примеру низкая вероятность выбора кодера 138 области преобразования для кадра вокализованных речевых сигналов.
- Для аудиокадров, извлеченных из музыкальных инструментов, таких как скрипка, кодер 138 области преобразования должен быть выбран в течение высокого процентного отношения по времени.
- Минимизация частых переключений между кодером 136 временной области и кодером 138 области преобразования, чтобы уменьшить артефакты.
- Низкая сложность и предпочтительно операция без обратной связи.
- Надежная производительность через различные характеристики сигнала и условия шума.
Фиг.7 показывает блок-схему последовательности операций процесса 700 для кодирования входного сигнала (к примеру, аудиосигнала) с обобщенным кодером. Характеристики входного сигнала могут быть определены на основе, по меньшей мере, одного детектора, который может содержать детектор активности сигналов, детектор шумоподобных сигналов, детектор разреженности, какой-либо другой детектор или их комбинацию (этап 712). Кодер может быть выбран из числа нескольких кодеров на основе характеристик входного сигнала (этап 714). Несколько кодеров могут содержать кодер молчания, кодер шумоподобных сигналов (к примеру, NELP-кодер), кодер временной области (к примеру, CELP-кодер), по меньшей мере, один кодер области преобразования (к примеру, MDCT-кодер), какой-либо другой кодер или их комбинацию. Входной сигнал может быть кодирован на основе выбранного кодера (этап 716).
Для этапов 712 и 714, может быть обнаружена активность во входном сигнале, и кодер молчания может быть выбран, если активность не обнаружена во входном сигнале. Имеет ли входной сигнал характеристики шумоподобного сигнала, может быть определено, и кодер шумоподобных сигналов может быть выбран, если входной сигнал имеет характеристики шумоподобного сигнала. Разреженность входного сигнала во временной области и, по меньшей мере, одна область преобразования для, по меньшей мере, одного кодера области преобразования может быть определена. Кодер временной области может быть выбран, если входной сигнал считается более разреженным во временной области, чем, по меньшей мере, одной области преобразования. Один из, по меньшей мере, одного кодера области преобразования может быть выбран, если входной сигнал считается более разреженным в соответствующей области преобразования, чем временной области и других областях преобразования, если они имеют место. Обнаружение сигнала и выбор кодера могут быть выполнены в различном порядке.
Входной сигнал может содержать последовательность кадров. Характеристики каждого кадра могут быть определены, и кодер может быть выбран для кадра на основе его характеристик сигнала. Каждый кадр может быть кодирован на основе кодера, выбранного для этого кадра. Конкретный кодер может быть выбран для данного кадра, если этот кадр и предварительно определенное число предшествующих кадров указывают переключение на этот конкретный кодер. В общем, выбор кодера для каждого кадра может быть основан на любых параметрах.
Фиг.8 показывает блок-схему последовательности операций процесса 800 для кодирования входного сигнала, к примеру, аудиосигнала. Разреженность входного сигнала в каждой из нескольких областей может быть определена, к примеру, на основе любой из схем, описанных выше (этап 812). Кодер может быть выбран из числа нескольких кодеров на основе разреженности входного сигнала в нескольких областях (этап 814). Входной сигнал может быть кодирован на основе выбранного кодера (этап 816).
Несколько областей могут содержать временную область и, по меньшей мере, одну область преобразования, к примеру частотную область. Разреженность входного сигнала во временной области и, по меньшей мере, одной области преобразования может быть определена на основе любого из параметров, описанных выше, одного или более подсчетов предысторий, которые могут быть обновлены на основе предшествующих выборов кодера временной области и предшествующих выборов, по меньшей мере, одного кодера области преобразования, и т.д. Кодер временной области может быть выбран, чтобы кодировать входной сигнал во временной области, если входной сигнал определен как более разреженный во временной области, чем, по меньшей мере, одной области преобразования. Один из, по меньшей мере, одного кодера области преобразования может быть выбран, чтобы кодировать входной сигнал в соответствующей области преобразования, если входной сигнал определен как разреженный в этой области преобразования, чем временной области и других областях преобразования, если они имеют место.
Фиг.9 показывает блок-схему последовательности операций процесса 900 для выполнения обнаружения разреженности. Первый сигнал в первой области может быть преобразован (к примеру, на основе MDCT), чтобы получить второй сигнал во второй области (этап 912). Первый сигнал может быть получен выполнением кодирования с линейным предсказанием (LPC) для входного аудиосигнала. Первая область может быть временной областью, а вторая область может быть областью преобразования, к примеру, частотной областью. Первый и второй параметры могут быть определены на основе первого и второго сигналов, к примеру, на основе энергии значений/компонентов в первом и втором сигналах (этап 914). По меньшей мере, один подсчет может быть определен на основе предшествующих объявлений первого сигнала более разреженным и предшествующих объявлений второго сигнала более разреженным (этап 916). Является ли первый сигнал или второй сигнал более разреженным, может быть определено на основе первого и второго параметров и, по меньшей мере, одного подсчета, если он используется (этап 918).
N
)
)
C
(i)
C
(i)
T
M
T
M
Для схемы, показанной на Фиг.2, первый параметр может соответствовать минимальному числу значений (в первом сигнале, содержащих, по меньшей мере, конкретный процент полной энергии первого сигнала. Второй параметр может соответствовать минимальному числу значений (Nво втором сигнале, содержащих, по меньшей мере, конкретный процент полной энергии второго сигнала. Первый сигнал может считаться более разреженным на основе первого параметра, меньшего, чем второй параметр, на первое пороговое значение, к примеру, как показано в уравнении (9a). Второй сигнал может считаться более разреженным на основе второго параметра, меньшего, чем первый параметр, на второе пороговое значение, к примеру, как показано в уравнении (9b). Третий параметр (к примеру, ), служащий признаком накопленной энергии первого сигнала, может быть определен. Четвертый параметр (к примеру, ), служащий признаком накопленной энергии второго сигнала, также может быть определен. Является ли первый сигнал или второй сигнал более разреженным, может быть определено дополнительно на основе третьего и четвертого параметров.
C
(i)
C
(i)
K
).
К
).
T
M
T
М
T
M
Для схемы, показанной в Фиг.3, 6A и 6B, может быть определена первая функция накопленной энергии (к примеру, ) для первого сигнала и вторая функция накопленной энергии (к примеру, ) для второго сигнала. Число раз, когда первая функция накопленной энергии соответствует или превышает вторую функцию накопленной энергии, может быть предоставлено как первый параметр (к примеру, Число раз, когда вторая функция накопленной энергии соответствует или превышает первую функцию накопленной энергии, может быть предоставлено как второй параметр (к примеру, Первый сигнал может считаться более разреженным на основе первого параметра, большего, чем второй параметр. Второй сигнал может считаться более разреженным на основе второго параметра, большего, чем первый параметр. Третий параметр (к примеру, Δ) может быть определен на основе случаев, в которых первая функция накопленной энергии превышает вторую функцию накопленной энергии, к примеру, как показано в уравнении (11a). Четвертый параметр (к примеру, Δ) может быть определен на основе случаев, в которых вторая функция накопленной энергии превышает первую функцию накопленной энергии, к примеру, как показано в уравнении (11b). Является ли первый сигнал или второй сигнал более разреженным, может быть определено дополнительно на основе третьего и четвертого параметров.
H
H
)
T
M
Для обеих схем может быть увеличен первый подсчет (к примеру, ), и второй подсчет (к примеру, может быть уменьшен для каждого объявления первого сигнала более разреженным. Первый подсчет может быть уменьшен, а второй подсчет может быть увеличен для каждого объявления второго сигнала более разреженным. Является ли первый сигнал или второй сигнал более разреженным, может быть определено дополнительно на основе первого и второго подсчетов.
Несколько кодеров может использоваться, чтобы кодировать аудиосигнал, как описано выше. Информация о том, как кодирован аудиосигнал, может быть отправлена по-разному. В одной схеме каждый кодированный кадр включает в себя информацию о кодере/кодировании, которая указывает конкретный кодер, используемый для этого кадра. В другой схеме кодированный кадр включает в себя информацию о кодере, только если кодер, используемый для этого кадра, отличается от кодера, используемого для предыдущего кадра. В этой схеме информация о кодере отправляется только каждый раз, когда совершается переключение в кодере, и информация не отправляется, если тот же самый кодер используется. В общем, кодер может включать в себя символы/биты в кодированной информации, которая сообщает декодеру, какой кодер выбран. Альтернативно, эта информация может быть передана отдельно с использованием побочного канала.
Фиг.10 показывает блок-схему схемы обобщенного аудиодекодера 1000, который допускает декодирование аудиосигнала, кодируемого с обобщенным аудиокодером 100 на Фиг.1. Аудиодекодер 1000 включает в себя селектор 1020, набор конкретных для класса сигналов аудиодекодеров 1030 и мультиплексор 1040.
В рамках селектора 1020 этап 1022 может принимать кодированный аудиокадр и определять, является ли принимаемый кадр кадром молчания, к примеру, на основе информации о кодере, включенной в кадр. Если принимаемый кадр является кадром молчания, то декодер 1032 молчания может декодировать принимаемый кадр и предоставить декодированный кадр. Иначе, этап 1024 может определять, является ли принимаемый кадр кадром шумоподобного сигнала. Если ответ "Да", то декодер 1034 шумоподобных сигналов может декодировать принимаемый кадр и предоставить декодированный кадр. Иначе, этап 1026 может определять, является ли принимаемый кадр кадром временной области. Если ответ "Да", то декодер 1036 временной области может декодировать принимаемый кадр и предоставить декодированный кадр. Иначе, декодер 1038 области преобразования может декодировать принимаемый кадр и предоставить декодированный кадр. Декодеры 1032, 1034, 1036 и 1038 могут выполнять декодирование способом, комплементарным кодированию, выполненному кодерами 132, 134, 136 и 138, соответственно, в рамках обобщенного аудиокодера 100 на Фиг.1. Мультиплексор 1040 может принимать выводы декодеров 1032, 1034, 1036 и 1038 и может предоставлять вывод одного декодера как декодированный кадр. Различные декодеры 1032, 1034, 1036 и 1038 могут быть выбраны в различных интервалах времени на основе характеристик аудиосигнала.
Фиг.10 показывает конкретную схему обобщенного аудиодекодера 1000. В общем, обобщенный аудиодекодер может включать в себя любое число декодеров и любой тип декодера, который может быть расположен по-разному. Фиг.10 показывает один примерный набор декодеров в одной примерной компоновке. Обобщенный аудиодекодер может включать в себя меньшее количество, большее количество и/или другие декодеры, которые могут быть расположены другими способами.
Методики кодирования и декодирования, описанные в данном документе, могут использоваться для связи, вычисления, организации сетей, персональной электроники и т.д. Например, методики могут использоваться для устройств беспроводной связи, карманных устройств, игровых устройств, вычислительных устройств, бытовых электронных устройств, персональных компьютеров и т.д. Примерное использование методик для устройства беспроводной связи описывается ниже.
Фиг.11 показывает блок-схему схемы устройства 1100 беспроводной связи в системе беспроводной связи. Беспроводное устройство 1100 может быть сотовым телефоном, терминалом, телефонной трубкой, персональным цифровым устройством (PDA), беспроводным модемом, беспроводным телефоном и т.д. Система беспроводной связи может быть системой с множественным доступом с кодовым разделением каналов (CDMA), глобальной системой мобильной связи (GSM) и т.д.
Беспроводное устройство 1100 допускает предоставление двунаправленной связи через путь приема и путь передачи. В пути приема сигналы, передаваемые базовыми станциями, принимаются антенной 1112 и предоставляются в приемник (RCVR) 1114. Приемник 1114 приводит в определенное состояние и оцифровывает принимаемый сигнал и предоставляет выборки в цифровой участок 1120 для дальнейшей обработки. В пути передачи передатчик (TMTR) 1116 принимает данные, которые должны быть переданы из цифрового участка 1120, обрабатывает и приводит в определенное состояние данные и формирует модулированный сигнал, который передается через антенну 1112 в базовые станции. Приемник 1114 и передатчик 1116 могут быть частью приемопередатчика, который может поддерживать CDMA, GSM и т.д.
Цифровой участок 1120 включает в себя различные блоки обработки, интерфейса и запоминающие устройства, такие как, например, модемный процессор 1122, компьютер с сокращенным набором команд/процессор (RISC/DSP) 1124 цифровых сигналов, контроллер/процессор 1126, внутреннее запоминающее устройство 1128, обобщенный аудиокодер 1132, обобщенный аудиодекодер 1134, графический/дисплейный процессор 1136 и интерфейс (EBI) 1138 внешней шины. Модемный процессор 1122 может выполнять обработку для передачи и приема данных, к примеру, кодирование, модуляцию, демодуляцию и декодирование. RISC/DSP 1124 может выполнять общую и специализированную обработку для беспроводного устройства 1100. Контроллер/процессор 1126 может направлять работу различных блоков обработки и интерфейса в пределах цифрового участка 1120. Внутреннее запоминающее устройство 1128 может хранить данные и/или инструкции для различных блоков в пределах цифрового участка 1120.
Обобщенный аудиокодер 1132 может выполнять кодирование для входных сигналов из звукового источника 1142, микрофона 1143 и т.д. Обобщенный аудиокодер 1132 может быть реализован так, как показано на Фиг.1. Обобщенный аудиодекодер 1134 может выполнять декодирование для кодированных аудиоданных и может предоставлять выходные сигналы в динамик/наушники 1144. Обобщенный аудиодекодер 1134 может быть реализован так, как показано на Фиг.10. Графический/дисплейный процессор 1136 может выполнять обработку для графики, видео, изображений и текстов, которые могут быть представлены на блок 1146 отображения. EBI 1138 может упростить перемещение данных между цифровым участком 1120 и основным запоминающим устройством 1148.
Цифровой участок 1120 может быть реализован с одним или более процессоров, DSP, микропроцессоров, RISC и т.д. Цифровой участок 1120 также может быть изготовлен на одной или более специализированных интегральных схем (ASIC) и/или каком-либо другом типе интегральных схем (IC).
В общем, любое устройство, описанное в данном документе, может представлять различные типы устройств, таких как беспроводной телефон, сотовый телефон, портативный компьютер, беспроводное мультимедийное устройство, плата персонального компьютера (PC) для беспроводной связи, PDA, внешний или внутренний модем, устройство, которое обменивается данными через беспроводной канал, и т.д. Устройство может иметь различные названия, например терминал (AT) доступа, блок доступа, абонентский блок, мобильная станция, мобильное устройство, мобильный блок, мобильный телефон, мобильный, удаленная станция, удаленный терминал, удаленный блок, пользовательское устройство, пользовательское оборудование, карманное устройство и т.д. Любое устройство, описанное в данном документе, может иметь запоминающее устройство для хранения инструкций и данных, а также аппаратные средства, программное обеспечение, микропрограммное обеспечение или их комбинации.
Методики кодирования и декодирования, описанные в данном документе (к примеру, кодер 100 на Фиг.1, детектор 116a разреженности на Фиг.2, детектор 116b разреженности на Фиг.3, декодер 1000 на Фиг.10 и т.д.), могут быть реализованы различными средствами. Например, эти методики могут быть реализованы в аппаратных средствах, микропрограммном обеспечении, программном обеспечении или их комбинации. При реализации в аппаратных средствах блоки обработки, используемые, чтобы выполнять методики, могут быть реализованы в одной или более ASIC, DSP, устройствах (DSPD) цифровой обработки сигналов, программируемых логических устройствах (PLD), программируемых пользователем вентильных матриц (FPGA), процессорах, контроллерах, микроконтроллерах, микропроцессорах, электронных устройствах, других электронных блоках, предназначенных, чтобы выполнять описанные в данном документе функции, или их комбинацию.
Для реализации микропрограммного обеспечения и/или программного обеспечения, методики могут быть осуществлены как инструкции на считываемом процессором носителе, таком как оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), энергонезависимое оперативное запоминающее устройство (NVRAM), программируемое постоянное запоминающее устройство (PROM), электрически стираемое PROM (EEPROM), флэш-память, компакт-диск, магнитные или оптические устройства хранения данных и т.д. Инструкции могут быть исполнимыми одним или более процессорами и могут побуждать процессор(ы) выполнять определенные аспекты функциональности, описанной в данном документе.
Предшествующее описание раскрытия сущности предоставлено, чтобы дать возможность любому специалисту в данной области техники создавать или использовать раскрытие сущности. Различные модификации в раскрытие сущности должны быть очевидными для специалистов в данной области техники, а описанные в данном документе общие принципы могут быть применены к другим вариантам без отступления от сущности и объема раскрытия сущности. Таким образом, раскрытие сущности не предназначено, чтобы быть ограниченным описанными в данном документе примерами, а должно удовлетворять самому широкому объему, согласованному с принципами и новыми признаками, раскрытыми в данном документе.