ES2261353T3 - Aparato y procedimiento de codificacion para nodo interpolador de la orientacion. - Google Patents
Aparato y procedimiento de codificacion para nodo interpolador de la orientacion.Info
- Publication number
- ES2261353T3 ES2261353T3 ES01308904T ES01308904T ES2261353T3 ES 2261353 T3 ES2261353 T3 ES 2261353T3 ES 01308904 T ES01308904 T ES 01308904T ES 01308904 T ES01308904 T ES 01308904T ES 2261353 T3 ES2261353 T3 ES 2261353T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- key
- rotation
- unit
- 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 - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
- H04N19/27—Methods 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Abstract
Un aparato de codificación para un nodo interpolador de la orientación que proporciona información sobre la rotación de un objeto en un espacio de tres dimensiones, comprendiendo el aparato de codificación: una unidad de entrada de datos de campo que incluye una unidad de clave (200, 800) para extraer los datos de campo que se vayan a codificar en el momento actual, mediante el análisis del nodo interpolador de la orientación, los datos de campo incluyendo datos de clave que indican la información sobre una posición en un eje de tiempo en el que ocurre un cambio del movimiento de rotación y de traslación y los datos de valor de clave que incluyen los valores de clave que indican la información de rotación correspondiente a la información de la posición; una unidad de procesado para convertir los valores de clave en un cuaternión, caracterizada porque la unidad de procesado es una unidad (205, 210, 215, 801) de procesado de modulación diferencial adaptativa de impulsos codificados (ADPCM) adaptada para el procesado ADPCM del cuaternión usando diferenciación de rotación, y para el procesado de modulación diferencial de impulsos codificados (DPCM) de los datos de clave; y una unidad de cuantificación (220, 805) para cuantificar los datos de clave y los datos de valor de clave y sacar los datos cuantificados.
Description
Aparato y procedimiento de codificación para
nodo interpolador de la orientación.
La presente invención se refiere a una
codificación sintética de la imagen, y de manera más particular a un
aparato y a un procedimiento de codificación para un nodo
interpolador de la orientación.
El formato binario para escenas (BIFS)
MPEG-4, que es uno de varios estándares multimedia
internacionales, soporta una tecnología de representación de
animación basada en trama clave entre una variedad de tecnologías
para representar información de animación usadas en una imagen
sintética. Los datos que forman la animación basada en trama clave
están representados por claves y por valores clave que están
expresados en sintaxis de nodo interpolador en las BIFS
MPEG-4. En las BIFS MPEG-4, se
necesita una gran cantidad de claves y valores de clave para
proporcionar una animación suave de las tramas clave. Una trama
clave consiste en una clave y en un valor de clave. Una clave que
representa un instante específico en el que se expresa la animación,
es un número entre -\infty y +\infty ambos inclusive. Los
valores de clave representan la información en el giro de un objeto
en una imagen sintética en un instante indicado en cada clave. La
información sobre el giro del objeto en un instante distinto del
instante indicado por cada clave se obtiene mediante la
interpolación entre los valores de clave correspondientes a dos
claves: una indica el instante anterior más cercano y la otra indica
el instante siguiente más cercano. En este instante, dependiendo del
tipo de nodo interpolador, se pueden usar diferentes procedimientos
de interpolación.
Un procedimiento de interpolación que usa la
información sobre la rotación de un objeto expresa el movimiento de
giro con los ejes de rotación y un ángulo de rotación. Al igual que
un Lenguaje de Modelado de la Realidad Virtual (Virtual Reality
Modeling Language, VRML), el BIFS MPEG-4 soporta el
movimiento de giro que se expresa con ejes de rotación y con un
ángulo de rotación como se ha descrito anteriormente, a través de un
nodo interpolador de la orientación. Esto es, usando un
procedimiento de expresión del desplazamiento de ángulo para
expresar los ejes y el ángulo de rotación, el nodo interpolador de
la orientación expresa la información de rotación y proporciona
información de rotación como valores de clave. cuando los datos de
valores de clave expresan una animación suave de acuerdo con una
característica de interpolación, la distribución de los valores
diferencia entre conjuntos de valores de clave sucesivos es
compacta.
Por lo tanto, es eficiente usar un procedimiento
de codificación que use valores diferenciales entre los conjuntos de
datos. En las BIFS MPEG-4, se usan dos
procedimientos representativos para la codificación de datos de
campo que estén representados por una clave y valores de clave de un
nodo interpolador de la orientación y se vayan a procesar: un
procedimiento que no use Modulación Diferencial de Impulsos
Codificados (DPCM) y un procedimiento que use la DPCM.
En primer lugar, en el procedimiento que no use
la DPCM, solamente se realiza la cuantificación con respecto a las
claves y a los valores de clave de los datos que se vayan a
codificar. Por lo tanto, como las únicas características de los
datos que se van a codificar no se consideran, el procedimiento es
ineficiente. El procedimiento que no usa la DPCM se explica
brevemente a continuación. Se introducen los datos de campo de un
nodo interpolador de la orientación y se convierten los valores de
clave de los datos de campo a valores de un espacio cuaternión. A
continuación, la precisión de datos de la clave o de los valores de
clave se ajusta y los valores de clave son cuantificados. Después,
los datos de campo cuantificados se sacan como datos en formato
binario. A continuación, con el fin de comprobar el resultado de la
cuantificación, los datos en formato binario de salida se restauran
de nuevo a datos de campo mediante la cuantificación inversa, y cada
valor cuaternión restaurado es asignado a un formato de valor de
clave que está formado de ejes de rotación y un ángulo de rotación.
A continuación, se guardan los datos de campo restaurados del nodo
de orientación y se sacan por una pantalla. También, usando los
datos restaurados, se mide la distorsión visual de un error de
cuantificación. La distorsión D se podría medir mediante la
siguiente ecuación 1:
... (1)D =
\sqrt{\left(\sum\limits^{i<N}_{i=0}(\varepsilon_{i})^{2}
/N\right)} = \sqrt{\left(\sum\limits^{i<N}_{i=0}(Q_{i} -
\tilde{Q}_{i})^{2}
/N\right)}
Aquí, N representa el número de datos de campo,
\varepsilon_{i} representa la diferencia entre un valor
(Q_{i}) que se vaya a codificar en el momento (i) y un valor
restaurado (\tilde{Q_{i}}).
A continuación, el procedimiento que usa la DPCM
considera la correlación entre datos sucesivos y por lo tanto puede
mejorar una eficiencia mayor en la codificación que la del
procedimiento que no usa DPCM. Las diferencias entre los dos
procedimientos se explicarán a continuación brevemente. En el
procedimiento que usa la DPCM, el valor diferencia entre los valores
de clave restaurados anteriormente y un valor que vaya a ser
codificado en el momento presente, se calcula antes de la
cuantificación, y se cuantifica el valor de la diferencia. Haciendo
esto de esta forma, las características de los datos que ocurrieron
en esta diferenciación mejora la eficiencia en la codificación hasta
cierto grado.
La figura 1 es un diagrama de bloques para
explicar el principio general de la DPCM.
\newpage
Una unidad DPCM 100 calcula el valor de
diferencia (E_{i}) entre un valor (Q_{i}) que vaya a ser
codificado en el momento presente y un valor restaurado
(\tilde{Q}_{i-1}) usando un restador 102. El
valor de diferencia calculado se cuantifica en un cuantificador 120.
El valor cuantificado (\hat{E}_{i}) se envía a un destino y un
cuantificador inverso 140, mediante el cual, el valor cuantificado
(\hat{E}_{i}) es cuantificado inversamente
(\breve{E}_{i}).
Sin embargo, en el interpolador de la
orientación que interpola entre valores de clave sucesivos mediante
la interpolación lineal esférica, el procedimiento DPCM mostrado en
la figura 1 no puede tener una alta eficiencia. Esto se puede
encontrar cuando se analizan en un espacio cuaternión los valores de
clave que determinan la posición rotacional de un objeto.
Un valor de clave (q) que determina la posición
rotacional de un objeto sobre un espacio de tres dimensiones se
expresa como una combinación de ejes de rotación y un ángulo de
rotación. En las siguientes ecuaciones 2, la ecuación (aa) muestra
cómo el interpolador de la orientación expresa un valor de clave, y
la ecuación (bb) es una ecuación para convertir el valor de clave en
un cuaternión.
(aa)(\tilde{r}, \theta) = (n_{x},
n_{y}, n_{t}, \theta) \hskip0.5cm (0
\leq\theta\leq\pi)
(bb) ... (2)q
= \left(cos\frac{\theta}{2}, \frac{n_{x}}{\left\Arrowvert
n\right\Arrowvert}sen\frac{\theta}{2}, \frac{n_{y}}{\left\Arrowvert
n\right\Arrowvert} sen\frac{\theta}{2}\frac{n_{t}}{\left\Arrowvert
n\right\Arrowvert}
sen\frac{\theta}{2}\right)
Como se muestra en la ecuación (bb), si los
vectores del eje de rotación y los ángulos de rotación de dos
cuaterniones tienen los mismos valores absolutos y signos opuestos
en el espacio cuaternión, los dos cuaterniones son los mismos. Esto
significa que en el aspecto físico, dos movimientos de rotación son
los mismos y los factores que afectan a un movimiento de rotación
son la dirección del eje de rotación y el ángulo de rotación, y no
los vectores del eje de rotación. Por lo tanto, la expresión del
cuaternión que representa el movimiento de rotación de un objeto,
expresa de manera
exitosa la dirección del eje de rotación y del ángulo de rotación que son factores que afectan al movimiento de rotación.
exitosa la dirección del eje de rotación y del ángulo de rotación que son factores que afectan al movimiento de rotación.
Mientras tanto, el procedimiento DPCM de la
figura 1, en el que se usa la ecuación (aa) para calcular el valor
de tiempo diferencial entre los valores de clave que indican
transformaciones de rotación, considera la diferencia entre los
vectores de eje de rotación, y por lo tanto, no muestra correlación
de cambios en las direcciones del eje de rotación con respecto a los
cambios temporales y se reduce la eficiencia en la codificación.
El documento US 4.797.836 describe un
procedimiento para interpolar imágenes usando cuaterniones para
proporcionar rotaciones suaves en vídeo digital.
En un primer aspecto de la presente invención,
se proporciona un aparato de codificación como el que se declara en
la reivindicación 1. El aparato de codificación es para un nodo
interpolador de la orientación que proporciona información sobre la
rotación de un objeto en un espacio tridimensional, incluyendo el
aparato de codificación una unidad de entrada de datos de campo para
extraer los datos de campo que se vayan a codificar en el momento
presente de una clave que indique la información sobre una posición
sobre un eje de tiempo en el que ocurra un cambio en el movimiento
de rotación y de traslación y los valores de clave que indiquen la
información de rotación correspondiente a la información de la
posición, mediante el análisis del nodo interpolador de la
orientación; una unidad de procesado de modulación diferencial de
impulsos codificados (ADPCM) para convertir los datos de valores de
clave en un cuaternión, y después el procesado ADPCM del cuaternión
usando diferenciación de la rotación, y procesado de modulación
diferencial de impulsos codificados (DPCM) para los datos de clave;
y una unidad de cuantificación para cuantificar los datos de clave y
los datos de valor de clave y sacar los datos cuantificados.
La presente invención proporciona de esta forma
un aparato y un procedimiento de codificación para un nodo
interpolador de la orientación en el que mediante la codificación de
los datos de campo de un nodo interpolador de la orientación a
través de un procesado DPCM adaptativo que use una matriz de
conversión diferencial de rotación, se elimina la redundancia de
datos en una región de tiempo, la redundancia binaria entre
símbolos, que están cuantificados a través de una codificación
aritmética adicional, se elimina, y la información adicional para
los elementos se elimina, lo que se refleja en las características
físicas del movimiento de rotación y de traslación en un espacio
cuaternión, de forma que la eficiencia en la transmisión de datos se
ve mejorada, y el grado de distorsión de la calidad visual se mide
de manera más objetiva.
En un segundo aspecto de la presente invención,
se proporciona un procedimiento de codificación para un nodo
interpolador de la orientación que proporciona información sobre la
rotación de un objeto en un espacio de tres dimensiones, el
procedimiento de codificación teniendo las etapas de (a) extraer los
datos de campo que se vayan a codificar en el momento presente a
partir de una clave que indique la información sobre una posición en
un eje de tiempo en el que ocurra un cambio en el movimiento de
rotación y de traslación y los valores de clave que indiquen la
información de rotación correspondiente a la información de
posición, por medio de del análisis del nodo interpolador de la
orientación; (b) convertir los datos del valor de clave en un
cuaternión, y después la modulación adaptativa diferencial de
modulación de impulsos codificados (ADPCM) que procesa el cuaternión
usando una matriz de conversión diferencial de rotación y un
procesado de modulación diferencial de impulsos codificados (DPCM)
de los datos de clave; y (c) cuantificar los datos de clave y los
datos de valor de clave y sacar los datos cuantificados.
Los objetos y las ventajas anteriores de la
presente invención serán más aparentes mediante la descripción en
detalle de las realizaciones preferidas de la misma con referencia a
los dibujos anejos en los que:
La figura 1 es un diagrama de bloques para
explicar el principio general de la modulación diferencial de
impulsos codificados (DPCM);
Las figuras 2 a la 7 son diagramas para explicar
una primera realización preferida de la presente invención; y
Las figuras 8 a la 22 son diagramas para
explicar una segunda realización preferida de la presente
invención.
La presente invención se refiere a un aparato y
a un procedimiento de codificación que puede mejorar la eficiencia
de la transmisión de datos mediante el aumento de la redundancia de
valores de clave usando un procedimiento de representación de
cuaternión y las características de datos de un nodo interpolador de
la orientación para proporcionar información rotacional de un
objeto. También, se puede proporcionar un procedimiento de medida
del error puede medir de manera objetiva el grado de distorsión
visual provocado por un error que ocurra en la compresión de los
datos.
La figura 2 es un diagrama esquemático de
bloques de un aparato de codificación de un nodo interpolador de la
orientación de acuerdo con una primera realización preferida de la
presente invención.
El aparato de codificación de acuerdo con la
presente invención incluye una unidad de entrada de datos de campo
de un nodo interpolador de la orientación 200, una unidad de
procesado ADPCM adaptativo para los datos de campo, una unidad de
cuantificación 220, una unidad de salida de datos de campo binarios
comprimidos 230, y de manera adicional, una unidad de codificación
de la entropía 225. Aquí, la unidad de procesado DPCM adaptativo
incluye una unidad de conversión de espacio cuaternión 205, una
unidad DPCM 210 y una unidad de conversión de datos de rotación
diferencial 215. El aparato de codificación incluye también una
unidad de descodificación para comprobar el resultado de la
restauración de los datos de salida en una pantalla y medir el grado
de distorsión visual debida a un error de cuantificación. La unidad
de descodificación incluye una unidad de descodificación de la
entropía 235, una unidad de cuantificación inversa 240, una unidad
DPCM inversa 245, una unidad de conversión diferencial de rotación
inversa 250, una unidad de conversión inversa de cuaternión 255, una
unidad de salida de datos de campo de un nodo interpolador de la
orientación restaurado 260 y una unidad de medida de la distorsión
265.
La figura 5 es un diagrama de flujo para
explicar un procedimiento de codificación de un nodo interpolador de
la orientación de acuerdo con una primera realización preferida de
la presente invención. Con referencia a la figura 2 y a la figura 5,
se explicar a continuación el funcionamiento del aparato de
codificación de la presente invención.
En primer lugar, los datos de campo de un nodo
interpolador de la orientación que se vayan a codificar se
introducen en la etapa 500. De manera más específica, la unidad de
entrada de datos de campo 200 analiza un nodo interpolador de la
orientación en los datos VRML de entrada y extrae los datos de campo
que se forman con claves y valores de clave. La clave indica la
información acerca de una posición sobre un eje de tiempo en el que
ocurre un cambio de un movimiento rotacional y de traslación. Los
valores de clave, indican la información rotacional correspondiente
con la información de la posición.
A continuación, los datos de valores de clave se
convierten a formato cuaternión, y después se realiza un procesado
DPCM adaptativo (ADPCM) de acuerdo con una ecuación de conversión de
rotación diferencial, y el procesado DPCM de los datos de clave se
realiza en la etapa 510. De manera más específica, se elimina la
redundancia en entre datos relativos a los datos de valor de clave
(KV_{i}, 0 - i - N-1) que se extraen en la unidad
de entrada de datos de campo 200, y se ajusta la precisión de la
representación de los datos. En particular, en la presente
invención, los datos de valor de clave se envían a la unidad de
conversión de cuaternión 205 antes del procesado ADPCM. La unidad de
conversión de cuaternión 205 convierte los datos de valor de clave,
esto es, la información rotacional, a un formato de cuaternión
representado por un número real (un ángulo de rotación) y tres
números imaginarios (ejes de rotación). A continuación, la unidad de
conversión de los datos de rotación diferencial 215 calcula los
datos de rotación diferenciales entre el valor de clave actual y la
entrada de valor de clave previo proveniente de la unidad de
conversión de cuaternión 205.
En la DPCM de la técnica anterior de los datos
de valor de clave, en el cálculo de una distancia de movimiento
desde una posición actual p de un objeto hasta una posición q del
objeto después de un movimiento de rotación, el valor del movimiento
de rotación se define mediante el valor de diferencia entre cada
elemento formado de ejes de rotación y un ángulo de rotación. Cuando
se considera solamente el valor de la diferencia, la redundancia de
los datos que se van a codificar es más baja, y no se pueden
expresar las características físicas del movimiento del objeto. Por
lo tanto, es difícil medir los efectos visuales sobre un error de
codificación. También, desde el aspecto de la restauración de los
datos, con el fin de expresar el elemento entre todos los datos de
valor de clave que tengan el valor más grande, se transmiten
adicionalmente dos bits de información desde un aparato de
codificación a un aparato de descodificación, como se muestra en la
figura 7a.
Por lo tanto, en la presente invención, con el
fin de codificar una distancia de movimiento rotacional entre
valores de clave de nodos de interpolación de la orientación, se
implementa un procedimiento de procesado que es diferente de la DPCM
de la técnica anterior, a través de la unidad de conversión de
rotación diferencial 215. En base al hecho de que la rotación de un
objeto en un espacio de cuaternión se describe mediante una
combinación de ejes de rotación y un ángulo de rotación, se
construye la unidad de conversión de rotación diferencial 215, por
ejemplo, como se muestra en la figura 3, de forma que la distancia
de movimiento rotacional con respecto al trayecto del movimiento
rotacional real también pueda estar definida por medio de una matriz
de conversión de rotación diferencial usando los ejes de rotación y
un ángulo de rotación.
A continuación, se explicará el principio de la
matriz de conversión de rotación diferencial usada en la unidad de
conversión de rotación diferencial 215.
Suponiendo que \vec{x} denota el vector de
posición actual de un objeto, (\vec{n}_{i-l},
\theta_{i-l}) denota los valores de clave
(valor_de_clave) cuando una clave satisface que clave =
k_{i-1}, e \vec{y}_{i-l}
denota un vector de desplazamiento de \vec{x} en el movimiento
rotacional del objeto, una ecuación de movimiento rotacional en un
espacio cuaternión se expresa como en la siguiente ecuación 3:
...
(3)Y_{i-1} = Q_{i-1}
* X *
Q^{\text{*}}_{i-1}
Donde X, Q_{i-1} y
Q_{i-1} son expresiones de cuaternión de
\vec{x}, \vec{y} y (\vec{n}_{i-1},
\theta_{i-1}) respectivamente.
De la misma manera, cuando clave = k_{i}, la
ecuación del movimiento rotacional en un espacio cuaternión se
expresa como en la siguiente ecuación 4:
... (4)Y_{i} =
Q_{i} * X *
Q^{\text{*}}_{i}
A partir de las ecuaciones 3 y 4, se deriva una
ecuación matricial para obtener un valor de rotación diferencial
como la siguiente ecuación 5:
... (5)Y_{i} =
Q_{i} * X * Q^{\text{*}}_{i} = Q_{i} * Q_{i-1} *
Y_{i-1} * Q_{i-1} * Q_{1} = Q'_{i} *
Y_{i-1} *
Q'_{i}
Por lo tanto, una ecuación matricial de
conversión diferencial de rotación de cuaternión que represente una
rotación diferencial se define como la siguiente ecuación 6:
... (6)Q'_{i}
= Q_{i} *
Q^{\text{*}}_{i-1}
Con referencia a la figura 3, en base a estas
ecuaciones, la unidad de conversión de rotación diferencial 215
incluye una matriz conversora de rotación diferencial 300, una
unidad de ajuste de elemento 320, una unidad de acumulación 335, y
una unidad de retardo 340. La unidad de generación de matriz de
conversión de rotación diferencial 300 recibe datos de valor de
clave que se convierten en un espacio de cuaternión y que van a ser
codificadas en el momento presente, y define una matriz de
conversión de rotación diferencial que va a ser codificada en el
momento presente de acuerdo con la ecuación 6. La unidad de ajuste
de elemento 320 redefine la matriz de conversión de rotación
diferencial que se va a codificar en el momento presente de forma
que se satisface una condición que en la matriz de conversión de
rotación diferencial (esto es, los ángulos de rotación y los ejes de
rotación) que están formados por cuatro elementos (v[0],
v[1], v[2], v[4]), el valor de un primer
elemento (v[0] = cos \theta/2, aquí \theta denota un
ángulo de rotación), siempre es mayor que cualquier valor de los
tres restantes elementos. En respuesta a la salida de la unidad de
conversión de rotación diferencial 215, la unidad de retardo 340
almacena las matrices conversoras de rotación diferencial que se
están restaurando en el momento presente y proporciona matrices de
conversión de rotación diferencial que fueron restaurados
anteriormente. La unidad de acumulación 335 acumula las matrices de
conversión de rotación diferencial restauradas antes mediante la
recepción secuencial de las matrices de conversión de rotación
diferencial anteriores provenientes de la unidad de retardo 340, y
saca el resultado a la unidad de generación de matriz de conversión
de rotación diferencial 300.
La unidad de ajuste de elemento 320 usa el
principio mostrado en la figura 4 de forma que se satisface una
condición que entre cuatro elementos (v[0], v[1],
v[2], v[3]) que forman la información de rotación, que
el valor del primer elemento sea siempre mayor que cualquier valor
de los restantes tres elementos. Esto es, cuando un objeto se mueve
desde una posición A a una posición B y gira \Omega grados en la
figura 4, si el primer elemento entre los elementos de una matriz de
conversión de rotación diferencial de este movimiento rotacional no
satisface la condición anteriormente mencionada, se usa un
procedimiento de redefinición de una matriz de conversión de
rotación diferencial. En este procedimiento de redefinición de una
posición P (A < P < B, 0 < \theta < \Omega) que se
obtiene cuando el objeto gira \theta grados a lo largo del
trayecto más corto de movimiento se define de manera arbitraria de
forma que se satisface la condición anteriormente mencionada.
Aquí se usa un procedimiento para comparar
magnitudes de diferencias de dos cuaterniones como un procedimiento
para seleccionar un trayecto de movimiento más corto que se produce
en un movimiento rotacional y de traslación del objeto. Por ejemplo,
la información de movimiento rotacional sobre dos arcos a través de
los que el cuaternión A de una posición de comienzo se mueve y gira
al cuaternión B de la posición tras un movimiento rotacional incluye
el cuaternión B y el cuaternión -B. En este momento, un cuaternión
que produce el valor más pequeño entre la magnitud de diferencia
desde el cuaternión A al cuaternión B y la magnitud de diferencia
desde el cuaternión A al cuaternión -B se selecciona como una (en el
ejemplo, B) que tenga el trayecto más corto de movimiento. Por lo
tanto, se define una matriz conversora de rotación diferencial que
satisfaga este trayecto más corto de movimiento como las siguientes
ecuaciones 7:
|A| = |B| =
|P| =
1
A \bullet B =
cos
\Omega
... (7)P =
A\frac{sen(\Omega - \theta)}{sen\theta} +
B\frac{sen\theta}{sen\Omega}
Además, si la posición del punto P se define
como una posición que está en la mitad de las posiciones A y B
(\theta = \Omega/2), se deriva una matriz de conversión de
rotación diferencial que también satisface la siguiente ecuación
8:
... (8)P =
\frac{A+B}{2cos\frac{\Omega}{2}}
Por lo tanto, si la primera componente (q_{0})
del cuaternión Q (q_{0}, q_{1}, q_{2}, q_{3}) que es
introducida desde la unidad de generación de la matriz de conversión
de rotación diferencial 300 a un estado 305 en la unidad de ajuste
de elemento 320 no es la más grande de entre las cuatro componentes,
la unidad de generación de valor de clave 310 define nuevos valores
de clave a partir del valor de clave previo y del valor de clave
actual, esto es, la información de rotación, de forma que el primer
elemento satisfaga la condición 305 de acuerdo con la ecuación 8. En
este momento, la información de rotación nuevamente definida es
almacenada en una memoria intermedia de trama 315 y al mismo tiempo
se saca a la unidad generadora de matriz de conversión de rotación
diferencial 300. La memoria intermedia de trama 315 almacena los
datos de valor de clave que se vayan a codificar en el momento
actual. La memoria intermedia de trama 315 almacena de manera
secuencial datos de valor de clave generados en la unidad de
generación de valor de clave 310 y proporciona información de
rotación actual y anterior. También, la memoria intermedia de trama
315 proporciona \theta, \Omega y un índice de valor de clave
correspondiente a la unidad DPCM 210 con el fin de generar una clave
de acuerdo con la generación de valores de clave por \theta. La
siguiente ecuación 9 describe la generación de clave en la unidad
DPCM 210:
... (9)K_{i} =
K_{i-1} + (K_{1} -
K_{i-1})*\frac{\theta}{\Omega}
Los datos de clave (K_{i}, 0 - i -
N-1) que se extraen en la unidad de entrada de datos
de campo 200 se aplican a la unidad DPCM 210. La unidad DPCM 210
genera una nueva clave también mediante la unidad de conversión de
rotación diferencial 215. La unidad DPCM 210 saca los primeros datos
de clave (K_{0}) sin cambio, y saca los restantes datos de clave
calculando el valor de diferencia (KD_{i}) entre la clave
(K_{i-1}) que fue previamente restaurada y la
clave (K_{i}) que se va a codificar en el momento presente. La
unidad DPCM 210 elimina la redundancia entre datos y ajusta la
precisión de la representación de datos de forma que se realice un
proceso de compresión real.
Como se ha descrito anteriormente, mediante el
ajuste de un valor de un primer elemento de un cuaternión, en la
unidad de ajuste de elemento 320 de forma que el valor de primer
elemento tenga el valor más grande, información adicional de dos
bits, esto es, información que indique qué elemento es el mayor
entre los cuatro elementos, de solamente los valores de clave
iniciales se transmite al aparato de descodificación. En la técnica
anterior, la información adicional de dos bits sobre todos los
valores de clave se transmite al aparato de descodificación. Por lo
tanto, la sintaxis de la técnica primera mostrada en la figura 7a se
puede cambiar a una sintaxis mejorada de acuerdo con la presente
invención mostrada en la figura 7b. De acuerdo con esto, cuando se
codifiquen realmente N datos de valor de clave, se generan 2
(N-1) bits menos en la presente invención en
comparación con los bits generados en la técnica anterior debido a
la información adicional que se transmite en la técnica
anterior.
Con referencia de nuevo a la figura 5, tras la
etapa 510, la clave y los datos de los valores de clave que son
procesados ADPCM son cuantificados en la etapa 520. Con el fin de
eliminar la redundancia de bits en los valores cuantificados, la
clave cuantificada y los valores de clave cuantificados son
codificados de manera aritmética y sacados como datos de flujo en
formato binario en la etapa 530.
Un factor importante en la reducción de manera
efectiva de la cantidad de datos que realmente vayan a ser
codificados es la retirada de la redundancia de bits. Esto es, los
bits cuantificados tienen redundancia y procedimientos conocidos
para eliminar esta redundancia incluyen un procedimiento de
Codificación de Longitud Variable (VLC) y un procedimiento de
codificación de Huffman que usan un patrón de símbolos. En la
presente invención, se usa un procedimiento de codificación
aritmética en el que se elimina la redundancia de bit por medio del
cálculo de la frecuencia de la generación de símbolos usando
probabilidades condicionales. La unidad de codificación de la
entropía 225 de la figura 2 realiza este procedimiento y la unidad
de salida de datos de campo binarios 230 para sacar los datos
binarios comprimidos saca los datos codificados como datos de flujo
en formato binario.
Aquí, la determinación de la estructura de los
datos del flujo con respecto a los tipos y a las funciones de los
servicios de flujo es considerada en la etapa de formación del
flujo. Las figuras 6a y 6b muestran dos tipos de estructuras de
datos de flujo. La figura 6a muestra una estructura de datos que es
proporcionada cuando la característica en tiempo real de servicios
no es considerada y tiene la forma más simple. En esta estructura,
el retardo ocurre durante el mismo periodo de tiempo que el periodo
de tiempo en el que se restauran los datos de clave. En comparación
con la estructura de la figura 6b, la estructura de la figura 6a
tiene un coste de procesamiento mayor del aparato de codificación y
un coste de procesamiento menor del aparato de descodificación. La
estructura de la figura 6b proporciona la característica en tiempo
real y funcionalidad adicional de servicios de datos. En esta
estructura, inmediatamente tras la restauración de una clave y de
los correspondientes valores de clave, se habilita la visualización.
También, una función adicional es la resistencia al error. Esto es,
aunque los datos actuales tienen una pérdida, la pérdida se puede
recuperar hasta un grado con los datos anteriores y con los
siguientes datos que se vayan a restaurar. Para proporcionar las
estructuras de datos mostradas en las figuras 6a y 6b, los datos que
se vayan a codificar se codifican en orden de
200 \rightarrow 205 \rightarrow 215 \rightarrow 210 \rightarrow 220 \rightarrow 225 de la figura 2. En la etapa 225, se realiza una codificación aritmética en la clave y en los valores de clave. De acuerdo con la estructura de datos de las figuras 6a y 6b, el orden de las claves y de los valores de clave que van a ser codificados es diferente.
200 \rightarrow 205 \rightarrow 215 \rightarrow 210 \rightarrow 220 \rightarrow 225 de la figura 2. En la etapa 225, se realiza una codificación aritmética en la clave y en los valores de clave. De acuerdo con la estructura de datos de las figuras 6a y 6b, el orden de las claves y de los valores de clave que van a ser codificados es diferente.
Con referencia de nuevo a la figura 5, tras la
etapa 530, los datos de salida codificados son restaurados en el
proceso inverso del proceso de codificación descrito anteriormente.
Con respecto al resultado de la restauración, en la etapa 540 se
mide la distorsión visual para evaluar el funcionamiento del aparato
de codificación. Cuando se restauran los datos de salida
codificados, la unidad de medida de la distorsión 265 mide la
calidad visual con respecto a la información original antes de la
codificación. Para esto, la unidad de descodificación está formada
por los elementos 235 al 260 de la figura 2 y el proceso que se
realiza en la unidad de descodificación es el proceso inverso al que
se realiza en la unidad de codificación.
El funcionamiento del aparato de codificación se
mide por medio de un valor característico, esto es, la distorsión de
la calidad visual con respecto a una disminución en la cantidad de
datos. En los procedimientos de codificación de la técnica anterior
para medir el funcionamiento de un aparato de codificación, se usa
un valor característico, por ejemplo, usando la ecuación 1. Sin
embargo, en este procedimiento, se calcula un error de
cuantificación para cada elemento para la rotación, de forma que las
característica de un espacio cuaternión no se pueden mostrar y no se
puede expresar de manera objetiva el grado de la distorsión visual
de un movimiento de rotación real. Por lo tanto el aparato de
codificación de acuerdo con la presente invención incluye de manera
adicional una unidad mejorada de medida de la distorsión 265 que
satisface las características de un espacio cuaternión y que es
capaz de medir de manera objetiva la distorsión visual con respecto
a la cuantificación. La unidad de medida de la distorsión 265 mide
los errores de cuantificación, relativos a todos los puntos sobre la
superficie de un objeto como todos los puntos sobre una superficie
esférica unidad. El principio básico de la medida se explicará a
continuación.
Un error de codificación se define como un valor
de diferencia de dos transformaciones rotacionales. Esto es,
suponiendo que (\vec{r}, \theta) denota valores de clave de un
nodo interpolador de la orientación y que (\vec{r} ', \theta')
denota valores de clave obtenidos mediante la restauración de
valores de clave a través de la unidad de descodificación
(\vec{r} denota un eje de rotación, \theta denota un ángulo de
rotación, y el ángulo de rotación satisface \theta \in[-\pi,
\pi]), \vec{x} es un vector de posición arbitrario sobre una
superficie esférica y satisface S = {\vec{x}| {\left\Arrowvert
\vec{x}\right\Arrowvert} = 1}. Cuando se realiza una transformación
rotacional desde \vec{x} a \vec{y} e \vec{y}' mediante
(\vec{r}, \theta) y (\vec{r} ', \theta'), se calcula un
error de codificación que ocurre como la diferencia entre \vec{y}
e \vec{y}'. Un vector de error de codificación
\vec{e}(\vec{x}) satisface \vec{e}(\vec{x}) =
\vec{y} - \vec{y}'. Cuando los vectores de error de codificación
\vec{e}(\vec{x}) de todos los puntos sobre una superficie
esférica unidad se calculan usando esta ecuación, se calculan las
RMS (D_{m}) para toda la superficie esférica y se calcula un error
máximo (D_{p}) por medio de las siguientes ecuaciones 10:
Mientras tanto, la relación entre \vec{y} e
\vec{y}' se puede expresar en una ecuación de transformación
rotacional como la siguiente ecuación 11:
...
(11)\vec{y}' = T_{\vec{y}', \theta'}
(\vec{y})
\newpage
Un vector error de la codificación que se deriva
de estas ecuaciones se define como las siguientes ecuaciones 12:
\left\Arrowvert
\vec{e}(\vec{x})\right\Arrowvert = 2 cos \varphi \ sin
\frac{\theta''}{2}
donde
\vec{x} = (1, \phi, \varphi), \phi =
ángulo acimutal, \phi \in[-\pi, \pi],
\varphi = ángulo de longitud, \varphi \in
\left[-\frac{\pi}{2}, \frac{\pi}{2}\right]
\hskip9.5cm... (12)
La RMS (D_{m}) y un error máximo (D_{p}) que
se derivan nuevamente de acuerdo con las ecuaciones 10 a la 12 se
definen como la siguiente ecuación 13:
Mientras tanto, \vec{x}, \vec{y} e \vec{y}
están definidos en un espacio de cuaternión como:
\newpage
Si (\vec{r}, \theta) y (\vec{r},
\theta') que representan una transformación rotacional son
expresados en un espacio cuaternión y se hace referencia a ellos
como Q y Q' respectivamente, se pueden derivar las ecuaciones Y = Q
* X * Q^{\text{*}} y X = Q^{\text{*}} * Y * Q. Aquí, A*B indica
una multiplicación de cuaternión y A^{\text{*}} denota el
conjugado de A. A partir de estas ecuaciones, se derivan las
siguientes ecuaciones:
Y' = Q' * X *
Q'{}^{\text{*}} = Q' * Q^{\text{*}} * Y * Q * Q'{}^{\text{*}} = Q''
* Y *
Q''{}^{\text{*}}
Q'' denota la operación de transformación de
rotación entre \vec{y} e \vec{y}', y se define como en la
siguiente ecuación 14:
... (14)Q'' =
Q' *
Q^{\text{*}}
Por lo tanto, usando las ecuaciones 13 y 14, RMS
(D_{m}) de un error de codificación para toda la superficie
esférica unidad y el error máximo (D_{p}) se definen como en las
siguientes ecuaciones 15 o la ecuación 16:
(\bullet indica operación producto
interior)
\vskip1.000000\baselineskip
Las ecuaciones 15 y 16 reflejan las
características físicas del movimiento rotacional y de traslación de
un objeto en un espacio cuaternión y por lo tanto, son valores más
precisos que los de la ecuación 1. Por lo tanto, en la presente
invención, la unidad de medida de la distorsión 265 está formada
para usar la ecuación 15 o la ecuación 16. De acuerdo con esto, la
presente invención se caracteriza porque puede medir el grado de la
distorsión visual debido a un error de cuantificación de una manera
más objetiva y más precisa que en los procedimientos de la técnica
anterior.
La figura 8 es un diagrama de bloques
esquemático de un aparato de codificación para un nodo interpolador
de la orientación de acuerdo con una segunda realización preferida
de la presente invención.
Con referencia a la figura 8, el aparato de
codificación básicamente incluye una unidad de entrada de datos de
campo de un nodo interpolador de la orientación 800, una unidad de
procesado de datos de campo, una unidad de cuantificación 805, una
unidad diferencial lineal 807 y una unidad de salida de datos de
campo binarios comprimidos 810, e incluye de manera adicional una
unidad de codificación de la entropía 809. La unidad de procesado de
datos de campo incluye una unidad de conversión de cuaternión 801,
una unidad de eliminación de trama de clave 802, y una unidad
diferencial lineal/rotacional 803, y de manera adicional incluye una
unidad de cuantificación inversa 806, una unidad de retardo 819 y
una unidad de integración lineal/rotacional 804.
La unidad de conversión de cuaternión 801
convierte los valores de clave a valores de cuaternión. Usando
similitud en la transformación de rotación con respecto a cambios
continuos en el tiempo, la unidad de eliminación 802 de trama de
clave elimina tramas de clave y claves, respectivamente, de los
valores de cuaternión provenientes de la unidad de conversión de
cuaternión 801 y claves provenientes de la unidad de entrada de
datos de campo de un nodo interpolador de la orientación 800, dentro
de un límite de error permisible, y saca después las tramas de clave
y las claves seleccionadas. La unidad diferencial lineal 803 recibe
las tramas de clave y las claves seleccionadas y obtiene
diferenciales rotacionales entre diferentes valores entre claves y
valores de cuaternión. La unidad de cuantificación 805 cuantifica
los valores convertidos por la unidad diferencial lineal/rotacional
803. La unidad diferencial lineal/rotacional 807 obtiene
diferenciales lineales de valores de cuaternión cuantificados. La
unidad de codificación de entropía 809 elimina la redundancia de
bit. Mientras tanto, el aparato de codificación incluye además la
unidad de cuantificación inversa 806 para recibir la salida
proveniente de la unidad de cuantificación 805 y cuantifica
inversamente la salida, la unidad de retardo 819 para retardar la
salida de la unidad de cuantificación inversa 806, y la unidad de
integración lineal/rotacional 804 para la rotación - integración (o
acumulación) de la salida de la unidad de retardo 819 e introducir
el resultado a la unidad diferencial lineal/rotacional 803.
También, con el fin de confirmar el resultado
restaurado de los datos de salida en la pantalla y para medir el
grado de distorsión visual debido al error de cuantificación, el
aparato de cuantificación incluye de manera adicional una unidad de
descodificación para realizar de manera inversa el procedimiento de
codificación de la unidad de procesado de datos de campo menos la
función de la unidad de retirada de trama de clave 802. La unidad de
descodificación incluye una unidad de descodificación de entropía
811, una unidad de integración lineal 813, una unidad de retardo
821, una unidad de cuantificación inversa 814, una unidad de
integración lineal/rotacional 815, una unidad de retardo 822, una
unidad conversora de cuaternión 815, una unidad de salida de datos
de campo de un nodo interpolador de la orientación 817, y una unidad
de medida de la distorsión 818.
La unidad de medida de la distorsión 818 mide el
grado de distorsión de calidad visual del cuadro con respecto a una
disminución en la cantidad de datos. De acuerdo con la realización
preferida de la presente invención, la unidad de medida de la
distorsión 818 mide de manera más objetiva y más precisa el grado de
distorsión de la calidad visual del cuadro debido a la
cuantificación, reflejando las características de la transformación
de rotación. A continuación se explica el principio básico de la
medida. Un error de cuantificación se define como un ángulo de
rotación diferencial en una transformación de rotación diferencial
de la transformación de rotación original y la transformación de
rotación restaurada. Esto es, suponiendo que (\vec{r}, \theta)
denota un valor de clave de un nodo interpolador de la orientación y
que (\vec{r} ', \theta') denota un valor de clave obtenido
mediante la restauración del valor de clave a través de la unidad de
descodificación (\vec{r} denota un eje de rotación, \theta
denota un ángulo de rotación, y el ángulo de rotación satisface
\theta \in[-\pi, \pi]), cuando se realiza una transformación
de rotación desde una posición arbitraria \vec{x} a \vec{y} e
\vec{y}' sobre un espacio tridimensional por medio de (\vec{r},
\theta) y (\vec{r} ', \theta'), se calcula un error de
cuantificación \vec{e}(\vec{x}) que ocurre como la
diferencia entre \vec{y} e \vec{y}', es decir,
\vec{e}(\vec{x}) = \vec{y} - \vec{y}'. En la
expresión de cuaternión, \vec{x}, \vec{y} e \vec{y}' se
definen como en las siguientes ecuaciones 17:
Si (\vec{r}, \theta) y (\vec{r}',
\theta') que representan una transformación de rotación están
expresados en un espacio de cuaternión y se hace referencia a los
mismos como Q y Q' respectivamente, se derivan las siguientes
ecuaciones 18:
Y = Q * X *
Q^{\text{*}}
... (18)X =
Q^{\text{*}} * Y *
Q
En las que A*B indica la multiplicación de
cuaternión y A^{\text{*}} denota al conjugado de A. Por lo tanto,
se deriva la siguiente ecuación 19:
... (19)Y' =
Q' * X * Q'{}^{\text{*}} = Q' * Q^{\text{*}}* Y * Q *
Q'{}^{\text{*}} =
Q''*Y*Q''{}^{\text{*}}
Aquí, Q'' denota la información de la
transformación de rotación entre \vec{y} e \vec{y}', \theta''
que se define como la siguiente ecuación 20:
... (20)Q'' =
Q' *
Q^{\text{*}}
Por lo tanto, si \theta'' denota un ángulo de
rotación diferencial entre \vec{y} e \vec{y}', \theta'' se
puede obtener usando la ecuación de conversión de cuaternión y la
ecuación 20 como la siguiente:
...
(21)\theta'' = 2cos^{-1} q_{0}'' =
2cos^{-1}(Q'\bullet Q), \theta'' \in [0,\pi], q_{0}'' = Q'\bullet
Q,
(\bullet indica la operación
producto
interior).
La ecuación 21 indica un error de cuantificación
instantáneo que ocurre en un instante predeterminado entre todas las
tramas de clave de animación. Con el fin de derivar una ecuación
para obtener un error de cuantificación de todos los intervalos de
animación, la ecuación 21 se puede expresar por medio de un error de
cuantificación instantáneo en un instante predeterminado t como en
la siguiente ecuación 22:
...
(22)e(t) = 2arccos\{Q(t)\bullet
Q^{1}(t)\}
Si la ecuación 20 se aplica a todos los
intervalos de trama de clave que realizan la animación mediante el
procedimiento de interpolación de la orientación, se pueden derivar
el error promedio E_{m} y el error máximo E_{p} para todos los
intervalos [t_{0}, t_{L}] como en las siguientes ecuaciones
23:
Aquí, la suma parcial E_{m}^{i} se obtiene
primero del intervalo [t_{i-1}, t_{i}] con el
fin de obtener E_{m} como en la siguiente ecuación 24:
...
(24)E^{i}_{m} =
\int^{t_{i}}_{t_{i-1}} e^{2}(t)dt = 4
\int^{t_{i}}_{t_{i-1}} arccos^{2}[Q(t)\bullet
Q'
(t)]dt
Mientras tanto, como:
4 \ arccos^{2}
Q(t)\bullet Q'(t) = \phi^{2} (\alpha), t =
t_{i-1} + \alpha(t_{i} -
t_{i-1})
se puede derivar la siguiente
ecuación
25:
...
(25)E^{i}_{m} = (t_{i} -
t_{i-1})\int^{1}_{0}
\phi^{2}(\alpha)d\alpha
Como es difícil obtener la integral definida de
la función \phi^{2} (\alpha), en el intervalo de integración
[0, 1], se realiza una aproximación como la de las siguientes
ecuaciones 26 y 27:
...
(26)\phi(\alpha)\cong\phi(0) +
\alpha\{\phi(1)-\phi(0)\}
...
(27)\phi^{2}({\alpha})\cong\phi^{2}(0) +
\alpha^{2}\{\phi(1)-\phi(0)\}^{2} +
2\alpha\phi\{\phi(1)-\phi(0)\}
Aquí,
\hskip0.5cmcos\frac{\phi (0)}{2} = Q(t_{i-1}) \bullet Q'(t_{i-1}),
\hskip0.5cmy
\hskip0.5cmcos\frac{\phi(I)}{2} = Q(t_{i}) \bullet Q'(t_{i}).
Usando la función aproximada, la suma parcial
E_{m}^{1} se puede obtener como la siguiente ecuación 28:
...
(28)E^{i}_{m} \cong\frac{1}{3}(t_{i} -
t_{i-1})\{\phi^{2}(0)+\phi^{2}(1) +
\phi(0)\phi(1)\}
La ecuación 28 se puede escribir como la
siguiente ecuación 29:
E^{i}_{m}\cong\frac{4}{3}(t_{i}-t_{i-1})[arccos^{2}(Q(t_{i-1})\bullet
Q'(t_{i-1})) + arccos^{2}(Q(t_{i})\bullet
Q'(t_{1}))
...
(29)arccos(Q(t_{i-1})\bullet
Q'(t_{i-1}))arccos(Q(t_{1})\bullet
Q'(t_{i}))]
También, la suma parcial E_{m}^{i} se puede
sumar a todos los intervalos [t_{0}, t_{L}] y el error medio
E_{m} se obtiene como la siguiente ecuación 30:
...
(30)E_{m}\cong\sqrt{\frac{1}{t_{L} - t_{0}}
\sum\limits^{L}_{i=1}
E^{i}_{m}}
\newpage
Para obtener el error máximo E_{p}, se
selecciona un valor máximo entre el error máximo E_{p}^{i} en
cada intervalo
[t_{i-1}, t_{i}], que se obtiene mediante la siguiente ecuación 31:
[t_{i-1}, t_{i}], que se obtiene mediante la siguiente ecuación 31:
Usando la función de aproximación descrita
anteriormente, E_{p}^{i} se puede aproximar usando la siguiente
ecuación 32:
...
(32)E^{i}_{p}\cong max\{\phi(0),
\phi(1)\} = max\{2\left\bracevert
arccos(Q(t_{i-1}) \bullet
Q'(t_{i-1})) \right\bracevert.2\left\bracevert
arccos(Q(t_{i}) \bullet
Q'(t_{i}))\right\bracevert\}
El error máximo E_{p} en todos los intervalos
[t_{0}, t_{L}] se expresa como la siguiente ecuación 33:
Por lo tanto, la unidad de medida de la
distorsión 818 mide la distorsión en base a las ecuaciones 32 y 33,
de forma que puede medir de manera más objetiva y más precisa el
grado de distorsión visual debido a un error de cuantificación en un
espacio de cuaternión.
La unidad de eliminación de trama de clave 802
elimina las tramas de clave dentro de un límite de error permisible,
usando la similitud en la transformación de rotación con respecto a
cambios continuos en el tiempo. Este procedimiento para eliminar
tramas de clave es uno de un grupo de procedimientos de codificación
de pérdida. En la codificación de pérdida de la animación de trama
de clave, las BIFS MPEG-4 de la técnica anterior
usan un procedimiento en el que la cuantificación baja de bit se
realiza de manera uniforme para los valores de clave de todas las
tramas de clave. Sin embargo, el procedimiento no puede reflejar
cuánto es responsable cada trama de la degradación de la calidad
visual del cuadro. De acuerdo con esto, la cuantificación baja de
bit da como resultado una gran degradación en la calidad del cuadro.
La unidad de eliminación de trama de clave 802 realiza una
cuantificación de bit relativamente alta para cada trama de clave,
mientras elimina las tramas de clave con el fin de tener una menor
influencia en la degradación de la calidad visual del cuadro. Por lo
tanto, la unidad de eliminación de la trama de clave 802 genera una
cantidad de datos similar a la de la técnica anterior mientras que
mantiene una mucho mejor calidad visual del cuadro.
Con referencia a las figuras 14 a la 19, se
explica ahora en detalle el proceso para eliminar las tramas de
clave en la unidad de eliminación de tramas de clave 802.
Etapa
1
Haciendo referencia a la figura 14, un punto
negro indica valores de clave (= Q_{0}, Q_{1}, Q_{2}, ...,
Q_{n}) de cada trama de clave con respecto a n+1 puntos de tiempo
en el trayecto original de animación.
Etapa
2
Como se muestra en la figura 15, se seleccionan
primero dos tramas de clave (= Q_{0}, Q_{n}) correspondientes a
dos finales del trayecto de animación entre tramas de clave en el
trayecto de animación. Los puntos seleccionados se muestran como
puntos blancos.
Etapa
3
Como se muestra en la figura 16, se selecciona
una trama de clave entre las tramas de clave excepto las dos tramas
de clave finales seleccionadas. En este momento, el número de
procedimientos para seleccionar una trama de clave es (n - 1). La
figura 16 muestra un ejemplo en el que se seleccionan y se marcan
las dos candidatas mediante líneas oblicuas. A continuación, usando
un total de tres tramas de clave seleccionadas (Q_{0}, Q_{1}, y
Q_{n}, o Q_{0}, Q_{k}, y Q_{n}), se realiza la interpolación
lineal esférica para las (n - 1) candidatas que no estén
seleccionadas.
Etapa
4
Mediante la comparación del trayecto de
animación original y los (n-1) trayectos
interpolados, se selecciona un trayecto de animación que tenga el
error de trayecto más pequeño, y se selecciona una nueva trama de
clave del trayecto de animación seleccionado. El error entre
trayectos se obtiene mediante el uso de un error promedio E_{m}
descrito anteriormente
\newpage
Etapa
5
La figura 17 muestra un ejemplo en el que se
selecciona el trayecto de candidato 2
Etapa
6
Como se muestra en la figura 18, se selecciona
una trama de clave entre las tramas de clave excepto las tres tramas
de clave seleccionadas. Después, se realizan las etapas 3 y 4
Etapa
7
La figura 19 muestra un ejemplo en el que se
selecciona el trayecto de candidato 1
Etapa
8
Las etapas 6 y 7 se realizan de manera
repetitiva hasta que el error promedio comienza a ser menor que un
error permisible
La unidad diferencial lineal/rotacional 803
obtiene diferenciales rotacionales entre valores de clave
correspondientes a claves continuas sobre el espacio de cuaternión,
usando la ecuación diferencial rotacional.
En el procedimiento diferencial lineal de la
técnica anterior, se calcula un diferencial lineal entre un
cuaternión Q_{1} de transformación de rotación de un objeto
correspondiente a una clave actual y un cuaternión Q_{2} de
transformación de rotación del objeto correspondiente a la siguiente
clave, mediante las siguientes ecuaciones 34:
Q_{1} =
(q_{01}, q_{11}, q_{21}, q_{31}), Q_{2} = (q_{02},
q_{12}, q_{22},
q_{32})
...
(34)Q_{DPCM} = (q_{01}-q_{02}, q_{11}-q_{12},
q_{21}-q_{22},
q_{31}-q_{32})
De esta forma, el procedimiento que considera
solamente los valores diferencia entre las componentes de cuaternión
no puede mostrar los valores diferenciales de rotación que tienen en
cuenta la transformación de rotación real, de forma que el
procedimiento da como resultado una disminución en la redundancia de
datos que se vayan a codificar. También, con el fin de reducir el
número de bits que se vayan a codificar, solamente se codifican tres
componentes excepto un componente que tenga el valor más grande de
entre cuatro componentes de cuaternión. A partir del aspecto de la
restauración de los datos, en este procedimiento diferencial lineal
de la técnica anterior, se deberá transmitir de manera adicional
una información de 2 bits de longitud desde el aparato de
codificación al aparato de descodificación con el fin de indicar un
componente que tenga el valor más grande en cada valor de clave.
Por lo tanto, al codificar los datos mediante el
uso de diferenciales de transformación de rotación entre valores de
clave de un nodo interpolador de la orientación, la unidad
diferencial lineal/rotacional 803 de la realización preferida de la
presente invención adopta un procedimiento diferencial
lineal/rotacional diferente al del procedimiento de la técnica
anterior. El procedimiento adoptado se explicará a continuación en
detalle.
Suponiendo que \vec{x} denota el vector de
posición actual de un objeto, (\vec{n}_{i-1},
\theta_{i-1}) denota los valores de clave
(valor_clave) cuando una clave satisface clave =
k_{i-1}, y \vec{y}_{i-1}
denota un vector desplazamiento de \vec{x} después de un
movimiento de rotación y de traslación del objeto, una ecuación del
movimiento de rotación y de traslación en un espacio de cuaternión
se expresa como la siguiente ecuación 35:
...
(35)Y_{i-1} =
Q_{i-1}*X*Q^{\text{*}}_{i-1}
Aquí, X, Y_{i-1}, y
Q_{i-1} son expresiones de cuaternión de
\vec{x}, (\vec{n}_{i-1},
\theta_{i-1}) y \vec{y}_{i-1}
respectivamente. De la misma manera, cuando clave = k_{i}, la
ecuación del movimiento de rotación y de traslación en un espacio
cuaternión se expresa como la siguiente ecuación 36:
... (36)Y_{i}
=
Q_{i}*X*Q^{\text{*}}_{i}
Mientras tanto, a partir de la ecuación
q =
\left(cos\frac{\theta}{2}, \frac{n_{x}}{\left\Arrowvert
n\right\Arrowvert} sen \frac{\theta}{2},
\frac{n_{y}}{\left\Arrowvert n\right\Arrowvert} sen
\frac{\theta}{2}, \frac{n_{t}}{\left\Arrowvert n\right\Arrowvert}
sen
\frac{\theta}{2}\right)
\newpage
y de la ecuación Q'' = Q' *
Q^{\text{*}}, se deriva una ecuación para obtener un valor de
rotación diferencial como la siguiente ecuación
37:
... (37)Y_{i}
= Q_{i} * X * Q^{\text{*}}_{i} = Q_{i}*
Q^{\text{*}}_{i-1} * Y_{i-1} *
Q_{i-1} * Q^{\text{*}}_{i-1} =
Q'{}^{\text{*}}_{i} * Y_{i-1} *
Q'{}^{\text{*}}_{i}
Por lo tanto, se define una ecuación matricial
diferencial de rotación de conversión de cuaternión que represente
un diferencial de rotación, como la siguiente ecuación 38:
... (38)Q'_{i}
= Q_{i} *
Q^{\text{*}}_{i-1}
En la presente realización, con el fin de
reducir el número de bits que se vayan a codificar, solamente se
codifican tres componentes, excluyendo el primer componente, de
cuatro componentes que forman un valor de rotación diferencial. Por
lo tanto, usando las tres componentes, la unidad de descodificación
restaura el componente restante. A continuación se explicará en
detalle el procedimiento de descodificación. Todos los valores
diferenciales de rotación están representados por medio de valores
de expresión de cuaternión unidad. Por lo tanto, la norma de un
cuaternión que represente un diferencial de rotación siempre es 1.
En base a esto, se restaura el componente restante usando la
siguiente ecuación 39:
...
(39)\hat{q}_{0} = \sqrt{1-(\hat{q}^{2}_{1} +
\hat{q}^{2}_{2} +
\hat{q}^{2}_{3})}
En la ecuación 39, \hat{q}_{1},
\hat{q}_{2} y \hat{q}_{3} son los tres componentes de los
valores diferenciales de rotación restaurados, respectivamente, y
\hat{q}_{0} es el primer componente restaurado usando los tres
componentes. En este caso, la suma de los cuadrados de los tres
componentes del valor diferencial de rotación restaurado puede
sobrepasar 1 debido a un error de cuantificación. En este momento,
el valor de \hat{q}_{0} es un valor muy cercano a cero y menor
que una unidad mínima que se puede cuantificar por medio de la
unidad de cuantificación 805. Físicamente, esto significa una
transformación de rotación de ángulo de 180 grados. Por lo tanto, la
unidad de descodificación debería tener un procedimiento para
determinar el valor de \hat{q}_{0} en este caso. Además, la
influencia del valor de \hat{q}_{0} determinado en los otros
tres componentes se debería minimizar. Como un ejemplo, se puede
determinar un valor unidad mínimo de cuantificación o su valor
múltiplo
proporcional como el valor de \hat{q}_{0}. Una ecuación específica para obtener el valor es como en la siguiente ecuación 40:
proporcional como el valor de \hat{q}_{0}. Una ecuación específica para obtener el valor es como en la siguiente ecuación 40:
...
(40)\hat{q}_{0} = \alpha \cdot 2^{\sim m} = \alpha
\cdot\frac{1}{2^{m}}
Aquí, \alpha denota una constante de
proporcionalidad y m denota el número de bits de cuantificación.
Este procedimiento tiene mérito en que la información adicional de 2
bits, que se da a cada uno de todos los valores de clave en el
procedimiento diferencial lineal de la técnica anterior, no necesita
ser enviada al aparato de descodificación. Además, como se muestra
en la figura 13, la presente realización puede derivar la sintaxis
(b) a partir de la sintaxis (a) del procedimiento diferencial lineal
de la técnica anterior. Como resultado, cuando se codifica realmente
N valores de clave, la presente realización puede reducir la
cantidad de bits generados por 2N bits a partir de la cantidad de
bits generados en la información adicional de la técnica
primera.
La figura 11 es un diagrama de referencia para
explicar un error de dirección de rotación en la codificación de
cuaternión usando un diferencial de rotación. el error de dirección
de rotación ocurre porque la codificación de cuaternión es un tipo
de codificación con pérdidas.
Haciendo referencia a la figura 11, y suponiendo
que Q_{i} denota la posición del objeto en base a la información
de rotación que es introducida en el momento actual, y que
Q_{i-1} denota la posición anterior del objeto, la
relación de las dos posiciones se puede expresar mediante cuatro
áreas diferentes. Esto es, si el objeto gira desde la posición
Q_{i-1} a la posición Q_{i} a través del arco
más corto y la relación de las dos posiciones está en el área 1 ó en
el área 3, el objeto rota en el sentido contrario a las agujas del
reloj desde Q_{i-1} a Q_{i}. También, si el
objeto gira desde la posición Q_{i-1} a Q_{i} a
través del arco más corto y la relación de las dos posiciones está
en el área 2 ó en el área 4, el objeto gira en el sentido de las
agujas del reloj desde Q_{i-1} a Q_{i}.
Si el objeto gira de acuerdo con la información
de rotación que está codificada y que después se descodifica, la
unidad de descodificación gira el objeto usando dos valores: la
información de descodificación \hat{Q}_{i-1}
correspondiente a la información de rotación original
Q_{i-1}, y \hat{Q}_{i} correspondiente a
Q_{i}. Por lo tanto, haciendo referencia de nuevo a la figura 11,
la posición de \hat{Q}_{i} frente a
\hat{Q}_{i-1} está en el área 2 y en el área 3,
el objeto gira en el sentido contrario a las agujas del reloj y si
la posición está en el área 1 y en el área 4, el objeto gira en el
sentido de las agujas del reloj. De esta forma, haciendo girar el
objeto usando la información de rotación original y haciendo girar
el objeto usando la información de rotación de descodificación se
provoca rotaciones en sentidos contrarios en el área 1 y en el área
2. Esto es porque en la codificación de cuaternión, se realiza la
codificación con pérdidas y por lo tanto Q_{i} no es la misma que
\hat{Q}_{i}. Esto ocurre de manera inevitable en la codificación
con pérdidas. Como área 1 y área 2 son esencialmente áreas, se
necesita una operación para minimizar la rotación inversa o para
hacer que la dirección de rotación sea la misma que la de la
dirección original. En la presente realización, se adoptó la última
operación.
\global\parskip0.990000\baselineskip
Brevemente, la explicación de la función de
corrección de la dirección de rotación, con referencia a la figura
11, se detectan las áreas 1 y 2 en las que ocurre un error en la
dirección de rotación, el valor de cuaternión diferencial que va a
ser codificado es controlado de manera obligatoria de forma que la
dirección de rotación sea la misma que la dirección de rotación
original. Aunque la inconsistencia en las direcciones de rotación
también ocurre en el área 2, en el área 2 a diferencia del área 1,
el valor de cuaternión original y el valor de cuaternión restaurado
son convergentes. Por lo tanto, la función de corrección de la
dirección de rotación se realiza en el área 1 y no en el área
2.
Las figuras 9 y 10 son diagramas de bloques para
explicar la función de corrección de la dirección de rotación del
aparato de codificación de la figura 8.
Con referencia a la figura 9, una unidad de
cálculo de error de la dirección de rotación 950 y una unidad de
determinación 960 detectan un caso del área 1.
Como se muestra en la figura 10, la unidad de
cálculo de error de la dirección de rotación 950 incluye las
unidades de cálculo de diferencia de rotación de cuaternión 952, 953
y 954 para calcular tres valores de cuaternión de rotación
diferencial. Los tres valores obtenidos de rotación diferencial A, B
y C son de la siguiente manera:
- Valor de
rotación diferencial A:
\hskip0.3cm
Q_{i} (Q_{i-1})^{\text{*}}
Aquí, el valor de rotación diferencial A indica
la dirección de rotación del objeto en un intervalo de tiempo
[t_{i-1}, t_{i}] mediante la información
original de rotación.
- Valor de
rotación diferencial B:
\hskip0.3cm
Q_{i-1} (\hat{Q}_{i-1})^{\text{*}}
Aquí, el valor de rotación diferencial B indica
el error de rotación y la dirección del objeto debido a un error de
la codificación en el instante t_{i-1}.
- Valor de
rotación diferencial C:
\hskip0.3cm
Q_{i} (\hat{Q}_{i-1})^{\text{*}}
Aquí, el valor de rotación diferencial C indica
la dirección de información de cuaternión diferencial que se
proporciona para su codificación en el instante t_{i}.
La unidad de determinación 960 determina el área
1 como se explicó en la figura 11, usando los tres valores de
rotación diferencial A, B y C. Si es el caso del área 1, la unidad
de determinación 980 selecciona una entrada desde la unidad de
saturación de dirección de la rotación 970 para fijar la dirección
de rotación a un valor de saturación, de forma que la dirección de
rotación se corrija al mismo valor que la dirección de rotación
original. Si no es el caso del área 1, la unidad de determinación
980 selecciona una entrada desde la unidad de cálculo de diferencia
de rotación de cuaternión 940 de forma que no se realiza la función
de corrección de la dirección de rotación, y saca la señal
seleccionada. El funcionamiento en este momento es el mismo que el
caso anteriormente descrito, en el que se obtiene un valor de
cuaternión diferencial y se entrega a la unidad de cuantificación
805. A continuación se explicará en detalles el principio del
funcionamiento de la unidad de determinación 960. La unidad de
determinación 960 incluye cinco unidades lógicas de determinación, y
saca el resultado de realizar una función lógica "AND" sobre
cinco salidas de valores lógicos. Cinco operaciones lógicas
incluidas en la unidad de determinación 960 son de la siguiente
manera:
Expresión lógica A:
Aquí, si el valor de rotación diferencial A de
la figura 10 es Q_{A}, y Q_{A} = (q_{A,0}, q_{A,1},
q_{A,2}, q_{A,3})^{T}
Igualmente, 10 indica un vector
tridimensional formado por tres elementos excepto el primer elemento
del valor de rotación diferencial C de la figura 10.
Expresión lógica B:
Aquí, 13 indica un vector
tridimensional (q_{B,1}, q_{B,2}, q_{B,3})^{T} que
está formado por tres elementos exceptuando el primer elemento del
valor de rotación diferencial B de la figura 10.
\newpage
Expresión lógica C: A_{TH} < 2 cos^{-1}
|q_{A,0}|
Aquí, q_{A,0} indica el primer elemento en el
valor de rotación diferencial A de la figura 10, como se describe en
las expresiones lógicas A y B. Si el resultado de realizar la
expresión lógica C usando el valor absoluto de q_{A,0} es mayor
que una constante predeterminada A_{TH}, la expresión lógica C se
define como "verdadera" y en caso contrario se define como
"falsa". En este momento, la constante A_{TH} se fija a un
valor cercano a 0 (por ejemplo, 0,02) y se puede fijar en un valor
apropiado dependiendo de una operación real.
Expresión lógica D: A_{TH} < 2 cos^{-1}
|q_{B,0}|
Aquí, q_{B,0} indica el primer elemento en el
valor de rotación diferencial B de la figura 10, como se describe en
las expresiones lógicas A y B. Si el resultado de realizar la
expresión lógica D usando el valor absoluto de q_{B,0} es mayor
que una constante predeterminada A_{TH}, la expresión lógica D se
define como "verdadera" y en caso contrario se define como
"falsa". En este momento, la constante A_{TH} se fija como en
la expresión lógica C.
Expresión lógica E: A_{TH} < 2 cos^{-1}
|q_{C,0}|
Aquí, q_{C,0} indica el primer elemento en el
valor de rotación diferencial C de la figura 10, como se describe en
las expresiones lógicas A y B. Si el resultado de realizar la
expresión lógica E usando el valor absoluto de q_{C,0} es mayor
que una constante predeterminada A_{TH}, la expresión lógica E se
define como "verdadera" y en caso contrario se define como
"falsa". En este momento, la constante A_{TH} se fija como en
la expresión lógica C.
Si se realiza la operación "AND" para los
cinco valores lógicos obtenidos, de la siguiente manera, se genera
la salida de la unidad de determinación 960 de la figura 9.
Salida de la unidad de determinación 960:
(expresión lógica A) AND (expresión lógica B) AND (expresión lógica
C) AND (expresión lógica D) AND (expresión lógica E).
Si el valor lógico es "verdadero", la
unidad de selección 980 recibe la salida de la unidad de saturación
de la dirección de rotación 970 y saca la señal recibida. Si el
valor lógico es "falso", la unidad de selección 980 recibe la
salida de la unidad de cálculo de la diferencia de rotación de
cuaternión 940 y saca la señal recibida.
A continuación se explica el funcionamiento de
la unidad de saturación de la dirección de rotación 970. Con
referencia de nuevo a la figura 11, en el caso del área 1, la
información rotacional que recibe la unidad de descodificación es
\hat{Q}_{i} y la información de posición de rotación que se
introduce en el momento presente es Q_{i}, y por lo tanto, la
unidad de descodificación gira el objeto en el sentido de las agujas
del reloj. Sin embargo, como de acuerdo con la dirección de rotación
original, el objeto gira desde Q_{i-1} a Q_{i},
el objeto deberá girar en el sentido contrario al de las agujas del
reloj. Por lo tanto, la unidad de saturación de la dirección de
rotación 970 hace que el objeto gire desde la posición
\hat{Q}_{i} en una dirección que es la misma que la dirección
original, esto es, en una dirección a una posición de rotación que
tiene el movimiento mayor contrario al movimiento de las agujas del
reloj. Esto es, la unidad de saturación de la dirección de rotación
970 fija nueva información de rotación con la que el objeto puede
girar a una posición cercana a 180 grados desde la posición
\hat{Q}_{i}. De acuerdo con esto, la dirección de rotación se
puede corregir como la dirección de rotación original, y se puede
minimizar el error de posición de rotación. El funcionamiento de la
unidad de saturación de la dirección de rotación 970 se expresa como
en la siguiente ecuación 41:
\vskip1.000000\baselineskip
\newpage
Aquí, (q_{R,0,} q_{R,1,} q_{R,2,}
q_{R,3})^{T} indica la unidad de cálculo de la diferencia
de rotación de cuaternión 940 de la figura 9, y \delta_{T} es un
valor cercano a 0 (por ejemplo, 0,001) y se determina con respecto
al grado de precisión de la codificación.
La unidad diferencial lineal 807 obtiene el
diferencial lineal de los cuaterniones sucesivos de los valores de
clave. Esto es, se cuantifica una salida de valor desde la unidad
diferencial lineal/rotacional 803 en la unidad de cuantificación
805, y después se obtiene el diferencial lineal del valor
cuantificado. Haciendo esto, la redundancia de datos ocurrentes
aumenta como se muestra en la figura 12, y como resultado de esto,
se consigue una eficiencia mayor en la codificación. Por lo tanto,
se obtiene un efecto similar al de realizar realmente una
diferenciación de segundo orden para los datos de valor de clave.
Como se ha descrito al explicar el control de la dirección de la
unidad diferencial lineal/rotacional 803, de acuerdo con el
diferencial de segundo orden de la técnica anterior, la codificación
es una codificación con más pérdidas que el esquema de codificación
de la presente invención descrito anteriormente. Por lo tanto,
cuando el objeto gira usando la información de rotación codificada,
se produce la rotación inversa del objeto. A medida que aumentan los
errores de cuantificación, las rotaciones inversas ocurren de manera
más frecuente. Esto es, el diferencial de segundo orden provoca un
incremento en los errores de cuantificación, mientras que la unidad
diferencial lineal 807 descrita en la presente realización aplica
diferenciación lineal al cuaternión de los valores de clave ya
cuantificados y por lo tanto aumenta la redundancia de datos y evita
la ocurrencia de los errores de cuantificación.
La unidad de codificación de la entropía 809
mejora la eficiencia de la codificación de los datos que se
cuantifican usando el procedimiento de codificación aritmética 809
para eliminar la redundancia de bit mediante el cálculo de la
frecuencia de la generación de símbolo en base a probabilidades
condicionales. De acuerdo con esto, la cantidad de datos que
realmente se tienen que codificar disminuye de una manera
efectiva.
En base a la estructura anteriormente descrita,
se explicará ahora con detalle el procedimiento de codificación de
acuerdo con una segunda realización preferida.
El procedimiento de codificación de acuerdo con
la segunda realización se basa en la diferenciación lineal (DPCM)
que usa la diferencia entre un valor previamente restaurado y un
valor que se vaya a codificar en el momento actual como una clave en
los datos de campo de un nodo interpolador de la orientación.
Mientras, para los datos de valor de clave, las tramas de clave son
eliminadas dentro de un límite de error permisible usando la
similitud de la transformación rotacional sobre un espacio
cuaternión, y se obtienen los valores diferenciados usando
diferenciación de rotación, y después los valores diferenciados se
cuantifican, se diferencian linealmente y se codifican de manera
aritmética. Haciendo esto, se mejora la eficiencia de la
codificación y se mide de manera objetiva la distorsión de la
calidad visual del resultado restaurado. A continuación se explicará
el procedimiento etapa a etapa.
Etapa
1
Los datos de campo de un nodo interpolador de la
orientación que se vayan a codificar se reciben y se interpretan. De
manera más específica, se reciben los datos VRML, se interpreta el
nodo interpolador de la orientación y se extraen respectivamente la
clave y los valores de clave a partir del valor interpretado para
codificar los datos de campo formados con una clave y con valores de
clave.
Etapa
2
La unidad de eliminación de trama de clave 802
selecciona algunas clave de entrada y valores de clave del total de
claves de entrada y valores de clave dentro de un límite de error
permisible.
Etapa
3
La unidad diferencial lineal/rotacional 803
diferencia linealmente los datos de clave de entrada de forma que se
genera la redundancia entre estos datos linealmente diferenciados, y
la unidad de cuantificación 805 cuantifica los datos.
Etapa
4
La unidad diferencial lineal/rotacional 803
realiza la diferenciación rotacional para los datos de valor de
clave de entrada.
Etapa
5
Con el fin de compensar los errores de
cuantificación de la clave y de los valores de clave que se vayan a
introducir en el siguiente punto en el tiempo, los valores
diferenciados de la clave y de los valores de clave cuantificados en
la unidad de cuantificación 805 en las etapas 3 y 4 son
cuantificados inversamente en la unidad de cuantificación inversa
806, son retardados en la unidad de retardo 819 y después son
acumulados en la unidad de integración (o acumulación) lineal/de
rotación 804. La clave y los valores de clave acumulados se usan en
el procesado diferencial de una clave y de valores de clave
introducidos en el siguiente punto en el tiempo. Las ecuaciones que
se usan para la acumulación en la unidad integradora
lineal/rotacional 804 vienen dadas como las ecuaciones 42 y 43:
...
(42)\hat{K}_{i-1} =
\sum\limits^{i-1}_{j=0}
\tilde{K}_{j}
Aquí, \tilde{K}_{j} denota una clave
diferencial cuantificada inversa que ocurre en el orden j-ésimo.
...
(43)\hat{Q}_{i-1} =
\prod\limits^{i-1}_{j=0}
\tilde{Q}_{j}
Aquí, \tilde{Q}_{j} denota un valor de clave
diferencial cuantificado inverso que ocurre en el orden j-ésimo.
Etapa
6
La clave cuantificada se introduce en la unidad
de codificación de la entropía 809, aritméticamente codificada, y
procesada en flujo de acuerdo con el formato de los servicios que se
vayan a proporcionar
Etapa
7
Los valores de clave cuantificados son
linealmente diferenciados en la unidad diferencial lineal 807, son
codificados aritméticamente en la unidad de codificación de la
entropía 809 y procesados en flujo. En el flujo, se debería
considerar cómo determinar la estructura de los datos de flujo de
acuerdo con los formatos y las funciones de los servicios de flujo.
Esto es, la estructura de datos (a) mostrada en la figura 6 es la
más sencilla para un caso en el que no se considera la
característica en tiempo real de los servicios. En esta estructura,
ocurre un retardo en la unida de descodificación durante el mismo
periodo de tiempo que el periodo de tiempo en el que se restauró la
clave. En comparación con la estructura de datos (b), la estructura
de datos (a) provoca un coste de codificación más bajo y un coste de
descodificación más alto. La estructura de datos (b) puede
proporcionar características en tiempo real y una funcionalidad
adicional de servicios de datos. En la estructura de datos (b)
inmediatamente después de restaurar una clave y los correspondientes
valores de clave, se permite la visualización. La estructura de
datos (b) es resistente al error. Esto es, aunque se hayan perdido
los datos actuales, la pérdida se puede restaurar hasta un cierto
grado con los datos anteriores o con los datos siguientes que se
vayan a restaurar. Solamente mediante el ajuste del orden de
codificación de una clave y de los valores de clave en la unidad de
codificación de la entropía 809, se pueden hacer las estructuras (a)
y (b) de la figura 6.
Etapa
8
La información binaria que se introduce a través
de la unidad de salida de datos de campo binarios 810 se descodifica
a través de la inversa del procedimiento de codificación excluyendo
una etapa de la unidad de eliminación de trama de clave 802.
Mediante la medida de la distorsión visual de los datos
descodificados en la unidad de medida de la distorsión 818, se
evalúa el funcionamiento de la unidad de codificación. La unidad de
descodificación descodifica los datos en el procedimiento inverso
del procedimiento de codificación anteriormente descrito.
La figura 20 es un ejemplo en el que el
procedimiento de descodificación de acuerdo con la segunda
realización está expresado en sintaxis de flujo binario. Cuando
finaliza el proceso de descodificación como se muestra en la figura
20, la unidad de medida de la distorsión 818 recibe la salida de la
unidad de entrada de datos de campo de un nodo interpolador de la
orientación 817, y mide la distorsión visual en un número objetivo,
usando la ecuación 30 ó 33. Las ecuaciones 30 y 33 usadas en este
instante son ecuaciones que reflejan las características físicas de
la transformación de rotación de un objeto en un espacio cuaternión,
y proporcionan valores medidos más objetivos y precisos que los de
la ecuación 1 usada en la técnica anterior.
Al codificar los datos de campo de un nodo
interpolador de la orientación, la presente realización, que
implementa el procedimiento de codificación que usa las etapas
descritas anteriormente, elimina la redundancia de datos en una
región del tiempo y la redundancia binaria entre símbolos
cuantificados, y mejora la eficiencia de la transmisión de datos
mediante el reflejo de las características físicas de la
transformación de rotación. Las figuras 21 y 22 son gráficos que
muestran las tasas de distorsión (Tasa-Distorsión)
del procedimiento de codificación de la animación de las BIFS
MPEG-4 de la técnica anterior y de los de la
realización preferida de la presente invención. Con referencia a las
figuras 21 y 22, en el mismo error, el procedimiento de codificación
de la presente realización genera un número de bits relativamente
más pequeño.
Como se ha descrito anteriormente, en la
codificación de los datos de un nodo interpolador de la orientación,
la presente invención elimina la redundancia de los datos en una
región del tiempo y la redundancia de bits entre los símbolos
cuantificados, y mejora la eficiencia de la transmisión de datos
reflejando las características físicas de un movimiento rotacional y
de traslación y eliminando la información adicional para los
elementos.
Claims (19)
1. Un aparato de codificación para un nodo
interpolador de la orientación que proporciona información sobre la
rotación de un objeto en un espacio de tres dimensiones,
comprendiendo el aparato de codificación:
una unidad de entrada de datos de campo que
incluye una unidad de clave (200, 800) para extraer los datos de
campo que se vayan a codificar en el momento actual, mediante el
análisis del nodo interpolador de la orientación, los datos de campo
incluyendo datos de clave que indican la información sobre una
posición en un eje de tiempo en el que ocurre un cambio del
movimiento de rotación y de traslación y los datos de valor de clave
que incluyen los valores de clave que indican la información de
rotación correspondiente a la información de la posición;
una unidad de procesado para convertir los
valores de clave en un cuaternión, caracterizada porque la
unidad de procesado es una unidad (205, 210, 215, 801) de procesado
de modulación diferencial adaptativa de impulsos codificados (ADPCM)
adaptada para el procesado ADPCM del cuaternión usando
diferenciación de rotación, y para el procesado de modulación
diferencial de impulsos codificados (DPCM) de los datos de clave;
y
una unidad de cuantificación (220, 805) para
cuantificar los datos de clave y los datos de valor de clave y sacar
los datos cuantificados.
2. El aparato de codificación para un nodo
interpolador de la orientación de la reivindicación 1, en el que la
unidad de procesado ADPCM comprende:
una unidad (205, 801) de conversión de
cuaternión para convertir los datos de valor de clave extraídos por
la unidad de entrada de datos de campo en un cuaternión;
una unidad DPCM (210) para calcular un valor
diferencia entre una clave anteriormente restaurada y la clave que
se vaya a codificar en el momento presente para los datos de clave
extraídos en la unidad de entrada de datos de campo; y
una unidad (215, 803) de conversión diferencial
de rotación para producir una matriz de conversión diferencial de
rotación en la que los datos de valor de clave convertidos a un
cuaternión se representan mediante una distancia de movimiento
rotacional más corta del objeto, y, cuando se generan los datos de
valor de clave en base a la matriz de conversión diferencial de
rotación, haciendo que la unidad DPCM refleje la generación de los
datos de clave correspondientes a los nuevos datos de valores de
clave.
3. El aparato de codificación para un nodo
interpolador de la orientación de la reivindicación 2, en el que la
unidad de conversión diferencial de rotación comprende:
una unidad (300) de generación de matriz de
conversión diferencial de rotación para producir una matriz de
conversión diferencial de rotación que es un producto de los datos
de valor de clave que se van a codificar en el momento actual y los
datos complejos conjugados obtenidos mediante la acumulación de las
matrices de conversión diferencial de rotación que se restauraron
anteriormente;
una unidad (320) de ajuste de elemento para
redefinir la matriz de conversión diferencial de rotación para
satisfacer una condición de que un primer elemento de un cuaternión
siempre es el más grande de todos los elementos del cuaternión, y
sacando la matriz de conversión diferencial de rotación;
una unidad de retardo (340) que almacena una
matriz de conversión diferencial de rotación que se restaura en el
momento actual en respuesta a la salida de la unidad de ajuste de
elemento, y proporcionando una matriz de conversión diferencial de
rotación que se restauró y se almacenó anteriormente; y
una unidad acumuladora (335) para recibir de
manera secuencial las matrices de conversión diferencial de
rotación, que se almacenaron anteriormente provenientes de la unidad
de retardo, y sacando los datos obtenidos mediante la acumulación de
las matrices de conversión diferencial de rotación que se
restauraron anteriormente.
4. El aparato de codificación para un nodo
interpolador de la orientación de la reivindicación 3, en el que la
unidad (320) de ajuste del elemento comprende:
una unidad de condición (305) para determinar si
el valor del primer elemento del cuaternión es o no es el más grande
de entre todos los elementos de la matriz de conversión diferencial
de rotación; y
una unidad (310) de generación de valor de clave
para generar nuevos datos de valor de clave mediante la definición
arbitraria de una posición de rotación que pueda tener una distancia
de movimiento rotacional más corta del objeto si la determinación de
la unidad de condición indica que el valor del primer elemento no es
el más grande, y haciendo que la unidad DPCM refleje la generación
de los datos de clave correspondientes a los nuevos valores de datos
de clave.
5. El aparato de codificación para un nodo
interpolador de la orientación de cualquiera de las reivindicaciones
anteriores, comprendiendo además:
una unidad de (225, 809) codificación de la
entropía para la codificación aritmética de la clave y de los datos
de valor de clave cuantificados.
6. El aparato de codificación para un nodo
interpolador de la orientación de la reivindicación 5,
comprendiendo además:
una unidad de salida (230, 810) para sacar los
datos codificados de manera aritmética como datos en flujo en
formato binario,
en la que la estructura del flujo de datos, los
datos de clave y los datos de valor de clave se forman de manera
separada.
7. El aparato de codificación para un nodo
interpolador de la orientación de la reivindicación 5,
comprendiendo además:
una unidad de salida (230, 810) para sacar los
datos codificados de manera aritmética como datos en flujo en
formato binario,
en la que la estructura del flujo de datos, los
datos de clave y los datos de valor de clave forman un par unidad de
manea secuencial.
8. El aparato de codificación para un nodo
interpolador de la orientación de cualquiera de las reivindicaciones
anteriores, comprendiendo además:
una unidad (265, 818) de medida de la distorsión
para medir la distorsión de la calidad visual de los datos
restaurados a partir de la información original cuando los datos de
salida son restaurados, antes de codificar con respecto a los
valores diferenciales de rotación.
9. Un procedimiento de codificación para un nodo
interpolador de la orientación que proporciona información sobre la
rotación de un objeto en un espacio de tres dimensiones,
comprendiendo el procedimiento de codificación las etapas de:
(a) extraer (500) los datos de campo que se
vayan a codificar, incluyendo los datos de campo los datos de clave
que incluyen una clave que indica la información sobre una posición
sobre un eje de tiempo en el que ocurre un cambio del movimiento de
rotación y de traslación y los datos de valor de clave que incluyen
valores de clave que indican la información de rotación
correspondiente a la información de la posición, mediante el
análisis del nodo interpolador de la orientación;
(b) convertir (510) los datos de valor de clave
en un cuaternión, y después, la modulación diferencial adaptativa de
impulsos codificados (ADPCM) procesando el cuaternión usando una
matriz de conversión diferencial de rotación, y modulación
diferencial de impulsos codificados (DPCM) procesando los datos de
clave; y
(c) cuantificar (520) los datos de clave y los
datos de valor de clave y sacar los datos cuantificados.
10. El procedimiento de codificación para un
nodo interpolador de la orientación de la reivindicación 9, en el
que la etapa (b) (510) comprende las etapas de:
(b1) convertir los datos de valor de clave
extraídos en la etapa (a) en un cuaternión;
(b2) producir una matriz de conversión
diferencial de rotación en la que los datos de valor de clave
convertidos en un cuaternión estén representados mediante una
distancia de movimiento rotacional más corta del objeto;
(b3) cuando se generan los nuevos datos de valor
de clave en base a la matriz de conversión diferencial de rotación,
generar datos de clave correspondientes a los nuevos datos de valor
de clave; y
(b4) para los datos de clave extraídos en la
etapa (a) y los datos de clave generados en la etapa (b3), calcular
un valor de diferencia de una clave anteriormente restaurada y una
clave que se vaya a codificar en el momento presente.
11. El procedimiento de codificación para un
nodo interpolador de la orientación de la reivindicación 10, en el
que en la etapa (b2) la matriz de conversión diferencial de rotación
(Q_{i}') está definida mediante la siguiente
ecuación 6:
ecuación 6:
... (6)Q'_{i}
= Q_{i} *
Q^{\text{*}}_{i-1}
\newpage
donde, Q_{i} denota los datos de
valor de clave que se convierten en un cuaternión y que se van a
codificar en el momento presente, y
Q^{\text{*}}_{i-1} denota el conjugado de los
datos que se obtienen mediante la acumulación de las matrices de
conversión diferencial de rotación anteriormente
restauradas.
12. El aparato de codificación para un nodo
interpolador de la orientación de la reivindicación 10 ó de la
reivindicación 11, tras la etapa (b2) comprendiendo además las
etapas de:
(b2-1) determinar si se
satisface o no la condición de que el valor del primer elemento de
un cuaternión es siempre el mayor de todos los elementos del
cuaternión (= matriz de conversión diferencial de rotación);
(b2-2) redefinir la matriz de
conversión diferencial de rotación y sacar la matriz de conversión
diferencial de rotación a la etapa (c) si la condición no se
satisface; y
(b2-3) sacar, si se satisface la
condición, la matriz de conversión diferencial de rotación sin
cambios.
13. El procedimiento de codificación para un
nodo interpolador de la orientación de la reivindicación 12, en el
que la etapa (b2-2), si no se satisface la
condición, la matriz de conversión diferencial de rotación es
redefinida mediante la generación de nuevos valores de clave usando
la siguiente ecuación 7:
|A| = |B| =
|P| =
1
A \bullet B =
cos
\Omega
... (7)P =
A\frac{sen(\Omega - \theta)}{sen\Omega} +
B\frac{sen\theta}{sen\Omega}
Aquí, P denota los nuevos valores de datos, B
denota los datos de valor de clave originales que se van a codificar
en el momento presente, A denota los datos de valor de clave
anteriores, \Omega denota el ángulo de rotación entre A y B, y
\theta denota el ángulo de rotación entre A y P.
14. El procedimiento de codificación para un
nodo interpolador de la orientación de la reivindicación 10, 11, 12
ó 13, en el que en la etapa (b3) se generan los nuevos datos de
clave usando la siguiente ecuación 9:
... (9)K_{i} =
K_{i-1} + (K_{i} -
K_{i-1})*\frac{\theta}{\Omega}
Aquí, K_{i} denota los datos de clave que se
van a codificar en el momento presente, K_{i-1}
denota los datos de clave anteriores, \Omega denota el ángulo de
rotación entre los datos de valor de clave anteriores y los datos de
valor de clave originales que se van a codificar en el momento
presente, y \theta denota el ángulo de rotación entre los datos de
valor de clave anteriores y los nuevos datos de valor de clave.
15. El procedimiento de codificación para un
nodo interpolador de la orientación de cualquiera de las
reivindicaciones 9 a la 14, comprendiendo además la etapa de:
(d) codificación aritmética (520) de la clave y
de los datos de valor de clave cuantificados.
16. El procedimiento de codificación para un
nodo interpolador de la orientación de la reivindicación 15,
comprendiendo además la etapa de:
(e) sacar (530) los datos codificados de manera
aritmética como datos de flujo en formato binario,
en el que en la estructura de datos de flujo,
los datos de clave y los datos de valor de clave se forman por
separado.
17. El procedimiento de codificación para un
nodo interpolador de la orientación de la reivindicación 15,
comprendiendo además la etapa de:
(e) sacar (530) los datos codificados de manera
aritmética como datos de flujo en formato binario,
en el que en la estructura de datos de flujo,
los datos de clave y los datos de valor de clave forman un par
unidad de manera secuencial.
18. El procedimiento de codificación para un
nodo interpolador de la orientación de cualquiera de las
reivindicaciones anteriores de la 9 a la 17, tras la etapa (c),
comprendiendo además la etapa de:
en el momento en el que se restauran los datos
de salida, medir la distorsión de la calidad visual de los datos
restaurados a partir de la información original antes de codificar
con respecto a los valores diferenciales de rotación.
19. El procedimiento de codificación para un
nodo interpolador de la posición de la reivindicación 18, en el que
RMS(D_{m}) de un error de cuantificación y el error máximo
(D_{p}) que son las bases para medir la distorsión de la calidad
visual, se calculan usando las siguientes ecuaciones 15 ó la
ecuación 16:
\theta'' =
2cos^{-1} q_{0}'' = 2cos^{-1}(Q' \bullet Q), \theta'' \in [0,\pi],
q_{0}'' = Q' \bullet
Q,
(\bullet indica la operación producto
interior)
Aquí, Q denota los datos de valor de clave de la
información antes de la codificación, los datos de valor de clave
que se convierten en un cuaternión, y Q' denota los datos de valor
de clave de la información descodificada, los datos de valor de
clave que se convierten en un cuaternión.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20000061985 | 2000-10-20 | ||
KR10-2000-061985 | 2000-10-20 | ||
KR1020010040705A KR100590522B1 (ko) | 2000-10-20 | 2001-07-07 | 오리엔테이션 보간 노드의 부호화 장치 및 방법 |
KR10-2001-040705 | 2001-07-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2261353T3 true ES2261353T3 (es) | 2006-11-16 |
Family
ID=36274084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01308904T Expired - Lifetime ES2261353T3 (es) | 2000-10-20 | 2001-10-19 | Aparato y procedimiento de codificacion para nodo interpolador de la orientacion. |
Country Status (8)
Country | Link |
---|---|
US (1) | US6834081B2 (es) |
EP (1) | EP1199894B1 (es) |
JP (1) | JP3521412B2 (es) |
CN (1) | CN1198462C (es) |
CA (1) | CA2359260C (es) |
DE (1) | DE60118491T2 (es) |
ES (1) | ES2261353T3 (es) |
RU (1) | RU2224290C2 (es) |
Families Citing this family (17)
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 | 擬似三次元画像生成方法および装置 |
EP2278807B1 (en) * | 2001-11-27 | 2012-07-18 | Samsung Electronics Co., Ltd. | Apparatus for decoding a bitstrom with an orientation interpolator |
US7430497B2 (en) * | 2002-10-31 | 2008-09-30 | Microsoft Corporation | Statistical model for global localization |
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 |
US7116840B2 (en) * | 2002-10-31 | 2006-10-03 | Microsoft Corporation | Decoding and error correction in 2-D arrays |
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 |
US20120029926A1 (en) | 2010-07-30 | 2012-02-02 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals |
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)
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 |
-
2001
- 2001-10-18 CA CA 2359260 patent/CA2359260C/en not_active Expired - Fee Related
- 2001-10-19 EP EP20010308904 patent/EP1199894B1/en not_active Expired - Lifetime
- 2001-10-19 CN CNB011457821A patent/CN1198462C/zh not_active Expired - Fee Related
- 2001-10-19 US US09/981,962 patent/US6834081B2/en not_active Expired - Fee Related
- 2001-10-19 ES ES01308904T patent/ES2261353T3/es not_active Expired - Lifetime
- 2001-10-19 RU RU2001128436A patent/RU2224290C2/ru not_active IP Right Cessation
- 2001-10-19 DE DE2001618491 patent/DE60118491T2/de not_active Expired - Fee Related
- 2001-10-22 JP JP2001324068A patent/JP3521412B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1367618A (zh) | 2002-09-04 |
EP1199894A2 (en) | 2002-04-24 |
US6834081B2 (en) | 2004-12-21 |
CA2359260C (en) | 2004-07-20 |
JP3521412B2 (ja) | 2004-04-19 |
RU2224290C2 (ru) | 2004-02-20 |
JP2002232897A (ja) | 2002-08-16 |
US20020071488A1 (en) | 2002-06-13 |
CA2359260A1 (en) | 2002-04-20 |
DE60118491D1 (de) | 2006-05-18 |
EP1199894A3 (en) | 2003-07-09 |
EP1199894B1 (en) | 2006-04-05 |
DE60118491T2 (de) | 2007-05-03 |
CN1198462C (zh) | 2005-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2261353T3 (es) | Aparato y procedimiento de codificacion para nodo interpolador de la orientacion. | |
ES2381777T3 (es) | Procedimiento y aparato para codificar y decodificar un interpolador de orientación | |
US7181071B2 (en) | Method and apparatus for encoding and decoding key value data of orientation interpolator node | |
Kammerl et al. | Real-time compression of point cloud streams | |
KR100209132B1 (ko) | 블럭-기반 물체 윤곽 부호화 방법 | |
ES2248245T3 (es) | Aparato y procedimiento de codificacion/descodificacion para datos de nodo interpolador de la orientacion. | |
ES2360786T3 (es) | Codificación y decodificación de datos de valores clave de un modo interpolador de orientación. | |
EP0871331A2 (en) | Method and apparatus for adaptively coding a contour of an object | |
US5881183A (en) | Method and device for encoding object contour by using centroid | |
ES2417529T3 (es) | Aparato y procedimiento de codificación para nodo interpolador de orientación | |
ES2282209T3 (es) | Procedimiento y aparato de compresion de datos. | |
ES2350335T3 (es) | Aparato y procedimiento de codificación y decodificación de datos clave para la animación gráfica. | |
EP1322120B1 (en) | Encoding and decoding key value data of orientation interpolator node | |
Da Cunha et al. | On the information rates of the plenoptic function | |
Daribo et al. | Dynamic compression of curve-based point cloud | |
CN116708706A (zh) | 低带宽视频会议实现方法、系统及装置 | |
Tsuchiya et al. | Optical flow detection using segmentation and MDL criterion | |
Senthil et al. | Real-time compression strategy on various point cloud streams | |
JP2007053785A (ja) | 属性検出方法及び装置 | |
JP2004007392A (ja) | 位置インタポレータの符号化/復号化方法、及び装置 | |
KR19980051715A (ko) | 비디오 신호에 있어서의 물체 윤곽선 근사화 방법 및 장치 |