СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ ИЗБЫТОЧНОСТЬЮ
SYSTEM AND METHOD OF CONTROLLING REDUNDANCY

Область техники
[0001] Настоящее изобретение относится, в общем, к кодированию речи. Более конкретно настоящее изобретение относится к кодированию речи, обеспечению устойчивости к ошибкам и передаче речи по сети с пакетной коммутацией для приложений, связанных с передачей речевых данных по протоколу Интернет (VoIP, Voice over IP).
Предпосылки изобретения
[0002] Назначение этого раздела состоит в том, чтобы изложить предпосылки или контекст изобретения, которое раскрыто в пунктах формулы изобретения. Здесь описание может включать концепции, которые могли рассматриваться ранее, но не обязательно уже рассматривались и предлагались. Поэтому если не сказано иначе, то содержание этого раздела не является описанием известного уровня техники для данного изобретения, и упоминание о чем-либо в настоящем разделе не предполагает, что это есть описание известного уровня техники.
[0003] В текущих протоколах передачи в сетях с пакетной коммутацией происходит удаление всех IP пакетов, в которых приемником обнаружены ошибки в двоичном разряде. Другими словами, при приеме, если обнаружены ошибки, протокольный стек не передает в уровень приложения никаких искаженных пакетов. Поэтому когда IP пакеты передаются по подверженным ошибкам радиолиниям или по любым средам, которые вызывают ошибки, уровень приложения сталкивается с потерями некоторых пакетов. И наоборот, в таких устройствах ни один из пакетов, который достигает уровня приложения, не содержит никаких остаточных ошибок в двоичном коде.
[0004] Поскольку искаженные пакеты не передаются в прикладной уровень, алгоритмы маскирования ошибок не могут использовать кадры, правильные только частично. Такие недостающие кадры необходимо заменить. Ситуация усложняется, когда потеряно более одного последовательного пакета. Для борьбы с такими последствиями потери пакетов были предложены различные способы. Некоторые типичные способы включают использование мультидескрипторного кодирования, в котором информация распределена более чем в нескольких IP-пакетах, а также прямая коррекция ошибок (FEC, forward error correction) на уровне приложения, в которой для восстановления потерянных пакетов используется информация прямой коррекции ошибок.
[0005] В дополнение к вышесказанному еще один подход для решения проблемы потерь пакетов включает использование передачи с избыточностью. Преимущество передачи с избыточностью заключается в низких требованиях к вычислениям. Передачу с избыточностью осуществляют просто путем объединения текущего кадра с одним или несколькими предыдущими кадрами в пределах одного пакета. Расшифровка избыточного потока также является простой; когда пакет потерян, для получения соответствующего кадра для декодирующего устройства приемник должен только ожидать прихода следующего пакета. Однако проблемой при технической реализации избыточности кадров является необходимость повышения скорости передачи данных. При избыточности кадров, по существу, имеет место удвоение требований к ширине полосы всякий раз, когда к IP пакету присоединяют другой кадр. Кроме того, при избыточности кадров возрастает полная задержка, поскольку приемнику необходимо буферизировать речевые кадры с применением такой же избыточности.
[0006] Обычные решения для адаптации режима кодека и выбора режима передачи с избыточностью в общем случае включают или сохранение существующей скорости передачи данных и простое копирование одного или более предыдущих кадров в пределах пакета или, с другой стороны, снижение скорости кодека так, чтобы полная результирующая скорость не возросла значительно. Например, при применении узкополосного речевого вызова с использованием адаптивного мультискоростного кодека [AMR, Adaptive Multi-Rate] и скорости 12,2 кбит/сек, 100%-ная избыточность, то есть передача текущего кадра с одним предыдущим речевым кадром, прикрепленным к пакету, достигается в режиме 5,9 кбит/сек, что дает в результате скорость передачи данных 11,8 кбит/сек. Далее 200%-ная избыточность, то есть использование двух прикрепленных предыдущих речевых кадров выполняют в режиме 4,75 кбит/сек, что дает в результате скорость передачи 14,25 кбит/сек. AMR представляет собой систему сжатия аудиоданных, в которой используется адаптация связи с выбором одной из восьми различных скоростей передачи данных на основе состояния связи. При использовании AMR-WB (AMR Wideband, широкополосный AMR), когда номинальная скорость равна, например, 12,65 кбит/сек, 100%-ная избыточность при наименьшей осуществимой скорости (8,85 кбит/сек) приводит к значению 17,7 кбит/сек. Кроме того, всегда возможно, что сеть и/или приемный терминал не поддерживает режим кодека, который автоматически выбран для передачи с избыточностью на основе требований к скорости передачи данных.
[0007] Описание одной из ранее предложенных систем для решения указанной проблемы можно найти по адресу www.ietf.org/rfc/rfc3267.txt. В этой системе отправитель отвечает за выбор соответствующей степени избыточности на основе сигнала обратной связи, который принят (например, в отчетах приемника, работающего в рамках протокола управления передачей в реальном времени [RTCP, Real-Time Control Protocol) по используемому каналу. Однако эта система основана на обратной связи и поэтому может привести к проблемам, если из декодирующего устройства не принята соответствующая информация.
[0008] Поэтому было бы желательно разработать систему и способ, который решает вышеуказанные проблемы.
Сущность изобретения
[0009] Различные варианты выполнения настоящего изобретения представляют систему и способ для более эффективного управления избыточностью в приложениях, связанных с кодированием речи. Согласно различным вариантам выполнения настоящего изобретения передающее устройство выбирает при передаче уровень избыточности, который соответствует текущему состоянию канала передачи, и в то же время выбирает наиболее подходящую скорость передачи данных из имеющегося набора режимов кодека. В вариантах выполнения настоящего изобретения используемый уровень избыточности при передаче всегда оптимален по отношению к выбранному режиму кодека, и нет необходимости в согласовании кодека. Ограничения на изменение периода режима кодека и возможность изменения режима только на соседние режимы могут ограничить скорость адаптации мультискоростного кодека (что обсуждается в документе по адресу www.ietf.org/rfc/rfc3267.txt). В этом случае при передаче с избыточностью используются промежуточные режимы в рамках согласованных пределов адаптации при пошаговом продвижении к оптимальной конфигурации режима кодека. Система и способ в различных вариантах выполнения настоящего изобретения могут быть использованы практически в любом мультискоростном речевом кодере, например 3GPP AMR и AMR-WB.
[0010] Эти и другие преимущества и особенности изобретения вместе с устройством и режимами работы станут очевидными из последующего подробного описания совместно с сопровождающими чертежами, где одинаковые элементы обозначены одинаковыми позициями.
Краткое описание чертежей
[0011] На фиг.1 показана типичная система мультимедиа связи для использования совместно с настоящим изобретением;
[0012] на фиг.2 показана последовательность операций, демонстрирующая различные варианты выполнения настоящего изобретения;
[0013] на фиг.3 показан вид в перспективе электронного устройства, которое может использоваться при реализации настоящего изобретения, и
[0014] на фиг.4 изображена электрическая схема мобильного телефона, показанного на фиг.3.
Подробное описание различных вариантов осуществления изобретения
[0015] Различные варианты выполнения настоящего изобретения относятся к системе и способу для более эффективного управления избыточностью в приложениях, связанных с кодированием речи. Согласно различным вариантам выполнения настоящего изобретения передающее устройство при передаче выбирает уровень избыточности, который подходит для текущих условий канала передачи, выбирая в то же время наиболее благоприятную скорость передачи данных из имеющегося набора режимов кодека. В вариантах выполнения настоящего изобретения используемый уровень избыточности при передаче всегда оптимален по отношению к выбранным режимам кодека, и нет необходимости в согласовании кодека. Ограничения на период изменения режима кодека и изменение режимов только на соседние режимы могут ограничить скорость адаптации мультискоростного кодека (что обсуждается в документе по адресу www.ietf.org/rfc/rfc3267.txt.) В этом случае при передаче с избыточностью при пошаговом перемещении режима кодека к оптимальной конфигурации используются промежуточные режимы в пределах согласованных ограничений адаптации. Система и способ для различных вариантов выполнения настоящего изобретения могут быть в целом применены фактически к любому мультискоростному речевому кодеру, например 3GPP AMR-кодерам и кодерам AMR-WB.
[0016] На фиг.1 показана типичная система мультимедиа связи для использования вместе с настоящим изобретением. Как показано на фиг.1, источник 100 данных выдает исходный сигнал в аналоговом, несжатом цифровом или сжатом цифровом формате или в любой комбинации этих форматов. Кодер 110 кодирует исходный сигнал в кодированный двоичный поток медиаданных. Кодер 110 может быть способен кодировать более одного типа медиаданных, например аудио и видео, или же для кодирования различных видов медиаданных исходного сигнала может понадобиться более одного кодера 110. Кроме того, кодер 110 может получать искусственно созданные входные сигналы, например графические данные и текст, или он может быть способен генерировать кодированные двоичные потоки медиаданных. Ниже для упрощения описания рассматривается обработка только одного кодированного двоичного потока одного типа медиаданных. Однако следует отметить, что типичные службы трансляции в реальном времени включают несколько потоков (обычно, по меньшей мере, потоки с аудиоданными, видеоданными и текстом для субтитров). Кроме того, следует отметить, что система может включать много кодеров, но в последующем описании для упрощения, не нарушающего общность, рассмотрен только один кодер 110.
[0017] Кодированный двоичный поток медиаданных попадает в память 120. Память 120 может включать любой тип памяти большой емкости, предназначенный для хранения кодированного двоичного потока медиаданных. Формат кодированного двоичного потока медиаданных в памяти 120 может быть элементарным автономным форматом двоичного потока или одним или несколькими кодированными битовыми потоками медиаданных, встроенными в контейнерный файл. Некоторые системы работают «на лету», то есть не используют память и передают кодированный двоичный поток медиаданных из кодера 110 непосредственно отправителю 130. Затем кодированный двоичный поток медиаданных передается отправителю 130, также называемому сервером, на основе потребности. Формат, используемый при передаче, может быть элементарным автономным форматом двоичного потока, форматом пакетного потока или одним или несколькими кодированными битовыми потоками медиаданных, включенными в контейнерный файл. Кодер 110, память 120 и отправитель 130 могут располагаться в одном и том же физическом устройстве, или же они могут входить в отдельные устройства. Кодер 110 и отправитель 130 могут работать с контентом в реальном времени в прямом эфире, когда кодированный двоичный поток медиаданных, как правило, не хранится постоянно, а буферируется в течение небольших промежутков времени в кодере 110 контента и/или в отправителе 130 для сглаживания вариаций из-за задержек обработки, задержек передачи и скорости передачи кодированных медиаданных.
[0018] Отправитель 130 посылает кодированный двоичный поток медиаданных с использованием стека протоколов связи. Стек может включать протокол передачи в реальном времени (RTP, Real-Time Transport Protocol), протокол пользовательских дейтаграмм (UDP, User Datagramm Protocol) и протокол маршрутизации в среде Интернет (IP, Internet Prorocol), но не обязательно только их. Когда стек протокола связи является пакетно-ориентированным, отправитель 130 инкапсулирует кодированный двоичный поток медиаданных в пакеты. Например, когда используется протокол RTP, отправитель 130 инкапсулирует кодированный двоичный поток медиаданных в пакеты RTP согласно формату полезной нагрузки протокола RTP. Как правило, каждый вид медиаданных имеет специфический формат полезной нагрузки для протокола RTP. Следует отметить, что система может содержать более одного отправителя 130, но ради простоты в последующем описании рассматривается только один отправитель 130.
[0019] Отправитель 130 может быть, а может и не быть, связан со шлюзом 140 через систему связи. Шлюз 140 может выполнять различные функции, например передачу пакетного потока согласно стеку одного протокола связи в стек другого протокола связи, объединяя и разделяя потоки данных и манипулируя потоками данных согласно возможностям нисходящей связи и/или приемника, например управляя скоростью передачи данных передаваемых потоков согласно преобладающим условиям нисходящей сети. Примеры шлюзов 140 включают устройство управления многосторонней связью (MCU, multipoint conference control unit), шлюзы между устройствами видеотелефонии с соединениями по коммутируемым линиям и с пакетной коммутацией, серверы службы "нажми и говори по сотовой связи" (PoC, Push-to-talk over Cellular), IP-инкапсуляторы в системах цифрового телевизионного вещания на мобильные устройства (стандарт DVB-H, digital video broadcasting-handheld) или телевизионные приставки (set-top box), которые передают транслируемые сигналы в локальные домашние беспроводные сети. При использовании протокола RTP шлюз 140 называют смесителем протокола RTP, и этот шлюз действует как конечная точка соединения RTP.
[0020] Альтернативно кодированный двоичный поток медиаданных может передаваться от отправителя 130 в приемник 150 другими средствами, например путем записи кодированного двоичного потока медиаданных на портативный диск или устройство большой емкости, когда этот диск или устройство связаны с отправителем 130, а затем соединения диска или устройства с приемником 150.
[0021] Система включает один или несколько приемников 150, обычно способных к приему, демодуляции и декапсулированию переданного сигнала в кодированный двоичный поток медиаданных. Декапсулирование может включать удаление данных, которые приемники не могут декодировать или которые не желательно декодировать. Двоичный поток медиаданных кодека обычно подвергается дальнейшей обработке декодирующим устройством 160, на выходе которого получается один или несколько потоков несжатых медиаданных. Наконец, рендерер 170 может воспроизвести несжатые потоки медиаданных, например, в громкоговорителе или на дисплее. Приемник 150, декодирующее устройство 160 и рендерер 170 могут располагаться в одном и том же физическом устройстве, или же они могут входить в отдельные устройства.
[0022] На фиг.2 показана последовательность операций, демонстрирующая реализацию одного конкретного варианта настоящего изобретения. На шаге 200 на фиг.2 алгоритм прямой коррекции ошибок (FEC) уровня приложения на стороне отправителя решает использовать передачу с избыточностью. На шаге 210 алгоритм FEC уровня приложения проверяет доступный набор режимов кодека, который был установлен в рамках предыдущего согласования протокола сеанса связи (SDP, session description protocol) «предложение - ответ» с приемным устройством. На шаге 220 алгоритм FEC уровня приложения выбирает доступный режим кодека, который лучше всего подходит для текущей скорости передачи данных при данном уровне избыточности. Например, когда текущая скорость составляет 12,2 кбит/сек и доступные для согласования режимы кодека - AMR-NB 12,2 кбит/сек, 7,4 кбит/сек и 4,75 кбит/сек, алгоритм FEC выбирает режим 7,4 кбит/сек для 100%-ной избыточности и 4,75 кбит/сек для 200%-ной избыточности соответственно. Если доступные режимы кодека содержат только текущий режим, как представлено на шаге 230, алгоритм FEC не изменяет режим. Кроме того, если кодек может адаптировать режим в каждом втором кадре из-за ограничений на сигнализацию запроса режима кодека, изменение режима в сторону более низкого уровня не может быть сделано немедленно. То же самое справедливо, когда кодек имеет ограничения на пошаговую адаптацию режима кодека, то есть когда кодек может изменить текущий режим только на соседний. Поэтому если имеются ограничения на ширину полосы, передача с избыточностью может быть применена только после того, как кодек вошел в желательный режим, соответствующий передаче с избыточностью.
[0023] На фиг.3 и 4 показано одно репрезентативное электронное устройство 12, в рамках которого может быть осуществлено настоящее изобретение. Однако должно быть понятно, что настоящее изобретение не ограничено одним конкретным типом электронного устройства 12. Электронное устройство 12 на фиг.3 и 4 содержит корпус 30, дисплей 32 в виде жидкокристаллического дисплея, клавиатуру 34, микрофон 36, динамик 38, батарею 40, инфракрасный порт 42, антенну 44, интеллектуальную карту 46, которая согласно одному варианту выполнения настоящего изобретения может быть картой с идентификационным кодом пользователя (UICC), считыватель 48 карты, схему 52 радиоинтерфейса, схему 54 кодека, контроллер 56 и память 58. Все отдельные схемы и элементы хорошо известны и могут быть найдены, например, в мобильных телефонах фирмы Nokia.
[0024] Настоящее изобретение в основном описано в контексте шагов, которые могут быть осуществлены в одном из вариантов выполнения настоящего изобретения в виде программного продукта, включая выполняемые на компьютере инструкции, например программный код, выполняемый компьютерами в сетевой среде. В общем случае, программные модули включают процедуры, программы, объекты, компоненты, структуры данных и т.д., которые решают специфические задачи или реализуют специфические типы данных. Примерами программного кода, предназначенного для выполнения шагов для раскрытых выше способов, являются выполняемые на компьютере инструкции, соответствующие структуры данных и программные модули. Конкретная последовательность таких выполняемых инструкций или соответствующие структуры данных представляют собой примеры соответствующих действий для реализации функций, описанных такими шагами.
[0025] Программное обеспечение и сетевая реализация настоящего изобретения могут быть осуществлены с помощью стандартных методов программирования с логикой на базе правил и другой логикой, обеспечивающей реализацию шагов по поиску в различных базах данных, шагов сравнения и шагов принятия решения. Следует отметить, что используемые здесь и в формуле изобретения слова «компонент» и «модуль» подразумевают реализацию с использованием одной или нескольких строк программного кода, и/или аппаратных средств, и/или оборудования для приема данных, вводимых вручную.
[0026] Выше изложение вариантов выполнения настоящего изобретения было дано только для иллюстрации и описания. Оно не предполагается исчерпывающим или ограничивающим настоящее изобретение в точности раскрытыми формами, и поэтому возможны изменения и модификации изобретения в рамках раскрытых идей или идей, полученных из практической реализации настоящего изобретения. Варианты выполнения настоящего изобретения были выбраны и описаны для объяснения принципов настоящего изобретения и его практического применения, что позволяет специалистам в данной области техники использовать настоящее изобретение в различных вариантах и с различными модификациями, наиболее подходящими для конкретного использования.