PROCEDIMIENTO Y SISTEMAS PARA LA PREVENCION DE LA EMULACION DE CODIGO INICIAL Y DE RELLENO DE DATOS.

En un descodificador, un procedimiento que comprende:

el relleno de una carga útil de datos en un flujo de datos con uno o más bits de relleno;



estando el procedimiento caracterizado por:

la inserción de uno o más bits de relleno después de la carga útil de datos en los datos rellenados, en el que la inserción de los uno o más bits de relleno incluye:

la inserción (202) de un bit de 1 después de la carga útil de datos;

la inserción (206) de cualquier bit de 0 después del bit de 1, en el que el número de bits insertados varía dependiendo del número de bits existentes en la carga útil de datos, de manera que los datos rellenados consisten en un número entero de bytes (204) que finaliza con un byte de no cero que incluye los uno o más bits de relleno y de tal manera que el byte de no cero que incluye los uno o más bits de relleno difiere de un primer byte de un código inicial y, de esta forma, facilita la prevención de la emulación del código inicial;

comprendiendo el procedimiento la inserción (208) uno o más bytes iguales a 0 x 00 después del byte de no cero que finaliza los datos rellenados y antes del código inicial

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E06021437.

Solicitante: MICROSOFT CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: ONE MICROSOFT WAY,REDMOND WA 98052.

Inventor/es: SULLIVAN,GARY J, ESTROP,STEPHEN J.

Fecha de Publicación: .

Fecha Solicitud PCT: 22 de Enero de 2003.

Fecha Concesión Europea: 14 de Abril de 2010.

Clasificación Internacional de Patentes:

  • H04J3/07 ELECTRICIDAD.H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS.H04J COMUNICACIONES MULTIPLEX (peculiar de la transmisión de información digital H04L 5/00; sistemas para transmitir las señales de televisión simultánea o secuencialmente H04N 7/08; en las centrales H04Q 11/00). › H04J 3/00 Time-division multiplex systems (H04J 14/08  takes precedence). › utilizando el empaquetado de impulsos para los sistemas con caudales de información diferentes o variables.
  • H04N7/24C10
  • H04N7/24T2S
  • H04N7/26A4V
  • H04N7/26A8T
  • H04N7/26Y

Clasificación PCT:

  • H04J3/06 H04J 3/00 […] › Disposiciones de sincronización.
  • H04J3/07 H04J 3/00 […] › utilizando el empaquetado de impulsos para los sistemas con caudales de información diferentes o variables.
  • H04N7/24 H04 […] › H04N TRANSMISION DE IMAGENES, p. ej. TELEVISION. › H04N 7/00 Sistemas de televisión (detalles H04N 3/00, H04N 5/00; métodos y arreglos, para la codificación, decodificación, compresión o descompresión de señales de vídeo digital H04N 19/00; distribución selectiva de contenido H04N 21/00). › Sistemas para la transmisión de señales de televisión que utilizan la modulación por impulsos codificados (H04N 21/00  tiene prioridad).
  • H04N7/26

Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Eslovenia, Finlandia, Chipre.

PROCEDIMIENTO Y SISTEMAS PARA LA PREVENCION DE LA EMULACION DE CODIGO INICIAL Y DE RELLENO DE DATOS.

Fragmento de la descripción:

Procedimiento y sistemas para la prevención de la emulación de código inicial y de relleno de datos.

La presente invención está relacionada con los procedimientos y sistemas para la prevención de la emulación de código inicial y de relleno de datos.

Los datos digitales son típicamente transmitidos desde algún tipo de transmisor hasta algún tipo de receptor. Los transmisores típicamente incluyen un codificador que codifica los datos de transmisión; y los receptores típicamente incluyen un descodificador que descodifica los datos que recibe. Hay diferentes tipos de datos digitales, como por ejemplo datos de vídeo, datos de audio, datos de audio/vídeo, datos de texto, datos de programas ejecutables por computadora, datos de archivos, información de bases de datos, y similares. Cuando los datos digitales son transmitidos, son típicamente transmitidos en algún tipo de canal. De manera equivalente, una memoria de computadora o cualquier dispositivo de almacenamiento o medio de almacenamiento puede ser considerado como canal de transmisión a los fines de la presente memoria.

Cuando los datos digitales son transmitidos, es importante poder encontrar unos puntos específicos dentro de los datos del canal. Esto se lleva a cabo con distintas finalidades, como por ejemplo para localizar puntos que posibiliten la recuperación de errores o pérdidas en la transmisión de los datos a través del canal, puntos que posibiliten el inicio del proceso de descodificación en una localización distinta del inicio del entero flujo, o puntos que posibiliten la búsqueda de diferentes puntos de datos que sean utilizados con diferentes propósitos. De esta forma, por ejemplo, en el lado del descodificador, los descodificadores y otros componentes que procesan datos digitales a menudo necesitan saber el contexto de los datos para que los datos puedan ser adecuadamente procesados. Esto no sería tan importante si uno fuera capaz de comenzar con el primer bit que fue enviado y el descodificador fuera capaz de ejecutar sin ningún error. En este situación, en teoría, el descodificador podría simplemente efectuar el seguimiento de la información que estaba siendo enviada de acuerdo con el conocimiento de cuál es el formato de los datos. Por desgracia, esta situación ideal a menudo no se produce. Por el contrario, se producen errores y otras contingencias que representan otros tantos desafíos a los que diseñan y utilizan los sistemas que transmiten y reciben datos digitales. En algunos casos, como por ejemplo al sintonizar un flujo de difusión de datos en curso, el descodificador no puede comenzar por el principio de la transmisión de datos. La localización de los puntos mediante el análisis sintáctico del formato de datos puede, así mismo, requerir una cantidad considerable de un complejo procesamiento en un des- codificador.

En muchos tipos de entornos de canales, a dichas cuestiones se les da respuesta mediante la provisión, dentro de los datos, de unos llamados marcadores de resincronización. Los marcadores de resincronización proporcionan un mecanismo mediante el cual un sistema puede comenzar su proceso de descodificación o recuperar un error. Por ejemplo, cuando los datos digitales son transmitidos en flujo continuo con una serie de bits o de bytes, la incorporación de los marcadores de resincronización en el flujo puede proporcionar un descodificador con un punto de referencia a partir del cual recuperarse en el caso de que se produzca un error en la transmisión.

Una manera de que los marcadores de resincronización puedan ser empleados se produce en el contexto de los códigos iniciales. Un código inicial es una cadena de bits o de bytes con un valor específico. En general, muchos sistemas tienden a acarrear bytes (por ejemplo, los Sistemas H.222.0/MPEG-2), de manera que los códigos iniciales pueden ser definidos como una cadena de bytes valorados de forma unívoca. La cadena unívoca de bytes proporciona un patrón cuya presencia indica un punto de resincronización. Un punto de resincronización típicamente indica el inicio o la frontera de una cierta cantidad de datos descodificables de manera independiente. Por ejemplo, en los datos de Vídeo del H.262/MPEG-2, los puntos de resincronización pueden indicar el inicio de una sección (esto es, una región descodificable de una imagen de manera independiente), el inicio de una imagen, el inicio de un GOP (esto es, "un Grupo de Imágenes" o una secuencia de imágenes descodificables de manera independiente), o el inicio de una nueva secuencia de vídeo. Los flujos de vídeo digitales pueden, así mismo, incluir los llamados datos auxiliares o complementarios los cuales pueden ir precedidos por un código inicial.

Algunas veces los códigos iniciales son utilizados no solo dentro de un flujo de datos, como por ejemplo un flujo de vídeo, sino que son utilizados por un nivel multiplex del sistema. Las características técnicas del Sistema H.222.0./MPEG-2 constituyen un ejemplo de un sistema que utiliza códigos iniciales y acarrea flujos de datos de vídeo intercalados con la información de nivel del sistema y de la información de audio.

Dado que los códigos iniciales pueden ser importantes en el sentido de que proporcionan unos puntos de resincronización dentro de un flujo de datos, es una buena idea evitar la emulación de los códigos iniciales en el flujo de datos en lugares que no están, de hecho, destinados a representar códigos iniciales.

Por ejemplo, considérese lo siguiente. Los códigos iniciales definen un patrón específico de bits o bytes que puede identificar el inicio de una nueva unidad de datos. Se están enviando datos arbitrarios entre los códigos iniciales, entonces es posible que los datos arbitrarios puedan, en y por sí mismos, contener el mismo patrón que el que se utiliza como código inicial. Por ejemplo, si se supone que los datos que están siendo acarreados son completamente aleatorios, entonces, si un código inicial tiene una longitud de K bits, la probabilidad de emular de manera accidental el código inicial al inicio de los bits en algún concreto emplazamiento de bits es de 1/2k.

En algunos casos, puede considerarse que si el número de bits en el código inicial es grande, entonces puede ser bastante improbable que el código inicial sea emulado de forma accidental. Este es el caso que se produce con respecto a algunos formatos de datos de audio. Típicamente, estos formatos no utilizan una tasa de transmisión de bits muy alta medida en bits por segundo, de manera que no es probable que el código inicial sea accidentalmente emulado durante cualquier intervalo de tiempo específico. Con respecto a los datos de vídeo, este no es generalmente el caso, dado que el vídeo a menudo requiere una tasa de transmisión de bits mucho más alta.

En los estándares de codificación de vídeo importantes anteriores (quizás con una excepción), el formato de sintaxis de vídeo dentro de la carga útil de datos ha sido diseñado para evitar la emulación de código inicial. Esto es, si se sabe qué tipo de elementos de datos constituirán la sintaxis de vídeo, entonces se puede diseñar cuidadosamente la sintaxis, de manera que no puedan producirse códigos iniciales accidentales. Por ejemplo, un código inicial en los estándares de codificación de vídeo tradicionales comienza con una cadena larga de bits de 0, seguida por un bit de 1. Esta cadena larga puede contener 23 bits de 0 seguida por un bit de 1. Supóngase que la mayoría de los datos que son enviados son codificados por entropía utilizando códigos de longitud variable (a menudo designados de manera informal como códigos Huffman). Los códigos de longitud variable (VLCs) se definen con fines ejemplares en la presente memoria como códigos con estructura de árbol de profundidad variable que son utilizados parra su selección entre un conjunto de símbolos representados. Una técnica que utiliza VLCs de estructura de árbol binaria, tiene como fin asegurar que la trayectoria del árbol desde la raíz hasta cada hoja representa un símbolo válido siempre que incorpore un "1" en ella en alguna parte, y que la estructura de árbol no es demasiado profunda.

De esta manera, por ejemplo, si uno sabe que cada cadena de código de longitud variable no es más larga de 10 bits y que cada cadena referida tendrá al menos en ella un bit con un valor de 1, entonces se sabe que no hay manera de que una secuencia de datos codificados procedentes del VLC pueda nunca contener más de 18 bits consecutivos de valor cero. Esto es, el peor de los supuestos sería 1000000000 seguido por 0000000001. De esta forma, si se diseña la sintaxis de forma cuidadosa y se inspecciona...

 


Reivindicaciones:

1. En un descodificador, un procedimiento que comprende:

el relleno de una carga útil de datos en un flujo de datos con uno o más bits de relleno;

estando el procedimiento caracterizado por:

la inserción de uno o más bits de relleno después de la carga útil de datos en los datos rellenados, en el que la inserción de los uno o más bits de relleno incluye:

la inserción (202) de un bit de 1 después de la carga útil de datos;
la inserción (206) de cualquier bit de 0 después del bit de 1, en el que el número de bits insertados varía dependiendo del número de bits existentes en la carga útil de datos, de manera que los datos rellenados consisten en un número entero de bytes (204) que finaliza con un byte de no cero que incluye los uno o más bits de relleno y de tal manera que el byte de no cero que incluye los uno o más bits de relleno difiere de un primer byte de un código inicial y, de esta forma, facilita la prevención de la emulación del código inicial;
comprendiendo el procedimiento la inserción (208) uno o más bytes iguales a 0 x 00 después del byte de no cero que finaliza los datos rellenados y antes del código inicial.

2. El procedimiento de la reivindicación 1 que comprende así mismo la inserción del código inicial en el flujo de datos después de los uno o más bytes iguales a 0 x 00.

3. El procedimiento de la reivindicación 1 en el que la carga útil de datos es una de varias cargas útiles de datos, comprendiendo así mismo el procedimiento, para cada uno de la o de las otras diversas cargas útiles de datos, la repetición para la otra carga útil de datos de la inserción de uno o más bits de relleno y la inserción de uno o más bytes iguales a 0 x 00, en el que el número de bits de cero insertados es diferente para al menos dos de las diversas cargas útiles de datos.

4. El procedimiento de cualquiera de las reivindicaciones 1 a 3, en el que el primer byte del código inicial está en un prefijo del código inicial.

5. El procedimiento de la reivindicación 4, en el que el prefijo del código inicial empieza con una cadena de varios consecutivos bits de cero, de manera que cualquier bit de cero de los uno o más bytes de relleno tienen el mismo valor que los bits del primer byte del código inicial, de manera que los uno o más bytes iguales a 0 x 00 tienen el mismo valor que el primer byte del código inicial.

6. El procedimiento de la reivindicación 5, en el que el prefijo del código inicial consiste en una cadena de varios consecutivos bits de cero seguida inmediatamente por un bit de cero.

7. El procedimiento de la reivindicación 5, en el que el prefijo del código de inicio consiste en dos bytes cada uno igual a 0 x 00 seguido inmediatamente por un byte igual a 0 x 01.

8. El procedimiento de cualquiera de las reivindicaciones 1 a 7, en el que los datos rellenados comprenden datos de vídeo.

9. El procedimiento de la reivindicación 1 en el que la prevención de la emulación del código inicial incluye:

la búsqueda de la carga útil de datos para un patrón del código inicial; y
si el patrón se encuentra, la inserción de un byte de prevención de la emulación del código inicial en la carga útil de datos para prevenir la emulación del código inicial.

10. En un descodificador, un procedimiento que comprende:

la recepción de los datos rellenados que comprenden una carga útil de datos y uno o más bits de relleno; y
la localización de la carga útil de datos en los datos rellenados;
estando el procedimiento, caracterizado por:
la detección de uno o más bytes iguales a 0 x 00 que fueron insertados (208) después de un byte de no cero que finaliza los datos rellenados y antes de un código inicial que comienza una carga útil de datos siguiente;
la búsqueda para los uno o más bits de relleno en los datos rellenados, consistiendo los uno o más bits de relleno en:
un bit de 1 que fue insertado (202)
cualquiera de cero a siete bits de 0 que fueron insertados (206) después del bit de 1 para proporcionar un número entero de bytes en los datos rellenados, en el que el número de bits de cero insertados varía dependiendo del número de bits existente en la carga útil de datos, en el que los datos rellenados consisten en un número entero de bytes que termina con el byte de no cero que incluye los uno o más bits de relleno, y en el que el byte de no cero que incluye los uno o más bits de relleno difiere de un primer byte del código inicial y, de esta forma, facilita la prevención de la emulación del código inicial.

11. El procedimiento de la reivindicación 10 que comprende así mismo el descarte de uno o más bytes iguales a 0 x 00 y de los uno o más bits de relleno.

12. El procedimiento de las reivindicaciones 10 u 11 que comprende así mismo la recepción del código inicial después de los uno o más bytes iguales a 0 x 00.

13. El procedimiento de la reivindicación 10 en el que la carga útil de datos es una de las diversas cargas útiles de datos, comprendiendo así mismo el procedimiento, para cada una o más de las otras cargas útiles de datos de las diversas cargas útiles de datos, la repetición para las otras cargas útiles de datos la localización, la detección y la búsqueda, en el que el número de bits insertados es diferente para al menos dos de las diversas cargas útiles de datos.

14. El procedimiento de la reivindicación 13 en el que el primer byte del código inicial está en un prefijo del código inicial.

15. El procedimiento de la reivindicación 14 en el que el prefijo del código inicial comienza con una cadena de varios consecutivos bits de cero, en el que cualquier bit de cero de los uno o más bits de relleno tienen el mismo valor que los bits del primer byte del código inicial y los uno o más bytes iguales a 0 x 00 tienen el mismo valor que los bits del primer byte del código inicial.

16. El procedimiento de la reivindicación 15 en el que el prefijo del código inicial consiste en una cadena de varios consecutivos bits de cero seguida inmediatamente por un bit de 1.

17. El procedimiento de la reivindicación 16 en el que el prefijo de código del inicio consiste en 2 bytes cada uno igual a 0 x 00 seguido inmediatamente por un byte igual a 0 x 01.

18. El procedimiento de cualquiera de las reivindicaciones 10 a 17 en el que los datos rellenados comprenden datos de vídeo.

19. El procedimiento de la reivindicación 10 que comprende:

la búsqueda de la carga útil de datos para un byte de emulación del código inicial que previene la emulación del código inicial; y
si se encuentra el byte de emulación del código inicial, la supresión del byte de prevención de la emulación del código inicial respecto de la carga útil de datos.

20. Uno o más medios legibles por computadora que tienen almacenados en ellos unas inserciones ejecutables por computadora para determinar que una computadora lleve a cabo el procedimiento de una de las reivindicaciones 1 a 9 o 10 a 19.

21. Un codificador adaptado para llevar a cabo el procedimiento de cualquiera de las reivindicaciones 1 a 9.

22. Un descodificador adaptado para llevar a cabo el procedimiento de cualquiera de las reivindicaciones 10 a 19.


 

Patentes similares o relacionadas:

Aparato, procedimiento y medio para detectar una anomalía de carga útil usando la distribución en n-gramas de datos normales, del 20 de Septiembre de 2013, de THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK: Un procedimiento, llevado a cabo por un ordenador, de detección de cargas útiles anómalas transmitidas a través deuna red, que comprende las etapas de: recibir al menos una […]

Imagen de 'Dispositivo de generación de flujo, procedimiento para calcular…'Dispositivo de generación de flujo, procedimiento para calcular un nivel de llenado de un buffer de entrada en el seno de dicho dispositivo y procedimiento de regulación de flujo, del 4 de Septiembre de 2013, de Enensys Technologies: Dispositivo de generación de un flujo de datos de salida a partir de un flujo de datos de entrada quecomprende: - medios para recibir los […]

Imagen de 'Método, dispositivo y sistema para multiplexar y mapear señales…'Método, dispositivo y sistema para multiplexar y mapear señales ópticas y demultiplexar y realizar el mapeo inverso de señales ópticas, del 22 de Agosto de 2012, de HUAWEI TECHNOLOGIES CO., LTD.: Un método para multiplexar y mapear señales ópticas, que comprende: obtener un objeto etiqueta que indica una relación de multiplexación […]

PROCEDIMIENTO Y DISPOSICION DE CIRCUITO PARA ADAPTACION Y CONEXION DE UNA CORRIENTE DE DATOS., del 16 de Octubre de 2003, de SIEMENS SCHWEIZ AG: La invención se refiere a un procedimiento y un circuito para la adaptación y la conmutación a través de canales de datos que son transmitidos dentro […]

CIRCUITOS DIGITALES DE ESTABILIZACION DE RELOJ PARA REGENERACION DE SEÑALES DE RELOJ CON INESTABILIDAD MINIMA., del 1 de Enero de 2002, de TRANSWITCH CORPORATION: UN CIRCUITO PARA ELIMINAR LAS FLUCTUACIONES DE UN DISPOSITIVO DE SINCRONIZACION DIGITAL INCLUYE UNA RAM PARA RECIBIR UNA SEÑAL ENTRANTE […]

DISPOSICION DE REAJUSTE DE SINCRONISMO PARA SISTEMA DE TRANSMISION DE DATOS SDH., del 1 de Marzo de 2001, de MARCONI COMMUNICATIONS LIMITED: UN DISPOSITIVO DE RESINCRONISMO PARA USO EN UN DEMULTIPLEXADOR DE UN SISTEMA DE TRANSMISION DE DATOS SDH UTILIZA LOS DATOS DE JUSTIFICACION DE LOS BITS, […]

DISPOSITIVO PARA JUSTIFICAR A INTERVALOS REGULARES UN TREN NUMERICO., del 16 de Diciembre de 2000, de ALCATEL CIT: ESTE DISPOSITIVO JUSTIFICA A INTERVALOS REGULARES UN TREN DIGITAL CONSTITUIDO DE HILERAS DE BITS PROCEDENTES DE UN PRIMER ENLACE SINCRONO ACOMPASADO POR UN PRIMER RELOJ (HE) […]

Imagen de 'METODO Y CIRCUITO PARA OBTENER UN RELOJ ASINCRONO DE DESMAPEO'METODO Y CIRCUITO PARA OBTENER UN RELOJ ASINCRONO DE DESMAPEO, del 23 de Octubre de 2009, de HUAWEI TECHNOLOGIES CO., LTD.: Método para la obtención de un reloj asíncrono de desmapeo (demapping) (reloj ODU1), que comprende: la obtención de una señal de reloj (CLKa) con intervalos […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .