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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic 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/21—EXCLUSIVE-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting 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/4906—Transmitting 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1265—Control data, system data or management information, i.e. data used to access or process user data
- G11B2020/1285—Status 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.
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.
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.
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.
é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.
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.
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.
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.
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.
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.
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.
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
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.
codificada.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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 |
-
1998
- 1998-10-19 US US09/175,090 patent/US6233718B1/en not_active Expired - Lifetime
-
1999
- 1999-09-27 ES ES99970818T patent/ES2216637T3/es not_active Expired - Lifetime
- 1999-09-27 AT AT99970818T patent/ATE265776T1/de active
- 1999-09-27 JP JP2000577810A patent/JP4424855B2/ja not_active Expired - Lifetime
- 1999-09-27 DK DK99970818T patent/DK1123611T3/da active
- 1999-09-27 EP EP99970818A patent/EP1123611B1/en not_active Expired - Lifetime
- 1999-09-27 AU AU60611/99A patent/AU765331B2/en not_active Expired
- 1999-09-27 KR KR1020017004851A patent/KR100628814B1/ko active IP Right Grant
- 1999-09-27 CA CA002346081A patent/CA2346081C/en not_active Expired - Lifetime
- 1999-09-27 DE DE69916874T patent/DE69916874T2/de not_active Expired - Lifetime
- 1999-09-27 WO PCT/US1999/022410 patent/WO2000024171A1/en active IP Right Grant
- 1999-10-18 MY MYPI99004492A patent/MY128198A/en unknown
- 1999-10-19 TW TW088118063A patent/TW479219B/zh not_active IP Right Cessation
-
2002
- 2002-02-11 HK HK02101056A patent/HK1040146A1/xx not_active IP Right Cessation
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) | 섹션 필터링 방법 |