ES2883721T3 - Métodos y sistemas para transmisión de datos arbitrarios a través de conexiones de audio de HFP Bluetooth con baja latencia - Google Patents

Métodos y sistemas para transmisión de datos arbitrarios a través de conexiones de audio de HFP Bluetooth con baja latencia Download PDF

Info

Publication number
ES2883721T3
ES2883721T3 ES16754260T ES16754260T ES2883721T3 ES 2883721 T3 ES2883721 T3 ES 2883721T3 ES 16754260 T ES16754260 T ES 16754260T ES 16754260 T ES16754260 T ES 16754260T ES 2883721 T3 ES2883721 T3 ES 2883721T3
Authority
ES
Spain
Prior art keywords
bit
data
binary
sequence
byte
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16754260T
Other languages
English (en)
Inventor
Steven Seltzer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nagravision SARL
Original Assignee
Nagravision SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagravision SA filed Critical Nagravision SA
Application granted granted Critical
Publication of ES2883721T3 publication Critical patent/ES2883721T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6033Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
    • H04M1/6041Portable telephones adapted for handsfree use
    • H04M1/6058Portable telephones adapted for handsfree use involving the use of a headset accessory device connected to the portable telephone
    • H04M1/6066Portable telephones adapted for handsfree use involving the use of a headset accessory device connected to the portable telephone including a wireless connection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M3/00Conversion of analogue values to or from differential modulation
    • H03M3/02Delta modulation, i.e. one-bit differential modulation
    • H03M3/022Delta modulation, i.e. one-bit differential modulation with adaptable step size, e.g. adaptive delta modulation [ADM]
    • H03M3/024Delta modulation, i.e. one-bit differential modulation with adaptable step size, e.g. adaptive delta modulation [ADM] using syllabic companding, e.g. continuously variable slope delta modulation [CVSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/02Details of telephonic subscriber devices including a Bluetooth® interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

Un método que comprende: obtener una secuencia de datos binarios en un dispositivo (102) de comunicación para transmisión a través de un enlace de datos Bluetooth configurado de acuerdo con un perfil Bluetooth basado en códec de audio, en donde un códec de audio está configurado para recibir un byte de datos de múltiples bits y emitir un único bit que indica si el byte de datos de múltiples bits recibido es mayor o menor que un byte de referencia de salida anterior; generar una secuencia de bytes de datos de múltiples bits con base en la secuencia de datos binarios; proporcionar la secuencia de bytes de datos de múltiples bits al códec de audio para inducir al códec a generar una secuencia binaria de un bit por muestra representativa de la secuencia de datos binarios; la secuencia binaria de un bit por muestra comprende un único bit de datos o una cadena de múltiples bits de datos que corresponden a cada bit de datos en la secuencia de datos binarios; y, transmitir la secuencia binaria de un bit por muestra generada a través del enlace de datos Bluetooth.

Description

DESCRIPCIÓN
Métodos y sistemas para transmisión de datos arbitrarios a través de conexiones de audio de HFP Bluetooth con baja latencia
Referencia cruzada con solicitudes relacionadas
Esta solicitud reivindica la prioridad de la Solicitud de los Estados Unidos No. 14/849,284, presentada el 9 de septiembre de 2015 y titulada "METHODS AND SYSTEMS FOR TRANSMISSION OF ARBITRARY DATA VIA BLUETOOTH HFP AUDIO CONNECTIONS WITH LOW LATENCY”.
Antecedentes
Las personas se comunican de manera inalámbrica y sobre la marcha. Entre los dispositivos que hacen esto posible están los que a veces se denominan como dispositivos móviles personales. Ejemplos de dispositivos móviles personales incluyen teléfonos celulares, teléfonos inteligentes, walkie-talkies, y puntos de conexión portátiles, entre otros. Un dispositivo móvil personal puede ser de mano (como puede ser el caso de un walkie-talkie), montado en el cuerpo, o unido a un vehículo (tal como el techo de un coche), como ejemplos.
Dada la relativa facilidad con la cual se pueden interceptar señales de radio, la comunicación con (o entre) dispositivos móviles personales a menudo se encripta para evitar la interceptación de la comunicación por terceros. En la comunicación de voz, la encriptación se usa para convertir datos de voz en datos ininteligibles, mientras que la desencriptación es el proceso de convertir los datos ininteligibles de vuelta a los datos de voz originales, que luego se pueden usar para generar voz audible. Los algoritmos respectivos usados para la encriptación y desencriptación a menudo se denominan en conjunto como un cifrado. Ejemplos de cifrados comunes incluyen Estándar de Encriptación Avanzada (AES), Blowfish, Algoritmo de Encriptación de Datos Triple (3DES), y RC4, entre numerosos otros.
Muchos dispositivos se comunican localmente usando protocolos Bluetooth. Bluetooth es un protocolo de comunicación estandarizado para intercambiar datos sobre una distancia corta entre dispositivos. Típicamente, Bluetooth usa una banda de frecuencias entre 2.4-2.485GHz. Se han desarrollado muchos perfiles de comunicación para Bluetooth, incluyendo Perfil de Distribución de Audio Avanzado (A2DP), Perfil de Control Remoto de Audio/Vídeo (AVRCP), Perfil de Transferencia de Archivos (FTP), Perfil de Manos Libres (HFP), Perfil de Auricular (HSP), Perfil de Red de Área Personal (PAN), así como muchos otros. Bluetooth es muy popular para las comunicaciones locales debido a su bajo consumo de potencia, rango de hasta 100 metros, y facilidad de uso.
El documento US 2013/242810 A1 muestra un método de transmisión de datos digitales sobre un enlace Bluetooth.
Visión general
La invención está definida por las reivindicaciones anexas. En este documento se describen métodos y sistemas para comunicación entre un dispositivo de comunicación que tiene un códec basado en audio y un punto final local, en donde un usuario puede no tener control sobre el códec basado en audio. Al menos una realización toma la forma de un método que comprende obtener una secuencia de datos binarios en un dispositivo de comunicación para transmisión a través de un enlace de datos Bluetooth configurado de acuerdo con un perfil Bluetooth basado en códec de audio, en donde un códec de audio está configurado para recibir un byte de datos de múltiples bits y emitir un único bit que indica si el byte de datos de múltiples bits recibido es mayor o menor que un byte de referencia de salida anterior, generando una secuencia de bytes de datos de múltiples bits con base en la secuencia de datos binarios, proporcionando la secuencia de bytes de datos de múltiples bits al códec de audio para inducir al códec a generar una secuencia binaria de un bit por muestra representativa de la secuencia de datos binarios, y transmitiendo la secuencia binaria de un bit por muestra generada a través del enlace de datos Bluetooth.
Al menos una realización toma la forma de un dispositivo de comunicación que incluye una interfaz de comunicación, procesador, y almacenamiento de datos que contiene instrucciones ejecutables por el procesador para hacer que el dispositivo de comunicación lleve a cabo al menos las funciones descritas en el párrafo precedente. Además, cualquiera de las variaciones y permutaciones descritas en los párrafos siguientes y en cualquier otro lugar en esta divulgación se puede implementar con respecto a cualquier realización, incluyendo con respecto a cualquier realización de método y con respecto a cualquier realización de sistema.
En al menos una realización, la secuencia binaria de un bit comprende un único bit de datos que corresponde a cada bit de datos en la secuencia de datos binarios.
En al menos una realización, la secuencia binaria de un bit por muestra comprende una cadena de múltiples bits de datos que corresponden a cada bit de datos en la secuencia de datos binarios. En una realización adicional, la secuencia binaria de un bit por muestra comprende un primer patrón de bits para un primer valor lógico de la secuencia de datos binarios y un segundo patrón de bits para un segundo valor lógico de la secuencia de datos binarios. En otra realización adicional, la fase de la secuencia binaria de un bit por muestra es ajustable.
En al menos una realización, los datos binarios son datos de audio encriptados generados por un dispositivo remoto.
En al menos una realización, el códec de audio realiza una conversión Delta de Pendiente Continuamente Variable (CVSD).
En al menos una realización, los bytes de datos de múltiples bits son palabras de datos de al menos 13 bits proporcionadas a una tasa de 64 kilo Hz, y la secuencia binaria de un bit por muestra generada es 64,000 bits por segundo (64kbps).
En al menos una realización, los bits de entramado se agregan a los datos binarios. En tal realización adicional, los bits de entramado comprenden un bit de inicio, y un bit de parada.
En al menos una realización, los bits de paridad se agregan a los datos binarios.
En al menos una realización, el perfil Bluetooth es un Perfil de Manos Libres (HFP).
En al menos una realización, el dispositivo de comunicación se selecciona desde el grupo que consiste en un teléfono inteligente, un auricular, un ordenador portable, una puerta de acceso de audio, una unidad de manos libres, y un ordenador tipo tableta.
En al menos una realización, el método comprende además recibir un flujo de bits codificado de un bit por muestra a través del enlace de datos Bluetooth, convertir el flujo de bits codificado de un bit en una secuencia de bytes de múltiples bits, descodificar la secuencia de bytes de múltiples bits en datos binarios recibidos, y ya sea (i) desencriptar los datos binarios recibidos en datos de audio, o (ii) retransmitir los datos binarios recibidos a un dispositivo de comunicación remoto.
Un método de acuerdo con una realización comprende obtener una secuencia de datos de bits binarios, en un dispositivo periférico, para transmisión desde el dispositivo periférico a través de un enlace de audio Bluetooth a un dispositivo de comunicación, el dispositivo de comunicación configurado para procesar datos desde el enlace de audio Bluetooth de acuerdo con un perfil Bluetooth basado en códec de audio, en donde un códec de audio está configurado para emitir una secuencia de bytes de datos de múltiples bits con base en una secuencia recibida de bits únicos, indicando cada bit de la secuencia de único bit si la siguiente salida de bytes de datos de múltiples bits es mayor o menor que un byte de datos de referencia anterior, para cada bit binario en la secuencia de datos de bits binarios, generando una secuencia de bits únicos configurada para inducir al códec de dispositivo de comunicación a generar una secuencia deseada de bytes de datos de múltiples bits, y transmitiendo la secuencia de único bit generada a través del enlace de datos Bluetooth al dispositivo de comunicación.
En al menos una realización, la secuencia de bits únicos es igual a la secuencia de datos de bits binarios. En al menos una realización, la secuencia de bits únicos comprende una cadena de múltiples bits únicos que corresponden a cada bit de datos en la secuencia de datos binarios.
En al menos una realización, la secuencia de bits únicos comprende un primer patrón de bits para un primer valor lógico de la secuencia de datos binarios y un segundo patrón de bits para un segundo valor lógico de la secuencia de datos binarios. En tal realización adicional, la fase de la cadena de múltiples bits de datos es ajustable.
En al menos una realización, los datos binarios son datos de audio encriptados generados por un dispositivo remoto. La visión general anterior se proporciona a modo de ejemplo y no de limitación, ya que los que tienen experiencia normal en la técnica relevante pueden implementar bien los sistemas y métodos divulgados usando uno o más componentes, estructuras, dispositivos equivalentes, y similares, y pueden combinar y/o distribuir ciertas funciones de formas equivalentes aunque diferentes, sin apartarse del alcance y espíritu de esta divulgación.
Breve descripción de los dibujos
En este documento se describen diversas realizaciones de ejemplo con referencia a los siguientes dibujos, en los cuales números similares denotan entidades similares, y en los cuales:
La figura 1 representa un sistema de comunicación, de acuerdo con al menos una realización.
La figura 2 representa un diagrama de bloques de un dispositivo de comunicación, de acuerdo con al menos una realización.
La figura 3 representa un diagrama de bloques de un punto final local, de acuerdo con al menos una realización. La figura 4A representa un ejemplo de la técnica anterior de un codificador Delta de Pendiente Variable Continua (CVSD).
La figura 4B representa un ejemplo de la técnica anterior de un descodificador CVSD.
La figura 5 representa un sistema de acuerdo con al menos una realización.
La figura 6 representa un diagrama de bloques de un secuenciador de bytes, de acuerdo con al menos una realización.
La figura 7 representa un diagrama de bloques de un generador de bytes, de acuerdo con al menos una realización.
La figura 8 representa un diagrama de bloques de un generador de bits, de acuerdo con al menos una realización.
Las figuras 9A-9D representan secuencias binarias de un bit por muestra de ejemplo, de acuerdo con al menos una realización.
La figura 10 representa un sistema de acuerdo con al menos una realización.
Descripción detallada
Los presentes sistemas y métodos se describirán ahora con referencia a las figuras. Debe entenderse, sin embargo, que son posibles numerosas variaciones de las disposiciones y funciones representadas mientras que permanezcan dentro del alcance de las reivindicaciones. Por ejemplo, se pueden agregar, eliminar, combinar, distribuir, sustituir, reposicionar, reordenar, y/o cambiar de otro modo uno o más elementos. Adicionalmente, cuando esta descripción se refiere a una o más funciones que se implementan en y/o por uno o más dispositivos, una o más máquinas, y/o una o más redes, debe entenderse que una o más de tales entidades pueden llevar a cabo una o más de tales funciones por sí mismas o en cooperación, y pueden hacerlo mediante aplicación de cualquier combinación adecuada de hardware, firmware, y/o software. Por ejemplo, uno o más procesadores pueden ejecutar uno o más conjuntos de instrucciones de programación como al menos parte de llevar a cabo una o más de las funciones descritas en este documento.
La figura 1 representa un sistema de comunicación, de acuerdo con al menos una realización. Como se muestra, un sistema 100 de comunicación incluye un dispositivo 102 de comunicación, un punto final 104 local, y un punto final 106 remoto.
El dispositivo 102 de comunicación puede tomar la forma de, por ejemplo, un ordenador personal, un ordenador de escritorio, un ordenador portable, un ordenador portátil, un ordenador tipo tableta, un ordenador de mano, un ordenador de uso personal, un asistente digital personal (PDA), un teléfono con funciones, una pantalla óptica montada en la cabeza (OHMd ), y/o un reloj inteligente, entre numerosas otras posibilidades que conocerán los expertos en la técnica. En la realización ilustrada en la Figura 1, el dispositivo 102 de comunicación toma la forma de un teléfono inteligente. En algunas realizaciones, el dispositivo 102 de comunicación puede integrarse en un vehículo, tal como un automóvil, aeronave, embarcación soportados por Bluetooth.
El punto final 104 local puede tomar la forma de un auricular (tal como un auricular Bluetooth), un accesorio montado en dispositivo de comunicación (tal como un estuche o funda), y/o cualquier otra entidad capaz de llevar a cabo las funciones de punto final local descritas en este documento.
Como se muestra en la Figura 1, el dispositivo 102 de comunicación está conectado comunicativamente al punto final 104 local a través de un enlace 110 de comunicación local. En una realización, el enlace de comunicación local toma la forma de un enlace de comunicación Bluetooth, aunque el enlace también puede tomar otras formas.
El punto final 106 remoto puede ser cualquier dispositivo adecuado (o combinación de dispositivos) configurado para realizar las funciones de punto final remoto descritas en este documento. En la realización ilustrada en la figura 1, el punto final 106 remoto toma la forma de un dispositivo 118 de comunicación de punto final remoto y un accesorio 116 de punto final remoto que están conectados comunicativamente a través de un enlace 120 de comunicación. El accesorio 116, dispositivo 118, y enlace 120 de comunicación pueden ser similares en función y/o estructura al punto final 104 local, dispositivo 102 de comunicación, y enlace 110 de comunicación local (respectivamente), como ejemplos. En otras configuraciones, el punto final 106 remoto puede tomar la forma de un teléfono criptográfico, un intercambio de sucursales privadas (PBX), un protocolo de Internet de PBX (IP-PBX), y/o cualquier otra entidad capaz de llevar a cabo las funciones de punto final remoto descritas.
El dispositivo 102 de comunicación puede proporcionar datos de control de sesión de medios de punto final local al punto final 104 local a través del enlace de comunicación local. El control de sesión de medios de punto final local puede basarse en los datos de control de sesión de medios, por ejemplo, y puede incluir una clave criptográfica (por ejemplo, una clave pública), una firma digital (por ejemplo, de una clave criptográfica y/o de datos de carga útil de sesión de medios), metadatos de sesión de medios, y/o metadatos de datos de carga útil, entre otras posibilidades. Tales datos de control de sesión de medios de punto final local pueden ser usados por el punto final 104 local para encriptar y/o desencriptar datos de carga útil de sesión de medios por ejemplo.
En una realización, el enlace 110 de comunicación local toma la forma de un enlace de comunicación Bluetooth y proporcionar datos de control de sesión de medios de punto final local al punto final 104 local a través del enlace de comunicación local toma la forma de proporcionar los datos de control de sesión de medios de punto final local a través del enlace de comunicación Bluetooth. Proporcionar los datos de control de sesión de medios de punto final local a través del enlace de comunicación Bluetooth puede incluir proporcionar los datos de control de sesión de medios de punto final local de acuerdo con un segundo perfil Bluetooth que es diferente del primer perfil Bluetooth. El segundo perfil Bluetooth puede tomar la forma de (o incluir) un Perfil de Puerto Serie (SPP) y/o un perfil Bluetooth sin audio, como ejemplos.
La figura 2 representa un diagrama de bloques de un dispositivo de comunicación, de acuerdo con al menos una realización. Como se muestra, el dispositivo 102 de comunicación incluye un procesador 202, almacenamiento 204 de datos, una interfaz 206 de comunicación, y una interfaz 208 de usuario, cada uno de los cuales está interconectado a través de un bus 210 de sistema. En la realización ilustrada en la figura 1, el punto final 106 remoto toma la forma de un teléfono de escritorio criptográfico. Aquellos que tengan experiencia en la técnica relevante apreciarán que el dispositivo 102 de comunicación puede tener componentes adicionales y/o diferentes, y quizás una disposición diferente de componentes, entre muchas otras posibles variaciones que se pueden enumerar aquí.
El procesador 202 puede incluir uno o más procesadores de cualquier tipo considerado adecuado por los expertos en la técnica relevante, incluyendo algunos ejemplos un microprocesador, un circuito integrado de aplicación específica (ASIC), y un procesador de señales digitales (DSP).
El almacenamiento 204 de datos puede tomar la forma de cualquier medio legible por ordenador no transitorio o combinación de tales medios, incluyendo algunos ejemplos memoria flash, memoria de solo lectura (ROM), y memoria de acceso aleatorio (RAM) por nombrar solo algunos, ya que pueden usarse uno cualquiera o más tipos de tecnología de almacenamiento de datos no transitorios considerados adecuados por los expertos en la técnica relevante.
Como se representa en la Figura 2, el almacenamiento 204 de datos contiene instrucciones 212 de programa que son ejecutables por el procesador 202 para llevar a cabo diversas funciones, aunque el almacenamiento 204 de datos puede contener datos diferentes y/o adicionales. En una realización en la cual el dispositivo 102 de comunicación está configurado para llevar a cabo uno o más procesos y/o funciones (tales como los procesos y funciones descritos con referencia a la Figura 1), las instrucciones 212 de programa son ejecutables por el procesador 202 para llevar a cabo esas funciones. En los casos donde otras entidades descritas en este documento tienen una estructura similar a la del dispositivo 102 de comunicación como se describe en relación con al menos la Figura 3, las respectivas instrucciones 212 de programa almacenadas por los respectivos almacenamientos 204 de datos de esos respectivos dispositivos son ejecutables por sus respectivos procesadores 202 para llevar a cabo funciones realizadas por esos dispositivos.
La interfaz 206 de comunicación puede incluir cualquier hardware necesario (por ejemplo, conjuntos de chips, antenas, tarjetas Ethernet, etc.) y/o software para realizar una o más formas de comunicación con uno u otros más componentes y/o entidades (tales como punto final 104 local y punto final 106 remoto, como ejemplos). La interfaz 206 de comunicación puede configurarse para comunicarse de acuerdo con uno o más protocolos tales como Bluetooth, NFC, Asociación de Datos Infrarrojos (IrDA), ZigBee, Wi-Fi, Bus Universal en Serie (USB), IEEE 1394 (FireWire), y/o IEEE 802.3 (Ethernet)), como ejemplos.
La interfaz 208 de usuario puede incluir una o más pantallas, monitores táctiles, altavoces, micrófonos, teclas de marcación, botones, conmutadores, diodos emisores de luz (LEDs), y similares. Uno o más componentes de interfaz de usuario (por ejemplo, un componente interactivo de monitor táctil y pantalla) pueden proporcionar tanto funcionalidad de entrada de usuario como de salida de usuario. Y otros componentes de interfaz de usuario pueden implementarse en un contexto dado, como se conoce por los expertos en la técnica.
La figura 3 representa un diagrama de bloques de un punto final local, de acuerdo con al menos una realización. Como se muestra, el punto final 104 local incluye un procesador 302, almacenamiento 304 de datos, una interfaz 306 de comunicación local, una interfaz 308 de usuario, y un módulo 310 criptográfico, cada uno de los cuales está interconectado a través de un bus 312 de sistema. Aquellos que tengan experiencia en la técnica relevante apreciarán que el punto final 104 local puede tener componentes adicionales y/o diferentes, y quizás una disposición diferente de componentes, entre muchas otras variaciones posibles que pueden enumerarse aquí. El procesador 302, almacenamiento 304 de datos, interfaz 306 de comunicación local, y/o interfaz 308 de usuario pueden funcionar de una manera similar a las entidades de nombre similar del dispositivo 102 de comunicación, como se describe (por ejemplo) con respecto a la figura 2 anteriormente.
El módulo 310 criptográfico puede incluir hardware y/o software para realizar funciones o procesos criptográficos por ejemplo, encriptación, desencriptación, generación de firmas, verificación de firmas, y/o generación de claves. En una realización, el módulo 310 criptográfico está contenido dentro de un perímetro definido explícitamente que establece los límites físicos del módulo criptográfico y que contiene cualquier procesador y/u otros componentes de hardware que almacenan y protegen cualquier componente de software y firmware del módulo criptográfico. El módulo 310 criptográfico puede tomar la forma de (o incluir) un criptoprocesador seguro, una tarjeta inteligente, una tarjeta digital segura (SD), una tarjeta microSD, una tarjeta de módulo de identidad de suscriptor (SIM), y/o cualquier otro módulo criptográfico, como se conoce por un experto en la técnica.
Códec CVSD
En al menos una realización, el punto final 104 local se comunica con el dispositivo 102 de comunicación usando un Perfil de Manos Libres (HFP) Bluetooth. En algunas realizaciones, el HFP usa un protocolo conocido por los expertos en la técnica como modulación Delta de Pendiente Continuamente Variable (CVSD), que se usa para comunicar datos de audio desde el dispositivo Bluetooth al dispositivo de comunicación (o viceversa). Realizaciones en este documento describen el uso con un protocolo de modulación CVSD, sin embargo los expertos en la técnica conocen que se pueden hacer modificaciones menores para proporcionar realizaciones para otros códecs basados en audio. La figura 4A representa un diagrama de bloques de ejemplo de un codificador 400 CVSD conocido. Como se muestra la entrada de bytes de datos de múltiples bits x(k) ingresa a la unidad 402 de combinación junto con la muestra de referencia de bytes de datos de múltiples bits almacenada dentro del acumulador 404 x (k-1). b(k) corresponde a un bit que representa la salida dividida de la comparación (es decir b(k) = sgn(x(k)-x(k-1), donde sgn(x) corresponde a la función de signo por ejemplo sgn(x) = 1 para x > 0, de lo contrario sgn(x) = -1). El acumulador 404 entonces lee en el valor b(k) y una señal de control de tamaño de etapa 8 (k), que suma o resta 5(k) desde la muestra de referencia actual del acumulador 404 si b(k) es 1 o -1, respectivamente, actualizando de este modo la muestra de referencia dentro del codificador. La unidad 406 de control de tamaño de etapa monitoriza b(k) (por ejemplo para salidas consecutivas '1' o '0') y ajusta la magnitud de 8(k) en consecuencia. Se lee una nueva entrada x(k) y el proceso se repite. En un sistema CVSD estándar, la entrada x(k) puede ser un byte de múltiples bits leído a 64kHz, mientras que b(k) es una salida de flujo de único bit a una tasa de 64kHz.
La figura 4B representa un diagrama de bloques de ejemplo de un descodificador 407 CVSD conocido. El descodificador recibe el flujo de único bit b(k) a una tasa de 64kHz. El descodificador también incluye un acumulador 408, que se inicializa para ser igual al acumulador 404 en el codificador. En algunas realizaciones, el acumulador se comparte entre el codificador y el descodificador para un único CÓDEC. En algunas realizaciones, las referencias fuera de sincronización pueden converger con el tiempo debido a un factor de declinación asociado con los acumuladores. La muestra de referencia dentro del acumulador 408 se incrementa/decrementa con base en el tamaño de etapa 8(k) y el bit de entrada b(k). La unidad 410 de control de tamaño de etapa del descodificador está sincronizada con la unidad 406 de control de tamaño de etapa del codificador. Similar al acumulador, un único CÓDEC CVSD puede compartir una unidad de control de tamaño de etapa. En algunas realizaciones de CVSD, un flujo de bytes de datos de múltiples bits puede emitirse desde el acumulador 408 a una tasa de 64kHz. En otras realizaciones (tales como en algunos perfiles Bluetooth), los bytes de datos de múltiples bits se emiten a una tasa de 8kHz.
En al menos una realización, se desea transmitir datos binarios, o quizás datos binarios encriptados, en lugar de datos de audio sin procesar. Como se conoce por un experto en la técnica, el método de CVSD descrito anteriormente puede proporcionar una salida que sea un flujo de datos de bytes de múltiples bits aproximado, sin embargo la salida del descodificador CVSD no será exactamente la misma que la entrada de datos al codificador CVSD. De este modo, si se intenta enviar datos sobre tal enlace, esto provocaría errores de datos. Por lo tanto, se deben hacer modificaciones con el fin de lograr una reconstrucción perfecta de los datos enviados.
Arquitectura de sistema de ejemplo
La figura 5 representa un aparato de acuerdo con al menos una realización. Como se muestra, la figura 5 incluye un dispositivo 102 de comunicación y un punto final 104 local. Como se muestra, el dispositivo 102 de comunicación incluye un secuenciador 510 de bytes, Codificador 515 CVSD, y transceptor 520 Bluetooth. El punto final 104 local incluye un secuenciador 540 de bytes, Descodificador 535 CVSD, y transceptor 530 Bluetooth. La figura 5 representa datos que se envían desde el dispositivo 102 de comunicación al punto final 104 local para claridad, sin embargo se entiende que las realizaciones incluyen comunicación bidireccional.
Como se muestra, el dispositivo 102 de comunicación proporciona una secuencia 505 de datos binarios al secuenciador 510 de bytes. En al menos una realización, la secuencia 505 de datos binarios es un flujo en serie de único bit de ancho. En al menos una realización, la secuencia 505 de datos binarios representa datos encriptados. En una realización adicional, los datos encriptados representan audio encriptado. El secuenciador 510 de bytes está configurado para recibir datos 505 binarios, y generar en respuesta una secuencia de bytes de múltiples bits. El codificador 515 CVSD recibe la secuencia de bytes de múltiples bits y genera en respuesta una secuencia 525 binaria de un bit por muestra que representa la secuencia de datos binarios. Cada bit en la secuencia 525 binaria de un bit por muestra indica si un byte de datos de múltiples bits recibido es mayor o menor que un byte de referencia de salida anterior. La secuencia 525 binaria de un bit por muestra se transmite a través del transceptor 520 Bluetooth al transceptor 530 Bluetooth en el punto final 104 local. El descodificador 535 CVSD recibe la secuencia binaria de un bit por muestra y genera en respuesta una secuencia de bytes de datos de múltiples bits. La secuencia de bytes de datos de múltiples bits es recibida por el secuenciador 540 de bytes, que genera en respuesta una secuencia 545 de datos binarios, que es una versión replicada de la secuencia 505 de datos binarios.
La figura 6 representa el secuenciador 510 de bytes, de acuerdo con al menos una realización. Como se muestra, el secuenciador 510 de bytes incluye un generador 605 de bytes, un generador 610 de bits, y un módulo 615 de tamaño de etapa. Debe anotarse que el secuenciador 510 de bytes podría incluir cualquier combinación de componentes mostrados, así como componentes adicionales como se conocen por un experto en la técnica. En al menos una realización, el generador 605 de bytes está configurado para recibir un bit de una secuencia de datos binarios y generar en respuesta un byte de datos de múltiples bits de una secuencia de bytes de datos de múltiples bits para ser enviado a un codificador CVSD. En al menos una realización, el generador 610 de bits está configurado para recibir un byte de datos de múltiples bits de una secuencia de bytes de datos de múltiples bits desde un descodificador CVSD y generar en respuesta un bit de una secuencia de datos binarios. En algunas realizaciones, el generador 605 de bytes puede recibir información de tamaño de etapa con el fin de tener en cuenta un tamaño de etapa/incremento usado por los CÓDECs CVSD debido a los bits repetidos cuando se generan bytes de datos de múltiples bits. En algunas realizaciones, el generador 605 de bytes puede recibir el valor de la muestra de referencia actual dentro del CÓDEC CVSD como una referencia (o retroalimentación) cuando se genera el siguiente byte de datos de múltiples bits.
La figura 7 representa el generador 605 de bytes, de acuerdo con al menos una realización. Como se muestra, el generador 605 de bytes incluye el módulo 702 de establecimiento de patrones, y generador 706. Debe anotarse que el generador 605 de bytes podría incluir la combinación de componentes mostrados, así como cualquier componente adicional como se conoce por un experto en la técnica. El generador 706 recibe al menos una entrada y genera en respuesta un byte de datos de múltiples bits. En al menos una realización, el módulo 702 de establecimiento de patrones recibe un único bit de una secuencia de datos binarios y genera un patrón de secuencia de bits que representa el bit único de la secuencia 505 de datos binarios recibida para ser usado por el generador 706 cuando se forman bytes de datos de múltiples bits. En algunas realizaciones, el patrón de secuencia de bits se emite desde el módulo 702 de establecimiento de patrones a una tasa más rápida que la tasa a la cual el módulo 702 de establecimiento de patrones recibe cada bit de la secuencia de datos binarios (por ejemplo si cada bit único se recibe a 32kHz, entonces el módulo de establecimiento de patrones puede generar pares de bits, cada bit del par de bits a una tasa de 64kHz para mantener el mismo rendimiento). En al menos una realización, cada bit de la secuencia binaria de un bit por muestra está representado por un patrón de secuencia de dos o más bits. Dependiendo de cuántos bits en el patrón de secuencia de dos o más bits, así como cuál es el patrón de secuencia (por ejemplo 111, 000, 101, 010), el generador 706 puede necesitar generar bytes de datos de múltiples bits que tengan una diferencia mayor/menor entre ellos. Se dan ejemplos de diferentes patrones de secuencia de datos binarios en los párrafos a continuación. En al menos una realización, el módulo 702 de establecimiento de patrones proporciona un único bit binario al generador 706 para indicar si el siguiente byte de datos de múltiples bits necesita ser mayor o menor que el byte de datos transmitido previamente. En al menos una realización, el generador 706 recibe el valor de la muestra de referencia actual del codificador CVSD con el fin de generar el siguiente byte de datos de múltiples bits. En algunas realizaciones, el generador de bytes puede incluir un registro de referencia configurado para almacenar un byte de datos de múltiples bits generado previamente con el fin de generar el siguiente byte de datos de múltiples bits. En al menos una realización, el generador 706 también puede recibir una entrada que indique un tamaño de etapa actual usado por los CÓDECs CVSD para asegurar que se usa una magnitud suficiente para generar bytes de datos de múltiples bits.
La figura 8 representa el generador 610 de bits, de acuerdo con al menos una realización. Como se muestra, el generador 610 de bits incluye la muestra 805 de referencia actual, muestra 810 de referencia previa, y unidad 815 de comparación. La muestra 805 de referencia actual y muestra 810 de referencia previa pueden almacenarse dentro de registros, como cargas eléctricas en condensadores, o cualquier otra forma conocida por un experto en la técnica. La unidad de comparación acepta la muestra 805 de referencia actual desde el descodificador CVSD y la compara con la muestra 810 de referencia previa usando la unidad 815 de comparación y emite un bit único con base en el resultado. En al menos una realización, la unidad 815 comparadora emite un '1' binario si el byte de datos actual es mayor que el byte de datos previo, y emite un '0' binario si el byte de datos previo es mayor que el byte de datos actual. La muestra 805 de referencia actual se almacena entonces como la muestra 810 de referencia previa antes de que se lea un nuevo byte de datos de múltiples bits desde el descodificador CVSD. En algunas realizaciones, el generador 610 de bits incluye un módulo 820 de establecimiento de patrones que puede ser similar en arquitectura al módulo 702 de establecimiento de patrones dentro del generador 605 de bytes.
Realizaciones adicionales
En las siguientes realizaciones, se supone que la secuencia binaria de un bit por muestra transmitida entre receptores Bluetooth se transmite a una tasa de 64 kHz. Sin embargo, la tasa a la cual los CÓDECs CVSD muestrean/emiten bytes de datos de múltiples bits puede variar, limitando de este modo el rendimiento global. En al menos una realización, cada bit de la secuencia binaria de un bit por muestra está representado por un patrón de secuencia de uno o más bits emitidos desde el codificador CVSD durante un período de muestra. Los siguientes párrafos dan realizaciones que usan diferentes tasas de recepción/salida de CÓDEC.
En una primera realización, los CÓDECs CVSD están configurados para muestrear/emitir una secuencia de bytes de datos de múltiples bits a una tasa de 64kHz. Con referencia a la figura 5, el secuenciador 510 de bytes recibe la secuencia 505 de datos binarios a un rendimiento de 64,000 bits por segundo (bps) (que también puede denotarse como 64 kbps en este documento) y emite bytes de datos de múltiples bits a 64kHz. En algunas realizaciones, los bytes de datos de múltiples bits incluyen bytes de 8-16 bits, sin embargo son posibles bytes de otro tamaño. El codificador 515 CVSD muestrea cada byte de datos de múltiples bits a 64kHz y emite una secuencia 525 binaria de un bit por muestra a 64kHz, que se transmite al transceptor 530 Bluetooth de punto final local a través del transceptor 520 Bluetooth de dispositivo de comunicación. En esta realización, cada bit de la secuencia binaria de un bit por muestra corresponde a una salida de bit respectiva por el codificador 515 CVSD. El descodificador 535 CVSD recibe bits de la secuencia binaria de un bit por muestra a una tasa de 64kHz, incrementa/disminuye un byte de datos de múltiples bits de referencia almacenado con base en cada bit recibido, y emite el byte de datos de múltiples bits almacenado a una tasa de 64kHz. El secuenciador 540 de bytes recibe cada byte de datos de múltiples bits almacenado a una tasa de 64kHz y genera en respuesta una secuencia 545 de datos binarios a una tasa de 64kHz. La figura 9A representa un ejemplo de una secuencia 525 binaria de un bit por muestra de acuerdo con al menos una realización, en donde cada bit de la secuencia 535 binaria de un bit por muestra está representado por una salida de único bit desde el codificador 515 CVSD. En algunas realizaciones, la secuencia 505 de datos binarios se proporciona a una tasa de 32kHz al secuenciador 510 de bytes. El secuenciador 510 de bytes puede entonces formar un patrón de secuencia de un par de bits a una tasa de 64kHz (por ejemplo usando el módulo 702 de establecimiento de patrones descrito anteriormente), donde cada par de bits representa un único bit de secuencia 505 de datos binarios. El proceso de transmisión sigue siendo el mismo, excepto que el secuenciador 540 de bytes puede emitir bits a una tasa de 32kHz, usando un módulo de establecimiento de patrones similar al usado por el secuenciador 510 de bytes. Otras realizaciones pueden reducir además el rendimiento de secuencia 505 de datos binarios y codificar cada bit en tres, cuatro, o más patrones de secuencia de bits, en beneficio de una precisión mejorada de los datos en el extremo receptor. Las secuencias de patrones de ejemplo que pueden usarse se dan en los ejemplos a continuación.
En una segunda realización, al menos uno de los CÓDECs CVSD está configurado para muestrear/emitir una secuencia de bytes de datos de múltiples bits a una tasa de 32kHz mientras que se mantiene la transmisión de la secuencia binaria de un bit por muestra a una tasa de 64kHz.
Caso 1
En un primer caso, tanto el codificador 515 CVSD como el descodificador 535 CVSD operan a 32kHz. Esto limitará el rendimiento global a 32,000 bps, dado que el descodificador 535 CVSD solo puede emitir bytes de datos de múltiples bits al secuenciador 540 de bytes a una tasa de 32kHz, y por lo tanto el secuenciador 540 de bytes solo puede emitir bits a una tasa efectiva de 32kbps. La secuencia 505 de datos binarios puede proporcionarse al secuenciador 510 de bytes a una tasa de 32kHz (para un rendimiento de 32kbps), mientras que el secuenciador 510 de bytes está configurado para emitir bytes de datos de múltiples bits a una tasa de 32kHz. En esta realización, el codificador CVSD muestrea cada byte a una tasa de 32kHz y emite un patrón de secuencia binaria representado como un par de bits por byte de datos de múltiples bits a una tasa de 64kHz. En al menos una realización, cada bit de la secuencia binaria de un bit por muestra está representado por un par de bits (es decir representando cada par de bits un '0' o '1' binario), dando como resultado el rendimiento esperado de 32kbps. El descodificador 535 CVSD está configurado para recibir los pares de bits de la secuencia 525 binaria de un bit por muestra a una tasa de 64kHz, analizar cada par de bits en la secuencia, y emitir una secuencia de bytes de datos de múltiples bits a una tasa de 32kHz. La figura 9B representa una secuencia binaria de un bit por muestra de ejemplo de acuerdo con una realización, en donde cada bit de la secuencia binaria de un bit por muestra se representa como un patrón de secuencia de un par de bits. En esta realización, un '1' binario está representado por un patrón de secuencia de un par de bits '11' mientras que un '0' binario está representado por un patrón de secuencia de un par de bits '00'. En al menos una realización, si una fase del descodificador CVSD está apagada, entonces el secuenciador 510 de bytes puede configurarse para insertar un bit ficticio en la secuencia binaria de un bit por muestra para realinear la fase. En al menos una realización, si el descodificador 535 CVSD está configurado para detectar la secuencia de '00' y '11', pero recibe una secuencia '10' o '01', entonces el secuenciador 510 de bytes puede configurarse para contener un bit de datos binarios recibido de la secuencia 505 de datos binarios para media muestra (1/64k) antes de emitir el byte de datos de múltiples bits que corresponde a la muestra mantenida, insertando de este modo un bit ficticio de tal manera que el descodificador 535 CVSD se realinee y reciba exclusivamente '11' y '00' secuencias de nuevo. También se pueden usar otros métodos de inserción de bits ficticios que serían conocidos por un experto en la técnica. La Tabla 1 muestra posibles patrones de secuencia binaria de pares de bits que pueden usarse para valores binarios de '1' y '0' de acuerdo con al menos una realización:
Tabla 1
Figure imgf000008_0001
Caso 2
En un segundo caso, el codificador 515 CVSD está configurado para recibir bytes de datos de múltiples bits a una tasa de 32 kHz, mientras que el descodificador 535 CVSD está configurado para emitir bytes de datos de múltiples bits a una tasa de 64kHz. En este caso, el flujo 505 de datos binarios que ingresa al secuenciador 510 de bytes puede tener un rendimiento máximo de 32,000 bps (por ejemplo bits únicos a 32 kHz o una secuencia de patrón de pares de bits a 64kHz en donde un par de bits representa un único bit de información). El secuenciador 510 de bytes recibe el flujo 505 de datos binarios y emite una secuencia de bytes de datos de múltiples bits a una tasa de 32 kHz, que es recibida por el codificador 515 CVSD. El codificador CVSD luego emite un patrón de secuencia de un par de bits (como se describe anteriormente) con base en cada byte de datos de múltiples bits recibido y el valor actual de la muestra de referencia dentro del codificador 515 CVSD a una tasa de 64kHz. La secuencia 525 binaria de un bit por muestra de 64kHz producida por el codificador 515 de CVSD se transmite a través del transceptor 520 Bluetooth al transceptor 530 Bluetooth. El descodificador 535 CVSD recibe la secuencia 525 binaria de un bit por muestra de 64kHz y emite una secuencia de bytes de datos de múltiples bits a una tasa de 64kHz. El secuenciador 540 de bytes recibe la secuencia de bytes de datos de múltiples bits y emite el flujo 545 de datos binarios a un rendimiento efectivo de 32,000bps. En una realización, el secuenciador 545 de bytes está configurado para analizar dos bytes de datos de múltiples bits consecutivos y emitir el flujo 545 de datos binarios como un flujo de bits de 32kHz. En otra realización, el secuenciador 540 de bytes emite el flujo 545 de datos binarios como un flujo de 64kHz de patrones de secuencia de pares de bits, correspondiendo cada par de bits a un bit dentro del flujo 505 de datos binarios (en el caso de un flujo de bits único a 32kHz), y la identificación de patrón adicional se hace mediante un procesador, por ejemplo.
Caso 3
En un tercer caso, el codificador 515 CVSD está configurado para recibir bytes de datos de múltiples bits a una tasa de 64kHz, mientras que el descodificador 535 CVSD está configurado para emitir bytes de datos de múltiples bits a una tasa de 32kHz. En este caso, la secuencia 505 de datos binarios se transmite de nuevo a un rendimiento efectivo de 32,000bps. La secuencia 505 de datos binarios es recibida por el secuenciador 510 de bytes, que a su vez emite una secuencia de bytes de datos de múltiples bits a una tasa de 64kHz (por ejemplo, un par de bytes de datos de múltiples bits consecutivos representa un único bit de secuencia de datos binarios, o cada bit de secuencia 505 de datos binarios se transmite como un patrón de secuencia de un par de bits). El codificador 515 CVSD recibe la secuencia de bytes de datos de múltiples bits y emite la secuencia 525 binaria de un bit por muestra a una tasa de 64kHz, que se transmite a través del transceptor 520 Bluetooth al transceptor 530 Bluetooth. El descodificador 535 de CVSD recibe la secuencia 525 binaria de un bit por muestra y emite una secuencia de bytes de datos de múltiples bits a una tasa de 32kHz, después de lo cual el secuenciador 540 de bytes convierte la secuencia de bytes de datos de múltiples bits de 32kHz en un flujo de bit único de 32kHz.
Pueden estar disponibles muchas otras configuraciones de tasa de transmisión (así como combinaciones entre transmisor/receptor) para CÓDECs CVSD, en cuyo caso cada bit de la secuencia 505 de datos binarios puede estar representado por diversos patrones de secuencia de bits diferentes. Por ejemplo, en algunas realizaciones, el rendimiento global puede limitarse a 21,333 bps, en cuyo caso cada bit de secuencia 505 de datos binarios puede necesitar representarse como un patrón de secuencia de 3 bits. La Tabla 2 a continuación muestra posibles patrones de secuencia que pueden usarse para valores binarios de '1' y '0', de acuerdo con algunas realizaciones. Nótese que la Tabla 2 no proporciona una lista exhaustiva de opciones, y se pueden usar otros patrones de secuencia como se conocen por un experto en la técnica:
Tabla 2
Figure imgf000009_0002
Otra realización puede usar un rendimiento global de 16,000 bps, en cuyo caso cada secuencia 505 de datos binarios puede representarse como un patrón de secuencia de 4 bits. La Tabla 3 a continuación muestra posibles patrones de secuencia que pueden usarse para valores binarios de '1' y '0', de acuerdo con algunas realizaciones. Nótese que la Tabla 3 no proporciona una lista exhaustiva de opciones, y se pueden usar otros patrones de secuencia como se conocen por un experto en la técnica:
Tabla 3
Figure imgf000009_0001
En al menos una realización, el punto final 104 local puede no incluir ningún tipo de códec de audio, y puede configurarse para generar/recibir la secuencia binaria de un bit por muestra directamente. La figura 10 representa un sistema de acuerdo con al menos una realización. Como se muestra, la figura 10 incluye el punto final 104 local, que incluye datos 1005 CVSD y transceptor 1010 Bluetooth. La figura 10 también representa el dispositivo 102 de comunicación, que incluye transceptor 1015 Bluetooth, descodificador 1020 CVSD, secuenciador 1025 de bytes, y secuencia 1030 de datos binarios. El punto final 104 local está configurado para generar datos 1005 CVSD que representan datos encriptados directamente, y transmitir los datos CVSD sobre un enlace de datos Bluetooth a través del transceptor 1010 Bluetooth. El dispositivo 102 de comunicación recibe los datos 1005 CVSD a través del transceptor 1015 Bluetooth, y descodifica los datos en una secuencia de bytes de datos múltiples, que se proporciona al secuenciador 1025 de bytes y se convierte en una secuencia 1030 de datos binarios, en donde la secuencia 1030 de datos binarios es una versión replicada de datos 1005 CVSD.
Entramado
En muchas realizaciones, los datos arbitrarios no se representan como un flujo de bits constante, sino que usualmente se separan en bytes de datos de 8 bits (o más). De este modo en algunas realizaciones, se propone un esquema de entramado de bytes para ayudar al receptor a determinar cuáles bits del flujo pertenecen a un byte individual y para ayudar con la resincronización en caso de pérdida o corrupción de datos. En una realización, el esquema propuesto comprende un mecanismo con base en la especificación de datos en serie RS-232. El transmisor emite un bit de inicio, seguido de los 8 (o más) bits de datos que pertenecen a un único byte de múltiples bits, seguido opcionalmente por un bit de paridad que podría usarse para determinar corrupción, y luego seguido por un bit de parada. Un ejemplo de tal esquema de codificación se representa en la figura 5. Esto significa que cada byte de datos de múltiples bits tomaría ya sea 10 u 11 bits para transmitirse reduciendo además el rendimiento en 8/10°s u 8/11°s. Se puede usar un esquema de codificación más avanzado si se desea una mejor resiliencia a errores, menor sobrecarga, o corrección de errores hacia adelante. Una mejora simple sería coincidir el entramado usado por el nivel de enlace con el fin de mejorar el rendimiento cuando se descartan tramas.

Claims (13)

REIVINDICACIONES
1. Un método que comprende:
obtener una secuencia de datos binarios en un dispositivo (102) de comunicación para transmisión a través de un enlace de datos Bluetooth configurado de acuerdo con un perfil Bluetooth basado en códec de audio, en donde un códec de audio está configurado para recibir un byte de datos de múltiples bits y emitir un único bit que indica si el byte de datos de múltiples bits recibido es mayor o menor que un byte de referencia de salida anterior; generar una secuencia de bytes de datos de múltiples bits con base en la secuencia de datos binarios; proporcionar la secuencia de bytes de datos de múltiples bits al códec de audio para inducir al códec a generar una secuencia binaria de un bit por muestra representativa de la secuencia de datos binarios; la secuencia binaria de un bit por muestra comprende un único bit de datos o una cadena de múltiples bits de datos que corresponden a cada bit de datos en la secuencia de datos binarios; y,
transmitir la secuencia binaria de un bit por muestra generada a través del enlace de datos Bluetooth.
2. El método de la reivindicación 1 en donde, cuando la secuencia binaria de un bit por muestra comprende una cadena de múltiples bits de datos que corresponden a cada bit de datos en la secuencia de datos binarios, la secuencia binaria de un bit por muestra comprende un primer patrón de bits para un primer valor lógico de la secuencia de datos binarios y un segundo patrón de bits para un segundo valor lógico de la secuencia de datos binarios.
3. El método de la reivindicación 1 en donde, cuando la secuencia binaria de un bit por muestra comprende una cadena de múltiples bits de datos que corresponden a cada bit de datos en la secuencia de datos binarios, la fase de la secuencia binaria de un bit por muestra es ajustable.
4. El método de cualquiera de las reivindicaciones 1-3 en donde los datos binarios son datos de audio encriptados generados por un dispositivo remoto.
5. El método de cualquiera de las reivindicaciones 1-4 en donde el códec de audio realiza una conversión Delta de Pendiente Continuamente Variable (CVSD).
6. El método de cualquiera de las reivindicaciones 1-5 en donde los bytes de datos de múltiples bits son palabras de datos de al menos 13 bits proporcionadas a una tasa de 64 kHz, y la secuencia binaria de un bit por muestra generada es 64 kilobits por segundo.
7. El método de cualquiera de las reivindicaciones 1-6 en donde los bits de entramado se agregan a los datos binarios.
8. El método de la reivindicación 7 en donde los bits de entramado comprenden un bit de inicio y un bit de parada.
9. El método de cualquiera de las reivindicaciones 1-8 en donde se agregan bits de paridad a los datos binarios.
10. El método de cualquiera de las reivindicaciones 1-9 en donde el perfil Bluetooth es un Perfil de Manos Libres (HFP).
11. El método de cualquiera de las reivindicaciones 1-10 en donde el dispositivo (102) de comunicación se selecciona desde el grupo que consiste en un teléfono inteligente, un auricular, un ordenador portable, una puerta de acceso de audio, una unidad de manos libres, y un ordenador tipo tableta.
12. El método de cualquiera de las reivindicaciones 1-11 que comprende además:
recibir un flujo de bits codificado de un bit por muestra a través del enlace de datos Bluetooth;
convertir el flujo de bits codificado de un bit por muestra en una secuencia de bytes de múltiples bits; y descodificar la secuencia de bytes de múltiples bits en datos binarios recibidos, y ya sea (i) desencriptar los datos binarios recibidos en datos de audio o (ii) retransmitir los datos binarios recibidos a un dispositivo (118) de comunicación remoto.
13. Un dispositivo (102) de comunicación que comprende:
una interfaz (206) de comunicación;
un procesador (202); y
almacenamiento (204) de datos que contiene instrucciones ejecutables por el procesador (202) para hacer que el dispositivo (102) de comunicación lleve a cabo al menos las siguientes funciones:
obtener una secuencia de datos binarios en un dispositivo de comunicación para transmisión a través de un enlace de datos Bluetooth configurado de acuerdo con un perfil Bluetooth basado en códec de audio, en donde un códec de audio está configurado para recibir un byte de datos de múltiples bits y emitir un único bit que indica si el byte de datos de múltiples bits recibido es mayor o menor que un byte de referencia de salida anterior;
generar una secuencia de bytes de datos de múltiples bits con base en la secuencia de datos binarios;
proporcionar la secuencia de bytes de datos de múltiples bits al códec de audio para inducir al códec a generar una secuencia binaria de un bit por muestra representativa de la secuencia de datos binarios; la secuencia binaria de un bit por muestra comprende un único bit de datos o una cadena de múltiples bits de datos que corresponden a cada bit de datos en la secuencia de datos binarios; y,
transmitir la secuencia binaria de un bit por muestra generada a través del enlace de datos Bluetooth.
ES16754260T 2015-09-09 2016-08-16 Métodos y sistemas para transmisión de datos arbitrarios a través de conexiones de audio de HFP Bluetooth con baja latencia Active ES2883721T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/849,284 US9628944B2 (en) 2015-09-09 2015-09-09 Methods and systems for transmission of arbitrary data via bluetooth HFP audio connections with low latency
PCT/EP2016/069359 WO2017041994A1 (en) 2015-09-09 2016-08-16 Methods and systems for transmission of arbitrary data via bluetooth hfp audio connections with low latency

Publications (1)

Publication Number Publication Date
ES2883721T3 true ES2883721T3 (es) 2021-12-09

Family

ID=56741051

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16754260T Active ES2883721T3 (es) 2015-09-09 2016-08-16 Métodos y sistemas para transmisión de datos arbitrarios a través de conexiones de audio de HFP Bluetooth con baja latencia

Country Status (8)

Country Link
US (3) US9628944B2 (es)
EP (1) EP3348030B1 (es)
CN (1) CN108028818B (es)
CA (1) CA2997200A1 (es)
ES (1) ES2883721T3 (es)
MX (1) MX2018002690A (es)
WO (1) WO2017041994A1 (es)
ZA (1) ZA201801347B (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180359348A1 (en) * 2017-06-13 2018-12-13 Qualcomm Incorporated Audio coding based on wireless earphone configuration
EP3456880B1 (en) * 2017-09-13 2021-06-23 MOBA Mobile Automation AG Method and apparatus for controlling a quality of a paving material
CN109155633B (zh) * 2018-08-21 2020-09-11 深圳市汇顶科技股份有限公司 确定cvsd编解码中参数的方法和设备
US11233836B2 (en) * 2019-05-31 2022-01-25 Apple Inc. Concurrent audio streaming to multiple wireless audio output devices
CN113141602B (zh) * 2020-01-16 2023-10-03 同响科技股份有限公司 低延迟蓝牙音信传输系统及方法
CN112151069B (zh) * 2020-08-20 2024-03-15 深圳市捷视飞通科技股份有限公司 语音数据处理方法、装置、计算机设备和存储介质
CN112735450B (zh) * 2020-12-30 2023-03-17 北京百瑞互联技术有限公司 基于语音通道传输数据的方法、装置、存储介质及设备
CN115442394B (zh) * 2022-07-29 2025-02-07 广东艾科技术股份有限公司 通讯采集方法、计算机设备、计算机可读存储介质
CN116132958A (zh) * 2023-01-13 2023-05-16 麒麟软件有限公司 基于蓝牙hfp编码选择的优化方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671292B1 (en) * 1999-06-25 2003-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for adaptive voice buffering
KR100380518B1 (ko) 2001-05-24 2003-04-18 한국전자통신연구원 블루투스를 구비한 보안 무선전화기
US7533327B2 (en) * 2006-03-07 2009-05-12 Broadcom Corporation Method and system for bluetooth decoding
US8817740B2 (en) * 2006-10-31 2014-08-26 Motorola Mobility Llc Methods and devices of a queue controller for dual mode bidirectional audio communication
TW200830844A (en) * 2007-01-11 2008-07-16 Delta Electronics Inc Bluetooth wireless phone with touchpad
US20100324911A1 (en) 2008-04-07 2010-12-23 Broadcom Corporation Cvsd decoder state update after packet loss
US20090298420A1 (en) * 2008-05-27 2009-12-03 Sony Ericsson Mobile Communications Ab Apparatus and methods for time synchronization of wireless audio data streams
CN101662438A (zh) * 2008-08-28 2010-03-03 华为技术有限公司 无线通信方法、发送方法、接收解码方法及装置
CA2863199A1 (en) * 2012-03-13 2013-09-19 Airbiquity Inc. Using a full duplex voice profile of a short range communication protocol to provide digital data
CN103023538A (zh) * 2012-11-22 2013-04-03 无锡中星微电子有限公司 一种基于蓝牙配件的通信方法和蓝牙装置
CN104866276A (zh) * 2015-05-21 2015-08-26 深圳市浩博高科技有限公司 基于蓝牙hid服务实现语音输入的方法及主机及系统

Also Published As

Publication number Publication date
EP3348030B1 (en) 2021-07-21
US9877146B2 (en) 2018-01-23
CA2997200A1 (en) 2017-03-16
MX2018002690A (es) 2018-08-01
CN108028818A (zh) 2018-05-11
US20170070844A1 (en) 2017-03-09
US20170223487A1 (en) 2017-08-03
ZA201801347B (en) 2019-05-29
CN108028818B (zh) 2021-01-15
US9628944B2 (en) 2017-04-18
US20180124554A1 (en) 2018-05-03
US10225720B2 (en) 2019-03-05
EP3348030A1 (en) 2018-07-18
WO2017041994A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
ES2883721T3 (es) Métodos y sistemas para transmisión de datos arbitrarios a través de conexiones de audio de HFP Bluetooth con baja latencia
ES2819862T3 (es) Métodos y sistemas para cifrar comunicaciones utilizando un elemento seguro
US8855303B1 (en) Cryptography using a symmetric frequency-based encryption algorithm
CN103402198B (zh) 一种无线通信终端设备加密参数传送的方法
WO2020112209A3 (en) Methods and systems for efficient encoding and decoding communications
WO2008129546A2 (en) Voice encryption device
CN116366347A (zh) 信令的安全传输方法、装置和se芯片
KR102548166B1 (ko) 보안 통신 장치 및 보안 통신 프로그램
ES2979342T3 (es) Método y dispositivo de codificación de parámetros de diferencia de fase entre canales
CN101631304B (zh) 抗自适应多速率编码第三代移动通信端到端语音加密方法
ES2884178T3 (es) Métodos y sistemas para la organización de sesiones de comunicación en nombre de puntos finales criptográficos
US20150180663A1 (en) Method and apparatus for performing secure voice call
KR20140139321A (ko) 음성 통신용 정보 보호 부속 장치 및 이에 의한 음성 통신용 정보 보호 방법
US8416948B2 (en) System for secure variable data rate transmission
JP2005318580A (ja) 安全な無線通信用の汎用マイクロフォン
ES2759867T3 (es) Equipos de comunicación para comunicación segura
JP5569985B2 (ja) 無線通信装置及び無線通信方法
WO2009074711A1 (en) Speech data encryption and decryption
Islam et al. Developing and implementing encryption algorithm for addressing GSM security issues
US20100111302A1 (en) Digital signal processing method an system employing such method
WO2018092313A1 (ja) 通信装置、通信システムおよび通信方法
TWM422726U (en) Voice encryption equipment
GB2428352A (en) Headset for mobile device with built in encryption