DE3382796T2 - Vorrichtung zur Zwischenbildkodierung. - Google Patents
Vorrichtung zur Zwischenbildkodierung.Info
- Publication number
- DE3382796T2 DE3382796T2 DE3382796T DE3382796T DE3382796T2 DE 3382796 T2 DE3382796 T2 DE 3382796T2 DE 3382796 T DE3382796 T DE 3382796T DE 3382796 T DE3382796 T DE 3382796T DE 3382796 T2 DE3382796 T2 DE 3382796T2
- Authority
- DE
- Germany
- Prior art keywords
- vector
- output
- block
- input
- signals
- 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 - Fee Related
Links
- 239000013598 vector Substances 0.000 claims description 426
- 238000013139 quantization Methods 0.000 claims description 85
- 230000033001 locomotion Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 31
- 238000000034 method Methods 0.000 description 23
- 230000000875 corresponding effect Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 108010076504 Protein Sorting Signals Proteins 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 101150018444 sub2 gene Proteins 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/008—Vector quantisation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf eine Interrahmen- Kodiervorrichtung einschließlich einem Vektorquantisierer.
- Das Prinzip der Vektorquantisierung wird im folgenden kurz beschrieben. Solch eine Vektorquantisierung ist in "Television. Image Technology Handbook" beschrieben, veröffentlicht in Japan in 1980. Es sei ein Eingangsvektor x = (x&sub1;, x&sub2;, . . ., xk) gegeben, welcher aus einem Block von
- Eingangssignalen besteht. Ein K-dimensionaler Signalraum Rk wird in eine endliche Anzahl von Unterräumen R&sub1;, R&sub2;, . . ., RN partitioniert. Y = (Y&sub1;, Y&sub2;, . . ., YN) sei eine Menge der repräsentativen Punkte (beispielsweise der Schwerpunkt) der jeweiligen Unterräume. Die Erzeugung dieses repräsentativen Punktes Yi als ein Ausgangsvektor entsprechend einem Element eines in den spezifischen Unterraum Ri eingeschlossenen Eingangsvektors X wird Vektorquantisierung genannt.
- Vektorquantisierung Q wird durch die folgende Formel definiert:
- Die Vektorquantisierung Q kann ebenfalls als die kaskadierte Verbindung von Kodierung (C) und Dekodierung (D) definiert werden. Kodierung C ist die Abbildung von Rk auf eine Indexmenge J = (1, 2, . . ., N)für die Ausgangsvektormenge Y = (Y&sub1;, Y&sub2;, . . ., YN), während eine Dekodierung D die Abbildung von J auf Y ist. Diese Beziehungen werden wie folgt ausgedrückt:
- C : Rk → J, D:J → Y, Q = D·C.
- Bei der Vektorquantisierung ist es die kodierte Ausgabe J, die übertragen oder aufgezeichnet wird.
- Vektorquantisierung erzielt eine besonders effiziente Quantisierung, wenn die Eingangssignale eine bestimmte Korrelation aufweisen, wie bei Video- oder Audiosignalen, oder wenn die Wahrscheinlichkeitsdichte der Amplituden der Signale einige Abweichungen aufweisen. Als weiterer Vorteil kann eine Datenkompression durch Übertragen oder Aufzeichnen einer kodierten Ausgabe einschließlich weniger Mengen von Ausgangsvektoren erreicht werden.
- Der herkömmliche Quantisierer des von der vorliegenden Erfindung in Betracht gezogenen Typs beruht auf skalarer Quantisierung, wobei individuelle Eingangssignalabtastwerte in entsprechende Ausgangssignalniveaus quantisiert werden. Ein schematisches Diagramm des herkömmlichen skalaren Quantisierers ist in Fig. 1 gezeigt, wobei 1 eine Sequenz von Eingangssignalen x&sub1;, x&sub2;, . . ., xk darstellt (k ganzzahlig), 2 der skalare Quantisierer ist, und 3 eine Sequenz von Ausgangssignalen y&sub1;, y&sub2;, . . ., yk, die durch Umwandlung der jeweiligen Abtastwerte der Signalsequenz 1 in entsprechende, quantisierte Niveaus erzeugt werden.
- Es sei angenommen, daß die Amplitudenwahrscheinlichkeitsdichteverteilung von Eingangsimpulsen 1 eine Gausskurve beschreibt, wobei der Ursprung in der Mitte positioniert ist. Der herkömmliche skalare Quantisierer zum Minimieren der Verzerrung zwischen der Eingangssignalsequenz 1 und Ausgangssignalsequenz 2 hat die in Fig. 2 gezeigten Charakteristika, wobei die quantisierten Niveaus mit zunehmender Entfernung vom Ursprung gröber werden. Wenn jedoch die jeweiligen Abtastwerte der Eingangssignalsequenz 1 miteinander korreliert sind, stellt die herkömmliche Technik des Quantisierens von individuellen Abbtastwerten für minimale Verzerrung eine optimale Quantisierung der Ausgangssignalsequenz nicht sicher.
- Beim herkömmlichen Verfahren des Quantisierens von Farbvideosignalen werden Abtastwerte von jedem der roten (R), grünen (G) und blauen (B) Kanäle individuell parallel bezüglich eines jeden Kanals quantisiert. Fig. 3 ist eine schematische Darstellung des herkömmlichen skalaren Quantisierers zum Bearbeiten von Farbvideosignalen, wobei 201 eine Sequenz von roten Eingangsvideosignalen ist, 202 eine Sequenz von grünen Eingangsvideosignalen, 203 eine Sequenz von blauen Eingangsvideosignalen, 204 ein skalarer Quantisierer ist, 205 ein Sequenz von roten Videosignalen, 206 eine Sequenz von gründen Ausgangsvideosignalen, und 207 eine Sequenz von blauen Ausgangsvideosignalen.
- Die skalaren Quantisierer 204 quantisieren individuelle Abtastwerte von R, G und B Eingangssignalen parallel bezüglich eines jeden Kanals. Um eine gute Farbbalance unter den drei Kanälen zu erzielen, werden gleichförmige Quantisierungscharakteristika verwendet, wie in Fig. 4 gezeigt ist. Jedoch sind benachbarte Abtastwerte von demselben Kanal, oder Abtastwerte in demselben Bildelement von zwei verschiedenen Kanälen so eng miteinander korreliert, daß in dem skalaren Quantisierer der Fig. 3 ein beträchtlicher Quantisierungsverlust auftritt.
- Ein spezielles Wahrscheinlichkeitsmodell, wie etwa das AR- Modell, kann für die Wechselstromkomponente eines Video- oder Audiosignals angenommen werden, jedoch ist eine solche Modellanpassung für die Gleichstromkomponente schwierig. Wenn die Amplitude stark variiert, kann mittels eines festen Vektorquantisierers eine effiziente Kodierung nicht realisiert werden.
- Beim Betrieb des Kodierers des Vektorquantisierers stellt die Verzerrungsberechnungssektion einen kritischen Pfad für die gesamte Verarbeitungseffizienz dar. Wenn die für die Berechnung der Verzerrung zwischen Eingang und jedem Ausgangsvektor erforderliche Zeit als td ausgedrückt wird, ergibt sich die Kodierzeit tv für jeden Abtastwert zu
- tv = N·td/K (s/Abtastwert).
- Wie oben beschrieben, muß der herkömmliche Vektorquantisierer eine vollständige Suche aller Elemente einer Ausgangsvektormenge bezüglich des Eingangsvektors durchführen, um den am wenigsten verzerrten Ausgangsvektor zu erfassen. Wenn die Anzahl von Ausgangsvektoren N zur Erzielung einer Vektorquantisierung mit hoher Qualität mit minimalem Quantisierungsrauschen vergrößert wird, vergrößert sich ebenfalls proportional die Verarbeitungszeit pro Abtastwert.
- Ferner ist in Fig. 5 eine schematische Darstellung der herkömmlichen Interrahmenkodiervorrichtung des von der vorliegenden Erfindung in Betracht gezogenen Typs gegeben, worin (a) ein Kodierer ist, und (b) ein Dekodierer. In Fig. 5 ist 601 ein A/D-Wandler, 602 ist ein Subtrahierer, 604 ein skalarer Quantisierer, 605 ein Addierer, 603 ein Rahmenspeicher und 612 ein D/A-Wandler.
- Es sei angenommen, daß der f-te Rahmen (f ganzzahlig) von oben nach unten und von links nach rechts Raster-abgetastet wird. Das analoge Videosignal 606 dieses Rahmen wird in dem A/D-Wandler 601 digitalisiert. Hier wird ein Zug von Abtastwerten dieses digitalen Videosignals 607 durch Sft bezeichnet (t ist die Nummer des Abtastzuges unter Rasterabtastung); ein prädiktives Signal 608, das von dem abgetasteten Wert Sft an derselben Position des vorangehenden Rahmens erstellt wird, wird durch ft bezeichnet; ein Signal 609 für die Interrahmendifferenz zwischen dem Videosignal 607 und dem prädiktiven Signal 608 wird als εft bezeichnet; ein skalar quantisiertes Signal 610 pro Abtastwert des differentiellen Interrahmensignals 609 wird mit ft bezeichnet; und ein reproduziertes Videosignal 611, welches die Summe des skalar quantisierten Signals 610 und des prädiktiven Signals 608 ist, wird mit ft bezeichnet.
- Auf der Grundlage dieser Signale führt der Kodierer der Fig. 5(a) die folgenden Operationen durch:
- εft = Sft- ft
- ft = εft + qft
- ft = ft + ft = Sft + qft
- wobei ft = Sft·Z-f (Z-f bezeichnet eine Verzögerung von einem Rahmen) und qft skalares Quantisierungsrauschen darstellt. Wie sich aus diesen Formeln ergibt, wird das differentielle Interrahmensignal εft, dessen Leistung wegen der Signalkorrelation kleiner ist als Sft, in ft skalarquantisiert durch Reduzieren der Anzahl von Quantisierungsniveaus, so daß das Quantisierungsrauschen bezüglich der Amplitudenwahrscheinlichkeitsverteilung P (εk) dieses differentiellen Signals minimal ist. Geeignete Kodes können den jeweiligen Quantisierungsniveaus von ft für hoch effiziente Kodierung und nachfolgende Datenübertragung zugewiesen werden.
- In dem Dekoder der Fig. 5(b) wird das eingehende skalarquantisierte Signal 610 der Operation
- ft = ft + ft = Sft + qft
- unterzogen, um ein reproduziertes Videosignal 611 bereitzustellen, welches das Quantisierungsrauschen qft enthält.
- Wie oben beschrieben, wird in der herkömmlichen Interrahmenkodiervorrichtung das die Differenz zwischen dem Videosignal für den gegenwärtigen Rahmen und dem für den vorangehenden Rahmen an derselben Position anzeigende Signal einer skalaren Quantisierung unterzogen durch Reduzieren der Anzahl von Quantisierungsniveaus pro Abtastwert. Da jedoch in dem Videosignal Gauss'sches Rauschen vorhanden ist, birgt dieses Verfahren große Schwierigkeiten beim Kodieren von nur dem signifikanten, differentiellen Interrahmensignal, das durch die Bewegung des Bildobjektes erzeugt worden ist. Weil ferner skalare Quantisierung auf jedem Abtastwert des differentiellen Interrahmensignals durchgeführt wird, ist es unmöglich, die Bitrate niedriger zu machen als ein bestimmter Wert.
- Die Patentanmeldung GB-A-2 003 001 beschreibt eine Vorrichtung zum Kodieren und Dekodieren von digitalen monochromen oder Farbfernsehsignalen. Die Vorrichtung zum Kodieren umfaßt Einrichtungen zum Vorhersagen der Werte von digitalen Signalen, welche die Luminanz- und Chrominanzkomponenten von Bildelementen von dem vorangehenden Element oder dem entsprechenden Element in den vorangehenden Rahmen darstellen, abhängig davon, ob eine Bewegung von einem Bewegungsdetektor erfaßt wird oder nicht. Die Kodierung wird von einem Subtraktionsschaltkreis durchgeführt, welcher die Vorhersage von dem aktuellen Wert subtrahiert, um ein Fehlersignal bereitzustellen, und Quantisierungseinrichtungen, welche das Fehlersignal quantisieren. Die Dekodiervorrichtung umfaßt Vorhersageeinrichtungen, welche ein Vorhersagesignal abhängig von dem vorangehenden Element bereitstellen, oder dem entsprechenden Element in dem vorangehenden Rahmen, und einen Additionsschaltkreis zum Addieren der Ausgabe der Vorhersageeinrichtungen zum dem kodierten Signal. Dieser Prozeß wird für jedes Bildelement beim DPCM-Kodieren durchgeführt.
- US-A-4 302 775 bezieht sich auf eine Puffersteuerung vom Rückkopplungstyp. Sie schließt Quantisierungseinrichtungen für Blöcke von eingegebenen Bildabtastwerten ein.
- Die vorliegende Erfindung wurde getätigt, um die Nachteile der oben beschriebenen, herkömmlichen Interrahmenkodiervorrichtung zu eliminieren.
- Es ist eine Aufgabe der vorliegenden Erfindung, eine Interrahmenkodiervorrichtung vorzusehen, welche ordentlich gegen Störungen, wie etwa Gauss'sches Rauschen, geschützt ist, und welche eine Vektorquantisierung nur an Blöcken von differentiellen Interrahmensignalen durchführt, von denen gefunden wurde, daß sie signifikante Szenenbewegungen anzeigen.
- Die Aufgabe der vorliegenden Erfindung wird von einer Interrahmenkodiervorrichtung gelöst, welche einen Vektorquantisierer verwendet, mit einem Rahmenspeicher zum Speichern von wenigstens einem Rahmen von Videosignalen zu jeder Zeit; einem Subtrahierer, um auf den Empfang eines Blockes der gegenwärtigen K Eingangsvideoabtastwerte, wobei K größer als Eins ist, hin differentielle Interrahmensignale durch Lesen eines Blockes von prädiktiven Signalen aus dem Speicher zu berechnen, welche sich an denselben Positionen eines Rahmens wenigstens ein Rahmen vor dem gegenwärtigen Rahmen befinden; einem Begrenzer zum Unterdrücken von kleinen Variationen in und Überlastung auf den differentiellen Interrahmensignalen; einem Gleichspannungskomponentenseparier- und Normalisierschaltkreis zum Umwandeln der unterdrückten differentiellen Interrahmensignale in Eingangsvektoren durch Separieren des Mittelwertes für den Block der Signale davon, und durch Normalisieren der Signale unter Verwendung der Standardabweichung von dem Mittelwert; einem Bewegungserfassungsschaltkreis zum Vergleichen des Mittelwertes und Standardabweichung für einen gegebenen Block mit einem vorbestimmten Schwellwert, und welcher auf die Feststellung hin, daß die zwei Parameter kleiner sind als der Schwellwert, den Block als einen nicht signifikanten Block interpretiert und eine Operation durchführt, welche alle differentiellen Interrahmensignale in diesem Block löscht; einer Kodiereinheit für Vektorquantisierung zum Kodieren der Eingangsvektoren in einem signifikanten Block, wobei der Blockmittelwert oder die Standardabweichung davon größer ist als der Schwellwert, in einen Kode zum Unterscheiden eines Ausgangsvektors, welcher die minimale Verzerrung hat, die durch die kleinste Entfernung in einem K dimensionalen Signalraum Rk definiert ist, von dem Eingangsvektor unter einer vorbestimmten Anzahl von repräsentativen Punkten einer vorgewählten, optimalen Anordnung von Ausgangsvektoren in dem K dimensionalen Signalraum Rk; einer Dekodiereinheit für Vektorquantisierung, um einen entsprechenden Ausgangsvektor von dem unterscheidenden Kode auszuwählen, denselben mit der Blockstandardabweichung zu multiplizieren, und den Blockmittelwert zu dem Produkt zu addieren, um die Menge von differentiellen Interrahmensignalen zu reproduzieren, und um die differentiellen Interrahmensignale in einem nicht signifikanten Block desweiteren auf Null zu setzen; einem Addierer, welcher nach der Vektorquantisierung die prädiktiven Signale zu den reproduzierten differentiellen Interrahmensignalen addiert, um Videosignale zu reproduzieren, und um dann die Videosignale in den Rahmenspeicher einzuschreiben.
- Fig. 1 ist eine schematische Darstellung eines herkömmlichen skalaren Quantisierers;
- Fig. 2 zeigt Quantisierungseigenschaften des herkömmlichen skalaren Quantisierers;
- Fig. 3 ist eine schematische Darstellung eines herkömmlichen skalaren Quantisierers zum Verarbeiten von Farbvideosignalen;
- Fig. 4 erläutert die Quantisierungscharakteristika der Vorrichtung der Fig. 3;
- Fig. 5(A) und 5(b) sind Blockdiagramme einer herkömmlichen Interrahmenkodiervorrichtung;
- Fig. 6 zeigt die Quantisierungscharakteristika des in der vorliegenden Erfindung verwendbaren Vektorquantisierers;
- Fig. 7 ist ein Blockdiagramm eines Ausführungsbeispiels des Kodierers des Vektorquantisierers, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 8 ist ein Blockdiagramm eines Ausführungsbeispiels des Dekoders des in der vorliegenden Erfindung verwendbaren Vektorquantisierers;
- Fig. 9 zeigt, wie gemäß der in der vorliegenden Erfindung verwendeten Technik der Vektorquantisierer von Farbvideosignalen Eingangs- und Ausgangsvektoren miteinander in Beziehung stehen;
- Fig. 10 ist ein Blockdiagramm eines Ausführungsbeispiels des Kodierers des Vektorquantisierers, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 11 ist ein Blockdiagramm eines Ausführungsbeispiels des Dekoders des Vektorquantisierers, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 12 zeigt, wie gemäß der in der vorliegenden Erfindung verwendeten Gleichstrom-korrigierten Vektorquantisierungstechnik Eingangs- und Ausgangsvektoren mit den Blockmittelwerten (Gleichstromkomponenten) in Beziehung stehen;
- Fig. 13 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Kodierers des Gleichstrom-korrigierten Vektorquantisierers zeigt, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 14 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Dekoders des Gleichstromkorrigierten Vektorquantisierers zeigt, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 15 zeigt, wie Eingangs- und Ausgangsvektoren adaptiv in dem adaptiven Vektorquantisierer, der in der vorliegenden Erfindung verwendbar ist, gesteuert werden;
- Fig. 16 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Kodierers des adaptiven Vektorquantisierers zeigt, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 17 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Dekoders des adaptiven Vektorquantisierers zeigt, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 18 zeigt in Schritten die Abbildung von Ausgangsvektoren auf einen Eingangsvektor gemäß dem Verfahren der in der vorliegenden Erfindung verwendeten Vektorquantisierung;
- Fig. 19 zeigt die Sequenz einer mehrstufigen Partitionierung eines mehrdimensionalen Signalraumes gemäß dem in der vorliegenden Erfindung verwendeten Verfahren der Vektorquantisierung;
- Fig. 20 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Kodierers des Vektorquantisierers zeigt, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 21 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Dekoders des Vektorquantisierers zeigt, der in der vorliegenden Erfindung verwendbar ist;
- Fig. 22 zeigt, wie Abtastwerte eines Block-abgetasteten Interrahmenvideosignals auf Rahmen angeordnet sind;
- Fig. 23 ist ein Blockdiagramm, welches ein Ausführungsbeispiel der Kodiereinheit der Interrahmenkodiervorrichtung unter Verwendung von Vektorquantisierung gemäß der vorliegenden Erfindung zeigt;
- Fig. 24 ist ein Blockdiagramm, welches ein Ausführungsbeispiel der Dekodiereinheit derselben Interrahmenkodiervorrichtung zeigt;
- Fig. 25 erläutert die Eingangs- Ausgangsumwandlungschrakteristika eines beim Verarbeiten von differentiellen Interrahmensignalen in der vorliegenden Erfindung verwendeten Begrenzers;
- Fig. 26(a) ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Kodierers des Vektorquantisierers zeigt, der in der vorliegenden Erfindung verwendet wird;
- Fig. 26(b) ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Dekoders desselben Vektorquantisierers zeigt; und
- Fig. 27 erläutert die Beziehung zwischen Eingangs- und Ausgangsvektoren in einem 16-dimensionalen Signalraum während der Vektorquantisierung.
- Die oben erwähnte Blockquantisierungstechnik stellt eine effiziente Quantisierung sicher, wenn die Komponenten des Eingangsvektors x miteinander korreliert sind. Die Anordnung von Ausgangsvektoren in dem Signalraum, die von zweidimensionaler Vektorquantisierung erzeugt werden, ist in Fig. 6 gezeigt. Wenn eine Korrelation zwischen zwei Eingangssignalen x&sub1; und x&sub2; besteht, ist die Verteilung ihrer Amplituden in der Umgebung von x&sub1; = x&sub2; lokalisiert. Deshalb kann ein Unterraum R&sub1;, worin die Vektorsumme der Differenzen zwischen Eingangs- und Ausgangsvektoren ein Minimum ist, und sein repräsentativer Punkt yi (beispielsweise der Schwerpunkt) optimiert werden durch Anhäufen (clustering) von aktuellen Eingangsdaten, wie in Fig. 6 gezeigt ist. In diesem Fall werden die in dem Unterraum Ri enthaltenen Eingangsvektoren in einen Ausgangsvektor yi abgebildet. Das Diagramm der Fig. 6 basiert auf der Annahme xi > 0 und x&sub2; > 0.
- Ein Blockdiagramm des Kodierers des Vektorquantisierers gemäß der vorliegenden Erfindung ist in Fig. 7 gezeigt, und ein Blockdiagramm des Dekodierers ist in Fig. 8 dargestellt. In diesen Figuren ist 4 ein Eingangsvektor X, 5 ein Eingangsvektorregister, 6 ein Zähler zum Adressieren von einem von Ausgangsvektoren in der Kodetabelle, 7 ist ein Kodetabellenspeicher für einen Ausgangsvektor yi, 8 ist ein Ausgangsvektorregister, 9 ist ein paralleler Subtrahierer, 10 ist ein paralleler Absolutwertkorrektor, 11 ist ein Detektor für maximale Elementverzerrung, 12 ist ein Detektor für einen am wenigstens verzerrten Ausgangsvektor, 13 ist ein Indexverriegelungsspeicher für den am wenigsten verzerrten Ausgangsvektor, 14 ist ein Indexsignal für den am wenigsten verzerrten Ausgangsvektor, und 15 ist ein Ausgangsvektor.
- Der Vektorquantisierer der vorliegenden Erfindung arbeitet wie folgt. Im Kodierer der Fig. 7 wird eine Sequenz von eingehenden Signalen in Blöcke unterteilt, die jeweils ais K Abtastwerten bestehen, und in dem Eingangsvektorregister 5 als ein K-dimensionaler Eingangsvektor x = (x&sub1;, x&sub2;, . . ., xk) verriegelt werden (die jeweiligen Komponenten entsprechen den abgetasteten Werten) . Zur selben Zeit werden Ausgangsvektoren yi, von denen gefunden wurde, gemäß einer Wahrscheinlichkeitsdichte von aktuellen Eingangsvektoren eine minimale Verzerrung aufzuweisen, sukzessive aus dem Kodetabellenspeicher 7 ausgelesen. Die Ausgangsvektoren Yi werden in der Reihenfolge i = 1, 2, . . ., N in das Ausgangsvektorregister 8 eingegeben und werden desweiteren an den parallelen Subtrahierer 9 und den parallelen Absolutwertkorrektor 10 gesendet, um die Absolutwerte ihrer Differenzen von den jeweiligen Komponenten des Eingangsvektors X zu berechnen (diese Absolutwerte werden im folgenden als die Elementverzerrungen Die bezeichnet). Der Wert Di, welcher der größte der Elementverzerrungen Die - (Di1, Di2, . . ., Dik) ist, wird von dem Detektor 11 für maximale Elementverzerrung erfaßt. Dieses kann mittels Vergleichens von jeweils zwei Elementverzerrungen Die bezüglich ihrer Vektorkomponenten gemäß dem Vertauschungsverfahren erreicht werden. Dann wird eine Verzerrung D, welche die geringste von Di = (Di1, Di2, . . ., Dik) ist, in dem Detektor 12 für einen am wenigsten verzerrten Ausgangsvektor erfaßt, und die zuletzt erfaßte, minimale Verzerrung wird von einer neuen als Reaktion auf den Betrieb des Adreßzählers 6 in der Reihenfolge i = 1, 2, . . ., N ersetzt. Als Ergebnis wird die minimale Verzerrung D zwischen dem Eingangsvektor X und dem Ausgangsvektor Yi
- Der Index wird in den Indexverriegelungsspeicher 13 eingegeben, von welchem er als ein Indexsignal 14 ausgegeben wird.
- Im Detektor der Fig. 8 wird das Indexsignal in den Indesverriegelungsspeicher 13 eingegeben und an den Kodetabellenspeicher 7 gerichtet, woraufhin ein Ausgangsvektor yi entsprechend dem Indexsignal als ein Ausgangssignal 15 erzeugt wird.
- Das Indexsignal 14 von dem Kodierer des Vektorquantisierers der vorliegenden Erfindung kann bei Datenübertragung oder Speicheraufzeichnung für den Zweck hocheffizienter Kodierung verwendet werden. Die durch den Vektorquantisierer der vorliegenden Erfindung erzielte Kodierungseffizienz η ist η = M/K Bits/Abtastwert unter der Bedingung, daß die Eingangssignale durch x&sub1;, x&sub2;, . . ., xk dargestellt werden und N = 2M. Deshalb kann der Vektorquantisierer der vorliegenden Erfindung bei der hocheffizienten Kodierung von Video- oder Audiodaten verwendet werden, die gewöhnlich in der Form eines Blockes von korrelierten Abtastwerten kodiert werden.
- Ein Vorteil des Vektorquantisierers der vorliegenden Erfindung ist seine hohe Geschwindigkeit, weil er die minimalen Verzerrungen unter Bezugnahme auf die Vektorkodetabelle berechnet, Vektoroperationen parallelisiert, und Verzerrungen mittels einer Minimaxapproximation erfaßt.
- In der vorangehenden Beschreibung wird die in dem Vektorquantisierer der vorliegenden Erfindung erfaßte minimale Verzerrung als Minimax definiert, es versteht sich jedoch, daß die Verzerrung als Euclidische Norm oder die Norm eines Absolutwertes definiert sein kann. In einem anderen Ausführungsbeispiel kann ein Mikroprozessor verwendet werden, um für jede Komponente des Vektors eine sequentielle Vektoroperation durchzuführen. Alternativ kann die Ausgangsvektorkodiertabelle eine Baumstruktur aufweisen, und es kann eine Minimaxcollation mittels Suchens durch diesen Baum mit dem Eingangsvektor durchgeführt werden. Wenn die Daten aus drei parallelen Kanälen einer Signalsequenz bestehen, wie bei Farbvideosignalen, kann der Eingangsvektor aus einem Block von Signalen in zwei oder drei Kanälen zusammengesetzt sein.
- Wie oben beschrieben, empfängt der Vektorquantisierer der vorliegenden Erfindung Eingangssignale in der Form eines Blockes von Eingangsvektoren, und sein Kodierer ist in solcher Weise mit dem Dekoder kaskadiert, daß der Block in einem Block von Ausgangssignalen mit minimaler Verzerrung mittels Minimaxapproximation umgewandelt wird. Deshalb ermöglicht der Quantisierer eine hocheffiziente Kodierung der Eingangssignale.
- Es sei angenommen, daß dasselbe Bildelement abgetastet wird, um M Signale auf jedem der drei Kanäle zu erhalten: R = (R&sub1;, R&sub2;, . . ., RM), G = (G&sub1;, G&sub2;, . . ., GM) und B = (B&sub1;, B&sub2;, . . ., BM) = (x&sub1;, x&sub2;, . . ., xk), wobei K = 3M. Es werde eine Menge (Y) von Ausgangsvektoren aus der Amplitudenverteilung des Eingangsvektors X bestimmt, welche am wenigsten verzerrt sind. Zu diesem Zweck kann eine Menge von am wenigsten verzerrten Ausgangsvektoren oder ihre repräsentativen Punkte (beispielsweise der Schwerpunkt) erhalten werden durch Anhäufen der Eingangssignale mit einer Modell- Amplitudenwahrscheinlichkeitsdichtenfunktion für Farbvideosignale. Die Vektorquantisierung kann als Transformation in einen Ausgangsvektor angesehen werden, der am nächsten an dem Eingangsvektor X ist (am wenigsten von diesem verzerrt ist)
- Fig. 9 zeigt die Anordnung von Ausgangsvektoren bezüglich eines Eingangsvektors in einem dreidimensionalen Signalraum (R&sub1;, G&sub1; und B&sub1;) . Wenn die drei Signale miteinander korreliert sind, sind alle Signale in der Umgebung der Hauptachse R&sub1; = G&sub1; = B&sub1; verteilt. Dieses ergibt die hohe Effizienz der Vektorquantisierung, was bewirkt, daß Ausgangsvektoren in der Umgebung der Hauptachse lokalisiert sind.
- Fig. 10 ist ein Blockdiagramm, welche ein Ausführungsbeispiel des Kodierers des Vektorquantisierers zum Verarbeiten von Farbvideosignalen gemäß der vorliegenden Erfindung zeigt. Fig. 11 ist ein Blockdiagramm des Dekoders desselben Quantisierers. In den Figuren sind 201, 202 und 203 rote, grüne bzw. blaue Eingangsvideosignalsequenzen; 208 ist ein Eingangsvektorregister, 209 ist ein Kodetabellen- Adreßzähler; 210 ist ein Ausgangsvektorkodetabellenspeicher; 211 ist ein Ausgangsvektorregister; 212 ist ein paralleler Subtrahierer; 213 ist ein paralleler Absolutwertberechner; 214 ist ein Detektor für maximale Elementenverzerrung; 215 ist ein Detektor für einen am wenigsten verzerrten Ausgangsvektor; 216 ist ein Indexübernahmesignal (index strobe signal); 217 ist ein Indexsignal; 218 ist ein Indexverriegelungsspeicher; 219 ist ein kodiertes Ausgangssignal; 220 ist ein Ausgangsvektorzerlegeregister; und 221, 222 und 223 sind rote, grüne und blaue Videoausgangsvektoren.
- Der Kodierer der Fig. 10 arbeitet wie folgt. Eingegebene Videosignale in jedem der R, G und B Kanäle werden in M kodierte Abtastwerte in Blöcke gefaßt, um einen Eingangsvektor x = (R&sub1;, R&sub2;, . . ., RM, G&sub1;, G&sub2;, . . ., GM, B&sub1;, B&sub2;, . . ., BM) = (x&sub1;, x&sub2;, . . ., xk) zu ergeben, welcher in das Eingangsvektorregister 208 geladen wird. Zur selben Zeit werden die Elemente der Ausgangsvektormenge Y sukzessive aus dem Ausgangsvektorkodetabellenspeicher 210 als Reaktion auf den Betrieb des Kodetabellenadreßzählers 209 in der Reihenfolge i = 1, 2, . . ., N aus - und in das Ausgangsvektorregister 211 eingelesen. Der Eingangsvektor x und die Ausgangsvektoren yi werden in den parallelen Subtrahierer 212 und parallelen Absolutwertberechner 213 eingegeben, wo sie miteinander verglichen werden, um Elementenverzerrungen Dil = Yil-x&sub1; zu berechnen (l = 1, 2, . . ., x). Diese werden an den Detektor 214 für maximale Elementenverzerrung geliefert, um eine maximalen Elementenverzerrung
- für jedes Element der Ausgangsvektormenge Y zu berechnen. Eine Vielzahl der maximalen Elementenverzerrungen werden in den Detektor 215 für einen am wenigsten verzerrten Ausgangsvektor eingegeben, um einen Ausgangsvektor yi zu erfassen, dessen maximale Verzerrung von dem Eingangsvektor X von allen Elementen der Ausgangsvektormenge Y am kleinsten ist. Mit anderen Worten führt der Detektor 215 eine Minimaxapproximation durch, um einen Ausgangsvektor mit einer minimalen Verzerrung D zu erfassen, welche dargestellt wird durch:
- Nach der Erfassung des am wenigsten verzerrten Ausgangsvektors sendet der Detektor 215 ein Indexübernahmesignal 216 an den Indexverriegelungsspeicher 218. Zur selben Zeit wird ein Indexsignal 216 für den am wenigsten verzerrten Ausgangsvektor von dem Kodetabellenadreßzähler 209 an den Indexverriegelungsspeicher 218 gesendet, und dieses Signal wird von dem Verriegelungsspeicher als ein kodiertes Ausgangssignal 219 ausgegeben, welches entweder übertragen wird oder aufgezeichnet wird, zur Transformation in den endgültigen Ausgangsvektor in dem Dekoder der Fig. 11.
- Der Dekoder der Fig. 11 arbeitet wie folgt: Zuerst wird das kodierte Ausgangssignal 219 in den Indexverriegelungsspeicher 218 geladen, welcher dieses Signal als ein Adreßsignal zum Aus lesen eines entsprechenden Ausgangsvektors aus dem Tabellenspeicher 210 verwendet. Der so gelesene, am wenigsten verzerrte Ausgangsvektor gelangt in das Register 211, von welchem er in das Zerlegeregister 220 eingespeist wird, wo er in einen roten Videoausgangsvektor 221, einen grünen Videoausgangsvektor 222 und einen blauen Videoausgangsvektor 223 zerlegt wird. Der Ausgangsvektor in Blockform für jeden Kanal kann in Vektor-quantisierte Ausgangssignale zerlegt werden.
- Unter der Annahme eines Blockes von K (= 3M) Abtastwerten und der Erzeugung von N (= 2t) Ausgangsvektoren ergibt sich die Kodierungseffizienz (η) der Vektorquantisierung gemäß der vorliegenden Erfindung als
- η = t/K = t/3M.
- Wie beschrieben, kann der Vektorquantisierer der vorliegenden Erfindung sehr effizient farbige Signale kodieren, weil er eine Vektorquantisierung einem Block von Videosignalen einschließlich Abtastwerten von jedem der drei Kanäle R, G und B durchführt. Andere Typen von Farbvideosignalen in drei Kanälen können von dem Vektorquantisierer der vorliegenden Erfindung in Blockform verarbeitet werden, wie etwa Y, I und Q Signale oder Y, Y-R und Y-B Signale, die in verschiedenen Proportionen (beispielsweise 12 : 4 : 4) gemäß dem NTSC-System abgetastet werden. In dem dargestellten Ausführungsbeispiel wird ein Ausgangsvektor mit einer minimalen Verzerrung von dem Eingangsvektor mittels Minimaxapproximation berechnet, es versteht sich jedoch, daß derselbe Zweck erzielt werden kann durch Verwendung der Euclidischen Norm oder der Summe der Absolutwerte.
- Kurz gesagt ist der Vektorquantisierer der vorliegenden Erfindung in der Lage, eine sehr effiziente Kodierung von Farbvideosignalen zu erzielen, weil er eine Vektorquantisierung an einem Block von Abtastwerten von jedem der drei Videokanäle durchführt.
- Fig. 12 zeigt, wie Eingangs- und Ausgangsvektoren mit dem Blockdurchschnitt oder Mittelwert in einem zweidimensionalen Signalraum gemäß dem Konzept einer in diesem Aspekt der vorliegenden Erfindung verwendeten, Gleichstrom-korrigierten Vektorquantisierung in Beziehung stehen.
- Fig. 13 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Kodierers des Vektorquantisierers der vorliegenden Erfindung zeigt. Fig. 14 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Dekoders dafür zeigt. In den Figuren ist 301 ein Eingangsvektor, 302 ist ein Eingangsvektorregister, 303 ist ein Mittelwertberechner, 304 ist ein Zähler zum Adressieren von Ausgangsvektoren in einer Kodetabelle, 305 ist ein Ausgangsvektorkodetabellenspeicher, 306 ist ein Ausgangsvektorregister, 307 ist ein Paralleladdierer, 308 ist ein Parallelsubtrahierer, 309 ist ein paralleler Absolutwertberechner, 310 ist ein Detektor für maximale Elementenverzerrung, 311 ist ein Detektor für einen am wenigsten verzerrten Ausgangsvektor, 312 ist ein Verriegelungsspeicher für einen Index eines am wenigsten verzerrten Ausgangsvektors, 313 ist ein Mittelwertsignal, 314 ist ein Indexsignal, 315 ist ein Mittelwertmischkodierer (mean mix coder), 316 ist ein kodiertes Ausgangssignal, 317 ist ein Dekoder zum Separieren des Mittelwertes, und 318 ist ein Gleichstrom-korrigierter Ausgangsvektor.
- Der Gleichstrom-korrigierte Vektorquantisierer der vorliegenden Erfindung arbeitet wie folgt. In dem Kodierer der Fig. 13 wird eine Sequenz von eingehenden Signalen in Blöcke unterteilt, die jeweils aus K Abtastwerten bestehen, und in dem Eingangsvektorregister 302 als ein Eingangsvektor x = (x&sub1;, x&sub2;, . . ., xk) verriegelt werden. In dem Mittelwertberechner 303 wird der Mittelwert der K Eingangssignale durch jeden Block berechnet, und das Ergebnis wird als ein Mittelwertsignal E (xk) ausgegeben. Der Ausgangsvektorkodetabellenspeicher 305 enthält die am wenigsten verzerrten Unterbereiche, die erhalten werden durch Unterteilen des K dimensionalen Euclidischen Signalraums mittels einer Modell- Amplitudenwahrscheinlichkeitsdichtefunktion, von welcher der Mittelwert (Gleichstromkomponente) des Eingangssignals entfernt worden ist. Der Speicher enthält ebenfalls die Menge Y von optimalen Ausgangsvektoren yi. Der Zähler 304 adressiert die Ausgangsvektoren sukzessive von dem Speicher 305 in der Reihenfolge i = 1, 2, . . ., N. Die jeweiligen Elemente des Ausgangsvektors Y werden in den Paralleladdierer 307 eingegeben, wo sie mit dem Mittelwertsignal 313 addiert werden, um Gleichstrom-korrigierte Ausgangsvektoren yi + E(xk) bereitzustellen. Diese werden in den parallelen Substrahierer 308 eingegeben, um die Differenzen von dem Eingangsvektor X zu bestimmen. Die erhaltenen Differenzen werden in dem parallelen Absolutwertberechner 309 in ihre Absolutwerte umgewandelt und werden von diesem als ein Elementenverzerrungssignal Dil ausgegeben, welches definiert ist durch:
- Dil = yil + E(xk)-xl
- wobei l = 1, 2, . . ., K.
- Dann nimmt der Detektor 310 für maximale Elementenverzerrung als ein Ausgangsvektorverhältnis Di die Elementenverzerrung Dil, welche von allen Verzerrungen für l = 1, 2, . . ., K die Größte ist. Dieses Verhältnis ist definiert durch
- Der Detektor 311 für einen am wenigsten verzerrten Ausgangsvektor erfaßt als Reaktion auf die Zähloperation des Adreßzählers 304 in der Reihenfolge i = 1, 2, . . ., N einen am wenigsten verzerrten Ausgangsvektor yi. Die minimale Verzerrung D ist definiert durch:
- Ein Übernahmesignal (strobe signal) für die Erfassung des am wenigsten verzerrten Ausgangsvektors wird an den Indexverriegelungsspeicher 312 gesendet, um ein Indexsignal i für den am wenigsten verzerrten Ausgangsvektor zu erfassen. Der Mittelwertmischkodierer 315 kodiert das Mittelwertsignal 313 und das Indexsignal 314 und gibt sie als ein kodiertes Ausgangssignal 316 aus.
- In dem Dekoder der Fig. 14 wird das Indexsignal 314 von dem Ausgangssignal 316 separiert. Das Indexsignal 314 wird in den Indexverriegelungsspeicher 312 geladen und wird als ein Adreßsignal verwendet, um den entsprechenden Ausgangsvektor yi von dem Tabellenspeicher 305 auszulesen. Die jeweiligen Ausgangsvektoren yi werden in den Paralleladdierer 307 eingespeist, wo sie mit dem Mittelwertsignal 313 addiert werden, um yi = E(xk) als einen Gleichstrom-korrigierten Ausgangsvektor 318 zu erzeugen.
- Mittels der oben beschriebenen Prozedur wandelt der Gleichstrom-korrigierte Vektorquantisierer der vorliegenden Erfindung einen Eingangsvektor X in einen Gleichstromkorrigierten Ausgangsvektor um, der mittels Minimaxapproximation gefunden wird, am wenigsten verzerrt zu sein. Unter der Annahme eines Blocks von K Eingangsignalen und der Erzeugung von N (= 2s) Ausgangsvektoren, wobei der Blockmittelwert E(xk) in 2t Bits skalar quantisiert wird, ergibt sich die Effizienz der Kodierung durch Vektorquantisierung gemäß der vorliegenden Erfindung nach der folgenden Gleichung:
- η = s + t/K (Bits/Abtastwert)
- Ein Vorteil des Gleichstrom-korrigierten Vektorquantisierers der vorliegenden Erfindung ist seine hohe Effizienz, weil er die Vektorquantisierung von Eingangssignalen nach der Entfernung ihrer Gleichstromkomponenten durchführt, wovon ein Wahrscheinlichkeitsmodell schwierig zu bilden ist. Der Vektorquantisierer der vorliegenden Erfindung kann mit hoher Geschwindigkeit unter Bezugnahme auf eine Kodetabelle zum Lokalisieren des speziellen Ausgangsvektors, Parallelisieren von Vektoroperationen, und Berechnen von Verzerrungen mittels Minimaxapproximation betrieben werden. In einem anderen Ausführungsbeispiel kann ein Mikroprozessor verwendet werden, um eine sequentielle Gleichstrom-korrigierte Vektorquantisierung durchzuführen.
- In dem vorangehenden Ausführungsbeispiel wird der Blockmittelwert verwendet, um die Gleichstromkomponenten von Eingangssignalen zu korrigieren, bevor sie Vektor-quantisiert werden, es versteht sich jedoch, daß anstelle des Blockmittelwertes der Median des Blockes verwendet werden kann. Zusätzlich wird die minimale Verzerrung mittels Minimaxapproximation erfaßt, jedoch kann dieses ersetzt werden durch die Euclidische Norm oder die Summe von Absolutwerten. In dem dargestellten Ausführungsbeispiel wird eine vollständige Suche durch die Ausgangsvektortabelle durchgeführt, jedoch kann die Suchgeschwindigkeit erhöht werden durch Konfigurieren der Tabelle in einer Baumstruktur und Durchführen einer binären Suche. Der Eingangsvektor braucht nicht sequentielle Abtastwerte eines Eingangssignals zu sein, und anstelle dessen können zweidimensionale benachbarte Abtastwerte, wie etwa Videosignale, in Blockform eingegeben werden. Ein anderer Eingangsvektor, der verwendet werden kann, besteht aus einem Block von drei Signalkanälen wie in einem Farbvideosignal. Der RARCOR-Koeffizient eines Audiosignals kann ebenfalls mittels des Vektorquantisierers der vorliegenden Erfindung verarbeitet werden.
- Wie beschrieben, separiert der Gleichstrom-korrigierte Vektorquantisierer dieses Ausführungsbeispiels die DC-Komponente von dem Eingangsvektor, bevor er einer Vektorquantisierung unterworfen wird. Deshalb kann eine effiziente Kodierung seines Signals durchgeführt werden, ohne daß eine Grenze zwischen jedem Block von Eingangssignalen gebildet wird.
- Es sei ein Ausgangsvektor yi entsprechend einem Eingangsvektor x angenommen. Der Blockmittelwert mA = EA(xl) (A bezeichnet eine arithmetische Operation in dem Block) werde von dem Ausgangsvektor yi entfernt, und das Ergebnis unter Verwendung der Standardabweichung
- οA = [EA{(xl--mA)²}]1/2
- normalisiert, um Y' = (Y'&sub1;, Y'&sub2;, . . ., Y'N) vorzusehen, was eine Menge der normalisierten Ausgangsvektoren y&sub1;' ist. Fig. 15 zeigt die Beziehung zwischen dem Eingangsvektor X und Ausgangsvektoren yi, welche mittels der Standardabweichung des Eingangsvektors adaptiv gesteuert werden.
- Fig. 16 ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Kodierers des Vektorquantisierers gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung zeigt. Fig. 17 ist ein Blockdiagramm des Dekoders des Vektorquantisierers. In diesen Figuren ist 401 ein Eingangsvektor, 402 ist ein Eingangsvektorregister, 403 ist ein Mittelwertberechner, 404 ist ein Standardabweichungsberechner, 405 und 410 sind Parallelsubtrahierer, 406 ist ein Kodetabellenadreßzähler, 407 ist ein normalisierter Ausgangsvektorkodetabellenspeicher, 408 ist ein normalisiertes Ausgangsvektorregister, 409 ist ein Parallelmultiplizierer, 411 ist ein paralleler Absolutwertberechner, 412 ist ein Detektor für maximale Elementenverzerrung, 413 ist ein Detektor für einen am wenigsten verzerrten Ausgangsvektor, 414 ist ein Ausgangsvektorindex, und 415 ist ein Blockmittelwertsignal, 416 ist ein Block-Standardabweichungssignal, 417 ist ein Indexverriegelungsspeicher, 418 ist ein Schaltkreis zum Erzeugen einer kodierten Ausgabe, 419 ist ein kodiertes Ausgangssignal, 420 ist ein Eingangsschaltkreis in dem Dekoder, 421 ist ein Paralleladdierer, 422 ist ein Ausgangsschaltkreis in dem Dekoder und 423 ist ein Ausgangsvektor.
- Der Kodierer der Fig. 16 arbeitet wie folgt. Zuerst werden eingehende Signale in Blöcke unterteilt, die jeweils aus K Abtastwerten bestehen, und werden in dem Eingangsvektorregister 402 als ein Eingangsvektor x = (x&sub1;, x&sub2;, . . ., xk) verriegelt. Gleichzeitig berechnen der Mittelwertberechner 403 und der Standardabweichungsberechner 404 den skalaren Mittelwert mA und die Standardabweichung οA der Eingangsvektoren x&sub1; von einem Block. Die zwei Parameter werden durch die folgenden Formeln dargestellt:
- Die jeweiligen Eingangsvektoren werden dann an den parallelen Subtrahierer 405 geliefert, wo der Blockmittelwert mA von jedem Eingangsvektor subtrahiert wird, um einen Gleichstromkomponenten-freien Eingangsvektor X' = (x&sub1;-mA, x&sub2;-mA, . . ., xk-mA) zu erzeugen. Im nächsten Schritt wird nach einem normalisierten Ausgangsvektor Y'i gesucht, der zu dem Gleichstromkomponenten-freien Eingangsvektor X' paßt. Normalisierte Ausgangsvektoren Y'&sub1;, Y'&sub2;, . . ., Y'N werden als Reaktion auf den Betrieb des Adreßzählers 406 in der Reihenfolge i = 1 bis N aus der Kodiertabelle 407 ausgelesen. Die Menge (Y') dieser normalisierten Ausgangsvektoren y'&sub1; kann mittels einer Prozedur vorbestimmt werden, in welcher Gleichstromkomponenten-freie Eingangsvektoren x'&sub1; unter Verwendung einer Modellmenge von Eingangsvektoren x&sub1; mit einer voraus gewählten Amplitudenwahrscheinlichkeitsdichte erzeugt werden; diese Vektoren werden unter Verwendung der Standardabweichung für einen Block normalisiert; und eine Anhäufung (clustering) wird an der normalisierten Eingangsvektormenge X'' = {(x&sub1;--mA)/οA, (x&sub2;-mA)/οA . . ., (xk-mA)/οA}
- durchgeführt mittels Unterteilung des K dimensionalen Signalraums, welcher diese Menge enthält, in am wenigsten verzerrte Unterräume, und Auswählen ihrer repräsentativen Punkte (normalisierte Ausgangsvektoren) . Zum Durchführen von effizienter Anhäufung bis Unterräume mit minimaler Verzerrung und ihre repräsentativen Punkte (beispielsweise die Schwerpunkte) erhalten werden, kann die Verzerrung mittels der Euclidischen Norm oder Minimaxapproximation definiert werden.
- Die sukzessive von dem Tabellenspeicher 407 ausgelesenen, normalisierten Ausgangsvektoren y'&sub1; = (yi1, yi2, . . , yik) werden in dem Register 408 verriegelt, bevor sie in den Parallelmultiplizierer 409 eingespeist werden, wo sie mit der Blockstandardabweichung (οA) multipliziert werden. Die Ausgaben von dem Multiplizierer 409 und Subtrahierer 405 werden in den Parallelsubtrahierer 410 und parallelen Absolutwertberechner 411 eingegeben, worin die folgende Operation an jedem Element der K dimensionalen Vektormenge durchgeführt wird, um eine Elementenverzerrung D (gleich 1, 2, . . ., K) zu bestimmen:
- Dil = οA·y'il-(xl-mA)
- wobei y'il = οA·y'il + mA ein Ausgangsvektor entsprechend dem Eingangsvektor xl ist.
- Der Detektor 412 für minimale Elementenverzerrung erfaßt eine maximale Elementenverzerrung Di für 1 = 1, 2, . . ., K und sendet Di an den Detektor 413 für einen am wenigsten verzerrten, normalisierten Ausgangsvektor, welcher eine minimale Verzerrung Di für i = 1, 2, . . ., N erfaßt und an den Indexverriegelungsspeicher 417 sendet, welcher ebenfalls mit dem Index i 414 versehen wird, dem Blockmittelwert mA 415 und der Blockstandardabweichung οA. Die minimale Verzerrung D wird nach der folgenden Formel bezeichnet:
- Der Index 414 für den am wenigsten verzerrten, normalisierten Ausgangsvektor, der Blockmittelwert 415 und die Blockstandardabweichung 416 werden zusammen in dem Ausgangsschaltkreis 418 kodiert, und ein einzelnes kodiertes Ausgangssignal 419 wird von diesem Schaltkreis ausgegeben.
- In dem Dekoder der Fig. 17 wird das kodierte Ausgangssignal 419 durch den Eingangsschaltkreis 420 dekodiert, und der resultierende Ausgangsvektor 414, Blockmittelwert 415 und die Blockstandardabweichung 415 werden in den Indexverriegelungsspeicher 417 geladen. Der Ausgangsvektor 414 wird in den normalisierten Ausgangsvektorkodetabellenspeicher 407 eingespeist, wo er als ein Adreßsignal verwendet wird, um einen entsprechenden, normalisierten Ausgangsvektor y'&sub1; von diesem Speicher auszulesen. Nach der Verriegelung in dem Register 408 wird eine Menge des normalisierten Ausgangsvektors y'&sub1; in den Parallelmultiplizierer 409 für eine parallele Multiplikation mit der Blockstandardabweichung 416 eingegeben, dann in den Paralleladdierer 421 zur Addition mit dem Blockmittelwert 415 eingegeben. Das Ausgangssignal von dem Paralleladdierer 421 wird an den Ausgangsschaltkreis 422 gesendet, wo irgendein Überschwingen oder Unterschwingen von jedem Element mittels eines Begrenzers eliminiert wird, um einen Ausgangsvektor 423 mit minimaler Verzerrung von dem Eingangsvektor 401 vorzusehen. Die zum Rekonstruieren des am wenigsten verzerrten Ausgangsvektors yi erforderliche, arithmetische Operation wird ausgedrückt durch y&sub1; = οA·y'i + mA.
- Wie oben beschrieben, verarbeitet der adaptive Vektorquantisier dieses Ausführungsbeispiels Eingangssignale unter Verwendung von normalisierten Vektoren mit einer grundlegenden Struktur, die von der Gleichstromkomponente befreit ist und einer Wechselstromamplitude, welche einer einfachen Modellierung nicht zugänglich ist. Deshalb kann der Quantisierer der vorliegenden Erfindung eine effiziente Vektorquantisierung an jeder Art von Signal durchführen.
- Es versteht sich, daß der adaptive Vektorquantisierer mit einem Mikroprozessor oder anderen Vorrichtungen für sequentielle Verarbeitung verwendet werden kann. In dem dargestellten Ausführungsbeispiel werden der Blockmittelwert und die Blockstandardabweichung von den Eingangssignalen als ihre Gleichstromkomponente separiert, um einen schnelleren Schaltkreis vorzusehen, jedoch können die zwei Parameter ersetzt werden durch den Blockmedian bzw. den Blockabweichungsmedian. In einem anderen Ausführungsbeispiel kann anstelle eines Blockes der Durchschnitt für zwei oder mehrere Blöcke als die DC-Komponente separiert werden. Es versteht sich ebenfalls, daß nicht alle signifikanten Stellen der DC-Komponente für die oben beschriebenen arithmetischen Operationen erforderlich sind, und nur die signifikantesten Bits können von dem Eingangssignal separiert werden, während der Rest einer Vektorquantisierung unterzogen wird.
- Wie vorangehend beschrieben wurde, führt der adaptive Vektorquantisierer eine Vektorquantisierung nur auf der grundlegenden Komponente der Eingangssignale durch und läßt die anderen Komponenten der Verarbeitung adaptiv folgen. Wegen dieses Merkmals erzielt die vorliegende Erfindung eine effiziente Vektorquantisierung mit jeder Art von Eingangssignalen.
- Nun wird sich einem anderen Ausführungsbeispiel der Erfindung zugewendet. Der beim Betreiben eines Hochgeschwindigkeitsvektorquantisierers gemäß diesem Beispiel der Erfindung verwendete Algorithmus wird im folgenden unter Bezugnahme auf die Fig. 18 und 19 beschrieben. Vektorquantisierung ist im wesentlichen die Partition eines mehrdimensionalen Signalraumes in eine endliche Anzahl von Unterteilungen, so auch beim Durchführen der Hochgeschwindigkeitsvektorquantisierung gemäß der vorliegenden Erfindung, der Signalraum Rk wird in n (= log&sub2;N) Stufen partitioniert. Der ersten Stufe wird der Raum Rk in zwei Unterräume R&sub0; und R&sub1; partitioniert, welche repräsentative Punkte '&sub1; bzw. '&sub2; haben. In der zweiten Stufe wird R&sub0; in R&sub0;&sub0; und R&sub0;&sub1; partitioniert, und R&sub1; in R&sub1;&sub0; und R&sub1;&sub1;, wodurch sich vier Unterräume ergeben, welche repräsentative Punkte &sub1;², &sub2;², &sub3;² und &sub4;² haben. Durch Fortsetzen dieser Operation bis zur n-ten Stufe wird eine Menge von N Unterräumen Rn(B)&sub1; oder Rn(B)&sub0; erhalten. Das Symbol n(B) ist eine binäre Darstellung der Vergangenheit der Partitionierung bis zur letzten (n-1)-ten Stufe. Die repräsentativen Unterbereiche haben ihre repräsentativen Punkte ni(B)&sub1; oder ni(B)&sub0;.
- Die Anordnung von Ausgangsvektoren in einer zweidimensionalen Ebene in jeder Partitionsstufe bezüglich des Eingangsvektors ist in Fig. 18 gezeigt: Fig. 18(a) bezieht sich auf die erste Stufe, 18(b) auf die zweite Stufe und 18(c) bezieht sich auf die n-te Stufe.
- Fig. 19 zeigt eine Baumstruktur, die die Prozedur des Partitionierens des Signalraums Rk in Unterräume beschreibt. Durch Partitionierung an jeder Stufe erhaltene Unterräume haben ihre jeweiligen repräsentativen Punkte ni. Der Eingangsvektor gehört zu irgendeinem der in jeder Stufe erhaltenen Unterräume, und mittels Suchens durch den Raum der Fig. 19 wird eine Entscheidung getroffen, zu welchem der in der n-ten Stufe erhaltenen N Unterräume der Eingangsvektor gehört. Fig. 19 zeigt die repräsentiven Punkte für die jeweiligen, bis zur (n-1)-ten Stufe erhaltenen Unterräume, es wird jedoch angemerkt, daß diese repräsentiven Punkte nicht die Ausgangsvektoren sind, auf welche der Eingangsvektor schließlich abzubilden ist. Mit anderen Worten sind es die repräsentativen Punkte in dem in der letzten Partitionsstufe erhaltenen Unterraum, die eine Menge der eigentlichen Ausgangsvektoren bilden. Der Index i minus "1" für jeden der Unterräume Ri und der an der n-ten Stufe erhaltene Ausgangsvektor ni = (yi1, yi2, . . ., yik)n wird unter Verwendung eines binären Kodes geschrieben als n(B)1 oder n(B)0. Mit anderen Worten wird das am wenigsten signifikante Bit des Unterraumes, der von jedem Knoten des Baums in rechter Richtung abzweigt, 0, während die in der linken Richtung abzweigenden Unterräume ein am wenigsten signifikantes Bit 1 aufweisen. Das Symbol n(B) (1 oder 0) ist dasselbe wie das Subskript an den Unterraum am letzten Knoten und stellt die Vergangenheit des spezifischen Unterraumes bar.
- Mittels Durchführen von Vektorquantisierung an einem Baum, wie oben beschrieben, wird die Anzahl von Berechnungen der Verzerrung zwischen den Eingangs- und Ausgangsvektoren und die der Vergleiche zwischen den so berechneten Verzerrungen, um die am wenigsten verzerrten Ausgangsvektoren zu finden, auf 2 log&sub2;n reduziert. Dieses stellt eine deutliche Verbesserung der Verarbeitungszeit gegenüber der herkömmlichen Technik der Vektorquantisierung, die Berechnungen und Vergleiche für die Erfassung des am wenigsten verzerrten Ausgangsvektors n mal wiederholen muß, dar. Diese Verbesserung ist ebenso groß wie der Vorteil, den die Hochgeschwindigkeits-Fourier-Transformation gegenüber der gewöhnlichen Fourier-Transformation hat.
- Ein Ausführungsbeispiel des Kodierers für den Vektorquantisierer dieses Ausführungsbeispiels ist in Fig. 20 gezeigt, und ein Ausführungsbeispiel des Dekoders ist in Fig. 21 gezeigt. Der Kodierer der Fig. 20 umfaßt ein Eingangsvektorregister 501, einen Vektorsubtrahierer 505, einen Indexverriegelungsspeicher 508, einen Q-Schieber 513, ein Adreßregister 514, eine Kodetabelle 515, eine Kodetabelle 516, ein Ausgangsvektorregister A 517, ein Ausgangsvektorregister B 518, einen Verzerrungsberechner 519 und einen Komparator 520. Der Dekoder der Fig. 21 umfaßt einen Indesverriegelungsspeicher 508, eine Kodetabelle C 527 und ein Ausgangsvektorregister C 528.
- Der Kodierer der Fig. 20 arbeitet wie folgt. Zuerst wird eine Sequenz 509 von eingehenden Signalen in Blöcke unterteilt, die jeweils aus k Abtastwerten bestehen, und in das Eingangsvektorregister 501 als ein Eingangsvektor = (x&sub1;, x&sub2;, . . ., xk) eingegeben werden. Zur selben Zeit werden für den Zweck des Suchens durch den Baum der Fig. 19 nach dem am wenigsten verzerrten Ausgangsvektor Paare von Ausgangsvektoren ni(B)1 und ni(B)0 an jeder Unterteilungsstufe aus der Kodetabelle A 515 und Tabelle B 516 ausgelesen. Jede Kodetabelle muß in einer an das Suchen durch den Baum angepaßten Weise adressiert werden.
- Beim Anordnen einer Menge von Ausgangsvektoren ni in jeder Stufe in einem Kodetabellenspeicher tritt, wenn der Index i minus "1" durch einen binären Kode ausgedrückt wird und wenn n(B)0 und n(B)1, welche die Vergangenheit des Baums anzeigen, direkt beim Adressieren der Kodetabelle verwendet werden, tritt eine Überlappung zwischen den Adressen der Ausgangsvektoren an jeder Stufe auf. Um dieses Problem zu vermeiden, wird die "1" als signifikantestes Bit in jeder Stufe plaziert, und somit die Adresse eines speziellen Ausgangsvektors durch 1n(B)1 oder In(B)0 angezeigt. Auf diese Weise wird ein Ausgangsvektor &sub2;¹ an einer Stelle 11B (B steht für einen binären Kode) in der ersten Stufe eingeschrieben, und &sub1;¹ wird an einer Stelle 10B eingeschrieben. In der zweiten Stufe wird y&sub4;² an einer Stelle 111B eingeschrieben, &sub3;² bei 110B, &sub2;² bei 101B und &sub1;²bei 100E. In ähnlicher Weise wird ²i an einer Stelle 1n(B)1 in der n-ten Stufe eingeschrieben. Für jede Stufe werden diejenigen Ausgangsvektoren, welche ein am wenigsten signifikantes Bit "0" in ihrer Adresse haben, in die Kodetabelle A 515 eingeschrieben, und diejenigen, welche ein am wenigsten signifikantes Bit "1" haben, werden in die Kodetabelle 516 eingeschrieben. Mit anderen Worten werden die in der rechten Richtung für jeden Knoten in dem Baum der Fig. 19 abzweigenden Ausgangsvektoren in die Tabelle A 515 eingeschrieben, und diejenigen, die in der linken Richtung abzweigen, werden in die Tabelle B 516 eingeschrieben.
- Der Kodierer der Fig. 20 beginnt, durch den Baum der Fig. 19 zu suchen, durch zuerst Laden des Q-Schiebers 513 mit "1". Nach Verriegelung in dem Adreßregister 514 adressiert der Kodierer einen Ausgangsvektor &sub1;¹ an einer Stelle 10B in der Tabelle A 515 und einen Ausgangsvektor &sub2;¹ an einer Stelle 11B in der Tabelle B 516. Die jeweiligen Ausgangsvektoren werden in die Register A 517 und B 518 eingegeben, dann an Subtrahierer 505 und Verzerrungsberechner 519, um ihre Verzerrungen ( , ) an dem Eingangsvektor x unter Verwendung der folgenden Gleichung zu berechnen:
- Dann wird die Verzerrung 521 zwischen dem Eingangsvektor X und Ausgangsvektor &sub1;¹ in dem Komparator 520 mit der Verzerrung 522 zwischen dem Eingangsvektor X und dem Ausgangsvektor ¹&sub2; verglichen. Wenn die Verzerrung des von der Tabelle A 515 ausgelesenen Ausgangsvektors ¹ kleiner ist, gibt der Komparator 520 "0" aus, und wenn die Verzerrung des Ausgangsvektors &sub1;² kleiner ist, gibt er "1" aus. Die Komparatorausgabe 523 wird an den Q-Schieber 503 gesendet, wo sie als das am wenigsten signifikante Bit plaziert wird, nachdem der vorangehende Inhalt des Schiebers um eine Stelle verschoben worden ist. Danach ist nach der ersten Stufe der Suche der Inhalt des Q-Schiebers 513 entweder 11B oder 10b Dieser Inhalt wird als Adressendaten 524 an das Adreßregister 514 gegeben, um die zweite Stufe der Suche durchzuführen.
- Durch Wiederholen von ähnlichen Prozeduren n mal wird der Inhalt des Schiebers 513 1n(B)1 oder 1n(B)0, und schließlich wird der Eingangsvektor X auf einen der N (= 2n) Ausgangsvektoren abgebildet, der von dem Eingangsvektor X am wenigsten verzerrt ist, und die erhaltenen Adreßdaten 524 werden in dem Indexverriegelungsspeicher 508 gespeichert. Durch Entfernen des signifikantesten Bits "1" von den Adreßdaten 524 bei der Beendigung der Suche wird eine Kodiererausgabe 526 mit einer 1 : 1 Entsprechung mit dem Index des am wenigsten verzerrten Ausgangsvektors erhalten.
- In dem Dekoder der Fig. 21 wird die Kodiererausgabe 526 in den Indexverriegelungsspeicher 508 eingegeben und wird als Adressendaten zum Auslesen von der Kodetabelle C 527 eines Ausgangsvektors verwendet, der dem Index i (das heißt, n(B)1 oder n(B)0) entspricht. In der Tabelle C ist nur die Menge der Ausgangsvektoren ni der n-ten Stufe, wie aus den Kodiertabellen A 515 und B 516 in der n-ten Stufe ausgelesen, eingeschrieben worden. Der Ausgangsvektor ni wird dann in das Register C 528 eingespeist, von welchem er dann als das endgültige Ausgangssignal 529 des Vektorquantisierers geliefert wird.
- Wie sich aus der voranstehenden Beschreibung ergibt, kann der Vektorquantisier der vorliegenden Erfindung die Verarbeitung von eingehenden Signalen in einer Zeit tv durchführen, die durch die folgende Formel dargestellt wird:
- tv = (log&sub2;N)·td/k = n·td/k
- wobei td die zum Berechnen der Verzerrungen zwischen den Eingangs- und Ausgangsvektoren erforderliche Zeit ist. Deshalb wird die Verarbeitungsgeschwindigkeit des Vektorquantisierers der vorliegenden Erfindung im Vergleich mit der herkömmlichen Maschine exponentiell erhöht.
- Im vorangehenden wird die Berechnung der Verzerrung zwischen Eingangs- und Ausgangsvektoren an jeder Stufe des Suchens durch den Baum durch denselben Kodierer bewirkt, es versteht sich jedoch, daß derselbe Zweck erzielt werden kann durch Kaskadieren der n Stufen der Suche in einer Pipeline- Konfiguration. Spezieller wird der Index eines Ausgangsvektors n-1i in einer Stufe in die nächste Stufe eingegeben, und jeder der zwei von den Kodetabellen in der nächsten Stufe ausgelesenen Ausgangsvektoren wird für seine Verzerrung von dem Eingangsvektor berechnet, um so irgendwann den am wenigsten verzerrten Ausgangsvektor zu erfassen.
- Wie sich aus der vorangehenden Erläuterung ergibt, quantisiert der Vektorquantisierer dieses Beispiels eingehende Signale in einem mehrdimensionalen Signalraum mittels Suchens durch eine Baumstruktur, worin der Signalraum jeder Stufe in zwei Unterräume partitioniert wird. Dieses vergrößert die Verarbeitungsgeschwindigkeit im Vergleich zu dem herkömmlichen Vektorquantisierer exponentiell, und trotz dieses großen Anwachsens der Verarbeitungsgeschwindigkeit erzielt der Quantisierer nichts desto weniger eine zuverlässige Kodierung der Eingangssignale.
- Nun wird eine Vorrichtung gemäß einem weiteren Ausführungsbeispiel detailliert unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. Die linke Seite der Fig. 22 zeigt den (f-1)-ten Rahmen (beim Fernsehen besteht ein Rahmen aus zwei Feldern, die einer Zeilensprungabtastung zu unterziehen sind). Vier Abtastzeilen, die zeitlich kontinuierlich sind, werden ausgewählt, und vier Abtastwerte werden auf jeder Zeile genommen, um einen Block von 16 (4 · 4) Abtastwerten in einer Gitterstruktur bereitzustellen. Dieser Block wird als Menge von Vektoren
- bezeichnet.
- Die rechte Seite der Fig. 22 zeigt den f-ten Rahmen, welcher ein Rahmen (bei Fernsehabtastung zwei Felder) nach dem (f- 1)-ten Rahmen ist. Sechzehn Abtastwerte an denselben Positionen wie jene von fl werden von vier kontinuierlichen Abtastzeilen ausgewählt, und der quadratische Block dieser Abtastwerte wird als eine Menge von Vektoren fl = (S&sub1;, S&sub2;, . . ., S&sub1;&sub6;)fl bezeichnet. In jeder Vektormenge ist das Symbol l eine ganze Zahl und bezeichnet die Sequenznummer eines spezifischen Blockes, das heißt Verschiebung auf einem Rahmen von links nach rechts und von oben nach unten.
- Das vorliegende Ausführungsbeispiel stellt eine Interrahmen- Kodiervorrichtung zur Verfügung, welche eine hoch effiziente Kodierung mittels Bewegungserfassung und Vektorquantisierung auf der Basis eines Blockes von 4 mal 4 differentiellen Interrahmensignalen erzielt.
- Fig. 23 ist ein Blockdiagramm, welches ein Ausführungsbeispiel der Kodiereinheit der Interrahmen- Kodiervorrichtung zeigt. Fig. 24 ist ein Blockdiagramm, welches ein Ausführungsbeispiel der Dekodiereinheit dieser Kodiervorrichtung zeigt. In Fig. 23 ist 614 ein Raster/Blockabtastkonverter, 615 ist ein Begrenzer vom Mittelschrittyp (mid-tread type limiter), 616 ist ein Blockabtastrahmenspeicher, 617 ist ein Kodierer zur Quantisierung, 618 ist ein Dekoder für Vektorquantisierung, 619 ist ein Übertragungsdatenpuffer, und 620 ist ein Schwellwertsteuerschaltkreis. In Fig. 24 ist 623 ein Empfangsdatenpuffer und 633 ist ein Block/Rasterabtastkonverter. In Fig. 23 und 24 identifizieren gleiche Bezugsziffern gleiche oder äquivalente Teile.
- Die Kodiereinheit in Fig. 23 arbeitet wie folgt. Das digitalisierte Videosignal 607 für den f-ten Rahmen wird in den Raster/Blockabtastkonverter 614 eingegeben, um die Rasterabtastung zu einer Blockabtastung der in Fig. 22 gezeigten Art zu verschieben. Beim Blockabtasten werden individuelle Abtastwerte des Videosignals in der Reihenfolge (S&sub1;, S&sub2;, S&sub3;, S&sub4;, S&sub5;, S&sub6; , . . ., S&sub9;, S&sub1;&sub0;, . . ., S&sub1;&sub3;, S&sub1;&sub4;, S&sub1;&sub5;, S&sub1;&sub6;)l abgetastet, und diese Blockabtastprozedur schreitet von links nach rechts und von oben nach unten des Rahmens fort. Als Ergebnis wird ein Block-abgetastetes Videosignal 621 von dem Konverter 614 ausgegeben. Es wird vermerkt, daß die Richtung der Hauptabtastung mit der der Unterabtastung in einem spezifischen Block austauschbar ist.
- Das Block-abgetastete Videosignal 621 oder die Vektormenge fl wird an den Subtrahierer 602 gesendet, wo ein prädiktives 4 Blockabtastsignal 622 oder f = ( &sub1;, &sub2;, . . ., &sub1;&sub6;)l, das von dem Blockabtastrahmenspeicher 616 ausgelesen wird, von jedem Element (einem entsprechenden Abtastwert) von fl subtrahiert wird, um ein prädiktives Fehlersignal 623 oder εl = (ε&sub1;, ε&sub2;, . . ., ε&sub1;&sub6;)l als eine Ausgabe des Subtrahierers 602 zu erzeugen. Das Signal 623 wird in den Begrenzer 615 vom Mittelschrittyp eingespeist. Dieser Begrenzer hat eine Eingangs-Ausgangsumwandlungscharakteristik, wie sie in Fig. 25 gezeigt ist (worin das Symbol die Begrenzerniveaukonstante anzeigt) und wandelt das Signal 623 in ein unterdrücktes prädiktives Fehlersignal 624 oder ε'l = (ε'&sub1;, ε'&sub2;, . . ., ε'&sub1;&sub6;)'l mit einer kleinen Niveauvariation in der Richtung der Zeitbasis und unterdrückter Überlastung um. Dieses unterdrückte prädiktive Fehlersignal 624 in Blockform wird durch den Kodierer 617 und Dekoder 618 für Vektorquantisierung geleitet, um ein Vektor-quantisiertes prädiktives Fehlersignal 626 oder l = ( &sub1;, &sub2;, . . ., &sub1;&sub6;)l vorzusehen. Diese Vektormenge wird an die Addierer 625 gesendet, wo die jeweiligen Elemente mit dem prädiktiven Blockabtastsignal 622 addiert werden, um ein reproduziertes Block-abgetastetes Videosignal 627 f = ( &sub1;, &sub2;, . . ., &sub1;&sub6;)fl vorzusehen. Dieses Signal 627 wird dann in den Blockabtastrahmenspeicher 616 eingegeben, wo es um einen Rahmen in Vorbereitung zur Verwendung als ein prädiktives Blockabtastsignal 622 für den nächsten Rahmen verzögert wird.
- Die oben beschriebenen differentiellen Interrahmenoperationen werden durch die folgenden Vektoroperationen dargestellt:
- worin Z-f eine Verzögerung um einen Rahmen darstellt; l ein Operationsfehler ist, der von dem Begrenzer 615 vom Mittelschrittyp und der Vektorquantisierung von l resultiert.
- In der oben beschriebenen Verarbeitung führt der Kodierer 517 die folgende Operation an dem Block von unterdrückten prädiktiven Signalen 424 zum Zweck effizienter Kodierung durch. Wenn der Mittelwert und die Standardabweichung (oder äquivalente Komponenten davon) für den Block 'l = (ε&sub1;, ε&sub2;, . . ., ε&sub1;&sub6;)'l einen Schwellwert Tθ überschreiten, wird dieser Block als signifikanter Block mit Bewegung genommen und einer Vektorquantisierung unterworfen. Wenn weder der Blockmittelwert noch die Standardabweichung den Schwellwert Tθ überschreitet, wird der Block als ein nicht signifikanter Block genommen, und wird verarbeitet, um ein Vektorquantisiertes prädiktives Fehlersignal 626 l vorzusehen,welches gleich Null ist. Details dieser Vektorquantisierung werden in dieser Spezifikation später gegeben. Der Dekoder 617 liefert Vektor-quantisierte, kodierte Daten 625 als eine Ausgabe, welche desweiteren an den Übertragungsdatenpuffer 619 gesendet wird. Um den Überlauf des Puffers 619 zu vermeiden, wird die von den kodierten Daten 625 erzeugte Informationsmenge durch Senden eines Informationserzeugungssteuerungssignals 628 an den Schwellwertsteuerschaltkreis 620 gesteuert, welcher erlaubt, daß Vektor-quantisierte, kodierte Daten 628 mit einer konstanten Rate übertragen werden. Als Reaktion auf das Steuersignal 628 führt der Schwellwertsteuerschaltkreis 620 ein Schwellwertsignal 629 an den Kodierer 617 zurück. Der Schwellwert Tθ wird bevorzugt auf einer Rahmenbasis gesteuert. Einfrieren von Rahmen kann durch Halten von T größer als 2 während einer Rahmenperiode erzielt werden.
- Der Betrieb der Dekodereinheit der Interrahmen- Kodiervorrichtung der vorliegenden Erfindung wird im folgenden unter Bezugnahme auf Fig. 24 beschrieben. Die Vektor-quantisierten, kodierten Daten 630 werden durch den Empfangsdatenpuffer 631 geleitet, von welchem sie als kodierte Daten 626 mit verschiedener Geschwindigkeit ausgeliefert werden. Sie werden dann in den Dekoder 618 eingegeben, um in ein Vektor-quantisiertes prädiktives Fehlersignal 626 oder l umgewandelt zu werden. Dieses Signal wird an den Addierer 605 gesendet, wo es mit dem Signal 622 von dem Blockabtastrahmenspeicher 616 addiert wird, um ein reproduziertes, Block-abgetastetes Videosignal 627 oder fl einer Reihenfolge folgend vorzusehen, welche umgekehrt zu derjenigen ist, die in dem Interrahmenkodiervorgang verwendet wird. Die zum Rekonstruieren des Signals 627 durchgeführte Vektoroperation ist die folgende:
- Das reproduzierte Signal 627 wird an den Raster/Blockabtastkonverter 633 gegeben, wo es in ein Raster abgetastetes, reproduziertes Videosignal 634 umgewandelt wird. Das Signal 634 wird dann D/A gewandelt, um ein analog reproduziertes Signal zu erhalten.
- Eine hoch effiziente Kodierung kann erzielt werden durch Komprimieren der Daten des Block-abgetasteten prädiktiven Fehlersignals oder differentiellen Interrahmensignals. Zu diesem Zweck wird ein Vektorquantisierer verwendet, und seine Details werden im folgenden beschrieben. Fig. 26(a) ist ein Blockdiagramm, welches ein Ausführungsbeispiels des Kodierers des Vektorquantisierers zeigt, und Fig. 26(b) ist ein Blockdiagramm, welches ein Ausführungsbeispiel des Dekoders des Quantisierers zeigt. In diesen Figuren ist 636 ein Gleichstromkomponentenseparierungsschaltkreis, 637 ist ein Normalisierungsschaltkreis, 638 ist ein Adreßzähler, 639 ist eine Ausgangsvektorkodetabelle, 640 ist ein Schaltkreis zum Berechnen der Verzerrung zwischen Eingangs- und Ausgangsvektoren, 641 ist ein Detektor für minimale Verzerrung, 642 ist ein Indexverriegelungsspeicher, 652 ist ein Bewegungsdetektorschaltkreis, 655 ist ein Verstärkungsreproduzierschaltkreis, und 655 ist ein Gleichstromkomponentensynthetisierschaltkreis. In den Zeichnungen bezeichnen gleiche Bezugsziffern gleiche oder äquivalente Teile.
- Der in diesem Ausführungsbeispiel verwendete Vektorquantisierer arbeitet wie folgt. In dem Kodierer der Fig. 26(a) wird das unterdrückte prädiktive Fehlersignal 624 oder 'l an den Gleichstromkomponenten-Separierschaltkreis 646 und Normalisierschaltkreis 637 gegeben, wo es der folgenden Operation zur Umwandlung in einen Eingangsvektor 644 oder &sub1; unterzogen wird. Wenn ml und οl jeweils den Mittelwert bzw. die Standardabweichung der Elemente des Blockes ' = (ε'&sub1;, ε'&sub2;, . . ., ε'&sub1;&sub6;)l bezeichnen, können die zwei Parameter und der Eingangsvektor mit den folgenden Formeln berechnet werden:
- Das Mittelwertsignal 650 ml und das Standardabweichungssignal 650 οl werden an den Bewegungsdetektorschaltkreis 652 gesendet, wo sie mit einem Schwellwertsignal 629 verglichen werden, um zu prüfen, ob die Signalabtastwerte in dem Block εl die eines differentiellen Interrahmensignals sind, das eine signifikante Bewegung anzeigt. Wenn ml < Tθ und οl < Tθ, führt der Schaltkreis 652 eine Operation durch, um ml = οl = 0 herzustellen, und die so verarbeiteten ml und οl werden an den Indexverriegelungsspeicher 642 als ein Blockmittelwert und Standardabweichungssignale 653 gesendet. Wenn ml = οl = 0, folgert der Indexverriegelungsspeicher 642, daß 'l ein bewegungsloser, signifikanter Block ist, und sendet nur einen nicht signifikanten Kode (1 Bit) als dekodierten Daten 625 für das Vektor-quantisierte 'l. Wenn ml = 0 oder οl = 0, werden ein signifikanter Blockkode (1 Bit) ebenso wie ml, οl und ein in dieser Spezifikation später zu beschreibendes Ausgangsvektor-Indexsignal 649 aus dem Indexverriegelungsspeicher 642 als Komponenten der Vektorquantisierten, kodierten Daten 625 ausgegeben. Somit kann der Kode zum Unterscheiden zwischen signifikanten und nicht signifikanten Blöcken als ein Präfix beim Vorbereiten der Vektor-quantisierten Daten 625 mittels variabler Wortlängenkodierung (beispielsweise Huffmann-Kodierung) verwendet werden. Als Ergebnis kann ein Block aus bewegungslosen Abtastwerten mit hoher Effizienz kodiert werden, was nur ein Bit für den nicht signifikanten Blockkode (das heißt 1/16 Bit pro Abtastwert) erfordert.
- Vektorquantisierung stellt ebenfalls eine hoch effiziente Kodierung von signifikanten Blöcken sicher, deren Prinzipien zuvor beschrieben wurden. Kurz, es sei ein Eingangsvektor x = (x&sub1;, x&sub2;, . . ., xk) angenommen, der aus einem Block von K Eingangssignalabtastwerten (K positiv ganzzahlig) besteht, und ein K-dimensionaler Euclidischer Signalraum Rk ( = Rk) der in eine endliche Anzahl von Unterräumen R&sub1;, R&sub2;, . . ., RN partitioniert ist. Y = ( &sub1;, &sub2;, . . ., Y) sei eine Menge von Ausgangsvektoren i = (yi1, yi2, . . ., yik), welche N repräsentative Punkte (beispielsweise der Schwerpunkt) der jeweiligen Unterräume sind. Vektorquantisierung ist die Abbildung eines repräsentativen Punktes i als der Ausgangsvektor des in einen spezifischen Unterraum Ri eingeschlossenen Eingangsvektors .
- Deshalb kann eine Vektorquantisierung Qv wie folgt definiert werden:
- Diese Vektorquantisierung stellt eine sehr effiziente Kodierung sicher durch Übertragen oder Aufzeichnen der kodierten Ausgabe.
- Bei Vektorquantisierung kann die Ausgangsvektormenge Y durch Anhäufen (clustering) erhalten werden. Dieses ist eine Technik des Konvergierens einer Anzahl von Eingangsvektoren , welche von einem Modell einer Eingangssignalquelle basierend auf der Amplitudenwahrscheinlichkeitsverteilung P( ) von Eingangsvektoren herrühren, bis die Gesamtsumme der Verzerrungen zwischen den Eingangsvektoren und den Ausgangsvektoren (die letzteren werden vorläufig durch Initialisierung bestimmt) in dem X-dimensionalen Signalraum Rk minimal wird. Die Gesamtsumme der Verzerrungen wird ausgedrückt als
- Fig. 27 zeigt ein Beispiel der Anordnung von Ausgangsvektoren in einem 16-dimensionalen Signalraum R¹&sup6;.
- Spezifischer ist Vektorquantisierung die Kaskadierung zwischen der Kodierung (C), welche die Abbildung von Rk auf den Index eines Ausgangsvektors ist, welcher dem Eingangsvektor X am nächsten ist (oder am wenigstens davon verzerrt ist), und der Dekodierung (D), welche die Abbildung dieses Index auf den am wenigsten verzerrten Ausgangsvektor ist. C und D werden durch die folgende Formeln definiert:
- Die Verzerrung d( , i) kann wie folgt durch die Euclidische Distanz definiert werden:
- Für eine schnellere Berechnung der Verzerrung kann die Hausdorff-Distanz verwendet werden:
- Die Summe von Absolutwerten kann ebenfalls verwendet werden für die Berechnung der Verzerrung:
- Vor dem Beginn der obigen Vektorquantisierungsprozedur wird die Menge von Ausgangsvektoren, die durch die Anhäufungstechnik erzeugt worden sind, in die Ausgangsvektorkodiertabelle 639 des Kodierers der Fig. 26(a) eingeschrieben. Wenn ein Eingangsvektor 644 oder in den Verzerrungsberechnungsschaltkreis 640 eingegeben wird, zählt der Adreßzähler 628 die Indexnummer von 1 bis N, um entsprechende Ausgangsvektoren i = &sub1;, &sub2;, . . ., N sukzessive aus der Kodiertabelle 639 auszulesen. Dann berechnet der Schaltkreis 640 die Verzerrung d( , i) zwischen dem Eingangsvektor X und jedem der Ausgangsvektoren i und liefert einen Zug von Verzerrungssignalen 644 an den Detektor 641 für minimale Verzerrung, um
- für i = 1, 2, . . ., N zu bestimmen. Spezieller, wenn ein bestimmter Wert von d( , i) als Ergebnis sequentiellen Zählens mit dem Adreßzähler 638 in der Reihenfolge i = 1, 2, . . ., N gefunden wird, kleiner zu sein als der zuletzt erfaßte Minimalwert, wird dieser kleinere Wert als eine neue minimale Verzerrung verriegelt. Bei Erfassung der neuen minimalen Verzerrung sendet der Detektor 641 ein Übernahmesignal (strobe signal) 648, und gleichzeitig wird ein entsprechendes Adreßsignal 649 in den Indexverriegelungsspeicher 642 geladen. Durch Fortsetzen dieser Operation bis i = N ist, kann der Index für den am wenigsten verzerrten Ausgangsvektor in den Indexverriegelungsspeicher 642 geladen werden. Dieser Index, ebenso wie der Mittelwert und das Standardabweichungssignal 653 für einen sich bewegenden Block und der Kode zum Unterscheiden zwischen signifikanten und nicht signifikanten Blöcken werden zusammen aus dem Indexverriegelungsspeicher 642 als Vektor-quantisierte, kodierte Daten 625 ausgegeben.
- Der Dekoder der Fig. 26(b) in dem Vektorquantisierer arbeitet wie folgt: Zuerst werden die Vektor-quantisierten, kodierten Daten 625, die aus dem Kode zum Unterscheiden zwischen signifikanten und nicht signifikanten Blöcken bestehen, dem Index und dem Blockmittelwert und Standardabweichungssignal 653, in den Indexverriegelungsspeicher 642 geladen. Der Index wird an die Ausgangsvektoren der Kodetabelle 639 gesendet, welche dieselbe ist wie die in dem Kodierer der Fig. 26(a) verwendete, und ein entsprechender Ausgangsvektor 656 oder
- wird aus dieser Tabelle ausgelesen. Der Ausgangsvektor yi wird in den Verstärkungsreproduzierschaltkreis 654 eingegeben, wo er mit dem Standardabweichungssignal οl multipliziert wird, um ein Signal 657 mit reproduzierter Verstärkung vorzusehen, und danach wird das Signal 657 an den Wechselstromkomponentensynthetisierschaltkreis 655 weitergereicht, wo es mit dem Mittelwertsignal ml kombiniert wird, um schließlich ein reproduziertes prädiktives Fehlersignal 626 l bereitzustellen. Diese Sequenz wird durchdedie folgenden Operationen dargestellt:
- i = οl·yij + ml (j = 1, 2, . . ., 16)
- l = ( &sub1;, &sub2;, . . ., &sub1;&sub6;)l
- falls l = 80, 0, . . ., 0) l if ml = οl = 0.
- Die Interrahmenkodiervorrichtung der vorliegenden Erfindung, welche die Technik der Vektorquantisierung anwendet, weist verschiedene Vorteile auf. Zuerst reduziert sie die Anzahl von Quantisierungsniveaus durch Unterdrücken des granularen Rauschens, das in differentiellen Interrahmensignalen in der Richtung der Zeitbasis enthalten ist, ebenso wie die Überlastung mit Hilfe eines Begrenzers vom Mittelschrittyp. Als zweites gruppiert die Vorrichtung eine vorbestimmte Anzahl von differentiellen Interrahmensignalen in Blöcke und unterscheidet einen signifikanten Block von einem nicht signifikanten Block durch Erfassen von Szenenbewegungen über den Blockmittelwert und die Standardabweichung (oder äquivalente Komponenten davon). Als Ergebnis kann die Vorrichtung selektiv nur signifikante Bewegung mit höherer Präzision trotz störenden Rauschens erfassen, und ist gleichzeitig in der Lage, eine hoch effiziente Kodierung zu erzielen. Wenn ein bestimmter Block von differentiellen Interrahmensignalen gefunden wird, eine signifikante Bewegung zu enthalten, werden sie individuell von ihrem Blockmittelwert separiert und mittels der Verstärkung normalisiert. Die normalisierten Signale werden einer Vektorquantisierung in einem mehrdimensionalen Signalraum einschließlich dieser Signale als eine Menge von Eingangsvektoren unterworfen. Dieser Prozeß hilft ebenfalls, die Effizienz der Kodierung mittels der Vorrichtung der vorliegenden Erfindung zu erhöhen. Gemäß der vorliegenden Erfindung kann die Vektorquantisierung von normalisierten Signalen mit hoher Effizienz bewirkt werden, weil nach der Separierung des Mittelwertes und dem Normalisierungsschritt die Videosignale bezüglich Hilfsszenen mit verschiedenen Amplitudenwahrscheinlichkeitsverteilungen einander gleich werden. Weil eine Vektornormalisierung nicht individuell auf normalisierten Signalen durchgeführt wird, sondern in Blockform, kann der Interrahmenkodiervorgang auf einen Interrahmenübertragungsfehler hin durch gelegentliches Durchführen von direkter Vektorquantisierung an dem Blockabgetasteten Videosignal 621 geprüft werden.
- Die vorangehenden Beschreibungen des vorliegenden Ausführungsbeispiels basieren auf der Annahme, daß Vektorquantisierung an einem Block von 16 (4 · 4) Eingangssignalabtastwerten durchgeführt wird, es versteht sich jedoch, daß andere Blockgrößen ebenfalls verwendet werden können. In dem zuletzt dargestellten Ausführungsbeispiel basiert der Vektorquantisierungsprozeß auf der Annahme einer vollständigen Suche, die die Berechnungen der Verzerrungen zwischen allen Eingangs- und Ausgangsvektoren involviert, jedoch können alternativ die Ausgangsvektoren in einer Baumstruktur erzeugt werden, welche zu durchsuchen ist, um eine schnellere Vektorquantisierung zu erzielen. In einer anderen Modifikation können andere Werte als der Blockmittelwert und die Standardabweichung als die Schwellwerte für die Erfassung signifikanter Rahmenbewegung verwendet werden.
- Wie voranstehend beschrieben wurde, ist eine Interrahmenkodiervorrichtung der vorliegenden Erfindung konstruiert, eine hoch effiziente Kodierung durch Vektorquantisierung an Gleichstromkomponenten-freien, normalisierten, differentiellen Interrahmensignalen durchzuführen, nachdem sie rauschunterdrückt worden sind, und nur signifikante Rahmenbewegungen erfaßt worden sind. Wegen dieser Merkmale kann die Vorrichtung der vorliegenden Erfindung sich bewegende Bilder mit hoher Qualität mit einer sehr niedrigen Bitrate übertragen.
Claims (8)
1. Interrahmen-Kodiervorrichtung, welche einen
Vektorquantisierer verwendet, mit
einem Rahmenspeicher (616) zum Speichern von wenigstens
einem Rahmen von Videosignalen zu jeder Zeit;
einem Subtrahierer (602), um auf den Empfang eines
Blockes der gegenwärtigen K Eingangsvideoabtastwerte (K
größer als 1) hin differentielle Interrahmensignale
durch Auslesen eines Blockes von prädiktiven Signalen
aus dem Speicher (616) zu berechnen, welche sich an
denselben Positionen in einem Rahmen wenigstens ein
Rahmen vor dem gegenwärtigen Rahmen befinden;
einem Begrenzer (615) zum Unterdrücken von kleinen
Variationen in und Überlastung auf den differentiellen
Interrahmensignalen;
einem Gleichstromkomponenten-Separier und
Normalisierschaltkreis (636, 637) zum Umwandeln der
unterdrückten differentiellen Interrahmensignale in
Eingangsvektoren durch Separieren des Mittelwertes für
den Block der Signale davon und durch Normalisieren der
Signale unter Verwendung der Standardabweichung von dem
Mittelwert;
einem Bewegungserfassungsschaltkreis (652) zum
Vergleichen des Mittelwertes und der Standardabweichung
für einen gegebenen Block mit einem vorbestimmten
Schwellwert, und welcher auf die Feststellung hin, daß
die zwei Parameter kleiner sind als der Schwellwert, den
Block als einen nicht signifikanten Block interpretiert
und eine Operation durchführt, die alle differentiellen
Interrahmensignale in diesem Block löscht;
einer Kodiereinheit (617) für Vektorquantisierung zum
Kodieren der Eingangsvektoren in einem signifikanten
Block, wobei der Blockmittelwert oder die
Standardabweichung größer ist als der Schwellwert, in
einen Kode zum Unterscheiden eines Ausgangsvektors,
welcher die minimale Verzerrung hat, die definiert ist
durch die kleinste Entfernung in einem K-dimensionalen
Signalraum Rk, von dem Eingansvektor unter einer
vorbestimmten Anzahl von repräsentativen Punkten einer
voraus gewählten, optimalen Anordnung von
Ausgangsvektoren in dem K-dimensionalen Signalraum Rk;
einer Dekodiereinheit (618) für Vektorquantisierung, um
einen entsprechenden Ausgangsvektor von dem
Unterscheidungskode auszuwählen, denselben mit der
Blockstandardabweichung zu multiplizieren und den
Blockmittelwert zu dem Produkt zu addieren, um die Menge
von differentiellen Interrahmensignalen zu
reproduzieren, und um desweiteren die differentiellen
Interrahmensignale in einem nicht signifikanten Block
auf Null zu setzen;
einem Addierer (605), welcher nach der
Vektorquantisierung die prädiktiven Signale zu den
reproduzierten differentiellen Interrahmensignalen
addiert, um Videosignale zu reproduzieren, und um dann
die Videosignale in den Rahmenspeicher (616)
einzuschreiben.
2. Interrahmen-Kodiervorrichtung nach Anspruch 1,
gekennzeichnet durch einen
Übertragungsdatenpuffer (619) zum Durchführen von
variabler Wortlängenkodierung an dem Kode zum
Unterscheiden zwischen signifikanten und nicht
signifikanten Blöcken, dem Kode zum Unterscheiden des am
wenigsten verzerrten Ausgangsvektors, und dem Mittelwert
und der Standardabweichung des signifikanten Blockes,
und zum Steuern des Schwellwerts, um die
Informationsmenge auf einem konstanten Niveau zu halten.
3. Interrahmen-Kodiervorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß die
Standardabweichung von dem Blockmittelwert zum
Normalisieren oder Erfassen von signifikanten Bewegungen
in den differentiellen Interrahmensignalen die Differenz
zwischen den Maximum- und Minimumwerten für den Block
oder die Gesamtsumme der Absolutwerte der Differenzen
von dem Blockmittelwert umfaßt.
4. Interrahmen-Kodiervorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß die
Kodiereinheit (617) für Vektorquantisierung einen
Abschnitt (640) zum Berechnen der Verzerrung zwischen
Eingangs- und Ausgangsvektoren einschließt, die
definiert ist durch die Entfernung zwischen den zwei
Vektoren in einem K-dimensionalen Signalraum.
5. Interrahmen-Kodiervorrichtung nach Anspruch 4,
dadurch gekennzeichnet, daß die Distanz
zwischen den zwei Vektoren in Maximum-Ausdrücken des
Absolutwertes der größten Differenz zwischen den
Elementen der Eingangs- und Ausgangsvektoren berechnet
wird.
6. Interrahmen-Kodiervorrichtung nach Anspruch 4,
dadurch gekennzeichnet, daß die
Entfernung zwischen den zwei Vektoren in Ausdrücken der
Gesamtsumme der Absolutwerte der Differenzen zwischen
den Elementen der Eingangs- und Ausgangsvektoren
berechnet wird.
7. Interrahmen-Kodiervorrichtung nach Anspruch 1,
gekennzeichnet durch die Kodiereinheit für
Vektorquantisierung, mit
einer Ausgangsvektorkodetabelle (639) zum Partitionieren
eines K-dimensionalen Euclidischen Signalraums
einschließlich Eingangsvektoren, von denen jeder aus K
Eingangssignalen besteht, und K eine ganze Zahl größer
als 1 ist, in eine Vielzahl von Unterräumen bezüglich
der Wahrscheinlichkeitsdichte der Eingangsvektoren, und
zum Speichern der repräsentativen Ausgangsvektoren der
Unterräume;
einem Verzerrungsberechnungsschaltkreis (640) zum
Berechnen der Verzerrung zwischen den sukzessive aus der
Kodetabelle (639) ausgelesenen Ausgangsvektoren und den
Eingangsvektoren;
einem Detektor (641) für einen am wenigsten verzerrten
Ausgangsvektor, um einen Ausgangsvektor zu erfassen,
welcher die geringste Verzerrung unter den berechneten
Verzerrungen bietet;
einem Kodierschaltkreis (617) zum Kodieren und Ausgeben
als eine kodierte Adresse der Ausgangsvektorkodetabelle
(639), welche dem Ausgangsvektor zugewiesen ist, der die
geringste Verzerrung bietet; und
einem Dekoder (618), der die kodierte Ausgabe der
Adresse in der Ausgangsvektorkodetabelle (639)
dekodiert, um eine entsprechende Vektorausgabe, die eine
minimale Verzerrung bietet, aus der Kodetabelle (639)
auszulesen.
8. Interrahmen-Kodiervorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß die
Kodiereinheit für Vektorquantisierung einschließt
eine Ausgangsvektorkodetabelle (639) zum Partitionieren
eines K-dimensionalen Euclidischen Signalraums
einschließlich Eingangsvektoren, von denen jeder aus K
Eingangssignalen besteht, und K eine ganze Zahl größer
als 1 ist, in eine Vielzahl von Unterräumen bezüglich
der Wahrscheinlichkeitsdichte der Eingangsvektoren, und
zum Speichern der repräsentativen Ausgangsvektoren der
Unterräume;
einen Verzerrungsberechnungsschaltkreis (640) zum
Berechnen der Verzerrung zwischen den sukzessive aus der
Kodetabelle (639) ausgelesenen Ausgangsvektoren und den
Eingangsvektoren;
einen Detektor
(641) für einen am wenigsten verzerrten
Ausgangsvektor, um einen Ausgangsvektor zu erfassen, der
die geringste Verzerrung unter den berechneten
Verzerrungen bietet;
einen Kodierschaltkreis (617) zum Kodieren und Ausgeben
als eine kodierte Adresse einer Adresse der
Ausgangsvektorkodetabelle (639), welche dem
Ausgangsvektor zugewiesen ist, der die geringste
Verzerrung bietet.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57100516A JPS58218244A (ja) | 1982-06-11 | 1982-06-11 | ベクトル量子化器 |
JP57100515A JPS58218243A (ja) | 1982-06-11 | 1982-06-11 | 直流補正ベクトル量子化器 |
JP57101704A JPS58219886A (ja) | 1982-06-14 | 1982-06-14 | カラ−画像信号のベクトル量子化器 |
JP57111155A JPS592453A (ja) | 1982-06-28 | 1982-06-28 | 適応型ベクトル量子化器 |
JP57187906A JPS5977730A (ja) | 1982-10-26 | 1982-10-26 | ベクトル量子化器 |
JP58023014A JPS59148478A (ja) | 1983-02-15 | 1983-02-15 | ベクトル量子化方式フレ−ム間符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3382796D1 DE3382796D1 (de) | 1995-10-26 |
DE3382796T2 true DE3382796T2 (de) | 1996-03-28 |
Family
ID=27549077
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8383105713T Expired - Fee Related DE3382478D1 (de) | 1982-06-11 | 1983-06-10 | Vektor-groessenwandler. |
DE3382806T Expired - Fee Related DE3382806T2 (de) | 1982-06-11 | 1983-06-10 | Vektorquantisierer |
DE3382796T Expired - Fee Related DE3382796T2 (de) | 1982-06-11 | 1983-06-10 | Vorrichtung zur Zwischenbildkodierung. |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE8383105713T Expired - Fee Related DE3382478D1 (de) | 1982-06-11 | 1983-06-10 | Vektor-groessenwandler. |
DE3382806T Expired - Fee Related DE3382806T2 (de) | 1982-06-11 | 1983-06-10 | Vektorquantisierer |
Country Status (2)
Country | Link |
---|---|
EP (3) | EP0411675B1 (de) |
DE (3) | DE3382478D1 (de) |
Families Citing this family (171)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0450664A1 (de) * | 1983-09-06 | 1991-10-09 | Mitsubishi Denki Kabushiki Kaisha | Vektor-Quantisiergerät für Bildinformation |
US4670851A (en) * | 1984-01-09 | 1987-06-02 | Mitsubishi Denki Kabushiki Kaisha | Vector quantizer |
DE3689796T2 (de) * | 1985-01-16 | 1994-08-04 | Mitsubishi Denki K.K., Tokio/Tokyo | Videokodierungsvorrichtung. |
EP0193185B1 (de) * | 1985-02-28 | 1992-05-13 | Mitsubishi Denki Kabushiki Kaisha | Adaptive Zwischenbild-Vektorquantisier-Kodiereinrichtung |
DE3684047D1 (de) | 1985-07-02 | 1992-04-09 | Matsushita Electric Ind Co Ltd | Vorrichtung zur blockkodierung. |
ATE52371T1 (de) * | 1985-12-04 | 1990-05-15 | Siemens Ag | Verfahren zur datenreduktion digitaler bildsignale durch vektorquantisierung. |
FR2595177B1 (fr) * | 1986-02-28 | 1988-05-13 | Thomson Csf | Procede de compression d'images numeriques et dispositif de mise en oeuvre d'un tel procede |
JP2532909B2 (ja) * | 1987-02-25 | 1996-09-11 | 富士写真フイルム株式会社 | ベクトル量子化による画像デ―タの圧縮装置 |
EP0280313B1 (de) * | 1987-02-25 | 1994-05-18 | Fuji Photo Film Co., Ltd. | Verfahren zur Kompression von Bildsignalen durch Vektorquantisierung |
JPS63269882A (ja) * | 1987-04-28 | 1988-11-08 | Mitsubishi Electric Corp | 画像符号化伝送装置 |
EP0624037B1 (de) * | 1987-04-28 | 2001-10-10 | Mitsubishi Denki Kabushiki Kaisha | System zur Bildcodierung |
EP0388043B1 (de) * | 1989-02-28 | 1995-12-06 | Canon Kabushiki Kaisha | System zur Verarbeitung eines quantisierten Vektors |
US5010574A (en) * | 1989-06-13 | 1991-04-23 | At&T Bell Laboratories | Vector quantizer search arrangement |
EP0468450A3 (en) * | 1990-07-27 | 1992-03-11 | International Telecommunications Satellite Organization | Parametric reduction technique for enhanced bit rate reduction of color video signals |
US5164819A (en) * | 1991-04-03 | 1992-11-17 | Music John D | Method and system for coding and compressing color video signals |
EP0537322A1 (de) * | 1991-04-18 | 1993-04-21 | Eastman Kodak Company | Neuquantisierung eines digitalen Bildsignales mit minimalen sichtbaren Störungen |
US5734791A (en) * | 1992-12-31 | 1998-03-31 | Apple Computer, Inc. | Rapid tree-based method for vector quantization |
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 |
GB9622055D0 (en) | 1996-10-23 | 1996-12-18 | Univ Strathclyde | Vector quantisation |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
ITFI20010199A1 (it) | 2001-10-22 | 2003-04-22 | Riccardo Vieri | Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7633076B2 (en) | 2005-09-30 | 2009-12-15 | Apple Inc. | Automated response to and sensing of user activity in portable devices |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US9053089B2 (en) | 2007-10-02 | 2015-06-09 | Apple Inc. | Part-of-speech tagging using latent analogy |
US8620662B2 (en) | 2007-11-20 | 2013-12-31 | Apple Inc. | Context-aware unit selection |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8065143B2 (en) | 2008-02-22 | 2011-11-22 | Apple Inc. | Providing text input using speech data and non-speech data |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8464150B2 (en) | 2008-06-07 | 2013-06-11 | Apple Inc. | Automatic language identification for dynamic text processing |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8768702B2 (en) | 2008-09-05 | 2014-07-01 | Apple Inc. | Multi-tiered voice feedback in an electronic device |
US8898568B2 (en) | 2008-09-09 | 2014-11-25 | Apple Inc. | Audio user interface |
US8583418B2 (en) | 2008-09-29 | 2013-11-12 | Apple Inc. | Systems and methods of detecting language and natural language strings for text to speech synthesis |
US8712776B2 (en) | 2008-09-29 | 2014-04-29 | Apple Inc. | Systems and methods for selective text to speech synthesis |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US8862252B2 (en) | 2009-01-30 | 2014-10-14 | Apple Inc. | Audio user interface for displayless electronic device |
US8380507B2 (en) | 2009-03-09 | 2013-02-19 | Apple Inc. | Systems and methods for determining the language to use for speech generated by a text to speech engine |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10540976B2 (en) | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8682649B2 (en) | 2009-11-12 | 2014-03-25 | Apple Inc. | Sentiment prediction from textual data |
US8600743B2 (en) | 2010-01-06 | 2013-12-03 | Apple Inc. | Noise profile determination for voice-related feature |
US8311838B2 (en) | 2010-01-13 | 2012-11-13 | Apple Inc. | Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts |
US8381107B2 (en) | 2010-01-13 | 2013-02-19 | Apple Inc. | Adaptive audio feedback system and method |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8977584B2 (en) | 2010-01-25 | 2015-03-10 | Newvaluexchange Global Ai Llp | Apparatuses, methods and systems for a digital conversation management platform |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
CN102263558B (zh) * | 2010-05-28 | 2014-02-19 | 华为技术有限公司 | 信号处理方法及系统 |
US8713021B2 (en) | 2010-07-07 | 2014-04-29 | Apple Inc. | Unsupervised document clustering using latent semantic density analysis |
US8719006B2 (en) | 2010-08-27 | 2014-05-06 | Apple Inc. | Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis |
US8719014B2 (en) | 2010-09-27 | 2014-05-06 | Apple Inc. | Electronic device with text error correction based on voice recognition data |
US10515147B2 (en) | 2010-12-22 | 2019-12-24 | Apple Inc. | Using statistical language models for contextual lookup |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US8781836B2 (en) | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US10672399B2 (en) | 2011-06-03 | 2020-06-02 | Apple Inc. | Switching between text data and audio data based on a mapping |
US8812294B2 (en) | 2011-06-21 | 2014-08-19 | Apple Inc. | Translating phrases from one language into another using an order-based set of declarative rules |
US8706472B2 (en) | 2011-08-11 | 2014-04-22 | Apple Inc. | Method for disambiguating multiple readings in language conversion |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8762156B2 (en) | 2011-09-28 | 2014-06-24 | Apple Inc. | Speech recognition repair using contextual information |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US8775442B2 (en) | 2012-05-15 | 2014-07-08 | Apple Inc. | Semantic search using a single-source semantic model |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US10019994B2 (en) | 2012-06-08 | 2018-07-10 | Apple Inc. | Systems and methods for recognizing textual identifiers within a plurality of words |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US8935167B2 (en) | 2012-09-25 | 2015-01-13 | Apple Inc. | Exemplar-based latent perceptual modeling for automatic speech recognition |
CN113470641B (zh) | 2013-02-07 | 2023-12-15 | 苹果公司 | 数字助理的语音触发器 |
US10572476B2 (en) | 2013-03-14 | 2020-02-25 | Apple Inc. | Refining a search based on schedule items |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US9733821B2 (en) | 2013-03-14 | 2017-08-15 | Apple Inc. | Voice control to diagnose inadvertent activation of accessibility features |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10642574B2 (en) | 2013-03-14 | 2020-05-05 | Apple Inc. | Device, method, and graphical user interface for outputting captions |
US9977779B2 (en) | 2013-03-14 | 2018-05-22 | Apple Inc. | Automatic supplementation of word correction dictionaries |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
CN110096712B (zh) | 2013-03-15 | 2023-06-20 | 苹果公司 | 通过智能数字助理的用户培训 |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
AU2014251347B2 (en) | 2013-03-15 | 2017-05-18 | Apple Inc. | Context-sensitive handling of interruptions |
KR101759009B1 (ko) | 2013-03-15 | 2017-07-17 | 애플 인크. | 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것 |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
DE112014002747T5 (de) | 2013-06-09 | 2016-03-03 | Apple Inc. | Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
JP2016521948A (ja) | 2013-06-13 | 2016-07-25 | アップル インコーポレイテッド | 音声コマンドによって開始される緊急電話のためのシステム及び方法 |
CN105453026A (zh) | 2013-08-06 | 2016-03-30 | 苹果公司 | 基于来自远程设备的活动自动激活智能响应 |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
TWI566107B (zh) | 2014-05-30 | 2017-01-11 | 蘋果公司 | 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置 |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
CN109003132B (zh) * | 2017-10-30 | 2021-12-14 | 上海寒武纪信息科技有限公司 | 广告推荐方法及相关产品 |
US20210133854A1 (en) | 2018-09-13 | 2021-05-06 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and terminal device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3309677A (en) * | 1964-01-02 | 1967-03-14 | Bunker Ramo | Automatic information indexing |
FR2101155B1 (de) * | 1970-08-31 | 1974-09-20 | Ortf | |
GB1359427A (en) * | 1971-12-29 | 1974-07-10 | Ibm | Data processing systems |
GB2003001A (en) * | 1977-08-16 | 1979-02-28 | Dennis T | Improvements in methods and apparatus for coding digital television signals |
US4302775A (en) * | 1978-12-15 | 1981-11-24 | Compression Labs, Inc. | Digital video compression system and methods utilizing scene adaptive coding with rate buffer feedback |
-
1983
- 1983-06-10 EP EP90117175A patent/EP0411675B1/de not_active Expired - Lifetime
- 1983-06-10 EP EP83105713A patent/EP0097858B1/de not_active Expired - Lifetime
- 1983-06-10 EP EP91107886A patent/EP0444717B1/de not_active Expired - Lifetime
- 1983-06-10 DE DE8383105713T patent/DE3382478D1/de not_active Expired - Fee Related
- 1983-06-10 DE DE3382806T patent/DE3382806T2/de not_active Expired - Fee Related
- 1983-06-10 DE DE3382796T patent/DE3382796T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0444717A3 (en) | 1992-12-09 |
EP0444717B1 (de) | 1996-05-22 |
DE3382806T2 (de) | 1996-11-14 |
DE3382806D1 (de) | 1996-06-27 |
EP0411675A2 (de) | 1991-02-06 |
EP0097858A3 (en) | 1986-10-15 |
EP0444717A2 (de) | 1991-09-04 |
EP0411675B1 (de) | 1995-09-20 |
DE3382478D1 (de) | 1992-01-30 |
EP0097858B1 (de) | 1991-12-18 |
EP0097858A2 (de) | 1984-01-11 |
DE3382796D1 (de) | 1995-10-26 |
EP0411675A3 (en) | 1991-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3382796T2 (de) | Vorrichtung zur Zwischenbildkodierung. | |
US4558350A (en) | Vector quantizer | |
US4560977A (en) | Vector quantizer | |
US5162923A (en) | Method and apparatus for encoding frequency components of image information | |
CN1179575C (zh) | 用于去除运动画面解码器中成块效应的装置及方法 | |
US5414527A (en) | Image encoding apparatus sensitive to tone variations | |
DE69227533T2 (de) | Bildverarbeitungsverfahren und -gerät | |
DE69229260T2 (de) | Bildkompression | |
DE69129595T2 (de) | Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen | |
DE3854445T2 (de) | Vorrichtung zum Codieren und Übertragen von Bildern. | |
US4894713A (en) | Method of coding video signals | |
DE69015695T2 (de) | Einrichtung zur Transformationskodierung. | |
EP0934662B1 (de) | Verfahren zur erzeugung eines vektorquantisierungs-codebuchs | |
EP0207774A2 (de) | Vorrichtung zur Blockkodierung | |
DE68914918T2 (de) | Bildcodierungsgerät. | |
JPH04284783A (ja) | イメージ・データ処理方法 | |
WO1993023956A1 (en) | Method for image compression coding in an image transmission system | |
DE69635836T2 (de) | Verfahren und Vorrichtung zur Kodierung eines Bildes mit einer Kontur in einem Videosignal | |
US5124791A (en) | Frame-to-frame compression of vector quantized signals and other post-processing | |
US20020146073A1 (en) | Video compression scheme using wavelets | |
GB2300083A (en) | Fractal image compression | |
DE69936755T2 (de) | Verfahren und Vorrichtung zur Analyse von Bilddaten um mehrere Umwandlungen für verbesserte Bilddatenübertragung durchzuführen | |
DE69024130T2 (de) | Datenkompressionssystem | |
DE3486398T2 (de) | Vektor-Quantisiergerät. | |
Nasrabadi | Use of vector quantizers in image coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8320 | Willingness to grant licences declared (paragraph 23) | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |