• Nenhum resultado encontrado

Visualização de vídeos HDR em dispositivos móveis

N/A
N/A
Protected

Academic year: 2021

Share "Visualização de vídeos HDR em dispositivos móveis"

Copied!
92
0
0

Texto

(1)

UNIVERSIDADE DE TRÁS-OS-MONTES E ALTO DOURO

Visualização de Vídeos HDR em

Dispositivos Móveis

DISSERTAÇÃO DE MESTRADO

EM ENGENHARIA INFORMÁTICA

César Augusto Gonçalves Meira

Sob orientação do Professor Doutor Maximino Esteves

Correia Bessa e Professor Doutor Luís Filipe Leite Barbosa

(2)
(3)

i

Universidade de Trás-os-Montes e Alto Douro

Curso de Mestrado em Engenharia Informática

Visualização de Vídeos HDR em

Dispositivos Móveis

Dissertação do curso de Mestrado em Engenharia Informática

de

César Augusto Gonçalves Meira

Orientador: Maximino Esteves Correia Bessa

Coorientador: Luís Filipe Leite Barbosa

Dissertação submetida à Universidade de Trás-os-Montes e Alto Douro para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia Informática, elaborada sob a orientação do Professor Doutor Maximino Esteves Correia Bessa da Universidade de Trás-os-Montes e Alto Douro e coorientação do Professor Doutor Luís Filipe Leite Barbosa da Universidade de Trás-os-Montes e Alto Douro.

(4)
(5)

i

“No meio de qualquer dificuldade encontra-se a oportunidade.” -- Albert Einstein

(6)
(7)

iii

Resumo

Existem várias técnicas HDR (High Dynamic Range) que permitem capturar e exibir conteúdos fidedignos de ambientes com variações de luminosidade significativas que, até ao aparecimento de tais técnicas, apenas podiam ser detetadas pelo olho humano. Até essa altura, a captura e a visualização de ambientes não era capaz de se equiparar à realidade. Isto porque existe uma limitação de gama dinâmica que tanto os dispositivos de captura como de visualização são capazes de capturar/reproduzir.

Esta limitação inspirou soluções que permitissem a captura de imagens/vídeos com uma elevada gama dinâmica, bem como soluções que permitissem a conversão em uma gama dinâmica suportada por dispositivos de visualização. Esta técnica, designada de Tone-Mapping, é aplicada tanto na conversão da gama dinâmica de imagens como de vídeos.

Utilizando essa técnica existem várias aplicações que permitem a exibição de conteúdo HDR em dispositivos comuns, no entanto não existe nenhuma aplicação que permita a visualização de vídeos HDR em dispositivos móveis, o que motivou a esta investigação.

O estudo de várias técnicas de Tone-Mapping e a análise de alguns visualizadores de vídeo possibilitou a idealização de uma arquitetura capaz de exibir vídeos HDR em dispositivos móveis. Essa arquitetura foi implementada em duas plataformas (iOS e Android) e a sua avaliação permitiu concluir que é possível exibir vídeos HDR em tais dispositivos com uma taxa de frames superior a 25 FPS.

Palavras-chave: Dispositivos móveis, processamento de imagem, processamento de vídeo, alta gama dinâmica (HDR).

(8)
(9)

v

Abstract

There are several HDR (High Dynamic Range) techniques that allow the capture and display of resembling content of environments with significant variations in brightness that until the emergence of such techniques only be detected by the human eye. Until that time, the capture and visualization of environments was not able to match up to reality. This is because there is a limited dynamic range that both capture and display devices are able to capture/show.

This limitation inspired solutions that allow you to take pictures / videos with a wide dynamic range, as well as solutions that allow conversion to a dynamic range supported by display devices. This technique known as Tone-mapping is applied both to the conversion of the dynamic range of images and videos.

Using this technique there are several applications that allow HDR content to be displayed in common devices, however there is no application that allows the display of HDR videos on mobile devices, which led to this dissertation.

The study of Tone-Mapping techniques and the analysis of some video viewers allowed the idealization of architecture able to display HDR videos on mobile devices. This architecture has been implemented on two platforms (iOS and Android) and its evaluation concluded that it is possible to view videos HDR in those devices with a frame rate above 25 FPS.

Keywords: Mobile Devices, image processing, video processing, high dynamic range, tone mapping.

(10)
(11)

vii

Agradecimentos

A realização da presente dissertação exigiu um grande esforço e dedicação da minha parte, no entanto a sua concretização não seria possível sem o auxílio e apoio de algumas pessoas, às quais gostaria de expressar os meus mais sinceros agradecimentos. Agradeço então:

À Universidade de Trás-os-Montes e Alto Douro, pela formação académica e oportunidade de realização do presente mestrado;

Ao INESC Porto, que me ofereceu as condições necessárias à realização desta pesquisa;

Aos meus orientadores, Professor Doutor Maximino Bessa e Professor Doutor Luís Barbosa, pela orientação, partilha de saberes e constante disponibilidade;

Ao colega, Miguel Melo, pela partilha do seu saber e cooperação neste estudo; À empresa goHDR, por disponibilizar os vídeos HDR que possibilitaram a avaliação deste trabalho.

À Cristiana Martins, em especial, por todo o seu amor, esforço e dedicação em me ajudar a ultrapassar esta importante fase da minha vida e por se mostrar sempre disponível;

Aos meus pais e irmãos, pelo apoio e paciência ao longo deste percurso;

Aos meus amigos, Jorge Freitas, André Pinheiro e Filipe Fernandes, pelo companheirismo, apoio e auxílio;

A todos os que, direta ou indiretamente, contribuíram para este meu percurso; A todos eles, o meu muito obrigado!

(12)
(13)

ix

Índice

Resumo ... iii Abstract ... v Agradecimentos ... vii Índice ... ix Índice de figuras ... xi

Índice de tabelas ... xiii

Índice de gráficos... xv Siglas e acrónimos ... 17 1. Introdução ... 1 1.1. Objetivos ... 3 1.2. Metodologia ... 3 1.3. Organização da dissertação ... 3 2. Estado da Arte ... 5

2.1. Sistema Visual Humano ... 5

2.2. Operadores de Mapeamento de Tons ... 5

2.2.1. TMO de Imagem ... 7 2.2.2. Operadores de vídeo ... 20 2.3. Dispositivos Móveis ... 24 2.3.1. Smartphones ... 24 2.3.2. Tablets ... 26 2.3.3. HDR em dispositivos móveis ... 26 2.4. Visualizadores de Vídeos ... 28 2.4.1. VPlayer ... 28 2.4.2. MX Player ... 29 2.5. Sumário ... 30 3. Visualizador de vídeo HDR ... 33 3.1. Análise de Requisitos ... 33 3.2. Arquitetura ... 34 3.3. Desenho do protótipo ... 35 3.3.1. Diagrama de classes ... 35 3.3.2. Funcionamento ... 36 3.4. Implementação ... 37 3.4.1. Listagem de vídeos ... 38

3.4.2. Controlo de visualização de vídeo ... 40

3.4.3. TMOs Implementados ... 44 4. Avaliação do Protótipo ... 49 4.1. Método ... 49 4.1.1. Dispositivos Testados ... 49 4.1.2. Vídeos Testados ... 50 4.1.3. Procedimentos ... 52 4.2. Resultados ... 53

(14)

x

4.2.1. Resultados iOS ... 53

4.2.2. Resultados Android ... 59

4.3. Discussão ... 62

5. Conclusões finais e trabalho futuro ... 65

5.1. Trabalho Futuro ... 66

(15)

xi

Índice de figuras

Figura 1 - Comparação da gama dinâmica (adaptado de Čadík (2012))... 2

Figura 2 - Ilustração da necessidade de TMO (adaptado de Čadík (2012)) ... 6

Figura 3 – Imagem processada com False Colour de uma sala de conferências com iluminação elétrica (adaptado a partir do website (e-light)). ... 7

Figura 4 - Imagem HDR processada com o operador “Adaptive Logarithmic Mapping For Displaying High Contrast Scenes” (adaptado de Drago, Myszkowski, Annen, & Chiba (2003)) ... 9

Figura 5 - Imagem HDR processada com o operador “A Contrast-Based Scalefactor For Luminance Display” (adaptado do website (Gallery of Reference Tone Mapped Images)) ... 11

Figura 6 - Imagem HDR processada com o operador “A Model of Visual Adaptation for Realistic Image Synthesiss” (adaptado de Ferwerda, Pattanaik, Shirley, & Greenberg (1996)) ... 12

Figura 7 - Imagem HDR processada com o operador “Quantization Techniques for Visualization of High Dynamic Range Pictures” (adaptado a partir do website de Čadík (Evaluation of Tone Mapping Operators))... 13

Figura 8- Imagem HDR processada com o operador “Tone Reproduction for Realistic Computer Generated Images” (adaptado do website (Gallery of Reference Tone Mapped Images)) ... 15

Figura 9 - Imagem HDR processada com o operador “Photographic Tone Reproduction for Digital Images” (adaptado de Reinhard, Stark, Shirley, & Ferwerda (2002)) ... 17

Figura 10 - Imagem HDR processada com o operador “A Tone Mapping Algorithm for High-Contrast Images” (adaptado de Ashikhmin (2002)) ... 19

Figura 11 - Exemplo de atuação do operador Time-Dependent Visual Adaptation For Fast Realistic Image Display (adaptado de Pattanaik, Tumblin, Yee, & Greenberg (2000)) ... 22

Figura 12 - Imagem HDR processada com o operador “Dynamic Range Reduction inspired by Photoreceptor Physiology” (adaptado de Reinhard & Devlin (2005)) ... 23

Figura 13 – Interface de seleção de ficheiro e pastas do VPlayer ... 29

Figura 14 – Interface de reprodução do vídeo do VPlayer ... 29

(16)

xii

Figura 16 - Interface de reprodução do vídeo do MX Player ... 30

Figura 17 - Arquitetura global do sistema... 34

Figura 18 - Diagrama de classes ... 35

Figura 19 - Fluxograma do funcionamento básico do protótipo ... 37

Figura 20 - Janela de listagem de vídeos no protótipo iOS... 39

Figura 21 - Janela de listagem de vídeos no protótipo Android ... 39

Figura 22 - Fluxograma do funcionamento da janela de listagem ... 40

Figura 23 - Janela de controlo de vídeo no protótipo iOS ... 42

Figura 24 - Controlo de seleção de TMO no protótipo iOS ... 42

Figura 25 - Controlo de seleção de TMO no protótipo Android ... 43

Figura 26 - Fluxograma da janela de controlo de vídeo... 43

(17)

xiii

Índice de tabelas

Tabela 1 - Especificações de Smartphones ... 25

Tabela 2 - Especificações de Tablets ... 26

Tabela 3 - TMOs avaliados ... 45

Tabela 4 - Miniaturas dos 10 vídeos ... 50

(18)
(19)

xv

Índice de gráficos

Gráfico 1 - Média de FPS alcançados em todos os TMO em cada um dos vídeos no iPhone 4 ... 53

Gráfico 2 - Média de FPS alcançados em todos os TMO em cada um dos vídeos no iPhone 5 ... 55

Gráfico 3 - Média de FPS alcançados em todos os TMO em cada um dos vídeos no iPad 2 ... 56

Gráfico 4 - Média de FPS alcançados em todos os TMO em cada um dos vídeos no iPad 4 ... 57

Gráfico 5 - Média de FPS alcançadas no vídeo 3 em todos os dispositivos da Apple ... 58

Gráfico 6 - Percentagem de consumo de energia por hora em todos os dispositivos ... 59 Gráfico 7 - Média de FPS alcançados em todos os TMO em cada um dos vídeos no Nexus 7 ... 60

Gráfico 8 - Média de FPS alcançados em todos os TMO em cada um dos vídeos no Galaxy Note II ... 61

(20)
(21)

xvii

Siglas e acrónimos

CPU Central Processing Unit

CRT Cathode Ray Tube

FPS Frames Per Second (Fotogramas por segundo)

GLSL OpenGL Shader Language

GPU Graphics Processing Unit

HDR High Dynamic Range

JNI Java Native Interface LCD Liquid-Crystal Display

LDR Low Dynamic Range

PPI Pixels Per Inch (Pixéis por polegada)

RAM Random Access Memory

SVH Sistema Visual Humano

TMO Tone Mapping Operator

(22)
(23)

1

1. Introdução

A vida está repleta de momentos importantes, que muitas vezes queremos registar recorrendo assim a câmaras de vídeo ou fotográficas de forma a os poder recordar no futuro. No entanto, no momento a maioria dos vídeos/fotografias capturadas não possuem o detalhe desejável. Uma das razões é devido ao facto do ambiente que nos rodeia pode existir uma variação de luminosidade significativa e, apesar de o olho humano ser capaz de detetar as pequenas variações de contraste e visualizar cenários sob uma grande variedade de condições de luminosidade (Blackwell H. R., 1946), os monitores e dispositivos de captura comuns não são capazes de operar do mesmo modo que o nosso SVH (Sistema Visual Humano).

As câmaras convencionais são capazes de captar apenas uma pequena fração desse contraste, guardando somente 8 bits (256 níveis) com informação acerca da luminosidade em cada pixel, o que faz com que as imagens resultantes se tornem ou muito escuras em algumas áreas ou possivelmente saturadas (Nayar & Mitsunaga, 2000). Segundo Mantiuk (2006), uma das razões para isto acontecer diz respeito ao próprio formato de armazenamento, uma vez que não foi desenvolvido para conservar toda a informação do cenário real mas apenas a gama que era possível ser exibida pelos monitores do momento. Por exemplo, o formato JPEG é apenas capaz de armazenar uma limitada gama de cores visíveis e, apesar de conter a maior parte das cores presentes no mundo real, a sua amplitude é inferior à luminância que pode ser visualizada pelo olho humano.

(24)

Capítulo 1 – Introdução

2

Figura 1 - Comparação da gama dinâmica (adaptado de Čadík (2012))

Como podemos ver na Figura 1, o olho humano consegue interpretar uma vasta gama de luminância, no entanto o monitor convencional e os dispositivos de captura apenas conseguem reproduzir/capturar uma gama dinâmica reduzida. Pode-se verificar também que a gama capturada é ainda mais reduzida quando imprimida, isto porque a gama dinâmica possível em conteúdos impressos é mais reduzida que quando capturada, passando o seu contraste de 1:500 para 1:30.

Uma das formas de ultrapassar este problema é através da utilização de técnicas HDR (High Dinamic Range), sendo assim possível superar as limitações vistas anteriormente. Com estas técnicas já é possível capturar conteúdo com uma gama muito mais alargada evitando assim a perda de detalhe e também visualizar conteúdos com uma gama diferente à que os dispositivos são capazes de exibir utilizando os Tone Mapping Operators (TMO), que requerem um grande poder computacional. No entanto, para a visualização de vídeos HDR é necessário um maior poder computacional devido à necessidade de aplicação dos operadores em todos os fotogramas do vídeo. E apesar de já existirem aplicações que permitem visualizar vídeos HDR em computadores, como é o caso do visualizador de vídeos HDR (goHDR), este tipo de conteúdo não pode ainda ser visualizado em dispositivos móveis, mesmo estes sendo um dos principais meios de visualização de conteúdos devido à sua mobilidade e fácil porte. Com este

(25)

Capítulo 1 - Introdução

3 trabalho pretende-se verificar se os dispositivos móveis existentes no mercado têm, neste momento, a capacidade de reproduzir este tipo de conteúdo.

1.1. Objetivos

O principal objetivo deste trabalho é verificar a possibilidade de visualização de vídeos HDR em dispositivos móveis, uma vez que até ao momento isso não é possível. Para alcançar este objetivo geral foi necessária a concretização dos seguintes objetivos específicos:

 Revisão bibliográfica acerca das temáticas do HDR, dispositivos móveis e visualizadores de vídeos.

 Especificar e desenvolver todo o protótipo de reprodução de vídeos em HDR;

 Avaliar o protótipo desenvolvido.

1.2. Metodologia

A realização deste trabalho iniciou-se com o estudo e pesquisa acerca do tema abordado, ou seja, foi iniciada uma análise dos trabalhos desenvolvidos na área de HDR, especialmente em dispositivos móveis. Foram também analisados os dispositivos móveis emergentes na atualidade e alguns dos seus antecessores permitindo comparar a evolução deste tipo de dispositivos.

Como era pretendido visualizar vídeos HDR em dispositivos móveis foram também analisados alguns visualizadores existentes no mercado, e a sua capacidade para reproduzir vídeos HDR, mas como esperado não houve sucesso. Então, foi necessário especificar e analisar os requisitos para o visualizar de vídeos HDR a ser implementado. Por fim, foi idealizada uma validação para o protótipo desenvolvido, e através dos resultados obtidos pode-se concluir o estado atual dos dispositivos móveis na temática da reprodução de vídeos em HDR.

1.3. Organização da dissertação

No primeiro capítulo da presente dissertação é feita uma contextualização à temática HDR, bem como a apresentação das motivações e objetivos considerados ao longo da realização da mesma.

(26)

Capítulo 1 – Introdução

4

No segundo capítulo é realizada uma revisão acerca de alguns estudos nesta área de investigação, mais especificamente de métodos de compressão de conteúdo HDR. Foi também efetuado um levantamento de características de alguns dispositivos móveis e a retificação de alguns estudos que abrangem HDR em dispositivos móveis. No final do capítulo foram apresentados os reprodutores de vídeo mais utilizados em dispositivos móveis.

O terceiro capítulo apresenta o protótipo, mais especificamente a sua conceptualização e implementação. Aqui são apresentados os requisitos desejados ao desenvolvimento do protótipo pretendido. De seguida é apresentada a sua arquitetura, onde são exibidas as entidades principais do protótipo e a sua interligação, tal como uma justificação desses elementos e o seu propósito. É descrito o funcionamento da aplicação e o diagrama de classes e simultaneamente a descrição e objetivo de cada uma das classes. Por fim é descrito todo o processo de implementação do protótipo.

No quarto capítulo é realizada a validação do protótipo, onde é citado o que é pretendido com esta validação, apresentando os seus objetivos e os elementos que são analisados. De seguida é especificado o modo como a validação é efetuada, explicando a forma de realização do teste em cada dispositivo bem como os valores que são retirados. Dentro deste capítulo são citados ainda os dispositivos móveis que participaram na validação do protótipo; os vídeos utilizados no teste juntamente com a sua informação, características e miniaturas; e os TMOs que foram implementados para avaliação. Para concluir este capítulo, são apresentados os resultados da validação do protótipo nos vários dispositivos móveis de modo a retirar algumas conclusões acerca dos testes efetuados.

O último capítulo apresenta as conclusões deste trabalho e expõe algumas propostas de melhoria do protótipo desenvolvido, de forma a aperfeiçoá-lo possibilitando uma melhor visualização de vídeos HDR em dispositivos móveis.

(27)

5

2. Estado da Arte

O presente capítulo aborda um estado da arte ligado ao tema. Assim, numa primeira fase são apresentados, mais detalhadamente, os TMOs utilizados nesta dissertação. Posteriormente é apresentado o estudo acerca da evolução dos dispositivos móveis até a atualidade, bem como as especificidades dos seus componentes.

2.1. Sistema Visual Humano

“O sonho da visão eletrónica é imitar as capacidades do olho humano e possivelmente ir mais além em certos aspetos” (Hoefflinger, 2007).

O SVH é composto por dois tipos de fotorreceptores presentes na retina que permitem notar distinções visuais em gamas dinâmicas elevadas de brilho. Os bastonetes, que são altamente sensíveis a níveis de luminosidade baixa, no entanto não permitem perceber detalhe ou cor. Os cones, por outro lado, estão ativos em níveis de luz mais elevados e são responsáveis pela visão de cores, tendo uma maior acuidade visual. A gama com a qual o sistema visual consegue lidar pode ser dividida em duas regiões: fotópicas (intercedidas pelos cones e tem uma gama entre 101cd/m2 até 108cd/m2) e escotópicas (intercedidas pelos bastonetes e rondam a gama de 10-1 até 10

-6

cd/m2) (Ledda, Santos, & Chalmers, 2004). A visão mesópica é o funcionamento simultaneamente das duas regiões no processamento da luz recebida.

2.2. Operadores de Mapeamento de Tons

Com a necessidade de exibir conteúdo HDR em dispositivos de visualização comuns apareceram os TMO. O principal objetivo desta técnica é de ajustar a gama dinâmica do conteúdo à gama dinâmica do dispositivo de reprodução, de modo a preservar a experiência visual que o conteúdo oferece. Relativamente ao HDR isso não é completamente possível devido à enorme limitação de gama dos monitores, assim tenta-se preservar alguns atributos-chave, como o brilho, o contraste ou a visibilidade (Akyüz & Reinhard, 2008).

(28)

Capítulo 2 – Estado da Arte

6

Figura 2 - Ilustração da necessidade de TMO (adaptado de Čadík (2012))

Observando a Figura 2 pode-se verificar a razão da existência de TMOs, como se pode confirmar a gama dinâmica que o olho pode captar é elevada, e mesmo que essa gama seja capturada existe ainda a necessidade de a comprimir, isto porque os monitores apenas são capazes de reproduzir uma gama dinâmica limitada e inferior à gama dinâmica capturada com técnicas HDR.

Segundo Devlin (2002), existem dois tipos de TMO: os globais e os locais. Os TMOs globais aplicam a mesma transformação em todos os pixéis, estes operadores são simples e eficientes computacionalmente, mas não têm a capacidade de preservar o contraste local na maioria do conteúdo HDR (Goodnight, Wang, Woolley, & Humphreys, 2005). Os operadores locais levam em consideração as propriedades locais de cada pixel e usam essa informação para preservar o contraste local do conteúdo (Roch, Artusi, Michael, Chrysanthou, & Chalmers, 2007). Os TMOs podem ser ou não dependentes do tempo, os operadores dependentes do tempo são utilizados para vídeos HDR pois levam em consideração a coerência temporal entre os frames, de modo a evitar alterações significativas de luminância que poderiam causar oscilações percetíveis durante a reprodução.

Seetzen, et al (2004) afirmam que apesar dos vários esforços que existem para visualizar conteúdo HDR em dispositivos comuns, os TMOs não serão suficientes. Isto porque, apesar dessas técnicas permitirem exibir conteúdo HDR de uma forma reconhecível e até mesmo esteticamente agradável, esse conteúdo não seria o mesmo que a realidade. Assim, a gama dinâmica dos monitores convencionais é insuficiente

(29)

Capítulo 2 – Estado da Arte

7 para criar uma sensação ótica equivalente a um cenário real, o que levou à investigação de dispositivos capazes de exibir uma gama dinâmica mais elevada, existindo alguns protótipos capazes de exibir conteúdo HDR sem a necessidade de aplicação de TMOs, no entanto esse tipo de monitores são muito dispendiosos. Devido ao facto da maioria dos dispositivos comuns utilizarem ecrãs LDR (Low Dynamic Range) torna crucial o desenvolvimento de TMOs de modo a evitar a perda de detalhe.

2.2.1. TMO de Imagem

Os TMOs de imagem são aqueles que não têm em conta aspetos temporais e têm como principal objetivo remapear os tons de imagens.

False Colour

O False Colour é um operador global que tem como objetivo ajudar a avaliar cenários capturados relativamente à sua gama dinâmica. Este operador gera uma representação visual da distribuição de iluminação do cenário, representando as diferentes iluminações tendo por referência uma escala de cores ou tons de cinzento.

Figura 3 – Imagem processada com False Colour de uma sala de conferências com iluminação elétrica (adaptado a partir do website (e-light)).

Na Figura 3 podemos ver um exemplo da aplicação deste TMO numa sala de conferências, onde a coloração a azul representa áreas de baixos níveis de luminância e as áreas a vermelho representam altos níveis de luminância.

(30)

Capítulo 2 – Estado da Arte

8

Adaptive Logarithmic Mapping For Displaying High Contrast Scenes

Desenvolvido por Drago (2003), este operador baseia-se numa compressão logarítmica dos valores da luminância de modo a imitar a resposta do SVH à luz. Neste operador a conversão da luminância do cenário para brilho pode ser feito de duas formas: para imagens estáticas ou quando não existe interação direta é calculado a média logarítmica do cenário baseando-se na luminância de todos os pixéis; quando existe interatividade com o cenário é utilizado um fator de escala ponderado no centro onde é calculada a média logarítmica da região do pixel centrado e rodeado por uma distribuição gaussiana de duas dimensões do núcleo. A área do núcleo gaussiano é por defeito 15% da área do cenário, no entanto pode ser ajustada. Este último método pode ser utilizado com um sistema de seguimento ocular. É também possível ajustar o brilho da imagem final através de um fator de escala da exposição.

A principal característica deste operador é a sua capacidade de efetuar um ajuste adaptável através da base logarítmica em função do brilho de cada pixel. Os valores de luminância (Lx) são interpolados desde log2(Lx) até log10(Lx), com o intuito de preservar

o detalhe e o contraste, usando a seguinte equação:

( )

( ) (1)

Para suavizar a interpolação das bases logarítmicas é utilizado a função de potência “bias” de Perlin e Hoffert (1989). A função “bias” é uma função de potência definida sobre o intervalo da unidade que com um parâmetro b remapeia o valor de entrada, a função é representada pela seguinte equação:

( )

( )

( ) (2)

O algoritmo deste operador utiliza todas as funções anteriormente apresentadas e é utilizado para calcular o valor de luminância exibido ( ) de cada pixel. A equação requer os valores (World Luminance) e (Maximum World Luminance) escalados por (World Adaptation Luminance) e um fator de exposição opcional. O valor de (Maximum Display Luminance) representa a capacidade máxima de luminância que o dispositivo de exibição possui.

(31)

Capítulo 2 – Estado da Arte 9 ( ) ( ) ( (( ) ( ) ( ) ) ) (3)

Nesta equação o Ldmax é usado como um fator de escala para adaptar o resultado

ao dispositivo que irá ser apresentado. O parâmetro da função “bias” é essencial para ajustar a compressão de valores altos, bem como para a visibilidade de detalhes em áreas escuras. Para evitar o excesso de brilho pela função “bias” foi introduzido um fator de escala de modo a existir uma impressão de brilho constante:

( ) (4)

Figura 4 - Imagem HDR processada com o operador “Adaptive Logarithmic Mapping For Displaying High Contrast Scenes” (adaptado de Drago, Myszkowski, Annen, & Chiba (2003))

A Contrast-Based Scale factor For Luminance Display

Desenvolvido por Ward (1994), este operador é baseado no estudo de Blackwell (1981) que segue a relação entre a luminância de adaptação e a diferença mínima percetível em termos de luminosidade de Blackwell, sendo ela a seguinte:

(32)

Capítulo 2 – Estado da Arte

10

( ) ( ) (1)

A fórmula representa o que é visível num certo nível de luminância. Ward tira proveito dessa relação e interliga a adaptação e luminância do monitor com a adaptação e luminância do mundo. Como pretende uma fórmula linear ele procura um multiplicador de tal modo que:

(2)

Onde representa luminância que irá ser exibida num certo ponto da imagem, e o representa a luminância do mundo num certo ponto da imagem. Ao utilizar ( ) Ward correlaciona as diferenças de luminosidade visíveis no ecrã às diferenças de luminosidade do cenário, alterando a formula para:

( ) ( ) (3)

Assim, ( ) representa o mínimo de mudança da luminância percetível em ; representa a adaptação da luminância no ecrã; e representa a adaptação da

luminância do cenário. Com isto consegue que as diferenças que apenas são visíveis no mundo real sejam também visíveis no ecrã. Para chegar ao multiplicador, a fórmula é resolvida em função de m, resultando em:

[

] (4)

Este multiplicador (m) irá converter a luminância do cenário em luminância do ecrã. Para que o fator de escala consiga computar valores entre 0 e 1, é importante saber a luminância máxima do ecrã (Ldmax). Sendo também necessário saber o valor de Lda,

mas Ward na sua pesquisa descobriu que a fórmula Lda = Ldmax/2 funciona para a

maioria das aplicações, posto isto, a fórmula final deste operador contempla o seguinte:

[ ( ) ] (5)

(33)

Capítulo 2 – Estado da Arte

11

Figura 5 - Imagem HDR processada com o operador “A Contrast-Based Scalefactor For Luminance Display” (adaptado do website (Gallery of Reference Tone Mapped Images))

A Model of Visual Adaptation for Realistic Image Synthesis

Ferwerda (1996) desenvolveu um operador baseado em experiências psicofísicas. O operador capta mudanças nos limites visíveis, na aparência da cor, na acuidade visual, e na sensibilidade ao longo do tempo que são causadas pelos mecanismos de adaptação do SVH. Este operador é baseado no conceito de Ward (1994) que foi anteriormente descrito, e por isso utiliza a sua fórmula:

( ) ( ) ( ) (1)

Reformulando-a para a seguinte:

( ) ( ) ( ) (2)

Eles constroem o seu operador aplicando a informação de T.V.I. no modelo de Ward com base na informação recolhida das experiências, ficando:

( ) { ( ) (3) e

(34)

Capítulo 2 – Estado da Arte 12 ( ) { ( ) (4)

Estas funções podem ser aplicadas para condições fotópicas ( ( )) ou para condições escotópicas ( ( )), mas para condições mesópicas não basta juntar as duas fórmulas anteriores devido à possibilidade de gerar imagens demasiado brilhantes, então é usada a seguinte fórmula:

( ) (5)

Onde é a luminância do monitor em condições fotópicas e é a luminância

em condições escotópicas, a variável altera entre 0 e 1 conforme o nível de adaptação escotópica relativamente à gama mesópica.

Figura 6 - Imagem HDR processada com o operador “A Model of Visual Adaptation for Realistic Image Synthesiss” (adaptado de Ferwerda, Pattanaik, Shirley, & Greenberg (1996))

Quantization Techniques for Visualization of High Dynamic Range Pictures

Criado por Schlick (1995), este operador baseia-se em conhecimentos básicos da visão humana e pretende gerar uma imagem visualmente realista no dispositivo de exibição mesmo que o cenário contenha condições de iluminação extremas. O que carateriza este operador é a sua velocidade e simplicidade.

(35)

Capítulo 2 – Estado da Arte

13 Schlick (1995) afirma que os operadores logarítmicos e exponenciais têm um ponto fraco que é a dificuldade de preencher os parâmetros necessários através de geração automática de valores. Com isso em mente ele propõe um novo esquema de quantização utilizando uma função de mapeamento racional:

( )

) (1) Esta fórmula tem em conta a resposta não-linear dos dispositivos de visualização e da perceção subjetiva. Devido à sua estrutura simples é bastante económica comparativamente a fórmulas logarítmicas ou exponenciais.

Figura 7 - Imagem HDR processada com o operador “Quantization Techniques for Visualization of High Dynamic Range Pictures” (adaptado a partir do website de Čadík (Evaluation of Tone Mapping

Operators))

Tone Reproduction for Realistic Computer Generated Images

Tumblin & Rushmeier (1993) utilizam modelos matemáticos de observadores humanos para definir a conversão explícita dos dados do mundo real para o dispositivo

(36)

Capítulo 2 – Estado da Arte

14

de exibição. Este modelo calcula o brilho associado à luminância num certo nível de adaptação, utilizando a seguinte fórmula:

(1)

Onde , e são:

( ) (2)

( ( )) ( ) (3)

( ) { ( )} (4) Neste modelo faz-se a correspondência entre o brilho da luminância do cenário real (Bw) e o brilho da luminância do monitor (Bd), definindo que Bw = Bd, e assim

define-se a luminância do monitor com a seguinte fórmula:

( ) ( ) ( ) ( ) ( ) (5)

Como as fórmulas anteriores necessitam da adaptação de luminância do monitor, os autores definiram a adaptação como uma constante uma vez que tinha pouca influência nos cálculos, ficando:

( )

(6)

Onde é o contraste máximo disponível no monitor, assim a fórmula completa do operador é: [ ( ) ( ) ( ) ( ) ( ) ] (7)

(37)

Capítulo 2 – Estado da Arte

15

Figura 8- Imagem HDR processada com o operador “Tone Reproduction for Realistic Computer Generated Images” (adaptado do website (Gallery of Reference Tone Mapped Images))

Photographic Tone Reproduction for Digital Images

De Reinhard, Stark, Shirley, & Ferwerda (2002), este operador é um operador local e utiliza técnicas de práticas fotográficas como base, estendendo-as para que sejam capazes de lidar com imagens digitais. Foi utilizado o Zone System, desenvolvido por Adams (1980), (1981), (1983), para gerir decisões no operador. Neste operador inicialmente é calculado a média logarítmica da luminância:

(∑ ( ( ))

) (1)

Onde ( ) é a luminância do cenário para cada pixel (x,y); N é o número total de pixéis presentes na imagem; e é um pequeno valor de forma a evitar a singularidade que ocorre caso existam pixéis pretos na imagem. Depois é feita a escala da luminância de cada pixel com a seguinte fórmula:

(38)

Capítulo 2 – Estado da Arte

16

( ) ( ) (2)

Onde ( ) é a luminância mapeada do pixel (x, y) e é o valor chave (como denominado pelos investigadores). O principal problema é que a maioria dos cenários contém predominantemente áreas com uma gama dinâmica normal, e poucas regiões com alta gama dinâmica. Assim é utilizada uma técnica que comprime principalmente as regiões de alta gama dinâmica utilizando a fórmula:

( ) ( )

( ) (3)

Apesar de esta fórmula garantir a escala de toda a luminância da imagem, esse pode nem sempre ser o resultado desejado, assim estenderam a fórmula anterior para que permitisse que altas luminâncias tivessem o efeito de “queimado” de uma forma controlada: ( ) ( ) ( ( ) ) ( ) (4)

Onde é o valor mais pequeno de luminância que será mapeado para branco. Com esta fórmula é possível manter o detalhe em zonas de baixo contraste e comprimir as altas gamas dinâmicas para uma gama que possa ser exibida. Apesar disso, imagens com gama dinâmica demasiado alta poderão perder alguns detalhes, para evitar isso é necessário que o algoritmo aplique técnicas “dodging-and-burning”. Essa técnica tem como função manipular a exposição de certas áreas da imagem (Adams, 1983). A seleção da área ao redor do pixel é gerada utilizando o perfil Gaussiano circularmente simétrico:

( )

( ) (

( ) ) (5)

Este perfil é capaz de operar em diferentes escalas ( ) e em diferentes posições da imagem ( ). A análise com este perfil resulta numa resposta Vi em função da localização da imagem, escala e distribuição da luminância L:

(39)

Capítulo 2 – Estado da Arte

17

( ) ( ) ( ) (6)

O tamanho da área é definido por:

( ) ( ) ( )

⁄ ( ) (7)

Assim sendo, é possível transformar a equação de mapeamento global vista anteriormente por uma equação de mapeamento local, através da fórmula:

( ) ( )

( ( )) (8)

Quando um pixel mais escuro está numa zona clara a sua luminância será diminuída, aumentando assim o seu contraste. Se a variável for muito grande pode causar o aparecimento de áreas muito escuras ao redor de áreas claras, se a variável for muito pequena irá fazer com que a fórmula se reduza ao operador global visto no início deste operador, enquanto que a escolha de um adequado causa a quantidade certa de detalhe sem a introdução de efeitos indesejados.

Figura 9 - Imagem HDR processada com o operador “Photographic Tone Reproduction for Digital Images” (adaptado de Reinhard, Stark, Shirley, & Ferwerda (2002))

(40)

Capítulo 2 – Estado da Arte

18

A Tone Mapping Algorithm for High-Contrast Images

Desenvolvido por Ashikhmin (2002), este operador tem como base imitar duas funções do SVH: sinalizar brilho absoluto e contraste local. O algoritmo é dividido em três etapas: primeiro é estimado a adaptação da luminância local em cada pixel da imagem, de seguida esses valores são mapeados para a gama destino e por último os detalhes da imagem são reintroduzidos. Este método permite preservar os detalhes da imagem e fornece informações suficientes acerca do brilho da imagem mesmo depois de ser mapeada. No seu modelo é usado o nível de adaptação local para sinalizar o brilho absoluto e tratar o contraste local. O contraste local de um pixel é definido como:

( ) ( )

( ) (1)

Onde é a luminância do pixel e é o nível de adaptação local que equivale à luminância média da vizinhança da posição desse pixel ( ). A função de TM é definida pela seguinte fórmula:

( ) ( ) ( )

( ) ( ) (2)

Onde ( ) segue a seguinte expressão:

( ) { ( ⁄ ) ( ) (3)

A variável TM é utilizada na fórmula para calcular a luminância final do pixel através de:

( ) ( ( ))

(41)

Capítulo 2 – Estado da Arte

19 De seguida são consertadas as cores da imagem aplicando a escala obtida para a luminância de cada pixel bem como a correção de gama, de modo a obter os novos valores dos pixéis a serem exibidos.

Figura 10 - Imagem HDR processada com o operador “A Tone Mapping Algorithm for High-Contrast Images” (adaptado de Ashikhmin (2002))

Outros operadores

Aqui serão apresentados alguns operadores globais analisados mas que devido à sua simplicidade foram aglomerados numa única subsecção.

O operador denominado nesta dissertação como Exposure comprime os valores da gama dinâmica através de uma variável:

( ) ( ) (1)

Onde a variação de permite a navegação através da gama dinâmica ajustando o seu valor entre valores de -10 e 10.

Outro operador utilizado é denominado de Tone-Mapped, este operador comprime os valores de cada pixel utilizando a luminância média ( ) da imagem:

(42)

Capítulo 2 – Estado da Arte

20

O operador designado por Logarithmic utiliza funções logarítmicas para fazer um mapeamento da luminância: ( ) ( ) ⁄ ( ) ( ) ⁄ (3)

Onde representa a luminosidade do pixel e é a luminosidade máxima da imagem.

O operador Exponential tem como objetivo efetuar um mapeamento linear da luminância da imagem para uma luminância suportada pelo dispositivo, utilizando exponencias com a seguinte fórmula:

(

) (4)

Onde é a luminância do pixel atual e representa a luminância média da imagem. As outras duas variáveis servem como fatores do mapeamento.

O operador Filmic (Hable, 2010) é um operador desenvolvido para o jogo Uncharted 2, desenvolvido por John Hable. Este operador tem como objetivo atenuar as variações de luminosidade ao longo da imagem, utilizando as seguintes fórmulas:

( ) ( ( )

( ) ) (5)

( ) (

( )) (6)

Onde e todas as letras utilizadas são variáveis predefinidas pelo operador, os seus valores podem ser verificados no web site (Hable, 2010). E representa as cores do pixel.

2.2.2. Operadores de vídeo

Os operadores de vídeos têm em consideração a continuidade entre as imagens que são mapeadas. Ou seja, para além de mapearem a luminosidade do pixel tendo em conta a sua vizinhança ou algum aspeto global da imagem, também tem em conta a

(43)

Capítulo 2 – Estado da Arte

21 sequência das imagens, impedindo assim alterações bruscas de luminosidade numa continuidade de pixéis.

Time-Dependent Visual Adaptation For Fast Realistic Image Display

Desenvolvido por Pattanaik, Tumblin, Yee, & Greenberg (2000), este operador global tem como objetivo simular os mecanismos do olho humano relativamente à resposta a alterações intensas de luminosidade entre cenários. O operador mapeia cada frame e armazena algumas variáveis para garantir que não ocorre uma alteração brusca de luminosidade entre frames. Para cada pixel, este modelo calcula, do mesmo modo que a retina, os sinais de resposta dos cones e bastonetes relativamente à luminância, e o vetor de resposta com a informação de cores.

Para aplicar este operador em cada frame são inicialmente convertidos os valores RGB em valores de luminância (denominados de e ) para os bastonetes (denominado por rod) e cones.Essas luminâncias são utilizadas para calcular as suas respostas, utilizando as fórmulas:

(1)

Onde representa a resposta à luminância , e tanto como são determinados pela adaptação geral da luminância da imagem. Para calcular o vetor de resposta relativamente à cor é utilizado:

( ) , onde: ( ) ( ) (2)

Seguindo a sugestão de Hunt (2005) de definir a “referência de branco” como sendo cinco vezes a adaptação de luminância, os parâmetros para os bastonetes e cones são: ( ) ⁄ (3) ( ) ⁄ (4) Onde:

(44)

Capítulo 2 – Estado da Arte 22 (5)

E utiliza as seguintes fórmulas para calcular os valores do parâmetro de branqueamento : (6)

De modo a criar um modo dinâmico no operador é possível calcular o valor de

e do frame seguinte, utilizando funções que utilizam o e do

frame anterior e o e , onde e , sendo as fórmulas as seguintes: ( ) ( ) (7) ( ) ( ) (8)

Onde as variáveis , e são constantes.

Figura 11 - Exemplo de atuação do operador Time-Dependent Visual Adaptation For Fast Realistic Image Display (adaptado de Pattanaik, Tumblin, Yee, & Greenberg (2000))

Dynamic Range Reduction inspired by Photoreceptor Physiology

Seguindo evidências fisiológicas que sugerem que a adaptação de gama dinâmica ocorria em fotorreceptores, Reinhard & Devlin (2005) desenvolveram um operador

(45)

Capítulo 2 – Estado da Arte

23 rápido e prático que permite controlar a intensidade, o contraste e o nível de adaptação da visualização de um cenário com altas gamas dinâmicas.

O potencial produzido pelos cones da retina em função da intensidade pode ser modelado como:

( ) (1)

As variáveis e são constantes, no entanto são tratadas como parâmetros de entrada pelo utilizador.

Para determinar o valor de são feitos os seguintes cálculos:

( ) (2)

( ) (3)

( ) (4)

Onde representa a intensidade (cor) do pixel a ser mapeado, e L representa a sua luminância, por fim as variáveis e são parâmetros de configuração que representam a correção de cor e o nível de adaptação, respetivamente.

Figura 12 - Imagem HDR processada com o operador “Dynamic Range Reduction inspired by Photoreceptor Physiology” (adaptado de Reinhard & Devlin (2005))

(46)

Capítulo 2 – Estado da Arte

24

2.3. Dispositivos Móveis

Hoje em dia os dispositivos móveis são considerados potências de computação compactas. Estes dispositivos têm também CPUs e processadores gráficos (GPU) comparáveis a muitos computadores.

Com base nesta premissa foi feito um estudo relativamente às principais especificações de alguns dispositivos móveis mais recentes disponíveis no mercado, bem como um estudo sobre alguns dispositivos anteriores, permitindo assim uma análise sobre a sua evolução.

As principais especificações estudadas foram: RAM, CPU, GPU e ecrãs. Os dispositivos móveis foram divididos em dois tipos: Smartphones e Tablets.

2.3.1. Smartphones

Para uma maior perceção do estado atual dos dispositivos mais recentes foram recolhidos dados relativamente a alguns dispositivos lançados no final de 2012, bem como dos mesmos dispositivos lançados no ano anterior. A informação foi retirada do website (The Verge), e encontrada nos respetivos WebSites da empresa dos Smartphones( (Samsung); (Apple); (Nokia); (Google); (HTC)).

(47)

Capítulo 2 – Estado da Arte

25

Tabela 1 - Especificações de Smartphones

Marca/Modelo Lan ça m en to ( m ês/an o ) R AM ( GB )

CPU GPU Monitor

Nº d e Nú cleo s C lo ck ( GHz ) Nº d e Nú cleo s Velo cid ad e (MH z) T ec n o lo g ia T am an h o R eso lu çã o PPI Apple iPhone 5 09/2012 1 2 1.2 3 325 IPS LCD 4’ 1136x640 326 Apple iPhone 4S 10/2011 0.5 2 0.8 n.d. IPS LCD 3.5’ 960x640 330 Samsung Galaxy S3 05/2012 1 4 1.4 4 440 Super AMOLED HD 4.8’ 1280x720 306 Samsung Galaxy S2 04/2011 1 2 1.2 ARM Mali-400 Super AMOLED Plus 4.3’ 800x480 217 Nokia Lumia 920 11/2012 1 2 1.5 n.d. IPS LCD 4.5’ 1280x768 332 Nokia Lumia 800 11/2011 0.5 1 1.4 Adreno 205 AMOLED 3.7’ 800x480 252 Google Nexus 4 11/2012 2 4 1.5 n.d. IPS LCD 4.7’ 1280x768 318

Google Nexus 11/2011 1 2 1.2 PowerVR SGX540 Super AMOLED HD 4.65’ 1280x720 316 HTC J Butterfly 01/2013 2 4 1.5 Adreno 320 Super LCD 3 5’ 1920x1080 440 HTC Sensation XE 11/2012 0. 768 2 1.5 Adreno 220 Super LCD 4.3’ 960x540 256 Samsung Galaxy Note 2 09/2012 2 4 1.6 ARM Mali-400MP Super AMOLED HD 5,5’ 1280x720 267

Existe uma evolução notável em todos os dispositivos e os seus precedentes, tanto em capacidade de processamento visto que possuem maior número de núcleos e maior velocidade de processamento como na capacidade de exibição devido à maior resolução e maior número de pixéis.

(48)

Capítulo 2 – Estado da Arte

26

2.3.2. Tablets

Relativamente aos Tablets foi feito um estudo semelhante, avaliando os mais recentes dispositivos juntamente com um dos seus precedentes para clarificar a evolução destes dispositivos. Com isto foi gerada a seguinte tabela:

Tabela 2 - Especificações de Tablets

Marca/Modelo Lan ça m en to ( m ês/an o ) R AM ( GB )

CPU GPU Monitor

Nº d e Nú cleo s C lo ck ( GHz ) Nº d e Nú cleo s Velo cid ad e (MH z) T ec n o lo g ia T am an h o R eso lu çã o PPI Apple iPad 4 11/2012 1 2 1.4 Quad-core PowerVR SGX554 IPS LCD 9.7’ 2048x1536 264

Apple iPad 2 03/2011 0.5 2 1 PowerVR

SGX543 IPS LCD 9.7’ 1024×768 132 Samsung Galaxy Tab 2 10.1 04/2012 1 2 1 n.d. LCD 10.1’ 1280x800 149 Samsung Galaxy Tab 10.1 11/2012 1 2 1.2 n.d. LCD 10.1’ 1280x800 149 Google Nexus 10 11/2012 2 2 1.7 Mali T604 Super PLS 10’ 2560x1600 300 Google Nexus 7 07/2012 1 4 1.3 12 416 IPS LCD 7’ 1280x800 216

Apesar de se verificar uma evolução das características dos tablets, esta evolução não é tao notável como a presenciada nos smartphones.

2.3.3. HDR em dispositivos móveis

A utilização de HDR em dispositivos móveis já é explorada nas vertentes de captura e de reprodução. Aliás, já se encontram no mercado alguns dispositivos móveis com a funcionalidade de HDR, sendo capazes de capturar fotografias em formato HDR e até vídeos. No entanto, apesar destes dispositivos serem capazes de capturar conteúdo com uma alta gama dinâmica, devido ao facto de utilizarem o formato de

(49)

Capítulo 2 – Estado da Arte

27 armazenamento antigo (que não permite armazenar gamas dinâmicas elevadas), guardam esse conteúdo em formato comum após aplicarem um determinado TMO para tornar o conteúdo HDR em LDR, o que faz com que se perca toda a informação que era possível armazenar em formato HDR. Para além de estudos referentes as funcionalidades implementadas, existem ainda alguns estudos que analisam as possibilidades e complicações dos dispositivos móveis na área do HDR.

A captura de conteúdo HDR é bastante estudada, no entanto o artigo de Castro, Chapiro, Cicconet, & Velho (2011) cujo objetivo é capturar vídeo HDR através de uma câmara comum, no estudo utilizam o Smartphone Nokia N900 com a FCam API. Através de uma técnica baseada em histogramas conseguem reconstruir o mapa de radiância para cada frame do vídeo, não necessitando de uma elevada capacidade de processamento o que permite capturar o vídeo em HDR sem perder FPS (frames per second).

No que diz respeito à visualização de imagens HDR um estudo de Urbano (Urbano, Magalhães, Moura, Bessa, Marcos, & Chalmers, 2010) pressupõe que dispositivos móveis requerem um TMO específico, com base nesse pressuposto efetuaram uma série de experiências onde testaram diferentes ecrãs: CRT (Cathode Ray Tube), LCD (Liquid-Crystal Display) e um PDA utilizando alguns TMOs como Photographic Tone Reproduction (Reinhard, Stark, Shirley, & Ferwerda, 2002), Bilateral Filtering (Durand & Dorsey, 2002), Gradient Domain (Fattal, Lischinski, & Werman, 2002), Logarithmic Mapping (Drago, Myszkowski, Annen, & Chiba, 2003) entre outros. Os TMOs mencionados foram os que obtiveram melhores resultados nos quatro critérios usados: contraste, cor, detalhe e naturalidade. Após alguns testes concluíram que em dispositivos com ecrãs pequenos (PDA) o melhor TMO era diferente dos outros dois ecrãs. Com base nesse estudo, Urbano (2010) desenvolveu um TMO dedicado a dispositivos com pequenos ecrãs, juntando os TMOs que conseguiram os melhores resultados nos quatro critérios, sendo eles Drago e Fattal (Urbano, Magalhães, Moura, Bessa, Marcos, & Chalmers, 2010).

Um estudo de avaliação de TMOs em vídeos HDR em dispositivos com pequenos ecrãs (Melo, Bessa, Debattista, & Chalmers, 2013) visa avaliar um conjunto de TMOs quando aplicados num dispositivo com ecrã pequeno. Os TMOs que são avaliados neste artigo são: o TMO espaço-temporal baseado no modelo da retina (Benoit, Alleysson,

(50)

Capítulo 2 – Estado da Arte

28

Herault, & Callet, 2009); o modelo de adaptação visual (Ferwerda, Pattanaik, Shirley, & Greenberg, 1996); o TMO proposto por Van Hateren J. H. (2006) que converte a alta gama dinâmica com um modelo baseado no funcionamento dos cones do olho humano; o display adaptive tone mapping (Mantiuk, Daly, & Kerofsky, Display adaptive tone mapping, 2008); o time-dependent visual adaptation for fast realistic image display (Pattanaik, Tumblin, Yee, & Greenberg, 2000); e o TMO proposto por Boitard, Bouatouch, Cozot, Thoreau, & Gruson (2012) cujo alvo é a coerência temporal para mapear os tons do vídeo. Num conjunto de 7 vídeos HDR os participantes tiveram que ordenar cada TMO consoante a sua semelhança com o original, para isso foi utilizado um monitor HDR como referência. Com os resultados obtidos foi possível perceber que existe uma variação de preferência entre os vários TMOs e que o melhor TMO para certo vídeo pode não ser o mesmo para todos.

2.4. Visualizadores de Vídeos

Para que seja possível o desenvolvimento de um visualizador de vídeos foram analisados alguns visualizadores existentes para dispositivos móveis de modo a permitir uma melhor especificação das características que o protótipo teria que disponibilizar. O visualizador VPlayer foi selecionado por ser uma aplicação existente tanto para sistemas Android como para sistemas iOS. A escolha do visualizador MXPlayer deve-se ao facto deste ter sido classificado como uma das melhores aplicações do mercado Android com uma pontuação de 4.7 (em 5 pontos) tanto na versão grátis como na paga.

2.4.1. VPlayer

O VPlayer (VPlayer) é um visualizador de vídeo disponível para Android e iOS, capaz de reproduzir a maioria dos formatos de vídeos como MKV, AVI, M4V, FLV entre outros. Este programa permite a reprodução de ficheiros locais e a reprodução de streams de vídeos. Permite também a navegação por pastas e a criação de listas com vídeos à escolha. Relativamente à reprodução de vídeos é possível navegar pelo vídeo, pausar, resumir, alterar o volume, ver o vídeo em ecrã completo ou com as opções visíveis. No que respeita às definições do VPlayer é permitida a configuração do mesmo em termos de reprodução de vídeo, de áudio e legendas. Nas figuras abaixo podemos ver a sua interface gráfica tanto na seleção de vídeos e pastas (Figura 13) como na reprodução do vídeo (Figura 14).

(51)

Capítulo 2 – Estado da Arte

29

Figura 13 – Interface de seleção de ficheiro e pastas do VPlayer

Figura 14 – Interface de reprodução do vídeo do VPlayer

2.4.2. MX Player

Este reprodutor de vídeo (MX Player) desenvolvido para o sistema Android é capaz de reproduzir a maioria dos ficheiros de vídeo como AVI, FLV, MP4 entre outros. Permite a reprodução de vídeos através de streaming ou ficheiros locais. Este programa é capaz de listar todas as pastas com ficheiros de vídeo e inclui um sistema de etiquetas que permite identificar ficheiros de vídeo com legendas associadas ou pastas com ficheiros de vídeos novos. No que diz respeito à reprodução tem várias funções como: pausar, resumir, parar, e navegar pelo vídeo, quer seja através de botões ou através da barra de tempo. A sua interface gráfica é apresentada nas figuras abaixo, a Figura 15 representa a janela de navegação e seleção de pastas/ficheiros de vídeo e a Figura 16 representa a reprodução.

(52)

Capítulo 2 – Estado da Arte

30

Figura 15 - Interface de seleção de ficheiro e pastas do MX Player

Figura 16 - Interface de reprodução do vídeo do MX Player

2.5. Sumário

Neste capítulo foram vistos vários temas interligados à área de HDR. Na parte inicial do capítulo foi revisto o funcionamento básico do sistema visual humano, de modo a permitir uma melhor compreensão da abrangência que pode captar e a discrepância que ainda existe em relação aos dispositivos atuais comuns. De seguida, foram apresentados alguns operadores de tone-mapping. Com este estudo foi possível analisar alguns dos principais operadores existentes, analisando em que se baseiam e como são calculados.

Foi efetuado também um estudo relativamente aos dispositivos móveis e as suas características atuais, e com as informações reunidas é possível verificar que houve uma evolução significativa nos componentes utilizados em dispositivos móveis, o que leva a crer que a visualização de vídeos HDR é uma grande possibilidade.

Como era pretendido avaliar a visualização de vídeos em HDR foi efetuado um estudo dos visualizadores de vídeo existentes nos mercados móveis. Tendo-se verificado que não existem atualmente visualizadores de vídeo HDR para dispositivos móveis, levou à necessidade de desenvolvimento de um visualizador com a capacidade de exibir este tipo de conteúdo. Esta análise possibilitou também a identificação de características básicas que um visualizador de vídeos deve conter (como controlos de

(53)

Capítulo 2 – Estado da Arte

31 fluxo de vídeo, escolha do ficheiro de vídeo, etc.), o que permitiu especificar as funcionalidades a serem implementadas no protótipo.

(54)
(55)

33

3. Visualizador de vídeo HDR

Devido à inexistência de um visualizador em dispositivos móveis que permitisse a visualização de ficheiros de vídeo em formato HDR, foi necessário efetuar uma conceptualização de um visualizador com essas características, para posteriormente passar ao seu desenvolvimento. Assim o presente capítulo apresenta todo o processo de especificação e o processo de desenvolvimento do visualizador de vídeos em HDR criado no âmbito desta dissertação. Inicialmente é apresentada a análise efetuada para os requisitos designados para o visualizador de modo a que fossem percetíveis as necessidades e funcionalidades mais importantes a incorporar no protótipo.

De seguida é apresentada a sua arquitetura conceptual, onde são referidas as entidades necessárias que o visualizador necessita e as relações entre eles de modo a ser alcançado o objetivo de exibir vídeos em formato HDR. Posteriormente é apresentado o modo de implementação idealizado para o visualizador a ser desenvolvido, é apresentado também o diagrama de classes pretendido e o algoritmo de funcionamento ideal. Para finalizar este capítulo, é descrito o modo de implementação dos dois protótipos desenvolvidos, um para o sistema iOS e outro para o sistema Android, juntamente com a exposição de algumas imagens da sua interface gráfica.

3.1. Análise de Requisitos

Antes de ser iniciado o desenvolvimento do visualizador foi necessária a sua conceptualização. Assim e com base no estudo efetuado, relativamente às características de alguns visualizadores de vídeo existentes para dispositivos móveis, foram considerados requisitos funcionais e não funcionais.

Os requisitos funcionais são:

 Permitir o controlo de vídeo, como: iniciar, resumir, pausar, parar, avançar, retroceder, alterar o volume;

 Permitir o controlo do modo de reprodução: repetir, escolha de operador de mapeamento de tons a ser aplicado;

(56)

Capítulo 3 – Visualizador de vídeo HDR

34

Os requisitos não funcionais são:

 Reproduzir vídeos a um mínimo de 25 FPS;  Reproduzir vídeos HDR e não HDR;

 Encontrar e listar todos os vídeos encontrados no dispositivo.

3.2. Arquitetura

Conceptualmente a arquitetura da aplicação consiste em três importantes entidades: o Render, o modelo HDR e o Decoder.

Screen Render HDR Model

Decoder Storage

Figura 17 - Arquitetura global do sistema

A Figura 17 representa a arquitetura por camada idealizada para o visualizador:  A camada Decoder é a camada que terá como principal função a

descodificação dos ficheiros de vídeos a serem exibidos da memória do dispositivo. Esta camada terá que ter a capacidade de abrir os ficheiros, descodificar os frames, e toda a informação relevante para a reprodução do ficheiro.

 O HDR Model é a entidade principal do visualizador, e é responsável por gerir e tratar toda a informação disponibilizada pelo Decoder. É nesta entidade que é feito o controlo da reprodução do ficheiro de vídeo e onde são executadas todas as transformações necessárias para que este possa ser exibido. Isto é, caso seja um vídeo em formato HDR é nesta entidade que cada frame é transformado em LDR aplicando-lhe o TMO necessário. Após a transformação feita a entidade HDR Model transmite ao Render a textura a ser exibida.

(57)

Capítulo 3 – Visualizador de vídeo HDR

35  O Render será o responsável por desenhar essa textura no ecrã do

dispositivo móvel.

3.3. Desenho do protótipo

Neste subcapítulo é apresentado o diagrama de classes através da descrição das suas relações e funcionalidades mais relevantes e o algoritmo de funcionamento ideal da aplicação.

Este estudo foi desenvolvido com foco nas plataformas móveis emergentes com os sistemas operativos mais comuns, como o iOS e o Android, de forma a verificar se este tipo de dispositivos tem a capacidade de reproduzir vídeos em formato HDR de modo satisfatório. Sendo assim necessário verificar os requisitos considerados, nomeadamente a reprodução com uma taxa de frames de no mínimo 25 FPS.

3.3.1. Diagrama de classes

De modo a facilitar o desenvolvimento da aplicação foi conceptualizada uma representação da estrutura e relação das várias classes integrantes no visualizador. Este modelo define todas as classes que a aplicação necessita incorporar, as suas relações, os seus elementos e funções. Na Figura 18 é apresentado o diagrama de classes idealizado para o visualizador de vídeos HDR.

Figura 18 - Diagrama de classes

Como podemos verificar pela figura são necessárias cinco classes para o nosso visualizador de vídeos HDR funcionar.

(58)

Capítulo 3 – Visualizador de vídeo HDR

36

A classe VideoFrame tem como único propósito armazenar as informações relativas ao frame, isto porque as duas classes que primariamente utilizam esta informação (a MovieDecoder e o Render) não estão diretamente ligadas, a aglomeração de variáveis de frame numa única classe facilita a troca dessa informação de modo indireto, neste caso através da classe VideoPlayer, as informações guardadas são buffer da imagem com toda a informação dos pixéis e o seu tamanho original (altura e largura). A classe ListVideos é responsável por listar todos os vídeos presentes no dispositivo móvel que o visualizador pode descodificar e exibir. Para isso, esta classe tem que percorrer todos os ficheiros existentes na memória verificando se são ficheiros de vídeo e de seguida apresentá-los ao utilizador de uma forma simples. Caso o utilizador selecione algum ficheiro de vídeo esta classe enviará o seu caminho para a classe VideoPlayer.

A classe VideoPlayer tem como principal objetivo gerir a visualização do vídeo, ou seja, esta classe lida unicamente com o controlo do vídeo, e não com a sua descodificação ou exibição. Tendo isto em conta, quando é selecionado um novo vídeo na classe ListVideos é recebida, nesta classe, o caminho do ficheiro pretendido, essa informação é transmitida para o MovieDecoder de modo a que o ficheiro possa ser aberto e descodificado. Esta classe serve também de intermediário entre a classe de descodificação e a classe de exibição. Esta classe contém métodos de controlo para reproduzir o vídeo e controlos para alterar o TMO que será aplicado ao frame, essas alterações serão enviadas para o Render para que possam ser aplicadas no frame.

O Render é a classe responsável pela exibição do frame no ecrã. Para que isso seja feito, esta classe recebe o VideoFrame e armazena essa informação numa textura onde é aplicado o TMO especificado antes de ser desenhado no ecrã.

O MovieDecoder é responsável pela descodificação do vídeo. Isto significa que é nesta classe que toda a informação relativamente ao vídeo é armazenada e onde é efetuada a descodificação de cada frame e conversão para a classe VideoFrame.

3.3.2. Funcionamento

Para o funcionamento (Figura 19) foi criado um fluxograma de modo a facilitar a sua explicação.

Referências

Documentos relacionados

Por código autorreferencial iremos nos referir a um código padronizado de narração a partir do qual o texto da reportagem faz ressoar em sua trama uma reflexão sobre a

Neste trabalho foram utilizadas, a voltametria adsortiva de redissolução catódica AdCSV e voltametria de redissolução anódica ASV, para a determinação simultânea e sequencial

A procura de funções de Liapunov tem sido intensa e värias funçëes são hoje disponiveis. Entre estas, a função tipo energia tem recebido atenção, principalmente

and therefore assumed to be the most important to the older Europeans in the study; positive attitudes to health were relatively low; participants achieved a ‘satisfactory’

Segundo (Brill e col., 1992) para aqueles indivíduos cujo principal objectivo é a melhoria da aptidão física, assim como uma melhoria da saúde cardiovascular é recomendado

O objetivo humanista da Convenção consagra inovadora visão jurídica à respeito da pessoa com deficiência. Nesse modelo, a deficiência não pode se justificar pelas limitações

O Padreador ao depara-se com a matriz em posição de solicitação de cópula rapidamente passará do poleiro “E” da sua gaiola (trajetória em vermelho no esquema demonstrativo)

Então, partimos para a elaboração de uma metodologia para o resgate de dados com características quali-quantitativas 187 em fontes específicas, tais como: o