Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

106
UNIVERSIDADE DO RIO GRANDE DO NORTE FEDERAL UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE CENTRO DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO Sincronia de Sistemas Multimídia Distribuídos Utilizando Técnicas de Aprendizagem de Máquina Igor Gadelha Pereira Orientador: Prof. Dr. Luiz Felipe de Queiroz Silveira Co-orientador: Prof. Dr. Luiz Marcos Garcia Gonçalves Co-orientador: Prof. Ph.D. Cosimo Distante Tese de Doutorado apresentada ao Pro- grama de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Doutor em Ciências. Número de ordem PPgEE: DSC-250 Natal, RN, Julho de 2019

Transcript of Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Page 1: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

UNIVERSIDADE DO RIO GRANDE DO NORTEFEDERAL

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE TECNOLOGIA

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA E

DE COMPUTAÇÃO

Sincronia de Sistemas Multimídia DistribuídosUtilizando Técnicas de Aprendizagem de

Máquina

Igor Gadelha Pereira

Orientador: Prof. Dr. Luiz Felipe de Queiroz SilveiraCo-orientador: Prof. Dr. Luiz Marcos Garcia Gonçalves

Co-orientador: Prof. Ph.D. Cosimo Distante

Tese de Doutorado apresentada ao Pro-grama de Pós-Graduação em EngenhariaElétrica e de Computação da UFRN (área deconcentração: Engenharia de Computação)como parte dos requisitos para obtenção dotítulo de Doutor em Ciências.

Número de ordem PPgEE: DSC-250Natal, RN, Julho de 2019

Page 2: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Universidade Federal do Rio Grande do Norte - UFRNSistema de Bibliotecas - SISBI

Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede

Pereira, Igor Gadelha.Sincronia de sistemas multimídia distribuídos utilizando técnicas de aprendi-

zagem de máquina / Igor Gadelha Pereira. - 2019.105f.: il.

Tese (Doutorado)-Universidade Federal do Rio Grande do Norte, Centro deTecnologia, Programa de Pós-Graduação em Engenharia Elétrica e Computação,Natal, 2019.

Orientador: Dr. Luiz Felipe de Queiroz Silveira.Co-orientador: Dr. Luiz Marcos Garcia Gonçalves.Co-orientador: Dr. Cosimo Distante.

1. Sistemas Multimídia Distribuídos - Tese. 2. Correntropia - Tese. 3. RedesNeurais - Tese. I. Silveira, Luiz Felipe de Queiroz. II. Gonçalves, Luiz MarcosGarcia. III. Distante, Cosimo. IV. Título.

RN/UF/BCZM CDU 621.391

Elaborado por Raimundo Muniz de Oliveira - CRB-15/429

Page 3: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Resumo

A troca de fluxos de dados multimídia em um cenário de sistemas distribuídos re-presenta um desafio, devido principalmente a dois problemas geralmente presentes nessecontexto: a sincronização entre os diversos fluxos e o gerenciamento de hardwares hete-rogêneos presentes no sistema. A dificuldade em manter os limites temporais necessáriospara reprodução de um fluxo de dados multimídia aumenta com distúrbios introduzidospelo canal de comunicação, o que está diretamente relacionado à qualidade de serviço.Na Internet, a transmissão de fluxo multimídia de tempo real requer estratégias eficien-tes de sincronização e armazenamento em memória, que podem adicionar uma quanti-dade significativa de latência interferindo diretamente na qualidade de experiência (QoE)vivenciada pelo usuário final. Dentre as aplicações que necessitam latência baixa paragarantir um QoE aceitável, a composição e a execução de músicas através da internet re-presentam o maior desafio. Nessa direção, propomos novos métodos para sincronizaçãode fluxos multimídia codificados e fluxos de áudio não codificados, de alta precisão ebaixa latência com o intuito de serem utilizados em sistemas multimídia de alcance glo-bal, como a Internet. Através dos experimentos realizados, identificamos boas taxas deacerto na sincronização desses fluxos de áudio e vídeo. Destacamos os valores de 72%na sincronização de fluxos de vídeo e até 93% para sequencias de áudio não codificados.Para isso utilizamos análise estatística de ordem superior e redes neurais convolucionaise sequenciais para computar uma relação temporal entre dois sinais multimídia.

Palavras-chave: Sistemas distribuídos, Sistemas multimídia, Orquestração de fluxosde dados, Latência na Internet, Teoria da Informação, Correntropia, Espaço de Hilbert,Redes Neurais.

Page 4: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Abstract

The exchange of multimedia data streams in a distributed scenario represents a chal-lenge mainly because of two problems generally present in this context: the synchroniza-tion between several streams and the management of heterogeneous hardware present inthe system. The difficulty in maintaining the time limits necessary for the reproductionof time-dependent multimedia data stream increases with disturbances introduced by thecommunication channel, which is directly related to the quality of service. On the Inter-net, streaming real-time multimedia data requires efficient synchronization and storagestrategies, which can add a significant amount of latency and interfere with the end-userquality of experience (QoE). Among the applications that require low latency to ensure anacceptable QoE, the composition and reproduction of songs through the Internet representthe biggest challenge. Towards this direction, we propose an effective method for low la-tency synchronization of several streams in a distributed global multimedia network, suchas the Internet. Throughout the experiments we made to verify our proposed systems, weidentified good accuracy levels on the synchronization of audio and video streams. Wespecifically emphasize the accuracy levels of 72% for the synchronization of video stre-ams and up to 93% for the synchronization of raw audio sequences. In order to achievethese results, we employed statistical analysis of superior order and neural networks, bothconvolutional and recurrent, to compute a time relationship between multimedia flows.

Keywords: Distributed Systems, Multimedia Systems, Orchestration of Data Flows,Internet Latency, Information Theory, Correntropy, Hilbert Space, Neural Networks.

Page 5: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Sumário

1 Introdução 11.1 Motivação e Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 O Problema e a Hipótese da Pesquisa . . . . . . . . . . . . . . . . . . . . 21.3 Contribuições Esperadas e Aplicações . . . . . . . . . . . . . . . . . . . 31.4 Metodologia Básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Lista de Símbolos e Abreviaturas 1

2 Fundamentação Teórica 62.1 Perfil VBR (Variable Bit-Rate) . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 VBR de um Sinal de Vídeo . . . . . . . . . . . . . . . . . . . . . 62.1.2 VBR de um Sinal de Áudio . . . . . . . . . . . . . . . . . . . . 10

2.2 Correntropia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.2 Propriedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.3 Correntropia na Análise de Séries Temporais . . . . . . . . . . . 17

2.3 Redes Neurais Profundas . . . . . . . . . . . . . . . . . . . . . . . . . . 202.3.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3.2 Algoritmo de Aprendizagem . . . . . . . . . . . . . . . . . . . . 242.3.3 Redes Neurais Convolucionais . . . . . . . . . . . . . . . . . . . 262.3.4 Redes Neurais Recorrentes . . . . . . . . . . . . . . . . . . . . . 28

3 Estado da Arte 313.1 Sincronização de Clock . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2 Sincronização de Vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.3 Sincronização de Áudio . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4 Sistemas Propostos 404.1 Sincronização de Vídeo Utilizando VBR e Correntropia . . . . . . . . . . 40

i

Page 6: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

4.2 Sincronização de Áudio Utilizando VBR, RKHS e CNN . . . . . . . . . 454.3 Sincronização de Áudio Utilizando Espectrograma e LSTM . . . . . . . . 49

5 Resultados Experimentais 545.1 Sinal VBR - Vídeo Dividido em Quadrantes . . . . . . . . . . . . . . . . 555.2 Sinal VBR - Vídeo de Diferentes Câmeras . . . . . . . . . . . . . . . . . 575.3 Sinal VBR - Áudio do Mesmo Instrumento Musical . . . . . . . . . . . . 595.4 Sinal VBR - Áudio de Instrumentos Musicais Distintos . . . . . . . . . . 615.5 Sincronização de Vídeo VBR com Correntropia . . . . . . . . . . . . . . 62

5.5.1 Conjunto de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 635.5.2 Geração do Sinal VBR . . . . . . . . . . . . . . . . . . . . . . . 645.5.3 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.6 Sincronia de Áudio VBR com RKHS e Redes Neurais . . . . . . . . . . 685.6.1 Conjunto de Dados de Áudio . . . . . . . . . . . . . . . . . . . . 685.6.2 Métricas de Desempenho . . . . . . . . . . . . . . . . . . . . . . 715.6.3 Configuração do Sistema . . . . . . . . . . . . . . . . . . . . . . 715.6.4 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.7 Sincronização de Áudio com Redes Neurais . . . . . . . . . . . . . . . . 755.7.1 Processamento dos Dados . . . . . . . . . . . . . . . . . . . . . 755.7.2 Método de Avaliação . . . . . . . . . . . . . . . . . . . . . . . . 765.7.3 Métricas de Desempenho . . . . . . . . . . . . . . . . . . . . . . 775.7.4 Configuração do Sistema . . . . . . . . . . . . . . . . . . . . . . 775.7.5 Resultados para Áudio . . . . . . . . . . . . . . . . . . . . . . . 79

6 Conclusão 86

Referências bibliográficas 89

Page 7: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Lista de Figuras

2.1 Diagrama de processo do codificador h264 . . . . . . . . . . . . . . . . . 72.2 Sinal VBR extraído a partir de um vídeo . . . . . . . . . . . . . . . . . . 82.3 Processo de codificação através da predição linear. . . . . . . . . . . . . 112.4 Espaço de reprodução de Hilbert e mapeamento Hk e Hv. Figura adaptada

de (Principe 2010). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Arquitetura de uma CNN. Figura adaptada de (Saha 2018) . . . . . . . . 282.6 Rede neural recorrente e sua construção desdobrada. Figura retirada de

(Olah 2015) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.7 Célula LSTM. Figura retirada de (Hao 2017) . . . . . . . . . . . . . . . 29

4.1 vxw,yw;σ(m) para diferentes janelas. A linha verde indica o deslocamentoreal entre os dois sinais e a linha vermelha indica o valor máximo global. . 41

4.2 Resultado dos procedimentos para cada etapa do algoritmo proposto. N =

400, O.R.= 2, σ = 0.20, N.C.= 3, ∆R = 3. . . . . . . . . . . . . . . . . 434.3 Matriz de Kernel Hsxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.4 Arquitetura da Rede Neural . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.1 Identificação dos quadrantes de um vídeo . . . . . . . . . . . . . . . . . 565.2 Sinal VBR extraído da codificação de cada quadrante do vídeo Sintel . . . 575.3 Média da CCC para todas as janelas . . . . . . . . . . . . . . . . . . . . 585.4 Sinal VBR extraído de várias câmeras que filmam uma mesma cena . . . 585.5 Média da CCC para todas as janelas analisadas . . . . . . . . . . . . . . 595.6 Sinais de áudio com atraso e respectivos sinais VBR . . . . . . . . . . . 605.7 Média da CCC para todas as janelas e histograma . . . . . . . . . . . . . 615.8 Sinais de áudio de diferentes instrumentos com atraso e respectivos sinais

VBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.9 Média da CCC para todas as janelas . . . . . . . . . . . . . . . . . . . . 635.10 Acurácia em Função de σ e N.R.; O.R.= 4, ±∆R = 2, N.C.= 3. . . . . . 655.11 Distribuição dos instrumentos do conjunto de dados MedleyDB (Bittner

et al. 2014) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

iii

Page 8: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

5.12 Número estendido de combinações por tipos de instrumentos . . . . . . . 705.13 Taxa de acerto top-1 e top-5 para cada gênero musical e combinações

de tipos de instrumentos; N.B. = 64, N = 256 e tamanho do bloco decodificação igual a 1024 . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5.14 Diagrama de processamento do conjunto de dados. . . . . . . . . . . . . 765.15 Saída da rede neural aproximada a vetores de referência com três valores

diferentes de largura de banda. O eixo y representa, em teoria, a densidadede probabilidade do deslocamento indicado pelo índice x. Na prática,para facilitar a visualização das duas curvas na mesma imagem, ambas ascurvvas são normalizadas entre 0 e 1. . . . . . . . . . . . . . . . . . . . . 79

5.16 Matriz de confusão para largura de banda 1.0. . . . . . . . . . . . . . . . 815.17 Histograma do erro absoluto para largura de banda 1.0. Nessa Figura, o

eixo y representa a quantidade de medidas para cada valor de error abso-luto indicado pelo eixo x dividido pelo total de medidas. . . . . . . . . . 82

Page 9: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Lista de Tabelas

3.1 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.1 Arquitetura da rede neural convolucional para N = 256, N.B = 64 . . . . 48

5.1 Combinações entre os quadrantes . . . . . . . . . . . . . . . . . . . . . . 565.2 Combinações entre câmeras e seus relativos valores de offset . . . . . . . 595.3 Combinações possíveis para os 4 áudios analisados . . . . . . . . . . . . 615.4 Número de combinações analisadas para cada valor de N.R. . . . . . . . 655.5 Comparação da taxa de acerto entre a função de Correlação e Correntro-

pia; O.R.= 4, ±∆R = 4, N.C.= 3. . . . . . . . . . . . . . . . . . . . . . 665.6 Acurácia top-1 e top-5 em função do hiperparâmetro σ . . . . . . . . . . 725.7 Desempenho top-1 and top-5 para diferentes intervalos de tolerância em

função de três valores de largura de banda. . . . . . . . . . . . . . . . . . 805.8 Acurácia top-1 e top-5 para a combinação formada pela bateria e pelo

contra baixo elétrico. Foram utilizados vetores de referência oriundos deuma distribuição de probabilidade Gaussiana com largura de banda 1.0. . 82

v

Page 10: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Capítulo 1

Introdução

Sistemas computacionais distribuídos são caracterizados por uma estrutura formadapor um grande número de dispositivos que interagem entre si. Cada dispositivo executaseu programa, mas todos são afetados por mensagens, fluxos de dados ou atualizaçõesdo espaço de memória compartilhado entre eles (Aspnes 2016). Exemplos de sistemascomputacionais distribuídos variam desde aplicações em que um único cliente se comu-nica com um servidor, até aplicações menos específicas usando a Internet. Um problemarecorrente que surge nessas aplicações via Internet refere-se à sincronização de dados,sobretudo, para fluxos de dados multimídia. Aqui se insere o contexto de nosso trabalhode pesquisa, que visa apresentar o estudo e o desenvolvimento de métodos para a sin-cronização de dados provindos de diversos fluxos em uma rede multimídia distribuída,possivelmente de alcance global, considerando-se como um complicador a restrição debaixa latência.

A troca de fluxos de dados multimídia em um cenário distribuído representa um de-safio para os sistemas distribuídos devido principalmente a dois problemas geralmentepresentes nesse contexto: a sincronização entre os diversos fluxos; e o gerenciamento dehardwares heterogêneos (Nicolaou 1990). Fluxos multimídia de tempo real são isócro-nos por natureza. Isso porque um fluxo pode ser segmentado em fluxos menores comdimensão finita, que por sua vez, podem ser gerados, transmitidos e reproduzidos em in-tervalos de tempo regulares, impondo um conjunto de limites temporais que não devemser excedidos.

Nesse contexto, definimos a sincronização de fluxos multimídia como uma estratégiapara a reprodução síncrona do conteúdo multimídia, de modo que, os nós receptores cal-culam o valor de atraso relativo entre cada combinação de fluxos multimídia recebidos egerenciam o instante em que cada fluxo deve ser reproduzido obedecendo o pior valor deatraso ti, onde ti indica o valor de atraso t para o fluxo i.

Page 11: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 1. INTRODUÇÃO 2

1.1 Motivação e Justificativa

A dificuldade em manter os limites temporais necessários para reprodução de um fluxode dados multimídia aumenta com distúrbios introduzidos pelo canal de comunicação queestá diretamente relacionado à qualidade de serviço (QoS). Há relatos de trabalhos naliteratura visando criar serviços com o intuito de prover QoS aceitável para transmissãode fluxos em tempo real, como o IntServ (Clark et al. 1992) e o DiffServ (Mir et al. 2014).Porém, o uso desses serviços é de difícil administração e limitado para usuários comuns,sendo a bufferização do fluxo de dados a estratégia mais eficiente para lidar com taisdistúrbios inseridos pelo canal de comunicação. Bufferização é o acúmulo temporário deuma certa quantidade de elementos, que, nesse contexto, é utilizado para representar oacúmulo serial de elementos antes de iniciar a reprodução.

Outro fator importante para garantir o sucesso de uma troca de fluxo de dados multi-mídia é a qualidade de sincronia entre os hardwares heterogêneos. Numa troca de fluxode dados multimídia de tempo real a informação deve ser reproduzida na mesma cadênciaem que foi gerada, de modo que qualquer diferença de relógio (clock) entre esses hardwa-res pode resultar em um subfluxo ou em um sobrefluxo do buffer após um determinadoinstante de tempo. Há relatos de uma aplicação comercial que utiliza o protocolo conhe-cido como PTP - Precision Time Protocol e um hardware equipado com um osciladorde quartzo controlado por voltagem (VCXO - Voltage Controlled Quartz Oscillator) paratransmissão multimídia de baixíssima latência através de uma rede LAN do tipo ethernet

Gigabit (Audinate 2015). Outras aplicações utilizam um método denominado AT M−E

que transmite células ATM utilizando a infraestrutura da Internet (Shay 2015). Tal mé-todo prevê um intervalo de tempo específico para a transmissão de cada dispositivo, e oclock é derivado diretamente do meio físico onde trafegam os dados. Em ambos os casos autilização dessas aplicações na Internet é extremamente limitada, e ainda não se conhecemeios eficientes para sincronização de clock multimídia de modo global.

1.2 O Problema e a Hipótese da Pesquisa

A transmissão de fluxo multimídia de tempo real através da internet requer estratégiaseficientes de sincronização e bufferização, que podem adicionar uma quantidade significa-tiva de latência, o que interfere diretamente na qualidade de experiência (QoE) vivenciadapelo usuário final. Nesse contexto, identificamos como possíveis aplicações a sincroni-zação de vídeo de diversas câmeras que capturam a mesma cena, e a sincronização deáudio de instrumentos que fazem parte de uma mesma música. Dentre essas aplicações,

Page 12: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 1. INTRODUÇÃO 3

consideramos que a sincronização de áudio para a composição e a execução de músicasatravés da Internet representa o maior desafio, pois requer uma elevada precisão e baixalatência para garantir um QoE aceitável.

Além disso, os sinais oriundos de instrumentos musicais possuem algumas propri-edades que dificultam o processo de sincronização, como os diversos padrões rítmicospresentes numa mesma música e as relações das notas tocadas por algum instrumento quefazem parte de um campo harmônico. Algumas dessas propriedades são observadas demaneira subjetiva pelos músicos, o que requer estratégias computacionais eficientes paralidar com a subjetividade presente nesse contexto.

Visando resolver esse problema, neste trabalho propomos métodos efetivos para asincronização de fluxos de áudio e vídeo codificados e fluxos de áudio não codificados.Esses métodos são propostos de modo a verificar a hipótese de que é possível realizara sincronização de sinais multimídia distribuídos provenientes de várias fontes, sejapresencial ou pela Internet, com elevada precisão, através da utilização de ferra-mentas de aprendizado de máquina para criação de descritores temporais utilizados,especificamente, na sincronização de fluxos multimídia.

1.3 Contribuições Esperadas e Aplicações

O esforço para desenvolver novos métodos de sincronização de alcance global pro-vém da necessidade de estabelecer suporte para aplicações multimídias distribuídas querequerem um grau elevado de sincronia. Com o desenvolvimento de novos métodos deorquestração de fluxos multimídia de alcance global, são esperadas várias contribuiçõesno contexto de sincronia de sistemas distribuídos. Aplicações que fazem uso da trans-missão e recepção de diversos fluxos de dados sobre diversos nós devem ser beneficiadascom estratégias de orquestração de áudio e vídeo modernas e mais eficientes.

Dentre as aplicações beneficiadas diretamente através do desenvolvimento desse tra-balho, estão aquelas que envolvem sincronia de fluxo multimídia, tais como a sincroni-zação de vários fluxos de vídeo oriundos de uma mesma cena, como, por exemplo, umconjunto de VANTs (Veículo Aéreo Não Tripulado) que registram imagens do terreno emque voam, e a sincronização de áudio para reprodução de sons gerados por um conjuntode nós geograficamente distribuídos para a composição de músicas através da Internet.

Page 13: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 1. INTRODUÇÃO 4

1.4 Metodologia Básica

A hipótese levantada anteriormente trata da sincronização de fluxos multimídia utili-zando técnicas de aprendizagem de máquina. No contexto multimídia, identificamos osfluxos de vídeo e áudio como as mídias que requerem um elevado grau de sincronizaçãopara garantir uma Qualidade de Experiência satisfatória.

Inicialmente, abordamos a sincronização de vídeos utilizando técnicas de ITL (Infor-

mation Theoretic Learning) para análise e comparação estatística entre a taxa de bit ins-tantânea dos fluxos de vídeo codificados a fim de se obter uma referência temporal. Noteque, a taxa de bit instantânea de um fluxo de vídeo codificado é um descritor temporaldas propriedades de um vídeo. Nesse caso, utilizamos a correntropia cruzada centralizadaem conjunto com um classificador determinístico para verificar a qualidade desses des-critores. A correntropia é uma medida de similaridade entre variáveis aleatórias que seassemelha à correlação, entretanto inclui medidas de similaridade de ordem superior, querefletem soluções mais precisas em sinais não Gaussianos e não lineares (Liu et al. 2007).

No decorrer do trabalho, identificamos que a análise dos descritores gerados através dataxa de bit instantânea de fluxos de áudio codificados não apresentava bons resultados desincronização quando analisados com a função de correntropia cruzada centralizada emconjunto com um classificador determinístico. Avaliamos que, os descritores dessa classe,sobretudo quando originados de sequências de áudio de instrumentos musicais que com-põem uma música, apresentam uma quantidade de padrões demasiadamente superior aospadrões encontrados nos descritores de vídeo codificados, de modo que um classificadordeterminístico pode ser facilmente confundido e apresentar resultados errôneos.

Observamos que, a estrutura comum dos descritores de fluxos de áudio codificadosoriginados de instrumentos musicais é a música. Uma música une um conjunto de instru-mentos musicais que compartilham propriedades temporais, como padrões rítmicos for-mados por pausas e notas tocadas em diferentes intervalos de tempo, relações harmônicas,entre outros. A complexidade desses padrões, bem como sua extensa variabilidade, requerum classificador mais complexo capaz de extrair a informação acerca da relação temporalentre os descritores através de sucessivas experiências. Logo, para avaliar a qualidadedesses descritores oriundos de fluxos de áudio, utilizamos uma rede neural convolucionalpara classificar imagens oriundas de uma superfície no espaço de Hilbert geradas atravésdo produto interno entre kernels. O espaço de Hilbert originado de um produto internoentre kernels é definido como RKHS (Reproducing Kernel Hilbert Space).

Ainda no decorrer do trabalho, verificamos que os descritores gerados através de umaanálise da taxa de bit instantânea introduzem uma subamostragem do sinal de áudio que

Page 14: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 1. INTRODUÇÃO 5

compromete o conteúdo espectral. Logo, esses descritores, enquanto conservam as pro-priedades rítmicas do instrumento musical, comprometem as informações relacionadas àharmonia e as notas musicais presentes no sinal de áudio. Por esse motivo, os descritoresoriundos da taxa de bit instantânea do sinal de áudio são limitados e não apresentaramprecisão e acurácia suficiente na sincronização de áudio para composição e reproduçãode conteúdo musical.

De modo a explorar com mais profundidade a sincronização de sinais de áudio quecompõe uma música, decidimos avaliar o uso de redes neurais sequenciais para gerardescritores a partir dos sinais de áudio. Esses descritores são utilizados especificamentepara a sincronização de conteúdo musical oriundos de diferentes instrumentos musicais.Tal método representa uma evolução das estratégias utilizadas para validar a hipóteseapresentada nessa tese, sobretudo nas abordagens que envolvem a sincronização de sinaisde áudio oriundos de instrumentos musicais.

A qualidade das estratégias de sincronização propostas nesse trabalho são analisadasatravés de valores identificados no estado da arte. A sincronização de sequencias de vídeoé considerada aceitável quando o valor de atraso calculado difere de até quatro quadros dovalor correto, equivalente ao proposto por Al-Nuaimi et al (Al-Nuaimi et al. 2012a). Paraa sincronização de sequências de áudio, utilizamos o valor de 25ms sugerido por Carôt eWerner (Carôt & Werner 2009), de modo que a sincronização de sequências de áudio éconsiderada aceitável quando o valor calculado difere de 25ms do valor correto.

1.5 Organização do texto

Esta tese está organizada da seguinte forma: o Capítulo 2 apresenta os conceitos teó-ricos necessários para o entendimento deste trabalho, a saber, os sinais VBR (Variable

Bit-Rate); a correntropia e o espaço de Hilbert; e as redes neurais convolucionais e se-quenciais. O capítulo 3 apresenta uma comparação entre os métodos de sincronização defluxo multimídia já existentes e os métodos propostos nesse trabalho, destacando as prin-cipais diferenças. No capítulo 4, as arquiteturas propostas são descritas juntamente comseus respectivos fundamentos matemáticos e implementações computacionais. O capítulo5 mostra como os experimentos foram realizados e apresenta os resultados quantitativosque indicam a eficácia das soluções propostas. Finalmente, no capítulo 6 é apresentada aconclusão acerca do trabalho desenvolvido e propostas para trabalhos futuros.

Page 15: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Capítulo 2

Fundamentação Teórica

Neste capítulo, são introduzidos alguns conceitos importantes para a compreensão dotrabalho. Dentre eles: Perfil VBR (Variable Bit-Rate), correntropia e RKHS (Reproducing

Kernel Hilbert Space) e Redes Neurais Convolucionais e Sequenciais.

2.1 Perfil VBR (Variable Bit-Rate)

Nesta seção, descreveremos o processo de obtenção do Perfil VBR. O perfil VBRé obtido através de uma análise do fluxo multimídia codificado com a taxa de saída debit variável, i.e. a quantidade de bits necessários para representar a informação presenteem cada unidade de tempo do sinal de entrada (bloco, quadro etc) varia de acordo como conteúdo multimídia presente no fluxo. Logo, avaliamos o comportamento da varia-ção da taxa de bit do fluxo codificado sob fluência do conteúdo multimídia, e sobretudopropriedades específicas para a aplicação na sincronização de fluxos semelhantes.

Iniciamos abordando os codificadores com taxa de bit variável para fluxos de vídeos,e posteriormente para fluxos de áudio.

2.1.1 VBR de um Sinal de Vídeo

Uma série codificadores de vídeo descritos na literatura alcançam bons resultados decompressão utilizando técnicas de codificação diferencial. Em geral, codifica-se a entro-pia condicional entre dois quadros consecutivos. Os codificadores dessa classe descrevema quantidade de incertezas atribuída ao próximo quadro dado um conjunto de quadros an-teriores. Na prática, a codificação é realizada sob influência da quantidade de movimentopresente numa determinada cena que muda em função do tempo, e consequentementeapresentam uma variação na taxa de bit instantânea que os descrevem.

Um exemplo claro da utilização do perfil VBR na sincronização de fluxos de vídeo

Page 16: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 7

ocorre quando consideramos um conjunto de câmeras com diferentes pontos de vista so-bre uma mesma cena. A codificação do movimento produz um perfil de Bit-Rate emcada câmera que podem ser correlacionados para encontrar uma relação temporal entreos mesmos.

Essa estratégia é bastante eficaz na sincronização de vídeo, uma vez que ela não requera decodificação da imagem para se encontrar relações temporais entre as cenas por meiode descritores visuais.

Um codificador VBR moderno e bastante utilizado na transmissão de fluxos de vídeoé o H264/AVC. O diagrama do seu funcionamento pode ser visualizado na figura 2.1.

Figura 2.1: Diagrama de processo do codificador h264

Note que, na Figura 2.1, o codificador H264 efetua a codificação a partir de três fontesde dados:

• Quantização dos coeficientes da transformada discreta do cosseno (DCT) sobre asimagens de entrada.• Da predição intra-frame, onde o movimento da cena é codificado utilizando os ma-

cro blocos do próprio frame.• Da predição inter-frame, onde o movimento da cena é codificado utilizando os ma-

cro blocos entre frame consecutivos.

Nesse contexto, é possível perceber como os movimentos da cena influenciam a ca-racterização do perfil VBR.

Primeiro consideramos o movimento de câmera, onde vetores de movimento homogê-neos deslocam o conteúdo da imagem em um único sentido e direção. Estes apresentamredundância espacial suficiente para que quando codificados resultem numa maior com-pressão, resultando num bit-rate menor por parte da predição inter-frame.

Page 17: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 8

Por outro lado, o movimento de um objeto na cena estática requer vetores de movi-mento disformes com menor redundância espacial, e que somado a codificação de umaporção da imagem de fundo da cena pela qual foi descoberta pelo movimento, resulta emtaxas de bit mais elevadas.

De maneira análoga, cenas com cortes bruscos necessitam de uma nova imagem e porconsequência apresentam um pico no sinal de bit-rate.

A Figura 2.2 mostra um sinal VBR para uma sequência de um vídeo feito com câmerafixa.

Figura 2.2: Sinal VBR extraído a partir de um vídeo

Ainda que o conteúdo do sinal multimídia apresente influência na taxa de bit de umfluxo codificado, alguns parâmetros do codificador também apresentam forte influênciano sinal VBR. Estes parâmetros são apresentados na sequência juntamente com a suaspropriedades sob o sinal VBR.

Influência dos Parâmetros do Codificador

O nível de quantização mínimo (qmin) representa o valor mínimo utilizado ao quanti-zar os coeficientes da transformada discreta do cosseno (DCT). Em geral, quanto menor onível de quantização maior a qualidade da imagem e maior o bit-rate médio. Entretanto,para valores baixos de qmin, observa-se uma oscilação de frequência constante no sinalVBR que prejudica a medida de correlação temporal. Semelhante ao qmin, o nível dequantização máximo (qmax) indica o valor máximo utilizado ao quantizar os coeficientesda DCT, que deve ser superior ao qmin e permite ao codificador reduzir a qualidade daimagem para reduzir a quantidade de dados gerados, reduzindo também a taxa de bit.

Observamos que os parâmetros citados anteriormente estão diretamente relacionadosa primeira fonte de dados do codificador H264, i.e. quantização dos coeficientes da DCT,

Page 18: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 9

e que não está relacionada ao movimento presente na cena capturada. Logo, espera-se queconfigurando o qmax com valor igual ao qmin, a taxa de bit da saída do codificador sejamais próxima a codificação inter-frame, resultando na maior influência do movimento dacena na criação do sinal VBR.

Outro parâmetro importante está relacionado quantidade e intervalos na transmissãode quadros I, B ou P. Os quadro B (bidirecionais) são utilizados para transmitir vetores depredição de movimento baseado em imagens passadas e futuras, necessitando menos bits

para codificar a informação. De modo semelhante, os quadros I (intra), ou keyframes, sãoutilizados para transmitir um quadro completo, sem nenhuma predição de movimento,e também apresentam uma taxa de bit elevada. Os quadros P (predição) transmitem ainformação do quadro atual em relação ao quadro anterior. Logo, os quadros P são res-ponsáveis pela transmissão dos vetores de movimentos e dos novos macro blocos quesofrem maior influência das características temporais presentes na cena codificada, comomovimento de sujeitos no cenário estático ou movimentos da câmera em relação ao planoda imagem.

O codificador escolhe, sob influência de certos parâmetros e de certas característicasdo vídeo, quando enviar um quadro P, B ou I. Tal escolha é baseada sobretudo na quan-tidade de informação presente na cena, em geral para cada corte de cena é transmitidoum quadro I, para mudanças não tão bruscas é transmitido um quadro B, e para mudan-ças relacionadas a codificação diferencial é transmitido um quadro P. Destacamos que osquadros P sofrem influência de quadros I passados e quadros B passados e futuros até queseja transmitido um novo quadro I ou B.

Nesse caso, recomendamos configurar o codificador para forçar a utilização dos qua-dros P e evitar o uso de quadros B e I para realizar a codificação de um vídeo, tornandoo sinal VBR mais fiel ao movimento presente na cena sem influência de fatores determi-nados por parâmetros como a periodicidade de quadros I (GOP - Group of Pictures), equantidade de quadros B utilizados bf.

Observamos que o intervalo entre quadros I estabelecido pelo valor do GOP é regulare pode ser utilizado para extrair informações temporais dos fluxos de vídeo codificados.Entretanto, tal intervalo não pode ser utilizado no cálculo da relação temporal entre dife-rentes fluxos uma vez que os fluxos podem estar codificados com valores de GOP dife-rentes, e os codificadores podem enviar um quadro I de forma arbitrária caso considereque há algum corte brusco na sequência de vídeo. Os sistemas de sincronização podemutilizar o intervalo entre quadros I como referência para manter e monitorar a relaçãotemporal entre fluxos sincronizados a partir de um valor de referência temporal calculadopreviamente. Entretanto, tal estratégia de monitoração dos quadros I não faz parte do

Page 19: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 10

escopo desse trabalho.

2.1.2 VBR de um Sinal de Áudio

Quando se trata de sinais de áudio, existem também os codificadores com taxa debit variável. Um codificador VBR sem perda bastante eficaz e rápido é o FLAC - Free

Lossless Audio Codec. O codificador flac tenta aproximar o sinal de áudio através de umafunção matemática de ordem fixa (modelagem). Esse sinal é dividido em blocos, e cadabloco é aproximado por um preditor linear. O erro de tal aproximação, chamado residual,é subtraído do sinal original e o restante é codificado utilizando codificação Golomb Rice(Foundation n.d.). Para a modelagem são utilizados os preditores descritos a seguir:

• Verbatim. Em que o preditor do sinal equivale a 0, de modo que o residual equivaleao sinal de entrada que é codificado, e a compressão obtida é nula.• Constant. É utilizado para caracterizar sinais constantes, que equivale a silêncio.• Fixed Linear Predictor. Em que é utilizado uma equação linear de quarta ordem

fixa. Como o preditor tem a quantidade de ordem fixa, basta transmitir os coefici-entes.• FIR Linear Predictor. Para modelamentos mais precisos em detrimento de uma

codificação mais lenta, o flac utiliza um preditor FIR - Finite Impulse Response,com ordem limite igual a 32. Este preditor utiliza o método de Levinson-Durbinpara o cálculo dos coeficientes.

A escolha dentre os preditores mencionados acima é feita através de alguns parâmetrosdo sinal como grau de aleatoriedade, componente DC, relação dinâmica, entre outros. Decerta forma, a codificação dessas características apresentam uma variação no bit-rate epodem ser representadas a partir de um sinal VBR.

A Figura 2.3 exemplifica o processo de predição linear. Na Imagem 2.3(a), ilustramosum bloco do sinal de entrada de 512 amostras e a sua respectiva aproximação linear reali-zada através de um filtro FIR de oitava ordem. Observa-se que a aproximação linear nãoé perfeita, o que resulta num sinal residual demonstrado na Imagem 2.3(b). O sinal re-sidual é então subdividido em pequenos microblocos que são codificado com um códigoGolomb Rice para reduzir a quantidade de bits. Os bits que representam os microblo-cos codificados são arranjados num quadro do fluxo de áudio codificado, de forma que atotalidade da quantidade desses bits resulta numa amostra do sinal VBR.

Diferentemente do sinal VBR obtido de um fluxo de vídeo, onde cada unidade detempo do sinal VBR equivale a uma unidade de tempo da sequencia de vídeo, o sinal

Page 20: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 11

(a) Sinal de entrada e Sinal de aproximação linear.

(b) Sinal residual e quantidade de bits necessários para representar o sinal residual com codificação GolombRice para cada microbloco.

Figura 2.3: Processo de codificação através da predição linear.

VBR extraído de um fluxo de áudio codificado tem um bloco de amostras do sinal deáudio representado por uma unidade do sinal VBR, o que representa uma subamostragemdo sinal de entrada original. Tal propriedade resulta na redução da resolução temporalda sincronização na proporção do tamanho do bloco aproximado, e na perda de conteúdoespectral.

Um dos objetivos principais do nosso trabalho é investigar o conceito de perfil VBRpara a sincronização de sistemas distribuídos que troquem fluxo de dados correlacionadosno nível da informação, como por exemplo: câmeras de vídeo que capturam a mesmacena, ou fluxos de áudio que compõem uma determinada música, e que portanto podemapresentar algum grau de correlação temporal.

Influência dos Parâmetros do Codificador

O codificador flac possui alguns parâmetros que influenciam na extração do sinalVBR. Nesse momento, além dos elementos tradicionais de fluxos multimídia como cabe-çalho, código de verificação de error etc, podemos identificar dois elementos principaisna composição de um quadro comprimido do fluxo flac. O primeiro elemento é justa-mente composto pelos coeficientes da predição linear, que tem tamanho fixo para predito-

Page 21: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 12

res lineares de ordem fixa, ou tamanho variável para preditores lineares de ordem variávelpodendo chegar até 32 coeficientes. O segundo elemento equivale ao sinal residual codifi-cado, que varia conforme a qualidade da aproximação do sinal pelos preditores descritosanteriormente. Nesse contexto, observamos que a quantidade de bits necessários pararepresentar um conjunto de coeficientes lineares é bem inferior a quantidade de bits ne-cessários para representar o sinal residual codificado, resultando num sinal VBR formadobasicamente pela variação na representação do sinal residual. Logo, a configuração dospreditores lineares não impõe graves influências no sinal VBR.

De fato, o parâmetro com maior influência na geração do sinal VBR está relacionadoao tamanho do bloco de sinal de áudio utilizado. Para blocos pequenos, a resolução é altamas a relação entre a quantidade de bits do sinal residual codificado e a quantidade debits que representam os coeficientes da predição linear, cabeçalho, código de verificaçãode erro etc, diminui, resultando num sinal VBR com uma menor variação dinâmica. Osblocos maiores apresentam uma resolução baixa, porém tendem a ser mais expressivosem relação ao conteúdo multimídia de entrada do codificador.

Como exemplo quantitativo da influência do tamanho do bloco na resolução do sinalVBR, observamos que um bloco formado por 512 amostras e um sinal de áudio amostradoa 44100Hz resulta num sinal VBR com amostras espaçadas 11.6ms, da mesma forma queum bloco de 1024 amostras para um sinal com a mesma taxa de amostragem resulta numsinal VBR com amostras espaçadas 23.2ms, sendo esses valores equivalentes a resoluçãotemporal do sinal VBR. Observamos que o valor de 23.2ms ainda é compatível com ovalor de 25ms utilizado como valor de referência na literatura para o limite de admissibi-lidade de erros de sincronização por parte do ser humano (Carôt & Werner 2009).

2.2 Correntropia

A extração de informações de sinais aleatórios é um problema comum geralmenteencontrado em aplicações de processamento de sinais. Ocorre que a informação podeestar camuflada na estrutura temporal ou na redundância espacial. A principio, para sedescrever completamente um sinal aleatório, deve-se especificar as distribuições de pro-babilidade individual e conjunta de todas as variáveis aleatórias (v.a.) que o representam.Devido a sua natureza aleatória, esses sinais são geralmente analisados a partir de suasmédias estatísticas (momentos estatísticos).

Dado ao grau de aleatoriedade que envolve a codificação e a transmissão da infor-mação, a teoria da probabilidade provê um framework bem estabelecido para lidar comfontes ruidosas e incertezas. Quando uma determinada fonte de sinal contém toda a in-

Page 22: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 13

formação em sua distribuição de probabilidade, é conveniente utilizar a sua função dedensidade de probabilidade ( f d p) na forma de um descritor para descrever a quantidadede informação da fonte e onde ela se encontra.

A análise de momentos estatísticos é um dos métodos mais utilizados para se obterdescritores de sinais aleatórios (Principe 2010). Em particular, o sinal Gaussiano pode serperfeitamente descrito por meio do seu primeiro e segundo momentos estatísticos. Emgeral, os sinais podem ser bem aproximados por descritores caracterizados por estatísticasde ordem superior.

Uma das ferramentas propostas para análise estatística de ordem superior é o espaçode Hilbert. O espaço de reprodução de Hilbert por kernel (RKHS) é um caso especialdo espaço de Hilbert gerado através do produto interno de um kernel K. Através doteorema de Moore-Aronszajn pode-se demonstrar que qualquer função bivariada definidae não negativa é um kernel de reprodução. A aplicação de métodos baseados em RKHSpara processamento estatístico de sinais foi proposto por Parzen no final dos anos de1950. Ele demonstrou que o RKHS provê um framework elegante para estimação decoeficientes de regressão, estimação de mínimos quadrados, detecção de sinais imersosem ruído Gaussiano, estimação da f d p etc.

2.2.1 Definição

Uma medida de similaridade estatística baseada no RKHS é a correntropia. A corren-tropia é uma medida de similaridade entre variáveis aleatórias semelhante à correlação,entretanto, inclui no seu cálculo estatísticas de ordem superior, tornando-a eficaz na aná-lise de sinais não-lineares.

Considerando X e Y duas variáveis aleatórias reais, a correntropia cruzada é descritapor (Principe 2010):

v(X ,Y ) = EXY [k(X ,Y )] =∫ ∫

k(x,y)pX ,Y (x,y)dxdy (2.1)

onde EXY [.] é o operador de valor médio sobre o espaço conjunto, k(., .) é um kernel ex-presso por uma função positiva definida contínua e pX ,Y é a densidade de probabilidadeconjunta. As funções de kernel normalmente utilizadas no contexto de aprendizado demáquinas, máquinas de vetor de suporte e aproximação de funções são as funções sig-moide, Gaussiana e polinomial (Xu & Principe 2008). Neste trabalho será utilizado umkernel Gaussiano kσ definido por:

Page 23: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 14

kσ(x,y) =1√2πσ

e−(x−y)2

2σ2 , (2.2)

em que σ é o desvio padrão da função Gaussiana, também denominada neste contexto detamanho do kernel. Através da Equação 2.2, é possível perceber que a medida de similari-dade obtida através da diferença x−y projetada numa função Gaussiana é parametrizávela partir de um valor de σ que determina a largura de banda da função Gaussiana. Para umσ pequeno o kernel torna-se sensível apenas para valores muito próximos de x e y.

Na prática, a densidade de probabilidade conjunta é desconhecida e apenas um númerofinito de amostras {(xi,yi)}N

i=1 está disponível, sendo necessário utilizar um estimador decorrentropia cruzada, baseado no método de Parzen, em conjunto com o RKHS (Principe2010)

vσ√

2,N(X ,Y ) =1N

N

∑i=1

kσ(xi,yi). (2.3)

2.2.2 Propriedades

A correntropia definida na Equação 2.1 apresenta propriedades interessantes, algumasmais importantes serão descritas a seguir.

1. A correntropia é uma função simétrica para kernel simétricos, v(X ,Y ) = v(Y,X).2. A correntropia é uma função positiva e restrita entre 0 < v(X ,Y ) < 1/

√2πσ para

kernel Gaussiano, obtendo seu valor máximo quando X = Y .3. Para um kernel Gaussiano, a correntropia representa uma soma infinita ponderada

dos momentos estatísticos pares da variável aleatória Y −X .

Aplicando-se uma expansão através da série de Taylor na Equação 2.1, esta podeser reescrita como

Vσ(X ,Y ) =1

2πσ

∑n=0

(−1)n

2nσ2nn!E[(X−Y )2n]. (2.4)

Através da equação 2.4, é possível perceber que a medida de correntropia envolvea soma de infinitos momentos estatísticos representado pelo expoente 2n. Dessaforma, a correntropia se mantém semelhante a correlação mas é sensível a outrosmomentos estatísticos para (n > 1). O tamanho do kernel aparece como um pa-râmetro de peso na soma dos momentos estatísticos de ordem superior. Ou seja,quando o σ é alto, a soma dos momentos de ordem superior tende a zero e a medida

Page 24: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 15

de correntropia é dominada pela medida de segunda ordem (n= 1), se aproximandoda medida de correlação.

4. Quando o valor de σ se aproxima de zero, a medida de corretropia se aproxima dovalor p(X = Y );

5. Assumindo um conjunto finito de duas variáveis aleatórias {(xi,yi)}Ni=1 i.i.d, a es-

timação da correntropia através da Equação 2.3 com tamanho de kernel σ√

2 é aintegral de pX ,Y,σ(x,y) ao longo da linha x = y.

vσ√

2(X ,Y ) =∫

pX ,Y,σ(x,y) |x=y=u du (2.5)

6. A correntropia inclui informação estatística de segunda ordem de uma informaçãoprojetada no espaço de reprodução de Hilbert Hk, definido pela função do kernel k.

v(X ,Y ) = E[k(x,y)] = E[〈Φ(x),Φ(y)〉Hk ] = E[Φ(x)TΦ(y)] (2.6)

A equação acima descreve a estimação de correntropia como uma medida do valoresperado realizada no espaço de reprodução de Hilbert Hk. Pelo teorema de Moore-Aronszajn, k(x,y) determina um espaço de reprodução de Hilbert único Hk ondetransformações não lineares de Φ mapeiam elementos desse sinal na superfície daesfera Hk.

Figura 2.4: Espaço de reprodução de Hilbert e mapeamento Hk e Hv. Figura adaptada de(Principe 2010).

O mapa v( f , .) é uma transformação de Hk, espaço de densidade de probabilidade,para Hv que é um espaço determinístico. O mapa v( f , .) é um descritor estatísticodo espaço amostral onde aplicações algébricas podem ser executadas para computar

Page 25: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 16

estatísticas. Todas as distâncias em Hv são determinísticas, escalares e quantificamvárias propriedades da função densidade de probabilidade, isto porque os estimado-res estatísticos em Hk operam com toda a informação de densidade de probabilidade(Principe 2010).

7. Se X e Y são variáveis aleatórias independentes, a média pode ser calculada sobreos mapeamentos isoladamente, logo

v(X ,Y ) = 〈E[Φ(X)],E[Φ(Y )]〉Hk (2.7)

Essa propriedade é mais interessantes se interpretada a partir da função densidadede probabilidade

p(X ,Y ) = pX(x)pY (y). (2.8)

Utilizando o método de Parzen para estimação da fdp e aplicando a propriedade 5,isto é, integrando para x = y obtemos

1N

N

∑i=1

kσ√

2(xi,yi)≈1

N2

N

∑i=1

N

∑j=1

kσ√

2(xi,y j) (2.9)

O lado direito da Equação 2.9 é um estimador para o CIP (Cross Information Po-

tential). Do ponto de vista da teoria da informação, o CIP é o logaritmo aumentadoda entropia quadrada de Rényi, logo a correntropia também é um estimador parao CIP quando as variáveis são independentes, mostrando que há uma relação entrecorrentropia e ITL, possibilitando a análise das variáveis aleatórias independentestambém na perspectiva do potencial de informação.

Devido a transformações não lineares introduzidas pelo kernel, o estimador de corren-tropia definido na Equação 2.3 não possui média zero, nem mesmo se os dados de entradaforem centralizados (Principe 2010). Para solucionar esse problema foi definido atravésde uma generalização da função de covariância cruzada, que contém apenas estatísticasde segunda ordem, a função de correntropia cruzada centralizada (CCC).

u(X ,Y ) = EX ,Y [kσ(x,y)]−EX EY [kσ(x,y)]

= E[〈(Φ(x)−E[Φ(x)]),(Φ(y)−E[Φ(y)])〉Hk ],(2.10)

Através da Equação acima, podemos observar que o termo EX EY [kσ(x,y)] é o estima-dor do CIP definido anteriormente. Através da estimação da f d p, utilizando os métodos

Page 26: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 17

de Parzen, é obtido o seguinte estimador para CCC,

u(X ,Y ) =1N

N

∑i=1

kσ√

2(xi,yi)−1

N2

N

∑i=1

N

∑j=1

kσ√

2(xi,y j) (2.11)

Quando as variáveis aleatórias X e Y são independentes, os estimadores presentes naEquação 2.11 tendem a ser equivalentes (propriedade 7) e o valor estimado tende a zero,garantindo média zero para a função u(X ,Y ).

Neste trabalho, a correntropia é utilizada para obter pontos de sincronia entre sinaisde informação multimídia com características identificadas através de uma análise de or-dem superior que envolve conceitos de ITL, e na prática as variáveis aleatórias X e Y

representam um conjunto finito de amostras de um sinal.Também foi definido em (Principe 2010) a correntropia para a análise de processos

estocásticos. De forma geral, as propriedades apresentadas nesta Seção ainda são válidas,com algumas diferenças conforme segue.

2.2.3 Correntropia na Análise de Séries Temporais

Um processo estocástico (sinal aleatório) é modelado por uma coleção de variáveisaleatórias {Xt , t ∈ T}, uma para cada instante de tempo (Principe 2010). Como vistoacima, os processos estocásticos são normalmente caracterizados pela distribuição esta-tística, individual e conjunta, das amplitudes dessas variáveis aleatórias.

A medida de autocorrentropia para processos estocásticos pode ser definida por

vx,x;σ(t1, t2) = E[kσ(t1, t2)]. (2.12)

Observa-se que a medida de autocorrentropia é extraída a partir de dois intervalos detempo da mesma variável aleatória.

Através de uma expansão pela série de Taylor, a autocorrentropia pode ser escritacomo

vσ(t1, t2) =1√2πσ

∑n=0

(−1)n

2nσ2nn!E[‖ xt1− xt2 ‖

2n], (2.13)

e portanto, verifica-se que a autocorrentropia equivale a soma ponderada dos momentosestatísticos de ordem par da variável (xt1− xt2).

Assumindo que o processo estocástico seja, em todos os momentos estatísticos, estaci-onário no sentido estrito, pode-se definir v(t1, t2) = v(t1− t2) = v(τ). Considerando aindaque o processo é ergódico, pode-se estimar v(m) = E[kσ(xn,xn−m)], em tempo discreto,

Page 27: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 18

por

v(m) =1

N−m+1

N

∑n=m

kσ(xn,xn−m). (2.14)

A função de autocorrentropia definida para séries temporais possui um conjunto depropriedades semelhantes às apresentadas para a medida de autocorrentropia definida paramedida de similaridade estatística entre variáveis aleatórias, algumas particularidades sãodescritas na sequência.

8. Para um kernel simétrico, v(m) = v(−m);9. Tem valor máximo na origem, v(m)≤ v(0);

10. v(m)≥ 0 e v(0) = 1/√

2πσ;11. Para cada kernel simétrico positivo-definido k(t1, t2), em um espaço temporal T xT ,

a função definida através da Equação 2.12 é um kernel de reprodução.

A função de autocorrentropia pode ser interpretada a partir de dois espaços de repro-dução de Hilbert. Um deles é Hk, definido através do kernel Gaussiano kσ(t1, t2). Oselementos contidos em Hk são vetores de dimensão infinita e se posicionam na superfí-cie de uma esfera, isto porque ‖ φ(x) ‖2= kσ(0) = 1/

√2πσ, a correntropia efetua uma

medida de média estatística E[.] nos elementos dessa esfera.O segundo RKHS Hv originado do mapeamento v(m) representa um mapeamento de

Hk através de uma medida estatística definida sob um intervalo de tempo m. O produtointerno é definido pelo valor do kernel entre dois instantes de tempo (n,n−m), e o ma-peamento produz um simples valor escalar para cada elemento v(m). Isto é, a dimensãoprática de Hv equivale a dimensão do vetor m. Quando analisada na perspectiva de análisede sinais, Hv apresenta um conjunto de propriedades interessantes.

• Hv provê um método de aplicar algoritmos de projeção baseados em estatísticas desegunda ordem.• A dimensão efetiva de Hv é controlada através da quantidade de intervalos analisa-

dos e definidos através de valores de m.• Os elementos de Hv podem ser manipulados algebricamente para inferência estatís-

tica.• Hv é um espaço RKHS não linear, sendo interessante para análise estatística de

sinais não lineares.

Como a correntropia não garante média zero, nem mesmo quando os dados de entradasão centralizados, foi definida em (Principe 2010) uma autocorrentropia centralizada, eseu estimador é dado por

Page 28: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 19

ux,x;σ(m) =1

N−m

N

∑n=m

kσ(xn,xn−m)−1

N2

N

∑n=0

N

∑m=0

kσ(xn,xn−m). (2.15)

O último somatório na diferença contida na Equação 2.15 é o estimador do Poten-cial de Informação (IP). A média dos elementos transformados induzidos pelo kernel é oestimador do quadrado do Potencial de Informação, e consequentemente a entropia qua-drática de Rényi.

A Equação 2.15 pode ser generalizada para uma função de correntropia cruzada entredois processos estocásticos, vx,y;σ(t1, t2) = E[kσ(xt1,yt2)]. Assumindo que os processossejam ergódicos e estacionários no sentido estrito, o estimador para a correntropia cruzadacentralizada (CCC), segundo o método de Parzen, pode ser descrito como (Principe 2010)

vx,y;σ(m) =1

N−m

N

∑n=m

kσ(xn,yn−m)−1

N2

N

∑n=0

N

∑m=0

kσ(xn,yn−m). (2.16)

Através da Equação 2.16 é possível perceber uma propriedade interessante, vx,y(0) =vx,y(X ,Y ). Isso demonstra que a função de correntropia cruzada definida para processosestocásticos envolve a medida de correntropia cruzada para variáveis aleatórias.

Nesta Seção, adotamos o RKHS para fundamentar a função da correntropia e variasde suas propriedades, uma vez que propomos um sistema que utiliza o RKHS em suaconcepção. Entretanto, existe também uma interpretação probabilística para a funçãode correntropia fundamentada pela Propriedade 5 e pela Equação 2.5. Para um kernel

Gaussiano, o limite da correntropia para valores de kernel pequenos aproxima p(X = Y ).Ainda, de acordo com as condições para o método de Parzen, pX ,Y ;σ(x,y) se aproximade pX ,Y (x,y) quando o valor de σ se aproxima de zero e o produto Nσ tende a infinito(Principe 2010). Ou seja,

limσ→0

vX ,Y ;σ(x,y) = pX ,Y (x,y). (2.17)

Neste trabalho, a correntropia será utilizada para encontrar semelhança de fase entresinais multimídia. Além disso, também utilizamos medidas não lineares diretamente so-bre o espaço não-linear Hk, e para isso investigamos o uso das redes neurais para análisedo espaço Hk. Na próxima seção, definiremos o que são redes neurais e suas propriedades,além dos mecanismos de aprendizado utilizados nesse trabalho.

Page 29: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 20

2.3 Redes Neurais Profundas

As redes neurais e suas diversas derivações constituem os modelos matemáticos es-senciais e mais utilizados do conjunto de algoritmos de aprendizagem computacional pro-funda (deep learning). O deep learning por sua vez é um caso específico do conjunto deferramentas de aprendizagem de máquina (machine learning) (Goodfellow et al. 2016).

Como o nome sugere, o termo aprendizagem de máquina se refere a um conjuntode ferramentas criadas para tratar de problemas que sejam difíceis de solucionar comprogramas estruturais feito por seres humanos. Em geral, tais problemas são abordadosatravés do emprego de um algoritmo de aprendizagem orientados pela distribuição deprobabilidade de um conjunto de dados.

De fato, um algoritmo de aprendizagem sob o contexto de aprendizado de máquinaé um algoritmo capaz de aprender uma tarefa T através de sucessivas experiências E,realizadas com um conjunto de dados, de modo a aumentar a performance P na realiza-ção da tarefa T (Mitchell 1997). Logo, os algoritmos de aprendizagem são geralmentedescritos a partir de sua interação com o conjunto de dados processados na experiência.Nesse ponto, podemos imaginar uma grande quantidade de tarefas que podem ser rea-lizadas por algoritmos de aprendizagem, as mais comuns são: classificação de padrões,regressão de funções, detecção de anomalias, geração de padrões e síntese, redução deruído, estimação de densidade de probabilidade etc.

Nesse trabalho, serão utilizados algoritmos de aprendizado de máquina para encontrarpadrões em sinais VBR e sinais de áudio não codificados a fim de se obter uma classi-ficação quanto a relação temporal entre os sinais. Logo, nossa tarefa está relacionada aclassificação de padrões.

De modo a quantificar o desempenho de uma tarefa realizada por um algoritmo deaprendizagem de máquina, é geralmente aplicado uma medida de desempenho P. Paraa tarefa de classificação, é geralmente aplicado a medida de acurácia. A acurácia é de-finida pela razão dos exemplos classificados corretamente pela totalidade dos exemplosverificados. A totalidade dos exemplos equivalem ao conjunto de dados analisados. Paraa tarefa de regressão de funções é normalmente utilizado uma medida de erro para averi-guar o desempenho do algoritmo de aprendizado de máquina, uma função de erro comumutilizada para a regressão de funções lineares é o erro médio quadrático, ou mean squared

error (MSE).Apesar dos exemplos descritos anteriormente, a escolha da medida de desempenho

nem sempre é clara e objetiva. Tarefas mais complexas geralmente requerem medidasde desempenho específicas para avaliar o desempenho dessa tarefa. Logo, pode-se afir-

Page 30: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 21

mar que cada tarefa de aprendizado de máquina T requer uma medida de desempenho P

apropriada.Para todas as tarefas de aprendizado de máquina, a ideia é obter um melhor desem-

penho P através de sucessivas experiencias E e ajustes realizados no algoritmo de apren-dizagem. Em geral, os algoritmos de aprendizagem podem ser divididos em algoritmosde aprendizado supervisionado, ou não-supervisionado sobretudo pela forma com queinteragem com a experiencia (Goodfellow et al. 2016).

Os algoritmos de aprendizagem não-supervisionados experimentam um conjunto dedados com diversas características, e partir desse conjunto de dados o algoritmo extraipropriedades importantes. Por exemplo, pode-se aproximar a distribuição de probabili-dade de geração desses dados tanto explicitamente, na tarefa de estimação de densidadede probabilidade, como implicitamente, para as tarefas de síntese ou redução de ruído,onde não se tem acesso direto a distribuição de probabilidade dos dados.

Os algoritmos de aprendizagem supervisionados experimentam um conjunto de dadosque, além das diversas características, também apresentam valores alvo. Ou seja, cadaexemplo é formado por um conjunto de características e um valor de referência (label)que indica qual deve ser a resposta correta do algoritmo. Na tarefa de classificação, porexemplo, o valor de referência indica qual a classificação correta para o conjunto de dadosapresentados. Enquanto que na tarefa de regressão, o valor de referência indica o valor desaída do algoritmo. Existem também os algoritmos de aprendizado semi-supervisionados,onde alguns exemplos incluem o valor de referência e outros não.

Além dos métodos de aprendizado descritos anteriormente, existem também as tarefasque envolvem o aprendizado por esforço repetitivo. Nesse caso, os algoritmos interagemcom a experiencia através de um ambiente em que existe uma ligação entre retorno doresultado da experiência e o algoritmo de aprendizado.

A ação de ajustar um algoritmo de aprendizagem de máquina para obter um melhordesempenho através de sucessivas experiencias é chamado de otimização. Logo, é geral-mente aplicado um algoritmo de otimização para maximizar o desempenho dos algorit-mos de aprendizagem de máquina e minimizar uma função de custo atrelada ao resultadodo algoritmo.

Um outro ponto importante para o sucesso de um algoritmo de aprendizagem de má-quina se refere ao conjunto de dados. Em geral, afirma-se que a capacidade do algoritmode aprendizagem deve ser adequada a complexidade da distribuição de probabilidade dosdados utilizados. A capacidade de um algoritmo está diretamente relacionada a quanti-dade de parâmetros que podem ser ajustados. Quando utilizada uma capacidade menordo que requerida, o algoritmo faz uma aproximação pobre (underfitting), e quando a ca-

Page 31: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 22

pacidade é maior do que a requerida, o algoritmo tende a memorizar padrões específicosdo conjunto de dados (overfitting). Uma consequência do overfitting, é que o algoritmode aprendizagem perde a capacidade de generalizar o mesmo desempenho obtido no pro-cesso de otimização para outros conjuntos de dados não utilizados na otimização do algo-ritmo.

Nesse contexto, geralmente se utiliza um conjunto de dados para otimizar o algoritmode aprendizagem a fim de aumentar o desempenho para uma determinada tarefa, e ou-tro conjunto de dados distintos e não sobrepostos apenas para verificar o desempenhodo algoritmo. Um algoritmo de aprendizagem que está com a capacidade adequada, éum algoritmo que apresenta a menor diferença entre o desempenho de otimização, outreinamento, e o desempenho de teste.

No contexto das redes neurais, algumas estratégias para aumentar a generalização doalgoritmo de aprendizagem estão descritas na literatura e são comumente utilizadas, den-tre elas estão a aplicação de penalidades nos parâmetros (Krogh & Hertz 1992), comparti-lhamento de parâmetros (Sachan & Neubig 2018), aumento artificial do conjunto de dados(Mikołajczyk & Grochowski 2018), dropout (Srivastava et al. 2014) etc. Essas estratégiaspodem ser combinadas entre si para se obter um melhor resultado. Dentre elas, destaca-mos que o aumento artificial do conjunto de dados e o dropout são as mais eficientes eserão utilizadas no decorrer desse trabalho (Mikołajczyk & Grochowski 2018, Srivastavaet al. 2014).

2.3.1 Definição

O objetivo principal das redes neurais é aproximar uma função qualquer f ∗. Umclassificador, por exemplo, y = f ∗(x) mapeia a entrada x a uma categoria y. Logo, umarede neural define uma função y = f (x,θ), onde θ são os valores que parametrizam afunção e devem ser ajustados a partir de um algoritmo de otimização para reduzir o erro,ou custo, da aproximação (Goodfellow et al. 2016).

Inicialmente, descreveremos as redes neurais em que a propagação do sinal pelo al-goritmo se desloca unicamente em direção a saída. Ou seja, não apresentam nenhumaconexão de realimentação (feedback). As redes neurais que contém conexões de reali-mentação são chamadas de redes neurais recorrentes, e serão descritas ainda nessa seção.

Os modelos de redes neurais são geralmente formado pela união de diversas funçõesagrupadas na forma de camadas, que são geralmente associadas a um grafo que descrevemcomo elas são conectadas. Nesse caso, podemos descrever uma rede neural através de umconjunto de funções

Page 32: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 23

f ∗(x) = f (n)( f (n−1)...( f (3)( f (2)( f (1)(x,θ1),θ2),θ3)...θn−1)θn), (2.18)

onde f (1) equivale a função parametrizada por θ1 e desempenhada pela primeira camadada rede neural, f (2) equivale a função parametrizada por θ2 e desempenhada pela segundacamada da rede e assim por diante até a camada final n. A quantidade total de camadas darede indica a profundidade do modelo, dando origem a terminologia deep learning. Ascamadas da rede normalmente apresentam a saída com valores vetoriais, o tamanho dessesvetores indicam a largura da rede e refletem diretamente na quantidade de parâmetrosutilizados em cada camada. A quantidade de parâmetros totais de uma rede neural definea capacidade do modelo.

A forma como essas funções são interligadas apresentam um fundamento neuroló-gico, por isso são chamadas de redes neurais, onde o elemento de processamento básicoé o neurônio. No contexto das redes neurais densas, uma camada é composta por váriosneurônios, onde cada neurônio representa uma função não-linear com entradas parame-trizáveis por um vetor de peso w aplicado a cada elemento de saída da camada anterior.Essas entradas parametrizáveis são somadas entre si e acrescidas de um valor de desloca-mento bias. Logo, a saída do neurônio i de cada camada é dada por

yi = φ(wTi xi +bi) (2.19)

onde φ é uma função de resposta não-linear também conhecida como função de ativação.Na Equação 2.19, os parâmetros θn da função f (n)(x,θn) são representados pelo vetorde pesos wi e bias bi. Nesse ponto podemos assumir que uma rede neural densa possuiuma matriz de ligação entre as camadas W que parametriza as saídas da camada anteriorpara cada neurônio i da camada atual, e um vetor de bias que é acrescido a saída de cadaneurônio da camada anterior. Observamos também que, xi = yi−1, ou seja, a entrada dacamada atual xi equivale a saída da camada anterior yi−1.

O objetivo principal do algoritmo de aprendizagem utilizado nas redes neurais é redu-zir o erro de aproximação da função. Para quantificar esse erro de aproximação é geral-mente utilizada uma função de custo C. Uma função de custo está geralmente associadaao tipo de tarefa realizada pela rede neural. No caso da tarefa de aproximação de umafunção, normalmente se utiliza o erro médio quadrático ou entropia cruzada que equivaleao inverso do logaritmo da máxima verosimilhança.

Page 33: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 24

2.3.2 Algoritmo de Aprendizagem

Além do conjunto de dados, do modelo da rede neural e de uma função de custo,necessita-se de um algoritmo de aprendizagem para ajustar os parâmetros do modelo afim de reduzir o erro de aproximação. Ou seja, minimizar a medida da função de custo.Nesse contexto, descreveremos um algoritmo para ajuste dos parâmetros baseado no vetorgradiente que é propagado da função de custo até as primeiras camadas da rede, essealgoritmo é também conhecido por propagação reversa (backpropagation).

O gradiente de uma função é um vetor que indica a direção e o sentido, para cadaparâmetro, do ponto que reflete o máximo crescimento e é perpendicular a superfície ondeé verificado. Ou seja, para cada função desempenhada por um neurônio existe um vetorgradiente associado que indica a variação necessária de cada parâmetro para maximizar oresultado da função 5θ f (x,θ). Do mesmo modo, existe um vetor gradiente que indica oquanto se deve alterar o valor de entrada da função para maximizar o resultado5x f (x,θ),esse último vetor gradiente possibilita a propagação do gradiente associado ao custo finalpara as primeiras camadas da rede.

Nesse contexto, como estamos interessados em ajustar os valores dos parâmetros decada camada para minimizar a função de custo, devemos ajustar os parâmetros no sentidoinverso do gradiente, tal método de ajuste é conhecido como gradient descent. Logo,calculamos os vetores gradientes de cada camada, partindo da função de custo que quandominimizada aproxima a saída da rede a um valor de referência, até as camadas iniciais. Poresse motivo, o nome desse método se chama algoritmo de aprendizagem por propagaçãoreversa.

Para calcular os vetores gradiente, deve-se encontrar as derivadas parciais da funçãof (n)(xn,θn) em relação a entrada xn e os parâmetros θn. Para isso, utiliza-se a regra dacadeia.

Na Equação 2.18, observamos que f (x) é formada por outras funções f 1, f 2 e f 3.Suponha que y = g(x) e z = f (g(x)) = f (y), a regra da cadeira diz que

dzdx

=dzdy

dydx

. (2.20)

Considerando x um vetor de m elementos e y um vetor de n elementos, podemosrescrever a equação 2.20 na forma generalizada como

∂z∂xi

= ∑j

∂z∂y j

∂y j

∂xi. (2.21)

onde i = 1, ...,n e j = 1, ...,m ou na forma vetorial

Page 34: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 25

5x z =(

∂y∂x

)T5y z. (2.22)

Observamos, através da Equação 2.22, que o valor de5xz inclui a medida do gradienteda função interior 5yz, de modo que podem ser sucessivamente acumuladas para váriascamadas. Considerando xn a entrada da camada n, yn a saída da camada n, e z o resultadofinal da função de custo, podemos reescrever a Equação 2.22 como

5xn z =(

∂yn+1

∂xn

)T5yn+1 z, (2.23)

para n = N, ...,1, onde N é a quantidade de camadas que operam sob a entrada x1 até asaída da última camada yN .

Pelo mesmo princípio da regra da cadeia, podemos derivar a equação para o gradienteda saída da rede z em relação aos pesos de cada camada θn, como segue

5θn z =(

∂yn+1

∂θn

)T5yn+1 z, (2.24)

para n = N, ...,1.É importante observar que tanto na propagação normal quanto na propagação reversa,

o modelo em que os neurônios são interligados influenciam no emprego computacional doalgoritmo de aprendizagem. Nesse contexto, os frameworks para implementação compu-tacional das redes neurais operam construindo um grafo de execução onde cada elementono grafo representa uma função, ou até mesmo uma arquitetura neural específica. Logo,tanto a propagação normal quanto a propagação reversa devem levar em consideração aforma em que o grafo de execução é construído, considerando a quantidade de vetores deentrada e saída da função.

De fato, as redes neurais podem ser arranjadas em diversos formatos para atender ne-cessidades específicas ou quando se conhece a estrutura espacial dos dados de entrada.Em geral, as redes neurais convolucionais são aplicadas para dados que apresentam to-pologia em grade de qualquer dimensão, como uma serie temporal em que cada amostraocupa uma posição numa grade unidimensional, ou imagens, em que cada pixel ocupauma posição numa grade bidimensional. Outro exemplo de uma arquitetura específicasão as redes neurais recorrentes, em que são utilizadas sempre que se faz necessário mo-delar conteúdos temporais como séries temporais, sinais de áudio, vídeo, geração e análisede texto etc. Descreveremos, em detalhes, as redes neurais convolucionais na seção 2.3.3e as redes neurais recorrentes na seção 2.3.4.

Page 35: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 26

2.3.3 Redes Neurais Convolucionais

A rede neural convolucional (CNN - Convolutional Neural Network), é aplicada ge-ralmente em dados com topologia em grid. De uma forma simplificada, podemos afirmarque uma CNN é uma rede neural que utiliza a operação de convolução no lugar da mul-tiplicação de matrizes que é normalmente utilizada numa rede neural densa. As CNNsapresentam bons resultados em aplicações práticas como a classificação de sons e ima-gens (Goodfellow et al. 2016).

A operação de convolução pode ser aplicada em mais de uma dimensão. Para aplica-ções que envolvem imagens é normalmente utilizada uma operação de convolução bidi-mensional definida por (Goodfellow et al. 2016)

S(i, j) = (I ∗K)(i, j) = ∑m

∑n

I(i+m, j+n)K(m,n), (2.25)

onde i, j equivale ao índice espacial da imagem de entrada I, K é uma matriz de pesosbidimensional também chamada de kernel, e S é o resultado da operação de convolução,e nesse contexto, é também chamado de mapa de características ou features.

O uso das CNNs é motivado por propriedades importantes. A operação de convoluçãoapresenta interações esparsas, que melhora a generalização da aproximação estatísticae o consumo de memória, visto que é possível analisar vários pixels de uma imagemcom um kernel pequeno que pode detectar características importantes como contornosou linhas. Observamos também que cada índice da saída da operação de convoluçãosofre a influência de todos os parâmetros do kernel, tal propriedade é conhecida comocompartilhamento de parâmetros (parameter sharing).

A principal vantagem do compartilhamento de parâmetros em redes convolucionaisé a invariância a translação. Uma função é dita invariante quando sua saída se alterada mesma forma que a entrada. No contexto do compartilhamento de parâmetros, talpropriedade se reflete na detecção das mesmas características mesmo que sua entradaseja deslocada em qualquer uma de suas dimensões.

Entretanto, a operação de convolução não é invariante para outras transformaçõescomo mudanças na escala e rotação na imagem. Para lidar com certas transformações co-mumente esperadas em dados com topologia em grid, como uma imagem, é normalmenteutilizada uma função de redução de dimensionalidade seguinte a operação de convolução.Tal função para a redução de dimensionalidade é conhecida como função de agrupamentoou sub-amostragem ou pooling.

A função de agrupamento substitui a saída da operação de convolução por uma esta-tística de um bloco quadrado ao redor do valor de saída, reduzindo a dimensionalidade.

Page 36: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 27

Existem alguns tipos de função de agrupamento, as mais comuns são: max-pooling, ondeé escolhido o valor máximo do bloco, average-pooling, onde é escolhido uma média detodos os valores do bloco. Em todos os casos, a função de agrupamento torna a saída daoperação de convolução invariante a mudanças de escala e translação. A invariância paratranslação local é mais importante se o interesse é identificar se certa característica estápresente, ao invés de localizar a posição exata dessa característica.

Em geral, a camada convolucional é formada pela operação de convolução, a operaçãode agrupamento, e a função de ativação não-linear denominada por φ na Equação 2.19.Uma função de ativação muito utilizada em redes neurais convolucionais é a UnidadeLinear Retificada (Rectified Linear Unit - ReLU), definida por

g(z) = max{0,z}, (2.26)

onde z equivale a entrada da função de ativação resultante das operações anteriores.A função não-linear ReLU é, de fato, uma composição de duas funções lineares. Tal

comportamento próximo ao de uma função linear preserva muitas características que fa-zem as funções lineares fáceis de serem otimizadas com métodos baseado no gradiente.

Para se obter um maior conhecimento acerca das características dos dados, váriascamadas convolucionais são concatenadas em sequência. Nesse sentido, não só as pro-priedades apresentadas anteriormente são válidas, como também se observa que a con-catenação de camadas convolucionais apresenta vantagens. Se considerarmos que cadacamada convolucional é calculada a partir de uma região do tamanho do kernel, as saí-das das últimas camadas cobrem uma região maior a cada camada que se sucede. Oque eventualmente resulta num maior compartilhamento do parâmetros e no aumento dasinterações esparsas. Além disso, a concatenação de camadas convolucionais aumenta aquantidade de parâmetros, o que aumenta a capacidade da rede neural.

É muito comum utilizar uma camada densa no final de uma rede neural convolucional.A ideia é unir os resultados das características da última camada convolucional para tomaruma decisão final através de uma matriz de parâmetros. A Figura 4.1 ilustra uma arquite-tura de uma rede neural convolucional utilizada na classificação de padrões. Observamosa existência de uma camada chamada Flatten entre a última camada convolucional e acamada densa que realiza uma redução de dimensionalidade de um conjunto de mapa decaracterísticas bidimensionais para um vetor unidimensional.

Page 37: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 28

Figura 2.5: Arquitetura de uma CNN. Figura adaptada de (Saha 2018)

2.3.4 Redes Neurais Recorrentes

As redes neurais recorrentes são redes neurais que, de alguma forma, apresentamligações recorrentes em sua estrutura como mostrado na Figura 2.6. Observe também,que uma rede neural recorrente pode ser desdobrada numa arquitetura para processar umvetor temporal de tamanho t, onde xt equivale a entrada do sinal no tempo t e ht equivaleao resultado da rede neural no tempo t.

Figura 2.6: Rede neural recorrente e sua construção desdobrada. Figura retirada de (Olah2015)

Em geral, as redes neurais recorrentes são utilizadas para modelar dados que pos-suem alguma característica temporal. Ou seja, características que estão embutidas numasequencia de amostras temporais (Goodfellow et al. 2016). Dentre as arquiteturas já es-tudadas das redes neurais recorrentes, uma das mais recentes e que apresenta melhoresresultados é a Long Short-Term Memory (LSTM).

Uma variação comum das redes LSTM são as redes Bidirectional Long Short-Term

Memory (BLSTM). A arquitetura BLSTM utiliza uma cadeia dupla de células LSTM,uma para cada direção temporal. Cada cadeia de células LSTM é projetada para conterum bloco de memória que é atualizado sob influência do sinal de entrada e de valoresjá alocados no bloco de memória porém, modificados por uma série de portas (gates).Os gates são pequenas redes neurais que podem adicionar (update) ou remover (forget)

Page 38: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 29

informação do estado de recorrência. A Figura 2.7 ilustra a arquitetura interna de umacélula LSTM juntamente com seus elementos internos que são descritos na sequência.

Figura 2.7: Célula LSTM. Figura retirada de (Hao 2017)

Considere C o vetor de estado das células, Ct indica o valor do vetor de estado nointervalo de tempo t e é definido por

Ct = ft ∗Ct−1 + it ∗Ct (2.27)

onde Ct é um vetor com valores candidatos para a atualização do estado das células atual,ft é a saída da rede forget, que decide o que deve ser mantido do vetor de estado atual, it éa saída da rede update, que decide o que deve ser utilizado do vetor de valores candidatopara atualizar o estado atual das células.

Tanto a rede forget quanto a rede update utiliza informação do sinal de entrada xt e dasaída da última célula ht−1 no intervalo de tempo t−1. Logo, as Equações para ft e it sãodefinidas como

ft = σ(Wf .[ht−1,xt ]+b f

), (2.28)

it = σ(Wi.[ht−1,xt ]+bi

), (2.29)

onde Wf , Wi e b f , bi são os pesos e bias utilizados no cálculo das portas forget e update

respectivamente. Note que, ambas as saídas ft e it se encontram no intervalo [0,1], emque o valor 0 representa uma porta fechada e 1 representa uma porta aberta.

O vetor candidato Ct também leva em consideração a informação da entrada e da saídada última célula. Logo,

Page 39: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 30

Ct = tanh(WC.[ht−1,xt ]+bC

), (2.30)

onde os valores de Ct são situados no intervalo [−1,1].A saída do vetor de estado atual, dado por ht , também é mediado por uma porta com

saída ot , onde

ot = σ(Wo.[ht−1,xt ]+bo

). (2.31)

A saída ht deve ter seus valores ajustados para o intervalo [−1,1]. Logo, é utilizadauma função de ativação denominada tanh, resultando na equação

ht = ot ∗ tanh(Ct). (2.32)

Nesse ponto podemos imaginar uma arquitetura com células LSTM em que o vetorde estado C se propaga por toda cadeia LSTM sob a influência apenas de portas forget

e update. Tal arquitetura evita problemas comuns em redes neurais recorrentes como odesaparecimento ou explosão dos gradientes, e aumenta a capacidade do modelamento deséries temporais (Jozefowicz et al. 2015).

Também observamos que, a saída da célula ht no tempo t também depende da saída daúltima célula ht−1, significando que a cadeia de células LSTM possui um fluxo de infor-mação secundário sob intervalos de tempo consecutivos dado pela conexão da saída ht−1

no controle das portas forget e update, e na geração do vetor de valores candidatos, quepor sua vez modifica a saída do estado atual ht . Tal fluxo secundário de informação resultanum modelamento temporal mais curto, mas com uma capacidade de tomar decisões maiscomplexas (Jozefowicz et al. 2015).

Page 40: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Capítulo 3

Estado da Arte

Para uma melhor contextualização do nosso trabalho, além de ilustrar o ineditismodo mesmo, buscamos na literatura os trabalhos relacionados com nossa pesquisa. Algunsenvolvem os conceitos apresentados no Capítulo 2 e outros as estratégias já existentespara sincronização multimídia em sistemas distribuídos.

A sincronia de vídeos a partir da análise de sinais VBR foi inicialmente descrita porSchroth et al. (Schroth et al. 2010a) e Al-Nuaimi et al. (Al-Nuaimi et al. 2012b) os quaisapresentam um algoritmo denominado ConCor+ que utiliza a correlação cruzada centra-lizada em conjunto com o RANSAC (Random Sample Consensus) para obter um melhorgrau de sincronia entre os sinais VBR. A sincronia de fluxos de áudio através de umaanálise sobre sinais VBR ainda não foi descrita na literatura. Nesse caso, consideramosos resultados obtidos nessa pesquisa inéditos para a comunidade científica.

A teoria que fundamenta a correntropia é descrita por Principe (Principe 2010) e porSantamaria (Santamaria et al. 2006). Desde então, essa medida estatística vem sendoutilizada em uma série de aplicações, como em análise de componentes principais (Heet al. 2011), para identificação de sistemas não lineares (Linhares et al. 2015), para reco-nhecimento de faces e filtros adaptativos (h. Jeong & Principe 2006), para a classificaçãoautomática de modulações (Fontes et al. 2015) e para a classificação de vozes patológicas(Fontes et al. 2014). A correntropia foi utilizada para encontrar uma relação temporalentre sinais (Yu et al. 2016) a partir do uso de uma variação da densidade de correntropiaespectral. Ainda, a Densidade de Correntropia Espectral (CSD - Correntropy Spectral

Density) é usada para encontrar a taxa de batidas do coração e a taxa de respiração atravésda análise de sinais extraídos da oximetria cutânea (Ainara et al. 2014).

A teoria acerca das redes neurais estão relatadas esparsadamente em vários traba-lhos que datam do ano de 1943 com a publicação de um artigo escrito por Mc Culloche Pitts intitulado "A Logical Calculus of the Ideas Immanent in Nervous Activity". Re-centemente, com o surgimento de novos paradigmas computacionais de processamento

Page 41: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 32

paralelo providos principalmente pelo poder de processamento das Graphical Processing

Units (GPUs) e arquitetura programáveis como o CUDA, tornou-se possível aplicar asredes neurais para solucionar problemas mais complexos como os de reconhecimento depadrões em imagens (Krizhevsky et al. 2012). Na sequencia, verificou-se que as redesneurais podem ser aplicadas para solucionar outros problemas como reconhecimento defala, aproximação de funções, estimação de densidade estatística, geração de imagens,geração de sons etc. Os avanços mais recentes são normalmente sintetizados sobre o fra-

mework do deep learning. Nesse contexto, utilizamos um livro publicado recentementepor Ian Goodfellow, Yoshua Bengio e Aaron Courville intitulado Deep Learning Textbook

para sintetizar os conceitos apresentados no capítulo anterior.Nessa tese, utilizamos os trabalhos apresentados acima para fundamentar pesquisar

baseadas em sincronia de fluxos multimídia. Em geral, os fluxos multimídia são depen-dentes do tempo e devem ser adquiridos e reproduzidos obedecendo requisitos temporaiscom alta precisão. Nesse contexto, entende-se por sincronia de fluxos multimídia o ajustetemporal de uma sequencia multimídia para que esta seja reproduzida corretamente emconjunto com outras sequencias com informação complementares. Como um conjuntode câmeras de vídeo que capturam uma mesma cena, ou um conjunto de instrumentosmusicais que fazem parte de uma mesma música.

3.1 Sincronização de Clock

De um ponto de vista prático, os sistemas de visão computacional com alto grau desincronia utilizam a sincronização de clock. Existem câmeras para sistemas de visão in-dustrial que utilizam um conector coaxial dedicado a sincronização de clock, em que umdispositivo master envia sinais que disparam a conversão analógica digital nos dispositi-vos escravos, e dessa forma adquirem a imagem no mesmo intervalo de tempo. A prin-cipal desvantagem desse método é a limitação imposta pelo cabeamento estruturado doscabos. De fato, cabos longos degradam a performance da sincronização, enquanto cabospequenos limitam a configuração espacial das câmeras. Uma solução para esse problemaé a utilização de protocolos digitais para transmitir o sinal de clock como o IEEE1394(Rai et al. n.d.) ou Ethernet (Litos et al. 2006) no lugar dos cabos coaxiais. Apesar daflexibilidade fornecida por tais sistemas, estes ainda requerem uma conexão física com odispositivo, impedindo seu uso em redes de câmeras sem fio.

Uma alternativa para a sincronização de clock por cabos é a utilização de protocolosde sincronização de clock para redes de sensors sem fio. Entretanto, muito dos protocolosnecessitam um canal de acesso temporal ao meio, que não é determinístico para redes

Page 42: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 33

de sensores sem fio (Sivrikaya & Yener 2004). Algumas estratégias foram desenvolvi-das para evitar o problema do não determinismo. Métodos como o TPSN - Time-sync

Protocol for Sensor Networks (Ganeriwal et al. 2003) a o FTSP - Flooding Time Syn-

chronization Protocol(Maroti et al. 2004) superam o acesso ao meio não determinísticofazendo a amostragem na camada de acesso ao meio (MAC). Entretanto, tanto o TPSMquando o FTSP requerem implementações especiais da camada de acesso ao meio. Outrométodo desenvolvido para sincronização de clock em redes sem fio é baseada no algoritmodos vaga-lumes (firefly-inspired algorithms) (Babaoglu et al. n.d., Hao et al. 2017). Ape-sar da precisão e rápida convergência (Babaoglu et al. n.d.), os algoritmos inspirados emvaga-lumes requerem um hardware dedicado e não são compatíveis com a maioria doscircuitos integrados controlados de Wifi disponíveis no mercado (Hao et al. 2017). Defato, poucos grupos utilizam os algoritmos de sincronização inspirados em firefly, paraisso se utiliza plataformas especiais como a Wire (Arellano-Delgado et al. 2015, Suedomiet al. 2013), Ultra Wideband (UWB) (Wang et al. 2015), ou circuitos de rádio próprios(Mangharam et al. 2007). Também é possível utilizar fonte externas como o GPS ou umdispositivo óptico sob o custo de um equipamento adicional.

Os sistemas que envolvem troca de fluxos de áudio também estão sujeitos aos pro-blemas de sincronia inerentes as características temporais do conteúdo de áudio. Algunspadrões para transmissão de áudio com latência mínima já são utilizados comercialmente.Para se alcançar latência determinística da ordem de 125us, 250us, 1ms e 4ms as aplica-ções descritas em (Audinate 2015) e (Shay 2015) utilizam o PTP (Precision Time Proto-

col) para controlar um VCXO (Voltage Controlled Quartz Oscillator) que é responsávelno controle temporal da conversão AD e DA. Isso faz com que o buffer de reproduçãopermaneça constante e dependente apenas da instabilidade introduzida pela rede. Entre-tanto isso requer hardwares dedicados. Em (Audinate 2015) e (Shay 2015) os pacotessão encapsulados através do protocolo IP (Internet Protocol), o que permite que os dadospossam ser transmitidos através de equipamentos de rede comuns inclusive na Internet,entretanto a variabilidade do serviço fornecido pela Internet e a latência ocasionada peloroteamento impede que os mesmos níveis de latência mencionados anteriormente sejamutilizados.

Lei Hou et al. desenvolveram uma estratégia de sincronização de clock para sistemasde visão computacional (Hou et al. 2013). A ideia é utilizar um sinal modulado em inten-sidade para ajustar um oscilador que servirá de referência na aquisição da imagem. Logo,cada câmera deve sincronizar seus osciladores conforme o sinal modulado em intensidadee assim realizarão a aquisição da imagem de forma síncrona.

Em suma, a maioria dos sistemas multimídia que utilizam sincronização de clock tanto

Page 43: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 34

por cabos ou wireless requerem hardware apropriados. Nesse contexto, foram desenvol-vidos vários trabalhos que realizam a sincronização dos fluxos multimídia através de umaanálise do conteúdo multimídia. Estes serão descritos a seguir.

3.2 Sincronização de Vídeo

Em se tratando da sincronização de vídeo, existem relatos na literatura de métodosbaseados em correspondências geométricas entre múltiplas imagens (Tuytelaars & Gool2004, Tresadern & Reid 2003, Caspi et al. 2006, Stein 1999, Whitehead et al. 2005).Esse métodos são interessantes sobretudo quando se deseja obter um mapa geométricoda cena, isso porque são capazes de fazer a calibração geométrica e a sincronização nomesmo instante. Entretanto, esse métodos dependem da presença de um número razoávelde correspondência entre as imagens, o que não pode ser garantido em determinadasaplicações, além do que a complexidade computacional cresce exponencialmente com aquantidade de fluxos de vídeo analisados.

Outra estratégia para sincronização de vídeo utiliza pontos de interesse no espaço-tempo. Foi inicialmente aplicada na sincronização de vídeo em (Yan & Pollefeys 2004) eposteriormente formalizada por Laptev e Lindeberg (Laptev 2005). Nesse método, utiliza-se o algoritmo detector de borda de Harris para criar pontos no espaço tempo que sãoescalados e selecionados de forma aleatória com distribuição uniforme, o que resulta nadistribuição temporal de pontos de interesse que pode ser interpretada como um descritortemporal de cada vídeo. Na sequencia, um algoritmo de correlação cruzada tenta estimara diferença temporal entre esses descritores. Entretanto, esse algoritmo tende a falharpara sequencias de imagens em que um objeto principal se move entre oclusões (Ushizakiet al. 2006).

O trabalho de Ushizaki et al. (Ushizaki et al. 2006) descreve um método para sincro-nização de imagens que utiliza a mudança de aparência nas sequências de vídeo. A ideiabásica é utilizar a integral espacial sobre a derivada temporal da intensidade do brilho daimagem, e assim criar um descritor temporal para a sequência de vídeo. Na sequencia acorrelação cruzada normalizada é aplicada para estimar um atraso temporal.

Apesar dos esforços feitos pela comunidade científica em métodos de sincronizaçãobaseado na imagem, a aplicação dessa técnica num cenário real sofre com algumas limi-tações como determinadas texturas, câmeras móveis ou estacionárias, restrição no movi-mento de objetos (Hou et al. 2013).

O grupo de trabalho do MPEG - Moving Pictures Experts Group está trabalhandonum padrão novo para descritores compactos para análise de vídeo (Duan et al. 2017).A

Page 44: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 35

ideia é extrair características dos keyframes de um fluxo de vídeo e embutir um conjuntode descritores para cada característica encontrada. Enquanto essa pesquisa é interessanteno contexto de geração de descrição automática para conteúdos, a mesma não provemuma resolução temporal apropriada para calcular a relação temporal entre dois ou maisfluxos de vídeo. Isso porque vídeos pequenos com poucos ou nenhum corte de cena podenão gerar um keyframe, alem do que os codificadores decidem quando gerar um keyframe

de forma automática a partir de parâmetros que não podem ser garantidos para todos osfluxos.

Estudos recentes (Schroth et al. 2010b, Al-Nuaimi et al. 2012a) apresentaram propri-edades importantes e a utilização de um sinal extraído da taxa de bit instantânea, conhe-cido como sinal VBR (Variable-Bit-Rate), para computar informações temporais de cenasgravadas com múltipla câmeras. Al-Nuaimi et al. (Al-Nuaimi et al. 2012a) desenvol-veu um algoritmo para analisar sinais VBR baseado na correlação baseada em consenso(ConCor+). O ConCor+ utiliza a correlação cruzada entre janelas de um par de sinaisVBR extraídas de uma sequencia de fluxos codificados em conjunto com o algoritmo deamostragem baseado em consenso, também conhecido como Random Sample Consensus

Algorithm ou RANSAC, para realizar a classificação temporal.Os estudos relacionados ao uso da taxa de bit instantânea como descritor temporal

(Schroth et al. 2010b, Al-Nuaimi et al. 2012a) são fundamentais para criar nosso métodode sincronização. O algoritmo ConCor+ apresentado por Al-Nuaimi et al. (Al-Nuaimiet al. 2012a) é a nossa referência bibliográfica mais próxima com resultados comparáveisque serão discutidos posteriormente.

3.3 Sincronização de Áudio

No contexto de sincronização de sons heterogêneos, observamos que as característicasque possibilitam a sincronização podem não serem perceptíveis sem etapas adicionais deextração de características.

Alguns métodos de sincronização de áudio usam recursos baseados em croma paracalcular a diferença de tempo entre uma sequência de áudio e uma partitura (Ewert et al.2009, Manzo-Martínez & Camarena-Ibarrola 2014). A informação do conteúdo musical éextraída da sequência de áudio através de um conjunto de valores de croma. Esses valoresde croma formam um vetor de 12 dimensões, onde cada dimensão equivale a quantidadede energia relacionada a uma nota em todas as oitavas. Logo, cada unidade dimensionaldo vetor de croma está relacionada a uma nota musical.

Ewert e Muller (Ewert & Müller 2009) apresentam uma estratégia refinada para a

Page 45: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 36

sincronização de música que utiliza o Decaying Locally Adaptive Normalized Chroma-

based Onset (DLNCO) como características temporais. O DLNCO faz uma combinaçãode uma representação baseada em croma e informações de onset que são reconstruídaspara corresponder ao vetor de 12 dimensões e normalizadas de acordo com o máximolocal para evitar interferências causadas por ruído mecânico, ressonância etc. Em seutrabalho (Ewert & Müller 2009), a sincronização de música denota um procedimento que,para uma determinada posição em uma representação de uma peça musical, determina aposição correspondente dentro de outra representação, ou seja, as representações podemser idênticas como áudio para áudio, ou heterogêneas como MIDI para áudio, letras paraáudio etc. Nesse caso, a sincronização que envolve sinais de áudio é feita por extraçãomanual das características musicais, como o DLNCO.

Embora a literatura mostre que é possível obter sincronização de áudio e áudio comrecursos que relacionam o áudio bruto ao conteúdo musical, não está claro como umsistema inteligente pode aprender a extrair características para lidar com observações maisabstratas dos dados de áudio brutos.

O alinhamento de sequências multimídia com diferentes representações foi exploradoem alguns trabalhos. Chung and Zisserman (Chung & Zisserman 2016) aplicaram umarede neural convolucional paralelamente em sequencias de áudio e vídeo para aprenderuma representação conjunta de cada sequência através da otimização de uma função deperda contrastiva (contrastive loss), tal método foi utilizado para determinar o grau de errode sincronia labial em sequências de vídeo. Tian et al. (Jiang & Loui 2011) desenvolve-ram duas arquiteturas baseadas na rede convolucional VGG, uma delas é utilizada paraidentificar um evento através da análise paralela de sequências de áudio e vídeo, a outraarquitetura é utilizada especificamente para a sincronização de conteúdos em sequênciasde áudio e vídeo. Posteriormente, Chung et al. (Chung et al. 2018) publicou um artigodescrevendo a sincronização de áudio e vídeo com o uso da rede convolucional VGG -Visual Geometry Group e através da otimização da função de custo de entropia cruzada(cross-entropy loss).

As redes neurais profundas foram empregadas com sucessos para resolver vários pro-blemas relacionados a sequências de áudio como a localização de fontes sonoras (Panget al. 2019), conversão de timbre vocal (Miao et al. 2019), comunicação submersa naágua (Zhang et al. 2019), detecção de sons específicos sob interferência ao ruído (Severiniet al. 2019), classificação de sons (Chen et al. 2019, Khamparia et al. 2019) etc.

Além desses, também encontramos na literatura relatos da utilização de uma redeneural profunda para predizer conteúdos musicais. No trabalho de Wert et al. (Böck &Schedl 2012), é aplicado uma rede neural convolucional para gerar uma representação bi-

Page 46: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 37

nária com estrutura de cromas a partir do espetrograma bruto. Uma de suas desvantagensestá relacionada a representação binária que não considera a intensidade das notas, o que éimportante para obter a sincronização com precisão. Kwon et Al. (Kwon et al. 2017) pro-põe eliminar tais problemas com a utilização de uma rede neural recorrente com célulasLSTM, e assim obter também a intensidade das notas.

O método mais comum para efetuar o alinhamento temporal entre características mu-sicais é o Dynamic Time Warping (DTW). O DTW computa uma matriz de custo acu-mulada através de programação dinâmica de forma a encontrar um alinhamento ótimo.Apesar da eficiencia comprovada do DTW no alinhamento temporal de sequências, eleutiliza características extraídas do áudio bruto, que podem não ser úteis e podem nãorefletir características mais complexas e subjetivas da sequência em questão. Motivadopela falta de capacidade em observar características mais abstratas e de alta dimensionali-dade estatística, várias extensões do método DTW foram propostas. O Global Alignment

Kernels (GAK) (Cuturi et al. 2007, Cuturi 2011) utiliza um produto interno sobre umkernel para transformar as sequências de entrada para um espaço não-linear afim de com-putar a matriz de custo acumulada e por fim o alinhamento da sequência. O Canonical

Time Warping (CTW) (Zhou & Torre 2009) combina o método de Canonical Correlation

Analysis (CCA) com o DTW. Outras extensões do DTW incluem a utilização de aprendi-zado múltiplos para facilitar o alinhamento de sequências com diferentes representações(Juang 1985, Vu et al. 2012), e para lidar com sequencias de múltiplas dimensionalida-des (Wöllmer et al. 2009). Uma extensão do CTW foi desenvolvida por Trigeorgis et al.(Trigeorgis et al. 2018), em que utiliza uma rede neural profunda treinada para maximizara correlação cruzada entre as sequências temporais, e utiliza as representações internaspara computar o correto alinhamento temporal.

Tratando especificamente de interação musical através da internet, encontramos na li-teratura um trabalho onde os maiores problemas encontrados e as estratégias de interaçãomusical através da Internet (Carôt & Werner 2009). No trabalho, analisando os aspec-tos sensoriais, é estabelecido um limiar de 25ms de latência para garantir uma interaçãomusical confortável e bem sucedida. Tal limiar de latência, em teoria, não representa umdesafio em redes publicas metropolitanas. Entretanto, a instabilidade causada pelo ganhode multiplexação e pelo tráfego compartilhado com outros usuários se reflete em jitter, ea estratégia mais comum para contornar tal problema é a bufferização.

Page 47: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 38

Síntese Bibliográfica

Encontramos também na literatura uma síntese dos métodos de sincronia relatados(Boronat et al. 2009). Alguns dos mais relevantes já apresentados anteriormente, e maisalguns outros, estão relacionados na Tabela 3.1.

Autor Aplicação Contexto Método de Sincronia Clock Modelagem(Rai et al. n.d.)

(Litos et al. 2006) Sincronização de Câmeras Visão Computacional Aquisição Síncrona Local - Cabos Determinístico

(Ganeriwal et al. 2003)(Maroti et al. 2004) Sincronização de Clock Redes de Sensores Amostragem na

camada MAC Acesso ao Meio Determinístico

(Babaoglu et al. n.d.)(Hao et al. 2017)

(Arellano-Delgado et al. 2015)(Suedomi et al. 2013)

(Wang et al. 2015)(Mangharam et al. 2007)

Sincronização de Clock Redes de Sensores Algoritmo FireFly FireFly Determinístico

(Audinate 2015)(Shay 2015)

Transmissão de Áudiode

Baixa Latência

Transmissão MultimídiaLocal Reprodução Síncrona PTP Determinístico

(Hou et al. 2013) Sincronização de Câmeras Visão ComputacionalPLL Controlado porsinal modulado em

IntensidadePLL Determinístico

(Tuytelaars & Gool 2004)(Tresadern & Reid 2003)

(Caspi et al. 2006)(Stein 1999)

(Whitehead et al. 2005)

Sincronização deSequências de Vídeo Visão Computacional Correspondencias

Geométricas - CCN

(Laptev 2005)(Yan & Pollefeys 2004)

Sincronização deSequências de Vídeo Visão Computacional Pontos de Interesse

no Espaço Tempo - CCN

(Ushizaki et al. 2006) Sincronização deSequências de Vídeo Visão Computacional Mudanças de Brilho - CCN

(Schroth et al. 2010b)(Al-Nuaimi et al. 2012a)

Sincronização deSequências de Vídeo Visão Computacional Sinal VBR - CCN + RANSAC

Proposta Sincronização de Vídeocom VBR

Sincronização deSequências de Vídeo Visão Computacional Sinal VBR - Correntropia

(Ewert et al. 2009)(Manzo-Martínez & Camarena-Ibarrola 2014)

Cálculo de Scoreentre Áudio e Partitura

Avaliação dePerformance Musical Vetor de Croma - DTW

(Ewert & Müller 2009)Alinhamento entre

Diferentes RepresentaçõesMusicais

Avaliação dePerformance Musical DLNCO - DTW

(Chung & Zisserman 2016)(Jiang & Loui 2011)(Chung et al. 2018)

Alinhamento entreDiferentes Representações(áudio, vídeo, legendas etc)

Sincronia Labial,Outros Spectrograma - Redes Neurais

Convolucionais

(Böck & Schedl 2012)(Kwon et al. 2017) Extração do vetor de Croma Extração de Características

Musicais Spectrograma -Redes Neurais

Convolucionais eRecorrentes

(Cuturi et al. 2007)(Cuturi 2011)

(Zhou & Torre 2009)(Juang 1985)

(Vu et al. 2012)(Wöllmer et al. 2009)

(Trigeorgis et al. 2018)

Alinhamento de SequênciasTemporais Diversos Contextos - -

Kernel, CCA,Manifolds,

Redes Neurais

(Carôt & Werner 2009) Sincronização de Músicana Internet

Criação de Músicana Internet - - -

Proposta de Sicronização de Áudiocom VBR

Sincronização de Sequênciasde Áudio

Aplicações de Alinhamentoentre Instrumentos Musicais Sinal VBR - RKHS +

Redes Neurais

Proposta de SIncronização de ÁudioSincronização de Sequências

de ÁudioAplicações de Alinhamentoentre Instrumentos Musicais Spectrograma - Redes Neurais

Recorrentes

Tabela 3.1: Trabalhos Relacionados

As linhas da Tabela 3.1 destacadas na cor Verde indicam as propostas formalizadasnessa tese. De inicio, investigamos o desempenho da correntropia para modelar dife-renças temporais entre sinais VBR oriundos de fluxos de vídeo distintos que capturama mesma cena e avaliamos sua complexidade para utilização em tempo real. Posterior-mente, investigamos o uso do sinal VBR na sincronização de sequências de áudio con-tendo instrumentos musicais distintos que compõe a mesma música. Observamos que autilização do sinal VBR para sincronizar fluxos de áudio é inédita e não foi relatada em

Page 48: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 3. ESTADO DA ARTE 39

nenhum trabalho na literatura de nosso conhecimento.Também propomos modelar a sincronização especifica de instrumentos musicais uti-

lizando as redes neurais recorrentes como método de modelagem de características tem-porais. Da mesma forma, tal método de sincronização adhoc para instrumentos musicaisutilizando redes neurais recorrentes não foi descrito na literatura de nosso conhecimento.

No Capítulo seguinte apresentaremos nossas propostas de sincronização em detalhes.

Page 49: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Capítulo 4

Sistemas Propostos

Nesse Capítulo, introduziremos os sistemas propostos para verificar a hipótese de queé possível realizar a sincronização de sinais multimídia provenientes de várias fontes coma utilização de ferramentas de aprendizado de máquina.

Dentro do contexto multimídia, descreveremos sistemas propostos para lidar com flu-xos de áudio e vídeo utilizando as ferramentas de aprendizado de máquina, especifica-mente a correntropia e as redes neurais.

4.1 Sincronização de Vídeo Utilizando VBR e Correntro-pia

Com o propósito de realizar uma análise temporal simples e estatisticamente efici-ente em pares de sinais VBR representados por X = x1,x2, ...xn e Y = y1,y2, ...yn, es-ses sinais devem ser segmentados em janelas de tamanho N, e para cada par de janelaw, aplicamos uma normalização de média zero individualmente para cada par e estima-mos a correntropia cruzada através da Equação 2.16, variando o valor de m no intervalo−2N/3≤m≤ 2N/3, onde N equivale ao tamanho da janela w. Nesse contexto, assume-seque o tamanho da janela N é no mínimo 2/3 maior que o deslocamento temporal máximoesperado. O valor estimado da correntropia indica uma medida de semelhança que in-cluem estatísticas de ordem superior para cada deslocamento m, que quanto maior indicamaior semelhança. Logo, o valor mais provável de deslocamento temporal de cada janelase reflete no valor máximo do estimador de correntropia, ou seja

dw = argmaxm

vxw,yw;σ(m) (4.1)

onde dw indica o valor de deslocamento para cada janela.

Page 50: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 41

Num cenário perfeito, todos os estimadores dw indicariam o mesmo valor. Entretanto,devido a presença de segmentos não correlacionados, sobretudo em se tratando de sinaisVBR, nem todos os valores de deslocamento estimados indicam o valor correto do deslo-camento temporal. Alguns desses deslocamentos são observados em picos secundários,ou valores máximos locais do estimador de correntropia cruzada vxw,yw;σ(m). A Figura4.1 ilustra duas situações, uma em que o máximo global indica o valor de deslocamentoreal, outra em que o valor de deslocamento real é indicado por um valor de máximo local.

Figura 4.1: vxw,yw;σ(m) para diferentes janelas. A linha verde indica o deslocamento realentre os dois sinais e a linha vermelha indica o valor máximo global.

No entanto, em muitos casos a quantidade dos candidatos errôneos (chamados outli-

ers) e sua distribuição mascaram o valor correto do deslocamento temporal. Dessa forma,é necessário utilizar um algoritmo de classificação eficiente para lidar com a presença decandidatos outliers. Esse algoritmo será descrito a seguir.

Algoritmo de Classificação

O algoritmo proposto para classificar o deslocamento temporal é baseado no consensode um conjunto de candidatos. A lista de procedimento dos algoritmos é demonstrada naLista 1

A ideia fundamental do algoritmo proposto para lidar com a presença de outliers éescolher o valor candidato a deslocamento temporal considerando um certo intervalo detolerância. Em geral, os candidatos que indicam o valor de deslocamento verdadeiro

Page 51: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 42

Algoritmo 1: Algoritmo de Classificação1. Segmentar os sinais v1 e v2 em janelas sobrepostas (v1,w) and (v2,w) de tamanho N e razão

de sobreposição O.R.;2. Calcular os estimadores de correntropia cruzada vxw,yw;σ(m) para cada par de janela (v1,w)

and (v2,w);3. Extrair N.C. candidatos a valor de deslocamento através da observação decrescente dos

máximos locais de cada estimador de correntropia;4. Para cada candidato, avaliar a quantidade dos candidatos restantes com valor semelhante

ao candidato selecionado considerando um intervalo de tolerância ∆R;5. Escolher como valor de deslocamento o candidato que apresentar o maior número de

semelhanças em relação ao restante dos candidatos. O número de candidatos semelhantesdividido pelo número total de candidatos indica o valor de confiança da escolha C.L.

apresentam uma densidade de probabilidade com pequeno desvio padrão, enquanto que adistribuição dos outliers apresenta um desvio padrão elevado ainda que analisados indivi-dualmente.

A Figura 4.2 ilustra os procedimentos para cada nível de execução do algoritmo pro-posto. A primeira e segunda linha mostram um par de sinais VBR que são divididos emjanelas de tamanho N = 400 e sobrepostas com uma razão de sobreposição O.R. = 2,ou seja 50%. Na Figura 4.2, as janelas sobrepostas são indicadas por linhas verticaisvermelhas. A terceira linha de Imagens indica o estimador da correntropia cruzada paracada janela w. Na sequência são extraídos três candidatos a partir dos valores máximoslocais de maneira decrescente N.C. = 3, estes valores são demonstrados na quarta linhae são acumulados com os candidatos extraídos de novas janelas. A última linha mostrao resultado do algoritmo de classificação na forma de um gráfico de barras. Cada barranas imagens da quarta linha representa a contagem de cada elemento dentro de um inter-valo de tolerância. No exemplo da Figura 4.2 foram utilizados os seguintes parâmetros:N = 400, O.R.= 2, σ = 0.20, N.C.= 3, ∆R = 3.

No exemplo da Figura 4.2, o algoritmo proposto identificou de forma correta o va-lor de deslocamento temporal entre os pares do sinal VBR a partir da segunda janelaanalisada. Entretanto, nem todos os casos convergem rapidamente como o apresentado.Apesar do algoritmo proposto ser bastante simples, existem uma série de parâmetros quedevem ser configurados para maximizar seu desempenho. Esses parâmetros serão descri-tos na sequência.

Page 52: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 43

Figura 4.2: Resultado dos procedimentos para cada etapa do algoritmo proposto. N =400, O.R.= 2, σ = 0.20, N.C.= 3, ∆R = 3.

Tamanho de Janela N e Razão de Sobreposição O.R.

Considerando os requisitos de execução em tempo real do algoritmo proposto e autilização da função de correntropia para análise de semelhança entre séries temporais,escolhemos uma estratégia de janelamento que permite a utilização do estimador de cor-rentropia de forma paralela em pares de segmentos de tamanho N e sobrepostos com umarazão de sobreposição O.R.

Entretanto, tal método de janelamento limita a aplicabilidade do algoritmo se a dife-rença temporal absoluta entre o par de sinais VBR for superior a 2/3 do tamanho da janelaN. Dois fatores contribuem para esse comportamento: o primeiro está relacionado a vari-ação do parâmetro m que limitamos para o intervalo entre−2N/3 e 2N/3, o segundo está

Page 53: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 44

relacionado a estrutura paralela de segmentação do sinal em janelas, uma vez que cadapar de janela deve ter o mesmo início e fim para ambos os sinais.

Do ponto de vista probabilístico, existe uma relação intrínseca entre os parâmetrosN e O.R.. Para aumentar a probabilidade de uma classificação correta, devemos analisarapenas as janelas que estimam a diferença temporal corretamente. Entretanto, não existeuma método simples para realizar tal seleção. Nossa proposta é utilizar janelas sequen-ciais de tamanho N deslocadas N/O.R. amostras da janela anterior. Nesse contexto, econsiderando que a maioria do sinal VBR apresenta segmentos correlacionados, o parâ-metro O.R. tende a aumentar o número de bons segmentos analisados, criando candidatosmais confiáveis.

Nos sistemas de sincronização que operam em tempo real, o tamanho da janela e arazão de sobreposição desempenham papeis importantes na resposta do sistema para obterum valor de sincronização. Para cada estimativa da correntropia cruzada, é necessário umtempo equivalente a N/O.R. amostras para obter um conjunto de valores candidatos dedeslocamento temporal. Isso significa que o parâmetro O.R. pode diminuir o tempo deresposta do algoritmo sobretudo para janelas maiores.

Em relação a complexidade computacional, o método de janelamento escolhido operacom complexidade O(N ∗O.R.).

Intervalo de Tolerância ±∆R

Em alguns casos, a maioria dos candidatos extraídos das estimativas de correntropiacruzada revela o valor correto de deslocamento temporal. Entretanto, a distribuição dosvalores candidatos mostram que os valores considerados corretos se encontram dentrode um intervalo de tolerância pequeno. Logo, o consenso entre valores candidatos deveconsiderar um certo intervalo.

A ideia do parâmetro±∆R é separar os candidatos corretos dos outliers pelo intervalode sua distribuição. Esse valor é calculado empiricamente e um experimento demons-trando a influência do parâmetro ±∆R no algoritmo de classificação é demonstrado nopróximo capítulo.

Nível de Confiança C.L. e Número de Candidatos N.C.

O nível de confiança C.L. é um valor de saída do algoritmo que indica o grau de cer-teza do resultado da análise temporal. Logo, é uma medida de confiança da classificaçãoe representa um valor de referência que deve ser observado para considerar se a classifi-cação é confiável. O nível de confiança está relacionado ao parâmetro N.C. que indica a

Page 54: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 45

quantidade de candidatos extraídos de cada estimativa da correntropia cruzada, de modoque a probabilidade de estimar o valor de referencia correto decresce 1/N.C. para cadajanela analisada. No geral, o aumento do número de candidatos extraídos reduz o nível deconfiança do algoritmo. Por outro lado, um maior número de candidatos ajuda a incluiruma maior quantidade de candidatos corretos na estatística final.

O desenvolvimento do sistema de sincronização de vídeo baseado em sinal VBR, comprovável implementação em tempo real, representa o primeiro passo em direção a com-provação da hipótese formulada por esse trabalho, verificando se é possível realizar a sin-cronização de sinais multimídia distribuídos provenientes de várias fontes, seja presencialou pela Internet, com elevada precisão, com a utilização de ferramentas de aprendizadode máquina para criação de descritores temporais utilizados, especificamente, na sincro-nização de fluxos multimídia.

Entretanto, a generalização no contexto multimídia envolve a generalização do mé-todo para diferentes mídias como áudio, vídeo, legendas etc. Dessa forma, apresentare-mos na próxima seção um arquitetura baseada no espaço de Hilbert e em redes neuraisconvolucionais representando um segundo passo em direção a verificação da hipótese, deque além de vídeo é possível sincronizar áudio com sinais VBR.

4.2 Sincronização de Áudio Utilizando VBR, RKHS e CNN

A sincronização de áudio com sinais VBR repesenta o segundo passo para verifica-ção de nossa hipótese. Como mencionado no Capitulo 3, existem diversas aplicações quepodem se beneficiar com a aplicação de métodos de sincronia de áudio. Dentre essasaplicações, destacamos uma em que os requisitos temporais são mais elevados: a sincro-nização de instrumentos musicais que compõem uma música, representando um desafiopara sistemas de sincronização.

Através de avaliações experimentais, observamos que o método de classificação de-senvolvido no sistema proposto anterior não apresentou desempenho satisfatório quandoexperimentado com sinais VBR oriundos de instrumentos musicais. Observamos que ossinais VBR extraídos de instrumentos musicais são influenciados por diversas proprieda-des relacionadas a música, algumas dessas propriedades envolvem a percepção subjetivade um músico e podem gerar resultados de relação temporal equivocados quando analisa-dos sob a perspectiva de um classificador determinístico. Dessa forma, decidimos utilizaro espaço de reprodução de Hilbert por kernel (RKHS) para extração de característicase utilizar um método de classificação baseado numa rede neural convolucional treinadoatravés de sucessivas experiências com sinais VBR de natureza musical. Nota-se que,

Page 55: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 46

a fundamentação teórica acerca do RKHS está inclusa no Capítulo 2.2 tendo apenas al-guns conceitos apresentados sob uma ótica diferente nessa seção. Logo, descreveremos aextração de características através do espaço de Hilbert e apresentaremos os detalhes daarquitetura da rede neural convolucional.

Antes de introduzir o segundo sistema proposto, observamos que os sinais VBR oriun-dos de fluxos de áudio fazem intrisicamente uma subamostragem do sinal de áudio relativaao janelamento utilizado na codificação. Logo o primeiro hiperparâmetro de nosso algo-ritmo está relacionado ao tamanho do bloco utilizado na codificação do fluxo de áudio.Nessa Seção utilizaremos a nomenclatura normalmente utilizada para redes neurais emrelação ao termo hiperparâmetro para definir parâmetros do sistema proposto, enquantoque o termo parâmetro está associado aos parâmetros das funções que compõe o modeloda rede neural e serão apreendidos no decorrer do treinamento.

Considere x e y variáveis aleatórias que representam amostras de sinais VBR de doisinstrumentos musicais distintos. A matriz do kernel K de tamanho N × N é obtida atravésda Equação

K := (k(xi,y j))i j (4.2)

onde k é a função de kernel, x1, ..., xN ∈ X e y1, ..., yN ∈ Y representam o par de sinaisVBR de tamanho N, nesse caso N é um hiperparâmetro do sistema proposto. Tambémobservamos que a matriz de kernel está correlacionada com a medida de correntropia. Amedida de correntropia é uma medida de valor esperado realizada sobre pontos de umespaço de Hilbert para cada deslocamento m. A medida de valor esperado representa umamédia dos valores de correntropia para cada deslocamento constante, ou seja, para cadadeslocamento m, calcula-se a média de todos os pontos. Tal operação equivale a calcular amédia das diagonais principais j = ai da matriz de kernel K, onde cada diagonal equivalea um deslocamento m, sendo a diagonal principal m = 0, diagonais acima ou abaixo dadiagonal principal equivalem a m > 0 e m < 0 respectivamente.

A matriz de kernel, diferentemente da medida de correntropia que realiza a operaçãode média sobre pontos do RKHS, pode indicar o correto valor de deslocamento através daobservação da matriz de kernerl K como uma imagem, em que apresenta padrões visuaiscomposto por faixas verticais e horizontais bem como pontos escuros e claros que indicama relação temporal entre esses sinais.

No entanto, a relação temporal entre esses sinais refletida nas imagens obtidas atravésda matriz de kernel não apresentam características semelhantes sobretudo se consideradaa diversidade de sinais VBR que podem ser obtidos através da análise entre instrumentos

Page 56: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 47

musicais. Para tentar amenizar o efeito dessa diversidade, nós geramos a matriz de kernel

média, que representa uma média entre matrizes de kernel geradas com sinais oriundosde N.B. janelas, onde N.B. é um hiperparâmetro que indica a quantidade de blocos desinal VBR utilizados para gerar a matriz de kernel média. A ideia principal é conservaras características temporais equivalentes em todas as janelas e atenuar as característicaslocais para cada janela do sinal. A Figura 4.3 ilustra a matriz de kernel para um conjuntode janelas de sinais VBR. Com base em alguns experimentos, observamos que algumascombinações podem ser sincronizadas com o valor de σ baixo, e outras com o valor deσ mais elevado. Logo, decidimos utilizar uma estratégia de multi-resolução variando ovalor do σ para construir três matrizes de kernel com valores de σ diferentes resultandonuma matriz formada por [Kxyσ=0.1,Kxyσ=1,Kxyσ=10].

Um exemplo da matriz de kernel calculada com σ = 1.0 está ilustrada na Figura 4.3.

Figura 4.3: Matriz de Kernel Hsxy

Para classificar as características temporais na matriz de kernel, utilizamos uma redeneural convolucional. O motivo principal que fundamenta a utilização das redes neuraisnesse problema está no fato de que tais características temporais podem ocorrer de formavariada a depender dos dados de entrada. Na Figura 4.3, observamos uma diagonal prin-cipal que indica a relação temporal entre os dois sinais. Entretanto, a relação temporalentre os sinais nem sempre se reflete em linhas diagonais, mas pode se manifestar atravésde manchas claras ou escuras, linhas diagonais, encontro de linhas horizontais e verticais,entre outros. Isso requer um método que seja capaz de aprender com a experiência em umconjunto de dados. Além do que, as matrizes de kernel representam um espaço de Hilbertnão linear, necessitando a utilização de métodos capazes de lidar com características nãolineares.

Arquitetura da Rede Neural Convolucional

A Tabela 4.1 indica a arquitetura geral do sistema proposto, bem como os hiperpa-râmetros utilizados para cada camada da rede convolucional, como o tamanho do filtro,

Page 57: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 48

funções de agrupamento, normalização do batch, função de ativação e dimensões da saída.Os valores dos hiperparâmetros foram configurados por tentativa e erro através de suces-sivas experiências.

Tabela 4.1: Arquitetura da rede neural convolucional para N = 256, N.B = 64# Tipo de Camada Tamanho do Filtro Agrupamento N.B F.A Dimensões de Saída0 Entrada - - - - [64 x 256 x 2]

1Convolucional

(x and y)x: [1 x 8]y: [1 x 8] - - - [64 x 256 x 2]

2 RKHS - - - - [256 x 256 x 3]3 Convolucional [9 x 9 x 3 x 32] [1, 2, 2, 1] y ReLU [128 x 128 x 32]4 Convolucional [5 x 5 x 32 x 64] - - ReLU [128 x 128 x 64]5 Convolucional [5 x 5 x 64 x 96] - - ReLU [128 x 128 x 96]6 Convolucional [5 x 5 x 96 x 96] [1, 2, 2, 1] y ReLU [64 x 64 x 96]7 Convolucional [3 x 3 x 96 x 64] [1, 2, 2, 1] y ReLU [32 x 32 x 64]8 Densa [65536, 1024] - - ReLU [1024]9 Softmax [1024, 176] - - - [176]

Observamos que a arquitetura descrita na Tabela 4.1 utiliza N.B.= 64 janelas de N =

256 amostras do sinal VBR para calcular uma matriz de kernel média de três dimensõesformada por [Kxyσ=0.1,Kxyσ=1,Kxyσ=10].

Com o intuito de processar a combinação de sinais x e y separadamente, projetamosa camada convolucional de número 1 com o intuito de aplicar uma operação de filtro emcada sinal individualmente. Note que os sinais x e y na primeira camada são unidimen-sionais e uma convolução com filtro unidimensional sobre esses sinais representa umaconvolução no tempo. De modo a preservar a estrutura dos sinais no início do treina-mento, configuramos a camada 1 para realizar uma operação de média local. Ou seja,os pesos são inicialmente ajustados com um valor fixo equivalente a 1/S onde S é o ta-manho do filtro de convolução. Nesse caso, cada elemento da saída, desconsiderando asregiões de início e fim do sinal, é composto pela média dos S elementos vizinhos. Ospesos da camada 1 são alterados pelo algoritmo de aprendizagem conforme a evolução dotreinamento.

Após a primeira camada convolucional que é aplicada individualmente em cada si-nal, calculamos as matrizes de kernel através da camada de número 2. A partir desseponto, as características temporais estão representadas de uma maneira espacial e sujei-tas a arquiteturas de reconhecimento de padrões de imagens. E para efetuar uma corretaclassificação dos padrões temporais nós empregamos uma rede neural convolucional com5 camadas convolucionais com função de ativação ReLU. A camada número 3 é do tipoconvolucional que opera com 32 filtros de tamanho 9× 9, normalização de batch e fun-ção de agrupamento com razão [1,2,2,1] que é aplicada as dimensões de largura e alturada imagem, ou seja, a saída da camada de número 3 apresenta metade das dimensões deentrada para a largura e altura da imagem. As camadas convolucionais de número 4, 5, e

Page 58: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 49

6 operam com 64, 96 e 96 filtros de tamanho 5×5 respectivamente. Das camadas 4, 5 e6, apenas a camada 6 aplica a função de agrupamento. A camada número 7 tem filtro detamanho 3×3 e um total de 64 filtros.

A configuração das camadas 4, 5 e 6 com filtros do mesmo tamanho e sem função deagrupamento entre elas resulta no aumento das características das propriedades das cama-das convolucionais sem obter a redução na dimensão da matriz, o que também resulta nanão redução da precisão do resultado, visto que a redução de tamanho da matriz de carac-terísticas eventualmente reduz a precisão do alinhamento temporal. Logo, a resolução dascaracterísticas temporais na matriz de kernel decresce após cada função de agrupamento.

Na sequência das camadas convolucionais, aplicamos uma camada densa com 1024unidades e função de ativação ReLU e dropout com uma taxa de 0.5. O número de classesde saída equivale a duas vezes o valor máximo de deslocamento entre os sinais VBR. Noteque a dimensão de saída da rede neural varia de acordo com o tamanho do bloco do sinalVBR que é analisado N, e o número total de blocos que é extraído de forma aleatória N.B.

Todos os parâmetros são inicializados com o método Xavier (Glorot & Bengio 2010).Além das camadas convolucionais e densas, aplicamos a camada de softmax para conver-ter as predições da rede para uma função de densidade de probabilidade.

Para treinar a rede neural utilizamos o otimizador Adam, que é um algoritmo de oti-mização baseado no gradiente de ordem superior de funções estatísticas baseado em esti-mativas de baixa ordem. Tal método também é apropriado para funções não estacionáriase problemas com ruídos e gradientes esparsos (Kingma & Ba 2014). A função de custo,cujo o otimizador deve minimizar é a função de entropia cruzada entre a saída da rede,que após a camada softmax equivale a uma densidade de probabilidade, e os valores dereferência que são codificados com a codificação one-hot. Ou seja, o vetor de saída, queindica o valor correto de deslocamento através de seu máximo global, é treinado paraaproximar um vetor cujo único valor diferente de zero é o valor de deslocamento comvalor 1.0. Nesse caso, o vetor de referência utilizado para treinar a rede é também umafunção de densidade de probabilidade que indica o valor de deslocamento correto com100% de probabilidade.

4.3 Sincronização de Áudio Utilizando Espectrograma eLSTM

O método de sincronização para sinais VBR propostos levam em conta que o fluxoesteja codificado com um codificador de taxa de saída de bit variável. No caso dos codifi-

Page 59: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 50

cadores para os sinais de áudio, o método de compressão envolve o janelamento do sinalde áudio resultando numa amostra do sinal VBR para cada janela, que resulta num sinalsub-amostrado na razão do tamanho da janela. Enquanto tal subamostragem, como vere-mos no próximo capítulo, não apresenta problema para o método proposto anteriormente,devemos considerar que a sub-amostragem desses sinais apresenta uma grande perda noconteúdo espectral, impossibilitando a sincronização de fontes musicais que devem sersincronizadas a partir características musicais como as notas de um arranjo.

Observamos também que a transmissão de áudio bruto ocupa uma largura de bandamuito pequena se comparada a transmissão de vídeos. Logo, é bastante comum a trans-missão de áudio bruto sobretudo para aplicações profissionais que requerem a perfeitarepresentação do sinal. Logo, a sincronização de sinais de áudio, sobretudo considerandoa aplicação da sincronização de instrumentos musicais distintos, pode ser realizada atra-vés de uma análise do áudio bruto sem maiores problemas em relação aos requisitos deum sistema distribuído em rede.

Com os mesmos motivos do método proposto anteriormente, decidimos utilizar umarede neural para extrair características específicas do sinal de áudio para a sincronizaçãode conteúdo musical. No contexto das redes neurais, a literatura descreve arquiteturasespecíficas para tratar séries temporais, uma dessas arquiteturas é a LSTM cujo a funda-mentação teórica foi apresentada no Capítulo 2.3.4. A Figura 4.4 apresenta a arquiteturado terceiro sistema proposto e as particularidades do sistema são discutidas em seguida.

Através da Figura 4.4, podemos observar que a arquitetura da rede neural é formadapor dois ramos que codificam as entradas individualmente com o objetivo de extrair umconjunto de características temporais uteis para sincronização, e por um ramo único res-ponsável pela correlação temporal entre essas características afim de se obter uma funçãode probabilidade do deslocamento. Note que, cada ramo inicial é treinado para extraircaracterísticas de seus respectivos instrumentos, logo cada ramo contém uma rede únicacom pesos próprios.

Ramos Codificadores

No ramo codificador, a ideia é transformar a sequencia de áudio bruto numa represen-tação de alta dimensão estatística através do logaritmo de espectrograma mel seguido deuma rede neural recorrente baseada na arquitetura LSTM bidirecional e redes densas. Oespectrograma mel representa um conjunto de características espectrais de uma sequênciade áudio bruto distribuídos em uma matriz bidimensional, sendo uma dimensão associadaao tempo N e outra dimensão associada ao logaritmo das faixas de frequência do filtro

Page 60: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 51

Figura 4.4: Arquitetura da Rede Neural

mel, a qual chamamos de dimensão das características.A quantidade de intervalo de tempo N gerado pela operação de extração do logaritmo

do espectrograma mel permanece a mesma por toda a sequência. Logo, as camadas Bi-LSTM são configuradas para apresentar a saída com a mesma quantidade de intervalosde tempo da entrada, uma vez que as camadas densas são replicadas para cada intervalode tempo N. A quantidade de características são geralmente alteradas no decorrer da redeneural. No nosso trabalho, empregamos as camadas Bi-LSTM para aumentar a dimen-sionalidade das características, e as camadas densas para reduzir a dimensionalidade dascaracterísticas.

Matriz de Custo e Média de Diagonais

Na sequência dos ramos codificadores é aplicada uma camada que gera uma matriz decusto C ∈ RN×M, em que

C(n,m) = ‖(xn− ym)2‖. (4.3)

A matriz de custo, assim como a matriz de kernel utilizada no sistema proposto ante-

Page 61: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 52

rior, é capaz de transformar características temporais em padrões espaciais. A ideia quefundamenta a utilização da matriz de custo é derivada do método de alinhamento de sériestemporais DTW.

O DTW, apesar de eficiente, é normalmente calculado através do uso de programaçãodinâmica, o que implica na não diferenciabilidade e limita seu uso em arquiteturas deredes neurais que utilizam o algoritmo de propagação reversa para treinamento. Recente-mente, Cuturi e Blondel (Cuturi & Blondel 2017) demonstraram um algoritmo chamadoSoft-DTW que utiliza modificações na recursão de Bellman para apresentar comporta-mento diferenciável. Entretanto, assim como no algoritmo DTW, o Soft-DTW é imple-mentado com passos sequenciais baseado em programação dinâmica, resultando numacomplexidade computacional de O(NM). Tal complexidade elevada resulta num desem-penho insatisfatório para valores altos de N e M se comparado aos algoritmos implementa-dos com redes neurais. Além disso, tanto o DTW quanto o Soft-DTW requerem condiçõesiniciais para o algoritmo de programação dinâmica, como p1 = (1,1) and pL = (N,M),indicando que as séries temporais devem estar alinhadas no início e fim da sequência dajanela, o que nunca é satisfeita no nosso caso.

Por esse motivo, decidimos utilizar uma abordagem mais simplista para lidar com amatriz de custo C. Considerando que estamos mais interessados em encontrar um únicovalor de referencia temporal entre duas sequências ao invés de calcular um conjunto devalores de alinhamento, podemos observar apenas o valor médio de cada diagonal princi-pal da matriz C.

Dessa forma, a média de cada diagonal da matriz C resulta numa média de custo dadapor

cd(X ,Y ) =1L

L

∑i= j=1

c(xi+d,y j), (4.4)

onde d é a diagonal que se encontra no intervalo [−N,M], L = min(N−|d|,M−|d|) é onúmero de elementos na diagonal d. Note que a quantidade de valores que compõem amédia da diagonal decresce quando d se aproxima de N ou M, resultando numa medidade média pobre. Logo, estimamos as médias das diagonais D(d) onde d varia no intervalo[−N/2,1+M/2] através da Equação

D(d) = cd(X ,Y ) ∀d ∈ [−N/2,1+M/2]. (4.5)

A implementação para calcular o valor médio das diagonais fica encapsulada na ca-mada DiagMean. O valor médio de cada diagonal é então convertido para uma função de

Page 62: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 4. SISTEMAS PROPOSTOS 53

probabilidade através da função de ativação softmax. Logo, as predições da rede neuralque propomos para esse sistema apresentam uma função de probabilidade dos valores dedeslocamento.

Vetores de Referência Gaussianos

Nessa abordagem, nós treinamos a rede neural para aproximar uma função de proba-bilidade. Logo, esperamos que os valores de referência que a rede deve aproximar atravésdo processo de treinamento também representem uma função de probabilidade. Geral-mente em sistemas de classificação por categorias, os vetores de referência são codifica-dos com o método one-hot, indicando que uma das categorias tem 100% probabilidadede ser a categoria correta e as demais categorias 0%.

Enquanto o método one-hot de codificação do vetor de referência se provou bastanteeficaz em sistemas de classificação, existem algumas situações em que se faz necessárioexplorar diferentes métodos para codificação do vetor de referência quanto a função deprobabilidade que a rede deve aproximar. No nosso caso, a falta de sincronização inerentea execução musical por parte de um ser humano pode induzir uma variação no valor dedeslocamento. Nesse contexto, o vetor de referência pode ser codificado através de umadistribuição Gaussiana em que a média equivale ao valor de deslocamento de referência ea largura da distribuição pode ser ajustada de acordo com a variação esperada do valor dedeslocamento.

Nós observamos que aumentando a largura da distribuição dos vetores de referênciaprovoca uma redução da capacidade da rede neural e ajuda a prevenir overfitting. Essahipótese será posteriormente discutida na apresentação dos resultados experimentais.

Page 63: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Capítulo 5

Resultados Experimentais

Nesse capítulo descreveremos uma sequência de experimentos realizados para com-provar a hipótese de que é possível realizar a sincronização de sinais multimídia distri-buídos provenientes de várias fontes com a utilização de ferramentas de aprendizado demáquina para criação de descritores temporais utilizados, especificamente, na sincroniza-ção de fluxos multimídia. Nesse contexto, iniciaremos com os experimentos relacionadosa utilização do Sinal VBR como descritor temporal para sincronização, e em seguida apre-sentaremos os experimentos realizados com os sistemas propostos no capítulo anterior.

Os experimentos relacionados aos testes iniciais com os sinais VBR de áudio e vídeobem como o primeiro sistema proposto foram realizados no Matlab. Nesses experimentostambém foi utilizado aceleração de hardware, através da biblioteca OpenCL, para calcularos estimadores de correntropia de forma mais eficiente. Esses experimentos foram reali-zados em um laptop com processador i5-6300HQ, placa de vídeo NVIDIA GTX-960m e16gb de memória RAM.

Em relação aos experimentos dos sistemas propostos que envolvem redes neurais, uti-lizamos o framework tensorflow e a biblioteca keras que provê recursos interessantes paraimplementação de redes neurais com diversas arquiteturas e com suporte de aceleraçãode hardware. Nesses experimentos, utilizamos uma estação de trabalho com processadorRyzen 2600x, placa de vídeo NVIDIA GTX 1070ti e 16gb de memória RAM.

Para os primeiros experimentos relacionados aos sinais VBR oriundos do fluxo deáudio foi utilizado um conjunto de dados Bach10 que contém 10 peças musicais do com-positor Bach tocadas por quatro instrumentos: fagote, clarinete, saxofone e violino. Paraos experimentos iniciais com sinais VBR oriundos de fluxos de vídeo foi utilizado umvídeo UHD intitulado Sintel no primeiro experimento e vídeos do conjunto de dados Cor-

Cor+ no segundo experimento.

Page 64: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 55

5.1 Sinal VBR - Vídeo Dividido em Quadrantes

Neste experimento será avaliado o uso da correntropia para sincronia de vídeos sepa-rado em quadrantes. Ou seja, um vídeo comum é dividido em quatro quadrantes menoresa fim de distribuir a carga de processamento entre vários computadores, cada computadorprocessa e exibe um quadrante do vídeo que depois é unido aos outros de forma física,através da junção de televisões ou projetores.

Em particular a sincronização de vídeo separados em quadrantes apresenta uma vanta-gem, isto porque os quadrantes de um vídeo apresentam o mesmo movimento de câmerae apesar dos movimentos que podem ocorrer individualmente nos quadrantes, eles nor-malmente compartilham o mesmo corte de cena.

O codificador de vídeo utilizado no experimento foi o h264 que, como mencionadoacima nesse trabalho, é um codificador VBR. Entretanto, existem alguns parâmetrosde controle do codificador que, quando ajustados, promovem um melhor percentual deacerto, sendo eles:

• Nível de quantização mínimo (qmin): nesse experimento utilizamos o valor 40como nível de quantização mínimo.• Nível de quantização máximo (qmax): nesse experimento utilizamos o valor padrão

de 40, ajustando o qmax para o mesmo valor de qmin faz com que o processo dequantização dinâmica não influencie no sinal VBR, e consequentemente a únicacomponente observada no sinal VBR equivale a codificação dos vetores de prediçãode movimento.• Quantidade de B-frames (bf): ajustando esse valor para 0 impõe a utilização de ape-

nas P-frames, que são utilizados para transmitir vetores de predição de movimentopara cada frame baseado nos frames anteriores.• Intervalo máximo entre keyframes (GOP): nesse experimento o valor do GOP foi

ajustado para um valor bastante elevado, 100000, afim de garantir que o codificadornunca seja forçado a utilizar um keyframe durante os experimentos.• Intervalo mínimo entre keyframes (keyint_min): o valor de intervalo mínimo entre

keyframes foi ajustado para um valor elevado, 10000, afim de impedir o codificadorde utilizar keyframes durante o experimento.

O vídeo utilizado nesse experimento foi o Sintel que tem taxa de frame equivalentea 24 f ps. A imagem de cada frame foi dividida em 4 partes iguais e codificadas indivi-dualmente, e fora o primeiro quadrante que servirá de referência, foi aplicado um atrasotemporal quantificado em segundos nos demais. No segundo quadrante foi adicionado

Page 65: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 56

um atraso de 0.5s, o equivalente a 12 frames, no terceiro quadrante foi adicionado 1s

de atraso, o equivalente a 24 frames, e no quarto quadrante foi adicionado um atraso de1,5s, equivalente a 36 frames. Como cada frame equivale a uma amostra do sinal VBR, odeslocamento temporal dos frames equivale a um deslocamento temporal equivalente nasamostras do sinal VBR.

Os quatro quadrantes utilizados são ilustrados na Figura 5.1, e a tabela 5.1 associacada quadrante a uma combinação.

Figura 5.1: Identificação dos quadrantes de um vídeo

Tabela 5.1: Combinações entre os quadrantesQ. 1 Q. 2 Q. 3 Q. 4

Q. 1 - c. 1 c. 2 c. 3Q. 2 - c. 4 c. 5Q. 3 - c. 6Q. 4 -

A Figura 5.2 ilustra os quatro sinais VBR extraídos do fluxo de vídeo de cada qua-drante, e visualmente é possível observar que existe uma semelhança entre os sinais. En-tretanto, existem diferenças de movimento em cada quadrante que contamina o sinal VBRcom um ruído aleatório, o que dificulta a medida de correlação temporal entre esses sinais.

O resultado médio da medida da estimação da correntropia cruzada de cada combi-nação dos sinais apresentados acima está demonstrado na Figura 5.3, essa medida foirealizada utilizando 15 janelas de 350 elementos e com σ = 0.1. A presença dos picos namédia da estimação de correntropia cruzada indicam a relação temporal entre os fluxosde cada quadrante.

Conclui-se que a medida da estimação de correntropia cruzada é capaz de calcularcorretamente a relação temporal entre os sinais VBR extraídos de cada quadrante.

Page 66: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 57

Figura 5.2: Sinal VBR extraído da codificação de cada quadrante do vídeo Sintel

5.2 Sinal VBR - Vídeo de Diferentes Câmeras

Esse experimento é bastante semelhante ao experimento anterior, entretanto as ima-gens que serão sincronizadas são gravadas por câmera distintas que captam o movimentoda cena de lugares diferentes, o que aumenta a complexidade do problema, uma vez queos movimentos quando visto de ângulos distintos podem não ser correspondentes preju-dicando a caracterização do sinal VBR em alguns momentos.

A Figura 5.4 ilustra a natureza dos sinais VBR extraído de câmeras diferentes, essessinais embora pareçam semelhantes, estão contaminados por um ruído aleatório decor-rente da diferença física entre as câmeras (ex. sensor, algoritmo de processamento deimagem etc), e do posicionamento físico das câmeras, que por perceber o movimento dacena de forma diferente, introduz variações aleatórias no sinal VBR.

Foram verificados de maneira manual, que esses vídeos possuem uma relação tem-poral dada por (0,−3,1,4) frames, e a Tabela 5.2 sintetiza a relação temporal entre ascombinações possíveis dos vídeos das quatro câmeras utilizadas.

O resultado médio do cálculo da estimação de correntropia cruzada para as combina-ções descritas na Tabela 5.2 está demonstrado na Figura 5.5, onde podemos observar a

Page 67: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 58

Figura 5.3: Média da CCC para todas as janelas

Figura 5.4: Sinal VBR extraído de várias câmeras que filmam uma mesma cena

Page 68: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 59

Tabela 5.2: Combinações entre câmeras e seus relativos valores de offsetrel. temporal Câmera 1 Câmera 2 Câmera 3 Câmera 4

Câmera 1 0 c.1 / 3 c.2 / -1 c.3 / -4Câmera 2 - 0 c.4 / -4 c.5 / -7Câmera 3 - - 0 c.6 / -3Câmera 4 - - - 0

presença de picos que determinam a relação temporal entre os sinais VBR.

Figura 5.5: Média da CCC para todas as janelas analisadas

A Figura 5.5 ilustra a capacidade de encontrar uma relação temporal entre os sinaisutilizando uma medida de correntropia, mesmo quando estes sinais se originam de câme-ras distintas.

5.3 Sinal VBR - Áudio do Mesmo Instrumento Musical

O primeiro experimento foi realizado utilizando um sinal de áudio oriundo de uminstrumento musical que foi replicado, e para cada réplica foi inserido atraso numa quan-tidade de amostras definidas (15000,20000,40000), equivalente a um deslocamento tem-poral de (34ms,45ms,90ms), para uma frequência de amostragem 44100Hz. Através da

Page 69: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 60

observação de seu comportamento, tanto visualmente quanto pela estimatica da corren-tropia cruzada, é possível perceber que os atrasos inseridos se manifestam no sinal VBRe podem ser observados estatisticamente. A Figura 5.6 ilustra os sinais de áudio atrasa-dos e os respectivos sinais VBR. Convém observar que para cada janela codificada, umaamostra do sinal VBR é obtida, e para uma janela que contém 1152 amostras, os atrasosinseridos no sinal de áudio equivalem a aproximadamente (13,17,35) amostras do sinalVBR.

Figura 5.6: Sinais de áudio com atraso e respectivos sinais VBR

A Figura 5.7 demonstra a média dos resultados da estimação da correntropia cruzadadefinida para processo estocásticos (VX ,Y ) de todas as janelas analisadas.

Os resultados apresentados na Figura 5.7 demonstram a capacidade de se correlacio-nar sinais VBR de áudio e encontrar uma referência temporal que os caracterizam. Comoa codificação é realizada em janelas igualmente definidas do sinal de áudio, o desloca-mento temporal de amostras não equivale a um deslocamento direto do sinal VBR. Defato, os níveis de entropia de uma janela são propagados para as janelas posteriores demaneira não uniforme, diferente do que acontece nos sinais de vídeo. Entretanto, os re-sultados experimentais indicam que o sinal VBR continua sendo caracterizado pelo sinalde áudio e é passível de uma análise de correlação temporal, sendo a resolução da análiseigual uma amostra do sinal VBR, o que nesse caso equivale a 1152 amostras do sinal de

Page 70: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 61

Figura 5.7: Média da CCC para todas as janelas e histograma

áudio, ou 2,6ms para uma frequência de amostragem de 44100Hz.

5.4 Sinal VBR - Áudio de Instrumentos Musicais Distin-tos

O segundo experimento realiza as mesmas análises do experimento anterior sob sinaisde áudio distintos obtidos de diferentes instrumentos musicais: fagote, clarinete, saxofonee violino. Nesses áudios foram inseridos atrasos da ordem de (0,15000,20000,40000)amostras, equivalente a (0ms,34ms,45ms,90ms) para uma frequência de amostragem de44100Hz.

As 6 combinações possíveis de análise para os sinais descritos na Figura 5.8 estãodescritas na tabela 5.3 e seus offsets para valores positivos são descritos no formato[milissegundos/amostras].

Tabela 5.3: Combinações possíveis para os 4 áudios analisadosComb. Fagote Clarinete Saxofone ViolinoFagote 0ms 34ms / 13a. 45ms / 17a. 90ms / 34a.

Clarinete - 0ms 11ms / 4a. 56ms / 21a.Saxofone - - 0ms 45ms / 17a.Violino - - - 0ms

Os sinais de áudio de cada instrumento e os consequentes sinais VBR são ilustradosna Figura 5.8.

A Figura 5.9 ilustra o resultado médio obtido para estimação de correntropia cruzada(VX ,Y ) sob cada combinação possível entre os sinais apresentados. Novamente para esse

Page 71: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 62

Figura 5.8: Sinais de áudio de diferentes instrumentos com atraso e respectivos sinaisVBR

cálculo foram utilizadas 9 janelas de 100 elementos cada.Como demonstrado nesse experimento através da Figura 5.9, a correntropia cruzada

obteve uma razão de acerto de 6/6 para os atrasos inseridos em sinais de áudio distintos,onde o valor máximo das curvas apresentadas na Figura 5.9 equivalem aos valores deatraso inseridos no áudio de cada instrumento.

Os experimentos dessa seção demonstram que os sinais VBR são passíveis de umaanálise de correlação temporal através do uso da correntropia. Entretanto, identificamosque a correntropia não apresenta bons resultados sobretudo se considerado um conjunto dedados maior. No capítulo anterior, apresentamos um sistema proposto que utiliza RKHSe redes neurais para classificar sinais VBR oriundos de sinais de áudio de diferentes ins-trumentos musicais e avaliaremos o seu desempenho ainda nesse capítulo.

5.5 Sincronização de Vídeo VBR com Correntropia

Nessa seção apresentaremos os experimentos e os resultados que demonstram o de-sempenho do nosso sistema proposto para sincronização de vídeo através de uma análise

Page 72: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 63

Figura 5.9: Média da CCC para todas as janelas

temporal com a utilização da função de Correntropia. De inicio descreveremos o con-junto dos dados utilizados, posteriormente o processo de geração do sinal VBR e por fimos resultados obtidos quantitativos e qualitativos.

Para esses experimentos verificamos para todos o conjunto de dados a quantidade decombinações em que o algoritmo classificou o deslocamento temporal corretamente esintetizamos esse valor em uma porcentagem de acerto, ou acurácia do algoritmo para oconjunto de dados utilizado.

5.5.1 Conjunto de Dados

Para os experimentos descritos nessa seção, será utilizado o conjunto de dados Con-

Cor+ (Al-Nuaimi et al. 2012a). Tal conjunto de dados contém 39 cenas gravadas comduas a seis câmeras não sincronizadas, onde algumas dessas cenas contém imagens feitascom câmeras fixas e câmeras na mão e sobre diferentes pontos de vista, totalizando 137combinações possíveis. O valor de referência para cada combinação é fornecido junta-mente com o conjunto de dados onde foi verificado manualmente para cada combinação.

Page 73: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 64

5.5.2 Geração do Sinal VBR

Cada vídeo do conjunto de dados é codificado com o codificador libx264 com todos osparâmetros no valor padrão exceto QP = 51, sem utilização de B-frames, e GOP = 499.A partir do fluxo codificado, o sinal VBR é extraído através do software ffprobe onde seanalisa o tamanho de cada frame medido em bytes.

Entretanto, o conjunto de dados contém sinais que são demasiadamente curtos comcerca de 179 amostras, ou bastante longos com 10091 amostras. Tal variação introduz umproblema fundamental que está relacionado ao valor máximo de deslocamento que podeser analisado e o tamanho da janela escolhida, que deve ser menor que o tamanho do sinalpara garantir que ao menos uma janela seja analisada. Nesse contexto, desenvolvemosuma heurística simples para lidar com a variação do tamanho dos sinais VBR.

Considere L o comprimento mínimo dos sinais que formam uma combinação, po-demos definir um valor constante N.R. que indica a quantidade de janelas que deve sersegmentada para cada combinação. Logo, o valor do tamanho da janela N pode ser cal-culada por

N =L

N.R.. (5.1)

A Equação 5.1 garante que o tamanho da janela N escolhido seja sempre menor doque o tamanho do sinal L. Logo, N.R. indica a quantidade de janelas que serão segmen-tadas sem levar em consideração nenhuma sobreposição entre as janelas. Considerando oparâmetro O.R., a quantidade de janelas de cada combinação é calculada por

N.Ws =L

N.R.∗OR. (5.2)

Mesmo com a heurística apresentada acima, ainda existem restrições para algumascombinações que impedem a sua análise. Por exemplo, a cena RockI do conjunto de dados(Al-Nuaimi et al. 2012a) é composta por um sinal a de comprimento La = 1379 amostras,e um sinal b com Lb = 515 amostras. O valor de referência indicado pelo algoritmo paraessa combinção é de −999. Nesse caso, nosso método de janelamento impede que ossinais sejam correlacionados temporalmente uma vez que o valor de referência é maiorque o tamanho máximo de um dos sinais. Para tornar a análise mais justa, exemplos comoesses são desconsiderados do conjunto de dados. A Tabela 5.4 sintetiza a quantidade decombinações analisadas para cada valor de N.R.

Page 74: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 65

Tabela 5.4: Número de combinações analisadas para cada valor de N.R.N.R. 3 4 6 8 10 14 15 20n. de

Combinações 117 110 94 83 75 70 69 63

5.5.3 Resultados

Nessa seção, apresentaremos os resultados quantitativos na forma da taxa de acertomedida através da contagem de combinações classificadas corretamente dividido pelaquantidade de combinações possíveis em função dos parâmetros σ e N.R.. A taxa deacerto para esses parâmetros está ilustrada na Figura 5.10. Consideramos correto umatentativa de classificação se o deslocamento estimado estiver até duas unidades de valorabsoluto do valor de referência.

Figura 5.10: Acurácia em Função de σ e N.R.; O.R.= 4, ±∆R = 2, N.C.= 3.

Podemos fazer algumas observações importantes acerca da Figura 5.10. Primeiroobservamos que o parâmetro σ mostrou resultados melhores para valores acima de 1.0,o que indica que as estatísticas de segunda ordem não contribuem de forma dominantena correta classificação temporal. De fato, a largura da distribuição projetada pelo kernel

Kσ(x,y) se torna menor conforme o valor do σ decresce. Logo, a diferença (x− y) setorna mais sensível para valores com média próximas, fazendo com que o parâmetro σ

Page 75: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 66

seja bastante relacionado com as características dos sinais.Existem estudos no campo da Estimação da Densidade do Kernel que sugerem a uti-

lização do valor de σ variável, baseado no comportamento do sinal. Em particular, parafunções Gaussianas, a regra de Silverman é um método bastante utilizado na estimaçãoda largura de banda da distribuição (Silverman 1986). No entanto, a regra de Silverman

pode resultar em estimativas pobres se a distribuição das amostras não se aproximar deuma Gaussiana com média fixa, o que não pode ser garantido para os sinais VBR.

Apesar do fato de que a medida de correntropia quando utilizada no algoritmo declassificação proposto apresentou uma taxa de acerto maior para σ ≥ 1.0, valor para oqual a função de correntropia apresenta comportamento semelhante a da correlação, nãoindica que a correlação obterá também um resultado semelhante. De fato, observamos quea classificação de combinações de sinais VBR utilizando a função de correlação comomedida de similaridade apresentou uma taxa de acerto inferior como demonstrado naTabela 5.5.

Tabela 5.5: Comparação da taxa de acerto entre a função de Correlação e Correntropia;O.R.= 4, ±∆R = 4, N.C.= 3.

Função min avg maxCorrentropia 34% 59% 81%Correlação 14% 33% 62%

Como podemos observar na Tabela 5.5, a função de correntropia apresentou resul-tados melhores na classificação de pares de sinal VBR. Entretanto, mesmo o resultadode correntropia apresentou uma grande diferença entre o valor médio e o valor máximoda taxa de acerto, significando que o algoritmo ainda pode ser melhorado com outrasheurísticas para controlar os parâmetros que foram fixados.

A análise dos resultados sob a perspectiva do parâmetro N.R. indica que certa com-binação pode ser classificada corretamente para um valor específico de N.R.. Variando ovalor de N.R. de acordo com a Tabela 5.4, obtivemos uma taxa de acerto de 72% com 84das 117 combinações classificadas corretamente.

Os resultados obtidos e apresentados nessa seção são equivalentes aos resultados ob-tidos pelo método do estado da arte (Al-Nuaimi et al. 2012a), algumas consideraçõesdevem ser feitas ao comparar ambos os métodos.

Comparação com o Estado da Arte

O algoritmo descrito por Al-Nuaimi (Al-Nuaimi et al. 2012a) intitulado ConCor+

apresenta resultados muito bons ao determinar o deslocamento temporal entre fluxos de

Page 76: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 67

vídeo armazenados em disco, e não encontramos nenhuma menção à aplicação de tal mé-todo num cenário de sincronização online em tempo real. Nesse contexto, consideramosque a estratégia de janelamento utilizada no ConCor+ necessita de uma simplificaçãopara ser utilizada num contexto de aplicações em tempo real.

A ideia do algoritmo ConCor+, em relação à sua estratégia de janelamento, é dividirum dos sinais em segmentos bi de tamanho M, e correlacioná-los individualmente comtodo o sinal a, conforme descrito através da Equação 5.3.

bi(t) =

b(t) : (i−1)M ≤ t < iM

0 : else(5.3)

ci(∆t) = ∑t

a(t +∆t)b∗i (t) (5.4)

Posteriormente, a correlação cruzada é computada para cada segmento ci e são combi-nadas através do algoritmo RANSAC. Enquanto efetivo, tal método de janelamento apre-senta complexidade O

(t ∗∆t ∗Lb/M

), onde Lb é o comprimento do sinal b. Logo, o termo

Lb/M representa a quantidade de segmentos i em que o sinal b é dividido. Note que t = M

e ∆t = La, logo a complexidade de tal método em relação a função de janelamento é

O(

La ∗Lb

). (5.5)

Em comparação, a complexidade computacional do sistema proposto é O(N ∗O.R.).Quando tal sistema é operado com janelas de tamanho N sob um sinal de comprimento L

com o parâmetro N.R. a complexidade computacional é dada por

O(

O.R.∗L). (5.6)

Através das equações 5.5 e 5.6, observamos que nossa estratégia de janelamento apre-senta uma complexidade computacional reduzida, podendo, inclusive, ser utilizada nasincronização em tempo real de fluxos de vídeo.

Um olhar aproximado sobre os valores quantitativos revela que nosso sistema propostoobteve uma taxa de acerto máxima de 81% na determinação de deslocamentos temporais,valor equivalente ao apresentado pelo algoritmo ConCor+ (Al-Nuaimi et al. 2012a). Ob-servamos também que o valor médio de acerto apresentado em (Al-Nuaimi et al. 2012a)utilizando parâmetros fixos é de 57%, o que é um pouco inferior a nosso resultado médio.

Por outro lado, o algoritmo ConCor+ não apresenta restrições impostas pela estraté-gia de janelamento que utilizamos em nosso algoritmo, permitindo a análise de todo o

Page 77: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 68

conjunto de dados. Através da variação do parâmetro N.R. obtivemos 72% de taxa deacerto em 117 combinações.

5.6 Sincronia de Áudio VBR com RKHS e Redes Neurais

Nessa Seção apresentamos o ferramental utilizado para experimentação, incluindo oconjunto de dados, bem como os experimentos realizados em si, visando avaliar o de-sempenho do sistema proposto, e por fim, fazemos uma discussão acerca dos principaisresultados obtidos.

5.6.1 Conjunto de Dados de Áudio

Para avaliar o desempenho do sistema proposto para sincronização de áudio VBR comRKHS e redes neurais, utilizamos o conjunto de dados MedleyDB (Bittner et al. 2014).O conjunto de dados MedleyDB é composto por 122 músicas de áudio multi-pista e deuma variedade de gêneros musicais, que são baseados em 9 classificações de genéricas:cantor/compositor, música clássica, rock, world/folk, fusion, jazz, pop, música teatral erap.

Uma contagem da presença dos instrumentos do conjunto de dados é apresentada naFigura 5.11. Como esperado, instrumentos como bateria, contra baixo, piano, vozes eguitarras apresentam a maior contagem de presença. A Figura 5.11 foi gerada utilizandoas classificações de instrumento atribuídas aos áudio de grupo de cada música (Bittneret al. 2014).

Figura 5.11: Distribuição dos instrumentos do conjunto de dados MedleyDB (Bittner et al.2014)

No total, são fornecidos três tipos de conteúdo para cada música: uma mix, váriosáudios de grupo, e muitos áudios brutos. Todos os arquivos de áudio são do tipo wav com

Page 78: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 69

a taxa de amostragem de 44.1KHz e profundidade de bits equivalente a 16. Do pontode vista hierárquico, a mix é normalmente estéreo, formada por dois canais de áudio ecomposta pela união dos áudios de grupo, onde cada áudio de grupo equivale a uma mix

também em estéreo formada pela união dos áudios brutos do mesmo instrumento. Porexemplo, para captar o áudio de uma bateria num estúdio se utiliza vários microfonesposicionados de modo a captar o som de suas peças específicas: bumbo, caixa, tamborese pratos. O áudio captado por esses microfones são armazenados como áudios brutos.A união desses canais de áudio bruto origina o áudio de grupo que representa o som deum instrumento musical, no nosso exemplo esse instrumento é a bateria. Como estamosinteressados em calcular a referência temporal entre instrumentos musicais de uma formageral, utilizamos apenas os áudios de grupo em nossos experimentos.

Processamento dos Dados

De início, observamos que o conjunto de dados do MedleyDB apresenta áudios degrupo com segmentos silenciosos. Logo, utilizamos a informação fornecida pelo conjuntode dados que indica o grau de confiança acerca da atividade do sinal, tal grau de confiançaé obtido através de uma sequencia de envelopamento padrão (Bittner et al. 2014). Deacordo com (Bittner et al. 2014), um intervalo de tempo é considerado ativo se o grau deconfiança acerca da ativação do sinal é maior que 0.5.

Dessa forma, desenvolvemos uma abordagem para retirar amostras de ambos os sinaisVBR quando qualquer um dos instrumentos estão inativos, ou seja, quando seu grau deativação for inferior a 0.5. A ideia é treinar e avaliar o nosso sistema proposto apenas comcombinações que apresentem a possibilidade de que seja calculado a relação temporalentre eles utilizando apenas instrumentos ativos.

Verificamos também que os instrumentos são nomeados de acordo com uma taxo-nomia extensiva como descrito em (Bittner et al. 2014). Para simplificar tal taxonomia,nós criamos um novo método de categorização baseado nos tipos de alguns instrumentos:rítmicos, eletrônico, cordas, sopro, voz e melodias. Como a voz não apresenta a mesmaestrutura rítmica que outros instrumentos, nós excluímos as combinações que contém vozdo conjunto de dados. Ou seja, removemos a combinação formada por qualquer instru-mento e um sinal VBR bruto de voz.

Expansão do Conjunto de Dados

O conjunto de dados MedleyDB provê um total de 3848 combinações, o que é acei-tável. Entretanto, esse valor não cobre todas as possibilidades de atraso e tipos de sinais

Page 79: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 70

utilizados. Logo, utilizamos uma estratégia para aumentar de maneira artificial a quan-tidade de combinações disponíveis para treinamento e teste. A ideia principal é criarcombinações extras do mesmo par de instrumentos apenas modificando o valor de rela-ção temporal entre eles. Logo, repetimos por 400 vezes o processo de introdução de atrasonos sinais de áudio e codificação com o codificador FLAC com os mesmos parâmetros. Aaplicação de tal método de expansão do conjunto de dados aumenta a quantidade total decombinações do conjunto de dados, excluindo combinações com sinais de voz, de 3848para 1539200 mantém proporcional a quantidade de combinações por tipos de instrumen-tos. A Figura 5.12 ilustra a quantidade de combinações entre tipos de instrumentos doconjunto de dados estendido.

Figura 5.12: Número estendido de combinações por tipos de instrumentos

A quantidade total de exemplos do conjunto de dados é dividida em dois conjuntosna proporção de 80% que será usada para treinamento e 20% para teste. As combinaçõesindicadas em vermelho são descartadas do conjunto de dados uma vez que envolvemsinais de voz.

Geração do Sinal VBR

Considerando que o conjunto de dados provê áudios de grupo sincronizados, nós mo-dificamos o conteúdo de cada áudio de grupo para adicionar um atraso temporal aleatórioindicado em quantidades de amostra de áudio. Na sequência, o áudio de grupo é co-dificado com o codificador FLAC utilizando um tamanho de bloco específico. Comomencionado no Capítulo 2.1.1, o máximo de atraso esperado no sinal VBR é dado pelaquantidade de atraso inserido em amostras dividido pelo tamanho do bloco.

Para cada combinação formada por um par de sinal VBR modificado é atribuído um

Page 80: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 71

valor de referência obtido através do atraso inserido nos sinais de áudio de grupo que serefletem nos sinais VBR. Esse valor de referência é indicado na forma da quantidade deamostras do sinal VBR que separam temporalmente os dois sinais. Observamos que arede neural é treinada para aproximar esse valor em suas predições.

5.6.2 Métricas de Desempenho

Nós treinamos a rede neural para reduzir o valor de custo da função de entropia cru-zada calculada sobre a saída da rede o os valores de referência de deslocamento temporal.Para avaliar o desempenho do sistema proposto, utilizamos a razão de acerto considerandoque o valor máximo de saída da rede seja equivalente ao valor de referência de desloca-mento. Verificamos essa razão de acerto para combinação de tipos de instrumentos e amédia entre eles a qual chamamos de acurácia top-1. Utilizamos também a razão de acertoconsiderando que o valor de referência equivale até o quinto valor máximo da saída darede. Assim como na acurácia top-1, verificamos a acurácia top-5 para combinação detipos de instrumentos e a média entre eles.

Além das medidas de acurácia top-1 e top-5 para os tipos de instrumentos e a médiageral delas, também verificaremos a acurácia top-1 e top-5 para os gêneros musicais.

5.6.3 Configuração do Sistema

Considerando as restrições do nosso sistema proposto em relação ao deslocamentotemporal esperado, apresentaremos na sequência os parâmetros utilizados no experimento.

Em relação aos parâmetros de codificação, utilizamos um bloco de 1024 amostras dosinal de áudio para a predição linear, resultando numa precisão temporal de 23.2ms parasinais de áudio com frequência de amostragem equivalente a 44.1KHz. Considerando umvalor máximo de atraso temporal de 2 segundos no nível do sinal da áudio, obtemos umatraso máximo de 86 amostras do sinal VBR.

Para que seja possível identificar um atraso temporal da ordem de 86 amostras dosinal VBR, devemos segmentar os sinais VBR em janelas de tamanho superior a 86.Como a quantidade de elementos da diagonal da matriz de kernel decresce quando odeslocamento se encontra próximo ao tamanho do sinal, devemos utilizar um tamanho dejanela maior que o dobro do deslocamento máximo de amostras do sinal VBR 86. Paraesse experimento utilizamos N = 256 amostras dos sinais VBR na segmentação dos sinaisem janelas. Para garantir que a matriz de kernel apresente propriedades comuns entreas janelas, utilizamos um conjunto de N.B. = 64 janelas selecionadas aleatoriamente dediversas partes dos sinais VBR para compor uma matriz de kernel média.

Page 81: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 72

5.6.4 Resultados

Inicialmente, realizamos experimentos com valores variados de σ para entender comoa estatística de ordem superior pode ajudar na correlação temporal dos sinais VBR. Ovalor médio de acurácia top-1 e top-5 está descrito na Tabela 5.6 em função dos valoresde σ utilizado.

Tabela 5.6: Acurácia top-1 e top-5 em função do hiperparâmetro σ

σ Acurácia top-1 Acurácia top-50.1 11.86 37.151.0 18.41 51.57

10.0 21.82 57.76100.0 13.88 45.29

Observamos, através da Tabela 5.6, que o melhor resultado foi obtido para o valorde σ = 10.0. Entretanto, isso não significa que esse valor é o melhor para todos os sinaisanalisados, mas é o melhor considerando todo o conjunto de dados. Por esse experimento,decidimos adotar uma estratégia de multi-resolução e embutir diferentes medidas de σ

na matriz de kernel formada por [Kxyσ=0.1,Kxyσ=1,Kxyσ=10]. Com a estratégia de multi-resolução, obtivemos 22.26% de acurácia top-1 e 58.49% de acurácia top-5, o que indicaa existência de algumas combinações que se beneficiam com valores de σ pequenos.

Além da influência do valor do σ, observamos que o tamanho do bloco utilizado napredição linear do codificador FLAC e o parâmetro N.B. controla a quantidade de tempoque é analisado. De fato, verificamos que a acurácia do sistema tende a ser melhor quandomais tempo é analisado, porém tal aumento de tempo resulta numa maior complexidadecomputacional. Observamos também que o parâmetro N, que controla o tamanho dajanela do sinal VBR e reflete no tamanho da matriz de kernel, influencia na área de super-fície das caraterísticas temporais presentes na matriz de kernel, o que resulta numa perdade acurácia quando utilizamos valores de N próximos ao valor de deslocamento máximoesperado.

De um modo geral, alguns instrumentos apresentam padrões rítmicos bastante seme-lhantes com alta correlação temporal, como por exemplo os instrumentos que compões aestrutura principal da música como a bateria, o contra baixo e a percussão. Outros ins-trumentos apresentam interações esparsas tocando em alguns momentos da música, ondenormalmente são utilizados para inserção de texturas musicais, como guitarras e sinteti-zadores. De fato, um instrumento pode estar presente na estrutura principal da músicabem como na inserção de texturas. A guitarra elétrica, por exemplo, é um instrumentomuito comum no conjunto de dados MedleyDB. No gênero musical Rock, a guitarra é

Page 82: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 73

utilizada na composição da estrutura principal, como a guitarra base, ou na inserção deefeitos pontuais como riffs e solos. A guitarra base geralmente é registrada com um tim-bre específico que não se altera durante toda a música, por isso é geralmente gravadaapenas numa sequência de áudio. As guitarras de inserção de texturas são pontuais e ge-ralmente apresentam um timbre específico para cada inserção e são geralmente gravadasem sequências de áudio individuais. Nesse contexto, identificamos que a quantidade decombinações que apresentam instrumentos utilizados na inserção de textura é maior doque a quantidade de combinações que envolvem os instrumentos da estrutura principal damúsica.

Apresentamos, na Figura 5.13, o valor top-1 e top-5 para cada gênero musical e cadacombinação de tipos de instrumentos. O gênero musical electronic/fusion apresentaramos piores valores de top-1 e top-5. De um modo geral, identificamos que música eletrônicae fusion é principalmente formada por uma sequência de áudio principal e várias sequên-cias de áudio com inserção de texturas, levando a uma pior classificação de deslocamentotemporal por parte do sistema. É importante ressaltar que os gêneros musicais que apre-sentam maiores combinações com inserção de textura apresentaram um pior desempenho,como o rap e o electronic/fusion.

Analisando os valores de top-1 e top-5 para as combinações de tipos de instrumentos,observamos que as combinações de instrumentos utilizados para compor a estrutura prin-cipal da música apresentaram melhores valores de top-1 e top-5, como os instrumentosrítmicos e instrumentos de sopro (brass) que apesar de serem considerados com inserçãode efeitos eles são formados por naipes que normalmente dividem a estrutura rítmica entresí. Nas combinações de instrumentos que são normalmente formados por uma sequênciade áudio em estéreo e sons processados, as amostras de sequências de áudio ou scratches

apresentaram piores valores de top-1 e top-5. Além disso, a maioria dos sinais de músicaapresentam uma elevada periodicidade, sobretudo nos instrumentos rítmicos da estruturaprincipal da música, o que pode confundir o nosso classificador. Nesse contexto, obser-vamos uma maior acurácia top-5, uma vez que essa acurácia considera múltiplos valoresde deslocamento temporal.

Observamos também que não existe sistema semelhante descrito na literatura, o queinviabiliza uma comparação de nosso sistema com outros métodos do estado da arte.

O sinal VBR, como um sinal extraído da codificação de um sinal de áudio atravésde um preditor linear, apresenta uma grande degradação do conteúdo musical, sobretudoos conteúdos relacionados a frequência do sinal de áudio, como timbres e notas musi-cais. Isso acontece em decorrência da subamostragem severa que ocorre no processo depredição linear por janelas. Consequentemente, os sinais VBR para sinais de áudio são

Page 83: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 74

(a) Acurácia top-1 para cada gênero (b) Acurácia top-5 para cada gênero

(c) Acurácia top-1 para cada combinação de tipos deinstrumentos

(d) Acurácia top-5 para cada combinação de tipos deinstrumentos

Figura 5.13: Taxa de acerto top-1 e top-5 para cada gênero musical e combinações detipos de instrumentos; N.B. = 64, N = 256 e tamanho do bloco de codificação igual a1024

capazes de correlacionar temporalmente características musicais relacionadas aos padrõesrítmicos.

Nesse contexto, acreditamos que apesar de eficiente, os sinais VBR de áudio nãoprovêm características suficientes para a sincronização temporal de sinais de áudio, so-bretudo se considerado as interações mais complexas entre eles como as que envolveminstrumentos de inserção de texturas. Logo, na próxima seção apresentaremos resulta-dos com experimentos feitos com o terceiro sistema proposto para sincronização de áudiocontendo representações musicais a partir de uma análise do áudio bruto com as redesneurais recorrentes.

Page 84: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 75

5.7 Sincronização de Áudio com Redes Neurais

Nessa seção, descreveremos os experimentos realizados bem como os resultados obti-dos com nossa terceira proposta para sincronização de áudio com redes neurais recorren-tes. O conjunto de dados utilizados nesse experimento é o MedleyDB cujo descrição seencontra no Seção 5.6.1, alterando somente a forma em que os exemplos são processadosantes da utilização no treinamento e na verificação.

5.7.1 Processamento dos Dados

Iniciamos o processamento dos dados fazendo uma subamostragem do sinal para re-duzir a frequência de amostragem de 44.1KHz para 16KHz. Tal redução na frequência deamostragem reduz a complexidade computacional do sistema sem introduzir grandes per-das no conteúdo musical. De maneira oposta ao experimento do sistema anterior em quese treinava e verificava com todos as combinações possíveis de instrumentos, esse sistemaproposto utiliza ramos de redes neurais recorrentes para extrair características específicasde um instrumento musical. Logo, filtramos o conjunto de dados para selecionar apenasuma combinação de instrumentos de interesse, como por exemplo bateria e contra baixo,ou contra baixo e guitarra elétrica.

Durante o processo de filtragem, observamos que o conjunto de dados contém áudiosbrutos do mesmo instrumento musical, como a guitarra elétrica que é utilizada para com-por a estrutura principal e também pode ser utilizada na inserção de riffs. Nesses casos,nós misturamos todos os áudios brutos do mesmo sinal para se obter uma sequência deáudio maior. E na sequência, utilizamos a informação de ativação do instrumento pararetirar uma sequência de amostra de ambos os áudios sempre que considerado que umdos instrumentos está em silêncio. Nesse caso, cada música representa um exemplo dacombinação entre instrumentos específicos.

Uma consequência da sincronização de instrumentos musicais específicos está relaci-onada ao número de exemplos contido no conjunto de dados que varia de acordo com acombinação de instrumento selecionada. A combinação baixo elétrico e guitarra elétricaestá presente em 36 músicas, enquanto que a combinação da guitarra elétrica distorcidacom a guitarra elétrica sem distorção está presente apenas em 12 músicas. Essa variaçãona quantidade de exemplos dificulta o processo de treinamento para várias combinaçõesde instrumentos distintos, visto que um dos fatores considerados na dimensão de umarede neural é a quantidade de exemplos no conjunto de dados e sua complexidade.

Com o intuito de minimizar o impacto de uma quantidade pequena de exemplos, nós

Page 85: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 76

aplicamos um método para expandir o conjunto de dados com exemplos sintéticos criadosa partir da inserção de diferentes valores de atraso temporal selecionados aleatoriamentenas sequências de áudio da combinação orgânica original. Logo, modificamos o conteúdodos áudios de grupo para inserir um atraso temporal selecionado aleatoriamente e atribuí-mos um valor de referência indicando o deslocamento temporal entre eles, valor esse quedeve ser aproximado pela saída do sistema proposto. De fato, devido as restrições donosso sistema proposto, podemos calcular deslocamento temporais de no máximo L/2amostras. Logo, um atraso temporal de no máximo L/2 amostras de áudio é inseridapara cada áudio de grupo que compõe uma combinação de instrumentos específicos. Oprocesso de aplicação do atraso aleatório e atribuição de um valor de referência é feito demaneira repetitiva de modo que o conjunto de dados tenha dimensão infinita e que cadacombinação de instrumentos específicos de cada música do conjunto de dados experiencieum valor de deslocamento temporal diferente.

A Figura 5.14 ilustra a sequência de processamento utilizada na construção dos exem-plos utilizados para treinamento e teste do nosso sistema proposto.

Figura 5.14: Diagrama de processamento do conjunto de dados.

Note que as operações iniciais são aplicadas apenas uma única vez quando carregandoo conjunto de dados na memória, enquanto outras operações são aplicadas de forma repe-titiva para criar exemplos únicos com todos os deslocamentos possíveis.

5.7.2 Método de Avaliação

Apesar do método de expansão do conjunto de dados, observamos que a quantidadede combinações orgânicas é pequena se comparado ao número de exemplos utilizadosno treinamento de modelos de redes neurais profundas, como a combinação de bateria econtra baixo elétrico que apresenta um total de 54 músicas sendo esses os instrumentosque produzem a maior quantidade de exemplos orgânicos do conjunto de dados.

Nesse contexto, utilizamos o método de validação cruzada K-fold com um total de 5folds K = 5. Para isso, nós dividimos o conjunto de dados em 5 folds. Em cada iteração,

Page 86: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 77

utilizamos 4 folds para o treinamento da rede neural e 1 fold para validação e teste que évariado em cada uma das cinco iterações do método K-fold.

5.7.3 Métricas de Desempenho

Os resultados dos experimentos descritos nessa Seção serão apresentados através dealgumas medidas quantitativas. Como utilizamos uma distribuição Gaussiana para codi-ficar os vetores de referência que o nosso sistema deve aproximar de modo a representaruma pequena tolerância no modelo atribuída a falta de sincroniza inerente a execuçãohumana de uma peça musical, adotamos três intervalos de tolerância 0.96, 0.48 e 0.24segundos nas medidas quantitativas de acurácia top-1 e top-5. Logo, as medidas quanti-tativas equivalem a seis medidas de acurácia sendo distribuídas entre top-1 e top-5 cadauma com três intervalos de tolerância.

Também verificamos que as medidas de acurácia top-1 e top-5 não podem ser medidasatravés de uma função de máximo global, mas sim de máximos locais. Nesse caminho,procuramos pela presença de picos na função de probabilidade aproximada pelo sistemaproposto através da detecção de inversão do sinal da derivada. Esses picos são entãoordenados conforme o valor de probabilidade. Lembrando que, nesse caso, a medidade acurácia top-1 verifica se o pico mais alto da função de probabilidade aproximadapelo nosso sistema se encontra entre os intervalos de tolerância definidos. De maneiraanáloga, a medida de acurácia top-5 identifica se até o quinto pico mais alto da função deprobabilidade aproximada pelo nosso sistema proposto se encontra entre os intervalos detolerância definidos.

5.7.4 Configuração do Sistema

Para realizar os experimentos descritos nessa Seção, utilizamos a combinação especí-fica entre os instrumentos contra baixo elétrico e guitarra elétrica sem distroção, utilizandosequências de L = 3.84 segundos. Em relação a transformação do sinal de áudio para ologaritmo do espectrograma mel, utilizamos janelas de 200ms deslocadas 10ms uma dasoutras no cálculo da transformada de Fourier com um total de 2049 bins de frequência.Os filtros de banda mel são configurados para o cobrir a faixa de frequência 125Hz até7.5KHz com um total de 256 filtros espalhados em intervalos logarítmicos.

Na sequência, utilizamos duas camadas Bi-LSTM com 512 e 256 elementos segui-das de duas camadas densas com 256 e 128 elementos. Note que as camadas Bi-LSTM

são compostas por uma cadeia que se propaga no sentido do tempo, e outra cadeia que

Page 87: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 78

se propaga no sentido oposto ao tempo, onde cada uma delas apresenta a mesma quan-tidade de elementos. Consequentemente, as camadas Bi-LSTM apresentam 1024 e 512elementos no seu vetor de saída. Além disso, utilizamos uma estratégia de otimizaçãochamada Batch Normalization entre as camadas densas. A ideia do Batch Normaliza-

tion é padronizar a entrada de cada camada fornecendo vetores com média nula e desviopadrão unitário, facilitando o aprendizado da rede neural. Também aplicamos uma estra-tégia de regularização para reduzir o overfitting chamada dropout com uma taxa de 0.5.Nas camadas densas são utilizadas a função de ativação ELU. Os hiperparâmetros foramconfigurados por tentativa e erro através de sucessivas experiências.

Com os hiper-parâmetros descritos no parágrafo anterior, o deslocamento temporalmáximo esperado é de 1.92 segundos e a saída esperada contém 385 classes que repre-sentam o intervalo temporal [−1.92,1.92] com 10ms de intervalo, indicando uma altaprecisão de 10ms na classificação do deslocamento temporal por parte de nosso sistemaproposto.

Um dos motivos para a escolha de L= 3.84 segundos está relacionado ao tempo neces-sário que a rede precisa para identificar características estruturais como padrões rítmicose melódicos. Ainda assim, alguns instrumentos podem não apresentar uma sequência decaracterísticas importantes para sincronização nesse intervalo de tempo. Logo, utiliza-mos, para treinar a rede, um grupo de 4 sequências de 3.84 segundos, totalizando 15.36segundos, onde cada sequência é processada em paralelo pelo mesmo sistema proposto euma média é extraída de sua distribuição de probabilidade. Como cada sequência deveaproximar uma função de probabilidade que indica deslocamentos temporais semelhan-tes, a média entre eles deve acentuar a probabilidade de encontrar o deslocamento tem-poral correto. Note que a média entre as saídas da rede neural também é uma função deprobabilidade que podemos aproximar, por isso nós calculamos a função de custo sobrea média das saídas das redes neurais paralelas, resultando em valores de gradiente maisprecisos que ajuda a reduzir overfitting. Como para verificar o desempenho da rede, osrequisitos de processamento e memória são menores, utilizamos um total de 8 sequênciasde 3.84 segundos, totalizando 30.72 segundos.

Em relação a codificação do vetor de referência, utilizamos uma distribuição Gaus-siana com média equivalente ao deslocamento temporal e valores de largura de bandavariável. De fato, descreveremos a influência da largura de banda σ no resultado do sis-tema proposto na sequência.

Page 88: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 79

5.7.5 Resultados para Áudio

Inicialmente, verificamos que a largura de banda utilizada na criação da distribuição deprobabilidade do vetor de referência exerce uma influência nos valores de acurácia top-1 etop-5, de modo que para uma largura de banda maior, o treinamento da rede neural tendea prever valores de deslocamento com uma maior nível de tolerância. De maneira oposta,uma largura de banda menor faz com que a rede neural aproxime uma distribuição deprobabilidade com menor largura de banda, e como consequência de uma distribuição deprobabilidade com largura de banda reduzida, o sistema proposto apresenta vários picosem sua saída. A presença de vários picos na saída do sistema proposto indica múltiplospontos de sincronização. Discutiremos mais sobre os pontos de sincronização no decorrerdessa Seção.

Uma visão detalha da saída do sistema proposto em função de diferentes valores delargura de banda pode ser visualizada na Figura 5.15, onde a curva azul ilustra o vetor desaída da rede, a curva laranja ilustra o vetor de referência gerado através de uma distri-buição Gaussiana que o sistema proposto deve aproximar. As linhas tracejadas indicamo primeiro intervalo de tolerância de 0.96 segundos em que se considera correto valorespreditos pela rede, os intervalos menores não foram introduzidos na imagem para nãoatrapalhar a visualização. Observamos que ambas as curvas foram normalizadas parafacilitar a visualização na mesma imagem.

(a) Largura de banda equivalentea 1.0

(b) Largura de banda equiva-lente a 6.0

(c) Largura de banda equivalentea 20.0

Figura 5.15: Saída da rede neural aproximada a vetores de referência com três valores di-ferentes de largura de banda. O eixo y representa, em teoria, a densidade de probabilidadedo deslocamento indicado pelo índice x. Na prática, para facilitar a visualização das duascurvas na mesma imagem, ambas as curvvas são normalizadas entre 0 e 1.

Em síntese, observamos que maiores valores de largura de banda torna a saída da redemais suave com menos picos, enquanto que para valores menores de largura de banda

Page 89: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 80

faz com que a saída da rede neural apresente vários picos. Tal comportamento resulta emmaiores valores de desempenho top-5 para menores valores de largura de banda, enquantoque um maior valor de largura de banda prioriza os resultados de desempenho top-1. Osresultados de acurácia top-1 e top-5 para todos os intervalos de tolerância em função dediferentes largura de banda podem ser visualizados na Tabela 5.7.

B.W top-1 top-50.96 sec 0.48 sec 0.24 sec 0.96 sec 0.48 sec 0.24 sec

1.0 58.7% 48.8% 45.1% 92.9% 85.7% 82.42%2.0 60.1% 49.8% 45.9% 93.0% 85.8% 81.4%6.0 65.8% 54.7% 48.0% 92.65% 83.6% 73.7%

Tabela 5.7: Desempenho top-1 and top-5 para diferentes intervalos de tolerância em fun-ção de três valores de largura de banda.

A acurácia top-1 e top-5 representa uma medida estatística acerca do desempenho deuma rede neural avaliado sobre um conjunto de dados de teste. Em geral, a acurácia top-

1 indica quantos exemplos do conjunto de dados de teste a rede neural pode classificarcorretamente. No nosso caso, a acurácia top-1 indica quantos exemplos do conjunto dedados de teste possui o seu valor de pico mais alto dentro do intervalo de tolerância. Demaneira análoga, a acurácia top-5 indica o número de exemplos em que ao menos um doscinco picos mais proeminentes está contido no intervalo de tolerância.

De fato, como verificado na Tabela 5.7, esperamos um menor valor de acurácia paraintervalos de tolerância menores. Considerando ainda que, diferentes instrumentos mu-sicais, sobretudo quando analisados num curto intervalo de tempo, podem apresentar umdiversos pontos de sincronização secundários. Esse comportamento pode ser verificadonos diversos picos posicionados de forma equidistante na Figura 5.15, sobretudo na Fi-gura 5.15(a) que utiliza vetores de referência codificados com uma distribuição Gaussianade largura de banda equivalente a 1.0. Observamos também que os pontos de sincroni-zação secundários são resultante da periodicidade do conteúdo musical, e que o intervalode tolerância de 0.96 segundos representa um desafio para sistemas com instrumentosmusicais heterogêneos.

A Figura 5.16 ilustra uma matriz de confusão que representa a quantidade de exem-plos classificados corretamente em função dos valores de referência e das predições dedeslocamento. A matriz de confusão é uma ferramenta importante para verificar os sis-temas baseados em redes neurais, através dela podemos observar para quais valores dereferência a rede apresenta valores errôneos, e através de alguns padrões na matriz deconfusão entender as deficiências do sistema proposto.

Podemos fazer algumas observações importante acerca da matriz de confusão ilus-trada na Figura 5.16. Primeiro, observamos a presença de uma diagonal principal indi-

Page 90: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 81

Figura 5.16: Matriz de confusão para largura de banda 1.0.

cando que as predições de deslocamento da rede equivale aos valores de referência dentrode um intervalo de tolerância. Também observamos a presença de algumas diagonaisparalelas. Esse comportamento é justificado pela quantidade de exemplos orgânicos dis-poníveis para teste. Note que, geramos combinações de teste sintéticas a partir de umapequena quantidade de combinações orgânicas que são modificadas para introduzir váriosvalores de deslocamento temporal entre as sequências de áudio que compõem uma combi-nação. Logo, combinações orgânicas que apresentam predições temporal erradas tendema apresentar o mesmo padrão de erro para diferentes valores de deslocamento inserido,criando linhas diagonais paralelas na matriz de confusão.

Para ressaltar o comportamento descrito acerca da matriz de confusão, criamos umhistograma descrevendo o erro absoluto que é obtido através da diferença entre a posiçãodo pico mais proeminente do vetor de predição da saída do sistema e o valor de desloca-mento de referência. Tal histograma está ilustrado em 5.17.

Através do histograma ilustrado na Figura 5.17, observamos a presença de uma grandequantidade de elementos no centro, indicando que a maioria das predições de desloca-mento estão corretas. Observamos também a presença de picos secundários resultante docomportamento anteriormente observado na matriz de confusão. Discutimos a presençados picos secundários posteriormente na Seção 5.7.5.

Também verificamos os valores de acurácia top-1 e top-5 para a combinação formadapela bateria e pelo contra baixo elétrico, os resultados estão descritos na Tabela 5.8.

Como se pode observar na Tabela 5.8, os valores de acurácia top-1 são piores se

Page 91: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 82

Figura 5.17: Histograma do erro absoluto para largura de banda 1.0. Nessa Figura, o eixoy representa a quantidade de medidas para cada valor de error absoluto indicado pelo eixox dividido pelo total de medidas.

top-1 top-50.96 sec 0.48 sec 0.24 sec 0.96 sec 0.48 sec 0.24 sec55.5% 49.9% 46.0% 93.6% 86.2% 83.9%

Tabela 5.8: Acurácia top-1 e top-5 para a combinação formada pela bateria e pelo contrabaixo elétrico. Foram utilizados vetores de referência oriundos de uma distribuição deprobabilidade Gaussiana com largura de banda 1.0.

comparado aos resultados apresentado da Tabela 5.7 basicamente pelo fato de que a com-binação formada pela bateria e pelo contra baixo elétrico apresenta múltiplos pontos desincronização secundários, que decresce a acurácia top-1 mas aumenta a acurácia top-5.Tal comportamento é resultante da grande periodicidade dos sinais de bateria e contrabaixo elétrico.

Na sequência, descreveremos melhor a análise de pontos de sincronização secundá-rios.

Análise Auditiva

Em geral, medimos a acurácia top-1 avaluando se o deslocamento indicado pelo sis-tema proposto é igual ao deslocamento inserido artificialmente nas sequências de áudio.Entretanto, algumas evidencias descritas anteriormente, como a presença de diagonais

Page 92: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 83

secundárias na matriz de confusão e a presença de picos secundários no histograma deerro absoluto, indicam a presença de múltiplos pontos de sincronização secundários. Nosreferimos a pontos de sincronização secundários como valores de deslocamento que pro-duzem resultados satisfatórios quando sincronizados mesmo não sendo equivalente aovalor de deslocamento introduzido de maneira artificial.

Para verificar a validade dos pontos de sincronização secundários, nós criamos umasequência de áudio para cada ponto de sincronização secundário previso pelo sistema pro-posto e avaliamos de maneira subjetiva através de uma audição. Reconhecemos que umaanálise subjetiva deve envolver diversos sujeitos de avaliação e uma análise estatísticamais complexa. Entretanto, tal análise não é o objetivo principal de nosso sistema. Logo,criamos um conjunto de sequências de áudio para que o leitor possa avaliar e eventual-mente chegar a mesma conclusão que apresentaremos na sequência.

Dentre as combinações fornecidas, estão três exemplos para cada uma das duas com-binações de instrumentos: bateria e contra baixo elétrico, contra baixo elétrico e guitarraelétrica sem distorção. Cada exemplo é composto por duas janelas de 8 segundos se-paradas por um segundo de silêncio. Também observamos a presença de um silênciode duração variável no segundo instrumento da combinação, que é resultado do deslo-camento temporal inserido de acordo com os pontos de sincronização secundários queequivalem aos 5 picos mais proeminentes do vetor de saída do sistema proposto.

Através de uma análise auditiva, chegamos a conclusão que a maioria das sequênciasde áudio fornecidas apresentam um grau de sincronia muito bom em todos os pontos desincronização secundários. Como esperado, a combinação bateria e contra baixo elétricoapresenta a maior quantidade de pontos de sincronização secundários devido a sua peri-odicidade, sendo o pior valor de acurácia top-1 e melhor valor de acurácia top-5. Nessecontexto, observamos que até o quinto ponto de sincronização secundário resultou numacombinação musicalmente sincronizada para todos os exemplos.

Além disso, observamos que a combinação bateria e contra baixo elétrico é formadaprincipalmente por instrumentos com padrões rítmicos, e pela falta de notas musicaispor parte da bateria. Nesse caso, a sincronização é mais simples porque não leva emconsideração as restrições impostas pelas combinações de notas de um arranjo musical,levando em consideração apenas características como timbre e padrões rítmicos. De ma-neira diferente, a combinação formada entre o contra baixo elétrico e a guitarra elétricasem distorção requer a utilização, não só das características de timbre e padrões rítmi-cos, como também características do arranjo musical. De fato, as restrições impostas pelacombinação de notas que fazem parte de um arranjo e harmonia musical resultando numvalor de acurácia top-1 mais elevado, e num valor de top-5 mais baixo.

Page 93: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 84

Nos exemplos que envolvem a combinação contra baixo elétrico e guitarra elétricasem distorção, observamos que a maioria dos pontos de sincronização resultantes do picomais proeminente e do segundo pico mais proeminente do vetor resultante do sistemaproposto apresentam um bom equilíbrio entre a sincronização do conteúdo musical e depadrões rítmicos, enquanto outros pontos de sincronização resultante do terceiro ao quintopico mais proeminente do vetor resultante apresenta uma sincronização correta do pontode vista rítmico, mas nem sempre aceitável do ponto de vista do arranjo musical. Atenta-mos especificamente para o terceiro exemplo da combinação contra baixo elétrico e gui-tarra elétrica sem distorção, onde do terceiro ao quinto pico mais proeminente apresentamresultados sincronizados do ponto de vista musical, mas com pequenas variações rítmicasque coincidem com padrões rítmicos alternativos como variações no contra tempo e des-locamento temporal equivalente ao tamanho do compasso, que ainda soa aceitável para oouvido humano. Tal exemplo mostra que nosso sistema proposto é capaz de sincronizarinstrumentos musicais como uma sensibilidade musical para tratar de variações rítmicascomplexas ainda que regidas por uma teoria de arranjo musical.

Comparação com DTW

De modo a demonstrar a viabilidade do sistema proposto, descreveremos uma com-paração com o algoritmo de sincronização tradicional DTW. Primeiro, notamos que odeslocamento médio obtido através do algoritmo DTW é resultante da sequência de ali-nhamento. Para extrair um valor unitário representando um deslocamento temporal mé-dio, nós calculamos a distância média entre a sequência de alinhamento e a diagonalprincipal. Logo, o valor constante de deslocamento é calculado a partir do deslocamentomédio entre as duas sequências.

O DTW foi capaz de classificar os deslocamentos introduzidos artificialmente comuma acurácia de 64%, 57% e 54% para os intervalos de tolerância 0.96, 0.48 e 0.24segundos respectivamente. Esses resultados indicam que o DTW pode tratar da sincroni-zação entre dois instrumentos musicais com um bom desempenho. Entretanto, o valor dedeslocamento médio extraído da sequência de alinhamento representa apenas um valor dedeslocamento, não fornecendo multiplos pontos de sincronização para serem avaliados.

Nesse contexto, consideramos que nosso sistema proposto é uma alternativa interes-sante pare o algoritmo DTW. Nosso sistema proposto é capaz de calcular com precisãoe com múltiplos pontos de sincronização o deslocamento temporal entre duas sequênciasde áudio que representam conteúdos musicais. A presença dos pontos secundários desincronização eleva a acurácia top-5 do nosso sistema proposto para valores superiores se

Page 94: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 5. RESULTADOS EXPERIMENTAIS 85

comparado aos valores obtidos com o DTW.

Page 95: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Capítulo 6

Conclusão

Essa tese introduziu um conjunto de ferramentas implementadas com os respectivosresultados experimentais de sua execução com o intuito de avaliar a hipótese de que osdados de sistemas multimídias, sobretudo distribuídos, podem ser sincronizados a partirde ferramentas atuais de aprendizado de máquina (deep learning). Em geral, os métodosde sincronização multimídia tradicionais fazem uso do clock compartilhado para controlara aquisição e reprodução do conteúdo multimídia, o que garante baixa latência e elevadonível de sincronização. Entretanto, o compartilhamento do clock introduz limitações aossistemas distribuídos, principalmente em relação à distribuição espacial dos dispositivosde aquisição e reprodução que devem ser conectados por cabos coaxiais, para os sistemasmais antigos, ou cabos de rede para os sistemas mais novos.

Além disso, mesmo utilizando métodos de compartilhamento de clock através de ca-bos de rede, a utilização desses sistemas numa escala global na Internet é extremamentelimitada, isso porque a maioria dos sistemas multimídias que utilizam compartilhamentode clock usam um método chamado prazo (deadline) de reprodução, onde se estabeleceum valor temporal fixo de atraso para que o conteúdo seja reproduzido. Entretanto, talmétodo não leva em consideração os distúrbios introduzidos em redes públicas como va-riação do atraso (jitter).

Nesse contexto, vários esforços foram feitos na literatura a fim de se criar métodos desincronização multimídia de forma independente do compartilhamento do clock. Em ge-ral, esses métodos fazem a sincronização do conteúdo multimídia através de uma análisede conteúdo, em que se utiliza ferramentas de extração de características e métodos dealinhamento temporal, sendo custosos no tempo.

Visando resolver esse problema do custo temporal, nesta tese nós propomos métodospara sincronização multimídia que utilizam técnicas modernas para extração de carac-terísticas de conteúdo e alinhamento temporal. Essas técnicas são derivadas da área deestudo de Teoria da Informação e sua aplicação em aprendizagem de máquina, especifica-

Page 96: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 6. CONCLUSÃO 87

mente dos conceitos de Information Theoretic Learning (ITL), onde se descreve a funçãode correntropia e suas aplicações, e de Deep Learning, em que se descreve a utilização deredes neurais.

Com o intuito de generalizar o contexto multimídia para os diversos tipos de mídia(áudio, vídeo etc), propomos e desenvolvemos três sistemas para realizar a sincroniza-ção de fluxos de vídeo codificados, fluxos de áudio codificados, e fluxos de áudio brutosem codificação. A sincronização dos fluxos de áudio e vídeo codificados utilizam comocaracterística do conteúdo a representação da taxa de bit instantânea, em que não se ne-cessita a decodificação dos fluxos para se obter descritores temporais passíveis de sin-cronização. Já para a sincronização de fluxos de áudio bruto sem codificação, utilizamosredes neurais recorrentes para extrair características específicas para sincronização.

Para demonstrar e/ou validar empiricamente a hipótese levantada neste trabalho, rea-lizamos experimentos que comprovaram a eficácia de cada sistema proposto, com dadosde benchmark existentes na literatura. O primeiro sistema proposto trata da sincroniza-ção de fluxos de vídeo codificados. Tal sistema demonstrou, a partir de uma análise dosresultados dos experimentos realizados, uma precisão compatível com os métodos do es-tado da arte, e requisitando menor custo computacional. Uma descrição mais detalhadadesse sistema proposto, incluindo os experimentos realizados e seus resultados, pode serencontrada no artigo completo publicado no periódico Sensors (Pereira et al. 2017).

Um segundo sistema foi proposto e desenvolvido, que se trata de uma extensão do pri-meiro sistema desenvolvido também incluindo fluxos de áudio codificados. Este sistemaapresentou resultados promissores que foram relatados em um segundo artigo submetidopara publicação (Pereira, Silveira, Distante & Gonçalves 2019). Entretanto, observamosque em alguns casos a taxa de bit instantânea usada como representação das característi-cas musicais não apresentou informações suficientes para se obter a sincronização entreinstrumentos mais complexos que necessitam de uma análise mais específica do conteúdomusical. Assim, para lidar com as limitações desse segundo sistema, desenvolvemos umúltimo sistema visando realizar a sincronização através do áudio bruto utilizando as redesneurais recorrentes. Os resultados experimentais da execução deste último sistema, dis-cutidos na Seção 5 desta Tese, indicam que é possível extrair características especificaspara serem utilizadas na sincronização de sequências de áudio oriundas de instrumentosmusicais tocados por seres humanos. Isso possibilita que a criação ou execução musi-cal possa ser feita de forma distribuída. Também faz parte do conjunto desses resultadosuma análise auditiva incluindo sequências de áudio sincronizadas pelo sistema a fim dese observar o comportamento em situações de uso real. A descrição mais detalhada detal sistema proposto, bem como os experimentos e os resultados, também está em artigo

Page 97: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

CAPÍTULO 6. CONCLUSÃO 88

submetido para publicação (Pereira, Distante, Silveira & Gonçalves 2019).Destacamos ainda que os sistemas propostos nesse documento, principalmente os sis-

temas que tratam da sincronização de fluxos de áudio codificados e da sincronização deáudio bruto como redes neurais recorrentes são inéditos na literatura e representam as con-tribuições mais significativas dessa pesquisa. Esperamos que, com a divulgação científicados desenvolvimentos desse trabalho, os sistemas multimídia distribuídos de alcance glo-bal possam se beneficiar de métodos de sincronização modernos que apresentaram bonsdesempenhos nos experimentos.

Assim, validando nossa hipótese, reiteramos a possibilidade de se usar as técnicaspropostas e desenvolvidas neste trabalho em sistemas multimídia distribuídos, podendoisso ser feito a título de trabalho futuro. Essas implementações serão necessárias visandoobter mais informações do seu funcionamento prático, com testes objetivos e tambémsubjetivos que devem ser feitos para assegurar a eficácia dos métodos propostos em situa-ções de uso real. É importante ressaltar, enfim, que essas implementações práticas sejamverificadas em trabalhos futuros.

Page 98: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

Referências Bibliográficas

Ainara, Garde, Walter Karlen, J. Mark Ansermino & Guy A. Dumont (2014), ‘Estimatingrespiratory and heart rates from the correntropy spectral density of the photoplethys-mogram’, PLOS ONE 9(1), 1–11.URL: http://dx.doi.org/10.13712Fjournal.pone.0086427

Al-Nuaimi, A., B. Cizmeci, F. Schweiger, R. Katz, S. Taifour, E. Steinbach & M. Fahrmair(2012a), Concor+: Robust and confident video synchronization using consensus-based cross-correlation, em ‘2012 IEEE 14th International Workshop on MultimediaSignal Processing (MMSP)’, pp. 83–88.

Al-Nuaimi, A., B. Cizmeci, F. Schweiger, R. Katz, S. Taifour, E. Steinbach & M. Fahrmair(2012b), Concor+: Robust and confident video synchronization using consensus-based cross-correlation, em ‘2012 IEEE 14th International Workshop on MultimediaSignal Processing (MMSP)’, pp. 83–88.

Arellano-Delgado, A., C. Cruz-Hernandez, R. M. Lopez Gutierrez & C. Posadas-Castillo (2015), ‘Outer synchronization of simple firefly discrete models in couplednetworks’, Mathematical Problems in Engineering 2015, 14.

Aspnes, James (2016), ‘Notes on theory of distributed systems cpsc 465/565:Spring 2016’. Disponível em: <http://cs-www.cs.yale.edu/homes/aspnes/classes/465/notes.pdf>. Acesso em 20 de Agosto, 2016.

Audinate (2015), ‘The deah of analogue and the rise of audio networ-king’. Disponível em: <http://go.audinate.com/resources/assets/death-of-analog-rise-of-audio-networking-f>. Acesso em 22 de Agosto,2016.

Babaoglu, Ozalp, Toni Binci, Alberto Montresor & Márk Jelasity (n.d.), Firefly-inspiredheartbeat synchronization in overlay networks, em ‘In Proceedings of the First IEEEInternational Conference on Self-Adaptive and Self-Organizing Systems (SASO2007’, IEEE Computer Society, pp. 539–550.

89

Page 99: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 90

Bittner, Rachel, Justin Salamon, Mike Tierney, Matthias Mauch, Chris Cannam & JuanBello (2014), Medleydb: A multitrack dataset for annotation-intensive mir research,em ‘in Proc. the 15th International Society for Music Information Retrieval Confe-rence (ISMIR’.

Boronat, Fernando, Jaime Lloret & Miguel García (2009), ‘Multimedia group and inter-stream synchronization techniques: A comparative study’, Inf. Syst. 34(1), 108–131.URL: http://dx.doi.org/10.1016/j.is.2008.05.001

Böck, S. & M. Schedl (2012), Polyphonic piano note transcription with recurrent neuralnetworks, em ‘2012 IEEE International Conference on Acoustics, Speech and SignalProcessing (ICASSP)’, pp. 121–124.

Carôt, Alexander & Christian Werner (2009), ‘Fundamentals and principles of musicaltelepresence’, Journal of Science and Technology of the Arts 1(1), 26–37.URL: http://artes.ucp.pt/citarj/article/view/6

Caspi, Yaron, Denis Simakov & Michal Irani (2006), ‘Feature-based sequence-to-sequence matching’, International Journal of Computer Vision 68(1), 53–64.URL: http://dx.doi.org/10.1007/s11263-005-4842-z

Chen, H., X. Yuan, Z. Pei, M. Li & J. Li (2019), ‘Triple-classification of respiratorysounds using optimized s-transform and deep residual networks’, IEEE Access

7, 32845–32852.

Chung, Joon Son & Andrew Zisserman (2016), Out of time: Automated lip sync in thewild, em ‘ACCV Workshops (2)’, Vol. 10117 de Lecture Notes in Computer Science,Springer, pp. 251–263.

Chung, Soo-Whan, Joon Son Chung & Hong-Goo Kang (2018), ‘Perfect match:Improved cross-modal embeddings for audio-visual synchronisation’, CoRR

abs/1809.08001.

Clark, David D., Scott Shenker & Lixia Zhang (1992), ‘Supporting real-time applicationsin an integrated services packet network: Architecture and mechanism’, SIGCOMM

Comput. Commun. Rev. 22(4), 14–26.URL: http://doi.acm.org/10.1145/144191.144199

Cuturi, M., J. Vert, O. Birkenes & T. Matsui (2007), A kernel for time series based onglobal alignments, em ‘2007 IEEE International Conference on Acoustics, Speechand Signal Processing - ICASSP ’07’, Vol. 2, pp. II–413–II–416.

Page 100: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 91

Cuturi, Marco (2011), Fast global alignment kernels, em ‘Proceedings of the 28th Inter-national Conference on International Conference on Machine Learning’, ICML’11,Omnipress, USA, pp. 929–936.URL: http://dl.acm.org/citation.cfm?id=3104482.3104599

Cuturi, Marco & Mathieu Blondel (2017), Soft-dtw: a differentiable loss function fortime-series, em ‘ICML’.

Duan, Ling-Yu, Vijay Chandrasekhar, Shiqi Wang, Yihang Lou, Jie Lin, Yan Bai, TiejunHuang, Alex ChiChung Kot & Wen Gao (2017), ‘Compact descriptors for videoanalysis: the emerging MPEG standard’, CoRR abs/1704.08141.URL: http://arxiv.org/abs/1704.08141

Ewert, Sebastian & Meinard Müller (2009), Refinement strategies for music synchroni-zation, em S.Ystad, R.Kronland-Martinet & K.Jensen, eds., ‘Computer Music Mo-deling and Retrieval. Genesis of Meaning in Sound and Music’, Springer BerlinHeidelberg, Berlin, Heidelberg, pp. 147–165.

Ewert, Sebastian, Meinard Müller & Peter Grosche (2009), High resolution audio syn-chronization using chroma onset features, em ‘Proceedings of the IEEE Internati-onal Conference on Acoustics, Speech, and Signal Processing (ICASSP)’, Taipei,Taiwan, pp. 1869–1872.

Fontes, Aluisio I. R., Pedro T. V. Souza, Adrião D. D. Neto, Allan de M. Martins & LuizF. Q. Silveira (2014), ‘Classification system of pathological voices using corren-tropy’, Mathematical Problems in Engineering 2014(924786), 7.

Fontes, Aluisio I.R., Allan de M. Martins, Luiz F.Q. Silveira & J.C. Principe (2015), ‘Per-formance evaluation of the correntropy coefficient in automatic modulation classifi-cation’, Expert Systems with Applications 42(1), 1 – 8.URL: http://www.sciencedirect.com/science/article/pii/S0957417414004291

Foundation, Xiph.Org (n.d.), ‘Detailed description of flac format’. Disponível em:<https://xiph.org/flac/format.html>. Acesso em 25 de Agosto, 2016.

Ganeriwal, Saurabh, Ram Kumar & Mani B. Srivastava (2003), Timing-sync protocol forsensor networks, em ‘The First ACM Conference on Embedded Networked SensorSystem (SenSys’, pp. 138–149.

Page 101: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 92

Glorot, Xavier & Yoshua Bengio (2010), Understanding the difficulty of training deepfeedforward neural networks, em ‘JMLR W&CP: Proceedings of the Thirteenth In-ternational Conference on Artificial Intelligence and Statistics (AISTATS 2010)’,Vol. 9, pp. 249–256.

Goodfellow, Ian, Yoshua Bengio & Aaron Courville (2016), Deep Learning, MIT Press.http://www.deeplearningbook.org.

h. Jeong, K. & J. C. Principe (2006), The correntropy mace filter for image recognition,em ‘2006 16th IEEE Signal Processing Society Workshop on Machine Learning forSignal Processing’, pp. 9–14.

Hao, Chuangbo, Ping Song, Cheng Yang & Xiongjun Liu (2017), ‘Testing a firefly-inspired synchronization algorithm in a complex wireless sensor network’, Sensors

17(3).URL: http://www.mdpi.com/1424-8220/17/3/544

Hao, Zhang (2017), ‘Lstm and gru – formula summary’.URL: https://isaacchanghau.github.io/post/lstm-gru-formula/

He, R., B. G. Hu, W. S. Zheng & X. W. Kong (2011), ‘Robust principal componentanalysis based on maximum correntropy criterion’, IEEE Transactions on Image

Processing 20(6), 1485–1494.

Hou, Lei, Shingo Kagami & Koichi Hashimoto (2013), ‘Article frame synchronization ofhigh-speed vision sensors with respect to temporally encoded illumination in highlydynamic environments’.

Jiang, Wei & Alexander C. Loui (2011), Audio-visual grouplet: Temporal audio-visualinteractions for general video concept classification, em ‘Proceedings of the 19thACM International Conference on Multimedia’, MM ’11, ACM, New York, NY,USA, pp. 123–132.URL: http://doi.acm.org/10.1145/2072298.2072316

Jozefowicz, Rafal, Wojciech Zaremba & Ilya Sutskever (2015), An empirical explorationof recurrent network architectures, em ‘Proceedings of the 32Nd International Con-ference on International Conference on Machine Learning - Volume 37’, ICML15,JMLR.org, pp. 2342–2350.URL: http://dl.acm.org/citation.cfm?id=3045118.3045367

Page 102: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 93

Juang, B. (1985), ‘On the hidden Markov model and dynamic time warping for spe-ech recognition – A unified view’, AT&T Bell Laboratories Technical Journal

63(7), 1213–1242.

Khamparia, A., D. Gupta, N. G. Nguyen, A. Khanna, B. Pandey & P. Tiwari (2019),‘Sound classification using convolutional neural network and tensor deep stackingnetwork’, IEEE Access 7, 7717–7727.

Kingma, Diederik P. & Jimmy Ba (2014), ‘Adam: A method for stochastic optimization’,CoRR abs/1412.6980.

Krizhevsky, Alex, Ilya Sutskever & Geoffrey E Hinton (2012), Imagenet classificationwith deep convolutional neural networks, em F.Pereira, C. J. C.Burges, L.Bottou &K. Q.Weinberger, eds., ‘Advances in Neural Information Processing Systems 25’,Curran Associates, Inc., pp. 1097–1105.URL: http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-

convolutional-neural-networks.pdf

Krogh, Anders & John A. Hertz (1992), A simple weight decay can improve generaliza-tion, em ‘ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS4’, Morgan Kaufmann, pp. 950–957.

Kwon, Taegyun, Dasaem Jeong & Juhan Nam (2017), ‘Audio-to-score alignment of pianomusic using rnn-based automatic music transcription’, CoRR abs/1711.04480.

Laptev, Ivan (2005), ‘On space-time interest points’, Int. J. Comput. Vision 64(2-3), 107–123.URL: http://dx.doi.org/10.1007/s11263-005-1838-7

Linhares, Leandro L. S., Aluisio I. R. Fontes, Allan M. Martins, Fábio M. U. Araújo &Luiz F. Q. Silveira (2015), ‘Fuzzy wavelet neural network using a correntropy cri-terion for nonlinear system identification’, Mathematical Problems in Engineering

2015(678965), 12.

Litos, Georgios, Xenophon Zabulis & Georgios Triantafyllidis (2006), Synchronousimage acquisition based on network synchronization, em ‘Conference on Compu-ter Vision and Pattern Recognition Workshop’, p. 167.

Liu, W., P. P. Pokharel & J. C. Principe (2007), ‘Correntropy: Properties and applica-tions in non-gaussian signal processing’, IEEE Transactions on Signal Processing

55(11), 5286–5298.

Page 103: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 94

Mangharam, Rahul, Anthony Rowe & Raj Rajkumar (2007), ‘Firefly: a cross-layer plat-form for real-time embedded wireless networks’, Real-Time Systems 37(3), 183–231.URL: http://dx.doi.org/10.1007/s11241-007-9028-z

Manzo-Martínez, Alain & Jose Antonia Camarena-Ibarrola (2014), Audio-to-audio align-ment for performances tracking, em A.Gelbukh, F. C.Espinoza & S. N.Galicia-Haro,eds., ‘Nature-Inspired Computation and Machine Learning’, Springer InternationalPublishing, Cham, pp. 219–230.

Maroti, Miklos, Miklos Maroti, Branislav Kusy, Branislav Kusy, Gyula Simon, GyulaSimon, Akos Ledeczi & Akos Ledeczi (2004), The flooding time synchronizationprotocol, ACM Press, pp. 39–49.

Miao, X., X. Zhang, M. Sun, C. Zheng & T. Cao (2019), ‘A blstm and wavenet-basedvoice conversion method with waveform collapse suppression by post-processing’,IEEE Access 7, 54321–54329.

Mikołajczyk, A. & M. Grochowski (2018), Data augmentation for improving deep lear-ning in image classification problem, em ‘2018 International Interdisciplinary PhDWorkshop (IIPhDW)’, pp. 117–122.

Mir, U. M., A. H. Mir, A. Bashir & M. A. Chishti (2014), Diffserv-aware multi protocollabel switching based quality of service in next generation networks, em ‘AdvanceComputing Conference (IACC), 2014 IEEE International’, pp. 233–238.

Mitchell, Thomas M. (1997), Machine Learning, 1a edição, McGraw-Hill, Inc., NewYork, NY, USA.

Nicolaou, C. (1990), ‘An architecture for real-time multimedia communication systems’,IEEE Journal on Selected Areas in Communications 8(3), 391–400.

Olah, Christopher (2015), ‘Understanding lstm networks’.URL: http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Pang, C., H. Liu & X. Li (2019), ‘Multitask learning of time-frequency cnn for soundsource localization’, IEEE Access 7, 40725–40737.

Pereira, Igor, Cosimo Distante, Luiz F. Silveira & Luiz Gonçalves (2019), ‘Using neuralnetworks to compute time offsets from musical instruments’, IEEE Access . Sub-mitted.

Page 104: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 95

Pereira, Igor, Luiz F. Silveira, Cosimo Distante & Luiz Gonçalves (2019), ‘On the appli-cation of cnn in the hilbert space of vbr signals to the synchronization of musicalinstruments’, Transactions on Neural Networks and Learning Systems . Submitted.

Pereira, Igor, Luiz F. Silveira & Luiz Gonçalves (2017), ‘Video synchronization with bit-rate signals and correntropy function’, Sensors 17(9).URL: http://www.mdpi.com/1424-8220/17/9/2021

Principe, Jose C. (2010), Information Theoretic Learning: Renyi’s Entropy and Kernel

Perspectives, 1sta edição, Springer Publishing Company, Incorporated.

Rai, Piyush, Kamal Tiwari, Prithwijit Guha & Amitabha Mukerjee (n.d.), cost-effectivemultiple camera vision system using firewire cameras and software synchronization,em ‘in Int. Conference on High Performance Computing’, pp. 17–20.

Sachan, Devendra Singh & Graham Neubig (2018), Parameter sharing methods for mul-tilingual self-attentional translation models, em ‘WMT’.

Saha, Sumit (2018), ‘A comprehensive guide to convolutional neural networks’.URL: https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-

neural-networks-the-eli5-way-3bd2b1164a53

Santamaria, I., P. P. Pokharel & J. C. Principe (2006), ‘Generalized correlation function:definition, properties, and application to blind equalization’, IEEE Transactions on

Signal Processing 54(6), 2187–2197.

Schroth, G., F. Schweiger, M. Eichhorn, E. Steinbach, M. Fahrmair & W. Kellerer(2010a), Video synchronization using bit rate profiles, em ‘2010 IEEE Internatio-nal Conference on Image Processing’, pp. 1549–1552.

Schroth, G., F. Schweiger, M. Eichhorn, E. Steinbach, M. Fahrmair & W. Kellerer(2010b), Video synchronization using bit rate profiles, em ‘2010 IEEE Internatio-nal Conference on Image Processing’, pp. 1549–1552.

Severini, M., D. Ferretti, E. Principi & S. Squartini (2019), ‘Automatic detection of crysounds in neonatal intensive care units by using deep learning and acoustic scenesimulation’, IEEE Access 7, 51982–51993.

Shay, G. F. (2015), How aes-67, the new audio-over-ip standard, will bring the conver-gence of telecommunications, intercom, radio and television broadcast studio audio,em ‘SMPTE15: Persistence of Vision - Defining the Future’, pp. 1–10.

Page 105: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 96

Silverman, B. W. (1986), Density Estimation for Statistics and Data Analysis, Chapman& Hall, London.

Sivrikaya, Fikret & Bülent Yener (2004), ‘Time synchronization in sensor networks: Asurvey’, IEEE Network 18, 45–50.

Srivastava, Nitish, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever & Ruslan Salakhut-dinov (2014), ‘Dropout: A simple way to prevent neural networks from overfitting’,Journal of Machine Learning Research 15, 1929–1958.URL: http://jmlr.org/papers/v15/srivastava14a.html

Stein, G. P. (1999), Tracking from multiple view points: Self-calibration of space andtime, em ‘Proceedings. 1999 IEEE Computer Society Conference on Computer Vi-sion and Pattern Recognition (Cat. No PR00149)’, Vol. 1, p. 527 Vol. 1.

Suedomi, Yasuhiro, Hakaru Tamukoh, Michio Tanaka, Kenji Matsuzaka & Takashi Morie(2013), Parameterized Digital Hardware Design of Pulse-Coupled Phase Oscillator

Model toward Spike-Based Computing, Springer Berlin Heidelberg, Berlin, Heidel-berg, pp. 17–24.

Tresadern, P. A. & I. Reid (2003), Synchronizing image sequences of non-rigid objects,em ‘Proceedings of the British Machine Vision Conference’, BMVA Press, pp. 64.1–64.10. doi:10.5244/C.17.64.

Trigeorgis, G., M. A. Nicolaou, B. W. Schuller & S. Zafeiriou (2018), ‘Deep canonicaltime warping for simultaneous alignment and representation learning of sequences’,IEEE Transactions on Pattern Analysis and Machine Intelligence 40(5), 1128–1138.

Tuytelaars, T. & L. Van Gool (2004), Synchronizing video sequences, em ‘Proceedingsof the 2004 IEEE Computer Society Conference on Computer Vision and PatternRecognition, 2004. CVPR 2004.’, Vol. 1, pp. I–762–I–768 Vol.1.

Ushizaki, M., T. Okatani & K. Deguchi (2006), Video synchronization based on co-occurrence of appearance changes in video sequences, em ‘18th International Con-ference on Pattern Recognition (ICPR’06)’, Vol. 3, pp. 71–74.

Vu, Hoa T., C. J. Carey & Sridhar Mahadevan (2012), Manifold warping: Manifold align-ment over time, em ‘Proceedings of the Twenty-Sixth AAAI Conference on Artifi-cial Intelligence’, AAAI’12, AAAI Press, pp. 1155–1161.URL: http://dl.acm.org/citation.cfm?id=2900728.2900892

Page 106: Sincronia de Sistemas Multimídia Distribuídos Utilizando ...

REFERÊNCIAS BIBLIOGRÁFICAS 97

Wang, J., C. Xu, J. Feng, M. Z. Q. Chen, X. Wang & Y. Zhao (2015), ‘Synchronizationin moving pulse-coupled oscillator networks’, IEEE Transactions on Circuits and

Systems I: Regular Papers 62(10), 2544–2554.

Whitehead, A., R. Laganiere & P. Bose (2005), Temporal synchronization of video se-quences in theory and in practice, em ‘Application of Computer Vision, 2005.WACV/MOTIONS ’05 Volume 1. Seventh IEEE Workshops on’, Vol. 2, pp. 132–137.

Wöllmer, Martin, Marc Al-Hames, Florian Eyben, Björn Schuller & Gerhard Rigoll(2009), ‘A multidimensional dynamic time warping algorithm for efficient multimo-dal fusion of asynchronous data streams’, Neurocomputing 73(1), 366 – 380. TimelyDevelopments in Applied Neural Computing (EANN 2007) / Some Novel Analysisand Learning Methods for Neural Networks (ISNN 2008) / Pattern Recognition inGraphical Domains.URL: http://www.sciencedirect.com/science/article/pii/S0925231209002823

Xu, J. W. & J. C. Principe (2008), ‘A pitch detector based on a generalized correla-tion function’, IEEE Transactions on Audio, Speech, and Language Processing

16(8), 1420–1432.

Yan, Jingyu & Marc Pollefeys (2004), Video synchronization via space-time interest pointdistribution, em ‘In Proceedings of Advanced Concepts for Intelligent Vision Sys-tems’.

Yu, Ling, Tian-shuang Qiu & Ai-min Song (2016), ‘A time delay estimation algorithmbased on the weighted correntropy spectral density’, Circuits, Systems, and Signal

Processing pp. 1–14.URL: http://dx.doi.org/10.1007/s00034-016-0347-y

Zhang, Y., J. Li, Y. V. Zakharov, J. Li, Y. Li, C. Lin & X. Li (2019), ‘Deep learning ba-sed single carrier communications over time-varying underwater acoustic channel’,IEEE Access 7, 38420–38430.

Zhou, Feng & Fernando Torre (2009), Canonical time warping for alignment of humanbehavior, em Y.Bengio, D.Schuurmans, J. D.Lafferty, C. K. I.Williams & A.Culotta,eds., ‘Advances in Neural Information Processing Systems 22’, Curran Associates,Inc., pp. 2286–2294.URL: http://papers.nips.cc/paper/3728-canonical-time-warping-for-alignment-of-

human-behavior.pdf