-
Die vorliegende Erfindung betrifft
ein Fehlerschutzverfahren und eine Fehlerschutzvorrichtung, die
eine Vielzahl von Daten vor Signalfehlern in dem Prozess einer Übertragung
schützt.
-
Die Veröffentlichung mit dem Titel "Optimierung der Empfangsqualität durch
angepassten Fehlerschutz bei DAB" von
C. Beck und veröffentlicht
in ITG-Fachberichte, Bd. 118, 18. Februar 1992 offenbart auf den
Seiten 102–112
ein dynamisches ungleiches Fehlerschutz-(DUEP)-Schema für MUSICAM-Datenrahmen, umfassend
die Schritte eines Sortierens der Rahmen in der Reihenfolge einer
abnehmenden Fehlerempfindlichkeit, eines Teilens jedes Rahmens in
Unterblöcke
mit abnehmenden Fehlerkorrekturanforderungen, wodurch für jeden
Datenrahmen ein angepasstes Fehlerschutzprofil dynamisch aufgebaut
wird, eines Durchführens
einer Fehlerkorrekturkodierung und eines Übertragens des Fehlerschutzprofils
und des codierten Rahmens.
-
Die DE-A-19605418 offenbart ein adaptives ungleiches
Fehlerschutzschema für
eine Videotelephonie, in welchem Eingangsrahmen sortiert und in Fehlerkorrekturklassen
abgelegt werden, welchen jeweils ein Gewichtsfaktor zum Steuern
der Kodierungsrate zugeordnet ist.
-
Die Veröffentlichung mit dem Titel "Still Image Transmission
Using Unequal Error Protection Coding in Mobile Radio Channel" von N. Matoba et al.,
und veröffentlicht
in Electronics und Communications in Japan, Teil 1, Bd. 79, Nr.
4, Seiten 75 bis 85 in 1996 offenbart ein ungleiches Fehlerschutzschema
für JPEG-Daten
einschließlich
Parametern einer variablen Länge,
in welchen Datenrahmen sortiert und in Fehlerkorrekturklassen einer
variablen Länge abgelegt
sind, wobei die Anzahl von Datenblöcken jeder Fehlerkorrekturklasse mit
einem Fehlerkorrekturcode einer hohen Redundanz übertragen wird.
-
Ein Fehlerschutz ist bezüglich Daten
wie etwa Sprache und Bildern ausgeführt worden, um sie von Signalfehlern
zu schützen,
während
sie übertragen
werden. Eine Vielzahl von Fehlerschutzverfahren sind eingesetzt
worden, wie etwa PDC-Halbraten,
Twin-VQ, und dergleichen.
-
Zusätzlich wurden Fehlerschutzverfahren des
Standes der Technik auf Rahmen fixierter Länge mit der gleichen Anzahl
von Bits pro Rahmen oder auf Rahmen einer quasi-fixierten Länge, wobei
Rahmen nur einer begrenzten Vielfalt von Bitlängen zu finden waren, angewandt.
-
In dem Schutzverfahren nach dem Stand
der Technik wurde eine Fehlerempfindlichkeit für jeden Parameter (einschließlich Bits)
untersucht, die den Rahmen ausbilden, und in dem Fall von Parametern mit
einer hohen Empfindlichkeit wurde ein Fehlerschutz eines spezifizierten
Typs (z. B. die Hinzufügung
eines Fehlerschutzcodes oder einer Fehlerkorrekturkodierung) bezüglich Rahmen
durchgeführt, die
Parameter mit einer hohen Empfindlichkeit zu der Zeit eines Übertragens
der Rahmen enthalten. Hier ist die Fehlerempfindlichkeit des Parameters
von einem Ausmaß,
das die Ergebnisse eines Decodierens, das auf der Empfangsseite
erhalten wird, verschlechtern würde,
in dem Fall, wo ein einziges Fehlerbit in dem Prozess eines Übertragens
des Parameters auftritt.
-
12 zeigt
ein Beispiel der Konfiguration einer Schutzvorrichtung nach dem
Stand der Technik. In dieser Figur nimmt ein Klassensortierer 401 den
Rahmen, der hinsichtlich Fehler zu schützen ist, und sortiert die
Parameter des Rahmens in Klassen gemäß ihrer jeweiligen Ausmaße einer
Fehlerempfindlichkeit.
-
In dem Fall dieser Fehlerschutzvorrichtung wird
das Fehlerschutzverfahren, nämlich
entweder eine Fehlerkorrekturkodierung bei einem spezifizierten
Kodierungsverhältnis
oder die Hinzufügung
eines spezifizierten Fehlererfassungscodes für jede Klasse bestimmt.
-
Ein Klassendaten-Fehlerschutzverarbeitungsteil 403 implementiert
die Fehlerkorrekturkodierung oder fügt einen Fehlererfassungscode
hinzu, gemäß des Fehlerschutzverfahrens,
das in Abhängigkeit
von den verschiedenen Klassen bestimmt wird, bezüglich der verschiedenen Parameter,
die in die Klassen klassifiziert sind. Spezifisch wird eine Faltung
für eine
Fehlerkorrekturkodierung durchgeführt, und eine zyklische Redundanzkodierung
wird ausgeführt,
um einen Fehlererfassungscode zu erzeugen. Überdies führt eine Ausgangsvorrichtung 404 ein
Verschachteln und dergleichen bezüglich der Daten durch, die
eine Fehlerkorrekturkodierung durchlaufen, oder welchen ein Fehlererfassungscode hinzugefügt wird,
und sendet die Daten zu dem Empfänger.
-
Im übrigen wurde in dem Fall der
Fehlerkorrekturvorrichtung des Standes der Technik ein zuvor eingerichteter
Fehlerschutz für
jede Klasse ausgeführt.
Somit wies die Fehlerkorrekturvorrichtung des Standes der Technik
die Nachteil einer geringen Flexibilität bei Verfahren zum Schutz
und eine schlechte allgemeine Anwendbarkeit auf.
-
Die vorliegende Erfindung wurde in
dem Lichte des oben beschriebenen Standes der Technik ersonnen und
weist es als ihre Aufgabe auf, ein Fehlerschutzverfahren und eine
Fehlerschutzvorrichtung bereitzustellen, die es ermöglicht,
eine Vielzahl von Fehlerkorrekturalgorithmen einzusetzen, auch wenn die
Rahmen von einer flexiblen Länge
sind, und die die Last auf dem Übertragungspfad
durch ein Reduzieren der Anzahl von Bits reduziert, die auf dem Pfad übertragen
werden müssen.
-
Gemäß einem ersten Aspekt der Erfindung ist
ein Fehlerschutzverfahren nach Anspruch 1 bereitgestellt.
-
Gemäß einem zweiten Aspekt der
Erfindung ist eine Fehlerschutzvorrichtung nach Anspruch 4 bereitgestellt.
-
In den Zeichnungen zeigen:
-
1 ein
Blockdiagramm, das eine Konfiguration einer Fehlerschutzvorrichtung
zeigt, die die Grundlage einer Ausführungsform der vorliegenden Erfindung
bildet;
-
2A–2C Zeitdiagramme, die den
Betrieb der Grundlage der Ausführungsform
zeigen;
-
3 ein
Blockdiagramm, das eine Konfiguration einer Empfangsseitenvorrichtung
in der Grundlage der Ausführungsform
zeigt;
-
4 ein
Blockdiagramm, das eine Konfiguration einer Verschachtelungsvorrichtung
zeigt, die einer Synthetisierungsvorrichtung der Fehlerschutzvorrichtung
bereitgestellt ist;
-
5 ein
Blockdiagramm, das eine Beispielkonfiguration des Schreibadressenzufuhrteils
der Verschachtelungsvorrichtung zeigt;
-
6 ein
Blockdiagramm, das eine Beispielkonfiguration eines Leseadressenzufuhrteils
der Verschachtelungsvorrichtung zeigt;
-
7 ein
Diagramm, das die Sequenz eines Schreibens der Bits, die einen Rahmen
bilden, zu der Zeit eines Verschachtelns in die verschiedenen Speicherbereiche
des Betriebsspeichers und die Sequenz eines Lesens der Bits, die
einen Rahmen bilden, zu der Zeit eines Entschachtelns aus den verschiedenen
Speicherbereichen eines Betriebsspeichers in der Ausführungsform
zeigt;
-
8 ein
Diagramm, das die Sequenz eines Lesens der Bits, die einen Rahmen
bilden, zu der Zeit eines Verschachtelns von den verschiedenen Speicherbereichen
des Betriebsspeichers und die Sequenz eines Schreibens der Bits,
die einen Rahmen bilden, zu der Zeit eines Entflechtens in die verschiedenen
Speicherbereiche eines Betriebsspeichers in der Ausführungsform
zeigt;
-
9A und 9B Zeitdiagramme, die den
Betrieb der Verschachtelungsvorrichtung in der Ausführungsform
zeigen;
-
10 ein
Blockdiagramm, das eine Konfiguration der Entflechtungsvorrichtung,
die der Empfangsseitenvorrichtung bereitgestellt ist, in der Ausführungsform
zeigt;
-
11 ein
Blockdiagramm, das eine Konfiguration der Fehlerschutzvorrichtung,
die die Ausführungsform
der vorliegenden Erfindung betrifft, zeigt; und
-
12 ein
Blockdiagramm, das eine Konfiguration einer Schutzvorrichtung nach
dem Stand der Technik zeigt.
-
Wie nachstehend beschrieben ist es,
da die Parameter in Klassen geteilt sind, und da die Vorrichtungen
getrennt angeordnet sind, so dass eine Vorrichtung zum Erzeugen
von Rahmenbildungsdaten, die den Inhalt des für jede Klasse durchzuführenden Fehlerschutzes
anzeigen, und eine Vorrichtung zum Durchführen eines Schutzes, der jeder
Klasse entspricht, gemäß der Rahmenbildungsdaten
vorhanden ist, möglich, Änderungen
in dem Inhalt des Fehlerschutzes, der auf jede Klasse anzuwenden
ist, einzustellen.
-
Überdies
wird, da Rahmenbildungsdaten übertragen
werden, die anzeigen, welcher Typ eines Fehlerschutzes für jede Klasse
geeignet ist, der Inhalt des Fehlerschutzes, der auf jede Klasse
anzuwenden ist, von diesen Rahmenbildungsdaten von der Empfangsseitenvorrichtung
genommen, was es ermöglicht,
geeignet zu antworten. Deswegen besteht kein Bedarf, den Inhalt
des Fehlerschutzes zu fixieren, und es wird möglich, den Fehlerschutzinhalt zwischen
der Sendeseitenvorrichtung und der Empfangsseitenvorrichtung umzuschalten,
wie es eine Zweckmäßigkeit
vorgeben kann. Zusätzlich
ist es, da die Rahmenbildungsdaten Daten enthalten, die die Bildung
von Rahmen betreffen, möglich,
die Verarbeitung von Rahmen einer variablen Länge, die einen Fehlerschutz
durchlaufen haben, von der Empfangsseitenvorrichtung zu implementieren.
-
Außerdem kann, indem jene Rahmenbildungsdaten,
die über
einer Vielzahl von Rahmen nicht variabel sind, ausgesondert werden,
und indem sie bei dem Start jeder Übertragung übertragen werden, die Last
des Übertragungspfads
reduziert werden.
-
Folgendes ist eine Beschreibung einer
Ausführungsform
der vorliegenden Erfindung, die unter Bezugnahme auf die Zeichnungen
dargestellt ist.
-
A. Erklärungsgrundlage
der Ausführungsform.
-
(1) Fehlerschutzvorrichtung
-
1 ist
ein Blockdiagramm, das eine Konfiguration einer Fehlerschutzvorrichtung
zeigt, die die erste Ausführungsform
der vorliegenden Erfindung betrifft.
-
Diese Fehlerschutzvorrichtung ist
innerhalb bereitgestellt oder stromabwärts mit einem Kodierer verbunden,
der eine Kompressionskodierung von Sprachsignalen durchführt.
-
Probensequenzen von Sprachsignalen,
die zu übertragen
sind, können
zu jedweder Zeit von diesem Kodierer erzeugt werden. Zusätzlich wird,
wie in den 2A und 2B gezeigt, eine Kompressionskodierung
der Probensequenzen der Sprachsignale, die zu den verschiedenen
Rahmenzyklen gehören, mit
einem fixierten Rahmenzyklus als eine Verarbeitungseinheit durchgeführt, wobei
eine Vielzahl von Typen von Parametern erzeugt wird. Hier variiert
das Datenvolumen der gebildeten Parametergruppen für jeden
Rahmenzyklus.
-
Bezüglich der verschiedenen Parametergruppen
führt die
Fehlerschutzvorrichtung einen Fehlerschutz durch, der für jeden
Parameter geeignet ist, und führt
ihre Ausgabe durch.
-
Wie in 1 gezeigt,
besitzt die Fehlerschutzvorrichtung einen Rahmenbildungs-Datenberechnungsteil 101,
einen Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102,
einen Klassendaten-Fehlerkorrektur-Verarbeitungsteil 103 und
einen Synthetisierer 104.
-
Der Rahmenbildungs-Datenberechnungsteil 101 dient
primär
dazu, die nächste
Verarbeitung durchzuführen.
-
a. Klassenteilung von
Parametergruppen
-
Die Parameter, die von dem Kodierer
erzeugt werden, schließen
manche mit einer hohen Fehlerempfindlichkeit und manche mit einer
niedrigen Fehlerempfindlichkeit ein. Hier ist es, da Parameter mit einer
hohen Fehlerempfindlichkeit nie ein niedriges akzeptables Restfehlerverhältnis aufweisen,
empfehlenswert, das Restfehlerverhältnis auf der Empfangsseite
durch ein Implementieren einer Kodierung mittels eines Fehlerkorrekturcodes
mit einem hohen Kodierungsverhältnis
zu reduzieren. Andererseits sollte bezüglich der Parameter mit einer
niedrigen Fehlerempfindlichkeit kein Bedarf nach einer Fehlerkorrekturkodierung
bei einem derartig hohen Kodierungsverhältnis vorhanden sein. Überdies
werden in Abhängigkeit
von dem Parameter manche Fälle
vorhanden sein, wo es einfach ausreichend ist, einen Fehlererfassungscode
hinzuzufügen,
anstelle eine derartige Fehlerkorrekturkodierung durchzuführen. Außerdem müssen manche
dieser Parameter verschachtelt werden und manche nicht. Somit sind
unterschiedliche Fehlerschutzverfahren auf unterschiedliche Fälle anzuwenden,
in Abhängigkeit
von dem Typ eines Parameters.
-
Dementsprechend werden Parameter,
die von dem Kodierer erzeugt werden, in Klassen gemäß des Fehlerschutzverfahrens,
das auf jeden Fall anzuwenden ist, sortiert. Zusätzlich führt in der Fehlerschutzvorrichtung,
die in 1 gezeigt ist,
der Rahmenbildungs-Datenberechnungsteil 101 das Sortieren
in Klassen durch.
-
In dem in 1 gezeigten Beispiel sind n-Klassen eingerichtet,
von einer Klasse 1 bis zu einer Klasse n. Der Typ eines Fehlerschutzes,
der auf die Parameter angewandt wird, die zu diesen Klassen gehören, wird
zuvor in der Sendeseitenvorrichtung bestimmt. Überdies wird der Typ von Parametern,
die zu den Klassen gehören,
auch zuvor bestimmt. Überdies
ist es auch möglich,
wie gewünscht den
Inhalt des Fehlerschutzes, der an die verschiedenen Klassen mittels
der Sendeseitenvorrichtung angelegt wird, zu variieren. Der Rahmenbildungs-Datenberechnungsteil 101 beurteilt
die Klasse, die zu jedem Parameter gehört, der durch den Kodierer
gebildet wird, gemäß des Typs
jedes Parameters, indem er Entscheidungskriterien in der Sendeseitenvorrichtung
folgt. Es sei darauf hingewiesen, dass die Parameter, die an den
verschiedenen Klassen durch ein Sortieren angebracht worden sind,
aus Bequemlichkeitsgründen
nachstehend als die Klassendaten jeder Klassen bezeichnet werden
sollten.
-
b. Erzeugung von Rahmenbildungsdaten
-
Der Rahmenbildungs-Datenberechnungsteil 101 bestimmt
die gesamte Anzahl von Bits der Parameter, die von dem Kodierer
innerhalb eines Rahmenzyklus erzeugt werden, und gibt die Daten Cb1–Cbn, die die Anzahl von Bits von Klassendaten jeder
Klasse 1–n
anzeigen, aus.
-
Überdies
gibt, zusätzlich
zu einem Ausgeben der Daten Cb1– Cbn, die die Anzahl von Bits von Klassendaten
jeder Klasse anzeigen, der Rahmenbildungs-Datenberechnungsteil 101 auch
die Daten CC1–CCn aus,
die den Fehlerschutzinhalt anzeigen, der auf die Klassendaten jeder
Klasse angewandt wird.
-
Sämtliche
der Daten CC1–CCn schließen beispielsweise
einen Kodierungsalgorithmus zur Fehlerkodierung und Daten ein, ob
ein Verschachteln durchgeführt
wurde oder nicht und betreffend den Typ des Verschachtelns, falls
durchgeführt.
-
Außerdem gibt der Rahmenbildungs-Datenberechnungsteil 101 die
Daten ECR1–ECRn aus,
die eine Kodierungsrate in Fällen
anzeigen, wo eine Fehlerkorrektur für Klassendaten jeder Klasse
1–n implementiert
ist. Die Daten ECR1–ECRn werden
auf der Grundlage eines Restfehlerverhältnisses für Klassendaten jeder Klasse
bestimmt.
-
Außerdem gibt der Rahmenbildungs-Datenberechnungsteil 101 die
Daten EDB1–EDBn,
die die Anzahl von Bits eines Fehlererfassungscodes anzeigen, in
Fällen
aus, wo ein Fehlererfassungscode (z. B. Bits eines zyklischen Redundanzcodes)
den Klassendaten für
jede Klasse 1–n hinzugefügt sind.
Die Anzahl dieser Bits wird auf der Grundlage der Fehlerempfindlichkeit
der Klassendaten jeder Klasse bestimmt.
-
Beispielsweise wird, in Fällen, wo
die Fehlerempfindlichkeit der Klassendaten einer Klasse niedrig
ist, und wo es absehbar ist, dass auch dann, wenn ein Bitfehler
auftritt, die Wirkung auf der Empfangsseite gering sein würde, somit
die Anzahl von Bits des Fehlererfassungscodes für diese Klasse auf Null gesetzt.
Andererseits wird in Fällen,
wo ein Klassendaten-Bitfehler
auftritt, wenn absehbar ist, dass die Wirkung auf der Empfangsseite
groß sein
würde, dann
die Anzahl von Bits des Fehlererfassungscodes für diese Klasse in Bezug auf
die Anzahl von zu schützenden
Bits (d. h. die Anzahl von Bits dieser Klasse) bestimmt.
-
Die Daten Cb1–Cbn, CC1–CCn, ECR1–ECRn und EDB1–EDBn, die entsprechend des Rahmenbildungs-Datenberechnungsteils 101 ausgegeben
werden, sind sämtlich
Daten, die die Klasse betreffen, die den Rahmen bildet, und werden
somit generisch als Rahmenbildungsdaten bezeichnet.
-
Als nächstes führt der Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102 eine
spezifizierte Fehlerkorrektur bezüglich der Rahmenbildungsdaten
aus, die von dem Rahmenbildungs-Datenberechnungsteil 101 ausgegeben
werden, das heißt,
er führt
eine Fehlerkorrektur eines Typs durch, die mit dem Empfänger vorbestimmt
ist. In diesem Fall kann der Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102 eine
Fehlerkorrekturkodierung von Rahmenbildungsdaten durchführen, oder
er kann einfach einen Fehlererfassungscode hinzufügen.
-
Die Klassendaten der Klassen, die
in Klassen 1–n
von dem Rahmenbildungs-Datenberechnungsteil 101 sortiert
sind, werden dem Klassendaten-Fehlerschutz-Verarbeitungsteil 103 zugeführt. 2c zeigt Beispiele derartiger
Klassendaten.
-
Der Klassendaten-Fehlerschutz-Verarbeitungsteil 103 führt bezüglich der
empfangenen Klassendaten jeder Klasse eine Fehlerkorrekturkodierung des
Typs durch, der in den Rahmenbildungsdaten bezeichnet ist, oder
er fügt
einen Fehlererfassungscode zu Klassendaten jeder Klasse 1–n hinzu.
-
Das heißt, in Fällen, wo eine Fehlerkorrekturkodierung
bezüglich
der Klassendaten einer bestimmten Klasse k über die Verwendung eines Kodierungsalgorithmus,
der durch die Daten CCk, gekennzeichnet
ist, durchzuführen
ist, führt
der Klassendaten-Fehlerschutz-Verarbeitungsteil 103 eine
Fehlerkorrekturkodierung der Klassendaten durch den Kodierungsalgorithmus
bei einem Kodierungsverhältnis aus,
das durch die Daten ECRk gekennzeichnet
ist, die der Klasse k entsprechen. Überdies erzeugt in Fällen, wo
die Daten EDBk, die einer bestimmten Klasse
k entsprechen, nicht 0 sind, der Klassendaten-Fehlerschutz-Verarbeitungsteil 103 einen
Fehlererfassungscode mit der Anzahl von Bits, die durch die Daten
EDBk gekennzeichnet sind, aus den Klassendaten
der Klasse k, und fügt
ihn den Klassendaten hinzu.
-
Der Synthetisierer 104 sammelt
die Rahmenbildungsdaten, die einen Fehlerschutz durch den Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102 durchlaufen
haben, und die Klassendaten, die eine Fehlerkorrektur durch den
Klassendaten-Fehlerschutz-Verarbeitungsteil 103 durchlaufen haben,
synthetisiert sie und überträgt sie zu
der Empfangsseitenvorrichtung über
den Übertragungspfad.
-
Unter den Klassen 1 bis n sind Klassen
vorhanden, die für
ein Verschachteln gekennzeichnet worden sind. Ein Verschachteln
dieser Klassen wird durch diesen Synthetisierer 104 durchgeführt. Die folgenden
beiden Typen von Verschachtelungsverfahren sind für Fälle wie
diesen verfügbar.
- a. Die Anordnung von Bits in jede Klasse, die
für ein
Verschachteln gekennzeichnet ist;
- b. Die Bits, die zu der Klasse gehören, die für ein Verschachteln gekennzeichnet
sind, werden gestreut und in der Bitsequenz einer anderen Klasse angeordnet.
-
Die Daten CCk,
die einer Klasse k entsprechen, kennzeichnen, welcher Typ eines
Verschachtelns durchgeführt
wird. Überdies
ist hinsichtlich der Klasse k bei einem Durchführen eines Verschachtelns gemäß dem Verfahren
b die andere Klasse (z. B. eine Klasse j), mit welcher die Bits,
die die Klasse k bilden, gestreut und angeordnet werden, durch die Daten
CCk gekennzeichnet.
-
Es sei darauf hingewiesen, das eine
detaillierte Beschreibung betreffend die Vorrichtung zum Verschachteln
gemäß dem Verfahren
b folgen wird.
-
Die Rahmenbildungsdaten, die den
Fehlerschutz durchlaufen haben, werden in Klassen als Header hinzugefügt, und
die Rahmen variabler Länge,
die von den Headern und den Parametern gebildet werden, werden zu
der Empfangsseitenvorrichtung über
den Übertragungspfad übertragen.
-
Es sei auch darauf hingewiesen, dass
die Rahmenbildungsdaten, anstelle dass sie als Header übertragen
werden, auch zu einer Empfangsseitenvorrichtung über Kommunikationssignale übertragen werden
können,
die sich von jenen unterscheiden, über welche die Rahmen, die
aus den Klassendaten der verschiedenen Klassen gebildet sind, übertragen werden.
-
(2) Die Empfangsseitenvorrichtung
-
Wie in 3 gezeigt,
ist die Empfangsseitenvorrichtung eine Vorrichtung, die aus einem
Separator 105, einem Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 106,
einer Entflechtungsvorrichtung 107 und einem Klassendaten-Fehlerschutz-Verarbeitungsteil 108 gebildet
sind, und welche stromaufwärts
von dem Decoder angeordnet ist.
-
Der Separator 105 trennt
die Rahmen, die von dem 104 der Senderseite ausgegeben
werden, in Rahmenbildungsdaten und Klassendaten.
-
Der Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 106 führt eine
Fehlerkorrekturdekodierung oder eine Fehlererfassung für die Rahmenbildungsdaten
aus, die aus dem Separator 105 ausgegeben werden. Eine
Verarbeitung, die durch diesen Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 106 durchgeführt wird,
entspricht der Verarbeitung, die von dem Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102 auf der
Sendeseite durchgeführt
wird. Das heißt
in Fällen,
wo der Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102 der
Sendeseite das Codieren der Rahmenbildungsdaten mittels eines spezifizierten Fehlerkorrekturcodes
durchführt,
führt dieser
Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 106 bezüglich der
Rahmenbildungsdaten eine Fehlerdekodierung durch, die dem Fehlerkorrekturcode entspricht. Überdies
setzt in Fällen,
wo der Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102 der Sendeseite
einen Fehlererfassungscode einer spezifizierten Anzahl von Bits
zu den Rahmenbildungsdaten hinzufügt, dieser Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 106 den
Fehlererfassungscode ein, um Fehler in den Rahmenbildungsdaten zu
erfassen.
-
Der Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 106 gibt
Rahmenbildungsdaten aus, für
welche eine Fehlerkorrekturdekodierung oder eine Fehlererfassung
vollendet worden ist.
-
Die Entflechtungsvorrichtung 107 führt eine Entflechtung
bezüglich
Klassendaten durch, die verschachtelt worden sind, wobei Bezug genommen wird
auf die Daten CC1–CCn unter
diesen Rahmenbildungsdaten.
-
Das heißt in Fällen, wo aus den Daten CCk, die der Klasse k entsprechen, bestimmt
worden ist, dass ein Verschachteln des Typs vorgenommen wurde, das
Bits in der Klasse k anordnet, führt
die Entflechtungsvorrichtung 107 den umgekehrten Betriebsschritt
eines Anordnens dieser Bits durch und speichert die Klassendaten
in ihren ursprünglichen Zustand
vor der Bitanordnung.
-
Überdies
entfernt in Fällen,
wo aus den Daten CCk, die der Klasse k entsprechen,
bestimmt worden ist, dass ein Verschachteln des Typs vorgenommen
worden ist, der die Bits, die die Klasse k bilden, streut und sie
innerhalb einer Bitsequenz einer anderen Klasse j anordnet, die
Entflechtungsvorrichtung 107 die Bits, die der Klasse k
entsprechen, aus der Bitsequenz der Klasse j und speichert die Klassendaten
der Klassen k und m in den Zustand vor dem Verschachteln.
-
Die Vorrichtung zum Ausführen des
letzteren Typs eines Entflechtens wird im Detail untenstehend beschrieben.
-
Die Entflechtungsvorrichtung 107 führt der Klassendaten-Fehlerschutz-Verarbeitungsvorrichtung 108 die
entflechteten Klassendaten für
jede Klasse zu.
-
Die Daten, die für eine Klassendaten-Fehlerkorrekturdekodierung
oder Fehlererfassung benötigt werden,
wie etwa die Anzahl von Bits jeder Klasse, das Kodierungsverhältnis jeder
Klasse, die Anzahl von Bits jedes Klassenfehler-Schutzcodes, den
Kodierungsalgorithmus jeder Klasse und dergleichen, werden dieser
Klassendaten-Fehlerschutz-Verarbeitungsvorrichtung 108 von
dem Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 106 zugeführt.
-
Der Klassendaten-Fehlerschutz-Verarbeitungsteil 108 implementiert
eine Fehlerkorrekturdekodierung oder eine Fehlererfassung für jeweilige Klassendaten
in Übereinstimmung
mit diesen Daten und liefert die Klassendaten, die verarbeitet worden sind,
zu dem Decoder.
-
Wenn die Fehlerschutzvorrichtung
wie oben beschrieben eingesetzt wird, ist es möglich, mit einer Flexibilität auf Änderungen
in dem Fehlerschutzinhalt, der auf jede Klasse anzuwenden ist, zu
antworten, da die Konfiguration derart ist, dass sie in eine Vorrichtung,
die Rahmenbildungsdaten erzeugt, die den Inhalt des an jede Klasse,
die durch das Sortieren der Parameter erhalten wird, anzulegenden
Fehlerschutzes anzeigen, und eine Vorrichtung, die einen Fehlerschutz
entsprechend jeder Klasse in Übereinstimmung
mit diesen Rahmenbildungsdaten durchführt, getrennt ist.
-
Überdies
wird, da die Rahmenbildungsdaten, die Daten enthalten, die den Inhalt
des Fehlerschutzes, der auf jede Klasse anzuwenden ist, anzeigen,
von der Sendeseiten- zu der Empfangsseiten-Vorrichtung übertragen
werden, der Inhalt des Fehlerschutzes, der an jede Klasse anzulegen
ist, wie er durch die Rahmenbildungsdaten angezeigt wird, von der
Empfangsseitenvorrichtung bestimmt. Es ist somit möglich, eine
Fehlerkorrekturdekodierung, eine Fehlererfassung oder eine Entflechtung der
Klassendaten durchzuführen.
Deswegen besteht kein Bedarf, den Inhalt des Fehlerschutzes, der
auf jeden Parameter anzuwenden ist, der übertragen wird, zu fixieren,
und es wird möglich,
Rahmen zu übertragen,
indem der Fehlerschutzinhalt zwischen der Wendeseitenvorrichtung
und der Empfangsseitenvorrichtung umgeschaltet wird, wie es eine Zweckmäßigkeit
vorgeben kann. Zusätzlich
ist es, da die Empfangsseitenvorrichtung von der Konfiguration mittels
der Rahmenbildungsdaten informiert wird, für die Empfangsseitenvorrichtung
möglich,
eine Fehlerkorrekturdekodierung, eine Fehlererfassung oder eine
Entflechtung von Klassendaten für
jede Klasse geeignet auszuführen,
auch wenn der Rahmen eine variable Rahmenlänge aufweist, wobei die Anzahl von
Bits über
der Zeit fluktuiert.
-
(3) Die Verschachtelungsvorrichtung
und die Entflechtungsvorrichtung
-
4 ist
ein Blockdiagramm, das eine Konfiguration einer Verschachtelungsvorrichtung,
die der Synthetisierungsvorrichtung 104 der Sendeseite
bereitgestellt ist, zeigt.
-
Diese Verschachtelungsvorrichtung
ist eine Vorrichtung, die ein Verschachteln durch ein Streuen der
Bits, die die Klassendaten einer Klasse k bilden, durchführt, indem
sie innerhalb der Bitsequenz der Klassendaten einer anderen Klasse
j angeordnet werden.
-
Hier werden, in dem Fall, wo die
Bitsequenz der Klassendaten der Klasse k D1 und
die Bitsequenz der Klassendaten der Klasse j D0 ist,
die Bits, die die Bitsequenzen D1 und D0 bilden, der Verschachtelungsvorrichtung
synchron mit dem Bittakt CLK zugeführt.
-
Wie in 4 gezeigt,
schließt
diese Verschachtelungsvorrichtung als primäre Strukturelemente einen Schreibadressen-Zufuhrteil 510,
einen Betriebsspeicher 510 und einen Leseadressen-Zufuhrteil 530 ein.
-
Hier ist der Betriebsspeicher 520 eine
Speichervorrichtung zum Speichern der Bitsequenzen D1 und
D0, die zu verschachteln sind. Eine Vielzahl
von Speicherberechen mit kontinuierlichen Adressen wird zur Verwendung
aus sämtlichen
der Speicherbereiche des Betriebsspeichers 520 gewählt, und die Bits
werden in ihren jeweiligen Speicherbereichen gespeichert.
-
Es sei darauf hingewiesen, dass in
der folgenden Diskussion die Bitsequenz D1 einer
Klasse k aus p-Bits gebildet ist, und die Bitsequenz D0 aus
m × p
Bits gebildet ist.
-
Ein Verschachteln besteht aus dem
Prozess eines sequentiellen Schreibens der Bits der Bitsequenzen
D1 und D0 in den
Betriebsspeicher 520, und der Prozess eines Lesens der
Bits aus diesem Betriebsspeicher 520 ist eine Sequenz,
die sich von demjenigen unterscheidet, wenn sie eingeschrieben werden.
-
Der Schreibadress-Zufuhrteil 510 ist
eine Vorrichtung, die ein spezifiziertes Adresserzeugungsprogramm
durchführt,
um synchron zu dem Zeittakt CLK die Schreibadresse WADh,
die die Schreibbestimmung der Bits, die die Bitsequenz D1 bilden, spezifiziert, und die Schreibadresse
WADd zu erzeugen, die die Schreibbestimmung
der Bits, die die Bitsequenz D0 bilden,
spezifiziert, und führt
sie dem Betriebsspeicher 520 zu, wenn die Bits in den Betriebsspeicher 520 geschrieben
werden.
-
Überdies
wird, wenn sämtliche
der Schreibadressen, die zum Schreiben der Bits in den Betriebsspeicher 520 benötigt werden,
nicht länger
erzeugt werden, dem Leseadressenteil 530 das END-Symbol,
das dies anzeigt, zugeführt.
-
Der Leseadressen-Zufuhrteil 530 ist
eine Vorrichtung, die die Leseadresse RAD zum Lesen der Bits, die
in dem Betriebsspeicher 520 gespeichert sind, erzeugt,
indem sie synchron zu dem Bittakt CLK durch ein Ausführen eines
spezifizierten Adressenerzeugungsprogramms erzeugt wird, wenn das END-Symbol
empfangen wird, und führt
die Leseadresse RAD dem Betriebsspeicher 520 zu.
-
5 ist
ein Blockdiagramm, das den Adressenerzeugungsalgorithmus, der von
dem Schreibadressen- Zufuhrteil 510 ausgeführt wird,
von dem Standpunkt einer Hardware zeigt.
-
Der Adressenerzeugungsalgorithmus
gemäß dieses
Schreibadressen-Zufuhrteils 510 ist aus einem p-skaligen
Zähler 510A,
einem p-skaligen Zähler 510b,
einem m-skaligen Zähler 510C,
einem UND-Cutter 510D und einem Addierer 510E gebildet. Hier
zählt der
p-skalige Zähler 510A den
Bittakt CLK. Die Schreibadresse WADh für die Bits,
die die Bitsequenz D1 bilden, weist eine
untere Adresse mit einem Zählwert
des p-skaligen Zählers 510A und
eine obere Adresse, die als "0" gekennzeichnet ist,
auf.
-
Der p-skalige Zähler 510A stoppt das
Zählen des
Bittakts CLK, wenn sich der Zählwert
um eine Anzahl p von Malen ändert,
was eine Überzählung ergibt.
-
Das UND-Gatter 510D führt dem
m-skaligen Zähler 510C den
Bittakt CLK zu, nachdem der p-skalige Zähler 510A eine Überzählung ergibt.
-
Der m-skalige Zähler 510c führt ein
Zählen des
Bittakts CLK, der über
dieses UND-Gatter 510D zugeführt wird, aus. Der Zählwert des
m-skaligen Zählers 510C ergibt
eine Überzählung, wenn
er sich m-mal ändert,
aber danach, solange der Bittakt CLK zugeführt wird, wird die Zählung wieder
von dem Anfangswert "0" wiederholt. Der
p-skalige Zähler 510B fügt Zählwerte "1" jedes Mal dann hinzu, wenn der m-skalige
Zähler 510C eine Überzählung ergibt.
Der Addierer 510E addiert "1" zu
dem Zählwert
des m-skaligen Zählers 510C und überträgt das Ergebnis.
-
Die Schreibadresse WADd, die die
Schreibbestimmung der Bits, die die Bitsequenz D0 bilden, spezifiziert,
ist derart, dass der Zählwert
des p-Zählers 510B eine
untere Adresse ist, und die Ausgangsdaten des Addierers 510E eine
obere Adresse sind.
-
6 ist
ein Blockdiagramm, das eine Beispielkonfiguration des Leseadressen-Zufuhrteils 530 zeigt.
Dieser Leseadressen-Zufuhrteil 530 ist
aus einem p-skaligen Zähler 530A und
einem (m + 1)-skaligen Zähler 530B gebildet.
Der (m + 1)-skalige Zähler 530B führt ein
Zählen
für den
Bittakt CLK aus. Der p-skalige Zähler 530A setzt
seinen Zählwert
um "1" jedes Mal dann herauf,
wenn die Zählung
des (m + 1)-skaligen Zählers 530B sich
m + 1 mal ändert
und kehrt auf den Anfangswert "0" zurück.
-
Die Leseadresse RAD ist derart, dass
der Zählwert
dieses p-skaligen
Zählers 530A eine
untere Adresse ist, und der Zählwert
des (m + 1)-skaligen Zählers 530B eine
obere Adresse ist.
-
Das obige ist eine detaillierte Beschreibung der
Konfiguration der Verschachtelungsvorrichtung.
-
Es folgt eine Beschreibung einer
Verschachtelung, die durch diese Verschachtelungsvorrichtung implementiert
ist, unter Bezugnahme auf 7 und 8.
-
In dieser Verschachtelungsvorrichtung
wird ein Verschachteln unter Verwendung von (m + 1) × p kontinuierlichen
Speicherbereichen in dem Betriebsspeicher 520 implementiert.
-
7 und 8 zeigen den Speicherbereich
zum Verschachteln, der als ein zweidimensionaler Speicherraum ausgedrückt ist.
Die verschiedenen individuellen Adressen entsprechen den Speicherbereichen
in diesem Speicherraum. Eine Adresse wird aus einer unteren Adresse,
die p-Kombinationen
von Werten annehmen kann, und einer oberen Adresse, die (m + 1)-Kombinationen
von Werten annehmen kann, gebildet.
-
In 7 und 8 sind die Speicherbereiche,
die identische obere Adressen aufweisen müssen, von links nach rechts
in einer Reihenfolge der unteren Adresse angeordnet, und die Speicherbereiche,
die identische untere Adressen aufweisen müssen, sind von oben nach unten
in einer oberen Adressreihenfolge angeordnet. Wie oben bemerkt, wird
eine Reihe von Speicherbereichen mit identischen oberen Adressen
als Zeilen bezeichnet werden, und eine Reihe von Speicherbereichen
mit identischen unteren Adressen wird als Spalten bezeichnet werden.
-
Bei einem Implementieren des Verschachtelns
werden zuallererst die Bitsequenzen, die zu verschachteln sind,
sequentiell, jeweils in ihre entsprechenden m × n-Speicherbereiche bitweise geschrieben.
Wenn dieses Schreiben ausgeführt
ist, werden die Schreibadressen von dem Schreibadressen-Zufuhrteil 510 erzeugt,
der obenstehend unter Bezugnahme auf 5 beschrieben
ist.
-
Während
die p Bits, die die Bitsequenz D1 bilden,
dem Betriebsspeicher 520 synchron zu dem Bittakt CLK zugeführt werden,
wird das Bittakt CLK-Zählen
gemäß des p-skaligen
Zählers 510A in dem
Schreibadressen-Zufuhrteil 510 durchgeführt. Auch wird die Schreibadresse
WADh erzeugt, die den Zählwert
des p-skaligen Zählers 510A als
eine untere Adresse und "0" als eine obere Adresse
enthält,
und wird dem Betriebsspeicher 520 synchron zu dem Bittakt
CLK zugeführt.
-
Folglich werden, wie in 7 gezeigt, die p-Bits, die
die Bitsequenz D1 bilden, in die Anfangszeile
innerhalb des Speicherbereichs des Betriebsspeichers 520 zum Verschachteln
geschrieben.
-
Als nächstes werden, folgend auf
die Bitsequenz D1, die m × p Bits,
die Bitsequenz D0 bilden, dem Betriebsspeicher 520 synchron
zu dem Bittakt CLK zugeführt.
-
Unterdessen wird das Zählen des
Bittakts CLK durch den m-skaligen
Zähler 510C in
dem Schreibadressen-Zufuhrteil 510 ausgeführt, und
zusätzlich
wird eine Zählwerthochsetzung
des p-skaligen Zählers 510B jedes
Mal dann ausgeführt,
wenn der m-skalige Zähler 510C eine Überzählung ergibt. Außerdem wird
eine Schreibadresse WADd erzeugt, die den Zählwert des p-skaligen Zählers 510 als
eine untere Adresse enthält,
und eine "1" wird dem Zählwert des
m-skaligen Zählers 510C als
eine obere Adresse hinzugefügt,
und diese Schreibadresse wird dem Betriebsspeicher 520 synchron
zu dem Bittakt CLK zugeführt.
-
Folglich werden, wie in 7 gezeigt, die m-Anfangsbits
und den m × p
Bits, die die Bitsequenz D0 bilden, in jedem
Speicherbereich beschrieben, der der (m + 1)-ten Zeile von der zweiten
Zeile der ersten Spalte und in den Betriebsspeicher 520 geschrieben, und
dann werden die m-Bits in jeden Speicherbereich, der der (m + 1)-ten
Zeile entspricht, von der zweiten Reihe der zweiten Spalte und so
weiter geschrieben, bis die letzten m-Bits (d. h. das p-te Bit)
in jeden Speicherbereich, der der (m + 1)-ten Zeile entspricht,
von der zweiten Spalte der p-ten Spalte geschrieben.
-
Als nächstes werden die Bits, die
somit in den Betriebsspeicher 520 geschrieben sind, in
einer Sequenz gelesen, die sich von derjenigen unterscheidet, wenn
sie eingeschrieben werden.
-
In diesem Lesebetrieb werden Leseadressen
durch den Leseadressen-Zufuhrteil 530 erzeugt, der unter
Bezugnahme auf 6 beschrieben
ist.
-
Das heißt, dass das Zählen des
Bittakts CLK durch den (m + 1)-skaligen
Zähler 530B ausgeführt wird,
und zusätzlich
wird ein Zählwertinkrement
mit einem Zählwert
von "1" nur des p-skaligen Zählers 530A jedes
Mal ausgeführt,
wenn der (m + 1)-skalige Zähler 530B eine Überzählung ergibt.
Außerdem wird
dem Betriebsspeicher 520 synchron zu dem Bittakt CLK eine
Leseadresse, die den Zählwert
des p-skaligen Zählers 530A als eine
untere Adresse und den Zählwert
des (m + 1)-skaligen Zählers 530B als eine
obere Adresse enthält,
zugeführt.
-
Folglich werden, wie in 8 gezeigt, zuallererst die
(m + 1) Bits, die in jedem Speicherbereich der ersten Spalte in
dem Betriebsspeicher 520 aufgezeichnet sind, gelesen, und
dann werden die (m + 1) Bits, die in jedem Speicherbereich der zweiten
Spalte aufgezeichnet sind, gelesen, und so weiter, bis schließlich die
(m + 1) Bits, die in jedem Speicherbereich der p-ten Spalte aufgezeichnet
sind, gelesen werden.
-
Aufgrund des oben beschriebenen Verschachtelns
werden die p-Bits,
die die Bitsequenz D1 bilden, gestreut und
in gleichen Intervallen innerhalb der Bitsequenz D0 angeordnet,
wie in den 9A und 9B gezeigt.
-
Das obige war eine detaillierte Beschreibung der
Verschachtelungsvorrichtung.
-
Es folgt eine Beschreibung der Entflechtungsvorrichtung,
die der Empfangsseitenvorrichtung bereitgestellt ist.
-
10 ist
ein Blockdiagramm, das eine Konfiguration dieser Entflechtungsvorrichtung
zeigt.
-
Wenn ein Verschachteln auf der Sendeseitenvorrichtung
durch ein Streuen der Bits, die die Klassendaten der Klasse k bilden,
implementiert worden ist, indem sie innerhalb der Bitsequenz der
Klassendaten einer anderen Klasse j angeordnet werden, gewinnt dieses
Entflechten die Klassendaten der nicht-verschachtelten Klasse durch
ein Entfernen der Bits der Klassendaten der Klasse k aus der Bitsequenz
der Klassendaten der Klasse j wieder.
-
Dieser Entflechtungsvorrichtung werden synchron
zu dem Bittakt CLK die (m + 1) × p
Bits, die die Bitsequenz D1 der Klassendaten
der Klasse K bilden, und die Bitsequenz D0 Klassendaten
der Klasse j zugeführt.
-
Diese Entflechtungsvorrichtung umfasst
einen Schreibadressen-Zufuhrteil 610,
einen Betriebsspeicher 620 und eine Leseadressen-Zufuhrteil 630.
-
Hier ist der Betriebsspeicher 620 eine
Speichervorrichtung ähnlich
zu dem Betriebsspeicher 520 in der Verschachtelungsvorrichtung
1.
-
Ein Entflechten besteht aus dem Prozess
eines Schreibens dieser zugeführten
Bits in den Betriebsspeicher 620 und dem Prozess eines
Lesens dieser Bits aus dem Betriebsspeicher 620 in einer Sequenz,
die sich von derjenigen unterscheidet, wenn sei eingeschrieben werden.
-
Während
diese Bits, die den empfangenen Rahmen bilden, dem Betriebsspeicher 620 synchron zu
dem Bittakt CLK zugeführt
werden, führt
der Schreibadressen-Zufuhrteil 610 ein spezifiziertes Adressenerzeugungsprogramm
aus, um die Schreibadresse WAD zu erzeugen, indem sie den Betriebsspeicher 620 synchron
zu dem Bittakt CLK zugeführt wird.
-
Dieser Schreibadressen-Zufuhrteil 610 besitzt
eine Konfiguration, die identisch zu jener des Leseadressen-Zufuhrteils 520 in
der Verschachtelungsvorrichtung (siehe 6) ist.
-
Außerdem wird in dem Fall dieses
Schreibadressen-Zufuhrteils 610 das Zählen des Bittakts durch den
(m + 1)-skaligen Zähler
ausgeführt,
und zusätzlich
zählt der
p-skalige Zähler
seinen Zählwert um "1" jedes Mal hoch, wenn der (m + 1)-skalige
Zähler
eine Überzählung ergibt.
Außerdem
wird dem Betriebsspeicher 620 synchron zu dem Bittakt eine Schreibadresse
WAD, die den Zählwert
des p-skaligen Zählers
als eine untere Adresse und den Zählwert des (m + 1)-skaligen
Zählers
als eine obere Adresse enthält,
zugeführt.
-
Folglich werden, wie in 8 gezeigt, die (m + 1)-Anfangsbits
in jeden Speicherbereich der ersten Spalte in dem Betriebsspeicher 620 geschrieben, und
dann werden die (m + 1)-Bits
in jeden Speicherbereich der zweite Spalte geschrieben, und so weiter, bis
die letzten (m + 1)-Bits (d. h. das p-te Bit) in jeden Speicherbereich
der p-ten Spalte geschrieben werden.
-
Die Platzierung jedes Bits in dem
Betriebsspeicher 620 zu dieser Zeit ist in Übereinstimmung mit
der Position dieser Bits, wenn sie in den Betriebsspeicher 620 der
Verschachtelungsvorrichtung geschrieben werden, bevor sie von der
Sendeseitenvorrichtung gesendet werden.
-
Wenn der Prozess eines Schreibens
sämtlicher
der Bits, die den empfangenen Rahmen bilden, in den Betriebsspeicher 620 vollendet
ist, wird dem Leseadressen-Zufuhrteil 630 von dem Schreibadressen-Zufuhrteil 610 das
END-Signal, das dieses anzeigt, zugeführt.
-
Dieser Leseadressen-Zufuhrteil 620 besitzt eine
Konfiguration, die identisch zu jener des Schreibadressen-Zufuhrteils 510 in
der Verschachtelungsvorrichtung (siehe 5) ist.
-
Außerdem wird in dem Fall dieses
Leseadressen-Zufuhrteils 630 das Zählen des Bittakts CLK von dem
p-skaligen Zähler
ausgeführt.
Außerdem wird
eine Leseadresse RADh, die dem Zählwert
des p-skaligen Zählers
als eine untere Adresse und "0" als eine obere Adresse
enthält,
erzeugt und dem Betriebsspeicher 620 synchron zu dem Bittakt
zugeführt.
-
Folglich werden, wie in 7 gezeigt, die p-Bits, die
die Bitsequenz D1 bilden, von jedem Speichereich
gelesen, der der Anfangszeile in dem Betriebsspeicher 620 entspricht.
-
Als nächstes wird in dem Fall des
Leseadressen-Zufuhrteils 630 das Zählen des Bittakts durch den
m-skaligen Zähler
ausgeführt,
und zusätzlich wird
ein Zählwertinkrement
mit dem Zählwert
des p-skaligen Zählers
jedes Mal ausgeführt,
wenn der m-skalige Zähler
eine Überzählung ergibt.
Außerdem wird
eine Leseadresse RADd, die den Zählwert
des p-skaligen Zählers
als eine untere Adresse und den Zählwert des m-skaligen Zählers plus "1" als eine obere Adresse enthält, erzeugt
und dem Betriebsspeicher 620 synchron zu dem Bittakt CLK
zugeführt.
-
Folglich werden, wie in 7 gezeigt, die m Anfangsbits
unter den m × p
Bits, die die Bitsequenz D0 bilden, von
jedem Speicherbereich gelesen, der der (m + 1)-ten Zeile entsprechen,
von der zweiten Zeile der ersten Spalte in dem Betriebsspeicher 620 gelesen.
Dann werden die folgenden m-Bits
von jedem Speichereich, der der (m + 1)-ten Zeile entsprechen, von
der zweiten Zeile der zweiten Spalte in dem Betriebsspeicher 620 gelesen,
und die folgenden m-Bits werden von jedem Speichereich, der der (m
+ 1)-ten Zeile entspricht, von der zweiten Zeile der dritten Spalte
gelesen, und so weiter, bis die letzten m-Bits (d. h. das p-te Bit)
von jedem Speicherbereich, der der (m + 1)-ten Zeile entspricht,
von der zweiten Zeile der p-ten Spalte gelesen sind.
-
Dementsprechend führt die Entflechtungsvorrichtung
einen Betrieb durch, der vollständig
der umgekehrte der Verschachtelung ist, der in dem Fall der Verschachtelungsvorrichtung
durchgeführt
wird, und gewinnt den ursprünglichen,
nicht-verschachtelten Rahmen wieder.
-
Es sei darauf hingewiesen, dass in
dem Beispiel oben, obwohl der Fall, wo die Bitsequenz D1 der Klasse
k aus p-Bits gebildet ist, und die Bitsequenz D0 der
Klasse j aus m × p
Bits erläutert
ist, der Fall, wo die Anzahl von Bits der Bitsequenz D0 nicht
ein geradzahliges Vielfaches von p ist, auch möglich ist. In diesem Fall ist
es beispielsweise möglich,
ein Verfahren einzusetzen, wie etwa, dass Blindbits der Bitsequenz
D0 hinzugefügt werden, um eine Bitlänge zu bilden,
die ein geradzahliges Vielfaches der Bitlänge ist, und dann die Blindbits
zu entfernen, nachdem ein Verschachteln beendet ist.
-
Außerdem sind die Konfigurationen
der Vorrichtungen zum Verschachteln und Entflechten, die obenstehend
beschrieben sind, in jedem Fall Beispiele, und Vorrichtungen, die
in der Lage sind, das Verschachteln und Entflechten durchzuführen, das
in der Ausführungsform
benötigt
wird, sind nicht darauf beschränkt.
-
Zusätzlich zu der oben beschriebenen grundlegenden
Anordnung kann ein Verschachteln in einer Vielfalt von Ausführungsformen
ausgeführt
werden, wovon Beispiele untenstehend gegeben sind. In jedem Fall
ist es möglich,
unterschiedliche Umstände durch
eine wiederholte Verwendung der Verschachtelungsvorrichtung, wie
obenstehend beschrieben ist, anzupassen. Das gleiche trifft auf
die Entflechtung zu, die benötigt
wird, wenn verschiedene Typen eines Verschachtelns implementiert
sind.
- ➀ Wenn beispielsweise Klassen
1–3 Klassen sind,
die zu verschachteln sind, und Klassen 4–6 Klassen sind, die nicht
zu verschachteln sind, werden die Bits der Klassendaten der Klasse
1 gestreut und in der Bitsequenz der Klassendaten der Klasse 4 angeordnet,
die Bits der Klassendaten der Klasse 2 werden gestreut und in der
Bitsequenz der Klassendaten der Klasse 5 angeordnet, und die Bits
der Klassendaten der Klasse 6 werden gestreut und in der Bitsequenz
der Klassendaten der Klasse 6 angeordnet.
- ➁ Wenn beispielsweise die Klassen 1–3 Klassen sind, die zu verschachteln
sind, und die Klassen 4–6
Klassen sind, die nicht zu verschachteln sind, werden die Bits der
Klassendaten der Klasse 1 gestreut und in der Bitsequenz der Klassendaten der
Klasse 4 angeordnet, und dann werden die Bits der Klassendaten der
Klasse 2 gestreut und in der sich ergebenden Bitsequenz angeordnet, und
dann werden die Bits der Klassendaten der Klasse 3 gestreut und
in der sich ergebenden Bitsequenz angeordnet.
-
B. Detaillierte weitere
Beschreibung der Ausführungsform
-
Es folgt eine Beschreibung der Fehlerschutzvorrichtung,
die die Ausführungsform
der vorliegenden Erfindung betrifft, in weiterem Detail.
-
In der grundlegenden Anordnung, die
oben beschrieben ist, passiert es in Fällen, wo eine Vielzahl von
Rahmen dem Übertragungspfad
sequentiell geliefert werden, oft, dass unter den Rahmenbildungsdaten
identische Ausdrücke
sind, die überall
in den Rahmen vorhanden sind. Beispielsweise fällt die Anzahl von Bits, die
die verschiedenen Klassen bilden, in eine Anzahl von Kategorien
in den verschiedenen Rahmen, aber das Kodierungsverhältnis der verschiedenen
Klassen und die Anzahl von Fehlererfassungsbits der verschiedenen
Klassen sind in den verschiedenen Klassen fixiert. Dementsprechend wird,
wie in der grundlegenden Anordnung, die oben beschrieben ist, wenn
die fixierten Daten zu jedem Rahmen als Rahmenbildungsdaten übertragen
werden, die Anzahl von Bits, die dem Übertragungspfad von dem Synthetisierer 104 geliefert
wird, zunehmen und vergeudet werden.
-
Dementsprechend werden in der Fehlerschutzvorrichtung,
die die Ausführungsform
betrifft, die fixierten Daten unter den Rahmenbildungsdaten nur
zu dem Beginn der Übertragung
gesendet.
-
11 ist
ein Blockdiagramm, das diese Konfiguration zeigt.
-
In der Figur berechnet ein Festdaten-Berechnungsteil 201 die
gemeinsamen fixierten Daten in jedem Rahmen unter den Rahmenbildungsbits, und
diese fixierten Daten werden zu der Empfangsseitenvorrichtung bei
dem Beginn der Übertragung übertragen.
Eine Übertragung
dieser fixierten Daten wird durch die Verwendung eines Telekommunikationskanals
getrennt von demjenigen, der für
die Rahmen verwendet wird, erreicht.
-
Spezifisch sind die fixierten Daten
der vorliegenden Ausführungsform
die Daten ECR1–ECRn,
die das Kodierungsverhältnis
des Fehlerkorrekturcodes, der auf jede Klasse angewandt wird, anzeigen,
und die Daten EDB1–EDBn,
die die Anzahl der Bits des Fehlererfassungscodes, der auf jede
Klasse angewandt wird, anzeigen. Überdies sind die fixierten
Daten vorzugsweise so konfiguriert, dass die andere Seite unter
Verwendung einer ARQ (automatische Wiederholanforderung) oder dergleichen
sicher sein wird, diese zu empfangen.
-
Als nächstes ist ein Festdaten-Speicherteil 202 eine
Vorrichtung zum Speichern von fixierten Daten, die von dem Festdaten-Berechnungsteil 201 ausgegeben
werden.
-
Ein Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102' entfernt die
fixierten Daten, die in dem Festdaten-Speicherteil 202 gespeichert
sind, von den Rahmenbildungsdaten, die von dem Rahmenbildungs-Datenberechnungsteil 101 ausgegeben
werden, und führt
einen spezifizierten Fehlerschutz (Fehlerkorrekturkodierung, das
Hinzufügen
eines Fehlererfassungscodes, oder beides) bezüglich der übrigen Rahmenbildungsdaten
aus. Das heißt,
der Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102' führt einen
Fehlerschutz nur für
die Daten CB1–CBn und
CC1–CCn von den Rahmenbildungsdaten aus, die von
dem Rahmenbildungs-Datenberechnungsteil 101 ausgegeben
werden.
-
Der Klassendaten-Fehlerschutz-Verarbeitungsteil 103' führt eine
Fehlerkorrekturkodierung bei einem Kodierungsverhältnis aus,
das durch die Daten ECR1–ECRn spezifiziert
ist, die fixierte Daten sind, die in dem Festdaten-Speicherteil 202 gespeichert
sind, oder fügt
einen Fehlererfassungscode einer Anzahl von Bits, die durch die
Daten EDB1–EDBn spezifiziert
sind, zu den Klassendaten der Klassen 1–n hinzu.
-
Der Synthetisierer 104 sammelt
die Rahmenbildungsdaten außer
den fixierten Daten, die einen Fehlerschutz durch den Rahmenbildungs-Datenfehlerschutz-Verarbeitungsteil 102' durchlaufen
haben und den Klassendaten, die einen Fehlerschutz durch den Klassendaten-Fehlerschutz-Verarbeitungsteil 103' durchlaufen
haben, synthetisiert sie und überträgt sie zu
dem Empfänger über den Übertragungspfad.
Es sei darauf hingewiesen, dass Verschachteln, das bezüglich der
Klassendaten in diesem Synthetisierer 104 durchgeführt wird,
von dem gleichen Typ ist wie in der früher beschriebenen grundlegenden
Anordnung.
-
Wie oben beschrieben werden die fixierten Daten
(die Daten ECR1–ECRn,
EDB1–EDBn) der Rahmenbildungsdaten nur zu dem Beginn
der Übertragung
gesendet, während
während
der Übertragung die
Rahmenbildungsdaten außer
den fixierten Daten (die Daten CB1–CBn, CC1–CCn) in jedem Rahmen gesendet werden.
-
Die Empfangsseitenvorrichtung empfängt die
fixierten Daten zu dem Beginn der Übertragung, nach welcher die
Daten, die von dem Synthetisierer 104 ausgegeben werden,
empfangen werden. Dann wird die Konfiguration die Rahmens der empfangenen
Daten gemäß der fixierten
Daten, die anfänglich empfangen
werden, und der Rahmenbildungsdaten außer den fixierten Daten, die
danach empfangen werden, bestimmt. Das heißt, das Kodierungsverhältnis der
Klassen, wie auch die Anzahl von Fehlererfassungsbits der Klassen
werden durch die fixierten Daten bestimmt, und außerdem werden
die Anzahl von Bits jeder Klasse, wie auch der Kodierungsalgorithmus
jeder Klasse, ein Vorhandensein oder Nicht-Vorhandensein oder ein
Typ eines Verschachtelns durch Rahmenbildungsdaten außer den
fixierten Daten bestimmt. Deswegen werden in Übereinstimmung mit diesen Daten
Daten außer
den Rahmenbildungsdaten unter den empfangenen Daten, d. h. die Daten,
die einen Fehlerschutz durch den Klassendaten-Fehlerschutz-Verarbeitungsteil 103' durchlaufen
haben, dekodiert, was es ermöglicht,
die ursprünglichen
Daten wiederzugewinnen.
-
Die fixierten Daten, die sämtlichen
Rahmen gemeinsam sind, werden nur zu dem Beginn der Übertragung
anstelle bei jedem Rahmen gesendet, wodurch es ermöglicht wird,
ein Hinzufügen
einer zusätzlich
Anzahl von Bits, die von dem Synthetisierer 104 zu dem Übertragungspfad
zu senden sind, zu unterlassen.
-
Es sei darauf hingewiesen, dass hinsichtlich der
fixierten Daten, obwohl der Fall der Daten ECR1–ECRn, die das Kodierungsverhältnis jeder Klasse anzeigen,
und der Fall der Daten EDB1–EDBn, die die Fehlererfassungsbit-Anzahl jeder
Klasse anzeigen, beschrieben worden ist, die Ausführungsform nicht
darauf beschränkt
ist. Beispielsweise können, wenn
die Daten CB1–CBn,
die die Anzahl der Bits anzeigen, die jede Klasse bilden, auch fixierte
Daten sind, diese auch als fixierte Daten eingeschlossen werden.
Zusätzlich
können,
wenn nur entweder die Daten ECR1–ECRn, die das Kodierungsverhältnis jeder Klasse anzeigen,
oder die Daten EDB1–EDBn,
die die Anzahl der Fehlererfassungsbits jeder Klasse anzeigen, fixiert
sind, diese Daten allein als fixierte Daten verwendet werden.
-
Zusätzlich ist es hinsichtlich
der Fehlerschutzvorrichtung, die sich auf die beschriebene Ausführungsform
bezieht, zusätzlich
zu der Konfiguration vom Hardware-Typ, die in den Zeichnungen gezeigt
ist, auch möglich,
eine Konfiguration aus einem Software-Standpunkt heraus zu verwirklichen. Um
eine Konfiguration aus einem Software-Standpunkt heraus zu verwirklichen,
ist es möglich,
ein Programm mit dem gleichen Betrieb wie oben unter Verwendung
eines Personalcomputers und einer Workstation auszuführen.
-
Überdies
werden in der beschriebenen Fehlerschutzvorrichtung die Rahmen klassenmäßig gemäß der Fehlerempfindlichkeit
verschiedener Parameter sortiert, aber die vorliegende Anmeldung
ist darauf nicht beschränkt,
und die Rahmen können
in weitem Bereich auf Klassen zutreffen, das heißt, die Blöcke, die durch Schlitze und
dergleichen partitioniert sind.
-
Außerdem können die Rahmenbildungsdaten
auch Daten enthalten, die die Konfiguration der Klasse wie etwa
die Anzahl von Bits jeder Klasse wie auch Daten, die die Position
jeder Klasse anzeigen, enthalten.