ES2323129T3 - Interfaz de alta velocidad de datos. - Google Patents
Interfaz de alta velocidad de datos. Download PDFInfo
- Publication number
- ES2323129T3 ES2323129T3 ES04788672T ES04788672T ES2323129T3 ES 2323129 T3 ES2323129 T3 ES 2323129T3 ES 04788672 T ES04788672 T ES 04788672T ES 04788672 T ES04788672 T ES 04788672T ES 2323129 T3 ES2323129 T3 ES 2323129T3
- Authority
- ES
- Spain
- Prior art keywords
- package
- data
- client
- server
- customer
- 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
- 230000002441 reversible effect Effects 0.000 claims abstract description 151
- 238000000034 method Methods 0.000 claims abstract description 101
- 238000004891 communication Methods 0.000 claims abstract description 70
- 230000006854 communication Effects 0.000 claims abstract description 70
- 238000005538 encapsulation Methods 0.000 claims abstract description 37
- 238000005070 sampling Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 description 215
- 230000004044 response Effects 0.000 description 124
- 238000012545 processing Methods 0.000 description 103
- 239000000523 sample Substances 0.000 description 76
- 238000005259 measurement Methods 0.000 description 43
- 230000008569 process Effects 0.000 description 37
- 230000006266 hibernation Effects 0.000 description 35
- 230000008859 change Effects 0.000 description 30
- 230000007246 mechanism Effects 0.000 description 30
- 230000000875 corresponding effect Effects 0.000 description 23
- 239000004020 conductor Substances 0.000 description 21
- 230000006870 function Effects 0.000 description 21
- 230000007704 transition Effects 0.000 description 20
- 230000004913 activation Effects 0.000 description 17
- 230000008901 benefit Effects 0.000 description 15
- 238000003860 storage Methods 0.000 description 15
- 238000012800 visualization Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 14
- 239000003086 colorant Substances 0.000 description 14
- 238000013461 design Methods 0.000 description 14
- 230000033001 locomotion Effects 0.000 description 14
- 230000015654 memory Effects 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000009849 deactivation Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 8
- 230000001934 delay Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000000737 periodic effect Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 7
- 241000699666 Mus <mouse, genus> Species 0.000 description 6
- 238000013459 approach Methods 0.000 description 6
- 239000000945 filler Substances 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 6
- 230000000750 progressive effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- CDBYLPFSWZWCQE-UHFFFAOYSA-L Sodium Carbonate Chemical compound [Na+].[Na+].[O-]C([O-])=O CDBYLPFSWZWCQE-UHFFFAOYSA-L 0.000 description 4
- 230000009471 action Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 101001053395 Arabidopsis thaliana Acid beta-fructofuranosidase 4, vacuolar Proteins 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 241000526960 Amaranthus acanthochiton Species 0.000 description 1
- 101001053401 Arabidopsis thaliana Acid beta-fructofuranosidase 3, vacuolar Proteins 0.000 description 1
- 241000264877 Hippospongia communis Species 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000405961 Scomberomorus regalis Species 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006793 arrhythmia Effects 0.000 description 1
- 206010003119 arrhythmia Diseases 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000012010 growth Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72412—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Un procedimiento para que un cliente comunique a un servidor una selección de una velocidad inválida de datos de muestreo para un flujo de datos de audio inverso en un sistema de comunicaciones de interfaz digital de visualización móvil MDDI, comprendiendo el procedimiento las etapas de: enviar un paquete de encapsulamiento inverso desde el servidor al cliente; enviar un paquete de informe de error desde el cliente al servidor, comprendiendo el paquete de informe de error un indicador de que el cliente no brinda soporte a la velocidad de datos de muestreo inválida; solicitar un paquete de capacidad de cliente por parte del servidor, comprendiendo una solicitud de datos de soporte de flujo de audio; y enviar el paquete de capacidad de cliente al servidor, comprendiendo el paquete de capacidad de cliente los datos de soporte de flujo de audio.
Description
Interfaz de alta velocidad de datos.
Las realizaciones de la invención en esta
descripción se refieren a un protocolo de señal digital y al proceso
para comunicar o para transferir señales entre un dispositivo
servidor y un dispositivo cliente a altas velocidades de datos. De
manera más específica, la descripción se refiere a una técnica para
la transferencia de señales multimedia y otros tipos de señales
digitales desde un dispositivo servidor o controlador a un
dispositivo cliente para la presentación o la visualización a un
usuario final usando un mecanismo de transferencia de alta
velocidad de datos de baja potencia que tenga aplicaciones de
dispositivo internas y externas.
Los ordenadores, los productos relacionados con
juegos electrónicos, y varias tecnologías de vídeo (por ejemplo,
DVD y VCR de alta definición) han avanzado de manera significativa
en los últimos años para proporcionar la presentación de imágenes
de resolución cada vez mayor, fijas, de vídeo, de vídeo bajo demanda
y de gráficos, incluso cuando incluyan algún tipo de texto, a los
usuarios finales de dicho equipo. Estos avances a su vez dictan el
uso de dispositivos de visualización electrónicos de resoluciones
mayores, tales como monitores de vídeo de alta definición,
monitores HDTV, o elementos de proyección de imagen especializados.
La combinación de dichas imágenes visuales con datos de audio de
alta definición o de alta calidad, tales como cuando se usa la
reproducción de sonido de tipo CD, DVD, sonido envolvente, y otros
dispositivos que también tengan asociadas salidas de señal de
audio, se usa para crear una experiencia multimedia más realista,
rica en contenidos o verosímil para un usuario final. Además, los
sistemas de sonido sumamente móviles, de alta calidad, y los
mecanismos de transporte de música, tales como los reproductores
MP3, se han desarrollado sólo para las presentaciones de audio a
los usuarios finales. Esto ha dado como resultado expectativas
aumentadas para los usuarios típicos de dispositivos electrónicos
comerciales, desde ordenadores a televisores e incluso teléfonos,
estando ahora acostumbrados a, y esperando, una alta calidad de
salida, o calidad de salida suprema.
En un escenario de presentación de vídeo típico,
que implique un producto electrónico, los datos de vídeo son
transferidos de manera típica, usando técnicas actuales, a una
velocidad que podría ser mejor denominada baja o media, estando en
el orden de uno a decenas de kilobits por segundo. Estos datos son
después almacenados de manera temporal o almacenados en
dispositivos de memoria transitoria o de largo plazo, para su
reproducción retardada (posterior) sobre un dispositivo de
visualización deseado. Por ejemplo, las imágenes se pueden
transferir "a través" o usando Internet, empleando un programa
residente en un ordenador que tenga un módem u otro tipo de
dispositivo de conexión a Internet, para recibir o para transmitir
datos útiles en la representación digital de una imagen. Una
transferencia similar puede tener lugar usando dispositivos
inalámbricos tales como ordenadores portátiles equipados con módems
inalámbricos, o asistentes personales digitales (PDA) inalámbricas,
o teléfonos inalámbricos.
Una vez recibidos, los datos se almacenan de
manera local en elementos de memoria, en circuitos o en
dispositivos, tales como memoria RAM o flash, incluyendo
dispositivos de almacenamiento interno o externo tales como
unidades de disco duro de pequeño tamaño, para la reproducción.
Según la cantidad de datos y la resolución de la imagen, la
reproducción podría comenzar relativamente rápida, o se podría
presentar con un retardo a más largo plazo. Esto es, en algunos
casos, la presentación de la imagen permite cierto grado de
reproducción en tiempo real para imágenes muy pequeñas o de baja
resolución que no requieran muchos datos, o que usen algún tipo de
almacenamiento temporal, de forma que después de un pequeño retardo,
se presente algún material mientras se transfiere más material. Con
tal de que no haya interrupciones en el enlace de transferencia, o
interferencia proveniente de otros sistemas o usuarios con respecto
al canal de transferencia que se esté usando, una vez que la
presentación comienza, la transferencia es razonablemente
transparente para el usuario final del dispositivo de
visualización. Naturalmente, cuando múltiples usuarios comparten un
único trayecto de comunicaciones, tal como una conexión a Internet
por cable, las transferencias pueden interrumpirse o ralentizarse
más de lo deseado.
Los datos usados para crear bien imágenes fijas
o bien vídeo en movimiento a menudo se comprimen usando una de
varias técnicas bien conocidas, tales como las especificadas por el
Grupo de Expertos Conjunto de Fotografía (JPEG), el Grupo de
Expertos de Imágenes en Movimiento (MPEG), y otras organizaciones o
compañías de normas bien conocidas en las industrias de medios, de
ordenadores y de las comunicaciones para acelerar la transferencia
de datos sobre un enlace de comunicaciones. Esto permite la
transferencia de imágenes o de datos más rápida por medio de la
utilización de un número menor de bits para transferir una cantidad
dada de información.
Una vez que los datos son transferidos a un
dispositivo "local" tal como un ordenador que tenga un
mecanismo de almacenamiento tal como una memoria, o elementos de
almacenamiento magnéticos u ópticos, o a otros dispositivos
destinatarios, la información resultante es descomprimida (o
reproducida usando reproductores de descodificación especiales), y
descodificada si se necesita, y preparada para la presentación
apropiada en base a la resolución de presentación disponible
correspondiente y a los elementos de control. Por ejemplo, una
resolución de vídeo de ordenador típica en términos de una
resolución de pantalla de X por Y píxeles oscila de manera típica
desde 480x640 píxeles, pasando por 600x800, hasta 1024x1024, aunque
generalmente son posibles una gran variedad de otras resoluciones,
según se desee o se necesite.
La presentación de imagen también se ve afectada
por el contenido de la imagen y la capacidad de los controladores
de vídeo dados para manipular la imagen, en términos de ciertos
niveles de color o profundidad de color predefinidos (bits por
píxel usados para generar colores) e intensidades, y cualesquiera
bits de sobrecarga adicionales que se empleen. Por ejemplo, una
presentación de ordenador típica anticiparía cualquier valor entre
alrededor de 8 a 32, o más, bits por píxel para representar varios
colores (sombras y matices), aunque se encuentren otros
valores.
A partir de los valores anteriores, uno puede
ver que una imagen de pantalla dada va a requerir la transferencia
desde cualquier valor entre 2,45 Megabits (Mb) y aproximadamente
33,55 Mb de datos sobre el intervalo que va desde las resoluciones
y profundidad típicas más bajas a las más altas, respectivamente.
Cuando se visualiza vídeo o imágenes del tipo en movimiento a una
velocidad de 30 tramas por segundo, la cantidad de datos requeridos
es de aproximadamente 73,7 a 1.006 Megabits de datos por segundo
(Mbps), o aproximadamente de 9,21 a 125,75 Megabytes por segundo
(MBps). Además, uno puede desear presentar datos de audio junto con
imágenes, tales como para una presentación multimedia, o como una
presentación independiente de audio de alta resolución, tal como
música con calidad de CD. También se pueden emplear señales
adicionales que traten de órdenes, controles o señales
interactivas. Cada una de estas opciones añade incluso más datos
para su transferencia. Además, las técnicas más modernas de
transmisión que implican la televisión de alta definición (HD) y las
grabaciones de películas pueden añadir incluso más datos e
información de control. En cualquier caso, cuando uno desee
transferir datos de imagen de alta calidad o de alta resolución, e
información de audio de alta calidad o señales de datos a un
usuario final, para crear una experiencia rica en contenidos, se
requiere un enlace de alta velocidad de transferencia de datos
entre elementos de presentación y el dispositivo fuente o servidor
que está configurado para proporcionar dichos tipos de datos.
Las velocidades de datos de aproximadamente 115
kilobytes (kBps) o de 920 kilobits por segundo (kbps) se pueden
manejar de manera rutinaria por algunas interfaces de módem en
serie. Otras interfaces, tales como las interfaces en serie USB,
pueden acomodar transferencias de datos a velocidades tan altas como
12 MBps, y transferencias de alta velocidad especializadas tales
como aquéllas configuradas usando la norma 1394 del Institute of
Electrical and Electronics Engineers (IEEE) [Instituto de
Ingenieros Eléctricos y Electrónicos], pueden tener lugar a
velocidades del orden de 100 a 400 MBps. Desafortunadamente, estas
velocidades caen por debajo de las altas velocidades de datos
deseadas tratadas con anterioridad, que se contemplan para su uso
con futuros dispositivos de datos inalámbricos y otros servicios,
para proporcionar señales de salida de alta resolución, ricas en
contenido, para controlar pantallas de vídeo portátiles o
dispositivos de audio. Esto incluye ordenadores para empresa y
otras presentaciones, dispositivos de juegos, etc. Además, estas
interfaces requieren el uso de una cantidad significativa de
software del servidor, o del sistema, y software del cliente, para
funcionar. Sus pilas de protocolo de software también crean una
gran cantidad indeseable de sobrecarga, especialmente donde se
contemplen dispositivos inalámbricos móviles o aplicaciones de
telefonía. Dichos dispositivos tienen severas limitaciones de
memoria y de consumo de potencia, así como una capacidad de cómputo
ya gravada. Además, algunas de estas interfaces utilizan cables
voluminosos que son demasiado pesados e insatisfactorios para
aplicaciones móviles sumamente orientadas a la estética, conectores
complejos que suman costes, o simplemente consumen demasiada
potencia.
Hay otras interfaces conocidas tales como el
adaptador gráfico de vídeo analógico (VGA), la interfaz interactiva
de vídeo digital (DVI) o la interfaz de vídeo Gigabit (GVIF). Las
dos primeras de éstas son interfaces de tipo paralelo que procesan
datos a velocidades de transferencia más altas, pero que también
emplean cables pesados y consumen grandes cantidades de energía,
del orden de varios vatios. Ninguna de estas características es
dócil al uso con dispositivos electrónicos portátiles de consumo.
Incluso la tercera interfaz consume demasiada potencia y usa
conectores caros o voluminosos.
Para alguna de las interfaces anteriores, y para
otros sistemas/protocolos de muy alta velocidad de datos, o
mecanismos de transferencia asociados con las transferencias de
datos para equipos informáticos de instalación fija, existe otra
desventaja principal. Para acomodar las velocidades de transferencia
de datos deseadas se requieren también cantidades sustanciales de
potencia y/o de funcionamiento a altos niveles de corriente. Esto
reduce en gran medida la utilidad de dichas técnicas para productos
orientados al consumidor sumamente móviles.
Por lo general, para acomodar dichas velocidades
de transferencia de datos usando alternativas tales como, digamos,
conexiones del tipo de fibra óptica y elementos de transferencia,
también se requiere un buen número de conversores y de elementos
adicionales que introducen mucha más complejidad y coste que el que
se desea para un producto orientado para el consumidor
verdaderamente comercial. Además de la naturaleza generalmente cara
de los sistemas ópticos hasta ahora, sus requisitos de potencia y su
complejidad evitan el uso general de aplicaciones portátiles
ligeras de peso y de baja potencia.
De lo que se ha estado careciendo en la
industria de aplicaciones portátiles, inalámbricas o móviles, es de
una técnica para proporcionar una experiencia de presentación de
alta calidad, ya esté basada en audio, en vídeo, o en multimedia,
para usuarios finales sumamente móviles. Esto es, cuando se usen
ordenadores portátiles, teléfonos inalámbricos, PDA, u otros
dispositivos o equipos de comunicación sumamente móviles, los
actuales sistemas o dispositivos de presentación de vídeo y de
audio que se estén usando simplemente no pueden entregar salida al
nivel de alta calidad deseado. A menudo, la calidad percibida que se
echa en falta es el resultado de altas velocidades de datos que no
se pueden obtener, necesarias para la transferencia de los datos de
presentación de alta calidad. Esto puede incluir tanto una
transferencia a dispositivos externos más eficientes, avanzados o
cargados de características, para la presentación a un usuario
final, como la transferencia entre servidores y clientes internos a
dispositivos portátiles tales como ordenadores, máquinas de juegos y
dispositivos inalámbricos tales como teléfonos móviles.
En este último caso, se han dado grandes pasos
al añadir pantallas de vídeo internas de resolución cada vez más
alta, y otros dispositivos y conexiones de entrada y/o de salida
especiales a dispositivos inalámbricos como los denominados
teléfonos de tercera generación, y para los llamados ordenadores
portátiles. Sin embargo, los buses y las conexiones internos de
datos que pueden incluir el pasaje a través de estructuras
giratorias, o de bisagra deslizante, o de estructuras similares a
bisagras de giro, que montan o conectan pantallas de vídeo u otros
elementos a la carcasa principal donde residen el servidor y/o
varios otros elementos de control y componentes de salida. Es muy
difícil construir interfaces de transferencias de datos de alto
caudal usando las técnicas anteriores, que pueden requerir de hasta
90 conductores, o más, para conseguir el caudal deseado, sobre,
digamos, un teléfono inalámbrico, como un ejemplo. Esto presenta
muchas cuestiones de fabricación, de costes prohibitivos, y
cuestiones de retos de fiabilidad a superar.
Dichas cuestiones y requisitos también están
siendo vistos en instalaciones de localización fija en las que los
dispositivos del tipo de comunicaciones, o informáticos, como un
ejemplo, son añadidos a aparatos y a otros dispositivos de consumo
para proporcionar capacidades de datos avanzadas, Internet y
conexiones de transferencia de datos, o entretenimiento
incorporado. Otro ejemplo sería el de aviones y autobuses en los que
se montan en el respaldo de los asientos pantallas de presentación
de vídeo y de audio individuales. Sin embargo, en estas situaciones
a menudo es más conveniente, eficiente y más fácilmente utilizable,
tener los elementos del almacenamiento principal, del procesado o
del control de las comunicaciones localizados a una cierta distancia
de las pantallas visibles o de las salidas de audio, con un enlace
o canal de interconexión para la presentación de información. Este
enlace necesitará manejar una cantidad significativa de datos para
conseguir el caudal deseado como se ha tratado con
anterioridad.
Por lo tanto, se necesita un nuevo mecanismo de
transferencia para aumentar el caudal de datos entre dispositivos
servidores que proporcionen los datos y los dispositivos o elementos
de visualización de cliente que presentan una salida a los usuarios
finales.
Los solicitantes han propuesto dichos nuevos
mecanismos de transferencia en el documento WO 03/023587 titulado
"Generating And Implementing A Communication Protocol And
Interface For High Data Rate Signal Transfer" ["Generación e
Implementación de un Protocolo de Comunicación y una Interfaz para
la Transferencia de Señales a Alta Velocidad de Datos"]. Las
técnicas tratadas en esas solicitudes pueden mejorar en gran medida
la velocidad de transferencia para grandes cantidades de datos en
señales de datos de alta velocidad. Sin embargo, las demandas de
velocidades de datos siempre en aumento, especialmente en lo
relacionado a las presentaciones de vídeo, continúan creciendo.
Incluso con otros desarrollos en curso en la tecnología de señales
de datos, aún existe una necesidad para esforzarse hacia
velocidades de transferencia aún más rápidas, eficiencias de
enlaces de comunicaciones mejoradas, y enlaces de comunicaciones más
potentes. Por lo tanto, existe una necesidad continua para
desarrollar un nuevo o mejorado mecanismo de transferencia que se
necesita para aumentar el caudal de datos entre los dispositivos
servidor y cliente.
Éstos, y otros, objetos y ventajas se
proporcionan por medio de un procedimiento, un sistema y un producto
de programa de ordenador de acuerdo con las reivindicaciones anejas
1, 5 y 9.
Las realizaciones preferidas se definen en las
reivindicaciones dependientes.
Características y ventajas adicionales de la
invención, así como la estructura y el funcionamiento de varias
realizaciones de la invención, se describen con detalle a
continuación con referencia a los dibujos que se acompañan. En los
dibujos, idénticos números de referencia por lo general indican
idénticos elementos, elementos con una funcionalidad similar y/o
elementos o etapas de procesamiento estructuralmente similares, y el
dibujo en el que aparece por primera vez un elemento está indicado
por el dígito o por los dígitos de más a la izquierda en el número
de referencia.
La Fig. 1A ilustra un entorno básico en el que
las realizaciones de la invención podrían funcionar, incluyendo el
uso de un dispositivo de microvisualización, o un proyector, junto
con un ordenador portátil u otro dispositivo de procesado de
datos.
La Fig. 1B ilustra un entorno básico en el que
podrían funcionar las realizaciones de la invención, incluyendo el
uso de un dispositivo de microvisualización o un proyector, y
elementos de presentación de audio usados junto con un transceptor
inalámbrico.
La Fig. 1C ilustra un entorno básico en el que
podrían funcionar las realizaciones de la invención, incluyendo el
uso de dispositivos internos de presentación de visualización o de
audio usados en un ordenador portátil.
La Fig. 1D ilustra un entorno básico en el que
podrían funcionar las realizaciones de la invención, incluyendo el
uso de elementos internos de presentación de visualización o de
audio, usados en un transceptor inalámbrico.
La Fig. 2 ilustra el concepto global de una
Interfaz Móvil de Datos Digitales (MDDI) con una interconexión de
servidor y cliente.
La Fig. 3 ilustra la estructura de un paquete
útil para realizar las transferencias de datos desde un dispositivo
cliente a un dispositivo servidor.
La Fig. 4 ilustra el uso de un controlador de
enlace MDDI y los tipos de señales pasadas entre un servidor y un
cliente por los conductores del enlace de datos físico para una
interfaz de Tipo 1.
La Fig. 5 ilustra el uso de un controlador de
enlace MDDI y los tipos de señales pasadas entre un servidor y un
cliente por los conductores de enlace de datos físicos para las
interfaces de los Tipos 2, 3 y 4.
La Fig. 6 ilustra la estructura de tramas y de
subtramas usada para implementar el protocolo de interfaz.
La Fig. 7 ilustra la estructura general de
paquetes usada para implementar el protocolo de interfaz.
La Fig. 8 ilustra el formato de un paquete de
cabecera de subtrama.
La Fig. 9 ilustra el formato y el contenido de
un Paquete de Relleno.
La Fig. 10 ilustra el formato de un Paquete de
Flujo de Vídeo.
Las Figs. 11A a 11E ilustran el formato y el
contenido para el Descriptor de formato de Datos de Vídeo usado en
la Fig. 10.
La Fig. 12 ilustra el uso de formatos
empaquetados y no empaquetados para los datos.
La Fig. 13 ilustra el formato de un Paquete de
Flujo de Audio.
La Fig. 14 ilustra el uso de formatos PCM
(Modulación Pulso-Código) alineados por bytes y
empaquetados para los datos.
La Fig. 15 ilustra el formato de un Paquete de
Flujo Definido por el Usuario.
La Fig. 16 ilustra el formato de un Paquete de
Mapa de Colores.
La Fig. 17 ilustra el formato de un Paquete de
Encapsulamiento de Enlace Inverso.
La Fig. 18 ilustra el formato de un Paquete de
Capacidad de Cliente.
La Fig. 19 ilustra el formato de un Paquete de
Datos de Teclado.
La Fig. 20 ilustra el formato de un Paquete de
Datos de Dispositivo Puntero.
La Fig. 21 ilustra el formato de un Paquete de
Cierre de Enlace.
La Fig. 22 ilustra el formato de un Paquete de
Petición y Estado de Cliente.
La Fig. 23 ilustra el formato de un Paquete de
Transferencia de Bloques de Bits.
La Fig. 24 ilustra el formato de un Paquete de
Relleno de Área de Mapa de Bits.
La Fig. 25 ilustra el formato de un Paquete de
Relleno de Patrón de Mapa de Bits.
La Fig. 26 ilustra el formato de un Paquete de
Canal de Datos de Enlace de Comunicaciones.
La Fig. 27 ilustra el formato de un Paquete de
Petición de Traspaso de Tipo de Interfaz.
La Fig. 28 ilustra el formato de un Paquete de
Acuse de Recibo de Tipo de Interfaz.
La Fig. 29 ilustra el formato de un Paquete de
Ejecución de Traspaso de Tipo.
La Fig. 30 ilustra el formato de un Paquete de
Habilitación de Canal de Audio Directo.
La Fig. 31 ilustra el formato de un Paquete de
Velocidad de Muestra de Audio Inverso.
La Fig. 32 ilustra el formato de un Paquete de
Sobregasto de Protección de Contenido Digital.
La Fig. 33 ilustra el formato de un Paquete de
Habilitación de Color Transparente.
La Fig. 34 ilustra el formato de un Paquete de
Medición de Retardo de Ida y Vuelta.
La Fig. 35 ilustra la temporización de sucesos
durante el Paquete de Medición de Retardo de Ida y Vuelta.
La Fig. 36 ilustra una implementación de muestra
de un generador y comprobador de CRC (Comprobación de Redundancia
Cíclica) útil para implementar la invención.
La Fig. 37A ilustra la temporización de señales
CRC para el aparato de la Fig. 36 cuando se envían paquetes de
datos.
La Fig. 37B ilustra la temporización de señales
CRC para el aparato de la Fig. 36 cuando se reciben paquetes de
datos.
La Fig. 38 ilustra las etapas de procesamiento
para una petición de servicio típica sin contención.
La Fig. 39 ilustra las etapas de procesamiento
para una petición de servicio típica activada después de que la
secuencia de reinicio de enlace haya comenzado, enfrentándose con el
inicio del enlace.
La Fig. 40 ilustra cómo una secuencia de datos
se puede transmitir usando codificación DATA-STB
(DATOS-SONDEO).
La Fig. 41 ilustra unos circuitos útiles para
generar las señales de DATA y STB a partir de los datos de entrada
en el servidor, y después recuperar los datos en el cliente.
La Fig. 42 ilustra controladores y resistencias
de terminación útiles para la implementación de una realización.
La Fig. 43 ilustra las etapas y los niveles de
señal empleados por un cliente para asegurar el servicio desde el
servidor, y por el servidor para proporcionar dicho servicio.
La Fig. 44 ilustra el espaciado relativo entre
transiciones sobre Data0, otras líneas de datos (DataX), y las
líneas de habilitación (Stb).
La Fig. 45 ilustra la presencia de un retardo en
la respuesta que puede ocurrir cuando un servidor inhabilita el
controlador del servidor después de transferir un paquete.
La Fig. 46 ilustra la presencia de un retardo en
la respuesta que puede ocurrir cuando un servidor habilita al
controlador del servidor para transferir un paquete.
La Fig. 47 ilustra la relación en la entrada del
receptor del servidor entre la temporización de los datos que se
están transfiriendo y el borde de subida y el borde de bajada de los
pulsos de habilitación.
La Fig. 48 ilustra las características de
conmutación y el correspondiente retardo de salida del cliente
desarrollado por la temporización de datos inversa.
La Fig. 49 ilustra un diagrama de alto nivel de
las etapas de procesamiento de la señal y de las condiciones por
medio de las que se puede implementar la sincronización usando una
máquina de estados.
La Fig. 50 ilustra cantidades típicas de retardo
que se encuentran para el procesado de la señal en los trayectos
directo e inverso en un sistema que emplee la MDDI.
La Fig. 51 ilustra la medición de retardo
marginal de ida y vuelta.
La Fig. 52 ilustra los cambios de velocidad de
datos del Enlace Inverso.
La Fig. 53 ilustra una representación gráfica de
valores del Divisor de Velocidad Inversa frente a la velocidad de
datos del enlace directo.
Las Figs. 54A y 54B ilustran las etapas
emprendidas en el funcionamiento de una interfaz.
La Fig. 55 ilustra una visión global de los
paquetes de procesado de aparato de interfaz.
La Fig. 56 ilustra el formato de un Paquete de
Enlace Directo.
La Fig. 57 ilustra valores típicos para el
retardo de propagación y para el desfase en una interfaz de Enlace
de Tipo 1.
La Fig. 58 ilustra las líneas de Datos, Sondeo,
y Temporización de Recuperación de Reloj en un Enlace de Tipo 1
para un procesamiento de señal ejemplar a través de la interfaz.
La Fig. 59 ilustra valores típicos para el
retardo de propagación y para el desfase en las interfaces de
Enlaces de Tipo 2, Tipo 3 o Tipo 4.
Las Figs. 60A, 60B y 60C ilustran diferentes
posibilidades para la temporización de dos señales de datos y de
MDDI_Stb, cada una con respecto a la otra, siendo ideales, tempranas
y tardías, respectivamente.
La Fig. 61 ilustra conectores ejemplares de
asignaciones de patillas de interfaz, usados con interfaces de Tipo
1/Tipo 2.
Las Figs. 62A y 62B ilustran posibles formas de
onda de MDDI_Data y MDDI_Stb para ambas interfaces, de Tipo 1 y de
Tipo 2, respectivamente.
La Fig. 63 ilustra un diagrama de alto nivel de
etapas y condiciones alternativas de procesamiento de señales, por
medio de las cuales se puede implementar la sincronización usando
una máquina de estados.
La Fig. 64 ilustra una temporización relativa
ejemplar entre una serie de ciclos de reloj y la temporización de
varios bits de paquetes de enlace inverso y valores de divisor.
La Fig. 65 ilustra un procesamiento ejemplar de
transferencia de código de error.
La Fig. 66 ilustra un aparato útil para el
procesado de transferencia de código de error.
La Fig. 67A ilustra un procesado de
transferencia de código de error para la sobrecarga de código.
La Fig. 67B ilustra un procesado de
transferencia de código de error para la recepción de código.
La Fig. 68A ilustra las etapas de procesamiento
para un servicio de reanimación iniciado por un servidor.
La Fig. 68B ilustra las etapas de procesamiento
para un servicio de reanimación iniciado por un cliente.
La Fig. 68C ilustra las etapas de procesamiento
para el servicio de reanimación iniciado por el servidor y por el
cliente, con contención.
La Fig. 69 ilustra el formato de un Paquete de
Solicitud de Característica VCP (Panel de Control Virtual).
La Fig. 70 ilustra el formato de un Paquete de
Respuesta de Característica VCP.
La Fig. 71 ilustra el formato de una Lista de
Respuesta de Característica VCP.
La Fig. 72 ilustra el formato de un Paquete de
Fijación de Característica VCP.
La Fig. 73 ilustra el formato de un Paquete de
Petición de Parámetro Válido.
La Fig. 74 ilustra el formato de un Paquete de
Respuesta de Parámetro Válido.
La Fig. 75 ilustra el formato de un Paquete de
Capacidad de Imagen Alfa-Cursor.
La Fig. 76 ilustra el formato de un Paquete de
Mapa de Transparencia Alfa-Cursor.
La Fig. 77 ilustra el formato de un Paquete de
Desplazamiento de Imagen Alfa-Cursor.
La Fig. 78 ilustra el formato de un Paquete de
Flujo de Vídeo Alfa-cursor.
La Fig. 79 ilustra el formato de un Paquete de
Capacidad de Flujo de Vídeo Escalado.
La Fig. 80 ilustra el formato de un Paquete de
Configuración de Flujo de Vídeo Escalado.
La Fig. 81 ilustra el formato de un Paquete de
Acuse de Recibo de Flujo de Vídeo Escalado.
La Fig. 82 ilustra el formato de un Paquete de
Flujo de Vídeo Escalado.
La Fig. 83 ilustra el formato de un Paquete de
Petición de ecífico.
La Fig. 84 ilustra el formato de un Paquete de
Lista de Respuesta de Estado Válido.
La Fig. 85A ilustra el formato de un Paquete de
Parámetros de Retardo de Procesamiento de Paquete.
La Fig. 85B ilustra el formato de un elemento de
la Lista de Parámetros de Retardo.
La Fig. 86 ilustra el formato de un Paquete de
Capacidad de Visualización Personal.
La Fig. 87A ilustra el formato de un Paquete de
Informe de Errores de Cliente.
La Fig. 87B ilustra el formato de un elemento de
la Lista de Informe de Errores.
La Fig. 88 ilustra el formato de un Paquete de
Identificación de Cliente.
La Fig. 89 ilustra el formato de un Paquete de
Capacidad de Visualización Alternativa.
La Fig. 90 ilustra el formato de un Paquete de
Acceso a Registro.
Las Figs. 91A a 91C ilustran el uso de dos
almacenes temporales de visualización para reducir artefactos
visibles.
La Fig. 92 ilustra dos almacenes temporales con
un refresco de visualización más rápido que la transferencia de
imagen.
La Fig. 93 ilustra dos almacenes temporales con
refresco de visualización más lento que la transferencia de la
imagen.
La Fig. 94 ilustra dos almacenes temporales con
refresco de visualización mucho más rápido que la transferencia de
imagen.
La Fig. 95 ilustra tres almacenes temporales con
refresco de visualización más rápido que la transferencia de
imagen.
La Fig. 96 ilustra tres almacenes temporales con
refresco de visualización más lento que la transferencia de la
imagen.
La Fig. 97 ilustra un almacén temporal con
refresco de imagen más rápido que la transferencia de imagen.
La Fig. 98 ilustra la conexión
servidor-cliente mediante encadenamiento activo y
concentrador.
La Fig. 99 ilustra dispositivos cliente
conectados mediante una combinación de concentradores y
encadenamientos activos.
La Fig. 100 ilustra un mapa de colores.
Un propósito general de la invención es
proporcionar una interfaz móvil de datos digitales (MDDI), como se
expone más adelante, lo que da como resultado, o proporciona, un
mecanismo de transferencia efectivo en costes, de bajo consumo de
potencia, que hace posible una transferencia de datos a alta o a muy
alta velocidad por un enlace de comunicaciones de corto alcance
entre un dispositivo servidor y un dispositivo cliente, tal como un
elemento de visualización, usando un enlace o un canal de datos de
tipo "serie". Este mecanismo se presta a la implementación con
conectores en miniatura y con cables flexibles y delgados que son
especialmente útiles en la conexión de elementos de visualización
internos (a una carcasa o a una estructura de soporte) o
dispositivos de entrada a un controlador central, o elementos o
dispositivos de visualización externos tales como micropantallas
para llevar consigo (antiparras o proyectores) a ordenadores
portátiles, dispositivos de comunicaciones inalámbricos, o
dispositivos de entretenimiento.
Aunque los términos Móvil y Visualización están
asociados a la denominación del protocolo, se comprenderá que esto
es solamente por conveniencia, en términos de tener un nombre
estándar fácilmente comprensible por aquellos expertos en la
técnica que trabajen con la interfaz y el protocolo. Sin embargo, se
comprenderá rápidamente, después de una revisión de las
realizaciones presentadas más adelante, que muchas aplicaciones no
relacionadas con lo móvil y lo visualizable se beneficiarán de la
aplicación de este protocolo y la estructura de interfaz
resultante, y que la etiqueta MDDI no está concebida para implicar
ninguna limitación en la naturaleza o en la utilidad de la
invención o de sus varias realizaciones.
Una ventaja de las realizaciones de la invención
es que se proporciona una técnica para la transferencia de datos
que es de baja complejidad, de bajo coste, tiene una alta
fiabilidad, se ajusta bien dentro del entorno de utilización y es
muy robusta, mientras que a la vez se mantiene muy flexible.
Las realizaciones de la invención se pueden usar
en una gran variedad de situaciones para comunicar o para
transferir grandes cantidades de datos, por lo general para audio,
vídeo, o aplicaciones multimedia desde un dispositivo servidor o
fuente, en el que se generan o se almacenan dichos datos, a una
pantalla o dispositivo de presentación de cliente, a alta
velocidad. Una aplicación típica, que se trata más adelante, es la
transferencia de datos desde un ordenador portátil o un teléfono o
módem inalámbricos a un dispositivo de pantalla visual tal como una
pequeña pantalla de vídeo o un aparato de microvisualización para
llevar consigo, tal como en forma de anteojos o cascos que
contienen pequeñas lentes y pantallas de proyección, o desde un
servidor a un dispositivo cliente dentro de tales componentes. Esto
es, desde un procesador a una pantalla interna u otro elemento de
presentación, así como desde varios dispositivos de entrada internos
o externos que empleen un cliente, a un servidor localizado
internamente (colocado dentro de la misma carcasa o estructura de
soporte de dispositivo).
Las características o atributos de la MDDI son
tales que son independientes de la tecnología de visualización o de
presentación específica. Éste es un mecanismo sumamente flexible
para la transferencia de datos a alta velocidad, con independencia
de la estructura interna de los datos, y de los aspectos funcionales
de los datos o de las órdenes que implemente. Esto permite la
temporización de paquetes de datos que se estén transfiriendo, para
su ajuste a fin de adaptarse a la idiosincrasia de dispositivos
clientes particulares, tal como para deseos de pantalla única para
ciertos dispositivos, o para cumplir con los requisitos de audio y
vídeo combinados para algunos sistemas A-V, o para
ciertos dispositivos de entrada tales como joysticks, panel táctil,
etc. La interfaz es muy agnóstica para un elemento de visualización
o dispositivo cliente, mientras se siga el protocolo seleccionado.
Además, los datos compuestos de enlace en serie, o la velocidad de
datos, pueden cambiar en varias órdenes de magnitud, lo que permite
a un diseñador de un sistema de comunicaciones o de un dispositivo
servidor optimizar el coste, los requisitos de potencia, la
complejidad del dispositivo cliente y las velocidades de
actualización del dispositivo cliente.
La interfaz de datos se presenta en primer lugar
para su uso en la transferencia de grandes cantidades de datos a
alta velocidad por un enlace de señal "por cable" o un pequeño
cable. Sin embargo, algunas aplicaciones pueden asimismo aprovechar
la ventaja de un enlace inalámbrico, incluyendo enlaces basados en
óptica, con tal de que esté configurado para usar el mismo paquete
y estructuras de datos desarrollados para el protocolo de la
interfaz, y pueda sostener el nivel deseado de transferencia a un
consumo de potencia, o complejidad, que sean lo suficientemente
bajos como para seguir siendo prácticos.
En las Figs. 1A y 1B se puede ver una aplicación
típica en la que se muestran un ordenador portátil 100 y un
teléfono inalámbrico o dispositivo PDA 102 comunicando datos con los
dispositivos 104 y 106 de visualización, respectivamente, junto con
sistemas 108 y 112 de reproducción de audio. Además, la Fig. 1A
muestra conexiones potenciales a un visor o pantalla 114 más
grande, o a un proyector 116 de imágenes, que solamente se muestran
en una figura por razones de claridad, pero que se pueden conectar
asimismo a un dispositivo inalámbrico 102. El dispositivo
inalámbrico puede estar recibiendo datos actualmente, o haber
almacenado previamente una cierta cantidad de datos de tipo
multimedia en un elemento de memoria o dispositivo para su
presentación posterior, para visualización y/o audición por parte
de un usuario final del dispositivo inalámbrico. Como se usa un
dispositivo inalámbrico típico para la voz y comunicaciones de texto
sencillas la mayoría del tiempo, tiene una pantalla de
visualización más bien pequeña y un sencillo sistema de audio
(altavoces) para comunicar información al usuario 102 del
dispositivo.
El ordenador 100 tiene una pantalla mucho más
grande, pero un sistema de sonido externo aún inadecuado, y todavía
queda corto respecto a otros dispositivos de presentación multimedia
tales como una televisión de alta definición, o pantallas de cine.
El ordenador 100 se usa para propósitos de ilustración, y otros
tipos de procesadores, videojuegos interactivos o dispositivos
electrónicos de consumo también se pueden usar con la invención. El
ordenador 100 puede emplear, pero no está limitado a, o por, un
módem inalámbrico u otro dispositivo incorporado para las
comunicaciones inalámbricas, o ser conectado a dichos dispositivos
usando un cable o un enlace inalámbrico, según se desee.
Esto hace que la presentación de datos más
complejos o "ricos" sea menos que una experiencia útil o
agradable. Por lo tanto, la industria está desarrollando otros
mecanismos y dispositivos para presentar la información a los
usuarios finales y proporcionar un nivel mínimo de disfrute deseado
o de experiencia positiva.
Como se ha tratado con anterioridad, se han
desarrollado o están actualmente en desarrollo varios tipos de
dispositivos de visualización para la presentación de información a
los usuarios finales del dispositivo 100. Por ejemplo, una o más
empresas han desarrollado conjuntos de anteojos de vestir que
proyectan una imagen en frente de los ojos de un usuario del
dispositivo para presentar una representación visual. Cuando se
colocan correctamente dichos dispositivos "proyectan" de
manera efectiva una imagen virtual, según es percibida por los ojos
de un usuario, que es mucho mayor que el elemento que proporciona la
salida visual. Esto es, un elemento de proyección muy pequeño
permite que el ojo o los ojos del usuario "vean" las imágenes
en una escala mucho mayor que la que es posible con típicas
pantallas LCD y similares. El uso de imágenes de pantalla virtual
más grandes permite también el uso de imágenes de resolución mucho
más alta que las que son posibles con visualizaciones de pantalla
LCD más limitadas. Otros dispositivos de visualización podrían
incluir, pero no están limitados a, pequeñas pantallas LCD o varios
elementos de visualización de panales planos, lentes de proyección y
controladores de visualización para la proyección de imágenes sobre
una superficie, etc.
Puede que haya también elementos adicionales
conectados con, o asociados al uso de, un dispositivo inalámbrico
102 u ordenador 100 para presentar una salida a otro usuario, o a
otro dispositivo que a su vez transfiere las señales a algún lugar
más o las almacena. Por ejemplo, los datos se pueden almacenar en
una memoria flash, en formato óptico, por ejemplo, usando un
medio de CD sobre el que se pueda escribir o sobre un medio
magnético tal como en un grabador de cinta magnética y dispositivos
similares, para su uso posterior.
Además, muchos dispositivos inalámbricos y
ordenadores tienen ahora capacidades de descodificación de música
MP3 incorporadas, así como otros descodificadores y sistemas de
sonido avanzado. Los ordenadores portátiles utilizan capacidades de
reproducción de CD y DVD por regla general, y algunos tienen
pequeños lectores de memoria flash dedicados para recibir
los ficheros de audio pregrabados. La cuestión, al tener dichas
capacidades, es que los ficheros de música digitales prometen una
experiencia rica en características sumamente aumentada, pero
solamente si el proceso de descodificación y de reproducción pueden
mantener el ritmo. Lo mismo se cumple para los ficheros de vídeo
digitales.
Para colaborar en la reproducción del sonido, se
muestran los altavoces externos 114 en la Fig. 1A, que podrían
estar acompañados también por elementos adicionales tales como
altavoces de graves, o altavoces de "sonido envolvente" para
la proyección de sonido frontal y trasera. Al mismo tiempo, los
altavoces o auriculares 108 están indicados como incorporados a la
estructura o mecanismo de soporte del dispositivo 106 de
microvisualización de la Fig. 1B. Como se debería saber, se pueden
usar otros elementos de reproducción de audio o de sonido,
incluyendo dispositivos de amplificación de potencia o dispositivos
de ecualización del sonido.
En cualquier caso, como se ha tratado con
anterioridad, cuando se desea transferir datos de imagen de alta
calidad o de alta resolución e información de audio de alta calidad,
o señales de datos, desde una fuente de datos a un usuario final,
por uno o más enlaces 110 de comunicaciones, se requiere una alta
velocidad de datos. Esto es, el enlace 110 de transferencia es
claramente un cuello de botella potencial en la comunicación de
datos, como se ha tratado con anterioridad, y está limitando el
rendimiento del sistema, ya que los mecanismos de transferencia
actuales no consiguen las altas velocidades de datos que se desean
típicamente. Como se ha tratado con anterioridad, por ejemplo, para
resoluciones de imagen superiores, tales como 1024 por 1024 píxeles,
con profundidades de color de 24 a 32 bits por píxel y a
velocidades de datos de 30 tps (tramas por segundo), las
velocidades de datos se pueden aproximar a velocidades por encima de
los 755 Mbps, o más. Además, dichas imágenes se pueden presentar
como parte de una presentación multimedia que incluya datos de audio
y señales potencialmente adicionales que traten con juegos
interactivos o con comunicaciones, o varias órdenes, controles o
señales, que aumenten adicionalmente la cantidad de datos y la
velocidad de datos.
También está claro que menos cables o
interconexiones necesarias para el establecimiento de un enlace de
datos, significa que los dispositivos móviles asociados con una
visualización son más fáciles de usar, y que es más probable que
sean adoptados por una base más grande de usuarios. Esto es
especialmente verdadero allí donde múltiples dispositivos se usen
comúnmente para establecer una experiencia audiovisual completa y,
de manera más especial, a medida que aumente el nivel de calidad de
las visualizaciones y los dispositivos de salida de audio.
Otra aplicación típica relacionada con muchas de
las mejoras anteriores, y otras, en pantallas de vídeo y otros
dispositivos de salida o de entrada, pueden verse en las Figs. 1C y
1D, en las que se muestra un ordenador portátil 130 y un teléfono
inalámbrico o dispositivo PDA 140 comunicando datos con dispositivos
134 y 144 de visualización "internos", respectivamente, junto
con sistemas 136 y 146 de reproducción de audio.
En las Figs. 1C y 1D, se usan secciones
recortadas pequeñas de dispositivos o productos electrónicos
globales para mostrar la localización de uno o más servidores y
controladores internos en una parte del dispositivo, con un enlace
de comunicaciones generalizado, aquí 138 y 148, respectivamente,
conectándolos a los elementos o pantallas de visualización de vídeo
que tengan los correspondientes clientes, a través de una unión
giratoria de algún tipo conocido usado en toda la industria de la
electrónica actual. Uno puede ver que la cantidad de datos
implicados en estas transferencias requiere un gran número de
conductores para comprender los enlaces 138 y 148. Se estima que
dichos enlaces de comunicaciones se aproximan a los 90 o más
conductores con el fin de satisfacer las necesidades de crecimiento
actuales para la utilización de interfaces avanzadas de color y
gráficas, y elementos de visualización sobre dichos dispositivos,
debido a los tipos de técnicas de interfaces paralelas u otras
técnicas de interfaces conocidas, disponibles para la transferencia
de dichos datos.
Desafortunadamente, las velocidades de datos más
altas sobrepasan la tecnología actual disponible para la
transferencia de datos. Tanto en términos de cantidad bruta de datos
que se necesita transferir por unidad de tiempo, como en términos
de fabricación de mecanismos de transferencia física fiable efectiva
en costes.
Lo que se necesita es una técnica para la
transferencia de datos a velocidades más altas para el enlace de
transferencia de datos o el trayecto de comunicaciones entre
elementos de presentación y la fuente de datos, lo que permite una
potencia consecuentemente baja (inferior), un peso ligero y una
estructura de cableado tan simple y tan económica como sea posible.
Los solicitantes han desarrollado una nueva técnica, o un
procedimiento y un aparato, para conseguir éstos y otros objetivos,
a fin de permitir que una formación de dispositivos móviles,
portátiles o de localización incluso fija, transfiera datos a
pantallas deseadas, micropantallas o elementos de transferencia de
audio, a velocidades de datos muy altas, a la vez que se mantiene un
bajo consumo de potencia y una baja complejidad deseados.
Con el fin de crear y utilizar de manera
eficiente una nueva interfaz de dispositivo, se ha formulado una
arquitectura de protocolo de señal y de sistema que proporciona una
muy alta velocidad de transferencia de datos usando señales de baja
potencia. El protocolo se basa en una estructura de paquetes y de
tramas comunes, o en estructuras enlazadas conjuntamente para
formar un protocolo a fin de comunicar un conjunto preseleccionado
de datos o de tipos de datos, junto con una orden o estructura
operativa impuesta sobre la interfaz.
Los dispositivos conectados por, o que se
comunican por el enlace MDDI, son denominados el servidor y el
cliente, siendo el cliente, típicamente, un dispositivo de
visualización de algún tipo, aunque se contemplan otros
dispositivos de entrada y de salida. Los datos provenientes del
servidor hacia la pantalla viajan en la dirección directa (a lo que
se hace referencia como tráfico o enlace directo), y los datos desde
el cliente al servidor viajan en la dirección inversa (tráfico o
enlace inverso), según lo habilita el servidor. Esto se ilustra en
la configuración básica que se muestra en la Fig. 2. En la Fig. 2,
se conecta un servidor 202 a un cliente 204 usando un canal 206 de
comunicación bidireccional que se ilustra comprendiendo un enlace
directo 208 y un enlace inverso 210. Sin embargo, estos canales
están formados por un conjunto común de conductores cuya
transferencia de datos se conmuta de manera efectiva entre las
operaciones del enlace directo o del enlace inverso. Esto permite
números sumamente reducidos de conductores, lo que aborda de manera
inmediata uno de muchos problemas a los que se hace frente con las
aproximaciones actuales a la transferencia de datos a alta
velocidad en entornos de baja potencia tales como para dispositivos
electrónicos móviles.
Como se ha tratado en otra parte, el servidor
comprende uno entre varios tipos de dispositivos que se pueden
beneficiar del uso de la presente invención. Por ejemplo, el
servidor 202 podría ser un ordenador portátil en forma de un
ordenador de mano, portátil, o dispositivo de cómputo móvil similar.
También podría ser un asistente de datos digital (PDA), un
dispositivo de radiobúsqueda o uno entre muchos teléfonos o módems
inalámbricos. De manera alternativa, el servidor 202 podría ser un
dispositivo de entretenimiento o de presentación portátil, tal como
un reproductor de DVD o de CD portátil, o un dispositivo de
juegos.
Además, el servidor puede residir, como un
dispositivo servidor o como un elemento de control, en una gran
variedad de otros productos comerciales ampliamente usados o
planificados, para los que se desea un enlace de alta velocidad con
un cliente. Por ejemplo, un servidor se podría usar para transferir
datos a altas velocidades desde un dispositivo grabador de vídeo a
un cliente basado en almacenamiento para una respuesta mejorada, o
a una pantalla más grande de alta resolución, para presentaciones.
Un electrodoméstico tal como un refrigerador, que incorpore un
inventario o un sistema de ordenador de a bordo, y/o conexiones
Bluetooth a otros dispositivos domésticos, puede tener capacidades
de visualización mejoradas cuando funcione en un modo conectado a
Internet o a Bluetooth, o tener necesidades reducidas de cableado
para las pantallas de portada (un cliente) y teclados o escáneres
(cliente) mientras que el ordenador electrónico o los sistemas de
control (servidor) residen en algún lugar en la carcasa. En
general, los que sean expertos en la técnica apreciarán la amplia
variedad de dispositivos y aparatos electrónicos modernos que se
pueden beneficiar del uso de esta interfaz, así como la capacidad
para retroajustar dispositivos más antiguos con transporte de
información a velocidad de datos más alta utilizando números
limitados de conductores disponibles en conectores o cables nuevos
añadidos o ya existentes.
Al mismo tiempo, el cliente 204 podría
comprender una gran variedad de dispositivos útiles para presentar
información a un usuario final, o para presentar información desde
un usuario al servidor. Por ejemplo, una micropantalla incorporada
en antiparras o gafas, un dispositivo de proyección incorporado a un
gorro o un casco, una pequeña pantalla o incluso un elemento
holográfico incorporado a un vehículo, tal como en una ventana o en
un parabrisas, o varios sistemas de altavoces, cascos o sonido para
presentar sonido o música de alta calidad. Otros dispositivos de
presentación incluyen proyectores o dispositivos de proyección
usados para presentar información para reuniones, o para imágenes
de películas y televisión. Otro ejemplo sería el uso de paneles
táctiles o dispositivos sensibles, dispositivos de entrada de
reconocimiento de la voz, escáneres de seguridad, etc., a los que
se puede invocar para transferir una cantidad significativa de
información desde un usuario de dispositivo o de sistema, con poca
"entrada" real que no sea la táctil o la sonora del usuario.
Además, las estaciones de atraque para ordenadores y kits de
coches o kits de sobremesa, y los soportes para teléfonos
inalámbricos, pueden actuar como dispositivos de interfaz para los
usuarios finales o para otros dispositivos y equipos, y pueden
emplear bien clientes (dispositivos de salida y de entrada tales
como ratones) o servidores para ayudar en la transferencia de
datos, especialmente cuando estén implicadas redes de alta
velocidad.
Sin embargo, los que sean expertos en la técnica
reconocerán con facilidad que la presente invención no está
limitada a estos dispositivos, habiendo muchos otros dispositivos en
el mercado, y propuestos para su uso, que están concebidos para
proporcionar a los usuarios finales imágenes y sonido de alta
calidad, ya sea en términos de almacenamiento y transporte o en
términos de presentación en la reproducción. La presente invención
es útil en el incremento del caudal de datos entre varios elementos
o dispositivos para asimilar las altas velocidades de datos
necesarias para realizar la experiencia deseada del usuario.
La interfaz MDD inventiva y el protocolo de
señal de comunicación se pueden usar para simplificar la
interconexión entre un procesador, un controlador o un componente
de circuito (por ejemplo) de un servidor, y una pantalla dentro de
un dispositivo o carcasa o estructura de dispositivo (a la que se
denomina modalidad interna) con el fin de reducir el coste o la
complejidad y la potencia asociada y los requisitos de control o
restricciones de estas conexiones, y para mejorar la fiabilidad, no
sólo para la conexión a, o para, elementos, dispositivos o equipos
externos (a la que se denomina modalidad externa).
La velocidad compuesta de datos de enlace en
serie sobre cada par de señales usadas por esta estructura de
interfaz puede variar sobre muchos órdenes de magnitud, lo que
permite a un diseñador de sistemas o de dispositivos optimizar
fácilmente costes, potencia, complejidad de implementación, y la
velocidad de actualización de la pantalla para una aplicación o
propósito dados. Los atributos de MDDI son independientes de la
pantalla o de otra tecnología de dispositivos de presentación
(cliente objetivo). La temporización de paquetes de datos
transferidos a través de la interfaz se puede ajustar fácilmente
para adaptarse a la idiosincrasia de clientes particulares tales
como dispositivos de visualización, sistemas de sonido, memoria y
elementos de control, o requisitos de temporización combinados de
sistemas de audio-vídeo. Mientras que esto hace
posible tener un sistema con un consumo de muy baja potencia, no es
un requisito de los diversos clientes tener memorias de
almacenamiento temporal de tramas con el fin de hacer uso del
protocolo MDDI, a algún nivel al menos.
La interfaz MDD se contempla como abordando al
menos cuatro, y potencialmente más, tipos físicos algo distintos de
interfaces que se encuentran en las industrias de las comunicaciones
y de los ordenadores. Éstas están etiquetadas simplemente como Tipo
1, Tipo 2, Tipo 3 y Tipo 4, aunque los que sean expertos en la
técnica pueden aplicar otras etiquetas o designaciones, según las
aplicaciones específicas para las que se usen, o la industria a la
cual estén asociadas. Por ejemplo, los sistemas de audio sencillos
usan menos conexiones que los sistemas multimedia más complejos, y
pueden hacer referencia a características tales como "canales"
de manera diferente, etc.
La interfaz de Tipo 1 está configurada como una
interfaz de 6 hilos, o de otro tipo de conductor o elemento
conductor, que la hace adecuada para teléfonos móviles o
inalámbricos, PDA, juegos electrónicos, y reproductores de medios
portátiles, tales como reproductores de CD, o reproductores de MP3,
y dispositivos similares, o dispositivos usados en tipos similares
de tecnología electrónica de consumo. En una realización, una
interfaz se puede configurar como una interfaz de 8 hilos
(conductores) que es más adecuada para ordenadores portátiles, de
mano o personales de sobremesa, y dispositivos o aplicaciones
similares, que no requieran rápidas actualizaciones de datos y que
no tengan un controlador de enlace MDDI incorporado. Este tipo de
interfaz también se puede distinguir por la utilización de una
interfaz adicional de Bus en Serie Universal (USB) de dos hilos, que
es extremadamente útil para asimilar los sistemas operativos
existentes o el soporte de software encontrado en la mayoría de los
ordenadores personales.
Las interfaces de Tipo 2, de Tipo 3 y de Tipo 4
son adecuadas para clientes o dispositivos de alto rendimiento y
usan un cableado complejo más grande, con conductores adicionales de
tipo de par trenzado para proporcionar el apantallamiento adecuado
y transferencias de bajas pérdidas para las señales de datos.
La interfaz de Tipo 1 pasa señales que pueden
comprender información de visualización, audio, control y
señalización limitada, y se usa, típicamente, para clientes móviles
o dispositivos de clientes que no requieren datos de vídeo de alta
resolución a velocidad máxima. Una interfaz de Tipo 1 puede soportar
fácilmente resolución SVGA a 30 tps más canal de audio 5.1, y en
una configuración mínima podría usar solamente tres pares de hilos
en total, dos pares para la transmisión de datos y un par para la
transferencia de potencia. Este tipo de interfaz está
principalmente concebida para dispositivos tales como dispositivos
inalámbricos móviles, en los que un servidor USB no se encuentra
disponible, típicamente, dentro de dicho dispositivo para la
conexión y para la transferencia de señales. En esta configuración,
el dispositivo inalámbrico móvil es un dispositivo servidor MDDI, y
actúa como el "maestro" que controla el enlace de
comunicaciones desde el servidor que, por lo general, envía datos
al cliente (tráfico o enlace directo) para la presentación,
visualización o reproducción.
En esta interfaz, un servidor habilita la
recepción de datos de comunicaciones en el servidor provenientes
del cliente (tráfico o enlace inverso) por medio del envío de una
orden especial o tipo de paquete al cliente que le permita
controlar el bus (enlace) durante un lapso especificado y enviar
datos al servidor como paquetes inversos. Esto se ilustra en la
Fig. 3, en la que un tipo de paquete al que se hace referencia como
un paquete de encapsulamiento (que se trata más adelante) se usa
para asimilar la transferencia de paquetes inversos por el enlace
de transferencia, creando el enlace inverso. El intervalo de tiempo
asignado al servidor para sondear al cliente en busca de datos
viene predeterminado por el servidor, y se basa en los requisitos
de cada aplicación especificada. Este tipo de transferencia de
datos semidúplex bidireccional es especialmente ventajosa allí
donde un puerto USB no se encuentra disponible para la transferencia
de información o de datos desde el cliente.
Los visores de alto rendimiento capaces de altas
resoluciones de tipo HDTV o similares requieren aproximadamente 1,5
Gbps de velocidad para flujos de datos con el fin de brindar soporte
a vídeo de movimiento total. La interfaz de Tipo 2 brinda soporte a
altas velocidades de datos transmitiendo 2 bits en paralelo, el Tipo
3 por medio de la transmisión de 4 bits en paralelo, y la interfaz
de Tipo 4 transfiere 8 bits en paralelo. Las interfaces de Tipo 2 y
de Tipo 3 usan el mismo cable y conector que el Tipo 1 pero pueden
funcionar al doble y al cuádruple de la velocidad de datos para
brindar soporte a aplicaciones de vídeo de altas prestaciones en
dispositivos portátiles. Una interfaz de Tipo 4 es adecuada para
clientes de muy alto rendimiento o para visualizaciones, y requiere
un cable ligeramente mayor que contenga señales de datos de pares
trenzados adicionales.
El protocolo usado por la MDDI permite a cada
servidor de Tipo 1, 2, 3 ó 4 comunicarse generalmente con cualquier
cliente de tipo 1, 2, 3 ó 4 por medio de la negociación de cuál es
la velocidad de datos más alta posible que se puede usar. Las
capacidades o las características disponibles de lo que se puede
denominar el dispositivo menos capaz se usan para fijar el
rendimiento del enlace. Como regla, incluso para sistemas en los que
el servidor y el cliente sean ambos capaces de usar interfaces de
Tipo 2, de Tipo 3 o de Tipo 4, ambos comienzan la operación como
una interfaz de Tipo 1. El servidor determina entonces la capacidad
del cliente señalado, y negocia una operación de traspaso o
reconfiguración para la modalidad de Tipo 2, Tipo 3 ó Tipo 4, según
sea apropiado para la aplicación particular.
Por lo general es posible para el servidor usar
el protocolo de capa de enlace apropiado (tratado de manera
adicional más adelante) y reducir o reconfigurar de nuevo el
funcionamiento, por lo general en cualquier momento, a una
modalidad más lenta para ahorrar energía, o aumentar a una modalidad
más rápida para brindar soporte a transferencias de velocidad más
alta, tales como para un contenido de visualización de resolución
superior. Por ejemplo, un servidor puede cambiar los tipos de
interfaz cuando el sistema conmute desde una fuente de
alimentación, tal como una batería, a una alimentación de corriente
alterna, o cuando la fuente de los medios de visualización conmute
a un formato de resolución inferior o superior, o bien una
combinación de estas u otras condiciones o sucesos se puedan
considerar como una base para cambiar un tipo de interfaz, o
modalidad de transferencia.
También es posible para un sistema comunicar
datos usando una modalidad en una dirección y otra modalidad en
otra dirección. Por ejemplo, una modalidad de interfaz de Tipo 4 se
podría usar para transferir datos a un visor a alta velocidad,
mientras que una modalidad de Tipo 1 se usa cuando se transfieren
datos a un dispositivo servidor desde dispositivos periféricos
tales como un teclado o un dispositivo puntero. Alguien que sea
experto en la técnica apreciará que los servidores y los clientes
pueden comunicar datos salientes a diferentes velocidades.
A menudo, los usuarios del protocolo MDDI pueden
distinguir entre una modalidad "externa" y una modalidad
"interna". Una modalidad externa describe el uso del protocolo
y la interfaz para conectar un servidor en un dispositivo a un
cliente fuera de ese dispositivo que esté aproximadamente hasta 2
metros del servidor. En esta situación, el servidor puede enviar
también energía al cliente externo de forma que ambos dispositivos
puedan funcionar fácilmente en un entorno móvil. Una modalidad
interna describe cuándo el servidor está conectado a un cliente
contenido dentro del mismo dispositivo, tal como dentro de una
carcasa, o armazón o estructura de soporte común de algún tipo. Un
ejemplo serían aplicaciones dentro de un teléfono inalámbrico u otro
dispositivo inalámbrico, o un ordenador portátil o dispositivo de
juegos en los que el cliente es una pantalla o un controlador de
pantalla, o un dispositivo de entrada tal como un teclado o panel
táctil, o bien un sistema de sonido, y el servidor es un
controlador central, un motor de gráficos o un elemento de CPU. Como
un cliente se sitúa mucho más cerca del servidor en aplicaciones de
modalidad interna, al contrario que en aplicaciones de modalidad
externa, por lo general no se exponen requisitos para la conexión de
alimentación al cliente en dichas configuraciones.
La disposición general de un dispositivo o de un
controlador de enlace, para el establecimiento de las comunicaciones
entre un dispositivos servidores y clientes se muestra en las Figs.
4 y 5. En las Figs. 4 y 5, se muestra un controlador 402 y 502 de
enlace MDDI instalado en un dispositivo servidor 202, y un
controlador 404 y 504 de enlace MDDI se muestra instalado en un
dispositivo cliente 204. Como antes, el servidor 202 está conectado
a un cliente 204 usando un canal 406 de comunicaciones bidireccional
que comprende una serie de conductores. Como se expone más
adelante, tanto el servidor como los controladores de enlace cliente
se pueden fabricar como un circuito integrado usando un único
diseño de circuito que se pueda fijar, ajustar o programar para
responder ya sea como controlador de servidor (conductor) o como un
controlador de cliente (receptor). Esto proporciona costes más
bajos debido a la fabricación a mayor escala de un único dispositivo
de circuito.
En la Fig. 5, se muestra un controlador 502 de
enlace MDDI instalado en un dispositivo servidor 202' y un
controlador 504 de enlace MDDI se muestra instalado en un
dispositivo cliente 204'. Como antes, el servidor 202' está
conectado a un cliente 204' usando un canal 506 de comunicación
bidireccional que comprende una serie de conductores. Como se ha
expuesto antes, tanto el servidor como los controladores de enlace
de cliente se pueden fabricar usando un único diseño de
circuito.
Las señales que se hacen pasar entre un servidor
y un cliente, tal como un dispositivo de visualización, por el
enlace MDDI, o los conductores físicos usados, también se ilustran
en las Figs. 4 y 5. Como se puede ver en las Figs. 4 y 5, el
trayecto o mecanismo primarios para transferir datos a través de la
MDDI usa señales de datos etiquetadas como MDDI_Data0+/- y
MDDI_Stb+/-. Cada una de éstas son señales de datos de baja tensión
que son transferidas por un par diferencial de hilos en un cable.
Solamente existe una transición bien en el par MDDI_Data0 o bien en
el par MDDI-Stb para cada bit enviado por la
interfaz. Éste es un mecanismo de transferencia basado en tensión,
no basado en corriente, de forma que el consumo estático de
corriente es casi cero. El servidor alimenta las señales MDDI_Stb
para la visualización del cliente.
Mientras que los datos puedan fluir en ambas
direcciones directa e inversa por los pares MDDI_Data, es decir, es
un trayecto de transferencia bidireccional, el servidor es el
maestro o el controlador del enlace de datos. Los trayectos de las
señales MDDI_Data0 y de MDDI-Stb son operados en
modalidad diferencial para maximizar la inmunidad al ruido. La
velocidad de datos para las señales en estas líneas viene
determinada por la velocidad del reloj enviada por el servidor, y
es variable sobre un intervalo de aproximadamente 1 kbps hasta 400
Mbps o más.
La interfaz de Tipo 2 contiene un par de datos,
o conductores o trayectos, adicionales más allá de los del Tipo 1,
a los que se hace referencia como MDDI_Data11+/-. La interfaz de
Tipo 3 contiene dos pares de datos, o trayectos de señal,
adicionales más allá de los de la interfaz de Tipo 2 a los que se
hace referencia como MDDI_Data2+/-, y MDDI_Data3+/-. La interfaz de
Tipo 4 contiene cuatro pares de datos o trayectos de señal más, por
encima de los de la interfaz de Tipo 3 a los que se hace referencia
como: MDDI_data4+/-, MDDI_Data5+/-, MDDI_Data6+/-,
y MDDI_Data7+/-, respectivamente. En cada una de las anteriores configuraciones de interfaz, un servidor puede enviar alimentación al cliente o a la pantalla usando el par de hilos o las señales designadas como HOST_Pwr y HOST_Gnd. Como se expone adicionalmente más adelante, la transferencia de potencia también se puede asimilar, si se desea, en algunas configuraciones sobre los conductores MDDI_data4+/-, MDDI_Data5+/-, MDDI_Data6+/- o MDDI-_Data7+/- cuando se está usando un "Tipo" de interfaz que emplea menos conductores que los que se encuentran disponibles o presentes para las otras modalidades. Esta transferencia de potencia se emplea por lo general para modalidades externas, no habiendo por lo general necesidad de modalidades internas, aunque algunas aplicaciones puedan diferir.
y MDDI_Data7+/-, respectivamente. En cada una de las anteriores configuraciones de interfaz, un servidor puede enviar alimentación al cliente o a la pantalla usando el par de hilos o las señales designadas como HOST_Pwr y HOST_Gnd. Como se expone adicionalmente más adelante, la transferencia de potencia también se puede asimilar, si se desea, en algunas configuraciones sobre los conductores MDDI_data4+/-, MDDI_Data5+/-, MDDI_Data6+/- o MDDI-_Data7+/- cuando se está usando un "Tipo" de interfaz que emplea menos conductores que los que se encuentran disponibles o presentes para las otras modalidades. Esta transferencia de potencia se emplea por lo general para modalidades externas, no habiendo por lo general necesidad de modalidades internas, aunque algunas aplicaciones puedan diferir.
Un resumen de las señales pasadas entre el
servidor y el cliente (pantalla) por el enlace MDDI para varias
modalidades se ilustra en la tabla I, a continuación, de acuerdo al
tipo de la interfaz.
Nótese también que las conexiones HOST_Pwr/Gnd
para la transferencia desde el servidor se proporcionan, por lo
general, para las modalidades externas. Las aplicaciones o las
modalidades de funcionamiento internos, por lo general, tienen
clientes que extraen energía directamente desde otros recursos
internos, y no usan MDDI para controlar la distribución de
potencia, como sería obvio para alguien que sea experto en la
técnica, por lo que tal distribución no se trata en mayor detalle
en este documento. Sin embargo, es ciertamente posible permitir que
la potencia se distribuya a través de la interfaz MDDI, para
permitir ciertas clases de control de potencia, sincronización o
conveniencia de interconexión, por ejemplo, como comprendería
alguien que sea experto en la técnica.
El cableado generalmente usado para implementar
la estructura y funcionamiento anteriores es nominalmente del orden
de 1,5 metros de longitud, generalmente de 2 metros o menos, y
contiene tres pares trenzados de conductores, siendo cada uno a su
vez cable multi-hebra 30 AWG. Una cubierta de
pantalla de aluminio se envuelve, o se forma de otra manera, por
encima de los tres pares trenzados, como un cable de drenado
adicional. Los pares trenzados y el conductor de drenado de
pantalla terminan en el conector de cliente con la pantalla
conectada a la pantalla para el cliente, y hay una capa aislante,
que cubre todo el cable, como es bien conocido en la técnica. Los
cables están pareados como: HOST_Gnd con HOST_Pwr; MDDI_Stb+ con
MDDI_Stb-; MDDI_Data0+ con MDDI_Data0-;
MDDI_Data1+ con MDDI_Data1; etc.
MDDI_Data1+ con MDDI_Data1; etc.
Para conseguir una interfaz útil para un abanico
completo de experiencias y aplicaciones de usuario, la interfaz
digital de datos móviles (MDDI) proporciona soporte para una gran
variedad de clientes y para información de visualización,
transductores de audio, teclados, dispositivos punteros y muchos
otros dispositivos de entrada o salida que se podrían integrar o
que podrían funcionar de manera coordinada con un dispositivo de
visualización móvil, junto con información de control, y
combinaciones de las mismas. La interfaz MDD está diseñada para
poderse acomodar a una gran variedad de tipos potenciales de flujos
de datos que circulan entre el servidor y el cliente, bien en la
dirección de enlace directo o bien en la dirección de enlace
inverso, usando un número mínimo de cables o conductores. Se brinda
soporte tanto a flujos isócronos como a flujos asíncronos
(actualizaciones). Son posibles muchas combinaciones de tipos de
datos mientras la velocidad de datos compuestos sea menor o igual a
la velocidad de enlace MDDI máxima deseada, que está limitada por la
velocidad máxima en serie y por el número de emisiones de datos
empleadas. Éstas podrían incluir, pero no se limitan a, aquellos
elementos que se enumeran en las Tablas Mano III a
continuación.
La interfaz no es fija, sino extensible de
manera que pueda soportar la transferencia de una gran variedad de
"tipos" de información que incluyen datos definidos por el
usuario, para flexibilidad futura del sistema. Ejemplos específicos
de datos para ser asimilados son: vídeo con movimiento completo, en
forma de campos de mapa de bits de pantalla, bien completa o bien
parcial, o vídeo comprimido; mapas de bits estáticos a bajas
velocidades para conservar la potencia y reducir los costes de
implementación; datos de PCM o de audio comprimidos en una gran
variedad de resoluciones o de velocidades; posición y selección de
dispositivo puntero, y datos definibles por el usuario para
capacidades aún por ser definidas. Tales datos también se pueden
transferir junto con información de control o de estado para
detectar capacidad de dispositivo o fijar parámetros operativos.
Las realizaciones de la invención adelantan la
técnica para su utilización en transferencias de datos que
incluyen, pero que no están limitadas a: ver una película
(visualización de vídeo y audio); usar un ordenador personal con
visualización personal limitada (pantalla de gráficos, a veces
combinada con vídeo y audio); jugar un videojuego en un PC, consola
o dispositivo personal (visualización de gráficos en movimiento, o
vídeo y audio sintéticos); "navegar" por Internet, usando
dispositivos en forma de un videoteléfono (vídeo y audio
bidireccionales de baja velocidad), una cámara para imágenes
digitales fijas, o una cámara grabadora para capturar imágenes de
vídeo digitales; usar un teléfono, ordenador, o PDA amarrado a un
proyector para dar una presentación, o a una estación de amarre de
sobremesa conectada a un monitor de vídeo, teclado y ratón; y para
la mejora de la productividad o el uso para entretenimiento, con
teléfonos celulares, teléfonos inteligentes o PDA, incluyendo
dispositivos punteros inalámbricos y datos de teclado.
La interfaz de datos de alta velocidad, según se
trata a continuación, se presenta en términos de proporcionar
grandes cantidades de datos de tipo A-V por un
enlace de comunicaciones o transferencia que generalmente se
configura como un enlace de tipo línea alámbrica o cable. Sin
embargo, será inmediatamente evidente que la estructura de la
señal, los protocolos, la temporización o el mecanismo de
transferencia se podrían ajustar para proporcionar un enlace en
forma de un medio óptico o inalámbrico, si puede sostener el nivel
deseado de transferencia de datos.
Las señales de la interfaz MDD usan un concepto
conocido como la Velocidad de Trama Común (CFR) para el protocolo o
estructura básicos de la señal. La idea tras el uso de una Velocidad
de Trama Común es proporcionar un pulso de sincronización para los
flujos de datos isócronos simultáneos. Un dispositivo cliente puede
usar esta velocidad de trama común como una referencia temporal.
Una baja velocidad de CF aumenta la eficiencia del canal
disminuyendo la sobrecarga para transmitir la cabecera de subtrama.
Por otra parte, una alta velocidad de CF disminuye la latencia, y
permite una memoria elástica de almacenamiento temporal de datos más
pequeña para las muestras de audio. La velocidad de CF de la
presente interfaz inventiva es programable de manera dinámica y se
puede fijar en uno entre muchos valores que sean apropiados para
los flujos isócronos usados en una aplicación particular. Esto es,
el valor de CF se selecciona para que se adapte óptimamente a la
configuración dada de cliente y servidor, según se desee.
El número de bytes generalmente requeridos por
subtrama, que es ajustable o programable, para los flujos de datos
isócronos con más probabilidad de ser usados con una aplicación,
tales como para vídeo o microvisor, se muestran en la tabla IV.
Los totales fraccionarios de bytes por subtrama
se pueden obtener fácilmente usando una sencilla estructura
programable de contador de M/N. Por ejemplo, un total de
26-2/3 bytes por CF se implementa por medio de la
transferencia de 2 tramas de 27 bytes cada una, seguidas por una
subtrama de 26 bytes. Puede seleccionarse una velocidad de CF menor
para producir un número entero de bytes por subtrama. Sin embargo,
por lo general, implementar un sencillo contador de M/N en hardware
necesitaría menos área dentro de un circuito integrado o módulo
electrónico usado para implementar una parte de, o todas, las
realizaciones de la invención que el área necesaria para una
memoria de almacenamiento temporal FIFO mayor de muestras de
audio.
Una aplicación a título de ejemplo que ilustra
el impacto de diferentes velocidades de transferencia de datos y de
tipos de datos es un sistema Karaoke. Para un Karaoke, un sistema en
el que un usuario, o usuarios, final(es), canta(n)
junto con un programa de vídeo musical. Las letras de la canción se
visualizan en algún lugar, típicamente en la parte inferior de una
pantalla de forma que los usuarios conocen la letra que tienen que
cantar y, a grandes rasgos, la temporización de la canción. Esta
aplicación requiere una pantalla de vídeo con actualizaciones de
gráficos poco frecuentes, y la mezcla de la voz, o voces, de
usuario, con un flujo de audio estéreo.
Si uno supone una velocidad de trama común de
300 Hz, entonces cada subtrama consistirá en: 92.160 bytes de
contenido de vídeo y 588 bytes de contenido de audio (en base a 147
muestras de 16 bits, en estéreo) por el enlace directo al
dispositivo de visualización cliente, y se envían de retorno desde
un micrófono a la máquina móvil del Karaoke un promedio de 26,67
(26-2/3) bytes de voz. Los paquetes asíncronos se
envían entre el servidor y la pantalla, posiblemente montados en
cabecera. Esto incluye como mucho 768 bytes de datos gráficos
(altura de un cuarto de pantalla), y menos de aproximadamente 200
bytes (varios) para comandos varios de control y de estado.
La tabla V muestra cómo se asignan los datos
dentro de una subtrama para el ejemplo del Karaoke. La velocidad
total que se esté usando se selecciona para que sea aproximadamente
279 Mbps. Una velocidad ligeramente superior de 280 Mbps permite
aproximadamente otros 400 bytes de datos por subtrama a transferir,
lo que permite el uso de mensajes ocasionales de control y
estado.
Los datos transferidos usando las señales de
datos en serie de alta velocidad de la interfaz MDD consisten en un
flujo de paquetes multiplexados en el tiempo que son enlazados uno
tras otro. Incluso cuando un dispositivo de transmisión no tiene
datos para enviar, un controlador de enlace MIDI por lo general
envía de manera automática paquetes de relleno, manteniendo de esta
manera un flujo de paquetes. El uso de una estructura de paquetes
sencilla asegura una temporización isócrona fiable para las señales
de vídeo y de audio o para los flujos de datos.
Grupos de paquetes están contenidos dentro de
elementos o estructuras de señal, que se denominan subtramas, y los
grupos de subtramas están contenidos dentro de elementos o
estructuras de señal que se denominan trama de medios. Una subtrama
contiene uno o más paquetes, según sus respectivos tamaños y modos
de transferencia de datos, y una trama de medios contiene una o más
subtramas. La subtrama más grande proporcionada por el protocolo
empleado por las realizaciones presentadas aquí es del orden de
2^{32}-1, ó 4.294.967.295 de bytes, y el tamaño
de la trama de medios más grande deviene entonces del orden de
2^{16}-1 o 65.535 subtramas.
Un paquete especial de cabecera de subtrama
contiene un identificador único que aparece al comienzo de cada
subtrama, como se expone más adelante. Ese identificador también se
usa para adquirir la temporización de trama en el dispositivo
cliente cuando se inicia la comunicación entre el servidor y el
cliente. La adquisición de temporización de enlace se trata con más
detalle a continuación.
Típicamente, una pantalla de visualización se
actualiza una vez por cada trama de medios cuando se está
visualizando vídeo con movimiento completo. La velocidad de trama
visualizada es la misma que la velocidad de trama de medios. El
protocolo de enlace brinda soporte a vídeo de movimiento completo
sobre una pantalla entera, o sólo a una pequeña región de contenido
de vídeo de movimiento completo rodeado por una imagen estática,
según la aplicación deseada. En algunas aplicaciones móviles de
baja potencia, tales como la visualización de páginas web o
el correo electrónico, la pantalla de visualización solamente puede
necesitar ser actualizada de manera ocasional. En estas
situaciones, es ventajoso transmitir una única subtrama y después
apagar o desactivar el enlace para minimizar el consumo de
potencia. La interfaz brinda soporte también a efectos tales como la visión estéreo, y manipula primitivas de gráficos.
potencia. La interfaz brinda soporte también a efectos tales como la visión estéreo, y manipula primitivas de gráficos.
Las subtramas permiten a un sistema habilitar la
transmisión de paquetes de alta prioridad periódicamente. Esto
permite que flujos isócronos simultáneos coexistan con una cantidad
mínima de memoria de almacenamiento temporal de datos. Esta es una
ventaja que proporcionan las realizaciones para el proceso de
visualización, permitiendo que múltiples flujos de datos
(comunicación de alta velocidad de vídeo, voz, control, estado,
datos de dispositivo puntero, etc.) compartan de manera esencial un
canal común. Transfiere información usando relativamente pocas
señales. También hace posible la existencia de acciones específicas
de la tecnología de la visualización, tales como pulsos de
sincronismo
horizontal e intervalos de vacíos para un monitor CRT, o para otras acciones específicas de la tecnología del cliente.
horizontal e intervalos de vacíos para un monitor CRT, o para otras acciones específicas de la tecnología del cliente.
El controlador de enlace MDDI mostrado en las
Figs. 4 y 5 está fabricado o montado para ser una implementación
completamente digital, con la excepción de receptores de línea
diferenciales que se usan para recibir datos MDDI y señales de
sondeo. Sin embargo, incluso los controladores y los receptores de
línea diferenciales se pueden implementar en los mismos circuitos
integrados digitales con el controlador de enlace, tal como cuando
se hace un IC de tipo CMOS. No se requieren funciones analógicas o
lazos enganchados en fase (PLLs) para la recuperación binaria o
para implementar el hardware para el controlador de enlace. Los
controladores de enlace del servidor y del cliente contienen
funciones muy similares, con la excepción de la interfaz de cliente
que contiene una máquina de estados para la sincronización de
enlace. Por lo tanto, las realizaciones de la invención permiten la
ventaja práctica de poder crear un único diseño de controlador o
circuito que se pueda configurar bien como un servidor o bien como
un cliente, lo que puede reducir los costes de fabricación para los
controladores de enlace, en lo general.
El protocolo de señal o la estructura de trama
usados para implementar la comunicación de enlace directo para la
transferencia de paquetes se ilustra en la Fig. 6. Como se muestra
en la Fig. 6, la información o los datos digitales se agrupan en
elementos conocidos como paquetes. Múltiples paquetes se agrupan
entre sí a su vez para formar lo que se denomina una
"subtrama", y múltiples subtramas, a su vez, se agrupan entre
sí para formar una trama de "medios". Para controlar la
formación de tramas y la transferencia de subtramas, cada una de
las subtramas comienza con un paquete especialmente predefinido
denominado Paquete de Cabecera de Subtrama (SHP).
El servidor selecciona la velocidad de datos que
se va a usar para una transferencia dada. Esta velocidad puede ser
cambiada dinámicamente por el dispositivo servidor basándose tanto
en la capacidad de transferencia máxima del servidor como en los
datos que se están recuperando desde una fuente por parte del
servidor, y en la capacidad máxima del cliente, u otro dispositivo
al que se están transfiriendo los datos.
Un dispositivo cliente destinatario designado
para, o capaz de, trabajar con la MDDI o con el protocolo de señal
inventivo es capaz de ser consultado por el servidor para determinar
la velocidad de transferencia máxima, o máxima actual, que puede
usar, o bien puede usarse una velocidad mínima más lenta por
defecto, así como los tipos de datos utilizables y las
características que reciben soporte. Esta información se podría
transferir usando un Paquete de Capacidad de Cliente (CCP), como se
trata adicionalmente más adelante. El dispositivo cliente de
visualización es capaz de transferir datos o de comunicarse con
otros dispositivos usando la interfaz a una velocidad de datos
mínima preseleccionada, o bien dentro de un intervalo de velocidad
mínima de datos, y el servidor realizará una consulta usando una
velocidad de datos dentro de este intervalo para determinar las
capacidades completas de los dispositivos clientes.
Otra información de estado que define la
naturaleza del mapa de bits y las capacidades de velocidad de trama
de vídeo del cliente se pueden transferir en un paquete de estado al
servidor de forma que el servidor pueda configurar la interfaz para
que sea tan eficiente u óptima como práctica, o como se desee dentro
de cualesquiera restricciones del sistema.
El servidor envía paquetes de relleno cuando no
hay (más) paquetes de datos a transferir en la presente subtrama, o
cuando el servidor no puede transferir a una velocidad suficiente
para conservar el ritmo con la velocidad de transmisión de datos
elegida para el enlace directo. Como cada una de las subtramas
comienza con un paquete de cabecera de subtrama, el final de la
subtrama anterior contiene un paquete (con máxima probabilidad, un
paquete de relleno) que rellena exactamente la anterior subtrama. En
el caso de una falta de sitio para los paquetes portadores de datos
per se, un paquete de relleno será, con máxima probabilidad, el
último paquete de una subtrama, o bien estará al final de una
siguiente subtrama anterior y antes de un paquete de cabecera de
subtrama. Es la tarea de las operaciones de control en un
dispositivo servidor asegurar que hay espacio suficiente restante
en una subtrama para cada paquete que se haya de transmitir dentro
de esa subtrama. Al mismo tiempo, una vez que un dispositivo
servidor inicia el envío de un paquete de datos, el servidor debe
poder completar con éxito un paquete de ese tamaño dentro de una
trama sin incurrir en un estado de infrasuministro de datos.
En un aspecto de las realizaciones, la
transmisión de subtramas tiene dos modalidades. Una modalidad es una
modalidad de subtrama periódica, o puntos fijos de temporización
periódica, usada para transmitir flujos de vídeo y de audio en
directo. En esta modalidad, la longitud de la Subtrama se define
como distinta de cero. La segunda modalidad es una modalidad
asíncrona o no periódica, en la que se usan las tramas para
proporcionar datos de mapa de bits a un cliente solamente cuando se
encuentre disponible nueva información. Esta modalidad se define
por medio de la configuración de la longitud de la subtrama a cero
en el Paquete de Cabecera de Subtrama. Cuando se usa la modalidad
periódica, puede comenzar la recepción del paquete de subtrama
cuando el cliente se haya sincronizado con la estructura de tramas
de enlace directo. Esto corresponde a los estados "en
sincronismo" definidos de acuerdo al diagrama de estados tratados
más adelante con respecto a la Fig. 49 o a la Fig. 63. En la
modalidad de subtrama no periódica asíncrona, la recepción comienza
después de que se reciba el primer paquete de Cabecera de
Subtrama.
El formato o la estructura de los paquetes
usados para formular el protocolo de señalización implementado por
las realizaciones se presenta a continuación, teniendo presente que
la interfaz es extensible y que se pueden añadir como se desee
estructuras de paquete adicionales. Los paquetes están etiquetados
como, o divididos en, diferentes "tipos de paquete", en
términos de su función en la interfaz, esto es, las órdenes o datos
que transfieren. Por lo tanto, cada tipo de paquete denota una
estructura de paquete predefinida para un paquete dado, que se usa
en la manipulación de los paquetes y en los datos que se vayan a
transferir. Como será inmediatamente evidente, los paquetes pueden
tener longitudes preseleccionadas o tener longitudes variables o
dinámicamente cambiantes, según sus funciones respectivas. Los
paquetes también podrían llevar diferentes nombres, aunque se
realice todavía la misma función, como puede ocurrir cuando se
cambian los protocolos durante la aceptación en un estándar. Los
bytes o valores de byte usados en los distintos paquetes están
configurados como enteros sin signo multi-bits (8 o
16 bits). Un resumen de los paquetes que se em-
plean, junto con sus designaciones de "tipo", enumerados según orden de tipo, se muestra en las tablas VI-1 a la VI-4.
plean, junto con sus designaciones de "tipo", enumerados según orden de tipo, se muestra en las tablas VI-1 a la VI-4.
Cada una de las tablas representa un "tipo"
general de paquete dentro de la estructura general del paquete,
para facilitar la ilustración y comprensión. No hay ninguna
limitación u otro impacto implícito, o expreso, para la invención
por estas agrupaciones, y los paquetes se pueden organizar de muchas
otras maneras según se desee. También se indica la dirección en la
que se considera válida la transferencia de un paquete.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
Algo que está claro de otras exposiciones dentro
de este texto es que, mientras que el Paquete de Encapsulamiento
Inverso, el Paquete de Capacidad de Cliente y el Paquete de Petición
y Estado de Cliente son cada uno de ellos considerados muy
importantes, o incluso requeridos, para el funcionamiento de la
Modalidad Externa, se pueden considerar optativos para el
funcionamiento de la Modalidad Interna. Esto crea otro tipo más de
protocolo de Interfaz MDD que permite la comunicación de datos a
velocidades muy altas con un conjunto reducido de paquetes de
comunicaciones, y la simplificación correspondiente del control y de
la temporización.
Los paquetes tienen una estructura básica común,
o conjunto global de campos mínimos, que comprende un campo de
Longitud de Paquete, un campo de Tipo de Paquete, campos de Bytes de
Datos, y un campo de CRC, que se ilustra en la Fig. 7. Como se
muestra en la Fig. 7, el campo de Longitud de Paquete contiene
información, en forma de valor multibit o multibyte, que especifica
el número total de bits del paquete, o su longitud entre el campo
de longitud de paquete y el campo de CRC. En una realización, el
campo de longitud de paquete contiene un entero sin signo de 16
bits o de 2 bytes, que especifica la longitud del paquete. El campo
de Tipo de Paquete es otro campo multibit que designa el tipo de
información que está contenida dentro del paquete. En una
realización a título de ejemplo, éste es un valor de 16 bits o de 2
bytes, en forma de entero sin signo de 16 bits, y especifica dichos
tipos de datos como capacidades de visualización, traspaso, flujos
de vídeo o de audio, estado, etc.
Un tercer campo es el campo de Bytes de Datos,
que contiene los bits o los datos que se están transfiriendo o
enviando entre el servidor y los dispositivos clientes como parte de
ese paquete. El formato de los datos se define de manera específica
para cada tipo de paquete de acuerdo al tipo específico de datos que
se estén transfiriendo, y se pueden separar en una serie de campos
adicionales, cada uno con sus propios requisitos de formato. Esto
es, cada tipo de paquete tendrá un formato definido para esta parte
o campo. El último campo es el campo de CRC que contiene los
resultados de una comprobación de redundancia cíclica de 16 bits
calculada sobre los campos de Bytes de Datos, Tipo de Paquete, y
Longitud de Paquete, que se usan para confirmar la integridad de la
información en el paquete. En otras palabras, calculado sobre todo
el paquete excepto el campo CRC mismo. El cliente, por lo general,
conserva un total de los errores CRC detectados, e informa de este
total al servidor en el Paquete de Petición y Estado del Cliente
(véase más adelante a continuación).
Por lo general, estos anchos y esta organización
de campo están diseñados para mantener campos de 2 bytes alineados
en un límite de byte par, y campos de 4 bytes alineados en límites
de 4 bytes. Esto permite que las estructuras de paquete sean
fácilmente construidas en un espacio de memoria principal de, o
asociado a, un servidor y un cliente, sin violar las reglas de
alineamiento de tipos de datos encontradas para la mayoría de los
procesadores o circuitos de control, o para los típicamente
usados.
Durante la transferencia de los paquetes, los
campos se transmiten comenzando por el bit menos significativo
(LSB) primero, y acabando por el bit más significativo (MSB),
transmitido en último término. Los parámetros que tengan más de un
byte de longitud se transmiten usando el byte menos significativo
primero, lo que da como resultado que se use el mismo patrón de
transmisión de bits para un parámetro mayor de 8 bits de longitud,
que el que se usa para un parámetro más corto, en el que el bit
menos significativo se transmite primero. Los campos de datos de
cada paquete se transmiten, por lo general, en el orden en que están
definidos en las secciones posteriores a continuación, siendo el
primer campo enumerado transmitido primero, y siendo el último
campo descrito transmitido en último término. Los datos en el
trayecto de la señal MDDI_Data0 están alineados con el bit `0' de
los bytes transmitidos por la interfaz en cualquiera de las
modalidades, Tipo 1, Tipo 2, Tipo 3 o Tipo-4.
Cuando se manipulan datos para las
visualizaciones, los datos para las matrices de píxeles se
transmiten por filas primero y después por columnas, como se hace
de manera tradicional en la técnica electrónica. En otras palabras,
todos los píxeles que aparecen en la misma fila en un mapa de bits
se transmiten en orden, con el píxel de más a la izquierda
transmitido primero y el píxel de más a la derecha transmitido en
último término. Después de que se haya transmitido el píxel de más
a la derecha de una fila, entonces el siguiente píxel de la
secuencia es el píxel de más a la izquierda de la siguiente fila.
Las filas de píxeles, por lo general, son transmitidas en orden
desde la parte superior hasta la parte inferior para la mayoría de
las pantallas, aunque se pueden asimilar otras configuraciones
según sea necesario. Además, al manipular mapas de bits, el enfoque
convencional, que se sigue aquí, es definir un punto de referencia
por medio del etiquetado de la esquina superior izquierda de un
mapa de bits como localización o desplazamiento "0,0". Las
coordenadas X e Y usadas para definir o para determinar una
posición en el mapa de bits aumentan en valor a medida que uno se
aproxima a la parte derecha y a la inferior del mapa de bits,
respectivamente. La primera fila y la primera columna (esquina
superior izquierda de una imagen) comienzan con un valor de índice
de cero. La magnitud de la coordenada X aumenta hacia el lado
derecho de la imagen, y la magnitud de la coordenada Y aumenta hacia
la parte inferior de la imagen, según lo visto por el usuario de la
visualización.
Una ventana de visualización es la parte visible
de un mapa de bits, la parte de los píxeles del mapa de bits que
puede ser vista por el usuario en el medio de visualización físico.
A menudo se da el caso de que la ventana de visualización y el mapa
de bits son del mismo tamaño. La esquina superior izquierda de una
ventana de visualización siempre visualiza la localización del
píxel de mapa de bits 0,0. El ancho de la ventana de visualización
corresponde al eje X del mapa de bits, y el ancho de la ventana de
visualización deberá ser menor o igual al ancho del mapa de bits
correspondiente. La altura de la ventana corresponde al eje Y del
mapa de bits, y la altura de la ventana de visualización deberá ser
menor o igual a la altura del correspondiente mapa de bits. La
propia ventana de visualización no es direccionable en el protocolo
porque solamente está definida como la parte visible de un mapa de
bits.
La relación entre mapas de bits y ventanas de
visualización es bien conocida en las técnicas de ordenadores,
electrónica, comunicación por Internet y otras técnicas relacionadas
con la electrónica. Por lo tanto, no se proporcionan en este
documento exposiciones o ilustraciones adicionales de estos
principios.
El paquete de Cabecera de Subtrama es el primer
paquete de cada subtrama, y tiene una estructura básica que se
ilustra en la Fig. 8. El Paquete de Cabecera de Subtrama se usa para
la sincronización servidor-cliente, y cada servidor
debería poder generar este paquete, mientras que cada cliente
debería poder recibir e interpretar este paquete. Como puede verse
en una realización en la Fig. 8, este tipo de paquete está
estructurado para tener campos de Longitud de Paquete, Tipo de
Paquete, Palabra Única, Reservado 1, Longitud de Subtrama, Versión
de Protocolo, Total de Subtramas y Total de Tramas de Medios,
generalmente en ese orden. En una realización, este tipo de paquete
se identifica generalmente como un paquete de Tipo 15359 (0x3bff en
hexadecimal) y utiliza una longitud fija preseleccionada de 20
bytes, sin incluir el campo de longitud del paquete.
El campo de Tipo de Paquete y el campo Palabra
Única utilizan, cada uno, un valor de 2 bytes (entero sin signo de
16 bits). La combinación de 4 bytes de estos dos campos forma en
conjunto una palabra única de 32 bits con buena autocorrelación. En
una realización, la palabra única efectiva es 0x005a3bff, donde los
16 bits de orden inferior se transmiten primero como el Tipo de
Paquete, y los 16 bits más significativos se transmiten
después.
El campo Reservado 1 contiene 2 bytes que son
espacio reservado para uso futuro, y generalmente se configura en
este punto con todos los bits en cero. Un objeto de este campo es
causar que los campos subsiguientes de 2 bytes se alineen a una
palabra de dirección de 16 bits y causar que los campos de 4 bytes
se alineen a una palabra de dirección de 32 bits. El byte menos
significativo se reserva para indicar que el servidor es capaz de
direccionar múltiples dispositivos clientes. Un valor de cero se
reserva para indicar que el servidor es capaz de funcionar sólo con
un único dispositivo cliente.
El campo de Longitud de Subtrama contiene 4
bytes de información o valores, que especifican el número de bytes
por subtrama. En una realización, la longitud de este campo puede
hacerse igual a cero para indicar que sólo una subtrama será
transmitida por el servidor antes de que el enlace se cierre en
estado ocioso. El valor en este campo puede cambiarse dinámicamente
"sobre la marcha" al efectuar la transición desde una subtrama
a la siguiente. Esta capacidad es útil a fin de hacer ajustes
menores de temporización en los pulsos de sincronización para
asimilar flujos de datos isócronos. Si el CRC del paquete de
Cabecera de Subtrama no es válido, entonces el controlador de
enlace debería utilizar la Longitud de Subtrama del paquete anterior
de Cabecera de Subtrama considerado como bueno para estimar la
longitud de la subtrama actual.
El campo Versión de Protocolo contiene 2 bytes
que especifican la versión de protocolo utilizada por el servidor.
El campo Versión de Protocolo se fija en `0' para especificar la
versión primera, o actual, del protocolo según se está utilizando.
Este valor cambiará a lo largo del tiempo según se creen nuevas
versiones.
El campo de Total de Subtrama contiene 2 bytes
que especifican un número de secuencia que indica el número de
subtramas que han sido transmitidas desde el comienzo de la trama de
medios. La primera subtrama de la trama de medios tiene un Total de
Subtrama igual a cero. La última subtrama de la trama de medios
tiene un valor de n-1, donde n es el número de
subtramas por trama de medios. Observe que, si la Longitud de
Subtrama se fija igual a cero (indicando una subtrama no
periódica), entonces el total de Subtramas también debe fijarse
igual a cero.
El campo Total de Trama de Medios contiene 4
bytes (entero sin signo de 32 bits) que especifican un número de
secuencia que indica el número de tramas de medios que han sido
transmitidas desde el comienzo del elemento o dato actual de medios
que está siendo transferido. La primera trama de medios de un
elemento de medios tiene un Total de Tramas de Medios igual a cero.
El Total de Tramas de Medios se incrementa justo antes de la primera
subtrama de cada trama de medios, y vuelve al valor cero después de
que se emplea el máximo Total de Tramas de Medios (por ejemplo, el
número de trama de medios 2^{3}-1 =
4.294.967.295). El valor del Total de Tramas de Medios puede ser
reiniciado, por lo general, en cualquier momento por el Servidor,
para adaptarse a las necesidades de una aplicación final.
Un paquete de relleno es un paquete que se
transfiere a, o desde, un dispositivo cliente cuando no se dispone
de ninguna otra información para enviar, bien por el enlace directo
o bien por el inverso. Se recomienda que los paquetes de relleno
tengan una longitud mínima a fin de permitir la máxima flexibilidad
al enviar otros paquetes cuando se requiera. Al final de una
subtrama o de un paquete de encapsulación del enlace inverso (véase
más adelante), un controlador de enlace establece el tamaño del
paquete de relleno para llenar el espacio restante, a fin de
mantener la integridad del paquete. El Paquete de Relleno es útil
para mantener la temporización en el enlace cuando el servidor o el
cliente no tienen ninguna información que enviar o intercambiar.
Todo servidor y cliente necesita poder enviar y recibir este
paquete para hacer un uso efectivo de la interfaz.
El formato y el contenido de un Paquete de
Relleno se muestran en la Fig. 9. Según se muestra en la Fig. 9,
este tipo de paquete está estructurado para tener campos de Longitud
de Paquete, Tipo de Paquete, Bytes de Relleno y CRC. En una
realización, este tipo de paquete se identifica, generalmente, como
un Tipo 0, lo que se indica en el campo de Tipo de 2 bytes. Los
bits o bytes en el campo de Bytes de Relleno comprenden un número
variable de valores de bit, todos ceros, para permitir que el
paquete de relleno tenga la longitud deseada. El paquete de relleno
más pequeño no contiene ningún byte en este campo. Es decir, el
paquete consiste sólo en la longitud del paquete, el tipo de
paquete y el CRC, y en una realización utiliza una longitud fija
preseleccionada de 6 bytes, o un valor de Longitud de Paquete igual
a 4. El valor del CRC está determinado para todos los bytes en el
paquete, incluyendo la Longitud de Paquete, que puede excluirse en
algunos otros tipos de paquetes.
Los Paquetes de Flujo de Vídeo llevan datos de
vídeo para actualizar, típicamente, regiones rectangulares de un
dispositivo de visualización. El tamaño de esta región puede ser tan
pequeña como un único píxel, o tan grande como el visor entero.
Puede haber un número casi ilimitado de flujos exhibidos
simultáneamente, limitados por los recursos del sistema, porque
todo el contexto requerido para visualizar un flujo está contenido
dentro del Paquete de Flujo de Vídeo. El formato de una realización
del Paquete de Flujo de Vídeo (Descriptor de Formato de Datos de
Vídeo) se muestra en la Fig. 10. Según se ve en la Fig. 10, en una
realización, este tipo de paquete está estructurado para tener
campos de Longitud de Paquete (2 bytes), Tipo de Paquete,
Identificador de bCliente, Descriptor de Datos de Vídeo, Atributos
de Visualización de Píxeles, Borde Izquierdo X, Borde Superior Y,
Borde Derecho X, Borde Inferior Y, Inicio de X e Y, Total de
Píxeles, CRC de Parámetros, Datos de Píxeles y CRC de Datos de
Píxeles. Este tipo de paquete se identifica generalmente como un
Tipo 16, lo que se indica en el campo de Tipo de 2 bytes. En una
realización, un cliente indica una capacidad de recibir un Paquete
de Flujo de Vídeo utilizando los campos de RGB, Monocromático y
Capacidad de Y Cr Cb del Paquete de Capacidad del Cliente.
En una realización, el campo Identificador de
bCliente contiene 2 bytes de información que están reservados para
un Identificador de Cliente. Dado que este es un protocolo de
comunicaciones recientemente desarrollado, los Identificadores de
clientes reales no se conocen aún o no son lo bastante comunicables.
Por lo tanto, los bits en este campo se fijan generalmente iguales
a cero hasta que se conocen dichos valores de Identificadores, en
cuyo momento los valores de Identificadores pueden insertarse o
utilizarse, como sería evidente a aquellos expertos en la técnica.
El mismo proceso será generalmente cierto para los campos de
Identificadores de cliente expuestos a continuación.
El concepto de trama común expuesto
anteriormente es una manera efectiva de minimizar el tamaño del
almacén temporal de audio y de disminuir la latencia. Sin embargo,
para datos de vídeo puede ser necesario extender los píxeles de una
trama de vídeo entre múltiples Paquetes de Flujo de Vídeo dentro de
una trama de medios. También es muy probable que los píxeles en un
único Paquete de Flujo de Vídeo no se correspondan exactamente con
una ventana rectangular perfecta en el visor. Para la velocidad
ejemplar de tramas de vídeo de 30 tramas por segundo, hay 300
subtramas por segundo, lo que da como resultado 10 subtramas por
trama de medios. Si hay 480 filas de píxeles en cada trama, cada
Paquete de Flujo de Vídeo en cada subtrama contendrá 48 filas de
píxeles. En otras situaciones, el Paquete de Flujo de Vídeo podría
no contener un número entero de filas de píxeles. Esto es cierto
para otros tamaños de tramas de vídeo, donde el número de subtramas
por trama de medios no es exactamente divisible por el número de
filas (también conocidas como líneas de vídeo) por trama de vídeo.
Cada Paquete de Flujo de Vídeo, por lo general, debe contener un
número entero de píxeles, incluso aunque podría no contener un
número entero de filas de píxeles. Esto es importante si los píxeles
tienen más de un byte cada uno, o si están en un formato
empaquetado, según se muestra en la Fig. 12.
El formato y el contenido empleados para
realizar la operación de un campo a título de ejemplo de Descriptor
de Datos de Vídeo, según se ha mencionado anteriormente, se muestran
en las Figs. 11A-11E. En las Figs.
11A-11E, el campo Descriptor de Formato de Datos de
Vídeo contiene 2 bytes en forma de un entero sin signo de 16 bits,
que especifica el formato de cada píxel en los Datos de Píxeles en
el presente flujo en el presente paquete. Es posible que distintos
paquetes de Flujo de Vídeo puedan utilizar distintos formatos de
datos de píxeles, es decir, utilizar un valor distinto en el
Descriptor de Formato de Datos de Vídeo y, de manera similar, un
flujo (región del visor) puede cambiar su formato de datos sobre la
marcha. El formato de datos de píxeles debería cumplir al menos uno
de los formatos válidos para el cliente, según se define en el
Paquete de Capacidad de Cliente. El Descriptor de Formato de Datos
de Vídeo define el formato de píxeles sólo para el presente
paquete, lo que no implica que continuará utilizándose un formato
constante para toda la vida útil de un flujo de vídeo
específico.
Las Figs. 11A a 11d ilustran cómo se codifica el
Descriptor de Formato de Datos de Vídeo. Según se utiliza en estas
figuras, y en esta realización, cuando los bits [15:13] son iguales
a `000', según se muestra en la Fig. 11A, entonces los datos de
vídeo consisten en una formación de píxeles monocromáticos, donde el
número de bits por píxel está definido por los bits 3 a 0 de la
palabra del Descriptor de Formato de Datos de Vídeo. Los bits 11 a
4, por lo general, se reservan para futuros usos o aplicaciones, y
se fijan en cero en esta situación. Cuando los bits [15:13], en
cambio, son iguales a `001', según se muestra en la Fig. 11B,
entonces los datos de vídeo consisten en una formación de píxeles
de color, cada uno de los cuales especifica un color dentro del
mapa de colores (). En esta situación, los bits 5 a 0 de la palabra
del Descriptor de Formato de Datos de Vídeo definen el número de
bits por píxel, y los bits 11 a 6, por lo general, se reservan para
futuros usos o aplicaciones, y se fijan iguales a cero. Cuando los
bits [15:13], en cambio, son iguales a `010', como se muestra en la
Fig. 11C, entonces los datos de vídeo consisten en una formación de
píxeles de color, donde el número de bits por píxel del rojo está
definido por los bits 11 a 8, el número de bits por píxel del verde
está definido por los bits 7 a 4, y el número de bits por píxel del
azul está definido por los bits 3 a 0. En esta situación, el número
total de bits en cada píxel es la suma de los números de bits
utilizados para el rojo, el verde y el azul.
Sin embargo, cuando los bits [15:13], en cambio,
son iguales a `011', como se muestra en la Fig. 11D, entonces los
datos de vídeo consisten en una formación de datos de vídeo en
formato 4:2:2 YCbCr, con información de luminosidad y cromaticidad,
donde el número de bits por píxel de la luminosidad (Y) está
definido por los bits 11 a 8, el número de bits del componente Cb
está definido por los bits 7 a 4, y el número de bits del
componente Cr está definido por los bits 3 a 0. El número total de
bits en cada píxel es la suma de los números de bits utilizados
para el rojo, el verde y el azul. Los componentes Cb y Cr se envían
a la mitad de la velocidad que Y. Además, las muestras de vídeo en
la porción de Datos de Píxeles de este paquete se organizan de la
siguiente manera: Cbn, Yn, Crn, Yn+1, Cbn+2, Yn+2, Crn+2, Yn+3, ...,
donde Cbn y Crn están asociados a Yn e Yn+1, y Cbn+2 y Crn+2 están
asociados a Yn+2 e Yn+3, y así sucesivamente.
Yn, Yn+1, Yn+2 e Yn+3 son valores de luminosidad
de cuatro píxeles consecutivos en una única fila de izquierda a
derecha. Si hay un número impar de píxeles en una fila (Borde
Derecho X-Borde Izquierdo X + 1) en la ventana
mencionada por el Paquete de Flujo de Vídeo, entonces el valor de Y
correspondiente al último píxel en cada fila será seguido por el
valor Cb del primer píxel de la siguiente fila, y no se envía un
valor de Cr para el último píxel de la fila. Se recomienda que las
ventanas que utilicen el formato Y Cb Cr tengan un ancho que sea un
número par de píxeles. Los Datos de Píxeles en un paquete deberían
contener un número par de píxeles. Puede contener un número impar o
par de píxeles en el caso en que el último píxel de los Datos de
Píxeles corresponda al último píxel de una fila en la ventana
especificada en la cabecera del Paquete de Flujo de Vídeo, es
decir, cuando la ubicación X del último píxel en los Datos de
Píxeles sea igual al Borde Derecho X.
Cuando los bits [15:13], en cambio, sean iguales
a `100', entonces los datos de vídeo consisten en una formación de
píxeles de Bayer, donde el número de bits por píxel está definido
por los bits 3 a 0 de la palabra del Descriptor de Formato de Datos
de Vídeo. El Patrón del Grupo de Píxeles está definido por los bits
5 y 4, según se muestra en la Fig. 11E. El orden de los datos de
píxeles puede ser horizontal o vertical, y los píxeles en las filas
o columnas pueden enviarse en orden ascendiente o descendiente, y
está definido por los bits 8 a 6. Los bits 11 a 9 deberían fijarse
iguales a cero. El grupo de cuatro píxeles en el grupo de píxeles
en el formato de Bayer se asemeja a lo que a menudo se denomina un
único píxel en algunas tecnologías de visualización. Sin embargo,
un píxel en el formato Bayer es sólo uno de los cuatro píxeles
coloreados del patrón de mosaico del grupo de píxeles.
Para todos los cinco formatos mostrados en las
figuras, el bit 12, que se indica como "P", especifica si las
muestras de Datos de Píxeles están empaquetadas o no, o son datos de
píxeles alineados por byte. Un valor de `0' en este campo indica
que cada píxel en el campo de Datos de Píxeles está alineado por
byte, con un límite de byte de interfaz de MDD. Un valor de `1'
indica que cada píxel y cada color dentro de cada píxel en los
Datos de Píxeles está empaquetado con el píxel, o color dentro de un
píxel, anterior, sin dejar ningún bit sin usar. La diferencia entre
el formato de datos Alineado por Byte y el Píxel Empaquetado se
muestra en más detalle en la Fig. 12, donde puede verse claramente
que los datos alineados por byte pueden dejar porciones sin
utilizar de la subtrama de datos, al contrario que el formato de
píxel empaquetado, que no lo hace.
El primer píxel en el primer paquete de flujo de
vídeo de una trama de medios para una ventana visualizadora
específica irá a la esquina superior izquierda de la ventana de
flujo definida por un Borde Izquierdo X y un Borde Superior Y, y el
siguiente píxel recibido se coloca en la siguiente ubicación de
píxel en la misma fila, y así sucesivamente. En este primer paquete
de una trama de medios, el valor inicial de X usualmente será igual
al Borde Izquierdo X, y el valor inicial de Y será usualmente igual
al Borde Superior Y. En los paquetes subsiguientes correspondientes
a la misma ventana de pantalla, los valores iniciales de X e Y se
fijarán usualmente en la ubicación de píxel en la ventana de la
pantalla que normalmente seguiría después del último píxel enviado
en el Paquete de Flujo de Vídeo que se transmitió en la subtrama
anterior.
Los paquetes de flujo de audio llevan datos de
audio para reproducir mediante el sistema de audio del cliente, o
para un dispositivo autónomo de presentación de audio. Pueden
adjudicarse distintos flujos de datos de audio para canales de
audio separados en un sistema de sonido, por ejemplo:
izquierda-frente, derecha-frente,
centro, izquierda-fondo y
derecha-fondo, según el tipo de sistema de audio que
se esté utilizando. Se proporciona un complemento completo de
canales de audio para auriculares que contienen un procesamiento
mejorado de señales espacial-acústicas. Un cliente
indica una capacidad de recibir un Paquete de Flujo de Audio
utilizando los campos Capacidad de Canal de Audio y Velocidad de
Muestra de Audio del Paquete de Capacidad del Cliente. El formato
de los Paquetes de Flujo de Audio se ilustra en la Fig. 13.
Según se muestra en la Fig. 13, este tipo de
paquete está estructurado en una realización para contener campos
de Longitud de Paquete, Tipo de Paquete, Identificador de bCliente,
Identificador de Canal de Audio, Reservado 1, Total de Muestra de
Audio, Bits por Muestra y Empaquetado, Velocidad de Muestra de
Audio, CRC de Parámetros, Datos de Audio Digital y CRC de Datos de
Audio. En una realización, este tipo de paquete se identifica
generalmente como un paquete de Tipo 32.
El campo Identificador de bCliente contiene 2
bytes de información que se reservan para un Identificador de
Cliente, según lo empleado anteriormente. El campo Reservado 1
contiene 2 bytes que se reservan para uso futuro, y generalmente se
configura en este punto con todos los bits iguales a cero.
El campo de Bits por Muestra y Empaquetado
contiene 1 byte en forma de un entero sin signo de 8 bits que
especifica el formato de empaquetado de datos de audio. El formato
generalmente empleado es que los Bits 4 a 0 definan el número de
bits por muestra de audio PCM. El bit 5 especifica entonces si las
muestras de Datos de Audio Digital están empaquetadas o no. La
diferencia entre muestras de audio empaquetadas y alineadas a byte,
utilizando aquí muestras de 10 bits, se ilustra en la Fig. 14. Un
valor de `0' indica que cada muestra de audio PCM en el campo de
Datos de Audio Digital está alineado por byte con un límite de byte
de interfaz MDDI, y un valor de `1' indica que cada muestra
sucesiva de audio PCM está empaquetada con la muestra anterior de
audio. Este bit es generalmente efectivo sólo cuando el valor
definido en los bits 4 a 0 (el número de bits por muestra de audio
PCM) no es un múltiplo de ocho. Los bits 7 a 6 están reservados para
uso futuro y generalmente se fijan con un valor de cero.
En una realización, los tipos de paquetes 1 a
15, 18 a 31 y 33 a 55 están reservados para paquetes de flujo a
definir para su empleo en versiones o variaciones futuras de los
protocolos de paquetes, según se desee para diversas aplicaciones
consideradas. Nuevamente, esto es parte de hacer que la interfaz MDD
sea más flexible y útil de cara a diseños de sistemas y tecnologías
siempre cambiantes, en comparación con otras técnicas.
\newpage
Ocho tipos de flujo de datos, conocidos como
Tipos 56 a 63, están reservados para su empleo en aplicaciones de
propiedad industrial que puedan ser definidas por fabricantes de
equipos, para su utilización con un enlace MDDI. Estos se conocen
como Paquetes de Flujo Definidos por el Usuario. Tales paquetes
pueden ser utilizados con cualquier fin, pero el servidor y el
cliente deberían emplear tales paquetes sólo en situaciones donde
el resultado de tal uso sea muy bien comprendido o conocido. La
definición específica de los parámetros y datos de flujo para estos
tipos de paquetes se deja a los fabricantes de equipos específicos
que implementen tales tipos de paquetes o que busquen su
utilización. Algunos usos a título de ejemplo de los Paquetes de
Flujo Definidos por el Usuario son trasladar parámetros de pruebas y
resultados de pruebas, datos de calibración de fábrica y datos de
uso especial de propiedad industrial. El formato de los paquetes de
flujo definidos por el usuario, según lo utilizado en una
realización, se ilustra en la Fig. 15. Según se muestra en la Fig.
15, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete (2 bytes), Tipo de Paquete, número de
Identificador de bCliente, Parámetros de Flujo, CRC de Parámetros,
Datos de Flujo y CRC de Datos de Flujo.
Los paquetes de mapa de colores especifican el
contenido de una tabla de búsqueda de mapa de colores, utilizado
para presentar colores a un cliente. Algunas aplicaciones pueden
requerir un mapa de colores que sea más grande que la cantidad de
datos que pueden transmitirse en un único paquete. En estos casos,
pueden transferirse múltiples paquetes de Mapa de Colores, cada uno
con un subconjunto distinto del mapa de colores, utilizando los
campos de desplazamiento y longitud descritos más adelante. El
formato de un Paquete de Mapa de Colores en una realización se
ilustra en la Fig. 16. Según se muestra en la Fig. 16, este tipo de
paquete está estructurado para tener campos de Longitud de Paquete,
Tipo de Paquete, Identificador de hcliente, Total de Elementos del
Mapa de Colores, Desplazamiento del Mapa de Colores, CRC de
Parámetros, Datos del Mapa de Colores y CRC de los Datos. En una
realización, este tipo de paquete se identifica generalmente como un
paquete de Tipo 64 (Paquete de Formato de Datos de Vídeo y Mapa de
Colores) según se especifica en el Campo de Tipo de Paquete (2
bytes). Un cliente indica una capacidad de recibir Paquetes de Mapa
de Colores utilizando los campos Tamaño de Mapa de Colores y Ancho
de Mapa de Colores del Paquete de Capacidad del Cliente.
En una realización a título de ejemplo, los
datos se transfieren en la dirección inversa utilizando un Paquete
de Encapsulación de Enlace Inverso. Se envía un paquete del enlace
directo y la operación del enlace MDDI (dirección de transferencia)
se cambia o se invierte en el medio de este paquete, de forma que
los paquetes puedan enviarse en la dirección inversa. El formato
del paquete de Encapsulación de Enlace Inverso en una realización
se ilustra en la Fig. 17. Según se muestra en la Fig. 17, este tipo
de paquete está estructurado para tener campos de Longitud de
Paquete, Tipo de Paquete, Identificador de hCliente, Indicadores de
Enlace Inverso, Divisor de Velocidad Inversa, Longitud de Giro 1,
Longitud de Giro 2, CRC de Parámetros, Todos Ceros 1, Giro 1,
Paquetes de Datos Inversos, Giro 2 y Todos Ceros 2. En una
realización, este tipo de paquete se identifica generalmente como
un paquete de Tipo 65. Para la Modalidad Externa, cada servidor debe
ser capaz de generar este paquete y recibir datos, y cada cliente
debe poder recibir y enviar datos al servidor. La implementación de
este paquete es optativa para la Modalidad Interna.
El controlador de enlace MDDI actúa en forma
especial al enviar un Paquete de Encapsulación de Enlace Inverso.
La interfaz MDD tiene una señal de sondeo que, generalmente, está
siempre alimentada por el servidor, como controlador del enlace. El
servidor actúa como si estuviera transmitiendo un cero para cada bit
de las porciones de Giro y de Paquetes de Datos Inversos del
paquete de Encapsulación de Enlace Inverso. El servidor alterna una
señal MDDI_Strobe en cada límite de bit durante los dos momentos de
giro y durante el tiempo adjudicado para los paquetes de datos
inversos. (Este es el mismo comportamiento que si estuviera
transmitiendo datos con todos ceros).
El servidor desactiva los controladores de línea
de señal de datos MDDI durante el periodo especificado por Giro 1,
y el cliente reactiva sus controladores de línea durante el campo
Reactivar Controlador a continuación del periodo especificado por
el campo Giro 2. El cliente lee el parámetro de Longitud de Giro y
alimenta las señales de datos hacia el servidor inmediatamente
después del último bit en el campo Giro 1. Es decir, el cliente
sincroniza nuevos datos en el enlace para ciertos bordes crecientes
de la sonda MDDI, según lo especificado en la descripción del
contenido del paquete, más adelante, y en otra parte. El cliente
utiliza los parámetros Longitud de Paquete y Longitud de Giro para
conocer la longitud del tiempo que tiene disponible para enviar
paquetes al servidor. El cliente puede enviar paquetes de relleno o
alimentar las líneas de datos a un estado cero cuando no tenga
datos que enviar al servidor. Si las líneas de datos se alimentan a
cero, el servidor interpreta esto como un paquete de longitud cero
(longitud no válida) y el servidor no acepta ningún paquete más
desde el cliente por lo que dure el Paquete de Encapsulación de
Enlace Inverso actual.
El Servidor alimenta las señales MDDI_Data al
nivel de cero lógico durante el campo Todos Ceros 1, y un cliente
alimenta las líneas de datos MDDI a un nivel de cero lógico durante
al menos un periodo de reloj del enlace inverso, antes del inicio
del campo Giro 2, es decir, durante el periodo del campo Todos Ceros
2. Esto mantiene las líneas de datos en un estado determinístico
durante el periodo de tiempo de los campos Giro 1 y Giro 2. Si el
cliente no tiene más paquetes que enviar, puede incluso desactivar
las líneas de datos después de alimentarlas al nivel de cero
lógico, porque los resistores de sesgo de hibernación (expuestos en
otra parte) mantienen las líneas de datos en un nivel de cero
lógico durante el resto del campo Paquetes de Datos Inversos, o
durante un lapso de alrededor de 16 bytes de enlace directo, o
más.
En una realización, el campo Solicitud de Enlace
Inverso del Paquete de Solicitud y Estado de Cliente puede
utilizarse para informar al servidor del número de bytes que el
cliente necesita en el Paquete de Encapsulación de Enlace Inverso
para enviar datos de vuelta al servidor. El servidor intenta
conceder la petición adjudicando al menos ese número de bytes en el
Paquete de Encapsulación de Enlace Inverso. El servidor puede enviar
más de un Paquete de Encapsulación de Enlace Inverso en una
subtrama. El cliente puede enviar un Paquete de Solicitud y Estado
de Cliente casi en cualquier momento, y el servidor interpretará el
parámetro Solicitud de Enlace Inverso como el número total de bytes
solicitados en una subtrama.
Un servidor necesita conocer la capacidad del
cliente (visor) con el que está comunicándose a fin de configurar
el enlace de servidor-a-cliente de
manera generalmente óptima o deseada. Se recomienda que un visor
envíe un Paquete de Capacidad del Cliente al servidor después de
que se ha adquirido la sincronización del enlace directo. La
transmisión de tal paquete se considera requerida cuando es
solicitada por el servidor utilizando los Indicadores de Enlace
Inverso en el Paquete de Encapsulación de Enlace Inverso. El Paquete
de Capacidad del Cliente se utiliza para informar al servidor de
las capacidades de un cliente. Para la Modalidad Externa, cada
servidor debe poder recibir este paquete, y cada cliente debe poder
enviar este paquete para utilizar por completo esta interfaz y
protocolo. La implementación del paquete es optativa para la
Modalidad Interna, dado que las capacidades del cliente, tal como
un visor, en esta situación deberían estar ya bien definidas, y ser
conocidas por el servidor en el momento de fabricación o montaje en
un único componente o unidad de algún tipo.
El formato del paquete de Capacidad del Cliente
en una realización se ilustra en la Fig. 18. Según se muestra en la
Fig. 18, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete, Tipo de Paquete, Identificador de cCliente,
Versión de Protocolo, Versión Mínima de Protocolo, Capacidad de
Velocidad de Datos, Capacidad de Tipo de Interfaz, Número de
Visores Alternativos, Reservado 1, Ancho de Mapa de Bits, Altura de
Mapa de Bits, Ancho de Ventana de Visualización, Altura de Ventana
de Visualización. Tamaño del Mapa de Colores, Ancho de RGB del Mapa
de Colores, Capacidad de RGB, Capacidad Monocromática, Reservado 2,
Capacidad de Y Cr Cb, Capacidad de Bayer, Planos de Imagen de
Alfa-Cursor, Capacidad de Características de
Cliente, Velocidad Máxima de Tramas de Vídeo, Velocidad Mínima de
Tramas de Vídeo, Velocidad Mínima de Subtrama, Profundidad del
Almacén Temporal de Audio,
Capacidad de Canal de Audio, Capacidad de
Velocidad de Muestra de Audio, Resolución de Muestra de Audio,
Resolución de Muestra de Micrófono, Capacidad de Velocidad de
Muestra de Micrófono, Formato de Datos de Teclado, Formato de Datos
de Dispositivo Puntero, Tipo de Protección de Contenido, Nombre de
Fabricante, Código de Producto, Reservado 4, Número de Serie,
Semana del Fabricante, Año del Fabricante y CRC. En una realización
a título de ejemplo, este tipo de paquete se identifica
generalmente como un paquete de Tipo 66.
Un paquete de datos de teclado se utiliza para
enviar datos de teclado desde el dispositivo cliente al servidor.
Puede emplearse un teclado inalámbrico (o con cable) conjuntamente
con diversos dispositivos de visualización o audio, incluyendo,
pero sin limitarse a, un dispositivo de presentación de
visualización de vídeo/audio montado en la cabeza. El Paquete de
Datos de Teclado retransmite datos de teclado recibidos desde uno
entre varios dispositivos, conocidos como de teclado, al servidor.
Este paquete también puede emplearse en el enlace directo para
enviar datos al teclado. Un cliente indica una capacidad de enviar y
recibir Paquetes de Datos de Teclado utilizando el Campo de Datos
de Teclado en el Paquete de Capacidad de Cliente.
El formato de un Paquete de Datos de Teclado se
muestra en la Fig. 19, y contiene un número variable de bytes de
información desde o para un teclado. Según se muestra en la Fig. 19,
este tipo de paquete está estructurado para tener campos de
Longitud de Paquete, Tipo de Paquete, Identificador de bCliente,
Formato de Datos de Teclado, Datos de Teclado y CRC. Aquí, este
tipo de paquete se identifica generalmente como un paquete de Tipo
67.
El Identificador de bCliente es un campo
reservado, igual que antes, y el CRC se efectúa sobre todos los
bytes del paquete. El campo Formato de Datos de Teclado contiene un
valor de 2 bytes que describe el formato de datos de teclado. Los
bits 6 a 0 deberían ser idénticos al campo Formato de Datos de
Teclado en el Paquete de Capacidad de Cliente. Este valor no ha de
ser igual a 127. Los bits 15 a 7 están reservados para uso futuro
y, por lo tanto, se fijan actualmente en cero.
Un paquete de datos de dispositivo puntero se
utiliza para enviar información de posición desde un ratón
inalámbrico u otro dispositivo puntero, desde el cliente al
servidor. Los datos también pueden enviarse al dispositivo puntero
por el enlace directo, utilizando este paquete. Un formato ejemplar
de un Paquete de Datos de Dispositivo Puntero se muestra en la Fig.
20, y contiene un número variable de bytes de información desde, o
para, un dispositivo puntero. Según se muestra en la Fig. 20, este
tipo de paquete está estructurado para tener campos de Longitud de
Paquete, Tipo de Paquete, Identificador de bCliente, Formato de
Dispositivo Puntero. Datos de Dispositivo Puntero y CRC. En una
realización a título de ejemplo, este tipo de paquete se identifica
generalmente como un paquete de Tipo 68 en el campo de tipo de 1
byte.
Un Paquete de Cierre de Enlace se envía desde el
servidor al cliente para indicar que los datos de MDDI y la sonda
se cerrarán e irán a un estado de "hibernación" de bajo consumo
de energía. Este paquete es útil para apagar el enlace y conservar
energía después de que los mapas de bits estáticos se hayan enviado
desde un dispositivo de comunicación móvil al visor, o cuando no
hay ninguna información adicional a transferir desde un servidor a
un cliente por el momento. El funcionamiento normal se reanuda
cuando el servidor envía paquetes nuevamente. El primer paquete
enviado después de la hibernación es un paquete de cabecera de
subtrama. El formato de un Paquete de Estado de Cliente se muestra
en la Fig. 21. Según se muestra en la Fig. 21, este tipo de paquete
está estructurado para tener campos de Longitud de Paquete, Tipo de
Paquete, CRC y Todos Ceros. En una realización, este tipo de
paquete se identifica generalmente como un paquete de Tipo 69 en el
campo de tipo de 1 byte, y utiliza una longitud fija
preseleccionada de 3 bytes.
En el estado de hibernación de baja energía, el
controlador de la línea MDDI_Data queda desactivado en un estado de
alta impedancia, y las señales MDDI_Data se llevan a un estado de
cero lógico empleando una red de sesgo de alta impedancia cuyo
control puede ser retomado por el cliente. La señal de sonda
utilizada por la interfaz se lleva a un nivel de cero lógico en el
estado de hibernación, para minimizar el consumo de energía. Bien
el servidor, o bien el cliente, pueden causar que el enlace MDDI se
"despierte" del estado de hibernación, según se describe en
otra parte, lo que es un avance clave, y una ventaja, para la
presente invención.
El servidor necesita una pequeña cantidad de
información del cliente para poder configurar el enlace de
servidor-a-cliente de una manera
generalmente óptima. Se recomienda que el cliente envíe al servidor
un Paquete de Solicitud y Estado de Cliente con cada subtrama. El
cliente debería enviar este paquete como el primer paquete en el
Paquete de Encapsulación de Enlace Inverso, para garantizar que se
entregue de manera fiable al servidor. La remisión de este paquete
también se logra cuando es solicitada por un servidor utilizando los
Indicadores de Enlace Inverso en el Paquete de Encapsulación del
Enlace Inverso. El Paquete de Solicitud y Estado de Cliente se
utiliza para informar errores y estado al servidor. Cada servidor
debería ser capaz de recibir este paquete, y cada cliente debería
poder enviar este paquete a fin de emplear debida y óptimamente el
protocolo de interfaz MDD.
El formato de un Paquete de Solicitud y Estado
de Cliente se muestra en la Fig. 22. Según se muestra en la Fig.
22, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete, Tipo de Paquete, Identificador de cCliente,
Solicitud de Enlace Inverso, Cambio de Capacidad, Errores Gráficos.
Total de Errores de CRC y CRC. Este tipo de paquete se identifica
generalmente con un paquete de Tipo 70 en el campo de tipo de 1
byte y, típicamente, utiliza una longitud fija preseleccionada de 12
bytes.
El campo de Solicitud de Enlace Inverso puede
utilizarse para informar al servidor del número de bytes que el
cliente necesita en el Paquete de Encapsulación de Enlace Inverso
para enviar datos de vuelta al servidor. El servidor debería
intentar conceder la solicitud adjudicando al menos ese número de
bytes en el Paquete de Encapsulación de Enlace Inverso. El servidor
puede enviar más de un Paquete de Encapsulación de Enlace Inverso
en una subtrama, a fin de acomodar los datos. El cliente puede
enviar un Paquete de Solicitud y Estado de Cliente en cualquier
momento, y el servidor interpretará el parámetro Solicitud de Enlace
Inverso como el número total de bytes solicitados en una subtrama.
Más adelante se muestran detalles adicionales y ejemplos
específicos de cómo los datos del enlace inverso se envían de vuelta
al servidor.
El Paquete de Transferencia de Bloques de Bits
proporciona un medio para desplazar regiones del visor en cualquier
dirección. Los visores que tienen esta capacidad informarán de la
capacidad en el bit 0 del campo Indicadores de Capacidad de
Características de Visor del Paquete de Capacidad de Cliente. El
formato de un Paquete de Transferencia de Bloques de Bits se
muestra en la Fig. 23. Según se muestra en la Fig. 23, este tipo de
paquete está estructurado para tener campos de Longitud de Paquete,
Tipo de Paquete, Identificador de hCliente, Valor de X Superior
Izquierdo, Valor de Y Superior Izquierdo, Ancho de Ventana, Altura
de Ventana, Movimiento X de Ventana, Movimiento Y de Ventana y CRC.
Este tipo de paquete se identifica generalmente como un paquete de
Tipo 71, y utiliza una longitud fija preseleccionada de 15
bytes.
Los campos se usan para especificar los valores
de X e Y de la coordenada de la esquina izquierda superior de la
ventana a mover, el ancho y la altura de la ventana a mover y el
número de píxeles por los que la ventana se va a mover en dirección
horizontal y vertical, respectivamente. Los valores positivos para
los dos últimos campos causan que la ventana se mueva hacia la
derecha y abajo y los valores negativos causan movimiento hacia la
izquierda y arriba, respectivamente.
El Paquete de Relleno del Área de Mapa de Bits
proporciona un medio para inicializar fácilmente una región del
visor con un único color. Los visores que tienen esta capacidad
informarán de la capacidad en el bit 1 del campo Indicadores de
Capacidad de Características de Cliente del Paquete de Capacidad de
Cliente. El formato de un Paquete de Relleno del Área de Mapa de
Bits se muestra en la Fig. 24. Según se muestra en la Fig. 24, este
tipo de paquete está estructurado para tener campos de Longitud de
Paquete, Tipo de Paquete, Identificador de hCliente, Valor X
Superior Izquierdo, Valor Y Superior Izquierdo, Ancho de Ventana,
Altura de Ventana, Descriptor de Formato de Datos, Valor de Relleno
del Área de Píxeles y CRC. Este tipo de paquete se identifica
generalmente como un paquete de Tipo 72 en el campo de tipo de 1
byte, y utiliza una longitud fija preseleccionada de 17 bytes.
El Paquete de Relleno del Patrón de Mapa de Bits
proporciona un medio para inicializar fácilmente una región del
visor con un patrón preseleccionado. Los visores que tienen esta
capacidad informarán de la capacidad en el bit 2 del campo
Capacidad de Característica de Cliente del Paquete de Capacidad de
Cliente. La esquina superior izquierda del patrón de relleno se
alinea con la esquina superior izquierda de la ventana a rellenar.
Si la ventana a rellenar es más ancha o más alta que el patrón de
relleno, entonces el patrón puede repetirse horizontal o
verticalmente un cierto número de veces para llenar la ventana. El
extremo derecho o inferior del patrón de relleno se trunca según
sea necesario. Si la ventana es más pequeña que el patrón de
relleno, entonces el lado derecho o inferior del patrón de relleno
puede truncarse para ajustarse a la ventana.
El formato de un Paquete de Relleno de Patrón de
Mapa de Bits se muestra en la Fig. 25. Según se muestra en la Fig.
25, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete, Tipo de Paquete, Identificador de hCliente,
Valor X Superior Izquierdo, Valor Y Superior Izquierdo, Ancho de
Ventana, Altura de Ventana, Ancho de Patrón, Altura de Patrón,
Descriptor de Formato de Datos, CRC de Parámetros, Datos de Píxeles
del Patrón y CRC de Datos de Píxeles. Este tipo de paquete se
identifica generalmente como un paquete de Tipo 73 en el campo de
tipo de 1 byte.
El Paquete de Canal de Datos de Enlace de
Comunicación proporciona un medio para que un cliente con capacidad
de cálculo de alto nivel, tal como una agenda electrónica, se
comunique con un transceptor inalámbrico tal como un teléfono
celular o un dispositivo inalámbrico de puerto de datos. En esta
situación, el enlace MDDI está actuando como una conveniente
interfaz de alta velocidad entre el dispositivo de comunicación y el
dispositivo de cálculo con el visor móvil, donde este paquete
transporta datos en una Capa de Enlace de Datos de un sistema
operativo para el dispositivo. Por ejemplo, este paquete podría
utilizarse si un explorador de la Red, un cliente de correo
electrónico, o una agenda electrónica entera se integraran en un
visor móvil. Los visores que tienen esta capacidad informarán de la
capacidad en el bit 3 del campo Capacidad de Característica de
Cliente del Paquete de Capacidad de Cliente.
El formato de un Paquete de Canal de Datos de
Enlace de Comunicación se muestra en la Fig. 26. Según se muestra
en la Fig. 26, este tipo de paquete está estructurado para tener
campos de Longitud de Paquete, Tipo de Paquete, Identificador de
hCliente, CRC de Parámetros, Datos de Enlace de Comunicación y CRC
de Datos de Comunicación. Este tipo de paquete se identifica
generalmente como un paquete de Tipo 74 en el campo de tipo.
El Paquete de Solicitud de Traspaso de Tipo de
Interfaz permite al servidor solicitar que el cliente o visor pase
desde una modalidad existente o actual a las modalidades de Tipo 1
(en serie), Tipo 2 (en paralelo en 2 bits), Tipo 3 (en paralelo en
4 bits) o Tipo 4 (en paralelo en 8 bits). Antes de que el servidor
solicite una modalidad específica, debería confirmar que el cliente
es capaz de operar en la modalidad deseada, examinando los bits 6 y
7 del campo Indicadores de Capacidad de Característica de
Visualización del Paquete de Capacidad de Cliente. El formato de un
Paquete de Solicitud de Traspaso de Tipo de Interfaz se muestra en
la Fig. 27. Según se muestra en la Fig. 27, este tipo de paquete
está estructurado para tener campos de Longitud de Paquete, Tipo de
Paquete, Tipo de Interfaz, Reservado 1 y CRC. Este tipo de paquete
se identifica generalmente como un paquete de Tipo 75, y utiliza
una longitud fija preseleccionada de 4 bytes.
El Paquete de Acuse de Recibo de Tipo de
Interfaz es enviado por el cliente para confirmar la recepción del
Paquete de Traspaso de Tipo de Interfaz. La modalidad solicitada,
Tipo 1 (en serie), Tipo 2 (en paralelo en 2 bits), Tipo 3 (en
paralelo en 4 bits) o Tipo 4 (en paralelo en 8 bits) se devuelve al
servidor como un parámetro en este paquete. El formato de un
Paquete de Acuse de Recibo de Tipo de Interfaz se muestra en la Fig.
28. Según se muestra en la Fig. 28, este tipo de paquete está
estructurado para tener campos de Longitud de Paquete, Tipo de
Paquete, Identificador de cCliente, Tipo de Interfaz, Reservado 1 y
CRC. Este tipo de paquete se identifica generalmente como un
paquete de Tipo 76, y utiliza una longitud fija preseleccionada de 4
bytes.
El Paquete de Traspaso de Tipo de Ejecución es
un medio para que el servidor ordene al cliente pasar a la
modalidad especificada en este paquete. Esta debe ser la modalidad
previamente solicitada y confirmada por el Paquete de Solicitud de
Traspaso de Tipo de Interfaz y el Paquete de Acuse de Recibo de Tipo
de Interfaz. El servidor y el cliente deberían conmutar a la
modalidad acordada después de que se envíe este paquete. El cliente
puede perder y recuperar la sincronización del enlace durante el
cambio de modalidad. El formato de un Paquete de Traspaso de Tipo
de Ejecución se muestra en la Fig. 29. Según se muestra en la Fig.
29, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete, Tipo de Paquete, Tipo de Paquete, Reservado 1
y CRC. Este tipo de paquete se identifica generalmente como un
paquete de Tipo 77 en el campo de tipo de 1 byte, y utiliza una
longitud fija preseleccionada de 4 bytes.
Este paquete permite que el servidor active o
desactive canales de audio en el cliente. Esta capacidad es útil
para que el cliente (un visor, por ejemplo) pueda apagar
amplificadores de audio o elementos similares de circuitos para
ahorrar energía cuando no hay ningún audio a emitir por parte del
servidor. Esto es significativamente más difícil de implementar
implícitamente, utilizando sencillamente la presencia o ausencia de
flujos de audio como un indicador. El estado por defecto cuando el
sistema cliente está encendido es que todos los canales de audio
estén activados. El formato de un Paquete de Activación de Canal de
Audio Directo se muestra en la Fig. 30. Según se muestra en la Fig.
30, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete, Tipo de Paquete, Identificador de hCliente,
Máscara de Activación de Canal de Audio y CRC. Este tipo de paquete
se identifica generalmente como un paquete de Tipo 78 en el campo de
tipo de 1 byte, y utiliza una longitud fija preseleccionada de 4
bytes.
Este paquete permite al servidor activar o
desactivar el canal de audio del enlace inverso, y fijar la
velocidad de la muestra de datos de audio de este flujo. El
servidor selecciona una velocidad de muestra que está definida como
válida en el Paquete de Capacidad de Cliente. Si el servidor
selecciona una velocidad de muestra inválida, entonces el cliente
no enviará un flujo de audio al servidor, y el error adecuado puede
enviarse al servidor en el Paquete de Informe de Error de Cliente.
El servidor puede desactivar el flujo de audio del enlace inverso
fijando la velocidad de muestra con un valor de 255. El estado por
defecto supuesto cuando el sistema cliente se enciende o conecta
originalmente es con el flujo de audio de enlace inverso
desactivado. El formato de un Paquete de Velocidad de Muestra de
Audio Inverso se muestra en la Fig. 31. Según se muestra en la Fig.
31, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete, Tipo de Paquete, Identificador de hCliente,
Velocidad de Muestra de Audio, Reservado 1 y CRC. Este tipo de
paquete se identifica generalmente como un paquete de Tipo 79 y
utiliza una longitud fija preseleccionada de 4 bytes.
Este paquete permite que el servidor y un
cliente intercambien mensajes relacionados con el procedimiento de
protección de contenido digital que se está utilizando. Actualmente
se contemplan dos tipos de protección de contenido, la Protección
de Contenido de Transmisión Digital (DTCP), o el Sistema de
Protección de Contenido Digital de Gran Ancho de Banda (HDCP), con
espacio reservado para futuras designaciones de esquemas de
protección alternativos. El procedimiento que se está utilizando es
especificado por un parámetro de Tipo de Protección de Contenido en
este paquete. El formato de un Paquete de Sobrecarga de Protección
de Contenido Digital se muestra en la Fig. 32. Como se muestra en
la Fig. 32, este tipo de paquete está estructurado para tener campos
de Longitud de Paquete, Tipo de Paquete, Identificador de bCliente,
Tipo de Protección de Contenido, Mensajes de Sobrecarga de
Protección de Contenido y CRC. Este tipo de paquete se identifica
generalmente como un paquete de Tipo 80.
El Paquete de Activación de Color Transparente
se utiliza para especificar qué color es transparente en un visor,
y para activar o desactivar el empleo de un color transparente para
visualizar imágenes. Los visores que tienen esta capacidad
informarán de esa capacidad en el bit 4 del campo de Capacidad de
Característica de Cliente del Paquete de Capacidad de Cliente.
Cuando se graba un píxel con el valor para el color transparente en
el mapa de bits, el color no cambia con respecto al valor anterior.
El formato de un Paquete de Activación de Color Transparente se
muestra en la Fig. 33. Según se muestra en la Fig. 33, este tipo de
paquete está estructurado para tener campos de Longitud de Paquete,
Tipo de Paquete, Identificador de hCliente, Activación de Color
Transparente, Reservado 1, Identificador de
Alfa-Cursor, Descriptor de Formato de Datos, Valor
de Píxel Transparente y CRC. Este tipo de paquete se identifica
generalmente como un paquete de Tipo 81 en el campo de tipo de 1
byte, y utiliza una longitud fija preseleccionada de 10 bytes.
El Paquete de Medición de Retardo de Ida y
Vuelta se utiliza para medir el retardo de propagación desde el
servidor a un cliente (visor), más el retardo desde el cliente
(visor) de vuelta al servidor. Esta medición incluye implícitamente
los retardos que existen en los controladores de línea y los
receptores, y un subsistema de interconexión. Esta medición se
utiliza para fijar el retardo de giro y los parámetros de divisores
de velocidad de enlace inverso en el Paquete de Encapsulación de
Enlace Inverso, descrito en general anteriormente. Este paquete es
utilísimo cuando el enlace MDDI está funcionando a la máxima
velocidad concebida para una aplicación específica. La señal
MDDI_Stb actúa como si se están enviando datos todos ceros durante
los siguientes campos: ambos Tiempos de Guardia, Todos Cero y el
Periodo de Medición. Esto causa que la señal MDDI_Stb alterne sus
valores a la mitad de la velocidad de datos, para que pueda
utilizarse como un reloj periódico en el cliente durante el Periodo
de Medición.
En una realización, un cliente indica en general
una capacidad de brindar soporte al Paquete de Medición de Retardo
de Ida y Vuelta mediante el empleo del bit 18 del campo de
Indicadores de Capacidad de Característica de Cliente del Paquete
de Capacidad de Cliente. Se recomienda que todos los clientes
brinden soporte a la medición de retardo de ida y vuelta, pero es
posible que el servidor conozca el retardo de ida y vuelta en el
peor caso basándose en un retardo máximo por cable, y en los
retardos máximos de controlador y de receptor. El servidor también
puede saber el retardo de ida y vuelta anticipadamente para un
enlace MDDI utilizado en la modalidad interna, ya que esto es un
aspecto de elementos conocidos de diseño (longitudes de conductores,
tipo de circuitos, y características, etc.) del dispositivo en el
cual se está utilizando la interfaz.
El formato de un Paquete de Medición de Retardo
de Ida y Vuelta se muestra en la Fig. 34. Según se muestra en la
Fig. 34, en una realización este tipo de paquete está estructurado
para tener campos de Longitud de Paquete, Tipo de Paquete,
Identificador de hCliente, CRC de Parámetros, Tiempo de Guardia 1,
Periodo de Medición, Todos Ceros y Tiempo de Guardia 2. Este tipo
de paquete se identifica generalmente como un paquete de Tipo 82, y
utiliza una longitud fija preseleccionada de 533 bits.
La temporización de los sucesos que tienen lugar
durante el Paquete de Medición de Retardo de Ida y Vuelta se
ilustra en la Fig. 35. En la Fig. 35, el servidor transmite el
Paquete de Medición de Retardo de Ida y Vuelta, mostrado por la
presencia de los campos de CRC de Parámetros y Alineación de Sonda,
seguidos por los campos de Todos Ceros y Tiempo de Guardia 1. Un
retardo 3502 ocurre antes de que el paquete llegue al dispositivo
de visualización o circuitos de procesamiento del cliente. Según el
cliente recibe el paquete, transmite la secuencia 0xff, 0xff y 30
bytes del patrón 0x0 con tanta precisión como sea práctico en el
comienzo del Periodo de Medición, según lo determinado por el
cliente. El momento efectivo en que el cliente comienza a transmitir
esta secuencia se retarda desde el comienzo del Periodo de
Medición, desde el punto de vista del servidor. La magnitud de este
retardo es esencialmente el tiempo que le lleva al paquete
propagarse a través de los controladores de línea y los receptores,
y el subsistema de interconexión (cables, conductores). Se incurre
en una magnitud similar de retardo 3504 para que el patrón se
propague de regreso desde el cliente hasta el servidor.
A fin de determinar con precisión el tiempo de
retardo de ida y vuelta para que las señales viajen a y desde el
cliente, el servidor cuenta el número de periodos de tiempos de bits
del enlace directo después del inicio del Periodo de Medición,
hasta que se detecta el comienzo de la secuencia 0xff, 0xff y los 30
bytes de 0x0 al llegar. Esta información se utiliza para determinar
la cantidad de tiempo para que una señal de ida y vuelta pase desde
el servidor al cliente, y de regreso. Luego, alrededor de la mitad
de esta cantidad se atribuye a un retardo creado para el pasaje
unidireccional de una señal al cliente.
Tanto el servidor como el cliente alimentan la
línea a un nivel de cero lógico durante ambos tiempos de guardia,
para mantener las líneas MDDI_Data en un estado definido. Los
resistores de alza y baja de hibernación (véase la Fig. 42)
garantizan que las señales MDDI_Data se mantienen en un nivel bajo
válido en los intervalos donde los controladores de línea están
desactivados tanto en el servidor como en el cliente.
El Paquete de Calibración de Sesgo de Enlace
Directo permite a un cliente o visor autocalibrarse en cuanto a las
diferencias en el retardo de propagación de las señales MDDI_Data
con respecto a la señal MDDI_Stb. Sin compensación de sesgo de
retardo, la máxima velocidad de datos se limita generalmente a tener
en cuenta la variación potencial del peor caso en estos retardos.
Generalmente, este paquete se envía sólo cuando la velocidad de
datos del enlace directo está configurada en una velocidad de
alrededor de 50 Mbps, o menor. Después de enviar este paquete para
calibrar el visor, la velocidad de datos puede elevarse por encima
de los 50 Mbps. Si la velocidad de datos se pone demasiado alta
durante el proceso de calibración de sesgo, el visor podría
sincronizarse con un alias del periodo de bits, lo que podría causar
que el valor de compensación del sesgo de retardo se desfasara en
más de un periodo de bit, dando como resultado una sincronización
errónea de datos. El tipo de interfaz de más alta velocidad de
datos, o el mayor Tipo de Interfaz posible, se seleccionan antes de
enviar el Paquete de Calibración de Sesgo de Enlace Directo, de
forma que todos los bits de datos existentes sean calibrados.
El formato de un Paquete de Calibración de Sesgo
de Enlace Directo se muestra en la Fig. 56. Como se muestra en la
Fig. 56, este tipo de paquete está estructurado para tener campos de
Longitud de Paquete (2 bytes), Tipo de Paquete, CRC de Parámetros,
Secuencia de Datos de Calibración y CRC. Este tipo de paquete se
identifica generalmente como un paquete de Tipo 83 en el campo de
tipo, y tiene una longitud preseleccionada de 515.
\newpage
El empleo de un Panel de Control Virtual (VCP)
permite a un servidor establecer ciertos controles de usuario en un
cliente. Permitiendo que estos parámetros sean ajustados por el
servidor, la interfaz de usuario en el cliente puede simplificarse,
porque las pantallas que permiten a un usuario ajustar parámetros,
tales como el volumen del audio o el brillo del visor, pueden ser
generadas por el software del servidor, en lugar de uno o más
microprocesadores en el cliente. El servidor tiene la capacidad de
leer la configuración de parámetros en el cliente y de determinar
la gama de valores válidos para cada control. El cliente tiene la
capacidad de informar al servidor de qué parámetros de control
pueden ajustarse.
Los códigos de control (códigos VCP) y los
valores de datos asociados generalmente especificados se utilizan
para especificar controles y configuraciones en el cliente. Los
Códigos VCP en la especificación de la MDDI están expandidos a 16
bits para preservar la debida alineación de los campos de datos en
las definiciones de paquetes y, en el futuro, para brindar soporte
a valores suplementarios que sean únicos para esta interfaz, o a
futuras mejoras.
El Paquete de Solicitud de Característica VCP
proporciona un medio, mecanismo o procedimiento para que el
servidor solicite la configuración actual de un parámetro de control
específico, o de todos los parámetros válidos de control.
Generalmente, un cliente responde a un Paquete VCP con la
información adecuada en un Paquete de Respuesta de Característica
VCP. En una realización, el cliente indica una capacidad de brindar
soporte al Paquete de Solicitud de Característica VCP utilizando el
bit 20 del campo de Indicadores de Capacidad de Cliente del Paquete
de Capacidad de Cliente.
El formato del Paquete de Solicitud de
Característica VCP, en una realización, se muestra en la Fig. 69.
Como se ve en la Fig. 69, este tipo de paquete está estructurado
para tener campos de Longitud de Paquete, Tipo de Paquete,
Identificador de hCliente, código VCP de MCCS y CRC. Este tipo de
paquete se identifica generalmente en una realización como un Tipo
128, lo que se indica en el campo de tipo de 2 bytes. La longitud
del paquete, que especifica el número total de bytes en el paquete,
sin incluir el campo de longitud del paquete, está típicamente
fijada para este tipo de paquete en una longitud de 8 bytes.
El campo de Identificador de hCliente contiene
un entero sin signo de 16 bits reservado para el Identificador de
Cliente. Este campo está reservado para uso futuro y, típicamente,
se fija en cero. El campo de Código VCP de MCCS comprende 2 bytes
de información que especifican el Parámetro de Código de Control VCP
de MCCS. Un valor en la gama de 0 a 255 causa que se devuelva un
Paquete de Respuesta de Característica VCP con un único elemento en
la Lista de Respuesta de Característica VCP correspondiente al
código de MCCS especificado. Un Código VCP de MCCS de 65535
(Oxffff) solicita un Paquete de Respuesta de Característica VCP con
una Lista de Respuesta de Característica de VCP que contiene un
Elemento de Lista de Respuesta de Característica para cada control
que tenga soporte por parte del cliente. Los valores de 256 hasta
65534 para este campo están reservados para uso futuro y
actualmente no se utilizan.
El Paquete de Respuesta de Característica VCP
proporciona un medio, mecanismo o procedimiento para que un cliente
responda a una solicitud del servidor con la configuración actual de
un parámetro de control específico, o de todos los parámetros de
control válidos. Generalmente, el cliente envía el Paquete de
Respuesta de Característica VCP en respuesta al Paquete de
Solicitud de Característica VCP. Este paquete es útil para
determinar la configuración actual de un parámetro específico, para
determinar la gama válida para un control específico, para
determinar si un control específico dispone de soporte por parte
del cliente, o para determinar el conjunto de controles que cuentan
con soporte por parte del cliente. Si se envía una Solicitud de
Característica VCP que hace referencia a un control específico que
no está implementado en el cliente, entonces se devuelve el Paquete
de Respuesta de Característica de VCP con un único elemento de la
Lista de Respuesta de Característica VCP, correspondiente al
control no implementado que contiene el código de error adecuado. En
una realización, el cliente indica una capacidad para brindar
soporte al Paquete de Respuesta de Característica VCP utilizando el
bit 20 del campo de Indicadores de Capacidad de Característica de
Visor del Paquete de Capacidad de Cliente.
El formato del Paquete de Respuesta de
Característica VCP, en una realización, se muestra en la Fig. 70.
Como se ve en la Fig. 70, este tipo de paquete está estructurado
para tener campos de Longitud de Paquete, Tipo de Paquete,
Identificador de cCliente, Versión de MCCS, Número de Secuencia de
Respuesta, Lista de Respuesta de Característica VCP y CRC. Este
tipo de paquete se identifica generalmente en una realización como
un Tipo 129, según lo indicado en el campo de tipo de 2 bytes.
El campo Identificador de cCliente contiene
información reservada para un Identificador de Cliente. Este campo
está reservado para uso futuro y generalmente se fija en cero. El
campo Versión de MCCS contiene 2 bytes de información que
especifica la Versión de la Especificación de MCCS de VESA
implementada por el cliente.
El campo Número de Secuencia de Respuesta de 2
bytes contiene información o datos que especifican el número de
secuencia de los Paquetes de Respuesta de Característica de VCP
devueltos por el cliente. El cliente devuelve uno o más Paquetes de
Respuesta de Característica de VCP en respuesta a un Paquete de
Solicitud de Característica VCP, con un valor del Código de Control
de MCCS igual a 65535. El cliente puede dispersar la lista de
respuesta de características entre múltiples Paquetes de Respuesta
de Característica VCP. En este caso, el cliente asigna un número de
secuencia a cada paquete sucesivo, y los números de secuencia de los
Paquetes de Respuesta de Característica VCP, enviados en respuesta
a un único Paquete de Solicitud de Característica VCP, comienzan en
cero y se incrementan de a uno. El último Elemento de la Lista de
Características VCP en el último Paquete de Respuesta de
Característica VCP debería contener un valor del Código de Control
de VCP de MCCS igual a Oxffff, para identificar que el paquete es
el último y que contiene el número más alto de secuencia del grupo
de paquetes devueltos. Si sólo se envía un Paquete de Respuesta de
Característica VCP en respuesta a un Paquete de Solicitud de
Característica VCP, entonces el Número de Secuencia de Respuesta en
ese único paquete es cero, y la Lista de Respuesta de
Característica VCP contiene un registro con un Código de Control de
VCP de MCCS igual a 0xffff.
El campo Número de Características en la Lista
contiene 2 bytes que especifican el número de Elementos de la Lista
de Características VCP que están en la Lista de Respuesta de
Característica VCP en este paquete, mientras que el campo Lista de
Respuesta de Característica VCP es un grupo de bytes que contienen
uno o más Elementos de la Lista de Respuesta de Característica VCP.
El formato de un único Elemento de la Lista de Respuesta de
Característica VCP en una realización se muestra en la Fig. 71.
Como se muestra en la Fig. 71, cada Elemento de
la Lista de Respuesta de Característica VCP tiene exactamente 12
bytes de largo, y comprende los campos Código VCP de MCCS, Código de
Resultado, Valor Máximo y Valor Actual. El campo de 2 bytes Código
VCP de MCCS contiene datos o información que especifica el Parámetro
del Código de Control VCP de MCCS asociado a este elemento de la
lista. Sólo los valores de Códigos de Control definidos en la
versión 2 de la Especificación de MCCS de VESA, y posteriores, se
consideran válidos. El campo de 2 bytes Código de Resultado
contiene información que especifica un código de error relacionado
con la solicitud de información con respecto al Control de VCP de
MCCS especificado. Un valor de `0' en este campo significa que no
hay ningún error, mientras que un valor de `1' significa que el
control especificado no está implementado en el cliente. Los
valores adicionales para este campo, entre 2 y 65535, están
actualmente reservados para el futuro uso e implementación de otras
aplicaciones contempladas en la técnica, pero no deben usarse por
ahora.
El campo de 4 bytes Valor Máximo contiene un
entero sin signo de 32 bits que especifica el más grande valor
posible que puede asignarse al Control de MCCS especificado. Si el
control solicitado no está implementado en el cliente, este valor
se fija en cero. Si el valor devuelto tiene menos de 32 bits (4
bytes) de longitud, entonces el valor se coloca en un entero de 32
bits, dejando los bytes más significativos (no utilizados) fijados
en cero. El campo de 4 bytes Valor Actual contiene información que
especifica el valor actual del control especificado, Continuo (C) o
no continuo (NC), del VCP del MCCS. Si el control solicitado no está
implementado en el cliente, o si el control está implementado pero
es un tipo de datos de tabla (T), entonces este valor se fija en
cero. Si el valor devuelto tiene menos de 32 bits (4 bytes) de
longitud según la especificación del MCCS de VESA, entonces el
valor se coloca en un entero de 32 bits, dejando los bytes más
significativos (no utilizados) fijados en cero.
El Paquete de Fijación de Característica de VCP
proporciona un medio, mecanismo o procedimiento para que un
servidor fije valores de control de VCP para controles tanto
continuos como no continuos en un cliente. En una realización, el
cliente indica la capacidad de brindar soporte al Paquete de
Fijación de Característica VCP utilizando el bit 20 del campo de
Indicadores de Capacidad de Característica de Visor del Paquete de
Capacidad de Cliente.
El formato del Paquete de Fijación de
Característica VCP, en una realización, se muestra en la Fig. 72.
Como se ve en la Fig. 72, este tipo de paquete está estructurado
para tener los campos Longitud de Paquete, Tipo de Paquete,
Identificador de hCliente, Código de VCP del MCCS, Número de Valores
en la Lista, Lista de Valores de Control y CRC. Este tipo de
paquete se identifica generalmente como un Tipo 130, según lo
indicado en el campo de tipo de 2 bytes, y tiene 20 bytes de largo,
excluyendo el campo de Longitud de Paquete.
El campo Identificador de hCliente utiliza de
nuevo un valor de 2 bytes para especificar o actuar como un
Identificador de Cliente. Este campo está reservado para uso futuro
y actualmente está fijado en cero. El campo Código de VCP del MCCS
utiliza 2 bytes de información o valores para especificar el
Parámetro de Código de Control de VCP del MCCS a ajustar. El campo
de 2 bytes Número de Valores en la Lista contiene información o
valores que especifican el número de valores de 16 bits que existen
en la Lista de Valores de Control. La Lista de Valores de Control
usualmente contendrá un elemento, a menos que el Código de Control
del MCCS se refiera a una tabla en el cliente. En el caso de
controles no referidos a tablas, la Lista de Valores de Control
contendrá un valor que especifica el nuevo valor a grabar en el
parámetro de control especificado por el campo Código de VCP del
MCCS. Para controles referidos a tablas, el formato de los datos en
la Lista de Valores de Control está especificado por la descripción
del parámetro del Código de VCP del MCCS especificado. Si la lista
contiene valores que son más grandes que un byte, entonces se
transmite primero el byte menos significativo, en coherencia con el
principio definido en otro sitio. Finalmente, el campo CRC de 2
bytes contiene un CRC de 16 bits de todos los bytes en el paquete,
incluyendo la Longitud de Paquete.
\newpage
El Paquete de Solicitud de Parámetro Válido se
emplea como un medio o mecanismo para solicitar que un cliente
devuelva un Paquete de Respuesta de Parámetro Válido que contenga
una lista de parámetros con soporte por parte del control
especificado, no continuo (NC) o de tabla (T). Este paquete sólo
debería especificar controles no continuos, o controles que se
refieran a una tabla en el cliente, y no especificar un valor de
Código de VCP del MCCS igual a 65535 (0xffff) para especificar
todos los controles. Si se especifica un Código de VCP del MCCS sin
soporte, o inválido, entonces se devuelve un valor de error adecuado
en el Paquete de Respuesta de Parámetro Válido. En una realización,
el cliente indica una capacidad para brindar soporte al Paquete de
Solicitud de Parámetro Válido utilizando el bit 20 del campo
Indicadores de Capacidad de Característica de Visor del Paquete de
Capacidad de Visor.
El formato del Paquete de Solicitud de Parámetro
Válido en una realización se muestra en la Fig. 73. Como se ve en
la Fig. 73, este tipo de paquete está estructurado para tener los
campos Longitud de Paquete, Tipo de Paquete, Identificador de
hCliente, Código de VCP del MCCS y CRC. Este tipo de paquete se
identifica generalmente en una realización como un Tipo 131, según
lo indicado en el campo de tipo de 2 bytes.
La longitud del paquete, según se indica en el
campo de Longitud de Paquete de 2 bytes, se fija generalmente para
tener un número total de bytes en el paquete, sin incluir el campo
de longitud del paquete de 8. El Identificador de hCliente
nuevamente especifica el Identificador de Cliente, pero está
actualmente reservado para uso futuro, como será evidente para
alguien experto en la técnica, y se fija en cero. El campo Código de
VCP del MCCS de 2 bytes contiene un valor que especifica el
Parámetro de Código de Control de VCP del MCCS no continuo a
consultar. El valor en este campo debería corresponder a un control
no continuo que está implementado en el cliente. Los valores entre
256 y 65535 (0xffff) están típicamente reservados o considerados
como inválidos, y se consideran como un control no implementado en
la respuesta de error.
Un Paquete de Respuesta de Parámetro Válido se
envía en respuesta a un Paquete de Solicitud de Parámetro Válido.
Se utiliza como un medio, procedimiento o mecanismo para identificar
las configuraciones válidas para un control no continuo de VCP del
MCCS, o un control que devuelve el contenido de una tabla. Si el
control se refiere a una tabla en el cliente, entonces la Lista de
Respuesta de Parámetros de VCP simplemente contiene la lista
específica de valores secuenciales de tablas que se solicitaron. Si
el contenido de la tabla no puede caber en un único Paquete de
Respuesta de Parámetro Válido, entonces múltiples paquetes, con
Números de Secuencia de Respuesta secuenciales pueden ser enviados
por el cliente. En una realización, un cliente indica una capacidad
para brindar soporte a un Paquete de Respuesta de Parámetro Válido
utilizando el bit 20 del campo Indicadores de Capacidad de
Característica de Visor del Paquete de Capacidad de Visor.
Un servidor puede solicitar el contenido de una
tabla de la siguiente manera: el servidor envía un Paquete de
Fijación de Característica de VCP que contiene los parámetros
necesarios o deseados, tales como el parámetro de
lectura/escritura, el desplazamiento de LUT y la selección de RGB;
luego, un Paquete de Solicitud de Parámetro Válido que especifica
el control deseado es enviado por el servidor; luego el cliente
devuelve uno o más Paquetes de Respuesta de Parámetro Válido que
contienen los datos de la tabla. Esta secuencia de operaciones
lleva a cabo una función similar a las de las funciones de lectura
de tablas descritas en el modelo de operación del MCCS.
Si un parámetro específico del cliente no
dispone de soporte por parte del cliente, entonces, en una
realización, el correspondiente campo de este paquete contendrá un
valor de 255. Para parámetros que se utilizan en el cliente, el
campo correspondiente debería contener un valor del parámetro en el
cliente.
El formato del Paquete de Respuesta de Parámetro
Válido, para una realización, se muestra en la Fig. 74. Como se ve
en la Fig. 74, este tipo de paquete está estructurado para tener los
campos Longitud de Paquete, Tipo de Paquete, Identificador de
cCliente, Código de VCP del MCCS, Código de Respuesta, Número de
Secuencia de Respuesta, Número de Valores en la Lista, Lista de
Respuesta de Parámetros de VCP y CRC. Este tipo de paquete se
identifica generalmente, para una realización, como un Tipo 132,
según se indica en el campo de tipo de 2 bytes.
El campo Identificador de cCliente está
reservado para el futuro Identificador de Cliente, como se conoce
de las exposiciones anteriores, mientras que el campo Código de VCP
del MCCS de 3 bytes contiene un valor que especifica un Parámetro
de Código de Control de VCP del MCCS, no continuo, que está descrito
por este paquete. Si un Código de Control de VCP del MCCS inválido
es especificado por un Paquete de Solicitud de Parámetro Válido,
entonces el mismo valor de parámetro inválido será especificado en
este campo con el valor adecuado en el campo Código de Respuesta.
Si el Código de Control del MCCS es inválido, entonces la Lista de
Respuesta de Parámetros de VCP tendrá longitud cero.
El campo Código de Respuesta contiene 2 bytes de
información o valores que especifican la naturaleza de la respuesta
relacionada con la solicitud de información con respecto al Control
de VCP del MCCS especificado. Si el valor en este campo es igual a
0, entonces se considera que no está presente ningún error para este
tipo de datos, y se envía el último Paquete de Respuesta de
Parámetro Válido en la secuencia, el que tenga el más alto Número
de Secuencia de Respuesta. Si el valor en este campo es igual a 1,
entonces se considera que no está presente ningún error, pero se
enviarán otros Paquetes de Respuesta de Parámetro Válido que tengan
números de secuencia más altos. Si el valor en este campo es igual a
2, entonces no se considera que el control especificado esté
implementado en el cliente. Si el valor en este campo es igual a 3,
entonces el control especificado no es un control no continuo (es
un control continuo que siempre tiene un conjunto válido de todos
los valores desde cero hasta su valor máximo). Los valores para este
campo, entre 4 y 65535, están reservados para uso futuro y
generalmente no deben utilizarse.
El campo Número de Secuencia de Respuesta de 2
bytes especifica el número de secuencia de los Paquetes de
Respuesta de Parámetro Válido devueltos por el cliente. El cliente
devuelve uno o más Paquetes de Respuesta de Parámetro Válido en
respuesta a un Paquete de Solicitud de Parámetro Válido. El cliente
puede dispersar la Lista de Respuesta de Parámetro VCP entre
múltiples Paquetes de Respuesta de Parámetro Válido. En este último
caso, el cliente asignará un número de secuencia a cada paquete
sucesivo, y fijará el Código de Respuesta en 1 en todos los
paquetes, excepto el último en la secuencia. El último Paquete de
Respuesta de Parámetro Válido en la secuencia tendrá el más alto
Número de Secuencia de Respuesta y el Código de Respuesta contendrá
un valor de 0.
El campo Número de Valores en la Lista, de 2
bytes, especifica el número de valores de 16 bits que existen en la
Lista de Respuesta de Parámetro VCP. Si el Código de Respuesta no es
igual a cero, entonces el parámetro Número de Valores en la Lista
es cero. El campo Lista de Respuesta de Parámetro VCP contiene una
lista de entre 0 y 32760 valores de 2 bytes que indican el conjunto
de valores válidos para el control no continuo especificado por el
campo Código de Control del MCCS. Las definiciones de los códigos de
control no continuos se especifican en la Especificación del MCCS
de VESA. Finalmente, en esta realización, el campo CRC contiene un
CRC de 16 bits de todos los bytes en el paquete, incluyendo la
Longitud de Paquete.
La interfaz MDD, y el protocolo y mecanismos
inventivos asociados, para comunicar datos por un enlace de
comunicaciones, brinda soporte para que múltiples planos de
imágenes se solapen y puedan tener grados variables de
transparencia. Puede implementarse un cursor de hardware utilizando
una imagen solapada que tiene un desplazamiento X-Y
variable. Se proporciona más adelante una visión general de la
funcionalidad del Alfa-Cursor y del soporte
protocolar asociado. La capacidad de brindar soporte a paquetes de
imágenes Alfa-Cursor se define en el Paquete de
Capacidad de Imagen Alfa-Cursor, que se envía en
respuesta a un Paquete de Solicitud de Estado Específico.
El Paquete de Capacidad de Imagen
Alfa-Cursor se utiliza para definir las
características de la imagen Alfa-Cursor y los
mapas de transparencia asociados en un cliente. En una realización,
un cliente indica una capacidad para brindar soporte a un Paquete
de Capacidad de Imagen Alfa-Cursor utilizando un
valor de parámetro de 133 en la Lista de Respuesta de Parámetro
Válido del Paquete de Lista de Respuesta de Estado Válido. La
longitud del paquete especificada en el campo de longitud del
paquete se establece en un valor fijo de 20 para una realización,
sin incluir el campo de longitud del paquete.
El formato del Paquete de Capacidad de Imagen
Alfa-Cursor para una realización se muestra en la
Fig. 75. Como se ve en la Fig. 75, este tipo de paquete está
estructurado para tener los campos Longitud de Paquete, Tipo de
Paquete, Identificador de cCliente, Identificador de
Alfa-Cursor, Ancho del Mapa de Bits de
Alfa-Cursor, Altura del Mapa de Bits de
Alfa-Cursor, Capacidad RGB, Capacidad Monocromática,
Reservado 1, Capacidad Y Cr Cb, Resolución del Mapa de
Transparencia, Bits de Capacidad y CRC. El campo Identificador de
cCliente está típicamente reservado para uso futuro de
Identificador de Cliente y está actualmente fijado en cero.
El campo Identificador de
Alfa-Cursor (2 bytes) contiene un valor que
identifica un plano alfa-cursor específico. Si el
cliente brinda soporte a n planos de imagen
alfa-cursor, entonces el Identificador de
Alfa-Cursor tiene una gama válida entre 0 y
n-1. En una realización, el valor n se especifica en
el campo Planos de Imagen Alfa-Cursor del Paquete
de Capacidad de Visor. El cliente devuelve un único Paquete de
Capacidad de Imagen Alfa-Cursor para cada plano de
imagen alfa-cursor.
El valor del campo Ancho del Mapa de Bits de
Alfa-Cursor, de 2 bytes, especifica el ancho de la
imagen de mapa de bits de alfa-cursor, expresado
como un número de píxeles, mientras que el valor del campo Altura
del Mapa de Bits de Alfa-Cursor, de 2 bytes,
especifica la altura de la imagen de mapa de bits de
alfa-cursor expresada como un número de
píxeles.
El campo Capacidad RGB utiliza 2 bytes para
especificar el número de bits de resolución que pueden visualizarse
en formato RGB. Si el cliente no puede utilizar el formato RGB,
entonces este valor es cero. La palabra de Capacidad RGB se compone
de tres valores distintos, que, en una realización, se implementan
de forma tal que: los Bits 3 a 0 definen el número máximo de bits
en azul (la intensidad azul) en cada píxel; los Bits 7 a 4 definen
el número máximo de bits de verde (la intensidad verde) en cada
píxel; los Bits 11 1 a 8 definen el número máximo de bits de rojo
(la intensidad roja) en cada píxel; y los Bits 15 a 12 se reservan
para uso futuro en la presentación de información de capacidad RGB,
por lo que generalmente se fijan en cero por ahora.
El campo Capacidad Monocromática, de 1 byte, se
utiliza para especificar el número de bits de resolución que pueden
visualizarse en formato monocromático. Si un cliente no puede
utilizar el formato monocromático, entonces este valor se fija en
cero. Los bits 7 a 4 están reservados para uso futuro y, por lo
tanto, se fijan generalmente en cero. Los bits 3 a 0 definen el
número máximo de bits de escala de grises que pueden existir en cada
píxel. Estos cuatro bits hacen posible especificar que cada píxel
consiste en 1 a 15 bits. Si el valor es cero, entonces el formato
monocromático no dispone de soporte por parte del cliente.
El campo Reservado 1, de 1 byte, contiene un
valor generalmente reservado para uso futuro y, como tal, todos los
bits en este campo se fijan en cero. Esto causará que los campos
subsiguientes de 2 bytes se alineen a una palabra de dirección de
16 bits y causará que los campos de 4 bytes se alineen a una palabra
de dirección de 32 bits.
El campo de Capacidad Y Cb Cr, de 2 bytes,
contiene valores o información que especifica el número de bits de
resolución que pueden visualizarse en formato Y Cb Cr. Si el cliente
no puede utilizar el formato Y Cr Cb, entonces este valor es cero.
Generalmente, en una realización, la palabra de Capacidad Y Cb Cr se
compone de tres valores distintos con: los Bits 3 a 0, que definen
un número máximo de bits que especifican la muestra Cr; los Bits 7
a 4, que definen el número máximo de bits que especifican la muestra
Cb; los Bits 11 a 8, que definen el número máximo de bits que
especifican la muestra Y; y los Bits 15 a 12, reservados para uso
futuro de la presentación de información o valores de Capacidad Y
Cb Cr, pero que actualmente están fijados en cero.
El campo de Resolución del Mapa de
Transparencia, de 1 byte, contiene valores o información que
especifica el número de bits (profundidad) en cada ubicación de
píxel del mapa de transparencia de la imagen
alfa-cursor. Este valor puede oscilar entre 1 y 8.
Si el valor es cero, entonces el mapa de transparencia no tiene
soporte para este almacén temporal de imágenes
alfa-cursor (el almacén temporal especificado por el
campo Identificador de Alfa-Cursor).
El campo Bits de Capacidad, de 1 byte,
proporciona valores o información que contienen un conjunto de
indicadores que especifican capacidades asociadas con el almacén
temporal de imágenes alfa-cursor. En una
realización, los indicadores están definidos de forma tal que: el
Bit 0 actúa para seleccionar que los datos de Píxeles en el Paquete
de Flujo de Vídeo Alfa-Cursor estén en formato
empaquetado. El Bit 1 actúa para mostrar que los datos del mapa de
transparencia en el Paquete de Transparencia
Alfa-Cursor están en un formato empaquetado. Un
ejemplo de datos de mapa de transparencia alineados por bytes, y
empaquetados, se muestra en la Fig. 76. El Bit 2 actúa para mostrar
que el plano de imagen alfa-cursor brinda soporte a
la capacidad de desplazamiento de imagen, utilizando el Paquete de
Desplazamiento de Imagen Alfa-Cursor. El Bit 3 actúa
para mostrar que el plano de imagen alfa-cursor
puede brindar soporte a un formato de datos de mapa de colores. Se
utiliza la misma tabla de mapa de colores para los planos de imagen
alfa-cursor que se utiliza para el principal almacén
temporal de imágenes y los flujos de vídeo escalado. El mapa de
colores se configura utilizando el Paquete de Mapa de Colores
descrito en otro sitio.
Los Bits 7 a 4 están reservados para uso futuro
y, por lo tanto, generalmente se fijan en un valor o nivel lógico
cero.
El Paquete de Mapa de Transparencia
Alfa-Cursor define el contenido del mapa de
transparencia de imágenes para el plano de imagen
alfa-cursor especificado. Algunas aplicaciones
pueden requerir un mapa de transparencia que sea mayor que la
cantidad de datos que pueden transmitirse en un único paquete. En
estos casos, pueden enviarse múltiples Paquetes de Mapa de
Transparencia Alfa-Cursor, cada uno con un
subconjunto distinto del mapa de transparencia, utilizando los
campos Inicio X e Y de Mapa de Transparencia, y descritos más
adelante. Estos campos funcionan de manera similar a la de los
campos Inicio X e Inicio Y del Paquete de Flujo de Vídeo. Un
cliente indica una capacidad de brindar soporte al Paquete de Mapa
de Transparencia Alfa-Cursor, en una realización,
utilizando el campo Resolución del Mapa de Transparencia del Paquete
de Capacidad de Imagen Alfa-Cursor para cada Plano
Alfa-Cursor específico especificado por el campo
Identificador de Alfa-Cursor del Paquete de
Capacidad de Imagen Alfa-Cursor. Los campos de
longitud de paquete e Identificador de Cliente funcionan como antes
para otros paquetes expuestos anteriormente. En una realización, se
utiliza una valor de 134 en el campo Tipo de Paquete para
identificar un paquete como un Paquete de Mapa de Transparencia
Alfa-Cursor.
El formato del Paquete de Mapa de Transparencia
Alfa-Cursor, para una realización, se muestra en la
Fig. 76. Como se ve en la Fig. 76, este tipo de paquete está
estructurado para tener los campos Longitud de Paquete, Tipo de
Paquete, Identificador de hCliente, Identificador de
Alfa-Cursor, Inicio X de Mapa de Transparencia,
Inicio Y de Mapa de Transparencia, Resolución de Mapa de
Transparencia, Reservado 1, CRC de Parámetros, Medios de Mapa de
Transparencia y CRC de Datos de Mapa de Transparencia.
El campo Identificador de
Alfa-Cursor, de 2 bytes, tiene un valor que
identifica un plano alfa-cursor específico. Si el
cliente brinda soporte a n planos de imagen
alfa-cursor, entonces el Identificador de
Alfa-Cursor tiene una gama válida entre 0 y
n-1.
Cada uno de los campos Inicio X e Y de Mapa de
Transparencia, de 2 bytes, especifica las coordinadas X e Y
absolutas, donde el punto (Inicio X de Mapa de Transparencia, Inicio
Y de Mapa de Transparencia) es el primer píxel en el campo Datos de
Mapa de Transparencia, a continuación.
El campo Resolución de Mapa de Transparencia (1
byte) contiene un valor que especifica la resolución del mapa de
transparencia, y si los datos están empaquetados o no. En una
realización de este campo, los Bits 3 a 0 definen el número de bits
de resolución que existen en todos los elementos de la tabla del
mapa de transparencia. Los valores válidos especifican que el ancho
sea de entre 1 y 8 bits. Los valores 0, y entre 9 y 15, se
consideran inválidos. Este valor debería coincidir con el valor
devuelto por un cliente en el campo Resolución de Mapa de
Transparencia en el Paquete Capacidad de Imagen
Alfa-Cursor. Los Bits 6 a 4 están reservados para
uso futuro y están, por lo tanto, se deben fijar generalmente en
cero lógico en este momento. El bit 7 de este byte especifica si
los Datos del Mapa de Transparencia están o no en formato
empaquetado o alineado por byte. Si el bit 7 es igual a `1',
entonces los Datos del Mapa de Transparencia están en forma
empaquetada, y si es igual a `0', los datos están alineados por
byte. Un ejemplo de datos de Mapa de Transparencia empaquetados y
alineados por byte se muestra en otro sitio. El valor de este bit
debe coincidir con el valor del bit 1 del campo Bits de Capacidad
del Paquete de Capacidad de Imagen Alfa-Cursor.
El campo Reservado 1, de 1 byte, está reservado
para uso futuro; por lo tanto, todos los bits en este campo están
generalmente fijados iguales a un nivel de cero lógico. Un fin de
este campo es causar que todos los campos subsiguientes de 2 bytes
se alineen a una palabra de dirección de 16 bits y causar que los
campos de 4 bytes se alineen a una palabra de dirección de 32
bits.
El campo CRC de Parámetros contiene un CRC de 16
bits de todos los bytes desde la Longitud de Paquete hasta el campo
Reservado 1. Si este CRC no confirma la comprobación, entonces debe
descartarse el paquete entero.
Para el campo Datos del Mapa de Transparencia,
cada ubicación del mapa de transferencia tiene entre 1 y 8 bits de
ancho. Si un único mapa de transferencia no cabe en un Paquete de
Mapa de Transferencia Alfa y Cursor, entonces puede especificarse
el mapa de transferencia entero enviando múltiples paquetes con
distintos valores de Datos de Mapa de Transferencia, y de Inicio X
e Y de Mapa de Transferencia, en cada paquete.
El campo CRC de Datos del Mapa de Transparencia,
de 2 bytes, contiene un CRC de 16 bits, sólo de los Datos del Mapa
de Transparencia. Si este CRC no confirma la comprobación, entonces
los Datos del Mapa de Transferencia pueden ser utilizados aún, pero
el total de errores de CRC se incrementará.
El Paquete de Desplazamiento de Imagen
Alfa-Cursor especifica el desplazamiento de X e Y
del cursor desde la esquina superior izquierda de la imagen del
visor principal. El formato del Paquete de Desplazamiento de Imagen
Alfa-Cursor se ilustra en la Fig. 77. Como se
muestra en la Fig. 77, en una realización, el Paquete de
Desplazamiento de Imagen Alfa-Cursor está
estructurado con los campos Longitud de Paquete, Tipo de Paquete,
Identificador de hCliente, Desplazamiento X de
Alfa-Cursor, Desplazamiento Y de
Alfa-Cursor y CRC. En una realización, un cliente
indica la capacidad de brindar soporte al Paquete de Desplazamiento
de Imagen Alfa-Cursor utilizando el bit 2 del campo
Bits de Capacidad del Paquete de Capacidad de Imagen de
Alfa-Cursor para cada Plano
Alfa-Cursor específico especificado por el campo
Identificador de Alfa-Cursor del Paquete de
Capacidad de Imagen Alfa-Cursor. En una
realización, la longitud del paquete se fija en 10, como se muestra
en el campo Longitud de Paquete de 2 bytes. En una realización, un
Tipo de Paquete de 135 identifica el paquete como un Paquete de
Desplazamiento de Imagen Alfa-Cursor.
Los campos Desplazamiento X e Y de
Alfa-Cursor, de 2 bytes, contienen valores que
especifican, respectivamente, los desplazamientos horizontal y
vertical de la columna más a la izquierda y de la primera fila, de
los píxeles de la imagen alfa-cursor, desde el lado
izquierdo y el extremo superior de la imagen principal. El campo
Identificador de hCliente, de 2 bytes, contiene un entero sin signo
de 16 bits reservado para el Identificador del Cliente. Este campo
está reservado para uso futuro y se fijará en cero.
El Paquete de Flujo de Vídeo
Alfa-Cursor lleva datos de vídeo para actualizar una
región rectangular de un plano de imagen
alfa-cursor. El tamaño de esta región puede ser tan
pequeño como el de un único píxel, o tan grande como el del visor
entero. El formato del Paquete de Flujo de Vídeo
Alfa-Cursor se ilustra en la Fig. 78. Como se
muestra en la Fig. 78, en una realización, el Paquete de Flujo de
Vídeo Alfa-Cursor está estructurado con los campos
Longitud de Paquete, Tipo de Paquete, Identificador de bCliente,
Atributos de Formato de Datos de Vídeo, Borde Izquierdo X, Borde
Superior Y, Borde Derecho X, Borde Inferior Y, Inicio X, Inicio Y,
Total de Píxeles, Crc de Parámetros, Datos de Píxeles y CRC de
Datos de Píxeles. En una realización, un cliente indica una
capacidad para brindar soporte al Paquete de Flujo de Vídeo
Alfa-Cursor y sus parámetros asociados utilizando
el Paquete de Capacidad de Imagen Alfa-Cursor para
cada Plano Alfa-Cursor específico especificado por
el campo Identificador de Alfa-Cursor del Paquete de
Capacidad de Imagen Alfa-Cursor, y un valor de 17
en el campo de tipo de paquete indica o identifica un paquete como
un Paquete de Flujo de Vídeo Alfa-Cursor. El campo
Identificador de hCliente (2 bytes) está reservado para uso futuro
como un Identificador de Cliente, y generalmente se fija en cero
mientras tanto, como será bien comprendido en la técnica.
El campo Descriptor de Formato de Datos de
Vídeo, de 2 bytes, contiene información o un valor que especifica
el formato de cada píxel en los Datos de Píxeles en el presente
flujo en el presente paquete. El formato de datos de píxeles debe
concordar con al menos uno de los formatos válidos para el plano de
imagen alfa-cursor, según lo definido en el Paquete
de Capacidad de Imagen Alfa-Cursor. El campo
Descriptor de Formato de Datos de Vídeo contiene un valor que
define el formato de píxeles para el paquete actual solamente, y no
implica que se continuará utilizando un formato constante durante
la vida útil de un flujo de vídeo específico. La Fig. 11 ilustra
cómo se codifica el Descriptor de Formato de Datos de Vídeo. El
formato es el siguiente:
En una realización, cuando los bits [15:13] son
`000', entonces los datos de vídeo consisten en una matriz de
píxeles monocromáticos, donde el número de bits por píxel está
definido por los bits 3 a 0 de la palabra del Descriptor de Formato
de Datos de Vídeo. Los Bits 11 a 4 se fijan entonces en cero. Cuando
los bits [15:13] son `001', entonces los datos de vídeo consisten
en una matriz de píxeles en color, cada uno de los cuales
especifica un color dentro de un mapa de colores (paleta). Los Bits
5 a 0 de la palabra del Descriptor de Datos de Vídeo definen el
número de bits por píxel, y los Bits 11 a 6 se fijan en cero. Cuando
los bits [15:13] son `010', entonces los datos de vídeo consisten
en una matriz de píxeles de color en formato RGB no procesado,
donde el número de bits por píxel del rojo está definido por los
bits 11 a 8, el número de bits por píxel del verde está definido
por los bits 7 a 4, y el número de bits por píxel del azul está
definido por los bits 3 a 0. El número total de bits en cada píxel
es la suma del número de bits utilizados para el rojo, el verde y
el azul.
Cuando los bits [15:13] son `011', entonces los
datos de vídeo consisten en una matriz de datos de vídeo en formato
4:2:2 Y Cb Cr, con información de luminosidad y cromaticidad. El
número de bits por píxel de luminosidad (Y) está definido por los
bits 11 a 8, el número de bits del componente Cb está definido por
los bits 7 a 4, y el número de bits del componente Cr está definido
por los bits 3 a 0. Los componentes Cb y Cr se envían a la mitad de
velocidad que Y. Las muestras de vídeo en la porción de Datos de
Píxeles de este paquete se organizarán de la siguiente manera: Cbn,
Yn, Cm, Yn+1, Cbn+2, Yn+2, Crn+2, Yn+3, ..., donde Cbn y Cm están
asociados a Yn e Yn+1, y Cbn+2 y Crn+2 están asociados a Yn+2 e
Yn+3, y así sucesivamente. Yn, Yn+1, Yn+2 e Yn+3 son valores de
luminosidad de cuatro píxeles consecutivos en una única fila, de
izquierda a derecha. El ordenamiento de los componentes cromáticos
es el mismo que el formato UYVY FOURCC de Microsoft. Si hay un
número impar de píxeles en una fila (X Borde
Derecho-X Borde Izquierdo + 1) en la ventana
mencionada por el Paquete de Flujo de Vídeo, entonces el valor de
Cb correspondiente al último píxel en cada fila estará seguido por
el valor de Y del primer píxel de la siguiente fila.
Se recomienda que las ventanas que utilizan el
formato Y Cb Cr tengan un ancho que sea un número par de píxeles.
Los Datos de Píxeles en un paquete contendrán un número par de
píxeles. Pueden contener un número impar o par de píxeles en el
caso en que el último píxel de los Datos de Píxeles corresponde al
último píxel de una fila en la ventana especificada en la cabecera
del Paquete de Flujo de Vídeo, es decir, cuando la ubicación X del
último píxel en los Datos de Píxeles es igual al Borde Derecho
X.
Para todos los cinco formatos, el bit 12
(indicado como "P" en las figuras) especifica si las muestras
de Datos de Píxeles están empaquetadas o no. Cuando el valor del
bit 12 es `0', entonces cada píxel y cada color dentro de cada
píxel en el campo Datos de Píxeles está alineado por byte con el
límite de byte de la interfaz MDDI. Cuando el valor del bit 12 es
`1', entonces cada píxel y cada color dentro de cada píxel en los
Datos de Píxeles está empaquetado con el píxel o color anterior
dentro de un píxel, sin dejar ningún bit no utilizado.
En una realización, el campo Atributos de Datos
de Píxeles (2 bytes) tiene una serie de valores de bit que se
interpretan de la siguiente manera. Los Bits 1 y 0 seleccionan cómo
se encaminan los datos de píxeles del visor. Para los valores de
bit `11', los datos se exhiben a, o para, ambos ojos, para los
valores de bit `10', los datos se encaminan sólo al ojo izquierdo,
y para los valores de bit `01', los datos se encaminan sólo al ojo
derecho.
El Bit 2 indica si los Datos de Píxeles se
presentan o no en un formato de entrelazado, donde un valor de `0'
significa que los datos de píxeles están en el formato progresivo
estándar, y que el número de fila (coordenada Y del píxel) se
incrementa en 1 cuando se avanza desde una fila a la siguiente.
Cuando este bit tiene un valor de `1', los datos de píxeles están
en el formato entrelazado, y el número de fila se incremente en 2 al
avanzar desde una fila a la siguiente. El Bit 3 indica que los
Datos de Píxeles están en un formato alternativo de píxel. Esto es
similar a la modalidad entrelazada estándar activada por el bit 2,
pero el entrelazado es vertical en lugar de horizontal. Cuando el
Bit 3 es `0', los Datos de Píxeles están en el formato progresivo
estándar, y el número de columna (coordenada X del píxel) se
incrementa en 1 según se recibe cada píxel sucesivo. Cuando el Bit
3 es `1', los Datos de Píxeles están en un formato alternativo de
píxel, y el número de columna se incrementa en 2 según se recibe
cada píxel.
El Bit 4 indica si los Datos de Píxeles están o
no relacionados con un visor o una cámara, como cuando los datos
están siendo transferidos a o desde un visor interno para un
teléfono inalámbrico o dispositivo similar, o incluso un ordenador
portátil, u otros dispositivos tales como los expuestos
anteriormente, o bien los datos están siendo transferidos a o desde
una cámara integrada en o directamente acoplada al dispositivo.
Cuando el Bit 4 es `0', los Datos de Píxeles están siendo
transferidos a o desde un almacén temporal de tramas de pantalla.
Cuando el Bit 4 es `1', los Datos de Píxeles están siendo
transferidos a o desde una cámara o dispositivo de vídeo de algún
tipo, siendo tales dispositivos bien conocidos en la técnica.
El Bit 5 está reservado para uso o aplicaciones
futuras de la interfaz MDD y, por lo tanto, generalmente se fija en
el valor `0'.
Los Bits 7 y 6 son Bits de Actualización de
Visor que especifican un almacén temporal de tramas donde han de
grabarse los datos de píxeles. Los efectos más específicos se
exponen en otra parte. Para valores de bit de `01', los Datos de
Píxeles se graban en el almacén temporal de imágenes fuera de línea.
Para valores de bit de `00', los Datos de Píxeles se graban en el
almacén temporal de imágenes utilizado para refrescar el visor.
Para valores de bit de `11', los Datos de Píxeles se graban en todos
los almacenes temporales de imágenes. Los valores, o combinación,
de bits de `10' se tratan como un valor o asignación inválida, y los
Datos de Píxeles se ignoran y no se graban en ninguno de los
almacenes temporales de imágenes. Este valor puede tener uso para
aplicaciones futuras de la interfaz.
Los Bits 8 a 15 están reservados para uso futuro
y, por lo tanto, generalmente se fijan en cero.
En una realización, los campos Inicio X e Inicio
Y, de 2 bytes, especifican las coordenadas absolutas X e Y del
punto (Inicio X, Inicio Y) para el primer píxel en al campo Datos de
Píxeles. Los campos Borde Izquierdo X y Borde Superior Y, de 2
bytes, especifican la coordenada X del borde izquierdo y la
coordenada Y del borde superior de la ventana de imagen
alfa-cursor rellenada por el campo Datos de Píxeles,
mientras que los campos Borde Derecho X y Borde Inferior Y
especifican la coordenada X del borde derecho, y la coordenada Y del
borde inferior de la ventana de imagen alfa-cursor
que está siendo actualizada.
El campo Total de Píxeles (2 bytes) especifica
el número de píxeles en el campo Datos de Píxeles a
continuación.
El campo CRC de Parámetros, de 2 bytes, contiene
un CRC de todos los bytes desde la Longitud de Paquete hasta el
Total de Píxeles. Si este CRC no verifica la comprobación, entonces
se descarta el paquete entero.
El campo Datos de Píxeles contiene la
información de vídeo en bruto que ha de visualizarse, y que está
formateada de la manera descrita por el campo Descriptor de Formato
de Datos de Vídeo. Los datos se transmiten de a una "fila" por
vez, según se expone en otro sitio.
El campo CRC de Datos de Píxeles (2 bytes)
contiene un CRC de 16 bits sólo de los Datos de Píxeles. Si falla
una verificación de CRC de este valor, entonces los Datos de Píxeles
aún pueden emplearse, pero el contador de errores de CRC se
incrementa.
La Interfaz MDD, o el mecanismo protocolar, o el
procedimiento, proporciona soporte para imágenes de flujo de vídeo
escalado, que permiten al servidor enviar una imagen al cliente que
está en escala mayor o menor que la imagen original, y la imagen
escalada se copia a un almacén temporal principal de imágenes. Una
visión general de la funcionalidad del Flujo de Vídeo Escalado y
del soporte protocolar asociado se proporciona en otro sitio. Una
capacidad para brindar soporte a flujos de vídeo escalados está
definida por, o dentro de, el Paquete de Capacidad de Flujo de
Vídeo Escalado, que se envía en respuesta a un Paquete de Solicitud
de Estado Específico.
El Paquete de Capacidad de Flujo de Vídeo
Escalado define las características de la imagen fuente de flujo de
vídeo escalado en, o utilizado por, un cliente. El formato del
Paquete de Capacidad de Flujo de Vídeo Escalado se muestra, en
general, en la Fig. 79. Como se ve en la Fig. 79, en una
realización, un Paquete de Capacidad de Flujo de Vídeo Escalado
está estructurado para tener los campos Longitud de Paquete, Tipo de
Paquete, Identificador de cCliente, Número Máximo de Flujos, Tamaño
X Máximo de Fuente, Tamaño Y Máximo de Fuente, Capacidad RGB,
Capacidad Monocromática, Reservado 1, Capacidad Y Cr Cb, Reservado 2
y CRC. La longitud del paquete, en una realización, se selecciona
para que tenga un valor de 20 bytes fijos, según se muestra en el
campo de longitud, incluyendo el campo Identificador de cCliente,
de 2 bytes, que está reservado para el uso de un Identificador de
Cliente, y que en otro caso se fija en cero, y el campo CRC. En una
realización, el cliente indica una capacidad para brindar soporte
al Paquete de Capacidad de Flujo de Vídeo Escalado, utilizando un
valor de parámetro de 143 en la Lista de Respuesta de Parámetro
Válido del Paquete de Lista de Respuesta de Estado Válido.
El campo Número Máximo de Flujos, de 2 bytes,
contiene un valor para identificar el máximo número de flujos
simultáneos de vídeo escalado que pueden adjudicarse a la vez. En
una realización, un cliente debería denegar una solicitud para
adjudicar un flujo de vídeo escalado si ya está adjudicado el número
máximo de flujos de vídeo escalado. Si se han adjudicado menos del
número máximo de flujos de vídeo escalado, el cliente también puede
denegar la solicitud de adjudicación, basándose en otras
limitaciones de recursos en el cliente.
Los campos Tamaño X e Y Máximo de Fuente (2
bytes) especifican valores para el ancho y altura máximos,
respectivamente, de la imagen fuente de flujo de vídeo escalado,
expresados como un número de píxeles.
El campo Capacidad RGB utiliza valores para
especificar el número de bits de resolución que pueden visualizarse
en formato RGB. Si el flujo de vídeo escalado no puede utilizar el
formato RGB, entonces este valor se fija igual a cero. La palabra
de Capacidad RGB está compuesta por tres valores sin signo
distintos, donde: los Bits 3 a 0 definen un número máximo de bits
de azul (la intensidad azul) en cada píxel, los Bits 7 a 4 definen
el número máximo de bits de verde (la intensidad verde) en cada
píxel, y los Bits 11 a 8 definen el número máximo de bits de rojo
(la intensidad roja) en cada píxel, mientras que los Bits 15 a 12
están reservados para uso futuro, en futuras definiciones de
capacidad y, generalmente, se fijan en cero.
El campo Capacidad Monocromática, de 1 byte,
contiene un valor que especifica el número de bits de resolución
que pueden visualizarse en formato monocromático. Si el flujo de
vídeo escalado no puede utilizar el formato monocromático, entonces
este valor se fija en cero. Los Bits 7 a 4 están reservados para uso
futuro y, por lo tanto, deberían fijarse en cero (`0') para las
aplicaciones actuales, aunque esto puede cambiar a lo largo del
tiempo, como apreciarán los expertos en la técnica. Los Bits 3 a 0
definen el número máximo de bits de escala de grises que pueden
existir en cada píxel. Estos cuatro bits hacen posible especificar
que cada píxel consiste en 1 a 15 bits. Si el valor es cero,
entonces el formato monocromático no dispone de soporte por parte
del flujo de vídeo escalado.
El campo Reservado 1 (aquí, 1 byte) está
reservado para uso futuro, proporcionando valores relacionados con
la información o datos del Paquete de Flujo de Vídeo Escalado. Por
lo tanto, actualmente, todos los bits en este campo se fijan en un
`0' lógico. Un fin de este campo es causar que todos los campos
subsiguientes de 2 bytes se alineen a una palabra de dirección de
16 bits, y causar que los campos de 4 bytes se alineen a una
palabra de dirección de 32 bits.
El campo Capacidad Y Cb Cr, de 2 bytes, contiene
valores que especifican el número de bits de resolución que pueden
visualizarse en formato Y Cb Cr. Si el flujo de vídeo escalado no
puede utilizar entonces el formato Cb Cr, entonces este valor es
cero. La palabra de Capacidad Y Cb Cr está compuesta por tres
valores sin signo distintos, donde: los Bits 3 a 0 definen el
máximo número de bits que especifican la muestra Cr; los Bits 7 a 4
definen el número máximo de bits que especifican la muestra Cb; los
Bits 11 a 8 definen el número máximo de bits que especifican la
muestra Y; estando los Bits 15 a 12 reservados para uso futuro, y
generalmente fijados en cero.
El campo Bits de Capacidad, de 1 byte, contiene
un conjunto de indicadores que especifican capacidades asociadas al
flujo de vídeo escalado. Los indicadores se definen de la manera
siguiente: el Bit 0 indica que los Datos de Píxeles en el Paquete
de Flujo Escalado pueden estar en formato empaquetado. Un ejemplo de
datos de píxeles empaquetados y alineados por byte se muestra
anteriormente en la Fig. 12. El Bit 1 está reservado para uso
futuro y se fijará en cero; el Bit 2 está reservado para uso futuro
y se fijará en cero; el Bit 3 indica flujos de vídeo escalado que
pueden especificarse en el formato de datos de mapa de colores. Se
utiliza la misma tabla de mapa de colores para los flujos de vídeo
escalado que la que se emplea para el almacén temporal principal de
imágenes y los planos de imagen alfa-cursor. El mapa
de colores se configura utilizando el Paquete de Mapa de Colores
descrito en otro sitio; y los Bits 7 a 4 están reservados para uso
futuro y generalmente se fijan en cero.
El campo Reservado 2 (aquí, 1 byte) está
reservado para uso futuro, proporcionando valores relacionados con
la información o datos del Paquete de Flujo de Vídeo Escalado. Por
lo tanto, actualmente, todos los bits en este campo se fijan en un
`0' lógico. Un fin de este campo es causar que todos los campos
subsiguientes de 2 bytes se alineen a una palabra de dirección de
16 bits, y causar que los campos de 4 bytes se alineen a una
palabra de dirección de 32 bits.
El Paquete de Configuración de Flujo de Vídeo
Escalado se utiliza para definir los parámetros del flujo de vídeo
escalado, y el cliente emplea la información para adjudicar
almacenamiento interno, para el almacenamiento temporal y
escalamiento de la imagen. Un flujo puede ser desasignado enviando
este paquete con los campos Tamaño de Imagen X y Tamaño de Imagen Y
iguales a cero. Los flujos de vídeo escalado que han sido
desasignados pueden reasignarse más tarde con los mismos, o
distintos, parámetros de flujo. En una realización, un cliente
muestra una capacidad de brindar soporte al Paquete de Configuración
de Vídeo Escalado utilizando un valor de parámetro de 143 en la
Lista de Respuesta de Parámetro Válido del Paquete de Lista de
Respuesta de Parámetro Válido, y utilizando un valor distinto de
cero en el campo Número Máximo de Flujos del Paquete de Capacidad
de Flujo de Vídeo Escalado.
El formato del Paquete de Configuración de Flujo
de Vídeo Escalado se muestra, en general, en la Fig. 80. Como se ve
en la Fig. 80, en una realización, un Paquete de Configuración de
Flujo de Vídeo Escalado está estructurado para tener los campos
Longitud de Paquete Tipo de Paquete, hCliente, Identificador de
Flujo, Descriptor de Formato de Datos Visuales, Atributos de Datos
de Píxeles, Borde Izquierdo X, Borde Superior Y, Borde derecho X,
Borde Inferior Y, Tamaño de Imagen X, Tamaño de Imagen Y y CRC.
El campo Longitud de Paquete, de 2 bytes,
especifica el número total de bytes en el paquete, sin incluir el
campo de longitud de paquete. En una realización, esta longitud de
paquete se fija en 24. El campo de Tipo de Paquete, de 2 bytes,
emplea un valor de 136 para identificar el paquete como un Paquete
de Configuración de Flujo de Vídeo Escalado. El campo Identificador
de hCliente, de 2 bytes, está reservado para uso futuro como
Identificador de Cliente y, por lo general, se fija en un valor cero
de momento, o hasta que un usuario del protocolo determine qué
valores de Identificador deben utilizarse, como se sabe.
El campo Identificador de Flujo utiliza 2 bytes
para especificar un identificador único para el Identificador de
Flujo. Este valor es asignado por el servidor, y variará entre cero
y el máximo valor de Identificador de Flujo especificado en el
Paquete de Capacidad de Visor. El servidor debe administrar el uso
de los valores de Identificador de Flujo cuidadosamente, para
garantizar que a cada flujo activo se le asigna un valor único, y
que los flujos que ya no están activos son desasignados o
reasignados.
En una realización, el campo Descriptor de
Formato de Datos de Vídeo utiliza 2 bytes para especificar el
formato de cada píxel en los Datos de Píxeles en el presente flujo
y en el presente paquete. El formato de datos de píxeles debería
ser conforme con al menos uno de los formatos válidos para el plano
de imagen alfa-cursor, según lo definido en el
Paquete de Capacidad de Imagen Alfa-Cursor. El
Descriptor de Formato de Datos de Vídeo define el formato de píxel
sólo para el paquete actual y no implica que se continuará
utilizando un formato constante durante la vida útil de un flujo de
vídeo específico. La Fig. 11 ilustra una realización de cómo se
codifica el Descriptor de Formato de Datos de Vídeo, como se ha
expuesto anteriormente para otros paquetes.
El campo Atributos de Datos de Píxeles, de 2
bytes, tiene valores que se interpretan de la siguiente manera:
Los Bits 1 y 0 seleccionan el visor adonde se
encaminarán los datos de píxeles.
Bits [1:0] = 11 o 00: los datos se exhiben a
ambos ojos
Bits [1:0] = 10: los datos se encaminan sólo al
ojo izquierdo.
Bits [1:0] = 01: los datos se encaminan sólo al
ojo derecho.
El Bit 2 indica si los Datos de Píxeles están o
no en formato entrelazado. Cuando el Bit 2 es 0, entonces los Datos
de Píxeles están en el formato progresivo estándar. El número de
fila (coordenada Y del píxel) se incrementará en 1 al avanzar desde
una fila a la próxima. Cuando el Bit 2 es 1, entonces los Datos de
Píxeles están en formato entrelazado. El número de fila (coordenada
Y del píxel) se incrementará en 2 al avanzar desde una fila a la
siguiente.
El Bit 3 indica si los Datos de Píxeles están o
no en formato de píxeles alternativo. Esto es similar a la
modalidad de entrelazado estándar activada por el bit 2, pero el
entrelazado es vertical en lugar de horizontal. Cuando el Bit 3 es
0, los Datos de Píxeles están en el formato progresivo estándar. El
número de columna (coordenada X del píxel) se incrementará en 1
según se recibe cada píxel sucesivo. Cuando el Bit 3 es 1, entonces
los Datos de Píxeles están en un formato de píxel alternativo. El
número de columna (coordenada X del píxel) se incrementará en 2
según se recibe cada píxel.
El Bit 4 indica si los Datos de Píxeles están
relacionados o no con el visor o la cámara. Cuando el Bit 4 es 0,
los Datos de Píxeles van a, o vienen desde, el almacén temporal de
tramas de pantalla. Cuando el Bit 4 es 1, los Datos de Píxeles van
a, o vienen desde, la cámara.
El Bit 5 está reservado para uso futuro y, por
lo tanto, se fija generalmente en cero.
Los Bits 7 y 6 son los Bits de Actualización de
Visor que especifican el almacén temporal de tramas donde se
grabarán los datos de píxeles. Los efectos de los Bits de
Actualización se describen en más detalle en otro sitio. Cuando los
Bits [7:6] son `01', los Datos de Píxeles se graban en el almacén
temporal de imágenes fuera de línea. Cuando los Bits [7:6] son
`00', los Datos de Píxeles se graban en el almacén temporal de
imágenes utilizado para refrescar el visor. Cuando los Bits [7:6]
son `11', los Datos de Píxeles se graban en todos los almacenes
temporales de imágenes. Si los Bits [7:6] son `10', esto se trata
como un valor inválido. Estos bits están actualmente reservados
para uso futuro. En esta situación, los Datos de Píxeles serían
ignorados y no se grabarían en ninguno de los almacenes temporales
de imágenes.
Los Bits 8 a 15 están reservados para uso futuro
y se fijarán en cero.
Los campos Borde Izquierdo X, Borde Superior Y,
Borde Derecho X, Borde Inferior Y, de 2 bytes, especifican,
respectivamente, la coordenada X del borde izquierdo, la coordenada
Y del borde superior, la coordenada X del borde derecho y el borde
inferior de la imagen de destino. Los campos Tamaño de Imagen X y
Tamaño de Imagen Y, de 2 bytes, especifican el ancho y la altura,
respectivamente, de la imagen fuente. El campo CRC, nuevamente,
contiene un CRC de todos los bytes en el paquete, incluyendo la
Longitud de Paquete.
El Paquete de Acuse de Recibo de Flujo de Vídeo
Escalado permite a un cliente acusar recibo de la recepción de un
Paquete de Configuración de Flujo de Vídeo Escalado. El cliente
indicará su capacidad de brindar soporte al Paquete de Acuse de
Recibo de Flujo de Vídeo Escalado mediante un valor de parámetro de
143 en la Lista de Respuesta de Parámetro Válido del Paquete de
Lista de Respuesta de Estado Válido, y mediante un valor distinto
de cero en el campo Número Máximo de Flujos del Paquete de Capacidad
de Flujo de Vídeo Escalado.
El formato del Paquete de Acuse de Recibo de
Flujo de Vídeo Escalado se muestra, en general, en la Fig. 81. Como
se ve en la Fig. 81, en una realización, un Paquete de Acuse de
Recibo de Flujo de Vídeo Escalado está estructurado para tener los
campos Longitud de Paquete, Tipo de Paquete, cCliente, Identificador
de Flujo, Código de Acuse de Recibo y CRC. El campo Longitud de
Paquete, de 2 bytes, se utiliza para especificar el número total de
bytes, excluyendo el campo de longitud de paquete, con un valor de
10 para este tipo de paquete, mientras que un Tipo de Paquete de
137 identifica un paquete como un Paquete de Acuse de Recibo de
Flujo de Vídeo Escalado.
El campo Identificador de cCliente, de 2 bytes,
está reservado para uso futuro del Identificador de Cliente, y
generalmente se fija en cero. El campo Identificador de Flujo, de 2
bytes, especifica un identificador único para el Identificador de
Flujo. Este es el mismo valor asignado por el servidor en el Paquete
de Configuración de Flujo de Vídeo Escalado.
El campo de Código de Acuse de Recibo, de 2
bytes, proporciona valores que contienen un código que describe el
resultado de un intento de actualizar el flujo de vídeo escalado
especificado. En una realización, los códigos se definen de la
siguiente manera:
- 0 -
- El intento de asignación del flujo tuvo éxito.
- 1 -
- el intento de desasignación del flujo tuvo éxito.
- 2 -
- intento inválido de asignar un Identificador de flujo que ya ha sido asignado.
- 3 -
- intento inválido de desasignar un Identificador de flujo que ya está desasignado.
- 4 -
- el cliente no presta soporte a flujos de vídeo escalado
- 5 -
- los parámetros de flujo son incoherentes con la capacidad del cliente.
- 6 -
- valor de Identificador de flujo mayor que el valor máximo permitido por el cliente.
- 7 -
- recursos insuficientes disponibles en el cliente para asignar el flujo especificado.
\vskip1.000000\baselineskip
El campo CRC, de 2 bytes, contiene el CRC de
todos los bytes en el paquete, incluyendo la Longitud de
Paquete.
El Paquete de Flujo de Vídeo Escalado se utiliza
para transmitir los datos de píxeles asociados a un flujo
específico de vídeo escalado. El tamaño de la región mencionada por
este paquete está definido por el Paquete de Configuración de Flujo
de Vídeo Escalado. El cliente indicará su capacidad de prestar
soporte al Paquete de Flujo de Vídeo Escalado mediante un valor de
parámetro de 143 en la Lista de Respuesta de Parámetro Válido del
Paquete de Lista de Respuesta de Estado Válido, y utilizando una
respuesta de asignación exitosa de flujo de vídeo escalado en al
campo Código de Acuse de Recibo del Paquete de Acuse de Recibo de
Flujo de Vídeo Escalado.
El formato de una realización del Paquete de
Flujo de Vídeo Escalado se muestra, en general, en la Fig. 82. Como
se ve en la Fig. 82, un Paquete de Flujo de Vídeo Escalado está
estructurado para tener los campos Longitud de Paquete, Tipo de
Paquete, Identificador de hCliente, Identificador de Flujo, CRC de
Parámetros, Total de Píxeles, Datos de Píxeles y CRC de Datos de
Píxeles. El campo Tipo de Paquete, de 2 bytes, utiliza un valor de
18 para identificar un paquete como un Paquete de Flujo de Vídeo
Escalado. El campo Identificador de hCliente está reservado para el
Identificador de Cliente y, generalmente, se fija en cero. Como
antes, el campo Identificador de Flujo, de 2 bytes, especifica un
identificador único para el Identificador de Flujo. Este valor es
especificado por el servidor en el Paquete de Configuración de
Flujo de Vídeo Escalado, y confirmado en el Paquete de Acuse de
Recibo de Flujo de Vídeo Escalado.
El campo Total de Píxeles, de 2 bytes,
especifica el número de píxeles en el campo Datos de Píxeles a
continuación. El campo CRC de Parámetros, de 2 bytes, tiene el CRC
de todos los bytes desde la Longitud de Paquete hasta el Total de
Píxeles. Si este CRC no confirma la comprobación, entonces se
descartará el paquete entero. El campo Datos de Píxeles, de 2
bytes, contiene la información de vídeo en bruto que debe ser
escalada y luego visualizada. Los datos se formatean de la manera
descrita por el campo Descriptor de Formato de Datos de Vídeo. Los
datos se transmiten de a una fila por vez, según lo anteriormente
definido.
El campo CRC de Datos de Píxeles, de 2 bytes,
contiene un CRC sólo de los Datos de Píxeles. Si este CRC no
confirma la comprobación, entonces los Datos de Píxeles se
utilizarán aún así, pero el total de errores de CRC se
incrementará.
El Paquete de Solicitud de Estado Específico
proporciona un medio, mecanismo o procedimiento para que un servidor
solicite que el cliente envíe de vuelta un paquete de capacidad o
estado al servidor, según lo especificado en este paquete. El
cliente devuelve el paquete del tipo especificado en el siguiente
Paquete de Encapsulación de Enlace Inverso. El cliente fijará el
bit 17 en el campo Capacidad de Característica de Cliente del
Paquete de Capacidad de Cliente si el cliente tiene la capacidad de
responder al Paquete de Solicitud de Estado Específico. El cliente
debe indicar su capacidad de prestar soporte al Paquete de Solicitud
de Estado Específico utilizando el bit 21 del campo de Capacidad de
Característica de Cliente del Paquete de Capacidad de Cliente.
El formato de una realización de un Paquete de
Solicitud de Estado Específico se muestra, en general, en la Fig.
83. Como se ve en la Fig. 83, un Paquete de Solicitud de Estado
Específico está estructurado para tener los campos de Longitud de
Paquete, Tipo de Paquete, Identificador de hCliente, Identificador
de Paquete de Estado y CRC.
El campo Longitud de Paquete especifica el
número total de bytes en el paquete, sin incluir el campo de
longitud de paquete y, generalmente, se fija en un valor de 10 para
este tipo de paquete. Un Tipo de Paquete de 138 identifica el
paquete como un Paquete de Solicitud de Estado Específico.
El campo Identificador de hCliente (2 bytes)
está reservado para uso futuro por un Identificador de Cliente, y
se fija en cero por ahora.
El campo Identificador de Paquete de Estado, de
2 bytes, especifica el tipo de paquete de capacidad o estado que el
cliente va a enviar al servidor, según lo siguiente:
- 66 -
- El Paquete de Capacidad de Cliente será enviado por el cliente.
- 133 -
- El Paquete de Capacidad de Imagen Alfa-Cursor será enviado por el cliente.
- 139 -
- Se enviará el Paquete de Lista de Respuesta de Estado Válido, que identifica los tipos exactos de paquetes de capacidad y estado que el cliente puede enviar.
- 140 -
- El Paquete de Parámetros de Retardo de Procesamiento de Paquetes será enviado por el cliente.
- 141 -
- El Paquete de Capacidad de Visualización Personal será enviado por el cliente.
- 142 -
- El Paquete de Informe de Errores de Visor será enviado por el cliente.
- 143 -
- El Paquete de Capacidad de Flujo de Vídeo Escalado será enviado por el cliente.
- 144 -
- El Paquete de Identificación de Visor será enviado por el cliente.
- 56 a 63 -
- pueden utilizarse para identificadores de capacidad y estado específicos del fabricante.
\vskip1.000000\baselineskip
El campo CRC, nuevamente, contiene un CRC de
todos los bytes en el paquete, incluyendo la Longitud de
Paquete.
\vskip1.000000\baselineskip
El Paquete de Respuesta de Estado Válido
proporciona al servidor una lista de paquetes de estado y capacidad
a los cuales el cliente tiene capacidad de responder. Un cliente
puede indicar una capacidad de prestar soporte al Paquete de Lista
de Respuesta de Estado Válido utilizando el bit 21 del campo de
Capacidad de Característica de Cliente de Paquete de Capacidad de
Cliente.
El formato de una realización de un Paquete de
Lista de Respuesta de Estado Válido se muestra, en general, en la
Fig. 84. Como se ve en la Fig. 84, un Paquete de Lista de Respuesta
de Parámetro Válido está estructurado para tener los campos
Longitud de Paquete, Tipo de Paquete, Identificador de cCliente,
Número de Valores en Lista, Lista de Respuesta de Parámetro Válido
y CRC. La longitud del paquete para este tipo de paquete se fija
generalmente en un valor de 10, y un valor de tipo de 139 identifica
el paquete como un Paquete de Respuesta de Estado Válido. El campo
Identificador de cCliente está reservado para uso futuro como el
Identificador de Cliente y, por lo general, se fija en cero. El
campo Número de Valores en Lista, de 2 bytes, especifica el número
de elementos en la siguiente Lista de Respuesta de Parámetro
Válido.
El campo Lista de Respuesta de Parámetro Válido
contiene una lista de parámetros de 2 bytes que especifican los
tipos de paquetes de capacidad o estado que el cliente puede enviar
al servidor. Si el cliente ha indicado que puede responder al
Paquete de Solicitud de Estado Específico (utilizando el bit 21 del
campo Capacidad de Característica de Cliente en el Paquete de
Capacidad de Cliente), entonces es capaz de enviar al menos el
Paquete de Capacidad de Cliente (Tipo de Paquete = 66) y el Paquete
de Lista de Respuesta de Estado Válido (Tipo de Paquete = 139). Los
Tipos de Paquete que pueden ser enviados por el cliente y que pueden
ser incluidos en esta lista, junto con sus respectivas asignaciones
para los fines de una realización, son
- 66 -
- Paquete de Capacidad de Cliente.
- 133 -
- Paquete de Capacidad de Imagen Alfa-Cursor.
- 139 -
- Paquete de Lista de Respuesta de Estado Válido, que identifica los tipos exactos de paquetes de capacidad y estado que el cliente puede enviar.
- 140 -
- Paquete de Parámetros de Retardo de Procesamiento de Paquetes.
- 141 -
- Paquete de Capacidad de Visualización Personal.
- 142 -
- Paquete de Informe de Errores de Cliente.
- 143 -
- Paquete de Capacidad de Flujo de Vídeo Escalado.
- 144 -
- Paquete de Identificación de Cliente.
- 56 a 63 -
- pueden utilizarse para identificadores de capacidad y estado específicos del fabricante.
El campo CRC contiene el CRC de todos los bytes
en el paquete, incluyendo la Longitud de Paquete.
\vskip1.000000\baselineskip
El Paquete de Parámetros de Retardo de
Procesamiento de Paquetes proporciona un conjunto de parámetros para
permitir que el servidor calcule el tiempo requerido para completar
el procesamiento asociado a la recepción de un tipo específico de
paquete. Algunos comandos enviados por el servidor no pueden ser
completados por el cliente en tiempo cero. El servidor puede
sondear los bits de estado en los Paquetes de Solicitud y Estado de
Visor para determinar si ciertas funciones han sido completadas por
el cliente, o el servidor puede calcular el tiempo de realización
utilizando los parámetros devueltos por el cliente en el Paquete de
Parámetros de Retardo de Procesamiento de Paquetes. El cliente
indicará su capacidad de brindar soporte al Paquete de Parámetros
de Retardo de Procesamiento de Paquetes utilizando un valor de
parámetro de 140 en la Lista de Respuesta de Parámetro Válido del
Paquete de Lista de Respuesta de Estado Válido.
El formato de una realización del Paquete de
Parámetros de Retardo de Procesamiento de Paquetes se muestra, en
general, en la Fig. 85A. Como se ve en la Fig. 85A, un Paquete de
Parámetros de Retardo de Procesamiento de Paquetes está
estructurado para tener los campos de Longitud de Paquete, Tipo de
Paquete, Identificador de cCliente, Número de Elementos de Lista,
Lista de Parámetros de Retardo y CRC. La longitud del paquete para
este tipo de paquete se fija generalmente en un valor de 10, y un
valor de tipo de 140 identifica el paquete como un Paquete de
Parámetros de Retardo de Procesamiento de Paquetes. El campo
Identificador de cCliente está reservado para uso futuro como el
Identificador de Cliente y, por lo general, se fija en cero. El
campo Número de Elementos de Lista, de 2 bytes, especifica el
número de elementos en la siguiente Lista de Respuesta de
Parámetros Válidos.
El campo Lista de Parámetros de Retardo es una
lista que contiene uno o más elementos de la Lista de Parámetros de
Retardo. El formato para una realización de un único elemento de la
Lista de Parámetros de Retardo se muestra en la Fig. 85B, donde se
muestran los campos Tipo de Paquete para Retardo, el Retardo de
Píxel, el Retardo de Píxel Horizontal, el Retardo de Píxel
Vertical y el Retardo Fijo.
Cada Elemento de la Lista de Parámetros de
Retardo está generalmente restringido a tener exactamente 6 bytes
de longitud, y se define adicionalmente de la siguiente manera:
El campo Tipo de Paquete para Retardo, de 2
bytes, especifica el Tipo de Paquete al cual se aplican los
siguientes parámetros de retardo.
El campo Retardo de Píxel (1 byte) comprende un
índice a un valor de retardo. El valor leído de la tabla se
multiplica por el número total de píxeles en el campo de destino del
paquete. El número total de píxeles es igual al ancho multiplicado
por la altura del área de destino del mapa de bits mencionado por el
paquete.
El campo Retardo de Píxel Horizontal, de 1 byte,
contiene un valor que es un índice a una tabla de valores de
retardo (la misma tabla que DPVL). El valor leído de la tabla se
multiplica por el ancho (en píxeles) del campo de destino del
paquete.
El campo Retardo de Píxel Vertical, de 1 byte,
contiene un valor que es un índice a una tabla de valores de
retardo (la misma tabla que DPVL). El valor leído de la tabla se
multiplica por la altura (en píxeles) del campo de destino del
paquete.
El campo Retardo Fijo utiliza 1 byte como un
índice en una tabla de valores de retardo (la misma tabla que
DPVL). El valor leído de la tabla es un parámetro de retardo fijo
que representa un tiempo requerido para procesar el paquete, que no
está relacionado con ningún valor de parámetro especificado en el
paquete. El retardo total, o el retardo del tiempo de realización
del procesamiento del paquete, está determinado según la
relación:
- Retardo =
- (RetardoProcesamientoPaquete(RetardoPíxel)*TotalPíxeles) +
- \quad
- (RetardoProcesamientoPaquete(RetardoPíxelHorizontal)*Ancho) +
- \quad
- (RetardoProcesamientoPaquete(RetardoPíxelVertical)*Altura) +
- \quad
- RetardoProcesamientoPaquete(RetardoFijo)
\vskip1.000000\baselineskip
Para algunos paquetes, el Total Píxeles, el
Ancho, o la Altura no se aplican, porque esos parámetros no son
mencionados en el paquete correspondiente. En esos casos, el
parámetro correspondiente Retardo Píxel se fija generalmente en
cero.
El Paquete de Capacidad de Visor Personal
proporciona un conjunto de parámetros que describen las capacidades
de un dispositivo visualizador personal, tal como un visor montado
en la cabeza, o gafas con visor. Esto permite que el servidor
personalice la información de visualización según las capacidades
específicas de un cliente. Un cliente, por otra parte, indica una
capacidad de enviar el Paquete de Capacidad de Visor Personal
utilizando un parámetro correspondiente en la Lista de Respuesta de
Parámetro Válido del Paquete de Lista de Respuesta de Estado
Válido.
El formato de una realización de un Paquete de
Capacidad de Visor Personal se muestra, en general, en la Fig. 86.
Como se ve en la Fig. 86, un Paquete de Capacidad de Visor Personal
está estructurado para tener campos de Longitud de Paquete, Tipo de
Paquete, Identificador de cCliente, Diseño de SubPíxel, Forma de
Píxel, Campo de Visión Horizontal, Campo de Visión Vertical, Cruce
Visual de Eje, Imagen Izq./Dcha., Transparencia, Brillo Máximo,
Capacidad Óptica, Distancia Interpupilar Mínima, Distancia
Interpupilar Máxima, Lista de Puntos de Curvatura de Campo y CRC.
En una realización, el valor del campo Longitud de Paquete se fija
en 68. Un valor de Tipo de Paquete de 141 identifica un paquete
como un Paquete de Capacidad de Visor Personal. El campo
Identificador de cCliente está reservado para uso futuro y
generalmente se fija en cero por ahora.
El campo de Diseño de SubPíxel especifica el
diseño físico de un subpíxel desde el extremo superior al inferior
y de izquierda a derecha, utilizando los valores de: 0 para indicar
que no está definido un diseño de subpíxel; 1 para indicar una
franja roja, verde, azul; 2 para indicar una franja azul, verde,
roja; 3 para indicar un quadpíxel, con una disposición de
subpíxeles de 2 por 2, de rojo en el extremo superior izquierdo,
azul en el extremo inferior derecho, y dos subpíxeles verdes, uno
en el extremo inferior izquierdo y el otro en el extremo superior
derecho; 4 para indicar un quadpíxel, con una disposición de
subpíxeles de 2 por 2, con rojo en el extremo inferior izquierdo,
azul en el extremo superior derecho, y dos subpíxeles verdes, uno en
el extremo superior izquierdo y el otro en el extremo inferior
derecho; 5 para indicar un Delta (Tríada); 6 para indicar un
mosaico con rojo, verde y azul superpuestos (p. ej., visor LCOS con
color secuencial por campo); y con los valores 7 a 255 generalmente
reservados para uso futuro.
El campo Forma de Píxel especifica la forma de
cada píxel que está compuesto de una configuración específica de
subpíxeles, utilizando un valor de: 0 para indicar que no está
definida una forma de subpíxel; 1 para indicar forma redonda; 2
para indicar forma cuadrada; 3 para indicar forma rectangular; 4
para indicar forma ovalada; 5 para indicar forma elíptica; y con
los valores 6 a 255 reservados para uso futuro de indicación de
formas deseadas, como apreciará el experto en la técnica.
Un campo Campo de Visión Horizontal (HFOV), de 1
byte, especifica el campo de visión horizontal en incrementos de
0,5 grados (p. ej., si el HFOV es de 30 grados, este valor es 60).
Si este valor es cero, entonces no se especifica el HFOV.
Un campo Campo de Visión Vertical (VFOV), de 1
byte, especifica el campo de visión vertical en incrementos de 0,5
grados (p. ej., si el VFOV es de 30 grados, este valor es 60). Si
este valor es cero, entonces no se especifica el VFOV.
Un campo Cruce Visual de Eje, de 1 byte,
especifica el cruce visual de eje en incrementos de 0,01 dioptrías
(1/m) (p. ej., si el cruce visual de eje es de 2,22 metros, este
valor es 45). Si este valor es cero, entonces no se especifica el
Cruce Visual de Eje. (Nota: ¿es adecuada la especificación de este
parámetro para la gama deseada en la mayoría de las
aplicaciones?).
Un campo Solapamiento de Imagen
Izquierda/Derecha, de 1 byte, especifica el porcentaje de
solapamiento de la imagen izquierda y derecha. La gama admisible
del solapamiento de imagen, en porcentaje, está entre 1 y 100. Los
valores de 101 a 255 son inválidos, y no se utilizarán. Si este
valor es cero, entonces no se especifica el solapamiento de
imagen.
Un campo Transparencia, de 1 byte, especifica el
porcentaje de transparencia de la imagen. La gama admisible de
transparencia, en porcentaje, está entre 0 y 100. Los valores de 101
a 254 son inválidos y no se utilizarán. Si este valor es 255,
entonces no se especifica el porcentaje de transparencia.
Un campo Brillo Máximo, de 1 byte, especifica el
máximo brillo en incrementos de 20 niteres (p. ej., si el brillo
máximo es de 100 niteres, este valor es 5). Si este valor es cero,
entonces no se especifica el brillo máximo.
Un campo Indicadores de Capacidad Óptica, de 2
bytes, contiene varios campos que especifican capacidades ópticas
del visor. Estos valores de bit se asignan generalmente según lo
siguiente:
Los Bits 15 a 5 están reservados para uso
futuro, y se fijarán en cero.
El Bit 4 selecciona el Ajuste de Foco de Lente,
donde un valor de `0' significa que el visor no tiene ajuste de
foco de Lente, y un valor de `1' significa que el visor tiene un
ajuste de foco de lente.
\newpage
Los Bits 3 a 2 seleccionan una Función Binocular
según lo siguiente: un valor de 0 significa que el visor es
binocular y puede exhibir sólo imágenes bidimensionales (2D); 1
significa que el visor es binocular y puede exhibir imágenes
tridimensionales (3D); 2 significa que el visor es monocular, y 3
está reservado para uso futuro.
Los Bits 1 a 0 seleccionan la Simetría de
Curvatura de Campo Izquierdo-Derecho, donde un valor
de 0 significa que la curvatura de Campo no está definida. Si este
campo es cero, entonces todos los valores de curvatura de campo
entre A1 y E5 se fijarán en cero, excepto el punto C3, que
especificará la distancia focal del visor, o se fijará en cero para
indicar que la distancia focal no está especificada. Un valor de 1
significa que los visores Izquierdo y Derecho tienen la misma
simetría; 2 significa que los visores Izquierdo y Derecho se
reflejan en el eje vertical (columna C); y 3 está reservado para uso
futuro.
El campo Distancia Interpupilar (IPD) Mínima, de
1 byte, especifica la distancia interpupilar mínima en milímetros
(mm). Si este valor es cero, entonces no se especifica la distancia
interpupilar mínima. El campo Distancia Interpupilar (IPD) Máxima,
de 1 byte, especifica la máxima distancia interpupilar en milímetros
(mm). Si este valor es cero, entonces no se especifica la distancia
interpupilar máxima.
El campo Lista de Puntos de Curvatura de Campo
contiene una lista de 25 parámetros de 2 bytes, que especifican la
distancia focal en milésimas de dioptría (1/m), con una gama entre 1
y 65535 (p. ej., 1 es 0,001 dioptrías y 65535 es 65,535 dioptrías).
Los 25 elementos en la Lista de Puntos de Curvatura de Campo se
etiquetan A1 a E5, según se muestra más adelante. Los puntos se
distribuirán homogéneamente sobre el área activa del visor. La
columna C corresponde al eje vertical del visor y la fila 3
corresponde al eje horizontal del visor. Las columnas A y E
corresponden a los bordes izquierdo y derecho del visor,
respectivamente. Y las filas 1 y 5 corresponden a los bordes
superior e inferior del visor, respectivamente. El orden de los 25
puntos en la lista es: A1, B1, C1, D1, E1, A2, B2, C2, D2, E2, A3,
B3, C3, D3, E3, A4, B4, C4, D4, E4, A5, B5, C5, D5, E5.
El campo CRC contiene un CRC de todos los bytes
en el paquete, incluyendo la Longitud de Paquete.
El Paquete de Informe de Errores de Cliente
actúa como un mecanismo o medio para permitir que un cliente
proporcione una lista de errores de funcionamiento al servidor. El
cliente puede detectar una amplia gama de errores en el curso de su
funcionamiento normal, como resultado de recibir ciertos comandos
desde el servidor. Los ejemplos de estos errores incluyen: el
cliente puede haber recibido la orden de funcionar en una modalidad
a la que no presta soporte, el cliente puede haber recibido un
paquete que contiene ciertos parámetros que están fuera de rango, o
que están más allá de la capacidad del cliente, o el cliente puede
haber recibido la orden de ingresar a una modalidad en una
secuencia indebida. El Paquete de Informe de Errores de Cliente
puede utilizarse para detectar errores durante el funcionamiento
normal, pero es sumamente útil al diseñador e integrador del
sistema, para diagnosticar problemas en el desarrollo y la
integración de los sistemas servidor y cliente. Un cliente indica
su capacidad de enviar un Paquete de Informe de Errores de Cliente
utilizando un valor de parámetro de 142 en la Lista de Respuesta de
Parámetro Válido del Paquete de Lista de Respuesta de Estado
Válido.
El formato de una realización de un Paquete de
Informe de Errores de Cliente se muestra, en general, en la Fig.
87A. Como se ve en la Fig. 87A, un Paquete de Informe de Errores de
Cliente está estructurado para tener los campos Longitud de
Paquete, Tipo de Paquete, Identificador de cCliente, Número de
Elementos de Lista, Lista de Códigos de Error y CRC. Un valor de
Tipo de Paquete de 142 identifica un paquete como un Paquete de
Informe de Errores de Cliente. El campo de Identificador de cCliente
está reservado para uso futuro, y se fija generalmente en cero por
ahora. El Campo Número de Elementos de Lista (2 bytes) especifica el
número de elementos en la siguiente Lista de Códigos de Error. El
campo Lista de Códigos de Error (aquí, 8 bytes) es una lista que
contiene uno o más elementos de la Lista de Informe de Errores. El
formato de un elemento individual de la Lista de Informe de Errores
se muestra en la Fig. 87B.
En una realización, según se muestra en la Fig.
87B, cada Elemento de la Lista de Informe de Errores tiene
exactamente 4 bytes de longitud, y tiene una estructura, en una
realización, que comprende: un campo de Código de Error de Visor,
de 2 bytes, que especifica el tipo de error que se está informando,
y un campo Subcódigo de Error, de 2 bytes, especifica un mayor
nivel de detalle con respecto al error definido por el paquete de
Código de Error de Cliente. La definición específica de cada Código
de Error de Cliente está definida por el fabricante del cliente. No
se requiere que un Subcódigo de Error esté definido para cada Código
de Error de Visor y, en aquellos casos donde el Subcódigo de Error
no está definido, el valor se fija en cero. La definición
específica de cada Subcódigo de Error está definida por el
fabricante del cliente.
El Paquete de Identificación de Cliente permite
a un cliente devolver datos de identificación en respuesta a un
Paquete de Solicitud de Estado Específico. En una realización, un
cliente indica una capacidad de enviar el Paquete de Identificación
de Visor utilizando un valor de parámetro de 144 en la Lista de
Respuesta de Parámetro Válido del Paquete de Lista de Respuesta de
Estado Válido. Es útil para el servidor poder determinar el nombre
y número de modelo del fabricante del dispositivo cliente, leyendo
estos datos provenientes del cliente. La información puede
utilizarse para determinar si el cliente tiene capacidades
especiales que no pueden describirse en el Paquete de Capacidad de
Cliente. Potencialmente, hay dos procedimientos, medios o
mecanismos para leer información de identificación proveniente del
cliente. Uno es mediante el empleo del Paquete de Capacidad de
Cliente, que contiene campos similares a aquellos en la estructura
básica EDID. El otro procedimiento es mediante el empleo del
Paquete de Identificación de Cliente que contiene un conjunto más
rico de información, en comparación con los campos similares en el
Paquete de Capacidad de Cliente. Esto permite que un servidor
identifique los fabricantes a los que no se ha asignado un código
EISA de 3 caracteres, y permite que los números de serie contengan
caracteres alfanuméricos.
El formato de una realización de un Paquete de
Identificación de Cliente se muestra, en general, en la Fig. 88.
Como se ve en la Fig. 88, un Paquete de Identificación de Cliente
está estructurado para tener los campos Longitud de Paquete, Tipo
de Paquete, Identificador de cCliente, Semana de Fabricación, Año de
Fabricación, Longitud del Nombre del Fabricante, Longitud del
Nombre del Producto, Longitud del Número de Serie, Cadena del
Nombre del Fabricante, Cadena del Nombre del Producto, Cadena del
Número en Serie y CRC.
El campo Tipo de Paquete, de 2 bytes, contiene
un valor que identifica el paquete como un Paquete de Identificación
de Visor. Este valor se selecciona con un valor de 144 en una
realización. El campo Identificador de cCliente (2 bytes)
nuevamente está reservado para uso futuro para el Identificador de
Cliente, y generalmente se fija en cero. El campo CRC (2 bytes)
contiene un CRC de 16 bits de todos los bytes en el paquete,
incluyendo la Longitud de Paquete.
Un campo Semana de Fabricación, de 1 byte,
contiene un valor que define la semana de fabricación del visor. En
al menos una realización, este valor está en la gama entre 1 y 53,
si recibe soporte del cliente. Si este campo no dispone de soporte
del cliente, entonces se fija generalmente en cero. Un campo de Año
de Fabricación, de 1 byte, contiene un valor que define el año de
fabricación del cliente (visor). Este valor es un desplazamiento
desde el año 1990 como punto de partida, aunque podrían utilizarse
otros años como base. Los años en la gama entre 1991 y 2245 pueden
expresarse en este campo. Ejemplo: el año 2003 corresponde a un
valor de Año de Fabricación de 13. Si este campo no dispone de
soporte por parte del cliente, debería fijarse en un valor cero.
Cada uno de los campos Longitud del Nombre del
Fabricante, Longitud del Nombre del Producto y Longitud del Número
de Serie contiene valores de 2 bytes que especifican,
respectivamente, la longitud del campo Cadena del Nombre del
Fabricante, incluyendo caracteres cualesquiera de terminación nula o
de relleno nulo, la longitud del campo Cadena del Nombre del
Producto, incluyendo caracteres cualesquiera de terminación nula o
de relleno nulo, y la longitud del campo Cadena del Número de
Serie, incluyendo caracteres cualesquiera de terminación nula o de
relleno nulo.
Cada uno de los campos Cadena del Nombre del
Fabricante, Cadena del Nombre del Producto y Cadena del Número de
Serie contiene un número variable de bytes especificados,
respectivamente, por los campos Longitud del Nombre del Fabricante,
Nombre del Producto y Número de Serie, que contienen una cadena
ASCII que especifica, respectivamente, el fabricante, el nombre del
producto y el número de serie alfanumérico del visor. Cada una de
estas cadenas está terminada por al menos un carácter nulo.
El Paquete de Capacidad de Visor Alternativo
indica la capacidad de los visores alternativos conectados al
controlador de cliente MDDI. Se envía en respuesta a un Paquete de
Solicitud de Estado Específico. Cuando se le solicita, un
dispositivo cliente envía un Paquete de Capacidad de Visor
Alternativo para cada visor alternativo que recibe soporte. El
cliente indicará esta capacidad para enviar el Paquete de Capacidad
de Visor Alternativo mediante un valor de parámetro de 145 en la
Lista de Respuesta de Parámetro Válido del Paquete de Lista de
Respuesta de Estado Válido.
Para los sistemas MDDI gestionados en modalidad
interna, puede ser común tener más de un visor conectado a un
controlador de cliente MDDI. Un ejemplo de aplicación es un teléfono
móvil con un gran visor en el interior de la cubierta abatible, y
un visor más pequeño en el exterior. El campo Número de Visores
Alternativos del Paquete de Capacidad de Cliente se emplea para
informar que está conectado más de un visor, y el Paquete de
Capacidad de Visor Alternativo informa de la capacidad de cada visor
alternativo. El paquete de flujo de vídeo contiene 4 bits en el
campo Atributos de Datos de Píxeles para dirigirse a cada visor
alternativo en el dispositivo cliente.
El formato de una realización de un Paquete de
Capacidad de Visor Alternativo se muestra, en general, en la Fig.
89. Como se ve en la Fig. 89, un Paquete de Capacidad de Visor
Alternativo está estructurado para tener campos de Longitud de
Paquete, Tipo de Paquete, Identificador de cCliente, Número de Visor
Alternativo, Reservado 1, Ancho de Mapa de Bits, Altura de Mapa de
Bits, Ancho de Ventana de Visor, Altura de Ventana de Visor, Ancho
de RGB de Mapa de Colores, Capacidad de RGB, Capacidad
Monocromática, Reservado 2, Capacidad de Y Cb Cr, Capacidad de
Característica de Visor, Reservado 3 y CRC. Un valor de Tipo de
Paquete de 145 identifica un paquete como un Paquete de Capacidad
de Visor Alternativo. El campo Identificador de cCliente está
reservado para un Identificador de Cliente de uso futuro y
generalmente se fija en cero.
El campo Número de Visor Alternativo utiliza 1
byte para indicar la identidad del visor alternativo, con un entero
en la gama entre 0 y 15. El primer visor alternativo será el número
0, y los otros visores alternativos se identificarán con valores
únicos del Número de Visor Alternativo, siendo el valor más grande
el número total de visores alternativos menos 1. Los valores más
grandes que el número total de visores alternativos menos 1 no se
utilizarán. Ejemplo: un teléfono móvil con un visor primario y un
visor de Identificador de llamante conectado con un cliente MDDI
tiene un visor alternativo, de manera que el Número de Visor
Alternativo del visor del Identificador de llamante es cero, y el
campo Número de Visores Alternativos del Paquete de Capacidad de
Visor tiene un valor de 1.
El campo Reservado 1 (1 byte) está reservado
para uso futuro. Todos los bits en este campo se fijan en cero. Un
fin de este campo es causar que todos los campos subsiguientes de 2
bytes se alineen a una palabra de dirección de 16 bits, y causar
que los campos de 4 bytes se alineen a una palabra de dirección de
32 bits.
El campo Ancho de Mapa de Bits utiliza 2 bytes
que especifican el ancho del mapa de bits, expresado como un número
de píxeles. El campo Altura de Mapa de Bits utiliza 2 bytes que
especifican la altura del mapa de bits, expresada como un número de
píxeles. El campo Ancho de Ventana de Visor utiliza 2 bytes que
especifican el ancho de la ventana del visor, expresado como un
número de píxeles. El campo Altura de Ventana de Visor utiliza 2
bytes que especifican la altura de la ventana del visor, expresada
como un número de píxeles.
El campo Ancho de RGB de Mapa de Colores utiliza
2 bytes que especifican el número de bits de componentes de colores
rojo, verde y azul que pueden visualizarse en la modalidad de
visualización de mapa de colores (paleta). Puede utilizarse un
máximo de 8 bits para cada componente de color (rojo, verde y azul).
Incluso aunque se envíen 8 bits de cada componente de color en el
Paquete de Mapa de Colores, sólo se utiliza el número de bits menos
significativos de cada componente de color definido en este campo.
Si el visor cliente no puede utilizar el formato de mapa de colores
(paleta), entonces este valor es cero. La palabra del Ancho de RGB
de Mapa de Colores está compuesta por tres valores sin signo
distintos:
Los Bits 3 a 0 definen el máximo número de bits
de azul en cada píxel, siendo considerados válidos los valores
entre 0 y 8. Los Bits 7 a 4 definen el máximo número de bits de
verde en cada píxel, siendo considerados válidos los valores entre
0 y 8. Los bits 11 1 a 8 definen el máximo número de bits de rojo en
cada píxel, siendo considerados válidos los valores entre 0 y 8.
Los Bits 14 a 12 están reservados para uso futuro y generalmente se
fijan en cero. El Bit 15 se utiliza para indicar la capacidad de un
cliente de aceptar datos de píxeles de Mapa de Colores en formato
empaquetado o desempaquetado. Cuando el Bit 15 se fija en un nivel
de uno lógico, esto indica que el cliente puede aceptar datos de
píxeles de Mapa de Colores en formato bien empaquetado o bien
desempaquetado. Si el bit 15 se fija en un cero lógico, esto indica
que el cliente puede aceptar datos de píxeles de Mapa de Colores
sólo en formato desempaquetado.
El campo Capacidad RGB utiliza 2 bytes para
especificar el número de bits de resolución que pueden exhibirse en
formato RGB. En una realización, si el cliente no puede utilizar el
formato RGB, entonces este valor se fija igual a cero. La palabra
de Capacidad de RGB se compone de tres valores sin signo distintos:
los Bits 3 a 0 definen el número máximo de bits de azul (la
intensidad azul) en cada píxel. Los Bits 7 a 4 definen el número
máximo de bits de verde (la intensidad verde) en cada píxel, y los
Bits 11 a 8 definen el número máximo de bits de rojo (la intensidad
roja) en cada píxel. Los Bits 14 a 12 se reservan para uso futuro y
se fijan en cero. El Bit 15 se utiliza para indicar la capacidad de
un cliente para aceptar datos de píxeles RGB en formato empaquetado
o desempaquetado. Cuando el Bit 15 está fijado en un nivel de uno
lógico, esto indica que el cliente puede aceptar datos de píxeles
RGB en formato bien empaquetado o bien desempaquetado. Si el Bit 15
está fijado en un cero lógico, esto indica que el cliente puede
aceptar datos de píxeles RGB sólo en formato desempaquetado.
El campo Capacidad Monocromática, de 1 byte,
contiene un valor o información para especificar el número de bits
de resolución que pueden exhibirse en formato monocromático. Si el
cliente no puede utilizar el formato monocromático, entonces este
valor se fija igual a cero. Los Bits 6 a 4 están reservados para uso
futuro y generalmente se fijan en cero. Los Bits 3 a 0 definen el
máximo número de bits de escala de grises que pueden existir en
cada píxel. Estos cuatro bits hacen posible especificar que cada
píxel consiste en 1 a 15 bits. Si el valor es cero, entonces el
formato monocromático no dispone de soporte por parte del cliente.
El Bit 7, cuando está fijado en uno, indica que el cliente puede
aceptar datos de píxeles monocromáticos en formato bien empaquetado
o bien desempaquetado. Si el Bit 7 está fijado en cero, esto indica
que el cliente puede aceptar datos de píxeles monocromáticos sólo
en formato desempaquetado.
El campo Reservado 2 es un campo de 1 byte de
largo, reservado para uso futuro, y que generalmente tiene todos
los bits en este campo fijados en el nivel de cero lógico. En una
realización, un fin de este campo es causar que todos los campos
subsiguientes de 2 bytes se alineen a una palabra de dirección de 16
bits, y causar que los campos de 4 bytes se alineen a una palabra
de dirección de 32 bits.
Un campo Capacidad Y Cb Cr, de 2 bytes,
especifica el número de bits de resolución que pueden visualizarse
en formato Y Cb Cr. Si el cliente no puede utilizar el formato Y Cb
Cr, entonces este valor es cero. La palabra Capacidad Y Cb Cr se
compone de tres valores sin signo distintos: los Bits 3 a 0 definen
el número máximo de bits que especifican la muestra Cb, los Bits 7
a 4 definen el número máximo de bits que especifican la muestra Cr,
los Bits 11 a 8 definen el número máximo de bits que especifican la
muestra Y y los Bits 14 a 12 están reservado para uso futuro, y se
fijan en cero. El Bit 15, cuando está fijado en el valor uno, indica
que el cliente puede aceptar datos de píxeles Y Cb Cr en formato
bien empaquetado o desempaquetado. Si el Bit 1 se fija en cero,
esto indica que el cliente puede aceptar datos de píxeles Y Cb Cr
sólo en formato desempaquetado.
Un Campo de Capacidad Bayer, de 1 byte,
especifica el número de bits de resolución, grupo de píxeles y orden
de píxeles que pueden transferirse en formato Bayer. Si el cliente
no puede utilizar el formato Bayer, entonces este valor se fija en
cero. El campo Capacidad de Bayer se compone de los siguientes
valores: los Bits 3 a 0 definen el número máximo de bits de
intensidad que existen en cada píxel, los Bits 5 a 4 definen el
patrón de grupo de píxeles que puede ser requerido, los Bits 8 a 6
definen un orden de píxeles que se requiere y los Bits 14 a 9 están
reservados para uso futuro y se fijan en cero. El Bit 15, cuando
está fijado en el valor uno, indica que el cliente puede aceptar
datos de píxeles Bayer en formato bien empaquetado o desempaquetado.
Si el Bit 15 está fijado en cero, esto indica que el cliente puede
aceptar datos de Píxeles Bayer sólo en formato desempaquetado.
El campo CRC, de 2 bytes, contiene un CRC de 16
bits de todos los bytes en el paquete, incluyendo la Longitud de
Paquete.
El Paquete de Acceso a Registro proporciona bien
a un servidor, o bien a un cliente, un medio, mecanismo o
procedimiento para acceder a registros de configuración y estado en
el extremo opuesto del enlace MDDI. Es probable que estos registros
sean únicos para cada controlador de visor o dispositivo. Estos
registros ya existen en muchos visores que requieren establecer
valores de configuraciones y modalidades de funcionamiento, y
tienen otras configuraciones útiles y necesarias. El Paquete de
Acceso a Registro permite al servidor o cliente MDDI tanto escribir
en un registro como solicitar una lectura de un registro utilizando
el enlace MDDI. Cuando el servidor o cliente solicita leer un
registro, el extremo opuesto debería responder enviando los datos
del registro en el mismo tipo de paquete, pero también indicando que
estos son los datos leídos de un registro específico, con el uso
del campo Información de Lectura/Escritura. El Paquete de Acceso a
Registro puede utilizarse para leer o escribir múltiples registros,
especificando un total de registros mayor que 1. Un cliente indica
una capacidad de brindar soporte al Paquete de Acceso a Registro
utilizando el bit 22 del campo de Capacidad de Característica de
Cliente del Paquete de Capacidad de Cliente. El formato de una
realización de un Paquete de Acceso a Registro se muestra, en
general, en la Fig. 90. Como se ve en la Fig. 90, un Paquete de
Acceso a Registro está estructurado para tener los campos Longitud
de Paquete, Tipo de Paquete, Identificador de bCliente, Indicadores
de Lectura/Escritura, Dirección de Registro, CRC de Parámetros,
Lista de Datos de Registro y CRC de Datos de Registro. Un valor de
Tipo de Paquete de 146 identifica un paquete como Paquete de Acceso
a Registro. El campo Identificador de bCliente está reservado para
uso futuro y generalmente se fija en cero por ahora.
El campo Indicadores de Lectura/Escritura, de 2
bytes, especifica el paquete específico como una escritura, o una
lectura, o una respuesta a una lectura, y proporciona un total de
los valores de los datos.
Los Bits 15 a 14 actúan como Indicadores de
Lectura/Escritura. Si los Bits [15:14] son `00', entonces este
paquete contiene datos para escribir en un registro direccionado por
el campo Dirección de Registro. Los datos a escribir en los
registros especificados están contenidos en el campo Lista de Datos
de Registro. Si los Bits [15:14] son `10', entonces esto es una
solicitud de datos provenientes de uno o más registros direccionados
por el campo Dirección de Registro. Si los Bits [15:14] son `11',
entonces ese paquete contiene datos que fueron solicitados en
respuesta a un Paquete de Acceso de Registro con los bits 15:14 de
los Indicadores de Lectura/Escritura fijados en `10'. El campo
Dirección de Registro contiene la dirección del registro
correspondiente al primer elemento de la Lista de Datos de
Registro, y el campo Lista de Datos de Registro contendrá los datos
que fueron leídos en la dirección, o direcciones. Si los Bits
[15:14] son `01', esto se trata como un valor inválido; este valor
está reservado para uso futuro y no se utiliza.
Los Bits 13:0 utilizan un entero sin signo de 14
bits para especificar el número de los elementos de 32 bits de los
Datos de Registro a transferir en el campo Lista de Datos de
Registro. Si los bits 15:14 son iguales a `00', entonces los bits
13:0. especifican el número de elementos de datos de registro de 32
bits que están contenidos en el campo de la Lista de Datos de
Registro a escribir en los registros que comienzan en el registro
especificado por el campo Dirección de Registro. Si los bits 15:14
son iguales a `10', entonces los bits 13:0 especifican el número de
elementos de datos de registros de 32 bits que el dispositivo
receptor envía a un dispositivo que solicita que se lean los
registros. El campo Lista de Datos de Registro en este paquete no
contiene ningún elemento y es de longitud cero. Si los bits 15:14
son iguales a `11', entonces los bits 13:0 especifican el número de
elementos de datos de registros de 32 bits que han sido leídos de
los registros que están contenidos en el campo de Lista de Datos de
Registro. Los bits 15:14 no se fijan actualmente iguales a `01',
que se considera un valor inválido, y se reservan en otro caso para
designaciones o usos futuros.
El campo Dirección de Registro utiliza 4 bytes
para indicar la dirección de registro que va a ser escrito o leído.
Para direccionar registros cuya dirección es menor de 32 bits, los
bits superiores se fijan en cero.
El campo CRC de Parámetros, de 2 bytes, contiene
un CRC de todos los bytes, desde la Longitud de Paquete hasta la
Dirección de Registro. Si este CRC no confirma la comprobación,
entonces se descarta el paquete entero.
El campo Lista de Datos de Registro contiene una
lista de valores de datos de registros de 4 bytes, a escribir en
los registros del cliente, o valores que fueron leídos en los
registros del dispositivo cliente.
El campo CRC de Datos de Registros, de 2 bytes,
contiene un CRC sólo de la Lista de Datos de Registro. Si este CRC
no confirma la comprobación, entonces los Datos de Registro aún
pueden utilizarse, pero el contador de errores de CRC se
incrementa.
Los campos CRC aparecen al final de los paquetes
y, a veces, después de ciertos parámetros más críticos, en paquetes
que pueden tener un campo de datos significativamente grande y, así,
una probabilidad aumentada de errores durante la transferencia. En
paquetes que tienen dos campos CRC, el generador de CRC, cuando sólo
se emplea uno, se reinicializa después del primer CRC, de forma que
los cálculos de CRC a continuación de un largo campo de datos no
sean afectados por los parámetros al comienzo del paquete.
En una realización a título de ejemplo, el
polinomio utilizado para el cálculo del CRC se conoce como el
CRC-16, o X16 + X15 + X2 + X0. Una implementación
de muestra de un generador y comprobador 3600 de CRC, útil para
implementar la invención, se muestra en la Fig. 36. En la Fig. 36,
un registro 3602 de CRC se inicializa con un valor de 0x0001 justo
antes de transferir el primer bit de un paquete que ingresa por la
línea Tx_MDDI_Data_Before_CRC, luego los bytes del paquete se
desplazan hacia el registro comenzando por el LSBmenos significativo
en primer lugar. Observe que los números de bits del registro en
esta figura corresponden al orden del polinomio que se está
utilizando, y no a las posiciones de bit utilizadas por la MDDI. Es
más eficiente desplazar el registro CRC en una única dirección, y
esto da como resultado que el bit 15 del CRC aparezca en la posición
de bit 0 del campo CRC de MDDI, y el bit 14 del registro de CRC en
la posición de bit 1 del campo CRC de MDDI, y así sucesivamente
hasta que se llega a la posición de bit 14 de la MDDI.
Como ejemplo, si el contenido del paquete para
los Paquetes de Visualización de Solicitud y Estado es: 0x07, 0x46,
0x000400, 0x00 (o representado como una secuencia de bytes: 0x07,
0x00, 0x46, 0x00, 0x04, 0x00, 0x00), y se despacha utilizando las
entradas de los multiplexadores 3604 y 3606, y el puerto NAND 3608,
la salida del CRC resultante en la línea Tx_MDDI_Data_With_CRC es
0x0eal (o representado como una secuencia 0xal, 0x0e).
Cuando el generador y comprobador 3600 de CRC se
configura como un comprobador de CRC, el CRC que se recibe en la
línea Rx_MDDI_Data se suministra al multiplexador 3604 y al puerto
NAND 3608, y se compara bit a bit con el valor hallado en el
registro de CRC, utilizando el puerto NOR 3610, el puerto 3612 de O
exclusivo (XOR) y el puerto AND 3614. Si hay algún error, según lo
emitido por el puerto AND 3614, el CRC se incrementa una vez por
cada paquete que contiene un error de CRC, conectando la salida del
puerto 3614 con la entrada del registro 3602. Observe que el
ejemplo de circuito mostrado en el diagrama de la Fig. 36 puede
emitir más de una señal de error de CRC dentro de una ventana
CHECK_CRC_NOW dada (véase la Fig. 37B). Por lo tanto, el contador
de errores de CRC, por lo general, sólo cuenta la primera instancia
de error de CRC dentro de cada intervalo donde CHECK_CRC_NOW está
activo. Si se configura como un generador de CRC, el CRC es derivado
por sincronización del registro CRC en el momento en que coincide
con el fin del paquete.
La temporización para las señales de entrada y
salida, y las señales de habilitación, se ilustran gráficamente en
las Figs. 37A y 37B. La generación de un CRC y la transmisión de un
paquete de datos se muestran en la Fig. 37A con el estado (0 ó 1)
de las señales Gen_Reset, Check_CRC_Now, Generate_CRC_Now y
Sending_MDDI_Data, junto con las señales Tx_MDDI_Data_Before_CRC y
Tx_MDDI_Data_With_CRC. La recepción de un paquete de datos y la
comprobación del valor del CRC se muestran en la Fig. 37B, con el
estado de las señales Gen_Reset, Check_CRC_Now, Generate_CRC_Now y
Sending_MDDI_Data, junto con las señales de error Rx_MDDI_Data y
CRC.
Toda vez que sólo se están transfiriendo
paquetes de datos y CRC entre el servidor y el cliente, no hay
ningún código de error asimilado. El único error es una pérdida de
sincronización. En caso contrario, uno debe esperar para que el
enlace agote el plazo de espera debido a una falta de un buen
trayecto o tubo de transferencia de datos, y luego reiniciar el
enlace y continuar. Desafortunadamente, esto consume tiempo y es
algo ineficiente.
Para su empleo en una realización, ha sido
desarrollada una nueva técnica en la cual la porción del CRC de los
paquetes se utiliza para transferir información del código de error.
Esto se muestra, en general, en la Fig. 65. Es decir, uno o más
códigos de error son generados por los procesadores o dispositivos
que gestionan la transferencia de datos, que indican errores o
fallos predefinidos específicos que podrían ocurrir dentro del
procesamiento o enlace de comunicación. Cuando se encuentra un
error, se genera el código de error adecuado y se transfiere
utilizando los bits para el CRC de un paquete. Es decir, el valor de
CRC es sobrecargado, o sobrescrito, con el código de error deseado,
lo que puede ser detectado en el extremo receptor por un monitor o
comprobador de errores que monitoriza los valores del campo CRC.
Para aquellos casos en los cuales el código de error coincide con
el valor del CRC, por algún motivo, se transfiere el complemento del
error para evitar confusión.
En una realización, a fin de proporcionar un
sistema robusto de advertencia y detección de errores, el código de
error puede transferirse varias veces, utilizando una serie de
paquetes, generalmente todos, que se transfieren o envían después
de que el error ha sido detectado. Esto ocurre hasta que el punto en
el cual la condición que crea el error es eliminada del sistema, en
cuyo punto los bits ordinarios del CRC son transferidos sin
sobrecargarlos con otro valor.
Esta técnica de sobrecargar el valor del CRC
proporciona una respuesta mucho más rápida a errores del sistema,
utilizando a la vez una cantidad mínima de bits o campos extra.
Como se muestra en la Fig. 66, un mecanismo o
aparato 6600 de sobreescritura se muestra utilizando un detector de
errores, o medio 6602 de detección, que puede formar parte de otros
circuitos previamente descritos o conocidos, y que detecta la
presencia o existencia de errores dentro del enlace o proceso de
comunicación. Un generador o medio 6604 de códigos de error, que
puede formarse como parte de otros circuitos, o utilizar técnicas
tales como búsqueda de tablas para almacenar mensajes de error
preseleccionados, genera uno o más códigos de error para indicar
errores o fallos específicos predefinidos cuya ocurrencia ha sido
detectada. Se comprende inmediatamente que los dispositivos 6602 y
6604 pueden formarse como un único circuito o dispositivo, según se
desee, o como parte de una secuencia programada de etapas para
otros procesadores y elementos conocidos.
Se muestra un comparador de valores, o medio
6606 de comparación, para comprobar si el código, o códigos, de
error seleccionado(s) es, o son, el mismo (los mismos) que el
valor de CRC que se está transfiriendo. Si es ese el caso, entonces
se utiliza un generador de complemento de código, o medio o
dispositivo de generación, para proporcionar el complemento de los
códigos de error, a fin de que no se malinterpreten como el patrón
o valor original del CRC, y confundan o compliquen el esquema de
detección. Un selector de código de error, o elemento o dispositivo
6610 de medios de selección, selecciona entonces el código o valor
de error que se desea insertar o sobreescribir, o sus respectivos
complementos, según convenga. Un sobreescritor de CRC de código de
error, o mecanismo o medio 6612 de sobreescritura, es un dispositivo
que recibe el flujo de datos, los paquetes y los códigos deseados a
insertar, y sobreescribe los valores de CRC correspondientes o
adecuados, a fin de transferir los códigos de error deseados a un
dispositivo receptor.
Como se ha mencionado, el código de error puede
transferirse varias veces, utilizando una serie de paquetes, de
forma que el sobreescritor 6612 pueda utilizar elementos de
almacenamiento de memoria a fin de mantener copias de los códigos
durante el procesamiento, o recuperar estos códigos de elementos
anteriores, u otras ubicaciones de almacenamiento conocidas, que
puedan utilizarse para almacenar o retener sus valores según se
necesite o se desee.
El procesamiento general que el mecanismo de
sobreescritura de la Fig. 66 está implementando se muestra en
detalle adicional en las Figs. 67A y 67B. En 67A uno o más errores
se detectan en la etapa 6702 en los datos, o el proceso, de
comunicación, y se selecciona un código de error en la etapa 6704
para indicar esta condición. Al mismo tiempo, o en un momento
adecuado, el valor de CRC a reemplazar se comprueba en una etapa
6706, y se compara con el código de error deseado en la etapa 6708.
El resultado de esta comparación, como se ha expuesto
anteriormente, es una determinación en cuanto a si el código
deseado, u otros valores representativos, será o no el mismo que el
valor presente del CRC. Si es este el caso, entonces el
procesamiento continúa en la etapa 6712, donde el complemento o, en
algunos casos, otro valor representativo, según se desee, se
selecciona como el código a insertar. Una vez que se ha determinado
qué códigos o valores de error han de insertarse en las etapas 6710
y 6714, se selecciona ese código adecuado para su inserción. Estas
etapas se ilustran como separadas con fines de claridad, pero
generalmente representan una única elección basada en la salida de
la decisión de la etapa 6708. Finalmente, en la etapa 6716 se
sobreescriben los valores adecuados en la ubicación del CRC para su
transferencia con los paquetes objeto del proceso.
En el lado de recepción del paquete, como se
muestra en la Fig. 67B, los valores de CRC del paquete están siendo
monitorizados en una etapa 6722. Generalmente, los valores de CRC
están siendo monitorizados por uno o más procesos dentro del
sistema, a fin de determinar si ha ocurrido un error en la
transferencia de datos, y si ha de solicitarse o no una
retransmisión del paquete, o paquetes, o inhibir las operaciones
ulteriores, etc., algo de lo cual se ha expuesto anteriormente.
Como parte de dicha monitorización, la información también puede
utilizarse para comparar valores con códigos de error conocidos o
preseleccionados, o valores representativos, y detectar la
presencia de errores. Alternativamente, puede implementarse un
proceso y un monitor separados de detección de errores. Si un
código parece estar presente, se extrae, o se registra de otra
forma, en la etapa 6724, para su ulterior procesamiento. Puede
tomarse una determinación en la etapa 6726 en cuanto a si este es o
no el código real o un complemento, en cuyo caso se utiliza una
etapa adicional 6728 para traducir el valor al valor del código
deseado. En cualquier caso, el código extraído resultante, el
complemento, u otros valores recuperados se utilizan entonces para
detectar qué error ha ocurrido a partir del código transmitido en
la etapa 6730.
Cuando el servidor reinicia el enlace directo
desde un estado de hibernación, alimenta la señal MDDI_Data a un
estado de uno lógico durante alrededor de 150 ciclos de MDDI_Stb y
luego alimenta la señal MDDI_Data0 a un estado de cero lógico
durante 50 ciclos de MDDI_Stb, y luego inicia el tráfico del enlace
directo enviando un paquete de cabecera de subtrama. Esto, por lo
general, permite que las contenciones de bus se resuelvan antes de
que el paquete de cabecera de subtrama sea enviado, proporcionando
bastante tiempo de asentamiento entre las señales. Cuando el
servidor alimenta la señal MDDI_Data0 a un estado de uno lógico,
también activa la señal MDDI_Stb para proporcionar un reloj para la
lógica de reanimación en el cliente.
Cuando el cliente, aquí un visor, necesita
servicio de datos, o comunicación, desde el servidor, alimenta la
línea MDDI_Data0 a un estado de uno lógico durante alrededor de 70 a
1000 \museg, mientras MDDI_Stb está inactiva, más 70 ciclos de
MDDI_Stb después de que MDDI_Stb deviene activa, aunque pueden
utilizarse otros periodos según se desee, y luego desactiva el
controlador poniéndolo en un estado de alta impedancia. Si MDDI_Stb
está activa durante la hibernación, aunque es improbable, entonces
el cliente sólo podría alimentar MDDI_Data0 a un estado de uno
lógico durante 70 ciclos de MDDI_Stb. Esta acción causa que el
servidor inicie, o reinicie, el tráfico de datos por el enlace
directo (208) y sondee el cliente en cuanto a su estado. El servidor
debe detectar la presencia del pulso requerido dentro de 50 ciclos
de MDDI_Stb, y luego comenzar la secuencia de arranque de
alimentación MDDI_Data0 al uno lógico durante 150 ciclos de MDDI_Stb
y al cero lógico durante 50 ciclos de MDDI_Stb. El visor no debería
enviar un pulso de solicitud de servicio si detecta MDDI_Data0 en
el estado de uno lógico por más de 50 \museg. La naturaleza de la
selección de los tiempos y tolerancias de los intervalos temporales
relacionados con el procesamiento de la hibernación y la secuencia
de arranque se exponen adicionalmente más adelante. (Véase
68A-C más adelante).
Un ejemplo de las etapas de procesamiento para
un típico suceso 3800 de solicitud de servicio de cliente, sin
ninguna contención, se ilustra en la Fig. 38, donde los sucesos se
etiquetan, por comodidad en la ilustración, utilizando las letras
A, B, C, D, E, F y G. El proceso comienza en el punto A, cuando el
servidor envía un Paquete de Cierre de Enlace al dispositivo
cliente, para informarle de que el enlace efectuará una transición
a un estado de hibernación de baja energía. En una etapa siguiente,
el servidor ingresa al estado de hibernación de baja energía
desactivando el controlador de MDDI_Data0 y llevando el controlador
de MDDI_Stb a un cero lógico, como se muestra en el punto B. La
señal MDDI_Data0 se alimenta a un cero lógico mediante una red de
sesgo de alta impedancia. Después de un cierto periodo, el cliente
envía un pulso de solicitud de servicio al servidor alimentando la
línea MDDI_Data0 a un nivel de uno lógico, como se ve en el punto C.
El servidor reafirma aún el nivel de cero lógico utilizando la red
de sesgo de alta impedancia, pero el controlador en el cliente
fuerza la línea a un nivel de uno lógico. Dentro de 50 \museg, el
servidor reconoce el pulso de solicitud de servicio, y reafirma un
nivel de uno lógico en MDDI_Data0, habilitando su controlador, como
se ve en el punto D. El cliente cesa entonces de intentar reafirmar
el pulso de solicitud de servicio, y el cliente pone su controlador
en un estado de alta impedancia, como se ve en el punto E. El
servidor alimenta MDDI_Data0 a un nivel de cero lógico durante 50
\museg, como se ve en el punto F, y también comienza a generar
MDDI_Stb de manera coherente con el nivel de cero lógico en
NMDI_Data0. Después de reafirmar MDDI_Data0 a un nivel de cero
lógico y de alimentar MDDI_Stb durante 50 \museg, el servidor
comienza a transmitir datos por el enlace directo, enviando un
Paquete de Cabecera de Subtrama, como se muestra en el punto G.
Un ejemplo similar se ilustra en la Fig. 39,
donde una solicitud de servicio se reafirma después de que ha
empezado la secuencia de reinicio de enlace, y los sucesos se
etiquetan nuevamente utilizando las letras A, B, C, D, E, F y G.
Esto representa un escenario del peor caso, donde un pulso o señal
de solicitud desde el cliente llega casi a corromper el Paquete de
Cabecera de Subtrama. El proceso comienza en el punto A, cuando el
servidor envía nuevamente un Paquete de Cierre de Enlace al
dispositivo cliente, para informarle de que el enlace efectuará la
transición a un estado de hibernación de baja energía. En una etapa
siguiente, el servidor ingresa al estado de hibernación de baja
energía desactivando el controlador de MDDI_Data0 y llevando el
controlador de MDDI_Stb a un nivel de cero lógico, como se muestra
en el punto B. Como antes, la línea MDDI_Data0 es alimentada a un
nivel de cero lógico por una red de sesgo de alta impedancia.
Después de un periodo de tiempo, el servidor comienza la secuencia
de reinicio de enlace alimentando MDDI_Data0 a un nivel de uno
lógico durante 150 \museg, como se ve en el punto C. Antes de que
pasen 50 \museg después de que comience la secuencia de reinicio
de enlace, el visor también reafirma MDDI_Data0 durante 70 \museg,
como se ve en el punto D. Esto ocurre porque el visor tiene
necesidad de solicitar servicio del servidor y no reconoce que el
servidor ya ha empezado la secuencia de reinicio de enlace. El
cliente cesa entonces de intentar reafirmar el pulso de solicitud de
servicio, y el cliente pone su controlador en un estado de alta
impedancia, como se ve en el punto E. El servidor continúa
alimentando MDDI_Data0 a un nivel de uno lógico. El servidor
alimenta MDDI_Data0 a un nivel de cero lógico durante 50 \museg,
como se muestra en el punto F, y también comienza a generar MDDI_Stb
de manera coherente con el nivel de cero lógico en MDDI_Data0.
Después de reafirmar MDDI_Data0 en un nivel de cero lógico, y de
alimentar MDDI_Stb durante 50 \museg, el servidor comienza a
transmitir datos por el enlace directo, enviando un Paquete de
Cabecera de Subtrama, como se muestra en el punto G.
De la exposición anterior, se ve que la solución
anterior implicaba hacer que el servidor atravesara dos estados
como parte de una secuencia de reanimación. Para el primer estado,
el servidor alimenta la señal MDDI_Data0 al estado alto durante 150
\mus, y luego alimenta la señal MDDI_Data0 al estado bajo durante
50 \mus, activando a la vez la línea MDDI_Stb, y luego comienza a
transmitir paquetes MDDI. Este proceso funciona bien para adelantar
el estado de la técnica en términos de las velocidades de datos
alcanzables utilizando el aparato y procedimientos de MDDI. Sin
embargo, como se ha afirmado anteriormente, más velocidad, en
términos de tiempo de respuesta reducido ante ciertas condiciones,
o poder seleccionar más rápidamente la siguiente etapa o proceso, y
la capacidad de simplificar el procesamiento o los elementos, son
cosas que siempre tienen demanda.
Los solicitantes han descubierto un nuevo
enfoque inventivo para el procesamiento y temporización de la
reanimación, en el cual el servidor utiliza una temporización
basada en el ciclo de reloj para la alternación de señales. En esta
configuración, el servidor comienza a alternar MDDI_Stb entre 0 y 10
\museg después de que el servidor alimenta la señal MDDI_Data0 al
estado alto al comienzo de la secuencia de reanimación, y no espera
hasta que la señal es alimentada al estado bajo. Durante una
secuencia de reanimación, el servidor alterna MDDI_Stb, como si la
señal MDDI_Data0 estuviera siempre en un nivel de cero lógico. Esto
elimina efectivamente el concepto de tiempo en el lado del cliente,
y el servidor cambia, desde los anteriores periodos de 150 \mus y
50 \mus para los dos primeros estados, a 150 ciclos de reloj y 50
ciclos de reloj, para estos periodos.
El servidor se hace ahora responsable de
alimentar la línea de datos al estado alto y, dentro de 10 ciclos
de reloj, de comenzar a transmitir una señal de sondeo, como si la
línea de datos fuera cero. Después de que el servidor ha alimentado
la línea de datos al estado alto durante 150 ciclos de reloj, el
servidor alimenta la línea de datos al estado bajo durante 50
ciclos de reloj, mientras continúa transmitiendo la señal de sondeo.
Después de que ha completado ambos procesos, el servidor puede
comenzar a transmitir el primer paquete de cabecera de
subtrama.
En el lado del cliente, la implementación del
cliente puede utilizar ahora el reloj generado para calcular el
número de ciclos de reloj en que la línea de datos está primero en
estado alto, y luego bajo. El número de ciclos de reloj que deben
tener lugar en la línea de datos alimentada al estado alto es 150, y
en la línea de datos alimentada al estado bajo, 50. Esto significa
que, para una secuencia de reanimación adecuada, el cliente debería
poder contar al menos 150 ciclos de reloj continuos de la línea de
datos en estado alto, seguidos por al menos 50 ciclos de reloj
continuos de la línea de datos en estado bajo. Una vez que se
satisfacen estas dos condiciones, el cliente puede comenzar a
buscar la palabra única de la primera subtrama. Una ruptura en este
patrón se utiliza como la base para devolver los contadores a un
estado inicial, en el cual el cliente busca nuevamente los primeros
150 ciclos de reloj continuos de la línea de datos en estado
alto.
Una implementación en el cliente de la invención
para la reanimación desde la hibernación, basada en el servidor, es
muy similar al caso de reanimación inicial, excepto en que la
velocidad del reloj no se fuerza para que comience en 1 Mbps, como
se ha expuesto anteriormente. En cambio, la velocidad del reloj
puede fijarse para reanudarse en cualquier velocidad anterior que
estuviera activa cuando el enlace de comunicación entró en
hibernación. Si el servidor comienza la transmisión de una señal de
sondeo según lo anteriormente descrito, el cliente debería poder
contar nuevamente al menos 150 ciclos de reloj continuos de la línea
de datos en estado alto, seguidos por al menos 50 ciclos de reloj
continuos de la línea de datos en estado bajo. Una vez que estas
dos condiciones han sido satisfechas, el cliente puede comenzar la
búsqueda de la palabra única.
Una implementación en el cliente de la invención
para la reanimación desde la hibernación, basada en el cliente, es
similar a la reanimación basada en el servidor, excepto en que
comienza haciendo que el cliente alimente la línea de datos. El
cliente puede alimentar de manera asíncrona la línea de datos sin un
reloj, para reanimar al dispositivo servidor. Una vez que el
servidor reconoce que la línea de datos está siendo alimentada al
estado alto por el cliente, puede comenzar su secuencia de
reanimación. El cliente puede contar el número de ciclos de reloj
generados por el inicio del servidor, o durante su proceso de
reanimación. Una vez que el cliente cuenta 70 ciclos de reloj
continuos de la línea de datos en el estado alto, puede dejar de
alimentar la línea de datos en el estado alto. En este punto, el
servidor ya debería también estar alimentando la línea de datos al
estado alto. El cliente puede contar entonces otros 80 ciclos de
reloj continuos de la línea de datos en estado alto, para llegar a
150 ciclos de reloj de la línea en estado alto, y luego puede
esperar 50 ciclos de reloj de la línea de datos en estado bajo. Una
vez que estas tres condiciones se han satisfecho, el cliente puede
comenzar a buscar la palabra única.
Una ventaja de esta nueva implementación del
procesamiento de reanimación es que elimina la necesidad de un
dispositivo de medición de tiempo. Ya sea un oscilador, o circuito
de descarga de condensador, u otros tales dispositivos conocidos,
el cliente no necesita más de tales dispositivos externos para
determinar las condiciones de arranque. Esto ahorra dinero y área
de circuitos al implementar controladores, contadores, etc., en una
placa de dispositivo cliente. Si bien esto puede no ser tan
ventajoso para el cliente, para el servidor esta técnica también
debería simplificarlo potencialmente, en términos de la lógica de
muy alta densidad (VHDL) utilizada para los circuitos centrales. El
consumo de energía al utilizar las líneas de datos y sondeo como la
fuente de notificación y medición de la reanimación también será
menor, ya que no se necesitará que ningún circuito externo esté
funcionando para los elementos centrales esperando una reanimación
basada en el servidor.
El número de ciclos o periodos de reloj
utilizados son ejemplares, y pueden utilizarse otros periodos, como
será evidente para alguien experto en la técnica.
Una ventaja de esta nueva implementación del
procesamiento de reanimación es que elimina la necesidad de un
dispositivo de medición de tiempo. Ya sea un oscilador, o circuito
de descarga de condensador, u otros tales dispositivos conocidos,
el cliente no necesita más de tales dispositivos externos para
determinar las condiciones de arranque. Esto ahorra dinero y área
de circuitos al implementar controladores, contadores, etc., en una
placa de dispositivo cliente. Si bien esto puede no ser tan
ventajoso para el cliente, para el servidor esta técnica también
debería simplificarlo potencialmente, en términos de la lógica de
muy alta densidad (VHDL) utilizada para los circuitos centrales. El
consumo de energía al utilizar las líneas de datos y sondeo como la
fuente de notificación y medición de la reanimación también será
menor, ya que no se necesitará que ningún circuito externo esté
funcionando para los elementos centrales esperando una reanimación
basada en el servidor.
Para clarificar e ilustrar el funcionamiento de
esta nueva técnica, la temporización de MDDI_Data0, MDDI_Stb y
varias operaciones relacionadas con los ciclos de reloj se muestran
en las Figs. 68A, 68B y 68C.
Un ejemplo de las etapas de procesamiento para
una típica Reanimación iniciada por Servidor, sin ninguna
contención, se ilustra en la Fig. 68A, donde los sucesos se
etiquetan nuevamente, para comodidad en la ilustración, utilizando
las letras A, B, C, D, E, F y G. El proceso comienza en el punto A,
cuando el servidor envía un Paquete de Cierre de Enlace al
dispositivo cliente, para informarle de que el enlace efectuará una
transición al estado de hibernación de baja energía. En una
siguiente etapa, el punto B, el servidor alterna MDDI_Stb durante
unos 64 ciclos (o como se desee para el diseño del sistema) para
permitir que el procesamiento por parte del cliente se complete
antes de detener la alternación de MDDI_Stb, lo que detiene el reloj
recuperado en el dispositivo cliente. El servidor también lleva
inicialmente MDDI_Data0 al nivel de cero lógico, y luego desactiva
la salida de MDDI_Data0 en la gama de entre 16 y 48 ciclos
(incluyendo por lo general los retardos de propagación de la
desactivación de la salida) después del CRC. Puede ser deseable
poner receptores de alta velocidad para MDDI_Data0 y MDDI_Stb en el
cliente en un estado de baja energía, algún tiempo después de los 48
ciclos después del CRC, y antes de la siguiente etapa (C).
El servidor ingresa al estado de hibernación de
baja energía en el punto o etapa C, desactivando los controladores
de MDDI_Data0 y MDDI_Stb, y poniendo un controlador de servidor en
un estado de hibernación de baja energía. Uno también puede poner
el controlador de MDDI_Stb en un nivel de cero lógico (utilizando
una red de sesgo de alta-impedancia) o continuar
alternando durante la hibernación, según se desee. El cliente
también está en un estado de hibernación de bajo nivel de
energía.
Después de algún tiempo, el servidor comienza la
secuencia de reinicio del enlace en el punto D, habilitando la
salida de controlador de MDDI_Data0 y MDDI_Stb. El servidor alimenta
MDDI_Data0 a un nivel de uno lógico y MDDI_Stb a un nivel de cero
lógico, durante tanto tiempo como les lleve a los controladores
habilitar totalmente sus respectivas salidas. El servidor,
típicamente, espera alrededor de 200 nanosegundos después de que
estas salidas alcanzan los niveles lógicos deseados, antes de
alimentar los pulsos en MMDI_Stb. Esto concede al cliente tiempo
para prepararse para recibir.
Con los controladores del servidor activados y
MDDI_Data0 alimentado a un nivel de uno lógico, el servidor
comienza a alternar MDDI_Stb durante 150 ciclos de MDDI_Stb, como se
ve en el punto E. El servidor alimenta MDDI_Data0 a un nivel de
cero lógico durante 50 ciclos, como se muestra en el punto F, y el
cliente comienza a buscar el Paquete de Cabecera de Subtrama
después de que MDDI_Data0 esté en un nivel de cero lógico durante
40 ciclos de MDDI_Stb. El servidor comienza a transmitir datos por
el enlace directo enviando un Paquete de Cabecera de Subtrama, como
se muestra en el punto G.
Un ejemplo de las etapas de procesamiento para
una típica Reanimación iniciada por Cliente, sin ninguna contención,
se ilustra en la Fig. 68B, donde los sucesos se etiquetan
nuevamente, por conveniencia en la ilustración, utilizando las
letras A, B, C, D, E, F, G, H e I. Como antes, el proceso comienza
en el punto A, cuando el servidor envía un Paquete de Cierre de
Enlace para informar al cliente de que el enlace efectuará la
transición al estado de baja energía.
En el punto B, el servidor alterna MDDI_Stb
durante unos 64 ciclos (o como se desee para el diseño del sistema)
para permitir que se complete el procesamiento por parte del cliente
antes de detener la alternación de MDDI_Stb, lo cual detiene el
reloj en el dispositivo cliente. El servidor también lleva
inicialmente MDDI_Data0 a un nivel de cero lógico y luego desactiva
la salida de MDDI_Data0 en la gama de entre 16 a 48 ciclos
(incluyendo, por lo general, los retardos de propagación de
desactivación de salida) después del CRC. Puede ser deseable poner
receptores de alta velocidad para MDDI_Data0 y MDDI_Stb en el
cliente en un estado de baja energía, algo después de los 48 ciclos
después del CRC y antes de la siguiente etapa (C).
El servidor ingresa al estado de hibernación de
baja energía en el punto o etapa C, desactivando los controladores
de MDDI_Data0 y MDDI_Stb, y poniendo un controlador de servidor en
un estado de hibernación de baja energía. Uno también puede llevar
el controlador de MDDI_Stb a un nivel de cero lógico (utilizando una
red de sesgo de alta impedancia), o continuar alternando durante la
hibernación, según se desee. El cliente también está en un estado
de hibernación de baja energía.
Después de algún tiempo, el cliente comienza la
secuencia de reinicio de enlace en el punto D, habilitando el
receptor MDDI_Stb, y habilitando también un desplazamiento en el
receptor de MDDI_Stb para garantizar que el estado de la versión
recibida de MDDI_Stb es un nivel de cero lógico en el cliente antes
de que el servidor habilite su controlador de MDDI_Stb. Puede ser
deseable que el cliente habilite el desplazamiento levemente por
delante de la activación del receptor, para garantizar la recepción
de una señal diferencial válida e inhibir las señales erróneas,
según se desee. El cliente activa el controlador de MDDI_Data0
mientras alimenta la línea MDDI_Data0 a un nivel de uno lógico.
Dentro de alrededor de 1 mseg, punto E, el
servidor reconoce el pulso de solicitud de servicio del cliente, y
el servidor comienza la secuencia de reinicio de enlace habilitando
las salidas de controlador de MDDI_Data0 y MDDI_Stb. El servidor
alimenta MDDI_Data0 a un nivel de uno lógico y MDDI_Stb a un nivel
de cero lógico, por tanto tiempo como le lleve a los controladores
activar sus respectivas salidas. El servidor, típicamente, espera
alrededor de 200 nanosegundos después de que estas salidas alcancen
los niveles lógicos deseados, antes de alimenta los pulsos en
MDDI_Stb. Esto concede al cliente tiempo para prepararse para
recibir.
Con los controladores del servidor activados y
MDDI_Data0 alimentada a un nivel de uno lógico, el servidor
comienza a emitir pulsos en MDDI_Stb durante 150 ciclos de MDDI_Stb,
como se ve en el punto F. Cuando el cliente reconoce el primer
pulso en MDDI_Stb, desactiva el desplazamiento en su receptor
MDDI_Stb. El cliente continúa alimentando MDDI_Data0 a un nivel de
uno lógico durante 70 ciclos de MMDI_Stb, y desactiva su controlador
de MDDI_Data0 en el punto G.
Como se ve en los puntos G y H, el servidor
alimenta MDDI_Data0 a un nivel de cero lógico durante 50 ciclos, y
el cliente comienza a buscar el Paquete de Cabecera de Subtrama
después de que MDDI_Data0 esté en el nivel de cero lógico durante
40 ciclos de MDDI_Stb. El servidor comienza a transmitir datos por
el enlace directo enviando un Paquete de Cabecera de Subtrama, como
se muestra en el punto I.
Un ejemplo de las etapas de procesamiento para
una típica Reanimación iniciada por el Servidor, con contención de
parte del cliente, es decir, el cliente también quiere reanimar el
enlace, se ilustra en la Fig. 68C. Los sucesos se etiquetan
nuevamente, por conveniencia en la ilustración, utilizando las
letras A, B, C, D, E, F, G, H e I. Como antes, el proceso comienza
en el punto A, cuando el servidor envía un Paquete de Cierre de
Enlace, para informar al cliente de que el enlace efectuará una
transición al estado de baja energía, continúa en el punto B, donde
MDDI_Stb es alternado durante unos 64 ciclos (o como se desee para
el diseño del sistema) para permitir que se complete el
procesamiento por parte del cliente, y luego en el punto C, donde el
servidor ingresa al estado de hibernación de baja energía,
desactivando los controladores de MDDI_Data0 y MDDI_Stb, y poniendo
un controlador del servidor en un estado de hibernación de baja
energía. Después de un tiempo, el servidor comienza la secuencia de
reinicio de enlace en el punto D, activando la salida de los
controladores de MDDI_Data0 y MDDI_Stb, y comienza a alternar
MDDI_Stb durante 150 ciclos de MDDI_Stb, como se ve en el punto
E.
Hasta 70 ciclos de MDDI_Stb después del punto E,
aquí el punto F, el cliente no ha reconocido aún que el servidor
está alimentando MDDI_Data0 a un nivel de uno lógico, por lo que el
cliente también alimenta MDDI_Data0 a un nivel de uno lógico. Esto
ocurre aquí porque el cliente tiene el deseo de solicitar servicio,
pero no reconoce que el servidor con el que está tratando de
comunicarse ya ha comenzado la secuencia de reinicio de enlace. En
el punto G, el cliente cesa de alimentar MDDI_Data0, y pone su
controlador en un estado de alta impedancia, desactivando su
salida. El servidor continúa alimentando MDDI_Data0 a un nivel de
uno lógico durante 80 ciclos adicionales.
El servidor alimenta MDDI_Data0 a un nivel de
cero lógico durante 50 ciclos, como se muestra en el punto H, y el
cliente comienza a buscar el Paquete de Cabecera de Subtrama después
de que MDDI_Data0 esté en un nivel de cero lógico durante 40 ciclos
de MDDI_Stb. El servidor comienza a transmitir datos por el enlace
directo, enviando un Paquete de Cabecera de Subtrama, como se
muestra en el punto I.
En los ejemplos de realizaciones, los Datos en
un formato de No Retorno a Cero (NRZ) se codifican utilizando una
señal de sondeo de datos, o formato DATA_STB, que permite que la
información del reloj se integre en las señales de datos y sondeo.
El reloj puede recuperarse sin circuitos complejos de bucle de
cierre de fase. Los datos se transportan por un enlace diferencial
bidireccional, implementado generalmente utilizando un cable de
línea, aunque pueden utilizarse otros conductores, cables impresos o
elementos de transferencia, como se ha establecido anteriormente.
La señal de sondeo (STB) se transporta por un enlace unidireccional
que es alimentado sólo por el servidor. La señal de sondeo alterna
el valor (0 ó 1) cada vez que hay un estado de espalda a espalda, 0
ó 1, que se mantiene igual en la línea o señal de Datos.
Un ejemplo de cómo una secuencia de datos tal
como los bits "1110001011" puede transmitirse utilizando la
codificación DATA-STB se muestra en forma gráfica en
la Fig. 40. En la Fig. 40, una señal 4002 de DATA se muestra sobre
la línea superior de un gráfico de temporización de señal y una
señal 4004 STB se muestra en una segunda línea, cada una alineada
temporalmente como convenga (punto de partida común). Según pasa el
tiempo, cuando está ocurriendo un cambio de estado en la línea 4002
DATA (señal), entonces la línea 4004 STB (señal) mantiene un estado
previo; así, el primer estado `1' de la señal DATA se correlaciona
con el primer estado `0' para la señal STB, su valor de partida.
Sin embargo, si, o cuando, el estado, o nivel, de la señal DATA no
cambia, entonces la señal STB alterna al estado opuesto, o `1' en el
presente ejemplo, como es el caso en la Fig. 40, donde el DATA está
proporcionando otro valor `1'. Es decir, hay una y sólo una
transición por ciclo de bit entre DATA y STB. Por lo tanto, la
señal STB efectúa nuevamente una transición, esta vez a `0',
mientras la señal DATA se mantiene en `1', y mantiene este nivel o
valor mientras la señal DATA cambia al nivel `0'. Cuando la señal
DATA se mantiene en `1', la señal STB alterna al estado opuesto, o
`1' en el presente ejemplo, y así sucesivamente, según la señal
DATA cambia o mantiene sus niveles o valores.
Al recibir estas señales, se realiza una
operación de O exclusivo (XOR) sobre las señales de DATA y STB, para
producir una señal 4006 de reloj, que se muestra en el extremo
inferior del gráfico de temporización, para la comparación relativa
con las señales deseadas de datos y sondeo. Un ejemplo de circuitos
útiles para generar las salidas o señales DATA y STB a partir de
datos ingresados en el servidor, y recuperar luego los datos de las
señales DATA y STB en el cliente, se muestra en la Fig. 41.
En la Fig. 41, una porción 4100 de transmisión
se utiliza para generar y transmitir las señales DATA y STB
originales por un trayecto 4102 de señal intermediaria, mientras que
una porción 4120 de recepción se utiliza para recibir las señales y
recuperar los datos. Como se muestra en la Fig. 41, a fin de
transferir datos desde un servidor a un cliente, la señal DATA se
suministra a dos elementos 4104 y 4106 de circuito
flip-flop de tipo D, junto con una señal de reloj
para disparar los circuitos. Las dos salidas de circuito
flip-flop (Q) se parten luego en un par diferencial
de señales MDDI_Data0+, MDDI_Data0- y MDDI_Stb+, MDDI_Stb-,
respectivamente, utilizando dos controladores 4108 y 4110 de línea
diferenciales (modalidad de voltaje). Un puerto, circuito o
elemento lógico 4112 de NOR exclusivo (XNOR) de tres entradas está
conectado para recibir el DATA y las salidas de ambos
flip-flops, y genera una salida que proporciona la
entrada de datos para el segundo flip-flop, que, a
su vez, genera las señales MDDI_Stb+, MDDI_Stb-. Por conveniencia,
el puerto XNOR tiene la burbuja de inversión puesta para indicar
que está efectivamente invirtiendo la salida Q del
flip-flop que genera la Sonda.
En la porción 4120 de recepción de la Fig. 41,
las señales MDDI_Data0+, MDDI_Data0- y MDDI_Stb+, MDDI_
Stb- son recibidas por cada uno de los dos receptores 4122 y4124 de línea diferenciales, que generan salidas individuales a partir de las señales diferenciales. Las salidas de los amplificadores se suministran luego a cada una de las entradas de un puerto, circuito o elemento lógico 4126 de O exclusivo (XOR) de dos entradas, que produce la señal de reloj. La señal de reloj se utiliza para disparar cada uno de los dos circuitos 4128 y 4130 flip-flop de tipo D, que reciben una versión retardada de la señal DATA, a través del elemento 4132 de retardo, uno de los cuales (4128) genera valores de datos `0' y el otro (4130) valores de datos `1'. El reloj tiene asimismo una salida independiente de la lógica XOR. Como la información de reloj está distribuida entre las líneas DATA y STB, ninguna señal efectúa transiciones entre estados más rápido que la mitad de la velocidad del reloj. Como el reloj está reproducido utilizando el procesamiento por O-exclusivo de las señales DATA y STB, el sistema tolera efectivamente el doble de la magnitud de sesgo entre los datos de entrada y el reloj, en comparación con la situación cuando una señal de reloj se envía directamente por una única línea de datos dedicada.
Stb- son recibidas por cada uno de los dos receptores 4122 y4124 de línea diferenciales, que generan salidas individuales a partir de las señales diferenciales. Las salidas de los amplificadores se suministran luego a cada una de las entradas de un puerto, circuito o elemento lógico 4126 de O exclusivo (XOR) de dos entradas, que produce la señal de reloj. La señal de reloj se utiliza para disparar cada uno de los dos circuitos 4128 y 4130 flip-flop de tipo D, que reciben una versión retardada de la señal DATA, a través del elemento 4132 de retardo, uno de los cuales (4128) genera valores de datos `0' y el otro (4130) valores de datos `1'. El reloj tiene asimismo una salida independiente de la lógica XOR. Como la información de reloj está distribuida entre las líneas DATA y STB, ninguna señal efectúa transiciones entre estados más rápido que la mitad de la velocidad del reloj. Como el reloj está reproducido utilizando el procesamiento por O-exclusivo de las señales DATA y STB, el sistema tolera efectivamente el doble de la magnitud de sesgo entre los datos de entrada y el reloj, en comparación con la situación cuando una señal de reloj se envía directamente por una única línea de datos dedicada.
Los pares de Datos MDDI, y las señales MDDI_Stb+
y MDDI_Stb- funcionan en una modalidad diferencial para maximizar
la inmunidad ante los efectos negativos del ruido. Cada porción del
trayecto de señal diferencial está terminada en origen con una
mitad de la impedancia característica del cable o conductor que se
esté utilizando para transferir señales. Los pares de Datos de MDDI
son terminados en origen en ambos extremos servidor y cliente. Como
sólo uno de estos dos controladores está activo en un momento dado,
existe continuamente una terminación en el origen para el enlace de
transferencia. Las señales MDDI_Stb+ y MDDI_Stb- sólo son
alimentadas por el servidor.
Una configuración a título de ejemplo de
elementos útiles para lograr los controladores, receptores y
terminaciones para transferir señales como parte de la interfaz MDD
inventiva se muestra en la Fig. 42, mientras que las
correspondientes especificaciones eléctricas de corriente DC de
MDDI_Data y MDDI_Stb se muestran en la Tabla VII. Esta interfaz a
título de ejemplo utiliza sensores de bajo voltaje, aquí 220 mV, con
menos de 1 voltio de oscilaciones de potencia y bajo drenaje de
energía.
Los parámetros eléctricos y características de
los controladores de línea diferencial y los receptores de línea se
describen en la Tabla VIII. Funcionalmente, el controlador
transfiere el nivel lógico en la entrada directamente a una salida
positiva, y la inversa de la entrada a una salida negativa. El
retardo desde la entrada hasta las salidas está bien adaptado a la
línea diferencial, que se alimenta diferencialmente. En la mayoría
de las implementaciones, la oscilación de voltaje en las salidas es
menor que la oscilación en la entrada, para minimizar el consumo de
energía y las emisiones electromagnéticas. La Tabla VIII presenta
una oscilación mínima de voltaje de alrededor de 0,5V. Sin embargo,
pueden emplearse otros valores, como será conocido por aquellos
expertos en la técnica, y los inventores contemplan un valor más
pequeño en algunas realizaciones, según las restricciones de
diseño.
Los receptores de línea diferencial tienen la
misma característica que un comparador de voltaje de alta velocidad.
En la Fig. 41, la entrada sin la burbuja es la entrada positiva y
la entrada con la burbuja es la entrada negativa. La salida es un
uno lógico si: (V_{entrada+})-(V_{entrada-}) es mayor que cero.
Otra forma de describir esto es un amplificador diferencial con una
ganancia muy grande (virtualmente infinita), con la salida
recortada a niveles de voltaje de 0 y 1 lógicos.
El sesgo de retardo entre distintos pares
debería minimizarse para operar el sistema de transmisión
diferencial a la más alta velocidad potencial.
En la Fig. 42, un controlador 4202 de servidor y
un controlador 4204 de cliente o visor se muestran transfiriendo
paquetes por el enlace 4206 de comunicación. El controlador del
servidor emplea una serie de tres controladores 4210, 4212 y 4214
para recibir las señales DATA y STB del servidor a transferir, así
como para recibir las señales de Datos del cliente a transferir. El
controlador responsable del pasaje del DATA del servidor emplea una
entrada de señal de habilitación para permitir la activación del
enlace de comunicación, generalmente sólo cuando se desea la
transferencia desde el servidor al cliente. Como la señal STB se
forma como parte de la transferencia de datos, no se emplea ninguna
señal de habilitación adicional para ese controlador (4212). Las
salidas de cada uno de los controladores DATA y STB se conectan,
respectivamente, con las impedancias o resistores 4216a, 4216b,
4216c y 4216d de terminación.
Los resistores 4216a y 4216b de terminación
también actuarán como impedancias sobre la entrada del receptor
4420 del lado del cliente, para el procesamiento de la señal STB,
mientras que los resistores 4216e y 4216f de terminación
adicionales se colocan en serie con los resistores 4216c y 4216d,
respectivamente, sobre la entrada del receptor 4222 de
procesamiento de datos del cliente. Un sexto controlador 4226 en el
controlador del cliente se utiliza para preparar las señales de
datos que se están transfiriendo desde el cliente al servidor,
donde el controlador 4214, a través de los resistores 4216c y 4216d
de terminación, en la entrada, procesa los datos para la
transferencia al servidor para su procesamiento.
Dos resistores adicionales 4218a y 4218b se
colocan entre los resistores de terminación y la descarga a tierra,
y una fuente 4220 de voltaje, respectivamente, como parte del
control de hibernación expuesto en otro sitio. La fuente de voltaje
se utiliza para alimentar las líneas de transferencia a los niveles
altos o bajos anteriormente expuestos, para gestionar el flujo de
datos.
Los anteriores controladores e impedancias
pueden formarse como componentes discretos o como parte de un módulo
de circuitos, o como un circuito integrado específico de la
aplicación (ASIC) que actúa como una solución codificadora o
descodificadora más efectiva en términos de coste.
Puede verse fácilmente que la energía se
transfiere al dispositivo cliente, o visor, desde el dispositivo
servidor, utilizando las señales etiquetadas HOST_Pwr y HOST_Gnd,
por un par de conductores. La porción HOST_Gnd de la señal actúa
como la descarga a tierra de referencia y el trayecto o señal de
retorno de la fuente de alimentación para el dispositivo de
visualización. La señal HOST_Pwr actúa como la fuente de
alimentación del dispositivo de visualización, que está alimentada
por el dispositivo servidor En una configuración a título de
ejemplo, para aplicaciones de baja potencia, se permite al
dispositivo de visualización consumir hasta 500 mA. La señal
HOST_Pwr puede suministrarse desde fuentes de alimentación
portátiles, tales como, pero sin limitarse a, una batería de tipo
ion de litio, o un paquete de baterías residentes en el dispositivo
servidor, y puede variar entre 3,2 y 4,3 voltios con respecto a
HOST_Gnd.
Las etapas y niveles de señal empleadas por un
cliente para asegurar el servicio desde el servidor, y por el
servidor para proporcionar tal servicio, se ilustran en la Fig. 43.
En la Fig. 43, la primera parte de las señales ilustradas muestra
un Paquete de Cierre de Enlace transfiriéndose desde el servidor, y
la línea de datos se alimenta luego a un estado de cero lógico,
utilizando el circuito de sesgo de alta impedancia. Ningún dato
está siendo transmitido por el visor del cliente, o el servidor, que
tiene su controlador desactivado. Una serie de pulsos de sondeo
para la línea de señal MDDI_Stb puede verse en el extremo inferior,
ya que MDDI_Stb está activa durante el Paquete de Cierre de Enlace.
Una vez que este paquete acaba y el nivel lógico cambia a cero
según el servidor alimenta el circuito de sesgo y la lógica a cero,
la línea de señal MDDI_Stb cambia asimismo a un nivel de cero
lógico. Esto representa la terminación de la última transferencia de
señal, o servicio, desde el servidor, y podría haber ocurrido en
cualquier momento del pasado, y se incluye para mostrar el cese
anterior del servicio, y el estado de las señales antes del comienzo
del servicio. Si se desea, tal señal puede enviarse sólo para
reiniciar el enlace de comunicación al estado adecuado, sin que una
comunicación anterior "conocida" haya sido encarada por este
dispositivo servidor.
Como se muestra en la Fig. 43, la salida de
señal desde el cliente se fija inicialmente en un nivel lógico de
cero. En otras palabras, la salida del cliente está en alta
impedancia, y el controlador está desactivado. Cuando se está
solicitando servicio, el cliente activa su controlador y envía una
solicitud de servicio al servidor, en un periodo de tiempo,
denominado tservicio, durante el cual la línea es alimentada a un
nivel de uno lógico. Pasa luego, o puede ser necesaria antes de que
el servidor detecte la solicitud, una cierta cantidad de tiempo,
denominada tdetectar-servidor, después de lo cual el
servidor responde con una secuencia de arranque de enlace,
alimentando la señal a un nivel de uno lógico. En este punto, el
cliente desactiva la solicitud e inhabilita el controlador de
solicitud de servicio de forma que la línea de salida desde el
cliente vaya de nuevo a un nivel de cero lógico. Durante este
tiempo, la señal MDDI_Stb está en un nivel de cero lógico.
El servidor alimenta la salida de datos del
servidor al nivel `1' durante un periodo denominado
treinicio-alto, después de lo cual el servidor
alimenta el nivel lógico a cero y activa MDDI_Stb durante un periodo
denominado treinicio-bajo, después de lo cual
comienza el primer tráfico directo con un Paquete de Cabecera de
Subtrama, y los paquetes de tráfico directo se transfieren luego.
La señal MDDI_Stb está activa durante el periodo
treinicio-bajo y el subsiguiente Paquete de
Cabecera de Subtrama.
La Tabla VIII muestra tiempos representativos
para la duración de los diversos periodos expuestos anteriormente,
y la relación con las velocidades de datos a título de ejemplo,
mínimas y máximas, donde:
t_{bit} =
\frac{1}{Velocidad \ \_Datos \
\_Enlace}
Aquellos versados en la técnica comprenderán
inmediatamente que las funciones de los elementos individuales
ilustrados en las Figs. 41 y 42 son bien conocidas, y que la función
de los elementos en la Fig. 42 está confirmada por el diagrama de
temporización en la Fig. 43. Los detalles acerca de las
terminaciones en serie y los resistores de hibernación que se
muestran en la Fig. 42 se omitieron de la Fig. 41 porque esa
información es innecesaria para una descripción de cómo realizar la
codificación Datos-Sondeo y recuperar el reloj de
ella.
Las características de conmutación para la
transferencia de datos por el enlace directo desde la salida del
controlador del servidor se muestran en la Tabla IX. La Tabla IX
presenta un formato tabular del mínimo y máximo deseados, con
respecto a los tiempos típicos para que ocurran ciertas transiciones
de señal. Por ejemplo, la duración típica del tiempo para que
ocurra una transición desde el principio hasta el final de un valor
de datos (salida de un `0' o `1'), una transición de Data0 a Data0,
denominada ttdd-(salida-servidor), es ttbit,
mientras que el tiempo mínimo es de alrededor de
ttbit-0,5 nseg, y el máximo es de alrededor de
ttbit-0,5 nseg. El espaciado relativo entre las
transiciones en Data0, otras líneas de datos (DataX) y otras líneas
de sondeo (Stb), se ilustra en la Fig. 44, donde se muestran las
transiciones de Data0 a Sondeo, Sondeo a Sondeo, Sondeo a Data0,
Data0 a no Data0, no Data0 a no Data0, no Data0 a Sondeo, y Sondeo a
no Data0, que se denominan ttds-(salida-servidor),
ttss-(salida-servidor),
ttsd-(salida-servidor),
ttddx-(salida-servidor),
ttdxdx-(salida-servidor),
ttdxs-(salida-servidor) y
ttsdx-(salida-servidor), respectivamente.
Los típicos requisitos de temporización de MDDI
para la entrada del receptor cliente para las mismas señales que
transfieren datos por el enlace directo se muestran en la Tabla X.
Como se están exponiendo las mismas señales, pero retardadas en el
tiempo, no se necesita ninguna nueva figura para ilustrar las
características de señal o el significado de las respectivas
etiquetas, como entenderán aquellos versados en la técnica.
Las Figs. 46 y 46 ilustran la presencia de un
retardo en la respuesta, que puede ocurrir cuando el servidor
desactiva o activa el controlador del servidor, respectivamente. En
el caso de un servidor que remite ciertos paquetes, tales como el
Paquete de Encapsulación de Enlace Inverso o el Paquete de Medición
de Retardo de Ida y Vuelta, el servidor desactiva el controlador de
línea después de que se han remitido los paquetes deseados, tales
como los paquetes de CRC de Parámetros, Alineación de Sondeo y Todos
Ceros ilustrados en la Fig. 45 como transferidos. Sin embargo,
según se muestra en la Fig. 45, el estado de la línea no
necesariamente conmuta entre `0' a un valor deseado más alto
instantáneamente, aunque esto es potencialmente alcanzable con
ciertos elementos de control o circuitos presentes, pero lleva un
periodo de tiempo, denominado el periodo de Retardo de
Desactivación de Controlador, para responder. Si bien podría ocurrir
de manera virtualmente instantánea, dado que este periodo de tiempo
tiene 0 nanosegundos (nseg) de longitud, podría extenderse más
inmediatamente sobre algún periodo más largo, siendo 10 nseg una
longitud máxima deseado del periodo, que ocurre durante los
periodos de paquete de Tiempo de Guardia 1 o
Giro 1.
Giro 1.
Mirando a la Fig. 46, se ve el cambio de nivel
de señal sufrido cuando el Controlador del servidor está habilitado
para transferir un paquete tal como el Paquete de Encapsulación de
Enlace Inverso, o el Paquete de Medición de Retardo de Ida y
Vuelta. Aquí, después de los periodos de paquetes Tiempo de Guardia
2 o Giro 2, el controlador del servidor está activado y comienza a
alimentar a un nivel, aquí `0', cuyo valor es aproximado o alcanzado
durante un periodo de tiempo denominado el periodo de Retardo de
Activación de Controlador de Servidor, lo que ocurre durante el
periodo de Reactivación del Controlador, antes de que se envíe el
primer paquete.
Un proceso similar ocurre para los controladores
y transferencias de señales para el dispositivo cliente, aquí un
visor. Las directrices generales para la longitud de estos periodos,
y sus respectivas relaciones, se muestran en la Tabla XI, a
continuación.
\vskip1.000000\baselineskip
Las características de conmutación y las
relaciones de temporización para las señales de datos y sondeo,
utilizadas para transferir datos por el enlace inverso desde la
salida del controlador del cliente, se muestran en las Figs. 47 y
48. Los tiempos típicos para ciertas transiciones de señal se
exponen más adelante. La Fig. 47 ilustra la relación en la entrada
del receptor del servidor, entre la temporización de los datos
transferidos y los bordes de cabecera y de cola de los pulsos de
sondeo. Es decir, lo que se denomina tiempo de configuración para
el borde creciente o inicial de las señales de sondeo,
tsu-sr, y el tiempo de configuración para el borde
final o decreciente de las señales de sondeo,
tsu-sf. Una duración típica del tiempo para estos
periodos de configuración está en el orden de un mínimo de 8
nano-
segundos.
segundos.
La Fig. 48 ilustra las características de
conmutación y el correspondiente retardo de salida del cliente
desarrollado por la temporización de datos inversos. En la Fig. 48,
se puede ver la relación entre la temporización de los datos
transferidos y los bordes inicial y final de los pulsos de sondeo
que generan el retardo inducido. Es decir, lo que se denomina
retardo de propagación entre el borde creciente o inicial de las
señales de sondeo y los datos (válidos), tpd-sr, y
el retardo de propagación entre los datos y el borde final o
decreciente de las señales de sondeo, tpd-sf. Una
duración máxima típica del tiempo para estos periodos de retardo de
propagación está en el orden de 8 nano-
segundos.
segundos.
Los paquetes transferidos por un enlace MDDI se
despachan muy rápidamente, típicamente, a una velocidad del orden
de 300 Mbps o más, tal como 400 Mbps, aunque las velocidades menores
son ciertamente asimilables, según se desee. Este tipo de velocidad
de bus o de enlace de transferencia es demasiado grande como para
que los microprocesadores, o similares, de propósito general
comercialmente disponibles (económicos) actualmente puedan
controlarla. Por lo tanto, una implementación práctica para lograr
este tipo de transferencia de señales es utilizar una máquina de
estados programable para analizar el flujo de paquetes de entrada, a
fin de producir paquetes que sean transferidos o redirigidos al
subsistema audio-visual adecuado, al cual están
destinados. Tales dispositivos son bien conocidos y utilizan
circuitos generalmente dedicados a un número limitado de
operaciones, funciones o estados, para lograr un funcionamiento a
una velocidad deseada alta, o muy alta.
Los controladores, procesadores o elementos de
procesamiento de propósito general pueden utilizarse para actuar
más adecuadamente sobre, o manipular, alguna información tal como
los paquetes de control o estado, que tienen menores exigencias de
velocidad. Cuando esos paquetes (de control, de estado, u otros
paquetes predefinidos) se reciben, la máquina de estados debería
pasarlos a través de un almacén temporal de datos o elemento similar
de procesamiento al procesador de propósito general, de forma que
se pueda actuar sobre los paquetes para proporcionar un resultado
(efecto) deseado, mientras que los paquetes visuales y de audio se
transfieren a su destino adecuado para actuar sobre ellos. Si se
fabrican microprocesadores futuros, u otros controladores,
procesadores, o elementos de procesamiento de propósito general,
para lograr capacidades de procesamiento de mayor velocidad de
datos, entonces los estados, o máquinas de estados, expuestos más
adelante también podrían implementarse utilizando el control por
software de tales dispositivos, típicamente, como programas
almacenados en un elemento o medio de
almacenamiento.
almacenamiento.
La función del procesador de propósito general
también puede realizarse en algunas realizaciones aprovechando la
potencia de procesamiento de, o los ciclos sobrantes disponibles
para, los microprocesadores (CPU) en aplicaciones informáticas, o
los controladores, procesadores, procesadores de señales digitales
(DSP), circuitos especializados o los ASIC hallados en dispositivos
inalámbricos, de manera muy similar a como algunos módems o
procesadores gráficos utilizan la potencia de procesamiento de las
CPU halladas en los ordenadores para realizar algunas funciones y
reducir la complejidad y los costes del hardware. Sin embargo, esta
compartición o utilización de ciclos puede tener un impacto
negativo sobre la velocidad de procesamiento, la temporización, o el
funcionamiento global de tales elementos, por lo que, en muchas
aplicaciones se prefieren circuitos o elementos dedicados para este
procesamiento
general.
general.
A fin de que los datos de imágenes sean
visualizados en un visor (microvisor), o para recibir con fiabilidad
todos los paquetes enviados por el dispositivo servidor, el
procesamiento de señales del visor se sincroniza con la
temporización del canal del enlace inverso. Es decir, las señales
que llegan al visor y los circuitos del visor necesitan estar
esencialmente sincronizados en el tiempo, para que tenga lugar el
procesamiento adecuado de las señales. Un diagrama de alto nivel de
los estados alcanzados por las etapas de procesamiento de señales,
o un procedimiento por el cual tal sincronización puede
implementarse, se presenta en la ilustración de la Fig. 49. En la
Fig. 49, se muestran los posibles "estados" de sincronización
del enlace directo para una máquina 4900 de estados, categorizados
como un ESTADO 4904 DE TRAMAS ASÍNCRONAS, dos ESTADOS 4902 y 4906
DE ADQUISICIÓN DE SINCRONÍA, y tres ESTADOS 4908, 4910 y 4912 EN
SINCRONÍA.
Como se muestra en la etapa de inicio, o estado
4902, el visor, o cliente, tal como un dispositivo de presentación,
comienza en un estado preseleccionado de "no sincronía", y
busca una palabra única en el primer paquete de cabecera de
subtrama que se detecte. Debe observarse que este estado de no
sincronía representa la configuración de comunicación mínima, o
configuración de "retroceso", en el cual se selecciona una
interfaz de Tipo 1. Cuando se halla la palabra única durante la
búsqueda, el visor guarda el campo de longitud de subtrama. No hay
ninguna comprobación de los bits del CRC para el procesamiento de
esta primera trama, o hasta que se logra la sincronización. Si la
longitud de esta subtrama es cero, entonces el procesamiento del
estado sincrónico continúa en consecuencia hasta un estado 4904,
etiquetado aquí como el estado de "tramas asíncronas", lo que
indica que la sincronización no se ha logrado aún. Esta etapa en el
procesamiento se etiqueta como que ha encontrado la cond 3, o
condición 3, en la Fig. 49. Por lo demás, si la longitud de trama
es mayor que cero, entonces el procesamiento de estado síncrono
continúa hasta un estado 4906 donde el estado de interfaz se fija
como "hallada una trama síncrona". Esta etapa del
procesamiento se etiqueta como encontrando cond 5, o condición 5, en
la Fig. 49. Además, si la máquina de estados ve un paquete de
cabecera de trama y una buena determinación del CRC para una
longitud de trama mayor que cero, el procesamiento continúa hasta
el estado "hallada una trama síncrona". Esto se etiqueta como
que satisface la cond 6, o condición 6, en la Fig. 49.
En cada situación en la cual el sistema está en
un estado distinto a "no sincronizado", cuando la palabra
única se detecta y se determina un buen resultado del CRC para el
paquete de cabecera de subtrama, y la longitud de subtrama es mayor
que cero, entonces el estado de la interfaz cambia al estado 4908
"en sincronía". Esta etapa en el procesamiento se etiqueta
como que ha encontrado la cond 1, o condición 1, en la Fig. 49. Por
otra parte, si bien la palabra única o bien el CRC en el Paquete de
Cabecera de subtrama no son correctos, entonces el procesamiento
del estado de sincronía continúa o vuelve al estado 4902 de interfaz
del estado "SIN TRAMA SÍNCRONA". Esta porción del
procesamiento se etiqueta como que ha encontrado la cond 2, o
condición 2, en el diagrama de estados de la Fig. 49.
\newpage
La interfaz puede configurarse para asimilar un
cierto número de "errores de sincronía" antes de decidir que
se ha perdido la sincronización y volver al estado "SIN TRAMA
SÍNCRONA". En la Fig. 49, una vez que la máquina de estados ha
llegado al "ESTADO EN SINCRONÍA" y no se hallan errores, está
encontrando continuamente un resultado de cond 1, y permanece en el
estado "EN SINCRONÍA". Sin embargo, una vez que se detecte el
resultado de cond 2, el procesamiento cambia el estado a un estado
4910 "un error de sincronía". En este punto, si el
procesamiento tiene como resultado detectar otro resultado de cond
1, entonces la máquina de estados vuelve al estado "en
sincronía"; en caso contrario, encuentra otro resultado de cond
2, y se desplaza al estado 4912 "DOS ERRORES DE SINCRONÍA".
Nuevamente, si ocurre una cond 1, el procesamiento devuelve la
máquina de estados al estado "EN SINCRONÍA". En caso
contrario, se encuentra otra cond 2 y la máquina de estados vuelve
al estado "sin sincronía". También es comprensible que, si la
interfaz encontrara un "paquete de cierre de enlace", esto
causaría que el enlace terminara las transferencias de datos y
volviera al estado "trama no síncrona", ya que no hay nada con
qué sincronizarse, lo que se denomina como satisfacer la cond 4, o
condición 4, en el diagrama de estados de la Fig. 49.
Se entiende que es posible que haya una "falsa
copia" repetida de la palabra única que pueda aparecer en alguna
ubicación fija dentro de la subtrama. En esa situación, es sumamente
improbable que la máquina de estados se sincronice con la subtrama,
porque el CRC en el Paquete de Cabecera de subtrama también debe ser
válido cuando se procese, a fin de que el procesamiento de la
interfaz MDD continúe al estado "EN SINCRONÍA".
La longitud de subtrama en el Paquete de
Cabecera de subtrama puede fijarse en cero para indicar que el
servidor transmitirá sólo una subtrama antes de que el enlace se
cierre, y la interfaz MDD sea puesta o configurada en un estado de
hibernación ociosa. En este caso, el visor debe recibir paquetes
inmediatamente por el enlace directo después de detectar el Paquete
de Cabecera de subtrama, porque sólo se envía una única subtrama
antes de que el enlace efectúe la transición al estado ocioso. En
operaciones normales o típicas, la longitud de subtrama no es cero,
y el visor sólo procesa paquetes del enlace directo, mientras que la
interfaz está en aquellos estados mostrados colectivamente como los
estados "EN SINCRONÍA" en la Fig. 49.
El tiempo requerido para que un visor se
sincronice con la señal del enlace directo es variable, según el
tamaño de la subtrama y la velocidad de datos del enlace directo. La
probabilidad de detectar una "falsa copia" de la palabra única
como parte de los datos aleatorios, o más aleatorios, en el enlace
directo es mayor cuando el tamaño de la subtrama es más grande. Al
mismo tiempo, la capacidad de recuperarse de una falsa detección es
inferior, y el tiempo que lleva hacerlo es más largo, cuando una
velocidad de datos de enlace directo es más lenta.
Como se ha afirmado anteriormente, en el momento
de "arranque", el servidor configura el enlace directo para
funcionar en la velocidad mínima requerida, o deseada, de 1 Mbps, o
por debajo de ella, y configura la longitud de subtrama y la
velocidad de tramas de medios adecuadamente para una aplicación
dada. Es decir, tanto los enlaces directos como los inversos
comienzan la operación utilizando la interfaz de Tipo 1. Estos
parámetros, generalmente, sólo van a ser utilizados temporalmente
mientras que el servidor determina la capacidad o configuración
deseada para el visor del cliente (u otro tipo de dispositivo
cliente). El servidor envía o transfiere un Paquete de Cabecera de
subtrama por el enlace directo, seguido por un Paquete de
Encapsulación de Enlace Inverso, que tiene el bit `0' de los
Indicadores de Solicitud fijado en un valor de uno (1), a fin de
solicitar que el visor o cliente responda con un Paquete de
Capacidad de Visor. Una vez que el visor adquiere la sincronización
por (o con) el enlace directo, envía un Paquete de Capacidad de
Visor y un Paquete de Visualización de Solicitud y Estado por el
enlace o canal inverso.
El servidor examina el contenido del Paquete de
Capacidad de Visor a fin de determinar cómo reconfigurar el enlace
para un nivel de prestaciones óptimo o deseado. El servidor examina
los campos Versión de Protocolo y Versión Mínima de Protocolo para
confirmar que el servidor y el visor utilizan versiones del
protocolo que sean compatibles entre sí. Las versiones del
protocolo se mantienen, generalmente, como los dos primeros
parámetros del Paquete de Capacidad de Visor, de forma que pueda
determinarse la compatibilidad incluso cuando otros elementos del
protocolo podrían no ser compatibles, o no interpretarse
completamente como compatibles.
Para todos los tipos de paquetes, la máquina de
estados del procesador de paquetes garantiza que el verificador de
CRC está adecuada o debidamente controlado. También incrementa un
contador de errores de CRC cuando una comparación del CRC da como
resultado uno o más errores detectados, y reinicia el contador del
CRC al comienzo del procesamiento de cada subtrama.
Si bien la serie anterior de etapas o estados
funciona para producir mayores velocidades de datos, o velocidad de
caudal, los Solicitantes han descubierto que una disposición o
cambio alternativo en las condiciones que el cliente utiliza para
declarar que hay una pérdida de sincronización con el servidor puede
utilizarse efectivamente para lograr velocidades o caudales de
datos aún mayores. La nueva realización inventiva tiene la misma
estructura básica, pero con las condiciones para cambiar de estados
modificados. Además, se implementa un nuevo contador para ayudar a
hacer comprobaciones para la sincronización de subtrama. Estas
etapas y condiciones se presentan con relación a la Fig. 63, que
ilustra una serie de estados y condiciones útiles para establecer
las operaciones del procedimiento o máquina de estados. Sólo se
muestran las porciones de "ADQUISICIÓN DE ESTADOS SÍNCRONOS" y
"ESTADOS EN SINCRONÍA", para mayor claridad. Además, como los
estados resultantes son esencialmente los mismos, como lo es la
misma máquina de estados, utilizan la misma numeración. Sin embargo,
las condiciones para cambiar de estados (y el funcionamiento de la
máquina de estados) varían en alguna medida, por lo que todo está
renumerado para mayor claridad entre las dos figuras (1, 2, 3, 4, 5
y 6, ante 61, 62, 63, 64 y 65), como una comodidad para identificar
diferencias. Como el estado TRAMA ASÍNCRONA no se considera en esta
exposición, un estado (4904) y una condición (6) ya no se utilizan
en la figura.
En la Fig. 63, el sistema o cliente (para
visualización o presentación) comienza con la máquina 5000 de
estados en el estado preseleccionado 4902 "sin sincronía",
como en la Fig. 49. El primer cambio de estado, para cambiar
estados desde la condición 4902 de no sincronía, está en la
condición 64, que es el descubrimiento del patrón de sincronía.
Suponiendo que el CRC de la cabecera de subtrama también es correcto
en este paquete (satisface la condición 61), el estado de la
máquina de estados del procesador de paquetes puede cambiar al
estado 4908 en sincronía. Un error de sincronización, la condición
62, causará que la máquina de estados se desplace al estado 4910, y
una segunda ocurrencia, al estado 4912. Sin embargo, se ha
descubierto que cualquier fallo de CRC de un paquete MDDI causará
que la máquina de estados salga del estado 4908 en sincronía, hacia
el estado 4910 de un error de sincronización. Otro fallo de CRC de
cualquier paquete MDDI causará un movimiento al estado 4912 de dos
fallos de sincronía. Un paquete descodificado con un valor de CRC
correcto causará que la máquina de estados vuelva al estado 4908 en
sincronía.
Lo que se ha cambiado es utilizar el valor o
determinación del CRC para `todo' paquete. Es decir, hacer que la
máquina de estados mire el valor del CRC para todo paquete a fin de
determinar una pérdida de sincronización, en lugar de observar sólo
los paquetes de cabecera de subtrama. En esta configuración o
proceso, una pérdida de sincronización no se determina utilizando
la palabra única y sólo los valores de CRC de la cabecera de
subtrama.
Esta nueva implementación de interfaz permite
que el enlace de la interfaz MDD reconozca fallos de sincronización
mucho más rápidamente y, por lo tanto, que también se recupere de
ellos más rápidamente.
Para hacer este sistema más robusto, el cliente
también debería añadir o utilizar un contador de subtramas. El
cliente comprueba luego la presencia de la palabra única en el
momento en que se espera que llegue u ocurra en una señal. Si la
palabra única no ocurre en el momento correcto, el cliente puede
reconocer que ha ocurrido un fallo de sincronización mucho más
rápidamente que si tuviese que esperar varios (tres aquí) tiempos o
periodos de paquete que fueran mayores que la longitud de una
subtrama. Si la comprobación de la palabra única indica que no está
presente (en otras palabras, que la temporización es incorrecta),
entonces el cliente puede declarar inmediatamente una pérdida de
sincronización de enlace y desplazarse al estado de no sincronía. El
proceso de comprobar la presencia de la palabra única adecuada
añade una condición 65 (cond 65) a la máquina de estados, diciendo
que la palabra única es incorrecta. Si se espera recibir un paquete
de subtrama en el cliente y no coincide, el cliente puede ir
inmediatamente al estado 4902 de no sincronía, ahorrando tiempo
adicional de espera de múltiples errores de sincronía (condición
62) normalmente encontrados al atravesar los estados 4910 y
4912.
Este cambio utiliza un contador, o función de
cuenta, adicional en el núcleo del cliente, para contar la longitud
de subtrama. En una realización, se utiliza una función de cuenta
descendente, y la transferencia de cualquier paquete que estuviese
procesándose actualmente se interrumpe para comprobar la palabra
única de subtrama si el contador ha expirado. Alternativamente, el
contador puede contar ascendentemente, comparándose el total con un
valor deseado máximo o específico, en cuyo momento se comprueba el
paquete actual. Este proceso protege al cliente de descodificar
paquetes que sean recibidos incorrectamente en el cliente, con
longitudes de paquete extraordinariamente largas. Si el contador de
longitud de subtrama necesitara interrumpir a algún otro paquete
que estuviera siendo descodificado, puede determinarse una pérdida
de sincronización, dado que ningún paquete debería cruzar un límite
de
subtrama.
subtrama.
\newpage
Para cada tipo de paquete expuesto
anteriormente, que recibe la máquina de estados, acomete una etapa,
o serie de etapas, de procesamiento específica(s), para
implementar la operación de la interfaz. Los paquetes del enlace
directo se procesan generalmente según el procesamiento a título de
ejemplo enumerado en la Tabla XII a continuación.
\vskip1.000000\baselineskip
Ha sido observado por los inventores que ciertos
parámetros utilizados para el controlador de enlace del servidor
pueden ajustarse o configurarse de cierta manera, a fin de lograr
una velocidad máxima, o más optimizada (en escala) de los datos del
enlace inverso, lo que es muy deseable. Por ejemplo, durante el
tiempo empleado para transferir el campo Paquetes de Datos Inversos
del Paquete de Encapsulación de Enlace Inverso, el par de señales
MDDI_Stb alterna sus valores para crear un reloj de datos periódicos
a la mitad de la velocidad de datos del enlace directo. Esto ocurre
porque el controlador de enlace del servidor genera la señal
MDDI_Stb que corresponde a la señal MDDI_Data0 como si estuviera
enviando todos ceros. La señal MDDI_Stb es transferida desde el
servidor a un cliente, donde es utilizada para generar una señal de
reloj para transferir datos de enlace inverso desde el visor, con
lo cual se envían de vuelta datos inversos al servidor. Una
ilustración de magnitudes típicas de retardo halladas para la
transferencia de señal y el procesamiento en los trayectos directo e
inverso en un sistema que emplea la MDDI se muestra en la Fig. 50.
En la Fig. 50, se muestra una serie de valores de retardo de 1,5
nseg, 8,0 nseg, 2,5 nseg, 2,0 nseg, 1,0 nseg, 1,5 nseg, 8,0 nseg y
2,5 nseg, cerca de porciones de procesamiento para las etapas de
generación de Stb+/-, la transferencia a visor por cable, el
receptor del visor, la generación del reloj, la sincronización de
señal, la generación de Data0+/-, la transferencia al servidor por
cable y del receptor del servidor, respectivamente.
Según la velocidad de datos de enlace directo y
los retardos de procesamiento de señal encontrados, puede requerir
más tiempo que un ciclo en la señal MDDI_Stb para que se complete
este efecto de "ida y vuelta", o conjunto de sucesos, lo que
da como resultado el consumo de magnitudes indeseables de tiempo o
ciclos. Para eludir este problema, el Divisor de Velocidad Inversa
hace posible que un lapso de bit en el enlace inverso abarque
múltiples ciclos de la señal MDDI_Stb. Esto significa que la
velocidad de datos del enlace inverso es menor que la velocidad del
enlace directo.
Debería observarse que la longitud efectiva de
los retardos de señal a través de la interfaz puede diferir, según
cada sistema o hardware servidor-cliente específico
utilizado. Aunque no se requiere, puede hacerse, generalmente, que
cada sistema funcione mejor utilizando el Paquete de Medición de
Retardo de Ida y Vuelta para medir el retardo efectivo en un
sistema, de forma que el Divisor de Velocidad Inversa pueda fijarse
en un valor óptimo.
Un retardo de ida y vuelta se mide haciendo que
el servidor envíe un Paquete de Medición de Retardo de Ida y Vuelta
al visor. El visor responde a este paquete enviando una secuencia de
unos de vuelta al servidor dentro de, o durante, una ventana de
medición preseleccionada en ese paquete, llamada el campo Periodo de
Medición. La temporización detallada de esta medición fue descrita
anteriormente. El retardo de ida y vuelta se utiliza para
determinar la velocidad a la cual los datos del enlace inverso
pueden muestrearse con seguridad.
La medición del retardo de ida y vuelta consiste
en determinar, detectar o contar el número de intervalos de reloj
de datos del enlace directo que ocurren entre el comienzo del campo
Periodo de Medición y el comienzo del periodo en que se recibe de
vuelta la secuencia de respuesta 0xff, 0xff, 0x00 en el servidor,
proveniente del cliente. Observe que es posible que la respuesta
del cliente pudiera ser recibida en una pequeña fracción de un
periodo de reloj del enlace directo, antes de que el contador de la
medición fuera a incrementarse. Si se utiliza este valor no
modificado para calcular el Divisor de Velocidad Inversa, podría
causar errores de bit en el enlace inverso, debido al muestreo de
datos no fiable. Un ejemplo de esta situación se ilustra en la Fig.
51, donde las señales que representan MDDI_Data en el servidor,
MDDI_Stb en el servidor, el reloj de datos del enlace directo
dentro del servidor, y un Contador de Retardo, se ilustran de forma
gráfica. En la Fig. 51, la secuencia de respuesta fue recibida
desde el visor una fracción de un periodo de reloj de enlace
directo antes de que el Contador de Retardo fuera a incrementarse
desde 6 a 7. Si se supone que el retardo es 6, entonces el servidor
muestreará los datos inversos justo después de una transición de
bit, o posiblemente en la mitad de una transición de bit. Esto
podría resultar en un muestreo erróneo en el servidor. Por esta
razón, el retardo medido, típicamente, debería incrementarse en uno
antes de que se emplee para calcular el Divisor de Velocidad
Inversa.
El Divisor de Velocidad Inversa es el número de
ciclos de MDDI_Stb que el servidor debería esperar antes de
muestrear los datos del enlace inverso. Como MDDI_Stb cicla a una
velocidad que es la mitad de la velocidad del enlace directo, la
medición corregida del retardo de ida y vuelta debe ser dividida
entre 2 y luego redondeada al siguiente entero. Expresado como una
fórmula, esta relación es:
Para el ejemplo dado, esto se convierte en:
Si la medición del retardo de ida y vuelta
utilizado en este ejemplo fuera 7 en lugar de 6, entonces el Divisor
de Velocidad Inversa también sería igual a 4.
Los datos del enlace inverso son muestreados por
el servidor en el borde creciente del Reloj del Enlace Inverso. Hay
un contador, o un circuito o dispositivo similar conocido, presente
tanto en el servidor como en el cliente (visor) para generar el
Reloj de Enlace Inverso. Los contadores se inicializan de forma que
el primer borde creciente del Reloj de Enlace Inverso ocurra al
comienzo del primer bit en el campo Paquetes de Enlace Inverso del
paquete de Encapsulación de Enlace Inverso. Esto se ilustra, para el
ejemplo dado más adelante, en la Fig. 52. Los contadores se
incrementan en cada borde creciente de la señal MDDI_Stb, y el
número de totales habidos hasta que vuelven al cero está fijado por
el parámetro Divisor de Velocidad Inversa en el Paquete de
Encapsulación de Enlace Inverso. Como la señal MDDI_Stb alterna sus
valores a la mitad de la velocidad del enlace directo, entonces la
velocidad del enlace inverso es la mitad de la velocidad del enlace
directo, dividida entre el Divisor de Velocidad Inversa. Por
ejemplo, si la velocidad del enlace directo es de 200 Mbps y el
Divisor de Velocidad Inversa es 4, entonces la velocidad de datos
del enlace inverso se expresa como:
Un ejemplo que muestra la temporización de las
líneas de señal MDDI_Data0 y MDDI_Stb en un Paquete de Encapsulación
de Enlace Inverso se muestra en la Fig. 52, donde los parámetros
del paquete utilizados para la ilustración tienen los valores:
El primer paquete del enlace inverso devuelto
desde el visor es el Paquete de Solicitud y Estado de Visor, con
una Longitud de Paquete de 7 y un tipo de paquete de 70. Este
paquete comienza con los valores de byte 0x07, 0x00, 0x46, ... y
así sucesivamente. Sin embargo, sólo el primer byte (0x07) es
visible en la Fig. 52. Este primer paquete del enlace inverso está
desplazado temporalmente, en cerca de un periodo de reloj de enlace
inverso, en la figura, para ilustrar un retardo efectivo del enlace
inverso. Una onda ideal, con retardo cero de ida y vuelta de
servidor a visor, se muestra como un rastro de línea de puntos.
Se transfiere el byte más significativo del
campo CRC de Parámetros, precedido por el tipo de paquete, luego el
campo con todos ceros. La sonda desde el servidor está conmutando
desde uno a cero, y de vuelta a uno, según los datos provenientes
del servidor cambian de nivel, formando pulsos más amplios. Según
los datos llegan a cero, la sonda conmuta a una velocidad mayor, y
sólo el cambio en los datos en la línea de datos causa un cambio
cerca del final del campo de alineación. La sonda conmuta a la
velocidad más alta por el resto de la figura, debido a los niveles
fijos 0 ó 1 de la señal de datos durante periodos extendidos, y a
las transiciones que caen sobre el patrón de pulsos (borde).
El reloj del enlace inverso para el servidor
está en cero hasta el final del periodo de Giro 1, cuando el reloj
se inicia para asimilar los paquetes del enlace inverso. Las flechas
en la porción inferior de la figura indican cuando los datos son
muestreados, como será evidente a partir del resto de la revelación.
El primer byte del campo del paquete que se está transfiriendo
(aquí 11000000) se muestra comenzando después del Giro 1, y el
nivel de línea se ha estabilizado desde que el controlador del
servidor ha sido desactivado. El retardo en el pasaje del primer
bit, como se ve para el bit tres, puede verse en las líneas de
puntos para la señal Data.
En la Fig. 53, se pueden observar valores
típicos del Divisor de Velocidad Inversa, basados en la velocidad
de datos del enlace directo. El Divisor de Velocidad Inversa
efectivo se determina como resultado de una medición del enlace de
ida y vuelta, para garantizar el funcionamiento debido del enlace
inverso. Una primera región 5302 corresponde a un área de
funcionamiento seguro, una segunda región 5304 corresponde a un área
de rendimiento marginal, mientras que una tercera región 5306
indica configuraciones que es improbable que funcionen
debidamente.
La medición del retardo de ida y vuelta y la
configuración del Divisor de Velocidad Inversa son las mismas
mientras se funciona con cualquiera de las configuraciones de Tipo
de Interfaz, tanto en el enlace directo como el inverso, porque se
expresan y se operan sobre ellas en términos de unidades de periodos
efectivos de reloj, en lugar de números de bits transmitidos o
recibidos.
Como se ha expuesto anteriormente, el campo Giro
1 en el Paquete de Encapsulación de Enlace Inverso y el campo
Tiempo de Guardia 1 en el Paquete de Medición de Retardo de Ida y
Vuelta designan valores para los periodos de tiempo que permiten
que los controladores de interfaz del servidor sean desactivados
antes de que los controladores de interfaz de visor sean activados.
Los campos Giro 2 y Tiempo de Guardia 2 proporcionan valores de
tiempos que permiten que los controladores de visor sean
desactivados antes de que los controladores del servidor sean
activados. Los campos Tiempo de Guardia 1 y Tiempo de Guardia 2,
generalmente, se rellenan con valores prefijados o preseleccionados
para longitudes que no se pretende ajustar. Según el hardware de
interfaz utilizado, estos valores pueden desarrollarse utilizando
datos empíricos, y ajustarse en algunos casos para mejorar el
funcionamiento.
Varios factores contribuyen a una determinación
de la longitud de Giro 1, y son éstos la velocidad de datos del
enlace directo y el máximo tiempo de desactivación de los
controladores de MDDI_Data en el servidor. El tiempo máximo de
desactivación del controlador del servidor se especifica en la Tabla
XI, donde se muestra que los servidores se toman alrededor de 10
nseg, como máximo, para desactivarse, y alrededor de 2 nseg para
activarse. El número mínimo de ciclos de reloj del enlace directo
requerido para que el controlador del servidor se desactive se
expresa según la relación:
\vskip1.000000\baselineskip
La gama de valores admitidos de Giro 1 se
expresa según la relación:
donde el Factor de Tipo de Interfaz
es 1 para el Tipo 1, 2 para el Tipo 2, 4 para el Tipo 3 y 8 para el
Tipo-IV.
\vskip1.000000\baselineskip
Combinando las dos ecuaciones anteriores, puede
verse que el término Factor de Tipo de Interfaz se elimina, y que
Giro 1 se define como:
\vskip1.000000\baselineskip
Por ejemplo, un enlace directo de Tipo 3 de 1500
Mbps utilizaría un retardo de Giro 1 de:
\vskip1.000000\baselineskip
Según aumenta el retardo de ida y vuelta, el
margen de temporización mejora desde el instante en que el servidor
es desactivado hasta el momento en que se activa el visor.
Los factores que determinan la extensión del
tiempo generalmente utilizado para el Giro 2 son la velocidad de
datos del enlace directo, el máximo tiempo de desactivación de los
controladores de MDDI_Data en el visor, y el retardo de ida y
vuelta del enlace de comunicación. El cálculo del tiempo requerido
para desactivar el controlador del visor es esencialmente el mismo
que para el controlador del servidor expuesto anteriormente, y se
define según la relación:
\vskip1.000000\baselineskip
y la gama de valores admitidos para
Giro 2 se expresa
como:
\vskip1.000000\baselineskip
Por ejemplo, un enlace directo de Tipo 3 de 1500
Mbps, con un retardo de ida y vuelta de 10 ciclos de reloj del
enlace directo, típicamente, utiliza un retardo de Giro 2 del orden
de:
Si bien el empleo de bandas de temporización y
guardia expuesto anteriormente funciona para lograr una interfaz de
alta velocidad de transferencia de datos, los inventores han
descubierto una técnica para lograr longitudes de bit inversos que
son más cortas que el tiempo de ida y vuelta, cambiando el
descubrimiento de la temporización inversa.
Como se ha presentado anteriormente, el enfoque
anterior de la temporización del enlace inverso se configura de
forma que el número de ciclos de reloj se cuenta desde el último bit
del Tiempo de Guardia 1 de un paquete de temporización inversa,
hasta que se muestrea el primero bit en el borde creciente de un
reloj 10. Es decir, la señal, o señales, de reloj
utilizada(s) para sincronizar las entradas y salidas para la
interfaz MDD. El cálculo para el divisor de velocidad inversa,
entonces, está dado por:
Esto proporciona un ancho de bit igual al
retardo de ida y vuelta, lo que da como resultado un enlace inverso
muy fiable. Sin embargo, se ha mostrado que el enlace inverso es
capaz de funcionar más rápidamente, o a una velocidad de
transferencia de datos mayor, que los inventores quieren aprovechar.
Una nueva técnica inventiva permite utilizar capacidades
adicionales de la interfaz para alcanzar velocidades más altas.
Esto se logra haciendo que el servidor cuente el
número de ciclos de reloj hasta que se muestree un uno, pero con el
servidor muestreando la línea de datos en ambos bordes creciente y
decreciente, durante el paquete de temporización inversa. Esto
permite que el servidor escoja el punto de muestreo más útil, o
incluso óptimo, dentro del bit inverso, para garantizar que el bit
es estable. Es decir, para hallar el borde creciente más útil, u
óptimo, para muestrear datos para paquetes de encapsulación inversa
de tráfico inverso. El punto óptimo de muestreo depende tanto del
divisor de enlace inverso como de si el primero fue detectado en un
borde creciente o en un borde decreciente. El nuevo procedimiento
de temporización permite que el servidor sólo busque el primer
borde del patrón 0xFF 0xFF 0x00 enviado por el cliente para la
temporización del enlace inverso, a fin de determinar dónde
muestrear en un paquete de encapsulación inversa.
Ejemplos del bit inverso que llega y de cómo se
vería ese bit para diversos divisores de velocidad inversa, se
ilustran en la Fig. 64, junto con un cierto número de ciclos de
reloj que han ocurrido desde el último bit del Tiempo de Guardia 1.
En la Fig. 64, puede verse que si el primer borde ocurre entre un
borde creciente y decreciente (etiquetado como alza/baja), el punto
óptimo de muestreo para un divisor de velocidad inversa igual a
uno, el punto óptimo de muestreo es un borde de ciclo de reloj
etiquetado `b', ya que ese es el único borde creciente que ocurre
dentro del periodo del bit inverso. Para un divisor de velocidad
inversa igual a dos, el punto óptimo de muestreo aún es,
probablemente, el borde `b' inicial del ciclo de reloj, ya que el
borde `c' del ciclo está más cerca de un borde de bit que `b'. Para
un divisor de velocidad inversa igual a cuatro, el punto óptimo de
muestreo es, probablemente, el borde `d' del ciclo de reloj, ya que
está más cerca del borde trasero del bit inverso, donde el valor,
probablemente, se ha estabilizado.
Volviendo a la Fig. 64, si, sin embargo, el
primer borde ocurre entre un borde decreciente y creciente
(etiquetado como baja/alza), el punto óptimo de muestreo para un
divisor de velocidad inversa igual a uno es el punto de muestreo
del borde `a' del ciclo de reloj, ya que ese es el único borde
creciente dentro del periodo del bit inverso. Para un divisor de
velocidad inversa igual a dos. el punto óptimo de muestreo es el
borde `b', y para un divisor de velocidad inversa igual a cuatro,
el punto óptimo de muestreo es el borde `c'.
Puede verse que, según los divisores de
velocidad inversa se hacen más y más grandes, el punto óptimo de
muestreo deviene más fácil de comprobar o seleccionar, ya que
debería ser el borde creciente que está más cerca del medio.
El servidor puede utilizar esta técnica para
hallar el número de bordes crecientes de reloj antes de que se
observe el borde creciente de datos de los datos del paquete de
temporización en la línea de datos. Puede decidir entonces,
basándose en si el borde ocurre entre un borde creciente y
decreciente, o entre un borde decreciente y creciente, y en cuál es
el divisor de velocidad inversa, cuántos ciclos adicionales de reloj
añadir a un contador de números, para garantizar razonablemente que
el bit siempre es muestreado tan cerca del medio como sea
posible.
Una vez que el servidor ha seleccionado o
determinado el número de ciclos de reloj, puede "explorar"
diversos divisores de velocidad inversa con el cliente, para
determinar si funcionará un divisor de velocidad inversa
específico. El servidor (y el cliente) pueden comenzar con un
divisor igual a uno y comprobar el CRC del paquete de estado
inverso recibido desde el cliente, para determinar si esta velocidad
inversa funciona adecuadamente para transferir datos. Si el CRC
está corrompido, hay probablemente un error de muestreo, y el
servidor puede aumentar el divisor de velocidad inversa e intentar
solicitar nuevamente un paquete de estado. Si el segundo paquete
solicitado está corrompido, el divisor puede aumentarse nuevamente y
la solicitud puede hacerse de nuevo. Si este paquete es
descodificado correctamente, este divisor de velocidad inversa puede
utilizarse para todos los futuros paquetes inversos.
Este procedimiento es efectivo y útil porque la
temporización inversa no debería cambiar a partir de la estimación
inicial de temporización de ida y vuelta. Si el enlace directo es
estable, el cliente debería continuar descodificando paquetes del
enlace directo, incluso si hay fallos del enlace inverso. Por
supuesto, es aún responsabilidad del servidor fijar un divisor de
enlace inverso para el enlace, ya que este procedimiento no
garantiza un enlace inverso perfecto. Además, el divisor dependerá
principalmente de la calidad del reloj que se utiliza para generar
un reloj IO. Si ese reloj tiene una magnitud significativa de
arritmia, hay una mayor posibilidad de un error de muestreo. Esta
probabilidad de error aumenta con la cantidad de ciclos de reloj en
el retardo de ida y vuelta.
Esta implementación parece funcionar mejor para
datos inversos de Tipo 1, pero puede presentar problemas para datos
inversos desde el Tipo 2 hasta el Tipo 4, debido al sesgo entre las
líneas de datos, al ser potencialmente demasiado grande para
administrar el enlace a la velocidad que funciona mejor para sólo un
par de datos. Sin embargo, la velocidad de datos, probablemente, no
requiere ser reducida al procedimiento anterior, incluso con los
Tipos 2 a 4, para el funcionamiento. Este procedimiento también
puede funcionar mejor si se duplica en cada línea de datos para
seleccionar la ubicación ideal, o una óptima, de la muestra de
reloj. Si están en el mismo momento de muestreo para cada par de
datos, este procedimiento continuaría funcionando. Si están en
distintos periodos de muestreo, pueden utilizarse dos enfoques
distintos. El primero es seleccionar una ubicación deseada, o más
optimizada, de muestra para cada punto de datos, incluso si no es el
mismo para cada par de datos. El servidor puede entonces
reconstruir el flujo de datos después de muestrear todos los bits
del conjunto de pares de datos: dos bits para el Tipo 2, cuatro bits
para el Tipo 3, y ocho bits para el Tipo-IV. La
otra opción es que el servidor aumente el divisor de velocidad
inversa de forma tal que los datos de bits para cada par de datos
puedan muestrearse en el mismo borde de reloj.
El retardo y el sesgo en el enlace directo entre
los pares de MDDI_Data y MDDI_Stb pueden limitar la máxima
velocidad de datos posible, a menos que se emplee una compensación
de retardo y sesgo. Las diferencias en el retardo que causan el
sesgo de temporización se deben a la lógica controladora, los
controladores y receptores de línea, y los cables y conectores,
como se esboza más adelante.
Un circuito de interfaz típica, similar al
mostrado en la Fig. 41, se muestra en la Fig. 57 para asimilar un
enlace de interfaz de Tipo 1. En la Fig. 57, se muestran valores a
título de ejemplo o típicos para el retardo y sesgo de propagación,
para cada una de varias etapas de procesamiento o de interfaz de un
enlace directo MDDI de Tipo 1. El sesgo en el retardo entre
MDDI_Stb y MDDI_Data0 causa que se distorsione el ciclo de
funcionamiento del reloj de salida. Los datos en la entrada D de la
etapa de flip-flop del receptor (RXFF), que utiliza
los flip-flops 5728, 5732, deben cambiar levemente
después del borde del reloj, para que puedan ser muestreados
fiablemente. La figura muestra dos líneas 5732a y 5732b de retardo
en cascada, utilizadas para resolver dos problemas distintos al
crear esta relación de temporización. En la implementación efectiva,
estas puedan combinarse en un único elemento de retardo.
Las líneas Data, Stb y Temporización de
Recuperación de Reloj en un Enlace de Tipo 1, para el procesamiento
a título de ejemplo de señales a través de la interfaz se ilustran
en la Fig. 58.
El sesgo total de retardo que es significativo
generalmente surge o proviene de la suma del sesgo en las siguientes
etapas: flip-flop transmisor (TXFF) con los
flip-flops 5704, 5706; el controlador de transmisor
(TXDRVR) con los controladores 5708, 5710; el CABLE 5702; el
receptor de línea receptora (RXRCVR) con los receptores 5722, 5724;
y la lógica XOR receptora (RXXOR). El Retardo1 5732a debería
coincidir con, o superar, el retardo del puerto XOR 5736 en la
etapa RXXOR, que está determinado por la relación:
\vskip1.000000\baselineskip
Es deseable satisfacer este requisito a fin de
que la entrada D del flip-flop receptor 5728, 5732
no cambie antes de su entrada de reloj. Esto es válido si el tiempo
de retención de RXFP es cero.
El objeto o función del Retardo2 es compensar el
tiempo de retención del flip-flop RXFF, según la
relación:
\vskip1.000000\baselineskip
En muchos sistemas, esto será cero, porque el
tiempo de retención es cero y, por supuesto, en ese caso el retardo
máximo de Retardo2 también puede ser cero.
La contribución del peor caso al sesgo en la
etapa del elemento XOR receptor es en el caso de
datos-tardíos/sondeo-temprano, donde
el Retardo1 está en un valor máximo y la salida del reloj desde el
puerto XOR llega tan pronto como sea posible, según la
relación:
\vskip1.000000\baselineskip
En esta situación, los datos pueden cambiar
entre dos periodos de bit, n y n + 1, muy cercanos al momento donde
el bit n + 1 es sincronizado en el flip-flop
receptor.
La máxima velocidad de datos (mínimo periodo de
bit) de un enlace MDDI de Tipo 1 es una función del máximo sesgo
encontrado por todos los controladores, cables y receptores en el
enlace MDDI, más la configuración total de datos en la etapa RXFF.
El sesgo total de retardo en el enlace, hasta la salida de la etapa
RXRCVR, puede expresarse como:
\vskip1.000000\baselineskip
y el periodo mínimo de bit está
dado
por:
\vskip1.000000\baselineskip
En el ejemplo mostrado en la Fig. 57,
t_{SESGO-máx(ENLACE)} = 1,4 nseg, y el
periodo mínimo de bit puede expresarse como:
o expresarse como aproximadamente
416
Mbps.
Un típico circuito de interfaz, similar al
mostrado en las Figs. 41 y 57, se muestra en la Fig. 59 para incluir
enlaces de interfaz de Tipo 2, III y IV. Se utilizan elementos
adicionales en las etapas TXFF (5904), TXDRVR (5908), RXRCVCR
(5922) y RXFF (5932, 5928, 5930) para incluir el procesamiento de
señales adicionales. En la Fig. 59, se muestran valores a título de
ejemplo o típicos para el retardo y sesgo de propagación, para cada
una de varias etapas de procesamiento o interfaz de un enlace
directo MDDI de Tipo 2. Además del sesgo en el retardo entre
MDDI_Stb y MDDI_Data0 que afecta el ciclo de operación del reloj de
salida, también hay sesgo tanto entre estas dos señales como en las
otras señales MDDI_Data0. Los datos en la entrada D de la etapa del
flip-flop receptor B (RXFFB), que consisten en los
flip-flops 5928 y 5930, están levemente cambiados
después del borde de reloj, por lo que pueden ser muestreados con
fiabilidad. Si MDDI_Data1 llega antes que MDDI_Stb o MDDI_Data0,
entonces MDDI_Data1 debería retardarse para ser muestreado durante
al menos la magnitud del sesgo del retardo. Para lograr esto, los
datos se retardan utilizando la línea de retardo Retardo3. Si
MDDI_Data1 llega después de MDDI_Stb y MDDI_Data0, y también es
retardado por Retardo3, entonces el punto donde MDDI_Data1 cambia
se mueve más cerca del siguiente borde de reloj. Este proceso
determina un límite superior de la velocidad de datos de un enlace
MDDI de Tipo 2, 3 ó 4. Algunas posibilidades distintas a título de
ejemplo para la temporización o la relación de sesgo de dos señales
de datos y MDDI_Stb, cada una con respecto a la otra, se ilustra en
las Figs. 60A, 60B y 60C.
A fin de muestrear datos fiablemente en RXFFB
cuando llega MDDI_DataX lo antes posible, Retardo3 se fija de
acuerdo a la relación:
La máxima velocidad de enlace está determinada
por el mínimo periodo de bit admisible. Esto es afectado en el
máximo grado cuando MDDI_DataX llega lo más tarde posible. En ese
caso, el mínimo tiempo de ciclo admisible está dado por:
\vskip1.000000\baselineskip
La cota superior de la velocidad de enlace es
entonces:
\vskip1.000000\baselineskip
y, dada esa
hipótesis:
\vskip1.000000\baselineskip
En el ejemplo dado anteriormente, la cota
inferior del periodo mínimo de bit está dada por la relación:
lo que es, aproximadamente, 208
Mbps.
\newpage
Esto es mucho más lento que la máxima velocidad
de datos que puede utilizarse con un enlace de Tipo 1. La capacidad
automática de compensación de sesgo del retardo de la MDDI reduce
significativamente el efecto que el sesgo de retardo tiene sobre la
velocidad máxima del enlace.
Las conexiones físicas útiles para implementar
una interfaz según la presente invención pueden realizarse
utilizando piezas comercialmente disponibles, como la pieza número
3260-8S2(01) fabricada por Hirose Electric
Company Ltd. en el lado del servidor, y la pieza número
3240-8P-C fabricada por Hirose
Electric Company Ltd en el lado del dispositivo visor. Una
asignación a título de ejemplo de patillas de interfaz, o
"desglose de patillas", para tales conectores, utilizados con
una interfaz de Tipo-I/Tipo 2, se enumera en la
Tabla XIII, y se ilustra en la
Fig. 61.
Fig. 61.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\newpage
La pantalla está conectada con la HOST_Gnd en la
interfaz del servidor, y un hilo de drenaje apantallado en el cable
está conectado con la pantalla del conector de visor. Sin embargo,
la pantalla y el hilo de drenaje no están conectados con la
descarge de tierra del circuito dentro de un visor.
Los elementos o dispositivos de interconexión se
escogen o se diseñan a fin de que sean lo bastante pequeños para su
empleo con dispositivos móviles de comunicación y cálculo, tales
como las agendas electrónicas y los teléfonos inalámbricos, o los
dispositivos de juegos portátiles, sin ser abultados ni
antiestéticos en comparación con el tamaño relativo del
dispositivo. Todos los conectores y el cableado deberían ser lo
bastante duraderos como para su utilización en el típico entorno de
consumo, y tener presente un tamaño pequeño, especialmente para el
cableado, y de coste relativamente bajo. Los elementos de
transferencia deberían admitir señales de datos y sondeo que sean
datos NRZ diferenciales, con una velocidad de transferencia de hasta
unos 450 Mbps para el Tipo 1 y el Tipo 2, y hasta 3,6 Gbps para la
versión de Tipo 4 paralela de 8 bits.
Para aplicaciones en modalidad interna o bien no
hay conectores en el mismo sentido para los conductores utilizados,
o bien tales elementos de conexión tienden a estar muy
miniaturizados. Un ejemplo son los "zócalos" de nula fuerza de
inserción para recibir circuitos integrados o elementos que albergan
bien al servidor o bien al dispositivo cliente. Otro ejemplo es
cuando el servidor y el cliente residen en placas de circuitos
impresos con diversos conductores de interconexión, y tienen
"patillas" o contactos que se extienden desde cubiertas que
están soldadas a contactos en los conductores para la interconexión
de circuitos integrados.
Un resumen de las etapas generales acometidas al
procesar datos y paquetes durante la operación de una interfaz que
utiliza las realizaciones de la invención se muestra en las Figs.
54A y 54B, junto con una visión general del aparato de interfaz que
procesa los paquetes en la Fig. 55. En estas figuras, el proceso
comienza en una etapa 5402, con una determinación en cuanto a si el
cliente y el servidor están o no conectados utilizando un trayecto
de comunicación, en este caso un cable. Esto puede ocurrir mediante
el empleo de un sondeo periódico por parte del servidor, utilizando
software o hardware que detecta la presencia de conectores o cables
o señales en las entradas al servidor (tal como se ve para las
interfaces USB), u otras técnicas conocidas. Si no hay ningún
cliente conectado con el servidor, entonces puede simplemente
ingresar a un estado de espera de alguna duración predeterminada,
según la aplicación, ingresar a una modalidad de hibernación, o ser
desactivado para esperar un uso futuro, que podría requerir que un
usuario iniciara una acción para reactivar el servidor. Por
ejemplo, cuando un servidor reside en un dispositivo de tipo
ordenador, un usuario podría tener que pinchar en un icono de
pantalla, o solicitar un programa que active el procesamiento del
servidor para buscar al cliente. Nuevamente, el simple enchufe de
una conexión de tipo USB podría activar el procesamiento del
servidor, según las capacidades y configuración del servidor o del
software residente en el
servidor.
servidor.
Una vez que un cliente está conectado con el
servidor, o viceversa, o detectado como presente, bien el cliente,
o bien el servidor, envía los paquetes adecuados solicitando
servicio en las etapas 5405 y 5406. El cliente podría enviar los
paquetes de Solicitud o Estado de Servicio de Cliente en la etapa
5404. Se observa que el enlace, según lo anteriormente expuesto,
podría haber sido apagado previamente, o estar en modalidad de
hibernación, por lo que esto puede no ser una inicialización
completa del enlace de comunicación a continuación. Una vez que el
enlace comunicación está sincronizado y el servidor está intentando
comunicarse con el cliente, el cliente también proporciona un
Paquete de Capacidades de Visor al servidor, como en la etapa 5408.
El servidor puede comenzar ahora a determinar el tipo de soporte,
incluyendo las velocidades de transferencia, que el cliente puede
asimilar.
Generalmente, el servidor y el cliente también
negocian el tipo (velocidad/rapidez) de la modalidad de servicio a
utilizar, por ejemplo, Tipo 1, Tipo 2, y así sucesivamente, en una
etapa 5410. Una vez que está establecido el tipo de servicio, el
servidor puede comenzar a transferir información. Además, el
servidor puede utilizar Paquetes de Medición de Retardo de Ida y
Vuelta para optimizar la temporización de los enlaces de
comunicación, en paralelo con otro procesamiento de señales, según
se muestra en la etapa 5411.
Como se ha establecido anteriormente, todas las
transferencias comienzan con un Paquete de Cabecera de Subtrama,
mostrado durante su transferencia en la etapa 5412, seguido por el
tipo de datos, aquí paquetes de flujo de vídeo y audio, y paquetes
de relleno, mostrados durante su transferencia en la etapa 5414. Los
datos de audio y vídeo han sido previamente preparados o mapeados
en paquetes, y se han insertado paquetes de relleno según se
necesite o se desee, para rellenar un número requerido de bits para
las tramas de medios. El servidor puede enviar paquetes tales como
los Paquetes de Activación de Canal de Audio Directo para activar
dispositivos de sonido. Además, el servidor puede transferir
comandos e información utilizando otros tipos de paquetes expuestos
anteriormente, mostrados aquí como la transferencia de Mapa de
Colores, Transferencia de Bloques de Bits u otros paquetes en la
etapa 5416. Además, el servidor y el cliente pueden intercambiar
datos relacionados con un teclado o dispositivo puntero, utilizando
los paquetes adecuados.
Durante la operación, puede ocurrir uno entre
varios sucesos que llevan al servidor o al cliente a desear una
velocidad de datos, o tipo de modalidad de interfaz, distintos. Por
ejemplo, un ordenador, u otro dispositivo comunicando datos, podría
encontrar condiciones de carga al procesar datos que causan una
ralentización en la preparación o presentación de paquetes. Un
visor que recibe los datos podría cambiar de una fuente de energía
AC dedicada a una fuente de energía por batería más limitada, y bien
no poder transferir los datos hacia adentro tan rápidamente, bien
procesar los comandos tan inmediatamente, o bien no poder utilizar
el mismo grado de resolución o intensidad de color ante los más
limitados valores de potencia. Alternativamente, una condición
restrictiva podría ser abatida o desaparecer, permitiendo a
cualquier dispositivo transferir datos a mayores velocidades.
Siendo esto más deseable, puede efectuarse una solicitud para
cambiar a una modalidad de mayor velocidad de transferencia.
Si ocurren, o cambian, estos, u otros, tipos de
condiciones conocidas, ya sea el servidor o el cliente pueden
detectarlas e intentar renegociar la modalidad de interfaz. Esto se
muestra en la etapa 5420, donde el servidor envía Paquetes de
Solicitud de Traspaso de Tipo al cliente, solicitando un traspaso a
otra modalidad, el cliente envía Paquetes de Acuse de Recibo de
Tipo de Interfaz, confirmando que se busca un cambio, y el servidor
envía Paquetes de Ejecución de Traspaso de Tipo para realizar el
cambio a la modalidad especificada.
Aunque no se requiere un orden específico de
procesamiento, el cliente y el servidor también pueden intercambiar
paquetes relacionados con datos destinados a, o recibidos desde,
dispositivos punteros, teclados u otros dispositivos de entrada de
tipo usuario, asociados principalmente al cliente, aunque tales
elementos también pueden estar presentes en el lado del servidor.
Estos paquetes son típicamente procesados utilizando un elemento de
tipo procesador general, y no la máquina (5502) de estados. Además,
algunos de los comandos anteriormente expuestos también serán
procesados por el procesador general. (5504, 5508).
Después de que los datos y comandos han sido
intercambiados entre el servidor y el cliente, en algún punto se
toma una decisión en cuanto a si han de transferirse o no datos
adicionales, o si el servidor o el cliente va a cesar de prestar
servicio a la transferencia. Esto se muestra en la etapa 5422. Si el
enlace va a entrar bien a un estado de hibernación, o bien a un
cierre por completo, el servidor envía un paquete de Cierre de
Enlace al cliente, y ambas partes terminan la transferencia de
datos.
Los paquetes que se transfieren en el
procesamiento anterior de operaciones serán transferidos utilizando
los controladores y receptores previamente expuestos con relación a
los controladores del servidor y del cliente. Estos controladores
de línea y de otros elementos lógicos están conectados con la
máquina de estados y los procesadores generales anteriormente
expuestos, según se ilustra en la visión general de la Fig. 55. En
la Fig. 55, una máquina 5502 de estados y los procesadores
generales 5504 y 5508 pueden conectarse adicionalmente con otros
elementos no mostrados, tales como una interfaz USB dedicada,
elementos de memoria, u otros componentes que residen fuera del
controlador de enlace con el cual interactúan, incluyendo, pero sin
limitarse a, la fuente de datos, y los chips de control de vídeo
para los dispositivos de visualización.
Los procesadores y la máquina de estados
proporcionan control sobre la activación y desactivación de los
controladores, según lo anteriormente expuesto con relación a los
tiempos de guardia, etc., para garantizar el establecimiento o
terminación del enlace de comunicación, y la transferencia de
paquetes.
Los requisitos de almacenamiento temporal de
datos de vídeo son distintos para imágenes de vídeo en movimiento,
en comparación con los gráficos de ordenador. Los datos de píxeles
se almacenan muy frecuentemente en un almacén temporal local de
tramas en el cliente, de forma que la imagen en el visor pueda
refrescarse localmente.
Cuando se está visualizando vídeo de movimiento
completo (casi todo píxel en el visor cambia en cada Trama de
Medios), se prefiere, usualmente, almacenar los datos de píxeles
entrantes en un almacén temporal de tramas, mientras que la imagen
en el visor está siendo refrescada desde un segundo almacén temporal
de tramas. Pueden utilizarse más de dos almacenes temporales de
visor, para eliminar efectos visibles como los descritos más
adelante. Cuando una imagen entera ha sido recibida en un almacén
temporal de tramas, pueden conmutarse los roles de los almacenes
temporales, y la imagen recientemente recibida se utiliza entonces
para refrescar el visor, y el otro almacén temporal se llena con la
próxima trama de la imagen. Este concepto se ilustra en la Fig.
91A, donde los datos de píxeles se escriben en el almacén temporal
de imágenes fuera de línea fijando los bits de Actualización de
Visor
en "01".
en "01".
En otras aplicaciones, el servidor necesita
actualizar sólo una pequeña porción de la imagen, sin tener que
repintar la imagen completa. En esta situación, se desea escribir
los nuevos píxeles directamente en el almacén temporal utilizado
para refrescar el visor, como se ilustra en detalle en la Fig.
91B.
En aplicaciones que tienen una imagen fija con
una pequeña ventana de vídeo, lo más fácil es escribir la imagen
fija en ambos almacenes temporales (los bits de actualización del
visor son iguales a "11"), como se muestra en la Fig. 91C, y
escribir posteriormente los píxeles de la imagen en movimiento en el
almacén temporal en línea fijando los bits de actualización del
visor en "01".
Las siguientes normas describen la manipulación
útil de los punteros de almacén temporal al escribir la nueva
información al cliente y refrescar el visor simultáneamente. Existen
tres punteros de almacén temporal: actualmente_llenado apunta al
almacén temporal que está siendo actualmente llenado con datos por
el enlace MDDI. recién_llenado apunta al almacén temporal que ha
sido llenado más recientemente. en_visualización apunta al almacén
temporal que está siendo actualmente utilizado para refrescar el
visor. Los tres punteros de almacén temporal pueden contener
valores entre 0 y N-1, donde N es el número de
almacenes temporales del visor, y N > 2. Las operaciones
aritméticas sobre los punteros de almacén temporal son mod N, p.
ej., cuando N = 3 y actualmente_llenado = 2, el incremento de
actualmente_llenado causa que actualmente_llenado sea fijado en 0.
En el caso sencillo donde N = 2, recién_llenado es siempre el
complemento del actualmente_llenado. En todo límite de Trama de
Medios MDDI (Paquete de Cabecera de Subtrama con el campo Total de
Subtrama igual a cero), realizar las siguientes operaciones en el
orden especificado: fijar recién_llenado al valor de
actualmente_llenado, y fijar actualmente_llenado igual a
actualmente_llenado + 1.
Los Paquetes de Flujo de Vídeo MDDI actualizan
los almacenes temporales según la estructura o metodología
siguiente: cuando los Bits de Actualización de Visor son iguales a
`01', los datos de píxeles se escriben en el almacén temporal
especificado por actualmente_llenado; cuando los Bits de
Actualización de Visor son iguales a `00', los datos de píxeles se
escriben en el almacén temporal especificado por recién_llenado; y
cuando los Bits de Actualización de Visor son iguales a "11",
los datos de píxeles se escriben en todos los almacenes temporales.
El visor se refresca desde el almacén temporal especificado por el
puntero en_visualización. Después de que el visor refresca el
último píxel en un origen de refresco de tramas, y antes de que
comience a refrescar el primer píxel en el siguiente origen de
refresco de tramas, el proceso de actualización del visor realiza
la operación de fijar el puntero en_refresco con el valor de
recién_llenado;
El Paquete de Flujo de Vídeo contiene un par de
Bits de Actualización de Visor que especifican el almacén temporal
de tramas donde se escribirán los datos de píxeles. El Paquete de
Capacidad de Visor tiene tres bits adicionales que indican qué
combinaciones de los Bits de Actualización de Visor disponen de
soporte en el cliente En muchos casos, las imágenes generadas por
ordenador necesitan actualizarse incrementalmente, basándose en la
entrada del usuario, o derivándose de información recibida desde una
red de ordenadores. Las combinaciones "00" y "11" de los
Bits de Actualización del Visor brindan soporte a esta modalidad de
operación, causando que los datos de píxeles se escriban en el
almacén temporal de tramas que está visualizándose, o en ambos
almacenes temporales de
tramas.
tramas.
Al asimilar imágenes de vídeo, la Fig. 92
ilustra cómo las imágenes de vídeo se visualizan utilizando un par
de almacenes temporales de tramas cuando los datos de vídeo se
transmiten por el enlace MDDI con los Bits de Actualización de
Visor iguales a "01". Después de que se detecta un límite de
trama de medios en el enlace MDDI, el proceso de refresco del visor
comenzará a refrescar a partir del siguiente almacén temporal de
tramas cuando el proceso de refresco para la trama actualmente
refrescada se haya completado.
Una hipótesis importante relacionada con la Fig.
92 es que la imagen es recibida desde el servidor como un flujo
continuo de píxeles que se transmiten en el mismo orden que el
cliente emplea para leer los píxeles desde el almacén temporal de
tramas para refrescar el visor (usualmente desde el extremo superior
izquierdo, leyendo fila por fila, hasta la esquina inferior derecha
de la pantalla. Este es un detalle importante en los casos donde
las operaciones de Refresco de Visor y Transferencia de Imagen hacen
referencia al mismo almacén temporal de tramas.
Es necesario que la velocidad de refresco de
tramas de visor sea mayor que la velocidad de transferencia de
tramas de imagen, para evitar exhibir imágenes parciales. La Fig. 93
muestra cómo puede ocurrir la fragmentación de imágenes con una
velocidad lenta de refresco de visor, esto es, el refresco del visor
es más lento que la transferencia de imagen.
En una imagen que contiene una combinación de
imágenes gráficas de ordenador e imágenes de vídeo en movimiento,
los datos de píxeles de vídeo podrían ocupar una pequeña porción de
una trama de medios. Esto podría ser significativo en situaciones
donde la operación de refresco de visor y la transferencia de
imágenes se refieren al mismo almacén temporal de tramas. Estas
situaciones se muestran con un sombreado con cruces en la Fig. 94,
donde los píxeles leídos del almacén temporal para refrescar el
visor podrían ser los píxeles escritos en el almacén temporal dos
tramas atrás, o pueden corresponder a la trama que está siendo
escrita inmediatamente en el mismo almacén temporal de tramas.
El empleo de tres almacenes temporales de tramas
en el cliente resolverá el problema de la pequeña ventana de
contención para acceder a un almacén temporal de tramas, como se
muestra en la Fig. 95.
Sin embargo, aún hay un problema si la velocidad
de refresco del visor es menor que la velocidad de tramas de medios
por el enlace MDDI, según se muestra en la Fig. 96.
El uso de un único almacén temporal para mover
imágenes de vídeo es algo problemático, según se muestra en la Fig.
97. Con el refresco de visor más rápido que la transferencia de
imágenes hacia el almacén temporal, la imagen que está siendo
refrescada mostrará a veces la porción superior de la trama que se
está escribiendo, y la porción inferior de la imagen será la trama
previamente transferida. Con el refresco del visor más rápido que
la transferencia de imágenes (la modalidad preferida de operación)
habrá instancias más frecuentes de tramas que muestran una imagen
partida similar.
\newpage
El Paquete de Parámetros de Retardo de
Procesamiento de Paquetes utiliza una función de búsqueda en tabla
para calcular el retardo predicho para procesar ciertos comandos en
el cliente. Los valores en la tabla aumentan de forma logarítmica
para proporcionar una gama dinámica muy amplia de valores de
retardo. Una tabla a título de ejemplo de valores de retardo, útil
para implementar realizaciones de la invención, se halla en la Tabla
XX a continuación, con los valores de índices correspondientes con
respecto a los valores de retardo.
\vskip1.000000\baselineskip
El retardo se calcula realizando una búsqueda en
tabla, utilizando el parámetro especificado como un índice en la
tabla. Esto significa que un retardo es igual a
TablaProcesamientoPaquetes(índice). Por ejemplo: si uno de los
parámetros del Elemento de la Lista de Parámetros de Retardo es un
valor de 8 bits igual a 134, entonces el retardo es igual a
TablaProcesamientoPaquetes(134), que es 16 \museg. El valor
255 indica que el tiempo de ejecución del comando no puede
determinarse por cálculo, y que el servidor debe comprobar los
Indicadores Activos de Gráficos en el Paquete de Solicitud y Estado
de Visor, o el Parámetro de Control B7h del VCP del MCCS.
En algunos casos, este retardo se multiplica por
la altura, ancho o número de píxeles en la imagen de destino, y se
añade a otros retardos para calcular el retardo global de
procesamiento de paquete.
La versión actual del protocolo no parece
prestar soporte directamente a múltiples dispositivos clientes. Sin
embargo, la mayoría de los paquetes contienen un campo reservado
Identificador de Cliente que puede utilizarse para dirigirse a
dispositivos clientes específicos en un sistema con múltiples
clientes. Actualmente, para muchas aplicaciones, este Identificador
de cliente, o estos Identificadores de clientes, se fijan en cero.
El paquete de cabecera de subtrama también contiene un campo para
indicar si el servidor presta soporte o no a un sistema de
múltiples clientes. Por lo tanto, hay una manera en la cual
múltiples dispositivos clientes probablemente serían conectados y
direccionados en futuras aplicaciones de la interfaz o protocolo MDD
para ayudar a los diseñadores de sistemas a planificar la
compatibilidad futura con múltiples servidores y clientes.
En sistemas con múltiples clientes es útil que
los clientes estén conectados al servidor utilizando un
encadenamiento activo de clientes, o utilizando concentradores,
como se muestra en la Fig. 98, o bien utilizando una combinación de
estas técnicas, como se muestra en la Fig. 99.
Además de los formatos, estructuras y contenidos
expuestos anteriormente para los diversos paquetes utilizados para
implementar la arquitectura y el protocolo para realizaciones de la
invención, se presentan aquí contenidos de campos u operaciones más
detallados para algunos de los tipos de paquetes. Estos se presentan
aquí para clarificar adicionalmente su respectivo uso u
operaciones, para permitir a aquellos versados en la técnica
comprender más inmediatamente y hacer uso de la invención para una
gran variedad de aplicaciones. Sólo unos pocos de los campos no
expuestos ya se exponen aquí adicionalmente. Además, estos campos se
presentan con definiciones y valores a título de ejemplo con
respecto a las realizaciones presentadas anteriormente. Sin
embargo, tales valores no deben tomarse como limitaciones de la
invención, sino que representan una o más realizaciones útiles para
implementar la interfaz y el protocolo, y no todas las realizaciones
deben practicarse juntas o al mismo tiempo. Pueden emplearse otros
valores en otras realizaciones para lograr la presentación deseada
de los datos, o de los resultados de la velocidad de transferencia
de los datos, como entenderán aquellos versados en la técnica.
En una realización, el campo Atributos de Datos
de Píxel (2 bytes) tiene una serie de valores de bit que se
interpretan de la siguiente manera. Los Bits 1 y 0 seleccionan cómo
se encaminan los datos de píxeles del visor. Para valores de bits
de `11', los datos se visualizan en, o para, ambos ojos; para los
valores de bits `10', los datos se encaminan sólo al ojo izquierdo,
para los valores de bits `01', los datos se encaminan sólo al ojo
derecho, y para los valores de bits de `00', los datos se encaminan
a un visor alternativo, como el que puede especificarse con los
bits 8 a 11 expuestos más adelante.
El Bit 2 indica si los Datos de Píxeles se
presentan o no en un formato entrelazado, donde un valor de `0'
significa que los datos de píxeles están en el formato progresivo
estándar, y que el número de fila (coordenada Y del píxel) se
incrementa en 1 cuando se avanza desde una fila a la siguiente.
Cuando este bit tiene un valor de `1', los datos de píxeles están
en formato entrelazado, y el número de fila se incrementa en 2 al
avanzar desde una fila a la siguiente. El Bit 3 indica que los
Datos de Píxeles están en formato alternativo de píxel. Esto es
similar a la modalidad entrelazada estándar habilitada por el bit 2,
pero el entrelazado es vertical, en lugar de horizontal. Cuando el
Bit 3 es `0', los Datos de Píxeles están en el formato progresivo
estándar, y el número de columna (coordenada X del píxel) se
incrementa en 1 según se recibe cada píxel sucesivo. Cuando el Bit
3 es `1', los Datos de Píxel están en formato alternativo de píxel,
y el número de columna se incrementa en 2 según se recibe cada
píxel.
El Bit 4 indica si los Datos de Píxeles se
relacionan o no con un visor o una cámara, como cuando los datos se
transfieren a o desde un visor interno para un teléfono inalámbrico,
o dispositivo similar, o incluso un ordenador portátil, o tales
otros dispositivos como los anteriormente expuestos, o los datos se
transfieren a o desde una cámara integrada en, o directamente
acoplada con, el dispositivo. Cuando el Bit 4 es `0', los Datos de
Píxeles se transfieren a o desde un almacén temporal de tramas de
visor. Cuando el Bit 4 es `1', los Datos de Píxeles se transfieren
a o desde una cámara o dispositivo de vídeo de algún tipo, siendo
tales dispositivos bien conocidos en la técnica.
El Bit 5 se utiliza para indicar que los datos
de píxeles contienen la siguiente fila consecutiva de píxeles en el
visor. Se considera que este es el caso cuando el Bit 5 se fija
igual a `1'. Cuando el Bit 5 se fija en `1', entonces los
parámetros Borde Izquierdo X, Borde Superior Y, Borde Derecho X,
Borde Inferior Y, Inicio X e Inicio Y no están definidos y son
ignorados por el cliente. Cuando el Bit 15 se fija en un nivel de
uno lógico, esto indica que los datos de píxeles en este paquete
son la última fila de píxeles en la imagen. El Bit 8 del campo
Indicadores de Capacidad de Característica de Cliente del Paquete
Capacidad del Cliente indica si esta característica dispone de
soporte.
Los Bits 7 y 6 son Bits de Actualización de
Visor que especifican un almacén temporal de tramas donde los datos
de píxeles han de escribirse. Los efectos más específicos se exponen
en otro sitio. Para valores de bit de `01', los Datos de Píxeles se
escriben en el almacén temporal de imágenes fuera de línea. Para los
valores de bit de `00', los Datos de Píxeles se escriben en el
almacén temporal de imágenes utilizado para refrescar el visor.
Para valores de bit de `11', los Datos de Píxeles se escriben en
todos los almacenes temporales de imágenes. Los valores de bit, o
la combinación, `10' se trata como un valor o asignación inválida, y
los Datos de Píxeles se ignoran y no se escriben en ninguno de los
almacenes temporales de imágenes. Este valor puede tener uso para
aplicaciones futuras de la interfaz.
Los Bits 8 a 11 forman un entero sin signo de 4
bits que especifica un visor, o ubicación de visor, alternativo,
donde los datos de píxeles han de encaminarse. Los Bits 0 y 1 se
fijan iguales a `00' a fin de que el cliente visor interprete los
bits 8 a 11 como un número de visor alternativo. Si los bits 0 y 1
no son iguales a `00', entonces los bits 8 a 11 se fijan en niveles
de cero lógico.
Los Bits 12 a 14 están reservados para uso
futuro y generalmente se fijan en niveles de cero lógico. El Bit
15, como se ha expuesto, se utiliza conjuntamente con el bit 5, y
fijar el bit 15 al valor de uno lógico indica que la fila de
píxeles en el campo Datos de Píxeles es la última fila de píxeles en
una trama de datos. El siguiente Paquete de Flujo de Vídeo con el
bit 5 fijado en el uno lógico corresponderá a la primera línea de
píxeles de la próxima trama de vídeo.
Los campos Inicio X e Inicio Y, de 2 bytes,
especifican las coordenadas absolutas X e Y del punto (Inicio X,
Inicio Y) para el primer píxel en el campo Datos de Píxeles. Los
campos Borde Izquierdo X y Borde Superior Y, de 2 bytes,
especifican la coordenada X del borde izquierdo y la coordenada Y
del borde superior de la ventana de pantalla rellenada por el campo
Datos de Píxeles, mientras que los campos Borde Derecho X y Borde
Inferior Y especifican la coordenada X del borde derecho y la
coordenada Y del borde inferior de la ventana que se está
actualizando.
El campo Total de Píxeles (2 bytes) especifica
el número de píxeles en el campo Datos de Píxeles más adelante.
El campo CRC de Parámetros (2 bytes) contiene un
CRC de todos los bytes desde la Longitud de Paquete hasta el Total
de Píxeles. Si este CRC no confirma la comprobación, entonces se
descarta el paquete entero.
El campo Datos de Píxeles contiene la
información de vídeo no procesado que debe exhibirse, y que está
formateada de la manera descrita por el campo Descriptor de Formato
de Datos de Vídeo. Los datos se transmiten de a una "fila" por
vez, como se ha expuesto en otro sitio.
El campo CRC de Datos de Píxeles (2 bytes)
contiene un CRC de 16 bits sólo de los Datos de Píxeles. Si una
verificación del CRC de este valor falla, entonces los Datos de
Píxeles aún pueden utilizarse, pero el contador de errores de CRC
se incrementa.
En una realización, el campo Identificador de
Canal de Audio (1 byte) utiliza un valor entero sin signo de 8 bits
para identificar un canal específico de audio, al cual los datos de
audio son enviados por el dispositivo cliente. Los canales físicos
de audio se especifican como, o se mapean a, canales físicos
mediante este campo, como valores 0, 1, 2, 3, 4, 5, 6 ó 7, que
indican, respectivamente, los canales izquierdo frontal, derecho
frontal, izquierdo trasero, derecho trasero, central frontal, de
graves, izquierdo envolvente, y derecho envolvente. Un valor de
Identificador de canal de audio de 254 indica que el flujo
individual de muestras de audio digital se envía a ambos canales
izquierdo frontal y derecho frontal. Esto simplifica las
comunicaciones para aplicaciones tales como aquellas donde se
utiliza un auricular estéreo para la comunicación de voz, o se
utilizan artefactos de mejora de productividad en una agenda
electrónica, u otras aplicaciones donde una Interfaz de Usuario
sencilla genera tonos de advertencia. Los valores para el campo del
Identificador entre 8 y 253, y el valor 255, están actualmente
reservados para su uso allí donde los nuevos diseños deseen
asignaciones adicionales, según lo anticipado por aquellos versados
en la técnica.
El campo Reservado 1 (1 byte) está generalmente
reservado para uso futuro, y tiene todos los bits en este campo
fijados en cero. Una función de este campo es causar que todos los
campos subsiguientes de 2 bytes se alineen a una palabra de
dirección de 16 bits, y causar que los campos de 4 bytes se alineen
a una palabra de dirección de 32 bits.
El campo Total de Muestras de Audio (2 bytes)
especifica el número de muestras de audio en este paquete.
El campo Bits por Muestra y Empaquetado contiene
1 byte que especifica el formato de empaquetado de los datos de
audio. En una realización, el formato generalmente empleado es que
los Bits 4 a 0 definan el número de bits por muestra de audio PCM.
El Bit 5 especifica entonces si las muestras de Datos de Audio
Digital están o no empaquetadas. Como se ha mencionado
anteriormente, la Fig. 12 ilustra la diferencia entre muestras de
audio empaquetadas y alineadas a byte. Un valor de `0' para el Bit 5
indica que cada muestra de audio PCM en el campo Datos de Audio
Digital está alineado por byte con el límite de byte de interfaz, y
un valor de `1' india que cada muestra sucesiva de audio PCM está
empaquetada con la muestra de audio previa. Este bit es efectivo
sólo cuando el valor definido en los bits 4 a 0 (el número de bits
por muestra de audio PCM) no es un múltiplo de ocho. Los Bits 7 a 6
se reservan para su uso allí donde los diseñadores de sistemas
deseen asignaciones adicionales, y generalmente se fijan en un
valor cero.
El campo Velocidad de Muestra de Audio (1 byte)
especifica la velocidad de muestra de audio PCM. El formato
empleado es para que un valor de 0 indique una velocidad de 8.000
muestras por segundo (mps), un valor de 1 indica 16.000 mps., un
valor de 2, 24.000 mps, un valor de 3, 32.000 mps, un valor de 4,
40.000 mps, un valor de 5, 48.000 mps, un valor de 6, 11.025 mps,
un valor de 7, 22.050 mps y un valor de 8, 44.100 mps,
respectivamente, estando los valores entre 9 y 255 reservados para
uso futuro, por lo que actualmente se fijan en cero.
El campo CRC de Parámetros (2 bytes) contiene un
CRC de 16 bits de todos los bytes desde la Longitud de Paquete a la
Velocidad de Muestra de Audio. Si este CRC no confirma la
comprobación adecuadamente, entonces se descarta el paquete entero.
El campo Datos de Audio Digital contiene las muestras de audio no
procesado a reproducir, y usualmente tiene la forma de un formato
lineal de enteros sin signo. El campo CRC de Datos de Audio (2
bytes) contiene un CRC de 16 bits sólo de los Datos de Audio. Si
este CRC no confirma la comprobación, entonces los Datos de Audio
aún pueden utilizarse, pero el contador de errores de CRC se
incrementa.
En una realización, el campo Número de
Identificador de Flujo, de 2 bytes, se utiliza para identificar un
flujo específico definido por el usuario. El contenido de los campos
Parámetros de Flujo y Datos de Flujo está típicamente definido por
el fabricante del equipo MDDI. El campo CRC de Parámetros de Flujo,
de 2 bytes, contiene un CRC de 16 bits de todos los bytes de los
parámetros del flujo, a partir de la Longitud de Paquete y hasta el
byte de Codificación de Audio. Si este CRC falla en la comprobación,
entonces se descarta el paquete entero. Ambos campos Parámetros de
Flujo y CRC de Parámetros de Flujo pueden descartarse si no son
necesarios para una aplicación final de la interfaz MDD, es decir,
son considerados optativos. El campo CRC de Datos de Flujo, de 2
bytes, contiene un CRC sólo de los Datos de Flujo. Si este CRC no
confirma la comprobación adecuadamente, entonces el uso de los
Datos de Flujo es optativo, según los requisitos de la aplicación.
El empleo de los datos de flujo, condicionados al CRC válido,
requiere generalmente que los datos de flujo sean almacenados
temporalmente hasta que el CRC se confirme como correcto. El
contador de errores de CRC se incrementa si el CRC no es
correcto.
El campo Identificador de hCliente, de 2 bytes,
contiene información o valores que están reservados para un
Identificador de Cliente, como se ha utilizado anteriormente. Como
este campo está generalmente reservado para uso futuro, el valor
actual se fija en cero, fijando sus bits en `0'.
El campo Total de Elementos de Mapa de Colores,
de 2 bytes, utiliza valores para especificar el número total de
elementos del mapa de colores, de 3 bytes, que están contenidos en
el campo Datos de Mapa de Colores, o las entradas de la tabla del
mapa de colores que existen en los Datos de Mapa de Colores en este
paquete. En esta realización, el número de bytes en los Datos de
Mapa de Colores es 3 veces el Total de Elementos de Mapa de
Colores. El Total de Elementos de Mapa de Colores se fija igual a
cero para no enviar ningún dato de mapa de colores. Si el Tamaño
del Mapa de Colores es cero, entonces aún se envía, generalmente, un
valor de Desplazamiento de Mapa de Colores, pero es ignorado por el
visor. El campo Desplazamiento de Mapa de Colores (4 bytes)
especifica el desplazamiento de los Datos de Mapa de Colores en este
paquete, desde el principio de la tabla de mapa de colores en el
dispositivo
cliente.
cliente.
Un campo CRC de Parámetros, de 2 bytes, contiene
un CRC de todos los bytes desde la Longitud de Paquete hasta el
byte de Codificación de Audio. Si este CRC no confirma la
comprobación, entonces se descarta el paquete entero.
Para el campo Datos de Mapa de Colores, el ancho
de cada ubicación del mapa de colores está especificado por el
campo Tamaño de Elemento del Mapa de Colores, donde, en una
realización, la primera parte especifica la magnitud del azul, la
segunda parte especifica la magnitud del verde, y la tercera parte
especifica la magnitud del rojo. El campo Tamaño del Mapa de
Colores especifica el número de elementos de la tabla de mapa de
colores, de 3 bytes, que existen en el campo Datos de Mapa de
Colores. Si un mapa de colores individual no cabe en un Paquete de
Formato de Datos de Vídeo y Mapa de Colores, entonces puede
especificarse el mapa de colores entero enviando múltiples paquetes
con distintos Datos de Mapa de Colores y Desplazamientos de Mapa de
Colores en cada paquete. El número de bits de azul, verde y rojo en
cada elemento de datos del mapa de colores será el mismo que el
especificado en el campo Ancho RGB de Mapa de Colores del Paquete de
Capacidad de Visor.
Un campo CRC de Datos de Mapa de Colores, de 2
bytes, contiene un CRC sólo de los Datos de Mapa de Colores. Si
este CRC no confirma la comprobación, entonces los Datos de Mapa de
Colores aún pueden utilizarse, pero el contador de errores de CRC
se incrementa.
Cada elemento de datos del mapa de colores debe
transmitirse en el orden: azul, verde, rojo, con el bit menos
significativo de cada componente transmitido en primer término. Los
componentes individuales azules, verdes y rojos de cada elemento
del mapa de colores estarán empaquetados, pero cada elemento del
mapa de colores (el bit menos significativo del componente azul)
debería estar alineado por byte. La Fig. 100 ilustra un ejemplo de
elementos de datos del mapa de colores con 6 bits de azul, 8 bits de
verde y 7 bits de rojo. Para este ejemplo, el Tamaño de Elemento de
Mapa de Colores en el Paquete de Mapa de Colores es igual a 21, el
campo Ancho RGB de Mapa de Colores del Paquete de Capacidad de
Visor es igual a 0x0786.
El campo CRC de Parámetros (2 bytes) contiene un
CRC de 16 bits de todos los bytes desde la Longitud de Paquete
hasta la Longitud de Giro. Si este CRC no confirma la comprobación,
entonces se descarta el paquete entero.
En una realización, el campo Indicadores de
Enlace Inverso (1 byte) contiene un conjunto de indicadores para
solicitar información del cliente. Si un bit (por ejemplo, el Bit 0)
se fija en uno, entonces el servidor solicita la información
especificada del visor utilizando el Paquete de Capacidad de
Cliente. Si el bit es cero, entonces el servidor no necesita la
información del cliente. Los bits restantes (aquí, los Bits 1 a 7)
están reservados para uso futuro y se fijan en cero. Sin embargo,
pueden utilizarse más bits, según se desee, para establecer
indicadores para el enlace inverso.
El campo Divisor de Velocidad Inversa (1 byte)
especifica el número de ciclos MDDI_Stb que ocurren con relación al
reloj de datos del enlace inverso. El reloj de datos del enlace
inverso es igual al reloj de datos del enlace directo dividido
entre dos veces el Divisor de Velocidad Inversa. La velocidad de
datos del enlace inverso está relacionada con el reloj de datos del
enlace inverso y con el Tipo de Interfaz en el enlace inverso. Para
una interfaz de Tipo 1, la velocidad de datos inversa es igual al
reloj de datos del enlace inverso, para interfaces de Tipo 2, Tipo
3 y Tipo 4, las velocidades de datos inversas son iguales a dos
veces, cuatro veces y ocho veces el reloj de datos del enlace
inverso, respectivamente.
El campo Todos Ceros 1 contiene un grupo de
bytes, aquí 8, que se fijan iguales a un valor cero, fijando los
bits a un nivel de cero lógico, y se utiliza para garantizar que
todas las señales MDDI_Data están en un nivel de cero lógico
durante un tiempo suficiente para permitir que el cliente comience a
recuperar el reloj, utilizando sólo MDDI_Stb antes de desactivar
los controladores de línea del servidor durante el campo Giro 1. En
una realización, la longitud del campo Todos Ceros 1 es mayor o
igual que el número de tiempos de transmisión de bytes del enlace
directo en el retardo de ida y vuelta del cable.
El campo Longitud de Giro 1 (1 byte) especifica
el número total de bytes que están asignados para el Giro 1,
estableciendo el primer periodo de giro. El número de bytes
especificado por el parámetro Longitud de Giro 1 se adjudican para
permitir que los controladores de línea de MDDI_Data en el cliente
se activen antes de que los controladores de línea en el servidor
se desactiven. El cliente activa sus controladores de línea
MDDI_Data durante el bit 0 del Giro 1, y el servidor desactiva sus
salidas para estar completamente desactivado antes del último bit
del Giro 1. La temporización de la activación del controlador del
cliente y la desactivación de los procesos del controlador del
servidor es tal que uno, o ambos, alimentan las señales MDDI_Data a
un nivel de cero lógico durante todo el Giro 1, como lo ven los
receptores de línea en el servidor. La señal MDDI_Stb actúa como si
MDDI_Data0 estuviera en un nivel de cero lógico durante todo el
periodo Giro 1. Una descripción más completa de la configuración de
Giro 1 se ha proporcionado anteriormente.
El campo Paquetes de Datos Inversos contiene una
serie de paquetes de datos transferidos desde el cliente al
servidor. El cliente puede enviar paquetes de relleno o alimenta las
líneas MDDI_Data a un estado cero cuando no tiene datos para enviar
al servidor. Si las líneas MDDI_Data se alimentan al cero, el
servidor interpretará esto como un paquete de longitud cero (una
longitud inválida) y el servidor no aceptará paquetes adicionales
del cliente durante el actual Paquete de Encapsulación de Enlace
Inverso.
El campo Longitud de Giro 2 (1 byte) especifica
el número total de bytes que están asignados para el Giro 2, para
establecer un segundo periodo de giro. El número de bytes
especificado por el parámetro Longitud de Giro se asignan para
permitir que los controladores de línea MDDI_Data en el servidor se
activen antes de que los controladores de línea en el cliente se
desactiven. El servidor activa sus controladores de línea MDDI_Data
durante el bit 0 del primer byte en el Giro 2, y el cliente
desactiva sus salidas, para que estén completamente desactivadas
antes del último bit de Giro 2. La temporización de la desactivación
del controlador del cliente y la activación de los procesos
controladores del servidor es tal que uno o ambos alimentan las
señales MDDI_Data a un nivel de cero lógico durante todo el periodo
Giro 2, según lo ven los receptores de línea en el servidor. La
señal MDDI_Stb actúa como si MDDI_Data0 estuviera en un nivel de
cero lógico durante todo el periodo Giro 2. Una descripción de la
configuración de Giro 2 se ha proporcionado anteriormente.
El campo Paquetes de Datos Inversos contiene una
serie de paquetes de datos transferidos desde el cliente a un
servidor. Como se ha afirmado anteriormente, los paquetes de Relleno
se envían para llenar el espacio restante que no es utilizado por
otros tipos de paquetes.
El campo Todos Ceros 2 contiene un grupo de
bytes (8 en esta realización) que se fijan iguales a un valor cero,
fijando los bits en un nivel de cero lógico, y se utiliza para
garantizar que todas las señales MDDI_Data están en un nivel de
cero lógico durante un tiempo suficiente para permitir que el
cliente comience a recuperar el reloj, utilizando ambas líneas
MDDI_Data0 y MDDI_Stb después de activar los controladores de línea
del servidor a continuación del campo Giro 2.
Como ilustra una realización, el campo Versión
de Protocolo utiliza 2 bytes para especificar una versión de
protocolo utilizada por el cliente. La versión inicial se fija igual
a cero, mientras que el campo Versión Mínima de Protocolo utiliza 2
bytes para especificar la versión mínima del protocolo que el
cliente puede emplear o interpretar. El campo Capacidad de
Velocidad de Datos (2 bytes) especifica la máxima velocidad de
datos que el cliente puede recibir por el enlace directo de la
interfaz, y está especificado en forma de megabits por segundo
(Mbps). El campo Capacidad de Tipo de Interfaz (1 byte) especifica
los tipos de interfaz que disponen de soporte en los enlaces
directo e inverso. Esto se indica actualmente seleccionando el Bit
0, el Bit 1 o el Bit 2 para seleccionar una modalidad de Tipo 2,
Tipo 3 o Tipo 4, respectivamente, en el enlace directo; y el Bit 3,
el Bit 4 o el Bit 5 para seleccionar una modalidad de Tipo 2, Tipo 3
o Tipo 4, respectivamente, en el enlace inverso; estando los Bits 6
y 7 reservados y fijados en cero. Los campos Ancho y Altura de Mapa
de Bits (2 bytes) especifican, respectivamente, el ancho y la altura
del mapa de bits, en píxeles.
El campo Capacidad Monocromática (1 byte) se
utiliza para especificar el número de bits de resolución que pueden
visualizarse en un formato monocromático. Si un visor no puede
utilizar un formato monocromático, entonces este valor se fija en
cero. Los Bits 7 a 4 se reservan para uso futuro y, por ello, se
fijan en cero. Los Bits 3 a 0 definen el máximo número de bits de
escala de grises que pueden existir para cada píxel. Estos cuatro
bits hacen posible especificar valores de 1 a 15 para cada píxel. Si
el valor es cero, entonces el formato monocromático no dispone de
soporte en el visor.
El campo Capacidad Bayer utiliza 1 byte para
especificar el número de bits de resolución, grupo de píxeles y
orden de píxeles que pueden transferirse en formato Bayer. Si el
cliente no puede utilizar el formato Bayer, entonces este valor es
cero. El campo Capacidad Bayer se compone de los siguientes valores:
los Bits 3 a 0 definen el número máximo de bits de intensidad que
existe en cada píxel, mientras que los Bits 5 a 4 definen el patrón
del grupo de píxeles que se requiere, mientras que los Bits 8 a 6
definen el orden de píxeles que se requiere; estando los Bits 14 a
9 reservados para uso futuro, y generalmente fijados en cero
mientras tanto. El Bit 15, cuando está fijado en uno, indica que el
cliente puede aceptar datos de píxeles Bayer en formato empaquetado
o desempaquetado. Si el bit 15 está fijado en cero, esto indica que
el cliente puede aceptar datos de píxeles Bayer sólo en formato
desempaquetado.
El campo Capacidad de Mapa de Colores (3 bytes)
especifica el número de elementos de tabla que existen en la tabla
de mapa de colores en el visor. Si el visor no puede utilizar el
formato de mapa de colores, entonces este valor se fija en
cero.
El campo Capacidad RGB (2 bytes) especifica el
número de bits de resolución que pueden visualizarse en formato
RGB. Si el visor no puede utilizar el formato RGB, entonces este
valor es igual a cero. La palabra de Capacidad RGB se compone de
tres valores sin signo distintos, donde: los Bits 3 a 0 definen el
número máximo de bits de azul, los Bits 7 a 4 definen el número
máximo de bits de verde y los Bits 11 a 8 definen el número máximo
de bits de rojo en cada píxel. Actualmente, los Bits 14 a 12 están
reservados para uso futuro y se fijan generalmente en cero. Los
Bits 14 a 12 están reservados para uso futuro y se fijan
generalmente en cero. El Bit 15, cuando se fija en uno, indica que
el cliente puede aceptar datos de píxeles de Mapa de Colores en
formato empaquetado o desempaquetado. Si el bit 15 se fija en cero,
esto indica que el cliente puede aceptar datos de píxeles de Mapa
de Colores sólo en formato desempaquetado.
El campo Capacidad Y Cr Cb (2 bytes) especifica
el número de bits de resolución que pueden visualizarse en formato
Y Cr Cb. Si el visor no puede utilizar el formato Y Cr Cb, entonces
este valor se fija igual a cero. La palabra de Capacidad Y Cr Cb
está compuesta de tres valores sin signo distintos, donde: los Bits
3 a 0 definen el número máximo de bits en la muestra Cb, los Bits 7
a 4 definen el número máximo de bits en la muestra Cr, los Bits 11
a 8 definen el número máximo de bits en la muestra Y, y los Bits 15
a 12 están actualmente reservados para uso futuro y se fijan en
cero.
El campo Capacidad de Característica de Cliente
utiliza 4 bytes que contiene un conjunto de indicadores que indican
características específicas en el visor que disponen de soporte. Un
bit fijado a uno indica que la capacidad dispone de soporte y un
bit fijado a cero indica que la capacidad no dispone de soporte. El
valor para el Bit 0 indica si el Paquete de Transferencia de
Bloques de Mapa de Bits (tipo de paquete 71) dispone o no de
soporte. El valor para los Bits 1, 2 y 3 indica si el Paquete de
Área de Mapa de Bits (tipo de paquete 72), el Paquete de Relleno de
Patrón de Mapa de Bits (tipo de paquete 73), o el Paquete de Canal
de Datos de Enlace de Comunicación (tipo de paquete 74),
respectivamente, disponen o no de soporte. El valor para el Bit 4
indica si el cliente tiene o no la capacidad de hacer transparente
un color, mientras que los valores para los Bits 5 y 6 indican si
el cliente puede aceptar, respectivamente, datos de vídeo o datos de
audio en formato empaquetado, y el valor para el Bit 7 indica si el
cliente puede o no enviar un flujo de vídeo de enlace inverso desde
una cámara. El valor para el Bit 8 indica si el cliente tiene o no
la capacidad de recibir una línea completa de datos de píxel e
ignorar el direccionamiento del visor, según lo especificado por el
Bit 5 del campo Atributos de Datos de Píxeles del Paquete de Flujo
de Vídeo, y si el cliente también puede detectar la sincronización
de tramas o el fin de datos de tramas de vídeo mediante el bit 15
del campo de Atributos de Datos de Píxeles.
El valor para los Bits 11 y 12 indica cuándo el
cliente está comunicándose, bien con un dispositivo puntero, y
puede enviar y recibir Paquetes de Datos de Dispositivo Puntero, o
bien con un teclado, y puede enviar y recibir Paquetes de Datos de
Teclado, respectivamente. El valor para el Bit 13 indica si el
cliente tiene o no la capacidad de enviar uno o más parámetros de
audio o vídeo prestando soporte a los paquetes de Característica
VCP: Paquete de Solicitud de Característica VCP, Paquete de
Respuesta de Característica VCP, Paquete de Fijación de
Característica VCP, Paquete de Solicitud de Parámetro Válido y
Paquete de Respuesta de Parámetro Válido. El valor para el Bit 14
indica si el cliente tiene o no la capacidad de escribir datos de
píxeles en el almacén temporal de tramas de visor fuera de línea.
Si este bit está fijado en un nivel de uno lógico, entonces los
Bits de Actualización de Visor (bits 7 y 6 del campo Atributos de
Datos de Píxeles del Paquete de Flujo de Vídeo) pueden fijarse en
01. El valor para el Bit 22 indica si el cliente tiene o no la
capacidad de responder al Paquete de Acceso a Registro. Los Bits 9
a 10 y 23 a 31 están actualmente reservados para uso futuro, o
asignaciones alternativas útiles para diseñadores de sistemas, y
están generalmente fijados iguales a cero.
El campo Capacidad de Velocidad de Tramas de
Vídeo del Visor (1 byte) especifica la máxima capacidad de
actualización de tramas de vídeo del visor, en tramas por segundo.
Un servidor puede escoger actualizar la imagen a una velocidad más
lenta que el valor especificado en este campo.
El campo Profundidad de Almacén Temporal de
Audio (2 bytes) especifica la profundidad del almacén temporal
elástico en un Visor que está dedicado a cada flujo de audio.
El campo Capacidad de Canal de Audio (2 bytes)
contiene un grupo de indicadores que indican qué canales de audio
disponen de soporte por parte del visor (cliente). Un bit fijado en
uno indica que el canal dispone de soporte, y un bit fijado en cero
indica que el canal no dispone de soporte. Las posiciones de Bit se
asignan a los distintos canales, por ejemplo, las posiciones de Bit
0, 1, 2, 3, 4, 5, 6 y 7 indican, respectivamente, los canales
izquierdo frontal, derecho frontal, izquierdo trasero, derecho
trasero, central frontal, de graves, izquierdo envolvente y derecho
envolvente. Los Bits 8 a 15 están actualmente reservados para uso
futuro, y se fijan generalmente en cero.
Un campo de Capacidad de Velocidad de Muestra de
Audio, de 2 bytes, para el enlace directo, contiene un conjunto de
indicadores para indicar la capacidad de velocidad de muestras de
audio del dispositivo cliente. Las posiciones de bit se asignan de
manera correspondiente a las distintas velocidades, tales como Bits
0, 1, 2, 3, 4, 5, 6, 7 y 8 asignados, respectivamente, a 8.000,
16.000, 24.000, 32.000, 40.000, 48.000, 11.025, 22.050 y 44.100
muestras por segundo (MPS), con los Bits 9 a 15 reservados para usos
futuros o de velocidades alternativas, según se desee, por lo que
actualmente están fijados en `0'. Fijar un valor de bit para uno de
estos bits en `1' indica que esa velocidad de muestra específica
dispone de soporte, y fijar el bit en `0' indica que esa velocidad
de muestra no dispone de soporte.
El campo Velocidad Mínima de Subtrama (2 bytes)
especifica la velocidad mínima de subtrama en tramas por segundo.
La velocidad mínima de subtrama mantiene la velocidad de
actualización del estado del visor suficiente para leer ciertos
sensores o dispositivos punteros en el visor.
Un campo Capacidad de Velocidad de Muestra de
Micrófono, de 2 bytes, para el enlace inverso, contiene un conjunto
de indicadores que indican la capacidad de velocidad de muestra de
audio de un micrófono en el dispositivo cliente. Para los fines de
la MDDI, un dispositivo micrófono cliente está configurado para
prestar soporte, mínimamente, a una velocidad al menos 8.000
muestras por segundo. Las posiciones de bit para este campo están
asignadas a las distintas velocidades, con las posiciones de bit 0,
1, 2, 3, 4, 5, 6, 7 y 8, por ejemplo, utilizándose para
representar, respectivamente, 8.000, 16.000, 24.000, 32.000, 40.000,
48.000, 11.025, 22.050 y 44.100 muestras por segundo (MPS), con los
Bits 9 a 15 reservados para usos futuros o de velocidades
alternativas, según se desee, por lo que actualmente se fijan en
`0'. Fijar un valor de bit para uno de estos bits en `1' indica que
esa velocidad específica de muestras dispone de soporte, y fijar el
bit en `0' indica que esa velocidad de muestras no dispone de
soporte. Si no está conectado ningún micrófono, entonces cada uno de
los bits de Capacidad de Velocidad de Muestra de Micrófono se fija
igual a cero.
El campo Tipo de Protección de Contenido (2
bytes) contiene un conjunto de indicadores que indican el tipo de
protección de contenido digital que recibe soporte del Visor.
Actualmente, la posición de bit 0 se utiliza para indicar cuándo
DTCP dispone de soporte, y la posición de bit 1 se utiliza para
indicar cuándo HDCP dispone de soporte, con las posiciones de bit 2
a 15 reservadas para su uso con otros esquemas de protección, según
se desee o estén disponibles, por lo que actualmente se fijan en
cero.
El campo Solicitud de Enlace Inverso (3 bytes)
especifica el número de bytes que el cliente necesita en el enlace
inverso en la próxima subtrama para enviar información al
servidor.
El campo Total Errores CRC (1 byte) indica
cuántos errores de CRC han ocurrido desde el comienzo de la trama
de medios. El total de CRC se reinicia cuando se envía un paquete de
cabecera de subtrama con un Total de Subtrama igual a cero. Si el
número efectivo de errores de CRC supera 255, entonces este valor,
generalmente, se satura en 255.
El campo Cambio de Capacidad utiliza 1 byte para
indicar un cambio en la capacidad del visor. Esto podría ocurrir si
un usuario conecta un dispositivo periférico, tal como un micrófono,
teclado o visor, o por algún otro motivo. Cuando los Bits [7:0] son
iguales a 0, entonces la capacidad no ha cambiado desde que se envió
el último Paquete de Capacidad de Cliente. Sin embargo, cuando los
Bits [7:0] son iguales a un valor entre 1 y 255, la capacidad ha
cambiado. El Paquete de Capacidad de Cliente es examinado para
determinar las nuevas características del visor.
Los campos Valor de Coordenada X y Coordenada Y
de Ventana Superior Izquierda utilizan 2 bytes cada uno para
especificar el valor de X e Y de las coordenadas de la esquina
superior izquierda de la ventana a mover. Los campos Ancho y Altura
de Ventana utilizan 2 bytes cada uno para especificar el ancho y
altura de la ventana a mover. Los campos Movimiento X e Y de
Ventana utilizan 2 bytes cada uno para especificar el número de
pixeles en que la ventana debe moverse, respectivamente, horizontal
y verticalmente. Típicamente, estas coordenadas se configuran de
forma tal que los valores positivos para X causan que la ventana se
mueva hacia la derecha, y los valores negativos causan movimiento
hacia la izquierda, mientras que los valores positivos para Y causan
que la ventana se mueva hacia abajo, y los valores negativos causan
movimiento hacia arriba.
Los campos Valor X e Y de Coordenada de Ventana
Superior Izquierda utilizan 2 bytes cada uno para especificar el
valor de X e Y de las coordenadas de la esquina superior izquierda
de la ventana a rellenar. Los campos Ancho y Altura de Ventana (2
bytes cada uno) especifican el ancho y altura de la ventana a
rellenar. El campo Descriptor de Formato de Datos de Vídeo (2
bytes) especifica el formato del Valor de Relleno del Área de
Píxeles. El formato es el mismo que el del mismo campo en el
Paquete de Flujo de Vídeo. El campo Valor de Relleno de Área de
Píxeles (4 bytes) contiene el valor de píxel a rellenar en la
ventana especificada por los campos anteriormente expuestos. El
formato de este píxel está especificado en el campo Descriptor de
Formato de Datos de Vídeo.
Los campos Valor de Coordenada X e Y de Ventana
Superior Izquierda utilizan 2 bytes cada uno para especificar el
valor de X e Y de las coordenadas de la esquina superior izquierda
de la ventana a rellenar. Los campos Ancho y Altura de Ventana (2
bytes cada uno) especifican el ancho y la altura de la ventana a
rellenar. Los campos Ancho de Patrón y Altura de Patrón (2 bytes
cada uno) especifican, respectivamente, el ancho y la altura del
patrón de relleno. El campo Descriptor de Formato de Datos de Vídeo,
de 2 bytes, especifica el formato del valor de Relleno del Área de
Píxeles. La Fig. 11 ilustra cómo se codifica el Descriptor de
Formato de Datos de Vídeo. El formato es el mismo que el del mismo
campo en el Paquete de Flujo de Vídeo.
El campo CRC de Parámetros (2 bytes) contiene un
CRC de todos los bytes desde la Longitud de Paquete hasta el
Descriptor de Formato de Vídeo. Si este CRC no confirma la
comprobación, entonces se descarta el paquete entero. El campo
Datos de Píxeles de Patrón contiene información de vídeo no
procesado que especifica el patrón de relleno en el formato
especificado por el Descriptor de Formato de Datos de Vídeo. Los
datos se empaquetan en bytes, y el primer píxel de cada fila debe
estar alineado por byte. Los datos del patrón de relleno se
transmiten de una fila a la vez. El campo CRC de Datos de Píxeles de
Patrón (2 bytes) contiene un CRC sólo de los Datos de Píxeles de
Patrón. Si este CRC no confirma la comprobación, entonces los Datos
de Píxeles de Patrón aún pueden utilizarse, pero el contador de
errores de CRC se incrementa.
El campo CRC de Parámetros (2 bytes) contiene un
CRC de 16 bits de todos los bytes desde la Longitud de Paquete
hasta el Tipo de Paquete. Si este CRC no confirma la comprobación,
entonces se descarta el paquete entero.
El campo Datos de Enlace de Comunicación
contiene los datos no procesados provenientes del canal de
comunicación. Estos datos se pasan simplemente al dispositivo de
cálculo en el visor.
El campo CRC de Datos de Enlace de Comunicación
(2 bytes) contiene un CRC de 16 bits de sólo los Datos de Enlace de
Comunicación. Si este CRC no confirma la comprobación, entonces los
Datos de Enlace de Comunicación aún pueden utilizarse o ser útiles,
pero el contador de errores de CRC se incrementa.
El campo Tipo de Interfaz (1 byte) especifica el
nuevo tipo de interfaz a utilizar. El valor en este campo
especifica el tipo de interfaz de la siguiente manera. Si el valor
en el Bit 7 es igual a `0', la solicitud de traspaso de Tipo es
para el enlace directo; si es igual a `1', entonces la solicitud de
traspaso de Tipo es para el enlace inverso. Los Bits 6 a 3 están
reservados para uso futuro, y se fijan generalmente en cero. Los
Bits 2 a 0 se utilizan para definir el Tipo de interfaz a utilizar,
donde un valor de 1 significa un traspaso a la modalidad de Tipo 1,
un valor de 2, un traspaso a la modalidad de Tipo 2, un valor de 3,
un traspaso a la modalidad de Tipo 3, y un valor de 4, un traspaso
a la modalidad de Tipo 4. Los valores de `0', y de 5 a 7 están
reservados para la designación futura de modalidades alternativas, o
combinaciones de modalidades.
El campo Tipo de Interfaz (1 byte) tiene un
valor que confirma el nuevo tipo de interfaz a utilizar. El valor
en este campo especifica el tipo de interfaz de la siguiente manera.
Si el Bit 7 es igual a `0', la solicitud de traspaso de Tipo es
para el enlace directo; alternativamente, si es igual a `1', la
solicitud de traspaso de Tipo es para el enlace inverso. Las
posiciones de bit 6 a 3 están actualmente reservadas para su uso en
la designación de otros tipos de traspaso, según se desee, y se
fijan generalmente en cero. Sin embargo, las posiciones de bit 2 a
0 se utilizan para definir el Tipo de interfaz a utilizar, donde un
valor de `0' indica un acuse de recibo negativo, o bien que el
traspaso solicitado no puede realizarse; los valores de `1', `2',
`3' y `4' indican, respectivamente, traspaso a modalidades de Tipo
1, Tipo 2, Tipo 3 y Tipo 4. Los valores de 5 a 7 están reservados
para su uso con designaciones alternativas de modalidades, según se
desee.
El campo Tipo de Interfaz, de 1 byte, indica el
nuevo tipo de interfaz a utilizar. El valor presente en este campo
especifica el tipo de interfaz, utilizando, primero, el valor del
Bit 7 para determinar si el traspaso de Tipo es para los enlaces
directo o inverso. Un valor de `0' indica que la solicitud de
traspaso de Tipo es para el enlace directo, y un valor de `1', para
el enlace inverso. Los Bits 6 a 3 están reservados para uso futuro
y, como tales, se fijan generalmente en un valor de cero. Sin
embargo, los Bits 2 a 0 se utilizan para definir el Tipo de
interfaz a utilizar, especificando los valores 1, 2, 3 y 4 el uso
del traspaso al Tipo 1, Tipo 2, Tipo 3 y Tipo 4, respectivamente.
El uso de los valores 0, y 5 a 7, para estos bits, está reservado
para uso futuro.
El campo Máscara de Activación de Canal de Audio
(1 byte) contiene un grupo de indicadores que indican qué canales
de audio han de activarse en un cliente. Un bit fijado en uno activa
el canal correspondiente, y un bit fijado en cero desactiva el
canal correspondiente. Los Bits 0 a 5 designan los canales 0 a 5,
que se refieren, respectivamente, a los canales izquierdo frontal,
derecho frontal, izquierdo trasero, derecho trasero, central
frontal y de graves. Los Bits 6 y 7 están reservados para uso
futuro, y mientras tanto se fijan generalmente iguales a cero.
El campo Velocidad de Muestra de Audio (1 byte)
especifica la velocidad de muestras de audio digital. Los valores
para este campo se asignan a las distintas velocidades, con valores
de 0, 1, 2, 3, 4, 5, 6, 7 y 8 utilizados para designar,
respectivamente, 8.000, 16.000, 24.000, 32.000, 40.000, 48.000,
11.025, 22.050 y 44.100 muestras por segundo (MPS), estando los
valores entre 9 y 254 reservados para su uso con velocidades
alternativas, según se desee, por lo que actualmente se fijan en
`0'. Un valor de 255 se utiliza para desactivar el flujo de audio
de enlace inverso.
El campo Formato de Muestra (1 byte) especifica
el formato de las muestras de audio digital. Cuando los Bits [1:0]
son iguales a `0', las muestras de audio digital están en formato
lineal; cuando son iguales a 1, las muestras de audio digital están
en formato \mu-Law, y cuando son iguales a 2, las
muestras de audio digital están en formato A-Law.
Los Bits [7:2] están reservados para uso alternativo en la
designación de formatos de audio, según se desee, y están
generalmente fijados en cero.
El campo Tipo de Protección de Contenido (1
byte) especifica el procedimiento de protección de contenido digital
que se emplea. Un valor de `0' indica Protección de Contenido de
Transmisión Digital (DTCP), mientras que un valor de 1 indica el
Sistema de Protección de Contenido Digital de Alto Ancho de Banda
(HDCP). La gama de valores entre 2 y 255 no está actualmente
especificada, pero está reservada para su uso con esquemas de
protección alternativos, según se desee. El campo Mensajes de
Sobrecarga de Protección de Contenido es un campo de longitud
variable que contiene mensajes de protección de contenido enviados
entre el servidor y el cliente.
El campo Activar Color Transparente (1 byte)
especifica cuándo la modalidad de color transparente está activada
o desactivada. Si el Bit 0 es igual a 0, entonces la modalidad de
color transparente está desactivada; si es igual a 1, entonces la
modalidad de color transparente está activada, y el color
transparente se especifica mediante los dos parámetros siguientes.
Los Bits 1 a 7 de este byte están reservados para uso futuro y son
típicamente fijados iguales a cero.
El campo Descriptor de Formato de Datos de Vídeo
(2 bytes) especifica el formato del Valor de Relleno del Área de
Píxeles. La Fig. 11 ilustra cómo se codifica el Descriptor de
Formato de Datos de Vídeo. El formato es generalmente el mismo que
el del mismo campo en el Paquete de Flujo de Vídeo.
El campo Valor de Relleno del Área de Píxeles
utiliza 4 bytes asignados al valor de píxel para rellenar la
ventana especificada anteriormente. El formato de este píxel se
especifica en el campo Descriptor de Formato de Datos de Vídeo.
El campo Longitud de Paquete, de 2 bytes,
especifica el número total de bytes en el paquete, sin incluir el
campo de longitud de paquete y, en una realización, se selecciona
que tenga una longitud fija de 159. El campo Tipo de Paquete, de 2
bytes, identifica este tipo de paquete con un valor de 82,
identificando un paquete como un Paquete de Medición de Retardo de
Ida y Vuelta. El campo Identificador de hCliente, como antes, está
reservado para uso futuro como Identificador de Cliente, y se fija
generalmente en cero.
En una realización, el campo CRC de Parámetros
(2 bytes) contiene un CRC de 16 bits de todos los bytes desde la
Longitud de Paquete hasta el Tipo de Paquete. Si este CRC no
confirma la comprobación, entonces se descarte el paquete
entero.
El campo Tiempo de Guardia 1 (aquí, 64 bytes) se
utiliza para permitir que los controladores de línea MDDI_Data en
el cliente se activen antes de que los controladores de línea en el
servidor se desactiven. El cliente activa sus controladores de
línea MDDI_Data durante el bit 0 del Tiempo de Guardia 1, y el
servidor desactiva sus controladores de línea para que estén
completamente desactivados antes del último bit de Tiempo de Guardia
1. Tanto el servidor como el cliente alimentan a un nivel de cero
lógico durante el Tiempo de Guardia 1, cuando no están
desactivados. Otro fin de este campo es garantizar que todas las
señales MDDI_Data estén en un nivel de cero lógico por un tiempo
suficiente para permitir que el cliente comience a recuperar un
reloj o una señal de reloj, utilizando sólo MDDI_Stb, antes de
desactivar los controladores de línea del servidor.
El campo Periodo de Medición es una ventana de
64 bytes utilizada para permitir que el cliente responda con dos
bytes de 0xff, y 30 bytes de 0x0, a la mitad de la velocidad de
datos utilizada en el enlace directo. Esta velocidad de datos
corresponde a un Divisor de Velocidad de Enlace Inverso igual a 1.
El cliente devuelve esta respuesta inmediatamente en el momento en
que percibe el comienzo del Periodo de Medición. Esta respuesta
desde el cliente será recibida en un servidor, precisamente cuando
hayan transcurrido el retardo de ida y vuelta del enlace más el
retardo lógico en el cliente, después del comienzo del primer bit
del Periodo de Medición en el servidor.
El campo Todos Ceros (2 bytes) contiene ceros
para permitir que los controladores de línea MDDI_Data en el
servidor y en el cliente se solapen de forma que MDDI_Data esté
siempre alimentado. El servidor activa los controladores de línea
MDDI_Data durante el bit 0 del Tiempo de Guardia 2, y el cliente
también alimenta la señal a un nivel de cero lógico, como lo hizo
al final del Periodo de Medición.
El valor en el campo Tiempo de Guardia 2 (64
bytes) permite el solapamiento del Periodo de Medición alimentado
por el cliente, cuando el retardo de ida y vuelta está en la
magnitud máxima que pueda medirse en el Periodo de Medición. El
cliente desactiva sus controladores de línea durante el bit 0 del
Tiempo de Guardia 2, y el Servidor activa sus controladores de
línea inmediatamente después del último bit de Tiempo de Guardia 2.
Tanto el servidor como el cliente alimentan a un nivel de cero
lógico durante el Tiempo de Guardia 2, cuando no están
desactivados. Otro fin de este campo es garantizar que todas las
señales MDDI_Data están en un nivel de cero lógico por un tiempo
suficiente para permitir que el cliente comience a recuperar una
señal de reloj utilizando tanto MDDI_Data0 como MDDI_Stb, después
de activar los controladores de línea para un servidor.
En una realización, el campo CRC de Parámetros
(2 bytes) contiene un CRC de 16 bits de todos los bytes desde la
Longitud de Paquete hasta el Tipo de Paquete. Si este CRC no
confirma la comprobación, entonces se descarta el paquete
entero.
La Secuencia de Datos de Calibración contiene
una secuencia de datos de 512 bytes que causa que las señales
MDDI_Data alternen sus valores cada periodo de datos. Durante el
procesamiento de la Secuencia de Datos de Calibración, el
controlador de MDDI del servidor fija todas las señales MDDI_Data
iguales a la señal de sondeo. El circuito de recuperación del reloj
del visor debería utilizar sólo MDDI-Stb, en lugar
de MDDI-Stb Xo MDDI-Data0, para
recuperar el reloj de datos, mientras el campo de Secuencia de Datos
de Calibración está siendo recibido por el Visor cliente. Según la
fase exacta de la señal MDDI_Stb al comienzo del campo de Secuencia
de Datos de Calibración, la Secuencia de Datos de Calibración será
generalmente una de las siguientes, sobre la base del Tipo de
interfaz utilizada cuando se envía este paquete:
Tipo I - 0xaa, 0xaa ... ó 0x55, 0x55...
Tipo II - 0xcc, 0xcc ... ó 0x33, 0x33...
Tipo III - 0xf0, 0xf0 ... ó 0x0f, 0x0f ...
Tipo IV - 0xff, 0x00, 0xff, 0x00 ... ó 0x00,
0xff, 0x00, 0xff ...
\vskip1.000000\baselineskip
Un ejemplo de las posibles ondas de MDDI_Data y
MDDI_Stb para ambas Interfaces de Tipo 1 y Tipo 2 se muestran,
respectivamente, en las Figs. 62A y 62B.
Si bien se han descrito anteriormente diversas
realizaciones de la presente invención, debería entenderse que han
sido presentadas sólo a modo de ejemplo, y no de limitación. Así, la
amplitud y el alcance de la presente invención no debería estar
limitada por ninguna de las realizaciones ejemplares anteriormente
descritas, sino que deberían definirse sólo de acuerdo a las
siguientes reivindicaciones y sus equivalentes.
Claims (12)
1. Un procedimiento para que un cliente
comunique a un servidor una selección de una velocidad inválida de
datos de muestreo para un flujo de datos de audio inverso en un
sistema de comunicaciones de interfaz digital de visualización
móvil MDDI, comprendiendo el procedimiento las etapas de:
- \quad
- enviar un paquete de encapsulamiento inverso desde el servidor al cliente;
- \quad
- enviar un paquete de informe de error desde el cliente al servidor, comprendiendo el paquete de informe de error un indicador de que el cliente no brinda soporte a la velocidad de datos de muestreo inválida;
- \quad
- solicitar un paquete de capacidad de cliente por parte del servidor, comprendiendo una solicitud de datos de soporte de flujo de audio; y
- \quad
- enviar el paquete de capacidad de cliente al servidor, comprendiendo el paquete de capacidad de cliente los datos de soporte de flujo de audio.
\vskip1.000000\baselineskip
2. El procedimiento de la reivindicación 1, en
el que los datos de soporte de flujo de audio comprenden un
indicador de que el cliente no brinda soporte al flujo de datos de
audio inverso.
3. El procedimiento de la reivindicación 1, en
el que los datos de soporte de flujo de audio comprenden un
indicador de que el cliente brinda soporte al menos a una velocidad
de datos.
4. El procedimiento de la reivindicación 3,
comprendiendo adicionalmente la etapa del servidor seleccionando
una velocidad de datos operativa desde al menos esa velocidad de
datos.
5. Un sistema para que un cliente comunique a un
servidor una selección de una velocidad inválida de datos de
muestra para un flujo de datos de audio inverso en un sistema de
comunicaciones de una interfaz digital de visualización móvil MDDI,
comprendiendo el sistema:
- \quad
- un medio para enviar un paquete de encapsulamiento inverso desde el servidor al cliente;
- \quad
- un medio para enviar un paquete de informe de error desde el cliente al servidor, comprendiendo el paquete de informe de error un indicador de que el cliente no brinda soporte a la velocidad inválida de datos de muestreo;
- \quad
- un medio para solicitar un paquete de capacidad de cliente por parte del servidor, comprendiendo una petición de datos de soporte de flujo de audio; y
- \quad
- un medio para enviar el paquete de capacidad de cliente al servidor, comprendiendo el paquete de capacidad de cliente los datos de soporte de flujo de audio.
\vskip1.000000\baselineskip
6. El sistema de la reivindicación 5, en el que
los datos de soporte de flujo de audio comprenden un indicador de
que el cliente no brinda soporte al flujo de datos de audio
inverso.
7. El sistema de la reivindicación 5, en el que
los datos de soporte de flujo de audio comprenden un indicador de
que el cliente brinda soporte a al menos una velocidad de datos.
8. El sistema de la reivindicación 7,
comprendiendo adicionalmente un medio para seleccionar una velocidad
de datos operativa de al menos esa velocidad de datos por parte del
servidor.
9. Un producto de programa de ordenador, que
comprende:
- \quad
- un medio legible por un ordenador que comprende:
- \quad
- un código para provocar que un cliente comunique a un servidor una selección de una velocidad inválida de datos de muestra para un flujo de datos de audio inverso en un sistema de comunicaciones de interfaz digital de visualización móvil MDDI, comprendiendo el producto de ordenador:
- \quad
- un código para provocar el envío de un paquete de encapsulación inverso desde el servidor al cliente;
- \quad
- un código para provocar el envío de un paquete de informe de error desde el cliente al servidor, comprendiendo el paquete de informe de error un indicador de que el cliente no brinda soporte a la velocidad inválida de datos de muestra;
- \quad
- un código para provocar que un paquete de capacidad de cliente sea solicitado por el servidor, comprendiendo una petición de datos de soporte de flujo de audio; y
- \quad
- un código para provocar que el paquete de capacidad de cliente sea enviado al servidor, comprendiendo el paquete de capacidad de cliente los datos de soporte de flujo de audio.
\vskip1.000000\baselineskip
10. El producto de programa de ordenador de la
reivindicación 9, en el que los datos de soporte de flujo de audio
comprenden un indicador de que el cliente no brinda soporte al flujo
de datos de audio inverso.
11. El producto de programa de ordenador de la
reivindicación 9, en el que los datos de soporte de flujo de audio
comprenden un indicador de que el cliente brinda soporte a al menos
una velocidad de datos.
12. El producto de programa de ordenador de la
reivindicación 11, comprendiendo adicionalmente un código para
provocar que el servidor seleccione una velocidad de datos operativa
de al menos esa velocidad de datos.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US50205603P | 2003-09-10 | 2003-09-10 | |
| US502056P | 2003-09-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2323129T3 true ES2323129T3 (es) | 2009-07-07 |
Family
ID=34312348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES04788672T Expired - Lifetime ES2323129T3 (es) | 2003-09-10 | 2004-09-10 | Interfaz de alta velocidad de datos. |
Country Status (18)
| Country | Link |
|---|---|
| US (2) | US8719334B2 (es) |
| EP (1) | EP1665730B1 (es) |
| JP (2) | JP4838132B2 (es) |
| KR (2) | KR100951158B1 (es) |
| CN (2) | CN101764804A (es) |
| AR (1) | AR045639A1 (es) |
| AT (1) | ATE424685T1 (es) |
| AU (1) | AU2004303402A1 (es) |
| BR (1) | BRPI0414229A (es) |
| CA (1) | CA2538308C (es) |
| DE (1) | DE602004019797D1 (es) |
| ES (1) | ES2323129T3 (es) |
| IL (1) | IL174203A0 (es) |
| MX (1) | MXPA06002809A (es) |
| RU (1) | RU2369033C2 (es) |
| TW (1) | TWI345404B (es) |
| WO (1) | WO2005027467A1 (es) |
| ZA (1) | ZA200602013B (es) |
Families Citing this family (81)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6760772B2 (en) | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
| CN105406947A (zh) | 2003-06-02 | 2016-03-16 | 高通股份有限公司 | 生成并实施一用于更高数据率的讯号协议和接口 |
| EP2363989B1 (en) | 2003-08-13 | 2018-09-19 | Qualcomm Incorporated | A signal interface for higher data rates |
| CN101764804A (zh) | 2003-09-10 | 2010-06-30 | 高通股份有限公司 | 高数据速率接口 |
| US8150945B2 (en) * | 2003-09-22 | 2012-04-03 | Broadcom Corporation | Host arbitrated user interface resource sharing |
| CN102801615A (zh) | 2003-10-15 | 2012-11-28 | 高通股份有限公司 | 高数据速率接口 |
| KR100827573B1 (ko) | 2003-10-29 | 2008-05-07 | 퀄컴 인코포레이티드 | 높은 데이터 레이트 인터페이스 |
| US8606946B2 (en) | 2003-11-12 | 2013-12-10 | Qualcomm Incorporated | Method, system and computer program for driving a data signal in data interface communication data link |
| BRPI0416895A (pt) | 2003-11-25 | 2007-03-06 | Qualcomm Inc | interface de alta taxa de dados com sincronização de link melhorada |
| EP2247068B1 (en) * | 2003-12-08 | 2013-09-25 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
| CN100584124C (zh) * | 2003-12-19 | 2010-01-20 | 诺基亚公司 | 用于在无线通信设备中选择无线电资源的方法和设备 |
| CN101827103B (zh) | 2004-03-10 | 2012-07-04 | 高通股份有限公司 | 具有改进链路同步的高数据速率接口 |
| JP4519903B2 (ja) | 2004-03-17 | 2010-08-04 | クゥアルコム・インコーポレイテッド | 高速データレートインタフェース装置及び方法 |
| KR101019935B1 (ko) | 2004-03-24 | 2011-03-09 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
| DE102004044785A1 (de) * | 2004-04-10 | 2005-10-27 | Leica Microsystems Semiconductor Gmbh | Vorrichtung und Verfahren zur Bestimmung von Positionierkoordinaten für Halbleitersubstrate |
| US8650304B2 (en) | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
| KR100914420B1 (ko) * | 2004-06-04 | 2009-08-27 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
| DE502005008643D1 (de) * | 2004-09-16 | 2010-01-14 | Beckhoff Automation Gmbh | Datenübertragungsverfahren und automatisierungssystem zum einsatz eines solchen datenübertragungsverfahrens |
| US8723705B2 (en) | 2004-11-24 | 2014-05-13 | Qualcomm Incorporated | Low output skew double data rate serial encoder |
| US8667363B2 (en) | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
| US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| WO2006058050A2 (en) * | 2004-11-24 | 2006-06-01 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
| US8539119B2 (en) | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
| US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
| US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
| EP2808782A1 (en) | 2004-12-24 | 2014-12-03 | IZUTSU, Masahiro | Mobile information communication apparatus, connection unit for mobile information communication apparatus, and external input/output unit for mobile information communication apparatus |
| JP4649253B2 (ja) * | 2005-03-30 | 2011-03-09 | 株式会社野村総合研究所 | ログ取得プログラムおよび方法 |
| KR100685664B1 (ko) * | 2005-08-12 | 2007-02-26 | 삼성전자주식회사 | 호스트 및 클라이언트로 구성된 데이터 통신 시스템 및데이터 통신 시스템의 작동 방법 |
| US8730069B2 (en) | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
| US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| US20070162599A1 (en) * | 2006-01-11 | 2007-07-12 | Samsung Electronics Co., Ltd. | Distributing a policy decision function in an IP multimedia subsystem |
| JP2007240741A (ja) * | 2006-03-07 | 2007-09-20 | Canon Inc | 画像制御装置及び画像制御方法 |
| WO2007101967A1 (fr) * | 2006-03-07 | 2007-09-13 | Thomson Licensing | Dispositif de communication et base pour un affichage evolue |
| CN100583889C (zh) * | 2006-03-09 | 2010-01-20 | 华为技术有限公司 | 网络事件协议报文传输方法 |
| US8032672B2 (en) | 2006-04-14 | 2011-10-04 | Apple Inc. | Increased speed of processing of audio samples received over a serial communications link by use of channel map and steering table |
| KR100917889B1 (ko) * | 2006-11-01 | 2009-09-16 | 삼성전자주식회사 | 무선 통신 장치 및 방법 |
| WO2008076774A2 (en) | 2006-12-14 | 2008-06-26 | Oakley, Inc. | Wearable high resolution audio visual interface |
| CN101247196B (zh) * | 2007-02-02 | 2014-04-02 | 赛乐得科技(北京)有限公司 | 具有不同用户终端的多媒体通信中跨层优化的方法和装置 |
| KR20090004170A (ko) * | 2007-07-06 | 2009-01-12 | 삼성전자주식회사 | Usb 디스플레이 드라이버, 그 usb 디스플레이드라이버를 구비하는 소형 모바일 모니터 및 usb디스플레이 시스템 |
| JP2009176136A (ja) | 2008-01-25 | 2009-08-06 | Toshiba Corp | 半導体記憶装置 |
| EP2250766B1 (en) * | 2008-03-07 | 2019-01-30 | Citrix Systems, Inc. | Systems and methods for content injection |
| US20100121966A1 (en) * | 2008-11-07 | 2010-05-13 | Kabushiki Kaisha Toshiba | Repeater and repeating method thereof |
| US8102845B2 (en) | 2009-05-28 | 2012-01-24 | Synexxus, Inc. | Reconfigurable data distribution system |
| US8320960B2 (en) * | 2009-07-21 | 2012-11-27 | Azurewave Technologies, Inc. | Docking station and computer system using the docking station |
| US8659990B2 (en) * | 2009-08-06 | 2014-02-25 | Lumexis Corporation | Serial networking fiber-to-the-seat inflight entertainment system |
| RU2416382C1 (ru) * | 2009-11-13 | 2011-04-20 | Общество с ограниченной ответственностью "АВТЭКС" | Способ и устройство для создания стабилизированных изображений на сетчатке |
| US8457846B2 (en) * | 2010-05-14 | 2013-06-04 | Crane Co. | Modular seat actuation control system and communication method |
| JP6001843B2 (ja) * | 2011-11-15 | 2016-10-05 | 任天堂株式会社 | 情報処理装置、情報処理システム、情報処理方法およびプログラム |
| WO2013123264A1 (en) | 2012-02-17 | 2013-08-22 | Oakley, Inc. | Systems and methods for removably coupling an electronic device to eyewear |
| KR101290570B1 (ko) * | 2012-03-06 | 2013-07-31 | 삼성코닝정밀소재 주식회사 | 고주파 가열 장치 |
| US10083700B2 (en) * | 2012-07-02 | 2018-09-25 | Sony Corporation | Decoding device, decoding method, encoding device, encoding method, and program |
| TWI517142B (zh) * | 2012-07-02 | 2016-01-11 | Sony Corp | Audio decoding apparatus and method, audio coding apparatus and method, and program |
| US9112991B2 (en) | 2012-08-27 | 2015-08-18 | Nokia Technologies Oy | Playing synchronized multichannel media on a combination of devices |
| CN103906275A (zh) * | 2012-12-30 | 2014-07-02 | 比亚迪股份有限公司 | 一种通信终端及移动通信设备 |
| RU2628124C2 (ru) * | 2013-03-15 | 2017-08-15 | Интел Корпорейшн | Система памяти |
| KR102097452B1 (ko) * | 2013-03-28 | 2020-04-07 | 삼성전자주식회사 | 프로젝터를 포함하는 전자 장치 및 그 제어 방법 |
| WO2014201213A1 (en) | 2013-06-12 | 2014-12-18 | Oakley, Inc. | Modular heads-up display system |
| US10505837B1 (en) * | 2013-07-09 | 2019-12-10 | Altera Corporation | Method and apparatus for data re-packing for link optimization |
| US9767046B2 (en) * | 2013-10-04 | 2017-09-19 | Synexxus, Inc. | Modular device, system, and method for reconfigurable data distribution |
| US9563582B2 (en) * | 2013-10-04 | 2017-02-07 | Synexxus, Inc. | Modular device, system, and method for reconfigurable data distribution |
| US9529764B1 (en) * | 2013-10-29 | 2016-12-27 | Exelis, Inc. | Near-to-eye display hot shoe communication line |
| KR102183212B1 (ko) | 2014-11-18 | 2020-11-25 | 삼성전자주식회사 | 화면 제어 방법 및 그 방법을 처리하는 전자 장치 |
| WO2016175769A1 (en) * | 2015-04-28 | 2016-11-03 | Capso Vision Inc | Image sensor with integrated power conservation control |
| CN106792629B (zh) * | 2015-11-25 | 2021-03-19 | 深圳市六二九科技有限公司 | 一种智能卡数据系统及使用方法 |
| CN105472464B (zh) * | 2015-12-08 | 2019-01-01 | 深圳Tcl数字技术有限公司 | 电视终端及其数据播放方法 |
| US10163508B2 (en) | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
| CN106383744B (zh) * | 2016-09-28 | 2019-11-19 | 北京润科通用技术有限公司 | 一种总线中周期性消息的调度方法以及调度系统 |
| MX2019003659A (es) * | 2016-09-30 | 2019-08-05 | Ericsson Telefon Ab L M | Agrupamiento de recursos de informacion de estado de canal (csi) aperiodica y de señal de referencia (rs) de csi. |
| KR102645150B1 (ko) * | 2016-12-30 | 2024-03-07 | 엘지디스플레이 주식회사 | 디스플레이 인터페이스 장치 및 그의 데이터 전송 방법 |
| CN110169007B (zh) * | 2017-01-18 | 2022-06-07 | 索尼互动娱乐股份有限公司 | 通信装置、生成数据大小控制方法和程序 |
| RU2682435C1 (ru) * | 2018-03-30 | 2019-03-19 | Общество с ограниченной ответственностью "ТЕКОН Микропроцессорные технологии" | Интерфейс передачи данных |
| US11740132B2 (en) | 2019-10-02 | 2023-08-29 | Datacolor, Inc. | Method and apparatus for color lookup using a mobile device |
| CN114503097A (zh) * | 2019-10-02 | 2022-05-13 | 德塔颜色公司 | 使用移动设备进行颜色查找的方法和装置 |
| CN112817889B (zh) * | 2019-11-15 | 2024-06-21 | 合肥美亚光电技术股份有限公司 | 一种数据的采集方法及系统 |
| US11915675B2 (en) * | 2020-01-15 | 2024-02-27 | BookerLab, LLC | Communications system, retrofit cabling kit, and retrofit connector interface |
| EP4060920B1 (en) * | 2020-02-14 | 2025-10-01 | Robert Bosch GmbH | Radio device, method to operate a radio device |
| US11320885B2 (en) | 2020-05-26 | 2022-05-03 | Dell Products L.P. | Wide range power mechanism for over-speed memory design |
| RU202224U1 (ru) * | 2020-12-02 | 2021-02-08 | Акционерное общество Научно-производственный центр «Электронные вычислительно-информационные системы» (АО НПЦ «ЭЛВИС») | Реконфигурируемый кодер полярных кодов 5g сетей |
| CN112863432B (zh) * | 2021-04-23 | 2021-08-13 | 杭州视芯科技有限公司 | Led显示系统及其显示控制方法 |
| US20240168684A1 (en) * | 2022-11-22 | 2024-05-23 | Western Digital Technologies, Inc. | Efficient Deallocation and Reset of Zones in Storage Device |
Family Cites Families (473)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7274652B1 (en) | 2000-06-02 | 2007-09-25 | Conexant, Inc. | Dual packet configuration for wireless communications |
| US3594304A (en) | 1970-04-13 | 1971-07-20 | Sun Oil Co | Thermal liquefaction of coal |
| US4042783A (en) | 1976-08-11 | 1977-08-16 | International Business Machines Corporation | Method and apparatus for byte and frame synchronization on a loop system coupling a CPU channel to bulk storage devices |
| US4393444A (en) | 1980-11-06 | 1983-07-12 | Rca Corporation | Memory addressing circuit for converting sequential input data to interleaved output data sequence using multiple memories |
| US4363123A (en) | 1980-12-01 | 1982-12-07 | Northern Telecom Limited | Method of and apparatus for monitoring digital transmission systems in which line transmission errors are detected |
| JPS57136833A (en) | 1981-02-17 | 1982-08-24 | Sony Corp | Time-division multiplex data transmitting method |
| US4660096A (en) | 1984-12-11 | 1987-04-21 | Rca Corporation | Dividing high-resolution-camera video signal response into sub-image blocks individually raster scanned |
| DE3531809A1 (de) | 1985-09-06 | 1987-03-26 | Kraftwerk Union Ag | Katalysatormaterial zur reduktion von stickoxiden |
| US4769761A (en) | 1986-10-09 | 1988-09-06 | International Business Machines Corporation | Apparatus and method for isolating and predicting errors in a local area network |
| JPS63226762A (ja) | 1987-03-16 | 1988-09-21 | Hitachi Ltd | デ−タ処理方式 |
| US4764805A (en) | 1987-06-02 | 1988-08-16 | Eastman Kodak Company | Image transmission system with line averaging preview mode using two-pass block-edge interpolation |
| US4821296A (en) | 1987-08-26 | 1989-04-11 | Bell Communications Research, Inc. | Digital phase aligner with outrigger sampling |
| US5227783A (en) | 1987-10-13 | 1993-07-13 | The Regents Of New Mexico State University | Telemetry apparatus and method with digital to analog converter internally integrated within C.P.U. |
| JPH0727571B2 (ja) | 1987-10-26 | 1995-03-29 | テクトロニックス・インコーポレイテッド | ラスタ走査表示装置及び図形データ転送方法 |
| US5155590A (en) | 1990-03-20 | 1992-10-13 | Scientific-Atlanta, Inc. | System for data channel level control |
| US4891805A (en) | 1988-06-13 | 1990-01-02 | Racal Data Communications Inc. | Multiplexer with dynamic bandwidth allocation |
| US5167035A (en) | 1988-09-08 | 1992-11-24 | Digital Equipment Corporation | Transferring messages between nodes in a network |
| US5136717A (en) | 1988-11-23 | 1992-08-04 | Flavors Technology Inc. | Realtime systolic, multiple-instruction, single-data parallel computer system |
| US5079693A (en) | 1989-02-28 | 1992-01-07 | Integrated Device Technology, Inc. | Bidirectional FIFO buffer having reread and rewrite means |
| US6014705A (en) | 1991-10-01 | 2000-01-11 | Intermec Ip Corp. | Modular portable data processing terminal having a higher layer and lower layer partitioned communication protocol stack for use in a radio frequency communications network |
| US5224213A (en) | 1989-09-05 | 1993-06-29 | International Business Machines Corporation | Ping-pong data buffer for transferring data from one data bus to another data bus |
| US5495482A (en) | 1989-09-29 | 1996-02-27 | Motorola Inc. | Packet transmission system and method utilizing both a data bus and dedicated control lines |
| US5543939A (en) | 1989-12-28 | 1996-08-06 | Massachusetts Institute Of Technology | Video telephone systems |
| US5138616A (en) | 1990-03-19 | 1992-08-11 | The United States Of America As Represented By The Secretary Of The Army | Continuous on-line link error rate detector utilizing the frame bit error rate |
| JPH0465711A (ja) | 1990-07-05 | 1992-03-02 | Nippon Avionics Co Ltd | 表示装置の表示制御方式 |
| US5111455A (en) | 1990-08-24 | 1992-05-05 | Avantek, Inc. | Interleaved time-division multiplexor with phase-compensated frequency doublers |
| US5131012A (en) | 1990-09-18 | 1992-07-14 | At&T Bell Laboratories | Synchronization for cylic redundancy check based, broadband communications network |
| GB2249460B (en) | 1990-09-19 | 1994-06-29 | Intel Corp | Network providing common access to dissimilar hardware interfaces |
| JP3007926B2 (ja) | 1990-11-15 | 2000-02-14 | オムロン株式会社 | データキャリア及び識別システム |
| GB2250668B (en) | 1990-11-21 | 1994-07-20 | Apple Computer | Tear-free updates of computer graphical output displays |
| IL100213A (en) * | 1990-12-07 | 1995-03-30 | Qualcomm Inc | CDMA microcellular telephone system and distributed antenna system therefor |
| US5359595A (en) | 1991-01-09 | 1994-10-25 | Rockwell International Corporation | Skywave adaptable network transceiver apparatus and method using a stable probe and traffic protocol |
| WO1993007691A1 (en) * | 1991-10-01 | 1993-04-15 | Norand Corporation | A radio frequency local area network |
| US5345542A (en) | 1991-06-27 | 1994-09-06 | At&T Bell Laboratories | Proportional replication mapping system |
| US5231636A (en) | 1991-09-13 | 1993-07-27 | National Semiconductor Corporation | Asynchronous glitchless digital MUX |
| US5396636A (en) | 1991-10-21 | 1995-03-07 | International Business Machines Corporation | Remote power control via data link |
| US5751445A (en) | 1991-11-11 | 1998-05-12 | Canon Kk | Image transmission system and terminal device |
| CA2064541C (en) | 1992-03-31 | 1998-09-15 | Thomas A. Gray | Cycling error count for link maintenance |
| US5331642A (en) | 1992-09-01 | 1994-07-19 | International Business Machines Corporation | Management of FDDI physical link errors |
| JP3305769B2 (ja) | 1992-09-18 | 2002-07-24 | 株式会社東芝 | 通信装置 |
| JPH06124147A (ja) | 1992-10-13 | 1994-05-06 | Sanyo Electric Co Ltd | 情報処理装置 |
| GB9222282D0 (en) | 1992-10-22 | 1992-12-09 | Hewlett Packard Co | Monitoring network status |
| US5745523A (en) | 1992-10-27 | 1998-04-28 | Ericsson Inc. | Multi-mode signal processing |
| US5513185A (en) | 1992-11-23 | 1996-04-30 | At&T Corp. | Method and apparatus for transmission link error rate monitoring |
| US5867501A (en) | 1992-12-17 | 1999-02-02 | Tandem Computers Incorporated | Encoding for communicating data and commands |
| US5619650A (en) | 1992-12-31 | 1997-04-08 | International Business Machines Corporation | Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message |
| GB9304638D0 (en) | 1993-03-06 | 1993-04-21 | Ncr Int Inc | Wireless data communication system having power saving function |
| JPH06332664A (ja) | 1993-03-23 | 1994-12-02 | Toshiba Corp | 表示制御システム |
| US5418452A (en) | 1993-03-25 | 1995-05-23 | Fujitsu Limited | Apparatus for testing integrated circuits using time division multiplexing |
| CA2160679A1 (en) | 1993-04-16 | 1994-10-27 | Donald F. Anderson | Liquid stabilizer comprising metal soap and solubilized metal perchlorate |
| JP3197679B2 (ja) | 1993-04-30 | 2001-08-13 | 富士写真フイルム株式会社 | 写真撮影システムおよび方法 |
| US5420858A (en) | 1993-05-05 | 1995-05-30 | Synoptics Communications, Inc. | Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium |
| US5519830A (en) | 1993-06-10 | 1996-05-21 | Adc Telecommunications, Inc. | Point-to-multipoint performance monitoring and failure isolation system |
| JP2768621B2 (ja) | 1993-06-25 | 1998-06-25 | 沖電気工業株式会社 | 分散送信される畳み込み符号の復号装置 |
| US5477534A (en) | 1993-07-30 | 1995-12-19 | Kyocera Corporation | Acoustic echo canceller |
| US5430486A (en) | 1993-08-17 | 1995-07-04 | Rgb Technology | High resolution video image transmission and storage |
| US5426694A (en) | 1993-10-08 | 1995-06-20 | Excel, Inc. | Telecommunication switch having programmable network protocols and communications services |
| US5490247A (en) | 1993-11-24 | 1996-02-06 | Intel Corporation | Video subsystem for computer-based conferencing system |
| US5510832A (en) | 1993-12-01 | 1996-04-23 | Medi-Vision Technologies, Inc. | Synthesized stereoscopic imaging system and method |
| US5583562A (en) | 1993-12-03 | 1996-12-10 | Scientific-Atlanta, Inc. | System and method for transmitting a plurality of digital services including imaging services |
| US5565957A (en) | 1993-12-27 | 1996-10-15 | Nikon Corporation | Camera |
| US5724536A (en) | 1994-01-04 | 1998-03-03 | Intel Corporation | Method and apparatus for blocking execution of and storing load operations during their execution |
| US5844606A (en) | 1994-03-03 | 1998-12-01 | Fuji Photo Film Co., Ltd. | Videocamera having a multiconnector connectable to a variety of accessories |
| JP2790034B2 (ja) | 1994-03-28 | 1998-08-27 | 日本電気株式会社 | 非運用系メモリ更新方式 |
| US5483185A (en) | 1994-06-09 | 1996-01-09 | Intel Corporation | Method and apparatus for dynamically switching between asynchronous signals without generating glitches |
| JP3329076B2 (ja) * | 1994-06-27 | 2002-09-30 | ソニー株式会社 | ディジタル信号伝送方法、ディジタル信号伝送装置、ディジタル信号受信方法及びディジタル信号受信装置 |
| US5560022A (en) | 1994-07-19 | 1996-09-24 | Intel Corporation | Power management coordinator system and interface |
| US5748891A (en) | 1994-07-22 | 1998-05-05 | Aether Wire & Location | Spread spectrum localizers |
| EP0772937B1 (de) | 1994-07-25 | 1998-10-28 | Siemens Aktiengesellschaft | Verfahren zum verbindungsaufbau und zum steuern der bildtelefonkommunikation |
| US5664948A (en) | 1994-07-29 | 1997-09-09 | Seiko Communications Holding N.V. | Delivery of data including preloaded advertising data |
| US5733131A (en) | 1994-07-29 | 1998-03-31 | Seiko Communications Holding N.V. | Education and entertainment device with dynamic configuration and operation |
| JP3592376B2 (ja) | 1994-08-10 | 2004-11-24 | 株式会社アドバンテスト | 時間間隔測定装置 |
| US5816921A (en) | 1994-09-27 | 1998-10-06 | Sega Enterprises, Ltd. | Data transferring device and video game apparatus using the same |
| GB2296123B (en) | 1994-12-13 | 1998-08-12 | Ibm | Midi playback system |
| US5495469A (en) | 1994-12-16 | 1996-02-27 | Chrysler Corporation | Communications network, state machine therefor |
| US5559459A (en) | 1994-12-29 | 1996-09-24 | Stratus Computer, Inc. | Clock signal generation arrangement including digital noise reduction circuit for reducing noise in a digital clocking signal |
| FR2729528A1 (fr) | 1995-01-13 | 1996-07-19 | Suisse Electronique Microtech | Circuit de multiplexage |
| GB2298109B (en) | 1995-02-14 | 1999-09-01 | Nokia Mobile Phones Ltd | Data interface |
| US5530704A (en) | 1995-02-16 | 1996-06-25 | Motorola, Inc. | Method and apparatus for synchronizing radio ports in a commnuication system |
| US5646947A (en) | 1995-03-27 | 1997-07-08 | Westinghouse Electric Corporation | Mobile telephone single channel per carrier superframe lock subsystem |
| US6117681A (en) | 1995-03-29 | 2000-09-12 | Bavarian Nordic Research Inst. A/S | Pseudotyped retroviral particles |
| US6400392B1 (en) | 1995-04-11 | 2002-06-04 | Matsushita Electric Industrial Co., Ltd. | Video information adjusting apparatus, video information transmitting apparatus and video information receiving apparatus |
| US5521907A (en) | 1995-04-25 | 1996-05-28 | Visual Networks, Inc. | Method and apparatus for non-intrusive measurement of round trip delay in communications networks |
| SE506540C2 (sv) | 1995-06-13 | 1998-01-12 | Ericsson Telefon Ab L M | Synkronisering av överföring av data via en dubbelriktad länk |
| US5963564A (en) | 1995-06-13 | 1999-10-05 | Telefonaktiebolaget Lm Ericsson | Synchronizing the transmission of data via a two-way link |
| JPH0923243A (ja) | 1995-07-10 | 1997-01-21 | Hitachi Ltd | 電子紙面情報配信システム |
| WO1997003508A1 (en) * | 1995-07-13 | 1997-01-30 | Sony Corporation | Data transmission method, data transmission apparatus and data transmission system |
| JPH0936871A (ja) * | 1995-07-17 | 1997-02-07 | Sony Corp | データ伝送システムおよびデータ伝送方法 |
| US5604450A (en) * | 1995-07-27 | 1997-02-18 | Intel Corporation | High speed bidirectional signaling scheme |
| JPH0955667A (ja) | 1995-08-10 | 1997-02-25 | Mitsubishi Electric Corp | マルチプレクサ,及びデマルチプレクサ |
| US5742840A (en) | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
| JPH11503258A (ja) * | 1995-09-19 | 1999-03-23 | マイクロチップ テクノロジー インコーポレイテッド | ディジタル的にプログラム可能な閾値を有するマイクロコントローラ起立機能 |
| US5748642A (en) | 1995-09-25 | 1998-05-05 | Credence Systems Corporation | Parallel processing integrated circuit tester |
| US5732352A (en) | 1995-09-29 | 1998-03-24 | Motorola, Inc. | Method and apparatus for performing handoff in a wireless communication system |
| US5818255A (en) | 1995-09-29 | 1998-10-06 | Xilinx, Inc. | Method and circuit for using a function generator of a programmable logic device to implement carry logic functions |
| US5550489A (en) | 1995-09-29 | 1996-08-27 | Quantum Corporation | Secondary clock source for low power, fast response clocking |
| US5751951A (en) * | 1995-10-30 | 1998-05-12 | Mitsubishi Electric Information Technology Center America, Inc. | Network interface |
| TW316965B (es) | 1995-10-31 | 1997-10-01 | Cirrus Logic Inc | |
| US5958006A (en) | 1995-11-13 | 1999-09-28 | Motorola, Inc. | Method and apparatus for communicating summarized data |
| US7003796B1 (en) | 1995-11-22 | 2006-02-21 | Samsung Information Systems America | Method and apparatus for recovering data stream clock |
| US5790551A (en) | 1995-11-28 | 1998-08-04 | At&T Wireless Services Inc. | Packet data transmission using dynamic channel assignment |
| US5844918A (en) | 1995-11-28 | 1998-12-01 | Sanyo Electric Co., Ltd. | Digital transmission/receiving method, digital communications method, and data receiving apparatus |
| US6865610B2 (en) | 1995-12-08 | 2005-03-08 | Microsoft Corporation | Wire protocol for a media server system |
| EP0781068A1 (en) | 1995-12-20 | 1997-06-25 | International Business Machines Corporation | Method and system for adaptive bandwidth allocation in a high speed data network |
| JP3427149B2 (ja) | 1996-01-26 | 2003-07-14 | 三菱電機株式会社 | 符号化信号の復号回路及びその同期制御方法, 同期検出回路及び同期検出方法 |
| US5903281A (en) | 1996-03-07 | 1999-05-11 | Powertv, Inc. | List controlled video operations |
| US6243596B1 (en) | 1996-04-10 | 2001-06-05 | Lextron Systems, Inc. | Method and apparatus for modifying and integrating a cellular phone with the capability to access and browse the internet |
| US5815507A (en) | 1996-04-15 | 1998-09-29 | Motorola, Inc. | Error detector circuit for digital receiver using variable threshold based on signal quality |
| US6130602A (en) * | 1996-05-13 | 2000-10-10 | Micron Technology, Inc. | Radio frequency data communications device |
| JPH09307457A (ja) | 1996-05-14 | 1997-11-28 | Sony Corp | パラレルシリアル変換回路 |
| US5982362A (en) | 1996-05-30 | 1999-11-09 | Control Technology Corporation | Video interface architecture for programmable industrial control systems |
| US5983261A (en) | 1996-07-01 | 1999-11-09 | Apple Computer, Inc. | Method and apparatus for allocating bandwidth in teleconferencing applications using bandwidth control |
| GB9614561D0 (en) | 1996-07-11 | 1996-09-04 | 4Links Ltd | Communication system with improved code |
| US6298387B1 (en) | 1996-07-12 | 2001-10-02 | Philips Electronics North America Corp | System for detecting a data packet in a bitstream by storing data from the bitstream in a buffer and comparing data at different locations in the buffer to predetermined data |
| KR100221028B1 (ko) | 1996-07-23 | 1999-09-15 | 윤종용 | 그래픽 가속기 및 이를 이용한 메모리 프리패치 방법 |
| US6886035B2 (en) | 1996-08-02 | 2005-04-26 | Hewlett-Packard Development Company, L.P. | Dynamic load balancing of a network of client and server computer |
| US6185601B1 (en) | 1996-08-02 | 2001-02-06 | Hewlett-Packard Company | Dynamic load balancing of a network of client and server computers |
| US5969750A (en) | 1996-09-04 | 1999-10-19 | Winbcnd Electronics Corporation | Moving picture camera with universal serial bus interface |
| CA2214743C (en) | 1996-09-20 | 2002-03-05 | Ntt Mobile Communications Network Inc. | A frame synchronization circuit and communications system |
| US5990852A (en) | 1996-10-31 | 1999-11-23 | Fujitsu Limited | Display screen duplication system and method |
| US5864546A (en) | 1996-11-05 | 1999-01-26 | Worldspace International Network, Inc. | System for formatting broadcast data for satellite transmission and radio reception |
| US6308239B1 (en) | 1996-11-07 | 2001-10-23 | Hitachi, Ltd. | Interface switching apparatus and switching control method |
| US6078361A (en) | 1996-11-18 | 2000-06-20 | Sage, Inc | Video adapter circuit for conversion of an analog video signal to a digital display image |
| US6002709A (en) | 1996-11-21 | 1999-12-14 | Dsp Group, Inc. | Verification of PN synchronization in a direct-sequence spread-spectrum digital communications system |
| KR100211918B1 (ko) | 1996-11-30 | 1999-08-02 | 김영환 | 비동기식전송모드셀 경계 식별장치 |
| US5862160A (en) | 1996-12-31 | 1999-01-19 | Ericsson, Inc. | Secondary channel for communication networks |
| US5995512A (en) * | 1997-01-17 | 1999-11-30 | Delco Electronics Corporation | High speed multimedia data network |
| US6064649A (en) | 1997-01-31 | 2000-05-16 | Nec Usa, Inc. | Network interface card for wireless asynchronous transfer mode networks |
| US6081513A (en) | 1997-02-10 | 2000-06-27 | At&T Corp. | Providing multimedia conferencing services over a wide area network interconnecting nonguaranteed quality of services LANs |
| EP0859326A3 (en) | 1997-02-14 | 1999-05-12 | Canon Kabushiki Kaisha | Data transmission apparatus, system and method, and image processing apparatus |
| US6584144B2 (en) * | 1997-02-24 | 2003-06-24 | At&T Wireless Services, Inc. | Vertical adaptive antenna array for a discrete multitone spread spectrum communications system |
| US6359923B1 (en) * | 1997-12-18 | 2002-03-19 | At&T Wireless Services, Inc. | Highly bandwidth efficient communications |
| DE19733005B4 (de) | 1997-03-12 | 2007-06-21 | Storz Endoskop Gmbh | Einrichtung zur zentralen Überwachung und/oder Steuerung wenigstens eines Gerätes |
| US6480521B1 (en) | 1997-03-26 | 2002-11-12 | Qualcomm Incorporated | Method and apparatus for transmitting high speed data in a spread spectrum communications system |
| US7143177B1 (en) | 1997-03-31 | 2006-11-28 | West Corporation | Providing a presentation on a network having a plurality of synchronized media types |
| US5963557A (en) | 1997-04-11 | 1999-10-05 | Eng; John W. | High capacity reservation multiple access network with multiple shared unidirectional paths |
| US6405111B2 (en) | 1997-05-16 | 2002-06-11 | Snap-On Technologies, Inc. | System and method for distributed computer automotive service equipment |
| US5867510A (en) | 1997-05-30 | 1999-02-02 | Motorola, Inc. | Method of and apparatus for decoding and processing messages |
| JP3143079B2 (ja) | 1997-05-30 | 2001-03-07 | 松下電器産業株式会社 | 辞書索引作成装置と文書検索装置 |
| KR100550190B1 (ko) | 1997-06-03 | 2006-04-21 | 소니 가부시끼 가이샤 | 휴대용정보처리장치의제어방법,및휴대용정보처리장치 |
| US6236647B1 (en) | 1998-02-24 | 2001-05-22 | Tantivy Communications, Inc. | Dynamic frame size adjustment and selective reject on a multi-link channel to improve effective throughput and bit error rate |
| US6314479B1 (en) | 1997-08-04 | 2001-11-06 | Compaq Computer Corporation | Universal multi-pin plug and display connector for standardizing signals transmitted between a computer and a display for a PC theatre interconnectivity system |
| US6233550B1 (en) | 1997-08-29 | 2001-05-15 | The Regents Of The University Of California | Method and apparatus for hybrid coding of speech at 4kbps |
| US6288739B1 (en) | 1997-09-05 | 2001-09-11 | Intelect Systems Corporation | Distributed video communications system |
| US6574661B1 (en) | 1997-09-26 | 2003-06-03 | Mci Communications Corporation | Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client |
| DE69840754D1 (de) * | 1997-10-14 | 2009-05-28 | Cypress Semiconductor Corp | Digitaler funksendeempfänger |
| US6574211B2 (en) | 1997-11-03 | 2003-06-03 | Qualcomm Incorporated | Method and apparatus for high rate packet data transmission |
| US6894994B1 (en) | 1997-11-03 | 2005-05-17 | Qualcomm Incorporated | High data rate wireless packet data communications system |
| TW408315B (en) | 1997-11-07 | 2000-10-11 | Sharp Kk | Magnetic recording device, magnetic recording and reproducing device, and magnetic recording method |
| US6246876B1 (en) | 1997-11-13 | 2001-06-12 | Telefonaktiebolaget L M Ericsson (Publ) | Synchronization messages for hand-off operations |
| US6091709A (en) | 1997-11-25 | 2000-07-18 | International Business Machines Corporation | Quality of service management for packet switched networks |
| US20010012293A1 (en) | 1997-12-02 | 2001-08-09 | Lars-Goran Petersen | Simultaneous transmission of voice and non-voice data on a single narrowband connection |
| US6049837A (en) * | 1997-12-08 | 2000-04-11 | International Business Machines Corporation | Programmable output interface for lower level open system interconnection architecture |
| US6393008B1 (en) | 1997-12-23 | 2002-05-21 | Nokia Movile Phones Ltd. | Control structures for contention-based packet data services in wideband CDMA |
| KR100286080B1 (ko) | 1997-12-30 | 2001-04-16 | 윤종용 | 데이터링크를이용한데이터송신및수신방법 |
| KR100251963B1 (ko) | 1997-12-31 | 2000-04-15 | 윤종용 | 종합정보통신망과 연동 가능한 비동기전송모드 망 접속영상전화 단말장치 |
| KR100251708B1 (ko) | 1997-12-31 | 2000-04-15 | 윤종용 | 비동기 전송 모드 스위치에서 링크 대역폭 할당 및 관리 방법 |
| TW459184B (en) | 1998-01-23 | 2001-10-11 | Shiu Ming Wei | Multimedia message processing system |
| KR100614419B1 (ko) | 1998-02-20 | 2006-08-21 | 딥 비디오 이미징 리미티드 | 다층 디스플레이 |
| JP3004618B2 (ja) | 1998-02-27 | 2000-01-31 | キヤノン株式会社 | 画像入力装置及び画像入力システム及び画像送受信システム及び画像入力方法及び記憶媒体 |
| JPH11249987A (ja) | 1998-03-05 | 1999-09-17 | Nec Corp | メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体 |
| ID26398A (id) * | 1998-03-16 | 2000-12-21 | Jazio Inc | Pensinyalan kecepatan tinggi untuk antar-muka sirkuit vlsi cmos |
| KR100566040B1 (ko) | 1998-03-19 | 2006-03-30 | 가부시끼가이샤 히다치 세이사꾸쇼 | 방송 정보 공급 시스템 |
| US6243761B1 (en) | 1998-03-26 | 2001-06-05 | Digital Equipment Corporation | Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server |
| US6199169B1 (en) | 1998-03-31 | 2001-03-06 | Compaq Computer Corporation | System and method for synchronizing time across a computer cluster |
| MY126542A (en) | 1998-04-01 | 2006-10-31 | Panasonic System Networks Co Ltd | Activation of multiple xdsl modems with implicit channel probe |
| US6252888B1 (en) | 1998-04-14 | 2001-06-26 | Nortel Networks Corporation | Method and apparatus providing network communications between devices using frames with multiple formats |
| US6101601A (en) | 1998-04-20 | 2000-08-08 | International Business Machines Corporation | Method and apparatus for hibernation within a distributed data processing system |
| US6430196B1 (en) | 1998-05-01 | 2002-08-06 | Cisco Technology, Inc. | Transmitting delay sensitive information over IP over frame relay |
| KR100413417B1 (ko) | 1998-05-04 | 2004-02-14 | 엘지전자 주식회사 | 이동통신시스템에서 단말기의 호 접속 제어 방법. |
| US6611503B1 (en) | 1998-05-22 | 2003-08-26 | Tandberg Telecom As | Method and apparatus for multimedia conferencing with dynamic bandwidth allocation |
| JP3792894B2 (ja) | 1998-05-27 | 2006-07-05 | キヤノン株式会社 | 固体撮像素子及び固体撮像装置 |
| US6043693A (en) | 1998-06-01 | 2000-03-28 | 3Dfx Interactive, Incorporated | Multiplexed synchronization circuits for switching frequency synthesized signals |
| US6850282B1 (en) | 1998-06-02 | 2005-02-01 | Canon Kabushiki Kaisha | Remote control of image sensing apparatus |
| JP3475081B2 (ja) | 1998-06-03 | 2003-12-08 | 三洋電機株式会社 | 立体映像再生方法 |
| US6092231A (en) | 1998-06-12 | 2000-07-18 | Qlogic Corporation | Circuit and method for rapid checking of error correction codes using cyclic redundancy check |
| JP4267092B2 (ja) | 1998-07-07 | 2009-05-27 | 富士通株式会社 | 時刻同期方法 |
| US6510503B2 (en) | 1998-07-27 | 2003-01-21 | Mosaid Technologies Incorporated | High bandwidth memory interface |
| US6359479B1 (en) | 1998-08-04 | 2002-03-19 | Juniper Networks, Inc. | Synchronizing data transfers between two distinct clock domains |
| US6532506B1 (en) | 1998-08-12 | 2003-03-11 | Intel Corporation | Communicating with devices over a bus and negotiating the transfer rate over the same |
| US6728263B2 (en) | 1998-08-18 | 2004-04-27 | Microsoft Corporation | Dynamic sizing of data packets |
| AU6385699A (en) | 1998-09-11 | 2000-04-03 | Sharewave, Inc. | Method and apparatus for controlling communication within a computer network |
| JP2000188626A (ja) | 1998-10-13 | 2000-07-04 | Texas Instr Inc <Ti> | 一体のマイクロコントロ―ラ・エミュレ―タを有するリンク/トランザクション層コントロ―ラ |
| ATE297623T1 (de) | 1998-10-30 | 2005-06-15 | Broadcom Corp | Internet-gigabit-ethernet-sender-architektur |
| US6421735B1 (en) * | 1998-10-30 | 2002-07-16 | Advanced Micro Devices, Inc. | Apparatus and method for automatically selecting a network port for a home network station |
| US7180951B2 (en) | 1998-10-30 | 2007-02-20 | Broadcom Corporation | Reduction of aggregate EMI emissions of multiple transmitters |
| US6836829B2 (en) | 1998-11-20 | 2004-12-28 | Via Technologies, Inc. | Peripheral device interface chip cache and data synchronization method |
| TW466410B (en) | 2000-06-16 | 2001-12-01 | Via Tech Inc | Cache device inside peripheral component interface chipset and data synchronous method to externals |
| US6545979B1 (en) | 1998-11-27 | 2003-04-08 | Alcatel Canada Inc. | Round trip delay measurement |
| WO2000035126A1 (en) | 1998-12-07 | 2000-06-15 | Samsung Electronics Co., Ltd. | Device and method for gating transmission in a cdma mobile communication system |
| US6363439B1 (en) | 1998-12-07 | 2002-03-26 | Compaq Computer Corporation | System and method for point-to-point serial communication between a system interface device and a bus interface device in a computer system |
| US6791379B1 (en) | 1998-12-07 | 2004-09-14 | Broadcom Corporation | Low jitter high phase resolution PLL-based timing recovery system |
| JP4018827B2 (ja) | 1998-12-14 | 2007-12-05 | Necエンジニアリング株式会社 | データ多重化回路及びデータ分離回路 |
| JP3557975B2 (ja) | 1998-12-14 | 2004-08-25 | セイコーエプソン株式会社 | 信号切り替え回路及び信号切り替え方法 |
| US6297684B1 (en) | 1998-12-14 | 2001-10-02 | Seiko Epson Corporation | Circuit and method for switching between digital signals that have different signal rates |
| US6252526B1 (en) | 1998-12-14 | 2001-06-26 | Seiko Epson Corporation | Circuit and method for fast parallel data strobe encoding |
| JP2000196986A (ja) | 1998-12-25 | 2000-07-14 | Olympus Optical Co Ltd | 電子的撮像装置 |
| US6950428B1 (en) | 1998-12-30 | 2005-09-27 | Hewlett-Packard Development Company, L.P. | System and method for configuring adaptive sets of links between routers in a system area network (SAN) |
| US6549538B1 (en) | 1998-12-31 | 2003-04-15 | Compaq Information Technologies Group, L.P. | Computer method and apparatus for managing network ports cluster-wide using a lookaside list |
| US6836469B1 (en) | 1999-01-15 | 2004-12-28 | Industrial Technology Research Institute | Medium access control protocol for a multi-channel communication system |
| JP2000216843A (ja) | 1999-01-22 | 2000-08-04 | Oki Electric Ind Co Ltd | デジタル復調器 |
| US6636508B1 (en) | 1999-02-12 | 2003-10-21 | Nortel Networks Limted | Network resource conservation system |
| US6493824B1 (en) | 1999-02-19 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Secure system for remotely waking a computer in a power-down state |
| US6199099B1 (en) | 1999-03-05 | 2001-03-06 | Ac Properties B.V. | System, method and article of manufacture for a mobile communication network utilizing a distributed communication network |
| EP1163607A2 (en) | 1999-03-05 | 2001-12-19 | Accenture LLP | Method and apparatus for creating an information summary |
| JP4181685B2 (ja) | 1999-03-12 | 2008-11-19 | 富士通株式会社 | 電力制御方法及び電子機器並びに記録媒体 |
| US6429867B1 (en) | 1999-03-15 | 2002-08-06 | Sun Microsystems, Inc. | System and method for generating and playback of three-dimensional movies |
| US6636922B1 (en) * | 1999-03-17 | 2003-10-21 | Adaptec, Inc. | Methods and apparatus for implementing a host side advanced serial protocol |
| US6609167B1 (en) | 1999-03-17 | 2003-08-19 | Adaptec, Inc. | Host and device serial communication protocols and communication packet formats |
| FI107424B (fi) | 1999-03-22 | 2001-07-31 | Nokia Mobile Phones Ltd | Menetelmä ja järjestelmä multimediaan liittyvän informaation välittämiseen valmistautumiseksi pakettikytkentäisessä solukkoradioverkossa |
| JP2000278141A (ja) | 1999-03-26 | 2000-10-06 | Mitsubishi Electric Corp | マルチプレクサ |
| KR100350607B1 (ko) | 1999-03-31 | 2002-08-28 | 삼성전자 주식회사 | 음성 및 화상 송수신을 위한 휴대용 복합 통신단말기 및 그 동작방법과 통신시스템 |
| US6222677B1 (en) | 1999-04-12 | 2001-04-24 | International Business Machines Corporation | Compact optical system for use in virtual display applications |
| JP2000358033A (ja) | 1999-06-14 | 2000-12-26 | Canon Inc | データ通信システム及びデータ通信方法 |
| US6618360B1 (en) | 1999-06-15 | 2003-09-09 | Hewlett-Packard Development Company, L.P. | Method for testing data path of peripheral server devices |
| US6457090B1 (en) | 1999-06-30 | 2002-09-24 | Adaptec, Inc. | Structure and method for automatic configuration for SCSI Synchronous data transfers |
| JP2001025010A (ja) | 1999-07-09 | 2001-01-26 | Mitsubishi Electric Corp | マルチメディア情報通信装置およびその方法 |
| US6865609B1 (en) | 1999-08-17 | 2005-03-08 | Sharewave, Inc. | Multimedia extensions for wireless local area network |
| US6597197B1 (en) | 1999-08-27 | 2003-07-22 | Intel Corporation | I2C repeater with voltage translation |
| KR20010019734A (ko) | 1999-08-30 | 2001-03-15 | 윤종용 | 유무선 통신을 이용한 컴퓨터 교육용 시스템 |
| US7010607B1 (en) * | 1999-09-15 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | Method for training a communication link between ports to correct for errors |
| JP3116090B1 (ja) | 1999-09-17 | 2000-12-11 | 郵政省通信総合研究所長 | 通信システム、送信装置、受信装置、送信方法、受信方法、および、情報記録媒体 |
| JP4207329B2 (ja) | 1999-09-20 | 2009-01-14 | 富士通株式会社 | フレーム同期回路 |
| US6782277B1 (en) | 1999-09-30 | 2004-08-24 | Qualcomm Incorporated | Wireless communication system with base station beam sweeping |
| US6678751B1 (en) | 1999-10-15 | 2004-01-13 | Micro Motion, Inc. | System for setting frame and protocol for transmission in a UART device |
| US6643787B1 (en) | 1999-10-19 | 2003-11-04 | Rambus Inc. | Bus system optimization |
| US6662322B1 (en) | 1999-10-29 | 2003-12-09 | International Business Machines Corporation | Systems, methods, and computer program products for controlling the error rate in a communication device by adjusting the distance between signal constellation points |
| EP1228578A1 (de) | 1999-11-11 | 2002-08-07 | Ascom Powerline Communications AG | Kommunikationssystem insbesondere für den indoor-bereich |
| US6438363B1 (en) | 1999-11-15 | 2002-08-20 | Lucent Technologies Inc. | Wireless modem alignment in a multi-cell environment |
| AU1580301A (en) | 1999-11-16 | 2001-05-30 | Broadcom Corporation | Network switch with high-speed serializing/deserializing hazard-free double datarate switching |
| AU7728300A (en) | 1999-11-22 | 2001-06-04 | Ericsson Inc. | Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks |
| TW513636B (en) | 2000-06-30 | 2002-12-11 | Via Tech Inc | Bus data interface for transmitting data on PCI bus, the structure and the operating method thereof |
| US6804257B1 (en) | 1999-11-25 | 2004-10-12 | International Business Machines Corporation | System and method for framing and protecting variable-lenght packet streams |
| JP4058888B2 (ja) | 1999-11-29 | 2008-03-12 | セイコーエプソン株式会社 | Ram内蔵ドライバ並びにそれを用いた表示ユニットおよび電子機器 |
| JP4191869B2 (ja) | 1999-12-20 | 2008-12-03 | 富士フイルム株式会社 | ディジタルカメラを用いたコンピュータシステム |
| US7383350B1 (en) | 2000-02-03 | 2008-06-03 | International Business Machines Corporation | User input based allocation of bandwidth on a data link |
| US6778493B1 (en) | 2000-02-07 | 2004-08-17 | Sharp Laboratories Of America, Inc. | Real-time media content synchronization and transmission in packet network apparatus and method |
| JP3490368B2 (ja) | 2000-02-07 | 2004-01-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 信号出力装置、ドライバ回路、信号伝送システム、および信号伝送方法 |
| JP2001236304A (ja) | 2000-02-21 | 2001-08-31 | Mitsubishi Electric Corp | マイクロコンピュータ |
| JP4449141B2 (ja) | 2000-02-22 | 2010-04-14 | ソニー株式会社 | 電源制御装置、電源制御システム |
| US6477150B1 (en) * | 2000-03-03 | 2002-11-05 | Qualcomm, Inc. | System and method for providing group communication services in an existing communication system |
| WO2001067674A2 (en) | 2000-03-03 | 2001-09-13 | Qualcomm Incorporated | Method and apparatus for participating in group communication services in an existing communication system |
| JP2001282714A (ja) | 2000-03-30 | 2001-10-12 | Olympus Optical Co Ltd | マルチカメラデータ転送方式及びデータ転送方式 |
| JP2001292146A (ja) | 2000-04-07 | 2001-10-19 | Sony Corp | 電子機器およびディジタルシリアルデータのインタフェース装置のバス初期化フェーズにおける処理方法 |
| US6882361B1 (en) | 2000-04-19 | 2005-04-19 | Pixelworks, Inc. | Imager linked with image processing station |
| JP2001306428A (ja) | 2000-04-25 | 2001-11-02 | Canon Inc | ネットワーク機器、ネットワークシステム、通信方法及び記録媒体 |
| JP2001319745A (ja) | 2000-05-08 | 2001-11-16 | Honda Tsushin Kogyo Co Ltd | 変換用アダプタ |
| JP2001320280A (ja) | 2000-05-10 | 2001-11-16 | Mitsubishi Electric Corp | 並列−直列変換回路 |
| US6760722B1 (en) | 2000-05-16 | 2004-07-06 | International Business Machines Corporation | Computer implemented automated remote support |
| JP4292685B2 (ja) | 2000-05-23 | 2009-07-08 | 日本電気株式会社 | データ転送システム、データ送受信システム、データ送受信方法、フォーマット変換装置、フォーマット変換方法およびフォーマット変換プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| KR100360622B1 (ko) | 2000-06-12 | 2002-11-13 | 주식회사 문화방송 | 엠펙 데이터 프레임과 이를 이용한 송수신 시스템 |
| US6754179B1 (en) | 2000-06-13 | 2004-06-22 | Lsi Logic Corporation | Real time control of pause frame transmissions for improved bandwidth utilization |
| JP3415567B2 (ja) | 2000-06-21 | 2003-06-09 | エヌイーシーマイクロシステム株式会社 | Usb転送制御方法およびusbコントローラ |
| US6714233B2 (en) | 2000-06-21 | 2004-03-30 | Seiko Epson Corporation | Mobile video telephone system |
| US6999432B2 (en) | 2000-07-13 | 2006-02-14 | Microsoft Corporation | Channel and quality of service adaptation for multimedia over wireless networks |
| US7917602B2 (en) | 2000-08-08 | 2011-03-29 | The Directv Group, Inc. | Method and system for remote television replay control |
| US6892071B2 (en) | 2000-08-09 | 2005-05-10 | Sk Telecom Co., Ltd. | Handover method in wireless telecommunication system supporting USTS |
| US6784941B1 (en) | 2000-08-09 | 2004-08-31 | Sunplus Technology Co., Ltd. | Digital camera with video input |
| US6725412B1 (en) | 2000-08-15 | 2004-04-20 | Dolby Laboratories Licensing Corporation | Low latency data encoder |
| JP2002062990A (ja) | 2000-08-15 | 2002-02-28 | Fujitsu Media Device Kk | インターフェイス装置 |
| GB2366926A (en) | 2000-09-06 | 2002-03-20 | Sony Uk Ltd | Combining material and data |
| US6747964B1 (en) | 2000-09-15 | 2004-06-08 | Qualcomm Incorporated | Method and apparatus for high data rate transmission in a wireless communication system |
| US7138989B2 (en) | 2000-09-15 | 2006-11-21 | Silicon Graphics, Inc. | Display capable of displaying images in response to signals of a plurality of signal formats |
| JP4146991B2 (ja) | 2000-09-18 | 2008-09-10 | キヤノン株式会社 | 電子カメラシステム、電子カメラ及び電子カメラシステムの制御方法 |
| US7466978B1 (en) | 2000-09-18 | 2008-12-16 | International Business Machines Corporation | Telephone network node device |
| US6760882B1 (en) | 2000-09-19 | 2004-07-06 | Intel Corporation | Mode selection for data transmission in wireless communication channels based on statistical parameters |
| US6738344B1 (en) | 2000-09-27 | 2004-05-18 | Hewlett-Packard Development Company, L.P. | Link extenders with link alive propagation |
| US7336613B2 (en) | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
| US6690655B1 (en) | 2000-10-19 | 2004-02-10 | Motorola, Inc. | Low-powered communication system and method of operation |
| US7869067B2 (en) | 2000-10-20 | 2011-01-11 | Visioneer, Inc. | Combination scanner and image data reader system including image management and software |
| US7278069B2 (en) | 2000-10-31 | 2007-10-02 | Igor Anatolievich Abrosimov | Data transmission apparatus for high-speed transmission of digital data and method for automatic skew calibration |
| US8996698B1 (en) * | 2000-11-03 | 2015-03-31 | Truphone Limited | Cooperative network for mobile internet access |
| CA2397323C (en) | 2000-11-17 | 2006-04-11 | Samsung Electronics Co., Ltd. | Apparatus and method for measuring propagation delay in an nb-tdd cdma mobile communication system |
| US7464877B2 (en) | 2003-11-13 | 2008-12-16 | Metrologic Instruments, Inc. | Digital imaging-based bar code symbol reading system employing image cropping pattern generator and automatic cropped image processor |
| FI115802B (fi) | 2000-12-04 | 2005-07-15 | Nokia Corp | Kuvakehyksien päivittäminen muistillisessa näytössä |
| GB2397675B (en) | 2000-12-06 | 2004-09-29 | Fujitsu Ltd | Verification circuitry |
| US6973039B2 (en) | 2000-12-08 | 2005-12-06 | Bbnt Solutions Llc | Mechanism for performing energy-based routing in wireless networks |
| US6760772B2 (en) * | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| WO2002049314A2 (en) * | 2000-12-15 | 2002-06-20 | Qualcomm Incorporated | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| US7023924B1 (en) | 2000-12-28 | 2006-04-04 | Emc Corporation | Method of pausing an MPEG coded video stream |
| JP2002208844A (ja) | 2001-01-12 | 2002-07-26 | Nec Eng Ltd | グリッチ除去回路 |
| US6947436B2 (en) | 2001-02-01 | 2005-09-20 | Motorola, Inc. | Method for optimizing forward link data transmission rates in spread-spectrum communications systems |
| US7301968B2 (en) | 2001-03-02 | 2007-11-27 | Pmc-Sierra Israel Ltd. | Communication protocol for passive optical network topologies |
| KR20020071226A (ko) | 2001-03-05 | 2002-09-12 | 삼성전자 주식회사 | 이동통신 시스템에서 역방향 링크 송신 제어 장치 및 방법 |
| JP4106226B2 (ja) | 2001-03-26 | 2008-06-25 | 松下電器産業株式会社 | 電源制御装置 |
| CN1165141C (zh) | 2001-03-27 | 2004-09-01 | 华为技术有限公司 | 路由器接口驱动数据转发过程的方法 |
| JP2002300299A (ja) | 2001-03-29 | 2002-10-11 | Shunichi Toyoda | 携帯電話材のメモリを利用した情報端末装置による教育システム |
| CN1159935C (zh) | 2001-03-30 | 2004-07-28 | 华为技术有限公司 | 一种提高市区环境下蜂窝移动台定位精度的方法和装置 |
| JP3497834B2 (ja) | 2001-03-30 | 2004-02-16 | 株式会社東芝 | ルートリピータ、usb通信システム、usb通信制御方法 |
| JP2002359774A (ja) | 2001-03-30 | 2002-12-13 | Fuji Photo Film Co Ltd | 電子カメラ |
| US7042877B2 (en) | 2001-04-27 | 2006-05-09 | The Boeing Company | Integrated analysis of incoming data transmissions |
| US6889056B2 (en) | 2001-04-30 | 2005-05-03 | Ntt Docomo, Inc. | Transmission control scheme |
| JP3884322B2 (ja) | 2001-05-16 | 2007-02-21 | 株式会社リコー | ネットワークインターフェース |
| US7392541B2 (en) | 2001-05-17 | 2008-06-24 | Vir2Us, Inc. | Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments |
| JP2002351689A (ja) | 2001-05-30 | 2002-12-06 | Nec Corp | データ転送システム |
| US7191281B2 (en) | 2001-06-13 | 2007-03-13 | Intel Corporation | Mobile computer system having a navigation mode to optimize system performance and power management for mobile applications |
| JP2003006143A (ja) | 2001-06-22 | 2003-01-10 | Nec Corp | バス共有化システムと装置及び方法 |
| US7165112B2 (en) | 2001-06-22 | 2007-01-16 | Motorola, Inc. | Method and apparatus for transmitting data in a communication system |
| US7003795B2 (en) * | 2001-06-26 | 2006-02-21 | Digeo, Inc. | Webcam-based interface for initiating two-way video communication |
| US6745364B2 (en) | 2001-06-28 | 2004-06-01 | Microsoft Corporation | Negotiated/dynamic error correction for streamed media |
| JP2003046595A (ja) | 2001-07-06 | 2003-02-14 | Texas Instruments Inc | データ通信の方法および装置 |
| US7051218B1 (en) * | 2001-07-18 | 2006-05-23 | Advanced Micro Devices, Inc. | Message based power management |
| CN100470654C (zh) | 2001-07-23 | 2009-03-18 | 松下电器产业株式会社 | 将信息记录到信息记录介质的装置及方法 |
| WO2003013080A1 (en) | 2001-07-31 | 2003-02-13 | Comverse Ltd. | Email protocol for a mobile environment and gateway using same |
| US7184408B2 (en) | 2001-07-31 | 2007-02-27 | Denton I Claude | Method and apparatus for programmable generation of traffic streams |
| JP2003044184A (ja) | 2001-08-01 | 2003-02-14 | Canon Inc | データ処理装置及び電力制御方法 |
| GB2415314B (en) | 2001-08-08 | 2006-05-03 | Adder Tech Ltd | Video switch |
| US6758678B2 (en) | 2001-08-14 | 2004-07-06 | Disney Enterprises, Inc. | Computer enhanced play set and method |
| JP4733877B2 (ja) | 2001-08-15 | 2011-07-27 | 富士通セミコンダクター株式会社 | 半導体装置 |
| JP2003069544A (ja) | 2001-08-23 | 2003-03-07 | Hitachi Kokusai Electric Inc | 通信制御方法及び通信制御装置 |
| JP4322451B2 (ja) | 2001-09-05 | 2009-09-02 | 日本電気株式会社 | Dspメモリ間あるいはdspメモリとcpu用メモリ(dpram)間データ転送方式 |
| BR0212361A (pt) | 2001-09-06 | 2006-11-07 | Qualcomm Inc | geração e implementação de um protocolo de comunicação e interface para transferência de sinais de taxa de dados elevada |
| US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
| DE10145722A1 (de) | 2001-09-17 | 2003-04-24 | Infineon Technologies Ag | Konzept zur sicheren Datenkommunikation zwischen elektronischen Bausteinen |
| US20030061431A1 (en) | 2001-09-21 | 2003-03-27 | Intel Corporation | Multiple channel interface for communications between devices |
| KR100408299B1 (ko) | 2001-09-29 | 2003-12-01 | 삼성전자주식회사 | 모드 판단 장치 및 방법 |
| JP3633538B2 (ja) | 2001-10-02 | 2005-03-30 | 日本電気株式会社 | 輻輳制御システム |
| US7570668B2 (en) | 2001-10-03 | 2009-08-04 | Nokia Corporation | Data synchronization |
| KR100408525B1 (ko) | 2001-10-31 | 2003-12-06 | 삼성전자주식회사 | 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법 |
| EP1309133A1 (de) | 2001-10-31 | 2003-05-07 | Siemens Aktiengesellschaft | Verfahren, Empfangseinrichtung und Sendeeinrichtung zur Bestimmung des schnellsten Nachrichtenpfades ohne Uhrensynchronisation |
| US20030125040A1 (en) | 2001-11-06 | 2003-07-03 | Walton Jay R. | Multiple-access multiple-input multiple-output (MIMO) communication system |
| US7126945B2 (en) | 2001-11-07 | 2006-10-24 | Symbol Technologies, Inc. | Power saving function for wireless LANS: methods, system and program products |
| US20030110234A1 (en) | 2001-11-08 | 2003-06-12 | Lightsurf Technologies, Inc. | System and methodology for delivering media to multiple disparate client devices based on their capabilities |
| US6990549B2 (en) | 2001-11-09 | 2006-01-24 | Texas Instruments Incorporated | Low pin count (LPC) I/O bridge |
| US7536598B2 (en) | 2001-11-19 | 2009-05-19 | Vir2Us, Inc. | Computer system capable of supporting a plurality of independent computing environments |
| US6891545B2 (en) | 2001-11-20 | 2005-05-10 | Koninklijke Philips Electronics N.V. | Color burst queue for a shared memory controller in a color sequential display system |
| GB2382502B (en) * | 2001-11-23 | 2005-10-19 | Actix Ltd | Network testing systems |
| JP2003167680A (ja) | 2001-11-30 | 2003-06-13 | Hitachi Ltd | ディスク装置 |
| US20030112758A1 (en) * | 2001-12-03 | 2003-06-19 | Pang Jon Laurent | Methods and systems for managing variable delays in packet transmission |
| US7486693B2 (en) | 2001-12-14 | 2009-02-03 | General Electric Company | Time slot protocol |
| US6993393B2 (en) | 2001-12-19 | 2006-01-31 | Cardiac Pacemakers, Inc. | Telemetry duty cycle management system for an implantable medical device |
| JP2003198550A (ja) | 2001-12-25 | 2003-07-11 | Matsushita Electric Ind Co Ltd | 通信装置及び通信方法 |
| KR100428767B1 (ko) | 2002-01-11 | 2004-04-28 | 삼성전자주식회사 | 트래픽 정보를 이용한 가입자 라우팅 설정 방법 및 이를위한 기록매체 |
| US20030135863A1 (en) | 2002-01-17 | 2003-07-17 | Koninklijke Philips Electronics N.V. | Targeted scalable multicast based on client bandwidth or capability |
| US20030144006A1 (en) | 2002-01-25 | 2003-07-31 | Mikael Johansson | Methods, systems, and computer program products for determining the location of a mobile terminal based on delays in receiving data packets from transmitters having known locations |
| US20050120208A1 (en) * | 2002-01-25 | 2005-06-02 | Albert Dobson Robert W. | Data transmission systems |
| US6690201B1 (en) | 2002-01-28 | 2004-02-10 | Xilinx, Inc. | Method and apparatus for locating data transition regions |
| US7336139B2 (en) | 2002-03-18 | 2008-02-26 | Applied Micro Circuits Corporation | Flexible interconnect cable with grounded coplanar waveguide |
| US6797891B1 (en) | 2002-03-18 | 2004-09-28 | Applied Micro Circuits Corporation | Flexible interconnect cable with high frequency electrical transmission line |
| US6867668B1 (en) | 2002-03-18 | 2005-03-15 | Applied Micro Circuits Corporation | High frequency signal transmission from the surface of a circuit substrate to a flexible interconnect cable |
| US7145411B1 (en) | 2002-03-18 | 2006-12-05 | Applied Micro Circuits Corporation | Flexible differential interconnect cable with isolated high frequency electrical transmission line |
| US20030185220A1 (en) | 2002-03-27 | 2003-10-02 | Moshe Valenci | Dynamically loading parsing capabilities |
| US7310535B1 (en) | 2002-03-29 | 2007-12-18 | Good Technology, Inc. | Apparatus and method for reducing power consumption in a wireless device |
| US7425986B2 (en) | 2002-03-29 | 2008-09-16 | Canon Kabushiki Kaisha | Conversion apparatus for image data delivery |
| JP2003303068A (ja) | 2002-04-10 | 2003-10-24 | Ricoh Co Ltd | 画像出力システム、画像出力方法、プログラム及び記憶媒体 |
| US7430001B2 (en) | 2002-04-12 | 2008-09-30 | Canon Kabushiki Kaisha | Image sensing system, communication apparatus and image sensing apparatus having remote control function, and their control method |
| TWI235917B (en) | 2002-04-15 | 2005-07-11 | Via Tech Inc | High speed data transmitter and transmission method thereof |
| US7158539B2 (en) | 2002-04-16 | 2007-01-02 | Microsoft Corporation | Error resilient windows media audio coding |
| US7599689B2 (en) | 2002-04-22 | 2009-10-06 | Nokia Corporation | System and method for bookmarking radio stations and associated internet addresses |
| JP4029390B2 (ja) | 2002-04-23 | 2008-01-09 | ソニー株式会社 | 情報処理システム、情報処理装置および方法、プログラム格納媒体、並びにプログラム |
| US7284181B1 (en) | 2002-04-24 | 2007-10-16 | Juniper Networks, Inc. | Systems and methods for implementing end-to-end checksum |
| US7206516B2 (en) | 2002-04-30 | 2007-04-17 | Pivotal Decisions Llc | Apparatus and method for measuring the dispersion of a fiber span |
| US7574113B2 (en) | 2002-05-06 | 2009-08-11 | Sony Corporation | Video and audio data recording apparatus, video and audio data recording method, video and audio data reproducing apparatus, and video and audio data reproducing method |
| US20050091593A1 (en) | 2002-05-10 | 2005-04-28 | General Electric Company | Method and system for coordinated transfer of control of a remote controlled locomotive |
| US6886067B2 (en) | 2002-05-23 | 2005-04-26 | Seiko Epson Corporation | 32 Bit generic asynchronous bus interface using read/write strobe byte enables |
| US7036066B2 (en) | 2002-05-24 | 2006-04-25 | Sun Microsystems, Inc. | Error detection using data block mapping |
| US7269153B1 (en) | 2002-05-24 | 2007-09-11 | Conexant Systems, Inc. | Method for minimizing time critical transmit processing for a personal computer implementation of a wireless local area network adapter |
| US7543326B2 (en) | 2002-06-10 | 2009-06-02 | Microsoft Corporation | Dynamic rate control |
| JP2003098583A (ja) | 2002-06-10 | 2003-04-03 | Nikon Corp | 書換え可能なメモリを使用するカメラ |
| JP2004021613A (ja) | 2002-06-17 | 2004-01-22 | Seiko Epson Corp | データ転送制御装置、電子機器及びデータ転送制御方法 |
| EP1376945B1 (en) | 2002-06-18 | 2006-06-07 | Matsushita Electric Industrial Co., Ltd. | Receiver-based RTT measurement in TCP |
| KR100469427B1 (ko) | 2002-06-24 | 2005-02-02 | 엘지전자 주식회사 | 이동통신 시스템의 동영상 재생 방법 |
| US7486696B2 (en) | 2002-06-25 | 2009-02-03 | Avaya, Inc. | System and method for providing bandwidth management for VPNs |
| JP4175838B2 (ja) | 2002-07-09 | 2008-11-05 | 三菱電機株式会社 | 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法 |
| DE10234991B4 (de) | 2002-07-31 | 2008-07-31 | Advanced Micro Devices, Inc., Sunnyvale | Hostcontrollerdiagnose für einen seriellen Bus |
| US7403511B2 (en) | 2002-08-02 | 2008-07-22 | Texas Instruments Incorporated | Low power packet detector for low power WLAN devices |
| US6611221B1 (en) | 2002-08-26 | 2003-08-26 | Texas Instruments Incorporated | Multi-bit sigma-delta modulator employing dynamic element matching using adaptively randomized data-weighted averaging |
| JP4390112B2 (ja) | 2002-09-05 | 2009-12-24 | エージェンシー フォー サイエンス,テクノロジー アンド リサーチ | ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置 |
| WO2004025365A1 (en) | 2002-09-13 | 2004-03-25 | Digimarc Id Systems, Llc | Enhanced shadow reduction system and related techniques for digital image capture |
| US7257087B2 (en) | 2002-10-04 | 2007-08-14 | Agilent Technologies, Inc. | System and method to calculate round trip delay for real time protocol packet streams |
| CN1266976C (zh) | 2002-10-15 | 2006-07-26 | 华为技术有限公司 | 一种移动台定位方法及其直放站 |
| US20040082383A1 (en) | 2002-10-24 | 2004-04-29 | Motorola, Inc | Methodology and wireless device for interactive gaming |
| JP4028356B2 (ja) | 2002-10-31 | 2007-12-26 | 京セラ株式会社 | 通信システム、無線通信端末、データ配信装置及び通信方法 |
| US7949777B2 (en) | 2002-11-01 | 2011-05-24 | Avid Technology, Inc. | Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal |
| GB0226014D0 (en) | 2002-11-08 | 2002-12-18 | Nokia Corp | Camera-LSI and information device |
| US7336667B2 (en) | 2002-11-21 | 2008-02-26 | International Business Machines Corporation | Apparatus, method and program product to generate and use CRC in communications network |
| US7327735B2 (en) | 2002-11-27 | 2008-02-05 | Alcatel Canada Inc. | System and method for detecting lost messages transmitted between modules in a communication device |
| JP3642332B2 (ja) | 2002-12-20 | 2005-04-27 | 松下電器産業株式会社 | 折り畳み式携帯電話装置 |
| US7191349B2 (en) | 2002-12-26 | 2007-03-13 | Intel Corporation | Mechanism for processor power state aware distribution of lowest priority interrupt |
| US6765506B1 (en) | 2003-01-06 | 2004-07-20 | Via Technologies Inc. | Scrambler, de-scrambler, and related method |
| GB2397709B (en) | 2003-01-27 | 2005-12-28 | Evangelos Arkas | Period-to-digital converter |
| US7047475B2 (en) | 2003-02-04 | 2006-05-16 | Hewlett-Packard Development Company, L.P. | CRC encoding scheme for conveying status information |
| JP4119764B2 (ja) | 2003-02-13 | 2008-07-16 | 京セラ株式会社 | カメラ付き携帯端末 |
| US20040176065A1 (en) | 2003-02-20 | 2004-09-09 | Bo Liu | Low power operation in a personal area network communication system |
| US7787886B2 (en) | 2003-02-24 | 2010-08-31 | Invisitrack, Inc. | System and method for locating a target using RFID |
| US6944136B2 (en) | 2003-02-28 | 2005-09-13 | On-Demand Technologies, Inc. | Two-way audio/video conferencing system |
| US20040184450A1 (en) | 2003-03-19 | 2004-09-23 | Abdu H. Omran | Method and system for transport and routing of packets over frame-based networks |
| JP4112414B2 (ja) | 2003-03-28 | 2008-07-02 | 京セラ株式会社 | 携帯端末装置 |
| US7260087B2 (en) | 2003-04-02 | 2007-08-21 | Cellco Partnership | Implementation methodology for client initiated parameter negotiation for PTT/VoIP type services |
| JP2004309623A (ja) | 2003-04-03 | 2004-11-04 | Konica Minolta Opto Inc | 撮像装置及び携帯端末並びに撮像装置製造方法 |
| US7403487B1 (en) | 2003-04-10 | 2008-07-22 | At&T Corporation | Method and system for dynamically adjusting QOS |
| JP4288994B2 (ja) | 2003-04-10 | 2009-07-01 | 株式会社日立製作所 | 端末装置、配信サーバ、映像データの受信方法及び映像データの送信方法 |
| DE602004013567D1 (de) * | 2003-04-17 | 2008-06-19 | Thomson Licensing | Datenabrufende und -übertragende vorrichtungen und verfahren |
| US20040221315A1 (en) | 2003-05-01 | 2004-11-04 | Genesis Microchip Inc. | Video interface arranged to provide pixel data independent of a link character clock |
| US6895410B2 (en) | 2003-05-02 | 2005-05-17 | Nokia Corporation | Method and apparatus for providing a multimedia data stream |
| US7477604B2 (en) | 2003-05-14 | 2009-01-13 | Ntt Docomo, Inc. | Packet communications system |
| EP1645082A2 (en) * | 2003-05-28 | 2006-04-12 | Artimi Ltd | Ultra-wideband network, device, device controller, method and data packet for establishing a mesh network and forwarding packets on another channel |
| US7110420B2 (en) * | 2003-05-30 | 2006-09-19 | North Carolina State University | Integrated circuit devices having on-chip adaptive bandwidth buses and related methods |
| JP4278439B2 (ja) | 2003-06-02 | 2009-06-17 | パイオニア株式会社 | 情報通信装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体 |
| US6975145B1 (en) | 2003-06-02 | 2005-12-13 | Xilinx, Inc. | Glitchless dynamic multiplexer with synchronous and asynchronous controls |
| CN105406947A (zh) | 2003-06-02 | 2016-03-16 | 高通股份有限公司 | 生成并实施一用于更高数据率的讯号协议和接口 |
| US20040260823A1 (en) | 2003-06-17 | 2004-12-23 | General Instrument Corporation | Simultaneously transporting multiple MPEG-2 transport streams |
| JP3834819B2 (ja) | 2003-07-17 | 2006-10-18 | 船井電機株式会社 | プロジェクタ |
| KR100538226B1 (ko) | 2003-07-18 | 2005-12-21 | 삼성전자주식회사 | 복수의 아날로그 입력 신호를 고속으로 처리하는아날로그/디지털 변환 장치 및 이를 이용한 디스플레이 장치 |
| US7526350B2 (en) | 2003-08-06 | 2009-04-28 | Creative Technology Ltd | Method and device to process digital media streams |
| EP2363989B1 (en) | 2003-08-13 | 2018-09-19 | Qualcomm Incorporated | A signal interface for higher data rates |
| CN101764804A (zh) | 2003-09-10 | 2010-06-30 | 高通股份有限公司 | 高数据速率接口 |
| US7467202B2 (en) * | 2003-09-10 | 2008-12-16 | Fidelis Security Systems | High-performance network content analysis platform |
| US7015838B1 (en) | 2003-09-11 | 2006-03-21 | Xilinx, Inc. | Programmable serializing data path |
| KR20050028396A (ko) | 2003-09-17 | 2005-03-23 | 삼성전자주식회사 | 멀티 세션 방식을 이용한 데이터 기록 방법 및 그정보저장매체 |
| JP2005107683A (ja) | 2003-09-29 | 2005-04-21 | Sharp Corp | 通信コントローラ、通信システム、通信機器、および通信方法 |
| US7315520B2 (en) | 2003-10-08 | 2008-01-01 | Research In Motion Limited | Method and apparatus for dynamic packet transport in CDMA2000 networks |
| CN102801615A (zh) | 2003-10-15 | 2012-11-28 | 高通股份有限公司 | 高数据速率接口 |
| KR100827573B1 (ko) | 2003-10-29 | 2008-05-07 | 퀄컴 인코포레이티드 | 높은 데이터 레이트 인터페이스 |
| US8606946B2 (en) | 2003-11-12 | 2013-12-10 | Qualcomm Incorporated | Method, system and computer program for driving a data signal in data interface communication data link |
| US7447953B2 (en) | 2003-11-14 | 2008-11-04 | Intel Corporation | Lane testing with variable mapping |
| US7143207B2 (en) | 2003-11-14 | 2006-11-28 | Intel Corporation | Data accumulation between data path having redrive circuit and memory device |
| US7219294B2 (en) | 2003-11-14 | 2007-05-15 | Intel Corporation | Early CRC delivery for partial frame |
| BRPI0416895A (pt) | 2003-11-25 | 2007-03-06 | Qualcomm Inc | interface de alta taxa de dados com sincronização de link melhorada |
| EP2247068B1 (en) | 2003-12-08 | 2013-09-25 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
| US7451362B2 (en) | 2003-12-12 | 2008-11-11 | Broadcom Corporation | Method and system for onboard bit error rate (BER) estimation in a port bypass controller |
| US7340548B2 (en) | 2003-12-17 | 2008-03-04 | Microsoft Corporation | On-chip bus |
| US20050163085A1 (en) | 2003-12-24 | 2005-07-28 | International Business Machines Corporation | System and method for autonomic wireless presence ping |
| US7317754B1 (en) | 2004-01-12 | 2008-01-08 | Verizon Services Corp. | Rate agile rate-adaptive digital subscriber line |
| US7158536B2 (en) | 2004-01-28 | 2007-01-02 | Rambus Inc. | Adaptive-allocation of I/O bandwidth using a configurable interconnect topology |
| WO2005073955A1 (en) | 2004-01-28 | 2005-08-11 | Koninklijke Philips Electronics N.V. | Displaying on a matrix display |
| US7868890B2 (en) | 2004-02-24 | 2011-01-11 | Qualcomm Incorporated | Display processor for a wireless device |
| JP3786120B2 (ja) | 2004-03-09 | 2006-06-14 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
| CN101827103B (zh) | 2004-03-10 | 2012-07-04 | 高通股份有限公司 | 具有改进链路同步的高数据速率接口 |
| JP4519903B2 (ja) | 2004-03-17 | 2010-08-04 | クゥアルコム・インコーポレイテッド | 高速データレートインタフェース装置及び方法 |
| KR101019935B1 (ko) | 2004-03-24 | 2011-03-09 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
| DE102004014973B3 (de) | 2004-03-26 | 2005-11-03 | Infineon Technologies Ag | Parallel-Seriell-Umsetzer |
| US20050248685A1 (en) | 2004-04-21 | 2005-11-10 | Samsung Electronics Co., Ltd. | Multidata processing device and method in a wireless terminal |
| US20050265333A1 (en) | 2004-06-01 | 2005-12-01 | Texas Instruments Incorporated | Method for enabling efficient multicast transmission in a packet-based network |
| US7091911B2 (en) | 2004-06-02 | 2006-08-15 | Research In Motion Limited | Mobile wireless communications device comprising non-planar internal antenna without ground plane overlap |
| KR100914420B1 (ko) | 2004-06-04 | 2009-08-27 | 퀄컴 인코포레이티드 | 고 데이터 레이트 인터페이스 장치 및 방법 |
| US20060034301A1 (en) | 2004-06-04 | 2006-02-16 | Anderson Jon J | High data rate interface apparatus and method |
| US8650304B2 (en) | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
| US7383399B2 (en) | 2004-06-30 | 2008-06-03 | Intel Corporation | Method and apparatus for memory compression |
| US7095435B1 (en) | 2004-07-21 | 2006-08-22 | Hartman Richard L | Programmable multifunction electronic camera |
| DE602005023755D1 (de) | 2004-07-22 | 2010-11-04 | Ucb Pharma Sa | Indolonderivate, verfahren zu deren herstellung und deren anwendungen |
| CN101041989A (zh) | 2004-08-05 | 2007-09-26 | 邱则有 | 一种钢筋砼立体承力结构楼盖 |
| KR100604323B1 (ko) | 2004-08-28 | 2006-07-24 | 삼성테크윈 주식회사 | 내장형 카메라 장치 및 이를 구비한 휴대폰 |
| KR100624311B1 (ko) | 2004-08-30 | 2006-09-19 | 삼성에스디아이 주식회사 | 프레임 메모리 제어 방법 및 그것을 이용한 표시 장치 |
| US7161846B2 (en) | 2004-11-16 | 2007-01-09 | Seiko Epson Corporation | Dual-edge triggered multiplexer flip-flop and method |
| US6990335B1 (en) * | 2004-11-18 | 2006-01-24 | Charles G. Shamoon | Ubiquitous connectivity and control system for remote locations |
| US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
| US20060161691A1 (en) | 2004-11-24 | 2006-07-20 | Behnam Katibian | Methods and systems for synchronous execution of commands across a communication link |
| US7315265B2 (en) | 2004-11-24 | 2008-01-01 | Qualcomm Incorporated | Double data rate serial encoder |
| US8723705B2 (en) | 2004-11-24 | 2014-05-13 | Qualcomm Incorporated | Low output skew double data rate serial encoder |
| US8667363B2 (en) | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
| WO2006058050A2 (en) | 2004-11-24 | 2006-06-01 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
| EP1815626B1 (en) | 2004-11-24 | 2018-09-12 | Qualcomm Incorporated | Double data rate serial encoder |
| US8539119B2 (en) | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
| US8692838B2 (en) | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
| KR100672987B1 (ko) * | 2004-12-20 | 2007-01-24 | 삼성전자주식회사 | 고속 아날로그 인벨롭 디텍터 |
| JP2006211394A (ja) | 2005-01-28 | 2006-08-10 | Toshiba Corp | 折り畳み型携帯端末装置 |
| US7412642B2 (en) | 2005-03-09 | 2008-08-12 | Sun Microsystems, Inc. | System and method for tolerating communication lane failures |
| JP4428272B2 (ja) * | 2005-03-28 | 2010-03-10 | セイコーエプソン株式会社 | 表示ドライバ及び電子機器 |
| US7605837B2 (en) | 2005-06-02 | 2009-10-20 | Lao Chan Yuen | Display system and method |
| JP2007012937A (ja) * | 2005-06-30 | 2007-01-18 | Seiko Epson Corp | 表示ドライバ |
| JP4756950B2 (ja) | 2005-08-08 | 2011-08-24 | キヤノン株式会社 | 撮像装置及びその制御方法 |
| US7302510B2 (en) | 2005-09-29 | 2007-11-27 | International Business Machines Corporation | Fair hierarchical arbiter |
| US20070098002A1 (en) | 2005-10-28 | 2007-05-03 | Inventec Corporation | Media center operating mode selection control method and system |
| US8730069B2 (en) | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
| US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| US7813451B2 (en) * | 2006-01-11 | 2010-10-12 | Mobileaccess Networks Ltd. | Apparatus and method for frequency shifting of a wireless signal and systems using frequency shifting |
| US7893990B1 (en) | 2006-07-31 | 2011-02-22 | Cisco Technology, Inc. | Digital video camera with retractable data connector and resident software application |
| JP4250648B2 (ja) | 2006-09-21 | 2009-04-08 | 株式会社東芝 | 情報処理装置 |
| US7912503B2 (en) | 2007-07-16 | 2011-03-22 | Microsoft Corporation | Smart interface system for mobile communications devices |
| JP2009284281A (ja) | 2008-05-23 | 2009-12-03 | Nec Electronics Corp | 無線通信機器、及び無線通信状態表示方法 |
| KR200469360Y1 (ko) | 2008-12-26 | 2013-10-11 | 대성전기공업 주식회사 | 시트 온도 조절 스위치 장치 |
-
2004
- 2004-09-10 CN CN200910225282A patent/CN101764804A/zh active Pending
- 2004-09-10 DE DE602004019797T patent/DE602004019797D1/de not_active Expired - Lifetime
- 2004-09-10 AU AU2004303402A patent/AU2004303402A1/en not_active Abandoned
- 2004-09-10 RU RU2006111452/09A patent/RU2369033C2/ru not_active IP Right Cessation
- 2004-09-10 AT AT04788672T patent/ATE424685T1/de not_active IP Right Cessation
- 2004-09-10 ES ES04788672T patent/ES2323129T3/es not_active Expired - Lifetime
- 2004-09-10 EP EP04788672A patent/EP1665730B1/en not_active Expired - Lifetime
- 2004-09-10 CN CNA2004800330133A patent/CN1879383A/zh active Pending
- 2004-09-10 JP JP2006526306A patent/JP4838132B2/ja not_active Expired - Fee Related
- 2004-09-10 KR KR1020067006929A patent/KR100951158B1/ko not_active Expired - Fee Related
- 2004-09-10 TW TW093127510A patent/TWI345404B/zh not_active IP Right Cessation
- 2004-09-10 WO PCT/US2004/029529 patent/WO2005027467A1/en not_active Ceased
- 2004-09-10 US US10/938,354 patent/US8719334B2/en not_active Expired - Fee Related
- 2004-09-10 CA CA2538308A patent/CA2538308C/en not_active Expired - Fee Related
- 2004-09-10 KR KR1020097009564A patent/KR100973103B1/ko not_active Expired - Fee Related
- 2004-09-10 BR BRPI0414229-2A patent/BRPI0414229A/pt not_active IP Right Cessation
- 2004-09-10 MX MXPA06002809A patent/MXPA06002809A/es active IP Right Grant
- 2004-09-13 AR ARP040103268A patent/AR045639A1/es unknown
-
2006
- 2006-03-09 ZA ZA200602013A patent/ZA200602013B/en unknown
- 2006-03-09 IL IL174203A patent/IL174203A0/en unknown
-
2010
- 2010-10-05 US US12/898,114 patent/US8635358B2/en not_active Expired - Fee Related
- 2010-12-01 JP JP2010268227A patent/JP5129318B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| RU2006111452A (ru) | 2007-10-20 |
| KR20090051277A (ko) | 2009-05-21 |
| EP1665730B1 (en) | 2009-03-04 |
| JP2011066935A (ja) | 2011-03-31 |
| US8635358B2 (en) | 2014-01-21 |
| CA2538308A1 (en) | 2005-03-24 |
| MXPA06002809A (es) | 2006-06-14 |
| WO2005027467A1 (en) | 2005-03-24 |
| TW200525970A (en) | 2005-08-01 |
| CN1879383A (zh) | 2006-12-13 |
| ZA200602013B (en) | 2007-05-30 |
| ATE424685T1 (de) | 2009-03-15 |
| EP1665730A1 (en) | 2006-06-07 |
| US8719334B2 (en) | 2014-05-06 |
| AU2004303402A1 (en) | 2005-03-24 |
| IL174203A0 (en) | 2006-08-01 |
| KR20060121914A (ko) | 2006-11-29 |
| JP2007505574A (ja) | 2007-03-08 |
| AR045639A1 (es) | 2005-11-02 |
| TWI345404B (en) | 2011-07-11 |
| JP4838132B2 (ja) | 2011-12-14 |
| KR100973103B1 (ko) | 2010-08-02 |
| BRPI0414229A (pt) | 2006-10-31 |
| CN101764804A (zh) | 2010-06-30 |
| RU2369033C2 (ru) | 2009-09-27 |
| DE602004019797D1 (de) | 2009-04-16 |
| JP5129318B2 (ja) | 2013-01-30 |
| KR100951158B1 (ko) | 2010-04-06 |
| CA2538308C (en) | 2013-05-14 |
| US20110022719A1 (en) | 2011-01-27 |
| US20050120079A1 (en) | 2005-06-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2323129T3 (es) | Interfaz de alta velocidad de datos. | |
| ES2357234T3 (es) | Generación e implementación de un protocolo y una interfaz de señales para velocidades de transferencia de datos elevadas. | |
| RU2337497C2 (ru) | Устройство и способ для реализации интерфейса с высокой скоростью передачи данных | |
| RU2371872C2 (ru) | Интерфейс с высокой скоростью передачи данных | |
| JP5795403B2 (ja) | さらに高速なデータレート用の信号インタフェース | |
| TWI381686B (zh) | 具有改良的鏈路控制之高資料速率介面 | |
| TWI401601B (zh) | 用於一行動顯示數位介面系統之方法及系統及電腦程式產品 | |
| RU2355121C2 (ru) | Устройство и способ интерфейса с высокой скоростью передачи данных | |
| CN1961560B (zh) | 高数据速率接口装置和方法 | |
| KR20060096161A (ko) | 향상된 링크 동기화를 제공하는 고속 데이터 레이트인터페이스 |