системы, способы и устройства для обнаружения изменения сигналов
Классы МПК: | G10L11/02 обнаружение наличия или отсутствия сигналов речи |
Автор(ы): | РАДЖЕНДРАН Вивек (US), КАНДХАДАЙ Анантхападманабхан А. (US) |
Патентообладатель(и): | КВЭЛКОММ ИНКОРПОРЕЙТЕД (US) |
Приоритеты: |
подача заявки:
2007-07-31 публикация патента:
27.04.2011 |
Изобретение относится к обработке речевых сигналов. Раскрытые конфигурации включают в себя системы, способы и устройства, выполненные с возможностью формировать последовательность значений спектрального наклона, которая основана на неактивных кадрах речевого сигнала. Для каждого из множества неактивных кадров речевого сигнала решение по передаче принимается согласно изменению, вычисленному, по меньшей мере, между двумя соответствующими значениями последовательности. Результат решения по передаче решает, передается ли описание молчания для соответствующего неактивного кадра. Технический результат - обеспечение снижения вероятности ошибочных положительных решений посредством этапа принятия решения. 5 н. и 41 з.п. ф-лы, 34 ил.
Формула изобретения
1. Способ обработки речевого сигнала, при этом упомянутый способ содержит этапы, на которых:
формируют последовательность значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала;
вычисляют изменение, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и
для неактивного кадра из множества неактивных кадров решают, следует ли передавать описание молчания для неактивного кадра,
при этом упомянутое решение, следует ли передавать описание молчания для неактивного кадра, основано на вычисленном изменении, и при этом упомянутое решение заключается в определении, формировать ли положительный индикатор передачи описания молчания, указывающий решение передавать описание молчания для неактивного кадра.
2. Способ по п.1, в котором упомянутое формирование последовательности значений спектрального наклона содержит этап, на котором сглаживают другую последовательность значений спектрального наклона, чтобы сформировать последовательность значений спектрального наклона,
при этом каждое из значений спектрального наклона другой последовательности указывает спектральный наклон соответствующего одного из множества неактивных кадров.
3. Способ по п.1, в котором каждое из значений спектрального наклона основано, по меньшей мере, на одном коэффициенте отражения соответствующего неактивного кадра речевого сигнала.
4. Способ по п.1, в котором каждое из множества значений спектрального наклона основано, по меньшей мере, на другом значении спектрального наклона в последовательности значений спектрального наклона.
5. Способ по п.1, в котором каждое из множества значений спектрального наклона основано (А) на спектральном наклоне соответствующего одного из множества неактивных кадров и (В), по меньшей мере, на другом значении спектрального наклона в последовательности значений спектрального наклона.
6. Способ по п.1, в котором вычисленное изменение основано на разности между следующими друг за другом значениями в последовательности значений спектрального наклона.
7. Способ по п.1, в котором упомянутое вычисление изменения содержит этап, на котором вычисляют расстояние между соседними значениями в последовательности значений спектрального наклона.
8. Способ по п.1, в котором упомянутое решение, следует ли передавать описание молчания для неактивного кадра, содержит этап, на котором сравнивают вычисленное изменение с пороговым значением.
9. Способ по п.1, в котором результат упомянутого решения, следует ли передавать описание молчания для неактивного кадра, основан на взаимосвязи между (А) абсолютной величиной вычисленного изменения и (В) пороговым значением.
10. Способ по п.1, при этом упомянутый способ содержит, если результатом упомянутого решения, следует ли передавать описание молчания для неактивного кадра, является решение передавать описание молчания для неактивного кадра, этап, на котором передают описание молчания, которое включает в себя, по меньшей мере, одно из описания спектральной огибающей и описания энергетической огибающей.
11. Способ по п.10, при этом упомянутый способ содержит этап, на котором вычисляют описание молчания на основе, по меньшей мере, одного из (А) описаний спектральной огибающей каждого из множества неактивных кадров и (В) описаний энергетической огибающей каждого из множества неактивных кадров.
12. Способ по п.1, в котором упомянутое решение, следует ли передавать описание молчания для неактивного кадра, основано, по меньшей мере, на одном из: (А) векторе, описывающем спектральную огибающую кадра, (В) остаточной энергии кадра, (С) расстоянии во времени до самой последней передачи описания молчания для неактивного кадра, (D) расстоянии во времени до самого последнего активного кадра, (Е) описании энергетической огибающей кадра, (F) среднем абсолютном значении кадра и (G) энергетическом значении кадра.
13. Способ по п.12, при этом упомянутый способ содержит, если результатом упомянутого решения, следует ли передавать описание молчания для неактивного кадра, является решение передавать описание молчания для неактивного кадра, этап, на котором передают описание молчания, которое включает в себя, по меньшей мере, одно из описания спектральной огибающей и описания энергетической огибающей.
14. Способ по п.1, в котором упомянутое решение, следует ли передавать описание молчания для неактивного кадра, содержит этап, на котором, в ответ на обнаружение, что изменение в показателе эффективности кодирования превышает пороговое значение, решают не передавать описание молчания для неактивного кадра.
15. Способ по п.14, в котором каждое значение показателя эффективности кодирования основано, по меньшей мере, на значениях множества коэффициентов отражения соответствующего неактивного кадра речевого сигнала.
16. Способ по п.1, при этом упомянутый способ содержит этап, на котором вычисляют, для каждого из множества значений спектрального наклона в последовательности значений спектрального наклона, изменение между значением спектрального наклона и, по меньшей мере, одним другим значением спектрального наклона в последовательности значений спектрального наклона, и
при этом упомянутый способ содержит этап, на котором, для каждого из другого множества неактивных кадров речевого сигнала, решают, следует ли передавать описание молчания для упомянутого кадра, и
в котором, для каждого из другого множества неактивных кадров, результат упомянутого решения, следует ли передавать описание молчания для упомянутого кадра, основан, по меньшей мере, на одном из вычисленных изменений.
17. Способ по п.16, в котором, для, по меньшей мере, некоторых из другого множества неактивных кадров, результатом упомянутого решения, следует ли передавать описание молчания для упомянутого кадра, является решение не передавать описание молчания для упомянутого кадра.
18. Способ по п.16, в котором, для каждого из другого множества неактивных кадров, упомянутое решение, следует ли передавать описание молчания для упомянутого кадра, содержит этап, на котором, в ответ на обнаружение, что изменение в показателе эффективности кодирования превышает пороговое значение, решают не передавать описание молчания для упомянутого кадра.
19. Способ по п.18, в котором, для каждого из другого множества неактивных кадров, упомянутое изменение показателя эффективности кодирования основано на (А) значении показателя эффективности кодирования для первого неактивного кадра речевого сигнала, который предшествует упомянутому кадру, и (В) значении показателя эффективности кодирования для второго неактивного кадра речевого сигнала, который предшествует упомянутому кадру и отличается от первого неактивного кадра.
20. Способ по п.1, в котором упомянутое формирование последовательности значений спектрального наклона содержит, для, по меньшей мере, некоторых из множества неактивных кадров, этап, на котором формируют соответствующее значение спектрального наклона из последовательности значений спектрального наклона согласно расстоянию во времени между неактивным кадром и предшествующим активным кадром речевого сигнала.
21. Способ по п.20, в котором упомянутое формирование соответствующего значения спектрального наклона из последовательности значений спектрального наклона содержит этап, на котором задают значение спектрального наклона равным предыдущему значению спектрального наклона из последовательности значений спектрального наклона, когда расстояние во времени между неактивным кадром и предшествующим активным кадром речевого сигнала меньше порогового значения.
22. Способ по п.1, в котором упомянутое формирование последовательности значений спектрального наклона содержит, для, по меньшей мере, некоторых из множества неактивных кадров, этап, на котором вычисляют соответствующее значение спектрального наклона из последовательности значений спектрального наклона согласно показателю эффективности кодирования неактивного кадра.
23. Способ по п.1, в котором упомянутое формирование последовательности значений спектрального наклона содержит, для, по меньшей мере, одного из последовательности значений спектрального наклона, этап, на котором устанавливают значение спектрального наклона равным предыдущему значению спектрального наклона из последовательности значений спектрального наклона в ответ на обнаружение того, что изменение показателя эффективности кодирования превышает пороговое значение.
24. Машиночитаемый носитель, хранящий коды, которые при исполнении процессором, инструктируют процессору выполнять способ обработки речевого сигнала, причем коды содержат:
код для формирования последовательности значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала;
код для вычисления изменения, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и
код для решения, для неактивного кадра из множества неактивных кадров и на основе вычисленного изменения, следует ли передавать описание молчания для неактивного кадра, и при этом упомянутое решение заключается в определении, формировать ли положительный индикатор передачи описания молчания, указывающий решение передавать описание молчания для неактивного кадра.
25. Машиночитаемый носитель по п.24, в котором упомянутый код для формирования последовательности значений спектрального наклона выполнен с возможностью формировать каждое из множества значений спектрального наклона, по меньшей мере, на основе другого значения спектрального наклона в последовательности значений спектрального наклона.
26. Машиночитаемый носитель по п.24, в котором упомянутый код для вычисления изменения выполнен с возможностью вычислять изменение на основе разности между следующими друг за другом значениями в последовательности значений спектрального наклона.
27. Машиночитаемый носитель по п.24, в котором упомянутый код для решения, следует ли передавать описание молчания для неактивного кадра, выполнен с возможностью решать, следует ли передавать описание молчания для неактивного кадра, на основе взаимосвязи между (А) абсолютной величиной вычисленного изменения и (В) пороговым значением.
28. Машиночитаемый носитель по п.24, в котором упомянутый код для решения, следует ли передавать описание молчания для неактивного кадра, выполнен с возможностью решать, в ответ на изменение в показателе эффективности кодирования, которое превышает пороговое значение, не передавать описание молчания для неактивного кадра.
29. Машиночитаемый носитель по п.24, в котором упомянутый код для вычисления изменения выполнен с возможностью вычислять, для каждого из множества значений спектрального наклона в последовательности значений спектрального наклона, изменение между значением спектрального наклона и, по меньшей мере, одним другим значением спектрального наклона в последовательности значений спектрального наклона, и
в котором упомянутый код для решения, следует ли передавать описание молчания для неактивного кадра, выполнен с возможностью решать, для каждого из другого множества неактивных кадров речевого сигнала, следует ли передавать описание молчания для упомянутого кадра, и
в котором упомянутый код для решения, следует ли передавать описание молчания для неактивного кадра, выполнен так, что, для каждого из другого множества неактивных кадров, решение, следует ли передавать описание молчания для упомянутого кадра, основано, по меньшей мере, на одном из вычисленных изменений.
30. Машиночитаемый носитель по п.24, в котором упомянутый код для формирования последовательности значений спектрального наклона содержит код для формирования, для, по меньшей мере, некоторых из множества неактивных кадров, соответствующего значения спектрального наклона из последовательности значений спектрального наклона согласно расстоянию во времени между неактивным кадром и предшествующим активным кадром речевого сигнала.
31. Машиночитаемый носитель по п.24, в котором упомянутый код для формирования последовательности значений спектрального наклона выполнен с возможностью, для, по меньшей мере, одного из последовательности значений спектрального наклона, устанавливать значение спектрального наклона равным предыдущему значению спектрального наклона из последовательности значений спектрального наклона в ответ на обнаружение, что изменение показателя эффективности кодирования превышает пороговое значение.
32. Машиночитаемый носитель по п.24, в котором упомянутый код для формирования последовательности значений спектрального наклона выполнен с возможностью сглаживать другую последовательность значений спектрального наклона, чтобы сформировать последовательность значений спектрального наклона,
в котором каждое из значений спектрального наклона другой последовательности указывает спектральный наклон соответствующего одного из множества неактивных кадров.
33. Устройство для обработки речевого сигнала, при этом упомянутое устройство содержит:
формирователь последовательностей, выполненный с возможностью формировать последовательность значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала;
вычислитель, выполненный с возможностью вычислять изменение, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и
компаратор, выполненный с возможностью решать, для неактивного кадра из множества неактивных кадров и на основе вычисленного изменения, следует ли передавать описание молчания для неактивного кадра, и при этом упомянутое решение заключается в определении, формировать ли положительный индикатор передачи описания молчания, указывающий решение передавать описание молчания для неактивного кадра.
34. Устройство по п.33, в котором упомянутый компаратор выполнен с возможностью решать, следует ли передавать описание молчания для неактивного кадра, на основе взаимосвязи между (А) абсолютной величиной вычисленного изменения и (В) пороговым значением.
35. Устройство по п.33, при этом устройство содержит устройство беспроводной связи, которое включает в себя упомянутый формирователь последовательностей, упомянутый вычислитель и упомянутый компаратор, и
причем упомянутое устройство выполнено с возможностью передавать, в ответ на решение, посредством упомянутого компаратора, передавать описание молчания для неактивного кадра, описание молчания, которое включает в себя, по меньшей мере, одно из описания спектральной огибающей и описания энергетической огибающей.
36. Устройство по п.33, в котором упомянутый компаратор выполнен с возможностью решать, в ответ на изменение в показателе эффективности кодирования, которое превышает пороговое значение, не передавать описание молчания для неактивного кадра.
37. Устройство по п.33, в котором упомянутый вычислитель выполнен с возможностью вычислять, для каждого из множества значений спектрального наклона в последовательности значений спектрального наклона, изменение между значением спектрального наклона и, по меньшей мере, одним другим значением спектрального наклона в последовательности значений спектрального наклона, и
в котором упомянутый компаратор выполнен с возможностью решать, для каждого из другого множества неактивных кадров речевого сигнала, следует ли передавать описание молчания для упомянутого кадра, и
в котором упомянутый компаратор выполнен так, что для каждого из другого множества неактивных кадров решение в отношении того, следует ли передавать описание молчания для упомянутого кадра, основано, по меньшей мере, на одном из вычисленных изменений.
38. Устройство по п.33, в котором упомянутый формирователь последовательностей выполнен с возможностью формировать, для, по меньшей мере, некоторых из множества неактивных кадров, соответствующее значение спектрального наклона из последовательности значений спектрального наклона согласно расстоянию во времени между неактивным кадром и предшествующим активным кадром речевого сигнала.
39. Устройство по п.33, в котором упомянутый формирователь последовательностей выполнен с возможностью для, по меньшей мере, одного из последовательности значений спектрального наклона, устанавливать значение спектрального наклона равным предыдущему значению спектрального наклона из последовательности значений спектрального наклона в ответ на обнаружение, что изменение показателя эффективности кодирования превышает пороговое значение.
40. Устройство по п.33, в котором упомянутый формирователь последовательностей выполнен с возможностью формировать последовательность значений спектрального наклона посредством сглаживания другой последовательности значений спектрального наклона,
при этом каждое из значений спектрального наклона другой последовательности указывает спектральный наклон соответствующего одного из множества неактивных кадров.
41. Устройство для обработки речевого сигнала, при этом упомянутое устройство содержит:
средство формирования последовательности значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала;
средство вычисления изменения, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и
средство решения, для неактивного кадра из множества неактивных кадров и на основе вычисленного изменения, того, следует ли передавать описание молчания для неактивного кадра, и при этом упомянутое средство решения содержит средство определения, формировать ли положительный индикатор передачи описания молчания, указывающий решение передавать описание молчания для неактивного кадра.
42. Устройство по п.41, при этом упомянутое устройство содержит средство передачи, в ответ на решение посредством упомянутого средства решения передавать описание молчания для неактивного кадра, описания молчания, которое включает в себя, по меньшей мере, одно из описания спектральной огибающей и описания энергетической огибающей.
43. Устройство по п.41, в котором упомянутое средство формирования последовательности значений спектрального наклона выполнено с возможностью формировать, для, по меньшей мере, некоторых из множества неактивных кадров, соответствующее значение спектрального наклона из последовательности значений спектрального наклона согласно расстоянию во времени между неактивным кадром и предшествующим активным кадром речевого сигнала.
44. Устройство по п.41, в котором упомянутое средство формирования последовательности значений спектрального наклона выполнено с возможностью, для, по меньшей мере, одного из последовательности значений спектрального наклона, устанавливать значение спектрального наклона равным предыдущему значению спектрального наклона из последовательности значений спектрального наклона в ответ на обнаружение, что изменение показателя эффективности кодирования превышает пороговое значение.
45. Устройство по п.41, в котором упомянутое средство формирования последовательности значений спектрального наклона выполнено с возможностью формировать последовательность значений спектрального наклона посредством сглаживания другой последовательности значений спектрального наклона,
при этом каждое из значений спектрального наклона другой последовательности указывает спектральный наклон соответствующего одного из множества неактивных кадров.
46. Способ обработки речевого сигнала, при этом упомянутый способ содержит этапы, на которых:
формируют последовательность значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала;
вычисляют изменение, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и
для неактивного кадра из множества неактивных кадров, решают, следует ли передавать описание молчания для неактивного кадра,
при этом решение, следует ли передавать описание молчания для неактивного кадра, основано на вычисленном изменении, и при этом упомянутое решение заключается в определении, формировать ли положительный индикатор передачи описания молчания, указывающий решение передавать описание молчания для неактивного кадра, и
при этом упомянутое формирование последовательности значений спектрального наклона содержит, для, по меньшей мере, некоторых из множества неактивных кадров, этап, на котором формируют соответствующее значение спектрального наклона из последовательности значений спектрального наклона согласно расстоянию во времени между неактивным кадром и предшествующим активным кадром речевого сигнала.
Описание изобретения к патенту
Родственные заявки
Данная заявка притязает на приоритет Предварительной патентной заявки США № 60/834689, озаглавленной "SPECTRAL TILT BASED DTX SCHEME", зарегистрированной 31 июля 2006 года.
Область техники, к которой относится изобретение
Данное изобретение относится к обработке сигналов.
Уровень техники
Передача речи посредством цифровых методик стала повсеместной, в частности в междугородной и международной телефонной связи, телефонной связи с коммутацией пакетов, такой как "речь-по-IP" (VoIP), и цифровой телефонной радиосвязи, такой как сотовая телефонная связь. Такое распространение вызвало интерес к уменьшению объема информации, используемой для того, чтобы передавать речевые данные по каналу передачи при сохранении воспринимаемого качества восстановленной речи.
Устройства, которые выполнены с возможностью сжимать речь за счет извлечения параметров, которые относятся к модели формирования человеческой речи, называют "речевыми кодерами". Речевой кодер, в общем, включает в себя кодер и декодер. Кодер в типичном варианте делит входящий речевой сигнал (цифровой сигнал, представляющий аудиоинформацию) на сегменты времени, называемые "кадрами", анализирует каждый кадр для того, чтобы извлекать определенные значимые параметры, и квантует параметры в двоичное представление, к примеру в набор битов или пакет двоичных данных. Пакеты данных передаются по каналу передачи (т.е. проводному или беспроводному сетевому подключению) в приемное устройство, которое включает в себя декодер. Декодер принимает и обрабатывает пакеты данных, деквантует их, чтобы сформировать параметры, и воссоздает речевые кадры, используя деквантованные параметры.
В типичном разговоре каждый говорящий молчит примерно шестьдесят процентов времени. Речевые кодеры обычно выполнены с возможностью отличать кадры речевого сигнала, которые содержат речь ("активные кадры"), от кадров речевого сигнала, которые содержат только молчание или фоновый шум ("неактивных кадров"). Этот кодер может быть выполнен с возможностью использовать различные режимы и/или скорости кодирования для того, чтобы кодировать активные и неактивные кадры. Например, речевые кодеры в типичном варианте выполнены с возможностью передавать кодированные неактивные кадры (также называемые "дескрипторами молчания", "описаниями молчания" или SID) на меньшей скорости передачи битов, чем кодированные активные кадры.
В любое время в течение полнодуплексной телефонной связи можно ожидать, что вводом, по меньшей мере, в один из речевых кодеров будет неактивный кадр. Может быть желательным для кодера передавать SID не для всех неактивных кадров. Эта операция также называется прерывистой передачей (DTX). В одном примере речевой кодер выполняет DTX посредством передачи одного SID для каждой строки из 32 следующих друг за другом неактивных кадров. Соответствующий декодер применяет информацию в SID для того, чтобы обновлять модель формирования шума, которая используется посредством алгоритма формирования комфортного шума, чтобы синтезировать неактивные кадры.
Сущность изобретения
Способ обработки речевого сигнала согласно конфигурации включает в себя формирование последовательности значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала. Это способ включает в себя вычисление изменения, по меньшей мере, между двумя значениями последовательности значений спектрального наклона и, для неактивного кадра из множества неактивных кадров, решение, следует ли передавать описание для кадра. В этом способе решение, следует ли передавать описание для кадра, основано на вычисленном изменении.
Компьютерный программный продукт согласно другой конфигурации включает в себя машиночитаемый носитель. Этот носитель включает в себя код для инструктирования, по меньшей мере, одному компьютеру формировать последовательность значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала. Этот носитель включает в себя код для инструктирования, по меньшей мере, одному компьютеру вычислять изменение, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и носитель включает в себя код для инструктирования, по меньшей мере, одному компьютеру решать, для неактивного кадра из множества неактивных кадров и на основе вычисленного изменения, следует ли передавать описание для кадра.
Устройство обработки речевого сигнала согласно другой конфигурации включает в себя формирователь последовательностей, выполненный с возможностью формировать последовательность значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала. Это устройство включает в себя вычислитель, выполненный с возможностью вычислять изменение, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и компаратор, выполненный с возможностью решать, для неактивного кадра из множества неактивных кадров и на основе вычисленного изменения, следует ли передавать описание для кадра.
Устройство обработки речевого сигнала согласно другой конфигурации включает в себя средство формирования последовательности значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала. Это устройство включает в себя средство вычисления изменения, по меньшей мере, между двумя значениями последовательности значений спектрального наклона; и средство решения, для неактивного кадра из множества неактивных кадров и на основе вычисленного изменения, следует ли передавать описание для кадра.
Краткое описание чертежей
Фиг.1A иллюстрирует блок-схему последовательности операций способа M100 согласно конфигурации.
Фиг.1B иллюстрирует блок-схему устройства A100 согласно конфигурации.
Фиг.1C иллюстрирует блок-схему последовательности операций для реализации M101 способа M100.
Фиг.1D иллюстрирует блок-схему реализации A101 устройства A100.
Фиг.2 иллюстрирует блок-схему реализации 132 сглаживателя 130.
Фиг.3 показывает иллюстративный пример, в котором каждый круг представляет один из серии следующих друг за другом кадров речевого сигнала во времени.
Фиг.4 иллюстрирует блок-схему реализации 142 вычислителя 140.
Фиг.5 иллюстрирует блок-схему реализации 152 компаратора 150.
Фиг.6 иллюстрирует блок-схему реализации 154 компаратора 150.
Фиг.7A иллюстрирует блок-схему реализации A102 устройства A100.
Фиг.7B иллюстрирует пример, в котором несколько различных индикаторов передачи объединены в составной индикатор передачи.
Фиг.8A иллюстрирует распечатку исходного кода для набора инструкций, которые могут быть приведены в исполнение для того, чтобы осуществить реализацию способа M100.
Фиг.8B иллюстрирует распечатку исходного кода для набора инструкций, которые могут быть приведены в исполнение для того, чтобы осуществить другую реализацию способа M100.
Фиг.9 иллюстрирует блок-схему последовательности операций способа, который содержит комбинацию способа M101 и способа кодирования речи.
Фиг.10 иллюстрирует блок-схему устройства, которое содержит комбинацию устройства A101 и речевого кодера.
Фиг.11A иллюстрирует блок-схему последовательности операций для реализации M200 способа M100.
Фиг.11B иллюстрирует блок-схему последовательности операций для реализации A200 устройства A100.
Фиг.12A иллюстрирует блок-схему последовательности операций для реализации M110 способа M101.
Фиг.12B иллюстрирует блок-схему последовательности операций для реализации M210 способа M200.
Фиг.12C иллюстрирует блок-схему последовательности операций для реализации M120 способа M101.
Фиг.12D иллюстрирует блок-схему последовательности операций для реализации M220 способа M200.
Фиг.13A и 13B иллюстрируют примеры сглаженного контура спектрального наклона без и с применением "последействия", соответственно.
Фиг.14 иллюстрирует распечатку исходного кода для набора инструкций, которые могут быть приведены в исполнение для того, чтобы осуществить дополнительную реализацию способа M100.
Фиг.15 иллюстрирует блок-схему примера логической схемы последействия.
Фиг.16A иллюстрирует блок-схему реализации 134 сглаживателя 132.
Фиг.16B иллюстрирует блок-схему реализации 136 сглаживателя 132.
Фиг.17A иллюстрирует блок-схему одного примера 62 формирователя 60 сигналов управления, выполненного с возможностью формировать сигнал управления обновлением на основе прогнозного усиления.
Фиг.17B иллюстрирует блок-схему одного примера 64 формирователя 62 сигналов управления, который выполнен с возможностью применять последействие.
Фиг.18 иллюстрирует блок-схему реализации 66 формирователя 64 сигналов управления, который также включает в себя логическую схему 52 последействия.
Фиг.19A иллюстрирует блок-схему одного примера 72 схемы 70 управления индикаторами передачи.
Фиг.19B иллюстрирует блок-схему реализации 156 компаратора 152.
Фиг.20 иллюстрирует блок-схему одного примера 82 схемы 80 управления, выполненной с возможностью формировать сигнал управления обновлением и пропускать индикатор передачи SID.
Фиг.21 иллюстрирует распечатку исходного кода для набора инструкций, которые могут быть приведены в исполнение для того, чтобы осуществить дополнительную реализацию способа M100.
Подробное описание изобретения
Конфигурации, описанные в данном документе, включают в себя системы, способы и устройства для обнаружения изменения речевого сигнала. Например, раскрыты конфигурации для обнаружения изменения в ходе неактивного периода сигнала и, на основе этого обнаружения, инициирования обновления в описание сигнала. Эти конфигурации в типичном варианте предназначены для использования в сетях с коммутацией пакетов (например, проводных и/или беспроводных сетях, выполненных с возможностью переносить передачу речи согласно таким протоколам, как "речь-по-IP", или VoIP), хотя использование в сетях с коммутацией каналов также явно предполагается и в силу этого раскрывается.
Если не ограничен в явной форме контекстом, термин "вычисление" используется в данном документе, чтобы обозначать любое из своих обычных значений, например расчет, оценку, сглаживание и выбор из множества значений. Если термин "содержащий" используется в настоящем описании и формуле изобретения, он не исключает других элементов или операций. Термин "A основан на B" используется для того, чтобы обозначать любое из своих обычных значений, в том числе случаи (i) "A основан, по меньшей мере, на B" и (ii) "A равен B" (если применимо в конкретном контексте).
Кодер, осуществляющий на практике DTX, может быть выполнен с возможностью отбрасывать (или "гасить") большинство неактивных кадров согласно схеме гашения. Один пример схемы гашения выдает обновления в описание молчания с регулярными интервалами (например, каждый 16-й или 32-й последовательный неактивный кадр). Другие схемы гашения (также называемые схемами "гашения со встроенной логикой") выполнены с возможностью выдавать обновления в описание молчания при обнаружении колебаний в энергии и/или спектральных характеристиках, которые могут указывать изменения в фоновом шуме.
Схема гашения, которая базируется только на колебаниях энергии, иногда может не иметь возможности обнаруживать перцепционно значимые изменения в фоновом шуме. В некоторых случаях неактивные кадры, которые имеют перцепционные отличия, имеют похожие энергетические характеристики (в типичном варианте закодированные как значения усиления). Хотя фоновый шум на улице ("уличный шум") может иметь распределение энергии во времени, которое аналогично распределению энергии фонового шума в людном месте ("совокупный перекрестный шум"), например, эти два типа шума обычно воспринимаются очень по-разному. Схема гашения, которая не может различать между перцепционно различными типами шума, может приводить к слышимым помехам в декодере. Поскольку активные кадры также включают в себя фоновый шум, например, слышимая разрывность может возникать, когда декодер переключается с декодированного активного кадра на комфортный шум, который формируется из некорректного SID.
Желательно, чтобы схема гашения обнаруживала изменения в фоновом шуме, которые могут быть перцепционно значимыми. Например, желательно, чтобы схема гашения обнаруживала внезапное изменение в одной или более спектральных характеристик фонового шума (к примеру, в спектральном наклоне). Способ или устройство, описанные в данном документе, могут быть использованы для того, чтобы реализовать эту схему гашения. Альтернативно, способ или устройство, описанные в данном документе, могут быть использованы для того, чтобы дополнить другую схему гашения. Например, речевой кодер или способ речевого кодирования могут комбинировать способ или устройство, описанные в данном документе, со схемой гашения, описанной в Патентной публикации США № 2006/0171419 (Spindola и др., опубликованной 3 августа 2006 года), или с другой схемой гашения, которая выполнена с возможностью обнаруживать изменение в энергии кадра и/или изменение в спектральной характеристике речевого сигнала, такой как разность между векторами пар спектральных линий.
Фиг.1A иллюстрирует блок-схему последовательности операций способа M100 согласно общей конфигурации. На основе множества неактивных кадров речевого сигнала этап T200 формирует последовательность значений спектрального наклона. Этап T400 вычисляет изменение в последовательности значений спектрального наклона (к примеру, изменение, по меньшей мере, среди двух значений последовательности). Для неактивного кадра речевого сигнала этап T500 решает, следует ли передавать описание кадра, при этом решение базируется на вычисленном изменении. Например, решение в отношении того, следует ли передавать описание, может быть основано на взаимосвязи между (A) абсолютной величиной вычисленного изменения и (B) пороговым значением.
В типичной реализации способа M100 каждое из последовательности значений спектрального наклона базируется на спектральном наклоне соответствующего неактивного кадра. Спектральный наклон кадра речевого сигнала - это значение, которое описывает распределение энергии в кадре по частотному диапазону. В типичном варианте спектральный наклон указывает крутизну спектра сигнала по соответствующему кадру и может быть положительным или отрицательным. Действие формирования следующего значения в последовательности значений спектрального наклона также называется "обновлением" последовательности.
Значения в последовательности значений спектрального наклона в типичном варианте выполнены с возможностью быть последовательными во времени с тем, чтобы последовательные значения последовательности соответствовали сегментам сигнала, которые являются последовательными во времени. Последовательность значений спектрального наклона, расположенных таким образом, как считается, может представлять контур, который описывает изменения крутизны энергетического спектра речевого сигнала во времени (т.е. контур спектрального наклона).
Этап T200 может быть реализован так, чтобы формировать последовательность значений наклона любым из нескольких различных способов. Например, этап T200 может быть выполнен так, чтобы принимать эту последовательность из запоминающего элемента или матрицы (к примеру, полупроводниковой памяти или матрицы), из другого этапа более крупного процесса, такого как способ речевого кодирования, или из элемента устройства, такого как речевой кодер. Альтернативно, этап T200 может быть выполнен так, чтобы вычислять такую последовательность, как описано в данном документе.
Этап T200 может быть выполнен так, чтобы выводить принимаемую или вычисляемую последовательность (также обозначаемую в данном документе как x) в качестве сформированной последовательности значений спектрального наклона. Альтернативно, этап T200 может быть выполнен так, чтобы формировать последовательность значений спектрального наклона y посредством выполнения одной или более других операций с этой последовательностью x. Эти другие операции могут включать в себя выбор другой последовательности из значений последовательности x: например, выбор каждого n-го значения, где n - это целое число больше единицы, и/или выбор только тех значений, которые соответствуют неактивным кадрам. Эти другие операции также могут включать в себя сглаживание принимаемой, вычисляемой или выбираемой последовательности, как описано в данном документе.
Продолжительность каждого сегмента во времени (также называемая "сегментом" или "кадром") речевого сигнала в типичном варианте выбирается так, чтобы быть достаточно короткой для того, чтобы спектральная огибающая сигнала могла предполагаемо оставаться относительно стационарной. Например, длина одного типичного кадра составляет двадцать миллисекунд, что соответствует 160 выборкам при частоте дискретизации в восемь килогерц (кГц), хотя любая длина кадра или частота дискретизации, считающаяся подходящей для конкретного варианта применения, может быть использована. В некоторых вариантах применения кадры являются неперекрывающимися, тогда как в других вариантах применения используется схема перекрывающихся кадров. Например, в речевых кодерах широко используется схема перекрывающихся кадров в кодере и схема неперекрывающихся кадров в декодере.
В типичном варианте применения матрица логических вентилей выполнена с возможностью осуществлять один или даже все из различных этапов способа M100. Например, такой этап или этапы могут быть реализованы как машиноисполняемый код, который должен приводиться в исполнение посредством программируемой матрицы, такой как процессор. Этапы способа M100 также могут выполняться посредством нескольких таких матриц. В этих и других реализациях этапы могут выполняться в рамках устройства для беспроводной связи, такого как сотовый телефон или другое устройство, имеющее такие возможности связи. Это устройство может быть выполнено с возможностью обмениваться данными с сетями с коммутацией каналов и/или коммутацией пакетов (к примеру, с помощью одного или более протоколов, таких как VoIP). Например, это устройство может включать в себя RF-схему, выполненную с возможностью передавать кодированные активные кадры и SID. Способ M100 также может быть реализован как машиночитаемый код, осуществленный в компьютерном программном продукте (к примеру, одном или более носителей хранения данных, таких как диски, флэш-память или другие энергонезависимые карты памяти, микросхемы полупроводниковой памяти и т.д.).
В типичном варианте применения способа M100 этап T400 итеративно проходит по последовательности значений спектрального наклона, сформированной посредством этапа T200, чтобы вычислить серию изменений на основе последовательных пар значений спектрального наклона, а этап T500 итеративно проходит по серии изменений, чтобы принять серию решений по передаче. Как правило, этап T200 приводится в исполнение как текущий процесс, а этапы T400 и T500 выполняются итеративно последовательно или параллельно так, чтобы значение спектрального наклона и соответствующий вычисленный индикатор изменений и передачи формировались для каждого неактивного кадра речевого сигнала (к примеру, возможно, после периода инициализации одного или более неактивных кадров). Также возможно реализовать способ M100 таким образом, что этап T200 формирует значения спектрального наклона менее часто, чем каждый неактивный кадр (к примеру, для каждого второго или третьего кадра), таким образом, что этап T400 выполняется так же часто или менее часто, чем этап T200 (к примеру, для каждой второй или третьей итерации этапа T200), и/или таким образом, что этап T500 выполняется так же часто или менее часто, чем этап T400 (к примеру, для каждой второй или третьей итерации этапа T400).
Фиг.1B иллюстрирует блок-схему устройства A100 согласно общей конфигурации. Формирователь 120 последовательностей выполнен с возможностью формировать последовательность значений спектрального наклона, которая основана на множестве неактивных кадров речевого сигнала. Например, формирователь 120 последовательностей может быть выполнен с возможностью осуществлять реализацию этапа T200, раскрытого в данном документе. Вычислитель 140 выполнен с возможностью вычислять изменение, по меньшей мере, между двумя значениями в последовательности значений спектрального наклона. Например, вычислитель 140 может быть выполнен с возможностью осуществлять реализацию этапа T400, раскрытого в данном документе. Компаратор 150 выполнен с возможностью решать, следует ли передавать описание для неактивного сегмента речевого сигнала, при этом решение основано на вычисленном изменении (к примеру, на взаимосвязи между (A) абсолютной величиной вычисленного изменения и (B) пороговым значением). Например, компаратор 150 может быть выполнен с возможностью осуществлять реализацию этапа T500, раскрытого в данном документе. В типичном варианте применения реализация устройства A100 выполнена с возможностью обрабатывать последовательность значений спектрального наклона и формировать серию решений по передаче на основе последовательности.
Различные элементы устройства A100 могут быть реализованы в любой комбинации аппаратных средств, программного обеспечения и/или микропрограммного обеспечения, которая считается подходящей для целевого варианта применения. Например, любые из этих элементов могут быть реализованы как одна или более матриц логических вентилей. Любые два или более или даже все из этих элементов могут быть реализованы в рамках одной матрицы или матриц. Такая матрица или матрицы могут быть реализованы в рамках одной или более микросхем (например, в рамках набора микросхем, включающего в себя две или более микросхемы). Любые из различных элементов устройства A100 также могут быть реализованы как один или более компьютеров (к примеру, матриц, запрограммированных так, чтобы приводить в исполнение один или более наборов или последовательностей инструкций, также называемых "процессорами"), и любые два или более или даже все из этих элементов могут быть реализованы в рамках одного такого компьютера или компьютеров. Различные элементы устройства A100 могут быть включены в устройство для беспроводной связи, такое как сотовый телефон или другое устройство, имеющее такие возможности связи. Это устройство может быть выполнено с возможностью обмениваться данными с сетями с коммутацией каналов и/или коммутацией пакетов (к примеру, с помощью одного или более протоколов, таких как VoIP). Например, такое устройство может включать в себя речевой кодер, выполненный с возможностью передавать SID согласно результатам соответствующих решений по передаче, и/или RF-схему, выполненную с возможностью передавать кодированные активные кадры и SID.
Один пример параметра, значение которого может быть использовано для того, чтобы указывать спектральный наклон кадра, - это первый коэффициент k0 отражения, а другие такие параметры описываются ниже. Этап T200 может быть выполнен с возможностью принимать последовательность значений спектрального наклона из другого этапа более крупной процедуры, такой как из способа речевого кодирования. Альтернативно, этап T200 может быть реализован так, чтобы включать в себя этап T210, который выполнен с возможностью вычислять такие значения, как описаны ниже. Аналогично, формирователь 120 последовательностей может быть выполнен с возможностью принимать последовательность значений спектрального наклона из другого элемента более крупного устройства, такого как речевой кодер или устройство связи. Альтернативно, формирователь 120 последовательностей может быть реализован так, чтобы включать в себя вычислитель 128, который выполнен с возможностью вычислять такие значения, как описаны ниже.
Этап T200 может быть реализован так, чтобы включать в себя этап T300, который сглаживает последовательность значений спектрального наклона. Типичная реализация этапа T300 выполнена с возможностью фильтровать последовательность значений спектрального наклона согласно авторегрессивной модели, такой как фильтр с бесконечной импульсной характеристикой (IIR). Конкретный пример этапа T300 выполняет следующую операцию IIR-фильтрации первого порядка, чтобы вычислять каждое значение сглаженной последовательности y как взвешенное среднее текущего значения входной последовательности значений x спектрального наклона и предыдущего значения сглаженной последовательности y:
y[n]=ax[n]+(1-a)y[n-1], (1)
где n обозначает последовательный индекс. В зависимости от требуемой степени сглаживания коэффициент a усиления может иметь любое значение от 0 до 1. В общем, коэффициент a усиления имеет значение, не большее 0,6. Например, коэффициент a усиления может иметь значение в диапазоне от 0,1 (или от 0,15) до 0,4 (или до 0,5). В одном конкретном примере последовательность x - это серия значений первого коэффициента k0 отражения, и коэффициент a усиления имеет значение 0,2 (ноль запятая два). Фиг.1C иллюстрирует блок-схему последовательности операций одной реализации M101 способа M100, в которой этап T200 реализован как этап T300. Фиг.1D иллюстрирует блок-схему реализации A101 устройства A100, в которой формирователь 120 последовательностей реализован как сглаживатель 130, который выполнен с возможностью осуществлять реализацию этапа T300.
Фиг.2 иллюстрирует блок-схему одного примера реализации 132 сглаживателя 130. Сглаживатель 132 включает в себя первый умножитель, выполненный с возможностью применять коэффициент G10 усиления к текущему значению x[n] входной последовательности значений спектрального наклона; второй умножитель, выполненный с возможностью применять коэффициент G20 усиления к предыдущему значению y[n-1] сглаженной последовательности значений спектрального наклона, полученной из элемента D задержки; и сумматор, выполненный с возможностью выводить y[n] как сумму двух произведений. Может быть желательным (к примеру, для стабильности), чтобы коэффициент G10 усиления имел значение a, как описано выше со ссылкой на этап T300, а коэффициент G20 усиления имел значение (1-a) . В одном конкретном примере последовательность x - это серия значений первого коэффициента k0 отражения, коэффициент G10 усиления имеет значение 0,2 (ноль запятая два), а коэффициент G20 усиления имеет значение 0,8 (ноль запятая восемь). Как отмечалось выше, сглаживатель 132 может быть реализован в любой комбинации аппаратных средств, программного обеспечения и/или микропрограммного обеспечения, которая считается подходящей для целевого варианта применения.
Альтернативно или дополнительно, этап T300 может быть выполнен с возможностью вычислять значение сглаженной последовательности значений y спектрального наклона посредством выполнения еще одной или более операций сглаживания, интегрирования и/или фильтрации нижних частот для последовательности значений x спектрального наклона (или для результата выполнения операции сглаживания для последовательности x). В альтернативной реализации способа M100, например, этап T300 выполнен с возможностью фильтровать последовательность x согласно модели скользящего среднего, такой как фильтр с конечной импульсной характеристикой (FIR). В дополнительной альтернативной реализации способа M100 этап T300 выполнен с возможностью фильтровать последовательность x согласно модели авторегрессивного скользящего среднего (ARMA). Аналогично, сглаживатель 130 может быть реализован как интегратор или другой фильтр нижних частот (такой как фильтр FIR или ARMA), выполненный с возможностью формировать сглаженное значение на основе двух или более входных значений.
Способ M100 в типичном варианте реализуется таким образом, то каждое значение последовательности значений x спектрального наклона, которое сглажено на этапе T300, соответствует одному или более из множества последовательных кадров речевого сигнала. Аналогично, устройство A100 в типичном варианте реализуется таким образом, что каждое значение последовательности значений x спектрального наклона, которое сглажено посредством сглаживателя 130, соответствует одному или более из множества последовательных кадров речевого сигнала. Следует отметить, что эти последовательные кадры не должны обязательно следовать друг за другом, как подробнее описано ниже.
Речевой сигнал должен в типичном варианте содержать активные кадры, а также неактивные кадры. Тем не менее, распределение энергии в течение активного кадра с большой вероятностью обусловлено главным образом факторами, отличными от фонового шума, с тем, чтобы было маловероятно то, что значения распределения энергии из активных кадров предоставляли надежную информацию об изменениях в фоновом шуме. Следовательно, может быть желательным, чтобы последовательность значений x спектрального наклона включала в себя только значения, которые соответствуют неактивным кадрам. В этом случае значения последовательности x могут соответствовать последовательным (неактивным) кадрам, которые не следуют друг за другом в речевом сигнале.
Чтобы проиллюстрировать этот принцип, фиг.3 показывает пример, в котором каждый круг представляет один из серии следующих друг за другом кадров речевого сигнала во времени. Круги, которые представляют неактивные кадры, все помечены номером индекса соответствующего значения в последовательности значений x спектрального наклона. В этом примере значения 74 и 75 следуют друг за другом в последовательности. Хотя неактивные кадры, которые соответствуют значениям 74 и 75, являются последовательными в речевом сигнале, они разделены посредством блока активных кадров и поэтому не следуют друг за другом.
Способ M100 может быть выполнен с такой возможностью, что этап T300 принимает только значения спектрального наклона последовательности x , которые соответствуют неактивным кадрам. Альтернативно, этап T300 может быть реализован так, чтобы выбирать, из последовательности значений спектрального наклона, соответствующих следующим друг за другом кадрам, только те значения, которые соответствуют неактивным кадрам. Например, такая реализация этапа T300 может быть выполнена с возможностью выбирать значения спектрального наклона, соответствующие неактивным кадрам (и/или отклонять значения, соответствующие активным кадрам), на основе индикатора речевой активности, принимаемого от речевого кодера, способа речевого кодирования или этапа T100 обнаружения речевой активности, описанного ниже.
Аналогично, устройство A100 может быть выполнено с такой возможностью, что сглаживатель 130 принимает только значения спектрального наклона последовательности x, которые соответствуют неактивным кадрам. Альтернативно, сглаживатель 130 может быть реализован так, чтобы выбирать, из последовательности значений спектрального наклона, соответствующих следующим друг за другом кадрам, только те значения, которые соответствуют неактивным кадрам. Например, такая реализация сглаживателя 130 может быть выполнена с возможностью выбирать значения спектрального наклона, соответствующие неактивным кадрам (и/или отклонять значения, соответствующие активным кадрам), на основе индикатора речевой активности, принимаемого от речевого кодера, способа речевого кодирования или детектора 110 речевой активности, описанного ниже.
Этап T400 вычисляет изменение, по меньшей мере, между двумя значениями последовательности значений спектрального наклона, сформированных посредством этапа T200. Например, этап T400 может быть выполнен с возможностью вычислять разность (также называемую "дельтой") между следующими друг за другом значениями сглаженной последовательности y согласно следующему выражению:
z[n]=y[n]-by[n-1], (2)
где z обозначает вывод, а b обозначает коэффициент усиления. Фиг.4 иллюстрирует реализацию 142 вычислителя 140, который может быть использован для того, чтобы выполнять конкретный случай этого примера этапа T400, в котором b равно одному (т.е. согласно операции FIR-фильтрации верхних частот первого порядка z[n]=y[n]-y[n-1]). Другие реализации вычислителя 140 и/или этапа T400 могут быть выполнены с возможностью применять такую операцию фильтрации с использованием другого значения b. Например, значение b может выбираться согласно требуемой частотной характеристике. Для случая, в котором этап T200 реализован так, чтобы формировать последовательность x, такая реализация этапа T400 или вычислителя 142 может быть выполнена с возможностью вычислять разность согласно такому выражению, как z[n]=x[n]-x[n-1]. Как отмечалось выше, вычислитель 142 может быть реализован в любой комбинации аппаратных средств, программного обеспечения и/или микропрограммного обеспечения, которая считается подходящей для целевого варианта применения.
Альтернативно или дополнительно, этап T400 может быть выполнен с возможностью выполнять одну или более операций дифференцирования для сформированной последовательности значений спектрального наклона, к примеру другую операцию фильтрации верхних частот (к примеру, применение IIR-фильтра верхних частот первого порядка к сформированной последовательности) или иного вычисления расстояния, либо другого изменения в значениях сформированной последовательности. Аналогично, вычислитель 140 может быть реализован как модуль дифференцирования, вычислитель разностей или другой IIR- или FIR-фильтр верхних частот, выполненный с возможностью вычислять разность, либо другое расстояние или изменение в двух или более входных значениях.
Изменение, вычисленное посредством этапа T400, может быть использовано для того, чтобы указать частоту изменений сформированной последовательности значений спектрального наклона. Например, абсолютная величина z[n] , как описано выше, может быть использована для того, чтобы указать, насколько сильно контур спектрального наклона фонового шума изменился от одного неактивного кадра до следующего. Этап T400 в типичном варианте выполнен с возможностью итеративно вычислять серию расстояний, абсолютные величины которых представляют частоту изменений сглаженного контура в соответствующие периоды кадров.
Этап T500 решает, следует ли передавать описание неактивного сегмента речевого сигнала, при этом решение основано на соответствующем изменении, вычисленном посредством этапа T400. Например, этап T500 может быть выполнен с возможностью решать, следует ли передавать описание, посредством сравнения абсолютной величины вычисленного изменения с пороговым значением T. Эта реализация этапа T500 может быть выполнена с возможностью устанавливать двоичный флаг согласно результату этого сравнения:
где значение флага p[n] указывает результат решения по передаче. В этом случае значение p[n], равное единице или логическому TRUE, является положительным индикатором передачи (т.е. индикатором передачи, имеющим положительное состояние, индикатором разрешения передачи, индикатором решения передавать), указывающим то, что обновление описания молчания должно быть передано для текущего кадра; а значение p[n], равное нулю или логическому FALSE, является отрицательным индикатором передачи (т.е. индикатором передачи, имеющим отрицательное состояние, индикатором запрета передачи, индикатором решения не передавать), указывающим то, что обновление описания молчания не должно быть передано для текущего кадра. В одном примере порог T имеет значение в 0,2. Нижнее пороговое значение может быть использовано для того, чтобы предоставлять большую чувствительность к изменениям в сформированной последовательности значений спектрального наклона, при этом более высокое пороговое значение может быть использовано для того, чтобы предоставлять большее отклонение переходов в сформированной последовательности значений спектрального наклона.
Специалисты в данной области техники должны признавать, что в альтернативной реализации способа M100 этап T400 может быть выполнен с возможностью вычислять изменение как абсолютную величину согласно следующему выражению:
z[n]=|y[n]-by[n-1]|,
а этап T500 может быть выполнен с возможностью устанавливать двоичный флаг согласно результату сравнения, например:
.
Способ M100 также может быть реализован так, чтобы включать в себя другую разновидность этапа T500, к примеру реализацию, которая сравнивает пороговое значение со средней абсолютной величиной двух или более вычисленных изменений (к примеру, средней абсолютной величиной вычисленных изменений текущего и предыдущего кадров).
Фиг.5 иллюстрирует блок-схему реализации 152 компаратора 150, который может быть использован для того, чтобы выполнять реализацию этапа T500. В этом примере компаратор 152 выполнен с возможностью принимать решение по передаче посредством вычисления абсолютной величины вычисленного изменения и сравнения абсолютной величины с пороговым значением T10. В одном конкретном примере пороговое значение T10 имеет значение 0,2 (нуль запятая два). Фиг.6 иллюстрирует блок-схему другой реализации 154 компаратора 150, который может быть использован для того, чтобы выполнять реализацию этапа T500. В этом примере компаратор 154 выполнен с возможностью сравнивать значение со знаком вычисленного изменения с положительным и отрицательным пороговыми значениями T10 и T20, соответственно, и выдавать положительный индикатор передачи, если вычисленное изменение больше (альтернативно, не меньше) порогового значения T10 или меньше (альтернативно, не больше) порогового значения T20. В одном примере пороговое значение T20 имеет значение, которое является отрицательной величиной порового значения T10, с тем, чтобы компараторы 152 и 154 были выполнены с возможностью формировать одинаковый результат. Тем не менее, компаратор 154 также может быть реализован таким образом, что пороговое значение T20 имеет абсолютную величину, отличную от порогового значения T10, при необходимости.
Дополнительная реализация компаратора 150 выполнена с возможностью принимать вычисленное изменение из компаратора 140 как абсолютную величину и сравнивать эту абсолютную величину с пороговым значением T10. Как отмечалось выше, эти реализации компаратора 150 (включая компараторы 152 и 154) могут быть реализованы в любой комбинации аппаратных средств, программного обеспечения и/или микропрограммного обеспечения, которая считается подходящей для целевого варианта применения. Фиг.7A иллюстрирует блок-схему одной реализации A102 устройства A100, которое выполнено с возможностью выполнять различные операции, как описано выше, для входного сигнала x[n], чтобы сформировать соответствующий индикатор передачи.
Фиг.8A иллюстрирует распечатку исходного кода для набора инструкций, которые могут быть приведены в исполнение посредством программируемой матрицы логических элементов или другого конечного автомата (к примеру, компьютера или процессора) для того, чтобы осуществить реализацию способа M101, который включает в себя реализации этапов T300, T400 и T500. В этом примере переменная k0 содержит значение x[n] спектрального наклона для текущего кадра, переменная y_current первоначально содержит самое последнее значение сглаженной последовательности значений y спектрального наклона, а флаг p содержит состояние индикатора передачи. Часть 1 выполняет этап T300 посредством вычисления текущего значения сглаженной последовательности y согласно вышеприведенному выражению (1), используя значение 0,2 для коэффициента a усиления. Часть 2 выполняет этап T400 посредством вычисления изменения из текущего и самого последнего значений сглаженной последовательности y согласно вышеприведенному выражению (2), используя значение в единицу для коэффициента b усиления. Часть 3 выполняет этап T500 посредством установления флага p согласно результату сравнения между вычисленным изменением и пороговым значением, используя пороговое значение 0,2. В типичном варианте применения набор инструкций приводится в исполнение итеративно (к примеру, для каждого неактивного кадра) с тем, чтобы начальное значение переменной y_current для каждой итерации было конечным значением переменной y_current , вычисленным в ходе предыдущей итерации.
Как описано выше, этап T300 может быть выполнен с возможностью вычислять текущее значение сглаженной последовательности значений y спектрального наклона на основе одного или более предыдущих значений последовательности значений х спектрального наклона и/или одного или более предыдущих значений сглаженной последовательности y. Для начального значения сглаженной последовательности y, тем не менее, может не существовать предыдущего значения последовательности x и/или сглаженной последовательности y. Если этап T300 вычисляет значение сглаженной последовательности y с помощью произвольного значения или нулевого значения вместо предыдущего значения, результат может инструктировать этапу T400 вывести вычисленное изменение, которое является неадекватно большим, что в свою очередь может привести этап T500 к тому, чтобы вычислить положительный индикатор передачи в случае, когда контур спектрального наклона фактически является константой.
Может быть желательным инициализировать одну или более переменных (к примеру, ячеек запоминающего устройства), которые выполнены с возможностью содержать предыдущие значения последовательности x и/или сглаженной последовательности y. Эта инициализация может быть выполнена до того, как этап T300 первый раз приводится в исполнение, и/или может быть выполнена в рамках этапа T300. Например, одна или более этих переменных может быть инициализирована равной текущему значению последовательности x. В конкретном примере переменная, выполненная с возможностью сохранять предыдущее значение сглаженной последовательности (y[n-1] в вышеприведенном выражении (1)), инициализируется равной текущему значению входной последовательности (x[n] в вышеприведенном выражении (1)). Для другого примера, в котором этап T400 выполнен с возможностью вычислять изменение на основе значений x[n] и x[n-1], переменная, выполненная с возможностью сохранять предыдущее значение входной последовательности x[n-1], инициализируется равной текущему значению входной последовательности x[n]. Альтернативно или дополнительно, способ M100 может быть выполнен с возможностью исключать вывод положительных индикаторов передачи для первых нескольких неактивных кадров (к примеру, посредством инструктирования этапу T500 выводить индикаторы передачи, имеющие отрицательные состояния для этих кадров). В этом случае этап T200 (возможно, включающий в себя этап T300) может быть выполнен с возможностью использовать произвольное или нулевое начальное значение для каждого из одного или более предыдущих значений вместо инициализации этих переменных так, как описано в данном документе.
Фиг.8B иллюстрирует другой пример распечатки исходного кода для набора инструкций, которые могут быть приведены в исполнение посредством программируемой матрицы логических элементов или другого конечного автомата (к примеру, компьютера или процессора) для того, чтобы осуществить реализацию способа M101, которая включает в себя реализацию T310 этапа T300, а также реализации этапов T400 и T500. В этом примере этап T310 включает в себя операцию инициализации, которая использует переменную Y_VALID для того, чтобы указать, был ли до этого вызван набор инструкций, и, посредством этого, является ли значение, сохраненное в переменной y_current, допустимым. В этом случае вызывающая подпрограмма (к примеру, более крупная процедура, такая как способ речевого кодирования) должна быть выполнена с возможностью инициализировать значение Y_VALID, равное FALSE, перед вызовом набора инструкций. Если набор инструкций решает, что значение Y_VALID равно FALSE (т.е. если набор инструкций приводится в исполнение первый раз), то переменная y_current инициализируется равной текущему значению переменной k0 .
Описание молчания (SID) в типичном варианте включает в себя описание спектральной огибающей кадра и/или описание энергетической огибающей кадра. Эти описания могут быть извлечены из текущего неактивного кадра и/или из одного или более предыдущих неактивных кадров. SID также может называться другими названиями, к примеру "обновление в описание молчания", "дескриптор молчания", "дескриптор вставки молчания", "кадр дескриптора комфортного шума" и "параметры комфортного шума". В конкретном примере усовершенствованного кодека с переменной скоростью (EVRC), описанного в документе 3GPP2 C.S0014-C версия 1.0, "Enhanced Variable Rate Codec, Speech Service Options 3, 68, and 70 for Wideband Spread Spectrum Digital Systems", SID кодируются на восьмой скорости (шестнадцать битов на кадр) с помощью режима кодирования методом линейного предсказания с возбуждением по шуму (NELP), тогда как активные кадры кодированы на полной скорости (171 бит на кадр), половине скорости (80 битов на кадр) или четверти скорости (40 битов на кадр) с помощью режимов кодирования методом линейного предсказания с возбуждением по коду (CELP), периода основного тона прототипа (PPP) или NELP.
Описание спектральной огибающей, в общем, включает в себя набор параметров кодирования, таких как коэффициенты фильтрации, коэффициенты отражения, линейные спектральные частоты (LSF), линейные спектральные пары (LSP), спектральные частоты с полным сопротивлением (ISF), спектральные пары с полным сопротивлением (ISP), коэффициенты косинусного преобразования Фурье или логарифмические соотношения площадей. Набор параметров кодирования, который может быть скомпонован как один или более векторов, в типичном варианте квантуется как один или более индексов в соответствующие таблицы поиска или таблицы кодирования.
Типичная длина описания спектральной огибающей в рамках SID в настоящее время варьируется от восьми до 28 битов. В конкретном примере EVRC, описанного в 3GPP2 C.S0014-C версия 1.0, упомянутого выше, каждый 16-битовый SID включает 4-битовый индекс LSPIDX1 в таблицу кодирования для низкочастотной информации спектральной огибающей и 4-битовый индекс LSPIDX2 в таблицу кодирования для высокочастотной информации спектральной огибающей. В конкретном примере адаптивного многоскоростного (AMR) речевого кодека, описанного в документе ETSI TS 126 092 V6.0.0 (Европейский институт телекоммуникационных стандартов (ETSI), Sophia Antipolis Cedex, FR, декабрь 2004 год), каждый 35-битовый SID включает в себя 8- или 9-битовый индекс для каждого из трех субвекторов LSF. В конкретном примере широкополосного речевого AMR-кодека, описанного в документе ETSI TS 126 192 V6.0.0 (ETSI, декабрь 2004 года), каждый 35-битовый SID включает в себя 5- или 6-битовый индекс для каждого из пяти субвекторов ISF.
Описание энергетической огибающей может включать в себя значение усиления, которое должно быть применено к кадру (также называемому "кадром усиления"). Альтернативно или дополнительно, описание спектральной огибающей может включать в себя значения усиления, которые должны быть применены к каждому из ряда субкадров кадра (совместно называемому "профиль усиления"). В типичном варианте кадр усиления и/или профиль усиления квантуется как один или более индексов в соответствующие таблицы кодирования, хотя в некоторых случаях алгоритм может быть использован для того, чтобы квантовать и/или деквантовать кадр усиления и/или профиль усиления без использования таблицы кодирования. Типичная длина описания энергетической огибающей в рамках SID в настоящее время варьируется от 5 до 8 битов. В конкретном примере EVRC, описанном в 3GPP2 C.S0014-C v.1.0, упомянутом выше, каждый 16-битовый SID включает в себя 8-битовый энергетический индекс FGIDX. В конкретных примерах речевого AMR-кодека, описанных в ETSI TS 126 092 V6.0.0, упомянутом выше, и примерах широкополосного речевого AMR-кодека, описанных в ETSI TS 126 192 V6.0.0, упомянутом выше, каждый 35-битовый SID включает в себя 6-битовый энергетический индекс.
Способ M100 или устройство A100 может быть использовано в качестве схемы гашения, чтобы поддерживать DTX. Например, процедура, включающая в себя способ M100, или устройство, включающее в себя устройство A100, могут быть выполнены с возможностью осуществлять передачу SID, только когда состояние индикатора передачи, созданного посредством этапа T500, является положительным. Другие схемы гашения также могут быть использованы для того, чтобы поддерживать DTX. Одним таким примером является способ или устройство, которое выдает индикатор передачи с положительным SID каждый раз, когда число следующих друг за другом неактивных кадров, которые возникли с самой последней передачи SID, достигает (альтернативно, превышает) порога DTX_MAX. Типичные значения для DTX_MAX включают в себя 16 и 32. Дополнительный пример схемы гашения выдает индикатор передачи с положительным SID каждый раз, когда число следующих друг за другом неактивных кадров, которые возникли с самого последнего активного кадра, достигает (альтернативно, превышает) порогового значения.
Другие схемы гашения, которые могут быть использованы для того, чтобы поддерживать DTX, включают в себя схемы, которые выполнены с возможностью выдавать индикатор передачи с положительным SID при обнаружении изменения в описаниях энергетической и/или спектральной огибающей речевого сигнала. Например, такая схема может быть выполнена с возможностью выдавать индикатор передачи с положительным SID, указывающий решение передавать описание для текущего неактивного кадра при обнаружении того, что расстояние между описаниями спектральной огибающей (к примеру, векторами LSF, LSP, ISF или ISP) кадра и последним переданным SID превышает пороговое значение (альтернативно, не меньше порогового значения). Может быть желательным фильтровать (к примеру, сглаживать) описания спектральной огибающей перед вычислением расстояний. Разновидность этой схемы выполнена с возможностью выдавать индикатор передачи с положительным SID, если она также обнаруживает то, что расстояние между описаниями энергетических огибающих текущего неактивного кадра и последнего переданного SID превышает пороговое значение (альтернативно, не меньше порогового значения). Дополнительная разновидность выполнена с возможностью выдавать индикатор передачи с положительным SID, если она обнаруживает то, что любое из этих условий удовлетворяется. Другие схемы гашения, которые могут быть использованы, включают в себя схемы, выполненные с возможностью выдавать индикатор передачи с положительным SID согласно сравнению между пороговым значением и таким значением, как среднее абсолютное значение кадра или энергетическое значение кадра (к примеру, сумма квадратов выборок), причем это значение может быть отфильтрованным и/или взвешенным.
Другой пример схемы гашения, которая может быть использована для того, чтобы поддерживать DTX, выполнен с возможностью выдавать индикатор передачи с положительным SID при обнаружении того, что расстояние Итакуры между последним переданным SID и текущим неактивным кадром превышает пороговое значение (альтернативно, не меньше порогового значения). Разновидность этой схемы выполнена с возможностью выдавать индикатор передачи с положительным SID при обнаружении того, что расстояние Итакуры между (A) последним переданным SID и (B) средним из текущего неактивного кадра и предыдущего неактивного кадра превышает пороговое значение (альтернативно, не меньше порогового значения). Расстояние Итакуры - это показатель спектрального изменения на основе значений автокорреляции и остаточной энергии, и описание этой схемы может быть найдено в ITU-T Recommendation G.729 Annex B (Международный союз электросвязи, Geneva, CH, октябрь 1996 года).
Реализация способа M100 или устройства A100 может быть комбинирована с одной или более схем гашения, таких как одна или более схем, описанных выше. Например, устройство, включающее в себя или выполняющее такую реализацию, может быть выполнено с возможностью передавать SID, если любая из ее схем гашения выдает индикатор передачи с положительным SID для этого кадра. Фиг.7B иллюстрирует одну реализацию такого примера, в котором несколько различных индикаторов передачи комбинируются в составной индикатор передачи с использованием операции логического OR.
Как упоминалось выше, SID может быть извлечен из одного или более неактивных кадров. Например, может быть желательным, чтобы устройство, включающее в себя устройство A100, или процедура, включающая в себя способ M100, вычисляли и передавали SID, который представляет среднее из нескольких кодированных неактивных кадров, вместо того, чтобы передавать SID как один кодированный неактивный кадр. Это среднее может быть вычислено с помощью операции FIR- или IIR-фильтрации и/или посредством использования статистического способа, такого как медианная фильтрация, которая может включать в себя отбрасывание выбросов или замену выбросов на среднее значение. Например, устройство или процедура может быть выполнена с возможностью вычислять SID посредством статистического сглаживания описаний энергетической и спектральной огибающей текущего кадра на описания одного или более предыдущих неактивных кадров с тем, чтобы результирующий SID содержал значения усиления и частоты, которые возникали наиболее часто в недавнем прошлом.
Число кадров, за которое вычисляют среднее, может быть фиксированным или может варьироваться согласно, к примеру, показателю стационарности. Одним примером такого показателя является расстояние (к примеру, расстояние Итакуры) между спектральными средними, взятыми за два различных набора кадров. В одном таком примере, как описано в G.729 Annex B, упомянутом выше, среднее вычисляется за шесть последних кадров (включая текущий кадр) и за два последних кадра. Если расстояние между этими двумя средними превышает пороговое значение (альтернативно, не меньше порогового значения), то SID включает в себя спектральное описание, усредненное за два кадра (к примеру, сигнал предполагается локально нестационарным). В противном случае SID включает в себя спектральное описание, усредненное за шесть кадров (к примеру, сигнал предполагается локально стационарным). В конкретном примере широкополосного AMR-кодека, описанном в ETSI TS 126 192 V6.0.0, упомянутом выше, SID включает в себя индикатор подмешивания псевдослучайного сигнала, состояние которого задается согласно сумме спектральных расстояний между текущим кадром и семью предыдущими кадрами или согласно расстоянию между энергией текущего кадра и средним энергетическим значением за последние кадры.
Способ M100 может быть реализован так, что этап T200 принимает последовательность значений спектрального наклона из другого процесса, такого как процесс речевого кодирования. Например, устройство или система, выполненная с возможностью приводить в исполнение реализацию способа M100, в типичном варианте также выполнена с возможностью выполнять способ речевого кодирования для речевого сигнала. Способ речевого кодирования может включать в себя анализ кодирования с линейным предсказанием (LPC), который вычисляет набор коэффициентов, который моделирует выборку речевого сигнала в момент времени t как линейную комбинацию выборок речевого сигнала в моменты времени до t. LPC-анализ, выполняемый посредством речевого кодера устройства связи (к примеру, сотового телефона), в типичном варианте имеет порядок 4, 6, 8, 10, 12, 16, 20, 24, 28 или 32. Для случая, в котором отдельный LPC-анализ выполняется для различных полос частот речевого сигнала, этап T200 может быть выполнен с возможностью принимать последовательность значений спектрального наклона на основе анализа полосы низких частот (к примеру, включающей в себя частоты ниже 1 кГц) или полосы средних частот (к примеру, включающей в себя, по меньшей мере, частоты от 1 до 2 кГц).
Этап T200 может быть выполнен с возможностью принимать последовательность значений спектрального наклона как последовательность коэффициентов отражения, такую как последовательность первого и второго коэффициентов отражения. Диапазон конфигураций, раскрытых в данном документе, включает в себя способы, которые содержат комбинацию способа M100 и способа речевого кодирования (к примеру, как проиллюстрировано на фиг.9), а также способов речевого кодирования, которые включают в себя способ M100.
Устройство A100 может быть реализовано так, что формирователь 120 последовательностей принимает последовательность значений спектрального наклона из другого устройства, такого как речевой кодер. Например, устройство или система, которая включает в себя реализацию устройства A100, также должна в типичном варианте включать в себя речевой кодер, который выполнен с возможностью осуществлять LPC-анализ речевого сигнала. В этом случае формирователь 120 последовательностей может быть выполнен с возможностью принимать последовательность значений спектрального наклона как последовательность коэффициентов отражения. Диапазон конфигураций, раскрытых в данном документе, включает в себя устройства, которые содержат комбинацию устройства А100 и речевого кодера (к примеру, как проиллюстрировано на фиг.10), а также речевые кодеры, которые включают в себя устройство A100.
Альтернативно, этап T200 может быть реализован так, чтобы включать в себя этап, который вычисляет последовательность значений спектрального наклона на основе множества неактивных кадров речевого сигнала. Этап T210, например, может быть выполнен с возможностью оценивать спектральный наклон сигнала за каждый из серии кадров согласно одной или более различных методик, описанных ниже. Фиг.11A иллюстрирует блок-схему последовательности операций реализации M200 способа M100, которая включает в себя такую реализацию T202 этапа T200. Этап T210 может быть выполнен с возможностью предоставлять вычисленную последовательность значений спектрального наклона в другие этапы более крупного процесса, такого как способ речевого кодирования. Способ M100 также может быть реализован так, что этап T200 реализуется как этап T210.
Фиг.11B иллюстрирует блок-схему реализации A200 устройства A100, которая включает в себя реализацию 122 формирователя 120 последовательностей. Формирователь 122 последовательностей включает в себя вычислитель 128, который выполнен с возможностью вычислять последовательность значений спектрального наклона, основанную на множестве неактивных кадров речевого сигнала. Например, вычислитель 128 может быть выполнен с возможностью осуществлять реализацию этапа T210, раскрытого в данном документе. Как и другие элементы устройства A200, вычислитель 128 может быть реализован в любой комбинации аппаратных средств, программного обеспечения и/или микропрограммного обеспечения, которая считается подходящей для целевого варианта применения. Вычислитель 128 также может быть выполнен с возможностью предоставлять вычисленную последовательность значений спектрального наклона в другие этапы более крупного устройства, такого как способ речевого кодирования. Устройство A100 также может быть реализовано так, что формирователь 120 последовательностей реализуется как вычислитель 128.
Типичная реализация этапа T210 выполнена с возможностью вычислять спектральный наклон как первый коэффициент отражения соответствующего кадра речевого сигнала. Первый коэффициент отражения кадра (в типичном варианте обозначаемый как k 0) может вычисляться как соотношение R(1)/R(0) (т.е. нормализованное первое значение автокорреляции кадра), которое имеет скалярное значение от -1 до +1 для значений выборок в диапазоне от -1 до +1. В этом выражении R(1) обозначает первый коэффициент автокорреляции кадра (т.е. значение автокорреляционной функции для кадра с запаздыванием в одну выборку), а R(0) обозначает нулевой коэффициент автокорреляции кадра (т.е. значение автокорреляционной функции для кадра с запаздыванием в нуль).
В других реализациях этап T210 выполнен с возможностью вычислять спектральный наклон как второй коэффициент отражения соответствующего кадра речевого сигнала. Второй коэффициент отражения кадра (в типичном варианте обозначается как k1 ) может быть вычислен следующим образом:
где R(2) обозначает второй коэффициент автокорреляции кадра (т.е. значение автокорреляционной функции для кадра с запаздыванием в две выборки). Этап T210 также может быть реализован так, чтобы вычислять один или более коэффициентов отражения соответствующего кадра (к примеру, первый и/или второй коэффициент отражения) на основе одного или более других параметров, таких как один или более коэффициентов LPC-фильтра.
Диапазон реализаций этапа T210 не ограничен теми, которые вычисляют спектральный наклон как коэффициент отражения. Альтернативно или дополнительно, этап T210 может быть выполнен с возможностью осуществлять одну или более других методик оценки для того, чтобы вычислять спектральный наклон кадра или кадров. Эти методики спектральной оценки могут включать в себя вычисление спектрального наклона для каждого кадра как соотношение между энергией полосы высоких частот и энергией полосы низких частот. Это вычисление может включать в себя выполнение частотного преобразования сегмента, такое как дискретное преобразование Фурье (DFT). Данные методики спектральной оценки могут включать в себя вычисление спектрального наклона как числа пересечений нулевого уровня в пределах каждого сегмента. В этом случае большее число пересечений нулевого уровня может быть взято для того, чтобы указывать большую величину высокочастотной энергии.
При вычислении последовательности значений спектрального наклона этап T210 может быть выполнен с возможностью осуществлять вычисления на основе значений автокорреляционной функции, к примеру вычислять один или более коэффициентов отражения, как описано выше. Способ автокорреляции для вычисления параметров LPC-модели, таких как коэффициенты фильтрации или отражения, влечет за собой выполнение серии итераций, чтобы разрешить уравнение, которое включает в себя матрицу Теплица. В некоторых реализациях этап T210 выполнен с возможностью осуществлять способ автокорреляции согласно любому из хорошо известных рекурсивных алгоритмов Левинсона и/или Дурбина для решения этого уравнения. Данный алгоритм в типичном варианте вычисляет коэффициенты отражения (также называемые коэффициентами частной корреляции (PARCOR), отрицательными коэффициентами PARCOR или параметрами Schur-Szego) как промежуточные данные в процессе формирования набора коэффициентов LPC-фильтрации.
В других реализациях этап T210 выполнен с возможностью осуществлять последовательность итераций для того, чтобы вычислять один или более коэффициентов отражения вместо набора коэффициентов фильтрации. Например, этап T210 может быть выполнен с возможностью использовать реализацию алгоритма Леро-Гогена, чтобы получить один или более коэффициентов отражения. Альтернативно, этап T210 может быть выполнен с возможностью использовать реализацию другого широко распространенного итеративного способа, чтобы получить один или более коэффициентов отражения из значений автокорреляции, например рекурсивный алгоритм Schur (который может быть выполнен с возможностью эффективных параллельных вычислений) или рекурсивный алгоритм Burg.
Этап T210 может быть выполнен с возможностью вычислять одно или более значений автокорреляционной функции для соответствующего кадра речевого сигнала. Например, этап T210 может быть выполнен с возможностью оценивать функцию автокорреляции кадра для конкретного значения m запаздывания (где m - это целое число не меньше нуля) согласно такому выражению, как следующее:
где N обозначает число выборок в кадре. Альтернативно, этап T210 может быть выполнен с возможностью принимать значения автокорреляционной функции (к примеру, из речевого кодера или способа речевого кодирования или другого процесса).
Речевой кодер или способ речевого кодирования может быть выполнен с возможностью использовать значения автокорреляционной функции в операции кодирования, к примеру вычисления параметров LPC-модели (к примеру, коэффициентов фильтрации и/или отражения). Может быть желательным, чтобы такой речевой кодер или способ кодирования речи выполнял одну или более операций предварительной обработки со значением автокорреляции. Например, значения R(m) автокорреляции могут быть спектрально сглажены посредством выполнения такой операции, как следующая:
В таком контексте этап T210 может быть выполнен с возможностью выполнять спектральное сглаживание или другую операцию предварительной обработки для значений автокорреляции и/или вычислять значения параметра спектрального наклона с помощью значений автокорреляции, которые спектрально сглажены или иным образом предварительно обработаны.
Прежде чем автокорреляционная функция применяется к речевому сигналу (к примеру, посредством этапа T210 или речевого кодера, либо способа речевого кодирования), может быть желательным применять финитную взвешивающую функцию w[n] к сигналу. Например, может быть желательным обнулять речевой сигнал вне кадра, к которому автокорреляционная функция в настоящий момент применяется. В некоторых случаях финитная взвешивающая функция w[n] является прямоугольной или треугольной. Может быть желательным использовать сужающуюся финитную взвешивающую функцию, имеющую низкие весовые коэффициенты выборок на каждом конце окна взвешивания, что может помочь уменьшить влияние компонентов вне окна взвешивания. Например, может быть желательным использовать окно взвешивания с приподнятым косинусом, к примеру следующую взвешивающую функцию Хэмминга:
где N - это число выборок в кадре.
Другие сужающиеся окна взвешивания, которые могут быть использованы, включают в себя окна взвешивания Ханнинга, Блэкмана, Кайзера и Бартлетта. Взвешенный кадр sw [n] может быть вычислен согласно такому выражению, как следующее:
sw[n]=s[n]w[n]; 0 n N-1.
Взвешивающая финитная функция не обязательно должна быть симметричной, так что одна половина окна может взвешиваться отлично от другой половины. Гибридное окно взвешивания также может быть использовано, такое как окно Хэмминга-косинуса или окно, имеющее две половины различных окон (например, два окна Хэмминга различных размеров). Одна или более других операций предварительной обработки, к примеру перцепционное взвешивание, может выполняться для значений выборок и/или финитно взвешенных значений (к примеру, посредством этапа T210 или речевого кода, или способа речевого кодирования) до того, как они используются для того, чтобы оценить функцию автокорреляции.
Финитная взвешивающая функция w[n] может быть реализована так, чтобы включать в себя выборки текущего кадра, а также выборки из одного или более соседних кадров. В некоторых случаях окно взвешивания включает в себя выборки из текущего кадра и соседних предыдущего и будущего кадров (к примеру, окно взвешивания 5-20-5, которое включает в себя 5 миллисекунд сразу до и после 20-миллисекундного кадра). В других случаях окно взвешивания включает в себя выборки только из текущего кадра и предыдущего кадра (к примеру, окно взвешивания 10-20, которое включает в себя текущий 20-миллисекундный кадр и последние 10 миллисекунд предыдущего кадра).
Для случая, в котором финитная взвешивающая функция применяется к речевому сигналу (к примеру, посредством этапа T210 или речевого кодера, или способа речевого кодирования), автокорреляционная функция кадра может быть вычислена согласно такому выражению, как следующее:
Как отмечалось выше, может быть желательным, чтобы этап T300 или сглаживатель 130 сглаживали последовательность, которая включает в себя только значения, которые соответствуют неактивным кадрам. В этом случае способ M100 или устройство A100 может быть выполнено с возможностью принимать индикатор уровня речевой активности в кадре (к примеру, из речевого кодера или способа речевого кодирования). Например, этот индикатор (также называемый "индикатором речевой активности") может иметь форму двоичной переменной или флага, состояние которого указывает то, является соответствующий кадр активным или неактивным.
Индикатор речевой активности может быть использован для того, чтобы управлять работой этапа T300 сглаживания. Например, индикатор речевой активности может быть использован для того, чтобы предоставлять возможность формирования сглаженного значения спектрального наклона из соответствующего неактивного кадра и/или исключить формирование сглаженного значения спектрального наклона из соответствующего активного кадра. В одном таком примере компьютер или процессор выполнен с возможностью управлять этапом T300 так, чтобы сглаживать значение спектрального наклона только в том случае, если индикатор речевой активности указывает, что соответствующий кадр является неактивным кадром. Альтернативно, этап T300 может включать в себя решение в отношении того, следует или нет формировать сглаженное значение спектрального наклона, или следует принимать или отклонять значение спектрального наклона, согласно значению соответствующего обнаружения речевой активности. Фиг.12A иллюстрирует блок-схему последовательности операций реализации M110 способа M101, которая включает в себя такую реализацию T320 этапа T300.
Индикатор речевой активности может быть использован для того, чтобы управлять работой этапа T210 вычисления. Например, индикатор речевой активности может быть использован для того, чтобы предоставлять возможность формирования спектрального наклона для соответствующего неактивного кадра и/или исключить формирование спектрального наклона для соответствующего активного кадра. В одном таком примере процессор выполнен с возможностью управлять этапом T210 так, чтобы вычислять спектральный наклон только в том случае, если индикатор речевой активности указывает, что текущий кадр является неактивным кадром. Альтернативно, этап T210 может быть выполнен с возможностью включать в себя решение в отношении того, следует или нет формировать спектральный наклон, или может быть выполнен с возможностью управлять своим вводом (к примеру, принимать или отклонять кадр) и/или своим выводом (к примеру, следует ли выдавать значение спектрального наклона), согласно значению соответствующего индикатора речевой активности. Фиг.12B иллюстрирует блок-схему последовательности операций реализации M210 способа M200, которая включает в себя реализацию T204 этапа T202, при этом этап T204 включает в себя такую реализацию T220 этапа T210.
В качестве альтернативы приему индикатора речевой активности, способ M100 может быть реализован так, чтобы включать в себя этап T100, который выполнен с возможностью указывать, является кадр активным или неактивным. Например, этап T100 может быть выполнен с возможностью вычислять индикатор речевой активности (VAI), как описано выше. Фиг.12C иллюстрирует блок-схему последовательности операций реализации M120 способа M101, которая включает в себя этап T100, а фиг.12D иллюстрирует блок-схему последовательности операций реализации M220 способа M200, которая включает в себя этап T100. Этап T100 может быть выполнен с возможностью классифицировать кадр как активный или неактивный на основе одного или более факторов, например всеполосной энергии, низкополосной энергии, высокополосной энергии, спектральных параметров (к примеру, одного или более LSF и/или коэффициентов отражения), периодичности и частоты пересечений нулевого уровня. Например, эта классификация может включать в себя сравнение значения такой характеристики с фиксированным или адаптивным пороговым значением, и/или вычисление абсолютной величины изменения в значении такой характеристики (к примеру, абсолютной величины разности между двумя значениями или абсолютной величины разности между значением и скользящим средним) и сравнение абсолютной величины с фиксированным или адаптивным пороговым значением.
Этап T100 может быть выполнен с возможностью оценивать энергию текущего кадра в каждой из низкочастотной полосы и высокочастотной полосы и указывать, что кадр является неактивным, если энергия в каждой полосе меньше (альтернативно, не больше) соответствующего порогового значения. Данные пороговые значения могут быть фиксированными или адаптивными. Например, каждое пороговое значение может быть основано на требуемой скорости кодирования. Один пример пары адаптивных пороговых значений описан в разделе 4.7 документа C.S0014-C v.1.0, упомянутого выше. В этом примере порог для каждой полосы основан на анкерной рабочей точке (извлеченной из требуемой средней скорости передачи данных), оценке уровня фонового шума в полосе для предыдущего кадра и соотношении сигнал-шум в этой полосе для предыдущего кадра.
Переход от активной речи к неактивной речи в типичном варианте выполняется в течение периода в несколько кадров, и первые несколько неактивных кадров после перехода от активной речи могут включать в себя остатки речевого сигнала помимо фонового шума. Остатки речевого шума могут приводить к тому, что эти постпереходные неактивные кадры имеют спектральные наклоны, которые отличаются от спектральных наклонов фонового шума, и эти различия могут повреждать последовательность значений спектрального наклона, сформированную посредством этапа T200, и приводить к лишней передаче SID.
Как упоминалось выше, может быть желательным, чтобы этап T200 формировал значение последовательности x, которая основана только на неактивных кадрах. Аналогично, может быть желательным, чтобы этап T300 формировал значение сглаженной последовательности y, которая основана на одном или более значений спектрального наклона только из неактивных кадров. Также может быть желательным, чтобы реализация способа M100 исключала использование значений спектрального наклона из одного или более постпереходных кадров, чтобы обновлять контур спектрального наклона. Это ограничение может помочь снизить вероятность ошибочных положительных решений посредством этапа T500 принятия решения.
Этап T200 может быть реализован так, чтобы формировать одно или более значений из сформированной последовательности значений спектрального наклона согласно расстоянию во времени между соответствующим неактивным кадром и предшествующим активным кадром. Например, эта реализация этапа T200 или T300 может быть выполнена с возможностью задерживать или приостанавливать, для одного или более неактивных кадров, начало обновления контура спектрального наклона после перехода от активной речи. Фиг.13A и 13B иллюстрируют примеры результатов такого перехода и такой задержки или приостановки, соответственно. Фиг.13A иллюстрирует резкое изменение амплитуды сглаженного контура спектрального наклона посредством остатков речевого сигнала в постпереходных кадрах. Это изменение может приводить к нежелательному решению передачи с положительным SID. В этом конкретном примере параметр спектрального наклона - это первый коэффициент k0 отражения, так что остатки речевого сигнала вызывают резкое повышение амплитуды сглаженного контура спектрального наклона, хотя остатки речевого сигнала вместо этого могут вызывать резкое понижение амплитуды для случая, в котором используется другой параметр спектрального наклона. В качестве сравнения, фиг.13B показывает пример, в котором задержка (также называемая "последействием") применяется для того, чтобы отключить обновление сглаженного контура в течение постпереходных кадров. В этом случае резкого повышения, видимого на фиг.13A, не возникает. В одном конкретном примере последействие в пять кадров используется после перехода от активной к неактивной речи.
Фиг.14 иллюстрирует пример распечатки исходного кода для набора инструкций, которые могут быть приведены в исполнение посредством программируемой матрицы логических элементов или другого конечного автомата (к примеру, процессора) для того, чтобы осуществить реализацию способа M100, которая включает в себя реализацию T312 этапа T310, а также реализации этапов T400 и T500. В этом примере этап T312 считывает переменную FRAME_ACTIVE, которая сохраняет текущее состояние индикатора речевой активности. Если значение FRAME_ACTIVE - это TRUE, указывая то, что текущий кадр является активным, то показатель последействия сохраняется в переменной hangover_1, и набор инструкций завершается. В этом конкретном примере показатель последействия - это пять, хотя может быть использовано любое другое положительное целое значение. Когда значение FRAME_ACTIVE становится FALSE, указывая то, что текущий кадр является неактивным, то каждая последующая итерация набора инструкций уменьшает значение переменной hangover_1 и завершается раньше до тех пор, пока значение hangover_1 не достигнет нуля. В этом примере этапы T400 и T500 реализованы с помощью инструкций, как описано выше со ссылкой на фиг.8B.
Примеры способа M100 и устройства A100 включают в себя реализации, выполненные с возможностью управлять обновлением контура спектрального наклона согласно состоянию сигнала управления обновлением. Этот сигнал может быть основан на индикаторе речевой активности, как описано выше. Переменная FRAME_ACTIVE, показанная на фиг.14, является одним примером сигнала управления обновлением (в частности, сигнала деактивации обновления). Логическая схема 50 последействия может быть использована для того, чтобы вычислять сигнал управления обновлением посредством задержки перехода "активный-неактивный" в индикаторе речевой активности. Фиг.15 иллюстрирует реализацию 52 логической схемы 50 последействия, которая выполнена с возможностью формировать сигнал управления обновлением (в частности, сигнал активации обновления). На этом чертеже состояние индикатора речевой активности является низким для неактивного кадра и высоким для активного кадра, линия задержки с отводами, имеющая три элемента задержки, используется для того, чтобы реализовать последействие в три кадра, а операция логического NOR используется для того, чтобы комбинировать текущий и задержанный индикаторы речевой активности. В других примерах состояние индикатора речевой активности может быть высоким для неактивного кадра и низким для активного кадра, и в этом случае текущий и задержанный индикаторы речевой активности могут быть комбинированы с помощью операции логического AND. Что касается линии задержки с отводами, другие примеры этой схемы могут использовать любое число элементов задержки согласно требуемой длительности последействия. Альтернативно, логическая схема 50 последействия может быть реализована так, чтобы использовать показатель задержки, чтобы отсчитывать в обратном направлении (или в прямом направлении) от перехода активный-неактивный и/или вычислять сигнал деактивации обновления вместо сигнала активации обновления.
Формирователь 120 последовательностей может быть выполнен с возможностью формировать одно или более значений из сформированной последовательности значений спектрального наклона согласно расстоянию во времени между соответствующим неактивным кадром и предшествующим активным кадром. Например, формирователь 120 последовательностей или сглаживатель 130 может быть выполнен с возможностью приостанавливать начало обновления контура спектрального наклона после перехода "активный-неактивный" согласно требуемому последействию. Такая реализация формирователя 120 последовательностей или сглаживателя 130 может быть выполнена с возможностью включать в себя реализацию логической схемы 50 последействия, как описано выше. Фиг.16A иллюстрирует одну такую реализацию 134 сглаживателя 132. В этом примере модуль выбора (к примеру, мультиплексор) переключает ввод сглаживателя между текущим значением последовательности (т.е. x[n]) и предыдущим значением сглаженного контура спектрального наклона (т.е. y[n-1]) согласно состоянию сигнала управления обновлением. Альтернативно, реализация сглаживателя может быть выполнена с возможностью сохранять текущее значение x[n], когда сигнал управления обновлением является высоким, и использовать это сохраненное значение для ввода, когда сигнал управления обновлением является низким.
Фиг.16B иллюстрирует еще одну реализацию 136 сглаживателя 132, которая включает в себя реализацию логической схемы 50 последействия, как описано выше. Этот пример включает в себя два модуля выбора (к примеру, мультиплексоры), которые выполнены с возможностью выводить различные коэффициенты усиления согласно состоянию сигнала управления обновлением. Первый модуль выбора выводит коэффициент усиления, который должен быть применен к x[n]. Когда состояние сигнала управления обновлением высокое, этот модуль выбора выводит коэффициент F10 усиления, а когда состояние сигнала управления обновлением низкое, этот модуль выбора выводит коэффициент F12 усиления. Второй модуль выбора выводит коэффициент усиления, который должен быть применен к y[n-1]. Когда состояние сигнала управления обновлением высокое, этот модуль выбора выводит коэффициент F20 усиления, а когда состояние сигнала управления обновлением низкое, этот модуль выбора выводит коэффициент F22 усиления. В одном примере коэффициенты F10 и F12 усиления имеют значения 0,2 и 0, соответственно, а коэффициенты F20 и F22 усиления имеют значения 0,8 и 1,0, соответственно.
Дополнительная реализация сглаживателя 136 может быть выполнена с возможностью выбирать между более чем двумя значениями для каждого коэффициента усиления с тем, чтобы переход от приостановленного к обычному режиму работы сглаживателя выполнялся более постепенно. В случае логической схемы последействия, которая формирует двоичный сигнал управления, например, такой сглаживатель может включать в себя реализацию логической схемы 50 последействия, которая выполнена с возможностью формировать сигнал управления, имеющий более двух состояний. Такой пример логической схемы 50 последействия может быть выполнен с возможностью формировать сигнал управления обновлением, который проходит через c состояний в ответ на переход "активный-неактивный", где c - это целое число больше двух. В этом случае два модуля выбора сглаживателя 136 могут быть выполнены так, что в ответ на переход и за серию из c кадров коэффициент усиления, применяемый к x[n], проходит через c значений от минимума до максимума (к примеру, от 0,0 до 0,2), тогда как коэффициент усиления, применяемый к y[n-1], проходит через c значений от максимума до минимума (к примеру, от 1,0 до 0,8).
Показатель эффективности кодирования описывает взаимосвязь между энергией сигнала, принимаемого посредством речевого кодера (или способа речевого кодирования), и энергией соответствующей ошибки кодирования. В типичном варианте речевой кодер или способ речевого кодирования должен кодировать активные кадры более эффективно, чем неактивные кадры, так, чтобы показатель эффективности кодирования был более высоким для активных кадров, чем для неактивных кадров. Один пример показателя эффективности кодирования для кадра - это отношение начальной энергии E in сигнала (к примеру, энергии взвешенного кадра) к энергии остатка Eerr кодирования. В таких случаях энергия каждого сигнала в типичном варианте вычисляется как сумма абсолютных величин выборок. Другим общеизвестным показателем эффективности кодирования для LPC-анализа является прогнозное усиление, которое может быть вычислено как обратная дробь произведения (1-k i 2) для всех i j (альтернативно, для всех i, 1<i j), где j - это порядок LPC-анализа, а k i указывает i-й коэффициент отражения.
Степень эффективности кодирования, достигаемая посредством речевого кодера или способа речевого кодирования, зачастую варьируется от кадра к кадру по мере того, как статистика сигнала изменяется. В течение серии неактивных кадров, тем не менее, можно ожидать, что сигнал будет относительно стационарным, с тем, чтобы его статистика не варьировалась в значительной степени. Таким образом, можно ожидать, что значение Gc показателя эффективности кодирования останется относительно постоянным даже в течение перцепционно значимых изменений в фоновом шуме.
Существенное изменение значения Gc показателя эффективности кодирования может указывать, что речевой сигнал изменился вследствие фактора, отличного от изменения фонового шума. Одним фактором, который может вызывать такое изменение значения Gc , является речевая активность, которая ниже порогового значения обнаружения детектора речевой активности кодера. В этом случае существенное изменение также может возникать в значении спектрального наклона, приводя к решению передачи с положительным SID посредством этапа T500, даже если фоновый шум не изменился значительно.
Может быть желательным реализовать способ M100 так, чтобы учитывать изменения в спектральном наклоне, которые ассоциативно связаны с изменениями значения Gc показателя эффективности кодирования. Например, реализация T230 этапа T200 или реализация T330 этапа T300 может быть выполнена с возможностью активировать или деактивировать обновление контура на основе абсолютной величины варьирования значения Gc показателя эффективности кодирования.
В некоторых случаях показатель эффективности кодирования может быть вычислен в отношении ошибки кодирования, как, к примеру, в таком выражении:
Аналогично, усиление прогнозирования может быть вычислено как ошибка прогнозирования, как, к примеру, в таком выражении:
для всех i j (альтернативно, для всех 1<i j).
Показатель эффективности кодирования также может быть вычислен согласно другим выражениям, которые, к примеру, также включают в себя произведение:
для всех i j (альтернативно, для всех 1<i j),
или отношение между Ein и Eerr, в качестве множителя или члена.
Показатель эффективности кодирования может быть выражен на линейной шкале или в другой области, к примеру на логарифмической шкале. Примеры таких выражений включают в себя следующее:
Показатель эффективности кодирования в типичном варианте оценивается для каждого кадра, но также может оцениваться менее часто (к примеру, каждую секунду или третий кадр) и/или за более длительный интервал (к примеру, за пару или триплет кадров).
В типичной компоновке этап T230 или T330 выполнен с возможностью деактивировать обновление сформированного контура спектрального наклона, когда значение Gc изменяется более чем на пороговую величину (альтернативно, не менее чем на пороговую величину) от одного неактивного кадра до следующего. В одном конкретном примере этап T330 выполнен с возможностью деактивировать обновление сглаженного контура, когда значение прогнозного усиления изменяется более чем на 0,72 дБ от предыдущего неактивного кадра до текущего неактивного кадра. Реализация этапа T230 или этапа T330 может быть выполнена с возможностью применять последействие, чтобы продлевать эту деактивацию на один или более последующих кадров. Дополнительная реализация этапа T230 или этапа T330 также может быть выполнена с возможностью применять последействие после перехода от активной речи, как описано выше (к примеру, со ссылкой на фиг.13A-16B).
Может быть желательным реализовать устройство A100 так, чтобы учитывать изменения в спектральном наклоне, которые ассоциативно связаны с изменениями значения Gc показателя эффективности кодирования (как в одном из примеров, описанных выше). Например, устройство A100 может быть реализовано так, чтобы включать в себя формирователь 60 сигналов управления, выполненный с возможностью формировать сигнал управления, состояние которого основано на абсолютной величине варьирования прогнозного усиления. Фиг.17A иллюстрирует блок-схему одного примера 62 формирователя 60 сигналов управления. Формирователь 60 сигналов управления также может быть реализован так, чтобы применять последействие, как в примере формирователя 64 сигналов управления, показанного на фиг.17B. В одном конкретном примере значение порогового значения T30 равно 0,72 дБ. Реализация сглаживателя 134 или 136 может включать в себя реализацию формирователя 60 сигналов управления вместо или помимо схемы, которая выполнена с возможностью задерживать переход "активный-неактивный" в индикаторе речевой активности. Например, такая реализация может включать в себя формирователь 66 сигналов управления, показанный на фиг.18, который комбинирует операции логической схемы 62 последействия и формирователя 64 сигналов управления.
Реализация способа M100 может быть выполнена с возможностью управлять формированием индикатора передачи SID согласно изменению значения показателя эффективности кодирования. Например, реализация способа M100 может включать в себя реализацию этапа T400, которая выполнена с возможностью выводить расстояние в нуль, если значение показателя эффективности кодирования (к примеру, прогнозного усиления) увеличивается более чем на пороговую величину (альтернативно, не менее чем на пороговую величину) от одного неактивного кадра до следующего. Дополнительно или альтернативно, реализация способа M100 может включать в себя реализацию этапа T500, которая выполнена с возможностью активировать или деактивировать формирование индикатора передачи с положительным SID согласно абсолютной величине варьирования прогнозного усиления. Одна такая реализация T510 этапа T500 выполнена с возможностью деактивировать формирование индикатора передачи с положительным SID, если только прогнозное усиление не изменится менее чем (альтернативно, не более чем) на пороговое значение от предыдущего неактивного кадра до текущего активного кадра. В одном таком конкретном примере пороговое значение составляет 0,65 дБ. Управление формированием индикатора передачи может выполняться помимо или в качестве альтернативы управлению обновлением контура спектрального наклона.
Реализация устройства A100 может быть выполнена с возможностью управлять формированием индикатора передачи SID согласно изменению значения Gc показателя эффективности кодирования. Фиг.19A иллюстрирует блок-схему одного примера 72 схемы 70 управления индикатором передачи, которая выполнена с возможностью пропускать индикатор передачи с положительным SID согласно взаимосвязи между пороговым значением T40 и абсолютной величиной изменения прогнозного усиления. В одном конкретном примере значение порогового значения T40 равно 0,65 дБ. Фиг.19B иллюстрирует блок-схему реализации 156 компаратора 152, который включает в себя схему 72 управления индикатором передачи.
Реализация устройства A100 может быть выполнена с возможностью управлять формированием и сигнала управления обновлением, и индикатора передачи SID на основе изменения значения Gc показателя эффективности кодирования. Фиг.20 иллюстрирует блок-схему одного примера 82 схемы 80 управления, выполненной с возможностью осуществлять эти операции. Эта схема может быть выполнена с возможностью принимать индикатор передачи SID от компаратора 150 и предоставлять сигнал управления обновлением в сглаживатель 130. Эта схема может быть реализована в рамках сглаживателя 130 или компаратора 150. В сглаживателе 134 или 136, к примеру, схема 82 управления может быть выполнена с возможностью заменять логическую схему 52 последействия и пропускать индикатор передачи SID из компаратора 150 согласно прогнозному усилению. В другом примере схема 82 управления может быть размещена в компараторе 152, чтобы пропускать индикатор передачи SID согласно прогнозному усилению, а также предоставлять сигнал управления обновлением в сглаживатель 130.
Фиг.21 иллюстрирует один пример распечатки исходного кода для набора инструкций, которые могут быть приведены в исполнение посредством программируемой матрицы логических элементов или другого конечного автомата (к примеру, процессора) для того, чтобы осуществить реализацию способа M100, которая включает в себя реализацию T322 этапов T312 и T310, реализацию T510 этапа T500 и реализацию этапа T400. В этом примере состояние переменной FRAME_ACTIVE указывает, является текущий кадр активным или неактивным, состояние переменной Y_VALID указывает, вызван ли набор инструкций ранее (и тем самым, является ли значение, сохраненное в переменной y_current, допустимым), а значение переменной Gc указывает прогнозное усиление для текущего кадра.
Если набор инструкций решает, что значение Y_VALID равно FALSE (т.е. если набор инструкций приводится в исполнение первый раз), то переменная Gc_current инициализируется равной текущему значению переменной Gc. Абсолютная разность между текущим и предыдущим значениями Gc сохраняется в переменную Gc_diff, и если эта разность превышает пороговое значение, последействие в два кадра применяется. В части 3 флаг p задается только в том случае, если значение Gc_diff меньше порогового значения.
Конкретные примеры логических реализаций, описанных в данном документе, представлены для того, чтобы пояснить изобретение, а не ограничивать его, и специалисты в данной области техники должны легко принимать во внимание, что альтернативные логические реализации включены в область применения данного изобретения. Например, логика выбора, реализованная в одном контексте как вентиль И, выполненный с возможностью формировать активный высокий сигнал, только когда все из входных данных являются высокими, может быть реализована в другом контексте как вентиль ИЛИ, выполненный с возможностью формировать активный низкий сигнал, только когда все из входных данных являются низкими. Обратный отсчет от первого значения ко второму значению также может быть реализован как прямой отсчет от второго значения к первому значению, и наоборот. Положительный, или TRUE (истина), индикатор может быть выражен с помощью двоичного высокого значения в одном контексте и двоичного низкого значения в другом контексте. Предполагается и в силу этого раскрывается то, что эти и другие эквивалентности реализации включены в область применения настоящего изобретения.
В примерах, описанных выше, предполагается, что последовательность значений спектрального наклона включает в себя значения для каждого в серии следующих друг за другом неактивных кадров. Тем не менее, также предполагается, что способ M100 и устройство A100 могут быть реализованы таким образом, что последовательность значений спектрального наклона включает в себя несколько значений для каждого из серии следующих друг за другом неактивных кадров. Например, последовательность может включать в себя значение для каждого второго кадра (или каждого третьего кадра и т.д.) в серии. Эта последовательность может быть получена посредством игнорирования промежуточных кадров или отбрасывания значений из этих кадров либо посредством усреднения значений каждой пары (триплета и т.д.) значений. Альтернативно или дополнительно, эти принципы могут быть применены к другим последовательностям, к примеру последовательности значений показателя эффективности кодирования.
Специалисты в данной области техники должны понимать, что информация и сигналы могут быть представлены с помощью любой из множества различных технологий и методик. Например, данные, инструкции, команды, информация, сигналы, биты и символы, которые могут упоминаться по всему описанию выше, могут быть представлены напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами либо любой комбинацией вышеозначенного. Хотя сигнал, из которого сформированная последовательность значений спектрального наклона извлекается, называется "речевым сигналом", также предполагается и в силу этого раскрывается то, что этот сигнал может переносить музыку или другое неречевое информационное содержимое в ходе активных кадров.
Элементы различных реализаций устройства 100, описанных в данном документе, могут быть изготовлены как электронные и/или оптические устройства, размещающиеся, например, на одной микросхеме или на двух или более микросхемах в наборе микросхем. Одним примером такого устройства является фиксированная или программированная матрица логических элементов, таких как транзисторы или вентили. Один или более элементов различных реализаций устройства 100, описанных в данном документе, также могут быть реализованы полностью или частично как один или более наборов инструкций, выполненных с возможностью приводиться в исполнение на одной или более фиксированных или программируемых матриц логических элементов, таких как микропроцессоры, встроенные процессоры, микропроцессорные IP-ядра, процессоры цифровых сигналов, FPGA (программируемые пользователем матричные БИС), ASSP (специализированные стандартные продукты) и ASIC (специализированные интегральные схемы).
Возможно использование одного или более элементов реализации устройства 100 для того, чтобы выполнять этапы или приводить в исполнение другие наборы инструкций, которые не связаны непосредственно с работой устройства, например этап, связанный с другой операцией устройства или системы, в которую встроено устройство. Также возможно наличие в одном или более элементов реализации устройства А100 общей структуры (к примеру, процессора, используемого для того, чтобы приводить в исполнение части кода, соответствующие различным элементам в различные моменты времени, набор инструкций, приводимый в исполнение для того, чтобы выполнять этапы, соответствующие различным элементам в различные моменты времени, или компоновки электронных и/или оптических устройств, выполняющих операции для различных элементов в различные моменты времени). В одном таком примере сглаживатель 130, вычислитель 140 и компаратор 150 реализуются как набор инструкций, выполненный с возможностью приводиться в исполнение в одном процессоре. В другом таком примере формирователь 120 последовательностей или даже речевой кодер (который может включать в себя устройство A100) реализуется как один или более наборов инструкций, выполненных с возможностью приводиться в исполнение в этом процессоре.
Вышеприведенное представление описанных конфигураций предоставлено для того, чтобы дать возможность любому специалисту в данной области техники создавать или использовать способы и другие структуры, раскрытые в данном документе. Блок-схемы последовательности операций, способы и другие структуры, показанные в данном документе, являются только примерами, и другие варианты этих структур также находятся в рамках области применения настоящего изобретения. Различные модификации в этих конфигурациях допускаются, а представленные в данном документе общие принципы могут быть применены также к другим конфигурациям.
Описанные в данном документе конфигурации могут быть реализованы частично или полностью как проводная схема, как схемная конфигурация, изготовленная в специализированной интегральной схеме, либо как микропрограммное обеспечение, загруженное в энергонезависимое запоминающее устройство, либо программное приложение, загруженное с или в носитель хранения данных в качестве машиночитаемого кода, причем таким кодом являются инструкции, приводимые в исполнение посредством матрицы логических элементов, такой как микропроцессор или другой модуль обработки цифровых сигналов. Носителем хранения данных может быть матрица элементов хранения, например полупроводниковое запоминающее устройство (которое может включать в себя, без ограничений, динамическое или статическое RAM (оперативное запоминающее устройство), ROM (постоянное запоминающее устройство) и/или флэш-RAM), либо сегнетоэлектрическое, магниторезистивное, на аморфных полупроводниках, полимерное или фазосдвигающее запоминающее устройство; либо дисковый носитель, например магнитный или оптический диск. Термин "программное обеспечение" должен пониматься так, чтобы включать в себя исходный код, код языка ассемблера, машинный код, двоичный код, микропрограммное обеспечение, макрокод, микрокод, любой один или более наборов или последовательностей инструкций, приводимых в исполнение посредством матрицы логических элементов, и любая комбинация вышеозначенных примеров.
Раскрытые в данном документе способы также могут быть материально осуществлены (например, на одном или более носителей хранения данных, перечисленных выше) как один или более наборов инструкций, читаемых и/или приводимых в исполнение посредством машины, включающей в себя матрицу логических элементов (к примеру, процессор, микропроцессор, микроконтроллер или другой конечный автомат). Таким образом, настоящее изобретение не имеет намерение быть ограниченным проиллюстрированными выше конфигурациями, а наоборот, должно допускать наиболее широкую область применения, согласованную с принципами и новыми признаками, раскрытыми каким-либо образом в данном документе, в том числе в прилагаемой зарегистрированной формуле изобретения, которая составляет часть исходной заявки.
Специалисты в данной области техники дополнительно должны принимать во внимание, что различные иллюстративные логические блоки, модули, схемы и операции, описанные в связи с раскрытыми в данном документе конфигурациями, могут быть реализованы как электронные аппаратные средства, компьютерное программное обеспечение либо комбинации вышеозначенного. Эти логические блоки, модули, схемы и операции могут быть реализованы или выполнены с помощью процессора общего назначения, процессора цифровых сигналов (DSP), ASIC, FPGA либо другого программируемого логического устройства, дискретного вентиля или транзисторной логики, дискретных компонентов аппаратных средств либо любой комбинации вышеозначенного, предназначенной для того, чтобы выполнять описанные в данном документе функции. Процессором общего назначения может быть микропроцессор, но в альтернативном варианте процессором может быть любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может быть реализован как комбинация вычислительных устройств, к примеру комбинация DSP и микропроцессора, множество микропроцессоров, один или более микропроцессоров вместе с ядром DSP либо любая другая подобная конфигурация.
Этапы способов и алгоритмов, описанные в данном документе, могут быть осуществлены непосредственно в аппаратных средствах, в программном модуле, приводимом в исполнение посредством процессора, либо в комбинации вышеозначенного. Программный модуль может постоянно размещаться в оперативной памяти RAM, флэш-памяти, памяти типа ROM, памяти типа EPROM, памяти типа EEPROM, регистрах, на жестком диске, сменном диске, компакт-диске или любой другой форме носителя хранения данных, известной в данной области техники. Иллюстративный носитель хранения данных соединяется с процессором, причем процессор может считывать информацию и записывать информацию на носитель хранения данных. В альтернативном варианте носитель хранения может быть встроен в процессор. Процессор и носитель хранения данных могут постоянно размещаться в ASIC. ASIC может постоянно размещаться в пользовательском терминале. В альтернативном варианте процессор и носитель хранения данных могут постоянно размещаться как дискретные компоненты в пользовательском терминале.
Класс G10L11/02 обнаружение наличия или отсутствия сигналов речи