Способ и устройство для обработки сетевого джиттера, а также терминал
Иллюстрации
Показать всеИзобретение относится к способу и устройству для обработки сетевого джиттера, а также к терминалу. Технический результат – улучшение качества речевого сигнала на приемной стороне джиттером временного интервала в процессе приема данных. Для этого способ включает прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных; вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема; выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы; вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и настройку буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера. 3 н. и 10 з.п. ф-лы, 10 ил.
Реферат
ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Данная заявка основана на заявке на патент Китая №201510967352.9, поданной 21 декабря 2015 года, по которой испрашивается приоритет и содержание которой целиком включено в состав настоящей заявки посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Раскрытие настоящего изобретения относится к технической области интеллектуальных терминалов, а более конкретно, - к способу и устройству для обработки сетевого джиггера (флуктуаций времени доставки пакетов в сети) и к терминалу.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
[0003] С расширением пропускной способности сети и с ростом популярности мобильного доступа к сети Интернет быстро развиваются связные приложения обработки речи в реальном времени, при использовании которых применяется сеть Интернет, доступ к которой осуществляется с помощью мобильного телефона. По сравнению с проводной сетью беспроводная сеть значительно влияет на качество таких связных услуг обработки речи в реальном времени, как протокол передачи речи по сети Интернет (VoIP, Voice over Internet Protocol), на коэффициент потери пакетов, задержку в сети, джиггер в сети и другие аспекты.
[0004] В процессе передачи речевого сигнала по протоколу VoIP передающая сторона обычно использует алгоритм кодирования речевого сигнала с фиксированной скоростью передачи кадров и передает данные в постоянных временных интервалах. В этом случае наибольшее влияние на качество речевого сигнала на приемной стороне оказывает джиггер (случайные флуктуации) временного интервала в процессе приема данных, а не общая задержка при сквозной передаче данных. Однако на известном уровне техники отсутствует способ решения проблемы джиггера временного интервала на приемной стороне в процессе приема данных.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Согласно раскрытию настоящего изобретения предлагается способ и устройство для обработки сетевого джиттера, а также терминал, которые предназначены для решения проблемы джиттера временного интервала в сети на приемной стороне в процессе приема данных.
[0006] В соответствии с первым аспектом вариантов раскрытия настоящего изобретения предлагается способ обработки сетевого джиттера, включающий:
[0007] прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных;
[0008] вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
[0009] выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы;
[0010] вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и
[0011] настройку буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[0012] С помощью изложенного технического решения можно добиться следующих преимуществ: поскольку распределение вероятностей временных интервалов на приемной стороне при приеме пакетов речевых данных изменяется в зависимости от изменения сетевого джиттера, в то время как временной интервал приема пакетов речевых данных приемной стороной является случайной переменной, согласно варианту осуществления необходимый размер буферной зоны рассчитывается на основе распределения вероятностей временного интервала и допустимой вероятности джиттера; таким образом, необходимый размер буферной зоны изменяется в зависимости от сетевого джиттера, и настройка буферной зоны в соответствии с необходимым размером буферной зоны позволяет изменять размер буферной зоны в зависимости от сетевого джиттера; и поскольку размер буферной зоны тесно связан с возможностью буферной зоны компенсировать джиттер в сети, этот джиттер может устраняться путем настройки буферной зоны в соответствии с необходимым размером буферной зоны.
[0013] Согласно первому возможному способу реализации, соответствующему первому аспекту, nый временной интервал равен Jn=Rn-Rn-1, где Rn представляет момент приема nго пакета речевых данных, представляет момент приема (n_1)го пакета речевых данных, при этом 1≤n≤(N-1), и N представляет общее количество пакетов речевых данных;
[0014] количество предварительно установленных интервалов превышает единицу, и iый предварительно установленный интервал равен , где Т - фиксированный временной интервал передачи пакетов речевых данных передающей стороной, и K - положительное целое число; и
[0015] выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы, включает:
[0016] определение статистических данных о количестве Ni, i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала, и Ni≥0; и
[0017] вычисление вероятности временного интервала, попадающего в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
[0018] С помощью изложенного технического решения можно получить следующие преимущества: вероятность временных интервалов, попадающих в пределы каждого предварительно установленного интервала, выводится путем определения статистических данных о количестве временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, и использование отношения количества временных интервалов в каждом предварительно установленном интервале к общему количеству пакетов речевых данных в качестве вероятности временных интервалов, попадающих в предварительно установленный интервал, позволяет получить распределение вероятностей временных интервалов.
[0019] Согласно первому возможному способу реализации, соответствующему первому аспекту, во втором возможном способе реализации, соответствующем первому аспекту, если N≥Nmax, для любого n, если n≥Nmax, то 1 вычитается из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)ый временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
[0020] Техническое решение позволяет добиться следующих преимуществ: путем удаления самого раннего по времени временного интервала, каждый раз, когда добавляется новый временной интервал, обеспечивается постоянство общего количества временных интервалов, распределенных в каждом предварительно установленном интервале, с увеличением пакетов речевых данных, принимаемых на приемной стороне.
[0021] В соответствии со вторым возможным способом реализации первого аспекта согласно третьему возможному способу реализации первого аспекта вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера включает:
[0022] вычисление значения m, которое удовлетворяет условию , где Р представляет известную допустимую вероятность джиттера; и
[0023] использование в качестве необходимого размера буферной зоны суммы размеров последовательных предварительно установленных интервалов, от 0го предварительно установленного интервала до mго предварительно установленного интервала, в множестве предварительно установленных интервалов.
[0024] В соответствии с любым способом реализации, от первого аспекта до третьего возможного способа реализации первого аспекта, согласно четвертому возможному способу реализации первого аспекта настройка буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера включает:
[0025] если текущий размер буферной зоны меньше необходимого размера буферной зоны и эффективная длина буферной зоны равна 0, генерацию данных в буферной зоне для выполнения интерполяции кадра; и
[0026] если текущий размер буферной зоны больше необходимого размера буферной зоны, удаление неречевых данных из буферной зоны таким образом, чтобы разность между текущим размером буферной зоны и необходимым размером буферной зоны находилась в пределах предварительно установленного диапазона.
[0027] Техническое решение позволяет добиться следующих преимуществ: в результате вычисления необходимого размера буферной зоны в соответствии с распределением вероятностей временного интервала и допустимой вероятностью джиттера и настройки текущего размера буферной зоны в соответствии с необходимым размером буферной зоны размер буферной зоны динамически настраивается в зависимости от сетевого джиттера, благодаря чему устраняется джиттер в сети.
[0028] В соответствии с четвертым возможным способом реализации первого аспекта согласно пятому возможному способу реализации первого аспекта после приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных способ также включает:
[0029] декодирование каждого пакета речевых данных в множестве пакетов речевых данных для получения речевых или неречевых данных и сохранение речевых или неречевых данных в буферной зоне.
[0030] Техническое решение позволяет добиться следующих преимуществ: в результате добавления одной буферной зоны между декодером и модулем воспроизведения речи на приемной стороне модуль приема RTP-сообщения приемной стороны передает в декодер принятый пакет речевых данных (в частности, RTP-сообщение), затем декодер декодирует RTP-сообщение для получения речевых или неречевых данных и сохраняет речевые или неречевые данные в буферной зоне, для того чтобы обработать джиттер в сети посредством динамической настройки буферной зоны.
[0031] В соответствии со вторым аспектом вариантов раскрытия настоящего изобретения предлагается устройство для обработки сетевого джиттера, содержащее:
[0032] модуль приема и записи, сконфигурированный для приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных;
[0033] вычислительный модуль, сконфигурированный для расчета временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
[0034] статистический модуль, сконфигурированный для выполнения статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы;
[0035] вычислительный модуль также сконфигурирован для вычисления необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера; и
[0036] модуль настройки, сконфигурированный для настройки буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[0037] Техническое решение позволяет добиться следующих преимуществ: поскольку распределение вероятностей временных интервалов на приемной стороне при приеме пакетов речевых данных изменяется в зависимости от сетевого джиттера, в то время как временной интервал приема пакетов речевых данных приемной стороной является случайной переменной, согласно варианту осуществления необходимый размер буферной зоны вычисляется посредством распределения вероятностей временного интервала и допустимой вероятности джиттера; таким образом, необходимый размер буферной зоны изменяется в зависимости от сетевого джиттера, и настройка буферной зоны в соответствии с необходимым размером буферной зоны позволяет изменять размер буферной зоны в зависимости от сетевого джиттера; и поскольку размер буферной зоны тесно связан с возможностью буферной зоны компенсировать джиттер в сети, этот джиттер может устраняться путем настройки буферной зоны в соответствии с необходимым размером буферной зоны.
[0038] Согласно первому возможному способу реализации, соответствующему второму аспекту, nый временной интервал равен Jn=Rn-Rn-1, где Rn представляет момент приема nго пакета речевых данных, представляет момент приема (n-1)го пакета речевых данных, при этом 1≤n≤(N-1), и N представляет общее количество пакетов речевых данных;
[0039] количество предварительно установленных интервалов превышает единицу, и, iый предварительно установленный интервал равен , где Т - фиксированный временной интервал передачи пакетов речевых данных передающей стороной, и K - положительное целое число; и
[0040] статистический модуль содержит:
[0041] первый статистический подмодуль, сконфигурированный для определения статистических данных о количестве Ni, i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала, и Ni≥0; и
[0042] первый вычислительный подмодуль, сконфигурированный для вычисления вероятности временного интервала, попадающего в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
[0043] Техническое решение позволяет добиться следующих преимуществ: вероятность временных интервалов, попадающих в пределы каждого предварительно установленного интервала, выводится путем определения статистических данных о количестве временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, и использования отношения количества временных интервалов в каждом предварительно установленном интервале к общему количеству пакетов речевых данных в качестве вероятности временных интервалов, попадающих в предварительно установленный интервал, благодаря чему может быть получено распределение вероятностей временных интервалов.
[0044] В соответствии с первым возможным способом реализации второго аспекта согласно второму возможному способу реализации второго аспекта статистический модуль также содержит:
[0045] второй статистический подмодуль, сконфигурированный таким образом, чтобы, если N≥Nmax, для любого n, если n≥Nmax, вычиталась 1 из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)ый временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
[0046] Техническое решение позволяет добиться следующих преимуществ: путем удаления самого раннего по времени временного интервала, каждый раз когда добавляется новый временной интервал, обеспечивается постоянство общего количества временных интервалов, распределенных в каждом предварительно установленном интервале, с увеличением пакетов речевых данных, принимаемых на приемной стороне.
[0047] В соответствии со вторым возможным способом реализации второго аспекта согласно третьему возможному способу реализации второго аспекта вычислительный модуль содержит:
[0048] второй вычислительный подмодуль, сконфигурированный для вычисления значения m, которое удовлетворяет условию , где Р представляет известную допустимую вероятность джиттера; и
[0049] третий вычислительный подмодуль, сконфигурированный для вычисления в качестве необходимого размера буферной зоны суммы размеров последовательных предварительно установленных интервалов, от 0го предварительно установленного интервала до mго предварительно установленного интервала, в множестве предварительно установленных интервалов.
[0050] В соответствии с любым способом реализации, от второго аспекта до третьего возможного способа реализации второго аспекта, согласно четвертому возможному способу реализации второго аспекта модуль настройки содержит:
[0051] первый подмодуль настройки, сконфигурированный для генерации данных в буферной зоне для выполнения интерполяции кадра, если текущий размер буферной зоны меньше необходимого размера буферной зоны и эффективная длина буферной зоны равна 0; и
[0052] второй подмодуль настройки, сконфигурированный для удаления неречевых данных из буферной зоны таким образом, чтобы разность между текущим размером буферной зоны и необходимым размером буферной зоны находилась в пределах предварительно установленного диапазона, если текущий размер буферной зоны больше необходимого размера буферной зоны.
[0053] Техническое решение позволяет добиться следующих преимуществ: в результате вычисления необходимого размера буферной зоны в соответствии с распределением вероятностей временного интервала и допустимой вероятностью джиттера и настройки текущего размера буферной зоны в соответствии с необходимым размером буферной зоны размер буферной зоны динамически настраивается в зависимости от сетевого джиттера, благодаря чему устраняется джиттер в сети.
[0054] В соответствии с четвертым возможным способом реализации второго аспекта согласно пятому возможному способу реализации второго аспекта устройство также содержит:
[0055] модуль декодирования, сконфигурированный для декодирования каждого пакета речевых данных в множестве пакетов речевых данных для получения речевых или неречевых данных и сохранения речевых или неречевых данных в буферной зоне после приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных модулем приема и записи.
[0056] Техническое решение позволяет добиться следующих преимуществ: в результате добавления одной буферной зоны между декодером и модулем воспроизведения речи на приемной стороне модуль приема RTP-сообщения приемной стороны передает в декодер принятый пакет речевых данных (в частности, RTP-сообщение), затем декодер декодирует RTP-сообщение для получения речевых или неречевых данных и сохраняет речевые или неречевые данные в буферной зоне, для того чтобы обработать джиттер в сети посредством динамической настройки буферной зоны.
[0057] В соответствии с третьим аспектом вариантов раскрытия настоящего изобретения предлагается терминал, содержащий:
[0058] процессор и
[0059] память, в которой хранятся инструкции, выполняемые процессором;
[0060] при этом процессор сконфигурирован для выполнения следующих операций:
[0061] прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных;
[0062] вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
[0063] выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы;
[0064] вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и
[0065] настройка буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[0066] Следует принимать во внимание, что как предшествующее общее описание, так и последующее подробное описание представлено только в качестве примера и разъяснения сути изобретения и не ограничивает его объем.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0067] Прилагаемые чертежи, которые включены в состав этого описания и составляют одну из его частей, иллюстрируют варианты осуществления, не противоречащие сути настоящего изобретения, и совместно с описанием помогают разобраться в принципах изобретения.
[0068] На фиг. 1А показан алгоритм первого варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения.
[0069] На фиг. 1В показана блок-схема приемной стороны в соответствии с вариантом осуществления, представленным на фиг. 1А.
[0070] На фиг. 2 показан алгоритм второго варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения.
[0071] На фиг. 3 показан алгоритм третьего варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения.
[0072] На фиг. 4 показан алгоритм четвертого варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения.
[0073] На фиг. 5 показан алгоритм пятого варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения.
[0074] На фиг. 6 показана блок-схема первого варианта осуществления устройства для обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения.
[0075] На фиг. 7 показана блок-схема второго варианта осуществления устройства для обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения.
[0076] На фиг. 8 показана блок-схема терминала в соответствии с примером осуществления настоящего изобретения.
[0077] На фиг. 9 показана блок-схема другого терминала в соответствии с примером осуществления настоящего изобретения.
[0078] Конкретные раскрытые варианты осуществления настоящего изобретения в виде примеров показаны на прилагаемых чертежах и ниже описываются более подробно. Чертежи и письменное описание не предназначены для ограничения каким-либо образом объема идей настоящего изобретения. Напротив, они приводятся с целью иллюстрации идей изобретения для специалистов в этой области техники путем ссылки на конкретные варианты осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0079] Далее более подробно описываются примеры осуществления настоящего изобретения, иллюстрируемые посредством прилагаемых чертежей. Последующее описание приводится со ссылками на прилагаемые чертежи, на которых одинаковые цифровые отметки обозначают одинаковые или схожие элементы, если явно не указано иное. Изложенные в последующем описании примеры вариантов осуществления не охватывают всех вариантов реализации, не противоречащих настоящему изобретению. В этом описании приводятся только примеры реализации устройств и способов, соответствующих некоторым аспектам, связанным с изобретением, сущность которого излагается в прилагаемой формуле изобретения.
[0080] На фиг. 1А показан алгоритм первого варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения. Способ может выполняться устройством для обработки джиттера в сети, которое может встраиваться в терминал. Как показано на фиг. 1, способ включает следующие шаги.
[0081] На шаге 101 выполняется прием множества пакетов речевых данных и записывается момент приема каждого пакета речевых данных.
[0082] Согласно варианту осуществления два терминала осуществляют речевую связь с использованием технологии VolP, при этом обоими устройствами в процессе связи применяется транспортный протокол реального времени (RTP, Real-time Transport Protocol); если пользователь на приемной стороне прослушивает речь пользователя, находящегося на передающей стороне, передающая сторона пересылает множество RTP-сообщений на приемную сторону, и каждое RTP-сообщение содержит речевые данные; а затем приемная сторона принимает множество RTP-сообщений и записывает момент приема каждого RTP-сообщения.
[0083] На шаге 102 выполняется вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема.
[0084] nый временной интервал равен Jn=Rn-Rn-1, где Rn представляет момент приема nго пакета речевых данных, Rn-1 представляет момент приема (n-1)го пакета речевых данных, при этом 1≤n≤(N-1), и N представляет общее количество пакетов речевых данных;
[0085] Временной интервал между каждыми двумя соседними пакетами речевых данных вычисляется в соответствии с моментом приема каждого RTP-сообщения, например, момент приема (n-1)го пакета речевых данных равен Rn-1, момент приема nго пакета речевых данных равен Rn, значение Jn=Rn-Rn-1 представляет nый временной интервал, количество всех RTP-сообщений равно N и 1≤n≤(N-1).
[0086] На шаге 103 выполняется статистическая обработка распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы.
[0087] Согласно варианту осуществления существует множество предварительно установленных интервалов, и iый предварительно установленный интервал определяется следующим соотношением: , где Т - фиксированный временной интервал передачи пакетов речевых данных передающей стороной, K - положительное целое число, и i≥0; выполняется статистическая обработка числа временных интервалов, попадающих в каждый предварительно установленный интервал, соответственно во всех временных интервалах, то есть для каждого предварительно установленного интервала выполняется статистическая обработка количества Ni временных интервалов, попадающих в этот предварительно установленный интервал, во всех временных интервалах; поскольку Jn изменяется в зависимости от изменения n, временной интервал J приема двух соседних пакетов речевых данных приемной стороной является случайной переменной, отношение количества Ni временных интервалов, соответствующих предварительно установленному интервалу, к общему количеству N пакетов речевых данных, то есть вероятность pi случайной переменной J, попадающей в предварительно установленный интервал, и распределение вероятностей случайной переменной J могут быть получены в соответствии с вероятностью pi, i≥0 случайной переменной J, попадающей в каждый предварительно установленный интервал. Предпочтительно, K=8, при этом чем больше K, тем более досконально разделяются статистические интервалы, и более точно вычисляется распределение вероятностей. Однако, если количество пакетов, с которыми выполняется статистическая обработка, не является достаточным, превышение значения К приводит к тому, что данные в некоторой позиции в картине распределения вероятностей становятся слишком малыми, в результате чего возникает искажение данных.
[0088] На шаге 104 выполняется вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера.
[0089] Согласно варианту осуществления допустимая вероятность джиттера представляет вероятность компенсации сетевого джиттера с помощью буферной зоны. Сумма вероятностей случайной переменной J, попадающей в первые (m+1) предварительно установленные интервалы, и сумма вероятностей этой переменной в первых (m+2) предварительно установленных интервалах, накапливаются; если допустимая вероятность Р джиттера удовлетворяет условию, то сумма размеров предварительно установленных последовательных интервалов, от 0го до mго, представляет собой необходимый размер буферной зоны.
[0090] На шаге 105 выполняется настройка буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[0091] Как показано на фиг. 1В, между декодером и модулем воспроизведения речи на приемной стороне добавляется буферная зона, модуль приема RTP-сообщения приемной стороны передает в декодер принятый пакет речевых данных (в частности, RTP-сообщение), затем декодер декодирует RTP-сообщение для получения речевых или неречевых данных и сохраняет речевые или неречевые данные в буферной зоне. Предпочтительно длина речевых или неречевых данных, полученных путем декодирования одного RTP-сообщения, составляет L, общий размер буферной зоны равен K*L, то есть буферная зона делится на К частей, длина каждой части равна L, и номера всех частей представляют собой последовательность 0, 1, 2, …, K-1. Модуль воспроизведения речи регулярно читает данные из буферной зоны для их воспроизведения. При условии, что модуль воспроизведения речи считывает данные для воспроизведения из части с номером Pread в буферной зоне, декодер записывает декодированные данные и выводит их в часть с номером Pwrite, разность Pwrite-Pread представляет эффективную длину данных буферной зоны, а также - задержку, генерируемую в буферной зоне.
[0092] Поскольку размер буферной зоны тесно связан с возможностью буферной зоны компенсировать джиттер в сети, буферная зона настраивается в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[0093] Согласно варианту осуществления, поскольку распределение вероятностей временных интервалов на приемной стороне при приеме пакетов речевых данных изменяется в зависимости от изменения сетевого джиттера, в то время как временной интервал приема пакетов речевых данных приемной стороной является случайной переменной, необходимый размер буферной зоны рассчитывается посредством распределения вероятностей временного интервала и допустимой вероятности джиттера; таким образом, необходимый размер буферной зоны изменяется в зависимости от сетевого джиттера, и настройка буферной зоны в соответствии с необходимым размером буферной зоны позволяет изменять размер буферной зоны с изменением сетевого джиттера; и поскольку размер буферной зоны тесно связан с возможностью буферной зоны компенсировать джиттер в сети, этот джиттер может устраняться путем настройки буферной зоны в соответствии с необходимым размером буферной зоны.
[0094] На фиг. 2 показан алгоритм второго варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения. Как показано на фиг. 2, способ может включать следующие шаги.
[0095] На шаге 201 выполняется прием множества пакетов речевых данных и записывается момент приема каждого пакета речевых данных.
[0096] На шаге 202 выполняется вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема.
[0097] На шаге 203 выполняется определение статистических данных о количестве Ni, i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала, и Ni≥0.
[0098] Согласно варианту осуществления существует множество предварительно установленных интервалов, и iый предварительно установленный интервал определяется следующим соотношением: , i≥0, количество всех RTP-сообщений равно N, следовательно, все временные интервалы образуют последовательность J1, J2…JN-1, далее определяются статистические данные о количестве временных интервалов в последовательности J1, J2…JN-1, попадающих в каждый предварительно установленный интервал, и количество временных интервалов в последовательности J1, J2…JN-1, попадающих в iый предварительно установленный интервал, представляется величиной Ni; например, только J2, J3 и J10 в последовательности J1, J2…JN-1 удовлетворяют условиям , и , то есть три значения в последовательности J1, J2…JN-1 попадают в iый предварительно установленный интервал, следовательно: Ni=3, и те же рассуждения справедливы для других предварительно установленных временных интервалов.
[0099] На шаге 204 вычисляется вероятность временных интервалов, попадающих в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
[00100] Статистические значения, соответствующие каждому предварительно установленному интервалу, могут быть получены на шаге 203, например, iый предварительно установленный интервал соответствует Ni статистическим значениям, тогда значение является вероятностью случайной переменной J, попадающей в iый предварительно установленный интервал; таким образом, может быть вычислена вероятность случайной переменной J, попадающей в каждый предварительно установленный интервал.
[00101] На шаге 205 выполняется вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера.
[00102] На шаге 206 выполняется настройка буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[00103] Согласно варианту осуществления вероятность временных интервалов, попадающих в пределы каждого предварительно установленного интервала, выводится путем определения статистических данных о количестве временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, и использования отношения количества временных интервалов в каждом предварительно установленном интервале к общему количеству пакетов речевых данных в качестве вероятности временных интервалов, попадающих в предварительно установленный интервал, благодаря чему может быть получено распределение вероятностей временных интервалов.
[00104] На фиг. 3 показан алгоритм третьего варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения. Как показано на фиг. 3, способ может включать следующие шаги.
[00105] На шаге 301 выполняется прием множества пакетов речевых данных и записывается момент приема каждого пакета речевых данных.
[00106] На шаге 302 выполняется вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема.
[00107] На шаге 303 определяются статистические данные о количестве Ni, i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала, и Ni≥0.
[00108] На шаге 304 выполняется вычисление вероятности временных интервалов, попадающих в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
[00109] На шаге 305, если N≥Nmax, для любого n, если n≥Nmax, вычитается из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)ый временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
[00110] При разумном предположении, что приемная сторона в варианте осуществления в настоящий момент приняла 1000 пакетов речевых данных, номера 1000 пакетов речевых данных образуют последовательность 0, 1, 2 …, 999 и 1000 пакетов речевых данных соответствуют 999 временным интервалам, то есть J1, J2…J999, при этом пороговое значение общего количества пакетов речевых данных, которые могут приниматься на приемной стор