DE69618290T2 - Vorrichtung zur Bildkompression - Google Patents
Vorrichtung zur BildkompressionInfo
- Publication number
- DE69618290T2 DE69618290T2 DE69618290T DE69618290T DE69618290T2 DE 69618290 T2 DE69618290 T2 DE 69618290T2 DE 69618290 T DE69618290 T DE 69618290T DE 69618290 T DE69618290 T DE 69618290T DE 69618290 T2 DE69618290 T2 DE 69618290T2
- Authority
- DE
- Germany
- Prior art keywords
- value
- vector
- code
- section
- dot product
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000007906 compression Methods 0.000 title claims description 121
- 230000006835 compression Effects 0.000 title claims description 119
- 239000013598 vector Substances 0.000 claims description 210
- 238000013139 quantization Methods 0.000 claims description 97
- 238000004364 calculation method Methods 0.000 claims description 95
- 239000003990 capacitor Substances 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 34
- 238000012937 correction Methods 0.000 claims description 20
- 239000000872 buffer Substances 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000001444 catalytic combustion detection Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000002542 deteriorative effect Effects 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Description
- Die Erfindung betrifft eine Vorrichtung zum Komprimieren eines Bildsignals bei dessen Übertragung, Aufzeichnung und dergleichen.
- Es wurden verschiedene Verfahren zum Umsetzen eines Bildsignals in ein digitales Signal vorgeschlagen, das sich bei seiner Übertragung, Aufzeichnung und dergleichen kaum verschlechtert. Gemäß diesen Umsetzungsverfahren wurden auch Kompressionsverfahren vorgeschlagen, die, ohne dass ein digitales Signal direkt übertragen oder aufgezeichnet wird, die Datenmenge z. B. auf einen Bereich zwischen einem Bruchteil der Menge und einigen Zehnteln der Menge komprimieren, um deren Übertragungszeit und die zu speichernde Datenmenge zu verringern.
- Ein typisches Beispiel für derartige Codierverfahren ist das Vektorquantisierungsverfahren, das auf die unten erläuterte Weise arbeitet. Als Erstes wird ein zu komprimierendes analoges Signal in Kompressionsverarbeitungseinheit-Blöcke von 6 · 6 = 36 Pixel unterteilt. Dann werden diese Kompressionsverarbeitungseinheit-Blöcke sequenziell abgetastet, um den Signalpegel jedes Pixels zu bestimmen, der seinerseits zu einer Vektorkomponente xk eines k-dimensionalen Eingangsvektors wird. Hierbei repräsentiert k eine Pixelnummer, und es gilt k = 1, 2, ..., K. Bei diesem Beispiel hat K den Wert 36.
- Indessen werden zum Lernen vorab mehrere Arten von Bildern bereitgestellt. Ein Codewort wird als zu lernender Vektor definiert, der auf dieselbe Weise wie oben für Bildsignale des zu lernenden Bilds erhalten wird. Ein aus derartigen Codewörtern i, die den jeweiligen Signalen entsprechen, bestehendes Codebuch b wird dann abgespeichert. Hierbei repräsentiert i eine Kennnummer, und es gilt i = 1, 2, ..., M. Nachfolgend wird i als Index bezeichnet. Dann wird aus den Codewörtern i im gespeicherten Codebuch c dasjenige Wort i ausgewählt, das sich am nächsten beim Eingangsvektor befindet. Dann wird nur der Index i dieses ausgewählten Codeworts i übertragen oder aufgezeichnet.
- Das heißt, dass das Codewort I, das den kleinsten Wert der folgenden Gleichung ergibt:
- ermittelt wird und sein Index I übertragen oder aufgezeichnet wird.
- Im Ergebnis hat die Datenmenge pro 1 Vektor den Wert log&sub2;M (Bits). Als Beispiel sei angenommen, dass 256 (= M) Codewörter für die oben genannten Kompressionsverarbeitungseinheit-Blöcke mit K = 6 · 6 = 36 Pixeln im Codebuch b gespeichert sind, da Folgendes gilt: 256 = 2&sup8;, 8/36 = 0,22 (Bit/Pixel). So ist die Datenmenge auf 1/36 verringert, wenn für jedes Pixel eine skalare Quantisierung von 8 Bits ausgeführt wird.
- Das Verfahren mit normierter Vektorquantisierung (das auch als Verstärkungs/Form-Vektor-Quantisierung bezeichnet wird) zum Komprimieren der Datenmenge wurde durch weiteres Verbessern des Vektorquantisierungsverfahrens geschaffen. Gemäß dem normierten Vektorquantisierungsverfahren beträgt die Größe der Codewörter C1 bis CM im Codebuch b 1. Das heißt, es gilt
- Ci = (Ci, Ci)1/2 = 1
- Dann wird das Codewort CI bestimmt, das den Maximalwert für die Skalarprodukte des Eingangsvektors und der Codewörter Ci erzeugt, nämlich:
- Anschließend wird der Eingangsvektor Cl wie folgt wiedergegeben:
- = SQ{( , CI)}·CI (3)
- wobei SQ{( , CI)} der skalare Wert des Skalarprodukts ( , CI) ist.
- Der Eingangsvektor wird aus den folgenden Gründen durch die Gleichung (3) wiedergegeben. Es sei angenommen, dass A ein skalarer Wert ist, und dann wird die folgende Gleichung erhalten, da Ci ² = 1 gilt:
- In der obigen Gleichung ist die Beziehung zwischen dem zweiten und dritten Term auf der rechten Seite, d. h. 2 und ( , Ci) ² ≤ 2. Daher nimmt die linke Seite der Gleichung (4) den Minimalwert, also SQ {( , CI)}·CI den Minimalwert ein, wenn das Codewort Ci demjenigen Codewort CI entspricht, das das Skalarprodukt ( , Ci) maximiert und A den Wert ( , Ci) hat. CI wird der Vektor, der sich am nächsten beim Eingangsvektor befindet.
- Demgemäß kann das Codebuch B, das sowohl auf der Kompressions- als auch der Expansionsseite benötigt wird, kleiner gemacht werden. Das heißt, die Anzahl M gespeicherter Codewörter ist verringert.
- Außerdem wurde das normierte Vektorquantisierungsverfahren mit mittlerem Abstand (auch als differenzierte, normierteVektorquantisierung oder Mittelungs/Verstärkungs/Form-Vektorquantisierung bezeichnet) dadurch geschaffen und vorgeschlagen, dass das normierte Vektorquantisierungsverfahren weiter verbessert wurde, um die Anzahl M gespeicherter Codewörter zu verringern. Gemäß diesem normierten Vektorquantisierungsverfahren mit mittlerem Abstand wird der Mittelwert u der Komponente des Eingangsvektors aus der folgenden Gleichung erhalten:
- Als Nächstes wird ein Differenzkomponentenvektor = (X1, X2, ..., XK) dadurch erhalten, dass der Mittelwert u wie in der folgenden Gleichung vom Eingangsvektor abgezogen wird:
- Dabei gilt = 1, 1, ..., 1).
- Dann wird das den absoluten Skalarproduktwert ( , Ci) maximierende Codewort CI aus den Codewörtern Ci, Codewörtern mit Einheitslänge im für das normierte Vektorquantisierungsverfahren verwendeten Codebuch B, bestimmt. Der Maximalwert P des Skalarprodukts (X, Ci) und der auf diese Weise erhaltene Mittelwert u werden skalar-quantisiert, und der Index I wird binärgewandelt, so dass Codes komprimiert und dann übertragen oder aufgezeichnet werden.
- Gemäß den komprimierten Codes, die übertragen oder wiedergegeben wurden, decodiert eine Expansionsvorrichtung einen Ausgangsvektor out auf die folgende Weise:
- out = Pa·CI + ua· (7)
- wobei Pa und ua den maximalen Absolutwert des skalar-quantisierten Skalarproduktwerts P bzw. den quantisierten Zentralwert des Mittelwerts u repräsentieren.
- Eine typische herkömmliche Technik unter Verwendung des oben genannten normierten Vektorquantisierungsverfahrens mit mittlerem Abstand ist z. B. in der japanischen Patentanmeldungsoffenlegung Nr. 62-25577/1987 (Tokukaishou 62-25577) offenbart. Gemäß dieser herkömmlichen Technik wird, wenn die Ordnung des Eingangsvektors des Kompressionsverarbeitungseinheit-Blocks groß ist, eine Vektorquantisierung unter Verwendung eines Codebuchs mit langen Bits, d. h. mit einer großen Anzahl von Gradationsstufen ausgeführt; wenn die Ordnung klein ist, werden die Daten mit dem normierten Vektorquantisierungsverfahren mit mittlerem Abstand komprimiert.
- Wie insoweit erörtert, können, wenn die Übertragungsrate sehr klein ist, wie bei einer analogen Telefonleitung und einer Zellentelefonleitung, Bildsignale eines dynamischen Bilds selbst dann nicht übertragen werden, wenn ein normiertes Vektorquantisierungsverfahren mit mittlerem Abstand zum Komprimieren der Datenmenge verwendet wird, da die Daten nicht ausreichend komprimiert werden.
- Es ist eine Aufgabe der Erfindung, eine Bildkompressionsvorrichtung zu schaffen, mit der die Datenmenge weiter verringert werden kann.
- Um die obigen Aufgabe zu lösen, ist eine erfindungsgemäße Vorrichtung zur Bildkompression mit Folgendem versehen:
- - mehreren Skalarproduktwert-Berechnungsabschnitten zum Berechnen von Skalarproduktwerten aus einem Differenzkomponentevektor und jedem Codewort, wobei der Differenzkomponentevektor dadurch erzeugt wird, dass der Mittelwert von Vektorkomponenten des Eingangsvektors von jeder der Vektorkomponenten subtrahiert wird, und wobei das Codewort aus Bildsignalen mehrerer Arten vorbestimmter Bilder für Lernvorgänge erzeugt wird;
- - einem Skalarwert-Quantisierungsabschnitt zum Skalar-Quantisieren des Mittelwerts und eines maximalen Skalarproduktwerts;
- - einem Codierabschnitt zum Codieren einer Kennungsnummer eines der Codewörter, wobei das Codewort den maximalen Skalarproduktwert mittels Berechnung durch den Skalarproduktwert-Berechnungsabschnitt liefert;
- - einen Komparatorabschnitt zum Beurteilen, ob der maximale Skalarproduktwert nicht kleiner als ein vorbestimmter Schwellenwert ist; und
- - einem Ausgangssignal-Auswählabschnitt zum Ausgeben, entsprechend der Beurteilung durch den Komparatorabschnitt, des Quantisierungscodes des Mittelwerts vom Skalarwert-Quantisierungsabschnitt, des Quantisierungscodes des maximalen Skalarproduktwerts vom Skalarwert-Quantisierungsabschnitts und des Kennungscodes des Codeworts vom Codierabschnitt, wenn der maximalen Skalarproduktwert nicht kleiner als der Schwellenwert ist, und zum Ausgeben nur des Quantisierungscodes des Mittelwerts, wenn der maximale Skalarproduktwert kleiner als der Schwellenwert ist, gemeinsam mit den Codedaten der Beurteilung.
- Besonders bevorzugte Ausführungsformen der Erfindung sind in Ansprüchen 2 und 3 definiert.
- Weitere bevorzugte Ausführungsformen der Erfindung sind in den Ansprüchen 4 bis 10 definiert.
- Diese Vorrichtung zur Bildkompression ermöglicht es, dass der Ausgangssignal-Auswählabschnitt nur den Quantisierungscode des Mittelwerts ausgibt, wenn der maximale Skalarproduktwert kleiner als der vorbestimmte Schwellenwert ist, d. h., wenn das Bild im Kompressionsverarbeitungseinheit-Block relativ gleichmäßig ist.
- Genauer gesagt, wird das Bild in Kompressionsverarbeitungseinheit-Blöcke mit z. B. K Pixeln unterteilt, und die Kompressionsverarbeitungseinheit- Blöcke werden sequenziell abgetastet, um die Signalpegel der Pixel zu erhalten, die ihrerseits den Vektorkomponenten eines K-dimensionalen Eingangsvektors zugewiesen werden. Wenn der so aus den Bildsignalen erhaltene Eingangsvektor empfangen wird, wird als Erstes der Mittelwert der Vektorkomponenten berechnet, und dann wird der Komponentendifferenzvektor dadurch erhalten, dass der Mittelwert von jeder der Komponenten des Eingangsvektors abgezogen wird. Genauer gesagt, wird die Berechnung des Mittelwerts durch den Mittelwert-Berechnungsabschnitt der Vorrichtung zur Bildkompression ausgeführt. Außerdem wird die Berechnung des Differenzkomponentenvektors durch den Mittelwert-Abtrennabschnitt der Vorrichtung zur Bildkompression ausgeführt.
- Der Skalarproduktwert-Berechnungsabschnitt berechnet die Skalarproduktwerte der Codewörter und den Differenzkomponentenvektor, wie vom Mittelwert-Abtrennabschnitt erhalten. Aus den Berechnungsergebnissen vom Skalarproduktwert-Berechnungsabschnitt ermittelt der Maximalskalarproduktwert-Ermittlungsabschnitt dasjenige Codewort, das für die den Codewörtern entsprechenden Skalarproduktwerte den Maximalwert liefert, d. h., dasjenige Codewort, das sich am nächsten beim Eingangsvektor befindet. Es ist zu beachten, dass in dieser Vorrichtung zur Bildkompression die Codewörter im Speicherabschnitt als Vektoren für einen Lernvorgang gespeichert werden, die aus Bildsignalen mehrerer Arten vorbestimmter zu lerndender Bilder erhalten werden.
- Den Mittelwert, der maximale Skalarproduktwert und die Kennnummer, des Codeworts, das den auf diese Weise erhaltenen maximalen Skalarproduktwert liefert, werden zur Übertragung, Aufzeichnung usw. codiert. Genauer gesagt, werden, in der Vorrichtung zur Bildkompression, der Mittelwert und der maximale Skalarproduktwert durch den Skalarquantisierungsabschnitt skalar- quantisiert, und die Kennnummer wird vom Codierungsabschnitt zum Kennungscode codiert.
- Darüber hinaus beurteilt der Komparatorabschnitt in der Vorrichtung zur Bildkompression beim Übertragen, Aufzeichnen usw., ob der maximale Skalarproduktwert kleiner als der vorbestimmte Schwellenwert ist. Entsprechend dieser Beurteilung gibt der Ausgangssignal-Auswählabschnitt den Quantisierungscode des Mittelwerts, den Quantisierungscode des maximalen Skalarproduktwerts und den Kennungscode aus, wenn der maximale Skalarproduktwert nicht kleiner als der Schwellenwert ist, aber er gibt nur den Quantisierungscode des Mittelwerts aus, wenn der maximale Skalarproduktwert kleiner als der Schwellenwert ist.
- Daher wird, wenn das Bild über den Kompressionsverarbeitungseinheit-Block beinahe gleichmäßig ist, die Ausgabe des Quantisierungscode des maximalen Skalarproduktswerts und des Kennungscodes gestoppt. Indessen wird, auf der Expansionsseite, das Decodieren in Bildsignale mit dem Codewort des Kennungscodes und des Mittelwerts ausgeführt, wie sie vor dem Stoppen der Ausgabe ausgegeben wurden. So ist es möglich, ein Bild wiederzugeben, das der Betrachter nicht von einem Bild unterscheiden kann, bei dem alle Daten übertragen oder aufgezeichnet wurden, um eine Beeinträchtigung des Bildsignals zu verhindern, wobei die zu übertragende, aufzuzeichnende usw. Datenmenge so weit wie möglich verringert ist.
- Die Vorrichtung zur Bildkompression ist vorzugsweise mit Folgendem versehen:
- - einem Puffer für ein niedriges Band zum Erzeugen eines Vektors für das niedriges Band für jeden Kompressionsverarbeitungseinheit-Block für das niedriges Band aus mehreren Kompressionsverarbeitungseinheit-Blöcken durch Empfangen der Mittelwerte mit einem vorbestimmten Zyklus; und
- - einem Vektorquantisierabschnitt für das niedrige Band zum Vektor-Quantisieren des Vektors für das niedrige Band durch das normierte Vektorquantisierungsverfahren mit mittlerem Abstand;
- - wobei der Ausgangssignal-Auswählabschnitt einen Quantisierungscode des Mittelwerts für das untere Band, ein Quantisierungscode des maximalen Skalarproduktwerts für das untere Band und einen Kennungscode für das untere Band, d. h. eine Kennungsnummer für dasjenige Codewort, das den maximalen Skalarproduktwert für das untere Band liefert, ausgibt.
- Bei der obigen Anordnung wird die normierte Vektorquantisierung mit mittlerem Abstand ferner mit dem Quantisierungscode des maximalen Skalarproduktwerts und dem Kennungscode, wie von der Vorrichtung zur Bildkompression erhalten, als Komponenten des hohen Bands, und den Mittelwert der kleineren Datenmenge pro Pixel als Komponenten des niedrigen Bands ausgeführt. So ist es möglich, die Datenmenge weiter zu verringern, ohne die Bildqualität zu beeinträchtigen.
- Der Ausgangssignal-Auswählabschnitt in der Vorrichtung zur Bildkompression gibt vorzugsweise selektiv den Quantisierungscode des Mittelwerts, einen Quantisierungscode des Mittelwerts des niedrigen Bands, der durch weitere Vektorquantisierung des Mittelwerts durch das normierte Vektorquantisierungsverfahren mit mittlerem Abstand erhalten wurde, den Quantisierungscode des maximalen Skalarproduktwerts des niedrigen Bands und den Kennungscode des niedrigen Bands aus.
- Durch diese Anordnung ist es möglich, die Kompressionsverfahren abhängig davon abzuschalten, ob die Expansionsseite (z. B. ein Empfänger oder eine Wiedergabevorrichtung) über eine fortschrittliche Funktion des Decodierens desjenigen Codes verfügt, der ausgehend vom Mittelwert durch das normierte Vektorquantisierungsverfahren mit mittlerem Abstand weiter vektor-quantisiert wurde.
- Darüber hinaus enthält der Skalarproduktwert-Berechnungsabschnitt in der Vorrichtung zur Bildkompression vorzugsweise einen Verstärker und Kondensatoren, entsprechend Codekomponenten jedes der Codewörter, wobei der Skalarproduktwert-Berechnungsabschnitt Skalarproduktwerte des Eingangsvektors und jedes der Codewörter auf parallele Weise für jedes der Codewörter dadurch berechnet, dass Eingangssignale mehrerer Kanäle entsprechend den Vektorkomponenten an einem Anschluss jedes der Kondensatoren eingegeben werden und die anderen Anschlüsse der Kondensatoren gemeinsam mit dem Verstärker verbunden werden.
- Bei dieser Anordnung werden die Eingangssignale der Kanäle, entsprechend den Vektorkomponenten, unter Verwendung der Codewörter als analoge Signale, ohne dass diese in digitale Signale umgesetzt werden, auf parallele Weise verarbeitet. Wenn dagegen analoge Signale verarbeitet werden, nachdem sie in digitale Signale umgesetzt wurden, und wenn die Anzahl der Codewörter erhöht ist, nimmt der Rechenumfang beträchtlich zu. Daher muss der Rechenbearbeitungsabschnitt hohes Funktionsvermögen aufweisen, was zu hohen Kosten und hohem Energieverbrauch führt. Dagegen ist es weniger wahrscheinlich, dass diese Probleme bei der Verarbeitung eines analogen Signals bei der obigen Anordnung auftreten.
- Bevorzugter ist es, dass die Kapazitäten der Kondensatoren im Skalarproduktwert-Berechnungsabschnitt im Kapazitätsverhältnis entsprechend den quantisierten Codekomponenten eingestellt sind, wobei jeder der Skalarproduktwert-Berechnungsabschnitte einen Korrekturkondensator entsprechend einem durch den Kondensator hervorgerufenen Quantisierungsfehler aufweist, und er das Produkt aus der elektrostatischen Kapazität des Korrekturkondensators und dem Mittelwerts als Korrekturwert in den Verstärker eingibt.
- Mit der obigen Anordnung ist es, bei Integration der Vorrichtung zur Bildkompression, selbst dann, wenn z. B. ein Problem im Prozess dazu führt, dass die Rechenergebnisse für die Skalarproduktwerte auf Grund des der Kondensatorkapazität entsprechenden Quantisierungsfehlers der Codekomponente einen Quantisierungsfehler enthalten, möglich, den Quantisierungsfehler durch den Korrekturkondensator zu korrigieren. So ist es möglich, eine Korrektur des Quantisierungsfehlers dadurch zu realisieren, dass nur die Korrekturkondensatoren hinzugefügt werden. Daher ist es möglich, die Codekomponenten mit kleinen Kondensatorflächen mit hoher Genauigkeit wiederzugeben.
- Die Vorrichtung zur Bildkompression ist vorzugsweise mit Folgendem versehen:
- - einem Eingangsvektor-Invertier/Auswähl-Abschnitt zum Invertieren der Polarität des Eingangsvektors und zum selektiven Umschalten zwischen dem invertieren und dem nicht invertierten Wert, um diese auszugeben; und
- - einem Inverter- und Komparatorabschnitt zum Vergleichen, entsprechend dem Umschaltvorgang des Eingangsvektor-Invertier-Auswähl-Abschnitts, der vom Skalarproduktwert-Berechnungsabschnitt unter Verwendung des nicht invertierten und des invertierten Werts berechneten beiden Skalarproduktwerten miteinander, und zum Ausgeben des größeren der beiden sowie des Codes dieses größeren Skalarproduktwerts.
- Bei der obigen Anordnung wählt der Invertier- und Komparatorabschnitt den größeren Wert von zwei Skalarproduktwerten aus: der Eine wird als nicht invertierter Wert erhalten, und der Andere wird aus dem Eingangsvektor erhalten, dessen Polarität durch den Invertier- und Auswählabschnitt für den Eingangsvektor invertiert wird, d. h. als invertierter Wert. Die so erhaltenen zwei Skalarproduktwerte entsprechen jeweils den Skalarproduktwerten des Eingangsvektors mit nicht invertierten und invertierten Werten der Codekomponenten. Daher ist es möglich, die Indizes der Codewörter um 1 Bit zu erhöhen, d. h. die Anzahl der Codewörter zu verdoppeln, ohne dass die Fläche vergrößert wird, die zum Anbringen der Kondensatoren benötigt wird, da nur ein einfacher Schaltkreis hinzugefügt wird.
- Das in der Vorrichtung zur Bildkompression verwendete Codewort ist vorzugsweise einer von mehreren zu lernenden Vektoren, die entsprechend eingegebenen Bildsignalen erhalten werden, wobei der zu lernende Vektor eine Ordnung aufweist, die größer als die eines vorbestimmten Schwellenwerts ist, mit großen Änderungen in den Bildern in den Kompressionsverarbeitungseinheit- Blöcken.
- Daher besteht das Codewort nur aus einem Vektor für Lernvorgänge, der aus einem Bild mit einer relativ großen Änderung in ihm (z. B. einem Bild mit einem Rand) erhalten wurde und der als Vektor für Lernvorgänge geeignet ist, ohne einen unscharfen Vektor für Lernvorgänge, der aus einem Bild mit einer Ordnung unter dem Schwellenwert erhalten wurde, mit wenig Änderung im Bild im Kompressionsverarbeitungseinheit-Block, das nicht als Bild für Lernvorgänge geeignet ist. Dies verhindert es, dass ein fraglicher unscharfer Vektor als Codewort verwendet wird, und es ist dadurch ein Codewort ermöglicht, das mit hoher Wahrscheinlichkeit mit verschiedenen eingegebenen Bildsignalen übereinstimmt, die als Codewort enthalten sein sollen.
- Für ein vollständigeres Verständnis der Art und der Vorteile der Erfindung ist auf die folgende detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen Bezug zu nehmen.
- Fig. 1 ist ein Blockdiagramm, das die elektrische Anordnung einer Vorrichtung zur Bildkompression und eines zugehörigen Bildsensors einer ersten Ausführungsform gemäß der Erfindung zeigt.
- Fig. 2 ist eine Zeichnung zum Veranschaulichen, in welcher Reihenfolge Luminanzpegel von Pixeln in Kompressionsverarbeitungseinheit-Blöcken mit dem Bildsensor als Vektorkomponenten gelesen werden.
- Fig. 3 ist ein elektrisches Schaltbild, das eine spezielle Anordnung einer Maximaleingangssignal-Ermittlungsschaltung in einer Maximalskalarproduktwert-Ermittlungsschaltung in der Vorrichtung zur Bildkompression zeigt.
- Fig. 4 ist ein Flussdiagramm, das den Kompressionsbetrieb der Vorrichtung zur Bildkompression zeigt.
- Fig. 5 ist ein Flussdiagramm, das einen Prozess zum Erzeugen eines Codebuchs für Kompressionsvorgänge durch die Vorrichtung zur Bildkompression zeigt.
- Fig. 6 ist ein Flussdiagramm, das einen LGB-Algorithmusprozess zum Erhalten von Codewörtern aus mehreren Vektoren für Lernvorgänge zum Erzeugen des Codebuchs zeigt.
- Fig. 7(a) bis 7(e) sind Zeichnungen, die ein Konzept eines Aufteilalgorithmus zum Initialisieren des Codebuchs im LGB-Algorithmus veranschaulichen.
- Fig. 8 ist ein Blockdiagramm, das eine elektrische Anordnung einer Vorrichtung zur Bildkompression und eines zugehörigen Bildsensors einer zweiten Ausführungsform gemäß der Erfindung zeigt.
- Fig. 9 ist ein Blockdiagramm, das eine elektrische Anordnung einer Vorrichtung zur Bildkompression und eines zugehörigen Bildsensors einer dritten Ausführungsform gemäß der Erfindung zeigt.
- Fig. 10 ist eine Zeichnung zum Veranschaulichen, mit welcher Reihenfolge Mittelwerte von Kompressionsverarbeitungseinheit-Blöcken in einem Kompressionsverarbeitungseinheit-Block im niedrigen Band betreffend den Bildsensor als Vektorkomponenten bei der Vorrichtung zur Bildkompression der Fig. 9 als Vektorkomponenten eingelesen werden.
- Fig. 11 ist ein Blockdiagramm, das eine elektrische Anordnung einer Pufferschaltung für das niedrige Band zeigt, die Mittelwerte als Vektorkomponenten, wie in der Fig. 10 dargestellt, in die Vorrichtung zur Bildkompression der Fig. 9 einliest.
- Fig. 12 ist ein elektrisches Schaltbild, das eine spezielle Anordnung einer Abtast/Halte-Schaltung zeigt, wie sie in der in Fig. 11 dargestellten Pufferschaltung für das niedrige Band vorhanden ist.
- Fig. 13 ist ein Blockdiagramm, das eine spezielle Anordnung einer Vektorquantisierungsschaltung für das niedrige Band in der in der Fig. 9 dargestellten Vorrichtung zur Bildkompression zeigt.
- Fig. 14 ist ein Flussdiagramm, das den Kompressionsbetrieb von Komponenten für das hohe Band in der in der Fig. 9 dargestellten Vorrichtung zur Bildkompression zeigt.
- Fig. 15 ist ein Flussdiagramm, das den Kompressionsbetrieb von Komponenten für das niedrige Band in der in der Fig. 9 dargestellten Vorrichtung zur Bildkompression zeigt.
- Unter Bezugnahme auf die Fig. 1 bis 7 erörtert die folgende Beschreibung eine erste Ausführungsform der Erfindung.
- Die Fig. 1 ist ein Blockdiagramm, die eine elektrische Anordnung einer Vorrichtung zur Bildkompression 1 und eines zugehörigen Bildsensors 2 bei der ersten Ausführungsform der Erfindung zeigt.
- Die Vorrichtung zur Bildkompression 1 komprimiert (codiert) ein Bildsignal vom Bildsensor 2, und sie gibt durch die Kompression erhaltene Codedaten an einen Sender, eine Aufzeichnungsvorrichtung usw. über eine Ausgabeleitung 3 auf später beschriebene Weise aus.
- Der Bildsensor 2 besteht aus einer großen Anzahl von im Matrixform angeordneten Fotodioden 4. Die Fotodioden 4 in jeder Spalte sind mit einem Vertikalübertragungs-CCD (charge coupled device) 5 verbunden, und ein Ende des Vertikalübertragungs-CCD 5 ist mit einem Horizontalübertragungs-CCD 6 verbunden. Von Elementen jedes der Horizontalübertragungs-CCDs 6 gespeicherte Analogspannungen werden von den Elementen über einen Puffer Fk (k = 1, 2, ..., K) an eine Leitung Lk (k = 1, 2, ..., K) ausgegeben.
- Wie es in der Fig. 2 dargestellt ist, sind die Fotodioden 4 im Bildsensor 2 in z. B. mehrere Kompressionsverarbeitungseinheit-Blöcke 7 von K = 6 Pixeln · 6 Pixeln = 36 Pixeln unterteilt. Ausgangsspannungen der Fotodioden 4 werden von den Kompressionsverarbeitungseinheit-Blöcken 7 durch die Vertikalübertragungs-CCDs 5 und die Horizontalübertragungs-CCDs 6 aus sequenzielle Weise ausgelesen und dann an die Leitungen L1 bis LK ausgegeben. Demgemäß wird, wie es in der Fig. 2 dargestellt ist, die Vorrichtung zur Bildkompression 1 mit einem K-dimensionalen Eingangsvektor geladen, dessen Vektorkomponenten Signalpegel x1, x2, ..., xK sind, die Luminanzpegeln eines in den jeweiligen Fotodioden 4 erzeugten Objekts entsprechen.
- Die Vorrichtung zur Bildkompression 1 verfügt im Wesentlichen über eine Mittelwert-Berechnungsschaltung 11, eine Skalarproduktwert-Berechnungsschaltung 12, eine Maximalskalarprodukt-Ermittlungsschaltung 13, A/D-Wandler 14 und 15, eine Indexcodierschaltung 16, eine Komparatorschaltung 17 und eine Ausgangssignal-Auswählschaltung 18.
- Die Mittelwert-Berechnungsschaltung 11 enthält einen Differenzialverstärker E0 und K Einheitskondensatoren H0K (k = 1, 2, ..., K; wie bereits benannt) entsprechend der Dimensionszahl K des Eingangsvektors . Die Einheitskondensatoren H0k sind an einem ihrer Enden über eine Eingangsleitung S0 mit dem invertierenden Eingangsanschluss des Differenzverstärkers E0 verbunden, und an den anderen Enden sind sie mit jeweiligen Leitungen Lk verbunden. Der Differenzverstärker E0 ist an seinem nicht invertierenden Eingangsanschluss geerdet, was es ermöglicht, dass der Massepegel als Bezugsspannung vref wirkt. Der nicht invertierende Eingangsanschluss und der Ausgangsanschluss des Differenzverstärkers E0 sind über einen Rückkopplungskondensator h0 miteinander verbunden.
- vk repräsentiere die Eingangsspannung von der Leitung Lk, vo repräsentiere die Ausgangsspannung des Differenzverstärkers E0, H0k und h0 sollen die elektrostatischen Kapazitäten des Einheitskondensators H0k bzw. des Rückkopplungskondensators h0 repräsentieren; dann wird die Gleichung (8) entsprechend dem Prinzip der Konstanz der Ladung an den Kontaktpunkten einer der Enden der Einheitskondensatoren H0k und des nicht invertierenden Eingangsanschlusses des Differenzverstärkers E0 wie folgt erhalten:
- Dies erklärt es, dass Skalarproduktwerte der Vektorkomponenten (v1 - vref, v2 - vref, ..., vK - vref) und ihre Koeffizienten (-H01/h0, -H02/h0, ..., - OK/h0) als (vo - vref) berechnet werden können.
- Demgemäß entspricht, wenn H0k/h0 = 1/K für alle Einheitskondensatoren H0k angenommen wird, die Ausgangsspannung vo des Differenzverstärkers E0 an die Leitung LA den Mittelwert der Spannungen auf den Leitungen L1 bis LK. Die Ausgangsspannung vo wird in den A/D-Wandler 14 (Mittelwert-Quantisierungsabschnitt) eingegeben. Daher wird der Mittelwert der Spannungen der Leitungen L1 bis LK (d. h. der Mittelwert der Vektorkomponenten x1 bis xK des Eingangsvektors ) vom A/D-Wandler 14 skalar-quantisiert und ausgegeben. Die ausgegebenen, quantisierten Codes werden in die Ausgangssignal-Auswählschaltung 18 eingegeben.
- Die Skalarproduktwert-Berechnungsschaltung 12 enthält mehrere (M) Skalarproduktwert-Berechnungsabschnitte Ri (i = 1, 2, ..., M). Jeder dieser Skalarproduktwert-Berechnungsabschnitte R1 bis RM enthält (1) K Codekomponentekondensatoren H11, H12, ..., H1K; H21, ..., H2K; ...; und HM1, ..., HMK sowie (2) zwei Differenzverstärker E1a und E1b; E2a und E2b; ...; sowie EMa und EMb. Nachfolgend werden H11 bis H1K, wie in R1 vorhanden, als H1 bezeichnet; H21 bis H2K in R2 als H2; usw. Alle Codekomponentekondensatoren werden ausschließlich als Hik bezeichnet.
- Im Skalarproduktwert-Berechnungsabschnitt R1 sind die Codekomponentekondensatoren H11 bis H1K an einem ihrer Enden mit einer Leitung S1a bis S1b verbunden, und an den anderen Enden sind sie mit den jeweiligen Leitungen L1 bis LK verbunden. Die Leitungen S1a und S1b sind mit den invertierenden Eingangsanschlüssen der Differenzverstärker E1a bzw. E1b verbunden. Die nicht invertierenden Eingangsanschlüsse der Differenzverstärker E1a und E1b sind geerdet. Die invertierenden Eingangsanschlüsse und die Ausgangsanschlüsse der Differenzverstärker E1a und E1b sind über Rückkopplungskondensatoren H1a bzw. H1b miteinander verbunden. Das Ausgangssignal des Differenzverstärkers E1a wird am invertierenden Eingangsanschluss des Differenzverstärkers E1b über einen Kondensator H1c eingespeist. Die Kondensatoren H1a, H1b und H1c sind so konzipiert, dass sie dieselben elektrostatischen Kapazitäten aufweisen.
- Im Ergebnis wird das Ausgangssignal des Differenzverstärkers E1a vom Differenzverstärker E1b mit der Verstärkung 1 vor der Ausgabe invertiert und verstärkt. Die Codekomponentekondensatoren H11 bis H1K verfügen über elektrostatische Kapazitäten, die die obigen Koeffizienten zu positiven Koeffizienten machen, wenn sie mit der Leitung S1a verbunden sind, und sie verfügen über elektrostatische Kapazitäten, die die obigen Koeffizienten zu negativen Koeffizienten machen, wenn sie mit der Leitung S1b verbunden sind. Dies ermöglicht es, die Maximalskalarprodukt-Ermittlungsschaltung 13 mit einer dem Skalarproduktwert entsprechenden Ausgangsspannung zu versorgen. Der Rest der Skalarproduktwert-Berechnungsabschnitte R2 bis RM weist dieselbe Anordnung auf, und ihre Ausgangssignale werden an die Maximalskalarprodukt-Ermittlungsschaltung 13 geliefert.
- Jeder der Codekomponente-Kondensatoren H1, H2, ..., HM ist im jeweiligen Skalarproduktwert-Berechnungsabschnitt R1 bis RM so vorhanden, dass die gesamte elektrostatische Kapazität der positiven Komponenten und diejenige der negativen Komponenten denselben Absolutwert haben. Daher sind die Codekomponentenkondensatoren H1 bis HM in den Skalarproduktwert-Berechnungsabschnitten R1 bis RM Codewörter mit mittlerem Abstand. Da, wie oben gegeben, von jedem der Codekomponentekondensatoren H&sub1; bis HM in den Skalarproduktwert-Berechnungsabschnitten R1 bis RM ein Mittelwert abgetrennt wird, haben die auf die Leitungen S1a und S1b; ...; sowie SMa und SMb ausgegebenen Spannungen gleiche Pegel, von denen bereits der Mittelwert abgezogen ist, der von den Einheitskondensatoren H01 bis H0K in der Mittelwert-Berechnungsschaltung 11 erhalten wurde. Die Skalarproduktwert-Berechnungsschaltung 12 arbeitet auch als Mittelwert-Abtrennabschnitt. Zusätzlich wirkt die Skalarproduktwert-Berechnungsschaltung 12 als Speicherabschnitt mit einem Codebuch mit M Codewörtern.
- Die Maximalskalarprodukt-Ermittlungsschaltung 13 verfügt über eine Maximaleingabewert-Ermittlungsschaltung 21 sowie Schaltelemente Ti (i = 1, 2, ..., M; wie bereits angegeben), entsprechend den jeweiligen Skalarproduktwert- Berechnungsabschnitten Ri. Den jeweiligen Skalarproduktwert-Berechnungsabschnitten Ri entsprechende Ausgangsleitungen Yi erstrecken sich ausgehend von der Maximaleingangswert-Ermittlungsschaltung 21. Diese Maximaleingangswert-Ermittlungsschaltung 21 gibt nur auf die Ausgangsleitung desjenigen Kanals ein Ausgangssignal hohen Pegels aus, der demjenigen Skalarproduktwert-Berechnungsabschnitt entspricht, der unter allen von den Skalarproduktwert-Berechnungsabschnitten Ri aufgenommenen Spannungen die höchste Eingangsspannung erzeugt und er schaltet alle anderen Kanäle auf einen niedrigen Pegel.
- Die Ausgangsleitungen Yi sind mit der Indexcoderschaltung 16 (Vektorcodierabschnitt) verbunden. Diese Indexcodierschaltung 16 setzt den Index des Kanals, für den beurteilt wurde, dass er über den höchsten maximalen Skalarproduktwert verfügt, in Binärcodes um, und er gibt dann die Binärcodes an die Ausgangssignal-Auswählschaltung 18 aus.
- Die Ausgangsleitungen Yi sind mit den jeweiligen Gates der Schaltelemente Ti verbunden. Daher wird die höchste Spannung aller Eingangsspannungen der Skalarproduktwert-Berechnungsabschnitte Ri von den Schaltelementen Ti ausgewählt und dann in den A/D-Wandler 15 (Verstärkungsquantisierungsabschnitt) eingegeben. Der Spannungspegel wird vom A/D-Wandler 15 skalar- quantisiert und dann in die Ausgangssignal-Auswählschaltung 18 eingegeben.
- Darüber hinaus wird die von den Schaltelementen Ti ausgewählte Spannung an einem der Anschlüsse der Komparatorschaltung 17 eingegeben. Mit dem anderen Anschluss der Komparatorschaltung 17 ist eine Referenzspannungsquelle 19 verbunden. Daher beurteilt die Komparatorschaltung 17, ob der von der Skalarproduktwert-Berechnungsschaltung 12 berechnete Maximalwert der Skalarproduktwerte nicht kleiner als ein durch die Referenzspannungsquelle 19 spezifizierter Schwellenwert ist. Wenn der Maximalwert nicht kleiner als der Schwellenwert ist, speist die Komparatorschaltung 17 ein Ausgangssignal hohen Pegels über eine Leitung 20 in die Ausgangssignal-Auswählschaltung 18 ein, wohingegen sie dann, wenn der Maximalwert kleiner als der Schwellenwert ist, die Leitung 20 auf einen niedrigen Pegel schaltet.
- Wenn sich die Leitung 20 auf dem hohen Pegel befindet, gibt die Ausgangssignal-Auswählschaltung 18 Codedaten des Mittelwerts und den maximalen Skalarproduktwert, wie von den A/D-Wandlern 14 und 15 eingegeben, sowie Indexcodedaten zu demjenigen Skalarproduktwert-Berechnungsabschnitt, der den maximalen Skalarproduktwert erzeugt, auf die Ausgangsleitung 3 aus. Wenn sich dagegen die Leitung 20 auf dem niedrigen Pegel befindet, gibt die Ausgangssignal-Auswählschaltung 18 nur die Codedaten des Mittelwerts vom A/D-Wandler 14 auf die Ausgangsleitung 3 aus.
- Die Fig. 3 ist ein elektrisches Schaltbild, das eine spezielle Anordnung der Maximaleingangswert-Ermittlungsschaltung 21 zeigt, wobei Grundschaltungen αi entsprechend analogen Eingangsspannungen Vi vom M Kanälen vorhanden sind.
- Die Grundschaltung α1 enthält einen Ermittlungsabschnitt 31 mit fünf MOS- Feldeffekttransistoren Q1 bis Q5 sowie eine Rückkopplungsstrom-Erzeugungsschaltung 32 mit vier Feldeffekttransistoren Q6 bis Q9. Im Ermittlungsabschnitt 31 wird die Eingangsspannung V1 vom Skalarproduktwert-Berechnungsabschnitt R1 in das Gate des n-Transistors Q1 eingespeist, und der Drain des Transistors Q1 ist mit dem Drain und dem Gate des p-Transistors Q2 verbunden.
- Die Source des Transistors g2 ist mit einer Spannungsversorgungsleitung 22 (eine der zwei Spannungsversorgungsleitungen) verbunden, die auf einem hohen Pegel Vdd gehalten werden. Der p-Transistor Q3, der von derselben Art wie der Transistor Q2 ist, ist entsprechend dem Transistor Q2 vorhanden. Die Transistoren Q2 und Q3 bilden eine Stromspiegelschaltung. Die Gates dieser Transistoren Q2 und Q3 sind mit dem Drain des Transistors Q1 verbunden. Die Source des Transistors Q3 ist mit der Spannungsversorgungsleitung 22 verbunden, und sein Drain ist mit dem Drain des n-Transistors Q4 verbunden.
- An das Gate des Transistors Q4 wird eine vorbestimmte Konstantspannung Vb2 angelegt, und die Source des Transistors Q4 ist mit der anderen Spannungsversorgungsleitung 23 auf dem Massepegel verbunden. Am Kontaktpunkt 24 der Transistoren Q3 und Q4 wird eine den Impedanzen dieser Transistoren entsprechende Ausgangsspannung Vol ausgegeben. Die Source des Transistors Q1 ist mit dem Drain des n-Transistors Q5 verbunden. Die Source des Transistors Q5 ist mit der Spannungsversorgungsleitung 22 verbunden, und an das Gate.dieses Transistors Q5 wird eine vorbestimmte Konstantspannung Vb1 angelegt.
- Die Ausgangsspannung Vol vom Kontaktpunkt 24 wird in die Rückkopplungsstrom-Erzeugungsschaltung 32 eingegeben, wobei sie am Gate des n-Transistors Q7 eingegeben wird. Die Source dieses Transistors Q7 ist über den n- Transistor Q6 mit der Spannungsversorgungsleitung 23 verbunden. An das Gate des Transistors Q6 wird eine vorbestimmte Konstantspannung Vb3 angelegt. Daher ist ein durch den Transistor Q6 fließender Vorbelastungsstrom 16 durch die Konstantspannung Vb3 auf einen konstanten Wert spezifiziert.
- Der Drain des Transistors Q7 ist über den p-Transistor Q8 mit der Spannungsversorgungsleitung 22 verbunden. Der p-Transistor Q9 ist vorhanden, um mit dem Transistor Q8 ein Paar zu bilden. Die Transistoren Q8 und Q9 bilden eine Stromspiegelschaltung. Der Transistor Q9 führt eine positive Rückkopplung an den Kontaktpunkt 25 zwischen den Transistoren Q1 und Q5 aus, wobei ein Rückkopplungsstrom IF dem zum Transistor Q7 fließenden Strom entspricht.
- Die anderen Grundschaltungen α2 bis αM sind auf dieselbe Weise wie die Grundschaltung α1 ausgebildet. Die Kontaktpunkte 25 der Grundschaltungen αi werden durch eine Verbindungsleitung 27 alle auf demselben Potenzial gehalten. Die Kontaktpunkte 26 der Transistoren Q6 und Q7 der Grundschaltungen αi werden durch eine Verbindungsleitung 28 alle auf demselben Potenziel gehalten.
- Zum Liefern der Vorbelastungsströme I6 der Transistoren Q6 aller Grundschaltungen αi ist ein n-Transistor Q10 vorhanden. Das Gate und der Drain des Transistors Q10 sind mit der Spannungsversorgungsleitung 22 auf dem hohen Pegel Vdd verbunden. Die Source des Transistors Q10 ist mit den Drains der Transistoren Q6, d. h. der Verbindungsleitung 28 verbunden. Die Transistoren Q1 und Q10 arbeiten im Sättigungsbereich.
- Für die auf die oben erörterte Weise aufgebaute Maximaleingangswert-Ermittlungsschaltung 21 wird als Erstes der Betrieb des Ermittlungsabschnitts 31 im Einzelnen beschrieben. Der durch den Transistor Q5 fließende Vorbelastungsstrom I5 wird auf die oben angegebene Weise durch die Konstantspannung Vb1 spezifiziert. Außerdem sind die Transistoren Q5 durch die Verbindungsleitung 27 parallel miteinander verbunden. Die Sourcespannung des Transistors Q5 wird daher durch einen Wert spezifiziert, gemäß dem der Rückkopplungsstrom IF von allen Transistoren Q9, die Gesamtsumme M·I5 der durch die Transistoren Q5 fließenden Ströme I5 und ein Strom I1 entsprechend der Differenz zwischen der Eingangsspannung Vi und der Sourcespannung des Transistors Q1 im Gleichgewicht stehen.
- Demgemäß wird am Kontaktpunkt 24 eine Spannung als Ausgangsspannung Voi ausgegeben und in das Gate des Transistors Q7 eingegeben, die der Differenz zwischen der Impedanz des Transistors Q3, durch den ein Strom I3 fließt, und der Impedanz des Transistors Q4, durch den der durch die Konstantspannung Vb2 spezifizierte Strom I4 fließt, entspricht. Auch empfängt der Transistor Q7 demgemäß einen Strom I7 vom Transistor Q8. Der Strom I7 entspricht der Differenz zwischen der Sourcespannung des Transistors Q7 und der in den Transistor Q7 eingegebenen Spannung Voi. Die Sourcespannung des Transistors Q7 entspricht einem durch den Transistor Q10 fließenden Strom I10 und der Gesamtsumme M·I6 der Ströme I6, wie durch die Konstantspannungen Vb3 in den Transistoren Q6 spezifiziert, die parallel miteinander verbunden sind. Daher wird der Strom 17 in positiver Weise als Rückkopplungsstrom IF, der durch das Verhältnis der durch die Transistoren Q8 und Q9 fließenden Ströme bestimmt ist, an den Kontaktpunkt 25 rückgeführt, Q9.
- Daher speist, wenn die Ausgangsspannung Voi höher als die Summe der Spannung auf der Verbindungsleitung 28 und der Schwellenspannung Vth, wie sie dazu erforderlich ist, dass der MOSFET leiten kann, die Rückkopplungsstrom- Erzeugungsschaltung 32 einen größeren Rückkopplungsstrom IF in positiver Weise an den Kontaktpunkt 25 zurück. Daher nimmt, wenn die Ausgangsspannung Voi höher wird, der durch den Transistor Q1 fließende Strom I1 (d. h. der durch den Transistor Q3 fließende Strom I3) ab. Indessen wird, da der Transistor Q7 abgeschaltet wird, wenn die Ausgangsspannung Voi niedriger als die Summenspannung wird, der Vorbelastungsstrom I6 des Transistors Q6 vom Transistor Q9 geliefert. Der Vorgang wird sequenziell in ansteigender Reihenfolge hinsichtlich der Kanäle der Eingangsspannungen Vi durch die Grundschaltungen ausgeführt. Im Ergebnis gibt nur die Grundschaltung mit dem maximalen Eingangssignal einen hohen Pegel als Ausgangsspannung Voi aus, und so wird der Maximalwert ausgewählt.
- Die Fig. 4 ist ein Flussdiagramm zum Veranschaulichen des Kompressionsbetriebs der auf die obige Weise aufgebauten Vorrichtung zur Bildkompression 1. Ausgangsspannungen der Fotodioden 4 werden von den CCDs 5 und 6 sequenziell abgetastet, und das Bildsignal wird vom Bildsensor 2 eingegeben, um den 36-dimensionalen Eingangsvektor , wie mit γ1 veranschaulicht, für jeden Kompressionsverarbeitungseinheit-Block 7 zu bilden. Die Fotodioden 4, die CCDs 5 und 6 sowie die Puffer F1 bis F36 und dergleichen geben das Bildsignal entsprechend dem Luminanzpegel des eingegebenen Bilds aus (z. B. mit einer Auflösung von 256 Graustufen).
- Die Bildsignale werden in die Mittelwert-Berechnungsschaltung 11 eingegeben, und ihr Mittelwert u wird im Schritt β1 entsprechend der Gleichung (5) berechnet. Von der Mittelwert-Berechnungsschaltung 11 wird ein Mittelwertsignal ausgegeben, das als γ2 veranschaulicht ist.
- Das Bildsignal wird in die Skalarproduktwert-Berechnungsschaltung 12 eingegeben. Als Erstes wird, in einem Schritt β2, der Mittelwert u von den Vektorkomponenten x1 bis x36 subtrahiert, um ein Differenzsignal entsprechend einem Differenzkomponentenvektor = (X1, X2, ..., X36) zu erzeugen, wie durch γ3 veranschaulicht. Als Nächstes wird, in einem Schritt β3, in den Skalarproduktwert-Berechnungsabschnitten R1 bis R32 eine Berechnung der Skalarproduktwerte des Differenzsignals und jedes der Codewörter C1 bis C32 (als γ4 veranschaulicht) von den Codekomponentekondensatoren H1 bis H36 mit mittlerem Abstand ausgeführt.
- In einem Schritt β4 wird in der Maximalskalarprodukt-Ermittlungsschaltung 13 dasjenige Codewort I, das den maximalen Skalarproduktwert P liefert, aus den im Schritt β3 berechneten Skalarproduktwerten ermittelt. Nachdem der maximale Skalarproduktwert P erhalten wurde, werden, in einem Schritt β5, der maximale Skalarproduktwert P und der der Ausgangsspannung der Referenzspannungsquelle 19 entsprechende Schwellenwert Vth1 in der Komparatorschaltung 17 verglichen. Wenn der maximale Skalarproduktwert P nicht kleiner als der Schwellenwert Vth1 ist, wird ein Beurteilungsflag f auf 1 gesetzt. Wenn der maximale Skalarproduktwert P kleiner als der Schwellenwert Vth1 ist, wird das Beurteilungsflag f auf 0 rückgesetzt.
- In einem Schritt β6 geben, wie es durch γ5 veranschaulicht ist, die A/D- Wandler 14 und 15, die Indexcodierschaltung 16 und die Ausgangssignal-Auswählschaltung 18, entsprechend dem Beurteilungsflag 11, die Codedaten für den Mittelwert u, den Index I und den maximalen Skalarproduktwert P gemeinsam mit den Codedaten für das Beurteilungsflag f aus, wenn dieses 1 ist, und sie geben nur die Codedaten des Mittelwerts u gemeinsam mit den Codedaten des Beurteilungsflags f aus, wenn dieses 0 ist. Das Beurteilungsflag f wird z. B. durch 1 Bit wiedergegeben, der Mittelwert u und der Index I werden durch 5 Bits wiedergegeben, und der maximale Skalarproduktwert P wird.durch 3 Bits wiedergegeben.
- Die von der Ausgangssignal-Auswählschaltung 18 auf die Ausgangsleitung 13 ausgegebenen Codedaten werden an einen Sender geliefert und von diesem gesendet, oder sie werden an eine Aufzeichnungsvorrichtung geliefert und durch diese aufgezeichnet. Daher werden, entsprechend dem Beurteilungsflag f, die von einem Empfänger empfangenen oder von einer Wiedergabevorrichtung wiedergegebenen Codedaten aus dem Mittelwert u, dem Index I und dem maximalen Skalarproduktwert P zu Bildsignalen der Kompressionsverarbeitungseinheit-Blöcke 7 decodiert, wenn das Beurteilungsflag f 1 ist, und sie werden aus dem Mittelwert u decodiert, wenn das Beurteilungsflag f 0 ist. Die aus den Kompressionsverarbeitungseinheit-Blöcken 7 decodierten Bilder werden sequenziell angeordnet, um sich an Orten zu befinden, die für das zu decodierende Bild vorbestimmt sind und so wird ein decodiertes Bild erzeugt.
- Wenn angenommen wird, dass das den maximalen Skalarproduktwert P erzeugende Codewort I den Wert (CI1, CI2, ..., CIK) hat, gilt die folgende Gleichung, da alle Codewörter i einen mittleren Abstand aufweisen:
- CI = ( CIk²)1/2 = 1 (9)
- Der maximale Skalarproduktwert P ist wie folgt gegeben:
- wobei und I Absolutwerte des Differenzkomponentevektors bzw. des Codeworts sind. Da I ein Vektor mit mittlerem Abstand, wie bereits erörtert, gilt 0 ≤ ( / , I) ≤ 1. Wenn hierbei angenommen wird, dass ( / , I) = cosΘ gilt, kann dieser Wert cosΘ als Hinweis auf die Nähe zwischen dem Eingangsvektor und dem Bezugscodewort I angesehen werden.
- Wenn der maximale Skalarproduktwert P kleiner als der Schwellenwert Vth1 ist, ist gemäß der Gleichung (10) relativ klein oder cosΘ ist klein. Wenn cosΘ klein ist, bedeutet dies, dass im Codebuch B kein Codewort I existiert, das sich nahe am Differenzkomponentevektor befindet. Daher wird, wenn ein geeignetes Codebuch B ausgewählt wird (Einzelheiten folgen), so dass jeder vorgegebene Differenzkomponentevektor durch mindestens ein Codewort i angenähert werden kann, wenn P < Vth1 gilt, angenommen, dass klein ist, d. h., dass die Ordnung des Differenzkomponentevektors klein ist. In diesem Fall kann der Betrachter keinen Qualitätsunterschied zwischen dem Fall, in dem der Bildausgangsvektor out der Kompressionsverarbeitungseinheit-Blöcke 7 gemäß der Gleichung (7) decodiert wird, out = Pa· + ua· und den Fall erkennen, in dem der Bildausgangsvektor out gemäß der Gleichung out = ua· decodiert wird.
- Daher werden, bei der Erfindung, wie bereits beschrieben, alle Codedaten zur Ausgabe angeordnet, wenn P > Vth1 gilt, wohingegen nur die Codedaten des Mittelwerts u zur Ausgabe angeordnet werden, wenn P < Vth1 gilt. So kann, wenn ein Mittelwert-Berechnungsschaltungblock häufiger auftritt, für den P < Vth1 gilt, die Datenmenge kleiner gemacht werden und die Kompressionsrate verbessert werden.
- Unter Bezugnahme auf die Fig. 5 erörtert die folgende Beschreibung, wie ein Codebuch B zu erzeugen ist, das ein Codewort I enthalten kann, das cosΘ größer macht, d. h., ein Codewort I, für das es sehr wahrscheinlich ist, dass es eine Annäherung an den Differenzkomponentevektor darstellt. Dieser Vorgang wird vom Hersteller ausgeführt, der das Codebuch B zur Kompression und Expansion erzeugt.
- Es wird eine große Anzahl von Bildern für Lernvorgänge in Kompressionsverarbeitungseinheit-Blöcke 7 unterteilt. Dann wird ein Eingangsvektor tn mit der Anordnung gemäß der Fig. 2, dessen Vektorkomponenten xtnk (n = 1, 2, ..., N) Daten sind, die den Luminanzpegel jedes Pixels des Kompressionsverarbeitungseinheit-Blocks 7 in acht Bits wiedergeben, d. h. 256 Töne, eingelesen. Als Erstes wird, in einem Schritt β11, ein Mittelwert utn entsprechend der Gleichung (5) erhalten, und dieser Mittelwert utn wird wie in der folgenden Gleichung von jeder Vektorkomponente xtnk abgetrennt, um einen Differenzkomponentevektor tn zu erhalten:
- tn = tn - utn = (Xtn1, Xtn2, ..., XtnK) (11)
- Als Nächstes wird die Vektorordnung tn des Differenzkomponentevektors tn in einem Schritt β12 gemäß der Gleichung (12) berechnet:
- tn = (Xtn1² + Xtn2² + ... + XtnK²) (12)
- In einem Schritt β13 wird beurteilt, ob die Ordnung tn nicht kleiner als ein vorbestimmter Schwellenwert Vth2 ist. Als Vektor tn zum Lernen wird nur ein Differenzkomponentevektor mit einer Ordnung nicht unter dem Schwellenwert Vth2 verwendet. In einem Schritt β14 wird das als γ11 veranschaulichte Codebuch B gemäß dem LBG(Linde, Buzo und Gray)-Algorithmus erzeugt (Einzelheiten folgen).
- Gemäß dem LBG-Algorithmus wird der durch viele Vektoren t1, t2, ..., tN für Lernvorgänge gebildete Raum in mehrere Gebiete (als Niveaus bezeichnet) unterteilt. Beim obigen Beispiel wird der Raum in M Gebiete unterteilt: r1 bis rM. Dann werden repräsentative Vektoren 01, 02, ..., 0M so bestimmt, dass die Summe von Abständen zwischen den repräsentativen Vektoren und allen Vektoren für Lernvorgänge in den jeweiligen Gebieten r1 bis rM minimiert ist. Der erzeugte repräsentative Vektor wird bei der Erfindung als Codewort i verwendet. In den Skalarproduktwert-Berechnungsabschnitten R1 bis RM werden die Kapazitäten der Codekomponentekondensatoren Hi1 bis HiK entsprechend den 8-Bit- oder 256-Ton-Daten der Codekomponenten Ci1 bis CiK des erhaltenen Codeworts i eingestellt.
- Die Fig. 6 ist ein Flussdiagramm zum Veranschaulichen des Prozesses des LPG-Algorithmus. In einem Schritt β21 werden die Anzahl K von Dimensionen, die Anzahl M von Niveaus und ein Schwellenwert ε zur Konvergenzbeurteilung initialisiert. Auch wird eine Variable m (m = 0, 1, 2, ...), die die Anzahl von Erneuerungen der Teilgebiete repräsentiert, auf null rückgesetzt, und eine Anfangsverzerrung D(-1) wird auf +∞ eingestellt. Darüber hinaus wird das aus den für die Quantisierung repräsentativen Vektoren 01 bis 0M bestehende Codebuch B als Codebuch B(0) für den Anfangszustand eingestellt, wie durch einen Aufteilalgorithmus erhalten (Einzelheiten folgen).
- In einem Schritt β22 wird das Codebuch B(m) fixiert, und es werden Teilgebiete r(m) bestimmt. Dann werden Abstände (d. h. Verzerrungen) zwischen den Vektoren für Lernvorgänge in den Teilgebieten r(m) in diesem unterteilten Zustand und den die Quantisierung repräsentierenden Vektoren in diesen Teilgebieten r(m) erhalten, und dies gilt für den Mittelwert D(m) dieser Verzerrungen. In einem Schritt β23 wird eine Änderungsrate zwischen dem Mittelwert D(m-1) der Verzerrungen im unterteilten Zustand der Teilgebiete r(m-1) zum vorigen Zeitpunkt und dem Mittelwert D(m) der Verzerrungen im Unterteilungszustand der Teilgebiete r(m) zum aktuellen Zeitpunkt erhalten. Dann wird beurteilt, ob die Änderungsrate unter dem Schwellenwert c zur Konvergenzbeurteilung liegt. Wenn die Änderungsrate unter dem Schwellenwert ε liegt, werden die für die Quantisierung repräsentativen Vektoren als Codewörter eingetragen, und es wird der Aufbauvorgang für das Codebuch B beendet. Falls nicht, geht der Algorithmus zu einem Schritt β24 weiter.
- Im Schritt β24 werden die Teilgebiete r(m) fixiert, und die für die Quantisierung repräsentativen Vektoren im Codebuch B(m) werden in den Teilgebieten r(m) als jeweilige Schwerpunktsvektoren eingestellt. In einem Schritt β25 wird die Variable m um 1 erhöht, und dann kehrt der Algorithmus zum Schritt β22 zurück. Die für die Quantisierung repräsentativen Vektoren mit minimalen Verzerrungen gegenüber den Vektoren für Lernvorgänge in den Teilgebieten r1 bis rM (Teilgebiete des Niveaus mit der Nummer M) werden durch Wiederholen der Schritte β22 bis β25 auf diese Weise erhalten und als Codewörter i des Codebuchs B eingetragen. Die Kapazitäten der Codekomponentekondensatoren Hi1 bis HiK werden entsprechend den Vektorkomponenten der auf diese Weise erzeugten Codewörtern Ci bestimmt.
- Die Fig. 7(a) bis 7(e) veranschaulichen das Konzept des Aufteilalgorithmus, eines Verfahrens zum Erhalten des anfänglichen Codebuchs B(0). Durch den Aufteilalgorithmus werden zwei einander dicht benachbarte Codewörter (z. B. M1 und M2) aus den Codewörtern 1 bis M im Codebuch B(M) von M Niveaus unter Verwendung eines Mikrovektors δ entsprechend der folgenden Gleichung erzeugt:
- M1 = M - δ
- M2 = M + δ (13)
- Als Erstes werden, wie es in der Fig. 7(a) dargestellt ist, die Schwerpunktvektoren aller Vektoren t1 bis tn für Lernvorgänge bestimmt und als repräsentativer Punkt Z1 des Niveaus 1 eingestellt.
- Als Nächstes wird, wie es in der Fig. 7(b) dargestellt ist, der repräsentative Punkt Z1 um den vorbestimmten Unterteilungsparameter 6 verschoben, um repräsentative Punkte Z21a und Z22a des Niveaus 2 zu bestimmen.
- Dann wird der Abstand zwischen den Vektoren t1 und tn für Lernvorgänge und jedem der zwei repräsentativen Punkte Z21a und Z22a berechnet. Wie es in der Fig. 7(c) dargestellt ist, werden die Grenzen von Gebieten r21 und r22, zu denen die Vektoren tn für Lernvorgänge gehören, so geändert, dass die Summe der Abstände zwischen jedem der Vektoren tn für Lernvorgänge und jedem der zwei repräsentativen Punkte Z21a und Z22a minimiert wird. Die Änderung der Grenzen wird wiederholt, bis die Änderungsrate der Summe der Abstände einen vorbestimmten Wert ε nicht überschreitet.
- So wird das Unterteilen des Vektorraums abgeschlossen. Dann werden, auf dieselbe Weise wie in der Fig. 7(a), wie es in der Fig. 7(d) dargestellt ist, Schwerpunktvektoren der Vektoren für Lernvorgänge, die zu den Gebieten r21 und r22 gehören, für diese Gebiete bestimmt, und die Mittelwerte dieser Schwerpunktsvektoren werden als repräsentative Punkte Z21 und Z22 für das Niveau 2 eingestellt.
- Als Nächstes werden, wie es in der Fig. 7(e) dargestellt ist, die repräsentativen Punkten Z21 und Z22 durch den Unterteilungsparameter b verschoben, um repräsentative Punkte Z41, Z42, Z43 und Z44 auf dem Niveau 4 zu bestimmen. Die Gebiete werden auf dieselbe Weise wie oben unterteilt, und es werden repräsentative Punkte bestimmt. Diese Operation wird wiederholt, bis die gewünschte Niveau-Exponentenzahl (Codewortnummer) M vom Wert 2 erzielt ist.
- Die Tabelle 1 zeigt Ergebnisse von durch die Erfinder der vorliegenden Erfindung ausgeführten Versuchen. Die bei den Versuchen verwendeten Codewörter i werden unter den folgenden Bedingungen gelernt: (1) die Anzahl N von Vektoren für Lernvorgänge, entsprechend den Kompressionsverarbeitungseinheit-Blöcken 7, wie für eine große Anzahl von Bildern für Lernvorgänge aus 512 Pixel · 512 Pixeln erhalten, wird auf 28900 eingestellt; (2) die Anzahl K der Dimensionen des Vektors tn für Lernvorgänge wird auf 36 eingestellt; (3) die Anzahl M der Niveaus wird auf 32 eingestellt, was der Anzahl von Codewörtern entspricht; (4) der Unterteilungsparameter 5 wird auf 0,1 eingestellt; (5) der Konvergenzbeurteilungswert ε wird auf 0,0001 eingestellt. In Bezug auf Probenbilder (i) bis (vi), die von den oben genannten Bildern für Lernvorgängen verschieden sind, werden drei Arten von Versuchen I, II und III ausgeführt.
- Beim Versuch I wird der während des Lernvorgangs verwendete Vth2 nicht eingestellt. Das heißt, dass alle eingegebenen Vektoren tn als Vektoren tn für Lernvorgänge verwendet werden. Außerdem wird der während der Kompression von Codedaten verwendete Schwellenwert Vth1 nicht eingestellt. Daher werden jederzeit alle Codedaten ausgegeben. Beim Versuch II wird der Schwellenwert Vth2 nicht eingestellt, und es wird nur der Schwellenwert Vth1 eingestellt. Beim Versuch III werden beide Schwellenwerte Vth2 und Vth1 eingestellt. In der Tabelle 1 zeigen Zahlen in der oberen Hälfte jedes Blocks die Datenmenge pro Pixel in Bits/Pixeln nach der Kompression an. Die Zahlen in der unteren Hälfte zeigen S/R-Verhältnisse, oder die Bildqualität in dB. [Tabelle 1]
- Wie es aus den Mittelwerten der Versuche II und III erkennbar ist, wird, durch Einstellen des Schwellenwerts Vth2 während des Lernens die Datenmenge nach der Kompression verringert, und es wird auch die Bildqualität verbessert. Wie es aus den Mittelwerten der Versuche I und II erkennbar ist, wird die Datenmenge beinahe halbiert, ohne dass die Bildqualität beeinträchtigt wird, wenn der Schwellenwert Vth1 während der Kompression eingestellt wird.
- Wie insoweit erörtert, gibt die Vorrichtung zur Bildkompression 1 gemäß der Erfindung nur den Mittelwert u der Vektorkomponenten xk als Codedaten aus, wenn relativ gleichmäßige Bilder für alle Kompressionsverarbeitungseinheit- Blöcke 7 erhalten werden (z. B. dann, wenn der maximale Skalarproduktwert P des dem eingegebenen Bild entsprechenden Vektors und die Codewörter i im Codebuch B unter dem Schwellenwert Vth1 liegen). Wenn dagegen Bilder mit relativ großer Änderung (z. B. einen Rand enthaltende Bilder, bei denen der Schwellenwert Vth1 überschritten wird) erhalten werden, gibt die Vorrichtung zur Bildkompression 1 neben dem Mittelwert u den maximalen Skalarproduktwert P und den Index I des Codeworts , das den maximalen Skalarproduktwert P liefert, als Codedaten aus. Daher ist die Datenmenge beträchtlich verringert, ohne dass die Bildqualität in solchem Ausmaß beeinträchtigt wäre, dass der Betrachter die Qualitätsdifferenz erkennen könnte.
- Da beim Lernen der Codewörter i im Codebuch B nur die Eingangsvektoren tn mit einer Ordnung tn nicht unter dem Schwellenwert Vth2 als Vektoren tn für Lernvorgänge eingetragen werden, werden relativ gleichmäßige und unscharfe Bilder über die Kompressionsverarbeitungseinheit-Blöcke 7, die für Lernvorgänge nicht geeignet sind, beseitigt, und es können nur Bilder mit relativ großer Änderung verwendet werden, die für Lernvorgänge geeignet sind. Daher enthält das Codebuch B keine zu beanstandenden unscharfen Bilder. So ist es auch möglich, Codewörter zu speichern, für die hohe Wahrscheinlichkeit besteht, dass sie mit verschiedenen eingegebenen Bildsignalen übereinstimmen.
- Unter Bezugnahme auf die Fig. 8 erörtert die folgende Beschreibung eine zweite Ausführungsform der Erfindung.
- Die Fig. 8 ist ein Blockdiagramm, das die elektrische Anordnung einer Vorrichtung zur Bildkompression 1a und eines Bildsensors 2 gemäß der zweiten Ausführungsform der Erfindung zeigt. Die Vorrichtung zur Bildkompression 1a ist der oben erörterten Vorrichtung zur Bildkompression 1 ähnlich. Daher sind entsprechende Segmente mit denselben Bezugszahlen gekennzeichnet, und eine zugehörige Beschreibung wird weggelassen. Es ist dort Aufmerksamkeit walten zu lassen, wo bei der Vorrichtung zur Bildkompression 1a Korrekturkondensatoren Hcia und Hcib (die allgemein als Hc bezeichnet werden) zum Korrigieren eines Quantisierungsfehlers eines Codebuchs (eine detaillierte Beschreibung folgt) in jedem Skalarproduktwert-Berechnungsabschnitt Rai in einer Skalarproduktwert-Berechnungsschaltung 12a vorhanden sind.
- In der oben erörterten Vorrichtung zur Bildkompression 1 realisiert jeder der Skalarproduktwert-Berechnungsabschnitte Ri in der Skalarproduktwert- Berechnungsschaltung 12 die Codekomponenten Cik mittels eines Codekomponentenkondensators Hik. Der Kondensator belegt jedoch im Allgemeinen in einem integrierten Schaltungschip eine ziemlich große Fläche. Daher ist es bei einer Anordnung, bei der jeder der Codekomponentekondensatoren Hik dadurch realisiert wird, dass eine relativ große Anzahl von Einheitskondensatoren entsprechend einem Gradienten der Codekomponenten Cik selektiv verwendet wird, erforderlich, die Einheitskondensatoren sehr klein zu machen. Alternativ ist es möglich, die Codekomponenten Cik dadurch zu realisieren, dass das quantisiertes Kondensatorverhältnis Hi1 : Hi2 : Hi3 : ... : Hik z. B. den Wert 1 : 2 : 4; ...; 2 erhält. Wenn jedoch die Einheitskondensatoren zu klein gemacht werden, wird es schwierig, mit der aktuellen Verarbeitungstechnologie Genauigkeit hinsichtlich des Gradienten zu erzielen. Demgemäß wird das quantisierte Kondensatorverhältnis verwendet.
- Wenn hierbei angenommen wird, dass die Codekomponentekondensatoren Hik nicht quantisiert sind und genau den gewünschten Codekomponenten Cik entsprechen, ist der Skalarproduktwert des Differenzkomponentenvektors und des Codeworts i durch die folgende Gleichung gegeben:
- Wenn angenommen wird, dass kein Quantisierungsfehler auftritt, wird die Gleichung (15) erhalten:
- Cik = 0 (15)
- Daher wird die Gleichung (14) wie folgt umgeordnet:
- ( , Ci) = Cik·xk (16)
- Daher entspricht dieser Skalarproduktwert dem Ergebnis der Skalarproduktwert-Berechnung unter direkter Verwendung des in der Gleichung (2) dargestellten Eingangsvektors . Daher ist es, wie es für die oben erörterte Vorrichtung zur Bildkompression 1 angegeben ist, selbst bei einer Anordnung, bei der der Eingangsvektor direkt in jeden der Skalarproduktwert- Berechnungsabschnitte Ri eingegeben wird, ohne dass der Mittelwert u abgetrennt wird, möglich, den Skalarproduktwert des Differenzkomponentenvektors und jedes der Codewörter i auf entsprechende Weise zu berechnen.
- Wenn die aus den quantisierten Kondensatoren, wie oben erörtert, aufgebauten Codewörter i verwendet werden, sind jedoch der Skalarproduktwert der Codewörter i und der Differenzkomponentevektor durch die folgende Gleichung gegeben:
- Daher unterscheidet sich das Ergebnis der direkten Verwendung des Eingangsvektors vom Bildsensor 2 als Eingangssignal in jeden der Skalarproduktwert-Berechnungsabschnitte Ri vom Ergebnis, wenn der Differenzkomponentenvektor mit mittlerem Abstand verwendet wird. Daher tritt, wenn die Quantisierung dann ausgeführt wird, wenn die Codekomponentekondensatoren Hik in einer integrierten Schaltung angebracht sind, ein Rechenfehler, oder die Auswahl eines falschen Codeworts, auf, was zu einem anderen Kompressionsergebnis führt.
- Daher wird die Vorrichtung zur Bildkompression 1a direkt die Gleichung (18) an Stelle der Gleichung (17) verwendet, um den Quantisierungsfehler zu korrigieren.
- Anders gesagt, wird der Quantisierungsfehler -uΣ[Cik] durch Einstellen eines Korrekturterms +uΣ[Cik] korrigiert.
- Zum Beispiel wird im Skalarproduktwert-Berechnungsabschnitt Ra1 ein Korrekturkondensator Hc1b für die Leitung S1b bereitgestellt, um den durch einen Codekomponentekondensator H1&spplus; mit positivem Koeffizienten hervorgerufenen Quantisierungsfehler zu korrigieren, während ein Korrekturkondensator Hc1a für die Leitung S1a vorhanden ist, um einen durch einen Codekomponentekondensator H1&supmin; mit negativem Koeffizienten hervorgerufenen Quantisierungsfehler zu korrigieren. Die Korrekturkondensatoren Hc1a und Hc1b sind an einem ihrer Enden mit den Leitungen S1a bzw. S1b verbunden, und an ihren anderen Enden werden sie mit einem Eingangssignal von der Mittelwert-Berechnungsschaltung 11 versorgt, das auf der Leitung LA ausgegeben wird. Auf diese Weise ist es möglich, eine Korrektur entsprechend dem Korrekturterm +uΣ[Cik] auszuführen.
- Wie oben erörtert, ist es selbst dann, wenn der Eingangsvektor vom Bildsensor 2 direkt in jeden der Skalarproduktwert-Berechnungsabschnitte Rai eingegeben wird, möglich, einen Skalarproduktwert zu erhalten, der denjenigen entspricht, der dann erhalten wird, wenn der Differenzkomponentenvektor eingegeben wird, nachdem der Mittelwert u subtrahiert wurde, und den Codebuch-Quantisierungsfehler ohne spezielle Berücksichtigung des Quantisierungsfehlers im Codebuch dadurch zu korrigieren, dass nur Korrekturkondensatoren Hc1a, Hc1b; ...; McMa, HcMb mit einfacher Anordnung entsprechend dem Quantisierungsfehler -uΣ[Cik] im Codebuch zu den Skalarproduktwert- Berechnungsabschnitten Rai hinzugefügt werden.
- Unter Bezugnahme auf die Fig. 9 bis 15 erörtert die folgende Beschreibung eine dritte Ausführungsform der Erfindung.
- Die Fig. 9 ist ein Blockdiagramm, die die elektrische Anordnung einer Vorrichtung zur Bildkompression 1b und eines zugehörigen Bildsensors 2 gemäß der dritten Ausführungsform der Erfindung zeigt. Die Vorrichtung zur Bildkompression 1b ist der oben erörterten Vorrichtung zur Bildkompression 1a ähnlich. Daher sind entsprechende Segmente mit denselben Bezugszahlen gekennzeichnet, und eine zugehörige Beschreibung wird weggelassen. Aufmerksamkeit ist dort walten zu lassen, wo in der Vorrichtung zur Bildkompression 1b (1) die Polarität eines Eingangssignals vom Signalpegel xk, das von jedem Puffer Fk des Bildsensors 2 auf eine Leitung Lk1 ausgegeben wird, zwischen Nicht-Invertierung und Invertierung umgeschaltet wird und durch eine Eingangsvektor-Invertier/Auswähl-Schaltung 41 auf die Leitung Lk ausgegeben wird, und (2) ein Invertier- und Komparatorabschnitt COMPi in einer Invertier/Komparator-Schaltung 42 die invertierten und nicht invertierten Werte des Ausgangssignals jedes Skalarproduktwert-Berechnungsabschnitts Rai in einer Skalarproduktwert-Berechnungsschaltung 12a miteinander vergleicht und den größeren Wert der beiden ausgibt.
- Die Eingangsvektor-Invertier/Auswähl-Schaltung 41 enthält einen Umschalter SWk und einen Inverter Gk entsprechend jeder der Leitungen Lk. Wenn der Umschalter SWk 2u einer nicht invertierenden Seite hin leitet, wird das Eingangssignal von der Leitung Lk1 nicht invertiert gehalten und auch die Leitung Lk ausgegeben. Wenn dagegen der Umschalter SWk zu einer invertierenden Seite leitet, wird das Eingangssignal von der Leitung Lk1 durch einen Inverter Gi in Bezug auf seine Polarität invertiert und dann von der Leitung Lk2 über den Umschalter SWk auf die Leitung Lk ausgegeben. Die Schaltzustände der Umschalter SWk sind gekoppelt, und sie werden durch eine Steuerschaltung 45 gesteuert. Die Steuerschaltung 45 steuert die Polarität des Ausgangssignals von jedem Skalarproduktwert-Berechnungsabschnitt Rai im Invertier- und Komparatorabschnitt COMPi in Kopplung mit dem Schaltvorgang des Umschalters SWk.
- Demgemäß werden in den Skalarproduktwert-Berechnungsabschnitten Rai das Produkt und die Summe der Codekomponenten Cik der Codewörter und der Vektorkomponenten xk des Eingangsvektors sowie diejenigen der Codekomponenten Cik der Codewörter i und der invertierten Werte der Vektorkomponenten xk erhalten. Der Invertier- und Komparatorabschnitt COMPi vergeleicht die nicht invertierten Werte und die invertierten Werte des Ausgangssignals vom entsprechenden Skalarproduktwert-Berechnungsabschnitt Rai, und er gibt das größere Ausgangssignal an die Maximaleingangswert-Ermittlungsschaltung 21 aus. Auch ist ein Schaltelement Tbi entsprechend jedem der Invertier- und Komparatorabschnitte COMPi auf dieselbe Weise wie die Schaltelemente Ti vorhanden. Wenn die Ausgangsleitung Yi die eines entsprechenden Kanals der Maximaleingangswert-Ermittlungsschaltung 21 den hohen Pegel einnimmt, leitet das Schaltelement Tbi und gibt an die Ausgangssignal-Auswählschaltung 18b einen Code fb aus, der anzeigt, ob das Ausgangssignal des entsprechenden Invertier- und Komparatorabschnitts COMPi an die Maximaleingangswert- Ermittlungsschaltung 21 ein nicht invertierter Wert oder ein invertierter Wert ist.
- Daher werden die Skalarproduktwerte sowohl des nicht invertierten als auch des invertierten Werts des Eingangsvektors mit den Codewörtern i berechnet. Die Berechnung entspricht einer Berechnung der Skalarproduktwerte des Eingangsvektors i mit den Codewörtern i und - i. Dies ermöglicht es, die Codewörter i um 1 Bit zu vergrößern, d. h., die Anzahl i der Codewörter zu verdoppeln, ohne dass die zum Anbringen von Kondensatoren benötigte Fläche erhöht wird, um dadurch die Vektorquantisierung mit hoher Genauigkeit und hohem Wirkungsgrad auszuführen.
- Aufmerksamkeit ist dort walten zu lassen, wo die Vorrichtung zur Bildkompression 1b mit einer Pufferschaltung 43 für das niedrige Band versehen ist, um das Ausgangssignal einer Mittelwert-Berechnungsschaltung 11 mit vorbestimmtem Zyklus abzutasten, um einen Vektor zu erzeugen, und eine Vektorquantisierschaltung 44 für ein niedriges Band zum Quantisieren dieses Vektors vorhanden ist. Daher wird in dieser Vorrichtung zur Bildkompression 1b, falls erforderlich, das Ausgangssignal der Mittelwert-Berechnungsschaltung 11 skalar-quantisiert und dann durch einen A/D-Wandler 14 ausgegeben, oder es wird durch die Pufferschaltung 43 für das niedrige Band und die Vektorquantisierschaltung 44 für das niedrige Band vektor-quantisiert und dann ausgegeben.
- Zum Beispiel ist, wie es in der Fig. 10 dargestellt ist, eine vorbestimmte Anzahl j (j = 1, 2, ...; wobei im in der Fig. 10 dargestellten Beispiel j = 4 gilt) der Kompressionsverarbeitungseinheit-Blöcke 7 als ein Kompressionsverarbeitungseinheit-Block 8 für das niedrige Band spezifiziert. Für jeden Kompressionsverarbeitungseinheit-Block 8 für das niedrige Band werden Mittelwertsvektoren L1, L2, ... durch Abtasten des Mittelwerts u in den Kompressionsverarbeitungseinheit-Blöcken 7 durch die Pufferschaltung 43 für das niedrige Band für jede Zahl j der Kompressionsverarbeitungseinheit- Blöcke 7 erzeugt. Diese Mittelwertvektoren L1, L2, ... werden dann durch das normierte Vektorquantisierungsverfahren mit mittlerem Abstand in der Vektorquantisierschaltung 44 für das niedrige Band vektor-quantisiert.
- Die Fig. 11 ist ein Blockdiagramm, das eine elektrische Anordnung der Pufferschaltung 43 für das niedrige Band zeigt. Diese Pufferschaltung 43 für das niedrige Band verfügt hauptsächlich über ein Schieberegister 51 und einen Abtast/Halte-Abschnitt 52. Der Abtast/Halte-Abschnitt 52 besteht aus vier Abtast/Halte-Schaltungen SH1, SH2, SH3 und SH4, entsprechend der Dimensionszahl j der Mittelwertvektoren L1, L2, ... .
- Auf z. B. ein Taktsignal von einem Steuerabschnitt (nicht dargestellt) hin leitet das Schieberegister 51 Triggersignale auf sequenzielle Weise an Leitungen LB1 bis LB4, die jeweils den Abtast/Halte-Schaltungen SH1 bis SH4 entsprechen. Das Ausgangssignal der Mittelwert-Berechnungsschaltung 11 wird über die Leitung LA den Abtast/Halte-Schaltungen SH1 bis SH4 gemeinsam zugeführt. Auf die Triggersignale hin führen diese Abtast/Halte-Schaltungen SH1 bis SH4 einen Abtastvorgang am Ausgangssignal der Mittelwert-Berechnungsschaltung 11 auf sequenzielle Weise aus und sie leiten die gehaltenen Ausgangssignale an Leitungen LL1 bis LL4. Wie es in der Fig. 10 dargestellt ist, werden so die Mittelwerte u der Verarbeitungseinheitsblöcke 7 in den Kompressionsverarbeitungseinheit-Blöcken 8 für das niedrige Band auf sequenzielle Weise gelesen, und es können die Mittelwertvektoren L1, L2, ... erzeugt werden.
- Die Abtast/Halte-Schaltung SH1 kann z. B. durch die in der Fig. 12 dargestellte Anordnung realisiert werden. Diese Abtast/Halte-Schaltung SH1 enthält einen Widerstand 53 und einen Verstärker 54, die eine Eingangsschaltung zum Umsetzen des Ausgangsstroms von der Mittelwert-Berechnungsschaltung 11 in eine Spannung bilden, einen Schalter 55 zum Abtasten des Ausgangssignals des Verstärkers 54 auf das Triggersignal hin, einen Widerstand 56, einen Kondensator 57 und einen Verstärker 58 zum Aufrechterhalten des Ausgangssignals vom Schalter 55. Die anderen Abast/Halte-Schaltungen SH2 bis SH4 können auf dieselbe Weise ausgebildet sein.
- Die Vektorquantisierschaltung 44 für das niedrige Band empfängt als Vektorkomponenten solche Spannungspegel, wie sie von der Pufferschaltung 43 für das niedrige Band über die Leitungen LL1 bis LL4 eingegeben werden, und sie führt eine normierte Vektorquantisierung mit mittlerem Abstand aus. Die Vektorquantisierschaltung 54 für das niedrige Band weist eine ähnliche Anordnung wie die Vorrichtung zur Bildkompression 1b auf, verringert um die Vektorquantisierschaltung 44 für das niedrige Band, die Pufferschaltung 43 für das niedrige Band und die Ausgangssignal-Auswählschaltung 18b. Anders gesagt, kann die Vektorquantisierschaltung 44 für das niedrige Band auf dieselbe Weise wie ein Vektorquantisierabschnitt 46 für das hohe Band ausgebildet sein, der aus der Eingangsvektor-Invertier/Auswähl-Schaltung 41, der Mittelwert-Berechnungsschaltung 11, der Skalarproduktwert-Berechnungsschaltung 12a, der Inverter/Komparator-Schaltung 42, einer Maximalskalarprodukt-Ermittlungsschaltung 13b für das hohe Band, einer Indexcodierschaltung 16b für das hohe Band, den A/D-Wandlern 14 und 15, einen Komparator 17 und der Steuerschaltung 45 besteht.
- Die Fig. 13 ist ein Blockdiagramm, das die elektrische Anordnung der Vektorquantisierschaltung 44 für das niedrige Band zeigt. Die über die Leitungen LL1 bis LL4 eingegebenen Signale werden für nicht invertierte und invertierte Werte abwechselnd durch eine Eingangsvektor-Invertier/Auswähl- Schaltung 4,11 umgeschaltet und in eine Mittelwert-Berechnungsschaltung 11L für das niedrige Band eingegeben. Der von dieser Mittelwert-Berechnungsschaltung 11L für das niedrige Band berechnete Mittelwert wird durch einen A/D-Wandler 14L skalar-quantisiert und dann in die Ausgangssignal-Auswählschaltung 18b eingegeben.
- Eine Skalarproduktwert-Berechnungsschaltung 12L für das niedrige Band zum Berechnen von Skalarproduktwerten in Bezug auf die Eingangsvektoren L1, L2, ..., aus den Eingangssignalen, ist mit Skalarproduktwert-Berechnungsabscbnitten RLφ versehen. Die Anzahl der Skalarproduktwert-Berechnungsabschnitte RLφ entspricht der Anzahl φ (φ = 1, 2, ..., Φ) der Codewörter. Der Skalarproduktwert-Berechnungsabschnitt RLφ besteht aus einem Verstärker zur Summen- und Produktberechnung und den Codekomponenten entsprechenden Kondensatoren.
- Die durch eine Steuerschaltung 45L mit der Eingangsvektor-Invertier/Auswähl-Schaltung 41L gekoppelte Inverter/Komparator-Schaltung 42L vergleicht invertierte und nicht invertierte Werte des Ausgangssignals vom Ausgangssignal-Auswählschaltungabschnitt RLφ miteinander, und der größere Wert der beiden wird in den Maximalskalarprodukt-Ermittlungsschaltung 13L für das untere Band eingegeben. Von einer Maximaleingangswert-Ermittlungsschaltung 21L in der Maximalskalarprodukt-Ermittlungsschaltung 13L für das niedrige Band wird ein Ausgangssignal hohen Pegels nur für denjenigen Kanal hergeleitet, der unter den den Skalarproduktwert-Berechnungsabschnitten RLφ entsprechenden Ausgangsleitungen YLφ den Maximalwert liefert. Als Nächstes wird der Index IL des Kanals, für den dieses Ausgangssignal hergeleitet wird, durch die Indexcodierschaltung 16L für das niedrige Band codiert und an die Ausgangssignal-Auswählschaltung 18b ausgegeben. Ein dem obersten Bit des Index IL entsprechender Code fL, der repräsentiert, ob der Skalarproduktwert hierbei ein nicht invertierter oder ein invertierter Wert ist, wird über ein Schaltelement TLbφ in die Ausgangssignal-Auswählschaltung 18b eingegeben. Darüber hinaus wird vom Schaltelement TLbφ ein Spannungspegel, der dem Ergebnis der Berechnung des Skalarproduktwerts für den das maximale Skalarprodukt ergebenden Kanal entspricht, in einen A/D-Wandler 15L eingegeben, quantisiert und dann in die Ausgangssignal-Auswählschaltung 18b eingegeben.
- Wie es in der Fig. 9 dargestellt ist, empfängt die Ausgangssignal-Auswählschaltung 18b vom A/D-Wandler 14 im Vektorquantisierabschnitt 46 für das hohe Band einen Quantisierungscode für einen Mittelwert u für das hohe Band, einen Quantisierungscode für den Absolutwert des maximalen Skalarproduktwerts P für das hohe Band vom A/D-Wandler 15, einen Code fb für den maximalen Skalarproduktwert P für das hohe Band von der Maximalskalarprodukt-Ermittlungsschaltung 13b für das hohe Band, einen Index I von der Indexcodierschaltung 16b für das hohe Band und ein Flag f von der Komparatorschaltung 17. Indessen empfängt die Ausgangssignal-Auswählschaltung 18b vom A/D-Wandler 14L in der Vektorquantisierschaltung 44 für das niedrige Band einen Quantisierungscode für einen Mittelwert uL für das niedrige Band, einen Quantisierungscode für den Absolutwert des maximalen Skalarproduktwerts PL für das niedrige Band vom A/D-Wandler 15L, einen Code fL für den maximalen Skalarproduktwert PL für das niedrige Band von der Maximalskalarprodukt-Ermittlungsschaltung 13L für das niedrige BAnd sowie einen Index IL von der Indexcodierschaltung 16L für das niedrige Band. Die Ausgangssignal-Auswählschaltung 18b gibt, wie es in den Fig. 14 und 15 dargestellt ist, diese Codes und den Index selektiv als Codedaten auf das Flag f hin an die Ausgangsleitung 3 aus.
- Die an die Ausgangsleitung 3 ausgegebenen Codedaten werden z. B. an einen Sender geliefert und von diesem gesendet, oder an eine Aufzeichnungsvorrichtung geliefert und von dieser aufgezeichnet. Daher werden die von einem Empfänger empfangenen oder durch eine Wiedergabevorrichtung wiedergegebenen Codedaten als Erstes aus dem Mittelwert uL für das niedrige Band, dem Index IL für das niedrige Band und den maximalen Skalarproduktwert PL für das niedrige Band in diejenigen Bildsignale decodiert, die den Mittelwert u für jeden Kompressionsverarbeitungseinheit-Block 8 für das niedrige Band repräsentieren. Als Nächstes wird, entsprechend dem Beurteilungsflag f, der Signalpegel xk jedes Pixels aus dem Index I und dem maximalen Skalarproduktwert P für jeden Kompressionsverarbeitungseinheit-Block 7 decodiert, wenn das Beurteilungsflag f den Wert 1 hat, wohingegen der Signalpegel xk mit dem Mittelwert u decodiert wird, wenn das Beurteilungsflag f den Wert 0 hat. Die decodierten Signalepegel xk werden sequenziell angeordnet, um sich an für das zu decodierende Bild vorbestimmten Orten zu befinden, und so wird ein decodiertes Bild erzeugt.
- Es ist zu beachten, dass die Ausgangssignal-Auswählschaltung 18b so ausgebildet sein kann, dass sie den Mittelwert u, den aus dem Mittelwert u erhaltenen Mittelwert uL, den Index IL, den maximalen Skalarproduktwert PL und den maximalen Skalarproduktwert-Code fL selektiv, falls erforderlich, ausgibt. Wenn z. B. die Anordnung der Decodierseite zu vereinfachen ist, kann der Mittelwert u übertragen werden. Wenn die Decodierseite so ausgebildet ist, dass sie Komponenten im niedrigen Band decodieren kann, die mit dem normierten Vektorquantisierungsverfahren mit mittlerem Abstand vektorquantisiert sind, können der Mittelwert uL, der Index IL, der maximale Skalarproduktwert PL un der maximale Skalarproduktwert-Code fL ausgegeben werden.
- Die Fig. 14 und 15 sind ein Flussdiagramm zum Veranschaulichen des von der auf die obige Weise ausgebildeten Vorrichtung zur Bildkompression 1b ausgeführten Kompressionsvorgangs. Die Fig. 14 zeigt den Betrieb des Vektorquantisierungsabschnitts 46 für das hohe Band, der dem Gesamtbetrieb der in der Fig. 4 dargestellten Vorrichtung zur Bildkompression 1 ähnlich ist. Daher sind entsprechende Segmente mit denselben Bezugszahlen gekennzeichnet, und eine zugehörige Beschreibung wird weggelassen.
- Im Vektorquantisierabschnitt 46 für das hohe Band wird ein Korrekturwert, der den Quantisierungsfehler beim Anbringen der Codekomponentekondensatoren Hik (i = 1 bis 32, k = 1 bis 36) entspricht, wie in der Gleichung (18) angegeben, aus dem im Schritt β1 erhaltenen und in γ2 veranschaulichten Mittelwert u erhalten, wie es in γ6b dargestellt ist. Im Schritt β3b werden Skalarproduktwerte der Eingangssignale mit jedem der Codewörter 1 bis 32 berechnet, und die Rechenergebnisse werden durch die oben genannten Korrekturwerte korrigiert, um die Skalarproduktwerte ( , i) zu erhalten.
- In einem Schritt β7b wird die Polarität des Skalarproduktwerts ( , i) invertiert, und der invertierte und der nicht invertierte Wert werden miteinander verglichen. Die Absolutwerte ( , i) der Skalarproduktwerte des Eingangssignals in Bezug auf die Codewörter 1 bis 32 werden auf diese Weise erhalten. In einem Schritt β4 werden der maximale Skalarproduktwert P und sein Index erhalten. In einem Schritt β5 wird der maximale Skalarproduktwert P mit dem Schwellenwert Vth1 verglichen, und abhängig vom Vergleichsergebnis wird das Beurteilungsflag gesetzt oder rückgesetzt.
- In einem Schritt β6b werden, auf das Beurteilungsflag f hin, wie bei γ5b veranschaulicht, z. B. ein Beurteilungflag von 1 Bit, der Index I von 5 Bits, der Quantisierungscode des maximalen Skalarproduktwerts von 3 Bits und der Maximalskalarproduktwert-Code fb von 1 Bit für 36 Pixel ausgegeben, wenn das Beurteilungsflag f 1 ist, wohingegen nur das Beurteilungsflag f für 36 Pixel ausgegeben wird, wenn es 0 ist. Die Mittelwerte u werden durch die Pufferschaltung 46 für das niedrige Band abgetastet, wie oben erörtert, und sie werden als Eingangssignal L in die Vektorquantisierschaltung 44 für das niedrige Band eingegeben.
- Die Fig. 15 ist ein Flussdiagramm zum Veranschaulichen des Kompressionsvorgangs durch die Komponenten für das niedrige Band in der Vektorquantisierschaltung 44 für das niedrige Band. Dieser Vorgang ist demjenigen ähnlich, der in der Fig. 15 dargestellt ist, und daher sind entsprechende Segmente in der Fig. 15 mit denselben Bezugszahlen von zwei Ziffern unter Hinzufügung des Index L gekennzeichnet. Wie es in der Fig. 10 dargestellt ist, nimmt die Pufferschaltung 43 für das niedrige Band 4-dimensionale Eingangssignale L, die als γ1L veranschaulicht sind, für jeden Kompressionsverarbeitungseinheit-Block 8 für das niedrige Band aus vier Blöcken der Mittelwerte u der Kompressionsverarbeitungseinheit-Blöcke 7 auf. Die Eingangssignale L werden z. B. so eingestellt, dass sie eine Auflösung von 256 Graustufen aufweisen.
- In einem Schritt β1L wird der Mittelwert uL der Eingangssignale L berechnet, und die Mittelwert-Berechnungsschaltung 11L für das niedrige Band gibt als γ2L veranschaulichte Mittelwertsignale aus.
- Indessen werden die Codewörter 1 bis 32, wie sie in jedem Skalarproduktwert-Berechnungsabschnitt RLφ (φ = 32) durch die Kondensatoren für die normierten Codekomponenten, wie als γ4L veranschaulicht, realisiert werden, in der Skalarproduktwert-Berechnungsschaltung 12L erzeugt. Die Skalarproduktwerte der Eingangssignale L mit jeden der Codewörter 1 bis 32 werden vom Skalarproduktwert-Berechnungsabschnitt β3L berechnet. Zu den Ergebnissen der Berechnung werden die Korrekturwerte für den Quantisierungsfehler, wie entsprechend dem Mittelwert uL erzeugt, wie durch γ6L veranschaulicht, addiert, um die Skalarproduktwerte ( , φ) zu erhalten.
- Indessen wird, in einem Schritt β7L, wie im Schritt β7b, die Polarität des Skalarproduktwerts ( , φ) invertiert, und der invertierte und der nicht invertierte Wert werden miteinander verglichen, um den Absolutwert ( , φ) des Skalarproduktwerts zu erhalten. In einem Schritt β4L wird, wie im Schritt β4, der maximale Skalarproduktwert ermittelt, und es werden der zugehörige maximale Skalarproduktwert PL und der Index IL erhalten. In einem Schritt β6L werden, wie es durch γ5L veranschaulicht ist, z. B. der Mittelwert uL von 5 Bits, der Index IL von 5 Bits, der maximale Skalarproduktwert PL von 4 Bits und der Code fL des maximalen Skalarproduktwerts von 1 Bit pro 144 Pixel ausgegeben.
- Wie oben erörtert, empfängt die Vorrichtung zur Bildkompression 1b auch den Mittelwert u jedes Kompressionsverarbeitungseinheit-Blocks 7 als Eingangsvektor L für jeden Kompressionsverarbeitungseinheit-Block 8, führt die normierte Vektorquantisierung mit mittlerem Abstand aus und gibt die Ergebnisse aus. Daher kann die Datenmenge mit dem Mittelwert u komprimiert werden, ohne die Bildqualität zu beeinträchtigen. Anders gesagt, wurde die Datenmenge beim in der Fig. 15 dargestellten Beispiel pro 144 Pixel auf 15 Bits komprimiert, wohingegen die Datenmenge beim oben erörterten, in der Fig. 4 dargestellten Beispiel pro 36 Pixel auf 5 Bits komprimiert wurde.
- Bei den obigen Ausführungsformen wird die Berechnung für die Mittelwerte, die Skalarproduktwerte usw. durch analoge Schaltkreise ausgeführt. Jedoch kann, als andere Ausführungsform der Erfindung, eine digitale Schaltungsanordnung die Berechnung nach dem Umsetzen des eingegebenen Bildsignals von einem analogen in ein digitales Signal ausführen. Darüber hinaus kann die Maximalausgangswert-Ermittlungsschaltung 21, an Stelle der in der Fig. 3 dargestellten Anordnung, eine andere Anordnung verwenden: z. B. die Anordnung, wie sie in der von derselben Erfindern wie der vorliegenden Erfindung zuvor eingereichten japanischen Patentanmeldung Nr. 7-125372/1995 (Tokuganhei 7-125372) vorgeschlagen ist.
Claims (10)
1. Vorrichtung zur Bildkompression zum Empfangen von Bildsignalen als
Eingangsvektor für jeden vorbestimmten Kompressionsverarbeitungseinheit-
Block (7) und zum Komprimieren der Bildsignale durch ein normiertes
Vektorquantisierungsverfahren mit mittlerem Abstand (mean-separated normalized
vector quantization method), mit:
- mehreren Skalarproduktwert-Berechnungsabschnitten (12, 12a) zum Berechnen
von Skalarproduktwerten aus einem Differenzkomponentevektor und jedem
Codewort, wobei der Differenzkomponentevektor dadurch erzeugt wird, dass der
Mittelwert von Vektorkomponenten des Eingangsvektors von jeder der
Vektorkomponenten subtrahiert wird, und wobei das Codewort aus Bildsignalen
mehrerer Arten vorbestimmter Bilder für Lernvorgänge erzeugt wird;
- einem Skalarwert-Quantisierungsabschnitt (14, 15) zum Skalar-Quantisieren
des Mittelwerts und eines maximalen Skalarproduktwerts;
- einem Codierabschnitt (16) zum Codieren einer Kennungsnummer eines der
Codewörter, wobei das Codewort den maximalen Skalarproduktwert mittels
Berechnung durch den Skalarproduktwert-Berechnungsabschnitt liefert;
- einem Komparatorabschnitt (17) zum Beurteilen, ob der maximale
Skalarproduktwert nicht kleiner als ein vorbestimmter Schwellenwert ist; und
- einem Ausgangssignal-Auswählabschnitt (18, 18b) zum Ausgeben,
entsprechend der Beurteilung durch den Komparatorabschnitt, des
Quantisierungscodes des Mittelwerts vom Skalarwert-Quantisierungsabschnitt (14), des
Quantisierungscodes des maximalen Skalarproduktwerts vom
Skalarwert-Quantisierungsabschnitts (15) und des Kennungscodes des Codeworts vom
Codierabschnitt (16), wenn der maximalen Skalarproduktwert nicht kleiner als der
Schwellenwert ist, und zum Ausgeben nur des Quantisierungscodes des
Mittelwerts, wenn der maximale Skalarproduktwert kleiner als der Schwellenwert
ist, gemeinsam mit den Codedaten der Beurteilung.
2. Vorrichtung zur Bildkompression nach Anspruch 1, bei der jeder
Skalarproduktwert-Berechnungsabschnitt (12, 12a) einen Korrekturkondensator zum
Korrigieren eines Quantisierungsfehlers eines Codebuchs enthält.
3. Vorrichtung zur Bildkompression nach einem der Ansprüche 1 oder 2,
ferner mit:
- einem Mittelwert-Berechnungsabschnitt (11) zum Berechnen des Mittelwerts
der Vektorkomponenten des Eingangsvektors;
- einem Mittelwert-Abtrennabschnitt zum Subtrahieren des berechneten
Mittelwerts von jeder der Vektorkomponenten des Eingangsvektors, um einen
Differenzkomponentevektor zu erzeugen;
- einem Speicherabschnitt zum Speichern von Vektoren für Lernvorgänge, die
aus Bildsignalen mehrerer Arten vorbestimmter Bilder für Lernvorgänge
erzeugt werden, als Codewörter; und
- einem Maximalskalarproduktwert-Ermittlungsabschnitt (13) zum Ermitteln
eines der Codewörter, das bei Berechnung den maximalen Skalarproduktwert
ergibt.
4. Vorrichtung zur Bildkompression nach einem der Ansprüche 1 bis 3,
ferner mit:
- einem Puffer (43) für ein niedriges Band zum Erzeugen eines Vektors für
das niedriges Band für jeden Kompressionsverarbeitungseinheit-Block für das
niedriges Band aus mehreren Kompressionsverarbeitungseinheit-Blöcken durch
Empfangen der Mittelwerte mit einem vorbestimmten Zyklus; und
- einem Vektorquantisierabschnitt (44) für das niedrige Band zum Vektor-
Quantisieren des Vektors für das niedrige Band durch das normierte
Vektorquantisierungsverfahren mit mittlerem Abstand;
- wobei der Ausgangssignal-Auswählabschnitt (18b) einen Quantisierungscode
des Mittelwerts für das untere Band, ein Quantisierungscode des maximalen
Skalarproduktwerts für das untere Band und einen Kennungscode für das
untere Band, d. h. eine Kennungsnummer für dasjenige Codewort, das den maximalen
Skalarproduktwert für das untere Band liefert, ausgibt.
5. Vorrichtung zur Bildkompression nach Anspruch 4, bei der der Puffer
(43) für das niedrige Band Folgendes aufweist:
- ein Schieberegister (51) zum Verschieben eines Steuersignals und zum
Ausgeben des Steuersignals als Triggersignale auf sequenzielle Weise; und
- mehrere Abtast/Halte-Schaltungen (52) zum Abtasten und Halten des
Mittelwerts entsprechend den Triggersignalen vom Schieberegister;
- wobei der Vektorquantisierabschnitt (44) für das niedrige Band Folgendes
aufweist:
-- weitere Skalarproduktwert-Berechnungsabschnitte (12L);
-- einen weiteren Skalarwert-Quantisierabschnitt (14L, 15L); und
-- einen weiteren Codierabschnitt (16L).
6. Vorrichtung zur Bildkompression nach Anspruch 4, bei der der
Ausgangssignal-Auswählabschnitt (18b) selektiv den Quantisierungscode des
Mittelwert, den Quantisierungscode des Mittelwerts für das niedrige Band, wie
durch weitere Vektor-Quantisierung des Mittelwerts durch das normierte
Vektorquantisierungsverfahren mit mittlerem Abstand erhalten, den Quantisierungscode
des maximalen Skalarproduktwerts für das niedrige Band und den
Kennungscode für das niedrige Band ausgibt.
7. Vorrichtung zur Bildkompression nach Anspruch 2, bei der jeder der
Skalarproduktwert-Berechnungsabschnitte (12, 12a) einen Verstärker und
Kondensatoren entsprechend Codekomponenten eines der Codewörter aufweist;
- wobei jeder der Skalarproduktwert-Berechnungsabschnitte
Skalarproduktwerte des Eingangsvektors und eines der Codewörter auf parallele Weise für
jedes der Codewörter dadurch berechnet, dass Eingangssignale für mehrere
Kanäle entsprechend den Vektorkomponenten an einem Anschluss jedes der
Kondensatoren eingegeben werden und die anderen Anschlüsse der
Kondensatoren gemeinsam mit dem Verstärker verbunden werden.
8. Vorrichtung zur Bildkompression nach Anspruch 7, bei der:
- die Kapazitäten der Kondensatoren mit einem den quantisierten
Codekomponenten entsprechenden Kapazitätsverhältnis eingestellt sind; und
- das Produkt aus der elektrostatischen Kapazität eines
Korrekturkondensators und dem Mittelwert dem Verstärker als Korrekturwert zugeführt wird.
9. Vorrichtung zur Bildkompression nach einem der Ansprüche 1 bis 3,
ferner mit:
- einem Eingangsvektor-Invertier/Auswähl-Abschnitt (41) zum Invertieren der
Polarität des Eingangsvektors und zum selektiven Umschalten zwischen dem
invertieren und dem nicht invertierten Wert, um diese auszugeben; und
- einem Inverter- und Komparatorabschnitt (42) zum Vergleichen,
entsprechend dem Umschaltvorgang des Eingangsvektor-Invertier-Auswähl-Abschnitts,
der vom Skalarproduktwert-Berechnungsabschnitt unter Verwendung des nicht
invertierten und des invertierten Werts berechneten beiden
Skalarproduktwerten miteinander, und zum Ausgeben des größeren der beiden sowie des
Codes dieses größeren Skalarproduktwerts.
10. Vorrichtung zur Bildkompression nach einem der Ansprüche 1 bis 3, bei
der das Codewort einer von mehreren Vektoren für Lernvorgänge ist, die
entsprechend eingegebenen Bildsignalen erhalten werden, wobei der Vektor
für Lernvorgänge eine größere Ordnung als ein vorbestimmter Schwellenwert
und eine große Änderung in Bildern in den Kompressionsverarbeitungseinheit-
Blöcken aufweist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16268795 | 1995-06-28 | ||
JP13727296A JP3408924B2 (ja) | 1995-06-28 | 1996-05-30 | 画像圧縮装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69618290D1 DE69618290D1 (de) | 2002-02-07 |
DE69618290T2 true DE69618290T2 (de) | 2002-08-22 |
Family
ID=26470640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69618290T Expired - Lifetime DE69618290T2 (de) | 1995-06-28 | 1996-06-26 | Vorrichtung zur Bildkompression |
Country Status (4)
Country | Link |
---|---|
US (1) | US5845016A (de) |
EP (1) | EP0751686B1 (de) |
JP (1) | JP3408924B2 (de) |
DE (1) | DE69618290T2 (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836491B2 (en) * | 2000-04-26 | 2010-11-16 | Semiconductor Energy Laboratory Co., Ltd. | System for identifying an individual, a method for identifying an individual or a business method |
KR100771258B1 (ko) * | 2000-05-09 | 2007-10-29 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 본인 인증 시스템과 본인 인증 방법 및 휴대 전화 장치 |
US20020049714A1 (en) * | 2000-05-11 | 2002-04-25 | Shunpei Yamazaki | Communication system |
US7760713B2 (en) * | 2004-10-15 | 2010-07-20 | Tran Bao Q | Camera-phone barcode scanning support |
US8391549B2 (en) * | 2009-06-08 | 2013-03-05 | Raytheon Company | Methods and systems for processing data using product-law symmetry detection |
ES2715704T3 (es) | 2011-03-09 | 2019-06-05 | Nec Corp | Dispositivo de decodificación de vídeo, método de decodificación de vídeo y programa de decodificación de vídeo |
US20140324742A1 (en) * | 2013-04-30 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Support vector machine |
USD1027218S1 (en) | 2023-02-16 | 2024-05-14 | Hollman Family Advisors, LLC | Secure work pod |
USD1027216S1 (en) | 2023-04-27 | 2024-05-14 | Hollman Family Advisors, LLC | Secure work pod |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6225577A (ja) * | 1985-07-26 | 1987-02-03 | Fujitsu Ltd | 適応型ベクトル量子化方式 |
WO1988002975A1 (en) * | 1986-10-16 | 1988-04-21 | Mitsubishi Denki Kabushiki Kaisha | Amplitude-adapted vector quantizer |
EP0625854A1 (de) * | 1987-04-28 | 1994-11-23 | Mitsubishi Denki Kabushiki Kaisha | System zur Bildcodierung und -decodierung |
US4910608A (en) * | 1988-12-09 | 1990-03-20 | Harris Corporation | Imagery data compression mechanism employing adaptive vector quantizer |
JPH0766448B2 (ja) * | 1991-06-25 | 1995-07-19 | 富士ゼロックス株式会社 | 画像信号分析装置 |
-
1996
- 1996-05-30 JP JP13727296A patent/JP3408924B2/ja not_active Expired - Fee Related
- 1996-06-26 DE DE69618290T patent/DE69618290T2/de not_active Expired - Lifetime
- 1996-06-26 EP EP19960110324 patent/EP0751686B1/de not_active Expired - Lifetime
- 1996-06-27 US US08/673,720 patent/US5845016A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0751686A3 (de) | 1999-11-17 |
JPH0974558A (ja) | 1997-03-18 |
US5845016A (en) | 1998-12-01 |
EP0751686A2 (de) | 1997-01-02 |
EP0751686B1 (de) | 2002-01-02 |
JP3408924B2 (ja) | 2003-05-19 |
DE69618290D1 (de) | 2002-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68926876T2 (de) | Vorrichtung zur Vektorquantisierung von Bildern | |
DE69511390T2 (de) | Quellencodierer mit voreingestellter qualität | |
DE69129595T2 (de) | Systeme und Verfahren zur Kodierung alternierender Halbbilder in Zeilensprungbildsequenzen | |
DE19506164C2 (de) | Verfahren zum Komprimieren eingegebener Symbole in Codeworte | |
DE69132063T2 (de) | Bildcodierung mit Optimierung der erzeugten Codemenge | |
DE69332584T2 (de) | Verbesserte vorverarbeitung und nachverarbeitung von vektorquantifizierung | |
DE69015695T2 (de) | Einrichtung zur Transformationskodierung. | |
DE3789857T2 (de) | System zur Komprimierung von Bildern mit mehreren Graustufen. | |
DE3851468T2 (de) | Kodierungsverfahren von Bildsignalen. | |
DE69123991T2 (de) | Bildverarbeitung mit neuronalem Netzwerk | |
DE3751416T2 (de) | Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms. | |
DE69226674T2 (de) | Kodierung von komprimierten Datenbildern mit hohem Wirkungsgrad | |
DE69925774T2 (de) | Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren | |
DE69606441T2 (de) | Videodatenkodierer und -dekodierer | |
DE69232824T2 (de) | Dekoder | |
DE69227533T2 (de) | Bildverarbeitungsverfahren und -gerät | |
DE4242796C2 (de) | Hocheffizientes Kodierverfahren für mit Zweipegelbildern vermischte natürliche Bilder | |
DE69425847T2 (de) | Rechner für die inverse diskrete Cosinus-Transformation | |
DE69126940T2 (de) | Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung | |
DE69031638T2 (de) | System zum Übertragen von Bildinformation | |
DE68925516T2 (de) | Wirksames Kodierungsverfahren und zugehöriges Dekodierungsverfahren | |
DE3109795A1 (de) | Bandeinengungsverfahren fuer getoente bilder | |
DE2124754A1 (de) | Verfahren und Vorrichtung zur digitalen Differenz-Pulscodemodulation | |
DE69618290T2 (de) | Vorrichtung zur Bildkompression | |
DE4442643B4 (de) | Verfahren zum Abschätzen der Bewegung in einem Bewegtbild |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |