ES2888673T3 - Un método, un aparato y un producto de programa informático para procesar pistas de secuencia de imágenes - Google Patents

Un método, un aparato y un producto de programa informático para procesar pistas de secuencia de imágenes Download PDF

Info

Publication number
ES2888673T3
ES2888673T3 ES16748775T ES16748775T ES2888673T3 ES 2888673 T3 ES2888673 T3 ES 2888673T3 ES 16748775 T ES16748775 T ES 16748775T ES 16748775 T ES16748775 T ES 16748775T ES 2888673 T3 ES2888673 T3 ES 2888673T3
Authority
ES
Spain
Prior art keywords
group
image
box
file
media
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.)
Active
Application number
ES16748775T
Other languages
English (en)
Inventor
Vadakital Vinod Kumar Malamal
Miska Hannuksela
Jani Lainema
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Application granted granted Critical
Publication of ES2888673T3 publication Critical patent/ES2888673T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/309Table of contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un aparato para codificación configurado para: incluir (810) al menos un elemento de medios estático como al menos una meta caja en un fichero de contenedor de acuerdo con el Formato de Fichero de Medios Base de la Organización de Normas Internacional ISO/IEC 14496-12 (ISOBMFF); incluir (820) una o más pistas de medios en el fichero de contenedor como una o más cajas de pista de acuerdo con ISOBMFF, en donde el aparato está caracterizado por estar configurado para; incluir (830) en el fichero de contenedor una caja (EntityToGroupBox) que especifica un grupo de entidades, en donde la caja (EntityToGroupBox) comprende una lista de valores de identificador de entidad que indican que el al menos un elemento de medios estático y la una o más pistas de medios son entidades del grupo de entidades, en donde la lista de valores de identificador de entidad comprende un valor de identificador de elemento para cada uno del al menos un elemento de medios estático y un valor de identificador de pista para cada una de la una o más pistas de medios; e incluir (840) en la caja (EntityToGroupBox) del fichero de contenedor, un tipo de agrupación (grouping_type) para el grupo, en donde el tipo de agrupación indica que las entidades del grupo de entidades son alternativas entre sí para procesamiento.

Description

DESCRIPCIÓN
Un método, un aparato y un producto de programa informático para procesar pistas de secuencia de imágenes Campo técnico
La presente solicitud se refiere a un formato de fichero de imagen, y de manera particular, al procesamiento de pistas de secuencia de imágenes semánticamente relacionadas.
Antecedentes
Esta sección se pretende que proporcione unos antecedentes o contexto a la invención que se indica en las reivindicaciones. El formato de fichero de medios de base del ISO/IEC (ISO/IEC 14496-12 — MPEG-4 Parte 12; también conocido como ISOBMFF) define una estructura general para ficheros multimedia basados en tiempo tales como vídeo y audio. El texto idéntico se publica como ISO/IEC 15444-12 (JPEG 2000, Parte 12).
Una contribución por MISKA M HANNUKSELA ETAL. en la reunión del MPEG 108, mantenida en Valencia entre el 31-3-2014 y el 4-4-2014 está numerada como m33155, está fechada el 25 de marzo de 2014, tiene páginas 1-178 y se titula "A Stream Access Point Sample Group for ISOBMFF". Consiste en el documento "SAP spectext 04 (W12640-pt12-4th-R11).docx - Integrated text of ISO/IEC 14496-12:201X(E) "INFORMATION TECHNOLOGY-CODING OF AUDIO-VISUAL OBJECTS - Part 12: ISO base media file format", XP030061607. Proporciona una elaboración de ISO/IEC 14496-12: 2012.
MPEG-H es un grupo de normas internacionales bajo desarrollo por el Grupo de Expertos de Imágenes en Movimiento del ISO/IEC (MPEG). Tiene diversas "partes" - cada una de las cuales puede considerarse una norma separada. El grupo de normas formalmente es conocido como "ISO/IEC 23008 - codificación de alta eficacia y entrega de medios en entornos heterogéneos". El desarrollo de las normas comenzó alrededor de 2010, y la primera norma completamente aprobada en el grupo se publicó en 2013. Una versión intermedia de ISO/IEC 23008-12 tiene fecha de julio de 2014 (XP009502267).
El formato de ficheros de imagen MPEG-H es una especificación derivada del formato de fichero de medios de base ISO (ISOBMFF). Se ha especificado actualmente para que contenga (por inclusión y/o por referencia) imágenes fijas y secuencias de imágenes codificadas por HEVC. El formato de fichero de imagen, similar al ISOBMFF, usa un mecanismo orientado a objetos, donde cada objeto se denomina una caja. Todos los datos de medios y sus metadatos relacionados se encapsulan en cajas. Cada caja se identifica por un código de cuatro caracteres (4CC) y empieza con un encabezado que informa acerca del tipo y tamaño de la caja.
ISOBMFF comprende un mecanismo de grupo alternativo, un mecanismo de grupo de pista y un mecanismo de agrupación de muestras. El mecanismo de grupo alternativo puede usarse para indicar que las pistas son alternativas entre sí. El mecanismo de agrupación de pistas puede usarse para indicar que las pistas están agrupadas de acuerdo con un criterio de agrupación indicado. El mecanismo de agrupación de muestras puede usarse para indicar que se aplican ciertas propiedades a un grupo de muestras indicado dentro de una pista.
Existe una necesidad de una solución mejorada para agrupar elementos, una combinación de elementos y pistas o unos grupos más pequeños en grupos más grandes.
Sumario
La invención se define en las reivindicaciones adjuntas.
Se proporcionan diversos aspectos de ejemplos de la invención en la descripción detallada.
Breve descripción de los dibujos
Para un entendimiento más completo de las realizaciones de ejemplo de la presente invención, se hace referencia ahora a las siguientes descripciones tomadas en relación con los dibujos adjuntos en los que:
La Figura 1 ilustra un diagrama de bloques de un sistema de codificación de vídeo de acuerdo con una realización;
La Figura 2 ilustra una distribución de un aparato de acuerdo con una realización;
La Figura 3 ilustra una disposición para codificación de vídeo que comprende una pluralidad de aparatos, redes y elementos de red de acuerdo con una realización;
La Figura 4 ilustra un diagrama de bloques de un codificador de vídeo de acuerdo con una realización;
La Figura 5 ilustra un diagrama de bloques de un decodificador de vídeo de acuerdo con una realización;
La Figura 6a - b ilustra imágenes y sus id de elemento y diferente agrupación de elementos;
La Figura 7 ilustra contenido de una caja 'grpl' de acuerdo con una realización;
La Figura 8 ilustra un ejemplo de un medio de base de pisa y medio basado en elemento y su relación;
La Figura 9 ilustra un contenido de una caja 'grpl' de acuerdo con una realización;
La Figura 10 ilustra un ejemplo de una agrupación de elementos de imagen;
La Figura 11 ilustra un contenido de una caja 'grpl' de acuerdo con una realización;
La Figura 12 ilustra un ejemplo de agrupación de elementos de medios y elementos de imagen derivados que emiten una imagen visualizable válida;
La Figura 13 ilustra un contenido de una caja 'grpl' de acuerdo con una realización;
La Figura 14 ilustra un ejemplo de agrupación del elemento de imagen derivado precalculado y elementos que pertenecen a la imagen derivada;
La Figura 15 ilustra un contenido de una caja 'grpl' de acuerdo con una realización;
La Figura 16 es un diagrama de flujo de un método para codificar de acuerdo con una realización; y
La Figura 17 es un diagrama de flujo de un método para decodificar de acuerdo con una realización.
Descripción detallada de algunas realizaciones de ejemplo
La Figura 1 muestra un sistema de codificación de vídeo como un diagrama de bloques esquemático de un aparato o dispositivo 50 electrónico de acuerdo con una realización. El dispositivo 50 electrónico puede incorporar un códec de acuerdo con una realización. La Figura 2 muestra una distribución de un aparato de acuerdo con una realización. Los elementos de las Figuras 1 y 2 se explicarán a continuación.
El dispositivo 50 electrónico puede ser por ejemplo un terminal móvil o equipo de usuario de un sistema de comunicación inalámbrica. Sin embargo, se apreciará que las realizaciones de la invención pueden implementarse en cualquier dispositivo electrónico o aparato que pueda requerir decodificar y codificar, o codificar o decodificar imágenes de vídeo.
El aparato 50 puede comprender un alojamiento 30 para incorporar y proteger el dispositivo. El aparato 50 puede comprender adicionalmente una pantalla 32 en forma de una pantalla de cristal líquido. En otras realizaciones, la pantalla puede ser cualquier tecnología de pantalla adecuada para visualizar una imagen o vídeo. El aparato 50 puede comprender adicionalmente un teclado numérico 34. De acuerdo con una realización, puede emplearse cualquier mecanismo de interfaz de datos o de usuario adecuado. Por ejemplo, la interfaz de usuario puede implementarse como un teclado virtual o sistema de entrada de datos como parte de una pantalla táctil. El aparato puede comprender un micrófono 36 o cualquier entrada de audio adecuada que puede ser una entrada de señal digital o analógica. El aparato 50 puede comprender adicionalmente un dispositivo de salida de audio, que - de acuerdo con una realización - puede ser uno cualquiera de: un auricular 38, altavoz o una conexión de salida de audio digital o audio analógico. El aparato 50 puede comprender también una batería 40 (o en una realización, el dispositivo puede alimentarse por cualquier dispositivo de energía móvil adecuado, tal como células solares, células de combustible o un generador autómata). El aparato puede comprender adicionalmente una cámara 42 que puede grabar o capturar imágenes y/o vídeo. De acuerdo con una realización, el aparato 50 puede comprender adicionalmente un puerto de infrarrojos para comunicación de línea de visión de corto alcance a otros dispositivos. De acuerdo con una realización, el aparato 50 puede comprender adicionalmente cualquier solución de comunicación de corto alcance adecuada tal como por ejemplo una conexión de Bluetooth inalámbrica o una conexión alámbrica de USB/firewire.
El aparato 50 puede comprender un controlador 56 o procesador para controlar el aparato 50. El controlador 56 puede conectarse a la memoria 58 que de acuerdo con una realización puede almacenar datos tanto en forma de imágenes como datos de audio y/o puede almacenar también instrucciones para implementación en el controlador 56. El controlador 56 puede conectarse adicionalmente a circuitería 54 de códec adecuada para llevar a cabo codificación y decodificación de datos de audio y/o de vídeo o ayudar a la codificación y decodificación llevada a cabo por el controlador 56.
El aparato 56 puede comprender adicionalmente un lector 48 de tarjetas y una tarjeta 46 inteligente, por ejemplo, un lector de UICC y UICC para proporcionar información de usuario y ser adecuado para proporcionar información de autenticación para autenticación y autorización del usuario en una red.
El aparato 50 puede comprender adicionalmente una circuitería 52 de interfaz de radio conectada al controlador y adecuada para generar señales de comunicación inalámbrica por ejemplo para comunicación con una red de comunicaciones celulares, un sistema de comunicación inalámbrica o una red de área local inalámbrica. El aparato 50 puede comprender adicionalmente una antena 44 conectada a la circuitería 52 de interfaz de radio para transmitir señales de frecuencia de radio generadas en la circuitería 52 de interfaz de radio a otro aparato o aparatos y para recibir señales de frecuencia de radio desde otro aparato o aparatos.
De acuerdo con una realización, el aparato 50 comprende una cámara que puede grabar o detectar tramas individuales que se pasan a continuación al códec 54 o al controlador para su procesamiento. De acuerdo con una realización, el aparato puede recibir los datos de imagen de vídeo para procesamiento desde otro dispositivo antes de la transmisión y/o almacenamiento. De acuerdo con una realización, el aparato 50 puede recibir, ya sea inalámbricamente o mediante una conexión cableada, la imagen para codificación/decodificación.
La Figura 3 muestra una disposición para codificación de vídeo que comprende una pluralidad de aparatos, redes y elementos de red de acuerdo con una realización. Con respecto a la Figura 3, se muestra un ejemplo de un sistema dentro del cual pueden utilizarse las realizaciones de la invención. El sistema 10 comprende múltiples dispositivos de comunicación que pueden comunicarse a través de una o más redes. El sistema 10 puede comprender cualquier combinación de redes alámbricas o inalámbricas que incluyen, pero sin limitación una red de telefonía celular inalámbrica (tal como una red GSM, UMTS, CDMA, etc.), una red de área local inalámbrica (WLAN) tal como se define por cualquiera de las normas del IEEE 802.x, una red de área personal de Bluetooth, una red de área local de Ethernet, una red de área local en anillo con paso de testigo, una red de área extensa y la Internet.
El sistema 10 puede incluir tanto dispositivos de comunicación alámbrica como inalámbrica o el aparato 50 adecuado para implementar las realizaciones. Por ejemplo, el sistema mostrado en la Figura 3 muestra una red 11 de telefonía móvil y una representación de internet 28. La conectividad a internet 28 puede incluir, pero sin limitación, conexiones inalámbricas de largo alcance, conexiones inalámbricas de corto alcance y diversas conexiones alámbricas que incluyen, pero sin limitación, líneas de telefonía, líneas de cable, líneas eléctricas y rutas de comunicación similares.
Los dispositivos de comunicación de ejemplo mostrados en el sistema 10 pueden incluir, pero sin limitación, un dispositivo o aparato 50 electrónico, cualquier combinación de un asistente digital personal (PDA) y un teléfono 14 móvil, un PDA 16, un dispositivo de mensajería integrada (IMD) 18, un ordenador 20 de sobremesa, un ordenador 22 portátil. El aparato 50 puede ser fijo o móvil cuando se lleva por un individuo que está en movimiento. El aparato 50 puede estar también ubicado en un modo de transporte que incluye, pero sin limitación, un coche, un camión, un taxi, un autobús, un tren, una embarcación, un aeroplano, una bicicleta, una motocicleta o cualquier modo de transporte adecuado similar.
Algunos aparatos o adicionales pueden enviar y recibir llamadas y mensajes y comunicar con proveedores de servicio a través de una conexión 25 inalámbrica a una estación 24 base. La estación 24 base puede conectarse a un servidor 26 de red que permite la comunicación entre la red 11 de telefonía móvil e internet 28. El sistema puede incluir dispositivos de comunicación adicionales y dispositivos de comunicación de diversos tipos.
Los dispositivos de comunicación pueden comunicar usando diversas tecnologías de transmisión incluyendo, pero sin limitación, acceso múltiple por división de código (CDMA), sistemas globales para comunicaciones móviles (GSM), sistema universal de telecomunicaciones móviles (UMTS), acceso múltiple por división del tiempo (TDMA), acceso múltiple por división en frecuencia (FDMA), protocolo de control de transmisión-protocolo de internet (TCP-IP), servicio de mensajes cortos (SMS), servicio de mensajería multimedia (MMS), correo electrónico, servicio de mensajería imagen (IMS), Bluetooth, IEEE 802.11 y cualquier tecnología de comunicación inalámbrica similar. Un dispositivo de comunicaciones implicado en implementar diversas realizaciones de la presente invención puede comunicar usando diversos medios que incluyen, pero sin limitación, conexiones de radio, infrarrojos, láser, conexiones de cable y cualquier conexión adecuada.
El codificador de vídeo puede comprender un codificador que transforma el vídeo de entrada en una representación comprimida adecuada para su almacenamiento/transmisión y un decodificador puede descomprimir la representación del vídeo comprimido de vuelta en una forma visible. El codificador puede descartar alguna información en la secuencia de vídeo original para representar el vídeo en forma más compacta (es decir, a tasa de bits inferior). Un codificador de vídeo puede usarse para codificar una secuencia de imágenes, como se define posteriormente, y un decodificador de vídeo puede usarse para decodificar una secuencia de imágenes codificadas. Un codificador de vídeo o una parte de intra codificación de un codificador de vídeo o un codificador de imagen puede usarse para codificar una imagen, y un decodificador de vídeo o una parte de inter decodificación de un decodificador de vídeo o un decodificador de imagen puede usarse para decodificar una imagen codificada.
El proceso de codificación se ilustra en la Figura 4. La Figura 4 ilustra un ejemplo de un codificador de vídeo, en donde: imagen a codificarse; P'n representación prevista de un bloque de imagen; Dn: señal de error de predicción; D'n señal de error de predicción reconstruida; I'n imagen reconstruida de manera preliminar; R'n imagen final reconstruida; T, T-1: transformada y transformada inversa; Q, Q-1: cuantificación y cuantificación inversa; E: codificación por entropía; RFM: memoria de fotograma de referencia; Pinten inter predicción; Pintra: intra predicción; MS: selección de modo; F: filtración.
El proceso de decodificación se ilustra en la Figura 5. La Figura 5 ilustra un diagrama de bloques de un decodificador de vídeo donde P'n: representación prevista de un bloque de imagen; D'n: señal de error de predicción reconstruida; I'n: imagen reconstruida de manera preliminar; R'n imagen final reconstruida; T-1: transformada inversa; Q-1: cuantificación inversa; E-1: decodificación por entropía; RFM: memoria de fotograma de referencia; P: predicción (inter o intra); F: filtración.
La norma de codificación de vídeo avanzada (H.264/ AVC también conocida como AVC) se desarrolló por el Equipo Mixto de Vídeo (JVT) del Grupo de Expertos en Codificación de Vídeo (VCEG) del Sector de Normalización de Telecomunicaciones de la Unión Internacional de Telecomunicación (ITU-T) y el Grupo de Expertos de Imágenes en Movimiento (MPEG) de la Organización Internacional Para la Normalización (ISO) / Comisión Electrotécnica Internacional (IEC). La norma H.264/AVC se publicó por ambas organizaciones de normalización principales, y se denomina como la Recomendación ITU-T H.264 y la Norma Internacional ISO/IEC 14496-10, también conocida como MPEG-4 Parte 10 Codificación Avanzada de Vídeo (AVC). Ha habido múltiples versiones de la norma H.264/AVC, que integran nuevas extensiones o características a la especificación. Estas extensiones incluyen Codificación de Vídeo Escalable (SVC) y Codificación de Vídeo Multi-vista (MVC).
La versión 1 de la norma de Codificación de Vídeo de Alta Eficacia (H.265/HEVC también conocida como HEVC) se desarrolló por el Equipo Colaborativo Conjunto - Codificación de Vídeo (JCT-VC) de VCEG y MPEG. La norma se publicó por ambas organizaciones de normalización principales, y se denomina como la Recomendación ITU-T H.265 y la Norma Internacional ISO/IEC 23008-2, también conocida como MPEG-H Parte 2 Codificación de Vídeo de Alta Eficacia (HEVC). La versión 2 de H.265/HEVC incluía extensiones de rango escalable, multi-vista y fidelidad, que pueden abreviarse SHVC, MV-HEVC y REXT, respectivamente. La versión 2 de H.265/HEVC se publicó previamente como la Recomendación ITU-T H.265 (10/2014) y es probable que se publique como la Edición 2 de la ISO/IEC 23008-2 en 2015. Existen actualmente en curso proyectos de normalización para desarrollar futuras extensiones a H.265/HEVC, que incluyen extensiones de codificación de contenido tridimensional y de pantalla, que pueden abreviarse 3D-HEVC y SCC, respectivamente.
Un identificador de recurso uniforme (URI) puede definirse como una cadena de caracteres usada para identificar un nombre de un recurso. Tal identificación posibilita la interacción con representaciones del recurso a través de una red, usando protocolos específicos. Se define un URI a través de un esquema que especifica una sintaxis concreta y protocolo asociado para el URI. El localizador de recurso uniforme (URL) y el nombre de recurso uniforme (URN) son formas de URI. Un URL puede definirse como un URI que identifica un recurso de web y especifica los medios para actuar sobre u obtener la representación del recurso, que especifican tanto su mecanismo de acceso primario como su ubicación de red. Un URN puede definirse como un URI que identifica un recurso por nombre en un espacio de nombres particular. Un URN puede usarse para identificar un recurso sin implicar su ubicación o cómo acceder a ella.
Las normas de formato de fichero de medios disponibles incluyen formato de fichero de medios de base de la ISO (ISO/IEC 14496-12, que puede abreviarse ISOBMFF) así como normas derivadas del ISOMBFF, tales como el formato de fichero MPEG-4 (ISO/IEC 14496-14, también conocido como el formato MP4), formato de fichero para vídeo estructurado de unidad de NAL (ISO/IEC 14496-15) y formato de fichero de 3GPP (3g PP TS 26.244, también conocido como el formato 3GP). ISO/IEC 14496-15 especifica el almacenamiento de flujos de bits de H.264/AVC y/o HEVC y/o sus extensiones en ficheros compatibles con ISOBMFF. Los formatos de fichero mencionados (que incluyen el propio formato de fichero de ISO) así como otros formatos de fichero derivados del ISOBMFF pueden denominarse la familia de formatos de fichero ISO.
Se describen a continuación algunos conceptos, estructuras y especificaciones de ISOBMFF como un ejemplo de un formato de fichero contenedor, basándose en el que pueden implementarse las realizaciones. Los aspectos de la invención no están limitados a ISOBMFF, sino que en su lugar la descripción se proporciona para una base posible sobre la que puede realizarse parcial o completamente la invención.
Un bloque de construcción en el formato de fichero de medios de base ISO se denomina una caja. Cada caja puede tener un encabezado y una carga útil. El encabezado de caja indica el tipo de la caja y el tamaño de la caja en términos de bytes. Una caja puede encerrar otras cajas, y el formato de fichero ISO especifica qué tipos de caja están permitidos dentro de una caja de un cierto tipo. Adicionalmente, la presencia de algunas cajas puede ser obligatoria en cada fichero, mientras que la presencia de otras cajas puede ser opcional. Adicionalmente, para algunos tipos de caja, puede permitirse tener más de una caja presente en un fichero. Por lo tanto, el formato de fichero de medios de base ISO puede considerarse que especifica una estructura jerárquica de cajas. Cada caja del fichero de medios de base ISO puede identificarse por un código de cuatro caracteres (4CC, cuatroCC). Un código de cuatro caracteres puede representarse de manera intercambiable por un número entero sin signo de 32 bits (suponiendo una cierta conversión de caracteres a valores de 8 bits, un cierto bit de tipo endian y un cierto byte de tipo endian). El encabezado puede proporcionar información acerca del tipo y tamaño de la caja.
De acuerdo con la familia de formatos de fichero ISO, un fichero puede incluir datos de medios y metadatos que pueden encerrarse en cajas separadas. En una realización de ejemplo, los datos de medios pueden proporcionarse en una caja de datos de medios (mdat) y la caja de película (moov) puede usarse para encerrar los metadatos. En algunos casos, para que un fichero sea operable, deben estar presentes tanto las cajas de mdat como de moov. La caja de película (moov) puede incluir una o más pistas y cada pista puede residir en una caja de pista correspondiente (trak). Cada pista está asociada con un manejador, identificado por un código de cuatro caracteres, que especifica el tipo de pista. Las pistas de secuencia de vídeo, audio e imágenes pueden denominarse de manera colectiva pistas de medios y contienen un flujo de medios elemental. Otros tipos de pista comprenden pistas de indicio y pistas de metadatos temporizadas. Las pistas comprenden muestras, tales como tramas de audio o de vídeo. Una pista de medios hace referencia a muestras (que pueden denominarse también como muestras de medios) formateadas de acuerdo con un formato de compresión de medios (y su encapsulación al formato de fichero de medios de base ISO). Una pista de indicio se refiere a muestras de indicio, que contienen instrucciones de libro de cocina para construir paquetes para su transmisión a través de un protocolo de comunicación indicado. Las instrucciones de libro de cocina pueden incluir un guiado para la construcción de encabezado de paquetes y pueden incluir la construcción de carga útil de paquetes. En la construcción de carga útil de paquetes, pueden referenciarse datos que residen en otras pistas o elementos. Como tal, por ejemplo, los datos que residen en otras pistas o elementos pueden indicarse por una referencia en cuanto a qué pieza de datos en una pista o elemento particular se da instrucción que se copie en un paquete durante el proceso de construcción del paquete. Una pista de metadatos temporizados puede hacer referencia a muestras que describen medios referidos y/o muestras de indicio. Para la presentación de un tipo de medios, puede seleccionarse una pista de medios. Las muestras de una pista pueden estar asociadas implícitamente con números de muestra que pueden aumentarse en 1, por ejemplo, en el orden de decodificación de muestras indicado. La primera muestra en una pista puede estar asociada con el número de muestra 1.
La caja de 'pista' contiene una caja de tabla de muestras. La caja de tabla de muestras comprende, por ejemplo, todo el tiempo y los datos que indexan las muestras de medios en una pista. La caja de tabla de muestras se requiere que contenga una caja de descripción de muestra. La caja de descripción de muestra incluye un campo de recuento de entradas, que especifica el número de entradas de muestra incluidas en la caja. La caja de descripción de muestra se requiere que contenga al menos una entidad de muestra. El formato de entrada de muestra depende del tipo de manejador para la pista. Las entradas de muestra proporcionan información detallada acerca del tipo de codificación usado y cualquier información de inicialización necesaria para esa codificación.
El formato de fichero de medios de base ISO no limita una presentación a lo que esté contenido en un fichero. Como tal, una presentación puede estar comprendida dentro de varios ficheros. Como un ejemplo, un fichero puede incluir los metadatos para la presentación total y puede incluir de esta manera todos los datos de medios para hacer la presentación autónoma. Otros ficheros, si se usan, pueden no requerirse que se formateen al formato de fichero de medios de base ISO, y pueden usarse para incluir datos de medios, y pueden incluir también datos de medios sin uso u otra información. El formato de fichero de medios de base ISO se refiere a la estructura del fichero de presentación únicamente. El formato de los ficheros de datos de medios puede estar restringido por el formato de fichero de medios de base ISO o sus formatos derivados únicamente en que los datos de medios en los ficheros de medios están formateados según se especifica en el formato de fichero de medios de base ISO o sus formatos derivados.
La capacidad para hacer referencia a ficheros externos puede realizarse a través de referencias de datos. En algunos ejemplos, una caja de descripción de muestra incluida en cada pista puede proporcionar una lista de entradas de muestra, proporcionando cada una información detallada acerca del tipo de codificación usado y cualquier información de inicialización necesaria para esa codificación. Todas las muestras de un segmento y todas las muestras de un fragmento de pista pueden usar la misma entrada de muestra. Un segmento puede definirse como un conjunto contiguo de muestras para una pista. La caja de referencia de datos (dref), que también puede estar incluida en cada pista, puede definir una lista indexada de localizadores de recurso uniformes (URL), nombres de recurso uniformes (URN), y/o auto-referencias al fichero que contienen los metadatos. Una entrada de muestra puede apuntar a un índice de la caja de referencia de datos, indicando de esta manera el fichero que contiene las muestras del respectivo segmento o fragmento de pista.
Los fragmentos de película pueden usarse, por ejemplo, cuando se graba contenido en ficheros ISO, por ejemplo, para evitar perder datos si una aplicación de grabación se bloquea, se queda sin espacio de memoria u ocurre algún otro incidente. Sin fragmentos de película, la pérdida de datos puede ocurrir debido a que el formato de fichero puede requerir que todos los metadatos, por ejemplo, la caja de la película, se escriban en un área contigua del fichero. Adicionalmente, cuando se graba un fichero, puede no haber suficiente cantidad de espacio de memoria (por ejemplo, memoria de acceso aleatorio RAM) para almacenar en memoria intermedia una caja de película para el tamaño del almacenamiento disponible, y volver a calcular los contenidos de una caja de película cuando la película está cerrada puede ser demasiado lento. Además, los fragmentos de película pueden posibilitar la grabación y reproducción simultánea de un fichero usando un analizador de fichero ISO normal. Adicionalmente, puede requerirse una duración menor del almacenamiento en memoria intermedia inicial para la descarga progresiva, por ejemplo, la recepción y reproducción simultánea de un fichero cuando se usan fragmentos de película y la caja de película inicial es menor en comparación con un fichero con el mismo contenido de medios, pero estructurado sin fragmentos de película.
La característica de fragmento de película puede posibilitar la división de los metadatos que de otra manera pueden residir en la caja de película en múltiples piezas. Cada pieza puede corresponder a un cierto periodo de tiempo de una pista. En otras palabras, la característica de fragmento de película puede posibilitar la intercalación de metadatos de fichero y datos de medios. En consecuencia, el tamaño de la caja de película puede estar limitado y pueden realizarse los casos de uso mencionados anteriormente.
En algunos ejemplos, las muestras de medios para los fragmentos de película pueden residir en una caja mdat, si están en el mismo fichero que la caja moov. Sin embargo, para los metadatos de los fragmentos de película, puede proporcionarse una caja moof. La caja moof puede incluir la información para una cierta duración de tiempo de reproducción que hubiera estado previamente en la caja moov. La caja moov puede aún representar una película válida por sí misma, pero, además, puede incluir una caja mvex que indica qué fragmentos de película seguirán en el mismo fichero. Los fragmentos de película pueden extender la presentación que está asociada a la caja moov en el tiempo.
Dentro del fragmento de película puede haber un conjunto de fragmentos de pista, que incluyen cualquier lugar desde cero a una pluralidad por pista. Los fragmentos de pista, a su vez, incluyen cualquier lugar desde cero a una pluralidad de recorridos de pista, cada uno de cuyos documentos es un recorrido contiguo de muestras para esa pista. Dentro de estas estructuras, muchos campos son opcionales y pueden ponerse por defecto. Los metadatos que pueden estar incluidos en la caja moof pueden estar limitados a un subconjunto de los metadatos que pueden estar incluidos en una caja moov y pueden codificarse de manera diferente en algunos casos. Los detalles con respecto a las cajas que pueden incluirse en una caja moof pueden hallarse a partir de la especificación de formato de fichero de medios de base ISO. Un fragmento de película autónomo puede definirse que consiste en una caja moof y una caja mdat que son consecutivas en el orden de fichero y donde la caja mdat contiene las muestras del fragmento de película (para las que la caja moof proporciona los metadatos) y no contiene muestras de ningún otro fragmento de película (es decir, ninguna otra caja moof).
El formato de fichero de medios de base ISO contiene tres mecanismos para que los metadatos temporizados puedan asociarse con muestras particulares: grupos de muestras, pistas de metadatos temporizadas e información auxiliar de muestra. La especificación derivada puede proporcionar funcionalidad similar con uno o más de estos tres mecanismos.
Puede definirse una agrupación de muestras en el formato de fichero de medios de base ISO y sus derivados, tales como el formato de ficheros AVC y el formato de ficheros SVC, como una asignación de cada muestra en una pista para que sea un miembro de un grupo de muestra, basándose en criterios de agrupación. Un grupo de muestras en una agrupación de muestras no está limitado a que sean muestras contiguas y puede contener muestras no adyacentes. Ya que puede haber más de una agrupación de muestras para las muestras en una pista, cada agrupación de muestras puede tener un campo de tipo para indicar el tipo de agrupación. Las agrupaciones de muestra pueden representarse por dos estructuras de datos vinculadas: (1) una caja de muestra a grupo (SampleToGroup) (caja sbgp) representa la asignación de muestras a grupos de muestras; y (2) una caja descripción de grupo de muestra (SampleGroupDescription) (caja sgpd) contiene un grupo de entradas de muestra para cada grupo de muestras que describe las propiedades del grupo. Puede haber múltiples instancias de las cajas de muestra a grupo y de descripción de grupo de muestra basándose en diferentes criterios de agrupación. Estos pueden distinguirse por un campo de tipo usado para indicar el tipo de agrupación. Las cajas 'sbgp' y 'sgpd' pueden vincularse usando el valor de tipo de agrupación (grouping_type) y, en algunas versiones de las cajas, también el valor de parámetro de tipo de agrupación (grouping_type_parameter). La caja 'sbgp' indica el índice de la entrada de descripción de grupo de muestra a la que pertenece una muestra particular.
Los ficheros conforme al ISOBMFF pueden contener cualquier objeto no temporizado, denominado como elementos, meta elementos o elementos de metadatos en una meta caja (código de cuatro caracteres: 'meta'). Aunque el nombre de la meta caja hace referencia a metadatos, los elementos pueden contener en general metadatos o datos de medios. La meta caja puede residir en el nivel superior del fichero, dentro de una caja de película (código de cuatro caracteres: 'moov'), y dentro de una caja de pista (código de cuatro caracteres: 'pista'), pero como mucho puede ocurrir una meta caja en cada uno del nivel de fichero, nivel de película o nivel de pista. La meta caja puede requerirse que contenga una caja 'hdlr' que indica la estructura o formato de los contenidos de 'meta' caja. La meta caja puede listar y caracterizar cualquier número de elementos que puedan denominarse y cada uno de ellos pueda asociarse con un nombre de fichero y se identifiquen de manera inequívoca con el fichero por identificador de elemento (item_id) que es un valor entero. Los elementos de metadatos pueden almacenarse, por ejemplo, en la caja 'idat' de la meta caja o en una caja 'mdat' o residir en un fichero separado. Si los metadatos están ubicados externos al fichero, entonces puede declararse su ubicación por la caja de información de datos (DatalnformationBox) (código de cuatro caracteres: 'dinf). En el caso específico de que se formateen los metadatos usando sintaxis XML y se requiera que se almacenen directamente en la meta caja, los metadatos pueden encapsularse en la caja de XML (XMLBox) (código de cuatro caracteres: 'xml') o en la caja de XML binario (BinaryXMLBox) (código de cuatro caracteres: 'bxml'). Un elemento puede almacenarse como un intervalo de bytes contiguo o puede almacenarse en varias extensiones, siendo cada una un intervalo de bytes contiguo. En otras palabras, los elementos pueden almacenarse fragmentados en extensiones, por ejemplo, para posibilitar la intercalación. Una extensión es un subconjunto contiguo de los bytes del recurso; el recurso puede formarse concatenando las extensiones.
Para soportar más de una meta caja en cualquier nivel de jerarquía (fichero, película o pista), puede usarse una caja de contenedor de meta caja ('meco') como un formato de fichero de medios de base iSo . La caja de contenedor de meta caja puede llevar cualquier número de meta cajas adicionales en cualquier nivel de jerarquía (fichero, película o pista). Por ejemplo, esto puede permitir que se presenten los mismos metadatos en dos sistemas de metadatos alternativos diferentes. La caja de relación de meta caja ('mere') puede posibilitar la descripción de cómo se refieren diferentes meta cajas entre sí, por ejemplo, si contienen exactamente los mismos metadatos (pero descritos con diferentes esquemas) o si uno representa un superconjunto del otro.
Pueden especificarse los identificadores de fragmento de URL (que también pueden denominarse como formas de URL) para un tipo de contenido particular para acceder a una parte del recurso, tal como un fichero, indicado por la parte de base del URL (sin el identificador de fragmento). Los identificadores de fragmento de URL pueden identificarse, por ejemplo, por un carácter de función de troceo ('#') dentro del URL. Para el ISOBMFF, puede especificarse que los fragmentos de URL "#X" hacen referencia a una pista con ID de pista igual a X, "#itemJD=" y "#item_name=" hace referencia a la meta caja o cajas de nivel de fichero, "#/itemjD=" y "#/item_name=" hacen referencia a la meta caja o cajas en la caja de película, y "#trackJD=X/itemJD=" y "#trackjD=X/item_name=" hacen referencia a meta cajas en la pista con ID de pista (track_ID) igual a X, que incluyen las meta cajas potencialmente halladas en fragmentos de película.
El formato de fichero Matroska puede almacenar (pero sin limitación) cualquier pista de vídeo, audio, imagen o subtítulos en un fichero. Puede usarse Matroska como un formato de base para formatos de fichero derivados, tales como WebM. Matroska usa Meta Lenguaje Binario Extensible (EBML) como base. EBML especifica un formato binario y de octeto (byte) alineado inspirado por el principio de XML. El mismo EBML es una descripción generalizada de la técnica de marcaje binario. Un fichero Matroska consiste en elementos que componen un "documento" EBML. Los elementos incorporan un ID de elemento, un descriptor para el tamaño del elemento y los propios datos binarios. Los elementos pueden anidarse. Un elemento de segmento de Matroska es un contenedor para otros elementos de nivel superior (nivel 1). Un fichero Matroska puede comprender (pero sin limitación, estar compuesto de) un segmento. Los datos multimedia en ficheros Matroska están organizados en agrupaciones (o elementos de agrupación), conteniendo cada una típicamente unos pocos segundos de datos multimedia. Una agrupación comprende elementos del grupo de bloques, que a su vez comprenden elementos de bloque. Un elemento de señales comprende metadatos que pueden ayudar en el acceso aleatorio o búsqueda y pueden incluir punteros de fichero o respectivas indicaciones de tiempo para buscar puntos.
El formato de fichero de imagen MPEG-H (ISO/IEC 23008-12) es una especificación derivada del formato de fichero de medios de base ISO (ISOBMFF). En el momento de escribir esta solicitud de patente, ISO/IEC 23008-12 era una norma borrador y, por lo tanto, es necesario que se entienda que el nombre y/o apodo de la norma pueden cambiar, por lo tanto, en la versión final de la norma. Se han considerado los nombres tales como el formato de fichero de imagen ISO (ISOIFF) y el formato de fichero de imagen MPEG. Dentro de la misma especificación convencional (o de otra manera cuando el contexto es evidente), puede usarse el nombre "el formato de fichero de imagen" para hacer referencia a ISO/IEC 23008-12.
Se describen a continuación algunos conceptos, estructuras y especificaciones del formato de fichero de imagen de MPEG-H como un ejemplo de un formato de fichero contenedor, basándose en el que pueden implementarse las realizaciones. Los aspectos de la invención no están limitados al formato de fichero de imagen MPEG-H, sino que en su lugar la descripción se proporciona para una base posible sobre la que puede realizarse parcial o completamente la invención.
El formato de fichero de imagen MPEG-H deriva sus estructuras básicas del ISOBMFF. Por lo tanto, el formato de fichero de imagen MPEG-H, similar al ISOBMFF, usa un mecanismo orientado a objetos, donde cada objeto se denomina una caja. Todos los datos de medios y sus metadatos relacionados se encapsulan en cajas. Cada caja se identifica por un código de cuatro caracteres (4CC) y empieza con un encabezado que informa acerca del tipo y tamaño de la caja.
De acuerdo con el formato de fichero de imagen MPEG-H, las imágenes fijas se almacenan como elementos. Puede requerirse que los elementos de imagen que contienen imágenes codificadas se codifiquen independientemente y no dependan de cualquier otro elemento en su decodificación.
En el contexto del formato de fichero de imagen MPEG-H, las siguientes cajas pueden estar contenidas dentro de la 'meta' caja de nivel de raíz y pueden usarse como se describe a continuación. En el formato de fichero de imagen MPEG-H, el valor del manejador de la caja del manejador de la 'meta' caja es 'pict'. El recurso (ya esté dentro del mismo fichero o en un fichero externo identificado por un identificador de recurso uniforme) que contiene los datos de medios codificados se resuelve a través de la caja de información de datos ('dinf), mientras que la caja de ubicación de elemento ('iloc') almacena la posición y tamaños de cada elemento dentro del fichero referenciado. La caja de referencia de elemento ('iref) documenta relaciones entre elementos usando referencias con tipo. Si hay un elemento entre una colección de elementos que haya de considerarse de alguna manera el más importante en comparación con otros, entonces este elemento se señaliza por la caja del elemento primario ('pitm'). Además de las cajas mencionadas en este punto, la 'meta' caja también es flexible para que incluya otras cajas que pueden ser necesarias para describir elementos.
Dada una colección de imágenes almacenadas usando el enfoque de 'meta' caja, en ocasiones es esencial cualificar ciertas relaciones entre imágenes. Ejemplos de tales relaciones incluyen indicar una imagen de portada para una colección, que proporciona imágenes en miniatura para alguna o todas las imágenes en la colección, y asociar alguna o todas las imágenes en una colección con imagen auxiliar tal como un plano alfa. Una imagen de portada entre la colección de imágenes se indica usando la caja 'pitm'. Una imagen en miniatura o una imagen auxiliar está vinculada al elemento de imagen primario usando una referencia de elemento del tipo 'thmb' o 'auxl', respectivamente.
El formato de fichero de imagen MPEG-H soporta imágenes derivadas. Un elemento es una imagen derivada, cuando incluye una referencia de elemento 'dimg' a otro elemento. Una imagen derivada se obtiene realizando una operación especificada, tal como rotación, a imágenes de entrada especificadas. La operación realizada para obtener la imagen derivada se identifica por el tipo de elemento del elemento. Los elementos de imagen usados como entrada a una imagen derivada pueden ser imágenes codificadas, por ejemplo, con el tipo de elemento 'hvcl', o pueden ser otros elementos de imagen derivados.
La especificación de formato de fichero de imagen MPEG-H incluye la especificación de la operación de apertura limpia (es decir, recorte), una operación de rotación para rotaciones múltiples de 90 grados y una operación de superposición de imagen. La imagen derivada de superposición de imagen 'iovl' ubica una o más imágenes de entrada en un orden de capas dado dentro de un lienzo mayor.
La característica de imagen derivada del formato de fichero de imagen MPEG-H es extensible de modo que las especificaciones externas así como la versión posterior del formato de fichero de imagen MPEG-H mismo pueden especificar nuevas operaciones.
Pueden usarse las siguientes definiciones, por ejemplo, en el contexto del formato de fichero de imagen MPEG-H o formatos de fichero similares. Una imagen codificada puede definirse como una representación codificada de una imagen. Una imagen derivada puede definirse como una imagen que se representa en un fichero mediante una operación indicada a imágenes indicadas y puede obtenerse realizando la operación indicada a las imágenes indicadas. Una imagen puede definirse como una imagen codificada, una imagen derivada o una o más series de píxeles de diferentes componentes de color, dependiendo del contexto donde se usa el término imagen. Una colección de imágenes puede definirse como un conjunto de imágenes almacenado como elementos de un único fichero de acuerdo con formato de fichero de imagen MPEG-H (o similar). Una imagen auxiliar puede definirse como una imagen que puede pretenderse que no se visualice, pero que proporciona información complementaria, tal como datos de transparencia, que complementa una respectiva imagen primaria. Una imagen de portada puede definirse como una imagen que es representativa de una colección de imágenes o una secuencia de imágenes y debe visualizarse cuando no está disponible otra información en el método de visualización preferido de la colección de imágenes o la secuencia de imágenes. Una imagen derivada precalculada puede definirse como una imagen codificada que se ha derivado desde una o más otras imágenes. Una imagen primaria puede definirse como una imagen que se almacena como un elemento y no es una imagen auxiliar o una imagen en miniatura. Una imagen en miniatura puede definirse como una representación de resolución menor de una imagen primaria.
Una secuencia de imágenes puede definirse como una secuencia de imágenes que puede estar asociada con temporización consultiva y en la que pueden inter preverse imágenes. En el formato de fichero de imagen MPEG-H, las secuencias de imágenes se almacenan de acuerdo con el mecanismo de pista del ISOBMFF. Se usa una pista de secuencia de imágenes cuando hay dependencia de codificación entre imágenes o cuando la reproducción de las imágenes está temporizada. La temporización en la pista de secuencia de imágenes puede definirse que es consultiva para los reproductores. Para distinguir entre secuencias de imágenes y vídeo en movimiento, se ha introducido un nuevo tipo de manejador 'pict' en el formato de fichero de imagen MPEG-H.
El formato de fichero de imagen MPEG-H incluye especificaciones para encapsular (por inclusión y/o por referencia) imágenes fijas codificadas por HEVC y secuencias de imágenes en ficheros conforme al formato de fichero de imagen MPEG-H. Es posible especificar la encapsulación de imágenes y secuencias de imágenes codificadas con otros formatos de codificación en ficheros conforme al formato de fichero de imagen MPEG-H.
No hay disponible aún un mecanismo de agrupación para elementos en una 'meta' caja. Adicionalmente, hay casos de uso donde puede vincularse semánticamente el conjunto de imágenes definidas usando la estructura de 'meta' caja y una secuencia de imágenes (u otros medios temporizados) definida usando la estructura de pista. No se ha definido una manera para indicar este vínculo semántico entre estructuras codificadas de manera diferente por el formato de fichero de imagen MPEG-H.
En la especificación actual del formato de fichero de imagen MPEG-H, no hay manera consistente de manejar grupos de imágenes fijas y pistas de secuencia de imágenes que están relacionadas semánticamente. Por ejemplo, un dispositivo de captura de imágenes puede grabar también una ráfaga de imágenes corta junto con una captura de una imagen de alta calidad. Tanto la ráfaga de imágenes como la imagen de alta calidad pueden almacenarse en el formato de fichero de imagen. Sin embargo, actualmente no hay manera de insinuar que la ráfaga de imágenes y la imagen de alta calidad estén relacionadas semánticamente y, de esta manera, pueda decidirse cómo presentar los contenidos del fichero.
En otro ejemplo, un proveedor de contenido puede decidir almacenar una imagen de múltiples vistas como un conjunto de imágenes codificadas independientemente. Cuando se almacena esto en el formato de fichero de imagen MPEG-H, cada una de estas vistas puede codificarse usando un perfil de imagen fija de HEVC. Sin embargo, actualmente no hay manera de indicar a un lector que el conjunto de imágenes almacenadas en un fichero puede representarse como una imagen de múltiples vistas.
Actualmente, puede usarse un mecanismo de grupo alternativo de ISOBMFF para indicar que las pistas son alternativas entre sí. La caja de encabezado de pista contiene el elemento de sintaxis grupo alternativo (altemate_group). Cuando el valor de grupo alternativo es igual durante dos o más pistas, estas pistas pertenecen al mismo grupo de pistas alternativo y puede definirse como alternativas entre sí. Únicamente debe seleccionarse una pista dentro de un grupo alternativo para su reproducción.
Todas las pistas en un grupo alternativo son candidatas para la selección de medios, pero puede que no tenga sentido cambiar entre alguna de estas pistas durante una sesión o durante la reproducción. Puede permitirse, por ejemplo, cambiar entre pistas de vídeo a diferentes tasas de bits y mantener el tamaño de trama pero no permitir el cambio entre pistas de diferente tamaño de trama. De la misma manera, puede ser deseable posibilitar la selección -pero no el cambio - entre pistas de diferentes códecs de vídeo o diferentes idiomas de audio. Puede tratarse la distinción entre pistas para selección y cambio asignando pistas para cambiar grupos además de grupos alternativos. Un grupo alternativo puede contener uno o más grupos de cambio. Todas las pistas en un grupo alternativo son candidatas para la selección de medios, mientras que las pistas en un grupo de cambio también están disponibles para cambio durante una sesión. Puede considerarse que diferentes grupos de cambio representan diferentes puntos de operación, tales como diferente tamaño de trama, calidad alta/baja, etc.
La característica de subpista del ISOBMFF puede usarse para asignar partes de pistas para alternar y cambiar grupos de la misma manera que pueden asignarse pistas (enteras) para alternar y cambiar grupos para indicar si estas pistas son alternativas entre sí y si tiene sentido cambiar entre ellas durante una sesión. Las subpistas son adecuadas para medios en capas, donde una subpista puede encerrar un subconjunto de las capas representadas por la pista. Definiendo grupos alternativos y de cambio en nivel de subpista puede ser posible usar reglas existentes para selección de medios y el cambio para tales códecs en capas. Los grupos alternativos y de cambio de nivel de subpista usan la misma numeración que los grupos de nivel de pista. La numeración es global a través de todas las pistas de manera que pueden definirse grupos a través de los límites de pista y subpista. El mapeo de datos codificados a subpistas puede depender de la codificación de medios en uso.
El mecanismo de agrupación de pistas de ISOBMFF puede usarse para indicar que las pistas están agrupadas de acuerdo con un criterio de agrupación indicado. La caja de grupo de pista incluida en la caja de pista posibilita la indicación de grupos de pistas, donde cada grupo comparte una característica particular o las pistas dentro de un grupo tienen una relación particular. La caja contiene cero o más cajas, y la característica particular o la relación se indica por el tipo de caja de las cajas contenidas. Las cajas contenidas incluyen un identificador (número entero sin signo de 32 bits), que puede usarse para concluir las pistas que pertenecen al mismo grupo de pistas. Las pistas que contienen el mismo tipo de una caja contenida dentro de la caja de grupo de pistas y tienen el mismo valor de identificador dentro de estas cajas contenidas pertenecen al mismo grupo de pistas.
Sin embargo, ni el mecanismo de grupo alternativo de pistas ni el mecanismo de agrupación de pistas pueden indicar relaciones de elementos a pistas.
Además, puede usarse el mecanismo de agrupación de muestras de ISOBMFF para indicar que se aplican ciertas propiedades a un grupo de muestras indicado dentro de una pista. Este mecanismo no está disponible para elementos estáticos.
A continuación se proporcionarán algunos ejemplos.
De acuerdo con las presentes realizaciones, un formato de fichero contenedor incluye un mecanismo que posibilita la agrupación de elementos de medios estáticos (por ejemplo, imágenes) y medios temporizados (por ejemplo, vídeo), que pueden estar lógicamente dispuestos en pistas.
Se ilustra un método de acuerdo con una realización en la Figura 16 como un diagrama de flujo. El método comprende incluir un elemento de medios estático en un fichero de contenedor; incluir una pista de medios en el fichero de contenedor; indicar, en el fichero, que el elemento de medios estático y la pista de medios forman un grupo; e indicar, en el fichero, un tipo de agrupación para el grupo.
Se ilustra un método de acuerdo con otra realización en la Figura 17 como un diagrama de flujo. El método comprende analizar, de un fichero de contenedor, que un elemento de medios estático y una pista de medios forman un grupo; analizar, del fichero de contenedor, un tipo de agrupación para el grupo; determinar un procesamiento para el elemento de medios estático y la pista de medios basándose en el grupo y el tipo de agrupación.
En una realización, un método comprende incluir un elemento de medios estático en un fichero de contenedor; incluir una o más pistas en el fichero de contenedor; indicar, en el fichero, que el elemento de medios estático y una o más de las siguientes entidades forman un grupo:
- una pista indicada de la una o más pistas;
- un grupo indicado de la una o más pistas, que puede ser, por ejemplo, un grupo alternativo de pistas (y puede identificarse, por ejemplo, por el valor del elemento de sintaxis altemate_group del ISOBMFF o elemento de sintaxis similar) o una pista grupo de cierto tipo indicado;
- una subpista indicada;
- una agrupación de muestras indicada de una pista que hace referencia a todas las muestras que están mapeadas a cualquier entrada de descripción de grupo de muestras de la agrupación de muestras;
- muestras mapeadas a la entrada o entradas de descripción de grupo de muestras indicado particular de una agrupación de muestras indicada de una pista indicada;
- otro elemento de medios estático;
e indicar, en el fichero, un tipo de agrupación para el grupo.
En una realización, un método comprende analizar, desde un fichero de contenedor, que un elemento de medios estático y una o más de las siguientes entidades forman un grupo:
- una pista indicada de la una o más pistas;
- un grupo indicado de la una o más pistas, que puede ser, por ejemplo, un grupo alternativo de pistas (y puede identificarse, por ejemplo, por el valor del elemento de sintaxis altemate_group del ISOBMFF o elemento de sintaxis similar) o una pista grupo de cierto tipo indicado;
- una subpista indicada;
- una agrupación de muestras indicada de una pista que hace referencia a todas las muestras que están mapeadas a cualquier entrada de descripción de grupo de muestras de la agrupación de muestras;
- muestras mapeadas a la entrada o entradas de descripción de grupo de muestras indicado particular de una agrupación de muestras indicada de una pista indicada;
- otro elemento de medios estático;
analizar, del fichero de contenedor, un tipo de agrupación para el grupo; y determinar un procesamiento para el elemento de medios estático y la una o más de las siguientes entidades basándose en el grupo y el tipo de agrupación.
El término entidad puede hacer referencia de manera colectiva a cualquier subconjunto de un elemento, una pista, un grupo de pistas, una subpista, un conjunto de muestras mapeadas a una agrupación de muestras y a un conjunto de muestras mapeadas a unas entradas de descripción de grupo de muestras particular de una agrupación de muestras. Una entidad puede ser un elemento, y otra entidad puede ser una pista. Cada entidad puede tener un identificador, tal como un valor de número entero sin signo de 32 bits. Una entidad puede comprender un conjunto de otras entidades.
En una realización, una entidad comprende un elemento de medios estático, una pista, un grupo de pistas, un grupo de muestras de una pista o una subpista; y un método comprende incluir una primera identidad en un fichero de contenedor; incluir una segunda entidad en el fichero de contenedor; indicar, en el fichero, que la primera entidad y la segunda entidad forman un grupo; e indicar, en el fichero, un tipo de agrupación para el grupo.
En una realización, una entidad está asociada con un identificador, tal como un número entero sin signo de 32 bits, por ejemplo, incluyendo el identificador dentro de la estructura de datos de la entidad. El método comprende adicionalmente asignar un primer valor de identificador a la primera entidad y un segundo valor de identificador a la segunda entidad, difiriendo el primer valor de identificador del segundo valor de identificador independientemente de los tipos de la primera entidad y la segunda entidad. Puede considerarse que los valores de identificador para las entidades usan el mismo espacio de valores independientemente del tipo de las entidades, cuando la agrupación de entidad se indica en el fichero.
En una realización, una entidad comprende un elemento de medios estático, una pista, un grupo de pistas, un grupo de muestras de una pista o una subpista; un método comprende analizar, desde un fichero de contenedor, que una primera identidad y una segunda entidad forman un grupo; analizar, del fichero de contenedor, un tipo de agrupación para el grupo; y determinar un procesamiento para la primera entidad y la segunda entidad basándose en el grupo y el tipo de agrupación.
En una realización, se especifica un identificador de fragmento de URL para indicar un grupo y/o una entidad. Por ejemplo, un fragmento de URL "#entity_ID=" hace referencia a una entidad, que puede tener cualquier tipo descrito anteriormente, tal como un elemento o una pista. Un ejemplo de un URL que incluye el fragmento #entity_ID puede ser como sigue: http://www.ejemplo.com/file.mp4#entity_ID=100. En otro ejemplo, un fragmento de URL "#group=4cc./d" hace referencia a una agrupación de entidades con tipo 4cc y con id de grupo (group_id) id. Un ejemplo de un URL que incluye el fragmento #entity_ID puede ser como sigue: http://www.ejemplo.com/file.mp4#group=altr.99. Un cliente puede solicitar un subconjunto de un fichero que incluye una cierta entidad o un cierto grupo de entidades usando los fragmentos de URL anteriormente descritos, por ejemplo en una solicitud HTTP GET. Un servidor, un emisor, una pasarela o similares pueden resolver un URL que incluye un fragmento de URL anteriormente descrito que incluye un subconjunto del fichero, que comprende la entidad solicitada o el grupo de entidades solicitadas, en el URL resuelto, por ejemplo en la carga útil de una respuesta HTTP GET.
Cuando se usa un formato de fichero de imagen (por ejemplo MPEG-H) para encapsular imágenes y secuencias de imágenes, hay casos de uso donde se requiere la agrupación de elementos de imagen codificados independientemente (cuando únicamente se usa la construcción de meta caja) o la agrupación de elementos de imagen codificados independientemente y pistas de secuencias de imágenes. Las presentes realizaciones proporcionan el formato de fichero de imagen con estructuras de señalización que posibilitan un mecanismo de agrupación de este tipo. Las estructuras de señalización son genéricas en su naturaleza para permitir cualquier agrupación concebible requerida por los casos de uso actual y futuros.
El mecanismo de agrupación incluye una manera para indicar el tipo de la agrupación. El tipo de la agrupación puede ser (pero sin limitación) uno o más de lo siguiente:
- La agrupación alternativa que indica que los elementos agrupados y las pistas son alternativos entre sí, y, normalmente, únicamente uno de ellos debe procesarse (por ejemplo decodificarse y visualizarse).
- Agrupación de previsualización que indica que se usa un elemento o pista identificado para fines de previsualización para otro elemento o pista identificado. Por ejemplo, puede capturarse tanto una pista de vídeo como una imagen fija en una manera consecuente o solapante, y puede indicarse que la pista de vídeo puede usarse como una previsualización para la imagen fija, o, viceversa, que la imagen fija puede usarse como una previsualización o una imagen de portada para la pista de vídeo.
- Una agrupación que indica que los elementos o pistas tienen el mismo origen, por ejemplo, que se ha derivado una colección de imágenes derivadas precalculadas de la misma imagen de entrada. Esto puede usarse, por ejemplo, para diferentes versiones del mismo conjunto de imágenes de la misma escena con diferentes tiempos de exposición.
- Una agrupación de múltiples visualizaciones que indica que los elementos agrupados o pistas representan la misma escena desde diferentes puntos de vista.
- Una agrupación que indica elementos o pistas equivalentes, es decir elementos o pistas que representan el mismo contenido de imagen. Esta agrupación puede usarse o permitirse únicamente para un caso donde se mapea exactamente una imagen derivada a esta agrupación y cada una imagen codificada de la agrupación de imagen se ha codificado usando la imagen derivada como entrada a la codificación y, por lo tanto, es una representación codificada de la imagen derivada.
- Una agrupación que indica que los elementos o pistas mapeados al grupo contienen exactamente los mismos datos de imagen codificados. Esta agrupación puede usarse en un caso donde se incluye una imagen como un elemento y una muestra de la pista (que contiene únicamente una muestra) en un fichero, que puede usarse para indicar la temporización de la imagen con respecto a medios temporizados incluidos en el fichero.
La agrupación alternativa puede usarse (pero sin limitación) para uno o más de los siguientes fines o casos de uso: Indicar un grupo alternativo desde el que ha de decodificarse y visualizarse exactamente una entidad (por ejemplo, un elemento o pista).
Indicar una animación (o similar) y una imagen fija que son alternativas: La alternativa puede usarse, por ejemplo, si una animación y una imagen fija son alternativas que van a visualizarse, y el reproductor puede escoger la animación o la imagen fija para que se visualice, por ejemplo, basándose en su capacidad de decodificar animaciones.
Incluir operaciones opcionales para imágenes derivadas: Puede indicarse una primera imagen derivada y una segunda imagen derivada para que sean alternativas entre sí, mientras que la primera imagen derivada y la segunda imagen derivada difieren en términos de entradas y operaciones únicamente de modo que la primera imagen derivada tiene menos operaciones que la segunda imagen derivada. Las operaciones faltantes en la primera imagen derivada en comparación con a la segunda imagen derivada pueden considerare, por lo tanto, operaciones opcionales en el sentido que puede obtenerse una imagen aceptable (la segunda imagen derivada) sin realizar dichas operaciones faltantes. El mecanismo de agrupación alternativo puede usarse, por lo tanto, para indicar operaciones opcionales para imágenes derivadas.
Indicar que una imagen derivada precalculada y la respectiva imagen derivada son alternativas: la agrupación de una imagen derivada y la respectiva imagen de códec (para la que la imagen derivada o una imagen esencialmente similar a la imagen derivada ha sido la entrada para codificación). La imagen derivada precalculada puede requerir menos procesamiento en su reconstrucción que la imagen derivada, mientras que puede implicar algunos artefactos de codificación. Por otra parte, la imagen derivada puede servir como metadatos de cómo se construyó la imagen derivada precalculada y puede usarse como entrada si fueran necesarias derivaciones adicionales (para evitar los artefactos de codificación de la imagen derivada precalculada en la misma).
En una realización, el orden de los elementos y/o las pistas de agrupación (por ejemplo, en una estructura de datos que enumera los elementos y/o pistas agrupados) pueden llevar semántica, tal como un orden de preferencia. La semántica puede depender del tipo de agrupación.
De acuerdo con una realización de los mecanismos de agrupación de entidades, se incluye una nueva caja contenedora denominada la caja de lista de grupos (GroupsList) ('grpl') en el fichero, por ejemplo, como una entre las cajas opcionales en la caja 'meta' de nivel de fichero. Puede requerirse que haya como mucho una caja 'grpl' presente. La función de esta caja es contener una o más otras cajas, denominadas caja de entidad a grupo (EntityToGroup), que definen completamente todas las diferentes agrupaciones de entidades usadas en el fichero. Cada caja de entidad a grupo se especializa a una agrupación particular, distinguida por un valor de código de cuatro caracteres único. Puede haber múltiples cajas con el mismo valor de código de cuatro caracteres incluido en la caja 'grpl", lo que indica que hay múltiples conjuntos de entidades con el mismo tipo de agrupación en el fichero. En una realización, el mismo grupo puede identificarse un id de grupo (group_id). Este id de grupo (group_id) es útil puesto que puede usarse para incluir las entidades en este grupo en un grupo incluso mayor. Los miembros del grupo es una lista de identificadores donde cada uno de los identificadores es un valor de identificador de entidad válido, que puede ser, por ejemplo, id de elemento (item_id), id de pista (track_id) o un id de grupo (group_id).
La sintaxis de caja de lista de grupos (GroupsListBox) y caja de entidad a grupo (EntityToGroupBox) puede especificarse, por ejemplo, como sigue. En este ejemplo, el elemento de sintaxis id de grupo (group_id) está incluido en la caja de entidad a grupo (EntityToGroupBox). Es necesario que se entienda que la realización podría realizarse similarmente sin el elemento de sintaxis id de grupo (group_id).
aligned(8) class GroupsListBox extends Box('grpl') {
}
aligned(8)class EntityToGroupBox(grouping_type, versión,
flags)
extends FullBox(grouping_type, version, flags) {
unsigned int(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0; i<num_entities_in_group; i++){
unsigned int(32) entity_id;
}
En una realización, la semántica de caja de entidad a grupo (EntityToGroupBox) puede especificarse, por ejemplo, como sigue:
- tipo de agrupación (grouping_type) es un código de cuatro caracteres que representa un tipo de agrupación. Cada código de tipo de agrupación (grouping_type) está asociado con semántica que describe la agrupación. - id de grupo (group_id) es un número entero no negativo único asignado a la agrupación particular. El id de grupo (group_id) se elige desde el mismo número de espacio que id de elemento (item_id) o el id de pista (track_id). - id de entidad (entity_id) es un id de pista (track_id), un id de elemento (item_id) u otro id de grupo (group_id) de las pistas, imágenes u otros grupos respectivamente que caen en este grupo.
En una realización, la semántica de caja de entidad a grupo (EntityToGroupBox) puede especificarse, por ejemplo, como sigue:
- tipo de agrupación (grouping_type) es un código de cuatro caracteres que representa un tipo de agrupación. Cada código de tipo de agrupación (grouping_type) está asociado con semántica que describe la agrupación. - id de grupo (group_id) es un número entero no negativo asignado a la agrupación particular.
- id de entidad (entity_id) se resuelve a un elemento o un grupo alternativo de pistas o subpistas como sigue:
O Cuando hay un elemento con id de elemento igual a id de entidad (entity_id), ese elemento está mapeándose a esta agrupación particular.
O Cuando el tipo de agrupación es igual a 'altr', cada pista o subpista con grupo alternativo (altemate_group) igual a id de entidad (entity_id) es una parte de este grupo.
En una realización, pueden incluirse parámetros adicionales en el fichero o analizarse desde el fichero para la agrupación para caracterizar completamente su naturaleza. Para este fin, en una implementación de ejemplo, el campo parámetros de agrupación (grouping_parameters), que es un objeto heredado de una clase de base abstracta parámetros de agrupación (GroupingParameters), se incluye en la caja de entidad a grupo (EntityToGroup). El campo en el objeto parámetros de agrupación (grouping_parameters) puede definirse en una base por agrupación (es decir, para cada valor de tipo de agrupación (grouping_type) único) y es opcional en que está incluido en la caja de entidad a grupo (EntityToGroup) únicamente si se requiere para ese tipo de agrupación definido por la caja de entidad a grupo (EntityToGroup). Por ejemplo, puede usarse la siguiente sintaxis. En este ejemplo, el elemento de sintaxis id de grupo (group_id) está incluido en la caja de entidad a grupo (EntityToGroupBox). Es necesario que se entienda que la realización podría realizarse similarmente sin el elemento de sintaxis id de grupo (group_id).
abstract class GroupingParameters(grouping_type, versión) {
}
aligned(8)class EntityToGroupBox(grouping_type, versión,
flags)
extends FullBox(grouping_type, versión, flags) {
unsigned int(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0; i<num entities in group; i++){
unsigned int(32) entity_id;
}
GroupingParameters grouping_parameters(grouping_type,
versión); //opcional
}
En otra implementación de ejemplo, pueden incluirse parámetros adicionales como una lista de atributos incluidos en la caja de entidad a grupo (EntityToGroup). La presencia de la lista de atributos puede ser condicional en el tipo de agrupación, por ejemplo, puede estar presente para agrupación alternativa únicamente (por ejemplo, indicado por el código de cuatro caracteres 'altr'). El número de atributos puede incluirse en la caja de entidad a grupo (EntityToGroup) (por ejemplo, los atributos numéricos en la sintaxis a continuación), por ejemplo, que indican el número de atributos descriptivos o de diferenciación que describen las semánticas de esta agrupación. Cada atributo en la lista puede ser, por ejemplo, un código de cuatro caracteres. Por ejemplo, puede usarse la siguiente sitnaxis:
aligned(8) class EntityToGroupBox(grouping_type, version,
flags)
extends FullBox(grouping_type, version, flags) {
unsigned int(32) group_id;
unsigned int(32) num_entities_in_group;
for(i=0; i<num_entities_in_group; i++)
unsigned int(32) entity_id;
if(grouping_type == 'altr') {
unsigned int(8) num_attributes;
for(i=0; i<num_attributes; i++){
unsigned int (32) attribute;
}
}
}
Las escrituras de fichero pueden incluir, en el fichero, información de si un elemento de imagen está pretendido para su visualización. Por ejemplo, puede usarse una bandera, que puede denominarse, por ejemplo, elemento en presentación (item_in_presentation), en un elemento de inicialización o un elemento de metadatos vinculado a un elemento de imagen para este fin. Cuando el elemento en presentación (item_in_presentation) es igual a 0, el elemento de imagen no es una parte de la presentación, es decir, no deberá visualizarse. Cuando el elemento en presentación (item_in_presentation) es mayor que 0, el elemento de imagen es una parte de la presentación, es decir, puede visualizarse. El elemento en presentación (item_in_presentation) igual a 0 puede usarse para una imagen derivada de este tipo que es una imagen intermedia usada como una entrada para derivar otra imagen pretendida para su visualización. Los lectores de fichero pueden analizar, desde el fichero, información de si un elemento de imagen se pretende para su visualización. Por ejemplo, puede analizarse una bandera, que puede denominase, por ejemplo, elemento en presentación (item_in_presentation), desde un elemento de inicialización o un elemento de metadatos vinculado a un elemento de imagen.
En una realización, dicha determinación de un procesamiento basándose en el grupo y el tipo de agrupación en diversas realizaciones comprende la determinación de qué entidades, tales como elementos o pistas, se decodifican y visualizan. En una realización de ejemplo, un lector que puede procesar elementos de imagen pero no pistas de secuencia de imágenes opera de acuerdo con una o más de las siguientes etapas ordenadas. En esta realización de ejemplo se supone que id de entidad (entity_id) en una sintaxis de ejemplo anterior indica el id de elemento (item_id) o grupo alternativo (altemate_group). Es necesario que se entienda que pueden formarse procesos similares de determinación de las entidades que van a visualizarse para otras opciones de tipos de entidad permitidos, otras opciones de sintaxis y otros órdenes o contenido para las etapas de determinación.
- Si el fichero se previsualiza, por ejemplo en una aplicación de explorador de fichero, se visualiza una imagen en miniatura (si la hubiera) de la imagen de portada o la imagen de portada, sea cual sea la que mejor se adecúa a la aplicación o al caso de uso.
- De otra manera, si el lector soporta la visualización de únicamente una imagen o si la aplicación o el caso de uso es tal que únicamente se visualiza una imagen, se visualiza la imagen de portada.
- De otra manera (el lector soporta la visualización de más de una imagen y la aplicación o el caso de uso es tal que puede presentarse visualmente más de una imagen), se resuelve un conjunto de imágenes visualizadas como sigue y, a continuación, visualiza como mejor se adecúa a la aplicación o al caso de uso, por ejemplo, visualizando una cuadrícula de imágenes:
O Todos los elementos de imagen se incluyen en primer lugar en el conjunto de imágenes visualizadas. O Las imágenes en miniatura y las imágenes auxiliares se excluyen del conjunto de imágenes visualizadas. O Los elementos de imagen con elemento en presentación igual a 0 se excluyen del conjunto de imágenes visualizadas.
O Se resuelven grupos de elementos de imagen alternativos. Únicamente se mantiene el primer elemento de imagen de cada grupo alternativo que puede decodificar y reproducir el lector y que se adecúa a la aplicación o al caso de uso en el conjunto de imágenes visualizadas, mientras que las otras imágenes del grupo alternativo se excluyen del conjunto de imágenes visualizadas.
En una realización de ejemplo, un lector que puede procesar elementos de imagen y pistas de secuencia de imágenes opera de acuerdo con una o más de las siguientes etapas ordenadas cuando se proporciona un fichero que contiene tanto elemento o elementos de imagen como pista o pistas de secuencia de imágenes como entrada. En esta realización de ejemplo se supone que id de entidad (entity_id) en una sintaxis de ejemplo anterior indica el id de elemento (item_id) o grupo alternativo (altemate_group). Es necesario que se entienda que pueden formarse procesos similares de determinación de las entidades que van a visualizarse para otras opciones de tipos de entidad permitidos, otras opciones de sintaxis y otros órdenes o contenido para las etapas de determinación.
- Si el fichero se previsualiza, por ejemplo en una aplicación de explorador de ficheros, y la aplicación o el caso de uso no soporta reproducción temporizada en previsualización, debe presentarse visualmente una imagen en miniatura de la imagen de portada o la imagen de portada, sea cual sea la que mejor se adecúe a la aplicación o al caso de uso.
- De otra manera, si se previsualiza el fichero y la aplicación o el caso de uso soporta reproducción temporizada en previsualización, se aplica lo siguiente:
o si la imagen de portada es una parte de un grupo alternativo ('altr'), debe visualizarse una miniatura de la imagen de portada o la primera entidad de ese grupo alternativo que puede decodificarse y visualizarse, sea cual sea lo que mejor se adecúe al propósito de la aplicación o al caso de uso.
o De otra manera, debe visualizarse una imagen en miniatura de la imagen de portada o la imagen de portada, sea cual sea la que mejor se adecúe a la aplicación o al caso de uso.
- De otra manera, se resuelve un conjunto de entidades visualizadas como sigue y a continuación se visualiza como mejor se adecúe a la aplicación o al caso de uso,
o Todos los elementos de imagen y pistas de secuencia de imágenes se incluyen en primer lugar en el conjunto de entidades visualizadas.
o Las imágenes en miniatura y las imágenes auxiliares se excluyen del conjunto de entidades visualizadas. o Los elementos de imagen con elemento en presentación (item_in_presentation) igual a 0 se excluyen del conjunto de entidades visualizadas.
o Las pistas de secuencia de imágenes que no se pretende que se visualicen se excluyen del conjunto de entidades visualizadas. Por ejemplo, en pistas ISOBMFF con pista en previsualización (Track_in_preview) igual a 1, pista en película (Track_in_movie) igual a 0 o pista activada (Track_enabled) igual a 0 se excluyen del conjunto de entidades visualizadas. Puede requerirse que las pistas de secuencia de vídeo o de imágenes auxiliares tengan pista en película (Track_in_movie) igual a 0, o puede excluirse el vídeo auxiliar o las pistas de secuencia de imágenes del conjunto de entidades visualizadas explícitamente.
o Se resuelven grupos de pistas alternativas. Únicamente se mantiene una pista por grupo alternativo que se adecúa mejor a la aplicación o al caso de uso en el conjunto de entidades visualizadas mientras que los otros se excluyen del conjunto de entidades visualizadas.
o Se resuelven grupos de entidades alternativas. Únicamente se mantiene el primer elemento de imagen de cada grupo alternativo que puede decodificar y reproducir el lector y que se adecúa a la aplicación o al caso de uso en el conjunto de entidades visualizadas, mientras que las otras entidades del grupo alternativo se excluyen del conjunto de imágenes visualizadas. Si la entidad visualizada es un grupo de pistas alternativas, ya se ha resuelto en una única pista como resultado del punto de la viñeta anterior.
En lugar de o además de usar una bandera, por ejemplo elemento en presentación (item_in_presentation), para indicar si un elemento es visualizable, puede requerirse o recomendarse que no se visualice un elemento de imagen que no es el elemento primario y que no está mapeado a ninguna agrupación de tipo 'altr'.
En una realización, dicha determinación de un procesamiento basándose en el grupo y el tipo de agrupación en diversas realizaciones comprende la determinación de qué entidades, tales como elementos o pistas, se decodifican y visualizan. En una realización de ejemplo, un lector que puede procesar elementos de imagen pero no pistas de secuencia de imágenes opera de acuerdo con una o más de las siguientes etapas ordenadas. En esta realización de ejemplo se supone que id de entidad (entity_id) en una sintaxis de ejemplo anterior indica el id de elemento (item_id) o grupo alternativo (altemate_group). Es necesario que se entienda que pueden formarse procesos similares de determinación de las entidades que van a visualizarse para otras opciones de tipos de entidad permitidos, otras opciones de sintaxis y otros órdenes o contenido para las etapas de determinación.
- Si el lector soporta la visualización de únicamente una imagen o si la aplicación o el caso de uso es tal que únicamente se visualiza una imagen, debe visualizarse una de las siguientes imágenes o sus imágenes en miniatura sea cual sea la que se decodifique y se adecúe mejor a la aplicación o al caso de uso:
o el elemento primario,
o una imagen del grupo alternativo ('altr') que incluye el elemento primario.
- De otra manera (el lector soporta la visualización de más de una imagen y la aplicación o el caso de uso es tal que puede presentarse visualmente más de una imagen), se resuelve un conjunto de imágenes visualizadas como sigue y, a continuación, visualiza como mejor se adecúa a la aplicación o al caso de uso, por ejemplo, visualizando una cuadrícula de imágenes:
o Se resuelven grupos de elementos de imagen alternativos. Únicamente se incluye el primer elemento de imagen de cada grupo alternativo que puede decodificar y reproducir el lector y que se adecúa a la aplicación o al caso de uso en el conjunto de imágenes visualizadas.
o Cuando el elemento primario no se encuentra entre ningún grupo alternativo, se incluye en el conjunto de imágenes visualizadas.
En una realización de ejemplo, un lector que puede procesar elementos de imagen y pistas de secuencia de imágenes opera de acuerdo con una o más de las siguientes etapas ordenadas cuando se proporciona un fichero que contiene tanto elemento o elementos de imagen como pista o pistas de secuencia de imágenes como entrada. En esta realización de ejemplo se supone que id de entidad (entity_id) en una sintaxis de ejemplo anterior indica el id de elemento (item_id) o grupo alternativo (altemate_group). Es necesario que se entienda que pueden formarse procesos similares de determinación de las entidades que van a visualizarse para otras opciones de tipos de entidad permitidos, otras opciones de sintaxis y otros órdenes o contenido para las etapas de determinación.
- Si el lector soporta la visualización de únicamente una imagen o secuencia de imágenes o si la aplicación o el caso de uso es tal donde únicamente se visualiza una imagen o secuencia de imágenes, debe visualizarse una de las siguientes imágenes o sus imágenes en miniatura sea cual sea la que se decodifique y se adecúe mejor a la aplicación o al caso de uso:
o el elemento primario,
o una entidad del grupo alternativo ('altr') que incluye el elemento primario.
- De otra manera, se resuelve un conjunto de entidades visualizadas como sigue y a continuación se visualiza como mejor se adecúe a la aplicación o al caso de uso,
o Se resuelven grupos de entidades alternativas. Únicamente se incluye la primera entidad de cada grupo alternativo que puede decodificar y reproducir el lector y que se adecúa a la aplicación o al caso de uso en el conjunto de entidades visualizadas, mientras que las otras entidades del grupo alternativo se excluyen del conjunto de imágenes visualizadas. Si la entidad visualizada es un grupo alternativo de pistas, se resuelve en una única pista como resultado del punto de la viñeta siguiente.
o Se resuelven estos grupos de pistas alternativos que no se incluyeron en ningún grupo de entidades alternativas o se seleccionaron en el punto de la viñeta anterior como una entidad que va a visualizarse. Únicamente se incluye una pista por grupo alternativo que se adecúa mejor a la aplicación o al caso de uso en el conjunto de entidades visualizadas.
o Cuando el elemento primario no se encuentra entre ningún grupo alternativo y puede decodificarse, se incluye en el conjunto de imágenes visualizadas.
o Cuando una pista no se indica que es parte de ningún grupo de pistas alternativo (es decir, tiene grupo alternativo (altemate_group) igual a 0 en el ISOBMFF), puede reproducirse (es decir tiene pista en película (Track_in_movie) igual a 1 y pista activada (Track_enabled) igual a 1 en el ISOBMFF) y puede decodificarse, se incluye el conjunto de entidades visualizadas.
Como un ejemplo de un primer caso de uso, se desvela una representación alternativa de señal de elementos de imagen. Las imágenes que son alternativas entre sí pueden usar grupos de elementos para indicar a un lector de ficheros que los elementos en el grupo son alternativos entre sí y podría elegir cualquier elemento en el grupo que se represente mejor.
Por ejemplo, considerando un conjunto de tres imágenes (Imagen 0, Imagen 1, Imagen 2) donde cada imagen se codifica en tres resoluciones espaciales diferentes (Res 0, Res 1, Res 2) como se muestra en la Figura 6a. Estas imágenes se almacenan como los elementos (Io, I1 , I2 , I3, I4, I5, k I7 , k usando la estructura 'meta'. La resolución espacial diferente de las imágenes se almacena en el fichero puesto que el proveedor de contenido desea que un lector use la imagen que se adecúa más a sus capacidades de visualización. La agrupación (Go, Gi, G2), como se muestra en la Figura 6b, puede usarse para señalizar representaciones alternativas donde la señalización de la agrupación misma usa las presentes realizaciones.
Usar el mecanismo de agrupación presentado en esta aplicación puede implementarse la agrupación de elementos anteriormente descrita usando una nueva agrupación con el valor de código de cuatro caracteres 'alti'. Cada caja 'alti' agrupa elementos que son representaciones alternativas entre sí. Todas las cajas 'alti' a continuación se recopilan en la caja 'grpl'.
Como un ejemplo de un segundo caso de uso, se desvela la señalización de representaciones de medios alternativos. El mecanismo de agrupación puede usarse también para agrupar dos tipos de medios diferentes. Considérese un ejemplo donde una cámara dispara una secuencia de imágenes pequeña junto con una imagen de alta resolución para capturar una escena. Tanto la secuencia de imágenes como la imagen de alta resolución se almacenan en el mismo fichero. Un lector a continuación elige el tipo de medios que mejor representa o proporciona al usuario con una opción para elegir los medios que desean representar. La ilustración de este ejemplo se muestra en la Figura 8, cuando unos medios de base de pista (Pista To) y unos medios basados en elemento (Elemento I0) están relacionados entre sí y pueden considerarse un grupo (Grupo Go).
Usando el mecanismo de agrupación presentado en esta aplicación, puede implementarse la agrupación de una combinación de elementos y pistas usando una nueva agrupación con valor de código de cuatro caracteres 'altm'. Cada caja 'altm' agrupa elementos y pistas que son representaciones alternativas entre sí. Todas las cajas 'altm' a continuación se recopilan en la caja 'grpl'. Esto se ilustra en la Figura 9 que muestra contenidos de la caja 'grpl'. Como un ejemplo de un tercer caso de uso, se desvela la señalización de un grupo de múltiples vistas. Los elementos de imagen (Elemento-I0, Elemento-h, Elemento-h, Elemento-h) pueden agruparse también (Grupo-Go) para señalizar que pertenecen a un grupo de múltiples vistas. Las mismas imágenes se codifican todas independientemente, por lo que pueden todas representarse individualmente por un representador de imágenes normal. Sin embargo, si el lector puede proporcionar una representación de múltiples vistas de una colección de imágenes (usando técnicas de interpolación de vista) entonces puede usarse el método de agrupación presentado en esta solicitud. La Figura 10 ilustra una agrupación de este tipo. Agrupación de elementos de imagen que capturan la misma escena en ángulos de visualización diferentes. Estos elementos de imagen todos forman un grupo que puede usar un representador de imágenes de múltiples vistas para representar la imagen de salida.
Usando el mecanismo de agrupación presentado en esta solicitud, puede señalizarse una colección de imágenes que representa la misma escena en múltiples ángulos para que sea un grupo de múltiples vistas que usa una nueva agrupación con valor de código de cuatro caracteres 'mlvw'. Cada caja 'mlvw' agrupa elementos que pertenecen al grupo de múltiples vistas. Todas las cajas 'mlvw' a continuación se recopilan en la caja 'grpl'. Esto se ilustra en la Figura 11 que muestra contenidos de la caja 'grpl'.
Esta agrupación requiere que el campo parámetros de agrupación (grouping_parameters) señalice los parámetros de cámara intrínsecos. Los parámetros de cámara intrínsecos asocian las coordenadas de píxel de un punto de imagen con las correspondientes coordenadas en la trama de referencia de la cámara. La especificación de longitud focal y el parámetro relacionado con la distorsión geométrica debido a la óptica de la cámara se proporciona en el Anexo H de ISO/IEC 14496-10.
aligned(8) class MLVWGroupingParameters('mlvw', versión)
extends GroupingParameters() {
for(i=0; i<num_entities_in_group; i++){
unsigned int(32) prec_focal_length;
unsigned int(32) prec_principal_point;
unsigned int(32) prec_skew_factor;
unsigned int(8) exponent_focal_length_x;
signed int(64) mantissa_focal_length_x;
unsigned int(8) exponent_focal_length_y;
signed int(64) mantissa_focal_length_y;
unsigned int(8) exponent_principal_point_x;
signed int(64) mantissa_principal_point_x;
unsigned int(8) exponent_principal_point_y;
signed int(64) mantissa_principal_point_y;
unsigned int(8) exponent_skew_factor;
signed int(64) mantissa_skew_factor;
}
}
Semántica:
- prec_focal_length especifica el exponente del error de truncamiento permisible máximo para focal_length_x y focal_length_y como se proporciona por 2-prec-focal- length. El valor de prec_focal_length debe encontrarse en el intervalo de 0 a 31, inclusive.
- prec_principal_point especifica el exponente del error de truncamiento permisible máximo para principal_point_x y principal_point_y como se proporciona por 2-Prec-PrinciPal-P°int. El valor de prec_principal_point debe encontrarse en el intervalo de 0 a 31, inclusive.
- prec_skew_factor especifica el exponente del error de truncamiento permisible máximo para el factor de sesgo como se proporciona por 2-Prec-skew-factor. El valor de prec_skew_factor debe encontrarse en el intervalo de 0 a 31, inclusive.
- exponent-focal-length-x especifica la parte de exponente de la longitud focal en la dirección horizontal. El valor de exponent-focal-length x deberá encontrarse en el intervalo de 0 a 62, inclusive. El valor 63 se reserva para su uso futuro por ITU-T | ISO/IEC. Los decodificadores deberán tratar el valor 63 como que indica una longitud focal no especificada.
- mantissa-focal-length-x especifica la parte de mantisa de la longitud focal de la cámara de orden i en la dirección horizontal.
- exponent-focal-length-y especifica la parte de exponente de la longitud focal en la dirección vertical. El valor de exponent-focal-length-y deberá encontrarse en el intervalo de 0 a 62, inclusive. El valor 63 se reserva para su uso futuro por ITU-T | ISO/IEC. Los decodificadores deberán tratar el valor 63 como que indica una longitud focal no especificada.
- mantissa-focal-length-y especifica la parte de mantisa de la longitud focal en la dirección vertical.
- mantissa-principal-point-x especifica la parte de mantisa del punto principal en la dirección horizontal.
- exponent-principal-point-y especifica la parte de exponente del punto principal en la dirección vertical. El valor de exponent-principal-point-y deberá encontrarse en el intervalo de 0 a 62, inclusive. El valor 63 se reserva para su uso futuro por ITU-T | ISO/IEC. Los decodificadores deberán tratar el valor 63 como que indica un punto principal no especificado.
- mantissa-principal-point-y especifica la parte de mantisa del punto principal en la dirección vertical.
- exponent-skew-factor especifica la parte de exponente del factor de sesgo. El valor de exponent-skew-factor deberá encontrarse en el intervalo de 0 a 62, inclusive. El valor 63 se reserva para su uso futuro por ITU-T | ISO/IEC. Los decodificadores deberán tratar el valor 63 como que indica un factor de sesgo no especificado. - mantissa-skew-factor especifica la parte de mantisa del factor de sesgo.
La matriz intrínseca A para la cámara puede representarse como sigue:
Figure imgf000018_0001
Cada componente de la matriz intrínseca se obtiene a partir de las variables especificadas en la Tabla 1 como la variable x calculada como sigue:
- Si 0 < e < 63, x = 2e'31 * (1 n-2v), con v = max(0, e p - 31)
- Si e es igual a 0, x = 2'(30+v) * n, con v = max(0, p - 30)
La Tabla 1, a continuación, muestra una asociación entre variables de parámetro de cámara y los elementos de sintaxis:
Figure imgf000018_0002
continuación
Figure imgf000019_0001
Como un ejemplo de un cuarto caso de uso, se desvela la señalización de un grupo de elementos de imagen presentable.
En un mecanismo de agrupación presentado en esta solicitud, los elementos de imagen codificados y los elementos que proporcionan instrucciones para derivar otra imagen pueden agruparse para señalizar que los elementos en el grupo forman una imagen que puede visualizarse si el lector desea hacerlo. Esta agrupación es útil para indicar al lector que no se pretende que se presenten ciertas combinaciones de elementos a lo largo de una cadena de derivación de imagen. Una agrupación de este tipo puede ser de múltiples capas; es decir, grupos más grandes pueden consistir en grupos más pequeños.
La Figura 12 muestra la agrupación de elementos de imagen y elementos de imagen derivados que emiten una imagen visualizable válida. En este ejemplo, suponiendo que el elemento-Iü y el elemento h son imágenes codificadas. El elemento-U modifica el elemento-Iü recortando la imagen del elemento- lo (usando el tipo de elemento de imagen derivada 'clap'). El elemento-l3 deriva una imagen rotada desde el elemento-li (usando el tipo de elemento de imagen derivada 'irot'). El elemento-U combina las imágenes derivadas obtenidas en la salida del elemento-h y el elemento-U para formar una imagen de superposición (usando el tipo de elemento 'iovl'). Para indicar a un lector qué combinación de elementos da como resultado una imagen presentable, pueden formarse grupos.
En este ejemplo de uso del mecanismo de agrupación para señalizar la combinación de elementos que da como resultado una imagen presentable, puede construirse una nueva agrupación con valor de código de cuatro caracteres 'oput'. Cada caja 'oput' agrupa elementos que se combinan para producir una imagen en la salida. Todas las cajas 'oput' a continuación se recopilan en la caja 'grpl'. Esto se ilustra en la Figura 13 que muestra contenidos de la caja 'grpl'.
Como un ejemplo de un quinto caso de uso, se desvela la agrupación para informar imágenes derivadas y sus alternativas de imágenes precalculadas.
En algunos casos de uso, las imágenes derivadas (los elementos de imagen en combinación con instrucciones usadas para derivar otras imágenes) y una versión que ya se ha precalculado pueden incluirse en el mismo fichero. Esto es para permitir que los editores tengan la posibilidad de volver sobre los pasos de las ediciones aplicadas en las imágenes originales y modificar posiblemente una etapa en el proceso de derivación mientras que aún se permite que los representadores de imágenes sencillos tomen la imagen y la visualización precalculadas (para evitar un proceso de derivación complicado). El método de agrupación descrito en esta solicitud puede usarse para señalizar a una entidad de lectura de fichero acerca de las alternativas incluidas en el fichero.
Para ilustrar esto con un ejemplo, el ejemplo anterior de los grupos de elemento presentables se amplía para incluir otro elemento de imagen, elemento-ls, que precalcula la imagen derivada obtenida después de la operación de sustitución en elemento-U. Esto se muestra en la Figura 14. La Figura 15 enumera los contenidos de la caja 'grpl'. Una realización, que puede aplicarse independientemente de o junto con otras realizaciones, un creador de fichero puede incluir, en un fichero, información de imágenes alternativas y/o un reproductor de fichero puede analizar, desde un fichero, información sobre imágenes alternativas.
Pueden definirse dos o más imágenes como alternativas entre sí, cuando únicamente uno de un reproductor de fichero debe visualizar únicamente una de las dos o más imágenes.
Puede definirse un grupo alternativo de imágenes como el conjunto de imágenes que son alternativas entre sí. El grupo alternativo puede tener un subtipo, que indica las características y/o criterios que diferencian la segunda imagen y la primera imagen.
De acuerdo con una realización, una primera imagen puede estar asociada con, en el fichero, un primer valor de un identificador de grupo alternativo y una segunda imagen puede estar asociada con, en el fichero, un segundo valor de un identificador de grupo alternativo. El creador de fichero puede indicar que la primera imagen y la segunda imagen son alternativas estableciendo el primer valor y el segundo valor al mismo valor. El creador de fichero puede indicar que la primera imagen y la segunda imagen no son alternativas estableciendo el primer valor y el segundo valor a un valor diferente entre sí. El reproductor de fichero puede determinar que la primera imagen y la segunda imagen son alternativas analizando, desde el fichero, que el primer valor es igual al segundo valor. El reproductor de fichero puede determinar que la primera imagen y la segunda imagen no son alternativas analizando, desde el fichero, que el primer valor no es igual al segundo valor.
De acuerdo con una realización, el creador de fichero puede incluir en el fichero información sobre más de un grupo de imágenes alternativas. En una realización, una imagen puede pertenecer a más de un grupo alternativo. En una realización, el creador de fichero puede incluir en el fichero características y/o criterios de acuerdo con los que se forma un grupo alternativo. Por ejemplo, puede indicarse que un grupo alternativo representa diferentes resoluciones espaciales y/o relación de aspecto de imagen del mismo contenido de imagen. En otro ejemplo, puede indicarse que un grupo alternativo representa diferentes profundidades de bits y/o gamas de colores del mismo contenido de imagen. En una realización, un reproductor de fichero puede analizar, desde un fichero, características y/o criterios de acuerdo con los que se forma un grupo alternativo y, si las características y/o criterios son de manera que pudieran importar para que el reproductor de fichero elija la imagen entre las imágenes en el grupo alternativo, el reproductor de fichero puede analizar, desde el fichero, información relacionada específica de imagen con las características y/o criterios y seleccionar la imagen entre el grupo alternativo de acuerdo con la información específica de imagen.
De acuerdo con una realización, el creador de fichero puede indicar que una o más imágenes (individuales) y una o más secuencias de imágenes son alternativas. Por ejemplo, un creador de fichero puede indicar que una animación, tal como una cinemagrafía, es una alternativa a una imagen fija. En el formato de fichero de imagen u otros formatos de ISOBMFF derivados, el creador de fichero puede indicar que uno o más meta elementos que representan imágenes son alternativas a una o más vistas, que representan típicamente secuencias de imágenes o vídeo.
De acuerdo con una realización, el reproductor de fichero puede analizar, desde un fichero, que una o más imágenes (individuales) y una o más secuencias de imágenes son alternativas. Por ejemplo, un analizador de ficheros puede analizar, desde el fichero, que una animación, tal como una cinemagrafía, es una alternativa a una imagen fija. En el formato de fichero de imagen u otros formatos de ISOBMFF derivados, el analizador de ficheros puede analizar, desde el fichero, que uno o más meta elementos que representan imágenes son alternativos a una o más pistas, que representan típicamente secuencias de imágenes o vídeo.
En una realización aplicable al formato de fichero de imagen u otros formatos de ISOBMFF derivados, las entidades, tales como los meta elementos y las pistas pueden indicarse para que tengan valores de identificador (valores id de elemento (item_id) e id de pista (track_id), respectivamente) que se reservan desde el mismo espacio de valores. En otras palabras, cuando se indica, un valor de id de elemento y un valor de id de pista (track_id) no están permitidos que sean iguales. La indicación puede incluirse, por ejemplo, en un requisito de marca de modo que, por ejemplo, cada vez que se incluya una marca de formato de fichero de imagen como una marca mayor o como una marca compatible, los meta elementos y las pistas puede indicarse que tienen valores de identificador (valores id de elemento (item_id) e id de pista (track_id), respectivamente) que se reservan desde el mismo espacio de valores. De acuerdo con una realización, puede indicarse un grupo alternativo como un conjunto de valores de identificador que puede resolverse para que sea los valores id de elemento (item_id) o los valores id de pista (track_id), con la condición de que los meta elementos y las pistas puedan indicarse que tienen valores de identificador (los valores id de elemento (item id) e id de pista (track_id), respectivamente) que se reservan desde el mismo espacio de valores. De acuerdo con una realización, una referencia a una imagen alternativa o secuencia de imágenes, se indica como uno o más valores de identificador. El valor o valores de identificador pueden resolverse para que sean los valores id de elemento (item_id) o los valores id de pista (track_id), con la condición de que los meta elementos y las pistas puedan indicarse que tienen valores de identificador (los valores id de elemento (item id) e id de pista (track_id), respectivamente) que se reservan desde el mismo espacio de valores. En algunas realizaciones, la referencia es una referencia de elemento que se generaliza para aplicarse también a las pistas; en algunas realizaciones la referencia es una referencia de pista que se generaliza para aplicarse también a los elementos; en algunas realizaciones la referencia puede ser tanto una referencia de elemento como una referencia de pista.
Las presentes realizaciones proporcionan ventajas. Las realizaciones proporcionan un mecanismo para agrupar elementos, una combinación de elementos y pistas o unos grupos más pequeños en grupos más grandes que representan alguna semántica común. La agrupación puede usarse por el lector de ficheros para decidir sobre el mejor uso del fichero.
En lo anterior, se han descrito algunas realizaciones con referencia una sintaxis particular y/o semántica particular. Es necesario que se entienda que las realizaciones no están limitadas a estas piezas de sintaxis y/o semántica particulares, sino que podrían realizarse de manera similar con otra sintaxis o semántica.
En lo anterior, se han descrito algunas realizaciones para el formato de fichero de imagen MPEG-H y/o el formato de fichero de medios de base ISO. Es necesario que se entienda que la técnica no está limitada a este formato de fichero, sino que podría describirse de manera similar para otros formatos de fichero, tal como Matroska.
En lo anterior, se han descrito algunas realizaciones en relación con elementos de imagen. Es necesario que se entienda que pueden aplicarse las realizaciones a cualquier tipo de elementos y/u otras entidades. Por ejemplo, pueden almacenarse metadatos fotográficos usando un primer elemento que contiene metadatos formateados de acuerdo con los metadatos del formato de fichero de imagen intercambiable (Exif) y un segundo elemento que contiene metadatos formateados de acuerdo con la especificación de la Plataforma de Metadatos Extensible (XMP). Cuando el primer elemento y el segundo elemento representan los mismos metadatos, puede indicarse que son equivalentes usando el mecanismo de agrupación de entidad (por ejemplo, tipo de agrupación 'eqvl' como se ha descrito anteriormente). Pueden especificarse otras realizaciones, con otros tipos de agrupación, por ejemplo una relación de superconjunto donde un primer elemento enumerado es semánticamente un superconjunto de un segundo elemento enumerado en la misma agrupación.
En lo anterior, se han descrito algunas realizaciones en relación con un reproductor o un reproductor de ficheros. Es necesario que se entienda que podrían usarse otros términos de manera intercambiable, tales como lector, analizador, agente de usuario o cliente. Es necesario que se entienda que un reproductor puede, pero no necesita ser una aplicación independiente. Un reproductor puede integrarse, por ejemplo, en un explorador web y/o puede ser un componente dentro de una cadena o gráfico de filtro de procesamiento de medios.
En lo anterior, se han descrito algunas realizaciones en relación con un creador de fichero. Es necesario que se entienda que podrían usarse otros términos de manera intercambiable, tales como escritor, escritor de fichero, generador de fichero o proveedor de contenido. Es necesario que se entienda que un creador puede, pero no necesita ser una aplicación independiente. Un creador de fichero puede integrarse, por ejemplo, en un servidor web, por ejemplo, usando guiones y/puede ser un componente dentro de una cadena o gráfico de filtro de procesamiento de medios.
Las diversas realizaciones de la invención pueden implementarse con la ayuda de código de programa informático que reside en una memoria y hace que los aparatos relevantes lleven a cabo la invención. Por ejemplo, un dispositivo puede comprender circuitería y electrónica para manejar, recibir y transmitir datos, código de programa informático en una memoria, y un procesador que, cuando ejecuta el código de programa informático, hace que el dispositivo lleve a cabo las características de una realización. Además, un dispositivo de red como un servidor puede comprender circuitería y electrónica para manejar, recibir y transmitir datos, código de programa informático en una memoria, y un procesador que, cuando ejecuta el código de programa informático, hace que el dispositivo de red lleve a cabo las características de una realización.
Las diversas realizaciones pueden implementarse adicionalmente por un producto de programa informático que comprende un medio legible por ordenador que lleva código de programa informático incorporado en el mismo para su uso con un ordenador, comprendiendo el código de programa informático: incluir un elemento de medios estático en un fichero de contenedor; incluir una pista de medios en el fichero de contenedor; indicar, en el fichero, que el elemento de medios estático y la pista de medios forman un grupo; e indicar, en el fichero, un tipo de agrupación para el grupo. Además, las diversas realizaciones pueden implementarse adicionalmente mediante un producto de programa informático que comprende un medio legible por ordenador que lleva código de programa informático incorporado en el mismo para su uso con un ordenador, comprendiendo el código de programa informático: analizar, desde un fichero de contenedor, que un elemento de medios estático y una pista de medios forman un grupo; analizar, del fichero de contenedor, un tipo de agrupación para el grupo; determinar un procesamiento para el elemento de medios estático y la pista de medios basándose en el grupo y el tipo de agrupación.
Las diversas realizaciones pueden implementarse adicionalmente por un aparato que comprende medios para procesar; medios para codificar; medios para incluir un elemento de medios estático en un fichero de contenedor; medios para incluir una pista de medios en el fichero de contenedor; medios para indicar, en el fichero, que el elemento de medios estático y la pista de medios forman un grupo; y medios para indicar, en el fichero, un tipo de agrupación para el grupo. Además, las diversas realizaciones pueden implementarse adicionalmente por un aparato que comprende medios para procesar; medios para decodificar; medios para analizar, desde un fichero de contenedor, que un elemento de medios estático y una pista de medios forman un grupo; medios para analizar, desde el fichero de contenedor, un tipo de agrupación para el grupo; y medios para determinar un procesamiento para el elemento de medios estático y la pista de medios basándose en el grupo y el tipo de agrupación.
Es evidente que la presente invención no está limitada solamente a las realizaciones anteriormente presentadas, sino que puede modificarse dentro del alcance de las reivindicaciones adjuntas.

Claims (4)

REIVINDICACIONES
1. Un aparato para codificación configurado para:
incluir (810) al menos un elemento de medios estático como al menos una meta caja en un fichero de contenedor de acuerdo con el Formato de Fichero de Medios Base de la Organización de Normas Internacional ISO/IEC 14496-12 (ISOBMFF);
incluir (820) una o más pistas de medios en el fichero de contenedor como una o más cajas de pista de acuerdo con ISOBMFF, en donde el aparato está caracterizado por estar configurado para;
incluir (830) en el fichero de contenedor una caja (EntityToGroupBox) que especifica un grupo de entidades, en donde la caja (EntityToGroupBox) comprende una lista de valores de identificador de entidad que indican que el al menos un elemento de medios estático y la una o más pistas de medios son entidades del grupo de entidades, en donde la lista de valores de identificador de entidad comprende un valor de identificador de elemento para cada uno del al menos un elemento de medios estático y un valor de identificador de pista para cada una de la una o más pistas de medios; e
incluir (840) en la caja (EntityToGroupBox) del fichero de contenedor, un tipo de agrupación (grouping_type) para el grupo, en donde el tipo de agrupación indica que las entidades del grupo de entidades son alternativas entre sí para procesamiento.
2. Un aparato para decodificación configurado para:
- analizar (850)(860) desde un fichero de contenedor una caja que especifica un grupo de entidades, donde la caja comprende:
una lista de valores de identificador de entidad que indican al menos un elemento de medios estático y una o más pistas de medios como entidades del grupo de entidades, en donde la lista de valores de identificador de entidades comprende un valor de identificador de elemento para cada uno del al menos un elemento de medios estático y un valor de identificador de pista para cada una de la una o más pistas de medios, en donde el al menos un elemento de medios estático es al menos una meta caja de acuerdo con el Formato de Fichero de Medios de Base de la Organización de Normas Internacional ISO/IEC 14496-12 (ISOBMFF), en donde una o más pistas de medios son una o más cajas de pista de acuerdo con el ISOBMFF;
un tipo de agrupación para el grupo, en donde el tipo de agrupación indica que las entidades del grupo de entidades son alternativas entre sí para procesamiento; y determinar (870) desde el tipo de agrupación una entidad del grupo de entidades para procesamiento.
3. Un método de codificación que comprende:
- incluir (810) al menos un elemento de medios estático como al menos una meta caja en un fichero de contenedor de acuerdo con el Formato de Fichero de Medios de Base de la Organización de Normas Internacional ISO/IEC 14496-12 (ISOBMFF);
- incluir (820) una o más pistas de medios en el fichero de contenedor como una o más cajas de pista de acuerdo con el ISOBMFF, en donde el método está caracterizado por comprender adicionalmente;
- incluir (830) en el fichero de contenedor una caja que especifica un grupo de entidades, en donde la caja comprende una lista de valores de identificador de entidad que indican que el al menos un elemento de medios estático y la una o más pistas de medios son entidades del grupo de entidades, en donde la lista de valores de identificador de entidad comprende un valor de identificador de elemento para cada uno del al menos un elemento de medios estático y un valor de identificador de pista para cada una de la una o más pistas de medios; e
- incluir (840) en la caja del fichero de contenedor, un tipo de agrupación para el grupo, en donde el tipo de agrupación indica que las entidades del grupo de entidades son alternativas entre sí para procesamiento.
4. Un método de decodificación que comprende:
analizar (850) (860) desde un fichero de contenedor de acuerdo con el Formato de Fichero de Medios de Base de la Organización de Normas Internacional ISO/IEC 14496-12 (ISOBMFF) una caja que especifica un grupo de entidades, en donde la caja comprende:
una lista de valores de identificador de entidad que indican el al menos un elemento de medios estático y la una o más pistas de medios como entidades de un grupo, en donde la lista de valores de identificador de entidad comprende un valor de identificador de elemento para cada uno del al menos un elemento de medios estático y un valor de identificador de pista para cada una de la una o más pistas de medios, en donde el al menos un elemento de medios estático es al menos una meta caja de acuerdo con de acuerdo con el ISOBMFF, y en donde una o más pistas de medios son una o más cajas de pista de acuerdo con el ISOBMFF; y un tipo de agrupación para el grupo, en donde el tipo de agrupación indica que las entidades del grupo de entidades son alternativas entre sí para procesamiento; y
determinar (870) desde el tipo de agrupación una entidad del grupo de entidades para procesamiento.
ES16748775T 2015-02-10 2016-02-02 Un método, un aparato y un producto de programa informático para procesar pistas de secuencia de imágenes Active ES2888673T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/618,650 US9922680B2 (en) 2015-02-10 2015-02-10 Method, an apparatus and a computer program product for processing image sequence tracks
PCT/FI2016/050064 WO2016128613A1 (en) 2015-02-10 2016-02-02 A method, an apparatus and a computer program product for processing image sequence tracks

Publications (1)

Publication Number Publication Date
ES2888673T3 true ES2888673T3 (es) 2022-01-05

Family

ID=56567004

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16748775T Active ES2888673T3 (es) 2015-02-10 2016-02-02 Un método, un aparato y un producto de programa informático para procesar pistas de secuencia de imágenes

Country Status (9)

Country Link
US (1) US9922680B2 (es)
EP (1) EP3257261B1 (es)
JP (1) JP6496033B2 (es)
KR (1) KR102014628B1 (es)
CN (1) CN107534801B (es)
ES (1) ES2888673T3 (es)
PH (1) PH12017501443B1 (es)
PL (1) PL3257261T3 (es)
WO (1) WO2016128613A1 (es)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11197040B2 (en) * 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
GB2560921B (en) 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
JP2019054417A (ja) * 2017-09-15 2019-04-04 ソニー株式会社 画像処理装置およびファイル生成装置
JP7035401B2 (ja) * 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
JP7239029B2 (ja) * 2017-09-15 2023-03-14 ソニーグループ株式会社 画像処理装置およびファイル生成装置
GB2567625B (en) * 2017-10-12 2020-07-15 Canon Kk Method, device, and computer program for generating timed media data
JP7090730B2 (ja) * 2018-04-05 2022-06-24 キヤノン株式会社 ファイル内に画像をカプセル化するための方法及び装置
EP3777225A4 (en) * 2018-04-11 2021-12-08 Nokia Technologies Oy METHOD AND APPARATUS FOR REPORTING TYPES OF GROUPINGS IN AN IMAGE-CONTAINING FILE
JP7218105B2 (ja) * 2018-06-20 2023-02-06 キヤノン株式会社 ファイル生成装置、ファイル生成方法、処理装置、処理方法、及びプログラム
GB2575074B (en) 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
EP3857904A4 (en) * 2018-09-28 2022-06-22 Nokia Technologies Oy METHOD AND APPARATUS FOR ENABLING MULTIPLE TIMELINE SUPPORT FOR OMNIDIRECTIONAL CONTENT PLAYBACK
KR102655630B1 (ko) * 2018-10-08 2024-04-08 삼성전자주식회사 3차원 비디오 컨텐츠를 포함하는 미디어 파일을 생성하는 방법 및 장치 및 3차원 비디오 컨텐츠를 재생하는 방법 및 장치
US20220007088A1 (en) * 2018-12-10 2022-01-06 Nokia Technologies Oy An apparatus and a method for signaling information in a container file format
JP7303625B2 (ja) * 2018-12-18 2023-07-05 キヤノン株式会社 画像ファイル生成装置、画像ファイル生成方法、及びプログラム
US11457231B2 (en) 2019-03-15 2022-09-27 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
US20220150296A1 (en) * 2019-03-15 2022-05-12 Nokia Technologies Oy Method and apparatus for grouping entities in media content
US11245926B2 (en) * 2019-03-19 2022-02-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for track derivation for immersive media data tracks
WO2020205003A1 (en) 2019-04-01 2020-10-08 Google Llc Techniques to capture and edit dynamic depth images
WO2020255757A1 (ja) * 2019-06-18 2020-12-24 ソニー株式会社 ファイル処理装置、ファイル処理方法、及び、プログラム
GB2585052B (en) * 2019-06-26 2023-07-26 Canon Kk Method and apparatus for encapsulating panorama images in a file
KR20220027982A (ko) * 2019-07-01 2022-03-08 캐논 가부시끼가이샤 화상 파일 작성 장치, 화상 파일 작성 방법, 및 프로그램
KR102647019B1 (ko) * 2019-11-29 2024-03-12 지티이 코포레이션 멀티뷰 비디오 프로세싱 방법 및 장치
US20230027058A1 (en) * 2019-12-31 2023-01-26 Nokia Technologies Oy A Method, An Apparatus and A Computer Program Product for Video Encoding and Video Decoding
CN113542907B (zh) * 2020-04-16 2022-09-23 上海交通大学 多媒体数据收发方法、系统、处理器和播放器
CN115022715B (zh) 2020-06-04 2023-07-25 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法及设备
US11743441B2 (en) 2020-08-31 2023-08-29 Mediatek Singapore Pte. Ltd. Methods and apparatus for selecting and switching input video tracks using track derivations
CN112804256B (zh) * 2021-02-09 2022-05-24 腾讯科技(深圳)有限公司 多媒体文件中轨道数据的处理方法、装置、介质及设备
CN115883871A (zh) * 2021-08-23 2023-03-31 腾讯科技(深圳)有限公司 媒体文件封装与解封装方法、装置、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5466918A (en) * 1993-10-29 1995-11-14 Eastman Kodak Company Method and apparatus for image compression, storage, and retrieval on magnetic transaction cards
US6405283B1 (en) * 1999-11-23 2002-06-11 Roxio, Inc. Method for handling buffer under-run during disc recording
US7486602B2 (en) * 2002-12-10 2009-02-03 Koninklijke Philips Electronics N.V. Tilt control for reading information
SE0302778D0 (sv) * 2003-10-17 2003-10-17 Ericsson Telefon Ab L M Container format for multimedia presentations
JP4203812B2 (ja) * 2003-12-29 2009-01-07 ソニー株式会社 ファイル記録装置、ファイル記録方法、ファイル記録方法のプログラム、ファイル記録方法のプログラムを記録した記録媒体、ファイル再生装置、ファイル再生方法、ファイル再生方法のプログラム及びファイル再生方法のプログラムを記録した記録媒体
AU2007287222A1 (en) * 2006-08-24 2008-02-28 Nokia Corporation System and method for indicating track relationships in media files
US8365060B2 (en) * 2006-08-24 2013-01-29 Nokia Corporation System and method for indicating track relationships in media files
EP2314072B1 (en) * 2008-07-16 2014-08-27 SISVEL International S.A. Track and track-subset grouping for multi view video decoding.
ES2515967T3 (es) * 2008-10-07 2014-10-30 Telefonaktiebolaget L M Ericsson (Publ) Datos multimedia de múltiples vistas
CN102388613B (zh) * 2009-04-09 2014-04-30 瑞典爱立信有限公司 媒体容器文件管理
JP2011049927A (ja) * 2009-08-28 2011-03-10 Sanyo Electric Co Ltd 画像処理装置、およびそれを搭載した撮像装置
JP2012114909A (ja) * 2010-11-21 2012-06-14 Human Monitoring Ltd メディアデータを符号化および復号する方法およびシステム
US9357199B2 (en) * 2013-01-04 2016-05-31 Qualcomm Incorporated Separate track storage of texture and depth views for multiview coding plus depth

Also Published As

Publication number Publication date
EP3257261A1 (en) 2017-12-20
CN107534801B (zh) 2020-04-24
EP3257261A4 (en) 2018-12-26
CN107534801A (zh) 2018-01-02
PH12017501443A1 (en) 2018-01-15
KR102014628B1 (ko) 2019-08-26
JP2018513574A (ja) 2018-05-24
JP6496033B2 (ja) 2019-04-03
KR20170113657A (ko) 2017-10-12
US20160232939A1 (en) 2016-08-11
WO2016128613A1 (en) 2016-08-18
PL3257261T3 (pl) 2021-12-13
US9922680B2 (en) 2018-03-20
PH12017501443B1 (en) 2018-01-15
EP3257261B1 (en) 2021-08-25

Similar Documents

Publication Publication Date Title
ES2888673T3 (es) Un método, un aparato y un producto de programa informático para procesar pistas de secuencia de imágenes
US10979743B2 (en) Method, an apparatus, a computer program for video coding
US10979691B2 (en) Circular fisheye video in virtual reality
US11876994B2 (en) Description of image composition with HEVC still image file format
CN107431810B (zh) 用于图像编码和解码的装置、方法和计算机程序
KR102185811B1 (ko) 컨테이너 파일들 및 비디오 비트스트림들의 관심 영역들의 강화된 시그널링
KR102125162B1 (ko) 미디어 캡슐화 및 캡슐 해제 기법
ES2898452T3 (es) Señalización de la resolución espacial de las vistas de profundidad en el formato de archivo de codificación de múltiples vistas
US20180160156A1 (en) A method, an apparatus, a computer program for video coding
ES2843782T3 (es) Diseño de esquema restringido mejorado para vídeo
WO2020012070A1 (en) An apparatus, a method and a computer program for video coding and decoding