СИСТЕМЫ И СПОСОБЫ ВЫПОЛНЕНИЯ ШУМОВОЙ МОДУЛЯЦИИ И РЕГУЛИРОВКИ УСИЛЕНИЯ
SYSTEMS AND METHODS OF PERFORMING NOISE MODULATION AND GAIN ADJUSTMENT

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Настоящая заявка испрашивает приоритет находящейся в общей собственности предварительной заявки на патент (США) № 61/762810, поданной 8 февраля 2013 года, и непредварительной заявки на патент (США) № 14/012749, поданной 28 августа 2013 года, содержимое которых полностью содержится в данном документе по ссылке в явном виде.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0002] Настоящее раскрытие сущности, в общем, относится к обработке сигналов.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
[0003] Технологические усовершенствования привели к более компактным и обладающим большой вычислительной мощностью вычислительным устройствам. Например, сегодня существует множество портативных персональных вычислительных устройств, в том числе беспроводные вычислительные устройства, такие как портативные беспроводные телефоны, персональные цифровые устройства (PDA) и устройства для поисковых вызовов, которые являются небольшими, легкими и удобно носятся пользователями. Более конкретно, портативные беспроводные телефоны, такие как сотовые телефоны и телефоны по Интернет-протоколу (IP), могут передавать речевые пакеты и пакеты данных по беспроводным сетям. Дополнительно, многие такие беспроводные телефоны включают в себя другие типы устройств, которые содержатся в них. Например, беспроводной телефон также может включать в себя цифровой фотоаппарат, цифровую видеокамеру, цифровое записывающее устройство и проигрыватель аудиофайлов.
[0004] В традиционных телефонных системах (например, в коммутируемых телефонных сетях общего пользования (PSTN)), полоса пропускания сигнала ограничена частотным диапазоном от 300 герц (Гц) до 3,4 килогерц (кГц). В широкополосных (WB) вариантах применения, таких как сотовая телефония и протокол "речь-по-IP" (VoIP), полоса пропускания сигнала может охватывать частотный диапазон от 50 Гц до 7 кГц. Технологии сверхширокополосного (SWB) кодирования поддерживают полосу пропускания, которая расширяется приблизительно до 16 кГц. Расширение полосы пропускания сигнала от узкополосной телефонии в 3,4 кГц до SWB-телефонии в 16 кГц позволяет повышать качество восстановления сигналов, разборчивость и естественность.
[0005] Технологии SWB-кодирования типично заключают в себе кодирование и передачу части нижних частот сигнала (например, от 50 Гц до 7 кГц, также называемой "полосой низких частот"). Например, полоса низких частот может быть представлена с использованием параметров фильтрации и/или сигнала возбуждения в полосе низких частот. Тем не менее, для того чтобы повышать эффективность кодирования, часть верхних частот сигнала (например, от 7 кГц до 16 кГц, также называемая "полосой высоких частот") может не полностью кодироваться и передаваться. Вместо этого приемное устройство может использовать моделирование прохождения сигналов для того, чтобы прогнозировать полосу высоких частот. В некоторых реализациях данные, ассоциированные с полосой высоких частот, могут предоставляться в приемное устройство для того, чтобы помогать в прогнозировании. Такие данные могут упоминаться в качестве "вспомогательной информации" и могут включать в себя информацию усиления, частоты спектральных линий (LSF, также называемые "парами спектральных линий (LSP)") и т.д. Прогнозирование в полосе высоких частот с использованием модели прохождения сигналов может быть приемлемо точным, когда сигнал полосы низких частот достаточно коррелирован с сигналом полосы высоких частот. Тем не менее, при наличии шума, корреляция между полосой низких частот и полосой высоких частот может быть слабой, и модель прохождения сигналов более не может иметь возможность точно представлять полосу высоких частот. Это может приводить к артефактам (например, искаженной речи) в приемном устройстве.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Раскрыты системы и способы выполнения шумовой модуляции и регулировки усиления. Например, кодирование полосы высоких частот может заключать в себе формирование сигнала возбуждения в полосе высоких частот на основе сигнала возбуждения в полосе низких частот, сформированного с использованием анализа полосы низких частот (например, анализа на основе линейного прогнозирования (LP) полосы низких частот). Сигнал возбуждения в полосе высоких частот может формироваться посредством смешения преобразованного сигнала возбуждения в полосе низких частот с модулированным шумом (например, белым шумом). Соотношение, с которым смешиваются преобразованный сигнал возбуждения в полосе низких частот и модулированный шум, может оказывать влияние на качество восстановления сигналов. При наличии шума, который снижает корреляцию между полосой низких частот и полосой высоких частот, преобразованный сигнал возбуждения в полосе низких частот может быть недостаточным для синтеза полосы высоких частот. Например, синтезированный сигнал возбуждения в полосе высоких частот может вводить слышимые артефакты. В соответствии с описанными технологиями шумовая модуляция и/или регулировка усиления может выполняться для того, чтобы снижать такие артефакты. Выполнение шумовой модуляции может включать в себя адаптивное сглаживание отношения возбуждения в полосе низких частот к модулированному шуму, используемому для синтеза полосы высоких частот. Выполнение регулировки усиления может включать в себя определение параметра(ов) усиления, которые следует включать во вспомогательную информацию полосы высоких частот на основе искажения при квантовании.
[0007] В конкретном варианте осуществления способ включает в себя прием первого значения коэффициента смешения. Первое значение соответствует первой части аудиосигнала, принимаемого в аудиокодере. Способ включает в себя прием второго значения коэффициента смешения. Второе значение соответствует второй части аудиосигнала. Способ включает в себя формирование третьего значения коэффициента смешения, по меньшей мере, частично на основе первого значения и второго значения. Способ также включает в себя смешение сигнала возбуждения с модулированным шумом на основе третьего значения коэффициента смешения.
[0008] В другом конкретном варианте осуществления способ включает в себя определение первого набора спектральных значений частоты, соответствующих аудиосигналу, и определение второго набора спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты. Способ также включает в себя регулирование значения усиления, соответствующего, по меньшей мере, части аудиосигнала, на основе разности между первым набором и вторым набором.
[0009] В другом конкретном варианте осуществления устройство включает в себя фильтр, выполненный с возможностью формировать третье значение коэффициента смешения, по меньшей мере, частично на основе первого значения коэффициента смешения и второго значения коэффициента смешения. Первое значение соответствует первой части аудиосигнала, а второе значение соответствует второй части аудиосигнала. Устройство также включает в себя микшер, выполненный с возможностью принимать третье значение и формировать сигнал возбуждения в полосе высоких частот, соответствующий части полосы высоких частот аудиосигнала, посредством формирования модулированного шума и комбинирования модулированного шума и преобразованной версии сигнала возбуждения в полосе низких частот. Сигнал возбуждения в полосе низких частот соответствует части полосы низких частот аудиосигнала. Микшер выполнен с возможностью комбинировать модулированный шум и преобразованную версию сигнала возбуждения в полосе низких частот на основе третьего значения.
[0010] В другом конкретном варианте осуществления устройство включает в себя аналитический фильтр, выполненный с возможностью определять первый набор спектральных значений частоты, соответствующих аудиосигналу. Устройство включает в себя квантователь, выполненный с возможностью формировать второй набор спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты. Устройство также включает в себя схему усиления, выполненную с возможностью регулировать значение усиления, соответствующее, по меньшей мере, части аудиосигнала, на основе разности между первым набором и вторым набором.
[0011] В другом конкретном варианте осуществления устройство включает в себя средство для формирования третьего значения коэффициента смешения, по меньшей мере, частично на основе первого значения коэффициента смешения и второго значения коэффициента смешения. Первое значение соответствует первой части аудиосигнала, принимаемого в аудиокодере, а второе значение соответствует второй части аудиосигнала. Устройство включает в себя средство для формирования сигнала возбуждения в полосе высоких частот, соответствующего части полосы высоких частот аудиосигнала, посредством комбинирования модулированного шума и преобразованной версии сигнала возбуждения в полосе низких частот. Сигнал возбуждения в полосе низких частот соответствует части полосы низких частот аудиосигнала. Средство для формирования выполнено с возможностью комбинировать модулированный шум и преобразованную версию сигнала возбуждения в полосе низких частот на основе третьего значения.
[0012] В другом конкретном варианте осуществления устройство включает в себя средство для определения первого набора спектральных значений частоты, соответствующих аудиосигналу. Устройство также включает в себя средство для формирования второго набора спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты. Устройство также включает в себя средство для регулирования значения усиления, соответствующего, по меньшей мере, части аудиосигнала, на основе разности между первым набором и вторым набором.
[0013] В другом конкретном варианте осуществления невременный машиночитаемый носитель включает в себя инструкции, которые при выполнении посредством компьютера инструктируют компьютеру принимать первое значение коэффициента смешения. Первое значение соответствует первой части аудиосигнала, принимаемого в аудиокодере. Инструкции также исполняются, чтобы инструктировать компьютеру принимать второе значение коэффициента смешения. Второе значение соответствует второй части аудиосигнала. Инструкции также исполняются, чтобы инструктировать компьютеру формировать третье значение коэффициента смешения, по меньшей мере, частично на основе первого значения и второго значения. Инструкции также исполняются, чтобы инструктировать компьютеру смешивать сигнал возбуждения с модулированным шумом на основе третьего значения коэффициента смешения.
[0014] В другом конкретном варианте осуществления невременный машиночитаемый носитель включает в себя инструкции, которые при выполнении посредством компьютера, инструктируют компьютеру определять первый набор спектральных значений частоты, соответствующих аудиосигналу. Инструкции также исполняются, чтобы определять второй набор спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты. Инструкции также исполняются, чтобы регулировать значение усиления, соответствующее, по меньшей мере, части аудиосигнала, на основе разности между первым набором и вторым набором.
[0015] Конкретные преимущества, предоставленные посредством, по меньшей мере, одного из раскрытых вариантов осуществления, включают в себя способность выполнять шумовую модуляцию и/или регулировку усиления, чтобы компенсировать зашумленные условия. Например, шумовая модуляция может противодействовать большим флуктуациям в параметре смешения, используемом во время синтеза полосы высоких частот. В качестве другого примера регулировка усиления может компенсировать спектральное искажение вследствие ошибки квантования. Другие аспекты, преимущества и признаки настоящего изобретения должны становиться очевидными из прочтения всей заявки, включающей в себя следующие разделы: "Краткое описание чертежей", "Подробное описание изобретения" и "Формула изобретения".
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0016] Фиг. 1 является схемой, которая иллюстрирует конкретный вариант осуществления системы, которая выполнена с возможностью осуществлять шумовую модуляцию и регулировку усиления;
[0017] Фиг. 2 является схемой, которая иллюстрирует конкретный вариант осуществления компонентов системы по фиг. 1;
[0018] Фиг. 3 является графиком, который иллюстрирует конкретный вариант осуществления преобразования между коэффициентом усиления и спектральным искажением;
[0019] Фиг. 4 является схемой, которая иллюстрирует конкретный вариант осуществления формирователя возбуждения в полосе высоких частот по фиг. 1;
[0020] Фиг. 5 является блок-схемой последовательности операций способа, которая иллюстрирует конкретный вариант осуществления способа выполнения шумовой модуляции;
[0021] Фиг. 6 является блок-схемой последовательности операций способа, которая иллюстрирует конкретный вариант осуществления способа выполнения регулировки усиления; и
[0022] Фиг. 7 является блок-схемой беспроводного устройства, выполненного с возможностью осуществлять операции обработки сигналов в соответствии с системами и способами фиг. 1-6.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0023] Ссылаясь на фиг. 1, показан конкретный вариант осуществления системы, которая выполнена с возможностью осуществлять шумовую модуляцию и регулировку усиления и в общем обозначается 100. В конкретном варианте осуществления система 100 может быть интегрирована в систему или устройство кодирования (например, в беспроводном телефоне или в кодере/декодере (кодеке)).
[0024] Следует отметить, что в нижеприведенном описании различные функции, выполняемые посредством системы 100 по фиг. 1, описываются как выполняемые посредством определенных компонентов или модулей. Тем не менее, это разделение компонентов и модулей служит только для иллюстрации. В альтернативном варианте осуществления функция, выполняемая посредством конкретного компонента или модуля, вместо этого может быть разделена между несколькими компонентами или модулями. Кроме того, в альтернативном варианте осуществления два или более компонентов или модулей по фиг. 1 могут быть интегрированы в один компонент или модуль. Каждый компонент или модуль, проиллюстрированный на фиг. 1, может реализовываться с использованием аппаратных средств (например, устройства на основе программируемой пользователем вентильной матрицы (FPGA), специализированной интегральной схемы (ASIC), процессора цифровых сигналов (DSP), контроллера и т.д.), программного обеспечения (например, инструкций, выполняемых посредством процессора) или любой комбинации вышеозначенного.
[0025] Система 100 включает в себя гребенку 110 аналитических фильтров, которая выполнена с возможностью принимать входной аудиосигнал 102. Например, входной аудиосигнал 102 может предоставляться посредством микрофона или другого устройства ввода. В конкретном варианте осуществления входной аудиосигнал 102 может включать в себя речь. Входной аудиосигнал может представлять собой сверхширокополосный (SWB) сигнал, который включает в себя данные в частотном диапазоне приблизительно от 50 герц (Гц) до 16 килогерц (кГц). Гребенка 110 аналитических фильтров может фильтровать входной аудиосигнал 102 в нескольких частях на основе частоты. Например, гребенка 110 аналитических фильтров может формировать сигнал 122 полосы низких частот и сигнал 124 полосы высоких частот. Сигнал 122 полосы низких частот и сигнал 124 полосы высоких частот могут иметь равные или неравные полосы пропускания и могут быть перекрывающимися или неперекрывающимися. В альтернативном варианте осуществления гребенка 110 аналитических фильтров может формировать более двух выводов.
[0026] В примере по фиг. 1 сигнал 122 полосы низких частот и сигнал 124 полосы высоких частот занимают неперекрывающиеся полосы частот. Например, сигнал 122 полосы низких частот и сигнал 124 полосы высоких частот могут занимать неперекрывающиеся полосы частот в 50 Гц – 7 кГц и 7 кГц – 16 кГц. В альтернативном варианте осуществления сигнал 122 полосы низких частот и сигнал 124 полосы высоких частот могут занимать неперекрывающиеся полосы частот в 50 Гц – 8 кГц и 8 кГц – 16 кГц. В еще одном другом альтернативном варианте осуществления сигнал 122 полосы низких частот и сигнал 124 полосы высоких частот перекрываются (например, 50 Гц – 8 кГц и 7 кГц – 16 кГц), что может обеспечивать возможность фильтру нижних частот и фильтру верхних частот гребенки 110 аналитических фильтров иметь плавный спад, что позволяет упрощать проектное решение и сокращать затраты фильтра нижних частот и фильтра верхних частот. Перекрытие сигнала 122 полосы низких частот и сигнала 124 полосы высоких частот также позволяет обеспечивать плавное смешивание сигналов полосы низких частот и полосы высоких частот в приемном устройстве, что может приводить к меньшим слышимым артефактам.
[0027] Следует отметить, что хотя пример по фиг. 1 иллюстрирует обработку SWB-сигнала, это служит только для иллюстрации. В альтернативном варианте осуществления входной аудиосигнал 102 может представлять собой широкополосный (WB) сигнал, имеющий частотный диапазон приблизительно от 50 Гц до 8 кГц. В таком варианте осуществления сигнал 122 полосы низких частот может соответствовать частотному диапазону приблизительно от 50 Гц до 6,4 кГц и сигнал 124 полосы высоких частот может соответствовать частотному диапазону приблизительно от 6,4 кГц до 8 кГц. Также следует отметить, что различные системы и способы в данном документе описываются как обнаруживающие шум полосы высоких частот и выполняющие различные операции в ответ на шум полосы высоких частот. Тем не менее, это служит только для примера. Технологии, проиллюстрированные со ссылкой на фиг. 1-7, также могут выполняться в контексте шума полосы низких частот.
[0028] Система 100 может включать в себя модуль 130 анализа полосы низких частот, выполненный с возможностью принимать сигнал 122 полосы низких частот. В конкретном варианте осуществления модуль 130 анализа полосы низких частот может представлять вариант осуществления кодера на основе линейного прогнозирования с возбуждением по коду (CELP). Модуль 130 анализа полосы низких частот может включать в себя модуль 132 анализа и кодирования на основе линейного прогнозирования (LP), модуль 134 преобразования коэффициентов линейного прогнозирования (LPC) в пары спектральных линий (LSP) и квантователь 136. LSP также могут упоминаться в качестве частот спектральных линий (LSF), и эти два термина могут использоваться взаимозаменяемо в данном документе. Модуль 132 LP-анализа и кодирования может кодировать спектральную огибающую сигнала 122 полосы низких частот в качестве набора LPC. LPC могут формироваться для каждого кадра аудио (например, 20 миллисекунд (мс) аудио, соответствующего 320 выборкам на частоте дискретизации 16 кГц), каждого субкадра аудио (например, 5 мс аудио) или любой комбинации вышеозначенного. Число LPC, сформированных для каждого кадра или субкадра, может определяться посредством "порядка" выполняемого LP-анализа. В конкретном варианте осуществления модуль 132 LP-анализа и кодирования может формировать набор из одиннадцати LPC, соответствующих LP-анализу десятого порядка.
[0029] Модуль 134 преобразования LPC в LSP может преобразовывать набор LPC, сформированных посредством модуля 132 LP-анализа и кодирования, в соответствующий набор LSP (например, с использованием преобразования "один-к-одному"). Альтернативно, набор LPC может преобразовываться "один-к-одному" в соответствующий набор ParCor-коэффициентов, значений логарифмического отношения площадей, пар спектральных иммитансов (ISP) или частот спектральных иммитансов (ISF). Преобразование между набором LPC и набором LSP может быть обратимым без ошибки.
[0030] Квантователь 136 может квантовать набор LSP, сформированных посредством модуля 134 преобразования. Например, квантователь 136 может включать в себя или соединяться с несколькими таблицами кодирования, которые включают в себя несколько записей (например, векторов). Чтобы квантовать набор LSP, квантователь 136 может идентифицировать записи таблиц кодирования, которые являются "ближайшими" (например, на основе показателя искажения, такого как наименьшие квадраты или среднеквадратическая ошибка) к набору LSP. Квантователь 136 может выводить значение индекса или последовательность значений индекса, соответствующих местоположению идентифицированных записей в таблице кодирования. Вывод квантователя 136 в силу этого может представлять параметры фильтрации полосы низких частот, которые включены в поток 142 битов полосы низких частот.
[0031] Модуль 130 анализа полосы низких частот также может формировать сигнал 144 возбуждения в полосе низких частот. Например, сигнал 144 возбуждения в полосе низких частот может представлять собой кодированный сигнал, который формируется посредством квантования остаточного LP-сигнала, который формируется во время LP-процесса, выполняемого посредством модуля 130 анализа полосы низких частот. Остаточный LP-сигнал может представлять ошибку прогнозирования.
[0032] Система 100 дополнительно может включать в себя модуль 150 анализа полосы высоких частот, выполненный с возможностью принимать сигнал 124 полосы высоких частот из гребенки 110 аналитических фильтров и сигнал 144 возбуждения в полосе низких частот из модуля 130 анализа полосы низких частот. Модуль 150 анализа полосы высоких частот может формировать вспомогательную информацию 172 полосы высоких частот на основе сигнала 124 полосы высоких частот и сигнала 144 возбуждения в полосе низких частот. Например, вспомогательная информация 172 полосы высоких частот может включать в себя LSP полосы высоких частот и/или информацию усиления (например, на основе, по меньшей мере, отношения энергии полосы высоких частот к энергии полосы низких частот), как подробнее описано в данном документе.
[0033] Модуль 150 анализа полосы высоких частот может включать в себя формирователь 160 возбуждения в полосе высоких частот. Формирователь 160 возбуждения в полосе высоких частот может формировать сигнал 161 возбуждения в полосе высоких частот посредством расширения спектра сигнала 144 возбуждения в полосе низких частот до частотного диапазона полосы высоких частот (например, 7 кГц – 16 кГц). В качестве иллюстрации, формирователь 160 возбуждения в полосе высоких частот может применять преобразование к сигналу возбуждения в полосе низких частот (например, нелинейное преобразование, такое как операция в абсолютных значениях или в квадрате) и может смешивать преобразованный сигнал возбуждения в полосе низких частот с шумовым сигналом (например, белым шумом, модулированным согласно огибающей, соответствующей сигналу 144 возбуждения в полосе низких частот, который имитирует медленно варьирующиеся временные характеристики сигнала 122 полосы низких частот), с тем чтобы формировать сигнал 161 возбуждения в полосе высоких частот. Например, смешение может выполняться согласно следующему уравнению:
Возбуждение в полосе высоких частот=(α*преобразованное возбуждение в полосе низких частот)+((1-α)*модулированный шум)
[0034] Соотношение, с которым смешиваются преобразованный сигнал возбуждения в полосе низких частот и модулированный шум, может оказывать влияние на качество восстановления в полосе высоких частот в приемном устройстве. Для вокализованных речевых сигналов смешение может сдвигаться к преобразованному возбуждению в полосе низких частот (например, коэффициент α смешения может находиться в диапазоне 0,5-1,0). Для невокализованных сигналов смешение может сдвигаться к модулированному шуму (например, коэффициент α смешения может находиться в диапазоне 0,0-0,5). Иллюстративный вариант осуществления формирователя 160 возбуждения в полосе высоких частот подробнее описывается относительно фиг. 4.
[0035] Сигнал 161 возбуждения в полосе высоких частот может использоваться для того, чтобы определять один или более параметров усиления полосы высоких частот, которые включены во вспомогательную информацию 172 полосы высоких частот. Как проиллюстрировано, модуль 150 анализа полосы высоких частот также может включать в себя модуль 152 LP-анализа и кодирования, модуль 154 преобразования LPC в LSP и квантователь 156. Каждый из модуля 152 LP-анализа и кодирования, модуля 154 преобразования и квантователя 156 может функционировать так, как описано выше в отношении соответствующих компонентов модуля 130 анализа полосы низких частот, но при сравнительно уменьшенном разрешении (например, с использованием меньшего числа битов для каждого коэффициента, LSP и т.д.). Модуль 152 LP-анализа и кодирования может формировать набор LPC, которые преобразованы в LSP посредством модуля 154 преобразования и квантованы посредством квантователя 156 на основе таблицы 163 кодирования. Например, модуль 152 LP-анализа и кодирования, модуль 154 преобразования и квантователь 156 могут использовать сигнал 124 полосы высоких частот, чтобы определять информацию фильтрации полосы высоких частот (например, LSP полосы высоких частот), которая включена во вспомогательную информацию 172 полосы высоких частот. В конкретном варианте осуществления вспомогательная информация 172 полосы высоких частот может включать в себя LSP полосы высоких частот, а также параметры усиления полосы высоких частот. При наличии определенных типов шума параметры усиления полосы высоких частот могут формироваться как результат регулировки усиления, выполняемой посредством модуля 162 регулировки усиления, как подробнее описано в данном документе.
[0036] Поток 142 битов полосы низких частот и вспомогательная информация 172 полосы высоких частот могут мультиплексироваться посредством мультиплексора (мультиплексора) 180, с тем чтобы формировать выходной поток 192 битов. Выходной поток 192 битов может представлять кодированный аудиосигнал, соответствующий входному аудиосигналу 102. Например, выходной поток 192 битов может передаваться (например, по проводному, беспроводному или оптическому каналу) и/или сохраняться. В приемном устройстве обратные операции могут выполняться посредством демультиплексора (демультиплексора), декодера полосы низких частот, декодера полосы высоких частот и гребенки фильтров, с тем чтобы формировать аудиосигнал (например, восстановленную версию входного аудиосигнала 102, который предоставляется в динамик или другое устройство вывода). Число битов, используемых для того, чтобы представлять поток 142 битов полосы низких частот, может быть более существенно большим числа битов, используемых для того, чтобы представлять вспомогательную информацию 172 полосы высоких частот. Таким образом, большая часть битов в выходном потоке 192 битов может представлять данные полосы низких частот. Вспомогательная информация 172 полосы высоких частот может использоваться в приемном устройстве для того, чтобы повторно формировать сигнал возбуждения в полосе высоких частот из данных полосы низких частот в соответствии с моделью прохождения сигналов. Например, модель прохождения сигналов может представлять ожидаемый набор взаимосвязей или корреляций между данными полосы низких частот (например, сигналом 122 полосы низких частот) и данными полосы высоких частот (например, сигналом 124 полосы высоких частот). Таким образом, различные модели прохождения сигналов могут использоваться для различных видов аудиоданных (например, речи, музыки и т.д.), и конкретная модель прохождения сигналов, которая используется, может быть согласована посредством передающего устройства и приемного устройства (или задана посредством отраслевого стандарта) до передачи кодированных аудиоданных. С использованием модели прохождения сигналов модуль 150 анализа полосы высоких частот в передающем устройстве может иметь возможность формировать вспомогательную информацию 172 полосы высоких частот, так что соответствующий модуль анализа полосы высоких частот в приемном устройстве имеет возможность использовать модель прохождения сигналов для того, чтобы восстанавливать сигнал 124 полосы высоких частот из выходного потока 192 битов.
[0037] Преобразованное возбуждение в полосе низких частот может быть недостаточным для использования при синтезе полосы высоких частот вследствие недостаточной корреляции между зашумленным сигналом 124 полосы высоких частот и зашумленным сигналом 122 полосы низких частот. Например, когда входной аудиосигнал 102 включает в себя речь, сигнал 124 полосы высоких частот может обрабатываться в кадрах по 20 миллисекунд (мс) и LSF и параметры усиления могут оцениваться и квантоваться на покадровой основе. Четыре параметра наклона временного усиления могут оцениваться на посубкадровой основе (например, каждые 5 мс) и могут передаваться вместе с параметрами общего усиления и LSF. Таким образом, возбуждение в полосе высоких частот может оцениваться (например, формироваться) для каждого субкадра. Типично, параметр α смешения может определяться на основе параметров интонирования полосы низких частот. Тем не менее, при наличии шума определение параметра α смешения таким способом может приводить к широким флуктуациям в расчете на субкадр. Например, вследствие шума параметр α смешения для четырех последовательных субкадров может составлять 0,9, 0,25, 0,8 и 0,15, приводя к раздражающим или модуляционным артефактам. Кроме того, может присутствовать большая величина искажения при квантовании.
[0038] Модуль 152 LP-анализа и кодирования может формировать набор LPC, которые преобразованы в LSP посредством модуля 154 преобразования и квантованы посредством квантователя 156 на основе таблицы 163 кодирования. При наличии шума искажение при квантовании в LSP полосы высоких частот может быть большим.
[0039] Например, квантователь 156 может быть выполнен с возможностью квантовать набор спектральных значений частоты, таких как LSP, предоставленные посредством модуля преобразования 154. В других вариантах осуществления квантователь 156 может принимать и квантовать наборы одного или более других типов спектральных значений частоты, помимо или вместо LSF или LSP. Например, квантователь 156 может принимать и квантовать набор коэффициентов линейного прогнозирования (LPC), сформированных посредством модуля 152 LP-анализа и кодирования. Другие примеры включают в себя наборы ParCor-коэффициентов, значений логарифмического отношения площадей и частот спектральных иммитансов (ISF), которые могут приниматься и квантоваться в квантователе 156. Квантователь 156 может включать в себя векторный квантователь, который кодирует входной вектор (например, набор спектральных значений частоты в векторном формате) в качестве индекса для соответствующей записи в таблице или таблице кодирования, такой как таблица 163 кодирования. В качестве другого примера, квантователь 156 может быть выполнен с возможностью определять один или более параметров, из которых входной вектор может формироваться динамически в декодере, к примеру, в варианте осуществления с разреженными таблицами кодирования вместо извлечения из устройства хранения данных. В качестве иллюстрации, примеры с разреженными таблицами кодирования могут применяться в таки схемах кодирования, как CELP, и в таких кодеках, как EVRC (усовершенствованный кодек с переменной скоростью) по стандарту 3GPP2 (Партнерского проекта третьего поколения 2). В другом варианте осуществления модуль 150 анализа полосы высоких частот может включать в себя квантователь 156 и может быть выполнен с возможностью использовать определенное векторов таблиц кодирования для того, чтобы формировать синтезированные сигналы (например, согласно набору параметров фильтрации) и выбирать одни из векторов таблиц кодирования, ассоциированных с синтезированным сигналом, который лучше всего совпадает с сигналом 124 полосы высоких частот, к примеру, в перцепционно взвешенном домене.
[0040] Выпадающие значения квантования полосы высоких частот могут оказывать негативное влияние на синтез полосы высоких частот и оценку временного усиления. Например, переоценка временных параметров и параметров усиления может приводить к артефактам. Чтобы уменьшать такие артефакты, модуль 150 анализа полосы высоких частот может включать в себя модуль 162 регулировки усиления.
[0041] Модуль 162 регулировки усиления может оценивать спектральное искажение между первым набором спектральных значений (например, неквантованных LSF, сформированных посредством модуля 154 преобразования) и вторым набором спектральных значений (например, квантованных LSF, сформированных посредством квантователя 156). Модуль 162 регулировки усиления может оценивать коэффициент усиления на основе преобразования коэффициента усиления в спектральное искажение. Фиг. 3 иллюстрирует пример графика 300, который преобразует коэффициент усиления в спектральное искажение. На фиг. 3, "SD1" и "SD2" представляют 8%-ное и 2%-ное выпадающие значения соответственно, которые могут вычисляться из функции распределения вероятностей. Например, в ходе обучения таблицы 163 кодирования, может обрабатываться большой объем речевых данных (например, 10 часов речевых данных). Во время обработки может формироваться распределение вероятностей спектрального искажения и могут определяться SD1 и SD2.
[0042] SD1 и SD2 могут использоваться для того, чтобы определять значения коэффициента усиления. В примерном преобразовании 300 по фиг. 3, когда спектральное искажение определяется как меньшее SD1 (например, как меньшее искажение, чем 8%-ное выпадающее значение), регулировка усиления не выполняется (например, коэффициент усиления задается равным 1). Когда спектральное искажение определяется как большее (например, как большее искажение, чем 2%-ное выпадающее значение), ослабление может выполняться посредством задавания коэффициента усиления равным значению G2, которое меньше 1, к примеру, G2=0,5. Когда спектральное искажение находится в диапазоне от SD1 до SD2, линейная взаимосвязь может использоваться для того, чтобы определять коэффициент усиления. Например, линия, имеющая наклон (G2-1)/(SD2-SD1) и перехват K, может использоваться для того, чтобы преобразовывать SD значения спектрального искажения в коэффициент усиления согласно GainFactor=наклон*SD+перехват=SD*(G2-1)/(SD2-SD1)+K.
[0043] В примерном варианте осуществления модуль 162 регулировки усиления может определять коэффициент усиления (например, чтобы регулировать кадр усиления, который должен быть включен во вспомогательную информацию 172 полосы высоких частот) в соответствии со следующим псевдокодом.
/*Инициализация показателя спектрального искажения между исходной неквантованной LSF, т.е. lsp_shb_orig, и квантованными LSF, т.е. lsp_shb*/
sd_uq_q=0;
LPC_ORDER=10;/*Инициализация LPC-порядка*/
for(i=0; i<LPC_ORDER; i++)
{
/*Оценка спектрального искажения между неквантованными и квантованными LSF*/
sd_uq_q+=(lsp_shb[i]
lsp_shb_orig[i])*(lsp_shb[i]
lsp_shb_orig[i]);
}
/*Оценка коэффициента усиления с использованием преобразования по фиг. 3*/
GainFactor=sd_uq_q*(G2-1)/(SD2-SD1)+K;
/*Коэффициент усиления ограничен между G2 и 1,0*/
GainFactor=min (max(GainFactor, G2), 1,0);
/*Регулирование кадрового усиления*/
GainFrame=GainFrame*GainFactor;
[0044] Как проиллюстрировано в вышеуказанном псевдокоде, посредством использования преобразования по фиг. 3 модуль 162 регулировки усиления может ограничивать артефакты вследствие спектрального искажения (например, выпадающие LSF-значения) при определении коэффициента усиления.
[0045] В вышеуказанном псевдокоде спектральное искажение определяется в качестве суммы квадратов ошибок вследствие квантования. Ошибки вследствие квантования идентифицированы в качестве разности, для каждого спектрального значения частоты набора спектральных значений частоты, между квантованной версией спектрального значения частоты и неквантованной версией спектрального значения частоты. Каждая ошибка (например, каждая разность между квантованными и неквантованными значениями) возводится в квадрат, и спектральное искажение оценивается как сумма квадратических ошибок. В других вариантах осуществления оценки спектрального искажения могут определяться согласно одной или более других технологий. Например, спектральное искажение может определяться согласно технологии на основе среднеквадратических ошибок (MSE). В качестве другого примера, спектральное искажение может определяться с использованием абсолютных значений (например, абсолютных величин) разностей между значениями первого набора неквантованных спектральных значений частоты и второго набора квантованных спектральных значений частоты.
[0046] Хотя вышеуказанный псевдокод и преобразование по фиг. 3 определяют значение коэффициента усиления согласно кусочно-линейному преобразованию оценок спектрального искажения в значения коэффициента усиления, в других вариантах осуществления могут использоваться другие преобразования. Например, другие преобразования могут преобразовывать относительно более низкие оценки спектрального искажения в большие коэффициенты усиления (например, 1) для уменьшенного ослабления и могут преобразовывать относительно более высокие оценки спектрального искажения в меньшие коэффициенты усиления для увеличенного ослабления согласно величине ошибки квантования. Хотя в некоторых вариантах осуществления SD1 и SD2 могут определяться в соответствии с 8%-ными и 2%-ными выпадающими значениями соответственно, в других вариантах осуществления SD1 и/или SD2 могут определяться на основе одного или более других выпадающих значений или могут определяться независимо от выпадающих значений.
[0047] Фиг. 2 иллюстрирует конкретный вариант осуществления компонентов системы 100 по фиг. 1, выполненной с возможностью регулировать шумовую модуляцию, а также регулировать кадровое усиление на основе спектрального искажения. Модуль 152 LP-анализа и кодирования выполнен с возможностью принимать сигнал 124 полосы высоких частот по фиг. 1 и формировать спектральные значения частоты, к примеру, LSP-информацию. Квантователь 156 выполнен с возможностью принимать спектральные значения частоты и формировать квантованные спектральные значения частоты, к примеру, квантованную LSP-информацию (LSP_Q).
[0048] Модуль 201 вычисления спектрального искажения выполнен с возможностью принимать набор спектральных значений частоты и набор квантованных спектральных значений частоты и определять спектральное искажение 202. Например, модуль 201 вычисления спектрального искажения может быть выполнен с возможностью оценивать спектральное искажение 202, аналогично описанному относительно модуля 162 регулировки усиления по фиг. 1. Определенное спектральное искажение 202 может предоставляться в модуль 206 преобразования.
[0049] Модуль 206 преобразования может быть выполнен с возможностью принимать спектральное искажение 202 и определять коэффициент (g) 204 усиления на основе преобразования значений спектрального искажения в значения коэффициента усиления. Например, модуль 206 преобразования может быть выполнен с возможностью определять коэффициент 204 усиления аналогично описанному относительно модуля 162 регулировки усиления по фиг. 1. В качестве иллюстрации, модуль 206 преобразования может применять преобразование 300 по фиг. 3, чтобы определять значение коэффициента 204 усиления на основе принимаемого значения спектрального искажения 202. Коэффициент 204 усиления может предоставляться в модуль 162 регулировки усиления.
[0050] Модуль 207 синтеза полосы высоких частот может быть выполнен с возможностью принимать квантованные спектральные значения частоты и принимать сигнал 161 возбуждения в полосе высоких частот из формирователя возбуждения в полосе высоких частот 160, с тем чтобы формировать синтезированный сигнал полосы высоких частот. Например, модуль 207 синтеза полосы высоких частот может быть выполнен с возможностью применять преобразование LSP-значений в LPC-значения и с использованием LPC-значений конфигурировать синтезирующий LP-фильтр полосы высоких частот. Модуль 207 синтеза полосы высоких частот может применять сигнал 161 возбуждения в полосе высоких частот к синтезирующему фильтру, с тем чтобы формировать синтезированный сигнал полосы высоких частот.
[0051] В конкретном варианте осуществления формирователь 160 возбуждения в полосе высоких частот включает в себя модуль 411 смешения, который выполнен с возможностью принимать преобразованное возбуждение 408 в полосе низких частот, модулированный шум 420 и выходные коэффициенты 410 смешения и формировать сигнал 161 возбуждения в полосе высоких частот посредством применения выходных коэффициентов 410 смешения, чтобы вычислять взвешенную сумму преобразованного возбуждения 408 в полосе низких частот и модулированного шума 420. Как подробнее описано относительно фиг. 4, выходные коэффициенты 410 смешения могут демонстрировать сглаживание коэффициентов смешения между последовательными субкадрами аудиосигнала 102 по фиг. 1 на основе взвешенных сумм коэффициентов смешения, которые вычисляются для субкадров.
[0052] Модуль 208 вычисления кадрового усиления может быть выполнен с возможностью определять кадровое усиление на основе сигнала 124 полосы высоких частот по фиг. 1 и синтезированный сигнал полосы высоких частот, который формируется посредством синтезированного модуля 207 полосы высоких частот. Например, модуль 208 вычисления кадрового усиления может определять значение кадрового усиления для конкретного кадра аудиосигнала на основе сравнения сигнала 124 полосы высоких частот с синтезированным сигналом полосы высоких частот. Значение кадрового усиления может регулироваться посредством модуля 162 регулировки усиления на основе коэффициента 204 усиления, с тем чтобы формировать регулируемое кадровое усиление.
[0053] Пример формирователя 160 возбуждения в полосе высоких частот дополнительно описывается со ссылкой на фиг. 4. Формирователь 160 возбуждения в полосе высоких частот включает в себя модуль 406 комбинирования, имеющий воды, соединенные в модуль 402 вычисления огибающей и с формирователем 404 белого шума. Модуль 411 смешения соединяется с выводом модуля 406 комбинирования и с выводом модуля 407 нелинейного преобразования. Модуль 409 регулирования коэффициентов смешения соединяется с формирователем 412 коэффициентов смешения, а также соединяется с модулем 411 смешения. Модуль 409 регулирования коэффициентов смешения выполнен с возможностью формировать выходные коэффициенты 410 смешения на основе принимаемых коэффициентов 413 смешения. Выходные коэффициенты 410 смешения применяются посредством модуля 411 смешения, с тем чтобы обеспечивать сглаживание смешения.
[0054] Модуль 402 вычисления огибающей может принимать сигнал 144 возбуждения в полосе низких частот и может вычислять огибающую 403 временной области полосы низких частот, соответствующую сигналу 144 возбуждения в полосе низких частот. Например, модуль 402 вычисления огибающей может быть выполнен с возможностью вычислять квадрат каждой выборки кадра сигнала 144 возбуждения в полосе низких частот (или фильтрованной версии сигнала 144 возбуждения в полосе низких частот), с тем чтобы формировать последовательность возведенных в квадрат значений. Модуль 402 вычисления огибающей может быть выполнен с возможностью осуществлять операцию сглаживания на последовательности возведенных в квадрат значений, к примеру, посредством применения IIR-фильтра нижних частот первого порядка к последовательности возведенных в квадрат значений. Модуль 402 вычисления огибающей может быть выполнен с возможностью применять функцию квадратного корня к каждой выборке сглаженной последовательности, с тем чтобы формировать огибающую 403 временной области полосы низких частот.
[0055] Модуль 406 комбинирования может быть выполнен с возможностью комбинировать огибающую 403 временной области полосы низких частот с белым шумом 405, сформированным посредством формирователя 404 белого шума, с тем чтобы формировать модулированный шумовой сигнал 420. Например, модуль 406 комбинирования может быть выполнен с возможностью амплитудно модулировать белый шум 405 согласно огибающей 403 временной области полосы низких частот. Например, модуль 406 комбинирования может быть реализован как умножитель, который выполнен с возможностью масштабировать вывод формирователя 404 шума согласно огибающей временной области, вычисленной посредством модуля 402 вычисления огибающей, с тем чтобы формировать модулированный шумовой сигнал 420, который предоставляется в модуль 411 смешения.
[0056] Модуль 411 смешения может быть выполнен с возможностью смешивать модулированный шумовой сигнал 420 из модуля 406 комбинирования с преобразованным сигналом 408 возбуждения в полосе низких частот. Например, преобразованный сигнал 408 возбуждения в полосе низких частот может формироваться посредством модуля 407 нелинейного преобразования на основе сигнала 144 возбуждения в полосе низких частот. В конкретном варианте осуществления нелинейное преобразование может представлять собой преобразование абсолютных значений ("|x|") или преобразование возведенных в квадрат x ("x2").
[0057] Модуль 411 смешения может быть выполнен с возможностью формировать сигнал 161 возбуждения в полосе высоких частот посредством смешения модулированного шумового сигнала 420 из модуля 406 комбинирования и преобразованного сигнала 408 возбуждения в полосе низких частот на основе значения коэффициента 410 α смешения, принимаемого из модуля 409 регулирования коэффициентов смешения. Например, модуль 411 смешения может быть выполнен с возможностью вычислять сигнал 161 возбуждения в полосе высоких частот в качестве взвешенной суммы посредством применения коэффициента 410 α смешения к преобразованному сигналу 408 возбуждения в полосе низких частот и посредством применения коэффициента (1-α) к модулированному шуму 420, принимаемому из модуля 406 комбинирования, до суммирования взвешенного преобразованного сигнала 408 возбуждения в полосе низких частот и взвешенного модулированного шума.
[0058] Формирователь 412 коэффициентов смешения может быть выполнен с возможностью формировать коэффициенты 413 смешения в качестве нескольких коэффициентов смешения для каждого кадра аудиосигнала. Например, четыре коэффициента α1, α2, α3, α4 смешения могут формироваться для кадра аудиосигнала, и каждый коэффициент смешения может соответствовать надлежащему субкадру кадра. Например, формирователь 412 коэффициентов смешения может быть выполнен с возможностью вычислять коэффициенты смешения согласно одному или более параметров, связанных с периодичностью сигнала 122 полосы низких частот по фиг. 1 или сигнала 144 возбуждения в полосе низких частот, таких как усиление основного тона и/или речевой режим (например, вокализованный или невокализованный). В качестве другого примера, формирователь 412 коэффициентов смешения может быть выполнен с возможностью вычислять коэффициенты смешения согласно показателю периодичности сигнала 124 полосы высоких частот по фиг. 1, такому как наибольшее определенное значение коэффициента автокорреляции сигнала 124 полосы высоких частот для кадра или субкадра аудиосигнала.
[0059] Модуль 409 регулирования коэффициентов смешения может формировать выходные коэффициенты 410 смешения, к примеру, четыре выходных коэффициента α1s, α2s, α3s, α4s смешения. Каждый коэффициент смешения может соответствовать надлежащему субкадру кадра аудиосигнала. Модуль 409 регулирования коэффициентов смешения может формировать выходные коэффициенты 410 смешения различными способами, чтобы адаптивно сглаживать коэффициенты смешения в пределах одного кадра или для нескольких кадров, чтобы уменьшать возникновение и/или степень флуктуаций выходных коэффициентов 410 смешения. В качестве иллюстрации, модуль 409 регулирования коэффициентов смешения может включать в себя фильтр, выполненный с возможностью принимать первое значение коэффициента α смешения (например, α1), которое соответствует первому субкадру конкретного кадра, и принимать второе значение коэффициента α смешения (например, α2), которое соответствует второму субкадру конкретного кадра. Модуль 409 регулирования коэффициентов смешения может быть выполнен с возможностью формировать третье значение коэффициента смешения (например, α2s), по меньшей мере, частично на основе первого значения коэффициента α смешения (например, α1) и второго значения коэффициента смешения (например, α2s).
[0060] Например, первый подход может включать в себя формирование значения коэффициента α смешения на основе значений коэффициента смешения, соответствующих частям (например, субкадрам) одиночного кадра. Следующий псевдокод соответствует первому подходу.
/*Подход 1: Коэффициент смешения на основе значений в кадре*/
mix_factor_new[0]
=mix_factor[0];/*Инициализация первого коэффициента смещения субкадров*/
NB_SUBFR=4;/*четыре субкадра в расчете на кадр*/
K1=0,8;
for(i=1; i<NB_SUBFR; i++)
{
mix_factor_new[i]
=K1*mix_factor[i]
+(1-K1)*mix_factor[i-1];
}
[0061] В вышеуказанном псевдокоде для первого подхода, mix_factor[i]
- соответствует i-му коэффициенту 413 смешения, сформированному посредством формирователя 412 коэффициентов смешения для конкретного кадра (например, mix_factor[0]
1
- может соответствовать α), и mix_factor_new[i]
- соответствует i-му выходному коэффициенту 410 смешения (например, mix_factor_new[0]
- может соответствовать α1s). K1 определяет величину сглаживания между субкадрами и проиллюстрирован как имеющий значение 0,8. Тем не менее, в других вариантах осуществления, K1 может задаваться равным другим значениям согласно величине сглаживания, которая должна применяться. Например, сглаживание не применяется, когда K1=1, и сглаживание увеличивается со снижением значения K1.
[0062] Другие факторы, такие как тип кодирования (например, то, соответствует или нет кадр вокализованному кадру или невокализованному кадру), также могут использоваться для того, чтобы определять то, следует или нет формировать сглаженные значения коэффициентов смешения. Например, модуль 409 регулирования коэффициентов смешения может реагировать на индикатор относительно типа 422 кодирования (coder_type), с тем чтобы формировать коэффициенты смешения. В качестве иллюстрации, сглаживание коэффициента смешения может активироваться, когда индикатор относительно типа кодирования соответствует вокализованному кадру, и может деактивироваться, когда индикатор относительно типа кодирования соответствует невокализованному кадру. В качестве другого примера, модуль 409 регулирования коэффициентов смешения может реагировать на информацию 202 спектрального искажения (SD) по фиг. 2, чтобы варьировать коэффициенты смешения. В качестве примера, когда спектральное искажение является относительно высоким (например, большим пороговой величины, к примеру, в соответствии с 8%-ным выпадающим значением или 2%-ным выпадающим значением, как описано относительно спектрального искажения по фиг. 3), значение коэффициента α смешения может ограничиваться диапазоном 0-0,5 с большим сдвигом к модулированному шуму. С другой стороны, когда спектральное искажение 202 является относительно низким (например, меньшим пороговой величины, соответствующей 8%-ному выпадающему значению, как описано относительно SD1 по фиг. 3), смешение может сдвигаться к преобразованному возбуждению в полосе низких частот.
[0063] Второй подход может включать в себя формирование значения коэффициента α смешения на основе значений коэффициента смешения, соответствующих частям (например, субкадрам) различных кадров. Следующий псевдокод соответствует второму подходу.
/*Подход 2: Коэффициент смешения на основе значений между кадрами*/
NB_SUBFR=4;
K1=0,8;
mix_factor_new[0]
=K1*mix_factor[0]
+(1-K1)*mix_factor_old;//первый субкадр
for(i=1; i<NB_SUBFR; i++)
{
mix_factor_new[i]
=K1*mix_factor[i]
+(1-K1)*mix_factor[i-1];
}
mix_factor_old=mix_factor_new[i];
[0064] В вышеуказанном псевдокоде для второго подхода, mix_factor[i]
- соответствует i-му коэффициенту 413 смешения, сформированному посредством формирователя 412 коэффициентов смешения для конкретного кадра (например, mix_factor[0]
1
- может соответствовать α), и mix_factor_new[i]
- соответствует i-му выходному коэффициенту 410 смешения для конкретного кадра (например, mix_factor_new[0]
- может соответствовать α1s). Сглаживание выполняется между кадрами через mix_factor_old, который обеспечивает сглаживание для первого субкадра текущего кадра на основе коэффициента смешения, определенного для последнего субкадра предыдущего кадра.
[0065] Третий подход может включать в себя формирование коэффициента α смешения с использованием адаптивного значения. Следующий псевдокод соответствует третьему подходу.
[0066] /*Подход 3: Формирование коэффициента смешения с использованием адаптивного K1*/
NB_SUBFR=4;
/*Оценка текущей энергии полосы высоких частот; при быстром варьировании, использование более медленного коэффициента сглаживания*/
if(hb_energy_prev>2*hb_energy_curr || hb_energy_curr>2*hb_energy_prev)
K1=0,8;
else
K1=0,3;
mix_factor_new[0]
=K1*mix_factor[0]
+(1-K1)*mix_factor_old;//первый субкадр
for(i=1; i<NB_SUBFR; i++)
{
mix_factor_new[i]
=K1*mix_factor[i]
+(1-K1)*mix_factor[i-1];
}
mix_factor_old=mix_factor_new[i];
[0067] В вышеуказанном псевдокоде для третьего подхода сглаживание активируется между кадрами способом, аналогичным второму подходу. Помимо этого значение K1 определяется на основе флуктуации энергии полосы высоких частот аудиосигнала. Например, первый весовой коэффициент (например, K1), применяемый к первому значению, и второй весовой коэффициент (например, 1-K1), применяемый ко второму значению, определяются на основе флуктуации энергии сигнала 124 полосы высоких частот по фиг. 1. Первое значение hb_energy_prev энергии полосы высоких частот соответствует энергии сигнала полосы высоких частот во время первой части аудиосигнала (например, предыдущего кадра), а второе значение hb_energy_curr энергии полосы высоких частот соответствует энергии сигнала полосы высоких частот во время второй части аудиосигнала (например, текущего кадра).
[0068] Когда флуктуация в энергии полосы высоких частот между кадрами определяется как относительно большая, первый весовой коэффициент (например, K1) и второй весовой коэффициент (например, 1-K1) определяются как имеющие значения, которые обеспечивают большую скорость изменения и меньшее сглаживание между коэффициентами смешения последовательных субкадров. Например, в псевдокоде для третьего подхода первый весовой коэффициент (например, K1=0,8) выбирается таким образом, что он превышает второй весовой коэффициент (например, (1-K1)=0,2), в ответ на превышение первым значением энергии полосы высоких частот первого порогового значения (например, когда hb_energy_prev превышает 2*hb_energy_curr) или в ответ на превышение вторым значением энергии полосы высоких частот второго порогового значения (например, когда hb_energy_curr превышает 2*hb_energy_prev). Первое пороговое значение соответствует второму значению (hb_energy_curr) энергии полосы высоких частот, масштабированному посредством коэффициента масштабирования (например, 2 в вышеуказанном псевдокоде). Второе пороговое значение соответствует первому значению (hb_energy_prev) энергии полосы высоких частот, масштабированному посредством коэффициента масштабирования.
[0069] Когда флуктуация в энергии полосы высоких частот между кадрами определяется как относительно небольшая, первый весовой коэффициент (например, K1) и второй весовой коэффициент (например, 1-K1) определяются как имеющие значения, которые обеспечивают меньшую скорость изменения и большее сглаживание между коэффициентами смешения последовательных субкадров. Например, в псевдокоде для третьего подхода, первый весовой коэффициент (например, K1=0,3) выбирается меньшим второго весового коэффициента (например, (1-K1)=0,7) в ответ на непревышение первым значением энергии полосы высоких частот первого порогового значения (например, когда hb_energy_prev меньше или равен 2*hb_energy_curr), и непревышение вторым значением энергии полосы высоких частот второго порогового значения (например, когда hb_energy_curr меньше или равен 2*hb_energy_prev).
[0070] Хотя псевдокод для третьего подхода предоставляет иллюстративный пример определения первого и второго весовых коэффициентов на основе флуктуации энергии полосы высоких частот, в других вариантах осуществления, альтернативные и/или дополнительные сравнения значений энергии полосы высоких частот между несколькими кадрами могут выполняться для того, чтобы определять значения первого и второго весовых коэффициентов и управлять сглаживанием коэффициента смешения.
[0071] Таким образом, как показано на фиг. 4, формирователь 160 возбуждения в полосе высоких частот может формировать сглаженные коэффициенты 410 смешения и может адаптивно определять один или более параметров сглаживания (например, K1) на основе величины флуктуации энергии полосы высоких частот между кадрами.
[0072] Ссылаясь на фиг. 5, показана блок-схема последовательности операций конкретного варианта осуществления способа выполнения регулировки усиления, которая, в общем, обозначается 500. В иллюстративном варианте осуществления способ 500 может осуществляться посредством системы 100 по фиг. 1, к примеру, посредством формирователя 160 возбуждения в полосе высоких частот.
[0073] Первое значение коэффициента смешения принимается на 502. Первое значение соответствует первой части аудиосигнала, принимаемого в аудиокодере. Второе значение коэффициента смешения принимается на 504. Второе значение соответствует второй части аудиосигнала. Первое значение может формироваться на основе части полосы низких частот первого субкадра аудиосигнала, а второе значение может формироваться на основе части полосы низких частот второго субкадра аудиосигнала. Например, модуль 409 регулирования коэффициентов смешения по фиг. 4 принимает значения коэффициентов 413 смешения из формирователя 412 коэффициентов смешения. В качестве иллюстрации, первое значение может соответствовать одному из α1, α2, α3 или α4, а второе значение может соответствовать другому из α1, α2, α3 или α4.
[0074] Третье значение коэффициента смешения формируется, по меньшей мере, частично на основе первого значения и второго значения на 506. Например, модуль 409 регулирования коэффициентов смешения формирует значения выходных коэффициентов 410 смешения на основе взвешенных сумм нескольких принимаемых значений коэффициентов 413 смешения.
[0075] Формирование третьего значения может включать в себя определение взвешенной суммы первого значения и второго значения. Например, на третьем подходе, описанном относительно модуля 409 регулирования коэффициентов смешения по фиг. 4, первый весовой коэффициент, применяемый к первому значению (например, K1), и второй весовой коэффициент, применяемый ко второму значению (например, 1-K1), могут определяться на основе флуктуации энергии полосы высоких частот аудиосигнала. Первый весовой коэффициент и второй весовой коэффициент могут определяться на основе первого значения энергии полосы высоких частот, соответствующего первой части, и дополнительно на основе второго значения энергии полосы высоких частот, соответствующего второй части (например, как описано в псевдокоде, соответствующем третьему подходу в качестве hb_energy_prev и hb_energy_curr соответственно). Первый весовой коэффициент может выбираться таким образом, что он превышает второй весовой коэффициент, в ответ на превышение первым значением энергии полосы высоких частот первого порогового значения (например, hb_energy_prev>первое пороговое значение) или в ответ на превышение вторым значением энергии полосы высоких частот второго порогового значения (например, hb_energy_curr>второе пороговое значение). Первое пороговое значение может соответствовать второму значению энергии полосы высоких частот, масштабированному посредством коэффициента масштабирования (например, первое пороговое значение=2*hb_energy_curr), и второе пороговое значение может соответствовать первому значению энергии полосы высоких частот, масштабированному посредством коэффициента масштабирования (например, второе пороговое значение=2*hb_energy_prev).
[0076] Первая часть может включать в себя первый субкадр аудиосигнала, и вторая часть может включать в себя второй субкадр аудиосигнала. Например, первый субкадр и второй субкадр могут находиться в одном кадре аудиосигнала. В качестве иллюстрации, каждый из первого подхода, второго подхода и третьего подхода, описанных относительно модуля 409 регулирования коэффициентов смешения по фиг. 4, может формировать третье значение коэффициента смешения на основе первого значения коэффициента смешения, соответствующего одному субкадру конкретного кадра, и второго значения коэффициента смешения, соответствующего другому субкадру конкретного кадра.
[0077] В качестве другого примера, первый субкадр и второй субкадр могут находиться в различных кадрах аудиосигнала. Например, второй подход и третий подход, описанные относительно модуля 409 регулирования коэффициентов смешения по фиг. 4, могут формировать третье значение коэффициента смешения (например, для первого субкадра конкретного кадра) на основе первого значения коэффициента смешения, соответствующего последнему субкадру предыдущего кадра, и на основе второго значения коэффициента смешения, соответствующего первому субкадру конкретного кадра.
[0078] Сигнал возбуждения смешивается с модулированным шумом на основе третьего значения коэффициента смешения на 508. Например, сигнал возбуждения в полосе высоких частот, соответствующий части полосы высоких частот аудиосигнала, может формироваться. Сигнал возбуждения в полосе высоких частот может формироваться на основе комбинирования модулированного шума и сигнала возбуждения, при этом сигнал возбуждения соответствует преобразованной версии сигнала возбуждения в полосе низких частот. Например, модуль 411 смешения по фиг. 4 может формировать сигнал 161 возбуждения в полосе высоких частот на основе комбинирования модулированных 420 шумов из модуля 406 комбинирования и преобразованной версии сигнала 144 возбуждения в полосе низких частот (соответствующей части полосы низких частот аудиосигнала 102 по фиг. 1). Коэффициент смешения может указывать отношение модулированного шума к преобразованной версии сигнала возбуждения в полосе низких частот. Например, сигнал возбуждения в полосе высоких частот может формироваться в качестве взвешенной суммы модулированного шума и преобразованной версии сигнала возбуждения в полосе низких частот.
[0079] В конкретных вариантах осуществления способ 500 по фиг. 5 может реализовываться через аппаратные средства (например, устройство на основе программируемой пользователем вентильной матрицы (FPGA), специализированную интегральную схему (ASIC) и т.д.) процессора, такого как центральный процессор (CPU), процессор цифровых сигналов (DSP) или контроллер, через микропрограммное устройство либо через любую комбинацию вышеозначенного. В качестве примера, способ 500 по фиг. 5 может осуществляться посредством процессора, который выполняет инструкции, к примеру, как описано относительно фиг. 7.
[0080] Ссылаясь на фиг. 6, показана блок-схема последовательности операций конкретного варианта осуществления способа выполнения регулировки усиления, которая в общем обозначается 600. В иллюстративном варианте осуществления способ 600 может осуществляться посредством системы 100 по фиг. 1, к примеру, посредством модуля 160 анализа полосы высоких частот.
[0081] Первый набор спектральных значений частоты, соответствующих аудиосигналу, определяется на 602. Например, первый набор спектральных значений частоты может формироваться посредством модуля 152 LP-анализа и кодирования по фиг. 1. В качестве иллюстрации, первый набор спектральных значений частоты может определяться посредством выполнения LPC-анализа, с тем чтобы формировать набор коэффициентов LP-фильтрации для каждого кадра части полосы высоких частот аудиосигнала, и может включать в себя преобразование коэффициентов LP-фильтрации.
[0082] Второй набор спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты, определяется, на 604. Например, второй набор спектральных значений может формироваться посредством квантователя 156 по фиг. 1. Второй набор спектральных значений частоты может определяться посредством выполнения поиска в таблице кодирования, такой как таблица 163 кодирования по фиг. 1, на основе первого набора спектральных значений частоты. В конкретном варианте осуществления первый набор спектральных значений частоты включает в себя значения частоты спектральной линии (LSF) и второй набор спектральных значений частоты включает в себя квантованные LSF-значения. В других вариантах осуществления первый набор спектральных значений частоты может представлять собой значения, отличные от LSF-значений. Например, первый набор спектральных значений частоты может включать в себя значения коэффициентов линейного прогнозирования (LPC), и второй набор спектральных значений частоты может включать в себя квантованные LPC-значения.
[0083] Значение усиления, соответствующее, по меньшей мере, части аудиосигнала, регулируется на основе разности между первым набором и вторым набором на 606. Значение усиления может соответствовать кадровому усилению кадра аудиосигнала. Например, значение кадрового усиления может формироваться на основе части полосы высоких частот аудиосигнала 102 по фиг. 1 и синтезированного сигнала полосы высоких частот, сформированного посредством применения сигнала 161 возбуждения в полосе высоких частот к синтезирующему фильтру, к примеру, синтезирующему фильтру 207 по фиг. 2. В конкретном варианте осуществления синтезирующий фильтр может быть сконфигурирован согласно первому набору спектральных значений частоты или согласно второму набору спектральных значений частоты (после того преобразования второго набора, с тем чтобы формировать неквантованные значения).
[0084] Регулирование значения усиления может включать в себя определение спектрального искажения между первым набором спектральных значений частоты и вторым набором спектральных значений частоты, на 608. Например, спектральное искажение может представлять собой SD 202, сформированное посредством модуля 201 обработки спектрального искажения по фиг. 2. Спектральное искажение, соответствующее разности между первым набором и вторым набором, может оцениваться согласно различным технологиям. Например, спектральное искажение может определяться согласно среднеквадратической ошибке значений во втором наборе спектральных значений частоты по сравнению со значениями в первом наборе спектральных значений частоты. В качестве другого примера, спектральное искажение может определяться согласно абсолютной разности между значениями во втором наборе спектральных значений частоты по сравнению со значениями в первом наборе спектральных значений частоты.
[0085] Регулирование значения усиления также может включать в себя определение коэффициента усиления на основе спектрального искажения, на 610. Коэффициент усиления может определяться согласно преобразованию значений спектрального искажения в значения коэффициента усиления, к примеру, как описано относительно коэффициента 204 усиления, сформированного посредством модуля 206 преобразования по фиг. 2 согласно преобразованию 300 по фиг. 3. В качестве иллюстрации, часть преобразования может задавать то, что увеличение спектрального искажения соответствует снижению значения коэффициента усиления, к примеру, как проиллюстрировано посредством наклонной части преобразования 300 между SD1 и SD2. Преобразование может выполняться, по меньшей мере, частично на основе значений спектрального искажения, соответствующих выпадающим значениям функции распределения вероятностей, к примеру, как описано относительно в SD1 и SD2 по фиг. 3.
[0086] Регулирование значения усиления также может включать в себя регулирование кадрового усиления посредством применения коэффициента усиления к кадровому усилению, на 612. В качестве иллюстрации, значение усиления может умножаться на коэффициент усиления, чтобы ослаблять части сигнала полосы высоких частот на основе величины ошибки квантования. Хотя способ 600 описывается относительно компонентов полосы высоких частот фиг. 1 и 4, способ 600 может применяться относительно сигнала 122 полосы низких частот по фиг. 1 или к любой другой части аудиосигнала 102, принимаемого в кодере.
[0087] В конкретных вариантах осуществления способ 600 по фиг. 6 может реализовываться через аппаратные средства (например, устройство на основе программируемой пользователем вентильной матрицы (FPGA), специализированную интегральную схему (ASIC) и т.д.) процессора, такого как центральный процессор (CPU), процессор цифровых сигналов (DSP) или контроллер, через микропрограммное устройство либо через любую комбинацию вышеозначенного. В качестве примера, способ 600 по фиг. 6 может осуществляться посредством процессора, который выполняет инструкции, как описано относительно фиг. 7.
[0088] Таким образом, фиг. 1-6 иллюстрируют примеры, включающие в себя системы и способы, которые выполняют регулировку усиления на основе оцененного спектрального искажения и/или выполняют сглаживание коэффициента смешения, чтобы уменьшать артефакты вследствие шума.
[0089] Ссылаясь на фиг. 7, проиллюстрирована блок-схема конкретного иллюстративного варианта осуществления устройства беспроводной связи, которое в общем обозначается 700. Устройство 700 включает в себя процессор 710 (например, центральный процессор (CPU), процессор цифровых сигналов (DSP) и т.д.), соединенный с запоминающим устройством 732. Запоминающее устройство 732 может включать в себя инструкции 760, выполняемые посредством процессора 710 и/или кодера/декодера 734 (кодека) для того, чтобы осуществлять способы и процессы, раскрытые в данном документе, к примеру, способы по фиг. 5-6.
[0090] Кодек 734 может включать в себя систему 776 шумовой модуляции. В конкретном варианте осуществления система 776 шумовой модуляции может включать в себя один или более компонентов системы 400 по фиг. 4. Система 776 шумовой модуляции может реализовываться через специализированные аппаратные средства (например, схему), посредством выполнения инструкций процессора для того, чтобы выполнять одну или более задач, либо через комбинацию вышеозначенного. В качестве примера, запоминающее устройство 732 или запоминающее устройство в кодеке 734 может представлять собой такое запоминающее устройство, как оперативное запоминающее устройство (RAM), магниторезистивное оперативное запоминающее устройство (MRAM), MRAM с передачей спинового крутящего момента (STT-MRAM), флэш-память, постоянное запоминающее устройство (ROM), программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), регистры, жесткий диск, съемный диск или постоянное запоминающее устройство на компакт-дисках (CD-ROM). Запоминающее устройство может включать в себя инструкции (например, инструкции 760), которые при выполнении посредством компьютера (например, процессора в кодеке 734 и/или процессора 710), могут инструктировать компьютеру принимать первое значение коэффициента смешения, соответствующее первой части аудиосигнала, принимать второе значение коэффициента смешения, соответствующее второй части аудиосигнала, и формировать третье значение коэффициента смешения, по меньшей мере, частично на основе первого значения и второго значения. В качестве примера, запоминающее устройство 732 или запоминающее устройство в кодеке 734 может представлять собой невременный машиночитаемый носитель, который включает в себя инструкции (например, инструкции 760), которые при выполнении посредством компьютера (например, процессора в кодеке 734 и/или процессора 710), инструктируют компьютеру осуществлять, по меньшей мере, часть способа 500 по фиг. 5.
[0091] Кодек 734 может включать в себя систему 778 регулировки усиления. В конкретном варианте осуществления система 778 регулировки усиления включает в себя модуль 162 регулировки усиления по фиг. 1. Система 778 регулировки усиления может реализовываться через специализированные аппаратные средства (например, схема), посредством процессора, выполняющего инструкции для того, чтобы выполнять одну или более задач или комбинацию вышеозначенного. В качестве примера, запоминающее устройство 732 может представлять собой запоминающее устройство, которое включает в себя инструкции (например, инструкции 760), которые при выполнении посредством компьютера (например, процессора в кодеке 734 и/или процессоре 710), инструктируют компьютеру определять первый набор спектральных значений частоты, соответствующих аудиосигналу, определять второй набор спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты, и регулировать значение усиления, соответствующее, по меньшей мере, части аудиосигнала, на основе разности между первым набором и вторым набором. В качестве примера, запоминающее устройство 732 или запоминающее устройство в кодеке 734 может представлять собой невременный машиночитаемый носитель, который включает в себя инструкции (например, инструкции 760), которые при выполнении посредством компьютера (например, процессора в кодеке 734 и/или процессора 710), могут инструктировать компьютеру осуществлять, по меньшей мере, часть способа 600 по фиг. 6.
[0092] Фиг. 7 также показывает контроллер 726 отображения, который соединяется с процессором 710 и с дисплеем 728. Кодек 734 может соединяться с процессором 710, как показано. Динамик 736 и микрофон 738 могут соединяться с кодеком 734. Например, микрофон 738 может формировать входной аудиосигнал 102 по фиг. 1, и кодек 734 может формировать выходной поток 192 битов для передачи в приемное устройство на основе входного аудиосигнала 102. В качестве другого примера, динамик 736 может использоваться для того, чтобы выводить сигнал, восстановленный посредством кодека 734 из выходного потока 192 битов по фиг. 1, при этом выходной поток 192 битов принимается из передающего устройства. Фиг. 7 также указывает то, что беспроводной контроллер 740 может соединяться с процессором 710 и с беспроводной антенной 742.
[0093] В конкретном варианте осуществления процессор 710, контроллер 726 отображения, запоминающее устройство 732, кодек 734, беспроводной контроллер 740 и приемо-передающее устройство 744 включаются в устройство 722 на основе системы в одном корпусе или внутрикристальной системы. В конкретном варианте осуществления устройство 730 ввода и источник 722 питания соединяются с устройством 728 на основе внутрикристальной системы. Кроме того, в конкретном варианте осуществления, как проиллюстрировано на фиг. 7, устройство 730 отображения, устройство 736 ввода, динамик 738, микрофон 742, антенна 744 и источник 722 питания являются внешними для устройства 728 на основе внутрикристальной системы. Тем не менее, каждое из устройства 730 отображения, устройства 736 ввода, динамика 738, микрофона 742, антенны 744 и источника 1844 питания может соединяться с компонентом устройства 722 на основе внутрикристальной системы, таким как интерфейс или контроллер.
[0094] В связи с описанными вариантами осуществления раскрыто устройство, которое включает в себя средство для формирования третьего значения коэффициента смешения, по меньшей мере, частично на основе первого значения коэффициента смешения и второго значения коэффициента смешения, при этом первое значение соответствует первой части аудиосигнала, принимаемого в аудиокодере, а второе значение соответствует второй части аудиосигнала. Например, средство для формирования может включать в себя формирователь 160 возбуждения в полосе высоких частот по фиг. 1, модуль 409 регулирования коэффициентов смешения по фиг. 4, систему 776 шумовой модуляции по фиг. 7 или ее компонент, одно или более устройств, таких как фильтр, выполненный с возможностью формировать третье значение на основе первого значения и второго значения (например, процессор, выполняющий инструкции в невременном машиночитаемом носителе хранения данных), либо любую комбинацию вышеозначенного.
[0095] Устройство также может включать в себя средство для формирования сигнала возбуждения в полосе высоких частот, соответствующего части полосы высоких частот аудиосигнала, посредством комбинирования модулированного шума и преобразованной версии сигнала возбуждения в полосе низких частот. Сигнал возбуждения в полосе низких частот соответствует части полосы низких частот аудиосигнала. Средство для формирования может быть выполнено с возможностью комбинировать модулированный шум и преобразованную версию сигнала возбуждения в полосе низких частот на основе третьего значения. Например, средство для формирования сигнала возбуждения в полосе высоких частот может включать в себя формирователь 160 возбуждения в полосе высоких частот по фиг. 1, микшер 411 по фиг. 4, систему 776 шумовой модуляции по фиг. 7 или ее компонент, одно или более устройств, выполненных с возможностью формировать сигнал возбуждения (например, процессор, выполняющий инструкции в невременном машиночитаемом носителе хранения данных), либо любую комбинацию вышеозначенного.
[0096] В связи с описанными вариантами осуществления раскрыто устройство, которое включает в себя средство для определения первого набора спектральных значений частоты, соответствующих аудиосигналу. Например, средство для определения первого набора может включать в себя модуль 152 LP-анализа и кодирования по фиг. 1, систему 778 регулировки усиления по фиг. 7 или ее компонент, одно или более устройств, выполненных с возможностью формировать спектральные значения частоты, соответствующие аудиосигналу (например, процессор, выполняющий инструкции в невременном машиночитаемом носителе хранения данных), либо любую комбинацию вышеозначенного.
[0097] Устройство также может включать в себя средство для формирования второго набора спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты. Например, средство для формирования второго набора может включать в себя квантователь 156 по фиг. 1, систему 778 регулировки усиления по фиг. 7 или ее компонент, одно или более устройств, выполненных с возможностью формировать второй набор спектральных значений частоты, который аппроксимирует первый набор спектральных значений частоты (например, процессор, выполняющий инструкции в невременном машиночитаемом носителе хранения данных), либо любую комбинацию вышеозначенного.
[0098] Устройство также может включать в себя средство для регулирования значения усиления, соответствующего, по меньшей мере, части аудиосигнала, на основе разности между первым набором и вторым набором. Например, средство для регулирования может включать в себя модуль 162 регулировки усиления по фиг. 1, систему 778 регулировки усиления по фиг. 7 или ее компонент, одно или более устройств, выполненных с возможностью регулировать значение усиления (например, процессор, выполняющий инструкции в невременном машиночитаемом носителе хранения данных), либо любую комбинацию вышеозначенного.
[0099] Специалисты в данной области техники дополнительно должны принимать во внимание, что различные иллюстративные логические блоки, конфигурации, модули, схемы и этапы алгоритма, описанные в связи с вариантами осуществления, раскрытыми в данном документе, могут быть реализованы как электронные аппаратные средства, компьютерное программное обеспечение, выполняемое посредством устройства обработки, такого как аппаратный процессор, либо как комбинации вышеозначенного. Различные иллюстративные компоненты, блоки, конфигурации, модули, схемы и этапы описаны выше, в общем, с точки зрения их функциональности. То, реализована эта функциональность в качестве аппаратных средств или исполняемого программного обеспечения, зависит от конкретного варианта применения и проектных ограничений, накладываемых на систему в целом. Специалисты в данной области техники могут реализовывать описанную функциональность различными способами для каждого конкретного варианта применения, но такие решения по реализации не должны быть интерпретированы как отступление от объема настоящего раскрытия сущности.
[00100] Этапы способа или алгоритма, описанные в связи с раскрытыми в данном документе вариантами осуществления, могут быть реализованы непосредственно в аппаратных средствах, в программном модуле, приводимом в исполнение посредством процессора, или в их комбинации. Программный модуль может постоянно размещаться в запоминающем устройстве, таком как оперативное запоминающее устройство (RAM), магниторезистивное оперативное запоминающее устройство (MRAM), MRAM с передачей спинового крутящего момента (STT-MRAM), флэш-память, постоянное запоминающее устройство (ROM), программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), регистры, жесткий диск, съемный диск или постоянное запоминающее устройство на компакт-дисках (CD-ROM). Примерное запоминающее устройство соединяется с процессором, так что процессор может считывать информацию и записывать информацию в запоминающее устройство. В альтернативном варианте, запоминающее устройство может быть встроено в процессор. Процессор и носитель хранения данных могут постоянно размещаться в специализированной интегральной схеме (ASIC). ASIC может постоянно размещаться в вычислительном устройстве или пользовательском терминале. В альтернативном варианте, процессор и носитель хранения данных могут постоянно размещаться как дискретные компоненты в вычислительном устройстве или пользовательском терминале.
[00101] Предшествующее описание раскрытых вариантов осуществления предоставлено для того, чтобы давать возможность специалистам в данной области техники создавать или использовать раскрытые варианты осуществления. Различные модификации в этих вариантах осуществления должны быть очевидными для специалистов в данной области техники, а описанные в данном документе принципы могут быть применены к другим вариантам осуществления без отступления от объема раскрытия сущности. Таким образом, настоящее раскрытие сущности не имеет намерение быть ограниченным, показанными в данном документе вариантами осуществления, а должно удовлетворять самому широкому возможному объему, согласованному с принципами и новыми признаками, задаваемыми посредством прилагаемой формулы изобретения.