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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04K—SECRET COMMUNICATION; JAMMING OF COMMUNICATION
- H04K1/00—Secret communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/12—Transmitting 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.
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.
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.
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.
más 1.
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.
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).
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.
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.
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.
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)
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)
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 |
-
2000
- 2000-01-20 US US09/489,194 patent/US7003114B1/en not_active Expired - Lifetime
-
2001
- 2001-01-19 MY MYPI20010259A patent/MY129358A/en unknown
- 2001-01-19 KR KR1020027009289A patent/KR100840146B1/ko active IP Right Grant
- 2001-01-19 ES ES01904948T patent/ES2266155T3/es not_active Expired - Lifetime
- 2001-01-19 EP EP01904948A patent/EP1252737B1/en not_active Expired - Lifetime
- 2001-01-19 WO PCT/US2001/001893 patent/WO2001054343A2/en active IP Right Grant
- 2001-01-19 AT AT01904948T patent/ATE324722T1/de not_active IP Right Cessation
- 2001-01-19 DE DE60119080T patent/DE60119080T2/de not_active Expired - Lifetime
- 2001-01-19 AU AU2001232877A patent/AU2001232877A1/en not_active Abandoned
- 2001-01-19 JP JP2001553710A patent/JP4694079B2/ja not_active Expired - Fee Related
- 2001-01-19 TW TW090101296A patent/TW563321B/zh not_active IP Right Cessation
-
2003
- 2003-03-13 HK HK03101830.9A patent/HK1051097B/zh not_active IP Right Cessation
-
2006
- 2006-02-06 US US11/349,420 patent/US7474749B2/en not_active Expired - Fee Related
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) | 符号蓄積機能付復号装置 |