СПОСОБ ПЕРЕДАЧИ ДАННЫХ В СИСТЕМЕ СВЯЗИ
METHOD OF TRANSMITTING DATA IN COMMUNICATION SYSTEM

Область техники, к которой относится изобретение
Настоящее изобретение относится к системам связи. Более конкретно, настоящее изобретение относится к способу и устройству для приема данных, передаваемых через сеть связи.
Уровень техники
В системе связи предусмотрена сеть связи, которая позволяет соединять два терминала связи так, чтобы терминалы могли отправлять информацию друг другу при вызове или другом событии связи. Информация может включать в себя речь, текст, изображения или видео.
Современные системы связи основаны на передаче цифровых сигналов. Аналоговая информация, такая как речь, вводится в аналого-цифровой преобразователь в передающем устройстве одного терминала и преобразуется в цифровой сигнал. Цифровой сигнал затем кодируется и помещается в пакеты данных для передачи по каналу в приемное устройство другого терминала.
Одним типом сети связи, подходящей для передачи пакетов данных, является Интернет. Протоколы, которые используются для того, чтобы переносить речевые сигналы по сети на базе Интернет-протокола, обычно упоминаются как речь-по-IP(VoIP). VoIP - это маршрутизация речевых разговоров по Интернету или через любую другую сеть на основе IP.
Пакет данных включает в себя часть заголовка и часть полезной нагрузки. Часть заголовка пакета данных содержит данные для передачи и обработки пакета данных. Эта информация может включать в себя идентификационный номер и адрес источника, который уникально идентифицирует пакет, контрольную сумму заголовка, используемую для того, чтобы обнаруживать ошибки обработки, и адрес назначения. Часть полезной нагрузки пакета данных включает в себя информацию из цифрового сигнала, предназначенного для передачи. Эта информация может быть включена в полезную нагрузку как кодированные кадры, такие как речевые кадры, при этом каждый кадр представляет часть аналогового сигнала.
Ухудшение качества в канале, по которому отправляется информация, влияет на информацию, принимаемую в приемном терминале. Ухудшение качества в канале может вызывать изменения в последовательности пакетов, задерживать поступление некоторых пакетов в приемном устройстве и вызывать потерю других пакетов. Ухудшение качества может быть вызвано дефектами в канале, шумом и перегрузкой в канале. Это, в конечном счете, приводит к снижению качества сигнала, выводимого посредством приемного терминала.
Когда пакеты данных принимаются в терминале назначения, информация, предоставленная в заголовке каждого пакета, используется для того, чтобы упорядочивать принимаемые пакеты данных в корректной последовательности. Чтобы обеспечивать то, что данные в пакетах данных могут выводиться непрерывно в терминале назначения, необходимо вводить задержку между приемом пакета данных и выводом данных в пакете, чтобы преодолевать случайные изменения в задержке между пакетами, поступающими в терминал.
Чтобы обеспечивать то, что данные в пакетах данных могут выводиться непрерывно в терминале назначения, необходимо вводить задержку между приемом пакета данных и выводом данных в пакете, чтобы преодолевать случайные изменения в задержке между пакетами, поступающими в терминал.
Буфер дрожания используется в приемном терминале для того, чтобы вводить задержку между приемом пакетов данных от сети и выводом данных из терминала. Буфер дрожания сохраняет пакеты временно так, чтобы буферизовать изменения во времени поступления пакетов, так что декодер может извлекать кадры из буфера дрожания на непрерывной основе.
Диспетчер буфера дрожания выполнен с возможностью управлять количеством кадров в буфере дрожания во времени. Диспетчер буфера дрожания может управлять числом кадров в буфере дрожания, тем самым регулируя задержку, вводимую посредством буфера дрожания, посредством запрашивания того, чтобы декодер выполнял действие, которое должно влиять на время, когда декодер требует следующего кадра от буфера дрожания.
Чтобы задерживать время, когда декодер требует следующего кадра, диспетчер буфера дрожания выполнен с возможностью запрашивать того, чтобы декодер вставлял копию последнего кадра или продлевал время воспроизведения кадра, например, посредством увеличения длины кадра на 20 мс - 30 мс. Наоборот, чтобы уменьшать время, когда декодер требует следующего кадра, диспетчер буфера дрожания выполнен с возможностью запрашивать того, чтобы декодер пропускал кадр или сокращал время воспроизведения кадра. Тем не менее, если задержка, вводимая посредством буфера дрожания, не должна быть изменена, диспетчер буфера дрожания может запрашивать, чтобы декодер декодировал кадр.
Простые буферы дрожания вводят задержку посредством сохранения заранее определенного числа пакетов перед выводом данных в пакетах. Тем не менее, преимущественно адаптировать число пакетов, сохраненных в буфере, чтобы фактически обрабатывать изменение характеристик сети. Следовательно, в некоторых способах, известных в данной области техники, число кадров, которые должны быть сохранены в буфере дрожания, может быть вычислено адаптивно.
Чем дольше задержка, вводимая посредством буфера дрожания, тем меньше риск того, что пакет будет задержан вне рамок времени, в которое он требуется; с другой стороны, высокая задержка имеет тенденцию нарушать двустороннюю связь. Следовательно, крайне важно определять надлежащую задержку в буфере дрожания.
Обычно, задержка в буфере дрожания управляется посредством оценки величины сетевой задержки для каждого пакета и последующего сглаживания этих значений во времени. Альтернативно, вместо сглаживания, в приемном устройстве может быть сохранена гистограмма задержек при передаче пакетов. Целевая задержка в буфере дрожания затем может быть выбрана так, чтобы соответствовать наиболее часто наблюдаемой задержке. Тем не менее, управление адаптацией задержки этим способом не дает возможность задержке в буфере дрожания адаптироваться достаточно быстро, когда условия в сети быстро изменяются.
Следовательно, задача настоящего изобретения заключается в том, чтобы улучшить воспринимаемое качество принимаемого сигнала. Дополнительная задача настоящего изобретения заключается в том, чтобы предоставить способ улучшения качества принимаемого сигнала без использования комплексных вычислительных способов.
Сущность изобретения
Согласно первому аспекту настоящего изобретения, предусмотрен способ передачи по сети сигнала, содержащего множество элементов данных, при этом способ содержит: прием сигнала в терминале; определение задержки передачи, по меньшей мере, одного элемента данных; оценку первого компонента задержки передачи; определение второго компонента задержки передачи посредством удаления первого компонента задержки передачи из задержки передачи; и определение задержки в приемном устройстве, которая должна быть применена между приемом в терминале и выводом из терминала одного из упомянутого множества элементов данных, в зависимости от второго компонента задержки передачи.
Согласно второму аспекту настоящего изобретения, предусмотрен способ передачи по сети сигнала, содержащего множество элементов данных, содержащий: прием сигнала в терминале; определение того, находится ли состояние распространения в сети в первом состоянии распространения в сети или втором состоянии распространения в сети; определение периодичности между событиями, когда второе состояние распространения в сети возникает; прогнозирование того, когда следующее второе состояние распространения в сети должно возникать, на основе определенной периодичности; регулирование задержки, применяемой между приемом в терминале и выводом из терминала одного из упомянутого множества элементов данных, в зависимости от прогнозирования следующего второго состояния распространения в сети.
Согласно третьему аспекту настоящего изобретения, предусмотрен способ обработки в терминале сигнала, содержащего множество элементов данных, при этом способ содержит: прием сигнала в терминале; сохранение, по меньшей мере, одного принимаемого элемента данных сигнала в хранилище данных; периодическое запрашивание элемента данных из хранилища данных; определение числа запросов, возникающих между приемом первого элемента данных и второго элемента данных, чтобы определять задержку передачи второго элемента данных; и управление тем, когда, по меньшей мере, один элемент данных выводится из хранилища данных, в зависимости от задержки передачи второго элемента данных.
Согласно четвертому аспекту настоящего изобретения, предусмотрено устройство, выполненное с возможностью принимать сигнал, передаваемый по сети, содержащее: приемное устройство, выполненное с возможностью принимать сигнал, содержащий множество элементов данных; модуль определения, выполненный с возможностью определять задержку передачи, по меньшей мере, одного элемента данных; модуль оценки, выполненный с возможностью оценивать первый компонент задержки передачи и определять второй компонент задержки передачи посредством удаления первого компонента задержки передачи из задержки передачи; и модуль задержки, выполненный с возможностью применять задержку в приемном устройстве между приемом в терминале и выводом из терминала одного из упомянутого множества элементов данных, в зависимости от второго компонента задержки передачи.
Краткое описание чертежей
Для лучшего понимания настоящего изобретения, а также чтобы продемонстрировать, как оно может осуществляться, далее описываются варианты осуществления настоящего изобретения со ссылкой на следующие чертежи:
Фиг.1 - это сеть связи;
Фиг.2 - это график, показывающий пример задержки, измеренной в приемном терминале вместе с оценкой сдвига синхросигнала;
Фиг.3 - это пример измерения задержки, скорректированной на сдвиг синхросигнала, вместе с вероятностью того, что сеть перешла в "плохое состояние";
Фиг.4 - это блок-схема предпочтительного варианта осуществления изобретения.
Подробное описание изобретения
Сначала обратимся к фиг.1, который показывает терминал 100 и терминал 112, подсоединенные к сети 104 связи. Терминал 100 выполнен с возможностью передавать пакеты данных в терминал 112 через сеть 104 связи. В одном варианте осуществления изобретения, сеть связи - это VoIP-сеть, предоставляемая посредством Интернета. Следует принимать во внимание, что несмотря на то, что при иллюстрации системы связи, показанной и описанной более подробно в данном документе, используется терминология VoIP-сети, варианты осуществления настоящего изобретения могут использоваться в любой другой подходящей системе связи, которая упрощает передачу данных.
Терминалами 100 и 112 может быть, например, персональный компьютер, игровое устройство, персональное цифровое устройство, мобильный телефон с поддержкой соответствующих возможностей, телевизионное или другое устройство, способное подключаться к сети 104.
Авторы настоящего изобретения идентифицировали, что изменения в наблюдаемой задержке передачи содержат два основных компонента. Один компонент изменений в наблюдаемой задержке передачи - это постоянно увеличивающаяся или уменьшающаяся задержка, вызванная сдвигом между частотой синхросигналов в передающем терминале 100 и частотой синхросигналов в приемном терминале 112. Она упоминается как задержка расфазировки синхросигналов.
Компонент задержки расфазировки синхросигналов представляет не физическую задержку, вызванную посредством распространения сигнала, а, вместо этого, артефакт, вытекающий из разницы между частотой синхросигналов в передающем терминале и в приемном терминале. Более конкретно, разница частоты синхросигналов в передающем терминале и приемном терминале вызывает разницу между скоростью, на которой кадры данных формируются в передающем терминале, и скоростью, на которой кадры данных требуются приемным терминалом. По сути, если скорость, на которой кадры данных требуются в приемном терминале, превышает скорость, на которой скорости передачи данных передаются из передающего терминала, то это приводит к увеличению задержки между тем, когда кадр требуется в приемном терминале, и когда кадр принимается в терминале.
Второй компонент изменения измеренной задержки вызывается посредством распространения пакета данных в сети.
Фиг.2 показывает график изменения измеренной задержки вместе с оцененным значением компонента задержки расфазировки синхросигналов.
Авторы настоящего изобретения идентифицировали, что посредством отдельного анализа двух компонентов измеренного изменения задержки, состояние распространения сигнала в сети может быть определено посредством изменений во втором компоненте задержки. В частности, если изменения во втором компоненте задержки являются относительно небольшими, распространение пакета данных в сети может считаться как находящееся в хорошем состоянии. Тем не менее, если изменения во втором компоненте задержки сравнительно больше, распространение пакета данных в сети может считаться как находящееся в плохом состоянии. Это проиллюстрировано на фиг.3, которая показывает задержку в поступлении пакетов после того, как задержка скорректирована на расфазировку синхросигналов. Пик 30 на фиг.3 указывает, что распространение пакета данных в сети может считаться как находящееся в плохом состоянии.
Состояние распространения сигнала в сети далее упоминается как состояние сети.
Авторы настоящего изобретения обнаружили, что посредством рассмотрения компонента расфазировки синхросигналов измеренной задержки, может быть определена целевая задержка дрожания, которая более чувствительна к изменяющимся характеристикам сети.
Кроме того, посредством отдельного анализа двух компонентов задержки, изменения в состоянии сети могут быть идентифицированы. По сути, состояние сети может моделироваться и в некоторых случаях прогнозироваться, что дает возможность управления адаптацией задержки в буфере дрожания в зависимости от обнаруженного или прогнозного состояния сети.
Согласно варианту осуществления настоящего изобретения, фильтр временной области, известный как фильтр Калмана, используется для того, чтобы оценивать задержку расфазировки синхросигналов, чтобы предоставлять вывод, из которого может быть определено состояние сети.
Фильтры Калмана известны и используются для того, чтобы оценивать непрерывные скрытые переменные. Фильтр Калмана - это фильтр временной области, который использует предыдущую оценку для того, чтобы вычислять текущую оценку. Фильтр Калмана имеет две различных фазы: фаза прогноза и фаза обновления. Фаза прогноза использует предыдущую оценку для того, чтобы формировать оценку текущего значения. Фаза обновления выполняется для того, чтобы повышать точность фильтра. Это достигается посредством вычисления остаточного значения r(t), которое вычисляется посредством вычитания оцененного значения из измеренного значения.
Согласно варианту осуществления настоящего изобретения, фильтр Калмана используется для того, чтобы фильтровать наблюдаемую задержку пакетов, поступающих в терминал 112. Остаточное значение r(t) для каждого поступления пакета вычисляется посредством вычитания оцененного значения задержки расфазировки синхросигналов из наблюдаемой задержки передачи. Остаточное значение r(t), таким образом, указывает изменение задержки, вводимое посредством распространения сигнала в сети. Остаточное значение r(t), следовательно, используется для того, чтобы определять состояние сети.
J
J
J
Чтобы ограничивать фильтр Калмана таким образом, чтобы оценивать только расфазировку синхросигналов, пороговое значение T устанавливается для остаточных значений, которые могут использоваться для того, чтобы обновлять фильтр Калмана. Когда остаточное значение, вычисленное из измеренной задержки пакета данных, является большим и превышает заранее определенное пороговое значение T, можно предположить, что задержка расфазировки синхросигналов является лишь незначительным компонентом задержки поступления пакета. Соответственно, если остаточное значение r(t) превышает пороговое значение T, остаточное значение не используется для того, чтобы обновлять фильтр Калмана.
Согласно варианту осуществления изобретения, статистическая модель, известная как скрытая марковская модель (HMM), используется для того, чтобы определять состояние сети из остаточных значений, формируемых посредством фильтра Калмана.
Использование HMM для того, чтобы определять состояние, сначала заключает в себе установку вероятности того, что для определенного значения r(t) сеть находится либо в хорошем состоянии, либо в плохом состоянии. Это упоминается как вероятность эмиссии состояния, согласно:
B(i)=P(r(t)|s(t)=i)
уравнение (1),
где s(t) - это состояние, а B(i) - это вероятность эмиссии состояния, при этом i=1 указывает хорошее состояние, а i=2 указывает плохое состояние.
J
J
Если остаточное значение превышает пороговое значение T, предполагается, что сеть находится в плохом состоянии, т.е. задержка, вводимая посредством сети, является высокой. Соответственно, если остаточное значение превышает пороговое значение T, вероятность эмиссии, что задержка показателя возникала во время хорошего состояния сети, устанавливается равной нулю, тогда как вероятность эмиссии, что задержка возникала во время плохого состояния сети, устанавливается равной единице. Таким образом:
B(1)=0, B(2)=1, для r(t)>T
уравнение (2).
J
J
Тем не менее, если остаточное значение меньше порогового значения T, вероятность эмиссии, что наблюдаемая задержка передачи, возникшая во время хорошего состояния сети, устанавливается так, чтобы превышать вероятность эмиссии, что задержка возникала во время плохого состояния сети, т.е.:
B(1)>B(2), для r(t)<T
уравнение (3).
J
Вероятность эмиссии, что сеть не находится в плохом состоянии во время измеренной задержки, которая формирует остаточное значение r(t), которое меньше порогового значения, не устанавливается просто равной нулю в этом случае, поскольку есть возможность того, что сеть находится в плохом состоянии для меньших значений r(t), как проиллюстрировано посредством примера, когда пакеты данных поступают прерывисто.
С учетом вероятностей эмиссии B(i), вероятность изменения состояния используется для того, чтобы определять вероятности α(i,t) того, что сеть находится в конкретном состоянии. Вероятности изменения состояния известны как вероятности изменения состояния, представленные посредством матрицы A. Вероятности изменения состояния A обновляются по мере того, как пакеты данных принимаются, как поясняется ниже. Вероятность α(i,t) того, что сеть находится в конкретном состоянии, задается следующим образом:
уравнение (5).
Фиг.3 показывает вероятности плохого состояния, α(2,t), вместе с остатком фильтра Калмана r(t).
В одном варианте осуществления изобретения, значения α(i,t) могут использоваться для того, чтобы управлять тем, как статистика, представляющая состояние сети, сохраняется. В частности, статистика, когда сеть находится в хорошем состоянии, как указано посредством α, может отслеживаться отдельно от статистики, когда сеть находится в плохом состоянии. Например, отдельные гистограммы, представляющие распределение значений r(t), когда сеть находится в хорошем состоянии и когда сеть находится в плохом состоянии, могут быть сформированы так, как описано ниже.
Значения α(i,t) используются для того, чтобы управлять обновлением гистограммы хороших состояний и гистограммы плохих состояний. В одном варианте осуществления, экспоненциальный коэффициент отсутствия последействия может использоваться для того, чтобы обновлять гистограммы, так что обновленные гистограммы представляют недавние события в сети. Если вероятность того, что сеть находится в хорошем состоянии, превышает 50%, т.е., если α(1,t)>0,5, гистограмма хороших состояний обновляется со значением r(t), иначе обновляется гистограмма плохих состояний.
Аналогично, значения α(1,t) могут использоваться для того, чтобы обновлять матрицу A вероятностей изменения состояния. Например, если два последовательных значения α указывают, что вероятность хорошего состояния превышает 50%, то вероятность для изменения состояния между двумя хорошими состояниями P(s(t+1)=1 | s(t)=1) увеличивается. Аналогично, коэффициент отсутствия последействия может применяться к этим статистическим данным, так что матрица вероятностей изменения состояния представляет недавние события в сети.
Чтобы определять целевую задержку в буфере дрожания, вероятное обнаруженное состояние сети, указанное посредством α, используется вместе со статистикой, формируемой для каждого состояния сети.
В одном варианте осуществления изобретения, гистограмма, соответствующая возможному состоянию сети, используется для того, чтобы определять целевую задержку в буфере дрожания посредством выбора задержки, которая соответствует заранее выбранной частоте опоздавших пакетов.
Альтернативно, целевая задержка в буфере дрожания может быть определена посредством рассмотрения возможного состояния сети со статистикой для наблюдаемой задержки в каждом состоянии сети, как описывается далее.
Согласно варианту осуществления изобретения, ожидаемая задержка пакета, который еще не поступил, может быть прогнозирована с использованием статистики, связанной с хорошими и плохими состояниями сети. В частности, функция плотности распределения вероятностей для ожидаемой задержки следующего пакета может быть определена с использованием, по меньшей мере, некоторых из этих статистических данных.
Функция плотности распределения вероятностей представляет распределение вероятностей в показателях интегралов, где сумма интеграла составляет 1. Функция плотности распределения вероятностей состояния сети может быть аппроксимирована гистограммой, иллюстрирующей относительные частоты для значений r(t). Соответственно, если определено, что сеть в настоящий момент находится в хорошем состоянии, т.е. α(1,t)>0,5, функция плотности распределения вероятностей для ожидаемой задержки p_g следующего кадра задается следующим образом:
уравнение (6)
где hist_g - это гистограмма, обновляемая для хороших состояний, hist_b - это гистограмма, обновляемая для плохих состояний, P(s(t+1)=1 | s(t)=1) - это вероятность изменения состояния для перехода между хорошим состоянием и хорошим состоянием, и где P(s(t+1)=2 | s(t)=1) - это вероятность изменения состояния для перехода между хорошим состоянием и плохим состоянием.
Посредством сравнения функции плотности распределения вероятностей ожидаемой задержки поступления следующего кадра с текущей задержкой в буфере дрожания, может быть определена вероятность пропуска пакета данных в то время, когда он требуется для декодирования, для различных задержек в буфере дрожания. Из этих вероятностей определяется надлежащая целевая задержка, и регулирование задержки delayRQ может быть вычислено согласно уравнению (7):
delayRQ = целевая задержка - текущая задержка
уравнение (7)
Согласно дополнительному варианту осуществления изобретения, статистика, касающаяся сети, также может использоваться для того, чтобы прогнозировать, когда сеть в следующий раз будет в плохом состоянии. Ссылаясь на фиг.3, можно видеть пики 30 задержки, которые указывают, что сеть находится в плохом состоянии. Авторы настоящего изобретения идентифицировали, что для некоторых сетей и, в частности, для WLAN (беспроводная локальная вычислительная сеть), пики 30 задержки возникают практически с постоянным интервалом, и, в сущности, можно прогнозировать эти пики заранее.
Каждый кадр, содержащийся в полезной нагрузке пакета данных, имеет порядковый номер, который соответствует порядку кадра в сигнале. Согласно варианту осуществления настоящего изобретения, порядковые номера кадров, которые принимаются, когда возникает изменение состояния с хорошего на плохое, сохраняются. Предпочтительно, сохраняются только порядковые номера для заранее определенного числа последних из этих кадров.
Для сетевой задержки, проиллюстрированной на фиг.3, можно видеть, что переходы с хорошего на плохое (g2b) возникали при следующих порядковых номерах кадров:
g2b = [7226, 7382, 7482, 7738, 7882, 7994] уравнение (8).
Согласно варианту осуществления изобретения, разница между последовательными сохраненными порядковыми номерами кадров [7226, 7382, 7482, 7738, 7882, 7994] анализируется для того, чтобы определять, возникают ли пики периодически. Периодичность интервала может возникать между двумя последовательными пиками или каждый n-ный пик. Периодичность не может возникать между последовательными пиками, если между терминалом и сетью есть более одного соединения, вызывающие более одного набора периодических пиков, или если есть дополнительные случайные изменения в состоянии сети.
В обозначении Matlab, разница (dg2b) между номерами пакетов, возникающими в последовательных пиках, может быть представлена следующим образом:
dg2b = g2b (2:end)-g2b (1:end-1)= [156 100 256 144 112] уравнение (9).
Сначала считается, что интервал-кандидат является максимальным вектором интервалов 256. Поскольку этот период начинается с порядкового номера кадра 7482, проверяется то, возникает ли пик задержки также при 7482-256=7226 и при 7482+2·256=7994. Поскольку пики задержки действительно возникают при этих порядковых номерах кадров, вариант вектора считается интервалом периодичности.
Определенный интервал периодичности используется для того, чтобы прогнозировать будущие порядковые номера кадров, где пик задержки должен возникать. Следовательно, прогнозируется, что следующий пик возникает при 7994+256=8250.
В одном варианте осуществления изобретения, необязательно, чтобы фактический пик возникал точно в том же кадре, как прогнозный пик. Это учитывается за счет разрешения небольшого допустимого запаса.
Согласно варианту осуществления изобретения, задержка в буфере дрожания увеличивается сразу перед возникновением прогнозного пика задержки, чтобы маскировать задержку в поступлении пакетов. Если задержка в буфере дрожания адаптирована согласно функции плотности распределения вероятностей, как показано в уравнении (6), член "P(s(t+1)=2 | s(t)=1)", который задает вероятность перехода в плохое состояние сети, устанавливается равным значению, возрастающему в направлении 1 по мере того, как время прогнозирования приближается.
Далее поясняется реализация варианта осуществления настоящего изобретения со ссылкой на фиг.4.
Фиг.4 показывает схему управления для приемного устройства в терминале 112. Схема управления содержит блок 40 фильтра Калмана, блок 41 назначения вероятности излучения состояния, блок 42 прямого алгоритма HMM, блок 43 статистики обновлений, блок 44 анализа периодичности, управляющий блок 45 и блок 46 оптимального действия.
J
Согласно варианту осуществления изобретения, сигнал d(t), указывающий задержку, наблюдаемую между поступающими кадрами, вводится в блок 40 фильтра Калмана. Блок 40 фильтра Калмана выполнен с возможностью фильтровать сигнал d(t), как описано выше, чтобы формировать остаточное значение r(t). Остаточное значение r(t) выводится как сигнал r(t) в блок 41 вероятности эмиссии состояния. Как описано ранее, если остаточное значение меньше порогового значения T, остаточное значение используется для того, чтобы обновлять фильтр Калмана.
В блоке 41 назначения вероятности эмиссии вероятность излучения состояния B(i) назначается для каждого остаточного значения r(t), вводимого из блока 40 фильтра Калмана. Блок 41 назначения вероятности эмиссии в таком случае выполнен с возможностью выводить назначенные значения вероятности состояния эмиссии B(i) в блок 42 прямого алгоритма HMM.
Блок 42 прямого алгоритма HMM использует значения вероятности эмиссии состояния и вероятность A перехода для того, чтобы формировать значение вероятности для хорошего состояния и плохого состояния согласно уравнению (5). Начальные значения A могут задаваться как значения по умолчанию, после чего обновленная матрица вероятностей перехода вводится в блок 42 прямого алгоритма HMM из блока 43 статистики обновлений.
Значения вероятности α, формируемые посредством блока 42 прямого алгоритма HMM, вводятся в блок 43 статистики обновлений. В блоке 43 статистики обновлений определяется статистика значений вероятности α. В частности, гистограммы hist_g для хорошего состояния сети и hist_b для плохого состояния сети обновляются в соответствии со способом, описанным выше. Матрица A вероятностей перехода также обновляется в блоке 43 статистики обновлений. Статистика выводится в блок 46 оптимального действия и в управляющий блок 45.
Значения вероятности α, формируемые посредством блока 42 прямого алгоритма HMM, также вводятся в блок 44 анализа периодичности. Блок анализа периодичности выполнен с возможностью сохранять значения последних порядковых номеров пакетов, которые соответствуют пику задержки. Блок анализа периодичности определяет периодичность согласно способу, описанному выше. Когда периодичность определена, блок анализа периодичности выполнен с возможностью выводить индикатор относительно порядковых номеров кадров/пакетов, для которых пик задержки спрогнозирован, в блок 46 оптимального действия.
Блок 46 оптимального действия выполнен с возможностью определять целевую задержку в буфере дрожания в зависимости от возможного состояния сети, указываемого посредством значений, вводимых из блока алгоритма HMM, и статистики, предоставляемой из блока 43 статистики обновлений, как описано выше. Когда пик спрогнозирован посредством блока 44 анализа периодичности, блок оптимального действия должен определять, что целевая задержка должна быть увеличена до того, как ожидаемый пик возникает. Целевая задержка сравнивается с текущей задержкой, чтобы определять, как задержка должна регулироваться. Действие, требуемое для того, чтобы регулировать задержку, затем выводится в декодер. Модуль 48 LJC (маскирование потерь и дрожания), который может быть интегрирован с кодером, выполнен с возможностью осуществлять действие для принимаемого сигнала, чтобы применять регулирование.
LJC-модуль 48 может регулировать задержку либо посредством вставки кадра маскирования на основе одного или более предыдущих кадров, чтобы увеличивать задержку, либо посредством пропуска кадра, чтобы уменьшать задержку. Альтернативно, LJC-модуль может регулировать задержку посредством регулирования длительности воспроизведения одного или более кадров. Например, если длина кадра составляет 20 мс, LJC-модуль может растягивать кадр до 30 мс, чтобы увеличивать задержку на 10 мс, или сжимать кадр до 10 мс, чтобы уменьшать задержку на 10 мс.
Управляющий блок 45 выполнен с возможностью управлять операциями, выполняемыми посредством компонентов схемы управления, чтобы не допускать возникновения ошибок вследствие какого-либо нестандартного режима работы сети способом, которым моделируется сеть. Согласно варианту осуществления изобретения, управляющий блок выполнен с возможностью осуществлять, по меньшей мере, некоторые из следующих операций.
В одном варианте осуществления изобретения, управляющий блок 45 выполнен с возможностью управлять обновлениями матрицы вероятностей изменения состояния, чтобы препятствовать тому, чтобы вероятность изменения состояния становилась нулем.
J
J
В одном варианте осуществления, управляющий блок 45 выполнен с возможностью отслеживать частоту, с которой плохое состояние сети обнаруживается. Если частота, с которой плохое состояние сети обнаруживается, ниже минимальной ожидаемой частоты, например, если плохое состояние сети не обнаруживается, управляющий блок 45 выполнен с возможностью медленно понижать пороговое значение T до тех пор, пока частота, с которой плохое состояние сети обнаруживается, не увеличивается. Это способствует "слабозаполненному" буферу дрожания при очень хороших характеристиках сети. Наоборот, если частота, с которой плохое состояние сети обнаруживается, выше максимальной ожидаемой частоты, управляющий блок 45 выполнен с возможностью медленно увеличивать пороговое значение T до тех пор, пока частота, с которой плохое состояние сети обнаруживается, не уменьшается.
В альтернативном варианте осуществления изобретения, если хорошее состояние сети не наблюдалось в течение времени, превышающего заранее определенное пороговое значение, управляющий блок 45 может определять, что оценка задержки расфазировки синхроимпульсов, предоставляемая посредством блока 40 фильтра Калмана, является ненадежной. В этом случае, управляющий блок выполнен с возможностью задавать оценку задержки расфазировки синхроимпульсов равной минимальным последним наблюдаемым задержкам.
В другом варианте осуществления, управляющий блок 45 может быть выполнен с возможностью отслеживать то, возникал ли пик задержки фактически при порядковом номере пакета, спрогнозированном посредством блока анализа периодичности. Если ожидаемый пик задержки не возникал, определенный интервал периодичности сбрасывается.
В одном варианте осуществления изобретения, блок выбора оптимального действия выполнен с возможностью анализировать характеристики сигнала в LJC-модуле 48, чтобы определять то, должна ли применяться задержка. В одном варианте осуществления изобретения, если характеристики сигнала указывают, что сигнал искажается, если задержка регулируется, LJC-модуль не инструктируется применять задержку. Тем не менее, в предпочтительном варианте осуществления изобретения, блок оптимального действия дополнительно выполнен с возможностью оценивать срочность регулирования задержки. Например, в случае, если пик задержки ожидается, задержка может регулироваться, даже если регулирование задержки приводит к искажению сигнала.
J
В альтернативном варианте осуществления изобретения, состояние сети может обнаруживаться до того, как пакет, указывающий, что сеть находится в плохом состоянии, поступает. Согласно способам, описанным ранее, состояние сети указывается посредством наблюдаемой задержки принимаемого пакета. Соответственно, задержка в поступлении пакета, который указывает, что сеть находится в плохом состоянии, не наблюдается до тех пор, пока пакет фактически не поступает в терминал. В соответствии с одним вариантом осуществления изобретения, можно определять, что сеть находится в плохом состоянии, перед поступлением пакета, который указывает, что сеть находится в плохом состоянии. Это может быть достигнуто посредством определения того, превышает ли время после приема последнего пакета пороговое значение T, до приема следующего пакета. Если да, можно предполагать, что сеть находится в плохом состоянии.
В одном варианте осуществления изобретения, наблюдаемая задержка передачи может относиться ко времени между поступлением последовательных пакетов. Время после приема последнего пакета может быть измерено напрямую посредством отсчета времени от того, когда поступил последний пакет, тем не менее, это добавляет определенную нагрузку на ресурсы обработки терминала. В предпочтительном варианте осуществления, время после приема последнего пакета может быть определено из числа "полученных" вызовов, чтобы извлекать пакет из буфера дрожания с момента последней операции "помещения", чтобы помещать пакет в буфер дрожания.
Согласно одному варианту осуществления изобретения, задержка в поступлении пакета данных определяется со времени поступления пакета данных, указываемого посредством таймера в центральном процессоре (CPU) терминала 112. В альтернативном варианте осуществления изобретения, время между принимаемыми пакетами данных может быть определено посредством установления числа "полученных" вызовов, чтобы извлекать пакет из буфера дрожания с момента последнего поступившего пакета данных. Поскольку число "полученных" вызовов возникает равномерно, число вызовов соответствует задержке в поступлении пакета.
В вариантах осуществления настоящего изобретения, требуемая обработка может быть реализована как аппаратные средства или посредством использования надлежащим образом сконфигурированного программного обеспечения, выполняемого в процессоре. Программное обеспечение для реализации изобретения может быть сохранено и предоставлено посредством носителя, такого как диск, карта или магнитная лента. Предусмотрена возможность загружать программное обеспечение через сеть передачи данных. Это зависит от реализации.
Хотя это изобретение конкретно показано и описано в отношении предпочтительных вариантов осуществления, специалисты в данной области техники должны понимать, что различные изменения по форме и деталях могут быть сделаны без отступления от объема изобретения, заданного посредством формулы изобретения.