-
Die
vorliegende Erfindung bezieht sich auf das Gebiet der Tonerfassung
und insbesondere auf die Erfassung eines Zweiton-Mehrfrequenztones (DTMF-Tons;
DTMF = dual tone multi-frequency) in Software basierend auf Telekommunikationssystemen.
-
Moderne
Telekommunikationssysteme basieren immer stärker auf Software und benötigen üblicherweise
nur ein Minimum an physischer Hardware. Ein Großteil der notwendigen Telekommunikationsfunktionalität wird nun
durch Softwarefunktionen geliefert, die auf leistungsstarken Computerservern laufen,
wie z. B. der HP OpenCall Media Plattform (OCMP), die auf einem
HP-UX-Server läuft.
Die HP-OCMP ist z. B. in der Lage, Tausende von Telefonanrufen gleichzeitig
zu handhaben und liefert fortschrittliche Telefoniedienste. Während die
Migration hin zu Software-basierten Systemen fortschreitet, ist es
immer häufiger
erwünscht,
so viel wie möglich
von der notwendigen Funktionalität
zu haben, die durch Softwaresysteme geliefert wird. Dies bringt
Vorteile, wie z. B. die Fähigkeit,
Softwaresysteme aufzurüsten und
zu aktualisieren, ohne dazu notwendige Änderungen an der zugrunde liegenden
Hardware.
-
Viele
Funktionen jedoch, die effizient durch zweckgebundene Hardwarelösungen gehandhabt werden,
erfordern eine umfassende Rechen- und Verarbeitungsleistung, wenn
sie in Softwaresystemen ausgeführt
werden.
-
In
Softwaresystemen verwenden viele Softwarefunktionen und Aufgaben
Ressourcen, die durch eine einzelne Verarbeitungsplattform bereitgestellt werden,
gemeinschaftlich. Folglich können
Verarbeitungsfunktionen, die eine umfassende Rechen- und Prozessor-Leistung
benötigen,
eine Reduzierung des Verhaltens von anderen Funktionen und Aufgaben
verursachen, die auf derselben Plattform laufen. Dementsprechend
können schon
kleine Unterschiede bei der Gesamtverarbeitungseffizienz einen wesentlichen
Unterschied ausmachen, z. B. im Hinblick auf die Anzahl von Telefonanrufen,
die gleichzeitig durch ein Telekommunikationssystem gehandhabt werden
kann.
-
Eine
Zweiton-Mehrfrequenzerfassung (DTMF-Erfassung) ist eine allgemeine
Funktion, die von Telekommunikationssystemen benötigt wird, und ist eine solche
Funktion, die umfassende Verarbeitungsressourcen benötigt.
-
Die
Verwendung von DTMF-Tönen
hat die Anruftätigung
sowie interaktive Telekommunikationsanwendungen revolutioniert und
hat fortschrittliche Dienste ermöglicht,
wie z. B. Telefonbanking, Telefonbestelldienste, Anrufwarteeinrichtungen,
um nur einige zu nennen.
-
DTMF-Töne werden über die
Stimmschaltung eines Telefonnetzwerks übertragen und müssen genau
durch die DTMF-Decodierausrüstung erfasst und
decodiert werden. Da es keine Möglichkeit
gibt, im Voraus zu wissen, wann möglicherweise ein DTMF-Ton in
einem Stimmsignal vorhanden ist, muss dass Stimmsignal konstant
verarbeitet werden, um das Vorhandensein von DTMF-Tönen zu erfassen.
Es gibt zahlreiche zweckgebundene Hardwarelösungen zum Ausführen einer
DTMF-Erfassung, wie z. B. die integrierte Tonempfängerschaltung
Holtek HT9170, und solche Lösungen
wurden jahrelang in Verbindung mit bestehenden Hardware-basierten
Telekommunikationsplattformen verwendet.
-
Obwohl
der Betrag an Verarbeitungsressourcen, der zum Erfassen von DTMF-Tönen erforderlich ist,
nicht notwendigerweise ein Problem darstellt, wenn ein einzelnes
Offline-Signal verarbeitet
wird, wird die Verarbeitungseffizienz bei Echtzeittelekommunikationssystemen
kritisch, die Tausende von Telefonanrufen gleichzeitig handhaben.
-
Software-DTMF-Erfassungstechniken
sind bekannt, wie z. B. offenbart ist in der
US 5,694,466 an Xie u. a. In der
US 5,809,133 an Bartkowiak
u. a. ist ein DTMF-Tondetektor offenbart, der den Goertzel-Algorithmus
zum Erfassen von DTMF-Tönen
verwendet. Nur ein Teil des Goertzel-Algorithmus wird für jede der
möglichen
Tonfrequenzen ausgeführt, und
der Algorithmus wird dann nur an einer Anzahl von ausgewählten Frequenzen
fortgesetzt. Die
US 5,119,322 an
Stroobach beschreibt einen DTMF-Tondetektor, der eine erste diskrete
Fourier-Transformation (DFT; discrete Fourier transform) mit geringer Genauigkeit
an einem Eingangssignal ausführt,
um zu bestimmen, ob möglicherweise
ein DTMF-Ton in einem Eingangssignal vorhanden ist, und führt eine zweite
DFT hoher Genauigkeit aus, um das Vorhandensein des DTMF-Tons zu
verifizieren.
-
Die
vorliegende Erfindung richtet sich auf das Verbessern der Verarbeitungseffizienz,
die für die
Softwareerfassung von DTMF-Tönen
erforderlich ist.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum
Erfassen eines Zweiton-Mehrfrequenztones (DTMF-Ton) in einem Eingangssignal
geschaffen, wobei das Eingangssignal eine Mehrzahl von Rahmen aufweist,
wobei jeder Rahmen eine vorbestimmte Anzahl an Datenabtastwerten
aufweist, wobei das Verfahren ein Durchführen (406) eines Goertzel-Algorithmus
unter Verwendung all der Datenabtastwerte in einem Eingangsrahmen
aufweist, um das Vorliegen eines DTMF-Tons in diesem Rahmen zu bestimmen,
gekennzeichnet durch: vor dem Durchführen des Goertzel-Algorithmus
an einem Eingangsrahmen, Berechnen (402) des Energiepegels
unter Verwendung einer zweiten vorbestimmten Anzahl von Datenabtastwerten
in dem Eingangsrahmen; und Durchführen des Goertzel-Algorithmus
lediglich dort, wo der berechnete Energiepegel einen vorbestimmten
Pegel überschreitet
(404).
-
Vorteilhafterweise
wird der Betrag an Verarbeitungsressourcen, der zur Ausführung einer
solchen Software-basierten DTMF-Erfassung erforderlich ist, reduziert.
Eine Wirkung davon ist das Erhöhen
der Anzahl an parallelen DTMF-Erfassungsroutinen,
die ausgeführt
werden können,
und somit das Erhöhen
der Anzahl von gleichzeitigen Rufen, die auf einer einzelnen Hardwareplattform
gehandhabt werden können,
wie z. B. der HP-OCMP-Plattform.
-
Der
DTMF-Tonerfassungssprozess kann unter Verwendung des Goertzel-Algorithmus
mit einer Mehrzahl von unterschiedlichen Frequenzen ausgeführt werden,
um ein Paar von DTMF-Frequenzen
in dem Rahmen zu erfassen.
-
Wenn
ein DTMF-Ton in einem ersten Rahmen erfasst wird, wird der nächste Rahmen
vorzugsweise mit dem Goertzel-Algorithmus
lediglich unter Verwendung der Frequenzen des DTMF-Tons verarbeitet,
der in dem ersten Rahmen erfasst wurde.
-
Die
vorliegende Erfindung kann ferner dafür sorgen, dass der DTMF-Erfassungsprozess
angepasst ist, um anfänglich
das Vorhandensein eines DTMF-Tons in einer ersten Auswahl der Rahmen
zu bestimmen. Nur wenn ein DTMF-Ton in der ersten Auswahl von Rahmen
erfasst wird, dann wird das Vorhandensein eines DTMF-Tons in einer
zweiten Auswahl der Rahmen erfasst. Das Vorhandensein eines gültigen DTMF-Tons
wird dann bestätigt,
wo die Anzahl von aufeinander folgenden Rahmen, in denen bestimmt
wurde, dass ein DTMF-Ton vorhanden war, eine vorbestimmte Anzahl überschreitet.
-
Die
vorliegende Erfindung kann zusätzlich ein
Telekommunikationssystem bereitstellen, das angeordnet ist, um gemäß einem
DTMF-Erfassungsverfahren zu arbeiten, wie beschrieben wurde.
-
Gemäß einem
weiteren Aspekt wird ein Herstellungsartikel bereitgestellt, der
ein Programmspeichermedium aufweist, in dem eine computerlesbare Programmcodeeinrichtung
zum Durchführen
eines Verfahrens zum Erfassen eines Zweiton- Mehrfrequenztones (DTMF-Tons) in einem
Eingangssignal ausgeführt
ist, wobei das Eingangssignal eine Mehrzahl von Rahmen aufweist,
wobei jeder Rahmen eine vorbestimmte Anzahl von Datenabtastwerten
aufweist, wobei die computerlesbare Programmcodeeinrichtung in dem
Herstellungsartikel eine computerlesbare Programmcodeeinrichtung
zum Bewirken umfasst, dass ein Computer einen Goertzel-Algorithmus
unter Verwendung aller Datenabtastwerte in einem Rahmen durchführt, um
das Vorliegen eines DTMF-Tons in diesem Rahmen zu bestimmen, dadurch
gekennzeichnet, dass die computerlesbare Programmcodeeinrichtung
vor einem Durchführen des
Goertzel-Algorithmus
an dem Rahmen zum Berechnen eines Energiepegels unter Verwendung
einer zweiten vorbestimmten Anzahl an Datenabtastwerten in dem Rahmen
und zum Durchführen
des Goertzel-Algorithmus lediglich dort an dem Rahmen, wo der berechnete
Energiepegel einen vorbestimmten Pegel überschreitet, ausgelegt ist.
-
Die
Erfindung wird nun mit Hilfe eines nichteinschränkenden Beispiels Bezug nehmend
auf die beiliegenden Zeichnungen beschrieben, in denen:
-
1 ein
Blockdiagramm ist, das die Hauptfunktionsblöcke eines allgemeinen, auf
Software basierenden DTMF-Erfassungssystems zeigt;
-
2 ein
Flussdiagramm ist, das die Hauptfunktionsschritte ausführt, bei
denen der allgemeine DTMF-Decodierer
aus 1 gemäß einem
System auf dem Stand der Technik betrieben wird;
-
3 ein
Flussdiagramm ist, das einen allgemeinen DTMF-Erfassungsprozess
gemäß einem ersten
Ausführungsbeispiel
ausführt;
-
4 ein
Flussdiagramm ist, das einen Teil des DTMF-Erfassungsprozesses aus 3 detaillierter
zeigt;
-
5 ein
Flussdiagramm ist, das einen Teil des DTMF-Erfassungsprozesses aus 4 detaillierter
zeigt;
-
6 ein
alternatives Flussdiagramm ist, das die DTMF-Erfassung gemäß der vorliegenden Erfindung
ausführt;
und
-
7 ein
Diagramm ist, das einen Teil eines Eingangssignals zeigt, das einen
gültigen
DTMF-Ton enthält.
-
1 ist
ein Blockdiagramm, das die Hauptfunktionsblöcke eines allgemeinen, auf
Software basierenden DTMF-Erfassungssystems 100 zeigt.
Ein solches System kann z. B. auf einem Computerserver oder einer
anderen Verarbeitungsplattform implementiert sein, wie z. B. einem
HP-UX-Server. ein digitales Eingangssignal 102, das Rahmen
aus diskreten Abtastwerten aufweist, wird an einem Eingangspuffer 104 empfangen.
Die Energie des Rahmens wird durch eine Energierecheneinrichtung 106 berechnet,
deren Ausgabe einem DTMF-Erfassungsmodul 108 zugeführt wird.
Eine Ausgabe 112 liefert ein Ausgangssignal, das das Vorhandensein
und das Wesen aller erfassten, gültigen
DTMF-Töne
in dem Eingangssignal anzeigt. Die Ausgabe 112 kann verwendet
werden, um anderen Software- oder Hardware-Modulen das Vorhandensein
von erfassten, gültigen
DTMF-Tönen
zu signalisieren.
-
Wie
Fachleute auf dem Gebiet erkennen werden, ist der Goertzel-Algorithmus
ein allgemeiner DTMF-Erfassungsalgorithmus zur Verwendung beim Erfassen
von DTMF-Tönen.
Der Goertzel-Algorithmus ist ein Filter einer infiniten Impulsantwort
(IIR; infinite impulse response), das eine Rückkopplung verwendet, um ein
Bandpassfilter mit sehr hohem Q-Wert
zu erzeugen. Durch eine Analyse der Energiepegel vor und nach der
Verarbeitung kann das Vorhandensein einer gegebenen Frequenz genau bestimmt
werden. Um einen DTMF-Ton zu erfassen, ist es notwendig, den Goertzel-Algorithmus
bis zu achtmal auszuführen,
um zu bestimmen, welche Kombinationen der acht DTMF-Frequenzen in
einem Rahmen vorhanden sind. Der Goertzel-Algorithmus ist in zahlreichen
C Mathebibliotheken enthalten und ist Fachleuten auf dem Gebiet
bekannt und wird somit hierin nicht detaillierter erörtert.
-
2 ist
ein Flussdiagramm, das die Hauptfunktionsschritte ausführt, bei
denen der allgemeine DTMF-Decodierer aus 1 gemäß einem
System auf dem Stand der Technik betrieben wird. Ein Rahmen aus
Abtastwerten wird aus dem Eingangspuffer 104 entfernt,
Schritt 200, und die Gesamtenergie für den Rahmen wird berechnet,
Schritt 202. Die Ergebnisse der Energieberechnung werden
dann durch das DTMF-Erfassungsmodul 108 verwendet,
Schritt 204. Abschließend
wird das Vorhandensein eines DTMF-Tons bestimmt, Schritt 206,
unter Verwendung der Ergebnisse der Energieberechnungen und des Goertzel-Algorithmus.
-
Wie
vorangehend erwähnt
wurde, ist es nicht möglich,
im Voraus zu wissen, wann ein gültiger DTMF-Ton
in dem Eingangssignal vorhanden ist. Die auf Software basierenden
DTMF-Erfassungssysteme auf dem Stand der Technik haben daher eine DTMF-Verfassung
und somit den Goertzel-Algorithmus
an jedem einzelnen Rahmen des Eingangssignals ausgeführt. Einer
der Hauptnachteile mit solchen Systemen ist jedoch, dass der Goertzel-Algorithmus
ein komplexer Algorithmus ist, der entsprechend große Mengen
an Verarbeitungsleistung erfordert. Während eines typischen Telefonanrufs
enthält der
Großteil
der Rahmen keinen DTMF-Ton. Stattdessen, sogar wenn ein Telefonanruf
zu einem Voice-Mail-Server
getätigt
wird, wo DTMF-Töne
verwendet werden, um mit Stimm-(Voice-)Menüs und ähnlichem in Wechselwirkung
zu treten, wird ein Großteil
der Zeit damit verbracht, Stimmantworten zuzuhören, wobei nur ein geringer
Teil der Zeit verwendet wird, DTMF-Befehle zu bewirken. Daher wird der
DTMF-Erfassungsprozess und insbesondere der Goertzel- Algorithmus zum großen Teil
unnötig
ausgeführt,
und verbraucht kostbare Prozessorressourcen.
-
Ein
Ausführungsbeispiel
der Erfindung wird nun Bezug nehmend auf 3 beschrieben,
die ein allgemeines Flussdiagramm ist, das einen DTMF-Erfassungsprozess
gemäß einem
ersten Ausführungsbeispiel
ausführt,
und gemäß dem der
allgemeine DTMF-Decodierer aus 1 betrieben
werden kann.
-
Die
Charakteristika von DTMF-Tönen
sind auf dem Gebiet der Telekommunikation bekannt und sind definiert
in den ITU-T-Empfehlungen
Q.23 und Q.24. Gemäß der ITU-T
Q.24 hat ein gültiger DTMF-Ton
eine minimale Tondauer von 40 ms und einen minimal erfassbaren Leistungspegel
von –29 dBm.
Daher ist es möglich,
dass eventuell DTMF-Töne
in dem Stimmsignal vorhanden sind, die keine gültigen DTMF-Töne gemäß den ITU-T-Empfehlungen sind.
Es sollte darauf hingewiesen werden, dass eine Unterscheidung zwischen „gültigen DTMF-Tönen", wie sie durch ITU-T
Q.24 definiert sind, und „DTMF-Tönen", die erfasst wurden,
von denen jedoch nicht bestätigt
wurde oder von denen noch bestätigt
werden soll, dass sie einen gültigen
DTMF-Ton darstellen, gemacht werden muss.
-
Bei
diesem Ausführungsbeispiel
ist das Eingangsstimmsignal in Rahmen mit einer Dauer von 12,875
ms unterteilt, wobei jeder Rahmen 106 Datenabtastwerte
enthält.
Ein gültiger
DTMF-Ton ist somit für
die Dauer von zumindest drei ganzen Rahmen vorhanden. Fachleute
auf dem Gebiet werden erkennen, dass andere Rahmencharakteristika
gleichermaßen
verwendet werden könnten,
abhängig
von bestimmten Anforderungen, was zu einem gültigen DTMF-Ton führen könnte, der
eine kleinere oder größere Anzahl
von Rahmen umspannt.
-
Bezug
nehmend nun auf 3 wird ein Datenrahmen erhalten,
Schritt 300, von dem Eingangspuffer 104 des allgemeinen
DTMF-Erfassungssystems, das in 1 gezeigt
ist. Der Rahmen wird verarbeitet, Schritt 302, um zu bestimmen,
ob ein DTMF-Ton in dem Rahmen vorhanden ist.
-
Wenn
kein DTMF-Ton erfasst wird, Schritt 304, werden die nächsten Rahmendaten
zur Verarbeitung abgewartet. Wenn ein DTMF-Ton in dem Rahmen erfasst
wurde, Schritt 304, ist es dann notwendig, zu bestätigen, ob
ein gültiger
DTMF-Ton in dem Eingangssignal vorhanden ist oder nicht, Schritte 306 und 308.
Da ein gültiger
DTMF-Ton zumindest drei ganze Rahmen umspannt, kann das Vorhandensein
eines gültigen
DTMF-Tons z. B. bestätigt werden,
sobald das Vorhandensein desselben DTMF-Tons in drei aufeinander
folgenden Rahmen bestätigt
wurde. Abschließend,
wenn bestimmt wird, dass ein gültiger
DTMF-Ton vorhanden ist, kann ein Bestätigungs-Signal oder eine -Meldung z. B. zu einer
Anwendung gesendet werden, Schritt 310.
-
Schritt 302 aus 3 wird
nun detaillierter Bezug nehmend auf 4 beschrieben,
die ein Flussdiagramm ist, das den DTMF-Erfassungsprozess von Schritt 302 detaillierter
darstellt.
-
Die
Energie eines ersten Abschnitts des aktuellen Rahmens wird berechnet,
Schritt 402, z. B. durch Summieren der Quadrate jedes Abtastwerts oder
durch jede andere geeignete Technik, wie für Fachleute auf dem Gebiet
offensichtlich ist. Die berechnete Energie für den ersten Teil des Rahmens wird
verglichen, Schritt 404, mit einer vorbestimmten Schwelle,
um zu bestimmen, ob es möglich
wäre, dass
ein DTMF-Ton in dem Rahmen vorhanden ist. Wenn der berechnete Energiepegel
unter der Schwelle ist, wird bestimmt, dass es nicht möglich ist, dass
ein DTMF-Ton in dem Rahmen vorhanden ist, und der nächste Rahmen
wird wiedergewonnen, zur Verarbeitung auf die gleiche Weise. Wenn
der berechnete Energiepegel über
der Schwelle ist, zeigt dies die Möglichkeit an, dass ein DTMF-Ton
möglicherweise
in dem Rahmen vorhanden ist. In diesem Fall ist eine weitere Verarbeitung
notwendig, um das Vorhandensein eines DTMF-Tons in dem Rahmen zu bestätigen. Dies
kann z. B. durch Durchführen
des Goertzel-Algorithmus an dem Rahmen erreicht werden, Schritt 406.
-
Auf
diese Weise wird der prozessorintensive Goertzel-Algorithmus nur ausgeführt, wo
bestimmt wird, dass eine angemessene Wahrscheinlichkeit vorliegt,
dass ein DTMF-Ton in einem Rahmen vorhanden ist. Dies hat die Wirkung,
dass es den Betrag an unnötiger
Verarbeitung, die ausgeführt
wird, wesentlich reduziert, dadurch, dass der Goertzel-Algorithmus nicht
an Rahmen ausgeführt
wird, wo unwahrscheinlich ist, dass ein DTMF-Ton vorhanden ist.
-
Gemäß dem vorliegenden
Ausführungsbeispiel
enthält
der erste Teil des Rahmens 36 Abtastwerte. Da der minimal
erfassbare Leistungspegel eines DTMF-Tons gemäß ITU-T Q.24 gegeben ist als –24 dBm,
kann angenommen werden, dass die vorbestimmte Schwelle ungefähr 36/106-tel
dieses Pegels ist. Fachleute auf dem Gebiet werden erkennen, dass
Abweichungen dieser Werte ebenfalls verwendet werden können, z.
B. abhängig
von der Anzahl von Abtastwerten in einem Rahmen.
-
Bei
dem vorliegenden Ausführungsbeispiel wird
die Dauer eines DTMF-Tons in jedem Rahmen nicht bestimmt; es ist
ausreichend, nur das Vorhandensein eines DTMF-Tons zu erfassen,
sogar wenn der DTMF-Ton eine Dauer von weniger als der Länge eines
Rahmens aufweist. In der Praxis, aufgrund der Tatsache, dass ein
Großteil
der DTMF-Erzeugungs-Ausrüstung den
ITU-Standards entspricht, kann angenommen werden, dass übertragene DTMF-Töne diesen
Standards entsprechen. Die Kombination der Energieberechnung und
des Goertzel-Algorithmus stellt sicher, dass eine falsche Erfassung
von fehlerhaften DTMF-Tönen
minimiert wird.
-
Schritt 406 aus 4 wird
nun detaillierter Bezug nehmend auf 5 beschrieben.
-
Wie
vorangehend erwähnt
wurde, muss ein gültiger
DTMF-Ton zumindest drei ganze Rahmen umspannen. Daher, wenn bestimmt
wird, dass ein Rahmen einen DTMF-Ton enthält, ist es wahrscheinlich,
dass der nachfolgende Rahmen ebenfalls denselben DTMF-Ton enthält. Durch
diese Realisierung ist es möglich,
die Verarbeitungsanforderungen zum Erfassen gültiger DTMF-Töne weiter
zu reduzieren.
-
Wenn
bestimmt wird, dass ein DTMF-Ton in einem Rahmen vorhanden ist,
dann muss, wenn eine DTMF-Erfassung an dem nächsten Rahmen ausgeführt wird,
der Goertzel-Algorithmus nur unter Verwendung derselben Frequenzen
ausgeführt
werden, die verwendet wurden, um den DTMF-Ton in dem vorangehenden
Rahmen zu erfassen. Wenn derselbe DTMF-Ton erfasst wird wie bei
dem vorangehenden Rahmen, wäre
der Goertzel-Algorithmus
unter Verwendung einer minimalen Verarbeitungsressourcenmenge ausgeführt worden,
im Vergleich zur Verwendung des gesamten Goertzel-Algorithmus. Wenn
die Verarbeitung des nachfolgenden Rahmens nicht zu der Erfassung
desselben DTMF-Tons führt
wie bei dem vorangehenden Rahmen benötigt der Rahmen keine weitere
Verarbeitung mehr. Dies liegt an dem minimalen Zwischenraum, der
zwischen unterschiedlichen DTMF-Tönen vorliegen muss.
-
Bezug
nehmend wiederum auf 5 wird, bevor der Goertzel-Algorithmus an einem
Rahmen ausgeführt
wird, der vorherige Rahmen überprüft, um zu
sehen, ob er einen DTMF-Ton enthielt, Schritt 502. Wenn
nicht, wird der volle Goertzel-Algorithmus
an dem aktuellen Rahmen ausgeführt,
Schritt 506, um zu erfassen, ob ein DTMF-Ton vorhanden
ist. Wenn jedoch erfasst wurde, dass ein DTMF-Ton in dem vorherigen
Rahmen vorhanden war, wird der Goertzel-Algorithmus an dem aktuellen
Rahmen ausgeführt,
nur unter Verwendung desselben Frequenzpaars, das verwendet wurde,
um den DTMF-Ton in dem vorangehenden Rahmen zu erfassen, Schritt 504.
Wenn derselbe DTMF-Ton erfasst wird wie bei dem vorangehenden Rahmen,
können
diese Informationen verwendet werden, bei Schritt 306,
um zu bestimmen, ob ein gültiger
DTMF-Ton vorhanden ist, wie oben beschrieben wurde. Wenn nicht derselbe DTMF-Ton erfasst wird,
wird der Rahmen nicht weiter verarbeitet, da es nicht möglich ist,
dass ein gültiger DTMF-Ton
in dem Rahmen vorhanden ist, aufgrund der oben erwähnten Minimalzwischenraumanforderungen,
und der Prozess kehrt zu Schritt 300 zurück. Diese
Technik kann eine Einsparung bei der Berechnung von bis zu 75% ergeben.
-
Weitere
Verarbeitungseffizienzverbesserungen können an dem Betrag der Verarbeitung
ausgeführt
werden, der zum Erfassen eines gültigen DTMF-Tons
erforderlich ist, dadurch, dass anfänglich nur eine Auswahl der
Eingangsrahmen verarbeitet wird.
-
Wie
vorangehend erwähnt
wurde, muss ein gültiger
DTMF-Ton zumindest drei Rahmen umspannen. Es wurde daher erkannt,
dass es anfänglich nicht
notwendig oder nicht effizient ist, eine DTMF-Erfassung an jedem
eingehenden Rahmen auszuführen.
Effizienzgewinne können
dadurch erreicht werden, dass anfänglich nur jeder dritte eingehende
Rahmen verarbeitet wird, wie nachfolgend Bezug nehmend auf 6 und 7 beschrieben
wird. 6 ist ein Flussdiagramm, das eine Alternative
zu dem Flussdiagramm zeigt, das in 3 gezeigt
ist, und 7 ist ein Diagramm, das einen
Teil eines Eingangssignals zeigt, das einen gültigen DTMF-Ton enthält.
-
Ein
Rahmen n wird aus einem Puffer entfernt, Schritt 600, und
wird gespeichert, Schritt 602, in einem temporären Speicher.
Zum Zweck der Erklärung
sei angenommen, dass n = 4. Vorzugsweise sind die Rahmen in einem
Ringpuffer gespeichert, der in der Lage ist, drei Rahmen gleichzeitig
zu speichern, und bei dem neuere Rahmen ältere Rahmen auf zyklische
Weise ersetzen.
-
Bei
Schritt 604 wird der Status von Rahmen n – 1, d.
h. Rahmen 3, geprüft,
unter Verwendung des oben beschriebenen DTMF-Erfassungsprozesses, um
zu sehen, ob er einen DTMF-Ton enthielt. Die Status von kürzlich verarbeiteten
Rahmen sind ebenfalls in dem Speicher gespeichert. Bei einem normalen
Betrieb, wie nachfolgend offensichtlich wird, wäre Rahmen 3 bereits verarbeitet
worden, um einen DTMF-Ton zu erfassen, und sein Status ist daher
bekannt. In diesem Fall enthält
Rahmen n – 1
keinen DTMF-Ton. Der nächste
Schritt, Schritt 606, ist das Bestimmen, ob die Zahl des
aktuellen Rahmens ein Mehrfaches von 3 ist. Dies stellt sicher,
dass anfänglich
nur jeder dritte Rahmen verarbeitet wird. Da ein gültiger DTMF-Ton
zumindest drei Rahmen umspannen muss, ist es anfänglich nicht notwendig, jeden Rahmen
zu verarbeiten. Sobald ein DTMF-Ton erfasst wird, ist jedoch eine
weitere Untersuchung notwendig, bevor eine Bestätigung eines Vorhandenseins
eines gültigen
DTMF-Tons gegeben werden kann.
-
Da
dies nicht der Fall ist, wird der Status der Rahmen n – 2, n – 3 und
n – 4,
d. h. der Rahmen 2, 1 und 0 geprüft,
Schritt 622, um zu sehen, ob vorangehend ein DTMF-Ton erfasst
wurde. Der Grund für
das Prüfen
dieser Rahmen ist das Sicherstellen, dass ein gültiger DTMF-Ton gültig erfasst
wird, wie nachfolgend deutlich wird. In diesem Fall wurde kein DTMF erfasst,
Schritt 622, und der nächste
Rahmen wird zum Verarbeiten vorbereitet, Schritte 624, 600 und 602.
Dieselben Schritte werden für
n = 5 unternommen.
-
Wenn
n = 6, kommt der Prozess bei Schritt 606 an, wo bestimmt
wird, dass Rahmen 6 einer von „jeder
dritter Rahmen" ist.
Dementsprechend wird der oben beschriebene DTMF-Erfassungsprozess an Rahmen 6 ausgeführt, Schritt 608,
der bestimmt, dass kein DTMF-Ton in Rahmen 6 erfasst wurde.
-
Der
Prozess fährt
mit Rahmen 7 und 8 wie oben beschrieben fort.
-
Wenn
n = 9, fährt
der Prozess mit Schritt 606 auf die oben beschriebene Weise
fort. Da Rahmen 9 einer von „jeder
dritter" Rahmen
ist, Schritt 606, wird der oben beschriebene DTMF-Erfassungsprozess, Schritt 608,
an Rahmen 9 ausge führt.
Da Rahmen 9 einen DTMF-Ton enthält,
Schritt 610, wird nachfolgend ein DTMF-Erfassungsprozess,
Schritt 612, an dem Rahmen n – 1 ausgeführt, d. h. Rahmen 8. Da Rahmen
8 einen DTMF-Ton enthält,
Schritt 614, wird der oben beschriebene DTMF-Erfassungsprozess
an Rahmen n – 2
ausgeführt,
d. h. Rahmen 7, Schritt 616.
-
Bei
Schritt 622 wird eine Entscheidung getroffen, um zu bestimmen,
ob ein gültiger
DTMF-Ton erfasst wurde. Dies wird erreicht durch Prüfen, um
zu sehen, ob DTMF-Töne
an den Rahmen n – 2,
n – 3 und
n – 4
erfasst wurden, anders ausgedrückt,
ob DTMF-Töne
in Rahmen 7, 6 und 5 vorhanden waren. In diesem Fall ist die Entscheidung
negativ und der nächste
Rahmen wird verarbeitet, wo n = 10.
-
Bei
Schritt 604 wird bestimmt, ob Rahmen n – 1, d. h. Rahmen 9, einen
DTMF-Ton enthielt, was er tat. Der DTMF-Erfassungsprozess wird dann an Rahmen
10 ausgeführt,
bevor das Vorhandensein eines gültigen
DTMF-Tons bei Schritt 622 geprüft wird. In diesem Fall enthielt
Rahmen n – 2,
d. h. Rahmen 8, einen DTMF-Ton, sowie auch Rahmen n – 3, d.
h. Rahmen 7. Rahmen n – 4,
d. h. Rahmen 6, enthielt jedoch keinen DTMF-Ton, daher ist das Ergebnis weiterhin
negativ.
-
Der
Prozess fährt
mit n = 11 fort. Bei Schritt 604 wird bestimmt, ob Rahmen
n – 1,
d. h. Rahmen 10, einen DTMF-Ton enthielt, was er nicht tat. Das
Ergebnis von Schritt 606 ist ebenfalls negativ. Wiederum
wird das Vorhandensein eines gültigen DTMF-Tons
bei Schritt 622 bestimmt, durch Prüfen, ob ein DTMF-Ton in Rahmen
n – 2,
n – 3
und n – 4 vorhanden
war. In diesem Fall enthielten die Rahmen 9, 8 und 7 DTMF-Töne, und
es wird daher bestimmt, dass ein gültiger DTMF-Ton erfasst wurde.
Folglich kann ein DTMF-Startereignis
oder eine ähnliche
Benachrichtigung ausgegeben werden, Schritt 626.
-
Der
Grund für
die Verzögerung
der Bestätigung
des Vorhandenseins eines DTMF-Tons ist sicherzustellen, dass die Verarbeitung
der notwendigen Rahmen vor der Ausgabe eines DTMF-Startereignisses
ausgeführt
wurde.
-
Wie
vorangehend erwähnt
wurde, wird es nicht als notwendig erachtet, die Dauer jedes erfassten
DTMF-Tons zu bestätigen.
Bei dem Beispiel, das in 7 gezeigt ist, ist ein gültiger DTMF-Ton
gezeigt, der drei ganze Rahmen umspannt. Solange ein DTMF-Ton in
drei aufeinander folgenden Rahmen erfasst wird, wird ein gültiger DTMF-Ton
erfasst. Dementsprechend würde
ein gültiger
DTMF-Ton ebenfalls (fälschlich)
erfasst werden, wenn ein DTMF-Ton z. B. nur für die ersten zwei Drittel von
drei aufeinander folgenden Rahmen vorhanden wäre. Gemäß den ITU-Standards ist solch
ein Vorkommen kein gültiger DTMF-Ton.
Der Einfachheit der Implementierung halber und da das natürliche Vorkommen
eines solchen Ereignisses unwahrscheinlich ist, würde die
vorliegende Erfindung ein solches Ereignis trotzdem als einen gültigen DTMF-Ton
erfassen.
-
Obwohl
die obige Beschreibung Bezug nehmend auf Verfahren zum Ausführen einer
DTMF-Erfassung beschrieben wurde, sollte darauf hingewiesen werden,
dass eine Möglichkeit,
wie solche Verfahren bereitgestellt werden können, in der Form eines Herstellungsartikels
ist, der ein Programmspeichermedium mit einem computerlesbaren Programmcode
z. B. zur Verwendung auf Allzweckrechensystemen aufweist.
-
Fachleute
auf dem Gebiet werden erkennen, dass die beiliegenden Flussdiagramme
reine Beispiele sind, und dass Änderungen
an den Flussdiagrammen und an zugeordneten Verfahren ausgeführt werden
können,
ohne von dem gesamten erfindungsgemäßen Wesen der hierin beschriebenen Ausführungsbeispiele
abzuweichen. Es wird z. B. darauf hingewiesen, dass in 6 Änderungen durchgeführt werden
könnten,
um ein DTMF-Startereignis
mit einer geringeren Rahmenverzögerung auszugeben,
abhängig
von den Anforderungen.