Content uploaded by Raphael Abreu
Author content
All content in this area was uploaded by Raphael Abreu on Oct 27, 2017
Content may be subject to copyright.
Using Abstract Anchors for Automatic Authoring of Sensory
Eects Based on Ambient Sound Recognition
Raphael Abreu
CEFET/RJ
raphael.abreu@eic.cefet-rj.br
Joel dos Santos
CEFET/RJ
jsantos@eic.cefet-rj.br
ABSTRACT
Mulsemedia applications are shown to improve user experience by
synchronizing sensory eects along with audiovisual content. An
usual approach for specifying such synchronization is to mark the
moments when a given eect has to be executed in the main media
object. Multimedia authoring languages provide a way to mark
moments of a media object through anchors. An anchor indicates
a temporal portion (video frames or audio samples) in relation to
its parent media object. However, to synchronize such portions
with sensory content can be costly. When, for example, a scene
component appear multiple times on the media content.
This problem was tackled in previous work by providing an
approach for creating abstract anchors in declarative multimedia
documents. An abstract anchor represents (possibly) several me-
dia anchors. By using a scene recognition software, the anchors
where duplicated whenever the same component was identied
on the main media. Such approach, was proven useful for creating
automatic sensory eects based on video recognition.
This paper extends the proposal of abstract anchors in order
to enable the automatic generation of sensory eects using sound
recognition. This paper also extends the Abstract Anchor Proces-
sor to implement media pre-processing and to adapt the sound
recognition software response.
CCS CONCEPTS
•Applied computing →Markup languages
;
•Human-centered
computing →Hypertext / hypermedia;
KEYWORDS
Anchors; Multimedia authoring; Mulsemedia; NCL
1 INTRODUÇÃO
Os avanços da computação ubíqua têm se mostrado importantes
para aumentar os níveis de imersão de usuários em ambientes
virtuais [
10
]. Sendo assim, percebe-se o surgimento de uma nova
tendência na produção de conteúdo multimídia de forma a aumen-
tar a qualidade da experiência de um usuário. As Chamadas de
aplicações mulsemídia [
3
] (MulSeMedia - Muti Sensorial Media)
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for prot or commercial advantage and that copies bear this notice and the full citation
on the rst page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish,
to post on servers or to redistribute to lists, requires prior specic permission and/or a
fee. Request permissions from permissions@acm.org.
WebMedia ’17, October 17–20, 2017, Gramado, Brazil
©2017 Association for Computing Machinery.
ACM ISBN 978-1-4503-5096-9/17/10.. .$15.00
https://doi.org/10.1145/3126858.3131604
fornecem não apenas conteúdo audiovisual (visão e audição), mas
também possibilitam interação com outros sentidos do ser humano
(e.g., olfato, tato). Estes tipos de aplicações têm proporcionado uma
maior imersão do usuário no conteúdo de mídia e podem melhorar
a Qualidade da Experiência (QoE) [11].
Porém o desenvolvimento de uma aplicação mulsemídia é uma ta-
refa custosa. Principalmente em termos de sincronização de efeitos
sensoriais com conteúdo audiovisual. Uma abordagem para a sincro-
nização de tais efeitos, é utilizar linguagens de autoria multimídia,
tal como SMIL (Synchronized Multimedia Integration Language) [
12
]
e NCL (Nested Context Language) [
4
], uma vez que elas permitem a
especicação da sincronização temporal entre objetos.
Em particular, a linguagem NCL pode facilitar o desenvolvimento
de aplicações ao abstrair a sincronização de mídias. Ela permite
que os autores utilizem eventos e estruturas condicionais para es-
pecicar relações temporais entre objetos de mídia. Em NCL, uma
abordagem usual para denir a sincronização entre objetos é criar
âncoras temporais relacionando o objeto principal a outros objetos
na aplicação. Assim, o início e o m do evento de apresentação
dessas âncoras pode ser utilizado para disparar elos denidos na
aplicação.
Porém, quando diversos trechos do objeto principal devem ser
sincronizados com outros objetos, várias âncoras deverão ser criadas
pelos autores. A denição manual de tais âncoras, portanto, não é
eciente. Além disso, essa abordagem pode ser propensa a erros,
dado o tamanho do código resultante. Para abordar este problema,
foi proposto NCLAAP [
1
] (NCL with Abstract Anchors), um método
para automatizar a criação de âncoras em documentos NCL. Em [
1
]
foi apresentado o conceito de âncoras abstratas e foi proposta uma
aplicação que permite instanciar tais âncoras automaticamente para
componentes identicados em um vídeo, por meio de um software
de reconhecimento de vídeo.
Enquanto o progresso recente em visão computacional permitiu
que as máquinas reconhecessem imagens e vídeos com boa pre-
cisão, existem conceitos relacionados a efeitos sensoriais que não
são apenas identicados por reconhecimento de imagens, como
por exemplo sons de vento ou efeitos de vibração relativos a uma
explosão. Desta forma, este artigo é uma extensão do trabalho apre-
sentado em [
1
], estendendo o conceito de âncoras abstratas para
conteúdo de áudio.
O restante do artigo está organizado da seguinte forma. A Seção 2
apresenta trabalhos relacionados a redução esforços de autoria de
aplicações multimídia e mulsemídia. A Seção 3 discute o conceito
de âncoras abstratas. A Seção 4 apresenta o processador de âncoras
abstratas e propõe uma extensão de seu funcinamento para utilizar
software de reconhecimento de som. A Seção 6 apresenta uma ava-
liação da proposta. Por m, a Seção 7 conclui o artigo, apresentando
trabalhos futuros.
2 TRABALHOS RELACIONADOS
Em [
10
] é mostrado que aplicações mulsemídia podem ter uma série
de utilizações. Tais como entretenimento, educação, telemedicina,
entre outros. Sendo assim, podem existir diversos tipos de interação
entre aplicação e usuário. Neste contexto, é interessante facilitar
o trabalho do autor de aplicações mulsemídia para incentivar a
adoção da comunidade.
Muita atenção é dedicada a reduzir o esforço de autoria de aplica-
tivos multimídia e mulsemídia. Existem duas maneiras comuns para
isto. Pode-se fornecer ferramentas de autoria ou utilizar linguagens
de template para criar essas aplicações.
Em [
9
,
13
] são propostas ferramentas de autoria de efeitos sen-
soriais. Em [
8
,
13
] são apresentados players capazes de representar
tais aplicações e sincronizar efeitos sensoriais com video.
As linguagens de template permitem ao autor especicar compo-
nentes reutilizáveis que devem ser posteriormente substituídos por
instâncias na linguagem alvo. Em [
2
] é apresentado XTemplate 3.0,
uma abordagem modular para criar modelos para documentos NCL.
Uma abordagem semelhante é fornecida em [
5
], onde os autores
propõem a linguagem TAL e seu processador associado.
Embora a criação de aplicações seja facilitada ao utilizar ferra-
mentas ou templates, grande parte do esforço de autoria mulsemídia
é especicar componentes de cena para sincronizar conteúdo audi-
ovisual com efeitos sensoriais. Estes componentes de cena podem
ser elementos (animais, objetos, pessoas, etc.) ou conceitos (feliz,
cheio, escuro, etc.) em forma de imagem, áudio ou combinação de
ambos.
Considerando este cenário, em [
1
] foi apresentada uma aborda-
gem para automatizar a criação de âncoras em documentos mul-
timídia com efeitos sensoriais. Foi proposto o conceito de âncora
abstrata em NCL e implementado o processador de âncoras abs-
tratas (AAP - Abstract Anchor Processor). O sistema utiliza uma
abordagem similar a de templates, nele são denidos componentes
genéricos (âncoras abstratas) que podem ser instanciados com auxi-
lio de software de reconhecimento de vídeo. Desta forma, podemos
nos aproveitar das relações causais da linguagem NCL para realizar
a sincronização automática do vídeo com efeitos sensoriais.
Embora apresentada uma abordagem para a descrição do vídeo, a
arquitetura do AAP é independente da ferramenta a ser usada para
reconhecimento de componentes de cena no conteúdo da mídia.
Portanto, podendo ser utilizado para denir âncoras abstratas para
diversos objetos de mídia. Neste artigo exploramos esta possibili-
dade utilizando um sistema de reconhecimento de áudio.
O presente artigo difere do trabalho anterior nos seguintes aspec-
tos: (i) Utiliza o conceito de âncoras abstratas para realizar reconhe-
cimento de som. (ii) Utiliza de software de reconhecimento local,
possibilitando aplicações independentes de conexão com internet.
Por m, (iii) modica partes do AAP para pré-processamento de
mídia e alteração de características da resposta do software de re-
conhecimento. Desta forma este artigo ilustra como o AAP pode
ser extensível para qualquer reconhecimento de mídia.
3 ÂNCORAS ABSTRATAS
Nós em NCL representam de forma abstrata o conteúdo de um
documento. Âncoras permitem “marcar” uma parte do conteúdo
de um nó, seja no tempo através de âncoras temporais (e.g., frames
de vídeo) ou no espaço através de âncoras espaciais (e.g., área da
região do nó). Ao utilizar âncoras, a linguagem permite a denição
de relações causais levando em consideração partes do conteúdo
do nó. Estas relações, no caso de aplicações mulsemídia podem
ser utilizadas para sincronizar efeitos sensoriais com partes do
conteúdo de uma mídia. Entretanto, cabe-se lembrar que o autor
deverá especicar uma âncora para cada instante de tempo para o
qual se deseja realizar a sincronização.
Uma âncora abstrata, tal como proposto em [
1
], pode representar
uma ou várias âncoras diferentes, que estão relacionadas ao con-
teúdo apresentado. Uma âncora abstrata é instanciada sempre que
um componente da cena ao qual ela está relacionada está sendo
apresentado.
O processador AAP identica os componentes de cena descritos
nestas âncoras abstratas e o conteúdo da mídia a ser analisada. Am-
bas as informações são utilizadas como entrada para um software
que permite a identicação, no conteúdo da mídia, da presença
destes componentes. Após o reconhecimento de cena, as âncoras
podem ser instanciadas para suas representações comuns em NCL.
Assim, permitindo que o autor represente um componente de cena
de um conteúdo de nó, sem explicitamente denir os instantes de
tempo que eles aparecem.
A m de suportar a denição de âncoras abstratas, a linguagem
NCL foi estendida para que o elemento area (âncora em NCL) tenha
uma novo atributo tag. Esse atributo indica os componentes da
cena relacionados a essa âncora abstrata. Cabe ressaltar que após a
instanciação das âncoras este atributo é removido, tornando o docu-
mento compatível com NCL. A Listagem 1 ilustra uma denição de
âncora abstrata em NCL. As âncoras abstratas
ar_condicionado
e
vento são denidas para o conteúdo de mídia video.mp4.
1<media src= " v i d e o . mp4 " id = " v id eo " >
2<area ta g = "ar_condicionado " / >
3<area ta g = " ve n to " / >
4</media>
Listing 1: Exemplo de âncora abstrata
Links de NCL podem ser utilizados em conjunto com âncoras
abstratas para especicar a sincronização da aplicação. Assim, para
cada instância de uma âncora abstrata, seus links também deverão
ser instanciados. A Listagem 2 apresenta um exemplo de especica-
ção de links para uma âncora abstrata. Nela são denidos 2 links,
um para iniciar e outro para parar o componente
frio.lua1
em
conjunto com a âncora
ar_condicionado
. Por simplicidade, os co-
nectores utilizados pelos links não são apresentados na Listagem 2.
1<link xconnector= " onBeginStart ">
2<b i nd role= " o n Beg i n " component= " vi d eo "
interface= " ar_condicionado " />
3<b i nd role= " s t a r t " component= " f r i o " / >
4</link>
5
6<link xconnector= " o nE nd St op " >
7<b i nd role= " onE nd " component= " vi de o "
interface= " ar_condicionado " />
8<b i nd role= " s t o p " component= " f r i o " / >
9</link>
Listing 2: Exemplo de link usando âncoras abstratas
1
Em [
1
] assume-se que objetos Lua realizam a ativação de efeitos sensoriais no ambi-
ente, tornando possível o uso de NCL para especicar a sincronização da aplicação.
4 ARQUITETURA
O processamento de uma aplicação utilizando âncoras abstratas é
retratado na Figura 1. O AAP realiza três passos: (i) Identicação
das âncoras abstratas no documento NCL; (ii) Comunicação com o
software de reconhecimento; (iii) Instanciação de âncoras e links.
Abstract Anchor Processor
(Processador de Âncoras Abstratas)
âncoraA
âncoraB
âncoraC
linkA
mídia 1
mídia 2
linkB
Documento com âncoras abstratas e links
linkC
âncoraA_1
âncoraA_2
âncoraC_1
âncoraC_2
linkA_1
linkA_2
mídia 1
mídia 2
linkC_2
linkC_1
âncoraA_3
linkA_3
âncoraB_1
âncoraB_2
linkB_1
linkB_2
linkB_3
âncoraB_3
Instâncias de âncoras e links
compatíveis com NCL
Figura 1: Processamento de âncora abstrata, adaptado de [1]
O processador AAP analisa um documento NCL contendo ân-
coras abstratas denidas de acordo com a Seção 3. Nesta etapa, o
processador extrai conteúdo de mídia e as âncoras abstratas destes
nós e aciona o módulo de comunicação com software de reconhe-
cimento. Este módulo é desacoplado do processador AAP. Essa
abordagem dá mais liberdade ao autor, permitindo que o módulo
possa fazer o pré-processamento na mídia (e.g., converter vídeo, ex-
trair áudio) antes de enviar para o software de reconhecimento. Isto
torna o AAP extensível pois permite manipular o conteúdo de uma
mídia para deixá-lo compatível com o software de reconhecimento
que se queira utilizar.
Após o reconhecimento dos componentes de cena, o AAP cria
instâncias das âncoras abstratas com valores especícos de tempo.
Para cada âncora abstrata, o processador percorre o arquivo de des-
crição de cena, comparando a âncora com as listas de componentes
reconhecidos na cena para aquele instante. Se houver uma corres-
pondência, a instância da âncora é criada no documento NCL e se
mantém ativa enquanto ocorrer aquele componente nos próximos
instantes. Assim que o processador identicar que componente não
está mais presente, ele especica o tempo de m da instância da
âncora em NCL e prossegue sua busca, gerando novas instâncias
da âncora caso necessário.
Durante este processo de instanciação de âncoras, também são
instanciados os links. O processador busca por links associados a
uma âncora abstrata sendo processada. Para cada nova instância
dessa âncora um link é criado utilizando a identicação da instância
recém criada. A Listagem 3 apresenta um trecho do documento
resultante do processamento das âncoras e links apresentados nas
Listagens 1 e 2.
1<media src= " v i d e o . mp4 " id = " v id eo " >
2<area id = " ar_condicionado_1 " begin= " 0 s "
end= " 0 5 s " / >
3<area id = " ar_condicionado_2 " begin= " 10 s "
end= " 1 5 s " / >
4...
5</media>
6
7<link xconnector= " onBeginStart ">
8<b i nd role= " o n Beg i n " component= " v id eo "
interface= " ar_condicionado_1 " />
9<b i nd role= " s t a r t " component= " f r i o " / >
10 </link>
11 <link xconnector= " onBeginStart ">
12 <b i nd role= " o n Beg i n " component= " v id eo "
interface= " ar_condicionado_2 " />
13 <b i nd role= " s t a r t " component= " f r i o " / >
14 </link>
15 ...
Listing 3: Resultado do processamento das âncoras e links
do exemplo
5 RECONHECIMENTO DE SOM COM AAP
O reconhecimento de cena é alcançado enviando as âncoras abs-
tratas e a mídia que deseja-se reconhecer como entrada para o
sistema de reconhecimento. No contexto de reconhecimento de
som, o componente da cena que deseja ser reconhecido são sons
do ambiente. No caso, um evento sonoro que possui características
acústicas que podem ser identicadas, tal como uma sirene, vento,
latido de cachorro, etc.
Para reconhecimento de som ambiente, é utilizado um software
baseado em redes neurais [
6
]. A rede neural utilizada foi treinada
com o conjunto de dados UrbanSound8k [
7
] que contém trechos
de sons curtos de ambiente urbano. Diferente da implementação
original do processador AAP, utilizamos este software de forma
local. A vantagem dessa abordagem é um menor atraso para a iden-
ticação dos componentes de cena e, consequentemente, resposta
ao processador com os componentes reconhecidos.
A resposta do software de reconhecimento resulta em um con-
junto de tags
2
que representam os componentes da cena. A Figura 2
mostra o resultado do reconhecimento de som ambiente usando
tal software. Na gura, o som do vídeo é extraído e enviado para o
software de reconhecimento. O conjunto de tags que foram identi-
cados na cena, juntas com seu grau de conabilidade é apresentado
no lado direito da gura.3
O módulo intermediário do AAP foi modicado a m de adaptar
a mídia para o formato aceito pelo software de reconhecimento de
som, caso necessário. A princípio, o módulo faz o pré-processamento
2
Usamos a nomenclatura adotada por softwares de reconhecimento de cena. Não deve
ser confundido com tags XML.
3
Imagens e sons são licenciados como Creative Commons CC0 e foram encontrados
em Pixabay. https://pixabay.com
Figura 2: Resultado de reconhecimento de som ambiente
da mídia de vídeo para extrair trechos de som de um segundo. Caso
a mídia seja um áudio, apenas o corte em trechos de um segundo é
necessário. Estes instantes servem de entrada para o software de
reconhecimento. Desta forma, cada som é tratado como uma série
de trechos independentes que podem ser representados com uma
tag. Após a fase de instanciação, os eventos descritos no documento
multimídia também terão um passo de um segundo. A escolha pelo
corte do áudio em trechos segue o comportamento do software
de reconhecimento de vídeo apresentado em [
1
]. Assim, buscamos
manter a compatibilidade entre as duas soluções.
O módulo também é modicado de forma a compor um arquivo
de descrição de cena, expondo os componentes de cena identicados
para cada trecho do áudio. Neste arquivo, cada linha representa
um instante de tempo de reconhecimento. Por padrão, no AAP
este instante é 1 segundo. A composição do arquivo foi feita para
evitar alterações no software de reconhecimento. Assim permitimos
a integração com diversos softwares de reconhecimento, apenas
adaptando o módulo intermediário para cada caso, mantendo ainda
a compatibilidade com a etapa de instanciação do processador AAP.
6 EXEMPLO DE APLICAÇÃO
Introduzimos um cenário de uso para destacar como AAP suporta o
desenvolvimento de aplicações mulsemídia baseadas em reconheci-
mento de som ambiente. Para isto utilizamos um conteúdo de mídia
com duração de 35 segundos, sendo composto de cenas de vídeo
e seus respectivos sons. A Figura 3 apresenta os frames do vídeo
junto com as amostras do áudio analisado. O video transita entre
ambientes externos e um ambiente interno com um som padrão de
ar condicionado. Os trechos realçados representam as instâncias da
âncora após o processamento.
Para esta avaliação, um documento NCL com âncoras abstratas
é criado, contendo o código apresentado nas Listagens 1 e 2. O
documento em conjunto com a mídia audiovisual são tratados pelo
AAP que realiza os passos de reconhecimento de áudio e instancia-
ção das âncoras de
ar_condicionado
. Também são instanciados os
links que permitem que efeitos sensoriais sejam sincronizados com
o conteúdo da mídia. Desta forma, utilizando o AAP, o autor preci-
sou descrever apenas um conjunto de âncoras e links e o software
realizou a instanciação das âncoras e links subsequentes.
7 CONCLUSÃO
Este trabalho apresentou uma extensão ao conceito de âncoras
abstratas para som. Apoiado neste conceito, foi apresentada uma
arquitetura para gerar efeitos sensoriais de forma automática uti-
lizando software de reconhecimento de som ambiente. Para isto,
Figura 3: Caso de uso de âncora abstrata de som
partes do processador de âncoras abstratas foram estendidas a m
de permitir a utilização de tal software. Essa proposta é vantajosa
para o desenvolvimento de aplicações mulsemídia que necessitam
de extensa sincronização de áudio com efeitos sensoriais.
Como apresentado neste artigo, o AAP possibilita a utilização
de diversos softwares de reconhecimento ( inclusive de forma si-
multânea). Porém a nomenclatura que tais softwares usam para
descrever os componentes de cena pode variar. Um trabalho futuro
é aprimorar AAP com um módulo capaz de inferir sinônimos das
palavras usadas para descrever as âncoras abstratas, tornando a
descrição dos conceitos independente do software sendo utilizado.
Outro trabalho futuro é aprimorar nossa abordagem, de modo
que possa ser usada para conteúdo ao vivo. Os avanços neste artigo
com a utilização software de reconhecimento local indicam a viabi-
lidade desta proposta. Por m, estudos futuros também devem ser
conduzidos para investigar a precisão do reconhecimento do som
ambiente para trechos mais extensos que um segundo.
REFERÊNCIAS
[1]
Raphael Abreu and Joel A. F. dos Santos. 2017. Using Abstract Anchors to Aid
The Development of MultimediaApplications With Sensory Eects. In 2017 ACM
Symposium on Document Engineering (DocEng 2017).
[2]
Joel André Ferreira dos Santos and Débora Christina Muchaluat Saade. 2010.
XTemplate 3.0: Adding Semantics to Hypermedia Compositions and Providing
Document Structure Reuse. In Proceedings of the 2010 ACM Symposium on Applied
Computing (SAC ’10). ACM, New York, NY, USA, 1892–1897.
[3]
Gheorghita Ghinea, Christian Timmerer, Weisi Lin, and Stephen R. Gulliver. 2014.
Mulsemedia : State of the Art, Perspectives, and Challenges. ACM Transactions
on Multimedia Computing, Communications, and Applications 11, 1s (2014), 1–23.
[4]
ITU. 2014. Nested Context Language (NCL) and Ginga-NCL for IPTV services.
http://handle.itu.int/11.1002/1000/12237. (2014).
[5]
Carlos de Salles Soares Neto, Luiz Fernando Gomes Soares, and Clarisse Siecke-
nius de Souza. 2012. TAL-Template Authoring Language. Journal of the Brazilian
Computer Society 18, 3 (2012), 185–199.
[6]
K. J. Piczak. 2015. Environmental sound classication with convolutional neural
networks. In 2015 IEEE 25th International Workshop on Machine Learning for
Signal Processing (MLSP). 1–6.
[7]
Justin Salamon, Christopher Jacoby, and Juan Pablo Bello. 2014. A Dataset
and Taxonomy for Urban Sound Research. In Proceedings of the 22Nd ACM
International Conference on Multimedia (MM ’14). ACM, New York, NY, USA, 4.
[8]
Estêvão Bissoli Saleme and Celso Alberto Saibel Santos. 2015. PlaySEM: A
Platform for Rendering MulSeMedia Compatible with MPEG-V. Proceedings of
the 21st Brazilian Symposium on Multimedia and the Web (2015), 145–148.
[9]
Sang Ho Shin, Keum Sook Ha, Han O. Yun, and Yoon Seok Nam. 2016. Realistic
media authoring tool based on MPEG-V international standard. International
Conference on Ubiquitous and Future Networks, ICUFN (2016), 730–732.
[10]
Y. Sulema. 2016. Mulsemedia vs. Multimedia: State of the art and future trends.
In 2016 International Conference on Systems, Signals and Image Processing. 1–5.
[11]
Christian Timmerer, Markus Waltl, Benjamin Rainer, and Hermann Hellwagner.
2012. Assessing the quality of sensory experience for multimedia presentations.
Signal Processing: Image Communication 27, 8 (2012), 909–916.
[12]
W3C. 2008. Synchronized Multimedia Integration Language - SMIL 3.0 Speci-
cation. http://www.w3c.org/TR/SMIL3. (2008).
[13]
Markus Waltl, Benjamin Rainer, Christian Timmerer, and Hermann Hellwagner.
2013. An end-to-end tool chain for Sensory Exp erience based on MPEG-V. Signal
Processing: Image Communication 28, 2 (2013), 136–150.