DE69225652T2 - Einrichtung zur Bildkodierung - Google Patents
Einrichtung zur BildkodierungInfo
- Publication number
- DE69225652T2 DE69225652T2 DE1992625652 DE69225652T DE69225652T2 DE 69225652 T2 DE69225652 T2 DE 69225652T2 DE 1992625652 DE1992625652 DE 1992625652 DE 69225652 T DE69225652 T DE 69225652T DE 69225652 T2 DE69225652 T2 DE 69225652T2
- Authority
- DE
- Germany
- Prior art keywords
- values
- image
- value
- variable
- image coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000001174 ascending effect Effects 0.000 claims description 17
- 238000013139 quantization Methods 0.000 claims description 10
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000001131 transforming effect Effects 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/98—Adaptive-dynamic-range coding [ADRC]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N5/926—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation
- H04N5/9261—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Description
- Diese Erfindung bezieht sich auf eine Einrichtung zur Blldkodierung, die sich zeitlich verändernde Bilder mit einer hohen Effizienz kodleren kann.
- In den vergangenen Jahren wurde eine Einrichtung zur Blldkodierung vorgeschlagen, die ein Kodierungsverfahren verwendet, das ein digitales sich zeitlich veränderndes Bild in einer Ebene des Bildes, wie z.B. einem Halbbild oder einem Vollbild, in kleine Blöcke in einem festen Bereich teilt und die Informationsbeträge adaptiv an die kleinen Blöcke verteilt.
- Als Beispiel des zuvor aufgeführten Kodierungsverfahrens wurde es in Erwägung gezogen. daß Blöcke mit einer kleinen Varianz mit kleinen Bitzahlen kodiert werden und Blöcke mit einer großen Varianz mit großen Bitzahlen kodiert werden, wenn jeder Transformationskoeffizient durch die Transformation jedes Blocks mit einer zweidimensionalen orthogonalen Transformation quantisiert wird.
- Bei der Kodierung von sich zeitlich verändernden Bildern, im besonderen bei der Kodierung eines Videorecorders (Video Tape Recorder = VTR) eines digitalen Systems, ist es nötig, jedes Vollbild durch eine feste Quantität von Codes zu kodieren. Bis jetzt ist es wichtig, eine Quantität der Daten adequat einzustellen.
- In der folgenden Beschreibung wird ein Verfahren zur Einstellung einer Datenquantität detailliert beschrieben, welches in der zuvor aufgeführten Einrichtung zur Kodierung verwendet wird.
- Es wird ein Weg betrachtet, einen Wert von einer Zahl 0, 1,2 L-1 (L ist eine positive Ganzzahl) als Zuwelsungsfunktionswert der Bltanzahl zu jedem Block zuzuweisen.
- Eine anfängliche Zuweisung der Bitanzahl wird erhalten, indem die Gleichung (1) entsprechend der Varianz in jedem Block und/oder eines Werts des Dynamikbereichs verwendet wird.
- b&sub0;(i) = f(v (i)) ... (1)
- wobei i eine Nummer, d.h. einen Index, eines Blocks darstellt (1 = 0, 1, ..., N- 1; mit N als Gesamtanzahl der Blöcke), b&sub0;(i) eine anfängliche Bitzuweisungsfunktion darstellt, f(x) eine monoton ansteigende Funktion von x darstellt und v(i) die Varianz in dem Block und/oder dem Dynamikbereich darstellt.
- Zum Beispiel wird die Gleichung (2) als die monoton ansteigende Funktion f(x) verwendet, wenn v(i) die Datenvarianz in dem Block ist, und die Gleichung (3) wird als die monoton ansteigende Funktion f(x) verwendet, wenn v(i) der Dynamikbereich von Bildpunktwerten in dem Block ist.
- f(x) = a*ln(x) ... (2)
- f(x) = a*x ... (3)
- wobei der Faktor a eine Konstante darstellt.
- Die zuvor aufgeführte anfängliche Zuweisungsfunktion der Bltanzahl b&sub0;(i) stellt relativ eine Quantität von Information in einem i-ten Block dar und Werte der anfänglichen Zuweisungsfunktion der Bitanzahl b&sub0;(i) sind im allgemeinen keine ganzzahligen Werte und existieren manchmal auch nicht im Bereich der Werte von 0 bis L- 1. Auch ist die Gesamtsumme von b&sub0;(i) in einem Halbbild nicht festgesetzt.
- Um die Zuweisung der Bitanzahl auf ganzzahlige Werte von 0 bis L- 1 zu beschränken und die Gesamtsumme konstant werden zu lassen, ist es nötig, die anfängliche Bitzuweisungsfunktion b&sub0;(i) so zu modifizieren, daß sie der Gleichung (4) genügt.
- Das zuvor aufgeführten Modifizierungsverfahrens wird nachfolgend kurz beschrieben.
- Wie in der Gleichung (4) gezeigt ist, ist die Gesamtsumme der Bits eine Funktion des Parameters A, wenn die Anzahl der Bits als Funktion eines Parameters A dargestellt wird, wie es in der Gleichung (5) gezeigt ist. Hier ist Q(x) eine Quantisierungsfunktion zur Quantisierung der Werte von x in L einheitliche Pegel, wie es in der Fig. 6 gezeigt ist.
- Wenn der Parameter A so ausgewählt wird, daß die Bitquantität B(A) gleich zu einer festgesetzten Gesamtbitquantität B ist, und anschließend die jeweilige Bitanzahl entsprechend der Gleichung (4) zu jedem Block zugewiesen wird, kann eine genaue Bltquantitätssteuerung ausgeführt werden.
- Wenn die Koeffizienten a(i, j), die durch die Gleichung (6) definiert sind und die in eine aufsteigende Reihenfolge umgeordnet wurden, als S(k) bezeichnet werden (k ist eine kleinere Ganzzahl als N * (L- 1)), so verhält sich die Bitquantltät B(A) wie in der Fig. 7 gezeigt.
- a(i,j) = -b&sub0;(i) + 1/2 +j ... (6) wobei i = 0, 1 N-1; j = 0, 1, ..., L-2.
- ist m2 = 0, so ergibt sich die Gleichung (7) zu:
- dl = [S(B) - S(B - 1)1/2 ... (7)
- Ist aus den (m1+m2) anfänglichen Bitzuweisungsfunktionen b&sub0;(i), die der Gleichung (8) genügen, m2 > 0,
- a(i, j) = S(B - 1) ... (8) so werden m2 Funktionen b&sub0;(i), um den in der Gleichung (9) beschriebenen Betrag reduziert,
- d2 = [S(B + m2) - S(B + m2 -1 )] ... (9)
- und d1 stellt sich durch die folgende Gleichung (10) dar,
- d1 = d2/2 ... (10)
- wobei ein gewünschter Parameter A entsprechend der Gleichung (11) erhalten wird.
- A=S(B- 1)+d1, ... (11)
- Die Funktion b(i, A) wird unter Verwendung des so erhaltenen Parameters A durch die zuvor aufgeführte Gleichung (4) berechnet. Durch das Setzen dieser Funktion wird eine Bitzuweisung erhalten, mit der B als gesamte Bitquantität erzielt wird.
- Bei dem Modifikationsverfahren, das von der zuvor aufgeführten Einrichtung zur Bildkodierung verwendet wird, muß eine Anzahl von N x (L-1) Umordnungen in eine aufsteigende Reihenfolge durchgeführt werden. Wird ein aus 512 x 512 Bildpunkten bestehendes Bild zum Beispiel in Blöcke von 8 x 8 Bildpunkten geteilt, so beträgt die Gesamtzahl N von Blöcken 4.096 und mit L = 8 ergibt sich N x (L-1) zu 28.672 und eine große Anzahl von Zahlen muß für jede Kodierung umgeordnet werden, wodurch eine großzügig ausgelegte Hardware benötigt wird.
- Die EP-A-0 409 602 offenbart eine hocheffiziente Einrichtung zur Kodierung digitaler Videodaten in einem Blockformat. Diese Einrichtung wählt entsprechend eines Histogramms eines angelegten Bildes ein Set von Schwellwerten (T1, T2, T3 und T4) aus vorbereiteten Wertesets aus, wonach ein Parametercode P bestimmt wird. Jeder der Werte in dem Set von Schwellwerten (T1, T2, T3 und T4) korrespondiert zu einem Dynamikbereich der Bildpunktwerte in dem Block. Die zugewiesene Anzahl n codierter Bits wird auf Grundlage des Verhältnisses des Umfangs zwischen dem Dynamlkbereich (DR) und dem Set von Schwellwerten (T1 bis T4) bestimmt.
- Die EP-A-0 385 654 offenbart eine hocheffiziente Einrichtung zur Kodierung von AC-Komponenten in einem aus sieben vorbereiteten Modi ausgewählten Modus (Modus 1 bis Modus 7). Der Modus wird so ausgewählt, daß die Anzahl der Übertragungsbits pro Halbbild einen bestimmten Wert für ein Objekt nicht überschreitet. Das in der Fig. 10A gezeigte Histogramm wird zum Erhalten des akkumulierten Graphen verwendet und die Fig. 10B wird verwendet, um die Anzahl der zu sendenden Unterblöcke zu bestimmen.
- Dieser Erfindung liegt demzufolge die Aufgabe zugrunde, eine Einrichtung zur Bildkodierung anzugeben, bei der beim Kodieren nur bestimmte Nummern umgeordnet werden müssen und die einen kompakten Aufbau einer Hardware erlaubt.
- Die dieser Erfindung zugrundeliegende Aufgabe kann durch eine Einrichtung zur Bildkodierung gelöst werden, die ein angelegtes digitales Bildsignal in ein kodiertes Ausgangsbildsignal wandelt, indem das Bildsignal in eine Mehrzahl aus Bildpunktwertsignalen bestehende Blöcke geteilt wird, die dadurch gekennzeichnet ist, daß die Einrichtung aufweist: eine Einheit zur Zuweisung eines Anfangswertes der Informationsverteilung zu jedem der Blöcke als eine Funktion von Bildpunktwertsignalen, und zum Erhalten einer Klassifizierungstabelle k(m, j), die aufsteigende Klassifizierungswerte von Klassifizierungen k anzeigt, die jeweils auf Grundlage eines Werts einer Variablen berechnet wurden, die sich auf den Anfangswert der Informationsverteilung bezieht; wobei m = 0, 1 M- 1, j = 0, 1, ... L-2, mit M als Anzahl der zuweisbaren Anfangswerte der Informationsverteilung und L als Anzahl von Bitzuweisungswerten, die in einem Bereich von 0 bis L-1 laufen und dem Anfangswert der Informationsverteilung zuweisbar sind; eine Einheit zur Erzeugung eines Histogramms der Klassifizierungen k entsprechend aufsteigenden Klassifizierungswerten unter Verwendung der Klassifizierungstabelle k(m, j). wobei eine Klasse k(m, j) eine beginnend mit dem kleinsten Wert der Variablen in einer aufsteigenden Reihenfolge gezählte Klasse ist; eine Einheit zur Bestimmung eines Parameters k' aus dem Histogramm, um für jeden der Blöcke die Anzahl der im Ausgangsbildsignal enthaltenen kodierten Bits zu kontrollieren, wobei der Parameter k' eine minimale Klasse ist, bei der eine akkumulierte Wertsumme des Histogramms gleich zu einer gesamten Bitzahl ist oder diese übersteigt, und wobei die Bitzuweisung wie folgt gewählt ist:
- für k' (k(m, 0),
- j+1 (1 = 0, 1, ..., L-3) für k(m, j) ≤ k' < k(m, j+1),
- L-1 für k(m, L-2) ≤ k'.
- Diese Variable ist vorzugsweise eine Variable A(m, j), die sich unabhängig von dem angelegten Blldslgnal zu:
- A(m, j) = -β(m) + 1/2 +j
- ergibt, wobei m = 0, 1 M-1, j = 0, 1 L-2, β(m) die einem bestimmten Block anfänglich zugewiesenen Bits ist und L und M Ganzzahlen sind.
- Weiter vorzugsweise ist die Zuweisungseinhelt eine arithmetische Einheit, um Quantisierungsindices zu berechnen, indem akkumullerte Werte der Variablen auf bestimmte Pegel quantisiert werden.
- Weiter vorzugsweise ist die Erzeugungseinheit ein Zähler zur Erzeugung von Histogrammen von akkumulierten Werten der Variablen in einem vorgegebenen Bereich des Bildes.
- Der vorgegebene Bereich ist vorzugsweise ein Halbbild, ein Vollbild oder ein anderer Bereich in einem Bild.
- Noch weiter vorzugsweise enthält die Bestimmungseinheit einen Akkumulator, um einen minimalen akkumulierten Wert der Variablen zu erhalten, der einem bestimmten Gleichungsausdruck genügt, während das erzeugte Histogramm in aufsteigender Reihenfolge der Werte der Variablen akkumuliert wird.
- Die Bestimmungseinheit enthält weiter vorzugsweise eine Bitzuweisungseinheit, um entsprechend von Minimalwerten der Variablen, die von dem Akkumulator erhalten wurden, zu jedem der Blöcke in einem festgesetzten Bereich des Bildes Bits zuzuweisen.
- Während des Betriebs berechnet die arithmetische Betriebseinheit einen Vertellungswert des Informationsbetrags über jeden Block als eine Funktion von Bildpunktwerten, die Einheit zur Erzeugung von Histogrammen, die an die arithmetische Betriebseinheit angeschlossen ist, quantisiert die Vertellungswerte der Informationsbeträge und erzeugt dadurch ein Histogramm und die Einheit, die einen Parameter entsprechend eines Werts einer Variablen entscheidet, die einer bestimmten Gleichung genügt, wobei der Wert der der Gleichung genügenden Variablen gefunden wird, während Werte der Variablen akkumuliert werden, die das Histogramm in einer aufsteigenden Reihenfolge der Werte bilden.
- Demzufolge ist es nicht nötig, die Werte des Histogramms in eine aufsteigende Reihenfolge umzuordnen, wodurch die Größe der Hardware reduziert werden kann.
- Fig. 1 zeigt ein Blockschaltbild eines Aufbaus einer Ausführungsform einer Einrichtung zur Bildkodierung nach dieser Erfindung;
- Fig. 2 zeigt ein Flußdiagramm zur Erläuterung des Betriebsablaufs des in der Fig. 1 gezeigten Zählers;
- Fig. 3 zeigt ein Flußdiagramm zur Erläuterung des Betriebsablaufs des in der Fig. 1 gezeigten Akkumulators;
- Fig. 4 zeigt ein Beispiel eines Graphen, des von dem in der Fig. 3 gezeigten Akkumulator ausgegebenen Signals;
- Fig. 5 zeigt ein Flußdiagramm zur Erläuterung eines Betriebsablaufs der in der Fig. 1 gezeigten Bitzuweisungseinheit;
- Fig. 6 zeigt einen Graphen der Quantisierungsfunktion Q(x); und
- Fig. 7 zeigt einen Graphen der Beziehung zwischen dem Parameter A und der gesamten Bitanzahl.
- Unter Bezugnahme auf die beigefügten Zeichnungen wird eine Ausführungsform einer Einrichtung zur Bildkodierung nach dieser Erfindung detailliert beschrieben.
- Die Fig. 1 zeigt ein Blockschaltbild einer Anordnung einer Ausführungsform der Einrichtung zur Bildkodierung nach dieser Erfindung.
- Wie in der Fig. 1 gezeigt, enthält die Einrichtung zur Bildkodierung eine arithmetische Betriebseinheit 10, die als arithmetisches Mittel zur Berechnung von Quantisierungsindices durch die Quantisierung von Variablen auf bestimmte Pegel dient, einen an die arithmetische Betriebseinheit 10 angeschlossenen Zähler 11, der als Mittel zur Erzeugung von Histogrammen von Variablen in einem festen Bereich eines Bildes dient, wie z.B. eines angelegten Halbbildes, Vollbildes oder anderen Bereichs in einem Bild, einen an den Zähler 11 angeschlossenen Akkumulator 12, der als Teil des Mittels zur Bestimmung von Parametern dient, um eine minimale Variable zu erhalten, die einem bestimmten Gleichungsausdruck genügt, während das erzeugte Histogramm in einer ansteigenden Reihenfolge der Variablen akkumuliert wird, und eine an den Akkumulator 12 angeschlossene Bitzuweisungseinheit 13, die als anderer Teil des Mittels zur Entscheidung der Parameter dient, um entsprechend der von dem Akkumulator 12 erhaltenen minimalen Variablen Bits zu jedem Block in dem festen Bereich des Bildes zuzuweisen, wie z.B. ein Halbbild, ein Vollbild oder ein anderer Bereich in einem Bild.
- Jedes der zuvor aufgeführten Bauteile wird noch detaillierter beschrieben.
- Zunächst wird nachfolgend ein Betrieb der arithmetischen Betriebseinheit 10 beschrieben.
- Ist die Anzahl der unterschiedlichen Arten der anfänglichen Bitzuweisungsfunktion b&sub0;(i), die eine anfängliche Bitzuweisung anzeigt (nachfolgend als die Funktion bezeichnet) M (M ist eine positive Ganzzahl, die eine Bedingung M > L erfüllt), so wird der m-te Wert durch β(m) bezeichnet, wie es in der Gleichung (12) beschrieben ist.
- b&sub0;(i) {β(m) m = 0, 1, ..., M-1} ... (12)
- Dieses ist äquivalent mit der Quantisierung der Funktion b&sub0;(i) auf M Pegel. Zum Beispiel gibt es in einem digitalen Bild, in dem jeder Bildpunkt durch 8 Bit dargestellt wird, bei der entsprechend der zuvor aufgeführten Gleichung (3) erhaltenen anfänglichen Bitzuweisung unter Verwendung der Dynamikbereiche der Bildpunktwerte in einem Block M = 256 Arten der Funktion b&sub0;(i), da 256 Arten von Dynamikbereichen existieren. Zum Beispiel können die Arten M durch eine hinsichtlich der Pegel weitaus grobere Quantisierung auf 32 gesetzt werden.
- Auch wenn die anfängliche Bitzuweisung unter Verwendung einer Varianz der Bildpunktwerte in einem Block entsprechend der Gleichung (2) erhalten wird, ist es nur nötig, die Funktion b&sub0;(i) mit adäquaten Pegelanzahlen zu quantisleren.
- Die durch die zuvor aufgeführte Gleichung (6) definierte Variable a(i, j) wird ein Wert, der gleich zu einem jeglichen der Variablen A(m, j) der Gleichung (13) ist.
- A(m,j) = -β(m) + 1/2 +j ... (13)
- wobei m = 0, 1, ..., M-1, und j = 0, 1 L-2.
- Eine in einer aufsteigenden Reihenfolge von den kleinsten Werten der Variablen A(m, j) gezählte Klasse wird als die Klasse k(m, j) gesetzt (k(m, j) = 0, 1,...).
- Ist jedoch der Wert der Variablen A(m, j) gleich für unterschiedliche (m, j), so wird der Wert der Klasse k(m, j) gleichgesetzt. Eine diese Klasse k(m, j) zeigende Tabelle muß zuvor vorbereitet werden.
- Die Werte der Variablen A(m, j) können unabhängig von Bildern zuvor berechnet werden. Demzufolge kann die Klasse k(m, j) durch die Umordnung der Werte von M x (L- 1) in eine aufsteigende Reihenfolge beginnend mit dem kleinsten Werten im Vorhinein berechnet werden.
- Wenn die anfängliche Zuweisung von Bits zu einem bestimmten Block als eine Funktion β(m) ausgedrückt wird, zählt der in der Fig. 1 gezeigte Zähler 11 das Histogramm hlst(k(m, j)) für j = 0, 1, ..., L-2. Er führt diese Berechnung hinsichtlich jedes Blocks aus.
- In Bezug auf die Fig. 2 wird ein Betriebsablauf des Zählers 11 beschrieben.
- Der Zähler 11 wird mit den Schritten der Initialisierung des Histogramms hist (k) und dem anschließenden Setzen der Blocknummer i als i = 0 (Schritt S1), dem Setzen von j als j = 0 (Schritt S2), und dem Zählen des Histogramms hist (k) durch das Erhalten der Klasse k der Variablen A(m, j) (Schritt S3) betrieben. In der Fig. 2 zeigt m(i) einen Quantisierungsindex der anfänglichen Bitzuweisung des i-ten Blocks an.
- Anschließend wird j = j + 1 gesetzt, indem 1 zu j addiert wird (Schritt S4), es wird bestimmt, ob das im Schritt S4 erhaltene j kleiner als L-1 ist oder nicht (Schritt S5) und wenn das Ergebnis im Schritt S5 JA ist, wenn also j kleiner als L- 1 ist, kehrt der Betriebsablauf in den Schritt S3 zurück, oder wenn das Ergebnis im Schritt S5 NEIN ist, schreitet der Betriebsablauf mit dem Schritt S6 fort.
- Weiter wird i = i + 1 gesetzt, indem 1 zu i addiert wird (Schritt S6), es wird bestimmt, ob das im Schritt S6 erhaltene i kleiner als N ist oder nicht (Schritt S7) und wenn das Ergebnis JA ist, wenn also i kleiner als N ist, kehrt der Betriebsablauf in den Schritt S2 zurück, oder wenn das Ergebnis NEIN ist, wird das Zählen des Histogramms hist(k) beendet.
- Der in der Fig. 1 gezeigte Akkumulator 12 akkumuliert das Histogramm hist(k) in einer ansteigenden Reihenfolge von der kleinsten der Klassen k an und erhält die minimale Klasse k', die die Gleichung (14) erfüllt.
- Der Betrieb des Akkumulators 12 wird in bezug auf ein in der Fig. 3 gezeigtes Flußdiagramm beschrieben.
- Der Akkumulator 12 wird mit den Schritten des Setzens der Klasse k = 0 und des akkumulierten Werts sum = 0 durch die Initialisierung der Klasse k und des akkumulierten Werts sum (Schritt T1), der Berechnung des akkumullerten Werts sum = sum + hist(k) durch die Addition des Histograms hist(k) zu dem akkumulierten Wert sum (Schritt T2), der Bestimmung, ob der im Schritt T2 erhaltene akkumulierte Wert sum gleich oder größer als die gesamte Bitanzahl B ist oder nicht (Schritt T3), der Addition von 1 zu der Klasse k und der Rückkehr in den Schritt 2, wenn im Schritt T3 der akkumulierte Wert sum kleiner als die gesamte Bitanzahl B ist (Schritt T4) oder dem Setzen der Klasse k' = Klasse k und der Beendigung des Vorgangs zum Erhalten der Klasse k' betrieben, wenn der akkumulierte Wert sum gleich oder größer als die gesamte Bitanzahl B ist (Schritt T5).
- Die Fig. 4 ist ein die Beziehung zwischen dem Histogramm hist(k) in der Klasse k der Variablen A(m, j), die gesamte Bitanzahl B und die Klasse k' zeigender Graph. In der Fig. 4 stellt der schraffierte Bereich die gesamte Bitanzahl B dar und m2 kann entsprechend der folgenden Gleichung (15) erhalten werden.
- Die in der Fig. 1 gezeigte Bitzuweisungseinheit 13 weist in dem festen Bereich des Bildes zu jedem Block Bits zu, wie es im folgenden kurz beschrieben wird.
- Wenn das zuvor aufgeführte m2 gleich m2 = 0 ist, dann wird gesetzt, wie die nachfolgend gezeigte Gleichung (16) zeigt.
- d1 = [A(k' + 1) - A(k')] /2 ... (16)
- Der Parameter A(k') zeigt den Wert in der Klasse k' an, wenn die Werte der Variablen A(m, j) in einer aufsteigenden Reihenfolge beginnend mit dem kleinsten Wert umgeordnet sind.
- Wenn unter den Blöcken, die die Gleichung (17) erfüllen, m2 > 0 gegeben ist,
- k(m,j) = k' (17)
- so sind m2 Funktionen b&sub0;(i) um einen durch die Gleichung (18) beschriebenen Betrag reduziert,
- d2 = [A(k' + 1) - A(k')]/2 ... (18),
- und zwar in die Gleichung (19)
- d1 = d2/2 ... (19).
- In diesem Fall ist die folgende Gleichung (20)
- A = A(k') + d1 (20)
- der zu erhaltene Parameter A(k').
- In dem der so erhaltene Parameter A(k') in die zuvor aufgeführte Gleichung (4) eingesetzt wird und das erhaltene Ergebnis als b(i) gesetzt wird, wird die Bitzuweisungsfunktion b(i) der gesamten Bitquantität B erhalten.
- In der Praxis wird die Verteilung der Bits zu jedem Block auf Grundlage der Tabelle 1 durchgeführt. Tabelle 1
- Wenn der Wert von m2 positiv ist, sollte die Bitverteilung des Blocks m2, der die Gleichung (17) für ein j erfüllt, auf einen um 1 kleineren Wert als der entsprechend der Tabelle 1 bestimmte Wert gesetzt werden.
- Der Betriebsablauf der Bitzuweisungseinheit 13 wird in Bezug auf ein in der Fig. 5 gezeigtes Flußdiagramm beschrieben.
- Die Schritte von U1 bis U10 bilden einen Ablauf, um eine Bitzuweisung q(m) hinsichtlich des Quantisierungindexes m der anfänglichen Bitzuweisung entsprechend der Tabelle 1 zu erhalten.
- Für das m, welches die Gleichung (17) erfüllt, wird ein Funktionsflag (m) als flag(m) = 1 gesetzt.
- Die Bitzuweisungseinheit 13 wird mit den Schritten der Initialisierung von m auf m = 0 (Schritt U1), der Initialisierung von j auf j = -1 (Schritt U2), der Bestimmung, ob die Klasse k', die von dem in der Fig. 1 gezeigten Akkumulator 12 erhalten wurde, gleich oder größer als die Klasse k(m, j) und weiter kleiner als die Klasse (m, j+1) ist oder nicht (Schritt U3), des Fortschreitens des Ablaufs in den nachfolgend beschriebenen Schritt U5, wenn das Ergebnis in Schritt U3 JA ist oder der Inkrementation von j um eins auf j = j+ 1, wenn das Ergebnis im Schritt U3 NEIN ist (Schritt U4), der Rückkehr des Ablaufs in den zuvor aufgeführten Schritt U3, um den Bereich der Klasse k' zu überprüfen, des Setzens der Bitzuwelsung q(m) für m auf q(m) = j+1 (Schritt U5) betrieben. Die Werte von k(m, j) für j = -1, j = L-1 werden jeweils wie in den Gleichungen (21) und (22) dargestellt ausgedrückt.
- k(m, -1) = -1, ... (21)
- k(m, L-1) = k(m, L-2) + 1, ... (22).
- Anschließend wird bestimmt, ob die Gleichung (17) erfüllt ist oder nicht (Schritt U6). Wenn entsprechend des Ergebnisses im Schritt U6 die Gleichung (17) erfüllt ist, wird das Funktionsflag (m) auf flag(m) = 1 gesetzt (Schritt U7), oder wenn die Gleichung (17) nicht erfüllt ist, wird das Funktionsflag (m) aufflag(m) = 0 gesetzt (Schritt U8), wonach durch die Addition von 1 zu m, m = m+1 gesetzt wird (Schritt U9), bestimmt wird, ob m kleiner als M ist oder nicht (Schritt U10). Wenn entsprechend des Ergebnisses im Schritt U10 m kleiner als M ist, wird in den Schritt U2 zurückgekehrt oder wenn m nicht kleiner als M ist, wird mit dem Schritt U11 fortgefahren.
- Die nachfolgenden Schritte U11 bis U18 bilden einen Ablauf, um Bits tatsächlich zu jedem Block zuzuweisen.
- Der Ablauf enthält die Schritte der Initialisierung von i (Schritt U11), dem Errechnen von m2 entsprechend der Gleichung 15 (Schritt U12), der Bestimmung, ob m2 positiv ist oder nicht (Schritt U12). Wenn entsprechend des Ergebnisses im Schritt U12 m2 positiv ist, wird als nächstes der später beschriebene Schritt U14 ausgeführt, oder wenn m2 nicht positiv ist, wird mit dem später beschriebenen Schritt U16 fortgefahren, auch (Schritt U13). Weiter wird bestimmt, ob das Funktionsflag (m(i)) gleich 1 ist (Schritt U14). Ist im Schritt U14 das Funktionsflag (m(i)) gleich 1, so wird der um 1 kleinere Wert als der in der Tabelle 1 gezeigte Wert als Bitanzahl zugewiesen (Schritt U15). Ist das Funktionsflag (m(i)) nicht gleich list, so wird die Bitanzahl entsprechend der Tabelle 1 zugewiesen (Schritt U16).
- Nach dem Schritt U15 und dem Schritt U16 wird durch i = i + 1 (Schritt U17) 1 zu 1 addiert, wonach bestimmt wird, ob i kleiner als N ist oder nicht (Schritt U18). Wenn im Schritt U 18 i kleiner als N ist, wird der Ablauf mit dem Schritt U 13 fortgeführt, oder wenn im Schritt U 18 i nicht kleiner als N ist, wird das Verfahren der Zuweisung von Bits zu den Blöcken beendet.
- Bei dem gerade zuvor beschriebenen Verfahren werden bei m2 > 0 die ersten m2 Blöcke aus den Blöcken mit dem Funktionsflag (m(i)) als die Blöcke, die die Anzahl der zuzuweisenden Bits um 1 kleiner gesetzt haben, als die in der Tabelle 1 gegebene Anzahl, ausgewählt, deren flag(m(l)) = list. Jedoch ist es möglich, m2 Blöcke zufällig aus den Blöcken auszuwählen, deren flag(m(i)) gleich zu 1 ist.
- In der zuvor beschriebenen Ausführungsform k wird zu jedem Block als Bitanzahl ein Wert von 0, 1, ..., L- 1 zugewiesen. Jedoch kann dieses Verfahren bei einem Fall angewendet werden, in dem einer der durch die Gleichung (23) beschriebenen Werte gültig ist.
- c, c+d, c+2*d c+(L-1)*d ...(23)
- Das heißt, eine Zuweisung zu dem i-ten Block wird als die Funktion b'(i) gesetzt und die Gesamtanzahl wird auf B' gesetzt.
- Durch die Verwendung des zuvor beschriebenen Verfahrens wird zu jedem Block einer der Werte 0, 1, ..., L-1 als die Funktion b(i) zugewiesen, indem die durch die Gleichung (24) dargstellte Gesamtbitanzahl B erhalten wird. Eine tatsächliche Bitzuweisungsfunktion b'(i) kann durch die Gleichung (25) erhalten werden.
- B - (B' - c*N)/d ... (24)
- b'(i) = b(i)*d+c ... (25)
- In der zuvor erwähnten bekannten Einrichtung zur Kodierung werden die Variablen a(i, j) beginnend mit dem kleinsten Wert in einer aufsteigenden Reihenfolge umgeordnet und der B-te Wert wird erhalten, nachdem sie in einem festgesetzten Bereich berechnet wurden, wie z.B. einem Vollbild oder einem Halbbild.
- Jedoch wird nach dieser Erfindung die zu der Variablen a(i, j) korrespondierende Klasse k erhalten, indem sich auf die Tabelle für die Klassen k(m, j) bezogen wird, die schon zuvor zur Verfügung steht. Weiter wird ein Histogramm hist(k) für die Klasse (k) in dem festen Bereich gebildet, wie z.B. einem Vollblld, Halbbild oder einem anderen Bereich in einem Bild, die akkumulierten Werte des Histogramms hist(k) werden von dem kleinsten Wert berechnet, der Wert k', der der kleinste Wert der Klasse k ist, in der der akkumulierte Wert gleich oder größer als B ist, wird erhalten und anschließend wird durch die Berechnung des Wertes von A, der zu dieser Klasse k' korrespondiert, der Parameter A, der zur Zuweisung der Bitanzahl verwendet wird, erhalten werden, ohne die Variablen a(i, j) bei einer tatsächlichen Kodierung beginnend mit dem kleinsten Wert in einer aufsteigenden Reihenfolge umzuordnen.
Claims (1)
1. Einrichtung zur Bildkodierung, die ein angelegtes digitales Bildsignal in ein
kodiertes Ausgangsbildsignal wandelt, indem das Bildsignal in eine Mehrzahl
aus Bildpunktwertsignalen bestehende Blöcke geteilt wird,
dadurch gekennzeichnet, daß die Einrichtung aufweist:
Mittel (10) zur Zuweisung eines Anfangswertes der Informationsverteilung
zu jedem der Blöcke als eine Funktion von Bildpunktwertsignalen, und zum
Erhalten einer Klassifizierungstabelle k(m, j), die aufsteigende
Klassifizierungswerte von Klassifizierungen k anzeigt, die jeweils auf Grundlage einer Variablen
berechnet wurden, die sich auf den Anfangswert der Informationsverteilung
bezieht;
wobei m = 0, 1, ..., M-1, j = 0, 1, ..., L-2, mit M als Anzahl der zuweisbaren
Anfangswerte der Informationsverteilung und L als Anzahl von Bltzuweisungs
werten, die in einem Bereich von 0 bis L- 1 laufen und dem Anfangswert der
Informationsverteilung zuweisbar sind;
Mittel (11) zur Erzeugung eines Histogramms der Klassifizierungen k
entsprechend aufsteigender Klasslfizierungswerte unter Verwendung der
Klassifizierungstabelle k(m, j), wobei eine Klasse k(m, j) eine beginnend mit dem
kleinsten Wert der Variablen in einer aufsteigenden Reihenfolge gezählte Klasse ist;
Mittel (12, 13) zur Bestimmung eines Parameters k' aus dem Histogramm,
um für jeden der Blöcke die Anzahl der im Ausgangsbildsignal enthaltenen
kodierten Bits zu kontrollieren, wobei der Parameter k' eine minimale Klasse ist,
bei der eine akkumulierte Wertsumme des Histogramms gleich zu einer gesam
ten Bitzahl ist oder diese übersteigt, und wobei die Bitzuweisung wie folgt
gewählt ist:
0 für k' ≤ (k(m, 0),
j+1 (j = 0, 1, ..., L-3) für k(m, j) ≤ k' < k(m, j+1),
L-1 für k(m, L-2) ≤ k'.
2. Einrichtung zur Bildkodierung nach Anspruch 1, dadurch gekennzeichnet,
daß die Variable eine Variable A(m, j) ist, die sich unabhängig von dem
angelegten Bildsignal zu:
A(m,j) = -β (m) + 1/2 +j
ergibt, wobei m = 0, 1, ..., M-1, j = 0,1 , ..., L-2, β (m) die Anzahl der einem
bestimmten Block zugewiesenen Bits ist und L und M Ganzzahlen sind.
13. Einrichtung zur Bildkodierung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß das Mittel (10) zur Zuweisung eine arithmetische Einheit ist, um
Quantisierungsindizes zu berechnen, indem akkumulierte Werte der Variablen
auf bestimmte Pegel quantisiert werden.
4. Einrichtung zur Bildkodierung nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß das Mittel (11) zur Erzeugung ein Zähler zur Erzeugung
von Histogrammen von akkumulierten Werten der Variablen in einem
vorgegebenen Bereich des Bildes ist.
5. Einrichtung zur Bildkodierung nach Anspruch 4, dadurch gekennzeichnet,
daß der vorgegebene Bereich ein Halbbild, ein Vollbild oder ein anderer Bereich
in einem Bild ist.
6. Einrichtung zur Blldkodierung nach einem der Ansprüche 1 bis 5, dadurch
gekennzeichnet, daß das Mittel (12, 13) zur Bestimmung einen Akkumulator
(12) enthält, um einen minimalen akkumulierten Wert der Variablen zu erhalten,
der einem bestimmten Gleichungsausdruck genügt, während das erzeugte
Histogramm in aufsteigender Reihenfolge der Werte der Variablen akkumuliert wird.
7. Einrichtung zur Blldkodierung nach Anspruch 6, dadurch gekennzeichnet,
daß das Mittel (12, 13) zur Bestimmung weiter eine Bitzuweisungseinheit (13)
enthält, um entsprechend von Minimalwerten der Variablen, die von dem
Akkumulator (12) erhalten wurden, zu jedem der Blöcke in einem festgesetzten
Bereich des Bildes Bits zuzuweisen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3217346A JPH0556418A (ja) | 1991-08-28 | 1991-08-28 | 画像符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69225652D1 DE69225652D1 (de) | 1998-07-02 |
DE69225652T2 true DE69225652T2 (de) | 1998-11-26 |
Family
ID=16702739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1992625652 Expired - Fee Related DE69225652T2 (de) | 1991-08-28 | 1992-08-25 | Einrichtung zur Bildkodierung |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0529588B1 (de) |
JP (1) | JPH0556418A (de) |
DE (1) | DE69225652T2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100297830B1 (ko) * | 1996-11-09 | 2001-08-07 | 윤종용 | 영상단위별 비트발생량 조절 장치 및 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2670259B2 (ja) * | 1985-11-29 | 1997-10-29 | ソニー株式会社 | 高能率符号化装置 |
JPH02226886A (ja) * | 1989-02-28 | 1990-09-10 | Sony Corp | データ伝送装置及び伝送方法 |
JP2830111B2 (ja) * | 1989-07-21 | 1998-12-02 | ソニー株式会社 | 高能率符号化装置 |
JP2969867B2 (ja) * | 1990-08-31 | 1999-11-02 | ソニー株式会社 | ディジタル画像信号の高能率符号化装置 |
US5327502A (en) * | 1991-01-17 | 1994-07-05 | Sharp Kabushiki Kaisha | Image coding system using an orthogonal transform and bit allocation method suitable therefor |
-
1991
- 1991-08-28 JP JP3217346A patent/JPH0556418A/ja active Pending
-
1992
- 1992-08-25 DE DE1992625652 patent/DE69225652T2/de not_active Expired - Fee Related
- 1992-08-25 EP EP19920114483 patent/EP0529588B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69225652D1 (de) | 1998-07-02 |
JPH0556418A (ja) | 1993-03-05 |
EP0529588B1 (de) | 1998-05-27 |
EP0529588A2 (de) | 1993-03-03 |
EP0529588A3 (de) | 1994-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69016880T2 (de) | Transformationskodierungsgerät. | |
DE69127420T2 (de) | Kodierungsgerät | |
DE69213271T2 (de) | Kodierung von Videosignalen | |
DE69735679T2 (de) | Verfahren zur Bilddecodierung | |
DE69811669T2 (de) | Bildkompression | |
DE69031198T2 (de) | Einrichtung zur orthogonalen Transformationskodierung | |
DE3636675C2 (de) | ||
DE69517283T2 (de) | Bildsignalkodierungsvorrichtung die zwischen variabler Längenkodierung und fester Längenkodierung wechselt | |
DE3800634C2 (de) | ||
EP0517324B1 (de) | Vorrichtung zur Steuerung des Quantisierers eines Hybridkodierers | |
DE69321781T2 (de) | Kodierung und Dekodierung von digitalen Daten | |
DE69319855T2 (de) | Verfahren und Vorrichtung zur Bilddatencodierung | |
DE69813349T2 (de) | Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend | |
DE69225365T2 (de) | Bildsignalkodierungsvorrichtung | |
EP0283715B1 (de) | Verfahren zur Codierung von Bildsignalen | |
DE69128801T2 (de) | Kodierungssystem | |
DE69737129T2 (de) | Verfahren und Vorrichtung zur Bildqualitätskontrolle | |
DE69510147T2 (de) | Perzeptueller Teilbandkodierer | |
DE19634600A1 (de) | Bildsignalkodiervorrichtung und zugehöriges Verfahren | |
DE69329439T2 (de) | Verfahren und Einrichtung zur Kodierung | |
DE19802860B4 (de) | Verfahren und Vorrichtung zum kontext-basierten arithmetischen Codieren/Decodieren | |
DE102018122297A1 (de) | Verfahren zur Kompression und Dekompression von Bilddaten | |
DE69421252T2 (de) | Verfahren und Vorrichtung zur Bilddatenkodierung und -kompression | |
DE69225652T2 (de) | Einrichtung zur Bildkodierung | |
DE3883358T2 (de) | Blockadaptive prädiktionskodierung mit adaptiver verstärkung und vorspannung. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |