¿Qué hace QuickTime?
QuickTime se basa en una serie de conceptos relacionados con datos basados en el tiempo: átomos, estructuras de medios, componentes, gestión del tiempo, imágenes animadas (Sprites).
① Átomos
Los átomos de QuickTime son los contenedores básicos utilizados por QuickTime para construir estructuras de datos jerárquicas. Un átomo QuickTime recién creado es como la raíz de un árbol. Cada átomo subsiguiente está contenido dentro de él y contiene datos y otros átomos. Si un átomo de QuickTime contiene otros átomos, se llama átomo principal y los átomos contenidos dentro del átomo principal se denominan átomos hoja. Las aplicaciones y otros tipos de software también pueden utilizar estructuras atómicas de QuickTime para almacenar datos.
2) Estructura de medios
El vídeo tradicional consta de flujos de datos continuos. Las películas QuickTime se pueden crear de la misma manera, pero no es necesario: las películas QuickTime pueden estar compuestas de flujos de datos de una variedad de fuentes, como video analógico, imágenes fijas en un CDROM y música MIDI. El cine no es el medio, sino la forma en que se organiza el medio.
Las películas QuickTime suelen constar de muchas pistas. Una pista no contiene datos de película; simplemente contiene un índice de los datos y el contenido de los datos reales existe en otra parte. Estos índices de datos forman la estructura multimedia de la pista. Cada pista contiene una estructura multimedia individual y una lista de edición para organizar cronológicamente la estructura multimedia. Las estructuras de medios y las listas de edición se implementan como átomos de QuickTime.
3) Componentes
QuickTime admite componentes, por lo que las aplicaciones no necesitan saber qué tecnologías y dispositivos utiliza QuickTime para ejecutarse. Muchos servicios de QuickTime, como la compresión y la descompresión, los proporcionan componentes. Los componentes constan de código que se puede utilizar en todo el sistema o localizar para una aplicación específica. Cada componente de QuickTime implementa un conjunto específico de funcionalidades y proporciona interfaces específicas para las tecnologías y aplicaciones cliente que admite. De esta forma, las aplicaciones quedan aisladas de los detalles de implementación y gestión de diferentes tecnologías. Al aplicar componentes existentes, se pueden crear nuevos componentes. Por ejemplo, puede crear un componente que admita un algoritmo de cifrado de datos específico. Otras aplicaciones pueden implementar estos algoritmos de cifrado conectándose a su componente, en lugar de tener que implementar los algoritmos de cifrado ellas mismas.
Las aplicaciones utilizan componentes llamando al administrador de componentes a nivel del sistema. El Administrador de componentes le permite definir y registrar componentes y comunicarse con ellos mediante interfaces estándar. Una vez que una aplicación está conectada a un componente, puede llamar a ese componente directamente. Cuando genera una nueva clase de componente, puede definir una interfaz de nivel funcional para el nuevo componente.
4 Gestión del tiempo
La gestión del tiempo es una parte importante y a veces compleja de la implementación de películas QuickTime. Para controlar la dimensión temporal de la película, QuickTime define un sistema de coordenadas de tiempo para que las estructuras de datos de la película y los medios utilicen el mismo sistema de tiempo del mundo real. El sistema de coordenadas de tiempo consta de una escala de tiempo que proporciona la conversión entre el tiempo real y el tiempo aparente de la película. Las escalas de tiempo se expresan en unidades de tiempo. La escala de tiempo se puede cuantificar por el número de unidades de tiempo invertidas por segundo.
Es decir, 26 escalas de tiempo son 26 unidades de tiempo por segundo, o cada unidad de tiempo es 1/26 de segundo. El sistema de coordenadas temporales también incluye la duración, que es la duración de una película o la capacidad de una estructura mediática en unidades de tiempo. Un determinado punto de una película puede determinarse por el número de unidades de tiempo que han transcurrido hasta ese punto. Cada pista de audio de una película se compone de un desplazamiento de tiempo y una duración, que determinan cuándo comienza cada pista de audio y cuánto dura. Cada estructura mediática tiene su propia escala de tiempo. Movie Toolbox asigna cada pieza de datos multimedia desde el sistema de coordenadas de tiempo de la película al sistema de coordenadas de tiempo de la estructura de medios.
5 imágenes animadas
En la animación de vídeo tradicional, se describe un fotograma determinando el color de cada píxel. Las imágenes animadas, por otro lado, describen fotogramas identificando píxeles que aparecen en diferentes ubicaciones. Cada imagen animada tiene propiedades que describen la posición y apariencia de la imagen en un momento específico. Durante la animación, la aplicación modifica las propiedades de la imagen para que pueda cambiar de apariencia y moverse por la pantalla. Las imágenes animadas se pueden mezclar con imágenes estáticas para producir más efectos con relativamente menos memoria.
2) La estructura de QuickTime
QuickTime consta de una caja de herramientas de películas, dos administradores de compresión de imágenes y un conjunto de componentes integrados.
Figura: QuickTime reproduce películas
1) Movie Toolbox
La aplicación implementa las funciones de QuickTime llamando a las funciones en Movie Toolbox. Movie Toolbox permite que las aplicaciones almacenen, lean y manipulen datos de base de tiempo en películas QuickTime. Una película puede contener muchos tipos de datos. Por ejemplo, una película que contiene información de vídeo puede contener datos de vídeo y datos de audio que acompañan a los datos de vídeo.
Movie Toolbox también proporciona la función de editar películas. Por ejemplo, existe la posibilidad de acortar una película eliminando partes de las pistas de vídeo y audio, y la posibilidad de ampliar una película incorporando nuevos datos de otras películas.
② Administrador de compresión de imágenes
Los datos de imágenes requieren mucho espacio de almacenamiento. Almacenar una imagen en color de 32 bits de 640x480 requiere 1,2 megabytes de espacio, mientras que una película QuickTime que contiene una secuencia de imágenes requiere varias veces esa cantidad. Image Compression Manager proporciona un método de compresión y descompresión independiente del dispositivo y del controlador, así como una interfaz sencilla para implementar algoritmos de compresión de imágenes de hardware y software externos. Proporciona capacidades de integración del sistema para almacenar imágenes comprimidas como archivos PICT en máquinas Macintosh y archivos DIB en máquinas Windows. También proporciona funcionalidad para hacer que los archivos PICT comprimidos se extraigan automáticamente en cualquier máquina que pueda ejecutar QuickTime.
En la mayoría de los casos, se puede omitir la llamada directa al administrador de compresión de imágenes llamando a una función de la caja de herramientas de la película o mostrando una imagen comprimida. Sin embargo, si su aplicación comprime imágenes o crea películas usando imágenes comprimidas, puede llamar directamente a las funciones del administrador de compresión de imágenes.
3 componentes de QuickTime
Apple proporciona muchos componentes integrados de QuickTime. Los tipos de componentes integrados definidos por Apple incluyen compresores de imágenes, procesadores de medios y diversas herramientas.
(1) Procesador de datos: incluye componente de controlador de película, componente de compresión de imágenes, componente de conversión de imágenes, componente de digitalización de video, componente de intercambio de datos, componente de procesamiento de sonido, componente de conversión de efectos, componente de vista previa, etc.
(2) Procesador de medios: incluye componentes de procesador de medios derivados, componentes de procesador de medios de animación y componentes de procesador de medios intermedios.
(3) Herramientas: incluidos componentes de reloj, componentes de sonido estándar, componentes de captura secuencial, componentes de canal de captura secuencial, componentes de pista de texto, componentes de panel de captura secuencial, etc.