ES2216637T3 - Evitar diseños de datos prohibidos en audio o video. - Google Patents

Evitar diseños de datos prohibidos en audio o video.

Info

Publication number
ES2216637T3
ES2216637T3 ES99970818T ES99970818T ES2216637T3 ES 2216637 T3 ES2216637 T3 ES 2216637T3 ES 99970818 T ES99970818 T ES 99970818T ES 99970818 T ES99970818 T ES 99970818T ES 2216637 T3 ES2216637 T3 ES 2216637T3
Authority
ES
Spain
Prior art keywords
data
segment
digital
prohibited
design
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES99970818T
Other languages
English (en)
Inventor
Stephen Decker Vernon
Louis Dunn Fielder
Mark Franklin Davis
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.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
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 Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Application granted granted Critical
Publication of ES2216637T3 publication Critical patent/ES2216637T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1285Status of the record carrier, e.g. space bit maps, flags indicating a formatting status or a write permission

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Stereophonic System (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

Un método para tratar información digital de audio o video para evitar un diseño de datos prohibido, en el que el método comprende: recibir un segmento de la información digital de audio o video que comprende palabras digitales, obtener una clave de codificación para controlar un proceso de codificación, en el que la clave de codificación es tal que el proceso de codificación aplicado a cada palabra digital en el segmento produce un resultado que no es igual al diseño de datos prohibido, aplicar el proceso de codificación a las palabras digitales en el segmento para generar información codificada, en que el proceso de codificación es aplicado de manera controlada por la clave de codificación, y ensamblar información de control y la información codificada en una forma que es adecuada para transmisión o almacenamiento, en que la información de control no es igual al diseño de datos prohibido y es tal que una clave de descodificación para un proceso de descodificación complementario al procesode codificación puede obtenerse a partir del mismo.

Description

Evitar diseños de datos prohibidos en audio y vídeo.
Campo técnico
El presente invento se refiere al tratamiento o procesamiento de información tal como información de audio o vídeo. En particular, el presente invento se refiere al tratamiento de información para evitar e impedir la ocurrencia de diseños de datos indeseados o prohibidos.
Técnica antecedente
En aplicaciones que crean, almacenan o transmiten información, puede ser deseable designar ciertos diseños de bit como "prohibidos" de tal modo que estos diseños no tengan lugar en una corriente de palabras digitales que transporta la información. Un ejemplo se encuentra en sistemas que usan un diseño de "sincronización" para marcar el límite de una imagen o paquete de información en una corriente de datos. El diseño de sincronización es usado para alinear o sincronizar equipos que están destinados a tratar la imagen o paquete de información. En tales casos, puede ser útil impedir que el diseño de sincronización tenga lugar en la propia corriente de datos de modo que la información contenida dentro de la corriente de datos no pueda ser identificada falsamente como un diseño de sincronización.
Otro ejemplo se plantea en el campo del transporte de audio digital. La transmisión en serie de información de audio digital es el objeto de distintas normas internacionales tales como AES3 (ANSI S4.40) publicada por la Sociedad de Ingeniería de Audio (AES). Esta norma define la transmisión en serie de audio digital en dos canales representada en una forma de modulación de código de impulso lineal (PCM). De acuerdo con esta norma, muestras de PCM para dos canales son intercaladas y transportadas a pares. En el caso de PCM de 16 bits que está expresado en representación de complemento de dos, estos valores de amplitud pueden variar dentro de un margen de desde 32767 (expresado en notación hexadecimal como 0x7FFF) hasta -32768 (0x8000). En esta representación, se ha introducido una ligera cantidad de asimetría en virtud del valor más negativo que es una unidad de magnitud mayor que el valor más positivo.
Algún equipo está diseñado para impedir esta asimetría evitando el valor más negativo de 0x8000. Si este valor no es usado para transportar amplitud de PCM, puede ser usado y a veces lo es, para algún otro propósito tal como control de transporte o información de transmisión de señales. Si una muestra de PCM que tiene este valor ocurre en la información de audio, podría ser identificada incorrectamente como información de control o de transmisión de señales; por ello, este diseño de datos particular debe evitarse en la información de audio. Esto puede conseguirse reemplazando el valor prohibido de -32768 (0x8000) con otro valor tal como -32767 (0x8001). Esta sustitución introduce un error irreversible en la información de audio pero, para información de audio de PCM, el error es insignificante.
Un problema se plantea cuando la información no son muestras de audio de PCM sino que es una corriente digital de bits que representa información de audio en una forma codificada. Dos ejemplos de tales corrientes de bits son los conformes a Dolby AC-3 y distintas normas ISO MPEG. En tales casos, sustituir un valor tal como 0x8001 por otro valor tal como 0x8000 representa casi ciertamente un cambio audible en la información de audio y, debido a que esta sustitución no puede ser invertida, causará una distorsión inaceptable en la información de audio recuperada.
Este problema es significativo debido a que hay un interés creciente en usar equipos diseñados originalmente para corrientes de bits de PCM de uno o dos canales tales como corrientes de bits compatibles AES3 para transportar más canales de audio en una forma codificada tal como las formas AC-3 y MPEG mencionadas anteriormente. Por una parte, estas formas codificadas pueden incluir diseños de datos prohibidos que no son transportados correctamente porque los diseños de datos prohibidos son interpretados incorrectamente como información de control o de transmisión de señales. Por otra parte, métodos de sustitución conocidos para evitar estos diseños de datos prohibidos introducen cambios irreversibles en la información codificada que causan distorsión audible en audio recuperado.
No se conoce en la técnica anterior ningún método que solucione este problema. El documento WO 91/16778 A describe una técnica de codificación en la que caracteres que pertenecen a un conjunto reservado de caracteres son codificados repetidamente hasta que la representación codificada ya no está en el conjunto reservado. El resultado de cada iteración de codificación es transmitido, lo que desafortunadamente hace que caracteres del conjunto reservado sean incluidos en la señal codificada.
El documento WO 96/21984 A describe una técnica en la que un proceso de empaquetar bytes es invertido para restaurar diseños prohibidos en una señal transmitida. Esto es hecho para mejorar la compresión de señal pero también hace que diseños de datos prohibidos sean incluidos en la señal transmitida.
El documento US 3.878.331 A describe una técnica de criptografía en la que se hacen comprobaciones para asegurar que el proceso de criptografía no genera palabras prohibidas; sin embargo, palabras prohibidas como los códigos de control ASCII son incluidas en la señal criptografiada.
El documento WO 99/33268 A describe un sistema de codificación y menciona brevemente caracteres prohibidos pero no enseña cómo evitar la presencia de diseños de datos prohibidos en la señal codificada.
Este problema puede resolverse impidiendo la ocurrencia de diseños de datos prohibidos en la información de audio codificada. Una manera de conseguir esto es poner la información de audio codificada en una forma que asegure que todos los diseños de datos prohibidos son evitados. Por ejemplo, la información de audio digital puede analizarse en una secuencia de palabras de n-bits y cada palabra convertida en códigos de m-bits más largos que pueden ser garantizados para evitar diseños de datos prohibidos específicos. Los códigos de m-bits pueden ser transportados sin dificultad debido a que no incluyen ningún diseño de datos prohibido. La información de audio codificada original puede ser recuperada convirtiendo cada código de m-bits en una palabra de n-bits apropiada. Se conocen muchos esquemas de codificación de n a m bits adecuados. El problema con esta aproximación es que requiere un exceso de (m-n) bits por palabra. En muchas aplicaciones, este exceso impone requisitos de capacidad de almacenamiento o requisitos de ancho de banda de canal que son difíciles si no imposibles de satisfacer.
Otro modo de impedir la ocurrencia de diseños de datos prohibidos en información de audio codificada es diseñar la sintaxis de la corriente codificada para evitar que se genere un diseño de datos prohibido. Por ejemplo, el valor 0x8000 podría evitarse asegurando que la corriente codificada nunca contiene más de catorce bits-cero consecutivos porque este diseño de datos prohibido consiste en quince bits-cero que siguen a un bit-uno único. El problema con este enfoque es que impone restricciones sobre la sintaxis de la corriente de bits elemental que debe ser considerada en cada etapa del proceso de codificación. Además, este enfoque puede imponer restricciones extremadamente complejas sobre la sintaxis si ha de evitarse más de un diseño de datos prohibido.
Descripción del invento
Es un objeto del presente invento proporcionar un modo eficiente para evitar uno o más diseños de datos prohibidos en corrientes de información digital tales como corrientes de datos de audio digital o vídeo digital codificados. Este objeto puede ser alcanzado por el presente invento como se ha descrito más abajo en las reivindicaciones independientes. Distintas realizaciones ventajosas están descritas más abajo en las reivindicaciones dependientes.
De acuerdo con un aspecto del presente invento, la información es tratada o procesada para evitar diseños de datos prohibidos recibiendo un segmento de la información que comprende palabras digitales, obteniendo una clave de codificación para controlar un proceso de codificación, en que la clave de codificación es tal que el proceso de codificación aplicado a cada palabra digital en el segmento produce un resultado que no es igual al diseño de datos prohibido, aplicando el proceso de codificación a las palabras digitales en el segmento para generar información codificada, en que el proceso de codificación es aplicado de manera controlada por la clave de codificación, y ensamblando información de clave e información codificada en una forma que es adecuada para transmisión o almacenamiento, en que la información de clave no es igual para el diseño de datos prohibido y es tal que una clave de descodificación para un proceso de descodificación complementario al proceso de codificación puede ser obtenida a partir desde
ésta.
De acuerdo con otro aspecto del presente invento, la información es tratada para recuperar la información original que incluye diseños de datos prohibidos recibiendo un segmento de información que comprende palabras digitales y extrayendo de ellas una clave de descodificación para controlar un proceso de descodificación, aplicando el proceso de descodificación a las palabras digitales en el segmento para generar información descodificada, en que el proceso de descodificación es aplicado de manera controlada por la clave de descodificación para recuperar una o más palabras digitales que tienen el diseño de datos prohibido, y generando una señal de salida a partir de la información descodificada.
De acuerdo con otro aspecto del presente invento, la información es tratada para evitar diseños de datos prohibidos recibiendo un segmento de la información que comprende palabras digitales, obteniendo un diseño de datos de sustitución que no es igual al diseño de datos prohibido y hace que no ocurra en el segmento, reemplazando cada palabra digital en el segmento que tiene el diseño de datos prohibido con una palabra digital sustituta que tiene el diseño de datos de sustitución, y ensamblando el diseño de datos de sustitución y el segmento con palabras digitales sustitutas en una forma que es adecuada para transmisión o almacenamiento.
De acuerdo con otro aspecto del presente invento, la información es tratada para recuperar información original que incluye diseños de datos prohibidos recibiendo un segmento de información que comprende palabras digitales y extrayendo de ellas un diseño de datos de sustitución, reemplazando cada palabra digital en el segmento que tiene el diseño de datos de sustitución con una palabra digital sustituta que tiene el diseño de datos prohibido, y generando una señal de salida desde el segmento con palabras digitales sustitutas.
De acuerdo con otro aspecto del presente invento, la información es tratada para evitar diseños de datos prohibidos recibiendo un segmento de la información que comprende palabras digitales, construyendo un conjunto de indicadores o banderolas, en el que cada indicador en el conjunto corresponde a una palabra digital respectiva en el segmento que tiene o bien el diseño de datos prohibido o bien un diseño de datos de sustitución, y en el que cada indicador en el conjunto indica si la palabra digital respectiva tiene el diseño de datos prohibido o el diseño de datos de sustitución, reemplazando cada palabra digital en el segmento que tiene el diseño de datos prohibido con una palabra digital sustituta que tiene el diseño de datos de sustitución, y ensamblando el conjunto de indicadores y el segmento con palabras digitales sustitutas en una forma que es adecuada para transmisión o almacenamiento.
De acuerdo con otro aspecto del presente invento, la información es tratada para recuperar información original que incluye diseños de datos prohibidos recibiendo un segmento de información que comprende palabras digitales y extrayendo desde ellas un conjunto de indicadores, en el que cada indicador corresponde a una palabra digital respectiva en el segmento que tiene un diseño de datos de sustitución y en el que cada indicador indica si la palabra digital respectiva debe tener el diseño de datos prohibido o el diseño de datos de sustitución, reemplazando con palabras digitales que tienen el diseño de datos prohibido aquellas palabras digitales en el segmento que tienen el diseño de datos de sustitución y que corresponden a un indicador respectivo que indica que la palabra digital respectiva debe tener el diseño de datos prohibido, y generando una señal de salida desde el segmento con palabras digitales
sustitutas.
De acuerdo con otro aspecto del presente invento, la información es tratada para evitar diseños de datos prohibidos recibiendo la información, en que la información comprende una pluralidad de palabras digitales, separando la información en un lugar antes que una palabra digital que tiene cualquiera de los diseños de datos prohibidos para obtener un primer segmento de palabras digitales anterior al lugar que tiene palabra no digital con ningún diseño de datos prohibido y un segundo segmento de palabras digitales después del lugar que tiene una o más palabras digitales con uno de los diseños de datos prohibidos, tratando el segundo segmento de palabras digitales para obtener un segmento modificado que contiene palabras no digitales con ninguno de los diseños de datos prohibidos, y ensamblando información de control con el segmento modificado en una forma que es adecuada para la transmisión y almacenamiento, en que la información de control indica cómo puede ser recuperado el segundo segmento a partir del segmento modificado.
Las distintas características del presente invento y sus realizaciones preferidas pueden ser mejor comprendidas haciendo referencia a la descripción siguiente y a los dibujos adjuntos en los que referencias numéricas similares se refieren a elementos similares en las distintas figuras. El contenido de la siguiente descripción y los dibujos están descritos sólo como ejemplos y no debe comprenderse que representen limitaciones sobre el marco del presente invento.
Breve descripción de los dibujos
La fig. 1 es un diagrama de bloques de un sistema codificador/descodificador que incorpora procesadores de información y procesadores de información inversa de acuerdo con el presente invento.
La fig. 2 es un diagrama de bloques de un dispositivo que puede ser usado para poner en práctica procesadores de información y procesadores de información inversa de acuerdo con distintos aspectos del presente invento.
La fig. 3 es un diagrama de bloques de un procesador de información que obtiene una clave, codifica una corriente de información de acuerdo con esa clave para evitar diseños de datos prohibidos, y ensambla la clave y la información codificada en información codificada.
La fig. 4 es un diagrama de bloques de un componente para obtener una clave que es adecuada para usar en el procesador de información de la fig. 3.
La fig. 5 es un diagrama de bloques de un procesador de información inversa que recupera la corriente de información original a partir de la información codificada generada por el procesador de información de la fig. 3.
La fig. 6 es un diagrama de bloques de un procesador de información que identifica un diseño de datos de sustitución que no aparece en un segmento de una corriente de información, reemplaza ocurrencias de un diseño de datos prohibido con el diseño de datos de sustitución para generar información codificada, y ensambla el diseño de datos de sustitución y la información codificada en información de salida.
La fig. 7 es un diagrama de bloques de un componente para identificar un diseño de datos de sustitución que es adecuado para usar en el procesador de información de la fig. 6.
La fig. 8 es un diagrama de bloques de un procesador de información inversa que recupera la corriente de información original a partir de la información codificada generada por el procesador de información de la fig. 6.
La fig. 9 es un diagrama de bloques de un procesador de información que obtiene un diseño de datos de sustitución, reemplaza ocurrencias de un diseño de datos prohibido con el diseño de datos de sustitución para generar información codificada, construye un conjunto de indicadores que indican cómo es usado el diseño de datos de sustitución en la información codificada, y ensambla el conjunto de indicadores y la información codificada en información de
salida.
La fig. 10 es un diagrama de bloques de un dispositivo que puede ser usado en el procesador de información de la fig. 9 para separar o dividir una corriente de información en segmentos.
La fig. 11 es un diagrama de bloques de procesador de información inversa que recupera la corriente de información original a partir de la información codificada generada por el procesador de información de la fig. 9.
Modos para poner en práctica el invento Resumen
El presente invento puede ser usado en una amplia variedad de sistemas que transmiten y almacenan información digital tal como información de audio digital o de vídeo digital. El diagrama de bloques de la fig. 1 representa los componentes principales en tales sistemas. En un ejemplo, tal sistema permite que más canales de información de audio sean transmitidos o almacenados por aparatos tales como un grabador de casete de vídeo (VCR) o un Enlace Digital en Serie (SDI) integrador que está diseñado para transmitir o almacenar un número limitado de canales de muestras de audio de PCM. En este ejemplo, el componente 4 representa aparatos para transmitir o almacenar dos canales de información de audio transportada por señales compatibles AES3. Estos aparatos funcionan de una manera que asume que uno o más diseños de datos prohibidos no ocurren en la información que ha de ser transmitida o almacenada.
En este ejemplo, el codificador 2 recibe una señal desde el trayecto 1 que representa múltiples canales de información de audio. El codificador 2 procesa este señal y genera una señal digital codificada que puede contener esencialmente cualquier diseño de datos incluyendo el o más diseños de datos prohibidos que el componente 4 no puede transmitir o almacenar correctamente. El procesador de información 3 recibe la señal digital codificada procedente del codificador 2 y la procesa para evitar que pueda ocurrir cualquier diseño de datos prohibido. La información codificada resultante puede ser transmitida o almacenada adecuadamente por el componente 4. El procesador de información inversa 5 recibe subsiguientemente la información codificada desde el componente 4 y la procesa para recuperar la señal digital codificada como es recibida originariamente desde el codificador 2. La señal digital codificada recuperada es hecha pasar al descodificador 6, que la descodifica para recuperar los canales múltiples de información de audio que son hechos pasar a lo largo del trayecto 7.
La fig. 2 es un diagrama de bloques de componentes principales en el dispositivo 20 que puede poner en práctica distintos aspectos del presente invento. El procesador 22, tal como un microprocesador, circuitos de tratamiento de señal digital más especializados o esencialmente cualquier otra forma de unidad aritmética controlada por programa, ejecuta uno o más programas de instrucciones para poner en práctica distintos aspectos del presente invento. Por ejemplo, estos programas de instrucciones pueden ser almacenados en memoria persistente tal como memoria sólo de lectura (ROM) 24 o por un dispositivo de almacenamiento tal como una unidad de disco no mostrada. Pueden preverse áreas de trabajo o memorias ejecutivas de sistema por la memoria de acceso aleatorio (RAM) 23. La entrada 25 representa uno o más componentes para recibir información que ha de ser tratada de acuerdo con el invento. La salida 26 representa uno o más componentes para proporcionar a otros dispositivos el resultado del tratamiento realizado por el procesador 22. La Línea de Transmisión 21, que puede representar una o más líneas de transmisión físicas, acopla estos componentes juntos.
Si el presente invento es puesto en práctica por uno o más programas de instrucciones, estos programas pueden ser realizados esencialmente en cualquier medio tal como cinta o disco magnético, disco óptico, chips de memoria no volátil, o radiación mediante fibra óptica, hilos o aire.
La estructura del dispositivo 20 representada en la figura es simplemente un ejemplo que puede ser usado para poner en práctica aspectos del presente invento. Por ejemplo, no se requiere una arquitectura de línea de transmisión de datos. Además, el presente invento puede ser puesto en práctica por un circuito integrado de aplicación específica (ASIC). Otras puestas en práctica son fácilmente evidentes.
El presente invento puede ser realizado mediante aparatos discretos interpuestos entre otros aparatos en un sistema, como se ha sugerido por la fig. 1. Alternativamente, alguna o todas las operaciones necesarias para poner en práctica el invento pueden ser realizadas dentro de aparatos tales como un codificador 2 o componente 4.
Técnica de codificación
La fig. 3 ilustra componentes principales para una realización de un procesador de información 3 que evita diseños de datos prohibidos usando un proceso de codificación reversible para generar una representación codificada de una corriente de información que no puede contener ningún diseño de datos prohibido. Esto puede lograrse separando la corriente de información en segmentos y codificando cada segmento según una clave de codificación respectiva que es seleccionada de tal modo que los resultados del proceso de codificación no pueden contener un diseño de datos prohibido.
Con referencia a la fig. 3, el tabique o separación 103 recibe una corriente de información desde el trayecto 100 y separa la corriente en segmentos que son hechos pasar a lo largo del trayecto 101. Obtener la clave 110 analiza el contenido de un segmento respectivo e identifica una clave de codificación adecuada para ese segmento. Una indicación de la clave de codificación es hecha pasar a lo largo del trayecto 115 hacia el codificador 120. El codificador 120 aplica un proceso de codificación al segmento de acuerdo con la clave de codificación recibida desde el trayecto 115 para generar una representación codificada del segmento. Información de clave, tal como una representación de una clave de descodificación o alguna otra información a partir de la cual puede derivarse una clave de descodificación adecuada, y la representación codificada son hechas pasar al formateador 130, que ensambla esta información en una forma que es adecuada para transmisión o almacenamiento.
La elección de claves depende de las características del proceso realizado por el codificador 120. Es sabido que el codificador 120 aplica un proceso de codificación simétrico, lo que significa que la clave de codificación y la clave de descodificación son idénticas. Procesos de codificación simétricos son preferidos generalmente debido a que usualmente pueden ser puestos en práctica más eficientemente. Alternativamente, obtener la clave 110 puede identificar claves de codificación y descodificación distintas. En este caso, el codificador 120 aplica un proceso de codificación asimétrico de acuerdo con la clave de codificación y alguna representación de la clave de descodificación es hecha pasar al formateador 130 para ensamble con la representación codificada.
Clave de codificación
En una realización, un proceso de codificación simétrico es llevado a cabo realizando una O exclusiva a modo de bit entre una clave K y cada palabra digital W(i) en un segmento de la corriente de información. Este proceso de codificación puede expresarse como
(1)X(i) = K \code{+} W \ (i)
La operación O exclusiva es un proceso de codificación simétrico debido a que es un proceso autoinversor; es decir, para cualquier clave arbitraria k, la palabra original W(i) puede ser obtenida a partir de una palabra codificada X(i) aplicando la operación O exclusiva con la misma clave una segunda vez, lo que puede expresarse como
(2)W(i) = K \code{+} \ X(i) = K \code{+} (K \code{+} W(i)).
Una clave adecuada K que evita un diseño de datos prohibido F en un segmento particular puede ser seleccionada para este proceso de codificación identificando un diseño de datos U que no ocurre en ninguna palabra digital en el segmento, y a continuación realizando una O exclusiva a modo de bit entre el diseño de datos "no usado" U y el diseño de datos prohibido F. La clave K seleccionada de esta manera asegura que el diseño de datos prohibido no ocurrirá en el segmento codificado. Como se ha explicado más adelante, si el diseño de datos no usado es restringido para no ser cero, esta elección de clave también asegura que la propia clave no es igual al diseño de datos
prohibido.
La operación usada para obtener la clave puede expresarse como
(3)K = U \code{+} F
Sustituyendo esta expresión por la clave K en la ecuación 1, el proceso de codificación puede ser reescrito como
(4)W(i) = K \code{+} \ W(i) = U \code{+} \ F \code{+} W(i).
Puede probarse por contradicción que el proceso de codificación de la ecuación 1 que usa la clave K obtenida de la manera descrita anteriormente evita el diseño de datos prohibido F. Esto puede probarse suponiendo que, para algún valor de i, La palabra codificada X(i) es igual al diseño de datos prohibido F. Esto puede expresarse
como
(5)F = X(i) = K \code{+} W(i) = U \code{+} \ F \code{+} W(i)
Debido a que la operación O exclusiva es un proceso autoinversor, la palabra codificada X(i) puede ser igual al diseño de datos prohibido sólo si la palabra original W(i) es igual a la palabra no utilizada U. La palabra original W(i) no puede ser igual a la palabra no usada, sin embargo, debido a que el diseño de datos no usado es definido como un diseño de datos que no ocurre en un segmento. Por contradicción, la suposición inicial debe ser falsa, lo que prueba que la palabra no codificada puede ser igual al diseño de datos prohibido.
Si el diseño de datos no usado U es igual a cero, la clave K será igual al diseño de datos prohibido F debido a que una O exclusiva entre cualquier valor arbitrario V y un valor de cero vuelve al valor arbitrario V. En realizaciones preferidas, el diseño de datos no usado U es restringido para que no sea cero, lo que impide que la propia clave K sea igual al diseño de datos prohibido F. Si se permitiera que la clave fuera igual al diseño de datos prohibido, tendría que proporcionarse una representación modificada de la clave en vez de la propia clave al formateador 130 para ensamble con el segmento codificado para impedir que el diseño de datos prohibido aparezca en la información
codificada.
Diseño de datos no usados
Una realización de un componente que puede identificar un diseño de datos no usado está mostrada en la fig. 4. El componente 111 forma una disposición que indica si ocurren diseños de datos particulares en el segmento, selecciona un diseño de datos U distinto de cero que no ocurre en el segmento, y hace pasar el diseño de datos no usados al componente 112. El componente 112 recibe el diseño de datos U no usado procedente del componente de 111, recibe el diseño de datos prohibido F desde el trayecto 102, y obtiene la clave de codificación K de acuerdo con la ecuación 3.
Un método para encontrar un diseño de datos usado comienza construyendo una disposición de elementos que representa cada diseño de datos posible e inicializando cada elemento con el valor cero. El contenido de cada palabra digital en el segmento es examinado y, basado en este contenido, el elemento correspondiente en la disposición es ajustado a 1. Después de que haber examinado todas las palabras digitales en el segmento, los elementos de la disposición son examinados para encontrar uno que aún esté ajustado a cero. Cada elemento de valor cero en la disposición corresponde a diseños de datos que no ocurren en el segmento.
Pueden calcularse cómputos de frecuencia real para cada diseño de datos pero no es necesario para este método. Es suficiente actualizar simplemente cada elemento para mostrar que un diseño de datos correspondiente ocurre en el segmento original.
Este método puede hacerse muy eficiente para longitudes de segmento pequeñas construyendo una disposición con un número de elementos que disminuye cuando la longitud de segmento disminuye. El número de elementos puede ajustarse igual a la potencia menor de dos, es decir 2^{B}, que es mayor o igual que la longitud de segmento. En este caso, sólo los bits más significativos B de cada palabra digital necesitan ser examinados. Después de haberse examinado todas las palabras digitales en el segmento original, puede seleccionarse y usarse una disposición de valor cero para determinar los bits más significativos B de una palabra no usada. Los bits restantes menos significativos para el diseño de datos no usado pueden ajustarse arbitrariamente. Si se desea, estos bits menos significativos pueden ajustarse a unos para asegurar que el diseño de datos no usado no es igual a cero.
Esto se ha mostrado en el fragmento de programa siguiente. Este fragmento de programa está expresado en una sintaxis que incluye algunas características sintácticas de los lenguajes de programa C y BASIC; sin embargo, el fragmento de programa puede entenderse por aquellos que no están familiarizados con estos lenguajes. Este fragmento de programa y otros fragmentos de programa descritos aquí no están destinados a ser segmentos de código fuente adecuados para compilación sino que son mostrados simplemente para transportar unos pocos aspectos de puestas en práctica posibles.
4
La instrucción de la línea (1) inicializa el "tamaño" entero a la menor potencia entera de dos que es mayor que la longitud de segmento. En esta instrucción, la función "log2" vuelve al logaritmo de base 2 de la longitud de segmento y la función "techo" (ceiling) vuelve al entero menor que es mayor o igual que este logaritmo. La instrucción de la línea (2) asigna "disposición" (array) con varios elementos iguales elevados a la potencia "tamaño" (size) e inicializa cada elemento a un valor de cero. La instrucción de la línea (3) hace que las instrucciones de las líneas (4) a (6) se reiteren hasta que se hayan examinado todas las palabras digitales en un segmento. La instrucción de la línea (4) obtiene la siguiente palabra digital del segmento. La instrucción de la línea (5) obtiene los bits más significativos de "tamaño" (size) de esta palabra digital y convierte estos bits en un valor que es asignado al "índice" (index) variable. En este ejemplo, se ha supuesto que cada palabra digital tiene varios bits iguales a "len". La instrucción de la línea (6) asegura que el elemento de "disposición" (array) que corresponde a este valor de "índice" (index) es ajustado a uno. Después de haber examinado todas las palabras digitales en el segmento, las instrucciones de las líneas (8) a (10) encuentran un elemento de "disposición" (array) que tiene un valor de cero y ajusta el "índice" (index) igual al número de este elemento. La instrucción de la línea (11) construye un diseño de datos no usados distintos de cero desplazando el valor de "índice" (index) a los bits más significativos de una palabra digital y realizando una O a modo de bit con el número de "(tamaño de len)" (len-size) de bits menos significativos de este valor y un número apropiado de bits que tienen el valor de
uno.
Como ejemplo, si un segmento original comprende palabras digitales de 16 bits y la longitud de segmento es 2002, la menor potencia de dos que es mayor o igual a la longitud de segmento es 2^{11} o 2048. Una disposición de 2048 elementos es construida y actualizada cuando los once bits más significativos de cada palabra digital en el segmento son examinados. Por ejemplo, los dos diseños de datos 0x0000 y 0x001F, expresados en notación hexadecimal, causarían ambos que el primer elemento de la disposición fuera actualizado debido a que los once bits más significativos de ambos diseños de datos son los mismos. En este ejemplo, los once bits más significativos de ambos diseños de datos son todos cero. Continuando con el ejemplo, si el segundo elemento de la disposición indica que no ocurren diseños de datos correspondientes en el segmento original, entonces se sabe que ninguna palabra digital en el segmento tiene un diseño de datos con los diez bits más significativos ajustados a cero y el undécimo bit más significativo ajustado a uno. Un diseño de datos no usados puede ser seleccionado a partir de cualquier valor del orden de desde 0x0020 a 0x003.
Si se desea, la disposición puede también ser examinada para determinar si cualquier palabra digital en el segmento tiene el diseño de datos prohibido. Si no es así, el tratamiento requerido para realizar la operación de codificación, tal como se ha mostrado en la ecuación 1, podría ser evitado. Esta condición puede ser transportada en la información codificada ajustando la clave de codificación a cero. Si el proceso de codificación O exclusiva descrito antes es utilizado, una clave de valor cero es la consecuencia normal de elegir el diseño de datos prohibido como el diseño de datos no usados.
Longitud del segmento
Las longitudes de los segmentos pueden ser fijas o pueden variar. En una realización, la longitud de segmento está limitada de tal modo que cada segmento contiene varias palabras digitales que no son mayores de dos menos que el número de todos los valores posibles que tales palabras digitales pueden tener. Por ejemplo, si la corriente de información comprende palabras digitales de 16 bits, hay 2^{16} o 65.536 valores posibles que estas palabras de datos pueden tener; por ello, la longitud de segmento está limitada para ser menor o igual a 65.534 palabras. Esta longitud de segmento es conveniente debido a que garantiza que al menos no ocurrirá un valor distinto de cero en cada
segmento.
Alternativamente, pueden formarse segmentos de longitud variable de cualesquiera modos distintos. Un modo examina cada palabra digital en una corriente de información, a actualiza una disposición de elementos que representan ocurrencias de diseños de datos respectivos, y separa la corriente de información en un segmento justo antes que la palabra digital que tiene el único diseño de datos no usados distinto de cero restante en el segmento. Si se desea, la corriente de información puede ser separada en alguna situación anterior para limitar el segmento a una cierta longitud máxima.
Con referencia a la fig. 4, una realización del componente 111 puede examinar los elementos de la disposición usada para encontrar un diseño de datos no usados e indicar a lo largo del trayecto 114 donde debe ser separada una corriente de información.
Otro modo examina cada palabra digital en una corriente de información y separa la corriente en un segmento justo antes de una palabra digital que tiene un diseño de datos prohibido. Si se desea, la corriente de información puede ser separada en algún lugar posterior para asegurar que el segmento tiene al menos una cierta longitud mínima. Si se sabe que un segmento tiene diseños de datos no prohibidos, el tratamiento requerido para realizar la operación de codificación puede ser evitado. Este puede ser transportado en la información codificada ajustando la clave de codificación a cero.
Un proceso que puede ser utilizado para separar una corriente de información está mostrado en el seguimiento en el siguiente fragmento de programa.
5
La instrucción de la línea (1) inicializa una "longitud" (length) variable que cuenta el número de palabras digitales que están almacenadas en el segmento en curso. La instrucción de la línea (2) hace que las instrucciones de las líneas (3) a (17) se reiteren hasta que se alcance el final de una corriente de información de entrada. La instrucción de la línea (4) obtiene la siguiente palabra digital desde la corriente de información de entrada. La instrucción de la línea (5) determina si esta palabra digital tiene un contenido igual al diseño de datos prohibido. Si es así, la instrucción de la línea (6) determina si el numero de palabras digitales ya almacenado en este segmento es lo bastante grande para crear un segmento o al menos la longitud mínima permisible. Si se ha alcanzado la longitud mínima, las instrucciones de las líneas (7) y (8) señalan el final del segmento en curso y reponen el contador de palabra digital para empezar un nuevo segmento. Si la palabra digital no tiene el contenido que iguale al diseño de datos prohibido, la instrucción de la línea (12) determina si el número de palabras digitales ya almacenado en el segmento corriente es bastante grande para crear un segmento que tiene la longitud máxima permisible. Si se ha alcanzado la longitud máxima, las instrucciones de las líneas (13) y (14) señalan el final del segmento corriente y reponen el contador de palabras digitales empezando un segmento nuevo. La instrucción de la línea (17) almacena la palabra digital ya leída en el segmento corriente. Cuando es alcanzado el final de la corriente de información, la instrucción de la línea (19) señala el final del segmento corriente, que puede tener una longitud que es menor que la longitud mínima permisible.
Si la longitud de los segmentos es dejada variar, alguna indicación de longitud de segmento debe ser hecha pasar con la información codificada de modo que un procesador de información inversa complementario 5 pueda reconocer correctamente el límite y extensión de cada segmento codificado. Debe tenerse cuidado de asegurar que la indicación de longitud de segmento no usa un diseño de datos prohibido.
Múltiples diseños de datos prohibidos
Esta técnica de codificación puede extenderse para evitar múltiples diseños de datos prohibidos. Si la longitud de segmento es significativamente menor que el número de todos los valores posibles para las palabras digitales, puede ser posible elegir una única clave que asegure evitar dos o más diseños de datos prohibidos. Por ejemplo, si la longitud de segmento es menor que la raíz cuadrada del número de todos los valores posibles, es siempre posible encontrar una palabra clave única que evite dos diseños de datos prohibidos. Esta clave puede obtenerse seleccionando la mitad más significativa de los bits de clave para evitar el primer diseño de datos prohibido y seleccionando la mitad menos significativa de los bits de clave para evitar el segundo diseño de datos prohibido. Si los dos diseños de datos prohibidos no tienen ningún bit en común, la longitud de segmento puede ser mayor y aún garantizar el impedimento de ambos diseños de datos prohibidos.
Recuperación de la información original
La fig. 5 es un diagrama de bloques de procesador de información inversa 5 que recupera la corriente de información original a partir de la información codificada generada por un procesador de información 3 tal como el mostrado en la fig. 3. El desformateador 150 recibe una señal de entrada desde el trayecto 151, extrae segmentos codificados y claves de descodificación a partir de la señal de entrada, y hace pasar los segmentos codificados a lo largo del trayecto 161 y las claves de descodificación a lo largo del trayecto 162. En este contexto, el término "extraer" como se ha usado aquí y en cualquier parte de esta descripción se refiere generalmente a procesos de desformateado y/o derivación que obtienen información a partir de la que es transportada por la señal de entrada. El descodificador 160 aplica un proceso de descodificación a los segmentos codificados de acuerdo con las claves de descodificación respectivas. Los segmentos descodificados que resultan del proceso de descodificación son hechos pasar a lo largo del trayecto 169.
Si el proceso de descodificación aplicado por el descodificador 160 es complementario para el proceso de codificación usado para generar la información codificada, los segmentos descodificados contendrán la misma información que ha sido transportada en segmentos correspondientes de la corriente de información original. En una realización, el descodificador 160 lleva a cabo el proceso de descodificación realizando operaciones O exclusivas como se ha mostrado antes en la ecuación 2.
Si se desea, una clave de valor cero puede indicar que no se requiere descodificación. Como se ha explicado antes, esta situación es el resultado normal cuando se usa el proceso de codificación O exclusiva.
Si están permitidos los segmentos de longitud variable, el desformateador 150 también extrae a partir de la señal de entrada lo que sea necesario para identificar la longitud y límite de cada segmento.
Preferiblemente, la clave de descodificación y cualquier indicación necesaria de límite de segmento son ensambladas antes que el segmento codificado correspondiente de modo que la operación de descodificación pueda realizarse cuando cada segmento codificado es obtenido a partir de la información codificada.
Técnica de sustitución con diseños de datos no usados
La fig. 6 ilustra componentes principales para otra realización del procesador 3 de información que evita diseños de datos prohibidos sustituyendo diseños de datos permitidos pero no usados para los diseños de datos prohibidos. Esto puede conseguirse separando la corriente de información en segmentos, identificando un diseño de datos no usados en un segmento respectivo, y realizando el reemplazamiento de todas las ocurrencias del diseño de datos prohibido en ese segmento.
Con referencia a la fig. 6, el tabique 203 recibe una corriente de información procedente del trayecto 200 y separa la corriente en segmentos que son hechos pasar a lo largo del trayecto 201. Obtener la sustitución del diseño 210 analiza el contenido de un segmento respectivo e identifica un diseño de datos de sustitución adecuado para ese segmento. El diseño de datos de sustitución es hecho pasar a lo largo del trayecto 215. El reemplazador 220 examina el segmento y reemplaza cada palabra digital que tiene el diseño de datos prohibido, recibido desde el trayecto 202, con otra palabra digital que tiene el diseño de datos de sustitución. El diseño de datos de sustitución y el segmento modificado que resulta de la operación de sustitución son hechos pasar al formateador 230, que los ensambla en información codificada que tiene una forma adecuada para transmisión o almacenamiento. En este contexto, el término "codificado" como es usado aquí y en cualquier parte en esta descripción se refiere en general a procesos que convierten la información de una forma a otra.
Si el diseño de datos prohibido no es conocido del procesador de información inversa, una representación de este diseño debe ser ensamblada también. El propio diseño de datos prohibido no puede ser ensamblado con el segmento modificado; por ello, una representación del mismo es generada por el codificador 225 y hecha pasar a lo largo del trayecto 226 al formateador 230. El proceso usado para generar la representación no es crítico y puede ser realizado de varias maneras. Por ejemplo, la representación puede ser generada invirtiendo todos los bits o bits seleccionados en el diseño de datos prohibido, o la representación puede ser un índice en una tabla de diseños de datos prohibidos posibles. El proceso de representación necesita solamente satisfacer dos requisitos. En primer lugar, debe transportar de algún modo el diseño de datos prohibido a un procesador de información inversa y la propia representación no puede ser igual a ningún diseño de datos prohibido.
Alternativamente el diseño de datos de sustitución y/o el diseño de datos prohibido pueden ser transportados una o más veces como un parámetro de inicialización en la información codificada generada por el formateador 230 y no necesita ser transportado con cada segmento.
Diseño de datos de sustitución
Una realización para un componente que puede identificar un diseño de datos de sustitución está mostrada en la fig. 7. El componente 211 forma una disposición que indica si los diseños de datos particulares ocurren en el segmento, y hace pasar la disposición al componente 212. El componente 212 usa la disposición para seleccionar un diseño de datos U que no ocurre en el segmento, y compara el diseño de datos seleccionado no usado con el diseño de datos prohibido F recibido desde el trayecto 202. Si el diseño de datos no usados seleccionado es igual al diseño de datos prohibido, el componente 212 usa la disposición para seleccionar otro diseño de datos no usado hasta que se selecciona un diseño de datos no usado que no es igual al diseño de datos prohibido. Si los dos diseños no son iguales, el componente 212 pasa el diseño de datos no usado seleccionado a lo largo del trayecto 215 como el diseño de datos de sustitución.
Se han descrito anteriormente métodos para encontrar diseños de datos no usados. Un diseño de datos de sustitución de valor cero puede ser usado sin dificultad puesto que el valor cero no es un diseño de datos prohibido. Si se desea, la disposición puede ser examinada para determinar si alguna palabra digital en el segmento tiene el diseño de datos prohibido. Si no la hay, puede evitarse la operación de sustitución descrita. Esta condición puede ser transportada por un diseño de datos reservado tal como valor cero. Este valor reservado debe ser conocido por el procesador de información inversa y no puede ser usado como un diseño de datos de sustitución.
Longitud de segmento
Las longitudes de segmentos pueden ser fijas o pueden variar, como se ha descrito antes. Los requisitos para esta técnica de sustitución difieren ligeramente debido a que el segmento debe ser separado de modo que pueda encontrarse al menos un diseño de datos no usados que no sea igual al diseño de datos prohibido.
Con referencia a la fig. 7, una realización de componente 211 puede examinar los elementos de la disposición usada para encontrar un diseño de datos no usados e indicar a lo largo del trayecto 214 donde debe ser separada una corriente de información.
Múltiples diseños de datos prohibidos
Esta técnica de sustitución puede ser extendida para evitar múltiples diseños de datos prohibidos encontrando un diseño de datos no usados diferente para cada diseño de datos prohibido. En esta situación, cada diseño de datos no usado debe ser ensamblado por el formateador 230. Los diseños de datos prohibidos que corresponden a cada diseño de datos de sustitución deben también ser transportados al procesador de información inversa. Esto puede conseguirse ensamblando diseños de datos de sustitución junto con una representación de los diseños de datos prohibidos correspondientes o, si los diseños de datos prohibidos son conocidos para el procesador de información inversa a priori, la correspondencia puede ser transportada implícitamente ensamblando un diseño de datos de sustitución para cada diseño de datos prohibido en un orden prescrito. Si se desea, la ausencia de un diseño de datos prohibido particular en un segmento puede ser transportada ensamblando un diseño de datos de sustitución de valor cero para ese diseño de datos prohibido particular.
Como se ha mencionado antes, los propios diseños de datos prohibidos no pueden ser transportados directamente al procesador de información inversa, por ello, deben ser transportadas en vez de ellos representaciones alternativas. Estas representaciones son generadas por el codificador 225.
Recuperación de la información original
La fig. 8 es un diagrama de bloques de procesador de información inversa 5 que recupera la corriente de información original a partir de la información codificada generada por un procesador de información 3 tal como se ha mostrado en la fig. 6.
El desformateador 250 recibe una señal de entrada desde el trayecto 251, extrae segmentos modificados y diseños de datos de sustitución desde la señal de entrada, y hace pasar los segmentos modificados a lo largo del trayecto 261 y los diseños de datos de sustitución a lo largo del trayecto 262. El reemplazador inverso 260 examina el segmento modificado y reemplaza cada ocurrencia del diseño de datos de sustitución con el diseño de datos prohibido. Los segmentos que resultan del proceso de sustitución inversa son hechos pasar a lo largo del trayecto 269.
Si una representación del diseño de datos prohibido es también transportada por la señal de entrada, el desformateador 250 extrae la representación y la hace pasar a lo largo del trayecto 271 al descodificador 270, que recupera el diseño de datos prohibido y lo hace pasar a lo largo del trayecto 272 al reemplazador inverso 260. El proceso usado para recuperar el diseño de datos prohibido invierte el proceso usado para generar la representación.
En algunas realizaciones, un diseño de datos de sustitución de valor cero es usado para indicar que ninguna palabra digital en el segmento original tenía el diseño de datos prohibido. En esta realizaciones, si el diseño de datos de sustitución recibido desde el trayecto 262 es cero, el reemplazador inverso 260 no necesita examinar las palabras digitales en el segmento recibido sino que puede hacer pasar este segmento sin cambios a lo largo del trayecto 269.
Si se permiten segmentos de longitud variable, el desformateador 250 también extrae de la señal de entrada siempre que sea necesario para identificar la longitud y límites de cada segmento.
Preferiblemente el diseño de datos de sustitución y cualquier indicación necesaria del límite de segmento son ensambladas con antelación al segmento modificado correspondiente de modo que la operación de sustitución inversa pueda ser realizada cuando cada segmento modificado es recibido.
Técnica de sustitución con indicadores de reemplazamiento
La fig. 9 ilustra componentes principales para otra realización del procesador de información 3 que evita diseños de datos prohibidos sustituyendo el diseño de datos prohibido por un diseño de datos permitido y construyendo indicadores que indican si ha ocurrido un diseño de datos sustituido en la corriente de información original o es una sustitución del diseño de datos prohibido. Esto puede conseguirse separando la corriente de información en segmentos, identificando ocurrencias del diseño de datos de sustitución y del diseño de datos prohibido en un segmento respectivo, construyendo un indicador para cada ocurrencia, y reemplazando todas las ocurrencias del diseño de datos prohibido en ese segmento con el diseño de datos de sustitución. El conjunto de indicadores debe ser transportado en una forma que no sea igual al diseño de datos prohibido. Esto puede conseguirse rellenando el conjunto de indicadores con bits que tienen valores apropiados que aseguran que el conjunto de indicadores no puede ser igual al diseño de datos prohibido.
Con referencia a la fig. 9, el tabique 303 recibe una corriente de información procedente del trayecto 300 y separa la corriente en segmentos que son hechos pasar a lo largo del trayecto 301. El explorador 310 analiza el contenido de un segmento respectivo, identifica ocurrencias de un diseño de datos de sustitución recibido desde el trayecto 305 y un diseño de datos prohibido recibido desde el trayecto 302, y hace pasar una indicación de estas ocurrencias a lo largo del trayecto 315. Los indicadores 318 construyen un conjunto de indicadores que es hecho pasar a lo largo del trayecto 319. El primer indicador del conjunto corresponde a la primera ocurrencia o bien del diseño de datos de sustitución o bien del diseño de datos prohibido e indica qué diseño es. Por ejemplo, un indicador igual a 1 indica una ocurrencia del diseño de datos prohibido y un indicador igual a 0 indica una ocurrencia del diseño de datos de sustitución. El reemplazador 320 responde a las indicaciones recibidas desde el trayecto 315 y reemplaza cada palabra digital que tiene el diseño de datos prohibido, recibida desde el trayecto 302, por otra palabra digital que tiene el diseño de datos de sustitución, recibida desde el trayecto 305. El conjunto de indicadores y el segmento modificado que resultan de la operación de sustitución son hechos pasar al formateador 330, que ensambla esta información en una forma que es adecuada para transmisión o almacenamiento.
Si el diseño de datos de sustitución no es conocido para el procesador de información inversa, el formateador 330 recibe ese diseño desde el trayecto 305 y lo ensambla con los indicadores y el segmento modificado.
Si el diseño de datos prohibido no es conocido para el procesador de información inversa, una representación de este diseño debe ser ensamblada también. El propio diseño de datos prohibido no puede ser ensamblado con el segmento modificado; por ello, una representación del mismo es generada por el codificador 325 y hecha pasar a lo largo del trayecto 326 al formateador 330. El proceso usado para generar la representación no es crítico y puede ser realizado de varias formas, como se ha descrito antes.
Alternativamente, el diseño de datos de sustitución y/o el diseño de datos prohibido puede ser transportado una o más veces como un parámetro de inicialización y no necesita ser transportado con cada segmento.
Indicadores de reemplazamiento
Un conjunto de indicadores puede ser construido de una amplia variedad de formas. En una realización cada indicador es un único bit que puede asumir sólo uno de dos valores posibles. En otras realizaciones, indicadores de múltiples bits pueden asumir uno de varios valores. Un proceso que puede ser usado para construir un conjunto de indicadores binarios para un segmento está mostrado en el siguiente fragmento de programa.
6
60
La instrucción de la línea (1) inicializa el índice "i" para una disposición de "indicadores" (flags). La instrucción de la línea (2) hace que las instrucciones de las líneas (3) a (15) se reiteren para cada palabra digital en el segmento. La instrucción de la línea (3) obtiene la siguiente palabra digital a partir de la corriente de información de entrada. La instrucción de la línea (4) determina si esta palabra digital tiene contenidos que son iguales al diseño de datos prohibido. Si es así, las instrucciones de las líneas (5) a (7) ajustan un elemento correspondiente en la disposición de indicadores a uno y modifican la palabra digital de modo que contiene el diseño de datos de sustitución. Si no es así, la instrucción de la línea (10) determina si esta palabra digital tiene contenidos que son iguales al diseño de datos de sustitución. Si es así, las instrucciones de las líneas (11) y (12) ajustan un elemento correspondiente en la disposición de indicadores a cero. La instrucción de la línea (15) almacena la palabra digital, posiblemente modificada para contener el diseño de datos de sustitución, a una memoria tampón. Después de haber examinado todas las palabras digitales en el segmento, la instrucción de la línea (17) rellena la disposición de "indicadores" (flags) cuando sea necesario con bits que tienen valores apropiados para asegurar que no son iguales al diseño de datos prohibido, y las instrucciones de las líneas (18) y (19) generan un segmento de información codificada escribiendo la disposición de "indicadores" (flags) y las palabras digitales almacenadas en la memoria tampón.
Diseño de datos de sustitución
En una realización, el diseño de datos de sustitución es conocido a priori y no necesita ser identificado dinámicamente como se ha descrito antes para la técnica de sustitución con diseños de datos no usados. En otras realizaciones, sin embargo, el diseño de datos de sustitución es identificado dinámicamente para minimizar el número de sustituciones que deben hacerse en cada segmento y garantizar que el número de sustituciones no excede de algún número de umbral. Esto puede ser realizado utilizando un dispositivo similar al mostrado en la fig. 7.
Longitud del segmento
Las longitudes de segmentos pueden ser fijas o pueden variar. Esta técnica de sustitución no requiere ningún diseño de datos no usados en un segmento sino que, preferiblemente, asegurará que el número total de palabras digitales en cada segmento modificado que tiene el diseño de datos de sustitución no excede del número de indicadores generados para cada segmento por indicadores 318. Esta condición puede ser conseguida de varias formas.
Un modo intenta maximizar la probabilidad de esta condición intentando asegurar que los datos en la corriente de información original es lo bastante aleatorio para que el diseño de datos prohibido y el diseño de datos de sustitución ocurran infrecuentemente. Si, por ejemplo, la corriente de información se ha supuesto que es una secuencia de palabras digitales de 16 bits que tienen valores aleatorios, entonces el número medio de ocurrencias de diseños de datos prohibido y de sustitución es solamente una vez en cada 32.768 palabras digitales. Si el segmento está limitado a 2002 palabras digitales, la probabilidad de tener más de ocho palabras digitales con diseños de datos prohibidos y/o de sustitución en un segmento es solamente de 3,04 x 10^{-17}. Si treinta segmentos representan un segundo de información, entonces el número de ocurrencias de diseños de datos prohibidos/de sustitución excederá del umbral de ocho solamente una vez cada 34,8 millones de años. Si la corriente de información original no es suficientemente aleatoria, podría aplicarse una operación de mezclar a la información original antes que la sustitución del diseño de datos prohibido. El procesador de información inversa invertiría entonces los efectos del mezclado después de que se haya invertido la sustitución.
Otro modo garantiza que la condición es satisfecha separando la corriente de información en segmentos de longitud variable tales que el número de palabras digitales en cada segmento respectivo que tiene los diseños de datos prohibido y de sustitución nunca excede del número de indicadores para ese segmento. Una indicación de la longitud del segmento puede ser ensamblada con el segmento. Distintos métodos para separar la corriente de información en segmentos de longitud variable se han descrito anteriormente y estos métodos pueden ser adaptados para su uso con esta técnica de sustitución.
La fig. 10 ilustra un dispositivo que puede ser usado para controlar la separación de segmentos de longitud variable. El componente 311 examina cada palabra digital en una corriente de información y cuenta el número de palabras digitales que tienen el diseño de datos prohibido, recibidas desde el trayecto 302, y el diseño de datos de sustitución, recibido desde el trayecto 305. Una indicación de cada ocurrencia es hecha pasar a lo largo del trayecto 315 al reemplazador 320 e indicadores 318. Cuando este cómputo alcanza un número de umbral, el componente 312 indica a lo largo del trayecto 314 que la corriente de información debe ser separada en un segmento y el componente 311 repone el contador a cero para el siguiente segmento.
Aún otro modo garantiza que la condición es satisfecha generando un número variable de indicadores para cada segmento y haciendo pasar una indicación del número de indicadores al formateador 330.
Múltiples diseños de datos prohibidos
Esta técnica de sustitución puede ser extendida para evitar múltiples diseños de datos prohibidos usando un diseño de datos de sustitución diferente para cada diseño de datos prohibido en unión con un único conjunto de indicadores. En este caso, cada diseño de datos de sustitución y una representación de cada diseño de datos prohibido correspondiente debe ser hecha pasar al formateador 330 para ensamblar con la información codificada a menos que estos diseños y su correspondencia sean conocidos a priori para el procesador de información inversa 5.
Alternativamente, puede usarse un único diseño de datos de sustitución para reemplazar múltiples diseños de datos prohibidos construyendo un único conjunto de indicadores que indica que el diseño de datos prohibido ha sido reemplazado. En este caso, una representación de cada diseño de datos prohibido y su correspondencia con los indicadores debe ser hecha pasar al formateador 330 para ensamblar con el segmento modificado a menos que estos diseños y su correspondencia a los indicadores sean conocidos a priori para el procesador de información inversa 5. Por ejemplo, un conjunto de indicadores de los bits podría transportar lo siguiente: 00 indica el diseño de datos de sustitución ocurrido en la corriente de información original, 01 indica que el diseño de datos de sustitución reemplaza a un primer diseño de datos prohibido, 10 indica que el diseño de datos de sustitución reemplaza a un segundo diseño de datos prohibido, y 11 indica que el diseño de datos de sustitución reemplaza un tercer diseño de datos prohibido.
En otra alternativa, un diseño de datos de sustitución distinto y un conjunto distinto de indicadores pueden ser establecidos para cada diseño de datos prohibido. Una representación del diseño de datos prohibido respectivo debe ser hecha pasar al formateador 330 para ensamblar con el segmento modificado a menos que estos diseños y su correspondencia a los conjuntos de indicadores sean conocidos a priori para el procesador de información inversa 5.
Como se ha mencionado antes, los propios diseños de datos prohibidos no pueden ser transportados directamente al procesador de información inversa, por ello, deben ser transportados representaciones alternativas en vez de ellos. Estas representaciones son generadas por el codificador 325. Además, el conjunto o más conjuntos de indicadores deben ser transportados de una manera que no sea igual a ninguno de los diseños de datos prohibidos.
Recuperación de la información original
La fig. 11 es un diagrama de bloques del procesador de información inversa 5 que recupera la corriente de información original a partir de la información generada por un procesador de información 3 tal como se ha mostrado en la fig. 9.
El desformateador 350 recibe una señal de entrada desde el trayecto 351, extrae segmentos modificados y un conjunto de indicadores desde la señal de entrada, hace pasar los segmentos codificados a lo largo del trayecto 382 al reemplazador inverso 360 y al explorador 376, y hace pasar el conjunto de indicadores a lo largo del trayecto 375 al explorador 376. El explorador 376 examina el segmento modificado y el conjunto de indicadores para encontrar ocurrencias del diseño de datos de sustitución, recibido desde el trayecto 361, y genera a lo largo del trayecto 377 una indicación de qué palabras digitales con diseños de datos de sustitución deben ser reemplazadas por palabras digitales que tienen el diseño de datos prohibido. La sustitución inversa 360 recibe las indicaciones desde el trayecto 377 y reemplaza ocurrencias indicadas del diseño de datos de sustitución con el diseño de datos prohibido, recibido desde el trayecto 372. Los segmentos que resultan del proceso de sustitución inversa son hechos pasar a lo largo del trayecto 369.
Si el diseño de datos de sustitución es transportado con la información codificada, el desformateador 350 extrae este diseño y lo hace pasar a lo largo del trayecto 381 al explorador 376.
Si una representación del diseño de datos prohibido es transportada con la información codificada, el desformateador 350 extrae la representación y la hace pasar a lo largo del trayecto 371 al descodificador 370, que recupera el diseño de datos prohibido y lo hace pasar a lo largo del trayecto 372 al reemplazador inverso 360. El proceso usado para recuperar el diseño de datos prohibido invierte el proceso usado para generar la representación.
En esta realización, si todos los indicadores en un conjunto de indicadores para un segmento respectivo son iguales a cero, no se requiere sustitución inversa para ese segmento y puede ser hecho pasar al trayecto 369 sin cambios.
Si se permiten segmentos de longitud variable, el desformateador 350 también extrae de la información codificada cualquier cosa que sea necesaria para identificar la longitud y límites de cada segmento.
Preferiblemente, los indicadores y cualquier indicación necesaria de límites de segmento son ensamblados antes del segmento modificado correspondiente de modo que la operación de sustitución inversa pueda ser realizada cuando cada segmento modificado es recibido.

Claims (27)

1. Un método para tratar información digital de audio o vídeo para evitar un diseño de datos prohibido, en el que el método comprende: recibir un segmento de la información digital de audio o vídeo que comprende palabras digitales, obtener una clave de codificación para controlar un proceso de codificación, en el que la clave de codificación es tal que el proceso de codificación aplicado a cada palabra digital en el segmento produce un resultado que no es igual al diseño de datos prohibido, aplicar el proceso de codificación a las palabras digitales en el segmento para generar información codificada, en que el proceso de codificación es aplicado de manera controlada por la clave de codificación, y ensamblar información de control y la información codificada en una forma que es adecuada para transmisión o almacenamiento, en que la información de control no es igual al diseño de datos prohibido y es tal que una clave de descodificación para un proceso de descodificación complementario al proceso de codificación puede obtenerse a partir del mismo.
2. Un método según la reivindicación 1ª que obtiene la clave de codificación a partir de una o exclusiva Booleana del diseño de datos prohibido y un diseño de datos distintos de cero que no ocurre en el segmento, y genera la información codificada a partir de una o exclusiva Booleana de la clave de codificación y las palabras digitales en el segmento.
3. Un método según la reivindicación 2ª que obtiene los diseños de datos que no ocurren en el segmento formando una disposición de valores que representan frecuencias de ocurrencia en el segmento para diseños de datos respectivos y seleccionando uno o más diseños de datos distintos de cero con una frecuencia cero de ocurrencia.
4. Un método para tratar información para recuperar un diseño de datos prohibido, en el que el método comprende: recibir un segmento de información que comprende palabras digitales e información de control, y extraer de la información de control una clave de descodificación para controlar un proceso de descodificación, aplicar el proceso de descodificación a las palabras digitales en el segmento para generar información de audio o vídeo descodificada, en que el proceso de descodificación es aplicado en un modo controlado por la clave de descodificación para recuperar una o más palabras digitales que tienen el diseño de datos prohibido, y generar una señal de audio o vídeo de salida a partir de la información de audio o vídeo descodificada.
5. Un método según la reivindicación 4ª, en el que el proceso de descodificación genera la información de audio o vídeo descodificada a partir de una o exclusiva Booleana de la clave de descodificación con las palabras digitales en el segmento.
6. Un método para tratar información digital de audio o vídeo para evitar un diseño de datos prohibido, en el que el método comprende: recibir un segmento de la información digital de audio o vídeo que comprende palabras digitales, obtener un diseño de datos de sustitución que no es igual al diseño de datos prohibido y no ocurre en el segmento, reemplazar cada palabra digital en el segmento que tiene el diseño de datos prohibido con una palabra digital sustituta que tiene el diseño de datos de sustitución, y ensamblar el diseño de datos de sustitución y el segmento con palabras digitales sustitutas en una forma que es adecuada para transmisión o almacenamiento.
7. Un método según las reivindicaciones 1ª, 2ª, 3ª o 6ª que comprende separar la información digital de audio o vídeo para obtener el segmento de palabras digitales tal que el segmento contenga no más de un número umbral de palabras digitales, en el que el número umbral es menor que un cómputo de todos los valores posibles de las palabras digitales.
8. Un método según las reivindicaciones 1ª, 2ª, 3ª, 6ª o 7ª que comprende separar la información digital de audio o vídeo para obtener el segmento de palabras digitales tal que al menos un número umbral de diseños de datos diferentes no ocurre en ninguna palabra digital en el segmento.
9. Un método según la reivindicación 6ª para tratar información digital de audio o vídeo para evitar uno o más diseños de datos prohibidos, en el que el método obtiene un diseño de datos de sustitución respectivo para cada diseño de datos prohibido respectivo que ocurre en el segmento, reemplaza cada palabra digital que tiene el diseño de datos prohibido con el diseño de datos de sustitución respectivo, y ensambla representaciones de diseños de datos prohibidos con diseños de datos de sustitución respectiva, en el que las representaciones no son iguales a uno o más diseños de datos prohibidos.
10. Un método según la reivindicación 6ª o 9ª que obtiene el diseño de datos de sustitución formando una disposición de valores que representan frecuencias de ocurrencia en el segmento para diseños de datos respectivos y seleccionando un diseño de datos que tiene una frecuencia cero de ocurrencia.
11. Un método según las reivindicaciones 1ª, 2ª, 3ª, 6ª, 7ª, 8ª, 9ª o 10ª que comprende separar la información digital de audio o vídeo en una posición anterior a la palabra digital que tiene el diseño de datos prohibido para obtener el segmento de palabras digitales de tal modo que ninguna palabra digital en el segmento tiene el diseño de datos prohibido.
12. Un método para tratar información para recuperar un diseño de datos prohibido, en el que el método comprende: recibir un segmento de información que comprende palabras digitales e información de control, y extraer un diseño de datos de sustitución a partir de la información de control, reemplazar cada palabra digital en el segmento que tiene el diseño de datos de sustitución con una palabra digital sustituta que tiene el diseño de datos prohibido, y generar una señal de audio o vídeo de salida desde el segmento con palabras digitales sustitutas.
13. Un método según la reivindicación 12ª para tratar información para recuperar uno o más diseños de datos prohibidos, en que el método comprende: extraer a partir de la información de control uno o más diseños de datos de sustitución y una o más representaciones de diseños de datos prohibidos, en que una o más representaciones no son iguales a uno o más diseños de datos prohibidos, y derivar uno o más diseños de datos prohibidos desde una o más representaciones de diseños de datos prohibidos, en que un diseño de datos de sustitución respectivo tiene un diseño de datos prohibido derivado, y en que el método reemplaza cada palabra digital en el segmento que tiene un diseño de datos de sustitución respectivo con el diseño de datos prohibido derivado correspondiente.
14. Un método para tratar información digital de audio o vídeo para evitar una diseño de datos prohibido, en el que el método comprende: recibir un segmento de la información digital de audio o vídeo que comprende palabras digitales, construir un conjunto de indicadores, en el que cada indicador del conjunto corresponde a una palabra digital respectiva en el segmento que tiene o bien el diseño de datos prohibido o bien un diseño de datos de sustitución, y en el que cada indicador del conjunto indica si la palabra digital respectiva tiene el diseño de datos prohibido o el diseño de datos de sustitución, reemplazar cada palabra digital en el segmento que tiene el diseño de datos prohibido con una palabra digital sustituta que tiene el diseño de datos de sustitución, y ensamblar el conjunto de indicadores y el segmento con palabras digitales sustitutas en una forma que es adecuada para transmisión o almacenamiento.
15. Un método según la reivindicación 14ª para tratar información digital de audio o vídeo para evitar uno o más diseños de datos prohibidos, en que el método comprende separar la información digital de audio o vídeo para obtener el segmento de palabras digitales tal que el segmento contenga no más de un número umbral de palabras digitales que tiene uno de uno o más diseños de datos prohibidos.
16. Un método según la reivindicación 14ª o 15ª que comprende separar la información digital de audio o vídeo en una posición anterior a palabra digital que tiene el diseño de datos prohibido para obtener el segmento de palabras digitales tal que ninguna palabra digital en el segmento tiene el diseño de datos prohibido.
17. Un método según las reivindicaciones 14ª, 15ª o 16ª para tratar información digital de audio o vídeo para evitar uno o más diseños de datos prohibidos, en que el método comprende: obtener uno o más diseños de datos de sustitución, en los que un diseño de datos de sustitución respectivo es obtenido para cada diseño de datos prohibido respectivo que ocurre en el segmento, y separar la información digital de audio o vídeo para obtener el segmento de palabras digitales de tal modo que el segmento contenga menos de un número umbral de palabras digitales o bien uno o más diseños de datos prohibidos o bien uno o más diseños de datos de sustitución.
18. Un método según las reivindicaciones 14ª, 15ª, 16ª o 17ª para tratar información digital de audio o vídeo para evitar una pluralidad de diseños de datos prohibidos, en que el método comprende obtener una pluralidad de diseños de datos de sustitución, en el que se obtiene un diseño de datos de sustitución respectivo para cada diseño de datos prohibido respectivo que ocurre en el segmento, y en el que es construido un conjunto respectivo de indicadores para un diseño de datos prohibido respectivo y un diseño de datos de sustitución respectivo.
19. Un método según la reivindicación 18ª que ensambla una representación del diseño de datos prohibido respectivo con el conjunto respectivo de indicadores, en el que la propia representación no es igual a uno o más diseños de datos prohibidos.
20. Un método según la reivindicación 18ª o 19ª que ensambla una representación del diseño de datos de sustitución respectivo con el conjunto respectivo de indicadores.
21. Un método para tratar información para recuperar un diseño de datos prohibido, en que el método comprende: recibir un segmento de información que comprende palabras digitales e información de control, y extraer un conjunto de indicadores a partir de la información de control, en que cada indicador corresponde a una palabra digital respectiva en el segmento que tiene un diseño de datos de sustitución y en que cada indicador indica si la palabra digital respectiva debe tener el diseño de datos prohibido o el diseño de datos de sustitución, reemplazar con palabras digitales que tienen el diseño de datos prohibido aquellas palabras digitales respectivas en el segmento que tienen el diseño de datos de sustitución y que corresponden a un indicador respectivo que indica que la palabra digital respectiva debe tener el diseño de datos prohibido, y generar una señal de audio o vídeo de salida a partir del segmento con palabras digitales sustitutas.
22. Un método según la reivindicación 21ª para tratar información para recuperar una pluralidad de diseños de datos prohibidos, en que el método comprende extraer uno o más conjuntos de indicadores a partir de la información de control y obtener uno o más diseños de datos de sustitución, en que un diseño de datos de sustitución respectivo corresponde a un diseño de datos prohibido respectivo que ha de ser recuperado, y en el que un conjunto de indicadores respectivo corresponde a un diseño de datos prohibido respectivo y a un diseño de datos de sustitución respectivo.
23. Un método según la reivindicación 22ª, que comprende extraer a partir de la información de control una o más representaciones de diseños de datos prohibidos, en que una o más representaciones no son iguales a uno o más diseños de datos prohibidos, y derivar diseños de datos prohibidos respectivos desde una o más representaciones.
24. Un método según la reivindicación 22ª o 23ª que comprende extraer a partir de la información de control uno o más diseños de datos de sustitución.
25. Un método para tratar información digital de audio o vídeo para evitar uno o más diseños de datos prohibidos, en que el método comprende: recibir la información digital de audio o vídeo, en que la información digital de audio o vídeo comprende una pluralidad de palabras digitales, separar la información digital de audio o vídeo en una posición anterior a una palabra digital que tiene cualquiera de los diseños de datos prohibidos para obtener un primer segmento de palabras digitales anteriores a la posición que no tiene palabra digital con ningún diseño de datos prohibido y un segundo segmento de palabras digitales después de la posición que tiene una o más palabras digitales con uno de los diseños de datos prohibidos, tratar o procesar el segundo segmento de palabras digitales para obtener un segmento modificado que no contiene palabras digitales con ninguno de los diseños de datos prohibidos, y ensamblar la información de control con el segmento modificado en una forma que es adecuada para transmisión o almacenamiento, en que la información de control indica cómo el segundo segmento puede ser recuperado a partir del segmento modificado.
26. Un producto de programa de ordenador realizado en un medio legible por máquina, comprendiendo dicho producto de programa de ordenador instrucciones ejecutables por la máquina para realizar el método de cualquiera de las reivindicaciones 1ª a 25ª.
27. Un aparato para tratar o procesar información digital de audio o vídeo para evitar uno o más diseños de datos prohibidos, en que el aparato comprende medios para realizar el método ya citado en cualquiera de las reivindicaciones 1ª a 25.
ES99970818T 1998-10-19 1999-09-27 Evitar diseños de datos prohibidos en audio o video. Expired - Lifetime ES2216637T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/175,090 US6233718B1 (en) 1998-10-19 1998-10-19 Avoiding forbidden data patterns in coded audio data
US175090 1998-10-19

Publications (1)

Publication Number Publication Date
ES2216637T3 true ES2216637T3 (es) 2004-10-16

Family

ID=22638838

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99970818T Expired - Lifetime ES2216637T3 (es) 1998-10-19 1999-09-27 Evitar diseños de datos prohibidos en audio o video.

Country Status (14)

Country Link
US (1) US6233718B1 (es)
EP (1) EP1123611B1 (es)
JP (1) JP4424855B2 (es)
KR (1) KR100628814B1 (es)
AT (1) ATE265776T1 (es)
AU (1) AU765331B2 (es)
CA (1) CA2346081C (es)
DE (1) DE69916874T2 (es)
DK (1) DK1123611T3 (es)
ES (1) ES2216637T3 (es)
HK (1) HK1040146A1 (es)
MY (1) MY128198A (es)
TW (1) TW479219B (es)
WO (1) WO2000024171A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558276B2 (en) * 2004-11-05 2009-07-07 Cisco Technology, Inc. System and method for retrieving computed paths from a path computation element using a path key
JP2007058509A (ja) * 2005-08-24 2007-03-08 Toshiba Corp 言語処理システム
US7688231B2 (en) 2005-08-29 2010-03-30 Mrv Communications, Inc. Transmission of pathological data patterns
GB2430510B (en) * 2005-09-27 2011-05-25 Snell & Wilcox Ltd Improved scrambling
US11657788B2 (en) 2009-05-27 2023-05-23 Dolby International Ab Efficient combined harmonic transposition
TWI643187B (zh) 2009-05-27 2018-12-01 瑞典商杜比國際公司 從訊號的低頻成份產生該訊號之高頻成份的系統與方法,及其機上盒、電腦程式產品、軟體程式及儲存媒體
EP3151570B1 (en) 2015-09-30 2018-03-14 intoPIX Method and device for mapping a data stream into an sdi channel

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3878331A (en) 1972-10-20 1975-04-15 Barrie O Morgan Digital cryptographic system and method
FR2439444A1 (fr) 1978-10-18 1980-05-16 Lapeyronnie E Dispositif reversible de sur-codage pour la transmission confidentielle d'information pouvant etre imprimee
GB9008374D0 (en) 1990-04-12 1990-06-13 British Telecomm Communication system
JP3110035B2 (ja) * 1990-06-07 2000-11-20 株式会社東芝 携帯可能電子装置
ATE183328T1 (de) * 1991-05-29 1999-08-15 Pacific Microsonics Inc Verbessertes system zur kodierung/dekodierung von signalen
US5473328A (en) 1992-11-13 1995-12-05 Sony Corporation Method and apparatus for transmitting digital data
GB9312136D0 (en) 1993-06-11 1993-07-28 Inmos Ltd Transmission of messages
CA2183355C (en) 1994-02-15 2006-05-30 Kornelis Antonie Schouhamer Immink Method of converting a series of m-bit information words to a modulated signal, method of producing a record carrier, coding device, decoding device, recording device, reading device, signal, as well as a record carrier
FI98027C (fi) 1995-01-10 1997-03-25 Nokia Telecommunications Oy Pakettiradiojärjestelmä ja päätelaitteisto pakettiradiojärjestelmää varten
US6028639A (en) 1997-12-19 2000-02-22 Thomson Consumer Electronics, Inc. Process and apparatus for converting an MPEG-2 bitstream into SMPTE-259 compatible bitstream

Also Published As

Publication number Publication date
CA2346081A1 (en) 2000-04-27
TW479219B (en) 2002-03-11
JP4424855B2 (ja) 2010-03-03
CA2346081C (en) 2007-07-17
ATE265776T1 (de) 2004-05-15
KR20010080225A (ko) 2001-08-22
EP1123611A1 (en) 2001-08-16
EP1123611B1 (en) 2004-04-28
DE69916874D1 (de) 2004-06-03
AU6061199A (en) 2000-05-08
WO2000024171A1 (en) 2000-04-27
US6233718B1 (en) 2001-05-15
JP2002528964A (ja) 2002-09-03
MY128198A (en) 2007-01-31
HK1040146A1 (en) 2002-05-24
KR100628814B1 (ko) 2006-09-26
DK1123611T3 (da) 2004-08-09
DE69916874T2 (de) 2005-04-07
AU765331B2 (en) 2003-09-18

Similar Documents

Publication Publication Date Title
ES2228562T7 (es) Aparato de codificación de un indicador de combinación de formato de transporte para un sistema de comunicación móvil CDMA.
US8213607B2 (en) Method for securely extending key stream to encrypt high-entropy data
ES2327263T3 (es) Aparato de cifrado de bloques y procedimiento de cifrado de bloques que incluye la programacion de una clave de longitud variable.
ES2201839T3 (es) Codificacion de informacion auxiliar con informacion de audio condificada a base de tramas.
JP2001308712A (ja) パケット化直列データの復号化方法及びデコーダ
ES2231844T3 (es) Descodificacion huffman de alta velocidad binaria.
JPH03102920A (ja) 符号化方法、装置及び復号化装置
US20060067531A1 (en) Data transmission method and apparatus using multiple scrambling codes
ES2216637T3 (es) Evitar diseños de datos prohibidos en audio o video.
JP2006333478A (ja) パケットデータの符号化と復号
HUP0103219A2 (hu) Berendezés és eljárás n bites forrásszavak megfelelő m bites csatornaszavakká kódolásához, és m bites csatornaszavak megfelelő n bites forrásszavakká dekódolásához
JPS6217418B2 (es)
KR970702557A (ko) 오동기 에러로부터 데이타를 보호하기 위한 방법 및 장치(A Method and Apparatus for Protecting Data from Mis-Synchronization Errors)
RU98114984A (ru) Способ передачи данных и устройство для кодирования сигнала
Girod Bidirectionally decodable streams of prefix code-words
HUP0202426A2 (en) Method of converting a stream of databits of a binary information signal, into a stream of databits of a constrained binary channel signal, device for encoding, signal comprising a stream of databits of a constrained binary channel signal, ...
JP3960629B2 (ja) 可変長符号器を使用する伝送システム
ES2355205T3 (es) Señalización de información significativa de señal entre una capa de aplicación y un codificador de canal.
EP4216442A1 (en) Generalized near optimal packet encoding
JP2023036033A (ja) データエンコーディング方法、エンコーダおよびデータデコーディング方法
JP3827678B2 (ja) 同期コードワードのパリティ情報を用いたdc成分抑圧可能データ変調方法及び装置
JP2003536315A (ja) バイナリのソース信号のデータビットのストリームをバイナリのチャネル信号のデータビットのストリームに符号化するデバイス、メモリ手段、情報を記録するデバイス、記録担体、符号化するデバイス、および再生するデバイス
US6611211B2 (en) Data mask coding
US5963152A (en) Resolving block method for synchronization correction in run-length limited codes
KR100677201B1 (ko) 섹션 필터링 방법