ES2208718T3 - Aparato que emplea tablas de control de memoria relativas al tratamiento de graficos de video para receptores de tv. - Google Patents
Aparato que emplea tablas de control de memoria relativas al tratamiento de graficos de video para receptores de tv.Info
- Publication number
- ES2208718T3 ES2208718T3 ES96305725T ES96305725T ES2208718T3 ES 2208718 T3 ES2208718 T3 ES 2208718T3 ES 96305725 T ES96305725 T ES 96305725T ES 96305725 T ES96305725 T ES 96305725T ES 2208718 T3 ES2208718 T3 ES 2208718T3
- Authority
- ES
- Spain
- Prior art keywords
- sprite
- data
- list
- line
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/641—Multi-purpose receivers, e.g. for auxiliary information
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/42—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/10—Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Studio Circuits (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
Abstract
UN APARATO PARA PROCESAR SEÑALES DE CARACTERES GRAFICOS Y DE VIDEO MEZCLADAS PARA SU REPRESENTACION SOBRE UN RECEPTOR DE TELEVISION INCLUYE UNA MEMORIA DE CARACTERES GRAFICOS (38) Y UN CONTROLADOR DE MEMORIA Y UNA MAQUINA DE ESTADO DE GRUPO DE CARACTERES VISUALIZABLES (42). LA MEMORIA DE CARACTERES GRAFICOS INCLUYE UNA TABLA DE LISTA DE GRUPO DE CARACTERES VISUALIZABLES (90), UNA TABLA DE DATOS DEL GRUPO DE CARACTERES VISUALIZABLES (92) Y OTRAS TABLAS OPCIONALES (94, 96). LA TABLA DE LISTA DE GRUPO DE CARACTERES VISUALIZABLES LISTA UNO O MAS CARACTERES GRAFICOS EN UNA SECUENCIA PREDETERMINADA PARA REPRESENTAR SOBRE EL RECEPTOR DE TELEVISION, Y ALMACENA INFORMACION GENERAL RELACIONADA CON LOS CARACTERES GRAFICOS DENTRO DE LAS PALABRAS DE CONTROL EN CADA LISTADO. LA TABLA DE DATOS DE GRUPO DE CARACTERES VISUALIZABLES ALMACENA LOS DATOS DE LOS PIXELES PARA LAS LINEAS HORIZONTALES DE CADA UNO DE LOS CARACTERES GRAFICOS QUE SON ACCEDIDOS POR UNA PALABRA DE CONTROL EN CADA UNO DE LOS LISTADOS DECARACTERES GRAFICOS EN LA TABLA DE LISTA DE GRUPO DE CARACTERES VISUALIZABLES. UNA TABLA DE CONTROL DE LINEA OPCIONAL (94) CONTIENE LAS PALABRAS DE CONTROL QUE SON ACCEDIDAS POR MEDIO DEL LISTADO DE CARACTERES GRAFICOS PARA SUMINISTRAR CONTROLES INDEPENDIENTES PARA CADA UNA DE LAS LINEAS HORIZONTALES OBTENIDAS A PARTIR DE LA TABLA DE DATOS DE GRUPO DE CARACTERES VISUALIZABLES PARA PRODUCIR EFECTOS ESPECIALES PREDETERMINADOS. SE UTILIZA UNA TABLA DE LISTA O DE EXTENSION OPCIONAL (96) PARA DETERMINAR CUAL DE LOS LISTADOS DE CARACTERES GRAFICOS SE PRODUCE SOBRE UNA LINEA HORIZONTAL PARA PROVOCAR UN ACCESO SOLAMENTE DE AQUELLOS LISTADOS DE CARACTERES GRAFICOS QUE SE PRODUCEN PARA ENSAMBLAR LOS DATOS DE PIXELES PARA ESA LINEA HORIZONTAL. EL CONTROLADOR DE MEMORIA Y LA MAQUINA DE ESTADO DE GRUPO DE CARACTERES VISUALIZABLES ACCEDEN A LAS TABLAS DE LA MEMORIA DE CARACTERES GRAFICOS EN UNA SECUENCIA PREDETERMINADA PARA ENSAMBLAR Y REPRESENTAR CADA UNO DE LOS CARACTERES GRAFICOS Y SUS EFECTOS ESPECIALES EN UBICACIONES PREDETERMINADAS EN LAS LINEAS HORIZONTALES DE UNA PANTALLA DE UN RECEPTOR DE TELEVISION. EL CONTROLADOR DE MEMORIA Y LA MAQUINA DE ESTADO DE GRUPO DE CARACTERES VISUALIZABLES TAMBIEN UTILIZA CONTROLES DE HABILITACION DE CAMPO DE LA TABLA DE LISTA DE GRUPO DE CARACTERES VISUALIZABLES PARA ENSAMBLAR UN CARACTER GRAFICO SOBRE LAS LINEAS DE UN PRIMER CAMPO Y UN SEGUNDO CARACTER GRAFICO SOBRE LAS LINEAS DE UN SEGUNDO CAMPO.
Description
Aparato que emplea tablas de control de memoria
relativas al tratamiento de gráficos de vídeo para
receptores
de TV.
de TV.
La presente invención se refiere a un aparato que
emplea tablas de control de memoria en una memoria de gráficos para
tratar señales gráficas de vídeo mezcladas de formato YUV (señales
compuestas de vídeo) y de gamas de color, para producir efectos
especiales deseados. Una máquina controladora de memoria y de
Estado de Sprite (elementos de animación) se emplea con la memoria
gráfica para presentar selectivamente tales señales gráficas de
vídeo por sí solas o para superponer selectivamente tales señales
gráficas de vídeo mezcladas sobre señales de televisión en directo
recibidas de una fuente remota.
Algunos ordenadores disponibles en el mercado,
particularmente ordenadores personales, disponen de circuitos que
permiten unir una señal compuesta de vídeo, tal como, por ejemplo,
una señal del Comité Nacional de Sistemas de Televisión (National
Television Standards Committee - NTSC), con señales gráficas de
vídeo de presentación generadas por ordenador, normalmente rojas,
verdes y azules (RGB). Más concretamente, los equipos modernos de
gráficos de vídeo tienen la capacidad de producir fondos,
caracteres, símbolos y otras representaciones y disposiciones
pictóricas en tamaños, formas y colores seleccionados por el
operador.
La patente estadounidense N° 4.737.772 (Nishi et
al.), emitida el 12 de abril de 1988, describe un controlador de
presentación de vídeo que comprende un procesador de presentación
de vídeo (VDP), una Unidad Central de Tratamiento (CPU), una
memoria, y una Memoria de Acceso Aleatorio de Vídeo (VRAM). La
memoria almacena tanto programas a ejecutar por la CPU como varios
tipos de datos de imagen. La VRAM almacena datos de imagen que el
VDP pude alterar y transferir luego al exterior para la
presentación en un visualizador de una pantalla de tubo de rayos
catódicos (TRC). En el VDP, un generador de señales de
temporización genera señales de temporización para explorar
correctamente elementos de la imagen a presentar que son empleados
por contadores horizontales y verticales y por la pantalla TRC para
sincronizar el tratamiento de datos en un circuito de tratamiento
de datos de imagen (image data processing circuit - IDPC) y para
presentar correctamente tales datos procesados en el visualizador
de la pantalla TRC. Un Digitalizador de Vídeo muestrea una señal
analógica de vídeo suministrada desde el exterior y convierte
niveles o amplitudes de señal de la señal analógica de vídeo en
datos digitales compuestos por 2 ó 4 bits cada uno. Los datos de
salida de amplitud digitalizada procedentes del Digitalizador de
Vídeo representan una imagen fija y los datos se suministran al
IDPC. El IDPC almacena selectivamente tanto los datos de salida del
Digitalizador de Vídeo como los códigos de color suministrados desde
la CPU en la VRAM a través de un circuito de interfaz. Cada código
de color procedente de la CPU representa un color de uno respectivo
de los elementos de presentación (por ejemplo, un pixel) que
constituye una imagen fija en la pantalla. En funcionamiento, en
respuesta a un comando de presentación procedente de la CPU, el
IDPC lee secuencialmente datos de punto de la VRAM en
sincronización con la posición de exploración en la pantalla TRC y
da salida a los datos de punto hacia un circuito de paleta de
colores. Simultáneamente, el IDPC calcula y lee los datos
necesarios para presentar una imagen animada procedente de la VRAM
y suministra códigos de color al circuito de paleta de colores.
Cuando una imagen animada y una fija están situadas en la misma
posición de presentación en el visualizador de la pantalla TRC,
preferiblemente se presenta la imagen animada. El circuito de
paleta de colores convierte cada código de color en tres datos de
color para el rojo (R), el verde (G) y el azul (B), cada uno
compuesto por tres bits. Un Convertidor Digital/Analógico (Digital
to Analog Converter - DAC) convierte los datos de color procedentes
del circuito de paleta de colores en señales R, G y B que se
proporcionan a la pantalla TRC.
La patente estadounidense 5.355.175 (Okada et
al.), emitida el 11 de octubre de 1994, describe un aparato de
mezcla de vídeo que mezcla una imagen gráfica de vídeo y una imagen
de vídeo de reproducción en una pluralidad de proporciones de
mezcla en un plano de imagen. Datos de fundido indicativos de la
proporción de mezcla de al menos una línea de la señal de vídeo de
reproducción y de la señal gráfica de vídeo se generan
secuencialmente según un orden predeterminado. Los datos de fundido
se almacenan en un medio de almacenamiento temporal y se les da
salida del medio de almacenamiento temporal sincronizadamente con
una señal horizontal de sincronización. Los niveles de la señal de
vídeo de reproducción y de la señal gráfica de vídeo se ajustan
individualmente según los datos de fundido sacados del medio de
almacenamiento temporal, y las señales ajustadas se añaden
conjuntamente. La señal de vídeo de reproducción y la señal gráfica
de vídeo se mezclan en la proporción de mezcla establecida para
cada línea en un plano de imagen para generar una señal de salida
de vídeo procedente del aparato.
La patente estadounidense N° 4.420.770 (Rahman),
emitida el 13 de diciembre de 1983, describe un sistema de
generación de fondos de vídeo para generar patrones rectangulares
de vídeo que tienen atributos de vídeo seleccionados por el
operador. El sistema comprende una memoria de bits horizontales y
una memoria de bits verticales, siendo cada una de las memorias un
memoria de 16 entidades para almacenar información para 16 entidades
de fondo. La memoria para cada entidad de fondo define esquinas
opuestas de la zona de fondo para una entidad en la pantalla. Tal
como se muestra en la figura 2 de la patente, una primera entidad
define una primera zona rectangular, y una segunda entidad de
prioridad más alta define una segunda zona rectangular que se
solapa parcialmente. Una tabla de consulta de atributos almacena
información para cada entidad relacionada con la producción de vídeo
en color (rojo, verde, azul) para esa entidad. Durante la
exploración de las líneas de una imagen que se está produciendo, la
primera entidad se produce en su zona definida y la segunda entidad
se produce en su zona definida. Sin embargo, la segunda tiene una
prioridad más alta, lo que da como resultado la zona de
solapamiento de las dos entidades a presentar con los atributos
almacenados de la segunda entidad.
La patente estadounidense N° 4.754.270
(Murauchi), emitida el 28 de junio de 1988, describe un aparato
digitalizado de presentación que es capaz de agrandar o reducir el
tamaño de una imagen representada en el visualizador de una
pantalla de tipo de barrido de trama, tal como una pantalla TRC. El
aparato comprende un medio de memoria direccionable, un medio de
datos de entrada y un medio generador de datos variables de
dirección. El medio de memoria direccionable almacena datos de
presentación que se leen según una relación predeterminada de
temporización con un barrido de trama del visualizador para
producir una imagen de presentación. El medio de datos de entrada
suministra datos numéricos que determinan el tamaño de la imagen.
El medio generador de datos variables de dirección incluye
incrementos variables de direccionamiento para generar datos de
dirección que están correlacionados con direcciones de datos de
presentación que están almacenados en el medio de memoria con el
fin producir los datos de presentación. El medio generador de datos
variables de dirección comprende un medio aritmético de cálculo
para calcular digitalmente incrementos de direccionamiento en
respuesta a los datos numéricos suministrados por el medio de datos
de entrada. Además, en respuesta a señales de temporización
relacionadas con la exploración del visualizador, el medio
generador de datos variables de dirección es sensible al medio
aritmético de cálculo para incrementar direcciones con el fin de
direccionar el medio de memoria según los datos numéricos que
determinan el tamaño de imagen. Más concretamente, cuando se
presenta una imagen con tamaño original, se incrementa una
dirección horizontal del medio de memoria en un "1" cada 200
nanosegundos. Es decir, un tamaño de punto en la dirección
horizontal de la presentación tiene un tiempo de presentación de
200 nanosegundos para presentar el tamaño original. El tamaño de
punto en la dirección horizontal puede agrandarse o reducirse
cambiando el tiempo de presentación de un punto en la dirección
horizontal al seleccionar apropiadamente datos adicionales que se
proporcionan al medio de memoria. Al ajustar apropiadamente los
datos adicionales, el tamaño de los caracteres y las imágenes
asociadas en la pantalla de presentación puede agrandarse o
reducirse con respecto a un tamaño nominal.
La patente estadounidense N° 4.700.181 (Maine et
al.), emitida el 13 de octubre de 1987, describe un sistema para el
almacenamiento, la recuperación y la manipulación de datos para
producir una presentación, en el que, entre otros, la
disponibilidad de color se encuentra en forma de paletas
apropiadamente preseleccionadas, los objetos tridimensionales o
planos se componen de patrones de elementos que se almacenan
individualmente, la imagen de presentación está formada en memorias
intermedias, que se alternan como memorias intermedias de
construcción y de presentación, por datos a los que se obtiene
acceso en la memoria por listas que los vinculan en orden
ascendente de prioridad visible, siendo los datos escritos a
continuación en las memorias intermedias, variando la naturaleza
del almacenamiento de datos de manera predeterminada para distintos
tipos de objetos, todo para que puedan presentarse y manipularse
gráficos muy complejos y agradables a la vista dentro de la
restricción de tiempo de un sistema de barrido de trama de vídeo de
secuencia completa.
Actualmente está surgiendo una necesidad de
gráficos de vídeo interactivos que permitirán que se suministre una
nueva clase completa de servicios en los hogares a través de una
red de televisión por cable. Estos nuevos servicios mejorarán la
experiencia de visionado de muchos programas de televisión
tradicionales al tiempo que proporcionen servicios incrementados a
otros. Sin embargo, los receptores NTSC y de Línea de Alternancia
de Fase (Phase Alternating Line - PAL) de televisión, al contrario
que las pantallas de ordenador, tienen un ancho de banda de vídeo
relativamente bajo y emplean una presentación entrelazada y no por
barrido progresivo. Estas limitaciones imponen severas
restricciones a la generación de una señal sintética de vídeo de
alta resolución, libre de artefactos. Tradicionalmente, los
productos de consumo, tales como los videojuegos, evitan estos
problemas generando señales de vídeo no entrelazadas de baja
resolución. Este enfoque tiene como resultado imágenes que son de
baja calidad, tienen un aspecto de "bloque", tienen
limitaciones en cuanto a la elección de color y adquieren un aspecto
de dibujos animados. La generación de vídeo sintético que se
aproxime a la calidad de emisión requiere que las señales
sintetizadas generadas emulen la de una cámara de vídeo que explora
una escena y el tratamiento posterior de señales analógicas para
tales señales de la cámara de vídeo. Por tanto, es deseable
proporcionar una disposición relativamente económica que emplee
tablas de memoria para almacenar y tratar muchos gráficos (sprites)
en varias configuraciones y efectos especiales al tiempo que
permita que se puedan superponer gráficos sintéticos de vídeo de
buena calidad los unos sobre los otros o sobre programación de
televisión en directo para el visionado en receptores de televisión
estándar NTSC o PAL entrelazados de la manera estándar.
La presente invención está dirigida a un aparato
económico que utiliza tablas de control de memoria para tratar
señales gráficas (sprite) de vídeo mezcladas YW y de gamas de
color, para producir efectos especiales deseados, y para presentar
selectivamente tales señales gráficas de vídeo por sí solas o para
superponer selectivamente tales señales gráficas de vídeo mezcladas
sobre señales de televisión en directo recibidas de una fuente
remota.
Contemplada desde un aspecto, la presente
invención se está dirigida a aparatos para tratar señales gráficas
y de vídeo mezcladas para la presentación en un receptor estándar
de televisión que comprenda una memoria gráfica y una máquina
controladora de memoria y de Estado de Sprite. La memoria gráfica
comprende una tabla de listas de sprites y una tabla de datos de
sprites. La tabla de listas de sprites incluye uno o más gráficos
en una secuencia predeterminada para la presentación en el receptor
de televisión. La tabla de listas de sprites también almacena
información general relacionada con el uno o más gráficos dentro de
las palabras de control en cada listado. La tabla de datos de
sprites almacena datos de píxeles para las líneas horizontales de
cada uno del uno o más gráficos. Una palabra de control en el
listado en la tabla de listas de sprites para cada uno del uno o
más gráficos, obtiene acceso a las líneas horizontales en la tabla
de datos de sprites para cada uno del uno o más gráficos. La
máquina controladora de memoria y de Estado de Sprite es sensible a
señales de habilitación de campo procedentes de la tabla de listas
de sprites que indican qué campo de una trama de dos campos de una
imagen de vídeo está siendo presentada en una pantalla del receptor
de televisión para obtener acceso y ensamblar un primer gráfico
predeterminado incluido en la tabla de listas de sprites para las
líneas horizontales de sólo uno de los dos campos y un segundo
gráfico predeterminado incluido en la tabla de listas de sprites o
en una señal de televisión en directo para líneas horizontales del
otro de los dos campos.
La invención se entenderá mejor a partir de la
siguiente descripción más detallada, tomada con los dibujos
adjuntos.
La figura 1 es un diagrama de bloques de una
unidad de caja de cable de abonado según la presente invención;
la figura 2 es un diagrama de bloques de una
primera parte de los Circuitos de Tratamiento de Vídeo en la unidad
de caja de cable de abonado de la figura 1 según la presente
invención;
la figura 3 es un diagrama de bloques de una
segunda parte de los Circuitos de Tratamiento de Vídeo dispuesta en
la unidad de caja de cable de abonado de la figura 1 según la
presente invención;
las figuras 4, 5 y 6 ilustran el funcionamiento
de una Memoria Intermedia de Ensamblaje de Píxeles que forma parte
de la primera parte de los Circuitos de Tratamiento de Vídeo de la
figura 3 según la presente invención;
la figura 7 es un diagrama de bloques de un
Multiplexor/Atenuador ejemplar que forma parte de una segunda parte
de los Circuitos de Tratamiento de Vídeo mostrados en la figura
3;
la figura 8 es un diagrama de bloques de una
disposición ejemplar de un Convolucionador que forma parte de la
segunda parte de los Circuitos de Tratamiento de Vídeo mostrados en
la figura 3;
la figura 9 es un diagrama de bloques de una
Memoria Gráfica que comprende tablas, y la primera parte de unos
Circuitos de Tratamiento de Vídeo mostrados en la figura 2 según la
presente invención;
las figuras 10, 11, 12, 13, 14 y 15 muestran
varias configuraciones que pueden conseguirse empleando las tablas
de la Memoria Gráfica mostrada en la figura 9 según una primera
realización de la presente invención;
la figura 16 es una vista ejemplar de una
pantalla de presentación que emplea una tabla de listas de
recorridos que se encuentra en la Memoria Gráfica mostrada en la
figura 9 según una segunda realización de la presente invención; y
la figura 17 es una sección ejemplar de una pantalla entrelazada de
un receptor de televisión en la que un primer y un segundo sprite
se entrelazan en una parte de la pantalla según una tercera
realización de la presente invención.
Debe entenderse que a elementos correspondientes
que realizan la misma función en cada una de las figuras se les ha
dado el mismo número de referencia.
Haciendo ahora referencia a la figura 1, se
muestra un diagrama de bloques de una unidad 10 de caja de cable de
abonado que puede encontrarse en el local de un abonado y
proporciona un tratamiento interactivo de vídeo según la presente
invención. La unidad 10 de caja de cable de abonado comprende un
primer módulo 12 (MÓDULO 1) (mostrado dentro de un primer
rectángulo de líneas discontinuas) y un segundo módulo 14 (MÓDULO
2) (mostrado dentro de un segundo rectángulo de líneas
discontinuas). El primer módulo 12 es una disposición convencional
que comprende un Convertidor 20 de Radiofrecuencia (RF) a Banda
Base y un Sistema 22 de Control del Convertidor. El Convertidor 20
de RF a Banda Base recibe señales RF multiplexadas de canales de
televisión en el formato del estándar NTSC o PAL que se propagan en
un cable 27 procedentes de las oficinas centrales remotas de una
compañía de cable (no mostrada) y convierte selectivamente tales
señales RF multiplexadas de canales de televisión a frecuencias de
banda base. El Convertidor 20 de RF a Banda Base transmite una
señal compuesta resultante de banda base de salida de vídeo del
proceso de conversión a través de un bus 24 al segundo módulo 14.
El Sistema 22 de Control del Convertidor es un usuario (abonado)
está controlado normalmente bien por un dispositivo de control
remoto por Infrarrojos, bien por un teclado en la caja de cable,
tal como es bien sabido en la técnica. El Sistema 22 de Control del
Convertidor funciona para recibir y/o transmitir señales de
autorización y de control de acceso a través del cable 27 a o desde
una oficina central remota de una compañía de cable, activar la
aleatorización o la desaleatorización de vídeo de banda base y
producir mensajes de Presentación en Pantalla (On Screen Display -
OSD). El Sistema 22 de Control del Convertidor da salida a señales
de control a través de un bus 29 hacia el Convertidor 20 de RF a
Banda Base para la selección de los programas de cable deseados y a
varias señales desencriptadas de datos y de control (por ejemplo,
señales de control y de salida de datos aguas arriba, señales de
transmisión y recepción de Infrarrojos y señales Tl desencriptadas
de datos de Modulación por Desplazamiento de Fase Cuaternaria) a
través de unos cables 31 y 33 hacia el segundo módulo 14.
El segundo módulo 14 comprende un Procesador 30
de Interfaz en Serie (Serial Interface Processor - SIP), unos
dispositivos 32 de Entrada/Salida (Input/Output - I/O), una Memoria
34 de Sólo Lectura (ROM), una Memoria 35 de Acceso Aleatorio (RAM),
una Unidad 36 Central de Tratamiento (CPU), una Memoria 38 Gráfica y
un circuito 40 integrado de Control de Memoria y de Vídeo (CONTROL
DE MEMORIA Y DE VÍDEO) (mostrado dentro de un rectángulo de líneas
discontinuas). El SIP 30, los dispositivos 32 de Entrada/Salida, la
ROM 34, la RAM 35, la CPU 36 y una Máquina 42 Controladora de
Memoria y de Estado de Sprite (MÁQ) del circuito 40 integrado de
Control de Memoria y de Vídeo están interconectados por un bus 48 de
datos. La CPU 36 puede comprender cualquier unidad de tratamiento
adecuada y según la presente invención es una CPU de tipo 386, la
cual es relativamente barata. La ROM 34 puede comprender cualquier
memoria adecuada tal como, por ejemplo, una EPROM con fines de
inicialización y para la programación de la CPU 36. La RAM 35 puede
comprender cualquier memoria adecuada tal como, por ejemplo, dos
DRAM de 256 Kilobytes por 16 bits conectadas en serie para
proporcionar una configuración de 512 K por 16 bits para el uso como
una memoria de circuito integrado para la CPU 36. La Memoria 38
Gráfica puede comprender cualquier memoria adecuada tal como, por
ejemplo, una zona RAM de 32 bits de ancho o preferiblemente dos
DRAM de 256 K por 16 bits dispuestas en paralelo para el uso con un
bus 39 de 32 bits de ancho. La Memoria 38 Gráfica se emplea para
almacenar datos de sprites relativos a gráficos e imágenes de vídeo.
El uso de un bus 39 de 32 bits de ancho permite el uso de
direccionamiento de memoria en modo página rápida tanto para una
Máquina 42 Controladora de Memoria y de Estado de Sprite como para
un desplazador de bloques de memoria (no mostrado) que forma parte
del Controlador 40 de Memoria y de Vídeo. Al hacer un uso
importante del direccionamiento de memoria en modo bloque, puede
conseguirse una velocidad media de transferencia de datos de
aproximadamente 52 nanosegundos, que corresponde a un tratamiento
de aproximadamente 77 millones de bytes de datos por segundo.
El SIP 30 funciona para manejar las
comunicaciones de datos entre el primer módulo 12 y el segundo
módulo 14. Más concretamente, el SIP 30 maneja todas las señales de
transferencia de datos entre el segundo módulo 14 y el sistema 22
de control del convertidor del primer módulo 12. Estas señales de
transferencia de datos pueden tener formatos tales como, por
ejemplo, un flujo de datos de tipo T1 a 1,5 Mbits/segundo que
implica el volumen de las transferencias de comunicación, y datos
en bruto procedentes de un receptor de infrarrojos (no mostrado) en
el sistema 22 de control del convertidor. El SIP 30 también puede
incluir un puerto serie síncrono, dúplex total (no mostrado) para
ampliaciones futuras. Tales formatos de señales de transferencia de
datos se emplean para comunicar entre el sistema 22 de control del
convertidor del primer módulo 12 y la CPU 36 en el segundo módulo
14, para activar acciones deseadas en el segundo módulo 14.
El circuito 40 integrado de Control de Memoria y
de Vídeo comprende la Máquina 42 Controladora de Memoria y de
Estado de Sprite, unos circuitos 44 de Compuesta a YUV y unos
circuitos 46 de Tratamiento (TRAT.) de Vídeo. La Máquina 42
Controladora de Memoria y de Estado de Sprite está acoplada a la
Memoria 38 Gráfica por un bus 39 de datos y a los circuitos 46 de
Tratamiento de Vídeo por un bus 45 de datos. Los circuitos 44 de
Compuesta a YUV reciben la señal compuesta de vídeo de banda base
procedente del bus 24 y da salida a las señales YUV de vídeo
resultantes hacia la Máquina 42 Controladora de Memoria y de Estado
de Sprite en un bus 43. Los circuitos 46 de Tratamiento de Vídeo
reciben señales de vídeo procedentes de la Máquina 44 de
Controladora de Memoria y de Estado de Sprite a través del bus 45
de datos y da salida a señales de vídeo en el estándar NTSC o PAL
en un bus 47 hacia un receptor de televisión remoto (no mostrado) o
a circuitos adicionales de tratamiento (no mostrados). Debe
entenderse que la presente invención está dentro de la zona del
circuito 40 integrado de Control de Memoria y de Vídeo y de la
Memoria 38 Gráfica. Los elementos del primer módulo 12 y del
segundo módulo 14 se presentaron y se expusieron anteriormente en
el presente documento para obtener una mejor comprensión de cómo la
presente invención se instala en la unidad 10 interactiva de caja
de cable de abonado.
Haciendo ahora referencia a las figuras 2 y 3, se
muestran diagramas de bloques de unas primera y segunda partes,
respectivamente, de unos Circuitos 46 de Tratamiento de Vídeo
(mostrados dentro de una zona de líneas discontinuas) hallados en
el segundo módulo 14 de la unidad 10 de caja de cable de abonado de
la figura 1, según la presente invención. Tal como se muestra en la
figura 2, una Memoria 38 Gráfica, que forma un elemento del segundo
módulo 14 de la figura 1, está acoplada a través de un bus 39 a una
Máquina 42 Controladora de Memoria y de Estado de Sprite que forma
parte de un Controlador 40 de Memoria y de Vídeo (mostrado dentro
de una zona de líneas discontinuas) del segundo módulo 14 de la
figura 1. Una primera parte de los circuitos 46 de Tratamiento de
vídeo comprende un Cable 50 Coaxial de Datos y una Memoria 52
Intermedia de Ensamblaje de Píxeles (mostrada dentro de un
rectángulo de líneas discontinuas). El Cable 50 Coaxial de Datos
recibe datos a través de un bus 45 que fueron obtenidos por la
Máquina 42 Controladora de Memoria y de Estado de Sprite procedentes
de la Memoria 38 Gráfica para un sprite en particular, para
transmisiones hacia la Memoria 52 Intermedia de Ensamblaje de
Píxeles. Más concretamente, el Cable 50 Coaxial de Datos recibe
datos para un sprite procedentes de la Memoria 38 Gráfica a través
de la Máquina 42 Controladora de Memoria y de Estado de Sprite y
proporciona salidas separadas relacionadas con datos de luminancia
(datosy) y datos de crominancia (datosc) para transmitir a la
Memoria 52 Intermedia de Ensamblaje de Píxeles.
La Memoria 52 Intermedia de Ensamblaje de Píxeles
comprende unas primera, segunda y tercera memorias 53, 54 y 55
intermedias de doble línea, respectivamente, y una memoria 58
intermedia de la línea 0 de Y/G. La primera memoria 53 intermedia
de doble línea se emplea para almacenar datos Y/G (luminancia) de
la línea la y datos Y/G de la línea 1b para las primera y segunda
líneas de un primer campo de una imagen de sprite recibida a través
de un bus 49, procedente del Cable 50 Coaxial de Datos. Los datos
de luminancia de línea comprenden 10 bits
(bits 9-0) de datos y control para cada píxel de una línea. La segunda memoria 54 de doble línea se emplea para almacenar datos C (crominancia) de la Línea la y datos C de la Línea 1b de las primera y segunda líneas del primer campo de la imagen de sprite recibida a través de un bus 51, procedente del Cable 50 Coaxial de Datos. Los datos de crominancia de línea comprenden 8 bits (bits 7-0) de datos para cada píxel de una línea. La tercera memoria 55 intermedia de doble línea se emplea para almacenar datos Y/G (luminancia) de la línea 2a y datos Y/G de la línea 2b de las primera y segunda líneas de un segundo campo de un imagen de sprite recibida a través del bus 49, procedentes del Cable 50 Coaxialde Datos. Los datos de luminancia de línea comprenden 10 bits (bits 9-0) de datos y control para cada píxel de una línea. Debe entenderse que las Líneas la y 2a de las primera y tercera memorias 53 y 55 intermedias de doble línea almacenan unas primera y segunda líneas horizontales de datos de píxeles, respectivamente, donde las primera y segunda líneas horizontales son líneas adyacentes en campos diferentes de la imagen de sprite en una formato entrelazado de presentación. Similarmente, las Líneas 1b y 2b de las primera y tercera memorias 53 y 55 intermedias de doble línea almacenan unas tercera y cuarta líneas horizontales de datos de píxeles, respectivamente, donde las tercera y cuarta líneas horizontales son líneas adyacentes en campos diferentes de la imagen de sprite en un formato entrelazado de presentación. Es decir, las primera y tercera memorias 53 y 55 intermedias de doble línea almacenan secuencialmente datos y control de luminancia para, por ejemplo, píxel de un par de líneas par e impar, respectivamente, de unos primer y segundo campos respectivos, o viceversa, de la imagen de sprite durante una exploración de un formato entrelazado de presentación. La segunda memoria 54 intermedia de doble línea almacena los datos de crominancia para los datos de línea almacenados en la memoria 53 intermedia de doble línea. Una memoria de crominancia de doble línea (no mostrada), similar a la memoria 54 intermedia de doble línea, puede preverse para la memoria 55 intermedia de doble línea, pero no es necesario por motivos de ahorro y de poca importancia en un Convolucionador que se explicará en lo sucesivo. Los datos de salida de la primera memoria 53 intermedia de doble línea comprenden diez bits de datos y control de luminancia para cada pixel de las líneas almacenadas en la misma, a los que se da salida en paralelo para cada píxel por un bus designado LÍNEA 1 a los circuitos en la figura 3. Los datos de salida de la segunda memoria 54 intermedia de doble línea comprenden ocho bits de datos de crominancia para cada píxel de las líneas almacenadas en la misma, a los que se da salida en paralelo para cada píxel por un bus designado LÍNEA 1c a los circuitos en la figura 3. Los datos de salida de la tercera memoria 55 intermedia de doble línea comprenden diez bits de datos y control de luminancia para cada píxel de las líneas almacenadas en la misma, a los que se da salida en paralelo para cada píxel por un bus designado LÍNEA 2 a los circuitos en la figura 3 y a la Memoria 58 Intermedia de la Línea 0 de Y/G. La Memoria 58 Intermedia de la Línea 0 de Y/G funciona para retrasar los datos de línea producidos por la tercera memoria 55 intermedia de doble línea por un periodo de línea horizontal para proporcionar una salida de línea retrasada que comprende diez bits de datos y control de luminancia para cada píxel de la línea almacenada en la misma, a la que se da salida en paralelo por un bus designado LÍNEA 0 a los circuitos en la figura 3. Debe entenderse que para una velocidad de muestreo de 13,5 MHz para la presentación de televisión en el estándar NTSC, existen 858 píxeles por línea de la imagen, de los cuales sólo se muestran realmente 704 píxeles aproximadamente, y que existen 525 líneas horizontales de píxeles en dos campos de una imagen, de las cuales sólo se observan normalmente 440-500 líneas aproximadamente, dependiendo del receptor de televisión empleado.
(bits 9-0) de datos y control para cada píxel de una línea. La segunda memoria 54 de doble línea se emplea para almacenar datos C (crominancia) de la Línea la y datos C de la Línea 1b de las primera y segunda líneas del primer campo de la imagen de sprite recibida a través de un bus 51, procedente del Cable 50 Coaxial de Datos. Los datos de crominancia de línea comprenden 8 bits (bits 7-0) de datos para cada píxel de una línea. La tercera memoria 55 intermedia de doble línea se emplea para almacenar datos Y/G (luminancia) de la línea 2a y datos Y/G de la línea 2b de las primera y segunda líneas de un segundo campo de un imagen de sprite recibida a través del bus 49, procedentes del Cable 50 Coaxialde Datos. Los datos de luminancia de línea comprenden 10 bits (bits 9-0) de datos y control para cada píxel de una línea. Debe entenderse que las Líneas la y 2a de las primera y tercera memorias 53 y 55 intermedias de doble línea almacenan unas primera y segunda líneas horizontales de datos de píxeles, respectivamente, donde las primera y segunda líneas horizontales son líneas adyacentes en campos diferentes de la imagen de sprite en una formato entrelazado de presentación. Similarmente, las Líneas 1b y 2b de las primera y tercera memorias 53 y 55 intermedias de doble línea almacenan unas tercera y cuarta líneas horizontales de datos de píxeles, respectivamente, donde las tercera y cuarta líneas horizontales son líneas adyacentes en campos diferentes de la imagen de sprite en un formato entrelazado de presentación. Es decir, las primera y tercera memorias 53 y 55 intermedias de doble línea almacenan secuencialmente datos y control de luminancia para, por ejemplo, píxel de un par de líneas par e impar, respectivamente, de unos primer y segundo campos respectivos, o viceversa, de la imagen de sprite durante una exploración de un formato entrelazado de presentación. La segunda memoria 54 intermedia de doble línea almacena los datos de crominancia para los datos de línea almacenados en la memoria 53 intermedia de doble línea. Una memoria de crominancia de doble línea (no mostrada), similar a la memoria 54 intermedia de doble línea, puede preverse para la memoria 55 intermedia de doble línea, pero no es necesario por motivos de ahorro y de poca importancia en un Convolucionador que se explicará en lo sucesivo. Los datos de salida de la primera memoria 53 intermedia de doble línea comprenden diez bits de datos y control de luminancia para cada pixel de las líneas almacenadas en la misma, a los que se da salida en paralelo para cada píxel por un bus designado LÍNEA 1 a los circuitos en la figura 3. Los datos de salida de la segunda memoria 54 intermedia de doble línea comprenden ocho bits de datos de crominancia para cada píxel de las líneas almacenadas en la misma, a los que se da salida en paralelo para cada píxel por un bus designado LÍNEA 1c a los circuitos en la figura 3. Los datos de salida de la tercera memoria 55 intermedia de doble línea comprenden diez bits de datos y control de luminancia para cada píxel de las líneas almacenadas en la misma, a los que se da salida en paralelo para cada píxel por un bus designado LÍNEA 2 a los circuitos en la figura 3 y a la Memoria 58 Intermedia de la Línea 0 de Y/G. La Memoria 58 Intermedia de la Línea 0 de Y/G funciona para retrasar los datos de línea producidos por la tercera memoria 55 intermedia de doble línea por un periodo de línea horizontal para proporcionar una salida de línea retrasada que comprende diez bits de datos y control de luminancia para cada píxel de la línea almacenada en la misma, a la que se da salida en paralelo por un bus designado LÍNEA 0 a los circuitos en la figura 3. Debe entenderse que para una velocidad de muestreo de 13,5 MHz para la presentación de televisión en el estándar NTSC, existen 858 píxeles por línea de la imagen, de los cuales sólo se muestran realmente 704 píxeles aproximadamente, y que existen 525 líneas horizontales de píxeles en dos campos de una imagen, de las cuales sólo se observan normalmente 440-500 líneas aproximadamente, dependiendo del receptor de televisión empleado.
Volviendo a las figuras 4, 5 y 6, se muestra una
secuencia ejemplar de funcionamiento para las primera y tercera
memorias 53 y 55 intermedias de doble línea, respectivamente, y la
Memoria 58 Intermedia de la Línea 0 de Y/G de la Memoria 52
Intermedia de Ensamblaje de Píxeles de la figura 2. Debe entenderse
que en un funcionamiento normal de las memorias 53 y 55 intermedias
de doble línea, una línea horizontal de datos de píxel se introduce
en un primer campo en una mitad de la primera memoria 53 intermedia
de doble línea simultáneamente a la introducción de una línea
horizontal de datos de píxel en un segundo campo en una mitad de la
tercera memoria 55 intermedia de doble línea. Simultáneamente a la
introducción de líneas horizontales de datos de píxel en las
primeras mitades de las primera y tercera memorias 53 y 55
intermedias de doble línea, unas líneas horizontales de datos de
píxel previamente almacenadas en las otras mitades de las primera y
tercera memorias 53 y 55 intermedias de doble línea se leen en las
LÍNEAS 1 y 2 de salida, respectivamente. Es decir, para la primera
memoria 53 intermedia de doble línea, una primera línea horizontal
de datos de píxel procedente del primer campo se introduce, por
ejemplo, en la parte Y/G de la LÍNEA la de la primera memoria 53
intermedia de doble línea, y durante un siguiente periodo de línea
horizontal, una segunda línea horizontal de datos de píxel
procedente de un primer campo de una trama se introduce en la parte
Y/G de la LÍNEA 1b de la primera memoria 53 intermedia de doble
línea mientras se lee la primera línea horizontal de datos de píxel
procedentes de la parte Y/G de la LÍNEA la a la LÍNEA 1 de salida.
Durante un siguiente periodo de línea horizontal, una tercera línea
horizontal de datos de píxel procedente del primer campo se
introduce en la parte Y/G de la LÍNEA la de la primera memoria 53
intermedia de doble línea al tiempo que la segunda línea horizontal
de datos de píxel de la parte Y/G de la LÍNEA lb se lee en la LÍNEA
1 de salida. Simultáneamente, unas primera, segunda y tercera
líneas horizontales de datos de píxel procedentes de un segundo
campo de la trama se leen de manera similar en la tercera memoria
55 intermedia de doble línea y se les da salida desde la misma por
la LÍNEA 2 de salida.
La figura 4 muestra un punto final de una etapa
de inicialización de la Memoria 52 Intermedia de Ensamblaje de
Píxeles tras encenderse por primera vez la unidad 10 de caja de
cable de abonado de la figura 1. Más concretamente, tras el
encendido, unos datos de píxel para una línea 0 horizontal de un
primer campo y unos datos de píxel para una línea 1 horizontal de
un segundo campo se introducen en la parte Y/G de la línea la de la
primera memoria 53 intermedia de doble línea y en la parte Y/G de
la línea 2a de la memoria 55 intermedia de doble línea,
respectivamente, durante un primer periodo de línea horizontal.
Durante un segundo periodo de línea horizontal, unos datos de píxel
para una línea 2 horizontal de un primer campo y unos datos de
píxel para una línea 3 horizontal de un segundo campo se introducen
en la parte Y/G de la línea 1b de la primera memoria 53 intermedia
de doble línea y en la parte Y/G de la línea 2b de la tercera
memoria 55 intermedia de doble línea, respectivamente, mientras que
los datos de píxel para las líneas 0 y 1 horizontales se leen de la
parte Y/G de la línea la de la primera memoria 53 intermedia de
doble línea y de la parte Y/G de la línea 2a de la tercera memoria
55 intermedia de doble línea, respectivamente, a las LÍNEAS 1 y 2
de salida respectivas. Simultáneamente con ello, los datos de píxel
para una línea 1 horizontal procedente de la parte Y/G de la línea
2a de la tercera memoria 55 intermedia de doble línea se introducen
en la Memoria 58 Intermedia de la Línea 0 de Y/G. Puesto que la
Memoria 58 Intermedia de la Línea 0 de Y/G funciona para retrasar
los datos de línea horizontal almacenados en la misma en un periodo
de línea horizontal, y que la Memoria 58 Intermedia no tenía datos
almacenados en la misma durante la inicialización, la salida de la
misma en la LÍNEA 0 de salida no incluye datos válidos.
La figura 5 continúa el proceso de carga y salida
tras las etapas de inicialización mostradas en la figura 4. Más
concretamente, unos datos de píxel para una línea 4 horizontal de
un primer campo y unos datos de píxel para una línea 5 horizontal
de un segundo campo se introducen en la parte Y/G de la línea la de
la primera memoria 53 intermedia de doble línea y en la parte Y/G
de la línea 2a de la tercera memoria 55 intermedia de doble línea,
respectivamente, durante un tercer periodo de línea horizontal.
Simultáneamente con ello, los datos de píxel para las líneas 2 y 3
horizontales se leen de la parte Y/G de la línea 1b de la primera
memoria 53 intermedia de doble línea y de la parte Y/G de la línea
2b de la tercera memoria 55 intermedia de doble línea,
respectivamente, a sus LÍNEAS 1 y 2 de salida respectivas.
Simultáneamente con ello, los datos de píxel para la línea 3
horizontal de la parte Y/G de la línea 2b de la tercera memoria 55
intermedia de doble línea se introducen en la Memoria 58 Intermedia
de la Línea 0 de Y/G al tiempo que a los datos de píxel
anteriormente almacenados para los datos de la línea 1 horizontal
se les da salida por la LÍNEA 0 de salida. Por tanto, para un
sprite, las Memorias 58, 53 y 55 Intermedias están dando salida a
datos de píxel para las líneas 1, 2 y 3 horizontales,
respectivamente, por las LÍNEAS 0, 1 y 2 de salida respectivas
durante el tercer periodo de línea horizontal, donde los datos de
píxel para las líneas 1 y 3 horizontales forman parte del segundo
campo y los datos de pixel para la línea 2 horizontal forman parte
del primer campo de una imagen de sprite que se almacenaron en la
Memoria 38 Gráfica (mostrada en las
figuras 1 y 2).
figuras 1 y 2).
La figura 6 continúa el proceso de carga y de
salida de la etapa mostrada en la figura 5. Más concretamente, unos
datos de pixel para una línea 6 horizontal de un primer campo unos
datos de píxel para una línea 7 horizontal de un segundo campo de
un sprite se introducen en la parte Y/G de la línea 1b horizontal
de la primera memoria 53 intermedia de doble línea y en la parte
Y/G de la línea 2b horizontal de la tercera memoria 55 intermedia de
doble línea, respectivamente, durante un cuarto periodo de línea
horizontal. Simultáneamente con ello, los datos de píxel para las
líneas 4 y 5 horizontales del sprite se leen de la parte Y/G de la
línea la horizontal de la primera memoria 53 intermedia de doble
línea y de la parte Y/G de la línea 2a horizontal de la tercera
memoria 55 intermedia de doble línea, respectivamente, a las LÍNEAS
1 y 2 de salida respectivas. Simultáneamente con ello, los datos de
píxel para la línea 5 horizontal de la parte Y/G de la línea 2a de
la tercera memoria 55 intermedia de doble línea se introducen en la
Memoria 58 Intermedia de la Línea 0 de Y/G al tiempo que a los
datos de píxel para la línea 3 horizontal previamente almacenados
se les da salida por la LÍNEA 0 de salida. Por tanto, las Memorias
58, 53 y 55 están dando salida a datos de píxel para las líneas 3,
4 y 5 horizontales, respectivamente, por las LÍNEAS 0, 1 y 2
respectivas durante el cuarto periodo de línea horizontal, donde los
datos para las líneas 3 y 5 horizontales forman parte del segundo
campo de la imagen de sprite mientras que los datos para la línea 4
horizontal se obtienen del primer campo de la imagen de sprite que
se almacenó en la Memoria 38 Gráfica (mostrada en las figuras 1 y
2). A partir de las figuras 5 y 6 puede observarse que tras la
inicialización (figura 4), los datos de pixel en la LÍNEA 1 de
salida representan datos para líneas horizontales secuenciales (por
ejemplo, líneas (0-254) horizontales pares de una
imagen en el estándar NTSC) de un primer campo de los dos campos de
una trama para una presentación entrelazada NTSC. Tras haberse dado
salida a las líneas horizontales pares, ejemplares, del primer
campo en la LÍNEA 1 de salida durante periodos secuenciales de línea
horizontal, la salida continúa con líneas horizontales
secuencialmente numeradas (por ejemplo, las líneas
1-255 horizontales impares de una imagen en el
estándar NSTC) del segundo campo de la trama de la manera hallada
para explorar una presentación entrelazada. Aunque no se muestran
en las figuras 4-6, debe entenderse que a los datos
de crominancia se les da salida por la LÍNEA 1c de salida de la
segunda memoria 54 intermedia de doble línea mostrada en la figura
2, simultáneamente con los datos de pixel de luminancia asociados
para cada línea horizontal a la que se está dando salida por la
LÍNEA 1
de salida.
de salida.
Volviendo ahora a la figura 3, se muestra un
diagrama de bloques de una segunda parte de unos Circuitos 46 de
Tratamiento de Vídeo hallados en la unidad 10 de caja de cable de
abonado de la figura 1 según la presente invención. La segunda parte
de los Circuitos 46 de Tratamiento de Vídeo comprende unos
circuitos 60 de Paleta de Color, un Demultiplexor 62 de YC a YUV, un
Multiplexor/Atenuador 64 (MUX./ATN.), un Multiplexor y Control 66
de 3:1 (MUX. Y CONT. 3:1) y un Convolucionador 68. Los datos de
píxel de 10 bits (bits 9:0) que se propagan por cada una de las
LÍNEAS 0, 1, 2 procedentes de la Memoria 52 Intermedia de
Ensamblaje de Píxeles de la figura 2, para píxeles correspondientes
en tres líneas horizontales adyacentes de una imagen de sprite, se
reciben en entradas distintas de cada uno de los circuitos 60 de
Paleta de Color, el Demultiplexor 62 de YC a YUV y el Multiplexor y
Control 66 de 3:1. Más concretamente, los bits 7-0
de la salida en paralelo de 10-bit/píxel procedente
de la Memoria 52 Intermedia de Ensamblaje de Píxeles, para cada una
de las LÍNEAS 0, 1 y 2 de salida, se reciben en las entradas de los
circuitos 60 de Paleta de Color y del Demultiplexor 62 de YC a YUV,
mientras que los bits 9 y 8 de la salida en paralelo de
l0-bit/píxel procedente de la Memoria 52 Intermedia
de Ensamblaje de Píxeles, para cada una de las LÍNEAS 0, 1 y 2 de
salida, se recibe en las entradas del Multiplexor y Control 66 de
3:1. Adicionalmente, el Demultiplexor 62 de YC a YUV recibe los
bits 7-0 de datos de crominancia a los que se da
salida en paralelo por la LÍNEA 1c de salida desde la Memoria 52
Intermedia de Ensamblaje de Píxeles puesto que los datos de
crominancia sólo se emplean cuando los datos de píxel del sprite
están relacionados con una señal de sprite en Color Real. Más
concretamente, cuando los datos de sprite están codificados como
una señal de paleta de color, el propio código define el color y
los datos de crominancia no son necesarios como con una señal de
vídeo en
color real.
color real.
Los circuitos 60 de Paleta de Color funcionan
para detectar cuándo los 8 bits (bits 7:0) de datos de píxel
recibidos en paralelo por cada una de las LÍNEAS 0, 1 y 2 de salida
representan códigos distintos para colores particulares de una
paleta de color y para convertir esos códigos de paleta de color en
una señal de salida en el bus 61 que representa una señal
multiplexada YUV de paleta de color de 24 bits para tres datos de
píxel de 8 bits recibidos para esas tres líneas. Los circuitos 60
de Paleta de Color son dispositivos bien conocidos y por tanto
puede emplearse cualquier circuito adecuado. El Demultiplexor 62 de
YC a YUV detecta cuándo 8 bits (bits 7:0) de los datos recibidos en
paralelo para píxeles en cada una de las LÍNEAS 0, 1 y 2 de salida
de la Memoria 52 Intermedia de Ensamblaje de Píxeles representan
datos de color real (por ejemplo, un sprite obtenido directamente de
una imagen de televisión) y también emplea los datos de crominancia
de 8 bits obtenidos a través de la LÍNEA 1c de salida de la Memoria
52 Intermedia de Ensamblaje de Pixeles para generar una señal YUV
de salida de 24 bits en Color Real para píxeles de las tres líneas
para la transmisión en el bus 63.
El Multiplexor/Atenuador 64 (MUX./ATN.) recibe,
en entradas distintas del mismo, cada una de las señales de datos
YUV de paleta de color de 24 bits que se propagan por un bus 61 de
los circuitos 60 de Paleta de Color, propagándose las señales de
datos YUV de color real de 24 bits por el bus 63 del Demultiplexor
62 de YC a YUV y unas señales YUV de vídeo en directo de 24 bits
por un bus 59. El Multiplexor/Atenuador 64 es sensible a señales de
control en un cable 67 procedente del Multiplexor y Control 66 de
3:1 para dar salida a una de las tres señales de entrada (YUV de
paleta de color en 24 bits, YUV en color real de 24 bits o YUV de
vídeo en directo de 24 bits) recibidas en el Multiplexor/Atenuador
64 durante cada periodo de píxel como señales YUV digitalizadas
mezcladas de salida por un bus 65. Más concretamente, el
Multiplexor y Control 66 de 3:1 determina a partir de los bits 9 y 8
recibidos por las LÍNEAS 0, 1 y 2 de salida de la Memoria 52
Intermedia de Ensamblaje de Píxeles si los datos de píxel
procedentes de la Memoria 52 Intermedia de Ensamblaje de Píxeles
por las LÍNEAS 0, 1 y 2 de salida representan datos de paleta de
color, datos de color real o datos (datos no válidos) para un píxel
que no forma parte de un sprite a superponerse sobre una señal de
vídeo en directo y, por tanto, la señal de vídeo en directo debería
emplearse para ese pixel en vez de los datos de paleta de color o de
color real procedentes de la Memoria 52 Intermedia de Ensamblaje de
Píxeles. Como resultado de tal información de control obtenida de
los bits 9 y 8 de las LÍNEAS 0, 1 y 2 de salida de la Memoria 52
Intermedia de Ensamblaje de Píxeles, el Multiplexor y Control 66 de
3:1 envía señales de control por el cable 67 al
Multiplexor/Atenuador 64 para seleccionar los datos de entrada
correctos para cada píxel de una imagen a presentar en un receptor
NTSC o PAL de televisión (no mostrado). El Convolucionador 68
emplea conjuntos secuenciales de valores de datos de tres píxeles
recibidos en la señal procedente del Multiplexor/Atenuador 64 por
el bus 65 para proporcionar una señal ponderada de salida de 8 bits
para datos de pixel, para un pixel central en una matriz de 3 por 3
de píxeles correspondientes en tres líneas adyacentes de una imagen
de televisión o para proporcionar la señal procedente del
Multiplexor/Atenuador 64 por el bus 65 como una señal YUV de salida
por el bus 47, dependiendo de las señales de control procedentes
del Multiplexor y Control 66 de 3:1
por un cable 69.
por un cable 69.
Haciendo ahora referencia a la figura 7, se
muestra un diagrama de bloques de un circuito 64
Multiplexor/Atenuador ejemplar (mostrado dentro de un rectángulo de
líneas discontinuas) que comprende un Multiplexor 72 (MUX.) de 2:1
y un Atenuador 74 (mostrado dentro de un rectángulo de líneas
discontinuas). El Atenuador 74 comprende un Sumador 75
A-B, un Multiplicador 77 con Signo (MULT. CON
SIGNO) y un Sumador 78 A+B. El Multiplexor 72 de 2:1 recibe cada una
de las señales de datos Gráficos procedentes de la Paleta 60 de
Color por el bus 61 en un primer terminal (A) de entrada y las
señales de datos Gráficos procedentes del Demultiplexor 62 de YC a
YUV en un segundo terminal (B) de entrada. Una señal de control por
el cable 67 procedente del Multiplexor y Control 66 de 3:1
selecciona a cuál de las dos señales Gráficas de entrada (del
terminal A o B de entrada) se dará salida desde el Multiplexor 72 de
2:1 por el terminal (0) de salida. Las señales (Y, U o V) Gráficas
de salida en Píxeles procedentes de un terminal (0) de salida del
Multiplexor 72 de 2:1 (designado como G) por un bus 70 se reciben
en un primer terminal (A) de entrada del Sumador 75
A-B del Atenuador 74. Una señal (Y, U o V) YUV de
vídeo en directo (designada L) se recibe procedente de un bus 59 en
un segundo terminal (B) de entrada del Sumador 75
A-B. Los valores de datos de píxel de los datos de
entrada del terminal A del Multiplexor 72 de 2:1 menos los valores
de datos de los datos de píxel YUV de vídeo en directo recibidos en
el terminal B de entrada se proporcionan como una salida por un
terminal (0) de salida del Sumador 75 A-B. El
Multiplicador 77 con Signo recibe de, por ejemplo, un registro (no
mostrado) un valor (R) de control de proporción variable de 9 bits
por un bus 71 en un primer terminal (A) de entrada, y la salida del
Sumador 75 A-B por un bus 76 en un segundo terminal
(B) de entrada. Se da salida al valor multiplicado resultante del
valor (R) de control de proporción en el bus 71 y los datos de
salida de señal Gráfica procedentes del Sumador 75
A-B en el bus 76, por un terminal (0) de salida, por
un bus 79, hacia un primer terminal (A) de entrada del Sumador 78
A+B. La señal (Y, U o V) de vídeo en directo en el bus 59 se recibe
en un segundo terminal (B) de entrada del Sumador 78 A+B, y la suma
de los dos valores de las señales de entrada se proporciona como
una señal de salida (designada como Q) por el bus 65 al
Convolucionador 68 (mostrado en la figura 3).
El Atenuador 74 funciona para atenuar una señal
gráfica para un sprite de entrada o de salida de manera que el
gráfico no aparezca o desaparezca instantáneamente en la señal de
vídeo en directo. Es decir, para una apertura gráfica de negro
(fade-in), el Atenuador 74 hace que el gráfico
aparezca con intensidad creciente en un receptor de televisión
mientras que la señal de vídeo en directo disminuye de intensidad
en la zona del gráfico en un corto periodo de tiempo de manera que
el gráfico sea totalmente visible. Similarmente, para un fundido
gráfico en negro (fade-out), el Atenuador 74 hace
que el gráfico aparezca con intensidad decreciente en un receptor
de televisión mientras que la señal de vídeo en directo aumenta de
intensidad en la zona sobre el gráfico en un corto periodo de
tiempo hasta que el gráfico desaparece. El funcionamiento del
Atenuador 74 puede explicarse de acuerdo con los siguientes
algoritmos. Para lo siguiente, un bus 71 multiplicador (R)
atenuador de 9 bits ejemplar se define como sigue. A partir de las
definiciones anteriores, R es el valor de control de atenuación y
va desde 0 a 256.
Q | = [ (R/256) *G] + [1-R/256) *L), y | |
= L + [ (G-L) *R] /256, | Ec. 1 |
donde "L" es un valor de pixel del vídeo en
directo, "G" es un valor de píxel de la superposición de
sprites, y el sím-
bolo "*" representa un función multiplicadora. A partir de la Ecuación 1 anterior, a medida que cambia la proporción utilizada para el valor R multiplicador, la intensidad de las señales gráfica y de vídeo en directo cambia en un sentido opuesto.
bolo "*" representa un función multiplicadora. A partir de la Ecuación 1 anterior, a medida que cambia la proporción utilizada para el valor R multiplicador, la intensidad de las señales gráfica y de vídeo en directo cambia en un sentido opuesto.
Haciendo ahora referencia a la figura 8, se
muestra un diagrama de bloques del Convolucionador 68 mostrado en
la figura 3. El Convolucionador 68 (mostrado dentro de un
rectángulo de líneas discontinuas) comprende un circuito 80 de
Bypass, un circuito 82 convolucionador y un Multiplexor 84 (MUX.).
El circuito 80 de Bypass recibe datos secuenciales de pixel
procedentes del Multiplexor/Atenuador 64 (mostrado en las figuras 3
y 7) por el bus 65 y genera simultáneamente a partir de los mismos,
datos en los buses 81 para tres píxeles en una vertical de un
sprite a presentar en un receptor de televisión. Más concretamente,
los tres píxeles se obtienen a partir de pixeles correspondientes
en tres líneas adyacentes de ambos campos de una trama que forma una
imagen de sprite. Los valores de los datos de los tres pixeles se
obtienen mediante cualquier disposición adecuada, tal como una
pluralidad de circuitos de retraso que funcionan a partir de un
reloj de pixel o de un reloj de pixel multiplicado por tres. Los
valores de los datos de los tres pixeles son recibidos a través de
unos buses 81 por el circuito 82 Convolucionador. Los datos
secuenciales de pixel procedentes del Multiplexor/Atenuador 64 son
recibidos por el circuito 80 de Bypass en un bus 65. Los datos
secuenciales de pixel procedentes del Multiplexor/Atenuador 64
pasan a través del circuito 80 de Bypass y se proporcionan a una
primera entrada (A) del Multiplexor 84 a través de un bus 85.
Además, el circuito 80 de Bypass transmite por unos buses 81 unos
conjuntos secuenciales de valores de los datos de los tres pixeles
desde tres salidas distintas del mismo hasta unas entradas
distintas del circuito 82 Convolucionador. El circuito 82
Convolucionador proporciona una señal ponderada de salida de 8 bits
para datos de pixel, para un pixel central en una matriz de 3 por 3
de píxeles correspondientes en tres líneas adyacentes de una imagen
de televisión, a una segunda entrada (B) del Multiplexor 84 a través
de un bus 86. El Multiplexor 84 selecciona las señales en las
primera o segunda entradas (A) o (B) para la transmisión al
terminal (0) de salida y al bus 47, dependiendo de unas señales de
control procedentes del Multiplexor y Control 66 de 3:1 por un
cable 69.
Tal como se describe en la solicitud de patente
con N° de serie 08/523395 en tramitación junto con la presente,
presentada en la misma fecha que la presente solicitud a favor de
los presentes inventores, el circuito 82 Convolucionador multiplica
efectivamente (empleando tan sólo sumadores y retrasos) los tres
pixeles, recibidos por los buses 81, de una vertical en una matriz
3 por 3 de pixeles con unos valores ponderados predeterminados, y
proporciona una señal promediada de salida para el píxel central de
la matriz de 3 por 3 a una segunda entrada (B) del Multiplexor 84.
Este proceso continúa para cada píxel de una fila central (LÍNEA 1
de salida de la Memoria 52 Intermedia de Ensamblaje de Píxeles de
la figura 2) a medida que los datos de sprite para los píxeles
correspondientes de las tres líneas adyacentes según los datos de
píxel avanzan (se desplazan) horizontalmente a través de la imagen
de sprite para tres líneas adyacentes.
Haciendo ahora referencia a la figura 9, se
muestra una Memoria 38 Gráfica y una parte de los Circuitos 46 de
Tratamiento de Vídeo (mostrados dentro de un rectángulo de líneas
discontinuas), tal como se muestra en la figura 2 formando parte
del Controlador 40 de Memoria y de Vídeo del segundo módulo 14 de
la figura 1. La Memoria 38 Gráfica está acoplada a través de un bus
39 de datos a una Máquina 42 Controladora de Memoria y de Estado de
Sprite, que forma parte de la parte de los Circuitos 46 de
Tratamiento de Vídeo, para una comunicación bidireccional. La
Máquina 42 Controladora de Memoria y de Estado de Sprite está
acoplada a una Unidad 36 Central de Tratamiento (CPU) (mostrada en
la figura 1) a través de un bus 48 para escribir en la Memoria 38
Gráfica a través del bus 39, y recibe señales de Campo <1:0>
procedentes de los circuitos 44 de Compuesta a YUV de la figura 1 a
través del conductor 56. Esta parte de los Circuitos 46 de
Tratamiento de Vídeo comprende adicionalmente un Cable 50 Coaxial
de Datos (mostrado dentro de un rectángulo de líneas discontinuas) y
una Memoria 52 Intermedia de Ensamblaje de Píxeles.
El Cable 50 Coaxial de Datos comprende un
Generador 97 de Direcciones de Memoria Intermedia de Píxeles y un
Cable 98 Coaxial de Datos de Memoria Intermedia de Píxeles los
cuales reciben cada uno una señal de salida procedente de la
Máquina 42 Controladora de Memoria y de Estado de Sprite a través de
un bus 45. El Generador 97 de Direcciones de Memoria Intermedia de
Píxeles y el Cable 98 Coaxial de Datos de Memoria Intermedia de
Píxeles transmiten señales diferentes de salida de datos de píxel y
de dirección, respectivamente, a la Memoria 52 Intermedia de
Ensamblaje de Píxeles a través de los buses 49 y 51 respectivos. El
Cable 98 Coaxial de Datos de Memoria Intermedia de Píxeles también
recibe los datos directamente desde la Memoria 38 Gráfica por el bus
39. El Generador 97 de Direcciones de Memoria Intermedia de Píxeles
y el Cable 98 Coaxial de Datos de Memoria Intermedia de Píxeles
emplean datos de píxel obtenidos de una palabra de Control de
Sprite en una Entrada de Sprite, una tabla 92 de Datos de Sprite y
cualquier otra información procedente de una tabla 94 de Controles
de Línea en la Memoria 38 Gráfica, para colocar los datos para cada
píxel en la posición apropiada de dirección de las Memorias 53, 54
y 55 Intermedias de Doble Línea (mostradas únicamente en la figura
2) de la Memoria 52 Intermedia de Ensamblaje de Píxeles. Tal como
se explicará con más detalle en lo sucesivo, efectos especiales
tales como la magnificación, la deformación, etc. para líneas
horizontales en una Entrada de Sprite se obtienen a partir de unas
palabras de Control de Sprite en la Entrada de Sprite asociada y de
la tabla 94 de Control de Línea de la Memoria 38 Gráfica. El
Generador 97 de Direcciones de Memoria Intermedia de Píxeles del
Cable 50 Coaxial de Datos emplea esta información para alterar
apropiadamente la dirección de pixel en una línea de datos de
sprite obtenida de la tabla 92 de Datos de Sprite de la Memoria 38
Gráfica para conseguir el efecto especial designado. Esta dirección
alterada se envía a la Memoria 52 Intermedia de Ensamblaje de
Píxeles para usar en la colocación de los datos de píxel asociados
en la posición de píxel designada por la dirección alterada en las
Memorias 53, 54 ó 55 Intermedias de Doble Línea de la Memoria 52
Intermedia de Ensamblaje de Píxeles para proporcionar
posteriormente el efecto especial designado en la pantalla de
televisión. El Cable 98 Coaxial de Datos de Memoria Intermedia de
Píxeles recibe los datos de píxel para la dirección de píxel y
transmite los datos de píxel a la Memoria 52 Intermedia de
Ensamblaje de Píxeles para el almacenamiento en la dirección de las
Memorias 53, 54 ó 55 Intermedias de Doble Línea generadas por el
Generador 97 de Direcciones de Memoria Intermedia de Píxeles. La
Memoria Intermedia de Ensamblaje de Píxeles produce datos de píxel
de luminancia para tres líneas horizontales adyacentes de un sprite
por unos buses designados LÍNEA 0, LÍNEA 1 y LÍNEA 2, y produce
datos de pixel de crominancia asociados con los datos de salida de
luminancia de LÍNEA 1 por una LÍNEA 1c tal como se explicó
anteriormente en la presente para 1a Memoria Intermedia de
Ensamblaje de Píxeles en la figura 2.
La Memoria 38 Gráfica comprende múltiples Tablas,
que comprenden la tabla 90 de Listado de Sprites, la tabla 92 de
Datos de Sprite, la tabla 94 de Controles de Línea y una tabla 96
de Listado de Recorridos. La tabla 90 de Listado de Sprites
comprende una parte separada de memoria para cada uno o una
pluralidad de N sprites (sólo se incluyen las entradas para los
sprites n° 1, n° 2 y n° N). Tal como se muestra para la entrada del
Sprite n° 1, la parte de memoria comprende por tanto un parte de
Puntero de Datos de Sprite, una parte de Controles de Sprite, una
parte de Puntero de Tabla de Líneas, una parte de Otros Controles
Opcionales y una parte de Control de Habilitación de Campo. La parte
de Puntero de Datos de Sprite se emplea para acceder a la tabla 92
de Datos de Sprite en una posición predeterminada asociada con la
Entrada de Sprite. La parte de Controles de Sprite comprende datos
relativos a, por ejemplo, al tamaño del sprite, a su ubicación o
posición X e Y en la pantalla del receptor de televisión, e
información sobre magnificación, deformación, etc., que ha de
realizarse en el sprite. Más concretamente, si la parte de
Controles de Sprite indica que un sprite tiene una magnificación de
2, entonces cada línea del sprite aumenta en 2. Similarmente, si la
parte de Controles de Sprite indica que un sprite tiene un desfase
de 2, entonces todas las líneas del sprite se desfasan en 2. La
parte de Controles de Sprite afecta de la misma manera a cada línea
horizontal de datos de píxel del sprite.
La parte de Puntero de Tabla de Líneas de cada
Entrada de Sprite se emplea para acceder a una parte predeterminada
de la Tabla 94 de Controles de Línea para palabras de control
asociadas con esa Entrada de Sprite con el fin de producir efectos
especiales más avanzados que los de aquéllos producidos por la
parte de Controles de Sprite descrita anteriormente. Finalmente, la
parte de Control de Habilitación de Campo se emplea para producir
efectos de "vidrio ahumado" (superposición transparente) en la
pantalla del receptor de televisión para la Entrada de Sprite a la
que se está accediendo en la tabla 90 de Listado de Sprites. Unas
partes similares se muestran para cada una de las otras entradas
del sprite n° 2 al sprite n° N. Además, los sprites en la tabla 90
de Listado de Sprites se incluyen preferiblemente en orden de
prioridad creciente donde, por ejemplo, la entrada del sprite n° 1
tiene una prioridad mínima y la entrada del sprite n° N tiene una
prioridad máxima. Como resultado de tal disposición por prioridad,
los píxeles de un sprite con una prioridad más alta sobrescriben,
sustituyen o tiene precedencia sobre los píxeles de un sprite con
una prioridad más baja, donde dos sprites o un sprite y un vídeo en
directo está situados en una posición superpuesta en una pantalla
de un receptor de televisión.
La tabla 92 de Datos de Sprite comprende palabras
de datos que incluyen datos puros para cada uno de los píxeles de
cada línea horizontal para cada Entrada de Sprite de la tabla 90 de
Listado de Sprites. Es decir, cuando se accede a una Entrada de
Sprite en la tabla 90 de Listado de Sprites, la parte de Puntero de
Datos de Sprite dirige el acceso a la tabla 92 de Datos de Sprite,
donde las palabras de Datos de Sprite (por ejemplo, palabra de Datos
del Sprite A a palabra de Datos del Sprite C) para esa Entrada de
Sprite se almacenan en la tabla 92 de Datos de Sprite de la Memoria
38 Gráfica. Debe entenderse que estas palabras de Datos de Sprite
no incluyen el número numérico de líneas en el sprite puesto que el
tamaño del sprite, la posición en la pantalla del receptor de
televisión, etc., para ese sprite están situados en la parte de
Controles de Sprite de la Entrada de Lista de Sprite. La tabla 90
de Listado de Sprites y la tabla 92 de Datos de Sprite trabajan
juntas al acceder primero a la tabla 90 de Listado de Sprites y a
continuación, bajo el control de la parte de Puntero de Datos de
Sprite, al acceder a la tabla 92 de Datos de Sprite para recuperar
los datos que indican a los Circuitos 46 de Tratamiento de Vídeo
que dibuje el sprite de la manera descrita por las palabras de
Datos de Sprite.
La tabla 94 de Controles de Línea de la Memoria
38 Gráfica es una tabla empleada opcionalmente que contiene
subtablas de diferentes longitudes predeterminadas (sólo se muestra
una subtabla que incluye N palabras de control), donde cada
subtabla comprende un palabra diferente de control de línea para
cada línea de un sprite. Las palabras de control de línea en la
Tabla 94 de Controles de Línea proporcionan unos controles
independientes para las líneas de ese sprite. Más concretamente,
tal como se ha expuesto anteriormente, la parte de Controles de
Sprite de cada Entrada de Sprite en la tabla 90 de Listado de
Sprites afecta de la misma manera a cada línea de un sprite. En
contraposición, las Palabras de Control de Línea en una subtabla en
la tabla 94 de Controles de Línea para una Entrada de Sprite, tal
como ha indicado la parte de Puntero de Tabla de Líneas de la tabla
90 de Listado de Sprites, se emplean para proporcionar controles
independientes para cada una de las líneas de ese sprite. Por
ejemplo, se supone que la parte de Controles de Sprite para la
Entrada del Sprite n° 1 indica que la imagen del Sprite n° 1 incluye
diez líneas en una posición X e Y en la pantalla del receptor de
televisión sin ningún efecto especial, tal como un desfase
constante. Los datos de píxel para cada una de las diez líneas de
la imagen del Sprite n° 1 se proporcionan en la tabla 92 de Datos
de Sprite, empezando por la dirección indicada en la misma por
parte de Puntero de Datos de Sprite de la Entrada del Sprite
n° 1. Los efectos especiales que pueden emplearse para cualquiera o más de las diez líneas del Sprite n° 1 se encuentran en ciertas de las palabras de control de línea en la tabla 94 de Controles de Línea, empezando por la dirección indicada por la parte de Puntero de Tabla de Líneas de la Entrada del Sprite n° 1. Es decir, los bordes de la imagen del Sprite n° 1 pueden estar alineados en línea recta en la pantalla del receptor de televisión. No obstante, con las palabras de control de línea de la tabla 94 de Controles de Línea, cada línea de la Entrada del Sprite n° 1 puede tener, por ejemplo, desfases diferentes para deformar la imagen de una manera predeterminada. Por ejemplo, una imagen de sprite puede deformarse empleando las palabras asociadas de control de línea de la tabla 94 de Controles de Línea para aparecer en la superficie exterior de un cilindro tridimensional.
n° 1. Los efectos especiales que pueden emplearse para cualquiera o más de las diez líneas del Sprite n° 1 se encuentran en ciertas de las palabras de control de línea en la tabla 94 de Controles de Línea, empezando por la dirección indicada por la parte de Puntero de Tabla de Líneas de la Entrada del Sprite n° 1. Es decir, los bordes de la imagen del Sprite n° 1 pueden estar alineados en línea recta en la pantalla del receptor de televisión. No obstante, con las palabras de control de línea de la tabla 94 de Controles de Línea, cada línea de la Entrada del Sprite n° 1 puede tener, por ejemplo, desfases diferentes para deformar la imagen de una manera predeterminada. Por ejemplo, una imagen de sprite puede deformarse empleando las palabras asociadas de control de línea de la tabla 94 de Controles de Línea para aparecer en la superficie exterior de un cilindro tridimensional.
Haciendo ahora referencia a las figuras 10, 11,
12, 13, 14 y 15, se muestran ejemplos de lo que puede hacerse con
las palabras de control de línea de la tabla 94 de Controles de
Línea según una primera realización de la presente invención. Más
concretamente, en la figura 10 se muestra una imagen de sprite tal
como viene definida tanto por los Controles de Sprite de la tabla 90
de Listado de Sprites como por los datos de Sprite asociados con
una Entrada de Sprite en la tabla 92 de Datos de Sprite sin efecto
especial avanzado alguno que pueda introducirse a través de una
subtabla en la tabla 94 de Controles de Línea. En las figuras 11 y
12 se muestra cómo la imagen de sprite de la figura 10 puede
cambiarse para producir efectos seudotridimensionales al variar unos
desfases horizontales en cada línea. Por ejemplo, en las figuras 11
y 12, cada línea del sprite de la figura 10 se desfasa en una
cantidad diferente, tal como se define en las palabras de control
de línea de unas primera y segunda subtablas, respectivamente, de
la tabla 94 de Controles de Línea.
La figura 13 muestra un ejemplo de la realización
de un efecto avanzado de deformación con unos controles de línea de
magnificación horizontal de la imagen de sprite de la figura 10.
Más concretamente, las palabras de control de línea de una subtabla
de la tabla 94 de Controles de Línea, tal como vienen indicadas por
el Puntero de la Tabla de Líneas de una Entrada de Sprite de la
tabla 90 de Listado de Sprites, definen tanto la cantidad de
deformación o desfase para cada borde del sprite, para cada línea
del sprite, como la cantidad de magnificación a emplear para cada
línea del sprite.
Las figuras 14 y 15 muestran un ejemplo de un
efecto especial avanzado con una reflexión variable de línea
horizontal en cada línea de un sprite. Más concretamente, la figura
14 muestra una imagen de sprite tal como está definida por una
Entrada de Sprite asociada de la tabla 90 de Listado de Sprites y de
la tabla 92 de Datos de Sprite. La figura 15 muestra cómo una
subtabla de la tabla 94 de Controles de Línea puede cambiar la
imagen de sprite de la figura 14 al variar unos desfases de línea
horizontal en tan sólo la mitad superior de la imagen de sprite
para producir una imagen especular de la mitad inferior de la
imagen de sprite mostrada en la figura 14. Otros efectos especiales
avanzados que pueden realizarse con subtablas de la tabla 94 de
Controles de Línea son, por ejemplo, (a) variar un banco de paleta
de color para 256 colores en un sprite de 4 bits, (b) variar el
control de visibilidad para hacer que desaparezcan líneas
selectivas en una imagen de sprite y (c) variar los límites
horizontales de corte para cortar selectivamente alrededor de una
forma de una imagen de sprite. Una ventaja obtenida mediante el uso
de la tabla 94 de Controles de Línea es que un efecto especial
avanzado, creado por una tabla en particular, puede ser empleado
por muchas de las Entradas de Sprite de la tabla 90 de Listado de
Sprites. Esto ahorra espacio en memoria en comparación con la
construcción de la subtabla en cada una de las Entradas de Sprite,
tal como puede hallarse en la técnica anterior. Además, pueden
emplearse datos para una misma imagen de sprite en múltiples
Entradas de Sprite de la tabla 90 de Listado de Sprites, donde cada
una de las múltiples Entradas de Sprite emplea su parte de Puntero
de Tabla de Líneas para entrar en una subtabla diferente de la
tabla 94 de Controles de Línea. Tales múltiples Entradas de Sprite
iguales asociadas con subtablas de Controles de Línea distintas se
emplean cuando una misma imagen de sprite con diferentes efectos
especiales avanzados ha de verse en posiciones diferentes en la
pantalla del receptor
de televisión.
de televisión.
Volviendo ahora a la figura 9, la tabla 96 de
Listado de Recorridos es una tabla opcional que se emplea para
ahorrar tiempo en el tratamiento de muchas Entradas de Sprite en la
tabla 90 de Listado de Sprites. En los sistemas de la técnica
anterior, cada una de las Entradas de Sprite en una tabla 90 de
Listado de Sprites se introduce secuencialmente para determinar si
ese sprite existe en un píxel que se está ensamblando para un línea
horizontal que emplea el tamaño y la posición X e Y en una pantalla
de presentación designados para ese sprite. Como resultado, los
sistemas de la técnica anterior, por ejemplo para jugar a juegos,
estaban limitados a un número escaso de sprites (por ejemplo, N = 8
ó 16 sprites) para ensamblar los píxeles para cada línea dentro del
periodo de tiempo necesario para presentar tal línea horizontal en
la pantalla de presentación.
En la presente unidad 10 de caja de cable de
abonado, sin presencia de la tabla 96 de Listado de Recorridos
opcional, la Máquina 42 Controladora de Memoria y de Estado de
Sprite normalmente accede a cada una de la pluralidad de N Entradas
de Sprite en la tabla 90 de Listado de Sprites de la Memoria 38
Gráfica para determinar cuál de las N Entradas de Sprite existe en
cada píxel de la línea horizontal que se está ensamblando. Para
acceder a cada una de las N Entradas de Sprite de la tabla 90 de
Listado de Sprites, la Máquina 42 Controladora de Memoria y de
Estado de Sprite obtiene los datos de la tabla 92 de Datos de
Sprite y la tabla 94 de Controles de Línea opcional necesarios para
cada sprite, para producir los datos de pixel para cada línea
horizontal que se está ensamblando en la Memoria 52 Intermedia de
Ensamblaje de Píxeles. Sin embargo, si la Máquina 42 Controladora
de Memoria y de Estado de Sprite tuviese que acceder a y tratar,
por ejemplo, 96 Entradas de Sprite diferentes, el tiempo necesario
para tratar los 96 sprites excedería un periodo de tiempo permitido
para ensamblar cada línea horizontal de datos de píxel en la Memoria
52 Intermedia de Ensamblaje de Píxeles. El uso de la tabla 96 de
Listado de Recorridos resuelve este problema.
Cuando se emplea la tabla 96 de Listado de
Recorridos opcional, al menos un registro (no mostrado) en la
Máquina 42 Controladora de Memoria y de Estado de Sprite indica que
la tabla 96 de Listado de Recorridos existe y proporciona todos los
datos necesarios para que la Máquina 42 Controladora de Memoria y
de Estado de Sprite utilice apropiadamente la tabla 96 de Listado de
Recorridos, incluyendo una parte designada como "n° de Palabras
por Entrada de Sprite" que contiene un número (valor entero) de
palabras (NP) por Entrada en la Lista de Sprites, que es un valor
entero constante para cada una de las Entradas de Sprite, cuando
existe la tabla 96 de Listado de Recorridos. Más concretamente,
cada Entrada de Sprite en la tabla 90 de Listado de Sprites puede
incluir palabras para (1) un Puntero de Datos de Sprite, (2)
Controles de Sprite, (3) una palabra opcional de Puntero de Tabla
de Líneas, (4) una palabra opcional para unos controles de sprite
opcionales y (5) una Palabra de Control de Habilitación de Campo
opcional. Por tanto, en teoría cada Entrada de Sprite de la tabla
90 de Listado de Sprites puede contener de 2 a 5 palabras. Cuando
se emplea una tabla 96 de Listado de Recorridos, cada una de las
Entradas de Sprite de la Lista 90 de Sprites incluye un mismo número
de palabras (por ejemplo, 5 palabras) independientemente de qué
palabras opcionales se requieran normalmente para cada Entrada de
Sprite. El propósito del registro que indica el Número de Palabras
de Entrada de Sprite en cada Entrada de Sprite es simplificar el
acceso a sólo ciertas de las Entradas de Sprite de la tabla 90 de
Listado de Sprites cuando se construyen los píxeles de una línea
horizontal.
La tabla 96 de Listado de Recorridos comprende
una palabra de control de la lista de recorridos o un grupo de
palabras de control de la lista de recorridos que describen cuál de
los N sprites encontrados en la tabla 90 de Listado de Sprites
existe en cada línea. Debe entenderse que la tabla 96 de Listado de
Recorridos se emplea principalmente cuando existen muchos sprites
(por ejemplo, N = 96 sprites), con el fin de reducir el tiempo de
tratamiento al ensamblar los datos de pixel para cada una de las
líneas horizontales en la Memoria 52 Intermedia de Ensamblaje de
Píxeles. El número de palabras en la tabla 96 de Listado de
Recorridos depende de la Ecuación:
Ec. 2N° de palabras de la
Lista de recorridos =
(NS/32)*(NH/NL),
donde NS es el número total de sprites en la
pantalla de presentación, NH es el número de líneas en la pantalla
de presentación, NL es el número de líneas en la pantalla de un
receptor de televisión por palabra de la lista de recorrido, y 32
representa el número ejemplar de bits disponibles en cada palabra de
la tabla 96 de Listado de Recorridos. Los valores para NH y NL son
números programables y NL puede tener un valor de, por ejemplo, 2,
4, 8, 16, 32, 64 ó 128. Más concretamente, aunque existen
eléctricamente 525 líneas horizontales de vídeo en dos campos de
una pantalla NTSC estándar de televisión, normalmente sólo se
observan aproximadamente 440-500 líneas, dependiendo
del receptor de televisión empleado. La superficie de presentación
de la pantalla donde han de presentarse los 96 sprites puede variar
desde 0 a 500 líneas para cualquier número predeterminado de
partes, donde cada parte tiene un mismo número (NL) de
líneas.
Haciendo ahora referencia a la figura 16, se
muestra una parte de una pantalla de presentación de vídeo que está
dividida por líneas discontinuas en 4 secciones 110, 111, 112 y 113
iguales, teniendo cada sección un número (NL) ejemplar de 32 líneas
por palabra de la lista de recorridos según una segunda realización
de la presente invención. Por tanto, la superficie total de la
pantalla de presentación de vídeo que se emplea para presentar los
96 sprites ejemplares cubre 128 líneas horizontales (4 secciones
con 32 líneas/sección). Además, se muestra una pluralidad de
imágenes de sprite, donde unas predeterminadas de las varias
imágenes de sprite se designan como 101, 102, 104, 105, 108 y 109,
las cuales, a propósito de la descripción a continuación en la
presente, representarán las Entradas 1, 2, 4, 6, 8 y 9 de Sprite,
respectivamente, en la tabla 90 de Listado de Sprites. De acuerdo
con la Ecuación (2), el número de palabras de la Lista de
recorridos es igual a (96 sprites/32) por (128 líneas (NH) en la
pantalla de presentación divididas por 32 líneas (NL) por palabra
de la lista de recorrido), lo cual da como resultado un total de
3*4 = 12 palabras de la lista de recorrido. Más concretamente, las
tres primeras palabras de la Lista de recorridos están asociadas
con la sección 110 de la superficie de la pantalla de presentación
de vídeo, las siguientes tres palabras de la Lista de recorridos
están asociadas con la sección 111, las siguientes tres palabras de
la Lista de recorridos están asociadas con la sección 112 y las
últimas tres palabras de la Lista de recorridos están asociadas con
la sección 113, para un total de doce palabras de la Lista de
Recorrido.
Tal como se muestra en la Sección 110 de la
superficie de la pantalla de presentación, únicamente las Entradas
de Sprite numeradas 1, 2, 4 y 6 de la tabla 90 de Listado de
Sprites se encuentran en cualquiera de las 32 líneas de la pantalla
de presentación que se están ensamblando en la Memoria 52 Intermedia
de Ensamblaje de Píxeles mostrada en la figura 9. Por tanto, una
primera palabra de 32 bits, asociada con la sección 110, en la
tabla 96 de Listado de Recorridos, que tiene los 32 bits, aparece
como,
00000000000000000000000000101011,
donde el bit más a la derecha está asociado con
la Entrada n°1 de Sprite y el bit más a la izquierda está asociado
con la Entrada n° 32 de Sprite en la tabla 90 de Listado de Sprites
de la Memoria 38 Gráfica. Además, los "1" en la palabra de la
Lista de recorridos indican que los sprites 1, 2, 4 y 6 están
activos en la sección 110. Las segunda y tercera palabras restantes
en la tabla 96 de Listado de Recorridos asociadas con la sección
110 para los sprites
33-96 contienen cada una 32 ceros, puesto que ninguna de estas Entradas de Sprite en la tabla 90 de Listado de Sprites está activa o aparece en la sección 110. Las otras nueve palabras de la Lista de Recorridos asociadas con las secciones
111-113 están codificadas de la misma manera para los sprites activos o que aparecen en cada una de estas secciones.
33-96 contienen cada una 32 ceros, puesto que ninguna de estas Entradas de Sprite en la tabla 90 de Listado de Sprites está activa o aparece en la sección 110. Las otras nueve palabras de la Lista de Recorridos asociadas con las secciones
111-113 están codificadas de la misma manera para los sprites activos o que aparecen en cada una de estas secciones.
En funcionamiento, la Máquina 42 Controladora de
Memoria y de Estado de Sprite de la figura 9 determina, a partir de
uno o más registros en la misma, que existe una tabla 96 de Listado
de Recorridos, obtiene también los datos (los valores NS, NH y NL,
la línea inicial para la superficie de presentación y el número de
sprites) que están almacenados en la misma y necesarios para el uso
con la tabla 96 de Listado de Recorridos, y determina el número de
palabras de la Lista de Recorridos necesario para cada sección de
la superficie de presentación de acuerdo con la Ecuación (2). Para
ensamblar los datos de píxel para las 525 líneas de la presentación
de vídeo, cuando la Máquina 42 Controladora de Memoria y de Estado
de Sprite llega a la línea inicial de la zona de presentación de la
Lista de Recorridos, la Máquina 42 Controladora de Memoria y de
Estado de Sprite accede primero a las palabras de la Lista de
Recorridos (por ejemplo, las tres primeras palabras) asociadas con
la sección superior (por ejemplo, la sección 110) de la superficie
de presentación de la lista de recorridos. A partir de estas tres
primeras palabras de la tabla 96 de Listado de Recorridos, la
Máquina 42 Controladora de Memoria y de Estado de Sprite determina
que sólo las Entradas 1, 2, 4 y 6 de Sprite están activas en la
sección 110.
A continuación, la Máquina 42 Controladora de
Memoria y de Estado de Sprite accede a la Entrada n° 1 de Sprite en
la tabla 90 de Listado de Sprites al ensamblar cada pixel de una
primera línea horizontal de la sección 110, luego accede a las
Entradas n° 2, n° 4 y n° 6 de Sprite por orden. La parte del
registro designada "n° de palabras por entrada de sprite"
indica cuántas palabras (NP) son utilizas por la Máquina 42
Controladora de Memoria y de Estado de Sprite para calcular dónde
va a situarse la próxima Entrada de Sprite activa en la tabla 90 de
Listado de Sprites. Más concretamente, si cada Entrada de Sprite
tiene cinco (5) palabras en la misma, entonces NP = 5. Esto indica
que el comienzo de las Entradas 1, 2, 4 y 6 se encuentra en las
posiciones 1, 6, 16 y 26 de almacenamiento, respectivamente, en la
tabla 90 de Listado de Sprites porque cada Entrada de Sprite tiene
cinco palabras que emplean cinco posiciones secuenciales de
memoria. Por tanto, la Máquina 42 Controladora de Memoria y de
Estado de Sprite salta secuencialmente a las posiciones 1, 6, 16 y
26 para obtener las 5 palabras asociadas con las Entradas n° 1, n°
2, n° 4 y n° 6 de Sprite, respectivamente. Esto evita el tiempo
necesario para registrar todas las 96 Entradas de Sprite para ver
cuántas palabras se incluyen en cada Entrada de Sprite y permite a
la Máquina 42 Controladora de Memoria y de Estado de Sprite saltar
fácilmente a la información necesaria para los sprites activos y
pasar de los sprites inactivos de las secciones
110-113.
Debe entenderse que la Máquina 42 Controladora de
Memoria y de Estado de Sprite emplea una o más palabras iguales de
la Lista de Recorridos para cada una de las líneas de una sección
(por ejemplo, la sección 110) puesto que los mismos sprites están
activos en cada una de las líneas de esa sección. La Máquina 42
Controladora de Memoria y de Estado de Sprite funciona para de la
misma manera para cada una de las otras secciones (por ejemplo, las
secciones 111-113) de la superficie de presentación
cubierta por las palabras de la Lista de Recorridos. Además, un
único sprite de gran tamaño puede incluirse en más de una sección.
Por ejemplo, las imágenes 102 y 108 de sprite en la figura 6,
respectivamente para las Entradas n° 2 y n° 8 de Sprite, se incluyen
en las secciones 110-111 y 112-113
respectivas. Como resultado, la palabra distinta de la Lista de
Recorridos para cada una de las secciones 110 y 111 incluye un
"1" en la posición designada para la Entrada n° 2 de Sprite, y
la primera palabra distinta de Lista de Recorridos para cada una de
las secciones 112 y 113 incluye un "1" en la posición
designada para la Entrada n° 8 de Sprite. Tal como se muestra
adicionalmente en la figura 16, las imágenes de sprite para los
sprites 108 y 109 se solapan parcialmente y puesto que el sprite
109 tiene una prioridad superior que la del sprite 108, los píxeles
asociados con el sprite 109 sobrescribirán los píxeles para el
sprite 108 en la zona de solapamiento.
Se halló que con la unidad 10 de caja de cable de
abonado de la figura 1 pueden acomodarse aproximadamente cien
Sprites pequeños en la tabla 90 de Listado de Sprites sin el uso de
la tabla 96 de Listado de Recorridos. Se encontró que al emplear
los datos almacenados en la tabla 96 de Listado de Recorridos
podían acomodarse muchos más Sprites pequeños (por ejemplo, hasta
aproximadamente 3.000) en la tabla 90 de Listado de Sprites para la
presentación en la pantalla de un receptor de televisión. Además,
la información en cada una de las partes de cada una de las N
Entradas de Sprite de la tabla 90 de Listado de Sprites y las
tablas 92, 94 y 96 se introduce en la Memoria 38 Gráfica desde la
CPU 36 remota (mostrada sólo en la figura 1) a través de la Máquina
42 Controladora de Memoria y de Estado de Sprite que forma parte de
la primera parte de los Circuitos 46 de Tratamiento de Vídeo. Esta
información puede actualizarse en cualquier instante por la CPU
36.
La parte de Control de Habilitación de Campo de
cada Entrada de Sprite en la tabla 90 de Listado de Sprites está
relacionada con los controles para formar un efecto de "Vidrio
Ahumado" (superposición transparente) con un sprite o dos
sprites sobre vídeo en directo. Más concretamente, un efecto de
"vidrio ahumado" se define como una zona de solapamiento de
dos sprites o un sprite sobre vídeo en directo, donde un primer
sprite se presenta en la pantalla de un receptor de televisión en
las líneas (por ejemplo, líneas pares) de un primer campo de una
imagen, y un segundo sprite o vídeo en directo se muestra en la
pantalla de un receptor de televisión en las líneas (por ejemplo,
líneas impares) de un segundo campo de una imagen. Tal efecto
permite que se vea una imagen del primer sprite mientras que
también se observa detrás de ella una imagen del segundo sprite que
puede ser, por ejemplo, una instantánea capturada de una trama de
una señal de televisión en directo, que está almacenada como una
Entrada de Sprite en la Memoria 38 Gráfica, o vídeo real en
directo. A continuación, el Convolucionador 68 bidimensional trata
la imagen ensamblada para producir un efecto de "Vidrio
Ahumado" entre los dos sprites. Los sistemas de la técnica
anterior utilizan principalmente software para combinar
informáticamente las dos imágenes.
Según la presente invención, la parte de Control
de Habilitación de campo de la Entrada de Sprite indica que este
sprite ha de presentarse sólo en líneas pares o impares de la
superficie de la pantalla de presentación indicada para ese sprite.
Cuando se ensamblan los datos de píxel en cada línea horizontal de
una presentación para las Entradas de Sprite de la tabla 90 de
Listado de Sprites, el Control de Habilitación de Campo indica si
tal sprite existe o no en una línea horizontal con su superficie
designada en una pantalla de presentación. Esto supone un método
sencillo y económico para permitir insertar o activar un gráfico o
un sprite en sólo uno de dos campos.
Haciendo ahora referencia a la figura 17, se
muestra una parte ejemplar de las líneas 1-13 de
una pantalla 120 entrelazada de un receptor de televisión en la que
unos primer y segundo sprites (SPRITE n° 1 y SPRITE n° 2) se
entrelazan en una superficie 121 de píxeles de la pantalla
(mostrada dentro de un rectángulo de líneas discontinuas) según una
tercera realización de la presente invención. Más concretamente, la
Entrada n° 2 de Sprite está definida por sus Controles de Sprite en
la tabla 90 de Listado de Sprites de la Memoria 38 Gráfica como
estando dentro de la superficie 121 de píxeles formada por las
líneas 2-7, y esa Entrada n° 2 de Sprite ha de
insertarse o activarse sólo en las líneas 2, 4 y 6 pares que forman
parte del primer campo de una trama en la superficies 121 de
píxeles. Además, la Entrada n° 1 de Sprite en la tabla 90 de Listado
de Sprites se define como ocupando toda la superficie cubierta por
las líneas 1-13 de la pantalla 120. Puesto que la
Entrada n° 1 de Sprite tiene una prioridad inferior que la
Entrada
n° 2 de Sprite, la Entrada n° 1 de Sprite ocupa las líneas 3, 5, y 7 impares de la sección 121 junto con toda la superficie restante de las líneas 1-13.
n° 2 de Sprite, la Entrada n° 1 de Sprite ocupa las líneas 3, 5, y 7 impares de la sección 121 junto con toda la superficie restante de las líneas 1-13.
Volviendo ahora a la figura 9, con el fin de que
la Máquina 42 Controladora de Memoria y de Estado de Sprite
produzca el efecto de "Vidrio Ahumado", ésta necesita saber
qué campo se está presentando actualmente en la pantalla del
receptor de televisión. Esta información que indica el campo actual
de vídeo está suministrada a la Máquina 42 Controladora de Memoria y
de Estado de Sprite por una señal de campo de 2 bits (CAMPO
<1:0>) que indica los bits 1 y 0 transmitidos por un circuito
remoto de sincronización de vídeo (no mostrado), situado
generalmente en los circuitos 44 de Compuesta a YUV (mostrados en
la figura 1) de la unidad 10 de caja de cable de abonado, y
obtenidos de un flujo recibido de señales de vídeo en directo. Esta
señal de Campo de 2 bits es esencialmente una señal de reloj en
funcionamiento continuo.
La Máquina 42 Controladora de Memoria y de Estado
de Sprite también lee una señal de Habilitación de Campo de 4 bits
procedente de la Entrada asociada de la Lista de Sprites que indica
qué campo habilitar de dos tramas almacenadas para un sprite. Debe
entenderse que la información completa para el color de una imagen
en color se transmite dentro de cuatro campos de dos tramas con el
fin de entender por qué se necesitan cuatro bits para la Señal de
Habilitación de Campo, donde cada trama tiene dos campos. Además,
el uso de las dos tramas no es una cuestión de presentar la imagen
en color sino que llega a ser una cuestión de los artefactos (por
ejemplo, parpadeo, etc.) producidos en la pantalla de un receptor
de televisión entrelazado. Más concretamente, en una señal NTSC de
vídeo en color existen (a) 227,5 ráfagas de color enviadas en cada
línea horizontal de la imagen, (b) 262,5 líneas para cada uno de
los dos campos de una trama y (C) 525 líneas en una trama que
comprende los dos campos. Puesto que hay 227,5 ráfagas de color por
línea, si las ráfagas de color en la línea 0 del campo 0 van en
sentido positivo en un cierto punto, entonces en la siguiente línea
(línea 2) del campo O, la ráfaga de color va en sentido negativo 0
en un cierto punto porque cada línea contiene una secuencia de
ráfaga de color completo más una mitad de ráfaga de color en vez de
una secuencia de sólo ráfagas de color completo. Además, puesto que
hay un número impar de líneas (525) en una trama, las ráfagas de
color en la primera línea (línea O) del campo 0 de la siguiente
(segunda) trama irán en sentido negativo y tendrán un sentido
opuesto a la línea 0 del campo 0 de la trama inmediatamente
anterior. Por tanto, para conseguir una ráfaga positiva de color en
la línea 0 del campo 0 de una trama, el patrón repetido sólo se
tiene lugar cada segunda trama. Debe entenderse que el contenido
total de una imagen en color se encuentra presente tras la primera
trama, pero que los patrones repetidos de los artefactos (por
ejemplo, parpadeo, etc.) son productos secundarios de un ciclo de
cuatro tramas. Esto es un resultado de un compromiso tomado
originalmente al formar el estándar NTSC para transmitir señales de
televisión en color que sean compatibles con señales de televisión
en blanco y negro.
Cuando se coloca una instantánea de una imagen en
televisión en directo en la Memoria 38 Gráfica, como una Entrada de
Sprite en la tabla 90 de Listado de Sprites, únicamente necesita
almacenarse una trama que comprenda dos campos para volver a
presentar posteriormente la imagen en la pantalla de un receptor de
televisión. La Máquina 42 Controladora de Memoria y de Estado de
Sprite emplea el control de Habilitación de Campo de 4 bits para
indicar cuándo ha de accederse a un sprite en una cierta trama o
campo en función del código de los cuatro bits. Por ejemplo, un
"1" en el bit tres de la señal de Habilitación de Campo indica
que el sprite asociado debería habilitarse en la trama 1, y un
"1" en el bit dos de la señal de Habilitación de Campo indica
que el sprite asociado debería habilitarse en la trama 0.
Similarmente, un "1" en el bit uno de la señal de Habilitación
de Campo indica que el sprite asociado debería habilitarse en el
campo 1, y un "1" en el bit cero de la señal de Habilitación
de Campo indica que el sprite asociado debería habilitarse en el
campo 0. Por tanto, los bits 2 y 3 se emplean para sprites de trama
doble almacenados temporalmente, mientras que los bits 1 y 0 se
utilizan, bien para producir un efecto de "vidrio ahumado"
donde el sprite sólo se observa en un campo, bien para sprites de
trama doble almacenados temporalmente donde un sprite se observa en
ambos campos. La Máquina 42 Controladora de Memoria y de Estado de
Sprite compara las señales de Campo y de Habilitación de Campo para
determinar cuál de los cuatro campos únicos en las dos tramas está
activado actualmente con el fin de presentar el sprite en sus
posiciones deseadas de líneas horizontales y para la remodulación
de la imagen NTSC a presentar en la pantalla del receptor de
televisión por unos circuitos remotos de tratamiento (no mostrados),
para proporcionar ráfagas de color correctamente dirigidas. Más
concretamente, la información para los cuatro campos, tal como se
determina a partir de las señales de Campo y de Habilitación de
Campo, se emplea para el almacenamiento temporal de doble línea en
la Memoria 52 Intermedia de Ensamblaje de Píxeles, para determinar
qué datos de sprite han de colocarse en cada posición de píxel de
las Memorias 53, 54 ó 55 Intermedias de Doble Línea (mostradas en la
figura 2). Cuando la comparación de las señales de Campo y de
Habilitación de Campo indica una correspondencia entre campos, los
datos de sprite se leen de la tabla 90 de Entradas de Sprite, la
tabla 92 de Datos de Sprite y la tabla 94 de Controles de Línea en
la Memoria 38 Gráfica, y las Memorias 53-55
Intermedias de Doble Línea en la Memoria 52 Intermedia de
Ensamblaje de Píxeles se cargan de la manera apropiada durante un
cierto campo o trama. Cuando sea necesario, se actualiza un
registro (no mostrado) en la Máquina 42 Controladora de Memoria y
de Estado de Sprite desde la CPU 36 a través del bus 48 para indicar
qué campo y/o trama es el deseado para la carga de datos de un
Entrada de Sprite de la tabla 90 de Entradas de Sprite en la
Memoria 52 Intermedia de Ensamblaje de Píxeles.
Según la presente invención, el uso de palabras
de control de grupos de bits sencillos y de un comparador para
comparar señales de Campo y de Habilitación de Campo con el fin de
determinar patrones de repetición en las líneas horizontales de
señales NTSC de vídeo, permite que se forme un efecto de "vidrio
ahumado" en una presentación entrelazada. Esto contrasta con la
realización de todas las mismas funciones en un software que
requiere un procesador potente y, normalmente, relativamente caro
con una gran cantidad de programación, tal como los que se
encuentran en algunos sistemas de la técnica anterior. En tales
sistemas de la técnica anterior, el procesador (por ejemplo, la CPU
36 de la figura 1) participa en la construcción de la imagen que
requiere una CPU 36 relativamente cara, y si el procesador se
paraliza, la construcción de la imagen se detiene. Una ventaja de
la presente unidad 10 de caja de cable de abonado es que si la CPU
36 se paraliza, cualquier animación de la imagen que se está
presentando se detiene porque la CPU 36 no está suministrando
información sobre qué cosas hay que mover. No obstante, la imagen
es autónoma. Más concretamente, siempre y cuando la Memoria 38
Gráfica no esté corrupta, la parte gráfica de vídeo del Controlador
40 de Memoria y de Vídeo mostrado en las figuras 2, 3 y 9 sabe cómo
construir la imagen a partir de los datos en la Memoria 38
Gráfica.
Aunque la presente invención se ha descrito en lo
que precede para el uso en una unidad 10 de caja de cable de
abonado, debe entenderse que la presente invención puede emplearse
en, por ejemplo, una estación de edición antes que se transmita la
señal de televisión. Es decir, la presente invención puede
emplearse en producciones de televisión para crear productos
iniciales antes de su transmisión en vez de para manipular la señal
de televisión posteriormente en un emplazamiento remoto de abonado.
Esto es posible porque la calidad y la resolución de la imagen
presentada en el receptor de televisión no cambia cuando se emplee
el presente aparato, independientemente de si la edición se realiza
de durante la producción inicial o posteriormente en el
emplazamiento del abonado. Por tanto, no importa si la calidad o la
resolución puede ser mejor en una producción de televisión no
editada si la edición se realiza antes de que se vea la producción
en el equipo de televisión entrelazado del abonado o en el
emplazamiento del abonado.
Esta invención está relacionada con otras tres
solicitudes de patente europea, de las cuales todas están
presentadas en nombre del solicitante de la presente invención,
tienen inventores en común y se están presentando en la misma fecha
con la presente, tituladas "Method and Apparatus For Performing
Two Dimensional Video Convolving" (Referencia de Agente: J24151
EP), "Apparatus For Processing Mixed YUV and Color Palettized
Video Signals" (Referencia de Agente: J24152 EP) y "Video
Magnification Apparatus" (Referencia de Agente: J24153 EP).
Estas tres solicitudes de patente europea reivindican prioridad de
las solicitudes de patente estadounidense N° 08/523.395, 08/523.396
y 08/523.789, respectivamente. Las referencias en el presente
documento a estas solicitudes de patente estadounidense incluyen la
referencia a la correspondiente solicitud de patente europea.
Claims (9)
1. Aparato (38, 40) para tratar señales gráficas
y de vídeo mezcladas para la presentación en un receptor estándar
de televisión, que comprende:
una memoria (38) gráfica que comprende:
- una tabla (90) de listado de sprites que incluyen uno o más gráficos en una secuencia predeterminada para la presentación en un receptor de televisión y para almacenar información general relativa a uno o más gráficos dentro de palabras de control en cada lista;
- y una tabla (92) de datos de sprite para almacenar datos de píxel para líneas horizontales de cada uno de los uno o más gráficos, donde una palabra de control en las lista en la tabla de listado de sprites para cada uno de los uno o más gráficos accede a las líneas horizontales en la tabla de datos de sprite para cada uno de los uno o más gráficos; y
una máquina (42) controladora de memoria y de
estado de sprite sensible a señales de habilitación de campo
procedentes de la tabla de listado de sprites que indican qué campo
de una trama de dos campos de una imagen de vídeo se está
presentando en una pantalla del receptor de televisión, para acceder
y ensamblar un primer gráfico predeterminado incluido en la tabla
de listado de sprites de uno sólo de los dos campos y un segundo
gráfico predeterminado incluido en la tabla de listado de sprites o
una señal de televisión en directo para líneas horizontales del
otro de los
dos campos.
dos campos.
2. Aparato según la reivindicación 1, en el que
la memoria gráfica comprende además una tabla (94) de Controles de
Línea que comprende palabras de control a las que accede una
palabra de control en la lista de los predeterminados de los uno o
más gráficos en la tabla de listado de sprites para proporcionar
unos controles independientes para colocar de nuevo selectivamente
unos datos de píxel en cada una de las líneas horizontales
obtenidas de la tabla de datos de sprite, para producir un efecto
especial predeterminado para cada uno de los predeterminados de los
uno o más gráficos.
3. Aparato según la reivindicación 2, que
comprende además:
un cable (50) coaxial de datos sensible a datos
de píxel a los que accede la máquina controladora de memoria y de
estado de sprite para cada una de las líneas horizontales de la
tabla de datos de sprite y de la tabla de controles de línea para
cada una de las listas de gráficos en la tabla de listado de
sprites, para generar una dirección selectiva para cada uno de los
datos de píxel para cada línea horizontal según las palabras de
control predeterminadas en la tabla de listado de sprites y en la
tabla de controles de línea; y
una memoria (52) intermedia de ensamblaje de
píxeles sensible a la dirección selectiva predeterminada para cada
dato de pixel procedente del cable coaxial de datos para cada línea
horizontal, para ensamblar y almacenar temporalmente cada línea
horizontal de datos de píxel según cada dirección selectiva
predeterminada generada por el cable coaxial de datos para esa línea
horizontal de datos de pixel.
4. Aparato según la reivindicación 1, en el
que:
la memoria gráfica comprende además una tabla
(96) de listado de recorridos que comprende al menos una palabra de
control de lista de recorridos para un número predeterminado de
líneas horizontales que forman cada una de una pluralidad de
secciones distintas predeterminadas de la pantalla del receptor de
televisión, definiendo una o más palabras de control de lista de
recorridos cuáles de una pluralidad de N listas de gráficos en la
tabla de listado de sprites están activas en la sección
predeterminada asociada; y
la máquina controladora de memoria y de estado de
sprite accede primero a al menos una palabra de control de lista de
recorridos en la tabla de listado de recorridos cuando ensambla una
sección predeterminada de la pantalla del receptor de televisión y
a continuación sólo accede a las listas de gráficos en la tabla de
listado de sprites que se encuentran activas y aparecen en al menos
una palabra de lista de recorridos.
5. Aparato según la reivindicación 4, en el que
el número total de palabras de lista de recorridos en la tabla de
listado de recorridos se define como (NS/X)*(NH/NL), donde NS es el
número total de gráficos que aparecen en la pantalla del receptor
de televisión, X es el número de bits disponible en cada palabra de
control de listad de recorridos, NH es el número de líneas
horizontales en todas de la pluralidad de secciones distintas
predeterminadas de la pantalla del receptor de televisión y NL es
el número de líneas horizontales por al menos una palabra de
control de lista de recorridos hallada en cada sección
predeterminada de la pantalla del receptor de televisión.
6. Aparato según la reivindicación 4, en el que
cada una de las listas de gráficos en la tabla de listado de
sprites comprende una palabra de control de entrada de lista de
sprites que define el número total de palabras de control en esa
lista de gráficos, y cada una de las listas de gráficos contiene un
mismo número palabras de control totales.
7. Aparato según la reivindicación 1, en el que
uno o más gráficos en la tabla de listado de sprites están listados
secuencialmente con una prioridad predeterminada, y unos datos de
píxel de un primer gráfico de prioridad superior sobrescriben unos
datos de píxel de un segundo gráfico de prioridad inferior en una
posición de píxel al ensamblar una línea horizontal donde los primer
y segundo gráficos se solapan en una pantalla del receptor de
televisión, al acceder por orden la máquina controladora de memoria
y de estado de sprite a las listas de gráficos para ensamblar una
línea horizontal de datos de píxel.
8. Aparato para producir señales de imágenes
gráficas para la mezcla con una señal de vídeo para producir una
señal de vídeo de salida, comprendiendo dicho aparato una memoria
gráfica para almacenar líneas horizontales de datos de píxel de una
pluralidad de gráficos, y un medio de tratamiento para tratar datos
de píxel en ciertas líneas horizontales sólo para un dicho primer
gráfico y para tratar datos de píxel en líneas horizontales
diferentes, intercaladas con dichas ciertas líneas horizontales,
para un dicho segundo gráfico, donde dichos primer y segundo
gráficos han de solaparse en una imagen producida por dicha señal de
vídeo de salida.
9. Aparato según la reivindicación 8, en el
que dicha señal de vídeo de salida es una señal de vídeo
entrelazada, y dichas ciertas líneas horizontales constan de líneas
sólo en un campo y dichas líneas horizontales diferentes constan de
líneas sólo en un campo diferente.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/523,394 US5835103A (en) | 1995-08-31 | 1995-08-31 | Apparatus using memory control tables related to video graphics processing for TV receivers |
US523394 | 1995-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2208718T3 true ES2208718T3 (es) | 2004-06-16 |
Family
ID=24084816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES96305725T Expired - Lifetime ES2208718T3 (es) | 1995-08-31 | 1996-08-02 | Aparato que emplea tablas de control de memoria relativas al tratamiento de graficos de video para receptores de tv. |
Country Status (9)
Country | Link |
---|---|
US (1) | US5835103A (es) |
EP (1) | EP0762331B1 (es) |
JP (2) | JP3542690B2 (es) |
KR (1) | KR100215131B1 (es) |
CA (1) | CA2179790C (es) |
DE (1) | DE69630264T2 (es) |
ES (1) | ES2208718T3 (es) |
MX (1) | MX9603752A (es) |
NO (1) | NO963578L (es) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2784532B1 (fr) | 1998-10-09 | 2000-12-22 | St Microelectronics Sa | Procede de correction de l'effet de tremblement et de scintillement des elements d'image incrustes sur une image video |
FR2784534B1 (fr) | 1998-10-09 | 2000-12-22 | St Microelectronics Sa | Procede et circuit d'affichage d'elements d'image incrustes sur une image video |
US6246803B1 (en) | 1998-12-27 | 2001-06-12 | The University Of Kansas | Real-time feature-based video stream validation and distortion analysis system using color moments |
KR100348422B1 (ko) * | 2000-06-28 | 2002-08-10 | 주식회사 아리랑테크 | 라인 콘트롤 테이블을 이용한 그래픽 표시 제어 장치 |
US7489320B2 (en) * | 2005-05-13 | 2009-02-10 | Seiko Epson Corporation | System and method for conserving memory bandwidth while supporting multiple sprites |
US8325282B2 (en) * | 2008-04-08 | 2012-12-04 | Mitsubishi Electric Visual Solutions America, Inc. | Television automatic geometry adjustment system |
USD871240S1 (en) * | 2018-08-20 | 2019-12-31 | Amazon Technologies, Inc. | Motion sensor |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4420770A (en) * | 1982-04-05 | 1983-12-13 | Thomson-Csf Broadcast, Inc. | Video background generation system |
US4700181A (en) * | 1983-09-30 | 1987-10-13 | Computer Graphics Laboratories, Inc. | Graphics display system |
US4754270A (en) * | 1984-02-16 | 1988-06-28 | Nintendo Co., Ltd. | Apparatus for varying the size and shape of an image in a raster scanning type display |
US4580165A (en) * | 1984-04-12 | 1986-04-01 | General Electric Company | Graphic video overlay system providing stable computer graphics overlayed with video image |
US5089811A (en) * | 1984-04-16 | 1992-02-18 | Texas Instruments Incorporated | Advanced video processor having a color palette |
JPS60254190A (ja) * | 1984-05-31 | 1985-12-14 | 株式会社 アスキ− | デイスプレイコントロ−ラ |
CA1243779A (en) * | 1985-03-20 | 1988-10-25 | Tetsu Taguchi | Speech processing system |
IL79822A (en) * | 1985-12-19 | 1990-03-19 | Gen Electric | Method of comprehensive distortion correction for a computer image generation system |
US5285193A (en) * | 1987-01-16 | 1994-02-08 | Sharp Kabushiki Kaisha | Data base system |
DE3702220A1 (de) * | 1987-01-26 | 1988-08-04 | Pietzsch Ibp Gmbh | Verfahren und einrichtung zur darstellung eines gesamtbildes auf einem bildschirm eines bildschirmgeraetes |
US4951038A (en) * | 1987-05-15 | 1990-08-21 | Hudson Soft Co., Ltd. | Apparatus for displaying a sprite on a screen |
US5030946A (en) * | 1987-05-20 | 1991-07-09 | Hudson Soft Co., Ltd. | Apparatus for the control of an access to a video memory |
US5258843A (en) * | 1987-09-04 | 1993-11-02 | Texas Instruments Incorporated | Method and apparatus for overlaying displayable information |
US5179642A (en) * | 1987-12-14 | 1993-01-12 | Hitachi, Ltd. | Image synthesizing apparatus for superposing a second image on a first image |
US5185597A (en) * | 1988-06-29 | 1993-02-09 | Digital Equipment Corporation | Sprite cursor with edge extension and clipping |
US5065231A (en) * | 1988-09-26 | 1991-11-12 | Apple Computer, Inc. | Apparatus and method for merging input RGB and composite video signals to provide both RGB and composite merged video outputs |
GB2226471A (en) * | 1988-12-23 | 1990-06-27 | Philips Electronic Associated | Displaying a stored image in expanded format |
US5235677A (en) * | 1989-06-02 | 1993-08-10 | Atari Corporation | Raster graphics color palette architecture for multiple display objects |
US4965670A (en) * | 1989-08-15 | 1990-10-23 | Research, Incorporated | Adjustable overlay display controller |
US5168363A (en) * | 1989-10-16 | 1992-12-01 | Sony Corporation | Video signal parocessing apparatus with memory and crossfader |
US5389947A (en) * | 1991-05-06 | 1995-02-14 | Compaq Computer Corporation | Circuitry and method for high visibility cursor generation in a graphics display |
KR940001439B1 (ko) * | 1991-08-30 | 1994-02-23 | 삼성전자 주식회사 | 자막정보 중첩회로 |
US5258826A (en) * | 1991-10-02 | 1993-11-02 | Tandy Corporation | Multiple extended mode supportable multimedia palette and multimedia system incorporating same |
US5313231A (en) * | 1992-03-24 | 1994-05-17 | Texas Instruments Incorporated | Color palette device having big/little endian interfacing, systems and methods |
DE69309780T2 (de) * | 1992-05-19 | 1997-10-23 | Canon Kk | Verfahren und Einrichtung zur Steuerung einer Anzeige |
JP3059302B2 (ja) * | 1992-06-03 | 2000-07-04 | 株式会社ハドソン | 映像混合装置 |
CN1125029A (zh) * | 1993-06-07 | 1996-06-19 | 亚特兰大科技公司 | 用户终端的显示系统 |
EP0633693B1 (en) * | 1993-07-01 | 2001-04-11 | Matsushita Electric Industrial Co., Ltd. | Flagged video signal recording apparatus and reproducing apparatus |
US5519825A (en) * | 1993-11-16 | 1996-05-21 | Sun Microsystems, Inc. | Method and apparatus for NTSC display of full range animation |
-
1995
- 1995-08-31 US US08/523,394 patent/US5835103A/en not_active Expired - Lifetime
-
1996
- 1996-06-24 CA CA002179790A patent/CA2179790C/en not_active Expired - Lifetime
- 1996-08-02 EP EP96305725A patent/EP0762331B1/en not_active Expired - Lifetime
- 1996-08-02 ES ES96305725T patent/ES2208718T3/es not_active Expired - Lifetime
- 1996-08-02 DE DE69630264T patent/DE69630264T2/de not_active Expired - Fee Related
- 1996-08-27 NO NO963578A patent/NO963578L/no unknown
- 1996-08-28 KR KR1019960035945A patent/KR100215131B1/ko not_active IP Right Cessation
- 1996-08-29 MX MX9603752A patent/MX9603752A/es unknown
- 1996-08-30 JP JP22973596A patent/JP3542690B2/ja not_active Expired - Fee Related
-
2001
- 2001-12-28 JP JP2001400730A patent/JP2002314880A/ja not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR100215131B1 (ko) | 1999-08-16 |
US5835103A (en) | 1998-11-10 |
KR970014409A (ko) | 1997-03-29 |
NO963578D0 (no) | 1996-08-27 |
CA2179790C (en) | 2000-08-29 |
EP0762331A2 (en) | 1997-03-12 |
JP2002314880A (ja) | 2002-10-25 |
MX9603752A (es) | 1997-06-28 |
JPH09163259A (ja) | 1997-06-20 |
DE69630264D1 (de) | 2003-11-13 |
DE69630264T2 (de) | 2004-08-05 |
EP0762331B1 (en) | 2003-10-08 |
NO963578L (no) | 1997-03-03 |
EP0762331A3 (en) | 1998-06-17 |
JP3542690B2 (ja) | 2004-07-14 |
CA2179790A1 (en) | 1997-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3818662B2 (ja) | 単一のフレームバッファを有する画像処理システム | |
KR100249403B1 (ko) | 비디오 확대 장치 | |
US4580134A (en) | Color video system using data compression and decompression | |
US6191772B1 (en) | Resolution enhancement for video display using multi-line interpolation | |
CA2068001C (en) | High definition multimedia display | |
EP0454414B1 (en) | Video signal display | |
EP0752695A2 (en) | Method and apparatus for simultaneously displaying graphics and video data on a computer display | |
EP0590961B1 (en) | Image processing apparatus | |
JPH0627919A (ja) | カーソル生成装置及び同方法 | |
KR19980042025A (ko) | 실시간 윈도우 어드레스 계산을 이용한 온 스크린 디스플레이시스템 | |
US4771275A (en) | Method and apparatus for assigning color values to bit map memory display locations | |
US20050162557A1 (en) | Method and apparatus for controlling display of digital television capable of implementing various screen displays | |
KR100190250B1 (ko) | 디지탈 텔레비전 수신기 | |
EP0840276B1 (en) | Window processing in an on screen display system | |
ES2208718T3 (es) | Aparato que emplea tablas de control de memoria relativas al tratamiento de graficos de video para receptores de tv. | |
KR100208552B1 (ko) | 믹싱된 yuv 및 컬러 파렛트화된 비디오 신호를 처리하는 장치 | |
MXPA96003752A (es) | Aparato que usa tablas de control de memoriarelacionadas con el procesamiento de graficos devideo para receptores de television | |
JPH07162816A (ja) | 文字放送受信装置 | |
JPH06175606A (ja) | ハードウエアスクリーン上への画像表示方法および装置 | |
JPH0311891A (ja) | ワイド・アスペクト・テレビジョン装置 | |
JPH0772824A (ja) | 画像表示装置 | |
JPH10124039A (ja) | 図形表示装置 | |
JPH08228319A (ja) | 多面表示システム及び表示装置 | |
JPH07320037A (ja) | 映像データ転送装置 | |
JPS607479A (ja) | 外部同期によるcrtコントロ−ラ |