Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR ADAPTING THE DATA RATE OF A DATA STREAM
Document Type and Number:
WIPO Patent Application WO/2002/088928
Kind Code:
A2
Abstract:
The invention relates to an improved method and to a corresponding device for adapting the data rate of a data stream while using a first in, first out (FIFO) memory (1) into which data packets of the data stream with a first data rate are written and out of which the data packets are output with a second data rate. According to the invention, a designated pause (T¿P?) is inserted after each output data packet until the next data packet is output. In the event of a no-load operation of the FIFO memory (1), an additional pause (T¿FE?) results, which is detected. In addition, the number of the data packets output between a preceding no-load operation and the current no-load operation of the FIFO memory (1) is determined. A longest pause between the data packets can be determined based on this information. Independent of a comparison of this longest pause with the product of the output data packets between two consecutive FIFO no-load operations and the pause (T¿P?) to be inserted between the output data packets, it is determined whether an increase of the inserted pause (T¿P?) is most likely.

Inventors:
GRANIG WOLFGANG (AT)
MANDL CHRISTIAN (AT)
Application Number:
PCT/EP2002/004216
Publication Date:
November 07, 2002
Filing Date:
April 16, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INFINEON TECHNOLOGIES AG (DE)
GRANIG WOLFGANG (AT)
MANDL CHRISTIAN (AT)
International Classes:
G06F5/06; G06F5/10; (IPC1-7): G06F5/06
Domestic Patent References:
WO1996001535A11996-01-18
Foreign References:
US5535209A1996-07-09
Other References:
STEENDAM ET AL: "Guard time optimization for OFDM transmission over fading channels" IEEE BENELUX CHAPTER ON VEHICULAR TECHNOLOGY AND COMMUNICATIONS. SYMPOSIUM ON COMMUNICATIONS AND VEHICULAR TECHNOLOGY. SCVT. PROCEEDINGS, Oktober 1996 (1996-10), Seiten 42-48, XP002243075 Ghent
Attorney, Agent or Firm:
Banzer, Hans-jörg (Thomas-Wimmer-Ring 15, München, DE)
Download PDF:
Claims:
Patentansprüche
1. Verfahren zur Anpassung der Datenrate eines Datenstroms, wobei Datenpakete des Datenstroms mit einer ersten Datenrate in einen FIFOSpeicher (1) geschrieben und mit einer zweiten Datenrate aus dem FIFOSpeicher (1) ausgegeben werden, dadurch g e k e n n z e i c h n e t, dass die Datenpakete mit einer festgelegten zeitlichen Pause (Tp) zwischen den Datenpaketen ausgegeben werden, dass eine im Falle eines Leerlaufs des FIFOSpeichers (1) auftretende zusätzliche Pause (TFE) erfasst und daraus eine maximale Pause zwischen den Datenpaketen ermittelt wird, und dass in Abhängigkeit von einem Vergleich der Summe der einzelnen Pausen (Tp), welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) ausgegebenen Datenpaketen eingefügt werden, und der maximalen Pause der Wert für die Pause (Tp), welche zwischen nachfolgend auszugebenden Datenpakete einzufügen ist, eingestellt wird.
2. Verfahren nach Anspruch 1, dadurch g e k e n n z e i c h n e t, dass die maximale Pause durch Berechnen der Summe der zwischen den Datenpaketen eingefügten Pause (Tp) und der infolge eines Leerlaufs des FIFOSpeichers (1) auftretenden zusätzlichen Pause (TFE) ermittelt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch g e k e n n z e i c h n e t, dass der Wert der zwischen den aus dem FIFOSpeicher (1) ausgegebenen Datenpaketen eingefügten Pause (Tp) erfasst wird, dass die Anzahl der zwischen den zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) ausgegebenen Datenpakete erfasst wird, und dass die Summe der einzelnen Pausen (Tp), welche zwischen den zwischen den zwei aufeinanderfolgenden Leerläufen des FIFO Speichers (1) ausgegebenen Datenpaketen eingefügt wird, durch Multiplikation der erfassten Anzahl der Datenpakete mit dem erfassten Wert der Pause (Tp) ermittelt wird.
4. Verfahren nach Anspruch 3, dadurch g e k e n n z e i c h n e t, dass der Wert der Pause (Tp), der Wert der im Falle eines Leerlaufs des FIFOSpeichers (1) auftretenden zusätzlichen Pause (TFE) und die Anzahl der zwischen zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) ausgegebenen Datenpakete mithilfe eines Zählers (6) erfasst wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch g e k e n n z e i c h n e t, dass ein neuer Wert für die zwischen den aus dem FIFO Speicher (1) ausgegebenen Datenpaketen eingefügte Pause (Tp) derart eingestellt wird, dass die Summe der daraus resultierenden einzelnen Pausen (Tp), welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFO Speichers (1) ausgegebenen Datenpaketen eingefügt werden, kleiner als der Wert der maximalen Pause im Falle eines Leerlaufs des FIFOSpeichers (1) ist.
6. Verfahren nach Anspruch 5, dadurch g e k e n n z e i c h n e t, dass ein neuer Wert für die zwischen den aus dem FIFO Speicher (1) ausgegebenen Datenpaketen eingefügte Pause derart eingestellt wird, dass die Summe der einzelnen Pausen (Tp), welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufe des FIFOSpeichers (1) ausgegebenen Datenpaketen eingefügt werden, addiert mit einem bestimmten Reservewert kleiner als der Wert der maximalen Pause zwischen den Datenpaketen ist.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch g e k e n n z e i c h n e t, dass die Taktfrequenz, mit welcher die Daten der Datenpakete aus dem FIFOSpeicher (1) ausgegeben werden, halbiert wird, falls die zwischen den ausgegebenen Datenpaketen eingefügte Pause (Tp) größer als die zeitliche Dauer eines Datenpakets ist.
8. Vorrichtung zur Anpassung der Datenrate eines Datenstroms, mit einem FIFOSpeicher (1), in welchen Datenpakete mit einer ersten Datenrate geschrieben werden und aus welchem die Datenpakete mit einer zweiten Datenrate ausgegeben werden, und mit einer Speichersteuerung (2) zum Steuern des Schreibens der Datenpakete in den FIFOSpeicher (1) und des Ausgebens der Datenpakete aus dem FIFOSpeicher (1), dadurch g e k e n n z e i c h n e t, dass die Speichersteuerung (2) zur Ansteuerung des FIFO Speichers (1) derart ausgestaltet ist, dass die Datenpakete aus dem FIFOSpeicher (1) mit einer bestimmten festgelegten zeitlichen Pause (Tp) zwischen den Datenpaketen ausgegeben werden, dass die Speichersteuerung (2) zum Erfassen eines Leerlaufs des FIFOSpeichers (1) ausgestaltet ist, dass die Speichersteuerung (2) zum Erfassen einer im Falle eines Leerlaufs des FIFOSpeichers (1) auftretenden zusätzlichen Pause ausgestaltet ist, um den Wert einer maximalen Pause zwischen zwei aufeinanderfolgenden Datenpaketen zu bestimmen, und dass die Speichersteuerung (2) derart ausgestaltet ist, dass sie durch einen Vergleich der Summe der einzelnen Pausen (Tp), welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) ausgegebenen Datenpaketen eingefügt werden, mit dem Wert der maximalen Pause einen neuen Wert für die Pause (Tp), welche zwischen nachfolgend auszugebenden Datenpakete des FIFOSpeichers (1) einzufügen ist, einstellt.
9. Vorrichtung nach Anspruch 8, dadurch g e k e n n z e i c h n e t, dass die Speichersteuerung (2) zur Durchführung des Verfahrens nach einem der Ansprüche 17 ausgestaltet ist.
10. Vorrichtung nach Anspruch 8 oder 9, dadurch g e k e n n z e i c h n e t, dass die Speichersteuerung (2) mindestens einen Zähler (6) zum Erfassen des aktuellen Werts der zwischen den aus dem FIFOSpeicher (1) ausgegebenen Datenpaketen eingefügten Pause (Tp), der im Falle eines Leerlaufs des FIFOSpeichers (1) auftretenden zusätzlichen Pause und einer Anzahl der zwischen den zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) aus dem FIFOSpeicher (1) ausgegebenen Datenpakete umfasst, wobei die Speichersteuerung (2) die Summe der einzelnen Pausen (Tp), welche zwischen den zwischen den zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) ausgegebenen Datenpaketen eingefügt werden, durch Multiplikation der erfassten Anzahl der zwischen den zwei aufeinanderfolgenden Leerläufen ausgegebenen Datenpakete mit dem erfassten aktuellen Wert der eingefügten Pause (Tp) ermittelt.
11. Vorrichtung nach einem der Ansprüche 810, dadurch g e k e n n z e i c h n e t, dass die Speichersteuerung (2) derart ausgestaltet ist, dass sie einen neuen Wert für die zwischen den aus dem FIFO Speicher' (1) ausgegebenen Datenpaketen eingefügte Pause (Tp) derart einstellt, dass die daraus resultierende Summe der einzelnen Pausen (Tp), welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) ausgegebenen Datenpaketen eingefügt werden, kleiner als der Wert der maximalen Pause ist.
12. Vorrichtung nach Anspruch 11, dadurch g e k e n n z e i c h n e t, dass die Speichersteuerung (2) derart ausgestaltet ist, dass sie einen neuen Wert für die zwischen den aus dem FIFO Speicher (1) ausgegebenen Datenpaketen eingefügte Pause (Tp) derart einstellt, dass die daraus resultierende Summe der einzelnen Pausen (Tp), welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFOSpeichers (1) ausgegebenen Datenpaketen eingefügt werden, addiert mit einem bestimmten Reservewert kleiner als der Wert der maximalen Pause ist.
13. Vorrichtung nach einem der Ansprüche 811, dadurch g e k e n n z e i c h n e t, dass die Speichersteuerung (2) zur Halbierung einer Datenausgabetaktfrequenz des FIFOSpeichers (1) ausgestaltet ist, falls der Wert der zwischen den aus dem FIFOSpeicher (1) ausgegebenen Datenpakete eingefügten Pause (Tp) größer als die zeitliche Dauer eines Datenpakets ist.
Description:
Beschreibung Verfahren und Vorrichtung zur Anpassung der Datenrate eines Datenstroms Die vorliegende Erfindung betrifft ein Verfahren zur Anpassungen der Datenrate eines Datenstroms, insbesondere eines datenpaketorientierten Datenstroms, sowie eine entsprechende Vorrichtung, wobei Datenpakete mit einer ersten Datenrate in einen FIFO-Speicher ("First In First Out") geschrieben und mit einer zweiten Datenrate aus dem FIFO- Speicher ausgelesen werden.

Bei vielen DMT-Datenübertragungen ("Discrete Multi Tone"), wie beispielsweise dem modernen COFDM-Modulationsverfahren ("Coded Orthogonal Frequency Division Multiplex"), werden die zu übertragenden Daten, d. h. die einzelnen Bits bzw. Bytes, wie folgt kodiert. Die Daten, beispielsweise MPEG-Datenpakete ("Moving Picture Experts Group"), werden zur Kanalkodierung mit einem Block-Code als äußerem Code und einem Faltungs-Code als innerem Code versehen, um die Datenübertragung sicherer zu gestalten. Dabei werden den zu übertragenden Daten-bzw.

Nachrichtenbits redundante Bits hinzugefügt, welche die Übertragungssicherheit erhöhen. Die mit einer derartigen Redundanz versehenen Daten werden auf eine Vielzahl unterschiedlicher Träger mithilfe einer inversen Fouriertransformation ("Inverse Fast Fourier Transformation", IFFT) aufmoduliert, wobei die einzelnen Träger zusätzlich QPSK ("Quadrature Phase Shift Keying")-, 16QAM ("Quadrature Amplitude Modulation")-oder 64QAM-moduliert sein können.

Abhängig von der Anzahl der verwendeten Träger wird dabei beispielsweise zwischen einem 2k-Modus (1512 Träger) und einem 8k-Modus (6048 Träger) unterschieden. Das daraus resultierende OFDM-Signal setzt sich somit aus einer Vielzahl von modulierten Trägern zusammen.

Jedes somit erhaltene OFDM-Symbol wird eine bestimmte Zeit gesendet, wobei diese Zeit als"Useful Time"bezeichnet wird und von der jeweils verwendeten Übertragungsbandbreite abhängt. So sind beispielsweise Übertragungsbandbreiten von 8MHz, 7MHz und 6MHz bekannt, wobei das längste OFDM-Symbol bei einer Bandbreite von 6MHz zu erwarten ist. Bei einer Mehrwegausbreitung ist es jedoch auch möglich, dass Echos das eigentliche OFDM-Signal beeinträchtigen. Um dies so gering wie möglich zu halten, wurde eine als"Guard Period" bezeichnete Schutzzeit eingeführt, in welcher kein Symbol gesendet wird und demzufolge das Signal Zeit hat, sich einzuschwingen und Echos abklingen zu lassen. Die"Guard Period"beträgt beispielsweise 1/32,1/16,1/8 oder 1/4 der "Useful Time", wobei die"Guard Period"und"Useful Time" zusammen die Symbolzeit ("Symbol Time") des jeweiligen Symbols ergeben.

In Figur 3 ist ein Beispiel für den zeitlichen Verlauf der Datenausgabe bei einer Blockverarbeitung, z. B. gemäß einem COFDM-Modulationsverfahren, von MPEG-Datenpaketen dargestellt, wobei aus Figur 3 auch die jeweils eingefügte "Guard Period"ersichtlich ist. Die Anzahl der MPEG- Datenpakete pro OFDM-Symbol hängt-wie nachfolgend noch näher erläutert wird-von der Modulationsart der einzelnen Träger, von der Anzahl der verwendeten Träger und von der verwendeten Coderate ab.

Beim Empfang von Daten bzw. OFDM-Symbolen, welche gemäß dem zuvor beschriebenen Verfahren kodiert bzw. moduliert worden sind, erfolgt die Datenverarbeitung genau in umgekehrter Reihenfolge, so dass die gewünschten Daten (z. B. MPEG- Datenpakete) nach der Durchführung einer Faltungs-Dekodierung und einer Blockdekodierung zur Verfügung stehen.

Ein mit dem zuvor beschriebenen COFDM-Modulationsverfahren verbundenes Problem besteht darin, dass dieses Verfahren ein blockorientiertes Übertragungsverfahren darstellt, wobei MPEG-Decoder meist einen kontinuierlichen Datenstrom voraussetzen, um deren Funktion, insbesondere deren FIFO- Funktionalität, zu gewährleisten. Aus diesem Grund ist eine geeigneten Datenratenanpassung erforderlich.

Die Datenrate am Ausgang eines COFDM-Empfängers lässt sich gemäß folgender Formel berechnen : <BR> <BR> <BR> <BR> <BR> <BR> <BR> CARRIER. 1 bits bits<BR> <BR> CRATE CARRIER CRATE<BR> <BR> <BR> <BR> <BR> <BR> <BR> xOUT = =<BR> (1 + GUARD)#USEFUL_TIME (1 + GUARD)#USEFUL_TIME Dabei bezeichnet der Parameter CARRIER die Anzahl der verwendeten Träger, beispielsweise 1512 oder 6048, während CRATE die bei der Faltungscodierung verwendete Coderate, beispielsweise 1/2,2/3,3/4,5/6 oder 7/8, bezeichnet. Der Ausdruck bits/CARRIER weist bei einer QPSK-Modulation den Wert 2, bei einer 16QAM-Modulation den Wert 4 und bei einer 64QAM-Modulation den Wert 6 auf. Mit dem Parameter GUARD wird das Verhältnis zwischen der"Guard. Period" und der"Useful Time"bezeichnet, so dass der Parameter GUARD beispielsweise den Wert 1/4,1/8,1/16 oder 1/32 aufweisen kann. Der Parameter USEFUL TIME bezeichnet die Dauer der zuvor beschriebenen"Useful Time", in welcher ein OFDM-Symbol gesendet wird, wobei die"Useful Time"896 us bei einer Übertragungsbandbreite von 8MHz, 1024 us bei einer Übertragungsbandbreite von 7MHz oder 1194,7 us bei einer Übertragungsbandbreite von 6MHz beträgt.

In Figur 4A ist für eine Übertragungsbandbreite von 8MHz die Datenrate XOUT am Ausgang eines COFDM-Empfängers für

unterschiedliche Werte von CRATE, GUARD und für unterschiedliche Modulationsverfahren bei einer Übertragungsbandbreite von 8MHz dargestellt. In Figur 4B bzw.

Figur 4C sind entsprechende Werte für die Ausgangsdatenrate für eine Übertragungsbandbreite von 7MHz bzw. 6MHz dargestellt. Die Ausgangsdatenrate ist jeweils in Mbits/s dargestellt.

Aus der obigen Formel ist ersichtlich, dass die Ausgangsdatenrate unabhängig von der Anzahl der verwendeten Träger, d. h. unabhängig von dem eingesetzten Modus (z. B. 2k- Modus oder 8k-Modus) ist. Unterschiedlich bleibt jedoch nach wie vor die Anzahl der MPEG-Datenpakete pro OFDM-Symbol, was aus der Darstellung von Figur 5 ersichtlich ist.

In Figur 5 ist für eine konstante Übertragungsbandbreite die Anzahl der MPEG-Datenpakete pro OFDM-Symbol für die unterschiedlichen Modulationsarten und für unterschiedliche Werte CRATE der Faltungscoderate dargestellt, wobei zwischen dem 8k-Modus und dem 2k-Modus unterschieden wird. Aus Figur 5 ist ersichtlich, dass die Anzahl der MPEG-Datenpakete pro OFDM-Symbol abhängig von dem jeweils verwendeten Modus (2k- Modus oder 8k-Modus) abweicht.

Zur Anpassung der Datenrate eines Datenstroms ist die Verwendung eines FIFO-Speichers bekannt, wobei die Daten bzw.

Datenpakete in den FIFO-Speicher mit einer bestimmten Datenrate eingeschrieben und mit einer anderen Datenrate ausgelesen werden können. Der FIFO-Speicher kann beispielsweise in Form eines sogenannten Dual-Port-RAM- Speichers ausgestaltet sein.

In Figur 6A ist ein Beispiel für einen Dual-Port-RAM-FIFO- Speicher 1 dargestellt, welcher über einen Dateneingangsanschluss zum Einschreiben von Daten bzw.

Datenpaketen DIN und einen Datenausgangsanschluss zum Auslesen von Daten bzw. Datenpaketen Dour verfügt. An einen weiteren Anschluss wird ein Taktsignal CLKIN für das Einschreiben der Daten angelegt, während zum Auslesen der Daten ein variables und konfigurierbares Taktsignal CLKouT verwendet wird, so dass durch entsprechende Einstellung dieses Auslesetaktsignals CLKouT die Datenrate wunschgemäß angepasst werden kann.

Ein Problem bei Verwendung der in Figur 6A dargestellten Anordnung besteht jedoch darin, dass lediglich durch ausreichend große Dimensionierung des FIFO-Speichers 1 sichergestellt werden kann, dass die FIFO-Warteschlange nicht überläuft. Zudem müssen mehrere verschiedene Taktsignale auf ein und demselben Chipbaustein zur Verfügung gestellt werden, was bei der Chip-Synthese und beim Testen des Chips kompliziert ist. Zudem benötigen Dual-Port-RAM-FIFO-Speicher eine relativ hohe Chip-Fläche.

Eine weitere bekannte Möglichkeit zur Datenratenanpassung ist in Figur 6B dargestellt. Dabei ist in Figur 6B ein FIFO- Speicher 1 in Kombination mit einem vorgeschalteten Modul 4 und einem nachgeschalteten Modul 5 dargestellt. Bei dem FIFO- Speicher 1 handelt es sich im Prinzip lediglich um einen Zwischen-FIFO-Speicher, wobei die Eingangsdaten DIN zusätzlich in dem vorgeschalteten Modul 4 und in dem nachgeschalteten Modul 5 verteilt werden. Dadurch werden die Daten derart verarbeitet, dass am Ausgang der entsprechenden blockverarbeitenden Schaltkreise die Daten jeweils gemäß den entsprechenden Bedürfnissen verteilt sind. Der Vorteil der in Figur 6B dargestellten Anordnung besteht darin, dass der FIFO-Speicher 1 nicht so genau wie bei der in Figur 6A dargestellten Anordnung arbeiten muss, da eine zusätzliche Gleichverteilung durch das nachgeschaltete Modul 5 bzw. den nachgeschalteten Funktionsblock 5 möglich ist. Nachteilig bei

der in Figur 6B dargestellten Anordnung ist jedoch, dass die Auslegung des FIFO-Speichers 1 wesentlich komplizierter ist, da die Datenraten innerhalb der Anordnung bzw. innerhalb des Systems oft nicht genau bekannt sind bzw. von der Implementierung des vorhergehenden Moduls 4 bzw. des vorhergehenden Funktionsblocks 4 abhängen.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren sowie eine entsprechende Vorrichtung zur Anpassung der Datenrate eines Datenstroms bereitzustellen, womit auf möglichst einfache Art und Weise eine möglichst genaue Anpassung der Datenrate erzielt werden kann.

Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruches 1 bzw. einer Vorrichtung mit den Merkmalen des Anspruches 8 gelöst. Die Unteransprüche definieren jeweils bevorzugte und vorteilhafte Ausführungsformen der vorliegenden Erfindung.

Die vorliegende Erfindung geht davon aus, dass Datenpakete eines Datenstroms in einen FIFO-Speicher geschrieben und wieder ausgelesen werden. Das Schreiben der Datenpakete in den FIFO-Speicher und das Auslesen der Datenpakete aus dem FIFO-Speicher kann dabei mit unterschiedlichen Datenraten erfolgen.

Zur Erzielung der gewünschten Datenrate am Ausgang des FIFO- Speichers wird folgende Regelschleife implementiert, welche eine adaptive Datenratenanpassung ermöglicht.

Zwischen jedem ausgegebenen bzw. ausgelesenen Datenpaket wird eine voreingestellte oder festgelegte zeitliche Pause bzw.

Zeitspanne eingefügt, d. h. nach jedem ausgegebenen Datenpaket wird eine bestimmte Zeit gewartet, bis das nächste Datenpaket ausgegeben wird. Zudem wird überwacht, wann der FIFO-Speicher

leerläuft. In Abhängigkeit von der Summe der einzelnen Pausen, welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFO-Speichers ausgegebenen bzw. ausgelesenen Datenpaketen eingefügt worden sind, wird schließlich für die nachfolgend auszulesenden Datenpakete ein neuer gültiger Pausenwert bestimmt und eingestellt.

Im Falle eines Leerlaufs des FIFO-Speichers entsteht eine zusätzliche Pause, die vorzugsweise ebenfalls gemessen wird.

Ist der FIFO-Speicher leergelaufen, kann die längste bzw. maximale Pause zwischen zwei aufeinanderfolgenden Datenpaketen ermittelt werden, welche der Summe aus der zwischen den ausgegebenen Datenpaketen eingefügten Pause und der durch den Leerlauf bedingten zusätzlichen Pause entspricht. Mit dieser maximalen bzw. längsten Pause wird nunmehr die Summe der einzelnen Pausen, welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFO- Speichers ausgegebenen Datenpaketen eingefügt worden sind, verglichen, um davon abhängig einen neuen Wert für die zwischen nachfolgend auszugebenden Datenpaketen einzufügende Pause zu bestimmen. Dabei ist der neue Wert für die zwischen zwei aufeinanderfolgende Datenpakete einzufügende Pause derart zu bemessen, dass die Summe der einzelnen Pausen, welche zwischen den zwischen zwei aufeinanderfolgenden Leerläufen des FIFO-Speichers ausgelesenen Datenpaketen eingefügt werden, kleiner als die längste bzw. maximale Pause zwischen zwei Datenpakete (im Falle eines FIFO-Leerlaufs) ist, wobei es sinnvoll ist, dass diesbezüglich eine bestimmte Reserve berücksichtigt wird, um sicherzustellen, dass der FIFO-Speicher stets sicher leerläuft (und nicht überlaufen kann). Zudem kann bei Berücksichtigung einer bestimmten Reserve gewährleistet werden, dass eine bestimmte maximale Pause nicht unterschritten wird, wobei über die Pause auch

der Start eines entsprechenden Symbols, beispielsweise eines OFDM-Symbols, ermittelt werden kann.

Wird die eingefügte Pause größer als die Dauer eines Datenpakets, kann die Datenausgabetaktfrequenz reduziert, insbesondere um den Faktor 2 verringert, werden, wobei in diesem Fall die zuvor beschriebene Regelschleife neu von vorne starten muss, um eine neue Regelung der Datenrate am Ausgang des FIFO-Speichers vorzunehmen.

Obwohl die vorliegende Erfindung bevorzugt zur Anpassung der Datenrate am Ausgang eines COFDM-Empfängers bei der Verarbeitung von MPEG-Datenpaketen eingesetzt werden kann, ist die vorliegende Erfindung selbstverständlich nicht auf diesen bevorzugten Anwendungsbereich beschränkt, sondern kommt überall dort zur Anwendung, wo eine Anpassung der Datenrate eines eine Folge von Datenpaketen umfassenden Datenstroms gewünscht ist. Diesbezüglich kann die vorliegende Erfindung beispielsweise auch in ATM- Datenübertragungsverfahren ("Asynchronous Transfer Mode") oder Ethernet-Datenübertragungsverfahren etc. eingesetzt werden.

Die vorliegende Erfindung wird nachfolgend näher unter Bezugnahme auf die beigefügte Zeichnung anhand eines bevorzugten Ausführungsbeispiels erläutert.

Figur 1 zeigt ein vereinfachtes Blockschaltbild einer erfindungsgemäßen Vorrichtung basierend auf einem FIFO- Speicher zur Anpassung der Datenrate eines Datenstroms, Figur 2 zeigt den zeitlichen Verlauf verschiedener Signale bei dem in Figur 1 dargestellten Ausführungsbeispiel zur Verdeutlichung der erfindungsgemäßen Funktionsweise,

Figur 3 zeigt den zeitlichen Verlauf der Ausgabe von MPEG- Datenpaketen bei einer Blockverarbeitung, Figur 4A-Figur 4C zeigen Beispiele für die Ausgangsdatenrate eines COFDM-Empfängers für verschiedene Ubertragungsbandbreiten, Figur 5 zeigt ein Beispiel für die Anzahl der MPEG- Datenpakete pro OFDM-Symbol am Ausgang eines COFDM-Empfängers im 8k-Modus und 2k-Modus, und Figur 6A und Figur 6B zeigen Darstellungen von bekannten Lösungen zur Erzielung einer Datenratenanpassung unter Verwendung eines FIFO-Speichers.

In Figur 1 ist ein FIFO-Speicher 1 dargestellt, in den die Daten DIN eines Datenstroms geschrieben und in Form von Ausgangsdaten DOUT ausgelesen werden. Bei dem dargestellten Ausführungsbeispiel wird davon ausgegangen, dass jeweils acht Bits parallel eingeschrieben bzw. ausgelesen werden. Bei den Eingangsdaten DIN kann es sich insbesondere um MPEG- Datenpakete eines COFDM-Empfängers handeln, deren Datenrate für eine nachfolgende Verarbeitung in einem (nicht gezeigten) MPEG-Decoder angepasst werden soll. Dabei wird idealerweise angestrebt, dass der Eingangsdatenstrom eines derartigen MPEG-Decoders möglichst gleich verteilte MPEG-Datenpakete mit kleinen Zwischenlücken bzw. Pausen aufweist.

Der in Figur 1 gezeigte FIFO-Speicher 1 wird von einer FIFO- Steuerung 2 angesteuert, welche Bestandteil einer Regelschleife zur adaptiven Datenratenanpassung ist und die am Ausgang des FIFO-Speichers 1 auftretende Datenrate gemäß dem nachfolgend näher beschriebenen Verfahren einstellt.

Von der FIFO-Steuerung 2 wird ein Steuersignal RW ("Read/Write") an den FIFO-Speicher 1 angelegt, welches zusammen mit einem Adressierungssignal ADR das Einschreiben eines Datenpakets in den FIFO-Speicher 1 und das Auslesen eines Datenpakets aus dem FIFO-Speicher 1 steuert. Der FIFO- Steuerung 2 ist ein Steuersignal ND ("New Data") zugeführt, welches der FIFO-Steuerung 2 mitteilt, wenn neue Daten zum Einschreiben in den FIFO-Speicher 1 vorliegen. Darüber hinaus erzeugt die FIFO-Steuerung 2 ein weiteres Steuersignal CS ("Chip Select") für den FIFO-Speicher 1, welches einen Speicherzugriff zur Einsparung von Energie nur dann ermöglicht, wenn neue Daten zum Schreiben in den FIFO- Speicher 1 vorliegen oder Daten am Ausgang des FIFO-Speichers 1 zum Auslesen vorhanden sind. Über ein weiteres Steuersignal FE ("FIFO Empty") überwacht die FIFO-Steuerung 2, ob ein Leerlauf des FIFO-Speichers 1 auftritt oder nicht. Die Funktionsweise der FIFO-Steuerung 2 ist folgendermaßen.

Ein Datenpaket wird in den FIFO-Speicher 1 geschrieben und wieder ausgegeben. Dabei wird nach jedem ausgegebenen Datenpaket eine bestimmte Zeit Tp gewartet, bis das nächste Datenpaket ausgegeben wird. Zu diesem Zweck kann die FIFO- Steuerung 2 einen Zähler 6 aufweisen, der diese Zeitspanne bzw. Pause Tp durch Zählen entsprechender Taktimpulse überwacht.

Im Falle eines Leerlaufs des FIFO-Speichers 1 entsteht dadurch eine zusätzliche Pause TFE, die von der FIFO- Steuerung 2 beispielsweise mithilfe eines Null-Zählers entsprechend gemessen bzw. erfasst werden kann. Darüber hinaus weist die FIFO-Steuerung 2 einen weiteren Zähler 6 auf, welcher die Anzahl der Datenpakete seit dem vorhergehenden Leerlauf des FIFO-Speichers bis zu dem aktuellen Leerlauf des FIFO-Speichers 1 zählt.

Mithilfe dieser Information kann die FIFO-Steuerung 2 die Summe der Pausen Tp, welche zwischen die zwischen zwei aufeinanderfolgende Leerläufe des FIFO-Speichers 1 ausgegebenen Datenpakete eingefügt worden sind, wie folgt ermitteln : TE = N-Tpi Dabei bezeichnet N die Anzahl der Datenpakete, welche zwischen dem vorhergehenden Leerlauf des FIFO-Speichers 1 und dem aktuellen Leerlauf ausgegeben worden sind, und Tpi den augenblicklich gültigen Pausenwert für die Pause bei der Ausgabe von Datenpaketen aus dem FIFO-Speicher 1.

Darüber hinaus kann die FIFO-Steuerung 2 die im Falle eines FIFO-Leerlaufs auftretende größte bzw. längste Pause Tpmax zwischen den Datenpaketen ermitteln, wobei gilt : TPmax-TPi + TFE Durch Vergleich des Summenpausenwerts TE mit dem Wert der größten Pause Tpmax kann die FIFO-Steuerung 2 ermitteln, ob beispielsweise eine Erhöhung der Pause zwischen zwei aufeinanderfolgenden Datenpaketen von beispielsweise Tp1 nach TP2 (vgl. Figur 2) möglich ist. Dabei ist bei der Einstellung der Pause zwischen zwei aufeinanderfolgenden Datenpaketen zu beachten, dass folgende Beziehung eingehalten wird : N'Tpi < Tpmax Das heißt im Falle einer Pausenerhöhung muss das Produkt aus der Summe aus der aktuell eingefügten Pause und der gewählten Pausenerhöhung einerseits und der Anzahl der Datenpakete zwischen zwei aufeinanderfolgenden FIFO-Leerläufen andererseits kleiner sein als die im Falle einer

Pausenerhöhung bei einem FIFO-Leerlauf zwischen den Datenpaketen auftretende größte Pause. Bei dem in Figur 2 dargestellten Beispiel bedeutet dies, dass gelten muss : N TP2 < Tpmax mit TP2 = Tel + ATp Dabei bezeichnet ATp die gewählte Pausenerhöhung ausgehend von der aktuell eingefügten Pause Tp1.

In Figur 2 ist dargestellt, wie im Falle eines FIFO-Leerlaufs nach Ablauf der durch den FIFO-Leerlauf bedingten zusätzlichen Pause TFE der Wert der aktuell eingefügten Pause Tp1 inkrementiert wird, um einen neuen Wert Tp2 für die zwischen die Datenpakete eingefügte Pause zu erhalten (vgl. den in Figur 2 dargestellten Signalverlauf INC).

Bei der Wahle eines neuen Pausenwerts ist es sinnvoll, eine bestimmte Reserve zu berücksichtigen, um sicherzustellen, dass der FIFO-Speicher 1 sicher immer leerläuft, nicht überlaufen kann und zudem eine bestimmte maximale Pause Tpmax nicht unterschritten wird. Für das in Figur 2 dargestellte Beispiel muss demnach gelten : N Tp2 + TRes < Tpmax Dabei bezeichnet TRes die bei der Erhöhung des Pausenwerts zu berücksichtigende Reserve.

Wird die bei der Datenpaketausgabe zwischen zwei aufeinanderfolgenden Datenpaketen eingefügte Pause infolge einer Pausenerhöhung größer als die Dauer eines ausgegebenen Datenpakets, kann die FIFO-Steuerung 2 die Datenausgabe- Taktfrequenz reduzieren, insbesondere halbieren (bzw. um den Faktor 2 verringern). In diesem Fall muss die FIFO-Steuerung 2 jedoch die zuvor beschriebene Regelschleife mit der

adaptiven Datenratenanpassung, welche im Prinzip einer adaptiven Anpassung der Pause Tp zwischen zwei aufeinanderfolgenden Datenpaketen entspricht, von vorne starten, um eine optimale Datenratenanpassung gewährleisten zu können.

Bei dem in Figur 1 dargestellten Ausführungsbeispiel werden die aus dem FIFO-Speicher 1 ausgelesenen Daten DOUT einer Ausgabeschnittstelle 3 zugeführt, welche von der FIFO- Steuerung 2 über ein Steuersignal OC ("Out Control") angesteuert wird. Diese Ausgabeschnittstelle 3 kann eine Umsetzung in ein vorgegebenes Datenformat oder-falls dies erforderlich sein sollte-auch eine Parallel/Seriell- Umsetzung der ausgegebenen Daten Dour vornehmen. Dabei kann über das Steuersignal OC der Ausgabeschnittstelle 3 mitgeteilt werden, wann die Daten tatsächlich ausgegeben werden sollen.

Wie aus der Darstellung von Figur 2 ersichtlich ist, wird für den Fall, dass die Eingangsdaten DIN beispielsweise in Form von MPEG-Datenpaketen vorliegen, mithilfe der vorliegenden Erfindung ein Herausfiltern von sogenannten Frames, welche mehrere MPEG-Datenpakete umfassen, erzielt. Auf diese Weise kann die eingangs beschriebene"Guard Period"oder Schutzzeit eliminiert bzw. herausgeglättet werden.

Allgemein ist die vorliegende Erfindung somit grundsätzlich überall dort bevorzugt zum Einsatz geeignet, wo spezielle Frames herausgefiltert werden sollen, um die daraus resultierenden Daten anschließend beispielsweise mit einer geringeren Datenrate zu verarbeiten, so dass eine"Buffer- Filter-Datenratenanpassung"realisiert werden kann.