ES2896687T3 - Región más interesada en una imagen - Google Patents

Región más interesada en una imagen Download PDF

Info

Publication number
ES2896687T3
ES2896687T3 ES17724262T ES17724262T ES2896687T3 ES 2896687 T3 ES2896687 T3 ES 2896687T3 ES 17724262 T ES17724262 T ES 17724262T ES 17724262 T ES17724262 T ES 17724262T ES 2896687 T3 ES2896687 T3 ES 2896687T3
Authority
ES
Spain
Prior art keywords
regions
interested
data
video data
image
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
ES17724262T
Other languages
English (en)
Inventor
Ye-Kui Wang
Fnu Hendry
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2896687T3 publication Critical patent/ES2896687T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un procedimiento de transmisión continua de datos de video de realidad virtual, comprendiendo el procedimiento: recibir, mediante un procesador de un dispositivo cliente desde un dispositivo servidor, el procesador implementado en circuitos, datos representativos de una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video de 360 grados, los datos representativos de una o más regiones más interesadas que son externos a los datos de la capa de codificación de video (VCL) de un flujo de bits que incluye los datos de video; emitir, mediante el procesador del dispositivo cliente, una solicitud para buscar previamente datos de vídeo de relativamente alta calidad para una o más regiones más interesadas de una próxima imagen; recibir, mediante el procesador del dispositivo cliente, los datos de vídeo de relativamente alta calidad para una o más regiones de la imagen más interesadas; emitir, mediante el procesador del dispositivo cliente, después de emitir la solicitud para buscar previamente los datos de video de relativamente alta calidad, una solicitud para buscar datos de video de relativamente baja calidad para una o más regiones de la imagen, la solicitud de datos de video de relativamente baja calidad que incluye una indicación de una o más de otras regiones de la imagen; y recibir, mediante el procesador del dispositivo cliente, los datos de vídeo de relativamente baja calidad para una o más regiones de la imagen.

Description

DESCRIPCIÓN
Región más interesada en una imagen
La presente solicitud reivindica el beneficio de la Solicitud Provisional de los Estados Unidos Número 62/339,009, presentada el 19 de mayo de 2016.
Campo técnico
Esta divulgación se refiere al almacenamiento y transporte de datos de video codificados.
Antecedentes
Las capacidades de video digital pueden incorporarse en un amplio rango de dispositivos, incluidos televisores digitales, sistemas de difusión digital directa, sistemas de difusión inalámbrica, asistentes digitales personales (PDA), ordenadores portátiles o de escritorio, cámaras digitales, dispositivos de grabación digital, reproductores de medios digitales, dispositivos de video juegos, consolas de video juegos, teléfonos celulares o de radio por satélite, dispositivos de video conferencia y similares. Los dispositivos de video digital aplican técnicas de compresión de video, como las descritas en las normas definidas por MPEG-2, MPEG-4, UIT-T H.263 o UIT-T H.264/MPEG-4, Parte 10, Codificación de Video Avanzada (AVC), UIT-T H.265 (también denominada Codificación de Video de Alta Eficiencia (HEVC)), y extensiones de dichas normas, para transmitir y recibir información de video digital de manera más eficiente.
Las técnicas de compresión de video realizan predicciones espaciales y/o predicciones temporales para reducir o eliminar la redundancia inherente a las secuencias de video. Para la codificación de video basada en bloques, una trama o segmento de video puede particionarse en macrobloques o unidades de árbol de codificación (CTA). En el resto de este documento, los dos términos macrobloques y cTu se usan indistintamente. Cada macrobloque puede particionarse aún más. Los macrobloques de una trama o segmento intracodificado (I) se codifican al usar la predicción espacial con respecto a los macrobloques vecinos. Los macrobloques en una trama o segmento intercodificado (P o B) pueden usar la predicción espacial con respecto a los macrobloques vecinos en la misma trama o segmento o predicción temporal con respecto a otras tramas de referencia.
Después de que los datos de video se han codificado, los datos de video pueden empaquetarse para su transmisión o almacenamiento. Los datos de video pueden ensamblarse en un archivo de video de conformidad con cualquiera de una variedad de estándares, tal como el formato de archivos multimedia base de la Organización Internacional de Normalización (ISO) y sus extensiones, tal como el formato de archivo AVC.
Después de que los datos de video se han empaquetado para su transmisión o almacenamiento, un dispositivo cliente puede solicitar los datos de video empaquetados con una calidad adecuada. Por ejemplo, el dispositivo cliente puede solicitar los datos de video empaquetados a una relativamente alta calidad cuando un ancho de banda entre el dispositivo cliente y un dispositivo de video digital que transmite el video empaquetado es alto y solicitar los datos de video empaquetados a una relativamente baja calidad cuando un ancho de banda entre el dispositivo cliente y un dispositivo de video digital que transmite el video empaquetado es bajo. 2. El documento WO2015/197815 divulga la determinación de una región de interés (ROI) para un dispositivo cliente sobre la base de al menos un flujo de video en mosaico (panorama) HEVC al usar información de posición de ROI.
Sumario
En general, esta divulgación describe técnicas para generar un flujo de bits que incluye datos representativos de una o más regiones más interesadas de una imagen de datos de video. Es más probable que las regiones más interesadas de una imagen se representan al usuario en el momento de la presentación de la imagen en comparación con las otras regiones de la imagen. Un dispositivo puede usar una o más regiones más interesadas para buscar previamente datos de video para una o más regiones más interesadas. Por ejemplo, el dispositivo puede buscar datos de video para una o más regiones más interesadas con una latencia más baja y/o con una calidad más alta a los datos de video para las otras regiones de la imagen, donde el dispositivo puede referirse a una entidad que contiene el decodificador de video, un elemento de red como un nodo de red de entrega de contenido (CDN), u otra entidad.
En un ejemplo, un procedimiento para determinar información para los datos de video incluye determinar, por un procesador de un dispositivo cliente, del procesador implementado en los circuitos, de una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base a datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos de la capa de codificación de video (VCL) de un flujo de bits que incluye los datos de video. El procedimiento incluye además emitir, por parte del procesador del dispositivo cliente, una solicitud de datos de video de relativamente alta calidad para una o más regiones más interesadas de la imagen y emitir, por parte del procesador del dispositivo cliente, después de emitir la solicitud de los datos de video de relativamente alta calidad, una solicitud de datos de video de relativamente baja calidad para una o más regiones de la imagen.
En otro ejemplo, un dispositivo para determinar información para datos de video incluye uno o más procesadores implementados en circuitos que se configuran para determinar una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base al documento 1414-259WO01 en datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video. Uno o más procesadores se configuran además para emitir una solicitud de datos de video de relativamente alta calidad para una o más regiones más interesadas de la imagen y emitir, después de emitir la solicitud de datos de video de relativamente alta calidad, una solicitud de datos de video de relativamente baja calidad para una o más regiones de la imagen.
En otro ejemplo, un dispositivo para determinar la información de los datos de video incluye medios para determinar una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base a datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video. El dispositivo incluye además medios para emitir una solicitud de datos de video de relativamente alta calidad para una o más regiones más interesadas de la imagen y medios para emitir después de emitir la solicitud de datos de video de relativamente alta calidad, una solicitud de datos de video de relativamente baja calidad para una o más regiones de la imagen.
En otro ejemplo, un producto de programa informático incluye un medio de almacenamiento legible por ordenador que comprende instrucciones que, cuando se ejecutan, hacen que un procesador de un dispositivo de origen para determinar la información de los datos de video determine una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base a los datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video. Las instrucciones provocan además que el procesador emita una solicitud de datos de video de relativamente alta calidad para una o más regiones más interesadas de la imagen y emita, después de emitir la solicitud de datos de video de relativamente alta calidad, una solicitud de datos de video de relativamente baja calidad para una o más otras regiones de la imagen.
En otro ejemplo, un procedimiento de señalización de información para datos de video incluye determinar, por un procesador de un dispositivo de origen, del procesador implementado en circuitos, de una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video. La una o más regiones más interesadas que comprenden una o más regiones que tienen más probabilidades de ser recuperadas por un dispositivo cliente. El procedimiento incluye además generar, por el procesador del dispositivo de origen, de datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video.
En otro ejemplo, un dispositivo para señalizar información para datos de video incluye uno o más procesadores implementados en circuitos que se configuran para determinar una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video. Una o más regiones más interesadas, incluidas las regiones tienen más probabilidades de ser recuperadas por un dispositivo cliente. Uno o más procesadores que se configuran además para generar datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video.
En otro ejemplo, un dispositivo para señalizar información para datos de video incluye medios para determinar una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video. La una o más regiones más interesadas que comprenden una o más regiones que tienen más probabilidades de ser recuperadas por un dispositivo cliente. El dispositivo incluye además medios para generar datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video.
En otro ejemplo, un producto de programa informático incluye un medio de almacenamiento legible por ordenador que comprende instrucciones que hacen que un procesador determine una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de vídeo. La una o más regiones más interesadas que comprenden una o más regiones que tienen más probabilidades de ser recuperadas por un dispositivo cliente. Las instrucciones hacen además que el procesador genere datos representativos de una o más regiones más interesadas. Los datos representativos de una o más regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video.
Los detalles de uno o más ejemplos se establecen en los dibujos acompañantes y en la descripción de más abajo. Otras características, objetivos y ventajas serán evidentes a partir de la descripción y los dibujos, y a partir de las reivindicaciones.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques que ilustra un sistema de ejemplo que implementa técnicas para los datos multimedia de transmisión continua sobre una red.
La Figura 2 es un diagrama conceptual que ilustra los elementos de contenido multimedia de ejemplo.
La Figura 3 es un diagrama de bloques que ilustra elementos de un archivo de video de ejemplo, que puede corresponder a una representación de la Figura 2.
La Figura 4 es un diagrama conceptual que ilustra un ejemplo de codificación de mosaico en una proyección cuboidal.
La Figura 5 es un diagrama de flujo que ilustra un enfoque de ejemplo para determinar la información de los datos de video de acuerdo con una o más técnicas descritas en esta divulgación.
La Figura 6 es un diagrama de flujo que ilustra un enfoque de ejemplo para señalar la información de los datos de video de acuerdo con una o más técnicas descritas en esta divulgación.
La Figura 7 es un diagrama de flujo que ilustra un enfoque de ejemplo para buscar previamente datos de video de acuerdo con una o más técnicas descritas en esta divulgación.
Descripción detallada
La presente invención se refiere a la realidad virtual (VR). Más específicamente, la presente invención divulga algunos procedimientos para la creación de un conjunto de una o más regiones más interesadas en video de VR, señalización de información de las regiones más interesadas y uso de la información en la codificación, transmisión continua, reproducción y gestión de contenido de video de VR.
En general, esta divulgación describe técnicas para generar contenido de video que incluye datos representativos de una o más regiones más interesadas de una imagen de datos de video. Un director o productor puede seleccionar una o más regiones más interesadas o un dispositivo informático puede derivar una o más regiones más interesadas de las estadísticas de usuario de un proveedor de servicios o contenidos, por ejemplo, a través de las estadísticas de qué regiones se han solicitado/más visto por los usuarios cuando el contenido de video omnidireccional se proporcionó a través de un servicio de transmisión continua. En cualquier caso, un dispositivo cliente puede usar una o más regiones más interesadas para buscar previamente datos de video para una o más regiones más interesadas para mejorar la reproducción de un video, como un video de realidad virtual, que también se conoce como video 360.
Específicamente, un dispositivo cliente puede determinar, por ejemplo, al usar información recibida en un encabezado o mensaje para transmitir datos de la capa de codificación de video de un flujo de bits, datos representativos de una o más regiones más interesadas. Al determinar una o más regiones más interesadas a partir de los datos representativos de una o más regiones más interesadas, el dispositivo cliente puede solicitar una o más regiones más interesadas en una relativamente alta calidad. Después de solicitar una o más regiones más interesadas en la relativamente alta calidad, el dispositivo cliente puede solicitar una o más regiones de la imagen en una relativamente más baja calidad a la alta calidad en base a un campo de visión (FOV) del usuario. De esta manera, la una o más regiones más interesadas pueden buscarse previamente (por ejemplo, buscarse antes de recibir el FOV del usuario) para permitir que la una o más regiones más interesadas se reciban en alta calidad, mejorando de esta manera la reproducción de un video, como un video de realidad virtual. Es decir, un dispositivo puede usar la una o más regiones más interesadas para buscar previamente datos de video para la una o más regiones más interesadas. Por ejemplo, el dispositivo puede buscar los datos de video para una o más regiones más interesadas con una latencia más baja y/o con una calidad más alta a los datos de video para las otras regiones de la imagen, donde el dispositivo puede referirse a una entidad que contiene el decodificador de video, un elemento de red como un nodo de red de entrega de contenido (CDN), u otra entidad.
Las técnicas de esta divulgación pueden aplicarse a archivos de video de conformidad con los datos de video encapsulados de acuerdo con cualquier formato de archivo de medios base ISO, formato de archivo de Codificación de Video Escalable (SVC), formato de archivo de Codificación de Video Avanzada (AVC), formato de archivo de Proyecto de Asociación de Tercera Generación (3GPP) y/o formato de archivo de Codificación de Video Multivista (MVC) u otros formatos de archivo de video similares.
En la transmisión continua HTTP, las operaciones usadas con frecuencia incluyen HEAD, GET y GET parcial. La operación HEAD recupera un encabezado de un archivo asociado con un localizador uniforme de recursos (URL) o un nombre de recurso uniforme (URN) dado, sin recuperar una carga útil asociada con la URL o URN. La operación GET recupera un archivo completo asociado con una URL o URN dada. La operación GET parcial recibe un rango de bytes como parámetro de entrada y recupera un número continuo de bytes de un archivo, donde el número de bytes corresponde al rango de bytes recibido. Por tanto, pueden proporcionarse los fragmentos de película para la transmisión continua HTTP, porque una operación GET parcial puede obtener uno o más fragmentos de película individuales. En un fragmento de película, puede haber varios fragmentos de pista de diferentes pistas. En la transmisión continua HTTP, una presentación multimedia puede ser una colección estructurada de datos a la que puede acceder el cliente. El cliente puede solicitar y descargar la información de los datos multimedia para presentar un servicio de transmisión continua a un usuario.
En el ejemplo de transmisión continua de datos 3GPP mediante el uso de transmisión continua HTTP, puede haber múltiples representaciones para datos de video y/o audio de contenido multimedia. Como se explica más abajo, las diferentes representaciones pueden corresponder a diferentes características de codificación (por ejemplo, diferentes perfiles o niveles de un estándar de codificación de video), diferentes estándares de codificación o extensiones de estándares de codificación (tal como extensiones multivista y/o escalables) o diferentes velocidades de bits. El manifiesto de tales representaciones puede definirse en una estructura de datos de Descripción de Presentación Multimedia (MPD). Una presentación multimedia puede corresponder a una colección estructurada de datos a la que puede acceder un dispositivo cliente de transmisión continua HTTP. El dispositivo cliente de transmisión continua HTTP puede solicitar y descargar la información de datos multimedia para presentar un servicio de transmisión continua a un usuario del dispositivo cliente. Puede describirse una presentación multimedia en la estructura de datos de la MPD, que puede incluir las actualizaciones de la MPD.
Una presentación multimedia puede contener una secuencia de uno o más períodos. Cada período puede extenderse hasta el inicio del siguiente Período o hasta el final de la presentación multimedia, en el caso del último período. Cada período puede contener una o más representaciones para el mismo contenido multimedia. Una representación puede ser una de un número de versiones codificadas alternativas de audio, video, texto temporizado u otros datos similares. Las representaciones pueden diferir por los tipos de codificación, por ejemplo, por velocidad de bits, resolución y/o códec para los datos de video y velocidad de bits, idioma y/o códec para los datos de audio. El término representación puede usarse para referirse a una sección de datos de audio o video codificados correspondiente a un período particular del contenido multimedia y codificados de una manera particular.
Las representaciones de un período particular pueden asignarse a un grupo indicado por un atributo en la MPD indicativa de un conjunto de adaptación al que pertenecen las representaciones. Las representaciones en el mismo conjunto de adaptación se consideran generalmente alternativas entre sí, en el sentido de que un dispositivo cliente puede conmutar de forma dinámica y sin problemas entre estas representaciones, por ejemplo, para realizar una adaptación de ancho de banda. Por ejemplo, cada representación de datos de video para un período particular puede asignarse al mismo conjunto de adaptación, de manera que cualquiera de las representaciones puede seleccionarse para la decodificación para presentar los datos multimedia, tales como los datos de video o los datos de audio, del contenido multimedia para el período correspondiente. El contenido multimedia dentro de un período puede representarse por una representación del grupo 0, si está presente, o la combinación de como máximo una representación de cada grupo distinto de cero, en algunos ejemplos. Los datos de tiempo para cada representación de un período pueden expresarse en relación con la hora de inicio del período.
Una representación puede incluir uno o más segmentos. Cada representación puede incluir un segmento de inicialización o cada segmento de una representación puede inicializarse automáticamente. Cuando está presente, el segmento de inicialización puede contener la información de inicialización para acceder a la representación. En general, el segmento de inicialización no contiene los datos multimedia. Un segmento puede ser una referencia únicamente mediante un identificador, tal como un localizador uniforme de recursos (URL), el nombre de recursos uniforme (URN) o el identificador de recursos uniforme (URI). La MPD puede proporcionar los identificadores para cada segmento. En algunos ejemplos, el MPD también puede proporcionar los rangos de bytes en forma de atributo de rango, que puede corresponder a los datos de un segmento dentro de un archivo accesible por la URL, URN o URI
Pueden seleccionarse diferentes representaciones para la recuperación sustancialmente simultánea para diferentes tipos de datos multimedia. Por ejemplo, un dispositivo cliente puede seleccionar una representación de audio, una representación de video y una representación de texto temporizado de la que recuperar los segmentos. En algunos ejemplos, el dispositivo cliente puede seleccionar los conjuntos de adaptación particulares para realizar la adaptación del ancho de banda. Es decir, el dispositivo cliente puede seleccionar un conjunto de adaptación que incluye las representaciones de video, un conjunto de adaptación que incluye las representaciones de audio y/o un conjunto de adaptación que incluye el texto temporizado. Alternativamente, el dispositivo cliente puede seleccionar los conjuntos de adaptación para determinados los tipos de multimedia (por ejemplo, video) y seleccionar directamente las representaciones para otros tipos de multimedia (por ejemplo, audio y/o texto temporizado).
La Figura 1 es un diagrama de bloques que ilustra un sistema 10 de ejemplo que implementa técnicas para los datos multimedia de transmisión continua sobre una red. En este ejemplo, el sistema 10 incluye el dispositivo de preparación de contenido 20, el dispositivo servidor 60 y el dispositivo cliente 40. El dispositivo cliente 40 y el dispositivo servidor 60 se acoplan comunicativamente por la red 74, que puede comprender Internet. En algunos ejemplos, el dispositivo de preparación de contenido 20 y el dispositivo servidor 60 también pueden acoplarse por la red 74 u otra red, o pueden acoplarse directamente comunicativamente. En algunos ejemplos, el dispositivo de preparación de contenido 20 y el dispositivo servidor 60 pueden comprender el mismo dispositivo.
El dispositivo de preparación de contenido 20, en el ejemplo de la Figura 1, comprende la fuente de audio 22 y la fuente de video 24. La fuente de audio 22 puede comprender, por ejemplo, un micrófono que produce señales eléctricas representativas de los datos de audio capturados para ser codificados por el codificador de audio 26. Alternativamente, la fuente de audio 22 puede comprender un medio de almacenamiento que almacena los datos de audio previamente grabados, un generador de datos de audio tal como un sintetizador computarizado o cualquier otra fuente de datos de audio. La fuente de video 24 puede comprender una cámara de video que produce los datos de video para ser codificados por el codificador de video 28, un medio de almacenamiento codificado con los datos de video previamente grabados, una unidad de generación de datos de video tal como una fuente de gráficos por ordenador o cualquier otra fuente de datos de video. El dispositivo de preparación de contenido 20 no se acopla necesariamente de forma comunicativa al dispositivo servidor 60 en todos los ejemplos, pero puede almacenar el contenido multimedia en un medio separado que es leído por el dispositivo servidor 60.
Los datos de audio y video sin procesar pueden comprender los datos analógicos o digitales. Los datos analógicos pueden digitalizarse antes de que sean codificados por el codificador de audio 26 y/o el codificador de video 28. La fuente de audio 22 puede obtener los datos de audio de un participante que habla mientras que el participante que habla está hablando y la fuente de video 24 puede obtener simultáneamente los datos de video del participante que habla. En otros ejemplos, la fuente de audio 22 puede comprender un medio de almacenamiento legible por ordenador que comprende los datos de audio almacenados y la fuente de video 24 puede comprender un medio de almacenamiento legible por ordenador que comprende los datos de video almacenados. De esta manera, las técnicas descritas en esta divulgación pueden aplicarse a los datos de audio y video en tiempo real, en transmisión continua y en vivo o a los datos de audio y video pregrabados y archivados.
Las tramas de audio que corresponden a las tramas de video son generalmente tramas de audio que contienen los datos de audio que fueron capturados (o generados) por la fuente de audio 22 contemporáneamente con los datos de video capturados (o generados) por la fuente de video 24 que se contienen dentro de las tramas de video. Por ejemplo, mientras que un participante que habla generalmente produce los datos de audio al hablar, la fuente de audio 22 captura los datos de audio y la fuente de video 24 captura los datos de video del participante que habla al mismo tiempo, es decir, mientras que la fuente de audio 22 está capturando los datos de audio. Por tanto, una trama de audio puede corresponder temporalmente a una o más tramas de video particulares. En consecuencia, una trama de audio que corresponde a una trama de video generalmente corresponde a una situación en la que los datos de audio y los datos de video fueron capturados al mismo tiempo y para la cual una trama de audio y una trama de video comprenden, respectivamente, los datos de audio y los datos de video que fueron capturados al mismo tiempo.
En algunos ejemplos, el codificador de audio 26 puede codificar una marca de tiempo en cada trama de audio codificada que representa un momento en el que se grabaron los datos de audio para la trama de audio codificada y de manera similar, el codificador de video 28 puede codificar una marca de tiempo en cada trama de video codificada que representa un momento en el que se grabaron los datos de video para la trama de video codificada. En tales ejemplos, una trama de audio que corresponde a una trama de video puede comprender una trama de audio que comprende una marca de tiempo y una trama de video que comprende la misma marca de tiempo. El dispositivo de preparación de contenido 20 puede incluir un reloj interno desde el cual el codificador de audio 26 y/o el codificador de video 28 pueden generar las marcas de tiempo o que la fuente de audio 22 y la fuente de video 24 pueden usar para asociar los datos de audio y video, respectivamente, con una marca de tiempo.
En algunos ejemplos, la fuente de audio 22 puede enviar los datos al codificador de audio 26 que corresponde a un momento en el que se grabaron los datos de audio y la fuente de video 24 puede enviar los datos al codificador de video 28 que corresponde a un momento en el que se grabaron los datos de video. En algunos ejemplos, el codificador de audio 26 puede codificar un identificador de secuencia en los datos de audio codificados para indicar un orden temporal relativo de los datos de audio codificados, pero sin indicar necesariamente un momento absoluto en el que se grabaron los datos de audio y de manera similar, el codificador de video 28 también puede usar los identificadores de secuencia para indicar un orden temporal relativo de los datos de video codificados. De manera similar, en algunos ejemplos, un identificador de secuencia puede mapearse o correlacionarse de otro modo con una marca de tiempo.
El codificador de audio 26 generalmente produce una transmisión de datos de audio codificados, mientras que el codificador de video 28 produce una transmisión de los datos de video codificados. Cada transmisión de datos individual (ya sea de audio o video) puede denominarse transmisión elemental. Una transmisión elemental es un único componente codificado digitalmente (posiblemente comprimido) de una representación. Por ejemplo, la parte codificada de video o audio de la representación puede ser una transmisión elemental. Una transmisión elemental puede convertirse en una transmisión elemental empaquetada (PES) antes de encapsularse dentro de un archivo de video. Dentro de la misma representación, puede usarse un ID de transmisión para distinguir los paquetes PES que pertenecen a una transmisión elemental del otro. La unidad básica de datos de una transmisión elemental es un paquete de transmisión elemental empaquetada (PES). Por tanto, los datos de video codificados generalmente corresponden a transmisiones de video elementales. De manera similar, los datos de audio corresponden a una o más transmisiones elementales respectivas.
Muchos estándares de codificación de video, tal como el ITU-T H.264/AVC y el próximo estándar de Codificación de Video de Alta Eficiencia (HEVC), definen la sintaxis, la semántica y el procedimiento de decodificación para flujos de bits sin errores, cualquiera de los cuales se ajusta a un determinado perfil o nivel. Los estándares de codificación de video típicamente no especifican el codificador, pero el codificador tiene la tarea de garantizar que los flujos de bits generados sean compatibles con el estándar para un decodificador. En el contexto de los estándares de codificación de video, un "perfil" corresponde a un subconjunto de algoritmos, características o herramientas y restricciones que se les aplican. Como se define por el estándar H.264, por ejemplo, un "perfil" es un subconjunto de toda la sintaxis del flujo de bits que se especifica por el estándar H.264. Un "nivel" corresponde a las limitaciones del consumo de recursos del decodificador, tales como, por ejemplo, la memoria y el cálculo del decodificador, que se relacionan con la resolución de las imágenes, la velocidad de bits y la velocidad de procesamiento de bloques. Un perfil puede señalarse con un valor de idc de perfil (indicador de perfil), mientras que un nivel puede señalarse con un valor de niveljdc (indicador de nivel).
El estándar H.264, por ejemplo, reconoce que, dentro de los límites impuestos por la sintaxis de un perfil dado, aún es posible requerir una gran variación en el rendimiento de los codificadores y decodificadores que depende de los valores tomados por los elementos de sintaxis en el flujo de bits tal como el tamaño especificado de las imágenes decodificadas. El estándar H.264 reconoce además que, en muchas aplicaciones, no es práctico ni económico implementar un decodificador capaz de tratar con todos los usos hipotéticos de la sintaxis dentro de un perfil particular. En consecuencia, el estándar H.264 define un "nivel" como un conjunto específico de restricciones impuestas a los valores de los elementos de sintaxis en el flujo de bits. Estas restricciones pueden ser simples límites de valores. Alternativamente, estas restricciones pueden tomar la forma de restricciones sobre combinaciones aritméticas de valores (por ejemplo, el ancho de la imagen multiplicado por el alto de la imagen multiplicado por el número de imágenes decodificadas por segundo). El estándar H.264 proporciona además, que las implementaciones individuales pueden soportar un nivel diferente para cada perfil soportado.
Un decodificador de conformidad con un perfil normalmente soporta todas las características definidas en el perfil. Por ejemplo, como una característica de codificación, la codificación de imagen B no se soporta en el perfil básico de H.264/AVC, pero sí se soporta en otros perfiles de H.264/AVC. Un decodificador de conformidad con un nivel debería ser capaz de decodificar cualquier flujo de bits que no requiera recursos más allá de las limitaciones definidas en el nivel. Las definiciones de perfiles y niveles pueden ser útiles para la interpretabilidad. Por ejemplo, durante la transmisión de video, pueden negociarse y acordarse un par de definiciones de perfil y nivel para una sesión de transmisión completa. Más específicamente, en H.264/AVC, un nivel puede definir las limitaciones en el número de macrobloques que necesitan procesarse, el tamaño de búfer de la imagen decodificada (DPB), el tamaño de búfer de la imagen codificada (CPB), el rango de vector de movimiento vertical, el número máximo de vectores de movimiento por dos MB consecutivos y si un bloque B puede tener particiones de submacrobloques de menos de 8x8 píxeles. De esta manera, un decodificador puede determinar si el decodificador es capaz de decodificar correctamente el flujo de bits.
En el ejemplo de la Figura 1, la unidad de encapsulación 30 del dispositivo de preparación de contenido 20 recibe las transmisiones elementales que comprenden los datos de video codificados del codificador de video 28 y las transmisiones elementales que comprenden los datos de audio codificados del codificador de audio 26. En algunos ejemplos, el codificador de video 28 y el codificador de audio 26 pueden incluir cada uno empaquetadores para formar paquetes PES de los datos codificados. En otros ejemplos, el codificador de video 28 y el codificador de audio 26 pueden interactuar cada uno con los respectivos empaquetadores para formar paquetes PES a partir de los datos codificados. En otros ejemplos más, la unidad de encapsulación 30 puede incluir empaquetadores para formar paquetes PES de los datos de audio y video codificados.
El codificador de video 28 puede codificar los datos de video de contenido multimedia en una variedad de formas, para producir diferentes representaciones del contenido multimedia a varias velocidades de bits y con varias características, tales como resoluciones de píxeles, velocidades de trama, conformidad con varios estándares de codificación, conformidad con varios perfiles y/o niveles de perfiles para varios estándares de codificación, representaciones que tienen una o múltiples vistas (por ejemplo, para reproducción bidimensional o tridimensional) u otras de tales características. Una representación, como se usa en esta divulgación, puede comprender uno de los datos de audio, datos de video, datos de texto (por ejemplo, para subtítulos) u otros de tales datos. La representación puede incluir una transmisión elemental, tal como una transmisión elemental de audio o una transmisión elemental de video. Cada paquete PES puede incluir un transm_id que identifica la transmisión elemental a la que pertenece el paquete PES. La unidad de encapsulación 30 es responsable de ensamblar las transmisiones elementales en los archivos de video (por ejemplo, los segmentos) de diversas representaciones.
La unidad de encapsulación 30 recibe los paquetes PES para las transmisiones elementales de una representación del codificador de audio 26 y el codificador de video 28 y forma las correspondientes unidades de capa de abstracción de red (NAL) de los paquetes PES. Los segmentos de video codificados pueden organizarse en unidades NAL, que proporcionan una representación de video "amigable con la red" que aborda las aplicaciones tales como la videotelefonía, el almacenamiento, la difusión o la transmisión continua. Las unidades NAL pueden clasificarse en unidades NAL de la Capa de Codificación de Video (VCL) y unidades NAL que no son VCL. Las unidades VCL (también conocidas como datos VCL) pueden contener el motor de comprensión central y pueden incluir datos de bloque, macrobloque y/o nivel de segmento. Otras unidades NAL pueden ser unidades NAL no VCL. En algunos ejemplos, una imagen codificada en una instancia de tiempo, normalmente presentada como una imagen codificada primaria, puede contenerse en una unidad de acceso, que puede incluir una o más unidades NAL.
Las unidades NAL no VCL pueden incluir unidades NAL del conjunto de parámetros y unidades NAL SEI, entre otras. Los conjuntos de parámetros pueden contener la información de encabezado a nivel de secuencia (en los conjuntos de parámetros de secuencia (SPS)) y la información de encabezado a nivel de imagen que cambia con poca frecuencia (en los conjuntos de parámetros de imagen (PPS)). Con los conjuntos de parámetros (por ejemplo, PPS y SPS), no es necesario repetir la información que cambia con poca frecuencia para cada secuencia o imagen, por tanto, puede mejorarse la eficiencia de codificación. Además, el uso de los conjuntos de parámetros puede permitir la transmisión fuera de banda de la información de encabezado importante, evitando la necesidad de las transmisiones redundantes para la resistencia a errores. En los ejemplos de transmisión fuera de banda, las unidades NAL del conjunto de parámetros pueden transmitirse en un canal diferente al de otras unidades NAL, tal como las unidades NAL SEI.
La Información de Mejora Complementaria (SEI) puede contener la información que no es necesaria para decodificar las muestras de imágenes codificadas de las unidades NAL VCL, pero puede ayudar en los procesos relacionados con la decodificación, visualización, resistencia a errores y otros propósitos. Los mensajes SEI pueden contenerse en las unidades NAL no VCL. Los mensajes SEI son la parte normativa de algunas especificaciones de estándar y, por lo tanto, no siempre son obligatorios para la implementación de los decodificadores que cumplen con los estándares. Los mensajes SEI pueden ser mensajes SEI de nivel de secuencia o mensajes SEI de nivel de imagen. Alguna información de nivel de secuencia puede contenerse en mensajes SEI, tal como los mensajes SEI de información de escalabilidad en el ejemplo de SVC y los mensajes SEI de información de escalabilidad de vista en MVC. Estos mensajes SEI de ejemplo pueden transmitir la información sobre, por ejemplo, la extracción de puntos de operación y las características de los puntos de operación. Además, la unidad de encapsulación 30 puede formar un archivo de manifiesto, tal como un descriptor de presentación multimedia (MPD) que describe las características de las representaciones. La unidad de encapsulación 30 puede formatear la MPD de acuerdo con el lenguaje de marcado extensible (XML).
La unidad de encapsulación 30 puede proporcionar los datos para una o más representaciones de contenido multimedia, junto con el archivo de manifiesto (por ejemplo, la MPD) a la interfaz de salida 32. La interfaz de salida 32 puede comprender una interfaz de red o una interfaz para escribir en un medio de almacenamiento, tal como una interfaz de bus serie universal (USB), un escritor o quemador de CD o DVD, una interfaz para medios de almacenamiento magnéticos o flash, u otras interfaces para almacenar o transmitir los datos multimedia. La unidad de encapsulación 30 puede proporcionar los datos de cada una de las representaciones de contenido multimedia a la interfaz de salida 32, que puede enviar los datos al dispositivo servidor 60 a través de los medios de almacenamiento o la transmisión de red. En el ejemplo de la Figura 1, el dispositivo servidor 60 incluye el medio de almacenamiento 62 que almacena varios contenidos multimedia 64, cada uno que incluye un archivo de manifiesto respectivo 66 y una o más representaciones 68A-68N (representaciones 68). En algunos ejemplos, la interfaz de salida 32 también puede enviar los datos directamente a la red 74.
En algunos ejemplos, las representaciones 68 pueden separarse en conjuntos de adaptación. Es decir, varios subconjuntos de representaciones 68 pueden incluir los conjuntos comunes de características respectivos, tales como el códec, el perfil y nivel, la resolución, el número de vistas, el formato de archivo para los segmentos, la información del tipo de texto que puede identificar un idioma u otras características del texto a visualizarse con la representación y/o los datos de audio para decodificarse y presentarse, por ejemplo, por altavoces, la información del ángulo de la cámara que puede describir un ángulo de la cámara o la perspectiva de la cámara del mundo real de una escena para las representaciones en el conjunto de adaptación, la información de clasificación que describe la idoneidad de los contenidos para audiencias particulares, o similares.
El archivo de manifiesto 66 puede incluir los datos indicativos de los subconjuntos de las representaciones 68 que corresponden a los conjuntos de adaptación particulares, así como también las características comunes para los conjuntos de adaptación. El archivo de manifiesto 66 también puede incluir los datos representativos de las características individuales, tales como las velocidades de bits, para las representaciones individuales de los conjuntos de adaptación. De esta manera, un conjunto de adaptación puede proporcionar una adaptación simplificada del ancho de banda de la red. Las representaciones en un conjunto de adaptación pueden indicarse mediante el uso de los elementos secundarios de un elemento del conjunto de adaptación del archivo de manifiesto 66.
El dispositivo servidor 60 incluye la unidad de procesamiento de solicitudes 70 y la interfaz de red 72. En algunos ejemplos, el dispositivo servidor 60 puede incluir una pluralidad de interfaces de red. Además, cualquiera o todas las características del dispositivo servidor 60 pueden implementarse en otros dispositivos de una red de entrega de contenido, tales como enrutadores, puentes, dispositivos proxy, conmutadores u otros dispositivos. En algunos ejemplos, los dispositivos intermedios de una red de entrega de contenido pueden almacenar en caché los datos de contenido multimedia 64 e incluir los componentes de conformidad sustancialmente con los del dispositivo servidor 60. En general, la interfaz de red 72 se configura para enviar y recibir los datos a través de la red 74.
La unidad de procesamiento de solicitudes 70 se configura para recibir las solicitudes de red de los dispositivos cliente, tales como el dispositivo cliente 40, para los datos del medio de almacenamiento 62. Por ejemplo, la unidad de procesamiento de solicitudes 70 puede implementar el protocolo de transferencia de hipertexto (HTTP) versión 1,1, como se describe en el documento RFC 2616, "Hypertext Transfer Protocol — HTTP/1,1", de R. Fielding y otros, Network Working Group, IETF, junio de 1999. Es decir, la unidad de procesamiento de solicitudes 70 puede configurarse para recibir las solicitudes HTTP GET o GET parciales y proporcionar los datos de contenido multimedia 64 en respuesta a las solicitudes. Las solicitudes pueden especificar un segmento de una de las representaciones 68, por ejemplo, mediante el uso de una URL del segmento. En algunos ejemplos, las solicitudes también pueden especificar uno o más rangos de bytes del segmento, por tanto, comprenden las solicitudes GET parciales. La unidad de procesamiento de solicitudes 70 puede configurarse además para atender las solicitudes HTTP HEAD para proporcionar los datos de encabezado de un segmento de una de las representaciones 68. En cualquier caso, la unidad de procesamiento de solicitudes 70 puede configurarse para procesar las solicitudes para proporcionar los datos solicitados a un dispositivo solicitante, tal como el dispositivo cliente 40.
Adicional o alternativamente, la unidad de procesamiento de solicitudes 70 puede configurarse para entregar los datos multimedia a través de un protocolo de difusión o multidifusión, tal como eMBMS. El dispositivo de preparación de contenido 20 puede crear los segmentos y/o subsegmentos DASH sustancialmente de la misma manera que se describe, pero el dispositivo servidor 60 puede entregar estos segmentos o subsegmentos mediante el uso de eMBMS u otro protocolo de transporte de red de difusión o multidifusión. Por ejemplo, la unidad de procesamiento de solicitudes 70 puede configurarse para recibir una solicitud de unión a un grupo de multidifusión desde el dispositivo cliente 40. Es decir, el dispositivo servidor 60 puede anunciar una dirección de protocolo de Internet (IP) asociada con un grupo de multidifusión a los dispositivos cliente, incluido el dispositivo cliente 40, asociado con el contenido multimedia particular (por ejemplo, una difusión de un evento en vivo). El dispositivo cliente 40, a su vez, puede enviar una solicitud para unirse al grupo de multidifusión. Esta solicitud puede propagarse a través de la red 74, por ejemplo, los enrutadores que forman la red 74, de manera que los enrutadores se encarguen de dirigir el tráfico destinado a la dirección IP asociada con el grupo de multidifusión a los dispositivos cliente suscritos, tal como el dispositivo cliente 40.
La unidad de procesamiento de solicitudes 70 puede configurarse para ensamblar datos de solicitudes. Por ejemplo, la unidad de procesamiento de solicitudes 70 puede extraer, de cada solicitud de los dispositivos cliente, una indicación de una o más regiones de una imagen que se han solicitado. Por ejemplo, la unidad de procesamiento de solicitudes 70 puede extraer el campo de visión de un usuario para una imagen en particular de una solicitud del dispositivo cliente 40. Después de la extracción, la unidad de procesamiento de solicitudes 70 puede generar una entrada en una tabla o base de datos que indique, para cada imagen, una o más regiones del campo de visión de un usuario que fueron solicitadas por un dispositivo cliente. (por ejemplo, dispositivo cliente 40).
La unidad de procesamiento de solicitudes 70 puede derivar una o más regiones más interesadas a partir de los datos reunidos. Más específicamente, por ejemplo, en respuesta a la determinación de que una o más regiones de una imagen son las regiones de la imagen solicitadas con más frecuencia en comparación con otras regiones de la imagen, la unidad de procesamiento de solicitudes 70 puede seleccionar una o más regiones como una o más regiones más interesadas de la imagen. En algunos ejemplos, la unidad de procesamiento de solicitudes 70 puede seleccionar una o más regiones como una o más regiones de la imagen más interesadas cuando una o más regiones se han incluido en el campo de visión del usuario a una frecuencia que satisface un umbral. Por ejemplo, la unidad de procesamiento de solicitudes 70 puede seleccionar una o más regiones como una o más regiones más interesadas de la imagen cuando los datos reunidos indican que al menos la mitad del campo de visión del usuario incluye una o más regiones.
Como se ilustra en el ejemplo de la Figura 1, el contenido multimedia 64 incluye el archivo de manifiesto 66, que puede corresponder a una descripción de presentación multimedia (MPD). El archivo de manifiesto 66 puede contener las descripciones de diferentes representaciones alternativas 68 (por ejemplo, los servicios de video con diferentes calidades) y la descripción puede incluir, por ejemplo, la información de códec, un valor de perfil, un valor de nivel, una velocidad de bits y otras características descriptivas de las representaciones 68. El dispositivo cliente 40 puede recuperar la MPD de una presentación multimedia para determinar cómo acceder a los segmentos de las representaciones 68.
En particular, la unidad de recuperación 52 puede recuperar los datos de configuración (no mostrados) del dispositivo cliente 40 para determinar las capacidades de decodificación del decodificador de video 48 y las capacidades de representación de la salida de video 44. Los datos de configuración también pueden incluir cualquiera o la totalidad de una preferencia de idioma seleccionada por un usuario del dispositivo cliente 40, una o más perspectivas de la cámara que corresponden a las preferencias de profundidad establecidas por el usuario del dispositivo cliente 40 y/o una preferencia de clasificación seleccionada por el usuario del dispositivo cliente 40. La unidad de recuperación 52 puede comprender, por ejemplo, un navegador web o un cliente multimedia configurado para enviar las solicitudes HTTP GET y GET parciales. La unidad de recuperación 52 puede corresponder a las instrucciones de software ejecutadas por uno o más procesadores o unidades de procesamiento (no mostradas) del dispositivo cliente 40. En algunos ejemplos, toda o parte de la funcionalidad descrita con respecto a la unidad de recuperación 52 puede implementarse en hardware, o una combinación de hardware, software y/o microprograma, donde puede proporcionarse el hardware requerido para ejecutar las instrucciones para el software o el microprograma.
La unidad de recuperación 52 puede comparar las capacidades de decodificación y representación del dispositivo cliente 40 con las características de las representaciones 68 indicadas por la información del archivo de manifiesto 66. La unidad de recuperación 52 puede recuperar inicialmente al menos una porción del archivo de manifiesto 66 para determinar las características de las representaciones 68. Por ejemplo, la unidad de recuperación 52 puede solicitar una porción del archivo de manifiesto 66 que describe las características de uno o más conjuntos de adaptación. La unidad de recuperación 52 puede seleccionar un subconjunto de representaciones 68 (por ejemplo, un conjunto de adaptación) que tiene las características que pueden satisfacerse por las capacidades de codificación y representación del dispositivo cliente 40. La unidad de recuperación 52 puede entonces determinar las velocidades de bits para las representaciones en el conjunto de adaptación, determinar una cantidad de ancho de banda de la red actualmente disponible y recuperar los segmentos de una de las representaciones que tiene una velocidad de bits que puede satisfacerse por el ancho de banda de la red.
En general, las representaciones de velocidades de bits más altas pueden dar lugar a una reproducción de video de mayor calidad, mientras que las representaciones de velocidades de bits más bajas pueden proporcionar una reproducción de video de calidad suficiente cuando el ancho de banda de la red disponible disminuye. En consecuencia, cuando el ancho de banda de la red disponible es relativamente alto, la unidad de recuperación 52 puede recuperar los datos de las representaciones de velocidades de bits relativamente altas, mientras que cuando el ancho de banda de la red disponible es bajo, la unidad de recuperación 52 puede recuperar los datos de las representaciones de velocidades de bits relativamente bajas. De esta manera, el dispositivo cliente 40 puede transmitir los datos multimedia sobre la red 74 mientras que también se adapta a la disponibilidad cambiante del ancho de banda de la red 74.
Adicional o alternativamente, la unidad de recuperación 52 puede configurarse para recibir los datos de acuerdo con un protocolo de red de difusión o multidifusión, tal como eMBMS o multidifusión IP. En tales ejemplos, la unidad de recuperación 52 puede enviar una solicitud para unirse a un grupo de red de multidifusión asociado con el contenido multimedia particular. Después de unirse al grupo de multidifusión, la unidad de recuperación 52 puede recibir los datos del grupo de multidifusión sin más solicitudes emitidas al dispositivo servidor 60 o al dispositivo de preparación de contenido 20. La unidad de recuperación 52 puede enviar una solicitud para abandonar el grupo de multidifusión cuando los datos del grupo de multidifusión ya no sean necesarios, por ejemplo, para detener la reproducción o cambiar de canal a un grupo de multidifusión diferente.
La interfaz de red 54 puede recibir y proporcionar los datos de los segmentos de una representación seleccionada a la unidad de recuperación 52, que a su vez puede proporcionar los segmentos a la unidad de desencapsulación 50. La unidad de desencapsulación 50 puede desencapsular los elementos de un archivo de video en transmisiones PES constituyentes, desempaquetar las transmisiones PES para recuperar los datos codificados y enviar los datos codificados al decodificador de audio 46 o al decodificador de video 48, en función de si los datos codificados son parte de una transmisión de audio o video, por ejemplo, como se indican por los encabezados de paquete PES de la transmisión. El decodificador de audio 46 decodifica los datos de audio codificados y envía los datos de audio decodificados a la salida de audio 42, mientras que el decodificador de video 48 decodifica los datos de video codificados y envía los datos de video decodificados, que pueden incluir una pluralidad de vistas de una transmisión, a la salida de video 44.
El codificador de video 28, el decodificador de video 48, el codificador de audio 26, el decodificador de audio 46, la unidad de encapsulación 30, la unidad de recuperación 52 y la unidad de desencapsulación 50 pueden implementarse cada como cualquiera de una variedad de circuitos de procesamiento adecuados, según corresponda, tal como uno o más microprocesadores, procesadores de señal digital (DSP), circuitos integrados específicos de aplicaciones (ASIC), matrices de puertas programables de campo (FPGA), circuitos lógicos discretos, software, hardware, microprograma o cualquier combinación de los mismos. Cada uno del codificador de video 28 y decodificador de video 48 puede incluirse en uno o más codificadores o decodificadores, cualquiera de los cuales puede integrarse como parte de un codificador/decodificador de video (CODEC) combinado. Del mismo modo, cada uno del codificador de audio 26 y decodificador de audio 46 puede incluirse en uno o más codificadores o decodificadores, cualquiera de los cuales puede integrarse como parte de un CODEC combinado. Un aparato que incluye el codificador de video 28 y/o el decodificador de video 48, el codificador de audio 26, el decodificador de audio 46, la unidad de encapsulación 30, la unidad de recuperación 52 y/o la unidad de desencapsulación 50 puede comprender un circuito integrado, un microprocesador y/o un dispositivo de comunicación inalámbrica, tal como un teléfono celular.
Los estándares de codificación de video incluyen ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 o ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 o ISO/IEC MPEG-4 AVC, incluidas sus extensiones de Codificación de Video Escalable (SVC) y Codificación de Video de Vista Múltiple (MVC), y Codificación de Video de Alta Eficiencia (HEVC), también conocida como ITU-T H.265 e ISO/IEC 23008-2, incluida su extensión de codificación escalable (es decir, codificación de video escalable de alta eficiencia, SHVC), extensión multivista (es decir, codificación de video multivista de alta eficiencia, MV-HEVC) y extensión 3D (es decir, codificación de video de alta eficiencia 3D, 3D-HEVC). Un borrador conjunto de MVC se describe en el documento "Advanced video coding for generic audiovisual services," Recomendación ITU-T H.264, de marzo de 2010.
La unidad de encapsulación 30 puede determinar una o más regiones más interesadas de una imagen. Como se usa en la presente memoria, una región más interesada puede referirse a una región de una imagen que tiene una alta probabilidad de verse por un usuario. Por ejemplo, una región más interesada puede referirse a una región de una imagen seleccionada por un director o productor. En algunos ejemplos, una región más interesada puede referirse a una región de una imagen que se deriva de un dispositivo informático de las estadísticas del usuario por un proveedor de servicios o contenido, por ejemplo, a través de las estadísticas de qué regiones han sido solicitadas/vistas más por los usuarios cuando el contenido de video omnidireccional se proporcionó a través de un servicio de transmisión continua.
La unidad de encapsulación 30 puede encapsular datos representativos de una o más regiones más interesadas. En algunos ejemplos, la unidad de encapsulación 30 puede encapsular los datos representativos de una o más regiones más interesadas externas a los datos de VCL, que pueden incluir datos de video reales usados por el motor de codificación de video. En algunos ejemplos, los datos representativos de una o más regiones más interesadas pueden incluirse en un flujo de bits. Por ejemplo, la unidad de encapsulación 30 puede encapsular un mensaje SEI que incluye los datos representativos de una o más regiones más interesadas externas a los datos de VCL. En algunos ejemplos, la unidad de encapsulación 30 puede encapsular datos de formato de archivo que incluyen los datos representativos de una o más regiones más interesadas externas al flujo de bits de vídeo (y, en consecuencia, también externas a los datos VCL del flujo de bits). Por ejemplo, la unidad de encapsulación 30 puede encapsular un cuadro (por ejemplo, de muestra a grupo) o una pista de metadatos temporizada que incluya los datos representativos de una o más regiones más interesadas externas a los datos de VCL.
Con respecto a las aplicaciones de video de VR, al considerar formas de usar la información en las regiones más interesadas, identificamos al menos algunos de los siguientes problemas:
1. El uso de la información sobre las regiones más interesadas para mostrar las regiones más interesadas sin el control del usuario puede reducir la experiencia del video VR si el usuario está realmente interesado en otras regiones en el video Vr . En cambio, la información sobre las regiones más interesadas puede usarse de otras maneras para mejorar la experiencia de video VR.
2. Las regiones más interesadas en un conjunto particular de imágenes de un video VR pueden determinarse o crearse de otras maneras que no sean el corte del director.
3. Falta una forma concreta de señalar la información sobre las regiones más interesadas.
Esta divulgación describe varias técnicas para señalizar y reconstruir una o más regiones más interesadas en video VR y el procesamiento correspondiente en la codificación, decodificación, transmisión continua y reproducción de video VR. Una o más de estas técnicas pueden aplicarse independientemente o en combinación con otras.
En un primer ejemplo, las regiones más interesadas pueden determinarse por la intención del director o productor, o por las estadísticas del usuario por un proveedor de servicios o contenido, por ejemplo, a través de las que los usuarios han solicitado/visto más regiones cuando el contenido de video VR se proporcionó a través de un servicio de transmisión continua.
En un segundo ejemplo, durante la codificación o transcodificación de video, las regiones más interesadas pueden codificarse intencionalmente con mayor calidad (por ejemplo, mediante el uso de parámetros de cuantificación más bajos), mayor resolución (si las diferentes regiones de las imágenes de video se submuestrean con diferentes proporciones de submuestreo durante la costura de video o codificación de video), o mayor frecuencia de accesibilidad aleatoria que otras regiones.
En un tercer ejemplo, esta divulgación propone la señalización de la información en las regiones más interesadas al usar mensajes SEI en un flujo de bits de video, metadatos de formato de archivo en un archivo multimedia o elementos o atributos de descripción de presentación de medios (MPD) de transmisión continua adaptativa dinámica a través de HTTP (DASH).
La información sobre las regiones más interesadas para un conjunto particular de imágenes de un flujo de bits de vídeo VR puede señalarse al usar un mensaje SEI. Se especifica que una instancia de este mensaje SEI sea aplicable al conjunto de (una o más) imágenes por sintaxis, semántica o ambas. El mensaje SEI puede contener al menos los siguientes elementos de sintaxis:
i. Un elemento de sintaxis que indica el número de regiones más interesadas.
ii. Un bucle de un conjunto de elementos de sintaxis, cada conjunto describe la posición y el tamaño de la región más interesada. Por ejemplo, cada conjunto puede incluir cuatro elementos de sintaxis que indican los desplazamientos hacia arriba, abajo, izquierda y derecha, en número de muestras de luma en relación con la imagen completa, de las cuatro esquinas de un rectángulo que es una región más interesada. En otro ejemplo, cada conjunto puede incluir dos elementos de sintaxis que indican la coordenada, en número de muestras de luma en relación con la imagen completa, de la esquina superior izquierda de un rectángulo que es la región más interesada, y dos elementos de sintaxis que indican el ancho y el alto del rectángulo.
iii. Para cada una de las regiones más interesadas, una prioridad puede indicarse mediante un elemento de sintaxis, con una prioridad alta que indica mayor interés de la región.
iv. Un elemento de sintaxis que indica si se debe cancela el efecto de todas las instancias anteriores de este mensaje SEI en el orden de decodificación.
v. Un elemento de sintaxis que indica si la información en las instancias actuales de este mensaje SEI persiste hasta la siguiente imagen en orden de salida, o el inicio de una nueva secuencia de video codificada, o el final de flujo de bits.
El mensaje SEI puede incluirse como parte de H.264/AVC, H.265/HEVC o cualquier otra especificación de códec de video. La unidad NAL que contiene el mensaje SEI puede incluirse directamente en 1) un cuadro o estructura de formato de archivo para la señalización de la información en formato de archivo, 2) un campo SDP para la señalización de la información en SDP, 3) un atributo o elemento DASH MPD para la señalización de la información en DASH MPD, y 4) un descriptor de flujo de transporte MPEG-2 (TS) para la señalización de la información en MPEG-2 TS.
La misma información descrita anteriormente puede transportarse directamente en una estructura de datos de formato de archivo, por ejemplo, mediante el uso de un nuevo grupo de muestras, o mediante la inclusión en una pista de metadatos temporizada.
La misma información descrita anteriormente puede transportarse directamente al usar algunos elementos, atributos y/o descriptores nuevos en un DASH MPD.
En un cuarto ejemplo, durante la transmisión continua de video controlada por el cliente como DASH, cuando se usa una red de entrega de contenido (CDN), un servidor perimetral (por ejemplo, el dispositivo servidor 60) o una memoria de caché pueden usar la información de las regiones más interesadas para obtener los datos de video de una representación de mayor calidad y cubrir las regiones más interesadas de la próxima imagen antes de recibir una solicitud del dispositivo cliente 40, prediciendo que lo más probable es que los datos de video se soliciten pronto. La próxima imagen puede ser la imagen que es inmediatamente posterior a la imagen que una o más regiones se han enviado recientemente al dispositivo cliente 40 y que se están presentando o que pronto serán presentadas por el dispositivo cliente 40.
En un quinto ejemplo, durante la transmisión continua de video controlada por el cliente como DASH, el dispositivo cliente 40 puede usar la información de las regiones más interesadas para solicitar los datos de video de una representación de mayor calidad y cubrir las regiones más interesadas de la próxima imagen literalmente antes de que un usuario gire la cabeza y envíe las solicitudes, al predecir que los datos de video probablemente se solicitarían pronto. Una vez más, la próxima imagen puede ser una imagen que es inmediatamente posterior a la imagen que una o más regiones se han enviado recientemente al dispositivo cliente 40 y que se están presentando o que pronto serán presentadas por el dispositivo cliente 40.
En un sexto ejemplo, un sistema de transmisión continua de video controlado por el servidor (por ejemplo, dispositivo servidor 60), como la transmisión continua por conmutación de paquetes (PSS) 3GPP en 3GPP TS 26.234, puede configurarse con características que permitan a los clientes de transmisión continua (por ejemplo, dispositivo cliente 40) para enviar comentarios en una dirección de un FOV actual para que el servidor elija los datos de video apropiados que cubren las regiones más interesadas que se enviarán. En un sistema de transmisión continua de video controlado por servidor configurado, el dispositivo servidor 60 puede usar la información de las regiones más interesadas para enviar los datos de video de una representación de mayor calidad y cubrir las regiones más interesadas de una próxima imagen ligeramente antes de recibir la retroalimentación de un cliente de transmisión continua sobre la dirección del FOV actual, al predecir que los datos de video probablemente deberán enviarse pronto. Por ejemplo, en respuesta a la determinación de que un cliente de transmisión continua en particular está emitiendo una imagen en particular, el dispositivo servidor 60 puede emitir, al cliente de transmisión continua en particular, datos de video de una representación de mayor calidad y cubrir las regiones más interesadas de una próxima imagen que es inmediatamente posterior a la imagen en particular.
En un séptimo ejemplo, para la gestión de almacenamiento de contenido (por ejemplo, contenido VR) que implica caché (por ejemplo, en el dispositivo servidor 60), el dispositivo servidor 60 puede determinar qué regiones de una imagen en particular almacenar en caché al usar datos representativos de una o más regiones más interesadas en la imagen en particular. Un desarrollador puede diseñar un algoritmo de selección de almacenamiento y el dispositivo servidor 60 puede ejecutar el algoritmo para dar a las regiones de una imagen un rango en base a un grado seleccionado de interés en las regiones (por ejemplo, en base a la opinión de un director) y/o en base a un grado derivado de interés en la región (por ejemplo, en base a la estadística del usuario de ver el comportamiento después de que el contenido ha estado disponible durante algún tiempo). El dispositivo servidor 60 puede almacenar, en la memoria caché, datos de video para las regiones de la imagen particular con un valor de rango que satisfaga un umbral (por ejemplo, es mayor que el umbral). Por ejemplo, cuando solo los valores de rango para las regiones más interesadas de la imagen en particular satisfacen el umbral, el dispositivo servidor 60 puede almacenar solo datos de video para las regiones más interesadas de la imagen en particular en la memoria caché. En este ejemplo, el dispositivo cliente 40 puede recuperar datos de video para las regiones más interesadas de la imagen particular de la memoria caché y puede recuperar datos de video para otras regiones de la imagen particular de un almacenamiento del servidor principal, que puede colocarse más lejos de los usuarios que la memoria caché. Adicional, o alternativamente, el dispositivo servidor 60 puede determinar dinámicamente el umbral en base a la cantidad de espacio disponible en la memoria caché.
En un octavo ejemplo, para el almacenamiento a largo plazo de contenido VR, el dispositivo servidor 60 puede usar datos representativos de una o más regiones más interesadas en una imagen particular (por ejemplo, de un video VR) para decidir qué regiones de la imagen almacenar. Un desarrollador puede diseñar un algoritmo de selección de almacenamiento y el dispositivo servidor 60 puede ejecutar el algoritmo para dar a las regiones un rango en base a un grado de interés seleccionado en las regiones (por ejemplo, en base a la opinión de un director) y/o en base a un grado de interés derivado en la región (por ejemplo, en base a la estadística del usuario de ver el comportamiento después de que el contenido ha estado disponible durante algún tiempo). El dispositivo servidor 60 puede almacenar, en almacenamiento a largo plazo (por ejemplo, configurado para almacenar datos de video durante semanas, meses, años, etc.), datos de video para las regiones de la imagen en particular con un valor de rango que satisfaga un umbral (por ejemplo, es mayor que el umbral). Por ejemplo, cuando solo los valores de rango para las regiones más interesadas de la imagen particular satisfacen el umbral, el dispositivo servidor 60 puede almacenar solo datos de video para las regiones más interesadas de la imagen particular en el almacenamiento a largo plazo y eliminar datos de video para otras regiones de la imagen particular del almacenamiento a largo plazo.
El dispositivo cliente 40, el dispositivo servidor 60 y/o el dispositivo de preparación de contenido 20 pueden configurarse para operar de acuerdo con las técnicas de esta divulgación. Para propósitos de ejemplo, esta divulgación describe estas técnicas con respecto al dispositivo cliente 40 y al dispositivo servidor 60. Sin embargo, debe entenderse que el dispositivo de preparación de contenido 20 puede configurarse para realizar estas técnicas, en lugar del (o además de) dispositivo servidor 60.
La unidad de encapsulación 30 puede formar las unidades NAL que comprenden un encabezado que identifica un programa al que pertenece la unidad NAL, así como también una carga útil, por ejemplo, los datos de audio, los datos de video o los datos que describen la transmisión de transporte o el programa al que corresponde la unidad NAL. Por ejemplo, en H.264/AVC, una unidad NAL incluye un encabezado de 1 byte y una carga útil de tamaño variable. Una unidad NAL que incluye los datos de video en su carga útil puede comprender varios niveles de granularidad de los datos de video. Por ejemplo, una unidad NAL puede comprender un bloque de datos de video, una pluralidad de bloques, un segmento de datos de video o toda una imagen de datos de video. La unidad de encapsulación 30 puede recibir los datos de video codificados desde el codificador de video 28 en forma de paquetes PES de transmisiones elementales. La unidad de encapsulación 30 puede asociar cada transmisión elemental con un programa correspondiente.
La unidad de encapsulación 30 también puede ensamblar las unidades de acceso desde una pluralidad de unidades NAL. En general, una unidad de acceso puede comprender una o más unidades NAL para representar una trama de datos de video, así como los datos de audio que corresponden a la trama cuando tales datos de audio están disponibles. Una unidad de acceso generalmente incluye todas las unidades NAL para una instancia de tiempo de salida, por ejemplo, todos los datos de audio y video para una instancia de tiempo. Por ejemplo, si cada vista tiene una velocidad de trama de 20 tramas por segundo (fps), entonces cada instancia de tiempo puede corresponder a un intervalo de tiempo de 0,05 segundos. Durante este intervalo de tiempo, las tramas específicas para todas las vistas de la misma unidad de acceso (la misma instancia de tiempo) pueden representarse simultáneamente. En un ejemplo, una unidad de acceso puede comprender una imagen codificada en una instancia de tiempo, que puede presentarse como una imagen codificada primaria.
En consecuencia, una unidad de acceso puede comprender todas las tramas de audio y video de una instancia temporal común, por ejemplo, todas las vistas que corresponden al tiempo X. Esta divulgación también se refiere a una imagen codificada de una vista particular como un "componente de vista." Es decir, un componente de vista puede comprender una imagen (o trama) codificada para una vista particular en un momento particular. En consecuencia, una unidad de acceso puede definirse como que comprende todos los componentes de vista de una instancia temporal común. El orden de decodificación de las unidades de acceso no tiene que ser necesariamente el mismo que el orden de salida o visualización.
Una presentación multimedia puede incluir una descripción de presentación multimedia (MPD), que puede contener las descripciones de diferentes representaciones alternativas (por ejemplo, servicios de video con diferentes calidades) y la descripción puede incluir, por ejemplo, la información de códec, un valor de perfil y un valor de nivel. Un MPD es un ejemplo de archivo de manifiesto, tal como el archivo de manifiesto 66. El dispositivo cliente 40 puede recuperar la MPD de una presentación multimedia para determinar cómo acceder a los fragmentos de película de varias presentaciones. Los fragmentos de película pueden estar ubicados en cuadros de fragmentos de película (cuadros moof) de archivos de video.
El archivo de manifiesto 66 (que puede comprender, por ejemplo, una MPD) puede anunciar la disponibilidad de los segmentos de las representaciones 68. Es decir, la MPD puede incluir la información que indique la hora del reloj de pared en la que un primer segmento de una de las representaciones 68 se vuelve disponible, así como también la información que indica las duraciones de los segmentos dentro de las representaciones 68. De esta manera, la unidad de recuperación 52 del dispositivo cliente 40 puede determinar cuándo está disponible cada segmento, en base al tiempo de inicio, así como también en las duraciones de los segmentos que preceden a un segmento particular. En algunos ejemplos, el archivo de manifiesto 66 puede incluir datos representativos de una o más regiones más interesadas en una imagen particular, según las técnicas de esta divulgación.
Después de que la unidad de encapsulación 30 ha ensamblado las unidades NAL y/o las unidades de acceso en un archivo de video en base a los datos recibidos, la unidad de encapsulación 30 pasa el archivo de video a la interfaz de salida 32 para su salida. En algunos ejemplos, la unidad de encapsulación 30 puede almacenar el archivo de video localmente o enviar el archivo de video a un servidor remoto a través de la interfaz de salida 32, en lugar de enviar el archivo de video directamente al dispositivo cliente 40. La interfaz de salida 32 puede comprender, por ejemplo, un transmisor, un transceptor, un dispositivo para escribir los datos en un medio legible por ordenador tal como, por ejemplo, una unidad óptica, una unidad de medios magnéticos (por ejemplo, una unidad de disquete), un puerto de bus serie universal (USB), una interfaz de red u otra interfaz de salida. La interfaz de salida 32 envía el archivo de video a un medio legible por ordenador, tal como, por ejemplo, una señal de transmisión, un medio magnético, un medio óptico, una memoria, una unidad flash u otro medio legible por ordenador.
La interfaz de red 54 puede recibir una unidad NAL o la unidad de acceso a través de la red 74 y proporcionar la unidad NAL o la unidad de acceso a la unidad de desencapsulación 50, a través de la unidad de recuperación 52. La unidad de desencapsulación 50 puede desencapsular los elementos de un archivo de video en transmisiones PES constituyentes, desempaquetar las transmisiones PES para recuperar los datos codificados y enviar los datos codificados al decodificador de audio 46 o al decodificador de video 48, en función de si los datos codificados son parte de una transmisión de audio o video, por ejemplo, como se indican por los encabezados de paquete PES de la transmisión. El decodificador de audio 46 decodifica los datos de audio codificados y envía los datos de audio decodificados a la salida de audio 42, mientras que el decodificador de video 48 decodifica los datos de video codificados y envía los datos de video decodificados, que pueden incluir una pluralidad de vistas de una transmisión, a la salida de video 44.
De esta manera, el dispositivo de preparación de contenido 20 representa un ejemplo de un dispositivo para señalizar información para datos de video, el dispositivo incluye un procesador configurado para determinar una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video. Las regiones más interesadas que comprenden una o más regiones que tienen más probabilidades de ser recuperadas por un dispositivo cliente. El procesador puede configurarse además para generar datos representativos de las regiones más interesadas. Los datos representativos de las regiones más interesadas son externos a los datos VCL de un flujo de bits que incluye los datos de video.
Adicionalmente, el dispositivo cliente 40 representa un ejemplo de un dispositivo para determinar información para datos de video, el dispositivo que incluye un procesador configurado para determinar una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base a los datos representativos de las regiones más interesadas. Los datos representativos de las regiones más interesadas que son externos a los datos VCL de un flujo de bits que incluye los datos de video. El procesador puede configurarse además para emitir una solicitud de datos de video de alta calidad para una o más regiones más interesadas de la imagen y emitir, después de emitir la solicitud de datos de video de alta calidad para una o más regiones más interesadas de la imagen, una solicitud de datos de video de baja calidad para una o más regiones de la imagen.
La Figura 2 es un diagrama conceptual que ilustra los elementos de contenido multimedia de ejemplo 120. El contenido multimedia 120 puede corresponder al contenido multimedia 64 (Figura 1) u otro contenido multimedia almacenado en el medio de almacenamiento 62. En el ejemplo de la Figura 2, el contenido multimedia 120 incluye la descripción de la presentación multimedia (MPD) 122 y una pluralidad de representaciones 124A-124N (las representaciones 124). La representación 124A incluye los datos de encabezado opcionales 126 y los segmentos 128A-128N (los segmentos 128), mientras que la representación 124N incluye los datos de encabezado opcionales 130 y los segmentos 132A-132N (los segmentos 132). La letra N se usa para designar el último fragmento de película en cada una de las representaciones 124 como una cuestión de conveniencia. En algunos ejemplos, puede haber diferentes números de fragmentos de películas entre las representaciones 124.
Aunque la Figura 2 describe un ejemplo donde el sistema 10 (Figura 1) se configura para DASH, en algunos ejemplos, el sistema 10 puede configurarse para otros protocolos de control de reproducción de medios, por ejemplo, pero no limitado a, protocolo de transmisión continua en tiempo real (RTSP), protocolo de transporte en tiempo real (RTP), protocolo de control RTP (RTCP), protocolo de descripción de sesión (SDP), otro protocolo de control de reproducción de medios o una combinación de los mismos.
La MPD 122 puede comprender una estructura de datos separada de las representaciones 124. La MPD 122 puede corresponder al archivo de manifiesto 66 de la Figura 1. Del mismo modo, las representaciones 124 pueden corresponder a las representaciones 68 de la Figura 2. En general, la MPD 122 puede incluir los datos que generalmente describen las características de las representaciones 124, tales como las características de codificación y representación, los conjuntos de adaptación, un perfil al que corresponde la MPD 122, la información de tipo de texto, la información de ángulo de cámara, la información de clasificación, la información de modo truco (por ejemplo, la información indicativa de las representaciones que incluyen las subsecuencias temporales) y/o la información para recuperar períodos remotos (por ejemplo, para la inserción de publicidad dirigida en el contenido multimedia durante la reproducción).
Los datos de encabezado 126, cuando están presentes, pueden describir las características de los segmentos 128, por ejemplo, las ubicaciones temporales de los puntos de acceso aleatorio (RAP, también denominados puntos de acceso de transmisión (SAP)), cuáles de los segmentos 128 incluye los puntos de acceso aleatorio, el desplazamiento de bits a los puntos de acceso aleatorio dentro de los segmentos 128, los localizadores uniformes de recursos (URL) de los segmentos 128 u otros aspectos de los segmentos 128. Los datos de encabezado 130, cuando están presentes, pueden describir características similares para los segmentos 132. Adicional o alternativamente, tales características pueden incluirse completamente dentro de la MPD 122.
Los segmentos 128, 132 incluyen una o más muestras de video codificadas, cada una de las cuales puede incluir tramas o segmentos de los datos de video. Cada una de las muestras de video codificadas de los segmentos 128 puede tener características similares, por ejemplo, requisitos de altura, ancho y ancho de banda. Tales características pueden describirse mediante los datos de la MPD 122, aunque tales datos no se ilustran en el ejemplo de la Figura 2. La MPD 122 puede incluir las características como se describe por la Memoria descriptiva 3GPP, con la adición de cualquier o toda la información señalada descrita en esta divulgación.
Cada uno de los segmentos 128, 132 puede asociarse con un localizador uniforme de recursos (URL) único. Por lo tanto, cada uno de los segmentos 128, 132 puede recuperarse independientemente mediante el uso de un protocolo de red de transmisión continua tal como DASH, aunque puede usarse otros protocolos de red de transmisión continua. De esta manera, un dispositivo de destino, tal como el dispositivo cliente 40, puede usar una solicitud HTTP GET para recuperar los segmentos 128 o 132. En algunos ejemplos, el dispositivo cliente 40 puede usar las solicitudes HTTP GET parciales para recuperar los rangos de bytes específicos de los segmentos 128 o 132. Por ejemplo, el dispositivo cliente 40 puede usar una primera solicitud GET parcia1HTTP para recuperar inicialmente datos representativos de las regiones más interesadas de uno de los segmentos 128, 132, determinar las regiones más interesadas, y luego usar una segunda solicitud GET parcial HTTP para buscar previamente versiones de alta calidad de datos de video para las regiones más interesadas de uno de los segmentos 128, 132, al asumir que los datos de las regiones más interesadas se incluyen dentro de los segmentos 128, 132, por ejemplo, en información de formato de archivo.
Adicional o alternativamente, de acuerdo con las técnicas de esta divulgación, MPD 122 puede incluir elementos o atributos que indiquen una o más regiones más interesadas. Por ejemplo, MPD 122 puede incluir, para cada uno de los segmentos 128, 132, elementos o atributos representativos de una posición respectiva de una región más interesada y un tamaño respectivo de la región más interesada.
Más específicamente, por ejemplo, MPD 122 puede incluir, para cada uno de los segmentos 128, 132 (o una o más imágenes dentro de los segmentos 128, 132), elementos o atributos que se repiten sobre una región más interesada, cada iteración del bucle representa una de las regiones más interesadas e incluye elementos de sintaxis representativos de la posición de la región más interesada y el tamaño de la región más interesada. En algunos ejemplos, MPD 122 puede incluir, para cada uno de los segmentos 128, 132, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una parte superior de la región más interesada, un segundo elemento de sintaxis representativo de una parte inferior de la región más interesada, un lado izquierdo de la región más interesada y un lado derecho de la región más interesada. En algunos ejemplos, MPD 122 puede incluir, para cada uno de los segmentos 128, 132, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada y un segundo elemento de sintaxis representativo de una esquina inferior derecha de la región más interesada. En algunos ejemplos, MPD 122 puede incluir, para cada uno de los segmentos 128, 132, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada, un segundo elemento de sintaxis representativo de un ancho de la región más interesada, y un tercer elemento de sintaxis representativo de una altura de la región más interesada. En algunos ejemplos, el MPD 122 puede representar una posición respectiva de una región más interesada y un tamaño respectivo de la región más interesada en muestras de luma.
La Figura 3 es un diagrama de bloques que ilustra elementos de un archivo de video de ejemplo 150, que puede corresponder a un segmento de una representación, tal como uno de los segmentos 128, 132 de la Figura 2. Cada uno de los segmentos 128, 132 puede incluir los datos de conformidad sustancialmente con la disposición de los datos ilustrada en el ejemplo de la Figura 3. Puede decirse que el archivo de video 150 encapsula un segmento. Como se describió anteriormente, los archivos de video de acuerdo con el formato de archivos multimedia base ISO y sus extensiones almacenan datos en una serie de objetos, denominados como "cuadros." En el ejemplo de la Figura 3, el archivo de video 150 incluye el cuadro de tipo de archivo (FTYP) 152, el cuadro de película (MOOV) 154, uno o más pares de cuadro del fragmento de película (MOOF) 164 y el cuadro de datos multimedia (MDAT) 167, y el cuadro de acceso aleatorio de fragmentos de película (MFRA) 166. Aunque la Figura 3 representa un ejemplo de un archivo de video, debe entenderse que otros archivos multimedia pueden incluir otros tipos de datos multimedia (por ejemplo, datos de audio, datos de texto temporizados o similares) que se estructuran de manera similar a los datos del archivo de video 150, de acuerdo con el formato de archivos multimedia base ISO y sus extensiones.
El cuadro de tipo de archivo (FTYP) 152 generalmente describe un tipo de archivo para el archivo de video 150. El cuadro de tipo de archivo 152 puede incluir los datos que identifican una especificación que describe un mejor uso para el archivo de video 150. Alternativamente el cuadro de tipo de archivo 152 puede colocarse antes del cuadro MOOV 154, el cuadro MOOF 164 y/o el cuadro MFRA 166.
El cuadro MOOV 154, en el ejemplo de la Figura 3, incluye el cuadro de encabezado de película (MVHD) 156 y el cuadro de la pista (TRAK) 158. En general, el cuadro MVHD 156 puede describir las características generales del archivo de video 150. Por ejemplo, el cuadro MVHD 156 puede incluir los datos que describen cuándo se creó originalmente el archivo de video 150, cuándo se modificó por última vez el archivo de video 150, una escala de tiempo para el archivo de video 150, una duración de la reproducción del archivo de video 150 u otros datos que generalmente describen el archivo de video 150.
El cuadro MOOV 154 puede incluir un número de cuadros TRAK igual al número de pistas en el archivo de video 150. El cuadro TRAK 158 puede describir las características de una pista correspondiente del archivo de video 150. Por ejemplo, el cuadro TRAk 158 puede describir la información temporal y/o espacial para la pista correspondiente. El cuadro TRAK 158 puede incluir datos para una pista del archivo de video 150. El cuadro TRAK 158 puede incluir un cuadro de encabezado de pista (TKHD) que describe las características de la pista que corresponden al cuadro TRAK 158. En algunos ejemplos, el cuadro TRAK 158 puede incluir las imágenes de video codificadas, mientras que, en otros ejemplos, las imágenes de video codificadas de la pista pueden incluirse en el cuadro MDAT 167, a la que pueden hacer referencia los datos del cuadro TRAK 158.
El archivo de vídeo 150 puede incluir una pista de metadatos temporizada. Por ejemplo, el archivo de vídeo 150 puede ser para una representación que incluye una o más pistas de metadatos temporizadas. Por ejemplo, el archivo de vídeo 150 puede ser para la representación 124N que incluye una o más pistas de metadatos temporizadas y no incluye pistas multimedia asociadas. En algunos ejemplos, el archivo de vídeo 150 puede ser para una representación que incluye una o más pistas de metadatos temporizadas multiplexadas junto con una pista multimedia asociada. Por ejemplo, el archivo de vídeo 150 puede ser para la representación 124A que incluye una o más pistas de metadatos temporizadas multiplexadas junto con una pista o pistas multimedia asociadas. En cualquier caso, una pista de metadatos temporizada puede contener metadatos descriptivos o anotativos para una pista del archivo de vídeo 150.
El archivo de video 150 puede incluir un par respectivo de cuadro MOOF 164 y cuadro MDAT 167 para cada pista respectiva incluida en el archivo de video 150. Como se muestra, cada cuadro MOOF 164 puede incluir un cuadro de fragmentos de pista (TRAF) 165. El cuadro TRAP 165, en el ejemplo de la Figura 3, incluye la muestra a grupo (SBGP) 162. El cuadro SBGP 162 puede describir un grupo al que pertenece una muestra o pista y la descripción asociada de ese grupo de muestra. El cuadro TRAP 165 puede describir las características de una pista de conjunto de parámetros, cuando la unidad de encapsulación 30 (Figura 1) incluye una pista de conjunto de parámetros en un archivo de video, tal como un archivo de video 150. La unidad de encapsulación 30 puede señalar la presencia de mensajes SEI de nivel de secuencia en la pista de conjunto de parámetros dentro del cuadro TRAK 158 que describe la pista del conjunto de parámetros.
El cuadro MDAT 167 puede incluir el mensaje SEI 172 y la unidad VCL NAL 170 para una pista respectiva. La unidad 170 de VCL nAl puede incluir una o más imágenes de vídeo codificadas. En algunos ejemplos, la unidad VCL NAL 170 puede incluir uno o más grupos de imágenes (GOP), cada uno de los cuales puede incluir una serie de imágenes de video codificadas, por ejemplo, tramas o imágenes.
Como se señaló anteriormente, la unidad de encapsulación 30 puede almacenar un conjunto de datos de secuencia en una muestra de vídeo que no incluye datos de vídeo codificados reales. Una muestra de video puede corresponder generalmente a una unidad de acceso, que es una representación de una imagen codificada en una instancia de tiempo específica. En el contexto de AVC, la unidad de acceso incluye al menos una unidad VCL NAL 170 que contiene la información para construir todos los píxeles de la unidad de acceso y otras unidades NAL no VCL asociadas, como el mensaje SEI 172. En consecuencia, la unidad de encapsulación 30 puede incluir un conjunto de datos de secuencia, que puede incluir el mensaje SEI 172 y la unidad VCL NAL 170. La unidad de encapsulación 30 puede señalar además la presencia de un conjunto de datos de secuencia y/o el mensaje SEI 172 como presentes en el cuadro MDAT 167.
El archivo de vídeo 150 puede incluir datos representativos de una o más regiones más interesadas de acuerdo con las técnicas de esta divulgación. Más específicamente, el archivo de video 150 puede incluir los datos representativos de una o más regiones más interesadas en la información de encabezado del formato de archivo del archivo de video 150. Por ejemplo, el archivo de video 150 puede incluir un mensaje SEI y/o información de formato de archivo que señale la información de las regiones más interesadas. Por ejemplo, una pista de metadatos temporizada puede incluir datos representativos de una o más regiones más interesadas. En algunos casos, el cuadro SBGP 162 puede incluir datos representativos de una o más regiones más interesadas. En algunos casos, el mensaje SEI 172 puede incluir datos representativos de una o más regiones más interesadas.
El mensaje SEI 172 puede incluirse como parte de H.264/AVC, H.265/HEVC u otras especificaciones de códec de video. En el ejemplo de la Figura 3, un mensaje SEI incluye datos representativos de las regiones más interesadas para una imagen correspondiente de, por ejemplo, la unidad VCL NAL 170. En otros ejemplos, los datos de las regiones más interesadas pueden incluirse en 1) un cuadro o estructura de formato de archivo para señalizar la información en formato de archivo, 2) un campo SDP para señalizar la información en SDP, 3) un atributo o elemento DASH MPD para señalizar la información en DASH MPD (por ejemplo, MPD 122 de la Figura 2), 4) un descriptor de flujo de transporte MPEG-2 (TS) para señalizar la información en MPEG-2 TS, en otro cuadro o estructura, o una combinación de los mismos.
El cuadro MFRA 166 puede describir puntos de acceso aleatorios dentro de fragmentos de película del archivo de video 150. Esto puede ayudar con la realización de modos truco, tal como realizar las búsquedas en ubicaciones temporales particulares (es decir, tiempos de reproducción) dentro de un segmento encapsulado por el archivo de video 150. El cuadro MFRA 166 es generalmente opcional y no es necesario incluirla en los archivos de video, en algunos ejemplos. Del mismo modo, un dispositivo cliente, tal como el dispositivo cliente 40, no necesita necesariamente hacer referencia al cuadro MFRA 166 para decodificar y visualizar correctamente los datos de video del archivo de video 150. El cuadro MFRA 166 puede incluir un número de cuadros de acceso aleatorio de fragmentos de pista (TFRA) (no mostrados) igual al número de pistas del archivo de video 150, o en algunos ejemplos, igual al número de pistas multimedia (por ejemplo, pistas sin pistas) del archivo de video 150.
En algunos ejemplos, los fragmentos de película del archivo de vídeo 150 pueden incluir uno o más puntos de acceso a la secuencia (SAP), como imágenes IDR. Del mismo modo, el cuadro MFRA 166 puede proporcionar las indicaciones de ubicaciones dentro del archivo de video 150 de los SAP. En consecuencia, puede formarse una subsecuencia temporal del archivo de video 150 desde los SAP del archivo de video 150. La subsecuencia temporal también puede incluir otras imágenes, tal como tramas P y/o tramas B que dependen de los SAP. Las tramas y/o segmentos de la subsecuencia temporal pueden disponerse dentro de los segmentos de manera que las tramas/segmentos de la subsecuencia temporal que dependen de otras tramas/segmentos de la subsecuencia puedan decodificarse apropiadamente. Por ejemplo, en la disposición jerárquica de los datos, los datos usados para la predicción de otros datos también pueden incluirse en la subsecuencia temporal.
El archivo de vídeo 150 puede incluir un elemento de sintaxis que indique un número de regiones más interesadas. Por ejemplo, una pista de metadatos temporizada puede incluir el elemento de sintaxis que indica el número de regiones más interesadas. En algunos ejemplos, el cuadro SBGP 162 puede incluir el elemento de sintaxis que indica el número de regiones más interesadas. En algunos ejemplos, el mensaje SEI 172 puede incluir el elemento de sintaxis que indica el número de regiones más interesadas.
El archivo de video 150 puede incluir un elemento de sintaxis que indica si la información de las instancias actuales persiste hasta una siguiente imagen en orden de salida, o el inicio de una nueva secuencia de video codificada, o el final del flujo de bits. Por ejemplo, una pista de metadatos temporizada puede incluir el elemento de sintaxis que indica si la información en las instancias actuales de la pista de metadatos temporizada persiste hasta la siguiente imagen en orden de salida, o el inicio de una nueva secuencia de video codificada, o el final del flujo de bits. En algunos ejemplos, el cuadro SBGP 162 puede incluir el elemento de sintaxis que indica si la información en las instancias actuales del cuadro SBGP 162 persiste hasta la siguiente imagen en orden de salida, o el inicio de una nueva secuencia de video codificada, o el final del flujo de bits. En algunos ejemplos, el mensaje SEI 172 puede incluir el elemento de sintaxis que indica si la información en las instancias actuales del mensaje SEI 172 persiste hasta la siguiente imagen en orden de salida, o el inicio de una nueva secuencia de video codificada, o el final del flujo de bits.
El archivo de vídeo 150 puede incluir un elemento de sintaxis que indica si se debe cancelar un efecto de todas las instancias anteriores en orden de decodificación. Dicho de otra manera, en las instancias donde los datos representativos de una o más regiones más interesadas indican que una o más regiones más interesadas persisten en una siguiente imagen en orden de salida, o el inicio de una nueva secuencia de video codificada, o el final del flujo de bits, el elemento de sintaxis que indica si se debe cancelar un efecto puede eliminar la persistencia de una o más regiones más interesadas. Por ejemplo, una pista de metadatos temporizada puede incluir el elemento de sintaxis que indica si se debe cancelar el efecto de todas las instancias anteriores de la pista de metadatos temporizada en orden de decodificación. En algunos ejemplos, el cuadro SBGP 162 puede incluir el elemento de sintaxis que indica si se debe cancelar el efecto de todas las instancias anteriores del cuadro SBGP 162 en orden de decodificación. En algunos ejemplos, el mensaje SEI 172 puede incluir el elemento de sintaxis que indica si se debe cancelar el efecto de todas las instancias anteriores del mensaje SEI 172 en orden de decodificación.
El archivo de vídeo 150 puede indicar, para cada una de las regiones más interesadas, una prioridad mediante un elemento de sintaxis, con una prioridad alta que indica un mayor interés de la región. Por ejemplo, una pista de metadatos temporizada puede indicar, para cada una de las regiones más interesadas, una prioridad mediante un elemento de sintaxis, con una prioridad alta que indica un mayor interés de la región. En algunos ejemplos, el cuadro SBGP 162 puede indicar, para cada una de las regiones más interesadas, una prioridad mediante un elemento de sintaxis, con una prioridad alta que indica un mayor interés de la región. En algunos ejemplos, el mensaje SEI 172 puede indicar, para cada una de las regiones más interesadas, una prioridad mediante un elemento de sintaxis, con una prioridad alta que indica un mayor interés de la región.
De acuerdo con las técnicas de esta divulgación, una estructura de datos en formato de archivo de información del archivo de video 150 que incluye los datos de video contenidos en la unidad VCL NAL 170 puede incluir una indicación de una posición respectiva de una región más interesada y un tamaño respectivo de la región más interesada.
Por ejemplo, una pista de metadatos temporizada puede incluir datos representativos de las regiones más interesadas. Por ejemplo, una pista de metadatos temporizada puede incluir, para cada fragmento de película, una indicación de una posición respectiva de una región más interesada y un tamaño respectivo de la región más interesada.
Más específicamente, en algunos ejemplos, una pista de metadatos temporizada puede incluir, para cada uno de uno o más fragmentos de película que forman una imagen, una indicación de un bucle sobre una región más interesada, cada iteración del bucle representa una de las regiones más interesadas e incluye los elementos de sintaxis representativos de una posición en un número de muestras de luma en relación con la imagen y el tamaño de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, una pista de metadatos temporizada puede incluir, para cada uno de uno o más fragmentos de película, una indicación de un primer elemento de sintaxis representativo de una parte superior de la región más interesada en un número de muestras de luma en relación con la imagen, un segundo elemento de sintaxis representativo de una parte inferior de la región más interesada en un número de muestras de luma en relación con la imagen, un lado izquierdo de la región más interesada en un número de muestras de luma en relación con la imagen y un lado derecho de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, una pista de metadatos temporizada puede incluir, para cada fragmento de película, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada en un número de muestras de luma en relación con la imagen y un segundo elemento de sintaxis representativo de una esquina inferior derecha de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, una pista de metadatos temporizada puede incluir, para cada fragmento de película, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada en una número de muestras de luma en relación con la imagen, un segundo elemento de sintaxis representativo de un ancho de la región más interesada en un número de muestras de luma en relación con la imagen, y un tercer elemento de sintaxis representativo de una altura de la región más interesada en un número de muestras de luma en relación con la imagen.
En otro ejemplo, el cuadro SBGP 162 puede incluir datos representativos de las regiones más interesadas. Por ejemplo, el cuadro SBGP 162 puede incluir, para cada fragmento de película, una indicación de una posición respectiva de una región más interesada y un tamaño respectivo de la región más interesada.
Más específicamente, en algunos ejemplos, el cuadro SBGP 162 puede incluir, para cada fragmento de película que forma una imagen, una indicación de que un bucle sobre una región más interesada, cada iteración del bucle representa una de las regiones más interesadas e incluye elementos de sintaxis representativos de la posición de la región más interesada en un número de muestras de luma en relación con la imagen y el tamaño de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, el cuadro SBGP 162 puede incluir, para cada fragmento de película que forma una imagen, una indicación de un primer elemento de sintaxis representativo de una parte superior de la región más interesada en un número de muestras de luma en relación con la imagen, un segundo elemento de sintaxis representativo de una parte inferior de la región más interesada en un número de muestras de luma en relación con la imagen, un lado izquierdo de la región más interesada en un número de muestras de luma en relación con la imagen y un lado derecho de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, el cuadro SBGP 162 puede incluir, para cada fragmento de película que forma una imagen, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada en un número de muestras de luma en relación con la imagen y un segundo elemento de sintaxis representativo de una esquina inferior derecha de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, el cuadro SBGP 162 puede incluir, para cada fragmento de película que forma una imagen, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada en una número de muestras de luma en relación con la imagen, un segundo elemento de sintaxis representativo de un ancho de la región más interesada en un número de muestras de luma en relación con la imagen, y un tercer elemento de sintaxis representativo de una altura de la región más interesada en un número de muestras de luma en relación con la imagen.
En otro ejemplo, el mensaje SEI 172 puede incluir datos representativos de las regiones más interesadas. Por ejemplo, el mensaje SEI 172 puede incluir, para cada fragmento de película que forma una imagen, una indicación de una posición respectiva de una región más interesada y un tamaño respectivo de la región más interesada. Más específicamente, por ejemplo, el mensaje SEI 172 puede incluir, para cada fragmento de película que forma una imagen, una indicación de que un bucle sobre una región más interesada, cada iteración del bucle que representa una de las regiones más interesadas y que incluye elementos de sintaxis representativos de la posición de la región más interesada en un número de muestras de luma en relación con la imagen y el tamaño de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, el mensaje SEI 172 puede incluir, para cada fragmento de película que forma una imagen, una indicación de un primer elemento de sintaxis representativo de una parte superior de la región más interesada en un número de muestras de luma en relación con la imagen, un segundo elemento de sintaxis representativo de una parte inferior de la región más interesada en un número de muestras de luma en relación con la imagen, un lado izquierdo de la región más interesada en un número de muestras de luma en relación con la imagen y un lado derecho de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, el mensaje SEI 172 puede incluir, para cada fragmento de película que forma una imagen, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada en un número de muestras de luma en relación con la imagen y un segundo elemento de sintaxis representativo de una esquina inferior derecha de la región más interesada en un número de muestras de luma en relación con la imagen.
En algunos ejemplos, el mensaje SEI 172 puede incluir, para cada fragmento de película que forma una imagen, elementos o atributos que incluyen, para cada una de las regiones más interesadas, un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada en una número de muestras de luma en relación con la imagen, un segundo elemento de sintaxis representativo de un ancho de la región más interesada en un número de muestras de luma en relación con la imagen, y un tercer elemento de sintaxis representativo de una altura de la región más interesada en un número de muestras de luma en relación con la imagen.
La Figura 4 es un diagrama conceptual que ilustra un ejemplo de codificación de mosaico en una proyección cuboidal 230. La proyección cuboidal 230 incluye caras de cubo 232A, 232B, 232C, como se muestra, e incluye caras de cubo adicionales, que no se muestran porque están obstruidas. En este ejemplo, cada una de las caras de cubo de la proyección cuboidal 230 se divide en cuatro mosaicos: la cara de cubo 232A se divide en cuatro mosaicos 234A—234D, la cara de cubo 232B se divide en cuatro mosaicos 236A—236D y la cara de cubo 232C se divide en cuatro baldosas 238A—238D. Las otras caras de cubo no mostradas también se dividirían en cuatro mosaicos respectivos, en este ejemplo, para un total de 24 mosaicos pequeños. En general, el dispositivo de preparación de contenido 20 puede proporcionar datos de vídeo para cada uno de los mosaicos (por ejemplo, mosaicos 234A—234D, 236A—236D, 238A—238D y los mosaicos de las caras de cubo no mostradas).
Además, el dispositivo de preparación de contenido 20 puede proporcionar datos de video para mosaicos grandes, que pueden cubrir cada una de las caras de cubo. Por ejemplo, el dispositivo de preparación de contenido 20 puede proporcionar datos de vídeo para una cara de cubo cubierta de mosaico 232A, datos de vídeo para una cara de cubo cubierta de mosaico 232B, datos de vídeo para una cara de cubo cubierta de mosaico 232C, y datos de vídeo para mosaicos que cubren las caras de cubo no mostradas. En algunos ejemplos, el codificador de vídeo 28 puede codificar tamaños de mosaico más grandes sólo para aquellos puntos de vista que tienen más probabilidades de ser vistos. Por lo tanto, si es poco probable que un usuario mire hacia arriba o hacia abajo, el codificador de video 28 solo puede codificar datos de video para mosaicos grandes que cubren las caras de cubo 232B y 232C, y para caras de cubo opuestas a caras de cubo 232B y 232C, pero no, por ejemplo, cara de cubo 232A. Opcionalmente, cada uno de los mosaicos puede tener vistas izquierda y derecha para datos de video estéreo.
La VR es la capacidad de estar virtualmente presente en un mundo no físico creado mediante la representación de imágenes y sonidos naturales y/o sintéticos correlacionados por los movimientos de un usuario inmerso, lo que permite al usuario interactuar con ese mundo. Con los progresos recientes hechos en los dispositivos de renderizado, tal como las pantallas montadas en la cabeza (HMD) y la creación de video VR (a menudo también denominados como video de 360 grados), puede ofrecerse una calidad de experiencia significativa. Las aplicaciones de VR incluyen juegos, entrenamiento, educación, videos deportivos, compras en línea, entrenamiento de adultos, etc.
Un sistema de VR típico puede incluir los siguientes componentes y técnicas:
1) Un conjunto de cámaras, que típicamente consiste en múltiples cámaras individuales que apuntan en diferentes direcciones e idealmente cubren colectivamente todos los puntos de vista alrededor del conjunto de cámaras.
2) La unión de imágenes, donde las imágenes de video tomadas por las múltiples cámaras individuales se sincronizan en el dominio del tiempo y se unen en el dominio espacial, para ser un video esférico, pero mapeado a un formato rectangular, tal como equirectangular (como un mapa del mundo) o mapa de cubo.
3) El video en el formato rectangular mapeado se codifica/comprime mediante el uso de un códec de video, por ejemplo, H.265/HEVC o H.264/AVC.
4) Los flujos de bits de video comprimido pueden almacenarse y/o encapsularse en un formato multimedia y transmitirse (posiblemente solo el subconjunto que cubre solo el área que se ve por un usuario) a través de una red a un receptor.
5) El receptor recibe los flujos de bits de video o parte de ellos, posiblemente encapsulados en un formato, y envía la señal de video decodificada o parte de ella a un dispositivo de renderización.
6) El dispositivo renderización puede ser, por ejemplo, un HMD, que puede rastrear el movimiento de la cabeza e incluso el momento del movimiento de los ojos y renderizar la parte correspondiente del video de manera que se entregue una experiencia inmersiva al usuario.
Una característica del video de VR en comparación con el video normal es que en VR solo un subconjunto de toda la región de video representada por las imágenes de video, correspondiente al FOV actual, también denominado como ventanilla, por ejemplo, el área que actualmente está viendo el usuario, se muestra, mientras que en las aplicaciones de video típicamente se muestra toda la región de video. Esta característica puede usarse para mejorar el rendimiento de los sistemas de vídeo de VR, por ejemplo, mediante el uso de mapeo de proyección dependiente de la ventanilla o codificación de vídeo dependiente de la ventanilla. La mejora del rendimiento puede ser una o ambas de menos ancho de banda de transmisión y menor complejidad de decodificación en comparación con los sistemas de video de VR convencionales bajo la misma resolución/calidad de la parte de video presentada al usuario.
El mapeo de proyección dependiente de la ventanilla también puede denominarse mapeo de proyección asimétrico. Un ejemplo es el mapa cúbico submuestreado, por ejemplo, la proyección cuboidal 230. Un mapa de cubos típico puede incluir seis caras de igual tamaño. En un ejemplo de un mapa de cubos submuestreado, una de las caras puede mantenerse sin cambios, mientras que la cara en el lado opuesto puede submuestrearse o reducirse a un tamaño más pequeño ubicado en el área central de la forma original de la cara, y otras caras se escalan geométricamente en consecuencia (aún manteniendo las seis caras). El extremo puede ser para reducir la escala de la cara en el lado opuesto para que sea un solo punto, y por lo tanto el cubo se convierte en una pirámide. En otro ejemplo de mapa de cubos submuestreado, algunas caras son proporcionalmente de tamaño reducido, por ejemplo, por una relación de 2x2 (es decir, 2:1 en cada dirección paralela a un borde de la cara).
Tal escala de tamaño reducido también puede aplicarse a diferentes regiones para otros mapeos de proyección, como equirectangular. Un ejemplo es reducir el tamaño de las regiones superior e inferior (es decir, los polos).
La codificación de vídeo dependiente de la ventanilla también puede denominarse decodificación de vídeo parcial en base a la ventanilla, para permitir la decodificación solo parcialmente de toda la región de vídeo codificada para proporcionar información suficiente para la visualización fOv o la ventanilla actual.
En un ejemplo de codificación de vídeo dependiente de la ventanilla, el vídeo de VR se codifica al usar conjuntos de mosaicos con movimiento restringido de manera que cada región potencial que cubre un FOV o una ventanilla puede decodificarse independientemente de otras regiones. Para un FOV o una ventanilla actuales particulares, los datos de video codificados del conjunto mínimo de mosaicos decodificables independientemente que cubren el FOV o ventanilla actuales se envían al cliente, se decodifican y se muestran. Una deficiencia de este enfoque es que cuando el usuario gira la cabeza rápidamente hacia un nuevo FOV que no está cubierto por los datos de video enviados, no puede verse nada en el área no cubierta por los mosaicos de los datos de video antes que lleguen los datos que cubren el nuevo FOV. Esto puede suceder fácilmente a menos que el tiempo de ida y vuelta de la red sea extremadamente bajo, por ejemplo, en una magnitud de 10 milisegundos, lo que no es factible o al menos un gran desafío hoy o en un futuro próximo.
Otro ejemplo de codificación de video dependiente de la ventanilla se propuso en la Solicitud de Patente de Estados Unidos 15/195.439, presentada el 28 de junio de 2016, denominada codificación independiente de múltiples resoluciones (IMRC), en la que el vídeo esférico/panorámico se codifica a múltiples resoluciones diferentes independientes entre sí, y cada representación se codifica al usas conjuntos de mosaicos con movimiento restringido. El receptor elige decodificar diferentes partes del video esférico/panorámico a diferentes resoluciones. Típicamente, la parte del video esférico que se observa actualmente por el usuario, es decir, el FOV actual o la ventanilla actual, forma parte del flujo de bits de video codificado a mayor resolución. La región que rodea el FOV actual es parte del flujo de bits de video codificado con una resolución ligeramente más baja, y así sucesivamente. La parte del panorama directamente detrás de la cabeza del observador es parte del flujo de bits de video codificado a la menor resolución. Se afirma que, en caso de un movimiento de la cabeza por parte del usuario, la experiencia del usuario se degradará solo en una pequeña cantidad en la mayoría de los casos, y la degradación de la calidad será más grave solo en caso de un movimiento repentino de la cabeza muy grande, lo cual es raro.
En otro ejemplo de codificación de video dependiente de la ventanilla, los flujos de bits de video de múltiples resoluciones se codifican de forma escalable al usar un códec de video escalable como SHVC. Además, siempre se envía todo el flujo de bits del video de menor resolución (o la capa base). El video de menor resolución no necesita codificarse al usar mosaicos o conjuntos de mosaicos con movimiento restringido, aunque también funcionaría si se codifica con mosaicos o conjuntos de mosaicos con restricciones de movimiento. Para otros aspectos, se aplica la misma estrategia descrita anteriormente. Este enfoque permite una codificación más eficiente del video de menor resolución porque la codificación de mosaicos o conjuntos de mosaicos con movimiento restringido de mosaicos reduce la eficiencia de codificación, y también una codificación más eficiente de flujos de resoluciones más altas debido al uso de predicción entre capas. Además, este enfoque también permite una conmutación de FOV más eficiente, ya que una vez que se inicia la conmutación de FOV, el servidor o servidor perimetral puede dejar de enviar inmediatamente datos de video que provienen del flujo de video de una resolución más alta (que la capa base) y que no cubren ninguna región del nuevo FOV. Si no se envían los datos de video de menor resolución que cubre el FOV actual (es decir, solo se envían los datos de video de mayor resolución que cubren el FOV actual), durante la conmutación de FOV, el servidor a veces tendría que continuar enviando datos de video que provienen de la secuencia de video de una mayor resolución y que cubren solo el FOV antiguo o parte del mismo, estar preparado de manera que el usuario pueda al menos ver el video de menor calidad en caso de que regrese al antiguo FOV o parte del mismo.
En la contribución MPEG m37819, se discutió un caso de uso sobre la señalización y el uso de la información en el corte del director, de manera que la reproducción de VR puede mostrar la ventanilla dinámicamente cambiante en la que un director quiere que la audiencia se centre incluso cuando el usuario no está girando la cabeza o al cambiar la ventanilla a través de otra UI. Se mencionó que tales ventanillas pueden proporcionarse de un video omnidireccional escena por escena.
En lugar de depender necesariamente solo de un campo de visión de un usuario para seleccionar una calidad para solicitar mosaicos (por ejemplo, mosaicos 234A—234D, 236A—236D, 238A—238D, y los mosaicos de las caras de cubo no mostradas), una o más técnicas descrito en la presente memoria permiten que el dispositivo cliente 40 y/o el dispositivo servidor 60 busque previamente datos de alta calidad para uno o más mosaicos que incluyen una o más regiones más interesadas. Por ejemplo, el dispositivo cliente 40 puede solicitar mosaicos 234A-234D antes de recibir un FOV del usuario cuando los datos representativos de una o más regiones más interesadas indican que los mosaicos 234A-234D incluyen una o más regiones más interesadas. En un ejemplo donde el FOV incluye regiones de la imagen que no están incluidas en una o más regiones más interesadas, al recibir el FOV del usuario, el dispositivo cliente 40 puede solicitar más mosaicos (por ejemplo, 236A—236D, 238A—238D) para satisfacer un FOV actual del usuario con una calidad inferior. De esta manera, la una o más regiones más interesadas pueden buscarse previamente (por ejemplo, buscarse antes de recibir el FOV del usuario) para permitir que la una o más regiones más interesadas se reciban en alta calidad, mejorando de esta manera la reproducción de un video, como un video de realidad virtual.
La Figura 5 es un diagrama de flujo que ilustra un enfoque de ejemplo para determinar la información de los datos de video de acuerdo con una o más técnicas descritas en esta divulgación. Los procedimientos de la Figura 5 se describen con respecto al dispositivo cliente 40 y el dispositivo servidor 60 de la Figura 1. Sin embargo, debe entenderse que otros dispositivos pueden configurarse para realizar estas técnicas.
Inicialmente, el dispositivo servidor 60 puede enviar datos representativos de las regiones más interesadas de una imagen (300). Los datos representativos de las regiones más interesadas pueden ser externos a los datos VCL de un flujo de bits que incluye los datos de video. Por ejemplo, el dispositivo servidor 60 envía un mensaje de información de mejora suplementaria (SEI) que incluye los datos representativos de las regiones más interesadas. En algunos ejemplos, el dispositivo servidor 60 envía un cuadro de grupo de muestra (por ejemplo, el cuadro SBGP 162 de la Figura 3) que incluye los datos representativos de las regiones más interesadas. En algunos ejemplos, el dispositivo servidor 60 envía una pista de metadatos temporizada que incluye los datos representativos de las regiones más interesadas.
En cualquier caso, el dispositivo cliente 40 puede determinar las regiones más interesadas de la imagen en base a los datos representativos de las regiones más interesadas (302). Por ejemplo, el dispositivo cliente 40 puede determinar, para cada una de las regiones más interesadas, valores para elementos de sintaxis representativos de una posición de la región más interesada respectiva y un tamaño de la región más interesada respectiva al usar los datos representativos de las regiones más interesadas.
El dispositivo cliente 40 puede buscar previamente datos de vídeo de alta calidad para una o más regiones más interesadas (304). Por ejemplo, el dispositivo cliente 40 puede solicitar datos de video para una o más regiones más interesadas al usar una tasa de bits relativamente alta en comparación con otras regiones de la imagen. El dispositivo servidor 60 puede recibir la solicitud de buscar previamente (306) y puede enviar datos de video de alta calidad para una o más regiones más interesadas (308). El dispositivo cliente 40 puede recibir los datos de video de alta calidad (310). Por ejemplo, el dispositivo cliente 40 puede buscar los datos de video para una o más regiones más interesadas con una latencia más baja y/o con una calidad más alta a la de los datos de video para las otras regiones de la imagen.
El dispositivo cliente 40 puede emitir una solicitud de datos de video de baja calidad para una o más de otras regiones de la imagen (314). Por ejemplo, el dispositivo cliente 40 puede solicitar datos de vídeo de relativamente baja calidad para las imágenes 234c—D de la Figura 4 en comparación con la calidad de video para una o más regiones más interesadas cuando una o más regiones más interesadas incluyen imágenes 238A—D de la Figura 4 y cuando el FOV del usuario incluye las imágenes 238A—D y 234C—D de la Figura 4. Debe entenderse que las regiones fuera de un FOV (por ejemplo, las imágenes 234A—B de la Figura 4) no pueden solicitarse o pueden solicitarse con una relativamente baja calidad a las imágenes determinadas al usar el FOV (por ejemplo, las imágenes 238A—D y 234C—D de la Figura 4).
El dispositivo servidor 60 puede recibir la solicitud (316) y puede enviar los datos solicitados para una o más regiones de la imagen (318). El dispositivo cliente 40 puede recibir los datos solicitados (320). El dispositivo cliente 40 puede determinar un FOV de un usuario (321) y la salida de datos para las regiones incluidas en el FOV al usuario (322). Por ejemplo, el dispositivo cliente 40 puede determinar que el FOV del usuario incluye las imágenes 238A—D y 234C—D de la Figura 4 y la salida de imágenes 238A—D y 234C—D de la Figura 4 para visualizar al usar datos de video de alta y baja calidad (322).
De esta manera, el procedimiento de la Figura 5 representa un ejemplo de un procedimiento que incluye determinar, mediante un procesador de un dispositivo cliente, del procesador implementado en circuitos, una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base a datos representativos de una o más regiones más interesadas, siendo los datos representativos de una o más regiones más interesadas externos a los datos de la capa de codificación de vídeo (VCL) de un flujo de bits que incluye los datos de vídeo; emitir, mediante el procesador del dispositivo cliente, una solicitud de datos de vídeo de relativamente alta calidad para una o más regiones más interesadas de la imagen; y emitir, mediante el procesador del dispositivo cliente, después de emitir la solicitud de los datos de vídeo de relativamente alta calidad, una solicitud de datos de vídeo de relativamente baja calidad para una o más regiones de la imagen.
Asimismo, el procedimiento de la Figura 5 también representa un ejemplo de un procedimiento que incluye determinar, mediante un procesador de un dispositivo de origen, del procesador implementado en circuitos, una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video, una o más regiones interesadas que comprenden una o más regiones que tienen más probabilidades de ser recuperadas por un dispositivo cliente; y generar, mediante el procesador del dispositivo de origen, datos representativos de una o más regiones más interesadas, en los que los datos representativos de la una o más regiones más interesadas son externos a los datos de la capa de codificación de video (VCL) de un flujo de bits que incluye los datos de video. La Figura 6 es un diagrama de flujo que ilustra un enfoque de ejemplo para señalar la información de los datos de video de acuerdo con una o más técnicas descritas en esta divulgación. Los procedimientos de la Figura 6 se describen con respecto al dispositivo cliente 40 y el dispositivo servidor 60 de la Figura 1. Sin embargo, debe entenderse que otros dispositivos pueden configurarse para realizar estas técnicas.
Inicialmente, el dispositivo servidor 60 puede determinar una o más regiones más interesadas de una imagen (330). Por ejemplo, el dispositivo servidor 60 puede recibir una indicación de una selección por parte de un director o productor de una o más regiones más interesadas o el dispositivo servidor 60 (u otro dispositivo) puede derivar una o más regiones más interesadas de las estadísticas de usuario. En cualquier caso, el dispositivo servidor 60 puede generar datos representativos de las regiones más interesadas (332). Los datos representativos de las regiones más interesadas pueden ser externos a los datos VCL de un flujo de bits que incluye los datos de video. Por ejemplo, el dispositivo servidor 60 puede generar un mensaje de información de mejora suplementaria (SEI) que incluye los datos representativos de las regiones más interesadas. En algunos ejemplos, el dispositivo servidor 60 puede generar datos en formato de archivo, tales como un cuadro de grupo de muestra (por ejemplo, el cuadro SBGP 162 de la Figura 3), que incluye los datos representativos de las regiones más interesadas. En algunos ejemplos, el dispositivo servidor 60 puede generar una pista de metadatos temporizada que incluye los datos representativos de las regiones más interesadas.
En cualquier caso, el dispositivo servidor 60 puede enviar los datos representativos de las regiones más interesadas (334) y el dispositivo cliente 40 puede recibir los datos representativos de las regiones más interesadas (336). En respuesta a la recepción de los datos representativos de las regiones más interesadas, el dispositivo cliente 40 puede emitir una solicitud para buscar previamente datos de video de alta calidad para una o más regiones más interesadas (338). El dispositivo servidor 60 puede recibir la solicitud de buscar previamente datos de video de alta calidad para una o más regiones más interesadas (340) y enviar datos de video de alta calidad para una o más regiones más interesadas (342). El dispositivo cliente 40 puede recibir los datos de video de alta calidad (344). El dispositivo cliente 40 puede emitir una solicitud de datos de video de baja calidad para una o más de otras regiones de la imagen (346). El dispositivo servidor 60 puede recibir la solicitud de datos de video de baja calidad para una o más regiones de la imagen (348). En respuesta a la recepción de la solicitud de datos de video de baja calidad para una o más de otras regiones de la imagen, el dispositivo servidor 60 puede enviar datos de video de baja calidad para una o más de otras regiones de la imagen (350). El dispositivo cliente 40 puede recibir los datos de video de baja calidad (352). Aunque no se muestra en el ejemplo de la Figura 6, el dispositivo cliente 40 puede proceder a presentar al menos parte de los datos de vídeo recibidos a un usuario, por ejemplo, como se discutió anteriormente con respecto a la Figura 5, por ejemplo, en base a un campo de visión del usuario.
De esta manera, el procedimiento de la Figura 6 representa un ejemplo de un procedimiento que incluye determinar, mediante un procesador de un dispositivo cliente, del procesador implementado en circuitos, una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base a datos representativos de una o más regiones más interesadas, siendo los datos representativos de una o más regiones más interesadas externos a los datos de la capa de codificación de vídeo (VCL) de un flujo de bits que incluye los datos de vídeo; emitir, mediante el procesador del dispositivo cliente, una solicitud de datos de vídeo de relativamente alta calidad para una o más regiones más interesadas de la imagen; y emitir, mediante el procesador del dispositivo cliente, después de emitir la solicitud de los datos de vídeo de relativamente alta calidad, una solicitud de datos de vídeo de relativamente baja calidad para una o más regiones de la imagen.
Asimismo, el procedimiento de la Figura 6 también representa un ejemplo de un procedimiento que incluye determinar, mediante un procesador de un dispositivo de origen, del procesador implementado en circuitos, una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video, una o más regiones interesadas que comprenden una o más regiones que tienen más probabilidades de ser recuperadas por un dispositivo cliente; y generar, mediante el procesador del dispositivo de origen, datos representativos de una o más regiones más interesadas, en los que los datos representativos de la una o más regiones más interesadas son externos a los datos de la capa de codificación de video (VCL) de un flujo de bits que incluye los datos de video.
La Figura 7 es un diagrama de flujo que ilustra un enfoque de ejemplo para buscar previamente datos de video de acuerdo con una o más técnicas descritas en esta divulgación. Los procedimientos de la Figura 7 se describen con respecto al dispositivo cliente 40 y el dispositivo servidor 60 de la Figura 1. Sin embargo, debe entenderse que otros dispositivos pueden configurarse para realizar estas técnicas. En el ejemplo de la Figura 7, el dispositivo servidor 60 puede configurarse como un servidor CDN que inicialmente recupera datos de un servidor de origen y almacena temporalmente los datos. Debe entenderse que el ejemplo de la Figura 7 demuestra que el dispositivo cliente 40 y el dispositivo servidor 60 o ambos pueden usar los datos representativos de las regiones más interesadas.
Inicialmente, el dispositivo servidor 60 puede recibir datos representativos de las regiones más interesadas de una imagen (360). Los datos representativos de las regiones más interesadas pueden ser externos a los datos VCL de un flujo de bits que incluye los datos de video. Por ejemplo, el dispositivo servidor 60 recibe un mensaje de información de mejora suplementaria (SEI) que incluye los datos representativos de las regiones más interesadas. En algunos ejemplos, el dispositivo servidor 60 recibe un cuadro de grupo de muestra (por ejemplo, el cuadro SBGP 162 de la Figura 3) que incluye los datos representativos de las regiones más interesadas. En algunos ejemplos, el dispositivo servidor 60 recibe una pista de metadatos temporizada que incluye los datos representativos de las regiones más interesadas. En cualquier caso, el dispositivo servidor 60 puede buscar previamente datos de video de alta calidad para una o más regiones interesadas (362). Por ejemplo, el dispositivo servidor 60 puede usar una o más regiones más interesadas para buscar previamente datos de video para una o más regiones más interesadas. Por ejemplo, el dispositivo servidor 60 puede buscar los datos de video para una o más regiones más interesadas con una latencia más baja y/o con una calidad más alta a la de los datos de video para las otras regiones de la imagen.
Al buscar previamente datos de vídeo de alta calidad para una o más regiones interesadas, el dispositivo servidor 60 puede almacenar los datos de vídeo de alta calidad buscados previamente para una o más regiones más interesadas (364). En un ejemplo donde el dispositivo servidor 60 es un servidor perimetral configurado para almacenar (por ejemplo, caché) datos de video, el dispositivo servidor 60 puede almacenar los datos de video de alta calidad. En algunos ejemplos, el dispositivo servidor 60 puede determinar la duración del almacenamiento de los datos de vídeo de alta calidad para una o más regiones más interesadas en base a los datos representativos de las regiones más interesadas de una imagen. Por ejemplo, el dispositivo servidor 60 puede clasificar los datos de video de alta calidad más alto cuando el dispositivo servidor 60 determina que los datos de video de alta calidad más altos son para las regiones más interesadas, de manera que los datos de video de alta calidad para las regiones más interesadas se mantiene para el almacenamiento a largo plazo mientras que otros datos de video (por ejemplo, para otras regiones), que se recuperaron en un momento similar al de los datos de video de alta calidad para las regiones más interesadas, se eliminan.
El dispositivo cliente 40 puede emitir una solicitud para buscar previamente datos de vídeo de alta calidad para una o más regiones más interesadas (366). Por ejemplo, el dispositivo cliente 40 puede solicitar datos de video para una o más regiones más interesadas al usar una tasa de bits relativamente alta en comparación con otras regiones de la imagen. El dispositivo servidor 60 puede recibir la solicitud de buscar previamente (368) y puede enviar datos de video de alta calidad para una o más regiones más interesadas (370). El dispositivo cliente 40 puede recibir los datos de video de alta calidad (372).
El dispositivo cliente 40 puede emitir una solicitud de datos de video de baja calidad para una o más de otras regiones de la imagen (374). El dispositivo servidor 60 puede recibir la solicitud de datos de video de baja calidad para una o más regiones de la imagen (376). En respuesta a recibir la solicitud de datos de video de baja calidad para una o más regiones de la imagen, el dispositivo servidor 60 puede buscar datos de video de baja calidad para una o más regiones de la imagen (378) y enviar datos de video de baja calidad para una o más regiones de la imagen (380). El dispositivo cliente 40 puede recibir los datos de video de baja calidad (382). Aunque no se muestra en el ejemplo de la Figura 7, el dispositivo cliente 40 puede proceder a presentar al menos parte de los datos de vídeo recibidos a un usuario, por ejemplo, como se discutió anteriormente con respecto a la Figura 5, por ejemplo, en base a un campo de visión del usuario.
De esta manera, el procedimiento de la Figura 7 representa un ejemplo de un procedimiento que incluye determinar, mediante un procesador de un dispositivo cliente, del procesador implementado en circuitos, una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video en base a datos representativos de una o más regiones más interesadas, siendo los datos representativos de una o más regiones más interesadas externos a los datos de la capa de codificación de vídeo (VCL) de un flujo de bits que incluye los datos de vídeo; emitir, mediante el procesador del dispositivo cliente, una solicitud de datos de vídeo de relativamente alta calidad para una o más regiones más interesadas de la imagen; y emitir, mediante el procesador del dispositivo cliente, después de emitir la solicitud de los datos de vídeo de relativamente alta calidad, una solicitud de datos de vídeo de relativamente baja calidad para una o más regiones de la imagen.
Asimismo, el procedimiento de la Figura 7 también representa un ejemplo de un procedimiento que incluye determinar, mediante un procesador de un dispositivo de origen, del procesador implementado en circuitos, una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video, una o más regiones interesadas que comprenden una o más regiones que tienen más probabilidades de ser recuperadas por un dispositivo cliente; y generar, mediante el procesador del dispositivo de origen, datos representativos de una o más regiones más interesadas, en los que los datos representativos de la una o más regiones más interesadas son externos a los datos de la capa de codificación de video (VCL) de un flujo de bits que incluye los datos de video.
En uno o más ejemplos, las funciones descritas pueden implementarse en hardware, software, microprograma o cualquiera de sus combinaciones. Si se implementan en software, las funciones pueden almacenarse en o transmitirse como una o más instrucciones o código en un medio legible por ordenador y que se ejecutan mediante una unidad de procesamiento basada en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, que corresponden a un medio tangible, tal como medios de almacenamiento de datos, o medios de comunicación, que incluyen cualquier medio que facilite transferir un programa informático de un lugar a otro, por ejemplo, de acuerdo con un protocolo de comunicación. De esta manera, los medios legibles por ordenador generalmente pueden corresponder a (1) medios de almacenamiento legibles por ordenador tangibles que no son transitorios o (2) un medio de comunicación como una señal u onda portadora. Los medios de almacenamiento de datos pueden ser cualquier medio disponible al que pueda accederse mediante uno o más ordenadores o uno o más procesadores para recuperar las instrucciones, códigos y/o estructuras de datos para la implementación de las técnicas descritas en esta divulgación. Un producto de programa informático puede incluir un medio legible por ordenador.
A manera de ejemplo, y no de limitación, tales medios legibles por ordenador pueden comprender RAM, ROM, EPROM, EEPROM, CD-ROM u otro almacenamiento en disco óptico, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnéticos, memoria flash o cualquier otro medio que pueda usarse para almacenar el código del programa deseado en forma de instrucciones o estructuras de datos y al que puede accederse por un ordenador. También, cualquier conexión se califica apropiadamente como un medio legible por ordenador. Por ejemplo, si las instrucciones se transmiten desde un sitio web, servidor, u otra fuente remota mediante el uso de un cable coaxial, un cable de fibra óptica, un par trenzado, una línea de suscriptor digital (DSL), o las tecnologías inalámbricas como infrarrojos, radio y microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas tales como infrarrojos, radio y microondas se incluyen en la definición de medio. Sin embargo, debe entenderse que los medios de almacenamiento legibles por ordenador y los medios de almacenamiento de datos no incluyen conexiones, ondas portadoras, señales u otros medios transitorios, pero en cambio se dirigen a medios de almacenamiento tangibles y no transitorios. Disco, como se usa en la presente memoria, incluye el disco compacto (CD), el disco de láser, el disco óptico, el disco digital versátil (DVD), el disquete, y el disco Blu-ray donde existen los discos que usualmente reproducen los datos de manera magnética, mientras que otros discos reproducen los datos de manera óptica con láseres. Las combinaciones de los medios anteriores pueden incluirse además dentro del ámbito de los medios legibles por ordenador.
Las instrucciones pueden ejecutarse por uno o más procesadores, como uno o más procesadores de señales digitales (DSP), microprocesadores de propósito general, circuitos integrados para aplicaciones específicas (ASIC), matriz de puertas lógicas programable en campo (FPGA) u otro circuito integrado lógico o discreto equivalente. En consecuencia, el término "procesador", como se usa en la presente memoria puede referirse a cualquiera de las estructuras anteriores o cualquier otra estructura adecuada para la implementación de las técnicas descritas en la presente memoria. Además, en algunos aspectos, la funcionalidad descrita en la presente memoria puede proporcionarse dentro de módulos de hardware y/o software dedicados configurados para la codificación y decodificación, o incorporarse en un códec combinado. Asimismo, las técnicas se podrían implementar completamente en uno o más circuitos o elementos lógicos.
Las técnicas de esta divulgación pueden implementarse en una amplia variedad de dispositivos o aparatos, que incluyen un teléfono inalámbrico, un circuito integrado (IC) o un conjunto de IC (por ejemplo, un conjunto de chips). En esta divulgación se describen varios componentes, módulos o unidades para enfatizar los aspectos funcionales de los dispositivos configurados para realizar las técnicas divulgadas, pero no necesariamente requieren la realización por diferentes unidades de hardware. En lugar de, como se describió anteriormente, varias unidades pueden combinarse en una unidad de hardware de códec o proporcionarse por una colección de unidades de hardware interoperativas, que incluyen uno o más procesadores como se describió anteriormente, junto con software y/o microprograma adecuados.
Se han descrito varios ejemplos. La invención se establece en las reivindicaciones adjuntas.

Claims (15)

REIVINDICACIONES
1. Un procedimiento de transmisión continua de datos de video de realidad virtual, comprendiendo el procedimiento:
recibir, mediante un procesador de un dispositivo cliente desde un dispositivo servidor, el procesador implementado en circuitos, datos representativos de una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de video de 360 grados, los datos representativos de una o más regiones más interesadas que son externos a los datos de la capa de codificación de video (VCL) de un flujo de bits que incluye los datos de video; emitir, mediante el procesador del dispositivo cliente, una solicitud para buscar previamente datos de vídeo de relativamente alta calidad para una o más regiones más interesadas de una próxima imagen;
recibir, mediante el procesador del dispositivo cliente, los datos de vídeo de relativamente alta calidad para una o más regiones de la imagen más interesadas;
emitir, mediante el procesador del dispositivo cliente, después de emitir la solicitud para buscar previamente los datos de video de relativamente alta calidad, una solicitud para buscar datos de video de relativamente baja calidad para una o más regiones de la imagen, la solicitud de datos de video de relativamente baja calidad que incluye una indicación de una o más de otras regiones de la imagen; y
recibir, mediante el procesador del dispositivo cliente, los datos de vídeo de relativamente baja calidad para una o más regiones de la imagen.
2. El procedimiento de la reivindicación 1, que comprende además:
emitir, mediante el procesador del dispositivo cliente, después de emitir la solicitud de datos de los videos de relativamente alta calidad para una o más regiones más interesadas de la imagen, una solicitud de datos de video de relativamente alta calidad para una o más regiones de una imagen posterior en base a un campo de visión (FOV).
3. El procedimiento de la reivindicación 1, en el que la determinación de una o más regiones más interesadas comprende determinar una o más regiones más interesadas en base a un mensaje de información de mejora suplementaria (SEI) que incluye los datos representativos de una o más regiones más interesadas.
4. El procedimiento de la reivindicación 1, en el que la determinación de una o más regiones más interesadas comprende determinar una o más regiones más interesadas en base a un cuadro de grupo de muestra que incluye los datos representativos de una o más regiones más interesadas, el cuadro de grupo de muestra que se incluye en la información de encabezado de formato de archivo de un archivo que incluye los datos de VCL.
5. El procedimiento de la reivindicación 1, en el que la determinación de una o más regiones más interesadas de la pluralidad de regiones de la imagen comprende determinar una o más regiones más interesadas de la pluralidad de regiones de la imagen en base a una pista de metadatos temporizada que incluye los datos representativos de una o más regiones más interesadas.
6. El procedimiento de la reivindicación 1, en el que la determinación de una o más regiones más interesadas comprende determinar una o más regiones más interesadas en base a una descripción de presentación de medios (MPD) de transmisión continua dinámica a través de HTTP (DASH) que incluye los datos representativos de una o más regiones más interesadas.
7. El procedimiento de la reivindicación 1, en el que la determinación de una o más regiones más interesadas comprende determinar una o más regiones más interesadas en base a al menos un elemento de sintaxis de los datos representativos de una o más regiones más interesadas, el elemento de sintaxis que tiene un valor representativo de un número de las regiones más interesadas.
8. El procedimiento de la reivindicación 1, en el que la determinación de una o más regiones más interesadas comprende determinar, para cada región más interesada de la una o más regiones más interesadas, una pluralidad de valores para una pluralidad de elementos de sintaxis representativos de una posición de una respectiva región más interesada y un tamaño de la respectiva región más interesada.
9. El procedimiento de la reivindicación 8, en el que determinar, para cada región más interesada de la una o más regiones más interesadas, la pluralidad de valores para la pluralidad de elementos de sintaxis representativos de la posición de la región más interesada respectiva y el tamaño de la región más interesada comprende determinar, para cada región más interesada de la una o más regiones más interesadas, un bucle sobre la región más interesada respectiva que representa la posición de la región más interesada respectiva y el tamaño de la región más interesada respectiva.
10. El procedimiento de la reivindicación 8, en el que determinar, para cada región más interesada de la una o más regiones más interesadas, la pluralidad de valores para la pluralidad de elementos de sintaxis representativos de la posición de la región más interesada respectiva y el tamaño de la región más interesada respectiva comprende determinar, para cada región más interesada de la una o más regiones más interesadas, un primer elemento de sintaxis representativo de una parte superior de la región más interesada respectiva, un segundo elemento de sintaxis representativo de una parte inferior de la respectiva región más interesada, un tercer elemento de sintaxis representativo de un lado izquierdo de la respectiva región más interesada, y un cuarto elemento de sintaxis representativo de un lado derecho de la respectiva región más interesada.
11. El procedimiento de la reivindicación 8, en el que determinar, para cada región más interesada de la una o más regiones más interesadas, la pluralidad de valores para la pluralidad de elementos de sintaxis representativos de la posición de la región más interesada respectiva y el tamaño de la región más interesada respectiva comprende determinar, para cada región más interesada de la una o más regiones más interesadas:
i. un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada respectiva y un segundo elemento de sintaxis representativo de una esquina inferior derecha de la región más interesada respectiva; o
ii. un primer elemento de sintaxis representativo de una esquina superior izquierda de la región más interesada respectiva, un segundo elemento de sintaxis representativo de un ancho de la región más interesada respectiva, y un tercer elemento de sintaxis representativo de una altura de la región más interesada respectiva.
12. Un dispositivo para la transmisión continua de datos de video de realidad virtual, comprendiendo el dispositivo:
medios para recibir, en un dispositivo cliente desde un dispositivo servidor, datos representativos de una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de vídeo de 360 grados, siendo los datos representativos de una o más regiones más interesadas externos a los datos de la capa de codificación de video (VCL) de un flujo de bits que incluye los datos de video;
medios para emitir una solicitud para buscar previamente datos de video de relativamente alta calidad para una o más regiones más interesadas de una próxima imagen;
medios para recibir los datos de video de relativamente alta calidad para una o más regiones más interesadas de una próxima imagen;
medios para emitir después de emitir la solicitud de datos de video de relativamente alta calidad, una solicitud para buscar datos de video de relativamente baja calidad para una o más regiones de la imagen, la solicitud de datos de video de relativamente baja calidad que incluye una indicación de una o más regiones de la imagen; y
medios para recibir los datos de vídeo de relativamente baja calidad para una o más regiones de la imagen que forman una segunda parte de la imagen.
13. Un procedimiento de transmisión continua de datos de video de realidad virtual, comprendiendo el procedimiento:
determinar, mediante un procesador de un dispositivo de origen, el procesador implementado en circuitos, una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de vídeo, la una o más regiones más interesadas que comprenden una o más regiones que tienen más probabilidades de recuperarse por un dispositivo cliente;
generar, mediante el procesador del dispositivo de origen, datos representativos de la una o más regiones más interesadas, en el que los datos representativos de la una o más regiones más interesadas son externos a los datos de la capa de codificación de vídeo (VCL) de un flujo de bits que incluye los datos de video;
emitir los datos representativos de una o más regiones más interesadas;
emitir, mediante el procesador del dispositivo de origen, en respuesta a una solicitud de datos de video de relativamente alta calidad para una o más regiones más interesadas de una próxima imagen, los datos de video de relativamente alta calidad para una o más regiones interesadas de la próxima imagen; y
emitir, mediante el procesador del dispositivo de origen, en respuesta a una solicitud de datos de video de relativamente baja calidad para una o más regiones de la imagen que se reciben después de la solicitud de datos de video de relativamente alta calidad, los datos de video de relativamente baja calidad para una o más regiones de la imagen, la solicitud de datos de video de relativamente baja calidad que incluye una indicación de una o más regiones de la imagen.
14. Un medio de almacenamiento legible por ordenador que tiene almacenadas en él instrucciones que, cuando se ejecutan, provocan que un procesador lleve a cabo el procedimiento de cualquiera de las reivindicaciones 1 a 11 o de la reivindicación 13.
15. Un dispositivo para la transmisión continua de datos de video de realidad virtual, comprendiendo el dispositivo:
medios para determinar una o más regiones más interesadas de una pluralidad de regiones de una imagen de datos de vídeo, la una o más regiones más interesadas que comprende una o más regiones que tienen más probabilidades de recuperarse por un dispositivo cliente;
medios para generar datos representativos de la una o más regiones más interesadas, en el que los datos representativos de la una o más regiones más interesadas son externos a los datos de la capa de codificación de vídeo (VCL) de un flujo de bits que incluye los datos de video;
medios para emitir los datos representativos de una o más regiones más interesadas;
medios para emitir, en respuesta a una solicitud de datos de video de relativamente alta calidad para una o más regiones más interesadas de una próxima imagen, los datos de video de relativamente alta calidad para una o más regiones interesadas de la próxima imagen; y
medios para emitir, en respuesta a una solicitud de datos de video de relativamente baja calidad para una o más regiones de la imagen que se reciben después de la solicitud de datos de video de relativamente alta calidad, los datos de video de relativamente baja calidad para una o más regiones de la imagen, la solicitud de datos de video de relativamente baja calidad que incluye una indicación de una o más regiones de la imagen.
ES17724262T 2016-05-19 2017-05-09 Región más interesada en una imagen Active ES2896687T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662339009P 2016-05-19 2016-05-19
US15/589,782 US10582201B2 (en) 2016-05-19 2017-05-08 Most-interested region in an image
PCT/US2017/031789 WO2017200804A1 (en) 2016-05-19 2017-05-09 Most-interested region in an image

Publications (1)

Publication Number Publication Date
ES2896687T3 true ES2896687T3 (es) 2022-02-25

Family

ID=58710167

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17724262T Active ES2896687T3 (es) 2016-05-19 2017-05-09 Región más interesada en una imagen

Country Status (10)

Country Link
US (1) US10582201B2 (es)
EP (1) EP3459247B1 (es)
JP (1) JP2019519981A (es)
KR (1) KR102252238B1 (es)
CN (1) CN109076229B (es)
BR (1) BR112018073451A2 (es)
CA (1) CA3020511A1 (es)
ES (1) ES2896687T3 (es)
TW (1) TW201810998A (es)
WO (1) WO2017200804A1 (es)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10291923B2 (en) 2016-05-24 2019-05-14 Qualcomm Incorporated Mapping of tile grouping and samples in HEVC and L-HEVC file formats
CN109691113B (zh) 2016-07-15 2022-02-08 皇家Kpn公司 流式传输虚拟现实视频
TWI599218B (zh) * 2016-07-29 2017-09-11 元智大學 即時影音傳輸系統
EP3513562A1 (en) * 2016-09-14 2019-07-24 Koninklijke KPN N.V. Streaming virtual reality video
MX2022004787A (es) * 2016-10-12 2022-12-01 Fraunhofer Ges Forschung Transmisión continua espacialmente desigual.
US11197040B2 (en) * 2016-10-17 2021-12-07 Mediatek Inc. Deriving and signaling a region or viewport in streaming media
WO2018083211A1 (en) 2016-11-04 2018-05-11 Koninklijke Kpn N.V. Streaming virtual reality video
US20180176468A1 (en) 2016-12-19 2018-06-21 Qualcomm Incorporated Preferred rendering of signalled regions-of-interest or viewports in virtual reality video
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11290755B2 (en) 2017-01-10 2022-03-29 Qualcomm Incorporated Signaling data for prefetching support for streaming media data
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
WO2018155939A1 (ko) * 2017-02-22 2018-08-30 에스케이텔레콤 주식회사 영상 복호화 방법 및 장치
KR102424829B1 (ko) * 2017-02-22 2022-07-25 에스케이텔레콤 주식회사 비디오 데이터가 부호화된 비트스트림을 처리하는 방법
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
JP6797755B2 (ja) * 2017-06-20 2020-12-09 キヤノン株式会社 撮像装置、撮像装置の処理方法およびプログラム
US10754242B2 (en) * 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
JP7035401B2 (ja) * 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
US10931725B2 (en) * 2017-09-29 2021-02-23 Apple Inc. Multiway audio-video conferencing
EP3692721A1 (en) 2017-10-04 2020-08-12 VID SCALE, Inc. Customized 360-degree media viewing
US10390063B2 (en) 2017-12-22 2019-08-20 Comcast Cable Communications, Llc Predictive content delivery for video streaming services
US10798455B2 (en) 2017-12-22 2020-10-06 Comcast Cable Communications, Llc Video delivery
CN111869221B (zh) * 2018-04-05 2021-07-20 华为技术有限公司 Dash对象之间的有效关联
CN110519652B (zh) 2018-05-22 2021-05-18 华为软件技术有限公司 Vr视频播放方法、终端及服务器
US10623791B2 (en) 2018-06-01 2020-04-14 At&T Intellectual Property I, L.P. Field of view prediction in live panoramic video streaming
US10812774B2 (en) 2018-06-06 2020-10-20 At&T Intellectual Property I, L.P. Methods and devices for adapting the rate of video content streaming
US11108841B2 (en) 2018-06-19 2021-08-31 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for heterogeneous segmentation of video streaming
CN108833976B (zh) * 2018-06-27 2020-01-24 深圳看到科技有限公司 一种全景视频动态切流后的画面质量评估方法及装置
US10616621B2 (en) 2018-06-29 2020-04-07 At&T Intellectual Property I, L.P. Methods and devices for determining multipath routing for panoramic video content
CN110798707B (zh) * 2018-08-02 2023-06-16 华为技术有限公司 传输媒体数据的方法、客户端和服务器
US10708494B2 (en) 2018-08-13 2020-07-07 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic video content
US11019361B2 (en) 2018-08-13 2021-05-25 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic view of a camera for capturing video content
US10826964B2 (en) 2018-09-05 2020-11-03 At&T Intellectual Property I, L.P. Priority-based tile transmission system and method for panoramic video streaming
US10999583B2 (en) 2018-09-14 2021-05-04 Apple Inc. Scalability of multi-directional video streaming
JP2021192471A (ja) * 2018-09-14 2021-12-16 ソニーグループ株式会社 表示制御装置および表示制御方法、並びにプログラム
US10779014B2 (en) * 2018-10-18 2020-09-15 At&T Intellectual Property I, L.P. Tile scheduler for viewport-adaptive panoramic video streaming
US10560759B1 (en) 2018-10-23 2020-02-11 At&T Intellectual Property I, L.P. Active network support on adaptive virtual reality video transmission
US10939139B2 (en) 2018-11-29 2021-03-02 Apple Inc. Adaptive coding and streaming of multi-directional video
US11032607B2 (en) 2018-12-07 2021-06-08 At&T Intellectual Property I, L.P. Methods, devices, and systems for embedding visual advertisements in video content
EP3906701A4 (en) * 2019-01-04 2022-09-07 Nokia Technologies Oy METHOD AND APPARATUS FOR STORING AND SIGNALING MEDIA SEGMENT SIZES AND PRIORITY ORDERS
KR20200092127A (ko) 2019-01-24 2020-08-03 현대자동차주식회사 형상기억 고분자를 적용한 자동차 패널의 복원방법
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
CN112312159A (zh) * 2019-07-30 2021-02-02 华为技术有限公司 视频的缓存方法和装置
US11956295B2 (en) 2019-09-27 2024-04-09 Apple Inc. Client-end enhanced view prediction for multi-view video streaming exploiting pre-fetched data and side information
US11303688B2 (en) * 2019-09-30 2022-04-12 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11503099B2 (en) 2020-03-31 2022-11-15 Google Llc Methods, systems, and media for selecting video formats for adaptive video streaming
WO2021204136A1 (en) * 2020-04-07 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Signaling for inter prediction in high level syntax
CN115668917A (zh) 2020-04-09 2023-01-31 抖音视界有限公司 视频编解码中的去块信令通知
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
EP4128775A4 (en) 2020-04-26 2024-03-27 ByteDance Inc. CONDITIONAL SIGNALING OF SYNTAX ELEMENTS OF A VIDEO CODING
EP3972273A1 (en) 2020-09-17 2022-03-23 Lemon Inc. Handling of non-vcl nal units in picture unit construction
CN115776585A (zh) * 2020-12-11 2023-03-10 海信视像科技股份有限公司 显示设备和内容展示方法
CA3228680A1 (en) * 2021-08-09 2023-02-16 Ahmad VAKILI (safa) System and method for real-time multi-resolution video stream tile encoding with selective tile delivery by aggregator-server to the client based on user position and depth requirement

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080069890A (ko) * 2007-01-24 2008-07-29 강호갑 사용자의 서비스 등급에 따라 차등화된 이미지 품질을제공하는 보호된 이미지 서비스 시스템
WO2009003885A2 (en) * 2007-06-29 2009-01-08 Thomson Licensing Video indexing method, and video indexing device
WO2009023188A2 (en) * 2007-08-15 2009-02-19 Thomson Licensing Method and apparatus for improved video encoding using region of interest (roi) information
KR101042352B1 (ko) * 2008-08-29 2011-06-17 한국전자통신연구원 멀티미디어 방송 시스템에서의 방송신호 수신장치 및 그 방법
JP2010212811A (ja) * 2009-03-06 2010-09-24 Panasonic Corp 動画像符号化装置及び動画像復号化装置
US20120106634A1 (en) * 2009-04-21 2012-05-03 Lg Electronics Inc. Method and apparatus for processing multi-view video signal
US8667054B2 (en) * 2010-07-12 2014-03-04 Opus Medicus, Inc. Systems and methods for networked, in-context, composed, high resolution image viewing
KR20120059214A (ko) * 2010-11-30 2012-06-08 고려대학교 산학협력단 적응적 관심 영역을 적용한 비디오 스트리밍을 제공하는 비디오 코덱 장치 및 그 방법
WO2013077236A1 (en) * 2011-11-21 2013-05-30 Canon Kabushiki Kaisha Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium
CN115442626A (zh) * 2012-06-29 2022-12-06 Ge视频压缩有限责任公司 视频数据流、编码器、编码视频内容的方法以及解码器
US9351005B2 (en) * 2012-09-24 2016-05-24 Qualcomm Incorporated Bitstream conformance test in video coding
US9491457B2 (en) 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
KR101987820B1 (ko) * 2012-10-05 2019-06-11 삼성전자주식회사 고 해상도 컨텐츠를 처리하는 컨텐츠 처리 장치 및 그 방법
US9883011B2 (en) * 2012-10-12 2018-01-30 Canon Kabushiki Kaisha Method and corresponding device for streaming video data
US9521393B2 (en) * 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
KR101852669B1 (ko) * 2013-04-08 2018-04-26 소니 주식회사 Shvc를 이용한 관심 영역 확장성
CN105264876B (zh) * 2013-05-26 2019-04-23 皮克索洛特公司 低成本电视制作的方法及系统
US10003815B2 (en) * 2013-06-03 2018-06-19 Qualcomm Incorporated Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
WO2015009676A1 (en) * 2013-07-15 2015-01-22 Sony Corporation Extensions of motion-constrained tile sets sei message for interactivity
SG11201603039PA (en) * 2013-10-18 2016-05-30 Seven Bridges Genomics Inc Methods and systems for identifying disease-induced mutations
US10645404B2 (en) * 2014-03-24 2020-05-05 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
JP2015222470A (ja) * 2014-05-22 2015-12-10 ソニー株式会社 映像表示装置、情報処理装置、及び映像表示システム
JP6440747B2 (ja) 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
WO2016043637A1 (en) * 2014-09-19 2016-03-24 Telefonaktiebolaget L M Ericsson (Publ) Methods, encoders and decoders for coding of video sequences
US9800898B2 (en) * 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions

Also Published As

Publication number Publication date
KR102252238B1 (ko) 2021-05-14
US20170339415A1 (en) 2017-11-23
EP3459247A1 (en) 2019-03-27
US10582201B2 (en) 2020-03-03
CA3020511A1 (en) 2017-11-23
EP3459247B1 (en) 2021-10-13
CN109076229B (zh) 2022-04-15
CN109076229A (zh) 2018-12-21
WO2017200804A1 (en) 2017-11-23
JP2019519981A (ja) 2019-07-11
KR20190009290A (ko) 2019-01-28
TW201810998A (zh) 2018-03-16
BR112018073451A2 (pt) 2019-03-26

Similar Documents

Publication Publication Date Title
ES2896687T3 (es) Región más interesada en una imagen
KR102342274B1 (ko) 이미지에서 가장 관심있는 영역의 진보된 시그널링
ES2892329T3 (es) Señalización de datos para el soporte de prebúsqueda para datos multimedia de transmisión continua
US10587883B2 (en) Region-wise packing, content coverage, and signaling frame packing for media content
KR102534899B1 (ko) Http 를 통한 동적 적응형 스트리밍에서의 가상 현실 비디오 시그널링
ES2905128T3 (es) Atributos de señalización para datos de vídeo transmitidos por red
TW201841512A (zh) 在使用mime類型參數之網路視頻串流中發信重要視頻資訊
JP7035088B2 (ja) 魚眼ビデオデータのための高レベルシグナリング
ES2818622T3 (es) Entradas de muestra y acceso aleatorio
US20190068946A1 (en) Processing omnidirectional media with dynamic region-wise packing
KR102117805B1 (ko) 전방향성 미디어 포맷을 이용한 미디어 데이터 프로세싱