-
Technisches Gebiet
-
Die
Erfindung betrifft ein Verfahren zur Datenübertragung zwischen zwei Datenverarbeitungssystemen,
welche jeweils geringfügig
voneinander unterschiedliche Taktraten aufweisen und die verwendeten
Taktraten veränderbar
sind.
-
Stand der Technik
-
Um
Daten von einem Datenverarbeitungssystem in ein anderes Datenverarbeitungssystem
zu übertragen
werden im Falle, das die Frequenz, mit der das Datenverarbeitungssystem
an welches die Daten geliefert werden, mit der Frequenz, mit welcher
die Daten vom anliefernden Datenverarbeitungssystem geliefert werden
minimale Abweichungen aufweisen, Pufferspeicher eingesetzt. Ein
in diesen Pufferspeichern eingesetztes Verfahren sorgt für den Fall,
dass Daten schneller angeliefert als ausgelesen werden dafür, dass
Daten aus dem Datenstrom entfernt werden. Im Fall, dass die Daten
langsamer angeliefert als ausgelesen werden, sorgt dieses Verfahren
für das
Einfügen
von, durch dieses Verfahren bestimmten Daten.
-
Ein
Pufferspeicher besteht prinzipiell aus einem Eingangsspeicher, in
welchen die Daten von einem ersten Datenverarbeitungssystem mit
einer ersten Frequenz (Datenrate) abgelegt werden und einem Ausgangsspeicher,
aus welchem ein zweites Datenverarbeitungsystem Daten mit einer
zweiten Frequenz entnimmt. Zwischengeschaltet ist ein Verfahren
welches Daten so vom Eingangsspeicher in den Ausgangsspeicher überträgt, dass
aus dem Ausgangsspeicher kontinuierlich Daten vom zweiten Datenverarbeitungssystem
mit dessen Frequenz entnommen werden können. Dazu ist es nötig, dass
von diesem Verfahren gegebenenfalls Daten erzeugt und in den Datenstrom
eingefügt
werden oder Daten aus dem Datenstrom entnommen werden.
-
Die
in diesem Verfahren angewandten Algorithmen können unterschiedlich komplex
sein, beispielsweise können
einfach leere Datenworte in den Datenstrom eingefügt werden,
das letzte Datenwort wiederholt werden oder mathematische Verfahren angewandt
werden, die auf die Art der zu übertragenden
Daten optimiert sind. Ein Beispiel eines angewandten Algorithmus
ist in der folgenden Literatustelle beschrieben: O. Hodson,
C. S. Perkins & V.
Hardman, "Skew detection
and compensation for Internet audio applications", Proceedings of the
IEEE International Conference an Multimedia and Expo, New York,
July 2000.
-
Allgemein
ist die Verwendung eines Pufferspeichers bei Anwendungen vorgesehen,
bei welchen Daten in den Datenstrom eingefügt oder entnommen werden können, ohne
das die Verwendbarkeit des Datenstroms dadurch leidet. Dies ist
beispielsweise bei der Übertragung
von Audio und Videosignalen gegeben.
-
Ein
weiterer Anwendungsfall ist z.B. die Telephonie über Internet, wobei digitale
Daten, welche Sprachsignale repräsentieren,
paketweise angeliefert werden, aber zur Ausgabe an einem analogen Ausgang
zu äquidistanten
Zeitpunkten Daten an einen Digital – Analog Wandler geliefert
werden müssen.
-
Eine
Erweiterung des Pufferspeichers stellt ein sogenannter Jitter-Buffer
dar. Ein Jitter-Buffer hat die Aufgabe, empfangene Datenpakete,
z.B. kodierte Sprache, zu ordnen, zu dekodieren und die aus den Datenpaketen
extrahierten Datenworte mit einer genau bestimmten Taktrate auszugeben.
Dazu wendet er ein oben beschriebenes Verfahren zum Angleich unterschiedlicher
Datenraten der empfangenen Pakete und der ausgegebenen Datenworte
an. In
EP 1 460 810
A2 ist die Funktionsweise eines Jitterbuffers und ein Verfahren
zur Regelung eines Jitterbuffers beschrieben.
-
Besteht
die Forderung, in einem Pufferspeicher mehrere Datenraten verarbeiten
zu können,
beispielsweise alternativ mit 8kHz oder mit 16kHz abgetastete Signale,
so muß nach
dem Stand der Technik das oben beschriebene Verfahren auf beide
Frequenzen angepasst und entsprechend, z.B. mittels Software, umgesetzt
werden. Dazu sind für
jede verwendete Taktrate die Koeffizienten des dem Verfahren zugrunde
liegenden Algoithmuses getrennt zu berechnen. Auch muß das Verfahren
mit jeweils der Taktrate (Abtastrate) des Signals synchroner Geschwindigkeit
ablaufen. Dies führt
zu höherem
Bedarf an Programmspeicher und zu äquivalent höherer Belastung der Recheneinheit.
-
Darstellung der Erfindung
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, mittels
welchem sowohl eine Grundtaktrate, welche die niedrigste zu verarbeitende
Taktrate ist, als auch ganzzahlige Vielfache dieser Grundtaktrate
verarbeitet werden können.
Dabei soll der Aufwand an Programmspeicher und Rechenleistungsbedarf
nicht steigen und für
jede verwendete Datenrate konstant sein. Erweiterungen bestehender
Umsetzungen von Pufferspeichern um die Möglichkeit der Verwendung mehrerer
Taktraten werden durch diese Erfindung vereinfacht, da das Verfahren
zum Ausgleich leicht unterschiedlicher Datenraten nur minimal angepasst
werden muß.
-
Die
Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs
1 gelöst
und einem System gemäß Anspruchs
4 gelöst.
-
Gemäß der Erfindung
ist vorgesehen jeweils das ganzzahlige Vielfache an Daten, welches
dem aktuellen Vielfachen der Grunddatenrate entspricht, jeweils
bei den entsprechenden Verfahrensschritten gleichzeitig vom Eingangsspeicher
in den Ausgangsspeicher zu übertragen.
-
Vorteilhafte
Eigenschaften der Erfindung sind, dass das Verfahren zum Angleich
unterschiedlicher Datenraten für
alle Datenraten unverändert
belassen werden kann und dass die Belastung der Recheneinheit nicht
mit steigender Datenrate zunimmt.
-
Besonders
vorteilhaft ist es, Vielfache der Reihe 2 hoch n (2, 4, 8, 16,..)
anzuwenden da dafür in
den häufigst
verwendeten Recheneinheiten Unterstützung vorhanden ist, z.B. durch
entsprechende Speicheradressierungsbefehle und Speicherzugriffsbefehle.
-
Vorteilhaft
ist auch eine Anwendung des erfindungsgemäßen Verfahrens wenn das Verfahren als
Teil eines Jitter-Buffer-Verfahrens
ausgeführt wird.
-
Eine
vorteilhafte Ausgestaltung der Erfindung wird erhalten mit einem
System zur Datenübertragung
zwischen zwei Datenverarbeitungssystemen, welche jeweils geringfügig voneinander
unterschiedliche Taktraten aufweisen und wobei die verwendeten Taktraten
in ganzzahligen Vielfachen einer Grundtaktrate veränderbar
sind, bei dem zumindest ein Eingangsspeicher und zumindest ein Ausgangsspeicher
vorgesehen sind, bei dem weiterhin Mittel zum Übertragen von Daten aus dem
zumindest einen Eingangsspeicher in zumindest einen Ausgangsspeicher
vorgesehen sind wobei die in jeweils einem Verfahrensschritt gleichzeitig übertragene
Datenmenge dem ganzzahligen Vielfachen der Datenmenge entspricht
welche bei der Grundtaktrate übertragen
wird.
-
Kurzbeschreibung der Zeichnungen
-
1 Schematische
Darstellung eines Pufferspeichers gemäß dem Stand der Technik.
-
2 Schematische
Darstellung eines Pufferspeichers gemäß der Erfindung, bei der Verarbeitung
der doppelten Grundtaktrate.
-
3 Schematische
Darstellung eines Pufferspeichers gemäß der Erfindung, bei der Verarbeitung
der vierfachen Grundtaktrate.
-
Ausführung der Erfindung
-
In 1 ist
beispielhaft und schematisch ein Pufferspeicher dargestellt. Dieser
umfasst einen Eingangsspeicher ES welcher aus einzelnen Speicherzellen
SZ1, SZ2, SZ3...SZn besteht welche z.B. nach dem „First
In – First
Out" Verfahren benutzbar
sind und in welchen Daten von einem ersten Datenverarbeitungssystem
geliefert werden. Weiters umfasst der Pufferspeicher einen Ausgangsspeicher
AS aus welchem die Daten an ein zweites Datenverarbeitungssystem
geliefert werden. Mittels einer zwischengeschalteten Verarbeitungslogik
V werden die Daten vom Eingangsspeicher ES in den Ausgangsspeicher
AS übertragen.
-
Die
konkrete Anwendung dieses Verfahrens kann beispielweise in einem
sogenannten Jitter-Buffer erfolgen, in diesem Fall ist das erste
Datenverarbeitungssystem jenes Verfahren oder Vorrichtung welche
die einzelnen Samples eines paketorientierten Datenstroms extrahiert,
ordnet und gegebenfalls dekodiert. Das zweite Datenverarbeitungssystem wäre in diesem
Fall jenes Verfahren oder Vorrichtung welches die Ausgaben aus dem
Jitter-Buffer übernimmt
um sie beispielsweise einer digital – analog Wandlung zur Ausgabe
an einem Lautsprecher zu unterziehen.
-
Der
Ablauf des erfindungsgemäßen Verfahrens
ist wie folgt:
Es werden von einem ersten Datenverarbeitungssystem
gelieferte Datenworte DW2, DW2, DW4...DWn in die Speicherzellen
SZ1, SZ2, SZ3...SZn des Eingangsspeichers ES abgelegt. Dies geschieht
mit der vom ersten Datenverarbeitungssystem bestimmten Geschwindigkeit
(Taktrate). Ein zweites Datenverarbeitungssystem übernimmt
die Ausgangsdaten A mit der vom zweiten Datenverarbeitungssystem
bestimmten Geschwindigkeit (Taktrate) aus dem Ausgangsspeicher AS.
Die Taktraten der beiden Datenverarbeitungssysteme sind, bis auf kleine
Toleranzen, identisch. Eine Verarbeitungslogik V überträgt in jedem
Verfahrensschritt eine Dateneinheit vom Eingangsspeicher ES in den
Ausgangsspeicher AS. Diese Verarbeitungslogik V sorgt auch für das Entfernen von
Daten aus diesem Datenstrom wenn die Taktrate des ersten Datenverarbeitungssystems
größer ist
als die des zweiten Datenverarbeitungssystems und für das Einfügen von
Daten in den Datenstrom wenn die Taktrate des ersten Datenverarbeitungssystems niedriger
ist als die des zweiten Datenverarbeitungssystems. Das Entfernen
oder Hinzufügen
von Daten geschieht beispielsweise mit dem Algorithmus wie er in „O. Hodson,
C. S. Perkins & V.
Hardman, "Skew detection
and compensation for Internet audio applications", Proceedings of the
IEEE International Conference an Multimedia and Expo, New York,
July 2000" beschrieben
ist.
-
2 zeigt
schematisch eine Ausführungsform
eines Pufferspeichers bei erfindungsgemäßer Umsetzung im Betrieb mit
doppelter Taktrate beider Datenverarbeitungssysteme gegenüber dem
Fall in 1. Erfindungsgemäß werden
in einem Verarbeitungsschritt des Verfahrens die dem ganzzahligen Vielfachen
der Grundtaktrate, in diesem Fall zweifachen, entsprechenden Datenmengen
vom Eingangsspeicher ES in den Ausgangsspeicher AS übertragen.
Der dabei angewandte Algorithmus bleibt hingegen unverändert. Dies
ist in 2 durch 2 Pfeile die auf 2 Speicherzellen verweisen
angedeutet. In einer praktischen Umsetzung könnte beispielsweise anstatt
eines Bytes (8Bit) ein Wort (16Bit) verarbeitet werden, eine Änderung,
welche in allen gebräuchlichen
Programmiersprachen einfach vorzunehmen ist. Dabei bleibt die Belastung
der Recheneinheit gegenüber
dem in 1 dargestellten Fall konstant und der Algorithmus
der Verarbeitungslogik V benötigt keine Änderung.
-
3 zeigt
schematisch eine weitere Ausführungsform
eines Pufferspeichers bei erfindungsgemäßer Umsetzung im Betrieb mit
vierfacher Taktrate beider Datenverarbeitungssysteme gegenüber dem
Fall in 1. Erfindungsgemäß werden
in einem Verarbeitungsschritt des Verfahrens ie dem ganzzahligen
Vielfachen der Grundtaktrate, in diesem Fall vierfachen, entsprechenden
Datenmengen vom Eingangsspeicher in den Ausgangsspeicher übertragen.
Dies ist in 3 durch 4 Pfeile die auf 4 Speicherzellen
verweisen angedeutet. In einer praktischen Umsetzung könnte beispielsweise
anstatt eines Bytes (8Bit) ein Doppelwort (32Bit) verarbeitet werden,
eine Änderung,
welche in allen gebräuchlichen
Programmiersprachen einfach vorzunehmen ist. Dabei bleibt die Belastung
der Recheneinheit gegenüber
dem in 1 dargestellten Fall konstant und der Algorithmus
der Verarbeitungslogik V benötigt keine Änderung.
-
- A
- Ausgangsdaten
- E
- Eingangsdaten
- AS
- Ausgangsspeicher
- ES
- Eingangsspeicher
- V
- Verarbeitungslogik
- SZ
- Speicherzelle
- DW
- Datenwort