-
TECHNISCHES GEBIET DER ERFINDUNG
-
Diese
Erfindung bezieht sich im Allgemeinen auf das Gebiet von Datenkommunikationen,
und insbesondere auf eine Komprimierung von Zellen-Dateiköpfen zur
Datenkommunikation.
-
HINTERGRUND DER ERFINDUNG
-
Da
Kommunikationsanforderungen zunehmen, wurde eine Datenkommunikationstechnik
immer wichtiger. Ein Nachteil im Zusammenhang mit bekannten Datenkommunikationssystemen
ist die Unwirksamkeit zum Übertragen
von einer Information über
Satellitenausstrahlungssysteme. Da sich die Technologie fortentwickelt
hat, wurden die Berechnungskosten zum Einkapseln von Daten für eine Satellitenübertragung
wesentlich reduziert, Satellitenkommunikationskosten, welche in
Dollar pro Bit gemessen werden, haben dies jedoch nicht. Daraus
folgend sind bekannte Datenkommunikationstechnologien für viele
Verwendungen nicht zufriedenstellend. Ein Weg darin, um Kosten auszugleichen,
liegt in Komprimierungstechniken. Eine beispielhafte Komprimierungstechnik
ist in der
US 6084888 gezeigt,
bei welcher Daten mit spezifischen Kennungen unterschiedlich komprimiert
werden. Jedoch ist dieser Typ von Komprimierungstechnik komplex.
-
UMRISS DER ERFINDUNG
-
Gemäß der vorliegenden
Erfindung werden Nachteile und Probleme im Zusammenhang mit Datenkommunikationstechniken
reduziert oder beseitigt.
-
Gemäß einem
Beispiel von der vorliegenden Erfindung ist ein Verfahren einer
Zellen-Dateikopf-Komprimierung
offenbart. Es wird eine Mehrzahl von Zellen empfangen. Eine Zelle
enthält
einen Zellen-Dateikopf und eine Nutzlast. Die Zellen werden gemäß den Zellen-Dateiköpfen sortiert.
Ein Komprimierungs-Steuerblock wird erzeugt, welcher die Zellen-Dateiköpfe und
eine Anordnung der Nutzlasten gemäß den Zellen-Dateiköpfen beschreibt.
Die Nutzlasten werden gemäß der Anordnung
zusammengesetzt. Es wird ein Datagramm mit dem Komprimierungs-Steuerblock
und den zusammengesetzten Nutzlasten erzeugt.
-
Bestimmte
Beispiele von der Erfindung können
einen oder mehrere technische Vorteile bereitstellen. Ein technischer
Vorteil von einem Beispiel kann sein, dass Zellen-Dateiköpfe komprimiert
werden, welches die Wirksamkeit von einer Satellitenkommunikation
erhöhen
kann. Eine Komprimierung von Zellen-Dateiköpfen kann die Wirksamkeit von
einer Satellitenkommunikation verbessern, indem die Menge an über den
Satelliten zu übertragenen
Daten verringert wird. Ein weiterer technischer Vorteil von einem
Beispiel kann sein, dass eine Zellen-Dateikopf-Komprimierung mit dem Digital Video
Broadcast (DVB) Standard konform ist, und somit mit bestehender
DVB-Hardware konform ist. Ein weiterer technischer Vorteil von einem
Beispiel kann sein, dass eine asymmetrische Komprimierungsverarbeitung
verwendet wird, welche eine Berechnungs-Arbeitslast für den Empfänger reduzieren
kann. Die Menge von Berechnungs-Arbeitslast kann durch den Übertrager,
anstelle durch den Empfänger,
durchgeführt
werden. Ein Vorteil kann sein, dass Empfänger kleine Computer mit einem kleineren
physikalischen Volumen und Gewicht enthalten können. Ein weiterer technischer
Vorteil von einem Beispiel ist, dass die Übertrager-Arbeitslast reduziert werden kann, indem
unnötige Übergänge zwischen
Komprimierungsprozeduren vermieden werden. Das Beispielsystem kann
versuchen in einem Zustand zu verbleiben, bei welchem eine bestimmte
Komprimierungsprozedur zur Komprimierung von Zellen-Dateiköpfen zuvor erfolgreich
erprobt wurde.
-
Ein
weiterer technischer Vorteil, welcher durch ein Beispiel bereitgestellt
wird, kann sein, dass Zellen-Dateiköpfe von verschlüsselten
Daten komprimiert werden können.
Hochgeschwindigkeits-Verschlüsseler können dazu
verwendet werden, um Zellen zu verschlüsseln, müssen jedoch den Zellen-Dateikopf
intakt belassen. Weil es keinen Vorteil beim Komprimieren der verschlüsselten
Nutzlast geben kann, kann ein Mittel zum Verbessern einer Übertragungswirksamkeit
im Komprimieren der Zellen-Dateiköpfe liegen.
-
Weitere
technische Vorteile werden dem Fachmann anhand der Figuren, Beschreibungen
und hier enthaltenen Ansprüche
deutlich. Keines, einige oder alle der Beispiele können technische
Vorteile bereitstellen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Für ein vollständigeres
Verständnis
der vorliegenden Erfindung und ihrer Merkmale und Vorteile wird nun
Bezug auf die folgende Beschreibung, welche in Zusammenhang mit
den begleitenden Zeichnungen genommen ist, genommen, in welchen:
-
1 ein
Beispielsystem zum Komprimieren von Zellen-Dateiköpfen darstellt;
-
2 ein
Beispielverfahren zum Organisieren von Zellen gemäß im Wesentlichen ähnlichen
Zellen-Dateiköpfen
zur Komprimierung darstellt;
-
3 ein
Beispiel von einem 3-Byte Komprimierungsmodul darstellt;
-
4 ein
Beispiel zum Organisieren von Zellen innerhalb von Komprimierungs-Puffern
darstellt;
-
5 ein
Beispielverfahren zum Verwenden des Systems von 1 zum
Komprimieren von Zellen-Dateiköpfen
darstellt; und
-
6 ein
Beispielverfahren zum Verwenden des Systems von 1 zum
Dekomprimieren von Zellen-Dateiköpfen
darstellt.
-
GENAUE BESCHREIBUNG DER ZEICHNUNGEN
-
1 stellt
ein Beispielsystem 10 zum Komprimieren von Zellen-Dateiköpfen dar.
Das System 10 enthält
einen Sortierer 12, welcher Zellen 14 von einem
Schalter 16 empfängt.
Der Sortierer 12 kann dazu betriebsbereit sein, um Zellen
gemäß den Zieladressen
von den Zellen-Dateiköpfen
zu sortieren, und um ein geeignetes Modul zur Komprimierung zu bestimmen.
Diese Bestimmung kann durch ein Zählen der Anzahl von Zellen
mit im Wesentlichen ähnlichen
Zellen-Dateiköpfen
und ein Auswählen
eines Komprimierungsmoduls zum Optimieren der Komprimierung vorgenommen
werden. Ein Datagramm, welches einen Komprimierungs-Steuerblock
(CCB) enthält, kann
dann durch das geeignete Komprimierungs-Modul erzeugt werden. Das
Datagramm wird an einen Empfänger 26 übertragen.
-
Das
System 10 kann einen Abschnitt eines ATM-Netzwerks enthalten.
Ein ATM-Netzwerk enthält
zumindest einen ATM-Schalter und ein Daten-Anschluss-Equipment (DTEs).
Die DTEs werden physikalisch mit einem ATM-Netzwerk-Schalter verbunden
und können
einen oder mehrere Netzwerknutzer mit permanenten oder geschalteten
virtuellen Schaltungen unterstützen.
Beispielsweise kann ein ATM-Netzwerk einen wie in 1 dargestellten
Schalter 16 enthalten. Ein ATM-Schalter ist für jeden
Zellenübergang
durch das Netzwerk durch das Lesen von eingehenden Zellen, Aktualisieren
einer Zellen-Dateikopf-Information und Schalten der Zellen an eine
Ausgangsschnittstelle zu ihrem Ziel verantwortlich. Ein ATM-Schalter
unterstützt
zwei primäre Typen
von Schnittstellen: eine Benutzer-zu-Netzwerk-Schnittstelle (UNI)
und eine Netzwerk-zu-Netzwerk-Schnittstelle
(NNI). Eine UNI ist ein Schnittstellenpunkt zwischen ATM-Endnutzern
und einem privaten ATM-Schalter oder zwischen einem privaten ATM-Schalter
und dem öffentlichen
ATM-Netzwerk. Eine NNI ist ein Schnittstellenpunkt zwischen ATM-Schaltern,
welche als die Schnittstelle zwischen zwei Netzwerkknoten bestimmt
sind. Ein ATM-Netzwerk kann als eine „Wolke" angezeigt werden, wobei die Nutzerdaten
dem Netzwerk an einem Ende von der Wolke dargelegt werden. Die Daten
müssen
durch die Wolke während
einer Übertragung
an den Empfänger
reisen. Der Empfänger
kann am anderen Ende von der Wolke oder sogar außerhalb der Wolke angezeigt
werden. In dem dargestellten Beispiel kann sich der Schalter 16 an
der Kante von einer ATM-Wolke befinden, und der Empfänger 26 kann
außerhalb
von der Wolke sein. Somit kann die ATM-Schnittstelle am Schalter
eine UNI enthalten. Zusätzlich
kann das System 10 innerhalb einer permanent virtuellen
Schaltung (PVC) enthalten sein, welches eine direkte Verbindungsfähigkeit
zwischen Orten erlaubt.
-
Die
ATM-Zellen können
in ein offenes ISO Multi-Protocol Encapsulation (MPE) Datagramm
zur Übertragung über eine
Kommunikationsverbindung, welche die globalen Ausstrahlungsdienst
(Global Broadcast Service GBS) Satellitenverbindungen enthält, gepackt
werden. Das GBS-Grund-Segment
verwendet ATM-Zellen als die unterliegenden Datenübertragungseinheiten
für Ausstrahlungen.
Weil die ATM-Zellen in ein MPE-Datagramm gepackt werden können, kann
das System 10 mit dem Digital Video Broadcast (DVB) Standard
komplementär
sein. Der DVB-Standard ist ein Standard für die Zuführung von digitalen Kommunikationen,
wie beispielsweise digitale Fernseh- und Datendienste. Der öffentlich
bekannt gegebene Standard ist von der International Organisation
for Standardisation/International Electro Technical Commission Family
of Standards.
-
In
dem dargestellten Beispiel können
Zellen 14 jene ATM-Zellen enthalten, welche in ihrer Länge 53 Byte
betragen. Der erste Abschnitt von der Zelle enthält einen 5-Byte Zellen-Dateikopf.
Die verbleibenden Bytes machen die Nutzlast aus. Demgemäß kann eine
Zelle 14 gleich 48 Byte Nutzlast enthalten. Die Zellen 14 können jedoch
jeglichen geeigneten Typ und Größe von Zelle
enthalten. Der 5-Byte Zellen-Dateikopf enthält eine Zieladresse in der
Form von Adressbits. Die Adress- und
Steuerbits von Zellen von einer UNI-Schnittstelle kann eine allgemeine
Flusssteuerung (Generic Flow Control GFC), eine virtuelle Pfad-Kennung
(Virtual Path Identifier VPI), eine virtuelle Kanalkennung (Virtual
Channel Identifier VCI), einen Nutzlasttyp (Payload Type PT), eine
Zellverlust-Priorität
(Cell Loss Priority CLP) und eine Dateikopf-Fehler-Steuerung (Header
Error Control HEC) enthalten. Die allgemeine Flusssteuerung stellt
lokale Funktionen bereit, wie beispielsweise ein Identifizieren
von mehreren Stationen, welche eine einzelne ATM-Schnittstelle gemeinsam
benutzen. Dieses Feld wird typischerweise nicht verwendet und kann
auf seinen Vorgabewert eingestellt werden. Die virtuelle Pfadkennung
und die virtuelle Kanalkennung identifizieren das nächste Ziel
einer Zelle 14, wenn die Zelle 14 durch eine Folge
von ATM-Schaltern 16 passiert, wenn sie sich an ihr Ziel
bewegt. Der Nutzlasttyp zeigt im ersten Bit an, ob die Zelle 14 Benutzerdaten
oder Steuerdaten enthält.
Die Zellverlust-Priorität
zeigt an, ob die Zelle 14 verworfen werden sollte, wenn
die Zelle 14 einer extremen Verstopfung gegenübersteht,
wenn sie sich durch das Netzwerk bewegt, und die Dateikopf-Fehler-Steuerung
berechnet eine Prüfsumme über den
Dateikopf selber, welches die Unversehrtheit des Zellen-Dateikopfes
garantiert. Der Zellen-Dateikopf kann jedoch jeglichen geeigneten
Typ von Information enthalten.
-
Die
Dateikopf-Bytes sind typischerweise bei Zellen innerhalb einer permanent
virtuellen Schaltung redundant. Wenn sich beispielsweise der Schalter 16 an
der Kante von einer ATM-Wolke befindet, können sogar Zellen mit unterschiedlichen
Zieladressen im Wesentlichen den gleichen Zellen-Dateikopf haben. Beispielsweise, da
die virtuellen Pfadkennungs- und die virtuellen Kanalkennungs-Bits
das nächste
Ziel für
Zellen 14 bestimmen, sind drei Bytes von einem 5-Byte Zellen-Dateikopf für Zellen 14 mit
einer vorgegebenen permanenten virtuellen Schaltungsadresse redundant.
Bei einem typischen Ausstrahlungs-Satellitensystem, wie beispielsweise
das globale Ausstrahlungs-System (GBS) ist es üblich, weniger als eine Handvoll
von virtuellen Pfad-Kennungen als Eingabe zu haben. Das Satelliten-Ausstrahlungssystem
kann die externen virtuellen Pfad-Kennungen auf eine einzelne virtuelle
Pfad-Kennung (welches die virtuelle Pfad-Kennung gleich Null gestaltet)
zur Übertragung
an ihre Empfänger
neu abbilden. Somit gibt es wenige virtuelle Pfad-Kennung-Übertragungen,
und können
durch Neuabbildung auf Null reduziert werden. Als ein weiteres Beispiel,
braucht das Dateikopf-Fehler-Steuerungsfeld nicht über die
UNI für
jede Zelle 14 übertragen
zu werden. Es kann anstelle dessen durch den Empfänger 26 neu
aufgebaut werden.
-
In
einem 5-Byte Zellen-Dateikopf überlassen
dies lediglich die allgemeinen Flusssteuerungs-, Nutzlast-Typ- und
Zellverlust-Priorität-Bits
für jede
Zelle 14 eindeutig. Demgemäß kann die Zelle 14 mit
im Wesentlichen ähnlichen
Dateiköpfen
eine gemeinsame allgemeine Flusssteuerung, virtuelle Kanal-Kennung,
virtuelle Pfad-Kennung, Nutzlast-Typ und Zellverlust-Priorität gemeinsam
benutzen. Aufgrund der Redundanz von diesen Adressbits in den Zellen 14 innerhalb
einer permanent virtuellen Schaltung kann gesagt werden, dass die Zellen 14 im
Wesentlichen ähnliche
Zieladressen haben, und zwar sogar dann, wenn der aktuelle Endempfänger unterschiedlich
ist. In weiteren Beispielen können
Zellen 14-Dateiköpfe
gemeinsame Eigenschaften teilen, ohne identisch zu sein. Im Wesentlichen ähnliche
Zellen 14-Dateiköpfe
können
ebenfalls Zellen mit gemeinsamen Eigenschaften enthalten.
-
Ein
Sortierer 12 ist dazu betriebsbereit, um die Zellen 14 von
dem Schalter 16 zu empfangen, die Zellen 14 in
Gruppen mit im Wesentlichen ähnlichen
Zellen-Dateiköpfen
organisieren. Die Anzahl von Gruppen zeigt die Anzahl von Übertragungen
an, für
welche der Komprimierungs-Steuerblock
Rechnung tragen kann. Der Sortierer 12 kann dann diese Übergangs-Zählungen
dazu verwenden, um zu bestimmen, an welches Komprimierungs-Modul
die Zellen 14 weitergeleitet werden sollen. Der Sortierer 12 und
die Komprimierungs-Module können
in einem DVB-Verkapseler 13 enthalten
sein.
-
Der
Sortierer 12 ist ebenfalls dazu betriebsbereit, um die
Anzahl von Zellen 14 innerhalb von jeder Gruppe zu zählen. Die
Zellen 14 können
zusammen in Puffer organisiert werden, um später zu einem Datagramm komprimiert
zu werden. Wie in einem Beispiel des GBS verwendet, hat ein Datagramm
eine Länge
von 4.080 Byte. Diese Länge
ist typisch für
viele Kommunikationsanwendungen und entspricht dem Digital Video Broadcast
(DVB) Standard. Im Allgemeinen können
76 unkomprimierte Zellen 14 innerhalb einer 4.080-Byte Sektion
organisiert werden. Jedoch können
85 Nutzlasten, wobei jede 48 Bytes enthält, in eine 4.080-Byte Sektion
passen. Wenn die erste Nutzlast in einer 4.080-Sektion dazu verwendet
wird, um den Komprimierungs-Steuerblock zu speichern, kann ein Maximum
von 84 ATM Zellen-Nutzlasten in der 4.080-Byte Sektion gespeichert
werden. Somit können
komprimierte Zellen-Dateiköpfe
es in einem Beispiel erlauben, dass 84 Nutzlasten in einem verkapselten
Datagramm 92 organisiert werden. Der Sortierer 12 kann
einen Gesamtlauf der Zellen 14 am Schalter 16 beibehalten.
Wenn 84 gesamte Zellen in den Puffern eingesammelt sind, werden die
Daten-Nutzlasten in dem Datagramm 28, 30, 32, 34 und 36 laufwegepaketiert.
-
Das
durch das Komprimierungs-Modul erzeugte Datagramm kann einen Komprimierungs-Steuerblock (CCB)
enthalten. Die Inhalte des Komprimierungs-Steuerblocks (CCB) können in
Abhängigkeit
von dem durch den Sortierer 12 ausgewählten Modul variieren. Wie
zuvor erwähnt,
kann der Sortierer 12 die Anzahl von Zellen 14 zählen, welche ähnliche
Adressen enthalten, und die Zellen in Gruppen organisieren. Der
Sortierer 12 kann dann diese Übergangs-Zählungen dazu verwenden, um
zu bestimmen, an welches Komprimierungs-Modul die Zellen 14 weitergeleitet
werden sollen. In dem dargestellten Beispiel enthält das System 10 ein
3-Byte Dateikopf (3BH)-Modul 18,
ein 4-Byte Dateikopf (4BH)-Modul 20, ein 5-Byte Dateikopf
(5BH)-Modul 22 und ein Halb-Byte Dateikopf (1/2BH)-Modul 24.
Wie später
detaillierter beschrieben, können
die Komprimierungs-Module 18, 20, 22 und 24 dann
Zellen 14 in den entsprechenden CCB komprimieren. Die Komprimierungs-Module 18, 20, 22 und 24 unterscheiden
sich voneinander gemäß der Anzahl
von Bytes des Dateikopfs, welcher für jede Zelle 14 in
dem entsprechenden CCB gespeichert werden kann. Jedes Komprimierungs-Modul 18, 20, 22 und 24 wird
geeigneterweise bezeichnet. Beispielsweise speichert das 5BH Modul 22 5
Bytes von einer Dateikopf-Information für jede Zelle 14 innerhalb
des CCB, und das 4BH Modul 20 speichert 4 Bytes von einer
Dateikopf-Information
für jede
Zelle 14 innerhalb des CCB. Die Komprimierungs-Module können jedoch
dazu konfiguriert sein, um jegliche geeignete Anzahl von Bytes oder
jeglichen geeigneten Abschnitt des Dateikopfs zu speichern.
-
Die
5BH Modul 22, 4BH Modul 20, 3BH Modul 18 und
1/2BH Modul 24 Komprimierungsverfahren können eine
maximale Komprimierungswirksamkeit innerhalb ihrer jeweiligen Übergangsbeschränkungen
erzielen. Je größer der
zu speichernde Dateikopf ist, desto weniger können die Übergänge in ein Datagramm komprimiert
werden. Beispielsweise kann die Maximalanzahl von Übergängen, welche
das 3BH Modul 18 unterbringen kann, gleich 11 betragen.
Das 4BH Modul 20 und 5BH Modul 22 können weniger
ATM-Dateikopf Übergänge unterbringen,
nämlich
jeweils maximal 9 und 7 Übergänge. Indem
zwischen den unterschiedlichen Komprimierungs-Modulen unterschieden
wird und die Zellen an das geeignete Modul weitergeleitet werden, kann
der Sortierer eine maximale Komprimierungswirksamkeit erzielen.
-
Wie
zuvor erwähnt,
kann jedes Modul ein Datagramm insbesondere für das Modul erzeugen. Beispielsweise
organisiert das 5BH-Komprimierungs-Modul 22 die Zellen 14 in
einem 5BH Da tagramm 28. Ähnlich organisiert das 4BH
Modul 20 die Zellen in einem 4BH Datagramm 30,
und das 3BH Modul 18 organisiert die Zellen 14 in
einem 3BH Datagramm 32. Das 1/2BH Datagramm 34 entspricht
dem 1/2BH Modul 24. Das Datagramm wird an den Empfänger 26 gesendet
und von diesem empfangen. Jedes Datagramm enthält einen Komprimierungs-Steuerblock
(CCB) zum Speichern einer komprimierten Dateikopf-Information. Der
CCB kann beispielsweise 48 Bytes einer Dateikopf-Information enthalten.
Die Inhalte des CCB variieren in Abhängigkeit von dem Komprimierungs-Schema,
welches durch das durch den Sortierer 12 ausgewählte Modul durchgeführt wird.
-
Unabhängig vom
verwendeten Komprimierungs-Modul, sind, gemäß einer Ausführungsform,
die ersten vier Bytes von einem CCB im MPE-Dateikopf enthalten.
Der MPE-Dateikopf speichert eine Dateikopf-Information, welche auf
die zugehörigen
Nutzlasten anwendbar ist. Somit enthalten die ersten vier Bytes
von jedem CCB die allgemeine Flusssteuerung, die virtuelle Pfad-Kennung,
die virtuelle Kanal-Kennung, den Nutzlast-Typ und die Zellverlust-Priorität, welche
auf das MPE-Datagramm
anwendbar sind, als eine Gesamtheit. Das fünfte Byte kann für die Komprimierungs-Modus-Kennung reserviert
werden. Die Komprimierungs-Modus-Kennung enthält ein Kennzeichen, welches
anzeigt, ob die komprimierten Zellen in einem 5BH-, 4BH-, 3BH- oder
1/2BH-Zustand sind.
Eine Komprimierungs-Modus-Kennung gleich Null kann anzeigen, dass
ein Datagramm unkomprimiert ist. Mit der Ausnahme des 5BH CCB 28,
können
die folgenden drei Bytes für
eine weitere Information reserviert werden.
-
Für jeden Übergang
wird ein Byte dazu verwendet, um eine Zellen-Zählung zu speichern. Die Zellen-Zählung zeigt
die Anzahl von Nutzlasten in Zusammenhang mit dem Übergang
an. Unterschiedlich angegeben, zeigt die Zellen-Zählung die
Anzahl von Nutzlasten mit im Wesentlichen ähnlichen Zellen-Dateiköpfen und
die Anzahl von Nutzlasten, welche sequenziell in dem Datagramm gespeichert
werden können,
an welches dieser bestimmte Dateikopf angehängt werden sollte, an. Beispielsweise
kann ein 5BH CCB 28 ein Maximum von 7 Vorgängen oder
ein Maximum von 7 unterschiedlichen Gruppierungen von Zellen mit
im Wesentlichen ähnlichen
Zellen-Dateiköpfen haben.
Daraus folgend, innerhalb eines 5BH CCB 28, können 7 unterschiedliche
Bytes dazu verwendet werden, um die Zellen-Zählung für jeden der 7 unterschiedlichen Übergänge zu speichern.
Alle verbleibenden Bytes des 48-Byte CCB können dazu verwendet werden,
um die Dateikopf-Information zu speichern. Somit können in
einem 5BH CCB 28 35 Bytes dazu verwendet werden, um die Dateikopf-Information
zu speichern.
-
Der
Typ von Dateikopf-Information und die Anzahl von Bytes, welche dazu
verwendet werden, um die Dateikopf-Information für einen Übergang zu speichern, hängen von
dem Komprimierungs-Modul ab, welches durch den Sortierer
12 ausgewählt ist.
Beispielsweise speichert der 5BH CCB 5 Bytes einer Dateikopf-Information
für jeden Übergang.
Die Bytes können
beispielsweise die Allgemeine Flusssteuerung (GFC), die virtuelle
Kanal-Kennung (VCI), die virtuelle Pfad-Kennung (VPI), den Nutzlast-Typ (PT),
die Zellverlust-Priorität (CLP)
und die Dateikopf-Fehler-Steuerung
(HEC) für
den Übergang
enthalten. Die Bytes, welche eine Dateikopf-Information für den ersten Übergang
in einen 5BH CCB
28 speichern, können die Form annehmen, wie in
TABELLE 1 beschrieben: TABELLE 1
Index
Eintrag | Bytetyp | 5BH-Beschreibung |
7 | Übergang
A Dateikopf | GFC/obere
Hälfte
VPI |
8 | Übergang
A Dateikopf | Untere
Hälfte
VPI/oberer Teil VCI |
9 | Übergang
A Dateikopf | VCI |
10 | Übergang
A Dateikopf | Unterer
Teil VCI/PT/CLP |
11 | Übergang
A Dateikopf | HEC |
-
Die
Komprimierungs-Steuerblöcke
(CCB), welche mit den weiteren Komprimierungs-Modulen in Zusammenhang
stehen, können
sich etwas von einer 5BH CCB
28 unterscheiden. Eine 4BH
CCB kann 4 Bytes einer Information für jeden Übergang speichern. Wie oben
beschrieben, ist es nicht notwendig, dass Dateikopf-Fehler-Steuerung
(HEC)-Bytes in einem 4BH CCB
30, einem 3BH CCB
32 oder
einem 1/2BH CCB
34 zu speichern. In einigen Situationen
wird ein Beseitigen des HEC-Bytes nicht im Wesentlichen die Integrität des Systems ändern oder
gefährden.
Somit können
Bytes, welche eine Dateikopf-Information speichern, für den ersten Übergang
in einen 4BH CCB
30 die Form annehmen, wie in TABELLE 2
beschrieben: TABELLE 2
Index
Eintrag | Bytetyp | 4BH-Beschreibung |
10 | Übergang
A Dateikopf | GFC/obere
Hälfte
VPI |
11 | Übergang
A Dateikopf | Untere
Hälfte
VPI/oberer Teil VCI |
12 | Übergang
A Dateikopf | VCI |
13 | Übergang
A Dateikopf | Unterer
Teil VCI/PT/CLP |
-
Das
3BH CCB 32 speichert 3 Bytes an Information für jeden Übergang.
Die Bytes, welche eine Dateikopf-Information für den ersten Übergang
in einem 3BH CCB 32 speichern, können ähnlich dem 4BH CCB 32 oben
aussehen, mit der Ausnahme, dass das Byte ausgenommen ist, welches
die GFC/obere Hälfte
VPI speichert. Demgemäß kann eine
Beschränkung
des 3BH CCB 32 derart sein, dass die GFC-Bits und der obere Abschnitt
des VPI Null sein müssen.
-
Das
1/2BH CCB
34 speichert lediglich ein halbes Byte an Information
für jeden Übergang.
Das gespeicherte halbe Byte enthält
lediglich die Zählung
von Zellen, welche folgen, und die PT/CLP-Dateikopf-Information. Somit kann eine
Beschränkung
des 1/2BH CCB derart sein, dass lediglich die PT- und CLP-Bits variieren können. Die
Bytes, welche die Dateikopf-Information für die ersten vier Übergänge in einem
4BH CCB
30 speichern, können
die Form annehmen, wie in TABELLE 3 beschrieben: TABELLE 3
Index
Eintrag | Bytetyp | 1/2BH-Beschreibung |
9 | Übergang
A Dateikopf | Zählung (4)/PT
CLP (4) |
10 | Übergang
B Dateikopf | Zählung (4)/PT
CLP (4) |
11 | Übergang
C Dateikopf | Zählung (4)/PT
CLP (4) |
12 | Übergang
D Dateikopf | Zählung (4)/PT
CLP (4) |
-
Der
CCB wird detaillierter mit Bezug auf 4 diskutiert.
Bytes sind lediglich aus Beispielsgründen oben als organisiert dargestellt.
Es wird erkannt, dass der Fachmann die Bytes und die Information
innerhalb der Bytes auf jegliche geeignete Weise organisieren kann.
-
Das
System 10 kann einen Vorteil aus der wiederholten Natur
der Diagramme ziehen. Wenn die Zellen in einem Datagramm im Wesentlichen ähnliche
Zellen-Dateiköpfe
enthalten, können
viele der gespeicherten Dateikopf-Bytes für jede Zelle wiederholend sein.
Der Ausdruck „jedes", wie in diesem Dokument
verwendet, bedeutet jedes Teil von einem Satz oder jedes Teil von
einem Teilsatz des Satzes. Wenn mehrere Zellen in einem Datagramm
paketiert werden, brauchen Dateikopf-Bytes, welche bei jeder Zelle wiederholend
sind, lediglich einmal gespeichert zu werden. Daraus folgend wird
eine Datenkommunikation wirksamer erstellt, indem die Anzahl von
einer Information, welche über
den Satelliten läuft,
verringert wird. Vorherige Annäherungen einer
ATM-Übertragung
versagen darin, der wiederholenden Natur, auf welche Zellen-Dateiköpfe innerhalb
eines Datagramms auftauchen, Rechnung zu tragen.
-
Zusätzlich kann
das System 10 eine wirksame Komprimierung von verschlüsselten
Daten erlauben. Aus Sicherheitsgründen kann der Nutzlast-Abschnitt
von Zellen vor einer Übertragung
verschlüsselt
werden. In einem Beispiel einer Verschlüsselung werden die Daten durch
eine von dem Menschen nicht lesbare Folge von Einsen und Nullen
oder „weißem Rauschen" ersetzt. Eine Verschlüsselung
der Zellen-Nutzlast hinterlässt jedoch
keine Daten hinter sich, welche zur Komprimierung fähig sind.
Das System 10 komprimiert den Zellen-Dateikopf, welches
eine wirksame Komprimierung von verschlüsselten Daten bereitstellen
kann.
-
2 stellt
ein Beispielverfahren zum Organisieren von Zellen gemäß im Wesentlichen ähnlichen
Zellen-Dateiköpfen
zur Komprimierung dar. Gemäß dem Beispiel
kann der Sortierer 12 Zellen gemäß im Wesentlichen ähnlichen
Zellen-Dateiköpfen
zur Komprimierung organisieren, indem das geeignete Komprimierungs-Modul 18, 20, 22 oder 24 aus
Gründen
einer minimalen Berechnungs-Arbeitslast für den Empfänger 26 ausgewählt wird.
Der Sortierer 12 und die Komprimierungs-Module 18, 20, 22 und 24 können in
einem DVB-Verkapseler 13 enthalten sein. Das Verfahren
beginnt am 5BH Modul 22. Wie mit Bezug auf 1 diskutiert,
kann das 5BH Modul 22 7 oder weniger Übergänge oder Gruppen unterbringen.
Somit, wenn der Sortierer 12 bestimmt, dass die Übergangs-Zählung gleich
7 oder weniger Übergänge ist,
sammelt der Sortierer 12 die Zellen 14 ein und überträgt sie an
das 5BH Modul 22. Die Zellen 14 können dann
durch das 5BH Modul 22 zur Übertragung an den Empfänger 26 organisiert
und komprimiert werden.
-
Alternativ
kann der Sortierer 12 bestimmen, dass mehr als 7 Übergänge für die Zellen 14 auftreten.
Da eine 5BH Modul 22-Komprimierung unzureichend wäre, kann
der Sortierer 12 das 5BH Modul 22 überbrücken, um
die Anwendbarkeit des 4BH Moduls 20 zu bestimmen. Wie zuvor
angegeben, kann das 4BH Modul 20 9 oder weniger Übergänge handhaben.
Somit, wenn der Sortierer 12 bestimmt hat, dass die Zellen 14 mehr
als 7 Übergänge haben, überträgt der Sortierer 12 die
Zellen 14 an das 4BH Modul 20 bei Schritt 42.
Die Zellen 14 können
dann zur Übertragung
an den Empfänger 26 organisiert
und komprimiert werden.
-
Wenn
mehr als 9 Übergänge in einer
eingehenden Zelle auftreten, kann der Sortierer die 4BH Modul 20-Komprimierung
bei Schritt 44 überbrücken und
eingehende Zellen 14 an das 3BH Modul 18 übertragen. Das
3BH Modul 18 kann maximal 11 Übergänge komprimieren. Somit, wenn
die Zellen 14 in 11 oder weniger Übergänge gruppiert werden können, können die
Zellen 14 am 3BH Modul 18 verbleiben. Die Zellen 14 können dann
durch das 3BH Modul 18 zur Komprimierung und Übertragung
an den Empfänger 26 organisiert
werden.
-
Wenn
mehr als 11 Übergänge vorliegen,
kann der Sortierer 12 das 3BH Modul 18 überbrücken, um eine
1/2BH Modul 24 Komprimierung vorzunehmen. Das 1/2BH 24 Komprimierungs-Modul
kann maximal 40 Übergänge unterbringen.
Wenn die Zellen 14 innerhalb von 40 Übergängen gruppiert werden können, kann der
Sortierer 12 die Zellen 14 organisieren und sie
bei Schritt 46 an das 1/2BH Modul 24 übertragen.
Das 1/2BH Modul 24 speichert jedoch weniger Zellen-Dateikopf-Information
als das 5BH Modul 22, 4BH Modul 20 oder 3BH Modul 18.
Wie zuvor bezogen auf 1 diskutiert, kann das 1/2BH
Modul 24 zusätzliche
Beschränkungen
enthalten, welche eine Komprimierung aufhalten können.
-
Wenn
der Sortierer bestimmt, dass die eingehenden Zellen 14 nicht
derart gruppiert werden können, dass
eine 5BH Modul 22-, 4BH Modul 20-, 3BH Modul 18-
oder 1/2BH Modul 24-Komprimierung
erfolgreich sein würde,
tritt das System in eine Ausnahmeverarbeitung ein. Die Zellen 14 werden
bei Schritt 47 in ein unkomprimiertes Datagramm 38 organisiert
und in einem unkomprimierten Zustand 38 an den Empfänger 26 gesendet.
Das Verfahren kehrt dann zum Beginn zurück, wobei der Sortierer 12 zunächst versucht,
eingehende Zellen 14 in ein 5BH-Komprimierungs-Modul 22 zu
organisieren. Die Zellen 14 können sich über Schritte 40–47 fortsetzen,
wie oben beschrieben, bis die Zellen 14 übertragen
sind.
-
In
einer weiteren Ausführungsform
und in Anbetracht der wiederholenden Natur eines Datenstrom-Inhalts
kann das Komprimierungsverfahren eine Übertrager-Berechnungs-Arbeitslast
reduzieren, indem unnötige Übergänge zwischen
Komprimierungs-Schemata vermieden werden. Sobald der Sortierer 12 erkannt
hat, dass eingehende Zellen 14 für ein bestimmtes Komprimierungs-Modul am besten geeignet
sind, kann der Sortierer 12 versuchen, die nächste Gruppierung
von Zellen 14 in das gleiche Komprimierungs-Modul zu platzieren.
Somit kann der Sortierer 12 versu chen, in einem zuvor erfolgreichen
Zustand zu verbleiben. Wenn beispielsweise die 5BH Modul 22-Komprimierung
erfolgreich ist, kann der Sortierer versuchen, die nächste Gruppe
von eingehenden Zellen 14 in 7 Übergänge oder weniger zu organisieren,
so dass diese Zellen ebenfalls durch das 5BH Modul 22 organisiert
werden. Demgemäß führt der
Sortierer 12 bei Schritt 40 eine Rückschleife zum
5BH Modul 22 aus.
-
Ähnlich,
wenn der Sortierer 12 bestimmt hat, dass das 4BH Modul 20 das
geeignete Komprimierungs-Schema ist, fährt der Sortierer 12 damit
fort, eingehende Zellen 14 in ein 4BH-Komprimierungs-Modul 20, solange
wie notwendig, zu organisieren. An einem bestimmten Punkt kann die
4BH-Komprimierung fehlerhaft sein, weil die nächsten Zellen 14 mehr
als 9 Übergänge enthalten
können.
Wie oben beschrieben, versucht der Sortierer 12 dann eine
3BH Modul 18-Komprimierung
und dann eine 1/2BH Modul 24-Komprimierung, bevor er in
die Ausnahmeverarbeitung eintritt.
-
Unabhängig von
der letzten Verlagerung von diesen Zellen, wenn der Sortierer 12 die
nächste
Gruppierung von eingehenden Zellen 14 empfängt, versucht
er zunächst
eine 4BH-Komprimierung.
Dies ist der Versuch des Sortierers 12, einen unnötigen Übergangs-Versuch
zu vermeiden. Obwohl die 4BH Modul 20-Komprimierung bei
dem unmittelbar nachfolgenden Satz von Zellen 14 versagt,
kann der Sortierer 12 annehmen, dass, da die 4BH Modul 20-Komprimierung das
geeignete Schema für
vorherige Sätze
von eingehenden Zellen 14 war, das 4BH Modul 20 abermals
das bestgeeignete Komprimierungs-Schema ist. Auf diese Weise überbrückt der
Sortierer 12 das 5BH Modul 22.
-
Diese
Prozedur kann sich für
eine vorbestimmte Anzahl N von Zyklen wiederholen. An einem bestimmten
Punkt erkennt das System 10, dass das derzeitige Modul,
in diesem Beispiel das 4BH Modul 20, nicht länger geeignet
ist und zu häufig
versagt. Somit, nach N-Versagungen, kehrt das Verfahren bei Schritt 48 zum 5BH
Modul 22 zurück,
und das Verfahren beginnt abermals. Wenn der Sortierer 12 die
nächste
Gruppierung von eingehenden Zellen 14 empfängt, kehrt
der Sortierer 12 zum Beginn des Verfahrens zurück, indem
zunächst
versucht wird, die Zellen 14 in ein 5BH Modul 22 zu
organisieren. Das 3BH Modul 18 und das 1/2BH Modul 24 haben
jeweils entsprechende Schritte 50 und 52, welche
das Verfahren nach N-Versagungen zurück zum Startpunkt bringen.
In einem Beispiel kann die Anzahl von N-Versagungen, welche beim
Verfahren bewirken, dass es zu einem Neustart zurückkehrt,
für jedes
Komprimierungs-Modul gleich sein. Beispielsweise kann der Wert von
N-Versagungen für
Schritte 48, 50 und 52 auf 5 eingestellt
werden. Nach 5 Komprimierungs-Versagungen wird das Verfahren abermals
beginnen, und zwar unabhängig
davon, ob das Komprimierungs-Versagen am 4BH Modul 20,
3BH Modul 18 oder 1/2BH Modul 24 auftrat. In einem
weiteren Beispiel kann die Anzahl von N-Versagungen, welche beim
Verfahren bewirken, neu zu starten, für jedes Komprimierungs-Modul
unterschiedlich sein. Beispielsweise kann N bei Schritt 48,
Schritt 50 und Schritt 52 jeweils auf 3, 4 und
5 Komprimierungs-Versagungen
eingestellt werden. Somit, nach 3 Komprimierungs-Versagungen am
4BH Modul 20, wird das Verfahren abermals beginnen. Ähnlich,
nach 4 und 5 Komprimierungs-Versagungen, jeweils am 3BH Modul 18 und
1/2BH Modul 24, wird das Verfahren abermals beginnen.
-
3 stellt
ein Beispiel von einem 3BH Modul 18 dar. Das 3BH Modul 18 kann
in einem DVB-Verkapseler 13 enthalten
sein, welcher ebenfalls ein 5BH Modul 22, ein 4BH Modul 20,
ein 3BH Modul 18 und ein 1/2BH Modul 24 enthält. Das
3BH Modul 18 kann einen 3BH-Sortierer 60, eine
Mehrzahl von 3BH-Komprimierungs-Puffern 62 und einen Datagramm-Zusammensetzer 64 enthalten.
In einem Beispiel empfängt
das 3BH Modul 18 die Zellen 14 von dem Sortierer 12 und
leitet die Zellen 14 an den 3BH-Sortierer 60 weiter.
Der 3BH-Sortierer 60 organisiert dann die Zellen 14 in
den 3BH-Komprimierungs-Puffern 62. Ein Beispiel zum Organisieren
von Zellen 14 ist mit Bezug auf 4 dargestellt.
Alternativ oder zusätzlich
kann der Sortierer 12 in einem weiteren Beispiel die Funktionen
des 3BH-Sortierers 60 durch ein Organisieren von Zellen
in den 3BH-Komprimierungs-Puffern 62 durchführen. Somit
kann das System 10 einen Sortierer 12 oder eine
Mehrzahl von Sortierern 12 und 60 enthalten. Die
Zellen 14 werden dann in Datagramm 62 ausgebildet.
-
Die
3BH-Komprimierungs-Puffer 62 speichern mehrere Datagramme 32,
welche an einen Datagramm-Zusammensetzer 64 gesendet werden.
Der Datagramm-Zusammensetzer 64 ist dazu betriebsbereit, Datagramme 32 zusammenzusetzen,
welche komprimierte Zellen 14 in einem verkapselten Datagramm 66 enthalten.
Beim Vorbereiten des verkapselten Datagramms 66 hängt der
Datagramm-Zusammensetzer 64 einen Verkapselungs-Dateikopf 68 an
das verkapselte Datagramm 92 an. Der Verkapselungs-Dateikopf 68 stellt die
Adresse bereit, welche jeder Zelle 14 im verkapselten Datagramm 92 gleich
ist. Die im Verkapselungs-Dateikopf 68 enthaltene Adresse
stellt sicher, dass das verkapselte Datagramm 92 an den
geeigneten Empfänger 26 übertragen
wird.
-
Der
Datagramm-Zusammensetzer 64 kann ein zyklisches Redundanzüberprüfungs-(CRC)-Kennzeichen 69 dem
Datagramm anhängen.
Das CRC-Kennzeichen 69 kann dazu verwendet werden, um die
Integrität
eines Blocks von Daten zu überprüfen. Beispielsweise
kann das CRC- Kennzeichen 69 beim Übertragungsende
dazu verwendet werden, um einen Wert zu erzeugen, welcher vom Hexerdezimalwert
von der Anzahl von Einsen in dem Datenblock abhängt. Der Datagramm-Zusammensetzer 64 berechnet
den Wert und hängt ihn
an das Datagramm als CRC-Kennzeichen 69 an.
Der Empfänger 26 macht
eine ähnliche
Berechnung und vergleicht seine Ergebnisse mit dem hinzugefügten CRC-Kennzeichen 69.
Wenn es eine Differenz gibt, fragt der Empfänger 26 nach einer
Neuübertragung
an. Jegliches weitere geeignete Verfahren zum Beibehalten einer
Daten-Integrität
kann jedoch verwendet werden.
-
In
einem Beispiel kann das 3BH Modul 18 ebenfalls einen Latenz-Zeitnehmer 72 enthalten.
Der Latenz-Zeitnehmer 72 führt eine Überprüfung über den Datagramm-Zusammensetzer 64 durch.
Wenn nach einer vorbestimmten Zeitdauer der Datagramm-Zusammensetzer 64 nicht
dazu in der Lage ist, die 3BH-Komprimierungs-Puffer 62 in
ein Datagramm 66 zu paketieren, sendet der Latenz-Zeitnehmer 72 eine
Meldung an den Datagramm-Zusammensetzer 64, dass die Zellen 14 unkomprimiert
gesendet werden sollten. Der Latenz-Zeitnehmer 72 kann
die Wirksamkeit des Systems 10 sicherstellen.
-
Obwohl 3 ein
Beispiel eines 3BH Moduls 18 darstellt, ist es ebenfalls
darstellhaft für
ein Beispiel eines 4BH Moduls 20 oder eines 5BH Moduls 22.
Zusätzlich,
obwohl das 3BH Modul 18 so gezeigt ist, dass es den 3BH-Sortierer 60 enthält, können die
Funktionen des 3BH-Sortierers 60 durch den Sortierer 12 oder jegliches
weitere Merkmal, welches dazu betriebsbereit ist, eingehende Daten
zu organisieren, durchgeführt werden.
Somit kann das System 10 einen Sortierer 12 oder
eine Mehrzahl von Sortierern enthalten.
-
Ähnlich ist
das 3BH Modul in 3 so gezeigt, dass es einen
Datagramm-Zusammensetzer 64 enthält. Der Fachmann wird erkennen,
dass jedes Modul im System 10 einen Datagramm-Zusammensetzer 64 enthalten
kann, welcher mit dem bestimmten Modul in Zusammenhang steht. Alternativ
oder zusätzlich
kann ein einzelner Datagramm-Zusammensetzer 64, welcher
dazu betriebsbereit ist, Komprimierungs-Puffer von jedem Komprimierungs-Modul
zu paketieren, im System 10 enthalten sein. Somit können zahlreiche
Variationen und Änderungen
auf das System 10 vorgenommen werden, ohne vom Umfang der
Erfindung abzuweichen.
-
4 stellt
ein Beispiel zum Organisieren von Zellen 14 innerhalb von
Komprimierungs-Puffern dar. In einem Beispiel werden eingehende
Zellen 14 durch einen 3BH-Sortierer 60 empfangen.
Jede Zelle 14 enthält
einen Dateikopf und eine Nutzlast. Die Zellen 14 werden
durch ein Gruppieren der Zellen 14 mit ähnlichen Dateiköpfen in Übergängen sortiert,
wie bezogen auf 1 beschrieben. In dem durch 4 dargestellten Beispiel
bestimmt der 3BH-Sortierer 60, dass es 3 Zellen 14 mit
einem ähnlichen
Dateikopf A gibt. Diese können
als Übergang
A 74 bestimmt werden und enthalten Zellen A1 80,
A2 81 und A3 82. Zusätzlich bestimmt der 3BH-Sortierer 60,
dass es 2 Zellen 14 mit einem ähnlichen Dateikopf B gibt.
Diese werden als Übergang B 86 bestimmt
und enthalten Zellen B1 83 und B2 84.
-
Die
Zellen 14 werden auf diese Weise gruppiert, bis die maximale
Kapazität
des 3BH Komprimierungs-Puffers 62 erreicht ist. In einem
Beispiel kann die maximale Kapazität eines 3BH-Komprimierungs-Puffers 62 gleich
84 Zellen betragen. In dem in 4 dargestellten
Beispiel wird die letzte Gruppe von Zellen 14 als Übergang
K 88 bestimmt und enthält
Zellen K1 85 und K2 86. Es ist zu erwähnen, dass
die Einbeziehung in 4 von 3 Zellen innerhalb eines Übergangs
A 84, von 2 Zellen innerhalb des Übergangs B 86 und
von 2 Zellen innerhalb des Übergangs
K 88 lediglich aus Beispielsgründen ist. Der Fachmann wird
erkennen, dass die Zellen 14 durch den 3BH-Sortierer 60 in
jeglicher Anzahl von Kombinationen und Variationen empfangen werden
können.
-
Der
3BH-Sortierer 60 ordnet die gruppierten Zellen 14 in
ein verkapseltes 3BH Datagramm 92 an. Das verkapselte 3BH
Datagramm 92 enthält
einen 3BH CCB 97, welcher die Dateikopf-Information für die Zellen A1 80 über K2 86 speichert
und eine Anordnung der Nutzlasten 94 entsprechend jeder
Zelle beschreibt. Der 3BH CCB 97 enthält einen Komprimierungs-Modus-Anzeiger 96,
welcher den Komprimierungs-Modus, in diesem Beispiel einen 3BH-Komprimierungs-Modus
anzeigt. Der Empfänger 26 verwendet
den Komprimierungs-Modus-Anzeiger 96,
um die Schritte zu bestimmen, welche notwendig sind, um das verkapselte
Datagramm 92 zu dekomprimieren. Der 3BH CCB 97 enthält eine
Zellen-Zählung
A 98, welche anzeigt, wie viele Zellen in einem Übergang
A 74 sind. Weil es 3 Zellen im Übergang A 74 gibt,
wäre die
Zellen-Zählung
A 98 in dem in 4 angezeigten Beispiel gleich
3. Der 3BH CCB 97 enthält
3 Byte einer Dateikopf-Information, welche den Zellen innerhalb
des Übergangs
A 74 angemessen ist. Der 3BH CCB 97 speichert
eine ähnliche
Information für
jeden Übergang
innerhalb des verkapselten Datagramms 92.
-
Dem
3BH CCB 97 folgend, enthält das verkapselte Datagramm 92 Nutzlasten 94 für jeden
Zellen-Dateikopf
welcher in das verkapselte Datagramm 92 komprimiert ist.
Die Nutzlasten können
sequenziell angeordnet werden. Wenn durch den Empfänger 26 empfangen,
kann der Empfänger 26 die
Liste von Teil-Dateiköpfen im
3BH CCB 97 heruntergehen und an die Nutzlast den geeigneten
Dateikopf, basierend auf der Zählung
für den Übergang,
wie im CCB gespeichert, anhängen.
Wenn der 3BH CCB 97 beispielsweise anzeigt, dass es 3 Zellen
innerhalb des Übergangs
gibt, wie in 4 gezeigt, kann der Empfänger 26 den
Zellen-Dateikopf an die ersten drei Nutzlasten anhängen. In
dem dargestellten Beispiel kann ein Maximum von 84 Nutzlasten im 3BH
CCB 97 enthalten sein.
-
5 stellt
ein Beispielverfahren zum Verwenden des Systems von 1 zum
Komprimieren von Zellen-Dateiköpfen
dar. Das Verfahren beginnt bei Schritt 99, bei welchem
das System 10 eingehende Zellen 14 bei einem Schalter 16 empfängt. Bei
Schritt 100 initialisiert das System 10 den Index-Eintrag,
indem er auf gleich Null eingestellt wird. Der Index-Eintrag zeigt
die Anzahl von Übergängen oder
die Anzahl von Gruppierungen von Zellen mit im Wesentlichen ähnlichen
Zellen-Dateiköpfen
an. Bei Schritt 101 initialisiert das System 10 die
Zellen-Zählung
und die Zellen-Nummer,
indem jede auf Null eingestellt wird. Die Zellen-Zählung zeigt die
Anzahl von Zellen innerhalb eines Übergangs an. Die Zellen-Nummer
kann gleich der Anzahl von Zellen sein, welche in einem Datagramm
sind. Die Initialisierung des Index-Eintrages und der Zellen-Zählung bereitet das
System 10 darauf vor, um mehrere eingehende Zellen 14 zur
Komprimierung in einem einzelnen Datagramm, welches an den Empfänger 26 zu übertragen
ist, auszulesen.
-
Das
System 10 wählt
eine Zelle bei Schritt 102 aus und liest den Zellen-Dateikopf
bei Schritt 103. Der Sortierer 12 untersucht die
Zellen 14 und bestimmt bei Schritt 104, ob der
Zellen-Dateikopf im Wesentlichen ähnlich dem nächsten Zellen-Dateikopf
ist. Die Bestimmung wird vorgenommen, indem der Dateikopf von der ersten
eingehenden Zelle 14 mit dem Zellen-Dateikopf von der nächsten eingehenden
Zelle 14 verglichen wird. Wenn die Zellen-Dateiköpfe identisch
sind, aktualisiert das System 10 die Zellen-Zählung von
der vorliegenden Zelle bei Schritt 106. Ein Aktualisieren
der Zellen-Zählung
zeigt dem Empfänger 26 an,
dass diese m von n sequenziellen Zellen 14 innerhalb eines Übergangs
ist. Der Sortierer 12 kann die Zellen-Zählung aktualisieren, indem
der Zellen-Zählung
1 hinzuaddiert wird. Somit, wenn der Sortierer 12 die erste
eingehende Zelle untersucht, wird die Zellen-Zählung auf einen Wert von 1
aktualisiert. Demgemäß, wenn
der Sortierer 12 die zweite eingehende Zelle untersucht
und der Sortierer 12 zuvor bestimmt, dass der letzte Zellen-Dateikopf
mit diesem Zellen-Dateikopf identisch ist, wird die Zellen-Zählung auf
einen Wert von 2 aktualisiert. Da der Sortierer 12 mehrere
sequenzielle identische Zellen-Dateiköpfe ausliest, wird die Zellen-Zählung jedes
Mal um einen Wert von 1 erhöht.
-
Nach
einem Aktualisieren der Zellen-Zählung
fährt der
Sortierer 12 mit Schritt 108 fort, um zu bestimmen,
ob die Zelle 14 die erste Zelle des Index-Eintrages ist.
Der Sortierer 12 kann die Bestimmung vornehmen, indem dieser
Zellen-Dateikopf mit dem letzten Zellen-Dateikopf verglichen wird
oder indem auf die Zellen-Zählung
geschaut wird. Wenn die Dateiköpfe
unterschiedlich sind, ist die aktuelle Zelle unter Untersuchung
die erste Zelle von diesem Index-Eintrag. In dieser Situation speichert
der Sortierer 12 dann den Dateikopf bei Schritt 110.
Die Anzahl von gespeicherten Bytes und das Format, in welchem die
Bytes gespeichert werden, variiert in Abhängigkeit von dem verwendeten
Komprimierungs-Modul und dem erzeugten CCB. Diese wird in Bezug auf 1 detaillierter
beschrieben.
-
Wenn
die Zelle 14 nicht die erste Zelle 14 des Index-Eintrages
bei Schritt 108 ist, überspringt
das Verfahren den Schritt 110 und fährt direkt mit Schritt 114 fort.
Der Schritt 110 ist nicht notwendig, weil der Zellen-Dateikopf
für diesen Übergang
bereits im CCB gespeichert wurde.
-
Wenn
der Sortierer 12 bei Schritt 104 bestimmt, dass
der Zellen-Dateikopf von dieser Zelle 14 nicht im Wesentlichen ähnlich mit
dem Zellen-Dateikopf von der nächsten
Zelle 14 ist, fährt
das Verfahren mit Schritt 111 fort; das System initialisiert
die Zellen-Zählung
neu. Die Zellen-Zählung
wird neu initialisiert, weil das System 10 bestimmt hat,
dass diese Zelle 14 die letzte Zelle in einem Übergang
ist. Die letzte Zellen-Zählung
stellt den Gesamtwert für
diesen Übergang
dar, welche im CCB als eine Zellen-Zählung 98 gespeichert
werden wird, wie in 4 gezeigt. Die Zellen-Zählung kann initialisiert werden,
indem sie auf gleich Null eingestellt wird. Bei Schritt 112 aktualisiert
das System 10 den Index-Eintrag. Durch ein Aktualisieren
des Index-Eintrages bereitet der Sortierer 12 das System 10 für den nächsten Übergang
vor. Der nächste
zugewiesene Zellen-Index-Eintrag
wird dann im CCB gespeichert, wie in Tabellen 1 bis 3 oben bei Schritt 113 gezeigt.
Das Verfahren fährt dann
mit Schritt 114 fort.
-
Bei
Schritt 114 aktualisiert der Sortierer 12 die
Zellen-Nummer, indem der Zelle die nächste zur Verfügung stehende
Zellen-Nummer zugewiesen wird. In dem dargestellten Beispiel wird
die Zellen-Index-Nummer aktualisiert, indem die Zellen-Nummer um
einen Wert von 1 erhöht
wird. Wenn beispielsweise der vorherigen Zelle eine Zellen-Nummer
von 15 zugewiesen wurde, wird der aktuellen Zelle 14 unter
Untersuchung ein Wert von 16 zugewiesen.
-
Der
Sortierer 12 bestimmt bei Schritt 116, ob die
Zellen-Nummer eine maximale Nummer ist. Die maximale Nummer ist
die maximale Nummer von Zellen, welche ein Datagramm unterbringen können. Somit
bestimmt der Sortierer 12, ob das Datagramm an seiner maximalen
Kapazität
ist. Beispielsweise erreicht ein 3BH CCB eine maximale Kapazität nach einem
Speichern von 84 Zellen. Wenn der Sortierer 12 bestimmt,
dass 84 Zellen im CCB gespeichert wurden, ist das Datagramm an einer
maximalen Kapazität
und das Verfahren fährt mit
Schritt 118 fort. Bei Schritt 118 wird das ausgegebene
Datagramm an den Empfänger 26 übertragen.
Wenn der Sortierer 12 bei Schritt 116 bestimmt,
dass der CCB nicht bei maximaler Kapazität ist, kehrt das System 10 auf
Schritt 102 zurück.
Der Sortierer 12 kreist dann wiederholt über Schritte 102 bis 116,
bis die maximale Kapazität
des CCB erreicht ist.
-
Das
System 10 zum Komprimieren von Zellen-Dateiköpfen kann
durch den Komprimierungsprozess in der in Schritten 100 bis 118 in 5 gezeigten
Reihenfolge fortfahren, wie oben beschrieben. Es wird erkannt, dass
der Fachmann jedoch die Schritte des Verfahrens auf jegliche geeignete
Reihenfolge durchführen kann.
-
6 stellt
ein Beispielverfahren zum Verwenden des Systems von 1 zum
Dekomprimieren von Zellen-Dateiköpfen
dar. Das Verfahren beginnt bei Schritt 200, wenn der Empfänger 26 ein
komprimiertes Datagramm 66 empfängt. Bei Schritt 202 überprüft der Empfänger 26 die
Komprimierungs-Modus-Anzeige. Die Überprüfung wird durch den Empfänger 26 vorgenommen,
um zu bestimmen, ob das Datagramm komprimiert ist und der Komprimierungs-Modus,
wenn er vorliegt, verwendet ist. Bei Schritt 202 bestimmt
der Empfänger 26,
ob die Komprimierungs-Modus-Anzeige
anzeigt, ob das Datagramm komprimiert ist. Beispielsweise kann eine
Komprimierungs-Modus-Anzeige von gleich Null anzeigen, dass das
Datagramm unkomprimiert ist. Eine Komprimierungs-Modus-Anzeige von
ungleich Null kann anzeigen, dass das Datagramm komprimiert ist. Wenn
die Komprimierungs-Modus-Anzeige auf Null eingestellt ist, verarbeitet
der Empfänger 26 rohe
unkomprimierte Daten bei Schritt 206. Die Daten können unmittelbar
durch den Empfänger 26 verarbeitet
werden, und das Verfahren schließt ab. Wenn die Komprimierungs-Modus-Anzeige anzeigt,
dass ein Komprimierungs-Modul verwendet wurde, fährt das Verfahren mit Schritt 208 fort.
Bei Schritt 208 bestimmt der Empfänger 26 den Komprimierungs-Modus.
Die Prozedur zum Dekomprimieren eines Datagramms hängt vom
bestimmten Komprimierungs-Modus
ab, welches verwendet ist, um das Datagramm 66 zu komprimieren.
-
Unabhängig von
dem verwendeten Komprimierungs-Modul wird die Anzahl von Zellen
in einem Übergang
bei Schritt 210 bestimmt. Der Empfänger 26 kann diese
Bestimmung vornehmen, indem die Zellen-Zählung 98, welche im
Datagramm 66 enthalten ist, ausgelesen wird. Bei Schritt 212 stellt
der Empfänger 26 den Dateikopf
wieder her. Schritt 212 kann in Abhängigkeit von dem bestimmten
verwendeten Komprimierungs-Modul variieren. Beispielsweise, weil
der komprimierte Dateikopf in einem 5BH Datagramm 28 das
Dateikopf-Fehler-Steuerung (HEC)-Byte enthält, braucht der Empfänger von
einem 5BH Datagramm 28 das Zellen-HEC-Byte nicht zu berechnen.
Der Empfänger 26 nimmt
die ersten fünf
Bytes einer gespeicherten Dateikopf-Information im CCB des 5BH Datagramms 28 und
speichert sie als dekomprimierte Zellen-Dateikopf-Bytes 1, 2, 3,
4 und 5. Dieser wiederhergestellte Dateikopf wird für die zugehörigen Nutzlasten
innerhalb eines Übergangs
verwendet. Der Empfänger
braucht lediglich den vollständigen
5-Byte Dateikopf an jede Daten-Nutzlast anzuhängen, wie durch die Zählung angezeigt.
-
Wenn
der Empfänger 26 bei
Schritt 208 bestimmt, dass das Datagramm 66 unter
Verwendung des 4BH Moduls 20 bei Schritt 212 komprimiert
wurde, nimmt der Empfänger 26 die
ersten vier Bytes einer gespeicherten Dateikopf-Information im CCB
des 4BH Datagramms 30 und speichert sie als dekomprimierte
Zellen-Dateikopf-Bytes 1, 2, 3 und 4. Weil das HEC-Byte nicht gespeichert
wurde, kann der Empfänger 26 das HEC-Byte
neu erzeugen und es als das fünfte
und letzte Byte im dekomprimierten Zellen-Dateikopf platzieren. Der
Dateikopf kann dann an jede Daten-Nutzlast im Übergang angehängt werden,
wie durch die Zählung
angezeigt. Weil die HEC wiederaufgebaut werden muss, kann eine Dekomprimierung
eines 4BH CCB 30 mehr Verarbeitungszeit an dem Empfänger 26-Ende
erfordern, als dies eine Dekomprimierung von einem 5BH CCB 28 erfordert.
Ein Großteil
der Verarbeitung kann jedoch am Komprimierungs-Ende des Systems
am Sortierer 12 auftreten, so dass der Prozess der Dekomprimierung
am Empfänger 26 Ende
einfacher erstellt werden kann.
-
Ähnlich,
wenn das System 10 bei Schritt 208 bestimmt, dass
das Datagramm 66 unter Verwendung des 3BH Moduls 18 komprimiert
wurde, nimmt der Empfänger 26 die
ersten drei Bytes einer gespeicherten Dateikopf-Information im 3BH
Datagramm 32 und speichert sie als dekomprimierte Zellen-Dateikopf-Bytes
2, 3 und 4 bei Schritt 212. Der Empfänger 26 kann das erste
Byte wieder aufbauen, indem eine Null für dieses substituiert wird.
Das HEC-Byte kann wie oben mit Bezug auf eine Dekomprimierung eines
4BH Datagramms 30 beschrieben wiederaufgebaut werden und
als das fünfte
und letzte Zellen-Dateikopf-Byte platziert werden. In weiteren Ausführungsformen
braucht die HEC nicht berechnet zu werden, wenn sie durch einen
Empfang einer ATM-Netzwerk-Schnittstellenkarte
neu berechnet wurde. Dieser wiederhergestellte Dateikopf kann an jede
Daten-Nutzlast im Übergang
angehängt
werden, wie durch die Zellen-Zählung
angezeigt. Da eine Dekomprimierung eine Wiederherstellung von sowohl
dem ersten Zellen-Dateikopf-Byte als auch dem HEC-Byte erfordert,
kann eine Dekomprimierung von einem 3BH CCB 32 mehr Verarbeitungszeit
am Empfänger 26-Ende
erfordern, als dies eine Dekomprimierung von einem 5BH CCB 28 oder
4BH CCB 30 erfordert. Ein Großteil der Verarbeitung kann
jedoch am Komprimierungs-Ende des Systems am Sortierer 12 auftreten,
so dass der Prozess der Dekomprimierung am Empfänger 26 Ende einfacher
erstellt werden kann.
-
Im
Gegensatz dazu, wenn der Empfänger 26 bei
Schritt 208 bestimmt, dass das Datagramm 66 unter Verwendung
des 1/2BH Moduls 24 komprimiert wurde, nimmt der Empfänger 26 die
ersten drei und ein halbes Byte von einer Dateikopf-Information
vom CCB und speichert sie als Dateikopf-Bytes 1, 2, 3 und 4 bei
Schritt 212. Der Empfänger 26 erstellt
so viele Kopien des Dateikopfs, wie in der Zählung angezeigt. Ein kleines
Stück kann
die Hälfte
eines Byte enthalten. Das kleine Stück des PT-CLP wird im unteren
kleinen Stück
des vierten Bytes eingesetzt. Das HEC-Byte wird, wie oben mit Bezug
auf eine Dekomprimierung eines 4BH CCB 30 beschrieben,
wiederaufgebaut und als das fünfte
und letzte Zellen-Dateikopf-Byte platziert. In weiteren Ausführungsformen
braucht die HEC nicht berechnet zu werden, wenn sie durch die empfangene
ATM-Netzwerk-Schnittstellenkarte
neu berechnet wurde. Jeder vollständig komprimierte Zellen-Dateikopf
wird an die geeignete Nutzlast in der Datensektion angehängt. Die
Dekomprimierung fährt
fort, bis jedes kleine Stück
des PT-CLP verwendet ist. Da lediglich die PT- und CLP-Bits variieren
können,
wenn weitere Bits beispielsweise die Adressen ändern, braucht das 1/2BH-Komprimierungs-Modul 24 nicht
verwendet zu werden. Die Information kann in ein weiteres Modul
oder unkomprimiert gesendet werden.
-
Dem
Wiederaufbau des Dateikopfs bei Schritt 212 folgend, stellt
der Empfänger 26 den
Dateikopf an die Nutzlast bei Schritt 214 voran. Der Empfänger 26 kann
bei Schritt 216 bestimmen, ob die nächste Nutzlast der gleiche Übergang
ist. Wenn die nächste
Nutzlast innerhalb des gleichen Übergangs
ist, wurde die Zellen-Zählung
nicht aufgebraucht, wobei das Verfahren zu Schritt 214 zurückkehrt.
Der Empfänger 26 stellt ebenfalls
den Dateikopf an die nächste
Nutzlast von der nächsten
Nutzlast voran. Schritte 216 und 214 werden oftmals
wiederholt, bis alle Nutzlasten innerhalb eines Übergangs einen Dateikopf empfangen
haben. Wenn der Empfänger 26 bei
Schritt 216 bestimmt, dass die nächste Nutzlast nicht im gleichen Übergang
ist, kann der Empfänger 26 bei
Schritt 218 bestimmen, ob es einen weiteren Dateikopf im
Datagramm 66 gibt. Wenn eine weitere Dateikopf-Information
im Datagramm 66 für
einen unterschiedlichen Übergang
oder eine unterschiedliche Gruppe von Zellen mit im Wesentlichen ähnlichen
Zellen-Dateiköpfen
gespeichert ist, kehrt das Verfahren zu Schritt 210 zurück. Das
Verfahren kreist über
Schritte 210 bis 218, bis ein Dateikopf an jede
Nutzlast im Datagramm angehängt
wurde. Wenn der Empfänger 26 bei
Schritt 218 bestimmt, dass keine weitere Dateikopf-Information
im Datagramm 66 gespeichert ist, gibt der Empfänger 26 das
unkomprimierte Datagramm bei Schritt 220 aus, und das Verfahren
wird beendet.
-
Der
Empfänger 26 zum
Dekomprimieren von Zellen-Dateiköpfen
kann über
den Komprimierungsprozess in der wie in Schritten 200 bis 218 in 6 gezeigten
Reihenfolge, und wie oben beschrieben, fortfahren. Es wird anerkannt,
dass der Fachmann jedoch die Schritte des Verfahrens auf jegliche
geeignete Reihenfolge durchführen
kann.
-
Bestimmte
Beispiele, wie oben mit Bezug auf 1 bis 6 von
der Erfindung beschrieben, können einen
oder mehrere technische Vorteile bereitstellen. Ein technischer
Vorteil von einem Beispiel kann sein, dass das Beispiel eine Zellen-Dateikopf-Komprimierung
und eine Erhöhung
der Wirksamkeit von einer Satellitenkommunikation bereitstellt.
Ein weiterer technischer Vorteil eines Beispiels kann sein, dass
das Beispiel eine Zellen-Dateikopf-Komprimierung erlaubt, welche
mit dem DVB-Standard komplementär
ist, und somit mit bestehender DVB-Hardware komplementär ist. Ein
weiterer technischer Vorteil von einem Beispiel kann sein, dass
das Beispiel eine asymmetrische Komprimierungsverarbeitung verwenden
kann, welche eine Berechnungs-Arbeitslast für den Empfänger reduzieren kann, da der
Großteil
der Berechnungs-Arbeitslast durch den Übertrager anstelle des Empfängers durchgeführt werden
kann. Ein weiterer technischer Vorteil, welcher durch ein Beispiel
bereitgestellt ist, kann sein, dass das Beispiel eine Zellen-Dateikopf-Komprimierung von
verschlüsselten
Daten erlauben kann. Weitere technische Vorteile werden dem Fachmann
anhand der Figuren, Beschreibungen und Ansprüche, wie hier beschrieben,
schnell deutlich. Keines, einige oder alle der Beispiele können technische
Vorteile bereitstellen.