Roberta Lima Gomes Autoria e Apresentação de Documentos Multimídia Adaptativos em Redes Instituto de Matemática – Mestrado em Informática Luiz Fernando Rust da Costa Carmo Docteur, Université Paul Sabatier/LAAS - França - 1995 Luci Pirmez D.Sc. - COPPE/UFRJ - Brasil –1996 Rio de Janeiro 2001
96
Embed
Autoria e Apresentação de Documentos Multimídia ... · apresentação destes documentos pode demandar uma grande quantidade de recursos devido às dimensões dos dados e às restrições
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Roberta Lima Gomes
Autor ia e Apresentação de Documentos Multimídia Adaptativos em
Redes
Instituto de Matemática – Mestrado em Informática
Luiz Fernando Rust da Costa Carmo
Docteur, Université Paul Sabatier/LAAS - França - 1995
Luci Pirmez
D.Sc. - COPPE/UFRJ - Brasil –1996
Rio de Janeiro
2001
ii
Autoria e Apresentação de Documentos Multimídia Adaptativos em Redes
Roberta Lima Gomes
Dissertação (Tese) submetida ao corpo docente do Instituto de Matemática da
Universidade Federal do Rio de Janeiro - UFRJ, como parte dos requisitos necessários à
obtenção do grau de Mestre.
Aprovada por:
________________________________________________
Prof. Luiz Fernando Rust da Costa Carmo,
Dr. UPS, France
________________________________________________
Profª. Luci Pirmez,
D.Sc. COPPE/UFRJ
________________________________________________
Prof. Oswaldo Vernet de Souza Pires,
D.Sc. COPPE/UFRJ
________________________________________________
Prof. José Gonçalves Pereira Filho,
D.Sc. USP
Rio de Janeiro - RJ
Agosto de 2001
iii
FICHA CATALOGRÁFICA
GOMES, ROBERTA LIMA.
Autoria e Apresentação de Documentos Multimídia
Adaptativos em Redes [Rio de Janeiro] 2001
xi, 85 p., 29,7 cm (IM/NCE/UFRJ, MSc., Informática,
2001)
Dissertação (Mestrado) - Universidade Federal do Rio de
Janeiro, IM/NCE
1. Sistemas Multimídia 2. Redes 3. QoS
I. IM/NCE/UFRJ II. Título ( série )
iv
A meu noivo Magnos e minha família,
e
em memória do Prof. Júlio Salek Aude
e
do meu avô Aristides.
v
AGRADECIMENTOS
A Deus, pela minha vida.
Aos meus pais, que sempre me amaram e se empenharam em me educar,
permitindo que eu chegasse até aqui ... e desde que parti, mesmo de longe, estiveram
mais perto do que nunca.
A meus avós que, mesmo preocupados, apoiaram minha decisão e me ajudaram
me dando muito amor e carinho.
A meu noivo Magnos que em todo momento esteve ao meu lado, me oferecendo
seu amor, seu ombro e seu carinho, me dando forças para que eu não desistisse nos
momentos de desânimo e cansaço, me fazendo rir por várias vezes em que chorei, e que
sempre me fez acreditar que eu conseguiria vencer este desafio.
Aos amigos que fiz durante o curso de mestrado, Cesar, Eduardo, Paulo André,
Renata, Reinaldo, Leonardo, Leila, Noel, Ana Paula, Queiroz, Sidney, Iuri, Cláudio, e
às grandes amigas Andromeda, Patrícia, Adriana, Cynthia, Clarisse, Aninha, Jorgeana,
Renatinha, dentre muitos, muitos outros, com os quais dividi vários momentos e que
sempre estiveram por perto nas horas em que deles precisei.
Aos meus orientadores, Rust e Luci, pela determinação, cuidado e carinho com
que orientaram o desenvolvimento deste trabalho, bem como o meu crescimento como
pessoa, e aos professores do Mestrado em Informática do IM/NCE, pelos milhares de
conhecimentos passados durante todo o curso.
Ao Núcleo de Computação Eletrônica da Universidade Federal do Rio de Janeiro,
por toda infra-estrutura disponibilizada durante o curso para o desenvolvimento deste
trabalho.
vi
Resumo da Tese apresentada ao IM/NCE/UFRJ como par te dos requisitos necessários para a obtenção do grau de Mestre em Ciências (M.Sc.)
Autoria e Apresentação de Documentos Multimídia Adaptativos em Redes
Roberta Lima Gomes
Agosto/2001
Orientadores: Prof. Luiz Fernando Rust da Costa Carmo
Profa. Luci Pirmez
Departamento: Informática
Os sistemas multimídia distribuídos empregam uma tecnologia aplicável em vários domínios como, em particular, os ambientes de ensino a distância. Considerando que os documentos multimídia são normalmente compostos de mídias contínuas, a apresentação destes documentos pode demandar uma grande quantidade de recursos devido às dimensões dos dados e às restrições de QoS das mídias. A disponibilidade de recursos em ambientes distribuídos no instante da apresentação é variável e imprevisível. Desta forma, os recursos disponíveis para a apresentação do documento multimídia podem ser insuficientes, resultando em uma degradação arbitrária da qualidade da apresentação. Uma forma de se tratar a escassez de recursos é tornar os documentos multimídia adaptativos. Este trabalho de pesquisa apresenta um formato flexível para a especificação de documentos multimídia adaptativos. É definida, também, uma arquitetura para a implementação de dois mecanismos de adaptação propostos. Sobre essa arquitetura são realizados alguns testes de desempenho para verificar a viabilidade da proposta de adaptação.
vii
Abstract of Thesis presented to IM/NCE/UFRJ as a partial fulfillment of the
requirements for the degree of Master of Science (M.Sc.)
Authoring and Presentation of Adaptive Multimedia Documents over Networks
Roberta Lima Gomes
August/2001
Advisors: Luiz Fernando Rust da Costa Carmo, Dr, UPS
Luci Pirmez, D.Sc.
Department: Informatics
Multimedia presentations are applicable in various domains such as distance learning. Since multimedia documents may comprise continuous medias, the presentation of those documents may require vast system resources due to the huge amount of data and to their QoS restraints. The availability of resources in a distributed environment at presentation time is variable and potentially unpredictable. Hence, it can happen that there are not sufficient resources to render a multimedia document according to its specification, resulting in an arbitrary decrease of presentation’s quality. To handle resource scarcity multimedia documents can be made adaptable to different resource availability. This research project presents a flexible format to the specification of adaptable multimedia documents. An architecture over which are implemented two proposed adaptation mechanisms is defined. Some performance tests are also performed in order to check the assessment of the adaptation proposal.
2.1 Modelos e Meta-Linguagens para Arquitetura de Documentos Multimídia ..... 8 2.1.1 ODA ........................................................................................................ 8 2.1.2 SGML ...................................................................................................... 9 2.1.3 XML ...................................................................................................... 10
Capítulo 4 Implementação e Execução da Estratégia de Adaptação................. 27
4.1 Metodologia de Adaptação............................................................................ 27 4.1.1 Execução dos Mecanismos de Adaptação............................................... 30 4.1.2 Reinício da Apresentação Adaptada....................................................... 33
Capítulo 5 Avaliação da Estratégia de Adaptação ............................................. 43
5.1 Análise do Atraso no Nível de Chaveamento de Fluxos................................. 44 5.1.1 Caso 1: Adaptação Suave (mesma sessão RTP)...................................... 45 5.1.2 Caso 2: Adaptação Forte (sessões RTP diferentes).................................. 46
5.2 Análise do Atraso no Nível de Documento (Adaptação forte) ........................ 47 5.2.1 Metodologia........................................................................................... 48 5.2.2 Resultados.............................................................................................. 50
5.3 Análise dos Resultados.................................................................................. 51
Capítulo 6 Verificação Semântica das Informações de Adaptação.................... 54
6.1 Consistência das Informações de Adaptação................................................. 54
6.2 Ferramenta de Verificação de Consistência de Documentos Adaptativos...... 57 6.2.1 Análise de Requisitos............................................................................. 57 6.2.2 Implementação da Ferramenta SCL Semantics........................................ 58 6.2.3 Interface da Ferramenta SCL Semantics.................................................. 63
Publicações da Autora.............................................................................................. 85
x
LISTA DE FIGURAS
Figura 3.1 – Arquitetura de restituição da informação................................................. 20
Figura 3.2 – Dependências condicionais entre objetos de mídia .................................. 22
Figure 3.3 – Representação de um objeto link ............................................................. 22
Figura 3.4 – Exemplo de documento SCL................................................................... 23
Figura 3.5 – Documento SCL referente ao documento adaptativo da figura 3.2........... 25
Figura 4.1 – Benefit function de um vídeo................................................................... 28
Figura 4.2 – Documento adaptativo (a e b) e documento adaptado (c) (1o exemplo) .... 31
Figura 4.3 – Dependências condicionais (1o exemplo) ................................................ 31
Figura 4.4 – Documento adaptativo (2o exemplo)........................................................ 32
Figura 4.5 – Dependências condicionais (2o exemplo) ................................................ 32
Figura 4.6 – Arquivos SMIL adaptados (2o exemplo).................................................. 33
Figura 4.7 – Possíveis reinícios de uma apresentação após sua adaptação ................... 34
Figura 4.8 – Mídia “B” substitui “A” (dB≠dA).............................................................. 35
Figura 4.9 – Principais módulos do sistema................................................................. 36
Figura 4.10 – Conjunto de parâmetros de QoS............................................................ 39
Figura 4.11 – Execução do processo de busca por links condicionais disparados......... 41
Figura 5.1 – Tempo de chaveamento para 5 rodadas distintas (adaptação suave)......... 45
Figura 5.2 – Tempo de chaveamento para 5 rodadas distintas (adaptação forte) .......... 46
Figura 5.3 – Documentos adaptativos com diferentes números de links condicionais ..48
Figura 5.4 – Atraso introduzido na adaptação forte pelo número de links condicionais51
Figura 6.1 – Caminhos de liks distintos chegando a uma mesma mídia....................... 55
Figura 6.2 – Link condicional nunca disparado............................................................ 55
Figura 6.3 – Link condicional desativando mídia já apresentada, para tB<tf≤tA ............. 56
Figura 6.4 – Diagrama de estados para o escalonamento de uma apresentação............ 59
Figura 6.5 – Apresentação de um documento adaptativo............................................. 61
Figura 6.6 – Apresentação adaptada............................................................................ 61
Figura 6.7 – Agregação dos diagramas de estados....................................................... 61
Figura 6.8 – Ferramenta SCLSemantics: diagrama de estados inicial ........................... 64
Figura 6.9 – Ferramenta SCLSemantics: caminhos representando adaptações.............. 65
Figura 6.10 – Ferramenta SCLSemantics: caminhos representando adaptações............ 65
xi
Figura 6.11 – Módulo complementar (diagrama de links condicionais) ....................... 66
LISTA DE TABELAS
Tabela 3.1 – Diferentes abordagens adaptativas e suas principais características. ........ 26
Tabela 5.1 – Atrasos medidos durante a adaptação de três documentos com números
distintos de links condicionais ................................................................ 50
Capítulo 1 Introdução
As redes de computadores, inicialmente, eram utilizadas para transmitir dados
do tipo textual, independentes do tempo. Com o crescimento das redes de alta
velocidade e das tecnologias multimídia (captura, armazenamento e apresentação), os
sistemas multimídia distribuídos tornaram-se fundamentais, permitindo a execução de
aplicações como vídeo-conferência e telefonia IP. No futuro, a tendência é que produtos
para ensino a distância, simulação distribuída e grupos de trabalho distribuídos tornem-
se bastante comuns.
1.1 Sistemas Distr ibuídos Multimídia
Atualmente, a multimídia é uma tecnologia indispensável na infraestrutura de
comunicação de dados devido à sua grande fidelidade em representar a informação. Os
documentos multimídia são compostos por objetos de mídia discreta, como imagens e
textos, e contínua, como vídeos e áudios. A utilização de mídias contínuas torna o
processo de apresentação de documentos multimídia em sistemas distribuídos uma
tarefa complexa, exigindo uma disponibilidade bastante considerável de capacidade de
transmissão e processamento.
De uma forma geral, as aplicações multimídia distribuídas apresentam três
grandes dificuldades [24]: (i) se comparadas às aplicações textuais tradicionais, as
aplicações multimídia exigem muito mais banda de transmissão; (ii) aplicações
multimídia apresentam tráfegos com característica de tempo real, onde os dados (e.g.
áudio e vídeo) devem ser apresentados continuamente na mesma taxa em que foram
produzidos, limitando o atraso de transmissão, bem como a variação deste atraso; e (iii)
os fluxos de dados multimídia, normalmente, apresentam rajadas, o que pode causar a
2
perda de dados devido à falta de espaço em memória (buffers) no sistema local ou nos
pontos intermediários da rede.
Contrastando com as exigências por altas bandas de transmissão, tráfego de
tempo real e tráfego em rajadas, o cenário atual apresenta as redes de computadores
sendo compartilhadas por milhões de usuários, possuindo uma banda limitada com
atrasos médios e disponibilidade de acesso imprevisíveis. Consequentemente, pode
ocorrer escassez de recursos durante a apresentação de documentos multimídia
distribuídos, ocasionando a danificação ou até mesmo a interrupção da apresentação.
A maneira de se resolver esta situação conflitante é um desafio que deve ser
enfrentado pelos sistemas multimídia em redes. Portanto, uma questão muito importante
a ser considerada para a transmissão de tráfego multimídia é a que diz respeito à
qualidade de serviço (QoS), tornando-se uma exigência cada vez mais freqüente nas
redes de computadores que suportam este tipo de tráfego.
1.1.1 Qualidade de Serviço
O termo qualidade de serviço (QoS) surgiu no campo das comunicações para
que se tornasse possível a descrição de determinadas características técnicas de
transmissões de dados. O modelo de referência OSI (Open System Integration)
apresenta um certo número de parâmetros os quais descrevem a taxa e a confiabilidade
da transmissão (desempenho, atraso médio, taxa de erro e probabilidade de falha, etc.).
A utilização desses parâmetros ocorre nas camadas mais baixas da pilha de protocolos,
não sendo acessados no nível de aplicação, o que leva a qualidade de serviço OSI a ser
considerada incompleta.
Considerando que, atualmente, os dados com restrições temporais prevalecem
nas aplicações multimídia, é importante que todo o sistema distribuído interaja para que
os níveis de desempenho requisitados sejam garantidos. Durante a inicialização de uma
aplicação, os requisitos de serviço definidos devem ser enviados para os outros
componentes (nós) do sistema. Geralmente, o processo de negociação entre os nós
3
determina se os mesmos podem, como um todo, satisfazer o nível de qualidade de
serviço requisitado.
Na literatura são encontradas várias definições de qualidade de serviço, como:
“uma descrição quantitativa de quais serviços oferecidos pelo sistema, expressos como
um conjunto de pares de parâmetros, satisfazem as necessidades da aplicação” [23]; ou
“um conjunto de parâmetros que define as propriedades de fluxos de mídia” [40].
Apesar de não existir uma padronização, a qualidade de serviço oferecida por
um recurso de um determinado sistema pode ser caracterizada de acordo com os
seguintes critérios [29]:
(i) Throughput, ou largura de banda, é definido como um produto entre o tamanho ou
número de unidades de dado e a taxa na qual as unidades são processadas.
(ii) Delay, ou atraso fim-a-fim, é o tempo gasto desde a geração de um dado até sua
exibição.
(ii i) Jitter é a variação média do atraso fim-a-fim entre unidades de dados de um
mesmo fluxo de mídia.
(iv) Reliability, ou grau de confiabilidade, é caracterizada pela razão de pacotes
perdidos e a razão de bits errados.
Em [32], é apresentada uma noção mais generalizada de qualidade de serviço:
“qualidade de serviço representa o conjunto de características quantitativas e
qualitativas de um sistema multimídia distribuído necessário para atingir a
funcionalidade exigida por uma aplicação” . Neste caso, “ funcionalidade” pode ser
entendida como a apresentação apropriada do dado multimídia ao usuário, ocasionando
a satisfação geral do mesmo. No entanto, a maioria dos sistemas multimídia distribuídos
trata a questão da qualidade de serviço do ponto de vista do sistema computacional,
empregando políticas dinâmicas de gerência de recursos baseadas em mecanismos de
monitoramento dos parâmetros técnicos de QoS [2].
4
Embora os parâmetros técnicos sejam úteis, eles possuem pouco significado para
o usuário final. Considerando a perspectiva do usuário, a qualidade de serviço oferecida
durante uma apresentação está associada à possibilidade de assimilar os conteúdos
informacionais da mesma. Muitas vezes, a quantidade de recursos alocada a uma
aplicação multimídia pode não interferir na percepção por parte do usuário [30].
Em [11], George Ghinea define Qualidade de Percepção (Quality of Perception
– QoP) para representar a QoS do ponto de vista do usuário. Segundo Ghinea, QoP é um
termo que abrange tanto a satisfação com relação à qualidade da apresentação, quanto a
habilidade de analisar, sintetizar e assimilar o conteúdo informacional das mídias
exibidas.
1.1.2 Adaptação em Sistemas Distr ibuídos
Considerando a variabilidade e a imprevisibilidade caracterizadas nos sistemas
de rede, as apresentações multimídia executadas de forma distribuída podem não ter
seus requisitos de QoP e de QoS respeitados. A reserva de recursos e as técnicas de
admissão convencionais não são capazes de garantir uma qualidade de serviço sem um
considerável desperdício de recursos e uma ineficiente utilização dos mesmos [9]. Há,
portanto, uma necessidade latente de que os sistemas distribuídos apresentem uma
natureza adaptativa, de forma a suavizar o impacto da escassez de recursos sobre o
usuário final. Ao adotar mecanismos de adaptação, as aplicações passam a tolerar
flutuações na disponibilidade de recursos, ou a infra-estrutura de rede torna-se capaz de
moldar-se às mudanças dinâmicas nos requisitos das aplicações.
Várias propostas e implementações de sistemas levantam a questão da
adaptabilidade para a transmissão de mídias em ambientes distribuídos. Cristina
Aurrecoechea [2] descreve uma variedade de mecanismos de adaptação da qualidade de
serviço. Por exemplo, filtros de QoS localizados em pontos específicos na rede que
transcodificam os fluxos que passam por eles de acordo com a capacidade do link e os
recursos do cliente (Heidelberg QoS model); mecanismos de adaptação da taxa de envio
do emissor (Closed-loop flow control); e camadas incrementais de QoS enviadas por
multicast (Layered Multicast). Já em [37], “Gerenciamento de QoS” (QoS Management)
5
é apresentado como um mecanismo adaptativo para a configuração e o controle dos
recursos fim-a-fim. Esta adaptação é implementada através de um balanço e uma
redistribuição dos recursos locais e de rede, a partir de notificações emitidas por
mecanismos de monitoramento de QoS. Os elementos de rede devem, portanto, fornecer
mecanismos como monitoramento de buffers. Entretanto, todos esses mecanismos se
preocupam apenas com parâmetros de tráfego específicos e com a percepção direta do
usuário com relação a mídias isoladas. A apresentação de um documento multimídia,
considerando todos os seus fluxos de mídias distintas e suas relações semânticas, não é
tratada como um todo.
O CMIF (CWI Multimedia Interchange Format) [3,4] define um modelo para as
apresentações multimídia, permitindo a especificação de formatos alternativos de
codificação para um mesmo objeto de mídia ou a definição de uma mídia alternativa.
Uma vez efetuada a seleção do formato a ser apresentado, não será mais possível a
interrupção da mídia devido à violação de seus parâmetros de qualidade de serviço
(QoS). Neste caso, apenas o instante em que a transmissão da mídia é solicitada é
considerado. Nenhuma adaptação é oferecida uma vez que o fluxo de mídia já tenha
sido estabelecido.
A adaptabilidade a nível de apresentação também é considerada em [39], onde é
apresentada uma proposta de extensão ao modelo temporal TIEMPO [38]. Nesse
modelo é permitido especificar documentos multimídia flexíveis com alternativas de
grupos de mídia (trechos da apresentação) a serem apresentados (informações
redundantes). Um algoritmo de escalonamento adaptativo é executado em intervalos
predeterminados de tempo, podendo haver uma sobrecarga de processamento.
1.2 Objetivos
O trabalho descrito nesta dissertação foi desenvolvido como parte do projeto
ServiMídia [5], um projeto de pesquisa na área de redes de computadores e de ensino à
distância. A autoria, o armazenamento e a recuperação de documentos multimídia
fazem parte do escopo deste projeto. O objetivo básico está na necessidade de se
acomodar em um mesmo ambiente multimídia de ensino (baseado no paradigma
6
cliente/servidor) usuários com diferentes perfis de sistema e recursos de comunicação.
Dentro deste cenário, a qualidade da apresentação multimídia pode ser afetada de
acordo com a quantidade de recursos disponíveis na rede, o que poderá interferir na
qualidade de percepção verificada pelo usuário. Um mesmo documento, quando
recuperado por diferentes usuários, pode ser interpretado de maneira completamente
distinta.
Esse trabalho tem como proposta tornar as aplicações multimídia adaptativas, de
forma a contornar, dinamicamente, o problema da escassez de recursos. Dentro dessa
proposta, é definida uma estratégia de autoria e apresentação de documentos adaptativos
baseada na especificação de arquivos de controle associados a documentos multimídia
convencionais. Um arquivo de controle contém, portanto, as informações necessárias
para a realização da adaptação de um documento multimídia. Para a especificação desse
arquivo, foi criado o SCL (SMIL Control Language), uma linguagem descritiva baseada
em XML. Os elementos do SCL permitem a especificação de parâmetros de QoS, assim
como a definição de mídias alternativas e das condições para que as mesmas sejam
ativadas durante uma adaptação.
Nesta estratégia descrita acima também são definidos os mecanismos de
adaptação que, com base em informações de monitoramento, são executados durante a
apresentação dos documentos. As condições do sistema no decorrer da apresentação
multimídia e as informações de controle definem quando e como os mecanismos de
adaptação devem ser executados. Caso a adaptação seja executada, a estrutura lógica da
apresentação é alterada de forma a permitir que os usuários absorvam corretamente o
conjunto de conceitos idealizados pelo autor durante a etapa de autoria,
independentemente das condições do ambiente de comunicação.
Para a execução dos mecanismos de adaptação foi desenvolvida a arquitetura de
um sistema de restituição seguindo o paradigma cliente-servidor. O Adapter, módulo
desta arquitetura responsável pela reestruturação da apresentação multimídia em tempo
real, foi implementado. Com objetivo de verificar a viabilidade da estratégia de
adaptação foram, então, realizadas medidas de desempenho sobre esse módulo.
7
Durante o desenvolvimento da estratégia de adaptação, foi verificado que a
autoria de documentos adaptativos poderia resultar em informações de adaptação
inconsistentes. Para auxiliar o autor a identificar essas inconsistências foi desenvolvida
uma ferramenta gráfica (SCL Semantics) que, com base em simulações, permite a
verificação da consistência semântica dos documentos adaptativos.
Este trabalho está estruturado em sete capítulos. O capítulo 2 apresenta uma
visão geral de alguns modelos para a padronização da arquitetura de documentos
multimídia. Também são descritas algumas linguagens que utilizam conceitos e
características apresentados por esses modelos. O capítulo 3 introduz alguns conceitos
de adaptação em apresentações multimídia distribuídas. Além disso, o capítulo
apresenta a estratégia de autoria de documentos adaptativos desenvolvida neste
trabalho. O capítulo 4 apresenta a metodologia de adaptação e alguns exemplos
ilustrando o processo de adaptação. Em seguida, o capítulo descreve a arquitetura do
sistema de restituição desenvolvido. O capítulo 5 apresenta os testes executados com o
objetivo de se avaliar a viabilidade da proposta deste trabalho. Neste capítulo são
apresentados os resultados experimentais obtidos através de algumas medidas de
desempenho realizadas no sistema implementado. O capítulo 6 apresenta questões
relativas à semântica das informações de adaptação. Neste capítulo também é descrita
uma ferramenta desenvolvida durante o trabalho para auxiliar a identificação de
inconsistências semânticas em documentos adaptativos. Por fim, no capítulo 7 são
apresentadas as conclusões finais do trabalho e são apontadas algumas sugestões de
trabalhos futuros com o objetivo de dar continuidade ao Projeto ServiMídia.
8
Capítulo 2 Documentos Multimídia
Um documento multimídia é constituído por objetos de mídia de diferentes tipos
apresentados em instantes de tempo distintos. A integração temporal das diferentes
mídias é atingida através de relações bem definidas entre suas unidades de informação,
denominadas relações de sincronização. Durante a etapa de autoria de um documento
multimídia, além da especificação de seu comportamento temporal também são
realizadas a estruturação lógica da apresentação (descrevendo abstrações para os objetos
de mídia, assim como uma organização dessas abstrações) e a organização espacial
entre os objetos de mídia (os objetos visuais são devidamente posicionados).
2.1 Modelos e Meta-L inguagens para Arquitetura de Documentos
Multimídia
Nos últimos anos, pôde-se observar um grande esforço no sentido de padronizar
a arquitetura de documentos multimídia. Foram criados padrões como ODA
(Office/Open Document Architecture) e SGML (Standard Generalized Markup
Language), o que disponibilizaria formatos neutros para o armazenamento de
documentos.
2.1.1 ODA
ODA é um padrão internacional (ISO 8613) [15,25] para a representação da
estrutura e do conteúdo de um documento. Ele define uma arquitetura abstrata que
facilita o intercâmbio desses documentos, tornado-os independentes de plataforma. O
padrão ODA organiza, de forma hierárquica (estrutura em árvore), a informação de um
documento em três partes: (i) estrutura lógica; (ii) estrutura de layout – o
posicionamento do conteúdo nas páginas; e (iii) conteúdo – as mídias efetivamente. A
9
estrutura lógica associa o conteúdo do documento a objetos lógicos, como capítulos,
parágrafos e figuras, enquanto a estrutura de layout associa esse conteúdo a objetos
físicos, como páginas e áreas. Para a apresentação do documento, é definido um
mapeamento entre essas duas estruturas.
Grande parte dos modelos de estrutura utilizada atualmente baseia-se no modelo
de estrutura em árvore de ODA. A estrutura em árvore é bastante indicada para a
representação de documentos convencionais ou multimídia. No entanto, este método
dificulta a representação de informações não-lineares entre esses objetos (e.g. objetos
que podem ser acessados de várias formas, através de interatividade). Uma segunda
fraqueza de ODA é a falta de um mecanismo para descrever relacionamentos temporais
entre objetos.
2.1.2 SGML
O SGML [16] é uma meta-linguagem criada em 1986 como padrão internacional
(ISO 8879) para a definição de linguagens de markup. As linguagens de markup
permitem ao autor especificar um documento representando as informações de
estrutura, apresentação e semântica juntamente ao conteúdo (HTML, ou Hypertext
Markup Language, é um exemplo de linguagem de markup). O SGML descreve
somente as propriedades formais e as inter-relações dos componentes de um documento,
definindo o seu conteúdo de forma independente de seu processamento.
Um documento SGML é dividido em três partes: (i) a declaração SGML; (ii) o
DTD (Document Type Definition); e (iii) a instância do documento. A declaração
SGML define quais caracteres são utilizados no DTD e no texto do documento. A
estrutura lógica do documento é definida em um DTD. O DTD especifica a gramática a
qual indica os tipos de markups e como elas se distinguem do texto convencional. A
instância do documento contém o texto do documento, incluindo uma referência ao
respectivo DTD.
Uma das desvantagens do SGML é não tratar o layout do documento, embora
isso possa ser resolvido através de especificações DSSSL [13]. Um outro problema do
10
SGML (talvez um de seus maiores problemas) é sua complexidade. Por consequência,
as ferramentas disponíveis para o tratamento de documentos SGML geralmente são
caras e difíceis de serem utilizadas.
2.1.3 XML
O XML (Extensible Markup Language) [33] é uma W3C Recommendation
resultante do trabalho de um grupo de especialistas estabelecido em 1996 pelo W3C
com o objetivo de propor uma simplificação do SGML que fosse voltada às
necessidades específicas da Web. Como o SGML era considerado muito complexo e o
HTML, a aplicação mais popular do SGML, muito específico para representar
informações de forma genérica, a linguagem XML ganhou destaque na Web.
XML é uma meta-linguagem de marcação (meta-markup language) que provê
um formato para descrever dados estruturados, facilitando descrições mais precisas do
conteúdo. Por ser uma meta-linguagem, o XML permite a definição de um número
infinito de tags (marcas), provendo um sistema para criação dessas tags para dados
estruturados. Desta forma ele provê uma representação estruturada dos dados que
mostra-se amplamente implementável e fácil de ser desenvolvida.
A mais importante característica do XML é separar os dados estruturados de sua
apresentação. Ele define o conteúdo do documento. No documento XML, as tags são
utilizadas para descrever a semântica de um determinado elemento, e não a forma como
ele deve ser apresentado. Isso assegura que os dados estruturados sejam uniformes e
independentes de aplicações e fornecedores. Além disso, por ser um padrão flexível,
aberto e independente de dispositivo, ele pode prover a capacidade de interoperabilidade
entre sistemas heterogêneos. Portanto, o XML provê um padrão que pode codificar o
conteúdo, as semânticas e as esquematizações para uma grande variedade de aplicações,
garantido, por exemplo, resultados mais significativos de busca através de múltiplas
plataformas.
O XML ainda conta com recursos como folhas de estilo definidas pelo
Extensible Style Language (XSL) e Cascading Style Sheets (CSS) para a apresentação
11
dos dados. O XML separa os dados da apresentação, o que permite visualizar e
processar o dado de várias formas, utilizando diferentes folhas de estilo e aplicações.
No XML, a definição de elementos e atributos bem como as regras para utilizá-
los é realizada através de DTDs (Document Type Definitions). As regras definidas em
um DTD ajudam a validar os dados, caso estes não estejam descritos internamente no
próprio documento (DTDs podem estar incluídos dentro de documentos XML ou
podem estar externos a eles). Portanto, um DTD XML permite que a aplicação
verifique, por exemplo, que o usuário inseriu um subtítulo de terceiro nível sem antes
ter inserido um de segundo nível. Ao contrário do SGML, o XML não exige que seja
definido um DTD para um documento. Mas o DTD é necessário para que os dados de
um documento sejam verificados e designados “dados XML válidos” (valid). Um
analisador de documentos pode checar os dados analisando as regras contidas no DTD
para ter certeza de que foram estruturados corretamente. Os dados enviados sem DTD,
mas que seguem as regras do XML, são designados “dados XML bem formados” (well
formed), mas não válidos. Com os dados XML válidos e bem formados, o documento
XML se torna auto-descritivo pois as tags dão idéia do conteúdo e encontram-se em
meio aos dados.
Devido ao formato do documento ser aberto e flexível, ele pode ser usado em
qualquer lugar onde a troca ou transferência de informação é necessária. Um exemplo
de utilização do XML é na descrição de informações sobre páginas HTML. O XML
pode ser inserido dentro de documentos HTML, o que foi definido pelo W3C como
data-islands. Esse recurso permite que um documento HTML possa ter múltiplas
formas de visualização quando se faz uso da informação semântica contida no XML.
Apesar de ter sido inicialmente planejado para a especificação de documentos
distribuídos pela Web, o XML tem sido amplamente adotado para permitir o
intercâmbio de informações entre vários tipos de aplicações. Em particular, ele é visto
como a melhor solução para o intercâmbio de meta-dados (e.g. Open Software
Description [34]) e de informações comerciais (e.g. Open Financial Exchange [26]).
12
2.2 Especificação de Documentos Multimídia
Várias linguagens de descrição de apresentações multimídia têm sido criadas,
algumas delas utilizando os conceitos e características apresentados pelos modelos
descritos na sessão anterior. No entanto, não existe ainda um consenso indicando qual
linguagem poderia se tornar um padrão. Algumas tentativas como o HyTime e o MHEG
chegaram a tornar-se padrões internacionais (ISO), mas falharam em não considerarem
a Internet como ambiente de armazenamento e recuperação dos documentos multimídia.
No âmbito de sistemas distribuídos, o SMIL aparece como resultado do empenho do
W3Consortium em definir recomendações e padrões para a área de multimídia e
Internet.
2.2.1 HyTime
O HyTime (Hypermedia/Time-based Structuring Language) [14] é um padrão
internacional para a representação de links de hipertexto e sincronização de informações
estáticas ou baseadas no tempo. Ele foi definido como uma extensão do SGML, e
resolve suas limitações fornecendo um modelo geral de hyperlinks (e sua sintaxe de
representação) utilizando elementos SGML.
O HyTime aceita todos os tipos de tecnologias multimídia e hipertexto, uma vez
que ele focaliza o intercâmbio da informação, e não sua apresentação (comportamento
similar ao do SGML). Os objetos em um documento HyTime podem ser compostos por
segmentos de áudio e vídeo, imagens, animações, gráficos, e até mesmo outros
documentos HyTime.
Apesar de possuir características como interoperabilidade e fornecer um modelo
bem elaborado de hyperlinks e sincronização, o HyTime não conseguiu atingir um
público satisfatório, tornando-se pouco familiar para a maioria dos usuários.
2.2.2 MHEG
O modelo MHEG (Multimedia and Hypermedia information coding Expert
Group) foi proposto por um comitê da ISO (ISO/IEC 13522-5) com o propósito de
13
descrever os relacionamentos (links condicionais e relações espaço-temporais) entre as
diferentes partes de uma apresentação multimídia. Ele baseia-se no conceito de
orientação a objeto e define uma variedade de classes a partir das quais são criados os
objetos MHEG (MH-objects). Essas classes são utilizadas para descrever a maneira
como um vídeo deve ser apresentado, um áudio é reproduzido, ou como o usuário pode
interagir com a aplicação apresentada. As relações criadas entre as instâncias dessas
classes constituem a estrutura da apresentação.
O MHEG é caracterizado pelos seguintes aspectos: (i) permite a especificação
de apresentações de tempo real utilizando recursos de sincronização entre mídias
baseado em objetos Links; (ii) permite interatividade através de objetos do tipo
Interactible; (iii) pode ser implementado em ambientes distribuídos com uma exigência
mínima de recursos de buffering e comunicação.
No MHEG-5 [17], uma das partes que compõem o padrão, foi desenvolvido um
interpretador MHEG (MHEG Engine) que exige poucos recursos para a apresentação de
aplicações multimídia. Desta forma, este interpretador pode ser executado em sistemas
do tipo set-top-boxes (mecanismos utilizados em sistemas de TV interativa).
Uma das principais características do MHEG-5 é permitir a distribuição de
aplicações multimídia em uma arquitetura do tipo cliente/servidor de diferentes
plataformas. As aplicações são inicialmente armazenadas em servidores. À medida que
as mesmas são apresentadas aos usuários, os MH-objects são enviados sob-demanda
para seus respectivos terminais. Nos sistemas clientes são executadas as engines
MHEG, responsáveis por interpretar e apresentar esses objetos, além de tratar as
interações dos usuários.
Apesar do MHEG ter sido idealizado para ser executado em ambientes
distribuídos, ele não se tornou um padrão de facto dentro do contexto da Internet.
Atualmente, o grupo MHEG se preocupa em fornecer uma codificação de formato
alternativa em XML para o MHEG-5, com o objetivo de promover o uso do MHEG
pela comunidade Web. Esta nova parte do MHEG (MHEG-8 [20]) foi aprovada em
1999, e atualmente seu DTD XML está sendo desenvolvido.
14
2.2.3 SMIL
Atualmente, a World Wide Web enfrenta o problema de não conseguir “manejar”
satisfatoriamente documentos contendo mídias contínuas como áudio e vídeo.
Documentos HTML não conseguem expressar as primitivas de sincronização
necessárias para a coordenação de partes independentes de dados contendo informações
temporais. Em 1997, o W3C (World Wide Web Consortium) Working Group
estabeleceu o SYMM (Working Group on SYnchronized MultiMedia) com o objetivo de
estudar a definição de um formato multimídia declarativo para a Web. Neste formato, as
interações de controle exigidas em aplicações multimídia deveriam estar codificadas em
um arquivo texto sob a forma de um conjunto estruturado de relações de objetos.
O SMIL (Synchronized Multimedia Integration Language) [36] é uma
linguagem baseada em XML que em 1998 foi submetida sob a forma de W3C
Recommendation em sua versão 1.0 pelo SYMM. O objetivo do SMIL é fornecer um
formato declarativo independente de plataforma para especificação de apresentações
multimídia em ambientes distribuídos. Trata-se de uma linguagem de markup simples,
porém poderosa. Do ponto de vista de arquitetura, o SMIL constitui um formato de
integração. Ele não descreve o conteúdo de nenhuma das partes de um documento
multimídia, mas ao contrário, define como vários componentes serão combinados
considerando a dimensão espaço-temporal para a criação de uma apresentação. Esta
linguagem não foi proposta para ser uma substituição de outros formatos individuais
(como o HTML, AIF ou MPEG). SMIL utiliza os objetos de informação codificados
nestes formatos e os combina em uma apresentação multimídia. Utilizando SMIL, um
autor pode: (i) descrever o comportamento temporal da apresentação; (ii) descrever a
disposição da apresentação em um display; e (iii) associar hyperlinks a objetos
multimídia.
Em 1999, o W3C apresentou através de um Working Draft uma nova versão do
SMIL, o SMIL Boston. Através do SMIL Boston seria possível o reuso da sintaxe e da
semântica definida pelo SMIL 1.0 em outras linguagens baseadas em XML. Por
exemplo, os componentes do SMIL Boston poderiam ser utilizados para integrar
características de temporização ao XHTML [12]. Em setembro de 2000, o SMIL Boston
15
foi renomeado SMIL 2.0 [35] e sua especificação encontra-se atualmente como uma
Proposed Recommendation. O SMIL 2.0 alterou uma pequena parte da sintaxe original
do SMIL 1.0, mas por motivos de compatibilidade, o W3C estipulou que players SMIL
(ferramentas que suportam o playback de documentos “application/smil” ) devem
suportar tanto SMIL 1.0 quanto SMIL 2.0.
2.3 Análise dos Requisitos do ServiMídia
Como foi dito anteriormente, o Projeto ServiMídia propõe o desenvolvimento de
aplicações multimídia adaptativas dentro do contexto de ensino à distância. Como esse
tipo de aplicação geralmente é executado em ambientes Web (internet ou intranet), é
interessante que a especificação dos documentos multimídia criados no ambiente
ServiMídia seja realizada utilizando-se uma linguagem já difundida na comunidade
WWW. Essa linguagem deve permitir o armazenamento e a apresentação desses
documentos de forma distribuída. Um outro requisito para esta linguagem é que ela seja
aberta, simples e flexível, permitindo a criação de extensões ou anotações contendo as
informações de adaptabilidade.
Tanto o HyTime quanto o MHEG são padrões poderosos para a especificação de
documentos multimídia. No entanto, eles apresentam alguns conceitos complexos e
sintaxes de especificação que tornam a criação de documentos multimídia uma tarefa
nada trivial para o autor. Por esse mesmo motivo eles não foram adotados dentro do
domínio WWW. Além disso, a extensão desses padrões é pouco viável por serem
padrões fechados.
A linguagem SMIL, por ser baseada em XML, é aberta e flexível. E da forma
como foi definido o seu DTD, sua sintaxe ficou simples e intuitiva. Esses foram os
principais motivos que levaram a comunidade WWW a adotá-la para a especificação de
documentos multimídia de forma distribuída. Para a especificação de documentos
multimídia dentro do ambiente ServiMídia foi adotado, portanto, o SMIL 1.0 (o SMIL
2.0 não foi escolhido por estar ainda em desenvolvimento).
16
O SMIL 1.0, originalmente, fornece algumas características de adaptabilidade,
não exploradas por outras linguagens de especificação. Através da tag “<switch>” , o
autor do documento pode especificar um conjunto de elementos alternativos dentre os
quais apenas um deve ser escolhido pelo player. Cada elemento dentro de um
“<switch>” possui um conjunto de atributos de teste, como “system-bitrate”, “system-
language” e “system-screen-size”. Um elemento é selecionado da seguinte forma: no
instante da apresentação do documento, o player avalia os elementos (de acordo com
seus atributos) na ordem em que aparecem no “<switch>” ; o primeiro elemento
aceitável é selecionado. Desta forma, os autores devem ordenar as alternativas da mais
desejável para a menos desejável. É aconselhável que o último elemento do “<switch>”
seja o mais livre de falhas, para que pelo menos um dos itens seja escolhido. A escolha
dentro do elemento “<switch>” é realizada com base em variáveis estáticas que são
configuradas nas ferramentas de apresentação de cada cliente.
Para os objetivos deste projeto, as características de adaptabilidade do SMIL
apresentam as seguintes limitações: (i) escolha de um elemento é feita com base em
variáveis estáticas configuradas pelo usuário; (ii) a escolha em si é estática, ocorrendo
somente antes do início da apresentação; (iii) a escolha é realizada de forma
independente em cada elemento “<switch>” . Portanto, a especificação de uma
adaptabilidade dinâmica para os documentos deve ser implementada através de outros
recursos mais elaborados (através de extensões ao SMIL ou anotações).
2.4 Resumo
Este capítulo apresenta uma visão geral de modelos para a padronização da
arquitetura de documentos multimídia. Também são descritas algumas linguagens que
utilizam conceitos e características apresentados por esses modelos e abordam três
aspectos fundamentais: estruturação lógica da apresentação, relações temporais e
relações espaciais entre os objetos multimídia que a compõem. Dentre as linguagens, o
SMIL foi escolhido para a especificação de documentos criados no ambiente
ServiMídia. Os principais motivos para esta escolha foram a flexibilidade e a
simplicidade do SMIL, além de ter sido desenvolvido para ser utilizado na Web.
17
Capítulo 3 Documentos Multimídia Adaptativos
À medida que os sistemas multimídia distribuídos (SMDs) tornam-se maiores e
mais rápidos, o gerenciamento de recursos para o suporte adequado de tráfego
multimídia torna-se mais complexo. A proposta deste trabalho é tentar resolver o
problema da disponibilidade de recursos de comunicação durante uma apresentação
multimídia tornando essa apresentação adaptativa. Como parte da proposta, é definido
um formato flexível para especificação de documentos multimídia adaptativos,
permitindo que o autor defina, através desta especificação, o comportamento da
adaptação.
Neste capítulo é discutida a questão da adaptação em sistemas distribuídos. Em
seguida é detalhada a estratégia de autoria adaptativa desenvolvida neste trabalho. Esta
estratégia tem o objetivo principal de descrever formas alternativas para a apresentação
do documento e os critérios de seleção, baseados em relacionamentos semânticos, que
definem os momentos de ativá-las.
3.1 Adaptação em Sistemas Multimídia Distr ibuídos
Tipicamente, o gerenciamento de aplicações em SMDs exige que, antes da
execução, uma aplicação determine seus requisitos de QoS para parâmetros como
qualidade de imagem e som, tempo de resposta e grau de sincronização. Esses requisitos
são, então, traduzidos em um conjunto de recursos de sistemas (e.g. banda de
transmissão, memória, etc.) alocados para a aplicação. Um processo de negociação de
QoS e uma infraestrutura de gerenciamento de QoS garantem que todos os componentes
de sistema forneçam suas parcelas dos recursos requisitados durante o tempo de vida da
sessão. Esse método funciona consideravelmente bem em ambientes homogêneos, onde
18
a alocação de recursos é realizada de forma direta e as aplicações não são muito
complexas.
Para redes e aplicações mais complexas, o método descrito anteriormente passa
a ser insuficiente. Os SMDs podem não atingir a negociação da QoS, ou quando
conseguem, podem não ser capazes de manter os níveis de QoS negociados através de
toda a rede por grandes períodos de tempo. Algumas razões para este fato são:
(i) muitos sistemas de redes, como a própria Internet, são do tipo best-effort (melhor
esforço), tornando a reserva de recurso uma tarefa muito difícil de ser atingida;
(ii) SMDs são heterogêneos e envolvem vários tipos de componentes de comunicação
e processamento;
(ii i) a grande variação na carga das redes geralmente causa congestionamentos
temporários, aumentando o atraso e a taxa de erro detectados; falhas transientes
nos nós e reconfigurações da rede apresentam efeitos similares; o monitoramento
dinâmico da QoS e a renegociação tornam-se necessários, resultando em um
aumento na complexidade do sistema.
Para viabilizar o gerenciamento de recursos em sistemas complexos como
SMDs, dois caminhos podem ser tomados [10]:
(i) utilizar técnicas de alocação de recursos, apesar do custo em termos de
complexidade e overhead;
(ii) tornar as aplicações (e outros componentes de sistema) mais tolerantes às
inevitáveis flutuações no desempenho do ambiente de suporte; neste caso é
utilizada a noção de aplicações adaptativas, projetadas para lidar com variações de
QoS de forma a amenizar seus efeitos sobre o usuário final.
Grande parte das aplicações atuais não é adaptativa ou apresenta uma
adaptabilidade limitada. Neste último caso, as aplicações reagem a flutuações repentinas
na QoS executando transições de estado “pesadas” , podendo apresentar um
19
comportamento imprevisível. Até hoje, nenhuma metodologia para projetar aplicações
adaptativas foi estabelecida. No entanto, algumas soluções e várias implementações ad
hoc já existem [2,3,4,38,39].
A abordagem de adaptação apresenta algumas vantagens. A primeira delas é que
os processos de negociação de QoS e gerenciamento de recursos podem ser
simplificados ou totalmente omitidos. Além disso, adaptabilidade é uma pré-condição
necessária dentro de alguns contextos (e.g. ambientes móveis). Por último, sistemas
adaptativos são resistentes às mudanças evolutivas dos ambientes de rede, possuindo
maiores tempos de vida e, portanto, apresentando uma maior viabilidade econômica.
Em 1994, as conclusões resultantes do Dagstuhl Seminar on the Fundamentals
and Prespectives of Multimedia Systems [8] demonstraram a significância deste
problema. Seus participantes identificaram o seguinte problema como sendo um dos três
grandes problemas na pesquisa de sistemas multimídia: “como adaptar as aplicações
multimídia dinamicamente e continuamente aos seus ambientes de execução, fazendo
com que as mesmas ofereçam os melhores serviços possíveis sob quaisquer conjuntos
de condições”.
3.2 Estratégia de Autor ia de Documentos Multimídia Adaptativos
Em ambientes de ensino a distância, o autor deseja que um determinado
conjunto de conceitos seja transferido para o aluno através de um conjunto de
documentos multimídia. Este conjunto de conceitos é representado, no modelo mental,
sob a forma de uma rede semântica. O processo de mapeamento, ilustrado na figura 3.1,
ou a realização desta rede semântica em um conjunto de documentos multimídia faz
parte da etapa de autoria destes documentos. Uma especificação flexível dos
documentos permite que usuários com diferentes perfis de sistema possam absorver
corretamente o conjunto de conceitos originais. As condições do sistema no momento
da restituição dos documentos e de suas respectivas mídias determinam a estrutura
lógica a ser apresentada ao usuário.
20
Conjunto de Conceitos
Conj. de Documentos Multimídia
Mapeamento/ Realização
Restituição da Apresentação
Figura 3.1 – Arquitetura de restituição da informação
Dentro da proposta apresentada neste trabalho, a especificação flexível de um
documento multimídia é obtida através da criação de dois arquivos distintos. No
primeiro arquivo, é especificada uma apresentação multimídia convencional utilizando-
se como linguagem de especificação o SMIL 1.0 [36]. Este documento contém, então, a
estrutura lógica ideal ou original da apresentação multimídia que seria executada em um
sistema com todos os recursos necessários disponíveis.
O segundo arquivo (arquivo de controle ou anotação) é composto por
informações de controle necessárias à realização da adaptação da apresentação. Para a
especificação do arquivo de controle, foi definida, dentro deste trabalho, a linguagem
Smil Control Language (SCL), baseada no XML [33].
3.3 Arquivos de Controle
No arquivo de controle são descritos os requisitos de QoS dos elementos do
documento original e as alternativas para estes elementos. Também são especificadas as
dependências condicionais entre esses objetos, o que permitirá a realização de uma
reestruturação coerente no formato do documento durante sua adaptação (preservando a
qualidade de percepção do documento).
A abordagem adotada (informações de controle externas ao arquivo SMIL)
garante a interoperabilidade do ambiente com sistemas multimídia já existentes, além de
simplificar o desenvolvimento de um player para apresentar os documentos adaptativos.
Esta abordagem baseou-se no conceito de acesso universal (Universal Multimedia
21
Access – UMA) adotado pelo grupo de desenvolvimento do MPEG-7 [18,19]. O
objetivo dos sistemas de acesso universal é criar diferentes apresentações da mesma
informação para atender diferentes formatos, equipamentos e redes, a partir de uma
mesma especificação (base de informação).
3.3.1 Especificação de Dependências Condicionais
A maioria das propostas de adaptabilidade trata os objetos multimídia de uma
mesma apresentação de forma independente. Essas adaptações no nível de objeto, ou no
nível de codificação, são limitadas à estrutura lógica estática do documento permitindo
apenas a descrição de alternativas para os objetos de mídia. Além disso, da maneira
como estas alternativas têm sido especificadas, a adaptação é executada simplesmente
através de uma escolha entre o conjunto de alternativas de cada objeto antes do início da
apresentação. Não é possível interromper outros objetos como parte deste processo de
adaptação.
Para realizar uma adaptação no nível da aplicação, realizando uma
reestruturação do documento como um todo, este trabalho propõe a especificação de
dependências condicionais entre os diferentes objetos.
As dependências condicionais (ou relacionamentos semânticos) [6] foram
propostas para que se pudesse explorar o conhecimento de relações semânticas entre os
diversos objetos de mídia. As dependências condicionais expressam relações de
causalidade entre os objetos que estão relacionados semanticamente, ajudando a
descrever os requisitos de seleção de um objeto com relação a outros objetos. Desta
forma, a apresentação de uma determinada mídia pode ser dependente da apresentação
de outras mídias com as quais ela possui relações de causalidade. A especificação de
dependências condicionais permite que durante a adaptação de um documento
multimídia seja realizada uma reestruturação coerente no formato do documento.
Por exemplo, um objeto de áudio “A” descrevendo um vídeo “V” deve ser
apresentado apenas enquanto este vídeo também for apresentado. Através da
especificação de uma dependência condicional entre as duas mídias (figura 3.2), o autor
22
pode garantir que, no instante da apresentação, caso o vídeo seja interrompido devido a
uma escassez de recursos no sistema (local ou de comunicação), o áudio também seja
interrompido. Além disso, o autor também pode descrever mídias alternativas para “V”
e “A” . Como a figura 3.2 mostra, isto pode ser feito através da especificação de duas
outras dependências condicionais: a primeira entre “V” e “An1” (“An1” deve ser
apresentado somente se “V” for interrompido), e a segunda entre “An1” e “T2” (“T2”
deve ser apresentado somente se “An1” também for apresentado). Portanto, a descrição
dessas dependências condicionais permite que o processo de adaptação execute uma
reorganização na estrutura do documento mantendo a semântica desejada pelo seu autor.
Objetos Alternativos
“Se V interrompido, iniciar An1”
Áudio
Vídeo
Texto
T
“Se V interrompido, interromper A”
An1
T2
“Se An1 iniciado, iniciar T2”
����� ����� �
V
A
Objetos Originais
Figura 3.2 – Dependências condicionais entre objetos de mídia
NN11
TargetAction
SSoouurrccee CCoonnddiittiioonnss NN22
NN33
NN44
LinkSource
LinkTarget
SSoouurrcceeDDeexxpprr
Figure 3.3 – Representação de um objeto link
Para a especificação de dependências condicionais, é utilizado o conceito de
objeto link (link condicional). Como a figura 3.3 mostra, um link consiste de um
LinkSource (origem do link) e um LinkTarget (“alvo” do link). O LinkSource, por sua
vez, consiste de uma lista de SourceConditions (condições associadas a diferentes
objetos de mídia “Ni” ), as quais são combinadas através de uma expressão lógica
definida no SourceDexpr (definindo a condição de disparo ou ativação do link). O
23
LinkTarget é formado por uma TargetAction, a qual é associada a apenas um objeto e é
executada quando o link é disparado. Dentro da linguagem SCL são definidos dois tipos
de links: startlink e stoplink, para apresentar e interromper um objeto, respectivamente.
Os links condicionais, da forma como estão definidos, são unidirecionais.
Quando é detectada uma escassez de recursos no sistema é executada uma adaptação,
realizando-se a reestruturação do documento (seguindo-se os links condicionais
definidos pelo autor). Se essa escassez for temporária e o sistema retornar a seu estado
inicial, voltando a haver recursos suficientes para a execução da apresentação original,
não será possível realizar a adaptação no sentido inverso (i.e. reestruturar o documento
seguindo os links condicionais no sentido contrário).
3.3.2 A linguagem SCL
SCL é uma linguagem de marcação baseada em XML que permite a
especificação de dados estruturados para descrever as informações de controle de um
documento adaptativo. Para a definição do SCL foi criado um DTD (apêndice A) onde
são especificados todos os elementos da linguagem (tags¸ou marcas) e as regras de
utilização destes elementos.
<scl > <cont r ol s> <descr i pt i on about =“ a2” r est ar t =“ medi a” > <mi nRequi r ement s bw=“ 8kbps” > <maxRequi r ement s bw=“ 16kbps” > <st opl i nk expr =“ ( v2: st opped) ” > </ descr i pt i on> . . . </ cont r ol s> <al t er nat i ves> <r epl ace t ar get =“ v2” > <st ar t l i nk expr =“ ( v2: st opped) ” > <r egi onToAdd> <r egi on i d=“ r p3” t i t l e=“ r p3” . . . / > </ r egi onToAdd> <r esour ceToSubst i t ut e> <t ext i d=“ t 3” r egi on=“ t 3” . . . / > </ r esour ceToSubst i t ut e> </ r epl ace> . . . </ al t er nat i ves> </ sc l >
Figura 3.4 – Exemplo de documento SCL
24
A figura 3.4 apresenta um exemplo de um arquivo de controle com o
vocabulário da linguagem SCL. Basicamente, o arquivo SCL é dividido em dois grupos
de elementos: “<controls>” e “<alternatives>” . O grupo “<controls>” é formado pelas
informações de controle (e.g. parâmetros de QoS e dependências condicionais) relativas
aos objetos de mídia presentes no arquivo SMIL original. Cada elemento
“<description>” presente no grupo “<controls>” contém as informações de controle
referentes ao respectivo objeto de mídia (indicado pelo atributo “about” ). Um segundo
atributo do elemento “<description>” é o “restart” , utilizado para indicar em que
instante uma apresentação, após ser adaptada devido a uma falha de QoS na mídia
indicada pelo “about”, deverá ser reiniciada. O atributo “ restart” pode possuir os
seguintes valores: (i) “document” , indicando o reinício a partir do início do documento;
(ii) “media” , indicando o reinício a partir do início do elemento que substituiu a mídia
que sofreu a falha de QoS (i.e. início da mídia indicada por “about”); ou (iii) “ failure” ,
indicando o reinício do mesmo ponto em que ocorreu a falha de QoS.
Cada elemento “<description>” pode conter os seguintes elementos: (i)
“<maxRequirements>” e “<minRequirements>” , especificando os requisitos máximos e
mínimos para os parâmetros de QoS; e (ii) “<stoplink>” especifica um link condicional
descrevendo sob quais condições o respectivo objeto de mídia deve ser removido da
apresentação (o atributo “expr” possui a expressão lógica que deve ser satisfeita).
O grupo “<alternatives>” é formado pelas informações referentes às mídias
alternativas que poderão substituir os objetos de mídia originais na ocorrência de uma
adaptação. Cada elemento “<replace>” presente no grupo “<alternatives>” representa
um objeto de mídia alternativo (ou um conjunto de objetos). O “<replace>” pode conter
os seguintes elementos: (i) “<startlink>”, especifica um link condicional descrevendo
sob quais condições a alternativa deve ser ativada (o atributo “expr” possui a expressão
lógica que deve ser satisfeita); (ii) “<resourceToSubstitute>” , especifica o recurso
(mídias ou um conjunto de mídia descritas em SMIL) que substituirá o elemento
apontado pelo atributo “target” do respectivo “<replace>”; (iii) “<regionToAdd>” ,
especifica novas regiões no layout da apresentação adaptada.
25
Na figura 3.5 é ilustrada a utilização da linguagem SCL. Ela apresenta o
documento SCL referente ao documento adaptativo da figura 3.2.
<scl > <cont r ol s> <descr i pt i on about =“ V” r est ar t =“ medi a” > <mi nRequi r ement s bw=“ 16kbps” > <maxRequi r ement s bw=“ 64kbps” > </ descr i pt i on> <descr i pt i on about =“ A” r est ar t =“ medi a” > <mi nRequi r ement s bw=“ 8kbps” > <maxRequi r ement s bw=“ 16kbps” > <st opl i nk expr =“ ( V: st opped) ” > </ descr i pt i on> </ cont r ol s> <al t er nat i ves> <r epl ace t ar get =“ V” > <st ar t l i nk expr =“ ( V: st opped) ” > <r egi onToAdd> <r egi on i d=“ r - An1” t i t l e=“ r p3” . . . / > </ r egi onToAdd> <r esour ceToSubst i t ut e> <t ext i d=“ An1” r egi on=“ r - An1” . . . / > </ r esour ceToSubst i t ut e> </ r epl ace> <r epl ace t ar get =“ A” > <st ar t l i nk expr =“ ( An1: st ar t ed) ” > <r esour ceToSubst i t ut e> <t ext i d=“ T2” . . . / > </ r esour ceToSubst i t ut e> </ r epl ace> </ al t er nat i ves> </ scl >
Figura 3.5 – Documento SCL referente ao documento adaptativo da figura 3.2
3.4 Comparação com Outras Abordagens Adaptativas
Como foi descrito na sessão 1.1.2, várias propostas e implementações de
sistemas apresentam funcionalidades adaptativas para garantir a QoS de apresentações
multimídia distribuídas. Na tabela 3.1 é possível observar as principais características de
alguns sistemas e modelos adaptativos em comparação com a estratégia de adaptação
desenvolvida neste trabalho.
26
Descr ição Nível de
Adaptação
Considera a QoP da
Apresentação
Instante de Execução da Adaptação
Heidelberg QoS model [2]
Filtros de QoS que transcodificam os fluxos em função da capacidade do link e os recursos do cliente.
Objeto Não No decorrer da transmissão.
Closed-loop flow control [2]
Adaptação da taxa de envio do emissor.
Objeto Não No decorrer da transmissão.
Layered Multicast [2]
Camadas incrementais de QoS enviadas por multicast.
Objeto Não No decorrer da transmissão.
QoS Management [37]
Balanço e redistribuição dos recursos locais e de rede, a partir de notificações emitidas de monitoramento .
Objeto Não No decorrer da transmissão.
CMIF [3,4] Modelo para apresentações multimídia, permitindo a especificação de formatos alternativos para as mídias.
Aplicação Sim Quando a transmissão da mídia é solicitada.
TIEMPO [38,39]
Documentos multimídia flexíveis com alternativas de grupos de mídia.
Aplicação Sim Execução em intervalos predeterminados de tempo (sobrecarga).
Projeto ServiMídia
Descreve formas alternativas para a apresentação do documento e os cr itér ios de seleção, baseados em relacionamentos semânticos.
Aplicação Sim No decorrer da apresentação, sinalizada por monitoramento.
Tabela 3.1 – Diferentes abordagens adaptativas e suas principais caracter ísticas.
3.5 Resumo
Neste capítulo foram discutidas algumas questões referentes à adaptação de
apresentações multimídia em ambientes distribuídos. Os conceitos básicos envolvidos
com a adaptação de conteúdo também são apresentados. Também foi apresentada a
estratégia de autoria de documentos adaptativos desenvolvida no Projeto ServiMídia, a
qual define a especificação das informações de adaptação em um arquivo de controle,
mantendo-as externas ao documento multimídia original.
Foi apresentada a linguagem SCL, definida para se implementar a estratégia de
autoria. Através do SCL pode-se especificar o arquivo de controle que descreve as
alternativas e os relacionamentos entre elas de maneira a realizar uma adaptação
coerente da apresentação.
27
Capítulo 4 Implementação e Execução da Estratégia de Adaptação
Com o objetivo de suavizar o impacto das adaptações sobre os usuários e, ao
mesmo tempo, garantir que a grande variedade de alternativas disponíveis para cada
objeto possa ser utilizada, a metodologia de adaptação foi dividida em dois níveis. No
primeiro nível a adaptação é executada em cada objeto. No segundo nível a adaptação é
executada na aplicação como um todo. Os dois níveis de adaptação são implementados
através de dois mecanismos que, por sua vez, são aplicados de acordo com a
especificação do autor e com os níveis de qualidade verificados durante a apresentação
de um documento.
Neste capítulo a metodologia de adaptação é descrita e exemplos ilustrando o
processo de adaptação são apresentados. Em seguida é apresentada a arquitetura do
sistema de recuperação desenvolvido no Projeto ServiMídia. Os módulos desse sistema
são responsáveis por executar os dois níveis de adaptação descritos.
4.1 Metodologia de Adaptação
Para executar os dois níveis de adaptabilidade citados, dois tipos de mecanismos
são implementados. A execução coordenada desses mecanismos visa garantir a
consistência semântica desejada pelo autor do documento.
O primeiro mecanismo utilizado pelo sistema é denominado mecanismo suave
(soft) e é aplicado sobre as mídias individualmente. Para a execução deste mecanismo,
variantes de qualidade de serviço para uma determinada mídia devem ser definidas pelo
autor de forma que a apresentação da mesma possa ser adaptada com base nestas
variantes. Este mecanismo realiza uma adaptação no nível de codificação e,
28
efetivamente, executa uma seleção entre as diferentes codificações existentes para uma
mesma mídia.
No instante de autoria, após definir as mídias que compõem o documento
multimídia, as mesmas devem ser codificadas em formatos com resoluções ou
qualidades distintas. A degradação do nível da qualidade de uma mídia deve ser tal que
a permutação entre as variantes, durante a apresentação, ofereça um desconforto
mínimo ao usuário final. No arquivo de controle, o autor especifica a faixa de variantes
de QoS dentro da qual deve ser executada a adaptação suave. Para isso ele determina os
valores máximos e mínimos para parâmetros técnicos como “bw” (bandwith, ou banda
de transmissão), “ lossrt” (loss rate, ou taxa de perda), “delay” (atraso médio) e “ jitter”
(variação do atraso) dentro dos elementos “<minRequirements>” e
“<maxRequirements>” do SCL.
Tamanho do frame
j itter
QoS subjetiva (vídeo)
Figura 4.1 – Benefit function de um vídeo
Seria mais natural para o autor trabalhar com requisitos de QoS subjetivos da
mídia [31] do que com requisitos de QoS objetivos (parâmetros técnicos de utilização
de recursos). Uma solução é o estabelecimento de uma relação entre os dois tipos de
requisitos de QoS. Esta relação pode ser qualificada através de uma expressão
funcional, conhecida como benefit function, originalmente proposta em [7]. Um
exemplo de uso da benefit function é a descrição do relacionamento entre jitter e
tamanho de frame e a QoS subjetiva para um vídeo. Como a figura 4.1 mostra [7], uma
29
vez que os limites de jitter (0.2) e de tamanho de frame (0.7) são atingidos, o benefício
resultante do uso de mais recursos (diminuindo o jitter ou aumentando o tamanho do
frame) para aumentar a QoS subjetiva resultante é insignificante.
O mecanismo suave de adaptação baseia-se em uma política de monitoramento.
Por definição, monitoramento é o processo de observar a utilização de recursos ou de
características de QoS no sistema [37]. O processo de monitoramento é responsável por
gerar mensagens que indiquem a ocorrência de violações de contrato de QoS. A
adaptação realizada no primeiro nível ocorre sempre que o mecanismo de
monitoramento detecta que os requisitos de QoS de uma variante sendo transmitida não
estão sendo garantidos. Como resultado, o mecanismo de adaptação suave substitui a
transmissão da variante de QoS corrente por uma variante que exija menos recursos de
transmissão (e.g. um áudio codificado a 64kbps é substituído por uma versão de
32kbps).
A vantagem aparente deste tipo de mecanismo é a transparência com que uma
adaptação é executada. O usuário percebe, de forma suave, a alteração do nível de
qualidade de serviço. Além disso, trata-se de um mecanismo reversível. O processo de
monitoramento, ao detectar uma sub-utilização dos recursos do sistema, pode gerar
mensagens para que o mecanismo de adaptação modifique o fluxo de mídia para uma
variante com melhor QoS. No entanto, essa reversibilidade pode causar um efeito
bastante desagradável ao usuário caso as condições do sistema oscilem constantemente
em um curto espaço de tempo. Neste caso, o mecanismo de adaptação executa
chaveamentos frequentes entre variantes de uma mesma mídia. Para evitar esse efeito
oscilatório, deve ser definido um tempo mínimo o qual o mecanismo de adaptação deve
aguardar após executar um chaveamento entre duas variantes e então executar um novo
chaveamento .
Se o mecanismo suave de adaptação, na ocorrência de escassez de recursos do
sistema, ocasiona a apresentação da variante de menor QoS e, mesmo assim, a
apresentação da respectiva mídia atinge um nível de qualidade abaixo do especificado
pelo autor, esta mídia sofre uma falha de QoS (QoS failure) ativando o segundo
mecanismo de adaptação.
30
O segundo mecanismo, denominado mecanismo forte (hard), é executado com
base nas informações de adaptação (dependências condicionais) especificadas no
arquivo de controle. De acordo com as dependências condicionais, esse mecanismo
manipula a estrutura lógica do documento, gerando uma nova apresentação utilizando
mídias com exigências de QoS menos rigorosas. As dependências condicionais
exercem, portanto, um papel fundamental no processo de adaptação forte. Através das
mesmas o autor pode garantir que a apresentação adaptada seja semanticamente
equivalente à original. A apresentação adaptada é então convertida em um novo
documento SMIL, e finalmente este documento é submetido e apresentado em
substituição ao documento original.
A adaptação no nível de aplicação, executada pelo mecanismo forte, é uma
técnica pouco referenciada na literatura. A maioria das propostas de adaptabilidade trata
os objetos de uma mesma apresentação de forma independente. Essas adaptações no
nível de objeto, ou nível de codificação, são limitadas à estrutura lógica estática do
documento e proporcionam uma funcionalidade restrita.
4.1.1 Execução dos Mecanismos de Adaptação
Para ilustrar a execução dos dois mecanismos de adaptação, considere o
documento multimídia descrito na figura 4.2a. No documento SMIL deste primeiro
exemplo o autor define a apresentação de um vídeo (“V1”). No respectivo arquivo SCL
(figura 4.2b), o autor descreve as seguintes informações necessárias para a realização
dos dois níveis de adaptação: (i) a faixa definindo as variantes de QoS para a
apresentação do vídeo “V1” (adaptação suave); (ii) as mídias alternativas (“anim1” e
“ text1” ) e as condições para que as mesmas tornem-se ativas (adaptação forte). A figura
4.3 ilustra as dependências condicionais especificadas no arquivo SCL da figura 4.2b.
31
<smi l > . . . <body> <vi deo i d=“ V1” r egi on=“ r _v” . . . </ body> </ smi l >
<sc l > <cont r ol s> <descr i pt i on about =“ V1” r est ar t =“ medi a” > <mi nRequi r ement s bw=“ 64kbps” . . . / > <maxRequi r ement s bw=“ 128kbps” . . . / > </ descr i pt i on> </ cont r ol s> <al t er nat i ves> <r epl ace t ar get =“ V1” > <st ar t l i nk expr =“ ( V1: st opped) ” > <r egi onToAdd> . . . </ r egi onToAdd> <r esour ceToSubst i t ut e> <par > <ani mat i on i d=“ An1” . . . / > <t ext i d=“ T1” . . . / > </ par > </ r esour ceToSubst i t ut e> </ r epl ace> </ al t er nat i ves> </ sc l >
a) Arquivo SMIL or iginal b) Arquivo SCL
<smi l > . . . <body> <par > <ani mat i on i d=“ An1” . . . / > <t ext i d=“ T1” . . . / > </ par > </ body> </ smi l >
c) Arquivo SMIL adaptado
Figura 4.2 – Documento adaptativo (a e b) e documento adaptado (c) (1o exemplo)
Objetos Alternativos
“ Se V1 interrompido,
iniciar An1 e T1”
Vídeo
Texto
An1
T1
������������ V1
Objetos Originais
Figura 4.3 – Dependências condicionais (1o exemplo)
Sob congestionamento, a apresentação deste documento é, inicialmente,
submetida à adaptação suave, implicando a diminuição progressiva da taxa de
apresentação do vídeo “V1” até um mínimo especificado pelo autor. Se o mecanismo de
monitoramento do cliente continuar detectando o congestionamento no fluxo de “V1”
será ativada a adaptação forte, implicando (i) a interrupção da apresentação do
documento, (ii) criação (em tempo real) de um novo documento SMIL (figura 4.2c)
com base nas informações do arquivo SCL, e (iii) apresentação deste novo documento.
A figura 4.4a ilustra o documento SMIL referente a um segundo exemplo de aplicação.
Neste documento o autor define a apresentação de um texto “T1” em paralelo a uma
sequência de mídias (é apresentado o vídeo “V1” e em seguida são apresentadas duas
mídias em paralelo, o vídeo “V2” e o áudio “A1”). No arquivo SCL da figura 4.4b
foram especificadas as dependências condicionais, ilustradas na figura 4.5.
32
<smi l > . . . <body> <par > <t ext i d=“ T1” r egi on=. . . / > <seq> <vi deo i d=“ V1” r egi on=. . . / > <par > <vi deo i d=“ V2” r egi on=. . . / > <audi o i d=“ A1” r egi on=. . . / > </ par > </ seq> <par > </ body> </ smi l >
<scl > <cont r ol s> <descr i pt i on about =“ V1” > <mi nRequi r ement s bw=“ 64kbps” . . . / > <maxRequi r ement s bw=“ 128kbps” . . . / > </ descr i pt i on> <descr i pt i on about =“ V2” > <mi nRequi r ement s bw=“ 64kbps” . . . / > <st opl i nk expr =“ ( V1: st opped) ” > </ descr i pt i on> <descr i pt i on about =“ A1” > <mi nRequi r ement s bw=“ 8kbps” . . . / > </ descr i pt i on> </ cont r ol s> <al t er nat i ves> <r epl ace t ar get =“ V1” > <st ar t l i nk expr =“ ( V1: st opped) ” / > <r esour ceToSubst i t ut e> <ani mat i on i d=“ An1” . . . / > </ r esour ceToSubst i t ut e> </ r epl ace> <r epl ace t ar get =“ V2” > <st ar t l i nk expr =“ ( V2: st opped) ” / > <r esour ceToSubst i t ut e> <ani mat i on i d=“ An2” . . . / > </ r esour ceToSubst i t ut e> </ r epl ace> <r epl ace t ar get =“ A1” > <st ar t l i nk expr =“ ( ( A1: st opped) or ( An2: st ar t ed) ) ” / > <r esour ceToSubst i t ut e> <t ext i d=“ T2” . . . / > </ r esour ceToSubst i t ut e> </ r epl ace> </ al t er nat i ves> </ scl >
a) Arquivo SMIL original b) Arquivo SCL
Figura 4.4 – Documento adaptativo (2o exemplo)
Objetos Alternativos
“ Se V1 interrompido,
iniciar An1”
Áudio
Vídeo
Texto
T1
“ Se V1 interrompido, interromper V2”
An2
T2
“ Se An2 iniciado, iniciar T2”
����� ������
V1
A1
Objetos Originais
V2
An1
“ Se V2 interrompido, iniciar An2”
“ Se A1 interrompido, iniciar T2”
Figura 4.5 – Dependências condicionais (2o exemplo)
Inicialmente, a apresentação do documento é submetida à adaptação suave caso seja
detectado algum congestionamento. Este processo ocorre de forma independente sobre
cada fluxo de mídia. Se o mecanismo de monitoramento do cliente continuar detectando
o congestionamento, ocorre a falha de QoS em uma das mídias sendo recebida.
Portanto, pode-se observar que para esta aplicação existem três cenários de adaptação
distintos, dependendo de que mídia sofre a falha de QoS:
(i) a primeira possibilidade é a adaptação disparada pela falha de QoS na mídia
“V1”, gerando uma nova apresentação especificada pelo documento SMIL da
figura 4.6a;
33
(ii) a segunda possibilidade é a adaptação disparada pela falha de QoS na mídia “V2” ,
gerando uma nova apresentação especificada pelo documento SMIL da figura
4.6b;
(ii i) a terceira e última possibilidade é a adaptação disparada pela falha de QoS na
mídia “A1” , gerando uma nova apresentação especificada pelo documento SMIL
da figura 4.6c;
<smi l > . . . <body> <par > <t ext i d=“ T1” r egi on=. . . / > <seq> <ani mat i on i d=“ An1” . . . / > <par > <ani mat i on i d=“ An2” . . . / > <t ext i d=“ T2” . . . / > </ par > </ seq> <par > </ body> </ smi l >
<smi l > . . . <body> <par > <t ext i d=“ T1” r egi on=. . . / > <seq> <v i deo i d=“ V1” r egi on=. . . / > <par > <v i deo i d=“ V2” r egi on=. . . / > <t ext i d=“ T2” . . . / > </ par > </ seq> <par > </ body> </ smi l >
<smi l > . . . <body> <par > <t ext i d=“ T1” r egi on=. . . / > <seq> <vi deo i d=“ V1” r egi on=. . . / > <par > <ani mat i on i d=“ An2” . . . / > <t ext i d=“ T2” . . . / > </ par > </ seq> <par > </ body> </ smi l >
a b
c
Figura 4.6 – Arquivos SMIL adaptados (2o exemplo)
4.1.2 Reinício da Apresentação Adaptada
Durante o desenvolvimento da estratégia de adaptação, em particular, do
mecanismo de adaptação forte, a seguinte questão foi levantada: após a criação do
documento adaptado, em que instante deveria ser iniciada a apresentação do mesmo?
Após algumas argumentações, três possibilidades foram levantadas. Como é mostrado a
seguir, cada possibilidade pode ser adequada, ou não, dependendo da apresentação.
Portando, foi decidido que o autor deve definir, através do atributo “restart” do SCL, o
instante de reinício da apresentação adaptada. A figura 4.7 ilustra as três possibilidades
(a mídia “B2” sofre falha de QoS e “D2” a substitui): (a) iniciar a apresentação a partir
do início efetivo do documento; (b) iniciar a apresentação a partir do início da mídia
que, no documento adaptado, substitui a mídia que sofreu a falha de QoS; ou (c) iniciar
a apresentação a partir do mesmo instante em que ocorreu a falha de QoS.
34
C
D1
D2
D3
reinício “ restart = document”
tr = 0 tiD2
C
D1
D2
D3
reinício
“ restart = media”
tr = tiD2
C
D1
D2
D3
reinício
“ restart = failure”
tr = tf tiD2
A
tf
B1
B2
falha de QoS
B3
Apresentação original
a b c
tf – falha de QoS em “B2” / tr – reinício da apresentação / tiD2 – instante de início de “D2” (mídia que substitui “B2”)
Figura 4.7 – Possíveis reinícios de uma apresentação após sua adaptação
O primeiro caso (figura 4.7a), onde a apresentação adaptada é executada desde o
seu início, é o mais simples de ser implementado. No entanto este procedimento
ocasionará a repetição de todo o conteúdo já apresentado ao usuário antes da ocorrência
da falha de QoS. Por outro lado, este comportamento pode ser desejável na seguinte
situação: a apresentação original é monolítica (apresenta um único “cenário” ) e o
processo de adaptação altera todo o seu conteúdo.
No segundo caso (figura 4.7b), onde a apresentação é reiniciada a partir do
início do elemento que substitui a mídia que sofreu a falha de QoS, também ocorrerá
repetição de conteúdo já apresentado. Dependendo da duração dD2 da mídia “D2” e da
parcela de dD2 já apresentada até a ocorrência da falha (e.g. a falha ocorre em 4min
decorridos de uma mídia de 5min de duração) este comportamento pode ser pouco
desejável. No entanto, a quantidade de informação reapresentada pode ser bem menor
do que no primeiro caso. Além disso, o autor pode achar necessária a apresentação da
mídia substituta desde seu início, caso as alterações nos tipos das mídias realizadas pelo
processo de adaptação possam descontextualizar o usuário. Por exemplo, se a falha de
QoS ocorre durante a apresentação de um áudio “A” , e o mesmo é substituído por uma
35
seqüência de textos “seqT” , o autor pode preferir que “seqT” seja apresentado desde
seu início.
No terceiro e último caso (figura 4.7c), o reinício da apresentação ocorre no
mesmo instante tf em que ocorreu a falha de QoS. Este comportamento pode ser visto
como ideal uma vez que, após a adaptação, nenhuma informação é reapresentada ao
usuário. No entanto, sua implementação apresenta algumas implicações referentes,
principalmente, à sincronização desse reinício. Suponha que ocorra uma falha de QoS
na mídia “A” (figura 4.8a) e que o autor tenha definido “B” sua mídia alternativa. Seja
dA a duração de “A” e dB a duração de “B” . Se dB=dA, aparentemente, não haverá
nenhum problema em reiniciar a apresentação em tf. No entanto, mesmo que as duas
mídias possuam a mesma duração, pode ser que um instante t qualquer de “A” não
represente o mesmo instante semântico que o instante t de “B” . Isto pode ocorrer,
principalmente, quando “A” e “B” representarem mídias de naturezas distintas (e.g.
áudio e texto, ou vídeo e animação). O problema da sincronização torna-se mais
aparente quando as durações de “A” e “B” são distintas. Se dB<dA, dependendo do valor
de tf, o fim de “B” (tfB) pode ocorrer antes de tf, como ilustrado na figura 4.8b. Neste
caso, a ferramenta de apresentação pode sinalizar um erro no início da apresentação do
documento adaptado. Na figura 4.8c, apesar de não ocorrer erro, é fácil perceber que se
dB>dA, dificilmente tf representa instantes semânticos equivalentes nas duas mídias.
b) Apresentação adaptada (tiB=tiA , dB<dA , tfB≤tf)
tf
A
falha de QoS
a) Apresentação original
... ... tiA tfA tf
B
... ... tiB tfB
c) Apresentação adaptada (tiB=tiA , dB>dA , tfA≤tfB)
tf ... ...
tiB
B
tfB
dA dB dB
Figura 4.8 – Mídia “ B” substitui “ A” (dB≠≠≠≠dA)
4.2 Arquitetura do Sistema
Para a verificação da proposta apresentada neste trabalho, foi desenvolvida a
arquitetura de um sistema para apresentação distribuída de documentos adaptativos
36
baseada no paradigma cliente-servidor. Os elementos dessa arquitetura são: (i) os
servidores de mídia (Media Servers), responsáveis pelo armazenamento das mídias e
dos documentos que fazem referência às mesmas; e (ii) os clientes (Media Client),
responsáveis pela apresentação do documento multimídia, podendo apresentar
diferentes tipos de características de sistema (terminal, acesso à rede, etc.).
Nesta arquitetura, os elementos de rede intermediários, presentes no caminho de
transmissão entre o cliente e os servidores, são desconsiderados. Todo o controle dos
parâmetros de QoS é efetuado nas pontas (edges) do sistema. Esta política foi adotada
devido à sua simplicidade, se comparada às arquiteturas que dependem dos nós
intermediários do sistema distribuído.
Na figura 4.9 são ilustrados os principais módulos do sistema, presentes no
Media Client e no Media Server. Também são descritos os tipos de mensagens geradas
pela comunicação entre esses módulos. O sistema foi desenvolvido utilizando o
ambiente de desenvolvimento de aplicações JBuilder 3.0 em conjunto com a plataforma
Java 2, o JMF 2.0 (Java Media Framework 2.0 [22]) e o JAXP 1.0 (Java API for XML
Parsing [21]).
SPlayer
Adapter
QoS Agent
QoS Manager
Arquivo de Controle (TCP)
RTCP
Canal de Controle (RTSP)
���������������� ��
de mídias (RTP)
Portas RTP/RTCP
� �������������� ��
Parâmetros de QoS
Mensagens internas Mensagens em rede
Documento SMIL adaptado
Media Client
Media Server
Figura 4.9 – Principais módulos do sistema
37
4.2.1 SPlayer
O SPlayer realiza a apresentação de documentos SMIL 1.0. Em um instante
inicial, o usuário solicita através do SPlayer a apresentação de um documento
multimídia localizado em um dos servidores. Após receber o documento SMIL, o
SPlayer faz a solicitação aos servidores (via RTSP [28]) da transmissão (via RTP [27])
das mídias referenciadas pelo documento SMIL. Estas solicitações são realizadas sob-
demanda, de acordo com o escalonamento da apresentação.
O SPlayer é uma ferramenta que comunica-se tanto com o QoS Manager quanto
com qualquer servidor RealServer (ou outros servidores de mídia que implementem os
protocolos RTSP e RTP/RTCP). Desta forma, no instante da autoria do documento, o
autor não fica restrito às mídias armazenadas nos servidores do sistema.
4.2.2 QoS Manager
O primeiro papel deste módulo é transmitir para o Adapter o arquivo de controle
associado ao documento SMIL. Quando um documento SMIL é solicitado por algum
player (qualquer ferramenta de apresentação multimídia), o QoS Manager verifica se
existe algum documento SCL associado ao mesmo (arquivo como mesmo nome, porém
com a extensão “ .scl”). Em caso positivo, este arquivo de controle é enviado (utilizando
o protocolo TCP) através de uma porta conhecida. Caso o cliente seja um SPlayer, o
Adapter recebe o arquivo, caso contrário este último é descartado.
O QoS Manager também é responsável por todas as sessões RTP/RTCP através
das quais são transmitidas as mídias aos clientes. Ele realiza um monitoramento sobre
esses fluxos de forma a controlar o chaveamento entre as variantes de QoS para um
mesmo fluxo, executando a adaptação suave. Supondo, por exemplo, que existam três
variantes de QoS para um mesmo vídeo (30 frames/s, 20 frames/s e 10 frames/s), o QoS
Manager transmite, inicialmente, a variante de melhor qualidade. Se for detectado que
os requisitos de QoS para a respectiva variante estão sendo violados, a variante de
qualidade média passa a ser transmitida.
38
O controle do chaveamento entre as variantes de QoS é realizado com base nas
informações intercambiadas nas sessões RTCP de cada fluxo de mídia. Em uma sessão
RTP/RTCP, diferentes parâmetros de QoS relevantes são informados ao sistema. Nesta
sessão, o fluxo de dados RTP é recebido por uma porta n e as informações concernentes
ao controle da sessão são recebidas pela porta n+1. A RFC 1889 [27] define cinco tipos
Criação de diagrama de estadosda apresentação adaptativa
Figura C.1 – Diagrama de classes simplificado da ferramenta SCL Semantics
77
São descritas, a seguir, as classes Main e LoadFrame, que representam um “elo”
entre os dois grupos de classes descritos, e a classe MyParser, que é utilizada nos dois
grupos.
(i) Main – Esta classe é uma aplicação Java (possui o método main()) que define a
linha de execução da ferramenta. Ela aciona os métodos de leitura dos
documentos XML e de criação e preparação dos objetos das demais classes. Esta
classe representa, portanto, um elo entra as demais classes do sistema. O método
Main.load() executa a leitura dos arquivos SMIL e SCL e cria os objetos das
classes MyParser, Logical, Layout, e DiagramCanvas. Estas classes são utilizadas
para a criação do diagrama de links condicionais definidos no documento
adaptativo. O método Main.prepareMachine() cria um objeto da classe
SchedulingGraph e da classe MachineLogical. Esses objetos são os responsáveis
por criar o diagrama de escalonamento da apresentação e realizar as possíveis
adaptações do documento. Por último, é acionado o método que apresenta o
diagrama de estados (Main.showMachine()).
(ii) LoadFrame – Esta classe representa a janela de interface da ferramenta.
Inicialmente o usuário entra com o path de um arquivo SMIL
(LoadFrame.arquivoTextField_actionPerformed()), sendo chamado o método
Main.load(). Após a execução de toda a linha de execução definida na classe
Main, esta última retorna ao LoadFrame o diagrama de estados (objeto da classe
MachineCanvas) da apresentação definida no documento adaptativo. Nesta
interface há um botão (LoadFrame.showDiagJButton) que, quando clicado,
chama o método LoadFrame.showDiagJButton_actionPerformed() (dentro deste
método é feita uma chamada ao método Main.showDiagramFrame()) para
apresentar uma segunda janela (objeto da classe DiagramFrame) contendo um
diagrama com os links condicionais do documento.
(ii i) MyParser – Esta classe é responsável por todo tratamento de documentos XML
(SCL e SMIL), como a geração de uma estrutura DOM (MyParser.setXmlDoc()) e
a busca de elementos XML em uma estrutura DOM
(MyParser.extractByTagName() e MyParser.getChildElements). Esta classe é
78
utilizada por Main, para iniciar o processo de criação do diagrama de links
condicionais, e pela classe SchedulingGraph, para gerar as estruturas DOMs de
cada documento adaptado.
A seguir, são descritas as classes pertencentes ao primeiro grupo de classes
citado (classes para a criação do diagrama de links condicionais).
(i) Logical – Esta classe representa a estrutura lógica do diagrama de links
condicionais extraído dos arquivos SCL e SMIL. Esse diagrama é formado por
um vetor de objetos da classe Media e um vetor de objetos da classe Link. Logical
possui a funcionalidade similar ao de uma máquina de estados, no entanto os
estados são mídias e as transições são links.
(ii) Media – Esta classe é utilizada como uma estrutura de dados para representar uma
mídia no diagrama de links condicionais.
(ii i) Link – Esta classe é utilizada como uma estrutura de dados para representar um
link no diagrama de links condicionais.
(iv) Layout – Esta classe tem a funcionalidade de gerar o layout para um objeto da
classe Logical. Seu algoritmo de posicionamento dos elementos de mídia funciona
fixando-se uma mídia e posicionando as demais mídias no melhor lugar em torno
da primeira (de acordo com sua função de avaliação utilizada dentro do método
Layout.layout(), é chamado o método Layout.improve() para melhorar o
posicionamento.).
(v) DiagramCanvas – Esta classe representa um objeto Java que contém uma
imagem. No método DiagramCanvas.paint() é desenhado o diagrama de links
condicionais definidos logicamente pelo objeto da classe Logical. Quando um
objeto DiagramCanvas é gerado, Main cria um objeto DiagramFrame no qual é
inserido o primeiro objeto. DiagramFrame é então repassado ao objeto de
interface da classe LoadFrame.
79
(vi) DiagramFrame – Esta classe representa uma janela de interface que contém um
objeto da classe DiagramCanvas.
Por último, são descritas as classes pertencentes ao segundo grupo de classes
citado (classes para a criação do diagrama de estados de uma apresentação adaptativa).
(i) Adapter – Descrita no Apêndice A.
(ii) MachineLogical – Esta classe representa a estrutura lógica do diagrama de
estados de uma apresentação adaptativa. O método
MachineLogical.extractMainPath() executa a geração do diagrama de estados da
apresentação original (representado por um objeto da classe MainPath). No
método MachineLogical.setAllAdaptationPaths() são disparadas as simulações
das falhas de QoS em cada estado do diagrama original, e são realizadas
chamadas ao método MachineLogical.extractAdaptationPath() para gerar um
diagrama de estados para cada adaptação executada (representado por um objeto
da classe Adaptation.Path). Sempre que é gerado um diagrama de estados para
uma adaptação, é executada a agregação deste último ao diagrama da
apresentação original. O método MachineLogical.paintMachineAndDetails() gera
um objeto da classe MachineCanvas contendo a figura do diagrama de estados, e
repassa esta figura para a janela LoadFrame.
(ii i) MainPath – Esta classe é utilizada como uma estrutura de dados para representar
um diagrama de estados de uma apresentação.
(iv) AdaptationPath – Esta classe é utilizada como uma estrutura de dados para
representar uma ramificação de adaptação de um diagrama de estados de uma
apresentação. Esta classe possui os métodos que realizam a agregação com um
objeto da classe MainPath (AdaptationPath.joinHead() e
AdaptationPath.joinTail()).
(v) SchedulingGraph – Esta classe é responsável por realizar a análise das restrições
temporais de um documento SMIL e gerar, através do método
80
SchedulingGraph.extractFinalEventList(), uma lista ordenada dos eventos de
escalonamento da apresentação (SchedulingGraph.finalEventList).
(vi) MachineCanvas – Esta classe define um objeto Java que contém uma imagem.
No método MachineCanvas.paint() é desenhado o diagrama de estados
representado logicamente pelo objeto da classe MachineLogical.
81
Referências
[1] Analyzer : a public domain protocol analyzer . Disponível na INTERNET via www.url: http://netgroup-serv.polito.it/analyzer/. Arquivo consultado em 2000.
[2] AURRECOECHEA, C., CAMPBELL, A.T., HAUW, L. “A survey of QoS architectures” . ACM Multimedia Systems, n.6, p.138-151, 1998.
[3] BULTERMAN, D.C.A “Synchronization of Multi-Sourced Multimedia Data for Heterogeneous Target Systems” . In: NETWORK AND OPERATING SYSTEMS SUPPORT FOR DIGITAL AUDIO AND VIDEO, 1993, p.119-129.
[4] BULTERMAN, D.C.A., VAN LIERE, R., VAN ROSSUM, G. “A Structure for Transportable Dynamic Multimedia Documents” . In: USENIX SPRING CONFERENCE ON MULTIMEDIA SYSTEMS, 1991, p. 137-155.
[5] CARMO, L.F.R.C., PIRMEZ, L. “ServiMídia: An Integrated System for Multimedia Document Creation and Retrieval with Adaptive QoS Control” . In: FRANCE-BRAZIL SYMPOSIUM ON DISTRIBUTED COMPUTER SYSTEMS, 2, 1997, Recife, Brazil.
[6] COURTIAT, J.P., CARMO, L.F.R.C, OLIVEIRA, R.C. “A General-purpose Multimedia Synchronization Mechanism Based on Causal Relations” . IEEE Journal on Selected Areas in Communications, v.14, n.1, p.185-195, January 1996.
[7] DAVIS, M., DOWNING, A. “Adaptable System Resource Management for Soft Real-Time Systems” . In: SYMPOSIUM ON COMMAND AND CONTROL RESEARCH AND DECISION AIDS, 1994, Monterey, California.
[8] ENCARNAÇÁO, J., FOLEY, J., HERRTWICH, R.G. “Fundamentals and Perspectives of Multimedia Systems” . In: DAGSTUHL SEMINAR, 1994, Saarbrucken, Germany. Repor t… Seminar Report 92, Univ des Saarlandes.
[9] FERGUSON, P., HUSTON, G. “Quality of Service on the Internet: Fact, Fiction or Compromise?” . In: INTERNET CONFERENCE, 1998, Genebra, Suiça.
[10] GECSEI, J. “Adaptation in Distributed Multimedia Systems” . IEEE Multimedia, v.4, n.2, p.58-66, 1997.
[11] GHINEA, G., THOMAS, J.P., FISH, R.S. “Quality of Perception to Quality of Service Mapping Using a Dynamically Reconfigurable Communication
82
System”, In: IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, 1999, Rio de Janeiro, Brazil.
[12] HyperText Markup Language Home Page. Disponível na INTERNET via www.url:http://www.w3.org/MarkUp/. Arquivo consultado em 2001.
[13] ISO. Document Style Semantics and Specification Language. ISO/IEC JTC1/SC34/N10179. January 1996.
[14] ISO. Hypermedia/Time-based Structuring Language (HyTime), 2nd Edition. JTC1/SC18/WG8/N1920rev.1997.
[15] ISO. Information Processing – Text and Office Systems – Office Document Architecture (ODA), Part 1-8. ISO/IEC 8613, 1988.
[16] ISO. Information processing – Text and Office systems – Standard Generalized Markup Language (SGML). ISO/IEC 8879, 1986.
[17] ISO. Information Technology Coding of Multimedia and Hypermedia Information, Part 5: Support for Base-Level Interactive Applications, MHEG-5 IS Document Pre-release 5. ISO/IEC DIS 13522-5, 1996.
[18] ISO. MPEG 7 Applications document V.7. ISO/IEC JTC1/SC29/WG11/N2462. October 98, Atlantic City, USA.
[19] ISO. MPEG 7 Requirements document V.7. ISO/IEC JTC1/SC29/WG11/N2461. October 98, Atlantic City, USA.
[20] ISO/IEC/JTC1SC 29 Working Group web page. Disponível na INTERNET via www.url:http://www.km.giti.waseda.ac.jp/WG12/. Arquivo consultado em 2001.
[21] Java API for XML Parsing, Release 1.0. Disponível na INTERNET via www.url:http://java.sun.com/xml/index.html. Arquivo consultado em 2000.
[22] Java Media Framework API . Disponível na INTERNET via www.url:http://java.sun.com/marketing/collateral/jmf_ds.html. Arquivo consultado em 2000.
[23] LI, V. O. K., LIAO, W. “Distributed Multimedia Systems” . Proceedings of IEEE, p. 1061-1108, July 1997.
[24] LIU, C. Multimedia Over IP: RSVP, RTP, RTCP, RTSP. Disponível na INTERNET via www.url:http://www.netlab.ohio-state.edu/~jain/cis788-97/ip_multimedia/index.htm. Arquivo consultado em 2000.
[25] MABROUK, M. et al. "A Hyperdocument Model Based upon the ODA Standard". In: CONFERENCE ON INTELLIGENT TEXT AND IMAGE HANDLING, 1991, Barcelona, Spain. Proceedings… Barcelona, p.245-263.
83
[26] Open Financial Exchange (OFX) Disponível na INTERNET via www.url:http://www.ofx.net/. Arquivo consultado em 2001.
[27] SCHULZRINNE, H. et al. “RTP: A Transport Protocol for Realtime Applications” . IETF RFC 1889, jan. 1996.
[28] SCHULZRINNE, H., RAO, A., LANPHIER, R. “Real Time Streaming Protocol (RTSP)” . IETF RFC 2326, april 1998.
[29] STEINMETZ, R. “Analyzing the Multimedia Operating System”. IEEE Multimedia, v.2, p.68-84, 1995.
[30] STEINMETZ, R. “Human Perception of Jitter and Media Synchronization” . IEEE Journal on Selected Areas in Communications, v.14, n.1, p.61-72, 1996.
[31] VERSCHEURE, O., JUBAUX, J.-P. “Perceptual Video Quality and Activity Metrics: Optimization of Video Service Based on MPEG-2 Encoding” . In: INTERNATIONAL COST237 WORKSHOP, 3, 1996, Spain. Spr inger Ser ies LNCS 1185.
[32] VOGEL, L. et al. "Distributed Multimedia and QoS: a Survey". IEEE Multimedia, p.10-19, Summer, 1995.
[33] W3C. Extensible Markup Language (XML) 1.0 Specification. W3C Recommendation, February 1998. Disponível na INTERNET via www.url:http://www.w3.org/TR/REC-xml. Arquivo consultado em 2000.
[34] W3C. HOFF, A. van, PARTOVI, H., THAI, T. The Open Software Descr iption Format (OSD). OSD Submission, August 1997. Disponível na INTERNET via www.url:http://www.w3.org/TR/NOTE-OSD.html. Arquivo consultado em 2001.
[35] W3C. Synchronized Multimedia Integration Language (SMIL 2.0) Specification. W3C Proposed Recommendation, June 2001. Disponível na INTERNET via www.url:http://www.w3.org/TR/smil20/. Arquivo consultado em 2001.
[36] W3C. Synchronized Multimedia Integration Language (SMIL) 1.0 Specification. W3C Recommendation, June 1998. Disponível na INTERNET via www.url:http://www.w3.org/TR/REC-smil. Arquivo consultado em 2000.
[37] WADDINGTON, D.G., HUTCHISON, D. “End-to-end QoS Provisioning through Resource Adaptation”. In: IFIP CONFERENCE ON HIGH PERFORMANCE NETWORKING, 1998.
[38] WAHL, T., WIRAG, S., ROTHERNMEL, K. “TIEMPO: Temporal Modeling and Authoring of Interactive Multimedia” . In: IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA COMPUTING AND SYSTEMS, 2, 1995. Proceedings… 1995. p.274-277.
84
[39] WIRAG, S. “Modeling of Adaptable Multimedia Documents”. In: INTERACTIVE DISTRIBUTED SYSTEMS AND TELECOMMUNICATION SERVICES, 4, 1997, Darmstadt, Germany. Proceedings… Darmstadt: Ralf; Wolf, Lars C., 1997. p.420-429.
[40] WOLF, L. C., GRIODZ, C., STEINMETZ, R. "Multimedia Communications” . Proceedings of IEEE, v.85, n.12, p.1915-1933, December 1997.
[41] CUNHA, E.C. Uma Estratégia de Cr iação e Apresentação de Documentos Multimídia Adaptativos em Rede. Orientador: Luiz Fernando Rust da Costa Carmo. Rio de Janeiro: UFRJ/IM/NCE, 2000, 84p. Dissertação. (Mestrado em Informática)
85
Publicações da Autora
GOMES, R. L., CUNHA, E. C., CARMO, L. F. R. C., PIRMEZ, L. “Assessment of a Distributed System for Processing Adaptive Multimedia Documents"” In: International Conference on Distributed Multimedia Systems, 2001, Taiwan. Proceedings of DMS'01 , 2001.
GOMES, R. L., CUNHA, E. C., CARMO, L. F. R. C., PIRMEZ, L. “An Adaptive Presentation System for Multimedia Documents” In: Seventh International Conference on Intelligent Multimedia and Distance Education, 2001, Fargo. Proceedings of ICIMADE'01 , 2001.
GOMES, R. L., CUNHA, E. C., CARMO, L. F. R. C., PIRMEZ, L. Avaliação de um Sistema Distribuído de Criação e Apresentação de Documentos Multimídia In: XIX Simpósio Brasileiro de Redes de Computadores, 2001, Florianópolis - SC. Anais do XIX Simpósio Brasileiro de Redes de Computadores, 2001.
GOMES, R. L., MENEZES, H. J., CARMO, L. F. R. C., PIRMEZ, L. Suporte à Apresentação Adaptativa de Aplicações Multimídia em Sistemas Distribuídos In: XVIII Simpósio Brasileiro de Redes de Computadores, 2000, Belo Horizonte. Anais do XVIII Simpósio Brasileiro de Redes de Computadores, 2000. v.1.