DE4419678A1 - Verfahren zur Speicherung von Bild-, Video- und Filminformation in Halbleiterspeichern - Google Patents
Verfahren zur Speicherung von Bild-, Video- und Filminformation in HalbleiterspeichernInfo
- 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)
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.
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ß.
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.
Beispielhaft sei hier die Reduktion der Speichergröße (B) für einen MPEG2-Dekoder
aufgeführt:
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.
Prinzipiell kann man die Speicherkapazität für komprimierte Datenmengen wie folgt
verkleinern:
Spk=Spn/k (1)
Spk: Speicherkapazität für komprimierte Datenmenge
Spn: Speicherkapazität für unkompromierte Datenmenge
k: Kompressionsfaktor
Spn: Speicherkapazität für unkompromierte Datenmenge
k: Kompressionsfaktor
Der Kompressionsfaktor (k) ist abhängig vom gewählten Kompressionsverfahren und
der gewünschten (Bild-)Qualität der zu speichernden Daten.
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).
Beim Auslesen der komprimierten Daten werden diese Schritte dann mittels der
entsprechenden inversen Operationen rückgängig gemacht (VLD, Q-1, IDCT).
Dieses JPEG-ähnliche Verfahren weist dabei einige Besonderheiten auf:
- a) Bilder werden nur intra-kodiert
- b) Bilder werden auf eine feste Größe komprimiert unabhängig von der Bildkomplexität
- 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.
- d) je nach im Anwendungsfall gewünschter Kompressionsraten werden speziell angepaßte Huffman-Tabellen verwendet.
- e) falls ein unkodierter Block (8×8 Pixel) weniger Daten umfaßt als ein kodierter, wird er unkodiert abgespeichert.
Es kann eine beliebige Architektur verwendet werden, die die Anforderungen an die
Genauigkeit gemäß MPEG bzw. H. 261 Norm erfüllt.
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.
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.
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.
Dies zusammen mit 3.1.2. und 3.1.4. legt praktisch den Kompressionsfaktor (k) fest.
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.
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.
Dies zusammen mit 3.1.2. und 3.1.3. legt praktisch den Kompressionsfaktor (k) fest.
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ß.
Arbeitet analog zur Quantisierung und erzeugt die 12 Bit breiten Eingangsdaten für die
inverse DCT.
Auch hier kann jede Hardware, die die Anforderungen der o. g. Standards unterstützt,
verwendet werden.
Man kann die zu speichernden Bildaten auch mit Hilfe anderer Kompressionsarten
abspeichern.
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.
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.
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.
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.
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.
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.
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.
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).
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.
Der Speicheraufwand beträgt also 1 Bild + x Zeilen (x=max. Länge des
Bewegungsvektors vertikal), sowie ein Bild komprimiert.
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.
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.
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.).
Die laut MPEG 2 Standard umgeordneten (reordered) und kodierten Bilddaten eines
Bildes t (Abb. 6) werden zum Dekodieren vom MPEG-Dekoder (Abb. 7)
eingelesen.
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.
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.
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.
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.
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.
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.
720 (Bildspalten) × 288 (Bildzeilen) × (8 + 4 Bit pro Pixel) × 17/6 × 50 (Hz) = ca. 352 MBit/s, was ca. 44 MByte/s entspricht.
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.
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.
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.
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.
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.
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:
5 Bit (q) + 1 Bit (f) + 20 Bit (bstadr) = 26 Bit pro 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.
720 (Bildspalten)/8 (horizontale Blockgröße) × 288 (Bildzeilen)/8 (vertikale Blockgröße) × 1,5 (Luma & Chroma) = 4860 Blöcke pro Speicherbank.
Daraus folgt eine Gesamtzahl von 19 440 Einträgen a 26 Bit, d. h. ca. 505 kBit für den
Adreßspeicher.
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.
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).
Zum Auslesen aus dem Bildspeicher werden pro Teilspeicher eine IDCT, ein
Dequantisierer (Q-1) und ein Huffmandekoder (VLD) benötigt.
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.
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.
Claims (3)
1. Verfahren zur Speicherung von Bild-, Video- und Filminformation
in Halbleiterspeichern, dadurch gekennzeichnet, daß die Bilddaten
komprimiert im Speicher abgelegt und beim Auslesen wieder dekomprimiert
werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die
Bilddaten einer zweidimensionalen diskreten Cosinustransformation
(DCT) unterzogen, anschließend mittels einer Quantisierungsstufe (Q)
und einer Huffmankodierung (VLC) komprimiert im Speicher abgelegt und
beim Auslesen mittels der entsprechenden inversen Operationen (VLD,
Q-1, DCT) wieder dekomprimiert werden.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die
Quantisierungsstufe (Q) durch eine prädiktiv arbeitende Quantisierungssteuerung
(Q-ST) gesteuert wird.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4419678A DE4419678A1 (de) | 1994-06-06 | 1994-06-06 | Verfahren zur Speicherung von Bild-, Video- und Filminformation in Halbleiterspeichern |
AT95108497T ATE246864T1 (de) | 1994-06-06 | 1995-06-02 | Verfahren zur codierung/decodierung eines datenstroms |
EP95108497A EP0687111B1 (de) | 1994-06-06 | 1995-06-02 | Verfahren zur Codierung/Decodierung eines Datenstroms |
DE59510756T DE59510756D1 (de) | 1994-06-06 | 1995-06-02 | Verfahren zur Codierung/Decodierung eines Datenstroms |
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 (de) | 1994-06-06 | 1994-06-06 | Verfahren zur Speicherung von Bild-, Video- und Filminformation in Halbleiterspeichern |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4419678A1 true DE4419678A1 (de) | 1995-12-07 |
Family
ID=6519871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4419678A Withdrawn DE4419678A1 (de) | 1994-06-06 | 1994-06-06 | Verfahren zur Speicherung von Bild-, Video- und Filminformation in Halbleiterspeichern |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4419678A1 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0794673A2 (de) * | 1996-03-04 | 1997-09-10 | Mitsubishi Denki Kabushiki Kaisha | Vorrichtung zur Dekodierung von digitalen Bildern |
DE19645724C1 (de) * | 1996-11-06 | 1998-05-07 | Sican Gmbh | Verfahren und Vorrichtung zur DPCM-Codierung |
EP0847203A2 (de) * | 1996-12-03 | 1998-06-10 | STMicroelectronics, Inc. | Verfahren zur Reduzierung des Speicherbedarfes fur Videodatendekompression |
-
1994
- 1994-06-06 DE DE4419678A patent/DE4419678A1/de not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0794673A2 (de) * | 1996-03-04 | 1997-09-10 | Mitsubishi Denki Kabushiki Kaisha | Vorrichtung zur Dekodierung von digitalen Bildern |
EP0794673A3 (de) * | 1996-03-04 | 2000-07-19 | Mitsubishi Denki Kabushiki Kaisha | Vorrichtung zur Dekodierung von digitalen Bildern |
DE19645724C1 (de) * | 1996-11-06 | 1998-05-07 | Sican Gmbh | Verfahren und Vorrichtung zur DPCM-Codierung |
EP0847203A2 (de) * | 1996-12-03 | 1998-06-10 | STMicroelectronics, Inc. | Verfahren zur Reduzierung des Speicherbedarfes fur Videodatendekompression |
EP0847203A3 (de) * | 1996-12-03 | 2000-03-08 | STMicroelectronics, Inc. | Verfahren zur Reduzierung des Speicherbedarfes fur Videodatendekompression |
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 (de) | Verfahren zur Codierung/Decodierung eines Datenstroms | |
DE69813911T2 (de) | VERFAHREN ZUR BESTIMMUNG VON BEWEGUNGSVEKTORFELDERN MIT LOKALER BEWEGUNGSSCHäTZUNG | |
DE69735402T2 (de) | System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz | |
DE69735028T2 (de) | Videokodierungs- und Videodekodierungsvorrichtung | |
DE60125301T2 (de) | Videosignaltranskodierung | |
CA2130479C (en) | Lower resolution hdtv receivers | |
DE69116869T2 (de) | Digitale bildkodierung mit einer zufallsabtastung der bilder | |
DE69838729T2 (de) | Verfahren und vorrichtung zur verringerung des benötigten speicherplatzes zur speicherung von referenzbildern in einem videodekoder | |
KR100253931B1 (ko) | 디지탈 영상 시퀀스의 디코딩 방법 및 장치 | |
DE69535228T2 (de) | Bildumsetzungsvorrichtung | |
US6650708B1 (en) | Video signal encoding apparatus | |
DE60309375T2 (de) | Parametrisierung für verlauf-kompensation | |
US8009740B2 (en) | Method and system for a parametrized multi-standard deblocking filter for video compression systems | |
EP1292154B1 (de) | Verfahren und Vorrichtung zum Speichern in reduziertem Modus für hochauflösendes Fernsehen | |
DE69633815T2 (de) | Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales | |
US20040264580A1 (en) | Decoder and method of decoding using pseudo two pass decoding and one pass encoding | |
JPH09247673A (ja) | 符号化動画像再生装置 | |
EP0862138A2 (de) | Bildverarbeitungsverfahren und -vorrichtung | |
WO1996006506A1 (de) | Verfahren zur decodierung komprimierter video-daten mit reduziertem speicherbedarf | |
US5694172A (en) | Method and apparatus for reproducing picture data | |
DE69126525T2 (de) | Digitale bildverarbeitung mit filterung der blockkanten | |
JP2001204037A (ja) | 動き補償適応型画像処理方法及びその装置 | |
DE112015001531T5 (de) | Datenkodierung und Dekodierung | |
DE19524688C1 (de) | Verfahren zur Dekodierung und Kodierung eines komprimierten Videodatenstroms mit reduziertem Speicherbedarf | |
DE60210757T2 (de) | Vorrichtung zur videokodierung und -aufzeichnung |
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 |