DE69028176T2 - Adaptive Transformationskodierung durch optimale Blocklängenselektion in Abhängigkeit von Unterschieden zwischen aufeinanderfolgenden Blöcken - Google Patents

Adaptive Transformationskodierung durch optimale Blocklängenselektion in Abhängigkeit von Unterschieden zwischen aufeinanderfolgenden Blöcken

Info

Publication number
DE69028176T2
DE69028176T2 DE69028176T DE69028176T DE69028176T2 DE 69028176 T2 DE69028176 T2 DE 69028176T2 DE 69028176 T DE69028176 T DE 69028176T DE 69028176 T DE69028176 T DE 69028176T DE 69028176 T2 DE69028176 T2 DE 69028176T2
Authority
DE
Germany
Prior art keywords
block length
block
squared
transform coefficients
blocks
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.)
Expired - Lifetime
Application number
DE69028176T
Other languages
English (en)
Other versions
DE69028176D1 (de
Inventor
Masahiro Iwadare
Takao Nishitani
Akihiko Sugiyama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP1297010A external-priority patent/JP2569842B2/ja
Priority claimed from JP1312333A external-priority patent/JP2778161B2/ja
Priority claimed from JP1324334A external-priority patent/JP2778166B2/ja
Priority claimed from JP1324333A external-priority patent/JP2569849B2/ja
Priority claimed from JP1324335A external-priority patent/JP2569850B2/ja
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE69028176D1 publication Critical patent/DE69028176D1/de
Application granted granted Critical
Publication of DE69028176T2 publication Critical patent/DE69028176T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3053Block-companding PCM systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Die Erfindung betrifft eine Bandbreitenkompressionstechnik für digitale Tonsignale unter Verwendung eines Verfahrens zur adaptiven Transformationscodierung und -decodierung. Ein ähnliches System ist in der EP-A-405591 beschrieben (Art. 54 (3) EPC).
  • Die adaptive Differenz-Pulscodemodulation (ADPCM) ist als praktische Möglichkeit der Bandbreitenkompression bekannt und wird in der digitalen Kommunikation vielfach angewendet. Eine weitere Bandbreitenkompression, die für Tonfrequenzsignale attraktiv ist, ist die adaptive Transformationscodierung (ATC). Gemäß der Beschreibung in "Adaptive Transform Coding of Speech Signals", IEEE Transactions on ASSP, Band 25, Nr. 4, 1977, Seiten 299 bis 309 und "Approaches to Adaptive Speech Coding at Low Bit Rates", IEEE Transactions on ASSP, Band 27, Nr. 11 1979, Seiten 89 bis 95 werden diskrete Spracheingabeabtastwerte gepuffert, um einen Block von jeweils N Sprachabtastwerten zu bilden. Die N Abtastwerte jedes Blocks werden linear in eine Gruppe von Transformationskoeffizienten auf der Grundlage einer linearen Transformation transformiert. Anschließend werden diese Transformationskoeffizienten adaptiv unabhängig quantisiert und übertragen. Die Adaptation wird durch ein kurzfristiges Basisspektrum gesteuert, das aus den Transformationskoeffizienten vor der Quantisierung und Übertragung abgeleitet und als zusatzsignal zum Empfänger übertragen wird. Insbesondere wird das kurzfristige Basisspektrum durch ein Bitzuweisungsverfahren gewonnen, in dem Quantisierungsbits entsprechend der Amplitude der Transformationskoeffizienten zugewiesen werden. Im Empfänger werden die quantisierten Signale adaptiv als Reaktion auf das Zusatzsignal dequantisiert, und es erfolgt eine Rücktransfor- mation, um den entsprechenden Block zurückgebildeter Sprachabtastwerte zu gewinnen.
  • Mit steigendem Wert der Blocklänge N haben die Verfahren zur linearen Transformationscodierung und -decodierung eine wachsende Auflösungsleistung mit einem resultierenden Fehlerrückgang, und die im Zusatzsignal enthaltene Informationsmenge sinkt mit zunehmender Blocklänge N. Dies bedeutet, daß sich bei einer vorgegebenen Übertragungsgeschwindigkeit eine größere Datenmenge übertragen läßt, die folglich zur Qualitätsverbesserung codierter Signale führen kann. Dies gilt für Sprachabtastwerte, die als gleichbleibend für ein Intervall angesehen werden können, das der Blocklänge N entspricht. Bei Abtastwerten mit sich schnell ändernder Charakteristik in Amplitude, Phase und/oder Frequenz führt aber ein größerer Blocklängenwert nicht unbedingt zu geringen Fehlern. Somit ist es wünschenswert, daß die Blocklänge für Signale stabilerer Art möglichst groß ist, um die Auflösung zu erhöhen, aber für Signale weniger stabiler Art möglichst klein, um ihre sich ändernden Charakteristika zu berücksichtigen. Diese konkurrierenden Anforderungen lassen sich nicht gleichzeitig durch die bekannte Lösung mit einheitlicher Blocklänge erfüllen.
  • Daher besteht eine Aufgabe der Erfindung darin, eine mit variabler Blocklänge erfolgende adaptive Transformationscodierung digitaler Abtastwerte vorzusehen, die eine zugrundeliegende analoge Tonfrequenzwellenform darstellen, z. B. Sprach- und Musiksignale. Diese Aufgabe wird mit den Merkmalen der Ansprüche gelöst.
  • Gemäß einem ersten Aspekt werden Teilblöcke digitaler Eingabeabtastwerte als Darstellung eines Tonfrequenzsignals in einem Puffer in vorbestimmten Intervallen gespeichert, und die gespeicherten Abtastwerte werden in mehrere Blöcke segmentiert, die jeweils ein ganzzahliges Vielfaches der Länge des Teilblocks haben. Jeder der Blöcke wird in entsprechende Transformationskoeffizienten codiert, die in einem Speicher gespeichert werden. Jeder der gespeicherten Transformationskoeffizienten wird quadriert, und jene der quadrierten Transformationskoeffizienten, die Hochfrequenzkomponenten der digitalen Eingabeabtastwerte entsprechen, werden summiert, um quadrierte Summen zu erzeugen. Ein Minimalwert wird aus den quadrierten Summen einer optimalblocklänge entsprechend detektiert. Jene der Transformationskoeffizienten, die der Optimalblocklänge entsprechen, werden aus dem Speicher ausgewählt und mit einem Blocklängensignal als Darstellung der Optimalblocklänge gemultiplext.
  • Gemäß einem zweiten Aspekt, werden Blockdifferenzen zwischen aufeinanderfolgenden Transformationskoeffizienten gleicher Blocklänge detektiert und quadriert. Jene der quadrierten Blockdifferenzen, die einer gleichen Blocklänge entsprechend werden summiert, um eine Menge quadrierter Summen für jede Blocklänge zu erzeugen. Repräsentative Werte der quadrierten Summen werden aus aufeinanderfolgenden der Mengen detektiert, und es wird eine Abweichung zwischen den repräsentativen Werten detektiert, um eine Blocklänge, die der detektierten Abweichung entspricht, als Optimalblocklänge zu identifizieren.
  • Gemäß einem dritten Aspekt werden Teilblöcke digitaler Eingabeabtastwerte als Darstellung eines Tonfrequenzsignals in einem Puffer in Rahmenintervallen gespeichert und in Blökke segmentiert, die jeweils ein ganzzahliges Vielfaches der Länge des Teilblocks haben. Diese Blöcke werden in einem Speicher gespeichert, und Blockdifferenzen werden zwischen aufeinanderfolgenden Blöcken gleicher Länge detektiert. Jede Blockdifferenz wird quadriert, und jene der quadrierten Blockdifferenzen, die einer gleichen Blocklänge entsprechen, werden summiert, wodurch Mengen quadrierter Summen für jedes Rahmenintervall erzeugt werden. Repräsentative Werte der quadrierten Summen werden aus aufeinanderfolgenden der Mengen detektiert, und es wird eine Abweichung zwischen den repräsentativen Werten detektiert, um eine Blocklänge, die der detektierten Abweichung entspricht, als Optimalblocklänge zu identifizieren. Jene der Blöcke mit der Optimalblocklänge werden aus dem Speicher ausgewählt und in entsprechende Transformationskoeffizienten codiert, die mit einem Blocklängensignal als Darstellung der Optimalblocklänge gemultiplext werden.
  • Im folgenden wird die Erfindung näher anhand der beigefügten Zeichnungen beschrieben. Es zeigen:
  • Fig. 1 in Blockform ein digitales Kommunikationssystem mit einer mit variabler Blocklänge erfolgenden adaptiven linearen Transformationscodierungs-/Decodierungslösung gemäß einer ersten Ausführungsform der Erfindung;
  • Fig. 2 in Blockform Einzelheiten der Puffersteuerung von Fig. 1;
  • Fig. 3A und 3B eine Folge von digitalen Ein- und Ausgabeabtastwerten;
  • Fig. 4 Einzelheiten des Normierers von Fig. 1;
  • Fig. 5 Einzelheiten der Bitzuweisungsschaltung im Sender;
  • Fig. 6 Einzelheiten des Hochfrequenz-Leistungsdetektors von Fig. 1;
  • Fig. 7 Einzelheiten von Signalen, die im Detektor von Fig. 6 erscheinen;
  • Fig. 8 Einzelheiten der Bitzuweisungsschaltung im Empfänger von Fig. 1;
  • Fig. 9 Einzelheiten des Denormierers im Empfänger von Fig. 1;
  • Fig. 10 in Blockform eine zweite Ausführungsform der Erfindung;
  • Fig. 11 in Blockform Einzelheiten des Blockdifferenzdetektors von Fig. 10;
  • Fig. 12 in Blockform Einzelheiten des Optimalblocklängendetektors von Fig. 10;
  • Fig. 13 in Blockform eine Abwandlung des Optimalblocklängendetektors von Fig. 12; und
  • Fig. 14 in Blockform eine dritte Ausführungsform der Erfindung.
  • Fig. 1 zeigt ein Datenkompressionssystem unter Verwendung eines Verfahrens zur adaptiven linearen Transformationscodierung und -decodierung gemäß einer ersten Ausführungsform der Erfindung für Telekommunikations- und Speicheranwendungen. In der veranschaulichten Ausführungsform ist das System als Kommunikationssystem dargestellt. Auf der Sendeseite des Kommunikationssystems wird ein analoges Tonfrequenzsignal, entweder Sprache oder Musik, über einen Eingangsanschluß 1 an einem A/D-Wandler 2 angelegt, in dem es mit der Nyquist-Rate abgetastet und in digitale Abtastwerte quantisiert sowie einem Puffer 3 zugeführt wird. Auf eine später vollständig zu beschreibende Weise ist eine Puffersteuerung 10 vorgesehen, um kontinuierlich digitale Eingabeabtastwerte in den Puffer 3 zu schreiben und gespeicherte Abtastwerte in solchen Intervallen auszulesen, daß digitale Abtastwerte zu einer Folge von unterschiedlichen Blocklängen geformt werden, die ein ganzzahliges Vielfaches von N Abtastwerten sind, d. h., N, 2N, ... 2lN (worin l = 1, 2, ... m ist). In der veranschaulichten Ausführungsform wird jede aufeinanderfolgende Gruppe von 4N Eingabeabtastwerte nacheinander in Blöcke von N, 2N und 4N Ausgabeabtastwerten aufgeteilt.
  • Einzelheiten der Puffersteuerung 10 sind in Fig. 2 dargestellt. Eine der aufeinanderfolgenden Gruppen von 4N Eingabeabtastwerten wird im Puffer 3 gespeichert, der durch einen zweiweg-Direktzugriffspeicher realisiert ist. Die Puffersteuerung 10 weist einen Schreibadreßgenerator 30 und einen Leseadreßgenerator 31 zum Erzeugen von Schreib- und Leseadressen für den RAM 3 auf. Ein Subtrahierer 32 ist mit den Ausgängen der Adreßgeneratoren 30 und 31 verbunden, um den Betrag von Abtastwerten zu detektieren, die im RAM 3 gespeichert sind, indem er die Schreib- und Leseadressen vergleicht. Der Subtrahierer 32 erzeugt vier Ausgabesignale auf jeweiligen Leitungen N, 2N, 3N und 4N, wenn die gespeicherte Abtastwertzählung N, 2N, 3N bzw. 4N erreicht. Die Ausgaben des Subtrahierers 32 werden zu einer Steuerung 33 mit Ausgangsanschlüssen geführt, die mit N, 2N, 2N+Δ, 3N, 4N, 4N+Δ und 4N+2Δ bezeichnet sind. Die Ausgangsanschlüsse N, 2N, 3N und 4N der Steuerung 33 sind zusammen mit einem Taktgenerator 36 verbunden, der N Taktimpulse in Burstform erzeugt, und die Ausgangsanschlüsse 2N+Δ und 4N+Δ sind über ein ODER-Gatter 35 mit einem Taktgenerator 37 gekoppelt, der 2N Taktimpulse erzeugt. Der Ausgangsanschluß 4N+2Δ der Steuerung 33 ist mit einem Taktgenerator 38 verbunden, der 4N Taktimpulse erzeugt. Die Ausgänge der Taktgeneratoren 36, 37 und 38 sind mit dem Zähleingang des Leseadreßgenerators 31 gekoppelt. Der Leseadreßgenerator 31 wird auf die zählung null als Reaktion auf ein Signal von den Ausgangsanschlüssen 2N+Δ und 4N+2Δ zurückgesetzt, die über ein ODER-Gatter 34 verbunden sind. Ferner wird der Adreßgenerator 31 auf eine zählung 2N als Reaktion auf ein Signal vom Ausgangsanschluß 4N+Δ der Steuerung 33 zurückgesetzt. In periodischen Intervallen führt die Steuerung 33 einen Löschimpuls zum Schreibadreßgenerator 30, um alle Abtastwerte im RAM 3 zu verwerfen und ihn mit neuen Abtastwerten zu füllen. Dieser Löschimpuls wird auch am Leseadreßgenerator 31 über das ODER-Gatter 34 angelegt.
  • Der Betrieb der Puffersteuerung 10 wird anhand von Fig. 3A und 3B verständlich. In Nt Intervallen werden N Eingabeabtastwerte periodisch vom A/D-Wandler 2 zum RAM 3 als Einheit geführt, die als "Teilblock" bezeichnet wird, und gespeicherte Abtastwerte werden aus dem RAM 3 als Einheit ausgelesen, die als Block variabler Länge oder einfach "Block" bezeichnet wird, der ein ganzzahliges Vielfaches der Länge eines Teilblocks ist. Bei 4Nt- oder "Rahmen"-Intervallen wird ein Löschimpuls an beiden Adreßgeneratoren angelegt, um die gesamten im RAM 3 gespeicherten Abtastwerte zu löschen. Zu der Zeit t&sub0; wird ein Löschimpuls an beiden Adreßgeneratoren angelegt, und zu der Zeit Nt werden N Eingabeabtastwerte als ein erster Teilblock n&sub1; im RAM 3 gespeichert. Der Subtrahie- rer 32 führt eine Ausgabe auf der Leitung N zur Steuerung 33, um diese zu veranlassen, eine Ausgabe an ihrem Ausgangsanschluß N anzulegen. Der Taktgenerator 36 wird durch die Steuerung 33 freigegeben, um N Taktimpulse zum Leseadreßgenerator 31 zu führen, um den ersten Teilblock N&sub1;(&sub1;) aus dem RAM 3 als Einheit auszulesen, die als "Block" bezeichnet wird, d. h., einen ersten Block N&sub1;(&sub1;) von N Ausgabeabtastwerten (d. h., eine Teilblocklänge).
  • Zu der Zeit 2nt werden Eingabeabtastwerte als ein zweiter Teilblock n&sub2; im RAM 3 gespeichert, und der Subtrahierer 32 erzeugt ein Ausgabesignal auf der Leitung 2N. Als Reaktion auf dieses Signal gibt die Steuerung 33 den Taktgenerator 36 über ihren Ausgangsanschluß 2N frei, so daß der Leseadreßgenerator 31 um einen Zählwert 2N inkrementiert wird, um den gespeicherten zweiten Teilblock n&sub2; als einen zweiten Block N&sub1;(&sub2;) von N Ausgabeabtastwerten auszulesen. In der Folge gibt zu der Zeit (2N+Δ)t die Steuerung 33 den Taktgenerator 37 über ihren Ausgangsanschluß 2N+Δ und das ODER-Gatter 35 frei, um 2N Taktimpulse zum Leseadreßgenerator 31 zu führen, um den ersten Teilblock n&sub1; und den zweiten Teilblock n&sub2; gleichzeitig als einen ersten Block N&sub2;(&sub1;) mit einer Länge von zwei Teilblöcken auszulesen.
  • Zu der Zeit 3nt wird ein dritter Teilblock n&sub3; im RAM 3 gespeichert, und der Subtrahierer 32 erzeugt ein Ausgabesignal auf der Leitung 3N. Die Steuerung 33 führt ein Signal zum Ausgangsanschluß 3N, um den Taktgenerator 36 freizugeben. Somit wird der Leseadreßgenerator 31 um eine Zählung N vom vorherigen Zählwert 2N inkrementiert, und der dritte Teilblock N&sub1;(&sub3;) wird aus dem RAM 3 als ein dritter Block N&sub1;(&sub3;) von N Ausgabeabtastwerten ausgelesen.
  • Zu der Zeit 4Nt wird ein vierter Teilblock n&sub4; im RAM 3 gespeichert, und der Subtrahierer 32 erzeugt ein Ausgabesignal auf der Leitung 4N. Die Steuerung 33 führt ein Signal zum Ausgangsanschluß 4N, um den Taktimpulsgenerator 36 freizugeben. Somit wird der Leseadreßgenerator 31 um eine Zählung N vom vorherigen Zählwert 3N inkrementiert, und der vierte Teilblock n&sub4; wird aus dem RAM 3 als ein vierter Block N&sub1;(&sub4;) von N Ausgabeabtastwerten ausgelesen. Im Anschluß daran legt die Steuerung nachfolgend ein Signal an ihrem Ausgangsanschluß 4N+Δ an, um den Taktgenerator 37 zu veranlassen, 2N Taktimpulse zum Leseadreßgenerator 31 sowie zu ihrem Eingangsanschluß zum Rücksetzen auf 2N zu führen. Somit wird der Adreßgenerator 31 um eine Zählung 2N von der vorherigen Adreßzählung 2N inkrementiert, um den dritten und vierten Teilblock N&sub1;(&sub3;) und N&sub1;(&sub4;) als einen zweiten Block N&sub2;(&sub2;) von N Ausgabeabtastwerten auszulesen. Danach legt die Steuerung 33 ein Signal an ihrem Ausgangsanschluß 4N+2Δ an. Dieses Signal setzt den Adreßgenerator 31 auf null zurück und veranlaßt den Taktgenerator 38, den Leseadreßgenerator 31 um eine Zählung 4N von null zu inkrementieren. Als Ergebnis werden der erste bis vierte Teilblock n&sub1;, n&sub2;, n&sub3; und n&sub4; aus dem RAM 3 als ein Block N&sub3; mit einer Länge von vier Blöcken ausgelesen.
  • Danach löscht die Steuerung 33 den Schreib- und Leseadreßgenerator, um das vorstehend beschriebene Verfahren zu wiederholen und nacheinander vier nächste Teilblöcke von Eingabeabtastwerten zu speichern und sieben Blöcke variabler Länge auszulesen. Aus Fig. 3A wird deutlich, daß jede Folge von sieben Blöcken mit unterschiedlichen Längen eine gleiche Anzahl von Teilblöcken von aufeinanderfolgenden Eingängen enthält, d. h., drei Teilblöcke von ersten Eingängen, drei Teilblöcke von zweiten Eingängen, drei Teilblöcke von dritten Eingängen und schließlich drei Teilblöcke von vierten Eingängen. Die gespeicherten Abtastwerte werden daher in sieben Blöcke von N, N, 2N, N, N, 2N und 4N Ausgabeabtastwerte unterteilt und in Rahmenintervallen gelöscht, wenn insgesamt zwölf Ausgabeteilblöcke aus jeweils vier Eingabeteilblöcken abgeleitet sind. Anders ausgedrückt wird jede 4N-Eingabeabtastwertfolge in eine erste Menge von vier Blöcken mit jeweils einfacher Teilbiocklänge, eine zweite Menge von zwei Blöcken mit zweifacher Teilblocklänge und eine dritte Menge oder ein einzelner Block mit vierfacher Teilblocklänge gemäß Fig. 3B umgewandelt. Somit erscheint in Rahmenintervallen eine Folge von Mengen von Blöcken mit unterschiedlichen Blocklängen Ni (1 &le; i < n, worin n die längste Blocklänge ist) am Ausgang des Puffers 3, und gleiche Teilblöcke erscheinen wiederholt in jeder Menge.
  • Die Ausgabe des Puffers 3 wird zu einem Normierer 4 geführt. Die Wirkung des Normierers 4 besteht darin, daß er einen linearen Transformationscodierer 5 veranlaßt, eine Ausgabe zu erzeugen, deren Wert nicht vom Leistungspegel des Eingabesignals abhängig ist. Gemäß Fig. 4 weist der Normierer 4 einen Puffer 40, einen Varianzrechner 41 und einen Skalierer 42 auf. Abtastwerte jedes Blocks variabler Länge vom Puffer 3 werden im Puffer 40 gespeichert, und die Varianz jedes Blocks wird berechnet, um ein Signal als Darstellung einer mittleren Leistung jedes Blocks zu erzeugen. Die Ausgabe des Varianzrechners 41 wird zu einem Speicher 11 und zum Skalierer 42 geführt, um die Werte der im Puffer 40 gespeicherten Abtastwerte varianzgemäß zu modifizieren.
  • Der lineare Transformationscodierer 5 ist mit dem Ausgang des Skalierers 42 verbunden, um eine lineare Transformationscodierung an jedem Block variabler Länge der skalierten Abtastwerte durchzuführen, um die normierten digitalen Abtastwerte jedes Blocks in entsprechende lineare Transformationskoeffizienten zu codieren, die zu einem Speicher 6 und zu einem Hochfrequenz-Leistungsdetektor 13 geführt werden. Der lineare Transformationscodierer 5 weist einen Schaltungsaufbau auf, der die Frequenz der normierten Abtastwerte analysiert, und die Transformationskoeffizienten jedes Blocks so umordnet, daß jene der Transformationskoeffizienten in jedem Block, die früher in diesem Block auftreten, den niedrigeren Frequenzkomponenten der Eingabeabtastwerte entsprechen, und jene, die später in diesem Block auftreten, den höheren Frequenzkomponenten der Eingabeabtastwerte entsprechen. Der Einfachheit halber wird jeder Transformationskoeffizient durch yj{(NI)} dargestellt worin j = 1, 2, ... k ist (worin k eine Ganzzahl als Darstellung der Blocklänge Ni ist) und y&sub1; den Transformationskoeffizienten entspricht, die den Eingabeabtastwerten mit den niedrigsten Frequenzen entsprechen, und yn den Transformationskoeffizienten entspricht, die den Eingabeabtastwerten mit den höchsten Frequenzen entsprechen. Die Walsh-Hadamard-Transformation, die diskrete Fourier-Transformation, die diskrete Kosinus-Transformation und die Karhunen- Loéve-Transformation sind geeignete lineare Transformationscodierungen für diesen Zweck.
  • Der Speicher 6 hat mehrere Ausgangsanschlüsse, an denen die Transfomationskoeffizienten nacheinander erscheinen. Ein Selektor 7 ist mit den Ausgängen des Speichers 6 verbunden, um selektiv jene der Transformationskoeffizienten an einem Quantisierer 8 anzulegen, die einer gewünschten Blocklänge entsprechen, die durch ein von einem Selektor 17 zugeführtes Blocklängensignal festgelegt ist.
  • Der Quantisierer 8 weist Quantisiererelemente zum aufeinanderfolgenden Quantisieren der Transformationskoeffizienten unter Verwendung einer optimalen Anzahl von Bits auf, die von einer Bitzuweisungsschaltung 9 zugeführt werden, deren Funktion darin besteht, sich aus dem Quantisierungsverfahren ergebende quadrierte Fehler zu minimieren. Fig. 5 zeigt Einzelheiten der Bitzuweisungsschaltung 9 mit einer Quadrierund Mittelungsschaltung 50, in der quadrierte Werte der Transformationskoeffizienten aus jedem vom linearen Transformationscodierer 5 zugeführten Block variabler Länge abgeleitet werden und ein Mittelwert von benachbarten M quadrierten Koeffizienten (worin M ein Divisor von N ist) aus jedem Block variabler Länge als ein repräsentativer Wert der M Koeffizienten genommen wird. Aus jedem von N quadrierten Koeffizienten werden daher L (= N/M) Koeffizienten abgeleitet und zu einem Quantisierer 51 geführt, in dem sie quantisiert und zum Multiplexer 18 geführt und als Zusatzinformationen übertragen werden. Andererseits wird die Ausgabe des Quantisierers 51 durch einen Dequantisierer 52 dequantisiert und zu einem Interpolator 53 geführt, in dem die dequantisierten Abtastwerte zur Basis 2 logarithmiert und (M-1) Interpolationen zwischen aufeinanderfolgenden Eingabeabtastwerten vorgenommen werden. Die Ausgabe des Interpolators 53 wird zu einem Schrittgrößenoptimierer 54 geführt, in dem folgende Gleichung berechnet wird:
  • worin sind: Ri die Anzahl von Bits, die einem i-ten Transformationskoeffizienten zugewiesen sind, die mittlere Anzahl von Bits, die jedem Transformationskoeffizienten zugewiesen sind und i² ein quadrierter Wert des i-ten interpolierten Transformationskoeffizienten.
  • Entsprechend einer durch die Bitzuweisungsschaltung 9 bestimmten Schrittgröße wird die Ausgabe des Selektors 7 quantisiert und zum Multiplexer 18 geführt, von dem das quantisierte Signal als Hauptinformation über eine Übertragungsleitung 19 übertragen wird.
  • Der Hochfrequenz-Leistungsdetektor 13 empfängt einen Rahmen von Transformationskoeffizienten und bestimmt die Leistung &delta;(Ni) jener Hochfrequenzkomponenten, die in einem Bereich auftreten, der mit einem Transformationskoeffizienten entsprechend einem vorbestimmten Schwellwert Th beginnt und mit einem Transformationskoeffizienten entsprechend Ni endet, der durch die Ganzzahl k dargestellt ist. Die Leistung &delta;(Ni) ergibt sich aus der folgenden Gleichung:
  • worin yj(Ni) Transformationskoeffizienten des Blocks Ni darstellt, wobei 1 &le; j < i gilt.
  • Gemäß Fig. 6 wird die Ausgabe des Transformationscodierers 5 an einer Quadrierschaltung 61 angelegt, in der sie quadriert und zu einem ersten Eingang eines Addierers 62 geführt wird. Die Ausgabe des Addierers 62 ist mit einem Speicher 14 und ferner über einen Schalter 63 mit einem Verzögerungselement 64 gekoppelt, in dem sie um ein Abtastintervall verzögert und zum zweiten Eingang des Addierers 62 geführt wird. Eine Taktungsschaltung 65 reagiert auf ein Bezugstaktungssignal, um einen Schaltimpuls mit einer Dauer zu erzeugen, die mit einem Transformationskoeffizienten y&sub1;(Ni) beginnt, der dem Schwellwert Th entspricht, und mit dem Transformationskoeffizienten yth(Ni) endet, was in Teil (a) von Fig. 7 gezeigt ist. Daher werden jene der quadrierten Werte von Transformationskoeffizienten in jedem Block, die während der Periode des Schaltimpulses gemäß Teil (b) in Fig. 7 auftreten, durch den Addierer 62 summiert und durch einen Faktor uni mit einem Teiler 66 geteilt, um ein normiertes Leistungssignal &delta;(Ni) als Lösung von Gleichung (2) für Transformationskoeffizienten gleicher Blocklänge zu erzeugen. Im Beispiel von Fig. 3A werden daher sieben quadrierte Summen 6(Ni) von Hochfrequenzkomponenten aus jedem Rahmenintervall abgeleitet, d. h., vier quadrierte Summen für N&sub1;, zwei quadrierte Summen für N&sub2; und eine quadrierte Summe für N&sub3;.
  • Die quadrierten Summenausgaben des Hochfrequenz-Leistungsdetektors 13 werden an jeweiligen Stellen eines Speichers 14 gespeichert, die über seine Ausgangsanschlüsse mit einem Minimalwertdetektor 15 verbunden sind, in dem alle quadrierten Summen &delta;(Ni) nach einem Minimalwert durchsucht werden, wobei die Blocklänge Ni der minimalen quadrierten Summe als eine optimalblocklänge ausgewählt und ein Signal als Anzeige dieser Blocklänge zu einem Selektor 17 geführt wird.
  • Eine Betriebsartensteuerschaltung 16 ist vorgesehen, um ein Betriebsartensteuersignal zu erzeugen, das anzeigt, ob das System in einer Festbetriebsart, in der eine festgelegte Blocklänge zur Übertragung ausgewählt wird, oder in einer Optimalbetriebsart, in der eine optimalblocklänge zur Übertragung ausgewählt wird, zu betreiben ist. Das Ausgabesignal der Betriebsartensteuerschaltung 16 wird mit dem Selektor 17 gekoppelt.
  • Im Verlauf einer Festbetriebsart zeigt die Ausgabe der Betriebsartensteuerschaltung 16 an, daß die festgelegte Blocklänge auszuwählen ist, und ein Signal als Anzeige der festgelegten Blocklänge wird vorbehaltlos mit Priorität gegenüber der Ausgabe des Optimalblocklängendetektors 15 ausgewählt und am Multiplexer 18 als Zusatzinformation und ferner an Steueranschlüssen der Selektoren 7 und 12 als Schaltsignal angelegt. Als Reaktion auf dieses Schaltsignal wird ein im Speicher 6 entsprechend der festgelegten Blocklänge gespeicherter Transformationskoeffizient aus dem Speicher durch den Selektor 7 ausgelesen und zum Quantisierer 8 geführt, und ein im Speicher 11 entsprechend der festgelegten Blocklänge gespeichertes Varianzanzeigesignal wird aus dem Speicher durch den Selektor 12 ausgelesen und zum Multiplexer 18 geführt.
  • Im Verlauf einer Optimalbetriebsart zeigt die Ausgabe der Betriebsartensteuerschaltung 16 an, daß die Ausgabe des Optimalblocklängendetektors 15 vorbehaltlos auszuwählen ist. Somit werden ein Transformationskoeffizient im Speicher 6 und ein Varianzanzeigesignal im Speicher 11, die beide der Optimalblocklänge entsprechen, aus den Speichern durch die Selektoren 7 und 12 ausgelesen.
  • Auf der Empfangsseite des Kommunikationssystems wird das Multiplexsignal durch einen Demultiplexer 20 in einzelne Komponenten zerlegt. Die quantisierten Transformationskoeffizienten werden im Demultiplex behandelt und aufeinanderfol- gend zu einem Dequantisierer 21 geführt, und das einen Schrittgrößenwert anzeigende, von der Bitzuweisungsschaltung 9 abgeleitete Signal wird im Demultiplex behandelt und zu einer Bitzuweisungsschaltung 22 geführt. Ferner wird das durch den Normierer 4 abgeleitete Varianzsignal im Demultiplex behandelt und zu einem Denormierer 25 geführt.
  • Gemäß Fig. 8 weist die Bitzuweisungsschaltung 22 einen Dequantisierer 70, einen Interpolator 71 und einen Schrittgrößenoptimierer 72 auf. Das im Demultiplex behandelte Signal des Schrittgrößenwerts wird durch den Dequantisierer 70 dequantisiert und zum Interpolator 71 geführt, der Interpolationen im wesentlichen wie der Interpolator 43 auf der Sendeseite des Systems vornimmt. Auch der Schrittgrößenoptimierer 72 entspricht dem Schrittgrößenoptimierer 44 des Senders und bestimmte eine optimale Quantisierungsschrittgröße durch Berechnen von Gleichung (1). Unter Verwendung der durch den Optimierer 72 bestimmten Schrittgröße gewinnt der Dequantisierer 21 ein Abbild der ursprünglichen Transformationskoeffizienten wieder und führt es zu einem linearen Rücktransformationscodierer 24, dessen Ausgang mit dem Denormierer 25 verbunden ist. Das festgelegte oder Optimalblocklängensignal wird durch den Demultiplexer 20 im Demultiplex behandelt und zu einer Blocktaktungsschaltung 23 geführt, in der es in ein Blocktaktungssignal als Anzeige des Endes eines empfangenen Blocks umgewandelt wird. Als Reaktion auf das Blocktaktungssignal führt der lineare Rücktransformationscodierer 24 eine lineare Rücktransformation an den dequantisierten Transformationskoeffizienten durch, um ein Abbild des ursprünglichen digitalen Sprach-/Musikabtastwerts wiederzugewinnen, und legt es am Denormierer 25 an.
  • Das am Denormierer 25 angelegte Signal wird auf umgekehrte Weise wie das des Normierers 4 im Sender verarbeitet. Gemäß Fig. 9 weist der Denormierer 25 einen Skalierer 80 auf, der die Ausgabe des linearen Rücktransformationscodierers 24 mit einem Kehrwert des im Demultiplex behandelten Varianzsignals multipliziert. Die Ausgabe des Skalierers 80 wird zu einem Puffer 81 geführt, dessen Ausgabe durch einen D/A- Wandler in Analogform umgewandelt wird, um ein Abbild des ursprünglichen Sprach-/Musiksignals an einem Ausgangsanschluß 27 zu erzeugen.
  • Fig. 10 zeigt eine abgewandelte Ausführungsforrn der Erfindung. Bei dieser Abwandlung sind ein Blockdifferenzdetektor 90, ein Speicher 91 und ein optimalblocklängendetektor 92 anstelle des Hochfrequenz-Leistungsdetektors 13, des Speichers 14 und des optimalblocklängendetektors 15 von Fig. 1 vorgesehen. Der Differenzdetektor 90 erzeugt ein Signal als Darstellung einer Blockdifferenz zwischen jenen Transformationskoeffizienten aufeinanderfolgender Auftretensfille mit gleicher Blocklänge (oder gleicher Bitlänge). Anschließend wird die Blockdifferenz quadriert, und eine quadrierte Summe &delta;'(Ni) wird aus Transformationskoeffizienten gleicher Blocklänge abgeleitet, die durch yj{(Ni)} (worin 1 &le; i &le; n ist) dargestellt sind. Qualitativ berechnet der Blockdifferenzdetektor 90 die folgende Gleichung:
  • worin yj(Ni) Transformationskoeffizienten darstellt, die zu einem bestimmten Zeitpunkt auftreten, und zj(Ni) jene darstellt, die zu einem Zeitpunkt auftreten, der einen Block vor dem bestimmten Zeitpunkt liegt.
  • Einzelheiten des Blockdifferenzdetektors 90 und des Optimalblocklängendetektors 92 sind in Fig. 11 bzw. 12 dargestellt. In Fig. 11 ist der Ausgang des linearen Transformationscodierers 5 mit dem positiven Eingang eines Subtrahierers 103 verbunden. Ein Eingangskoppelbaustein 100 ist vorgesehen, um jeweils Transformationskoeffizienten N&sub1; bis Nn jeder variablen Menge vom linearen Transformationscodierer 5 in Abgriff-Verzögerungsleitungen 101&sub1; bis 101n zu speichern. Jede Abgriff-Verzögerungsleitung hat Speicherelemente, die zahlenmäßig der Anzahl von Bits des entsprechenden Transformationskoeffizienten entsprechen. Ferner wird dem Eingangskoppelbaustein 100 die Ausgabe des Codierers 5 als Schaltsignal zugeführt, um aufeinanderfolgend einen Weg von seinem Eingangsanschluß zu einer der Abgriff-Verzögerungsleitungen in Übereinstimmung mit dem Wert eines am Eingangsanschluß erscheinenden Transformationskoeffizienten herzustellen. Die Ausgaben der Abgriff-Verzögerungsleitungen 101&sub1; bis 101n sind über einen Ausgangskoppelbaustein 102 mit dem anderen Eingang des Subtrahierers 103 verbunden. Dem Ausgangskoppelbaustein 102 wird ebenfalls die Ausgabe des Codierers 5 als Schaltsignal zugeführt, um einen Weg von einer der Abgriff-Verzögerungsleitungen zum negativen Eingang des Subtrahierers 103 herzustellen. Erscheint daher ein bestimmter Transformationskoeffizient am positiven Eingang des Subtrahierers 103, so erscheint ein früherer Transformationskoeffizient zj(Ni) mit der gleichen Bitlänge wie die Länge des bestimmten Koeffizienten am negativen Eingang des Subtrahierers 103, um einen Vergleich zwischen ihnen anzustellen. Ein Transformationskoeffizient mit der gößten Bitlange in jedem Rahmenintervall wird mit dem entsprechenden Koeffizienten eines angrenzenden Rahmens verglichen. Ein Signal als Darstellung der Blockdifferenz zwischen den Eingaben des Subtrahierers 103 wird erzeugt und an einer Quadrierschaltung 104 angelegt, in der es quadriert und zu einem Akkumulator 105 geführt wird, der durch eine Rücksetzschaltung 106 in Intervallen gelöscht wird, die der Länge jedes aufeinanderfolgenden Blocks entsprechen. Die quadrierten Blockdifferenzwerte werden durch den Akkumulator 105 summiert und mit einem Teiler 107 durch einen Faktor 1/Ni geteilt, um eine normierte quadrierte Summe zu erzeugen. Auf diese Weise wird fortgefahren, und eine Menge normierter quadrierter Summen wird für jede der unterschiedlichen Blocklängen als Lösung von Gleichung (3) erzeugt. Im Beispiel von Fig. 3A werden sieben normierte quadrierte Summen aus sieben Blöcken während jedes Rahmenintervalls abgeleitet, d. h., vier quadrierte Summen aus der ersten Menge von Transformationskoeffizienten des Blocks N&sub1;, zwei quadrierte Summen aus der zweiten Menge des Blocks N&sub2; und eine quadrierte Summe aus der dritten Menge des Blocks N&sub3;. Zu beachten ist, daß der erste Block jeder Menge mit dem entsprechenden Block eines vorhergehenden Rahmens verglichen wird.
  • Diese sieben quadrierten Summen vom Blockdifferenzdetektor 90 werden nacheinander an jeweiligen Stellen des Speichers 91 gespeichert und erscheinen über seine Ausgangsanschlüsse an den Eingangsanschlüssen des optimalblocklängendetektors 92.
  • In Fig. 12 weist der optimalblocklängendetektor allgemein einen Abweichungsdetektor 200 und einen schnellen Abweichungsdetektor 300 auf. Der Abweichungsdetektor 200 weist einen Maximalwertdetektor 201 auf, der mit den Ausgängen des Speichers 91 gekoppelt ist, um nach einem in ihm gespeicherten Maximalwert max{&delta;'(Ni)} jede Menge quadrierter Summen von Blockdifferenzen während jedes Rahmenintervalls zu durchsuchen. Im vorgenannten Beispiel wird also ein erster Maximalwert aus den vier quadrierten Summen der ersten Menge des Blocks N&sub1; detektiert, ein zweiter Maximalwert wird aus den zwei quadrierten Summen der zweiten Menge des Blocks N&sub2; detektiert, und die quadrierte Summe der dritten Menge N&sub3; wird als ein dritter Maximalwert detektiert. Eine Menge dieser Maximalwerte wird an jeweiligen Stellen eines Speichers 202 gespeichert, die an seinen Ausgangsanschlüssen erscheinen. Auf diese Weise werden mehrere Mengen von Maximalwerten aus aufeinanderfolgenden Rahmenintervallen abgeleitet. Die Ausgaben des Speichers 202 werden zu einem Koppelbaustein 203 geführt, der durch eine Steuerung 204 angesteuert wird, um nacheinander ein aufeinanderfolgendes Paar angrenzender Eingaben vom Speicher 202 mit einem Vergleicher 205 beginnend mit dem der Minimalblocklänge N&sub1; entsprechenden Maximalwert zu koppeln, um zu bestimmen, ob die angrenzenden Eingaben eines Paars die folgende Beziehung erfüllen:
  • max{&delta;'(Ni)} &ge; max{3/4'(Ni+i)} (4)
  • worin 1 &le; i &le; n-1 ist. Aus Gleichung (4) wird deutlich, daß ein Vergleich zwischen Maximalwerten erfolgt, die jeweils aus den unterschiedlichen Mengen jedes Rahmenintervalls detektiert werden, und daß diese Werte aufeinanderfolgend über die Ausgangsanschlüsse des Speichers 202 angeordnet werden. Da gemäß Fig. 3B der Maximalwert {&delta;'(Ni+l)} Eingabeabtastwerten mit einer längeren Blocklänge als die Blocklänge von Eingabeabtastwerten entspricht, die zum Maximalwert {&delta;'(Ni)} gehören, verweist Gleichung (4) bei Erfüllung darauf, daß eine Abweichung in den digitalen Eingabeabtastwerten vorliegt. Wenn dies geschieht, veranlaßt der Vergleicher 205, daß der Maximalwert {&delta;'(Ni+i)} an einem Blocklängendetektor 206 angelegt wird. Anders ausgedrückt wird der Maximalwert mit kleinerer Größe und größerer Blocklänge der verglichenen Werte am Detektor 206 angelegt. Der Detektor 206 identifiziert die durch das Signal vom Koppelbaustein 203 angezeigte Blocklänge Ni+i als optimalblocklänge und führt ein Signal als Anzeige der optimalblocklänge zu einem Selektor 207. Als Alternative kann der andere Maximalwert {&delta;'(Ni)} anstelle des Maximalwerts {&delta;'(Ni+i)} mit dem Detektor 206 gekoppelt werden, wenn Gleichung (4) erfüllt ist. Ist Gleichung (4) nicht erfüllt, gibt der Vergleicher 205 den Blocklängendetektor 206 frei, um ein Signal zum Selektor 207 als Anzeige dafür zu führen, daß die Blocklänge Nn die optimalblocklänge ist.
  • Der schnelle Abweichungsdetektor weist einen Minimalblocklängendetektor 301 auf, um den Inhalt des Speichers 91 nach jenen Werten zu durchsuchen, die der Minimalblocklänge (d. h., Ni = N&sub1;) entsprechen, und führt den detektierten Wert zu einer jeweiligen Stelle eines Speichers 302. Ein Koppelbaustein 303 ist mit den Ausgängen des Speichers 302 verbunden und wird durch eine Steuerung 304 angesteuert, um nacheinander ein aufeinanderfolgendes Paar angrenzender Eingaben vom Speicher 302 mit einem Teiler 305 zu verbinden. Dieser berechnet Verhältnisse zwischen den angrenzenden Werten jedes Paars wie folgt:
  • &delta;p(1) = &delta;'(N&sub1;(p+1)/&delta;'(N&sub1;(p)) (5-1)
  • &delta;p(1) = &delta;'(N&sub1;(p)/&delta;'(N&sub1;(p+1)) (5-2)
  • worin 1 &le; p < S ist und worin 5 die maximale Anzahl von Werten &delta;'(Ni) ist, die im Speicher 91 während eines Rahmenintervalls gespeichert sind. Die Ausgabe &delta;p(1) des Teilers 305 wird an einem Schwellwertdetektor 306 angelegt, um diesen zu veranlassen zu prüfen, ob dieses Signal einen Schwellwert übersteigt. Ist dies der Fall, legt der Detektor 306 ein Signal am Selektor 207 als Anzeige dafür an, daß die Minimalblocklänge N&sub1; die Optimalblocklänge ist.
  • Bei Fehlen eines Minimalblocklängensignals vom schnellen Abweichungsdetektor 300 koppelt der Selektor 207 die Ausgabe des Abweichungsdetektors 200 mit dem Selektor 17. Bei Auftreten dieses Minimalblocklängensignals wird es am Selektor 17 anstelle der Ausgabe des Abweichungsdetektors 200 angelegt.
  • Fig. 13 zeigt eine Abwandlung des Abweichungsdetektors 200 von Fig. 12 Bei dieser Abweichung ist ein Teiler 400 mit den Ausgängen des Speichers 202 verbunden, um Verhältnisse zwischen Maximalwerten angrenzender Mengen durch Berechnen der folgenden Gleichung abzuleiten:
  • &delta;R(i) = max{&delta;'(Ni+&sub1;)}/max{&delta;'(Ni)} (6)
  • worin 1 &le; i < n-1 ist. Die abgeleiteten Verhältnisse &delta;R(¹) werden an jeweiligen Stellen eines Speichers 401 gespeichert. Ein Minimalwertdetektor 402 ist mit den Ausgängen des Speichers 401 verbunden, um alle Verhältnisse &delta;R(i) nach einem Mindestwert min{&delta;R(i)} zu durchsuchen, identifiziert die Blocklänge des Minimalverhältnisses als eine Optimalblocklänge Nm und führt ein Signal als Darstellung der Optimalblocklänge zum Selektor 207 als eine Ausgabe des Abweichungsdetektors 200.
  • Aus der vorangegangenen Beschreibung wird deutlich, daß sich quadrierte Summen von Blockdifferenzen nicht nur aus Transformationskoeffizienten, sondern auch aus normierten (oder nicht normierten) digitalen Abtastwerten ableiten lassen. Daher kann die Ausführungsform von Fig. 10 gemäß Fig. 14 abgewandelt werden, in der der lineare Transformationscodierer 5 zwischen dem Selektor 7 und dem Quantisierer 8 vorgesehen und der Ausgang des Normierers 4 mit dem Speicher 6 und dem Differenzdetektor 90 verbunden ist. Der Differenzdetektor 90 verarbeitet normierte Abtastwerte, um quadrierte Summen von Blockdifferenzen zwischen normierten Abtastwerten auf eine Weise abzuleiten, die mit der im Zusammenhang mit Fig. 10 beschriebenen identisch ist, in der Transformationskoeffizienten zum Ableiten quadrierter Summen von Blockdifferenzen zwischen Transformationskoeffizienten verarbeitet werden. Der Optimalblocklängendetektor 92 arbeitet auf die gleiche Weise wie zuvor, um ein Optimalblocklängensignal zum Koppeln über den Selektor 17 mit dem Steuereingang des Selektors 7 zu erzeugen, damit dieser selektiv einen der normierten Abtastwerte mit der Optimalblocklänge mit dem linearen Transformationscodierer 5 koppeln kann.

Claims (11)

1. Datenkompressionsvorrichtung mit:
einem Puffer (3, Fig. 1, 10);
einer Puffersteuereinrichtung (10) zum Speichern von Teilblöcken digitaler Eingabeabtastwerte als Darstellung eines Tonfrequenzsignals in dem Puffer in vorbestimmten Intervallen und Segmentieren der gespeicherten Abtastwerte in mehrere Blöcke, die jeweils ein ganzzahliges Vielfaches der Länge des Teilblocks haben;
einem Transformationscodierer (5) zum Codieren jedes der Blöcke in entsprechende Transformationskoeffizienten;
einem Speicher (6) zum Speichern der Transformationskoeffizienten oder der Blöcke in ihm;
einer Optimalblocklängen-Bestimmungseinrichtung (13-17, Fig. 1; 90-92, Fig. 10) zum Quadrieren jedes der Transformationskoeffizienten oder Detektieren von Blockdifferenzen zwischen aufeinanderfolgenden Transformationskoeffizienten und Quadrieren jeder der Blockdifferenzen, Summieren jener der quadrierten Transformationskoeffizienten, die Hochfrequenzkomponenten der digitalen Eingabeabtastwerte entsprechen, um erste quadrierte Summen zu erzeugen, oder jener der quadrierten Blockdifferenzen, die einer gleichen Blocklänge entsprechen, um zweite quadrierte Summen zu erzeugen, und Detektieren eines Minimums der ersten quadrierten Summen als eine Optimalblocklänge aufweisend oder Detektieren von repräsentativen Werten der zweiten quadrierten Summen für jede Blocklänge und einer Abweichung zwischen den repräsentativen Werten als eine Optimalblocklänge aufweisend;
einer Einrichtung (7) zum Auswählen jener der Transformationskoeffizienten, die der Optimalblocklänge entsprechen, aus dem Speicher (6); und einer Multiplexereinrichtung (18) zum Multiplexen der ausgewählten Transformationskoeffizienten mit einem Signal als Darstellung der Optimalblocklänge in ein Multiplexsignal
2. Datenkompressionsvorrichtung mit:
einem Puffer (3, Fig. 14);
einer Puffersteuereinrichtung (10) zum Speichern von Teilblöcken digitaler Eingabeabtastwerte als Darstellung eines Tonfrequenzsignals in dem Puffer in vorbestimmten Intervallen und Segmentieren der gespeicherten Abtastwerte in mehrere Blöcke, die jeweils ein ganzzahliges Vielfaches der Länge des Teilblocks haben;
einem Speicher (6) zum Speichern der Blöcke in ihm; einer Optimalblocklängen-Bestimmungseinrichtung (90-92) zum Detektieren von Blockdifferenzen zwischen aufeinanderfolgenden Blöcken mit gleicher Blocklänge, Quadrieren jeder der Blockdifferenzen, Summieren jener quadrierten Blockdifferenzen, die einer gleichen Blocklänge entsprechen, um eine Menge der quadrierten Summen für jede Blocklänge zu erzeugen, Detektieren von repräsentativen Werten der quadrierten Summen aus aufeinanderfolgenden der Mengen, Detektieren einer Abweichung zwischen den repräsentativen Werten und Identifizieren einer Blocklänge, die der Abweichung entspricht, als eine Optimalblocklänge;
einer Einrichtung (7) zum Auswählen jener der Transformationskoeffizienten, die der Optimalblocklänge entsprechen, aus dem Speicher (6);
einem Transformationscodierer (5) zum Codieren der aus gewählten Blöcke in jeweilige Transformationskoeffizienten; und
einer Multiplexereinrichtung (18) zum Multiplexen der Transformationskoeffizienten mit einem Signal als Darstellung der Optimalblocklänge in ein Multiplexsignal.
3. Datenkompressionsvorrichtung nach Anspruch 1 oder 2, ferner mit:
einer Einrichtung (40-42) zum jeweiligen Ableiten von Varianzen der Blöcke und Skalieren der Blöcke mit den jeweiligen Varianzen; und
einem zweiten Speicher (11) zum Speichern der Varianzen, wobei die Optimalblocklängen-Bestimmungseinrichtung jene der Varianzen auswählt, die der Optimalblocklänge entsprechen, und die Multiplexereinrichtung ein Signal als Darstellung der ausgewählten Varianz mit den ausgewählten Transformationskoeffizienten multiplext.
4. Datenkompressionsvorrichtung nach Anspruch 1, 2 oder 3, ferner mit einer Einrichtung (9) zum Bestimmen einer Schrittgröße aus den ausgewählten Transformationskoeffizienten und einer Einrichtung (8) zum Quantisieren der ausgewählten Transformationskoeffizienten in Übereinstimmung mit der Schrittgröße und Veranlassen der Multiplexereinrichtung (18), ein Signal als Darstellung der Schrittgröße mit den quantisierten Transformationskoeffizienten zu multiplexen.
5. Datenkompressionsvorrichtung nach Anspruch 4, wobei die Schrittgrößen-Bestimmungseinrichtung (9) aufweist: eine Einrichtung (50, 51, 52) zum Quadrieren der ausgewählten Transformationskoeffizienten und Nehmen eines Mittelwerts einer Gruppe der quadrierten Transformationskoeffizienten von benachbarten Auftretensfällen als ein repräsentativer Wert der Gruppe und Veranlassen der Multiplexereinrichtung (18), die ausgewählten Transformationskoeffizienten mit einem Signal als Darstellung des Mittelwerts als das die Schrittgröße repräsentierende Signal zu multiplexen, eine Einrichtung (53) zum Durchführen von Interpolationen zwischen aufeinanderfolgenden der quadrierten Transformationskoeffizienten und eine Einrichtung (54) zum Ableiten der Schrittgröße aus den interpolierten quadrierten Transformationskoeffizienten und Anlegen eines Signals als Darstellung der abgeleiteten Schrittgröße an der Quantisierereinrichtung (8).
6. Datenkompressionsvorrichtung nach einem der Ansprüche 1 bis 5, wobei die Puffersteuereinrichtung (10) die in dem Puffer gespeicherten Abtastwerte ausliest und 2a+b N aus dem Puffer ausgelesene Abtastwerte in (m+1) Gruppen von 2a Blöcken mit jeweils 2b N Abtastwerten organisiert, worin a + b = m, a eine Variable in einem Bereich von m bis 0 und b eine Variable in einem Bereich von 0 bis m sowie m gleich oder größer als 2 und N eine Ganzzahl ist, wobei jede der Gruppen eine gleiche Anzahl von Abtastwerten gleicher Eingänge enthält.
7. Datenkompressionsvorrichtung nach einem der Ansprüche 1 bis 6, ferner mit einem Normierer (4) zum Ableiten jeweiliger Varianzen der Blöcke und Skalieren der Blöcke in Übereinstimmung mit den jeweiligen Varianzen und einem zweiten Speicher (11) zum Speichern der Varianzen in ihm, wobei die Optimalblocklängen-Bestimmungseinrichtung jene Varianzen, die der Optimalblocklänge entsprechen, aus dem zweiten Speicher auswählt und wobei die Multiplexereinrichtung (18) die ausgewählten Transformationskoeffizienten mit einem Signal als Darstellung der ausgewählten Varianzen multiplext.
8. Datenkompressionsvorrichtung nach einem der Ansprüche 1 bis 7, ferner mit einer Einrichtung (16) zum Erzeugen eines Signals, das eine vorbestimmte Blocklänge festlegt, und einer Einrichtung (17) zum Auswählen jener der Transformationskoeffizienten, die der vorbestimmten Blocklänge entsprechen, aus dem Speicher und Veranlassen der Multiplexereinrichtung (18), die Transformationskoeffizienten, die als der vorbestimmten Blocklänge entsprechend ausgewählt sind, mit einem Signal als Darstellung der vorbestimmten Blocklänge zu multiplexen.
9. Datenkompressionsvorrichtung nach einem der Ansprüche 1 bis 8, wobei die Optimalblocklängen-Bestimmungseinrichtung (90-92) aufweist:
eine Einrichtung (201-204, Fig. 12) zum Detektieren eines Maximalwerts der quadrierten Summen aus den unterschiedlichen Mengen jedes Rahmenintervalls; und eine Einrichtung (205, 206) zum Vergleichen zwischen den Maximalwerten, die aus einem aufeinanderfolgenden Paar der Mengen detektiert werden, so daß die verglichenen Werte einer längeren bzw. kürzeren Blocklänge entsprechen, und Auswählen eines der verglichenen Werte als der Abweichung entsprechend, wenn der Maximalwert der längeren Blocklänge einen kleineren Maximalwert als der Maximalwert einer kürzeren Blocklänge hat.
10. Datenkompressionsvorrichtung nach einem der Ansprüche 1 bis 8, wobei die Optimalblocklängen-Bestimmungseinrichtung (90-92) aufweist:
eine Einrichtung (201, Fig. 13) zum Detektieren eines Maximalwerts der quadrierten Summen aus den unterschiedlichen Mengen jedes Rahmenintervalls und Ableiten mehrerer der Maximalwerte während jedes Rahmenintervalls; und eine Einrichtung (202-204) zum Formen des aus jeder Menge abgeleiteten Maximalwerts mit dem Maximalwert einer angrenzenden Menge zu einem Paar und Ableiten mehrerer aufeinanderfolgender Paare aus aufeinanderfolgenden Rahmenintervallen;
eine Einrichtung (400) zum Dividieren eines der Maximalwerte jedes der Paare durch den anderen Maximalwert des Paars und Ableiten mehrerer Verhältnisse aus den Paaren; und
eine Einrichtung (401, 402) zum Detektieren eines Minimalwerts aus den Verhältnissen als der Abweichung entsprechend.
11. Datenkompressionsvorrichtung nach Anspruch 9 oder 10, wobei die Optimalblocklängen-Bestimmungseinrichtung ferner aufweist:
eine Einrichtung (301-304) zum Detektieren jener der quadrierten Summen aus jedem vorbestimmten Intervall, die einer Minimalblocklänge entsprechen;
eine Einrichtung (305) zum Dividieren jeder der detektierten quadrierten Summen mit der detektierten quadrierten Summe eines angrenzenden Auftretensfalls, um mehrere Verhältnisse aus jedem vorbestimmten Intervall zu erzeugen; und
eine Einrichtung (306) zum Detektieren eines der Verhältnisse als der Abweichung entsprechend, wenn das Verhältnis einen vorgeschriebenen Wert übersteigt.
DE69028176T 1989-11-14 1990-11-14 Adaptive Transformationskodierung durch optimale Blocklängenselektion in Abhängigkeit von Unterschieden zwischen aufeinanderfolgenden Blöcken Expired - Lifetime DE69028176T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP1297010A JP2569842B2 (ja) 1989-11-14 1989-11-14 適応変換符号化の方法及び装置
JP1312333A JP2778161B2 (ja) 1989-11-30 1989-11-30 適応変換符号化の方法及び装置
JP1324334A JP2778166B2 (ja) 1989-12-13 1989-12-13 適応変換符号化の方法及び装置
JP1324333A JP2569849B2 (ja) 1989-12-13 1989-12-13 適応変換符号化の方法及び装置
JP1324335A JP2569850B2 (ja) 1989-12-13 1989-12-13 適応変換符号化の方法及び装置

Publications (2)

Publication Number Publication Date
DE69028176D1 DE69028176D1 (de) 1996-09-26
DE69028176T2 true DE69028176T2 (de) 1997-01-23

Family

ID=27530887

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69028176T Expired - Lifetime DE69028176T2 (de) 1989-11-14 1990-11-14 Adaptive Transformationskodierung durch optimale Blocklängenselektion in Abhängigkeit von Unterschieden zwischen aufeinanderfolgenden Blöcken

Country Status (3)

Country Link
US (1) US5235623A (de)
EP (1) EP0428156B1 (de)
DE (1) DE69028176T2 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1062963C (zh) * 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
EP0506394A2 (de) * 1991-03-29 1992-09-30 Sony Corporation Einrichtung zur Kodierung von digitalen Signalen
KR960006761B1 (ko) * 1991-12-07 1996-05-23 삼성전자주식회사 변환방식의 적응적 선택에 의한 변환부호화 및 복호화방법
JP3186292B2 (ja) * 1993-02-02 2001-07-11 ソニー株式会社 高能率符号化方法及び装置
JP3186307B2 (ja) * 1993-03-09 2001-07-11 ソニー株式会社 圧縮データ記録装置及び方法
JP3173218B2 (ja) * 1993-05-10 2001-06-04 ソニー株式会社 圧縮データ記録方法及び装置、圧縮データ再生方法、並びに記録媒体
KR100458969B1 (ko) * 1993-05-31 2005-04-06 소니 가부시끼 가이샤 신호부호화또는복호화장치,및신호부호화또는복호화방법
JP2518519B2 (ja) * 1993-06-21 1996-07-24 日本電気株式会社 符号化処理タイミング可変の音声処理方式
PL173718B1 (pl) * 1993-06-30 1998-04-30 Sony Corp Sposób i urządzenie do kodowania sygnałów cyfrowych
TW327223B (en) * 1993-09-28 1998-02-21 Sony Co Ltd Methods and apparatus for encoding an input signal broken into frequency components, methods and apparatus for decoding such encoded signal
US5608713A (en) * 1994-02-09 1997-03-04 Sony Corporation Bit allocation of digital audio signal blocks by non-linear processing
US5491685A (en) * 1994-05-19 1996-02-13 Digital Pictures, Inc. System and method of digital compression and decompression using scaled quantization of variable-sized packets
JP3250376B2 (ja) * 1994-06-13 2002-01-28 ソニー株式会社 情報符号化方法及び装置並びに情報復号化方法及び装置
JP3277705B2 (ja) 1994-07-27 2002-04-22 ソニー株式会社 情報符号化装置及び方法、並びに情報復号化装置及び方法
JP3341474B2 (ja) * 1994-07-28 2002-11-05 ソニー株式会社 情報符号化方法及び復号化方法、情報符号化装置及び復号化装置、並びに情報記録媒体
KR0139161B1 (ko) * 1994-11-26 1998-05-15 김광호 가변장부호테이블의 심볼-부호어 재배정을 이용한 가변장 부호화/복호화 장치
JP3371590B2 (ja) * 1994-12-28 2003-01-27 ソニー株式会社 高能率符号化方法及び高能率復号化方法
US5990810A (en) * 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
JP3307138B2 (ja) * 1995-02-27 2002-07-24 ソニー株式会社 信号符号化方法及び装置、並びに信号復号化方法及び装置
CA2180189C (en) * 1995-08-03 2001-07-03 Satoru Adachi Variable length coded data transmission device
US5960390A (en) * 1995-10-05 1999-09-28 Sony Corporation Coding method for using multi channel audio signals
US5956674A (en) * 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US5825320A (en) * 1996-03-19 1998-10-20 Sony Corporation Gain control method for audio encoding device
US5848391A (en) * 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
JP2002050996A (ja) * 2000-07-31 2002-02-15 Sony Corp 整数倍相互関係を有するブロック長を用いて符号化された信号を通信伝送路を介して送信する通信システム
DE602004025517D1 (de) * 2004-05-17 2010-03-25 Nokia Corp Audiocodierung mit verschiedenen codierungsrahmenlängen
KR100668319B1 (ko) * 2004-12-07 2007-01-12 삼성전자주식회사 오디오 신호의 변환방법 및 장치와 오디오 신호에적응적인 부호화방법 및 장치, 오디오 신호의 역변환 방법및 장치와 오디오 신호에 적응적인 복호화 방법 및 장치
JPWO2007066709A1 (ja) * 2005-12-07 2009-05-21 ソニー株式会社 符号化装置、符号化方法および符号化プログラム、ならびに、復号装置、復号方法および復号プログラム
TWI333643B (en) * 2006-01-18 2010-11-21 Lg Electronics Inc Apparatus and method for encoding and decoding signal
JP5204099B2 (ja) 2006-05-05 2013-06-05 ハイバー インコーポレイテッド グループ・ベースの完全および増分コンピュータ・ファイル・バックアップ・システム、処理および装置
JP4896839B2 (ja) * 2007-08-31 2012-03-14 ルネサスエレクトロニクス株式会社 マイクロプロセッサおよびデータ処理方法
ATE552651T1 (de) * 2008-12-24 2012-04-15 Dolby Lab Licensing Corp Audiosignallautheitbestimmung und modifikation im frequenzbereich
ES2936307T3 (es) 2009-10-21 2023-03-16 Dolby Int Ab Sobremuestreo en un banco de filtros de reemisor combinado
US8638863B1 (en) 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US10963436B2 (en) 2018-10-31 2021-03-30 EMC IP Holding Company LLC Deduplicating data at sub-block granularity
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394774A (en) * 1978-12-15 1983-07-19 Compression Labs, Inc. Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback
DE3684047D1 (de) * 1985-07-02 1992-04-09 Matsushita Electric Ind Co Ltd Vorrichtung zur blockkodierung.
IL80103A0 (en) * 1986-09-21 1987-01-30 Eci Telecom Limited Adaptive differential pulse code modulation(adpcm)system
US5109417A (en) * 1989-01-27 1992-04-28 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio

Also Published As

Publication number Publication date
US5235623A (en) 1993-08-10
EP0428156B1 (de) 1996-08-21
EP0428156A3 (en) 1991-11-06
DE69028176D1 (de) 1996-09-26
EP0428156A2 (de) 1991-05-22

Similar Documents

Publication Publication Date Title
DE69028176T2 (de) Adaptive Transformationskodierung durch optimale Blocklängenselektion in Abhängigkeit von Unterschieden zwischen aufeinanderfolgenden Blöcken
DE69031517T2 (de) Variable Blocklängenkodierung für unterschiedliche Charakteristiken der Eingangsabtastwerte
DE2934489C2 (de)
DE3688980T2 (de) Verfahren zur Multigeschwindigkeitskodierung von Signalen und Einrichtung zur Durchführung dieses Verfahrens.
DE3883519T2 (de) Verfahren und Einrichtung zur Sprachkodierung mit mehreren Datenraten.
DE69331079T2 (de) CELP-Vocoder
DE68926864T2 (de) Übertragungssystem für Multimediadaten
DE19604273C2 (de) Verfahren und Vorrichtung zum Durchführen einer Suche in einem Kodebuch im Hinblick auf das Kodieren eines Klangsignales, Zellkommunikationssystem, Zellnetzwerkelement und mobile Zell-Sender-/Empfänger-Einheit
DE69125909T2 (de) Verfahren und Einrichtung zur Transformationskodierung mit Teilbandanregung und dynamischer Bitzordnung
DE3784942T2 (de) Duplex-datenuebertragung.
DE2229149A1 (de) Verfahren zur Übertragung von Sprache
DE3883799T2 (de) Codierungseinrichtung zur Sprachübertragung.
DE2124754C3 (de) Verfahren und Vorrichtung zur differentiellen Pulscodemodulation
DE3736193C2 (de)
EP0201679A1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE3853899T2 (de) Verfahren und Vorrichtung zur Codierung und Decodierung eines Signals.
DE69917304T2 (de) Verfahren und vorrichtung zur identifizierung der kodierungstype eines codes in einer telefonvermittlungsanlage
EP1023777B1 (de) Verfahren und vorrichtung zur erzeugung eines bitratenskalierbaren audio-datenstroms
DE2730662A1 (de) Verfahren und schaltung zum erzeugen eines autokorrelations-funktions-faktors
EP0635177B1 (de) Verfahren zum übertragen und/oder speichern digitalisierter, datenreduzierter audiosignale
EP0027233B1 (de) Verfahren zur Codierung von Analogsignalen
DE69611987T2 (de) Übertragungssystem mit zeitabhängigen filterbänken
EP0340301B1 (de) Digitales adaptives transformationscodierverfahren
DE2319650A1 (de) Verfahren und anordnung zum umwandeln eines nachrichtensignals aus einem digitalen codeformat in ein anderes
DE2303497C2 (de) Verfahren zur Übertragung von Sprachsignalen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition