ES2266155T3 - Metodo y aparato para lograr la sincronizacion criptografica en un sistema de comunicacion por paquetes de datos. - Google Patents

Metodo y aparato para lograr la sincronizacion criptografica en un sistema de comunicacion por paquetes de datos. Download PDF

Info

Publication number
ES2266155T3
ES2266155T3 ES01904948T ES01904948T ES2266155T3 ES 2266155 T3 ES2266155 T3 ES 2266155T3 ES 01904948 T ES01904948 T ES 01904948T ES 01904948 T ES01904948 T ES 01904948T ES 2266155 T3 ES2266155 T3 ES 2266155T3
Authority
ES
Spain
Prior art keywords
data
rate
latency
receiver
decrease
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01904948T
Other languages
English (en)
Inventor
Anthony Mauro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2266155T3 publication Critical patent/ES2266155T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K1/00Secret communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Communication Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un método para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos, el sistema de comunicación por paquetes de datos que incluye un transmisor y un receptor, dicho transmisor y dicho receptor poseen cada uno capacidades de seguridad criptográfica, ejecutando en el transmisor los pasos de: generación de cuadros de datos en una tasa predeterminada en dicho transmisor; incremento de un vector de estado en dicha tasa predeterminada; envío de dicho vector de estado a un módulo de codificación; generación de un libro de códigos desde dicho módulo de codificación, empleando al menos dicho vector de estado, dicho libro de códigos para codificar al menos uno de dichos cuadros de datos; y desactivación de dicho vector de estado cuando se disminuyen uno o más de dichos cuadros de datos.

Description

Método y aparato para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos.
Antecedentes de la invención I. Campo de la invención
La presente invención se refiere generalmente al campo de las comunicaciones por paquetes de datos que emplean la tecnología de codificación para proteger la información, y más específicamente a proporcionar un método y un aparato para lograr la sincronización criptográfica en dicho sistema de comunicación.
II. Antecedentes
El campo de las comunicaciones por paquetes de datos ha alcanzado una gran aceptación debido a la popularidad de Internet. Inicialmente, las comunicaciones por paquetes de datos se realizaban por cable, con diferentes componentes de comunicación conectados por cables. Más recientemente, han aparecido aplicaciones que requieren la transmisión inalámbrica por paquetes de datos en forma de teléfonos inalámbricos y de otros dispositivos de comunicación inalámbrica, tales como módems inalámbricos. Recientemente, se ha hecho necesario que esos dispositivos de comunicación inalámbrica empleen técnicas para asegurar que ciertas transmisiones no sean interceptadas por partes a las que no están dirigidas. Tales técnicas de seguridad a menudo emplean la tecnología de la codificación, y son útiles en aplicaciones militares, policiales, y otras aplicaciones de seguridad.
Una técnica para el uso de la tecnología de la codificación en un dispositivo de comunicación inalámbrica consiste en digitalizar las señales analógicas en paquetes de datos discretos, o cuadros, generar un cuadro aleatorio para cada cuadro, luego aplicar el código a cada cuadro para codificar la información que este contiene. Los códigos aleatorios que se generan mediante esta técnica pueden derivarse a través del uso de reconocidas técnicas de codificación de clave pública, que codifican la información usando una clave o código público, y decodifican la información utilizando una clave privada.
La técnica de codificación descrita anteriormente es particularmente adecuada para ser utilizada en los sistemas de comunicación de datos, debido a la naturaleza de muchos protocolos de transmisión de datos, tales como el TCP o IP. En tales sistemas, los datos se transmiten como segmentos discretos, o cuadros de datos, cada cuadro de datos generalmente contiene un número predeterminado de bits de información. Alternativamente, otros cuadros de datos son definidos por una duración de tiempo predeterminada, que contiene un número variable de bits de información dentro de cada cuadro. Tradicionalmente, tales sistemas de comunicación de datos han sido utilizados para transmitir información que no depende del tiempo, tales como los correos electrónicos, archivos de datos e información de sitios Web de Internet.
Recientemente, los sistemas de comunicación de datos se han utilizado también para transmitir información que depende del tiempo, incluyendo información de audio, tal como discursos, e información de video. En tales sistemas, la información que depende del tiempo se convierte en información digital, a menudo en cuadros de datos como se describió anteriormente. Luego los cuadros de datos pueden transmitirse a través de una red de computadoras, tal como la de Internet, utilizando conocidos protocolos de transmisión de datos, tales como TCP e IP.
Uno de los problemas principales de la transmisión de información que depende del tiempo mediante la utilización de protocolos de datos consiste en la demora asociada al proceso de transmisión. Muchos protocolos de datos emplean un proceso de retransmisión en caso de que los segmentos de datos no se reciban de forma adecuada. El proceso de retransmisión introduce una demora o latencia en los subsiguientes cuadros de datos transmitidos, lo cual afecta de forma negativa los datos que dependen del tiempo. Por ejemplo, las demoras de más de unos pocos cientos de milisegundos en un discurso pueden provocar una calidad de voz inaceptable.
Una solución para reducir el problema de la latencia al transmitir información que depende del tiempo empleando un sistema de comunicación de datos consiste en la disminución de los cuadros de datos, tanto en el transmisor como en el receptor, cuando la latencia exceda un umbral predeterminado. En un transmisor, los cuadros se disminuyen transmitiendo solo una fracción del número total de cuadros disponibles para la transmisión. En un receptor, los cuadros se disminuyen omitiendo una fracción del número total de cuadros recibidos.
A pesar de que la disminución de los cuadros de datos reduce el problema de la latencia, ello introduce otro problema para los sistemas de comunicación que emplean la técnica de codificación explicada con anterioridad. Particularmente, si se disminuye un cuadro en un transmisor, no es posible decodificar los cuadros subsiguientes en el receptor debido a que se desorganiza la numeración secuencial de cada cuadro como resultado del proceso de codificación. El proceso de decodificación se basa en un flujo de cuadros enumerados de forma consecutiva a medida que fueron generados durante el proceso de codificación en el transmisor. Por ello, al disminuir los cuadros en el transmisor antes de la codificación, los cuadros recibidos por el proceso de decodificación ya no están sincronizados con en el proceso de codificación, lo que trae como resultado que los cuadros sean decodificados incorrectamente.
Sumario de la invención
La presente invención es un método y aparato para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos entre un transmisor y un receptor. En un transmisor, la información se digitaliza en cuadros de datos, luego se proporciona a un codificador de voz que genera cuadros de códigos de voz. Los cuadros de códigos de voz se almacenan en una memoria, luego se proporcionan a un módulo de codificación para la codificación de cada cuadro de códigos de voz antes de la transmisión. Los cuadros de códigos de voz son codificados mediante la combinación de cada cuadro con un código único o libro de códigos, generado por el módulo de codificación. El libro de códigos es generado empleando al menos un vector de estado, el cual generalmente es un número consecutivo que se incrementa a una tasa predeterminada, generalmente un múltiplo de la tasa en la cual se generan los cuadros de códigos de voz.
Al disminuir los cuadros en el transmisor, a menudo para disminuir la latencia de transmisión, se deshabilita el vector de estado durante un tiempo proporcional al número de cuadros que se disminuyen. Por ello, al disminuir un cuadro, no se incrementa el vector de estado. Cuando se ha disminuido el número deseado de cuadros, se habilita de nuevo el vector de estado y se reanuda el incremento en la tasa predeterminada.
El efecto de la suspensión del vector de estado durante los períodos de disminución de los cuadros permite la codificación consecutiva de cuadro proporcionado al módulo de codificación. Esta técnica permite que se disminuya cualquier número de cuadros en el transmisor antes de la codificación, mientras se garantiza que el proceso de decodificación en el receptor esté sincronizado con el proceso de codificación.
En el receptor, los cuadros se reciben y se almacenan en una fila. Los cuadros son proporcionados a un módulo de decodificación para generar cuadros de códigos de voz decodificados. Un generador de vector de estado ubicado dentro del receptor se incrementa a una tasa predeterminada. A medida que se proporcione cada cuadro al módulo de decodificación, este será decodificado mediante el empleo de un libro de códigos derivado del vector de estado actual.
Si el número de cuadros almacenados dentro de la fila decrece hasta el punto en que no queden cuadros disponibles para la decodificación, lo que se conoce como condición de agotamiento, se proporcionará un cuadro borrado directamente a un codificador de voz, y se deshabilitará el generador de vector de estado, evitando que se incremente el vector de estado. Cuando posteriormente haya cuadros disponibles en la fila para la decodificación, se habilita el generador de vector de estado, permitiendo así el aumento del vector de estado, el suministro de vectores de estado consecutivos al módulo de decodificación y el mantenimiento de la sincronización criptográfica con el proceso de codificación.
Si se almacenan muchos cuadros en una fila antes de la decodificación en un momento dado, puede provocarse una demora o latencia. Durante las comunicaciones telefónicas, la latencia provoca una molesta demora entre el momento en que el usuario habla en el transmisor y el momento en que el receptor escucha el discurso. Para reducir el problema de la latencia, algunos de los cuadros almacenados en la fila no son procesados por el módulo de decodificación o por ningún otro elemento en el receptor.
Cuando en una fila se disminuyen los cuadros, el vector de estado se ajusta de modo que se mantenga la sincronización criptográfica de los cuadros subsiguientes. Para lograrlo, el vector de estado es ajustado al número de cuadros disminuidos consecutivos
más 1.
Breve explicación de los dibujos
La Figura 1 muestra un diagrama de bloque funcional de un transmisor inalámbrico que emplea las técnicas de seguridad criptográfica utilizadas en la presente invención;
Las Figuras 2a, 2b y 2c muestran la relación entre los cuadros de códigos de voz y un vector de estado como el utilizado en el transmisor de la Figura 1;
La Figura 3 muestra un diagrama de bloque funcional de un receptor inalámbrico que emplea las técnicas de seguridad criptográfica utilizadas en la presente invención;
Las Figuras 4a, 4b y 4c muestran la relación entre los cuadros de códigos y un vector de estado como el utilizado en el receptor de la Figura 3;
La Figura 5 es un diagrama de flujo que muestra el método de la presente invención utilizado en el transmisor de la Figura 1;
La Figura 6 es un diagrama de flujo que muestra el método de la presente invención utilizado en el receptor de la Figura 3 durante una condición de agotamiento; y;
La Figura 7 es un diagrama de flujo que muestra el método de la presente invención utilizado en el receptor de la Figura 3 durante una condición de disminución de cuadro.
Descripción detallada de las representaciones preferidas
Las representaciones descritas en el presente documento se describen en relación con un sistema de comunicación inalámbrica que opera en conformidad empleando las técnicas de procesamientos de la señal CDMA de las Normas Interinas IS-95, IS-707 y IS-99. Aunque la presente invención es apropiada especialmente para ser utilizada dentro de un sistema de comunicaciones, deberá comprenderse que la presente invención puede ser empleada en diferentes tipos de sistemas de comunicaciones que transmiten información en paquetes discretos, conocidos de otro modo como paquetes de datos, cuadros de datos o cuadros simples, incluidos los sistemas de comunicación inalámbrica o alámbrica y los sistemas de comunicación satelital. Además, a lo largo de la descripción se explican en forma de bloque diferentes sistemas bien conocidos. Ello se hace para lograr una mayor claridad.
En la Figura 1 se muestra un diagrama de bloque funcional de un transmisor inalámbrico (100) que emplea las técnicas de seguridad criptográfica. La información de audio, tal como la voz, es convertida de energía acústica a energía eléctrica por medio del transductor (102), típicamente un micrófono. El transductor (102) puede incluir alternativamente un dispositivo de video, por ejemplo una cámara digital o una grabadora de vídeo, para capturar la energía lumínica y convertirla en señales eléctricas. La energía eléctrica generada por el transductor (102) es proporcionada a un codificador de voz (104) que generalmente reduce el ancho de banda necesario para transmitir la información de audio. Alternativamente, en lugar del codificador de voz (104) se utiliza un dispositivo de procesamiento adecuado al tipo de transductor, tal como un dispositivo de procesamiento de video en el caso de que se utilice una cámara como transductor (102). Típicamente, el codificador de voz (104) genera cuadros de datos a una tasa constante fija que representa la información de audio original. Alternativamente, el codificador de voz (104) genera cuadros de datos una tasa variable. Generalmente cada cuadro de datos tiene una longitud fija, medida en milisegundos. Los cuadros de datos son enviados a una memoria (106) en la representación ejemplar, donde son almacenados brevemente antes de ser codificados y reprocesados por otros elementos funcionales del transmisor (100). En la representación ejemplar, la memoria (106) solo almacena un cuadro de códigos de voz a la vez. En otra representación, no se utiliza la memoria (106) para guardar los cuadros de códigos de voz producidos por el codificador de voz (104). En su lugar, los cuadros se envían directamente al módulo de codificación (108).
El codificador de voz puede mejorarse más mediante el ofrecimiento de tasas de datos variables dentro de los cuadros de datos que este produce. Un ejemplo de codificador de voz de tasa variable está en la patente estadounidense número 5,414,796 (la patente `796) titulada "Codificador de voz de tasa variable" asignada al beneficiario de la presente invención. Cuando se tiene poca o ninguna información para la transmisión, los codificadores de voz de tasa variable producen cuadros de datos a tasas de datos reducidas, aumentando de este modo la capacidad de transmisión del sistema de comunicación inalámbrico. En el codificador de voz de tasa variable que se describe en la patente `796, los cuadros de datos incluyen datos ya sean a la tasa de datos completa, a un medio, a un cuarto o a un octavo de la tasa de datos más alta utilizada en el sistema de comunicación.
El módulo de codificación (108) es responsable de la codificación de cada cuadro de datos con un código único o libro de código. Generalmente, se genera un libro de códigos para cada cuadro de datos que se codificará, por lo general en la misma tasa a la que los cuadros son generados por el codificador de voz (104). Por tanto, generalmente hay un libro de códigos disponible para cada cuadro de datos que se codificará. Otras técnicas permiten codificar dos cuadros de datos con un libro de código, dicho libro de códigos tiene dos veces más bits que un cuadro de datos.
El libro de códigos se crea utilizando una o más técnicas conocidas. Entre ellos está la Norma de Codificación de Datos (DES, por sus siglas en inglés), FEAL, y el Algoritmo Internacional de Codificación de Datos (IDEA, por sus siglas en inglés). En la representación ejemplar de la presente invención, se utiliza la DES para crear libros de códigos, empleando un vector de estado conjuntamente con una o más claves de codificación, como se muestra en la Figura 1. El vector de estado, en su forma más simple, es una secuencia continua que se incrementa a una tasa predeterminada, generalmente igual a un múltiplo de la tasa a la cual los cuadros de datos fueron generados por el codificador de voz (104). El vector de estado es generado por el generador de vector de estado (110), empleando técnicas conocidas, tales como los componentes electrónicos discretos, o un microprocesador digital en combinación con un conjunto de instrucciones de software. También se contemplan otras técnicas conocidas en el arte.
El módulo de codificación (108) produce un libro de códigos cada vez que se incrementa el generador de vector de estado (110). Cada libro de códigos producido, se combina digitalmente con un cuadro de datos almacenado en la memoria (106), generalmente en el orden en que los datos fueron almacenados en la memoria (106), para producir un cuadro de datos codificado para cada cuadro de datos enviado al módulo de codificación (108). Los libros de códigos se combinan con los cuadros de datos utilizando técnicas conocidas, tales como la adición de un cuadro de datos a un libro de códigos empleando la aritmética de módulo 2. En otra representación, se añaden 2 cuadros de datos a un solo libro de códigos; el libro de códigos en esa representación tiene dos veces el número de bits de un cuadro de datos sencillo.
En la presente invención, no todos los cuadros de códigos de voz que genera el codificador de voz (104) son transmitidos a un receptor. Algunos de los cuadros se eliminan o "disminuyen", antes de ser codificados por el módulo de codificación (108). Los cuadros se disminuyen para reducir el efecto de la latencia o demora entre un transmisor y un receptor. La latencia puede ser un problema al transmitir información en tiempo real o cerca del tiempo real, empleando protocolos de datos, debido a que los protocolos de datos generalmente requieren la retransmisión del cuadro para garantizar que se reciba un porcentaje alto de cuadros, sin errores. Las retransmisiones de cuadros provocan una copia de seguridad en el número de cuadros que se transmitirá, lo que trae consigo un aumento de la latencia. Mediante la reducción del número total de cuadros a transmitir, se reduce o elimina la latencia.
Volviendo a la Figura 1, un procesador (120) generalmente controla el proceso de disminución de cuadros, así como un número de otros procesos dentro del transmisor (100). El procesador (120) incluye un dispositivo de procesamiento digital, tal como cualquier microcomputadora conocida, DSP, o ASIC integrado regular. Los cuadros pueden disminuirse en cualquier número de métodos. Por ejemplo, los cuadros pueden disminuirse a una tasa fija simple, una tasa fija doble, una tasa variable, o una combinación de cualquiera de esas técnicas.
Al usar una tasa simple fija de disminución de cuadro, el procesador (120) disminuye los cuadros de datos a una tasa fija predeterminada. En la representación ejemplar la tasa se disminuye 1 cuadro por cada cien cuadros generados por el codificador de voz (104), o una tasa de 1%. El procesador (120) cuenta el número de cuadros generados por el codificador de voz (104). Cuando se genera el cuadro (100), el procesador (120) disminuye el cuadro al no almacenarlo en la memoria (106) si se utiliza dicha memoria. Si no se utiliza la memoria (106), el cuadro (100) simplemente no es enviado al módulo de codificación (108). El siguiente cuadro generado por el codificador de voz (104), el cuadro 101, es enviado entonces a la memoria (106) o directamente al módulo de codificación (108), según sea el caso. Alternativamente, pueden utilizarse otras tasas fijas predeterminadas, sin embargo, las pruebas han demostrado que la disminución en más de un 10% de los cuadros conlleva a una pobre calidad de la voz en el receptor.
En el caso de un esquema de disminución de cuadro de tasa fija simple, los cuadros se disminuyen sin tener en cuenta si existe mucha o poca latencia entre el transmisor y el receptor. Sin embargo, en otra representación, el procesador (120) monitorea la latencia del canal de comunicación y activa una técnica de disminución de cuadro de tasa fija solo si la latencia del canal de comunicación excede el umbral predeterminado. La latencia del canal de comunicación se determina empleando métodos conocidos en la técnica y descritos más adelante. Si la latencia del canal de comunicación disminuye por debajo del umbral predeterminado, el procesador (120) descontinúa el proceso de disminución de cuadros.
La disminución de cuadros puede ímplementarse también empleando un enfoque de tasa fija doble. En este método los cuadros se disminuyen a cualquiera de las dos tasas fijas, en dependencia de la latencia del canal de comunicación. Se utiliza una primera tasa para disminuir los cuadros cuando la latencia del canal de comunicación es menor que el umbral predeterminado. Se utiliza una segunda tasa fija para disminuir los cuadros cuando la latencia del canal de comunicación excede el umbral predeterminado. Una vez más, la latencia del canal de comunicación se deriva generalmente de la calidad del canal de comunicación, que a su vez depende de la tasa de error del canal.
A menudo, la calidad del canal de comunicación y, por tanto, la latencia del canal de comunicación, se expresa en términos de una tasa de error del canal, o el número de cuadros recibidos en error por el receptor dividido por el número total de cuadros transmitidos durante un período de tiempo dado. Un umbral predeterminado típico en el método de disminución a tasa fija doble, entonces, podría ser igual al 7%, lo que significa que si más del 7% se recibe en error, generalmente debido a que se degrada la condición del canal, los cuadros se disminuyen a la segunda tasa. La segunda tasa generalmente es mayor que la primera tasa. Si la calidad del canal es buena, la tasa de error generalmente será menor que la tasa predeterminada, por ello los cuadros se disminuyen con la utilización de la primera tasa, típicamente igual a entre uno o cuatro por ciento.
En la práctica, la primera tasa de disminución de cuadro podría ser igual a 1%, y la segunda tasa de disminución de cuadro podría ser igual al 8%. El umbral predeterminado se fija a un nivel que indique una degradación de la calidad del canal, expresado en términos del porcentaje de cuadros recibidos en error por el receptor. En este ejemplo, una tasa de error de 7% se selecciona como el umbral predeterminado. El procesador (120) es capaz de determinar la calidad del canal en uno de los diferentes métodos conocidos en la técnica. Por ejemplo, el procesador (120) puede contar el número de NAK recibidas por el transmisor (100). Una NAK es un término común en la industria, este significa "confirmación negativa". Una NAK es enviada por un receptor cuando detecta errores al recibir los datos enviados el transmisor (100). Cuando el transmisor (100) recibe una NAK, se retransmiten uno o más cuadros transmitidos con anterioridad, los cuadros se identifican en la NAK. Un número mayor de NAK indica una pobre calidad del canal, ya que se necesitan más retransmisiones de cuadros para superar la pobre condición de canal. El nivel de potencia de los cuadros transmitidos es otra indicación que el procesador (120) puede utilizar para determinar la calidad del canal. Alternativamente, el procesador (120) puede determinar simplemente la calidad del canal sobre la base del número de cuadros almacenados en una fila de transmisión, tal como la memoria (106). En malas condiciones del canal, se produce una copia del cuadro en la memoria (106) debido a un gran número de retransmisiones de cuadros, lo que provoca que aumente el número de cuadros almacenados en la memoria (106). Cuando las condiciones del canal son buenas, el número de cuadros almacenados en la memoria (106) es relativamente bajo.
Si la calidad del canal aumenta, los cuadros se disminuyen utilizando la primera tasa. Si la calidad del canal disminuye los cuadros disminuyen a una segunda tasa más alta.
El motivo por el cual los cuadros disminuyen a una tasa más alta cuando la calidad del canal es mala se debe a que ocurren más retransmisiones de cuadros cuando las condiciones del canal son malas, lo que provoca una copia de los cuadros que esperan ser transmitidos en la memoria (106). En el receptor, durante las malas condiciones del canal, primero la memoria intermedia del receptor se agota debido a la escasez de cuadros recibidos sin error, luego se recarga al mejorar las condiciones del canal. Cuando se agota la memoria intermedia del receptor, los cuadros borrados son proporcionados a un decodificador de voz para minimizar la interferencia en la calidad de la voz a un usuario. Si la memoria intermedia del receptor se sobrecarga, o se hace relativamente grande, aumentará la latencia. Por lo tanto, cuando disminuye la calidad del canal de comunicación, es conveniente disminuir los cuadros a una tasa mayor en el transmisor (100), de modo que ni la memoria (106) ni la memoria intermedia del receptor crezcan demasiado, aumentando la latencia a niveles intolerables.
Otro método para disminuir los cuadros en el transmisor (100) es mediante la disminución de cuadros a una tasa variable, en dependencia de la latencia del canal de comunicación. En esa representación, el procesador (120) determina la calidad del canal de comunicación empleando las técnicas antes expuestas. La tasa en la cual disminuyen los cuadros es inversamente proporcional a la calidad del canal de comunicación. Si se determina la calidad del canal por la tasa de error del canal, la tasa en la cual se disminuyen los cuadros es directamente proporcional a la tasa de error del canal.
Otro método de disminución de los cuadros en el transmisor (100) consiste en la disminución de los cuadros de acuerdo con la tasa en la cual el codificador de voz (104) codificó los cuadros de datos. En esta representación, el codificador de voz (104) comprende un codificador de voz de tasa variable, como se describió anteriormente. El codificador de voz (104) codifica la información de audio en cuadros de datos a tasas de datos variables, en la representación ejemplar, cuatro tasas: tasa completa, media tasa, un cuarto de tasa, y un octavo de tasa. El procesador (120) ubicado dentro del transmisor determina la latencia del canal de comunicación generalmente a través de la determinación de la calidad del canal de comunicación empleando una de las técnicas analizadas anteriormente. Sí el procesador (120) determina que el canal de comunicación ha perdido calidad más allá del umbral predeterminado, se disminuye un porcentaje de los cuadros de datos que tienen la tasa codificada más baja generada por el codificador de voz (104). En la representación ejemplar, se degrada un porcentaje de cuadros de un octavo de tasa si el canal de comunicación se degrada en más de un umbral predeterminado. Si el procesador (120) determina que el canal de comunicación ha seguido degradándose más allá de un segundo umbral predeterminado, se disminuye un porcentaje de los cuadros de datos que tienen la segunda tasa de codificación más baja generada por el codificador de voz (104) además de los cuadros que tengan la tasa de codificación más baja. En la representación ejemplar, un porcentaje tanto de los cuadros con un cuarto de tasa como de los cuadros con un octavo de tasa disminuyen si el canal de comunicación se degrada por más de un segundo umbral predeterminado a medida que son generados por el codificador de voz (104). De igual modo, un porcentaje de los cuadros con tasa media y completa disminuye si el canal de comunicación sigue degradándose. En una representación relacionada, si el canal de comunicación se degrada más allá del segundo umbral predeterminado, solo disminuye un porcentaje de los cuadros de datos que tengan una tasa de codificación de la segunda tasa de codificación más baja, mientras los cuadros de datos que tengan una tasa de codificación igual a la tasa de codificación más baja no disminuyen.
El porcentaje de cuadros disminuidos en cualquiera de las situaciones anteriores es generalmente un número fijo predeterminado y puede ser el mismo, o diferente, para cada tasa de codificación de datos. Por ejemplo, si se disminuyen los cuadros con la tasa más baja, el porcentaje predeterminado puede ser de 60%. Si se disminuyen los cuadros más bajos y los segundos cuadros más bajos, el porcentaje predeterminado puede ser igual a 60% o puede ser igual a un porcentaje menor, por ejemplo 30%.
Después que el módulo de codificación (108) genera los cuadros de datos codificados, éstos son almacenados en la memoria (106), o alternativamente, en una segunda memoria (no mostrada) hasta que otros elementos de procesamiento los necesiten. Por ejemplo, si se utilizan protocolos de datos para transmitir los cuadros de datos codificados, el procesador de formateo (112) utilizará los cuadros de datos codificados almacenados en la memoria (106) para construir los segmentos de datos de acuerdo con el protocolo de datos particular que se está utilizando, tal como el conocido protocolo de datos TCP. Alternativa o adicionalmente, el procesador de formateo (112) puede utilizar uno o más protocolos de datos, tal como el conocido protocolo de datos RLP utilizado inicialmente en los sistemas de comunicación CDMA.
A continuación, los cuadros formateados son enviados al modulador (114). El modulador (114) modula los cuadros formateados empleando la técnica de modulación predeterminada del sistema de comunicación inalámbrica. Entre los ejemplos de diferentes técnicas de modulación se incluyen el Acceso Múltiple por División de Tiempo (TDMA, por sus siglas en inglés) el Acceso Múltiple por División de Código (CDMA, por sus siglas en inglés) y el Acceso Múltiple por División de Frecuencia (FDMA, por sus siglas en inglés).
Una vez que los segmentos de datos han sido modulados, son convertidos de forma ascendente y transmitidos por el receptor transmisor (116). La señal convertida de forma ascendente se envía a una antena (228) para ser transmitida de manera inalámbrica a un receptor.
Uno de los problemas asociados al empleo del método de codificado conjuntamente con el método de disminución de cuadros descrito anteriormente es que el proceso de disminución de cuadros provoca discontinuidades en los cuadros codificados generados por el módulo de codificación (108). Las discontinuidades se deben a que el vector de estado generado por el generador de vector de estado (110) se incrementa en un momento en que no hay ningún cuadro de códigos de voz disponible para ser codificado, debido al proceso de disminución de cuadros. Ello se muestra mejor en las Figuras 2a, 2b, y 2c.
La Figura 2a muestra una serie secuencia) de los cuadros de códigos de voz enumerados del uno al seis y el valor del vector de estado generado por el vector de estado (108) correspondiente a cada cuadro de códigos de voz. En la representación ejemplar, los cuadros de códigos de voz son generados por el codificador de voz (104) a una tasa constante de un cuadro cada 20 milisegundos. Cada cuadro de códigos de voz puede almacenarse brevemente en la memoria (106) antes de ser utilizados por el módulo de codificación (108). En una representación alternativa los cuadros de códigos de voz se envían directamente al módulo de codificación (108). En cualquiera de los casos, los cuadros de códigos de voz se envían al módulo de codificación (108) en la misma tasa en que el codificador de voz (104) produce los cuadros de códigos de voz, en la representación ejemplar, cada 20 milisegundos. El generador del vector de estado (110) se incrementa en la tasa predeterminada, generalmente un múltiplo de la tasa en la cual el codificador de voz (104) genera los cuadros de códigos de voz.
En la Figura 2a, el cuadro de códigos de voz 1 es codificado por el módulo de codificación (108), utilizando un libro de códigos derivado del vector de estado 1. Luego se codifica el cuadro 2 utilizando un libro de códigos derivado del vector de estado 2. Luego se codifica el cuadro 3 utilizando un libro de códigos derivado del vector de estado 3, y así sucesivamente. En un receptor, los cuadros de códigos de voz codificados son decodificados empleando un vector de estado sincronizado con los cuadros que se codifican en el transmisor (100). En otras palabras, el cuadro de códigos de voz 1, que fue codificado utilizando un libro de códigos derivado del vector de estado 1, se decodifica empleando un libro de códigos derivado de un vector de estado igual a 1. El cuadro de códigos de voz 2 se decodifica empleando un libro de códigos derivado de un vector de estado igual a 2, y así sucesivamente.
La Figura 2b ilustra un problema del proceso de codificación de la Figura 2a cuando se disminuye un cuadro en el transmisor (100). Como anteriormente, los cuadros de códigos de voz 1 al 6 se muestran en secuencia a medida en que son generados por el codificador de voz (104). Primero, el cuadro de códigos de voz 1 es generado y codificado por el módulo de codificación (108) (con o sin el uso de la memoria (106) empleando un libro de códigos derivado del vector de estado 1. Luego, el cuadro de códigos de voz 2 es generado por el codificador de voz (104), y posteriormente codificado empleando un libro de códigos derivado del vector de estado 2. A continuación, el codificador de voz (104) genera el cuadro 3, sin embargo, el procesador (120) determina que al menos se deberá disminuir un cuadro. Por lo tanto, el cuadro 3 no es enviado al módulo de codificación (108). Mientras tanto, el generador del vector de estado (110) continúa incrementándose, enviando el vector de estado 3 al módulo de codificación (108). Se genera un libro de códigos que resulta del vector de estado 3, sin embargo no se utiliza, debido a que se disminuye el cuadro de códigos de voz 3. Luego, se genera y se codifica el cuadro de códigos de voz 4 empleando un libro de códigos derivado del vector de estado 4.
En el receptor, el código 1 del codificador de voz se recibe y decodifica empleando un libro de códigos derivado del vector de estado 1. El cuadro de códigos de voz 2 se decodifica entonces empleando un libro de códigos derivado del vector de estado 2. El siguiente cuadro que se recibe es el cuadro de códigos de voz 4, ya que se disminuyó el cuadro de códigos de voz 3. El cuadro de códigos de voz 4 es decodificado empleando un libro de códigos derivado del vector de estado 3, lo que trae como resultado datos no decodificables, porque el cuadro de códigos de voz 4 debe ser decodificado empleando un libro de códigos derivado de un vector de estado igual a 3.
Empleando la presente invención, cuando se disminuye un cuadro de códigos de voz en el transmisor (100), el generador del vector de estado (110) se deshabilita de modo que el vector de estado no se incremente durante los momentos en que se disminuyen los cuadros. Esto se ilustra en la Figura 2c. Como se muestra en la Figura 2c, los cuadros de códigos de voz 1 al 6 son generados por el codificador de voz (104). Sin embargo, en ese ejemplo, el procesador (120) disminuye los cuadros de código de voz 3, 4 y 5. El cuadro de códigos de voz 1 se codifica empleando un libro de códigos derivado del vector de estado 1. El cuadro de código de voz 2 se codifica empleando un libro de códigos derivado del vector de estado 2. El procesador (120) disminuye los cuadros de códigos de voz 3, 4 y 5. El procesador (120) envía una orden al generador del vector de estado (110), evitando que el vector de estado sea incrementado por los tres cuadros que fueron disminuidos. Cuando se ha disminuido un número suficiente de cuadros, el procesador (120) permite que el cuadro que le sigue en la secuencia, en este ejemplo el cuadro de código de voz 6, sea codificado por el módulo de codificación (110). El procesador (120) también envía una orden al generador del vector de estado (110) que incrementa el vector de estado a su siguiente valor, en este ejemplo, a un valor de 3. Por consiguiente, el cuadro de código de voz 6 es codificado empleando un libro de códigos derivado del vector de estado 3.
En el receptor, se recibe el cuadro de códigos de voz 1 y se decodifica empleando un libro de códigos derivado del vector de estado igual a 1. El cuadro de códigos de voz 2 se decodifica empleando un libro de códigos derivado del vector de estado igual a 2. El siguiente cuadro que se recibirá es el cuadro de códigos de voz 6, ya que los cuadros de códigos de voz 3, 4 y 5 se disminuyeron en el transmisor (100). Según puede observarse, dicho método conserva la sincronización criptográfica entre el transmisor (100) y un receptor.
La Figura 3 es un diagrama de bloque funcional de un receptor (300) que se utiliza para recibir la información transmitida por el transmisor (100). En la Figura 3, el receptor de RF (302) recibe la señal convertida en forma ascendente empleando técnicas conocidas en el arte. La señal convertida de forma ascendente es convertida de forma descendente y enviada al demodulador (304) donde la señal convertida de forma descendente se convierte en cuadro de datos. En las representaciones ejemplares, los cuadros de datos incluyen cuadros RPL, con una duración de 20 milisegundos cada uno.
Luego los cuadros RPL son almacenados en la memoria intermedia (306) del receptor para ser utilizadas por el procesador de formateo (308). El procesador de formateo (308) utiliza los cuadros de la memoria intermedia (306) para reconstruir los cuadros de datos originales, en este ejemplo, los cuadros de códigos de voz. Si se utilizaron múltiples protocolos de datos para transmitir la información, por ejemplo TCP y RLP, el procesador de formateo (308) acomoda ambos protocolos para generar los cuadros de códigos de voz. Los cuadros de códigos de voz generados por el procesador de formateo (308) son almacenados en la fila (312), generalmente en secuencia. La fila (312) generalmente es capaz de almacenar múltiples cuadros de códigos de voz antes de que los cuadros sean utilizados por el módulo de decodificación (314).
El módulo de decodificación (314) es el responsable de la decodificación de cada cuadro de datos almacenado en la fila (312) con un libro de códigos único, similar a la técnica utilizada para codificar los cuadros de datos descrita con anterioridad. Usualmente se genera un libro de códigos para cada cuadro de datos a codificar, generalmente en la misma tasa con que el codificador de voz (104) genera los cuadros en el transmisor (100). Por tanto, generalmente hay un libro de códigos disponible para cada cuadro de datos a codificar. Otras técnicas permiten que dos cuadros de códigos de voz sean decodificados con un libro de código, dicho libro de códigos tendrá dos veces más bits que un cuadro de códigos de voz.
El libro de códigos se crea empleando una de las diferentes técnicas conocidas, como se explicó anteriormente. En la representación ejemplar de la presente invención, se utiliza un vector de estado para generar el libro de código, conjuntamente con una o más claves de decodificación, como se muestra en la Figura 3. El vector de estado en la Figura 3, al igual que el vector de estado en el transmisor (100), es una secuencia de conteo, que se incrementa a la misma tasa predeterminada que el vector de estado en el transmisor (100). El generador del vector de estado (316) genera el vector de estado, empleando técnicas conocidas, tales como componentes electrónicos discretos, o un microprocesador digital en combinación con un conjunto de instrucciones de software. También se contemplan otras técnicas conocidas en el arte.
El módulo de codificación (314) produce un libro de códigos para cada vector de estado que se le envía desde el generador de vector de estado (316). Los cuadros de códigos de voz almacenados en la fila (312) son proporcionados en secuencia al módulo de decodificación (314), donde un libro de códigos único derivado del vector de estado actual se combina digitalmente con cada cuadro de códigos de voz para producir los cuadros de códigos de voz codificados. Los libros de códigos se combinan con los cuadros de datos empleando técnicas conocidas, tales como la adición de un cuadro de datos a un libro de códigos, empleando la aritmética de módulo 2. En otra representación, se combinan 2 cuadros de datos con un solo libro de códigos, el libro de códigos en esa representación tiene dos veces el número de bits de datos que el cuadro de códigos de voz sencillo.
Después que el módulo de codificación (314) genera los cuadros de códigos de voz codificados, éstos se almacenan en la fila (312), o en otro dispositivo de memoria, hasta que el codificador de voz (318) los necesite. El codificador de voz (318) requiere un flujo constante de cuadros de códigos de voz para reproducir con exactitud los datos originales transmitidos por el transmisor (100). El codificador de voz (318) utiliza los cuadros de códigos de voz almacenados en la fila (312) para generar la réplica digitalizada de la señal original transmitida desde el transmisor (100). El codificador de voz (318) generalmente requiere un flujo constante de cuadros de códigos de voz desde la fila (312) para reproducir con fidelidad la información de audio original. El codificador de voz (318) proporciona una señal de salida digitalizada al convertidor de la señal digital a analógica D/A (320). El D/A (320) convierte la señal digitalizada proveniente del codificador de voz (318) en señal analógica. La señal analógica se envía entonces al transductor de salida (322) donde la señal analógica se convierte en señal acústica para que pueda ser escuchada por un oyente. Por su puesto, el transductor de salida (322) puede incluir alternativamente un monitor de video adecuado para ver imágenes fijas o videos, o cualquier otro dispositivo disponible adecuado para la aplicación.
La coordinación de los procesos anteriores es gestionada generalmente por el procesador (324). El procesador (324) puede implementarse en una de las diferentes formas son conocidas en la técnica, incluyendo un procesador discreto o un procesador integrado a un ASIC tradicional. Alternativamente, cada uno de los elementos de bloques anteriores podría tener un procesador individual para realizar las funciones específicas de cada bloque, donde el procesador (324) sería utilizado generalmente para coordinar las actividades entre los bloques.
Como mencionamos anteriormente, el codificador de voz (318) generalmente requiere de un flujo constante de cuadros de códigos de voz para reconstruir la información de audio original sin distorsión. Para lograr un flujo constante de cuadros de códigos de voz, se utiliza una fila (312). Los cuadros de códigos de voz generados el procesador de formateo (308) generalmente no se producen a una tasa constante, debido a la calidad del canal de comunicación y al hecho de que generalmente en el transmisor (100) se utiliza un codificador de voz con tasa variable, que genera cuadros de códigos de voz con tasas de codificación variables. La fila (312) permite al procesador de formateo 308 realizar cambios en la tasa de generación del cuadro de códigos de voz, asegurando un flujo constante de cuadros de códigos de voz al codificador de voz (318). Un problema potencial asociado al empleo de la fila (312) es que puede causar demora o latencia, durante la transmisión de información de audio entre el transmisor (100) y el receptor (300), por ejemplo, en una conversación telefónica.
Uno de los objetivos de la fila (312) consiste en mantener suficientes cuadros de códigos de voz para proveer al código de voz (318) con cuadros de códigos de voz (318) durante los períodos de baja generación de cuadros por parte del procesador de formateo (308) (evitando así un agotamiento de la fila (312), pero no demasiados cuadros debido al aumento de la latencia en esa situación.
En una condición de agotamiento, el procesador (324) ordena al codificador de voz (318) usar uno o más cuadros de "borrado", en lugar de cuadros de códigos de voz reales. Como se conoce en la técnica, un cuadro de borrado describe un cuadro que no contiene datos, pero permite al codificador de voz (318) continuar con el procesamiento de la información subsiguiente sin interferencia. En una condición de agotamiento, el codificador (318) utiliza un cuadro de borrado en cada período de tiempo, en el que no haya disponible un cuadro de códigos de voz para el uso en la fila (312), en la representación ejemplar, cada 20 milisegundos.
Por otra parte, cuando el número de cuadros de códigos de voz almacenado en la fila (312) se hace relativamente grande, la latencia se convierte en un problema. La latencia se define como un tiempo de demora entre el momento en que la información entra en el transmisor y el momento en que está disponible para el uso en un receptor. En el receptor (300), a medida que aumenta el número de cuadros de códigos de voz en la fila (312), la latencia de voz aumenta proporcionalmente al número de cuadros almacenados en la fila (312). Por ejemplo, si el número de cuadros almacenados en la fila (312) es igual a 50, la latencia será igual a 50 veces 20 milisegundos (la longitud de cada cuadro en la representación ejemplar), o 1 segundo, lo que es inaceptable para la mayoría de las comunicaciones de audio.
Para combatir el problema de la latencia, se eliminan o disminuyen cuadros de códigos de voz de la fila (312), con el objetivo de reducir el número de cuadros de códigos de voz procesados finalmente por el codificador de voz (318). Mediante la disminución de los cuadros de códigos de voz en la fila (312), se reduce el problema de la latencia. Sin embargo, los cuadros deben disminuirse de modo que se introduzca una cantidad mínima de distorsión en la información de audio.
Los cuadros deben disminuirse de acuerdo con uno de los diferentes métodos conocidos en la técnica. Por ejemplo, los cuadros pueden disminuirse a una tasa fija, a dos o más tasas fijas, a una tasa variable, o una combinación de cualquiera de dichos métodos. Además, si se utiliza un codificador de voz de tasa variable (104) en el transmisor (100), los cuadros pueden disminuirse sobre la base de la tasa en la cual los cuadros fueron codificados por el codificador de voz (104).
Generalmente, la decisión de cuándo disminuir los cuadros se basa en la latencia del canal de comunicación determinada por la calidad del canal de comunicación, que a su vez puede derivarse del tamaño de la fila (312). A medida que aumenta el tamaño de la fila (312) más allá del umbral predeterminado, la latencia aumenta hasta un nivel no deseado. Por lo tanto, cuando el tamaño de la fila (312) excede el umbral predeterminado, el procesador (324) comienza a disminuir los cuadros de la fila (312) empleando uno de los métodos descritos anteriormente. Cuando el tamaño de la fila (312) decrece pasado el umbral predeterminado, el procesador (324) detiene la disminución de cuadros. Por ejemplo, si el tamaño de la fila (312) decrece a 2 cuadros, la latencia ya no será un problema, y el procesador (324) detiene el proceso de disminución de cuadros.
Si se utilizan dos o más esquemas de tasa fija para disminuir los cuadros, se utilizarán dos o más umbrales predeterminados para determinar el momento de utilizar cada tasa de disminución fija. Por ejemplo, si el tamaño de la fila (312) sobrepasa un primer umbral predeterminado, el procesador (324) comienza a disminuir los cuadros a una primera tasa predeterminada, tal como 1%. Si el tamaño de la fila (312) continua creciendo, el procesador (324) comienza a disminuir los cuadros a una segunda tasa predeterminada si el tamaño de la fila (312) sobrepasa un segundo tamaño predeterminado. Cuando el tamaño de la fila (312) decrece por debajo de un segundo umbral, el procesador (324) detiene la disminución de cuadros en la segunda tasa predeterminada y comienza a disminuir los cuadros más lentamente a la primera tasa predeterminada. Si el tamaño de la fila (312) sigue decreciendo, pasado el segundo umbral predeterminado, o tamaño, el procesador (324) detiene toda la disminución de cuadros de modo que el tamaño de la fila (312) pueda aumentar a un nivel apropiado.
Si se utiliza un esquema de disminución de cuadro variable, el procesador (324) determina el tamaño de la fila (312) sobre una base continua o casi continua, y ajusta la tasa de disminución en correspondencia. A medida que aumenta el tamaño de la fila (312), también aumenta la tasa de disminución de los cuadros. A medida que decrece el tamaño de la fila (312), también decrece la tasa de disminución de los cuadros. Una vez más, si la tasa de la fila (312) desciende por debajo de un umbral predeterminado, el procesador (324) detiene completamente el proceso de disminución de cuadros.
Los cuadros también pueden disminuirse en correspondencia con el número de cuadros almacenados en la fila (312) y la tasa en la cual han sido codificados por el codificador de voz (104), si el codificador de voz (104) es un codificador de voz con tasa variable. Si el tamaño de la fila (312) excede un primer umbral o tamaño predeterminado, se disminuyen los cuadros de códigos de voz que tienen una tasa de codificación en la tasa de codificación más baja. Si el tamaño de la fila (312) excede un segundo umbral predeterminado, se disminuyen los cuadros de códigos de voz con la tasa de codificación más baja y los cuadros de códigos de voz que tienen una tasa de codificación a una segunda tasa de codificación más baja. En principio, los cuadros codificados a una tercera tasa de codificación más baja más los cuadros de la segunda tasa más baja y los cuadros de la tasa de codificación más baja podrían disminuirse si el número de cuadros almacenados en la fila (312) sobrepasara un tercer umbral predeterminado. Una vez más, a medida que decrece el número de cuadros almacenados en la fila (312) a lo largo de los umbrales predeterminados, el procesador (324) disminuye los cuadros en correspondencia con la tasa de codificación a la que se pase cada umbral.
Como explicamos anteriormente, la disminución de los cuadros puede ocurrir en el receptor (300) o en el transmisor (100). Sin embargo, en otra representación, la disminución de cuadros puede ocurrir tanto en el transmisor (100) como en el receptor (300). En tales casos puede utilizarse cualquier combinación de esas técnicas de disminución de cuadros analizadas anteriormente.
En el receptor (300), durante los períodos de agotamiento o disminución de cuadros, puede interrumpirse la sincronización criptográfica entre el transmisor (100) y el receptor (300). La interrupción se debe a que los cuadros de códigos de voz se codifican con un libro de códigos derivado de un primer vector de estado y son decodificados con un libro de códigos derivado de un segundo vector de estado. Ello provoca que los cuadros de códigos de voz se decodifiquen erróneamente.
La presente invención deshabilita el aumento del vector de estado durante una condición de agotamiento y el avance del vector de estado durante una situación de disminución de cuadros. En una situación de agotamiento, el procesador (324) deshabilita el generador de vector de estado (316) para evitar que se incremente cuando se proporcionen cuadros de borrado al codificador de voz (318). El generador de vector de estado (316) se habilita cuando un cuadro se encuentre nuevamente listo para la codificación en la fila (312).
La Figura 4a muestra ese aspecto. Como se muestra en la Figura 4a, el paso del tiempo se denota como períodos de tiempo T1, T2, T3, y así sucesivamente, T1 es el primero en transcurrir. Cada período de tiempo es igual a la tasa en la cual se generan los cuadros de códigos de voz en el codificador de voz (104) en el transmisor (104), en la representación ejemplar, 20 milisegundos. En T1, un cuadro está disponible en una fila (312) para ser decodificado por el módulo de decodificación (314). El vector de estado del generador de vector de estado (316) es igual a (205), y se aplica al cuadro en la fila (312) para decodificarlo. En T2, se incrementa el vector de estado. Otro cuadro está disponible para decodificación en la fila (312), de modo que el vector de estado de (206) se aplica al cuadro para decodificarlo. En T3, no hay ningún cuadro disponible para la decodificación en la fila (312). Por consiguiente, el procesador (324) deshabilita el incremento del generador de vector de estado, por lo que este permanece en el valor de (206). En T4, de nuevo, no hay ningún cuadro disponible en la fila (312) para la decodificación, de modo que el generador de vector de estado (316) sigue sin incrementar el vector de estado. En T5, un cuadro se pone a disposición en la fila (312), de modo que se habilita el generador de vector de estado (316) y permite incrementar el siguiente valor, que es (207). Luego el cuadro en la fila (312) es enviado al módulo de decodificación (314) y es decodificado empleando un libro de códigos derivado del vector de estado que tiene un valor de (207). En T6, no hay ningún cuadro disponible para decodificación en la fila (312), de modo que el procesador (324) deshabilita el incremento del generador de vector de estado (316), lo que resulta en un valor del vector de estado de (207).
Durante una situación de disminución del cuadro, el procesador (324) disminuye los cuadros de la fila (312) antes de ser decodificados por el módulo de decodificación (314). Por cada cuadro que se disminuya, el procesador (324) debe avanzar el número del vector de estado para compensar el(os) cuadro(s) dismi-
nuido(s).
Las Figuras 4b y 4c muestran este aspecto. Como se muestra en la Figura 4b, los cuadros de códigos de voz se almacenan en la fila (312) a medida en que son puestos a disposición por el procesador de formateo 308, comenzando con el cuadro 1 y continuando hasta el cuadro 7 y más allá. Los cuadros se envían al módulo de decodificación (314) a una tasa predeterminada definida por la tasa en la cual los cuadros de códigos de voz fueron generados por el codificador de voz (104). La Figura 4c muestra cómo se afecta el generador de vector de estado (316) durante la disminución de cuadros. En T1, el generador de vector de estado envía un vector de estado que tiene un valor de (205) al módulo de decodificación (314), donde se genera un libro de códigos para decodificar el cuadro 1. En el tiempo T2, el vector de estado se incrementa a (206), donde se envía al módulo de decodificación (314) para el usarlo en la generación de un libro de códigos para decodificar el cuadro 2. En el tiempo T3, el procesador (324) disminuye el cuadro 3 y el cuadro 4. En una representación alternativa, el procesador (324) selecciona por adelantado qué cuadro(s) almacena-
do(s) en la fila (312) se disminuirá(n). En cualquier caso, en el tiempo T3, el procesador (324) envía el siguiente cuadro no disminuido al módulo de decodificación (314), el cual, en este caso, es el cuadro 5. El procesador (324) también indica al generador de vector de estado (316) que genere un vector de estado sobre la base del número de cuadros que fueron eliminados. En este caso, se disminuyeron 2 cuadros, por ello el procesador (324) indica al generador de vector de estado (316) que genere un vector de estado igual a (209), que es igual al valor en el que pudiera estar el vector de estado (207), más 2 para compensar los 2 cuadros disminuidos.
En el tiempo T4, el cuadro 6 está disponible para ser decodificado, por lo que se envía al módulo de decodificación (314) mientras en vector de estado se incrementa 1, en este caso, a un valor de (210). En el tiempo T5, el procesador (324) disminuye el cuadro 7 y el cuadro 8 está disponible para la decodificación. Por tanto, en el tiempo T5, el procesador (324) indica al generador de vector de estado que incremente el vector de estado en 2 a 212 (1 para el incremento normal y 1 para compensar el cuadro que fue disminuido), y envía el cuadro 8 al módulo de decodificación (314).
Tanto en el caso de agotamiento como en el caso de disminución de cuadro, el procesador (324) indica al generador de vector de estado (316) que ajuste el vector de estado de modo que permanezca sincronizado al vector de estado que codificó el cuadro.
La Figura 5 es un diagrama de flujo que muestra el método de la presente invención empleado en el transmisor (100). En el paso (500), los cuadros de datos son generados, generalmente a una tasa constante, desde el codificador de voz (104). En una representación alternativa, los cuadros de datos no se generan desde el codificador de voz (104), sino desde cualquier otro dispositivo productor de datos tal como una cámara de vídeo, una computadora o una cámara digital. En la representación ejemplar, los cuadros son generados a una tasa de un cuadro cada 20 milisegundos.
En el paso (502), los cuadros provenientes del codificador voz (104) se almacenan en la memoria (106) para su almacenamiento temporal. En la representación ejemplar, solo puede almacenarse 1 cuadro a la vez en la memoria (106). Sin embargo, en otras representaciones, puede almacenarse un número alternativo de cuadros en la memoria (106). Aún en otra representación, los cuadros se envían directamente desde el codificador de voz (104) al módulo de codificación (108) sin que sea necesaria la memoria (106).
En el paso (504), el procesador (120) decide si disminuir o no un cuadro, basado en uno o más criterios tales como la latencia de transmisión. Si el procesador (120) determina que se debe disminuir un cuadro, el procesador (120) deshabilita el generador de vector de estado (110) en el paso (506), evitando así que se incremente el vector de estado. En el paso (508), el procesador (120) disminuye el cuadro que está listo para ser procesado por el módulo de codificación (108). En la representación ejemplar, el procesador (120) no envía el cuadro de códigos de voz actualmente almacenado en la memoria (106) al módulo de codificación (108).
En el paso (510), el procesador (120) determina si se deberá disminuir el próximo cuadro en la secuencia. Si es así, el procesamiento continúa desde el paso 508 donde se disminuye el próximo cuadro almacenado en la memoria (106), y el generador de vector de estado (110) continua deshabilitado. Si no se debe disminuir el próximo cuadro, el procesamiento continúa hasta el paso (510).
Refiriéndonos de nuevo al paso (504), si el procesador (120) determina que no deberá disminuirse el cuadro actual, el procesamiento continúa al paso (510), donde se habilita el generador de vector de estado (110) (en caso que haya sido deshabilitado en un paso anterior), incrementando de este modo el vector de estado.
En el paso (512), el cuadro actual almacenado en la memoria (106) es enviado al módulo de codificación (108) y codificado empleando un libro de códigos derivado del valor actual del vector de estado. El resultado de este proceso consiste en que los cuadros se codifican empleando vectores de estado consecutivos, aun cuando el procesador (120) disminuye uno o más cuadros antes de la codificación.
La Figura 6 es un diagrama de flujo que ilustra el método de la presente invención empleado en el receptor (300) durante una condición de agotamiento. En el paso (600), el procesador (324) determina si hay o no algún cuadro disponible para la decodificación en la fila (312). Si al menos hay un cuadro disponible para decodificación, el vector de estado se incrementa en el paso (602). Luego, el paso (604), al menos se envía un cuadro al módulo de decodificación (314), donde esté es decodificado empleando un libro de códigos derivado del valor actual del vector de estado proveniente del generador de vector de estado (316). Para ser decodificarlo de forma adecuada, generalmente el cuadro debe ser decodificado empleando un libro de códigos derivado de un vector de estado que coincida con el mismo vector de estado que se utilizó para codificar el cuadro en el transmisor (100). Después de haber decodificado el cuadro, el procesamiento regresa entonces al paso (600), donde el procesador (324) determina si hay otro cuadro disponible para la decodificación.
Si no hay cuadros disponibles para la decodificación en el paso (600), el procesamiento continúa al paso (606), donde el procesador (324) deshabilita el generador de vector de estado (316), deteniendo el valor del vector de estado en su estado actual. A continuación, paso (608), el procesador (324) envía un cuadro de borrado al codificador de voz (318) de modo que no se interrumpe el procesamiento. Luego, el procesamiento regresa al paso (600), donde el procesador (324) proporciona otro cuadro de borrado al codificador de voz (318). El paso (606) no se repite en esta situación porque el generador de vector de estado (316) ya fue deshabilitado anteriormente.
El proceso anterior garantiza que los cuadros sean decodificados adecuadamente incluso si son enviados al módulo de decodificación (314) en intervalos irregulares.
La Figura 7 es un diagrama de flujo que detalla el método de la presente invención empleado en el receptor (300) durante una condición de disminución de cuadros. Como mencionamos anteriormente, la disminución de los cuadros ocurre en el receptor (300) cuando la latencia se torna excesiva, a menudo teniendo en cuenta el número de cuadros almacenados en la fila (312) en cualquier momento dado. El proceso comienza en el paso (700), donde un cuadro almacenado en la fila (312) es enviado al módulo de decodifícación (314). En el paso (702), el procesador (324) determina el número de cuadros consecutivos que se han disminuido antes del cuadro actual. Si no se han disminuido cuadros consecutivos anteriormente, el procesamiento continúa al paso (704) donde el vector de estado se incrementa en una cantidad predeterminada, en la representación ejemplar, en uno.
Refiriéndonos de nuevo al paso (702), si no se han disminuido cuadros anteriores, el procesamiento continúa al paso 706. Normalmente, los cuadros se envían desde la fila (312) al módulo de descripción (314) de forma consecutiva, a medida que se almacenan en la fila (312). Sin embargo, si el procesador (324) determina que es necesario disminuir uno o más cuadros, el o los cuadros disminuidos no se envían al módulo de decodificación (314). En su lugar, el siguiente cuadro en la fila (312) después del/los cuadro(s) disminuido(s) es enviado al módulo de decodificación (314). En el paso (706), el procesador (324) determina cuántos cuadros consecutivos han sido disminuidos antes del cuadro actual. El vector de estado se incrementa en una cantidad proporcional en relación con el número de cuadros disminuidos. Por ejemplo, si se han disminuido dos cuadros antes del cuadro actual, el vector de estado se incrementa en tres, uno por el incremento normal y dos para compensar los dos cuadros que se disminuyeron. Este proceso garantiza que los cuadros sean decodificados de forma adecuada incluso si uno o más cuadros son disminuidos antes de la decodificación.
En el paso (708), el cuadro actual se decodifica empleando un libro de códigos derivado del valor actual del vector de estado.
Este proceso asegura que los cuadros sean decodificados adecuadamente incluso si se disminuyen uno o más cuadros antes de la decodificación.
La descripción anterior de las representaciones preferidas se proporciona para permitir que cualquier persona calificada en la técnica haga o use la presente invención. Las diferentes modificaciones a las representaciones serán evidentes para las personas calificadas en la técnica, y los principios genéricos definidos en el presente documento pueden aplicarse a otras representaciones sin que haya que emplear la facultad inventiva. De este modo, la presente invención no pretende limitarse a las representaciones mostradas en el presente documento, sino estar en correspondencia con el alcance más amplio conforme a los principios y las nuevas características aquí reveladas.

Claims (40)

1. Un método para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos, el sistema de comunicación por paquetes de datos que incluye un transmisor y un receptor, dicho transmisor y dicho receptor poseen cada uno capacidades de seguridad criptográfica, ejecutando en el transmisor los pasos de:
generación de cuadros de datos en una tasa predeterminada en dicho transmisor;
incremento de un vector de estado en dicha tasa predeterminada;
envío de dicho vector de estado a un módulo de codificación;
generación de un libro de códigos desde dicho módulo de codificación, empleando al menos dicho vector de estado, dicho libro de códigos para codificar al menos uno de dichos cuadros de datos; y
desactivación de dicho vector de estado cuando se disminuyen uno o más de dichos cuadros de datos.
2. El método de la reivindicación 1, en el que dicho vector de estado es habilitado después de haberse disminuido un número deseado de dichos cuadros de datos.
3. El método de la reivindicación 1, en el que el paso de generación de dichos cuadros de datos comprende los pasos de:
conversión de la información a formato digital;
envío de dicha información digital a un codificador de voz; y
generación de dichos cuadros de datos por dicho codificador de voz a dicha primera tasa.
4. El método de la reivindicación 1, en el que el paso de disminución de uno o más de dichos cuadros de datos comprende el paso de disminución de dichos cuadros de datos a una tasa fija predetermina-
da.
5. El método de la reivindicación 1, en el que el paso de disminución de uno o más de dichos cuadros de datos comprende los pasos de:
determinación de la latencia de un canal de comunicación; y
disminución de dichos cuadros de datos a una tasa variable de acuerdo con dicha latencia del canal de comunicación.
6. El método de la reivindicación 5, en el que el paso de disminución de dichos cuadros de datos a una tasa variable comprende los pasos de:
disminución de dicha tasa si dicha latencia del canal de comunicación está por debajo de al menos un umbral predeterminado; e
incremento de dicha tasa si dicha latencia del canal de comunicación excede al menos otro umbral predeterminado.
7. El método de la reivindicación 1, en el que el paso de disminución de dichos cuadros de datos comprende los pasos de:
determinación de la latencia de un canal de comunicación;
disminución de dichos cuadros de datos a una primera tasa fija predeterminada si dicha latencia del canal de comunicación desciende por debajo de un umbral determinado; y
disminución de dichos cuadros de datos a una segunda tasa fija predeterminada si dicha latencia del canal de comunicación excede dicho umbral predetermina- do.
8. El método de la reivindicación 1, en el que el paso de disminución de uno o más de dichos cuadros de datos comprende los pasos de;
determinación de la latencia de un canal de comunicación; y
disminución de cada uno de dichos cuadros de datos que poseen una tasa de codificación igual a una primera tasa de codificación si dicha latencia del canal de comunicación excede un umbral predeterminado.
9. El método de la reivindicación 6, que comprende además el paso de disminución de cada uno de dichos cuadros de datos que poseen una tasa de codificación igual a dicha primera tasa de codificación si la latencia del canal de comunicación excede un segundo umbral predeterminado.
10. Un método para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos, el sistema de comunicación por paquetes de datos comprende un transmisor y un receptor, dicho transmisor y dicho receptor poseen cada uno capacidades de seguridad criptográfica, ejecutándose en el receptor los pasos de:
generación de cuadros de datos en dicho receptor;
almacenamiento de dichos cuadros de datos en secuencia en una fila;
envío de dichos cuadros de datos, en secuencia, a un módulo de decodificación;
disminución de uno o más de dichos cuadros de datos en dicha fila;
incremento de un vector de estado a una tasa predeterminada;
envío de dicho vector de estado a un módulo de decodificación,
generación de un libro de códigos desde dicho módulo de decodificación, empleando al menos dicho vector de estado, dicho libro de códigos para la decodificación de al menos uno de dichos cuadros de datos; y
ajuste de dicho vector de estado para cada uno de dichos uno o más cuadros de datos que son disminuidos.
11. El método de la reivindicación 10, en el que el paso de ajuste de dicho vector de estado comprende los pasos de:
determinación del número de cuadros de datos disminuidos; y
avance de dicho vector de estado en proporción con dicho número de cuadros disminuidos.
12. El método de la reivindicación 11, en el que el paso de avance de dicho vector de estado comprende el paso de avance de dicho vector de estado en un valor de uno para cada uno de dichos uno o más cuadros disminuidos.
13. El método de la reivindicación 10que incluye además los pasos de:
aplicación de dicho vector de estado ajustado a dicho módulo de decodificación;
generación de un segundo libro de códigos derivado de dicho vector de estado ajustado;
envío de un cuadro secuencial no disminuido en dicha fila a dicho módulo de decodificación; y
decodificación de dicho cuadro secuencia) no disminuido empleando dicho segundo libro de código.
14. El método de la reivindicación 10, en el que el paso de disminución de uno o más de dichos cuadros de datos comprende el paso de disminución de uno o más de dichos cuadros de datos a una tasa fija.
15. El método de la reivindicación 10, en el que el paso de disminución de uno o más de dichos cuadros de datos comprende los pasos de:
determinación de la latencia de un canal de comunicación; y
disminución de uno o más de dichos cuadros de datos a una tasa variable de acuerdo con dicha latencia del canal de comunicación.
16. El método de la reivindicación 15, en el que el paso de disminución de dichos uno o más cuadros de datos a una tasa variable comprende los pasos de:
disminución de dicha tasa si dicha latencia del canal de comunicación desciende por debajo de al menos un umbral predeterminado; y
aumento de dicha tasa si dicha latencia del canal de comunicación excede al menos otro umbral predeterminado.
17. El método de la reivindicación 10, en el que el paso de disminución de dichos uno o más cuadros de datos comprende los pasos de:
determinación de la latencia de un canal de comunicación;
disminución de dichos cuadros de datos a una primera tasa fija predeterminada si la latencia del canal de comunicación desciende por debajo de un umbral predeterminado; y
disminución de dichos cuadros de datos a una segunda tasa fija predeterminada si la latencia del canal de comunicación excede dicho umbral predeterminado.
18. El método de la reivindicación 10, en el que el paso de disminución de uno o más de dichos cuadros de datos comprende los pasos de;
determinación de una latencia del canal de comunicación; y
disminución de cada uno de dichos cuadros de datos que poseen una tasa de codificación igual a una primera tasa de codificación si dicha latencia del canal de comunicación excede un umbral predeterminado.
19. El método de la reivindicación 18, incluye además el paso de disminución de uno o más de dichos cuadros de datos que poseen una tasa de codificación igual a la primera tasa de codificación y una segunda tasa de codificación si la latencia del canal de comunicación excede un segundo umbral predeterminado.
20. Un método para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos, el sistema de comunicación por paquetes de datos incluye un transmisor y un receptor, dicho transmisor y dicho receptor poseen cada uno capacidades de seguridad criptográfica, ejecutándose en el receptor los pasos de:
generación de cuadros de datos en dicho receptor;
almacenamiento de dichos cuadros de datos en secuencia en una fila;
envío de al menos uno de dichos cuadros de datos desde dicha fila a un módulo de decodificación si está disponible en dicha fila;
envío de un vector de estado a dicho módulo de decodificación, dicho vector de estado se incrementa a una tasa predeterminada;
generación de un libro de códigos desde dicho módulo de decodificación, empleando al menos dicho vector de estado, dicho libro de códigos para la decodificación de al menos uno de dichos cuadros de datos; y
desactivación de dicho vector de estado cuando dicha fila está en condición de agotamiento.
21. El método de la reivindicación 20, en el que el paso de desactivación de dicho vector de estado comprende los pasos de:
determinación de que ninguno de dichos cuadros de datos está disponible para la decodificación en dicha fila;
desactivación de dicho vector de estado;
determinación de que al menos uno de dichos cuadros de datos está disponible para la decodificación en dicha fila;
habilitación de dicho vector de estado; e
incremento de dicho vector de estado en un valor de uno.
22. Un transmisor (100) para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos, el sistema de comunicación por paquetes de datos incluye un transmisor (100) y un receptor (300) dicho transmisor y dicho receptor poseen cada uno capacidades de seguridad criptográfica, dicho transmisor (100) comprende:
medio (104) para generar cuadros de datos a una tasa predeterminada;
medios (110) para generar un vector de estado, dicho vector de estado incrementado a dicha tasa predeterminada;
un módulo de codificación (108) para generar un libro de códigos desde al menos dicho vector de estado, dicho libro de códigos para la codificación de al menos uno de dichos cuadros de datos; y
un procesador (120) para disminuir uno o más de dichos cuadros de datos y para la desactivación de dicho vector de estado para cada uno de dichos cuadros de datos que se disminuyen.
23. El aparato de la reivindicación 22, en el que dichos cuadros de datos se disminuyen a una tasa fija predeterminada.
24. El aparato de la reivindicación 22, en el que dichos cuadros de datos se disminuyen a una tasa variable.
25. El aparato de la reivindicación 14, en el que:
dicho procesador (120) es además para determinar la latencia de un canal de comunicación;
dichos cuadros de datos se disminuyen a una tasa disminuida si dicha latencia del canal de comunicación excede al menos un umbral predeterminado; y dichos cuadros de datos se disminuyen a una tasa aumentada si dicha latencia del canal de comunicación está por debajo de al menos otro umbral predeterminado.
26. El aparato de la reivindicación 22, en el que el procesador (120) es además para determinar una latencia del canal de comunicación, para disminuir dichos cuadros de datos a una primera tasa fija si dicha latencia del canal de comunicación está por debajo de un umbral predeterminado, y para disminuir dichos cuadros de datos a una segunda tasa fija si dicha latencia del canal de comunicación excede dicho umbral predeterminado.
27. El aparato de la reivindicación 22 , en el que dicho procesador (120) es además para determinar la latencia de un canal de comunicación, y para disminuir cada uno de dichos cuadros de datos a una tasa de codificación igual a una primera tasa de codificación si la latencia del canal de comunicación excede el umbral predeterminado.
28. El aparato de la reivindicación 27, en el que dicho procesador (120) es además para disminuir cada uno de los cuadros de datos a una tasa de codificación igual a dicha primera tasa de codificación si dicha latencia del canal de comunicación excede un segundo umbral predeterminado.
29. El aparato de la reivindicación 22, en el que dichos medios (107) para generar los cuadros de datos comprenden:
un receptor para recibir una señal de comunicación inalámbrica; y
un demodulador para demodular dicha señal de comunicación inalámbrica y para producir dichos cuadros de datos.
30. Un receptor (300) para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos, el sistema de comunicación por paquetes de datos incluye un transmisor (100) y un receptor (300) dicho transmisor y dicho receptor poseen cada uno capacidades de seguridad criptográfica, dicho receptor (300) comprende:
medios (304) para generar cuadros de datos;
una fila (312) para almacenar dichos cuadros de datos;
medios (316) para generar un vector de estado, dicho vector de estado incrementado a una tasa predeterminada;
un módulo de decodificación (314) para generar un libro de códigos desde al menos dicho vector de estado, dicho libro de códigos para decodificar al menos uno de dichos cuadros de datos; y
un procesador (324) para disminuir uno o más de dichos cuadros de datos en dicha fila (312) y para ajustar dicho vector de estado para cada uno de dichos cuadros de datos que se disminuyen.
31. El receptor de la reivindicación 30, en el que dicho procesador (324) ajusta dicho vector de estado determinando un número de cuadros de datos disminuidos y avanzando dicho vector de estado en proporción a dicho número de cuadros disminuidos.
32. El receptor de la reivindicación 31, en el que dicho vector de estado es avanzado en un valor de uno para cada uno de dichos cuadros de datos disminuidos.
33. El receptor de la reivindicación 30, en el que dicho procesador (324) disminuye dichos uno o más cuadros de datos a una tasa fija.
34. El receptor de la reivindicación 30, en el que dicho procesador (324) es además para determinar la latencia de un canal de comunicación y disminuir dichos uno o más cuadros de datos a una tasa variable de acuerdo con dicha latencia del canal de comunicación.
35. El receptor de la reivindicación 34, en el que:
dicho procesador (324) decrece dicha tasa si dicha latencia del canal de comunicación desciende por debajo de al menos un umbral predeterminado; y dicho procesador (324) aumenta dicha tasa si dicha latencia del canal de comunicación excede al menos otro umbral predeterminado.
36. El receptor de la reivindicación 30, en el que dicho procesador (324) es además para determinar la latencia de un canal de comunicación; y disminuir uno o más de dichos cuadros de datos a una tasa fija predeterminada si dicha latencia del canal de comunicación desciende por debajo de un umbral predeterminado; y disminuir uno o más de dichos cuadros de datos a una segunda tasa fija predeterminada si dicha latencia del canal de comunicación excede dicho umbral predeterminado.
37. El receptor de la reivindicación 30, en el que dicho procesador (324) es además para determinar la latencia de un canal de comunicación; y disminuir cada uno de dichos uno o más cuadros de datos que poseen una tasa de codificación igual a una primera tasa de codificación si dicha latencia del canal de comunicación excede un umbral predeterminado.
38. El receptor de la reivindicación 37, en el que dicho procesador (324) disminuye uno o más de dichos cuadros de datos que poseen una tasa de codificación igual a dicha primera tasa de codificación y una segunda tasa de codificación si dicha latencia del canal de comunicación excede un segundo umbral predeterminado.
39. Un receptor (300) para lograr la sincronización criptográfica en un sistema de comunicación por paquetes de datos, el sistema de comunicación por paquetes de datos incluye un transmisor (100) y un receptor (300), dicho transmisor y dicho receptor poseen cada uno capacidades de seguridad criptográfica, dicho receptor (300) comprende:
medios (304) para la generación de cuadros de datos;
una fila (312) para almacenar dichos cuadros de datos;
medios (316) para generar un vector de estado, dicho vector de estado incrementado a una tasa predeterminada;
un módulo de decodificación (314) para generar un libro de códigos desde al menos dicho vector de estado, dicho libro de códigos para decodificar al menos uno de dichos cuadros de datos; y
un procesador (324) para deshabilitar dicho vector de estado si no hay ningún cuadro de datos disponible para ser decodificado en dicha fila.
40. El receptor de la reivindicación 39, en el que dicho vector de estado se habilita cuando al menos un cuadro de datos pasa a estar disponible para la codificación en dicha fila.
ES01904948T 2000-01-20 2001-01-19 Metodo y aparato para lograr la sincronizacion criptografica en un sistema de comunicacion por paquetes de datos. Expired - Lifetime ES2266155T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US489194 2000-01-20
US09/489,194 US7003114B1 (en) 2000-01-20 2000-01-20 Method and apparatus for achieving crypto-synchronization in a packet data communication system

Publications (1)

Publication Number Publication Date
ES2266155T3 true ES2266155T3 (es) 2007-03-01

Family

ID=23942791

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01904948T Expired - Lifetime ES2266155T3 (es) 2000-01-20 2001-01-19 Metodo y aparato para lograr la sincronizacion criptografica en un sistema de comunicacion por paquetes de datos.

Country Status (12)

Country Link
US (2) US7003114B1 (es)
EP (1) EP1252737B1 (es)
JP (1) JP4694079B2 (es)
KR (1) KR100840146B1 (es)
AT (1) ATE324722T1 (es)
AU (1) AU2001232877A1 (es)
DE (1) DE60119080T2 (es)
ES (1) ES2266155T3 (es)
HK (1) HK1051097B (es)
MY (1) MY129358A (es)
TW (1) TW563321B (es)
WO (1) WO2001054343A2 (es)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19817007C2 (de) * 1998-04-17 2001-08-09 Deutsche Telekom Ag Verfahren zur Nutzung digitaler Datennetze zum Zwecke der Bandbreitenreduktion bei der Übertragung von Daten über Sprachverbindungswege
US7003114B1 (en) * 2000-01-20 2006-02-21 Qualcomm Incorporated Method and apparatus for achieving crypto-synchronization in a packet data communication system
US7505594B2 (en) * 2000-12-19 2009-03-17 Qualcomm Incorporated Discontinuous transmission (DTX) controller system and method
US7095856B2 (en) * 2002-03-29 2006-08-22 Motorola, Inc. Method and apparatus to maintain encryption synchronization in a multi-modulation TDM system
US7530084B2 (en) * 2002-05-28 2009-05-05 Sony Corporation Method and apparatus for synchronizing dynamic graphics
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US20040165560A1 (en) * 2003-02-24 2004-08-26 Harris John M. Method and apparatus for predicting a frame type
US7715559B2 (en) * 2004-08-26 2010-05-11 Motorola, Inc. Crypto-synchronization for secure communication
US7596224B2 (en) * 2004-12-07 2009-09-29 Motorola, Inc. Method and system for secure call alert
US8228917B2 (en) 2005-04-26 2012-07-24 Qualcomm Incorporated Method and apparatus for ciphering and re-ordering packets in a wireless communication system
US7747021B2 (en) * 2005-05-18 2010-06-29 General Dynamics C4 Systems, Inc. Method and apparatus for fast secure session establishment on half-duplex point-to-point voice cellular network channels
US7643817B2 (en) * 2005-05-18 2010-01-05 General Dynamics C4 Systems, Inc. Method and apparatus for rapid secure session establishment on half-duplex AD-hoc group voice cellular network channels
US20060280159A1 (en) * 2005-06-10 2006-12-14 Hao Bi Method and apparatus for voice communication
EP1742475A1 (fr) * 2005-07-07 2007-01-10 Nagravision S.A. Méthode de contrôle d'accès à des données chiffrées
US8630602B2 (en) 2005-08-22 2014-01-14 Qualcomm Incorporated Pilot interference cancellation
US9071344B2 (en) * 2005-08-22 2015-06-30 Qualcomm Incorporated Reverse link interference cancellation
US8594252B2 (en) * 2005-08-22 2013-11-26 Qualcomm Incorporated Interference cancellation for wireless communications
US8611305B2 (en) 2005-08-22 2013-12-17 Qualcomm Incorporated Interference cancellation for wireless communications
US9014152B2 (en) 2008-06-09 2015-04-21 Qualcomm Incorporated Increasing capacity in wireless communications
US8743909B2 (en) * 2008-02-20 2014-06-03 Qualcomm Incorporated Frame termination
US7715563B2 (en) * 2006-02-16 2010-05-11 General Dynamics C4 Systems, Inc. Rapid acquisition of state vectors in an encrypted data communication system
JP2007282097A (ja) * 2006-04-11 2007-10-25 Canon Inc デジタルカメラおよびその制御方法
US20070242828A1 (en) * 2006-04-12 2007-10-18 General Dynamics C4 Systems, Inc. Dynamic interleaving of state vector components in an encrypted data communication system
JP4954622B2 (ja) * 2006-06-29 2012-06-20 京セラ株式会社 受信装置および復号方法
US20080288518A1 (en) * 2007-05-15 2008-11-20 Motorola, Inc. Content data block processing
US8204224B2 (en) * 2007-11-24 2012-06-19 University Of Massachusetts Wireless network security using randomness
US9326135B2 (en) 2008-02-21 2016-04-26 Google Technology Holdings LLC Method and apparatus for secure communication in a digital two way radio protocol
US9237515B2 (en) 2008-08-01 2016-01-12 Qualcomm Incorporated Successive detection and cancellation for cell pilot detection
US9277487B2 (en) 2008-08-01 2016-03-01 Qualcomm Incorporated Cell detection with interference cancellation
US20100097955A1 (en) * 2008-10-16 2010-04-22 Qualcomm Incorporated Rate determination
US8291218B2 (en) * 2008-12-02 2012-10-16 International Business Machines Corporation Creating and using secure communications channels for virtual universes
US9160577B2 (en) 2009-04-30 2015-10-13 Qualcomm Incorporated Hybrid SAIC receiver
US8787509B2 (en) 2009-06-04 2014-07-22 Qualcomm Incorporated Iterative interference cancellation receiver
US8831149B2 (en) 2009-09-03 2014-09-09 Qualcomm Incorporated Symbol estimation methods and apparatuses
BR112012012632B1 (pt) 2009-11-27 2020-12-15 Qualcomm Incorporated Método e equipamento para aumentar a capacidade de transmissão em comunicações sem fio, e memória legível por computador
ES2720629T3 (es) 2009-11-27 2019-07-23 Qualcomm Inc Mayor capacidad en comunicaciones inalámbricas
US8634291B2 (en) * 2010-01-26 2014-01-21 Oracle America, Inc. Energy efficient management of datalinks
EP2540091A2 (en) * 2010-02-26 2013-01-02 Thomson Licensing System and method for synchronizing an electronic program guide with paused programs
US8730251B2 (en) * 2010-06-07 2014-05-20 Apple Inc. Switching video streams for a display without a visible interruption
US8521837B2 (en) * 2011-01-12 2013-08-27 Landmark Graphics Corporation Three-dimensional earth-formation visualization
US8824687B2 (en) * 2011-05-04 2014-09-02 Acquire Media Ventures, Inc. Method and system for pacing, acking, timing, and handicapping (path) for simultaneous receipt of documents employing encryption
US8971348B2 (en) * 2012-10-31 2015-03-03 Qualcomm Incorporated Allocation of voice idle time period for inter-RAT measurement
AU2016293610B2 (en) * 2015-07-16 2019-01-24 Dtc Communications, Inc. Covert surveillance system concealment kit for rapid development
WO2018212278A1 (ja) * 2017-05-17 2018-11-22 パナソニックIpマネジメント株式会社 映像記録装置及び映像記録検証システム並びに映像記録方法及び映像検証方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817146A (en) * 1984-10-17 1989-03-28 General Electric Company Cryptographic digital signal transceiver method and apparatus
US5179591A (en) * 1991-10-16 1993-01-12 Motorola, Inc. Method for algorithm independent cryptographic key management
JPH05316100A (ja) * 1992-04-03 1993-11-26 Nec Corp 暗号化音声パケット同期方式
US5592556A (en) * 1994-08-09 1997-01-07 Ericsson Ge Mobile Communications Inc. Digital radio with vocoding encrypting codec
JPH1013406A (ja) * 1996-06-25 1998-01-16 Nec Corp ディジタル秘話装置
EP1016310A1 (en) 1997-09-15 2000-07-05 Celotek Corporation Cryptographic system for public atm/sonet communication system with virtual circuit lookup
US6219420B1 (en) * 1998-09-02 2001-04-17 Motorola, Inc. High assurance encryption system and method
US6298055B1 (en) * 1998-10-26 2001-10-02 Cisco Technology, Inc. Early detection of in-band signals in a packet voice transmitter with reduced transmission delay
WO2000025467A1 (en) * 1998-10-28 2000-05-04 L-3 Communications Corporation Encryption and authentication methods and apparatus for securing telephone communications
US6665872B1 (en) * 1999-01-06 2003-12-16 Sarnoff Corporation Latency-based statistical multiplexing
US7003114B1 (en) * 2000-01-20 2006-02-21 Qualcomm Incorporated Method and apparatus for achieving crypto-synchronization in a packet data communication system

Also Published As

Publication number Publication date
DE60119080D1 (de) 2006-06-01
WO2001054343A2 (en) 2001-07-26
JP4694079B2 (ja) 2011-06-01
DE60119080T2 (de) 2006-11-30
EP1252737A2 (en) 2002-10-30
TW563321B (en) 2003-11-21
JP2003521153A (ja) 2003-07-08
EP1252737B1 (en) 2006-04-26
HK1051097A1 (en) 2003-07-18
US7003114B1 (en) 2006-02-21
ATE324722T1 (de) 2006-05-15
KR100840146B1 (ko) 2008-06-23
MY129358A (en) 2007-03-30
AU2001232877A1 (en) 2001-07-31
HK1051097B (zh) 2006-11-10
US7474749B2 (en) 2009-01-06
US20060126844A1 (en) 2006-06-15
WO2001054343A3 (en) 2002-01-17
KR20030009340A (ko) 2003-01-29

Similar Documents

Publication Publication Date Title
ES2266155T3 (es) Metodo y aparato para lograr la sincronizacion criptografica en un sistema de comunicacion por paquetes de datos.
ES2375947T3 (es) Procedimiento y dispositivo de reducción de latencia de voz en un sistema de comunicación inal�?mbrico de voz/datos.
ES2836220T3 (es) Sistema y procedimiento de recuperación de errores de transmisión de paquetes basada en redundancia
EP1796345B1 (en) Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
JP3351533B2 (ja) 可変遅延チャンネル上に時間に敏感なメッセージを与える方法および装置
JP2518765B2 (ja) 音声符号化通信方式及びその装置
US20230199382A1 (en) Method and device for transmitting audio data based on Bluetooth Low Energy
US20020172364A1 (en) Discontinuous transmission (DTX) controller system and method
US20200359263A1 (en) Data processing apparatus, data processing method, and program
JP2003500886A (ja) 動的前進型誤信号訂正方法
JPH11503275A (ja) タンデムボコード処理の検出と回避のための方法および装置
US10020914B2 (en) Methods and apparatus for maximum utilization of a dynamic varying digital data channel
US6252898B1 (en) Spread spectrum communication method and system wherein data rate of data to be transmitted is changed in accordance with transmission quality
JPS6333027A (ja) 音声デジタル信号伝送方式
Heron et al. Video transmission over a radio link using H. 261 and DECT
EP2512057A2 (en) Voice communication apparatus and method
US8055980B2 (en) Error processing of user information received by a communication network
JPH10285074A (ja) 通信機能を持つ情報携帯端末機
JPS59171248A (ja) デイジタル信号伝送装置
JP3113455B2 (ja) 音声復号装置
JP2823407B2 (ja) 音声復号装置
Ramsey A software based APCO Project 25 data transmission base station for local police headquarters
JPH06244809A (ja) Adpcmコーデック
JPH11177649A (ja) 送信機及び受信機
JPH10341279A (ja) 符号蓄積機能付復号装置