DE69716037T2 - Verfahren zur kodierung und dekodierung von digitalen bildern - Google Patents

Verfahren zur kodierung und dekodierung von digitalen bildern

Info

Publication number
DE69716037T2
DE69716037T2 DE69716037T DE69716037T DE69716037T2 DE 69716037 T2 DE69716037 T2 DE 69716037T2 DE 69716037 T DE69716037 T DE 69716037T DE 69716037 T DE69716037 T DE 69716037T DE 69716037 T2 DE69716037 T2 DE 69716037T2
Authority
DE
Germany
Prior art keywords
image
predicted
coordinate system
target
transformation
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
DE69716037T
Other languages
English (en)
Other versions
DE69716037D1 (de
Inventor
Seng Boon
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE69716037D1 publication Critical patent/DE69716037D1/de
Publication of DE69716037T2 publication Critical patent/DE69716037T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

    Gebiet der Technik
  • Die vorliegende Erfindung bezieht sich auf Verfahren der Kodierung und Dekodierung von digitalen Bilddaten für deren Speicherung oder Übermittlung und genauer auf ein Verfahren der Kodierung und Dekodierung der Bewegungsinformation, die vorhergesagte Bilder liefert, sowie auf ein Verfahren der Erzeugung eines genauen vorhergesagten Bildes.
  • Technischer Hintergrund
  • Datenkompression (= Kodierung) ist für eine leistungsfähige Speicherung und Übermittlung eines digitalen Bildes erforderlich.
  • Verschiedene Kodierungsverfahren sind als Verfahren des Standes der Technik verfügbar, zum Beispiel die der "diskreten Cosinus-Transformation" (DCT) einschliesslich JPEG und MPEG sowie weitere Wellenform-Kodierungsverfahren wie "Teilband-", "Wellen", "Fraktal" und dergleichen. Des Weiteren wird zwischen Bildern ein Vorhersageverfahren eingesetzt, um redundante Signale zwischen Bildern zu beseitigen, wonach das differentielle Signal mit einem Wellenform-Kodierungsverfahren kodiert wird.
  • Hier wird ein auf DCT beruhendes MPEG-Verfahren beschrieben, bei dem Bewegungskompensation verwendet wird. Zuerst wird ein Eingabebild in Makroblöcke von 16 · 16 Pixeln aufgelöst. Ein Makroblock wird weiter in Blöcke von 8 · 8 aufgelöst, und die Blöcke von 8 · 8 werden der DCT unterworfen und dann quantisiert. Dieser Prozess wird "Intra-frame coding" (Kodierung innerhalb von Übertragungsblöcken) genannt. Die Mittel zur Erkennung von Bewegung, die ein Blockvergleichsverfahren einschliessen, erkennen einen Vorhersage-Makroblock, der die geringsten Abweichungen eines Ziel- Makroblocks von einem Einzelbild oder Übertragungsblock besitzt, das/der in der Zeitfolge angrenzt. Auf der Grundlage der erkannten Bewegung wird durch an den vorhergehenden Bildern ausgeführte Bewegungskompensation ein optimaler vorhergesagter Block erhalten. Ein Signal, das einen vorhergesagten Makroblock mit den kleinsten Abweichungen anzeigt, ist ein Bewegungsvektor. Als Nächstes wird eine Differenz zwischen dem Zielblock und dem ihm entsprechenden vorhergesagten Block aufgefunden, dann wird die Differenz der DCT unterworfen und die sich ergebenden DCT-Koeffizienten werden quantisiert, was zusammen mit der Bewegungsinformation übermittelt oder gespeichert wird. Dieser Prozess wird "Inter-frame coding" (Kodierung zwischen Übertragungsblöcken) genannt.
  • Auf der Datenempfangsseite werden die quantisierten DCT-Koeffizienten zuerst zu den ursprünglichen, differentiellen Signalen dekodiert, als Nächstes wird auf der Grundlage des Bewegungsvektors ein vorhergesagter Block wiederhergestellt, sodann wird das differentielle Signal zum vorhergesagten Block addiert, schliesslich wird das Bild reproduziert.
  • Ein vorhergesagtes Bild wird Block um Block gebildet. Ein Gesamtbild bewegt sich aber manchmal schwenkend oder zoomend, und in diesem Fall unterliegt das ganze Bild einer Bewegungskompensation. Die Bewegungskompensation oder Bildung eines vorhergesagten Bildes beinhaltet nicht nur eine einfache Parallelverschiebung, sondern auch andere Verformungen wie Vergrösserung, Verkleinerung und Drehung.
  • Bewegung und Verformung werden durch die folgenden Gleichungen (1) bis (4) ausgedrückt, in denen (x, y) die Koordinaten eines Pixels darstellen, während (u, v) transformierte Koordinaten darstellen, die auch einen Bewegungsvektor bei (x, y) ausdrücken. Weitere Variablen sind die Transformationsparameter, die eine Bewegung oder eine Verformung anzeigen.
  • (u, v) = (x + e, y + f) (1)
  • (u, v) = (ax + e, dy + 1) (2)
  • (u, v) = (ax + by + e, cx + dy + f) (3)
  • (u, v) = (gx² + pxy + ry² + ax + by + e, hx² + qxy + sy² + cx + dy + f) (4)
  • Gleichung (3) ist die sogenannte Affin-Transformation, und diese Affin-Transformation wird hier als ein Beispiel beschrieben. Die Parameter der Affin-Transformation werden durch die folgenden Schritte gefunden:
  • Zuerst wird ein Bild in eine Mehrzahl von Blöcken aufgelöst, zum Beispiel 2 · 2, 4 · 4, 8 · 8 usw., dann wird durch das Blockvergleichsverfahren für jeden Block ein Bewegungsvektor aufgefunden. Als Nächstes werden mindestens drei zuverlässigste Vektoren unter den erkannten Bewegungsvektoren ausgewählt. Diese drei Vektoren werden in Gleichung (3) substituiert, und die sechs simultanen Gleichungen werden gelöst, um die Affin-Parameter zu finden. Die Abweichungen verringern sich allgemein mit steigender Zahl ausgewählter Bewegungsvektoren, und die Affin-Parameter werden mit der Methode der kleinsten Quadrate gefunden. Die so erhaltenen Affin-Parameter werden benutzt, um ein vorhergesagtes Bild zu bilden. Die Affin-Parameter sind zur Datenempfangsseite zu übermitteln, um das identische vorhergesagte Bild zu erzeugen.
  • Wenn eine herkömmliche Kodierung zwischen Übertragungsblöcken verwendet wird, sollten jedoch ein Zielbild und ein Bezugsbild die gleiche Grösse besitzen, und das herkömmliche Verfähren der Kodierung zwischen Übertragungsblöcken ist nicht gut dafür gerüstet, Bilder unterschiedlicher Grösse zu behandeln.
  • Grössenveränderungen zweier angrenzender Bilder hängen weitgehend von Bewegungen eines Objekts in diesen Bildern ab. Wenn zum Beispiel eine Person, die mit herabhängenden Armen dasteht (Fig. 7A), die Arme hebt, verändert sich die Grösse des Rechtecks, das die Person umschliesst (Fig. 7B). Unter dem Gesichtspunkt der Kodierungsleistung sollten das Zielbild und das Bezugsbild in den gleichen Koordinatenraum transformiert werden, um die kodierte Zahl von Bewegungsvektoren zu verringern. Ferner variiert auch die Anordnung der Makroblöcke, in die ein Bild aufgelöst wird, mit der Bildgrösse. Wenn sich das Bild zum Beispiel von Fig. 7A zu Fig. 7B verändert, löst sich ein Makroblock 701 in Makroblöcke 703 und 704 auf, die nachfolgend komprimiert werden. Auf Grund dieser Kompression erscheint eine aus der Quantisierung resultierende senkrechte Verzerrung auf dem Gesicht der Person im reproduzierten Bild (Fig. 7B), wodurch sich die visuelle Bildqualität verschlechtert.
  • Da die Affin-Transformation hohe Genauigkeit verlangt, sind die Affin-Parameter (a, b, c, d, e, f usw.) allgemein reelle Zählen mit einer Anzahl von Dezimalstellen. Eine beträchtliche Anzahl von Bits wird benötigt, um Parameter mit hoher Genauigkeit zu übermitteln. Herkömmlich werden die Affin-Parameter quantisiert und als Codes mit fester oder variabler Wortlänge übermittelt, was die Genauigkeit der Parameter herabdrückt, so dass die sehr genaue Affin-Transformation nicht realisiert werden kann. Im Ergebnis kann ein gewünschtes, vorhergesagtes Bild nicht erzeugt werden.
  • Wie in Gleichungen (1) bis (4) zum Ausdruck kommt, reicht die Anzahl der Transformationsparameter von zwei bis zehn und darüber. Wenn ein Transformationsparameter mit einer Anzahl von Bits übermittelt wird, die so ausgelegt ist, dass sie einer Höchstzahl von Parametern genügt, erhebt sich das Problem, dass redundante Bits übermittelt werden müssen.
  • Im Aufsatz von O. J. Kwon und Mitautoren, "Bewegungskompensierte Teilbandkodierung von Videodaten, die von einer bewegten Plättform aus gewonnen wurden", Proceedings of the International Conference an Acoustics, Speech, and Signal Processing (ICASSP), IEEE, New York, USA, Band CONF. 20, Seiten 2185-2188 (9. Mai 1995), werden bewegungskompensierte Vorhersage-Kodierungsschemata offenbart, die globale und lokale Bewegungskompensation einsetzen, um Kamerabewegung oder Zooming zu kompensieren.
  • Offenbarung der Erfindung
  • Die vorliegende Erfindung zielt darauf ab, ein Verfahren der Kodierung und Dekodierung von digitalen Bildern zur Verfügung zu stellen. Genauer gesagt, werden, wenn Bilder verschiedener Grösse kodiert werden, um ein vorhergesagtes Bild zu bilden, das Zielbild und das Bezugsbild in den gleichen Koordinatenraum transformiert, und dessen Koordinatendaten werden übermittelt, wodurch sich die Genauigkeit erhöht, mit der eine Bewegung erkannt wird, und gleichzeitig die Anzahl kodierter Grössen verringert wird, um die Bildqualität zu erhöhen.
  • Ein erfindungsgemässes Verfahren zur Dekodierung und Kodierung wird in Ansprüchen 1 bzw. 4 dargelegt.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm, das einen Kodierer vorhergesagter Bilder nach der vorliegenden Erfindung darstellt.
  • Fig. 2 ist ein erstes schematisches Diagramm, das eine Koordinatentransformation beschreibt, wie sie in einer ersten und einer zweiten, beispielhaften Ausführungsform der vorliegenden Erfindung verwendet wird.
  • Fig. 3 ist ein Bitstrom, der die Bilddaten darstellt, die durch einen Kodierer vorhergesagter Bilder kodiert wurden, wie er in der ersten, beispielhaften Ausführungsform der vorliegenden Erfindung verwendet wird.
  • Fig. 4 ist ein zweites schematisches Diagramm, das eine Koordinatentransformation beschreibt, wie sie in der ersten und zweiten, beispielhaften Ausführungsform verwendet wird.
  • Fig. 5 ist ein Blockdiagramm, das einen Dekodierer vorhergesagter Bilder darstellt, wie er in der zweiten, beispielhaften Ausführungsform der vorliegenden Erfindung verwendet wird.
  • Fig. 6 ist ein schematisches Diagramm, das ein aufgelöstes Bild in der ersten und zweiten, beispielhaften Ausführungsform beschreibt.
  • Fig. 7 ist ein schematisches Diagramm, das ein mit einem herkömmlichen Verfahren aufgelöstes Bild beschreibt.
  • Fig. 8 ist ein Blockdiagramm, das einen Dokodierer digitaler Bilder beschreibt, wie er in der dritten, beispielhaften Ausführungsform verwendet wird.
  • Fig. 9 ist ein Blockdiagramm, das einen Kodierer digitaler Bilder beschreibt, wie er in der dritten, beispielhaften Ausführungsform verwendet wird.
  • Fig. 10 ist ein Blockdiagramm, das einen Dekodierer digitaler Bilder beschreibt, wie er in der vierten, beispielhaften Ausführungsform verwendet wird.
  • Fig. 11 ist ein Blockdiagramm, das einen Dekodierer digitaler Bilder beschreibt, wie er in der fünften, beispielhaften Ausführungsform verwendet wird.
  • Fig. 12 ist ein Blockdiagramm, das einen Kodierer digitaler Bilder beschreibt, wie er in der fünften, beispielhaften Ausführungsform verwendet wird.
  • Eingehende Beschreibung der bevorzugten Ausführungsformen
  • Die beispielhaften Ausführungsformen der vorliegenden Erfindung werden hiernach unter Bezugnahme auf Figuren. 1 bis 12 eingehend beschrieben.
  • (Ausführungsform Nr. 1).
  • Fig. 1 ist ein Blockdiagramm, das einen Kodierer vorhergesagter Bilder nach der vorliegenden Erfindung beschreibt. Fig. 1 führt die folgenden Elemente auf: Eingabeanschluss 101, erstes Addierglied 102, Kodierer 103, Ausgabeanschluss 106, Dekodierer 107, zweites Addierglied 110, erster Koordinatenwandler 111, zweiter Koordinatenwandler 112, Bewegungsdetektor 113, Bewegungskompensator 114 und Übertragungsblockspeicher 115.
  • Der Kodierer vorhergesagter Bilder, der die obige Struktur besitzt, wird wie folgt betrieben:
  • a) Von 1 bis N nummerierte Zielbilder, die entsprechend unterschiedliche Grössen haben, werden in den Eingabeanschluss 101 eingegeben, wobei N in Abhängigkeit von einer Videolänge bestimmt wird. Zuerst wird das erste Zielbild in den Eingabeanschluss 101 eingegeben, und über das erste Addierglied 102 wird das erste Zielbild im Kodierer 103 komprimiert. In diesem Falle führt das erste Addierglied 102 keine Subtraktion aus. In dieser beispielhaften Ausführungsform wird das Zielbild in eine Mehrzahl aneinander angrenzender Blöcke (8 · 8 Pixel) aufgelöst, und ein Signal im Raumbereich wird in den Frequenzbereich transformiert, um durch diskrete Cosinus-Transformation (DCT) 104 einen transformierten Block zu bilden. Der transformierte Block wird durch einen Quantisierer 105 quantisiert, um ein erstes komprimiertes Bild zu bilden, das zum Ausgabeanschluss 106 ausgegeben wird. Diese Ausgabedaten werden zu Codes fester oder variabler Länge umgewandelt und dann übermittelt (nicht gezeigt). Gleichzeitig wird das erste komprimierte Bild durch den Dokodierer 107 als ein expandiertes Bild wiederhergestellt.
  • b) In dieser beispielhaften Auführungsform durchläuft das erste komprimierte Bild einen Rückquantisierer (inverse quantizer: IQ) 108 und einen inversen diskreten Cosinus- Wandler (transformator; IDCT) 109, um schliesslich in den Raumbereich transformiert zu werden. Ein so reproduziertes Bild durchläuft den ersten Koordinatenwandler 111 und wird als ein erstes reproduziertes Bild im Übertragungsblockspeicher 115 gespeichert.
  • c) Der erste Koordinatenwandler 111 wird hier eingehend beschrieben. Fig. 2A wird als das erste Zielbild verwendet. Ein Pixel "Pa" eines Bildes 201 besitzt einen Koordinatenpunkt (0, 0) im Koordinatensystem 203. Ein weiteres Koordinatensystem 205 ist in Fig. 2C eingerichtet; es kann das Koordinatensystem eines Anzeigefensters oder das des Zielbildes sein, bei dem die Mitte des Bildes der Koordinatenursprung ist. In beiden Fällen sollte das Koordinatensystem 205 vor Beginn der Kodierung eingerichtet sein. Fig. 2C zeigt ein Abbilden des Zielbildes 201 im Koordinatensystem 205. Das Pixel "Pa" des Zielbildes 201 wird auf Grund dieser Koordinatentransformation zu (x_a, y_a) transformiert. Die Koordinatentransformation schliesst manchmal eine Drehung ein. Der Wert von x_a, y_a wird zu einer festen Wortlänge und in 8-Bit-Gestalt kodiert, dann mit dem ersten komprimierten Bild übermittelt.
  • d) Das n-te Zielbild (n = 2, 3, ... N) wird in den Eingabeanschluss 101 eingegeben. Das n-te Zieldbild wird über eine Leitung 126 in den zweiten Koordinatenwandler 112 eingegeben Und in das Koordinatensystem 205 transformiert. Ein Bild 202 in Fig. 2B wird als das n-te Zieldbild verwendet. Dieses Zielbild wird im Koordinatensystem 205 abgebildet, und der Koordinatenpunkt des Pixels "b1" wird, wie in Fig. 2C gezeigt, zu (x_b, y_b) transformiert. Sodann wird das Zielbild 202, das die Koordinatentransformation durchlaufen hat, in den Bewegungsdetektor 113 eingegeben und in eine Mehrzahl von Blöcken aufgelöst, und eine Bewegung wird unter Verwendung eines Blockvergleichs- oder anderer Verfahren und Bezugnahme auf das (n-1)-te reproduzierte Bild erkannt, wodurch ein Bewegungsvektor erzeugt wird. Als Nächstes wird dieser Bewegungsvektor zu einer Leitung 128 ausgegeben und für seine Übermittlung kodiert (nicht gezeigt), gleichzeitig wird er zum Bewegungskompensator 114 geschickt, sodann wird ein vorhergesagter Block erzeugt, indem auf das im Übertragungsblockspeicher 115 gespeicherte, reproduzierte (n-1)-te Bild zugegriffen wird. Beispiele für die Bewegungserkennung und Bewegungskompensation werden im US-Patent 5 193 004 offenbart.
  • e) Die Blöcke des n-ten Zielbildes und dessen vorhergesagte Blöcke werden in das erste Addierglied 102 eingegeben, und die differentiellen Blöcke werden erzeugt. Danach werden die differentiellen Blöcke im Kodierer 103 komprimiert, das n-te komprimierte Bild wird erzeugt und an den Ausgabeanschluss 106 ausgegeben, gleichzeitig wird es im Dekodierer 107 als ein expandierter differentieller Block wiederhergestellt. Im zweiten Addierglied 110 wird dann der durch eine. Leitung 125 geschickte vorhergesagte Block zum expandierten differentiellen Block addiert, wodurch das Bild reproduziert wird. Das so reproduzierte Bild wird in den ersten Koordinatenwandler 111 eingegeben, die gleiche Koordinatentransformation wie bei Bild 202 in Fig. 2C wird auf das Bild angewendet, und das Bild wird als das n-te reproduzierte Bild im Übertragungsblockspeicher 115 gespeichert, gleichzeitig wird der Koordinatenpunkt (x_b, y_b) des Pixels "b1" kodiert, und diese kodierten Daten werden zusammen mit dem n-ten komprimierten Bild übermittelt.
  • f) Fig. 3 ist ein Bitstrom, der die Bilddaten darstellt, die durch einen Kodierer vorhergesagter Bilder kodiert wurden, wie er in der beispielhaften. Ausführungsform der vorliegenden Erfindung verwendet wird. An der Spitze der kodierten Bilddaten findet man ein Bildsynchronisationssignal 303, es folgen ein Parameter x_a 304, y_a 305, der die Koordinatentransformation durchlaufen hat, danach die Bildgrösse 306, 307 sowie ein für Quantisierung verwendeter Schrittwert 308, sodann die komprimierten Daten und der Bewegungsvektor. In anderen Worten werden der Parameter x_a 304, y_a 305 und die Bildgrösse 306, 307 als Koordinatendaten übermittelt.
  • g) Fig. 4 zeigt eine weitere Art von Koordinatentransformation, wie sie in beispielhaften Ausführungsformen der vorliegenden Erfindung verwendet wird. In diesem Falle wird das Zielbild in eine Mehrzahl von Bereichen aufgelöst, und die Koordinatentransformation wird auf jeden Bereich angewendet. Zum Beispiel wird das Bild 201 in drei Regionen R1, R2 und R3 aufgelöst, dann wird jeder Bereich komprimiert und expandiert, sodann wird die Koordinatentransformation im ersten Koordinatenwandler auf jeden reproduzierten Bereich R1, R2 und R3 angewendet, und diese Daten werden dann im Ubertragungsblockspeicher 115 gespeichert. Die Parameter (x_a1, y_a1), (x_a2, y_a2) und (x_a3, y_a3), die in der Koordinatentransformation benutzt werden sollen, werden gleichzeitig kodiert, und die kodierten Parameter werden übermittelt.
  • h) Das Bild 202 wird eingegeben und in die Bereiche R4, R5 und R6 aufgelöst. Die Koordinatentransformation wird im zweiten Koordinatenwandler 112 auf jeden Bereich angewendet. Jeder transformierte Bereich durchläuft den Bewegungsdetektor und den Bewegungskompensator.unter Bezugnahme auf die im Ubertragungsblockspeicher 115 gespeicherten Bereiche, sodann wird ein vorhergesagtes Signal erzeugt und ein differentielles Signal im ersten Addierglied 102 erzeugt, als Nächstes wird das differentielle Signal komprimiert und expandiert und im zweiten Addierglied das vorhergesagte Signal addiert. Jeder so reproduzierte Bereich erfährt die Koordinatentransformation und wird im Ubertragungsblockspeicher 115 gespeichert. Die in der Koordinatentransformation zu verwendenden Parameter (x_b1, y_b1), (x_b2, y_b2) und (x_b3, y_b3) werden gleichzeitig kodiert und übermittelt.
  • Bilder verschiedener Grösse werden zu gemeinsamen Raumkoordinaten transformiert, wodurch sich die Genauigkeit der Bewegungserkennung erhöht und der kodierte Bewegungsvektorbetrag verringert, und im Ergebnis verbessert sich die Bildqualität. Die Koordinaten der Bilder in Fig. 6A und 6B sind auf den Punkt 605 ausgerichtet, wodurch eine Bewegung richtig erkannt werden kann, da Blöcke 601 und 603 sowie Blöcke. 602 und 604 identisch sind. In diesem Falle sind weiter die Bewegungsvektoren der Blöcke 603 und 604 nahezu null, wodurch sich der kodierte Betrag des Bewegungsvektors vermindert. Allgemein kann die gleiche Vorgehensweise auf zwei angrenzende Bilder angewendet werden. Im Gegensatz zu Fig. 7B erscheint auf dem Gesicht, das im Block 603 in Fig. 6B gezeichnet ist, keine senkrechte Verzerrung auf Grund von Quantisierung, da das Gesicht in einem einzigen Block enthalten ist.
  • (Ausführungsform Nr. 2).
  • Fig. 5 ist ein Blockdiagramm, das einen Dekodierer vorhergesagter Bilder darstellt, wie er in der zweiten, beispielhaften Ausführungsform der vorliegenden Erfindung verwendet wird. Fig. 5 führt die folgenden Elemente auf: Eingabeanschluss 501, Datenanalysator 502, Dekodierer 503, Addierglied 506, Ausgabeanschluss 507, Koordinatenwandler 508, Bewegungsdetektor 509, Übertragungsblockspeicher 510.
  • Die Funktion des Kodierers vorhergesagter Bilder, der das obige Element umfasst, wird hier beschrieben: Zuerst werden komprimierte Bilddaten, die von 1 bis N durch = nummeriert sind und einen n-ten Transformationsparameter einschliessen, der erzeugt wurde, indem Zielbilder kodiert wurden, die jeweils unterschiedliche Grösse hatten und von 1 bis N durchnummeriert waren, und indem das n-te Zielbild (n = 1, 2, 3, ... N) zu gemeinsamen Raumkoordinaten transformiert wurde, in den Eingabeanschluss 501 eingegeben. Fig. 3 ist ein Bitstrom, der ein Beispiel komprimierter Bilddaten darstellt. Als Zweites werden die eingegebenen, komprimierten Bilddaten durch den Datenanalysator 502 analysiert.
  • Die ersten komprimierten Bilddaten werden durch den Datenanalysator 502 analysiert, dann wird das erste komprimierte Bild an den Dekodierer 503 ausgegeben. Die ersten Transformationsparameter (x_a, y_a, wie in Fig. 2C gezeigt), die erzeugt wurden, indem das erste Bild zu gemeinsamen Raumkoordinaten transformiert wurde, werden zum Koordinatenwandler 508 geschickt. Im Dekodierer 503 wird das erste komprimierte Bild zu einem expandierten Bild dekodiert, dann wird es zum Ausgabeanschluss 507 ausgegeben, gleichzeitig wird das expandierte Bild in den Koordinatenwandler 508 eingegeben. In dieser zweiten Ausführungsform durchläuft das expandierte Bild eine Rückquantisierung und IDCT, bevor es als ein Signal des Räumbereichs wiederhergestellt wird. Im Koordinatenwandler 508 wird das expandierte Bild auf der Basis des ersten Transformationsparameters auf das gemeinsame Raumkoordinatensystem abgebildet, dann wird es als ein erstes reproduziertes Bild ausgegeben und im Übertragungsblockspeicher 510 gespeichert. Was die Koordinatentransformation betrifft, so wird in dieser zweiten Ausführungsform das gleiche Verfahren wie in der ersten Ausführungsform angewendet.
  • Als Nächstes werden die Daten des n-ten komprimierten Bildes (n = 2, 3, 4, ... N) durch den Datenanalysator 502 analysiert, und das n-te differentielle, komprimierte Bild wird an den Dekodierer 503 ausgegeben. Die n-ten Bewegungsdaten werden über eine Leitung 521 an den Bewegungskompensator 509 geschickt. Dann wird der n-te Transformationsparameter (x_b, y_b, wie in Fig. 2C gezeigt);,der durch Transformation des n-ten Bildes in die gemeinsamen Raumkoordinaten erzeugt wurde, zum Koordinatenwandler 508 und über eine Leitung 520 zum Bewegungskompensator 509 geschickt. Im Dekodierer 503 wid das n-te differentielle, komprimierte Bild als n-tes differentielles expandiertes Bild wiederhergestellt und zum Addierglied 506 ausgegeben. In dieser zweiten Ausführungsform durchläuft ein differentielles Signal des Zielblocks die Rückquantisierung und IDCT und wird als ein differentieller expandierter Block ausgegeben. Im Bewegungskompensator 509 wird unter Benutzung der n-ten Transformationsparameter und des Bewegungsvektors des Zielblocks vom Übertragungsblockspeicher 510 ein vorhergesagter Block erhalten. In dieser zweiten Ausführungsform werden die Koordinaten des Zielblocks unter Benutzung des Transformationsparameters transformiert. In anderen Worten wird der Transformationsparameter (zum Beispiel x_b, y_b, wie in Fig. 2C gezeigt) zu den Koordinaten des Zielblocks addiert, und der Bewegungsvektor wird zu dieser Summe addiert, wodurch eine Adresse im Übertragungsblockspeicher 510 bestimmt wird. Der so erhaltene, vorhergesagte Block wird zum Addierglied 506 geschickt und zum differentiellen expandierten Block hinzugezählt, wodurch das Bild reproduziert wird. Dann wird das reproduzierte Bild an den Ausgabeanschluss 507 ausgegeben, gleichzeitig durchläuft das reproduzierte Bild unter Benutzung des n-ten Transformationsparameters den Koordinatenwandler 508 und wird im Ubertragungsblockspeicher 510 gespeichert. Der Koordinatenwandler 508 kann durch den Bewegungskompensator 509 oder andere Vorrichtungen ersetzt werden, die die folgende Funktion haben: Vor und nach dem Zielblock wird eine Differenz zwischen den Parametern des n-ten und (n-1)-ten Bildes, d. h., x_b - x_a; y_b - y_a), zum Zielblock addiert, und zu dieser Summe wird der Bewegungsvektor addiert. Statt mit dem Koordinatenwandler 508 kann die Adresse im Übertragungsblockspeicher 510 unter Verwendung einer der obigen Alternativen bestimmt werden.
  • Ein Fall, in dem andere komprimierte Bilddaten in den Eingabeanschluss 501 eingegeben werden, wird hierunter diskutiert. Komprimierte Bilddaten werden eingegeben, die von 1 bis N durchnummeriert sind und Transformationsparameter einschliessen, die erzeugt werden können, indem die von 1 bis N durchnummerierten Zielbilder, die jeweils verschiedene Grösse haben, in eine entsprechende Mehrzahl von Bereichen aufgelöst werden, jeder Bereich kodiert wird und dann die betreffenden Bereiche in gemeinsame Raumkoordinaten transformiert werden.
  • Zuerst werden erste komprimierte Bilddaten im Datenanalysator 502 analysisert, und der m-te komprimierte Bereich (m = 1, 2, ... M) wird an den Dekodierer 503 ausgegeben. In Fig. 4A wird dies am Beispiel von M = 3 gezeigt. Dann wird der m-te Transformationsparameter (x am, y am, wie in Fig. 4A gezeigt), der erzeugt wird, indem der m-te komprimierte Bereich in gemeinsame Raumkoordinaten transformiert wird, über eine Leitung 520 an den Koordinatenwandler 508 geschickt. Im Dekodierer 503 wird der m-te komprimierte Bereich als m-ter expandierter Bereich wiederhergestellt, dann wird dieser an den Ausgabeanschluss 507 ausgegeben, gleichzeitig wird der m-te expandierte Bereich in den Koordinatenwandler 508 eingegeben. Der m-te expandierte Bereich wird auf Grundlage des m-ten Transformationsparameters auf das gemeinsame Raumkoordinatensystem abgebildet, und das Ergebnis wird als der m-te reproduzierte Bereich ausgegeben, schliesslich wird der reproduzierte Bereich im Ubertragungsblockspeicher S 10 gespeichert. Das Verfahren ist das gleiche wie vorher.
  • Zweitens werden die Daten des n-ten komprimierten Bildes (n = 1, 2, 3, ... N) im Datenanalysator 502 analysiert, und der k-te differentielle, komprimierte Bereich (k = 1, 2, ... K) in den Daten wird an den Dekodierer 503 ausgegeben. In Fig. 4B wird dies am Beispiel von K = 3 gezeigt. Ferner werden die entsprechenden Bewegungsdaten über eine Leitung 521 an den Bewegungsdetektor 509 geschickt, dann werden die Daten in die gemeinsamen Raumkoordinaten transformiert, wodurch der k-te Transformationsparameter (x_bk, y_bk, k = 1, 2, 3 in Fig. 3B) erzeugt wird. Dieser Parameter wird zum Koordinatenwandler 508 und über die Leitung 520 zum Bewegungskompensator 509 geschickt. Im Dekodierer 503 wird der k-te differentielle, komprimierte Bereich als ein differentieller expandierter Bereich wiederhergestellt und dann zum Addierglied 506 ausgegeben. In dieser zweiten Ausführungsform durchläuft das differentielle Signal des Zielblocks eine Rückquantisierung und IDCT, bevor es als ein differentieller expandierter Block ausgegeben wird. Im Bewegungskompensator 509 wird unter Benutzung des k-ten Transformationsparameters und des Bewegungsvektors des Zielblocks vom Übertragungsblockspeicher 510 ein vorhergesagter Block erhalten. In dieser zweiten Ausführungsform werden die Koordinaten des Zielblocks unter Benutzung des k-ten Transformationsparameters transformiert. In anderen Worten wird der Transformationsparameter (zum Beispiel x_bk, y_bk, wie in Fig. 4B gezeigt) zu den Koordinaten des Zielblocks addiert, und der Bewegungsvektor wird zu dieser Summe addiert, wodurch eine Adresse im Übertragungsblockspeicher 510 bestimmt wird. Der so erhaltene, vorhergesagte Block wird zum Addierglied 506 geschickt und zum differentiellen expandierten Block addiert, wodurch das Bild reproduziert wird. Dann wird das reproduzierte Bild an den Ausgabeanschluss 507 ausgegeben, gleichzeitig durchläuft das reproduzierte Bild den Koordinatenwandler 508 und wird im Übertragungsblockspeicher 510 gespeichert.
  • (Ausführungsform Nr. 3)
  • Fig. 8 ist ein Blockdiagramm, das einen Dokodierer beschreibt, wie er in dieser dritten, beispielhaften Ausführungsform verwendet wird. Der Dekodierer umfasst die folgenden Elemente: Eingabeanschluss 801, Teil 802 für Dekodierung in variabler Länge, Teil 803 für differentielle Bildexpansion, Addierteil 804, Ausgabeanschluss 805, Teil 806 für die Erzeugung von Transformationsparametern, Übertragungsblockspeicher 807 und Teil 808 für die Erzeugung vorhergesagter Bilder.
  • Zuerst werden komprimierte Bilddaten in den Eingabeanschluss 801 eingegeben, zweitens werden im Teil 802 für Dekodierung in variabler Länge die eingegebenen Daten analysiert und die differentiellen Bilddaten wie auch die Koordinatendaten von den eingegebenen Daten abgetrennt, drittens werden diese abgetrennten Daten über Leitungen 8002 und 8003 zum Teil 803 für differentielle Bildexpansion bzw. zum Teil 806 für die Erzeugung von Transformationsparametern geschickt. Die differentiellen Bilddaten enthalten quantisierte transformierte (DCT) Koeffizienten sowie eine Quantisierungsschrittgrösse (einen Massstab). In diesem Teil 803 für differentielle Bildexpansion wird unter Benutzung der Quantisierungsschrittgrösse eine Rückquantisierung auf die transformierten DCT-Koeffizienten angewendet, dann wird darauf eine inverse DCT angewandt, um zum differentiellen Bild zu expandieren.
  • Die Koordinatendaten enthalten die Daten zur Erzeugung der Transformationsparameter, und die Transformationsparameter werden durch den Teil 806 für die Erzeugung von Transformationsparametern erzeugt, zum Beispiel werden im Falle der durch die Gleichung (3) ausgedrückten Affin-Transformation Parameter a, b, c, d, e und f erzeugt, was hierunter eingehend beschrieben wird.
  • Zuerst werden die durch den Teil 806 für die Erzeugung von Transformationsparametern erzeugten Transformationsparameter sowie das im Übertragungsblockspeicher zu speichernde Bild in den Teil 808 für die Erzeugung vorhergesagter Bilder eingegeben. Im Fälle der durch die Gleichung (3) ausgedrückten Affin-Transformation ist der vorhergesagte Wert für ein Pixel bei (x, y) gemäss Gleichung (3) unter Benutzung der vom Teil 806 für die Erzeugung von Transformationsparametern geschickten Transformationsparameter (a, b, c, d, e, f) durch ein Pixel bei (u, v) aus dem Bild gegeben, das im Übertragungsblockspeicher gespeichert ist. Das gleiche Vorgehen kann bei Gleichungen (1), (2) und (4) angewendet werden.
  • Das so erhaltene, vorhergesagte Bild wird zum Addierteil 804 geschickt, wo ein differentielles Bild addiert wird, dann wird das Bild reproduziert. Das reproduzierte Bild wird an den Ausgabeanschluss 805 ausgegeben, gleichzeitig wird das reproduzierte Bild im Übertragungsblockspeicher 807 gespeichert.
  • Die oben beschriebenen Koordinatendaten können in einer Mehrzahl vorliegen, was hier diskutiert wird.
  • Hierunter wird der folgende Fall diskutiert: Ein Satz von Koordinatendaten umfasst die Koordinatenpunkte von N Pixeln sowie die N Koordinatenpunkte, die durch das vorbestimmte Polynom transformiert wurden, wo N eine Anzahl von Punkten darstellt, die zum Auffinden der Transformationsparameter benötigt werden. Im Falle des Affin-Parameters gibt es sechs Parameter, somit werden sechs Gleichungen benötigt, um sechs Variablen zu bestimmen. Da ein Koordinatenpunkt die Komponenten (x, y) hat, können im Falle von N = 3 sechs Affin-Parameter bestimmt werden. Die Fälle von N = 1, N = 2 und N. 5 sind auf die Gleichungen (1), (2) bzw. (4) anwendbar. Die N transformierten Koordinatenpunkte sind Bewegungsvektoren und entsprechen den Komponenten (u, v) auf der linken Seite von Gleichung (4).
  • Im Falle der Affin-Transformation werden drei Koordinatenpunkte, nämlich (x0, y0), (x1, y1) und (x2, y2), sowie drei transformierte Koordinatenpunkte, nämlich (u0, v0), (u1, v1) und (u2, v2), über eine Leitung 8003 in den Teil 806 für die Erzeugung von Transformationsparametern eingegeben. Im Teil 806 für die Erzeugung von Transformationsparametern kann der Affin-Parameter erhalten werden, indem die folgenden simultanen Gleichungen gelöst werden:
  • (u0, v0) = (ax0 + by0 + e, cx0 + dy0 + f)
  • (u1, v1) = (ax1 + by1 + e, cx1 + dy1 + f)
  • (u2, v2) = (ax2 + by2 + e, cx2 + dy2 + f) (5)
  • Die Transformationsparameter können unter Verwendung weiterer Koordinatendaten erhalten werden. In anderen Fällen, wie sie durch Gleichungen (1), (2) und (4) gegeben sind, können die Transformationsparameter in der gleichen Art und Weise bestimmt werden. Um die Transformationsparameter mit hoher Genauigkeit zu erhalten, müssen die N Koordinatenpunkte (x, Y) geeignet ausgewählt werden. Die N Punkte liegen bevorzugt senkrecht zueinander.
  • Wenn die Koordinatenpunkte (x0, y), (x1, y1) und (x2, y2) für die gegebenen, transformierten Koordinatenpunkte (u0, v0), (u1, v1) und (u2, v2) benötigt werden, können statt der Gleichungen (5) die simultanen Gleichungen (6) gelöst werden:
  • (x0, y0) = (Au0 + Bv0 + E, Cu0 + Dv0 + F)
  • (x1, y1) = (Au1 + Bv1 + E, Cu1 + Dv1 + F)
  • (x2, y2) = (Au2 + Bv2 + E, Cu2 + Dv2 + F) (5)
  • Hierunter wird der folgende Fall diskutiert: Ein Satz von Koordinatendaten umfasst die Koordinatenpunkte von N Pixeln sowie die differentiellen Werte von N durch das vorbestimmte lineare. Polynom transformierten Koordinatenpunkten. Wenn die vorhergesagten Werte zum Auffinden einer Differenz die Koordinatenpunkte von N Pixeln sind, wird der Transformationsparameter durch die folgenden Schritte erzeugt: Zuerst werden im Teil 806 für die Erzeugung von Transformationsparametern die differentiellen Werte zwischen den Koordinatenpunkten der N Pixel und den N transformierten Koordinatenpunkten addiert, dann werden die Transformationsparameter erzeugt, indem die N Pixel- Koordinatenpunkte und die hinzugefügten N transformierten Koordinatenpunkte verwendet werden. Wenn die vorhergesagten Werte zum Auffinden der Differenz die transformierten Koordinatenpunkte der N Pixel des vorhergehenden Übertragungsblocks sind, dann werden im Teil 806 für die Erzeugung von Transformationsparametern die transformierten Koordinatenpunkte der N Pixel im vorhergehenden Übertragungsblock zu den differentiellen Werten addiert, um N transformierte Koordinatenpunkte des laufenden Übertragungsblocks wiederherzustellen. Die Transformationsparameter werden dann aus den N Pixel-Koordinatenpunkten und den wiederhergestellten N transformierten Koordinatenpunkten berechnet. Die wiederhergestellten N transformierten Koordinatenpunkte werden als Vorhersagewerte für die vorausgehenden Übertragungsblöcke gespeichert.
  • Als Nächstes wird hier der folgende Fall diskutiert: Die Koordinatendaten sind die N Koordinatenpunkte, die durch ein vorbestimmtes lineares Polynom aus N vorbestimmten Koordinatenpunkten transformiert worden sind. Es ist nicht notwendig, die N Koordinatenpunkte zu übermitteln, da sie vorausbestimmt sind. Im Teil 806 für die Erzeugung von Transformationsparametern werden die Transformationsparameter erzeugt, indem die Koordinatenpunkte der N vorbestimmten Pixel und die -transformierten Koordinatenpunkte verwendet werden.
  • Dann wird der folgende Fall betrachtet, bei dem: die Koordinatenpunkte die differentiellen Werte der N transformierten Koordinatenpunkten sind, die durch Anwendung der vorbestimmten linearen Polynom = Funktion auf die vorbestimmten N Koordinatenpunkte erhalten wurden. In dem Falle, in dem Vorhersagewerte zum Auffinden der Differenz die vorbestimmten N Koordinatenpunkte sind, werden im Teil 806 für die Erzeugung von Transformationsparametern die vorbestimmten N Koordinatenpunkte zur Differenz addiert, um die transformierten Koordinatenpunkte wiederzugewinnen. Dann werden die Transformationsparameter aus den vorbestimmten N Koordinatenpunkten und den so wiedergewonnenen transformierten Koordinatenpunkten berechnet. Wenn die vorhergesagten Werte zum Auffinden der Differenz die transformierten Koordinatenpunkte der N Pixel des vorhergehenden Übertragungsblocks sind, werden im Teil 806 für die Erzeugung von Transformationsparametern die transformierten Koordinatenpunkte der N Pixel im vorhergehenden Übertragungsblock zu den differentiellen Werten addiert, um N transformierte Koordinatenpunkte des laufenden Übertragungsblocks wiederzugewinnen. Die Transformationsparameter werden dann aus den N Pixel-Koordinatenpunkten und den wiedergewonnenen N transformierten Koordinatenpunkten berechnet. Die wiedergewonnenen N transformierten Koordinatenpunkte werden als Vorhersagewerte für die vorausgehenden Übertragungsblöcke gespeichert.
  • Fig. 9 ist ein Blockdiagramm, das einen Kodierer beschreibt, wie er in der dritten, beispielhaften Ausführungsform der vorliegenden Erfindung verwendet wird. Der Kodierer umfasst die folgenden Elemente: Eingabeanschluss 901, Schätzglied 903 für Transformationsparameter, Generator 908 vorhergesagter Bilder, erstes Addierglied 904, Kompressor 905 differentieller Bilder, Expander 910 differentieller Bilder, zweites Addierglied 911, Übertragungsblockspeicher 909 und Sender 906. Zuerst wird ein digitales Bild in den Eingabeanschluss 901 eingegeben. Zweitens wird im Schätzglied 903 für Transformationsparameter unter Benutzung eines im Übertragungsblockspeicher gespeicherten Bildes und des eingegebenen digitalen Bildes ein Transformationsparameter geschätzt. Das Schätzverfahren für Affin-Parameter wurde bereits früher beschrieben.
  • Statt des im Übertragungsblockspeicher gespeicherten Bildes kann ein ursprüngliches Bild davon verwendet werden. Drittens werden die geschätzten Transformationsparameter über eine Leitung 9002 zum Generator 908 vorhergesagter Bilder geschickt, und die durch die Transformationsparameter transformierten Koordinatendaten werden über eine Leitung 9009 zum Sender 906 geschickt. Die Koordinatendaten können in einer Vielfalt von Formen vorliegen, wie bereits diskutiert. Die geschätzten Transformationsparameter und das im Übertragungsblockspeicher 909 gespeicherte Bild werden in den Generator 908 vorhergesagter Bilder eingegeben, dann wird das vorhergesagte Bild auf der Grundlage der geschätzten Transformationsparameter erzeugt. Im ersten Addierglied 904 wird als Nächstes eine Differenz zwischen dem digitalen Bild und dem vorhergesagten Bild gefunden, dann wird die Differenz im Kompressor differentieller Bilder 905 zu differentiellen komprimierten Daten komprimiert, und diese werden dann zum Sender 906 geschickt. Im Kompressor 905 differentieller Bilder wird DCT auf die komprimierten Daten angewendet, und die Daten werden quantisiert, gleichzeitig wird im Expander 910 differentieller Bilder die Rückquantisierung und die inverse DCT angewendet. Im zweiten Addierglied werden die expandierten differentiellen Daten zum vorhergesagten Bild addiert, und das Ergebnis wird im Ubertragungsblockspeicher gespeichert. Im Sender 906 werden die differentiellen komprimierten Daten, die quantisierte Breite und die Koordinatendaten kodiert, dann gemultiplexed und übermittelt, um gespeichert zu werden.
  • (Ausführungsform Nr. 4)
  • Fig. 10 beschreibt einen Dekodierer digitaler Bilder, wie er in einer vierten, beispielhaften Ausführungsform verwendet wird. Der Dekodierer umfasst die folgenden Elemente: Eingabeanschluss 1001, Dekodierer variabler Länge 1002, Expander 1003 differentieller Bilder, Addierglied 1004, Generator 1008 für Transformationsparameter und Übertragungsblockspeicher 1007. Da die grundsätzliche Funktionsweise die gleiche wie die in Fig. 8 beschriebene ist, werden nur die sich unterscheidenden Punkte hier erläutert. Der Generator 1006 für Transformationsparameter kann eine Vielzahl von Parametertypen erzeugen. Ein Teil 1006a für die Erzeugung von Parametern umfasst Mittel, um die durch Gleichung (2) äusgedrückten Parameter (a, e, d, f) zu erzeugen, ein Teil 1006b für die Erzeugung von Parametern umfasst Mittel, um die durch Gleichung (3) ausgedrückten Parameter (a, b, e, c, d, f) zu erzeugen, und ein Teil 1006c für die Erzeugung von Parametern umfasst Mittel, um die durch Gleichung (4) ausgedrückten Parameter (g, p, r, a, b, e, h, q, s, c, d, f) zu erzeugen.
  • Die Gleichungen (2), (3) und (4) erfordern zwei, sechs bzw. zwölf Koordinatenpunkte, um Parameter zu erzeugen. Diese Anzahl von Koordinatenpunkten wird durch Schalter 1009 und 1010 über eine Leitung 10010 gesteuert. Wenn die Anzahl von Koordinatenpunkten zwei ist, werden die Schalter 1009 und 1010 mit Anschlüssen 1011a bzw. 1012a verbunden, und die Koordinatendaten werden über eine Leitung 10003 an den Teil 1006a für die Erzeugung von Parametern geschickt, simultante Gleichungen werden gelöst, wodurch die durch Gleichung (2) ausgedrückten Parameter erzeugt werden, und die Parameter werden vom Anschluss 1012a ausgegeben. Wenn die Anzahl von Koordinatenpunkten drei oder sechs beträgt, werden die entsprechenden Teile 1006b bzw. 1006c für die Erzeugung von Parametern mit den Anschlüssen 1011b, 1012b bzw. mit den Anschlüssen 1011c, 1012c verbunden. In Übereinstimmung mit der Information über die Anzahl von Koordinatenpunkten kann ein zu übermittelnder Typ von Koordinatendaten identifiziert werden, wodurch die Transformationsparameter in Abhängigkeit von dieser Anzahl erzeugt werden können. Die Form der Koordinatendaten, die durch die Leitung 10003 laufen, ist bereits diskutiert worden. Wenn die rechten Seiten der Gleichungen (2) bis (4), d. h. die (x, y), bekannte Grössen sind, ist es nicht notwendig, diese Werte zu übermitteln, daher kann die Anzahl von Koordinatenpunkten, die durch die Leitung 10010 laufen, für Gleichung (2) eins, für Gleichung (3) drei und für Gleichung (4) sechs betragen. Des Weiteren sind die Teile für die Erzeugung von Transformationsparametern nicht auf drei beschränkt, sondern es kann deren mehr als drei geben.
  • (Ausführungsform Nr. 5)
  • Fig. 11 und 12 sind Blockdiagramme, die einen Dekodierer bzw. einen Kodierer digitaler Bilder beschreiben. Diese Zeichnungen sind im Grunde genommen die gleichen wie die von Fig. 8 und 9, aber sie unterscheiden sich in einigen Punkten wie folgt: statt des Generators 806 von Transformationsparametern wird ein Expander 1106 von Transformationsparametern eingesetzt, und die Funktion eines Parameterschätzgliedes 1203 unterscheidet sich von der des Parameterschätzgliedes 903. Diese unterscheidenden Punkte werden hier diskutiert. Im Transformationsparameter 1203 der Fig. 12 wird zuerst der Transformationsparameter geschätzt, dann mit einer Bildgrösse multipliziert. Zweitens werden die multiplizierten Transformationsparameter quantisiert und über eine Leitung 12009 zum Sender 1206 geschickt. Der Transformationsparameter ist eine reelle Zahl, die nach der Multiplikation auf einen ganzen Wert gerundet werden sollte. Im Falle des Affin- Parameters sollten die Parameter (a, b, c, d) mit hoher Genauigkeit ausgedrückt werden. Parameter der senkrechten Koordinaten "a" und "c" werden mit einer Anzahl von Pixels "V" in der senkrechten Richtung multipliziert, während Parameter der waagerechten Koordinaten "b" und "d" mit einer Anzahl von Pixeln "H" in der waagerechten Richtung multipliziert werden. Im Falle der Gleichung (4), die ein quadratisches Glied hat, kann die Bildgrösse für die Multiplikation im Quadrat erscheinen (H², V², HV). Im Transformationsparameterexpander 1106 der Fig. 11 wird der multiplizierte Parameter dividiert und der Parameter reproduziert. Im Transformationsparameterschätzglied 1203 der Fig. 12 werden die Transformationsparameter geschätzt, dann wird der höchste Wert des Transformationsparameters gefunden. Ein absolutes Maximum wird bevorzugt. Die Transformationsparameter werden durch eine Potenz des Maximalwerts (bevorzugt eine zweite Potenz) normalisiert, d. h., jeder Transformationsparameter wird mit einem Wert dieser Potenz multipliziert. Die so normalisierten Transformationsparameter und der Exponent werden zum Sender 1206 geschickt und vor der Übermittlung zu einem Code fester Wortlänge umgewandelt. Im Transformationsparameterexpander 1106 der Fig. 11 werden die normalisierten Parameter durch, den Exponenten dividiert und zu den Transformationsparametern expandiert. Im Falle der Affin-Parameter (a, b, c, d) wird der höchste Wert unter den Werten von a, b, c, d gefunden. In diesem Falle kann der Parameter der Parallelverschiebung (e, f) einbezogen werden; da diese Parameter aber typischerweise eine andere Anzahl von Stellen haben als die Affin-Parameter, ist es besser, sie nicht einzubeziehen. Das gleiche Vorgehen kann auf die Parameter der Gleichung (4) angewendet werden, und es wird bevorzugt, ein Glied der zweiten Potenz (zweiter Ordnung) und ein einfaches Glied (erster Ordnung) unabhängig voneinander zu normalisieren, aber man ist nicht auf dieses Vorgehen beschränkt.
  • In allen oben gegebenen, beispielhaften Ausführungsformen beziehen sich die Beschreibungen auf die Fälle, in denen ein differentielles Bild nicht Null ist. Wenn aber das differentielle Bild vollkommen Null ist, kann das gleiche Vorgehen angewendet werden. In diesem Falle wird ein vorhergesagtes Bild so ausgegeben, wie es ist. Weiter beziehen sich die Beschreibungen auf die Transformation eines ganzen Bildes. Die gleiche Beschreibung kann aber in einem Falle angewendet werden, wo ein zwei- oder dreidimensionales Bild in eine Mehrzahl kleiner Bereiche aufgelöst wird und eine der Transformationen, darunter die Affin-Transformation, auf jeden kleinen Bereich angewendet wird.
  • Industrielle Anwendbarkeit
  • Nach der vorliegenden Erfindung, wie sie in den obigen Ausführungsformen, beschrieben wurde, werden Bilder unterschiedlicher Grösse in das gleiche Koordinatensystem transformiert, ihre Bewegungen werden erkannt, und somit wird ein vorhergesagtes Bild erzeugt, wodurch sich die Genauigkeit der Bewegungserkennung erhöht und gleichzeitig der kodierte Betrag der Bewegungsvektoren verringert. Auf der Seite des Dekodierers wird ein Transformationsparameter aus den Koordinatendaten erhalten, was dazu führt, dass ein sehr genauer Transformationsparameter und ein sehr genaues vorhergesagtes Bild erzeugt werden. Des Weiteren kann durch Normalisierung des Transformationsparameters und seiner Multiplikation mit der Bildgrösse erreicht werden, dass der Parameter mit einer Genauigkeit übermittelt wird, die dem Bild angepasst ist. Der Transformationsparameter kann auch in Anpassung an eine Anzahl von Koordinatendaten erzeugt werden, wodurch ein optimaler Prozess der Erzeugung des Transformationsparameters und eine wirksame Übermittlung der Koordinatendaten realisiert werden können.

Claims (5)

1. Vorhergesagtes Dekodierverfahren zur Dekodierung eines Video-Bitstromes von Daten, die durch Kodierung eines Zielbildes erhalten wurden, das unter Bezugnahme auf ein Bezugsbild zu kodieren ist, wobei das vorhergesagte Dekodierverfahren umfasst:
a) aus dem Videodaten-Bitstrom ein komprimiertes Bildsignal herauszuziehen, das sich auf ein zu dekodierendes Zielbild bezieht;
b) aus einem Bezugsbild für das zu dekodierende Zielbild ein vorhergesagtes Bild zu erhalten;
c) durch Dekodieren des komprimierten Bildsignals ein dekomprimiertes differentielles Bild zu erzeugen;
d) aus dem vorhergesagten Bild und dem dekomprimierten differentiellen Bild ein wiederhergestelltes Bild zu erzeugen;
e) aus dem wiederhergestellten Bild ein reproduziertes Bild zu reproduzieren;
worin das vorhergesagte Dekodierverfahren dadurch gekennzeichnet ist, dass das zu kodierende Zielbild in einem gemeinsamen Raumkoordinatensystem eine andere Grösse und/oder Lage als das Bezugsbild hat,
worin das zu dekodierende Zielbild in einem ersten Koordinatensystem liegt;
f) der Videodaten-Bistrom umfasst ein Versetzungssignal, das eine relative Lage des gemeinsamen Raumkoordinatensystems im Verhältnis zum ersten Koordinatensystem anzeigt;
g) das vorhergesagte Bild wird im ersten Koordinatensystem unter Bezugnahme auf das Versetzungssignal aus dem Bezugsbild für das im gemeinsamen Raumkoordinatensystem zu dekodierende Zielbild gewonnen;
h) das dekomprimierte differentielle Bild wird im ersten Koordinatensystem erzeugt;
i) das wiederhergestellte Bild wird durch Summierung des vorhergesagten Bildes und des dekomprimierten differentiellen Bildes im ersten Koordinatensystem erzeugt; und
j) das reproduzierte Bild wird unter Bezugnahme auf das Versetzungssignal durch Koordinatentransformation des wiederhergestellten Bildes im gemeinsamen Raumkoordinatensystem reproduziert.
2. Vorhergesagtes Dekodierverfahren nach Anspruch 1, wobei das vorhergesagte Dekodierverfahren weiter umfasst:
Bewegungsvektordaten aus dem Videodaten-Bitstrom herauszuziehen;
die Bewegungsvektordaten zu dekodieren, um einen Bewegungsvektor zu reproduzieren;
worin das vorhergesagte Bild auf der Grundlage des Bewegungsvektors aus dem Bezugsbild für das zu dekodierende Zielbild gewonnen wird.
3. Vorhergesagtes Dekodierverfahren nach Anspruch 1 oder Anspruch 2, worin eine Grösse und/oder Lage der zu kodierenden Zielbilder je Übertragungsblock unterschiedlich ist.
4. Vorhergesagtes Kodierverfahren zur Kodierung eines Zielbildes unter Bezugnahme auf ein Bezugsbild, wobei das vorhergesagte Kodierverfahren umfasst:
a) einen Bewegungsvektor zu erzeugen;
b) ein dem Bewegungsvektor entsprechendes vorhergesagtes Bild zu erhalten;
c) aus dem Zielbild und dem vorhergesagten Bild ein differentielles Bild zu erzeugen;
d) das differentielle Bild zu kodieren, um ein komprimiertes Bildsignal zu erzeugen;
e) durch Dekodieren des komprimierten Bildsignals ein dekomprimiertes differentielles Bild zu erzeugen;
f) aus dem vorhergesagten Bild und dem dekomprimierten differentiellen Bild ein wiederhergestelltes Bild zu erzeugen;
g) aus dem wiederhergestellten Bild ein reproduziertes Bild zu reproduzieren;
h) einen kodierten Bewegungsvektor und das komprimierte Bildsignal als einen Videodaten-Bitstrom zu übermitteln;
worin das vorhergesagte Kodierverfahren dadurch gekennzeichnet ist, dass
im gemeinsamten Raumkoordinatensystem das Zielbild eine andere Grösse und/oder Lage als das Bezugsbild hat, wobei das Zielbild in einem ersten Koordinatensystem liegt;
i) der Videodaten-Bitstrom umfasst ein Versetzungssignal, das eine relative Lage des gemeinsamen Raumkoordinatensystems im Verhältnis zum ersten Koordinatensystem anzeigt; worin das Versetzungssignal als ein Videodaten-Bistrom übermittelt wird;
j) das vorhergesagte Bild wird im ersten Koordinatensystem unter Bezugnahme auf das Versetzungssignal und den Bewegungsvektor aus dem Bezugsbild im gemeinsamen Raumkoordinatensystem gewonnen;
k) Schritte c) bis f) basieren auf dem ersten Koordinatensystem;
l) das reproduzierte Bild wird durch Koordinatentransformation des wiederhergestellten Bildes unter Bezugnahme auf das Versetzungssignal im gemeinsamen Raumkoordinatensystem erhalten.
5. Vorhergesagtes Dekodierverfahren nach Anspruch 1, worin das Versetzungssignal die relative Lage eines Ursprungs des gemeinsamen Raumkoordinatensystems zum Ursprung des ersten Koordinatensystems anzeigt, worin der Ursprung des ersten Koordinatensystems eine räumliche Lage in der oberen linken Ecke des zu dekodierenden Zielbildes ist.
DE69716037T 1996-01-22 1997-01-21 Verfahren zur kodierung und dekodierung von digitalen bildern Expired - Lifetime DE69716037T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP810896 1996-01-22
JP12951696 1996-05-24
PCT/JP1997/000118 WO1997027707A1 (en) 1996-01-22 1997-01-21 Digital image encoding and decoding method and digital image encoding and decoding device using the same

Publications (2)

Publication Number Publication Date
DE69716037D1 DE69716037D1 (de) 2002-11-07
DE69716037T2 true DE69716037T2 (de) 2003-07-03

Family

ID=26342553

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69716037T Expired - Lifetime DE69716037T2 (de) 1996-01-22 1997-01-21 Verfahren zur kodierung und dekodierung von digitalen bildern

Country Status (9)

Country Link
US (3) US6415056B1 (de)
EP (2) EP1229740A3 (de)
JP (1) JP3573465B2 (de)
KR (2) KR100328416B1 (de)
CN (1) CN1125568C (de)
AU (1) AU710565B2 (de)
DE (1) DE69716037T2 (de)
ES (1) ES2186863T3 (de)
WO (1) WO1997027707A1 (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2369847B1 (de) 1997-02-13 2016-04-20 Mitsubishi Denki Kabushiki Kaisha Verfahren zum Dekodieren von Bewegtbildern
US6766098B1 (en) * 1999-12-30 2004-07-20 Koninklijke Philip Electronics N.V. Method and apparatus for detecting fast motion scenes
KR100359115B1 (ko) * 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
US7050590B2 (en) * 2000-12-18 2006-05-23 Warner Music Group, Inc. Method and apparatus for checking audio signals
US7072908B2 (en) * 2001-03-26 2006-07-04 Microsoft Corporation Methods and systems for synchronizing visualizations with audio streams
US7218842B1 (en) 2001-07-25 2007-05-15 Cisco Technology, Inc. Efficient methods of performing motion compensation based decoding and recoding of compressed video bitstreams
US6996178B1 (en) * 2001-08-27 2006-02-07 Cisco Technology, Inc. Look ahead motion compensation
FR2833797B1 (fr) * 2001-12-19 2004-02-13 Thomson Licensing Sa Procede d'estimation du mouvement dominant dans une sequence d'images
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
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
US7555531B2 (en) * 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US20060047855A1 (en) * 2004-05-13 2006-03-02 Microsoft Corporation Efficient chunking algorithm
CN100571389C (zh) * 2004-06-29 2009-12-16 奥林巴斯株式会社 用于图像编码/解码和扩展图像压缩解压缩的方法和设备
US7483572B2 (en) * 2004-08-25 2009-01-27 Mitsubishi Electric Research Laboratories, Inc. Recovering a non-linear warping function from images
US7613787B2 (en) * 2004-09-24 2009-11-03 Microsoft Corporation Efficient algorithm for finding candidate objects for remote differential compression
US8073926B2 (en) * 2005-01-07 2011-12-06 Microsoft Corporation Virtual machine image server
US7849462B2 (en) * 2005-01-07 2010-12-07 Microsoft Corporation Image server
US20070094348A1 (en) * 2005-01-07 2007-04-26 Microsoft Corporation BITS/RDC integration and BITS enhancements
CN100466745C (zh) * 2005-10-11 2009-03-04 华为技术有限公司 帧内预测编解码方法及其系统
KR101086163B1 (ko) 2008-01-03 2011-11-25 광운대학교 산학협력단 차분 영상의 좌표 변환을 이용한 영상 부호화 장치 및 방법
KR101003105B1 (ko) 2008-01-29 2010-12-21 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
KR101456491B1 (ko) * 2008-05-08 2014-11-03 삼성전자주식회사 복수의 참조 픽처에 기초한 영상 부호화, 복호화 방법 및장치
KR101952726B1 (ko) 2009-03-23 2019-02-27 가부시키가이샤 엔.티.티.도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 복호 장치, 및 화상 예측 복호 방법
WO2011053300A1 (en) * 2009-10-29 2011-05-05 Hewlett-Packard Development Company, L.P. Joint image compression method and apparatus
CA3011241C (en) 2010-07-20 2019-09-10 Ntt Docomo, Inc. Video prediction encoding and decoding for partitioned regions while determining whether or not to use motion information from neighboring regions
US20120207386A1 (en) * 2011-02-11 2012-08-16 Microsoft Corporation Updating A Low Frame Rate Image Using A High Frame Rate Image Stream
KR101939628B1 (ko) 2012-05-30 2019-01-17 삼성전자주식회사 모션 검출 방법 및 모션 검출기
US8924316B2 (en) 2012-07-31 2014-12-30 Hewlett-Packard Development Company, L.P. Multiclass classification of points
US8760327B2 (en) * 2012-10-25 2014-06-24 Hewlett-Packard Development Company, L.P. Coordinate compression using polynomials
KR102121558B1 (ko) 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
JP6614472B2 (ja) 2013-09-30 2019-12-04 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
CN104166714A (zh) * 2014-08-11 2014-11-26 广州市九重天信息科技有限公司 一种媒体数据处理方法及装置
WO2017023586A1 (en) * 2015-07-31 2017-02-09 Portland State University Embedding data on objects using surface modulation
US10699389B2 (en) * 2016-05-24 2020-06-30 Qualcomm Incorporated Fisheye rendering with lens distortion correction for 360-degree video
CN113891096B (zh) 2016-10-04 2022-12-06 有限公司B1影像技术研究所 图像数据编码/解码方法和装置
CN114155139B (zh) * 2021-11-23 2022-07-22 山东省人工智能研究院 一种基于向量离散化表示的deepfake生成方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1270953A (en) * 1986-05-23 1990-06-26 Satoshi Naoi Method of curve approximation
EP0330455A3 (de) * 1988-02-22 1990-07-04 Kabushiki Kaisha Toshiba Vorrichtung zum Kodieren von Bildern
US5065447A (en) 1989-07-05 1991-11-12 Iterated Systems, Inc. Method and apparatus for processing digital data
JPH0349373A (ja) * 1989-07-17 1991-03-04 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方式
JPH04323776A (ja) 1991-04-24 1992-11-12 Nec Corp 3次元初期基本形状入力装置及び方式
CN1033110C (zh) * 1992-09-01 1996-10-23 寅市和男 文字数据、词符-插图数据的输入输出装置及其方法
JPH06165165A (ja) 1992-11-25 1994-06-10 Sony Corp 動きベクトルの符号化方法およびその装置
US5592228A (en) * 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
US6236682B1 (en) 1993-03-08 2001-05-22 Sony Corporation Video motion vector detection including rotation and/or zoom vector generation
US5473379A (en) 1993-11-04 1995-12-05 At&T Corp. Method and apparatus for improving motion compensation in digital video coding
JPH1040398A (ja) * 1996-07-25 1998-02-13 Matsushita Electric Ind Co Ltd 高品位グラフィック表示装置

Also Published As

Publication number Publication date
EP0877530A4 (de) 2001-04-04
US6771826B2 (en) 2004-08-03
AU1400197A (en) 1997-08-20
KR100382440B1 (ko) 2003-05-09
CN1209933A (zh) 1999-03-03
ES2186863T3 (es) 2003-05-16
KR100328416B1 (ko) 2002-05-09
KR19990081875A (ko) 1999-11-15
US20020090030A1 (en) 2002-07-11
EP0877530B1 (de) 2002-10-02
DE69716037D1 (de) 2002-11-07
AU710565B2 (en) 1999-09-23
WO1997027707A1 (en) 1997-07-31
US20040175050A1 (en) 2004-09-09
EP1229740A2 (de) 2002-08-07
US7016544B2 (en) 2006-03-21
EP0877530A1 (de) 1998-11-11
CN1125568C (zh) 2003-10-22
JP3573465B2 (ja) 2004-10-06
US6415056B1 (en) 2002-07-02
EP1229740A3 (de) 2005-02-09

Similar Documents

Publication Publication Date Title
DE69716037T2 (de) Verfahren zur kodierung und dekodierung von digitalen bildern
DE69324960T2 (de) Kodierung und Dekodierung
DE69815922T2 (de) Verfahren und Vorrichtung zur prädiktiven Bildkodierung und -dekodierung
DE69232597T2 (de) Kodierungsverfahren
DE69637335T2 (de) Bildsignalkodierungsmethode und -vorrichtung
DE69118654T2 (de) Progressives Signalkodierungssystem für bewegte Bilder
DE69323156T2 (de) Bilddatenkomprimierungs/Dekomprimierungssystem
DE69434271T2 (de) Adaptives variables Längenkodierungsverfahren für Videodaten
DE69718687T2 (de) Vorrichtung und verfahren zur bildvorhersage und -codierung/ -decodierung.
DE69619002T2 (de) Bildkodierungs-/-dekodierungsvorrichtung
DE69224055T2 (de) Bildsignalkodier- und -dekodiergerät
DE69223560T2 (de) Einrichtung zur Verminderung von Quantisierungsstörungen in einem Zwischenbild-Hybrid-Kodierungssystem mit Bewegungskompensation
DE69312132T2 (de) Bildkompressionsgerät
DE69329983T2 (de) Bildverarbeitungsverfahren und -vorrichtung
DE69422564T2 (de) Verfahren zur halbpixel Bewegungskompensation in Bilddekodierung
DE19704439C2 (de) Verfahren und Vorrichtung zur Bewegungsschätzung in einem digitalen Videocodierer unter Verwendung von Trajektorien
DE19743202B4 (de) Verfahren zum Codieren eines Bewegungsvektors
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
DE19541457C1 (de) Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz
DE69416662T2 (de) Bewegtbildkodierer
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE69324990T2 (de) Datenkodierung
DE19717608B4 (de) Wahrnehmungsfehlerbearbeitungsverfahren und Bildkodierungsvorrichtung, welche dieses Verfahren verwendet
DE19711670B4 (de) Verfahren und Vorrichtung zum Codieren des Umrisses eines Gegenstandes unter Verwendung des Flächenschwerpunktes
DE69232540T2 (de) Kodierungs- und Dekodierungseinrichtung für Videosignal und entsprechende Verfahren

Legal Events

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

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP