ES2960073T3 - Procedimiento de procesamiento y sistema de procesamiento de datos de vídeo - Google Patents
Procedimiento de procesamiento y sistema de procesamiento de datos de vídeo Download PDFInfo
- Publication number
- ES2960073T3 ES2960073T3 ES18718120T ES18718120T ES2960073T3 ES 2960073 T3 ES2960073 T3 ES 2960073T3 ES 18718120 T ES18718120 T ES 18718120T ES 18718120 T ES18718120 T ES 18718120T ES 2960073 T3 ES2960073 T3 ES 2960073T3
- Authority
- ES
- Spain
- Prior art keywords
- fov
- dynamic
- static
- data
- data sets
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000003068 static effect Effects 0.000 claims abstract description 51
- 230000007704 transition Effects 0.000 claims abstract description 39
- 230000002123 temporal effect Effects 0.000 claims abstract description 10
- 238000003672 processing method Methods 0.000 claims description 7
- 239000007787 solid Substances 0.000 claims description 2
- 230000008859 change Effects 0.000 description 20
- 238000013459 approach Methods 0.000 description 15
- 239000000463 material Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000009877 rendering Methods 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/4728—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
La invención se refiere a un método de procesamiento de datos de vídeo, que se puede visualizar en al menos un dispositivo de visualización, caracterizado porque a) se calcula previamente y se guarda una cantidad predeterminada de conjuntos de datos FOV estáticos (6, 8) a partir de los datos de vídeo, b) se calculan y guardan datos de vídeo adicionales para las transiciones temporales entre los conjuntos de datos FOV estáticos (6, 8) guardados como conjuntos de datos FOV dinámicos (7) (datos de transición), en donde inmediatamente o en un momento posterior c) una inicial estática o dinámica se selecciona específicamente un conjunto de datos FOV y un conjunto de datos FOV objetivo estático o dinámico, en particular por un usuario, y d) los datos de vídeo correspondientes a los conjuntos de datos FOV seleccionados, incluidos los datos de transición dinámica entre el FOV inicial y el FOV objetivo, se pueden transmitir o se transmiten. La invención se refiere además a un sistema de procesamiento y a un dispositivo cliente. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Procedimiento de procesamiento y sistema de procesamiento de datos de vídeo
Para transiciones fluidas entre perspectivas (campos de visión, en inglés Field-of-View (FOV)) en vídeos, existen básicamente dos enfoques que requieren nuevos cálculos repetitivos (es decir, un cálculo en tiempo real).
Las formas de realización propuestas en este caso proponen un enfoque adicional en el que se elimina el cálculo en tiempo real mediante el cálculo previo y la reutilización de los datos de vídeo correspondientes.
Un cambio de perspectiva es la modificación del campo de visión, en particular en vídeos panorámicos/360° o entre áreas parciales en un área de imagen general más grande de un vídeo plano o una secuencia alternativa de varios vídeos con el mismo punto de partida.
Estado de la técnica
Un enfoque parte del procesamiento de un vídeo (de origen) o de un conjunto de vídeos de origen lógicamente relacionados (por ejemplo, de un sistema multicámara panorámico) calculando/determinando los datos de vídeo del cambio de perspectiva (transición desde una perspectiva de partida (FOV de partida) hacia una perspectiva de destino (FOV de destino)) del material de origen (material de vídeo completo) en el backend (servidor) y de la transmisión de los datos de vídeo renderizados a los clientes de vídeo (clientes). El procesamiento puede consistir a este respecto en realizar una panorámica del ángulo de visión en el vídeo de origen esférico o cilíndrico (Fig. 1a) o modificar la posición de la sección de la imagen en el vídeo de origen plano (Fig. 1b) o sin embargo seleccionar una ruta alternativa entre varios vídeos de origen (Fig. 1c).
Después del cálculo/determinación, los datos de vídeo correspondientes al cambio de perspectiva y los datos de vídeo correspondientes al FOV de destino se transmiten al cliente en un formato correspondiente. Debido al procesamiento dinámico (cálculo/determinación y codificación), este enfoque requiere en cada caso una sesión y los recursos correspondientes para cada cliente, que deben mantenerse disponibles. Como resultado, este enfoque escala mal con un número creciente de clientes (problema de escalabilidad).
En otro enfoque, que se utiliza más comúnmente hoy en día, el material de vídeo completo se transmite al cliente, que a partir de esto calcula/determina los datos de vídeo para el FOV respectivo y las transiciones de perspectiva. Debido a que con este enfoque se transmiten al cliente tanto las áreas de imagen visibles como las finalmente invisibles del vídeo, el ancho de banda se utiliza innecesariamente o se necesita un ancho de banda mayor para la transmisión de datos para garantizar la misma calidad de imagen (resolución) del FOV. Adicionalmente, el vídeo de origen o los vídeos de origen (el respectivo material de origen completo) debe procesarse/renderizarse por el cliente, de modo que además de una mayor transferencia de datos, también se le plantea al cliente un aumento de requerimiento de recursos (memoria, CPU/GPU, energía). A veces, no todos los dispositivos finales están equipados con la potencia de cálculo y de procesador gráfico necesarios para realizar en general el procesamiento del vídeo, por ejemplo, esférico para una transición fluida al cambiar de perspectiva, como por ejemplo en televisores, teléfonos inteligentes (problema del alto requerimiento de recursos).
Actualmente, los vídeos esféricos de 360° se transmiten con los mismos procedimientos que se utilizan cuando se emiten en directo vídeos convencionales. Aunque aproximadamente el 90 % de la imagen de vídeo de 360° se encuentra fuera de la ventana de visualización del usuario individual, a pesar de esto se transmite ésta al cliente. Esto significa que la mayoría del contenido del vídeo emitido en directo al usuario a través de Internet caduca sin ser visto, con lo que se consume innecesariamente ancho de banda y recursos.
El cálculo del campo de visión (FOV) en el cliente también requiere más recursos (CPU y GPU) en comparación con la reproducción de vídeos clásicos. Como se detalla a continuación, existen varios intentos de investigación y estandarización para reducir el uso de ancho de banda y potencia de procesador innecesarios.
Requerimientos
Para poder comparar los distintos enfoques de solución entre sí, se tienen en cuenta los siguientes siete requerimientos.
A1: Emitir en directo solo el campo de visión (FOV) solicitado al cliente: El cliente sólo recibe el contenido del vídeo que se muestra al usuario y, por lo tanto, no se utiliza ancho de banda ni recursos innecesariamente.
A2: Emisión en directo de regímenes de bits adaptables aplicables: Al igual que en la emisión en directo de vídeo tradicional, es importante que sea posible transmitir un único FOV en diferentes regímenes de bits (perfiles de calidad) y que el cliente pueda elegir el conjunto de ajustes más adecuado. Esto depende de varios factores, como el ancho de banda disponible y los recursos disponibles en el aparato de reproducción. Muchos de los enfoques de vídeo de 360° existentes fomentan la emisión en directo adaptativa, usando DASH o HLS. Sin embargo, este enfoque se aplica actualmente a todo el vídeo de 360° (material de origen completo), en lugar de únicamente al FOV solicitado.
A3: Reproducción sin procesamiento adicional por parte del cliente: Para reproducir vídeos de 360°, los respectivos campos de visión deben calcularse a partir de la fuente del vídeo antes de enviar los datos al aparato de reproducción. La carga de procesamiento depende de varios factores, como el método de proyección utilizado (equirectangular, cúbica, cilíndrica), la resolución del vídeo y la velocidad de imágenes. Una reproducción sin procesamiento adicional por parte del cliente permite que incluso aparatos limitados así como aparatos con funciones de programación limitadas reproduzcan contenido de 360° de manera similar a los vídeos convencionales.
A4: Emisión en directo sin procesamiento adicional en el servidor: El procesamiento y cálculo de los datos de vídeo FOV necesarios también puede realizarse en tiempo real en el servidor o en cualquier otro nodo de red en lugar del cliente. Sin embargo, si el sistema está disponible para una gran cantidad de usuarios, esto tiene un impacto en la escala. La emisión en directo de 360° altamente escalable se da cuando no es necesario un procesamiento complejo en tiempo real por cliente.
A5: Uso de redes de entrega de contenido: Las redes de entrega de contenido (CDN) transmiten contenido a los consumidores finales con alta disponibilidad y alto rendimiento. Los objetos multimedia se pueden almacenar en caché en nodos distribuidos en la red para evitar emitir en directo siempre el contenido directamente desde el servidor de origen original. Las solicitudes de contenido normalmente se envían algorítmicamente a los nodos más adecuados para proporcionar el contenido. También es importante beneficiarse de las CDN para reproducir vídeos de 360°. Esto significa que el vídeo de 360° debe estar preparado para que pueda transmitirse a través de las CDN. Cuando se utiliza una CDN no es posible una conexión directa entre los clientes y el servidor de renderizado original (servidor de origen), necesaria para el procesamiento del vídeo específico del cliente en el servidor en tiempo real.
A6: Transición suave al cambiar de perspectiva: Cuando un usuario navega en un vídeo de 360°, es muy importante desde el lado del usuario que el cambio de campo de visión se produzca de manera suave (transición de perspectiva que simula una rotación). Un cambio brusco (corte sin transición) entre los dos campos de visión tiene un efecto negativo en la percepción cualitativa.
A7: Sin distorsiones en el FOV visible: Dependiendo de los tipos de proyección utilizados, el método utilizado para grabar y editar el vídeo, así como la dimensión del FOV visible, se consiguen diferentes calidades. Para lograr la mejor calidad posible, debe haber la menor o ninguna distorsión posible en la representación de la imagen de vídeo.
Todos los enfoques conocidos actualmente para transmitir un campo de visión violan el criterio de uso eficiente de los recursos en el lado del cliente o el criterio de escalabilidad en el lado del servidor. En el primer caso, el cliente debe procesar el contenido recibido antes de mostrarlo para calcular el campo de visión deseado. Esto tiene un impacto en la duración, el rendimiento y la usabilidad de la batería y es particularmente importante en aparatos con recursos limitados. En el segundo caso, se debe proporcionar un codificador de vídeo por cliente en el lado del servidor para calcular el campo de visión. Esto tiene por regla general costos elevados y, generalmente, no escala adecuadamente con un número creciente de clientes.
A continuación, los enfoques ya existentes (L1, L2, L3) y la solución presentada en este caso (L4) se clasifican y se evalúan en relación con los requerimientos A1 a A7 explicados anteriormente.
L1: El material de origen se transfiere completamente al cliente y el procesamiento se realiza en el cliente. Ejemplos: Reproductores 360° de YouTube y Facebook.
L2: El vídeo de 360° se divide en azulejos (en inglés, tiles) que se crean para diferentes regímenes de bits. Dependiendo del FOV actual, los mosaicos que se necesitan para calcular el<f>O<v>actual se solicitan al servidor con un régimen de bits más alto y los restantes con un régimen de bits más bajo. El cliente debe unir los azulejos y calcular el FOV. Ejemplos: Azulejos HEVC.
L3: Procesar el vídeo individualmente en el servidor y emitir en directo solo el campo de visión requerido al cliente. Éste puede reproducirlo en el mismo reproductor que los vídeos convencionales sin ningún procesamiento adicional. Ejemplos: Reproducción de vídeo 360° en la nube de Fraunhofer FOKUS.
L4: Calcular previamente y almacenar una cantidad suficiente de diferentes conjuntos de datos FOV estadísticos y dinámicos a partir del material de origen. Durante la emisión en directo, las secciones requeridas en cada caso de manera correspondiente al desarrollo temporal de los conjuntos de datos FOV calculados previamente almacenados en el servidor se transmiten al cliente. Por lo tanto, en este momento no es necesario ningún cálculo ni en el servidor ni en el cliente. Además, no se utiliza ancho de banda innecesariamente, ya que únicamente se transmiten al cliente los datos para el FOV solicitado.
La Tabla 1 evalúa los enfoques existentes en relación con los requerimientos destacados.
Tabla 1
En el documento LOUAY BASSBOUSS ET AL, "High Quality 360° Video Rendering and Streaming", 2014 2ND INTERNATIONAL CONFERENCE ON 3D VISION, vol. 1, 25 de noviembre de 2016 (20161125), páginas 1-4, XP055486108, ISSN: 1550-6185, DOI: 10.1109/3DV.2014.28 se ha descrito otro procedimiento de procesamiento de datos de vídeo.
Se necesitan soluciones que garanticen, en particular, una buena escalabilidad para servidores y sistemas de cliente.
El procedimiento de procesamiento según la reivindicación 1 proporciona tal solución.
A este respecto, en una primera etapa, se calcula previamente y se almacena una cantidad predeterminada de conjuntos de datos FOV estáticos a partir de material de origen de vídeo (más completo). Los conjuntos de datos FOV estáticos muestran campos de visión (FOV) correspondientes a una dirección de visión fija.
Además, las transiciones temporales entre los conjuntos de datos FOV estáticos almacenados se calculan y almacenan a partir del material de origen de vídeo, que forman datos de transición como conjuntos de datos FOV dinámicos. De este modo, los datos de vídeo se almacenan de antemano, lo que puede formar transiciones entre dos FOV.
A este respecto, un conjunto de datos FOV de partida estático o dinámico y un conjunto de datos FOV de destino estático o dinámico se seleccionan de manera dirigida, en particular por un usuario, indirectamente mediante la selección de los FOV correspondientes, inmediatamente o en un momento posterior. El FOV de origen y el FOV de destino especifican los puntos inicial y final entre los cuales se insertan los conjuntos de datos FOV dinámicos.
Los datos de vídeo correspondientes en el desarrollo temporal a los conjuntos de datos FOV seleccionados, incluidos los datos de transición dinámica entre el FOV de partida y el FOV de destino, se emiten o pueden emitirse en directo. Esto significa que los datos de vídeo pueden emitirse en directo inmediatamente o después de un almacenamiento en caché de los conjuntos de datos<f>O<v>(parciales) estáticos y/o dinámicos seleccionados y los datos de transición dinámica correspondientes (también como uno o más conjuntos de datos FOV (parciales)).
A este respecto, la emisión en directo del vídeo puede visualizarse en particular en el dispositivo de visualización, en particular un cliente.
Para reducir la cantidad de datos a transmitir, en una forma de realización se emiten o pueden emitirse en directo exclusivamente los datos de vídeo necesarios en cada caso temporalmente del conjunto de datos FOV de partida, del conjunto de datos FOV de destino y los datos de transición dinámica.
Para que un mayor número de usuarios con clientes puedan acceder rápidamente a los datos, en una forma de realización los conjuntos de datos FOV estáticos calculados previamente y los conjuntos de datos de datos de transición dinámicos calculados previamente se almacenan de forma redundante en un sistema de servidor, en particular en un sistema de servidor distribuido. En particular, el sistema de servidor puede estar configurado geográficamente distribuido, almacenándose en él los conjuntos de datos al menos parcialmente de forma redundante.
Los datos de transición dinámica se pueden seleccionar de una cantidad de conjuntos de datos FOV dinámicos, que en cada caso cubren un área predeterminada, en particular un área angular o un área de ángulo sólido. También es posible que el usuario controle directa y abruptamente un FOV (diferente) sin reproducir primero las vistas intermedias. La granularidad de los posibles FOV se determina por el número de puntos de interrupción, por ejemplo, en una proyección esférica esto corresponde al número de todas las posiciones angulares discretas de la cámara (virtual) (que a su vez corresponde al número de FOV estáticos). Cuanto mayor sea el número, más conjuntos de datos FOV dinámicos deben mantenerse.
Además, la posición, en particular el punto de vista y/o la dirección de visión, de un espectador virtual puede ser diferente en el FOV de partida y en el FOV de destino.
En una forma de realización, el dispositivo de visualización puede presentar al menos una pantalla plana, al menos una pantalla panorámica curvada, una superficie de proyección semiesférica, una pantalla montada en la cabeza y/o una superficie de proyección de cúpula completa.
El objetivo se soluciona mediante un sistema de procesamiento de datos de vídeo con las características de la reivindicación 9.
A este respecto, un medio para calcular previamente y almacenar una cantidad predeterminada de conjuntos de datos FOV estáticos a partir del material de origen de vídeo y un medio para calcular y almacenar conjuntos de datos FOV dinámicos sirven como datos de transición para las transiciones temporales de los conjuntos de datos FOV estáticos almacenados. Con esta renderización previa se evitan nuevos cálculos complejos. A continuación, estos conjuntos de datos FOV almacenados se utilizarán cuando sea necesario.
Con un medio para la selección indirecta y dirigida de un conjunto de datos FOV de partida estático o dinámico y un conjunto de datos FOV de destino estático o dinámico, en particular a través de una interacción desencadenada por un usuario, tal como una pulsación de tecla, que señala, por ejemplo, un cambio en dirección o el final de un cambio de dirección, o una modificación de la posición o de la dirección de visión en el espacio real, estos conjuntos de datos se seleccionan indirectamente de manera dirigida. El usuario puede seleccionar perspectivas específicas (FOV) de la totalidad de los datos de vídeo calculados previamente (conjuntos de datos FOV) de diferentes maneras.
Entonces, un medio sirve para emitir en directo los datos de vídeo correspondientes en el desarrollo temporal a los conjuntos de datos FOV seleccionados, incluidos los datos de transición dinámica entre el FOV de partida y el FOV de destino.
La visualización puede realizarse entonces en particular en un dispositivo de visualización, en particular con un cliente.
En una forma de realización, algunos o todos los recursos del sistema de procesamiento están dispuestos en diferentes computadoras.
Se describen formas de realización por medio de los dibujos, mostrando a este respecto
Fig. 1a a 1c: cambio de perspectiva en el vídeo de origen, en donde la Fig. 1a muestra una trayectoria cilíndrica, esférica, la Fig. 1b muestra una trayectoria plana y la Fig. 1c muestra una trayectoria alternativa;
Fig. 2: una visualización a modo de ejemplo de conjuntos de datos FOV (parciales) estáticos calculados previamente (P1, P2) y un conjunto de datos FOV (parcial) dinámico (T1) a lo largo del tiempo t;
Fig. 3: una representación de una configuración simplificada con desarrollos temporales de FOV estáticos (33 secciones horizontales) y FOV dinámicos (34, 35 secciones diagonales), los posibles puntos de transición (36) y un desarrollo resaltado de una sesión de usuario (37);
Fig. 4: una representación esquemática de un servidor con conjuntos de datos previamente almacenados para FOV estáticos y dinámicos;
Fig. 5: una representación esquemática de una selección de un conjunto de datos FOV de partida, un conjunto de datos FOV de destino y un conjunto de datos de transición dinámica.
Los procedimientos y sistemas representados en este caso por medio de formas de realización permiten, entre otras cosas, determinar de forma práctica y eficiente los grados de libertad de los cambios de perspectiva en los vídeos, de modo que un único procesamiento del material de vídeo en el backend sea suficiente para a continuación servir eficazmente a cualquier número de clientes de vídeo a través de una red de entrega de contenidos (CDN).
Esta eficiencia puede ser el resultado de una limitación, ya que en muchos escenarios el número ilimitado de grados de libertad no es absolutamente necesario para un cambio del FOV (cambio de perspectiva). La limitación puede parametrizarse con tres valores.
• Pn: número de FOV estáticos
• T<n>: número de posibles FOV vecinos para una transición fluida
• tG: unidad de tiempo más pequeña de una parte de vídeo independiente, generalmente longitud de segmento o de "grupo de imágenes, group-of-pictures (GOP)"
En un proceso de procesamiento previo, se calculan por consiguiente como máximo P<n>* (T<n>+ 1) vídeos, en donde pueden cambiarse entre éstos en los puntos de tiempo T<0>+ n * tG con n >= 0 (T<0>= inicio del vídeo). A petición del cliente, los vídeos calculados previamente se combinan en ciertos puntos/momentos entre sí para el vídeo/emisión en directo del vídeo terminado y se reproducen. La unión puede realizarse tanto en el backend como por parte del cliente, en donde la unión se realiza mediante operaciones de copia de archivos y sin volver a codificar el vídeo. Esto significa que los requerimientos para el cliente son los mismos que para reproducir vídeos/emisiones en directo de vídeo clásicos (por ejemplo, en un teléfono inteligente). Exclusivamente se transmiten solo los datos de vídeo que también se muestran. Además, los vídeos creados una vez durante el procesamiento previo están disponibles para todos los clientes.
En una forma de realización, el mecanismo técnico comprende las siguientes etapas, que se explican en relación con las Fig. 3 a 5.
a) Procesamiento previo y cálculo de los conjuntos de datos FOV estáticos
Para ello, se realiza un procesamiento del vídeo de origen (por ejemplo, un vídeo esférico) y en el backend se generan todos los datos de vídeo necesarios para la transmisión y visualización (solución al problema de escalabilidad).
Se detecta un número fijo de FOV estáticos P<n>.
Un FOV estático se caracteriza porque la cámara (virtual) tiene una ubicación fija en el espacio durante el proceso de procesamiento previo (o en el proceso de generación en el caso de material animado por ordenador) y una dirección de visión 33 fija durante todo el tiempo de grabación 31 (es decir, a lo largo del eje t).
Para cambios universales de FOV (cambios de perspectiva), se ha demostrado que es ventajoso disponer los FOV estáticos - al menos vistos por separado en cada dirección (por ejemplo, horizontal, vertical...) - a intervalos regulares uno de otro. Sin embargo, son posibles otras disposiciones y pueden ser prácticas dependiendo del fin de uso y del contenido del vídeo.
b) Cálculo de las transiciones temporales (conjuntos de datos FOV dinámicos) entre conjuntos de datos FOV estáticos almacenados
Todas las secuencias de vídeo con FOV dinámicos se calculan previamente entre los FOV estáticos, repitiéndose con el intervalo tc. El cálculo previo se realiza mediante una transición, es decir, el movimiento de la posición y/u orientación de una cámara virtual o real en el tiempo.
Para cambios universales de FOV en vídeos, los movimientos panorámicos de la cámara con velocidad y ángulo fijos por regla general son adecuados, sin embargo también pueden configurarse individualmente para cada vídeo y cada escena de vídeo. Para cambios universales de FOV en vídeos para la proyección sobre superficies planas, los movimientos de la cámara con una velocidad fija a lo largo de una línea recta son por regla general adecuados. Otras variantes, por ejemplo un aumento o reducción de la velocidad o un movimiento irregular en curva, son igualmente posibles.
Qué vídeo (es decir, qué conjunto de datos FOV dinámico) durante la reproducción debe usarse para un cambio de perspectiva específico resulta de la dirección de visualización de partida de las cámaras (virtuales) y del número de intervalos pasados tc.
Estas etapas a) y b), en las que todos los vídeos (conjuntos de datos FOV) se calculan previamente según lo especificado, se denominan proceso de renderizado previo. El proceso de renderizado previo puede aplicarse tanto a contenido persistente (contenido bajo demanda) como, con un ligero retraso, a contenido en vivo (contenido en vivo). En principio, el renderizado previo puede realizarse en cualquier momento. Esto debe realizarse también sólo una vez. Las etapas siguientes utilizan entonces estos conjuntos de datos FOV calculados previamente.
El material de vídeo calculado a partir del proceso de renderizado previo se proporciona completo (para contenido bajo demanda) o progresivamente (para contenido en vivo) en una CDN/servidor de almacenamiento 5, que se muestra en la Fig. 4.
La CDN/Servidor de almacenamiento 5 presenta a este respecto conjuntos de datos para FOV estáticos 6, 8 y un FOV dinámico 7. En los conjuntos de datos 6, 7, 8, las secciones parciales 9, 10 individuales de los vídeos están dispuestas con diferentes FOV (organizadas en GOP o segmentos). Los FOV estáticos 6, 8 pueden reconocerse en la figura 4 porque en los respectivos conjuntos de datos 6, 8 representados simbólicamente es invariable la dirección de las flechas de las secciones parciales 9 para la dirección de visión 4 fija. En el conjunto de datos representado simbólicamente para el<f>O<v>7 dinámico, en el conjunto de datos están contenidas secciones parciales 10 con diferentes direcciones de visión.
Los conjuntos de datos 6, 7, 8 en la CDN/servidor de almacenamiento 5 están por lo tanto disponibles para cualquier recuperación y para la etapa de reproducción posterior (etapas d), e)) en un vídeo total.
c) Selección del FOV de partida y de destino
Según los conjuntos de datos FOV estáticos y dinámicos almacenados previamente, ahora se puede iniciar la reproducción real. Para ello se selecciona de manera dirigida un FOV de partida estático o dinámico y un FOV de destino estático o dinámico, en particular por un usuario.
Para ello, un cliente que se encuentra por ejemplo en conexión de intercambio de datos con la CDN/servidor de almacenamiento 5 puede realizar en momentos definidos (n * tG) un cambio del FOV al continuar con un vídeo calculado previamente con un cambio dinámico del FOV 16 (véase la Fig. 5).
El cambio se activa a este respecto mediante una interacción del usuario, por ejemplo, al presionar una tecla u otro método de entrada.
Luego se recuperan los conjuntos de datos FOV calculados previamente (véase la Fig. 4), de modo que no se requiere una nueva codificación (re-encoding) computacional intensiva. Los conjuntos de datos 6, 7, 8 calculados previamente se colocan juntos de tal manera que se fusionan entre sí en los puntos de transición correspondientes (se cortan mediante una operación de copia de archivos).
Además de la navegación mediante un mando a distancia, como se ilustra en la Fig. 5, son posibles otras formas de navegación adecuadas, por ejemplo moviendo (desplazando, girando en el sitio...) un aparato móvil en el espacio. En estos casos, también son posibles otros cambios del FOV distintos de los exclusivamente horizontales y verticales si se almacenan previamente los correspondientes conjuntos de datos de vídeo 6, 7, 8. En caso contrario se realiza una aproximación del cambio del FOV mediante la combinación adecuada de cambios horizontales y verticales del FOV ("cambio de perspectiva en diente de sierra").
d) Transmisión de los datos de vídeo
A continuación, los datos de vídeo (conjuntos de datos FOV parciales) correspondientes temporalmente a los conjuntos de datos FOV seleccionados, incluidos los datos de transición dinámica entre el FOV de partida y el FOV de destino, se emiten en directo al cliente en el orden correcto. A este respecto se recurren a los conjuntos de datos FOV ya calculados previamente y almacenados.
En la Fig. 5 está representado que después de seleccionar un conjunto de datos FOV de partida 15 y un conjunto de datos FOV de destino 17, se inserta un conjunto de datos FOV dinámico 16, en cuyos segmentos se modifica la dirección de visión 4 sucesivamente. La emisión en directo de los conjuntos de datos 15, 16, 17 al cliente de vídeo 13 se simboliza por la tira de película 14.
A este respecto, las secuencias de vídeo (conjuntos de datos FOV estáticos y conjuntos de datos FOV dinámicos) se sincronizan entre sí de modo que son posibles cambios fluidos entre las secuencias de vídeo en puntos definidos en el desarrollo temporal (puntos de transición). Para ello se detectan para todos los puntos de tiempo n * tG (36 en la Fig. 3) las posiciones (por ejemplo, mediante desplazamientos de bytes o almacenamiento en archivos separados) en los vídeos.
El cálculo relativamente poco intensivo desde el punto de vista computacional para concatenar el vídeo resultante (37 en la Fig. 3) se lleva a cabo para cada cliente de vídeo 13 después de la recuperación desde la CDN/servidor de almacenamiento 5 en el backend o por cada cliente de vídeo 13 mismo.
e) Visualización del vídeo
El cliente de vídeo 13 inicia entonces (en el momento T<0>) una sesión con la reproducción de un conjunto de datos FOV estático calculados previamente 15 discrecional.
En cualquier momento (Ta m * tG), el usuario activa el cambio de un FOV estático a uno dinámico (por ejemplo, pulsando la tecla 20).
En cualquier momento posterior (T<0>+ n * tG, m < n), el cliente de vídeo 13 puede continuar reproduciendo un conjunto de datos FOV estático calculado previamente 17 u otro conjunto de datos FOV dinámico 16. El cambio puede desencadenarse, por ejemplo, mediante un evento de usuario (por ejemplo, soltar una tecla 21). El proceso se repite desde el principio hasta el final del vídeo 14 emitido en directo. El tamaño tG es un tamaño de intervalo fijo que se define durante el renderizado previo por el "configurador" o por un requerimiento del cliente, a este respecto se determina el tamaño mediante el equivalente o un múltiplo de la longitud del Grupo de Imágenes (GOP) u otra longitud de segmento técnico durante la creación de los vídeos. Los productos a modo de ejemplo m * tG y n * tG son puntos de tiempo discretos en las escalas de tiempo de los vídeos calculados previamente, en los que es posible una conmutación directa sin tener que volver a codificar los datos del vídeo. La Fig. 3 ilustra posibles opciones de conmutación 36 en los puntos de tiempo donde en cada caso dos vídeos calculados previamente se "cruzan", es decir, el punto de tiempo y la orientación son idénticos y pueden combinarse fácilmente.
Con ello puede reducirse un número infinito de posibilidades en un vídeo esférico a una medida práctica.
La Fig. 2 ilustra a modo de ejemplo y de manera limitada a dos conjuntos de datos FOV estáticos y un conjunto de datos FOV dinámico el desarrollo temporal del procedimiento de la reproducción.
El cliente de vídeo 13 inicia la reproducción con un FOV estático P1 y establece después del intervalo de tiempo 2 * tG la transición con el cambio al FOV dinámico T1, que dura un intervalo de tiempo. A esto le sigue la reproducción del segundo conjunto de datos FOV estático P2. En el caso de un material de origen cilíndrico o esférico, puede asumirse en cada caso una perspectiva de cámara diferente pero fija para P1 y P2 y transiciones alternas sucesivas (panorámicas de cámara) de una perspectiva a la otra y viceversa para T1. De manera análoga, en el caso de un material de origen plano y ancho, puede suponerse que P1 es la sección de imagen izquierda y P2 como la sección de imagen derecha y T1 representa alternativamente para ello las transiciones de izquierda a derecha y de derecha a izquierda. También puede suponerse que P1 es una toma de gran angular y P2 es un primer plano de la misma escena, con en cada caso las transiciones alternas T1 (acercar, alejar).
Un valor típico para tG con buena utilidad al cambiar de perspectiva es de 333 ms (corresponde a una longitud de GOP de 10 a 30 fotogramas por segundo). Con este valor, el usuario puede volver a determinar el cambio del FOV (cambio de perspectiva) 3 veces por segundo. El intervalo de tiempo tG, sin embargo, también puede asumir otros valores, pero es importante que este intervalo se utilice entonces como valor base para los GOP o segmentos en todos los vídeos calculados previamente. tG por lo tanto determina el tiempo de reproducción de un GOP o de un segmento.
La acción del procedimiento descrito consiste en permitir al espectador realizar transiciones fluidas entre perspectivas, es decir, FOV, en vídeos. La ventaja consiste en que el procedimiento se escala de manera eficiente a través del procesamiento previo (etapas a), b) anteriores) y los requerimientos del aparato final durante la reproducción permanecen bajos para una reproducción cualitativamente de alta calidad.
Ejemplos del uso del procedimiento de procesamiento de datos de vídeo incluyen:
• emisión en directo (en vivo) eficiente y escalable de vídeos panorámicos o de 360° para entretenimiento (película, documentación, eventos), tecnología de seguridad
• vídeo interactivo, panning/movimiento/desplazamiento en un vídeo de origen de muy alta resolución
Ejemplo: emisión en directo de vídeo de 360° de 16K
A continuación se representa una aplicación de una de las formas de realización, concretamente "emisión en directo y reproducción de vídeos de 360° de 16K".
Los enfoques convencionales que emiten en directo todo el vídeo de origen de 360° de 16K al cliente de vídeo 13 requieren un ancho de banda de aproximadamente 320 Mbit/s. En este caso, el cliente de vídeo 13 también debe realizar localmente el cálculo de los fotogramas FOV a partir de los fotogramas del vídeo de origen. Este cálculo tarda varios segundos incluso en PC con hardware actual en el caso de vídeos de origen de 16K, es decir, la reproducción en tiempo real no es posible. Para un vídeo con una velocidad de fotogramas de 30 fotogramas por segundo, se espera que la transformación geométrica sea al menos tan rápida como la velocidad de fotogramas original del vídeo de origen para permitir una reproducción fluida. Las pruebas muestran que se necesitan aproximadamente 8 segundos para calcular un fotograma. Para calcular 30 fotogramas, es decir, un segundo de vídeo, el proceso dura aproximadamente 240 segundos.
Con una forma de realización del procedimiento descrito anteriormente, los conjuntos de datos FOV se calculan previamente en calidad 4K a partir del vídeo de origen de 16K y se almacenan en un servidor de almacenamiento. Para la emisión en directo, el cliente de vídeo 13 solicita los segmentos correspondientes (es decir, los conjuntos de datos 6, 7, 8) de los vídeos FOV calculados previamente. El servidor 5 solo entrega el conjunto de datos FOV 4K (parcial) en cada caso visible al cliente 13. El ancho de banda requerido es de aproximadamente 20 Mbits/s. A diferencia de los enfoques convencionales, la solución presentada en este caso no requiere que el cliente de vídeo realice ninguna transformación geométrica, lo que garantiza una reproducción fluida y sin fricciones. Mediante el procedimiento de procesamiento de datos de vídeo, la experiencia del usuario se respalda, por consiguiente, de manera óptima y eficiente.
Claims (11)
1. Procedimiento de procesamiento de datos de vídeo que pueden visualizarse en al menos un dispositivo de visualización, en donde
a) se calcula previamente y se almacena una cantidad predeterminada de conjuntos de datos FOV del campo de visión estáticos (6, 8) a partir de los datos de vídeo,
b) además, los datos de vídeo para las transiciones temporales entre los conjuntos de datos FOV estáticos (6, 8) almacenados se calculan y se almacenan como conjuntos de datos FOV dinámicos (7), en donde inmediatamente o en un momento posterior
c) un FOV de partida estático o dinámico y un FOV de destino estático o dinámico se seleccionan de manera dirigida, en particular por un usuario y
d) pueden emitirse o se emiten en directo los datos de vídeo correspondientes temporalmente a los conjuntos de datos FOV seleccionados, incluidos los conjuntos de datos FOV dinámicos (7) entre el FOV de partida y el FOV de destino.
2. Procedimiento de procesamiento según la reivindicación 1, en donde los datos de vídeo, incluidos los conjuntos de datos FOV dinámicos (7), pueden visualizarse o se visualizan en el dispositivo de visualización, en particular un cliente (13).
3. Procedimiento de procesamiento de datos de vídeo según la reivindicación 1 o 2, en donde exclusivamente pueden emitirse o se emiten en directo los datos de vídeo correspondientes temporalmente del conjunto de datos FOV de partida, del conjunto de datos FOV de destino y los conjuntos de datos FOV dinámicos (7).
4. Procedimiento de procesamiento de datos de vídeo según al menos una de las reivindicaciones anteriores, en donde los conjuntos de datos FOV estáticos (6, 8) calculados previamente y los conjuntos de datos FOV dinámicos (7) calculados previamente se almacenan en un sistema servidor (5), en particular un sistema de servidor distribuido.
5. Procedimiento de procesamiento de datos de vídeo según la reivindicación 4, en donde el sistema servidor (5) está diseñado de manera geográficamente distribuida y los conjuntos de datos se almacenan al menos parcialmente en éste de forma redundante.
6. Procedimiento de procesamiento de datos de vídeo según al menos una de las reivindicaciones anteriores, en donde los conjuntos de datos FOV dinámicos (7) pueden seleccionarse de un conjunto de datos que cubre un intervalo predeterminado, en particular un intervalo angular o un intervalo de ángulo sólido.
7. Procedimiento de procesamiento de datos de vídeo según al menos una de las reivindicaciones anteriores, en donde la posición, en particular el punto de vista y/o la dirección de visión de un espectador virtual es diferente en el FOV de partida y en el FOV de destino.
8. Procedimiento de procesamiento de datos de vídeo según al menos una de las reivindicaciones anteriores, en donde el dispositivo de visualización presenta al menos una pantalla plana, al menos una pantalla panorámica curva, una superficie de proyección semiesférica, un visualizador montado en la cabeza y/o una superficie de proyección de domo completo.
9. Sistema de procesamiento de datos de vídeo que pueden visualizarse en al menos un dispositivo de visualización, que presenta
un medio para calcular previamente y almacenar una cantidad predeterminada de conjuntos de datos FOV estáticos (6, 8) a partir de los datos de vídeo,
un medio para calcular y almacenar conjuntos de datos FOV dinámicos (7) como datos de transición para las transiciones temporales de los FOV estáticos (6, 8) almacenados,
un medio para seleccionar de manera dirigida un FOV de partida estático o dinámico y un FOV de destino estático o dinámico, en particular teclas que pueden presionarse por un usuario, y
un medio para emitir en directo los datos de vídeo correspondientes temporalmente a los conjuntos de datos FOV seleccionados, incluidos los conjuntos de datos FOV dinámicos (7) entre el FOV de partida y el FOV de destino.
10. Sistema de procesamiento según la reivindicación 9, que presenta un dispositivo de visualización, en particular en un cliente (13).
11. Sistema de procesamiento según la reivindicación 9 o 10, en donde
el medio para calcular previamente y almacenar una cantidad predeterminada de conjuntos de datos FOV estáticos (6, 8) a partir de los datos de vídeo, y/o
el medio para calcular y almacenar conjuntos de datos FOV dinámicos (7) como datos de transición para las transiciones temporales de los FOV estáticos (6, 8) almacenados, y/o
el medio para seleccionar de manera dirigida un FOV de partida estático o dinámico y un FOV de destino estático o dinámico, en particular teclas que pueden presionarse por un usuario, y/o
el medio para emitir en directo los datos de vídeo correspondientes a los conjuntos de datos FOV seleccionados, incluidos los conjuntos de datos FOV dinámicos (7) entre el FOV de partida y el FOV de destino,
están dispuestos de manera distribuida en diferentes ordenadores.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017110506 | 2017-05-15 | ||
DE102017125544.3A DE102017125544B3 (de) | 2017-05-15 | 2017-11-01 | Verarbeitungsverfahren und Verarbeitungssystem für Videodaten |
PCT/EP2018/058926 WO2018210485A1 (de) | 2017-05-15 | 2018-04-06 | Verarbeitungsverfahren und verarbeitungssystem für videodaten |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2960073T3 true ES2960073T3 (es) | 2024-02-29 |
Family
ID=62510485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18718120T Active ES2960073T3 (es) | 2017-05-15 | 2018-04-06 | Procedimiento de procesamiento y sistema de procesamiento de datos de vídeo |
Country Status (6)
Country | Link |
---|---|
US (1) | US10841490B2 (es) |
EP (1) | EP3625965B1 (es) |
DE (1) | DE102017125544B3 (es) |
ES (1) | ES2960073T3 (es) |
PL (1) | PL3625965T3 (es) |
WO (1) | WO2018210485A1 (es) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7170441B2 (ja) * | 2018-07-12 | 2022-11-14 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN114598809B (zh) * | 2022-01-18 | 2024-06-18 | 影石创新科技股份有限公司 | 全景视频的视角选取方法、电子设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6956573B1 (en) | 1996-11-15 | 2005-10-18 | Sarnoff Corporation | Method and apparatus for efficiently representing storing and accessing video information |
US20030011750A1 (en) * | 2001-07-16 | 2003-01-16 | Comview Visual Systems Ltd. | Display apparatus and method particularly useful in simulators |
US20150346812A1 (en) | 2014-05-29 | 2015-12-03 | Nextvr Inc. | Methods and apparatus for receiving content and/or playing back content |
-
2017
- 2017-11-01 DE DE102017125544.3A patent/DE102017125544B3/de active Active
-
2018
- 2018-04-06 EP EP18718120.1A patent/EP3625965B1/de active Active
- 2018-04-06 ES ES18718120T patent/ES2960073T3/es active Active
- 2018-04-06 PL PL18718120.1T patent/PL3625965T3/pl unknown
- 2018-04-06 WO PCT/EP2018/058926 patent/WO2018210485A1/de unknown
- 2018-04-06 US US16/609,555 patent/US10841490B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
PL3625965T3 (pl) | 2024-01-03 |
DE102017125544B3 (de) | 2018-06-28 |
US10841490B2 (en) | 2020-11-17 |
EP3625965A1 (de) | 2020-03-25 |
US20200154044A1 (en) | 2020-05-14 |
EP3625965C0 (de) | 2023-07-26 |
WO2018210485A1 (de) | 2018-11-22 |
EP3625965B1 (de) | 2023-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109891906B (zh) | 递送360°视频流的系统和方法 | |
US11055901B2 (en) | Method, apparatus, medium, and server for generating multi-angle free-perspective video data | |
US10469820B2 (en) | Streaming volumetric video for six degrees of freedom virtual reality | |
EP3459252B1 (en) | Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback | |
KR102013403B1 (ko) | 구면 영상 스트리밍 | |
US20190362151A1 (en) | Streaming virtual reality video | |
KR20190031504A (ko) | 파노라마 비디오의 상호작용적 전송을 위한 방법 및 시스템 | |
JP2022536182A (ja) | データストリームを同期させるシステム及び方法 | |
JP7042571B2 (ja) | 画像処理装置およびその制御方法、プログラム | |
JP7243631B2 (ja) | 再生装置および方法、並びに、生成装置および方法 | |
ES2960073T3 (es) | Procedimiento de procesamiento y sistema de procesamiento de datos de vídeo | |
JP2020187706A (ja) | 画像処理装置、画像処理システム、画像処理方法およびプログラム | |
US11134236B2 (en) | Image processing device and system | |
JP2020502955A (ja) | モバイルデバイスのためのピクチャ・イン・ピクチャに基づくビデオストリーミング |