СПОСОБ И УСТРОЙСТВО ДЛЯ МАСКИРОВАНИЯ ОШИБОК КОДИРОВАННЫХ АУДИОДАННЫХ
METHOD AND APPARATUS FOR MASKING ERRORS IN CODED AUDIO DATA

ОБЛАСТЬ ТЕХНИКИ
Изобретение относится к кодированию и декодированию аудиоданных и, в частности, к маскированию ошибок в кодированных аудиоданных.
УРОВЕНЬ ТЕХНИКИ
Данный раздел предназначен для описания предпосылок к созданию изобретения, изложенного в формуле изобретения. Данное описание может включать концепции, которые могли бы быть рассмотрены, но не обязательно те концепции, которые до этого были предложены или рассмотрены. Поэтому, если иное не указано явно, данный раздел не является описанием уровня техники для предлагаемого изобретения.
Встроенное кодирование с переменной скоростью, также называемое многоуровневым кодированием, обычно относится к алгоритму кодирования речи, который производит такой битовый поток, что подмножество этого битового потока может быть декодировано с хорошим качеством. Обычно базовый кодек работает на низких битовых скоростях и используется некоторое число уровней над базовым уровнем для улучшения качества выходного сигнала (включая, например, возможное расширение полосы частот или улучшение гранулярности кодирования). В декодере для получения выходного сигнала может быть декодирована либо часть битового потока, соответствующего базовому кодеку, либо дополнительные его части, либо весь битовый поток, соответствующий одному или более уровням над базовым уровнем.
Сектор телекоммуникаций международного союза электросвязи (ITU-T, International Telecommunication Union Telecommunication Standardization Sector) в настоящее время разрабатывает суперширокополосные (SWB, super-wideband) и стереофонические расширения для встроенных речевых кодеков с переменной скоростью, соответствующих стандартам G.718 (известного как EV-VBR) и G.729.1. Стандартизуемые расширение SWB, которое увеличивает полосу частот кодека EV-VBR с 7 кГц до 14 кГц, и стереофоническое расширение являются мостом между речевым кодированием и аудиокодированием. Стандарты G.718 и G.729.1 являются примерами базовых кодеков, над которым могут использоваться расширения.
В сетях беспроводной связи и в пакетных сетях имеют место канальные ошибки. Эти ошибки могут приводить к искажению некоторых сегментов данных (например, содержащих битовые ошибки), приходящих в приемник, а некоторые сегменты данных могут быть полностью потеряны или стерты. Например, в случае кодеков G.718 и G.729.1, канальные ошибки приводят к стиранию кадров. Необходимо обеспечить устойчивость к ошибкам в SWB (и стереофонии), в частности, для кодирования по стандарту G.718.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В одном из аспектов данного изобретения способ маскирования кадровых ошибок в кодированных аудиоданных включает прием кодированных аудиоданных в множестве кадров; и использование сохраненного одного или более значений параметров из одного или более предыдущих кадров для восстановления кадра с кадровой ошибкой. Использование сохраненного одного или более значений параметров включает получение значений параметров по меньшей мере частично на основе сохраненных одного или более значений параметров и применение полученных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибками.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируют для поддержания периодических компонент на верхних частотах.
В одном из вариантов осуществления изобретения сохраненные значения параметров включают спектральные значения модифицированного дискретного косинусного преобразования (MDCT, modified discrete cosine transform). Спектральные значения MDCT могут масштабироваться для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m(k+L)=m (k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров включают значения синусоидальных компонент. Значения синусоидальных компонент могут масштабироваться в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m(pos(k)+L)=m(pos(k))*fac
В одном из вариантов осуществления изобретения масштабирование сконфигурировано для постепенного снижения энергии длинных пачек ошибок.
В другом аспекте данного изобретения устройство содержит декодер, сконфигурированный для приема кодированных аудиоданных в множестве кадров; и использования сохраненного одного или более значений параметров из одного или более предыдущих кадров для восстановления кадра с кадровой ошибкой. Использование сохраненных значений параметров включает масштабирование сохраненных значений параметров и применение масштабированных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибками.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируются для поддержания периодических компонент на верхних частотах.
В одном из вариантов осуществления изобретения сохраненные значения параметров включают спектральные значения модифицированного дискретного косинусного преобразования (MDCT). Спектральные значения MDCT могут масштабироваться для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m(k+L)=m(k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров включают значения синусоидальных компонент. Значения синусоидальных компонент могут масштабироваться в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m(pos(k)+L)=m(pos(k))*fac
В одном из вариантов осуществления изобретения масштабирование сконфигурировано для постепенного снижения энергии для длинных пачек ошибок.
В другом аспекте данное изобретение относится к устройству, содержащему процессор и блок памяти, связанный с процессором. Данный блок памяти содержит компьютерный код для приема кодированных аудиоданных в множестве кадров и компьютерный код для использования сохраненных значений параметров из предыдущего кадра для восстановления кадра с кадровой ошибкой. Компьютерный код для использования сохраненных значений параметров содержит компьютерный код для масштабирования сохраненных значений параметров и применения масштабированных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируются для поддержания периодических компонент на верхних частотах.
В одном из вариантов осуществления изобретения сохраненные значения параметров включают спектральные значения модифицированного дискретного косинусного преобразования (MDCT). Компьютерный код для масштабирования может быть сконфигурирован для масштабирования спектральных значений MDCT для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m (k+L)=m(k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров включают значения синусоидальных компонент. Компьютерный код для масштабирования может быть сконфигурирован для масштабирования значений синусоидальных компонент в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m(pos(k)+L)=m(pos(k))*fac
В одном из вариантов осуществления изобретения компьютерный код для масштабирования сконфигурирован для постепенного снижения энергии для длинных пачек ошибок.
В другом аспекте изобретения компьютерный программный продукт, реализованный на машиночитаемом носителе, содержит компьютерный код для приема кодированных аудиоданных в множестве кадров и компьютерный код для использования сохраненных значений параметров из предыдущего кадра для восстановления кадра с кадровой ошибкой. Компьютерный код для использования сохраненных значений параметров содержит компьютерный код для масштабирования сохраненных значений параметров и применения масштабированных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируются для поддержания периодических компонент на верхних частотах.
В одном из вариантов осуществления изобретения сохраненные значения параметров включают спектральные значения модифицированного дискретного косинусного преобразования (MDCT). Компьютерный код для масштабирования может быть сконфигурирован для масштабирования спектральных значений MDCT для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m(k+L)=m(k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров включают значения синусоидальных компонент. Компьютерный код для масштабирования может быть сконфигурирован для масштабирования значений синусоидальных компонент в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m(pos(k)+L)=m(pos(k))*fac
В одном из вариантов осуществления изобретения компьютерный код для масштабирования сконфигурирован для постепенного снижения энергии для длинных пачек ошибок.
Эти и другие преимущества, а также признаки различных вариантов осуществления настоящего изобретения, их организация и способ работы станут понятными из последующего подробного описания и прилагаемых чертежей.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Примеры осуществления данного изобретения описываются со ссылкой на прилагаемые чертежи.
На фиг.1 представлена блок-схема, иллюстрирующая пример способа маскирования кадровой ошибки в соответствии с вариантом осуществления настоящего изобретения.
На фиг.2А и 2В проиллюстрировано применение способа маскирования кадровой ошибки к кадру общего типа в соответствии с вариантом осуществления настоящего изобретения.
На фиг.3А и 3В проиллюстрировано применение способа маскирования кадровой ошибки к тональному кадру в соответствии с вариантом осуществления настоящего изобретения.
На фиг.4 представлена общая структура системы, в которой могут быть реализованы различные варианты осуществления настоящего изобретения.
На фиг.5 представлен вид в перспективе примера электронного устройства, которое может применяться в соответствии с различными вариантами осуществления данного изобретения.
На фиг.6 показана общая структура схемы, которая может быть включена в электронное устройство, изображенное на фиг.5.
На фиг.7 показано графическое представление обобщенной мультимедийной системы связи, в которой могут быть реализованы различные варианты осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В последующем описании в целях объяснения, но не для ограничения представлены подробности и пояснения для обеспечения полного понимания настоящего изобретения. Однако специалистам будет очевидно, что настоящее изобретение может быть реализовано в других вариантах осуществления, которые выходят за рамки этих подробностей и пояснений.
Стирание кадров может искажать выходной сигнал базового кодека. В то время как восприятие эффектов стирания кадров минимизировано существующими механизмами, используемыми в кодеках, таких как G.718, форма сигнала во временной и частотной областях может сильно искажаться, особенно при большом количестве потерянных кадров. Один из примеров подхода, используемого для расширенного кодирования, состоит в отображении контента нижних частот на верхние частоты. При таком подходе стирание кадров низкочастотного контента может также воздействовать на качество сигнала на верхних частотах. Это может приводить к слышимым и некомфортным искажениям в восстановленном выходном сигнале.
Пример осуществления структуры расширенного кодирования для базовых кодекса, например упомянутых выше кодеков G.718 и G.729.1, может использовать два режима. Первый режим может быть режимом тонального кодирования, который оптимизирован для обработки тональных сигналов, представляющих диапазон периодических верхних частот. Второй режим может быть режимом общего кодирования, который обрабатывает другие типы кадров. Расширенное кодирование может функционировать, например, в области модифицированного дискретного косинусного преобразования (MDCT). В других вариантах осуществления изобретения могут использоваться другие преобразования, например быстрое преобразование Фурье (FFT, Fast Fourier Transform). В режиме тонального кодирования в спектральную область преобразования (например, в спектр MDCT) вводят синусоиды, которые аппроксимируют наиболее существенные для восприятия компоненты. В режиме общего кодирования диапазон верхних частот разделяют на одну или более частотных полос и область нижних частот, которая наиболее похожа на контент верхних частот в каждой частотной полосе, отображают на верхние частоты с использованием набора коэффициентов усиления (например, двух отдельных коэффициентов усиления). Этот вариант способа обычно называют «расширением полосы».
Варианты осуществления настоящего изобретения используют параметры расширенного кодирования описанного выше примера структуры с применением режимов общего и тонального кодирования для маскирования кадровой ошибки, чтобы минимизировать число некомфортных артефактов и поддержать воспринимаемые характеристики сигнала в части расширения при кадровых ошибках.
В одном из вариантов осуществления изобретения маскирование ошибок реализуют как часть структуры расширенного кодирования, включая классификацию на основе кадров, режим общего кодирования (например, режим расширения полосы), в котором диапазон верхних частот формируют отображением нижних частот на верхние частоты, и тональный режим кодирования, в котором кадр кодируют с добавлением некоторого числа синусоидальных компонент. В другом варианте осуществления изобретения маскирование ошибок реализовано как часть структуры расширенного кодирования, которая реализует комбинацию этих способов (т.е. комбинацию механизмов, используемых в режиме общего кодирования и в режиме тонального кодирования) для всех кадров, без этапа классификации. В другом варианте осуществления изобретения могут быть реализованы режимы кодирования, дополнительные к общему режиму и тональному режиму.
Расширенное кодирование, реализованное совместно с некоторым базовым кодированием, например с базовым кодеком стандарта G.718, обеспечивает различные параметры, которые могут быть использованы для маскирования кадровых ошибок. Доступные параметры в структуре расширенного кодирования могут включать: режим кодирования базового кодека, режим расширенного кодирования, параметры режима общего кодирования (например, индексы задержек для полос частот, знаки, набор коэффициентов усиления для отображения частотных полос, параметры регулировки энергии во временной области и подобные параметры, которые используют в тональном режиме) и параметры тонального режима (положения синусоид, знаки и амплитуды). Кроме того, обрабатываемый сигнал может состоять из одного канала либо множества каналов (например, стереофонический или бинауральный сигнал).
Варианты осуществления настоящего изобретения позволяют сохранять верхние частоты похожими по восприятию на частоты в предыдущем кадре для индивидуальных кадровых ошибок и осуществлять постепенное снижение энергии для длинных пачек ошибок. Таким образом, варианты осуществления настоящего изобретения могут быть также использованы при переключении от сигнала, содержащего расширения (например, сигнала SWB), к сигналу, содержащему только выходной сигнал базового кодека (например, к сигналу WB), что может иметь место, например, во встроенном масштабируемом кодировании или передаче, когда битовый поток усечен перед декодированием.
Поскольку тональный режим в основном используют для частей сигнала, имеющих периодический характер на верхних частотах, в некоторых вариантах осуществления настоящего изобретения используется допущение о том, что эти качества должны сохраняться в сигнале также и во время кадровых ошибок вместо получения точки разрыва. В то время как резкие изменения уровня энергии в некоторых кадрах могут создавать заметные раздражающие эффекты, целью для кадров общего типа может быть ослабление ошибочного выходного сигнала. В соответствии с некоторыми вариантами осуществления настоящего изобретения постепенное снижение энергии осуществляют достаточно медленно, поддерживая характеристики восприятия предыдущего кадра (или кадров) для единичных кадровых ошибок. В этом отношении варианты осуществления настоящего изобретения могут быть полезны при переключении от выходного сигнала расширенного кодека к выходному сигналу только базового кодека (например, от SWB к WB, когда уровни SWB усечены). Вследствие наложения-суммирования в MDCT вклад от предыдущего (корректного) кадра влияет на первый стертый кадр (или на кадр, идущий сразу после усечения битового потока) и разница между постепенным снижением энергии и вставкой кадра, состоящего из выборок с нулевыми значениями, может не быть заметной для некоторых сигналов.
Обратимся теперь к фиг.1, которая иллюстрирует пример процесса 200 маскирования ошибок кадра в соответствии с вариантом осуществления настоящего изобретения. Для реализации различных вариантов осуществления настоящего изобретения спектр MDCT верхнего уровня и информация о синусоидальных компонентах (например, положение, знаки и амплитуды) из одного или более предыдущих кадров могут быть сохранены в памяти для использования в следующем кадре в случае кадровой ошибки (блок 202). В блоке 204 процесс переходит к следующему кадру и определяет, имеется ли кадровая ошибка (блок 206). Если ошибки нет, процесс возвращается к блоку 202 и сохраняет вышеуказанные параметры. Таким образом, при кадровой ошибке спектр MDCT одного или более предыдущих кадров становится доступным и может быть обработан (например, масштабирован с уменьшением) и добавлен как вклад для высоких частот текущего кадра. Кроме того, информация, относящаяся к синусоидальным компонентам (например, положения, знаки и амплитуды) в спектре MDCT, также известна. Соответственно, может быть сгенерирован восстановленный кадр (блок 208).
На фиг.2А, 2В, 3А и 3В проиллюстрированы примеры реализации маскирования кадровой ошибки в соответствии с вариантами осуществления настоящего изобретения. На фиг.2А и 2В проиллюстрирован эффект применения маскирования кадровой ошибки к кадру общего типа. В связи с этим на фиг.2А показан спектр корректного кадра 210, не содержащего кадровой ошибки. Как указано выше, спектр MDCT верхнего уровня и информация о синусоидальных компонентах из одного или более предыдущих корректных кадров 210 могут быть сохранены. На фиг.2В показан пример спектра восстановленного кадра 220, заменяющего потерянный кадр, после применения маскирования кадровой ошибки в соответствии с вариантами осуществления настоящего изобретения. Как можно заметить на фиг.2А и 2В, энергия контента, полученного из предыдущего кадра (кадров) (фиг.2А), более ослаблена, в то время как синусоидальные компоненты 212, 214, 222, 224 менее ослаблены.
На фиг.3А и 3В проиллюстрировано применение маскирования кадровой ошибки к тональному кадру. В связи с этим на фиг.3А проиллюстрирован корректный кадр 230, не содержащий кадровые ошибки, а на фиг.3В проиллюстрирован восстановленный кадр 240, используемый для замены потерянного кадра после применения маскирования кадровой ошибки, в соответствии с вариантами осуществления настоящего изобретения. Для тональных кадров 230, 240 применено еще меньшее ослабление, чем для синусоидальных компонент 212, 214, 222, 224 сигнала общего типа на фиг.2А и 2В.
Таким образом, в соответствии с вариантами осуществления настоящего изобретения обработка спектра MDCT может быть описана следующим образом. Первое масштабирование выполняют для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m (k+L)=m(k)*fac
Второе масштабирование выполняют для синусоидальных компонент в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m(pos(k)+L)=m(pos(k))*fac
В других вариантах осуществления вместо применения постоянного масштабирующего коэффициента ко всем частотным компонентам также возможно использование масштабирующей функции, которая, например, ослабляет верхнюю часть высокочастотного диапазона больше, чем нижнюю часть.
В соответствии с вариантами осуществления настоящего изобретения значения масштабирующих коэффициентов могут быть выбраны на основе такой информации, как типы предыдущих кадров, используемых для маскирования ошибок. В одном из вариантов осуществления изобретения рассматривается только режим расширенного кодирования (например, режим SWB) предыдущего корректного кадра. Если это кадр общего типа, то используются масштабирующие коэффициенты, например 0.5 или 0.6. Для тонального кадра может быть использован масштабирующий коэффициент 0.9 для амплитуд синусоидальных компонент. Так, в этом варианте осуществления изобретения в спектре MDCT тональных кадров нет другого контента, кроме синусоидальных компонент, и процесс получения спектра MDCT для текущего спектра m(k), таким образом, может быть существенно упрощен. В других вариантах осуществления изобретения в режиме, принятом в качестве тонального, в спектре может быть другой контент, отличный от синусоид.
Заметим, что в некоторых вариантах осуществления изобретения могут рассматриваться данные более чем из одного из предыдущих кадров. Далее, некоторые варианты осуществления могут использовать, например, данные из одного предыдущего кадра, отличного от последнего кадра. В другом варианте осуществления могут рассматриваться данные из одного или более последующих кадров.
После того как спектр MDCT для потерянного кадра получен, он может быть обработан аналогичным образом для получения корректного кадра. Так, может быть применено обратное преобразование для получения сигнала во временной области. В некоторых вариантах осуществления изобретения спектр MDCT потерянного кадра также может быть сохранен для использования в следующем кадре в случае, если этот следующий кадр также будет потерян и будет необходимость в осуществлении процесса маскирования ошибок.
В некоторых вариантах осуществления настоящего изобретения к сигналу может быть применено дальнейшее масштабирование уже во временной области. В структуре, приводимой в качестве примера, которая может быть использована, например, совместно с кодеком G.718 или G.729.1, уменьшающее масштабирование сигнала может быть выполнено во временной области, например, на основе последовательности от субкадра к субкадру по 8 субкадрам в каждом кадре, если необходимость этого видна на стороне кодера. В соответствии с вариантами осуществления настоящего изобретения, чтобы избежать введения ненужного контента с сильной энергией на верхних частотах, могут быть использованы два примера мер, которые будут представлены ниже.
Во-первых, в случае если предыдущий корректный кадр кодирован в общем режиме, может быть выполнено уменьшающее масштабирование от субкадра к субкадру. Это уменьшение может использовать, например, значения масштабирования предыдущего корректного кадра или специальную схему масштабирования, назначенную для стираний кадров. В последнем варианте может быть, например, простое постепенное уменьшение энергии высоких частот в текущем кадре.
Во-вторых, вклад в полосу верхних частот может быть снижен с помощью гладкой оконной функции по одному или более потерянным (восстановленным) кадрам. В различных вариантах осуществления изобретения это действие может быть выполнено в дополнение к предыдущему масштабированию во временной области или вместо него.
Решающая логика для схемы масштабирования может быть более сложной или менее сложной в различных вариантах осуществления настоящего изобретения. В частности, в некоторых вариантах осуществления изобретения режим кодирования базового кодека может рассматриваться совместно с расширенным режимом кодирования. В вариантах осуществления изобретения могут рассматриваться некоторые параметры базового кодека. В одном из вариантов осуществления изобретения флаг тонального режима переключается в ноль после первого потерянного кадра для более быстрого ослабления синусоидальных компонент в случае, если состояние стирания кадра длится дольше, чем один кадр.
Таким образом, варианты осуществления настоящего изобретения обеспечивают улучшенные характеристики во время стираний кадра без появления заметных артефактов.
На фиг.4 показана система 10, в которой могут быть реализованы различные варианты осуществления настоящего изобретения и которая содержит множество устройств связи, которые могут осуществлять связь посредством одной или более сетей. Система 10 может содержать любую комбинацию проводных или беспроводных сетей, включая, не ограничиваясь этим, мобильную телефонную сеть, беспроводную локальную сеть (LAN), персональную сеть Bluetooth, LAN Ethernet, LAN с маркерным кольцом, глобальную сеть, сеть Интернет и т.д. Система 10 может содержать как проводные, так и беспроводные устройства связи.
В качестве примера, система 10, показанная на фиг.4, содержит мобильную телефонную сеть 11 и сеть Интернет 28. Соединение с сетью Интернет 28 может включать, не ограничиваясь этим, дальние беспроводные соединения, ближние беспроводные соединения и различные проводные соединения, включая, не ограничиваясь этим, телефонные линии, кабельные линии, силовые линии и т.п.
Примеры устройств связи системы 10 могут включать, не ограничиваясь этим, электронное устройство 12 в форме мобильного телефона, сочетание персонального цифрового ассистента (PDA, personal digital assistant) и мобильного телефона 14, PDA 16, интегрированное устройство 18 обмена сообщениями (IMD, integrated messaging device), настольный компьютер 20, ноутбук 22 и т.д. Устройства связи могут быть стационарными или мобильными, переносимыми пользователем, который перемещается. Устройства связи могут также быть расположены в транспортном средстве, включая, не ограничиваясь этим, автомобиль, грузовик, такси, автобус, поезд, судно, самолет, велосипед, мотоцикл и т.д. Некоторые или все устройства связи могут передавать и принимать вызовы и сообщения, а также связываться с провайдерами услуг посредством беспроводного соединения 25 с базовой станцией 24. Базовая станция 24 может быть соединена с сетевым сервером 26, который позволяет осуществлять связь между мобильной телефонной сетью 11 и сетью Интернет 28. Система 10 может содержать дополнительные устройства связи и устройства связи различных типов.
Устройства связи могут осуществлять связь, используя различные технологии передачи, включая, не ограничиваясь этим, множественный доступ с кодовым разделением каналов (CDMA, Code Division Multiple Access), глобальную систему мобильной связи (GSM, Global System for Mobile Communication), универсальную систему мобильной связи (UMTS, Universal Mobile Telecommunications System), множественный доступ с временным разделением каналов (TDMA, Time Division Multiple Access), множественный доступ с частотным разделением каналов (FDMA, Frequency Division Multiple Access), протокол управления передачей/Интернет-протокол (TCP/IP, Transmission Control Protocol/Internet Protocol), службу коротких сообщений (SMS, Short Messaging Service), службу мультимедийных сообщений (MMS, Multimedia Messaging Service), электронную почту, службу непосредственных сообщений (IMS, Instant Messaging Service), технологию Bluetooth, технологию IEEE 802.11 и т.д. Устройство связи, используемое для реализации различных вариантов осуществления настоящего изобретения, может осуществлять связь с применением различных сред, включая, не ограничиваясь этим, радио, инфракрасное излучение, лазер, кабельное соединение и т.п.
На фиг.5 и 6 показан пример электронного устройства 28, которое может использоваться как сетевой узел, в соответствии с различными вариантами осуществления настоящего изобретения. Должно быть ясно, однако, что настоящее изобретение не ограничивается одним конкретным типом устройства. Электронное устройство 28, изображенное на фиг.5 и 6, содержит корпус 30, дисплей 32 в форме жидкокристаллического дисплея, клавиатуру 34, микрофон 36, динамик 38, батарею 40, инфракрасный порт 42, антенну 44, смарт-карту 46 стандарта UICC в соответствии с одним из вариантов осуществления изобретения, считыватель 48 с карты, схему радиоинтерфейса 52, схему кодека 54, контроллер 56 и память 58. Описанные выше компоненты позволяют электронному устройству 28 отправлять другим устройствам или принимать от других устройств различные сообщения, которые могут находиться в сети, в соответствии с различными вариантами осуществления настоящего изобретения. Отдельные схемы и элементы хорошо известны, например, в модельном ряде мобильных телефонов фирмы Nokia.
На фиг.7 проиллюстрировано графическое представление обобщенной мультимедийной системы связи, в которой могут быть реализованы различные варианты осуществления изобретения. Как показано на фиг.7, источник 100 данных обеспечивает исходный сигнал или в аналоговом, или несжатом цифровом, или сжатом цифровом форматах, или в любой комбинации этих форматов. Кодер 110 кодирует исходный сигнал в кодированный битовый поток. Следует отметить, что битовый поток для декодирования может быть принят непосредственно или косвенно от удаленного устройства, расположенного практически в любом типе сети. Дополнительно, битовый поток может быть принят от локального аппаратного или программного обеспечения. Кодер 110 может иметь возможность кодирования более чем одного типа медиаинформации, например аудиоинформации и видеоинформации, или может потребоваться более чем один кодер 110 для кодирования различных типов медиаинформации исходного сигнала. Кодер 110 может также получать синтетически образованный входной сигнал, например графику и текст, или может иметь возможность создавать кодированный битовый поток синтетической медиаинформации. Далее для упрощения описания рассматривается обработка кодированного битового потока медиаинформации только одного типа. Следует отметить, однако, что обычно вещательные службы реального времени содержат несколько потоков (обычно по меньшей мере аудиопоток, видеопоток и текстовый субтитровый поток). Также следует отметить, что система может содержать множество кодеров, но на фиг.7 для упрощения описания представлен только кодер 110. Должно быть понятно, что несмотря на то, что описание и примеры относятся конкретно к процессу кодирования, такие же концепции и принципы также применимы к соответствующему процессу декодирования и наоборот.
Кодированный битовый медиапоток передается в память 120. Память 120 может включать любой тип массовой памяти для хранения кодированного битового медиапотока. Формат кодированного битового медиапотока в памяти 120 может быть форматом элементарного независимого битового потока, либо один или более кодированных битовых медиапотоков могут быть инкапсулированы в файл контейнера. Некоторые системы работают «на лету», т.е. не используют память, и передают напрямую кодированный битовый медиапоток от кодера 110 к отправителю 130. Кодированный битовый медиапоток затем передается к отправителю 130, также называемому сервером, по мере необходимости. Формат, используемый в этой передаче, может быть форматом элементарного независимого битового потока, форматом пакетного потока, либо один или более кодированных битовых медиапотоков могут быть инкапсулированы в файл контейнера. Кодер 110, память 120 и сервер 130 могут находиться в одном физическом устройстве или в отдельных устройствах. Кодер 110 и сервер 130 могут работать с контентом реального времени, в этом случае кодированный битовый медиапоток обычно не сохраняется постоянно, а буферизируется на малые периоды времени в кодере 110 контента и/или в сервере 130 для сглаживания вариаций в задержке обработки, задержке передачи и скорости кодированного битового медиапотока.
Сервер 130 передает кодированный битовый медиапоток, используя стек протоколов связи. Этот стек может включать, не ограничиваясь этим, транспортный протокол реального времени (RTP, Real-Time Transport Protocol), протокол датаграмм пользователя (UDP, User Datagram Protocol) и Интернет-протокол (IP, Internet Protocol). Если стек протокола связи является пакетно-ориентированным, сервер 130 инкапсулирует кодированный битовый медиапоток в пакеты. Например, если используется протокол RTP, сервер 130 инкапсулирует кодированный битовый медиапоток в пакеты протокола RTP в соответствии с форматом полезной нагрузки протокола RTP. Обычно каждый тип медиаинформации имеет специальный формат полезной нагрузки протокола RTP. Следует отметить, что система может содержать более чем один сервер 130, но для упрощения в последующем описании будет рассматриваться только один сервер 130.
Сервер 130 может соединяться или не соединяться со шлюзом 140 через сеть связи. Шлюз 140 может выполнять различные типы функций, такие как преобразование пакетного потока из одного стека протоколов связи в другой стек протоколов связи, объединение и разветвление потоков данных и манипуляция потоком данных в соответствии с возможностями нисходящего канала и/или приемника, например управление скоростью битов перенаправляемого потока согласно преобладающим условиям нисходящего канала сети. Примеры шлюзов 140 включают MCU, шлюзы между системами видеотелефонии с коммутацией каналов и коммутацией пакетов, серверы сотовой связи «нажми и говори» (РоС, Push-to-talk over Cellular), инкапсуляторы IP в системах мобильной широковещательной передачи цифрового видео (DVB-H, digital video broadcasting-handheld) или цифровые телевизионные приставки, которые направляют широковещательные передачи локально к домашним беспроводным сетям. Если используется протокол RTP, то шлюз 140 называется микшером RTP или транслятором RTP и обычно действует как конечная точка соединения RTP.
Система содержит один или более приемников 150, обычно имеющих возможность приема, демодуляции и извлечения передаваемого сигнала в кодированный битовый медиапоток. Кодированный битовый медиапоток передается в память 155. Память 155 может включать любой тип массовой памяти для хранения кодированного битового медиапотока. Память 155 может альтернативно или дополнительно содержать вычислительную память, такую как память с произвольным доступом. Формат кодированного битового медиапотока в памяти 155 может быть форматом элементарного независимого битового потока, либо один или более кодированных битовых медиапотоков могут быть инкапсулированы в файл контейнера. Если имеется множество кодированных битовых медиапотоков, например аудиопоток и видеопоток, ассоциированные друг с другом, обычно используется файл контейнера, и приемник 150 содержит генератор файла контейнера или присоединен к генератору файла контейнера, создающему файл контейнера из входных потоков. Некоторые системы работают «на лету», т.е. не используют память 155, и непосредственно передают кодированный битовый медиапоток от приемника 150 к декодеру 160. В некоторых системах только последняя часть записанного потока, например последний 10-минутный отрывок записанного потока, сохраняются в памяти 155, в то время как любые более ранние записанные данные отбрасываются из памяти 155.
Кодированный битовый медиапоток передается из памяти 155 декодеру 160. Если имеется множество кодированных битовых медиапотоков, например аудиопоток и видеопоток, ассоциированные друг с другом и инкапсулированные в файл контейнера, применяется анализатор файла (не показан) для извлечения каждого кодированного битового потока из файла контейнера. Память 155 или декодер 160 могут содержать анализатор файла, или анализатор файла может присоединяться к памяти 155 или декодеру 160.
Кодированный битовый медиапоток обычно далее обрабатывается декодеров 160, на выходе которого выдаются один или более несжатых медиапотоков. В конечном счете устройство 170 воспроизведения может воспроизвести несжатые медиапотоки, например, с помощью громкоговорителя или дисплея. Приемник 150, память 155, декодер 160 и устройство 170 воспроизведения могут находиться в одном физическом устройстве или могут быть включены в отдельные устройства.
Отправитель 130 в соответствии с различными вариантами осуществления изобретения может быть сконфигурирован для выбора передаваемых уровней по различным причинам, например для ответа на запрос приемника 150 или по преобладающим условиям сети, по которой передается битовый поток. Запрос от приемника может быть, например, запросом на изменение уровней для отображения либо изменения устройства воспроизведения, имеющего другие возможности по сравнению с предыдущим устройством.
Различные варианты осуществления описаны в общем контексте шагов способа или процессов, которые могут быть реализованы в одном из вариантов осуществления изобретения с помощью компьютерного программного продукта, размещенного на машиночитаемом носителе и включающего машиночитаемые инструкции (например, программный код), исполняемые компьютером в сетевом окружении. Машиночитаемый носитель может включать съемные и несъемные устройства хранения, включая, не ограничиваясь этим, постоянное запоминающее устройство (ROM, Read Only Memory), оперативную память (RAM, Random Access Memory), компакт-диски (CD, compact disc), цифровые универсальные диски (DVD, digital versatile disc) и т.д. Обычно программные модули могут содержать процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Исполняемые инструкции, ассоциированные структуры данных и программные модули представляют примеры программного кода для выполнения описанных выше шагов способов. Определенная последовательность таких исполняемых инструкций или ассоциированных структур данных представляет примеры соответствующих действий для реализации функций, описанных в таких шагах или процессах.
Варианты осуществления изобретения могут быть реализованы программно, аппаратно, с помощью специализированной логики или с помощью комбинации программных средств, аппаратных средств и специализированной логики. Программные средства, специализированная логика и/или аппаратные средства могут находиться, например, в наборе микросхем (чипсете), мобильном устройстве, настольном компьютере, ноутбуке или сервере. Программное обеспечение и сетевые реализации различных вариантов осуществления изобретения могут быть реализованы с помощью стандартных технологий программирования с логикой на базе правил или другой логикой для осуществления различных этапов или процессов поиска в базе данных, этапов или процессов корреляции, сравнения и решения. Различные варианты осуществления изобретения могут быть также реализованы полностью или частично в сетевых элементах или модулях. Следует отметить, что слова «компонент» и «модуль», используемые в описании и формуле изобретения, обозначают реализации с использованием одной или более строк программного кода и/или аппаратные реализации, и/или оборудование для приема данных, вводимых вручную.
Описание вариантов осуществления изобретения приведено для целей иллюстрации. Это описание не является исчерпывающим и не ограничивает варианты осуществления настоящего изобретения конкретными описанными формами, возможны модификации и изменения как в свете вышеприведенных положений, так и в ходе реализации различных вариантов осуществления настоящего изобретения. Рассмотренные варианты осуществления были выбраны и описаны для объяснения принципов и сути различных вариантов осуществления изобретения и их практического применения, чтобы позволить специалисту реализовать настоящее изобретение в различных вариантах его осуществления и с различными модификациями, подходящими для конкретного использования. Признаки описанных вариантов осуществления могут объединяться в любые комбинации способов, устройств, модулей, систем и компьютерных программных продуктов.
В одном аспекте данного изобретения способ маскирования кадровых ошибок в кодированных аудиоданных включает прием кодированных аудиоданных в множестве кадров; и использование сохраненного одного или более значений параметров из одного или более предыдущих кадров для восстановления кадра с кадровой ошибкой. Использование сохраненного одного или более значений параметров включает получение значений параметров по меньшей мере частично на основе одного или более значений параметров и применение полученных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируют для поддержания периодических компонент на верхних частотах.
В одном из вариантов осуществления изобретения сохраненные значения параметров включают спектральные значения модифицированного дискретного косинусного преобразования (MDCT). Спектральные значения MDCT могут масштабироваться для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m(k+L)=m(k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров включают значения синусоидальных компонент.
Значения синусоидальных компонент могут масштабироваться в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m
m(pos(k)+L)=(pos(k))*fac
В одном из вариантов осуществления изобретения масштабирование сконфигурировано для постепенного снижения энергии для длинных пачек ошибок.
В другом аспекте данного изобретения устройство содержит декодер, сконфигурированный для приема кодированных аудиоданных в множестве кадров и использования сохраненных значений параметров из предыдущего кадра для восстановления кадра с кадровой ошибкой. Использование сохраненных значений параметров включает масштабирование сохраненных значений параметров и применение масштабированных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибками.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируют для поддержания периодических компонент на верхних частотах.
В одном из вариантов осуществления изобретения сохраненные значения параметров содержат спектральные значения модифицированного дискретного косинусного преобразования (MDCT). Спектральные значения MDCT могут масштабироваться для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m(k+L)=m(k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров содержат значения синусоидальных компонент.
Значения синусоидальных компонент могут масштабироваться в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m
m(pos(k)+L)= (pos (k))*fac
В одном из вариантов осуществления изобретения масштабирование сконфигурировано для постепенного снижения энергии для длинных пачек ошибок.
В другом аспекте данное изобретение относится к устройству, содержащему процессор и блок памяти, связанный с процессором. Блок памяти содержит компьютерный код для приема кодированных аудиоданных в множестве кадров и компьютерный код для использования сохраненных значений параметров из предыдущего кадра для восстановления кадра с кадровой ошибкой. Компьютерный код для использования сохраненных значений параметров содержит компьютерный код для масштабирования сохраненных значений параметров и применения масштабированных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируют для поддержания периодических компонент на верхних частотах.
В одном варианте осуществления сохраненные значения параметров включают спектральные значения модифицированного дискретного косинусного преобразования (MDCT). Компьютерный код для масштабирования может быть сконфигурирован для масштабирования спектральных значений MDCT для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m(k+L)=m(k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров содержат значения синусоидальных компонент. Компьютерный код для масштабирования может быть сконфигурирован для масштабирования значений синусоидальных компонент в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m
m(pos(k)+L)=(pos(k))*fac
В одном из вариантов осуществления изобретения компьютерный код для масштабирования сконфигурирован для постепенного снижения энергии для длинных пачек ошибок.
В другом аспекте компьютерный программный продукт, реализованный на машиночитаемом носителе, содержит компьютерный код для приема кодированных аудиоданных в множестве кадров; и компьютерный код для использования сохраненных значений параметров из предыдущего кадра для восстановления кадра с кадровой ошибкой. Компьютерный код для использования сохраненных значений параметров содержит компьютерный код для масштабирования сохраненных значений параметров и применения масштабированных значений к кадру с кадровой ошибкой.
В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров одного или более предыдущих кадров без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров ближайшего предыдущего кадра без ошибок. В одном из вариантов осуществления изобретения сохраненные значения параметров соответствуют значениям параметров предыдущего восстановленного кадра с ошибками.
В одном из вариантов осуществления изобретения сохраненные значения параметров масштабируют для поддержания периодических компонент на верхних частотах.
В одном из вариантов осуществления изобретения сохраненные значения параметров включают спектральные значения модифицированного дискретного косинусного преобразования (MDCT). Компьютерный код для масштабирования может быть сконфигурирован для масштабирования спектральных значений MDCT для всего диапазона верхних частот в соответствии с:
highspectrum
for k=0; k<L; k++
lowspectrum
prev
spect
m(k+L)=m(k)*fac
В одном из вариантов осуществления изобретения сохраненные значения параметров содержат значения синусоидальных компонент. Компьютерный код для масштабирования может быть сконфигурирован для масштабирования значений синусоидальных компонент в соответствии с:
sin
for k=0; k<N; k++
sin
lowspectrum
prev
sin
sin
m
m(pos(k)+L)=(pos(k))*fac
В одном варианте осуществления компьютерный код для масштабирования сконфигурирован для постепенного снижения энергии для длинных пачек ошибок.