BR112016001639B1 - SYSTEM FOR GENERATING STABILIZED SCENE METADATA - Google Patents

SYSTEM FOR GENERATING STABILIZED SCENE METADATA Download PDF

Info

Publication number
BR112016001639B1
BR112016001639B1 BR112016001639-4A BR112016001639A BR112016001639B1 BR 112016001639 B1 BR112016001639 B1 BR 112016001639B1 BR 112016001639 A BR112016001639 A BR 112016001639A BR 112016001639 B1 BR112016001639 B1 BR 112016001639B1
Authority
BR
Brazil
Prior art keywords
metadata
scene
video
video data
stable
Prior art date
Application number
BR112016001639-4A
Other languages
Portuguese (pt)
Other versions
BR112016001639A2 (en
Inventor
Robin Atkins
Raymond Yeung
Sheng Qu
Original Assignee
Dolby Laboratories Licensing Corporation
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 Dolby Laboratories Licensing Corporation filed Critical Dolby Laboratories Licensing Corporation
Priority claimed from PCT/US2014/048387 external-priority patent/WO2015017314A1/en
Publication of BR112016001639A2 publication Critical patent/BR112016001639A2/en
Publication of BR112016001639B1 publication Critical patent/BR112016001639B1/en

Links

Abstract

SISTEMA E MÉTODOS PARA GERAR METADADOS ESTABILIZADOS DE CENA. A invenção refere-se a métodos e sistemas para gerar e aplicar metadados estáveis de cena para um fluxo de dados de vídeo. Um fluxo de dados de vídeo é dividido ou particionado em cenas e um primeiro conjunto de metadados pode ser gerado para uma dada cena de dados de vídeo. O primeiro conjunto de metadados pode ser quaisquer metadados conhecidos como uma função desejada de conteúdo de vídeo (por exemplo, luminância). O primeiro conjunto de metadados pode ser gerado em uma base quadro a quadro. Em um exemplo, os metadados estáveis de cena podem ser gerados que podem ser diferentes do primeiro conjunto de metadados para a cena. Os metadados estáveis de cena podem ser gerados monitorando-se um recurso desejado com a cena e podem ser usados para manter o recurso desejado dentro de uma faixa aceitável de valores. Isso pode ajudar a evitar artefatos visuais perceptíveis e possivelmente objetáveis mediante a renderização dos dados de vídeo.SYSTEM AND METHODS FOR GENERATING STABILIZED SCENE METADATA. The invention relates to methods and systems for generating and applying stable scene metadata to a video data stream. A video data stream is divided or partitioned into scenes and a first set of metadata can be generated for a given video data scene. The first set of metadata can be any metadata known as a desired function of video content (e.g., luminance). The first set of metadata can be generated on a frame-by-frame basis. In one example, stable scene metadata may be generated that may be different from the first set of metadata for the scene. Stable scene metadata can be generated by tracking a desired feature with the scene and can be used to keep the desired feature within an acceptable range of values. This can help avoid noticeable and possibly objectionable visual artifacts when rendering video data.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOSCROSS REFERENCE TO RELATED ORDERS

[001] Este pedido reivindica a prioridade do Pedido de Patente Provisório n° US 61/859.956, depositado em 30 de julho de 2013, o qual está incorporado a título de referência no presente documento em sua totalidade.[001] This application claims the priority of Provisional Patent Application No. US 61/859,956, filed on July 30, 2013, which is incorporated by reference in this document in its entirety.

CAMPO TÉCNICOTECHNICAL FIELD

[002] A presente invenção refere-se à criação e renderização de conteúdo de vídeo e, particularmente, a sistemas e métodos para gerar metadados associados para aprimorar a renderização de dados de vídeo em visores alvo.[002] The present invention relates to the creation and rendering of video content, and particularly to systems and methods for generating associated metadata to enhance the rendering of video data on target displays.

ANTECEDENTESBACKGROUND

[003] Metadados em um arquivo de vídeo são tipicamente gerados em uma base por quadro ou para quadros-chave. Entretanto, em muitos casos, é possível que a reprodução de vídeo tenha artefatos objetáveis para um espectador do conteúdo de vídeo. Estes artefatos podem ser perceptíveis entre cenas - por exemplo, para cenas que podem ter certos recursos comuns. Por exemplo, a câmera pode estar capturando um vídeo de um ator individual que se move no espaço e tempo - por exemplo, um momento em um ambiente escurecido e então movendo-se para um espaço externo iluminado pelo sol.[003] Metadata in a video file is typically generated on a per-frame or key-frame basis. However, in many cases, it is possible for video playback to have artifacts that are objectionable to a viewer of the video content. These artifacts may be noticeable between scenes - for example, for scenes that may have certain common features. For example, the camera may be capturing video of an individual actor moving through space and time - for example, a moment in a darkened room and then moving to a sunlit outdoor space.

[004] Tal mudança em condições ambientes pode causar artefatos perceptíveis a um espectador (por exemplo, uma mudança nos tons de cor facial do ator mencionado anteriormente). Isso pode ser especialmente verdade quando o conteúdo de vídeo deve ser exibido em um visor alvo que pode ter limitações quanto ao seu desempenho - por exemplo, para luminância, renderização de gama ou similares. Para um criador de conteúdo (tal como um diretor ou um profissional de pós-produção), pode ser possível mitigar tais artefatos gerando-se me- tadados com base em cena.[004] Such a change in ambient conditions may cause noticeable artifacts to a viewer (e.g., a change in the aforementioned actor's facial color tones). This can be especially true when video content must be displayed on a target display that may have limitations on its performance - for example, for luminance, gamma rendering, or the like. For a content creator (such as a director or post-production professional), it may be possible to mitigate such artifacts by generating scene-based metadata.

SUMÁRIOSUMMARY

[005] Métodos e sistemas para gerar e aplicar metadados estáveis de cena para um fluxo de dados de vídeo desejado são revelados no presente documento. Sistemas e/ou métodos são dados em que um fluxo de dados de vídeo é dividido ou particionado em cenas e um primeiro conjunto de metadados pode ser gerado para uma dada cena de dados de vídeo. O primeiro conjunto de metadados pode ser quaisquer metadados conhecidos como uma função desejada de conteúdo de vídeo (por exemplo, luminância gama de cores, etc). O primeiro conjunto de metadados pode ser gerado em uma base quadro a quadro. Em uma modalidade, os metadados estáveis de cena podem ser gerados que podem ser diferentes do primeiro conjunto de metadados para a cena. Os metadados estáveis de cena podem ser gerados monitorando-se um recurso desejado com a cena e podem ser usados para manter o recurso desejado dentro de uma faixa aceitável de valores. Isso pode ajudar a evitar artefatos visuais perceptíveis e possivelmente objetáveis mediante a renderização dos dados de vídeo.[005] Methods and systems for generating and applying stable scene metadata to a desired video data stream are disclosed herein. Systems and/or methods are data in which a video data stream is divided or partitioned into scenes and a first set of metadata can be generated for a given video data scene. The first set of metadata can be any metadata known as a desired function of video content (e.g. luminance, color gamut, etc.). The first set of metadata can be generated on a frame-by-frame basis. In one embodiment, stable scene metadata may be generated that may be different from the first set of metadata for the scene. Stable scene metadata can be generated by tracking a desired feature with the scene and can be used to keep the desired feature within an acceptable range of values. This can help avoid noticeable and possibly objectionable visual artifacts when rendering video data.

[006] Em uma modalidade, um método para usar metadados estáveis de cena em um fluxo de dados de vídeo, sendo que o método compreende: dividir o fluxo de dados de vídeo em um conjunto de cenas; gerar primeiros metadados associados a uma primeira cena dentro do conjunto de cenas; gerar metadados estáveis de cena; e associar os metadados estáveis de cena à dita primeira cena.[006] In one embodiment, a method for using stable scene metadata in a video data stream, the method comprising: dividing the video data stream into a set of scenes; generating first metadata associated with a first scene within the scene set; generate stable scene metadata; and associating the stable scene metadata with said first scene.

[007] Em outra modalidade, um sistema para usar metadados estáveis de cena para dados de vídeo, sendo que o dito sistema compreende: um processador; uma memória associada ao dito processador e sendo que a dita memória compreende adicionalmente instruções legíveis por processador, de tal modo que quando o dito processador ler as instruções legíveis por processador, o processador realize as seguintes instruções: receber fluxos de dados de vídeo, sendo que o dito fluxo de dados de vídeo compreende um conjunto de cenas; para o conjunto de cenas, gerar primeiros metadados associados ao conjunto de cenas; gerar um conjunto de metadados estáveis de cena; e para pelo menos uma cena, associar metadados estáveis de cena à dita pelo menos uma cena.[007] In another embodiment, a system for using stable scene metadata for video data, said system comprising: a processor; a memory associated with said processor and said memory additionally comprising processor-readable instructions, such that when said processor reads the processor-readable instructions, the processor performs the following instructions: receive video data streams, wherein said video data stream comprises a set of scenes; for the scene set, generate first metadata associated with the scene set; generate a set of stable scene metadata; and for at least one scene, associate stable scene metadata with said at least one scene.

[008] Em ainda outra modalidade, um processador de vídeo que compreende: um processador; uma memória associada ao dito processador e sendo que a dita memória compreende adicionalmente instruções legíveis por computador, de tal modo que quando o dito processador ler as instruções legíveis por computador, o processador realize as seguintes instruções: receber um fluxo de dados de vídeo recebido, sendo que o dito fluxo de dados de vídeo compreende um conjunto de cenas; receber um primeiro conjunto de metadados associados a pelo menos uma cena; receber uma indicação de que um corte de cena é substancialmente o quadro seguinte do fluxo de dados de vídeo recebido; receber metadados estáveis de cena; e associar os metadados estáveis de cena substancialmente ao quadro seguinte do fluxo de dados de vídeo recebido.[008] In yet another embodiment, a video processor comprising: a processor; a memory associated with said processor and said memory additionally comprising computer-readable instructions, such that when said processor reads the computer-readable instructions, the processor performs the following instructions: receive an incoming video data stream, said video data stream comprising a set of scenes; receiving a first set of metadata associated with at least one scene; receiving an indication that a scene cut is substantially the next frame of the received video data stream; receive stable scene metadata; and substantially associating the stable scene metadata with the next frame of the received video data stream.

[009] Outros recursos e vantagens do presente sistema são apresentados abaixo na Descrição Detalhada quando lidos em combinação com os desenhos apresentados dentro deste pedido.[009] Other features and advantages of the present system are presented below in the Detailed Description when read in combination with the drawings presented within this application.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[0010] As modalidades exemplificativas são ilustradas em Figuras de referência nos desenhos. Entende-se que as modalidades e Figuras reveladas no presente documento devem ser consideradas ilustrativas ao invés de restritivas.[0010] Exemplary embodiments are illustrated in reference figures in the drawings. It is understood that the embodiments and Figures disclosed in this document should be considered illustrative rather than restrictive.

[0011] A Figura 1 retrata uma modalidade de um ambiente e uma arquitetura de um sistema de encadeamento de vídeo feito de acordo com os princípios do presente pedido.[0011] Figure 1 depicts an embodiment of an environment and an architecture of a video chaining system made in accordance with the principles of the present application.

[0012] As Figuras 2A e 2B retratam duas modalidades de fluxo- gramas de encadeamento de vídeo que podem ser adequados para os propósitos do presente pedido.[0012] Figures 2A and 2B depict two embodiments of video threading flowcharts that may be suitable for the purposes of the present application.

[0013] A Figura 3 retrata uma modalidade de um fluxograma de nível alto do processamento de vídeo que pode ocorrer no gerenciamento de visor em um visor alvo exemplificativo.[0013] Figure 3 depicts one embodiment of a high-level flowchart of video processing that may occur in display management on an exemplary target display.

[0014] A Figura 4 é uma modalidade de processamento de vídeo para a geração e associação de metadados estáveis de cena para um arquivo de vídeo.[0014] Figure 4 is a video processing modality for generating and associating stable scene metadata for a video file.

[0015] A Figura 5 é uma modalidade de um fluxograma que incorpora aviso prévio de mudanças em cena em um encadeamento de vídeo.[0015] Figure 5 is an embodiment of a flowchart that incorporates advance notice of scene changes in a video thread.

[0016] A Figura 6 retrata um arquivo de vídeo exemplificativo, particionado em cenas e um quadro dentro de uma cena que compreende uma indicação de mudança de cena.[0016] Figure 6 depicts an exemplary video file, partitioned into scenes and a frame within a scene that comprises a scene change indication.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0017] Conforme utilizado no presente documento, os termos "componente", "sistema", "interface", e similares são destinados a referir uma entidade relacionada a computador, tanto hardware quanto software (por exemplo, em execução), e/ou firmware. Por exemplo, um componente pode ser um processo executado em um processador, um processador, um objeto, um executável, um programa e/ou um computador. A título de ilustração, tanto um aplicativo em funcionamento em um servidor e o servidor podem ser um componente. Um ou mais componentes podem residir dentro de um processo e um componente pode estar localizado em um computador e/ou distribuído entre dois ou mais computadores. Um componente também pode ser destinado a se referir a uma entidade relacionada a comunicações, tanto hardware quanto software (por exemplo, em execução), e/ou firmware e pode compreender adicionalmente hardware com fio ou sem fio sufi- ciente para afetar as comunicações.[0017] As used herein, the terms "component", "system", "interface", and the like are intended to refer to a computer-related entity, both hardware and software (e.g., running), and/or firmware. For example, a component may be a process running on a processor, a processor, an object, an executable, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and a component may be located on a computer and/or distributed between two or more computers. A component may also be intended to refer to a communications-related entity, both hardware and software (e.g., running), and/or firmware, and may additionally comprise wired or wireless hardware sufficient to affect communications.

[0018] Durante toda a descrição a seguir, detalhes específicos são apresentados a fim de fornecer uma compreensão mais completa para os versados na técnica. Entretanto, elementos bem conhecidos podem não ser mostrados ou descrito em detalhes para evitar obscurecer desnecessariamente a descrição. Em conformidade, a descrição e os desenhos devem ser considerados em um sentido ilustrado e não restritivo.[0018] Throughout the following description, specific details are presented in order to provide a more complete understanding for those skilled in the art. However, well-known elements may not be shown or described in detail to avoid unnecessarily obscuring the description. Accordingly, the description and drawings should be considered in an illustrative and non-restrictive sense.

INTRODUÇÃOINTRODUCTION

[0019] Para garantir estabilidade temporal (por exemplo, nenhuma oscilação, pulsação, esmaecimento, etc) e para mitigar um artefato visual potencialmente desagradável em uma reprodução de vídeo em um visor alvo, pode ser desejado que os metadados associados aos dados de vídeo sejam geralmente estáveis ao longo do tempo. Em diversas modalidades, isso pode ser alcançado através da aplicação de estabilidade nos metadados pela duração de uma cena. Pode ser permitido que metadados mudem em cada corte de cena. Em tal caso, as mudanças nos metadados em adaptação ao conteúdo podem não ser perceptíveis para um espectador.[0019] To ensure temporal stability (e.g., no flickering, pulsing, dimming, etc.) and to mitigate a potentially unpleasant visual artifact in video playback on a target display, it may be desired that metadata associated with the video data be generally stable over time. In various embodiments, this can be achieved by applying stability to the metadata for the duration of a scene. Metadata can be allowed to change with each scene cut. In such a case, changes in metadata in adaptation to the content may not be noticeable to a viewer.

[0020] Para meramente um exemplo, pode ser possível estimar os metadados de dados de vídeo/imagem em uma base quadro a quadro logo antes da exibição. Entretanto, isso pode resultar em mudanças desagradáveis e perceptíveis na aparência de uma cena - possivelmente, no meio de uma cena.[0020] For merely one example, it may be possible to estimate video/image data metadata on a frame-by-frame basis just before display. However, this can result in unpleasant and noticeable changes to the appearance of a scene - possibly in the middle of a scene.

[0021] Em diversas modalidades do presente pedido, sistemas e métodos para gerar ou do contrário criar metadados que se referem a, e/ou são associados a, dados de vídeo são descritos no presente documento. Em muitas modalidades do presente pedido, os metadados associados podem ser gerados em uma base de cena a cena, conforme será descrito em mais detalhes no presente documento. Tais me- tadados podem ser criados na extremidade frontal de um fluxo de dados de vídeo - ou em qualquer outra parte adequada do fluxo de dados de vídeo. Os dados de vídeo podem ser transmitidos e/ou enviados a um usuário/cliente/espectador dos dados de vídeo - estando em um cinema, um ambiente de visualização em casa, videoconferência, ou onde quer que os dados de vídeo sejam visualizados e/ou consumidos.[0021] In various embodiments of the present application, systems and methods for generating or otherwise creating metadata that refer to, and/or are associated with, video data are described herein. In many embodiments of the present application, associated metadata may be generated on a scene-by-scene basis, as will be described in more detail herein. Such metadata can be created at the front end of a video data stream - or in any other suitable part of the video data stream. The video data may be transmitted and/or sent to a user/client/viewer of the video data - whether in a cinema, a home viewing environment, video conferencing, or wherever the video data is viewed and/or consumed.

[0022] Diversas técnicas de geração de metadados e/ou de consumo de metadados são descritas nas seguintes patentes cedidas à mesma cessionária e/ou nos pedidos de patente:[0022] Various metadata generation and/or metadata consumption techniques are described in the following patents assigned to the same assignee and/or in patent applications:

[0023] Pedido de Patente n° U.S. 20130076763 por Messmer, publicado no dia 28 de março de 2013 e intitulado "TONE AND GAMUT MAPPING METHODS AND APPARATUS";[0023] Patent Application No. U.S. 20130076763 by Messmer, published on March 28, 2013 and entitled "TONE AND GAMUT MAPPING METHODS AND APPARATUS";

[0024] Pedido de Patente n° U.S. 20130162666 por Messmer et al., publicado no dia 27 de junho de 2013 e intitulado "DATA TRANSMISSION USING OUT-OF-GAMUT COLOR COORDINATES";[0024] Patent Application No. U.S. 20130162666 by Messmer et al., published on June 27, 2013 and entitled "DATA TRANSMISSION USING OUT-OF-GAMUT COLOR COORDINATES";

[0025] Pedido de Patente n° U.S. 20130141647 por Longhurst et al., publicado no dia 6 de junho de 2013, intitulado "METADATA FOR USE IN COLOR GRADING"; e[0025] Patent Application No. U.S. 20130141647 by Longhurst et al., published on June 6, 2013, entitled "METADATA FOR USE IN COLOR GRADING"; It is

[0026] Pedido de Patente n° U.S. 20120315011 por Messmer et al., publicado no dia 13 de dezembro de 2012 e intitulado "VIDEO DELIVERY AND CONTROL BY OVERWRITING VIDEO DATA"[0026] Patent Application No. U.S. 20120315011 by Messmer et al., published on December 13, 2012 and entitled "VIDEO DELIVERY AND CONTROL BY OVERWRITING VIDEO DATA"

[0027] -- todos os quais são incorporados por meio deste a título de referência em suas totalidades.[0027] -- all of which are hereby incorporated by reference in their entireties.

[0028] As Figuras 1, 2A e 2B retratam diversos sistemas ambientais gerais (100, 200, 206, respectivamente) em que os sistemas e/ou métodos do presente pedido podem residir. Esses sistemas representam possíveis encadeamentos de vídeo de geração/transmissão/visua- lização de vídeo de ponta a ponta - por exemplo, em que vídeo pode ser capturado, metadados de cena a cena extraídos e colocados em um fluxo de vídeo para distribuição e enviados para um visor alvo para visualização.[0028] Figures 1, 2A and 2B depict several general environmental systems (100, 200, 206, respectively) in which the systems and/or methods of the present application may reside. These systems represent possible end-to-end video generation/transmission/view video threads - for example, where video can be captured, scene-to-scene metadata extracted, and placed into a video stream for distribution and sent to a target display for viewing.

[0029] Na Figura 1, o sistema 100 (ou porções do mesmo) pode ser configurado para realizar um ou mais dos métodos descritos no presente documento. Os componentes do sistema 100 podem ser implantados como software, firmware, hardware e/ou uma combinação dos mesmos. O sistema 100 inclui um subsistema de captura de vídeo 102, um subsistema de pós-produção 103 e um subsistema de exibição 104. Um fluxo de dados de vídeo 123 (mais especificamente, 1231, 123-2, 123-3 para diferentes pontos no encadeamento de fluxo de vídeo) é gerado pelo subsistema de captura de vídeo 102 e é entregue ao subsistema de pós-produção 103 para processamento e edição. As imagens de vídeo podem ser exibidas e visualizadas em uma exibição de referência 111 do subsistema de pós-produção 103 no curso da edição dos dados de vídeo 123. Os dados de vídeo 123 editados são entregues para o subsistema de exibição 104 (através de um meio de distribuição 125 por meio do codificador 127A e do decodificador 127B) para processamento e exibição adicionais. Cada um dos subsistemas 102, 103 e 104 (e o codificador 127A) pode ser configurado para codificar metadados 225 nos dados de vídeo 123. Subsistemas a jusante podem ser configurados para receber dados de vídeo 123 de um dispositivo a montante e decodificar os metadados 225 que foram incorporados no mesmo. Os metadados 225 podem ser usados por subsistemas a jusante (por exemplo, os subsistemas 103 e 104) para guiar o processamento e/ou exibição de dados de vídeo 123. Os metadados 225 podem ser usados pelo subsistema de exibição 104 junto com parâmetros de caracterização de exibição 120 para controlar e/ou guiar a reprodução de vídeo em um visor 118 do subsistema de exibição 104.[0029] In Figure 1, system 100 (or portions thereof) can be configured to perform one or more of the methods described herein. The components of system 100 may be implemented as software, firmware, hardware, and/or a combination thereof. System 100 includes a video capture subsystem 102, a post-production subsystem 103, and a display subsystem 104. A stream of video data 123 (more specifically, 1231, 123-2, 123-3 to different points in the video stream thread) is generated by the video capture subsystem 102 and is delivered to the post-production subsystem 103 for processing and editing. Video images may be displayed and viewed on a reference display 111 of the post-production subsystem 103 in the course of editing the video data 123. The edited video data 123 is delivered to the display subsystem 104 (via a distribution means 125 via encoder 127A and decoder 127B) for further processing and display. Each of subsystems 102, 103, and 104 (and encoder 127A) may be configured to encode metadata 225 into video data 123. Downstream subsystems may be configured to receive video data 123 from an upstream device and decode the metadata 225 that were incorporated into it. Metadata 225 may be used by downstream subsystems (e.g., subsystems 103 and 104) to guide the processing and/or display of video data 123. Metadata 225 may be used by display subsystem 104 along with characterization parameters of display 120 for controlling and/or guiding video playback on a display 118 of display subsystem 104.

[0030] Conforme visto na Figura 1, os subsistemas 102, 103 e 104 podem compreender um processador 106, 108 e 116 respectivamente e uma memória de programa 107, 109 e 117 acessível aos respectivos processadores. Cada processador (descrito aqui e em outro lugar) pode compreender uma unidade de processamento central (CPUs), um ou mais microprocessadores, uma ou mais matrizes de porta progra-máveisem campo (FPGAs), ou qualquer combinação dos mesmos, ou qualquer outra unidade(s) de processamento adequada(s) que compreende hardware e/ou software capaz de funcionar conforme descrito no presente documento. Em cada subsistema o processador executa instruções fornecidas por software armazenado na memória de pro-grama. O software pode incluir rotinas para realizar as etapas de geração, codificação, decodificação e processamento de metadados descritas no presente documento, tais como, por exemplo, rotinas para:[0030] As seen in Figure 1, subsystems 102, 103 and 104 may comprise a processor 106, 108 and 116 respectively and a program memory 107, 109 and 117 accessible to the respective processors. Each processor (described here and elsewhere) may comprise a central processing unit (CPUs), one or more microprocessors, one or more field-programmable gate arrays (FPGAs), or any combination thereof, or any other unit suitable processing(s) comprising hardware and/or software capable of functioning as described herein. In each subsystem, the processor executes instructions provided by software stored in program memory. The software may include routines for performing the metadata generation, encoding, decoding and processing steps described herein, such as, for example, routines for:

[0031] gerar metadados 225 ou receber parâmetros para metadados 225;[0031] generate metadata 225 or receive parameters for metadata 225;

[0032] codificar metadados 225 em dados de vídeo 123 antes de tais dados de vídeo serem comunicados a um dispositivo a jusante;[0032] encoding metadata 225 into video data 123 before such video data is communicated to a downstream device;

[0033] decodificar metadados 225 de dados de vídeo 123 recebidos de um dispositivo a montante;[0033] decode metadata 225 of video data 123 received from an upstream device;

[0034] processar e aplicar metadados 225 para guiar o processamento e/ou a exibição de dados de vídeo;[0034] processing and applying metadata 225 to guide the processing and/or display of video data;

[0035] selecionar um método para codificar metadados 225, com base nos dados de imagem e/ou de vídeo 123;[0035] selecting a method for encoding metadata 225, based on image and/or video data 123;

[0036] e/ou similares.[0036] and/or similar.

[0037] O sistema 100 pode incluir um repositório 110 acessível aos subsistemas 102, 103 e 104. O repositório 110 pode incluir uma biblioteca de definições de metadados 112 (por exemplo, que informa aos codificadores e decodificadores de metadados como gerar e/ou ler os metadados) e uma lista de palavras reservadas 114 (por exemplo, valores de pixel protegidos ou palavras de metadados reservadas). A biblioteca de definições de metadados 112 pode ser acessada pelos subsistemas 102, 103 e 104 na geração, codificação e/ou o processamento de metadados. Na codificação ou decodificação de metadados 225, palavras reservadas 114 podem ser comparadas a bits de metadados codificados/descodificados para identificar sequências de bits de proteção para inserir (ou que foram inseridos) no fluxo de metadados para impedir a comunicação de uma palavra reservada. Embora um repositório 110 compartilhado seja mostrado na modalidade ilustrada da Figura 1, em outras modalidades, cada um dos subsistemas 102, 103 e 104 pode incorporar um repositório 110 local armazenado em um meio de armazenamento acessível a esse subsistema.[0037] System 100 may include a repository 110 accessible to subsystems 102, 103, and 104. Repository 110 may include a library of metadata definitions 112 (e.g., which tells metadata encoders and decoders how to generate and/or read the metadata) and a list of reserved words 114 (e.g., protected pixel values or reserved metadata words). The library of metadata definitions 112 can be accessed by subsystems 102, 103 and 104 in generating, encoding and/or processing metadata. In encoding or decoding metadata 225, reserved words 114 may be compared to encoded/decoded metadata bits to identify sequences of protection bits to insert (or that have been inserted) into the metadata stream to prevent communication of a reserved word. Although a shared repository 110 is shown in the illustrated embodiment of Figure 1, in other embodiments, each of subsystems 102, 103, and 104 may incorporate a local repository 110 stored on a storage medium accessible to that subsystem.

[0038] A Figura 2A é um fluxograma que mostra o fluxo de dados através de um encadeamento de entrega de vídeo 200 de acordo com uma modalidade particular. O encadeamento de entrega de vídeo 200 incorpora estágios similares àqueles retratados no encadeamento de entrega de vídeo 100 da Figura 1. Em um ou mais estágios de encadeamento de entrega de vídeo 200, os metadados 225 podem ser gerados e incorporados em um fluxo de dados de vídeo 123 para uso em um estágio a jusante. Os metadados 225 são transmitidos junto com dados de vídeo 123 através do encadeamento de entrega de vídeo 200 para guiar dispositivos a jusante no processamento dos dados de vídeo e/ou para guiar a reprodução de vídeo em um subsistema de exibição no bloco 210. Os dados de vídeo 123, que incluem metadados incorporados 225, podem ser entregues ao subsistema de exibição no bloco 206 com o uso de sistemas, aparelhos e métodos adequados para o tipo de entrega de conteúdo de vídeo (por exemplo, difusão de televisão por satélite, cabo, ou redes de alta definição; transmissão contínua de multimídia por IP ou redes sem fio; reprodução de DVD ou outros meios de armazenamento, etc.).[0038] Figure 2A is a flowchart showing the flow of data through a video delivery thread 200 according to a particular embodiment. Video delivery thread 200 incorporates stages similar to those depicted in video delivery thread 100 of Figure 1. In one or more stages of video delivery thread 200, metadata 225 may be generated and incorporated into a video data stream. video 123 for use in a downstream stage. Metadata 225 is transmitted along with video data 123 through video delivery thread 200 to guide downstream devices in processing the video data and/or to guide video playback in a display subsystem in block 210. The data video content 123, which includes embedded metadata 225, may be delivered to the display subsystem at block 206 using systems, apparatus, and methods suitable for the type of video content delivery (e.g., broadcast satellite television, cable , or high definition networks; streaming multimedia over IP or wireless networks; DVD playback or other storage media, etc.).

[0039] Na modalidade da Figura 2A, os metadados de câmera 225A podem ser gerados e incorporados nos dados de vídeo 123-1 no bloco 202. Os metadados de câmera 225A podem ser gerados com base nas definições de câmera e no ambiente de captura de quadro de vídeo. Os metadados de câmera 225A podem compreender, por exemplo, parâmetros de câmera que fornecem um instantâneo das definições de câmera durante a captura de quadro de vídeo. Tais parâmetros de câmera podem incluir abertura (f-stops), lente, velocidade de obturador, sensibilidade (classificações de ISO) e similares. Esses parâmetros de câmera podem ser usados para guiar etapas subsequentes no encadeamento de entrega de vídeo 200, tal como ajustes de cor (por exemplo, temporização de cor) durante a edição de pós- produção no bloco 204, ou configuração de exibição no bloco 210.[0039] In the embodiment of Figure 2A, camera metadata 225A can be generated and incorporated into video data 123-1 in block 202. Camera metadata 225A can be generated based on camera definitions and the video capture environment. video frame. Camera metadata 225A may comprise, for example, camera parameters that provide a snapshot of camera settings during video frame capture. Such camera parameters may include aperture (f-stops), lens, shutter speed, sensitivity (ISO ratings), and the like. These camera parameters can be used to guide subsequent steps in video delivery thread 200, such as color adjustments (e.g., color timing) during post-production editing in block 204, or display configuration in block 210. .

[0040] No bloco 204, metadados de pós-produção 225B são gerados e incorporados em dados de vídeo 123-2. Os metadados de pós- produção 225B podem incluir: uma exibição de referência e metadados de ambiente 225B1 e metadados de caracterização de conteúdo de vídeo fonte 225B2. Os metadados de pós-produção 225B podem ser usados para guiar etapas subsequentes no encadeamento de entrega de vídeo 200, tal como a configuração de exibição no bloco 210.[0040] In block 204, post-production metadata 225B is generated and incorporated into video data 123-2. Post-production metadata 225B may include: a reference view and environment metadata 225B1 and source video content characterization metadata 225B2. Post-production metadata 225B may be used to guide subsequent steps in video delivery thread 200, such as display configuration in block 210.

[0041] Os metadados de exibição e de ambiente de referência 225B1 podem descrever a configuração de exibição de referência e o ambiente de estúdio ou de visualização usados na edição de pós- produção do bloco 204. Por exemplo, em relação à exibição de referência usada para exibir dados de vídeo 123 durante a edição de pós- produção do bloco 204, metadados de exibição e de ambiente de referência 225B1 podem incluir parâmetros tais como:[0041] Reference display and environment metadata 225B1 may describe the reference display configuration and studio or preview environment used in post-production editing of block 204. For example, in relation to the reference display used to display video data 123 during post-production editing of block 204, display and reference environment metadata 225B1 may include parameters such as:

[0042] um mapeamento de gama de cor em 3D que descreve o tom e limites de gama da exibição de referência em uma resolução detalhada;[0042] a 3D color gamut mapping that describes the tone and gamma limits of the reference display at a detailed resolution;

[0043] um conjunto reduzido de parâmetros que define o tom e os limites de gama da exibição de referência (que podem usados para estimar um mapeamento de gama de cor em 3D);[0043] a reduced set of parameters that define the tone and gamma limits of the reference display (which can be used to estimate a 3D color gamut mapping);

[0044] parâmetros de resposta tonal de sistema que descrevem a resposta tonal da exibição de referência para cada canal de crominân- cia;[0044] system tonal response parameters that describe the tonal response of the reference display for each chrominance channel;

[0045] o tamanho de tela[0045] screen size

[0046] e/ou similares.[0046] and/or similar.

[0047] Os metadados de exibição e de ambiente de referência 225B1 também podem incluir parâmetros que descrevem o ambiente de estúdio em que o conteúdo de vídeo foi submetido à temporização por cor ou editado em uma exibição de referência durante a edição de pós-produção do bloco 204. Tais parâmetros podem incluir luminância de ambiente e temperatura de cor de ambiente.[0047] The 225B1 display and reference environment metadata may also include parameters that describe the studio environment in which the video content was color-timed or edited in a reference display during post-production editing of the block 204. Such parameters may include ambient luminance and ambient color temperature.

[0048] Os metadados de caracterização de conteúdo de vídeo fonte 225B2 podem descrever conteúdo de vídeo editado em pós- produção que inclui informações que podem identificar ou fornecer:[0048] Source video content characterization metadata 225B2 may describe post-production edited video content that includes information that may identify or provide:

[0049] mapeamento de tom (por exemplo, parâmetros ou curvas de mapeamento de tom customizados que podem ser usados para guiar a expansão de tom no visor); e mapeamento de gama (por exemplo, parâmetros de mapeamento de gama customizados que podem ser usados para guiar a expansão de gama no visor);[0049] tone mapping (e.g., custom tone mapping parameters or curves that can be used to guide tone expansion on the display); and gamma mapping (e.g., custom gamma mapping parameters that can be used to guide gamma expansion in the display);

[0050] o nível do nível de preto mínimo considerado importante na cena (por exemplo, a sombra sob um carro);[0050] the level of the minimum black level considered important in the scene (for example, the shadow under a car);

[0051] o nível que corresponde à porção mais significativa de uma cena (por exemplo, a face de um ator);[0051] the level that corresponds to the most significant portion of a scene (for example, an actor's face);

[0052] o nível do nível de branco máximo considerado importante na cena (por exemplo, o centro de uma lâmpada);[0052] the level of the maximum white level considered important in the scene (for example, the center of a lamp);

[0053] a cor mais cromática na cena (por exemplo, luz neon, etc);[0053] the most chromatic color in the scene (e.g. neon light, etc.);

[0054] um mapa de localização de fontes de luz em uma imagem, ou de objetos reflexivos ou emissivos em uma imagem;[0054] a map of the location of light sources in an image, or of reflective or emissive objects in an image;

[0055] gama do conteúdo de fonte de vídeo;[0055] range of video source content;

[0056] áreas de uma imagem que são temporizadas por cor propositalmente fora da gama da exibição de referência;[0056] areas of an image that are purposely color timed outside the range of the reference display;

[0057] cores protegidas que não devem ser alteradas durante o processamento de pré-visualização pelo processador de vídeo ou durante a configuração de exibição;[0057] protected colors that must not be changed during preview processing by the video processor or during display configuration;

[0058] um histograma de imagem que caracteriza a imagem em termos de luminância ou gama (por exemplo, tais informações podem ser usadas por dispositivos a jusante para determinar a luminância média para refine o mapeamento de tom e de gama);[0058] an image histogram that characterizes the image in terms of luminance or gamma (e.g., such information can be used by downstream devices to determine average luminance to refine tone and gamma mapping);

[0059] uma mudança em cena ou um sinalizador de reinicializa- ção, para alertar os dispositivos a jusante que quaisquer estatísticas ou histereses de quadros de vídeo anteriores não são mais válidas;[0059] a change in scene or a reset flag, to alert downstream devices that any statistics or hysteresis from previous video frames are no longer valid;

[0060] um mapa de movimento que caracteriza o conteúdo de vídeo para identificar objetos em movimento, que pode ser usado por dispositivos a jusante em combinação com o mapa de localização de fonte de luz para guiar o mapeamento de tom e de gama;[0060] a motion map that characterizes video content to identify moving objects, which can be used by downstream devices in combination with the light source location map to guide tone and gamma mapping;

[0061] uma indicação da fonte de conteúdo submetido à temporizaçãocom cor (por exemplo, direto da câmera, ou edição de pós- produção);[0061] an indication of the source of content subjected to color timing (e.g., straight from the camera, or post-production editing);

[0062] definições de intenção criativa do diretor que podem ser usadas para controlar dispositivos a jusante tal como um decodifica- dor/televisão ou outro visor. Por exemplo, tais definições podem incluir: controle de modo de exibição que fornece a habilidade de controlar o visor para operar em um modo particular (por exemplo, vívido, cinema, padrão, profissional, etc.); tipo de conteúdo (por exemplo, animação, drama, esportes, jogos, etc.) que podem ser usados para determinar um mapeamento de gama ou de tom apropriado ou similares;[0062] director's creative intent settings that can be used to control downstream devices such as a set-top box/television or other display. For example, such settings may include: display mode control that provides the ability to control the display to operate in a particular mode (e.g., vivid, cinema, standard, professional, etc.); type of content (e.g. animation, drama, sports, games, etc.) that can be used to determine appropriate gamma or tone mapping or the like;

[0063] 15 e/ou similares.[0063] 15 and/or similar.

[0064] Os dados de vídeo 123-2 são entregues a um subsistema de exibição no bloco 206. Conforme visto na Figura 2B, o encadeamento de entrega 206 pode incluir uma plataforma de codificador 127A para acionar a distribuição, difusão ou transmissão de dados de vídeo 123 por um meio de distribuição de vídeo 125 tal como um satélite, cabo, ou redes de alta definição; IP ou redes sem fio; ou DVD ou outros meios de armazenamento, etc. Uma plataforma de decodificador 127B pode ser fornecida na extremidade do visor no bloco 206 para decodificar os dados de vídeo 123 distribuídos pelo meio 125. O estágio de decodificador 127B pode ser implantado por um decodificador de sinais, por exemplo, ou por um decodificador dentro do subsistema de exibição. Nos blocos 206 e/ou 208, os metadados de ambiente de visualização 225C e/ou outros metadados 225 podem ser incorporados nos dados de vídeo 123. Os metadados de ambiente de visualização 225C podem compreender, por exemplo:[0064] Video data 123-2 is delivered to a display subsystem in block 206. As seen in Figure 2B, delivery thread 206 may include an encoder platform 127A for triggering the distribution, broadcast or transmission of video data. video 123 by a video distribution medium 125 such as a satellite, cable, or high definition networks; IP or wireless networks; or DVD or other storage media, etc. A decoder stage 127B may be provided at the display end in block 206 to decode video data 123 distributed over medium 125. Decoder stage 127B may be implemented by a signal decoder, for example, or by a decoder within the display subsystem. In blocks 206 and/or 208, viewing environment metadata 225C and/or other metadata 225 may be incorporated into video data 123. Viewing environment metadata 225C may comprise, for example:

[0065] Dados de codificador VDR de Codificação de Vídeo Avançada (AVC) que fornecem mapeamento de tom de monitor de referência ou curvas de cama ou luminância de ambiente do ambiente de referência. Pelo menos algumas destas informações podem ser determinadas pelo processador de vídeo com conhecimento das características de exibição (por exemplo, lendo-se os Dados de Identificação de Visor Estendidos (EDID) do visor) e do ambiente do subsistema de exibição. Em algumas modalidades, pelo menos algumas destas informações podem ser determinadas no estúdio durante o processamento de pós-produção dos dados de vídeo.[0065] Advanced Video Coding (AVC) VDR encoder data that provides reference monitor tone mapping or bed curves or ambient luminance of the reference environment. At least some of this information can be determined by the video processor with knowledge of the display characteristics (e.g., by reading the display's Extended Display Identification Data (EDID)) and the environment of the display subsystem. In some embodiments, at least some of this information may be determined in the studio during post-production processing of the video data.

[0066] Os parâmetros descrevem o ambiente em que o visor do subsistema de exibição está situado. Tais parâmetros podem incluir, por exemplo, luminância e/ou tom de ambiente ou temperatura de cor.[0066] The parameters describe the environment in which the display subsystem display is situated. Such parameters may include, for example, ambient luminance and/or tone or color temperature.

[0067] Os metadados de ambiente de visualização 225C podem ser usados para guiar o processamento de dados de vídeo no bloco 208 e/ou a configuração de exibição no bloco 210.[0067] Viewing environment metadata 225C may be used to guide video data processing in block 208 and/or display configuration in block 210.

[0068] O subsistema de exibição compreende um processador de vídeo para processar dados de vídeo 123-3 recebidos no bloco 208. O processador de vídeo do subsistema de exibição pode realizar processamento de sinal em dados de vídeo 123-3 com base em metadados 225 extraídos de dados de vídeo 123 (por exemplo metadados 225A) e/ou características de exibição conhecidas associadas ao visor do subsistema de exibição. Os dados de vídeo 123 podem ser processa-dos e ajustados para o visor de acordo com parâmetros de caracterização de exibição 226 e/ou metadados 225.[0068] The display subsystem comprises a video processor for processing video data 123-3 received in block 208. The video processor of the display subsystem may perform signal processing on video data 123-3 based on metadata 225 extracted from video data 123 (e.g. metadata 225A) and/or known display characteristics associated with the display subsystem display. Video data 123 may be processed and adjusted for the display according to display characterization parameters 226 and/or metadata 225.

[0069] Outros metadados 225 que podem ser incorporados em dados de vídeo 123 nos blocos 206 e/ou 208, ou em outros estágios de encadeamento de entrega de vídeo 200, incluem metadados de limpeza 225D (para gerenciar os direitos de distribuição e similares) tal como, por exemplo:[0069] Other metadata 225 that may be incorporated into video data 123 in blocks 206 and/or 208, or in other stages of video delivery chain 200, includes cleanup metadata 225D (to manage distribution rights and the like). such as, for example:

[0070] dados de marca d’água que indicam onde o conteúdo de vídeo foi gerado, distribuído, modificado, etc.;[0070] watermark data indicating where the video content was generated, distributed, modified, etc.;

[0071] dados de impressão digital que fornecem uma descrição do conteúdo de vídeo para buscar ou indexar propósitos e similares;[0071] fingerprint data that provides a description of video content for search or indexing purposes and the like;

[0072] dados de proteção que indicam quem tem propriedade do conteúdo de vídeo e/ou quem tem acesso ao mesmo;[0072] protection data indicating who owns the video content and/or who has access to it;

[0073] e/ou similares.[0073] and/or similar.

[0074] Os metadados de ambiente de visualização 225C podem ser gerados com base pelo menos em parte em parâmetros de caracterização de exibição 206 associados com o visor do subsistema de exibição. Em algumas modalidades, os metadados de ambiente de visualização 225C, os metadados de caracterização de conteúdo de vídeo fonte 225B2 e/ou os metadados de limpeza 225D podem ser cri-ados ou fornecidos por análise de dados de vídeo 103 na plataforma de codificador 127A, na plataforma de decodificador 127B e/ou pelo processador de vídeo no bloco 208.[0074] Display environment metadata 225C may be generated based at least in part on display characterization parameters 206 associated with the display subsystem display. In some embodiments, viewing environment metadata 225C, source video content characterization metadata 225B2, and/or cleanup metadata 225D may be created or provided by analyzing video data 103 on the encoder platform 127A. in the decoder platform 127B and/or by the video processor in block 208.

[0075] No bloco 210, a configuração de exibição pode ser realizada em um visor do subsistema de exibição. Os parâmetros apropriados para configuração de exibição podem ser determinados com base em parâmetros de caracterização de exibição 226 e/ou metadados 225, tais como metadados de câmera 225A, metadados de pós- produção 225B (incluindo metadados de exibição e de ambiente de referência 225B1 e metadados de caracterização de conteúdo de vídeo fonte 225B2) e metadados de ambiente de visualização 225C. O visor é configurado de acordo com tais parâmetros. Os dados de vídeo 123 são emitidos para o visor.[0075] In block 210, display configuration can be performed on a display of the display subsystem. Appropriate parameters for display configuration may be determined based on display characterization parameters 226 and/or metadata 225, such as camera metadata 225A, post-production metadata 225B (including display and reference environment metadata 225B1, and source video content characterization metadata 225B2) and viewing environment metadata 225C. The display is configured according to these parameters. Video data 123 is output to the display.

[0076] Os metadados 225 que são usados para o processamento dos dados de vídeo 123 no bloco 208 e para a configuração de exibição no bloco 210 são entregues no fluxo de dados de vídeo de modo que os metadados 225 sejam recebidos no subsistema de exibição (incluindo o processador de vídeo e o visor) anterior a sua aplicação. Em algumas modalidades, os metadados 225 são entregues de modo que os mesmos sejam recebidos pelo subsistema de exibição pelo menos um quadro de vídeo à frente do quadro em que os metadados 225 devem ser aplicados. Em certas modalidades, os metadados 225 são entregues um quadro de vídeo à frente e a aplicação de metadados 225 nos blocos 208 e/ou 210 pode ser disparada mediante a detecção de um novo quadro de vídeo no fluxo de vídeo recebido. METADADOS "ESTÁVEIS"DE CENA POR CENA[0076] The metadata 225 that is used for processing the video data 123 in block 208 and for display configuration in block 210 is delivered into the video data stream so that the metadata 225 is received in the display subsystem ( including video processor and display) prior to application. In some embodiments, the metadata 225 is delivered such that it is received by the display subsystem at least one video frame ahead of the frame to which the metadata 225 is to be applied. In certain embodiments, metadata 225 is delivered one video frame ahead and application of metadata 225 in blocks 208 and/or 210 may be triggered upon detection of a new video frame in the received video stream. "STABLE" SCENE-BY-SCENE METADATA

[0077] Conforme mencionado anteriormente, pode ser desejável capturar metadados em um arquivo de vídeo em uma base de cena a cena. Conforme descrito no presente documento, diversas modalidades do presente pedido podem capturar metadados (por exemplo, com base em luminância, gama de cores ou similares) em uma base de cena a cena. Em particular, uma modalidade pode fornecer um conjunto de metadados "estáveis"que podem ser aplicados através de cenas iguais e/ou similares.[0077] As mentioned previously, it may be desirable to capture metadata in a video file on a scene-by-scene basis. As described herein, various embodiments of the present application may capture metadata (e.g., based on luminance, color gamut, or the like) on a scene-by-scene basis. In particular, an embodiment may provide a set of "stable" metadata that can be applied across the same and/or similar scenes.

[0078] Em uma modalidade, cada cena pode ser associada a metadados de cena global que podem ser gerados em resposta a características dependentes de quadro dentro de uma cena - por exemplo, tais como os valores de luminância mínima, média e máxima em cada quadro. Cenas com características similares também podem ser forçadas a compartilhar os mesmos metadados, de modo que durante a exibição as mesmas possam manter o mesmo visual e a mesma sen-sação. Em outra modalidade, um receptor também pode receber "metadados de notificação antecipada" - por exemplo, isto é, metadados para uma cena futura, de modo que o mesmo possa preparar, antecipadamente,parâmetros relacionados a processamento de DM.[0078] In one embodiment, each scene may be associated with global scene metadata that may be generated in response to frame-dependent characteristics within a scene - for example, such as the minimum, average and maximum luminance values in each frame . Scenes with similar characteristics can also be forced to share the same metadata, so that during viewing they can maintain the same look and feel. In another embodiment, a receiver may also receive "advance notification metadata" - for example, that is, metadata for a future scene, so that it can prepare, in advance, parameters related to DM processing.

[0079] Para verificar o conceito de metadados de cena "estáveis", as seguintes descrições são oferecidas para propósitos meramente expositórios e não são destinadas a limitar o escopo do presente pedido. Pode ser desejável ter cor e brilho estáveis ao longo de algumas cenas. Em um exemplo, suponha que existam dois atores em uma "cena", mas a câmera corta para um ator e então para o outro ator em uma sequência de quadros de vídeo - por exemplo, em um diálogo estendido entre os dois atores em um set. Embora isso possa constituir uma "cena" teatralmente, os dois cortes de câmera diferentes podem causar mudança de cor e/ou luminância que podem ser tanto perceptíveis quanto objetáveis ao espectador. Em algumas modalidades, pode ser possível ter diferentes metadados para cada corte - por exemplo, a fim de produzir uma aparência estável da cena inteira.[0079] To verify the concept of "stable" scene metadata, the following descriptions are offered for expository purposes only and are not intended to limit the scope of the present application. It may be desirable to have stable color and brightness over some scenes. In one example, suppose there are two actors in a "scene", but the camera cuts to one actor and then to the other actor in a sequence of video frames - for example, in an extended dialogue between the two actors on a set . While this may constitute a "scene" theatrically, the two different camera cuts may cause color and/or luminance shifts that may be both noticeable and objectionable to the viewer. In some embodiments, it may be possible to have different metadata for each cut - for example, in order to produce a stable appearance of the entire scene.

[0080] Para outro exemplo, considere que há um único ator em uma "cena" - mas o ator está em movimento e a câmera segue o ator. Novamente, embora essa possa ser uma única cena teatralmente, pode haver mudanças em luminância e/ou cor que são tanto perceptíveis quanto/ou objetáveis ao espectador. Para ainda outro exemplo, o dire- tor pode utilizar uma técnica de "dissolvimento" (ou "esmaecimento cruzado") em que uma cena reduz sua luminância (talvez para zero), enquanto outra cena pode começar de baixa (por exemplo, zero) lumi- nância para luminância máxima ao longo do período de alguns quadros. Tais dissolvimentos ou esmaecimentos cruzados podem ser usados para ilustrar um flashback para um ator em cena ou para outrospropósitos.[0080] For another example, consider that there is a single actor in a "scene" - but the actor is moving and the camera follows the actor. Again, although this may be a single scene theatrically, there may be changes in luminance and/or color that are both noticeable and/or objectionable to the viewer. For yet another example, the director might utilize a "dissolving" (or "cross-fading") technique in which one scene reduces its luminance (perhaps to zero), while another scene may start low (e.g., zero). luminance for maximum luminance over the period of a few frames. Such dissolves or cross-fades can be used to illustrate a flashback to an actor in the scene or for other purposes.

[0081] Essas situações podem se tornar relevantes em casos em que um diretor pode estar engajado no processamento de pós- produção do vídeo capturado. Tal diretor pode estar aplicando graduação de cores, mapeando luminância do vídeo em um monitor de nível profissional - por exemplo, que tem luminância na ordem de até 5.000 nits. Entretanto, um filme pode ser visualizado em um conjunto de ví-deo caseiro ou algum outro visor alvo) que pode ter luminância muito mais baixa. Saber disso antecipadamente pode permitir a um diretor ou outro criador de conteúdo a oportunidade de aprimorar a experiência do espectador do conteúdo.[0081] These situations may become relevant in cases where a director may be engaged in post-production processing of captured video. Such a director may be applying color grading, mapping video luminance on a professional-grade monitor - for example, which has luminance on the order of up to 5,000 nits. However, a movie may be viewed on a home video set or some other target display) which may have much lower luminance. Knowing this in advance can allow a director or other content creator the opportunity to enhance the content viewer's experience.

[0082] Com base nesses poucos exemplos (assim como outros não mencionados no presente documento), pode ser desejável a partir da perspectiva de um espectador (se não a perspectiva do criador de conteúdo/diretor do vídeo) aplicar metadados em uma base de cena a cena e/ou ter um processo no lugar que pode determinar quando aplicar metadados "estáveis"a uma cena e/ou sequência de quadros - que pode ter empregado metadados diferentes, talvez com base em quadros ao quadro/cena atual.[0082] Based on these few examples (as well as others not mentioned herein), it may be desirable from a viewer's perspective (if not the content creator/video director's perspective) to apply metadata on a scene basis the scene and/or have a process in place that can determine when to apply "stable" metadata to a scene and/or sequence of frames - which may have employed different metadata, perhaps based on frames, to the current frame/scene.

[0083] Para uma situação de vídeo caseiro, pode ser frequentemente o caso em que há um processador de Gerenciamento de Exibição (DM) que pode buscar fornecer um mapeamento "melhor" (ou "superior") dos dados de vídeo para a exibição caseira. Frequentemente, DM’s fornecem um mapeamento de faixa dinâmica para fornecer uma luminância satisfatória que corresponde ao visor alvo a partir dos dados de vídeo disponíveis. O mapeamento de faixa dinâmica pode usar metadados com base em estatísticas de luminância - por exemplo, lu- minância máxima, luminância média e/ou luminância mínima para fornecer o mapeamento.[0083] For a home video situation, it may often be the case that there is a Display Management (DM) processor that may seek to provide a "better" (or "superior") mapping of the video data to the home display . Often, DM’s provide dynamic range mapping to provide a satisfactory luminance that matches the target display from the available video data. Dynamic range mapping can use metadata based on luminance statistics - for example, maximum luminance, average luminance, and/or minimum luminance to provide the mapping.

[0084] Diversos pedidos de patente cedidos à mesma cessionária revelam sistemas e técnicas de Gerenciamento de Exibição (DM) e podem ser úteis para os sistemas e os métodos do presente pedido:[0084] Several patent applications assigned to the same assignee disclose Display Management (DM) systems and techniques and may be useful for the systems and methods of the present application:

[0085] O Pedido de Patente n° U.S. 20110194618 por Gish et al., publicado no dia 11 de agosto de 2011 e intitulado "COMPATIBLE COMPRESSION OF HIGH DYNAMIC RANGE, VISUAL DYNAMIC RANGE, AND WIDE COLOR GAMUT VIDEO";[0085] Patent Application No. U.S. 20110194618 by Gish et al., published on August 11, 2011 and entitled "COMPATIBLE COMPRESSION OF HIGH DYNAMIC RANGE, VISUAL DYNAMIC RANGE, AND WIDE COLOR GAMUT VIDEO";

[0086] O Pedido de Patente n° U.S. 20120229495 por Longhurst, publicado no dia 13 de setembro de 2012 e intitulado "INTERPOLATION OF COLOR GAMUT FOR DISPLAY ON TARGET DISPLAY";[0086] Patent Application No. U.S. 20120229495 by Longhurst, published on September 13, 2012 and entitled "INTERPOLATION OF COLOR GAMUT FOR DISPLAY ON TARGET DISPLAY";

[0087] O Pedido de Patente n° U.S. 20120321273 por Messmer, publicado no dia 20 de dezembro de 2012 e intitulado "VIDEO DISPLAY CONTROL USING EMBEDDED METADATA"; e[0087] Patent Application No. U.S. 20120321273 by Messmer, published on December 20, 2012 and entitled "VIDEO DISPLAY CONTROL USING EMBEDDED METADATA"; It is

[0088] O Pedido de Patente n° U.S. 20130038790 por Seetzen et al., publicado no dia 14 de fevereiro de 2013 e intitulado "DISPLAY MANAGEMENT METHODS AND APPARATUS";[0088] Patent Application No. U.S. 20130038790 by Seetzen et al., published on February 14, 2013 and entitled "DISPLAY MANAGEMENT METHODS AND APPARATUS";

[0089] -- todos os quais são incorporados por meio deste a título de referência em suas totalidades.[0089] -- all of which are hereby incorporated by reference in their entireties.

[0090] Uma modalidade de Metadados Com Cena Estável[0090] A Metadata Modality With Stable Scene

[0091] A Figura 3 retrata uma modalidade de um fluxograma de bloco de nível alto do presente pedido. O encadeamento de vídeo 300 pode receber um fluxo de bits codificado 301 que pode compreender adicionalmente os dados de vídeo/imagem, junto com metadados que podem estar em algum formato utilizável - por exemplo, quadro a quadro, cena a cena e que compreende metadados com base em estatís- ticas de luminância, metadados de mapeamento de cores ou similares.[0091] Figure 3 depicts an embodiment of a high-level block flowchart of the present application. Video thread 300 may receive an encoded bitstream 301 that may further comprise video/image data, along with metadata that may be in some usable format - e.g., frame-by-frame, scene-by-scene, and which comprises metadata with based on luminance statistics, color mapping metadata or similar.

[0092] Esse fluxo de bits codificado 301 pode ser recebido por um decodificador 302, que pode compreender adicionalmente um analisador 304. O decodificador 302 pode decodificar o fluxo de bits recebido, que pode ser criptografado, comprimido ou do contrário codificado de qualquer maneira conhecida na técnica. Uma vez decodificado, o fluxo de bits recebido pode ser analisado por um analisador 304. O analisador 304 pode dividir os metadados dos dados de vídeo/imagem.[0092] This encoded bit stream 301 may be received by a decoder 302, which may further comprise an analyzer 304. The decoder 302 may decode the received bit stream, which may be encrypted, compressed or otherwise encoded in any known manner. in technique. Once decoded, the received bit stream can be analyzed by an analyzer 304. The analyzer 304 can split the metadata of the video/image data.

[0093] Os dados de vídeo/imagem extraídos podem ser enviados adiante, junto com seus metadados associados como um fluxo de bits intermediário 303. O fluxo de bits 303 também pode compreender um ou mais sinalizadores (ou alguma outra indicação, sinal ou similares) 305 que podem informar o(s) processador(es) a jusante quais metadados aplicar ou similares, conforme será descrito adicionalmente no presente documento.[0093] The extracted video/image data may be sent forward, together with its associated metadata as an intermediate bitstream 303. The bitstream 303 may also comprise one or more flags (or some other indication, signal, or the like). 305 that can inform the downstream processor(s) which metadata to apply or similar, as will be further described in this document.

[0094] O fluxo de bits intermediário 303 e/ou quais sinalizadores 305 podem ser recebidos por um módulo de Gerenciamento de Exibição (DM) 306. O módulo de DM 306 pode aplicar qualquer mapeamento de imagem/vídeo desejado antes que os dados de ima- gem/vídeo finais sejam enviados ao visor alvo 308. O visor alvo 308 pode ser qualquer dispositivo adequado que possa exibir dados de imagem e/ou vídeo a um espectador. Meramente para alguns exemplos, tais visores alvo 308 podem ser televisões em HD, projetores de filme, monitores de mesa, computadores tipo laptop, computadores tipo tablet, dispositivos inteligentes ou similares.[0094] The intermediate bit stream 303 and/or which flags 305 may be received by a Display Management (DM) module 306. The DM module 306 may apply any desired image/video mapping before the image data - final gem/video is sent to the target display 308. The target display 308 can be any suitable device that can display image and/or video data to a viewer. Merely for a few examples, such target displays 308 may be HD televisions, movie projectors, desktop monitors, laptop-type computers, tablet-type computers, smart devices, or the like.

[0095] Conforme mencionado, diversas modalidades do presente pedido podem envolver o cálculo e/ou derivação de metadados de cena a cena - por exemplo, possivelmente um conjunto de metadados de cena "estáveis". Tais metadados estáveis de cena podem ser empregados judiciosamente pelo encadeamento durante um momento quan- do metadados estáveis de cena podem ser empregados (possivelmente substituindo outros metadados disponíveis tanto com base em cena quanto com base em quadro) para mitigar possíveis artefatos perceptíveis e/ou objetáveis ao espectador.[0095] As mentioned, various embodiments of the present application may involve the calculation and/or derivation of scene-by-scene metadata - for example, possibly a set of "stable" scene metadata. Such scene-stable metadata may be employed judiciously by the thread during a time when scene-stable metadata may be employed (possibly overriding other available metadata both scene-based and frame-based) to mitigate possible noticeable and/or objectionable artifacts. to the viewer.

[0096] Para meramente um exemplo, considere uma cena em uma caverna escura. A imagem pode mostrar todo o detalhe escuro da caverna. Entretanto, se a câmera desloca-se até a abertura da caverna (que é clara), um mapeamento adaptativo pode ajustar a imagem em conformidade - por exemplo, que pode diminuir os detalhes escuros das paredes da caverna para acomodar os novos pixels mais claros. Com a geração e uso de metadados estáveis de cena, o mapeamento pode ser otimizado para a cena inteira - por exemplo, de modo que não haja uma mudança perceptível no meio da cena.[0096] For merely one example, consider a scene in a dark cave. The image can show all the dark detail of the cave. However, if the camera pans to the cave opening (which is bright), adaptive mapping can adjust the image accordingly - for example, it can decrease the dark details of the cave walls to accommodate the new brighter pixels. By generating and using stable scene metadata, mapping can be optimized for the entire scene - for example, so that there is no noticeable change in the middle of the scene.

[0097] A Figura 4 é uma modalidade de um fluxograma de nível alto 400 de processamento de metadados estáveis de cena. Em 402, os dados de vídeo podem ser divididos em um conjunto de cenas. Essadivisão e/ou particionamento de um vídeo em um conjunto de cenas pode ser realizada de diversas formas. Primeiro, o particionamento pode ser feito por um usuário humano - por exemplo, um diretor, um editor de filme, alguém na pós-produção ou similares. Por exemplo, em uma modalidade, os cortes de cena podem já ser conhecidos da Lista de Decisão de Edição (EDL) -- que pode ser usada para criar o filme a partir de diversas tomadas diferentes. É possível em uma modalidade, extrair essa EDL e usar a mesma para delimitar os limites de cena. Desta forma, há pouco ou nenhum esforço necessário. Além disso, o usuário tem a opção de sobrescrever os cortes de cena determinados (ou extraídos) automaticamente.[0097] Figure 4 is an embodiment of a high-level flowchart 400 of processing stable scene metadata. At 402, video data can be divided into a set of scenes. This division and/or partitioning of a video into a set of scenes can be performed in several ways. First, the partitioning can be done by a human user - for example, a director, a film editor, someone in post-production, or the like. For example, in one embodiment, the scene cuts may already be known from the Edit Decision List (EDL) -- which may be used to create the film from several different takes. It is possible in one embodiment to extract this EDL and use it to delimit the scene boundaries. This way, there is little to no effort required. Furthermore, the user has the option to overwrite the determined (or extracted) scene cuts automatically.

[0098] Alternativamente, a identificação de particionamento de cena pode ser feita automaticamente por um processador de vídeo que pode fazer tais determinações analisando-se dados de vídeo em uma base quadro a quadro. Por exemplo, se há uma variação mensuravel- mente grande de dados de luminância, dados de cor ou outra métrica de dados de imagem entre quadros, então um processador de vídeo pode decidir que essa diferença pode marcar o limite de duas cenas. Tal determinação automática pode ser acentuada em um processo de antecipação, ou de múltiplas passagens - em que diversos quadros podem ser analisados e, se uma diferença inicial de uma métrica de dados de imagem não for observada e se essa métrica em muitos quadros daí em diante conformar substancialmente com tal diferença inicial, então um grau alto de probabilidade pode ser avaliado que uma mudança de cena ocorreu.[0098] Alternatively, scene partitioning identification can be made automatically by a video processor that can make such determinations by analyzing video data on a frame-by-frame basis. For example, if there is a measurably large variation in luminance data, color data, or other image data metrics between frames, then a video processor may decide that this difference can mark the boundary of two scenes. Such automatic determination may be enhanced in a look-ahead, or multi-pass, process - where several frames may be analyzed and if an initial difference in an image data metric is not observed and if that metric in many frames thereafter conform substantially to such an initial difference, then a high degree of probability can be assessed that a scene change has occurred.

[0099] Para propósitos do presente pedido, cenas podem ser identificadas nos dados de vídeo de qualquer maneira conhecida. Em 404, os metadados podem ser computados, medidos ou do contrário extraídos em uma base de cena a cena. Apenas um exemplo, se há 50 quadros que compreendem uma dada cena, então os dados de lumi- nância podem ser medidos e extraídos para a cena inteira. Metadados de cena, tais como luminância mínima, luminância média e/ou media-na e luminância máxima podem ser calculados. Outras métricas de imagem/vídeo podem ser igualmente medidas e/ou extraídas para formar outros metadados com base em cena.[0099] For purposes of the present application, scenes may be identified in the video data in any known manner. At 404, metadata may be computed, measured, or otherwise extracted on a scene-by-scene basis. Just one example, if there are 50 frames that comprise a given scene, then luminance data can be measured and extracted for the entire scene. Scene metadata such as minimum luminance, mean and/or median luminance and maximum luminance can be calculated. Other image/video metrics can also be measured and/or extracted to form other scene-based metadata.

[00100] O seguinte é uma modalidade de geração de metadados estáveis de cena dentro de um fluxo de vídeo:[00100] The following is an embodiment of generating stable scene metadata within a video stream:

[00101] A luminância MIN, MID e MAX é computada para cada quadro dentro de uma cena. Os resultados são então combinados para a cena inteira.[00101] MIN, MID and MAX luminance is computed for each frame within a scene. The results are then combined for the entire scene.

[00102] Para MIN, tomar o mínimo de todos os mínimos de todos os quadros em uma cena;[00102] For MIN, take the minimum of all minimums of all frames in a scene;

[00103] Para MID, tomar a média (Mediano) de todas as médias de todos os quadros em uma cena;[00103] For MID, take the average (Median) of all averages of all frames in a scene;

[00104] Para MAX, tomar o máximo de todos os máximos de todos os quadros em uma cena.[00104] For MAX, take the maximum of all maximums of all frames in a scene.

[00105] Será verificado que estatísticas similares podem ser derivadas para outras métricas de vídeo/imagem - por exemplo, dados de gama de cor ou similares. Em outra modalidade, pode ser possível gerar outros metadados dependentes de cena - por exemplo, quanto ajuste de nitidez ou suavização aplicar aos dados de imagem dentro de uma cena.[00105] It will be found that similar statistics can be derived for other video/image metrics - for example, color gamut data or the like. In another embodiment, it may be possible to generate other scene-dependent metadata - for example, how much sharpening or smoothing to apply to image data within a scene.

[00106] Em 406, um conjunto de metadados "estáveis"pode ser computado para uma cena. Os metadados estáveis podem diferenciar de metadados com base em cena (ou com base em quadro) computados mais antigos - dependendo do uso de tais metadados. Os metadados estáveis de cena podem ser computados e/ou gerados para uma cena, possivelmente de acordo com alguns recursos, aspectos e/ou métricas monitorados que podem potencialmente produzir uma mudança perceptível e/ou objetável nos dados de vídeo - por exemplo, mesmo se os metadados com base em cena computados mais antigos tiverem sido usados na renderização da cena para visualização. Por exemplo, no caso de um ator se mover no espaço e tempo através de um plano de fundo diferente (por exemplo, indo de um recinto fechado escuro para um cenário claro externo iluminado pelo sol em um corte) pode produzir mudanças perceptíveis e/ou objetáveis em cor ou matiz na face do ator ou do contrário no tom de pele. Em algumas modalidades, metadados para uma segunda cena também podem ser substituídos pelos metadados computados para uma primeira cena (por exemplo, diferente da segunda cena) se de acordo com um recurso, aspecto, e/ou métrica monitorada as duas cenas puderem ser consideradas perceptivamente similares. A segunda cena pode ser subsequente ou anterior à primeira cena.[00106] At 406, a set of "stable" metadata can be computed for a scene. Stable metadata may differ from older computed scene-based (or frame-based) metadata - depending on the use of such metadata. Stable scene metadata may be computed and/or generated for a scene, possibly according to some monitored features, aspects, and/or metrics that may potentially produce a noticeable and/or objectionable change in the video data - e.g., even if The earliest computed scene-based metadata was used in rendering the scene for preview. For example, an actor moving in space and time across a different background (e.g., going from a dark indoor setting to a bright, sunlit outdoor setting in one cut) may produce noticeable and/or objectionable in color or hue to the actor's face or otherwise in skin tone. In some embodiments, metadata for a second scene may also be replaced with metadata computed for a first scene (e.g., different from the second scene) if according to a feature, aspect, and/or monitored metric the two scenes can be considered perceptually. similar. The second scene can be subsequent or prior to the first scene.

[00107] Outros recursos, aspectos e/ou métricas são possíveis - por exemplo, tom de pele, objetos/recursos luminantes, recursos/objetos escuros, recursos/objetos coloridos e similares. Tais mudanças podem ser mitigadas com metadados estáveis de cena. Os metadados estáveis de cena podem ser computados e/ou gerados de tal modo que o recurso, aspecto e/ou métrica que é monitorado ao longo de uma cena seja trazido de volta para e/ou mantido dentro de uma faixa de valores aceitáveis. Em 408, o processo pode associar e/ou substituir esses metadados estáveis de cena por quaisquer outros metadados que podem ou não ser anteriormente associados com a cena. Essa associação e/ou substituição de metadados estáveis de cena pode ser fornecida para fazer de volta tais recursos, aspectos e/ou métricas para dento de uma faixa aceitável - por exemplo, possivelmente se outros metadados permitirem que tais recursos, aspectos e/ou métricas saiam da faixa aceitável. A faixa de valores aceitáveis para um recurso, aspecto e/ou métrica pode ser determinada manualmente (por exemplo, por um diretor e/ou editor de filme), ou de acordo com certas regras e/ou heurísticas que envolvem processamento/renderização de imagem e/ou edição de filme.[00107] Other features, aspects, and/or metrics are possible - for example, skin tone, luminous objects/features, dark features/objects, colored features/objects, and the like. Such changes can be mitigated with stable scene metadata. Stable scene metadata can be computed and/or generated such that the feature, aspect, and/or metric that is monitored throughout a scene is brought back to and/or maintained within a range of acceptable values. At 408, the process may associate and/or replace this stable scene metadata with any other metadata that may or may not previously be associated with the scene. Such association and/or replacement of stable scene metadata may be provided to bring such features, aspects and/or metrics back within an acceptable range - for example, possibly if other metadata allows such features, aspects and/or metrics outside the acceptable range. The range of acceptable values for a feature, aspect, and/or metric may be determined manually (e.g., by a director and/or film editor), or according to certain rules and/or heuristics involving image processing/rendering and/or film editing.

[00108] Deve ser verificado que o processamento estabelecido na Figura 4 pode ocorrer em muitos pontos diferentes no encadeamento de vídeo/imagem. Por exemplo, o particionamento de vídeo em cenas pode ser feito na pós-produção por um humano - ou do contrário por um processador no encadeamento. Além disso, então, a computação e/ou a extração de metadados com base em cena podem ser feitas na pós-produção ou em outra parte no encadeamento. Igualmente, a as-sociação de metadados de cena "estáveis"pode ocorrer na pós- produção - ou pode ser realizada adicionalmente a jusante, por exemplo, pelo DM ou outro processador de vídeo anterior ao envio dos dados de vídeo/imagem finais para o visor alvo para renderização.[00108] It should be noted that the processing set out in Figure 4 can occur at many different points in the video/image chain. For example, partitioning video into scenes can be done in post-production by a human - or otherwise by a processor in the thread. Additionally, then, computation and/or scene-based metadata extraction can be done in post-production or elsewhere in the pipeline. Likewise, the association of "stable" scene metadata may occur in post-production - or may be performed additionally downstream, for example, by the DM or other video processor prior to sending the final video/image data to the target viewport for rendering.

MODALIDADES ALTERNATIVASALTERNATIVE MODALITIES

[00109] Em algumas modalidades, as operações de mapeamento podem ser dependentes de conteúdo de imagem a fim de alcançar desempenhomáximo. Tal mapeamento dependente de imagem pode ser controlado por metadados que são gerados a partir do conteúdo fonte. Para garantir estabilidade temporal (por exemplo, nenhuma oscilação, pulsação, esmaecimento, etc.) pode ser desejável que os metadados sejam geralmente estáveis ao longo do tempo. Em uma modalidade, isso pode ser afetado através da aplicação de estabilidade nos meta-dados pela duração de uma cena. Pode ser permitido que os metadados mudem em cada corte de cena. Uma mudança súbita nos metadados em adaptação para o conteúdo pode não ser perceptível para um espectador em tal caso.[00109] In some embodiments, mapping operations may be dependent on image content in order to achieve maximum performance. Such image-dependent mapping can be controlled by metadata that is generated from the source content. To ensure temporal stability (e.g., no flickering, pulsing, fading, etc.) it may be desirable for metadata to be generally stable over time. In one embodiment, this may be affected by applying stability to the meta-data for the duration of a scene. Metadata can be allowed to change with each scene cut. A sudden change in metadata in adaptation to the content may not be noticeable to a viewer in such a case.

[00110] Em uma modalidade, as etapas para gerar metadados estáveis de cena pode compreender o seguinte:[00110] In one embodiment, the steps for generating stable scene metadata may comprise the following:

[00111] Adquirir local de cortes de cena nos dados de vídeo. Em uma modalidade, isso pode ser derivado da Lista de Decisão de Edição (EDL). Alternativamente, isso pode ser inserido manualmente por um humano -- ou detectado automaticamente por um processador.[00111] Acquire location of scene cuts in video data. In one embodiment, this may be derived from the Edit Decision List (EDL). Alternatively, this can be entered manually by a human -- or detected automatically by a processor.

[00112] Computar e/ou gerar os metadados para cada quadro na cena:[00112] Compute and/or generate metadata for each frame in the scene:

[00113] Opcionalmente reduzir a resolução da imagem. (Isso pode tender a acelerar o processamento e minimizar o efeito de alguns valores de pixel periféricos).[00113] Optionally reduce image resolution. (This may tend to speed up processing and minimize the effect of some peripheral pixel values).

[00114] Converter uma imagem em espaço de cor desejado (por exemplo, IPT-PQ)[00114] Convert an image to desired color space (e.g. IPT-PQ)

[00115] Computar o valor mínimo da imagem (por exemplo, canal I)[00115] Compute minimum image value (e.g. channel I)

[00116] Computar o valor máximo da imagem (por exemplo, canal I)[00116] Compute maximum image value (e.g. channel I)

[00117] Computar o valor médio da imagem (por exemplo, canal I)[00117] Compute the average value of the image (e.g. channel I)

[00118] Combinar os resultados por quadro em um resultado por cena:[00118] Combine the per-frame results into one per-scene result:

[00119] Computar o mínimo de cada um dos mínimos de quadro.[00119] Compute the minimum of each of the frame minimums.

[00120] Computar o máximo de cada um dos máximos de quadro.[00120] Compute the maximum of each of the frame maximums.

[00121] Computar a média de cada uma das médias de quadro.[00121] Compute the average of each of the frame averages.

[00122] Associar os metadados com a cena -- ou alternativamente cada quadro dentro da cena[00122] Associate metadata with the scene -- or alternatively each frame within the scene

[00123] Será verificado que variações das modalidades acima são possíveis e são contempladas sob o escopo deste presente pedido. Por exemplo, ao invés de analisar cada quadro da cena na etapa (2), um único quadro representativo pode ser escolhido e usado para computar e/ou gerar metadados, que são então associados à cena inteira.[00123] It will be seen that variations of the above embodiments are possible and are contemplated within the scope of this present application. For example, instead of analyzing each frame of the scene in step (2), a single representative frame can be chosen and used to compute and/or generate metadata, which is then associated with the entire scene.

[00124] Além disso, esmaecimentos cruzados podem ser suportados indicando-se os metadados para as cenas em qualquer um dos lados do esmaecimento cruzado e então interpolando-se para os quadrosintermediários. Tal interpolação pode ser linear ou assíntota em ambas as extremidades por meio de um cosseno ou função similar.[00124] Additionally, cross-fades can be supported by indicating metadata for the scenes on either side of the cross-fade and then interpolating to the intermediate frames. Such interpolation may be linear or asymptote at both ends via a cosine or similar function.

[00125] Após a etapa (4), os metadados podem ser inseridos em um fluxo de bits codificado com sincronização apropriada com o quadro de vídeo correto. Os metadados podem ser repetidos regularmente para permitir entrada aleatória no fluxo.[00125] After step (4), the metadata can be inserted into an encoded bitstream with appropriate synchronization with the correct video frame. Metadata can be repeated regularly to allow random entry into the stream.

[00126] Em ainda outra modalidade, é possível incluir nos metadados alguns valores pré-computados para ajudar a converter o vídeo decodificado em um espaço de cores desejado (por exemplo, IPT-PQ). Isso pode ser desejável uma vez que a conversão é feita frequentemente em dispositivos com processadores de ponto fixo, que podem não se sair bem com certas operações matemáticas tais como divisões e expoentes. O uso de valores pré-computados e incorporar os mesmos no fluxo de metadados pode ser benéfico.[00126] In yet another embodiment, it is possible to include in the metadata some pre-computed values to help convert the decoded video to a desired color space (e.g., IPT-PQ). This may be desirable since conversion is often done on devices with fixed-point processors, which may not do well with certain mathematical operations such as divisions and exponents. Using pre-computed values and incorporating them into the metadata stream can be beneficial.

[00127] Decodificação dos Metadados Estabilizados de Cena/ Metadados de "Aviso Prévio"[00127] Decoding of Stabilized Scene Metadata / "Advance Notice" Metadata

[00128] Em um decodificador de vídeo, novos metadados de cena podem chegar no mesmo quadro como o primeiro quadro de uma cena nova. Alternativamente, os metadados podem chegar antes do primeiro quadro da cena a fim de fornecer tempo para decodificar e interpretar os metadados a tempo de serem aplicados para processar o vídeo. Esses "metadados de aviso prévio"e outras técnicas podem ser desejáveis para aprimorar a robustez dos metadados estabilizados de cena através de transmissão de fluxo de bit. Diversos aprimoramentos podem compreender o seguinte, tanto como aprimoramentos individuais quanto como diversos aprimoramentos em combinação:[00128] In a video decoder, new scene metadata may arrive in the same frame as the first frame of a new scene. Alternatively, the metadata may arrive before the first frame of the scene to provide time to decode and interpret the metadata in time for it to be applied to process the video. Such "early warning metadata" and other techniques may be desirable to improve the robustness of stabilized scene metadata through bitstream transmission. Multiple enhancements may comprise the following, either as individual enhancements or as multiple enhancements in combination:

[00129] Repetir os metadados a cada quadro dentro de uma mesma cena;[00129] Repeat metadata every frame within the same scene;

[00130] Adicionar um indicador/sinalizador de um corte de cena que ocorre substancialmente no quadro seguinte em corpo de metadados;[00130] Add an indicator/flag of a scene cut that occurs substantially in the following frame in the metadata body;

[00131] Adicionar um indicador/sinalizador de um corte de cena que ocorre no quadro atual em corpo de metadados;[00131] Add an indicator/flag of a scene cut that occurs in the current frame in the metadata body;

[00132] Adicionar um indicador/sinalizador de que os metadados do quadro seguinte são substancialmente idênticos aos (ou substancialmente diferentes dos) metadados do quadro atual; e/ou[00132] Add an indicator/flag that the metadata of the next frame is substantially identical to (or substantially different from) the metadata of the current frame; and/or

[00133] Adicionar um campo de integridade de dados no corpo de metadados para verificação de erro (por exemplo, CRC32).[00133] Add a data integrity field in the metadata body for error checking (e.g., CRC32).

[00134] A Figura 5 retrata uma modalidade de tal fluxograma de metadados de aviso prévio 500. Em 502, o sistema/encadeamento pode computar e/ou gerar os metadados em uma base por cena. Esses metadados - metadados estáveis de cena ou do contrário - podem ser associados à cena no fluxo de bits de dados de vídeo em 504. O sis- tema/encadeamento pode então adicionar uma indicação de uma mudança de cena iminente antecipadamente por um número desejado (por exemplo, um ou mais) de quadros anteriores ao primeiro quadro real da nova cena em 506. Essa indicação e/ou sinalização pode compreender uma parte do fluxo de bits e ser percebida pelo DM (ou outro processador adequado no encadeamento). Em 508, o sistema pode permitir ao DM (ou outro processador adequado) tempo para instalar os parâmetros e/ou os mapeamentos antes da mudança de cena. Esse tempo adicional pode permitir ao sistema uma oportunidade de evitar qualquer artefato perceptível que possa ser objetável a um espectador do conteúdo de vídeo.[00134] Figure 5 depicts an embodiment of such an early warning metadata flowchart 500. At 502, the system/thread may compute and/or generate the metadata on a per-scene basis. This metadata - stable scene metadata or otherwise - can be associated with the scene in the video data bitstream at 504. The system/thread can then add an indication of an impending scene change in advance by a desired number ( e.g., one or more) of frames preceding the first actual frame of the new scene at 506. This indication and/or signaling may comprise a portion of the bit stream and be perceived by the DM (or other suitable processor in the thread). At 508, the system may allow the DM (or other suitable processor) time to install the parameters and/or mappings before the scene change. This additional time may allow the system an opportunity to avoid any noticeable artifacts that might be objectionable to a viewer of the video content.

[00135] Isso pode tender a ser um aprimoramento sobre métodos convencionais de estabilizar metadados que podem não ter acesso aos locais de cortes de cena antecipadamente. Por exemplo, se os cortes de cena não são conhecidos antecipadamente, os metadados podem ser estimados de improviso por análise dos dados de vídeo, ou permitindo-se que metadados mudem suavemente ao longo do tempo. Isso pode causar artefatos de imagem tal como oscilação, pulsação, esmaecimento, etc. Em outra modalidade, computando-se os metadados na fonte (por exemplo, antes da compressão de vídeo), pode ser possível reduzir as computações e, consequentemente, o custo necessário de dispositivos de consumidor menos capazes.[00135] This may tend to be an improvement over conventional methods of stabilizing metadata that may not have access to scene cut locations in advance. For example, if scene cuts are not known in advance, metadata can be estimated on the fly by analyzing video data, or by allowing metadata to change smoothly over time. This may cause image artifacts such as flickering, pulsation, fading, etc. In another embodiment, by computing the metadata at the source (e.g., before video compression), it may be possible to reduce the computations and, consequently, the cost required of less capable consumer devices.

[00136] A Figura 6 é um exemplo de dados de vídeo 600 que são particionados em um número de cenas (Cena 1 Até Cena N) - que por sua vez compreende um número de quadros (por exemplo, quadro 602a). O quadro 602m da Cena 1 pode ter um sinalizador de aviso prévio associado ao quadro - de tal modo que o DM possa ter tempo de definir parâmetros e/ou mapeamento para renderizar melhor a Cena 2, que segue por sua vez.[00136] Figure 6 is an example of video data 600 that is partitioned into a number of scenes (Scene 1 to Scene N) - which in turn comprises a number of frames (e.g., frame 602a). Frame 602m of Scene 1 can have an early warning flag associated with the frame - such that the DM can have time to set parameters and/or mapping to better render Scene 2, which follows in turn.

[00137] Uma descrição detalhada de uma ou mais modalidades da invenção, lida junto com as figuras anexas, que ilustram os princípios da invenção agora foi dada. Deve ser verificado que a invenção é descrita em combinação com tais modalidades, mas a invenção não é limitada a qualquer modalidade. O escopo da invenção é limitado apenasàs concretizações e a invenção engloba diversas alternativas, mo- dificações e equivalentes. Diversos detalhes específicos foram definidos nesta descrição a fim de fornecer uma compreensão minuciosa da invenção. Esses detalhes são fornecidos para o propósito de exemplo e a invenção pode ser praticada de acordo com as concretizações sem alguns ou todos esses detalhes específicos. Com o propósito de clareza, o material técnico que é conhecido nos campos da técnica em relação à invenção não foi descrito em detalhes de modo que a invenção não seja obscurecida desnecessariamente.[00137] A detailed description of one or more embodiments of the invention, read together with the accompanying figures, which illustrate the principles of the invention has now been given. It should be noted that the invention is described in combination with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited to embodiments only and the invention encompasses several alternatives, modifications and equivalents. Several specific details have been defined in this description in order to provide a thorough understanding of the invention. These details are provided for exemplary purposes and the invention may be practiced in accordance with the embodiments without some or all of these specific details. For the purpose of clarity, the technical material that is known in the art in relation to the invention has not been described in detail so that the invention is not unnecessarily obscured.

Claims (4)

1. Sistema para usar metadados estáveis de cena para dados de vídeo caracterizado pelo fato de que compreende: um processador; uma memória associada ao processador e sendo que a memória ainda compreende um método legível por processador, de modo que quando o processador lê o método legível por processador, o processador realiza as seguintes etapas: receber um fluxo de dados de vídeo, sendo que o fluxo de dados de vídeo compreende um conjunto de cenas; gerar primeiros metadados associados a uma primeira cena dentro do conjunto de cenas, em que gerar os primeiros metadados associados à primeira cena dentro do conjunto de cenas compreende: computar uma luminância mínima, média e máxima para cada quadro em uma cena; e computar uma luminância mínima, média e máxima para a cena; gerar metadados estáveis de cena; e associar os metadados estáveis de cena à dita primeira cena, em que associar os metadados estáveis de cena à dita primeira cena compreende adicionalmente: repetir os metadados estáveis de cena para cada quadro dentro da dita primeira cena.1. System for using stable scene metadata for video data comprising: a processor; a memory associated with the processor and wherein the memory further comprises a processor-readable method, such that when the processor reads the processor-readable method, the processor performs the following steps: receiving a stream of video data, wherein the stream video data comprises a set of scenes; generating first metadata associated with a first scene within the set of scenes, wherein generating first metadata associated with the first scene within the set of scenes comprises: computing a minimum, average and maximum luminance for each frame in a scene; and compute a minimum, average and maximum luminance for the scene; generate stable scene metadata; and associating the stable scene metadata with said first scene, wherein associating the stable scene metadata with said first scene further comprises: repeating the stable scene metadata for each frame within said first scene. 2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de gerar metadados estáveis de cena ainda compreendem: monitorar um recurso dentro de uma cena para determinar os metadados estáveis de cena para a cena.2. System, according to claim 1, characterized by the fact that the step of generating stable scene metadata further comprises: monitoring a resource within a scene to determine the stable scene metadata for the scene. 3. Sistema, de acordo com a reivindicação 2, caracterizado pelo fato de que a etapa de gerar metadados estáveis de cena ainda compreende: computar metadados estáveis de cena de modo que o recurso monitorado dentro de uma cena seja mantido dentro de uma faixa de valores aceitáveis.3. System according to claim 2, characterized by the fact that the step of generating stable scene metadata further comprises: computing stable scene metadata so that the monitored resource within a scene is maintained within a range of values acceptable. 4. Sistema, de acordo com a reivindicação 3, caracterizado pelo fato de que o recurso monitorado é um de um grupo, sendo que o grupo compreende: tom de pele, recursos de luminância, recursos escuros e recursos coloridos.4. System, according to claim 3, characterized by the fact that the monitored resource is one of a group, the group comprising: skin tone, luminance resources, dark resources and colored resources.
BR112016001639-4A 2013-07-30 2014-07-28 SYSTEM FOR GENERATING STABILIZED SCENE METADATA BR112016001639B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361859956P 2013-07-30 2013-07-30
US61/859,956 2013-07-30
PCT/US2014/048387 WO2015017314A1 (en) 2013-07-30 2014-07-28 System and methods for generating scene stabilized metadata

Publications (2)

Publication Number Publication Date
BR112016001639A2 BR112016001639A2 (en) 2017-08-01
BR112016001639B1 true BR112016001639B1 (en) 2023-09-05

Family

ID=

Similar Documents

Publication Publication Date Title
US10553255B2 (en) System and methods for generating scene stabilized metadata
EP3295451B1 (en) Metadata filtering for display mapping for high dynamic range images
CN109219844B (en) Transitioning between video priority and graphics priority
JP5577415B2 (en) Video display with rendering control using metadata embedded in the bitstream
JP5588022B2 (en) Method and system for providing video data to a display subsystem
RU2609760C2 (en) Improved image encoding apparatus and methods
US20110085727A1 (en) System and method for marking a stereoscopic film
US11587526B2 (en) Luminance adaption to minimize discomfort and improve visibility
BR112016001639B1 (en) SYSTEM FOR GENERATING STABILIZED SCENE METADATA
CN115330711B (en) Image video content management method and system based on data processing
JP2010246103A (en) Moving picture overlap detection method and system
BR122023000647A2 (en) VIDEO CONTENT EDITING METHOD AND NON-TRANSITORY COMPUTER READABLE MEDIA