ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к беспроводным системам связи, а именно к воспроизведению пакетов в адаптивном буфере устранения дрожания для передачи голоса по протоколу межсетевого взаимодействия (VoIP) для связи с коммутацией пакетов.
УРОВЕНЬ ТЕХНИКИ
В системах связи сквозная задержка пакета может определяться как время от его генерации в источнике до того, как пакет достигает своего пункта назначения. В системе связи с коммутацией пакетов, задержка для пакетов, перемещающихся от источника до пункта назначения, может изменяться в зависимости от различных условий работы, включающих в себя, но не ограничивающихся этим, условия канала и загрузку сети. Условия канала имеют отношение к качеству беспроводной линии связи.
Полная задержка пакета включает в себя задержки, привносимые в сети и в различных элементах, через которые проходит пакет. Многие факторы вносят вклад в полную задержку. Изменяемость полной задержки называется дрожанием. Такие факторы, как дрожание, приводят к ухудшению качества связи. Может быть реализован буфер устранения дрожания, чтобы исправлять дрожание и улучшать общее качество системы связи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - структурная схема системы связи, в которой терминал доступа включает в себя адаптивный буфер устранения дрожания;
Фиг.2 - пример буфера устранения дрожания;
Фиг.3 - пример задержки буфера устранения дрожания;
Фиг.4 - временная диаграмма, демонстрирующая примеры: i) сжатия участка молчания в речевом фрагменте; и ii) расширения участка молчания в речевом фрагменте;
Фиг.5 - фрагмент речи, содержащий речевые потоки и периоды молчания;
Фиг.6 - пример сжатия и расширения периода молчания в коротком предложении;
Фиг.7 - последовательные пакеты с речевыми потоками RTP;
Фиг.8A - пример предложенного способа;
Фиг.8B - другой пример предложенного способа;
Фиг.8C - другой пример предложенного способа;
Фиг.9 - блок-схема примера заявленных способа и устройства;
Фиг.10 - структурная схема системы связи, в которой терминал доступа (AT) включает в себя адаптивный буфер устранения дрожания и модуль получения характеристик молчания;
Фиг.11 - блок-схема части приемника в системе связи, включающей в себя пример заявленных способа и устройства;
Фиг.12 - блок-схема системы связи согласно одному примеру, включающему в себя адаптивный буфер устранения дрожания и модуль получения характеристик молчания;
Фиг.13 - блок-схема заявленных способа и устройства.
ДЕТАЛЬНОЕ ОПИСАНИЕ
Как правило, речь состоит из предложений, имеющих периоды речевых потоков и периоды молчания. Отдельные предложения разделяются периодами молчания, и в свою очередь, предложение может содержать множественные речевые потоки, разделенные периодами молчания. Предложения могут быть длинными или короткими, а периоды молчания в пределах предложений (или "внутри предложения"), как правило, могут быть короче, чем периоды молчания, разделяющие предложения. Как используется в настоящем документе, речевой поток в целом складывается из множества пакетов данных. Во многих услугах и приложениях, например, передачи голоса по протоколу межсетевого взаимодействия (VoIP), видеотелефонной связи, интерактивных игр, обмена сообщениями и т.д., данные формируют в пакеты и направляют через сеть.
Как правило, в беспроводных системах связи, условия канала, загрузка сети, возможности системы по качеству обслуживания (QoS), конкуренция за ресурсы различных потоков, наряду с другими факторами, влияют на полную задержку пакетов в сети. Полная задержка пакетов может определяться как время, требующееся пакету, чтобы переместиться в пределах сети от "отправителя" до "приемника". Каждый пакет может подвергаться специфической задержке на пути от источника до пункта назначения, что приводит к состоянию, обычно именуемому как "дрожание". Если приемник не в состоянии нейтрализовать дрожание, принятое сообщение будет претерпевать искажение при повторной сборке пакетов. Если пакеты, поступающие в приемник, не могут поступать с равномерными интервалами, может использоваться буфер устранения дрожания для корректирования неравномерности входящих данных. Буфер устранения дрожания сглаживает дрожание, испытываемое пакетами, и скрывает отклонение времени прибытия пакета на приемник. В некоторых системах этот эффект сглаживания достигается при помощи использования адаптивного буфера устранения дрожания для задержки воспроизведения первого пакета каждого речевого потока. "Задержка устранения дрожания" может вычисляться с использованием алгоритма или может быть равна времени, которое требуется для приема голосовых данных, равных длительности задержки буфера устранения дрожания.
Условия канала и, следовательно, дрожание могут различаться, и задержка буфера устранения дрожания может изменяться от речевого потока к речевому потоку, чтобы приспосабливаться к этим изменяющимся условиям. При настройке задержки для устранения дрожания пакеты (представляющие и речь, и молчание) могут расширяться или сжиматься способом, упоминаемым в настоящем документе как "искажение временной шкалы". На воспринимаемое качество передачи голоса может не производиться воздействия при искажении временной шкалы речевых пакетов. Однако в некоторых сценариях, при применении искажения временной шкалы к периодам молчания, может проявляться ухудшение качества передачи голоса. Таким образом, задачей настоящего изобретения является обеспечение способа и устройства для изменения синхронизации воспроизведения речевых потоков в пределах предложения без влияния на разборчивость.
Последующее рассмотрение применимо к пакетированной связи и в частности подробно описывает голосовую связь, в которой данные, или речь и молчание, порождаются в источнике и передаются к пункту назначения для воспроизведения. Речевая связь является примером приложения настоящего рассмотрения. Другие приложения могут включать в себя видеосвязь, передачу игровых сообщений или другие виды связи, обладающие характеристиками, спецификациями и/или требованиями, подобными таковым для передачи речевых сообщений. Для ясности, последующее рассмотрение описывает систему связи на базе сигналов с расширенным спектром, поддерживающую передачу пакетных данных, включающую в себя, но не ограниченную этим, системы множественного доступа с кодовым разделением (CDMA), системы множественного доступа с ортогональным частотным разделением (OFDMA), широкополосного CDMA (W-CDMA), глобальную систему мобильной связи (GSM), системы, поддерживающие стандарты, разработанные IEEE (Институт инженеров по электротехнике и электронике), такие как 802.11 (A, B, G), 802.16, WiMAX (Глобальная совместимость широкополосного беспроводного доступа) и т.д.
Фиг.1 является структурной схемой, демонстрирующей систему 100 цифровой связи. Два терминала доступа (AT) 130 и 140 осуществляют связь через базовую станцию (BS) 110. В AT 130 модуль 112 обработки передачи передает голосовые данные в кодер 114, который кодирует и пакетирует голосовые данные и отправляет пакетированные данные в модуль 108 низкоуровневой обработки. Для обеспечения передачи затем данные отправляются в BS 110. BS 110 обрабатывает принятые данные и передает данные в AT 140, при этом данные принимаются в модуле 120 низкоуровневой обработки. Затем данные доставляются в буфер 122 устранения дрожания, который сохраняет данные, чтобы скрыть или снизить влияние дрожания. Данные отправляются из буфера 122 устранения дрожания в декодер 124 и в модуль 126 обработки приема.
Для передачи от AT 140 данные/голос доставляются из модуля 116 обработки передачи в кодер 118. Модуль 120 низкоуровневой обработки обрабатывает данные для передачи в BS 110. Для получения данных от BS 110 в AT 130 данные принимаются в модуле 108 низкоуровневой обработки. Затем пакеты данных отправляются в буфер 106 устранения дрожания, где они сохраняются, пока не будет достигнута заданная буферная длина или задержка. Как только эта длина или задержка достигнута, буфер 106 устранения дрожания начинает отправлять данные в декодер 104. Декодер 104 преобразует пакетированные данные в дискретный голосовой сигнал и отправляет пакеты в модуль 102 обработки приема. В данном примере работа AT 130 аналогична работе AT 140.
Хранилище или буфер устранения дрожания используется в AT, таких как описанные выше, чтобы скрыть эффекты дрожания. Фиг.2 демонстрирует один пример буфера устранения дрожания. Входящие закодированные пакеты накапливаются и сохраняются в буфере. В одном примере буфер является буфером «первым пришел, первым обслужен» (FIFO), в котором данные принимаются в определенном порядке и обрабатываются в том же порядке; первые обработанные данные являются первыми принятыми данными. В другом примере, буфер устранения дрожания представляет собой упорядоченный список, который отслеживает, какой пакет должен обрабатываться следующим.
Фиг.3 демонстрирует передачу, прием и временные диаграммы воспроизведения для пакетов в различных сценариях. Первый пакет, PKT 1, передается в момент времени t0 и воспроизводится при приеме в момент времени t1. Последующие пакеты, PKT 2, PKT 3 и PKT 4, передаются с интервалами в 20 мс после PKT 1. В отсутствии искажения временной шкалы декодеры воспроизводят пакеты с равномерными временными интервалами (например, в 20 мс), от момента времени воспроизведения первого пакета. Например, если декодер воспроизводит пакеты с равномерными интервалами в 20 мс, первый принятый пакет воспроизводится в момент времени t1, а последующие пакеты будут воспроизводиться через 20 мс после момента времени t1, через 40 мс после момента времени t1, через 60 мс после момента времени t1 и т.д. Как продемонстрировано на Фиг.3, ожидаемым временем воспроизведения (без задержки буфера устранения дрожания) пакета PKT 2 является t2 = t1 + 20 мс. В данном примере PKT 2 принимается до своего ожидаемого времени воспроизведения, t2. Пакет 3, с другой стороны, принимается после своего ожидаемого времени воспроизведения t3 = t2 + 20 мс. Эта ситуация именуется как незаполнение. Незаполнение происходит, когда обслуживающая программа воспроизведения готова воспроизводить пакет, но пакет отсутствует в буфере устранения дрожания. Незаполнение обычно приводит к тому, что декодер производит стирания и ухудшает качество воспроизведения.
Фиг.3 дополнительно демонстрирует второй сценарий, в котором буфер устранения дрожания вводит задержку tdjb перед воспроизведением первого пакета. В этом сценарии задержка буфера устранения дрожания добавляется, чтобы дать возможность обслуживающей программе воспроизведения принимать пакеты (или выборки) каждые 20 мс. В этом сценарии, даже если PKT 3 принимается после своего ожидаемого момента времени воспроизведения, t3, добавление задержки буфера устранения дрожания позволяет PKT 3 воспроизводиться через 20 мс после воспроизведения PKT 2. PKT 1 отправляется в момент времени t0, принимается в момент времени t1 и вместо того, чтобы воспроизводиться в момент времени t1, как делалось ранее, теперь воспроизводится в момент времени t1 + tdjb = t1'. Обслуживающая программа воспроизведения воспроизводит PKT 2 с предварительно заданным интервалом, например 20 мс, после PKT 1 или в момент времени t2' = t1 + tdjb + 20 = t2 + tdjb и PKT 3 в момент времени t3' = t3 + tdjb. Задержка воспроизведения на tdjb позволяет третьему пакету воспроизводиться, не приводя к незаполнению. Таким образом, как продемонстрировано на Фиг.3, введение задержки буфера устранения дрожания может снизить незаполнения и предотвратить ухудшение качества речи.
В одном примере буфер устранения дрожания обладает адаптивным запоминающим устройством буфера и использует искажение временной шкалы речи для расширения своей способности отслеживать переменную задержку и дрожание. В этом примере обработка буфера устранения дрожания согласуется с обработкой декодера, при этом буфер устранения дрожания идентифицирует возможность или необходимость искажения временной шкалы пакетов и предписывает декодеру искажать временную шкалу пакетов. Декодер искажает временную шкалу пакетов, сжимая или расширяя пакеты, как предписано буфером устранения дрожания. Адаптивный буфер устранения дрожания рассматривается дополнительно в совместно рассматриваемой патентной заявке США № 11/215,931, озаглавленной "СПОСОБ И УСТРОЙСТВО ДЛЯ АДАПТИВНОГО БУФЕРА УСТРАНЕНИЯ ДРОЖАНИЯ", поданной 30 августа 2005 года и переуступленной правообладателю настоящего раскрытия изобретения. Адаптивный буфер устранения дрожания может быть запоминающим устройством хранения, причем статус буфера устранения дрожания является критерием для данных (или некоторого количества пакетов), сохраненных в адаптивном буфере устранения дрожания. Данные, обработанные буфером устранения дрожания, могут быть отправлены из буфера устранения дрожания в декодер или другую обслуживающую программу. Закодированные пакеты могут соответствовать фиксированному объему речевых данных, например, 20 мс соответствуют 160 выборкам речевых данных, при частоте дискретизации 8 кГц.
Фиг.4 демонстрирует примеры "сжатия молчания" и "расширения молчания" вследствие различий в задержке для устранения дрожания от одного речевого потока к другому. На Фиг.4 заштрихованные области 420, 424 и 428 представляют речевые потоки, в то время как незаштрихованные области 422 и 426 представляют периоды молчания в принимаемой информации. По мере приема речевой поток 420 начинается в момент времени t1 и заканчивается в момент времени t2. В приемнике вводится задержка буфера устранения дрожания, и вследствие этого воспроизведение речевого потока 420 начинается в момент времени t1'. Задержка буфера устранения дрожания определяется как разность между моментом времени t1' и моментом времени t1. По мере приема период 422 молчания начинается в момент времени t2 и заканчивается в момент времени t3. Период 422 молчания сжимается и воспроизводится как период 432 молчания с момента времени t2' до t3', который меньше первоначальной длительности принятого периода 422 молчания. Речевой поток 424 начинается в момент времени t3 и заканчивается в момент времени t4 в источнике. Речевой поток 424 воспроизводится в приемнике с момента времени t3' до момента времени t4'. Период 426 молчания (время t4-t5) расширяется в приемнике до воспроизведения в виде периода 436 молчания, причем (t5'-t4') больше, чем (t5-t4). Период молчания может сжиматься, когда буферу устранения дрожания требуется воспроизвести пакеты быстрее, и расширяться, когда буферу устранения дрожания требуется задержать воспроизведение пакетов.
Если период молчания состоит лишь из нескольких циклов, например, когда период молчания встречается в пределах предложения, расширение или сжатие периодов молчания может повлиять на качество голоса. Фиг.5 демонстрирует разложение циклов молчания и речи для предложения с несколькими словами, например, "PRESS THE PANTS" («погладь брюки»). На Фиг.5, "A" обозначает активную речь, а "S" обозначает молчание. В данном примере, длительность молчания между речевыми потоками короткая по сравнению с длительностью участков речи. Если длительность периода молчания сжимается или расширяется, предложение может казаться ускоренным или замедленным. Это дополнительно продемонстрировано на Фиг.6. Показано предложение, состоящее только из одного слова, "CHINA" («Китай»). Предположим, что период молчания встречается между "CHI" и "NA", и что период молчания составлял первоначально в передатчике 40 мс. В данном примере, если молчание сжимается в приемнике до 20 мс, звук "i" может исказиться и привести к заметному ускорению слова до "CH-NA". С другой стороны, если период молчания расширяется до 80 мс, звук "I" может казаться чрезмерно подчеркнутым, приводя к искажению или заметному замедлению предложения, например, к "CH-I-I-I-I-I-NA". Такие искажения приводят к воспринимаемому ухудшению качества передачи голоса в целом.
Поскольку расширение или сжатие коротких периодов молчания могут привести к ухудшению, длительность передаваемого периода молчания может сохраняться в приемнике. В одном сценарии, если обнаруживаются периоды молчания внутри предложения, такие как периоды молчания, продемонстрированные на Фиг.5 и 6, длительность передаваемого молчания может определяться, а затем сохраняться в приемнике. Следовательно, одна цель настоящего раскрытия изобретения состоит в том, чтобы определить, когда встречается молчание в пределах предложения или внутри предложения. В одном примере, предложения можно отличить друг от друга на основании обнаружения конца предложения. Если обнаруживается конец предложения, можно установить, что периоды молчания, встречающиеся до конца предложения, происходят внутри предложения, и они не сжимаются и не расширяются. Можно установить, что предложение закончилось, если обнаруживается некоторое количество последовательных пакетов молчания. Например, количество последовательных пакетов молчания, указывающих конец предложения, может быть равно 10. В другом примере, если длительность передаваемого периода молчания определяется как меньшая, чем конкретная величина, например, 200 мс, можно предположить, что период молчания происходит внутри предложения. В этом сценарии, если длительность обнаруженного молчания равна 200 мс, то период молчания в 200 мс сохраняется в приемнике. Адаптивным буфером устранения дрожания не будут выполняться ни сжатие, ни расширение молчания. В примере, запускающее событие для сжатия молчания или расширения молчания может блокироваться, когда обнаруженная длительность периода молчания меньше, чем 200 мс, или в конце предложения. В отличие от этого, когда молчание обнаруживается между предложениями, буфер устранения дрожания работает как обычно и может сжимать или расширять пакеты молчания, обнаруженные на протяжении этих интервалов.
Согласно другой особенности настоящего раскрытия изобретения длительность периода молчания между речевыми потоками может быть вычислена, используя разницу временных меток RTP между последним пакетом речевого потока и первым пакетом следующего речевого потока. Порядковый номер (SN) пакета транспортного протокола реального времени (RTP) увеличивается на единицу с каждым передаваемым пакетом. SN используется приемником для восстановления последовательности пакетов и обнаружения потери пакетов. Временная метка (TS) может отражать момент выборки первого октета в пакете данных RTP. Момент выборки выводится, исходя из синхронизатора, возрастающего монотонно и линейно во времени. В приложениях, обрабатывающих речь, TS может увеличиваться на постоянную дельту, которая соответствует количеству отсчетов в каждом речевом пакете. Например, устройство ввода может принимать речевые пакеты, имеющие 160 периодов дискретизации, таким образом, TS увеличивается на 160 с каждым пакетом.
Фиг.7 демонстрирует группу пакетов в потоке с последовательными SN с приращениями 160 TS. Приращение TS является одинаковым, т.е. 160, независимо от того, несет ли пакет фрагмент речи или представляет фрагмент молчания. Например, для EVRC-подобного (EVRC - Усовершенствованный кодек с переменной скоростью) вокодера, производящего циклы в 20 мс с частотой дискретизации 8 кГц, TS RTP увеличиваются на 160 каждые 20 мс (8000·0,02=160 отсчетов) для последовательных пакетов. Как продемонстрировано на Фиг.7, TS RTP первого пакета 160, TS RTP второго пакета 320, TS RTP третьего пакета 480 и т.д. Пример может использоваться для пояснения определения длительности периода молчания между речевыми потоками. Предположим, что временной меткой RTP последнего цикла речевого потока является 3000, а временной меткой RTP первого цикла следующего речевого потока является 3640. Это дает разность в TS RTP (ΔRTP) 3640 минус 3000, что равно 640. Далее, 640 соответствует периоду молчания длительностью 20·(640/160) или 80 мс, для циклов в 20 мс при 8 кГц.
В другом примере, если длительность молчания действительно в точности сохраняется, степень свободы в работе буфера устранения дрожания может устраняться. Цель буфера устранения дрожания состоит в том, чтобы ввести оптимальную задержку, чтобы корректировать дрожание. Эта задержка может обновляться при изменении условий канала и с учетом таких факторов, как частота ошибок в цикле и т.д. Если длительность молчания в точности сохраняется, а буфер устранения дрожания выполнен с возможностью настройки только между предложениями, может привноситься неэффективность. Например, при некоторых начальных условиях канала настройка между предложениями буфера устранения дрожания может оказаться достаточной. Однако внезапное изменение в режиме дрожания может привести к необходимости настройки даже между короткими предложениями. Если эта возможность заблокирована, буфер устранения дрожания будет неспособен достаточно быстро подстраиваться под полностью измененный режим дрожания.
Чтобы задействовать буфер устранения дрожания с необходимой степенью свободы при сохранении полноты качества передачи голоса, пример раскрываемого изобретения нацелен на приблизительное сохранение длительностей молчания между речевыми потоками, встречающимися внутри предложения. Для достижения этой цели длительности молчания внутри предложения могут корректироваться на величину, вычисляемую с использованием алгоритма, исходя из условий канала, пользовательского ввода и т.д. Итоговая длительность молчания, хотя и скорректированная, приближенно выражает длительность первоначального молчания в источнике голоса. При определении скорректированной длительности молчания принимается во внимание результат сжатия молчания и расширения молчания. В некоторых сценариях, например, сжатие молчания более значительно, чем расширение молчания, поэтому может быть запущено только расширение. Другим принимаемым во внимание фактором является длительность первоначального молчания. Например, если первоначальное молчание в источнике голоса является относительно более длительным, имеется большая гибкость корректирующей величины. Например, если первоначальная длительность молчания 20 мс, расширение молчания на 40 мс в приемнике может быть значительным. С другой стороны, если первоначальная длительность молчания 100 мс, расширение молчания на 40 мс в приемнике может быть не очень значительным. Принимая первоначальную длительность молчания в источнике голоса равной X секунд, пример настоящего раскрытия изобретения поддерживает интервал молчания равным:
Согласно одному примеру, для первого речевого потока каждого принятого предложения, воспроизведение первого пакета может задерживаться на Δ, где Δ равна задержке буфера устранения дрожания. Для последовательных речевых потоков каждого предложения воспроизведение первого пакета может задерживаться согласно примеру следующего алгоритма:
Пусть arrival_time представляет собой момент времени поступления первого пакета. Пусть depth_playout_time представляет собой момент времени, в который воспроизводился бы первый пакет, если бы он был задержан на величину задержки буфера устранения дрожания после его поступления. Кроме того, пусть spacing_playout_time(n) представляет собой момент времени, в который воспроизводился бы первый пакет, если бы он сохранил интервал n относительно конца предыдущего речевого потока. Пусть X представляет собой фактический интервал между последним пакетом предыдущего речевого потока и данным пакетом. Пусть actual_delay обозначает момент времени, в который пакет воспроизводится. Тогда:
Эти условия продемонстрированы на Фиг.8A-8C. На Фиг.8A воспроизведение первого пакета первого речевого потока предложения задерживается на Δ, где Δ равно задержке буфера устранения дрожания. Для следующего речевого потока предложения, если момент времени, в который воспроизводился бы первый пакет следующего речевого потока, если бы он был задержан на величину задержки буфера устранения дрожания после его поступления, меньше момента времени, в который первый пакет воспроизводился бы, если бы он сохранил интервал (X-a) относительно конца предыдущего речевого потока, тогда момент времени, в который пакет воспроизводится, равен значению (X-a).
На Фиг.8B воспроизведение первого пакета первого речевого потока предложения задерживается на Δ, где Δ равно задержке буфера устранения дрожания. Для следующего речевого потока предложения, если момент времени, в который воспроизводился бы первый пакет следующего речевого потока, если бы он был задержан на величину задержки буфера устранения дрожания после его поступления, больше или равен моменту времени, в который первый пакет воспроизводился бы, если бы он сохранил интервал (X-a) относительно конца предыдущего речевого потока; и если момент времени, в который воспроизводился бы первый пакет следующего речевого потока, если бы он был задержан на величину задержки буфера устранения дрожания после его поступления, меньше или равен моменту времени, в который первый пакет воспроизводился бы, если бы он сохранил интервал (X+b), тогда момент времени, в который пакет воспроизводится, равен значению момента времени, в который первый пакет воспроизводился бы, если бы он был задержан на величину задержки буфера устранения дрожания после его поступления.
На Фиг.8C воспроизведение первого пакета первого речевого потока предложения задерживается на Δ, где Δ равно задержке буфера устранения дрожания. Для следующего речевого потока предложения, если момент времени, в который воспроизводился бы первый пакет следующего речевого потока, если бы он был задержан на величину задержки буфера устранения дрожания после его поступления, больше чем момент времени, в который первый пакет воспроизводился бы, если бы он сохранил интервал (X+b) относительно конца предыдущего речевого потока, тогда момент времени, в который пакет воспроизводится, равен большему из момента времени поступления первого пакета следующего речевого потока или (X+b).
Вышеупомянутый способ дополнительно продемонстрирован в блок-схеме последовательности операций на Фиг.9. На этапе 900 определяется, встречается ли период молчания в пределах предложения. Если нет, то способ обработки возвращается к этапу 900. Если период молчания встречается в пределах предложения, способ обработки продолжается на этапе 910, на котором определяется, меньше ли depth_playout_time, чем spacing_playout_time(X-a). Если это так, то фактическая задержка, применяемая к молчанию, равна величине (X-a) на этапе 970. В противном случае, способ обработки продолжается на этапе 920, на котором определяется, действительно ли depth_playout_time больше или равно spacing_playout_time(X+b). Если это так, способ обработки продолжается на этапе 940 и фактическая задержка, применяемая к молчанию, равна величине depth_playout_time. Способ обработки завершается на этапе 980. Возвращаясь к этапу 920, если определяется, что depth_playout_time не больше или равно spacing_playout_time (X+b), фактическая задержка, применяемая к молчанию, равна большему из arrival_time и spacing_playout_time(X+b). Способ обработки завершается на этапе 980.
Фиг.10 является структурной схемой системы, включающей в себя два терминала, AT 1030, 1040, осуществляющих связь через сетевой элемент, здесь BS 1010. В AT 1030, модуль 1012 обработки передачи передает голосовые данные в кодер 1014, который переводит голосовые данные в цифровую форму и отправляет пакетированные данные в модуль 1008 низкоуровневой обработки. Затем пакеты отправляются в BS 1010. Когда AT 1030 принимает данные от BS 1010, данные сначала обрабатываются в модуле 1008 низкоуровневой обработки, от которого пакеты данных предоставляются адаптивному буферу 1006 устранения дрожания. Внутри буфера устранения дрожания или в части отдельного модуля, например, в модуле 1005 получения характеристик молчания, молчание может характеризоваться как находящееся между предложениями или внутри предложения. В примере, модуль 1005 получения характеристик молчания определяет, встречаются периоды молчания внутри предложения или между предложениями. Если молчание встречается между предложениями, период молчания может расширяться или сжиматься, например, как раскрывается в совместно рассматриваемой патентной заявке '931 "СПОСОБ И УСТРОЙСТВО ДЛЯ АДАПТИВНОГО БУФЕРА УСТРАНЕНИЯ ДРОЖАНИЯ", поданной 30 августа 2005 года и переуступленной правообладателю настоящего изобретения. Работа AT 1030 аналогична работе AT 1040. AT 1040 передает данные по маршруту от модуля 1016 обработки передачи к кодеру 1018, к устройству 1020 низкоуровневой обработки и, наконец, к BS 1010. AT 1040 принимает данные по маршруту от модуля 1020 низкоуровневой обработки к адаптивному буферу 1022 устранения дрожания и модулю 1021 получения характеристик молчания, к декодеру 1024, к модулю 1026 обработки приема. Дополнительная обработка не продемонстрирована, но может влиять на воспроизведение данных, например голоса, и может включать в себя аудиообработку, экранные отображения и т.д.
Фиг.11 является структурной схемой части приемника в системе связи, включающей в себя пример раскрываемого изобретения. Модуль 1104 обработки физического уровня предоставляет данные стеку 1106 данных. Стек 1106 данных выводит пакеты в модуль 1108 управления с буфером устранения дрожания. Модуль 1110 получения характеристик молчания определяет, встречаются обнаруженные периоды молчания внутри предложения или между предложениями. Если молчание встречается внутри предложения, буфер устранения дрожания сохраняет молчание, как раскрыто в примерах настоящего изобретения. Модуль 1102 обработки управления доступом к среде (MAC) прямой линии связи (FL) предоставляет указатель передачи обслуживания для модуля 1108 управления с буфером устранения дрожания. MAC-уровень реализует протоколы для приема и отправки данных на физическом уровне, т.е. в эфире. MAC-уровень может включать в себя защиту, шифрование, установление подлинности и информацию о соединении. В системе, поддерживающей стандарт IS-856, MAC-уровень содержит правила, регулирующие канал управления, канал доступа, а также прямой и обратный каналы трафика.
На протяжении интервалов молчания пакеты отправляются от модуля 1108 управления с адаптивным буфером устранения дрожания в модуль 1112 прерывистой передачи, причем модуль 1112 прерывистой передачи предоставляет информацию о фоновом шуме в декодер 1114. Пакеты, предоставленные модулем 1108 управления с буфером устранения дрожания, готовы к декодирующей обработке и могут именоваться как пакеты вокодера. Декодер 1114 декодирует эти пакеты. Согласно другой особенности настоящего раскрытия изобретения модуль искажения временной шкалы может быть выполнен с возможностью искажения временной шкалы речевых пакетов, как раскрыто в патентной заявке '931 "СПОСОБ И УСТРОЙСТВО ДЛЯ АДАПТИВНОГО БУФЕРА УСТРАНЕНИЯ ДРОЖАНИЯ", поданной 30 августа 2005 года и переуступленной правообладателю настоящего изобретения. Выборки речевого сигнала с импульсно-кодовой модуляцией (ИКМ) предоставляются в модуль 1116 искажения временной шкалы от декодера 1114. Модуль 1116 искажения временной шкалы может принимать указатель искажения временной шкалы от модуля 1108 управления с буфером устранения дрожания. Указатель может указывать расширение, сжатие или отсутствие искажения речевых пакетов, как раскрыто в вышеупомянутой заявке.
Фиг.12 является структурной схемой, демонстрирующей терминал доступа (AT) согласно одному примеру, включающий в себя адаптивный буфер 1204 устранения дрожания и модуль 1224 получения характеристик молчания. В одном примере буфер устранения дрожания включает в себя модуль 1224 получения характеристик молчания, как продемонстрировано на Фиг.12. В другом примере буфер 1204 устранения дрожания и модуль 1224 получения характеристик молчания являются отдельными элементами. Буфер 1204 устранения дрожания, модуль 1218 управления искажением временной шкалы, приемная схема 1214, модуль 1224 получения характеристик молчания, управляющий процессор 1222, запоминающее устройство 1208, передающая схема 1210, декодер 1206, модуль 1220 управления гибридным автоматическим запросом на повторную передачу (H-ARQ), кодер 1216, модуль 1228 обработки речевых сигналов, модуль 1202 коррекции ошибок могут соединяться друг с другом, как показано в предыдущих примерах. В дополнение, они могут соединяться друг с другом посредством шины 1212 связи, показанной на Фиг.12.
Способ, показанный на Фиг.9 и описанный выше, может выполняться соответствующими средствами и функциональными блоками, продемонстрированными на Фиг.13. Другими словами, этапы 900-980, продемонстрированные на Фиг.9, соответствуют средствам и функциональным блокам 1300-1380, продемонстрированным на Фиг.13.
В то время как описание изобретения описывает конкретные примеры настоящего изобретения, специалисты в данной области техники могут создать вариации настоящего изобретения, не отступая от идеи изобретения. Например, идеи изобретения в данном документе касаются сетевых элементов с коммутацией каналов, но в равной степени применимы к элементам доменной сети с пакетной коммутацией. Также, идеи изобретения в данном документе не ограничиваются парами триплетов аутентификации, но могут также применяться к использованию единственного триплета, включающего в себя два значения SRES (отклик сигнала) (одно в общепринятом формате и одно в более новом формате, раскрытом в данном документе).
Специалистам в данной области техники будет понятно, что информация и сигналы могут быть представлены с использованием широкого разнообразия различных технологий и технических средств. Например, данные, инструкции, команды, информация, сигналы, биты, символы и элементы сигналов, которые могут упоминаться всюду по вышеизложенному описанию, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами, или любой их комбинацией.
Специалисты в данной области техники дополнительно обратят внимание на то, что различные иллюстративные логические блоки, модули, схемы, способы и алгоритмы, описанные применительно к примерам, раскрытым в данном документе, могут быть реализованы в форме электронного аппаратного обеспечения, компьютерного программного обеспечения или их комбинации. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратного и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы, способы и алгоритмы в целом были описаны выше исходя из их функциональных возможностей. Реализуются ли такие функциональные возможности в форме аппаратного или программного обеспечения, зависит от конкретного приложения и конструктивных ограничений, накладываемых на систему в целом. Специалисты в данной области техники могут реализовать описанные функциональные возможности по-разному для каждого конкретного приложения, но такие решения реализации не должны толковаться как приводящие к отклонению от объема настоящего изобретения.
Различные иллюстративные логические блоки, модули и схемы, описанные применительно к примерам, раскрытым в данном документе, могут быть реализованы или выполнены с использованием процессора общего назначения, цифрового сигнального процессора (ЦСП), специализированной интегральной схемы (СИС), программируемой вентильной матрицы (ПВМ) или другого программируемого логического устройства, логического элемента на дискретных компонентах или транзисторных логических схем, отдельных аппаратных компонентов или любой их комбинации, предназначенных для выполнения функций, описанных в данном документе. Процессор общего назначения может быть микропроцессором, а как вариант, процессор может быть любым традиционным процессором, управляющим устройством микропроцессорным управляющим устройством, или конечным автоматом. Кроме того, процессор может быть реализован в виде комбинации вычислительных устройств, например комбинации ЦСП и микропроцессора, множества микропроцессоров, одного или более микропроцессоров в сочетании с ЦСП в качестве ядра или любой другой подобной конфигурации.
Способы или алгоритмы, описанные применительно к примерам, раскрытым в данном документе, могут быть воплощены непосредственно в аппаратном обеспечении, в программном модуле, исполняемом процессором, или в комбинации этих двух компонентов. Программный модуль может постоянно храниться в памяти ОЗУ, памяти ЭППЗУ, памяти ПЗУ, памяти СППЗУ, памяти ЭСППЗУ, в регистрах, на жестком диске, съемном диске, компактном оптическом диске или любой другой форме носителя данных, известного в данной области техники. Носитель данных может соединяться с процессором так, что процессор может считывать информацию с этого носителя данных и записывать на него информацию. Как вариант, носитель данных может быть встроен в процессор. Процессор и носитель данных могут размещаться в СИС.
В одном или более иллюстративных вариантах осуществления описанные функции могут быть реализованы в аппаратном обеспечении, программном обеспечении программно-аппаратном обеспечении, или любой их комбинации. При реализации в программном обеспечении функции могут храниться в виде одной или более инструкций или кода на машиночитаемом носителе или передаваться через него. Машиночитаемые носители включают в себя и компьютерные носители данных и средства связи, включающие в себя любой носитель, который обеспечивает передачу компьютерной программы из одного места в другое. Носители данных могут быть любыми имеющимися в распоряжении носителями, которые могут быть доступны посредством компьютера. В качестве примера, но не ограничения, такие машиночитаемые носители могут охватывать ОЗУ, ПЗУ, ЭСППЗУ, CD-ROM или другое запоминающее устройство на оптическом диске, запоминающее устройство на магнитном диске или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для переноса или хранения необходимого программного кода в форме инструкций или структур данных и который может быть доступен посредством компьютера. Также любое соединение, в узком смысле слова, называют машиночитаемым носителем. Например, если программное обеспечение передается от сетевого узла, обслуживающего узла или другого удаленного источника, используя коаксиальный кабель, волоконно-оптический кабель, витую пару, цифровую абонентскую линию (DSL) или беспроводные технологии, такие как инфракрасное излучение, радиосвязь и микроволны, то эти коаксиальный кабель, волоконно-оптический кабель, витая пара, DSL или беспроводные технологии такие, как инфракрасное излучение, радиосвязь и микроволны, включаются в определение носителя. Магнитный диск и немагнитный диск, как используется в данном документе, включают в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD), гибкий магнитный диск и Blu-ray диск, при этом магнитные диски обычно воспроизводят данные магнитным способом, в то время как немагнитные диски воспроизводят данные оптическим способом с помощью лазерных источников. Комбинации вышеупомянутого также должны быть включены в сферу машиночитаемых носителей.
Предшествующее описание раскрываемых примеров предоставляется, чтобы дать возможность любому специалисту в данной области техники изготавливать или использовать настоящее изобретение. Специалистам в данной области техники будут очевидны различные модификации в этих примерах, а общие принципы, определенные в настоящем описании, могут применяться к другим примерам без отступления от сущности и объема настоящего раскрытия изобретения. Таким образом, настоящее изобретение не подразумевает ограничения примерами, показанными в данном документе, а должно согласовываться с самым широким объемом в соответствии с принципами и новыми признаками, раскрытыми в данном документе.
Изобретение относится к беспроводным системам связи. Технический результат - повышение точности синхронизации воспроизведения речевых потоков. Представленные способы и устройство с буфером устранения дрожания изменяют воспроизведение пакетов в зависимости от того, обнаруживаются ли периоды молчания между предложениями или внутри предложения, чтобы оптимизировать качество передачи голоса в системе связи. В одном примере буфер устранения дрожания определяет длительность, по меньшей мере, одного периода молчания, связанного с множеством принятых пакетов, и определяет момент времени для передачи части пакетов на основании определенной длительности этого периода молчания. В другом примере эту функцию выполняет модуль получения характеристик молчания. 3 н. и 10 з.п. ф-лы, 15 ил.
1. Способ изменения синхронизации воспроизведения речевых потоков, содержащий этапы, на которых
принимают множество пакетов в приемнике;
сохраняют принятые пакеты в адаптивном буфере устранения дрожания, имеющем задержку буфера устранения дрожания;
определяют длительность, по меньшей мере, одного периода молчания, связанного с принятым множеством пакетов, причем, по меньшей мере, один период молчания находится между речевыми потоками разговора;
определяют, встречается ли этот, по меньшей мере, один период молчания внутри предложения в разговоре, причем предложение содержит периоды молчания и периоды речевых потоков; и
если, по меньшей мере, один период молчания встречается внутри предложения, то определяют интервал молчания на основе длительности, по меньшей мере, одного периода молчания и задержки буфера устранения дрожания и передают сохраненные пакеты в момент времени, основанный на интервале молчания,
причем если длительность, по меньшей мере, одного периода молчания меньше первой длительности, то интервал молчания устанавливается равным первой длительности, если длительность, по меньшей мере, одного периода молчания больше второй длительности, которая больше первой длительности, то интервал молчания устанавливается равным второй длительности, а если длительность, по меньшей мере, одного периода молчания находится между первой длительностью и второй длительностью, то интервал молчания устанавливается равным длительности этого, по меньшей мере, одного периода молчания.
2. Способ по п.1, в котором этап, на котором определяют, встречается ли, по меньшей мере, один период молчания внутри предложения, дополнительно содержит этап, на котором определяют, меньше ли наибольший последовательный номер принятых пакетов молчания, чем некоторое число.
3. Способ по п.1, в котором этап, на котором определяют, встречается ли, по меньшей мере, один период молчания внутри предложения, дополнительно содержит этап, на котором определяют, короче ли самый длинный из этого, по меньшей мере, одного периода молчания, связанного с принятыми пакетами, чем некоторый временной кадр.
4. Способ по п.1, дополнительно содержащий этапы, на которых:
если, по меньшей мере, один период молчания встречается внутри предложения, настраивают буфер устранения дрожания для сохранения длительности первоначально переданного периода молчания; и
передают часть сохраненных пакетов с сохраненной длительностью.
5. Способ по п.1, в котором интервал молчания равен [Х-а, Х+b], где «X» представляет собой длительность, по меньшей мере, одного периода молчания, «а» представляет собой первую предопределенную длительность времени, и «b» представляет собой
вторую предопределенную длительность времени, отличную от «а», причем [Х-а, Х+b] пропорционально длительности данного, по меньшей мере, одного периода молчания.
6. Способ по п.1, который дополнительно содержит этапы, на которых:
определяют задержку буфера устранения дрожания;
передают первую часть сохраненных пакетов в момент времени, равный задержке буфера устранения дрожания; и
передают вторую часть сохраненных пакетов в момент времени, вычисляемый на основании величины [Х-а, Х+b], где «X» представляет собой длительность, по меньшей мере, одного периода молчания, «а» представляет собой первую предопределенную длительность времени, и «b» представляет собой вторую предопределенную длительность времени, отличную от «а», причем,
если задержка буфера устранения дрожания меньше, чем момент времени, соответствующий (Х-а), передают вторую часть сохраненных пакетов в момент времени, соответствующий (Х-а),
если задержка буфера устранения дрожания больше или равна моменту времени, соответствующему (Х-а), и задержка буфера устранения дрожания меньше или равна моменту времени, соответствующему (Х+b), передают вторую часть сохраненных пакетов в момент времени, соответствующий задержке буфера устранения дрожания, и
если задержка буфера устранения дрожания больше, чем момент времени, соответствующий (Х+b), передают вторую часть сохраненных пакетов в момент времени, равный большему из момента времени, соответствующего времени поступления, или момента времени, соответствующего (Х+b).
7. Способ по п.4, в котором этап, на котором настраивают буфер устранения дрожания, дополнительно содержит этапы, на которых:
определяют задержку буфера устранения дрожания;
передают первую часть сохраненных пакетов в момент времени, равный задержке буфера устранения дрожания; и
передают вторую часть сохраненных пакетов в момент времени, вычисляемый на основании величины [Х-а, Х+b], где «X» представляет собой длительность, по меньшей мере, одного периода молчания, «а» представляет собой первую предопределенную длительность времени, и «b» представляет собой вторую предопределенную длительность времени, отличную от «а», и
при этом дополнительно:
если задержка буфера устранения дрожания меньше, чем момент времени, соответствующий (Х-а), передают вторую часть сохраненных пакетов в момент времени, соответствующий (Х-а).
8. Способ по п.4, в котором этап, на котором настраивают буфер устранения дрожания, дополнительно содержит этапы, на которых:
определяют задержку буфера устранения дрожания;
передают первую часть сохраненных пакетов в момент времени, равный задержке буфера устранения дрожания; и
передают вторую часть сохраненных пакетов в момент времени, вычисляемый на основании величины [Х-а, Х+b], где «X» представляет собой длительность, по меньшей мере, одного периода молчания, «а» представляет собой первую предопределенную длительность времени, и «b» представляет собой вторую предопределенную длительность времени, отличную от «а», и
при этом дополнительно:
если задержка буфера устранения дрожания больше или равна моменту времени, соответствующему (Х-а), и задержка буфера устранения дрожания меньше или равна моменту времени, соответствующему (Х+b), передают вторую часть сохраненных пакетов в момент времени, соответствующий задержке буфера устранения дрожания.
9. Способ по п.4, в котором этап, на котором настраивают буфер устранения дрожания, дополнительно содержит этапы, на которых:
определяют задержку буфера устранения дрожания;
передают первую часть сохраненных пакетов в момент времени, равный задержке буфера устранения дрожания; и
передают вторую часть сохраненных пакетов в момент времени, вычисляемый на основании величины [Х-а, Х+b], где «X» представляет собой длительность, по меньшей мере, одного периода молчания, «а» представляет собой первую предопределенную длительность времени, и «b» представляет собой вторую предопределенную длительность времени, отличную от «а», и
при этом дополнительно:
если задержка буфера устранения дрожания больше, чем момент времени, соответствующий (Х+b), передают вторую часть сохраненных пакетов в момент времени, равный большему из момента времени, соответствующего времени поступления, или момента времени, соответствующего (Х+b).
10. Устройство изменения синхронизации воспроизведения речевых потоков, содержащее:
средство для приема множества пакетов;
средство для сохранения принятых пакетов, причем это средство имеет задержку буфера;
средство для определения длительности, по меньшей мере, одного периода молчания, связанного с принятым множеством пакетов, причем, по меньшей мере, один период молчания находится между речевыми потоками разговора;
средство для определения, встречается ли этот, по меньшей мере, один период молчания внутри предложения в разговоре, причем предложение содержит периоды молчания и периоды речевых потоков;
средство для определения, если, по меньшей мере, один период молчания встречается внутри предложения, интервала молчания на основе длительности, по меньшей мере, одного периода молчания и задержки буфера; и
средство для передачи сохраненных пакетов в момент времени, основанный на интервале молчания,
причем, если длительность, по меньшей мере, одного периода молчания меньше первой длительности, то интервал молчания устанавливается равным первой длительности, если длительность, по меньшей мере, одного периода молчания больше второй длительности, которая больше первой длительности, то интервал молчания устанавливается равным второй длительности, а если длительность, по меньшей мере, одного периода молчания находится между первой длительностью и второй длительностью, то интервал молчания устанавливается равным длительности этого, по меньшей мере, одного периода молчания.
11. Устройство по п.10, в котором средство для сохранения принятых пакетов содержит адаптивный буфер устранения дрожания.
12. Устройство по п.11, в котором упомянутое средство для определения содержит средство буфера устранения дрожания, причем средство буфера устранения дрожания дополнительно содержит средство получения характеристик.
13. Машиночитаемый носитель, содержащий исполняемую компьютером программу для изменения синхронизации воспроизведения речевых потоков, содержащую:
код для побуждения компьютера принимать множество пакетов;
код для побуждения компьютера сохранять принятые пакеты в адаптивном буфере устранения дрожания, имеющем задержку буфера устранения дрожания;
код для побуждения компьютера определять длительность, по меньшей мере, одного периода молчания, связанного с принятым множеством пакетов, причем, по меньшей мере, один период молчания находится между речевыми потоками разговора; и
код для побуждения компьютера определять, встречается ли этот, по меньшей мере, один период молчания внутри предложения в разговоре, причем предложение содержит периоды молчания и периоды речевых потоков; и
код для побуждения компьютера определять, если, по меньшей мере, один период молчания встречается внутри предложения, интервал молчания на основе длительности, по меньшей мере, одного периода молчания и задержки буфера устранения дрожания и для побуждения компьютера передавать сохраненные пакеты в момент времени, основанный на интервале молчания,
причем, если длительность, по меньшей мере, одного периода молчания меньше первой длительности, то интервал молчания устанавливается равным первой длительности, если длительность, по меньшей мере, одного периода молчания больше второй длительности, которая больше первой длительности, то интервал молчания устанавливается равным второй длительности, а если длительность, по меньшей мере, одного периода молчания находится между первой длительностью и второй длительностью, то интервал молчания устанавливается равным длительности этого, по меньшей мере, одного периода молчания.
US 6282196 B1, 28.08.2001 | |||
УСТРОЙСТВО ОБНАРУЖЕНИЯ И КОРРЕКЦИИ АНОМАЛЬНЫХ ЦИФРОВЫХ ОШИБОК ПРИ ПЕРЕДАЧЕ РЕЧИ МЕТОДОМ ИМПУЛЬСНО-КОДОВОЙ МОДУЛЯЦИИ | 1999 |
|
RU2159470C1 |
СПОСОБ И УСТРОЙСТВО ВОКОДИРОВАНИЯ ПЕРЕМЕННОЙ СКОРОСТИ ПРИ ПОНИЖЕННОЙ СКОРОСТИ КОДИРОВАНИЯ | 1995 |
|
RU2146394C1 |
Льдогенератор | 1990 |
|
SU1770688A1 |
US 5831981 А, 03.11.1998 | |||
US 7171357 B2, 30.01.2007 | |||
US 6782363 B2, 24.08.2004. |
Авторы
Даты
2011-06-27—Публикация
2008-04-23—Подача