DE69433272T2 - Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales - Google Patents

Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales Download PDF

Info

Publication number
DE69433272T2
DE69433272T2 DE1994633272 DE69433272T DE69433272T2 DE 69433272 T2 DE69433272 T2 DE 69433272T2 DE 1994633272 DE1994633272 DE 1994633272 DE 69433272 T DE69433272 T DE 69433272T DE 69433272 T2 DE69433272 T2 DE 69433272T2
Authority
DE
Germany
Prior art keywords
parity
blocks
signal
block
coefficients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE1994633272
Other languages
English (en)
Other versions
DE69433272D1 (de
Inventor
Teruhiko Shinagawa-ku Suzuki
Yoichi Shinagawa-ku Yagasaki
Tatsuya Shinagawa-ku Sudo
Toru Shinagawa-ku Okazaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26379647&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69433272(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of DE69433272D1 publication Critical patent/DE69433272D1/de
Publication of DE69433272T2 publication Critical patent/DE69433272T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Description

  • Orthogonale Transformationen werden für verschiedene Anwendungen in diversen digitalen Signalverarbeitungssystemen benutzt. Orthogonale Transformationen erlauben eine Signalverarbeitung in der Frequenzdomäne. Allgemein bekannte Typen orthagonaler Transformation sind die schnelle Fourier-Transformation (FFT) und die diskrete Cosinustransformation (DCT) usw.. Eine orthogonale Transformation analysiert z. B. ein Fragment eines Signals in der Zeitdomäne in (in Abhängigkeit von der angewendeten orthogonalen Transformationsfunktion variierende) Frequenzkomponenten, die das Spektrum (d. h. die Verteilung der Energie über der Frequenz) des originalen Signalfragments in der Zeitdomäne angeben. Durch verschiedenartige Verarbeitung der (üblicherweise als Transformationskoeffizienten bezeichneten) Frequenzkomponenten, die aus der orthogonalen Transformation des Signalfragments resultieren, kann Redundanz in dem originalen Signalfragment reduziert werden. Mit anderen Worten, durch orthogonales Transformieren des originalen Signalfragments und Verarbeiten der resultierenden Transformationskoeffizienten kann das originale Signalfragment mit weniger Bits dargestellt werden als für die Darstellung des originalen Signalfragments benutzt werden. Durch inverse orthogonale Transformation der Transformationskoeffizienten kann das originale Signalfragment in der Zeitdomäne wiederhergestellt werden.
  • Geräte zum Komprimieren eines Bewegtbildsignals und zum Expandieren eines komprimierten Bewegtbildsignals sind allgemein bekannte Beispiele für digitale Signalverarbeitungssysteme, die mit orthogonaler Transformation arbeiten.
  • Es ist bekannt, daß die Signalleistung von Signalen mit hoher Korrelation in der Frequenzdomäne bei tieferen Frequenzen konzentriert ist. Wenn die Konzentration der Signalleistung auf einer spezifischen Koordinatenachse (z. B. der Frequenzachse) anwächst, kann die Signalredundanz progressiv reduziert werden, und das Signal kann effizienter komprimiert werden.
  • Da ein Bewegtbildsignal im allgemeinen sowohl räumlich als auch zeitlich hoch korreliert ist, kann orthogonale Transformationsverarbeitung angewendet werden, um die Signalleistung auf einer spezifischen Koordinatenachse zu konzentrieren, so daß das Bewegtbildsignal kann mit hoher Effizienz komprimiert werden kann.
  • Bisher war eine extrem große Informationsmenge erforderlich, um ein Bewegtbild, z. B. durch ein Videosignal nach dem NTSC-Standard, darzustellen. Deshalb benötigte man für die Aufzeichnung eines Bewegtbildsignals ein Aufzeichnungsmedium mit sehr großer Speicherkapazität, falls eine angemessen lange Aufzeichnungszeit zur Verfügung stehen sollte. Darüber hinaus war die Informationsrate, mit der das Bewegtbildsignal auf einem solchen Medium aufgezeichnet und von ihm wiedergegeben wird, sehr hoch. Für die Speicherung von Bewegtbildsignalen benötigte man deshalb räumlich sehr große Magnetbänder oder optische Platten.
  • Wenn ein Bewegtbildsignal auf einem kompakteren Aufzeichnungsmedium mit einer Aufzeichnungszeit akzeptabler Länge aufgezeichnet werden soll, muß es einer Signalkompression unterzogen werden, um die zu speichernde Informationsmenge zu reduzieren. Darüber hinaus muß ein Gerät zur Verfügung gestellt werden, das in der Lage ist, das von dem kompakten Aufzeichnungsmedium reproduzierte komprimierte Bewegtbildsignal zu expandieren.
  • Zur Erfüllung dieser Forderungen wurden verschiedene Kompressionsverfahren für Bewegtbildsignale vorgeschlagen, die die Korrelation zwischen und innerhalb der Teile des Bewegtbildsignals ausnutzen, die die Bilder repräsentieren, aus denen das Bewegtbildsignal besteht. Das von der Moving Picture Experts Group (MPEG) vorgeschlagene Kompressionssystem für Bewegtbildsignale z. B. ist allgemein bekannt. Da das MPEG-System in verschiedenen Druckschriften ausführlich beschrieben wurde, kann hier auf eine detaillierte Erläuterung des MPEG-Systems verzichtet werden.
  • Die folgende Beschreibung verwendet häufig den Ausdruck "Bild". Da die hier beschriebenen Signalverarbeitungsverfahren sich auf die Verarbeitung eines Bewegtbildsignals beziehen, das ein Bewegtbild repräsentiert, soll das Wort "Bild", wie es hier allgemein verwendet wird, den Teil eines Bewegtbildsignals bezeichnen, der ein Bild des Bewegtbilds oder der kinomatographischen Aufnahme repräsentiert. Außerdem kann ein Bewegtbildsignal ein Bild des Bewegtbilds entweder als Vollbild oder als Halbbild repräsentieren. Wenn nichts anderes vermerkt wird, bedeutet ein "Bild" hier ein Halbbild oder ein Vollbild.
  • Das MPEG-System bestimmt zunächst die Unterschiede zwischen den Bildern, aus denen das Bewegtbildsignal besteht, um die Redundanz des Bewegtbildsignals in der Zeitdomäne zu reduzieren. Dann reduziert das MPEG-System die Redundanz des Bewegtbildsignals in der räumlichen Domäne durch orthogonale Transformation von Blöcken von Zwischenbilddifferenzen in der räumlichen Domäne. Das MPEG-System benutzt diskrete Cosinustransformation (DCT) als orthogonale Transformation. Durch Reduzierung der Redundanz sowohl in der zeitlichen als auch in der räumlichen Domäne wird das Bewegtbild extrem effizient komprimiert. Das aus dem beschriebenen Komprimierungsprozeß hervorgehende komprimierte Bewegtbildsignal kann dann auf einem Aufzeichnungsmedium aufgezeichnet oder über ein geeignetes Übertragungsmedium übertragen werden.
  • Wenn das komprimierte Bewegtbildsignal von dem Aufzeichnungsmedium reproduziert oder über das Übertragungsmedium empfangen wird, werden die Blöcke von Transformationskoeffizienten, die aus der DCT-Transformation resultieren, aus dem komprimierten Bewegtbildsignal extrahiert. Die Transformationskoeffizienten werden im Verlauf der Rekonstruktion der Bilder des originalen Bewegtbildsignals mit Hilfe einer inversen orthogonalen Transformation (in dem MPEG-System einer inversen diskreten Cosinustransformation (IDCT)) verarbeitet, um Blöcke von Zwischenbilddifferenzen zurückzugewinnen.
  • Ein Beispiel für den Aufbau eines Geräts zum Komprimieren eines Bewegtbildsignals auf der Basis des MPEG-Systems ist in 1 dargestellt. In dem in 1 dargestellten Komprimierer wird ein digitales Bewegtbildsignal einer Blockformatierungsschaltung 101 zugeführt, in der es aus einem Standardvideoformat, z. B. dem Videosignalformat nach dem NTSC-Standard, in ein Blockformat umgewandelt wird, um ein blockstrukturiertes Bewegtbildsignal zu gewinnen. In diesem ist jedes Bild des Bewegtbildsignals in der räumlichen Domäne, d. h. horizontal und vertikal, in Makroblöcke von z. B. 16 × 16 Pixeln unterteilt. Die Makroblöcke sind ihrerseits in Blöcke von 8 × 8 Pixeln unterteilt.
  • Das in 1 dargestellte Gerät komprimiert jedes Bild des Bewegtbildsignals Block für Block, bis alle Blöcke verarbeitet sind, aus denen das Bild besteht. Das Gerät verarbeitet dann ein weiteres Bild des Bewegtbildsignals, das das nächste Bild in der das Bewegtbild bildenden Sequenz von Bildern sein kann oder nicht. In der folgenden Beschreibung des in 1 dargestellten Geräts wird die Komprimierung eines Blocks von Pixeln in einem Bild erläutert. Der Block von Pixeln, der komprimiert wird, ist der laufende Bildblock, der ein Block des laufenden Bilds ist. Das blockstrukturierte Bewegtbildsignal wird an den Bewegungsprädiktor 102 ausgegeben. Der Bewegungsprädiktor liefert das laufende Bild, das den laufenden Bildblock S1 enthält, Block für Block an die Differenzblock-Berechnungsschaltung 103.
  • Wenn die Differenzblock-Berechnungsschaltung 103 den laufenden Bildblock aus dem Bewegungsprädiktor 102 empfängt, empfängt sie auch den dem laufenden Bildblock entsprechenden Vergleichsblock (matching block) S2 aus dem Bewegungsprädiktor 102. Der Prädiktor 113 leitet den Vergleichsblock aus den rekonstruierten Bildern ab, die in dem Bildspeicherblock 112 gespeichert sind. Die Differenzenblock-Berechnungsschaltung 103 bestimmt Pixel für Pixel die Differenz zwischen dem laufenden Bildblock S1 und seinem korrespondierenden Vergleichsblock S2. Der resultierende Block von Differenzen, der Differenzenblock S3, wird der orthogonalen Transformationsschaltung 104 zugeführt.
  • Die orthogonale Transformationsschaltung 104, die normalerweise eine Schaltung zur diskreten Cosinustransformation (DCT) ist, unterzieht den Differenzblock S3 einer orthogonalen Transformation und liefert den resultierenden Block von Transformationskoeffizienten an den Quantisierer 105. Der Quantisierer 105 quantisiert den Block von Transformationskoeffizienten und liefert einen Block aus quantisierten Transformationskoeffizienten. Der (in den Zeichnungen durchgehend mit VLC bezeichnete) variable Längenkodierer 106 unterzieht den aus dem Quantisierer 105 kommenden Block von quantisierten Transformationskoeffizienten einer variablen Längenkodierung, z. B. einer Huffman-Kodierung oder Lauflängenkodierung usw.. Der resultierende Block aus kodierten Transformationskoeffizienten wird dann über den Ausgangspuffer 107 z. B. einem digitalen Übertragungsweg zugeführt.
  • Ein Steuersignal, das die Zahl der in dem Ausgangspuffer 107 gespeicherten Bits angibt, wird zu dem Quantisierer 105 rückgekoppelt. Der Quantisierer stellt die Größe der Quantisierungsstufe jeweils in Abhängigkeit von dem Steuersignal ein, um einen Überlauf oder einen Unterlauf des Ausgangspuffers zu verhindern. Durch die Vergrößerung oder Verkleinerung der Quantisierungsstufe wird die Zahl der Bits, die dem Ausgangspuffer zugeführt werden, verkleinert bzw. vergrößert.
  • Der Block aus quantisierten Transformationskoeffizienten wird von dem Quantisierer 105 auch dem inversen Quantisierer 108 zugeführt, der Teil des in dem Komprimierer verwendeten lokalen Kodierers ist, um aus den quantisierten Transformationskoeffizienten die für die Prädiktionskodierung benutzten rekonstruierten Bilder abzuleiten. Der inverse Quantisierer 108 bewirkt eine inverse Quantisierung des Blocks aus quantisierten Transformationskoeffizienten durch eine zu der Quantisierung in dem Quantisierer 105 komplementäre Verarbeitung. Der resultierende Block von Transformationskoeffizienten wird der (in den Zeichnungen durchgehend mit IDCT bezeichneten) inversen orthogonalen Transformationsschaltung 109 zugeführt, in der er durch eine zu der orthogonalen Transformation in der orthogonalen Transformationsschaltung 104 komplementäre Verarbeitung invers orthogonal transformiert wird. Der resultierende restaurierte Differenzblock S4 wird dem Addierer 110 zugeführt.
  • Der Addierer 110 nimmt auch den Vergleichsblock S2 für den laufenden Bildblock S1 aus einem der Bildspeicher in der Bildspeichergruppe 112 auf, der von dem Prädiktor 113 ausgewählt wird. Der Addierer 110 addiert den restaurierten Differenzblock S4 aus der inversen orthogonalen Transformationsschaltung 109 und den Vergleichsblock S2 aus der Bildspeichergruppe 112 Pixel für Pixel und liefert den rekonstruierten Bildblock S5. Der rekonstruierte Bildblock wird an einen der Bildspeicher 112A bis 112D ausgegeben, der von dem Wähler 111 ausgewählt wird, und dort gespeichert.
  • Der rekonstruierte Bildblock wird in dem ausgewählten Bildspeicher gespeichert, wo er einen (dem laufenden Block entsprechenden) Block des rekonstruierten Bildes bildet, das Block für Block aus rekonstruierten Bildblöcken in dem ausgewählten Bildspeicher rekonstruiert wird. Wenn das rekonstruierte Bild vollständig vorliegt, wird es für die Herleitung der Vergleichsblöcke für die Prädiktionskodierung zum Komprimieren weiterer Bilder des Bewegtbildsignals verwendet.
  • Der Bewegungsprädiktor 102 bestimmt für jeden Makroblock des laufenden Bildes einen Bewegungsvektor zwischen dem Makroblock der laufenden Bilder und verschiedenen Makroblöcken der anderen Bilder des Bewegtbildsignals, die dort gespeichert sind. Der Bewegungsprädiktor erzeugt außerdem eine Summe der Absolutwerte der Differenzen (die "Differenz-Absolutwertsumme") zwischen den Pixeln in jedem Makroblock des laufenden Bildes und den verschiedenen Makroblöcken der anderen Bilder. Jede Differenz-Absolutwertsumme bezeichnet den Grad der Übereinstimmung zwischen jedem Makroblock des laufenden Bilds und den Makroblöcken der anderen Bilder. Der Bewegungsprädiktor liefert jeden Bewegungsvektor und die entsprechende Differenz-Absolutwertsumme an die Prädiktionsmodus-Bestimmungsschaltung 115.
  • Die Prädiktionsmodus-Bestimmungsschaltung 115 benutzt die aus dem Bewegungsprädiktor 102 empfangenen Daten, um den Bewegungsmodus festzulegen, der für die Prädiktionskodierung des laufenden Bildes relativ zu einem oder mehreren anderen rekonstruierten Bildern benutzt wird. Für die Prädiktionskodierung des laufenden Bildes kann eine der folgenden Prädiktionsarten benutzt werden.
    • (1) Intra-Bild-Modus, bei dem das Bild ohne Bezugnahme auf andere Bilder nur durch sich selbst komprimiert wird. Ein so komprimiertes Bild wird als I-Bild bezeichnet.
    • (2) Vorwärtsprädiktions-Modus, bei dem die Prädiktion unter Bezugnahme auf ein rekonstruiertes Bild durchgeführt wird, das in dem Bewegtbild früher auftritt. Ein so kodiertes Bild wird als P-Bi1d bezeichnet.
    • (3) Bidirektionaler Prädiktionsmodus, bei dem eine Block-für-Block-Prädiktion unter Bezugnahme auf einen Referenzblock durchgeführt wird, der aus einem rekonstruierten Bild, das in dem Bewegtbild früher auftritt, einem rekonstruierten Bild, das in dem Bewegtbild später auftritt, oder durch eine lineare Operation Pixel für Pixel (d. h. eine Mittelwertberechnung) zwischen einem früher rekonstruierten Bild und einem später rekonstruierten Bild hergeleitet wird. Ein so kodiertes Bild wird als B-Bild bezeichnet.
  • Mit anderen Worten, ein I-Bild ist ein Bild, in dem Intra-Bildkodierung innerhalb des Bildes durchgeführt wird. Ein P-Bild wird aus einem rekonstruierten I-Bild oder P-Bild prädiziert, das in dem Bewegtbild früher auftritt. Ein B-Bild wird Block für Block prädiziert, indem ein früheres oder späteres rekonstruiertes I-Bild oder P-Bild benutzt wird oder ein Block, der durch eine lineare Operation gewonnen wird, bei der ein rekonstruiertes I-Bild oder P-Bild benutzt wird, das in dem Bewegtbild früher auftritt, und ein rekonstruiertes I-Bild oder P-Bild, das in dem Bewegtbild später auftritt.
  • Die Prädiktionsmodus-Bestimmungsschaltung 115 liefert den Prädiktionsmodus und den entsprechenden Bewegungsvektor an den Prädiktor 113 und den Leseadressengenerator 114. Der Leseadressengenerator 114 liefert in Abhängigkeit von dem Bewegungsvektor Leseadressen an die Bildspeichergruppe 112, mit denen aus jedem der Bildspeicher 112A bis 112D ein Block des darin gespeicherten rekonstruierten Bilds ausgelesen wird. Der Ort des ausgelesenen Blocks in dem rekonstruierten Bild wird durch den Bewegungsvektor bestimmt. Der Prädiktor 113 wählt in Abhängigkeit von dem Prädiktionsmodussignal PM aus der Prädiktionsmodus-Bestimmungsschaltung 115 einen der aus den Bildspeichern 112A bis 112D ausgelesenen Blöcke aus. Der ausgewählte ausgelesene Block bildet den Vergleichsblock S2 für den laufenden Block S1. Wenn der laufende Block Teil eines B-Bildes ist, führt der Prädiktor auch lineare Operationen an den aus den Bildspeichern 112A bis 112D ausgelesenen Blöcken durch, um den benötigten Vergleichsblock zu erzeugen. Der Prädiktor liefert den Vergleichsblock S2 an die Differenzblock-Berechnungsschaltung 103 und den Addierer 110.
  • In 2 ist ein Beispiel für den Aufbau eines Geräts zum Expandieren eines komprimierten Bewegtbildsignals auf der Basis des MPEG-Systems dargestellt. In diesem wird das komprimierte Bewegtbildsignal, das direkt aus dem Komprimierer oder durch Wiedergabe von einem Aufzeichnungsmedium gewonnen wird, als Bitstrom dem Eingangspuffer 121 zugeführt, in dem es temporär gespeichert wird. Das komprimierte digitale Signal enthält Blöcke von kodierten Transformationskoeffizienten (einschließlich eines Blocks von kodierten Transformationskoeffizienten, die den laufenden Block repräsentieren) sowie eine Prädiktionsmodusinformation, eine Information über die Quantisierungsstufengröße und einen Bewegungsvektor für jeden Block.
  • Das komprimierte Bewegtbildsignal wird aus dem Eingangspuffer 121 einzeln Bild für Bild ausgelesen und einem (in den Zeichnungen durchgehend mit IVLC bezeichneten) inversen variablen Längenkodierer 122 zugeführt. Der inverse variable Längenkodierer 122 unterzieht das komprimierte Bewegtbildsignal einer inversen variablen Längenkodierung und zerlegt das komprimierte Bewegtbildsignal in seine Komponenten, die Blöcke von quantisierten Transformationskoeffizienten, ferner die Prädiktionsmodusinformation, die Stufengrößeninformation und einen Bewegungsvektor für jeden Block enthalten.
  • Jeder Block von kodierten Transformationskoeffizienten wird dem inversen Quantisierer 123 zugeführt, der die Stufengrößeninformation für die inverse Quantisierung des Blocks von quantisierten Transformationskoeffizienten benutzt und einen Block von Transformationskoeffizienten liefert. Die inverse orthogonale Transformationsschaltung 124 unterzieht den Block von Transformationskoeffizienten einer inversen orthogonalen Transformation, normalerweise der inversen orthogonalen Cosinustransformation (IDCT), um einen restaurierten Differenzblock abzuleiten. Die Verarbeitungen in dem inversen Quantisierer 123 und der inversen orthogonalen Transformationsschaltung 124 sind zu den Verarbeitungen in dem Quantisierer 105 bzw. der orthogonalen Transformationsschaltung 104 in dem Komprimierer von 1 komplementär.
  • Der Leseadressengenerator 130 liefert eine Leseadresse an die Bildspeicher 128A bis 128D nach Maßgabe des Bewegungsvektors für den laufenden Block, der aus der aus dem inversen variablen Längenkodierer 122 empfangen wird. In Abhängigkeit von der Leseadresse liest jeder der Bildspeicher 128A bis 128D einen Block des in ihm gespeicherten rekonstruierten Bildes aus. Der Prädiktor 129 wählt in Abhängigkeit von dem Prädiktionsmodussignal PM, das ebenfalls aus dem inversen variablen Längenkodierer 122 empfangen wird, einen der aus den Bildspeichern 128A bis 128D ausgelesenen Blöcke aus. Der ausgewählte ausgelesene Block bildet den Vergleichsblock zum Rekonstruieren des laufenden Blocks. Wenn der laufende Block Teil eines als B-Bild kodierten Bildes ist, führt der Prädiktor auch lineare Operationen an dem aus den Bildspeichern 112A bis 112D ausgelesenen Blöcken durch, um den Vergleichsblock zu bilden. Der Prädiktor 129 liefert den Vergleichsblock an den Addierer 125.
  • Der Addierer 125 führt eine Addition Pixel für Pixel zwischen dem restaurierten Differenzblock aus der inversen Transformationsschaltung 124 und dem Vergleichsblock aus dem Prädiktor 129 durch, um den laufenden Bildblock des laufenden Bildes zu rekonstruieren. Der Wähler 126 liefert den rekonstruierten laufenden Bildblock zur Speicherung an einen der Bildspeicher 128A bis 128D, in welchem das laufende Bild gerade rekonstruiert wird. Der rekonstruierte laufende Bildblock wird in dem ausgewählten Bildspeicher an der Position des laufenden Bildblocks in dem rekonstruierten laufenden Bild gespeichert. Wenn alle rekonstruierten Blöcke des laufenden Bilds in dem ausgewählten Bildspeicher 128A bis 128D gespeichert wurden, ist das rekonstruierte laufende Bild bereit zum Auslesen sowie zur Verwendung als Referenzbild für die Rekonstruktion anderer Bilder, die in dem Bewegtbild früher oder später auftreten.
  • Die rekonstruierten Bilder, die in den Bildspeichern 128A bis 128D gespeichert sind, werden über den Wähler 126 in Abhängigkeit von Leseadressen, die von dem Anzeigeadressengenera tor 127 erzeugt werden, als Ausgangsbewegtbildsignal ausgelesen. Ein (nicht dargestellter) Abtastwandler wandelt das aus den Bildspeichern 128A bis 128D ausgelesene Ausgangsbewegtbildsignal in das Rasterformat des gewünschten Videosignalformats, z. B. NTSC, um. Das resultierende Ausgangsbewegtbildsignal kann dann auf einer geeigneten Anzeigevorrichtung, z. B. einer Kathodenstrahlröhre usw., angezeigt werden. In dem vorliegenden Beispiel ist der Synchronisiersignalgenerator 131 auf eine externe Synchronisiersignalquelle synchronisiert und erzeugt periodisch ein Rahmensynchronisiersignal, das dem Anzeigeadressengenerator 127 zugeführt wird. Der Anzeigeadressengenerator 127 erzeugt Leseadressen synchron mit dem Rahmensynchronisiersignal.
  • Die orthogonalen Transformationsschaltungen, z. B. die DCT- und IDCT-Schaltungen, die in dem oben beschriebenen Komprimierer und Expandierer benutzt werden, führen jeweils arithmetische Operationen an Pixelwerten und Transformationskoeffizienten durch, die durch ganze Zahlen mit einer endlichen Bitzahl repräsentiert werden. Deshalb können die orthogonalen Transformationsoperationen, die von den orthogonalen Transformationsschaltungen durchgeführt werden, dazu führen, daß die Zahl der Bits abgeschnitten wird. Aus diesem Grund kann eine Differenz in der Genauigkeit der orthogonalen Transformationsoperation, bei der reale Zahlen verwendet werden, oder eine Differenz im Aufbau der für die Durchführung der orthogonalen Transformationsoperation benutzten Schaltungen das Ergebnis der orthogonalen Transformationsoperation verändern. Dies kann zu einer fehlerhaften Anpassung zwischen dem Komprimierer und dem Expandierer führen und zu Fehlanpassungen zwischen Expandierern, die gemeinsam ein komprimiertes Signal expandieren.
  • In dem Komprimierer wird z. B. der aus dem Bewegtbildsignal abgeleitete Differenzblock orthogonal transformiert, und es wird eine bestimmte Verarbeitung angewendet, um die resultierenden Transformationskoeffizienten im Verlauf der Erzeugung des komprimierten Bewegtbildsignals zu quantisieren. Wenn dann in dem Expandierer die Rechengenauigkeit für reale Zahlen oder die Konfiguration der inversen orthogonalen Transformationsschaltung nicht mit der des Komprimierers korrespondiert, kann sich das Ausgangssignal des Expandierers von dem Eingangssignal des Komprimierers unterscheiden. Das Ausgangssignal des Expandierers kann also von der Genauigkeit und der Konfiguration des als Expandierer benutzten Geräts abhängen.
  • Die Rechengenauigkeit oder die Konfiguration einer inversen orthogonalen Transformation kann in Abhängigkeit von der Vorrichtung zur Durchführung der inversen orthogonalen Transformation variieren. So kann z. B. die inverse Transformation eines Blocks von Transformationskoeffizienten, bei der zwei verschiedene Konstruktionen des gleichen Typs von inversen orthogonalen Transformationsschaltungen benutzt werden, zu unterschiedlichen Ergebnis sen führen. Eine solche Differenz der Ergebnisse wird als Abgleichfehler (mismatch error) der inversen orthogonalen Transformation (im folgenden kurz "Abgleichfehler") bezeichnet.
  • Das MPEG-System definiert die Rechengenauigkeit, mit der die DCT und die IDCT ausgeführt werden sollen, es definiert jedoch nicht die Rechenmethode und die Konfiguration. Dies liegt daran, daß Schaltungen und Methoden zur Durchführung von DCTs und IDCTs entwickelt wurden, bevor die MPEG-Standards etabliert wurden.
  • In dem MPEG-System implementiert der Komprimierer, wie oben beschrieben, z. B. zwischenbild-bewegungskompensierte Prädiktionskodierung für das Bewegtbildsignal. Hierbei wird das Bewegtbildsignal in Blöcke unterteilt, aus dem laufenden Bildblock und einem durch Anwendung von Bewegungskompensation auf ein rekonstruiertes Bild gewonnenen Vergleichsblock wird ein Differenzblock abgeleitet, der Differenzblock wird durch DCT orthogonal transformiert, die resultierenden Transformationskoeffizienten werden quantisiert, die quantisierten Transformationskoeffizienten werden einer variablen Längenkodierung unterzogen, und die kodierten Transformationskoeffizienten werden mit der Prädiktionsmodusinformation, der Information über die Quantisierungsstufengröße und mit Bewegungsvektoren zusammengefügt, um das komprimierte Bewegungsbildsignal zu erzeugen.
  • Der Expandierer unterzieht die kodierten Transformationskoeffizienten einer inversen variablen Längenkodierung, wendet auf die aus der inversen variablen Längenkodierung hervorgehenden quantisierten Transformationskoeffizienten inverse Quantisierung an und unterzieht die aus der inversen Quantisierung hervorgehenden Transformationskoeffizienten einer IDCT-Verarbeitung. Der resultierende restaurierte Differenzblock wird zu einem Vergleichsblock addiert, der dadurch gewonnen wird, daß auf ein rekonstruiertes Bild eine von dem Bewegungsvektor abhängige Bewegungskompensation angewendet wird. Der resultierende rekonstruierte Bildblock wird als Block eines rekonstruiertes Bilds gespeichert, das ein Bild des Bewegtbildausgangssignals liefert, und steht außerdem für die Verwendung als Referenzbild zur Verfügung.
  • Der Komprimierer enthält einen lokalen Dekodierer, der aus den quantisierten Transformationskoeffizienten rekonstruierte Bilder für die Verwendung bei der Prädiktionskodierung ableitet. Der lokale Dekodierer enthält einen inversen Quantisierer und eine inverse orthogonale Transformationsschaltung.
  • Falls sich der Aufbau der IDCT-Schaltung in dem lokalen Dekodierer des Komprimierers von derjenigen der IDCT-Schaltung in dem Expandierer unterscheidet, gibt es Fälle, in denen die von dem lokalen Dekodierer in dem Komprimierer erzeugten rekonstruierten Bilder sich von den von dem Expandierer erzeugten rekonstruierten Bildern unterscheiden. Die Abhängigkeit der IDCT-Verarbeitung von der Implementierung kann Probleme verursachen, wenn das von einem Komprimierer nach dem MPEG-Standard erzeugte komprimierte Bewegtbildsignal auf einem Aufzeichnungsmedium, z. B. einer optischen Platte usw., für die Weitergabe an die Öffentlichkeit aufgezeichnet wird. Wenn das von der optischen Platte reproduzierte komprimierte Bewegtbildsignal mit Hilfe von Expandierern expandiert wird, die von verschiedenen Herstellern hergestellt und vertrieben werden, kann sich das reproduziere Bild von dem ursprünglichen Bild unterscheiden. Darüber hinaus können die Differenzen von dem benutzten tatsächlichen Expandierer abhängen. Ähnliche Inkompatibilitäten zwischen verschiedenen Expandierern können auch auftreten, wenn das komprimierte Bewegtbildsignal durch ein Verteilungssystem, wie terrestrischen oder Satellitenrundfunk, ein Telefonsystem, ein ISDN-System, ein Kabel oder ein optisches Verteilungssystem usw. verteilt wird.
  • Abgleichfehler sind besonders problematisch, wenn eine Zwischenbild-Prädiktionskodierung durchgeführt wird. Zwischenbild-Prädiktionskodierung kann entweder Zwischenhalbbild- (Interfield)-Kodierung oder Zwischenvollbild-(Interframe)-Kodierung sein. Zwischenbild-Prädiktionskodierung kann die Ursache dafür sein, daß Abgleichfehler sich bis zu einem Maß akkumulieren, daß sie zu gravierenden Fehlern in den rekonstruierten Bildern führen.
  • Bei der nach dem MPEG-System durchgeführten Bewegtbildsignalkomprimierung wird jede Videosequenz in Gruppen von Bildern (GOPs) mit beispielsweise acht oder zwölf Bildern unterteilt. Jedes einzelne Bild wird, wie oben beschrieben, als I-Bild, P-Bild bzw. B-Bild klassifiziert.
  • Bei der Bewegungsprädiktion werden B-Bilder nicht als Referenzbilder verwendet. Deshalb führt ein Abgleichfehler, der in einem B-Bild auftritt, nicht zu Fehlern in anderen Bildern.
  • Wenn in einem P-Bild ein Abgleichfehler auftritt, wird das Bild mit dem Abgleichfehler in dem Bildspeicher gespeichert, um bei der Prädiktionskodierung verwendet zu werden. Wenn eine Zwischenbild-Prädiktionskodierung durchgeführt wird, breitet sich deshalb der Fehler in dem in dem Bildspeicher gespeicherten P-Bild allmählich auf die P-Bilder und B-Bilder aus, die durch Prädiktionskodierung aus ihm abgeleitet werden. Der Fehler akkumuliert sich, bis das Bild durch ein I-Bild oder ein P-Bild ersetzt wird, das keinen solchen Fehler aufweist.
  • Wenn in einem I-Bild ein Abgleichfehler auftritt, wird das rekonstruierte Bild mit dem Abgleichfehler in ähnlicher Weise in dem Bildspeicher gespeichert, um bei der Prädiktionskodierung verwendet zu werden. Wenn nun Zwischenbild-Prädiktionskodierung durchgeführt wird, breitet sich der Fehler in dem in dem Bildspeicher gespeicherten I-Bild und deshalb auf die P-Bilder und B-Bilder aus, die durch Prädiktionskodierung aus ihm abgeleitet werden. Der Feh ler akkumuliert sich, bis das Bild durch ein neues I-Bild ersetzt wird, das keinen solchen Fehler aufweist.
  • Die Fehlerakkumulierung ist in 3 dargestellt. Wenn in 3 der Abgleichfehler bei der Dekodierer eines I-Bildes gleich EI und der Abgleichfehler bei der Dekodierung des P-Bildes P1 gleich EP1 ist, ist der Wert des Fehlers in dem rekonstruierten P-Bild gleich EI + EP1. Wenn weiterhin der Abgleichfehler bei der Dekodierung des P-Bildes P2 gleich EP2 ist, hat der Fehler in dem rekonstruierten P-Bild P2 den Wert EI + EPI + EP2. Selbst wenn die einzelnen Abgleichfehler klein sind, führt die allmähliche Akkumulierung dieser Fehler zu einem großen Fehler.
  • Abgleichfehler, die durch die in den MPEG-Dekodierern benutzte IDCT-Verarbeitung sowohl in dem Komprimierer als auch in dem Expandierer erzeugt werden, lassen sich in zwei verschiedene Typen klassifizieren.
    • Typ (1): Fehler, die aus unzureichender Rechengenauigkeit herühren.
    • Typ (2): Fehler, die aus systematischen Differenzen bei der Rundung herühren.
  • Der MPEG-Standard enthält eine Forderung für die Rechengenauigkeit. Diese Forderung ist jedoch nicht so streng, daß sie gewährleistet, daß ein Abgleichfehler nicht auftritt. Deshalb kann ein Abgleichfehler vom Typ (1) zwischen IDCT-Vorrichtungen auftreten, deren Rechengenauigkeit die MPEG-Forderung durchaus erfüllt.
  • Die Ausgangssignale der IDCT-Verarbeitung sind ganze Zahlen. Deshalb müssen die Verarbeitungsergebnisse gerundet werden, nachdem die IDCT-Verarbeitung mit realen Zahlen durchgeführt wurde. Im allgemeinen werden die Verarbeitungsergebnisse auf die nächste ganze Zahl gerundet. Ein Problem tritt jedoch dann auf, wenn das Verarbeitungsergebnis *,5 ist, wobei * irgendeine ganze Zahl bedeutet. Der MPEG-Standard definiert nicht, wie ein Verarbeitungsergebnis von *,5 gerundet werden soll. Einige IDCT-Vorrichtungen runden *,5 auf, während andere IDCT-Vorrichtungen *,5 abrunden. Außerdem gibt es Fälle, in denen das Aufrunden oder Abrunden von dem Vorzeichen des Verarbeitungsergebnisses abhängt. Abgleichfehler, die aus den beschriebenen systematischen Rundungsfehlern resultieren, sind Abgleichfehler vom Typ (2).
  • Abgleichfehler vom Typ (1) unterscheiden sich von Abgleichfehlern vom Typ (2) darin, daß Fehler vom Typ (1) zufällig auftreten, während Fehler vom Typ (2) systematische Fehler sind. Weil Fehler vom Typ (1) zufällig sind, treten positive Fehler und negative Fehler mit annähernd gleicher Wahrscheinlichkeit auf. Wenn die Prädiktionskodierung über eine lange Zeit durchgeführt wird, kann man deshalb davon ausgehen, daß Abgleichfehler vom Typ (1) einander kompensieren.
  • Auf der anderen Seite haben Abgleichfehler vom Typ (2) konsistent die gleiche Polarität, da es sich um systematische Fehler handelt, die der IDCT-Verarbeitung selbst inhärent sind. Deshalb kumuliert sich der Abgleichfehler in einer Richtung, wenn die Prädiktionskodierung über eine lange Zeit durchgeführt wird. Obwohl jeder Abgleichfehler vom Typ (2) nur +1 oder –1 ist, wird der kumulative Abgleichfehler groß, wenn viele Abgleichfehler sich in einer Richtung akkumulieren.
  • Abgleichfehler vom Typ (1) werden zwar temporär erzeugt, kompensieren jedoch einander mit der Zeit und sind sie relativ unproblematisch. Abgleichfehler vom Typ (2) akkumulieren sich hingegen in einer Richtung und sind deshalb problematisch. Deshalb sollte das Auftreten von kumulativen Abgleichfehlern des Typs (2) nach Möglichkeit verhindert werden.
  • In dem MPEG1-System wurde vorgeschlagen, vor der IDCT-Verarbeitung eine Verarbeitung durchzuführen, durch die das Auftreten von Abgleichfehlern vom Typ (2) zu verhindern wird. Durch die Verarbeitung werden die Transformationskoeffizienten aller Komponenten auf einen ungeradzahligen Wert gesetzt mit Ausnahme des Transformationskoeffizienten der Komponente (0, 0) eines Makroblocks eines inta-bildkodierten Bilds (eines "Intra-Makroblocks"). In einem Intra-Makroblock ist die Komponente (0, 0) die Gleichkomponente. Wie in 4 dargestellt, sind die Transformationskoeffizienten der Komponenten (0, 1), (7, 1), (2, 3), (5, 3), (1, 5), (6, 5), (3, 7) und (4, 7) zu Beginn alle gleich 568. Da dies eine gerade Zahl ist, setzt die Vorverarbeitung die Werte dieser Koeffizienten auf einen ungeraden Wert, z. B. 567. Wenn die vorverarbeiteten Transformationskoeffizienten einer inversen diskreten Cosinustransformation unterzogen werden, treten niemals Bruchzahlen als Ergebnis auf.
  • Da die Gleichkomponente des Intra-Makroblocks für das Aussehen des aus dem komprimierten Bewegtbildsignals sehr wichtig ist, wird seine Genauigkeit nur auf acht Bit begrenzt. (Sie wird nicht in einen ungeradzahligen Wert ungewandelt, da dies die Genauigkeit dieser wichtigen Komponente beeinträchtigen würde. Auf der anderen Seite werden alle Transformationskoeffizienten, die aus der Transformation eines Makroblocks eines mit Zwischenbild-Kodierung kodierten Bildes (eines "Nicht-Intra-Makroblocks") einer ähnlichen Verarbeitung unterzogen wie die Transformationskoeffizienten der anderen Komponenten als der Gleichkomponente eines Intra-Makroblocks, um die Transformationskoeffizienten ausschließlich auf ungeradzahlige Werte zu beschränken.
  • Die Verarbeitung, bei der die Werte der der IDCT-Verarbeitung unterzogenen Transformationskoeffizienten alle auf einen ungeradzahligen Wert gesetzt werden, wird im folgenden als "Oddifizierung" (von odd = ungeradzahlig) bezeichnet.
  • Die Oddifizierung hat zur Folge, daß bei der IDCT-Verarbeitung sowohl in dem Komprimierer als auch in dem Expandierer nach einer gemeinsamen Vorschrift gerundet wird. Dadurch wird es möglich, daß konsistente Bildqualität zwischen verschiedenen Expandierern beibehalten wird.
  • Trotz der oben beschriebenen Oddifizierung treten in MPEG-Prozessoren jedoch die oben beschriebenen kumulativen Abgleichfehler vom Typ (2) nach wie vor auf, weil die IDCT-Verarbeitung immer noch Ergebnisse in der Form *,5 erzeugen kann, worin * eine ganze Zahl bedeutet. Die Umstände, die zu einem Ergebnis *,5 führen, werden im folgenden beschrieben, wobei als Beispiel die in dem MPEG-System benutzte zweidimensionale 8 × 8-IDCT herangezogen wird.
  • Die zweidimensionale 8 × 8-IDCT wird durch folgende Gleichung ausgedrückt.
  • Figure 00130001
  • In der obigen Gleichung bezeichnet F(u, v) die DCT-Koeffizienten, die der zweidimensionalen IDCT unterzogen wurden. In der Gleichung (1) ist jeder Ausgangswert der IDCT eine reale Zahl, d. h. eine rationale Zahl oder eine irrationale Zahl. Da *,5 eine rationale Zahl ist, wird das Auftreten eines kumulativen Abgleichfehlers verhindert, wenn man den Ausgangswert der IDCT zu einer irrationalen Zahl macht. Auf der anderen Seite ist es möglich, daß der Ausgangswert gleich *,5 ist, wenn der Ausgangswert eine rationale Zahl ist.
  • Die DCT-Koeffizienten F(0, 0), F(0, 4), F(4, 0), F(4, 4) sind spezielle DCT-Koeffizienten. Wenn irgendeiner dieser DCT-Koeffizienten einen von Null abweichenden Wert hat, ist der Ausgangswert der IDCT eine rationale Zahl. Die Ausgangswerte der IDCT werden in diesem Fall durch die folgende Gleichung (2) ausgedrückt.
  • Figure 00130002
  • Figure 00140001
  • Wenn nur einer der speziellen DCT-Koeffizienten F(0, 0), F(0, 4), F(4, 0), F(4, 4) einen von Null abweichenden Wert hat, der ein Vielfaches von 4, jedoch kein Vielfaches von 8 ist, ist der Ausgangswert gleich *,5.
  • Wenn die vier speziellen DCT-Koeffizienten die einzigen Koeffizienten mit einem von Null abweichenden Wert sind, wird der Ausgangswert der IDCT durch die folgende Gleichung (3) ausgedrückt.
  • Figure 00140002
  • Mit verschiedenen Kombinationen von x und y kann f(x, y) in Gleichung (3) die folgenden Werte haben:
  • Figure 00140003
  • Wenn die Werte der vier speziellen Koeffizienten so beschaffen sind, daß irgendeine der in Gleichung (4) angegebenen Ausdrücke ein Vielfaches von 4 jedoch kein Vielfaches von 8 ist, tritt ein Ergebnis *,5 auf.
  • Wenn die vier speziellen Koeffizienten von Null abweichende Werte haben, besteht eine hohe Wahrscheinlichkeit, daß der Ausgangswert der IDCT gleich *,5 ist.
  • Auch verschiedene symmetrische Paarungen von DCT-Koeffizienten mit von Null abweichenden Werten außer den soeben diskutierten vier speziellen Koeffizienten können einen Ausgangswert von *,5 erzeugen:
    • (1) Wenn das Paar von Koeffizienten X(2n + 1, 2m + 1), X(2m + 1, 2n + 1) die gleichen von Null abweichenden Werte haben und der Wert ein Vielfaches von 4 jedoch kein Vielfaches von 8 ist, oder
    • (2) wenn die Koeffizienten des Paares X(2n + 1, 2n + 1), X(8 – 2n – 1, 8 – 2n – 1) die gleichen von Null abweichenden Werte haben und der Wert ein Vielfaches von 4 jedoch kein Vielfaches von 8 ist.
  • In den obigen Ausdrücken ist X(i, j) der Transformationskoeffizient einer Komponente einer zweidimensionalen 8 × 8-DCT.
  • Wenn ein tatsächliches Bewegtbildsignal von einem Komprimierer nach dem MPEG-System komprimiert wird, werden in den vorangehend erwähnten Mustern häufig von Null abweichende DCT-Koeffizienten erzeugt, die einen IDCT-Ausgangswert *,5 ergeben können. Darüber hinaus sind die Werte der vier speziellen Koeffizienten meistens von Null verschieden.
  • Da die häufigste gemeinsame Ursache eines Ergebnisses *,5 das Muster von DCT-Koeffizienten ist, in welchem die Werte der vier speziellen Koeffizienten von Null verschieden sind, wird die Wahrscheinlichkeit, daß ein Abgleichfehler auftritt, erheblich reduziert, wenn man verhindert, daß ein Abgleichfehler in Abhängigkeit von den vier speziellen Koeffizienten auftritt.
  • Die Verarbeitungsmethode, bei der ein Intra-Makroblock und ein Nicht-Intra-Makroblock bei MPEGI invers quantisiert werden, ist in 5 dargestellt. In 5 ist QAC(i, j) der (i, j)-te DCT-Koeffizient, Wi(i, j) das (i, j)-te Element einer Gewichtungsmatrix, mquant der Quantisierungskoeffizient und rec(i, j) der (i, j)-te invers-quantisierte DCT-Koeffizient. Die Verarbeitungsprozedur ist in der Syntax der Programmiersprache C geschrieben. Die Syntax dieser Sprache ist in Herbert Schildt, "Using Turbo C", Osborne McGraw Hill (1988) speziell auf den Seiten 83–87 beschrieben.
  • Die quantisierten DCT-Koeffizienten werden invers quantisiert, und die resultierenden DCT-Koeffizienten werden dann der IDCT-Verarbeitung unterzogen. Bei MPEGI wird jedoch zu den DCT-Koeffizienten, die einen geradzahligen Wert haben, +1 oder –1 addiert, um sicherzustellen, daß alle der IDCT-Verarbeitung unterzogenen DCT-Koeffizienten ungeradzahlige Werte haben. Als Ergebnis dieser Operation, wenn z. B. nur der eine der vier speziellen Koeffizienten F(0, 0) einen von Null abweichenden Wert hat, weil ein Abgleichfehler auftritt, wenn F(0, 0) ein Vielfaches von 4 jedoch kein Vielfaches von 8 ist, falls die DCT-Koeffizienten so verarbeitet werden, daß alle einen ungeradzahligen Wert haben, kann das Ergebnis nicht gleich *,5 sein, wenn der DCT-Koeffizient der IDCT-Verarbeitung unterzogen wird. Ähnlich tritt auch dann ein Abgleichfehler nicht auf, wenn nur einer der anderen der vier speziellen Koeffizienten F(0, 4), F(4, 0), F(4, 4) einen von Null abweichenden Wert hat. Wenn jedoch mehrere der vier speziellen Koeffizienten einen von Null abweichenden Wert haben, wie dies aus 4 ersichtlich ist, oder wenn Paare von symmetrisch angeordneten Koeffizienten auftreten, wie in den oben erwähnten Fällen (1) und (2), wird das Auftreten eines Abgleichfehlers auch dann nicht verhindert, wenn alle DCT-Koeffizienten ungeradzahlig gemacht werden.
  • Das Ungeradzahligmachen bei MPEG1 verhindert deshalb nicht, daß ein kumulativer Abgleichfehler auftritt, wenn zwei oder mehr der DCT-Koeffizienten einen von Null verschiedenen Wert haben. Darüber hinaus reduziert das Ungeradzahligmachen bei MPEG1 die Auflösung der quantisierten Transformationskoeffizienten um den Faktor 2, da Transformationskoeffizienten mit geradzahligen Werten nicht zugelassen sind. Dies beeinträchtigt die Bildqualität. Wenn eine hohe Bildqualität gefordert wird, ist dies ein Problem. Es besteht deshalb der klare Wunsch nach einem besseren Weg, kumulative Abgleichfehler zu verhindern, als er in dem MPEG1-Standard vorgeschlagen wird.
  • Im Hinblick auf die oben erwähnten Probleme ist es ein Ziel der Erfindung, ein Gerät zu schaffen, das das Auftreten von kumulativen Abgleichfehlern effektiv verhindert, wenn Transformationskoeffizienten invers orthogonal transformiert werden, und bei dem die Auflösung der Transformationskoeffizienten nicht verschlechtert wird.
  • Es ist insbesondere ein Ziel der Erfindung, ein Gerät zum inversen orthogonalen Transformieren von Transformationskoeffizienten anzugeben, mit dem das Abgleichsfehlerproblem effektiv gelöst wird.
  • Ein besonderes Ziel der Erfindung ist es, ein Gerät anzugeben, mit dem ein Block von Transformationskoeffizienten vor der inversen orthogonalen Transformation so vorverarbeitet wird, daß Rundungsfehler verhindert werden, wenn der Block von Transformationskoeffizienten invers transformiert wird.
  • Es ist ein weiteres Ziel der Erfindung, einen Bewegtbildsignalkomprimierer und einen Expandier für ein komprimiertes Bewegtbildsignal zu schaffen, bei denen Abgleichfehler eliminiert werden und die Maßnahmen zur Verhinderung der Abgleichfehler die Bildqualität so wenig wie möglich beeinträchtigen.
  • Der Gegenstand der Erfindung soll Abgleichfehler effektiv und leicht verhindern, die mit dem herkömmlichen Lösungsweg nicht verhindert werden können.
  • Deshalb die sieht Erfindung das in den anliegenden Ansprüchen angegebene Gerät vor, um einen Satz von Transformationskoeffizienten zu verarbeiten und einen fehler-immunen Satz von Transformationskoeffizienten für die Verarbeitung durch eine inverse orthogonale Transformation bereitzustellen. Der fehler-immune Satz von Transformationskoeffizienten ist bei der inversen orthogonalen Transformation gegen Rundungsfehler immun. In dem Verfahren werden die Transformationskoeffizienten in dem Satz summiert. Die Parität der Summe (d. h. ob die Summe ungeradzahlig oder geradzahlig ist) wird geprüft. Wenn sich zeigt, daß die Parität de Summe geradzahlig ist, wird die Parität eines der Transformationskoeffizienten in den Satz invertiert, um einen paritäts-invertierten Transformationskoeffizienten zu gewinnen. Der paritäts-invertierte Transformationskoeffizient macht die Parität der Summe ungeradzahlig. Schließlich wird der Satz von Transformationskoeffizienten, einschließlich des paritätsinvertierten Transformationskoeffizienten, als fehler-immuner Satz bereitgestellt.
  • Jeder Transformationskoeffizient kann als binäre Zahl dargestellt werden. In diesem Fall wird das niedrigstwertige Bit (LSB) jedes Transformationskoeffizienten in dem Satz bestimmt. Die Transformationskoeffizienten, die in dem Satz ein niedrigstwertiges Bit mit dem Wert 1 haben, werden abgezählt, um einen Zählwert zu gewinnen. Dieser Zählwert wird darauf untersucht, ob er geradzahlig ist. Wenn sich herausstellt, daß der Zählwert geradzahlig ist, wird einer der Transformationskoeffizienten geändert, um einen geänderten Transformationskoeffizienten zu gewinnen. Der geänderte Transformationskoeffizient macht den Zählwert ungeradzahlig. Schließlich wird der Satz von Transformationskoeffizienten, der den geänderten Transformationskoeffizienten enthält, invers orthogonal transformiert.
  • Das Gerät gemäß der Erfindung kann eine Schaltung zum Prüfen des niedrigstwertigen Bits enthalten, um den Zustand des niedrigstwertigen Bits jedes Transformationskoeffizienten zu bestimmen. Eine Zählschaltung liefert einen Zählwert, indem sie diejenigen Transformationskoeffizienten zählt, bei denen die Schaltung zum Prüfen des niedrigstwertigen Bits feststellt, daß das niedrigstwertige Bit gleich eins ist. Eine Zählwert-Prüfschaltung stellt fest, ob der Zählwert aus der Zählschaltung eine gerade Zahl ist. Wenn die Zählwert-Prüfschaltung feststellt, daß der Zählwert eine gerade Zahl ist, wird eine Schaltung zum Ungeradzahligmachen des Zählwerts wirksam, um einen der Transformationskoeffizienten zu verändern und einen veränderten Transformationskoeffizient auszugeben. Der veränderte Transformationskoeffizient macht den Zählwert ungeradzahlig. Schließlich nimmt eine inverse orthogonale Transformationsschaltung den Satz von Transformationskoeffizienten, der den veränderten Transformationskoeffizienten enthält, aus der Schaltung zum Ungeradzahligmachen des Zählwerts auf.
  • Die Erfindung liefert auch ein System zum Komprimieren eines Bewegtbildsignal. Das Bewegtbildsignal enthält Bilder, und jedes Bild wird in Blöcke unterteilt. Das Gerät weist einen prädiktiven Kodierer auf, der Blöcke des Bewegtbildsignals prädiktiv kodiert, wobei Vergleichsblöcke eines Referenzbilds benutzt werden, um Differenzblöcke zu erzeugen. Ein Differenzblockkodierer kodiert die Differenzblöcke aus dem prädiktiven Kodierer, um ein komprimiertes Bewegtbildsignal zu erzeugen. Der Differenzblockkodierer besitzt eine orthogonale Transformationsschaltung, die den Differenzblock aus dem prädiktiven Kodierer orthogonal transformiert, um Blöcke von Transformationskoeffizienten zu gewinnen, sowie einen Quantisierer, der die Blöcke von Transformationskoeffizienten aus der orthogonalen Transformationsschaltung quantisiert, um komprimiere Signalblöcke zu bilden. Das komprimierte Bewegtbildsignal wird aus den komprimierten Signalblöcken abgeleitet.
  • Das System besitzt auch einen lokalen Dekodierer, der die komprimieren Signalblöcke aus dem Differenzblockkodierer expandiert, um restaurierte Differenzblöcke zu gewinnen, ohne daß Rundungsfehler auftreten, wenn die komprimierten Signalblöcke invers orthogonal transformiert werden. Der lokale Dekodierer enthält einen inversen Quantisierer, der die komprimierten Signalblöcke aus dem Differenzblockkodierer invers quantisiert, um Blöcke von restaurierten Transformationskoeffizienten zu gewinnen. Ein Gerät gemäß der Erfindung nimmt eine Vorverarbeitung der restaurieren Transformationskoeffizienten vor. Schließlich nimmt eine inverse orhogonale Transformationsschaltung aus der Summen-Oddifiziereinrichtung den Block von restaurieren Transformationskoeffizienten auf, einschließlich der paritätsinvertieren Transformationskoeffizienten. Die inverse orthogonale Transformationsschaltung liefert die restaurierten Differenzblöcke.
  • Der Gerät kann auch einen prädiktiven Kodierer enthalten, der die restaurierten Differenzblöcke aus dem lokalen Dekodierer prädiktiv dekodiert, um Bildblöcke zu rekonstruieren, die den Blöcken des Bewegtbildsignals entsprechen. Schließlich weist das Gerät einen Bildspeicher auf, der die rekonstruiertem Bildblöcke aus dem prädiktiven Dekodierer als Blöcke des rekonstruieren Bilds für die Verwendung als Referenzbild zur prädiktiven Kodierung anderer Bilder des Bewegtbildsignals speichert.
  • Die Erfindung sieht auch ein Gerät zum Expandieren eines komprimierten Bewegtbildsignals vor, um ein Bewegtbildausgangssignal zu erzeugen. Das komprimierte Bewegtbildsignal enthält Signalabschnitte, die jeweils ein Bild des Bewegtbildausgangssignals repräsentieren. Die Signalabschnitte enthalten mit variabler Länge kodiere komprimierte Signalblöcke sind. Das Gerät besitzt einen inversen variablen Längenkodierer, der die mit variabler Länge kodierten komprimierten Signalblöcke einer inversen variablen Längenkodierung unterzieht, um komprimierte Signalblöcke zu gewinnen.
  • Ein Dekodierer expandiert die komprimierten Signalblöcke aus dem inversen variablen Längenkodierer, um restaurierte Differenzblöcke zu gewinnen, ohne daß Rundungsfehler auftreten, wenn die komprimierten Signalblöcke invers orthogonal transformiert werden. Der Dekodierer besitzt einen inversen Quantisierer, der jeden komprimierten Signalblock aus dem Differenzblockkodierer invers quantisiert, um einen Block aus restaurierten Transformationskoeffizienten zu gewinnen. Ein Gerät gemäß der Erfindung unterzieht die restaurierten Transformationskoeffizienten einer Vorverarbeitung. Eine inverse orthogonale Transformationsschaltung nimmt den Block von restaurierten Transformationskoeffizienten, einschließlich der paritäts-invertierten Transformationskoeffizienten, aus dem Summen-Oddifizierer auf und liefert die restaurierten Differenzblöcke.
  • Das Gerät kann auch einen prädiktiven Dekodierer aufweisen, der die restaurierten Differenzblöcke aus dem Dekodierer prädiktiv dekodiert, um Bildblöcke zu rekonstruieren, sowie einen Bildspeicher, der die restaurierten Bildblöcke aus dem prädiktiven Dekodierer als Blöcke eines restaurierten Bilds speichert. Das rekonstruierte Bild dient als Referenzbild zum prädiktiven Dekodieren anderer Bilder des Bewegtbildsignals. Schließlich besitzt das Gerät eine Schaltung, die das Bewegtbildausgangssignal aus dem Bildspeicher ausliest.
  • In der vorangehend beschriebenen Expandiervorrichtung können der Akkumulator, die Paritätsprüfschaltung, und der Summen-Oddifizierer in dem Dekodierer ersetzt werden durch eine Schaltung zur Bestimmung des niedrigstwertigen Bits, die das niedrigstwertige Bit jedes der restaurierten Transformationskoeffizienten bestimmt, ferner einen Zähler, der einen Zählwert liefert, indem er diejenigen restaurierten Transformationskoeffizienten in jedem Block zählt, deren niedrigstwertiges Bits gleich eins ist, eine Zählwert-Prüfschaltung, die feststellt, ob der Zählwert aus der Zählschaltung eine gerade Zahl ist, und eine Schaltung zum Ungeradzahligmachen des Zählwerts, die wirksam wird, wenn die Zählwert-Prüfschaltung feststellt, daß der Zählwert eine gerade Zahl ist, um einen der restaurierten Transformationskoeffizienten in dem Block zu verändern und einen veränderten Transformationskoeffizient zu liefern, der den Zählwert zu einer ungeraden Zahl macht.
  • Im folgenden wird beschrieben, wie die Erfindung das Auftreten kumulativer Abgleichfehler verhindert.
  • Eine Prüfung von Gleichung (4) zeigt, daß ein Abgleichfehler auftritt, wenn die Ausdrücke in der Gleichung ein Ergebnis (2n + 1)/2 erzeugen, worin n eine ganze Zahl ist.
  • Gleichung (4) läßt sich folgendermaßen zusammenfassen f(x, y) = 1/8 ACC worin ACC die Summe aller Koeffizienten ist.
  • Das häufigste Abgleichfehlermuster ist f(x, y) = 1/8 ACC = (2n + 1)/2 = 1/8(4*(2n + 1))
  • Hieraus ist ersichtlich, daß ein Abgleichfehler niemals auftritt, wenn ACC ungeradzahlig gemacht wird.
  • Deshalb benutzt die Erfindung eine Methode, bei der die DCT-Koeffizienten invers quantisiert werden und dann vor der IDCT-Verarbeitung die Summe der DCT-Koeffizienten berechnet wird. Wenn die Summe der DCT-Koeffizienten ein geradzahliger Wert ist (d. h. die Parität der Summe geradzahlig ist), wird die Parität eines der DCT-Koeffizienten geändert, um aus der Summe der DCT-Koeffizienten einen ungeradzahligen Wert zu machen (d. h. die Parität der Summe ungeradzahlig zu machen). Es genügt, die Parität nur eines DCT-Koeffizienten zu ändern, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen. Darüber hinaus kann die Parität des Koeffizienten geändert werden, der den geringsten Einfluß auf den Ausgangswert der IDCT hat. Mit anderen Worten, die Erfindung verhindert das Auftreten von Abgleichfehlern effektiv, indem die Parität der Summe der DCT-Koeffizienten vor der IDCT-Verarbeitung geprüft und, falls die Parität der Summe geradzahlig ist, die Parität eines der DCT-Koeffizienten geändert wird, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen.
  • Es muß hervorgehoben werden, daß es gemäß der Erfindung genügt, die Parität nur eines DCT-Koeffizienten zu ändern, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen. MPEG1 macht alle DCT-Koeffizienten ungeradzahlig, wodurch die Auflösung der der IDCT-Verarbeitung unterzogenen DCT-Koeffizienten um den Faktor 2 reduziert wird. Die erfindungsgemäße Prozedur zur Verhinderung von Abgleichfehlern macht hingegen die Summe der DCT-Koeffizienten in einer Weise ungeradzahlig, bei der die Genauigkeit der Eingangs- und Ausgangswerte der IDCT nicht wesentlich herabgesetzt wird. Wenn die Erfindung auf einen Bewegtbildsignalkomprimierer, einen Expandierer für komprimierte Bewegtbildsignale oder ein Gerät zur Übertragung eines komprimierten Bewegtbildsignals angewendet wird, wird die Beeinträchtigung der Bildqualität minimiert.
  • Wenn das Verfahren gemäß der Erfindung auf das MPEG-System angewendet wird, kann außerdem die kleinste Quantisierungsstufe gleich 1 sein, im Gegensatz zu dem Verfahren nach dem Stand der Technik, bei dem die kleinste Quantisierungsstufe gleich 2 war.
  • Im folgenden wird die Erfindung unter Bezugnahme auf die anliegenden Zeichnungen an exemplarischen Ausführungsbeispielen näher erläutert.
  • 1 zeigt ein Blockdiagramm der Konfiguration eines herkömmlichen Geräts zur Bewegtbildsignalkomprimierung nach dem MPEG-System,
  • 2 zeigt Blockdiagramm der Konfiguration eines herkömmlichen Geräts zum Expandieren eines komprimierten Bewegtbildsignals nach dem MPEG-System,
  • 3 zeigt die Sequenz, in der ein Bewegtbildsignal in dem MPEG-System komprimiert wird,
  • 4 zeigt konkrete Beispiele für Werte von DCT-Koeffizienten,
  • 5 zeigt die Verfahrensschritte zur inversen Quantisierung sowohl von Intra-Makroblöcken als auch von Nicht-Intra-Makroblöcken in dem herkömmlichen MPEG1-System,
  • 6 zeigt ein Blockdiagramm, in dem der Aufbau eines ersten Ausführungsbeispiels eines Bewegtbildsignalkomprimierers gemäß der Erfindung dargestellt ist,
  • 7 zeigt, wie ein Block von DCT-Koeffizienten durch Zickzack-Abtastung ausgelesen wird,
  • 8 zeigt ein Blockdiagramm eines ersten praktischen Ausführungsbeispiels der Summen-Oddifizierschaltung 14 von 6,
  • 9 zeigt ein Flußdiagramm, in dem die Funktion der Summen-Oddifizierschaltung von 8 dargestellt ist,
  • 10A zeigt ein Blockdiagramm eines zweiten Ausführungsbeispiels der Summen-Oddifizierschaltung von 6,
  • 10B zeigt eine Variante des zweiten Ausführungsbeispiels der Summen-Oddifizierschaltung von 6,
  • 11 zeigt ein Blockdiagramm eines ersten Ausführungsbeispiels des Paritätsinverters von 8,
  • 12 zeigt ein Flußdiagramm zur Erläuterung der Funktion eines zweiten Ausführungsbeispiels des oben erwähnten Paritätsinverters,
  • 13 zeigt ein Blockdiagramm des zweiten Ausführungsbeispiels des Paritätsinverters,
  • 14 zeigt ein Flußdiagramm zur Erläuterung der Funktion eines dritten Ausführungsbeispiels des oben erwähnten Paritätsinverters,
  • 15 zeigt ein Blockdiagramm des dritten Ausführungsbeispiels des Paritätsinverters,
  • 16 zeigt ein Flußdiagramm zur Erläuterung der Funktion eines vierten Ausführungsbeispiels des Paritätsinverters,
  • 17 zeigt ein Diagramm des vierten Ausführungsbeispiels des Paritätsinverters,
  • 18 zeigt ein Blockdiagramm eines dritten Ausführungsbeispiels der Summen-Oddifizierschaltung von 6,
  • 19 zeigt ein Diagramm, in dem der Aufbau des ersten Ausführungsbeispiels des Expandierers für komprimierte Bewegtbildsignale gemäß der Erfindung dargestellt ist,
  • 20 zeigt ein Blockdiagramm des inversen Quantisierers und Summen-Oddifizierer in der in 19 dargestellten Expandiervorrichtung für komprimierte Bewegtbildsignale,
  • 21 zeigt ein Zeitdiagramm zur Erläuterung der Funktion des inversen Quantisierers und Summen-Oddifizierers,
  • 22 zeigt ein Blockdiagramm, in dem der Aufbau eines zweiten Ausführungsbeispiels eines Bewegtbildsignalkomprimierers gemäß der Erfindung dargestellt ist,
  • 23 zeigt ein Blockdiagramm eines ersten Ausführungsbeispiels der Summen-Oddifizierschaltung in dem in 22 dargestellen zweiten Ausführungsbeispiel des Bewegtbildsignalkomprimierers,
  • 24 zeigt ein Blockdiagramm eines zweiten Ausführungsbeispiels der Summen-Oddifizierschaltung in dem in 22 dargestellen zweiten Ausführungsbeispiel des Bewegtbildsignalkomprimierers,
  • 25 zeigt ein Blockdiagramm eines dritten Ausführungsbeispiels der Summen-Oddifizierschaltung in dem in 22 dargestellen zweiten Ausführungsbeispiel des Bewegtbildsignalkomprimierers,
  • 26 zeigt ein Blockdiagramm eines Ausführungsbeispiels des Paritätsinverters in den Summen-Oddifizierschaltungen von 23 bis 25,
  • 27 zeigt eine erste Variante des Paritätsinverters von 26,
  • 28 zeigt eine zweite Variante des Paritätsinverters von 26,
  • 29 zeigt eine dritte Variante des Paritätsinverters von 26,
  • 30 zeigt ein Blockdiagramm der Konfiguration eines zweiten exemplarischen Expandierers für komprimierte Bewegtbildsignale gemäß der Erfindung.
  • Im folgenden werden anhand der Zeichnungen exemplarische Ausführungsbeispiele eines Verfahrens zur inversen diskreten Cosinustransformation und eines Geräts zur inversen diskreten Cosinustransformation, ferner eines Geräts zum Komprimieren von Bewegtbildsignalen, eines Geräts zum Expandieren von komprimierten Bewegtbildsignalen und eines Übertragungsgeräts beschrieben, die nach der Lehre der vorliegenden Erfindung arbeiten.
  • Die Erfindung wird auf ein hybrides Kodiersystem angewendet, in dem eine Prädiktionskodierung mit Bewegungskompensation und diskrete Cosinustransformation (DCT) kombiniert sind. Dieses hybride Kodiersystem ist in ISO-IEC/JTC1/SC2/WWG11 beschrieben (das unter der Bezeichnung MPEG1 bekannt ist). Die Basiskonfiguration des hybriden MPEG-Kodiersystems ist allgemein bekannt. Der Bericht WG11 enthält ein nützliches Glossar der hier benutzten Ausdrücke.
  • Bewegungskompensierte Prädiktionskodierung ist ein Verfahren zum Reduzieren der Redundanz eines Bewegtbildsignals durch Ausnutzung der Korrelation des Bewegtbildsignals in der Zeitdomäne. Bewegungskompensierte Prädiktion des laufenden Bilds (d. h. des laufend kodierten Bilds) wird durchgeführt, indem ein anderes bereits dekodiertes Bild des Bewegtbilds als Referenzbild benutzt wird. Die resultierenden bewegungskompensierten Prädiktionsfehler sind in dem komprimierten Signal zusammen mit einem Bewegungsvektor und einem Prädiktionsmodus usw. enthalten. Dadurch wird die Informationsmenge in dem komprimierten Bewegtbildsignal, die zur Darstellung des laufenden Bilds benötigt wird, signifikant reduziert.
  • Das bewegungskompensierte Prädiktionsfehlersignal wird mit Hilfe eines Signalkomprimierers komprimiert, der die räumliche Korrelation der einzelnen Bilder ausnutzt, die das Bewegtbild bilden. Der Differenzsignalkomprimierer enthält typischerweise eine orthogonale "Transformationsschaltung, z. B. eine DCT-Schaltung, und einen Quantisierer. Die DCT ist eine Form von orthogonaler Transformation, die als Ergebnis der zweidimensionalen Intra-Bild-(Vollbild- oder Halbbild)-Korrelation des Bilds die Signalleistung in spezifischen Frequenzkomponenten konzentriert. Auf diese Weise sind in dem komprimierten Signal, entweder direkt oder nach zusätzlicher Komprimierung, nur die konzentrierten und verteilten Koeffizienten enthalten. Dadurch wird die Informationsmenge in dem komprimierten Bewegtbildsignal, die zur Darstellung des laufenden Bilds benötigt wird, weiter reduziert.
  • Die Zwischenbild-Prädiktionskodierung mit Bewegungskompensation kann zwischen Vollbildern des Bewegtbildsignals durchgeführt werden. Wenn das Bewegtbildsignal ein Zeilensprungsignal ist, kann die Prädiktionskodierung mit Bewegungskompensation alternativ auch zwischen Halbbildern durchgeführt werden. Zusätzlich kann die Zwischenbild-Prädiktionskodierung mit Bewegungskompensation in Abhängigkeit von den Eigenschaften des Bewegtbildsignals adaptiv zwischen Interframe-Kodierung und Interfield-Kodierung umgeschaltet werden.
  • 1. Erstes Ausführungsbeispiel
  • 6 zeigt den praktischen Aufbau des Geräts zum Komprimieren von Bewegtbildsignalen bei dem die Erfindung angewendet wird. In dem Gerät von 6 wird das Bewegtbildsignal in Bilder unterteilt und Bild für Bild komprimiert. Jedes Bild wird in Bildblöcke unterteilt, und das Bild wird Block für Block komprimiert. Der Bildblock, der gerade komprimiert wird, wird als laufender Bildblock bezeichnet. Der laufende Bildblock ist ein Block eines Bilds, das als laufendes Bild bezeichnet wird.
  • Das Bewegtbildsignal, normalerweise ein Videosignal, wird der ersten Bildspeichergruppe 2 zugeführt, in der mehrere Bilder des Bewegtbildsignals temporär gespeichert werden. Die Speichersteuerung 3 steuert das Auslesen der Bilder aus der ersten Bildspeichergruppe 2 und der zweiten Bildspeichergruppe 4. Die Speichersteuerung 3 liefert auch das Slice-Startsignal SS und das Makroblock-Startsignal BS an den Slice/Makroblock-Zähler 5. Die Speichersteuerung liefert diese Signale synchron mit jedem Slice und jedem Makroblock jedes Bilds (z. B. des laufenden Bilds), das aus der ersten Bildspeichergruppe 2 für die Komprimierung ausgelesen wird. Ein Slice ist eine horizontale Zeile von Blöcken, die die Breite des Bilds abdeckt.
  • Der Bewegungsprädiktor 6 führt eine Bewegungsprädiktion aus, indem er einen Blockvergleich zwischen dem laufenden Bildblock und mehreren Blöcken des vorhergehenden und folgenden Bilds durchführt, die in der ersten Bildspeichergruppe 2 gespeichert sind. Der Blockvergleich wird mit Blöcken von beispielsweise 16 × 16 Pixeln durchgeführt. Das von der Speichersteuerung 3 erzeugte Signal, das das Referenzbild für die Bewegungsprädiktion angibt, wählt die Blöcke des vorangehenden und folgenden Bilds für den Blockvergleich mit dem laufenden Block aus, die in der ersten Bildspeichergruppe 2 gespeichert sind. Der Bewegungsprädiktor 6 liefert dann an den Bewegungskompensator 7 als Bewegungsvektor MV die Position eines Blocks in einem der vorangehenden oder nachfolgenden Bilder, die in der ersten Bildspeichergruppe gespeichert sind, für den die Differenzen zwischen dem Block und dem laufenden Bildblock, d. h. der Bewegungsprädiktionsfehler, am kleinsten sind.
  • In Abhängigkeit von dem Bewegungsvektor MV veranlaßt der Bewegungskompensator 7, daß ein Block jedes in der zweiten Bildspeichergruppe 4 gespeicherten rekonstruierten Bildes als potentieller Vergleichsblock ausgelesen wird. Die Position in den rekonstruierten Bildern, aus der die potentiellen Vergleichsblöcke ausgelesen werden, wird durch den Bewegungsvektor MV bestimmt. Das Signal aus der Speichersteuerung 3 zur Angabe des Referenzbilds für die Bewegungskompensation wählt dann einen der aus der zweiten Bildspeichergruppe 4 ausgelesenen potentiellen Vergleichsblöcke als den Vergleichsblock für den laufenden Block aus. Die in der zweiten Bildspeichergruppe 4 gespeicherten rekonstruierten Bilder sind Bilder, die durch lokales Dekodieren der von dem Differenzblockkodierer 9 erzeugten quantisierten DCT-Koeffizienten rekonstruiert wurden. Der Differenzblockkodierer 9 wird weiter unten beschrieben.
  • Das rekonstruierte Bild, aus dem der Bildblock durch das Signal zur Anzeige des Referenzbilds für die Bewegungskompensation ausgewählt wird, hängt von dem Prädiktionsmodus des laufenden Bilds ab. Beim Vorwärts-Prädiktionsmodus wird der Vergleichsblock aus einem früheren rekonstruierten Bild ausgewählt. Beim bidirektionalen Prädiktionsmodus wird der Vergleichsblock aus einem rekonstruierten früheren Bild oder einem rekonstruierten späteren Bild ausgewählt, oder er kann durch eine lineare Operation (z. B. Mittelwertberechnung) an Blöcken eines rekonstruierten früheren Bilds und eines rekonstruierten späteren Bilds erzeugt werden. Wenn das laufende Bild im Intra-Bild-Kodiermodus d. h. ohne Prädiktion kodiert wird, wird als Vergleichsblock ein "Nullblock" benutzt, in welchem alle Pixelwerte auf Null gesetzt sind. Die aus der zweiten Bildspeichergruppe 4 ausgelesenen Vergleichsblöcke werden adaptiv modifiziert, so daß für jeden Block des Bewegtbildsignals ein optimal angepaßter Vergleichsblock ausgewählt wird.
  • Der Bewegungskompensator 7 wählt für jedes Bild den Prädiktionsmodus aus, indem er zunächst die Summe der Absolutwerte der Pixel-für-Pixel-Differenzen zwischen dem laufenden Bildblock und einem in den verschiedenen Prädiktionsarten erzeugten potentiellen Vergleichsblock berechnet. Dann wählt der Bewegungskompensator den Prädiktionsmodus aus, bei dem die genannte Summe ein Minimum ist. Der Bewegungskompensator führt das Prädiktionsmodussignal MM, das den ausgewählten Prädiktionsmodus angibt, dem weiter unten beschriebenen (in den Zeichnungen durchgehend mit VLC bezeichneten) variablen Längenkodierer 17 zu. Der Bewegungskompensator 7 veranlaßt auch, daß die zweite Bildpeichergruppe 4 der Differenzgeneratorschaltung 8 den Vergleichsblock S2 für den ausgewählten Prädiktionsmodus zuführt.
  • Die Differenzgeneratorschaltung 8 nimmt auch den laufenden Bildblock S1 des Bewegtbildsignals auf, der aus der ersten Bildspeichergruppe 2 ausgelesen wird, und berechnet die Pixel-für-Pixel-Differenz zwischen dem laufenden Bildblock S1 und dem Vergleichsblock S2. Die Differenzgeneratorschaltung liefert den resultierenden Differenzblock S3 an den Differenzblockkodierer 9. Der Differenzblockkodierer 9 komprimiert den Differenzblock S3, um daraus den Block von quantisierten Transformationskoeffizienten SC zu bilden. Der Block von quantisierten Transformationskoeffizienten SC wird dem lokalen Dekodierer 10 zugeführt, in welchem er expandiert wird, um den wiederhergestellten Differenzblock S4 zu gewinnen. Der lokale Dekodierer 10 in dem Gerät zur Bewegtbildsignalkomprimierung ist ähnlich aufgebaut wie das weiter unten beschriebene Gerät zum Expandieren von komprimierten Bewegtbildsignalen, unterscheidet sich von diesem jedoch im Detail.
  • Im folgenden werden der Differenzblockkodierer 9 und der lokale Dekodierer 10 beschrieben.
  • Der Differenzblockkodierer 9 enthält die DCT-Schaltung 11 und den Quantisierer 10, wie dies in 6 dargestellt ist. Die DCT-Schaltung 11 benutzt DCT-Verarbeitung für die orthogonale Transformation des Differenzblocks S3 aus der Differenzblockgeneratorschaltung 8. Die DCT-Schaltung 11 liefert den resultierenden Block von DCT-Koeffizienten an den Quantisierer 12. Der Quantisierer 12 quantisiert den Block von DCT-Koeffizienten und stellt den Block von quantisierten DCT-Koeffizienten SC bereit.
  • Der lokale Dekodierer 10 enthält den inversen Quantisierer 13, die Summen-Oddifizierschaltung 14 und die IDCT-Schaltung 15, wie dies in 6 dargestellt ist. Der inverse Quantisierer 13 benutzt eine Quantisiertabelle für die inverse Quantisierung des Blocks von quantisierten DCT-Koeffizienten SC aus dem Quantisierer 12. Die Oddifizierschaltung führt an dem resultierenden Block von DCT-Koeffizienten eine Paritätsinvertierung durch, wenn die Summe der DCT-Koeffizienten keine ungerade Zahl ist. Dadurch wird das Auftreten von Abgleichfehlern verhindert, wenn der Block der in der Summe ungeradzahlig gemachten DCT-Koeffizienten invers orthogonal transformiert wird. Die IDCT-Schaltung 15 unterzieht den in der Summe ungeradzahlig gemachten Block von DCT-Koeffizienten aus der Oddifizierschaltung 14 einer inversen diskreten Cosinustransformation (IDCT) und liefert einen zurückgewonnen Differenzblock.
  • Im folgenden wird die von dem Quantisierer 12 durchgeführte Quantisierung beschrieben. Jeder Block aus 8 × 8 DCT-Koeffizienten wird quantisiert. Jeder Block eines im Intra-Bild-Kodiermodus komprimierten Bilds (eines I-Bilds) wird als Intra-Makroblock bezeichnet. Jeder in einem Zwischenbild-Kodiermodus komprimierte Block wird als Nicht-Intra-Makroblock bezeichnet. Wenn ein Intra-Makroblock orthogonal transformiert wird, ist der DCT-Koeffizient der (0, 0)-Komponente der Gleichkoeffizient. Der Gleichkoeffizient wird quantisiert, indem er mit Rundung durch 8 geteilt wird, wenn mit 8-Bit-Genauigkeit quantisiert wird, durch 4, wenn mit 9-Bit-Genauigkeit quantisiert wird, durch 2, wenn mit 10-Bit-Genauigkeit quantisiert wird, und durch 1, wenn mit 11-Bit-Genauigkeit quantisiert wird. Die Gleichkomponente eines Intra-Makroblocks wird nach den folgenden Gleichungen quantisiert, die in der Syntax der Programmiersprache C geschrieben sind: (5) QDC = dc//8(8 Bits) QDC = dc//4(9 Bits) QDC = dc//2(10 Bits) QDC = dc//1(11 Bits)in der dc der Gleichkoeffizient und QDC der quantisierte Gleichkoeffizient bedeuten.
  • Die DCT-Koeffizienten, die aus der orthogonalen Transformation eines Intra-Makroblocks hervorgehen mit Ausnahme der Gleichkoeffizienten (d. h. die "Wechselkomponenten"), werden quantisiert, indem die Quantisierungsfaktoren ac(i, j) durch Gewichtung der DCT-Koeffizienten ac(i, j) durch die Gewichtungsmatrix Wi nach der folgenden Gleichung bestimmt werden: (6) ac(i, j) = (16*ac(i, j))//Wi(i, j)
  • Die Koeffizienten der Gewichtungsmatrix Wi sind folgende:
  • Figure 00270001
  • Dann werden unter Verwendung der folgenden Gleichung die Quantisierungsfaktoren ac(i, j) quantisiert, um die Quantisierungspegel QAC(i, j) der betreffenden Wechselkoeffizienten zu bestimmen.
  • Figure 00270002
  • In der obigen Gleichung sind p und q beliebige feste ganze Zahlen, z. B. p = 3 und q = 4, und mquant ist der Quantisierungskoeffizient.
  • Die DCT-Koeffizienten, die aus der orthogonalen Transformation eines Zwischenbild-kodierten Makroblocks (eines "Nicht-Intra-Makroblocks") hervorgehen, werden quantisiert, indem die Quantisierungsfaktoren ac(i, j) durch Gewichten aller DCT-Koeffizienten bestimmt werden, die durch Transformieren des Nicht-Intra-Makroblocks durch die Gewichtungsmatrix Wn gewonnen werden. Dies geschieht nach der folgenden Gleichung: (9) ac(i, j) = (16*ac(i, j))//Wn(i, j)
  • Die Koeffizienten der Gewichtungsmatrix Wn sind folgende:
  • Figure 00270003
  • Unter Verwendung folgender Gleichung werden dann die Quantisierungsfaktoren ac(i, j) quantisiert, um die Quantisierungspegel QAC(i, j) der AC-Koeffizienten zu bestimmen.
  • Figure 00280001
  • Die resultierenden Quantisierungspegel QAC(i, j) werden dem variablen Längenkodierer 17 und dem lokalen Dekodierer 10 als der oben beschriebene Block von quantisierten DCT-Koeffizienten SC zugeführt.
  • Der variable Längenkodierer 17 unterzieht den durch die Quantisierung des Blocks von DCT-Koeffizienten gewonnenen Block von quantisierten DCT-Koeffizienten einer variablen Längenkodierung. Er bestimmt. die Differenzen zwischen den quantisierten Transformationskoeffizienten in den vier Luminanzblöcken, aus denen jeder Makroblock besteht, und dem Gleichkoeffizienten des betreffenden Intra-Makroblocks. Der variable Längenkodierer benutzt dann eine Tabelle zur variablen Längenkodierung, um die resultierenden Differenzwerte mit variabler Länge zu kodieren. Diese Methode nutzt die hohe Korrelation zwischen den vier benachbarten Luminanzblöcken aus, die bedeutet, daß die Gleichkoeffizienten im wesentlichen den gleichen Wert haben. Der variable Längenkodierer 17 bestimmt auch die Differenzen zwischen den quantisierten Koeffizienten der beiden Farbdifferenzblöcke und benutzt eine Tabelle zur variablen Längenkodierung, um die resultierenden Differenzwerte mit variabler Länge zu kodieren. Die Tabelle zur variablen Längenkodierung für die Luminanzkoeffizienten und diejenige für die Farbdifferenzen unterscheiden sich voneinander.
  • Der variable Längenkodierer 17 unterzieht den Block von quantisierten DCT-Koeffizienten einer variablen Längenkodierung, wobei er diesen Block von quantisierten DCT-Koeffizienten, beginnend mit dem DCT-Koeffizienten der Komponente (0, 0), in einer Zickzack-Abtastfolge ausliest, wie dies in 7 dargestellt ist. Der Block von quantisierten DCT-Koeffizienten wird in Zickzack-Abtastfolge ausgelesen, weil die von Null verschiedenen DCT-Koeffizienten, die aus der DCT-Verarbeitung hervorgehen, im allgemeinen in der Nähe der (0, 0)-Komponente konzentriert sind. Dadurch vergrößert das Auslesen der DCT-Koeffizienten in Zickzack-Abtastfolge die Effizienz der variablen Längenkodierung, indem die Lauflänge der aufeinanderfolgenden Null-DCT-Koeffizienten vergrößert wird, die zwischen von Null verschiedenen DCT-Koeffizienten ausgelesen werden.
  • Der variable Längenkodierer 17 liest die DCT-Koeffizienten in Zickzack-Abtastfolge aus und bestimmt den Wert (d. h. den Pegel) jedes von Null verschiedenen DCT-Koeffizienten und die Zahl (d. h. die Lauflänge) der ihm vorangehenden Null-DCT-Koeffizienten. Dadurch wird der Block von DCT-Koeffizienten einer zweidimensionalen variablen Längenkodierung unterzogen. Nach der Kodierung werden die Koeffizienten in dem Block durch Lauflängenzahl/Pegel-Paare ausgedrückt. Der variable Längenkodierer kodiert auch einen 2-Bit-Code, EOB, der denjenigen von Null verschiedenen DCT-Koeffizienten anzeigt, der der letzte von Null verschiedene DCT-Koeffizient ist. Der variable Längenkodierer 17 liefert die Adresse des letzten von Null verschiedenen Koeffzienten in der Zickzack-Abtastfolge an einen (nicht dargestellten) Adressenwandler. Der Adressenwandler wandelt die Adresse in der Zickzack-Abtastfolge in eine Adresse EOB_adrs in Raster-Abtastfolge um. Der variable Längenkodierer liefert die Adresse EOB_adrs an die Summen-Oddifizierschaltung 14.
  • Die Summen-Oddifizierschaltung 14 speichert die Adresse EOB adrs der Raster-Abtastfolge in dem z. B. in 8 dargestellten Register 25, das weiter unten beschrieben wird.
  • Im folgenden wird der inverse Quantisierer 13 beschrieben. Der inverse Quantisierer 13 nimmt den Block von quantisierten DCT-Koeffizienten SC aus dem Differenzblockkodierer 10 auf, unterzieht den Block von quantisierten DCT-Koeffizienten einer inversen Quantisierung, um einen Block von DCT-Koeffizienten zu gewinnen. In der Praxis führt der inverse Quantisierer 13 eine inverse Quantisierung der quantisierten DCT-Koeffizienten durch, die aus der orthogonalen Transformation eines Intra-Makroblocks hervorgehen, indem er die in Gleichung (12) definierte Prodezur benutzt, um entsprechende Gleichkoeffizienten zu gewinnen. Der inverse Quantisierer 13 bewirkt auch eine inverse Quantisierung der Wechselkoeffizienten, die aus der orthogonalen Transformation eines Intra-Makroblocks hervorgehen, wobei er die in Gleichung (13) definierte Prozedur benutzt. Schließlich bewirkt der inverse Quantisierer 13 eine inverse Quantisierung aller quantisierten Koeffizienten, die aus der orthogonalen Transformation eines Nicht-Intra-Makroblocks hervorgehen, wobei er die in Gleichung (14) definierten Prozedur anwendet. (12) rec(0, 0) = 8*QDC rec(0, 0) = 4*QDC(9 Bits) rec(0, 0) = 2*QDC(10 Bits) rec(0, 0) = 1*QDC (11 Bits) (13) rec(i, j) = (mquant*2QAC(i, j)*Wi(i, j))/16 if (QAC(i, j) == 0) rec(i, j) = 0 (14) if(QAC(i, j) > 0) rec(i, j) = ((2*QAC(i, j) + 1) mquant*Wn(i, j))/16 if(QAC(i, j) < 0) rec(i, j) = ((2*QAC(i, j) – 1)*mquant*Wn(i, j))/16 if(QAC(i, j) == 0) rec(i, j) = 0
  • Der inverse Quantisierer 13 liefert den resultierenden Block von DCT-Koeffizienten an die Summen-Oddifizierschaltung 14, von der in 8 ein praktisches Beispiel dargestellt ist.
  • Die Summen-Oddifizierschaltung 14 enthält den Akkumulator 23A, die Paritätsprüfschaltung 2l und den Paritätsinverter 28. Der Akkumulator 23A bestimmt die Summe der DCT-Koeffizienten in dem aus dem inversen Quantisierer 13 empfangenen Block von DCT-Koeffizienten. Die Paritätsprüfschaltung 21 prüft, ob die von dem Akkumulator 23A bestimmte Summe von DCT-Koeffizienten eine ungerade Zahl oder eine gerade Zahl ist, d. h. ob die Parität der Summe der DCT-Koeffizienten ungeradzahlig oder geradzahlig ist. Nur wenn die Paritätsprüfschaltung feststellt, daß die Parität der Summe der DCT-Koeffizienten geradzahlig ist, ändert der Paritätsinverter 28 die Parität wenigstens eines DCT-Koeffizienten in dem Block, um die Parität der Summe der DCT-Koeffizienten ungeradzahlig zu machen, d. h. die Summe der DCT-Koeffizienten wird ungeradzahlig gemacht. Dies verhindert das Auftreten eines Abgleichfehlers, wenn der Block von in der Summe ungeradzahlig gemachten DCT-Koeffizienten aus der Summen-Oddifizierschaltung 14 in der IDCT-Schaltung 15 einer inversen orthogonalen Transformation unterzogen wird.
  • Der Zähler 20 zählt die Zahl der aus dem inversen Quantisierer 13 empfangenen DCT-Koeffizienten und liefert den resultierenden Zählwert coeff_adrs an die Paritätsprüfschaltung 21 und den Speicherwähler 22.
  • Der Akkumulator 23A enthält den Addierer 23 und das Register 24. Der Addierer 23 addiert jeden DCT-Koeffizienten in einem aus dem inversen Quantisierer 13 empfangenen Block von DCT-Koeffizienten zu der Summe der bereits empfangenen DCT-Koeffizienten in dem Block, die in dem Register 24 gespeichert sind. Das Register 24 wird zurückgesetzt, nachdem die Summe für jeden Block von DCT-Koeffizienten bestimmt wurde. Die resultierende Summe der DCT-Koeffizienten wird von dem Addierer 23 dem Register 24 und der Paritätsprüfschaltung 21 zugeführt. Der Akkumulator 23A braucht nur die Summe der niedrigstwertigen Bits der DCT-Koeffizienten in dem Block zu summieren, um beurteilen zu können, ob die Parität der Summe der DCT-Koeffizienten ungeradzahlig oder geradzahlig ist.
  • Die Paritätsprüfschaltung 21 prüft, ob die Parität der Summe der DCT-Koeffizienten in dem Block von DCT-Koeffizienten ungeradzahlig oder geradzahlig ist, in Abhängigkeit von dem Zählwert coeff_adrs aus dem Zähler 20. Wenn alle DCT-Koeffizienten in dem Block an den Akkumulator 23A geliefert wurden, zeigt der Wert von coeff adrs an, daß der Akkumulator 23A die Summe aller DCT-Koeffizienten in dem Block bestimmt hat. In Abhängigkeit von dem Zählwert coeff adrs stellt die Paritätsprüfschaltung 21 fest, ob die Parität der Summe der DCT-Koeffizienten aus dem Akkumulator 23A ungeradzahlig oder geradzahlig ist. Im Fall einer zweidimensionalen 8 × 8-DCT-Transformation prüft die Paritätsprüfschaltung 2l beispielsweise, ob die Parität der Summe der DCT-Koeffizienten aus dem Akkumulator 23A ungeradzahlig oder geradzahlig ist, wenn der Wert von coeff adrs anzeigt, daß alle 64 DCT-Koeffizienten in dem Block an den Akkumulator 23A geliefert wurden.
  • Wenn jeder DCT-Koeffizient z. B. durch eine binäre Zahl repräsentiert wird, prüft die Paritätsprüfschaltung 21 in der Praxis das niedrigstwertige Bit (LSB) der Summe der aus dem Akkumulator 23A empfangenen DCT-Koeffizienten. Ein LSB mit dem Wert Null zeigt an, daß die Parität der Summe geradzahlig ist. In diesem Fall liefert die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 an den Paritätsinverter 28, um diesen zu veranlassen, eine Paritätsinvertierung vorzunehmen. In Abhängigkeit von dem Verarbeitungsanforderungssignal REQ1 ändert der Paritätsinverter 28 die Parität wenigstens eines (d. h. einer ungeradzahligen Zahl) der DCT-Koeffizienten, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen. Auf der anderen Seite zeigt ein LSB mit dem Wert 1 an, daß die Parität der Summe ungeradzahlig ist. In diesem Fall liefert die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 nicht, und der Paritätsinverter 28 läßt die Parität aller DCT-Koeffizienten in dem Block unverändert.
  • In der dargestellten praktischen Schaltung werden die DCT-Koeffizienten aus dem inversen Quantisierer 13 über den Speicherwähler 22 in dem ersten Speicher 26 oder dem zweiten Speicher 27 gespeichert. Der Speicherwähler 22 arbeitet in Abhängigkeit von dem Zählwert coeff_adrs, der aus dem Zähler 20 empfangen wird. Wenn der Speicherwähler 22 z. B. feststellt, daß alle DCT-Koeffizienten in den Block in dem ersten Speicher 26 gespeichert wurden, spezifiziert der Speicherwähler den zweiten Speicher, so daß die DCT-Koeffizienten des nächsten Blocks in dem zweiten Speicher 27 gespeichert werden. Auf diese Weise werden aufeinanderfolgende Blöcke von DCT-Koeffizienten abwechselnd in dem ersten Speicher 26 und dem zweiten Speicher 27 gespeichert. Wenn alle DCT-Koeffizienten des Blocks entweder in dem ersten Speicher 26 oder in dem zweiten Speicher 27 gespeichert wurden, liefert der Speicher, in dem alle DCT-Koeffizienten in dem Block gespeichert sind, das "Speicher-Voll-Signal" FULL1 oder FULL2 an den Paritätsinverter 28.
  • Wenn der Paritätsinverter 28 das Speicher-Voll-Signal FULL1 oder das Speicher-Voll-Signal FULL2 empfängt, liefert er das Leseaktivierungssignal RD_EN1 oder RD_EN2 an den Speicher, der das Speicher-Voll-Signal abgegeben hat. Dies hat zur Folge, daß der Block von DCT-Koeffizienten aus dem Speicher, der das Speicher-Voll-Signal erzeugt hat, an den Pari tätsinverter ausgegeben werden. Der Paritätsinverter behandelt den aus dem Speicher ausgelesenen Block von DCT-Koeffizienten je nach dem, ob die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ 1 erzeugt hat, auf eine von zwei Arten. Wenn der Paritätsinverter 28 das Verarbeitungsanforderungssignal REQ1 empfängt, invertiert er das LSB eines der DCT-Koeffizienten in dem Block, z. B. des letzten von Null verschiedenen Koeffizienten in der Zickzack-Abtastfolge. Der Paritätsinverter identifiziert den DCT-Koeffizienten, dessen Parität invertiert werden kann, indem er die in dem Register 25 gespeicherte Adresse des DCT-Koeffizienten benutzt, dessen Parität invertiert werden kann. 8 zeigt z. B. die Adresse EOB_adrs des letzten von Null verschiedenen Koeffizienten, die dem Komparator 62 zugeführt wird. Deshalb ist in diesem Beispiel der DCT-Koeffizient, dessen Parität invertiert werden kann, der letzte von Null verschiedene Koeffizient. Wenn der Paritätsinverter 28 die Parität des DCT-Koeffizienten, dessen Parität invertiert werden kann, invertiert, wird die Parität der Summe der von Null verschiedenen Koeffizienten in dem Block von dem ersten bis zu dem letzten ungeradzahlig gemacht. Der Paritätsinverter 28 gibt alle DCT-Koeffizienten außer dem DCT-Koeffizienten, dessen LSB invertiert wurde, mit unveränderten LSBs an die IDCT-Schaltung 15. Der Paritätsinverter 28 liefert auch den DCT-Koeffizienten, dessen Parität invertiert werden kann, an die IDCT-Schaltung, wobei der Zustand seines LSB davon abhängt, ob der Paritätsinverter das Verarbeitungsanforderungssignal REQ1 empfangen hat.
  • Der Paritätsinverter 28 kann z. B. als Computer oder digitaler Signalprozessor implementiert sein, der nach dem in 9 dargestellten Flußdiagramm arbeitet. In diesem Beispiel ist der DCT-Koeffizient, dessen Parität invertiert werden kann, der letzte von Null verschiedene Koeffizient. In dem Schritt S1 stellt der Paritätsinverter 28 aus der Adresse EOB_adrs fest, ob der gerade verarbeitete DCT-Koeffizient der DCT-Koeffizient ist, der durch Invertieren seines LSB invertiert werden kann. Wenn das Ergebnis in dem Schritt S1 JA ist, geht die Verarbeitung weiter zu dem Schritt S2. Andernfalls geht die Verarbeitung weiter zu dem Schritt S5, der weiter unten beschrieben wird.
  • In dem Schritt S2 stellt der Paritätsinverter 28 fest, ob das Verarbeitungsanforderungssignal REQ1 empfangen wurde. Wenn das Ergebnis in dem Schritt S2 JA lautet und damit anzeigt, daß das Verarbeitungsanforderungssignal REQ1 empfangen wurde, geht die Verarbeitung weiter zu dem Schritt S3. Andernfalls wurde keine Verarbeitungsanforderung empfangen, und die Verarbeitung geht weiter zu dem Schritt S5.
  • In dem Schritt S3 invertiert der Paritätsinverter 28 das LSB des DCT-Koeffizienten, dessen Parität invertiert werden kann, um seine Parität zu invertieren und damit die Parität der Summe der DCT-Koeffizienten zu ändern. Die Verarbeitung geht weiter zu dem Schritt S4, in dem der paritäts-invertierte DCT-Koeffizient der IDCT-Schaltung 15 (10A) zugeführt wird.
  • Die Verarbeitung kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • Die Verarbeitung geht weiter zu dem Schritt S5, wenn der gerade verarbeitete DCT-Koeffizient nicht der DCT-Koeffizient ist, dessen Parität invertiert werden kann, oder wenn die Parität des DCT-Koeffizienten, dessen Parität invertiert werden kann, nicht invertiert werden soll, d. h. wenn das Verarbeitungsanforderungssignal REQ1 nicht empfangen wurde. In dem Schritt SS wird der DCT-Koeffizient ohne Änderung der IDCT-Schaltung 15 zugeführt. Die Verarbeitung kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • Wenn die DCT-Koeffizienten durch eine Zweierkomplement-Darstellung repräsentiert werden, ist das oben erwähnte LSB das LSB der Zweierkomplement-Darstellung. Wenn hingegen die DCT-Koeffizienten durch ein Vorzeichen und einen Absolutwert repräsentiert werden, ist das oben erwähnte LSB das LSB des Absolutwerts.
  • Der Aufbau der Summen-Oddifizierschaltung 14 ist nicht auf das in 8 dargestellte Beispiel beschränkt. So besitzt z. B. die in 10A dargestellte Summen-Oddifizierschaltung zusätzlich den LSB-Detektor 29, und das Exklusiv-ODER-Glied 30 ersetzt den Addierer 23 in der Summen-Oddifizierschaltung von 8. Elemente in der Schaltung von 10A, die Elementen in der Schaltung von 8 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben.
  • In 10A detektiert der LSB-Detektor 29 das LSB jedes DCT-Koeffizienten in dem Block von DCT-Koeffizienten. Das Exklusiv-ODER-Glied 30 bewirkt eine Exklusiv-ODER-Verknüpfung zwischen jedem DCT-Koeffizienten in dem Block und der in dem Register 24 gespeicherten exklusiven logischen Summe der LSBs der DCT-Koeffizienten in dem Block, der bereits verarbeitet wurde. Somit leiten das Exklusiv-ODER-Glied 30 und das Register 24 die exklusive logische Summe der LSBs der DCT-Koeffizienten in jedem Block her. Die Kombination aus dem Exklusiv-ODER-Glied 30 und dem Register 24 kann auch so betrachtet werden, daß sie die DCT-Koeffizienten zählt, deren LSB eine 1 ist. Wenn dann alle DCT-Koeffizienten in dem Block empfangen wurden, zeigt der Zustand des Ausgangssignals des Exklusiv-ODER-Glieds 30 an, ob der Zählwert der DCT-Koeffizienten, deren LSB gleich 1 ist, ungeradzahlig oder geradzahlig ist. Die Paritätsprüfschaltung 21 gibt dann das Verarbeitungsanforderungssignal REQ1 aus, wenn der Zählwert der DCT-Koeffizienten mit einer 1 als LSB geradzahlig ist.
  • 10B zeigt eine alternative Konfiguration, die das Exklusiv-ODER-Glied 30 und das Register 24 ersetzen kann. Hierbei werden die LSBs aller von dem inversen Quantisierer 13 empfangenen DCT-Koeffizienten von dem LSB-Detektor 29 dem UND-Glied 88 zugeführt. Das UND-Glied läßt nur diejenigen LSBs zu dem Zähler 89 durch, die den Wert 1 haben. Der Zähler wird am Beginn jedes Blocks von DCT-Koeffizienten zurückgesetzt und zählt jedes LSB mit dem Wert 1, das er empfängt. Das LSB des Zählwerts COUNT aus dem Zähler 89 wird der Paritätsprüfschaltung 21 zugeführt. Am Ende jedes Blocks bestimmt die Paritätsprüfschaltung die Parität des LSB des Zählwerts COUNT aus dem Zähler 89. Wenn die Parität des Zählwerts COUNT ungeradzahlig ist (d. h. das LSB von COUNT gleich Eins ist) zeigt dies an, daß die Zahl der DCT-Koeffizienten in dem Block, deren LSB den Wert 1 hat, ungerade ist und daß die Parität der Summe der DCT-Koeffizienten in dem Block ungerade ist. Wenn hingegen der Zählwert COUNT geradzahlig ist (d. h. das LSB von COUNT gleich Null ist) zeigt dies an, daß die Zahl der DCT-Koeffizienten in dem Block, deren LSB gleich Eins ist, ungerade ist und daß die Parität der Summe der DCT-Koeffizienten in dem Block geradzahlig ist.
  • Anhand von 11 wird eine praktische Konfiguration eines ersten Ausführungsbeispiels des Paritätsinverters in den Summen-Oddifizierschaltungen von 8 und 10A beschrieben. Der Paritätsinverter 28 umfaßt den Lesezähler 61, den Adressenkomparator 62, den LSB-Inverter 63, die UND-Glieder 64, 65, 67 und 68, die ODER-Glieder 66 und 69 und die Inverter 71 und 72.
  • Der Paritätsinverter 28 arbeitet folgendermaßen: Wenn der Lesezähler 61 aus dem ersten Speicher 26 oder dem zweiten Speicher 27 das Speicher-Voll-Signal FULL empfängt, liefert er das Leseaktivierungssignal RD_EN an den ersten Speicher 26 oder den zweiten Speicher 27. Das Leseaktivierungssignal bewirkt, daß der betreffende Speicher die in ihm gespeicherten DCT-Koeffizienten in dem Block von DCT-Koeffizienten sequentiell über den mit RDATA bezeichneten Pfad dem ersten UND-Glied 67 zuführt.
  • Das Speicher-Voll-Signal FULL bewirkt außerdem, daß der Lesezähler 61 damit beginnt, die empfangenen DCT-Koeffizienten zu zählen und dem Komparator 62 einen Zählwert zuführt, der die Zahl der empfangenen DCT-Koeffizienten angibt. Der Komparator 62 vergleicht den Zählwert mit der aus dem Register 25 empfangenen Adresse, um festzustellen, ob der von dem ersten UND-Glied 67 empfangene DCT-Koeffizient der DCT-Koeffizient ist, dessen Parität invertiert werden kann, d. h. der DCT-Koeffizient, dessen LSB invertiert werden kann. Bei dem in 11 dargestellten Beispiel ist der DCT-Koeffizient, dessen Parität invertiert werden kann, der letzte von Null verschiedene DCT-Koeffizient, der durch die in dem Register 62 gespeicherte Adresse EOB_adrs identifiziert ist. Wenn der Zählwert mit der Adresse des DCT-Koeffizienten übereinstimmt, dessen Parität invertiert werden kann, im vorliegenden Beispiel mit der Adresse EOB_adrs, stellt der Komparator 62 fest, daß der DCT-Koeffizient der DCT-Koeffizient ist, dessen Parität invertiert werden kann, und ändert den Zustand seines Ausgangssignals von 0 auf 1.
  • Das Ausgangssignal des Komparators 62 wird direkt dem zweiten UND-Glied 68 und über den Inverter 72 dem ersten UND-Glied 67 zugeführt. Wenn der Zählwert nicht mit der Adresse EOB_adrs übereinstimmt, ist das erste UND-Glied 67 geöffnet, und das zweite UND-Glied 68 ist geschlossen. Deshalb gelangen die DCT-Koeffizienten unverändert über das erste UND-Glied 67 und das ODER-Glied 69 zu der IDCT-Schaltung 15.
  • Wenn der dem Paritätsinverter 28 zugeführte DCT-Koeffizient hingegen der DCT-Koeffizient ist, dessen Parität invertiert werden kann, und der Zählwert mit der Adresse des Koeffizienten übereinstimmt, dessen Parität invertiert werden kann, im vorliegenden Beispiel der Adresse EOB_adrs, ändert das Ausgangssignal des Komparators 62 seinen Zustand, wie dies oben beschrieben wurde. Dadurch wird das erste UND-Glied 67 geschlossen und das zweite UND-Glied 68 geöffnet. Infolgedessen wird der DCT-Koeffizient mit dem invertierten LSB, der über das ODER-Glied 66 empfangen wird, über das zweite UND-Glied 68 und das ODER-Glied 69 der IDCT-Schaltung 15 zugeführt.
  • Der DCT-Koeffizient mit dem invertierten LSB wird als Reaktion auf das Verarbeitungsanforderungssignal REQ1 selektiv der IDCT-Schaltung 15 zugeführt, indem die auf dem Pfad RDATA empfangenen DCT-Koeffizienten dem dritten UND-Glied 64 und dem LSB-Inverter 63 zugeführt werden. Das Verarbeitungsanforderungssignal REQI wird von der Paritätsprüfschaltung 21 dem vierten UND-Glied 65 direkt und dem dritten UND-Glied 64 über den Inverter 71 zugeführt. Der LSB-Inverter 63 invertiert das LSB jedes DCT-Koeffizienten, der auf dem Pfad RDATA empfangen wird, und liefert den resultierenden DCT-Koeffizienten mit invertiertem LSB an das vierte UND-Glied 65.
  • Die Abwesenheit des Verarbeitungsanforderungssignals REQI, d. h. das Verarbeitungsanforderungssignal in dem Null-Zustand, zeigt an, daß der DCT-Koeffizient, dessen Parität invertiert werden kann, der IDCT-Schaltung zugeführt werden soll, ohne daß sein LSB invertiert wird. Das Verarbeitungsanforderungssignal öffnet in dem Zustand Null das dritte UND-Glied 64 und schließt das vierte UND-Glied 65. Dieses leitet den DCT-Koeffizienten, dessen Parität invertiert werden kann, mit unverändertem LSB von dem Pfad RDATA über das dritte UND-Glied 64, das ODER-Glied 66, das zweite UND-Glied 68 und das ODER-Glied 69 zu der ID-CT-Schaltung 15.
  • Auf der anderen Seite zeigt die Anwesenheit des Verarbeitungsanforderungssignals REQ1, d. h. das Verarbeitungsanforderungssignal REQ1 in dem Zustand Eins, an, daß der DCT-Koeffizient, dessen Parität invertiert werden kann, mit invertiertem LSB an die IDCT-Schaltung geliefert werden soll, um die Parität der Summe der DCT-Koeffizienten zu ändern. Das Verarbeitungsanforderungssignal in dem Zustand Eins schließt das dritte UND-Glied 64 und öffnet das vierte UND-Glied 65. Dieses führt den DCT-Koeffizienten, dessen Parität invertiert werden kann, mit invertiertem LSB von dem LSB-Inverter 63 über das vierte UND-Glied 65, das ODER-Glied 66, das zweite UND-Glied 68 und das ODER-Glied 69 zu der IDCT-Schaltung 15.
  • Im folgenden wird anhand von 12 ein zweites Ausführungsbeispiel des Paritätsinverters 28 beschrieben. Wenn der Paritätsinverter 28 nach dem zweiten Ausführungsbeispiel das Verarbeitungsanforderungssignal REQ1 empfängt, macht er die Summe der DCT-Koeffizienten ungeradzahlig, indem zu dem DCT-Koeffizienten, dessen Parität invertiert werden kann, eine 1 addiert wird.
  • Der Paritätsinverter 28 nach dem zweiten Ausführungsbeispiel kann durch einen Computer oder einen digitalen Signalprozessor implementiert werden, der nach dem Flußdiagramm von 12 arbeitet. Das in 12 dargestellte Flußdiagramm ähnelt dem Flußdiagramm von 9 mit Ausnahme der in dem Schritt S3 ausgeführten Operation. Statt das LSB des DCT-Koeffizienten, dessen Parität invertiert werden kann, zu invertieren, macht der Paritätsinverter 28 nach dem zweiten Ausführungsbeispiel in dem Schritt S3 die Summe der DCT-Koeffizienten ungeradzahlig, indem zu dem DCT-Koeffizienten, dessen Parität invertiert werden kann, eine 1 addiert wird. Der DCT-Koeffizient, dessen Parität invertiert werden kann, kann z. B. der letzte von Null abweichende Koeffizient in dem Block sein, oder der DCT-Koeffizient der Komponente mit der höchsten Frequenz in dem Block.
  • Anhand von 13 wird nun eine praktische Schaltungskonfiguration des zweiten Ausführungsbeispiels des Paritätsinverters beschrieben, bei dem zu dem DCT-Koeffizienten, dessen Parität invertiert werden kann, 1 addiert wird, um die Summe der DCT-Koeffizienten in dem Block von DCT-Koeffizienten ungeradzahlig zu machen. Das in 13 dargestellte zweite Ausführungsbeispiel des Paritätsinverters ähnelt dem ersten Ausführungsbeispiel des Paritätsinverters 28, der in 11 dargestellt ist. Elemente in der Schaltung von 13, die Elementen der Schaltung von 11 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben.
  • Der Paritätsinverter von 13 umfaßt anstelle des LSB-Inverters 63 von 11 den +1-Addierer 73. Der +1-Addierer 73 addiert zu jedem DCT-Koeffizienten, der aus dem ersten Speicher 26 oder aus dem zweiten Speicher 27 ausgelesen und über den Pfad RDATA empfangen wird, eine Eins. Einer der DCT-Koeffizienten, zu dem eine Eins addiert ist, wird in Abhängigkeit von dem Verarbeitungsanforderungssignal REQ1 ausgewählt, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen.
  • Die Funktion des in 13 dargestellten Paritätsinverters ist mit der Funktion der Schaltung von 11 identisch mit der Ausnahme, daß der +1-Addierer 73 zu jedem DCT-Koeffizienten, der auf dem Pfad RDATA empfangen wird, 1 addiert. Wenn das Verarbeitungsanforderungssignal REQ1 vorhanden ist und der DCT-Koeffizient, dessen Parität invertiert werden kann, detektiert wird, wird der DCT-Koeffizient, zu dem eine 1 addiert ist, von dem +1-Addierer über das vierte UND-Glied 64, das ODER-Glied 66, das zweite UND-Glied 68 und das ODER-Glied 69 der IDCT-Schaltung 15 zugeführt.
  • Anhand von 14 und 15 wird nun ein drittes Ausführungsbeispiel des Paritätsinverters beschrieben.
  • Wenn der Paritätsinverter nach dem dritten Ausführungsbeispiel das Verarbeitungsanforderungssignal REQ1 empfängt, macht er die Summe der DCT-Koeffizienten in dem Block ungeradzahlig, indem er den DCT-Koeffizienten, dessen Parität invertiert werden kann, durch den DCT-Koeffizienten, dessen Parität invertiert werden soll, ersetzt, von dem 1 subtrahiert wurde, wenn das Vorzeichen des DCT-Koeffizienten positiv ist, und durch den DCT-Koeffizienten, zu dem 1 addiert wurde, wenn das Vorzeichen des DCT-Koeffizienten negativ ist. Dadurch wird nicht nur die Parität des DCT-Koeffizienten invertiert, dessen Parität invertiert werden soll, sondern auch die Magnitude dieses DCT-Koeffizienten reduziert, d. h. der DCT-Koeffizient, dessen Parität invertiert werden soll, wird näher an Null herangeführt. Die Verarbeitung, die an dem DCT-Koeffizienten ausgeführt wird, dessen Parität invertiert werden soll, ist durch die folgende Gleichung definiert. (15) if(rec > 0) rec = rec – 1 if(rec < 0) rec = rec + 1worin rec den DCT-Koeffizienten bedeutet, dessen Parität invertiert werden soll.
  • Das dritte Ausführungsbeispiel des Paritätsinverters 28 kann durch einen Computer oder einen digitalen Signalprozessor implementiert werden, der nach dem in 14 dargestellten Flußdiagramm arbeitet. In dem Schritt S1 ermittelt der Paritätsinverter 28 aus der Adresse EOB_-adrs, ob der DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann. Der Paritätsinverter stellt z. B. fest, ob der DCT-Koeffizient der letzte von Null verschiedene DCT-Koeffizient ist. Wenn das Ergebnis in dem Schritt S1 JA lautet und der DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann, geht die Verarbeitung weiter zu dem Schritt S2. Andernfalls, wenn der DCT-Koeffizient nicht derje nige DCT-Koeffizient ist, dessen Parität invertiert werden kann, geht die Verarbeitung weiter zu dem Schritt S8.
  • In dem Schritt S2 bestimmt der Paritätsinverter 28, ob das Verarbeitungsanforderungssignal REQ1 empfangen wurde. Wenn das Ergebnis in dem Schritt S2 JA lautet, was anzeigt, daß das Verarbeitungsanforderungssignal REQ1 empfangen wurde, geht die Verarbeitung weiter zu dem Schritt S3. Andernfalls wurde keine Verarbeitungsanforderung empfangen, und die Verarbeitung geht weiter zu dem Schritt S8. Da ein JA-Ergebnis in dem Schritt S2 nur dann auftreten kann, wenn in dem Schritt S1 ein JA-Ergebnis gewonnen wurde, zeigt das JA-Ergebnis in dem Schritt S2 an, daß der DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden soll.
  • In dem Schritt S3 bestimmt der Paritätsinverter 28 die Polarität des DCT-Koeffizienten, dessen Parität invertiert werden soll. Wenn das Ergebnis in dem Schritt S3 JA lautet, was anzeigt, daß die Polarität des DCT-Koeffizienten positiv ist, geht die Verarbeitung weiter zu dem Schritt S4. Andernfalls ist die Polarität des DCT-Koeffizienten Null oder negativ, und die Verarbeitung geht weiter zu dem Schritt S6.
  • In dem Schritt S4 subtrahiert der Paritätsinverter 28 von dem DCT-Koeffizienten, dessen Parität invertiert werden soll, den Wert 1 (d. h. er addiert –1) und geht anschließend weiter zu dem Schritt S5, in welchem der paritäts-invertierte DCT-Koeffizient der IDCT-Schaltung 15 ( 10A) zugeführt wird. Die Verarbeitung kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • Andernfalls addiert in dem Schritt S6 der Paritätsinverter 28 zu dem DCT-Koeffizienten, dessen Parität geändert werden soll, den Wert 1. Anschließend geht die Verarbeitung weiter zu dem Schritt S7, in welchem der paritäts-invertierte DCT-Koeffizient der IDCT-Schaltung 15 zugeführt wird. Der Prozeß kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • Wenn der DCT-Koeffizient nicht derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann, oder wenn die Parität des DCT-Koeffizienten, dessen Parität invertiert werden kann, nicht invertiert werden soll, d. h. wenn das Verarbeitungsanforderungssignal REQ1 nicht empfangen wurde, geht die Verarbeitung weiter zu dem Schritt S8. In dem Schritt S8 wird der DCT-Koeffizient ohne Änderung der IDCT-Schaltung 15 zugeführt. Die Verarbeitung kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • 15 zeigt ein praktisches Beispiel der Schaltungskonfiguration des dritten Ausführungsbeispiels des Paritätsinverters 28, bei dem die Paritätsinvertierung durchgeführt wird, um die Magnitude des DCT-Koeffizienten zu verringern, dessen Parität invertiert wird, d. h. den DCT-Koeffizienten, dessen Parität invertiert ist, näher an Null zu rücken.
  • Der in 15 dargestellte Paritätsinverter gleicht dem Paritätsinverter 28 von 11. Elemente in der Schaltung von 15, die Elementen in der Schaltung von 11 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben. Der Paritätsinverter von 15 unterscheidet sich von dem in 11 dargestellten Paritätsinverter darin, daß er anstelle des LSB-Inverters 63 die Magnitudenreduzierschaltung 80 enthält.
  • Die Magnitudenreduzierschaltung 80 bestimmt die Polarität jedes DCT-Koeffizienten, der über den Pfad RDATA aus dem ersten Speicher 26 oder dem zweiten Speicher 27 empfangen wird. Wenn die Polarität des DCT-Koeffizienten positiv ist, subtrahiert die Magnitudenreduzierschaltung 1 von dem DCT-Koeffizienten, während sie Eins zu dem DCT-Koeffizienten addiert, wenn die Polarität des DCT-Koeffizienten Null oder negativ ist. Die Paritätsinverterschaltung von 15 macht die Summe der DCT-Koeffizienten in dem Block ungeradzahlig, indem sie den DCT-Koeffizienten auswählt, dessen Parität von der Magnitudenreduzierschaltung 80 invertiert wird, und den DCT-Koeffizienten, dessen Parität invertiert werden soll, durch den magnitudenreduzierten, paritäts-invertierten DCT-Koeffizienten ersetzt.
  • Die Magnitudenreduzierschaltung 80 enthält die Polaritätsprüfschaltung 81, die das fünfte UND-Glied 84 direkt und das sechste UND-Glied 85 über den Inverter 87 steuert. Die Magnitudenreduzierschaltung 80 enthält außerdem den –1-Subtrahierer 82 und den +1-Addierer 83, die von jedem auf dem Pfad RDATA empfangenen DCT-Koeffizienten 1 subtrahieren bzw. 1 dazu addieren. In Abhängigkeit von dem Ausgangssignal der Polaritätsprüfschaltung 81 wird entweder das Ausgangssignal des –1-Subtrahierers 82 oder das Ausgangssignal des +1-Addierers 83 von dem fünften UND-Glied 84 bzw. dem sechsten UND-Glied 85 ausgewählt. Die Ausgangssignale der UND-Glieder 84 und 85 werden dem ODER-Glied 86 zugeführt, das den ausgewählten magnitudenreduzierten DCT-Koeffizienten dem vierten UND-Glied 65 zuführt. Wenn die Parität der Summe der DCT-Koeffizienten in dem Block invertiert werden muß, wählt das vierte UND-Glied das magnitudenreduzierte, paritäts-invertierte Ausgangssignal der Magnitudenreduzierschaltung 80 anstelle des DCT-Koeffizienten, dessen Parität invertiert werden kann, für die Weiterleitung an die IDCT-Schaltung 15 aus.
  • Die Polaritätsprüfschaltung 81 ermittelt die Polarität jedes DCT-Koeffizienten in dem Block von DCT-Koeffizienten, die auf dem Pfad RDATA empfangen werden, und setzt den Zustand seines Ausgangssignals in Abhängigkeit davon, ob die Polarität des DCT-Koeffizienten positiv oder negativ ist, auf Eins oder auf Null. Wenn die Polaritätsprüfschaltung feststellt, daß die Polarität des DCT-Koeffizienten positiv ist, öffnet das Ausgangssignal der Polaritätsprüfschaltung das fünfte UND-Glied 84 und schließt das sechste UND-Glied 85. Dieses führt das Ausgangssignal des –1-Subtrahierers 82, d. h. den DCT-Koeffizienten, von dem 1 subtrahiert wurde, über das fünfte UND-Glied 84 und das ODER-Glied 86 dem vierten UND-Glied 65 zu.
  • Wenn die Polaritätsprüfschaltung 81 hingegen feststellt, daß die Polarität des DCT-Koeffizienten negativ oder Null ist, schließt das Ausgangssignal der Polaritätsprüfschaltung das fünfte UND-Glied 84 und öffnet das sechste UND-Glied 85. Dadurch wird das Ausgangssignal des +1-Addierers 83, d. h. der DCT-Koeffizient, zu dem 1 addiert wurde, über das sechste UND-Glied 85 und das ODER-Glied 86 dem vierten UND-Glied 65 zugeführt.
  • Das vierte UND-Glied 65 liefert den paritäts-invertierten, magnitudenreduzierten DCT-Koeffizienten aus der Magnitudenreduzierschaltung 80 als Reaktion auf das Verarbeitungsanforderungssignal REQ1 an das zweite UND-Glied 68. Wenn der Komparator 62 feststellt, daß der auf dem Pfad RDATA empfangene DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann, wird der magnitudenreduzierte, polaritäts-invertierte DCT-Koeffizient aus der Magnitudenreduzierschaltung 80 der IDCT-Schaltung 15 (10A) zugeführt, wie dies oben anhand von 11 beschrieben wurde. Wenn hingegen kein Verarbeitungsanforderungssignal REQ1 empfangen wird, wird in dem in 15 dargestellten dritten Ausführungsbeispiel des Paritätsinverters der DCT-Koeffizient, dessen Parität invertiert werden kann, unverändert der IDCT-Schaltung 15 zugeführt.
  • Wenn die Summe der DCT-Koeffizienten ungeradzahlig gemacht werden soll, wird bei dem in 15 dargestellten dritten Ausführungsbeispiel des Paritätsinverters 28 der IDCT-Schaltung derjenige DCT-Koeffizient zugeführt, dessen Parität durch Subtrahieren von 1 invertiert wurde, wenn seine Polarität positiv ist, hingegen derjenige DCT-Koeffizient, dessen Parität durch Addieren von 1 invertiert wurde, wenn seine Polarität Null oder negativ ist. Dadurch wird die Polarität des DCT-Koeffizienten, dessen Parität invertiert werden soll, invertiert und seine Magnitude reduziert, und die Summe der DCT-Koeffizienten wird ungeradzahlig gemacht.
  • Anhand von 16 und 17 wird ein viertes Ausführungsbeispiel des Paritätsinverters 28 beschrieben.
  • Wenn der Paritätsinverter nach dem vierten Ausführungsbeispiel das Verarbeitungsanforderungssignal REQ1 empfängt, macht er die Summe der DCT-Koeffizienten in dem Block ungeradzahlig, indem er denjenigen DCT-Koeffizienten, dessen Parität invertiert werden soll, durch den DCT-Koeffizienten ersetzt, dessen Parität invertiert werden soll und zu dem 1 addiert wurde, wenn das Vorzeichen des DCT-Koeffizienten positiv ist, hingegen durch denjenigen, von dem 1 subtrahiert wurde, wenn das Vorzeichen des DCT-Koeffizienten negativ ist.
  • Dadurch wird nicht nur die Parität des DCT-Koeffizienten invertiert, dessen Parität invertiert werden soll, sondern auch die Magnitude dieses DCT-Koeffizienten vergrößert, d. h. der DCT-Koeffizient, dessen Parität invertiert werden soll, weiter von Null weggerückt. Die Verarbeitung des DCT-Koeffizienten, dessen Parität invertiert werden soll, ist durch die folgende Gleichung definiert. (16) if(rec > 0) rec = rec + 1 if(rec < 0) rec = rec – 1worin rec der DCT-Koeffizient ist, dessen Parität invertiert werden soll.
  • Das vierte Ausführungsbeispiel des Paritätsinverters 28 kann durch einen Computer oder einen digitalen Signalprozessor implementiert werden, der nach dem Flußdiagramm von 16 arbeitet. In dem Schritt S1 prüft der Paritätsinverter 28 aus der Adresse EOB_adrs, ob der DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann. Der Paritätsinverter prüft z. B., ob der DCT-Koeffizient der letzte von Null verschiedene DCT-Koeffizient ist. Wenn das Ergebnis in dem Schritt S1 JA lautet und der DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann, geht die Verarbeitung weiter zu dem Schritt S2. Andernfalls, d. h. wenn der DCT-Koeffizient nicht derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann, geht die Verarbeitung weiter zu dem Schritt S8.
  • In dem Schritt S2 prüft der Paritätsinverter 28 ob das Verarbeitungsanforderungssignal REQ1 empfangen wurde. Wenn das Ergebnis in dem Schritt S2 JA lautet und damit anzeigt, daß das Verarbeitungsanforderungssignal REQ1 empfangen wurde, geht die Verarbeitung weiter zu dem Schritt S3. Andernfalls wurde keine Verarbeitungsanforderung empfangen, und die Verarbeitung geht weiter zu dem Schritt S8. Da ein JA-Ergebnis in dem Schritt S2 nur dann auftreten kann, wenn in dem Schritt S1 ein JA-Ergebnis aufgetreten ist, zeigt das JA-Ergebnis in dem Schritt S2 an, daß der DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden soll.
  • In dem Schritt S3 prüft der Paritätsinverter 28 die Polarität des DCT-Koeffizienten. Wenn das Ergebnis in dem Schritt S3 JA lautet und anzeigt, daß die Polarität des DCT-Koeffizienten positiv ist, geht die Verarbeitung weiter zu dem Schritt S4. Andernfalls ist die Polarität des DCT-Koeffizienten Null oder negativ, und die Verarbeitung geht weiter zu dem Schritt S6.
  • In dem Schritt S4 addiert der Paritätsinverter 28 den Wert 1 zu dem DCT-Koeffizienten. Danach geht die Verarbeitung weiter zu dem Schritt S5, in welchem der paritäts-invertierte DCT-Koeffizient der IDCT-Schaltung 15 (10A) zugeführt wird. Die Verarbeitung kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • Andernfalls subtrahiert der Paritätsinverter 28 in dem Schritt S6 den Wert 1 von dem DCT-Koeffizienten (d. h. er addiert –1). Danach geht die Verarbeitung weiter zu dem Schritt S7, in welchem der paritäts-invertierte DCT-Koeffizient der IDCT-Schaltung 15 zugeführt wird. Die Verarbeitung kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • Die Verarbeitung geht zu dem Schritt S8, wenn der DCT-Koeffizient nicht derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann, oder wenn die Parität des DCT-Koeffizienten, dessen Parität invertiert werden kann, nicht invertiert werden soll, d. h. wenn das Verarbeitungsanforderungssignal REQ1 nicht empfangen wurde. In dem Schritt S8 wird der DCT-Koeffizient unverändert der IDCT-Schaltung 15 zugeführt. Die Verarbeitung kehrt dann zu dem Schritt S1 zurück, in welchem der nächste DCT-Koeffizient verarbeitet wird.
  • 17 zeigt ein praktisches Beispiel für die Schaltungskonfiguration des vierten Ausführungsbeispiels des Paritätsinverters 28, in welchem die Paritätsinvertierung durchgeführt wird, um die Magnitude des DCT-Koeffizienten, dessen Parität invertiert wird, zu vergrößern, d. h. den DCT-Koeffizienten, dessen Parität invertiert werden soll, weiter von Null wegzurücken.
  • Der in 17 dargestellte Paritätsinverter gleicht dem Paritätsinverter 28 von 11. Diejenigen Elemente in der Schaltung von 17, die Elementen in der Schaltung von 11 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben. Der Paritätsinverter von 17 unterscheidet sich von dem in 11 dargestellten Paritätsinverter darin, daß er anstelle des LSB-Inverters 63 die Magnitudenvergrößerungsschaltung 90 enthält.
  • Die Magnitudenvergrößerungsschaltung 90 bestimmt die Polarität jedes DCT-Koeffizienten, der über den Pfad RDATA aus dem ersten Speicher 26 oder dem zweiten Speicher 27 empfangen wird. Wenn die Polarität des DCT-Koeffizienten positiv ist, addiert die Magnitudenvergrößerungsschaltung 1 zu dem DCT-Koeffizienten, während sie von dem DCT-Koeffizienten 1 subtrahiert, wenn die Polarität des DCT-Koeffizienten Null oder negativ ist. Der Paritätsinverter von 17 macht die Summe der DCT-Koeffizienten in dem Block ungeradzahlig, indem er denjenigen DCT-Koeffizienten aus der Magnitudenvergrößerungsschaltung auswählt, dessen Parität invertiert werden soll, und den DCT-Koeffizienten, dessen Parität invertiert werden soll, durch den magnitude-vergrößerten DCT-Koeffizienten ersetzt.
  • Die Magnitudenvergrößerungsschaltung 90 enthält die Polaritätsprüfschaltung 91, die das fünfte UND-Glied 94 direkt und das sechste UND-Glied 95 über den Inverter 97 steuert. Die Magnitudenvergrößerungsschaltung 90 enthält ferner den +1-Addierer 92 und den –1-Subtrahierer 93, die zu jedem DCT-Koeffizienten 1 addieren bzw. 1 von ihm subtrahieren. In Abhängigkeit von dem Ausgangssignal der Polaritätsprüfschaltung 91 wird von dem fünften UND-Glied 94 oder dem sechsten UND-Glied 95 entweder das Ausgangssignal des +1-Addierers 92 oder das Ausgangssignal des –1-Subtrahierers 93 ausgewählt. Die Ausgangssignale der UND-Glieder 94 und 95 werden dem ODER-Glied 96 zugeführt, das den ausgewählten, magnituden-vergrößerten DCT-Koeffizienten dem vierten UND-Glied 65 zuführt. Wenn die Parität der Summe der DCT-Koeffizienten in dem Block invertiert werden soll, wählt das vierte UND-Glied das paritäts-invertierte, magnituden-vergrößerte Ausgangssignal der Magnitudenvergrößerungsschaltung 90 aus und führt dieses anstelle des DCT-Koeffizienten, dessen Parität invertiert werden kann, der IDCT-Schaltung 15 zu.
  • Die Polaritätsprüfschaltung 91 prüft die Polarität jedes DCT-Koeffizienten in dem Block von DCT-Koeffizienten, die auf dem Pfad RDATA empfangen werden und setzt den Zustand seines Ausgangssignals in Abhängigkeit davon, ob die Polarität des DCT-Koeffizienten positiv oder negativ ist, entweder auf Eins oder auf Null. Wenn die Polaritätsprüfschaltung feststellt, daß die Polarität des DCT-Koeffizienten positiv ist, öffnet das Ausgangssignal der Polaritätsprüfschaltung das fünfte UND-Glied 94 und schließt das sechste UND-Glied 95. Dieses liefert das Ausgangssignal des +1-Addierers 91, d. h. den DCT-Koeffizienten, zu dem 1 addiert wurde, über das fünfte UND-Glied 94 und das ODER-Glied 96 an das vierte UND-Glied 65.
  • Wenn die Polaritätsprüfschaltung 91 hingegen feststellt, daß die Polarität des DCT-Koeffizienten negativ oder Null ist, schließt das Ausgangssignal der Polaritätsprüfschaltung das fünfte UND-Glied 94 und öffnet das sechste UND-Glied 95. Dadurch wird das Ausgangssignal des – 1-Subtrahierers 93, d. h. der DCT-Koeffizient, von dem 1 subtrahiert wurde, über das sechste UND-Glied 95 und das ODER-Glied 96 dem vierten UND-Glied 65 zugeführt.
  • Das vierte UND-Glied 65 liefert den paritäts-invertierten, magnituden-vergrößerten DCT-Koeffizienten aus der Magnitudenvergrößerungsschaltung 90 als Reaktion auf das Verarbeitungsanforderungssignal REQ1 an das zweite UND-Glied 68. Wenn der Komparator 62 feststellt, daß der auf dem Pfad RDATA empfangene DCT-Koeffizient derjenige DCT-Koeffizient ist, dessen Parität invertiert werden kann, wird der DCT-Koeffizient aus der Magnitudenvergrößerungsschaltung der IDCT-Schaltung 15 (10A) zugeführt, wie dies oben anhand von 11 beschrieben wurde.
  • Wenn der Paritätsinverter des in 17 dargestellten vierten Ausführungsbeispiels hingegen kein Verarbeitungsanforderungssignal REQ1 empfängt, wird der DCT-Koeffizient, dessen Parität invertiert werden kann, unverändert der IDCT-Schaltung 15 zugeführt.
  • Wenn die Summe der DCT-Koeffizienten ungeradzahlig gemacht werden soll, führt das in 17 dargestellte vierte Ausführungsbeispiel des Paritätsinverters 28 der IDCT-Schaltung 15 den DCT-Koeffizienten zu, dessen Parität durch Addieren von 1 invertiert wurde, wenn seine Polarität positiv ist. Sie führt der IDCT-Schaltung 15 hingegen den DCT-Koeffizienten zu, dessen Parität durch Subtrahieren von 1 invertiert wurde, wenn seine Polarität Null oder negativ ist. Dadurch wird die Parität des DCT-Koeffizienten, dessen Parität invertiert werden kann, invertiert und seine Magnitude vergrößert und die Summe der DCT-Koeffizienten ungeradzahlig gemacht.
  • Die Paritätsinverter 28 von 11, 13, 15 und 17 und die in den Flußdiagrammen von 9, 12, 14 und 16 dargestellte Operationsfolge kann modifiziert werden, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen, indem die Parität eines anderen DCT-Koeffizienten geändert wird als die des letzten von Null verschiedenen DCT-Koeffizienten, der in der Zickzack-Abtastfolge ausgelesen wird. Bei einer zweidimensionalen 8 × 8-DCT-Transformation kann z. B. die Parität eines der DCT-Koeffizienten der Gleichkomponente, des DCT-Koeffizienten der (7, 7)-Komponente, d. h. die Komponente der höchsten Frequenz, des DCT-Koeffizienten der (7, 0)-Komponente in der rechten oberen Ecke oder des DCT-Koeffizienten der (0, 7)-Komponente in der linken unteren Ecke geändert werden. Da insbesondere der DCT-Koeffizient der (7, 7)-Komponente, die die Komponente mit der höchsten Frequenz ist, nur geringen Einfluß auf die Bildqualität hat, eignet sich diese Komponente besonders zur Paritätsänderung.
  • In den Paritätsinvertern von 11, 13, 15 und 17 können als DCT-Koeffizienten, deren Parität geändert werden kann, andere DCT-Koeffizienten ausgewählt werden, indem deren Adresse für die dem Komparator 62 zugeführte Adresse EOB_adrs substituiert wird. Falls die Parität des DCT-Koeffizienten der Komponente mit der höchsten Frequenz geändert werden soll, können alternativ auch der Lesezähler 61 und der Komparator 62 entfallen, und das Speicher-Voll-Signal FULL kann dazu benutzt werden, als DCT-Koeffizienten, dessen Parität invertiert werden kann, den DCT-Koeffizienten der Komponente mit der höchsten Frequenz zu identifizieren.
  • In einer weiteren Variante kann die in 6, 8 und 10 dargestellte Summen-Oddifizierschaltung 14 die Summe von spezifischen DCT-Koeffizienten bestimmen, z. B. der DCT-Koeffizienten der (0, 0)-Komponente, der (4, 0)-Komponente, der (0, 4)-Komponente und der (4, 4)-Komponente. Die Summen-Oddifizierschaltung führt dann eine Paritätsinvertierung durch, um die Summe der spezifischen DCT-Koeffizienten ungeradzahlig zu machen. 18 zeigt eine Variante der Summen-Oddifizierschaltung 14 von 8. In dieser wird die Summe der spezifischen DCT-Koeffizienten bestimmt, um zu prüfen, ob eine Paritätsinvertierung notwendig ist. Elemente in der Schaltung von 18, die Elementen der Schaltung von 8 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben.
  • In der Summen-Oddifizierschaltung von 18 unterbricht der Wähler 51 die Leitung zwischen dem inversen Quantisierer 13 und dem Akkumulator 23A. Der Wähler 51 empfängt aus dem Zähler 20 den Zählwert coeff_adrs, die die Zahl der DCT-Koeffizienten in dem Block angibt, die von dem inversen Quantisierer 13 empfangen wurden.
  • In Abhängigkeit von dem aus dem Zähler 20 empfangenen Zählwert coeff_adrs prüft der Wähler 51 für jeden aus dem inversen Quantisierer 13 empfangenen DCT-Koeffizienten, ob er einer der spezifischen DCT-Koeffizienten ist und deshalb in die von dem Akkumulator 23A bestimmte Summe einzubeziehen ist. So prüft der Wähler z. B., ob der Zählwert coeff_adrs ein Wert ist, der der (0, 0)-Komponente, der (4, 0)-Komponente, der (0, 4)-Komponente oder der (4, 4)-Komponente entspricht. Wenn der Wähler 51 feststellt, daß der DCT-Koeffizient einer der spezifischen DCT-Koeffizienten ist, liefert er ihn an den Akkumulator 23A. Die Summen-Oddifizierschaltung von 18 bestimmt also die Summe der spezifischen DCT-Koeffizienten in dem Block, und wenn die Parität der Summe geradzahlig ist, ändert sie die Parität wenigstens eines der DCT-Koeffizienten, um die Summe ungeradzahlig zu machen. Die Summen-Oddifizierschaltung von 18 liefert dann den Block von paritätsjustierten DCT-Koeffizienten an die IDCT-Schaltung 15.
  • Das in 18 dargestellte Ausführungsbeispiel kann ähnlich modifiziert werden wie das Ausführungsbeispiel von 10A, so daß sie die exklusive logische Summe der LSBs der spezifischen DCT-Koeffizienten bestimmen kann. Die Schaltung von 18 wird dadurch modifiziert, daß der Addierer 23 durch den LSB-Detektor 29 und das Exklusiv-ODER-Glied 30 von 10A ersetzt wird.
  • Es sei noch einmal auf 6 Bezug genommen. Die DCT-Koeffizienten in dem Block von DCT-Koeffizienten werden, wie oben beschrieben, von der Summen-Oddifizierschaltung 14 der IDCT-Schaltung 15 zugeführt. Die Summe der DCT-Koeffizienten aus der Summen-Oddifizierschaltung ist eine ungerade Zahl. Falls die Summe der DCT-Koeffizienten aus dem inversen Quantisierer eine gerade Zahl war, ändert die Summen-Oddifizierschaltung 14 die Parität wenigstens eines der DCT-Koeffizienten, um die der IDCT-Schaltung 15 zugeführte Summe der DCT-Koeffizienten ungeradzahlig zu machen. Die IDCT-Schaltung 15 unterzieht die DCT-Koeffizienten in dem Block einer IDCT-Verarbeitung und liefert den zurückgewon nenen Differenzblock S4. Der zurückgewonnene Differenzblock wird dem Addierer 16 zugeführt.
  • Der Addierer 16 addiert Pixel für Pixel den wiederhergestellten Differenzblock S4 und den aus der zweiten Bildspeichergruppe 4 empfangenen Vergleichsblock S2. Der resultierende rekonstruierte Bildblock SS wird der Bildspeichergruppe 4 zugeführt, in der er einen Block des rekonstruierten Bilds bildet, das in einem der Bildspeicher gespeichert ist, der von der Speichersteuerung 3 identifiziert wird.
  • Der variable Längenkodierer 17 unterzieht jeden Block von quantisierten DCT-Koeffizienten SC aus dem Differenzblockkodierer 9 und seinen Bewegungsvektor MV, seinen Bewegungskompensationsmodus MM, die Quantisierungstabellendaten usw. einer variablen Längenkodierung, z. B. einer Huffman-Kodierung, usw.. Der variable Längenkodierer verknüpft auch die mit variabler Länge kodierten Daten mit den Startcodes und der Header-Information der betreffenden Schichten des MPEG-Standards, um das komprimierte Bewegtbildsignal zu bilden.
  • Der Slice/Makroblock-Zähler 5 zählt die Slice-Startsignale SS und die Makroblock-Startsignale BS, die von der Speichersteuerung 3 synchron mit dem Start jedes Slice und jedes Makroblocks der Bilder erzeugt werden, die aus der ersten Bildspeichergruppe 2 für die Verarbeitung ausgelesen werden. Wenn sein Zählwert einen vorbestimmten Wert erreicht, erzeugt der Slice/Makroblock-Zähler 5 das Startsignal SO, das dem variablen Längenkodierer 17 zugeführt wird.
  • In Abhängigkeit von dem Startsignal liefert der variable Längenkodierer 17 das komprimierte Bewegtbildsignal an den Ausgangspuffer 19, in dem es temporär gespeichert wird. Das komprimierte Bewegtbildsignal wird dann aus dem Ausgangspuffer als Bitstrom mit einer vorbestimmten Bitrate ausgelesen. Der Bitstrom des komprimierten Bewegtbildsignals wird über einen Übertragungsweg einem komplementären Expander zugeführt oder auf einem geeigneten Aufzeichnungsmedium, wie einer optischen Platte, aufgezeichnet.
  • Das Aufzeichnungsmedium ist ein Aufzeichnungsmedium, auf dem das komprimierte Bewegtbildsignal aufgezeichnet wird, das aus dem Bewegtbildsignal durch Prädiktionskodierung und diskrete Cosinustransformation abgeleitet wird. Jeder Block jedes rekonstruierten Bildes, das als Referenzbild bei der Prädiktionskodierung benutzt wird, wird dadurch rekonstruiert, daß ein Block der quantisierten DCT-Koeffizienten, der in dem komprimierten Bewegtbildsignal enthalten ist, invers quantisiert wird, die Summe der DCT-Koeffizienten in dem resultierenden Block von DCT-Koeffizienten ungeradzahlig gemacht wird und der in der Summe ungeradzahlig gemachte Block von DCT-Koeffizienten invers orthogonal transformiert wird.
  • Ein Übertragungsgerät gemäß der Erfindung kann einen Komprimierer gemäß der Erfindung enthalten, wie er oben beschrieben wurde.
  • Man könnte denken, daß es besser wäre, das Ungeradzahligmachen der Summe in dem Differenzblockkodierer 9 des Komprimierers durchzuführen. Das Ungeradzahligmachen der Summe würde dazu führen, daß die Summe der DCT-Koeffizienten in jedem Block von quantisierten DCT-Koeffizienten in dem komprimierten Bewegtbildsignal eine ungerade Zahl wäre. Man könnte denken, daß eine solche Verarbeitung des komprimierten Bewegtbildsignal es erübrigen würde, die Summe der DCT-Koeffizienten in dem Expandierer ungeradzahlig zu machen. Nachdem die DCT-Koeffizienten in dem Komprimierer quantisiert und in dem Expandierer invers quantisiert wurden, kann jedoch mit einer solchen Anordnung die Summe der DCT-Koeffizienten, die der IDCT-Schaltung in dem Expandierer zugeführt werden, keine ungerade Zahl mehr sein. Deshalb muß das Ungeradzahligmachen der Summe vor der IDCT-Verarbeitung in dem Expandierer erfolgen, um sicherzustellen, daß kein Abgleichfehler auftritt.
  • Im folgenden wird anhand von 19 ein Expandierer für komprimierte Bewegtbildsignale beschrieben, bei dem die Erfindung angewendet wird. In 19 wird das komprimierte Bewegtbildsignal als Bitstrom über eine Übertragungsleitung aus dem Komprimierer oder durch Wiedergabe des komprimierten Bewegtbildsignals von einem geeigneten Aufzeichnungsmedium, wie einer optischen Platte, empfangen. Der Bitstrom wird dem Eingangspuffer 31 zugeführt, in welchem er temporär gespeichert und aus dem er Bild für Bild in einen inversen variablen Längenkodierer (den "IVLC") 32 ausgelesen wird. Der inverse variable Längenkodierer 32 extrahiert aus dem komprimierten Bewegtbildsignal die Header-Information der betreffenden Schichten der MPEG-Kodierung und extrahiert aus der Header-Information die Bilddekodiersteuerinformation PH, die er der Speichersteuerung 33 zuführt.
  • Der IVLC 32 unterzieht die Blöcke der mit variabler Länge kodierten DCT-Koeffizienten einer inversen variablen Längenkodierung und liefert Blöcke von quantisierten DCT-Koeffizienten, einschließlich des laufenden Blocks von quantisierten DCT-Koeffizienten Cb. Der Block von quantisierten DCT-Koeffizienten Cb wird dem Differenzblockdekodierer 34 zugeführt. Der Differenzblockdekodierer 34 dekodiert den Block von quantisierten DCT-Koeffizienten Cb und bildet den restaurierten Differenzblock BS, den er dem Addierer 39 zuführt.
  • Der IVLC 32 extrahiert aus dem komprimierten Bewegtbildsignal den Bewegungsvektor MV und den Bewegungskompensationsmodus MM für den Block von quantisierten DCT-Koeffizienten Cb und liefert sie an den Bewegungskompensator 37. Der Bewegungskompensator 37 veranlaßt, daß ein Vergleichsblock für den restaurierten Differenzblock BS aus der Bildspeichergruppe 38 ausgelesen wird.
  • Der Bildspeicherblock enthält mehrere Bildspeicher, die jeweils ein bereits rekonstruieres Bild speichern. Der Vergleichsblock BS ist ein Block des rekonstruierten Bilds, das in einem der Bildspeicher an einer durch den Bewegungsvektor MV spezifizierten Adresse gespeichert ist. Der Bildspeicher in der Bildspeichergruppe 38, der das rekonstruierte Bild speichert, aus dem der Vergleichsblock ausgelesen wird, wird von der Speichersteuerung 33 identifiziert.
  • Wie oben erwähnt wurde, kann ein Bild durch Prädiktion aus einem früheren rekonstruierten Bild, durch Prädiktion aus einem nachfolgenden rekonstruierten Bild und durch Prädiktion aus einem Block kodiert werden, der durch eine lineare Operation Pixel für Pixel an einem früher rekonstruierten Bild und einem nachfolgenden rekonstruierten Bild gewonnen wird. Schließlich kann ein Bild auch ohne Prädiktion kodiert werden. In diesem Fall ist der von der Bildspeichergruppe 38 gelieferte Vergleichsblock ein Null-Block, d. h. ein Block, in dem alle Pixelwerte auf Null gesetzt sind. Die von der Bildspeichergruppe 38 gelieferten bewegungskompensierten Vergleichsblöcke werden adaptiv modifiziert, und für jeden Block wird das optimale Exemplar ausgewählt. Dieser Prozeß wird an einem Block mit der Blockgröße von 16 × 16 Pixeln durchgeführt.
  • Jeder Vergleichsblock, der von der Bildspeichergruppe 38 geliefert wird, wird dem Addierer 39 zugeführt. Der Addierer 39 führt eine Addition Pixel für Pixel zwischen dem aus dem Differenzblockdekodierer 34 empfangenen restaurierten Differenzblock BS und dem von der Bildspeichergruppe 38 gelieferten Vergleichsblock durch. Das Ergebnis dieser Addition ist ein rekonstruierter Bildblock, der in dem von der Speichersteuerung 33 identifizierten Bildspeicher in der Bildspeichergruppe 38 gespeichert wird. Die von dem Addierer 39 rekonstruierten Bildblöcke werden einzeln nacheinander in dem ausgewählten Bildspeicher gespeichert, wobei das zuvor in dem Bildspeicher gespeicherte rekonstruierte Bild überschrieben wird, um ein neues rekonstruiertes Bild zu erzeugen.
  • Die in der Bildspeichergruppe 38 gespeicherten rekonstruierten Bilder werden in einer Folge ausgelesen, die durch ein von der Speichersteuerung 33 geliefertes Ausgangsbild-Anzeigesignal gesteuert wird. Die ausgelesenen Bilder werden als reproduziertes Bewegtbildsignal einer geeigneten Bildanzeigevorrichtung, z. B. einem Videomonitor, zugeführt. Die Bildanzeigevorrichtung zeigt ein Bewegtbild an, das dem reproduzierten Bewegtbildsignal entspricht.
  • Im folgenden wird der Differenzblockdekodierer 34 anhand von 19 beschrieben. Der Differenzblockdekodierer 34 umfaßt den inversen Quantisierer 40, die Summen-Oddifizierschaltung 35 und die Schaltung 36 zur inversen diskreten Cosinustransformation. Der inverse Quantisierer 40 benutzt eine Quantisierungstabelle für die inverse Quantisierung des Blocks aus quantisierten Transformationskoeffizienten Cb, der aus dem inversen variablen Längencoodierer 32 empfangen wird. Die Summen-Oddifizierschaltung 35 nimmt den resultierenden Block von DCT-Koeffizienten aus dem inversen Quantisierer 40 auf und verhindert das Auftreten von Abgleichfehlern bei der IDCT-Verarbeitung in der IDCT-Schaltung 36. Die IDCT-Schaltung 36 unterzieht den Block von DCT-Koeffizienten, dessen Summe von der Summen-Oddifizierschaltung 35 ungeradzahlig gemacht wurde, einer IDCT-Verarbeitung.
  • 20 zeigt ein Beispiel für den Aufbau des inversen Quantisierers 40. Die Hauptkomponenten des inversen Quantisierers 40 sind der Lauflängen/Pegel-Dekodierer 41, der Adressenzähler 47, der Adressenwandler 48, der Wähler 49, der erste Blockspeicher 42, der zweite Blockspeicher 43 und die inverse Quantisierungsschaltung 46.
  • Der Lauflängen/Pegel-Dekodierer 41 empfängt den Block von quantisierten DCT-Koeffizienten Cb aus dem inversen variablen Längenkodierer 32. Der Lauflängen/Pegel-Dekodierer dekodiert die Lauflängen/Pegel-Kodierung, der die quantisierten DCT-Koeffizienten in dem variablen Längenkodierer des Komprimierers unterzogen wurden. Der resultierende Block von quantisierten DCT-Koeffizienten wird in einer Zickzack-Abtastfolge dem ersten Blockspeicher 42 oder dem zweiten Blockspeicher 43 zugeführt. Der erste Blockspeicher 42 und der zweite Blockspeicher 43 speichern jeweils einen Block von quantisierten DCT-Koeffizienten.
  • Der Adressenzähler 47 und der Adressenwandler 48 erzeugen Schreibadressen bzw. Leseadressen für den ersten Blockspeicher 42 und den zweiten Blockspeicher 43. Blöcke von quantisierten DCT-Koeffizienten werden abwechselnd in den ersten Blockspeicher und den zweiten Blockspeicher eingeschrieben und aus ihnen ausgelesen. Jeder Block von quantisierten DCT-Koeffizienten wird in einem der Blockspeicher in Abhängigkeit von den von dem Adressenzähler 47 gelieferten Adressen in Zickzack-Abtastfolge eingeschrieben und aus dem Blockspeicher in Abhängigkeit von den von dem Adressenwandler 48 gelieferten Adressen in Raster-Abtastfolge ausgelesen. Die unterschiedliche Folge der Adressen zwischen Schreiben und Lesen wandelt die Folge der quantisierten DCT-Koeffizienten in dem Block aus der Zickzack-Abtastfolge in die Raster-Abtastfolge um.
  • Der Adressenzähler 47 erzeugt die Schreibadressen in Zickzack-Abtastfolge. Der Adressenwandler 48 nimmt die Adressen in Zickzack-Abtastfolge aus dem Adressenzähler auf und benutzt eine Adressenumwandlungtabelle für die Umwandlung der Adressen in Adressen einer Raster-Abtastfolge. Die von dem Adressenzähler 47 und dem Adressenwandler 48 erzeugten Adressen werden von dem Wähler 49 ausgewählt, der sie als Adressen adrs1 und adrs2 dem ersten Blockspeicher 42 und dem zweiten Blockspeicher 43 zuführt. Wenn ein Block aus quantisierten DCT-Koeffizienten aus dem Lauflängen/Pegel-Dekodierer 41 in den ersten Blockspeicher 42 oder in den zweiten Blockspeicher 43 eingeschrieben wird, werden die betreffenden Adressen adrs1 und adrs2 von dem Adressenzähler 47 über den Wähler 49 in Zickzack-Abtastfolge geliefert. Wenn der Block von quantisierten DCT-Koeffizienten aus dem ersten Blockspeicher 42 oder dem zweiten Blockspeicher 43 in den inversen Quantisierer 46 ausgelesen wird, werden die betreffenden Adressen adrs 1 und adrs2 von dem Adressenwandler 48 über den Wähler 49 in Raster-Abtastfolge geliefert.
  • Wenn alle quantisierten DCT-Koeffizienten in dem Block in dem ersten Blockspeicher 42 oder in dem zweiten Blockspeicher 43 gespeichert wurden wird der Block von DCT-Koeffizienten in Raster-Abtastfolge in den inversen Quantisierer 46 ausgelesen. Der inverse Quantisierer 46 unterzieht die quantisierten DCT-Koeffizienten in dem Block einer inversen Quantisierung und liefert den resultierenden Block von DCT-Koeffizienten an die Summen-Oddifizierschaltung 35. Die von dem inversen Quantisierer 46 durchgeführte inverse Quantisierung ist die gleiche wie die inverse Quantisierung, die der inverse Quantisierer 13 in dem lokalen Dekodierer des in 6 dargestellten Bewegtbildsignalkomprimierer vornimmt.
  • Wenn die Summen-Oddifizierschaltung 35 feststellt, daß die Parität der Summe der DCT-Koeffizienten in dem Block von DCT-Koeffizienten aus dem inversen Quantisierer 40 geradzahlig ist, wirkt sie auf wenigstens einen DCT-Koeffizienten in dem Block ein, um die Summe der DCT-Koeffizienten in dem Block ungeradzahlig zu machen. Die Summen-Oddifizierschaltung 35 liefert den Block der in der Summe ungeradzahlig gemachten DCT-Koeffizienten an die IDCT-Schaltung 36. Das Ungeradzahligmachen in der Summen-Oddifizierschaltung 35 erfolgt in der gleichen Weise wie in der Summen-Oddifizierschaltung 14 des lokalen Dekodierers in dem in 6 dargestellten Bewegtbildsignalkomprimierer.
  • Die IDCT-Schaltung 36 unterzieht den Block von DCT-Koeffizienten mit ungeradzahlig gemachter Summe der IDCT-Verarbeitung und liefert den restaurierten Differenzblock BS, der dem Addierer 39 zugeführt wird.
  • Die praktische Arbeitsweise des inversen Quantisierers von 20 wird durch das in 21A bis 21I dargestellte Zeitdiagramm veranschaulicht. Der inverse variable Längenkodierer 32 extrahiert den Block von quantisierten DCT-Koeffizienten Cb aus dem komprimierten Bewegtbildsignal. Der inverse variable Längenkodierer erzeugt das in 21A dargestellte Ereignis-(Event)-Aktivierungssignal EV_EN, das den Lauflängen/Pegel-Dekodierer 41 veranlaßt, den Block von quantisierten DCT-Koeffizienten auszulesen. Die quantisierten DCT-Koeffizienten in dem Block von quantisierten DCT-Koeffizienten Cb werden Lauflängen/-Pegel-kodiert.
  • Der IVLC 32 liefert auch das Eventzahlsignal EVENT_NO an den Lauflängen/Pegel-Dekodierer 41, das in 21B dargestellt ist. Das Eventzahlsignal zeigt die Zahl der Lauflängen/Pegel-Paare in dem Block von quantisierten DCT-Koeffizienten Cb an, d. h. die Zahl von Datenpaarungen, die Lauflänge und Pegel angeben.
  • Wenn der Lauflängen/Pegel-Dekodierer 41 das Eventzahlsignal EVENT_NO empfängt, liefert er ein Lese-Anforderungssignal RE_REQ für jedes Lauflängen/Pegel-Paar zurück an den inversen variablen Längenkodierer 32, wie dies in 21C dargestellt ist. Der inverse variable Längenkodierer 32 liefert jedesmal eine Lauflängen/Pegel-Paarung an den Lauflängen/Pegel-Dekodierer 41, wenn er das Lese-Anforderungssignal RE_REQ empfängt, wie dies in 21D und 21E dargestellt ist. Auf diese Weise liefert der IVLC 32 an den Lauflängen/Pegel-Dekodierer 41 die Zahl von Lauflängen/Pegel-Paarungen, die der Zahl der von ihm empfangenen Lese-Anforderungssignale entspricht.
  • Der Lauflängen/Pegel-Dekodierer 41 dekodiert die Lauflängen/Pegel-Kodierung der Lauflängen/Pegel-kodierten quantisierten DCT-Koeffizienten und liefert einen Block von quantisierten DCT-Koeffizienten in Zickzack-Abtastfolge als WDATA an den ersten Blockspeicher 42, wie dies in 21G dargestellt ist. Gleichzeitig zählt der Adressenzähler 47, wie in 21F dargestellt, die quantisierten DCT-Koeffizienten aus dem Lauflängen/Pegel-Dekodierer und führt über den Wähler 49 dem ersten Blockspeicher 42 das Adressensignal adrs1 in Zickzack-Abtastfolge zu, das die Schreibadresse der einzelnen quantisierten DCT-Koeffizienten angibt.
  • Wenn der Lauflängen/Pegel-Dekodierer 41 aus dem inversen variablen Längenkodierer 32 den EOB-Code empfängt, der anzeigt, daß er den letzten von Null verschiedenen DCT-Koeffizienten empfangen hat, setzt der Lauflängen/Pegel-Dekodierer den dem EOB-Code entsprechenden quantisierten DCT-Koeffizienten und alle folgenden quantisierten DCT-Koeffizienten auf Null und gibt diese Null-DCT-Koeffizienten in den ersten Blockspeicher 42.
  • Wenn der Lauflängen/Pegel-Dekodierer 41 den EOB-Code empfängt, liefert er das Signal EOB_EN an die Positionsregister (POS REG) 44 und 45, wie dies in 21H dargestellt ist. Das EOB_EN-Signal zeigt den Positionsregistern an, daß der EOB-Code empfangen wurde. Die Positionsregister empfangen auch aus dem Adressenzähler 47 über den Adressenwandler 48 die Adresse jedes quantisierten DCT-Koeffizienten, der dem ersten und dem zweiten Blockspeicher 42 bzw. 43 zugeführt wird. Wenn der Lauflängen/Pegel-Dekodierer den EOB-Code empfängt, ist die von dem Adressenzähler 47 erzeugte Adresse die Adresse des letzten von Null verschiedenen Koeffizienten. Das EOB_EN-Signal bewirkt, daß die Adresse, EOB_POS, des letzten von Null verschiedenen Koeffizienten, die von dem Wandler 48 in eine Raster-Abtastadresse umgewandelt wurde, in das Positionsregister des Blockspeichers eingeschrieben wird, in den gerade der Block von quantisierten DCT-Koeffizienten einge schrieben wird. Somit speichert eines der Positionsregister 44 und 45 die Adresse des letzten von Null verschiedenen Koeffizienten des Blocks von quantisierten DCT-Koeffizienten.
  • Wenn der Lauflängen/Pegel-Dekodierer 41 den vollständigen Block von quantisierten DCT-Koeffizienten in den ersten Blockspeicher 42 oder den zweiten Blockspeicher 43 eingegeben hat, liefert der Adressenzähler 47 das Bank-Umschaltsignal BANK an den ersten Blockspeicher 42 und den zweiten Blockspeicher 43. Das BANK-Signal schaltet den Modus der Blockspeicher um, so daß der erste Blockspeicher, der sich vorher im Schreibmodus befand, in den Lesemodus und der zweite Blockspeicher in den Schreibmodus umgeschaltet wird. Wenn der Lauflängen/Pegel-Dekodierer 41 den nächsten Block von quantisierten DCT-Koeffizienten dekodiert, werden deshalb die resultierenden quantisierten DCT-Koeffizienten in den zweiten Blockspeicher 43 eingeschrieben. Das BANK-Signal schaltet auch den Wähler 49 um, so daß die Adressen, die dem Blockspeicher im Schreibmodus zugeführt werden, die Adressen in Zickzack-Abtastfolge aus dem Adressenzähler 47 sind, und die dem Blockspeicher im Lesemodus zugeführten Adressen die Adressen in Raster-Abtastfolge aus dem Adressenwandler 48 sind.
  • Wenn der Lauflängen/Pegel-Dekodierer 41 den vollständigen Block von quantisierten DCT-Koeffizienten in den ersten Blockspeicher 42 eingegeben hat, liefert der erste Blockspeicher 42 das Speicher-Voll-Signal FULL1 an den inversen Quantisierer. Das Speicher-Voll-Signal zeigt an, daß alle quantisierten DCT-Koeffizienten in dem Block gespeichert wurden. Wenn der inverse Quantisierer das Speicher-Voll-Signal FULL1 empfängt, sendet er das Lese-Anforderungssignal RD EN an den ersten Blockspeicher 42. Das Lese-Anforderungssignal veranlaßt den ersten Blockspeicher, die in ihm gespeicherten quantisierten DCT-Koeffizienten nach Maßgabe der Adressen adrs1 auszulesen, die der Adressenwandler 48 über den Wähler 49 in Raster-Abtastfolge ausgibt. Deshalb werden die quantisierten DCT-Koeffizienten in dem Block aus dem ersten Blockspeicher 42 ausgelesen. Die nach Maßgabe der einzelnen Adressen ausgelesenen DCT-Koeffizienten werden dem inversen Quantisierer 46 zugeführt.
  • Zur gleichen Zeit, in der die quantisierten DCT-Koeffizienten in dem Block aus dem ersten Blockspeicher 42 ausgelesen werden, werden die quantisierten DCT-Koeffizienten in dem nächsten Block in Zickzack-Abtastfolge in den zweiten Blockspeicher 43 nach Maßgabe der Adressen aus dem Adressenzähler 47 eingeschrieben.
  • Der inverse Quantisierer 46 unterzieht die quantisierten DCT-Koeffizienten in dem Block von quantisierten DCT-Koeffizienten einer inversen Quantisierung, ähnlich wie der inverse Quantisierer 13 in dem Bewegtbildsignalkomprimierer, der oben anhand von 6 beschrieben wurde. Der resultierende Block von DCT-Koeffizienten wird der Summen-Oddifizierschaltung 35 zugeführt.
  • Wenn die Parität der Summe der DCT-Koeffizienten in dem Block eine gerade Zahl ist, wirkt die Summen-Oddifizierschaltung 35 in der gleichen Weise wie die oben beschriebene Summen-Oddifizierschaltung 14 in dem Bewegtbildsignalkomprimierer auf wenigstens einen der DCT-Koeffizienten in dem Block ein, um die Summe der DCT-Koeffizienten in dem Block ungeradzahlig zu machen. Der resultierende Block von DCT-Koeffizienten mit ungeradzahlig gemachter Summe wird der IDCT-Schaltung 36 zugeführt.
  • Die Summen-Oddifizierschaltung 35 kann z. B. auf die Positionsregister 44 und 45 zurückgreifen, um festzustellen, ob der laufende DCT-Koeffizient der letzte von Null verschiedene Koeffizient in Zickzack-Abtastfolge ist, so daß die Summen-Oddifizierschaltung die Parität des letzten von Null verschiedenen DCT-Koeffizienten ändern kann, um dadurch die Summe der DCT-Koeffizienten in dem Block ungeradzahlig zu machen. Alternativ kann die Summen-Oddifizierschaltung 35 auf den DCT-Koeffizienten der Komponente mit der höchsten Frequenz einwirken, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen. Das Invertieren der Parität des DCT-Koeffizienten der Komponente mit der höchsten Frequenz kann besonders vorteilhaft sein, weil die Komponente mit der höchsten Frequenz nur geringen Einfluß auf die Bildqualität hat und es nicht notwendig ist, festzustellen, welcher der DCT-Koeffizienten der letzte von Null verschiedene Koeffizient ist.
  • Es muß betont werden, daß die in dem Bewegtbildsignalkomprimierer und in dem Expandierer für komprimierte Bewegtbildsignale durchgeführten Summen-Oddifizier-Operationen miteinander identisch sein müssen, um Abgleichfehler zu vermeiden.
  • 2. Zweites Ausführungsbeispiel
  • 22 zeigt den Aufbau eines zweiten Ausführungsbeispiels des Bewegtbildsignalkomprimierers gemäß der Erfindung. Das zweite Ausführungsbeispiel ist das bevorzugte Ausführungsbeispiel der Erfindung. Der Aufbau der Summen-Oddifizierschaltung 50 in dem Bewegtbildsignalkomprimierer von 22 ist in 23 dargestellt. Diejenigen Elemente des zweiten Ausführungsbeispiels des Bewegtbildsignalkomprimierers, die Elementen des ersten Ausführungsbeispiels des Bewegtbildsignalkomprimierers von 6 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben. Das zweite Ausführungsbeispiel unterscheidet sich von dem ersten Ausführungsbeispiel durch den Aufbau der Summen-Oddifizierschaltung 50.
  • In der Summen-Oddifizierschaltung 50, die in 23 detailliert dargestellt ist, zählt der Zähler 20 die Zahl der aus dem inversen Quantisierer 13 empfangenen DCT-Koeffizienten und liefert den resultierenden Zählwert coeff adrs an die Paritätsprüfschaltung 21.
  • Der Akkumulator 23A enthält den Addierer 23 und das Register 24. Der Addierer 23 addiert alle DCT-Koeffizienten in einem Block von DCT-Koeffizienten, die aus dem inversen Quantisierer 13 empfangen werden, zu der Summe der bereits empfangenen DCT-Koeffizienten in dem Block, die in dem Register 24 gespeichert ist. Das Register 24 wird zurückgesetzt, nachdem die Summe für jeden Block von DCT-Koeffizienten bestimmt wurde. Die resultierende Summe der DCT-Koeffizienten wird von dem Addierer 23 dem Register 24 und der Paritätsprüfschaltung 21 zugeführt. Der Akkumulator 23A braucht lediglich die Summe der niedrigstwertigen Bits der DCT-Koeffizienten in dem Block zu summieren, um ein Ergebnis zu erzeugen, durch das die Paritätsprüfschaltung in die Lage versetzt wird, festzustellen, ob die Parität der Summe der DCT-Koeffizienten ungeradzahlig oder geradzahlig ist.
  • Die Paritätsprüfschaltung 21 arbeitet in Abhängigkeit von dem aus dem Zähler 20 empfangenen Zählwert coeff adrs folgendermaßen: Wenn der Zählwert anzeigt, daß alle DCT-Koeffizienten in dem Block von dem Akkumulator 23A summiert wurden, stellt die Paritätsprüfschaltung 21 fest, ob die Parität der aus dem Akkumulator 23A empfangenen Summe der DCT-Koeffizienten ungeradzahlig oder geradzahlig ist. Im Falle einer zweidimensionalen 8 × 8-DCT-Transformation beispielsweise, stellt die Paritätsprüfschaltung 21 fest, ob die aus dem Akkumulator 23A empfangene Summe der DCT-Koeffizienten ungeradzahlig oder geradzahlig ist, wenn der Zählwert anzeigt, daß die Summe der 64 DCT-Koeffizienten in dem Block bestimmt wurden.
  • Wenn die DCT-Koeffizienten durch binäre Zahlen repräsentiert werden, prüft die Paritätsprüfschaltung 21 in der Praxis das niedrigstwertige Bit (LSB) der aus dem Akkumulator 23A empfangenen Summe der DCT-Koeffizienten. Ein LSB mit dem Wert Null zeigt an, daß die Parität der Summe geradzahlig ist. In diesem Fall liefert die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 an den Paritätinverter 53, um diesen zu veranlassen, eine Paritätsinvertierung durchzuführen. In Abhängigkeit von dem Verarbeitungsanforderungssignal REQ1 ändert der Paritätsinverter 53 die Parität wenigstens eines (d. h. einer ungeraden Zahl) der DCT-Koeffizienten in dem Block, um die Summe der DCT-Koeffizienten ungeradzahlig zu machen. Auf der anderen Seite zeigt ein LSB mit dem Wert 1 an, daß die Parität der Summe ungeradzahlig ist. In diesem Fall liefert die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 nicht, und der Paritätsinverter 53 läßt die Parität aller DCT-Koeffizienten in dem Block unverändert, weil die Parität der Summe der DCT-Koeffizienten bereits ungeradzahlig ist.
  • Der inverse Quantisierer 13 liefert den Block von DCT-Koeffizienten nicht nur an den Akkumulator 23A sondern über die Verzögerungsschaltung 52 auch an den Paritätsinverter 53. Die Verzögerungsschaltung 52 verzögert die DCT-Koeffizienten in dem Block um eine Zeitspan ne, die den Verarbeitungszeiten des Akkumulators 23A und der Paritätsprüfschaltung 21 entspricht, so daß der letzte DCT-Koeffizient, d. h. der Koeffizient mit der höchsten Frequenz (z. B. der DCT-Koeffizient der (7, 7)-Komponente bei einer 8 × 8-DCT-Transformation) in dem Paritätsinverter 53 gleichzeitig mit dem Verarbeitungsanforderungssignal REQ1 ankommt.
  • So liefert der Paritätsinverter 53 alle DCT-Koeffizienten mit Ausnahme des Koeffizienten mit der höchsten Frequenz unverändert an die IDCT-Schaltung 15. Wenn die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 nicht erzeugt hat, liefert der Paritätsinverter 53 auch den DCT-Koeffizienten mit der höchsten Frequenz unverändert an die IDCT-Schaltung. Nur wenn die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 erzeugt hat, invertiert der Paritätsinverter 53 das LSB des DCT-Koeffizienten mit der höchsten Frequenz und führt der IDCT-Schaltung 15 den paritäts-invertierten DCT-Koeffizienten mit der höchsten Frequenz zu.
  • Wenn die Paritätsprüfschaltung 21 also feststellt, daß die Parität der Summe der DCT-Koeffizienten in dem Block geradzahlig ist, wirkt der Paritätsinverter 53 auf den DCT-Koeffizienten mit der höchsten Frequenz (z. B. den DCT-Koeffizienten der (7, 7)-Komponente in einer 8 × 8-DCT-Transformation) in dem Block ein. Der Paritätsinverter invertiert die Parität des DCT-Koeffizienten mit der höchsten Frequenz und macht damit die Summe der DCT-Koeffizienten in dem Block von DCT-Koeffizienten, die der IDCT-Schaltung 15 zugeführt werden, ungeradzahlig. Somit ist die Parität der Summe der DCT-Koeffizienten in dem Block von DCT-Koeffizienten immer ungeradzahlig. Der DCT-Koeffizient der (7, 7)-Komponente ist der Koeffizient, der den geringsten Einfluß auf die Ausgangswerte der IDCT hat.
  • Im folgenden werden weitere praktische Beispiele der Summen-Oddifizierschaltung 50 des bevorzugten Ausführungsbeispiels der Erfindung beschrieben.
  • 24 zeigt ein Beispiel, in welchem der LSB-Detektor 29 und das Exklusiv-ODER-(EXOR)-Glied 30 den Addierer 23 von 23 ersetzen. Elemente in der Schaltung von 24, die Elementen in der Schaltung von 23 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben. Der LSB-Detektor detektiert das LSB jedes DCT-Koeffizienten in dem Block, und das EXOR-Glied 30 und das Register 24 bestimmen zusammen die exklusive logische Summe der LSBs der DCT-Koeffizienten in dem Block. Die Parität der exklusiven logischen Summe wird von der Paritätsprüfschaltung 21 so bestimmt, wie dies oben anhand von 10A und 23 beschrieben wurde.
  • Alternativ können das Exklusiv-ODER-Glied 30 und das Register 24 von 24 durch das UND-Glied 88 und den Zähler 89 von 10B substituiert werden.
  • 25 zeigt ein weiteres Beispiel. In diesem ist zwischen dem inversen Quantisierer 13 und dem Akkumulator 23A in der Summen-Oddifizierschaltung 50 von 23 der Wähler 51 angeordnet. Elemente in der in 25 dargestellten Schaltung, die Elementen in der Schaltung von 23 entsprechen, sind mit den gleichen Bezugszeichen versehen wie dort und werden nicht erneut beschrieben. Die Schaltung von 25 bestimmt die Summe nur von spezifischen Koeffizienten, z. B. der (0, 0)-Komponente, der (4, 0)-Komponente, der (0, 4)-Komponente und der (4, 4)-Komponente, um festzustellen, ob die Summe ungeradzahlig gemacht werden muß. Der Wähler 51 nimmt den Zählwert coeff adrs aus dem Zähler 20 auf, um festzustellen, ob der jeweilige aus dem inversen Quantisierer 13 empfangene DCT-Koeffizient einer der spezifischen Koeffizienten ist und deshalb summiert werden muß. Wenn der Wähler feststellt, daß der DCT-Koeffizient einer der spezifischen Koeffizienten ist und summiert werden soll, d. h. wenn der Zählwert coeff_adrs einen Wert hat, der z. B. der (0, 0)-Komponente, der (4, 0)-Komponente, der (0, 4)-Komponente oder der (4, 4)-Komponente entspricht, liefert der Wähler 51 den DCT-Koeffizienten an den Akkumulator 23A. Der Wähler 51 veranlaßt die in 25 dargestellte Summen-Oddifizierschaltung, die Summe der spezifischen Koeffizienten zu bestimmen. Der Paritätsinverter 53 wirkt dann auf wenigstens einen der spezifischen DCT-Koeffizienten ein, falls dies erforderlich ist, um die Summe der spezifischen DCT-Koeffizienten ungeradzahlig zu machen. Der Block von DCT-Koeffizienten mit ungeradzahlig gemachter Summe wird dann der IDCT-Schaltung 15 zugeführt.
  • In einer anderen Variante kann der in 25 dargestellte Wähler 51 in die Leitung zwischen dem inversen Quantisierer 13 und dem LSB-Detektor 29 in der Schaltung von 24 eingefügt sein. Die in 24 dargestellte Schaltung würde, auf diese Weise modifiziert, die exklusive logische Summe der LSBs der von dem Wähler ausgewählten spezifischen DCT-Koeffizienten bestimmen.
  • In einem weiteren alternativen Ausführungsbeispiel der Summen-Oddifizierschaltung 50 ist der DCT-Koeffizient, auf den die Paritätsinvertierung angewendet wird, nicht der DCT-Koeffizient der Komponente mit der höchsten Frequenz sondern der DCT-Koeffizient der Gleichkomponente, wenn der letzte DCT-Koeffizient, der aus dem inversen Quantisierer 13 empfangen wird, der DCT-Koeffizient der Gleichkomponente ist, d. h. wenn die Reihenfolge der Rasterabtastung derjenigen in den oben beschriebenen Beispielen entgegengesetzt ist.
  • Anhand von 26 wird nun ein Beispiel für den praktischen Aufbau des Paritätsinverters 53 beschrieben. Der Paritätsinverter 53 ist eine vereinfachte Version des oben beschriebenen Paritätsinverters 28, der in 11 dargestellt ist. Der Paritätsinverter 53 enthält den LSB-Inverter 63, das dritte und vierte UND-Glied 64 und 65, das ODER-Glied 66 und den Inverter 71.
  • In dem Paritätsinverter 53 invertiert der LSB-Inverter 63 das LSB jedes DCT-Koeffizienten in dem Block von DCT-Koeffizienten, der aus dem inversen Quantisierer 13 empfangen wird. Dadurch wird die Parität jedes DCT-Koeffizienten invertiert. Normalerweise ist das Verarbeitungsanforderungssignal REQ1 nicht vorhanden, so daß der Paritätsinverter jeden empfangenen DCT-Koeffizienten über das dritte UND-Glied 64 und das ODER-Glied 69 an die IDCT-Schaltung 15 (23) liefert.
  • Wenn die Summen-Oddifizierschaltung 50 (23) den DCT-Koeffizienten mit der höchsten Frequenz in dem Block empfangen hat, zeigt der Zählwert coeff adrs aus dem Zähler 20 der Paritätsprüfschaltung 21 an, daß der von der Paritätsprüfschaltung empfangene Wert die Summe aller DCT-Koeffizienten in dem Block ist. Als Reaktion hierauf stellt die Paritätsprüfschaltung fest, ob die Parität der Summe der DCT-Koeffizienten ungeradzahlig oder geradzahlig ist.
  • Wenn die Paritätsprüfschaltung 21 feststellt, daß die Parität der Summe der DCT-Koeffizienten in dem Block geradzahlig ist, liefert sie das Verarbeitungsanforderungssignal REQI an den Paritätsinverter 53. Das Verarbeitungsanforderungssignal erreicht den Paritätsinverter 53 über die Verzögerungsschaltung 52 gleichzeitig mit dem DCT-Koeffizienten mit der höchsten Frequenz. Das Verarbeitungsanforderungssignal REQI ändert die Zustände des dritten und vierten UND-Glieds 64 und 65. Dieses liefert den LSB-invertierten DCT-Koeffizienten mit der höchsten Frequenz aus dem LSB-Inverter 63 über das vierte UND-Glied 65 und das ODER-Glied 69 an die IDCT-Schaltung 15. Der LSB-invertierte DCT-Koeffizient mit der höchsten Frequenz wird der IDCT-Schaltung anstelle des normalen DCT-Koeffizienten mit der höchsten Frequenz zugeführt, um die Summe der der IDCT-Schaltung zugeführten DCT-Koeffizienten ungeradzahlig zu machen.
  • Wenn die Paritätsprüfschaltung 21 hingegen feststellt, daß die Parität der Summe der DCT-Koeffizienten in dem Block ungeradzahlig ist, erzeugt sie das Verarbeitungsanforderungssignal nicht. Der Paritätsinverter 53 führt der IDCT-Schaltung 15 über das UND-Glied 64 und das ODER-Glied 69 den normalen DCT-Koeffizienten mit der höchsten Frequenz zu, da die Summe des Blocks von DCT-Koeffizienten nicht ungeradzahlig gemacht werden muß.
  • Modifizierungen des praktischen Beispiels des Paritätsinverters 53 von 26 sind in 27 bis 29 dargestellt.
  • 27 zeigt den +1-Addierer 73, der dem +1-Addierer von 13 ähnelt und den LSB-Inverter 63 in dem Paritätsinverter von 26 ersetzt. Im übrigen ist die Schaltung unverändert. Der in 27 dargestellte modifizierte Paritätsinverter invertiert die Parität jedes DCT-Koeffizienten in dem Block, indem er 1 dazu addiert. Wenn die Paritätsprüfschaltung 21 das Ver arbeitungsanforderungssignal REQ1 an den Paritätsinverter sendet, liefert der Paritätsinverter an die IDCT-Schaltung 15 anstelle des normalen DCT-Koeffizienten mit der höchsten Frequenz den DCT-Koeffizienten der höchsten Frequenz, zu dem 1 addiert ist. Diese Substituierung macht die Summe der DCT-Koeffizienten in dem Block ungeradzahlig.
  • Wie 28 zeigt, kann die Magnitudenreduzierschaltung 80 von 15 den LSB-Inverter 63 in der Schaltung von 26 ersetzen. Im übrigen ist die in 26 dargestellte Schaltung unverändert. Wenn der Paritätsinverter von 26 so modifiziert wird, wie dies in 28 dargestellt ist, macht er die Summe der DCT-Koeffizienten entsprechend der oben beschriebenen Gleichung (15) ungeradzahlig. Wenn die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 erzeugt, wird die Summe der DCT-Koeffizienten in dem Block ungeradzahlig gemacht, indem der IDCT-Schaltung 15 der DCT-Koeffizient der höchsten Frequenz mit invertierter Parität zugeführt wird. Die Parität des DCT-Koeffizienten mit der höchsten Frequenz wird auf eine von zwei Arten invertiert: Wenn der DCT-Koeffizient mit der höchsten Frequenz positiv ist, subtrahiert der –1-Subtrahierer 82 den Wert 1 von dem DCT-Koeffizienten mit der höchsten Frequenz, oder, wenn der DCT-Koeffizient mit der höchsten Frequenz Null oder negativ ist, addiert der +1-Addierer 83 den Wert 1 zu dem DCT-Koeffizienten mit der höchsten Frequenz.
  • Wie 29 zeigt, kann die Magnitudenvergrößerungsschaltung 90 von 17 den LSB-Inverter 63 in der Schaltung von 26 substituieren. Im übrigen ist die Schaltung von 26 unverändert. Der Paritätsinverter von 26 in der Modifizierung von 29 macht die Summe der DCT-Koeffizienten entsprechend der oben beschriebenen Gleichung (16) ungeradzahlig. Wenn die Paritätsprüfschaltung 21 das Verarbeitungsanforderungssignal REQ1 erzeugt, wird die Summe der DCT-Koeffizienten in dem Block ungeradzahlig gemacht, indem der IDCT-Schaltung 15 der DCT-Koeffizient mit der höchsten Frequenz mit invertierter Parität zugeführt wird. Die Parität des DCT-Koeffizienten mit der höchsten Frequenz wird auf eine von zwei Arten invertiert: Wenn der DCT-Koeffizient der höchsten Frequenz Null oder negativ ist, subtrahiert der –1-Subtrahierer 93 den Wert 1 von dem DCT-Koeffizienten mit der höchsten Frequenz, oder, wenn der DCT-Koeffizient mit der höchsten Frequenz positiv ist, addiert der +1-Addierer 92 den Wert 1 zu dem DCT-Koeffizienten mit der höchsten Frequenz.
  • Im folgenden wird ein zweites Ausführungsbeispiel des Expandierers für komprimierte Bewegtbildsignale beschrieben, bei dem die Erfindung, wie in den anliegenden Ansprüchen definiert, angewendet wird.
  • In dem zweiten Ausführungsbeispiel des Expandierers für komprimierte Bewegtbildsignale ist die Summen-Oddifizierschaltung 35 aus dem ersten Ausführungsbeispiel des Dekodierers für komprimierte Bewegtbildsignale, das in 19 dargestellt ist und oben beschrieben wurde, durch die Summen-Oddifizierschaltung 50 ersetzt. Im übrigen ist die Schaltung von 19 unverändert. In dem zweiten Ausführungsbeispiel des Expandierers für komprimierte Bewegtbildsignale, wird die Verabeitung zum Ungeradzahligmachen der Summe der DCT-Koeffizienten ähnlich durchgeführt wie in der Summen-Oddifizierschaltung in dem zweiten zweiten Ausführungsbeispiel des Bewegtbildsignalkomprimierers, der oben anhand von 22 beschrieben wurde. Somit ist es bei dem zweiten Ausführungsbeispiel des Expandierers für komprimierte Bewegtbildsignale nicht erforderlich, der Summen-Oddifizierschaltung 50 die Adresse EOB_adrs aus dem inversen variablen Längenkodierer 32 zuzuführen.
  • Die vorangehend beschriebene Erfindung schafft ein Verfahren zur inversen diskreten Cosinustransformation und ein Gerät zur inversen Cosinustransformation, einen Bewegtbildsignalkomprimierer, einen Expandierer für komprimiere Bewegtbildsignale und ein Übertragungsgerät für ein komprimiertes Bewegtbildsignal, bei denen die Wahrscheinlichkeit, daß im Verlauf der diskreten Cosinustransformation ein Abgleichfehler auftritt, bis zu einem Punkt reduziert wird, bei dem in der Praxis keine Abgleichfehler auftreten. Außerdem ermöglicht die Erfindung ein Aufzeichnungsmedium, bei dem kein Abgleichfehler auftritt, wenn ein komprimiertes Bewegtbildsignal von dem Medium reproduziert und durch eine Verarbeitung expandiert wird, die eine inverse orthogonale Transformation beinhaltet.
  • Wenn bei der Komprimierung des Bewegtbildsignals diskrete Cosinustransformation und bei der Expandierung des komprimierten Bewegtbildsignals inverse diskrete Cosinustransformation angewendet wird, kann die Erfindung das Auftreten von Abgleichfehlern bei der inversen diskreten Cosinustransformation verhindern. Dadurch wird eine Verschlechterung der Bildqualität vermieden. Bei einem Bewegtbildkomprimierer und einem Expandierer für komprimierte Bewegtbildsignale gemäß der Erfindung ist die Möglichkeit ausgeschaltet, daß die in dem Komprimierer lokal dekodierten Bilder und die von dem Expandierer rekonstruierten Bilder voneinander verschieden sind. Dadurch ist eine hohe Bildqualität gewährleistet.

Claims (17)

  1. Gerät (14) zur Vorverarbeitung eines Satzes von jeweils eine Parität aufweisenden Transformationskoeffizienten zur Erzeugung eines Fehler-immunen Satzes von Transformationskoeffizienten zur Verarbeitung durch eine inverse orthogonale Transformation, wobei der Fehler-immune Satz von Transformationskoeffizienten, wenn er der inversen orthogonalen Transformation unterworfen wird, immun gegen Rundungsfehler ist, wobei das Gerät aufweist: einen Akkumulator (23A) zum Empfang der Summe der Transformationskoeffizienten in dem Satz und Bereitstellen einer eine Parität aufweisenden Summe, eine Paritäts-Feststellungseinrichtung (21) zum Empfang der Summe vom Akkumulator und Feststellen der Parität der Summe, eine Paritäts-Invertierungseinrichtung (28), die, wenn die Paritäts-Feststellungseinrichtung (21) feststellt, dass die Parität der Summe gerade ist, zum Invertieren der Parität in einem einzelnen der Transformationskoeffizienten operiert, um einen Paritäts-invertierten Transformationskoeffizienten derart bereitzustellen, dass die Parität der Summe ungerade ist, und eine Einrichtung zur Bereitstellung der den Paritätsinvertierten Transformationskoeffizienten enthaltenden Transformationskoeffizienten als den Fehler-immunen Satz.
  2. Gerät nach Anspruch 1, wobei das Gerät zur Vorverarbeitung eines Satzes von durch eine zweidimensionale diskrete Cosinus-Transformation erzeugten Transformationskoeffizienten ist, der Satz von Transformationskoeffizienten einen eine Gleichsignal-Komponente darstellenden Transformationskoeffizienten aufweist, und die Paritäts-Invertierungseinrichtung (28) so ausgebildet ist, dass sie die Parität eines von dem die Gleichsignal-Komponente darstellenden Transformationskoeffizienten verschiedenen einzelnen der Transformationskoeffizienten invertiert.
  3. Gerät nach Anspruch 2, wobei der Satz von Transformationskoeffizienten auch einen eine Höchstfrequenzkomponente darstellenden Transformationskoeffizienten aufweist, und die Paritäts-Invertierungseinrichtung so ausgebildet ist, dass sie die Parität des die Höchstfrequenzkomponente darstellenden Transformationskoeffizienten invertiert.
  4. Gerät nach Anspruch 3, wobei jeder Transformationskoeffizient im Satz durch eine ein niedrigstwertiges Bit aufweisende Binärzahl dargestellt ist, und die Paritäts-Invertierungseinrichtung (28) eine Einrichtung zum Invertieren des niedrigstwertigen Bits des einen einzelnen der Transformationskoeffizienten aufweist.
  5. Gerät nach Anspruch 1, wobei jeder Transformationskoeffizient im Satz durch eine ein niedrigstwertiges Bit aufweisende Binärzahl dargestellt ist, und der Akkumulator eine Einrichtung (24, 29, 30) zum Summieren nur des niedrigstwertigen Bits jedes Transformationskoeffizienten aufweist.
  6. Gerät nach einem der Ansprüche 1 bis 5, mit einer Einrichtung zum Wählen der Transformationskoeffizienten des Satzes von einem Block von Transformationskoeffizienten.
  7. System zum inversen orthogonalen Transformieren eines Satzes von jeweils eine Parität aufweisenden Transformationskoeffizienten ohne ein Erleiden von Rundungsfehlern, wobei das System aufweist: das Gerät nach einem der Ansprüche 1 bis 6 und eine inverse Othogonaltransformationsschaltung (15), die den Satz von Transformationskoeffizienten, der den Paritätsinvertierten Transformationskoeffizienten aufweist, von der Paritäts-Invertierungseinrichtung empfängt.
  8. System nach Anspruch 7, wobei jeder Transformationskoeffizient eine Polarität aufweist, und die Paritäts-Invertierungseinrichtung (80) aufweist: eine Polaritäts-Feststellungseinrichtung (81) zur Feststellung der Polarität jedes Transformationskoeffizienten, eine Einrichtung (8286), die in Reaktion auf die Polaritäts-Feststellungseinrichtung operiert, um zu den Transformationskoeffizienten einen einzelnen zu addieren, wenn die Polaritäts-Feststellungseinrichtung feststellt, dass die Polarität des Transformationskoeffizienten positiv ist, und um von den Transformationskoeffizienten einen einzelnen zu subtrahieren, wenn die Polaritäts-Feststellungseinrichtung feststellt, dass die Polarität des Transformationskoeffizienten negativ ist.
  9. System nach Anspruch 7, wobei jeder Transformationskoeffizient durch eine ein niedrigstwertiges Bit (LSB) aufweisende Binärzahl dargestellt ist, und die Paritäts-Feststellungseinrichtung (14) aufweist: eine LSB-Detektionseinrichtung (29) zum Detektieren des niedrigstwertigen Bits jedes Transformationskoeffizienten, ein logisches Exklusiv-ODER-Tor (30), das einen das niedrigstwertige Bit jedes Transformationskoeffizienten von der LSB-Detektionseinrichtung empfangenden ersten Eingang, einen zweiten Eingang und einen Ausgang aufweist, ein Register (24), das einen mit dem Ausgang des Exklusiv-ODER-Tores verbundenen Eingang und einen mit dem zweiten Eingang des Exklusiv-ODER-Tores verbundenen Ausgang aufweist, und eine mit dem Ausgang des Registers verbundene Paritäts-Feststellungseinrichtung (21).
  10. System zum inversen orthogonalen Transformieren eines Satzes von Transformationskoeffizienten ohne ein Erleiden von Rundungsfehlern, wobei jeder der Transformationskoeffizienten durch eine Binärzahl, die ein einen Zustand aufweisendes niedrigstwertiges Bit aufweist, dargestellt ist, wobei das System aufweist: das Gerät nach einem der Ansprüche 1 bis 6, wobei der Akkumulator eine Niedrigstwertigbit-Feststellungseinrichtung zum Feststellen des Zustandes des niedrigstwertigen Bits jedes Transformationskoeffizienten und eine Zähleinrichtung zur Bereitstellung einer Zählung durch Zählen von Transformationskoeffizienten, deren niedrigstwertige Bits durch die Niedrigstwertigbit-Feststellungseinrichtung als in nur einem Zustand befindlich festgestellt werden, aufweist, die Paritäts-Feststellungseinrichtung eine Zählungs-Feststellungseinrichtung zum Feststellen, ob die Zählung der Zähleinrichtung eine gerade Zahl ist, aufweist, und die Paritäts-Invertierungseinrichtung eine Zählungungerade-machende Einrichtung aufweist, die, wenn die Zählungs-Feststellungseinrichtung feststellt, dass die Zählung eine gerade Zahl ist, operiert, um einen einzelnen der Transformationskoeffizienten zur Bereitstellung eines geänderten Transformationskoeffizienten zu ändern, wobei der geänderte Transformationskoeffizient die Zählung zu einer ungeraden Zahl macht, das System außerdem aufweist: eine inverse Orthogonaltransformationsschaltung, die den Satz von Transformationskoeffizienten einschließlich des geänderten Transformationskoeffizienten von der Zählung-ungerade-machenden Einrichtung empfängt.
  11. System zum Komprimieren eines Bewegtbildsignals, wobei das Bewegtbildsignal Bilder enthält, wobei jedes Bild in Blöcke geteilt ist, wobei das System aufweist: eine Prädiktiv-Codierereinrichtung zur prädiktiven Codierung von Blöcken des Bewegtbildsignals durch Verwendung passender Blöcke eines Referenzbildes zur Bildung von Differenzblöcken, eine Differenzblock-Codierungseinrichtung zum Komprimieren der Differenzblöcke von der Prädiktiv-Codierereinrichtung zur Bildung eines komprimierten Bewegtbildsignals, wobei die Differenzblock-Codierungseinrichtung aufweist: eine Orthogonaltransformationseinrichtung (11) zum orthogonalen Transformieren des Differenzblocks von der Prädiktiv-Codierereinrichtung zur Bereitstellung von Blöcken von Transformationskoeffizienten, eine Quantisierungseinrichtung (12) zum Quantisieren der Blöcke von Transformationskoeffizienten von der Orthogonaltransformationseinrichtung zur Bereitstellung komprimierter Signalblöcke, von denen das komprimierte Bewegtbildsignal abgeleitet wird, eine Lokal-Decodierungseinrichtung (10) zum Expandieren der komprimierten Signalblöcke von der Differenzblock-Codierungseinrichtung zum Bereitstellen wiederhergestellter Differenzblöcke ohne ein Erleiden von Rundungsfehlern, wenn die komprimierten Signalblöcke invers orthogonal transformiert werden, wobei die Lokal-Decodierungseinrichtung aufweist: eine Invers-Quantisierungseinrichtung (13) zum inversen Quantisieren der komprimierten Signalblöcke von der Differenzblock-Codierungseinrichtung zur Bereitstellung von Blökken von jeweils eine Priorität aufweisenden wiederhergestellten Transformationskoeffizienten, das Gerät (14) nach einem der Ansprüche 1 bis 6 zur Verarbeitung der wiederhergestellten Transformationskoeffizienten, eine inverse Orthogonaltransformationsschaltung (15), die den Block von den Paritäts-invertierten Transformations koeffizienten enthaltenden vorverarbeiteten Transformationskoeffizienten empfängt, wobei die inverse Orthogonaltransformationsschaltung die wiederhergestellten Differenzblöcke bereitstellt, eine Prädiktiv-Decodierereinrichtung (16) zum prädiktiven Decodieren der wiederhergestellten Differenzblöcke von der Lokal-Decodierungseinrichtung zum Rekonstruieren von mit den Blöcken des Bewegtbildsignals korrespondierenden rekonstruierten Bildblöcken, und einen Bildspeicher (4), wobei der Bildspeicher die rekonstruierten Bildblöcke von der Prädiktiv-Decodierungseinrichtung als Blöcke eines rekonstruierten Bildes zur Verwendung als ein Referenzbild zur prädiktiven Codierung anderer Bilder des Bewegtbildsignals speichert.
  12. System zum Komprimieren eines Bewegtbildsignals, wobei das Bewegtbildsignal Bilder enthält, wobei jedes Bild in Blöcke geteilt ist, wobei das System aufweist: eine Prädiktiv-Codierereinrichtung (8) zum prädiktiven Codieren von Blöcken des Bewegtbildsignals durch Verwendung passender Blöcke eines Referenzbildes zur Bildung von Differenzblöcken, eine Differenzblock-Codierungseinrichtung (9) zum Komprimieren der Differenzblöcke von der Prädiktiv-Codierereinrichtung zur Bildung eines komprimierten Bewegtbildsignals, wobei die Differenzblock-Codierungseinrichtung aufweist: eine Orthogonaltransformationseinrichtung (11) zum orthogonalen Transformieren der Differenzblöcke vom Prädiktiv-Codierer zur Bereitstellung von Blöcken von Transformationskoeffizienten, eine Quantisierungseinrichtung (12) zum Quantisieren der Blöcke von Transformationskoeffizienten von der Orthogonaltransformationseinrichtung zur Bereitstellung komprimierter Signalblöcke, von denen das komprimierte Bewegtbildsignal abgeleitet wird, eine Lokal-Decodierungseinrichtung (10) zum Expandieren der komprimierten Signalblöcke von der Differenzblock-Codie rungseinrichtung zur Bereitstellung wiederhergestellter Differenzblöcke ohne ein Erleiden von Rundungsfehlern, wenn die komprimierten Signalblöcke invers orthogonal transformiert werden, wobei die Lokal-Decodierungseinrichtung aufweist: eine Invers-Quantisierungseinrichtung (13) zum inversen Quantisieren der komprimierten Signalblöcke vom Differenzblock-Codierer zur Bereitstellung von Blöcken von wiederhergestellten Transformationskoeffizienten, wobei jeder der wiederhergestellten Transformationskoeffizienten durch eine ein niedrigstwertiges Bit aufweisende Binärzahl dargestellt ist, das Gerät (14) nach einem der Ansprüche 1 bis 6 zum Vorverarbeiten der wiederhergestellten Transformationskoeffizienten, und eine inverse Orthogonaltransformationsschaltung (15), die jeden Block von den geänderten Transformationskoeffizienten enthaltenden wiederhergestellten Transformationskoeffizienten von der Zählung-ungerade-machenden Einrichtung empfängt, wobei die inverse Orthogonaltransformationsschaltung die wiederhergestellten Differenzblöcke bereitstellt, eine Prädiktiv-Decodierereinrichtung (16) zum prädiktiven Decodieren der wiederhergestellten Differenzblöcke von der Lokal-Decodierungseinrichtung zum Rekonstruieren von mit den Blöcken des Bewegtbildsignals korrespondierenden Bildblöcken, und einen Bildspeicher (4), wobei der Bildspeicher die rekonstruierten Bildblöcke von der Prädiktiv-Decodierungseinrichtung als Blöcke eines rekonstruierten Bildes zur Verwendung als ein Referenzbild zur prädiktiven Codierung anderer Bilder des Bewegtbildsignals speichert.
  13. System nach Anspruch 12, wobei das System zusätzlich zur Aufzeichnung des komprimierten Bewegtbildsignals auf ein Aufzeichnungsmedium dient, und das System zusätzlich aufweist: eine Einrichtung (17) zur Anwendung einer Variabellängencodierung auf die komprimierten Signalblöcke zum Ableiten des komprimierten Bewegtbildsignals, eine Einrichtung zum Ableiten eines Aufzeichnungssignals vom komprimierten Bewegtbildsignal, und eine Einrichtung zum Aufzeichnen des Aufzeichnungssignals auf dem Aufzeichnungsmedium.
  14. System nach Anspruch 12, wobei das System zusätzlich zur Übertragung des komprimierten Bewegtbildsignals über ein Übertragungsmedium dient, und das System zusätzlich aufweist: eine Einrichtung (17) zum Anwenden einer Variabellängencodierung auf die komprimierten Signalblöcke zum Ableiten des komprimierten Bewegtbildsignals, eine Einrichtung zum Ableiten eines Übertragungssignals vom komprimierten Bewegtbildsignal, und eine Einrichtung zum Übertragen des Übertragungssignals über das Übertragungsmedium.
  15. System nach Anspruch 12, 13 oder 14, wobei der Bildspeicher ein zweiter Bildspeicher (4) ist, und das Gerät zusätzlich einen ersten Bildspeicher (2) aufweist, wobei der erste Bildspeicher das Bewegtbildsignal vorübergehend speichert, die Prädiktiv-Codierereinrichtung (8) zum prädiktiven Codieren von Blöcken des vom ersten Bildspeicher ausgelesenen Bewegtbildsignals dient, das System zusätzlich aufweist: eine Variabellängen-Codierungseinrichtung (17) zum Ableiten des komprimierten Bewegtbildsignals durch Anwenden einer Variabellängencodierung auf die komprimierten Signalblöcke von der Differenzblock-Codierereinrichtung, und eine Bewegungs-Kompensatoreinrichtung (6, 7) zum Detektieren einer Bewegung zwischen den in der zweiten Speichereinrichtung gespeicherten rekonstruierten Bildern und dem in der ersten Speichereinrichtung gespeicherten Bewegtbildsignal zur Anwendung einer Bewegungskompensation auf im zweiten Bildspeicher gespeicherte, schon rekonstruierte Bilder zum Ableiten von Blöcken eines als ein Referenzbild gewählten einzelnen der rekonstruierten Bilder und zur Bereitstellung der Blöcke des Referenzbildes der Prädiktiv-Codierereinrichtung.
  16. System zum Expandieren eines komprimierten Bewegtbildsignals zur Bereitstellung eines Bewegtbild-Ausgangssignals, wobei das komprimierte Bewegtbildsignal Signalabschnitte, die jeweils ein Bild des Bewegtbild-Ausgangssignals darstellen, aufweist, wobei die Signalabschnitte variabellängencodierte komprimierte Signalblöcke enthalten, wobei das System aufweist: eine inverse Variabellängen-Codierungseinrichtung (32) zum Anwenden einer inversen Variabellängencodierung auf die variabellängencodierten komprimierten Signalblöcke zur Bereitstellung komprimierter Signalblöcke, eine Decodierungseinrichtung (34) zum Expandieren der komprimierten Signalblöcke von der inversen Variabellängen-Codierungseinrichtung zur Bereitstellung wiederhergestellter Differenzblöcke ohne ein Erleiden von Rundungsfehlern, wenn die komprimierten Signalblöcke invers orthogonal transformiert werden, wobei die Decodierungseinrichtung aufweist: eine Invers-Quantisierungseinrichtung (40) zum inversen Quantisieren jedes komprimierten Signalblocks von der Differenzblock-Codierungseinrichtung zur Bereitstellung eines Blocks jeweils eine Parität aufweisender wiederhergestellter Transformationskoeffizienten, das Gerät nach einem der Ansprüche 1 bis 6 zur Vorverarbeitung der wiederhergestellten Transformationskoeffizienten, und eine inverse Orthogonaltransformationsschaltung, die den Block von den Paritäts-invertierten Transformationskoeffizienten enthaltenden wiederhergestellten Transformationskoeffizienten von der Summe-ungerade-machenden Einrichtung empfängt, wobei die inverse Orthogonaltransformationsschaltung die wiederhergestellten Differenzblöcke bereitstellt.
  17. System nach Anspruch 16, wobei die Variabellängen-Decodierungseinrichtung (32) zusätzlich einen Bewegungsvektor (MV) und Bewegungs-Kompensationsmodusdaten (MM) bereitstellt, und das System zusätzlich aufweist: eine Prädiktiv-Decodierereinrichtung (39) zum prädiktiven Decodieren der wiederhergestellten Differenzblöcke von der Decodierungseinrichtung zum Rekonstruieren von Bildblöcken, einen Bildspeicher (38), wobei der Bildspeicher die rekonstruierten Bildblöcke von der Prädiktiv-Decodierungseinrichtung als Blöcke eines rekonstruierten Bildes zur Verwendung als ein Referenzbild für prädiktiv-decodierte andere Bilder des Bewegtbildsignals speichert, eine auf den Bewegungsvektor und die Bewegungs-Kompensationsmodusdaten von der inversen Variabellängen-Codierungseinrichtung ansprechende Einrichtung (37) zum Ausführung einer Bewegungskompensation bei im Bildspeicher gespeicherten schon rekonstruierten Bildern, um von einem als ein Referenzbild gewählten der schon rekonstruierten Bilder einen Block des Referenzbildes abzuleiten und den Block des Referenzbildes der Prädiktiv-Decodierereinrichtung bereitzustellen, und eine Einrichtung zum Lesen des Bewegtbild-Ausgangssignals vom Bildspeicher (38).
DE1994633272 1993-03-01 1994-03-01 Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales Expired - Lifetime DE69433272T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP4020393 1993-03-01
JP4020393 1993-03-01
JP5990993 1993-03-19
JP5990993 1993-03-19

Publications (2)

Publication Number Publication Date
DE69433272D1 DE69433272D1 (de) 2003-11-27
DE69433272T2 true DE69433272T2 (de) 2004-08-12

Family

ID=26379647

Family Applications (2)

Application Number Title Priority Date Filing Date
DE1994633272 Expired - Lifetime DE69433272T2 (de) 1993-03-01 1994-03-01 Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales
DE1994621135 Expired - Lifetime DE69421135T2 (de) 1993-03-01 1994-03-01 Verfahren zur vermeidung von rundungsfehlern bei der inversen transformation von transformationskoeffizienten eines bewegtbildsignals

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE1994621135 Expired - Lifetime DE69421135T2 (de) 1993-03-01 1994-03-01 Verfahren zur vermeidung von rundungsfehlern bei der inversen transformation von transformationskoeffizienten eines bewegtbildsignals

Country Status (29)

Country Link
US (2) US5481553A (de)
EP (5) EP0903944B1 (de)
JP (2) JP3610578B2 (de)
KR (1) KR100287490B1 (de)
CN (1) CN1076935C (de)
AT (2) ATE185663T1 (de)
AU (1) AU673244B2 (de)
BR (1) BR9404321A (de)
CA (1) CA2134444C (de)
DE (2) DE69433272T2 (de)
DK (5) DK2276259T3 (de)
EG (1) EG20330A (de)
ES (5) ES2209032T3 (de)
FI (1) FI112579B (de)
GR (1) GR3032133T3 (de)
HK (2) HK1013575A1 (de)
HU (1) HU217744B (de)
IL (1) IL108787A (de)
MY (1) MY110794A (de)
NO (2) NO314709B1 (de)
NZ (1) NZ261907A (de)
OA (1) OA10108A (de)
PL (1) PL173287B1 (de)
PT (4) PT2276259E (de)
RO (1) RO115926B1 (de)
RU (1) RU2119727C1 (de)
TR (1) TR28436A (de)
TW (1) TW224553B (de)
WO (1) WO1994021083A1 (de)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5515388A (en) * 1993-03-19 1996-05-07 Sony Corporation Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal
EP0671816B1 (de) * 1993-09-28 2000-03-29 Sony Corporation Gerät zur kodierung/dekodierung mit rundung auf ausschliesslich gerade oder ungerade werte
US5796438A (en) * 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
JP3794502B2 (ja) 1994-11-29 2006-07-05 ソニー株式会社 画像領域抽出方法及び画像領域抽出装置
US5623423A (en) * 1994-12-12 1997-04-22 Univ. Of Texas Apparatus and method for video decoding
US5675666A (en) * 1995-03-02 1997-10-07 Sony Corportion Image data compression method and apparatus with pre-processing to compensate for the blocky effect
JP3855286B2 (ja) * 1995-10-26 2006-12-06 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
JPH09128529A (ja) * 1995-10-30 1997-05-16 Sony Corp ディジタル画像の雑音の投影に基づく除去方法
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
US6057893A (en) * 1995-12-28 2000-05-02 Sony Corporation Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium
US6256349B1 (en) * 1995-12-28 2001-07-03 Sony Corporation Picture signal encoding method and apparatus, picture signal transmitting method, picture signal decoding method and apparatus and recording medium
US5822005A (en) * 1996-01-11 1998-10-13 Tektronix, Inc. Pre-oddification
US5751617A (en) * 1996-04-22 1998-05-12 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded away from zero in a single instruction cycle
US5710732A (en) * 1996-04-22 1998-01-20 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded away from zero in a single instruction cycle
TW357327B (en) * 1996-08-02 1999-05-01 Sony Corp Methods, apparatus and program storage device for removing scratch or wire noise, and recording media therefor
US5930159A (en) * 1996-10-17 1999-07-27 Samsung Electronics Co., Ltd Right-shifting an integer operand and rounding a fractional intermediate result to obtain a rounded integer result
EP1689190A3 (de) 1996-11-07 2008-12-10 Panasonic Corporation Bildcoder und -decoder
US6007232A (en) * 1996-11-14 1999-12-28 Samsung Electronics Co., Ltd. Calculating the average of two integer numbers rounded towards zero in a single instruction cycle
US5917739A (en) * 1996-11-14 1999-06-29 Samsung Electronics Co., Ltd. Calculating the average of four integer numbers rounded towards zero in a single instruction cycle
EP0786907A3 (de) * 1997-01-24 2001-06-13 Texas Instruments Incorporated Videokodierer
CN101005624B (zh) * 1997-02-13 2011-11-16 三菱电机株式会社 动态图象译码装置和方法
CN1170438C (zh) * 1997-03-12 2004-10-06 松下电器产业株式会社 数字视频信号下变换系统的运动补偿处理器及上升抽样方法
US6078616A (en) * 1997-03-13 2000-06-20 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
US6128340A (en) * 1997-03-14 2000-10-03 Sony Corporation Decoder system with 2.53 frame display buffer
WO1998042134A1 (en) * 1997-03-17 1998-09-24 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US5903311A (en) * 1997-05-30 1999-05-11 Sony Corporation Run level pair buffering for fast variable length decoder circuit
US7801380B2 (en) * 1997-06-09 2010-09-21 Hitachi, Ltd. Recording medium having recorded thereon coded information using plus and/or minus rounding of images
US6574371B2 (en) 1997-06-09 2003-06-03 Hitachi, Ltd. Image decoding method
US6295376B1 (en) 1997-06-09 2001-09-25 Hitachi, Ltd. Image sequence coding method and decoding method
US6351563B1 (en) * 1997-07-09 2002-02-26 Hyundai Electronics Ind. Co., Ltd. Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
SE512171C2 (sv) * 1997-07-02 2000-02-07 Forskarpatent I Linkoeping Ab Videoöverföring
WO1999010719A1 (en) 1997-08-29 1999-03-04 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
AU728938B2 (en) * 1997-09-29 2001-01-18 Canon Kabushiki Kaisha A method for data compression
US6937659B1 (en) * 1997-11-14 2005-08-30 Ac Capital Management, Inc. Apparatus and method for compressing video information
US6222832B1 (en) * 1998-06-01 2001-04-24 Tantivy Communications, Inc. Fast Acquisition of traffic channels for a highly variable data rate reverse link of a CDMA wireless communication system
US6137844A (en) * 1998-02-02 2000-10-24 Oki Telecom, Inc. Digital filter for noise and error removal in transmitted analog signals
EP0936743A1 (de) * 1998-02-17 1999-08-18 Koninklijke Philips Electronics N.V. Iteratives Dekodierungsverfahren für binäre Blockcodes
GB2335815B (en) * 1998-03-25 2002-02-27 Sony Uk Ltd Data compression
US6393155B1 (en) * 1998-11-04 2002-05-21 International Business Machines Corporation Error reduction in transformed digital data
US6256422B1 (en) * 1998-11-04 2001-07-03 International Business Machines Corporation Transform-domain correction of real-domain errors
EP1276331A3 (de) * 1999-04-01 2005-06-01 Ravisent Technologies, Inc. Verfahren zum Vermeiden Zweischritthalbpixelbewegungskompensationsfehleraufhäufung in prediktionsreichen MPEG-2 Bildfolgen
US6567557B1 (en) 1999-12-10 2003-05-20 Stmicroelectronics, Inc. Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
GB2352905B (en) * 1999-07-30 2003-10-29 Sony Uk Ltd Data compression
US6735249B1 (en) 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US6377627B1 (en) 1999-08-31 2002-04-23 Sony Corporation Method and apparatus for decoding MPEG video data
US6456663B1 (en) 2000-03-29 2002-09-24 Matsushita Electric Industrial Co., Ltd. DCT domain down conversion system that compensates for IDCT mismatch
GB2364459B (en) * 2000-06-30 2004-03-31 Nokia Mobile Phones Ltd Video error resilience
US7168069B1 (en) 2000-07-12 2007-01-23 Stmicroelectronics, Inc. Dynamic generation of multimedia code for image processing
EP1176833A3 (de) * 2000-07-25 2012-06-27 Panasonic Corporation Verfahren zur Bilddekodierung, Vorrichtung zur Bilddekodierung, und Datenträger
FR2815748B1 (fr) * 2000-10-20 2003-01-24 Canon Kk Procede et dispositif de traitement et de decodage d'un signal numerique code
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
PT1445960T (pt) 2001-11-06 2016-11-02 Panasonic Ip Corp America Método de codificação de figuração em movimento e método de descodificação de figuração em movimento
KR100434740B1 (ko) * 2001-11-09 2004-06-10 주식회사 휴맥스 디지털 방송 프로그램에서의 저배속 재생방법
KR100632072B1 (ko) * 2001-12-25 2006-10-04 마츠시타 덴끼 산교 가부시키가이샤 동화상 압축 부호화장치 및 모션벡터 검출방법
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
ATE543178T1 (de) 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
JP2006506929A (ja) * 2002-11-12 2006-02-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 変換ドメインのサンプル毎の判定帰還型等化器
US7292867B2 (en) * 2003-01-16 2007-11-06 Bones In Motion, Inc. Location-aware fitness training device, methods, and program products that support real-time interactive communication and automated route generation
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
DE10345995B4 (de) 2003-10-02 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
US8331445B2 (en) * 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
WO2006054231A1 (en) * 2004-11-16 2006-05-26 Koninklijke Philips Electronics N.V. Sender side channel adaptive video transmission
KR100669634B1 (ko) * 2004-12-06 2007-01-15 엘지전자 주식회사 동영상 압축 및 복원 방법
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
JP4270161B2 (ja) * 2005-04-15 2009-05-27 ソニー株式会社 情報記録再生システム、情報記録再生装置及び情報記録再生方法
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7693709B2 (en) 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7974340B2 (en) * 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8571340B2 (en) 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US20080036864A1 (en) * 2006-08-09 2008-02-14 Mccubbrey David System and method for capturing and transmitting image data streams
US8565314B2 (en) 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US8325819B2 (en) 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
US9319700B2 (en) 2006-10-12 2016-04-19 Qualcomm Incorporated Refinement coefficient coding based on history of corresponding transform coefficient values
DE102006049232B4 (de) * 2006-10-18 2010-02-04 Ods Technology Gmbh Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
US8238424B2 (en) * 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
WO2008123496A1 (ja) * 2007-03-30 2008-10-16 Sony Corporation 情報処理装置および方法
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
KR101370286B1 (ko) 2007-04-06 2014-03-06 삼성전자주식회사 레지듀얼 블록의 변형을 이용한 영상 부호화, 복호화 방법및 장치
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
KR101401967B1 (ko) * 2007-12-04 2014-06-27 삼성전자주식회사 암호화된 데이터 스트림의 트릭 플레이 방법 및 장치
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8179974B2 (en) * 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
BRPI0904325A2 (pt) * 2008-06-27 2015-06-30 Sony Corp Dispositivo e método de processamento de imagem.
CN101779468B (zh) * 2008-06-27 2012-07-04 索尼公司 图像处理装置和图像处理方法
JPWO2009157580A1 (ja) * 2008-06-27 2011-12-15 ソニー株式会社 画像処理装置及び画像処理方法
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8798152B2 (en) * 2008-09-11 2014-08-05 General Instrument Corporation Method and apparatus for fast motion estimation
BRPI0924044B1 (pt) 2009-01-27 2022-09-20 Interdigital Vc Holdings, Inc Métodos e aparelhos para seleções de transformada em codificação e decodificação de vídeo
EP2222086A1 (de) 2009-02-18 2010-08-25 EcoDisc Technology AG Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation
US8457425B2 (en) * 2009-06-09 2013-06-04 Sony Corporation Embedded graphics coding for images with sparse histograms
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP5530198B2 (ja) * 2009-11-20 2014-06-25 パナソニック株式会社 画像符号化方法、復号化方法、装置
JP5546329B2 (ja) * 2010-04-14 2014-07-09 キヤノン株式会社 データ変換装置
KR101690253B1 (ko) * 2010-05-06 2016-12-27 삼성전자주식회사 영상 처리 장치 및 그 방법
GB2483282B (en) * 2010-09-03 2017-09-13 Advanced Risc Mach Ltd Data compression and decompression using relative and absolute delta values
KR20150081373A (ko) * 2011-12-21 2015-07-13 인텔 코포레이션 움직임 보상 및 디스플레이 리프레시의 전력 소모를 감소시키는 dram 압축 방안
US9008184B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
EP2675159B1 (de) * 2012-06-15 2018-08-08 BlackBerry Limited Verbergen von Multibit-Information mithilfe überlappender Untermengen
CN104380740A (zh) * 2012-06-29 2015-02-25 索尼公司 编码装置、编码方法、解码装置和解码方法
US20140133574A1 (en) * 2012-11-13 2014-05-15 Mediatek Inc. Method and Apparatus for Sign Data Hiding of Video and Image Data
BR112015018050B1 (pt) 2013-01-29 2021-02-23 Fraunhofer-Gesellschaft zur Förderung der Angewandten ForschungE.V. Quantização de sinal de áudio de tonalidade adaptativa de baixacomplexidade
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
KR20180107153A (ko) * 2016-02-16 2018-10-01 삼성전자주식회사 영상 부호화 방법 및 장치와 영상 복호화 방법 및 장치
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10225562B1 (en) * 2017-08-21 2019-03-05 Google Llc Embedding information about EOB positions
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
WO2020197222A1 (ko) * 2019-03-23 2020-10-01 엘지전자 주식회사 Isp를 이용한 잔차 신호 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
US11671607B2 (en) 2019-08-23 2023-06-06 Mitsubishi Electric Corporation Image transmission device, image reception device and computer readable medium
KR20210156985A (ko) 2020-06-19 2021-12-28 삼성전자주식회사 일 함수 층들을 갖는 반도체 소자들
KR20210158615A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 게이트 라인을 포함하는 집적회로 소자
KR20210158607A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 캡핑층을 포함하는 반도체 소자

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3138816A1 (de) * 1981-09-30 1983-04-14 Philips Patentverwaltung Gmbh, 2000 Hamburg Anordnung zum speichern oder uebertragen und zum rueckgewinnen von bildsignalen
KR950009856B1 (ko) * 1985-10-02 1995-08-29 도이체 톰손-브란트 게엠베하 블록마다 전송되는 신호의 보정방법
EP0238254B1 (de) * 1986-03-20 1992-05-27 AT&T Corp. Datenkompression mit Listensformation
US5218650A (en) * 1991-01-02 1993-06-08 Ricoh Corporation Quantization method for use in image compression
JP2909239B2 (ja) * 1991-03-27 1999-06-23 株式会社東芝 高能率符号化記録再生装置

Also Published As

Publication number Publication date
HK1013575A1 (en) 1999-08-27
DK2276259T3 (da) 2012-09-17
ES2137358T3 (es) 1999-12-16
ES2209032T3 (es) 2004-06-16
ES2389718T3 (es) 2012-10-30
AU673244B2 (en) 1996-10-31
CN1076935C (zh) 2001-12-26
DK0638218T3 (da) 2000-01-31
NO314710B1 (no) 2003-05-05
TR28436A (tr) 1996-06-24
EP0954182A1 (de) 1999-11-03
EP0954182B1 (de) 2012-07-11
NO20010762L (no) 1994-12-23
MY110794A (en) 1999-04-30
PT2276258E (pt) 2012-09-20
CA2134444A1 (en) 1994-09-15
PL173287B1 (pl) 1998-02-27
FI112579B (fi) 2003-12-15
NO314709B1 (no) 2003-05-05
PT954182E (pt) 2012-09-03
NO944138D0 (no) 1994-10-31
IL108787A (en) 1997-07-13
EP0638218A1 (de) 1995-02-15
NO20010762D0 (no) 2001-02-15
KR100287490B1 (ko) 2001-04-16
FI945106A0 (fi) 1994-10-31
DE69421135D1 (de) 1999-11-18
EP2276259B1 (de) 2012-08-22
CA2134444C (en) 2003-10-14
EP0903944A3 (de) 2000-04-05
HU9403127D0 (en) 1995-02-28
FI945106A (fi) 1994-12-30
EP2276258A2 (de) 2011-01-19
RO115926B1 (ro) 2000-07-28
ATE185663T1 (de) 1999-10-15
HUT76452A (en) 1997-09-29
ES2389766T3 (es) 2012-10-31
RU2119727C1 (ru) 1998-09-27
PT2276259E (pt) 2012-09-20
BR9404321A (pt) 1999-07-27
EP2276258B1 (de) 2012-09-05
EP2276258A3 (de) 2012-03-07
CN1106988A (zh) 1995-08-16
JPH07506954A (ja) 1995-07-27
JP3593988B2 (ja) 2004-11-24
EG20330A (en) 1998-10-31
NZ261907A (en) 1996-09-25
NO944138L (no) 1994-12-23
DK2276258T3 (da) 2012-09-17
ES2389797T3 (es) 2012-10-31
TW224553B (en) 1994-06-01
DK0903944T3 (da) 2004-03-01
AU6116194A (en) 1994-09-26
US5590139A (en) 1996-12-31
JP2001292451A (ja) 2001-10-19
OA10108A (en) 1996-12-18
DE69421135T2 (de) 2000-05-25
JP3610578B2 (ja) 2005-01-12
PT903944E (pt) 2004-03-31
ATE252806T1 (de) 2003-11-15
GR3032133T3 (en) 2000-04-27
EP0903944A2 (de) 1999-03-24
US5481553A (en) 1996-01-02
PL306007A1 (en) 1995-02-20
HU217744B (hu) 2000-04-28
EP0903944B1 (de) 2003-10-22
EP2276259A3 (de) 2012-03-07
WO1994021083A1 (en) 1994-09-15
EP2276259A2 (de) 2011-01-19
DE69433272D1 (de) 2003-11-27
HK1025448A1 (en) 2000-11-10
EP0638218B1 (de) 1999-10-13
DK0954182T3 (da) 2012-09-24
KR950701486A (ko) 1995-03-23

Similar Documents

Publication Publication Date Title
DE69433272T2 (de) Vorrichtung zum Vermeiden von Rundungsfehlern bei der inversen Transformation von Transformationskoeffizienten eines Bewegtbildsignales
DE69333789T2 (de) Kodierung von kontinuierlichen Bilddaten
DE69434862T2 (de) Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE69434668T2 (de) Adaptives Codierungs- und Decodierungsverfahren mit variabler Länge für Bilddaten
DE69816342T2 (de) Prädiktives Bilddekodierungsverfahren
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE69530336T2 (de) Bewegungskompensation für digitale Videosignale mit Zeilensprung
DE69738262T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE69911569T2 (de) Verfahren zur Szenenänderungs- und Überblendungensdetektion für Videosequenzindexierung
DE69632231T2 (de) Kodierung und Dekodierung von Bewegtbildern
EP0687111A2 (de) Verfahren zur Codierung/Decodierung eines Datenstroms
DE10113880B4 (de) Verfahren zur Komprimierung und Dekomprimierung von Videodaten
EP0776574B1 (de) Verfahren zur decodierung komprimierter video-daten mit reduziertem speicherbedarf
DE69928616T2 (de) System zur extrahierung von codierungsparametern aus videodaten
DE69724440T2 (de) Mpeg-2-videodatendekodierer für codes variabler länge und dekodiererarchitektur mit zwei geschwindigkeiten
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE69730148T2 (de) Speichereffiziente komprimierung und quantisierung für bildsignale
EP0836785B1 (de) Verfahren zur dekodierung und kodierung eines komprimierten videodatenstroms mit reduziertem speicherbedarf
DE69835431T2 (de) Bildkodier-und-dekodierverfahren und-vorrichtung
DE60218560T2 (de) Bildkompression
EP0336510B1 (de) Prädiktiver Standbildcodierer
DE19749655B4 (de) Verfahren und Vorrichtung zum Kodieren eines Bewegungsvektors
EP0752788A2 (de) Videocoder und -decoder
EP0981910B1 (de) Verfahren und vorrichtung zur codierung eines digitalisierten bildes

Legal Events

Date Code Title Description
8364 No opposition during term of opposition