ES2579940T3 - Procedimiento, dispositivo y sistema para comprimir datos de series temporales - Google Patents
Procedimiento, dispositivo y sistema para comprimir datos de series temporales Download PDFInfo
- Publication number
- ES2579940T3 ES2579940T3 ES11752513.9T ES11752513T ES2579940T3 ES 2579940 T3 ES2579940 T3 ES 2579940T3 ES 11752513 T ES11752513 T ES 11752513T ES 2579940 T3 ES2579940 T3 ES 2579940T3
- Authority
- ES
- Spain
- Prior art keywords
- bit
- packet
- state
- status
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000008859 change Effects 0.000 claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 33
- 238000002360 preparation method Methods 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 15
- 230000003068 static effect Effects 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 4
- 238000007906 compression Methods 0.000 description 44
- 230000006835 compression Effects 0.000 description 40
- 238000005259 measurement Methods 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000002596 correlated effect Effects 0.000 description 6
- 238000007619 statistical method Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- 241000405961 Scomberomorus regalis Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 206010016275 Fear Diseases 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000011272 standard treatment Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
- H03M7/48—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Un procedimiento para la transmisión o el almacenamiento de datos de series temporales, en el que los datos de series temporales se comprimen utilizando las etapas siguientes: - Proporcionar datos de series temporales predeterminados; - Determinar (S1) la predictibilidad de un estado de cada bit en un paquete de datos en base a los datos de series temporales proporcionados; - Proporcionar (S3) un paquete de máscara con bits en estado UNO para todas las posiciones de bits predecibles del paquete de datos y con bits en estado CERO para todas las posiciones de bits impredecibles; - Llevar a cabo (S5) operaciones de bits en un nuevo paquete de datos (2) para poner todas las posiciones de 10 bits predecibles del nuevo paquete de datos (2) en estado CERO si un estado de bit real coincide con el estado de bit predicho y en estado UNO si el estado de bit real no coincide con el estado de bit predicho; - Proporcionar (S6) un paquete procesado (4); - Proporcionar (S7) una serie (5) de contadores (5a) calculando el número de bits en el paquete procesado (4) entre el primer bit y el primer bit con estado UNO; y entre los bits siguientes con estado UNO, y a continuación entre el último bit con estado UNO y el último bit en el paquete procesado (4); - Escribir (S8) la serie (5) de contadores (5a) en un paquete de datos de salida (6); y - Almacenar o transmitir el paquete de datos de salida (6), caracterizado por que los datos de series temporales predeterminados son datos de series temporales de un sistema de telemetría o de un dispositivo de telemetría; el estado de bit es predecible si su estado se puede predecir con una probabilidad que es mayor que un umbral predeterminado, e impredecible si la probabilidad es menor o igual que dicho umbral predeterminado; y el paquete procesado (4) se proporciona aplicando una operación AND entre el nuevo paquete de datos (2) sobre el que se han llevado a cabo las operaciones de bits y el paquete de máscara, para cambiar todos los bits impredecibles a estado CERO.
Description
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Procedimiento, dispositivo y sistema para comprimir datos de series temporales
La presente invencion se refiere a un procedimiento para comprimir datos de series temporales, a un dispositivo telemetrico, a una unidad central de procesamiento y a un sistema para procesar datos de series temporales telemetricos.
Una aplicacion particular, pero no exhaustiva, de la invencion reside en las misiones espaciales, en las que dispositivos tecnicos de a bordo, de sistemas remotos (por ejemplo satelites, veldculos espaciales, veldculos todoterreno), tienen que ser monitorizados remotamente con gran precision midiendo una serie de parametros tecnicos en forma de datos de series temporales de telemetna. Normalmente, los datos de series temporales medidos se envfan por enlace descendente a estaciones terrestres para su analisis posterior. Dichos datos de series temporales se muestrean a intervalos regulares, habitualmente a la velocidad de paquetes asociada, desde el banco de datos del veldculo espacial y se insertan en un paquete de enlace descendente. El muestreo y envfo por enlace descendente de datos de series temporales a alta frecuencia es un requisito previo para capturar y monitorizar eventos de corta duracion y para obtener datos de alta fidelidad. Sin embargo, normalmente la precision de la monitorizacion esta limitada por el ancho de banda disponible para enviar por enlace descendente los datos y por las capacidades disponibles de procesamiento a bordo.
Una solucion propuesta en la tecnica anterior es compensar el ancho de banda limitado por medio de tecnicas de compresion, en las que los datos telemetricos medidos se codifican antes de ser enviados por enlace descendente mediante la utilizacion de esquemas espedficos de codificacion utilizando menos unidades portadoras de informacion de las que utilizana una representacion no codificada. Por lo tanto, el receptor de los datos comprimidos transmitidos tiene que comprender el esquema de codificacion y poder descodificar o descomprimir los datos recibidos.
En particular, las tecnicas de compresion sin perdidas (por ejemplo, zip) requieren la carga de software complicado en el transmisor y consumen valiosa potencia de la CPU, que a menudo es un recurso limitado en los sistemas remotos, en particular, a bordo de un veldculo de exploracion espacial. Las tecnicas simples de compresion sin perdidas que consumen menos potencia de la CPU (por ejemplo, RICE) no comprimen esta clase de datos lo suficientemente bien como para justificar su implementacion.
Mientras que los datos cientfficos se comprimen rutinariamente, este no es el caso para los datos de telemetna de mantenimiento dado que a menudo tienen poco volumen en comparacion con los datos ciendficos. Sin embargo, muchas misiones estan dominadas por telemetna de mantenimiento por diseno (demostraciones de tecnologfa y misiones educativas) y todas las misiones tienen periodos que estan dominados por telemetna de mantenimiento (LEOP y puesta en servicio, emergencias y recuperacion, fases de crucero de misiones interplanetarias). En todos los casos anteriores, la compresion de datos de mantenimiento aportana grandes beneficios en terminos de menor utilizacion del ancho de banda, reduccion de los tiempos de reaccion, menos requisitos de potencia para transmision, menos esfuerzos de ingeniena en el diseno de paquetes y de sistemas de telemetna, etc. Sin embargo, para que merezca la pena, la compresion tiene que funcionar bien, ser sin perdidas, utilizar algoritmos simples y no requerir mucha potencia de procesamiento a bordo. El procedimiento de compresion recomendado para utilizacion espacial es RlCE. Este se utiliza ampliamente para datos ciendficos aunque no comprime bien los datos de mantenimiento -de hecho, en ocasiones los expande.
Otros procedimientos de compresion tales como winzip y se 7zip comprimen bien pero requieren la carga de codigo complicado en la memoria del veldculo espacial, requieren un nivel relativamente alto de potencia de procesamiento y requerinan el almacenamiento de una cierta cantidad de datos antes de que pueda funcionar la compresion.
Staudinger et al. ("Lossless compression for archiving satellite telemetry data", Aerospace Conference Proceedings, marzo de 2000, IEEE volumen 2, paginas 299 a 304) proponen un procedimiento de compresion sin perdidas para archivar datos de telemetna por satelite en tierra. El procedimiento explota el hecho de que la probabilidad de un cambio en el estado de bit entre bits sucesivos identicos en un paquete tiende a mantenerse constante en el tiempo para cada bit. Sin embargo, el procedimiento es practico para conseguir telemetna en tierra pero no a bordo dado que requiere la utilizacion de zip para comprimir los paquetes de referencia y por lo tanto, potencia de procesamiento y software de a bordo extra. Otra desventaja es que el procedimiento utiliza un algoritmo de sustitucion por longitud de recorrido en la etapa de codificacion, de tal modo que es necesario crear un paquete provisional y llenarlo con todos los resultados para los calculos de bit. A continuacion, se realiza una segunda ronda para sustituir las diferentes palabras por las palabras de codigo asociadas. La tabla propuesta de palabras de codigo de longitud de recorrido, las tablas de transformacion y las tablas de probabilidad tienen todas ellas que ser accedidas frecuentemente, haciendo el proceso de compresion muy lento de tal modo que no es adecuado para comprimir paquetes de datos en tiempo real. Ademas, el rendimiento de compresion resultante no es estable para datos de telemetna "reales" en los que la probabilidad real de cambio puede variar con el tiempo respecto de la probabilidad de cambio calculada. Se ha descubierto que, dado que el procedimiento de Staudinger paga un precio muy alto por cambios de esta naturaleza, es inestable para periodos de tiempo de tan solo unas pocas horas. Por lo tanto,
5
10
15
20
25
30
35
40
45
50
55
Staudinger et al. proponen comprimir con zip los paquetes comprimidos y recalcular todas las tablas cada hora, haciendo dicho enfoque impractico para su utilizacion a bordo.
Se da a conocer un procedimiento segun el preambulo de la reivindicacion 1 en el documento de Reinhardt et al. ("Stream-oriented Lossless Packet Compression in Wireless Sensor Networks", SENSOR, MESH AND AD HOC COMMUNICATIONS AND NETWORKS, 2009, SECON '09, 6th ANNUAL CONFERENCE ON; IEEE; 22 junio de 2009, paginas 1 a 9).
Se hace referencia tambien al documento de Jonsson et al. ("The RFC 3095 Implementers Guide; draft-ietf-rohc-rtp- impl-guide-15.txt", 26 de agosto de 2005) relativo a RFC 3095, que define el marco de la compresion de encabezados robusta (ROHC, Robust Header Compression) y perfiles para Protocolo de Internet (IP), protocolo de datagramas de usuario (UDP, User Datagram Protocol), protocolo de transporte en tiempo real (RTP, Real-time Transport Protocol) y encapsulamiento seguro de la carga util (ESP, Encapsulating Security Payload), y a las solicitudes de patente U.S.A. a inspeccion publica numeros US 2004/113820 a1 y US 2008/046686 A1.
En vista de los problemas mencionados de la tecnica anterior, la presente invencion pretende permitir la capacidad de observacion de sistemas remotos a mayor fidelidad y menor ancho de banda. Otro objetivo de la invencion es dar a conocer un procedimiento que puede comprimir datos de series temporales de telemetna casi en tiempo real, requiriendo al mismo tiempo menos potencia de procesamiento y consiguiendo una mayor relacion de compresion.
La invencion se expone y se caracteriza de acuerdo con la materia de las reivindicaciones independientes, mientras que las reivindicaciones dependientes describen realizaciones preferidas de la invencion.
Se propone un procedimiento para procesar datos de series temporales, de tal modo que los datos de series temporales procesados se puedan transmitir de manera mas eficiente utilizando menos ancho de banda o se puedan almacenar mas eficientemente utilizando menos espacio de almacenamiento. En particular, la invencion da a conocer un procedimiento sin perdidas de compresion de paquetes de datos de series temporales a medida que se generan casi en tiempo real. El termino "paquete de datos" aplica a cualquier mensaje de longitud fija, que consiste en campos de posicion/longitud binaria fijas y en el que cada campo corresponde a una medicion particular. Preferentemente, los datos de series temporales son datos de series temporales telemetricos, tales como datos de telemetna de mantenimiento de vehffculos espaciales o parametros telemetricos utilizados para monitorizar remotamente el funcionamiento de un dispositivo remoto. Preferentemente, el procedimiento se aplica a datos de series temporales de mediciones repetidas de un sistema conectado, limitado ffsicamente. Las mediciones repetidas de un sistema conectado limitado ffsicamente, tal como un satelite, un vehnculo espacial, un vehnculo todoterreno, una plataforma petrolffera, un vehnculo, una fabrica, una aeronave, un submarino o una embarcacion, generan datos de series temporales con propiedades estadfsticas que pueden ser explotadas por la presente invencion.
De acuerdo con la invencion, los paquetes se pueden comprimir individualmente en lugar de que haya que esperar a agrupar juntos un numero cntico de paquetes. Esto lo hace adecuado para comprimir datos de telemetna que son utilizados para control en tiempo real, asf como datos de telemetna utilizados para analisis del historico de estados del sistema conectado limitado ffsicamente.
El procedimiento propuesto depende de un analisis estadfstico de datos de medicion historicos del sistema de medicion para calcular la probabilidad de que cada bit en un paquete cambie de estado o este en estado CERO ("0") o UNO ("1"). La predictibilidad del estado de cada bit en un paquete de datos se puede determinar en base a los datos de series temporales predeterminados del sistema, donde un estado de bit es predecible si su estado se puede predecir con una probabilidad mayor que un umbral predeterminado, e impredecible si la probabilidad es menor o igual que dicho umbral. Los datos de series temporales predeterminados son datos de series temporales historicos, es decir, datos de series temporales medidos anteriormente o datos de series temporales medidos en un intervalo de tiempo anterior predeterminado del sistema conectado limitado ffsicamente.
A modo de ejemplo, la predictibilidad del estado de cada bit en un paquete de datos se determina en base a una prediccion estatica o al estado de otro bit en el paquete. La predictibilidad del estado de cada bit en un paquete de datos se puede determinar asimismo en base a un estado del bit en el ultimo paquete generado o a un cambio en el estado de otro bit en el paquete, o a la cantidad de paquetes generados desde el ultimo cambio en el estado del bit.
De acuerdo con otro aspecto de la invencion, un paquete (en adelante, denominado un paquete de mascara) esta dotado de bits en estado UNO para todas las posiciones de bits predecibles del paquete de datos y de bits en estado CERO para todas las posiciones de bits impredecibles.
De acuerdo con otro aspecto de la invencion, se llevan a cabo operaciones de bits sobre un nuevo paquete de datos para poner todas las posiciones de bits predecibles del nuevo paquete de datos en estado CERO si el estado de bit real coincide con el estado de bit previsto, y en estado UNO si el estado de bit real no coincide con el estado de bit previsto. Estas operaciones de bits, (en adelante, denominadas operaciones de bits de preparacion) se determinan en base al procedimiento seleccionado para determinar la predictibilidad del estado de cada bit en un paquete de datos. El termino "nuevo paquete de datos" se refiere a un paquete de datos recien generado, en contraste con los datos de series temporales historicos que se han generado previamente.
5
10
15
20
25
30
35
40
45
50
55
Estos estados de bit particulares son tan solo a modo de ejemplo, y en lugar de poner todas las posiciones de bits predecibles del nuevo paquete de datos en estado CERO si un estado de bit real coincide con el estado de bit previsto y en estado UNO si el estado de bit real no coincide con el estado de bit previsto, podnan seleccionarse los estados de bit opuestos. Para mayor simplicidad, se describe solamente una de las dos alternativas equivalentes.
De acuerdo con otro aspecto de la invencion, se proporciona un paquete procesado aplicando una operacion AND (utilizando un operador AND a nivel de bits) entre el nuevo paquete de datos en el que se han llevado a cabo las operaciones de bits y el paquete de mascara para cambiar todos los bits impredecibles a un estado CERO. Se proporcionan a continuacion una serie de contadores calculando el numero de bits en el paquete procesado entre el primer bit y el primer bit con estado UNO; y entre los bits siguientes con estado UNO y a continuacion entre el ultimo bit con estado UNO y el ultimo bit en el paquete procesado. De este modo, el procedimiento calcula la distancia entre los UNOS en el paquete procesado.
Esta codificacion de los contadores representa un esquema de codificacion de longitud de recorrido. Cuanto mejor coinciden los bits de un nuevo paquete de datos con sus estados previstos, mayores son los numeros de CEROs consecutivos y mejor la compresion resultante utilizando los contadores. Preferentemente, la codificacion de los contadores se puede llevar a cabo utilizando esquemas de codificacion de longitud de recorrido de tipo octeto o de tipo bit en el paquete procesado, para aumentar la velocidad de procesamiento y la eficiencia.
De acuerdo con otro aspecto de la invencion, la serie de contadores se escribe en un paquete de datos de salida. El paquete de datos de salida puede ser almacenado o transmitido.
El procedimiento propuesto funciona a nivel de paquetes y consiste casi mtegramente en operaciones de bits de longitud de palabra, tales como OR, XOR y AND. Las operaciones de bits de longitud de palabra son operaciones nativas para cualquier procesador y pueden ser ejecutadas en un solo ciclo de reloj, de tal modo que se realizan 16, 32 o 64 operaciones (dependiendo de la longitud de la palabra) en un solo ciclo. Hay una serie de operaciones XOR de un solo bit requeridas, pero su numero es muy pequeno y estas siguen siendo rapidas en comparacion con los calculos.
Las operaciones de bits se utilizan para generar un paquete procesado en el que los bits con estado UNO corresponden a un bit predecible cuyo estado no coincide con el estado predicho. Esta informacion se puede codificar eficientemente en contadores determinando la distancia entre los bits con estado UNO en el paquete procesado utilizando contadores. De acuerdo con la tecnica de compresion propuesta, solamente se requieren calculos (que consumen tiempo y recursos valiosos de la CPU) cuando se producen eventos de baja probabilidad y no cuando se producen eventos de alta probabilidad. Por lo tanto, estos se minimizan. Por ejemplo, si la mayona de los estados de bit de aquellos bits que han sido clasificados como predecibles son segun lo esperado, entonces no se requiere casi ningun calculo para producir el paquete de salida -solamente operaciones de bits.
De acuerdo con otro aspecto de la invencion, los datos de series temporales se pueden comprimir en un primer modo o bien en un segundo modo. Alternativamente, se puede utilizar un enfoque combinado que utiliza tanto el primer como el segundo modos, tal como se explicara en mayor detalle a continuacion.
En un primer modo (en adelante denominado asimismo modo de CADENA dado que se aplica a una secuencia ininterrumpida de paquetes de datos (una cadena de paquetes)), el procedimiento puede comprender ademas la etapa de aplicar XoR al nuevo paquete de datos con el ultimo paquete de datos generado para dicho tipo de paquete, donde la predictibilidad de cada bit en el nuevo paquete de datos esta basada en la probabilidad de que el bit cambie de estado cada vez que se genera un nuevo paquete.
Aplicar XOR al nuevo paquete de datos con el ultimo paquete de datos generado para dicho tipo de paquete se refiere a llevar a cabo una operacion XOR entre bits correspondientes de dos paquetes de datos consecutivos del mismo tipo de paquete. La probabilidad de que el bit cambie de estado cada vez que se genera un nuevo paquete, significa la probabilidad de que el bit en el nuevo paquete haya cambiado de estado desde el estado que tema el bit correspondiente (es decir, el bit en la misma posicion en otro paquete de datos) en el ultimo paquete generado.
Preferentemente, se calcula asimismo la probabilidad de que cada bit en el paquete de datos cambie de estado al mismo tiempo que otro bit en el paquete de datos. Si esta probabilidad es mas alta que la probabilidad de que el bit cambie de estado cada vez, entonces se utilizara esta probabilidad para determinar la predictibilidad del estado de cada bit y, como una de sus operaciones de bits de preparacion, se elige XOR con el bit que sigue a la etapa de aplicar xOr al nuevo paquete de datos con el ultimo paquete de datos generado para dicho tipo de paquete.
Preferentemente, se puede calcular la probabilidad de que un bit cambie de estado un numero de paquetes igual que entre los ultimos dos cambios de estado para el bit. En otras palabras, se cuenta el numero de paquetes que se han generado entre cambios de estado de bit y a continuacion se puede calcular la probabilidad de que, entre el mismo numero de paquetes, se produzca de nuevo el cambio en el futuro. Si esta probabilidad es mayor que la probabilidad de que el bit cambie de estado cada vez o cambie de estado al mismo tiempo que otro bit en el paquete, entonces se puede utilizar esta probabilidad para determinar la predictibilidad del estado de cada bit. Se activa un indicador para invertir el bit en el paquete procesado cuando se ha generado un numero de paquetes igual que los que se produjeron entre los ultimos dos cambios de estado para dicho paquete.
5
10
15
20
25
30
35
40
45
50
55
Utilizar diferentes procedimientos de analisis estad^stico de datos historicos y seleccionar el "mejor", es decir aquel en el que se puede predecir con la maxima probabilidad un estado de bit o un cambio en un estado de bit, aumenta la relacion de compresion y la velocidad del procedimiento de compresion.
De acuerdo con otro aspecto de la invencion, los datos de series temporales se pueden comprimir en un segundo modo (denominado asimismo en lo que sigue el modo de REFERENCIA), en el que no se lleva a cabo ninguna operacion XOR con el ultimo paquete de datos generado para dicho tipo de paquete, y la predictibilidad de cada bit en el paquete de datos se puede basar en la mayor de las probabilidades de que el bit este en un estado estatico CERO o UNO.
De acuerdo con otro aspecto del modo de REFERENCIA, se puede calcular la probabilidad de que cada bit en el paquete de datos tenga mismo estado al mismo tiempo que otro bit en el paquete de datos, y si esta probabilidad es mayor que la probabilidad de que el bit este en un estado estatico, entonces se puede utilizar esta probabilidad para determinar la predictibilidad del estado de cada bit. En este caso, se puede elegir una operacion XOR con dicho bit como una de sus operaciones de bits de preparacion. El modo de REFERENCIA es mas robusto que el modo de CADENA. El modo de CADENA tiene la ventaja de que el rendimiento de compresion es mejor pero la desventaja de que si se pierde un paquete, la cadena se rompera y no se pueden descodificar mas paquetes en modo de CADENA. Por lo tanto, de acuerdo con otro aspecto de la invencion, se puede utilizar una combinacion del primer modo y el segundo modo para comprimir los paquetes de datos.
Preferentemente, se comprime un paquete utilizando el segundo modo cada vez que se han comprimido X paquetes con el primer modo; siendo X un numero predeterminado. El maximo impacto de la perdida de un solo paquete es la perdida de los siguientes X paquetes. Variando el numero de paquetes de cadena entre los paquetes de referencia, se puede aumentar el rendimiento global de la compresion.
Alternativamente, se puede superponer un paquete que este comprimido con el segundo modo, es decir, se puede proporcionar adicionalmente cada X paquetes que han sido comprimidos con el primer modo. Esto tiene la ventaja de que se puede utilizar retroceso. Es posible trabajar hacia atras desde un paquete de REFERENCIA, asf como hacia delante. Esta es la opcion mas sensible para datos que no son cnticos con el tiempo.
Alternativamente, los paquetes de datos se pueden comprimir y transmitir utilizando el primer modo, donde el procedimiento puede comprender ademas la etapa de solicitar un paquete que este comprimido en el segundo modo en tiempo real si se interrumpe una cadena de paquetes de datos comprimidos sucesivamente. Esta es la opcion mas sensible para datos que no son cnticos con el tiempo y para los cuales esta disponible un enlace de datos con un tiempo de comunicacion razonable.
De acuerdo con otro aspecto de la invencion, las operaciones de bits de preparacion pueden comprender ademas la etapa de aplicar XOR al paquete resultante de todas las demas operaciones de bits de preparacion con un paquete de inversion, para invertir todos los bits en un paquete que han sido etiquetados como bits de inversion. El paquete de inversion se crea previamente con estado UNO para todas las posiciones de bit que requieren una inversion cada vez, y con estado cErO para las que no. La operacion de inversion convierte todos los estados de bits predecibles al mismo estado, ya sea a un estado CERO o UNO, utilizando una sola operacion de palabra eficiente.
De acuerdo con otro aspecto de la invencion, el procedimiento puede comprender ademas las etapas de extraer los bits impredecibles del nuevo paquete de datos por medio de un conjunto de operaciones de bits de extraccion; y escribir los restantes bits impredecibles en el paquete de datos de salida. Preferentemente, los bits impredecibles pueden ser extrafdos llevando a cabo una operacion OR entre el nuevo paquete de datos y el paquete de mascara para cambiar todos los bits predecibles a estado CERO, y a continuacion desplazando los bits y sometiendo a la operacion OR conjuntamente las palabras del paquete resultante para eliminar los CEROS asociados con los bits predecibles. Alternativamente, los bits impredecibles se pueden extraer llevando a cabo una operacion OR entre el paquete de datos que resulta de aplicar las operaciones de bits preparatorias sobre el nuevo paquete de datos, y el paquete de mascara.
De acuerdo con otro aspecto de la invencion, se puede realizar una comprobacion del numero de UNOS en el paquete procesado y, si este supera un umbral, entonces se abandona la compresion. Esto permite que el procedimiento salga automaticamente del proceso de compresion utilizando un criterio de parada simple si los estados de bit se desvfan significativamente de sus valores predichos estadfsticamente, lo que es importante cuando el procedimiento propuesto se aplica a compresion y transmision en tiempo real de datos de series temporales.
De acuerdo con otro aspecto de la invencion, el procedimiento puede comprender ademas por lo menos una de las etapas siguientes para transmitir los paquetes de datos comprimidos en tiempo real: anadir una cabecera de longitud fija al paquete de salida, comprendiendo la cabecera de longitud fija un bit de estado que indica si el paquete de datos esta comprimido, el modo en el que ha sido comprimido, la longitud del paquete en octetos y un contador secuencial para asegurar que los paquetes comprimidos se descomprimen por orden; eliminar el primer o el ultimo contador, anadir un bit extra en estado UNO al final de los datos del paquete de salida; y anadir el numero correcto de bits CERO al final de los datos del paquete de salida para completar el numero de octetos indicados en la cabecera.
5
10
15
20
25
30
35
40
45
50
55
Alternativamente, en lugar de anadir un contador de octetos a la cabecera y de anadir un bit final en estado UNO al termino del paquete de salida, se puede anadir un primer contador que describe cuantos otros contadores hay en el paquete.
Para aumentar adicionalmente la velocidad de compresion del nuevo paquete de datos, el calculo del numero de bits entre los bits en estado UNO y el principio y el final de los paquetes procesados puede estar basado en calcular el desplazamiento de palabras mediante direccionamiento de memoria para la diferencia de octetos y anadir a continuacion los desplazamientos de bits. Este aspecto explota el hecho de que el procedimiento trabaja con paquetes de longitud fija. Dado que los bits predecibles que tienen un estado que no coincide con el estado previsto estan caracterizados por un estado UNO en el paquete procesado, el procedimiento necesita determinar la distancia entre UNOS en el paquete procesado. Dado que el direccionamiento de memoria trabaja sobre octetos o palabras, la distancia entre bits (teniendo cada bit una direccion de memoria) con estado UNO se puede obtener eficientemente a partir del desplazamiento de palabras mediante direccionamiento de memoria.
De acuerdo con otro aspecto de la invencion, la codificacion de los contadores puede estar basada en dos contadores, codificando el primero la longitud del segundo contador en bits. Esto permite un procedimiento de descodificacion muy determinista con el fin de aumentar adicionalmente la velocidad de descodificacion encapsulando la informacion codificada. Alternativamente, la codificacion de los contadores se puede basar en separar los bits que constituyen el valor del contador en diferentes grupos y anadir bits de concatenacion entre los grupos para indicar si el grupo siguiente se debena concatenar o bien el contador ha terminado. Este esquema de codificacion puede codificar de manera efectiva cualquier longitud de computo.
De acuerdo con otro aspecto de la invencion, muchos de los cambios de estados de bit tienden a ocurrir juntos para ciertos datos de series temporales, es decir, los UNOS en el paquete procesado tienden a agruparse. Esto puede ser explotado utilizando un esquema de codificacion modificado: cada contador puede estar seguido por un unico indicador de bit que indica si esta seguido por un bit con estado UNO y, si es verdadero, se repite hasta que sea falso, por lo que se introduce un indicador de bit con un valor opuesto y los bits siguientes describen el siguiente contador.
De acuerdo con otro aspecto de la invencion, las posiciones de bit absolutas con respecto al comienzo del paquete procesado de todos los bits con estado UNO en dicho paquete se pueden transformar en numeros de orden en base a una tabla de consulta predeterminada, donde la tabla de consulta se ha calculado previamente en base a predictibilidad descendente de cada bit basandose en datos historicos. Por lo tanto, la tabla de consulta asigna un numero de orden a cada bit en base a una determinada predictibilidad descendente.
Preferentemente, los calculos de los valores de contador pueden estar basados en diferencias en los numeros de orden, en orden descendente. Esto aumenta el rendimiento de la compresion dado que las diferencias entre numeros de orden tienden a ser menores tras diferencias entre posiciones de bit absolutas. En primer lugar, solamente se consultan bits con estado UNO, que debenan ser muy escasos si la prediccion estadfstica es fiable. En segundo lugar, utilizando la tabla de consulta que clasifica los bits en base a predictibilidad descendente, los bits con la maxima predictibilidad se cuentan primero de tal modo que los primeros contadores codifican normalmente la secuencia mas larga de CEROS y, por lo tanto, un unico valor de contador puede codificar una gran cantidad de datos. Utilizando la tabla de consulta que clasifica los bits en base a predictibilidad descendente, se puede codificar una enorme cantidad de informacion utilizando solamente los primeros contadores que representan datos extremadamente comprimidos.
Debido a la naturaleza estadfstica de la prediccion del estado de bit, no esta determinado cuanta informacion sera codificada con los primeros contadores. De acuerdo con otro aspecto de la invencion, la diferencia entre un numero de orden mmimo predeterminado y el siguiente numero de orden maximo, mas las diferencias delta entre todos los numeros de orden mayores que esta, se pasan a un proceso independiente que las almacena y transmite por separado respecto de los paquetes comprimidos. De este modo, el procedimiento se puede configurar para garantizar que toda la informacion transportada en los bits correspondientes al numero de orden maximo en la tabla de consulta hasta el numero de orden mmimo en la tabla de consulta esta encapsulada en estos contadores. En particular, despues de un periodo en el que se almacenan datos a bordo, esto posibilita enviar primero la parte muy comprimible de los datos almacenados, antes de enviar la parte no comprimible. Dado que el contenido de la parte muy comprimible esta garantizado y contiene la mayona de la informacion en los datos almacenados, puede ser utilizado para una estimacion rapida de la evolucion del estado de la unidad sin esperar a que lleguen los datos completos.
De acuerdo con otro aspecto de la invencion, los contadores y los estados de bits impredecibles seleccionados se pueden almacenar en paquetes independientes y transmitirse por separado respecto de los paquetes que contienen el resto de los estados de bits impredecibles. Cuando se han almacenado a bordo muchos paquetes, esto permite la posibilidad de enviar primero toda la parte muy comprimida de dichos paquetes conjuntamente, en lugar de cada paquete comprimido secuencialmente.
5
10
15
20
25
30
35
40
45
50
55
Otro aspecto de la invencion se refiere a una estacion base central, a un dispositivo telemetrico y a un sistema que comprende la estacion base central y el dispositivo telemetrico, que estan configurados para ejecutar el procedimiento propuesto.
En particular, se propone una estacion base central para procesar y recibir datos de series temporales, que comprende una unidad central de procesamiento. La unidad central de procesamiento esta configurada para determinar la predictibilidad del estado de cada bit en un paquete de datos. Preferentemente, el estado de cada bit en un paquete de datos se puede predecir en base a una prediccion estatica o al estado de otro bit en el paquete, o al estado del bit en el ultimo paquete generado o a un cambio en el estado de otro bit en el paquete, o a la cantidad de paquetes generados desde el ultimo cambio en el estado del bit. La unidad central de procesamiento esta configurada ademas para determinar, para cada bit en el paquete de datos, si su estado es predecible determinando si su estado se puede predecir con una probabilidad mejor que un umbral predeterminado. La unidad central de procesamiento esta configurada ademas para crear un paquete de mascara. Un paquete de mascara es un paquete de datos con bits en estado UNO para todas las posiciones de bits predecibles y con bits en estado CERo para todas las posiciones de bits impredecibles.
La unidad central de procesamiento puede estar configurada ademas para crear un conjunto de operaciones de bits, tal como un conjunto de instrucciones XOR y un paquete de inversion que transforma un paquete de datos recien generado y/o el ultimo paquete, en un paquete de datos en el que los bits predecibles estan en estado CERO si la prediccion fue correcta y en estado UNO si la prediccion fue incorrecta. La unidad central de procesamiento puede estar configurada ademas para determinar operaciones de bits de extraccion para eliminar los bits predecibles de un paquete de datos creado a partir de un paquete de datos generado utilizando una operacion OR del nuevo paquete de datos y el paquete de mascara, y crear un conjunto de instrucciones de extraccion para esta operacion. En lugar de utilizar el nuevo paquete de datos para la operacion OR con el paquete de mascara, se puede utilizar asimismo el paquete de datos resultante de aplicar el conjunto de instrucciones XOR y/o el paquete de inversion sobre el nuevo paquete de datos.
La estacion base central puede comprender ademas una unidad de envfo/recepcion configurada para transmitir el paquete de mascara generado, el paquete de inversion, el conjunto de instrucciones XOR y el conjunto de instrucciones de extraccion al dispositivo de telemetna; y para recibir los paquetes comprimidos desde el dispositivo de telemetna.
La unidad central de procesamiento puede estar configurada ademas para interpretar los contadores recibidos incluidos en los paquetes comprimidos recibidos desde un dispositivo de telemetna, y para restablecer un paquete procesado y utilizar instrucciones de operaciones de bits equivalentes para reconstruir el paquete de datos original.
La estacion base central puede estar configurada ademas para proporcionar regularmente una version actualizada de los paquetes de mascara, los paquetes de inversion y los conjuntos de instrucciones en base a datos de series temporales de telemetna historicas recien generados.
Otro aspecto de la invencion se refiere al dispositivo de telemetna configurado para comprimir, y almacenar o transmitir datos de series temporales. El dispositivo de telemetna comprende una primera area de almacenamiento configurada para almacenar el ultimo paquete generado para cada tipo de paquete; una segunda area de almacenamiento configurada para almacenar por lo menos un paquete de mascara; una tercera area de almacenamiento configurada para almacenar por lo menos un paquete de inversion; una cuarta area de almacenamiento configurada para almacenar por lo menos un conjunto de instrucciones XOR; una quinta area de almacenamiento configurada para almacenar por lo menos un conjunto de instrucciones de extraccion; un medio de procesamiento de paquetes para comprimir datos de series temporales telemetricos, un receptor configurado para recibir el paquete de mascara, el paquete de inversion y los conjuntos de instrucciones; y una unidad de envfo para transmitir los paquetes de datos comprimidos mediante el medio de procesamiento de paquetes. Las anteriores areas de almacenamiento pueden estar implementadas utilizando una sola o multiples unidades de almacenamiento.
De acuerdo con otro aspecto de la invencion, el medio de procesamiento de paquetes puede estar configurado para llevar a cabo una operacion XOR de un paquete recien generado con el ultimo paquete generado de ese tipo, si la predictibilidad del estado de cada bit en un paquete de datos esta determinada en base a un estado de un bit o a un cambio en el estado de otro bit (modo de cAdENA). De acuerdo con otro aspecto de la invencion, el medio de procesamiento de paquetes esta configurado para llevar a cabo XOR entre bits en el paquete resultante de acuerdo con el conjunto de instrucciones XOR; XOR del paquete resultante con el paquete de inversion; y AND del paquete resultante con el paquete de mascara para crear un paquete procesado.
De acuerdo con otro aspecto de la invencion, el medio de procesamiento de paquetes esta configurado para calcular el numero de bits entre el primer bit en el paquete procesado y el primer bit con estado UNO, y a continuacion entre los bits siguientes con estado UNO en el paquete procesado, y a continuacion entre el ultimo bit con estado UNO y el ultimo bit en el paquete procesado. Los resultados de los calculos pueden ser codificados como contadores escritos en un paquete de datos de salida.
5
10
15
20
25
30
35
40
45
50
De acuerdo con otro aspecto de la invencion, el dispositivo de telemetna puede estar configurado ademas para aplicar OR al paquete de datos original con el paquete de mascara; para llevar a cabo las operaciones de bits de extraccion sobre el paquete resultante; para escribir el resultado en el paquete de datos de salida; para anadir una cabecera de longitud fija al paquete de datos de salida, para anadir un bit a final de los datos, para anadir bits cero con el fin de completar el numero exacto de octetos descritos en la cabecera; y para transmitir el paquete a la estacion base.
De acuerdo con otro aspecto de la invencion, el dispositivo de telemetna puede estar configurado para decidir, para cada paquete de datos, si debena o no ser comprimido. De acuerdo con otro aspecto, el procesador de paquetes puede comprimir selectivamente los paquetes de datos de acuerdo con una relacion predeterminada de paquetes de datos comprimidos frente a no comprimidos que el dispositivo de telemetna ha recibido desde la estacion base central.
La invencion se explica a continuacion a modo de ejemplo haciendo referencia a los dibujos adjuntos, en los cuales
la figura 1 muestra un diagrama de flujo que ilustra las etapas de preparacion principales del procedimiento de compresion segun una realizacion de la invencion;
la figura 2 muestra un diagrama de flujo que ilustra las etapas del procedimiento de compresion aplicado a un paquete de datos recien generado, de acuerdo con una realizacion de la invencion;
la figura 3 muestra a modo de ejemplo los resultados del procedimiento de compresion de acuerdo con el modo de CADENA;
la figura 4 muestra a modo de ejemplo las operaciones de bits del modo de CADENA, segun una realizacion de la invencion;
la figura 5 muestra a modo de ejemplo los resultados del procedimiento de compresion de acuerdo con el modo de REFERENCIA;
la figura 6 muestra esquematicamente las operaciones de bits del modo de REFERENCIA de acuerdo con una realizacion de la invencion;
la figura 7A muestra esquematicamente un esquema de codificacion de contador expansible, de acuerdo con una realizacion de la invencion;
la figura 7B muestra esquematicamente la combinacion de los modos de CADENA y de REFERENCIA, segun una realizacion de la invencion;
las figuras 8A-8D muestran esquematicamente las series temporales de contadores generadas, de acuerdo con una realizacion de la invencion; y
la figura 9 muestra un sistema para transmitir o almacenar datos de series temporales, de acuerdo con una realizacion de la invencion.
La figura 1 muestra un diagrama de flujo que ilustra las etapas de preparacion principales del procedimiento de compresion en una realizacion de la invencion. El procedimiento de compresion propuesto es particularmente adecuado para datos de mantenimiento que describen el estado de funcionamiento actual de un dispositivo o un sistema, o para datos de series temporales generados mediante mediciones repetidas de un sistema conectado limitado ffsicamente. Despues del tratamiento apropiado, dichas mediciones presentan la predictibilidad suficiente a nivel de bits como para poder ser explotadas por la presente invencion.
El procedimiento propuesto esta basado en un analisis estadfstico de datos historicos del sistema o dispositivo, para determinar la predictibilidad de cada bit de un paquete de datos generado por el sistema de mediciones. En la etapa S1, se determina la predictibilidad de cada bit en un paquete de datos en base a datos historicos. Basandose en los resultados, cada bit en el paquete de datos se clasifica a continuacion en la etapa S2 como predecible o no predecible. Finalmente, en la etapa S3, se prepara un conjunto de operaciones de bits y de paquetes de datos que se pueden aplicar posteriormente a un paquete de datos recien generado con el fin de comprimir casi en tiempo real el paquete de datos recien generado, utilizando operaciones de bits casi mtegramente de longitud de palabra, tales como OR, XOR y AND. Las etapas S1 a S3 que se muestran en la figura 1 se llevan a cabo habitualmente en una estacion central que tiene acceso a datos de series temporales historicos almacenados.
En la etapa S1, se analizan estadfsticamente datos de series temporales historicos, es decir, datos de series temporales de un sistema medido anteriormente (por ejemplo, datos de mantenimiento de telemetna de un satelite, que han sido medidos y enviados por enlace descendente a una estacion en tierra) para calcular la predictibilidad de cada bit en un paquete de datos. Los datos de series temporales se transmiten habitualmente en paquetes de datos que consisten en campos de posicion/longitud binaria fijas, y en los que cada campo corresponde a una medicion particular. La predictibilidad de cada bit en un paquete de datos se calcula como la probabilidad de que cada bit en un paquete este en un estado CERO o UNO, o la probabilidad de que cada bit en un paquete cambie de estado. La
5
10
15
20
25
30
35
40
45
50
invencion no se limita a un procedimiento de calculo particular para determinar la predictibilidad del estado de cada bit en un paquete de datos. Por ejemplo, la predictibilidad se puede determinar en base a una prediccion estatica o a un estado de otro bit en el paquete. La predictibilidad del estado de cada bit en un paquete de datos se puede determinar asimismo en base a un estado del bit en el ultimo paquete generado o a un cambio en el estado de otro bit en el paquete, o a la cantidad de paquetes generados desde el ultimo cambio en el estado del bit.
Preferentemente, el procedimiento que produce la maxima predictibilidad se elige para un parametro de serie temporal particular. De acuerdo con una realizacion preferida, la predictibilidad de cada bit se calcula utilizando diferentes criterios segun el modo:
Segun un primer modo, denominado asimismo el modo de CADENA, se requiere informacion de paquetes anteriores. La predictibilidad de cada bit se calcula como la probabilidad de que
- un bit tenga el mismo estado que su estado en el ultimo paquete generado, o
- un bit cambie su estado al mismo tiempo que otro bit en el paquete (correlacionado por cambio con otro bit), o
- un bit cambie su estado despues del mismo numero de paquetes que los que ha habido entre los ultimos dos
cambios de estado de bit (denominado asimismo correlacion temporal, se describira posteriormente en mayor detalle).
Segun un segundo modo, denominado asimismo el modo de REFERENCIA, no se requiere ninguna informacion de paquetes anteriores. La predictibilidad de cada bit se calcula como la probabilidad de que
- un bit tenga el mismo estado que una prediccion estatica, o
- un bit tenga el mismo estado a la vez que otro bit en el paquete (estado correlacionado con otro bit).
Para el modo seleccionado, se calculan probabilidades para cada uno de los criterios en la etapa S1. A continuacion, los valores de probabilidad que estan por debajo de 0,5 se restan de 1. La predictibilidad de cada bit esta dada entonces por el mayor valor de probabilidad de cada uno de los criterios. Si el valor de predictibilidad fue el resultado de un valor de probabilidad que esta originalmente por debajo de 0,5, entonces se etiqueta para inversion. Estos bits siguen siendo predecibles, tan solo tienen el comportamiento opuesto, lo que se puede tratar invirtiendo el resultado. Por ejemplo, si se utilizan datos historicos en tierra para calcular la probabilidad de que un bit cambie de estado entre paquetes sucesivos, y si se estima que la probabilidad es de 0,9 para un primer bit y de 0,1 para un segundo bit, la predictibilidad de los dos bits es la misma (90%). Esto se puede comprender en el sentido de que un parametro que cambia el 90% del tiempo, es decir la vida de cambio es de 0,9, es de hecho muy predecible.
Si la cifra de predictibilidad ha sido el resultado de un criterio basado en correlacion con otro bit (sea estatico o cambie) entonces se etiqueta en las instrucciones de preparacion para ser sometido a XOR con dicho bit. Si la cifra de predictibilidad ha sido el resultado de criterios basados en correlacion temporal, entonces se etiqueta para ser tratado como tal en las instrucciones de bits de preparacion (ver la descripcion siguiente).
En la etapa S2, los bits en el paquete de datos se clasifican como predecibles o no predecibles en base al analisis estadfstico llevado a cabo en la etapa S1, donde un estado de bit es predecible si su estado puede ser predicho con una probabilidad que es mayor que un umbral predeterminado y no predecible si la probabilidad es menor o igual que dicho umbral.
En la etapa S3, los resultados del analisis de predictibilidad se utilizan para determinar las operaciones de bits que es necesario llevar a cabo sobre un paquete de datos recien generado de tal modo que los bits predecibles esten en estado CERO si la prediccion era correcta y en estado UNO si la prediccion era incorrecta. Esto se mostrara en las figuras 2 a 6.
Las operaciones de bits dependen del procedimiento de calculo seleccionado para determinar la predictibilidad. Por lo tanto, se proporciona un paquete de inversion que identifica los bits en el paquete de datos que han sido invertidos. Si la cifra de predictibilidad ha sido el resultado de un criterio basado en correlacion con otro bit (sea estatico o cambie) entonces se etiqueta en las instrucciones de preparacion para ser sometido a XOR con dicho bit. Las operaciones de bits necesarias se proporcionan como un conjunto de instrucciones XOR para llevar a cabo la parte de XOR de bits de las operaciones de bits de preparacion y un paquete de inversion para la parte de inversion. Ademas, se proporciona un paquete de mascara que comprende bits en estado UNO para todas las posiciones de bits predecibles del paquete de datos y bits en estado CERO para todas las posiciones de bits impredecibles. El paquete de mascara tienen la misma longitud de paquete, es decir, numero de bits, que los paquetes de datos de los datos de series temporales. Ademas, se determinan las operaciones de bits de extraccion que pueden eliminar los bits predecibles de un paquete de datos creado a partir de una OR sobre el paquete de datos original y el paquete de mascara, y se crea un conjunto de instrucciones de extraccion para esta operacion.
El paquete de mascara, el paquete de inversion, el conjunto de instrucciones XOR y el conjunto de instrucciones de extraccion son transmitidos a continuacion al dispositivo de telemetna. Preferentemente, las versiones actualizadas
5
10
15
20
25
30
35
40
45
50
55
de los paquetes de mascara, de los paquetes de inversion y de los conjuntos de instrucciones se proporcionan regularmente al dispositivo de telemetna en base a datos de series temporales de telemetna historicos recien generados.
La figura 2 muestra un diagrama de flujo que ilustra las etapas del procedimiento de compresion aplicado a un paquete de datos recien generado, de acuerdo con una realizacion de la invencion. Las etapas mostradas en la figura 2 se llevan a cabo para comprimir individualmente los paquetes de datos a medida que se generan.
Segun la realizacion, un paquete se puede comprimir de acuerdo con un primer modo (modo de CADENA) o de acuerdo con un segundo modo (modo de REFERENCIA). Por lo tanto, en la etapa S4, se determina si el paquete se debena comprimir en modo de CADENA o en modo de REFERENCIA. A continuacion se calcula la predictibilidad de cada bit utilizando diferentes criterios determinados en la etapa S1, en funcion del modo. Las operaciones de bits requeridas determinadas en la etapa S3 se seleccionan a continuacion en la etapa S5 en funcion del modo seleccionado. S5_C indica la operacion de bits requerida en el modo de CADENA y S5_R indica a la operacion de bits requerida en el modo de REFERENCIA.
La figura 3 muestra esquematicamente los resultados del procedimiento de compresion, segun el modo de CADENA. En el modo de CADENA, se requiere informacion de paquetes anteriores dado que un estado de bit de un nuevo paquete de datos 2 se predice en base al estado de bit de un paquete de datos anterior 1 de dicho tipo de paquete.
En la etapa S5_C, se lleva a cabo una operacion XOR de un paquete 2 recien generado con el ultimo paquete 1 generado de dicho tipo. Por lo tanto, esta calcula de manera efectiva un delta desde dicho paquete hasta el nuevo. A continuacion, se realizan XORs entre bits en el paquete resultante tal como requiere el conjunto de instrucciones XOR. Por ejemplo, si la cifra de predictibilidad fuera el resultado de un criterio basado en correlacion con otro bit (sea estatico o cambie) entonces este bit se sometera a XOR con dicho bit, segun las instrucciones de bits proporcionadas. El paquete resultante se somete asimismo XOR con el paquete de inversion probado.
Como resultado de la etapa S5_C, todas las posiciones de bits predecibles del paquete de datos resultante 3 se han convertido a estado CERO si un estado de bit real coincide con el estado de bit predicho, y todas las posiciones de bits predecibles se convierten a estado UNO si el estado de bit real no coincide con el estado de bit predicho.
En la etapa S6, se lleva a cabo una operacion AND entre el paquete resultante 3 y el paquete de mascara previsto (no mostrado) para cambiar todos los bits impredecibles a un estado CERO. El paquete de datos resultante es el paquete de datos procesado 4. Todos los bits 4_B21, 4_Bi y 4_Bj con estado UNO en el paquete de datos procesado 4 representan bits clasificados como predecibles, donde el estado de bit actual no coincide con el estado de bit previsto.
En la etapa S7, se calcula el numero de bits entre el primer bit 4_B1 en el paquete procesado 4 y el primer bit 4_B21 con estado UNO, y a continuacion entre los siguientes bits 4_Bi con estado UNO en el paquete procesado 4, y a continuacion entre el ultimo bit 4_Bj con estado UNO y el ultimo bit 4_Bn en el paquete procesado 4. El resultado del calculo se codifica en una serie 5 de contadores 5a. Esto representa una variacion de un esquema de codificacion de longitud de recorrido. La serie de contadores 5 cuenta de manera efectiva el numero de bits cero consecutivos seguidos por un bit uno. Por lo tanto, se calcula la distancia entre los UNOS en el paquete de datos procesado. Tal como se muestra en la figura 7A, se utilizan contadores expansibles 5 que introducen un bit de estado 5b cada tres bits de contador para indicar si los campos del computo han terminado o no. El esquema puede codificar cualquier longitud de computo.
En la etapa S8 de la figura 2 y la figura 3, los contadores se escriben en un paquete de datos de salida 6.
Con las siguientes etapas S9 a S11, los bits impredecibles se anaden al paquete de salida 6. En la etapa S9, se lleva a cabo una operacion OR del paquete de datos resultante 3 con el paquete de mascara para eliminar los bits predecibles de un paquete de datos, y en la etapa S10 se llevan a cabo las operaciones de bits de extraccion sobre el paquete resultante para extraer los bits impredecibles 8. Los bits impredecibles extrafdos se anaden a continuacion al paquete de salida 6 (etapa S11). Alternativamente, los estados de bit no comprimibles podnan ser extrafdos utilizando una operacion OR del paquete de datos original/nuevo 1 con el paquete de mascara (no mostrado).
En la etapa S12, se acopla una cabecera 6a de longitud fija a los datos comprimidos de cada paquete 6. Esto puede incluir un numero de identificacion, un bit de estado para indicar a tierra que esta comprimido, un bit de estado para indicar a tierra el modo POCKET, la longitud del paquete en octetos y un contador secuencial para asegurar que los paquetes comprimidos se descomprimen por orden. Ademas, se eliminan los bits que representan el primer contador en los datos comprimidos. Se anade un unico bit uno al final de los datos comprimidos para indicar el final. Se anaden bits cero al final de los datos para asegurar que se alcanza un numero completo de octetos para el paquete entero. En la etapa S13, el nuevo paquete que contiene los datos comprimidos se transmite a continuacion a tierra (o se almacena en un almacen de paquetes para su posterior transmision).
5
10
15
20
25
30
35
40
45
50
55
La figura 4 muestra en mayor detalle las operaciones de bits del modo de CADENA que se llevan a cabo en un nuevo paquete de datos 2 para poner todas las posiciones de bits predecibles en el nuevo paquete de datos 2 a estado CERO si un estado de bit real coincide con el estado de bit previsto, y a estado UNO si el estado de bit real no coincide con el estado de bit previsto. Las operaciones de bits de las etapas S5_C1, S5_C2 y S5_C3 representan las operaciones de bits resumidas en la etapa S5_C de la figura 3.
En la etapa S5_C1, se lleva a cabo una operacion XOR de un paquete 2 recien generado con el ultimo paquete 1 generado de dicho tipo. A continuacion el paquete resultante se somete a XOR con el paquete de inversion. Algunos bits son etiquetados en las instrucciones de preparacion como estando correlacionados por cambio con otro bit. En este caso, se someten a XOR con dicho bit en la etapa S5_C2. Por ejemplo, el bit 3a_7 esta correlacionado por cambio con el bit 3b_5. Los bits 3a_7 y 3a_5 se someten a XOR, dando como resultado un bit 3b_7 con el valor CERO.
Algunos bits se pueden etiquetar en las instrucciones de preparacion como estando correlacionados por tiempo, donde la predictibilidad de cada bit en el nuevo paquete de datos esta basada en la probabilidad de que el bit cambie de estado cada vez que se genera un nuevo paquete. En este caso, se invierten ocasionalmente en la etapa S_5C3. Los bits correlacionados por tiempo se tratan de tal modo que cuando se produce un UNO, se cuenta el numero de paquetes generados desde el ultimo UNO y se desencadena una inversion de dicho estado de bit cuando se genera el mismo numero de paquetes en el futuro - salvo que se produzca otro UNO mientras tanto, en cuyo caso se restablece el computo. Por ejemplo, si el valor de un bit en el tiempo (a continuacion de XOR con el ultimo paquete) es segun la secuencia siguiente:
[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1].
Entonces la salida despues de la correlacion temporal sera:
[1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
donde los valores subrayados representan bits que se han invertido y las comas representan un nuevo paquete. Si dicho bit vana su frecuencia de cambio, la salida lo seguira, por ejemplo:
[1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,]
Las salida es entonces:
[1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Por lo tanto, no es necesario indicar al transmisor la frecuencia del cambio. Basta con limitarse a etiquetarla como un bit que requiere tratamiento de correlacion temporal.
Las figuras 5 y 6 muestran esquematicamente los resultados del procedimiento de compresion segun el modo de REFERENCIA. Las operaciones de bits S5_R1 y S5_R2 de la figura 6 estan resumidas como etapa S5_R en la figura 5. En el modo de REFERENCIA, no se requiere ninguna informacion de paquetes anteriores. El paquete de datos 2 recien generado no se somete a XOR con el ultimo paquete de datos generado para dicho tipo de paquete dado que la predictibilidad de cada bit en el paquete de datos esta basada en la mayor de las probabilidades de que el bit este en un estado estatico CERO o UNO. El nuevo paquete de datos 2 se somete a xOr con el paquete de inversion en la etapa S5_R1, solamente. Si algunos bits son etiquetados en las instrucciones de preparacion como estando correlacionados por estado con otro bit del mismo paquete, entonces estos bits seran sometidos a XOR con dicho bit en la etapa S5_R2. Las etapas S6-S13 son las mismas que las etapas correspondientes del modo de CADENA.
En el modo de REFERENCIA, el procedimiento de compresion no lleva a cabo XOR con un paquete de datos anterior. Por lo tanto, el dispositivo que recibe los datos comprimidos transmitidos puede siempre calcular un estado absoluto a partir de este paquete. En el modo de CADENA, el procedimiento de compresion aplica XOR al nuevo paquete con el ultimo paquete generado. Por lo tanto, calcula de manera efectiva un delta desde dicho paquete hasta el nuevo. Esto forma una cadena que empieza en un paquete no comprimido o en un paquete comprimido en modo de REFERENCIA. El modo de CADENA tiene la ventaja de que el rendimiento de compresion es mejor pero la desventaja de que si se pierde un paquete, la cadena se rompera y no se pueden descodificar mas paquetes en modo de CADENA. Por lo tanto, una realizacion preferida de la invencion utiliza una combinacion de paquetes de REFERENCIA (o paquetes no comprimidos) y paquetes de modo de CADENA. Hay varias opciones disponibles:
Una primera opcion es entrelazar un paquete de REFERENCIA cada X paquetes de CADENA. Un sistema simple y robusto consistina en alternar entre modos para cada paquete. Esto se muestra en la figura 7B, que muestra la secuencia de paquetes 30 comprimidos en modo de REFERENCIA y paquetes 31 comprimidos en modo de CADENA. El maximo impacto de la perdida de un solo paquete es la perdida del paquete siguiente, y esto se produce solamente el 50% de los casos. Una segunda opcion es superponer un paquete de REFERENCIA 30 cada X paquetes de CADENA 31 (ver la imagen inferior de la figura 7B). Esto tiene la ventaja de que se puede utilizar retroceso. Es posible trabajar hacia atras desde un paquete de REFERENCIA, asf como hacia delante. Una tercera
5
10
15
20
25
30
35
40
45
50
55
60
opcion es enviar paquetes de CADENA por defecto, con la posibilidad de solicitar un paquete de REFERENCIA en tiempo real si la cadena se rompe (no mostrada). Cuando se consideran estas opciones, se debe observar que las opciones 2 y 3 no aumentan el riesgo de perdida de paquetes, retardando tan solo su descodificacion en un breve periodo si se produce una perdida de paquete. Una ventaja adicional de la invencion es que el ancho de banda liberado al implementar el procedimiento de compresion propuesto puede ser utilizado para reducir la probabilidad de perdida de paquete por debajo de la de cualquier sistema conocido de la tecnica anterior que no comprima paquetes. Un ejemplo simple es enviar todos los paquetes dos veces. Esto convertina un enlace que pierde un paquete de cada mil en un enlace que pierde un paquete de cada millon.
Los bits de los paquetes procesados reordenados segun su probabilidad descendente tendnan como resultado una serie temporal de contadores, tal como se muestra en la figura 8A. Estadfsticamente, el numero de CEROS entre el primer bit en el paquete procesado y el primer bit con estado UNO, y a continuacion entre los bits siguientes con estado UNO en el paquete procesado, y a continuacion entre el ultimo bit con estado UNO y el ultimo bit en el paquete procesado, disminuye si los bits se ordenan de acuerdo con sus probabilidades descendentes. De este modo, la primera secuencia de CEROS entre el primer bit en el paquete procesado y el primer bit con estado UNO se codifica con el primer contador 21, la segunda secuencia de CEROS entre los bits siguientes con estado UNO se codifica con el segundo contador 22, y la siguiente secuencia de CEROS con el tercer contador 23, etc.
De acuerdo con otra realizacion de la invencion, se puede calcular previamente una tabla de consulta en base a la predictibilidad descendente de cada bit basada en datos historicos. Las posiciones de bit absolutas con respecto al comienzo del paquete procesado de todos los bits con estado UNO en dicho paquete se transforman entonces en numeros de orden en base a una tabla de consulta. La tabla de consulta permite explotar la estructura del paquete procesado de la manera mostrada en la figura 8C. La tabla de consulta mapea estas posiciones de bit absolutas con estado UNO a numeros de orden, ordenados en base a la predictibilidad descendente de cada bit. La diferencia entre estos numeros en orden descendente se codifica en valores de contador. Por ejemplo, dada una tabla de consulta, si el bit B21 tienen una probabilidad de 0,95, el bit B23 de 0,88, el bit B8 de 0,85 (ver la figura 8C), estos bits se pueden mapear mediante la tabla de consulta respectivamente en los numeros de orden 14, 17, 19 en base a la predictibilidad descendente de cada bit, y a continuacion se calculan valores de contador. El numero de orden 14 para el bit B21 significa que el bit B21 tiene el 14-esimo valor de predictibilidad mas alto de todos los bits en el paquete de datos. La tabla de consulta que mapea la posicion de bit absoluta ("Abs") a un numero de orden ("Orden") de acuerdo con la predictibilidad de cada bit se muestra esquematicamente en la tabla de la figura 8C.
Utilizando la tabla de consulta que clasifica los bits en base a predictibilidad descendente, se consultan primero los bits con la maxima predictibilidad de tal modo que los primeros contadores codifican normalmente la secuencia mas larga de CEROS y, por lo tanto, un unico contador puede codificar una gran cantidad de datos.
Tal como se muestra en la figura 8B, el procedimiento propuesto tiene como resultado esencialmente una serie de contadores 24, 25. Estos forman series temporales que son muy ricas en informacion. Tratando estas series temporales, la mayor parte de los datos historicos se pueden transferir a una unidad de recepcion central a relaciones de compresion muy elevadas. Por ejemplo, una primera serie temporal de contador 24 mostrana el punto (el bit 26 en la figura 8A que tiene un valor de UNO) en el que la primera prediccion no es correcta para cada paquete comprimido. Todos los tratamientos estandar para series temporales (fuera de los lfmites, mm, max, desviacion estandar, tratamiento vectorial, compresion aun mayor) se pueden aplicar a estos contadores para permitir a la unidad central recibir datos de telemetna muy rapidamente y monitorizar el sistema, por ejemplo, esto resulta evidente cuando estan teniendo lugar eventos de baja probabilidad de multiples parametros al mismo tiempo.
Si se descarga solamente una serie temporal 24, la cantidad de informacion que estana incluida variana debido a la naturaleza estadfstica de la prediccion del estado de bit. Por lo tanto, de acuerdo con otra realizacion, el procedimiento de compresion se puede configurar de tal modo que garantice informacion de bits hasta un cierto punto 30 como el mostrado en la figura 8D. Esto se puede conseguir mediante determinar un umbral mmimo predeterminado utilizando los numeros de orden de la tabla de consulta para garantizar informacion de bits hasta un cierto punto.
La figura 9 muestra esquematicamente un sistema 300 para procesar datos de series temporales de telemetna, de acuerdo con una realizacion de la invencion. El sistema 300 comprende una estacion base central 100 y un dispositivo de telemetna remoto 200. La estacion base central 100 comprende una unidad central de procesamiento 102 configurada para llevar a cabo las etapas S1 a S3 que se ha descrito anteriormente, tal como determinar la predictibilidad del estado de cada bit en un paquete de datos en base al analisis estadfstico de datos historicos, tal como se ha descrito anteriormente. La estacion base central crea el paquete de mascara con bits en estado UNO para todas las posiciones de bits predecibles y en estado CERO para todas las posiciones de bits impredecibles. Esta determina asimismo las operaciones de bits de preparacion necesarias para llevar a cabo sobre un paquete de datos recien generado o sobre un paquete de datos recien generado y el ultimo paquete, de tal modo que los bits predecibles estan en estado CERO si la prediccion fue correcta y en estado UNO si la prediccion fue incorrecta. Adicionalmente, la estacion base crea un conjunto de instrucciones XOR para llevar a cabo la parte de XOR de bits de las operaciones de bits de preparacion y un paquete de inversion para la parte de inversion, asf como las operaciones de bits de extraccion que pueden eliminar los bits predecibles de un paquete de datos creado a partir de un OR del paquete de datos original y el paquete de mascara, y crear un conjunto de instrucciones de extraccion
5
10
15
20
25
30
para esta operacion. La estacion base central comprende una unidad de envfo/recepcion 103 configurada para transmitir el paquete de mascara, el paquete de inversion, el conjunto de instrucciones XOR y el conjunto de instrucciones de extraccion al dispositivo de telemetna 200. La unidad central de procesamiento 100 esta configurada ademas para recibir paquetes comprimidos desde el dispositivo remoto 200 y despues interpretar los contadores restableciendo el paquete procesado y utilizando instrucciones de operacion de bits equivalentes para reconstruir el paquete de datos original.
El dispositivo de telemetna 100 comprende un almacenamiento de datos 205 con una primera area de almacenamiento 202 configurada para almacenar el ultimo paquete generado para cada tipo de paquete; una segunda area de almacenamiento 205a configurada para almacenar por lo menos un paquete de mascara; una tercera area de almacenamiento 205b configurada para almacenar por lo menos un paquete de inversion; una cuarta area de almacenamiento 205c configurada para almacenar por lo menos un conjunto de instrucciones XOR; una quinta area de almacenamiento 205d configurada para almacenar por lo menos un conjunto de instrucciones de extraccion.
El dispositivo de telemetna 100 comprende ademas un medio 203 de procesamiento de paquetes para comprimir datos de series temporales telemetricos, una unidad de recepcion 210 para recibir el paquete de mascara, el paquete de inversion y los conjuntos de instrucciones; una unidad de envfo 210 para transmitir los paquetes de datos comprimidos por el medio de procesamiento de paquetes. El medio 203 de procesamiento de paquetes esta configurado para llevar a cabo la compresion segun las etapas S4 a S13 que se han descrito anteriormente. De acuerdo con una realizacion, el dispositivo de telemetna 200 esta configurado para decidir, para cada paquete de datos, si debena o no ser comprimido. El procesador de paquetes 203 puede estar configurado para comprimir selectivamente los paquetes de datos de acuerdo con una relacion predeterminada de paquetes de datos comprimidos frente a no comprimidos que ha recibido el dispositivo de telemetna desde la estacion de tierra.
El sistema para almacenar y distribuir datos de series temporales de telemetna comprende ademas un area de almacenamiento 101 en la unidad central 100, que almacena los datos de series temporales en forma comprimida y cuando un usuario remoto solicita datos almacenados envfa los paquetes comprimidos junto con el paquete de mascara, el paquete de inversion y los conjuntos de instrucciones asociados, necesarios para que el usuario remoto reconstruya los paquetes de datos originales.
Las caractensticas, los componentes y los detalles espedficos de la estructura de las realizaciones mencionadas anteriormente se pueden intercambiar o combinar para formar otras realizaciones optimizadas para la aplicacion respectiva. Siempre que dichas modificaciones sean ya evidentes para un experto en la materia, estaran reveladas implfcitamente por la descripcion anterior sin especificar explfcitamente todas las combinaciones posibles, para mayor concision de la presente invencion.
Claims (15)
- 5101520253035404550REIVINDICACIONES1. Un procedimiento para la transmision o el almacenamiento de datos de series temporales, en el que los datos de series temporales se comprimen utilizando las etapas siguientes:- Proporcionar datos de series temporales predeterminados;- Determinar (S1) la predictibilidad de un estado de cada bit en un paquete de datos en base a los datos de series temporales proporcionados;- Proporcionar (S3) un paquete de mascara con bits en estado UNO para todas las posiciones de bits predecibles del paquete de datos y con bits en estado CERO para todas las posiciones de bits impredecibles;- Llevar a cabo (S5) operaciones de bits en un nuevo paquete de datos (2) para poner todas las posiciones de bits predecibles del nuevo paquete de datos (2) en estado CERO si un estado de bit real coincide con el estado de bit predicho y en estado UNO si el estado de bit real no coincide con el estado de bit predicho;- Proporcionar (S6) un paquete procesado (4);- Proporcionar (S7) una serie (5) de contadores (5a) calculando el numero de bits en el paquete procesado (4) entre el primer bit y el primer bit con estado UNO; y entre los bits siguientes con estado UNO, y a continuacion entre el ultimo bit con estado UNO y el ultimo bit en el paquete procesado (4);- Escribir (S8) la serie (5) de contadores (5a) en un paquete de datos de salida (6); y- Almacenar o transmitir el paquete de datos de salida (6), caracterizado por quelos datos de series temporales predeterminados son datos de series temporales de un sistema de telemetna o de un dispositivo de telemetna;el estado de bit es predecible si su estado se puede predecir con una probabilidad que es mayor que un umbral predeterminado, e impredecible si la probabilidad es menor o igual que dicho umbral predeterminado; yel paquete procesado (4) se proporciona aplicando una operacion AND entre el nuevo paquete de datos (2) sobre el que se han llevado a cabo las operaciones de bits y el paquete de mascara, para cambiar todos los bits impredecibles a estado CERO.
- 2. Procedimiento segun la reivindicacion 1, en el que la predictibilidad del estado de cada bit en un paquete de datos se determina en base a una prediccion estatica o al estado de otro bit en el paquete o al estado del bit en el ultimo paquete (1) generado, o a un cambio en el estado de otro bit en el paquete o a la cantidad de paquetes generados desde el ultimo cambio en el estado del bit, y en el que, en base al procedimiento seleccionado para determinar la predictibilidad del estado de cada bit en un paquete de datos, se determinan las operaciones de bits de preparacion a llevar a cabo sobre el nuevo paquete de datos (2) y/o el ultimo paquete (1) de tal modo que los bits predecibles esten en estado CERO si la prediccion fue correcta y en estado UNO si la prediccion fue incorrecta.
- 3. Procedimiento segun la reivindicacion 1 o 2, que tiene un primer modo, y que comprende ademas la etapa de aplicar XOR al nuevo paquete de datos (2) con el ultimo paquete de datos (1) generado para dicho tipo de paquete, en el que la predictibilidad de cada bit en el nuevo paquete de datos (2) esta basada en la probabilidad de que el bit cambie de estado cada vez que se genera un nuevo paquete, yse determina la probabilidad de que cada bit en el paquete de datos cambie de estado al mismo tiempo que otro bit en el paquete de datos, y si esta probabilidad es mayor que la probabilidad de que el bit cambie de estado cada vez, entonces se utiliza esta probabilidad para determinar la predictibilidad del estado de cada bit y se elige como una de sus operaciones de bits de preparacion una XOR con el bit que sigue a la etapa de aplicar XOR al nuevo paquete de datos (2) con el ultimo paquete de datos (1) generado para dicho tipo de paquete, yse calcula la probabilidad de que un bit cambie de estado un numero igual de paquetes que entre los dos ultimos cambios de estado para el bit, y si esta es mayor que la probabilidad de que el bit cambie de estado cada vez o de que cambie de estado al mismo tiempo que otro bit en el paquete, entonces se utiliza esta probabilidad para determinar la predictibilidad del estado de cada bit, y se activa un indicador para invertir el bit en el paquete procesado (4) cuando se ha generado un numero de paquetes igual a los encontrados entre los ultimos dos cambios de estado para dicho paquete.
- 4. Procedimiento segun la reivindicacion 1 o 2, que tiene un segundo modo, en el que la predictibilidad de cada bit en el paquete de datos esta basada en la mayor de las probabilidades de que el bit este en un estado estatico cero o UNO, y51015202530354045se calcula la probabilidad de que cada bit en el paquete de datos tenga el mismo estado al mismo tiempo que otro bit en el paquete de datos, y si esta probabilidad es mayor que la probabilidad de que el bit este en un estado estatico, entonces se utiliza esta probabilidad para determinar la predictibilidad del estado de cada bit y se elige XOR con dicho bit como una de sus operaciones de bits de preparacion.
- 5. Procedimiento segun cualquiera de las reivindicaciones 2 a 4, en el que la preparacion de las operaciones de bits comprende ademas la etapa de aplicar XOR al paquete resultante de todas las otras operaciones de bits de preparacion con un paquete de inversion, con el fin de crear el paquete procesado (4), en el que el paquete de inversion se crea previamente con estado UNO para todas las posiciones de bit que requieren una inversion cada vez y con estado CERO para las que no.
- 6. Procedimiento segun cualquiera de las reivindicaciones anteriores, comprendiendo ademas el procedimiento las etapas de- Extraer (S10) los bits impredecibles del nuevo paquete de datos (2) por medio de un conjunto de operaciones de bits de extraccion; y- Escribir (S11) los restantes bits impredecibles en el paquete de datos de salida (6).
- 7. Procedimiento segun cualquiera de las reivindicaciones anteriores, para transmitir los paquetes de datos comprimidos en tiempo real, que comprende ademas las etapas siguientes- Anadir (S12) una cabecera (6a) de longitud fija al paquete de salida (6), comprendiendo la cabecera (6a) delongitud fija un bit de estado que indica si el paquete de datos esta comprimido, el modo en el que se ha comprimido,la longitud del paquete en octetos y un contador secuencial para asegurar que los paquetes comprimidos se descomprimen por orden.- Eliminar (S12) el primer o el ultimo contador;- Anadir (S12) un bit extra en estado UNO al termino de los datos del paquete de salida; y- Anadir (S12) el numero correcto de bits cero al termino de los datos del paquete de salida para completar elnumero de octetos que se indica en la cabecera (6a); o- en lugar de anadir un contador de octetos a la cabecera (6a) y de anadir un bit final en estado UNO al final del paquete de salida, se anade un primer contador que describe cuantos otros contadores hay en el paquete.
- 8. Procedimiento segun cualquiera de las reivindicaciones 3 a 7, en el que se utiliza una combinacion del primer modo y el segundo modo para comprimir los paquetes de datos.
- 9. Procedimiento segun cualquiera de las reivindicaciones anteriores, en el que cada contador esta seguido por un unico indicador de bit que indica si esta seguido por un bit con estado UNO, y en caso afirmativo se repite hasta que sea falso, con lo que se introduce un indicador de bit con un valor opuesto y los bits siguientes describen el siguiente contador.
- 10. Procedimiento segun cualquiera de las reivindicaciones anteriores, en el que las posiciones de bit absolutas con respecto al comienzo del paquete procesado (4) de todos los bits con estado UNO en dicho paquete se transforman en numeros de orden en base a una tabla de consulta predeterminada, en el que la tabla de consulta predeterminada asigna un numero de orden a cada bit en base a una determinada predictibilidad descendente de cada bit.
- 11. Una estacion base central (100) para procesar y recibir datos de series temporales de un sistema o dispositivo de telemetna (200), que comprende una unidad central de procesamiento (102) configurada para:- Determinar la predictibilidad del estado de cada bit en un paquete de datos en base a una prediccion estatica o al estado de otro bit en el paquete, o al estado del bit en el ultimo paquete (1) generado o a un cambio en estado de otro bit en el paquete, o a la cantidad de paquetes generados desde el ultimo cambio en el estado del bit;- Determinar para cada bit en el paquete de datos si su estado es predecible, determinando si su estado se puede predecir con una probabilidad mejor que un umbral predeterminado;- Proporcionar un paquete de mascara con bits en estado UNO para todas las posiciones de bits predecibles y en estado CERO para todas las posiciones de bits impredecibles;- Proporcionar un conjunto de instrucciones XOR que transforma un paquete de datos recien generado y un ultimo paquete (1) generado para dicho tipo de paquete en un paquete de datos en el que los bits predecibles estan en estado CERO si la prediccion fue correcta y en estado UNO si la prediccion fue incorrecta;510152025303540- Determinar operaciones de bits de extraccion para extraer los bits predecibles del paquete de datos reden generado creado a partir de una OR del paquete de datos reden generado o del reden generado que se ha transformado utilizando el conjunto de instrucciones XOR y el paquete de mascara, y proporcionar un conjunto de instrucciones de extraccion para esta operacion;comprendiendo ademas la estacion base central una unidad de envfo/recepdon (103) configurada- para transmitir el paquete de mascara, el paquete de inversion, el conjunto de instrucciones XOR y el conjunto de instrucciones de extraccion al sistema o dispositivo de telemetna (200).
- 12. La estacion base central (100) segun la reivindicacion 11, configurada ademas para recibir paquetes comprimidos desde el sistema o dispositivo de telemetna (200) y, despues de procesar contadores incluidos en los paquetes comprimidos, para restablecer un paquete procesado (4) y utilizar instrucciones de operaciones de bits equivalentes para reconstruir el paquete de datos original.
- 13. Un dispositivo de telemetna (200) configurado para comprimir y transmitir datos de series temporales, que comprende una primera area de almacenamiento (202) configurada para almacenar el ultimo paquete (1) generado para cada tipo de paquete; una segunda area de almacenamiento (205a) configurada para almacenar por lo menos un paquete de mascara; una tercera area de almacenamiento (205b) configurada para almacenar por lo menos un paquete de inversion; una cuarta area de almacenamiento (205c) configurada para almacenar por lo menos un conjunto de instrucciones XOR; una quinta area de almacenamiento (205d) configurada para almacenar por lo menos un conjunto de instrucciones de extraccion; un medio (203) de procesamiento de paquetes para comprimir datos de series temporales telemetricos, un receptor (210) configurado para recibir el paquete de mascara, el paquete de inversion y los conjuntos de instrucciones; una unidad de envfo (210) configurada para transmitir los paquetes de datos comprimidos por el medio (203) de procesamiento de paquetes; en el que el medio (203) de procesamiento de paquetes esta configurado para- Llevar a cabo XOR de un paquete recien generado (2) con el ultimo paquete (1) generado de dicho tipo, si la predictibilidad del estado de cada bit en un paquete de datos esta determinada en base a un estado de un bit o a un cambio en el estado de otro bit;- Llevar a cabo XORs entre bits en el paquete resultante (3) de acuerdo con el conjunto de instrucciones XOR;- Aplicar XOR al paquete resultante (3) con el paquete de inversion;- Aplicar AND al paquete resultante (3) con el paquete de mascara para proporcionar un paquete procesado (4);- Calcular el numero de bits entre el primer bit en el paquete procesado (4) y el primer bit con estado UNO, y a continuacion entre los bits siguientes con estado UNO en el paquete procesado (4), y a continuacion entre el ultimo bit con estado UNO y el ultimo bit en el paquete procesado (4);- Proporcionar los resultados de los calculos como contadores (5a); y- Escribir los contadores (5a) en un paquete de datos de salida (6);
- 14. El dispositivo de telemetna (200) segun la reivindicacion 13, configurado ademas para- Aplicar OR al paquete de datos original con el paquete de mascara;- Llevar a cabo las operaciones de bits de extraccion sobre el paquete resultante (3);- Escribir el resultado en el paquete de datos de salida (6);- Anadir una cabecera (6a) de longitud fija al paquete de datos de salida (6), anadir un bit uno al final de los datos, anadir bits cero para completar el numero exacto de octetos descritos en la cabecera (6a); y- Transmitir el paquete a la estacion base (100).
- 15. Un sistema (300) para almacenar y transmitir datos de series temporales de telemetna, que comprende una estacion base central (100) segun cualquiera de las reivindicaciones 11 o 12 y un dispositivo de telemetna remoto (200) segun cualquiera de las reivindicaciones 13 o 14.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/EP2011/064696 WO2013029646A1 (en) | 2011-08-26 | 2011-08-26 | Method, device and system for compressing time series data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2579940T3 true ES2579940T3 (es) | 2016-08-17 |
Family
ID=44582983
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES11752513.9T Active ES2579940T3 (es) | 2011-08-26 | 2011-08-26 | Procedimiento, dispositivo y sistema para comprimir datos de series temporales |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8885477B2 (es) |
| EP (1) | EP2748929B1 (es) |
| ES (1) | ES2579940T3 (es) |
| WO (1) | WO2013029646A1 (es) |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106778839B (zh) * | 2016-11-30 | 2021-02-26 | 哈尔滨工业大学 | 基于局部极值优化提取的卫星遥测数据时间序列表示方法 |
| EP3580902B1 (en) | 2017-02-07 | 2020-11-25 | European Space Agency | Low-overhead compression of time series data |
| CN109150791B (zh) * | 2017-06-15 | 2022-03-22 | 中兴通讯股份有限公司 | 一种数据压缩方法及装置 |
| US11625642B2 (en) | 2018-04-22 | 2023-04-11 | Trendalyze Inc. | Method for converting nominal to ordinal or continuous variables using time-series distances |
| CN109474594B (zh) * | 2018-11-09 | 2023-05-09 | 北京海兰信数据科技股份有限公司 | 船端数据轻量化装置、岸端数据还原装置、船岸一体化数据轻量化传输系统及传输方法 |
| CN111510419B (zh) * | 2019-01-31 | 2021-03-30 | 华为技术有限公司 | 一种数据压缩的方法及基站 |
| ES2983936T3 (es) * | 2019-02-20 | 2024-10-28 | Esa | Compresión y descompresión de estructuras de datos de longitud fija |
| WO2020208639A2 (en) | 2019-04-11 | 2020-10-15 | Saferide Technologies Ltd | A system and method for detection of anomalous controller area network (can) messages |
| EP3973470A4 (en) * | 2019-06-30 | 2022-07-13 | Saferide Technologies Ltd. | Sub-field identification system and method |
| US11212219B1 (en) * | 2020-06-26 | 2021-12-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | In-band telemetry packet size optimization |
| CN112087456B (zh) * | 2020-09-10 | 2021-06-11 | 上海清申科技发展有限公司 | 面向复杂卫星载荷的遥测数据处理方法、装置、系统、电子设备及可读介质 |
| CN112187336B (zh) * | 2020-09-11 | 2022-08-23 | 中国航空工业集团公司成都飞机设计研究所 | 一种无人机抗干扰的遥测数据融合方法 |
| CN116996076B (zh) * | 2023-09-27 | 2023-12-19 | 湖北华中电力科技开发有限责任公司 | 一种用于校园设备的电气能耗数据智能管理方法 |
| CN120979462B (zh) * | 2025-10-17 | 2026-01-02 | 山东圣阳锂科新能源有限公司 | 一种数据测量存储方法及系统 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5819215A (en) * | 1995-10-13 | 1998-10-06 | Dobson; Kurt | Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data |
| US6788224B2 (en) * | 2000-06-26 | 2004-09-07 | Atop Innovations S.P.A. | Method for numeric compression and decompression of binary data |
| US8631483B2 (en) * | 2005-06-14 | 2014-01-14 | Texas Instruments Incorporated | Packet processors and packet filter processes, circuits, devices, and systems |
| US7783862B2 (en) * | 2006-08-07 | 2010-08-24 | International Characters, Inc. | Method and apparatus for an inductive doubling architecture |
-
2011
- 2011-08-26 ES ES11752513.9T patent/ES2579940T3/es active Active
- 2011-08-26 US US14/240,705 patent/US8885477B2/en active Active
- 2011-08-26 EP EP11752513.9A patent/EP2748929B1/en active Active
- 2011-08-26 WO PCT/EP2011/064696 patent/WO2013029646A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| US8885477B2 (en) | 2014-11-11 |
| US20140161139A1 (en) | 2014-06-12 |
| EP2748929B1 (en) | 2016-06-08 |
| EP2748929A1 (en) | 2014-07-02 |
| WO2013029646A1 (en) | 2013-03-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2579940T3 (es) | Procedimiento, dispositivo y sistema para comprimir datos de series temporales | |
| US8718098B2 (en) | Method for compressing and decompressing time stamp and equipment thereof | |
| ES2286126T3 (es) | Reutilizacion de informacion e calculo de sumas de control estaticas en la compresion/descompresion. | |
| CN114598424B (zh) | 一种数据处理方法及装置 | |
| CN104202116B (zh) | 一种基于Turbo编码的测控数传一体化方法 | |
| CN108234081B (zh) | 编码方法及装置 | |
| CN105743616A (zh) | 基于北斗短报文通信的长报文分割和可靠通信方法 | |
| CN102082662B (zh) | 基于同步随机数信息库信息检索的量子安全通信方法 | |
| CN106537959B (zh) | 电信网络中编码和解码帧的方法 | |
| ES2647127T3 (es) | Procedimientos de codificación y decodificación con protección diferenciada | |
| El Assi et al. | Resource-efficient floating-point data compression using MAS in WSN | |
| Hernández-Cabronero et al. | Resiliency and Efficiency of the CCSDS 124.0-B-1 Telemetry Compression Standard | |
| WO2018214787A1 (zh) | 数据发送、处理方法及装置,网络侧设备和终端 | |
| CN110521126A (zh) | 用于低吞吐量网络的具有代码位重复的缩短ldpc代码 | |
| CN109245852A (zh) | Polar码的速率匹配方法及装置 | |
| EP4340231A1 (en) | Polar code encoding method and decoding method and apparatuses | |
| US7999705B2 (en) | Unicode-compatible base-N range coding | |
| CN109474377A (zh) | 编码方法及装置 | |
| US7994949B2 (en) | Unicode-compatible entropy coding | |
| US11190206B2 (en) | Compression and decompression of time series data | |
| JP2021141576A (ja) | データ処理システム | |
| CN120857189B (zh) | 一种电子烟数据传输方法、电子烟设备及存储介质 | |
| Liwei et al. | Performance Analysis of Power Data Compression Based on Beidou Short Messages | |
| CN112740582B (zh) | 一种存储方法及极化码接收设备 | |
| Graham et al. | Real-Time Encoding/Decoding for Pairwise Communication Over an Unreliable Sensor Network. |