DE60113358T2 - Kodierer, Dekodierer und entsprechende Verfahren für Orientierungsinterpolationsknotendaten - Google Patents

Kodierer, Dekodierer und entsprechende Verfahren für Orientierungsinterpolationsknotendaten Download PDF

Info

Publication number
DE60113358T2
DE60113358T2 DE2001613358 DE60113358T DE60113358T2 DE 60113358 T2 DE60113358 T2 DE 60113358T2 DE 2001613358 DE2001613358 DE 2001613358 DE 60113358 T DE60113358 T DE 60113358T DE 60113358 T2 DE60113358 T2 DE 60113358T2
Authority
DE
Germany
Prior art keywords
value
quaternion
unit
rotation
differential
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
DE2001613358
Other languages
English (en)
Other versions
DE60113358D1 (de
Inventor
Sung-jin Suwon-city Kim
Do-kyoon Seongnam-city Kim
Seok-Yoon Jung
Sang-Oak 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 KR1020010040706A external-priority patent/KR100612828B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE60113358D1 publication Critical patent/DE60113358D1/de
Application granted granted Critical
Publication of DE60113358T2 publication Critical patent/DE60113358T2/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/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction

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)
  • Studio Circuits (AREA)
  • Processing Or Creating Images (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Kodier/Dekodiergerät und Verfahren für einen Orientierungsinterpolationsknoten.
  • Das MPEG-4 Binärformat für Szenen (BIFS, binary format for scenes) unterstützt eine Schlüsselbildanimationstechnik (key-frame animation technique), die Interpolatorknotendaten gebildet aus Felddaten verwendet, in denen Animationsinformation in einem Schlüssel und Schlüsselwerten ausgedrückt ist. Das Schlüsselbild entspricht einer Szene, die eine Basis in der Computeranimation ist. Beim Schlüsselbildanimationsverfahren ist, damit sich eine glatte Animation ergibt, stückweise lineare Interpolation bei einer großen Menge an Schlüsseln und Schlüsselwertdaten notwendig. Aufgrund dieses Merkmals verbessert MPEG-4 BIFS die Datenübertragungseffizienz durch Quantisierung von Felddaten in jedem Interpolatorknoten und dann Komprimieren der Daten.
  • Ein Interpolationsverfahren unter Verwendung von Information zur Rotation eines Objekts drückt Rotationsbewegung 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 Rotationswinkel wie oben beschrieben ausgedrückt werden.
  • Da Datensätze mit Linearinterpolationscharakteristiken hohe Korrelation zwischen aufeinanderfolgenden Datensätzen aufweisen, ist es effizient, ein Differentialkodierverfahren mit Differentialwerten zwischen aufeinanderfolgenden Datensätzen zu verwenden. Bei MPEG-4 BIFS werden zwei repräsentative Verfahren zum Kodieren von Felddaten verwendet, die durch einen Schlüssel und Schlüsselwerte eines Orientierungsinter polatorknotens dargestellt sind und verarbeitet werden sollen: ein Verfahren das keine Differentialimpulskodemodulation (DPCM, differential pulse code modulation) verwendet und ein Verfahren das die DPCM verwendet.
  • Zunächst wird im Verfahren, das die DPCM nicht verwendet, nur Quantisierung bezüglich der Schlüssel und Schlüsselwerte der zu kodierenden Daten durchgeführt. Weil die Charakteristiken der zu kodierenden Daten nicht berücksichtigt werden, ist das Verfahren ineffizient. Das Verfahren, das die DCPM nicht verwendet, wird nun kurz erläutert. Die Felddaten eines Orientierungsinterpolatorknotens werden aufgebracht und die Schlüsselwerte der Felddaten werden in Werte in einem Quaternionraum konvertiert. Danach werden die Schlüssel und Schlüsselwerte quantifiziert. Danach werden die quantifizierten binären Daten durch inverse Quantifizierung wieder zu Felddaten gemacht und jeder wiederhergestellte Quaternionwert wird auf ein Schlüsselwertformat abgebildet, das aus Rotationsachsen und einem Rotationswinkel gebildet ist. Danach werden die wiederhergestellten Felddaten des Orientierungsknotens gespeichert. Ebenso werden unter Verwendung der wiederhergestellten Daten die sichtbare Verzerrung eines Quantifizierungsfehlers gemessen. Die Verzerrung kann durch die folgende Gleichung 1 bemessen werden:
    Figure 00020001
    wo N die Anzahl der Felddaten darstellt, εi die Differenz zwischen einem Wert (Qi), der kodiert werden soll, und einem wiederhergestellten Wert (Q ~i) darstellt.
  • Danach berücksichtigt das Verfahren mit DCPM die Korrelation zwischen aufeinanderfolgenden Daten und kann daher die Kodiereffizienz stärker verbessern als das Verfahren, das kein DCPM verwendet. Die Unterschiede zwischen den beiden Verfahren werden nun kurz erläutert. Beim Verfahren mit DCPM wird der Differenzwert zwischen zuvor wiederhergestellten Schlüsselwerten und einem zu kodierenden Wert vor der Quantifizierung berechnet, und der Differenzwert wird quantifiziert. Auf diese Weise verbessern die bei dieser Differenzierung erhaltenen 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 Wert (Qi), der kodiert werden soll, und einem wiederhergestellten Wert (Q ~i-1) unter Verwendung eines Subtraktors 102. Der berechnete Differenzwert wird in einer Quantifizierungseinheit 120 quantifiziert. Der quantifizierte Wert (Êi) wird zu einer Bestimmung gesendet und einer inversen Quantifizierungseinheit 140, durch die quantifizierte Wert (Êi) invers quantifiziert wird (Ěi).
  • Im Orientierungsinterpolator, der zwischen aufeinanderfolgenden Schlüsselwerten durch sphärische Linearinterpolation interpoliert, kann das in 1 gezeigte DPCM-Verfahren jedoch keine hohe Effizienz aufweisen. Dies wird erkennbar, wenn Schlüsselwerte, die die Rotationsposition eines Objekts bestimmen, in einem Quaternionraum analysiert werden.
  • Ein Schlüsselwert (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 Glei chungen 2 zeigt Gleichung (aa) wie der Orientierungsinterpolator einen Schlüsselwert ausdrückt und Gleichung (bb) ist eine Gleichung zum Konvertieren des Schlüsselwertes in ein Quaternion.
  • Figure 00040001
  • Wie in Gleichung (bb) gezeigt ist, sind die beiden Quaternions gleich, wenn Rotationsachsenvektoren und Rotationswinkel der beiden Quaternions die selben Absolutwerte aufweisen und entgegengesetzte Vorzeichen im Quaternionraum. Das bedeutet, dass in physikalischer Hinsicht, die beiden Rotationsbewegungen gleich sind und Faktoren, die eine Rotationsbewegung beeinflussen, sind die Rotationsachsenrichtung und der Rotationswinkel und nicht die Rotationsachsenvektoren. Deshalb gibt der Quaternionausdruck, der die Rotationsbewegung eines Objekts darstellt, erfolgreich die Rotationsachsenrichtung und den Rotationswinkel an, die Faktoren zum Beeinflussen der Rotationsbewegung sind.
  • Indessen berücksichtigt das DPCM-Verfahren von 1, bei dem Gleichung (aa) zum Berechnen des Zeitdifferentialwerts zwischen Schlüsselwerten, die Rotationstransformationen angeben, die Differenz zwischen Rotationsachsenvektoren und zeigt daher keine Korrelation von Veränderungen der Rotationsachsenrichtungen in Bezug auf Zeitveränderungen und die Kodiereffizienz ist geringer.
  • Da indessen Datensätze mit Linearinterpolationscharakteristiken eine hohe Korrelation zwischen aufeinanderfolgenden Daten aufweisen, kann ein prädiktives Kodierverfahren verwendet werden. Beim prädiktiven Kodierverfahren wird aktuelle Dateneingabe ausgehend von benachbarter Information vorhergesagt, die zuvor kodiert und dekodiert wurde. Dann wird die derzeit zu kodierende Information durch Erhalten des Differentialwerts zwischen dem Vorhersagewert und dem Eingabewert kodiert, das heißt, ein Vorhersagefehler.
  • Für das DPCM-Verfahren aus dem Stand der Technik wird nun eine Differentialquaternionberechnung erläutert. Zunächst wird ein Differentialrotationswert zwischen einem zuvor wiederhergestellten Wert und einem derzeit zu kodierenden Wert berechnet. Der berechnete Differentialrotationswert wird quantifiziert und dann mit variabler Länge kodiert. Gleichzeitig wird der quantifizierte Differentialrotationswert invers quantifiziert und mit dem zuvor wiederhergestellten Wert in einer Quaternionmultiplikation multipliziert. Auf diese Weise wird ein wiederhergestellter Wert erhalten, der dem Wert entspricht, der derzeit kodiert wird und verwendet wird, wenn ein nächstes Eingabesignal kodiert wird. Verfahren zum Erhalten eines Differentialquaternions umfassen ein Verfahren, bei dem ein Differentialquaternion durch eine Subtraktion zwischen Faktoren von Quaternions erhalten werden, deren jedes aus vier Elementen gebildet ist, und ein Verfahren, bei dem eine Rotationsdifferenz zwischen zwei Quaternions erhalten und als Differentialwert verwendet wird. Zunächst verwendet das Verfahren, bei dem ein Differentialwert durch eine Subtraktion erhalten wird, die folgende Gleichung: Q ~ = Q – Q ^ = (q0 – q ^0,q1 – q ^1,q2 – q ^2,q3 – q ^3)T
  • Nach diesem Verfahren wird jedoch die Charakteristik eines Quaternionwerts, das heißt die physikalische Bedeutung, die durch eine Rotationsbewegung angegeben ist, nicht gezeigt, so kann ein Rotationspositionsfehler auftreten, der hauptsächlich durch einen Kodierfehler bedingt ist, der beim Kodieren auftritt. Um dieses Problem zu lösen, kann eine Rotationsdifferenz als Differentialquaternionwert verwendet werden. In diesem Fall wird unter der Annahme, dass ein Stromeingabewert Q = (q0, q1, q2, q3)T ist und ein zuvor wiederhergestellter Wert Q ^ = (q ^0, q ^1, q ^2, q ^3)T ist ein Differentialquaternionwert nach der folgenden Gleichung erhalten: Q ~ = Q(Q ^)*
  • Daher kann beim Durchführen der Orientierungsinterpolatorknotenkodierung, wenn höhere Korrelation zwischen aufeinanderfolgenden Quaternionwerten berücksichtigt wird, das Verfahren, bei dem Quantifizierung und Kodierung in variabler Länge durchgeführt werden, nachdem ein Differentialquaternionwert erhalten wurde, der Eingaberotationsinformation entspricht, unter Verwendung eines zuvor wiederhergestellten Wertes, die Verteilung von Differentialquaternionwerten verdichten, wenn ein Wert durch ein geeignetes Vorhersageverfahren vorhergesagt werden kann. Deshalb verbessert dieses Verfahren die Informationskompressionseffizienz durch Verbessern der Effizienz der Quantifizierung und variabler Längenkodierung.
  • US 4,797,836 beschreibt ein System, das Orientierungen eines Objekts zur Darstellung zwischen Schlüsselbildern unter Verwendung eines sphärischen Linearalgorithmus von Bezier zwischen einem Paar Schlüsselbildquaternions und einem Zeitkoeffizienten interpoliert.
  • FR 2,786,590 beschreibt ein fehlerresistentes 3D-Kodierschema und insbesondere ein Schema zum Teilen eines 3D-Objekts in eine oder mehrere Komponenten, wobei ein Dreiecksbaum und ein Vertexgraph erzeugt werden und der Vertexgraph und der Dreiecksbaum rekonstruiert werden.
  • US 5,742,289 beschreibt ein System zum Synthetisieren eines komprimierten Videobitstroms. Es werden Vorhersagefehlerwerte für jede einer Anzahl von Regionen berechnet und der Kodiertyp für aufeinanderfolgende Bildrahmen beruht auf entsprechenden Vorhersagefehlerwerten.
  • Gemäß der Erfindung wird ein Kodiergerät für Orientierungsinterpolatorknotendaten mit Felddaten zur Verfügung gestellt, das Rotationsinformation eines Objekts in einem 3-dimensionalen Raum bereitstellt, wobei das Kodiergerät umfasst:
    eine Quaternionkonversionseinheit (620) zum Konvertieren von Schlüsselwerten eines Postens von Felddaten in eine Quaternionrauminformation, wobei der Posten Feldaten einen Schlüssel aufweist, der Information zum Spezifizieren eines Zeitpunkts, wenn eine Änderung der Rotationsbewegung auftritt und Schlüsselwerten, die Rotationsinformation angibt, die dem Zeitpunkt entspricht; eine Differentialquaternionberechnungseinheit (700) zum Erzeugen eines Differentialwertes zwischen dem Quaternionwert und einem Vorhersagequaternionwert; eine Quantifizierungseinheit (810), die so angeordnet ist, dass sie die Differentialwertausgabe von der Differentialquaternionberechnungseinheit quantifiziert; eine variable Längenkodiereinheit (820), die so angeordnet ist, dass sie die quantifizierte Differentialwertausgabe von der Quantifizierungseinheit mit variabler Länge kodiert; eine Inversquantifizierungseinheit (910), die so angeordnet ist, dass sie den quantifizierten Differentialwert invers quantifiziert; eine Quaternionmultiplikationseinheit (920), die so angeordnet ist, dass sie den Differentialwert von der inversen Quantifizierungseinheit mit einem früheren Differentialwert multipliziert, um einen Quaternionwert zu erhalten; eine Verzögerungseinheit (930), die so angeordnet ist, dass sie den Quaternionwert verzögert; und eine Vorhersageeinheit (1000), die so angeordnet ist, dass sie den Vorhersagequaternionwert ausgehend vom verzögerten Quaternionwert vorhersagt und die Erzeugung des Vorhersagequaternionwertes unter Verwendung eines Vorhersageordnungsstellwertes (β) steuert.
  • Ferner wird gemäß der Erfindung ein Verfahren gemäß Anspruch 5 zur Verfügung gestellt.
  • Ausführungsformen der vorliegenden Erfindung stellen ein Kodier/Dekodiergerät und ein Verfahren für einen Orientierungsinterpolatorknoten zur Verfügung, bei dem durch Kodieren der Felddaten eines Orientierungsinterpolatorknotens durch einen adaptiven DPCM-Prozess unter Verwendung eines Differentialrotationswertes Datenredundanz in der Zeitdomäne eliminiert wird, Bitredundanz zwischen Symbolen, die durch zusätzliche arithmetische Kodierung quantifiziert werden, wird eliminiert und zusätzliche Information für Elemente wird eliminiert, wobei die physikalischen Eigenschaften einer Rotations- oder Translationsbewegung in einem Quaternionraum reflektiert wird, so dass die Effizienz der Datentransmission verbessert wird und der Grad der Bildqualitätsverzerrung objektiver gemessen wird.
  • Die vorliegende Erfindung kann ferner ein Kodier/Dekodiergerät und ein Verfahren für einen Orientierungsinterpolatorknoten zur Verfügung stellen, bei dem durch Erhalten eines Differentialquaternionwertes unter Verwendung eines verbesserten Vorhersageverfahrens, die Verteilung verdichtet wird und die Effizienz der Kompressionsverarbeitung verbessert wird.
  • Die vorliegende Erfindung kann auch ein Kodier/Dekodiergerät und ein Verfahren zum Korrigieren einer Rotation in einer umgekehrten Richtung der ursprünglichen Rotationsinformation zur Verfügung stellen, weil Verzerrung der ursprünglichen Rotationsinformation durch einen Kodier fehler, der in allen Kodierprozessen unausweichlich auftritt, einschließlich einer prädiktiven Kodierung, wenn ein Objekt ausgehend von dekodierter Rotationsinformation auf einer Erfassungsseite gedreht wird.
  • Die obigen Ziele und Vorteile der vorliegenden Erfindung werden besser ersichtlich durch eine ausführliche Beschreibung bevorzugter Ausführungsformen mit Bezug zu den begleitenden Zeichnungen, in denen:
  • 1 ein Blockdiagramm zur Erläuterung 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 Kodier/Dekodiergerät und ein Verfahren, die die Effizienz der Datentransmission durch Reduzieren der Redundanz von Schlüsselwerten unter Verwendung eines Quaterniondarstellungsverfahrens und Datencharakteristiken eines Orientierungsinterpolatorknotens zur Bereitstellung von Rotationsinformation eines Objekts verbessern können. Ebenso wird ein Fehlermessverfahren zur Verfügung gestellt, das den Grad der sichtbaren Verzerrung objektiv messen kann, der durch einen Fehler bedingt ist, der beim Komprimieren von Daten auftritt.
  • 2 ist ein schematisches Blockdiagramm eines Kodier/Dekodiergeräts eines Orientierungsinterpolatorknotens gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Das Kodier/Dekodiergerät gemäß der vorliegenden Erfindung weist eine Felddateneingabeeinheit eines Orientierungsinterpolatorknotens 200 auf, eine adaptive DPCM-Verarbeitungseinheit für Felddaten, eine Quantifizierungseinheit 220, eine Ausgabeeinheit 230 für komprimierte binäre Felddaten und zusätzlich eine Entropiekodiereinheit 225. Hier weist die adaptive DPCM-Verarbeitungseinheit eine Quaternionraumkonvertiereinheit 205 auf, eine DPCM-Einheit 210 und eine Differentialrotationsdatenkonvertiereinheit 215. Das Kodiergerät weist auch eine Dekodiereinheit auf, um das Dekodierergebnis der Ausgabedaten auf einem Empfänger zu prüfen und den Grad der sichtbaren Verzerrung eines Gesamtverarbeitungsfehlers zu messen. Die Dekodiereinheit weist eine Entropiedekodiereinheit 235 auf, eine inverse Quantifizierungseinheit 240, eine inverse DPCM-Einheit 245, eine inverse Differentialrotationsdatenkonvertiereinheit 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 bevorzugten Ausführungsform der vorliegenden Erfindung. Mit Bezug zu den 2 und 5 wird nun die Funktion des Kodiergeräts der vorliegenden Erfindung erläutert.
  • Zunächst werden Felddaten eines zu kodierenden Orientierungsinterpolatorknotens in Schritt 500 in 5 aufgegeben. Insbesondere analysiert die Felddateneingabeeinheit 200 einen Orientierungsinterpolatorknoten auf VRML-Eingabedaten und extrahiert Felddaten, die mit einem Schlüssel und Schlüsselwerten gebildet sind. Der Schlüssel gibt Information zu einer Position in einer Zeitdomäne an, in der eine Veränderung einer Rotations- und Translationsbewegung erfolgt. Die Schlüsselwerte geben Rotationsinformation an.
  • Danach werden Schlüsselwertdaten in eine Quaternionform konvertiert und dann wird adaptive DPCM-Verarbeitung (ADPCM) gemäß einer Differentialrotationsdatenkonvertierungsgleichung durchgeführt. Und DPCM-Verarbeitung von Schlüsseldaten wird in Schritt 510 in 5 durchgeführt. Insbesondere wird Redundanz bei aufeinanderfolgenden Daten von Schlüsselwertdaten (KVi, 0 ≤ i ≤ N – 1), die in der Felddateneingabeeinheit 200 extrahiert sind, eliminiert und die Präzision der Datendarstellung wird eingestellt. Insbesondere werden in der vorliegenden Erfindung Schlüsselwertdaten vor der ADPCM-Verarbeitung zur Quaternionkonvertiereinheit 205 geschickt. Die Quaternionkonvertiereinheit 205 konvertiert Schlüsselwertdaten, das heißt, Rotationsinformation in eine Quaternionform, die durch eine reale Zahl (einen Rotationswinkel) und drei imaginäre Zahlen (Rotationsachsen) dargestellt sind. Danach berechnet die Differentialrotationsdatenkonvertiereinheit 215 Differentialrotationsdaten zwischen dem aktuellen Schlüsselwert und dem vorhergehenden Schlüsselwert, der von der Quaternionkonverfiereinheit 205 eingegeben ist.
  • Bei der DPCM der Schlüsselwertdaten aus dem Stand der Technik wird beim Berechnen einer Rotationsbewegung von einer aktuellen Position p eines Objekts zu einer Position q des Objekts nach einer Rotationsbewegung, der Wert der Rotationsbewegung durch den Differenzwert zwischen jedem Element definiert, der durch Rotationsachsen und einem Rotationswinkel gebildet ist. Wenn nur der Differenzwert als dieses betrachtet wird, wird die Redundanz der zu kodierenden Daten gesenkt, und physikalische Eigenschaften der Bewegung des Objekts können nicht ausgedrückt werden. Deshalb ist es schwierig, sichtbare Effekte bei einem Kodierfehler zu messen. Ebenso werden vom Aspekt der Datenwiederherstellung zum Ausdrücken eines Elements mit dem größten Wert in jeder Komponente des Schlüsselwerts, 2 Informationsbits zusätzlich von einem Kodiergerät zu einem Dekodiergerät übertragen, wie es in 7a gezeigt ist.
  • Deshalb wird bei der vorliegenden Erfindung zum Kodieren einer Rotationsbewegung zwischen aufeinanderfolgenden Schlüsselwerten von Orientierungsinterpolatorknoten, ein Verarbeitungsverfahren durch die Dif ferentialrotationsdatenkonvertiereinheit 215 implementiert, das sich von der DPCM aus dem Stand der Technik unterscheidet. Aufgrund der Tatsache, dass die Rotation eines Objekts in einem Quaternionraum mit einer Kombination von Rotationsachsen und einem Rotationswinkel gebildet wird, wird die Differentialrotationsdatenkonvertiereinheit 215 zum Beispiel wie in 3 gezeigt, konstruiert, so dass die Rotationsbewegung in Bezug auf einen realen Rotationsbewegungspfad auch durch eine Differentialrotationsdatenkonvertiergleichung unter Verwendung von Rotationsachsen und einem Rotationswinkel definiert werden kann.
  • Das Prinzip der Differentialrotationsdatenkonvertiergleichung, die in der Differentialrotationsdatenkonvertiereinheit 215 verwendet wird, wird nun erläutert.
  • Unter der Annahme, dass x den aktuellen Positionsvektor eines Objekts bezeichnet, bezeichnet (n i-1, θi-1) Schlüsselwerte beim Schlüssel key = ki-1 und y i-1 bezeichnet einen Verschiebungsvektor 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)
  • Wo X, Qi-1 und Yi-1 Quaternionausdrücke von x, (n i-1, θi-1) bzw. y i-1 sind.
  • Gleichermaßen wird, wenn key = ki die Rotationsbewegungsgleichung in einem Quaternionraum wie in der folgenden Gleichung 4 ausgedrückt: Yi = Qi·X·Q*i (4)
  • Aus den Gleichungen 3 und 4 wird eine Gleichung zum Erhalt eines Differentialrotationswerts abgeleitet, wie in der folgenden Gleichung 5: Yi = Qi·X·Q*i = Qi·Qi-1·Yi-1·Qi-1·Qi = Q'i·Yi-1·Q'*i (5)
  • Deshalb wird eine Quaterniondifferentialrotationsdatenkonvertiergleichung, die Differentialrotationsdaten darstellt, definiert, wie in der folgenden Gleichung 6: Q'i = Qi·Q*i-1 (6)
  • Mit Bezug zu 3 weist ausgehend von diesen Gleichungen, die Differentialrotationsdatenkonvertiereinheit 215 eine Differentialrotationsdatenberechnungseinheit 300 auf, eine Elementeinstelleinheit 320, eine Akkumulationseinheit 335 und eine Verzögerungseinheit 340. Die Differentialrotationsdatenberechnungseinheit 300 empfängt Schlüsselwertdaten, die in eine Quaternionform konvertiert werden und derzeit kodiert werden, und definiert Differentialrotationsdaten, die derzeit wie in Gleichung 6 kodiert werden. Die Elementeinstelleinheit 320 definiert die zu kodierenden Differentialrotationsdaten erneut, so dass ein Zustand erfüllt ist, dass bei den Differentialrotationsdaten (das heißt, Rotationswinkel und Rotationsachsen), die aus vier Elementen gebildet sind (v[0], v[1], v[2], v[4]), der Wert eines ersten Elements (v[0] = cos (θ/2, hier bezeichnet θ einen Rotationswinkel) immer größer ist als irgendein Wert der übrigen drei Elemente. In Reaktion auf die Ausgabe der Differentialrotationsdatenkonvertiereinheit 215 speichert die Verzögerungseinheit 340 Differentialrotationsdaten, die wiederhergestellt werden und ergibt Differentialrotationsdaten, die zuvor wiederhergestellt sind. Die Akkumulationseinheit 335 akkumuliert Differentialrotationsdaten, die zuvor wiederhergestellt sind, durch sequentielles Empfangen früherer Differentialrotationsdaten aus der Verzögerungseinheit 340 und gibt das Ergebnis an die Differentialrotationsdatenkonvertiereinheit 300 aus.
  • Die Elementeinstelleinheit 320 verwendet das in 4 gezeigte Prinzip, so dass eine Bedingung erfüllt ist, dass unter den vier Elementen (v[0], v[1], v[2], v[3]), die Rotationsinformation bilden, der Wert des ersten Elements immer größer ist als irgendein Wert der übrigen drei Elemente. Das heißt, wenn ein Objekt sich von Position A zu Position B bewegt und sich Ω Grad in 4 dreht, wenn das erste Element unter den Elementen von Differentialrotationsdaten dieser Rotationsbewegung nicht die oben genannte Bedingung erfüllt, wird ein Verfahren zur erneuten Definition von Differentialrotationsdaten verwendet, das Verfahren, bei dem Position P (0 < θ < Ω), die erhalten wird, wenn das Objekt sich θ Grad entlang einem kürzesten Bewegungsweg dreht, willkürlich so definiert, dass die oben genannte Bedingung erfüllt ist.
  • Hier wird ein Verfahren zum Vergleich der Größen der Differenz von zwei Quaternions verwendet als Verfahren zum Auswählen eines kürzesten Bewegungsweges, der bei einer Rotationsbewegung des Objekts auftritt. Zum Beispiel enthält Rotationsbewegungsinformation auf zwei Bögen, durch die Quaternion A einer Ausgangsposition sich bewegt und zu Quaternion B der Position nach einer Rotationsbewegung dreht, Quaternion B und Quaternion –B. Zu diesem Zeitpunkt wird ein Quaternion, das den kleinsten Wert zwischen der Größendifferenz von Quaternion A zu Quaternion B und der Größendifferenz von Quaternion A zu Quaternion –B aufweist, als eines ausgewählt (im Beispiel B), das den kürzesten Bewegungsweg aufweist. Deshalb ist eine Gleichung von Differentialrotationsdaten, die diesen kürzesten Bewegungsweg erfüllen, wie in der folgenden Gleichung 7 definiert:
  • Figure 00140001
  • Außerdem wird, wenn die Position von Punkt P als eine Position definiert ist, die in der Mitte der Positionen A und B liegt (θ = Ω/2), eine Gleichung von Differentialrotationsdaten wie in der folgenden Gleichung 8 abgeleitet:
  • Figure 00150001
  • Wenn daher die erste Komponente (q0) des Quaternion Q(q0, q1, q2, q3), das von der Differentialrotationsdatenkonvertiereinheit 300 zur Bedingung 305 eingegeben ist, nicht die größte unter den vier Komponenten ist, definiert die Schlüsselwerterzeugungseinheit 310 in der Elementeinstelleinheit 320 neue Schlüsselwerte aus dem vorherigen Schlüsselwert und dem aktuellen Schlüsselwert, das heißt, Rotationsinformation, so dass das erste Element die Bedingung 305 von Gleichung 8 erfüllt. Zu diesem Zeitpunkt wird die zusätzlich definierte Rotationsinformation in einem Puffer 315 gespeichert und gleichzeitig an die Differentialrotationsdatenkonvertiereinheit 300 ausgegeben. Der Puffer 315 speichert Schlüsselwertdaten, die aktuell kodiert werden sollen. Der Puffer 315 speichert sequentiell Schlüsselwertdaten, die in der Schlüsselwerterzeugungseinheit 310 erzeugt sind und stellt aktuelle und vorherige Rotationsinformation bereit. Ebenso stellt der Puffer 315 θ, Ω und einen entsprechenden Schlüsselwertindex an die DPCM-Einheit 210 bereit, um einen Schlüssel entsprechend der Erzeugung von Schlüsselwerten durch θ zu erzeugen. Eine Schlüsselerzeugungsgleichung in der DPCM-Einheit 210 ist wie in der folgenden Gleichung 9: Ki = Ki-1 + (Ki – Ki-1)·θ/Ω (9)
  • Schlüsseldaten (ki, 0 ≤ i ≤ N – 1), die in der Felddateneingabeeinheit 200 extrahiert werden, werden auf die DPCM-Einheit 210 aufgegeben. Die DPCM-Einheit 210 erzeugt einen zusätzlichen Schlüssel auch durch die Differentialrotationsdatenkonvertiereinheit 215. Die DPCM-Einheit 210 gibt erste Schlüsseldaten (k0) ohne Veränderung aus und gibt die übrigen Schlüsseldaten durch Berechnen des Differenzwertes (dki) zwischen dem Schlüssel (ki-1), der zuvor zurückgewonnen wurde und dem Schlüssel (ki), der aktuell kodiert werden soll, aus. Die DPCM-Einheit 210 eliminiert Redundanz zwischen aufeinanderfolgenden Daten und stellt Präzision der Datendarstellung ein, so dass ein Kompressionsprozess vorgenommen wird.
  • Wie oben beschrieben wird durch Einstellen eines ersten Elementwerts eines Quaternion in der Elementeinstelleinheit 320, so dass der erste Elementwert den größten Wert aufweist, zusätzliche 2-Bitinformation, das heißt Information, die angibt, welches Element das größte von den vier Elementen ist, von nur den initialen Schlüsselwerten zum Dekodiergerät übertragen. Im Stand der Technik wird zusätzliche 2-Bitinformation über alle Schlüsselwerte zum Dekodiergerät übertragen. Deshalb kann die in 7a gezeigte Syntax aus dem Stand der Technik in eine verbesserte Syntax gemäß der vorliegenden Erfindung verändert werden, die in 7b gezeigt ist. Wenn dementsprechend N Schlüsselwertdaten aktuell kodiert werden, werden im Vergleich zu den im Stand der Technik erzeugten Bits, aufgrund zusätzlicher Information in der vorliegenden Erfindung erzeugte Bits um 2(N – 1) Bits reduziert.
  • Wiederum mit Bezug zu 5 werden nach Schritt 510 Schlüssel und Schlüsselwertdaten, die in ADPCM verarbeitet sind, in Schritt 520 quantifiziert. Um Bitredundanz in quantifizierten Werten zu eliminieren, werden quantifizierte Schlüssel und Schlüsselwertdaten arithmetisch kodiert und als Stromdaten im binären Format ausgegeben in Schritt 530.
  • Ein wichtiger Faktor beim effektiven Reduzieren der Datenmenge, die tatsächlich kodiert werden soll, ist Eliminierung von Bitredundanz. Das heißt, quantifizierte Bits weisen Redundanz auf und bekannte Verfahren zur Eliminierung dieser Redundanz beinhalten ein variables Längenkodierverfahren (VLC, variable length coding) und ein Huffman-Kodierverfahren unter Verwendung eines Symbolmusters. Bei der vorliegenden Erfindung wird ein arithmetisches Kodierverfahren verwendet, bei dem Bitredundanz durch Berechnen der Symbolfrequenz unter Verwendung konditionaler Wahrscheinlichkeiten eliminiert wird. Die Entropiekodiereinheit 225 von 2 führt dieses Verfahren aus und die Binärdatenausgabeeinheit 230 zum Ausgeben komprimierter binären Datenausgaben gibt kodierte Daten als Binärformatstromdaten aus.
  • Hier wird die Architektur der Struktur der Stromdaten in Bezug auf Typen und Funktionen von Strombildungsdiensten als dieser Strombildungsschritt betrachtet. 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 Struktur aufweist. In dieser Struktur tritt Verzögerung für die selbe Zeitspanne auf wie die Zeitspanne, in der Schlüsseldaten wiederhergestellt werden. Verglichen mit der Struktur von 6b weist die Struktur von 6a höhere Verarbeitungskosten des Kodiergeräts auf und geringere Verarbeitungskosten des Dekodiergeräts. Die Struktur von 6b ergibt die Echtzeitcharakteristik und zusätzliche Funktionalität von Datendiensten. In dieser Struktur wird Sichtbarmachung unmittelbar nachdem Schlüssel und entsprechende Schlüsselwerte wiederhergestellt sind, ermöglicht. Ebenso ist Fehlerresistenz eine wichtige Funktionalität. Das heißt, obwohl derzeitige Daten einen Verlust aufweisen, kann der Verlust in gewissem Maß wiederhergestellt werden mit vorhergehenden Daten und folgenden Daten zur Wiederherstellung. Zur Bereitstellung der in den 6a und 6b gezeigten Datenstrukturen, werden zu kodierende Daten in der Folge 200205215210220225 von 2 kodiert. In der Einheit 225 wird eine arithmetische Kodierung bei Schlüsseln und Schlüsselwerten durchgeführt. Gemäß der Datenstruktur der 6a und 6b unterscheiden sich die zu kodierenden Schlüssel und Schlüsselwerte.
  • Wiederum mit Bezug zu 5 werden nach Schritt 530 die kodierten Ausgabedaten in einem umgekehrten Prozess zum oben beschriebenen Kodierprozess wiederhergestellt. In Bezug auf das Wiederherstellungsergebnis wird die sichtbare Verzerrung zur Bewertung der Leistung des Kodier/Dekodiergeräts in Schritt 540 gemessen. Wenn kodierte Ausgabedaten wiederhergestellt sind, misst die Verzerrungsmesseinheit 265 die sichtbare Qualität in Bezug auf die ursprüngliche Information vor dem Kodieren. Hierfür ist die Dekodiereinheit wie in 235 bis 260 von 2 ausgebildet und der in der Dekodiereinheit durchgeführte Prozess ist der inverse Kodierprozess.
  • Die Leistung des Kodier/Dekodiergeräts wird durch einen charakteristischen Wert gemessen, das heißt, sichtbare Qualität. Bei Kodierverfahren aus dem Stand der Technik wird zum Messen der Leistung eines Kodier/Dekodiergeräts ein charakteristischer Wert zum Beispiel unter Verwendung von Gleichung 1 verwendet. Bei diesem Verfahren wird jedoch ein Quantisierungsfehler für jedes Element der Rotation berechnet, so dass die Charakteristiken eines Quaternionraums nicht gezeigt werden können und sichtbare Verzerrung einer echten Rotationsbewegung nicht objektiv ausgedrückt werden kann. Deshalb weist das Kodiergerät gemäß der vorliegenden Erfindung zusätzlich eine verbesserte Verzerrungsmesseinheit 265 auf, die die Charakteristiken eines Quaternionraums erfüllt und in der Lage ist, sichtbare Verzerrung objektiv zu messen. Die Verzerrungsmesseinheit 265 misst Kodierfehler, wobei alle Punkte auf der Oberfläche eines Objekts als alle Punkte auf einer Einheitskugelfläche betrachtet werden. Das Grundprinzip der Messung wird nun erläutert.
  • Ein Kodierfehler ist als ein Differenzwert von zwei Rotationstransformationen definiert. Das heißt, unter der Annahme, dass (r, θ) Schlüsselwerte eines Orientierungsinterpolatorknotens bezeichnen und (r', θ') Schlüsselwerte bezeichnet, die durch Wiederherstellen der Schlüsselwerte durch die Dekodiereinheit erhalten sind (r bezeichnet eine Rotationsachse, θ bezeichnet einen Rotationswinkel und der Rotationswinkel erfüllt θε[–π, π]), x ist ein arbiträrer Positionsvektor auf einer Einheitskugelfläche und erfüllt S = {x| ||x|| = 1}. Wenn eine Rotationstransformation von x zu y und y' durch (r, θ') und (r', θ') durchgeführt wird, wird ein auftretender Kodierfehler als Differenz zwischen y und y' berechnet. Ein Kodierfehlervektor e(x) erfüllt e(x) = yy'. Wenn Kodierfehlervektoren e(x) aller Punkte auf einer Einheitskugelfläche unter Verwendung dieser Gleichung berechnet werden, werden RMS-Fehler (Dm) für die gesamte Kugelfläche berechnet und ein Maximalfehler (Dp) wird durch die folgenden Gleichungen 10 berechnet:
  • Figure 00190001
  • Indessen kann die Beziehung zwischen y und y' in einer Rotationstransformationsgleichung wie der folgenden Gleichung 11 ausgedrückt werden: y' = Tr',θ'(y) (11)
  • Ein aus diesen Gleichungen abgeleiteter Kodierfehlervektor ist wie in den folgenden Gleichungen 12 definiert ||e(x)|| = 2cosφsinθ''/2 (12)wo x = (1,ϕ,φ), ϕ = Azimuthwinkel, ϕε[–π, π],
    φ = Längenwinkel, φε[–π/2, π/2]
  • RMS-Fehler (Dm) und Maximalfehler (Dp), die gemäß Gleichungen 10 und 12 neu abgeleitet sind, sind wie in der folgenden Gleichung 13 definiert:
  • Figure 00200001
  • Indessen sind x, y und y' in einem Quaternionraum definiert als:
  • Figure 00210001
  • Wenn (r, θ) und (r', θ'), die eine Rotationstransformation darstellen, in einem Quaternionraum ausgedrückt und als Q bzw. 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'' ist ein Wert zur Angabe der Rotationstransformationbeziehung zwischen y und y' und ist wie in der folgenden Gleichung 14 definiert Q'' = Q'·Q* (14)
  • Deshalb sind unter Verwendung der Gleichungen 13 und 14, RMS-Fehler (Dm) eines Kodierfehlers für die gesamte Einheitskugelfläche und der Maximalfehler (DP) wie in den folgenden Gleichungen 15 oder Gleichungen 16 definiert:
  • Figure 00210002
  • Figure 00220001
  • Gleichungen 15 und 16 geben physikalische Charakteristiken der Rotationsbewegung eines Objekts eines Quaternionraums an und ergibt daher Messwerte objektiver an als Gleichung 1. Deshalb ist bei der vorliegenden Erfindung die Verzerrungsmesseinheit 265 so ausgebildet, dass die Gleichung 15 oder 16 verwendet wird. Dementsprechend ist die vorliegende Erfindung dadurch gekennzeichnet, dass sie sichtbare Verzerrung aufgrund eines Kodierfehlers korrekt messen kann und objektiver als Verfahren aus dem Stand der Technik.
  • 8 ist ein schematisches Blockdiagramm eines Kodier/Dekodiergeräts für einen Orientierungsinterpolatorknoten gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Mit Bezug zu 8 weist das Kodier/Dekodiergerät eine Quaternionkonvertiereinheit 620, eine Schlüsselbildeliminierungseinheit 650, eine Differentialquaternionberechnungseinheit 700 und eine Quantisiereinheit 810 auf.
  • Die Quaternionkonvertiereinheit 620 konvertiert Schlüsselwerte von Eingabefelddaten in Quaternionrauminformation. Die Schlüsselbildeliminierungseinheit 650 entfernt einen Schlüsselrahmen in einem zulässigen Fehlerlimit, wobei Ähnlichkeit in Rotationstransformationsdaten verwendet wird. Die Differentialquaternionberechnungseinheit 700 erzeugt ei nen DPCM-Wert durch Erhalt eines Differentialrotationsquaternionwerts. Die Quantisiereinheit 810 quantisiert den Differentialwert.
  • Außerdem weist das Kodiergerät ferner eine Vorhersageeinheit 1000 auf, die derzeit eingegebene Daten unter Verwendung von zuvor wiederhergestellten Daten vorhersagt. Die Vorhersageeinheit 1000 reduziert den Differentialwert, so dass die Effizienz der Informationskompression durch die Quantisiereinheit 810 und die variable Längenkodiereinheit 820 verbessert werden. Insbesondere kann die Vorhersageeinheit 1000 der vorliegenden Ausführungsform die Vorhersageordnung verändern und Vorhersageleistung durch Verwendung des Vorhersagesteuerwertes β einstellen.
  • Ebenso weist das Kodiergerät ferner eine Rotationsrichtungskorrektureinheit auf, die eine Rotationsrichtungskorrekturfunktion für die Vorhersageeinheit 1000 und die Differentialquaternionberechnungseinheit 700 hinzufügt, so dass ein Rotationsrichtungsfehler, der aufgrund eines Kodierfehlers auftritt, eliminiert wird. Diese Funktion wird später erläutert.
  • Das Kodier/Dekodiergerät gemäß der vorliegenden Ausführungsform führt Informationskompression durch Verarbeiten von Eingaberotationsinformation in einem Quaternionraum durch. Insbesondere wird eingegebene Rotationsinformation durch einen 4-dimensionalen Vektor wie in der folgenden Gleichung 17 ausgedrückt: Rotationsinformation = (xi, yi, zi, θi)T (17)
  • Wo der Index i die i-te Eingabe angibt, (xi, yi, zi)T einen Rotationsachsenvektor angibt, wenn ein Objekt gedreht wird und θi einen Winkel angibt, um den das Objekt entgegen dem Uhrzeigersinn um die Rotationsachse gedreht wird. Das hochgestellte Zeichen T bezeichnet Transposition zum Ausdrücken eines Zeilenvektors als Spaltenvektor. Vor dem Kodie ren konvertiert die Quaternionkonvertiereinheit 620 Rotationsinformation, die in einer rechtwinkligen Koordinatenform ausgedrückt ist, in ein Quaternionformat. Das Prinzip der Konvertierung einer Rotationsinformation in einem rechtwinkligen Koordinatensystem in ein Quaternionkoordinatensystem ist wie in der folgenden Gleichung 18:
  • Figure 00240001
  • Es sind jedoch um Daten, die in Gleichung 18 ausgedrückt sind, tatsächlich zu konvertieren, einige zusätzliche Verarbeitungsschritte erforderlich.
  • 9 ist ein Blockdiagramm zur Erläuterung eines Beispiels einer Quaternionkonvertiereinheit 620.
  • Mit Bezug zu 9 weist die Quaternionkonvertiereinheit 620 eine Rotationswinkelnormalierungseinheit 621 auf, eine Rotationsachsenvektornormalisierungseinheit 622, eine Quaternionraumkonvertiereinheit 623 und eine Quaternionnormalisierungseinheit 624.
  • Die Rotationswinkelnormalierungseinheit 621 normalisiert einen Rotationswinkel von Eingabeschlüsselwertinformation und die Rotationsachsenvektornormalisierungseinheit 622 normalisiert einen Rotationsachsenvektor. Dies soll im Voraus einen Fehler eliminieren, der in Eingabeinformation enthalten sein kann. Insbesondere normalisiert die Rotationswinkelnormalierungseinheit 621 Rotationswinkelinformation, die nach der folgenden Gleichung 19 eingegeben ist: θ = θmod[-π,π] (19)
  • Das heißt, der Rotationswinkelnormalisierungsprozess konvertiert Rotationswinkelinformation in einen Wert zwischen [–π, π]. Auf diese Weise bleibt die Rotationswinkelinformation erhalten, während der nachfolgende Verarbeitungsprozess vereinfacht ist.
  • Die Rotationsachsenvektornormalisierungseinheit 622 verarbeitet nach der folgenden Gleichung 20:
  • Figure 00250001
  • Das heißt, der Rotationsvektornormalisierungsprozess soll einen Rotationsachsenvektor zum Einheitsvektor machen. Die Rotationsinformation, deren Rotationswinkel und Rotationsachsenvektor wie oben beschrieben normalisiert ist, wird durch Gleichung 18 in einen Quaternionraum konvertiert. Dann wird konvertierte Quaternioninformation durch die Quaternionnormalisierungseinheit 624 als Quaternionwert mit Einheitsgröße ausgedrückt. Die Funktion der Quaternionnormalisierungseinheit folgt der Gleichung 21:
  • Figure 00250002
  • Danach erhält die Differentialquaternionberechnungseinheit 700 einen Differentialquaternionwert zwischen Eingaberotationsinformation, die in einem Quaternionwert ausgedrückt ist, und einem Quaternionwert, der zuvor kodiert und dekodiert wurde. Die Gleichung zum Erhalt eines Differentialquaternionwertes ist Q ~ = Q – Q ^ = (q0 – q ^0,q1 – q ^1,q2 – q ^2,q3 – q ^3)T oder Q ~ = Q(Q ^)*wie oben beschrieben. In der vorliegenden Ausführungsform wird die letztgenannte Gleichung verwendet, um einen Differentialquaternionwert zu erhalten.
  • Wiederum mit Bezug zu 8 quantisiert die Quantifiziereinheit 810 den Differentialquaternionwert und die variable Längenkodiereinheit 820 führt variable Längenkodierung des quantisierten Werts durch. In der vorliegenden Erfindung verwendet die variable Längenkodiereinheit 820 eine adaptive arithmetische Kodiereinrichtung, die allgemein verwendet wird.
  • Die Inversquantifizierungseinheit 910 führt inverse Quantifizierung des quantifizierten Differentialquaternionwerts durch. Der invers quantisierte Wert wird verwendet, um einen dekodierten Wert zu erzeugen, der zum Kodieren eines nächsten Eingabequaternionwertes verwendet wird. Durch Quaternionmultiplikation der Ausgabe der Quaternionmultiplikationseinheit 920 mit der Ausgabe der Inversquantifizierungseinheit 910 und dann Verzögern des Ergebnisses der Quaternionmultiplikation in der Verzögerungseinheit 930, wird der dekodierte Wert erhalten.
  • Die Funktion der Quaternionmultiplikationseinheit 920 wird wie in der folgenden Gleichung 22 ausgedrückt:
  • Figure 00260001
  • Figure 00270001
  • Hier bezeichnet Q ^i-1 einen zuvor dekodierten Wert, der der Quaternionmultiplikationseinheit 920 durch die Verzögerungseinheit 930 zugeführt wird, und
    Figure 00270002
    ist der Ausgabewert der Inversquantifizierungseinheit 910, der der Quaternionmultiplikationseinheit 920 zugeführt wird. Die Ausgabe der Quaternionmultiplikationseinheit 920 ist ein dekodierter Quaternionwert. Hier kann der dekodierte Quaternionwert als Rotationsinformationswert, der dekodiert ist, ausgegeben werden.
  • Die Vorhersageeinheit 1000 verbessert die Kodiereffizienz. Das heißt, in dem Prozess, in dem die Differentialquaternionberechnungseinheit 700 die Ausgabe der Verzögerungseinheit 930 empfängt und ein Differentialquaternion erhält, verdichtet die Vorhersageeinheit 1000 die Verteilung von Differentialquaternionwerten, so dass die Kompressionseffizienz von Information in der Quantisierungseinheit 810 und der variablen Längenkodiereinheit 820 verbessert wird. Ebenso stellt die Vorhersageeinheit der vorliegenden Ausführungsform eine Funktion zur Steuerung der Vorhersageordnung zur Verfügung.
  • 10 ist ein detailliertes Blockdiagramm der Vorhersageeinheit 1000.
  • Mit Bezug zu 10 erzeugt die Vorhersageeinheit 1000 bei Empfang der Vorhersagenordnung β einen Vorhersagewert wie in der folgenden Gleichung: Q ^'i = {Q ^i-1(Q ^'i-2)*}Q ^i-1 (23)
  • Das heißt, ein durch Drehen eines Objekts vom zuvor dekodierten Wert Q^Q^i-1 zu {Q ^i-1(Q ^'i-2)*} erhaltener Wert wird als prädiktiver Wert für einen Quaternionwert verwendet, der aktuell eingegeben wird.
  • Ebenso steuert die Vorhersageeinheit 1000 die Vorhersageordnung durch den folgenden Prozess. Beim Steuern der Vorhersageordnung läuft ein Signal, das Vorhersageordnung angibt, durch eine Rotationsverstärkungssteuereinheit 1040. Ein aus einer Verzögerungseinheit 1030, einer Quaternionrotationsdifferenzberechnungseinheit 1020 und der Rotationsverstärkungssteuereinheit 1040 gebildeter Block führt den Vorgang der Gleichung 23 aus und ein Quaternionmultiplier 1050 gibt das Ergebnis des Vorgangs durch den Block aus.
  • Zu diesem Zeitpunkt wird, wenn eine Vorhersageordnung β aufgegeben wird, der Vorgang der Rotationsverstärkungssteuereinheit 1040 durchgeführt und der Verstärkungsteuervorgang wird wie in der folgenden Gleichung 24 ausgedrückt:
    Figure 00280001
    Hier gilt, wenn β = 1, Qp = (q0, q1, q2, q3)T und wenn β = 0, Qp = (1, 0, 0, 0)T
  • Wenn daher β = 0, gibt die Quaternionmultiplikationseinheit 1050 die Ausgabe der Verzögerungseinheit 930 unverändert aus, so dass die Ausgabe der Vorhersageeinheit 1000 von 10 die selbe ist wie die Ausgabe der Verzögerungseinheit 930. Wenn β = 1, ist der Vorgang der Quaternionmultiplikationseinheit 1050 die Multiplikation der Ausgabe der Verzögerungseinheit 930 mit der Ausgabe der Quaternionrotationsdifferenzberechnungseinheit 1020, so dass die Ausgabe der Vorhersageeinheit 1000 die selbe ist wie der Vorhersagewert von Gleichung 23. Hierbei kann bei Verwendung der Vorhersageordnung β von β = 0 bis β = 1 der Ausgabewert der Vorhersageeinheit 1000 kontinuierlich verändert werden. In der Folge weist die durch die vorliegende Ausführungsform bereitgestellte Vorhersageeinheit 1000 die Vorhersageordnungssteuerfunktion auf und deshalb weist das Kodiergerät für einen Orientierungsinterpolatorknoten gemäß der vorliegenden Erfindung die Vorhersageordnungssteuerfunktion auf.
  • Die Schlüsselbildentfernungseinheit 650 entfernt Schlüsselbilder in einem zulässigen Fehlerlimit, wobei Ähnlichkeit in der Rotationstransformation in Bezug auf kontinuierliche Zeitveränderungen verwendet wird. Die Schlüsselbildentfernungseinheit 650 führt relativ hohe Bitquantisierung für jedes Schlüsselbild durch, während sie Schlüsselbilder in der Folge geringeren Einflusses auf die Beeinträchtigung der sichtbaren Qualität eliminiert. Deshalb erzeugt die Schlüsselbildentfernungseinheit 650 ähnliche Daten wie im Stand der Technik, während sie eine bessere Qualität einhält.
  • 16 bis 21 sind Referenzdiagramme zur Erläuterung des Prozesses zur Eliminierung eines Schlüsselbilds durch eine Schlüsselbildentfernungseinheit 650.
  • Schritt 1: mit Bezug zu 16 gibt ein schwarzer Punkt Schlüsselwerte (= Q0, Q1, Q2, ... Qn) jedes Schlüsselbildes in Bezug auf n + 1 Zeitpunkte auf dem ursprünglichen Animationsweg an.
  • Schritt 2: wie in 17 gezeigt werden zwei Schlüsselbilder (= Q0, Qn) entsprechend zwei Enden des Animationsweges zwischen Schlüsselbildern auf dem Animationsweg zuerst ausgewählt. Die ausgewählten Punkte sind als weiße Punkte gezeigt.
  • Schritt 3: wie in 18 gezeigt wird ein Schlüsselbild von den Schlüsselbildern außer den beiden ausgewählten Endschlüsselbildern ausgewählt. Zu diesem Zeitpunkt beträgt die Anzahl der Verfahren zum Aus wählen eines Schlüsselbildes (n – 1). 18 zeigt ein Beispiel, in dem zwei Kandidaten ausgewählt sind und durch unterbrochene Linien markiert sind. Danach wird unter Verwendung von insgesamt drei ausgewählten Schlüsselbildern (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 Vergleichen des ursprünglichen Animationsweges und der interpolierten (n – 1) Wege wird ein Animationsweg ausgewählt, der den geringsten Wegefehler aufweist, und ein neues Schlüsselbild wird aus dem ausgewählten Animationsweg ausgewählt. Der Fehler zwischen Wegen wird unter Verwendung eines oben beschriebenen Fehlermittelwerts Em erhalten.
  • Schritt 5: 19 zeigt ein Beispiel, in dem der Weg des Kandidaten 2 ausgewählt ist.
  • Schritt 6: wie in 20 gezeigt wird ein Schlüsselbild unter den Schlüsselbildern, außer den drei ausgewählten Schlüsselbildern, ausgewählt. Dann werden die Schritte 3 und 4 durchgeführt.
  • Schritt 7: 21 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 Fehlermittelwert kleiner wird als ein zulässiger Fehler.
  • Nun wird ein Prozess zum Erhalt des Fehlermittelwerts Em beschrieben. Ein Kodierfehler ist als Differentialrotationswinkel in einer Differentialrotationstransformation einer ursprünglichen Rotationsinformation und einer wiederhergestellten Rotationsinformation definiert. Das heißt, unter der Annahme, dass (r, θ) Schlüsselwerte eines Orientierungsinterpolatorknotens bezeichnen und (r', θ') Schlüsselwerte bezeichnen, die durch Wiederherstellen der Schlüsselwerte durch die Dekodiereinheit erhalten sind (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 dreidimensionalen Raum mit (r, θ) und (r', θ') durchgeführt wird, ein auftretender Kodierfehler als Differenz zwischen y und y' berechnet. Dies ergibt die Beziehung e(x) = yy' eines Kodierfehlervektors e(x). In Quaternionexpression sind X, Y und Y' durch die folgenden Gleichungen 25 definiert:
  • Figure 00310001
  • Wenn (r, θ) und (r', θ'), die eine Rotationsinformation darstellen, in einem Quaternionraum ausgedrückt und als Q bzw. Q' bezeichnet werden, können die folgenden Gleichungen 26 abgeleitet werden: Y = Q·X·Q* X = Q*·Y·Q (26)
  • Hier gibt A·B Quaternionmultiplikation an und A' bezeichnet das Konjugat von A. Deshalb wird die folgende Gleichung 27 abgeleitet: Y' =Q'·X·Q'* = Q'·Q*·Y·Q·Q'* = Q''·Y·Q''* (27)
  • Hier ist Q'' ein Wert zur Angabe der Rotationstransformationbeziehung zwischen y und y' und ist wie in der folgenden Gleichung 28 definiert: Q'' = Q'·Q* (28)
  • Wenn daher θ'' einen Differentialrotationswinkel zwischen y und y' bezeichnet, kann θ'' unter Verwendung der Quaternionkonvertierungsgleichung und Gleichung 29 wie folgt erhalten werden: θ'' = 2cos–1g0'' = 2cos–1(Q'·Q), θ''∊[0,π], q0'' = Q'·Q, (29)(· gibt innere Produktoperation an)
  • Gleichung 29 gibt einen momentanen Kodierfehler an, der in einem bestimmten Zeitraum bei allen Animationsschlüsselbildern auftritt. Um eine Gleichung abzuleiten, mit der ein Kodierfehler aller Animationsintervalle erhalten werden kann, kann Gleichung 29 durch einen momentanen Kodierfehler zu einer bestimmten Zeit t wie in der folgenden Gleichung 30 ausgedrückt werden: e(t) = 2arccos{Q(t)·Q'(t)} (30)
  • Wenn Gleichung 30 auf alle Schlüsselbildintervalle angewendet wird, die Animation nach dem Orientierungsinterpolationsverfahren vornehmen, kann der mittlere Fehler Em und maximale Fehler Ep für alle Intervalle [t0, tL] wie in den folgenden Gleichungen 31 abgeleitet werden:
  • Figure 00320001
  • Hier wird zunächst die Teilsumme Ei m vom Intervall [ti-1, ti] erhalten, um Em nach der folgenden Gleichung 32 zu erhalten: Eim = ∫ii-1 e2(t)dt = 4∫ii-1 arccos2{Q(t)·Q'(t)dt (32)
  • Indessen wird mit 4arccos2Q(t)·Q'(t) = ϕ2(α), t = ti-1 + α(ti – ti-1) die folgende Gleichung 33 abgeleitet: Eim = (ti – ti-1)∫10 ϕ2(t)dt (33)
  • Weil es schwierig ist, das definitive Integral der Funktion ϕ2(α) im Integralintervall [0, 1] zu erhalten, wird eine Näherung wie in den folgenden Gleichungen 34 durchgeführt: ϕ(α) ≅ ϕ(0) + α{ϕ(1) – ϕ(0)} ϕ2(α) ≅ ϕ2(0) + α2{ϕ(1) – ϕ(0)}2 + 2αϕ{ϕ(1) – ϕ(0)} (34)
  • Hier gilt
    Figure 00330001
    und
    Figure 00330002
  • Unter Verwendung der Näherungsfunktion kann eine Teilsumme Ei m wie in der folgenden Gleichung 35 erhalten werden:
  • Figure 00330003
  • Gleichung 32 kann nach der folgenden Gleichung 36 umgeformt werden:
  • Figure 00340001
  • Ebenso wird Teilsumme Ei m zu allen Intervallen [t0, tL] hinzuaddiert und dann der mittlere Fehler Em wie in der folgenden Gleichung 37 erhalten:
  • Figure 00340002
  • Um den maximalen Fehler Ep zu erhalten, wird unter den maximalen Fehlern Ei p in jedem Intervall [ti-1, ti] ein Maximalwert ausgewählt, der durch die folgende Gleichung 38 erhalten wird:
  • Figure 00340003
  • Unter Verwendung der oben beschriebenen Näherungsfunktion kann Ei p wie in der folgenden Gleichung 39 angenähert werden: Eip ≅ max{ϕ(0),ϕ(1)} = max{2|arccos(Q(ti-1)·Q'(ti-1))|,2|arccos(Q(ti)·Q'(ti))|} (39)
  • Der maximale Fehler Ep in allen Intervallen [t0, tL] wird wie in der folgenden Gleichung 40 ausgedrückt:
  • Figure 00350001
  • 12 ist ein Diagramm, in dem die oben beschriebene Berechnung zum Erhalt des Differentialrotationswerts zwischen zwei Quaternions als ein Makroblock ausgebildet ist.
  • Mit Bezug zu 12 wird das Prinzip zum Erhalt des Differentialrotationswerts nun erläutert. Unter der Annahme, dass bei den beiden Quaternioneingabewerten ein Basiswert D200 ist und ein Rotationswert D300 ist, wird ein Vorgang D130 zum Erhalt des Konjugats des Basiswertes durchgeführt, Multiplikation D110 mit dem Rotationswert wird durchgeführt, Quaternionnormalisierung D120 wird durchgeführt und dann wird das Ergebnis ausgegeben. Diese Berechnung zum Erhalt des Quaterniondifferenzwertes wird in der vorliegenden Ausführungsform häufig verwendet und jeder Teil, der die Quaternionverarbeitung benötigt und deshalb ist es zweckmäßig, es als einen einzigen Makroblock zu betrachten.
  • 15 ist ein Referenzdiagramm zur Erläuterung eines Rotationsrichtungsfehlers beim Quaternionkodieren unter Verwendung einer Differentialrotation. Der Rotationsrichtungsfehler tritt auf, weil die Quaternionkodierung eine Verlustkodierung ist.
  • Mit Bezug zu 15 kann unter der Annahme, dass Qi die Position des Objekts ausgehend von Rotationsinformation angibt, die derzeit eingegeben ist, und Qi-1 die vorherige Position des Objekts bezeichnet, die Beziehung der beiden Positionen durch vier verschiedene Bereiche ausgedrückt werden. Das heißt, wenn das Objekt sich von der Position Q_i-1 zu Qi durch den kürzesten Bogen dreht und die Relation der beiden Positionen in Bereich 1 oder Bereich 3 ist, d. h. die aktuelle Position Qi liegt auf dem Bogen in Bereich 1 oder 3, dreht sich das Objekt entgegen dem Uhrzeigersinn von Qi-1 zu Qi.
  • Ebenso, wenn das Objekt sich von der Position Qi-1 zu Qi durch den kürzesten Bogen dreht und die Relation der beiden Positionen in Bereich 2 oder Bereich 4 ist, d. h. die aktuelle Position Qi liegt auf dem Bogen in Bereich 2 oder 4, dreht sich das Objekt im Uhrzeigersinn von Qi-1 zu Qi. Wenn das Objekt sich entsprechend der Rotationsinformation, die kodiert und dann dekodiert ist, dreht, dreht die Dekodiereinheit das Objekt unter Verwendung von zwei Werten: die dekodierte Information Q ^i-1 entsprechend der ursprünglichen Rotationsinformation Qi-1 und Q ^i entsprechend Qi. Deshalb ist, wiederum mit Bezug zu 15, die Position von Q ^i gegen Q ^i-1 in Bereich 2 und Bereich 3, das Objekt dreht sich entgegen dem Uhrzeigersinn und wenn die Position in Bereich 1 und Bereich 4 ist, dreht sich das Objekt im Uhrzeigersinn. Hierbei führt Drehen des Objekts unter Verwendung der ursprünglichen Rotationsinformation und Drehen des Objekts unter Verwenden der dekodierten Rotationsinformation, im Falle von Bereich 1 und Bereich 4 zu einer entgegengesetzten Richtung. Dies liegt daran, dass beim Quaternionkodieren, Verlustkodieren durchgeführt wird und deshalb Qi nicht gleich Q ^i ist. Dies beim Verlustkodieren tritt unausweichlich auf. Weil Bereich 1 und Bereich 2 wesentliche Bereich sind, ist ein Vorgang zur Eliminierung von umgekehrter Drehung oder zur Ausrichtung der Rotationsrichtung wie bei der ursprünglichen Richtung notwendig. Bei der vorliegenden Ausführungsform wird der letztgenannte Vorgang eingesetzt.
  • Kurze Erläuterung einer Rotationsrichtungskorrekturfunktion, mit Bezug zu 15, werden Bereiche 1 und 2 erfasst, wo Rotationsrichtungsfehler auftreten, der zu kodierende Differentialquaternionwert wird zwingend geregelt, so dass die Rotationsrichtung die Gleiche ist wie bei der ursprünglichen Rotationsrichtung. Obwohl in Bereich 2 Abweichung von Rotationsrichtungen auch auftritt, sind in Bereich 2 im Gegensatz zu Bereich 1, der ursprüngliche Quaternionwert und der wiederhergestellte Quaternionwert konvergent. Deshalb wird die Rotationsrichtungskorrekturfunktion in Bereich 1 ausgeführt und nicht in Bereich 2.
  • 13 und 14 sind Blockdiagramme zur Erläuterung der Rotationsrichtungkorrekturfunktion des Kodiergeräts von 8.
  • Mit Bezug zu den 13 und 14 erfasst eine Rotationsrichtungsfehlerberechnungseinheit 750 und eine Bestimmungseinheit 760 den Fall des Bereichs 1. Wie in 14 gezeigt ist, weist die Rotationsrichtungsfehlerberechnungseinheit 750 Quaternionrotationsdifferenzberechnungseinheiten 752, 753 und 754 auf zur Berechnung dreier Differentialrotationsquaternionwerte. Die erhaltenen drei Differentialrotationswerte A, B und C sind wie folgt:
    Differentialrotationswert A: Qi(Qi-1)*
    Hier gibt der Differentialrotationswert A die Rotationsrichtung des Objekts in einem Zeitintervall [ti-1, ti] mit der ursprünglichen Rotationsinformation an.
    Differentialrotationswert B: Qi-1(Q ^i-1)*
    Hier gibt der Differentialrotationswert B den Rotationsfehler und die Richtung des Objekts aufgrund eines Kodierfehlers zum Zeitpunkt ti-1 an.
    Differentialrotationswert C: Qi(Q ^i-1)*
    Hier gibt der Differentialrotationswert C die Richtung der Differentialquaternioninformation an, die zum Kodieren zum Zeitpunkt ti vorzusehen ist.
  • Die Bestimmungseinheit 760 bestimmt, ob es auf dem Bogen im Bereich 1 liegt wie es in 15 erläutert ist, wobei die drei Differentialrotationswerte A, B und C verwendet werden. Wenn der Fall des Bereichs 1 vor liegt, wählt die Bestimmungseinheit 780 eine Eingabe von einer Rotationsrichtungssättigungseinheit 770 zum Setzen der Rotationsrichtung auf einen Sättigungswert, so dass die Rotationsrichtung auf das Selbe wie die ursprüngliche Richtung korrigiert wird. Wenn nicht der Fall des Bereichs 1 vorliegt, wählt die Bestimmungseinheit 780 eine Eingabe von der Quaterniondifferenzberechnungseinheit 740, so dass die Rotationsrichtungskorrekturfunktion nicht durchgeführt wird. Der Vorgang zu diesem Zeitpunkt ist der Selbe wie im oben beschriebenen Fall, bei dem ein Differentialquaternionwert erhalten wird und der Quantisierungseinheit 805 zugeführt wird. Das Funktionsprinzip der Bestimmungseinheit 760 wird nun ausführlich beschrieben. Die Bestimmungseinheit 760 weist fünf Bestimmungseinheiten auf und gibt das Ergebnis einer UND-Verknüpfung von fünf logischen Werten aus. Die in der Bestimmungseinheit 760 ausgeführten fünf logischen Operationen sind wie folgt:
  • Logischer Ausdruck A:
    Figure 00380001
  • Hier ist, wenn der Differentialrotationswert A von 14 QA ist, und
    Figure 00380002
    einen dreidimensionalen Vektor angibt (qA,1, qA,2, gA,3)T, der aus drei Elementen mit Ausnahme des ersten Elements qA,0 der vier Elemente gebildet ist.
  • Gleichermaßen gibt
    Figure 00380003
    einen 3-dimensionalen Vektor an, der aus drei Elementen mit Ausnahme des ersten Elements im Differentialrotationswert C von 14 gebildet ist.
    Figure 00390001
    gibt das innere Produkt von zwei 3-dimensionalen Vektoren an. Wenn das innere Produkt eine negative Zahl ist, ist der logische Wert A als „wahr" definiert und ansonsten ist es als „falsch" definiert.
  • Logischer Ausdruck B:
    Figure 00390002
  • Hier gibt
    Figure 00390003
    einen dreidimensionalen Vektor an (qB,1, qB,2, gB,3)T, der aus drei Elementen mit Ausnahme des ersten Elements im Rotationsdifferentialwertes B von 14 gebildet ist.
    Figure 00390004
    gibt einen 3-diemensionalen Vektor an, der aus drei Elementen mit Ausnahme des ersten Elements im Differentialrotationswert C von 14 gebildet ist.
    Figure 00390005
    gibt das innere Produkt von zwei 3-dimensionalen Vektoren an.
  • Wenn das innere eine negative Zahl ist, ist der logische Wert B als „wahr" definiert und ansonsten ist es als „falsch" definiert.
  • Logischer Ausdruck C:
    • ATH < 2cos–1|qA,0|
  • Hier gibt qA,0 das erste Element im Differentialrotationswert A von 14 an, wie es in den logischen Ausdrücken A und B beschrieben ist. Wenn das Ergebnis der Durchführung des logischen Ausdrucks C unter Verwendung des Absolutwertes von qA,0 größer ist als eine bestimmte Konstante ATH, ist der logischen Ausdruck C als „wahr" definiert und ansonsten ist er als „falsch" definiert. Hierbei wird die Konstante ATH auf einen Wert nahe 0 gesetzt (zum Beispiel 0,02) und kann in Abhängigkeit von tatsächlichen Verhältnissen auf einen geeigneten Wert gesetzt werden.
  • Logischer Ausdruck D:
    • ATH < 2cos–1|qB,0|
  • Hier gibt qB,0 das erste Element im Differentialrotationswert B von 14 an, wie es in den logischen Ausdrücken A und B beschrieben ist. Wenn das Ergebnis der Durchführung des logischen Ausdrucks D unter Verwendung des Absolutwertes von qB,0 größer ist als eine bestimmte Konstante ATH, ist der logischen Ausdruck C als „wahr" definiert und ansonsten ist er als „falsch" definiert. Hierbei 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 Differentialrotationswert C von 14 an, wie es in den logischen Ausdrücken A und B beschrieben ist. Wenn das Ergebnis der Durchführung des logischen Ausdrucks E unter Verwendung des Absolutwertes von qC,0 größer ist als eine bestimmte Konstante ATH, ist der logischen Ausdruck E als „wahr" definiert und ansonsten ist er als „falsch" definiert. Hierbei wird die Konstante ATH auf einen Wert nahe 0 gesetzt (zum Beispiel 0,02) und kann in Abhängigkeit von tatsächlichen Verhältnissen auf einen geeigneten Wert gesetzt werden.
  • Wenn eine UND-Verknüpfung für die fünf erhaltenen logischen Werte wie in der folgenden Gleichung 41 durchgeführt wird, wird die Ausgabe der Bestimmungseinheit 760 von 13 erzeugt.
  • Die Ausgabe der Bestimmungseinheit 760 (logischer Ausdruck A) UND (logischer Ausdruck B) UND (logischer Ausdruck C) UND (logischer Ausdruck D) UND (logischer Ausdruck E) ... (41)
  • Wenn der logische Wert von Gleichung 41 „wahr" ist, empfängt die Auswahleinheit 780 die Ausgabe der Rotationsrichtungssättigungseinrichtung 770 und gibt das empfangene Signal aus. Wenn der logische Wert „falsch" ist, empfängt die Auswahleinheit 780 die Ausgabe der Quaterniondifferenzberechnungseinheit 740 und gibt das empfangene Signal aus.
  • Nun wird die Funktion der Rotationsrichtungssättigungseinrichtung 770 erläutert. Wiederum mit Bezug zu 15 ist im Fall von Bereich 1, Rotationsinformation, die die Dekodiereinheit empfängt Q ^i und Rotationsinformation, die derzeit eingegeben wird ist Qi 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ättigungseinrichtung 770 das Objekt von Q ^i in einer selben Richtung drehen wie die ursprüngliche Richtung, das heißt in eine Richtung mit der größten Bewegung entgegen dem Uhrzeigersinn. Das heißt, die Rotationsrichtungssättigungseinrichtung 770 setzt neue Rotationsinformation, mit der das Objekt sich in eine Position nahe 180 Grad von Q ^i dreht. Dementsprechend kann die Rotationsrichtung in die ursprüngliche Rotationsrichtung korrigiert werden und ein Rotationsfehler kann minimiert werden. Die Funktion der Rotationsrichtungssättigungseinrichtung 770 wird wie in der folgenden Gleichung 42 ausgedrückt:
  • Figure 00420001
  • Wo (qp,0, qp,1, qp,2, qp,3)T die Ausgabe des Rotationsverstärkungsstellwerts von 13 angibt, (qR,0, qR,1, qR,2, qR,3)T den Ausgabewert der Quaterniondifferenzberechnungseinheit 740 angibt und δT eine Konstante nahe 0 angibt (zum Beispiel 0,001) und in Bezug auf die Präzision des Kodiergeräts bestimmt wird.
  • Wie oben beschrieben eliminiert die vorliegende Erfindung beim Kodieren der Daten eines Orientierungsinterpolatorknotens Datenredundanz in einem Zeitbereich und Bitredundanz bei quantisierten Symbolen, und verbessert Datentransmissionseffizienz durch Reflektieren physikalischer Charakteristiken einer Rotationsbewegung und Eliminierung zusätzlicher Information für Elemente.

Claims (8)

  1. Kodiergerät für Orientierungsinterpolatorknotendaten mit Felddaten, das Rotationsinformation eines Objekts in einem 3-dimensionalen Raum bereitstellt, wobei das Kodiergerät umfasst: eine Quaternionkonversionseinheit (620) zum Konvertieren von Schlüsselwerten eines Postens von Felddaten in eine Quaternionrauminformation, wobei der Posten von Felddaten einen Schlüssel enthält, der Information zum Spezifizieren eines Zeitpunkts angibt, wenn eine Änderung der Rotationsbewegung auftritt und Schlüsselwerten, die Rotationsinformation angibt, die dem Zeitpunkt entspricht; eine Differentialquaternionberechnungseinheit (700) zum Erzeugen eines Differentialwertes zwischen dem Quaternionwert und einem Vorhersagequaternionwert; eine Quantifizierungseinheit (810), die so angeordnet ist, dass sie die Differentialwertausgabe von der Differentialquaternionberechnungseinheit quantifiziert; eine variable Längenkodiereinheit (820), die so angeordnet ist, dass sie die quantifizierte Differentialwertausgabe von der Quantifizierungseinheit mit variabler Länge kodiert; eine Inversquantifizierungseinheit (910), die so angeordnet ist, dass sie den quantifizierten Differentialwert inversquantifiziert; eine Quaternionmultiplikationseinheit (920), die so angeordnet ist, dass sie den Differentialwert von der Inversquantifizierungseinheit mit einem früheren Differentialwert multipliziert, um einen Quaternionwert zu erhalten; eine Verzögerungseinheit (930), die so angeordnet ist, dass sie den Quaternionwert verzögert; und eine Vorhersageeinheit (1000), die so angeordnet ist, dass sie den Vorhersagequaternionwert ausgehend vom verzögerten Quaternionwert erzeugt und die Erzeugung des Vorhersagequaternionwertes unter Verwendung eines Vorhersageordnungsstellwertes (β) steuert.
  2. Kodiergerät nach Anspruch 1, worin die Vorhersageeinheit (1000) umfasst: eine Quaternionrotationsdifferenzberechnungseinheit (1020), die so angeordnet ist, dass sie ausgehend vom verzögerten Quaternionwert von der Verzögerungseinheit einen Differentialwert erzeugt; eine Rotationsverstärkungssteuereinheit (1040), die so angeordnet ist, dass sie den Verstärkungssteuerungsvorgang unter Verwendung der folgenden Gleichung unter Verwendung der Vorhersageordnung β und des Differentialwertes aus der Quaternionrotationsdifferenzberechnungseinheit durchführt; und
    Figure 00440001
    einen Quaternionmultiplizierer (1050), der so angeordnet ist, dass er die verzögerte Quaternionwerteingabe von der Verzögerungseinheit mit der Ausgabe der Quaternionrotationsdifferenzberechnungseinheit multipliziert.
  3. Kodiergerät nach Anspruch 1, worin die Differentialquaternionberechnungseinheit umfasst: eine Rotationsrichtungsauslenkeinheit (770), die so angeordnet ist, dass sie zum Einstellen der Rotationsrichtung auf einen Auslenkwert die Rotationsrichtung korrigiert, so dass die Rotationsrichtung auf das Gleiche wie die Ursprungsrichtung korrigiert wird.
  4. Kodiergerät nach Anspruch 1, ferner umfassend eine Schlüsselbildentfernungseinheit (650) zum Entfernen eines Schlüssel bilds, das Schlüssel und Schlüsselwert entspricht, in einer zulässigen Fehlergrenze, unter Verwendung der Ähnlichkeit in der Rotationstransformation in Bezug auf kontinuierliche Zeitveränderungen.
  5. Kodierverfahren für Orientierungsinterpolatorknotendaten mit Felddaten, das Rotationsinformation eines Objekts in einem 3-dimensionalen Raum bereitstellt, wobei das Kodierverfahren umfasst: Konvertieren von Schlüsselwerten der Felddaten, die einen Schlüssel enthalten, der Information zu einem Zeitpunkt angibt, wenn eine Veränderung der Rotationsbewegung auftritt, und Schlüsselwerten, die Rotationsinformation entsprechend dem Zeitpunkt angeben, in eine Quaternionrauminformation; Berechnen eines Differentialwertes zwischen Quaternionwert und einem Vorhersagequaternionwert; Quantifizieren des berechneten Differentialwertes; Kodieren des quantifizierten Differentialwertes in variabler Länge; Inversquantifizieren des quantifizierten Differentialwertes; Multiplizieren des inversquantifizierten Wertes mit einem früheren Diffe rentialwert zum Erhalt eines Quaternionwertes; Verzögern des Quaternionwertes; und Erzeugen des Vorhersagequaternionwertes aus dem verzögerten Quaternionwert und Steuern des Vorhersagequaternionwertes unter Verwendung einer Vorhersageordnung β.
  6. Kodierverfahren von Anspruch 5, worin das Vorhersagen umfasst: Berechnen eines Differentialwertes ausgehend vom verzögerten Quaternionwert; Durchführung des Verstärkungssteuerungsvorgangs wie in der folgenden Gleichung ausgedrückt unter Verwendung der Vorhersageordnung β und des berechneten Differentialwertes; und
    Figure 00460001
    Multiplizieren des verzögerten Quaternionwertes mit dem berechneten Differentialwert.
  7. Kodierverfahren von Anspruch 5, worin das Berechnen des Differentialquaternions umfasst: Korrigieren der Rotationsrichtung zum Einstellen der Rotationsrichtung auf einen Auslenkwert, so dass die Rotationsrichtung auf das Gleiche wie die Ursprungsrichtung korrigiert wird.
  8. Kodierverfahren von Anspruch 5, ferner umfassend Entfernen eines Schlüsselbilds, das Schlüssel und Schlüsselwert entspricht, in einer zulässigen Fehlergrenze unter Verwendung der Ähnlichkeit in der Rotationstransformation in Bezug auf kontinuierliche Zeitveränderungen.
DE2001613358 2000-10-20 2001-10-19 Kodierer, Dekodierer und entsprechende Verfahren für Orientierungsinterpolationsknotendaten Expired - Fee Related DE60113358T2 (de)

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
DE60113358D1 DE60113358D1 (de) 2005-10-20
DE60113358T2 true DE60113358T2 (de) 2006-06-22

Family

ID=36101286

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001613358 Expired - Fee Related DE60113358T2 (de) 2000-10-20 2001-10-19 Kodierer, Dekodierer und entsprechende Verfahren für Orientierungsinterpolationsknotendaten

Country Status (8)

Country Link
US (2) US6529086B2 (de)
EP (1) EP1199895B1 (de)
JP (1) JP3521411B2 (de)
CN (1) CN1179570C (de)
CA (1) CA2359519C (de)
DE (1) DE60113358T2 (de)
ES (1) ES2248245T3 (de)
RU (1) RU2224291C2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829296B1 (en) * 2000-09-20 2004-12-07 Mindspeed Technologies, Inc. Spectrally flat time domain equalizer and methods
RU2224291C2 (ru) * 2000-10-20 2004-02-20 Самсунг Электроникс Ко., Лтд. Устройство и способ кодирования/декодирования узла ориентационного интерполятора
US7809203B2 (en) * 2001-11-27 2010-10-05 Samsung Electronics Co., Ltd. Apparatus for encoding and decoding key data and key value data of coordinate interpolator and recording medium containing bitstream into which coordinate interpolator is encoded
US7809204B2 (en) * 2002-10-18 2010-10-05 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key value data of coordinate interpolator
DE10334064B3 (de) * 2003-07-25 2005-04-14 Infineon Technologies Ag Verfahren und Schaltungsanordnung zum Kalibrieren eines den Abtastzeitpunkt eines Empfangssignals beeinflussenden Abtastungssteuersignales eines Abtastphasenauswahlelements
WO2006022708A2 (en) * 2004-08-11 2006-03-02 Pixar Animation spline scaling and stacking method and apparatus
EP2144777B1 (de) * 2007-05-14 2017-03-01 FEV GmbH Verfahren zum betrieb eines hybridantriebssystems sowie hybridantriebssystem mit zwei teilgetrieben
US8624898B1 (en) 2009-03-09 2014-01-07 Pixar Typed dependency graphs
KR101685922B1 (ko) * 2010-04-05 2016-12-13 삼성전자주식회사 가상 세계 처리 장치 및 방법
KR101727449B1 (ko) * 2011-06-28 2017-04-14 닛본 덴끼 가부시끼가이샤 영상 양자화 파라미터 복호 방법
DE102012021623B4 (de) * 2012-11-06 2021-03-04 Otto-Von-Guericke-Universität Magdeburg Vorrichtung und Verfahren zur Kalibrierung von Trackingsystemen in Bildgebungssystemen

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8603880D0 (en) * 1986-02-17 1986-03-26 Indep Broadcasting Authority Hybrid interpolative predictive code
US4797836A (en) * 1986-11-19 1989-01-10 The Grass Valley Group, Inc. Image orientation and animation using quaternions
GB2252001B (en) * 1991-01-11 1995-01-04 Sony Broadcast & Communication Storage of video signals
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
US5168356A (en) * 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
US5210770A (en) * 1991-09-27 1993-05-11 Lockheed Missiles & Space Company, Inc. Multiple-signal spread-spectrum transceiver
CA2144253C (en) * 1994-04-01 1999-09-21 Bruce F. Naylor System and method of generating compressed video graphics images
WO1997017797A2 (en) * 1995-10-25 1997-05-15 Sarnoff Corporation Apparatus and method for quadtree based variable block size motion estimation
KR100294928B1 (ko) * 1998-11-28 2001-07-12 윤종용 2차원 또는 3차원 메쉬정보 중의 특성정보 부호화장치 및 그방법
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
RU2224291C2 (ru) * 2000-10-20 2004-02-20 Самсунг Электроникс Ко., Лтд. Устройство и способ кодирования/декодирования узла ориентационного интерполятора
US6559848B2 (en) * 2000-12-13 2003-05-06 Intel Corporation Coding and decoding three-dimensional data

Also Published As

Publication number Publication date
US6850572B2 (en) 2005-02-01
DE60113358D1 (de) 2005-10-20
CN1367617A (zh) 2002-09-04
JP2002232885A (ja) 2002-08-16
JP3521411B2 (ja) 2004-04-19
CA2359519C (en) 2004-07-20
US20030103576A1 (en) 2003-06-05
US20020070818A1 (en) 2002-06-13
EP1199895A3 (de) 2003-07-16
US6529086B2 (en) 2003-03-04
CN1179570C (zh) 2004-12-08
EP1199895B1 (de) 2005-09-14
CA2359519A1 (en) 2002-04-20
EP1199895A2 (de) 2002-04-24
RU2224291C2 (ru) 2004-02-20
ES2248245T3 (es) 2006-03-16

Similar Documents

Publication Publication Date Title
DE3852615T2 (de) Digitales system zum reduzieren und uebertragen von bilddaten, das visuell gewichtete transformationskoeffizienten verwendet.
DE69716037T2 (de) Verfahren zur kodierung und dekodierung von digitalen bildern
DE60118491T2 (de) Kodiergerät und Kodierverfahren für einen Orientierungsinterpolationsknoten
DE3856536T2 (de) Kodierung von Daten, die wie eine multidimensionale Matrix dargestellt sind
DE69715239T2 (de) Videokompressionsmethode und vorrichtung
DE69420662T2 (de) Blocktransformationskodierer für willkürlich geformte Bildsegmente
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE69533870T2 (de) Vorrichtung zur Bilddekodierung
DE69734831T2 (de) Adaptive steuerung der datenrate für digitale videokompression
DE69524141T2 (de) Adaptiver Bildkodierer mit dynamischer Bitzuteilung
DE69712676T2 (de) Verfahren zur Videokodierung
DE3036769C1 (de) Vorrichtung und Verfahren zum Codieren eines Videosignals
DE69421837T2 (de) Videokoder und -dekoder
DE69736852T2 (de) Codierung- und Decodierungssystem für bewegte Bilder mit beliebig geformten Objekten
DE69635369T2 (de) Videokodierungsvorrichtung
DE60219548T2 (de) Verfahren und Vorrichtung zur Kodierung der Verformunginformation eines 3D Objektes
DE69904749T2 (de) Videocodierung mit bewegungskompensation und cholesky faktorisierung
DE3837590A1 (de) Verfahren zum reduzieren der datenrate von digitalen bilddaten
DE60113358T2 (de) Kodierer, Dekodierer und entsprechende Verfahren für Orientierungsinterpolationsknotendaten
DE69728757T2 (de) Verfahren und Vorrichtung zum Kodieren eines Objektes unter Verwendung einer Konturbewegungsschätztechnik
DE69737443T2 (de) Verfahren für skalierbares zwischenkonturverschlüsseln und vorrichtung dafür
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
DE69608950T2 (de) Verfahren und gerät zur kompakten darstellung der kontur einer diskreten region
DE19717608B4 (de) Wahrnehmungsfehlerbearbeitungsverfahren und Bildkodierungsvorrichtung, welche dieses Verfahren verwendet
DE60126895T2 (de) Verfahren und Vorrichtung zur Datenkompression

Legal Events

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