ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[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, при этом пороговое значение общего количества пакетов речевых данных, которые могут приниматься на приемной стороне, составляет 1000; при этом, если приемная сторона принимает пакет речевых данных с номером 1000, вычисляется значение J1000. При условии, что J1000 принадлежит 10му предварительно установленному интервалу, статистическое значение, соответствующее 10му предварительно установленному интервалу складывается с 1, и в то же время 1 вычитается из статистического значения, соответствующего предварительно установленному интервалу, которому принадлежит J1; таким же образом, если приемная сторона принимает пакет речевых данных с номером 1001, вычисляется значение J1001. При условии, что принадлежит 8му предварительно установленному интервалу, статистическое значение, соответствующее 8му предварительно установленному интервалу, складывается с 1, и в то же время 1 вычитается из статистического значения, соответствующего предварительно установленному интервалу, которому принадлежит J2. Таким образом, каждый раз при добавлении нового временного интервала удаляется один из самых ранних временных интервалов, благодаря чему обеспечивается постоянство общего количества временных интервалов, распределенных в каждом предварительно установленном интервале, с увеличением пакетов речевых данных, принимаемых на приемной стороне.
[00111] На шаге 306 выполняется вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера.
[00112] На шаге 307 выполняется настройка буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[00113] Согласно варианту осуществления путем удаления самого раннего по времени временного интервала, каждый раз, когда добавляется новый временной интервал, обеспечивается постоянство общего количества временных интервалов, распределенных в каждом предварительно установленном интервале, с увеличением пакетов речевых данных, принимаемых на приемной стороне.
[00114] На фиг. 4 показан алгоритм четвертого варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения. Как показано на фиг. 4, способ может включать следующие шаги.
[00115] На шаге 401 выполняется прием множества пакетов речевых данных и записывается момент приема каждого пакета речевых данных.
[00116] На шаге 402 выполняется вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема.
[00117] На шаге 403 определяются статистические данные о количестве Ni, i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала, и Ni≥0.
[00118] На шаге 404 выполняется вычисление вероятности временных интервалов, попадающих в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
[00119] На шаге 405, если N≥Nmax для любого n, если n≥Nmax, 1 вычитается из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)ый временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
[00120] На шаге 406 вычисляется значение m, которое удовлетворяет условию , где Р представляет известную допустимую вероятность джиттера.
[00121] Допустимая вероятность джиттера представляет вероятность компенсации сетевого джиттера с помощью буферной зоны. Сумма вероятностей случайной переменной J, попадающей в первые (m+1) предварительно установленные интервалы, и сумма вероятностей этой переменной, попадающей в первые (m+2) предварительно установленные интервалы, накапливаются; и предварительно устанавливается известное значение Р допустимой вероятности джиттера, для того чтобы вычислить значение m, удовлетворяющее условию .
[00122] На шаге 407 в качестве необходимого размера буферной зоны используется сумма размеров последовательных предварительно установленных интервалов, от 0го предварительно установленного интервала до mго предварительно установленного интервала, в множестве предварительно установленных интервалов.
[00123] На шаге 408, если текущий размер буферной зоны меньше необходимого размера, данные генерируются в буферной зоне для выполнения интерполяции кадра, а если текущий размер буферной зоны больше необходимого размера, неречевые данные удаляются из буферной зоны таким образом, чтобы разность между текущим размером буферной зоны и необходимым размером буферной зоны находилась в пределах предварительно установленного диапазона.
[00124] Конкретный способ настройки буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера выполняется следующим образом: если текущий размер буферной зоны меньше необходимого размера буферной зоны, выполняется генерация данных в буферной зоне для интерполяции кадра, при этом способ интерполяции кадра включает: для речевых данных - повторение данных на основе периода основного тона для обеспечения равномерной речи; и для неречевых сигналов - генерацию и сглаживание шумов на основе оценки энергии фоновых шумов; и если текущий размер буферной зоны больше необходимого размера, удаление неречевых данных из буферной зоны, для того чтобы текущий размер буферной зоны уменьшался до тех пор, пока разность между текущим размером буферной зоны и необходимым размером буферной зоны не будет находиться в пределах предварительно установленного диапазона, после чего прекращение удаления неречевых данных.
[00125] Согласно варианту осуществления размер буферной зоны динамически настраивается с изменением сетевого джиттера путем вычисления необходимого размера буферной зоны в соответствии с распределением вероятностей временного интервала и допустимой вероятностью джиттера и путем настройки текущего размера буферной зоны в соответствии с необходимым размером буферной зоны, благодаря чему устраняется джиттер в сети.
[00126] На фиг. 5 показан алгоритм пятого варианта выполнения способа обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения. Как показано на фиг. 5, способ может включать следующие шаги.
[00127] На шаге 501 выполняется прием множества пакетов речевых данных и записывается момент приема каждого пакета речевых данных.
[00128] На шаге 502 выполняется декодирование каждого пакета речевых данных в множестве пакетов речевых данных для получения речевых или неречевых данных и сохранение речевых или неречевых данных в буферной зоне.
[00129] Как, в частности, показано на фиг. 1 В, шаг 502 способа соответствует описаниям первого варианта осуществления, изображенного на фиг. 1 В, и далее подробно не разъясняется.
[00130] На шаге 503 выполняется вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема.
[00131] На шаге 504 определяются статистические данные о количестве Ni, i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала, и Ni≥0.
[00132] На шаге 505 выполняется вычисление вероятности временных интервалов, попадающих в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
[00133] На шаге 506, если N≥Nmax, для любого n, если n≥Nmax, 1 вычитается из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)ый временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
[00134] На шаге 507 вычисляется значение m, которое удовлетворяет условию , где Р представляет известную допустимую вероятность джиттера.
[00135] Допустимая вероятность джиттера представляет вероятность компенсации сетевого джиттера с помощью буферной зоны. Сумма вероятностей случайной переменной J, попадающей в первые (m+1) предварительно установленные интервалы, и сумма вероятностей этой переменной, попадающей в первые (m+2) предварительно установленные интервалы, накапливаются; и предварительно устанавливается известное значение Р допустимой вероятности джиттера, для того чтобы вычислить значение m, удовлетворяющее условию .
[00136] На шаге 508 в качестве необходимого размера буферной зоны используется сумма размеров последовательных предварительно установленных интервалов, от 0го предварительно установленного интервала до mго предварительно установленного интервала, в множестве предварительно установленных интервалов.
[00137] На шаге 509, если текущий размер буферной зоны меньше необходимого размера и эффективная длина буферной зоны равна 0, то данные генерируются в буферной зоне для выполнения интерполяции кадра, а если текущий размер буферной зоны больше необходимого размера, то неречевые данные удаляются из буферной зоны таким образом, чтобы разность между текущим размером буферной зоны и необходимым размером буферной зоны находилась в пределах предварительно установленного диапазона.
[00138] При условии, что необходимый размер буферной зоны составляет 3 при определенном состоянии сети и заданном допустимом коэффициенте потери пакетов, в случае блокировки сети эффективная длина буферной зоны становится равной 2; в этот момент интерполяция кадра не требуется; если блокируемые пакеты данных поступают постоянно, эффективная длина буферной зоны увеличивается, и интерполяция кадра в этот момент не требуется; а если блокируемые пакеты данных не поступают непрерывно, эффективная длина буферной зоны становится равной 0, после чего требуется интерполяция кадра.
[00139] При условии, что сетевые условия ухудшаются, в то время как допустимый коэффициент потери пакетов остается неизменным, необходимый размер буферной зоны увеличивается, например, необходимый размер становится равным 5, и это означает, что четыре кадра данных могут воспроизводиться в буферной зоне даже во время блокировки; если заблокированные пакеты данных не поступают постоянно после окончательного воспроизведения четырех кадров данных, то требуется интерполяция кадра. Из этого следует, что увеличение необходимого размера буферной зоны приводит к уменьшению вероятности выполнения интерполяции кадра в буферной зоне, благодаря чему повышается качество тонального сигнала.
[00140] При условии, что сетевые условия улучшаются, в то время как допустимый коэффициент потери пакетов остается неизменным, необходимый размер буферной зоны уменьшается, например, необходимый размер становится равным 1, и это означает, что задержка, вводимая в буферную зону, составляет только один кадр, и задержка становится короткой, однако в случае блокировки сети требуется интерполяция кадра после окончательного воспроизведения одного кадра.
[00141] При условии, что сетевые условия не изменяются, в то время как допустимый коэффициент потери пакетов становится больше, необходимый размер буферной зоны теоретически становится больше, и это означает, что задержка возрастает, однако вероятность выполнения интерполяции кадра уменьшается, и это связано с выбором пользователем большего допустимого коэффициента потери пакетов.
[00142] При условии, что сетевые условия не изменяются, в то время как допустимый коэффициент потери пакетов становится меньше, необходимый размер буферной зоны теоретически становится меньше, и это означает, что задержка уменьшается, однако вероятность выполнения интерполяции кадра увеличивается, поскольку пользователь допускает интерполяцию кадра для большего количества потерянных пакетов, чтобы уменьшить задержку.
[00143] Согласно варианту осуществления в результате добавления одной буферной зоны между декодером и модулем воспроизведения речи на приемной стороне модуль приема RTP-сообщения приемной стороны передает в декодер принятый пакет речевых данных (в частности, RTP-сообщение), затем декодер декодирует RTP-сообщение для получения речевых или неречевых данных и сохраняет речевые или неречевые данные в буферной зоне, для того чтобы обработать джиттер в сети посредством динамической настройки буферной зоны.
[00144] На фиг. 6 показана блок-схема первого варианта осуществления устройства для обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения. Как показано на фиг. 6, устройство содержит модуль 61 приема и записи, вычислительный модуль 62, статистический модуль 63 и модуль 64 настройки.
[00145] Модуль 61 приема и записи сконфигурирован для приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных.
[00146] Вычислительный модуль 62 сконфигурирован для вычисления временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема.
[00147] Статистический модуль 63 сконфигурирован для выполнения статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы.
[00148] Вычислительный модуль 62 также сконфигурирован для вычисления необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера.
[00149] Модуль 64 настройки сконфигурирован для настройки буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[00150] Согласно варианту осуществления, поскольку распределение вероятностей временных интервалов на приемной стороне при приеме пакетов речевых данных изменяется при изменении сетевого джиттера, в то время как временной интервал приема пакетов речевых данных приемной стороной является случайной переменной, необходимый размер буферной зоны вычисляется посредством распределения вероятностей временного интервала и допустимой вероятности джиттера; таким образом, необходимый размер буферной зоны изменяется с изменением сетевого джиттера, и настройка буферной зоны в соответствии с необходимым размером буферной зоны позволяет изменять размер буферной зоны с изменением сетевого джиттера; и поскольку размер буферной зоны тесно связан с возможностью буферной зоны компенсировать джиттер в сети, этот джиттер может устраняться путем настройки буферной зоны в соответствии с необходимым размером буферной зоны.
[00151] На фиг. 7 показана блок-схема второго варианта осуществления устройства для обработки сетевого джиттера в соответствии с примером реализации настоящего изобретения. Как показано на фиг. 7, на основе варианта осуществления, изображенного на фиг. 6, nый временной интервал вычисляется следующим образом: Jn=Rn-Rn-1, Rn представляет собой момент приема nго пакета речевых данных, представляет собой момент приема (n-1)го пакета речевых данных, 1≤n≤(N-1), и N представляет собой общее количество пакетов речевых данных; количество предварительно установленных интервалов больше единицы, и iый предварительно установленный интервал вычисляется следующим образом: , где Т - фиксированный интервал передачи пакетов речевых данных передающей стороной, и K - положительное целое число.
[00152] Статистический модуль 63 содержит: первый статистический подмодуль 631, первый вычислительный подмодуль 632 и второй статистический подмодуль 633.
[00153] Первый статистический подмодуль 631 сконфигурирован для определения статистических данных о количестве Ni, i>0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала, и Ni≥0.
[00154] Первый вычислительный подмодуль 632 сконфигурирован для вычисления вероятности временного интервала, попадающего в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
[00155] Второй статистический подмодуль 633 сконфигурирован таким образом, чтобы, если N≥Nmax, для любого n, если n≥Nmax, вычиталась 1 из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)ый временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
[00156] Вычислительный модуль 62 содержит второй вычислительный подмодуль 621 и третий вычислительный подмодуль 622.
[00157] Второй вычислительный подмодуль 621 сконфигурирован для вычисления значения m, которое удовлетворяет условию , где Р представляет известную допустимую вероятность джиттера.
[00158] Третий вычислительный подмодуль 622 сконфигурирован для вычисления в качестве необходимого размера буферной зоны суммы размеров последовательных предварительно установленных интервалов, от 0го предварительно установленного интервала до mго предварительно установленного интервала, в множестве предварительно установленных интервалов.
[00159] Модуль 64 настройки содержит первый подмодуль 641 настройки и второй подмодуль 642 настройки.
[00160] Первый подмодуль 641 настройки сконфигурирован для генерации данных в буферной зоне для выполнения интерполяции кадра, если текущий размер буферной зоны меньше необходимого размера буферной зоны и эффективная длина буферной зоны равна 0.
[00161] Второй подмодуль настройки 642 сконфигурирован для удаления неречевых данных из буферной зоны таким образом, чтобы разность между текущим размером буферной зоны и необходимым размером буферной зоны находилась в пределах предварительно установленного диапазона, если текущий размер буферной зоны больше необходимого размера буферной зоны.
[00162] Устройство также содержит модуль 65 декодирования, сконфигурированный для декодирования каждого пакета речевых данных в множестве пакетов речевых данных для получения речевых или неречевых данных и сохранения речевых или неречевых данных в буферной зоне после приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных модулем 61 приема и записи.
[00163] Устройство для обработки джиттера в сети, предлагаемое посредством варианта осуществления настоящего изобретения, может быть сконфигурировано для выполнения технического решения согласно любой реализации способа, показанного на фиг. 2-5.
[00164] Согласно варианту осуществления настоящего изобретения вычисляется вероятность временных интервалов, попадающих в каждый предварительно установленный интервал, путем определения статистических данных о количестве временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, и использования отношения количества временных интервалов в каждом предварительно установленном интервале к общему количеству пакетов речевых данных в качестве вероятности временных интервалов, попадающих в предварительно установленный интервал, благодаря чему может быть получено распределение вероятностей временных интервалов; путем удаления самого раннего по времени временного интервала, каждый раз когда добавляется новый временной интервал, обеспечивается постоянство общего количества временных интервалов, распределенных в каждом предварительно установленном интервале, с увеличением пакетов речевых данных, принимаемых на приемной стороне; размер буферной зоны динамически настраивается с изменением сетевого джиттера путем вычисления необходимого размера буферной зоны в соответствии с распределением вероятностей временного интервала и допустимой вероятностью джиттера и настройки текущего размера буферной зоны в соответствии с необходимым размером буферной зоны, благодаря чему устраняется джиттер в сети; в результате добавления одной буферной зоны между декодером и модулем воспроизведения речи на приемной стороне модуль приема RTP-сообщения приемной стороны передает в декодер принятый пакет речевых данных (в частности, RTP-сообщение), затем декодер декодирует RTP-сообщение для получения речевых или неречевых данных и сохраняет речевые или неречевые данные в буферной зоне, для того чтобы обработать джиттер в сети посредством динамической настройки буферной зоны.
[00165] Что касается устройства для обработки сетевого джиттера, использованного в вариантах осуществления настоящего изобретения, приведенных выше, конкретные способы выполнения операций в отдельных модулях были подробно описаны в рамках вариантов осуществления настоящего изобретения, относящихся к способам его реализации, и далее подробно не рассматриваются.
[00166] Внутренние функции и структуры устройства для обработки сетевого джиттера описаны выше. Как показано на фиг. 8, на практике устройство для обработки сетевого джиттера может быть реализовано в виде терминала, содержащего:
[00167] процессор и
[00168] память, в которой хранятся инструкции, выполняемые процессором;
[00169] при этом процессор сконфигурирован для выполнения следующих операций:
[00170] прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных;
[00171] вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
[00172] выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы;
[00173] вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и
[00174] настройка буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[00175] Согласно варианту осуществления, поскольку распределение вероятностей временных интервалов на приемной стороне при приеме пакетов речевых данных изменяется при изменении сетевого джиттера, в то время как временной интервал приема пакетов речевых данных приемной стороной является случайной переменной, необходимый размер буферной зоны вычисляется на основе распределения вероятностей временного интервала и допустимой вероятности джиттера; таким образом, необходимый размер буферной зоны изменяется с изменением сетевого джиттера, и настройка буферной зоны в соответствии с необходимым размером буферной зоны позволяет изменять размер буферной зоны с изменением сетевого джиттера; и поскольку размер буферной зоны тесно связан с возможностью буферной зоны компенсировать джиттер в сети, этот джиттер может устраняться путем настройки буферной зоны в соответствии с необходимым размером буферной зоны.
[00176] На фиг. 9 показана блок-схема другого терминала в соответствии с примером осуществления настоящего изобретения. Например, терминал 800 может представлять собой мобильный телефон, компьютер, терминал цифрового вещания, устройство передачи сообщений, игровую консоль, планшет, медицинское устройство, тренажерное оборудование, персональное информационное устройство и т.п.
[00177] На фиг. 10 показано, что терминал 800 может содержать один или более следующих компонентов: компонент 802 обработки, память 804, компонент 806 питания, мультимедийный компонент 808, компонент 810 обработки звукового сигнала, интерфейс 812 ввода/вывода (I/O, input/output), компонент 814 датчиков и компонент 816 связи.
[00178] Компонент 802 обработки обычно управляет всеми операциями, выполняемыми терминалом 800, такими как операции, связанные с отображением, телефонными вызовами, передачей данных, работой видеокамеры и записью данных. Компонент 802 обработки может включать в свой состав один или более процессоров 820, предназначенных для выполнения инструкций, осуществляющих все или некоторые шаги описанных выше способов. Кроме того, компонент 802 обработки может содержать один или более модулей, которые облегчают взаимодействие между компонентом 802 обработки и другими компонентами. Например, компонент 802 обработки может содержать мультимедийный модуль, который облегчает взаимодействие между мультимедийным компонентом 808 и компонентом 802 обработки.
[00179] Память 804 сконфигурирована для хранения данных различных типов, необходимых для функционирования устройства 800. К примерам таких данных относятся инструкции для любых приложений или способов, выполняемых в терминале 800, контактные данные, данные телефонной книги, сообщения, изображения, видеофайлы и т.д. Память 804 может быть реализована с использованием любого типа устройств энергонезависимой или энергозависимой памяти, или комбинации таких устройств, например, с помощью статической оперативной памяти (SRAM, Static Random Access Memory), электрически стираемого программируемого постоянного запоминающего устройства (EEPROM, Electrically Erasable Programmable Read-Only Memory), стираемого программируемого постоянного запоминающего устройства (EPROM, Erasable Programmable Read-Only Memory), программируемого постоянного запоминающего устройства (PROM, Programmable Read-Only Memory), постоянного запоминающего устройства (ROM, read-only memory), магнитного запоминающего устройства, флэш-памяти, магнитного или оптического диска.
[00180] Компонент 806 питания обеспечивает электропитание для различных компонентов терминала 800. Компонент 806 питания может включать в свой состав систему управления режимом электропитания, один или более источников питания и любые другие компоненты, связанные с генерацией, управлением и распределением электропитания в терминале 800.
[00181] Мультимедийный компонент 808 содержит экран, обеспечивающий выходной интерфейс между терминалом 800 и пользователем. В некоторых вариантах осуществления настоящего изобретения экран может представлять собой жидкокристаллический дисплей (LCD, Liquid Crystal Display) и сенсорную панель (TP, Touch Panel). Экран, реализованный в виде сенсорной панели, позволяет принимать входные сигналы от пользователя. На сенсорной панели расположены один или более тактильных датчиков, предназначенных для прикосновений, нажатий и выполнения иных жестикуляций. Тактильные датчики могут не только определять область прикосновения или нажатия, но также реагировать на период времени и давление, связанное с прикосновениями и нажатиями. В некоторых вариантах осуществления настоящего изобретения мультимедийный компонент 808 содержит фронтальную видеокамеру и/или тыльную видеокамеру. Фронтальная видеокамера и/или тыльная видеокамера могут принимать внешние мультимедийные данные при нахождении устройства 800 в рабочем режиме, например в режиме выполнения фотосъемки или видеосъемки. Как фронтальная, так и тыльная видеокамера может оснащаться оптической системой линз или средствами фокусного и оптического масштабирования.
[00182] Компонент 810 обработки звукового сигнала сконфигурирован для передачи и/или приема звуковых сигналов. Например, компонент 810 обработки звукового сигнала содержит микрофон ("MIC"), позволяющий принимать внешний звуковой сигнал, когда терминал 800 находится в рабочем режиме, например, в режиме выполнения вызова, записи и распознавания голоса. Принятый звуковой сигнал далее может сохраняться в памяти 804 или передаваться через компонент 816 связи. В некоторых вариантах осуществления настоящего изобретения компонент 810 обработки звукового сигнала также содержит громкоговоритель, предназначенный для вывода звуковых сигналов.
[00183] Интерфейс 812 ввода/вывода поддерживает интерфейс между компонентом 802 обработки и модулями периферийного интерфейса, такими как клавиатура, колесо мыши, кнопки и т.п. Кнопки, помимо прочего, могут представлять собой кнопку возврата, кнопку настройки уровня звука, кнопку запуска и кнопку блокировки.
[00184] Компонент 814 датчиков содержит один или более датчиков, служащих для оценки различных аспектов работы терминала 800. Например, компонент 814 датчиков может обнаруживать открытие/закрытие устройства 800, относительное позиционирование компонентов, например дисплея и клавиатуры, терминала 800, изменение позиции терминала 800 или компонента терминала 800, наличие или отсутствие контакта пользователя с терминалом 800, ориентацию или ускоренное/замедленное перемещение терминала 800 и изменение температуры носимого устройства 800. Компонент 814 датчиков может содержать бесконтактный датчик, сконфигурированный для обнаружения расположенных вблизи объектов без физического контакта с ними. Компонент 814 датчиков также может включать в свой состав светочувствительный элемент, такой как датчик изображения CMOS или CCD, предназначенный для использования в приложениях формирования изображений. В некоторых вариантах осуществления настоящего изобретения компонент 814 датчиков также может содержать акселерометр, гироскоп, магнитный датчик, датчик давления или температуры.
[00185] Компонент 816 связи сконфигурирован для облегчения процесса проводной или беспроводной связи между терминалом 800 и другими устройствами. Терминал 800 может получать доступ к беспроводной сети с использованием таких стандартов связи, как WiFi, 2G или 3G, или комбинации этих стандартов. Согласно одному из примеров осуществления настоящего изобретения компонент 816 связи принимает широковещательный сигнал или передает соответствующую информацию в широковещательном режиме из внешней системы управления широковещательной передачей через широковещательный канал. В одном из примеров осуществления настоящего изобретения компонент 816 связи также содержит модуль ближней связи (NFC, Near Field Communication), позволяющий передавать сигналы на небольшие расстояния. Например, модуль NFC может быть реализован на основе технологии идентификации по радиочастотному коду (RFID, Radio Frequency Identification), i технологии ассоциации по средствам передачи данных в инфракрасном диапазоне (IrDA, Infrared Data Association), технологии сверхширокополосной сети (UWB, Ultra-Wideband), технологии Bluetooth (ВТ) и других технологий.
[00186] Согласно примерам осуществления настоящего изобретения терминал 800 может быть реализовано с использованием одного или более таких компонентов, как специализированные интегральные схемы (ASIC, Application Specific Integrated Circuit), цифровые сигнальные процессоры (DSP, Digital Signal Processor), устройства цифровой обработки сигналов (DSPD, Digital Signal Processing Device), программируемые логические устройства (PLD, Programmable Logic Device), программируемые пользователем вентильные матрицы (FPGA, Field Programmable Gate Array), контроллеры, микроконтроллеры, микропроцессоры, или посредством других электронных компонентов, разработанных для выполнения описанных выше способов.
[00187] Согласно примерам осуществления настоящего изобретения также предлагается машиночитаемый носитель, на котором хранятся инструкции, такие как инструкции, записанные в памяти 804 и выполняемые процессором 820 терминала 800 для реализации описанных выше способов. Например, машиночитаемый носитель может представлять собой ROM, RAM, CD-ROM, магнитную ленту, дискету, оптическое запоминающее устройство и т.п.
[00188] При исполнении процессором мобильного терминала инструкций, записанных на машиночитаемом носителе информации, терминал выполняет способ обработки сетевого джиттера, включающий:
[00189] прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных;
[00190] вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
[00191] выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы;
[00192] вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и
[00193] настройку буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера.
[00194] Специалисту в этой области техники должны быть очевидны другие варианты осуществления настоящего изобретения, основанные на соображениях, изложенных в данном описании, и на практическом применении раскрытого изобретения. Эта заявка предназначена для охвата любых изменений, способов использования или адаптаций настоящего изобретения, соответствующих основным его принципам, включая такие отступления от раскрытия настоящего изобретения, которые относятся к известной или обычной практике в этой области техники. Это описание и иллюстрации следует рассматривать только в качестве примеров с учетом того, что сущность и объем настоящего изобретения представлены в приведенной ниже формуле изобретения.
[00195] Следует принимать во внимание, что настоящее изобретение не ограничено в точности теми формулировками, которые были приведены выше и проиллюстрированы на прилагающихся чертежах, и различные модификации и изменения могут выполняться в объеме настоящего изобретения. Подразумевается, что объем изобретения ограничен только прилагаемой формулой изобретения.
Изобретение относится к способу и устройству для обработки сетевого джиттера, а также к терминалу. Технический результат – улучшение качества речевого сигнала на приемной стороне джиттером временного интервала в процессе приема данных. Для этого способ включает прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных; вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема; выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы; вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и настройку буферной зоны в соответствии с необходимым размером буферной зоны для решения проблемы сетевого джиттера. 3 н. и 10 з.п. ф-лы, 10 ил.
1. Способ обработки сетевого джиттера, включающий:
прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных;
вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы;
вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и
настройку буферной зоны в соответствии с необходимым размером буферной зоны.
2. Способ по п. 1, отличающийся тем, что n-й временной интервал равен Jn=Rn-Rn-1, где Rn представляет момент приема n-го пакета речевых данных, Rn-1 представляет момент приема (n-1)-го пакета речевых данных, при этом 1≤n≤(N-1) и N представляет общее количество пакетов речевых данных;
количество предварительно установленных интервалов превышает единицу и i-й предварительно установленный интервал равен , где Т - фиксированный временной интервал передачи пакетов речевых данных передающей стороной и K - положительное целое число; и
выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы, включает:
определение статистических данных о количестве Ni, i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала и Ni≥0; и
вычисление вероятности временного интервала, попадающего в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
3. Способ по п. 2, отличающийся тем, что, когда N≥Nmax, для любого n, если n≥Nmaх, то 1 вычитается из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)-й временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
4. Способ по п. 3, отличающийся тем, что вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера включает:
вычисление значения m, которое удовлетворяет условию , где Р представляет известную допустимую вероятность джиттера; и
использование в качестве необходимого размера буферной зоны суммы размеров последовательных предварительно установленных интервалов от 0-го предварительно установленного интервала до m-го предварительно установленного интервала, в множестве предварительно установленных интервалов.
5. Способ по любому из пп. 1-4, отличающийся тем, что настройка буферной зоны в соответствии с необходимым размером буферной зоны включает:
если текущий размер буферной зоны меньше необходимого размера буферной зоны и эффективная длина буферной зоны равна 0, генерацию данных в буферной зоне для выполнения интерполяции кадра; и
если текущий размер буферной зоны больше необходимого размера буферной зоны, удаление неречевых данных из буферной зоны таким образом, чтобы разность между текущим размером буферной зоны и необходимым размером буферной зоны находилась в пределах предварительно установленного диапазона.
6. Способ по п. 5, отличающийся тем, что после приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных способ также включает декодирование каждого пакета речевых данных из множества пакетов речевых данных для получения речевых или неречевых данных и сохранение речевых или неречевых данных в буферной зоне.
7. Устройство для обработки сетевого джиттера, содержащее:
модуль приема и записи, сконфигурированный для приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных;
вычислительный модуль, сконфигурированный для расчета временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
статистический модуль, сконфигурированный для выполнения статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы; при этом
вычислительный модуль также сконфигурирован для вычисления необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера; и
модуль настройки, сконфигурированный для настройки буферной зоны в соответствии с необходимым размером буферной зоны.
8. Устройство по п. 7, отличающееся тем, что n-й временной интервал равен Jn=Rn-Rn-1, где Rn представляет момент приема n-го пакета речевых данных, Rn-1 представляет момент приема (n-1)-го пакета речевых данных, 1≤n≤(N-1) и N представляет общее количество пакетов речевых данных;
количество предварительно установленных интервалов превышает единицу и i-й предварительно установленный интервал равен , где T - фиксированный временной интервал передачи пакетов речевых данных передающей стороной и K - положительное целое число; и
статистический модуль содержит:
первый статистический подмодуль, сконфигурированный для получения статистических данных о количестве Ni,i≥0 временных интервалов, соответственно попадающих в каждый предварительно установленный интервал, во всех временных интервалах, при этом i представляет идентификационный номер предварительно установленного интервала и Ni≥0; и
первый вычислительный подмодуль, сконфигурированный для вычисления вероятности временного интервала, попадающего в каждый предварительно установленный интервал, в соответствии с каждым Ni и общим количеством N пакетов речевых данных.
9. Устройство по п. 8, отличающееся тем, что статистический модуль также содержит:
второй статистический подмодуль, сконфигурированный таким образом, чтобы, когда N≥Nmax для любого n, если n≥Nmax, вычитать 1 из количества временных интервалов, соответствующих предварительно установленному интервалу, которому принадлежит (n-Nmax+1)-й временной интервал, где Nmax является пороговым значением общего количества пакетов речевых данных.
10. Устройство по п. 9, отличающееся тем, что вычислительный модуль содержит:
второй вычислительный подмодуль, сконфигурированный для вычисления значения m, которое удовлетворяет условию , где Р представляет известную допустимую вероятность джиттера; и
третий вычислительный подмодуль, сконфигурированный для вычисления в качестве необходимого размера буферной зоны суммы размеров последовательных предварительно установленных интервалов от 0-го предварительно установленного интервала до m-го предварительно установленного интервала, в множестве предварительно установленных интервалов.
11. Устройство по любому из пп. 7-10, отличающееся тем, что модуль настройки содержит:
первый подмодуль настройки, сконфигурированный для генерации данных в буферной зоне для выполнения интерполяции кадра, если текущий размер буферной зоны меньше необходимого размера буферной зоны и эффективная длина буферной зоны равна 0; и
второй подмодуль настройки, сконфигурированный для удаления неречевых данных из буферной зоны таким образом, чтобы разность между текущим размером буферной зоны и необходимым размером буферной зоны находилась в пределах предварительно установленного диапазона, если текущий размер буферной зоны больше необходимого размера буферной зоны.
12. Устройство по п. 11, также содержащее модуль декодирования, сконфигурированный для декодирования каждого пакета речевых данных в множестве пакетов речевых данных для получения речевых или неречевых данных и сохранения речевых или неречевых данных в буферной зоне после приема множества пакетов речевых данных и записи момента приема каждого пакета речевых данных модулем приема и записи.
13. Терминал, содержащий:
процессор и
память, в которой хранятся инструкции, выполняемые процессором;
при этом процессор сконфигурирован для выполнения следующих операций:
прием множества пакетов речевых данных и запись момента приема каждого пакета речевых данных;
вычисление временного интервала между приемом каждых двух соседних пакетов речевых данных в множестве пакетов речевых данных в соответствии с моментом приема;
выполнение статистической обработки распределения вероятностей временных интервалов в соответствии с предварительно установленными интервалами, которым принадлежат соответствующие временные интервалы;
вычисление необходимого размера буферной зоны в соответствии с распределением вероятностей и допустимой вероятностью джиттера и
настройка буферной зоны в соответствии с необходимым размером буферной зоны.
WO 2014100331 A1, 26.06.2014 | |||
СПОСОБ ПРОВЕРКИ ВИРТУАЛЬНОГО СОЕДИНЕНИЯ ДЛЯ ПЕРЕДАЧИ МУЛЬТИМЕДИЙНЫХ ДАННЫХ С ЗАДАННЫМИ ХАРАКТЕРИСТИКАМИ | 2011 |
|
RU2485695C2 |
СПОСОБ КОММУТАЦИИ ПРИ ПЕРЕДАЧЕ И ПРИЕМЕ МУЛЬТИМЕДИЙНОЙ ИНФОРМАЦИИ | 2003 |
|
RU2236092C1 |
US 6744764 B1, 01.06.2004 | |||
WO 2004038992 A1, 06.05.2004. |
Авторы
Даты
2018-04-18—Публикация
2016-08-30—Подача