DE102006049232B4 - Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation - Google Patents

Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation Download PDF

Info

Publication number
DE102006049232B4
DE102006049232B4 DE102006049232A DE102006049232A DE102006049232B4 DE 102006049232 B4 DE102006049232 B4 DE 102006049232B4 DE 102006049232 A DE102006049232 A DE 102006049232A DE 102006049232 A DE102006049232 A DE 102006049232A DE 102006049232 B4 DE102006049232 B4 DE 102006049232B4
Authority
DE
Germany
Prior art keywords
block
values
coefficients
discrete cosine
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102006049232A
Other languages
English (en)
Other versions
DE102006049232A1 (de
Inventor
Thomas Prof. Sikora
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.)
ECODISC TECHNOLOGY AG, ZUERICH, CH
Original Assignee
ODS Tech GmbH
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
Application filed by ODS Tech GmbH filed Critical ODS Tech GmbH
Priority to DE102006049232A priority Critical patent/DE102006049232B4/de
Priority to EP07819111A priority patent/EP2090109A2/de
Priority to PCT/EP2007/009046 priority patent/WO2008046622A2/de
Priority to US12/443,163 priority patent/US20090198757A1/en
Publication of DE102006049232A1 publication Critical patent/DE102006049232A1/de
Application granted granted Critical
Publication of DE102006049232B4 publication Critical patent/DE102006049232B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Discrete Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Verfahren zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung von inversen diskreten Kosinus-Transformationen (7, 23), wobei das Verfahren die folgenden Schritte aufweist:
a) Summieren von Koeffizientenwerten von einer Mehrzahl von Koeffizienten, wobei die Koeffizienten zu einem Block von Koeffizienten gehören (S1);
b) Beurteilen der Summen der Koeffizientenwerte, ob die Summe geradzahlig oder ungeradzahlig ist (S2);
c) Transformieren des Blocks von Koeffizienten mittels einer bestimmten Implementierung einer inversen diskreten Kosinus-Transformation (7, 23) in einen Block von Bildpunkten, wobei jeder Bildpunkt einen Bildpunktwert aufweist (S3), der von der gewählten Implementierung der inversen diskreten Kosinus-Transformation abhängig ist;
d) wenn die Beurteilung der Summe der Koeffizientenwerte ergeben hat (S4), dass die Summe geradzahlig ist: Addieren oder Subtrahieren eines Manipulationswerteblocks zu den Bildpunktwerten des Blocks von Bildpunkten, um einen manipulierten Bildpunktblock zu erzeugen, wobei
e) der genannte Manipulationswerteblock in Abhängigkeit der gewählten Implementierung der inversen diskreten Kosinus-Transformation durch...

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation, sowie eine Codiervorrichtung und eine Decodiervorrichtung, die das Verfahren verwenden.
  • Technischer Hintergrund
  • Auf Grund von Bandbreitenbeschränkungen ist eine Vielzahl von verlustfreien und verlustbehafteten Codierungstechniken für die Übertragung von Bild- und/oder Tonmaterial bekannt, um die zu übertragende Datenmenge zu reduzieren. Viele bekannte Codierverfahren verwenden orthogonale Transformationen, wie z. B. die Fourier-Transformation oder die Kosinus-Transformation.
  • Aus dem MPEG-1-Video-Standard (ISO/IEC 11172-2) und dem MPEG-2-Video-Standard (ISO/IEC 13818-2) ist eine große Anzahl unterschiedlicher Verfahren bekannt, um Videomaterial von Redundanz zu befreien, seine Datenmenge zu reduzieren und für eine sichere Übertragung über eine Funkstrecke oder ein Speichermedium zu sorgen. Die Inhalte des MPEG-1-Video-Standards (ISO/IEC 11172-2) und des MPEG-2-Video-Standards (ISO/IEC 13818-2) sind hiermit durch Referenz eingebunden. Beide MPEG-Standards schreiben die Verwendung der inversen diskreten Kosinus-Transformation (IDCT) im Decoder als inverse orthogonale Transformation vor. Sie schreiben jedoch nicht die genaue Implementierung vor, sondern beschreiben lediglich die erforderliche minimale Genauigkeit.
  • Häufig wird nach Berechnung der inversen diskreten Kosinus-Transformation ein Runden von vorliegenden reellen Zahlen auf ganze Zahlen vorgenommen. Wie die IEEE Standard-Spezifikation für die Implementierung der 8×8 inversen diskreten Kosinus-Transformation von 1990, auf die sowohl der MPEG-1-Standard als auch der MPEG-2-Standard Bezug nehmen, beschreibt, kann es beim Runden von Werten, die genau zwischen zwei ganzen Zahlen liegen, zu Fehlern kommen. Es ist bekannt, dass Codierer einen inversen Zweig aufweisen können, der ein bereits codiertes Bild wieder decodiert. In diesem inversen Zweig wird dann auch wie im Decoder eine inverse diskrete Kosinus-Transformation durchgeführt. Wird nun bei Werten, die genau zwischen zwei ganzen Zahlen liegen, im Codierer anders gerundet als im Decoder, so entsteht ein Anpassungsfehler, wie es in der IEEE Spezifikation beschrieben ist.
  • MPEG-1 sieht zur Reduktion solcher Anpassungsfehler vor, dass alle Koeffizienten vor der IDCT ungeradzahlig gemacht werden. Hierdurch wird die Wahrscheinlichkeit reduziert, dass am Ausgang der IDCT-Werte für Bildpunkte auftreten, die genau zwischen zwei ganzen Zahlen liegen.
  • Die EP 0 638 218 B1 beschreibt ein Verfahren, um einen Satz von Transformationskoeffizienten zu verarbeiten, und um einen fehler-immunen Satz von Transformationskoeffizienten für die Verarbeitung durch eine inverse orthogonale Transformation bereitzustellen. Dieser fehler-immune Satz von Transformationskoeffizienten ist laut EP 0 638 218 B1 bei der inversen orthogonalen Transformation gegen Rundungsfehler immun. In dem Verfahren der EP 0 638 218 B1 werden die Transformationskoeffizienten in einem Satz summiert und die Parität der Summe wird geprüft (d. h. ob die Summe ungeradzahlig oder geradzahlig ist).
  • Wenn sich zeigt, dass die Parität der Summe geradzahlig ist, wird die Parität eines der Transformationskoeffizienten in dem Satz invertiert, um einen paritätsinvertierten 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 für die nachfolgende IDCT bereitgestellt.
  • Die WO 01/17270 beschreibt ein Verfahren zum effizienteren und schnelleren Kodieren von Videodaten, bei dem auf der Koeffizientenebene der Koeffizient C(7,7) des Koeffizientenblocks, immer wenn er den Wert 1 aufweist, zwingend auf den Wert 0 gesetzt wird, bevor eine IDCT durchgeführt wird. Dadurch werden IDCT-Kodierungsschritte eingespart. Zur Korrektur der nach der IDCT erhaltenen fehlerhaften Bildwerte, wird zu den erhaltenen Bildwerten dann eine im Voraus berechenbare immer gleiche Dummy Matrix hinzuaddiert. Die Dummy Matrix ergibt sich aus einer IDCT einer Koeffizientenmatrix, die einen Koeffizienten C(7,7) mit dem Wert 1 und ansonsten lediglich Nullen aufweist.
  • Die JP H09-187 001 offenbart ein Verfahren zur Vermeidung von Rundungsfehlern beim Runden von Werten nach der Durchführung einer inversen diskreten Kosinustransformation. Hier wird nach einer inversen diskreten Kosinustransformation ein exakt berechneter Manipulationswerteblock zu den Bildpunktwerten addiert, bevor eine Rundungsoperation durchgeführt wird. Die Addition des Manipulationswerteblocks nach der IDCT entspricht im Prinzip einer Manipulation des Koeffizienten 7,7 vor der IDCT.
  • Die JP H09-187 001 geht jedoch, wie auch die obigen Dokumente, von idealen Implementierungen der IDCT aus. Tatsächlich können reale Implementierungen der IDCT sowie der nachfolgenden Rundungsoperation jedoch im Codierer und im Decoder unterschiedlich sein, da sie z. B. von unterschiedlichen Herstellern hergestellt sein können. Auf Grund solcher unterschiedlichen Implementierungen kann es bei Werten, die in einem kleinen Bereich genau zwischen zwei Werten liegen, auf die gerundet werden kann, zu unterschiedlichen Ergebnissen kommen. Dieser Fehler soll minimiert werden.
  • Zusammenfassung der Erfindung
  • Ausgehend vom Stand der Technik ist es die Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zur Vermeidung von Fehlern im Rahmen der Durchführung einer inversen diskreten Kosinus-Transformation, sowie eine Codiervorrichtung und eine Decodiervorrichtung, die das Verfahren verwenden, bereitzustellen.
  • Die Aufgabe wird gemäß der Erfindung gelöst durch das Verfahren zur Vermeidung von Fehlern, das in dem unabhängigen Patentanspruch 1 beschrieben ist. Bevorzugte Ausführungsformen sind in den abhängigen Patentansprüchen beschrieben.
  • Die vorliegende Erfindung stellt gemäß einer bevorzugten Ausführungsform ein Verfahren zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung von inversen diskreten Kosinus-Transformationen bereit. In einem ersten Schritt a) werden die Koeffizientenwerte von einer Mehrzahl von Koeffizienten aufsummiert, wobei die Koeffizienten zu einem Block von Koeffizienten gehören. Gemäß einer vorteilhaften Ausgestaltung wird in diesem ersten Schritt die Summe der Werte aller Koeffizienten in dem jeweiligen Block ermittelt. In einem zweiten Schritt b) wird beurteilt, ob die Summe der Koeffizientenwerte geradzahlig oder ungeradzahlig ist. In einem dritten Schritt c) wird dann der Koeffizientenblock mittels einer bestimmten Implementierung einer inversen diskreten Kosinus-Transformation in einen Block von Bildpunkten transformiert, wobei jeder Bildpunkt einen Bildpunktwert aufweist, der von der gewählten Implementierung der inversen diskreten Kosinus-Transformation abhängig ist. In einem vierten Schritt d) wird, wenn die Beurteilung der Summe der Koeffizientenwerte ergeben hat, dass die Summe geradzahlig ist, ein Manipulationswerteblock zu den Bildpunktwerten des Blocks von Bildpunkten addiert oder subtrahiert, um einen manipulierten Bildpunktblocks zu erzeugen, wobei in einem Schritt e) der genannte Manipulationswerteblock in Abhängigkeit der gewählten Implementierung der inversen diskreten Kosinus-Transformation durch numerische Optimierung ermittelt wird, um Rundungsfehler bei einer nachfolgenden Rundungsoperation und Fehler aufgrund unterschiedlicher Implementierungen zu vermeiden.
  • Bevorzugt weist der Manipulationswerteblock Werte auf, deren Vorzeichen in der Form eines Schachbrettmusters angeordnet sind, wobei die Beträge der Werte zu den Rändern des Blocks hin abnehmen. Ein besonders geeigneter Manipulationswerteblock besteht aus einer quadratischen, symmetrischen Matrix. Der Begriff Schachbrettmuster, wie er in dieser Beschreibung verwendet wird, bezieht sich auf die Anordnung der + bzw. -Vorzeichen der Manipulationswerte. Gemäß einer bevorzugten Ausführungsform wird der Block von Koeffizienten, der Block von Bildpunkten und der Block von Manipulationswerten jeweils durch eine Matrix von 8×8 Werten gebildet.
  • Es ist vorteilhaft im vierten Schritt d) den Manipulationswerteblock zu den Bildpunktwerten des Blocks von Bildpunkten hinzuzuaddieren, wenn der Wert eines vorbestimmten Koeffizienten gerade ist, und den Manipulationswerteblock von den Bildpunktwerten des Blocks von Bildpunkten zu subtrahieren, wenn der Wert des vorbestimmten Koeffizienten ungerade ist. Auf diese Weise kann sichergestellt werden, dass keiner der manipulierten Bildpunktwerte einen Wert genau zwischen zwei ganzen Zahlen aufweist, so dass die nachfolgende Rundungsoperation mit klar vorhersehbarem Ergebnis ausgeführt werden kann. In dem Rundungsschritt f) werden die manipulierten Bildpunktwerte des manipulierten Bildpunktblocks jeweils auf eine ganze Zahl gerundet. Bei dieser Rundung wird bevorzugt jeweils zur nächstliegenden ganzen Zahl gerundet.
  • Die vorliegende Erfindung kann ebenfalls in vorteilhafter Weise eingesetzt werden, um ein komprimiertes Videosignal bereitzustellen, wobei zumindest die folgenden Schritte durchgeführt werden: Durchführen einer Vorhersagecodierung mittels Vergleich aufeinanderfolgender Bilder, Transformieren von Bildblöcken mittels einer diskreten Kosinus-Transformation in Blöcke von Transformationskoeffizienten, wobei zur Vorhersagecodierung in einem inversen Zweig des Codierers, in dem ein codiertes Bild decodiert wird, das erfindungsgemäße Verfahren zur Vermeidung von Rundungsfehlern verwendet wird. Im Rahmen der Vorhersagecodierung kann eine Vielzahl von Verfahren, wie Bewegungskompensation, Block-Matching, Interpolation usw., verwendet werden.
  • Es ist vorteilhaft, das komprimierte Videosignal auf einem Speichermedium zu speichern, insbesondere einem optisch auslesbaren Speichermedium wie einer CD oder DVD. Alternativ kann das komprimierte Videosignal auf einer Festplatte eines Computers oder z. B. auf einem Magnetband gespeichert werden. Gemäß der Erfindung wird weiterhin ein solches Speichermedium selbst bereitgestellt, auf dem ein komprimiertes Videosignal gemäß der vorliegenden Erfindung gespeichert ist.
  • Darüber hinaus stellt die vorliegende Erfindung eine Codiervorrichtung und eine Decodiervorrichtung bereit, die jeweils ein Verfahren zur Vermeidung von Rundungsfehlern gemäß der Erfindung durchführen.
  • Kurze Beschreibung der Zeichnungen
  • Die beigefügten Zeichnungen dienen lediglich zur Veranschaulichung und zum besseren Verständnis der vorliegenden Erfindung und ihrer Vorteile. Es zeigen:
  • 1 eine schematische Darstellung eines Codierers, in dem die vorliegende Erfindung verwendet wird.
  • 2 eine schematische Darstellung eines Decoders, in dem die vorliegende Erfindung verwendet wird.
  • 3 eine schematische Darstellung der Rundungsfehlervermeidung gemäß der vorliegenden Erfindung.
  • 4 eine Abbildung eines Blocks von Manipulationswerten gemäß der vorliegenden Erfindung.
  • 5 ein Flussdiagramm, das das Verfahren zur Vermeidung von Rundungsfehlern gemäß der vorliegenden Erfindung illustriert.
  • Detaillierte Beschreibung bevorzugter Ausführungsformen
  • In 1 ist schematisch die Struktur eines typischen Video-Codierers 1 dargestellt. Eine Möglichkeit, Video-Bilder zu codieren, stellt z. B. eine Codierung gemäß MPEG dar. Die folgende Beschreibung wird nur zur Veranschaulichung auf dem Hintergrund einer Video-Codierung gemäß MPEG ausgeführt, ohne dass der Anwendungsbereich der vorliegenden Erfindung auf eine solche Codierung beschränkt ist. Der MPEG-2-Standard seht drei verschiedene Typen von Bildern für die Codierung vor, nämlich I-, P- und B-Bilder. I-Bilder werden unabhängig von anderen Bildern codiert, sie werden einer so genannten Intra-Codierung unterzogen. P-Bilder werden aus einem vorhergehenden I-Bild prädiziert, sie sind also von einem zeitlich vorhergehenden I-Bild abhängig. B-Bilder können von einem vorhergehenden und/oder einem nachfolgendem I- bzw. P-Bild abhängig sein.
  • Wenn ein Video-Codierer 1, wie er in 1 dargestellt ist, für eine derartige MPEG-Codierung eingesetzt wird, wird z. B. bei P-Bildern nicht das Eingangsbild, sondern ein Prädiktionsfehlerbild 12 codiert und übertragen. Aus einem bereits übertragenen Bild in einem Bildspeicher 9 wird mittels Bewegungskompensation (MC-Motion Compensation) 10 ein Prädiktionsbild 11 erzeugt. Verschiebungen von einem Bild zu einem anderen Bild werden durch Bewegungsvektoren beschrieben. Die Differenz von Eingangsbild 2 und Prädiktionsbild 11 ergibt das Prädiktionsfehlerbild 12. Die Pixelwerte des Prädiktionsfehlerbildes 12 werden mittels DCT 3 transformiert und ergeben einen Satz von Transformationskoeffi zienten. Diese werden in einem Quantisierer 4 quantisiert. Die quantisierten Transformationskoeffizienten und die Bewegungsvektoren werden mittels eines VLC (Variable Length Coder) 5 in Codeworte umgewandelt und ergeben den Bitstrom zur Speicherung oder Übertragung. Jedes zum Decoder 20 übersandte Bild muss auch im Codierer 1 möglichst empfängergetreu im Bildspeicher 9 für die nächste Prädiktion zur Verfügung stehen. Aus diesem Grund beinhaltet der Codierer 1 auch einen lokalen Decoder, der das Decoderbild B' (n) 8 rekonstruiert. Der lokale Decoder beinhaltet einen inversen Quantisierer 6 und eine Vorrichtung zur Durchführung einer inversen diskreten Kosinus-Transformation (IDCT) 7. Das erfindungsgemäße Verfahren zur Vermeidung von Rundungsfehlern beim Runden von Werten nach Durchführung der IDCT wird im Bereich des lokalen Decoders, der den inversen Quantisierer 6 und die IDCT 7 aufweist, eingesetzt. Ein Vergleich mit 2 zeigt, dass die lokalen Decoder-Blöcke des Codierers mit denen des Decoders prinzipiell übereinstimmen.
  • 2 zeigt schematisch die grundlegende Struktur eines typischen Video-Decoders 20. Der eingehende Bitstrom transportiert unter anderem Informationen über Bewegungsvektoren und Prädiktionsfehlerbilder. Ein Variable Length Decoder (VLD) 21 wandelt den Bitstrom in Quantisiererwerte und Bewegungsvektoren um. Die Quantisiererwerte werden durch den inversen Quantisierer 22 in einen Satz von Transformationskoeffizienten und danach mittels einer inversen DCT (IDCT) 23 in Pixel des Prädiktionsfehlerbildes 24 umgewandelt. Das rekonstruierte Bild 28 ergibt sich aus der Addition des Prädiktionsbildes 27 und des Prädiktionsfehlerbildes 24. Das Prädiktionsbild 27 wird mittels Bewegungskompensation (MC–Motion Compensation) 26 aus dem vorhergehenden rekonstruierten Bild, das im Bildspeicher 25 gespeichert ist, erzeugt. Genau wie bei dem Codierer 1 wird auch im Decoder 20 das erfindungsgemäße Verfahren zur Vermeidung von Rundungsfehlern beim Runden von Werten nach Durchführung der IDCT im Bereich der IDCT 23 eingesetzt.
  • Wie aus den 1 und 2 ersichtlich ist, enthält sowohl der Codierer 1 als auch der Decoder 20 einen IDCT-Block 7 bzw. 23. Aus den Koeffizienten, die der inversen Quantisierung unterzogen wurden, werden mit Hilfe der IDCT Pixelwerte (oder auch Bildpunktwert genannt) rekonstruiert. Diese Berechnung findet mit endlicher Genauigkeit statt. Um den Rechen- und Speicheraufwand bei der weiteren Verarbeitung zu reduzieren, werden die mittels IDCT 7, 23 erhaltenen Pixelwerte gerundet. Bevorzugt wird jeder Pixelwert auf eine ganze Zahl gerundet. Eine solche Rundung wird sowohl im Codierer 1 als auch im Decoder 20 vorgenommen. Die Implementierungen der IDCT 7, 23 sowie der nachfolgenden Rundungsoperation können jedoch im Codierer 1 und im Decoder 20 unterschiedlich sein, da sie z. B. von unterschiedlichen Herstellern hergestellt sein können. Auf Grund solcher unterschiedlichen Implementierungen kann es bei Werten, die in einem kleinen Bereich genau zwischen zwei Werten liegen, auf die gerundet werden kann, zu unterschiedlichen Ergebnissen kommen. Es kann somit von der Implementierung der Rundungsoperation abhängen, ob ein Wert aufgerundet oder abgerundet wird. Liegt im Codierer 1 und im Decoder 20 nach der Rundung ein unterschiedlicher Wert vor, so spricht man von einem Anpassungsfehler.
  • 3 beschreibt eine bevorzugte Ausgestaltung des Verfahrens gemäß der vorliegenden Erfindung, durch die das Auftreten von Anpassungsfehlern reduziert werden kann. Ein Block von Koeffizientenwerten F'[v][u], wobei v und u z. B. ganze Zahlen im Bereich 0, 1, ..., 7 sind, wird der inversen diskreten Kosinus-Transformation (IDCT) 7, 23 unterworfen. Das Ergebnis der IDCT 7, 23 ist ein Block von Bildpunktwerten f'[y][x], die bevorzugt als reelle Zahlen mit endlicher Genauigkeit vorliegen. Zudem wird eine Summe S' über die Koeffizientenwerte F'[v][u] gebildet. Dann wird in einer Paritätsbeurteilungsvorrichtung 31 beurteilt, ob der Wert der Summe S' gerade oder ungerade ist. Wenn die Summe S' eine ungerade Zahl ist, bleiben die Bildpunktwerte unverändert, es gilt f[y][x] = f'[y][x]. Ist die Summe S' jedoch gerade, so wird zu dem Block von Bildpunktwerten f'[y][x] ein Block von Manipulationswerten B[y][x] durch einen Addierer/Subtrahierer 32 hinzuaddiert bzw. davon abgezogen, um einen manipulierten Bildpunktwerteblock zu erhalten, f[y][x] = f'[y][x] +/– B[y][x]. Die manipulierten Bildpunktwerte f[y][x] werden nachfolgend gerundet, wobei die manipulierten Bildpunktwerte für den Fall einer ungeraden Summe S' gleich den Bildpunktwerten f'[y][x] sind. Durch die Manipulation der Bildpunktwerte wird vermieden, dass Bildpunktwerte genau zwischen zwei ganzen Zahlen liegen bzw. in einem kleinem Bereich genau zwischen ganzen Zahlen. Hierdurch wird das Ergebnis der Rundungsoperation unabhängig von der Implementierung der IDCT 7, 23 und der nachfolgenden Rundungsoperation, wodurch die vorliegende Erfindung das Auftreten von Anpassungsfehlern vermeidet.
  • In dem Ausführungsbeispiel von 3 wird, wenn die Summe der Werte des Koeffizientenblocks F'[v][u], wobei v und u ganze Zahlen im Bereich 0, 1, ..., 7 sind, geradzahlig ist, den rekonstruierten Pixelwerten im 8×8 Block f'[y][x] ein 8×8 festes Bildmuster B[y][x] (Schachbrettmuster) überlagert. Die Rundung auf ganze Zahlen wird auf Basis der manipulierten Bildpunktwerte f[y][x] durchgeführt. 4 zeigt ein Beispiel für einen Manipulationswerteblock, wie er im Rahmen der vorliegenden Erfindung eingesetzt werden kann. Die Werte sind zur besseren Übersichtlichkeit auf vier Nachkommastellen gerundet. Das Beispiel in 4 ist nicht beschränkend zu verstehen, sondern es soll lediglich einen besonderes vorteilhaften Manipulationswerteblock beschreiben. Die exakt zu verwendenden Werte können z. B. durch eine numerische Optimierung erzeugt werden. Am Beispiel der 4 wird ebenfalls deutlich, dass im Rahmen einer 8×8 IDCT bevorzugt eine quadratische Matrix von Manipulationswerten B[y][x] der Größe 8×8 verwendet wird, die symmetrisch ist. Die Vorzeichen der einzelnen Werte sind wie ein Schachbrettmuster angeordnet, wobei der Wert oben links ein positives Vorzeichen aufweist. Zudem nehmen die Werte der abgebildeten Matrix betraglich nach außen hin ab. Mit höherer Genauigkeit als in 4 dargestellt lauten die Werte der beispielhaften Matrix zeilenweise von oben links anfangend gelesen:
    Figure 00100001
    Figure 00110001
  • 5 zeigt ein Flussdiagramm, in dem der Ablauf des erfindungsgemäßen Verfahrens, wie es in dem Codierer 1 bzw. dem Decoder 20 eingesetzt wird, veranschaulicht ist. In Schritt S1 werden Koeffizientenwerte F'[v][u], die ein Ergebnis der inversen Quantisierung 6 bzw. 22 sind, aufsummiert. Danach wird in Schritt S2 die Parität der Summe S' beurteilt, d. h. ob die Summe gerade oder ungerade ist. Wie aus der weiteren Beschreibung deutlich werden wird, wird das Ergebnis der Beurteilung in Schritt S2 erst in Schritt S4 für eine Entscheidung verwendet, daher kann die Abfolge der Schritte S2 und S3 auch vertauscht werden. In Schritt S3 werden die Koeffizienten F'[v][u] mittels IDCT 7 bzw. 23 in einen Block von Bildpunkten f'[y][x] transformiert. Wie bereits angedeutet, wird in Schritt S4 eine Entscheidung vorgenommen abhängig davon, ob die Parität der Summe S' gemäß Beurteilung in Schritt S2 ungerade bzw. gerade ist. Wenn die Parität ungerade ist, schreitet die Verarbeitung zu Schritt S5 fort und die Bildpunktwerte bleiben unverändert f[y][x] = f'[y][x]. Wenn hingegen in Schritt S4 festgestellt wird, dass die Parität der Summe S' aus Schritt S2 nicht ungerade ist – also gerade ist – schreitet die Verarbeitung zu Schritt S6 fort.
  • In Schritt S6 wird geprüft, ob der Wert des Koeffizienten F'[7][7] ungerade ist. Dieser Koeffizient F'[7][7] kann entweder vor der Durchführung der IDCT 7 bzw. 23 auf seine Parität untersucht werden, wobei das Ergebnis der Untersuchung zwischengespeichert wird, oder eine Kopie des Koeffizienten F'[7][7] kann zwischengespeichert werden. Wenn der Wert des Koeffizienten F'[7][7] aus dem Frequenzbereich gerade ist, geht die Verarbeitung zu Schritt S7 über, wo der Manipu lationswerteblock B[y][x] zu dem Bildpunktwerteblock f'[y][x] hinzuaddiert wird, um einen Block von manipulierten Bildpunkten f[y][x] zu erhalten, f[y][x] = f'[y][x] + B[y][x]. Wenn in Schritt S6 jedoch bestimmt wird, dass der Wert des Koeffizienten F'[7][7] ungerade ist, wird Schritt S8 ausgeführt, wo der Manipulationswerteblock B[y][x] von dem Bildpunktwerteblock f'[y][x] subtrahiert wird, um einen Block von manipulierten Bildpunkten f[y][x] zu erhalten, f[y][x] = f'[y][x] – B[y][x].
  • Anschließend an den Schritt S5, S7 bzw. S8 werden in Schritt S9 die Bildpunktwerte f[y][x] jeweils auf eine ganze Zahl gerundet. Durch das Verfahren der vorliegenden Erfindung wird vermieden, dass Bildpunktwerte für das Runden vorliegen, die genau zwischen zwei ganzen Zahlen liegen, somit werden Anpassungsfehler unabhängig von der genauen Implementierung vermieden.

Claims (12)

  1. Verfahren zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung von inversen diskreten Kosinus-Transformationen (7, 23), wobei das Verfahren die folgenden Schritte aufweist: a) Summieren von Koeffizientenwerten von einer Mehrzahl von Koeffizienten, wobei die Koeffizienten zu einem Block von Koeffizienten gehören (S1); b) Beurteilen der Summen der Koeffizientenwerte, ob die Summe geradzahlig oder ungeradzahlig ist (S2); c) Transformieren des Blocks von Koeffizienten mittels einer bestimmten Implementierung einer inversen diskreten Kosinus-Transformation (7, 23) in einen Block von Bildpunkten, wobei jeder Bildpunkt einen Bildpunktwert aufweist (S3), der von der gewählten Implementierung der inversen diskreten Kosinus-Transformation abhängig ist; d) wenn die Beurteilung der Summe der Koeffizientenwerte ergeben hat (S4), dass die Summe geradzahlig ist: Addieren oder Subtrahieren eines Manipulationswerteblocks zu den Bildpunktwerten des Blocks von Bildpunkten, um einen manipulierten Bildpunktblock zu erzeugen, wobei e) der genannte Manipulationswerteblock in Abhängigkeit der gewählten Implementierung der inversen diskreten Kosinus-Transformation durch numerische Optimierung ermittelt wird, um e1) Rundungsfehler bei einer nachfolgenden Rundungsoperation (S6, S7, S8); und e2) Fehler aufgrund unterschiedlicher Implementierungen der diskreten inversen Kosinus-Transformation zu vermeiden.
  2. Verfahren nach Anspruch 1, wobei der Manipulationswerteblock Werte aufweist, deren Vorzeichen in der Form eines Schachbrettmusters angeordnet sind, wobei die Beträge der Werte zu den Rändern des Blocks hin abnehmen.
  3. Verfahren nach einem der Ansprüche 1 oder 2, wobei der Manipulationswerteblock aus einer quadratischen, symmetrischen Matrix besteht.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Block von Koeffizienten, der Block von Bildpunkten und der Block von Manipulationswerten jeweils durch eine Matrix von 8×8 Werten gebildet werden.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei in Schritt a) die Summe über alle Koeffizienten des Blocks von Koeffizienten berechnet wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei in Schritt d) der Manipulationswerteblock zu den Bildpunktwerten des Blocks von Bildpunkten hinzuaddiert wird, wenn der Wert eines vorbestimmten Koeffizienten gerade ist (S7), und der Manipulationswerteblock von den Bildpunktwerten des Blocks von Bildpunkten subtrahiert wird, wenn der Wert des vorbestimmten Koeffizienten ungerade ist (S8).
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Verfahren weiterhin folgenden Schritt f) aufweist: Runden jedes manipulierten Bildpunktwertes des manipulierten Bildpunktblocks auf eine ganze Zahl (S9).
  8. Verfahren zum Bereitstellen eines komprimierten Videosignals, das die folgenden Schritte aufweist: Durchführen einer Vorhersagecodierung mittels Vergleich aufeinanderfolgender Bilder, Transformieren von Bildblöcken mittels einer diskreten Kosinus-Transformation in Blöcke von Transformationskoeffizienten, wobei zur Vorhersagecodierung in einem inversen Zweig des Codierers, in dem ein codiertes Bild decodiert wird, das Verfahren zur Vermeidung von Rundungsfehlern nach einem der Ansprüche 1 bis 7 verwendet wird.
  9. Verfahren nach Anspruch 8, wobei das komprimierte Videosignal weiterhin auf einem Speichermedium, insbesondere einem optisch auslesbaren Speichermedium, gespeichert wird.
  10. Speichermedium, auf dem das komprimierte Videosignal nach Anspruch 8 gespeichert ist.
  11. Decodiervorrichtung, in der zur Vermeidung von Rundungsfehlern das Verfahren nach einem der Ansprüche 1 bis 7 durchgeführt wird.
  12. Codiervorrichtung, in der zur Vermeidung von Rundungsfehlern das Verfahren nach einem der Ansprüche 1 bis 9 durchgeführt wird.
DE102006049232A 2006-10-18 2006-10-18 Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation Expired - Fee Related DE102006049232B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102006049232A DE102006049232B4 (de) 2006-10-18 2006-10-18 Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation
EP07819111A EP2090109A2 (de) 2006-10-18 2007-10-18 Verfahren und vorrichtung zur vermeidung von rundungsfehlern nach durchführung einer inversen diskreten kosinus-transformation
PCT/EP2007/009046 WO2008046622A2 (de) 2006-10-18 2007-10-18 Verfahren und vorrichtung zur vermeidung von rundungsfehlern nach durchführung einer inversen diskreten kosinus-transformation
US12/443,163 US20090198757A1 (en) 2006-10-18 2007-10-18 Method and device for avoiding rounding errors after performing an inverse discrete cosine transformation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006049232A DE102006049232B4 (de) 2006-10-18 2006-10-18 Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation

Publications (2)

Publication Number Publication Date
DE102006049232A1 DE102006049232A1 (de) 2008-05-08
DE102006049232B4 true DE102006049232B4 (de) 2010-02-04

Family

ID=39204802

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006049232A Expired - Fee Related DE102006049232B4 (de) 2006-10-18 2006-10-18 Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation

Country Status (4)

Country Link
US (1) US20090198757A1 (de)
EP (1) EP2090109A2 (de)
DE (1) DE102006049232B4 (de)
WO (1) WO2008046622A2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
EP2813078A4 (de) * 2012-02-06 2015-09-30 Nokia Technologies Oy Verfahren zur kodierung und vorrichtung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0638218B1 (de) * 1993-03-01 1999-10-13 Sony Corporation Verfahren zur vermeidung von rundungsfehlern bei der inversen transformation von transformationskoeffizienten eines bewegtbildsignals
WO2001017270A1 (en) * 1999-08-31 2001-03-08 Sony Electronics Inc. Method and apparatus for decoding mpeg video data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822005A (en) * 1996-01-11 1998-10-13 Tektronix, Inc. Pre-oddification
US6456663B1 (en) * 2000-03-29 2002-09-24 Matsushita Electric Industrial Co., Ltd. DCT domain down conversion system that compensates for IDCT mismatch
US6940912B2 (en) * 2000-04-21 2005-09-06 Microsoft Corporation Dynamically adaptive multimedia application program interface and related methods
US7689052B2 (en) * 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0638218B1 (de) * 1993-03-01 1999-10-13 Sony Corporation Verfahren zur vermeidung von rundungsfehlern bei der inversen transformation von transformationskoeffizienten eines bewegtbildsignals
WO2001017270A1 (en) * 1999-08-31 2001-03-08 Sony Electronics Inc. Method and apparatus for decoding mpeg video data

Also Published As

Publication number Publication date
WO2008046622A2 (de) 2008-04-24
EP2090109A2 (de) 2009-08-19
US20090198757A1 (en) 2009-08-06
DE102006049232A1 (de) 2008-05-08
WO2008046622A3 (de) 2008-06-05

Similar Documents

Publication Publication Date Title
EP2222086A1 (de) Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation
EP0817496B1 (de) Verfahren und Anordnung zur Reduktion von Blockartefakten in codierten Bildern
DE69815922T2 (de) Verfahren und Vorrichtung zur prädiktiven Bildkodierung und -dekodierung
DE69421135T2 (de) Verfahren zur vermeidung von rundungsfehlern bei der inversen transformation von transformationskoeffizienten eines bewegtbildsignals
DE69709189T2 (de) Vorrichtung zur Bildvorhersage und -decodierung
DE60309375T2 (de) Parametrisierung für verlauf-kompensation
DE10253380B4 (de) Verfahren und Einrichtung zum Kodieren sich bewegender Bilder mit fester Rechenkomplexität
DE69434862T2 (de) Segmentierungs-basiertes entfernen von artefakten aus einem jpeg-bild
DE69726042T2 (de) Abwärtsabtastung über schnell-DCT-Domänen und inverser Bewegungsausgleich
DE69719069T2 (de) Bilddatenprozessor für bildspeichersystem mit erneuter komprimierung
EP0836328A2 (de) Verfahren zur Kodierung eines Videosignals
EP3434015B1 (de) Datenkompression mittels adaptiven unterabtastens
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE102020125206A1 (de) Verfahren und system zur mehrkanalvideocodierung mit frameratenänderung und kanalübergreifender referenzierung
DE10204617B4 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
EP1425920B1 (de) Verfahren zur videocodierung und computerprogrammprodukt
DE102006049232B4 (de) Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation
DE60036585T2 (de) Videodatencoder und Verfahren zur Codierung von Videodaten
DE69431572T2 (de) Videodekodierer
DE69625501T2 (de) Vorrichtung und verfahren zur auswahl des codierungsmodus in einem blockbasierten codierungssystem
EP0981910B1 (de) Verfahren und vorrichtung zur codierung eines digitalisierten bildes
DE19618117C1 (de) Verfahren zur Quantisierung und Verfahren zur inversen Quantisierung von Transformationscodierungskoeffizienten eines Videodatenstorms
DE102015010412B3 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Komprimieren eines Eingangsdatensatzes
EP0981909B1 (de) Verfahren und vorrichtung zur codierung und decodierung eines digitalisierten bildes
EP1121809B1 (de) Verfahren und anordnung zur codierung eines digitalisierten bildes, verfahren und anordnung zur decodierung eines digitalisierten bildes

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: ODS TECHNOLOGY GMBH, 23942 DASSOW, DE

8327 Change in the person/name/address of the patent owner

Owner name: ECODISC TECHNOLOGY AG, HERGISWIL, CH

8328 Change in the person/name/address of the agent

Representative=s name: PATENT- UND RECHTSANWAELTE BARDEHLE, PAGENBERG, DO

8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ECODISC TECHNOLOGY AG, ZUERICH, CH

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130501