DE4419678A1 - Storing picture, video and film information in semiconductor memories - Google Patents
Storing picture, video and film information in semiconductor memoriesInfo
- Publication number
- DE4419678A1 DE4419678A1 DE4419678A DE4419678A DE4419678A1 DE 4419678 A1 DE4419678 A1 DE 4419678A1 DE 4419678 A DE4419678 A DE 4419678A DE 4419678 A DE4419678 A DE 4419678A DE 4419678 A1 DE4419678 A1 DE 4419678A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- image
- data
- dct
- compressed
- 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.)
- Withdrawn
Links
Classifications
-
- 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
- H04N5/9264—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback by pulse code modulation involving data reduction 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/124—Quantisation
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- 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/172—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 picture, frame or field
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
- H04N19/428—Recompression, e.g. by spatial or temporal decimation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
Generell wird hier ein spezieller technischer Aspekt für die Speichereinsparung für Bildverarbeitungsalgorithmen betreffend MPEG1 (Standard ISO/IEC 11 172) und MPEG2 (ISO/IEC 13818) und artverwandter Standards beschrieben. Dazu sind die jetzigen gültigen Standards für JPEG, MPEG1 und MPEG2 mit ihren Algorithmen als Grundlage und als dem Leser bekannt anzusehen.Generally, here is a special technical aspect for saving memory for Image processing algorithms related to MPEG1 (standard ISO / IEC 11 172) and MPEG2 (ISO / IEC 13818) and related standards described. For that are the current standards for JPEG, MPEG1 and MPEG2 with their algorithms as Basis and regarded as known to the reader.
In Abb. 1 ist ein MPEG-Encoderblockschaltbild dargestellt. Für die Bearbeitung der Bilddaten benötigt man zwei Bildspeicher (Bildspeicher A, B), wobei der erste (A) dem Umsortieren (reordering) der einlaufenden Bilder dient, der zweite (B) dem Zwischenspeichern von benötigten Bildern zur Vermeidung der Fehlerfortpflanzung, wie er auch in jedem MPEG-Dekoder eingebaut sein muß.An MPEG encoder block diagram is shown in Fig. 1. Two image memories (image memories A, B) are required for processing the image data, the first (A) being used for reordering the incoming images, the second (B) for temporarily storing the necessary images to avoid error propagation, as he did must be installed in every MPEG decoder.
Je nach zu verarbeitenden Bildformaten und Normen besitzen diese Speicher Größen zwischen ca. 300 kByte (1/4 TV Bild) und mehr als 4 MByte (HDTV Bild). An dieser Stelle greift das hier vorgestellte Verfahren zur Speicherminimierung an, mit dem es möglich ist, diese Speicherkapazität drastisch zu reduzieren.Depending on the image formats and standards to be processed, these memories have sizes between approx. 300 kByte (1/4 TV picture) and more than 4 MByte (HDTV picture). At this Instead, the method for minimizing memory presented here attacks with which it it is possible to drastically reduce this storage capacity.
Beispielhaft sei hier die Reduktion der Speichergröße (B) für einen MPEG2-Dekoder aufgeführt:The reduction in memory size (B) for an MPEG2 decoder is an example here listed:
Ohne Speicherminimierung: Größe zweier CCIR 601 Norm · Bilder, bei 4 : 2 : 0 Chromaformat: 10 MBlt=2 Bilder × 720 Bildspalten × 288 Bildzeilen × 2 interlaced Bilder × (8 Bit (Luminanz) + 4 Bit (Chrominanz)) im Vergleich zu maximal ca. 4 MBlt je nach gewünschter Bildqualität mit Speicherminimierung.Without memory minimization: size of two CCIR 601 norm images, at 4: 2: 0 Chroma format: 10 MBlt = 2 images × 720 image columns × 288 image lines × 2 interlaced Images × (8 bit (luminance) + 4 bit (chrominance)) compared to a maximum of approx. 4 MBlt depending on the desired image quality Memory minimization.
Prinzipiell kann man die Speicherkapazität für komprimierte Datenmengen wie folgt verkleinern:In principle, the storage capacity for compressed amounts of data can be as follows downsize:
Spk=Spn/k (1)Sp k = Sp n / k (1)
Spk: Speicherkapazität für komprimierte Datenmenge
Spn: Speicherkapazität für unkompromierte Datenmenge
k: KompressionsfaktorSpk: storage capacity for compressed data volume
Spn: storage capacity for uncompromised amount of data
k: compression factor
Der Kompressionsfaktor (k) ist abhängig vom gewählten Kompressionsverfahren und der gewünschten (Bild-)Qualität der zu speichernden Daten.The compression factor (k) depends on the compression method and the desired (image) quality of the data to be saved.
Anstelle des unkomprimierten Abspeicherns der Original-Bilddaten in den Speicher werden diese einer zweidimensionalen diskreten Cosinustransformation (DCT) unterzogen und anschließend mittels einer Quantisierungsstufe (Q) und einer besonderen Huffmankodierung (VLC) komprimiert im Speicher abgelegt (siehe Abb. 2). Die Steuerung der Quantisierung übernimmt die Quantisierungssteuerung (Q-ST).Instead of the uncompressed storage of the original image data in the memory, it is subjected to a two-dimensional discrete cosine transformation (DCT) and then compressed in the memory using a quantization stage (Q) and a special Huffman coding (VLC) (see Fig. 2). The quantization control (Q-ST) controls the quantization.
Beim Auslesen der komprimierten Daten werden diese Schritte dann mittels der entsprechenden inversen Operationen rückgängig gemacht (VLD, Q-1, IDCT).When reading out the compressed data, these steps are then reversed by means of the corresponding inverse operations (VLD, Q -1 , IDCT).
Dieses JPEG-ähnliche Verfahren weist dabei einige Besonderheiten auf:This JPEG-like process has some special features:
- a) Bilder werden nur intra-kodierta) Images are only intra-coded
- b) Bilder werden auf eine feste Größe komprimiert unabhängig von der Bildkomplexitätb) Images are compressed to a fixed size regardless of the image complexity
- c) Die Quantisierungssteuerung (Q-St) arbeitet prädikativ, d. h. sie berücksichtigt während der Bildkompression auch die noch zu erwartenden Datenmessungen des noch nicht bearbeiteten Bildrests.c) The quantization control (Q-St) works predictively, d. H. it takes into account during the image compression also the data measurements of the not yet to be expected edited image remnants.
- d) je nach im Anwendungsfall gewünschter Kompressionsraten werden speziell angepaßte Huffman-Tabellen verwendet.d) depending on the compression rates desired in the application, special custom Huffman tables used.
- e) falls ein unkodierter Block (8×8 Pixel) weniger Daten umfaßt als ein kodierter, wird er unkodiert abgespeichert.e) if an uncoded block (8 × 8 pixels) contains less data than an encoded one, it will saved uncoded.
Es kann eine beliebige Architektur verwendet werden, die die Anforderungen an die Genauigkeit gemäß MPEG bzw. H. 261 Norm erfüllt.Any architecture that meets the requirements can be used Accuracy according to MPEG or H. 261 standard met.
Die Quantisierung arbeitet in ihren Grundzügen analog zu JPEG und besitzt auch denselben zweistufigen Aufbau. Als Quantisierungstabelle wird die MPEG oder JPEG-Tabelle benutzt. Dies zusammen mit 3.1.3. und 3.1.4. legt praktisch den Kompressionsfaktor (k) fest.The basic principles of quantization are analogous to JPEG and also have the same two-stage structure. The MPEG or JPEG table is used as the quantization table. This together with 3.1.3. and 3.1.4. practically defines the compression factor (k).
Der VLC (Abb. 3) liest die quantisierten Daten im Zigzag-Scan aus RAM 1 und schreibt dabei den ersten Wert (DC-Komponente im Frequenzbereich) unkodiert in den Ausgangsspeicher (RAM 2). Die nachfolgenden AC-Werte werden analog zu MPEG runlength kodiert (bezüglich Null) und die dadurch entstandenen Runlength/Level Paare dann mittels Huffman-Tabelle in einen Bitkode variabler Länge transformiert. Falls der kodierte Block mehr Daten enthält als der unkodierte (dies erkennt man am Überlauf von RAM 2), wird der Block zwar DCT-transformiert aber nicht komprimiert ausgegeben.The VLC ( Fig. 3) reads the quantized data in the Zigzag scan from RAM 1 and writes the first value (DC component in the frequency domain) to the output memory (RAM 2) uncoded. The following AC values are coded analogously to MPEG runlength (with respect to zero) and the runlength / level pairs thus created are then transformed into a variable length bit code using the Huffman table. If the coded block contains more data than the uncoded (this can be seen from the overflow of RAM 2), the block is output DCT-transformed but not compressed.
Am Ausgang des VLC erscheint also ein Bitstrom mit kodierten bzw. teilweise auch unkodierten Daten, die entsprechend der Wortbreite des Speichers parallelisiert und abgespeichert werden. In einem weiteren Speicher muß für jeden Block noch ein Flag (unkodierter/kodierter Block) und der zum Block zugehörige Quantisierungsfaktor q abgelegt werden.A bit stream with coded or partially also appears at the output of the VLC uncoded data that is parallelized according to the word length of the memory and can be saved. In a further memory there must be a flag for each block (uncoded / coded block) and the quantization factor q belonging to the block be filed.
Dies zusammen mit 3.1.2. und 3.1.4. legt praktisch den Kompressionsfaktor (k) fest.This together with 3.1.2. and 3.1.4. practically defines the compression factor (k).
Die Quantisierungssteuerung regelt den Quantisierungsfaktor (q) blockweise nach. Dies
geschieht in Abhängigkeit folgender Parameter:
a) Füllstand des Bildspeichers
b) zu erwartende Komplexität des Bildes
Durch geeignete Algorithmen wird sichergestellt, daß der Bildspeicher immer voll
ausgenutzt wird, so daß sich ein Optimum zwischen Bildqualität und Speicherbedarf
einstellt.The quantization control regulates the quantization factor (q) block by block. This happens depending on the following parameters:
a) Fill level of the image memory
b) expected complexity of the image
Suitable algorithms ensure that the image memory is always fully utilized, so that there is an optimum between image quality and memory requirements.
Dies zusammen mit 3.1.2. und 3.1.3. legt praktisch den Kompressionsfaktor (k) fest.This together with 3.1.2. and 3.1.3. practically defines the compression factor (k).
Die Dekodierung der Bildspeicherdaten nach inversem Verfahren erfolgt zum VLC, wobei natürlich das Flag für kodierte bzw. unkodierte Blöcke ausgewertet werden muß.The image memory data is decoded using the inverse method VLC, whereby of course the flag for coded or uncoded blocks is evaluated got to.
Arbeitet analog zur Quantisierung und erzeugt die 12 Bit breiten Eingangsdaten für die inverse DCT.Works analog to quantization and generates the 12 bit wide input data for the inverse DCT.
Auch hier kann jede Hardware, die die Anforderungen der o. g. Standards unterstützt, verwendet werden.Again, any hardware that meets the requirements of the above. Standards supported, be used.
Man kann die zu speichernden Bildaten auch mit Hilfe anderer Kompressionsarten abspeichern.The image data to be stored can also be saved using other types of compression save.
Man kann generell die Bilddaten, ohne sie vorher mittels DCT/IDCT oder anderen speziellen Transformationen in den Frequenzbereich transformiert zu haben, auch mittels des Entropietheorems von Shannon im Ortsbereich komprimieren.You can generally view the image data without first using DCT / IDCT or others having transformed special transformations in the frequency domain, too compress using the Shannon entropy theorem in the local area.
Dies kann wie folgt gemacht werden. Man errechnet zuerst eine optimale Huffmantabelle der Daten im Ortsraum (entweder on line pro Bildausschnitt, oder fest Vorberechnete) und nutzt so die Häufigkeitsverteilung der Helligkeits- bzw. Chrominanzwerte im Ortsbereich. Der Vorteil dieses Verfahrens liegt in einer geringeren Komplexität der Kompression. Um eine feste Ausgangsdatenrate zu garantieren, muß dieses Verfahren um eine geeignete Quantisierungsstufe erweitert werden.This can be done as follows. You first calculate an optimal one Huffman table of data in the spatial area (either on-line per image section, or fixed Precalculated) and thus uses the frequency distribution of the brightness or Chrominance values in the local area. The advantage of this method is that it is less Complexity of compression. To guarantee a fixed output data rate, this method can be extended by a suitable quantization level.
Eine weitere Möglichkeit der Kompression besteht in einer Kodierung der Differenzen der Helligkeits- und Chrominanzwerte z. B. nach dem DPCM-Verfahren. Dort wird eine nichtlineare Zuordnung zwischen Differenzwert und Ausgabewert errechnet und abgespeichert.Another way of compression is to code the differences the brightness and chrominance values e.g. B. according to the DPCM process. There will be one nonlinear assignment between difference value and output value calculated and saved.
Prinzipiell kann man auch Audio- oder andere Daten komprimiert in Halbleiterspeichern abspeichern. Dazu kann man das o. g. Verfahren mit seinen u. g. Varianten ebenfalls benutzen. In principle, audio or other data can also be compressed in semiconductor memories save. For this you can do the above. Procedure with his u. G. Variants too to use.
Das geschilderte Verfahren kann auch benutzt werden, um Daten z. B. aus der Meß- oder Audiotechnik in einem Halbleiterspeicher abzuspeichern. Dabei kann man nicht nur die Speicherkapazität, sondern auch die Speicherbandbreite reduzieren.The described method can also be used to data z. B. from the measurement or to store audio technology in a semiconductor memory. You can't do that only reduce the storage capacity, but also the memory bandwidth.
Wenn man z. B. hinter einem Analog-Digitalumsetzer (ADC) einen Datenstrom erhält, der die Speicherzugriffszeit eines hinter den ADC geschalteten Halbleiterspeichers übersteigt, so kann man mit Hilfe des Verfahrens durch die Kompression die Zufgriffszeit auf den Speicher reduzieren.If you e.g. B. receives a data stream behind an analog-digital converter (ADC), the memory access time of a semiconductor memory connected behind the ADC exceeds the access time with the help of the compression method reduce to memory.
Falls eine noch höhere Datenkompression als beim Verfahren unter 3.1. gewünscht wird, aber dieselben hohen Anforderungen an die Bildqualität gestellt werden, muß eine für einen festzulegenden Bildausschnitt optimale Huffman-Tabelle gefunden werden. Hierzu ist dann in den VLC ein kompletter Huffman-Encoder zu implementieren und jeweils für den gewählten Bildausschnitt eine Tabelle im Speicher abzulegen.If an even higher data compression than with the procedure under 3.1. wanted , but the same high demands are placed on the image quality, one must optimal Huffman table can be found for an image section to be determined. A complete Huffman encoder must then be implemented in the VLC and save a table for the selected image section in the memory.
Bei der Anwendung des Verfahrens laut 3. auf den Speicher in der Prädiktionsschleife (Bildspeicher B) bei En- oder Dekoder erhält man im Normalfall ein Aufaddieren der durch diese Kompression entstandenen Fehler bis zum nächsten I-Bild. Falls dies nicht erwünscht ist, kann die Fehlerfortpflanzung auf die aufeinanderfolgenden B-Bilder mit folgendem Verfahren begrenzt werden (siehe Abb. 4).When using the method according to 3. on the memory in the prediction loop (image memory B) in the case of encoders or decoders, the errors resulting from this compression are normally added up to the next I-picture. If this is not desired, the error propagation can be limited to the successive B-images using the following procedure (see Fig. 4).
Zuerst wird ein I- oder P-Bild unkomprimiert in den Speicher geschrieben, das danach einlaufende I- oder P-Bild wird die für die ersten 64 Zeilen (bedingt durch die maximale Länge des Bewegungsvektors) ebenfalls unkomprimiert abgelegt und mit dem unkomprimierten I-/P-Bild dekompensiert. Nun wird gleichzeitig damit begonnen, das I-Bild auszulesen, analog zum Verfahren 3. zu komprimieren und an andere Stelle wieder in den Speicher zu schreiben.First, an I or P picture is written uncompressed into the memory, then incoming I or P picture becomes the one for the first 64 lines (due to the maximum Length of the motion vector) also stored uncompressed and with the uncompressed I / P image decompensated. Now at the same time it starts Read out the I-picture, compress it analogously to method 3. and move it to another location write back to memory.
Der Speicheraufwand beträgt also 1 Bild + x Zeilen (x=max. Länge des Bewegungsvektors vertikal), sowie ein Bild komprimiert.The storage effort is therefore 1 image + x lines (x = max. Length of the Motion vector vertically), as well as an image compressed.
Durch das Abspeichern eines Bitstroms mit Kodes variabler Länge ist es nach 3. nicht möglich, wahlfrei auf einzelne (Bild-)Blöcke, Pixel, Datenelemente o. ä. zuzugreifen. Für die Anwendung des Verfahrens beim Bildspeicher (B) in der Prädiktionsschleife des Enkoders oder beim Zwischenspeicher beim Dekoder ist dies aber unabdingbar, da für die Bewegungs-Dekompensation je nach Bewegungsvektoren verschiedenste Bildbereiche ausgelesen werden müssen.By storing a bit stream with codes of variable length, it is not after 3 possible to access individual (image) blocks, pixels, data elements or similar. For the application of the method to the image memory (B) in the prediction loop of the However, this is essential for encoders or for the buffer memory for the decoder motion decompensation varies depending on the motion vectors Image areas must be read out.
Durch die Verwendung einer blockbasierten DCT/IDCT (i. a. Transformation und variabler Längenkodierung) ist das kleinste wahlfrei zugreifbare Element der 8×8 Pixel große Block (bei MPEG). Um diesen wahlfreien Zugriff zu ermöglichen, speichert man die Adresse des ersten Bits eines jeden Blockes zusammen mit dem unter 3.1.3. genannten Flag und Quantisierungsfaktor in einem Adreßspeicher ab.By using a block-based DCT / IDCT (i. A. Transformation and variable length coding) is the smallest freely accessible element of the 8 × 8 pixels large block (at MPEG). To enable this random access, you save the address of the first bit of each block together with the one under 3.1.3. mentioned flag and quantization factor in an address memory.
Beim Auslesen beliebiger Bildteile aus dem Bildspeicher mittels indirekter Adressierung über den Adreßspeicher müssen dann u. U. neben der gewünschten Nutzinformation auch Teile mitgelesen werden, die eigentlich nicht benötigt werden (siehe Abb. 5). Dies erhöht evtl. die benötigte Speicherbandbreite gegenüber der normalerweise benötigten (s. 5.1.). When reading out any image parts from the image memory by means of indirect addressing via the address memory, u. In addition to the desired user information, parts may also be read that are not actually required (see Fig. 5). This may increase the required memory bandwidth compared to the normally required (see 5.1.).
Die laut MPEG 2 Standard umgeordneten (reordered) und kodierten Bilddaten eines Bildes t (Abb. 6) werden zum Dekodieren vom MPEG-Dekoder (Abb. 7) eingelesen.The image data of an image t ( Fig. 6), reordered and coded according to the MPEG 2 standard, are read in for decoding by the MPEG decoder ( Fig. 7).
Im Dekoder wird der Bitstrom bildweise über einen sog. Video Buffering Verifier (VBV), den Variable Length Decoder (VLD), den Dequantizierer (Q-1) und die zweidimensionale inverse diskrete Cosinustransformation (IDCT) laut MPEG 2-Norm dekodiert und der Dekompensationsstufe zugeführt. In der Dekompensationsstufe werden die Bilddaten - wenn es sich um P- oder B-Bilder handelt - passend, mit den im Speicher liegenden Bilddaten eines (I- oder P-)Bildes t-2 (oder t-1 und t-2 bei B-Bildern) verrechnet.In the decoder, the bit stream is decoded picture-wise via a so-called video buffering verifier (VBV), the variable length decoder (VLD), the dequantizer (Q -1 ) and the two-dimensional inverse discrete cosine transformation (IDCT) according to the MPEG 2 standard and the decompensation level fed. In the decompensation stage, the image data - if it is a P or B image - is matched with the image data of an (I or P) image t-2 (or t-1 and t-2 at B) in the memory Images).
Die zur Dekompensation benötigten Daten aus dem Bildspeicher werden normalerweise mittels der vom Variable Length Dekoder (VLD) aus Abb. 7 kommenden Vektoren adressiert. Dabei wird durch diese Vektoren makroblockweise eine Verschiebungsposition eines Makroblockes aus Bild t zur Position eines Makroblockes aus Bild t-2 (bei B-Bildern auch t-1 möglich) angegeben. Die in der Dekompensationsstufe sich befindenden Blöcke aus Bild t benötigen für die Dekompensation noch die zugehörigen Blöcke bzw. Pixel aus dem Speicher (Bild t-1, t-2). Dazu werden über den Memorykontroller die im Bildspeicher komprimiert abgelegten Daten wieder dekomprimiert (laut 3.) und der Dekompensationsstufe zugeführt. I-Bilder werden ohne Informationen aus dem Speicher direkt dekompensiert. Die so dekompensierten Bilddaten für Bild t entsprechen wieder einem dekodierten normalem Bild mit Luminanz und Chrominanzwerten laut CCIR Norm.The data from the image memory required for decompensation is normally addressed using the vectors coming from the Variable Length Decoder (VLD) from Fig. 7. These vectors indicate, by macroblock, a shift position of a macroblock from image t to the position of a macroblock from image t-2 (t-1 also possible with B images). The blocks from image t in the decompensation stage still require the associated blocks or pixels from the memory for the decompensation (image t-1, t-2). For this purpose, the data stored in compressed form in the image memory is decompressed again (according to 3.) and fed to the decompensation stage via the memory controller. I-pictures are directly decompensated without information from the memory. The image data for image t thus decompensated again correspond to a decoded normal image with luminance and chrominance values according to the CCIR standard.
Die dekodierten Bilddaten werden nun, wenn es sich um I- oder P-Bilder handelt durch den Memorykontroller komprimiert und in den Bildspeicher geschrieben, um für ein zukünftiges zu dekodierendes P- bzw. B-Bild zur Verfügung zu stehen. Auf diese Weise werden im Bildspeicher immer die letzten beiden P-Bilder (t-1) und (t-2) bzw. ein I- (t-2) und ein P-Bild (t-1) komprimiert gehalten.The decoded picture data is now, if it is an I or P picture the memory controller is compressed and written to the image memory in order for a future P or B picture to be decoded are available. In this way the last two P-pictures (t-1) and (t-2) or an I- (t-2) and a P-picture (t-1) kept compressed.
Die B-Bilder werden von der Dekompensationsstufe direkt an die Ausgabeeinheit weitergereicht und nicht zwischengespeichert. Die nachfolgende Einheit muß dazu in der Lage sein, die Bilddaten blockweise und nicht wie für Monitore nötig zeilenweise entgegenzunehmen. Ein beispielhaftes Timing ist in Abb. 8 dargestellt.The B-pictures are passed on from the decompensation stage directly to the output unit and are not buffered. The subsequent unit must be able to accept the image data block by block and not line by line as required for monitors. An exemplary timing is shown in Fig. 8.
Da die Bilddaten nach dem Verfahren aus 3. speziell kodierter Bitstrom in den Speicher geschrieben werden, ist es, wie unter 4.3. erwähnt, nicht möglich, wahlfrei auf einzelne pixeladressierte Bildbereiche zuzugreifen.Since the image data according to the method from 3. specially coded bit stream in the Memory are written, it is as under 4.3. mentioned, not possible, optional access individual pixel-addressed image areas.
Für das Auslesen eines makroblockgroßen Bereiches eines Bildes in der CCIR 601
(4 : 2 : 0) Norm (4 Blöcke Luminanz und zweimal ein Block Chrominanz) muß das 17/6fache
der "Nutzinformation" aus dem Bildspeicher ausgelesen werden (s. Abb. 5).
Dies führt dann beim Auslesen eines Bildes nach CCIR 601 4 : 2 : 0 PAL Norm im worst
case Fall zu einer Speicherbandbreite des Bildspeichers von:
720 (Bildspalten) × 288 (Bildzeilen) × (8 + 4 Bit pro Pixel) × 17/6 × 50 (Hz) = ca. 352 MBit/s,
was ca. 44 MByte/s entspricht.
To read a macro-block-sized area of an image in the CCIR 601 (4: 2: 0) standard (4 blocks of luminance and two blocks of chrominance), 17/6 times the "useful information" must be read out of the image memory (see Fig. 5 ). When reading an image according to CCIR 601 4: 2: 0 PAL norm, this leads to a memory bandwidth of the image memory of:
720 (image columns) × 288 (image lines) × (8 + 4 bits per pixel) × 17/6 × 50 (Hz) = approx. 352 MBit / s, which corresponds to approx. 44 MByte / s.
Unter Berücksichtigung des in Abb. 8 angegebenen Timings und der Aufteilung
des Bilddatenspeichers in zwei Teilbildspeicher zu je zwei Speicherbänken errechnet
sich bei einer Wortbreite des Speichers von 36 Bit die erforderliche Bandbreite wie folgt:
720 (Bildspalten) × 288 (Bildzeilen) × (8 + 4 Bit pro Pixel) × (17/6 (Auslesen zur
Dekompensation) + 6/6 (Auslesen zur Ausgabe des Bildes)) × 50 (Hz) = ca. 477 MBit/s, was ca. 60 MByte/s entspricht, also einer Speicherzugriffszeit von 67 ns.Taking into account the timing shown in Fig. 8 and the division of the image data memory into two field memories, each with two memory banks, the bandwidth required for a word length of 36 bits is calculated as follows:
720 (image columns) × 288 (image lines) × (8 + 4 bits per pixel) × (17/6 (read out for decompensation) + 6/6 (read out for image output)) × 50 (Hz) = approx. 477 Mbit / s, which corresponds to approx. 60 MByte / s, i.e. a memory access time of 67 ns.
Wählt man für höchste Bildqualität einen Kompressionsfaktor (k) für die Bildspeicherdaten von k=3, werden über 1/50 s gemittelt allerdings nur 44/3 MBytes = 14,7 MByte/s übertragen.If one chooses a compression factor (k) for the highest picture quality Image memory data of k = 3 are averaged over 1/50 s but only 44/3 MBytes = 14.7 MByte / s transferred.
Dies bedeutet für die Speichergröße des Bildspeichers für komprimierte Abspeicherung
der Daten (s. Formel 1) für o. g. Fall mit k=3:
720 (Bildspalten) × 288 (Bildzeilen) × (8+4 Bit pro Pixel) × 4 (Speicherbänke, 2 I- und 2
P-Bilder)/k=ca. 10/k MBit=ca. 3.3 MBit.For the memory size of the image memory for compressed storage of the data (see formula 1) this means for the above case with k = 3:
720 (image columns) × 288 (image lines) × (8 + 4 bits per pixel) × 4 (memory banks, 2 I and 2 P images) / k = approx. 10 / k Mbit = approx. 3.3 Mbit.
Wie in 4.3. ausgeführt müssen für jeden Block die Startadressen (bstadr) zusammen mit dem Quantisierungsfaktor (q) und dem Flag (f) für kodierte oder unkodierte Daten in einem Adreßspeicher abgelegt werden. Unter den oben gemachten Voraussetzungen ergibt sich eine Wortbreite der Adresse für den Bildspeicher von:As in 4.3. the start addresses (bstadr) must be executed for each block with the quantization factor (q) and the flag (f) for coded or uncoded data in be stored in an address memory. Under the conditions made above the word width of the address for the image memory is:
5 Bit (q) + 1 Bit (f) + 20 Bit (bstadr) = 26 Bit pro Block.5 bits (q) + 1 bits (f) + 20 bits (bstadr) = 26 bits per block.
Die Anzahl der benötigten Einträge des Adreßspeichers richtet sich nach der
Blockanzahl (-größe) und der Norm des Bildes:
720 (Bildspalten)/8 (horizontale Blockgröße) × 288 (Bildzeilen)/8 (vertikale
Blockgröße) × 1,5 (Luma & Chroma) = 4860 Blöcke pro Speicherbank.The number of required entries in the address memory depends on the number of blocks (size) and the norm of the picture:
720 (image columns) / 8 (horizontal block size) × 288 (image lines) / 8 (vertical block size) × 1.5 (Luma & Chroma) = 4860 blocks per memory bank.
Daraus folgt eine Gesamtzahl von 19 440 Einträgen a 26 Bit, d. h. ca. 505 kBit für den Adreßspeicher.This results in a total of 19,440 26-bit entries, i. H. approx. 505 kbit for the Address memory.
Insgesamt ergibt sich also für einen MPEG 2-Dekoder für den Bildspeicher ein Speicherbedarf von 3,3 MBit (Datenspeicher) + 0,5 MBit (Adreßspeicher) = ca. 3,8 MBit gegenüber 10 MBit für das unkomprimierte Abspeichern der Bilder bei CCIR 601, 4 : 2 : 0.Overall, this results in an MPEG 2 decoder for the image memory Memory requirement of 3.3 MBit (data memory) + 0.5 MBit (address memory) = approx.3.8 MBit compared to 10 MBit for the uncompressed storage of the images with CCIR 601, 4: 2: 0.
Für die spezielle Ansteuerung des Bildspeichers im MPEG 2-Dekoder wird ein Mehraufwand an Hardware von einer zweidimensionalen DCT, eines Quantisierers (Q) und eines Huffmankoders (VLC) inkl. Quantisierungssteuerung (Q-ST) zum Beschreiben der Teilspeicherbereiche benötigt, der per Multiplexer auf eine der zwei Bereiche geschaltet werden kann (siehe Abb. 7).For the special control of the image memory in the MPEG 2 decoder, additional hardware expenditure is required from a two-dimensional DCT, a quantizer (Q) and a Huffman encoder (VLC) including quantization control (Q-ST) to write to the partial memory areas, which is done by a multiplexer one of the two areas can be switched (see Fig. 7).
Zum Auslesen aus dem Bildspeicher werden pro Teilspeicher eine IDCT, ein Dequantisierer (Q-1) und ein Huffmandekoder (VLD) benötigt.To read from the image memory, an IDCT, a dequantizer (Q -1 ) and a Huffman decoder (VLD) are required for each partial memory.
Der abgeschätzte Hardwareaufwand mit und ohne Speicherminimierung ist im folgenden im Vergleich stellvertretend für einen MPEG 2-Dekoder, für Bildverarbeitung von CCIR 601 Bildern, im 4 : 2 : 0 Format, wie nach 5. beschrieben, aufgeführt.The estimated hardware expenditure with and without memory minimization is in the following in comparison representative of an MPEG 2 decoder, for Image processing of CCIR 601 images, in 4: 2: 0 format, as described after 5. listed.
Evtl. könnte bei einem Timemultiplexbetrieb von einzelnen Modulen (z. B. DCT's, Q's) bei Verwendung schneller Technologien der Hardwareaufwand noch reduziert werden. Dies kann nur im einzelnen Anwendungsfall (Grenzfrequenz der Technologie gegenüber der zu verarbeitenden normabhängigen Datenmengen) untersucht werden. Die grundsätzlich zu patentierende Idee ist davon unabhängig.Possibly. could be in time-division multiplex operation of individual modules (e.g. DCT's, Q's) when using fast technologies, the hardware expenditure can be reduced even further. This can only be done in the individual application (limit frequency of the technology compared to the standard-dependent data volumes to be processed). The basic idea to be patented is independent of this.
Claims (3)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4419678A DE4419678A1 (en) | 1994-06-06 | 1994-06-06 | Storing picture, video and film information in semiconductor memories |
DE59510756T DE59510756D1 (en) | 1994-06-06 | 1995-06-02 | Method for coding / decoding a data stream |
AT95108497T ATE246864T1 (en) | 1994-06-06 | 1995-06-02 | METHOD FOR CODING/DECODING A DATA STREAM |
EP95108497A EP0687111B1 (en) | 1994-06-06 | 1995-06-02 | Method for coding and decoding a data stream |
CA002151023A CA2151023A1 (en) | 1994-06-06 | 1995-06-05 | Method of coding/decoding of a data stream |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4419678A DE4419678A1 (en) | 1994-06-06 | 1994-06-06 | Storing picture, video and film information in semiconductor memories |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4419678A1 true DE4419678A1 (en) | 1995-12-07 |
Family
ID=6519871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4419678A Withdrawn DE4419678A1 (en) | 1994-06-06 | 1994-06-06 | Storing picture, video and film information in semiconductor memories |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4419678A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0794673A2 (en) * | 1996-03-04 | 1997-09-10 | Mitsubishi Denki Kabushiki Kaisha | Digital image decoding apparatus |
DE19645724C1 (en) * | 1996-11-06 | 1998-05-07 | Sican Gmbh | Input signal differential pulse code modulation DPCM encoding method |
EP0847203A2 (en) * | 1996-12-03 | 1998-06-10 | STMicroelectronics, Inc. | Method for the reduction of the memory required for video data decompression |
-
1994
- 1994-06-06 DE DE4419678A patent/DE4419678A1/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0794673A2 (en) * | 1996-03-04 | 1997-09-10 | Mitsubishi Denki Kabushiki Kaisha | Digital image decoding apparatus |
EP0794673A3 (en) * | 1996-03-04 | 2000-07-19 | Mitsubishi Denki Kabushiki Kaisha | Digital image decoding apparatus |
DE19645724C1 (en) * | 1996-11-06 | 1998-05-07 | Sican Gmbh | Input signal differential pulse code modulation DPCM encoding method |
EP0847203A2 (en) * | 1996-12-03 | 1998-06-10 | STMicroelectronics, Inc. | Method for the reduction of the memory required for video data decompression |
EP0847203A3 (en) * | 1996-12-03 | 2000-03-08 | STMicroelectronics, Inc. | Method for the reduction of the memory required for video data decompression |
US6668019B1 (en) | 1996-12-03 | 2003-12-23 | Stmicroelectronics, Inc. | Reducing the memory required for decompression by storing compressed information using DCT based techniques |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0687111B1 (en) | Method for coding and decoding a data stream | |
DE69714071T2 (en) | DEVICE FOR COMPRESSING PIXEL BLOCKS IN AN IMAGE PROCESSING SYSTEM | |
DE69813911T2 (en) | METHOD FOR DETERMINING MOTION VECTOR FIELDS WITH LOCAL MOTION ESTIMATION | |
DE69719069T2 (en) | IMAGE DATA PROCESSOR FOR IMAGE STORAGE SYSTEM WITH NEW COMPRESSION | |
DE69735402T2 (en) | System and method of motion compensation using a skew memory format for improved efficiency | |
DE69735028T2 (en) | Video encoding and video decoding device | |
DE60125301T2 (en) | Video signal transcoding | |
DE69313692T2 (en) | Coding and decoding for video compression with automatic field / image motion compensation on the sub-pixel level | |
CA2130479C (en) | Lower resolution hdtv receivers | |
DE69116869T2 (en) | DIGITAL IMAGE CODING WITH A RANDOM SCAN OF THE IMAGES | |
DE60305325T2 (en) | SYSTEM AND METHOD FOR RATE DRAINING OPTIMIZED DATA PARTITIONING FOR VIDEO-CORDING USING REVERSE ADAPTATION | |
DE69838729T2 (en) | METHOD AND DEVICE FOR REDUCING THE NECESSARY STORAGE SPACE FOR STORING REFERENCE IMAGES IN A VIDEO CODE | |
DE69620160T2 (en) | Image encoding device and image decoding device | |
KR100253931B1 (en) | Approximate mpeg decoder with compressed reference frames | |
DE69535228T2 (en) | Image conversion device | |
US6650708B1 (en) | Video signal encoding apparatus | |
DE60309375T2 (en) | PARAMETERIZATION FOR COURSE COMPENSATION | |
EP1292154B1 (en) | A method and apparatus for implementing reduced memory mode for high-definition television | |
DE69633815T2 (en) | Device for coding and decoding a digital image signal | |
DE69614675T2 (en) | MPEG-2 decoding with reduced RAM need through ADPCM recompression before storing decompressed MPEG-2 data, optionally according to an undersampling algorithm | |
EP0862138A2 (en) | Image processing method and apparatus | |
EP0776574B1 (en) | Method, requiring reduced memory capacity, for decoding compressed video data | |
DE69516737T2 (en) | Method and device for image data reproduction | |
DE69126525T2 (en) | DIGITAL IMAGE PROCESSING WITH FILTERING THE BLOCK EDGES | |
DE112015001531T5 (en) | Data encoding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8127 | New person/name/address of the applicant |
Owner name: SICAN GMBH, 30419 HANNOVER, DE |
|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: SCI-WORX GMBH, 30419 HANNOVER, DE |
|
8130 | Withdrawal |