DE3904831A1 - Ein universelles homophones codierverfahren - Google Patents
Ein universelles homophones codierverfahrenInfo
- Publication number
- DE3904831A1 DE3904831A1 DE19893904831 DE3904831A DE3904831A1 DE 3904831 A1 DE3904831 A1 DE 3904831A1 DE 19893904831 DE19893904831 DE 19893904831 DE 3904831 A DE3904831 A DE 3904831A DE 3904831 A1 DE3904831 A1 DE 3904831A1
- Authority
- DE
- Germany
- Prior art keywords
- coding
- symbol
- symbols
- coding method
- alphabet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
- G09C1/02—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system by using a ciphering code in chart form
Description
Die Erfindung beschreibt ein Codierverfahren, welches einen gegebenen Klartext in einen
Bildtext verwandelt, der sich in statistischer Hinsicht beliebig wenig von einem zufällig
erzeugten Text unterscheidet, aber dennoch für den Empfänger eindeutig lesbar bleibt.
Jeder Text, Deutsch, Englisch, Computerdaten, ASCII-Codierung, Δ-modulierte Sprache,
usw. hat charakteristische statistische Eigenschaften. Am auffälligsten ist dabei
die Abweichung der Buchstabenhäufigkeit von der Gleichverteilung. Im Englischen gilt
z. B. p e ≃ 0.13, p t ≃ 0.09, p n ≃ 0.08, . . ., und p z ≃ 0.001. Diese Abweichungen erlauben
es, jede Verschlüsselung, welche durch Permutation der Buchstaben entsteht, zu
brechen. Zur Festlegung der gewählten Permutation muß nur die Buchstabenhäufigkeit
im chiffrierten Text bestimmt werden und anschließend mit derjenigen der entsprechenden
Sprache verglichen werden.
Der Herzog von Mantua hat bereits 1401 in seiner Korrespondenz mit Simeone de
Crema (D. Kahn, The Codebreakers, The Story of Secret Writing, Weidenfeld and Nicolson,
London [1966]) eine Codierung verwendet, die diesen Angriff erschwert. Bei dieser Codierung
werden die häufigsten Buchstaben in einem vergrößerten Alphabet durch mehrere Buchstaben
dargestellt. Beim Auftreten eines häufigen Buchstabens wird dann zufällig eine
der Darstellungen gewählt. Eine solche Codierung heißt homophon, da sie bei gleichlautender
Bedeutung und entsprechend gleichlautender Aussprache mehrere Schreibweisen
zuläßt. Ein einfaches Beispiel, bei dem eine homophone Codierung zur Gleichverteilung
der Buchstaben führt, geht auf Massey (J. L. Massey, "On probabilistic encipherment", 1987 IEEE Information Theory Workshop,
Bellagio [Italy]) zurück:
Ein berühmtes Beispiel homophoner Codierung ist weiter durch den Beale cipher gegeben,
für dessen Beschreibung wir auf D. Denning (D. E. Denning, Cryptography and Data Security,
Addison-Wesley, Reading, Mass. [1982]) verweisen. Dort findet man ebenfalls
eine Übersicht über das Gebiet.
In technischer Hinsicht haben die Beale cipher nie eine große Bedeutung bekommen.
Dies ist weitgehend auf die, durch sie verursachte, große Datenexpansion zurückzuführen.
Ähnliche Probleme hat man auch, wenn man versucht, das obige Beispiel zu verallgemeinern,
da die Nenner im allgemeinen Häufigkeitsverteilungen sehr groß werden können
und damit große Bildalphabete implizieren. Es ist jedoch nicht nur die Größe des Bildalphabets,
die bei dieser Vorgehensweise von Nachteil ist, sondern bereits die Tatsache,
daß die Häufigkeitsverteilung das Bildalphabet vollkommen festlegt. In der Praxis
möchte man im allgemeinen Bildalphabete von der Form {0, 1} .
Aufgabe der Erfindung ist es daher, ein Konstruktionsverfahren nach Oberbegriff des
Anspruchs 1 anzugeben, welches zu einem beliebigen Klartextalphabet mit A Elementen,
einer beliebigen Häufigkeitsverteilung { p α } α ∈ und einem beliebigen Bildalphabet
mit B Elementen eine homophone Codierung mit geringer Datenexpansion
erzeugt.
Erfindungsgemäß wird die Lösung in zwei Schritten, gemäß dem kennzeichnenden
Teil von Anspruch 1, erreicht. In einem ersten Initialisierungsschritt werden über eine
"B-Bruchentwicklung" der Häufigkeiten p α, d. h.
Codiertafeln erstellt. In einem zweiten Schritt wird dann mit diesen Tafeln und dem
Ergebnis eines Zufallsexperimentes jedes Symbol einzeln codiert.
In einer bevorzugten Ausführungsform werden die Häufigkeiten, die in die Codier
tafelkonstruktion eingehen, durch Mittelung über die letzten M Buchstaben bestimmt.
Diese Ausführungsform nennen wir die adaptive Ausführungsform.
Die drei herausragendsten Merkmale der Erfindung sind:
- - Das Konstruktionsverfahren kann in vollautomatischer Weise auf einen beliebigen Text angewandt werden.
- - Mit linear zunehmendem Codieraufwand geht die Abweichung von der Gleichverteilung exponentiell gegen 0 und entsprechend geht die unicity distance (siehe D. Denning [oben zitiert]) exponentiell gegen ∞.
- - Die entstehende Datenexpansion ist verhältnismäßig gering, typischerweise von der Größenordnung 2.
Die Erfindung läßt sich sowohl in Software als auch in Hardware implementieren.
Nachfolgend soll die Erfindung an Hand von Ausführungsbeispielen in Verbindung mit
Figuren näher erläutert werden. Es zeigt
Fig. 1 ein Blockschaltbild zur Einordnung des Codierers,
Fig. 2 die Struktur des Codierverfahrens,
Fig. 3 die Erläuterung des Codierverfahrens an Hand eines Beispiels,
Fig. 4 einen vollständigen Satz von Codiertafeln zum Beispiel aus Fig. 3,
Fig. 5 einen Satz von Codiertafeln zum Beispiel aus Fig. 3, falls nach der dritten Tafel
abgebrochen wird,
Fig. 6 eine Auswahl von Codewörtern zu den Beispielen aus Fig. 3 und Fig. 4,
Fig. 7 eine erste allgemeine Ausführungsform, welche exakt die Gleichverteilung liefert,
Fig. 8 eine zweite allgemeine Ausführungsform, welche zu einer möglichst geringen
Anzahl von Codiertafeln führt, und
Fig. 9 eine dritte allgemeine Ausführungsform, welche adaptiv ist, d. h. bei der sich der
Codierer einer sich verändernder Quellenstatistik anpaßt.
Fig. 1 zeigt zur Einordnung des Codierverfahrens ein Blockschaltbild. Die Codierung
(durch ), wie sie in dieser Patentschrift beschrieben wird, glättet die statistischen
Eigenschaften des Klartextes ( { α t } t ) aus, bevor dieser (durch ) verschlüsselt wird.
Nach der Übertragung über den Kanal () und der Entschlüsselung (durch -1)
wird die Codierung (durch -1) rückgängig gemacht, wodurch sich, falls die Übertragung
fehlerfrei war ( γ t ′=γ t ), der ursprüngliche Klartext ( { α t } t ) ergibt.
Fig. 2 zeigt den strukturellen Aufbau des Codierverfahrens. In der Initialisierungsphase
werden Codiertafeln auf Grund einer weiter unten beschriebenen B-Bruchentwicklung
der Häufigkeiten { p α } α ∈ konstruiert. Diese Tafeln (Fig. 2a) können sowohl
Codes ( β ) für einzelne Symbole aus enthalten, als auch Codes ( σ ) zur Signalisierung,
daß das nächste Bildsymbol gemäß der nächsten Tafel zu interpretieren ist. Diese
letzteren Codes werden Präfixsymbole genannt, da sie den Kopf einer Folge von Symbolen
bilden, welche letztlich das Symbol aus darstellen wird. Diese Präsenz der
Präfixsymbole verkettet die Tafeln in der in Fig. 2b dargestellten Weise. In der
eigentlichen Codierungsphase (Fig. 2c) werden dann, unter der weiteren Verwendung
von Zufallszahlen, die einzelnen Symbole nach dem folgenden Schema codiert:
- a) Symbol lesen,
- b) i ← 1,
- c) eine Darstellung von α aus der Tafel T (i) , bzw. eine Darstellung des Übertrags σ aus T (i) , zufällig wählen,
- d) falls ein Übertragssymbol gewählt wurde, i ← i + 1 setzen und nach c) gehen sonst nach a) gehen.
Fig. 3 beschreibt die Funktionsweise des Codierverfahrens an Hand eines Beispiels.
In diesem Beispiel ist das Klartextalphabet gegeben durch ={ a, b, c, d }, die Häufigkeits
verteilung p a =0.45, p b =0.275, p c =0.25, p d =0,025 und das Bildalphabet
durch ={0,1}. Fig. 3a zeigt die Unterteilung des Intervalls [0, 1], welche durch die
Häufigkeitsverteilung induziert wird. In der Häufigkeitsverteilung des Beispiels gibt es
dabei kein Symbol α∈ mit p α 0.5, entsprechend wollen wir auch kein Symbol α
in dem binären Alphabet darstellen, da sonst das gewählte darstellende Symbol zu
selten vorkäme, und wir in späteren Schritten diese Deffizienz in komplizierter Weise
korrigieren müßten. Das nächstgrößere Alphabet ² ={00, 01, 10, 11} erlaubt hingegen
die Darstellung von drei Symbolen a, b und c, ohne daß eine Deffizienz auftreten würde.
Deshalb wird es für die Konstruktion der ersten Tafel gewählt. Ein 4wertiges Alphabet
induziert ebenfalls eine Einteilung des Intervalls [0, 1], was in Fig. 3b dargestellt ist.
In Fig. 3c wird gezeigt, wie sich die Intervalle aus Fig. 3a aufteilen in eine Vereinigung
von Intervallen (Im Fall eines binären Bildalphabets wird in gewissen Ausführungsformen, zu der die
hiesige zählt, die Vereinigung immer nur aus entweder einem oder keinem Intervall
bestehen. Dies ist jedoch eine Besonderheit binärer Bildalphabete.) der Form
m∈{0, 1, 2, 3} und in ein Restintervall,
welches jeweils schraffiert eingezeichnet ist. In Fig. 3d sind die Intervalle der Form
nach oben gerückt und die Restintervalle unten zusammengezogen. Die Vereinigung
all dieser Restintervalle ist per constructionem auch wieder eine Vereinigung
von Intervallen der Form
In Fig. 3e ist eine mögliche erste Tafel dargestellt. In ihr repräsentieren 00, 01
und 10, respektive, die Symbole a, b und c. Das Symbol 11 hingegen, definiert keine
eindeutige Zuordnung. Sehr häufig ist es in einer Darstellung von a involviert, wie
das große Intervall I₂ zeigt, seltener kommt es jedoch auch in der Darstellung von b
(Intervall I₄) und d (Intervall I₆) vor. Einzig in der Darstellung von c kommt es nie vor,
da p c =¼ ist und somit kein Restintervall für c entsteht.
Die Symbole (hier 11), die in der Darstellung verschiedener Symbole aus
(hier a, b und d) vorkommen, sind Präfixsymbole. Sie sind ein Teil des Kopfes der
Sequenz von Symbolen aus , die das Symbol aus darstellen. In einer Tafel können
mehrere Präfixsymbole vorkommen, wie Tafel 4 aus Fig. 4 zeigt.
Den schraffierten Teil des Intervalls [0, 1] aus Fig. 3d findet man in Fig. 3f nochmals
eingezeichnet. Durch eine geeignete Skalierung, hier um den Faktor 4, kann er auf
das Einheitsintervall mitsamt der auf ihm definierten Einteilung abgebildet werden.
Dadurch sind wir wieder in die Ausgangssituation zurückversetzt und können durch
Wiederholen der Konstruktion aus Fig. 3 sukzessive die Tafeln aus Fig. 4 konstruieren.
Dabei wurde die Alphabetgröße in jeder Tafel so gewählt, daß jeweils mindestens ein
Symbol aus dargestellt wird.
Aus Fig. 4 wird weiter ersichtlich, daß sich ab Tafel 5 die Tafeln 3, 4, 5 immer wiederholen.
Dies ist ein interessantes Phänomen, das bei rationalen Häufigkeitsverteilungen
immer früher oder später auftritt und zur effizienten Abspeicherung der Tafeln benutzt
werden kann.
Häufig ist man bei der beschriebenen Art von Codierung auch mit einer endlichen
Genauigkeit zufrieden. Wenn dies der Fall ist, kann die Tafel-Konstruktion nach einer
Anzahl Tafeln l abgebrochen werden. Das verursacht einen berechenbaren Fehler, den
man durch geeignete Wahl von l so klein machen kann wie man will. Hilfreich ist dabei,
daß der Fehler exponentiell mit l gegen 0 geht. Bricht man nach der Tafel T (l) ab,
so muß noch eine Tafel T (l+1) angefügt werden, in der alle Symbole α mit p α (l) <0
dargestellt sind. In Fig. 5 sind die Tafeln zu obigem Beispiel angegeben für den Fall,
daß nach der dritten Tafel abgebrochen wird.
An diesem Punkt wollen wir die Beschreibung der Tafel-Konstruktion zu unserem
Beispiel verlassen und zur Besprechung der eigentlichen Codierung von Symbolen übergehen.
Sie läßt sich wieder am besten an Hand von Fig. 3 erklären. Soll das Symbol
a codiert werden, so wählt man zufällig eine Zahl r ∈ [0, 0.45), wobei die zugehörige
Verteilung die charakteristische Verteilung auf diesem Intervall sein soll. Liegt r im
Intervall I₁=[0, 0.25), so gibt man das Symbol 00 ∈ {0, 1}² aus und schließt den
Codierprozeß ab. Liegt hingegen r in I₂=[0.25, 0.45), so gibt man 11 aus, wählt eine
neue Zufallszahl r ∈ [0, 0.8), nimmt die Codierung nach Tafel 2 vor und fährt so fort.
Eines der wichtigsten Merkmale bei der Codierung ist, daß die Wahl eines, ein Symbol
aus darstellenden Symbols aus , bzw. eines Präfixsymbols, bei jedem Schritt
zufällig erfolgt. Dies garantiert die Gleichverteilung, bzw. daß die Abweichung von der
Gleichverteilung klein ist, falls man nach einer gegebenen Anzahl Tafeln abbricht.
Zur Gewinnung der benötigten Zufallszahlen kann z. B. eine Rauschdiode verwendet
werden. Es ist dabei festzuhalten, daß der Empfänger die Zufallszahlen nicht zu kennen
braucht. Zur Decodierung muß er nur die Zuordnung des empfangenen Symbols aus
seiner Tabelle ablesen.
Das numerische Beispiel abschließend ist in Fig. 6 noch eine Auswahl von Codewörtern
mit der Wahrscheinlichkeit, daß das gegebene Codewort zur Codierung des Symbols α
verwendet wird, zusammengestellt.
Fig. 7 zeigt zwei Flußdiagramme zu einer etwas allgemeineren Ausführungsform
des Codierverfahrens für rationale Häufigkeitsverteilungen. Charakteristisch an dieser
Ausführungsform ist, daß die Symbole aus exakt gleichverteilt sind. Die mittlere
Codewortlänge ist in diesem Fall gegeben durch
Fig. 7a zeigt ein Flußdiagramm zur Konstruktion der Codiertafeln. Es ist eine
Verallgemeinerung des Konstruktionsverfahrens aus den Fig. 3 und 4. Gegeben ist ein
Klartextalphabet , eine rationale Häufigkeitsverteilung { p α } α ∈ und ein Bildalphabet
. Begonnen wird die folgende Schleife mit dem Indexwert i=1 und der Häufigkeits
verteilung p α (0)=p α.
- a) Es wird eine geeignete Dimension der Tafel T (i) über dem Bildalphabet gewählt:
- b) Es werden zu jedem α aus genau als Bilder von α in der Tafel T (i) vorgesehen.
- c) die übrigbleibenden n (i) :=B i - Σ α ∈ n α (i)
aus werden
zu Präfixsymbolen. - d) Falls n (i) =0 ist, ist die Darstellung durch die Tafeln T (1), . . ., T (i) exakt und die Konstruktion ist beendet. Anderenfalls wird die zur Konstruktion der Tafel T (i+1) benötigte Häufigkeitsverteilung { p α (i) } α ∈ bestimmt:
- Falls diese Häufigkeitsverteilung { p α (i) } α ∈ mit einer früher bestimmten Häufigkeits verteilung { p α (i′) } α ∈ übereinstimmt, so sind ebenfalls alle für die Codierung benötigten Tafeln bekannt: T (n) = T (i′+1+(n-i′-1)mod(i-i′)) , n i + 1,und die Initialisierungsphase ist auch beendet. Sonst wird i um Eins erhöht und zu a) zurückgegangen.
Fig. 7b zeigt ein Flußdiagramm für die Codierungsphase. Der Einfachheit halber
wurde in dieser Figur die Bezeichnung eingeführt. Zur Codierung eines
Symbols α aus werden der Index i=1 gesetzt und die folgenden Schritte durchlaufen:
- a) Es wird zufällig eine Zahl p α (i-1)] gewählt, wobei die zugehörige Verteilung die charakteristische Verteilung auf diesem Intervall ist. Falls ρ < n α (i) ist, wird α durch einen seiner Repräsentanten aus der Tafel T (i) dargestellt (Schritt b)), sonst wird ein Präfixsymbol erzeugt (Schritt c)).
- b) Es wird der zur Zufallszahl ρ gehörende Repräsentant β α (i,j) von α durch die Bestimmung der kleinsten ganzen Zahl j, welche größer als ρ ist, festgelegt und ausgegeben. In diesem Fall ist die Codierung des Symbols α beendet.
- c) Es wird das zur Zufallszahl ρ gehörende Präfixsymbol σ (i,j) durch die Bestimmung der kleinsten ganzen Zahl j, so daß ρ-n α (i) <jp α (i) festgelegt und ausgegeben. Weiter wird durch die Erhöhung des Indexes i um Eins und durch Zurückgehen zu Schritt a) mit der Erzeugung des nächsten α darstellenden Symbols fortgefahren.
Fig. 8 zeigt eine Verallgemeinerung der Ausführungsform die zu Fig. 5 führte.
Charakteristisch an dieser Ausführungsform ist, daß sie geeignet ist zu einer geringen
Anzahl Tafeln zu führen. Typischerweise werden in dieser Ausführungsform Tafeln
konstruiert, bis die folgende Schranke für den Fehler:
unter einen vorgegebenen Wert gesunken ist, wobei λ, die mittlere Codewortlänge,
gegeben ist durch
Fig. 8a zeigt ein Flußdiagramm zur Konstruktion der Codiertafeln. Dieses ist bis
auf Schritt d) identisch mit demjenigen aus Fig. 7a. Schritt d) lautet neu:
- d) Falls n (i) =0 ist, ist die Darstellung durch die Tafeln T (1), . . ., T (i) exakt und die Konstruktion ist beendet. In diesem Fall wird man für die eigentliche Codierung l=i setzen. Anderenfalls wird die zur Konstruktion der Tafel T (i+1) benötigte Häufigkeitsverteilung { p α (i) } α ∈ bestimmt:
- Falls diese Häufigkeitsverteilung { p α (i) } α ∈ mit einer früher bestimmten Häufigkeits verteilung { p α (i′) } α ∈ übereinstimmt, so sind ebenfalls alle für die Codierung benötigten Tafeln bekannt: T (n) = T (i′+1+(n-i′-1)mod(i-i′)) , n i + 1,und die Initialisierungsphase ist auch beendet. Sonst wird falls i<l der Index i um Eins erhöht und zur Schritt a) zurückgegangen, und falls i=l ist, eine letzte Tafel T (l+1) konstruiert, in der mindestens alle Buchstaben α ∈ mit p α (l) <0 dargestellt sind.
Fig. 8b zeigt ein Flußdiagramm für die Codierungsphase. Auch dieses unterscheidet
sich nur in einem Schritt von dem entsprechenden Diagramm aus Fig. 7b. Schritt c)
lautet hier:
- c) Es wird das zur Zufallszahl ρ gehörende Präfixsymbol σ (i,j) durch die Bestimmung der kleinsten ganzen Zahl j, so daß p-n α (i) < jp α (i) festgelegt und ausgegeben. Weiter wird, falls i<l, der Index i um Eins erhöht und zu Schritt a) zurückgegangen und mit der Erzeugung des nächsten α darstellenden Symbols fortgefahren. Anderenfalls wird das Symbol a durch einen seiner Repräsentanten aus Tafel T (l+1) abschließend dargestellt.
Fig. 9 zeigt schließlich die Konstruktion der Codiertafeln zu einer Ausführungsform,
bei der die Buchstabenstatistik nicht, wie bisher, von vornherein bekannt zu sein braucht.
Begonnen wird in diesem Fall mit einer Initialhäufigkeitsverteilung, z. B. der Gleich
verteilung oder mit einer auf früherer Erfahrung basierenden Verteilung. Zu dieser
Verteilung wird, mit Ausnahme einer kleinen Modifikation gegenüber dem früheren
Verfahren, ein erster Satz von Tafeln konstruiert, und mit diesem Satz von Tafeln wird
gemäß Fig. 8b codiert. Nebenbei ermitteln Sender und Empfänger auch noch eine
neue Häufigkeitsverteilung. Nach einer gewissen Anzahl übermittelter Symbole, bestimmen
dann Sender und Empfänger einen neuen Satz Tafeln auf Grund der neuen
Häufigkeitsverteilung und führen die Codierung mit dem neuen Satz weiter. So fahren
sie bis zum Ende der Übermittelung fort.
Die oben erwähnte Modifikation der Konstruktion betrifft den Schritt b). Sie bewirkt,
daß falls n (i) , laut Konstruktion nach Fig. 8a, Null wäre und somit kein
Präfixsymbol in der Tafel vorhanden wäre, Platz für ein Präfixsymbol entsteht. Der
alte Schritt b) wird durch den folgenden neuen Schritt ergänzt:
- b′) Falls - Σ α ∈ n α (i) Null ist, wird eine Darstellung β α′ (i,j) eines Symbols α′ aus der Tafel T (i) entfernt und das entsprechende n α′ (i) um Eins erniedrigt.
Der Fehler, der durch diese zusätzliche Vorschrift entsteht, ist von derselben Größenordnung
wie die obige Fehlerschranke.
Ein Präfixsymbol in den Tafeln T (1), . . ., T (l) und eine Darstellung für jedes Symbol
in der Tafel T (l+1) garantiert dabei die ständige Darstellbarkeit aller Symbole α ∈ ,
insbesondere der Symbole, die in einem enorm langen Textstück nicht vorgekommen
sind.
Die mittlere Wortlänge beim adaptiven Verfahren ist identisch mit derjenigen bei
der zweiten Ausführungsform (Fig. 8).
Die beiden wesentlichen Vorzüge des zuletzt beschriebenen Verfahrens sind erstens,
daß der Codierer keine Information über die Klartextquelle zu besitzen braucht und
zweitens, daß sich der Codierer auf eine wechselnde Quellenstatistik einstellen kann,
was im Zusammenhang mit modernen Kommunikationseinrichtungen von großem Vorteil
ist, da über ein und dieselbe Leitung häufig ganz verschiedene Daten übermittelt werden.
Soweit haben wir unsere Erfindung der Einfachheit halber ausschließlich für Textquellen,
bei denen die einzelnen Buchstaben statistisch unabhängig sind, beschrieben.
Dieselben Codierverfahren lassen sich jedoch ebenso gut auf Markov Prozesse mit endlichem
Gedächtnis anwenden. Solche Prozesse kommen der Realität eines Sprachtextes
sehr viel näher als die bisher betrachteten. Modelliert man z. B. einen englischen Text
durch einen Markov Prozeß mit Gedächtnis τ=2, so nimmt die Häufigkeit mit der auf
ein e ein n folgt "ihren wahren Wert" p n | e ≃0.17 an, welcher beträchtlich vom Wert
p n ≃0.08 in der Näherung statistisch unabhängiger Buchstaben abweicht.
Ein Markov Prozeß kann allgemein durch seine Übergangshäufigkeiten
charakterisiert werden. Die bisher beschriebenen
Codierverfahren lassen sich daher auf Markov Prozesse übertragen, indem für jeden Wert
des (τ-1)-Tupels α :=(α₁, . . ., α - τ +1) ∈ τ -1 ein Satz von Tafeln konstruiert wird
und indem beim Auftreten von α als letzte τ-1 Buchstaben gemäß diesem Satz von
Tafeln codiert wird.
Im Fall der Ausführungsform, bei der man an der Konstruktion einer möglichst geringen
Anzahl Tafeln interessiert ist, das ist die in Fig. 8 gezeigte Ausführungsform,
wird man sich im Fall einer Markov Quelle auf die Konstruktion der Tafeln beschränken,
für die gilt:
wobei p α die Häufigkeit von α ist und die übrigen Größen dieselbe Bedeutung wie
oben, jedoch bezogen auf α , haben. Die Zahl der Tafeln kann bei dieser Art von
Codierung selbst bei einer mittleren Länge des Gedächtnisses noch klein genug bleiben,
um eine vernünftige Speicherung der Tafeln zu ermöglichen.
Die adaptive Codierung von Markov Quellen kann schließlich in entsprechender
Weise durchgeführt werden.
Claims (10)
1. Codierverfahren zur Verwandlung eines beliebigen Datenstromes { α t } t mit Symbolen
α aus einem Klartextalphabet in einen Datenstrom { β t } t mit Symbolen β
aus einem Alphabet der Mächtigkeit B mit der Wirkung, daß
- a) alle Symbole β aus im wesentlichen gleich häufig auftreten und im wesentlichen auch keine sonstigen statistischen Abhängigkeiten zwischen den Symbolen aus auftreten, wobei
- b) die Symbole α aus mehrere Bilder β aus haben können und die Wahl eines Bildes durch ein Zufallsexperiment getroffen wird,
dadurch gekennzeichnet, daß
- c) die Festlegung der möglichen Bilder in Codiertafeln erfolgt, welche auf Grund einer Entwicklung der Häufigkeiten { p α } α ∈ der Symbole α∈ (bzw. der Übergangshäufigkeiten { p α | α } ( α, α ) ∈ ) in konstruiert werden, und sowohl Symbole enthalten, welche direkt ein Symbol α∈ darstellen als auch Präfixsymbole enthalten, welche lediglich den Übergang in eine andere Codiertafel signalisieren.
2. Codierverfahren nach Anspruch 1, bei dem die i-te Codiertafel aus der Folge von
Tafeln mit den Dimensionen , angefangen mit der ersten Tafel für die p α (i-1) =
p α (0) = p α gilt, wie folgt konstruiert wird: es werden dem Symbol α∈, eine Anzahl
verschiedener Symbole
aus dem Alphabet
zugeordnet, dies für jedes α∈, es werden die übriggebliebenen
- Σ α ∈ n α (i) Symbole als Präfixsymbole definiert, und falls n (i) ≠ 0
wird eine neue Häufigkeitsverteilung { p α (i) } α ∈, gemäß
konstruiert.
3. Codierverfahren nach Anspruch 2, bei dem die Tafeln T (1), . . ., T (l) gemäß Anspruch
2 konstruiert werden, und bei dem weiter in einer Tafel T (l+1) jedes Symbol mit,
p α (l) <0, mindestens einmal repräsentiert ist.
4. Codierverfahren nach Anspruch 2, bei dem die Codierung des Symbols α∈ wie
folgt durchgeführt wird:
- a) der Index i wird Eins gesetzt,
- b) es wird eine Zufallszahl r, gleichverteilt, aus dem Intervall [0, p α (i-1)) gewählt,
- c) falls mit j∈{1, . . ., n α (i) }, wird das Symbol β α (i,j) ausgegeben und zu Schritt d) übergangen, fallsr ∈ [r α (i) + (j - 1)Δ α (i) , r a (i) + j Δ α (i) ),mit wird das Symbol σ (i,j) ausgegeben, i wird um Eins erhöht und es wird zu b) übergegangen,
- d) der Codierprozeß für das Symbol a ist beendet und es kann ein neues Symbol eingelesen und codiert werden.
5. Codierverfahren nach Anspruch 1, bei dem die Häufigkeiten { p α } α ∈ der Symbole
α ∈ vorzugsweise durch Mittelung über einen Teil oder den ganzen bereits verarbeiteten
Text bestimmt werden.
6. Codierverfahren nach Anspruch 5, bei dem l+1 Codiertafeln konstruiert werden
und bei dem die Tafel T (i) gemäß Anspruch 2 gebildet wird, mit der Modifikation,
daß im Falle, wo n (i) =0 ist, ein n α (i) mit n α (i) <0 um Eins reduziert wird, n (i) ← 1 und
gesetzt werden, und bei dem weiter in der Codiertafel T l+1
jedes Symbol α ∈ mindestens einmal repräsentiert ist.
7. Codierverfahren nach einem der Ansprüche 2, 3, 4 oder 6, bei dem die Dimension
i der Codiertafel T (i) gegeben ist durch
i = [min α (-logB p α (i-1))].
8. Codierverfahren nach Anspruch 3, 6 oder 7, bei dem die Codierung des Symbols
α ∈ wie folgt durchgeführt wird:
- a) der Index i wird Eins gesetzt,
- b) es wird eine Zufallszahl r, gleichverteilt, aus dem Intervall [0, p α (i-1)] gewählt,
- c) falls mit j ∈ {1, . . ., n α (i) }, wird das Symbol β α (i,j) ausgegeben und zu Schritt e) übergangen, fallsr ∈ [r α (i) + (j-1)Δ α (i) , r α (i) + j Δ α (i) ),mit wird das Symbol σ (i,j) ausgegeben, i wird um Eins erhöht und falls i l wird zu b) übergegangen, sonst zu d),
- d) es wird eines der, in der Tafel T (l+1), α darstellenden Symbole ausgegeben und zu e) übergegangen,
- e) der Codierprozeß für das Symbol α ist beendet und es kann ein neues Symbol eingelesen und codiert werden.
9. Codierverfahren nach Anspruch 4 oder 8, bei dem die verschiedenen Zufallszahlen,
die zur Codierung benötigt werden, aus einem einzigen Zufallsexperiment gewonnen
werden, z. B. wie folgt:
- a) es wird eine Zufallszahl r, gleichverteilt auf dem Intervall [0, p α ) gewählt,
- b) falls weitere Zufallszahlen benötigt werden, d. h. falls werden sie, angefangen mit i=1, wie folgt gewonnen: fallsr ∈ [r α (i) + (j-1)Δ α (i) , r α (i) + j Δ α (i) ),mit j ∈ {1, . . ., n (i) } wird ein neues r definiert durchr ← (r - (r α (i) + (j-1)Δ α (i) ))für alle i, bis der Codierungsprozeß abbricht.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CH741/88A CH675335A5 (de) | 1988-02-29 | 1988-02-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3904831A1 true DE3904831A1 (de) | 1989-09-07 |
DE3904831C2 DE3904831C2 (de) | 2000-04-13 |
Family
ID=4194127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19893904831 Expired - Fee Related DE3904831C2 (de) | 1988-02-29 | 1989-02-17 | Ein universelles homophones Codierverfahren |
Country Status (2)
Country | Link |
---|---|
CH (1) | CH675335A5 (de) |
DE (1) | DE3904831C2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007120169A2 (en) * | 2005-07-28 | 2007-10-25 | Lucent Technologies Inc. | Homophonic substitution symmetric encryption |
DE102005006713B4 (de) * | 2005-02-15 | 2013-10-31 | Wolfgang Halang | Verfahren zur Binärdatenverschlüsselung |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4301327A (en) * | 1979-06-05 | 1981-11-17 | Lee Lin Nan | Reduction of message redundancy by multiple substitution: a message preprocessing scheme for secure communications |
DE3534416A1 (de) * | 1985-09-27 | 1987-04-02 | Detlef Keiler | Verfahren zur sicherung von datenuebertragungen |
-
1988
- 1988-02-29 CH CH741/88A patent/CH675335A5/de not_active IP Right Cessation
-
1989
- 1989-02-17 DE DE19893904831 patent/DE3904831C2/de not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005006713B4 (de) * | 2005-02-15 | 2013-10-31 | Wolfgang Halang | Verfahren zur Binärdatenverschlüsselung |
WO2007120169A2 (en) * | 2005-07-28 | 2007-10-25 | Lucent Technologies Inc. | Homophonic substitution symmetric encryption |
WO2007120169A3 (en) * | 2005-07-28 | 2008-07-17 | Lucent Technologies Inc | Homophonic substitution symmetric encryption |
JP2009503580A (ja) * | 2005-07-28 | 2009-01-29 | ルーセント テクノロジーズ インコーポレーテッド | 対称鍵データ暗号化の方法 |
US7801307B2 (en) | 2005-07-28 | 2010-09-21 | Alcatel-Lucent Usa Inc. | Method of symmetric key data encryption |
Also Published As
Publication number | Publication date |
---|---|
DE3904831C2 (de) | 2000-04-13 |
CH675335A5 (de) | 1990-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2513862C2 (de) | Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge | |
DE2264090C3 (de) | Datenverdichtung | |
DE10196890B4 (de) | Verfahren zum Ausführen einer Huffman-Decodierung | |
DE102007036647B4 (de) | Verfahren und Vorrichtung, um die Übertragung eines verschlüsselten Rollcodes zu erleichtern | |
DE69233373T2 (de) | TCM-Schema mit nichtganzzahligen Datenraten, Rahmensignalen und Konstellationsumformung | |
DE1296182C2 (de) | Verfahren zur uebertragung binaerer informationssignale sowie kodierer zur abgabe solcher signale und mit diesem betreibbarer dekodierer | |
DE1537062A1 (de) | Schluesselgenerator | |
EP2068448B1 (de) | Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung mit Verwendung mehrerer Tabellen | |
DE19742417A1 (de) | Vorrichtung und Verfahren zur Durchführung von M-fachem Maschinenendzustands-Entropiekodieren bzw. Entropiekodieren mit einer Maschine mit finitem Zustand | |
DE60107964T2 (de) | Vorrichtung zur kodierung und dekodierung von strukturierten dokumenten | |
DE2853495A1 (de) | Komplexzeichengenerator | |
DE2153517A1 (de) | Anordnung zur Codeumsetzung | |
DE2652459A1 (de) | Umsetz-vorrichtung | |
DE10196847B4 (de) | Ein Verfahren zum Erzeugen von Huffman-Code-Längeninformationen | |
DE102016220801A1 (de) | Erzeugen einer dynamischen Huffman-Tabelle | |
DE3904831C2 (de) | Ein universelles homophones Codierverfahren | |
DE2127516C2 (de) | Verfahren zur Übertragung binärcodierter Signale von Bildvorlagen oder Schriftvorlagen | |
DE3219892A1 (de) | Verfahren zum komprimieren eines digitalisierten bildes | |
EP1388230B1 (de) | Verfahren und vorrichtung zum verschlüsseln eines diskreten signals sowie verfahren und vorrichtung zur entschlüsselung | |
DE2259702C2 (de) | Schaltungsanordnung zur Codierung von Zeichen variabler Länge | |
DE2444218B1 (de) | Verfahren und anordnung zum darstellen von digitalen daten durch binaersignale | |
EP2835931B1 (de) | Verfahren zur Verschlüsselung von Zeichenketten | |
DE19653133C2 (de) | System und Verfahren zur pre-entropischen Codierung | |
DE3837843C2 (de) | Verfahren zur Datenkomprimierung und -dekomprimierung | |
DE3615255C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: ASCOM RADIOCOM AG, ZUERICH, CH |
|
8127 | New person/name/address of the applicant |
Owner name: ASCOM RADIOCOM AG, SOLOTHURN, CH |
|
8128 | New person/name/address of the agent |
Representative=s name: KOENIG, R., DIPL.-ING. DR.-ING. BERGEN, K., DIPL.- |
|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |