DE60038251T2 - Sprach-durchgangsvorrichtung mit sprachsynchronisierung in abwärtsrichtung - Google Patents

Sprach-durchgangsvorrichtung mit sprachsynchronisierung in abwärtsrichtung Download PDF

Info

Publication number
DE60038251T2
DE60038251T2 DE60038251T DE60038251T DE60038251T2 DE 60038251 T2 DE60038251 T2 DE 60038251T2 DE 60038251 T DE60038251 T DE 60038251T DE 60038251 T DE60038251 T DE 60038251T DE 60038251 T2 DE60038251 T2 DE 60038251T2
Authority
DE
Germany
Prior art keywords
data
voice
packet
network
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60038251T
Other languages
English (en)
Other versions
DE60038251D1 (de
Inventor
Theodore F. Irvine RABENKO
David Irvine HARTMAN
James C. Irvine THI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Broadcom Corp
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of DE60038251D1 publication Critical patent/DE60038251D1/de
Publication of DE60038251T2 publication Critical patent/DE60038251T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • H04B3/234Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers using double talk detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/002Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
    • H04L7/0029Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of received data signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/12Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
    • H04M7/1205Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
    • H04M7/125Details of gateway equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft allgemein Telekommunikationssysteme und insbesondere ein System zum Bilden einer Schnittstelle zwischen Telefonievorrichtungen und mit DOCSIS kompatiblen Netzwerken.
  • HINTERGRUND
  • Herkömmliche Einwahlmodems stellen Online-Zugriff mit bis zu 56 Kbps (entspricht 56.000 Bit pro Sekunde) über das öffentliche Telefonnetz bereit. Ein Kabelmodem andererseits stellt den Nutzern Hochgeschwindigkeitszugriff auf das Internet über ein Kabelfernsehnetz bereit. Ein Kabelmodem ist in der Lage, Datenübertragungsgeschwindigkeiten bis zu 56 Mbps bereitzustellen und ist somit für den Hochgeschwindigkeitszugriff auf das Internet, digitales Fernsehen (wie beispielsweise Bezahlfernsehen mit Einzelabruf) und digitale Telefonie geeignet.
  • Ein häufiges Problem von Modems besteht darin, dass ankommende Datenpakete von einem ersten Taktgeber abgetastet werden und in einem System, das einen anderen, zweiten Taktgeber verwendet, weiterverarbeitet werden sollen. Diverse herkömmliche Verfahren und Vorrichtungen betreffen die Synchronisation der Verarbeitung.
  • Die Patentschrift US 5,790,538 beschreibt ein System zur Sprachdaten-Playout-Abwicklung in einem nicht synchronisierten Paketnetzwerk zur Verwendung mit isochroner und asynchroner Datenübertragung in einem Kommunikationsnetzwerk. In einer Empfangseinheit werden ankommende Datenpakete in einer FIFO-Vorrichtung gespeichert, wobei der Füllstatus des FIFO überwacht wird, um den Taktgeber eines Resamplers anzupassen, um einen Unter- oder Überlauf des FIFO zu verhindern.
  • Die Patentschrift WO 99/35876 offenbart die Verwendung eines Abtastraten-Konverters (SRC), der einen ersten digitalen Datenstrom mit einer ersten Abtastrate empfängt, den Datenstrom an einen Puffer ausgibt und die Daten aus dem Puffer als zweiten digitalen Datenstrom mit einer zweiten Abtastrate ausgibt. Die Abtastrate des Abtastraten-Konverters wird in Abhängigkeit von dem Füllstatus des Puffers geregelt, um zur Handhabung der Differenz zwischen der ersten und der zweiten Abtastrate zusätzliche oder weniger Überabtastungen für einen gegebenen Rahmen zu generieren.
  • Die Patentschrift WO 99/59279 beschreibt außerdem ein System, das einen Puffer zum Puffern ankommender Daten beschreibt, wobei der Füllstatus des Puffers überwacht wird, um Signale zu generieren, die auf eine Unterlauf- oder Überlaufbedingung des Puffers hinweisen, um Verzerrungen auf Grund von Differenzen bei den Datenübertragungsgeschwindigkeiten zu verringern. Diese Signale steuern andere Teile des beschriebenen Systems, um von dem Puffer empfangene Abtastrahmen zu verlängern oder zu verkürzen, indem ein regelbares Interpolationsfilter und eine Steuereinheit zum Erhöhen oder Verringern der Abtastrate pro Rahmen verwendet werden.
  • Bei den vorgenannten Lösungen wird der Füllstatus eines Puffers zum Anpassen der Überabtastung überwacht. Um Nachteile im Zusammenhang mit der Überwachung eines Puffers zu überwinden, besteht Bedarf ein einem neuen Verfahren und einer entsprechenden Vorrichtung zum Synchronisieren der Verarbeitung von Datenrahmen zwischen einem ersten Taktgeber und einem zweiten Taktgeber.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Bei einem Aspekt der vorliegenden Erfindung wird ein Verfahren zum Synchronisieren von von einem ersten Taktgeber abgetasteten Daten mit einem zweiten Taktgeber in einer Sprachsynchronisiereinheit bereitgestellt, wobei bei diesem Verfahren jedes Mal ein Zähler inkrementiert wird, wenn ein neuer Sprachdatenrahmen ankommt, und die Differenz zwischen der Anzahl ankommender Sprachdatenrahmen und einem Referenztaktgeber als Signal zum erneuten Abtasten der Sprachdatenrahmen mittels eines Abtastraten-Trackers verwendet wird.
  • Bei einem anderen Ausführungsbeispiel der vorliegenden Erfindung wird ein Netzwerk-Gateway zur Verwendung in einer Sprachsynchronisiereinheit beansprucht. Das Netzwerk-Gateway ist dadurch gekennzeichnet, dass es einen an einen Netzwerk-Port angeschlossenen Zähler und einen Referenztaktgeber umfasst, wobei der Zähler inkrementiert wird, wenn ein neuer Sprachdatenrahmen aus dem paketgestützten Netzwerk empfangen wird, und die Differenz zwischen der Anzahl von ankommenden Sprachdatenrahmen und dem Referenztaktgeber erkennen kann. Der Zähler ist mit einem Abtastraten-Tracker verbunden und stellt die erkannte Differenz bereit. Diese Differenz ermöglicht es dem Abtastraten-Tracker in dem Netzwerk-Gateway, die ankommenden Sprachdatenrahmen mit dem Takt des Referenztaktgebers erneut abzutasten.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und weitere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung, den angehängten Ansprüchen und den beigefügten Zeichnungen noch besser verständlich. Es zeigen:
  • 1 ein schematisches Diagramm eines HFC-Netzwerks (hybrides Glasfaser-Koaxialnetzwerk), das typische Pfade für die Datenübertragung zwischen der Kopfstelle (die das Cable Modem Termination System enthält) und einer Vielzahl von Haushalten (von denen jeder ein Kabelmodem besitzt) zeigt;
  • 2 ein vereinfachtes Blockdiagramm eines in ein Kabelmodemsystem integrierten Netzwerk-Gateways, wobei das Netzwerk-Gateway eine Schnittstelle zu einer Vielzahl von paketgestützten und schaltungsvermittelten Systemen mit einem als Leitungskarte definierten und an der Kopfstelle angeordneten CMTS (Cable Modem Termination System) bildet;
  • 3 ein Systemblockdiagramm eines beispielhaften Netzwerk-Gateways gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 eine grafische Abbildung der Verkettungsbetriebsart der DMA-Steuereinheit (Direct Memory Access Controller) des Systems gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 5 ein Systemblockdiagramm eines nachgeschalteten DOCSIS-Demodulators gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 ein Systemblockdiagramm eines vorgeschalteten DOCSIS-Demodulators gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 7 ein Systemblockdiagramm eines DOCSIS-MAC (Media Access Controller) gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 8 ein Systemblockdiagramm eines Ethernet-Transceivers zum Bilden einer Schnittstelle zwischen dem Netzwerk-Gateway und Ethernet-Vorrichtungen gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 9 ein Systemblockdiagramm eines Ethernet-MAC (Media Access Controller) gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 10 ein Systemblockdiagramm einer USB-Steuereinheit (Universal Serial Bus) gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 10A ein Systemblockdiagramm eines MAC für eine USB-Steuereinheit;
  • 11 ein Blockdiagramm eines analogen Eingangsabschnitts zum Bilden einer Schnittstelle zwischen dem Analogprozessor und einer externen Teilnehmerleitungs-Schnittstellenschaltung (SLIC) gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 11A ein Blockdiagramm einer externen Schnittstelle zwischen dem analogen Eingangsabschnitt und der Teilnehmerleitungs-Schnittstellenschaltung (SLIC) gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 12 ein Blockdiagramm des Audio-Prozessors, der über den analogen Eingangsabschnitt eine Schnittstelle zwischen dem Sprach- und dem Datenprozessor und externen Teilnehmerleitungs-Schnittstellenschaltungen (SLICs) bildet, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 13 ein Blockdiagramm eines Rufgenerators, der synthetisch eine Referenz-Wellenform herstellt, die von externen Teilnehmerleitungs-Schnittstellenschal tungen (SLICs) genutzt wird, um Telefonievorrichtungen gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zu rufen;
  • 14 ein Systemblockdiagramm eines Netzwerk-Gateways zum Bilden einer Schnittstelle zwischen einem HFC-Netzwerk (hybrides Glasfaser-Koaxialnetzwerk) und einem schaltungsvermittelten Netzwerk und einem paketgestützten Netzwerk gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 14A ein Blockdiagramm eines Taktrückgewinnungssystems zum Synchronisieren des Taktgebers der Taktrückgewinnungsschaltung des Netzwerk-Gateways mit dem CMTS-Taktgeber gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 15 ein Blockdiagramm eines Netzwerk-Gateways, das eine Sprachsynchronisiereinheit zum Synchronisieren von Sprachdatensignalen zwischen Telefonievorrichtungen auf der lokalen Seite und an der Gegenstelle eines HFC-Netzwerks gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung umfasst;
  • 16 eine grafische Abbildung einer partiellen Interpolation und Dezimierung eines digitalisierten, analogen Sprachsignals gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 17 ein allgemeines Blockdiagramm einer Sprachsynchronisiereinheit, die ein Fehlersignal generiert, das dazu verwendet wird, das Eingangssprachsignal mehrphasig erneut abzutasten, um das Signal der lokalen Seite mit dem Signal der Gegenstelle gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zu synchronisieren;
  • 17A ein Blockdiagramm von Taktteilerschaltungen zum Generieren diverser Takte zur Verwendung innerhalb des Netzwerk-Gateways gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 17B ein Zeitsteuerungsdiagramm, das den Offset in der Anzahl von Eingangs- und Ausgangsabtastungen bei einer Pufferüberlaufbedingung veranschaulicht;
  • 17C eine grafische Veranschaulichung der zwischen Datenpunkten in dem Datenpuffer und den Tiefpassfilterkoeffizienten erforderlichen Nullpuffer-Auffüllung, die, wenn sie auf die in dem Puffer gespeicherten Abtastungen angewendet wird, das erneut abgetastete Signal liefert;
  • 17D eine grafische Veranschaulichung der erneuten Erzeugung der gewünschten, erneut abgetasteten Ausgabe mit einer verringerten Anzahl von Filterkoeffizienten;
  • 18 eine Sprachsynchronisiereinheit für die Upstream-Richtung, wobei der TRC-Taktgeber einen Zähler antreibt, der von einem Hochfrequenz-ADW-Taktgeber getaktet wird, und wobei das ankommende Sprachsignal gemäß dem Verhältnis der Zählerausgabe, dividiert durch das Verhältnis des hochfrequenten ADW-Taktgebers und des TRC-Taktgebers, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung erneut abgetastet wird;
  • 18A ein Blockdiagramm eines Einpol-Tiefpassfilters, das zum Glätten oder Mitteln der Differenzen zwischen Abtastraten gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung verwendet wird;
  • 18B eine Sprachsynchronisiereinheit für die Downstream-Richtung, wobei ein Rahmeneingangs-Taktgeber einen Zähler ansteuert, der von einem hoch frequenten DAW-Taktgeber so getaktet wird, dass das ankommende Sprachsignal gemäß dem Verhältnis der Zählerausgabe, dividiert durch das Verhältnis des Hochfrequenz-DAW-Taktgebers und des Rahmeneingangs-Taktgebers, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung erneut abgetastet wird;
  • 18C ein Ablaufdiagramm, das den Betrieb einer alternativen Sprachsynchronisiereinheit gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 18D eine Sprachsynchronisiereinheit für die Downstream-Richtung, wobei der TRC-Taktgeber zwei Zähler ansteuert, von denen einer gemäß einem Paketeingangs-Flag und der andere gemäß einem Steuer-Flag für vollständige Pakete zwischengespeichert wird, und wobei das ankommende Sprachsignal gemäß dem Verhältnis der Ausgabe des Paketeingangszählers, dividiert durch die Ausgabe des Zählers für vollständige Pakete, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung erneut abgetastet wird;
  • 19 ein Blockdiagramm eines Echounterdrückers, der Energieschätzungen nutzt, um Sprache auf der lokalen Seite bei Vorhandensein von Sprache an der Gegenstelle zu erkennen, um die Anpassung eines adaptiven Filters gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zu steuern;
  • 20 ein Blockdiagram eines Echounterdrückers, der in der Regel mit herkömmlichen Echounterdrückern verbundene Verzögerungen bei der Erkennung von Sprache auf der lokalen Seite vermeidet und die mit einem Dezimator und einem Hochpassfilter verbundene Verzögerung nutzt, um eine Look-Ahead-Funktionalität bereitzustellen, so dass die Filteranpassung in dem Vorfeld des Eingangs von Sprache auf der lokalen Seite gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung deaktiviert werden kann;
  • 20A ein Blockdiagramm eines Echounterdrückers, der einen Verzögerungspuffer nutzt, um eine Look-Ahead-Funktionalität bereitzustellen, so dass die Filteranpassung in dem Vorfeld des Eintreffens von Sprache auf der lokalen Seite gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung deaktiviert werden kann;
  • 21 ein Blockdiagramm eines Verfahrens zum Verringen des Amplitudenpegels von Sprache auf der lokalen Seite vor der Erkennung von Gegensprechen gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 22 ein Blockdiagramm eines mit einer Software für einen programmierbaren digitalen Signalprozessor (DSP) implementierten Signalverarbeitungssystems zum Bilden einer Schnittstelle zwischen Telefonievorrichtungen und paketgestützten Netzwerken gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 23 ein Blockdiagramm der MTA-Architektur zum Bilden einer Schnittstelle zwischen dem Sprachprozessor-DSP und dem MIPS-Kernprozessor des Netzwerk-Gateways gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 24 ein Blockdiagramm der Architektur für die Steuerungsprotokoll-Logik des Gateways, die eine Schnittstelle mit einem externen Steuerungselement bildet, das Call Agent oder Call Management Server (CMS) genannt wird, um die Anrufsignalisierung von und zu dem Sprach- und Datenprozessor in Übereinstimmung mit der netzwerkgestützten Rufsignalisierungs-(NCS)-Protokollspezifikation gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zu beenden und zu generieren;
  • 25 ein Blockdiagramm eines Verfahrens zum Umsetzen zwischen Echtzeit-Protokollpaketen, die von der Austauschspezifikation PacketCable gefordert werden, und dem von dem Sprach- und Datenprozessor genutzten Paketformat xChange und umgekehrt gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 26 ein Blockdiagramm einer Software-Nachrichtenübermittlungsschnittstelle zwischen dem Host-DSP und der Sprach- und Datenverarbeitungs-Software gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 27 ein Blockdiagramm einer mit einem Kanal verbundenen Signalisierungsdienstlogik zum Austauschen von Befehlen und Ereignissen zwischen dem Host-MTA-Anruf-Client und handelsüblichen, analogen Standard-Vorrichtungen zur Loop/Ground-Signalisierung, wie beispielsweise einfachen, analogen Telefonapparaten, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 28 ein Blockdiagramm der Software-Architektur, die gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung auf der DSP-Plattform von 22 funktioniert;
  • 29 ein Zustandsautomatendiagramm der Betriebsarten eines virtuellen Gerätetreibers für paketgestützte Netzwerkanwendungen gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 30 ein Systemblockdiagramm eines Signalverarbeitungssystems, das in einem Sprachmodus gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung funktioniert;
  • 31 ein Systemblockdiagramm eines Signalverarbeitungssystems, das in einem Echtzeit-Faxweitergabemodus gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung funktioniert; und
  • 32 ein Systemblockdiagramm eines Signalverarbeitungssystems, das in einem Modemweitergabemodus gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung funktioniert.
  • DETAILLIERTE BESCHREIBUNG
  • Bei einem beispielhaften Ausführungsbeispiel eines Kabelmodemsystems befindet sich eine Kopfstelle oder ein CMTS (Cable Modem Termination System) in einer Einrichtung eines Kabelunternehmens und arbeitet als Modem, das eine große Anzahl von Teilnehmern versorgt. Jeder Teilnehmer verfügt über ein Kabelmodem (CM). Somit muss das CMTS in der Lage sein, die bidirektionale Kommunikation mit jedem beliebigen der Vielzahl von Kabelmodems zu erleichtern.
  • Wie in diesem Dokument verwendet, ist das CMTS (Cable Modem Termination System) so definiert, dass es denjenigen Teil einer Kopfstelle umfasst, der die Kommunikation mit einer Anzahl von Kabelmodems erleichtert. Ein typisches CMTS umfasst einen Burst-Empfänger, einen Dauersender und eine MAC (Medium Access Control).
  • Das CMTS kommuniziert mit den Kabelmodems über ein HFC-Netzwerk (hybrides Glasfaser-Koaxialnetzwerk), wobei Glasfaser die Kommunikation zu einer Anzahl von Glasfaserknoten bereitstellt und jeder Glasfaserknoten annähernd 500 bis 2.000 Teilnehmer versorgt, die mit dem Knoten über Koaxialkabel kommunizieren. Die Teilnehmer kommunizieren mit dem Faserknoten über ein allgemeines bzw. gemeinsam benutztes Koaxialkabel.
  • Das HFC-Netzwerk eines Kabelmodems nutzt eine Punkt-zu-Multipunkt-Topologie, um die Kommunikation zwischen dem CMTS und den Kabelmodems zu erleichtern. FDMA (Frequency Domain Multiple Access)/TDM (Time Division Multiplexing) wird verwendet, um die Kommunikation von dem CMTS zu jedem der Kabelmodems, das heißt in Downstream-Richtung, zu erleichtern. FDMA (Frequency Domain Multiple Access)/TDMA (Time Domain Multiple Access) wird verwendet, um die Kommunikation von jedem Kabelmodem zu dem CMTS, das heißt in Upstream-Richtung, zu erleichtern.
  • Das CMTS umfasst einen Downstream-Modulator zum Erleichtern des Übertragens der Datenübermittlungen an die Kabelmodems und einen Upstream-Demodulator zum Erleichtern des Empfangs der Datenübermittlungen von den Kabelmodems.
  • Der Downstream-Modulator des CMTS nutzt im Allgemeinen entweder die 64-QAM-Technik oder die 256-QAM-Technik in einen Frequenzband von 54 MHz bis 860 MHz, um eine Datenübertragungsgeschwindigkeit von bis zu 56 Mbps bereitzustellen. Da der Upstream-Kanal eine sehr viel niedrigere Anforderung an die Datenübertragungsgeschwindigkeit hat, kann der Upstream-Demodulator entweder die QPSK-Technik oder die 16-QAM-Technik in einem Frequenzbereich von 5 MHz bis 42 MHz nutzen, um eine Datenübertragungsgeschwindigkeit von bis zu 10 Mbps bereitzustellen.
  • Auf ähnliche Weise umfasst jedes Kabelmodem einen Upstream-Modulator zum Erleichtern des Sendens von Daten an das CMTS und einen Downstream-Demodulator zum Empfangen von Daten von dem CMTS. Bei dem beschriebenen beispielhaften Ausführungsbeispiel verwendet der Upstream-Modulator jedes Kabelmodems in der Regel entweder die QPSK-Technik oder die 16-QAM-Technik innerhalb der Bandbreite von 5 MHz bis 42 MHz des Upstream-Demodulators, und der Downstream-Demodulator jedes Kabelmodems kann entweder die 64-QAM-Technik oder die 256-QAM-Technik in der Bandbreite von 54 MHz bis 860 MHz des Downstream-Modulators verwenden (in Nordamerika). Fachleute auf dem Gebiet werden verstehen, dass je nach Anwendung weitere Modulationsschemata verwendet werden können.
  • Um das TDMA-Zeitmultiplexverfahren für die Upstream-Kommunikation zu erreichen, können jedem Kabelmodem Zeitschlitze zugewiesen werden, innerhalb derer die Kabelmodems eine Nachricht an das CMTS senden können. Die Zuweisung solcher Zeitschlitze wird erreicht, indem in dem Upstream-Datenpfad ein Bereich für die Platzierung von Reservierungswünschen bereitgestellt wird, innerhalb dessen es den Kabelmodems gestattet ist, um die Platzierung einer Nachricht zu konkurrieren, was zusätzliche Zeit in dem Datenpfad für die Übertragung ihrer Nachricht erfordert. Das CMTS beantwortet diese Anforderungen, indem es den Kabelmodems, die eine solche Anforderung absetzen, Zeitschlitze zuweist, so dass so viele der Kabelmodems wie möglich ihre Nachrichten unter Nutzung des TDMA-Zeitmultiplexverfahrens an das CMTS übertragen können und die Übertragungen ohne unerwünschte Kollisionen erfolgen.
  • Wegen der Verwendung des TDMA-Zeitmultiplexverfahrens verwendet das CMTS einen Burst-Empfänger an Stelle eines Dauerempfängers, um Informationspakete über Upstream-Übermittlungen von den Kabelmodems zu empfangen. Wie Fachleute auf dem Gebiet verstehen werden, kann ein Dauerempfänger dann genutzt werden, wenn im Allgemeinen kontinuierliche Übermittlungen (im Gegensatz zu stoßweise auftretenden Übermittlungen (Burst Communications) wie in der vorliegenden Erfindung) erfolgen, so dass die Taktsynchronisation zwischen dem Kabelmodemsender und dem CMTS-Empfänger im Wesentlichen beibehalten wird, um einen ordnungsgemäßen Empfang der übermittelten Informationen zu erreichen. Während kontinuierlicher Übermittlungen ist die Taktrückgewinnung ein einfacherer Prozess, da die Signalerfassung lediglich bei der Einleitung solcher Übermittlungen erfolgt. Somit erfolgt die Erfassung bei Dauerempfängern im Allgemeinen nur einmal pro kontinuierlicher Übertragung, und jede einzelne kontinuierliche Übertragung kann sehr lang sein.
  • Stoßweise auftretende Übermittlungen, die bei TDMA-Systemen inhärent sind, bringen jedoch eine periodische und häufige Neuerfassung des Signals mit sich. Das heißt, dass während TDMA-Übermittlungen das Signal für jede gesonderte stoßweise auftretende Übertragung, die empfangen wird, erneut erfasst wird.
  • Unter Bezugnahme auf 1 erleichtert ein hybrides Glasfaser-Koaxialnetzwerk (HFC-Netzwerk) 10 die Übertragung von Daten zwischen einer Kopfstelle 12, die wenigstens ein CMTS (Cable Modem Termination System) und eine Reihe von Haushalten 14 umfasst, von denen jeder ein Kabelmodem aufweist. Solche hybriden Glasfaser-Koaxialnetzwerke werden üblicherweise von Kabelanbietern genutzt, um Teilnehmern Internet-Zugang, Kabelfernsehen, Bezahlfernsehen mit Einzelabruf und dergleichen bereitzustellen.
  • Annähernd 500 Haushalte 14 kommunizieren elektrisch mit jedem Knoten 16, 34 des hybriden Glasfaser-Koaxialnetzwerks 10, in der Regel über Koaxialkabel 29, 30, 31. Verstärker 15 erleichtern die elektrische Verbindung der weiter entfernt liegenden Haushalte 14 zu den Knoten 16, 34, indem die elektrischen Signale so verstärkt werden, dass sie den Signal-Rausch-Abstand solcher Übermittlungen in wünschenswerter Weise verbessern und anschließend die elektrischen Signale über Koaxialkabel 30, 31 übertragen. Das Koaxialkabel 29 verbindet die Haushalte 14 elektrisch mit den Koaxialkabeln 30, 31, die sich zwischen den Verstärkern 15 und den Knoten 16, 34 erstrecken. Jeder Knoten 16, 34 ist elektrisch mit einem Hub 22, 24, verbunden, in der Regel über ein Glasfaserkabel 28, 32. Die Hubs 22, 24 kommunizieren über Glasfaserkabel 20, 26 mit der Kopfstelle 12. Jeder Hub ist in der Regel in der Lage, die Kommunikation mit annähernd 20.000 Haushalten 14 zu erleichtern.
  • Die Glasfaserkabel 20, 26, die sich zwischen der Kopfstelle 12 und jedem Hub 22, 24 erstrecken, definieren einen Glasfaserring, der in der Regel in der Lage ist, die Kommunikation zwischen annähernd 100.000 Haushalten 14 und der Kopf stelle 12 zu erleichtern. Die Kopfstelle 12 kann Video-Server, Satellitenempfänger, Video-Modulatoren, Telefonvermittlungen und/oder Internet-Router 18 sowie das CMTS umfassen. Die Kopfstelle 12 kommuniziert über die Übertragungsleitung 13, bei der es sich um eine T1- oder T2-Leitung handeln kann, mit dem Internet, weiteren Kopfstellen und/oder einem oder mehreren weiteren gewünschten Vorrichtung(en) oder einem oder mehreren weiteren gewünschten Netzwerk(en).
  • Bei einem beispielhaften Ausführungsbeispiel der vorliegenden Erfindung kann ein Netzwerk-Gateway über ein CMTS die bidirektionale Online- und Offline-Kommunikation zwischen einer Reihe von Daten- oder Telefonievorrichtungen auf der lokalen Seite und Datenendeinrichtungen an der Gegenstelle erleichtern. Eine beispielhafte Topologie ist in 2 gezeigt, wobei ein Netzwerk-Gateway 11a über eine Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 50 eine Schnittstelle zu dem HFC-Netzwerk 10a für ein Telefon 53a, ein Faxgerät 54a und ein Modem 55a bereitstellt. Das Netzwerk-Gateway 11a stellt außerdem über unseren Audio-Prozessor 52 eine Schnittstelle zu dem HFC-Netzwerk 10a für ein Telefon 53b, ein Faxgerät 54b und ein Modem 55b bereit. Einem lokalen Netzwerk (LAN) 46 und einem universellen seriellen Bus (USB) 44 kann ebenfalls Zugriff auf das HFC-Netzwerk über das Netzwerk-Gateway 11 bereitgestellt werden. Das HFC-Netzwerk ist mit einer CMTS-Leitungskarte 42 in dem CMTS 12 gekoppelt. Die CMTS-Karte 12 ist mit einem paketgestützten Netzwerk-Router 40 gekoppelt, um zu bestimmen, ob die Kommunikation über ein HFC-Netzwerk 10b an der Gegenstelle, ein öffentliches Telefonnetz 57 an der Gegenstelle oder das Internet 43 übermittelt wird. In dem Fall eines öffentlichen Telefonnetzes an der Gegenstelle stellt ein Gateway für ein öffentliches Telefonnetz 58 eine Schnittstelle zwischen einer Vorrichtung für ein öffentliches Telefonnetz 56 an der Gegenstelle und einem an das CMTS 12 angeschlossenen öffentlichen Telefonnetz 57 bereit.
  • In dem Fall eines HFC-Netzwerks an der Gegenstelle stellt ein Netzwerk-Gateway 11b eine Schnittstelle zwischen den Datenendeinrichtungen 56B an der Gegenstelle und dem an das CMTS 12 angeschlossenen HFC-Netzwerk 10b an der Gegenstelle bereit. Fachleute auf dem Gebiet werden verstehen, dass die Datenendeinrichtungen 56 der Gegenstelle eine Vielzahl von Telefonie- und Datenvorrichtungen einschließlich eines Telefons, eines Faxgeräts und eines Modems über einen SLIC- oder Audio-Prozesser sowie ein LAN oder einen USB umfassen können.
  • Ein paketgestützter Netzwerk-Router 40 erleichtert die Kommunikation zwischen den Datenvorrichtungen auf der lokalen Seite und Online-Datenendeinrichtungen 56 der Gegenstelle über schaltungsvermittelte Netzwerke, wie beispielsweise dem leitungsvermittelten öffentlichen Telefonnetz 57 und einem Gateway für ein öffentliches Telefonnetz 58. Datenendeinrichtungen umfassen beispielhaft analoge und digitale Telefone, Ethernet-Telefone, IP-Telefone, Faxgeräte, Datenmodems, Kabelmodems, IVR-Systeme, TK-Anlagen, Key-Systeme und weitere herkömmliche Telefonievorrichtungen, die nach dem Stand der Technik bekannt sind. Fachleute auf diesem Gebiet werden verstehen, dass das beschriebene beispielhafte Netzwerk-Gateway nicht auf eine Telefonieschnittstelle zu dem HFC-Netzwerk beschränkt ist, sondern vielmehr eine Schnittstelle zu einer Vielzahl von Kommunikationsmedien, wie ADSL (Asymmetric Digital Subscriber Line), DSL, T1 oder weiteren nach dem Stand der Technik bekannten Netzwerken bilden kann. Daher ist das beschriebene hybride Glasfaser-Koaxialnetzwerk 10a beispielhaft und nicht einschränkend erwähnt.
  • Ein beispielhaftes Ausführungsbeispiel des Netzwerk-Gateways ist in 3 schematisch gezeigt. Das beschriebene beispielhafte Ausführungsbeispiel kann eine auf einem einzelnen Chip implementierte, hoch integrierte Lösung bereitstellen, die mit der DOCSIS-Spezifikation (Data Over Cable Service Interface Spezification) konform ist. DOCSIS wurde entwickelt, um sicherzustellen, dass Kabelmodemeinrichtungen, die von einer Vielzahl von Herstellern gebaut werden, kompatibel sind, wie es in dem Fall der herkömmlichen Einwählmodems der Fall ist. Das beschriebene beispielhafte Ausführungsbeispiel kann integrierte Funktionen zum Kommunizieren mit dem CMTS bereitstellen. Zum Beispiel überträgt ein QPSK-Upstream-Modulator 102 Daten an die Datenendeinrichtung der Gegenstelle, empfangt ein QAM-Downstream-Demodulator 100 über ein CMTS Daten von der Datenendeinrichtung der Gegenstelle, und ein außerhalb des Bandes liegender QPSK-Downstream-Demodulator 106 empfingt codierte MPEG-2-Nachrichten außerhalb des Bandes von dem CMTS.
  • Zusätzlich kann das beschriebene beispielhafte Ausführungsbeispiel gemäß einer Vielzahl von Protokollen mehrere Eingänge unterstützen. Zum Beispiel stellt ein USB-Transceiver 104 transparenten, bidirektionalen IP-Datenverkehr zwischen Vorrichtungen bereit, die auf einem USB funktionieren, wie zum Beispiel einem PC-Arbeitsplatzrechner, einem Server, einem Drucker oder weiteren ähnlichen Vorrichtungen. Zusätzlich stellt eine mit IEE 802.3 konforme, medienunabhängige Schnittstelle (MII) 110 in Verbindung mit einem Ethernet-MAC 134 außerdem einen bidirektionalen Datenaustausch zwischen Vorrichtungen, wie zum Beispiel einer Reihe von PCs und/oder Ethernet-Telefonen und der Datenendeinrichtung der Gegenstelle, bereit. Ein Sprach- und Datenprozessor 160 wird zum Verarbeiten und Austauschen von Sprach- sowie Fax- und Modemdaten zwischen paketgestützten Netzwerken und Telefonievorrichtungen verwendet.
  • Der QAM-Downstream-Demodulator 100 kann entweder die 64-QAM-Technik oder die 256-QAM-Technik in der Bandbreite von 54 bis 860 MHz nutzen, um eine Schnittstelle mit dem CMTS zu bilden. Der QAM-Downstream-Demodulator 100 nimmt ein analoges, an den Standard-Zwischenfrequenzen für Fernsehen zentriertes Signal an, verstärkt es und digitalisiert das Signal mit einem integrierten Verstärker mit programmierbarer Verstärkung und Analog/Digital-Wandler. Das digitalisierte Signal wird mit Takt- und Trägerrückgewinnung demoduliert. Signalangepasste Filter und anschließend adaptive Filter entfernen Mehrwegausbreitungseffekte und Schmalband-Zweitkanal-Interferenzen. Weiche Entscheidungen werden dann an einen mit ITU-T J.83, Anhang A/B/C, kompatiblen Decodierer geleitet. Der integrierte Decodierer führt eine Fehlerkorrektur durch und leitet die verarbeiteten empfangenen Daten, entweder in parallelen oder seriellen Datenströmen in dem MPEG-2-Format an einen DOCSIS-MAC (Media Access Controller) 112 weiter.
  • Der Ausgang des Downstream-Demodulators 100 ist mit dem DOCSIS-MAC 112 gekoppelt. Der DOCSIS-MAC 112 kann Baseline-Privacy-Verschlüsselung und -Entschlüsselung sowie Erfassung und Multiplexen nach dem Robust Frame-Verfahren mit MPEG2-TS-konformen Video- und Audio-Datenströmen umfassen. Der DOCSIS-MAC 112 implementiert die Downstream-Bereiche des DOCSIS-Protokolls. Der DOCSIS-MAC 112 extrahiert DOCSIS-MAC-Rahmen aus MPEG-2-Rahmen, verarbeitet MAC-Header und Filter und verarbeitet Nachrichten und Daten.
  • Downstream-Datenpakete und -Nachrichtenpakete können dann über den internen Systembus (ISB) 118 mittels einer SDRAM-Schnittstelle 116 in dem Systemspeicher 114 platziert werden. Die SDRAM-Schnittstelle 116 bildet bevorzugt eine Schnittstelle zu einer Reihe SDRAMs "von der Stange", die bereitgestellt werden, um die hohen Anforderungen des Ethernet-MAC 112 und anderer Peripheriegeräte an die Bandbreite zu unterstützen. Die SDRAM-Schnittstelle 116 kann mehrere Kombinationen von 8, 16 oder 32 Bit-breiten SDRAMs unterstützen, was eine externe Datenspeicherung in dem Bereich von etwa 2 bis 32 MByte ermöglicht. Der DOCSIS-MAC 112 umfasst eine Reihe von DMA-Kanälen (Direct Memory Access) für den schnellen Zugriff auf Daten von und zu dem Systemspeicher 114 über den internen Systembus (ISB) 118.
  • Der Upstream-Modulator 102 stellt eine Schnittstelle zu dem CMTS bereit. Der Upstream-Modulator 102 kann so konfiguriert sein, das er mit zahlreichen Modulationsschemata, einschließlich der QPSK-Technik und der 16-QAM-Technik funktioniert. Der Upstream-Modulator 102 unterstützt stoßweise auftretende oder kontinuierliche Daten, stellt Codierung mit Vorwärtsfehlerkorrektur (FEC) und Vorentzerrung bereit, filtert und moduliert den Datenstrom und stellt einen analogen Direktausgang für 0 bis 65 MHz bereit.
  • Der DOCSIS-MAC 112 kann auch die Upstream-Teile des DOCSIS-Protokolls implementieren, bevor die Übertragung durch den Upstream-Modulator 102 stattfindet. Der DOCSIS-MAC 112 empfängt Daten von einem der DMA-Kanäle, fordert Bandbreite an und stellt die Daten für das TDMA-Zeitmultiplexen mit anderen Modems auf derselben Upstream-Frequenz in Rahmen.
  • Der DOCSIS-MAC bildet über den internen Systembus (ISB) 118 eine Schnittstelle mit dem MIPS-Kern 128. Ein beispielhaftes Ausführungsbeispiel des MIPS-Kerns 128 umfasst eine Hochleistungs-CPU, die bei einer Geschwindigkeit von wenigstens 80 MHz mit 32-Bit-Adress- und -Datenpfaden funktioniert. Der MIPS-Kern umfasst assoziative Zweiwege-Anweisungs- und Daten-Caches in der Größenordung von jeweils etwa 4 kByte. Der MIPS-Kern 128 kann EJTAG-Standardunterstützung mit Debug-Modus, Ablaufsteuerung, Einzelschritt- und Software-Breakpoint-Anweisung sowie optionale EJTAG-Funktionen bereitstellen.
  • Der Upstream-Modulator 102 und der Downstream-Demodulator 100 werden durch den MIPS-Kern 128 über eine serielle Schnittstelle gesteuert, die mit einer Untermenge aus dem Motorola M-Bus und dem Philips I2C-Bus kompatibel ist. Die Schnittstelle besteht aus zwei Signalen, den seriellen Datensignalen (SDA) und den seriellen Taktsignalen (SCL), die eine Vielzahl von Vorrichtungen auf einem gemeinsamen Bus steuern können. Die Adressierung der verschiedenen Vorrichtungen kann gemäß bestehenden Protokoll auf der zweiadrigen Schnittstelle erreicht werden.
  • Das beschriebene beispielhafte Ausführungsbeispiel des Netzwerk-Gateways umfasst einen mit voller Geschwindigkeit arbeitenden USB-Transceiver 1104 und einen USB-MAC 122, der die USB 1.1-Spezifikation einhält. Der USB-MAC 122 stellt einen parallelen Betrieb von Steuer-, Bulk-, isochronen und Interrupt-Endpunkten bereit. Der USB-MAC 122 kann auch USB-Standardbefehle sowie klassen- oder anbieterspezifische Befehle unterstützen. Der USB-MAC 122 umfasst integrierten RAM-Speicher, der eine flexible Konfiguration der Vorrichtung erlaubt. Eine Zweiwege-Übermittlung von Informationen an eine Vorrichtung, die auf einem USB betrieben wird, wie zum Beispiel ein PC auf einem USB 1.1-konformen Twisted-Pair-Kabel, kann bereitgestellt werden. Der USB-MAC 122 kann für die hardwareseitige Fragmentierung von Paketen höherer Schichten aus USB-Paketen mit automatischer Generierung und Erkennung von USB-Paketen mit der Länge null eingerichtet werden. Der USB-MAC 122 kann DMA-Kanäle umfassen, die zum Übermitteln empfangener Daten an den Systemspeicher 114 über den internen Systembus (ISB) 118 verwendet werden. In dem Systemspeicher 114 gespeicherte Daten können dann über den DOCSIS-MAC 112 und den Upstream-Modulator 102 verarbeitet und an das CMTS (nicht gezeigt) übermittelt werden. Auf ähnliche Weise können Daten, die von dem CMTS empfangen und von dem Downstream-Demodulator 100 verarbeitet und in dem Systemspeicher als Pakete höherer Schichten gespeichert wurden, von dem USB MAC 122 über den internen Systembus (ISB) 118 abgerufen und zu USB-Paketen mit automatischer Generierung von USB-Paketen mit der Länge null zusammengesetzt werden. USB-Pakete können dann über den USB-Transceiver 104 an die externe Vorrichtung übermittelt werden, die auf dem USB betrieben wird.
  • Eine medienunabhängige Schnittstelle (MII) 110 kann eine bidirektionale Kommunikation mit Vorrichtungen, wie beispielsweise einem in einem Ethernet-Netzwerk betriebenen Personal Computer (PC), bereitstellen. Die medienunabhängige Schnittstelle 110 kann Informationen an den Ethernet-MAC 134 weiterleiten und von diesem abrufen. Der Ethernet-MAC 134 kann auch alle Funktionen auf der Bitübertragungsschicht (PHY) für 100BASE-TX-Voll- oder -Halbduplex-Ethernet sowie für 10BASE-T-Voll- oder Halbduplex durchführen. Der Ethernet-MAC 134 kann außerdem die empfangenen Daten gemäß einer Vielzahl von Standards wie zum Beispiel 4B5B-, MLT3- und Manchester-Decodierung, decodieren. Der Ethernet-MAC kann Takt- und Datenrückgewinnung, Entwürfeln nach der Stromverschlüsselungstechnik und digitale adaptive Entzerrung durchführen. Der Ethernet-MAC 134 kann DMA-Kanäle umfassen, die zur schnellen Datenübermittlung verarbeiteter Daten an den Systemspeicher 114 über den internen Systembus (ISB) 118 verwendet werden. In dem Systemspeicher 114 gespeicherte, verarbeitete Daten können dann über den Upstream-Modulator 102 an das CMTS (nicht gezeigt) übermittelt werden. Auf ähnliche Weise werden Daten, die von dem CMTS empfangen wurden, von dem Downstream-Demodulator 100 verarbeitet und in dem Systemspeicher als Pakete höherer Schichten gespeichert, die dann von dem Ethernet-MAC 134 über den internen Systembus (ISB) 118 abgerufen und für die Übermittlung an die in dem Ethernet betriebene externe Vorrichtung über die MII 110 zu Ethernet-Paketen codiert werden können. Der Ethernet-MAC 134 kann auch zusätzliche Verwaltungsfunktionen, wie beispielsweise die Überwachung der Link-Integrität, usw. durchführen.
  • Zusätzlich zu der SDRAM-Schnittstelle 116 umfasst das beschriebene beispielhafte Ausführungsbeispiel des Gateways eine externe 16-Bit-Busschnittstelle (EBI) 140, welche die Verbindung zu den Flash-Speichern 142, dem externen SRAM 144 oder den EPROMS 144 unterstützt. Zusätzlich kann die EBI 140 verwendet werden, um eine Schnittstelle zwischen dem beschriebenen beispielhaften Netzwerk-Gateway und zusätzlichen, externen Peripheriegeräten zu bilden. Die EBI 140 kann einen 24-Bit-Adressbus und einen bidirektionalen 16-Bit-Datenbus bereitstellen. Zusammen mit mehreren, über Firmware konfigurierbaren Chip-Auswahlsignalen können gesonderte Lese- und Schreib-Strobe-Signale bereitgestellt werden. Jede Chip-Auswahl kann vollständig programmierbar sein, wobei Blockgrößen zwischen etwa 4 kByte und 8 MByte, erweiterte Zugriffssteuerung über Taktzyklen und Auswahl von 8 oder 16 Bit als Breite des peripheren Datenbusses unterstützt werden. Bei dem beschriebenen Ausführungsbeispiel kann die EBI 140 sowohl synchrone als auch asynchrone Übertragungen unterstützen. Pseudonym-Übertragungen können über die Verwendung von Lese-/Schreib-Strobe-Signalen unterstützt werden, um den Beginn und die Dauer einer Übertragung anzugeben. Die EBI 140 kann Funktionali tät zum DMA-Zugriff zu oder von der SDRAM-Schnittstelle 116 umfassen. Der DMA-Betrieb kann eine oder mehrere Formen annehmen. Zum Beispiel kann in dem EBI-Modus eine EBI-Bridge als DMA-Steuereinheit fungieren und während DMA-Operationen alle Aufgaben zur Zeiger- und Pufferverwaltung durchführen. In einem externen Modus können eine externe Vorrichtung als DMA-Steuereinheit und die EBI 140 als einfache Bridge fungieren. In dem DMA-Modus kann der MIPS-Kern 128 für die DMA-Einrichtung zuständig sein.
  • Das Netzwerk-Gateway kann auf Grund von Peripherievorrichtungen, wie beispielsweise PCs, die Windows nutzen, oder Macintosh-Netzwerk-Computern, im Hinblick auf das Eindringen in das Netzwerk verwundbar sein. Diese Betriebssysteme umfassen die Freigabe von Dateien und Druckern, welche es erlauben, dass zwei oder mehrere in dem Netzwerk betriebene Computer in einem Haushalt oder einem Büro Dateien und Drucker gemeinsam nutzen. Daher umfasst das beispielhafte Ausführungsbeispiel des Gateways ein IP-Sicherheitsmodul 148, das eine Schnittstelle zu dem internen Systembus (ISB) 118 bildet. Der MIPS-Kern 128 kann alle Sicherheitsassoziationen einrichten und verwalten. Der MIPS-Kern 128 kann auch jeglichen IP-Datenverkehr filtern und alle Nachrichten, die eine Sicherheitsverarbeitung erfordern, über den internen Systembus (ISB) 118 an das Sicherheitsmodul leiten. Das Sicherheitsmodul 148 kann hardwareseitig Single-DES (Modi CBC und ECB), Triple-DES (Modi CBC und ECB), MD-5 und SHA-Authentifizierung unterstützen, um Unterstützung für VPNs (Virtual Private Networks) bereitzustellen.
  • Das Sicherheitsmodul 148 kann die Grundbausteine des in Entwicklung befindlichen IP-Sicherheitsstandards (IPsec) implementieren. Das Sicherheitsmodul 148 kann auch verwendet werden, um jegliches weitere Sicherheitsschema zu implementieren, das die gleichen Grundbausteine verwendet wie IPsec, das zwei Protokolle verwendet, um Sicherheit für den Datenverkehr bereitzustellen. Ein erstes Protokoll, ESP (Encapsulating Security Payload), stellt privaten Datenschutz mit Verschlüsselung und beschränkter Vertraulichkeit für den Datenverkehrsfluss bereit. ESP kann außerdem verbindungslose Integrität, Authentifizierung von Datenquellen und einen Dienst gegen Replay-Angriffe bereitstellen. Ein zweites Format, AH (IP Authentication Header) stellt verbindungslose Integrität, Authentifizierung von Datenquellen und einen optischen Dienst gegen Replay-Angriffe bereit. Beide Protokolle können verwendet werden, um Zugriff auf der Grundlage der Verteilung von kryptografischen Schlüsseln und der Verwaltung von Datenverkehrsflüssen bereitzustellen. Die Protokolle können jeweils allein oder in Kombination miteinander verwendet werden, um die Sicherheitsanforderungen eines bestimmten Systems zu erfüllen. Zusätzlich kann das Sicherheitsmodul 148 in Abhängigkeit von einer Sicherheitsassoziation mit dem von einer Simplex-Verbindung beförderten Datenverkehr mehrere Betriebsarten unterstützen. Zum Beispiel schützt die Transportmodus-Sicherheitsassoziation zwischen zwei Hosts primär Protokolle oberhalb der IP-Schicht, während die Tunnelmodus-Sicherheitsassoziation Sicherheit und Steuerung für einen Tunnel mit IP-Paketen bereitstellt.
  • Das beispielhafte Sicherheitsmodul 148 behandelt mögliche Unterschiede in dem Paketformat zwischen IPsec und zukünftigen Sicherheitsanwendungen mit einem generalisierten Schema, um zu bestimmen, wo die Authentifizierungs-/Verschlüsselungsalgorithmen innerhalb eines Datenpakets angewendet werden. Die Authentifizierungs-/Verschlüsselungsalgorithmen betrachten jedes Paket als aus drei Teilen bestehend, nämlich einem Header, einem Hauptteil und einem Trailer. Der geeignete Algorithmus kann unter Verwendung jeglicher angegebener Parameter nur auf den Hauptteil-Abschnitt angewendet werden.
  • In einem Verschlüsselungsmodus kann das Sicherheitsmodul 148 jegliche notwendigen Header hinzufügen und initialisieren, notwendige Parameter bestimmen, die damit verbundene Steuernachricht generieren und die Steuer- und die Datennachricht hinzufügen. In dem Authentifizierungsmodus werden die Steuerfelder der empfangenen Datenpakete analysiert, die Parameter über eine Suchtabelle für die Sicherheitsassoziation bestimmt, die Steuernachricht erstellt, und die Steuer- und die Datennachricht in eine Warteschlange gestellt.
  • Das beispielhafte Ausführungsbeispiel des Netzwerk-Gateways umfasst eine DMA-Steuereinheit 150 mit einer Reihe von Kanälen, die über den internen Systembus (ISB) 118 einen direkten Zugriff zwischen Peripheriegeräten und dem Systemspeicher 114 ermöglichen. Mit Ausnahme des Sicherheitsmoduls 148 verursachen von dem Netzwerk-Gateway 98 empfangene Pakete DMA-Übertragungen von einem Peripheriegerät zu dem Speicher, was als Empfangsoperation bezeichnet wird. Eine DMA-Übertragung von dem Speicher an ein Peripheriegerät wird als Sendeoperation bezeichnet. Programmierbare Funktionen in jedem Kanal können es der DMA-Steu ereinheit 150 erlauben, maximale ISB-Burst-Längen für jeden Kanal zu verwalten, Interrupts zu aktivieren, den Betrieb in jedem Kanal anzuhalten und Energie zu sparen, wenn bestimmte Module nicht in Betrieb sind. Die maximale ISB-Burst-Länge kann unabhängig für jeden Kanal programmiert werden, bevorzugt auf bis zu 64 32-Bit-Wörter. Jeder Kanal kann maskierbare Interrupts umfassen, die mit dem MIPS-Kern 128 verbunden sind und darauf hinweisen, dass der Puffer vollständig gefüllt ist, ein Paket vollständig ist oder ein ungültiger Deskriptor erkannt wurde. Ausgelastete DMA-Kanäle können von dem MIPS-Kern 128 angehalten oder vollständig deaktiviert werden. Quelltaktgeber (nicht gezeigt) für jeden Kanal können auf der Grundlage des internen Peripheriegeräts, das sie versorgen, mit den Kanälen verbunden werden. Zur Verringerung des Energieverbrauchs können diese Taktgeber in Übereinstimmung mit dem Taktgeber des jeweiligen Peripheriegeräts aus- und eingeschaltet werden.
  • Die DMA-Steuereinheit 150 kann sowohl in dem Modus ohne Verkettung als auch in dem Modus mit Verkettung betriebsfähig sein. In dem Modus ohne Verkettung bezieht sich der DMA-Kanal für die relevanten Informationen, die eine geplante DMA-Burst-Übertragung betreffen, auf seine internen Register. Die DMA-Steuereinheit kann die Register für die Puffer-Startadresse, die Byte-Anzahl und das Statuswort einrichten, bevor der DMA-Kanal für jeden zugeteilten Puffer initiiert wird. In der Senderichtung können die DMA-Kanäle die angegebene Anzahl von Bytes (bevorzugt bis zu 4.095) von der angegebenen Byte-Adresse aus senden. In der Empfangsrichtung können die DMA-Kanäle Daten an einer angegebenen Speicherposition einfügen, bis ein Puffer vollständig gefüllt wurde oder das Ende des Pakets erkannt wird.
  • In dem Modus mit Verkettung kann der Systemspeicher wie in 4 gezeigt partitioniert werden, bevorzugt unter Verwendung von Deskriptorringen, die Zeiger auf Speicherpuffer sowie Statusinformationen für jeden Speicherpuffer enthalten. Der MIPS-Kern 128 kann in die Deskriptorzeiger schreiben, während die DMA-Steuereinheit 150 nachfolgt, indem sie Daten an der von dem Deskriptor bezeichneten Position einfügt bzw. dort entfernt. Nach einer vollständigen Übertragung eines Puffers löscht die DMA-Steuereinheit 150 wirksam den Deskriptor, indem sie den Status so aktualisiert, dass er angibt, dass die Daten eingefügt bzw. entfernt wurden. Spezifische Informationen können zu dem Deskriptor hinzugefügt werden, um die Länge der Daten in dem Block anzugeben, wobei angegeben wird, ob sich die Daten in dem ersten oder dem letzten Block eines Pakets befinden, usw.
  • In der Downstream-Richtung kann der MIPS-Kern 128 einen Datenblock für einen bestimmten DMA-Kanal füllen oder erkennen, dann den nächsten unbenutzten Deskriptor in dem Ring schreiben, wodurch er angibt, dass der Block gefüllt ist und wo in dem Speicher sich die Downstream-Daten befinden. Die DMA-Steuereinheit 150 kann auf den DSP-Schreibvorgang in den Deskriptorring hin Daten absenden und den Deskriptor löschen, wenn die Übertragung vollständig durchgefrührt wurde. Wenn die DMA-Steuereinheit 150 einen Deskriptor liest, der keine gültigen Daten enthält, kann sie in den Leerlauf wechseln, bis sie von dem DSP-Kern initiiert wird.
  • In der Upstream-Richtung kann der MIPS-Kern 128 Speicherplatz für ankommende Daten zuteilen und dann die Startadresse für diesen Puffer in den Deskriptor schreiben. Die DMA-Steuereinheit 150 liest die Basisadresse und fügt Daten ein, bis entweder der Puffer voll ist oder ein Paketende erkannt wurde. Die DMA-Steuereinheit 150 kann den Deskriptor aktualisieren, wobei an den MIPS-Kern 128 übermittelt wird, dass der Block voll ist, wobei die Länge der Daten in dem Block und/oder Flags für den ersten oder letzten zugesicherten Puffer angegeben werden.
  • Das beschriebene beispielhafte Netzwerk-Gateway kann einen Sprachprozessor 160 zum Verarbeiten und Transportieren von Sprache über paketgestützte Netzwerke umfassen, wie beispielsweise PCs, die ein Netzwerk auf einem USB (Universal Serial Bus) betreiben, oder eine asynchrone serielle Schnittstelle, lokale Netzwerke (LANs), wie beispielsweise Ethernet, Weitverkehrsnetzwerke (WANs), die beispielsweise auf IP (Internet Protocol), FR (Frame Relay), ATM (Asynchronous Transfer Mode) basieren, öffentliche digitale Mobilfunknetze, auf der Basis von beispielsweise TDMA (IS-13x), CDMA (IS-9x) oder GSM für terrestrische drahtlose Anwendungen, oder jedes andere paketgestützte System. Das beschriebene Ausführungsbeispiel des Sprachprozessors 160 unterstützt außerdem den Austausch von Sprach- sowie Fax- und Modemdaten zwischen einem herkömmlichen schaltungsvermittelten Netzwerk oder einer beliebigen Anzahl von Telefonievorrichtungen und dem CMTS (nicht gezeigt). Der Sprachprozessor kann mit einer Vielzahl von Technologien implementiert sein, die beispielshalber eine eingebettete Kommunikations- Software umfassen, welche die Übertragung von Sprache über paketgestützte Netzwerke ermöglicht.
  • Die eingebettete Kommunikations-Software wird bevorzugt auf einem programmierbaren digitalen Signalprozessor (DSP) ausgeführt. In einem beispielhaften Ausführungsbeispiel nutzt der Sprachprozessor 160 einen ZSP-Kern aus der Bibliothek von LSI Logic Core Ware für Telekommunikationsanwendungen in dem mittleren bis höheren Leistungsspektrum. Der DSP-Kern 160 kann ein wenigstens etwa 80.000 Wörter großes RAM 162 für interne Anweisungen und ein wenigstens etwa 48.000 Wörter großes RAM 164 für interne Daten umfassen. Der DSP-Kern 160 kann mit dem internen Systembus (ISB) 118 über eine DSP/ISB-Schnittstelle 166 und mit dem Peripheriebus 132 über die DSP/PB-Schnittstelle 168 eine Schnittstelle bilden.
  • Der DSP-Kern 160 kann eine JTAG-Emulatorschnittstelle sowie eine interne TRC-Synchronisationsschnittstelle (Training Recovery Clock) bereitstellen. Der Sprachprozessor 160 kann eine Bewilligungs-Synchronisiereinheit umfassen, die eine zeitgerechte Lieferung von Sprachsignalen an den MIPS-Kern 128 für Upstream-Übertragungen sicherstellt. Zusätzlich kann eine PCM-Schnittstelle 170 dem Sprachprozessor 160 eine Schnittstelle zu einem internen Audio-Prozessor 170 sowie externe Audioverarbeitungsschaltungen bereitstellen, um Dienste mit konstanter Bitrate (CBR-Dienste), wie beispielsweise Telefonie, zu unterstützen. Die PCM-Schnittstelle kann mehrere Steuereinheiten für PCM-Kanäle bereitstellen, um mehrere Sprachkanäle zu unterstützen. Bei dem beschriebenen beispielhaften Ausführungsbeispiel des Gateways gibt es vier Sätze von FIFO-Sende- und -Empfangsregistern, einen für jeden der vier PCM-Steuereinheiten. Die tatsächliche Anzahl von Kanälen, die verarbeitet werden können, kann jedoch variieren und ist nur durch die Leistungsfähigkeit des DSP begrenzt. Der interne Systembus (ISB) 118 wird verwendet, um Daten, Steuer- und Statusnachrichten zwischen dem Sprachprozessor 160 und dem MIPS-Kern 128 zu übertragen. FIFO-Register werden bevorzugt in jeder Richtung verwendet, um Datenpakete zu speichern.
  • Das beschriebene beispielhafte Ausführungsbeispiel umfasst einen internen Audio-Prozessor 170 mit einem analogen Eingangsabschnitt 172 (AFE), der eine Schnittstelle zwischen dem Sprachprozessor 169 und externen Teilnehmerleitungs- Schnittstellenschaltungen (SLICs) für den bidirektionalen Austausch von Sprachsignalen bildet. Der Audio-Prozessor 170 kann programmierbare Elemente umfassen, die Filter und weitere Schnittstellenkomponenten für eine Vielzahl von Sprachkanälen implementieren. In dem Sendemodus nimmt der analoge Eingangsabschnitt 172 ein analoges Sprachsignal an und digitalisiert das Signal und leitet das digitalisierte Signal an den Audio-Prozessor 170 weiter.
  • Der Audio-Prozessor 170 dezimiert das digitalisierte Signal und bereitet das dezimierte Signal auf, um von der Gegenstelle stammende Echos zu entfernen. Wie der Name sagt, handelt es sich bei Echos in einem Telefonsystem um die Stimme des Sprechers, die als Ergebnis des Betriebs des hybriden Netzwerks mit seiner Umsetzung von zwei auf vier Drähte zurückkommt. Wenn eine geringe Verzögerung zwischen den beiden Seiten vorliegt, entspricht das Echo der Gegenstelle einem Nebengeräusch (Echo von der lokalen Seite) und stellt daher kein Problem dar. Nebengeräusche bieten den Nutzern eine Rückmeldung über die Lautstärke, mit der sie sprechen, und ohne Nebengeräusche würden die Nutzer dazu neigen, zu laut zu sprechen. Echoverzögerungen der Gegenstelle, die länger als 10 bis 30 ms dauern, verschlechtern die Sprachqualität jedoch erheblich und stellen ein größeres Ärgernis für den Nutzer dar. Der Audio-Prozessor kann auf das aufbereitete Signal eine feste Verstärkung/Dämpfung anwenden und leitet das durch die Verstärkung angepasste Signal über die PCM-Schnittstelle an den Sprachprozessor 160 weiter. In dem Empfangsmodus nimmt der Audio-Prozessor ein Sprachsignal von der PCM-Schnittstelle an und wendet bevorzugt eine feste Verstärkung/Dämpfung auf das empfangene Signal an. Das durch die Verstärkung angepasste Signal wird dann von 8 kHz auf 96 kHz interpoliert zur Übermittlung an eine Telefonievorrichtung über eine SLIC-Schnittstelle von einem Digital- in ein Analogsignal umgewandelt.
  • Jeder Audio-Kanal kann auf einen PCM-Port geleitet werden, um einen PCM-Test auf Systemebene zu ermöglichen. Die PCM-Systemtests können beispielshalber die Einhaltung des Standards ITU G.711 für die A-law-Codierung/Decodierung und die μ-law-Codierung/Decodierung erfordern.
  • Das beschriebene beispielhafte Ausführungsbeispiel des Netzwerk-Gateways umfasst integrierte Peripheriegeräte, die periodische Intervall-Zeitgeber 180, einen dualen UART (Universal Asynchronous Receiver-Transmitter) 182, der die asyn chrone serielle Kommunikation handhabt, eine Reihe von internen Interrupt-Quellen 184 und ein GPIO-Modul 186, das mehrere einzeln konfigurierbare Eingangs-/Ausgangs-Ports bereitstellt, umfassen. Zusätzlich können mehrere GPIO-Ports bereitgestellt werden, um verschiedene LEDs (Light Emitting Diode) anzusteuern und eine Reihe externer SLICs zu steuern. Eine Peripheriebus-Bridge 186 kann verwendet werden, um eine Schnittstelle zwischen dem Peripheriegerät mit geringer Geschwindigkeit und dem internen Systembus (ISB) 118 zu bilden.
  • A. DOCSIS-Kabelmodem
  • 1. Downstream-Demodulator
  • Der DOCSIS-Downstream-Demodulator 100 kann die 64-/256-QAM-Technik unterstützen. Unter Bezugnahme auf 5 nimmt der Downstream-Demodulator 100 ein analoges Standard-Zwischenfrequenzsignal 198 an, verstärkt es und digitalisiert das Eingangsignal mit einem integrierten Verstärker mit programmierbarer Verstärkung (PGA) 200 und einem N-Bit-Analog/Digital-Wandler 202. Eine Schaltung für eine Verstärkungserholungsschleife 204 auf dem Chip steuert den PGA 200, um eine Funktion zur automatischen Verstärkungsregelung (AGC) bereitzustellen. Die Taktrückgewinnung umfasst außerdem einen spannungsgesteuerten Oszillator auf dem Chip (nicht gezeigt), der auch auf einem Kristall befestigt sein kann, der sich nicht auf dem Chip befindet, und steuert die Abtastung des Analog/Digital-Wandlers 202. Die Stabilität der Kristallreferenz ermöglicht eine präzise Unterabtastung des Zwischenfrequenzsignals, um einen digitalen Datenstrom zu erzeugen, der auf einer niedrigeren ZF-Mittenfrequenz zentriert ist.
  • Ein digitaler Demodulator 208 demoduliert die digitalisierte Ausgabe 202(a) des Analog/Digital-Wandlers 202 mit Takt- und Trägerrückgewinnung. Der digitale Demodulator 208 umfasst digitale Mischer 210, 212, die einen von einem DDFS (Direct Digital Frequency Synthesizer) 211 generierten, komplexen Datenstrom unter Steuerung durch die Taktrückgewinnungsschleife mit dem digitalisierten Signal 202(a) mischen. Signalangepasste Interpolationsfilter 214, 216 wandeln die Mischerausgaben 214(a), 216(a) in Basisband-Signale der Typen In-Phase (I) und Quadratur-Phase (Q) um, die sowohl hinsichtlich der Frequenz als auch der Phase korrekt ab getastet wurden. Zwei Quadratwurzel-Nyquist-Filter 218, 220, die 11–18% an Roll-Off-Faktoren aufnehmen können, filtern die E/A-Basisbandsignale, um die Intersymbolinterferenz zu verringern. Zusätzlich können Kerbfilter 222, 224 verwendet werden, um die von Intermodulationsprodukten aus analogen CATV-Kanälen verursachte Schmalbandinterferenz von Zweitkanälen wesentlich zu verringern. Bevorzugt fügen Kerbfilter 222, 224 an den Frequenzen dieser Unterträger Kerben in das Frequenzspektrum ein.
  • Der Downstream-Demodulator 102 umfasst bevorzugt einen konfigurierbaren, entscheidungsgerichteten Entzerrer 226 mit Mehrfachabgriff. In dem beschriebenen beispielhaften Ausführungsbeispiel wird ein Entzerrer mit 40 Abgriffen verwendet, um Intersymbolinterferenzen zu entfernen, die im schlimmsten Fall durch Koaxialkabelkanäle mit Mehrwegeausbreitung von bis zu 4,5 μsec bei 5,26 MBaud generiert werden. Blinde Konvergenzalgorithmen erleichtern die Entzerrererfassung.
  • Zusätzlich zu der adaptiven Entzerrung führt der konfigurierbare, entscheidungsgerichtete Entzerrer 226 mit Mehrfachabgriff an den entzerrten Konstellationspunkten unter Verwendung eines Quadratur-Synthesizers und eines komplexen Mischers bei Steuerung durch die Trägerrückgewinnungsschleife eine Phasenrückgewinnung durch, um restliche Träger-Offsets und unmittelbare Phasen-Offsets, wie beispielsweise diejenigen, die durch das mikrofonartige Verhalten einer Empfangseinheit verursacht werden, auszusteuern. Die Ausgabe des adaptiven Phasenrückgewinnungsblocks von dem adaptiven Entzerrer wird an einen Vorwärtsfehlerkorrektur-Decodierer(FEC-Decodierer) 228 weitergeleitet. Der Vorwärtsfehlerkorrektur-Decodierer kann zahlreiche Decodierer unterstützen, die auch mit ITU-T J.83, Anhang A/B/C, kompatible Decoder umfassen.
  • Der mit Anhang A/C kompatible Decodierer besteht aus vier Hauptfunktionen, nämlich Rahmensynchronisation, Faltungsentschachtelung, Reed-Solomon-Fehlerkorrektur und Derandomisierung. Harte Entscheidungen werden bevorzugt in den Rahmensynchronisationsblock eingegeben, der auf dem umgekehrten Synchronisationsbitmuster fixiert wird. Der MIPS-Kern 128 stellt die Merkmale der Erfassung und Beibehaltung der Rahmensynchronisation über eine CPU-Schnittstelle 230 ein. Nach der Synchronisation wird die Verschachtelung der Daten durch die Faltungsentschachtelungseinheit 232 entfernt. Die Entschachtelungseinheit kann auf dem Ansatz von Ramsey III basieren und programmierbar sein, um Tiefen von I = 1–204 mit J = 204/I bereitstellen. Ein RAM 234 auf dem Chip kann I = 1–12 vorsehen. Nach dem Entschachteln werden die Datensymbole von einem Reed-Solomon-Decodierer verarbeitet, der bis zu acht Symbolfehler pro RS-Block korrigieren kann. Die decodierten Symbole werden dann derandomisiert, wodurch im Wesentlichen die an dem Modulator eingefügte Randomisierung rückgängig gemacht wird. Die derandomisierte Ausgabe besteht aus seriellen oder parallelen MPEG-2-Daten, Paketsynchronisation und einem Datentakt.
  • Der mit Anhang B konforme Decodierer umfasst fünf Schichten, nämlich Trellis-Decodierung, Derandomisierung, Faltungsentschachtelung, Reed-Solomon-Decodierung und Prüfsummendecodierung. Das verkettete Codierungsschema gemäß Anhang B stellt zusammen mit der Verschachtelung einen guten Codierungsgewinn bereit, um Gaußsches Rauschen zu bekämpfen und gleichzeitig den Schutz gegen Burst-Fehler aufrechtzuerhalten. Weiche Entscheidungen von dem adaptiven Entzerrer 226 werden in den Trellis-Decodierer eingegeben, der die maximale Wahrscheinlichkeit einer Sequenz schätzt. Die Ausgabesequenzen werden an einen Rahmensynchronisations- und Derandomisierungsblock weitergeleitet, der ähnlich dem ist, der für die mit Anhang A/C konformen Decodierer beschrieben wurde. Ein Reed-Solomon-Decodierer korrigiert bevorzugt bis zu drei Symbolfehler pro RS-Block. Der Prüfsummendecodierer identifiziert präzise Blöcke, die nicht korrigierbare Fehler enthalten. Der Downstream-Demodulator gibt serielle oder parallele MPEG-2-Daten, Paketsynchronisation und einen Datentakt an den DOCSIS-MAC aus.
  • Der Downstream-Demodulator 100 umfasst auch zwei AGC-Schleifen, die eine Regelung sowohl für Funkfrequenz- als auch für Zwischenfrequenzverstärker mit regelbarer Verstärkung (VGAs) bereitstellen. Die jeder Schleife zugeteilte Verstärkungsregelung kann über eine CPU-Schnittstelle 230 bewerkstelligt werden. Die Verstärkungsregelungsschleife für Funkfrequenz 236 kann an der automatischen Verstärkungsregelung für Empfangsgeräte (Empfangsgeräte-AGC) 236 geschlossen werden, während die Zwischenfrequenz-Schleife 204 entweder mit einem nicht auf dem Chip befindlichen VGA (nicht gezeigt) oder bevorzugt mit dem internen PGA 200 vervollständigt werden kann. Die Stärke des internen Zwischenfrequenzsignals wird geschätzt und mit einem programmierbaren Schwellenwert verglichen. Wenn die geschätzte Stärke den Schwellenwert überschreitet, wird der AGC-Integrator mit einem programmierbaren Wert inkrementiert. Wenn die geschätzte Stärke den Schwellenwert unterschreitet, wird der geeignete AGC-Integrator mit einem vergleichbaren Wert dekrementiert. Die Taktrückgewinnungsschleife 206 kann eine Diskriminante für den Synchronisationsfehler, ein Schleifenfilter und einen digitalen Taktrückgewinnungsblock umfassen, der den digitalen Resampler steuert. Bei der Trägerfrequenz-/Phasenrückgewinnungs- und der Tracking-Schleife handelt es sich durchweg um digitale Schleifen, die einen breiten Erfassungsbereich und gleichzeitig eine große Tracking-Möglichkeit für das Phasenrauschen bieten. Die Schleifen können entscheidungsgerichtete Techniken verwenden, um den Winkel und die Richtung für den Phasen-/Frequenzausgleich zu schätzen. Die Schleifen können durch Integral-plus-Proportional-Filter gefiltert werden, bei denen die Integrator- und Linearkoeffizienten des Filters programmierbar sind, um das Mittel zum Einstellen der Schleifenbandbreiten bereitzustellen. Die oberen Bits des Schleifenfilters können den Direktfrequenzsynthesizer 210 steuern und stellen dabei eine präzise Frequenzgenerierung und feine Phasenauflösung bereit.
  • Der Downstream-Demodulator 100 verwendet einen VCO auf dem Chip (nicht gezeigt) mit Referenz auf einen einzelnen Kristall, der sich nicht auf dem Chip befindet und alle erforderlichen Chip-Takte bereitstellen kann. Zusätzlich stellt ein Reserve-Digital/Analog-Demodulator ein moduliertes Signal mit einer Impulsbreite von einem Bit bereit, das zusammen mit einem RC-Filter verwendet werden kann. Zusätzlich kann der Downstream-Modulator Empfangsgeräte-Regelungs-Ports 238 bereitstellen, die verwendet werden können, um zwei seriell geregelte Frequenzsynthesizer mit Empfangsgerät-Phasenregelkreis (PLL) zu programmieren.
  • 2. Upstream-Modulator
  • Unter Bezugnahme auf 6 kann der Upstream-Modulator 102 die QPSK- und 16-QAM-Verarbeitung von stoßweise auftretenden oder kontinuierlichen Datensignalen 102(a), die von dem DOCSIS-MAC empfangen werden, unterstützen. Die Burst-Codierungslogik 240 umfasst FIFO-Register und einen Vorwärtsfehlerkorrektur-Codierer, eine Präambel-Preend-Funktion und einen Symbol-Mapper. Das Burst-FIFO-Register entkoppelt die Eingangsdaten von der Datenübertragungsgeschwindigkeit und erlaubt den Eingang von Daten, während ein Burst aktiv übertragen wird. Der Vorwärtsfehlerkorrektur-Decodierer verarbeitet in dem FIFO gespeicherte Da ten. Bei dem Vorwärtsfehlerkorrektur-Codierer kann es sich um einen Reed-Solomon-Codierer mit Datenrandomisierung handeln. Die Umsetzung der in den Randomisierer eintretenden Bytes von parallel in seriell und die Umsetzung der aus dem Randomisierer austretenden Bits von seriell in parallel kann so programmiert werden, dass das höchstwertige Bit (MSB) oder das niedrigstwertige Bit (LSB) zuerst kommt. Der Codierer kann so programmiert werden, dass er null bis zehn Symbolfehler pro RS-Block korrigiert. Der Vorwärtsfehlerkorrektur-Codierer kann außerdem so konfiguriert werden, dass er den Randomisierer vor oder nach dem RS-Codierer integriert. Eine programmierbare Präambel von bis zu 1.024 Bit kann dann zu dem Daten-Burst hinzugefügt werden, und für den vollständigen Daten-Burst kann dann mit DQPSK, QPSK oder 16-QAM ein Mapping mit einer Phasenverschiebung von 90 Grad erfolgen.
  • Der Ausgang der Burst-Codierungslogik 240 ist mit einem Vorentzerrer 244 gekoppelt, der selektiv aktiviert werden kann, um die übertragene Wellenform vorzuverzerren, um die Auswirkungen der Intersymbolinterferenz (ISI) versetzt auftreten zu lassen. Der Daten-Burst wird dann durch Quadratwurzel-Nyquist-Filter 246, 248 geformt, die einen auswählbaren überhöhten Bandbreitenfaktor von 25% oder 50% aufweisen. Die maximale Durchlassbereichsüberlagerung dieser Filter beträgt bevorzugt weniger als 0,05 dB, und bevorzugt ist die minimale Sperrbereichsdämpfung größer als etwa 60 dB. Die geformten Signale werden an Interpolationsfilterbänke 250, 252 weitergeleitet, die das Signal zum Erreichen der Abtastrate interpolieren. Die Ausgaben dieser Filter werden dann gemischt oder auf Quadratur-Träger aufmoduliert, die durch die Mischer 254, 256 von einem digital abstimmbaren Frequenzsynthesizer 258 generiert werden. Die I- und Q-Komponenten werden dann von dem Summierer 260 kombiniert. Der Summierer 260 gibt eine digitale Wellenform, die den Daten-Burst trägt, dessen Spektrum bevorzugt auf der gewünschten Funkfrequenz zentriert wird, an einen Digital/Analog-Wandler 262 aus. Der Digital/Analog-Wandler setzt den digitalen, geformten Ausgabe-Burst in eine analoge Wellenform um. Der Digital/Analog-Wandler 262 kann eine Abtastrate von bis zu 200 MHz aufweisen. Eine programmierbare Verstärkungsdämpfungseinheit 264 kann verwendet werden, um bis zu 25 dB Dämpfung in Schritten in der Größenordnung von etwa 0,4 dB bereitzustellen.
  • 3. DOCSIS-MAC
  • Der DOCSIS-MAC (Media Access Controller) umfasst Baseline-Privacy-Verschlüsselung und -Entschlüsselung, Unterstützung für Übertragungskonvergenz, eine TDM/TDMA-Rahmenerstellungseinheit (Framer) und eine DMA-Schnittstelle für Scatter/Gather-Operationen. Die Unterschicht für die Übertragungskonvergenz unterstützt die Rahmenerfassung nach dem Robust-Frame-Verfahren und Multiplexen mit Video- und Audioströmen, die mit MPEG-TS konform sind. Die TDM/TDMA-Einheit handhabt bevorzugt die Zeitsynchronisation mit dem CMTS, die MAP-Decodierung in Upstream-Richtung, die Generierung von Bandbreitenanforderungen und die Auflösung von Reservierungswünschen. Der DOCSIS-MAC kann in vier Hauptfunktionen aufgeteilt werden, nämlich Downstream-Funktionen, Upstream-Funktionen, DMA-Schnittstelle und diverse Steuerfunktionen. Die Downstream-Funktionen des DOCSIS-MAC umfassen das Empfangen von MPEG-Rahmen 100(b) von dem Downstream-Demodulator, das Extrahieren der DOCSIS-MAC-Rahmen aus den MPEG-Rahmen, das Verarbeiten des MAC-Headers, das Filter von Nachrichten und Daten, das Verarbeiten von MAP- und SYNC-Nachrichten, das Entschlüsseln von Datenpaketen bei Bedarf, und das Bereitstellen von zyklischen Redundanzprüfungen (CRCs) an den MAC-Nutzdaten.
  • Unter Bezugnahme auf 7 kann ein Downstream-Prozessor 280 eine Schnittstelle der Bitübertragungsschicht (PHY) umfassen, welche die Schnittstelle zu dem Downstream-Demodulator (nicht gezeigt) bereitstellt. Die Bitübertragungsschicht empfängt den ankommenden MPEG-Datenstrom, führt eine Filterung anhand der vordefinierten PID durch und verwendet den in dem MPEG-Rahmen enthaltenen Offset-Wert, um die MAC-Rahmen zu finden. Die extrahierten MAC-Rahmen gelangen in einen Verarbeitungsblock für MAC-Header in einem Nachrichtenprozessor 282 und über einen FIFO zur Umsetzung der Übertragungsgeschwindigkeit in einen Verarbeitungsblock für MAC-Header in einem Downstream-DES-Prozessor (Data Encryption Security) 284, der Baseline-Sicherheit bereitstellt, indem der den QAM-Datenverkehr in Downstream-Richtung entschlüsselt. Die Verarbeitungsblöcke für MAC-Header (nicht gezeigt) untersuchen den MAC-Header auf seinen Typ, wobei der MAC-Header-Prozessor in dem Nachrichtenprozessor 282 nur MAC-Nachrichten verarbeitet, während der MAC-Header-Prozessor in dem Downstream-DES-Prozessor 284 auch Pakete verarbeitet, bei denen es sich nicht um MAC-Nachrichten handelt.
  • Der ankommende MAC-Header wird auf das Vorhandensein eines erweiterten Header-Felds hin analysiert. Wenn das erweiterte Header-Feld vorhanden ist, analysiert der Verarbeitungsblock für MAC-Header die TLV-Felder (Type-Length-Value) des erweiterten Headers und sucht nach einem Baseline-Privacy-Header. Sobald der Baseline-Privacy-Header gefunden worden ist, leitet der MAC-Header-Prozessor die damit verbundenen Wertdaten zur weiteren Analyse und Interpretation an den Downstream-DES 284 weiter. Mit Ausnahme des erweiterten Baseline-Privacy-Headers werden bevorzugt alle anderen Header-Typen von dem MAC-Header-Prozessor ignoriert. Beide Verarbeitungsblöcke für MAC-Header bestimmen die Länge des erweiterten Headers, berechnen die Header-Prüfsequenz (HCS) über den MAC-Header und vergleichen den berechneten HCS-Wert mit dem in dem MAC-Header enthaltenen Wert. Wenn bei dem beschriebenen beispielhaften Ausführungsbeispiel die berechneten HCS-Werte nicht mit den in dem MAC-Header enthaltenen Werten übereinstimmen, verwirft der MAC-Prozessor bevorzugt die Pakete und signalisiert der PHY-Schnittstelle, dass eine Neusynchronisation angefordert werden soll. Für diejenigen Pakete, bei denen die berechneten HCS-Werte mit den in dem MAC-Header enthaltenen Werten übereinstimmen, generiert der MAC-Header-Prozessor bevorzugt Steuersignale, um den Pakettyp, den Anfang des erweiterten Headers, den Anfang der Protokolldateneinheit (PDU) und die Länge der Protokolldateneinheit zu kennzeichnen. Der MAC-Header-Prozessor leitet alle Protokolldateneinheiten, die mit dem Typ des erweiterten Headers des Netzwerk-Gateways übereinstimmen, zur Entschlüsselung an den Downstream-DES 284.
  • Der Nachrichtenprozessor 282 berechnet den CRC-Wert über die Nachrichten-Nutzdaten gemäß den von dem MAC-Header-Prozessor generierten Steuersignalen und liefert Daten an die DMA-Steuereinheit 290. Es gibt eine Reihe von Fehlerbedingungen in der DMA-Schnittstelle, für die spezifische Maßnahmen erforderlich sind. Wenn von dem MAC-Header-Prozessor ein HCS-Fehler generiert wird, wird der DMA vorzeitig beendet. Wenn der CRC ein korrektes Ergebnis liefert, untersucht der Nachrichtenprozessor 282 bevorzugt das Typenfeld der Nachricht. Der Nachrichtenprozessor 282 extrahiert den Zeitstempel aus SYNC-Nachrichten und übergibt diese an die Schaltung zur Taktrückgewinnung 286. Die Schaltung zur Taktrückgewinnung 286 stellt die Taktrückgewinnung unter Verwendung der Zeitstempelwerte aus den SYNC-Nachrichten bereit. Zusätzlich leitet der Nachrichten prozessor 282 Nachrichten, die der Upstream-Kanal-ID und der UCD-Änderungsanzahl entsprechen, an einen MAP-Prozessor 288 weiter. Die übrigen Nachrichten mit gültigem CRC werden über einen FIFO zur Anpassung der Übertragungsgeschwindigkeit an einen Downstream-Nachrichten-DMA 290 übergeben. Wenn der FIFO in voll gefülltem Zustand angetroffen wird, verwirft der DMA das aktuelle Paket, löscht den FIFO und wartet, bis das nächste Paket ankommt.
  • Der Downstream-DES 284 empfängt Datenpakete und Steuersignale von dem Header-Prozessor in dem Downstream-Prozessor 280. Der Downstream-DES 284 bestimmt, welcher Typ von Filterung auf der Grundlage von in dem MAC-Header enthaltenen Informationen auf das Paket angewendet werden soll. Wenn ein Paket Baseline-Privacy unterstützt, filtert der Downstream-DES das Paket auf der Grundlage des SID-Kenners (Silence Identifier). Der DES 284 entschlüsselt bevorzugt Pakete unter Verwendung des Schlüssels, welcher dem SID-Kenner und dem geraden/ungeraden Schlüsselbit in dem Baseline-Privacy-Header entspricht. Der DOCSIS-MAC führt keine Entschlüsselung bei Paketen durch, die keinen Baseline-Privacy-Header enthalten. Der DES 284 filtert bevorzugt Pakete auf der Grundlage der Zieladresse und leitet die gefilterten Pakete an einen CRC-Prozessor (nicht gezeigt) weiter, der einen CRC-32-Wert über die gesamten Nutzdaten der Protokolldateneinheit (PDU) berechnet. Wenn der berechnete CRC-Wert nicht mit dem in dem Paket gespeicherten Wert übereinstimmt, wird ein CRC-Fehler-Flag gesetzt, und das Paket wird in dem Downstream-DMA-Puffer als verirrt gekennzeichnet.
  • Der Downstream-DMA 290 wird verwendet, um Daten an einen Systemspeicher (nicht gezeigt) zu übertragen. Der Downstream-DMA 290 kann zwei Kanäle aufweisen, von denen einer dazu verwendet wird, Daten in den Systemspeicher zu übertragen, und der andere dazu verwendet wird, Nachrichtenpakete in den Speicher zu übertragen. Die beiden Kanäle können von ihrer Funktion her im Wesentlichen identisch sein. Der Downstream-DMA kann Strukturen in dem Speicher nutzen, um die Übertragung von Informationen zu steuern. Die Strukturen können durch Firmware festgelegt und verwaltet werden. Daten können in Bereichen des Speichers, so genannten Partikeln, gespeichert werden. Eine Struktur enthält einen Ring aus Pufferdeskriptoren, wobei jeder Pufferdeskriptor Partikel in dem freigegebenen Speicher beschreibt. Der DMA kann empfangene Downstream-Daten in den Partikeln speichern und den Status und die Länge in dem Pufferdeskriptor aktualisieren. Bei der anderen Struktur handelt es sich um einen zusätzlichen Ring von Deskriptoren, die verwendet werden, um sich auf einzelne Pakete zu beziehen. Dort, wo ein Paket in einer beliebigen Anzahl von Partikeln, die von einer gleichen Anzahl von Pufferdeskriptoren beschrieben werden, enthalten sein kann, ist nur ein Paketdeskriptor mit dem Paket verbunden.
  • Der Upstream-DMA 292 kann 16-Upstream-Kanäle umfassen, die Upstream-Paket-Header und Protokolldateneinheiten (PDUs) aus dem Systemspeicher lesen. Der Upstream-DMA 292 kann bevorzugt die HCS-, CRC- und "Huckepack"-Felder einfügen, wenn Pakete an einen Upstream-DES 294 übertragen werden. Der Upstream-DES 294 untersucht den erweiterten Header, um zu bestimmen, ob die Verschlüsselung aktiviert ist. Wenn die Verschlüsselung nicht aktiviert ist, leitet der Upstream-DES 294 das Paket an den Upstream-Prozessor 296 weiter, ansonsten verwendet der Upstream-DES 292 bei aktivierter Verschlüsselung bevorzugt den SID-Kenner und das gerade/ungerade Schlüsselbit in dem erweiterten Header, um eine Schlüsselsuche durchzuführen. Der Upstream-DES 292 verschlüsselt dann das Paket und leitet das Paket an den Upstream-Prozessor 294 weiter. Der Upstream-Prozessor 294 extrahiert MAC-Informationselemente (IEs) aus dem MAP-IFO und vergleicht die Elemente mit einer nächsten Anzahl von Upstream-Minizeitschlitzen. Wenn die Anzahlen übereinstimmen, wertet der Upstream-Prozessor 294 den Typ von Schlitz aus, der durch das MAP-Informationselement beschrieben wird. Wenn das Netzwerk-Gateway auf das Informationselement antworten muss, lädt der Upstream-Prozessor 294 bevorzugt die geeigneten Parameter für die Bitübertragungsschicht in den Upstream-Modulator 102 (siehe 3) und leitet die geeignete Nachricht oder das geeignete Datenpaket weiter. Diese Operation hängt von dem Zeitschlitztyp und dem Status des Netzwerk-Gateways ab. Der Upstream-Prozessor 296 antwortet bevorzugt auf Zeitschlitze für anfängliche Wartung und ignoriert alle Zeitschlitze für Stationswartung und Anforderungen, bis der MIPS-Kern 128 (siehe 3) signalisiert, dass das Netzwerk-Gateway anfänglich eingeordnet und ihm ein SID-Kenner (temporär oder permanent) zugewiesen worden ist. Der Upstream-Prozessor 296 antwortet auf Zeitschlitze für anfängliche Wartung, indem er die Ordnungsanforderungsnachricht aus dem von dem MIPS-Kern programmierten internen Speicher extrahiert. Sobald das Netzwerk-Gateway anfänglich eingeordnet wurde, antwortet der Upstream-Prozessor 296 auf Stationsnachrichten, Anforderungen, An forderungs-/Datenbereiche und Bewilligungen und nicht auf Nachrichten für anfängliche Wartung.
  • Nachdem das Einordnen erfolgt ist, überwacht der Upstream-Prozessor 296 die Upstream-DMA-Warteschlangen. In dem beschriebenen beispielhaften Ausführungsbeispiel gibt es 16 unabhängige Upstream-Warteschlangen, die von dem Upstream-DMA 292 verwaltet werden. Wenn ein Paket zur Übertragung bereit ist, wählt der Upstream-Prozessor zufällig einen der verfügbaren Anforderungszeitschlitze aus. Der Upstream-Prozessor 296 wartet dann darauf, eine Bewilligung, eine Quittierung (Bewilligung mit der Länge null) oder eine Quittierungszeit zu empfangen, die später ist als die Zeit, zu der er seine Anforderung in Upstream-Richtung gesendet hat. Wenn der Upstream-Prozessor 296 keine Quittierung oder Bewilligung empfängt, bevor die Quittierungszeit vergangen ist, verwendet der Upstream-Prozessor 296 bevorzugt das Truncated-BEB-Verfahren (Binary Exponential Back-Off), um einen weiteren Zeitschlitz zum erneuten Senden seiner Anforderung auszuwählen. Nach der Bewilligung signalisiert der Upstream-Prozessor 296 dem Upstream-DMA 292, dass er mit dem Extrahieren des Pakets aus dem Speicher und mit dem Weiterleiten des Pakets an den Upstream-DES zur Verarbeitung wie oben beschrieben beginnen soll. Der Upstream-Prozessor 296 leitet dann das Paket zu dem geeigneten Übertragungszeitpunkt an den Upstream-Modulator (nicht gezeigt) weiter.
  • 4. Integrierter Ethernet-MAC
  • Unter Bezugnahme auf 3 führt der integrierte Ethernet-MAC alle Schnittstellenfunktionen auf der Bitübertragungsschicht für 100BASE-TX-Vollduplex-Ethernet oder 100BASE-TX-Halbduplex-Ethernet auf CAT 5-Twisted-Pair-Kabeln und für 10BASE-T-Vollduplex-Ethernet oder 10BASE-T-Halbduplex-Ethernet auf CAT 3, 4 oder 5-Twisted-Pair-Kabeln durch. Der Ethernet-MAC 122 kann über die medienunabhängige Schnittstelle 110 direkt mit dem Ethernet-Netzwerk gekoppelt sein. In dem 100BASE-TX-Modus überwacht der Ethernet-MAC 122 bevorzugt das Twisted-Pair-Kabel auf Übergänge bei dem Energiepegel des empfangenen Signals. Signale können unter Verwendung von Squelch-Erkennungsschaltungen näher bestimmt werden. Der Ethernet-MAC wechselt in einen "Verbindungsfehler"-Status und bleibt in diesem, wenn auf dem Twisted-Pair-Empfangskabel keine gültigen Signale erkannt werden. In dem Verbindungsfehler-Status überträgt der Ether net-AC 122 bevorzugt Leerlaufcodes. Wenn der Ethernet-MAC 122 einen vorbestimmten Zeitraum lang ein gültiges Signal erkennt, wechselt der Ethernet-MAC 122 einen Verbindungsübergabestatus, und die geeigneten Sende- und Empfangsfunktionen werden aktiviert.
  • Der Ethernet-MAC 122 stellt bevorzugt die Möglichkeit bereit, seine Betriebsart über die Twisted-Pair-Verbindung unter Verwendung des in den IEEE 802.3u-Spezifikationen definierten Mechanismus zur automatischen Aushandlung auszuhandeln. Die automatische Aushandlung sollte selektiv von dem Ethernet-MAC aktiviert werden. Wenn sie aktiviert ist, wählt der Ethernet-MAC 122 bevorzugt eine Betriebsart aus, indem er seine Möglichkeiten ankündigt und diese Möglichkeiten mit denen vergleicht, die er von seinem Verbindungspartner empfangen hat.
  • 8 zeigt den Teil der physischen Schnittstelle des Ethernet MAC 122. Der Ethernet-MAC 122 kann 4B5B-, MLT3- und Manchester-Codierung und -Decodierung durchführen. Für den 100BASE-TX-Modus aktiviert der Ethernet-MAC einen 4B5B-Codierer 316. Das Sendepaket wird verkapselt, indem die ersten beiden Nibbles durch eine Kennzeichnung für den Anfang des Datenstroms ersetzt werden und an das Ende des Pakets eine Kennzeichnung für das Ende des Datenstroms angehängt wird. Der Sender versendet die Codegruppe mit dem Leerlaufsignal (Idle Code Group) wiederholt zwischen den Paketen. Wenn die Aktivierung des Sendens über die MII zugesichert ist, werden Daten in den Sende-Datenstrom eingefügt. Der codierte Datenstrom wird durch einen Datenstromverschlüsselungs-Scrambler 318 verwürfelt, um abgestrahlte Emissionen auf dem Twisted-Pair-Kabel zu verringern, von einem Serialisierer 320 serialisiert und in MLT3-Signalpegel codiert. Ein Digital/Analog-Wandler (DAW) für Multimode-Übertragung 322 kann verwendet werden, um die MLT3-Daten auf das Twisted-Pair-Kabel zu bringen. Der Multimode-DAW kann nach dem MLT3-Verfahren codierte Symbole in dem 100Base-TX-Modus und nach dem Manchester-Verfahren codierte Symbole in dem 10BASE-TX-Modus übertragen. Der DAW kann eine programmierbare Flankenratensteuerung in dem Sendemodus durchführen, was unerwünschte Hochfrequenzsignalkomponenten abschwächt. Eine Hochfrequenz-Präemphase wird bevorzugt in dem 10BASE TX-Modus durchgeführt.
  • Der Ethernet-MAC 122 kann einen kontinuierlichen Datenstrom auf einem Twisted-Pair-Kabel empfangen. Ein 100BASE-TX-Datenstrom ist nicht immer gleichstromfrei, weil das Empfangssignal einen Transformator durchlaufen muss, und daher kann der Gleichstrom-Offset des differenziellen Empfangseingangs wandern. Grundlinienwanderung kann die Rauschimmunität des Empfängers verringern. Eine Logik zur Korrektur der Grundlinienwanderung 300 kann verwendet werden, um die Grundlinienwanderung durch Entfernen des Gleichstrom-Offsets aus dem Eingangssignal auszugleichen und dadurch die Empfangssymbol-Fehlerrate zu verringern. Jeder Empfangskanal des Ethernet-MAC 122 kann einen Analog/Digital-Wandler (ADW) 302 umfassen. In dem Ethernet-MAC handelt es sich bei dem ADW 302 beispielshalber um einen 6-Bit-ADW bei 125 MHz, der die ankommenden, analogen Daten auf dem Empfangskanal abtastet und ein 6-Bit-Ausgangssignal erzeugt. Das ADW-Ausgangssignal wird an einen digitalen adaptiven Entzerrer 304 weitergeleitet, der von den Übertragungskanalmedien erzeugte Interzoneninterferenzen entfernt. Der Ethernet-MAC 122 kombiniert FFE-Entzerrung (Feed Forward Equalization) und DFE-Entzerrung (Decision Feedback Equalization), um einen optimalen Signal-Rausch-Abstand zu erreichen. Die digitale Konstruktion erhöht die Toleranzen bezüglich Rauschen auf dem Chip, und die Filterkoeffizienten führen bevorzugt eine Eigenanpassung an jede beliebige Qualität des Kabels oder jede beliebige Kabellänge durch. Der adaptive Entzerrer kann in dem 10BASE-TX-Modus, der eine Funktionalität für eine Vorentzerrung beim Senden umfasst, umgangen werden.
  • Der Ethernet-MAC 122 kann ein digitales Taktrückgewinnungs-/Taktgeneratorsystem 306 umfassen, das alle internen Sende- und Empfangstakte erzeugt. Die Sendetakte können auf einen 50 MHz-Takteingang synchronisiert werden, während die Empfangstakte mit den ankommenden Datenströmen gekoppelt werden. Die für die MLT3- und Manchester-Codierungsschemata optimierten Taktrückgewinnungsschaltungen können zur Verwendung mit jeder von drei verschiedenen Betriebsarten umfasst sein. Die Eingangsdatenströme können durch den rückgewonnenen Takt von jedem Port abgetastet und synchron dem jeweiligen digitalen adaptiven Entzerrer zugeführt werden.
  • Nach der Korrektur der Grundlinienwanderung, der adaptiven Entzerrung und der Taktrückgewinnung setzt ein Datenwandler 308 den empfangenen Datenstrom von MLT3- in NRZ-Daten um. Die NRZ-Daten werden von einem Stromverschlüsselungs-Descrambler 310 entwürfelt, und dann deserialisiert der Deserialisierer 312 die Daten und richtet sie in 5-Bit-Codegruppen aus. Die 5-Bit-Codegruppen werden von einem Decodierer 314 in 4-Bit-Daten-Nibbles decodiert. Die Kennzeichnung für den Anfang des Datenstroms wird durch Präambel-Nibbles ersetzt, und die Kennzeichnung für das Ende des Datenstroms und die Leerlaufcodes werden durch Nullen ersetzt. Wenn in dem Datenstrom eine ungültige Codegruppe erkannt wird, sichert der Ethernet-MAC 122 das RXER-Signal für MII-Empfangsfehler zu, das mehrere Fehlerbedingungen zusichert, die verwendet werden können, um den Datenstrom nicht ordnungsgemäß zu beenden. Während der Zusicherung des RXER-Signals können die Empfangsdaten mit "01" für einen ungültigen Datenempfang und mit "10" für einen falschen Träger angesteuert werden.
  • 9 zeigt den Steuereinheitenteil des Ethernet-MAC 122. Der MAC-Empfänger leitet 1 Nibble breite MII-Daten durch die CRC-Prüfeinheit 332 an einen Puffer 330, wo sie zu 32 Bit langen Wörtern zusammengesetzt werden können. Die Daten werden an ein 256 Byte langes FIFO-Register 334 weitergeleitet, das durch die ISB-Schnittstelle 336 mit dem internen Systembus (ISB) (nicht gezeigt) gekoppelt ist. Die Ethernet-Paketdaten werden von dem FIFO 334 durch die DMA-Steuereinheit 150 (nicht gezeigt) in den Systemspeicher verlagert. Der MAC-Sender enthält ein 256 Byte langes FIFO-Register 338, das durch die ISB-Schnittstelle 336 mit dem internen Systembus (ISB) (nicht gezeigt) gekoppelt ist. Ein Ethernet-Paket kann von dem Systemspeicher (nicht gezeigt) durch die DMA-Systemsteuereinheit (nicht gezeigt) in den FIFO 338 verlagert werden. Die Daten können durch einen Sende-Zustandsautomaten (nicht gezeigt) über den Datenpuffer 340 an die medienunabhängige Schnittstelle (MII) (nicht gezeigt) weitergeleitet werden. Der Sende-Zustandautomat leitet die Übertragung des Pakets an die MII (nicht gezeigt) ein, wenn ein FIFO-Höchst- bzw. -Niedrigststand erreicht ist oder ein Ende eines Pakets empfangen wird. Der Sende-Zustandsautomat stellt außerdem sicher, dass die korrekte IPG-Dauer (Inter-Packet Gap) abgelaufen ist, bevor die Paketübertragung aus dem Datenpuffer 340 zu der MII (nicht gezeigt) eingeleitet wird.
  • Zunächst können die Präambel und die Kennzeichnung für den Anfang eines Rahmens (SFD) über die MII übertragen werden, gefolgt von der Übertragung der eigentlichen Daten. Wenn das Paket kürzer als 64 Byte ist, können lauter Null-Füll bytes an den Rahmen angehängt werden. Der CRC-Generator 342 generiert automatisch einen CRC-Wert, der angehängt wird, wenn das Paket kürzer als 64 Byte ist.
  • 5. USB-Transceiver und MAC
  • Das beispielhafte Netzwerk-Gateway umfasst bevorzugt eine mit USB 1.1 konforme Schnittstelle für eine Vorrichtung mit voller Geschwindigkeit (12 Mbit/sec). Die USB 1.1-Spezifikation definiert einen USB mit Industriestandard. Die Spezifikation beschreibt die Busattribute, die Protokolldefinition, die Transaktionstypen, die Busverwaltung und die Programmierschnittstelle, die erforderlich ist, um Systeme und Peripheriegeräte zu konstruieren und zu bauen, die mit diesem Standard konform sind. Die USB 1.1-Spezifikation ist per Bezugnahme so in dieses Dokument aufgenommen, als wenn sie in vollständigem Wortlaut dargelegt wäre. Der USB kann eine allgegenwärtige Verbindung bereitstellen, die über eine breite Palette von Interconnect-Verbindungen zwischen PCs und Telefonen verwendet werden kann.
  • Die USB-Schnittstelle in dem beschriebenen Ausführungsbeispiel unterstützt 16 Konfigurationen, 4 parallele Schnittstellen pro Konfiguration, 4 alternative Schnittstellen pro Schnittstelle und 6 parallele Endpunkte. Bei einem Endpunkt handelt es sich um einen eindeutig. identifizierbaren Teil einer USB-Vorrichtung, die den Abschluss eines Datenpfads zwischen dem Host (MIP-Kern) und der Vorrichtung darstellt. Jede logische USB-Vorrichtung ist aus einer Sammlung von unabhängigen Endpunkten zusammengesetzt. Jede logische Vorrichtung weist eine eindeutige Adresse auf, die ihr zu dem Zeitpunkt, an dem sie an das System angeschlossen wird, von diesem zugewiesen wird. Jedem Endpunkt an einer Vorrichtung wird ein eindeutiger, von der Vorrichtung bestimmter Kenner zugewiesen, der Endpunkt-Nummer genannt wird. Jeder Endpunkt weist eine von der Vorrichtung bestimmte Datenflussrichtung auf. Die Kombination aus der Vorrichtungsadresse, der Endpunkt-Nummer und der Richtung erlaubt eine eindeutige Referenzierung jedes Endpunkts. Bei jedem Endpunkt handelt es sich um eine Simplex-Verbindung, die den Datenfluss in eine Richtung unterstützt: entweder Eingang (von der Vorrichtung zu dem Host) oder Ausgang (von dem Host zu der Vorrichtung). Ein Endpunkt weist Merkmale auf, die den Typ des Übertragungsdienstes bestimmen, der zwischen dem Endpunkt und der Client-Software erforderlich ist.
  • 10 zeigt den USB-Transceiver. Der USB-Transceiver verwendet einen differenziellen Ausgangstreiber 370, um das USB-Datensignal gemäß der USB 1.1-Spezifikation auf das USB-Kabel zu bringen. Bei dem Treiber kann es sich um einen CMOS-Treiber mit einer Impedanz handeln, die geringer ist als der in der USB 1.1-Spezifikation angegebene Widerstand, so dass ein eigenständiger, in Reihe geschalteter Widerstand eingeschlossen sein kann, um den Ausgleich wie erforderlich herzustellen. Ein differenzieller Eingangsempfänger 372 kann das USB-Datensignal annehmen. Die Empfängerempfmdlichkeit kann mit einer Eingangsempfindlichkeit (VDI) von wenigstens etwa 200 mV mit der USB 1.1-Spezifikation konform sein, wenn beide differenziellen Dateneingänge sich auf der gemeinsamen differenziellen Leitung befinden. Zusätzlich zu dem differenziellen Empfänger kann der beschriebene beispielhafte USB-Transceiver einen einpolig geerdeten Empfänger 374, 376 für jede der beiden Datenleitungen umfassen. Der Transceiver kann Datenübertragungsgeschwindigkeiten sowohl mit voller als auch mit geringer Geschwindigkeit so unterstützen, dass jeder beliebige Typ von Vorrichtung mit diesen Ports gekoppelt sein kann. Wenn sich der Transceiver in dem Modus für volle Geschwindigkeit befindet, kann er Signalisierungsvereinbarungen und Flankenraten für volle Geschwindigkeit verwenden. In der niedrigen Geschwindigkeit kann er Signalisierungsvereinbarungen und Flankenraten für niedrige Geschwindigkeit verwenden. Der beschriebene beispielhafte Transceiver nutzt bevorzugt zwei logische Pegel, die Datenzustände J und K, um Differenzialdaten in dem System zu übermitteln. Die differenzielle Signalisierung ist mit den Kreuzungsspannungsanforderungen von Abschnitt 7.1.2 der USB 1.1-Spezifikation konform.
  • 10A zeigt den USB-MAC. Der USB-MAC umfasst einen USB-Paketprozessor 380, der Bulk-In/Out-Endpunkte mit Paketgrößen von 8, 16, 32 oder 64 Byte unterstützt. Der USB-Paketprozessor 380 fragmentiert USB-Pakete und setzt sie zu höherschichtigen Paketen mit automatischer Erkennung von USB-Paketen mit der Länge null erneut zusammen. Das interne USB-Konfigurations-RAM 381 erlaubt eine flexible Konfiguration der USB-Schnittstelle. Das Konfigurations-RAM 381 kann Speicherplatz in der Größenordnung von wenigstens 512 Byte für die USB-Konfigurationsdeskriptoren bereitstellen. Bei dem Einschalten des Netzwerk-Gateways programmiert der MIPS-Kern das Konfigurations-RAM 381 mit einer USB-Deskriptorsequenz. Der MIPS-Kern liest die Werte aus dem Konfiguration-RAM zurück, um die Exaktheit der Deskriptoren in dem RAM zu prüfen. Der MIPS-Kern aktiviert den USB-Betrieb.
  • Der USB-MAC kann mehrere Konfigurationen, Schnittstellen, alternative Schnittstellen und Endpunkte unterstützen. Die Größe des Konfigurations-RAM stellt eine Begrenzung für die Gesamtlänge der Deskriptorsequenz dar. Daher kann die Größe des Konfigurations-RAM für die Integration in diverse Anwendungen optimiert werden, die möglicherweise mehr als die beschriebenen 512 Byte Speicherplatz erfordern. Es gibt fünf Deskriptoren, nämlich den Gerätedeskriptor, den Konfigurationsdeskriptor, den Zeichenfolgendeskriptor sowie den Schnittstellen- und den Endpunktdeskriptor. Eine Deskriptorsequenz enthält einen Gerätedeskriptor und einen oder mehrere Konfiguration-, Schnittstellen- und Endpunktdeskriptoren. Die Länge eines Geräte-/Konfiguration-/Schnittstellendeskriptors beträgt neun Byte, und die Länge eines Endpunktdeskriptors beträgt sieben Byte. Zeichenfolgendeskriptoren werden nicht in dem Konfigurations-RAM gespeichert.
  • Der USB-MAC verarbeitet alle erforderlichen Standardanforderungen für USB-Vorrichtungen in der Hardware, einschließlich der Befehle clear_feature, get_configuration, get_descriptor, get_interface, get_status, set_address, set_configuration, set_feature und set_interface. Der USB-MAC extrahiert optionale sowie klassen-/anwenderspezifische Befehle, wie zum Beispiel set_descriptor, synchr_frame und get_string_descriptor und leitet diese Befehle zur Verarbeitung an den MIPS-Kern weiter. Nach dem Empfang solcher Vorrichtungsanforderungen setzt der USB-MAC bevorzugt einen Interrupt an den MIPS-Kern ab, der dann den Einrichtungsbefehl extrahiert und verarbeitet.
  • Bei dem beschriebenen beispielhaften Ausführungsbeispiel des Netzwerk-Gateways gibt es bevorzugt sechs physische USB-Endpunkte: einen Bulk-Empfangs-(RX)-Endpunkt, einen Bulk-Sende-(TX)-Endpunkt, einen isochronen Empfangs-(RX)-Endpunkt, einen isochronen Sende-(TX)-Endpunkt und einen Interrupt-Empfangs-(RX)-Endpunkt. Eine isochrone Übertragung kann garantierten Zugriff auf USB-Bandbreite mit begrenzter Latenzzeit und eine garantierte konstante Datenübertragungsgeschwindigkeit durch die Pipe so lange bereitstellen, wie Daten der Pipe bereitgestellt werden. Bei dem Endpunkt kann es sich um eine gegebene Konfiguration handeln, welche die maximale Menge von Nutzdaten angibt, die er senden oder empfangen kann. Der USB nutzt diese Informationen während der Konfiguration, um sicherzustellen, dass ausreichend Buszeit verfügbar ist, um diese maximale Menge von Nutzdaten in jedem Rahmen unterzubringen. Wenn ausreichend Buszeit für die maximale Menge von Nutzdaten vorhanden ist, wird die Konfiguration erstellt; wenn nicht, wird die Konfiguration nicht erstellt. Der Interrupt-Übertragungstyp unterstützt diejenigen Vorrichtungen, die weniger oft, aber mit begrenzten Dienstzeiträumen, geringe Mengen von Daten senden oder empfangen. Eine Interrupt-Übertragung stellt für den Fall gelegentlichen Scheiterns der Lieferung auf Grund eines Fehlers auf dem Bus bevorzugt einen garantierten maximalen Dienstzeitraum für die Pipe sowie einen Versuch zur erneuten Übertragung der Daten in dem nächsten Zeitraum bereit. Die Endpunktbeschreibung identifiziert, ob der Kommunikationsfluss eines gegebenen Interrupts in den Host hinein oder aus diesem heraus verläuft.
  • Bulk-Übertragungen können den Austausch von relativ großen Datenmengen zu stark unterschiedlichen Zeiten unterstützen, in denen die Übertragung jegliche verfügbare Bandbreite verwenden kann. Bulk-Übertragungen stellen bevorzugt Zugriff auf den USB auf der Grundlage der verfügbaren Bandbreite, mit garantierter Lieferung von Daten, aber ohne garantierte Bandbreite oder Latenzzeit bereit. Zusätzlich versuchen Bulk-Übertragungen bevorzugt ein erneutes Senden, falls die Lieferung fehlschlägt. Der Bulk-Endpunkt gibt die maximale Menge von Nutzdaten an, die der Endpunkt von dem Bus annehmen oder an diesen senden kann. Dieser Maximalwert gilt für die Nutzdaten der Datenpakete; das heißt, die angegebene Menge gilt für das Datenfeld des Pakets und umfasst keine weiteren von dem Protokoll geforderten Informationen. Der Bulk-Endpunkt ist so konzipiert, dass er eine maximale Menge von Nutzdaten unterstützt. Der Bulk-Endpunkt meldet den Wert für seine maximale Menge von Nutzdaten bevorzugt in seinen Konfigurationsinformationen. Der USB erfordert nicht, dass gesendete Nutzdaten exakt die maximale Größe aufweisen, das heißt, wenn Nutzdaten kleiner sind als die Maximalgröße, brauchen sie nicht auf die Maximalgröße aufgefüllt zu werden. In dem beschriebenen beispielhaften Ausführungsbeispiel können sowohl der Bulk-Empfangs-(RX)-Endpunkt als auch der Bulk-Sende-(TX)-Endpunkt eine maximale USB-Paketgröße von 8, 16, 32 oder 64 Byte unterstützen. Sowohl der isochrone Empfangs-(RX)-Endpunkt als auch der isochrone Sende-(TX)-Endpunkt 382, 383 können eine maximale USB-Paketgröße von 8, 16, 32, 64, 128, 256 oder 512 Byte unterstützen. Die Steuerendpunkte können eine maximale Paketgröße von 32 Byte unterstützen, und der Interrupt-Empfangs-(RX)-Endpunkt kann eine maximale USB-Paketgröße von 8 Byte unterstützen.
  • Sowohl die Bulk- als auch die isochronen Endpunkte 382, 383 können hardwareseitig die Fragmentierung von Paketen höherer Schichten (wie beispielsweise Ethernet-Pakete) in USB-Pakete in der Senderichtung und das Wiederzusammensetzen von Paketen höherer Schichten aus USB-Paketen in der Empfangsrichtung unterstützen. Ein Flag für das Ende eines Pakets kann verwendet werden, um zu signalisieren, wann ein USB-Paket kleiner ist als die durch den Endpunkt definierte maximale Paketgröße. In dem Fall, in dem die Länge des Pakets für die höhere Schicht exakt ein ganzzahliges Vielfaches der maximalen USB-Paketgröße beträgt, kann an dem Ende des Pakets ein Paket mit der Länge null eingefügt werden. Der USB-MAC unterstützt die Generierung von Paketen mit der Länge null in der Senderichtung und die Erkennung von Paketen mit der Länge null in der Empfangsrichtung.
  • Der USB-MAC kann internes Empfangs-(RX)- und Sende-(TX)-RAM 384, 385 für temporäres Puffern von Daten zwischen den Bulk-, isochronen und Steuerendpunkten umfassen. Die Endpunkte werden dann an den Systemspeicher weitergeleitet. Der USB umfasst bevorzugt vier DMA-Kanäle (Direct Memory Access) für den schnellen Zugriff auf den und von dem über eine Systembusschnittstelle 386 mit dem internen Systembus (ISB) gekoppelten Systemspeicher. Bevorzugt werden zwei DMA-Kanäle für Bulk-Empfangs-(RX)-/Sende-(TX)-Endpunkte verwendet, und zwei werden für isochrone Empfangs-(RX)-/Sende-(TX)-Endpunkte verwendet.
  • 6. Audio-Prozessor
  • Das Audio-Prozessormodul stellt eine Schnittstelle zwischen dem Sprachprozessor und externen Teilnehmerleitungs-Schnittstellenschaltungen (SLICs) bereit. Unter Bezugnahme auf 3 umfasst der Audio-Prozessor einen analogen Eingangsabschnitt 172, der einen bidirektionalen Austausch von Signalen über die Sprachbandbreite bereitstellt, was auch mit einem Träger für das Sprachband modulierte Sprach- oder Fax-/Modemdatensignale umfasst. Der analoge Eingangsabschnitt 172 kann vier getrennte Sprachkanäle umfassen, wobei ein Eingangsabschnitt 172 vier Paare von 14-Bit-Analog/Digital-Wandlern (ADWs) und 14-Bit-Digital/Analog-Wandlern (DAWs) aufweist.
  • 11 zeigt ein Blockdiagramm des analogen Eingangsabschnitts des Audio-Prozessors. Die digitalen Eingangs-/Ausgangsdaten des DAW/ADW können in dem DSP-Logikblock des Codec interpoliert/dezimiert werden, um Eingangs-/Ausgangsdaten für den Audio-Prozessor 170 mit 14 Bit, 8 kHz bereitzustellen. Ein Paar von Widerständen 391a, 391b an dem Ausgang jedes DAW 390 setzt das Stromausgangssignal in eine Spannung um. Ein Paar von Schaltern 393 kann zwischen dem Ausgang des DAW und dem Eingang des ADW bereitgestellt werden, um eine analoge Prüfschleifen-Testfunktionalität bereitzustellen.
  • Der analoge Eingangsabschnitt kann einen Gleichtakt-Spannungspegelgenerator 394 umfassen, der einen externen Gleichtakt-Spannungspegel umfasst. Mit dem Gleichtakt-Spannungspegelgenerator 394 gekoppelte passive externe Schaltungen können verwendet werden, um den Gleichstrompegel der wechselstromgekoppelten Eingangssignale für die ADWs 392 herzustellen. Eine Spannungsreferenz 396 kann verwendet werden, um Signale und Vorspannungsströme für jedes der ADW/DAW-Paare bereitzustellen und einen Vorspannungsstrom für den Gleichtakt-Spannungspegelgenerator 394 bereitzustellen. Die Referenz kann mit einer externen Referenz übersteuert werden oder extern abgeklemmt bleiben, so dass es der internen Bandlücke erlaubt wird, die Referenzspannung einzustellen. Ein Taktgenerator 398 kann verwendet werden, um den Phasenregelkreis (PLL) bei 98,304 MHz auf 49,152 MHz, 24,576 MHz und 12,288 MHz herunterzutakten. Der Taktgenerator 398 stellt einen Abtasttakt für den ADW 390 und den DAW 392 bereit.
  • Die externe analoge Schnittstelle zwischen jedem Kanal des analogen Audio-Eingangsabschnitts und einer externen Teilnehmerleitungs-Schnittstellenschaltung (SLIC) ist in 11A gezeigt. In dem beschriebenen beispielhaften Ausführungsbeispiel setzen die analogen Eingangsabschnitt-Widerstände 391a und 391B das Stromausgangssignal des DAW 390 in ein Spannungssignal um. Die Kondensatoren 402a, 402b und 402c stellen Tiefpass-Glättung und Anti-Aliasing-Filterung des gedämpften Signals bereit. Der Operationsverstärker 404 stellt signalseitige differenzielle Umsetzung und Verstärkung des DAW-Ausgangssignals bereit, das dann an die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 406 weitergeleitet werden kann. In der Senderichtung stellt ein RC-Netzwerk an dem Eingang des ADW 392 ausgeglichene Impedanzen an beiden ADW-Eingangskontakten bereit und stellt eine Dämpfung des Sendesignals an dem positiven Eingang bereit. Die Schnittstelle mit ausgeglichener Impedanz stellt sicher, dass von der Stromversorgung und von dem digitalen Substrat stammendes Rauschen die ADW-Eingänge gleich stark beeinflussen. Der ADW 392 tastet die Differenz zwischen den Spannungen an den Eingängen 408, 410 so ab, dass Gleichtaktrauschen abgewiesen werden kann. Die passiven Komponenten fixieren den ADW-Eingang 410 bei einem konstanten Gleichstrompegel, der gleich dem von dem Gleichtaktgenerator 394 ausgegebenen Gleichtaktpegel 412 ist. Der ADW-Eingang 408 variiert in direktem Verhältnis zu dem Sendesignal 414 aus der Teilnehmerleitung-Schnittstellenschaltung (SLIC) 406.
  • Unter Bezugnahme auf 12 synchronisiert eine Sprachsynchronisiereinheit 419 die von dem ADW 392 empfangenen Sprachabtastungen der lokalen Seite auf den Mittelwert des Takts der Schaltung zur Taktrückgewinnung, um sicherzustellen, dass der Sprachaustausch zwischen dem Netzwerk-Gateway und dem CMTS kein Taktzittern (Jitter) auf Grund von Datenüberlauf oder -unterlauf einbringt. Ein Dezimator 420 verringert die Abtastrate des synchronisierten Ausgangssignals der Sprach-Synchronisiereinheit 419 von 96 kHz auf 8 kHz. Der Dezimator 420 kann mit einem Filter mit endlicher Impulsantwort (FIR-Filter) implementiert sein, bei dem es sich um ein Minimalphasenfilter oder um ein Linearphasenfilter handeln kann. Ein Minimalphasenfilter wird für Anwendungen wie beispielsweise Sprache bevorzugt, bei denen eine niedrige Gruppenverzögerung benötigt wird, aber durch das Minimalphasenfilter eingebrachte Gruppenverzögerungsverzerrungen toleriert werden können. Das Linearphasenfilter wird für Fax- und Datenmodemanwendungen bevorzugt. Der Dezimator kann verwendet werden, um Signale, die nicht durch die niedrigere Abtastrate dargestellt werden können, zu dämpfen und dann von je 12 Abtastungen 11 zu löschen. Wenn eine Abtastung an dem Ausgang nicht verwendet wird, besteht keine Notwendigkeit, ihren Wert zu berechnen. Daher kann die Realisierung des Dezimators mit einem FIR-Filter mit endlicher Impulsantwort so eingerichtet werden, dass von 12 Abtastungen nur die eine benötigte berechnet und dann die Datenmenge um 12 Abtastungen weitergeschoben und der nächste Ausgang berechnet wird, wodurch auf die dazwischen liegenden 11 Abtastungen verzichtet wird.
  • Das dezimierte Signal kann durch ein 60-Hz-Hochpassfilter 422 gefiltert werden. Das Filter 422 verringert die 60-Hz-Störungen, die auf der Sendeleitung auf Grund der Nähe zu Stromkabeln induziert werden. Das Filter stellt eine Dämpfung in der Größenordung von 20 dB bei 60 Hz relativ zu dem Verlust auf dem Sendepfad bei 1004 Hz bereit. Das gefilterte Signal kann durch einen Netzwerk-Echounterdrücker 424 aufbereitet werden. Der Netzwerk-Echounterdrücker kann eine Schnittstelle zu den ITU-T-Codierem gemäß G.711, G.726, G.728 und G.729 bilden. Die Gegensprechlogik 423 kann Steuerfunktionen einschließlich Spracherkennung, automatische Signalpegelregelung, Ausgleich für die Sende-/Empfangs-Verstärkungsumschaltung, Rauschpegelschätzung und Gegensprecherkennung bereitstellen. Die adaptive Unterdrückung verarbeitet die empfangsseitigen Signalabtastungen durch ein adaptives Modell der hybriden Kopplung und subtrahiert in dem Differenzoperator 426 das Ergebnis von der Sendeseite. Ein Hochpassfilter 425 ist mit dem Echounterdrückereingang gekoppelt, um die Impulsantwort des Echopfads anzugleichen.
  • Die programmierbare Verstärkungsanpassungseinheit 428 wendet eine feste Verstärkung oder Dämpfung auf den Ausgang 426(a) des Differenzoperators 426 an. Die Verstärkungsanpassungseinheit 428 kann programmierbare Anpassungen der Verstärkung/Dämpfung von +/–20 dB mit einer Schrittweite von 1 dB bereitstellen. Eine feste Dämpfungsverstärkung 429 wird auf das Signal mit angepasster Verstärkung angewendet. Ein mit dem Ausgang der festen Verstärkung 429 gekoppelter Multiplexer 427 erlaubt die Weiterleitung des Signals an einen A-law/μ-law-Codierer 430 (konform mit G.711), der mit einem externen PCM-Port gekoppelt ist, der eine externe Prüfung des Audio-Prozessormoduls ermöglicht. Der Multiplexer 429 leitet außerdem das Ausgangssignal mit angepasster Verstärkung über die DSP-Schnittstelle 168 (siehe 3) an den Sprachprozessor 160 weiter.
  • Das beschriebene beispielhafte Ausführungsbeispiel des Audio-Prozessors umfasst den in dem Empfangsmodus mit der Datenschnittstelle gekoppelten Multiplexer 431. Der Multiplexer 431 kann decodierte Abtastungen mit einem A-law/μ-law-Decodierer 432 koppeln, der außerdem mit einem externen PCM-Port gekoppelt ist, um eine externe Prüfung des Audio-Prozessormoduls zu ermöglichen. Der Multiplexer 431 kann außerdem decodierte Abtastungen von der Datenschnittstelle an eine Verstärkungsanpassungseinheit 435 weiterleiten, die eine feste Verstärkung oder Dämpfung auf das decodierte Signal 433 anwendet. Die Verstärkungsanpassungsein heit 435 gleicht die Verstärkungsanpassungen auf Systemebene aus und kann eine programmierbare Anpassung der Verstärkung/Dämpfung in der Größenordnung von etwa +/–20 dB mit einer Schrittweite von 1 dB bereitstellen. Ein 1 kHz-Prüftongenerator 434 stellt eine digitale Darstellung eines Prüftons mit 1004 Hz bei einem Pegel von 0 dBm bereit. Der Prüfton kann durch den Summierer 436 wahlweise in den Datenstrom eingebracht werden, um ein Debugging und eine Prüfung des Audio-Prozessors durchzuführen. Der Prüfton kann sowohl in seiner Frequenz als auch in seiner Amplitude konfigurierbar sein, obwohl er bevorzugt durch die 8 kHz-Abtastrate so begrenzt ist, dass möglicherweise nur 0–4 kHz erlaubt sein können.
  • Ein Interpolator 438 ändert die Abtastrate von 8 auf 96 kHz. Der Interpolator 438 kann mit einem Filter mit endlicher Impulsantwort (FIR-Filter) implementiert sein, bei dem es sich um ein Minimalphasenfilter oder um ein Linearphasenfilter handeln kann. Ein Minimalphasenfilter wird für Sprachanwendungen bevorzugt, bei denen eine niedrige Gruppenverzögerung benötigt wird, aber durch den Minimumphasenfilter möglicherweise eingebrachte Gruppenverzögerungsverzerrungen toleriert werden können. Ein Linearphasenfilter wird für Fax- und Datenmodemanwendungen bevorzugt. Zusätzlich kann ein Gebührenimpulsgenerator 440 verwendet werden, um 12/16-kHz-Gebührenimpulse zu generieren, die durch den Summierer 442 mit dem interpolierten Signal summiert werden. Die Gebührenimpulse erlauben es einem Nutzer, die Kosten des Anrufs in seinem Verlauf zu überwachen. Die Geschwindigkeit, mit der der Gebührenimpulsgenerator 440 die Gebührenimpulse sendet, variiert je nach der Gebühr pro Minute für den Anruf. Die minimale Lücke zwischen den Impulsen liegt beispielshalber in der Größenordnung von 100 ms, kann aber bei billigen Ortsgesprächen auch viel größer sein. Die Amplitude der Gebühreneinheiten kann anpassbar sein, um Impedanzänderungen während der Zustände beim Auflegen, Abnehmen und Rufen zu berücksichtigen. Die interpolierten Signale werden über die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) (nicht gezeigt) zur Übermittlung an eine Telefonievorrichtung an den DAW 390 weitergeleitet.
  • Der Energiewirkungsgrad ist bei Telefonieanwendungen oft wichtig. Daher umfasst das beschriebene beispielhafte Ausführungsbeispiel des Audio-Prozessors die Funktionalität, in einen Energiesparmodus/Ruhemodus zu wechseln, bei dem nur diejenigen Funktionen aktiv sind, die zur Reaktivierung erforderlich sind. Alle Schal tungen sollten in der Lage sein, den aktiven Dauerbetriebszustand innerhalb eines Aktivierungszeitraums von etwa 10 ms zu erreichen.
  • Das beschriebene beispielhafte Ausführungsbeispiel des bevorzugten Audio-Prozessors 170 umfasst ferner einen Rufgenerator, der Referenz-Wellenformen synthetisch herstellt, die an die Teilenehmerleitungs-Schnittstellenschaltung (SLIC) weitergeleitet werden, um Rufe an Telefonievorrichtungen abzusetzen. Der Rufgenerator kann verwendet werden, um sinusförmige, trapezförmige und rechteckige Wellen zu unterstützen. Zusätzlich können die Rufgeneratorfrequenz, die Amplitude und der Gleichstrom-Offset konfigurierbar sein. Ein Blockdiagramm eines bevorzugten Rufgenerators 450 ist in 13 gezeigt. Der Rufgenerator 450 umfasst einen digitalen Oszillator 452, der eine Sinuskurve mit einer gegebenen Frequenz und Amplitude generiert, die über die DSP/PB-Schnittstelle 168 (siehe 3) von den Anweisungen 454, 456 aus dem DSP-Kern des Sprachprozessors 160 bestimmt wird. Die Abtastrate der Sinuskurve kann, von dem Systemtakteingang 458 mit 24,576 MHz beispielshalber auf die Größenordnung von etwa 1000 Hz heruntergetaktet werden. Ein variabler Amplitudenbegrenzer 460 begrenzt die Sinuskurve symmetrisch um die Null-Linie herum, so dass die Sinuskurve entweder in eine trapezförmige oder in eine rechteckige Welle umgewandelt werden kann. Der DSP-Kern des Sprachprozessors 160 (siehe 3) kann verwendet werden, um die Schwellenwerte 462 zu definieren, mit denen die sinusförmige Wellenform begrenzt wird. Die begrenzte Wellenform kann durch einen Vervielfacher 464 skaliert werden, der eine durch den Sprachprozessor 160 definierte Signaldämpfung 466 anwendet. Der Summierer 468 stellt einen konfigurierbaren Gleichstrom-Offset bereit, indem eine Gleichstromvorspannung 470, wie sie von dem Sprachprozessor erzeugt wurde, addiert wird. Der Offset kann von dem negativen Vollausschlag bis zu dem positiven Vollausschlag variieren. Bin Wandler 472 kann verwendet werden, um die Ruf-Wellenform 468(a) in eine Einzelbitdarstellung umzuwandeln. Ein analoges Einpolfilter kann an dem Ausgang des Wandlers mit einbezogen werden, um das von dem Wandler 472 generierte Quantisierungsrauschen zu verringern. Das gefilterte Signal wird dann über die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) zur Übermittlung an eine Telefonievorrichtung an den analogen Eingangsabschnitt 172 weitergeleitet. Bei dem beschriebenen beispielhaften Ausführungsbeispiel des Audio-Prozessors kann jeder Audiokanal an einen PCM-Port weitergeleitet werden, um PCM-Tests auf System ebene zu ermöglichen. Die PCM-Systemtests können beispielshalber Konformität mit ITU G.711 für die A-law- und μ-law-Codierung/Decodierung erfordern.
  • A. Sprachsynchronisation
  • Das Digitalisieren und Senden von Sprachdaten über Pakete in einem Netzwerksystem ist ein häufig vorkommendes Telefonieproblem. Üblicherweise digitalisieren PCM-Techniken (Pulse Code Modulation) ein Sprachsignal durch Abtasten eines analogen Sprachsignals und Umsetzen jeder Abtastung in einen digitalen Code, der zwischen kompatiblen Empfangs- und Sendesystemen auf der lokalen Seite und an der Gegenstelle eines Netzwerks übermittelt wird. Zusätzlich kann das beispielhafte Netzwerk-Gateway in einem Sprachband-Datenmodus Daten ohne Änderung (außer Paketbildung) zwischen einer Telefonievorrichtung der lokalen Seite (oder einem schaltungsvermittelten Netzwerk) und dem paketgestützten Netzwerk transparent austauschen. Dies wird in der Regel für den Austausch von Fax- und Modemdaten verwendet, wenn die Bandbreitenbelange minimal sind. Das Problem, das sich stellt, liegt darin, dass der Taktgeber des empfangenden Systems möglicherweise nicht mit dem Taktgeber des sendenden Systems in Beziehung gebracht werden kann. Diese Differenz kann, auch wenn sie winzig ist, einen Unterlauf oder einen Überlauf in dem Abtastpuffer der empfangenden Einheit verursachen. In dem Fall eines Datenunterlaufs werden Abtastungen aus einem Abtastpuffer schneller extrahiert, als Abtastungen in den Puffer geschrieben werden, so dass das System durch Data Starvation zusammenbrechen kann. Während eines Datenüberlaufs treten von einem Kommunikations-Port gesendete Sprachsignale schneller in den Abtastpuffer in der empfangenden Einheit ein, als sie extrahiert werden. Der sich daraus ergebende Überlauf von Datensignalen kann Artefakte in einem Sprachanruf oder bei Daten in dem Sprachband-Datenmodus ergeben.
  • Um einen Überlauf oder Unterlauf von Datensignalen zu verhindern, ist es daher wünschenswert, den Taktgeber des empfangenden Systems mit der Übertragungsgeschwindigkeit der ankommenden Daten zu synchronisieren. Zu diesem Zweck kann eine Sprachsynchronisiereinheit verwendet werden. Obwohl die Sprachsynchronisiereinheit in dem Zusammenhang eines Audio-Prozessorsystems innerhalb eines Netzwerk-Gateways beschrieben wird, werden Fachleute auf dem Gebiet er kennen, dass die Sprachsynchronisiereinheit gleichermaßen für andere Telefonie- und Telekommunikationsanwendungen geeignet ist.
  • Unter Bezugnahme auf 14 unterstützt das Netzwerk-Gateway 480 den Austausch von Sprache zwischen einem hybriden Glasfaser-Koaxialnetzwerk (HFC-Netzwerk) 482 und einem herkömmlichen, schaltungsvermittelten 484 oder paketgestützten Netzwerk 486. Bei einem beispielhaften Ausführungsbeispiel ist die Telefonievorrichtung 490 über ein Gateway für ein öffentliches Telefonnetz 492 mit dem öffentlichen Telefonnetz verbunden. Das Gateway für ein öffentliches Telefonnetz 492 kann durch ein Taktsignal eines Telefonienetzwerks 494(a) von einer Netzwerk-Taktreferenz 494 getaktet sein, die auch mit dem CMTS 496 gekoppelt ist, so dass das Gateway für ein öffentliches Telefonnetz 492 für die Übertragung von PCM-Sprachpaketen 492(a) zwischen dem CMTS 496 und dem Gateway für ein öffentliches Telefonnetz 492 mit dem CMTS-Taktgeber synchronisiert sein kann. Bei dem Taktgeber des Telefonienetzwerks handelt es sich bevorzugt um einen herkömmlichen BITS-Taktgeber (Building Integrated Timing Supply). Die Anlagenanforderungen zum Bilden einer Schnittstelle zu diesem Taktgeber sind den Fachleuten auf diesem Gebiet bekannt und sind in dem Bellcore-Dokument TR-NWT-001244 beschrieben, dessen Inhalt per Bezugnahme so in dieses Dokument aufgenommen ist, als wenn er in vollständigem Wortlaut dargelegt wäre. Der CMTS-Taktgeber ist mit dem Telefonienetzwerk-Taktsignal 494(b) über die CMTS-Taktgeber-Synchronisiereinheit 498 synchronisiert, die eine Kopfstellen-Referenz-Taktuhr 500 nutzt, wie in der US-Patentanmeldung Nr. 09/501,850 beschrieben, deren Inhalt per Bezugnahme so in dieses Dokument aufgenommen ist, als wenn er in vollständigem Wortlaut dargelegt wäre.
  • Ein Nachrichtengenerator auf Zeitbasis 502 generiert Zeitnachrichten oder Zeitstempel, die dem Netzwerk-Gateway 480 eine absolute Zeitreferenz bereitstellen, die für die Frequenz der Kristalloszillator-Taktreferenz (nicht gezeigt) des CMTS 496 repräsentativ ist, die ihrerseits mit dem Takt des Telefonnetzwerks 494 synchronisiert ist.
  • Unter Bezugnahme auf 14A umfasst das Netzwerk-Gateway 480 bevorzugt eine digitale Tracking-Schleife 504, die eine im Wesentlichen stabilen Taktgeberausgabe 510(a) bereitstellt. Eine Differenz zwischen den Zeitstempeln wird durch das CMTS weitergeleitet, und die Ausgabe einer lokalen Zeitreferenz, die von einem nummerisch gesteuerten Oszillator 508 abgeleitet ist, wird durch eine Differenzschaltung 510 gebildet. Diese Differenz definiert einen Frequenzfehlerwert. Dieser Frequenzfehlerwert wird durch ein Schleifenfilter für den Mittelwert 511 gefiltert, das verhindert, dass unerwünschte Abweichungen des Frequenzfehlerwerts den nummerisch gesteuerten Oszillator 508 auf eine Weise beeinträchtigen, welche dessen Stabilität verringern oder bewirken würden, dass der nummerisch gesteuerte Oszillator 508 mit einer anderen als der gewünschten Frequenz arbeitet. Das Schleifenfilter 511 kann so konfiguriert sein, dass es die schnelle Erfassung des Frequenzfehlerwerts erleichtert, obwohl der Frequenzfehlerwert groß ist, und dann vergleichsweise große Frequenzfehlerwerte bei dem Konvergieren der digitalen Tracking-Schleife 504 abweist, das heißt dann, wenn die Ausgabe der lokalen Zeitreferenz annähernd gleich der absoluten Zeitreferenz wird, wodurch bewirkt wird, dass sich der Frequenzfehlerwert dem Wert null annähert.
  • Unter Bezugnahme auf 15 werden in der Downstream-Richtung Sprach- oder Sprachband-Datenpakete von dem Netzwerk-Gateway 480 empfangen, demoduliert und von dem Downstream-Demodulator/DOCSIS-MAC 512 neu formatiert und an den Systemspeicher 514 weitergeleitet. Bei diesem und anderen Ausführungsbeispielen können gemeinsame Bezugszeichen verwendet werden, um identische Komponenten darzustellen. Die Sprachdaten werden an ein Decodierersystem (nicht gezeigt) innerhalb des Sprachprozessors 516 weitergeleitet. Das Decodierersystem stellt bevorzugt Verzögerungskompensation, Sprachdecodierung, Generierung von MFV-Frequenzen, Unterstützung von Ruftönen (Call Progress Tone Generation), künstlich erzeugtes Rauschen (CNG) und Rückgewinnung von verlorenen Rahmen bereit. Verarbeitete Sprachabtastungen werden dann an eine erste Sprachwarteschlange 518 weitergeleitet. Eine Sprachsynchronisiereinheit 520 ist mit dem Ausgang der ersten Sprachwarteschlange 518 gekoppelt. Die Sprachsynchronisiereinheit 520 tastet die in der ersten Sprachwarteschlange 518 gespeicherten Sprachrahmen gemäß einem Fehlersignal erneut ab und leitet erneut abgetastete Sprachsignale an eine zweite Sprachwarteschlange 522 weiter, so dass die Geschwindigkeit, mit der Abtastungen aus der zweiten Sprachwarteschlange 522 durch einen DAW 524 entfernt werden, mit der Geschwindigkeit übereinstimmt, mit der sie durch die Sprachsynchronisiereinheit 520 in die zweite Sprachwarteschlange 522 eingefügt werden.
  • In dem Betrieb kann jedes Mal, wenn der Takt des DAW 524 auf null dekrementiert wird, eine Abtastung aus der zweiten Sprachwarteschlange 522 entfernt und über eine Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 525 an die Telefonievorrichtung 526 der lokalen Seite übertragen werden. Bei dem beschriebenen beispielhaften Ausführungsbeispiel wird der DAW 524 bevorzugt durch einen abgetasteten DAW-Taktgeber 528 angesteuert. In einem System ohne Taktzittern (Jitter) entfernt der DAC 524 Rahmen aus der zweiten Sprachwarteschlange 522 mit exakt der gleichen Geschwindigkeit, mit der Rahmen von dem Sprachprozessor 516 in die erste Sprachwarteschlange 518 eingefügt werden. Wenn jedoch Taktzittern (Jitter) oder weitere Beeinträchtigungen vorliegen, wird eine Sprachsynchronisation benötigt, weil der DAW-Taktgeber der Empfangseinheit innerhalb des Netzwerk-Gateways möglicherweise nicht mit dem Abtasttaktgeber der Gegenstelle, der die empfangenen Daten generiert hat, in Beziehung steht. Bei einer Datenunterlaufbedingung in der Downstream-Richtung geht der DAW-Taktgeber 528 in dem Netzwerk-Gateway 480 gegenüber dem Abtasttaktgeber der Gegenstelle vor, so dass in dem Fall, in dem übrige, nicht korrigierte Abtastungen schneller aus der zweiten Sprachwarteschlange 522 entfernt würden, als sie in die erste Sprachwarteschlange 516 eingefügt werden, das System auf Grund von Data Starvation zusammenbrechen kann. Während einer Datenüberlaufbedingung in der Downstream-Richtung geht der DAW-Taktgeber 528 in dem Netzwerk-Gateway gegenüber dem Abtasttaktgeber der Gegenstelle nach, so dass Abtastungen schneller in die Sprachwarteschlange eingefügt als entfernt werden. Der sich daraus ergebende Überlauf von Datensignalen kann Artefakte in einem Sprachanruf oder bei Daten in dem Sprachband-Datenmodus ergeben.
  • Bei dem beschriebenen beispielhaften Netzwerk-Gateway wird in der Downstream-Richtung eine Engine zur Rückgewinnung von verlorenen Rahmen in dem Sprach- und Datenprozessor implementiert, wodurch während eines Datenunterlaufs fehlende Sprachdaten unter Verwendung des linearen Prädiktionscodierungsmodells mit synthetisch hergestellten Sprachdaten aufgefüllt werden. Die Sprache wird unter Verwendung der Tonhöhe und spektraler Informationen aus digitalen Sprachabtastungen modelliert, die vor den verlorenen Paketen empfangen wurden. Auf ähnliche Weise führt der Sprach- und Datenprozessor während eines Datenüberlaufs bevorzugt Rahmenlöschungen durch, um die Überlaufbedingung im We sentlichen zu beseitigen. In einem Sprachband-Datenmodus können verlorene Daten jedoch nicht ohne Weiteres toleriert oder neu erstellt werden. Daher dezimiert in dem Sprachband-Datenmodus die beschriebene beispielhafte Sprachsynchronisiereinheit das empfangene Sprachsignal 516(a), das während eines Datenüberlaufs in der ersten Sprachwarteschlange 518 gespeichert wurde, partiell und interpoliert während eines Datenunterlaufs partiell die Sprachabtastungen. Obwohl die Sprachsynchronisation in dem Zusammenhang eines Audio-Prozessors für den Austausch von Sprach- und Sprachbanddaten über ein Kabelmodem beschrieben wird, werden die Fachleute auf dem Gebiet erkennen, dass die für die Signalsynchronisation beschriebenen Techniken in gleicher Weise für verschiedene Anwendungen geeignet sind, welche die Synchronisation eines Signals in einem System mit zwei nicht miteinander in Beziehung stehenden Taktgebern erfordern. Demgemäß ist das beschriebene beispielhafte Ausführungsbeispiel für die Synchronisation von Sprach- und Sprachbanddaten lediglich beispielhaft und nicht einschränkend erwähnt.
  • Zum Beispiel kann unter Bezugnahme auf 16 ein gegebenes Eingangs-Sprachsignal 516(a) durch eine Reihe von mit pfeilförmigen Endpunkten gezeigten Abtastungen 516(a)516(i) dargestellt werden. In dem beschriebenen beispielhaften Ausführungsbeispiel genügen die Abtastungen 516(a)516(i) den Nyquist-Abtastungskriterien, so dass das Eingangs-Sprachsignal 516 aus der Reihe von Abtastungen 516(a)516(i) vollständig rückgewonnen werden kann. Daher kann das Eingangs-Sprachsignal wie durch die Strichlinien dargestellt überabgetastet werden. Für den Fall des Datenunterlaufs, in dem der Empfangstaktgeber gegenüber dem Sendetaktgeber vorgeht, kann das Eingangs-Sprachsignal 516(a)516(i) mit einer geringfügig höheren, durch kreisförmige Endpunkte gezeigten Frequenz 5306(a)530(i) abgetastet werden, um die Datenunterlaufbedingung im Wesentlichen zu beseitigen, indem zusätzliche Abtastungen als Funktion der Zeit generiert werden.
  • Auf ähnliche Weise kann bei der Datenüberlaufbedingung die Abtastrate des Eingangs-Sprachsignals mit einer geringfügig niedrigeren, durch X-Endpunkte gezeigten Frequenz so verringert werden, dass die Datenüberlaufbedingung im Wesentlichen beseitigt wird, indem als Funktion der Zeit weniger Abtastungen generiert werden. Wenn zum Beispiel der DAW-Taktgeber 528 96,0000152587890625 kHz betrüge und der Sendetaktgeber an der Gegenstelle entsprechend der Darstellung durch die Rate, mit der Abtastungen in die erste Sprachwarteschlange 518 geschrie ben werden, 96,0 kHz betrüge, würde die Sprachsynchronisiereinheit 520 bevorzugt für alle 1/(0,0000152587890625) = 65536 Abtastungen eine zusätzliche Datenabtastung generieren. Daher müsste das ankommende Signal mit der Rate (65536) (96 kHz) bzw. 6,291456 GHz erneut abgetastet werden. Zweckmäßigerweise generiert das beschriebene beispielhafte Ausführungsbeispiel ein Fehlersignal als Funktion des Verhältnisses zwischen der Geschwindigkeit, mit der Rahmen ankommen oder in die erste Sprachwarteschlange 518 eingefügt werden, und der Geschwindigkeit, mit der Rahmen aus der zweiten Sprachwarteschlange 522 entfernt werden, so dass nur diejenigen Abtastungen berechnet werden sollten, die für das partielle Dezimieren oder Interpolieren des Eingangs-Sprachsignals erforderlich sind.
  • Unter nochmaliger Bezugnahme auf 15 sendet die Telefonvorrichtung der lokalen Seite 526 über die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 525 ein analoges Sprachsignal in Upstream-Richtung an das Netzwerk-Gateway 480. Ein A/D-Wandler 527 setzt das ankommende, analoge Signal mit einem ADW-Abtasttaktgeber 529 in digitale Abtastungen um. Wenn der TRC-Taktgeber und der ADW-Taktgeber miteinander in Beziehung stehen, wird die ADW-Ausgabe zur Dezimierung, Echounterdrückung und weiteren Verarbeitung wie zuvor beschrieben an den Audio-Prozessor 170 weitergeleitet, bevor sie an das Codierersystem des Sprachprozessors 516 weitergeleitet wird. Das Sprachprozessor-Codierersystem kann unter anderem Erkennung von MFV-Frequenzen und Ruftönen (Call Progress Tone Detection), Sprachaktivitätserkennung (VAT), Sprachkomprimierung und eine Schätzung für künstlich erzeugtes Rauschen (CNG) bereitstellen. Codierte Sprachabtastungen 490 werden dann zur Übertragung an die Telefonievorrichtung der Gegenstelle 490 über den Upstream-Modulator und den MAC 515 an den Systemspeicher 514 weitergeleitet. Wenn jedoch der ADW-Taktgeber 529 und der TRC-Taktgeber nicht miteinander in Beziehung stehen, sollte die Sprachsynchronisiereinheit 520 die digitalen Sprachabtastungen mit dem TRC-Taktgeber synchronisieren.
  • Ein allgemeines Ablaufdiagramm einer beispielhaften Sprachsynchronisiereinheit ist in 17 gezeigt. Die Sprachsynchronisiereinheit umfasst bevorzugt eine Fehlergenerierungseinheit 532, einen Abtastraten-Tracker 534 und eine Sprachwarteschlange oder einen FIFO 535. Die Fehlergenerierungseinheit 532 umfasst zwei Zähler, von denen jeder von einer lokal generierten Referenz mit 24,576 MHz 533 getaktet werden kann. In der Upstream-Richtung leitet der ADW digitale Abtastungen an den Abtastraten-Tracker 534 weiter. Unter der Annahme, dass der ADW-Taktgeber und der TRC-Taktgeber nicht miteinander in Beziehung stehen, steuert ein ADW-Taktgeber mit 8 kHz 536 einen ersten Zähler 537 an, und ein TRC-Taktgeber mit 8 kHz 538 steuert einen zweiten Zähler 539 an. Die Ausgaben der Zähler 537(a) und 539(a) werden an Tiefpassfilter 543, 543' weitergeleitet, welche die Anzahl der Ausgaben mitteln (siehe 18A). Der Abtastraten-Tracker 534 dezimiert oder interpoliert bevorzugt partiell das ankommende Signal 534(a) gemäß dem Verhältnis zwischen Anzahl A und Anzahl B. Wenn somit die Anzahl A größer als die Anzahl B ist, erhöht der Abtastraten-Tracker die Abtastrate des ankommenden Signals 534(a) um das Verhältnis zwischen Anzahl A und Anzahl B. Ansonsten verringert der Abtastraten-Tracker 534 die Abtastrate des ankommenden Signals 534(a) um das Verhältnis zwischen Anzahl A und Anzahl B. Der Abtastraten-Tracker 534 leitet das erneut abgetastete Signal 534(b) an den FIFO 535 weiter, wobei die Abtastungen zu einem Rahmen zusammengesetzt werden. Der zusammengesetzte Rahmen wird dann zur Sprachkomprimierung an ein Codierersystem des Sprach- und Datenprozessors (nicht gezeigt), wie zum Beispiel gemäß G.729, weitergeleitet.
  • Unter Bezugnahme auf 17B kann der Betrieb eines beispielhaften Abtastraten-Trackers am besten durch ein Beispiel demonstriert werden. In 17B wird davon ausgegangen, dass die Anzahl der Eingangsabtastungen, die als Abtastungen 1, 2, 3 und 4 gezeigt sind, 65537 beträgt und dass die Anzahl der Ausgangsabtastungen, die als Abtastungen A, B, C und D gezeigt sind, 65536 beträgt, wodurch eine geringfügige Überlaufbedingung erzeugt wird. Der Abstand zwischen den Abtastungen 2 und B ist zum Beispiel gleich 1/65536 eines Eingangsabtastzeitraums. Daher müsste ein ankommendes Signal mit 8 kHz mit der Rate (65536) (8 kHz) oder 524,288 MHz erneut abgetastet werden, um die zusätzlichen Abtastungen zu generieren, die zum Beseitigen der Überlaufbedingung erforderlich sind. Unter Bezugnahme auf 17C würden im Extremfall 65535 Nullen zwischen die einzelnen Datenabtastungen des in einem Datenpuffer gespeicherten Eingangssignals eingefügt werden. Bei einer typischen Anwendung würden 18 Datenpunkte verwendet werden, um die Neuabtastung zu berechnen. Die Anzahl von Datenpunkten stellt einen Kompromiss zwischen der Qualität der Umsetzung und der Komplexität bei der Berechnung dar. Tiefpassfilter-Koeffizienten (Knef –1 bis Koef 1179648) würden berechnet werden, die, wenn sie auf die in dem Puffer gespeicherten Abtastungen angewendet werden, das erneut abgetastete Signal liefern.
  • Zweckmäßigerweise erleichtert die Generierung des Fehlersignals, das als die Anzahl der Ausgangsabtastungen, dividiert durch die Anzahl der Eingangsabtastungen definiert ist, die erneute Generierung der gewünschten, erneut abgetasteten Ausgangsabtastung mit einer verringerten Anzahl von Filterkoeffizienten. Zum Beispiel werden unter Bezugnahme auf 17D, um die Ausgangsabtastung B zu berechnen, 65537 Eingangsabtastungen mit 65535 Nullen verschoben, so dass die Abtastung 65536 nicht gleich null ist und die Abtastung mit der Nummer 65537 gleich null ist. Daher multiplizieren nur 18 Filterkoeffizienten Nicht-Null-Daten, und nur 18 Koeffizienten brauchen für jede Abtastung berechnet zu werden. Es handelt sich dabei um 2,2 + 65536,2 + (2·65536), ... 2 + (17·65536). Der Prozess würde dann wiederholt, um die Ausgangsabtastung C zu berechnen. Die ersten 65534 Abtastungen sind jeweils null, die Abtastung mit der Nummer 65536 ist nicht null, und die Abtastung 65537 ist gleich null.
  • In der Downstream-Richtung werden ankommende PCM-Sprachdaten an den Abtastraten-Tracker 534 weitergeleitet. Die Sprachdaten sind möglicherweise nicht mit dem lokalen DAW-Abtasttaktgeber synchronisiert, der die empfangenen Sprachabtastungen in ein analoges Format umsetzt, bevor sie an die Telefonvorrichtung auf der lokalen Seite übertragen werden. In der Downstream-Richtung wird der erste Zähler 537 von einem anpassbaren Rahmentaktgeber 540 angesteuert. Die Geschwindigkeit des Rahmentaktgebers wird zwischen dem Netzwerk-Gateway und dem CMTS ausgehandelt, und es wird angenommen, dass sie 10 ms beträgt. Der Rahmentaktgeber 540 kann von dem MIPS-Kern oder dem DSP des Sprachprozessors als Funktion der Rahmeneingangszeit generiert werden. Der zweite Zähler 539 wird bevorzugt von einem DAW-Taktgeber mit 100 Hz angesteuert, der von einem Zähler zur Taktteilung, wie in 17A gezeigt, generiert wird. Der Abtastraten-Tracker 534 dezimiert oder interpoliert bevorzugt partiell das ankommende Signal 534(a) gemäß dem Verhältnis zwischen Anzahl A und Anzahl B. Wenn somit die Anzahl A größer als die Anzahl B ist, erhöht der Abtastraten-Tracker die Abtastrate des ankommenden Signal 534(a) um das Verhältnis zwischen Anzahl A und Anzahl B. Ansonsten verringert der Abtastraten-Tracker 534 die Abtastrate des ankommenden Signals 534(a) um das Verhältnis zwischen Anzahl A und Anzahl B. Der Abtastraten-Tracker 534 leitet das erneut abgetastete Signal 534(b) an den FIFO 535 weiter (zweite Sprachdatenwarteschlange 522 von 15). Das erneut abgetastete Signal wird dann über einen DAW, der einen DAW-Taktgeber mit 24,576 MHz verwenden kann, in ein analoges Signal umgesetzt.
  • 18 zeigt einen alternativen Ansatz für die Sprachsynchronisation. In der Upstream-Richtung digitalisiert der ADW 527 erneut analoge Sprachdaten, die über die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 525 von der Telefonvorrichtung auf der lokalen Seite 526 empfangen wurden. Der ADW 527 leitet dann die digitalen Abtastungen an einen Abtastraten-Tracker 548 weiter. In diesem Beispiel nutzt die Fehlergenerierungseinheit einen einzelnen Zähler, um den Offset zwischen dem ADW- und dem TRC-Taktgeber abzuleiten. Bei diesem Ansatz steuert der TRC-Taktgeber mit 8 kHz 544 einen Zähler 546 an, der einen ADW-Taktgeber mit 24,576 MHz 547 als Referenz nutzt, um die Anzahl von Perioden innerhalb eines TRC-Taktzyklus mit 8 kHz zu zählen. Der Zähler leitet diese Anzahl 546(a) an das Tiefpassfilter 543 weiter. Bei dem Tiefpassfilter handelt es sich, wie in 18A gezeigt, bevorzugt um ein Einpolfilter 550, das die Übergänge zwischen verschiedenen Abtastraten glättet. Ein erster Skalierungsfaktor (b) 551 wendet eine feste Verstärkung auf das Zähler-Ausgangssignal an, und ein zweiter Skalierungsfaktor (a) 552 ist gleich der Zeitkonstanten des Filters. Die Skalierungsfaktoren stehen bevorzugt gemäß der folgenden Gleichung miteinander in Beziehung: b = 1 – a. Die Dauer der Zeitkonstanten stellt einen Kompromiss zwischen der Tracking-Genauigkeit und den Schwankungen (Jitter) dar und liegt bevorzugt in dem Bereich von 1–20 ms.
  • Bei diesem Ausführungsbeispiel dezimiert oder interpoliert der Abtastraten-Tracker 548 partiell das ankommende Signal 548(a) gemäß der gefilterten Zählerausgabe 543 im Vergleich zu 3072. In dem Fall, in dem der TRC-Taktgeber und der ADW-Taktgeber perfekt miteinander in Beziehung stehen, würde der Zähler den Wert 3072 ausgeben, und das ankommende Signal 548(a) würde nicht erneut abgetastet werden. Jedoch wird die Abtastrate des ankommenden Signals in dem Fall, in dem die gefilterte Zählerausgabe 543(a) größer als 3072 ist, um die gefilterte Zählerausgabe 543(a), dividiert durch 3072 (A/3072) erhöht. Auf ähnliche Weise wird die Abtastrate des ankommenden Signals um die gefilterte Zählerausgabe 543(a), dividiert durch 3072 (A/3072), verringert, wenn die gefilterte Zählerausgabe 543(a) kleiner als 3072 ist.
  • Unter Bezugnahme auf 18B inkrementiert in einer alternativen Sprachsynchronisiereinheit in der Downstream-Richtung der MIPS-Kern 513 einen Zähler 553, wenn das Netzwerk-Gateway 480 einen neuen Sprachrahmen von dem CMTS (nicht gezeigt) empfängt. Der Zähler 553 nutzt bevorzugt den DAW-Taktgeber mit 24,576 MHz 528 als Referenz. Die Zählerausgabe 553(a) stellt die Differenz zwischen dem Rahmentakt und dem DAW-Taktgeber bereit. Ein Tiefpassfilter 543 glättet oder mittelt erneut die Differenz in verschiedenen Rahmeneingangsraten, wie zuvor beschrieben. Der Abtastraten-Tracker 548 dezimiert oder interpoliert 548(a) partiell das ankommende Signal 548(a) gemäß der Ausgabe der gefilterten Zähleranzahl 543(a) im Vergleich zu 24576 (= 24,576 MHz). In dem Fall, in dem der Rahmeneingangs-Taktgeber und der ADW-Taktgeber perfekt miteinander in Beziehung stehen, würde der Zähler 553 den Wert 24576 ausgeben, und das ankommende Signal würde nicht erneut abgetastet werden. Jedoch erhöht in dem Fall, in dem die gefilterte Zählerausgabe 543(a) größer als 24576 ist, der Abtastraten-Tracker 548 die Abtastrate des ankommenden Signals um die Ausgabe 543(a) des Tiefpassfilters, dividiert durch 24576 (das heißt A/24576). Auf ähnliche Weise verringert der Abtastraten-Tracker 548, wenn die gefilterte Zählerausgabe 543(a) niedriger als 24576 ist, die Abtastrate des ankommenden Signals um die Ausgabe 543(a) des Tiefpassfilters, dividiert durch 24576 (A/24576).
  • Unter Bezugnahme auf 18C nutzt eine alternative Fehlergenerierungseinheit Paketsteuerinformationen 554, um ein Taktgeber-Fehlersignal 555, das die Differenz zwischen der Abtastrate an der Gegenstelle und der Abtastrate der Sprachdaten-Playout-Abwicklung auf der lokalen Seite darstellt, an der Gegenstelle zu generieren. Das Taktgeber-Fehlersignal kann dann verwendet werden, um die empfangenen Datenpakete 556 partiell erneut abzutasten. In dem Betrieb kann der DSP des Sprachprozessormoduls in Datenpaket-Steuerregistern innerhalb des lokalen Speichers des DSP Lese- und Schreibvorgänge durchführen, um den Downstream-Datenfluss zu überwachen und zu steuern. Der DSP kann unter erneuter Bezugnahme auf 15 zum Beispiel einen Hinweis über eingegangene Pakete in das Paketsteuerregister schreiben, wenn ein Downstream-Paket angekommen ist und in einen Jitter-Puffer eingefügt wurde. Der Jitter-Puffer kann ein Bestandteil des lokalen Speichers des Sprachprozessors oder ein externer Speicher sein, auf den über den internen Systembus und die DSP/ISB-Schnittstelle zugegriffen wird. Der Sprachprozessor verarbeitet dann Sprachabtastungen und leitet die verarbeiteten Abtastungen an die erste Sprachwarteschlange 518 weiter. In dem Betrieb schreibt die Sprachwarteschlange 518 einen Paketpuffer-Bereitschaftshinweis in die Paketsteuerregister, was einen maskierbaren Interrupt erzeugt, der an den DSP des Sprachprozessormoduls übertragen wird. Zusätzlich kann der DSP einen Hinweis über vollständige Pakete in die Paketsteuerregister schreiben, der angibt, dass das nächste Paket geliefert worden ist, und den Paketpuffer-Bereitschaftsstatus löscht. Der Zeitraum für den Hinweis über vollständige Pakete wird zwischen dem Netzwerk-Gateway und dem CMTS ausgehandelt und kann zum Beispiel 10 ms betragen. Der Hinweis über vollständige Pakete wird von dem DSP des Sprachprozessors gemäß dem lokal an dem Kabelmodem generierten Referenztaktgeber generiert.
  • In diesem Ausführungsbeispiel kann die mittlere Abtastrate an der Gegenstelle aus dem Paketeingangs-Steuersignal erhalten werden, und die Abtastrate der Sprach-Playout-Abwicklung auf der lokalen Seite kann aus dem Paketvollständigkeits-Steuersignal erhalten werden. Fachleute auf dem Gebiet werden erkennen, dass die vorliegende Erfindung weitere Steuersignale nutzen kann, um die mittlere Abtastrate an der Gegenstelle und die Playout-Abwicklungsrate auf der lokalen Seite zu erhalten. Zusätzlich können die Steuersignale zum Beispiel von dem MIPS-Kern des Kabelmodems generiert werden.
  • Ein allgemeines Blockdiagramm der alternativen Downstream-Sprachsynchronisiereinheit ist in 18D gezeigt. Bei diesem und anderen Ausführungsbeispielen können gemeinsame Bezugszeichen verwendet werden, um identische Komponenten darzustellen. Die Sprachsynchronisiereinheit umfasst bevorzugt die Fehlergenerierungseinheit 557, den Abtastraten-Tracker 534 und die Sprachwarteschlange oder den FIFO 535. Die Fehlergenerierungseinheit 557 umfasst zwei Zähler 558, 559, von denen jeder von dem lokal generierten TRC-Taktgeber 536 angesteuert werden kann. Die Frequenz des TRC-Taktgebers kann in dem Bereich zwischen etwa 8 kHz und 24,576 MHz liegen. Ein Fachmann auf dem Gebiet wird jedoch erkennen, dass ein Erhöhen der Frequenz des TRC-Taktgebers 536 in zunehmendem Maße präzise Fehlerschätzungen bereitstellen wird. Der erste und der zweite Latch-Zwischenspeicher 560, 561, die mit den Zählern 558, 559 gekoppelt sind, sprechen jeweils auf Paketeingangs-Steuersignale 562 bzw. Paketvollständigkeits-Steuersignale 563 an. Der Latch-Zwischenspeicher 560 gibt daher den Wert für die Anzahl zwischen aufeinander folgenden Paketeingangs-Steuersignalen, das heißt die letzte Anzahl 560(a) und die aktuelle Anzahl 560(b), aus, und der Latch-Zwischenspeicher 561 gibt den Wert für die Anzahl zwischen aufeinander folgenden Paketvollständigkeits-Steuersignalen, das heißt die letzte Anzahl 561(a) und die aktuelle Anzahl 561(b), aus. Der Differenzoperator 564 ist mit dem Latch-Zwischenspeicher 560 gekoppelt und gibt die Differenz zwischen der aktuellen und der letzten Anzahl eingegangener Pakete aus, das heißt, die Anzahl zwischen von dem Latch-Zwischenspeicher 560 ausgegebenen, aufeinander folgenden Paketeingangs-Steuersignalen. Auf ähnliche Weise ist der Differenzoperator 564a mit dem Latch-Zwischenspeicher 561 gekoppelt und gibt die Differenz zwischen der aktuellen und der letzten Anzahl vollständiger Pakete aus, das heißt, die Anzahl zwischen von dem Latch-Zwischenspeicher 561 ausgegebenen, aufeinander folgenden Paketvollständigkeits-Steuersignalen. Die Tiefpassfilter 543 und 543' sind mit den Differenzoperatoren 564 bzw. 564a gekoppelt. Bei den Tiefpassfiltern 543 und 543' kann es sich, wie zuvor beschrieben, um Einpolfilter handeln, welche die Übergänge zwischen verschiedenen Abtastraten glätten.
  • Ein Differenzoperator 565 ist mit dem Ausgang der Tiefpassfilter 543 und 543' gekoppelt und leitet eine Schätzung der Differenz zwischen dem Zeitraum für eingegangene Pakete und dem Zeitraum für vollständige Pakete an den Abtastraten-Tracker 534 weiter. Der Abtastraten-Tracker empfangt auch die ankommenden PCM-Sprachdaten. Der Abtastraten-Tracker 534 dezimiert oder interpoliert partiell das ankommende Signal 534(a) gemäß dem Verhältnis zwischen der Anzahl eingegangener Pakete und der Anzahl vollständiger Pakete. Wenn somit in dem Betrieb die Anzahl eingegangener Pakete größer ist als die Anzahl vollständiger Pakete, erhöht der Abtastraten-Tracker die Abtastrate des ankommenden Signals 534(a) um das Verhältnis zwischen der Anzahl eingegangener Pakete und der Anzahl vollständiger Pakete. Ansonsten verringert der Abtastraten-Tracker 534 die Abtastrate des ankommenden Signals 534(a) um das Verhältnis zwischen der Anzahl eingegangener Pakete und der Anzahl vollständiger Pakete. Der Abtastraten-Tracker 534 leitet das erneut abgetastete Signal 534(b) an den FIFO 535 weiter. Das erneut abgetastete Signal wird dann über einen DAW, der den DAW-Taktgeber mit 24,576 MHz verwenden kann, in ein analoges Signal umgesetzt.
  • Ein Fachmann auf dem Gebiet wird erkennen, dass die Sprachsynchronisiereinheit nicht auf mit DOCSIS kompatible Kabelmodemsysteme für Internet-Telefo nie (VoIP) beschränkt ist. Die vorliegende Erfindung kann vielmehr genutzt werden, um Internet-Telefoniedaten zum Beispiel in DSL-Netzwerken (Digital Subscriber Line) oder in anderen paketgestützten Netzwerken zu synchronisieren. Daher ist das offenbarte Kabelmodem-Ausführungsbeispiel lediglich beispielhaft und nicht einschränkend erwähnt.
  • B. Echounterdrückung
  • Unter Bezugnahme auf 19 leitet in dem analogen Eingangsabschnitt des Audio-Prozessors ein DAW 570 decodierte Sprachsignale an eine lokale Telefonievorrichtung 571 weiter, und ein ADW 572 empfängt über eine Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 573 Signale von einer lokalen Telefonievorrichtung. Die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 573 enthält ein Hybridelement 574, das eine Umsetzung von zwei auf vier Drähte vornimmt. Im Idealfall wäre die Verstärkung des Hybridelements gleich null, um die Kopplung zwischen den Übertragungswegen von der Gegenstelle und der lokalen Seite zu beseitigen. Der Betrieb des Hybridelements 574 ergibt als Ergebnis in der Regel eine frequenzabhängige Verstärkung mit einem Faktor von weniger als 0,5. Aus der Hybridverstärkung ergibt sich üblicherweise ein Telefonieproblem, das als Leitungsecho bekannt ist, wie beispielsweise die Reflexion der Stimme des Sprechers bei der Nichtübereinstimmung, die durch die Umsetzung von zwei auf vier Drähte erzeugt wird. Wenn eine geringe Verzögerung zwischen den beiden Seiten vorliegt, entspricht das Echo an der Gegenstelle einem Nebengeräusch (Echo von der lokalen Seite) und stellt daher kein Problem dar. Nebengeräusche bieten den Nutzern eine Rückmeldung über die Lautstärke, mit der sie sprechen, und ohne Nebengeräusche würden die Nutzer dazu neigen, zu laut zu sprechen. Echoverzögerungen der Gegenstelle, die länger als 10 bis 30 ms dauern, verschlechtern die Sprachqualität jedoch erheblich und stellen ein größeres Ärgernis für den Nutzer dar. Daher werden in der Regel Echounterdrücker verwendet, um Echos an der Gegenstelle zu entfernen.
  • Herkömmlicherweise wird ein Referenzsignal 575(a) in ein adaptives Filter 575 eingegeben, das die Übertragungsmerkmale der Wähltelefonleitung (das heißt das Hybridelement plus der Tail-Circuit-Schaltung, bei der es sich um die Telefonleitung von dem DAW zu dem ADW handelt) modelliert, so dass ein unerwünschtes Echo bevorzugt durch Subtrahieren des gefilterten Referenzsignals 575(b) von dem digitalen Eingangssignal auf der lokalen Seite 572(a) in einem Differenzoperator 576 unterdrückt werden kann. Das adaptive Filter 575 konvergiert oder passt sich in der Regel nur dann an, wenn keine Sprache auf der lokalen Seite vorhanden ist. Daher können Sprache und/oder Rauschen, die bzw. das in dem digitalen Eingangssignal 572(a) der lokalen Seite vorhanden ist und in der Regel als Gegensprechbedingung bezeichnet wird, ein Divergieren des adaptiven Filters 575 verursachen. Herkömmlicherweise nutzen Echounterdrücker Energieschätzeinheiten 577a, 577b, um die Energie (Enear) des Signals auf der lokalen Seite 572(a) und die Energie (Efar) des Signals an der Gegenstelle 575(a) zu schätzen. Ein typischer Gegensprechalgorithmus 576 stellt dann fest, dass auf der lokalen Seite Sprachaktivität vorliegt, wobei er die Anpassung des adaptiven Filters 575 deaktiviert, wenn die Energie des Signals auf der lokalen Seite größer ist als die Energie des Signals an der Gegenstelle, multipliziert mit der Hybridverstärkung (H), (Enear > H·Efar).
  • Ein hauptsächlicher Nachteil herkömmlicher Ansätze, die Energieschätzungen nutzen, besteht in der durch die Energieschätzeinheiten (in der Regel Tiefpassfilter) in die Erkennung von Sprache auf der lokalen Seite eingebrachten Verzögerung, welche die Ausgabe von Differenzoperatoren 576, die in der Regel als Rückkopplungsfehler für die Filteranpassung verwendet wird, erheblich beschädigen kann. Der beschriebene beispielhafte Echounterdrücker umfasst einen Gegensprechalgorithmus, der zusammen mit einer Look-Ahead-Funktionalität bei Vorhandensein von Sprache an der Gegenstelle eine schnelle Erkennung von Sprache auf der lokalen Seite bereitstellt, so dass das adaptive Filter die Anpassung anhalten kann (das heißt, die Filterabgriffe oder -koeffizienten einfrieren), bevor die Sprache der lokalen Seite den Differenzoperator erreicht.
  • Obwohl die Echounterdrückung in dem Zusammenhang eines Audio-Prozessors für den Sprachaustausch über ein Netzwerk-Gateway beschrieben wird, werden die Fachleute auf dem Gebiet erkennen, dass die für die Echounterdrückung beschriebenen Techniken in gleicher Weise für verschiedene Anwendungen geeignet sind, welche die Unterdrückung von Reflexionen oder anderer unerwünschter Signale auf einer Übertragungsleitung erfordern. Demgemäß ist das beschriebene beispielhafte Ausführungsbeispiel für die Echounterdrückung in einem Signalverarbeitungssystem lediglich beispielhaft und nicht einschränkend erwähnt.
  • Unter Bezugnahme auf 20 empfängt ein Hochpassfilter 587 ein Referenzsignal 587(a). Das Hochpassfilter 587 passt die Echopfad-Impulsantwort an die Empfangs-(RX)-Datenleitung an. Die Ausgabe des Hochpassfilters 587 wird in das adaptive Filter 575 eingegeben, das die Übertragungsmerkmale der Wähltelefonleitungsschaltung modelliert. Bei dem adaptiven Filter 575 kann es sich um ein lineares Transversalfilter oder ein anderes geeignetes Filter mit endlicher Impulsantwort handeln. Zusätzlich sind Empfangs-(RX)-Daten der Gegenstelle 581(a) mit einer Gegensprechlogik 580 vor dem Interpolator 581 des Audio-Prozessors (nicht gezeigt) und dem DAW 588 des analogen Eingangsabschnitts (nicht gezeigt) gekoppelt. Die Gegensprechlogik 580 empfängt daher ein Referenzsignal F(n) der Gegenstelle 580(a) mit einer Abtastrate von 8 kHz. Zusätzlich ist die Gegensprechlogik 580 bevorzugt zwischen dem ADW 589 des analogen Eingangsabschnitts und dem Dezimator 582 des Audio-Prozessors (nicht gezeigt) gekoppelt. Ein Downsampler 583 führt eine 12:1-Dezimierung der Abtastungen der Sende-(TX)-Daten der lokalen Seite mit 96 kHz 572(a) durch und leitet die dezimierten Datenabtastungen der lokalen Seite 583(a) mit einer Abtastrate von 8 kHz an die Gegensprechlogik weiter. Um die Verzögerung zu minimieren, führt der Downsampler vor der Dezimierung keine Tiefpassfilterung der Abtastungen der lokalen Seite 572(a) durch. Aliasing-Komponenten, die möglicherweise erzeugt werden, sind insofern unbedeutend, als die Ausgabe des Downsamplers 583(a) einfach die Gegensprech-Erkennungslogik 580 ansteuert und nicht an die Gegenstelle übertragen wird. Eine Energieschätzeinheit 584 schätzt den Pegel des Hintergrundrauschens des dezimierten Signals der lokalen Seite 583(a) und leitet den geschätzten Pegel an die Gegensprechlogik 580 weiter. Bei der Energieschätzeinheit 584 handelt es sich bevorzugt um ein Tiefpassfilter mit einer langen Zeitkonstante in der Größenordung von etwa 10 Sekunden. Mit einer langen Zeitkonstante neigt die Energieschätzeinheit dazu, den minimalen Energiepegel des dezimierten Signals der lokalen Seite 583(a) zu verfolgen. Die Energieschätzeinheit 585 schätzt die kurzfristige Energie der Sende-(TX)-Daten F(n) der Gegenstelle.
  • Das adaptive Filter 575 kann auf einem NLMS-Algorithmus (Normalized Least Mean Square) basieren, wie er in den Dokumenten "Adaptive Filter Theory" von S. Haykin und "Voice and Speech Processing" von T. Parsons beschrieben ist, die per Bezugnahme so in dieses Dokument aufgenommen sind, als wenn sie in ihrem vollen Wortlaut dargelegt wären. Ein Fehlersignal 576(a) an dem Ausgang des Differenzoperators 576 für die Filteranpassung kann wie folgt dargestellt werden:
    Figure 00630001
    wobei e(n) das Fehlersignal zu dem Zeitpunkt n, F(n) das Referenzsignal 587(a) zu dem Zeitpunkt n und Tx(n) das Sende-(TX)-Datensignal 586(a) ist, das zu dem Zeitpunkt n in den Differenzoperator 576 eingegeben wird, und w(j) die Koeffizienten des Transversalfilters sind, wobei die Dimension des Transversalfilters die Echopfadlänge in dem schlechtesten Fall ist (das heißt die Länge der Tail-Circuit-Schaltung L) und W(j) für j = 0 bis L – 1 ausgedrückt ist durch: w(j) = w(j) + μ·e(n)·F(n – j)wobei w(j) bevorzugt auf einen sinnvollen Wert wie zum Beispiel null initialisiert wird.
  • Unter Annahme einer Blockgröße von 4 ms (oder 32 Abtastungen bei einer Abtastrate von 8 kHz) ist die kurzfristige mittlere Energie des Referenzsignals Eref gleich der Summe der letzten 32 Referenzabtastungen, so dass die Konvergenz folgendermaßen ausgedrückt werden kann:
    Figure 00630002
    wobei a die Schrittweite der Anpassung und Eref gleich der Energieschätzung der Datenabtastung F(n) der Gegenstelle ist. In dem beschriebenen beispielhaften Ausführungsbeispiel wird a auf null gesetzt, wenn Sprache auf der lokalen Seite erkannt wird, so dass die Konvergenzverstärkung μ gleich null ist und die Filterkoeffizienten nicht aktualisiert werden. Ansonsten wird a auf eine Konstante unter 1 und bevorzugt in dem Bereich von 0,8 bis 0,95 gesetzt. Ein Fachmann auf dem Gebiet wird erkennen, dass das adaptive Filter in einer Vielzahl von Arten implementiert werden kann, einschließlich einer Umsetzung mit Festkommarechnung an Stelle von Gleitkommarechnung. Demgemäß ist die beschriebene beispielhafte Anpassung lediglich beispielhaft und nicht einschränkend erwähnt.
  • Die Sende-(TX)-Datenabtastungen von der lokalen Seite mit 96 kHz 572(a) werden außerdem durch einen zweiten 12:1-Dezimator 582 dezimiert. Der Dezimator 582 umfasst jedoch eine Tiefpassfilter-Funktionalität, um ein Aliasing des dezimierten Signals zu verhindern. Die dezimierte Ausgabe 582(a) wird an ein Hochpassfilter 586 mit 60 Hz weitergeleitet, das die auf der Sendeleitung auf Grund der Nähe zu Stromkabeln induzierte 60-Hz-Interferenz verringert. Die gefilterte Ausgabe 586(a) wird in den Differenzoperator 576 eingegeben, der bevorzugt unerwünschtes Echo durch Subtrahieren des gefilterten Referenzsignals 575(b) von dem Filterausgangssignal 586(a) unterdrückt.
  • Bei dem beschriebenen Ausführungsbeispiel modelliert das adaptive Filter 575 die Übertragungsmerkmale des Hybridelements und der Tail-Circuit-Schaltung der Telefonschaltung. Die unterstützte Tail-Länge sollte bevorzugt wenigsten 8 ms betragen. Bei dem adaptiven Filter 575 kann es sich um ein lineares Transversalfilter oder ein anderes geeignetes Filter mit endlicher Impulsantwort handeln. Der Echounterdrücker 575 konvergiert oder passt sich bevorzugt nur dann an, wenn keine Sprache auf der lokalen Seite vorhanden ist. Daher können Sprache und/oder Rauschen, die bzw. das in dem Eingangssignal 572(a) vorhanden ist, ein Divergieren des adaptiven Filters 575 verursachen. Um Divergenz zu vermeiden, kann das adaptive Filter 575 durch die Gegensprechlogik 580 selektiv aktiviert werden. Die Gegensprechlogik 580 nutzt einen abtastungsgestützten Algorithmus zum Erkennen des Vorhandenseins von Sprache auf der lokalen Seite, ohne die Verzögerungen in Kauf nehmen zu müssen, die gemäß der folgenden Gleichung mit herkömmlichen Systemen verbunden sind: |Near| > H·Peak {|F(n)|} + Background Noise(n)
  • Die Gegensprechlogik 580 wird verwendet, um auf der lokalen Seite Sprachaktivität festzustellen, wenn der Absolutwert des dezimierten Signals der lokalen Seite 583(a) größer ist als das Produkt aus der Hybridelementverstärkung (H) und einer Spitzenwertstatistik der Abtastungen der Gegenstelle 581(a), die mit dem geschätzten Hintergrundrauschen der Sendedatenabtastungen summiert werden. Die Hybridelementverstärkung ist im Allgemeinen eine Konstante, bevorzugt mit einem Faktor von weniger als etwa 0,5. Das Hintergrundrauschen für einen typischen Sprachkanal liegt in der Größenordnung von etwa –70 dBm, was weitaus geringer ist als mittlere aktive Sprachpegel, die in der Regel in der Größenordnung von etwa –25 dBm liegen. Die Schätzung des Hintergrundrauschens wird daher auf einen Wert von etwa –70 dBm initialisiert und anschließend periodisch durch die Energieschätzeinheit 584 aktualisiert 584(a). Die Spitzenwertstatistik der Datenabtastungen der Gegenstelle ist durch die folgende Logik definiert: If max{A·[|F(n)|, ..., |F(n – L – 1)|]} > Peak(n – 1)then Peak(n) = max{A|F(n)|, ..., ·|F(n – L – 1)|]}else Peak (n) = d·Peak(n – 1);wobei es sich bei A um eine Gewichtungsfunktion handelt, die größer als null und kleiner als oder gleich eins ist. Der Parameter L entspricht der Anzahl von Abtastungen, anhand derer das Maximum bestimmt wird, in der Regel in dem Bereich zwischen 0 und 120 Abtastungen und bevorzugt in der Größenordnung von etwa 64 Abtastungen. Bei dem Parameter d handelt es sich bevorzugt um eine Konstante, die größer als null und kleiner als oder gleich eins ist und bevorzugt in der Größenordnung von etwa 0,99 liegt. Daher wendet die Gegensprechlogik zum Bestimmen der Spitzenwertstatistik der Gegenstelle einen Gewichtungsfaktor A auf den Absolutwert der aktuellen Abtastung (F(n)) und der vorherigen L Abtastungen (F(n – L)) an. Wenn das maximale Produkt größer ist als die vorherige Spitzenwertstatistik Peak(n – 1), dann wird die aktuelle Spitzenwertstatistik Peak(n) auf das Maximum des Produkts aus dem Gewichtungsfaktor und den Abtastungen der Gegenstelle gesetzt. Ansonsten wird die aktuelle Spitzenwertstatistik Peak(n) gleich d mal dem Wert der vorherigen Spitzenwertstatistik Peak(n – 1) gesetzt.
  • Bei dem beschriebenen beispielhaften Ausführungsbeispiel werden A, L und d empirisch bestimmt, um die Leistung und die Berechnungslast für eine gegebene Anwendung zu optimieren. Die Gegensprechlogik 580 kann zum Beispiel Sprache auf der lokalen Seite präziser erkennen, wenn das Maximum anhand einer größeren Anzahl von Abtastungen L bestimmt wird. Die Berechnungsintensität erhöht sich jedoch außerdem mit steigender Anzahl von Abtastungen L. A und d können mit der Anzahl von Abtastungen L in einer umgekehrten Beziehung stehen, so dass A und d bei einer größeren Anzahl von Abtastungen kleiner sind und umgekehrt.
  • In dem beschriebenen beispielhaften Ausführungsbeispiel ist mit dem Hochpassfilter 586 und dem Dezimator 582 eine Verzögerung verbunden. Die Gegensprechlogik 580, die vernachlässigbare Verzögerungen aufweist, kann Datenabtastungen der lokalen Seite empfangen und verarbeiten, bevor diese bei dem Differenzoperator 576 ankommen. Somit stellen die Verzögerungen, die mit dem Hochpassfilter 586 und dem zweiten Dezimator 582 verbunden sind, eine Look-Ahead-Vorschau von M Abtastungen bereit, die es der Gegensprechlogik 580 erlauben, die Anpassung des adaptiven Filters 575 bevorzugt M Abtastungen, bevor das Signal der lokalen Seite bei dem Differenzoperator 567 ankommt, zu deaktivieren. Die Look-Ahead-Funktionalität M ist die Summe der mit dem Hochpassfilter 586 und dem zweiten Dezimator 582 verbundenen, gleichwertigen Verzögerungen und beträgt in der Regel zwei bis drei Abtastungen mit 8 kHz für ein System, das mit ITU-T G.712 konform ist.
  • 20A zeigt einen weiteren Ansatz für die Echounterdrückung, wobei das digitale Signal der lokalen Seite nach der Dezimierung auf ein 8-kHz-Signal 582(a) in die Gegensprechlogik 580 eingegeben wird. Dieser Ansatz kann in Systemen genutzt werden, in denen der Echounterdrücker und der Codec nicht integriert sind, so dass die Datenabtastungen der lokalen Seite zuvor dezimiert wurden. In diesem Beispiel empfangt ein Look-Ahead-Puffer 588 dezimierte Signale der lokalen Seite 582(a), pullert sie und leitet sie an den Differenzoperator 576 weiter, wodurch eine Look-Ahead-Funktionalität für M Abtastungen bereitgestellt wird, wobei M für eine gegebene Anwendung optimiert werden kann, um die Leistung, die Rechenintensität und die Verzögerung zu optimieren.
  • Die relative Stärke des Signals der lokalen Seite im Vergleich zu dem durch das Hybridelement gekoppelten Echo nimmt mit abnehmender Hybridelementverstärkung (H) zu, so dass in dem beschriebenen beispielhaften Ausführungsbeispiel die Präzision der Erkennung von Sprache auf der lokalen Seite mit abnehmender Hybridelementverstärkung (H) abnimmt. Unter Bezugnahme auf 21 ist in einem weiteren Aspekt der vorliegenden Erfindung ein adaptives Kurzzeitfilter 590 in den bevorzugten Algorithmus zur Erkennung von Gegensprechen integriert. Das adaptive Filter 590 modelliert die Übertragungsmerkmale der Wähltelefonleitungsschaltung. Bei dem adaptiven Filter 590 kann es sich um ein lineares Transversalfilter oder ein anderes geeignetes Filter mit endlicher Impulsantwort handeln. Ein Fehlersignal 591(a) an dem Ausgang des Differenzoperators 591 für die Filteranpassung kann wie folgt dargestellt werden:
    Figure 00670001
    wobei e0(n) das Fehlersignal zu dem Zeitpunkt n 591(a), F(n) das Referenzsignal 580 zu dem Zeitpunkt n and Tx (n) das Sende-(TX)-Datensignal 591(b) ist, das zu dem Zeitpunkt n in den Differenzoperator 591 eingegeben wird, und w0(j) die Koeffizienten des Transversalfilters sind, wobei die Dimension des Transversalfilters bevorzugt die Echopfadlänge in dem schlechtesten Fall ist (das heißt die Länge der Tail-Circuit-Schaltung K), und W0(j) für j = 0 bis K – 1 ausgedrückt ist durch: w0(j) = w0(j) + μ·e0(n)·F(n – j)wobei w0(j) bevorzugt auf einen sinnvollen Wert wie zum Beispiel null initialisiert wird.
  • Unter Annahme einer Blockgröße von 1 ms (oder 8 Abtastungen bei einer Abtastrate von 8 kHz) ist die kurzfristige mittlere Energie des Referenzsignals Eref gleich der Summe der letzten 8 Abtastungen, so dass die Konvergenzverstärkung folgendermaßen ausgedrückt werden kann:
    Figure 00670002
    wobei α die Schrittweite der Anpassung und Eref gleich der Energieschätzung der Datenabtastung F(n) der Gegenstelle ist. In dem beschriebenen beispielhaften Ausführungsbeispiel aktiviert/deaktiviert die Gegensprechlogik 580 die Anpassung des Filters 590 gemäß der Erkennung von Sprache auf der lokalen Seite nicht, so dass sich das Filter 590 fortlaufend anpasst. Daher kann das adaptive Filter 590 zur Verringerung der Rechenlast, die dem System aufgebürdet wird, und zur Verhinderung des Divergieren des Filters so konfiguriert werden, dass es sich sehr langsam anpasst, so dass a bevorzugt in dem Bereich von etwa 0,01–0,0001 liegt.
  • Das adaptive Filter 590 filtert das Referenzsignal der Gegenstelle 581(a) so, dass der Echopegel durch Subtrahieren des gefilterten Referenzsignals 590(b) von den Sende-(TX)-Datenabtastungen 591(b) in einem Differenzoperator 591 verringert werden kann. Das adaptive Filter 590 kann Leitungsechos von etwa 6–12 dB verringern und damit die Leistung der Gegensprechlogik verbessern. Bei dem beschriebenen beispielhaften Ausführungsbeispiel wird die Ausgabe 591(a) des Differenzoperators 591 (das heißt, die Sende-(TX)-Abtastungen mit verringertem Echo) dann an die Gegensprechlogik 580 weitergeleitet, die dann Sprache auf der lokalen Seite erkennt und selektiv die Anpassung des adaptiven Filters 575 aktiviert/deaktiviert (siehe 20).
  • 7. Sprachprozessor
  • Das Internet ist eine lose Verknüpfung von Tausenden von Netzwerken und Millionen von Computer in der ganzen Welt, die über Kommunikationsverbindungen miteinander verbunden sind. Das Aufkommen des Internet Protocol (IP) als Standard-Transportprotokoll für paketgestützte Netzwerke hat eine Online-Revolution bei den Kommunikationsdiensten und den Kommunikationsanwendungen ermöglicht. Herkömmliche Einwahlmodems stellen Online-Zugriff mit bis zu 56 Kbps (entspricht 56.000 Bit pro Sekunde) über das öffentliche Telefonnetz bereit. Ein Kabelmodem andererseits stellt den Nutzern Hochgeschwindigkeitszugriff auf das Internet über ein Kabelfernsehnetz mit Datenübertragungsgeschwindigkeiten von bis zu 56 Mbps bereit. Der herkömmliche Kabelmodemdienst wurde jedoch auf Datenanwendungen beschränkt, so dass die Verwirklichung von diversen Kommunikationsdiensten mit erhöhten Datenübertragungsgeschwindigkeiten die Entwicklung eines gemeinsamen Netzwerks für den Breitband-Kabelzugriff mit integrierten Sprach- und Datendiensten erfordert. Cable Television Laborstories, Inc. (CableLabs®), eine Mitgliederorganisation, die sich aus Betreibern von Kabelfernsehsystemen zusammensetzt, hat PacketCable 1.0 entwickelt, das Schnittstellenspezifikationen für interoperable Einrichtungen definiert, die in der Lage sind, paketgestützte Sprach-, Video- und weitere Hochgeschwindigkeits-Multimediadienste über hybride Glasfaser-Koaxialkabelsysteme (HFC-Systeme) bereitzustellen, die das DOCSIS-Protokoll nutzen.
  • Das beschriebene beispielhafte Netzwerk-Gateway umfasst einen Sprach- und Datenprozessor, der den Austausch von Sprache und Daten zwischen einem herkömmlichen schaltungsvermittelten und einem paketgestützten Netzwerk über ein DOCSIS-HFC-Netzwerk unterstützt. Der beispielhafte Sprach- und Datenprozessor kann, wie in 22 gezeigt, mit einer programmierbaren DSP-Software-Architektur implementiert werden. Diese Architektur umfasst einen Hochgeschwindigkeits-DSP 600 mit dem Programmspeicher 602, bevorzugt in der Größenordnung eines etwa 80.000 Wörter großen SRAM und einen Datenspeicher 604, bevorzugt in der Größenordnung eines etwa 48.000 Wörter großen SRAM. Ein PCM-Highway 606 stellt den Zugriff des Sprach- und Datenprozessors 160 auf den Audio-Prozessor und die optionalen, externen Audioverarbeitungsschaltungen bereit. Eine Bewilligungs-Synchronisiereinheit 608 stellt die Lieferung von Abtastungen an das Netzwerk-Gateway bei der Upstream-Übertragung sicher. Die Bewilligungs-Synchronisierheinheit signalisiert. dem DSP 600, dass eine anstehende Bewilligung dabei ist, an dem Netzwerk-Gateway anzukommen, um es dem DSP 600 zu erlauben, sich selbst mit an dem Netzwerk-Gateway geplanten Bewilligungen zu synchronisieren. Eine Host-Schnittstelle 610 überträgt Daten, Steuer- und Statusnachrichten zwischen dem DSP 600 und dem MIPS-Kern 128.
  • Das beschriebene beispielhafte Ausführungsbeispiel stellt bevorzugt mit PacketCable 1.0 konforme, eingebettete MTA-Funktionalität (Media Terminal Adapter) bereit. Der beispielhafte eingebettete MTA kann mit der programmierbaren DSP-Software-Architektur implementiert werden, um über den Sprach- und Datenprozessor eine teilnehmerseitige Schnittstelle zu der Telefonievorrichtung des Teilnehmers sowie eine netzwerkseitige Schnittstelle zu dem DOCSIS-Kabelmodem bereitzustellen. Unter Bezugnahme auf 23 umfasst der bevorzugte, eingebettete MTA 620 eine Programmierschnittstelle für Host-Anwendungen (HAPI) 621, die eine Software-Nachrichtenübermittlungsschnittstelle zwischen dem MIPS-Host und dem Sprach- und Datenprozessor-DSP bereitstellt. Die HAPI 621 erleichtert das Absetzen von Befehlen von dem MIPS-Host an den Sprach- und Datenprozessor-DSP sowie das Senden von Ereignissen von dem DSP an den MIPS-Kern-Host.
  • Zusätzlich kann der MTA 620 alle Signalisierungs- und Verkapselungselemente bereitstellen, die zum Bereitstellen eines Telefoniedienstes in einem DOCSIS-HFC-Netzwerk 622 einschließlich Medientransport und Anrufsignalisierung über eine Dienstgütelogik 623 (QoS) erforderlich sind. Zum Beispiel empfangt und vermittelt die GCP-Logik 624 (Gateway Control Protocol) Rufsignalisierungsinformationen zwischen dem PacketCable-Netzwerk und dem öffentlichen Telefonnetz. Die GCP-Logik 624 erhält und steuert den Gesamtrufzustand für Anrufe, die eine Interconnect-Verbindung zu einem öffentlichen Telefonnetz erfordern. Die GCP-Logik 624 steuert den Sprach- und Datenprozessor 626 über den MTA 620 und die HAPI-Schnittstelle 621, indem sie ihn anweist, Verbindungen, die den Medienstrom über das IP-Netzwerk unterstützen, zu erstellen, zu ändern und zu löschen. Die GCP-Logik 624 weist den Sprach- und Datenprozessor außerdem an, Ereignisse und Signale zu erkennen und zu generieren. Die GCP-Logik 624 übt auch eine Attributsteuerung über den Sprach- und Datenprozesssor 626 aus, wobei sie Anweisungen bereitstellt, welche Attribute für eine Verbindung anzuwenden sind, wie zum Beispiel das Codierverfahren, die Verwendung von Echounterdrückung, Sicherheitsparameter, usw.
  • Die GCP-Logik 624 bildet außerdem eine Schnittstelle mit einem externen, Call Agent oder Call Management Server (CMS) 628 genannten Steuerelement, um die Anrufsignalisierung von der und zu der PacketCable-Seite des Netzwerks gemäß der netzwerkgestützten Rufsignalisierungs-Protokollspezifikation (NCS) zu beenden und zu generieren. Die NCS-Architektur von PacketCable 1.0 platziert den Anrufzustand und die Funktionsimplementierung in dem zentralisierten CMS 628 und platziert die Steuerung der Telefonievorrichtung in dem MTA 620. Der MTA 620 übergibt Vorrichtungsereignisse an den CMS 628 und reagiert auf von dem CMS abgesetzte Befehle. Der CMS ist für den Aufbau und den Abbau von Anrufen zuständig, wobei er erweiterte Dienste, wie beispielsweise nutzerspezifische Anruffunktionen, bereitstellt, eine Anrufberechtigung durchführt und Datensätze für Gebührenereignisse generiert. Zum Beispiel weist der CMS 628 den MTA 620 an, den CMS 628 zu benachrichtigen, wenn das Telefon abgenommen wird und sieben MFV-Ziffern eingegeben worden sind. Der CMS 628 weist den MTA 620 an, eine Verbindung aufzubauen, die Dienstgüte-Ressourcen (QoS-Ressourcen) für die anstehende Sprachverbindung über das Zugriffsnetzwerk zu reservieren und einen lokal generierten Rückrufton abzuspielen. Der CMS kommuniziert seinerseits mit einem fernen CMS (oder MGC), um den Ruf aufzubauen. Wenn der CMS eine Antwort der Gegenstelle erkennt, weist er den MTA an, den Rückrufton zu stoppen, die Medienverbindung zwischen dem MTA und dem MTA an der Gegenstelle zu aktivieren und das Senden und Empfangen von Medienstrompaketen zu beginnen.
  • Wenn ein Sprachkanal erfolgreich eingerichtet wurde, wird das RTP (Realtime Transport Protocol) verwendet, um alle Medienströme in einem mit Packet-Cable konformen Netzwerk zu transportieren, um Interoperabilität zu garantieren. Das RTP-Protokoll stellt Lieferdienste von dem einen Ende zu dem anderen für Daten mit Echtzeitmerkmalen bereit, wie beispielsweise interaktive Audio- und Videodaten. Diese Dienste umfassen eine Identifikation des Nutzdatentyps, Sequenznummerierung, Zeitstempelung und Lieferüberwachung der Dienstgüte (QBS) und übermitteln den Teilnehmern Statistiken, wie beispielsweise Paket- und Byteanzahl für die Sitzung. Das RTP-Protokoll liegt direkt oberhalb der Transportschicht. Der beschriebene beispielhafte eingebettete MTA 620 umfasst bevorzugt RTP-Logik 630, die RTP-Pakete (Header) in ein protokollunabhängiges Format umsetzt, das von dem Sprach- und Datenprozessor 626 genutzt wird und umgekehrt.
  • Der beschriebene beispielhafte eingebettete MTA umfasst bevorzugt kanalgebundene Signalisierungslogik (CAS-Logik) 632, die sich in dem MIPS-Kern befindet, der über die GPIO-Schnittstelle 184 (siehe 3) eine Schnittstelle mit den Teilnehmerleitungs-Schnittstellenschaltungen 634 bildet, um Rufgenerierung, Gabelumschaltung und Batteriespannungsregelung bereitzustellen. Die CAS-Logik 632 unterstützt bevorzugt nutzerspezifische Ruffunktionen, wie beispielsweise unterschiedliche Ruftöne.
  • Der beschriebene beispielhafte eingebettete MTA 620 umfasst bevorzugt eine MTA-Vorrichtungsbereitstellungslogik 636, die es dem eingebetteten MTA 620 ermöglicht, Teilnehmerdienste über das HFC-Netzwerk 622 zu registrieren und bereitzustellen. Die Bereitstellungslogik 636 stellt Initialisierungs-, Authentifizierungs- und Registrierungsfunktionen bereit. Die Bereitstellungslogik 636 stellt außerdem Attributdefinitionen bereit, die in der MTA-Konfigurationsdatei benötigt werden. Die Bereitstellungslogik 636 umfasst eine SNMP-Logik 638, die Vorrichtungsinformationen und Endpunktinformationen zwischen dem MTA 620 und einer Bereitstellungs-Server genannten, externen Steuerung (nicht gezeigt) austauscht. Der MTA sendet außerdem unter Verwendung des SNMP-Protokolls, zusammen mit einer Erfolgs-/Fehler-Statusangabe, eine Benachrichtigung an den Bereitstellungs-Server, dass die Bereitstellung abgeschlossen wurde.
  • Die Bereitstellungslogik 636 umfasst außerdem eine DHCP-Logik 640, die eine Schnittstelle mit einem externen DHCP-Server (Dynamic Host Configuration Protocol) bildet, um dem MTA eine IP-Adresse zuzuweisen. Bei dem DHCP-Server (nicht gezeigt) handelt es sich um ein Backoffice-Netzwerkelement, das während des Bereitstellungsprozesses der MTA-Vorrichtung verwendet wird, um dynamisch IP-Adressen und weitere Client-Konfigurationsinformationen zuzuteilen. Eine weitere Bereitstellungslogik umfasst bevorzugt DNS-Logik 642 (Domain Name Server), die eine Schnittstelle mit einem externen DNS-Server (nicht gezeigt) bildet, um die IP-Adresse eines PacketCable-Servers zu erhalten, wobei dessen vollständig qualifizierter Domänenname angegeben wird.
  • Die MTA-Konfigurationsdatei wird von einem externen TFTP-Server (Trivial File Transfer Protocol) (nicht gezeigt) über die TFTP-Logik 644 auf den MTA heruntergeladen. Bei dem TFTP-Server handelt es sich um ein Backoffice-Netzwerkelement, das während des Bereitstellungsprozesses der MTA-Vorrichtung verwendet wird, um Konfigurationsdateien auf den MTA herunterzuladen. An Stelle eines TFTP-Servers kann ein HTTP-Server verwendet werden, um Konfigurationsdateien auf den MTA herunterzuladen.
  • Jede der Protokollschnittstellen von PacketCable ist Gefahren ausgesetzt, die sowohl für den Teilnehmer als auch für den Diensteanbieter Sicherheitsrisiken darstellen könnten. Die PacketCable-Architektur wirkt diesen Gefahren entgegen, indem sie für jede definierte Protokollschnittstelle die zugrunde liegenden Sicherheitsmechanismen (wie beispielsweise IPSec) bereitstellt, die der Protokollschnittstelle die Sicherheitsdienste bereitstellen, die sie benötigt, zum Beispiel Authentifizierung, Integrität, Vertraulichkeit. Die Sicherheitslogik 646 ist mit PacketCable konform und stellt für Sprache die Ende-zu-Ende-Verschlüsselung von RTP-Medienströmen und von Signalisierungsnachrichten bereit, um die Gefahr eines unberechtigten Abfangen von Übermittlungen zu verringern. Die Sicherheitslogik 646 stellt bevorzugt zusätzliche Sicherheitsdienste, wie zum Beispiel Authentifizierung, Zugriffssteuerung, Integrität, Vertraulichkeit und Non-Repudiation bereit.
  • Die DOCSIS-Dienstelogik 648 stellt bevorzugt die primäre Schnittstelle zwischen dem MTA 620 und dem DOCSIS-Kabelmodem (das heißt dem DOCSIS-MAC und dem Modulator/Demodulator) des Netzwerk-Gateways bereit. Die DOCSIS-Dienstelogik 648 stellt mehrere Subschnittstellen bereit, wie zum Beispiel eine Steuersubschnittstelle, die DOCSIS-Diensteflüsse und damit verbundene QoS-Datenverkehrsparameter und Klassifizierungsregeln verwaltet, sowie eine Synchronisationsschnittstelle, die verwendet wird, um die Paket- und Planungspriorisierung zur Minimierung der Latenzzeit und des Taktzitterns mit Planung einer garantierten konstanten Minimal-Bitrate zu synchronisieren. Zusätzlich wird die DOCSIS-Dienstelogik verwendet, um Bandbreite und auf die Bandbreite bezogene QoS-Ressourcen anzufordern. Die DOCSIS-Kabelmodemfunktionen des Netzwerk-Gateways handeln dann unter Verwendung der DOCSIS 1.1-Funktion für die Dienstgüte (QoS) die Reservebandbreite, die garantierte minimale Bitrate, usw. aus. Auf ähnliche Weise umfasst die DOCSIS-Dienstelogik 648 bevorzugt eine Transportschnittstelle, die verwendet wird, um Pakete in dem Medienstrom zu verarbeiten und eine geeignete Dienstgüteverarbeitung auf Paketbasis durchzuführen.
  • Der beispielhafte eingebettete MTA kann in dem Zusammenhang einer typischen Sprachkommunikation über das DOCSIS-HFC-Netzwerk am besten veranschaulicht werden. Der Nutzer leitet durch Abheben eine Kommunikation ein. Die CAS-Logik erkennt den Abhebezustand aus der Teilnehmerleitungs-Schnittstellenschaltung (SLIC) und sendet ein Abhebeereignis an den MTA-Anruf-Client. Der MTA-Anruf-Client weist dann die GCP-Logik an, ein Abhebesignal zu generieren. Die GCP-Logik generiert ein Abhebesignal, das an den MTA-Anruf-Client weitergeleitet wird und aus der QoS-Dienstelogik heraus über den DOCSIS-MAC und den Upstream-Modulator des Netzwerk-Gateways und das CMTS an den Call Management Server übertragen wird. Der Call Management Server (CMS) würde in der Regel über das CMTS, den DOCSIS-MAC und den Downstream-Demodulator des Netzwerk-Gateways ein Rücksignal über die QoS-Dienstelogik an den MTA-Anruf-Client übertragen. Der MTA-Anruf-Client leitet dieses Signal bevorzugt an die GCP-Logik weiter, die das Signal, in der Regel zur Wähltonwiedergabe, decodiert. Die GCP-Logik würde dann dem MTA-Anruf-Client signalisieren, einen Wählton wiederzugeben. Der MTA-Anruf-Client sendet dann über die HAPI-Schnittstelle einen Befehl an den Sprach- und Datenprozessor, den Wählton wiederzugeben. Der Nutzer hört dann einen Wählton.
  • Wenn der Nutzer einen Wählton hört, wählt er anschließend in der Regel eine Nummer. Der Sprach- und Datenprozessor umfasst einen MFV-Detektor, der die gewählten Ziffern erkennt und die erkannten Ziffern als Ereignisse über die HAPI-Schnittstelle an den MTA-Anruf-Client weiterleitet. Der MTA-Anruf-Client leitet das Ereignis an die GCP-Logik weiter, welche die gewählten Ziffern in eine Signalisierungsnachricht codiert, die an den MTA-Anruf-Client zurückgesendet wird. Der MTA-Anruf-Client überträgt die Signalisierungsnachricht aus der QoS-Dienstelogik über den DOCSIS-MAC und den Upstream-Modulator des Netzwerk-Gateways und das CMTS an den Call Management Server. Der Call Management Server würde dann den MTA eines angerufenen Teilnehmers anweisen, ein Läuten für die angerufene Nummer zu generieren. Wenn die angerufene Nummer durch Abheben antwortet, würde die CAS-Logik des angerufenen MTA eine Abhebebedingung erkennen und dies dem Call Management Server signalisieren. Der Call Management Server weist den MTA dann über das CMTS und den Downstream-Demodulator, den DOCSIS-MAC und die QoS-Dienstelogik des Netzwerk-Gateway an, eine Sprachverbindung mit einer gegebenen Menge von Funktionen, das heißt Verwendung von Echounterdrückung und Silence Suppression, Verwendung eines bestimmten Codierers, usw. herzustellen. Zusätzlich wird dem MTA-Anruf-Client die IP-Adresse des angerufenen Teilnehmers übergeben, an den die RTP-Sprachpakete gesendet werden sollen. Der MTA-Anruf-Client leitet die empfangene Nachricht an die GCP-Logik weiter, welche die empfangene Nachricht decodiert. Die GCP-Logik generiert Attributanweisungen für den Sprach- und Datenprozessor, wie zum Beispiel das Codierverfahren, die Verwendung von Echounterdrückung, Sicherheitsparameter, usw., die dem Sprach- und Datenprozessor über den MTA-Anruf-Client und die HAPI-Schnittstelle übermittelt werden.
  • Dann werden Sprachpakete ausgetauscht. Wenn zum Beispiel der anrufende Teilnehmer spricht, würde der Sprach- und Datenprozessor die Sprache verarbeiten und Sprachpakete über die HAPI-Schnittstelle an den MTA-Anruf-Client weiterleiten. Der MTA-Anruf-Client würde dann dieses Sprachpaket an die RTP-Logik weiterleiten, die das Paket aus einem protokollunabhängigen Paketformat in das RTP-Format umsetzen würde. Die RTP-Sprachpakete werden dann an den MTA zurückgesendet, der das RTP-Sprachpaket über die QoS-Dienstelogik und den DOCSIS-MAC und den Upstream-Demodulator des Netzwerk-Gateways an das CMTS weiterleitet. Die Sprachpakete werden dann an den angerufenen Teilnehmer geleitet. Auf ähnliche Weise werden Pakete von dem angerufenen Teilnehmer über die QoS-Dienstelogik an den MTA des Anruf-Clients übermittelt. Der MTA-Anruf-Client leitet die RTP-Sprachpakete an die RTP-Logik weiter, die das Paket aus dem RTP-Format in das protokollunabhängige Paketformat umsetzt. Die protokollunabhängigen Sprachpakete werden an den MTA-Anruf-Client zurückgesendet, der sie über die HAPI-Schnittstelle an den Sprach- und Datenprozessor weiterleitet. Der Sprach- und Datenprozessor decodiert die Pakete und übermittelt den digitalen Datenstrom an den angerufenen Teilnehmer. Der Sprachaustausch würde auf ähnliche Weise fortgesetzt, bis entweder von der CAS-Logik des anrufenden oder des angerufenen Teilnehmers eine Auflegebedingung erkannt wird, die dann über ein Auflegeerkennungsereignis an den jeweiligen MTA weitergeleitet würde. Der MTA würde die GCP-Logik anweisen, eine Nachricht zur Signalisierung der Auflegeerkennung zu generieren, die an den MTA zurückgesendet und an den Call Management Server weitergeleitet wird. Der Call Management Server würde eine Anforderung zur Wiedergabe (Wählton, Stille oder abgehobener Hörer) generieren, die an den MTA der Gegenstelle weitergeleitet wird. Der MTA würde die Anforderung an die GCP-Logik weiterleiten, die dann den Sprach- und Datenprozessor anweisen würde, über den MTA und die HAPI-Schnittstelle den Wählton wiederzugeben.
  • Telefonieanrufe in die andere Richtung werden auf ähnliche Weise verarbeitet. Zum Beispiel weist der Call Management Server den angerufenen MTA-Client an, eine gewählte Nummer anzurufen. Der angerufene MTA-Client weist dann die GCP-Logik an, einen Befehl zu generieren, um die gewählte Nummer anzurufen. Der Befehl wird dann über den angerufenen MTA-Client an die CAS-Logik weitergeleitet. Die CAS-Logik generiert ein Rufsignal und leitet dieses Signal an die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) weiter, die dann bei der angerufenen Telefonievorrichtung läutet. Der angerufene MTA-Client kann auch die GCP-Logik anweisen, die Anruf-ID darzustellen, wodurch bevorzugt ein Befehl für den Sprach- und Datenprozessor generiert wird, um die Anrufer-ID darzustellen. Wenn der Nutzer das Telefon abhebt, würde die CAS-Logik eine Abhebebedingungen erkennen und ein Abhebeereignis zurück an den MTA signalisieren. Der angerufene MTA-Client würde dann die GCP-Logik anweisen, eine Signalisierungsnachricht für die Abhebeerkennung zu erzeugen, die, sobald sie erstellt wurde, an den MTA zurückgesendet und über die QoS-Dienstelogik, den DOCSIS-MAC und den Upstream-Modulator des Netzwerk-Gateways und das CMTS an den externen Call Management Server weitergeleitet wird. Ein Kommunikationskanal würde erneut mit einer gegebenen Menge von Attributen eingerichtet, wie zuvor beschrieben.
  • Unter Bezugnahme auf 24 implementiert die GCP-Logik die NCS-Funktionen der PacketCable 1.0-Spezifikation einschließlich Protokolltransaktionsverwaltung, Analyse, Prüfung und Formatierung von Protokolldateneinheiten (PDUs) und weiteren Dienstprogrammfunktionen. Das PacketCable-Protokoll erfordert in der Regel eine Quittierung, dass eine Anforderung empfangen worden ist. Daher umfasst die GCP-Logik die Senderwarteschlange (TX-Warteschlange) 670, die alle von der GCP-Logik über eine Sender-(TX)-Planungseinheit 672 und den MTA an den Call Management Server gesendeten Anforderungen registriert. Ein Empfänger-(RX)-Router 674 analysiert dann von dem Call Management Server über den MTA-Anruf-Client empfangene Pakete, um zu bestimmen, ob es sich bei der empfangenen Nachricht um eine Quittierung oder eine neue Anforderung handelt. Der Empfanger-(RX)-Router 674 leitet neue Anforderungen an eine Transaktionswarteschlange 676 weiter. Wenn es sich bei dem empfangenen Paket um eine Quittierung einer zuvor von der GCP-Logik an den Call Management Server gesendete Anforderung handelt, löscht der Empfänger-(RX)-Router 674 diese Anforderung, indem er die Quittierung 674(a) an die Senderwarteschlange (TX-Warteschlange) 670 weiterleitet. Die Senderwarteschlange (TX-Warteschlange) 670 überträgt gepufferte Anforderungen in periodischer Folge erneut, bis eine Quittierung von dem Call Management Server empfangen wird.
  • Die Transaktionsaktionswarteschlange 676 registriert den Empfang einer gegebenen Anforderung von dem Call Management Server sowie das Senden einer Quittierung dieser Anforderung von der GCP-Logik an den Call Management Server, so dass die Transaktionswarteschlange 676 bevorzugt von dem Call Management Server erneut gesendete Anforderungen erkennen kann, für die bereits eine Quittierung gesendet wurde. Zusätzlich analysiert die Transaktionswarteschlange 676 die ankommenden Anforderungen gemäß dem Anforderungstyp. Die Transaktionswarteschlange 676 leitet Verbindungsnachrichten an einen Verbindungsnachrichten-Parser 678. Verbindungsnachrichten werden verwendet, um eine Verbindung zu erstellen oder zu beenden. Der Verbindungsnachrichten-Parser generiert und leitet Verbindungssteuerelemente (einschließlich Attributen) 678(a), die dann über die HAPI-Schnittstelle an den Sprach- und Datenprozessor übermittelt werden, an den MTA weiter. Die Transaktionswarteschlange 676 leitet Anforderungs-/Benachrichtigungsnachrichten an einen Anforderungs-/Benachrichtigungsnachrichten-Parser 680. Bei Anforderungs-/Benachrichtigungsanforderungen kann es sich um Signalanforderungen handeln, wie beispielsweise Wähltonwiedergabe, Besetzttonwiedergabe, usw. oder Anforderungen, um Ereignisse, wie beispielsweise MFV-Ziffern, Faxton, Modemton, usw. zu erkennen. Der Anforderungs-/Benachrichtigungsnachrichten-Parser 680 generiert bevorzugt Signalanforderungen 680(a) und leitet sie über den MTA und die HAPI-Schnittstelle an den Sprach- und Datenprozessor weiter. Der Anforderungs-/Benachrichtigungsnachrichten-Parser 680 kennzeichnet Ereigniserkennungsanforderungen 680(b) an ein Ereignisfilter 682 durch ein Flag.
  • Tatsächliche Ereignisse, die von dem Sprach- und Datenprozessor (wie zum Beispiel Faxton) oder der CAS-Logik (beispielsweise Abheben erkannt) erkannt werden, werden über den MTA-Anruf-Client an das Ereignisfilter weitergeleitet. Das Ereignisfilter 682 filtert die von dem Sprach- und Datenprozessor und der CAS-Logik über den Anruf-Client bereitgestellten Ereignisse und überträgt nur diejenigen erkannten Ereignisse, die der Call Management Server angefordert hat, wie durch die Flags 680(b) angegeben ist, die dem Ereignisfilter durch den Anforderungs-Benachrichtigungsnachrichten-Parser 680 übermittelt werden. Das Ereignisfilter 682 leitet erkannte Ereignisse, die für den Call Management Server von Interesse sind, bevorzugt an einen Nachrichtenformatierer 684 weiter. Der Nachrichtenformatierer 684 formatiert das erkannte Ereignis für das geeignete Protokoll und leitet die erkannte Ereignisnachricht an die Senderwarteschlange (TX-Warteschlange) 670 weiter, welche die Nachricht registriert und die Nachricht erneut sendet, wenn nicht zeitnah über den Empfänger-Router 674(a) eine Quittierung empfangen wird. Die Senderwarteschlange (TX-Warteschlange) 670 leitet die Nachricht an die Sender-(TX)-Planungseinheit 672 weiter, die abgehende Nachrichten bündelt und sie zur Übermittlung an den Call Management Server an den MTA-Anruf-Client (nicht gezeigt) weiterleitet.
  • Die PacketCable 1.0-Spezifikation sieht die Verwendung einer Zifferntabelle (Digit Map) vor, die so konzipiert ist, dass sie die Anzahl von Nachrichten verringert, die zwischen dem Call Management Server und dem MTA-Anruf-Client übermittelt werden, wenn ein Nutzer eine Nummer wählt. Zum Beispiel bringt das Wählen einer Nummer für ein Ferngespräch die Verwendung von 10 Ziffern mit sich (das heißt Vorwahl und Nummer des Anschlusses), was 10 Anforderungen und Quittierungen, das heißt eine je Ziffer, erfordern würde. Bei der Alternative kann der Call Management Server dem MTA-Anruf-Client eine Zifferntabelle bereitstellen, die eine Zifferntabellenlogik 686 anweist, erkannte Ziffern aus dem Sprach- und Datenprozessor gemäß einem angegebenen Format, zum Beispiel zehn Ziffern bei einem Ferngespräch, zu sammeln. Die Zifferntabellenlogik 686 leitet dann zum Beispiel alle 10 Ziffern an das Ereignisfilter weiter, das die Ziffernerkennung filtert und Ereignisse, die für den Nachrichten-Formatierer 684 von Interesse sind, wie zuvor beschrieben, über die Senderwarteschlange (TX-Warteschlange) 670 und die Sender-(TX)-Planungseinheit 672 an den Call Management Server weiterleitet.
  • Die Ereignisisolierungslogik 688 puffert von der CAS-Logik oder dem Sprach- und Datenprozessor über den MTA-Anruf-Client empfangene, erkannte Ereignisse, für die das Ereignisfilter über das Flag des Anforderungs-/Benachrichtigungsnachrichten-Parsers 680(b) keine Anforderungen zum Erkennen eines Ereignisses von dem Call Management Server empfangen hat. Antworten oder das Ergebnis 690(a) einer Verbindungs- oder Signalanforderung werden von dem MTA-Anruf-Client an einen Antwortformatierer 590 bei der GCP-Logik weitergeleitet, der das Ergebnis für das ordnungsgemäße Protokoll formatiert und dieses Ergebnis zur Übermittlung an den Call Management Server über den MTA-Anruf-Client an die Sender-(TX)-Planungseinheit 672 weiterleitet. Zusätzlich benachrichtigt der Antwortformatierer 690 die Transaktionswarteschlange 676, dass als Antwort auf eine bestimmte Anforderung eine Quittierung gesendet wurde. Die Transaktionswarteschlange 676 kann dann die erneute Übertragung einer Anforderung von dem Call Management Server erkennen, falls diese Quittierung verloren geht oder anderweitig von dem Call Management Server nicht empfangen wird. Die Transaktionswarteschlange 676 weist bevorzugt den Antwortformatierer 690 an, eine Quittierung erneut zu übertragen, wenn die Transaktionswarteschlange 676 die erneute Übertragung einer Anforderung erkennt, für die zuvor bereits eine Quittierung gesendet worden war.
  • Unter Bezugnahme auf 25 setzt die RTP-Logik 630 bevorzugt RTP-Pakete auf das von dem Sprach- und Datenprozessor genutzte, unabhängige Paketformat um und umgekehrt. Bei dem beschriebenen beispielhaften Ausführungsbeispiel sind die protokollunabhängigen Paketnutzdaten bevorzugt mit den RTP-Paketnutzdaten identisch, so dass die RTP-Logik 630 nur eine Umsetzung zwischen RTP- und xChange-Headern vorzunehmen braucht. Bei dem beschriebenen beispielhaften Ausführungsbeispiel stellt ein RTP-Shim 700 einen Zweiwege-Austausch von proto kollunabhängigen Paketen mit dem MTA-Anruf-Client 620 bereit. Der RTP-Shim 700 nimmt diese Pakete von dem MTA-Anruf-Client 620 an, setzt den Paket-Header in einen RTP-Header um und leitet das RTP-Paket an einen RTP-Stack 702 weiter. Der RTP-Stack 702 stellt die von dem RTP-Protokoll geforderte, statistische Überwachungsfunktion bereit, wie zum Beispiel das Sammeln von Statistiken über die Anzahl von gesendeten und empfangenen Bytes, die Anzahl von verlorenen Paketen und das Aufkommen von Taktzittern. Der RTP-Stack 702 stellt einen Zweiwege-Austausch von RTP-Paketen zwischen dem MTA-Anruf-Client und der RTP-Logik 630 bereit, wobei er RTP-Pakete von dem RTP-Shim 700 empfängt und sie an den MTA-Anruf-Client 620 weiterleitet und umgekehrt.
  • Unter Bezugnahme auf 26 stellt die beschriebene beispielhafte Programmierschnittstelle für Host-Anwendungen (HAPI) eine Software-Nachrichtenübermittlungsschnittstelle zwischen dem MTA-Anruf-Client 620 und dem Sprach- und Datenprozessor-DSP bereit. Die HAPI-Schnittstelle 621 erleichtert das Absetzen von Befehlen von dem MIPS-Kern über den MTA-Anruf-Client zu dem Sprach- und Datenprozessor-DSP sowie das Senden von Ereignissen von dem DSP an den MTA-Anruf-Client 620. Die HAPI-Schnittstelle 621 kann skalierbar sein, um mehrere Kanäle sowie mehrere DSPs zu unterstützen. Zusätzlich handelt es sich bei der HAPI-Schnittstelle 621 um eine thread-sichere Umgebung, die eine Funktionalität zur Nutzung mehrerer Threads (Multi-Threading) bereitstellt, um mehrere Kanäle zu unterstützen. Multi-Threading stellt mehrere gleichzeitig ausgeführte Threads innerhalb einer einzigen Anwendung bereit. Der Vorteil einer Multi-Threading-Anwendung ähnelt dem eines Multitasking-Betriebssystems, wobei die Anwendung unter Verwendung separater Threads mehrere Aufgaben erfüllen kann.
  • Bei der beschriebenen beispielhaften HAPI-Schnittstelle empfängt eine Anwendungsprogrammierschnittstelle (API) 706 Befehle von dem MTA-Anruf-Client 620 und setzt Antworten an diesen ab. Die API 706 verarbeitet ankommende Pakete, indem sie ein zusätzliches Header-Wort hinzufügt, um den Kanal zu identifizieren, der das Paket verarbeiten soll, sowie weitere Verarbeitungsparameter, wie zum Beispiel Pakettyp (das heißt Sprache oder Fax), Paketlänge. Die API leitet verarbeitete API-Nachrichten 706(a) an eine physische Schnittstelle (Firmware-Schicht) 708 weiter, die eine Schnittstelle mit dem Host-Port des DSP bildet, der dem Sprach- und Datenprozessor zugrunde liegt, um die Software des MTA-Anruf-Clients und die Signalverwaltungs-Software von der zugrunde liegenden Hardware zu trennen. Diese methodische Vorgehensweise erlaubt es der Software, auf verschiedene Hardware-Plattformen portiert zu werden, indem nur die Hardware-Schnittstellenteile der HAPI-Schnittstelle 621 auf die Ziel-Hardware portiert werden. Die physische Schnittstelle 708 formatiert die Nachricht gemäß dem zugrunde liegenden DSP und leitet die Nachricht an die auf dem DSP ausgeführten Telefoniealgorithmen weiter bzw. überträgt sie dorthin.
  • Auf ähnliche Weise leitet der zugrunde liegende DSP verarbeitete Pakete, wie zum Beispiel codierte Sprachpakete, an die physische Schnittstelle 708 weiter. Die physische Schnittstelle 708 formatiert die Antwort bevorzugt in eine API-Nachricht um. Wenn ein verarbeitetes Paket an die physische Schnittstelle 708 weitergeleitet wird, unterbricht der zugrunde liegende DSP außerdem einen APITask-Thread 710, der die verarbeiteten API-Nachrichten von der physischen Schnittstelle 708 abruft. Der APITask-Thread 710 bestimmt, ob es sich bei der API-Nachricht um ein Ereignis, wie zum Beispiel ein Sprach- oder Faxpaket, oder eine Erkennung von MFV-Frequenzen handelt, die direkt an den MTA-Anruf-Client 710(a) weitergeleitet werden, oder um eine Antwort auf einen Befehl/eine Anforderung von dem MTA-Anruf-Client. Zum Beispiel kann der MTA-Anruf-Client den Befehl an den Sprach- und Datenprozessor absetzen, den Echounterdrücker auszuschalten. Ein derartiger Befehl wird bevorzugt von der API-Schnittstelle 706 verarbeitet, um das geeignete Header-Wort hinzuzufügen und es an die physische Schnittstelle 708 weiterzuleiten. Die physische Schnittstelle 708 formatiert die Nachricht gemäß dem zugrunde liegenden DSP und setzt den Befehl ab, dass der zugrunde liegende Sprachkanal den Echounterdrücker ausschalten soll. Wenn dem Befehl entsprochen wurde, wird eine Antwort von dem zugrunde liegenden DSP an die physische Schnittstelle 708 zurückgesendet. Die physische Schnittstelle 708 formatiert die Antwort als API-Nachricht und leitet sie an den APITask-Thread 710 weiter, der sie dann als API-Antwort an die API-Schnittstelle 706 weiterleitet. Die API-Schnittstelle 706 setzt die von dem API-Task-Thread 710 empfangenen API-Antworten mit dem entsprechenden Befehl/der entsprechenden Anforderung in Beziehung, der bzw. die die Antwort veranlasst hat, und leitet eine HAPI-Antwort an den MTA-Anruf-Client 620 weiter.
  • Unter Bezugnahme auf 27 nutzt die beschriebene kanalgebundene Signalisierungslogik (CAS-Logik) 632 eine FXO-Schnittstelle (Foreign Exchange Of fice), um den Austausch von Befehlen und die Erkennung von Ereignissen zwischen dem MTA-Anruf-Client 620 und handelsüblichen, analogen Standardvorrichtungen zur Loop/Ground-Signalisierung, wie zum Beispielen analogen Telefonapparaten, Gruppe-3-Faxgeräten, Modems, Anrufbeantwortem und ähnlichen Vorrichtungen bereitzustellen. Die CAS-Logik 632 kann in einem Umschaltmodus betrieben werden, so dass ABCD Bits 712 innerhalb der CAS-Logik abgeschlossen werden. Der MTA-Anruf-Client bildet über Befehle auf hoher Ebene 714 und Ereignisse 716 eine Schnittstelle mit der CAS-Logik. Wenn zum Beispiel die CAS-Logik erkennt, dass bei einem Telefon der Hörer abgehoben wird, wird ein Erkennungsereignis an den MTA-Anruf-Client 620 weitergeleitet, der dann den Call Management Server wie zuvor beschrieben benachrichtigt. Der MTA-Anruf-Client ist außerdem in der Lage, Befehle auf hoher Ebene an die CAS-Logik abzusetzen.
  • Um zum Beispiel ein Telefon läuten zu lassen, sendet der MTA-Anruf-Client 620 ein Rufgenerierungsprofil an die CAS-Logik, und der Befehl wird von der FXO-Abschlusslogik 720 in CAS-Rohbits umgesetzt, um die externe Schnittstelle über eine Hardware-Abstraktionsschicht (HAL) 722 zu steuern. Auf ähnliche Weise werden erkannte Ereignisse, die von der Hardware-Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 724 signalisiert werden, einschließlich Auflegen/Abheben, Hook-Flash und potenziell Impulswahl, aus der Hardware-Abstraktionsschicht als CAS-Rohbits an die FXO-Abschlusslogik 720 zurückgesendet. Die Hardware-Abstraktionsschicht (HAL) 722 stellt eine physische Schnittstelle zu der angeschlossenen Teilnehmerleitungs-Schnittstellenschaltung (SLIC) bereit. Die Hardware-Abstraktionsschicht (HAL) 722 formatiert die Nachricht gemäß der zugrunde liegenden Teilnehmerleitungs-Schnittstellenschaltung (SLIC) und leitet das Nachrichtensignal über die Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 724 an die angeschlossene Telefonievorrichtung weiter bzw. überträgt es an diese.
  • Die FXO-Abschlusslogik 720 prüft bevorzugt die Integrität des erkannten Ereignisses und leitet eine Nachricht von dem Typ "Ereignis erkannt" an den MTA-Anruf-Client weiter. Die FXO-Abschlusslogik 720 umfasst einen Zustandautomaten, der erkannte Ereignisse, die von der Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 724 signalisiert werden, über die Hardware-Abstraktionsschicht 722 überwacht. Die FXO-Abschlusslogik 720 bestimmt von der Teilnehmerleitungs-Schnittstellenschaltung (SLIC) 724 signalisierte erkannte Ereignisse näher, um zu bestim men, ob ein gültiges Auflege-/Abhebe-, Hook-Flash- oder Impulswahlereignis erkannt worden ist. Die FXO-Abschlusslogik analysiert den Zeitraum des empfangenen Signals, um gültige Hook-Flash- oder Impulswahlbedingungen zu bestimmen. Auf ähnliche Weise umfasst die FXO-Abschlusslogik 720 einen Zustandsautomaten, der mit dem Läuten bei angeschlossenen Telefonen verbunden ist. Wenn der MTA-Anruf-Client einen Befehl absetzt, um ein angeschlossenes Telefon mit einer vordefinierten Kadenz läuten zu lassen, lässt der damit verbundene FXO-Abschluss-Zustandsautomat gemäß dem MTA-Befehl das angeschlossene Telefon läuten.
  • Der beschriebene beispielhafte Sprach- und Datenprozessor ist bevorzugt mit einer programmierbaren DSP-Software-Architektur (siehe 22) implementiert. Der programmierbare DSP 600 ist wirkungsvoll innerhalb der eingebetteten Kommunikations-Software-Schicht verborgen. Die Software-Schicht bindet alle DSP-Kernalgorithmen zusammen, bildet eine Schnittstelle zwischen der DSP-Hardware und dem Host und stellt Dienste auf einer niedrigeren Schicht, wie beispielsweise die Zuteilung von Ressourcen, bereit, um die Ausführung von Software-Programmen auf einer höheren Schicht zu erlauben. Eine beispielhafte, in den Programmspeicher 602 geladene Mehrschicht-Software-Architektur zur Ausführung auf der DSP-Plattform ist in 28 gezeigt. Der MTA-Anruf-Client 620 stellt eine ausführende Gesamtsteuerungs- und Systemverwaltung bereit und bildet eine direkte Schnittstelle zwischen einem DSP-Server 730 und dem MIPS-Kern des Hosts (siehe 3). Der DSP-Server 730 stellt eine DSP-Ressourcenverwaltung und eine Verarbeitung von Telekommunikationssignalen bereit. Unterhalb der DSP-Server-Schicht werden eine Reihe von physischen Vorrichtungen (PXD) 732a, 732b, 732c betrieben. Jede PXD stellt über eine Hardware-Abstraktionsschicht (HAL) 734 eine Schnittstelle zwischen dem DSP-Server 730 und einer externen Telefonievorrichtung (nicht gezeigt) bereit.
  • Der DSP-Server 730 umfasst einen Ressourcen-Manager 736, der Befehle von dem MTA-Anruf-Client 620 empfängt, Ereignisse an diesen weiterleitet und Daten mit diesem austauscht. Die Nutzer-Anwendungsschicht 736 kann sich entweder auf dem DSP 600 oder alternativ innerhalb des MTA-Anruf-Clients befinden. Eine Anwendungsprogrammierschnittstelle (API) 738 stellt eine Software-Schnittstelle zwischen dem MTA-Anruf-Client 620 des Nutzers und dem Ressourcen-Manager 736 bereit. Der Ressourcen-Manager 736 verwaltet den internen/externen Programm- und Datenspeicher des DSP 600. Zusätzlich teilt der Ressourcen-Manager dynamisch DSP-Ressourcen zu, führt die Befehlsweiterleitung sowie weitere Allzweckfunktionen durch.
  • Der DSP-Server 730 umfasst auch Treiber für virtuelle Geräte (VHDs) 740a, 740b, 740c. Bei den Treibern für virtuelle Geräte (VHDs) handelt es sich um eine Sammlung von Software-Objekten, die den Betrieb der Echtzeit-Signalverarbeitung steuern und die Einrichtung dafür bereitstellen. Jeder Treiber für virtuelle Geräte (VHD) 740a, 740b, 740c umfasst eine Medienwarteschlange für eingehende und ausgehende Daten (nicht gezeigt) und eine Bibliothek von Signalverarbeitungsdiensten, die für den jeweiligen Treiber für virtuelle Geräte (VHD) 740a, 740b, 740c spezifisch sind. Bei dem beschriebenen beispielhaften Ausführungsbeispiel handelt es sich bei jedem Treiber für virtuelle Geräte (VHD) 740a, 740b, 740c um ein vollständiges, in sich geschlossenes Software-Modul zur Verarbeitung eines einzelnen Kanals mit einer Reihe von verschiedenen Telefonievorrichtungen. Die Funktionalität zur Nutzung mehrerer Kanäle kann durch Hinzufügen von Treibern für virtuelle Geräte (VHDs) zu dem DSP-Server 730 erreicht werden. Der Ressourcen-Manager 736 steuert dynamisch die Erstellung und Löschung von Treibern für virtuelle Geräte (VHDs) und Diensten.
  • Eine Vermittlungsstelle 742 in dem DSP-Server 730 verbindet dynamisch die physischen Vorrichtungen (PXDs) 732a, 732b, 732c und die Treiber für virtuelle Geräte (VHDs) 740a, 740b, 740c miteinander. Bei jeder physischen Vorrichtung (PXD) 732a, 732b, 732c handelt es sich um eine Sammlung von Software-Objekten, die eine Signalaufbereitung für eine externe Telefonievorrichtung bereitstellen. Zum Beispiel kann eine physische Vorrichtung (PXD) vor der Kommunikation mit der Vermittlungsstelle 742 eine Lautstärken- und Verstärkungssteuerung für Signale aus einer Telefonievorrichtung bereitstellen. Mehrere Telefoniefunktionalitäten können auf einem einzelnen Kanal unterstützt werden, indem mehrere physische Vorrichtungen (PXDs), eine für jede Telefonvorrichtung, über die Vermittlungsstelle 742 mit einem einzelnen Treiber für virtuelle Geräte (VHD) verbunden werden. Verbindungen innerhalb der Vermittlungsstelle 742 werden von der Nutzer-Anwendungsschicht 738 über einen Satz von API-Befehlen an den Ressourcen-Manager 736 verwaltet. Die Anzahl von physischen Vorrichtungen (PXDs) und Treibern für virtuelle Geräte (VHDs) ist erweiterbar und nur durch die Speichergröße und die MIPS (Millionen von Anweisungen pro Sekunde) der zugrunde liegenden Software begrenzt.
  • Eine Hardware-Abstraktionsschicht (HAL) 734 bildet eine direkte Schnittstelle mit der zugrunde liegenden DSP-Hardware 600 (siehe 22) und tauscht Telefoniesignale zwischen den externen Telefonievorrichtungen und den physischen Vorrichtungen (PXDs) aus. Die Hardware-Abstraktionsschicht (HAL) 734 umfasst grundlegende Hardware-Schnittstellenroutinen einschließlich DSP-Initialisierung, Steuerung der Ziel-Hardware, Codec-Abtastung und Schnittstellenroutinen für die Hardware-Steuerung. Die DSP-Initialisierungsroutine wird von der Nutzer-Anwendungsschicht 738 aufgerufen, um die Initialisierung des Signalverarbeitungssystems einzuleiten. Die DSP-Initialisierung richtet die internen Register des Signalverarbeitungssystems zur Speicherorganisation, Interrupt-Behandlung, Zeitgeberinitialisierung und DSP-Konfiguration ein. Die Initialisierung der Ziel-Hardware betrifft die Initialisierung aller Hardware-Vorrichtungen und -schaltungen außerhalb des Signalverarbeitungssystems. Bei der Hardware-Abstraktionsschicht (HAL) 734 handelt es sich um eine physische Firmware-Schicht, welche die Kommunikations-Software von der zugrunde liegenden Hardware trennt. Diese methodische Vorgehensweise erlaubt es der Kommunikation-Software, auf verschiedene Hardware-Plattformen portiert zu werden, indem nur die betroffenen Teile der Hardware-Abstraktionsschicht (HAL) 734 auf die Ziel-Hardware portiert werden.
  • Die oben beschriebene beispielhafte Software-Architektur kann in zahlreiche Telekommunikationsprodukte integriert werden. Bei einem beispielhaften Ausführungsbeispiel ist die Software-Architektur so konzipiert, dass sie Telefoniesignale zwischen Telefonievorrichtungen (und/oder schaltungsvermittelten Netzwerken) und paketgestützten Netzwerken unterstützt. Ein Treiber für virtuelle Netzwerkgeräte (NetVHD) wird verwendet, um einen einzelnen Betriebskanal bereitzustellen und die Signalverarbeitungsdienste bereitzustellen, um Sprach-, Fax- und Modemdaten in einer Vielzahl von paketgestützten Netzwerken transparent zu verwalten. Genauer gesagt, codiert und paketiert der NetVHD von verschiedenen Telefonievorrichtungen und/oder schaltungsvermittelten Netzwerken empfangene MFV-, Sprach-, Fax- und Modemdaten und überträgt die Pakete an die Nutzer-Anwendungsschicht. Zusätzlich zerlegt der NetVHD MFV-, Sprach-, Fax- und Modemdaten aus der Nutzer- Anwendungsschicht, decodiert die Pakete in Signale und überträgt die Signale an das schaltungsvermittelte Netzwerk oder die schaltungsvermittelte Vorrichtung.
  • Ein beispielhaftes Ausführungsbeispiel des in der beschriebenen Software-Architektur betriebenen NetVHD ist in 29 gezeigt. Der NetVHD umfasst vier Betriebsarten, nämlich den Sprachmodus 750, den Sprachband-Datenmodus 752, den Faxweitergabemodus 754 und den Datenweitergabemodus 756. In jeder Betriebsart ruft der Ressourcen-Manager verschiedene Dienste auf. Zum Beispiel ruft der Ressourcen-Manager in dem Sprachmodus 750 den Anrufunterscheidungsdienst 785, den Dienst für paketgestützten Sprachaustausch 760 und den Dienst für paketgestützten Tonaustausch 762 auf. Der Dienst für paketgestützten Sprachaustausch 760 kann zahlreiche Sprachkomprimierungsalgorithmen nutzen, die unter anderem Linear 128 Kbps, G.711 μ-law/A-law 64 Kbps (ITU-Empfehlung G.711 (1988) – Pulse code modulation (PCM) of voice frequencies), G.726 16/24/32/40 Kbps (ITU-Empfehlung G.726 (12/90) – 40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM)), G.729A 8 Kbps (Anhang A (11/96) der ITU-Empfehlung G.729 – Coding of speech at 8 Kbit/s using conjugate structure algebraic-code excited linear-prediction (CS-ACELP) – Anhang A: Reduced complexity 8 kbit/s CS-ACELP speech codec) und G.723 5.3/6.3 Kbps (ITU-Empfehlung G.723. 1 (03/96) – Dual rate coder for multimedia communications transmitting at 5.3 and 6.3 Kbit/s) umfassen.
  • Der Dienst für paketgestützten Sprachaustausch 760 ist sowohl in dem Sprachmodus 750 als auch in dem Sprachband-Datenmodus 752 üblich. In dem Sprachband-Datenmodus 752 ruft der Ressourcen-Manager den Dienst für paketgestützten Sprachaustausch 760 auf, um Daten ohne Änderungen (außer Paketisierung) zwischen der Telefonievorrichtung (oder dem schaltungsvermittelten Netzwerk) und dem paketgestützten Netzwerk transparent auszutauschen. Dies wird in der Regel als Alternative zu Demodulation und erneuter Modulation bei dem Austausch von Fax- und Modemdaten verwendet, wenn die Bandbreitenbelange minimal sind. Während des Sprachband-Datenmodus 752 wird durch den Ressourcen-Manager außerdem der Detektordienst für menschliche Sprache 768 aufgerufen. Der Detektor für menschliche Sprache 768 überwacht das Signal von der Telefonievorrichtung der lokalen Seite auf Sprache. In dem Fall, in dem von dem Detektor für menschliche Sprache 768 Sprache erkannt wird, wird ein Ereignis an den Ressourcen-Manager weitergeleitet, der seinerseits den Ressourcen-Manager veranlasst, den Detektordienst für menschliche Sprache 768 zu beenden und die geeigneten Dienste für den Sprachmodus 750 aufzurufen (das heißt den Anrufunterscheidungsdienst, den Dienst für paketgestützten Tonaustausch und den Dienst für paketgestützten Sprachaustausch).
  • In dem Faxweitergabemodus 754 ruft der Ressourcen-Manager einen Dienst für paketgestützten Faxdatenaustausch 764 auf. Der Dienst für paketgestützten Faxdatenaustausch 764 kann verschiedene Datenpumpen nutzen, die unter anderem den Standard V.17, der mit bis zu 14.400 Bit pro Sekunde arbeiten kann, V.29, der einen 1.700-Hz-Träger verwendet, der sowohl in Phase als auch in Amplitude variabel ist, was 16 Kombinationen aus 8 Phasen und 4 Amplituden ergibt, und der mit bis zu 9.600 Bit pro Sekunde arbeiten kann, und V.27ter, der mit bis zu 4.800 Bit pro Sekunde arbeiten kann, umfasst. Analog ruft der Ressourcen-Manager einen Dienst für paketgestützten Modemdatenaustausch 766 in dem Datenweitergabemodus 756 auf. Der Dienst für paketgestützten Modemdatenaustausch 766 kann verschiedene Datenpumpen nutzen, die unter anderem die Standards V.22bis/V.22 mit Datenübertragungsgeschwindigkeiten bis zu 2.400 Bit pro Sekunde, V.32bis/V.32, der eine Vollduplexübertragung bei 14.400 Bit pro Sekunde ermöglicht, und V.34, der bei bis zu 33.600 Bit pro Sekunde arbeitet, umfassen. Die ITU-Empfehlungen, welche die Standards für die vorgenannten Datenpumpen darlegen, sind per Bezugnahme so in dieses Dokument aufgenommen, als wenn sie in vollem Wortlaut dargelegt wären.
  • Bei dem beschriebenen beispielhaften Ausführungsbeispiel braucht die Anwendungsschicht keinen Dienst direkt zu verwalten. Die Nutzer-Anwendungsschicht verwaltet die Sitzung unter Verwendung von Befehlen auf hoher Ebene, die an den NetVHD gerichtet sind, der seinerseits die Dienste direkt ausführt. Die Nutzer-Anwendungsschicht kann jedoch bei Bedarf auf weitere detaillierte Parameter jedes beliebigen Dienstes zugreifen, beispielshalber, um Standardfunktionen für jede beliebige Anwendung zu ändern.
  • In dem Betrieb öffnet die Nutzer-Anwendungsschicht den NetVHD und verbindet ihn mit der geeigneten physischen Vorrichtung (PXD). Die Nutzer-Anwendungsschicht kann dann verschiedene Betriebsparameter des NetVHD konfigurieren, die unter anderem eine Standardsprachkomprimierung (Linear, G.711, G.726, G.723.1, G.723.1A, G.729A, G.729B), eine Fax-Datenpumpe (Binär, V.17, V.29, V.27ter) und eine Modem-Datenpumpe (Binär, V.22bis, V.32bis, V.34) umfassen. Die Nutzer-Anwendungsschicht lädt dann einen geeigneten Signalisierungsdienst (nicht gezeigt) in den NetVHD, konfiguriert ihn und versetzt den NetVHD in den Zustand "Aufgelegt".
  • Als Antwort auf Ereignisse von dem Signalisierungsdienst (nicht gezeigt) über eine Telefonievorrichtung der lokalen Seite (Gabelumschalter) oder auf Signalpakete der Gegenstelle versetzt die Nutzeranwendung den NetVHD in den geeigneten Abhebezustand, in der Regel den Sprachmodus. Wenn bei einem beispielhaften Ausführungsbeispiel das Ereignis des Signalisierungsdienstes durch die Telefonievorrichtung der lokalen Seite ausgelöst wird, generiert der Dienst für paketgestützten Tonaustausch einen Wählton. Sobald ein MFV-Ton erkannt wird, wird der Wählton beendet. Die MFV-Töne werden paketiert und zur Übertragung in dem paketgestützten Netzwerk an die Nutzer-Anwendungsschicht weitergeleitet. Der Dienst für paketgestützten Tonaustausch könnte auch einen Rufton an die Telefonievorrichtung der lokalen Seite zurückspielen (wenn bei einer Telefonievorrichtung der Gegenstelle geläutet wird), und einen Besetztton, wenn die Telefonievorrichtung der Gegenstelle nicht zur Verfügung steht. Weitere Töne können auch unterstützt werden, um anzugeben, dass alle Leitungen besetzt sind oder an der Telefonievorrichtung der lokalen Seite eine ungültige Folge von MFV-Ziffern eingegeben wurde.
  • Sobald eine Verbindung zwischen den Telefonievorrichtungen der lokalen Seite und der Gegenstelle hergestellt wurde, ist der Anrufunterscheidungsdienst für die Unterscheidung zwischen einem Sprachanruf und einem Anruf eines Geräts zuständig, indem er das Vorhandensein eines Tons mit 2.100 Hz erkennt, wie dies der Fall ist, wenn es sich bei der Telefonievorrichtung um ein Fax oder ein Modem handelt, eines Tons mit 1.100 Hz oder eines gemäß dem Standard V.21 modulierten HDLC-Flags (High Level Data Link Control), wie dies der Fall ist, wenn es sich bei der Telefonievorrichtung um ein Fax handelt. Wenn ein Ton mit 1.100 Hz oder gemäß dem Standard V.21 modulierte HDLC-Flags erkannt werden, wird ein anrufendes Faxgerät erkannt. Der NetVHD beendet dann den Sprachmodus und ruft den Dienst für paketgestützten Faxdatenaustausch auf, um den Anruf zu verarbeiten. Wenn jedoch ein Ton mit 2.100 Hz erkannt wird, beendet der NetVHD den Sprachmodus und ruft den Dienst für paketgestützten Datenaustausch auf.
  • Der Dienst für paketgestützten Datenaustausch nimmt ferner eine Unterscheidung zwischen einem Fax und einem Modem vor, indem er das ankommende Signal weiter auf gemäß V.21 modulierte HDLC-Flags überwacht, deren Vorhandensein darauf hinweist, dass gerade eine Fax-Verbindung aufgebaut wird. Wenn HDLC-Flags erkannt werden, beendet der NetVHD den Dienst für paketgestützten Datenaustausch und leitet den Dienst für paketgestützten Faxdatenaustausch ein. Ansonsten bleibt der Dienst für paketgestützten Datenaustausch in Betrieb. Bei Abwesenheit eines Tons mit 1.100 oder 2.100 Hz oder von gemäß V.21 modulierten HDLC-Flags bleibt der Sprachmodus in Betrieb.
  • A. Der Sprachmodus
  • Der Sprachmodus stellt die Signalverarbeitung von Sprachsignalen bereit. Der Sprachmodus ermöglicht die Übertragung von Sprache über ein paketgestütztes System wie ein Internet-Telefonienetzwerk (VoIP, H.323), Voice-Qver-Frame-Relay-Netzwerk (VoFR, FRF-11), Voice-Telephony-Over-ATM-Netzwerk (VTOA) oder jedes andere proprietäre Netzwerk. Der Sprachmodus sollte es auch gestatten, dass Sprache über herkömmliche Medien, wie Zeitmultiplexnetzwerke (TDM-Netzwerke) und Systeme zur Speicherung und Wiedergabe von Sprachdaten transportiert werden.
  • Die physischen Vorrichtungen (PXDs) für den Sprachmodus stellen Echounterdrückung, Verstärkung und automatische Verstärkungsregelung bereit. Der Netzwerk-VHD ruft zahlreiche Dienste in dem Sprachmodus, einschließlich den Anrufunterscheidungsdienst, den Dienst für paketgestützten Sprachaustausch und den Dienst für paketgestützten Tonaustausch auf. Diese Netzwerk-VHD-Dienste wirken zusammen, um Folgendes bereitzustellen: (1) ein Codierersystem mit Erkennung von MFV-Frequenzen, Erkennung von Ruftönen (Call Progress Tone Detection), Sprachaktivitätserkennung (VAT), Sprachkomprimierung und Schätzung für künstlich erzeugtes Rauschen und (2) ein Decodierersystem mit Verzögerungskompensation, Sprachdecodierung, Generierung von MFV-Frequenzen, Erzeugung von künstlich erzeugtem Rauschen und Rückgewinnung von verlorenen Rahmen.
  • Die von dem Netzwerk-VHD aufgerufenen Dienste in dem Sprachmodus und die damit verbundene physische Vorrichtung (PXD) sind in 30 schematisch gezeigt. Bei dem beschriebenen beispielhaften Ausführungsbeispiel stellt die physische Vorrichtung (PXD) 1060 eine Zweiwege-Kommunikation mit einem Telefonnetz bzw. leitungsvermittelten Netzwerk, wie beispielsweise einem öffentlichen Telefonnetz (zum Beispiel DS0) bereit, die ein PCM-Signal (Pulse Code Modulated) mit 64 kb/s, das heißt digitale Sprachabtastungen, transportiert.
  • Das ankommende PCM-Signal 1060a wird anfänglich von der physischen Vorrichtung (PXD) 1060 verarbeitet, um Echos der Gegenstelle zu entfernen. Wie der Name sagt, handelt es sich bei Echos in einem Telefonsystem um die Stimme des Sprechers, die als Ergebnis des Betriebs des hybriden Netzwerks mit seiner Umsetzung von zwei auf vier Drähte zurückkommt. Wenn eine geringe Verzögerung zwischen den beiden Seiten vorliegt, entspricht das Echo der Gegenstelle einem Nebengeräusch (Echo von der lokalen Seite) und stellt daher kein Problem dar. Nebengeräusche bieten den Nutzern eine Rückmeldung über die Lautstärke, mit der sie sprechen, und ohne Nebengeräusche würden die Nutzer dazu neigen, zu laut zu sprechen. Echoverzögerungen der Gegenstelle, die länger als 10 bis 30 ms dauern, verschlechtern die Sprachqualität jedoch erheblich und stellen ein größeres Ärgernis für den Nutzer dar.
  • Ein Echounterdrücker 1070 wird verwendet, um Echos von Sprache der Gegenstelle zu entfernen, die auf dem ankommenden PCM-Signal 1060a vorhanden sind, bevor das ankommende PCM-Signal 1060a zu dem Nutzer an der Gegenstelle zurückgeleitet wird. Der Echounterdrücker 1070 tastet ein abgehendes PCM-Signal 1060b von dem Nutzer der Gegenstelle ab, filtert es und kombiniert es mit dem ankommenden PCM-Signal 1060a. Dem Echounterdrücker 1070 folgt bevorzugt ein nichtlinearer Prozessor (NLP) 1072, der die digitalen Sprachabtastungen stumm schalten kann, wenn bei Nichtvorhandensein von Sprache auf der lokalen Seite Sprache an der Gegenstelle erkannt wird. Der Echounterdrücker 1070 kann auch künstlich erzeugtes Rauschen einfügen, das bei Nichtvorhandensein von Sprache auf der lokalen Seite im Großen und Ganzen den gleichen Pegel wie das echte Hintergrundrauschen oder einen festen Pegel aufweist.
  • Nach der Echounterdrückung wird der Leistungspegel der digitalen Sprachabtastungen durch eine automatische Verstärkungsregelung (AGC) 1074 normalisiert, um sicherzustellen, dass die Unterhaltung eine annehmbare Lautstärke aufweist. Alternativ kann die automatische Verstärkungsregelung vor dem Echounterdrücker 1070 durchgeführt werden, jedoch würde dieser Ansatz eine komplexere Konstruktion mit sich bringen, weil die Verstärkung auch auf das abgetastete, abgehende PCM-Signal 1060b angewendet werden müsste. Bei dem beschriebenen beispielhaften Ausführungsbeispiel ist die automatische Verstärkungsregelung (AGC) 1074 so konstruiert, dass sie sich langsam anpasst, obwohl sie sich einigermaßen schnell anpassen soll, wenn Überlauf oder Signalbegrenzung (Clipping) erkannt wird. Die Anpassung der automatischen Verstärkungsregelung (AGC) sollte auf eifern festen Wert gehalten werden, wenn der nichtlineare Prozessor (NLP) 1072 aktiviert ist.
  • Nach der automatischen Verstärkungsregelung (AGC) werden die digitalen Sprachabtastungen über die Vermittlungsstelle 32' in der Medienwarteschlange 1066 innerhalb des Netzwerk-VHD 1062 platziert. In dem Sprachmodus ruft der Netzwerk-VHD 1062 drei Dienste auf, nämlich den Anrufunterscheidungsdienst, den Dienst für paketgestützten Sprachaustausch und den Dienst für paketgestützten Tonaustausch. Der Anrufunterscheidungsdienst 1068 analysiert die digitalen Sprachabtastungen aus der Medienwarteschlange, um zu bestimmen, ob ein Ton mit 2.100 Hz, 1.100 Hz oder gemäß V.21 modulierte HDLC-Flags vorhanden sind. Wenn, wie oben unter Bezugnahme auf 4 beschrieben, entweder ein Ton oder HDLC-Flags erkannt werden, werden die Sprachmodus-Dienste beendet, und der geeignete Dienst für den Fax- oder Modembetrieb wird eingeleitet. Bei Nichtvorhandensein eines Tons mit 2.100 Hz, 1.100 Hz oder von HDLC-Flags, werden die digitalen Sprachabtastungen mit dem Codierersystem gekoppelt, das einen Sprachcodierer 1082, einen Sprachaktivitätsdetektor (VAD) 1080, einen Schätzer für künstlich erzeugtes Rauschen 1081, einen MFV-Detektor 1076, einen Detektor für Ruftöne 1077 und eine Paketierungs-Engine 1078 umfasst.
  • Ein typisches Telefongespräch weist durchaus 60 Prozent Stille oder Inhalt ohne Aktivität auf. Daher können hohe Bandbreitenverstärkungen verwirklicht werden, wenn digitale Sprachabtastungen während dieser Zeiträume unterdrückt werden. Ein Sprachaktivitätsdetektor (VAD) 1080, der in dem Rahmen des Dienstes für pa ketgestützten Sprachaustausch betrieben wird, wird verwendet, um diese Funktion zu erfüllen. Der Sprachaktivitätsdetektor (VAD) 1080 versucht, digitale Sprachabtastungen zu erkennen, die keine aktive Sprache enthalten. Während Zeiträumen, in denen die Sprache inaktiv ist, koppelt der Schätzer für künstlich erzeugtes Rauschen 1081 Pakete mit einem SID-Kenner (Silence Identifier) in einer Paketierungs-Engine 1078. Die SID-Pakete enthalten Sprachparameter, welche die Rekonstruktion des Hintergrundrauschens an der Gegenstelle erlauben.
  • Aus Systemsicht kann der Sprachaktivitätsdetektor (VAD) 1080 in Bezug auf die Änderung in dem nichtlinearen Prozessor (NLP) 1072 empfindlich sein. Wenn zum Beispiel der nichtlineare Prozessor (NLP) 1072 aktiviert wird, kann der Sprachaktivitätsdetektor (VAD) 1080 unmittelbar feststellen, dass keine Sprachaktivität vorliegt. In diesem Fall kann der Sprachaktivitätsdetektor (VAD) 1080 Probleme haben, den Pegel des echten Hintergrundrauschens zu verfolgen. Wenn der Echounterdrücker 1070 während Zeiträumen, in denen keine Sprachaktivität vorliegt, künstlich erzeugtes Rauschen erzeugt, kann dieses spektrale Merkmale aufweisen, die sich von denen von echtem Hintergrundrauschen unterscheiden. Der Sprachaktivitätsdetektor (VAD) 1080 kann eine Änderung in dem Rauschcharakter erkennen, wenn der nichtlineare Prozessor NLP 1072 aktiviert (oder deaktiviert) wird, und das künstlich erzeugte Rauschen als aktive Sprache feststellen. Aus diesen Gründen sollte der Sprachaktivitätsdetektor (VAD) 1080 deaktiviert werden, wenn der nichtlineare Prozessor NLP 1072 aktiviert ist. Dies wird durch eine Nachricht vom Typ "NLP ein" 1072a bewerkstelligt, die von dem nichtlinearen Prozessor NLP 1072 an den Sprachaktivitätsdetektor (VAD) 1080 übergeben wird.
  • Bei dem Sprachcodierer 1082, der in dem Rahmen des Dienstes für paketgestützten Sprachaustausch betrieben wird, kann es sich um einen reinen 16-Bit-PCM-Codierer oder jeden beliebigen Sprachcodierer handeln, der einen oder mehrere der von ITU veröffentlichten Standards unterstützt. Die codierten digitalen Sprachabtastungen werden durch die Paketierungs-Engine 1078 zu einem Sprachpaket (bzw. zu Sprachpaketen) formatiert. Diese Sprachpakete werden gemäß einem Anwendungsprotokoll formatiert und an den Host (nicht gezeigt) ausgegeben. Der Sprachcodierer 1082 wird nur dann aufgerufen, wenn digitale Sprachabtastungen mit Sprache von dem Sprachaktivitätsdetektor (VAD) 1080 erkannt werden. Da das Paketierungsintervall ein Vielfaches eines Codierintervalls sein kann, sollten der Sprachaktivitäts detektor (VAD) 1080 und die Paketierungs-Engine 1078 beide bei der Entscheidung zusammenwirken, ob der Sprachcodierer 1082 aufgerufen werden soll oder nicht. Wenn das Paketierungsintervall zum Beispiel 10 ms beträgt und das Decodierintervall 5 ms (ein Rahmen aus digitalen Sprachabtastungen ist 5 ms lang), dann sollte ein Rahmen, der aktive Sprache enthält, bewirken, dass der nachfolgende Rahmen, ungeachtet des Zustands des Sprachaktivitätsdetektors (VAD) während dieses nachfolgenden Rahmens, in dem 10 ms langen Paket platziert wird. Diese Interaktion kann durch den Sprachaktivitätsdetektor (VAD) 1080 erfüllt werden, welcher an die Paketierungs-Engine 1078, die steuert, ob der Sprachcodierer aufgerufen wird oder nicht, ein "Aktiv"-Flag 1080a übergibt.
  • Bei dem beschriebenen beispielhaften Ausführungsbeispiel wird der Sprachaktivitätsdetektor (VAD) 1080 nach der automatischen Verstärkungsregelung (AGC) 1074 angewendet. Dieser Ansatz bietet optimale Flexibilität, weil sowohl der Sprachaktivitätsdetektor (VAD) 1080 als auch der Sprachcodierer 1082 in einige Sprachkomprimierungsschemata integriert sind, wie beispielsweise diejenigen, die in den ITU-Empfehlungen G.729 mit Anhang B, VAD (März 1996) – Coding of Speech at 8 kbits/s Using Conjugate-Structure Algebraic-Code-Exited Linear Prediction (CS-ACELP) – und G.723.1 mit Anhang A, VAD (März 1996) veröffentlicht wurden.
  • Ein in dem Rahmen des Dienstes für paketgestützten Tonaustausch betriebener MFV-Detektor 1076 bestimmt, ob auf der lokalen Seite ein MFV-Signal vorhanden ist oder nicht. Der MFV-Detektor 1076 stellt auch ein Vorerkennungs-Flag 1076a bereit, das angibt, ob es wahrscheinlich ist oder nicht, dass es sich bei der digitalen Sprachabtastung um einen Teil eines MFV-Signals handelt. Wenn dies der Fall ist, wird das Vorerkennungs-Flag 1076a an die Paketierungs-Engine 1078 weitergegeben und weist diese an, das Halten von Sprachpaketen zu beginnen. Wenn der MFV-Detektor 1076 letztendlich ein MFV-Signal erkennt, werden die Sprachpakete verworfen, und das MFV-Signal 1078 wird mit der Paketierungs-Engine 1078 gekoppelt. Ansonsten werden die Sprachpakete letztendlich von der Paketierungs-Engine 1078 an den Host (nicht gezeigt) freigegeben. Der Vorteil dieses Verfahrens liegt darin, dass es nur temporäre Auswirkungen auf die Sprachpaketverzögerung und keine konstante Pufferungsverzögerung gibt, wenn ein MFV-Signal fälschlicherweise vorerkannt wird. Ob Sprachpakete gehalten werden, während das Vorer kennungs-Flag 1076a aktiv ist, könnte auf adaptive Weise von der Nutzer-Anwendungsschicht gesteuert werden.
  • Auf ähnliche Weise wird außerdem ein Detektor für Ruftöne 1077 in dem Rahmen des Dienstes für paketgestützten Tonaustausch betrieben, um zu bestimmen, ob auf der lokalen Seite ein exakter Signalisierungston vorhanden ist. Bei Ruftönen handelt es sich um diejenigen Töne, die darauf hinweisen, was mit Wähltelefonanrufen geschieht. Bedingungen wie Besetzt, Läuten bei dem angerufenen Teilnehmer, Kein Anschluss unter dieser Nummer und weitere weisen jeweils charakteristische Tonfrequenzen und Kadenzen auf, die ihnen zugewiesen sind. Der Detektor für Ruftöne 1077 überwacht den Zustand des Anruffortschritts und leitet ein Ruftonsignal an die Paketierungs-Engine weiter, das paketiert und über das paketgestützte Netzwerk übertragen werden soll. Der Detektor für Ruftöne kann außerdem Informationen zu dem Status der Telefonangaben auf der lokalen Seite und an der Gegenstelle bereitstellen, die für die Aufgaben der Signalverarbeitung relevant sind. Wenn der Status der Telefongabel "Aufgelegt" ist, sollte der Sprachaktivitätsdetektor (VAD) bevorzugt alle Rahmen als inaktiv markieren, die Erkennung von MFV-Frequenzen sollte deaktiviert werden, und SID-Pakete sollten nur dann übertragen werden, wenn sie erforderlich sind, um die Verbindung aufrecht zu erhalten.
  • Das Decodierungssystem des Netzwerk-VHD 1062 führt im Wesentlichen den umgekehrten Vorgang des Codierungssystems durch. Das Decodierungssystem des Netzwerk-VHD 1062 umfasst eine Depaketierungs-Engine 1084, eine Sprachwarteschlange 1086, eine MFV-Warteschlange 1088, eine Präzisionston-Warteschlange 1087, eine Sprachsynchronisiereinheit 1090, eine MFV-Synchronisiereinheit 1102, eine Präzisionston-Synchronisiereinheit 1103, einen Sprachdecodierer 1096, einen Sprachaktivitätsdetektor (VAD) 1098, einen Schätzer für künstlich erzeugtes Rauschen 1100, einen Generator für künstlich erzeugtes Rauschen 1092, eine Rückgewinnungs-Engine für verlorene Pakete 1094, einen Tongenerator 1104 und einen Präzisionstongenerator 1105.
  • Die Depaketierungs-Engine 1084 identifiziert den Typ der von dem Host empfangenen Pakete (das heißt Sprachpaket, MFV-Paket, Ruftonpaket, SID-Paket) und wandelt sie in Rahmen um, die protokollunabhängig sind. Die Depaketierungs-Engine VHD 1084 überträgt dann die Sprachrahmen (oder, in dem Fall von SID- Paketen, die Sprachparameter) in die Sprachwarteschlange 1086, überträgt die MFV-Rahmen in die MFV-Warteschlange 1088 und überträgt die Ruftöne in die Ruftonwarteschlange 1087. Auf diese Weise sind die übrigen Aufgaben im Großen und Ganzen protokollunabhängig.
  • Ein Jitter-Puffer wird genutzt, um Netzwerk-Beeinträchtigungen wie Schwankungen der Ende-zu-Ende-Verzögerung (Delay Jitter) auszugleichen, die durch Pakete verursacht werden, die nicht zur selben Zeit oder in derselben Reihenfolge ankommen, in der sie gesendet wurden. Zusätzlich gleicht der Jitter-Puffer verlorene Pakete aus, die gelegentlich auftreten, wenn das Netzwerk stark überlastet ist. Bei dem beschriebenen beispielhaften Ausführungsbeispiel umfasst der Jitter-Puffer für Sprache eine Sprachsynchronisiereinheit 1090, die in Verbindung mit einer Sprachwarteschlange 1086 funktioniert, um dem Sprachdecodierer 1096 einen isochronen Strom von Sprachrahmen bereitzustellen.
  • Die an der Gegenstelle in die Sprachpakete eingebetteten Folgenummern können verwendet werden, um verlorene Pakete, Pakete, die nicht in der richtigen Reihenfolge ankommen, und kurze Stillezeiträume zu erkennen. Die Sprachsynchronisiereinheit 1090 kann die Folgenummern analysieren, wobei der Generator für künstlich erzeugtes Rauschen 1092 während kurzer Stillezeiträume aktiviert wird und Sprachrahmenwiederholungen über die Rückgewinnungs-Engine für verlorene Pakete 1094 durchgeführt werden, wenn Sprachpakete verloren gegangen sind. SID-Pakete können außerdem als Indikator für Stillezeiträume verwendet werden, welche die Sprachsynchronisiereinheit 1090 veranlassen, den Generator für künstlich erzeugtes Rauschen 1092 zu aktivieren. Ansonsten koppelt während einer Sprachaktivität an der Gegenstelle die Sprachsynchronisiereinheit 1090 Sprachrahmen von der Sprachwarteschlange 1086 in einem isochronen Strom an den Sprachdecodierer 1096. Der Sprachdecodierer 1096 decodiert die Sprachrahmen in digitale Sprachabtastungen, die zur Übertragung in einem schaltungsvermittelten Netzwerk geeignet sind, wie beispielsweise ein PCM-Signal mit 64 kb/s für ein öffentliches Telefonnetz. Die Ausgabe des Sprachdecodierers 1096 (oder des Generators für künstlich erzeugtes Rauschen 1092 oder der Rückgewinnungs-Engine für verlorene Pakete 1094, sofern aktiviert) wird zur Übertragung an die physische Vorrichtung (PXD) 1060 in eine Medienwarteschlange 1106 geschrieben.
  • Der Generator für künstlich erzeugtes Rauschen 1092 stellt dem Nutzer an der Gegenstelle während Stillezeiträumen Hintergrundrauschen bereit. Wenn das Protokoll SID-Pakete unterstützt (und diese für VTOA, FRF-11 und VoIP unterstützt werden), müsste der. Schätzer für künstlich erzeugtes Rauschen des Codierersystems an der Gegenstelle SID-Pakete übertragen. Dann kann das Hintergrundrauschen von dem Generator für künstlich erzeugtes Rauschen 1092 aus den in der Sprachwarteschlange 1086 gepufferten Sprachparametern in den SID-Paketen rekonstruiert werden. Bei manchen Protokollen, namentlich FRF-11, sind die SID-Pakete optional, und andere Nutzer an der Gegenstelle unterstützen SID-Pakete möglicherweise überhaupt nicht. Bei diesen Systemen muss die Sprachsynchronisiereinheit 1090 weiterhin ordnungsgemäß funktionieren. Bei Nichtvorhandensein von SID-Paketen können die Sprachparameter des Hintergrundrauschens an der Gegenstelle durch Ausführen des Sprachaktivitätsdetektors (VAD) 1098 in dem mit einem Schätzer für künstliches Rauschen 1100 in Reihe geschalteten Sprachdecodierer 1096 bestimmt werden.
  • Bevorzugt ist die Sprachsynchronisiereinheit 1090 nicht von in dem Sprachpaket eingebetteten Folgenummern abhängig. Die Sprachsynchronisiereinheit 1090 kann eine Reihe von Mechanismen aufrufen, um Schwankungen der Ende-zu-Ende-Verzögerung (Delay Jitter) in diesen Systemen auszugleichen. Zum Beispiel kann die Sprachsynchronisiereinheit 1090 annehmen, dass die Sprachwarteschlange 1086 sich auf Grund übermäßiger Schwankungen in einer Unterlaufbedingung befindet, und Paketwiederholungen durchführen, indem sie die Rückgewinnungs-Engine für verlorene Pakete 1094 aktiviert. Alternativ kann der Sprachaktivitätsdetektor (VAD) 1098 in dem Sprachdecodierer 1096 verwendet werden, um zu schätzen, ob der Unterlauf der Sprachwarteschlange 1086 auf Grund des Eintreten eines Stillezeitraums oder auf Grund von Paketverlusten entstanden ist. In diesem Fall kann bzw. können das Spektrum und/oder die Energie der digitalen Sprachabtastungen geschätzt und das Ergebnis 1098a an die Sprachsynchronisiereinheit 1090 zurückgeliefert werden. Die Sprachsynchronisiereinheit 1090 kann dann während Sprachpaketverlusten die Rückgewinnungs-Engine für verlorene Pakete 1094 und während Stillezeiträumen den Generator für künstlich erzeugtes Rauschen 1092 aufrufen.
  • Wenn MFV-Pakete ankommen, werden sie von der Depaketierungs-Engine VHD 1084 depaketiert. MFV-Rahmen an dem Ausgang der Depaketierungs-Engine VHD 1084 werden in die MFV-Warteschlange 1088 geschrieben. Die MFV-Syn chronisiereinheit 1102 koppelt die MFV-Rahmen aus der MFV-Warteschlange 1088 mit dem Tongenerator 1104. Ähnlich wie die Sprachsynchronisiereinheit wird die MFV-Synchronisiereinheit 1102 genutzt, um dem Tongenerator 1104 einen isochronen Strom von MFV-Rahmen bereitzustellen. Allgemein ausgedrückt sollten Sprachrahmen unterdrückt werden, wenn MFV-Pakete übertragen werden. Dies ist in gewissem Maße protokollabhängig. Die Funktionalität zum Leeren der Sprachwarteschlange 1086, um sicherzustellen, dass die Sprachdatenrahmen die Generierung von MFV-Frequenzen nicht stören, ist jedoch wünschenswert. Im Wesentlichen werden alte Sprachrahmen, die in die Warteschlange gestellt werden können, verworfen, sobald MFV-Pakete ankommen. Dies stellt sicher, dass eine beträchtliche Lücke zwischen den einzelnen Ziffern vorhanden ist, bevor MFV-Töne generiert werden. Dies wird durch eine Nachricht "Ton liegt vor" 1088a erreicht, die zwischen der MFV-Warteschlange und der Sprachsynchronisiereinheit 1090 übergeben wird.
  • Der Tongenerator 1104 setzt die MFV-Signale in einen MFV-Ton um, der für ein digitales oder analoges Standardtelefon geeignet ist. Der Tongenerator 1104 überschreibt die Medienwarteschlange 1106, um einen Streuverlust über den Sprachpfad zu verhindern und um sicherzustellen, dass die MFV-Töne nicht zu viel Rauschen aufweisen.
  • Es besteht auch die Möglichkeit, dass der MFV-Ton als Echo in den MFV-Detektor 1076 rückgekoppelt wird. Um eine fehlerhafte Erkennung zu verhindern, kann der MFV-Detektor 1076 während der Generierung eines MFV-Tons vollständig (oder nur für die Ziffer, die gerade generiert wird) deaktiviert werden. Dies wird durch eine Nachricht "Ton ein" 1104a erreicht, die zwischen dem Tongenerator 1104 und dem MFV-Detektor 1076 übergeben wird. Alternativ kann der nichtlineare Prozessor (NLP) 1072 während der Generierung von MFV- Tönen aktiviert werden.
  • Wenn Ruftonpakete ankommen, werden sie von der Depaketierungs-Engine 1084 depaketiert. Ruftonrahmen an dem Ausgang der Depaketierungs-Engine 1084 werden in die Ruftonwarteschlange 1087 geschrieben. Die Rufton-Synchronisiereinheit 1103 koppelt die Ruftonrahmen von der Ruftonwarteschlange 1087 mit einem Ruftongenerator 1105. Ähnlich wie die MFV-Synchronisiereinheit wird die Rufton-Synchronisiereinheit 1103 genutzt, um dem Ruftongenerator 1105 einen isochronen Strom von Ruftonrahmen bereitzustellen. Und ganz ähnlich wie bei dem MFV-Gene rator sollten Sprachrahmen unterdrückt werden, wenn Ruftonpakete übertragen werden. Dies ist in gewissem Maße protokollabhängig. Die Funktionalität zum Leeren der Sprachwarteschlange 1086, um sicherzustellen, dass die Sprachdatenrahmen die Generierung von Ruftönen nicht stören, ist jedoch wünschenswert. Im Wesentlichen werden die alten Sprachrahmen, die in die Warteschlange gestellt werden können, verworfen, wenn Ruftonpakete ankommen, um sicherzustellen, dass eine beträchtliche Lücke zwischen den Ziffern vorhanden ist, bevor Ruftöne generiert werden. Dies wird durch eine Nachricht "Ton liegt vor" 1087a erreicht, die zwischen der Ruftonwarteschlange 1087 und der Sprachsynchronisiereinheit 1090 übergeben wird.
  • Der Ruftongenerator 1105 setzt die Ruftonsignale in einen Rufton um, der für ein digitales oder analoges Standardtelefon geeignet ist. Der Ruftongenerator 1105 überschreibt die Medienwarteschlange 1106, um einen Streuverlust über den Sprachpfad zu verhindern und um sicherzustellen, dass die Ruftöne nicht zu viel Rauschen aufweisen.
  • Das abgehende PCM-Signal in der Medienwarteschlange 1106 ist über die Vermittlungsstelle 1032' mit der physischen Vorrichtung (PXD) 1060 gekoppelt. Das abgehende PCM-Signal ist mit einem Verstärker 1108 gekoppelt, bevor es auf der PCM-Ausgangsleitung 1060b ausgegeben wird.
  • Ein beispielhafter Sprachsignalprozessor ist in der US-Patentanmeldung Nr. 09/522,185 mit dem Titel "Voice and Data Exchange Over a Packet Based Network" offenbart, deren Inhalt per Bezugnahme so in dieses Dokument aufgenommen ist, als wenn er in vollständigem Wortlaut dargelegt wäre.
  • B. Der Faxweitergabemodus
  • Der Faxweitergabemodus stellt die Signalverarbeitung von Faxsignalen bereit. Der Faxweitergabemodus ermöglicht die Übertragung von Faxsignalen in einem paketgestützten System, wie beispielsweise einem VoIP-, VoFR-, FRF-11-, VTOA-Netzwerk oder jedem anderen proprietären Netzwerk. Zu Erläuterungszwecken wird das erste Faxgerät als sendendes Fax bezeichnet, das über ein öffentliches Telefonnetz mit dem sendenden Netzwerk-Gateway 1378a verbunden ist. Das sendende Netzwerk-Gateway ist über ein HFC-Netzwerk mit einem CMTS verbunden. Zusätzliche Faxgeräte können anhand von Online-Verbindungen über ein Netzwerk-Gateway und ein HFC-Netzwerk mit dem anderen Ende des CMTS gekoppelt sein oder anhand von Offline-Verbindungen, zum Beispiel einem Telefonnetz-Gateway und einem öffentlichen Telefonnetz, mit dem CMTS gekoppelt sein.
  • Die Übertragung von Faxsignalen in paketgestützten Netzwerken kann durch wenigstens drei alternative Verfahren durchgeführt werden. Bei dem ersten Verfahren werden Faxdatensignale in Echtzeit ausgetauscht. In der Regel findet für die sendenden und empfangenden Faxgeräte eine Reduzierung des Datenverkehrs durch Spoofing statt, um Ende-zu-Ende-Übertragungsverzögerungen plus Schwankungen (Jitter) von bis zu etwa 1,2 Sekunden zu erlauben. Bei dem zweiten, dem Store-and-Forward-Modus, handelt es sich um ein Verfahren, das Faxdatensignale nicht in Echtzeit überträgt. In der Regel läuft die Faxkommunikation über eine lokale Transaktion ab, wird dann in dem Speicher gespeichert und zu einem nachfolgenden Zeitpunkt an das Zielfaxgerät übertragen. Bei dem dritten Modus handelt es sich um eine Kombination aus dem Store-and-Forward-Modus mit minimalem Spoofing, um eine annähernde Emulation einer typischen Faxverbindung bereitzustellen.
  • In dem Faxweitergabemodus ruft der Netzwerk-VHD den Dienst für paketgestützten Faxdatenaustausch auf. Der Dienst für paketgestützten Faxdatenaustausch stellt eine Demodulation und eine Remodulation von Faxdatensignalen bereit. Dieser Ansatz ergibt eine erhebliche Bandbreiteneinsparung, da nur die zugrunde liegenden, unmodulierten Datensignale über das paketgestützte Netzwerk übertragen werden. Der Dienst für paketgestützten Faxdatenaustausch stellt außerdem eine Kompensation für Schwankungen in dem Netzwerk mit einem Jitter-Puffer bereit, der dem ähnelt, der bei dem Dienst für paketgestützten Sprachaustausch aufgerufen wird. Zusätzlich kompensiert der Dienst für paketgestützten Faxdatenaustausch verlorene Datenpakete mit einer Fehlerkorrekturverarbeitung. Während verschiedener Phasen der Prozedur zwischen den Faxgeräten kann auch eine Reduzierung des Datenverkehrs durch Spoofing bereitgestellt werden, um die Verbindung aufrecht zu erhalten.
  • Der Dienst für paketgestützten Faxdatenaustausch ist in zwei grundlegende Funktionseinheiten, ein Demodulations- und ein Remodulationssystem, aufgeteilt. In dem Demodulationssystem koppelt der Netzwerk-VHD Faxdatensignale von einem schaltungsvermittelten Netzwerk oder einem Faxgerät mit dem paketgestützten Netzwerk. In dem Remodulationssystem koppelt der Netzwerk-VHD Faxdatensignale von dem paketgestützten Netzwerk mit dem schaltungsvermittelten Netzwerk oder direkt mit einem Faxgerät.
  • Während der Echtzeitweitergabe von Faxdatensignalen über ein paketgestütztes Netzwerk findet für die sendenden und empfangenden Faxgeräte in der Regel eine Reduzierung des Datenverkehrs durch Spoofing statt, um Ende-zu-Ende-Verzögerungen plus Schwankungen in dem Netzwerk mit zu berücksichtigen. In der Regel kann der Dienst für paketgestützten Faxdatenaustausch eine Gesamtverzögerung von bis zu etwa 1,2 Sekunden berücksichtigen. Bevorzugt unterstützt der Dienst für paketgestützten Faxdatenaustausch ECM-Funktionalität (Error Correction Mode), obwohl eine vollständige ECM-Implementierung in der Regel nicht erforderlich ist. Zusätzlich sollte der Dienst für paketgestützten Faxdatenaustausch die typische Anrufdauer, die für eine Faxsitzung über ein öffentliches Telefonnetz/über ISDN erforderlich ist, beibehalten, wenn Faxdatensignale zwischen zwei Endgeräten ausgetauscht werden.
  • Der Dienst für paketgestützten Faxdatenaustausch für den Echtzeitaustausch von Faxdatensignalen zwischen einem schaltungsvermittelten Netzwerk und einem paketgestützten Netzwerk ist in 31 schematisch gezeigt. Bei diesem beispielhaften Ausführungsbeispiel ist eine verbindende physische Vorrichtung (PXD) (nicht gezeigt), die das Faxgerät mit der Vermittlungsstelle 1032' verbindet, transparent, obwohl Fachleute auf dem Gebiet erkennen werden, dass verschiedene Signalaufbereitungsalgorithmen, wie beispielsweise Echounterdrückung und Verstärkung, in die physische Vorrichtung (PXD) programmiert werden können.
  • Nach der physischen Vorrichtung (PXD) (nicht gezeigt), wird das ankommende Faxdatensignal 1390a über die Vermittlungsstelle 1032' mit dem Demodulationssystem des Dienstes für paketgestützten Faxdatenaustausch gekoppelt, der in dem Netzwerk-VHD betrieben wird. Das ankommende Faxdatensignal 1390a wird empfangen und in einer Eintritts-Medienwarteschlange 1390 gepuffert. Eine V.21-Datenpumpe 1392 demoduliert die ankommende T.30-Nachricht, so dass die T.30-Weitergabelogik 1394 die empfangenen T.30-Nachrichten 1394a decodieren kann. Lokale T.30-Hinweise 1394b werden von der Paketierungs-Engine 1396 paketiert und, sofern erforderlich, zur Übertragung an ein mit T.38 konformes, fernes Netzwerk-Gateway (nicht gezeigt) über ein paketgestütztes Netzwerk über einen T.38-Shim 1398 in T.38-Pakete umgesetzt. Die V.21-Datenpumpe 1392 wird durch die T.30-Weitergabelogik 1394c entsprechend dem Empfang/der Übertragung der T.30-Nachrichten oder Faxdatensignale selektiv aktiviert/deaktiviert. Die V.21-Datenpumpe 1392 wird von dem Demodulations- und dem Remodulationssystem gemeinsam verwendet. Die V.21-Datenpumpe 1392 übermittelt T.30-Nachrichten, wie beispielsweise den Ton der angerufenen Station (CED) und den Ton der anrufenden Station (CNG), um die Faxeinrichtung zwischen einem lokalen Faxgerät (nicht gezeigt) und einem fernen Faxgerät (nicht gezeigt) über das ferne Netzwerk-Gateway zu unterstützen.
  • Das Demodulationssystem umfasst ferner eine Faxempfang-Datenpumpe 1400, welche die Faxsignale während der Datenübertragungsphase demoduliert. Die Faxempfang-Datenpumpe 1400 unterstützt den Standard V.27ter für die Faxdaten-Signalübertragung bei 2.400/4.800 bps, den Standard V.29 für die Faxdaten-Signaldatenübertragung bei 7.200/9.600 bps sowie den Standard V.17 für die Faxdaten-Signalübertragung bei 7.200/9.600/12.000/14.400 bps. Der Faxstandard V.34 kann, sobald er genehmigt ist, auch unterstützt werden. Die T.30-Weitergabelogik 1394 aktiviert/deaktiviert 1394d die Faxempfang-Datenpumpe 1400 entsprechend dem Empfang der Faxdatensignale oder der T.30-Nachrichten.
  • Wenn ECM (Error Correction Mode) erforderlich ist, löst die Empfangs-ECM-Weitergabelogik 1402 HDLC-Rahmen (High Level Data Link Control) auf (De-Framing), einschließlich umgekehrtem Bitstopfen (Bit De-Stuffing) und Entfernen der Präambel bei in den Datenpaketen enthaltenen ECM-Rahmen. Die sich daraus ergebenden Faxdatensignale werden dann von der Paketierungs-Engine 1396 paketiert und über das paketgestützte Netzwerk übermittelt. Die T.30-Weitergabelogik 1394 aktiviert/deaktiviert selektiv 1394e die Empfangs-ECM-Weitergabelogik 1402 entsprechend der ECM-Betriebsart.
  • In dem Remodulationssystem werden bei Bedarf ankommende Datenpakete zunächst durch den T.38-Shim 1398 aus einem T.38-Paketformat in ein protokollunabhängiges Format umgesetzt. Die Datenpakete werden dann von einer Depaketierungs-Engine 1406 depaketiert. Die Datenpakete können T.30-Nachrichten oder Faxdatensignale enthalten. Die T.30-Weitergabelogik 1394 formatiert die fernen T.30-Hinweise um 1394f und leitet die daraus entstandenen T.30-Hinweise an die V.21-Datenpumpe 1392 weiter. Die modulierte Ausgabe der V.21-Datenpumpe 1392 wird an eine Austritts-Medienwarteschlange 1408 weitergeleitet, um entweder in analogem Format oder, nach passender Umsetzung, als PCM-Abtastungen mit 64 Kbps in einem schaltungsvermittelten Netzwerk, wie beispielsweise einem öffentliches Telefonnetz, an das lokale Faxgerät übertragen zu werden.
  • Depaketierte Faxdatensignale werden von der Depaketierungs-Engine 1406 an einen Jitter-Puffer 1410 weitergeleitet. Wenn ECM (Error Correction Mode) erforderlich ist, löst die Sende-ECM-Weitergabelogik 1412 HDLC-Rahmen (High Level Data Link Control) auf (De-Framing), einschließlich Bitstopfen (Bit Stuffing) und Hinzufügen der Präambel bei den ECM-Rahmen. Die Sende-ECM-Weitergabelogik 1412 leitet die Faxdatensignale (in dem geeigneten Format) an eine Faxsende-Datenpumpe 1414 weiter, welche die Faxdatensignale moduliert und digitale Abtastungen mit 8 KHz an die Austritts-Medienwarteschlange 1408 ausgibt. Die T.30-Weitergabelogik aktiviert/deaktiviert selektiv (1394g) die Sende-ECM-Weitergabelogik 1412 entsprechend der ECM-Betriebsart.
  • Die Faxsende-Datenpumpe 1414 unterstützt den Standard V.27ter für die Faxdaten-Signalübertragung bei 2.400/4.800 bps, den Standard V.29 für die Faxdaten-Signaldatenübertragung bei 7.200/9.600 bps, sowie den Standard V.17 für die Faxdaten-Signalübertragung bei 7.200/9.600/12.000/14.400 bps. Die T.30-Weitergabelogik aktiviert/deaktiviert (1394h) die Faxsende-Datenpumpe 1414 entsprechend der Übertragung der Faxdatensignale oder der T.30-Nachrichtenabtastungen.
  • Wenn in dem Jitter-Puffer 1410 ein Unterlauf vorliegt, wird ein Hinweis über den Puffer-Niedrigstand 1410a mit der Spoofing-Logik 1416 gekoppelt. Bei Empfang eines Hinweises über einen Puffer-Niedrigstand während der Übertragung der Faxdatensignale fügt die Spoofing-Logik 1416 durch Spoofing reduzierte Daten über die Faxsende-Datenpumpe 1414 an der geeigneten Stelle in die Faxdatensignale ein, bis der Jitter-Puffer 1410 zu einem vorbestimmten Pegel gefüllt ist, wobei zu diesem Zeitpunkt die Faxdatensignale aus dem Jitter-Puffer 1410 heraus übertragen werden. Auf ähnliche Weise kann die Spoofing-Logik während der Übertragung der T.30- Nachrichtenhinweise über die V.21-Datenpumpe 1392 durch Spoofing reduzierte Daten an der geeigneten Stelle in die T.30-Nachrichtenabtastungen einfügen.
  • C. Datenweitergabemodus
  • Der Datenweitergabemodus stellt eine Vollduplex-Signalverarbeitung von Datensignalen bereit. Der Datenweitergabemodus ermöglicht die Übertragung von Datensignalen in einem paketgestützten System, wie beispielsweise einem VoIP-, VoFR-, FRF-11-, VTOA-Netzwerk oder jedem anderen proprietären Netzwerk. Der Datenweitergabemodus sollte es auch gestatten, dass Datensignale über herkömmliche Medien, wie beispielsweise Zeitmultiplexen, transportiert werden. Netzwerk-Gateways unterstützen den Austausch von Datensignalen mit anderen Netzwerk-Gateways über ein HFC-Netzwerk und ein CMTS oder Offline-Vorrichtungen, zum Beispiel über ein schaltungsvermitteltes Netzwerk wie ein öffentliches Telefonnetz. Zu Erklärungszwecken wird das erste Modem als Anrufmodem bezeichnet. Gegenstellenmodems werden in der Regel Antwortmodems genannt.
  • Bei dem Datenweitergabemodus wird an jedem Ende des paketgestützten Netzwerks 1494 eine lokale Modemverbindung aufgebaut. Das heißt, dass das Anrufmoden 1492a und das Anruf-Netzwerk-Gateway 1496a eine lokale Modemverbindung aufbauen, wie dies auch das Ziel-Antwortmodem 1492b und das entsprechende Antwort-Netzwerk-Gateway 1496b tun. Als Nächstes werden Datensignale in dem paketgestützten Netzwerk 1494 weitergegeben. Das Anruf-Netzwerk-Gateway 1496a demoduliert das Datensignal und formatiert das demodulierte Datensignal für das bestimmte paketgestützte Netzwerk 1494. Das Antwort-Netzwerk-Gateway 1496b kompensiert Beeinträchtigungen in dem Netzwerk und remoduliert die codierten Daten in einem Format, das für das Ziel-Antwortmodem 1492b geeignet ist. Dieser Ansatz ergibt eine erhebliche Bandbreiteneinsparung, da nur die zugrunde liegenden, demodulierten Datensignale über das paketgestützte Netzwerk übertragen werden.
  • In dem Datenweitergabemodus stellt der Dienst für paketgestützten Modemdatenaustausch die Demodulation und Modulation von Datensignalen bereit. Mit Vollduplexfunktionalität können sowohl die Modulation als auch die Demodulation von Datensignalen gleichzeitig erfolgen. Der Dienst für paketgestützten Modemdatenaustausch stellt außerdem eine Kompensation für Schwankungen in dem Netzwerk mit einem Jitter-Puffer bereit, der dem ähnelt, der bei dem Dienst für paketgestützten Sprachaustausch aufgerufen wird. Zusätzlich kompensiert der Dienst für paketgestützten Modemdatenaustausch das Systemtaktzittern zwischen Modems mit einer dynamischen Phasenanpassung und dem Mechanismus zur erneuten Abtastung. Während verschiedener Phasen der Prozedur zur Anrufaushandlung zwischen den Modems kann auch eine Reduzierung des Datenverkehrs durch Spoofing bereitgestellt werden, um die Verbindung aufrecht zu erhalten.
  • Der von dem Netzwerk-VHD in dem Datenweitergabemodus aufgerufene Dienst für paketgestützten Modemdatenaustausch ist in 32 schematisch gezeigt. Bei dem beschriebenen beispielhaften Ausführungsbeispiel ist eine verbindende physische Vorrichtung (PXD) (nicht gezeigt), die ein Modem mit der Vermittlungsstelle 1032' verbindet, transparent, obwohl Fachleute auf dem Gebiet erkennen werden, dass verschiedene Signalaufbereitungsalgorithmen, wie beispielsweise Filterung, Echounterdrückung und Verstärkung, in die physische Vorrichtung (PXD) programmiert werden können.
  • Nach der physischen Vorrichtung (PXD) werden die Datensignale über die Vermittlungsstelle 1032' mit dem Netzwerk-VHD gekoppelt. Der Dienst für paketgestützten Modemdatenaustausch stellt zwischen einem schaltungsvermittelten Netzwerk und einem paketgestützten Netzwerk eine Zweiwege-Kommunikation mit zwei grundlegenden Funktionseinheiten, einem Demodulationssystem und einem Remodulationssystem, bereit. In dem Demodulationssystem tauscht der Netzwerk-VHD Datensignale von einem schaltungsvermittelten Netzwerk oder einer Telefonievorrichtung direkt mit dem paketgestützten Netzwerk aus. In dem Remodulationssystem tauscht der Netzwerk-VHD Datensignale von dem paketgestützten Netzwerk mit dem öffentlichen Telefonnetz oder der Telefonievorrichtung aus.
  • In dem Demodulationssystem werden die Datensignale empfangen und in einer Eintritts-Medienwarteschlange 1500 gepuffert. Ein Datenpumpen-Empfänger 1504 demoduliert die Datensignale aus der Eintritts-Medienwarteschlange 1500. Der Datenpumpen-Empfänger 1504 unterstützt den Standard V.22bis für die Demodulation von Datensignalen bei 1.200/2.400 bps; den Standard V.32bis für die Demodu lation von Datensignalen bei 4.800/7.200/9.600/12.000/14.400 bps sowie den Standard V.34 für die Demodulation von Datensignalen bis zu 33.600 bps. Außerdem kann auch der Standard V.90 unterstützt werden. Die demodulierten Datensignale werden dann von der Paketierungs-Engine 1506 paketiert und über das paketgestützte Netzwerk gesendet.
  • In dem Remodulationssystem werden Pakete von Datensignalen aus dem paketgestützten Netzwerk zunächst von einer Depaketierungs-Engine 1508 depaketiert und in einem Jitter-Puffer 1510 gespeichert. Ein Datenpumpen-Sender 1512 moduliert die gepufferten Datensignale mit einem Sprachbandträger. Die modulierten Datensignale werden ihrerseits in der Austritts-Medienwarteschlange 1514 gespeichert, bevor sie über die Vermittlungsstelle 1032' an die physische Vorrichtung (PXD) (nicht gezeigt) ausgegeben werden. Der Datenpumpen-Empfänger 1512 unterstützt den Standard V.22bis für die Übertragung von Datensignalen bei 1.200/2.400 bps; den Standard V.32bis für die Übertragung von Datensignalen bei 4.800/7.200/9.600/12.000/14.400 bps sowie den Standard V.34 für die Übertragung von Datensignalen bis zu 33.600 bps. Außerdem kann auch der Standard V.90 unterstützt werden.
  • Während in dem Jitter-Puffer ein Unterlauf vorliegt, sendet der Jitter-Puffer 1510 einen Hinweis über den Puffer-Niedrigstand 1510a an eine Spoofing-Logik 1516. Wenn die Spoofing-Logik 1516 das Signal über den Puffer-Niedrigstand empfangt, das angibt, dass der Jitter-Puffer 1510 unterhalb eines vorbestimmten Schwellenwertpegels arbeitet, fügt sie über den Datenpumpen-Sender 1512 durch Spoofing reduzierte Daten an der geeigneten Stelle in das Datensignal ein. Das Spoofing wird fortgesetzt, bis der Jitter-Puffer 1510 bis zu dem vorbestimmten Schwellenwertpegel gefüllt ist, wobei zu diesem Zeitpunkt erneut Datensignale von dem Jitter-Puffer 1510 an den Datenpumpen-Sender 1512 übertragen werden.
  • Die Ende-zu-Ende-Taktgeberlogik 1518 überwacht außerdem den Zustand des Jitter-Puffers 1510. Die Taktgeberlogik 1518 steuert die Datenübertragungsgeschwindigkeit des Datenpumpen-Senders 1512 anhand des Zustands des Jitter-Puffers 1510. Wenn der Jitter-Puffer 1510 unterhalb eines vorbestimmten Schwellenwertpegels liegt, verringert die Taktgeberlogik 1518 die Übertragungsgeschwindigkeit des Datenpumpen-Senders 1512. Wenn der Jitter-Puffer 1510 oberhalb eines vorbestimmten Schwellenwertpegels liegt, erhöht die Taktgeberlogik 1518 analog die Übertragungsgeschwindigkeit des Datenpumpen-Senders 1512.
  • Vor der Übertragung von Datensignalen über das paketgestützte Netzwerk muss zunächst die Verbindung zwischen den beiden Modems über eine Handshaking-Sequenz ausgehandelt werden. Dies bringt einen aus zwei Schritten bestehenden Prozess mit sich. Zunächst bestimmt eine Anruf-Aushandlungseinheit 1502 den Typ des Modems (das heißt V.22, V.32bis, V.34, V.90, usw.), das an jedem Ende des paketgestützten Netzwerks angeschlossen ist. Als zweites handelt eine Übertragungsgeschwindigkeits-Aushandlungseinheit 1520 die Datensignal-Übertragungsgeschwindigkeit zwischen den beiden Modems aus.
  • Die Anruf-Aushandlungseinheit 1502 bestimmt den Typ des lokal angeschlossenen Modems sowie den Typ des fern über das paketgestützte Netzwerk angeschlossenen Modems. Die Anruf-Aushandlungseinheit 1502 nutzt automatische V.25-Antwortprozeduren und V.8-Auto-Baud-Software, um die Modemfunktionalität automatisch zu erkennen. Die Anruf-Aushandlungseinheit 1502 empfangt Protokollhinweissignale 1502a (ANSam und V.8-Menüs) von der Eintritts-Medienwarteschlange 1500 sowie AA-, AC- und weitere Nachrichtenhinweise 1502b über einen Datenpumpen-Zustandsautomaten 1522 von dem lokalen Modem, um den Typ des lokal verwendeten Modems zu bestimmen. Die Anruf-Aushandlungseinheit 1502 gibt die ANSam-Antworttöne und weitere Hinweise 1502e von dem Datenpumpen-Zustandsautomaten 1522 über eine Paketierungs-Engine 1506 an das ferne Modem weiter. Die Anruf-Aushandlungseinheit empfängt außerdem über eine Depaketierungs-Engine 1508 ANSam-, AA-, AC- und weitere Hinweise 1502c von einem fernen Modem (nicht gezeigt), das sich an dem gegenüberliegenden Ende des paketgestützten Netzwerks befindet. Die Anruf-Aushandlungseinheit 1502 gibt die ANSam-Antworttöne und weitere Hinweise 1502d über eine Austritts-Medienwarteschlange 1506 an ein lokales Modem (nicht gezeigt) weiter. Mit den ANSam-, AA-, AC- und den weiteren Hinweisen von den lokalen und fernen Modems kann die Anruf-Aushandlungseinheit 1502 dann einen gemeinsamen Standard (das heißt V.22, V.32bis, V.34, V.90, usw.) aushandeln, mit dem die Datenpumpen mit dem lokalen Modem und den fernen Modems kommunizieren müssen.
  • Der Dienst für paketgestützten Modemdatenaustausch nutzt bevorzugt Hinweispakete als ein Mittel zum Übermitteln von Antworttönen, AA-, AC- und anderen Hinweisen über das paketgestützte Netzwerk. Der Dienst für paketgestützten Modemdatenaustausch unterstützt jedoch keine Datenpumpen, wie beispielsweise V.22bis- und V.32bis-Datenpumpen, die keinen ordnungsgemäß definierten Fehlerbehebungsmechanismus umfassen, so dass die Modemverbindung beendet werden kann, sobald Hinweispakete verloren gegangen sind. Daher sollte entweder der Dienst für paketgestützten Modemdatenaustausch oder die Anwendungsschicht die ordnungsgemäße Lieferung von Hinweispaketen bei dem Betrieb in einer Netzwerkumgebung sicherstellen, in der die Paketlieferung nicht garantiert ist.
  • Der Dienst für paketgestützten Modemdatenaustausch kann die Lieferung der Hinweispakete sicherstellen, indem er das Hinweispaket so lange periodisch erneut sendet, bis einige erwartete Pakete empfangen wurden. Zum Beispiel sendet bei einer V.32bis-Weitergabe die Anrufaushandlungseinheit, die in dem Rahmen des Dienstes für paketgestützten Modemdatenaustausch in dem Antwort-Netzwerk-Gateway arbeitet, ANSam-Antworttöne von dem Antwortmodem an das Anrufmodem periodisch erneut, bis das anrufende Modem eine Verbindung zu der Leitung herstellt und den Trägerzustand AA sendet.
  • Alternativ kann die Paketierungs-Engine die Hinweisinformationen direkt in dem Paket-Header einbetten. Bei diesem Ansatz wird ein alternatives Paketformat genutzt, um die Hinweisinformationen einzubetten. Während der Modem-Handshaking-Prozedur umfassen Hinweispakete, die über das paketgestützte Netzwerk gesendet werden, die Hinweisinformationen, so dass das System nicht auf die erfolgreiche Übertragung von einzelnen Hinweispaketen angewiesen ist. Vielmehr enthält bei Verlust eines bestimmten Pakets das nächste ankommende Paket die Hinweisinformationen in dem Paket-Header. Beide Verfahren erhöhen den Datenverkehr in dem Netzwerk. Es ist jedoch vorzuziehen, die Hinweispakete periodisch erneut zu senden, weil die Auswirkungen auf den Netzwerkverkehr weniger beeinträchtigend sind.
  • Eine Übertragungsgeschwindigkeits-Aushandlungseinheit 1520 synchronisiert die Verbindungsgeschwindigkeiten an den Netzwerk-Gateways 1496a, 1496b, 1496c (siehe 32). Die Übertragungsgeschwindigkeits-Aushandlungseinheit empfangt Übertragungsgeschwindigkeitscodes 1520a über den Datenpumpen-Zustands automaten 1522 von dem lokalen Modem und Übertragungsgeschwindigkeitscodes 1520b über die Depaketierungs-Engine 1508 von dem fernen Modem. Die Übertragungsgeschwindigkeits-Aushandlungseinheit 1520 leitet außerdem die von dem fernen Modem empfangenen Übertragungsgeschwindigkeitscodes 1520a über Befehle, die an den Datenpumpen-Zustandsautomaten 1522 gesendet werden, an das lokale Modem weiter. Die Übertragungsgeschwindigkeits-Aushandlungseinheit 1520 leitet die von dem lokalen Modem empfangenen Übertragungsgeschwindigkeitscodes 1520c über die Paketierungs-Engine 1506 an das ferne Modem weiter. Auf der Grundlage der ausgetauschten Übertragungsgeschwindigkeitscodes definiert die Übertragungsgeschwindigkeits-Aushandlungseinheit 1520 eine gemeinsame Datenübertragungsgeschwindigkeit zwischen dem anrufenden und dem antwortenden Modem. Während der Prozedur des Austauschs von Datenübertragungsgeschwindigkeiten sollte der Jitter-Puffer 1510 durch die Übertragungsgeschwindigkeits-Aushandlungseinheit 1520 deaktiviert werden, um eine Datenübertragung zwischen dem Anruf- und dem Antwortmodem zu verhindern, bis die Datenübertragungsgeschwindigkeiten erfolgreich ausgehandelt worden sind.
  • Auf ähnliche Weise sollten der Fehlersteuerungsmodus (V.42) und der Datenkomprimierungsmodus (V.42bis) an jedem Ende des paketgestützten Netzwerks synchronisiert werden. Die Fehlersteuerungslogik 1524 empfängt lokale Fehlersteuerungsnachrichten 1524a von dem Datenpumpen-Empfänger 1504 und leitet diese V.14/V.42-Aushandlungsnachrichten 1524c über die Paketierungs-Engine 1506 an das ferne Modem weiter. Zusätzlich empfangt die Fehlersteuerungslogik 1524 ferne V.14/V.42-Hinweise 1524b von der Depaketierungs-Engine 1508 und leitet diese V.14/V.42-Hinweise 1524d an das lokale Modem weiter. Mit den V.14/V.42-Hinweisen von dem lokalen und dem fernen Modem kann die Fehlersteuerungslogik 1524 einen gemeinsamen Standard aushandeln, um sicherzustellen, dass die Netzwerk-Gateways ein gemeinsames Fehlerprotokoll nutzen. Zusätzlich übermittelt die Fehlersteuerungslogik 1524 das ausgehandelte Fehlersteuerungsprotokoll 1524(e) an die Spoofing-Logik 1516, um sicherzustellen, dass das Spoofing in dem Datenmodus gemäß dem ausgehandelten Fehlersteuerungsmodus erfolgt.
  • Bei V.42 handelt es sich um eine Standard-Fehlerkorrekturtechnik, die erweiterte zyklische Redundanzprüfungen (CRCs) und das Prinzip der automatischen Wiederholungsanforderungen (ARQ) verwendet. Gemäß dem Standard V.42 werden gesendete Datensignale in Blöcken gruppiert, und zyklische Redundanzprüfungsberechnungen fügen Fehlerprüfwörter zu dem gesendeten Datensignalstrom hinzu. Das empfangende Modem berechnet neue Fehlerprüfinformationen für den Datensignalblock und vergleicht die berechneten Informationen mit den empfangenen Fehlerprüfinformationen. Wenn die Codes übereinstimmen, sind die empfangenen Datensignale gültig, und eine weitere Übertragung erfolgt. Wenn die Codes nicht übereinstimmen, ist ein Übertragungsfehler aufgetreten, und das empfangende Modem fordert eine Wiederholung des letzten Datenblocks an. Dieser Wiederholungszyklus wird so lange fortgesetzt, bis der gesamte Datenblock fehlerfrei empfangen wurde.
  • Es gibt verschiedene Sprachband-Datenmodemstandards für die Fehlerkorrektur und die Datenkomprimierung. V.42bis und MNP5 sind Beispiele für Datenkomprimierungsstandards. Die Handshaking-Sequenz ist für jeden Modemstandard unterschiedlich, so dass der Dienst für paketgestützten Modemdatenaustausch zahlreiche Datenübertragungsstandards sowie zahlreiche Fehlerkorrektur- und Datenkomprimierungstechniken unterstützen sollte.
  • Obwohl ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung beschrieben wurde, ist es nicht so auszulegen, dass es den Schutzumfang der angehängten Ansprüche beschränkt. Die vorliegende Erfindung kann zum Beispiel sowohl durch ein Software-Ausführungsbeispiel als auch durch ein Hardware-Ausführungsbeispiel implementiert werden. Fachleute auf dem Gebiet werden erkennen, dass verschiedene Modifikationen an dem beschriebenen Ausführungsbeispiel vorgenommen werden können. Außerdem wird die in diesem Dokument beschriebene Erfindung für sich genommen die Fachleute auf verschiedenen Gebieten zu Lösungen für weitere Aufgaben und Anpassungen für weitere Anwendungen anregen. Es ist daher wünschenswert, dass die vorliegenden Ausführungsbeispiele in jeglicher Hinsicht als veranschaulichend und nicht als einschränkend betrachtet werden, wobei zur Angabe des Schutzumfangs der Erfindung auf die angehängten Ansprüche und nicht auf die vorangehende Beschreibung Bezug genommen wird.

Claims (8)

  1. Verfahren zum Synchronisieren von Sprachdatenrahmen, die von einem ersten Taktgeber abgetastet wurden, mit einem zweiten Taktgeber in einer Sprachsynchronisiereinheit, wobei die Sprachsynchronisiereinheit Folgendes umfasst: – einen Digital-Analog-Wandler(D/A-Wandler) (524), – einen Referenztaktgeber (528), – einen Abtastraten-Tracker (548) und – einen Zähler (553), wobei der Abtastraten-Tracker (548) die ankommenden Sprachdatenrahmen erneut abtastet, um sie an den Takt des Referenztaktgebers (528) anzupassen, wobei das Verfahren durch Folgendes gekennzeichnet ist: – Inkrementieren des Zählers jedes Mal, wenn ein neuer Sprachdatenrahmen ankommt, – Verwenden der Differenz zwischen der Anzahl der ankommenden Sprachdatenrahmen und dem Referenztaktgeber (528) als Signal zum erneuten Abtasten der Sprachdatenrahmen.
  2. Verfahren nach Anspruch 1, wobei der Zähler (553) die Differenz zwischen der Anzahl von ankommenden Sprachdatenrahmen und dem Referenztaktgeber (528) erkennt.
  3. Verfahren nach Anspruch 1, wobei die Differenz der Anzahl von ankommenden Sprachdatenrahmen mit einem Tiefpassfilter gefiltert wird, bevor sie dem Abtastraten-Tracker (548) bereitgestellt wird.
  4. Verfahren nach einem der vorherigen Ansprüche, wobei die Sprachsynchronisiereinheit ferner eine erste Sprachwarteschlange (518) und eine zweite Sprachwarteschlange (522) umfasst und wobei der Abtastraten-Tracker (548) einen Sprachdatenrahmen erneut abtastet, wenn dieser von der ersten Sprachwarteschlange (518) in die zweite Sprachwarteschlange (522) verschoben wird.
  5. Netzwerk-Gateway (480) zur Verwendung in einer Sprachsynchronisiereinheit, wobei das Netzwerk-Gateway Sprachdatenrahmen von einer Netzwerkleitung mit einer ersten Taktfrequenz empfangen kann und Sprachdatenrahmen mit einer zweiten Taktfrequenz bereitstellen kann, wobei das Netzwerk-Gateway Folgendes umfasst: einen Netzwerk-Port (512), um eine Schnittstelle mit einem paketgestützten Netzwerk zu bilden, einen Telefonie-Port, einen mit jedem der Ports gekoppelten Prozessor (516) und einen Zähler (533), einen Referenztaktgeber (528) und einen Abtastraten-Tracker (548) zum erneuten Abtasten von Sprachdatenrahmen, dadurch gekennzeichnet, dass der Zähler (553) mit dem Netzwerk-Port (512) und dem Referenztaktgeber (528) verbunden ist und inkrementiert wird, wenn ein neuer Sprachdatenrahmen von dem paketgestützten Netzwerk empfangen wird, und die Differenz zwischen der Anzahl von ankommenden Sprachdatenrahmen und dem Referenztaktgeber (528) erkennen kann, und dass der Zähler (553) mit dem Abtastraten-Tracker (548) verbunden ist, um die erkannte Differenz bereitzustellen.
  6. Netzwerk-Gateway (480) nach Anspruch 5, das ferner ein zwischen den Zähler (553) und den Abtastraten-Tracker (548) geschaltetes Tiefpassfilter (543) umfasst, um den Mittelwert der Differenz der Ankunftsintervalle von Sprachdatenrahmen zu bilden.
  7. Netzwerk-Gateway (480) nach einem der Ansprüche 5 oder 6, das ferner eine erste Sprachwarteschlange (518) und eine zweite Sprachwarteschlange (522) umfasst, wobei der Abtastraten-Tracker (548) zwischen die erste und die zweite Sprachwarteschlange (518, 522) geschaltet ist.
  8. Netzwerk-Gateway (480) nach einem der Ansprüche 5 bis 7, das ferner einen Digital-Analog-Wandler(D/A-Wandler) (524) und ein Mittel zur Taktteilung umfasst, wobei der Referenztaktgeber (528) über das Mittel zur Taktteilung dem D/A-Wandler (524) ein Taktsignal bereitstellt.
DE60038251T 1999-12-13 2000-12-13 Sprach-durchgangsvorrichtung mit sprachsynchronisierung in abwärtsrichtung Expired - Lifetime DE60038251T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17059299P 1999-12-13 1999-12-13
US17059599P 1999-12-13 1999-12-13
US170592P 1999-12-13
US170595P 1999-12-13
PCT/US2000/033765 WO2001043334A2 (en) 1999-12-13 2000-12-13 Voice gateway with downstream voice synchronization

Publications (2)

Publication Number Publication Date
DE60038251D1 DE60038251D1 (de) 2008-04-17
DE60038251T2 true DE60038251T2 (de) 2009-03-12

Family

ID=26866255

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60038251T Expired - Lifetime DE60038251T2 (de) 1999-12-13 2000-12-13 Sprach-durchgangsvorrichtung mit sprachsynchronisierung in abwärtsrichtung

Country Status (6)

Country Link
US (1) US8254404B2 (de)
EP (1) EP1238489B1 (de)
AT (1) ATE388542T1 (de)
AU (1) AU2094201A (de)
DE (1) DE60038251T2 (de)
WO (1) WO2001043334A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018117373B4 (de) 2017-08-18 2024-03-14 Maxlinear Asia Singapore Private Limited Synchronisierung der adaptiven Filterumschaltung und Kanalentzerrung in Vollduplex (FDX)-Kabelmodems

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US6980526B2 (en) 2000-03-24 2005-12-27 Margalla Communications, Inc. Multiple subscriber videoconferencing system
DE10139936B4 (de) * 2001-08-14 2005-04-28 Siemens Ag Verfahren und Anordnung zur Steuerung von Datenpaketen
ES2349122T3 (es) * 2002-05-03 2010-12-28 Cedar Point Communications, Inc. Arquitectura de conmutacion de comunicaciones.
US8065161B2 (en) 2003-11-13 2011-11-22 Hospira, Inc. System for maintaining drug information and communicating with medication delivery devices
US9123077B2 (en) 2003-10-07 2015-09-01 Hospira, Inc. Medication management system
SG126752A1 (en) * 2004-03-05 2006-11-29 Infineon Technologies Ag Protocols for transmission of data, in particular over telephone lines
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
US8401152B2 (en) * 2006-04-03 2013-03-19 Arris Group, Inc. Method and system for performing EMTA loop diagnostics
US8374295B2 (en) * 2006-09-18 2013-02-12 Mediatek Inc. Method of scaling input data and mobile device utilizing the same
WO2008057729A2 (en) 2006-10-16 2008-05-15 Hospira, Inc. System and method for comparing and utilizing activity information and configuration information from mulitple device management systems
US8121266B2 (en) * 2007-05-08 2012-02-21 Swissqual License Ag Method for checking a ring-back signal
US7954131B2 (en) 2007-06-13 2011-05-31 Time Warner Cable Inc. Premises gateway apparatus and methods for use in a content-based network
GB2451828A (en) * 2007-08-13 2009-02-18 Snell & Wilcox Ltd Digital audio processing method for identifying periods in which samples may be deleted or repeated unobtrusively
US9743142B2 (en) 2008-02-19 2017-08-22 Time Warner Cable Enterprises Llc Multi-stream premises apparatus and methods for use in a content delivery network
EP3273442B1 (de) * 2008-03-20 2021-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zur synthetisierung einer parametrisierten darstellung eines audiosignals
FR2938688A1 (fr) * 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
US20100131683A1 (en) * 2008-11-26 2010-05-27 Moore Clay S System for storing, accessing and automatically updating documents
US8271106B2 (en) 2009-04-17 2012-09-18 Hospira, Inc. System and method for configuring a rule set for medical event management and responses
US9241012B2 (en) * 2010-04-18 2016-01-19 Tropo, Inc. System and method for telephony and communication services with message-based API
US8787561B2 (en) * 2010-04-27 2014-07-22 Freescale Semiconductor, Inc. Techniques for implementing adaptation control of an echo canceller to facilitate detection of in-band signals
US8498217B2 (en) * 2010-07-01 2013-07-30 Broadcom Corporation Method and system for adaptive tone cancellation for mitigating the effects of electromagnetic interference
TWI417703B (zh) * 2010-07-22 2013-12-01 Genesys Logic Inc 相容於通用序列匯流排協定之時脈同步方法
US8755462B2 (en) * 2010-09-17 2014-06-17 Vecima Networks Inc. Frequency offset estimator for upstream cable signals
US9521015B2 (en) * 2010-12-21 2016-12-13 Genband Us Llc Dynamic insertion of a quality enhancement gateway
JP5289517B2 (ja) * 2011-07-28 2013-09-11 株式会社半導体理工学研究センター センサネットワークシステムとその通信方法
US10491413B2 (en) 2011-09-20 2019-11-26 Jonathan A. Clark Secure processing of confidential information on a network
JP5894286B2 (ja) * 2011-10-20 2016-03-23 エルジー エレクトロニクス インコーポレイティド ジッタバッファの管理方法及びこれを利用するジッタバッファ
WO2013059615A1 (en) 2011-10-21 2013-04-25 Hospira, Inc. Medical device update system
US9772958B2 (en) * 2011-10-31 2017-09-26 Hewlett Packard Enterprise Development Lp Methods and apparatus to control generation of memory access requests
US20140156819A1 (en) * 2012-11-30 2014-06-05 Alexandros Cavgalar Communications modules for a gateway device, system and method
US20130159560A1 (en) 2011-12-16 2013-06-20 Mark Cave Methods and systems to monitor a media device via a usb port
US8863201B2 (en) 2012-01-30 2014-10-14 Time Warner Cable Enterprises Llc Gateway apparatus and methods for providing content and data delivery in a fiber-based content delivery network
US9373341B2 (en) 2012-03-23 2016-06-21 Dolby Laboratories Licensing Corporation Method and system for bias corrected speech level determination
US8868993B1 (en) * 2012-04-13 2014-10-21 Google Inc. Data replacement policy
US8849122B2 (en) 2012-04-19 2014-09-30 Time Warner Cable Enterprises, LLC Apparatus and methods for dynamic delivery of optical and non-optical content in a network
KR20140031790A (ko) * 2012-09-05 2014-03-13 삼성전자주식회사 잡음 환경에서 강인한 음성 구간 검출 방법 및 장치
CN106981290B (zh) * 2012-11-27 2020-06-30 威盛电子股份有限公司 语音控制装置和语音控制方法
JP2014110592A (ja) * 2012-12-04 2014-06-12 Toshiba Corp 画像処理装置
US9190104B2 (en) * 2012-12-13 2015-11-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data retry using averaging process
US9628413B2 (en) 2012-12-14 2017-04-18 International Business Machines Corporation Low latency messaging chat server
CN103888630A (zh) * 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制声学回声消除的方法和音频处理装置
US9274802B2 (en) * 2013-01-22 2016-03-01 Altera Corporation Data compression and decompression using SIMD instructions
CA2904053C (en) * 2013-03-06 2023-01-03 Hospira, Inc. Medical device communication method
US20140278393A1 (en) 2013-03-12 2014-09-18 Motorola Mobility Llc Apparatus and Method for Power Efficient Signal Conditioning for a Voice Recognition System
JP5769748B2 (ja) * 2013-03-26 2015-08-26 京セラドキュメントソリューションズ株式会社 ネットワーク通信装置、ファクシミリ装置
BR112015031606B1 (pt) 2013-06-21 2021-12-14 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Aparelho e método para desvanecimento de sinal aperfeiçoado em diferentes domínios durante ocultação de erros
US9413854B1 (en) * 2013-07-15 2016-08-09 Amazon Technologies, Inc. Network-accessible signal processing service
US9270830B2 (en) * 2013-08-06 2016-02-23 Telefonaktiebolaget L M Ericsson (Publ) Echo canceller for VOIP networks
US9420114B2 (en) 2013-08-06 2016-08-16 Telefonaktiebolaget Lm Ericsson (Publ) Echo canceller for VOIP networks
US9948565B2 (en) 2013-08-19 2018-04-17 Instart Logic, Inc. Method and implementation of zero overhead rate controlled (ZORC) information transmission via digital communication link
EP3039596A4 (de) 2013-08-30 2017-04-12 Hospira, Inc. System und verfahren zur überwachung und verwaltung eines entfernten infusionsdosierungsplans
US9662436B2 (en) 2013-09-20 2017-05-30 Icu Medical, Inc. Fail-safe drug infusion therapy system
KR101475862B1 (ko) * 2013-09-24 2014-12-23 (주)파워보이스 사운드 코드를 인코딩하는 인코딩 장치 및 방법, 사운드 코드를 디코딩하는 디코딩 장치 및 방법
JP6302209B2 (ja) * 2013-10-28 2018-03-28 キヤノン株式会社 画像処理装置、その制御方法、及びプログラム
US10311972B2 (en) 2013-11-11 2019-06-04 Icu Medical, Inc. Medical device system performance index
CA2930830C (en) 2013-11-19 2019-12-03 Hospira, Inc. Infusion pump automation system and method
US9548836B2 (en) * 2013-11-26 2017-01-17 Broadcom Corporation Upstream burst noise detection
US10306000B1 (en) * 2014-03-31 2019-05-28 Ribbon Communications Operating Company, Inc. Methods and apparatus for generating, aggregating and/or distributing presence information
EP3138032B1 (de) 2014-04-30 2024-07-24 ICU Medical, Inc. Patientenpflegesystem mit bedingter alarmweiterleitung
US9724470B2 (en) 2014-06-16 2017-08-08 Icu Medical, Inc. System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy
US9832507B2 (en) 2014-06-27 2017-11-28 Qualcomm Incorporated System and method for synchronizing media output devices connected on a network
US9539383B2 (en) 2014-09-15 2017-01-10 Hospira, Inc. System and method that matches delayed infusion auto-programs with manually entered infusion programs and analyzes differences therein
US10135626B2 (en) * 2015-04-14 2018-11-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power coupling circuits for single-pair ethernet with automotive applications
WO2016189417A1 (en) 2015-05-26 2016-12-01 Hospira, Inc. Infusion pump system and method with multiple drug library editor source capability
US9882613B2 (en) * 2015-06-01 2018-01-30 Corning Optical Communications Wireless Ltd Determining actual loop gain in a distributed antenna system (DAS)
US9924451B2 (en) * 2015-12-02 2018-03-20 Motorola Solutions, Inc. Systems and methods for communicating half-rate encoded voice frames
US10419037B2 (en) * 2016-01-29 2019-09-17 Ppc Broadband, Inc. Dynamic noise mitigation device
CN105869653B (zh) * 2016-05-31 2019-07-12 华为技术有限公司 话音信号处理方法和相关装置和***
CA3030786A1 (en) 2016-07-14 2018-01-18 Icu Medical, Inc. Multi-communication path selection and security system for a medical device
KR102505719B1 (ko) * 2016-08-12 2023-03-03 삼성전자주식회사 음성 인식이 가능한 디스플레이 장치 및 방법
EP3511934B1 (de) * 2016-09-28 2021-04-21 Huawei Technologies Co., Ltd. Verfahren, vorrichtung und system zur verarbeitung eines mehrkanalaudiosignals
US10264116B2 (en) * 2016-11-02 2019-04-16 Nokia Technologies Oy Virtual duplex operation
US10361748B2 (en) * 2017-01-16 2019-07-23 Futurewei Technologies, Inc. Multi-stage echo cancelation scheme to run FDX in coax cable plant
US10887075B2 (en) * 2017-03-28 2021-01-05 Intel Corporation Method and system for adaptive link training mechanism to calibrate an embedded universal serial bus redriver clock
US10476608B2 (en) 2017-07-27 2019-11-12 Ppc Broadband, Inc. Network interface devices with upstream noise suppressors
US10916252B2 (en) * 2017-11-10 2021-02-09 Nvidia Corporation Accelerated data transfer for latency reduction and real-time processing
EP3579490B1 (de) * 2018-06-06 2022-08-10 Intel Corporation Verfahren und vorrichtung zur steuerung der verstärkung eines verstärkers eines kabelmodems
US10911013B2 (en) 2018-07-05 2021-02-02 Comcast Cable Communications, Llc Dynamic audio normalization process
US10950339B2 (en) 2018-07-17 2021-03-16 Icu Medical, Inc. Converting pump messages in new pump protocol to standardized dataset messages
US11139058B2 (en) 2018-07-17 2021-10-05 Icu Medical, Inc. Reducing file transfer between cloud environment and infusion pumps
EP3824386B1 (de) 2018-07-17 2024-02-21 ICU Medical, Inc. Aktualisierung von infusionspumpenmedikamentenbibliotheken und betriebssoftware in einer vernetzten umgebung
NZ772135A (en) 2018-07-17 2022-11-25 Icu Medical Inc Systems and methods for facilitating clinical messaging in a network environment
US10692595B2 (en) 2018-07-26 2020-06-23 Icu Medical, Inc. Drug library dynamic version management
WO2020023231A1 (en) 2018-07-26 2020-01-30 Icu Medical, Inc. Drug library management system
CN110875796B (zh) * 2018-08-30 2021-02-23 华为技术有限公司 物理层端口通道化的方法和装置
US11295726B2 (en) * 2019-04-08 2022-04-05 International Business Machines Corporation Synthetic narrowband data generation for narrowband automatic speech recognition systems
US10638309B1 (en) * 2019-08-05 2020-04-28 General Motors Llc System and method to alter a telematics unit phone number
US11133919B2 (en) 2019-09-24 2021-09-28 Clockwork Systems, Inc. Time-triggered distribution of messages from a region of networked machines to multiple destinations using gateway-based time perimeters
US10979207B1 (en) * 2019-09-24 2021-04-13 Tick Tock Networks, Inc. Time-based processing of messages arriving from multiple gateways using gateway-based time perimeters
US11954518B2 (en) * 2019-12-20 2024-04-09 Nvidia Corporation User-defined metered priority queues
CN112151047B (zh) * 2020-09-27 2022-08-05 桂林电子科技大学 一种应用于语音数字信号的实时自动增益控制方法
US20220107738A1 (en) * 2020-10-06 2022-04-07 Kioxia Corporation Read controller and input/output controller
EP4229628A1 (de) * 2020-10-15 2023-08-23 VoiceAge Corporation Verfahren und vorrichtung zur audiobandbreitendetektion und audiobandbreitenumschaltung in einem audiocodec
CN112346091B (zh) * 2020-10-20 2022-07-01 中国电子科技集团公司第五十四研究所 一种基于数字重采样的非同源数据接收调制装置
US11943658B2 (en) * 2020-11-03 2024-03-26 Cypress Semiconductor Corporation Multi-protocol communication network
CN118120012A (zh) * 2021-08-10 2024-05-31 沃伊斯亚吉公司 用于限制声音编解码器中的输出合成失真的方法及设备
CN113507349B (zh) * 2021-09-10 2021-12-10 苏州裕太微电子有限公司 一种光电匹配方法及***

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4285060A (en) * 1978-02-28 1981-08-18 Harris Corporation Spread spectrum code tracking loop
US4453259A (en) * 1982-04-20 1984-06-05 Trw Inc. Digital synchronization technique
US4644108A (en) * 1982-10-27 1987-02-17 International Business Machines Corporation Adaptive sub-band echo suppressor
US4617676A (en) * 1984-09-04 1986-10-14 At&T Bell Laboratories Predictive communication system filtering arrangement
US4815109A (en) * 1987-06-25 1989-03-21 Racal Data Communications Inc. Sampling clock synchronization
CA1289281C (en) * 1988-05-05 1991-09-17 Jerry Stroobach Digital dtmf tone detector
US6389010B1 (en) * 1995-10-05 2002-05-14 Intermec Ip Corp. Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones
DE4040299A1 (de) * 1990-12-17 1992-06-25 Philips Patentverwaltung Schaltungsanordnung zur taktumsetzung eines digitalen signals
US5305307A (en) * 1991-01-04 1994-04-19 Picturetel Corporation Adaptive acoustic echo canceller having means for reducing or eliminating echo in a plurality of signal bandwidths
US5187591A (en) * 1991-01-24 1993-02-16 Micom Communications Corp. System for transmitting and receiving aural information and modulated data
US5421030A (en) * 1991-09-17 1995-05-30 Com21, Inc. Communications system and method for bi-directional communications between an upstream control facility and downstream user terminals
JP3027047B2 (ja) * 1992-01-29 2000-03-27 キヤノン株式会社 Dtmf信号検出装置及び方法
US5339384A (en) * 1992-02-18 1994-08-16 At&T Bell Laboratories Code-excited linear predictive coding with low delay for speech or audio signals
JPH05307399A (ja) * 1992-05-01 1993-11-19 Sony Corp 音声分析方式
US5278889A (en) * 1992-07-29 1994-01-11 At&T Bell Laboratories Video telephony dialing
US5329308A (en) * 1992-07-29 1994-07-12 At&T Bell Laboratories Bidirectional video telephony between cable television and switched telephone systems
US5307405A (en) * 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
US5396531A (en) * 1992-11-05 1995-03-07 General Electric Company Method of achieving reduced dose X-ray fluoroscopy by employing statistical estimation of poisson noise
JPH0828702B2 (ja) 1992-11-25 1996-03-21 日本電気株式会社 クロック再生器
US5353346A (en) * 1992-12-22 1994-10-04 Mpr Teltech, Limited Multi-frequency signal detector and classifier
US5452289A (en) * 1993-01-08 1995-09-19 Multi-Tech Systems, Inc. Computer-based multifunction personal communications system
US5388127A (en) * 1993-02-09 1995-02-07 Hitachi America, Ltd. Digital timing recovery circuit
US5513209A (en) * 1993-02-26 1996-04-30 Holm; Gunnar Resampling synchronizer of digitally sampled signals
US5329587A (en) * 1993-03-12 1994-07-12 At&T Bell Laboratories Low-delay subband adaptive filter
JP2538176B2 (ja) 1993-05-28 1996-09-25 松下電器産業株式会社 エコ―制御装置
JPH06338829A (ja) * 1993-05-28 1994-12-06 American Teleph & Telegr Co <Att> 通信システム内の反響除去方法と装置
US5477534A (en) 1993-07-30 1995-12-19 Kyocera Corporation Acoustic echo canceller
IL106746A (en) * 1993-08-19 1997-02-18 News Datacom Ltd CATV systems
US5774527A (en) * 1993-08-19 1998-06-30 News Datacom Ltd. Integrated telephone and cable communication networks
US5491565A (en) * 1993-12-03 1996-02-13 Telefonaktiebolaget Lm Ericsson System and method for varying the transmission rate of facsimile data in a telecommunication system
FR2715784B1 (fr) * 1994-02-02 1996-03-29 Jacques Prado Procédé et dispositif d'analyse d'un signal de retour et annuleur d'écho adaptatif en comportant application.
US5682386A (en) * 1994-04-19 1997-10-28 Multi-Tech Systems, Inc. Data/voice/fax compression multiplexer
US5555244A (en) * 1994-05-19 1996-09-10 Integrated Network Corporation Scalable multimedia network
US5535271A (en) * 1994-05-27 1996-07-09 Hughes Electronics Apparatus and method for dual tone multifrequency signal detection
US5488413A (en) * 1994-06-14 1996-01-30 Xel Communications, Inc. CATV telephony system using subsplit band for both directions of transmission
US5454015A (en) * 1994-08-01 1995-09-26 Rockwell International Corporation Adaptive timing recovery with gain adjustment
AU696092B2 (en) * 1995-01-12 1998-09-03 Digital Voice Systems, Inc. Estimation of excitation parameters
US5852661A (en) 1995-02-17 1998-12-22 Advanced Micro Devices, Inc. Adaptive echo cancellation used with echo suppression to reduce short and long duration echoes
US5631846A (en) * 1995-02-28 1997-05-20 Lucent Technologies Inc. Upstream communications for interactive networks
FI100213B (fi) * 1995-03-06 1997-10-15 Nokia Telecommunications Oy Telekopiosiirto matkaviestinjärjestelmässä
US5793498A (en) * 1995-03-10 1998-08-11 Telogy Networks, Inc. System for transferring facsimile data without dedicated G3 hardware
JP3094832B2 (ja) 1995-03-24 2000-10-03 三菱電機株式会社 信号識別器
GB9510127D0 (en) * 1995-05-20 1995-08-02 West End System Corp CATV Data transmission system
US5631899A (en) 1995-05-31 1997-05-20 Lucent Technologies Inc. Acoustic echo canceler
US6304574B1 (en) * 1995-06-07 2001-10-16 3Com Corporation Distributed processing of high level protocols, in a network access server
US5793821A (en) * 1995-06-07 1998-08-11 3Com Corporation Timing Recovery using group delay compensation
KR0143115B1 (ko) * 1995-06-09 1998-07-15 김광호 심볼 타이밍 복구회로 및 방법
US7898675B1 (en) * 1995-11-13 2011-03-01 Netfax Development, Llc Internet global area networks fax system
WO1997026753A1 (en) 1996-01-16 1997-07-24 I-Link Worldwide, Inc. Facsimile internet transmission system
US5970093A (en) * 1996-01-23 1999-10-19 Tiernan Communications, Inc. Fractionally-spaced adaptively-equalized self-recovering digital receiver for amplitude-Phase modulated signals
US5790538A (en) * 1996-01-26 1998-08-04 Telogy Networks, Inc. System and method for voice Playout in an asynchronous packet network
AU1851397A (en) 1996-01-31 1997-08-22 Labs Of Advanced Technologies International Corporation Hybrid network for real-time phone-to-phone voice communications
GB2312353B (en) * 1996-04-16 2000-12-06 Gpt Ltd Digital telecommunications transmision systems
US5987061A (en) 1996-05-09 1999-11-16 Texas Instruments Incorporated Modem initialization process for line code and rate selection in DSL data communication
US6002722A (en) 1996-05-09 1999-12-14 Texas Instruments Incorporated Multimode digital modem
US6023470A (en) * 1996-05-17 2000-02-08 Lee; Warren S. Point of presence (POP) for digital facsimile network with virtual POPs used to communicate with other networks
AU2833297A (en) 1996-05-21 1997-12-09 Integrated Network Corporation Multimedia over voice communication system
US5790641A (en) * 1996-06-19 1998-08-04 Northern Telecom Limited System and method for improving facsimile delay tolerances
US5752229A (en) 1996-06-28 1998-05-12 Lucent Technologies Inc. Intelligent near-end speech detection
SE9602823L (sv) * 1996-07-19 1998-01-20 Ericsson Telefon Ab L M En metod, en apparat och ett nätverk för att återhämta klockan
FR2755552B1 (fr) * 1996-11-06 1999-01-08 Telediffusion Fse Dispositif de recopie d'un signal d'horloge d'entree a frequence non continue
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US5999525A (en) 1996-11-18 1999-12-07 Mci Communications Corporation Method for video telephony over a hybrid network
US6236653B1 (en) * 1996-12-23 2001-05-22 Lucent Technologies Inc. Local telephone service over a cable network using packet voice
US5920834A (en) * 1997-01-31 1999-07-06 Qualcomm Incorporated Echo canceller with talk state determination to control speech processor functional elements in a digital telephone system
US6731625B1 (en) * 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US6292479B1 (en) * 1997-03-19 2001-09-18 Bell Atlantic Network Services, Inc. Transport of caller identification information through diverse communication networks
US5852630A (en) 1997-07-17 1998-12-22 Globespan Semiconductor, Inc. Method and apparatus for a RADSL transceiver warm start activation procedure with precoding
US5970441A (en) * 1997-08-25 1999-10-19 Telefonaktiebolaget Lm Ericsson Detection of periodicity information from an audio signal
US6125177A (en) * 1997-09-15 2000-09-26 Nortel Networks Corporation Telephone communications network with enhanced signaling and call routing
US6678243B2 (en) * 1997-11-14 2004-01-13 Ess Technology, Inc. Variable codec frame length
US6563803B1 (en) * 1997-11-26 2003-05-13 Qualcomm Incorporated Acoustic echo canceller
US6151636A (en) 1997-12-12 2000-11-21 3Com Corporation Data and media communication through a lossy channel using signal conversion
US6396531B1 (en) 1997-12-31 2002-05-28 At+T Corp. Set top integrated visionphone user interface having multiple menu hierarchies
WO1999035876A1 (en) * 1998-01-02 1999-07-15 Nokia Networks Oy A method for synchronization adaptation of asynchronous digital data streams
US6058421A (en) * 1998-02-04 2000-05-02 3Com Corporation Method and system for addressing network host interfaces from a cable modem using DHCP
US6018767A (en) * 1998-02-24 2000-01-25 3Com Corporation Method and system for managing subscription services with a cable modem
US6339626B1 (en) * 1998-03-16 2002-01-15 Ge Medical Systems Global Technology Company, Llc MRI system with fractional decimation of acquired data
US6275836B1 (en) * 1998-06-12 2001-08-14 Oak Technology, Inc. Interpolation filter and method for switching between integer and fractional interpolation rates
US6353610B1 (en) * 1998-06-19 2002-03-05 Lucent Technologies, Inc. Method and system for call signaling in telephone calls over a packet-switched network
US6169747B1 (en) * 1998-07-08 2001-01-02 Ess Technology, Inc. Variable code frame length for multistream applications
US6598231B1 (en) * 1998-09-08 2003-07-22 Asvan Technology, Llc Enhanced security communications system
US6141341A (en) * 1998-09-09 2000-10-31 Motorola, Inc. Voice over internet protocol telephone system and method
US6426983B1 (en) * 1998-09-14 2002-07-30 Terayon Communication Systems, Inc. Method and apparatus of using a bank of filters for excision of narrow band interference signal from CDMA signal
US6704308B2 (en) * 1998-09-29 2004-03-09 Cisco Technology, Inc. Apparatus and method for processing signals in a plurality of digital signal processors
US6611531B1 (en) * 1998-09-30 2003-08-26 Cisco Technology, Inc. Method and apparatus for routing integrated data, voice, and video traffic
US6259677B1 (en) * 1998-09-30 2001-07-10 Cisco Technology, Inc. Clock synchronization and dynamic jitter management for voice over IP and real-time data
US6614781B1 (en) * 1998-11-20 2003-09-02 Level 3 Communications, Inc. Voice over data telecommunications network architecture
US6662135B1 (en) 1998-12-09 2003-12-09 3Com Corporation Method and apparatus for reflective mixer testing of a cable modem
US6233226B1 (en) * 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
US6411601B1 (en) * 1998-12-15 2002-06-25 Siemens Information And Communication Networks, Inc. System and method for securing available communications network resources
US6600734B1 (en) * 1998-12-17 2003-07-29 Symbol Technologies, Inc. Apparatus for interfacing a wireless local network and a wired voice telecommunications system
US6667972B1 (en) 1999-01-08 2003-12-23 Cisco Technology, Inc. Method and apparatus providing multi-service connections within a data communications device
US6452950B1 (en) * 1999-01-14 2002-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive jitter buffering
US6438187B1 (en) * 1999-02-23 2002-08-20 Rockwell Collins, Inc. Phase processor for data pattern correlator
US6618387B1 (en) * 1999-03-04 2003-09-09 Webtv Networks, Inc. Interface for abstracting control of a cable modem
US6236283B1 (en) * 1999-04-08 2001-05-22 Hitachi America, Ltd. Methods and apparatus for generating a filtered signal having a fixed sampling rate from a variable baud rate input data stream
US7933295B2 (en) * 1999-04-13 2011-04-26 Broadcom Corporation Cable modem with voice processing capability
US7423983B1 (en) * 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US6765931B1 (en) * 1999-04-13 2004-07-20 Broadcom Corporation Gateway with voice
US6549587B1 (en) * 1999-09-20 2003-04-15 Broadcom Corporation Voice and data exchange over a packet based network with timing recovery
US6510224B1 (en) * 1999-05-20 2003-01-21 Telefonaktiebolaget L M Ericsson Enhancement of near-end voice signals in an echo suppression system
US6453472B1 (en) * 1999-06-02 2002-09-17 Cisco Technology, Inc. Method and apparatus for performing periodic ranging for cable modems
US6658027B1 (en) 1999-08-16 2003-12-02 Nortel Networks Limited Jitter buffer management
US6757367B1 (en) * 1999-09-20 2004-06-29 Broadcom Corporation Packet based network exchange with rate synchronization
US7161931B1 (en) * 1999-09-20 2007-01-09 Broadcom Corporation Voice and data exchange over a packet based network
US6549886B1 (en) * 1999-11-03 2003-04-15 Nokia Ip Inc. System for lost packet recovery in voice over internet protocol based on time domain interpolation
US6580432B1 (en) * 2000-01-14 2003-06-17 Ati International Srl Spread spectrum FIFO and method for storing data for multiple display types
US6252453B1 (en) * 2000-01-20 2001-06-26 Advanced Micro Devices, Inc. Device and method for signal resampling between phase related clocks
US7003093B2 (en) * 2000-09-08 2006-02-21 Intel Corporation Tone detection for integrated telecommunications processing
US6738358B2 (en) * 2000-09-09 2004-05-18 Intel Corporation Network echo canceller for integrated telecommunications processing
JP3750646B2 (ja) 2001-10-29 2006-03-01 住友電気工業株式会社 金属微細構造体の製造方法
US7103067B1 (en) * 2001-12-21 2006-09-05 Cisco Technology, Inc. Mechanism for translating between two different voice-over-IP protocols

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018117373B4 (de) 2017-08-18 2024-03-14 Maxlinear Asia Singapore Private Limited Synchronisierung der adaptiven Filterumschaltung und Kanalentzerrung in Vollduplex (FDX)-Kabelmodems

Also Published As

Publication number Publication date
EP1238489A2 (de) 2002-09-11
US20100191525A1 (en) 2010-07-29
WO2001043334A3 (en) 2002-05-02
ATE388542T1 (de) 2008-03-15
EP1238489B1 (de) 2008-03-05
US8254404B2 (en) 2012-08-28
AU2094201A (en) 2001-06-18
WO2001043334A9 (en) 2002-11-07
DE60038251D1 (de) 2008-04-17
WO2001043334A2 (en) 2001-06-14

Similar Documents

Publication Publication Date Title
DE60038251T2 (de) Sprach-durchgangsvorrichtung mit sprachsynchronisierung in abwärtsrichtung
US6912209B1 (en) Voice gateway with echo cancellation
US7023868B2 (en) Voice gateway with downstream voice synchronization
USRE46142E1 (en) Modem with voice processing capability
US7701954B2 (en) Gateway with voice
US7961712B2 (en) System and method for supporting multiple voice channels
EP1188285B1 (de) Gateway mit sprache
US20020110118A1 (en) Virtual gateway system and method
EP1214807A1 (de) System und verfahren zur synchronisierung und verteilung von telefontaktinformation in einem kabelmodem-netzwerk
KR20030070585A (ko) Catv 케이블 네트워크를 통해 인터넷 전화를 제공할때 종단간 지연을 감소시키기 위한 방법 및 장치
KR19980024330A (ko) 다중화된 adsl atu-c 집중 어프로치
KR19980024329A (ko) 스플릿 모뎀
US20020106017A1 (en) Method for transmitting signals over a cable protocol
US7263107B1 (en) Data compression over packet networks
EP1942607A2 (de) Kabelmodem mit Stimmverarbeitungsfunktion
US8121112B2 (en) Method and system for processing voice traffic from a multi-channel link into a VoIP network over a broadband network
Cisco Cisco IOS Multiservice Applications Command Reference Release 12.1
WO2002023824A2 (en) Cable modem with voice processing capability
Cisco Cisco IOS Voice, Video, and Fax Command Reference Release 12.2
Cisco Cisco IOS Multiservice Applications Configuration Guide Release 12.1
US7388835B1 (en) Gateway configuration for controlling data flow in modem over packet networks
Varbanova et al. Planning of VoIP System for Hybrid Fiber-Coaxial Television Networks
Morgan et al. Voice over Cable (VoCable)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M