DE60118491T2 - Kodiergerät und Kodierverfahren für einen Orientierungsinterpolationsknoten - Google Patents

Kodiergerät und Kodierverfahren für einen Orientierungsinterpolationsknoten Download PDF

Info

Publication number
DE60118491T2
DE60118491T2 DE2001618491 DE60118491T DE60118491T2 DE 60118491 T2 DE60118491 T2 DE 60118491T2 DE 2001618491 DE2001618491 DE 2001618491 DE 60118491 T DE60118491 T DE 60118491T DE 60118491 T2 DE60118491 T2 DE 60118491T2
Authority
DE
Germany
Prior art keywords
data
key
unit
rotation
quaternion
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
DE2001618491
Other languages
English (en)
Other versions
DE60118491D1 (de
Inventor
Sung-jin 404-1201 Cheogmyeong Maeul Kim
Do-kyoon Seongnam-city Kim
Seok-Yoon Seocho-gu Jung
Sang-Oak Mapo-gu Woo
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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
Priority claimed from KR1020010040705A external-priority patent/KR100590522B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of DE60118491D1 publication Critical patent/DE60118491D1/de
Publication of DE60118491T2 publication Critical patent/DE60118491T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/27Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving both synthetic and natural picture components, e.g. synthetic natural hybrid coding [SNHC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

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

  • Die vorliegende Erfindung betrifft synthetische Bildkodierung, und insbesondere ein Kodiergerät und ein Verfahren für einen Orientierungsinterpolationsknoten.
  • Das MPEG-4 Binärformat für Szenen (BIFS, binary format for scenes), das einer von verschiedenen internationalen Multimediastandards ist, unterstützt Animationsdarstellungstechnologie auf Basis von Keyframes unter einer Vielfalt von Technologien zur Darstellung von Animationsinformation, die in einem synthetischen Bild verwendet wird. Daten, die die auf Keyframe basierende Animation bilden, sind durch Keys (Schlüssel) und Keywerte (Schlüsselwerte) dargestellt, die in Interpolatorknotensyntax im MPEG-4 BIFS ausgedrückt sind. Im MPEG-4 BIFS ist eine große Menge an Keys und Keywertdaten notwendig, um glatte Animation der Keyframes zu erreichen. Ein Keyframe besteht aus einem Key und einem Keywert. Ein Key, der eine spezifische Zeit darstellt, in der Animation ausgedrückt ist, ist eine Zahl zwischen –∞ und ∞ inklusive. Keywerte stellen die Information bei Rotation eines Objekts in einem synthetischen Bild in der von jedem Key angegebenen Zeit dar. Die Information zur Rotation des Objekts in einer anderen Zeit als der durch jeden Key angegebenen Zeit, wird durch Interpolieren zwischen den Keywerten erhalten, die zwei Keys entsprechen: eine entspricht der nächstgelegenen vorherigen Zeit und die andere gibt die nächstgelegene nächste Zeit an. Zu diesem Zeitpunkt werden in Abhängigkeit vom Typ des Interpolatorknotens, unterschiedliche Interpolationsverfahren verwendet.
  • Ein Interpolationsverfahren unter Verwendung von Information zur Rotation eines Objekts, drückt Rotationsinformation mit Rotationsachsen und einem Rotationswinkel aus. Wie eine Modelliersprache für virtuelle Realität (VRML, virtual reality modeling language) unterstützt MPEG-4 BIFS Rotationsbewegung, die durch einen Orientierungsinterpolatorknoten mit Rotationsachsen und einen Rotationswinkel wie oben beschrieben ausgedrückt werden. Das heißt, Verwendung eines Winkelverschiebungsexpressionsverfahrens zum Ausdrücken von Rotationsachsen und Winkel, drückt der Orientierungsinterpolationsknoten Rotationsinformation aus und stellt Rotationsinformation als Keywerte bereit. Wenn Keywertdaten glatte Animation gemäß einer Interpolationscharakteristik ausdrücken, ist die Verteilung von Differenzwerten über aufeinanderfolgende Keywertesätze kompakt.
  • Deshalb ist es effizient, ein Kodierverfahren unter Verwendung von Differentialwerten in den Datensätzen zu verwenden. Im MPEG-4 BIFS werden zwei repräsentative Verfahren zum Kodieren von Felddaten verwendet, die durch einen Key und Keywerte eines Orientierungsinterpolatorknotens dargestellt sind und verarbeitet werden sollen: nach ein Verfahren, das keine Differentialpulskodemodulation (DPCM, differential pulse code modulation) verwendet und ein Verfahren, das DPCM verwendet.
  • Zunächst wird in dem Verfahren, das keine DPCM verwendet, nur Quantisierung der Keys und Keywerte von Daten durchgeführt, die kodiert werden sollen. Deshalb ist das Verfahren uneffizient, weil die eindeutigen Charakteristiken von zu kodierenden Daten nicht berücksichtigt werden. Das Verfahren, das keine DPCM verwendet, wird nun kurz erläutert. Die Felddaten eines Orientierungsinterpolationsknotens werden eingegeben und die Keywerte der Felddaten werden in Werte in einem Quaternionraum konvertiert. Danach wird die Datenpräzision des Key oder der Keywerte eingestellt und der Key und die Keywerte quantisiert. Dann werden quantisierte Felddaten als Daten im Binärformat ausgegeben. Danach werden die ausgegebenen Daten im Binärformat durch inverse Quantisierung wieder in Felddaten zurückgeführt, um das Quantisierungsergebnis zu prüfen, und jeder wiederhergestellte Quaternion wert wird in ein Keywertformat abgebildet, das aus Rotationsachsen und einem Rotationswinkel gebildet ist. Danach werden die wiederhergestellten Felddaten des Orientierungsknotens gespeichert und auf einem Bildschirm ausgegeben. Ebenso wird unter Verwendung der Daten, die sichtbare Verzerrung eines Quantisierungsfehlers gemessen. Die Verzerrung D kann durch die folgende Gleichung 1 gemessen werden:
  • Figure 00030001
  • Hier stellt N die Anzahl von Felddaten dar, εi stellt die Differenz zwischen einem Wert (Qi) dar, der aktuell kodiert werden soll und einem wiederhergestellten Wert (Q ~i ).
  • Danach berücksichtigt das Verfahren unter Verwendung von DPCM die Korrelation zwischen konsekutiven Datensätzen und kann daher Kodiereffizienz stärker verbessern als das Verfahren ohne DPCM. Die Unterschiede zwischen den beiden Verfahren werden nun kurz erläutert. Beim Verfahren mit DPCM wird der Differenzwert zwischen zuvor wiederhergestellten Keywerten und einem aktuell zu kodierenden Wert vor der Quantisierung berechnet, und der Differenzwert wird quantisiert. Auf diese Weise verbessern in dieser Differenzierung auftretende Datencharakteristiken in gewissem Maß die Kodiereffizienz.
  • 1 ist ein Blockdiagramm zur Erläuterung des allgemeinen Prinzips der DPCM.
  • Eine DPCM-Einheit 100 berechnet den Differenzwert (Ei) zwischen einem aktuell zu kodierenden Wert (Qi) und einem wiederhergestellten Wert (Q ∨i-1 ), unter Verwendung eines Addierers 102. Der berechnete Wert wird in einer Quantisierungseinrichtung 120 quantisiert. Der quantisierte Wert (Êi) wird zu einem Zielort geschickt und zu einer Inversquantisierungseinrichtung 140, durch die der quantisierte Wert (Êi) invers quantisiert wird (Ěi).
  • Bei einem Orientierungsinterpolator, der zwischen kontinuierlichen Keywerten durch sphärische Linearinterpolation interpoliert, kann jedoch das in 1 gezeigte DPCM-Verfahren keine hohe Effizienz aufweisen. Dies wird gefunden, wenn Keywerte, die die Rotationsposition eines Objekts bestimmen, in einem Quaternionraum analysiert werden.
  • Ein Keywert (q), der die Rotationsposition eines Objekts in einem 3-dimensionalen Raum bestimmt, wird als Kombination von Rotationsachsen und einem Rotationswinkel ausgedrückt. In den folgenden Gleichungen 2 zeigt Gleichung (aa), wie der Orientierungsinterpolator einen Keywert ausdrückt und Gleichung (bb) ist eine Gleichung zum Konvertieren des Keywertes in ein Quaternion. (r →, θ) = (nx, ny, nz, θ) (0 ≤ θ ≤ π) (aa)
  • Figure 00040001
  • Wie in Gleichung (bb) gezeigt ist, sind die beiden Quaternions gleich, wenn Rotationsachsenvektoren und Rotationswinkel zweier Quaternions die selben Absolutwerte und entgegengesetzte Vorzeichen im Quaternionraum aufweisen. Dies bedeutet, dass im physikalischen Aspekt, zwei Rotationstransformationen gleich sind und die Faktoren, die eine Rotationstransformation beeinflussen, die Rotationsachsenrichtung und der Rotationswinkel sind und nicht die Rotationsachsenvektoren. Deshalb drückt der Quaternionausdruck, der die Rotationstransformation eines Objekts ausdrückt, erfolgreich die Rotationsachsenrichtung und den Rotationswinkel aus, die Einflussfaktoren der Rotationstransformation sind.
  • Indessen berücksichtigt das DPCM-Verfahren von 1, in dem Gleichung (aa) zum Berechnen der Zeitdifferenzwerte zwischen Key-Werten, die Rotationstransformationen angeben, verwendet wird, die Differenz zwischen Rotationsachsenvektoren, und zeigt daher keine Korrelation von Veränderungen bei Rotationsachsenrichtungen bezüglich zeitlicher Veränderungen und die Kodiereffizienz ist verringert.
  • US 4,797,836 beschreibt ein Verfahren zum Interpolieren von Bildern unter Verwendung von Quaternions für glatte Rotationen in digitalem Video.
  • In einem ersten Aspekt der vorliegenden Erfindung wird ein Kodiergerät wie in Anspruch 1 angegeben zur Verfügung gestellt. Das Kodiergerät ist für einen Orientierungsinterpolationsknoten, der Information über die Rotation eines Objekts in einem 3-dimensionalen Raum bereitstellt, wobei das Kodiergerät beinhaltet: eine Felddateneingabeeinheit zum Extrahieren von Felddaten, die derzeit kodiert werden sollen, aus einem Key, der Information zu einer Position auf einer Zeitachse angibt, wo eine Veränderung von Rotations- und Translationsbewegung auftritt und Keywerten, die Rotationsinformation entsprechend der Positionsinformation angeben, durch Analysieren des Orientierungsinterpolatorknotens; eine adaptive Differentialimpulskodemodulationsverarbeitungseinheit (ADPCM, adaptive differential pulse code modulation) zum Konvertieren von Keywertdaten in ein Quaternion, und dann ADPCM-Verarbeitung des Quaternions unter Verwendung von Rotationsdifferentiation, und zur Differentialimpulskodemodulationsverarbeitung (DPCM, differential pulse code modulation) für die Keydaten; und eine Quantisie rungseinheit zum Quantisieren der Keydaten und Keywertdaten und Ausgeben der quantisierten Daten.
  • Die vorliegende Erfindung stellt auf diese Weise ein Kodiergerät und ein Verfahren für einen Orientierungsinterpolationsknoten zur Verfügung, bei dem durch Kodieren der Felddaten eines Orientierungsinterpolatorknotens durch adaptive DPCM-Verarbeitung unter Verwendung einer Rotationsdifferentialmatrixkonversion, Datenredundanz in einem Zeitbereich eliminiert wird, Bitredundanz zwischen Symbolen, die durch zusätzliche arithmetische Kodierung quantisiert sind, eliminiert wird und zusätzliche Information für Elemente eliminiert wird, wobei die physikalischen Charakteristiken von Rotations- und Translationsbewegung in einem Quaternionraum reflektiert werden, so dass die Effizienz der Datenübertragung verbessert wird und der Grad der sichtbaren Qualitätsverzerrung objektiver gemessen wird.
  • In einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Kodieren für einen Orientierungsinterpolatorknoten zur Verfügung gestellt, der Information zur Rotation eines Objekts in einem 3-dimensionalen Raum bereitstellt, wobei das Kodierverfahren die Schritte aufweist: (a) Extrahieren von derzeit zu kodierenden Felddaten aus einem Key, der Information zu einer Position auf einer Zeitachse angibt, wo eine Veränderung von Rotations- und Translationsbewegung auftritt und Keywerten, die Rotationsinformation entsprechend der Positionsinformation angeben, durch Analysieren des Orientierungsinterpolatorknotens; (b) Konvertieren der Keywertdaten in ein Quaternion, und dann adaptive Differentialimpulskodemodulationsverarbeitung (ADPCM) des Quaternions unter Verwendung einer Rotationsdifferentialkonvertierungsmatrix und Differentialimpulskodemodulation (DPCM) der Keydaten; und (c) Quantisieren der Keydaten und Keywertdaten und Ausgeben der quantisierten Daten.
  • Die obigen Ziele und Vorteile der vorliegenden Erfindung werden besser ersichtlich durch ausführliche Beschreibung von Ausführungsformen mit Bezug zu den begleitenden Zeichnungen, in denen:
  • 1 ein Blockdiagramm zur Erläuterung des allgemeinen Prinzips der Differentialimpulskodemodulation (DPCM) ist:
  • 2 bis 7 Diagramme zur Erläuterung einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung sind; und
  • 8 bis 22 Diagramme zur Erläuterung einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung sind.
  • Die vorliegende Erfindung betrifft ein Kodiergerät und ein Verfahren, die die Effizienz von Datenübertragung durch Erhöhen der Redundanz von Keywerten unter Verwendung einer Quaterniondarstellungsmethode und Datencharakteristiken eines Orientierungsinterpolatorknotens zur Bereitstellung von Information zur Rotation eines Objekts verbessern kann. Ebenso wird ein Fehlermessverfahren, das objektiv den Grad sichtbarer Verzerrung durch einen Fehler messen kann, der beim Komprimieren von Daten auftritt, zur Verfügung gestellt.
  • 2 ist ein schematisches Blockdiagramm eines Kodiergeräts eines Orientierungsinterpolatorknotens gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Das Kodiergerät der vorliegenden Erfindung beinhaltet eine Felddateneingabeeinheit eines Orientierungsinterpolatorknotens 200, eine adaptive DPCM-Verarbeitungseinheit für Felddaten, eine Quantisierungseinheit 220, eine Ausgabeeinheit 230 für komprimierte binäre Felddaten und zusätzlich eine Entropiekodiereinheit 225. Hier beinhaltet die adaptive DPCM-Verarbeitungseinheit für Felddaten eine Quaternionkonvertiereinheit 205, eine DPCM-Einheit 210 und eine Rotationsdifferentialkonvertiereinheit 215. Das Kodiergerät beinhaltet auch eine Dekodiereinheit, um das Wiederherstellungsergebnis der Ausgabedaten auf ei nem Bildschirm zu prüfen und den Grad sichtbarer Verzerrung aufgrund von Quantisierungsfehlern zu messen. Die Dekodiereinheit beinhaltet eine Entropiedekodiereinheit 235, eine inverse Quantisierungseinheit 240, eine inverse DPCM-Einheit 245, eine inverse Rotationsdifferentialkonvertiereinheit 250, eine inverse Quaternionkonvertiereinheit 255, eine Felddatenausgabeeinheit eines wiederhergestellten Orientierungsinterpolatorknotens 260 und eine Verzerrungsmesseinheit 265.
  • 5 ist ein Fließbild zur Erläuterung eines Kodierverfahrens eines Orientierungsinterpolatorknotens gemäß einer ersten Ausführungsform der vorliegenden Erfindung. Mit Bezug zu den 2 und 5 wird nun die Betriebsweise des Kodiergeräts der vorliegenden Erfindung erläutert.
  • Zunächst werden zu kodierende Felddaten eines Orientierungsinterpolatorknotens in Schritt 500 eingegeben. Insbesondere analysiert die Felddateneingabeeinheit 200 einen Orientierungsinterpolatorknoten in eingegebene VRML-Daten und extrahiert Felddaten, die mit einem Key und Keywerten gebildet sind. Der Key gibt Information zu einer Position auf einer Zeitachse an, auf der eine Veränderung in Rotations- und Translationsbewegung auftritt. Die Keywerte geben Rotationsinformation entsprechend der Positionsinformation an.
  • Danach werden Keywertdaten in einen Quaternionraum konvertiert und dann adaptive DPCM (ADPCM) gemäß einer Rotationsdifferentialkonvertiergleichung durchgeführt und Keydaten einer DPCM-Verarbeitung unterzogen in Schritt 510. Insbesondere wird Redundanz bei Daten bezüglich Keywertdaten (KVi, 0
    Figure 00080001
    i
    Figure 00080002
    N – 1), die in der Felddateneingabeeinheit 200 extrahiert sind, eliminiert und die Präzision der Datendarstellung eingestellt. Insbesondere werden bei der vorliegenden Erfindung Keywertdaten vor einer ADPCM-Verarbeitung zur Quaternionkonvertiereinheit 205 geschickt. Die Quaternionkonvertiereinheit 205 konvertiert Keywertdaten, das heißt, Rotationsinformation in einen Quaternionraum, der durch eine reale Zahl (einen Rotationswinkel) und drei imaginäre Zahlen (Rotationsachsen) dargestellt ist. Danach berechnet die Rotationsdifferentialkonvertiereinheit 215 ein Rotationsdifferential zwischen dem derzeitigen Keywert und dem vorherigen Keywert, der von der Quaternionkonvertiereinheit 205 eingegeben ist.
  • Bei DPCM von Keywertdaten im Stand der Technik wird beim Berechnen einer Rotationsbewegungsentfernung von einer aktuellen Position p eines Objekts zu einer Position q des Objekts nach einer Rotationsbewegung, der Wert der Rotationsbewegungsdistanz durch den Differenzwert zwischen jedem Element definiert, das aus Rotationsachsen und einem Rotationswinkel gebildet ist. Wenn nur der Differenzwert betrachtet wird, wird die Redundanz von zu kodierenden Daten gesenkt, und physikalische Charakteristiken der Bewegung des Objekts können nicht ausgedrückt werden. Deshalb ist es schwierig, sichtbare Effekte eines Kodierfehlers zu messen. Ebenso wird vom Aspekt der Datenwiederherstellung, um das Element unter allen Keywertdaten auszudrücken, das den höchsten Wert besitzt, Information von 2-Bit Länge zusätzlich von einem Kodiergerät zu einem Dekodiergerät übertragen, wie es in 7a gezeigt ist.
  • Deshalb wird bei der vorliegenden Erfindung, um eine Rotationsbewegungsentfernung zwischen Keywerten von Orientierungsinterpolatorknoten zu kodieren, ein Verarbeitungsverfahren implementiert, das sich von der DPCM des Stands der Technik durch die Rotationsdifferentialkonvertiereinheit 215 unterscheidet. Aufgrund der Tatsache, dass die Rotation eines Objekts in einem Quaternionraum durch eine Kombination von Rotationsachsen und einem Rotationswinkel beschrieben wird, ist die Rotationsdifferentialkonvertiereinheit 215 zum Beispiel wie in 3 konstruiert, so dass die Rotationsbewegungsdistanz in Bezug auf einen realen Rotationsbewegungsweg auch durch eine Rotationsdifferen tialkonvertiermatrix unter Verwendung von Rotationsachsen und einem Rotationswinkel definiert wird.
  • Das Prinzip der in der Rotationsdifferentialkonvertiereinheit 215 verwendeten Rotationsdifferentialkonvertiermatrix wird nun erläutert.
  • Unter der Annahme, dass xx → den derzeitigen Positionsvektor eines Objekts bezeichnet, bezeichnet (n →i-1 , θi-1) Keywerte (key_value), wenn ein Key key = ki-1 erfüllt und yy →i-1 , bezeichnet einen Verschiebungsvektor von x → in Rotationsbewegung des Objekts, eine Rotationsbewegungsgleichung in einem Quaternionraum wird wie in der folgenden Gleichung 3 ausgedrückt: Yi-1 = Qi-1·X·Q*i-1 (3)hier sind X, Yi-1, und Qi-1 Quaternionausdrücke von x →, y → und (n →i-1 , θi-1).
  • Ebenso wird die Rotationsbewegungsgleichung in einem Quaternionraum durch die folgende Gleichung 4 ausgedrückt, wenn key = kj: Yi = Qi·X·Q*1 (4)
  • Aus den Gleichungen 3 und 4 wird eine Matrixgleichung zum Erhalt eines Differentialrotationswertes abgeleitet, wie in der folgenden Gleichung 5: Yi = Q1·X·Q*1 = Qi·Qi-1·Yi-1·Qi-1·Q1 = Q'i·Yi-1·Q'i (5)
  • Daher ist eine Quaternionkonvertierrotationsdifferentialmatrixgleichung, die ein Rotationsdifferential darstellt, durch die folgende Gleichung 6 definiert: Q'i = Qi·Q*i-1 (6)
  • Mit Bezug zu 3 beinhaltet ausgehend von diesen Gleichungen die Rotationsdifferentialkonvertiereinheit 215 eine Rotationsdifferentialkonvertiermatrixerzeugungseinheit 300, eine Elementeinstelleinheit 320, eine Akkumulationseinheit 335 und eine Verzögerungseinheit 340. Die Rotationsdifterentialkonvertiermatrixerzeugungseinheit 300 empfängt Keywertdaten, die in einen Quaternionraum konvertiert werden und derzeit kodiert werden sollen und definiert eine Rotationsdifferentialkonvertiermatrix, die derzeit wie in Gleichung 6 kodiert werden soll. Die Elementeinstelleinheit 320 definiert die derzeit zu kodierende Rotationsdifferentialkonvertiermatrix erneut, so dass eine Bedingung, dass in der Rotationsdifferentialkonvertiermatrix (das heißt Rotationswinkel und Rotationsachsen), die aus vier Elementen gebildet ist (v[0], v[1], v[2], v[4]) gebildet ist, der Wert des ersten Elements (v[0] = cos(θ/2), hier bezeichnet θ einen Rotationswinkel) immer größer ist als irgendein Wert der übrigen drei Elemente, erfüllt ist. In Reaktion auf die Ausgabe der Rotationsdifferentialkonvertiereinheit 215 speichert die Verzögerungseinheit 340 Rotationsdifferentialkonvertiermatrices, die derzeit wiederhergestellt werden und ergibt Rotationsdifferentialkonvertiermatrices, die zuvor wiederhergestellt wurden. Die Akkumulationseinheit 335 akkumuliert zuvor wiederhergestellte Rotationsdifferentialkonvertiermatrices, durch sequentiellen Empfang von vorherigen Rotationsdifferentialkonvertiermatrices von der Verzögerungseinheit 340 und gibt das Ergebnis in die Rotationsdifferentialkonvertiermatrixerzeugungseinheit 300.
  • Die Elementeinstelleinheit 320 wendet das in 4 gezeigte Prinzip an, so dass eine Bedingung, dass unter vier Elementen (v[0], v[1], v[2], v[4]), die Rotationsinformation bilden, der Wert des ersten Elements immer größer ist als irgendein Wert der übrigen drei Elemente, erfüllt ist. Das heißt, wenn ein Objekt sich von Position A zu Position B bewegt und um Ω Grad in 4 rotiert, wenn das erste Element unter Elementen einer Rotationsdifferentialkonvertiermatrix dieser Rotationsbewegung die oben genannte Bedingung nicht erfüllt, wird ein Verfahren zur erneuten Definition einer Rotationsdifferentialkonvertiermatrix verwendet. Bei diesem Verfahren zum erneuten Definieren einer Position P (A < P < B, 0 < θ < Ω), die erhalten wird, wenn das Objekt sich um θ Grad entlang eines kürzesten Bewegungsweges dreht, wird willkürlich definiert, so dass die oben genannte Bedingung erfüllt ist.
  • Hier wird ein Verfahren zum Vergleichen der Differenzen von zwei Quaternions als Verfahren zum Auswählen eines kürzesten Bewegungsweges verwendet, der in einer Rotations- und Translationsbewegung des Objekts auftritt. Zum Beispiel Rotationsbewegungsinformation auf zwei Bögen, durch die Quaternion A einer Ausgangsposition sich bewegt und dreht zu Quaternion B der Position nach einer Rotationsbewegung, beinhaltet Quaternion B und Quaternion –B. Zu diesem Zeitpunkt wird ein Quaternion, das den kleinsten Wert zwischen dem Betrag der Differenz von Quaternion A zu Quaternion B und dem Betrag der Differenz von Quaternion A zu Quaternion –B erzeugt, als eins ausgewählt (im Beispiel B), das den kürzesten Bewegungsweg aufweist. Deshalb erfüllt eine Rotationsdifferentialkonvertiermatrix, die diesen kürzesten Bewegungsweg erfüllt, die folgende Gleichungen 7: |A| = |B| = |P| = 1 A·B = cosΩ
  • Figure 00120001
  • Wenn außerdem die Position von Punkt P als in der Mitte der Positionen A und B definiert ist (θ = Ω/2), erfüllt eine Rotationsdifferentialkonvertiermatrix auch die folgende Gleichung 8:
  • Figure 00130001
  • Wenn daher die erste Komponente (q0) des Quaternion Q(q0, q1, q2, q3), die von der Rotationsdifferentialkonvertiermatrixerzeugungseinheit 300 eingegeben ist, unter einer Bedingung 305 der Elementeinstelleinheit 320 nicht die größte unter den vier Komponenten ist, definiert eine Keywerterzeugungseinheit 310 neue Keywerte aus dem vorherigen Keywert und dem derzeitigen Keywert, das heißt, Rotationsinformation, so dass das erste Element die Bedingung 305 gemäß Gleichung 8 erfüllt. Zu diesem Zeitpunkt wird neu definierte Rotationsinformation in einem Framepuffer 315 gespeichert und gleichzeitig an die Rotationsdifferentialkonvertiermatrixerzeugungseinheit 300 ausgegeben. Der Framepuffer 315 speichert Keywertdaten, die derzeit kodiert werden sollen. Der Framepuffer 315 speichert sequentiell Keywertdaten, die in der Keywerterzeugungseinheit 310 erzeugt sind und ergibt derzeitige und vorherige Rotationsinformation. Ebenso gibt der Framepuffer 315 θ, Ω und einen entsprechenden Keywertindex an die DPCM-Einheit 210, um einen Key gemäß der Erzeugung von Keywerten durch θ zu erzeugen. Die folgende Gleichung 9 beschreibt Keyerzeugung in der DPCM-Einheit 210: Ki = Ki-1 + (Ki – Ki-1)·θ/Ω (9)
  • Keydaten (Ki, 0
    Figure 00130002
    i
    Figure 00130003
    N – 1), die in der Felddateneingabeeinheit 200 extrahiert sind, werden in die DPCM-Einheit 210 eingegeben. Die DPCM-Einheit 210 erzeugt einen neuen Key auch durch die Rotationsdifferentialkonvertiereinheit 215. Die DPCM-Einheit 210 gibt erste Keydaten (K0) unverändert aus und gibt die übrigen Keydaten durch Berechnen des Differenzwerts (KDi) zwischen dem Key (Ki-1), der zuvor wiederhergestellt wurde, und dem Key (K1), der derzeit kodiert werden soll, aus. Die DPCM-Einheit 210 eliminiert Redundanz unter Daten und stellt Präzision der Datendarstellung ein, so dass ein echter Kompressionsprozess durchgeführt wird.
  • Wie oben beschrieben wird durch Einstellen eines ersten Elementwerts eines Quaternions in einer Elementeinstelleinheit 320, so dass der erste Elementwert den Maximalwert aufweist, zusätzliche 2-Bit-Information, das heißt, Information, die angibt, welches Element unter den vier Elementen jedes der anfänglichen Keywerte allein maximal ist, zum Dekodiergerät übertragen. Im Stand der Technik wird zusätzliche Information von 2 Bit über alle Keywerte zum Dekodiergerät übertragen. Deshalb kann die in 7a gezeigte Syntax aus dem Stand der Technik zu einer verbesserten Syntax gemäß der vorliegenden Erfindung verändert werden, wie in 7b gezeigt. Wenn dementsprechend N Keywertdaten tatsächlich kodiert werden, werden bei der vorliegenden Erfindung 2(N – 1) weniger Bits erzeugt als im Stand der Technik, bedingt durch die zusätzliche Information, die im Stand der Technik übermittelt wird.
  • Wiederum mit Bezug zu 5 werden nach Schritt 510 Key- und Keywertdaten, die einer ADPCM Verarbeitung unterzogen sind, in Schritt 520 quantisiert. Um Bitredundanz in quantisierten Werten zu eliminieren, werden quantisierte Key- und Keywertdaten arithmetisch kodiert und als Datenstrom im Binärformat in Schritt 530 ausgegeben.
  • Ein wichtiger Faktor beim effektiven Reduzieren der tatsächlich zu kodierenden Datenmenge ist Eliminierung von Bitredundanz. Das heißt, quantisierte Bits weisen Redundanz auf und bekannte Verfahren zum Eliminieren dieser Redundanz beinhalten ein variables Längenkodierverfahren (VLC, variable length coding), und ein Huffman-Kodierverfah ren, das ein Symbolmuster verwendet. Bei der vorliegenden Erfindung wird ein arithmetisches Kodierverfahren verwendet, bei dem Bitredundanz durch Berechnen der Frequenz der Symbolerzeugung unter Verwendung konditionaler Wahrscheinlichkeiten entfernt wird. Die Entropiekodiereinheit 225 von 2 führt dieses Verfahren aus und die Ausgabeeinheit 230 zum Ausgeben von binären Felddaten, gibt kodierte Daten als Datenstrom im Binärformat aus.
  • Hier wird Bestimmung der Struktur der Stromdaten in Bezug auf Arten und Funktionen von Stromdienstleistungen in diesem Stromschritt berücksichtigt. Die 6a und 6b zeigen zwei Arten von Stromdatenstrukturen. 6a zeigt eine Datenstruktur, die sich ergibt, wenn die Echtzeitcharakteristik von Diensten nicht berücksichtigt wird und die einfachste Form aufweist. In dieser Struktur tritt Verzögerung über die gleiche Zeitspanne auf wie die Zeitspanne, in der Keydaten wiederhergestellt werden. Verglichen mit der Struktur von 6b, weist die Struktur von 6a höhere Verarbeitungskosten des Kodiergeräts und geringere Verarbeitungskosten des Dekodiergeräts auf. Die Struktur von 6b ergibt die Echtzeitcharakteristik und zusätzliche Funktionalität von Datendiensten. In dieser Struktur ist unmittelbar nachdem ein Key und entsprechende Keywerte wiederhergestellt sind, Visualisierung möglich. Eine zusätzliche Funktion ist auch Fehlerresistenz. Das heißt, obwohl aktuelle Daten einen Verlust aufweisen, kann der Verlust in gewissem Maß mit wiederhergestellten vorherigen Daten und nächsten Daten wiederhergestellt werden. Zur Bereitstellung der in den 6a und 6b gezeigten Datenstrukturen werden zu kodierende Daten in der Reihenfolge 200205215210220225 von 2 kodiert. In Schritt 225 wird arithmetische Kodierung an Keys und Keywerten durchgeführt. Gemäß der Datenstruktur der 6a und 6b ist die Reihenfolge der zu kodierenden Keys und Keywerte verschieden.
  • Wiederum mit Bezug zu 5 werden nach Schritt 530 die kodierten Ausgabedaten im umgekehrten Prozess wie der oben beschriebene Kodierprozess wiederhergestellt. In Bezug auf das Wiederherstellungsergebnis wird sichtbare Verzerrung zur Bewertung der Leistung des Kodiergeräts in Schritt 540 gemessen. Wenn kodierte Ausgabedaten widerhergestellt werden, misst die Verzerrungsmesseinheit 265 sichtbare Qualitätsverzerrung in Bezug auf einen Rotationsdifferentialwert, verglichen mit der ursprünglichen Information vor dem Kodieren. Zu diesem Zweck ist die Dekodiereinheit als 235 bis 260 in 2 ausgebildet und der in der Dekodiereinheit durchgeführte Prozess ist der umgekehrte Prozess der Kodierung.
  • Die Leistung des Kodiergeräts wird durch einen charakteristischen Wert gemessen, das heißt, sichtbare Qualitätsverzerrung in Bezug auf eine Abnahme der Datenmenge. Bei Kodierverfahren aus dem Stand der Technik wird zum Messen der Leistung eines Kodiergeräts ein charakteristischer Wert verwendet, zum Beispiel unter Verwendung von Gleichung 1. Bei diesem Verfahren wird jedoch ein Quantisierungsfehler für jedes Element zur Rotation berechnet, so dass die Charakteristiken eines Quaternionraums nicht gezeigt werden können und der sichtbare Verzerrungsgrad einer realen Rotationsbewegung nicht objektiv ausgedrückt werden kann. Deshalb beinhaltet das Kodiergerät gemäß der vorliegenden Erfindung zusätzlich eine verbesserte Verzerrungsmesseinheit 265, die die Charakteristiken eines Quaternionraums erfüllt und in der Lage ist, sichtbare Verzerrung in Bezug auf Quantisierung objektiv zu messen. Die Verzerrungsmesseinheit 265 misst Quantisierungsfehler in Hinblick auf alle Punkte auf der Oberfläche eines Objekts als alle Punkte auf einer Kugelfläche. Das Grundprinzip der Messung wird nun erläutert.
  • Ein Quantisierungsfehler ist als Differenzwert von zwei Rotationstransformationen definiert. Das heißt, unter der Annahme, dass (r →, θ) Key werte eines Orientierungsinterpolatorknotens bezeichnet und dass (r →', θ') Keywerte bezeichnet, die durch Wiederherstellen von Keywerten durch die Dekodiereinheit erhalten sind (r → bezeichnet eine Rotationsachse, θ bezeichnet einen Rotationswinkel und der Rotationswinkel erfüllt θ ε [–π, π]), x → ist ein beliebiger Positionsvektor auf einer Einheitskugelfäche und erfüllt S = {x →| ||x →|| = 1}. Wenn eine Rotationstransformation von x → zu y → und yy →' mit (r →, θ) und (r →', θ') vorgenommen wird, wird ein auftretender Quantisierungsfehler als Differenz zwischen y → und y →' berechnet. Ein Quantisierungsfehlervektor e →(x →) erfüllt
    Figure 00170001
    (x →) = y → = y →'. Wenn Quantisierungsfehlervektoren ee →(x →) aller Punkte auf einer Einheitskugelfläche unter Verwendung dieser Gleichung berechnet werden, werden RMS(Dm) für die ganze Kugelfläche und ein Maximalfehler (Dp) durch die folgenden Gleichungen 10 berechnet:
  • Figure 00170002
  • Indessen kann die Beziehung zwischen y → und yy →' in einer Rotationstransformationsgteichung wie der folgenden Gleichung 11 ausgedrückt werden: y →' = Tr'',θ'(y →) (11)
  • Ein aus diesen Gleichungen abgeleiteter Quantisierungsfehlervektor ist wie in den folgenden Gleichungen 12 definiert: ||e →(x →)|| = 2cosφsindθ''/2wo x → (1, Φ, φ), Φ = Azimuthwinkel, Φ ε [–π, π], φ = Längswinkel, φ ε [–π/2, π/2] (12)
  • RMS(Dm) und ein Maximalfehler (Dp), die gemäß der Gleichungen 10 und 12 neu abgeleitet werden, sind wie in der folgenden Gleichung 13 definiert:
  • Figure 00180001
  • Indessen sind xx →, y → und yy →' in einem Quaternionraum definiert als:
  • Figure 00190001
  • Wenn (r →, θ) und (r →', θ'), die eine Rotationstransformation darstellen, in einem Quaternionraum ausgedrückt werden und als Q und Q' bezeichnet werden, können die Gleichungen Y = Q·X·Q* und X = Q*·Y·Q abgeleitet werden. Hier gibt A·B Quaternionmultiplikation an und A* bezeichnet das Konjugat von A. Aus diesen Gleichungen wird die folgende Gleichung abgeleitet: Y' = Q'·X·Q'* = Q'·Q*·Y·Q·Q'* = Q''·Y·Q''*
  • Q'' bezeichnet den Rotationstransformationsvorgang zwischen y → und y →' und ist durch die folgende Gleichung 14 definiert: Q'' = Q'·Q* (14)
  • Daher sind unter Verwendung der Gleichungen 13 und 14 RMS(Dm) eines Quantisierungsfehlers für die ganze Einheitskugelfläche und der Maximalfehler (Dp) wie in der folgenden Gleichung 15 oder Gleichung 16 definiert: θ'' = 2cos–1 q0'' = 2cos–1(Q'•Q), θ'' ∊ [0, π], = q0'' = Q'•Q,(• innere Produktoperation)
  • Figure 00200001
  • Die Gleichungen 15 und 16 reflektieren physikalische Charakteristiken von Rotations- und Translationsbewegung eines Objekts in einem Quaternionraum und sind daher akkurater als Gleichung 1. Deshalb ist bei der vorliegenden Erfindung die Verzerrungsmesseinheit 265 so ausgebildet, dass die Gleichungen 15 und 16 angewendet werden. Dementsprechend ist die vorliegende Erfindung dadurch gekennzeichnet, dass sie einen sichtbaren Verzerrungsgrad aufgrund von Quantisierungsfehlern objektiver und akkurater messen kann als Verfahren aus dem Stand der Technik.
  • 8 ist ein schematisches Blockdiagramm eines Kodiergeräts für einen Orientierungsinterpolationsknoten gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Mit Bezug zu 8 beinhaltet das Kodiergerät prinzipiell eine Felddateneingabeeinheit eines Orientierungsinterpolationsknotens 800, eine Felddatenverarbeitungseinheit, eine Quantisierungseinheit 805, eine Lineardifferentialeinheit 807 und eine Ausgabeeinheit 810 für komprimierte binäre Felddaten. Die Felddatenverarbeitungseinheit beinhaltet eine Quaternionkonvertiereinheit 801, eine Keyframeeliminierungseinheit 802 und eine Linear/Rotationsdifferentialeinheit 803 und beinhaltet zusätzlich eine inverse Quantisierungseinheit 806, eine Verzögerungseinheit 819 und eine Linear/Rotationsintegrationseinheit 804.
  • Die Quaternionkonvertiereinheit 801 konvertiert Keywerte in Quaternionwerte. Unter Nutzung von Ähnlichkeit bei der Rotationstransformation in Bezug auf kontinuierliche Zeitveränderungen eliminiert die Keyframeeliminierungseinheit 802 Keyframes und Keys aus Quaternionwerten von der Quaternionkonvertiereinheit 801 und Keys von der Felddateneingabeeinheit eines Orientierungsinterpolatorknotens 800 innerhalb einer zulässigen Fehlergrenze und gibt dann selektiv Keyframes und Keys aus. Die Rotationsdifferentialeinheit 803 empfängt ausgewählte Keyframes und Keys und erhält Rotationsdifferentiale zwischen Differenzwerten von Keys und Quaternionwerten. Die Quantisierungseinheit 805 quantisiert die von der Linear/Rotationsdifferentialeinheit 803 konvertierten Werte. Die Linear/Rotationsdifferentialeinheit 807 erhält lineare Differentiale von quantisierten Quaternionwerten. Die Entropiekodiereinheit 809 eliminiert Bitredundanz. Indessen beinhaltet das Kodiergerät ferner die inverse Quantisierungseinheit 806 zum Empfangen der Ausgabe von der Quantisierungseinheit 805 und inversen Quantisieren der Ausgabe, die Verzögerungseinheit 819 zum Verzögern der Ausgabe der inversen Quantisierungseinheit 806 und die Linear/Rotationsintegrationseinheit 804 zur Rotationsintegration (oder Akkumulation) der Ausgabe der Verzögerungseinheit 819 und Zuführen des Ergebnisses an die Linear/Rotationsdifferentialeinheit 803.
  • Ebenso weist zum Bestätigen des Ergebnisses der Wiederherstellung der Ausgabedaten auf dem Bildschirm und zum Messen des Grades an sichtbarer Verzerrung aufgrund eines Quantisierungsfehlers, das Kodiergerät zusätzlich eine Dekodiereinheit zur inversen Durchführung des Kodierprozesses der Fehldatenverarbeitungseinheit minus der Funktion der Keyframeeliminierungseinheit 802 auf. Die Dekodiereinheit beinhaltet eine Entropiedekodiereinheit 811, einen Linearintegrationseinheit 813, eine Verzögerungseinheit 821, eine inverse Quantisierungseinheit 814, eine Linear/Rotationsintegrationseinheit 815, eine Verzögerungs einheit 822, eine Quaternionkonvertiereinheit 816, eine Felddatenausgabeeinheit eines Orientierungsinterpolationsknotens 817 und eine Verzerrungsmesseinheit 818.
  • Die Verzerrungsmesseinheit 818 misst einen sichtbaren Bildqualitätsverzerrungsgrad in Bezug auf eine Abnahme der Datenmenge. Gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung misst die Verzerrungsmesseinheit 818 sichtbaren Bildqualitätsverzerrungsgrad aufgrund von Quantisierung objektiver und akkurater, wobei die Charakteristiken der Rotationstransformation reflektiert werden. Das Grundprinzip der Messung wird nun erläutert. Ein Quantisierungsfehler ist als Differentialrotationswinkel in einer Differentialrotationstransformation der ursprünglichen Rotationstransformation und wiederhergestellter Rotationstransformation definiert. Das heißt, unter der Annahme, dass (r →, θ) einen Keywert eines Orientierungsinterpolatorknotens bezeichnet und (r →', θ') einen Keywert bezeichnet, der durch Wiederherstellen von Keywerten durch die Dekodiereinheit erhalten ist (r → bezeichnet eine Rotationsachse, θ bezeichnet einen Rotationswinkel und der Rotationswinkel erfüllt θ ε [–π, π]), wird wenn eine Rotationstransformation von einer beliebigen Position x → zu y → und y →' in einem 3-dimensionalen Raum mit r →, θ) und (rr →', θ') vorgenommen wird, ein auftretender Quantisierungsfehler e →(x →) als Differenz zwischen y → und yy →' berechnet, d. h.e →(x →) = y → – y →'. In Quaternionform sind x →, y → und y →' wie in der folgenden Gleichung 17 definiert:
  • Figure 00220001
  • Wenn (rr →, θ) und (rr →', θ'), die eine Rotationstransformation darstellen, in einem Quaternionraum ausgedrückt sind und als Q und Q' bezeichnet werden, werden die folgenden Gleichungen 18 abgeleitet: Y = Q·X·Q* X = Q*·Y·Q (18)
  • Hier gibt A·B Quaternionmultiplikation an und A* bezeichnet das Konjugat von A. Daraus wird die folgende Gleichung 19 abgeleitet: Y' = Q'·X·Q'* = Q'·Q*·Y·Q·Q'* = Q''·Y·Q''* (19)
  • Hier bezeichnet Q'' den Rotationstransformationsvorgang zwischen y → und y →' und ist durch die folgende Gleichung 20 definiert: Q'' = Q'·Q* (20)
  • Wenn daher θ'' einen Differentialrotationswinkel zwischen y → und y →' bezeichnet, kann θ'' unter Verwendung der Quaternionkonvertiergleichung und Gleichung 20 wie folgt erhalten werden: θ'' = 2cos–1q0'' = 2cos–1(Q'•Q), θ'' ε [0, π], q0'' = Q'•Q (21)(• bezeichnet innere Produktbildung)
  • Gleichung 21 gibt einen momentanen Quantisierungsfehler an, der zu einer bestimmten Zeit in allen Animationskeyframes auftritt. Um eine Gleichung zum Ermitteln eines Quantisierungsfehlers aller Animationsintervalle abzuleiten, kann die Gleichung 21 durch einen momentanen Quantisierungsfehler zu einer bestimmten Zeit t wie in der folgenden Gleichung 22 ausgedrückt werden: e(t) = 2arccos{Q(t)•Q'(t) (22)
  • Wenn Gleichung 22 bei allen Keyframeintervallen angewendet wird, die Animation durch das Orientierungsinterpolationsverfahren durchführen, kann der mittlere Fehler Em und der Maximalfehler Ep für alle Intervalle [t0, tL] wie in der folgenden Gleichung 23 abgeleitet werden:
  • Figure 00240001
  • Hier wird die Teilsumme Ei m zunächst für Intervall [ti-1, ti] erhalten, um Em wie in der folgenden Gleichung 24 zu erhalten:
  • Figure 00240002
  • Indessen wird wegen 4 arccos2 Q(t)•Q'(t) = Φ2(α), t = ti-1, + α(ti – ti-1), die folgende Gleichung 25 abgeleitet: Eim = (ti – ti-1)∫10 ϕ2(α)dα (25)
  • Weil es schwierig ist, das definitive Integral der Funktion φ2 (α) im Integrationsintervall [0, 1] zu erhalten, wird eine Näherung wie in den folgenden Gleichungen 26 und 27 durchgeführt: Φ(α) ≡ Φ(0) + α{Φ(1) – Φ(0) (26) Φ2(α) ≡ Φ2(0) + α2{Φ(1) – Φ(0)}2 + 2αΦ{Φ(1) – Φ(0) (27)
  • Hier sind cos Φ(0)/2 = Q(ti-1)•Q'(ti-1) und cos Φ(1)/2 = Q(ti)•Q'(ti).
  • Unter Verwendung der Näherungsfunktion kann eine Teilsumme Ei m wie in der folgenden Gleichung 28 erhalten werden: Ei m = 1/3(ti – ti-1){Φ2(0) + Φ2(1) + Φ(0)Φ(1)} (28)
  • Gleichung 28 kann umgeformt werden zur folgenden Gleichung 29: Ei m = 4/3(ti – ti-1)[arccos2(Q(ti-1)•Q'(ti-1)) + arccos2(Q(ti)•Q'(ti)) arccos(Q(ti-1)•Q'(ti-1))arccos(Q(ti)•Q(ti))] (29)
  • Ebenso wird die Teilsumme Ei m zu allen Intervallen [t0, tL] addiert und dann der mittlere Fehler Em wie in der folgenden Gleichung 30 erhalten:
  • Figure 00250001
  • Um den Maximalfehler Ep zu erhalten, wird gemäß der folgenden Gleichung ein Maximalwert unter den Maximalfehlern E'p in jedem Intervall [ti-1, ti] ausgewählt:
  • Figure 00250002
  • Unter Verwendung der oben beschriebenen Näherungsfunktion kann Ei p wie in der folgenden Gleichung 32 angenähert werden: Ei p ≡ max{Φ(0), Φ(1)} = max{2|arccos(Q(ti-1)•Q'(ti-1))|, 2|arccos(Q(ti)•Q'(ti|} 32)
  • Der Maximalfehler Ep in allen Intervallen [t0, tL] wird durch die folgende Gleichung 33 ausgedrückt: Ep ≅ max i=i, ..., LE'p (33)
  • Daher misst die Verzerrungsmesseinheit 818 Verzerrung auf Grundlage der Gleichungen 32 und 33, so dass sie einen sichtbaren Verzerrungsgrad, aufgrund eines Quantisierungsfehlers in einem Quaternionraum objektiver und akkurater messen kann.
  • Die Keyframeeliminierungseinheit 802 eliminiert Keyframes in einer zulässigen Fehlergrenze, wobei Ähnlichkeit der Rotationstransformation bezüglich kontinuierlicher Zeitveränderungen angewendet wird. Dieses Verfahren zum Eliminieren von Keyframes ist eines einer Gruppe von Verlustkodierverfahren. Bei der Verlustkodierung von Keyframeanimation verwendet das MPEG-4 BIFS vom Stand der Technik ein Verfahren, bei dem niedrige Bitquantisierung gleichmäßig für Keywerte aller Keyframes durchgeführt wird. Das Verfahren kann jedoch nicht reflektieren, wie stark jeder Keyframe für eine Abnahme der sichtbaren Bildqualität verantwortlich ist. Dementsprechend führt niedrige Bitquantisierung zu starker Abnahme der Bildqualität. Die Keyframeeliminierungseinheit 802 führt relativ hohe Bitquantisierung für jeden Keyframe durch, während sie Keyframes in der Reihenfolge geringeren Einflusses auf die Abnahme der sichtbaren Bildqualität eliminiert. Deshalb erzeugt die Keyframeeliminierungseinheit 802 eine ähnliche Datenmenge wie die im Stand der Technik, erhält aber eine viel bessere Bildqualität.
  • Mit Bezug zu den 14 bis 19 wird nun der Prozess zum Eliminieren von Keyframes in der Keyframeeliminierungseinheit 802 ausführlich beschrieben.
  • Schritt 1: Mit Bezug zu 14 gibt ein schwarzer Punkt Keywerte (= Q0, Q1, Q2, ..., Qn) jedes Keyframes in Bezug auf n + 1 Zeitpunkte auf dem ursprünglichen Animationsweg an.
  • Schritt 2: Wie in 15 gezeigt ist, werden zunächst zwei Keyframes (= Q0, Qn) entsprechend zwei Enden des Animationsweges unter den Keyframes des Animationsweges ausgewählt. Die ausgewählten Punkte sind als weiße Punkte gezeigt.
  • Schritt 3: Wie in 16 gezeigt ist, wird ein Keyframe der Keyframes ohne die beiden ausgewählten Endkeyframes ausgewählt. Zu diesem Zeitpunkt beträgt die Anzahl von Verfahren zum Auswählen eines Keyframes (n – 1). 16 zeigt ein Beispiel, in dem zwei Kandidaten ausgewählt sind und durch abgesetzte Linien markiert sind. Danach wird unter Verwendung einer Gesamtzahl von drei ausgewählten Keyframes (Q0, Q1 und Qn, oder Q0, Qk und Qn) sphärische Linearinterpolation für (n – 1) Kandidaten durchgeführt, die nicht ausgewählt sind.
  • Schritt 4: Durch Vergleich des ursprünglichen Animationsweges und der interpolierten (n – 1) Wege wird ein Animationsweg, der den geringsten Wegefehler aufweist, ausgewählt und ein neuer Keyframe aus dem ausgewählten Animationsweg ausgewählt. Der Fehler zwischen Wegen wird unter Verwendung des oben beschriebenen mittleren Fehlers Em erhalten.
  • Schritt 5: 17 zeigt ein Beispiel, in dem der Weg des Kandidaten 2 ausgewählt ist.
  • Schritt 6: wie in 18 gezeigt, wird ein Keyframe unter Keyframes ohne die drei ausgewählten Keyframes ausgewählt. Dann werden die Schritte 3 und 4 durchgeführt.
  • Schritt 7: 19 zeigt ein Beispiel, in dem der Weg des Kandidaten 1 ausgewählt ist.
  • Schritt 8: Die Schritte 6 und 7 werden wiederholt durchgeführt, bis der mittlere Fehler kleiner wird als ein zulässiger Fehler.
  • Die Linear/Rotationsdifferentialeinheit 803 ermittelt unter Verwendung der Rotationsdifferentialgleichung Rotationsdifferentiale zwischen Keywerten, die kontinuierlichen Keys im Quaternionraum entsprechen.
  • Beim Lineardifferentialverfahren aus dem Stand der Technik wird ein lineares Differential zwischen einem Rotationstransformationsquaternion Q1 eines Objekts, das einem derzeitigen Key entspricht und einem Rotationstransformationsquaternion Q2 des Objekts, das dem nächsten Key entspricht, durch die folgenden Gleichungen 34 berechnet: Q1 = (q01, q11, q21, q31), Q2 = (q02, q12, q22, q32) QDPCM = (q01 – q02, q11 – q12, q21 – q22, q31 – q32) (34)
  • Daher kann das Verfahren, das nur die Differenzwerte zwischen Quaternionkomponenten berücksichtigt, keine Rotationsdifferentialwerte zeigen, die tatsächliche Rotationstransformation einbeziehen, so dass das Verfahren zu einer Abnahme der Redundanz von zu kodierenden Daten führt. Ebenso werden zum Reduzieren der Anzahl von zu kodierenden Bits, nur drei Komponenten ohne die Komponente mit dem höchsten Wert unter vier Quaternionkomponenten kodiert. Unter dem Aspekt der Datenrückgewinnung sollte bei diesem Lineardifferentialverfahren aus dem Stand der Technik Information von 2 Bit Länge zusätzlich vom Kodiergerät zum Dekodiergerät übertragen werden, um eine Komponente mit dem höchsten Wert in jedem Keywert anzugeben.
  • Deshalb setzt beim Kodieren von Daten unter Verwendung von Rotationstransformationsdifferentialen zwischen Keywerten und einem Orientierungsinterpolationsknoten, die Linear/Rotationsdifferentialeinheit 803 in der bevorzugten Ausführungsform der vorliegenden Erfindung ein Linear/Rotationsdifferentialverfahren ein, das sich vom Verfahren aus dem Stand der Technik unterscheidet. Das eingesetzte Verfahren wird nun ausführlich beschrieben.
  • Unter der Annahme, dass x → einen derzeitigen Positionsvektor des Objekts bezeichnet, bezeichnet (n →i-1 , θi-1) Keywerte (key_value) wenn ein Key key = ki-1 erfüllt und y →i-1 , bezeichnet einen Verschiebungsvektor von x → in Rotations- und Translationsbewegung des Objekts, wird eine Rotations- und Translationsbewegungsgleichung wie in der folgenden Gleichung 35 ausgedrückt: Yi-1 = Qi-1·X·Q*i-1 (35)hier sind X, Yi-1, und Qi-1 Quaternionausdrücke von x →, (n →i-1 , θi-1) und yy →i-1 . Gleichermaßen wird, wenn key = kj, die Rotations- und Translationsbewegungsgleichung in einem Quaternionraum wie in der folgenden Gleichung 36 ausgedrückt: Yi = Qi·X·Q*i (36)
  • Indessen wird aus Gleichung
    Figure 00300001
    und Gleichung Q'' = Q'·Q* eine Gleichung zum Ermitteln eines Rotationsdifferentialwerts wie in der folgenden Gleichung 37 abgeleitet: Yi = Qi·X·Q*1 = Qi·Qi-1·Yi-1·Qi-1·Q*i-1 = Q'i·Yi-1·Q'i* (37)
  • Daher ist eine Quaternionkonvertierrotationsdifferentialmatrixgleichung, die ein Rotationsdifferential darstellt, durch die folgende Gleichung 38 definiert: Q'i = Qi·Q*i-1 (38)
  • In der vorliegenden Ausführungsform werden zur Reduzierung der Anzahl an zu kodierenden Bits, nur drei Komponenten, außer der ersten Komponente von vier Komponenten, die einen Rotationsdifferentialwert bilden, kodiert. Deshalb stellt die Dekodiereinheit unter Verwendung der drei Komponenten die eine übrige Komponente wieder her. Das Dekodierverfahren wird nun ausführlich beschrieben. Alle Rotationsdifferentialwerte sind in Einheitsquaternionwerten dargestellt. Deshalb ist die Norm eines Quaternion, das ein Rotationsdifferential darstellt, immer 1. Auf dieser Grundlage wird die eine übrige Komponente unter Verwendung der folgenden Gleichung 39 wiederhergestellt:
  • Figure 00300002
  • In Gleichung 39 sind q ^1 , q ^2 und q ^3 die drei Komponenten der wiederhergestellten Rotationsdifferentialwerte, und q ^0 ist die erste unter Verwendung der drei Komponenten wiederhergestellte Komponente. In diesem Fall kann die Summe der Quadrate der drei Komponenten des wieder hergestellten Rotationsdifferentialwerts aufgrund eines Quantisierungsfehlers 1 übersteigen. Zu diesem Zeitpunkt kann der Wert q ^0 nicht unter Verwendung von Gleichung 39 wiederhergestellt werden. Dies bedeutet, dass q ^0 ein Wert sehr nahe an 0 ist und kleiner ist als eine Minimaleinheit, die durch die Quantisierungseinheit 805 quantisiert werden kann. Physikalisch bedeutet dies eine Rotationstransformation von ungefähr 180 Winkelgrad. Deshalb sollte die Dekodiereinheit ein Verfahren zum Bestimmen des Werts von q ^0 in diesem Fall aufweisen. Außerdem sollte der Einfluss des bestimmten Werts q ^0 auf die anderen drei Komponenten minimiert werden. Als Beispiel kann ein Minimaleinheitswert der Quantisierung oder sein proportionaler Multiplikationswert als der Wert von q ^0 bestimmt werden. Eine spezielle Gleichung zum Ermitteln des Werts ist die folgende Gleichung 40:
  • Figure 00310001
  • Hier bezeichnet α eine Proportionalitätskonstante und m bezeichnet die Anzahl an Quantisierungsbits. Dieses Verfahren hat den Vorteil, dass zusätzliche 2-Bit-Information, die in jedem aller Keywerte beim Lineardifferentialverfahren aus dem Stand der Technik gegeben wird, nicht an das Dekodiergerät gesendet werden muss. Wie in 13 gezeigt ist, kann die vorliegende Ausführungsform außerdem Syntax (b) von Syntax (a) aus dem Lineardifferentialverfahren vom Stand der Technik ableiten. Als Folge davon wird, wenn tatsächlich N Keywerte kodiert werden, die vorliegende Ausführungsform die Menge der erzeugten Bits an zusätzlicher Information um 2 N Bits gegenüber der Zahl an erzeugten Bis im Stand der Technik reduzieren.
  • 11 ist ein Referenzdiagramm zur Erläuterung eines Rotationsrichtungsfehlers beim Quaternionkodieren unter Verwendung eines Rotati onsdifferentials. Der Rotationsrichtungsfehler tritt auf, weil die Quaternionkodierung eine Art von Verlustkodierung ist.
  • Mit Bezug zu 11 kann unter der Annahme, dass Qi die Position des Objekts ausgehend von Rotationsinformation, die derzeit eingegeben ist, bezeichnet und Qi-1 die vorherige Position des Objekts bezeichnet, die Relation der beiden Positionen durch vier verschiedene Flächen ausgedrückt werden. Das heißt, wenn das Objekt sich von der Position Qi-1 zu Qi durch den kürzesten Bogen dreht und die Relation der beiden Positionen ist in Fläche 1 oder Fläche 3, dreht sich das Objekt entgegen dem Uhrzeigersinn von Qi-1 zu Qi. Ebenso dreht sich, wenn das Objekt sich von der Position Qi-1 zu Qi durch den kürzesten Bogen dreht und die Relation der beiden Positionen in Fläche 2 oder Fläche 4 ist, das Objekt mit dem Uhrzeigersinn von Qi-1 zu Qi.
  • Wenn sich das Objekt entsprechend der Rotationsinformation dreht, die kodiert und dann dekodiert wird, dreht die Dekodiereinheit das Objekt unter Verwendung von zwei Werten: Dekodierinformation Q ^i-1 , die ursprünglicher Rotationsinformation Qi-1 entspricht, und Q ^i entsprechend Qi. Wiederum mit Bezug zu 11, liegt die Position von Q ^i gegen Q ^i-1 in Fläche 2 und Fläche 3, dreht sich das Objekt entgegen dem Uhrzeigersinn und wenn die Position in Fläche 1 und Fläche 4 ist, dreht sich das Objekt im Uhrzeigersinn. Auf diese Weise bewirkt Drehen des Objekts unter Verwendung der ursprünglichen Rotationsinformation und Drehen des Objekts unter Verwendung der Dekodierrotationsinformation Rotation in entgegengesetzte Richtung in Fläche 1 und Fläche 2. Dies liegt daran, dass beim Quaternionkodieren, Verlustkodierung vorgenommen wird und deshalb Qi nicht gleich Q ^i ist. Dies tritt beim Verlustkodieren unweigerlich auf. Weil Fläche 1 und Fläche 2 wesentliche Flächen sind, ist ein Vorgang zum Minimieren der inversen Rotation oder zur Angleichung der Rotationsrichtung an die ursprüngliche Richtung notwendig. Bei der vorliegenden Ausführungsform wird der letztgenannte Vorgang eingesetzt.
  • Zur kurzen Erläuterung einer Rotationsrichtungskorrekturfunktion mit Bezug zu 11, werden Flächen 1 und 2 erfasst, wo ein Rotationsrichtungsfehler auftritt, wird der zu kodierende Differentialquaternionwert zwangsläufig so geregelt, dass die Rotationsrichtung gleich der ursprünglichen Rotationsrichtung ist. Obwohl die mangelnde Übereinstimmung der Rotationsrichtungen auch in Fläche 2 auftritt, sind in Fläche 2 im Gegensatz zu Fläche 1, der ursprüngliche Quaternionwert und der wiederhergestellte Quaternionwert konvergent. Deshalb wird die Rotationsrichtungskorrekturfunktion in Fläche 2 durchgeführt und nicht in Fläche 1.
  • 9 und 10 sind Blockdiagramme zur Erläuterung der Rotationsrichtungskorrekturfunktion des Kodiergeräts von 8.
  • Mit Bezug zu 9 erfassen eine Rotationsrichtungsfehlerberechnungseinheit 950 und eine Bestimmungseinheit 960 einen Fall in Fläche 1. Wie in 10 gezeigt ist, beinhaltet die Rotationsrichtungsfehlerberechnungseinheit 950 Quaternionrotationsdifferenzberechnungseinheiten 952, 953 und 954 zum Berechnen von drei Differentialrotationsquaternionwerten. Die drei erhaltenen Rotationsdifferentialwerte A, B und C sind wie folgt:
  • Rotationsdifferentialwert A: Qi(Qi-1)*
  • Hier gibt der Rotationsdifferentialwert A die Rotationsrichtung des Objekts im Zeitintervall [ti-1, ti] durch die ursprüngliche Rotationsinformation an.
  • Rotationsdifferentialwert B: Qi-1(Q ^i-1)*
  • Hier gibt der Rotationsdifferentialwert B den Rotationspositionsfehler und die Richtung des Objekts aufgrund eines Kodierfehlers zum Zeitpunkt ti-1 an.
  • Rotationsdifferentialwert C: Qi(Q ^i-1)*
  • Hier gibt der Rotationsdifferentialwert C die Richtung der Differentialquaternioninformation an, die zum Kodieren zum Zeitpunkt ti vorgesehen wird.
  • Die Bestimmungseinheit 960 bestimmt Fläche 1, wie in 11 erläutert, unter Verwendung von drei Rotationsdifferentialwerten A, B und C. Wenn es Fläche 1 ist, wählt die Bestimmungseinheit 980 eine Ausgabe von einer Rotationsrichtungssättigungseinheit 970 aus, um die Rotationsrichtung auf einen Sättigungswert zu setzen, so dass die Rotationsrichtung auf die ursprüngliche Rotationsrichtung korrigiert wird. Wenn es nicht Fläche 1 ist, wählt die Bestimmungseinheit 980 eine Ausgabe von der Quaternionrotationsdifferenzberechnungseinheit 940 aus, so dass die Rotationsrichtungskorrekturfunktion nicht ausgeführt wird, und gibt das ausgewählte Signal aus. Der Vorgang ist zu diesem Zeitpunkt der selbe wie im oben beschriebenen Fall, bei dem ein Differentialquaternionwert erhalten wird und zur Quantisierungseinheit 805 gegeben wird. Das Funktionsprinzip der Bestimmungseinheit 960 wird nun ausführlich beschrieben. Die Bestimmungseinheit 960 beinhaltet fünf logische Bestimmungseinheiten und gibt das Ergebnis der Durchführung eines UND-Vorgangs auf fünf logischen Werteausgaben aus. Fünf logische Vorgänge in der Bestimmungseinheit 960 sind wie folgt:
  • Logischer Ausdruck A:
    Figure 00350001
  • Wenn hier der Rotationsdifferentialwert A von 10 QA ist, und
    QA = (qA,0, qA,1, qA,2, qA,3)T
    dann gibt
    Figure 00350002
    einen 3-dimensionalen Vektor
    (qA,1, qA,2, qA,3)T
    an, der aus drei Elementen ohne das erste Element qA,0 von den vier Elementen gebildet ist.
  • Gleichermaßen gibt
    Figure 00350003
    einen 3-dimensionalen Vektor an, der aus drei Elementen ohne das erste Element im Rotationsdifferentialwert C von 10 gebildet ist.
    Figure 00360001
    gibt das innere Produkt von zwei 3-dimensionalen Vektoren an. Wenn das innere Produkt eine negative Zahl ist, wird der logische Wert A als "richtig" definiert und ansonsten wird er als "falsch" definiert.
  • Logischer Ausdruck B:
    Figure 00360002
  • Hier gibt
    Figure 00360003
    einen 3-dimensionalen Vektor
    (qB,1, qB,2, qB,3)T
    an, der aus drei Elementen ohne das erste Element im Rotationsdifferentialwert B von 10 gebildet ist.
    Figure 00360004
    gibt einen 3-dimensionalen Vektor an, der aus drei Elementen ohne das erste Element im Rotationsdifferentialwert C von 10 gebildet ist.
    Figure 00370001
    gibt das innere Produkt von zwei 3-dimensionalen Vektoren an. Wenn das innere Produkt eine negative Zahl ist, wird der logische Wert B als "richtig" definiert und ansonsten wird er als "falsch" definiert.
  • Logischer Ausdruck C: ATH < 2cos–1|qA,0|
  • Hier gibt qA,0 das erste Element im Rotationsdifferentialwert A von 10 an, wie er in den logischen Ausdrücken A und B beschrieben ist. Wenn das Ergebnis der Ausführung des logischen Ausdrucks C unter Verwendung des Absolutwerts von qA,0 größer ist als eine bestimmte Konstante ATH, wird der logische Wert C als "richtig" definiert und ansonsten wird er als "falsch" definiert. Zu diesem Zeitpunkt wird die Konstante ATH auf einen Wert nahe 0 gesetzt (zum Beispiel 0,02) und kann in Abhängigkeit von einem tatsächlichen Vorgang auf einen geeigneten Wert gesetzt werden.
  • Logischer Ausdruck D: ATH < 2cos–1|qB,0|
  • Hier gibt qB,0 das erste Element des Rotationsdifferentialwerts B von 10 an, wie er in den logischen Ausdrücken A und B beschrieben ist. Wenn das Ergebnis der Ausführung des logischen Ausdrucks D unter Verwendung des Absolutwerts von qB,0 größer ist als eine bestimmte Konstante ATH, wird der logische Wert D als "richtig" definiert und ansonsten wird er als "falsch" definiert. Zu diesem Zeitpunkt wird die Konstante ATH wie im logischen Ausdruck C gesetzt.
  • Logischer Ausdruck E: ATH < 2cos–1|qC,0|
  • Hier gibt qC,0 das erste Element im Rotationsdifferentialwert C von 10 an, wie er in den logischen Ausdrücken A und B beschrieben ist. Wenn das Ergebnis der Ausführung des logischen Ausdrucks E unter Verwendung des Absolutwerts von qC,0 größer ist als eine bestimmte Konstante ATH, wird der logische Wert E als "richtig" definiert und ansonsten wird er als "falsch" definiert. Zu diesem Zeitpunkt wird die Konstante ATH wie im logischen Ausdruck C gesetzt.
  • Wenn der UND-Vorgang für die fünf erhaltenen logischen Werte wie folgt durchgeführt wird, wird die Ausgabe der Bestimmungseinheit 960 von 9 erzeugt.
  • Ausgabe der Bestimmungseinheit 960: (logischer Ausdruck A) UND (logischer Ausdruck B) UND (logischer Ausdruck C) UND (logischer Ausdruck D) UND (logischer Ausdruck E)
  • Wenn der logische Wert "richtig" ist, empfängt die Auswahleinheit 980 die Ausgabe der Rotationsrichtungssättigungseinheit 970 und gibt das empfangene Signal aus. Wenn der logische Wert "falsch" ist, empfängt die Auswahleinheit 980 die Ausgabe der Quaternionrotationsdifferenzberechnungseinheit 940 und gibt das empfangene Signal aus.
  • Nun wird die Funktion der Rotationsrichtungssättigungseinheit 970 erläutert. Wiederum mit Bezug zu 11 ist im Falle der Fläche 1 Rotationspositionsinformation, die die Dekodiereinheit empfängt Qi Rotationspositionsinformation, die aktuell eingegeben wird Q ^i und deshalb dreht die Dekodiereinheit das Objekt im Uhrzeigersinn. Da jedoch entsprechend der ursprünglichen Rotationsrichtung das Objekt sich von Qi-1 zu Qi dreht, sollte das Objekt sich entgegen dem Uhrzeigersinn drehen. Deshalb lässt die Rotationsrichtungssättigungseinheit 970 das Objekt von Position Q ^i in eine Richtung gleich der ursprünglichen Richtung drehen, das heißt in eine Richtung zu einer Rotationsposition mit der größten Bewegung entgegen dem Uhrzeigersinn (die in 11 mit Q ^i markierte Position). Das heißt, die Rotationsrichtungssättigungseinheit 970 stellt neue Rotationsinformation ein, mit der das Objekt sich zu einer Position nahe an 180 Grad von Position (Q ^i dreht. Dementsprechend kann die Rotationsrichtung als die ursprüngliche Rotationsrichtung korrigiert werden und ein Rotationspositionsfehler kann minimiert werden. Die Funktion der Rotationsrichtungssättigungseinheit 970 ist wie in der folgenden Gleichung 41 ausgedrückt:
    Figure 00390001
    (qR,0, qR,1, qR,2, qR,3)T bezeichnet hier die Quaternionrotationsdifferenzberechnungseinheit 940 von 9 und δT ist eine Konstante nahe 0 (zum Beispiel 0,001) und ist in Bezug auf den Präzisionsgrad der Kodierung bestimmt.
  • Die Lineardifferentialeinheit 807 erhält das lineare Differential von aufeinanderfolgenden Quaternions von Keywerten. Das heißt, der von der Linear/Rotationsdifferentialeinheit 803 ausgegebene Wert wird in der Quantisierungseinheit 805 quantisiert und dann wird das lineare Differential des quantisierten Werts erhalten. Auf diese Weise nimmt die Redundanz auftretender Daten zu, wie in 12 gezeigt, und als Folge wird höhere Kodiereffizienz erreicht. Deshalb wird ein ähnlicher Effekt wie bei der tatsächlichen Durchführung einer Differenzierung zweiter Ordnung für Keywertdaten erhalten. Wie bei der Erläuterung der Richtungsregelung der Linear/Rotationsdifferentialeinheit 803 beschrieben, ist gemäß dem Differential zweiter Ordnung im Stand der Technik, die Kodierung eine verlustreichere Kodierung als das Kodierschema der vorliegenden Erfindung wie oben beschrieben. Wenn sich daher das Objekt unter Verwendung dekodierter Rotationsinformation dreht, tritt umgekehrte Rotation auf. Wenn Quantisierungsfehler zunehmen, treten umgekehrte Drehungen häufiger auf. Das heißt, das Differential zweiter Ordnung bewirkt eine Zunahme an Quantisierungsfehlern, während die in der vorliegenden Ausführungsform offenbarte lineare Differentialeinheit 807 lineare Differentiation am Quaternion von schon quantisierten Keywerten vornimmt und daher nimmt die Datenredundanz zu und verhindert, dass Quantisierungsfehler auftreten.
  • Die Entropiekodiereinheit 809 verbessert die Kodiereffizienz von Daten, die unter Verwendung des arithmetischen Kodierverfahrens 809 quantisiert werden, zum Eliminieren von Bitredundanz durch Berechnen der Frequenz der Symbolerzeugung ausgehend von Zustandswahrscheinlichkeiten. Dementsprechend nimmt die tatsächlich zu kodierende Datenmenge effektiv ab.
  • Ausgehend von der oben beschriebenen Struktur wird nun das Kodierverfahren gemäß einer zweiten bevorzugten Ausführungsform beschrieben.
  • Das Kodierverfahren gemäß der zweiten bevorzugten Ausführungsform beruht auf Lineardifferentiation (DPCM), das die Differenz zwischen einem zuvor wiederhergestellten Wert und einem derzeit zu kodierenden Wert als Key in Felddaten eines Orientierungsinterpolationsknoten verwendet. Während für die Keywertdaten Keyframes in einer zulässigen Fehlergrenze unter Verwendung von Ähnlichkeit der Rotationstransfor mation in einem Quaternionraum eliminiert werden, und differenzierte Werte unter Verwendung von Rotationsdifferentiation erhalten werden und dann die differenzierten Werte quantisiert, linear differenziert und arithmetisch kodiert werden. Auf diese Weise wird die Kodiereffizienz verbessert und sichtbare Qualitätsverzerrung des wiederhergestellten Ergebnisses objektiv gemessen. Das Verfahren wird nun Schritt für Schritt erläutert.
  • Schritt 1: Felddaten eines Orientierungsinterpolationsknotens, die kodiert werden sollen, werden empfangen und analysiert. Insbesondere werden VRML-Daten empfangen, der Orientierungsinterpolationsknoten wird analysiert und ein Key und Keywerte werden entsprechend aus dem analysierten Wert extrahiert, um Felddaten zu kodieren, die mit einem Key und Keywerten gebildet sind.
  • Schritt 2: Die Keyframeeliminierungseinheit 802 wählt aus den gesamten eingegebenen Keys und Keywerten innerhalb einer zulässigen Fehlergrenze einige eingegebene Keys und Keywerte aus.
  • Schritt 3: Die Linear/Rotationsdifferentialkonvertiereinheit 803 führt Lineardifferenzierung der eingegebenen Keydaten durch, so dass Redundanz bei diesen linear differenzierten Daten erzeugt wird und die Quantisierungseinheit 805 quantisiert die Daten.
  • Schritt 4: Die Linear/Rotationsdifferentialeinheit 803 führt Rotationsdifferentiation für die eingegebenen Keywertdaten durch.
  • Schritt 5: Zum Kompensieren von Quantisierungsfehlern von Keys und Keywerten, die zum nächsten Zeitpunkt eingegeben werden sollen, werden die differenzierten Werte der in der Quantisierungseinheit 805 in den Schritten 3 und 4 quantisierten Keys und Keywerte in der inversen Quantisierungseinheit 806 invers quantisiert, in der Verzögerungseinheit 819 verzögert und dann in der Linear/Rotationsintegrationseinheit 804 (oder Akkumulationseinheit) akkumuliert. Die akkumulierten Keys und Keywerte werden bei der Differentialverarbeitung eines am nächsten Zeitpunkt eingegebenen Keys und Keywerten verwendet. Für die Akkumulation in der Rotationseinheit 804 verwendete Gleichungen sind unten als Gleichungen 42 und 43 angegeben:
  • Figure 00420001
  • Hier bezeichnet K ~j einen invers quantisierten Differentialkey, der j-fach auftritt.
  • Figure 00420002
  • Hier bezeichnet Q ~j einen invers quantisierten Differentialkeywert, der j-fach auftritt.
  • Schritt 6: Der quantisierte Key wird in die Entropiekodiereinheit 809 eingegeben, arithmetisch kodiert und entsprechend dem Format der bereitzustellenden Dienste einer Stromverarbeitung unterzogen.
  • Schritt 7: Die quantisierten Keywerte werden in der Lineardifferentialeinheit 807 linear differenziert, in der Entropiekodiereinheit 809 arithmetisch kodiert und im Strom verarbeitet. Bei der Stromverarbeitung sollte berücksichtigt werden, wie die Struktur von Stromdaten entsprechend Formaten und Funktionen von Stromdiensten bestimmt werden. Das heißt, die in 6 gezeigte Datenstruktur (a) ist die einfachste für einen Fall, in dem Echtzeitcharakteristik von Diensten nicht berücksichtigt wird. In dieser Struktur tritt Verzögerung in der Dekodiereinheit für die selbe Zeitspanne auf wie in der Zeitspanne, in der ein Key wiederhergestellt wird. Verglichen mit der Datenstruktur (b), verursacht Datenstruktur (a) geringere Kodierkosten und höhere Dekodierkosten. Datenstruktur (b) kann Echtzeitcharakteristik erreichen und zusätzliche Funktionalität von Datendiensten. In Datenstruktur (b) ist Sichtbarmachung unmittelbar nachdem ein Key und entsprechende Keywerte wiederhergestellt sind, ermöglicht. Datenstruktur (b) ist fehlertolerant. Das heißt, obwohl aktuelle Daten einen Verlust aufweisen, kann der Verlust in gewissem Maß mit wiederhergestellten vorhergehenden Daten und nächsten Daten wiederhergestellt werden. Nur durch Einstellen der Kodierfolge eines Keys und der Keywerte in der Entropiekodiereinheit 809 können die Strukturen (a) und (b) von 6 gebildet werden.
  • Schritt 8: Binäre Information, die durch die binäre Felddatenausgabeeinheit 810 eingegeben ist, wird durch eine Inversion des Kodierprozesses ohne einen Schritt der Keyframeeliminierungseinheit 802 dekodiert. Durch Messen sichtbarer Verzerrung der dekodierten Daten in der Verzerrungsmesseinheit 818, wird die Leistung der Kodiereinheit bewertet. Die Dekodiereinheit dekodiert Daten im inversen Prozess des oben beschriebenen Kodierprozesses.
  • 20 ist ein Beispiel, in dem der Dekodierprozess gemäß der zweiten Ausführungsform in Bitstromsyntax ausgedrückt ist. Wenn der in 20 gezeigte Dekodierprozess beendet ist, empfängt die Verzerrungsmesseinheit 818 die Ausgabe der Felddateneingabeeinheit eines Orientierungsinterpolatorknotens 300 und die Ausgabe der Felddatenausgabeeinheit eines Orientierungsinterpolatorknotens 817 und misst sichtbare Verzerrung in einer objektiven Zahl unter Verwendung von Gleichung 30 oder 33. Die hier verwendeten Gleichungen 30 und 33 sind Gleichungen, die physikalische Charakteristiken der Rotationstransformation eines Objekts in einem Quaternionraum reflektieren und Messdaten ob jektiver und akkurater bereitstellen als die im Stand der Technik verwendete Gleichung 1.
  • Beim Kodieren von Felddaten eines Orientierungsinterpolatorknotens elimiert die vorliegende Ausführungsform, die das Kodierverfahren unter Verwendung der oben beschriebenen Schritte implementiert, Datenredundanz in einem Zeitbereich und Bitredundanz unter quantisierten Symbolen und verbessert die Datenübertragungseffizienz durch Reflektieren von physikalischen Charakteristiken der Rotationstransformation. 21 und 22 sind Schaubilder, die Verzerrungsraten (Rate-Distortion) des Animationskodierverfahrens aus dem Stand der Technik MPEG-4 BIFS und die der bevorzugten Ausführungsform der vorliegenden Erfindung zeigen. Mit Bezug zu den 21 und 22 erzeugt beim selben Fehler, das Kodierverfahren der vorliegenden Ausführungsform eine relativ sehr geringe Zahl von Bits.
  • Wie oben beschrieben eliminiert die vorliegende Erfindung beim Kodieren von Felddaten eines Orientierungsinterpolatorknotens Datenredundanz in einem Zeitbereich und Bitredundanz bei quantisierten Symbolen und verbessert Datenübertragungseffizienz durch Reflektieren physikalischer Charakteristiken einer Rotations- und Translationsbewegung und Eliminieren zusätzlichener Information für Elemente.

Claims (19)

  1. Kodiergerät für einen Orientierungsinterpolationsknoten, der Information über die Rotation eines Objekts in einem 3-dimensionalen Raum bereitstellt, wobei das Kodiergerät umfasst: eine Felddateneingabeeinheit mit einer Schlüsseleinheit (200, 800) zum Extrahieren von Felddaten, die derzeit kodiert werden sollen, durch Verschlüsseln des Orientierungsinterpolatorknotens, wobei die Felddaten Schlüsseldaten aufweisen, die Information über eine Position auf einer Zeitachse angibt, wo eine Veränderung von Rotations- und Translationsbewegung auftritt und Schlüsselwertdaten, die Schlüsseldaten aufweisen, die Rotationsinformation entsprechend der Positionsinformation angeben; eine Verarbeitungseinheit zum Konvertieren der Schlüsselwerte in ein Quaternion, dadurch gekennzeichnet, dass die Verarbeitungseinheit eine adaptive Differentialimpulskodemodulationsverarbeitungseinheit (ADPCM, adaptive differential pulse code modulation) (205, 210, 215, 801) ist, die geeignet ist zur ADPCM-Verarbeitung des Quaternions unter Verwendung von Rotationsdifferentiation, und zur Differentialimpulskodemodulationsverarbeitung (DPCM, differential pulse code modulation) der Schlüsseldaten; und eine Quantisierungseinheit (220, 805) zum Quantisieren der Schlüsseldaten und Schlüsselwertdaten und Ausgeben der quantisierten Daten.
  2. Kodiergerät für einen Orientierungsinterpolationsknoten nach Anspruch 1, worin die ADPCM-Verarbeitungseinheit umfasst: eine Quaternionkonvertiereinheit (205, 801) zum Konvertieren von Schlüsselwertdaten, die von der Felddateneingabeeinheit extrahiert sind, in ein Quaternion; eine DPCM-Einheit (210) zum Berechnen eines Differenzwerts zwischen einem zuvor wiederhergestellten Schlüssel und einem derzeit zu kodierenden Schlüssel für die in der Felddateneingabeeinheit extrahierten Schlüsseldaten; und eine Rotationsdifferentialkonvertiereinheit (215, 803) zum Erzeugen einer Rotationsdifferentialkonvertiermatrix, in der die in ein Quaternion konvertierten Schlüsselwertdaten durch einen kürzesten Rotationsbewegungsabstand des Objekts dargestellt sind, und wenn neue Schlüsselwertdaten ausgehend von der Rotationsdifferentialkonvertiermatrix erzeugt werden, Reflektieren der Erzeugung von Schlüsseldaten entsprechend den neuen Schlüsselwertdaten durch die DPCM-Einheit.
  3. Kodiergerät für einen Orientierungsinterpolationsknoten nach Anspruch 2, worin die Rotationsdifferentialkonvertiereinheit umfasst: eine Rotationsdifferentialkonvertiermatrixerzeugungseinheit (300) zum Ausbilden einer Rotationsdifferentialkonvertiermatrix, die ein Produkt von derzeit zu kodierenden Schlüsselwertdaten und komplex konjugierten Daten ist, die durch Akkumulieren von Rotationsdifferentialkonvertiermatrices erhalten sind, die zuvor wiederhergestellt sind; eine Elementeinstelleinheit (320) zum Redefinieren der Rotationsdifferentialkonvertiermatrix, so dass sie eine Bedingung erfüllt, dass der Wert eines ersten Elements eines Quaternions immer der größte bei allen Elementen des Quaternions ist, und Ausgeben der Rotationsdifferentialkonvertiermatrix; eine Verzögerungseinheit (340) zum Speichern einer Rotationsdifferentialkonvertiermatrix, die in Reaktion auf die Ausgabe von der Elementeinstelleinheit derzeit wiederhergestellt wird, und Bereitstellen einer Rotationsdifferentialkonvertiermatrix, die wiederhergestellt ist und zuvor gespeichert ist; und eine Akkumulationseinheit (335) zum sequentiellen Empfangen von Rotationsdifferentialkonvertiermatrices, die zuvor gespeichert sind, von der Verzögerungseinheit und Ausgeben von Daten, die durch Akkumulieren der Rotationsdifferentialkonvertiermatrices erhalten wurden, die zuvor wiederhergestellt sind.
  4. Kodiergerät für einen Orientierungsinterpolationsknoten nach Anspruch 3, worin die Elementeinstelleinheit (320) umfasst: eine Konditionseinheit (305) zum Bestimmen, ob der Wert des ersten Elements des Quaternions der größte bei allen Elementen der Rotationsdifferentialkonvertiermatrix ist oder nicht; und eine Schlüsselwerterzeugungseinheit (310) zum Erzeugen neuer Schlüsselwertdaten durch arbiträres Definieren einer Rotationsposition, die einen kürzesten Rotationsbewegungsabstand des Objekts aufweisen kann, wenn die Bestimmung der Konditionseinheit angibt, dass der Wert des ersten Elements nicht der größte ist, und Reflektieren der Erzeugung von Schlüsseldaten entsprechend den neuen Schlüsselwertdaten durch die DPCM-Einheit.
  5. Kodiergerät für einen Orientierungsinterpolationsknoten nach einem der vorhergehenden Ansprüche, ferner umfassend: eine Entropiekodiereinheit (225, 809) zum arithmetischen Kodieren quantisierter Schlüssel- und Schlüsselwertdaten.
  6. Kodiergerät für einen Orientierungsinterpolationsknoten nach Anspruch 5, ferner umfassend: eine Ausgabeeinheit (230, 810) zum Ausgeben der arithmetisch kodierten Daten als Datenstrom im Binärformat, worin in der Struktur der Stromdaten, Schlüsseldaten und Schlüsselwertdaten separat gebildet werden.
  7. Kodiergerät für einen Orientierungsinterpolationsknoten nach Anspruch 5, ferner umfassend: eine Ausgabeeinheit (230, 810) zum Ausgeben der arithmetisch kodierten Daten als Datenstrom im Binärformat, worin in der Struktur der Stromdaten, Schlüsseldaten und Schlüsselwertdaten sequentiell ein Einheitenpaar bilden.
  8. Kodiergerät für einen Orientierungsinterpolationsknoten nach einem der vorhergehenden Ansprüche, ferner umfassend: eine Verzerrungsmesseinheit (265, 818) zum Messen der Verzerrung der sichtbaren Qualität von wiederhergestellten Daten aus ursprünglicher Infor mation, wenn die Ausgabedaten wiederhergestellt sind, bevor in Bezug auf Rotationsdifferentialwerte kodiert wird.
  9. Verfahren zum kodieren für einen Orientierungsinterpolationsknoten, der Information zur Rotation eines Objekts in einem 3-dimensionalen Raum gibt, wobei das Kodierverfahren die Schritte umfasst: (a) Extrahieren (500) von zu kodierenden Felddaten, wobei die Felddaten Schlüsseldaten umfassen, die einen Schlüssel aufweisen, der Information zu einer Position auf einer Zeitachse angibt, wo eine Veränderung von Rotations- und Translationsbewegung auftritt und Schlüsselwertdaten, die Schlüsselwerte aufweisen, die Rotationsinformation entsprechend der Positionsinformation angeben, durch Verschlüsseln des Orientierungsinterpolationsknotens; (b) Konvertieren (510) der Schlüsselwertdaten in ein Quaternion, und dann adaptive Differentialimpulskodemodulationsverarbeitung (ADPCM) des Quaternions unter Verwendung einer Rotationsdifferentialkonvertiermatrix und Differentialimpulskodemodulationsverarbeitung (DPCM) der Schlüsseldaten; und (c) Quantisieren (520) der Schlüsseldaten und Schlüsselwertdaten und Ausgeben der quantisierten Daten.
  10. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 9, worin Schritt (b) (510) die Schritte umfasst: (b1) Konvertieren der in Schritt (a) extrahierten Schlüsselwertdaten in ein Quaternion; (b2) Bilden einer Rotationsdifferentialkonvertiermatrix, in der die in ein Quaternion konvertierten Schlüsselwertdaten durch einen kürzesten Rotationsbewegungsabstand des Objekts dargestellt sind; (b3) wenn neue Schlüsselwertdaten ausgehend von der Rotationsdifferentialkonvertiermatrix erzeugt werden, Erzeugen von Schlüsseldaten, die den neuen Schlüsselwertdaten entsprechen; und (b4) Berechnen eines Differenzwerts eines zuvor wiederhergestellten Schlüssels und eines derzeit zu kodierenden Schlüssels für die in Schritt (a) extrahierten Schlüsseldaten und in Schritt (b3) erzeugten Schlüsseldaten.
  11. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 10, worin in Schritt (b2) die Rotationsdifferentialkonvertiermatrix (Qi') durch die folgende Gleichung 6 definiert ist: Qi' = Qi·Q°i-1 (6)wo Qi Schlüsselwertdaten bezeichnet, die in ein Quaternion konvertiert sind und derzeit kodiert werden sollen, und Q°i-1 ein Konjugat von Daten bezeichnet, die durch Akkumulieren von Rotationsdifferentialkonvertiermatrices erhalten sind, die zuvor wiederhergestellt sind.
  12. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 10 oder 11, nach Schritt (b2) ferner umfassend die Schritte: (b2-1) Bestimmen, ob die Bedingung, dass der Wert des ersten Elements eines Quaternions immer der größte bei allen Elementen des Quaternions (=Rotationsdifferentialkonvertiermatrix) ist, erfüllt ist oder nicht; (b2-2) Redefinieren der Rotationsdifferentialkonvertiermatrix und Ausgeben der Rotationsdifferentialkonvertiermatrix zu Schritt (c), wenn die Bedingung nicht erfüllt ist; und (b2-3) Ausgeben der Rotationsdifferentialkonvertiermatrix ohne Veränderung, wenn die Bedingung erfüllt ist.
  13. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 12, worin in Schritt (b2-2), wenn die Bedingung nicht erfüllt ist, die Rotationsdifferentialkonvertiermatrix redefiniert wird durch Erzeugen neuer Schlüsselwertdaten unter Verwendung der folgenden Gleichung 7: |A| = |B| = |P| = 1 A·B = cosΩ
    Figure 00500001
    hier bezeichnet P neue Schlüsselwertdaten, B bezeichnet die ursprünglichen Schlüsselwertdaten, die derzeit kodiert werden sollen, A bezeichnet vorige Schlüsselwertdaten, Ω bezeichnet den Rotationswinkel zwischen A und B und θ bezeichnet den Rotationswinkel zwischen A und P.
  14. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 10, 11, 12 oder 13, worin in Schritt (b3) die neuen Schlüsseldaten unter Verwendung der folgenden Gleichung 9 gebildet werden: Ki = Ki-1 + (Ki – Ki-1)·θ/Ω (9)Hier bezeichnet Ki Schlüsseldaten, die derzeit kodiert werden sollen, Ki-1 bezeichnet vorige Schlüsseldaten, Ω bezeichnet den Rotationswinkel zwischen vorigen Schlüsselwertdaten und den ursprünglichen Schlüsselwertdaten, die derzeit kodiert werden sollen, und θ bezeichnet den Rotationswinkel zwischen vorigen Schlüsselwertdaten und den neuen Schlüsselwertdaten.
  15. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach einem der Ansprüche 9 bis 14, ferner umfassend den Schritt: (d) arithmetisches Kodieren (520) quantisierter Schlüssel- und Schlüsselwertdaten.
  16. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 15, ferner umfassend den Schritt: (e) Ausgeben (530) arithmetisch kodierter Daten als Datenstrom im Binärformat, worin in der Struktur der Stromdaten, Schlüsseldaten und Schlüsselwertdaten separat gebildet werden.
  17. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 15, ferner umfassend den Schritt: (e) Ausgeben (530) arithmetisch kodierter Daten als Datenstrom im Binärformat, worin in der Struktur der Stromdaten, Schlüsseldaten und Schlüsselwertdaten sequentiell ein Einheitenpaar bilden.
  18. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach einem der Ansprüche 9 bis 17, nach Schritt (c) ferner umfassend den Schritt: wenn Ausgabedaten wiederhergestellt werden, Messen der Verzerrung der sichtbaren Qualität wiederhergestellter Daten aus der ursprünglichen Information, bevor in Bezug auf Rotationsdifferentialwerte kodiert wird.
  19. Verfahren zum Kodieren für einen Orientierungsinterpolationsknoten nach Anspruch 18, worin RMS(Dm) eines Quantisierungsfehlers und der Maximalfehler (Dp), die die Grundlagen zum Messen der Verzerrung der sichtbaren Qualität sind, unter Verwendung der folgenden Gleichungen 15 oder Gleichungen 16 berechnet werden: θ'' = 2cos–1q0'' = 2cos–1(Q'•Q), θ'' ∊ [0, π], q0'' = Q'•Q(• gibt innere Produktoperation an)
    Figure 00510001
    hier bezeichnet Q Schlüsselwertdaten von Information vor dem Kodieren, deren Schlüsselwertdaten in ein Quaternion konvertiert werden, und Q' bezeichnet Schlüsselwertdaten kodierter Information, deren Schlüsselwertdaten in ein Quaternion konvertiert werden.
DE2001618491 2000-10-20 2001-10-19 Kodiergerät und Kodierverfahren für einen Orientierungsinterpolationsknoten Expired - Fee Related DE60118491T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR2000061985 2000-10-20
KR20000061985 2000-10-20
KR1020010040705A KR100590522B1 (ko) 2000-10-20 2001-07-07 오리엔테이션 보간 노드의 부호화 장치 및 방법
KR2001040705 2001-07-07

Publications (2)

Publication Number Publication Date
DE60118491D1 DE60118491D1 (de) 2006-05-18
DE60118491T2 true DE60118491T2 (de) 2007-05-03

Family

ID=36274084

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001618491 Expired - Fee Related DE60118491T2 (de) 2000-10-20 2001-10-19 Kodiergerät und Kodierverfahren für einen Orientierungsinterpolationsknoten

Country Status (8)

Country Link
US (1) US6834081B2 (de)
EP (1) EP1199894B1 (de)
JP (1) JP3521412B2 (de)
CN (1) CN1198462C (de)
CA (1) CA2359260C (de)
DE (1) DE60118491T2 (de)
ES (1) ES2261353T3 (de)
RU (1) RU2224290C2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7920143B1 (en) * 1997-03-27 2011-04-05 At&T Intellectual Property Ii, L.P. Method for defining animation parameters for an animation definition interface
JP2002163678A (ja) * 2000-09-13 2002-06-07 Monolith Co Ltd 擬似三次元画像生成方法および装置
EP2302929B1 (de) * 2001-11-27 2015-03-25 Samsung Electronics Co., Ltd. Kodierung und Dekodierung eines Bitstroms mit Koordinateninterpolator
US7430497B2 (en) * 2002-10-31 2008-09-30 Microsoft Corporation Statistical model for global localization
US7116840B2 (en) * 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
US7133563B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7502507B2 (en) * 2002-10-31 2009-03-10 Microsoft Corporation Active embedded interaction code
JP4037875B2 (ja) * 2005-02-24 2008-01-23 株式会社東芝 コンピュータグラフィックスデータ符号化装置、復号化装置、符号化方法、および、復号化方法
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
US7421439B2 (en) 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7400777B2 (en) 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7729539B2 (en) 2005-05-31 2010-06-01 Microsoft Corporation Fast error-correcting of embedded interaction codes
US7817816B2 (en) 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US9236063B2 (en) * 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
CN104092467A (zh) * 2014-07-09 2014-10-08 无锡梵天信息技术股份有限公司 一种利用双重四元数压缩矩阵的方法
US10560678B2 (en) * 2016-11-09 2020-02-11 Mediatek Inc. Method and apparatus having video encoding function with syntax element signaling of rotation information of content-oriented rotation applied to 360-degree image content or 360-degree video content represented in projection format and associated method and apparatus having video decoding function

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4797836A (en) * 1986-11-19 1989-01-10 The Grass Valley Group, Inc. Image orientation and animation using quaternions
US5511153A (en) * 1994-01-18 1996-04-23 Massachusetts Institute Of Technology Method and apparatus for three-dimensional, textured models from plural video images
CA2144253C (en) * 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
US6084908A (en) * 1995-10-25 2000-07-04 Sarnoff Corporation Apparatus and method for quadtree based variable block size motion estimation
US6097854A (en) * 1997-08-01 2000-08-01 Microsoft Corporation Image mosaic construction system and apparatus with patch-based alignment, global block adjustment and pair-wise motion-based local warping
US6577310B1 (en) * 1998-12-01 2003-06-10 Samsung Electronics Co., Ltd. 3D mesh coding/decoding method and apparatus for error resilience and incremental rendering
US6204854B1 (en) * 1998-12-04 2001-03-20 France Telecom Method and system for encoding rotations and normals in 3D generated scenes
US6559848B2 (en) * 2000-12-13 2003-05-06 Intel Corporation Coding and decoding three-dimensional data

Also Published As

Publication number Publication date
CA2359260A1 (en) 2002-04-20
EP1199894B1 (de) 2006-04-05
RU2224290C2 (ru) 2004-02-20
JP3521412B2 (ja) 2004-04-19
CA2359260C (en) 2004-07-20
CN1367618A (zh) 2002-09-04
JP2002232897A (ja) 2002-08-16
CN1198462C (zh) 2005-04-20
EP1199894A2 (de) 2002-04-24
EP1199894A3 (de) 2003-07-09
ES2261353T3 (es) 2006-11-16
US20020071488A1 (en) 2002-06-13
US6834081B2 (en) 2004-12-21
DE60118491D1 (de) 2006-05-18

Similar Documents

Publication Publication Date Title
DE60118491T2 (de) Kodiergerät und Kodierverfahren für einen Orientierungsinterpolationsknoten
DE69530908T2 (de) Verfahren und Vorrichtung zur Bildkodierung
DE4343211B4 (de) Adaptives Bildkompressionsverfahren und adaptive Bildkompressionsvorrichtung
DE69734831T2 (de) Adaptive steuerung der datenrate für digitale videokompression
DE69533870T2 (de) Vorrichtung zur Bilddekodierung
DE69813926T2 (de) Datenkompression für bewegte dreidimensionale Objekte
DE69535228T2 (de) Bildumsetzungsvorrichtung
DE69735679T2 (de) Verfahren zur Bilddecodierung
DE69637060T2 (de) Verfahren und Vorrichtung zur Kodierung eines Videosignales von einer Objektkontur
DE69736852T2 (de) Codierung- und Decodierungssystem für bewegte Bilder mit beliebig geformten Objekten
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE3036769C1 (de) Vorrichtung und Verfahren zum Codieren eines Videosignals
CN102186085B (zh) 视频处理方法、设备和系统
DE60219548T2 (de) Verfahren und Vorrichtung zur Kodierung der Verformunginformation eines 3D Objektes
EP0201679A1 (de) Verfahren zur Bilddatenreduktion für digitale Fernsehsignale
DE69837497T2 (de) Verfahren und vorrichtung zum kodieren eines videosignals
DE69737443T2 (de) Verfahren für skalierbares zwischenkonturverschlüsseln und vorrichtung dafür
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
EP0227956A1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung
DE60022018T2 (de) Verfahren und vorichtung zur bewegungsvektorfeldkodierung
DE60113358T2 (de) Kodierer, Dekodierer und entsprechende Verfahren für Orientierungsinterpolationsknotendaten
DE60309039T2 (de) Verfahren und vorrichtung zur optimierung der bildschärfe während der kodierung
DE10204617A1 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
DE60126895T2 (de) Verfahren und Vorrichtung zur Datenkompression
DE69636273T2 (de) Bewegtbildcodiervorrichtung, Bewegtbilddecodiervorrichtung und Bewegtbildcodier-/-Decodiervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee