1
Adaptação de Conteúdo
Agenda
• Motivação• Adaptação de conteúdoAdaptação de conteúdo
– Técnicas de adaptação de conteúdo
• Arquiteturas• Sistemas para desenvolvimento de
aplicações adaptáveis
22
2
Motivação
celularlaptop
Ambiente móvel
PDA
Limitações da rede sem fio:
Dispositivos Heterogêneos:laptop PC, PDA, celular
õ d h d
33
Limitações da rede sem fio:Largura de banda reduzida
Variações na rede Conexão intermitente
Limitações de hardware:Baixo poder processamento,memória, energia, display,
Limitações de software: codificadores, protocolos disponíveis
Adaptação de Conteúdo
CondiçõesCondições
Conteúdo Conteúdo Original Original
Conteúdo adaptado
Adaptador de
ConteúdoConteúdo
Adapta natureza ou estrutura da informação/
44
Rede sem Fio
Perfil de usuário
a uma série de restrições/condições
Dispositivo
Objetivo: transmissão e apresentação otimizada de conteúdo no dispositivo móvel
3
Tipos de Adaptação
• Múltiplas versões (Multi-authoring)– Estático– Adaptador simpesmente seleciona a versão/formato
mais adequada/o• Mais adequado ao contexto de dispositivo
Incapacidade para adaptação apropriada ao contexto dinâmico (e.g. qualidade do enlace, energia restante)Alto custo de desenvolvimento e manutençãoMaior fidelidade semântica e interfaces otimizadas
• Adaptação sob demanda– Dinâmica
55
Dinâmica– Mantém-se somente a versão original do conteúdo
Adaptação de acordo com o contexto corrente (rede, usuário, dispositivo)
• Uso de diferentes técnicas: Transcoding, summarization…Baixo custo de desenvolvimento e manutençãoMais difícil de manter a fidelidade e de garantir uma apresentação satisfatória
Adaptação dinâmica de conteúdo
• Principais técnicas de adaptação:– Personalização
• Reestruturação da apresentação do conteúdo de acordo com preferências do usuário, localização, comportamento, p , ç , p ,contexto de uso
– Anotação• Geração de meta-informações (resumos, palavras
chave,…), que podem ser apresentadas no lugar do conteúdo
– Agregação• Agrupamento de conteúdos de diferentes fontes
66
• Agrupamento de conteúdos de diferentes fontes, compilando-os e enviando da melhor forma.
– Transcoding: • Transformação de conteúdo para diferentes formatos,
adequando a apresentação a diversos dispositivos e a características da rede sem fio, otimizando a transmissão neste enlace.
4
Transcoding
• Transcoding– Processo de transformação do formato e
representação de conteúdorepresentação de conteúdo• Conversão entre formatos, filtragem, resumo,
compressão, etc
• Sub categorias– Destilação (Distillation)– Refinamento (Refinement)
77
– Resumo (Summarization)– Filtragem inteligente (Intelligent filtering)– Transcoding
Distillation
• Destilação é um processo de compressão com perdas, executado em tempo de execução
• Objetivo: Eliminar informações redundantes ou desnecessárias, mas preservando a semântica do conteúdo
• Pode ou não ser baseado em padrões de codificação– 1) Compressão JPEG com certa qualidade
2) Escalar uma imagem em cada eixo reduzindo seu
88
– 2) Escalar uma imagem em cada eixo, reduzindo seu tamanho em representação binária
• Específico para cada tipo de dados– Imagens, texto, vídeo
• Pode ocorrer em diferentes aspectos ortogonais
5
Distillation: Exemplo
• Texto– Codificações: plano,
PostScript, PDF, HTML– Destilações:
formatação, compressão, conversão entre codificações,..
Ex: compressão e transformação de
Rich-text
99
PostScript, substituindo as informações de formatação PS por tags HTML ou de rich-text, preservando a posição das palavras Post-script (ghostview)
1010
6
Distillation: Exemplo
• Imagens– Codificações: GIF, JPEG, PPM, TIF, BMP,...
D til õ C i ( t ) l – Destilações: Cropping (recorte), escala, compressão com perda na qualidade, redução da paleta de cores, conversão para preto-branco ou escala de cinza
Exemplos de utilização
1111
– Para displays pequenos• Cropping, scaling
– Para largura de banda reduzida• Cropping, color-depth reduction, scaling• Lossy compression, de-animation
JPEG baixa qualidadeJPEG baixa qualidade10 KB10 KBGrayscale, 85 KB Original, 116 KB
Distillation
1212
Thumbnail, 2 KBCrop, 40 KB Transliterar, poucos bytes
Estrada com névoa e folhagens no outono
7
Distillation
• Exemplo da latência fim a fim, para imagens com e sem destilação
1313
Fonte: [Fox,96]
Distillation
• Vídeo– Codificações
• MPEG NV VQ H 261• MPEG, NV, VQ, H.261
– Destilações: nos seguintes aspectos• Temporais
– Limitar a taxa de quadros (frames) a uma dada taxa de bits
» Redução de 400 kbps para 128 kbps
1414
– Condensação de tempo (acelerar a apresentação)
• Espaciais– Mudar a resolução, requantização, redução de cores
8
Refinamento
• Refinamento: Processo de selecionar partes de um documento em sua qualidade original.
• Exemplo:• Exemplo:– Fazer um “zoom” em parte de um gráfico ou mapa
• Pode ser fixo ou progressivo• Pela qualidade
• Pela resolução
1515
• Destilação e refinamento são ortogonais
Compressed Image bitstream
Refinamento progressivo pela qualidade
1616
0.125bpp 0.25bpp 1bpp lossless
9
Compressed Image bitstream
Refinamento progressivo pela resolução
1717
Summarization
• Um tipo de compressão onde partes específicascontendo as informações mais relevantes são
l i dselecionadas
• Grande remoção de informação, mas com perda mínima possível da compreensão da mensagem
• Mais utilizada para– Texto
1818
– Texto• Extração pequena e não-redundante de um texto
– Vídeo• Apresentação de uma seqüência de clips, com ou sem
áudio, com versão concisa do conteúdo; mantendo a mensagem essencial (video digest)
10
Summarization - Texto
• Técnica com origem nos anos 60– Máquinas de busca Web e dispositivos móveis ->
criaram nova demanda• Idéia central: capturar a essência de um texto• Idéia central: capturar a essência de um texto• A extração de texto utiliza métodos estatísticos,
lingüísticos e heurísticos. • Técnicas utilizadas:
– Posição no texto• Política de posição ótima de sentenças• Método de Títulos/cabeçalhos
– Palavras chaves ou pistas em sentenças
1919
p ç– Freqüência de palavras– Coesão: links entre palavras
• co-ocorrência de palavras, co-referência, cadeias léxicas– Estrutura discursiva do texto– Extração de informação: parsing e análise
[Automated Text summarization, Eduard Hovy e Daniel Marcu, Tutorial — COLING/ACL’98www.isi.edu/~marcu/acl-tutorial.ppt]
Summarization - Texto
• Algumas Ferramentas – Microsoft Word tem um summarizer para documentos.– Intelligent Miner for Text (IBM)
Inxight (XEROX) – Inxight (XEROX) – Datahammer (Glucose Development Corporation) – Corporum Summarizer- Cognit AS (Norway)– Pertinence (France)– Copernic Summarizer– MuST Prototype– Automated Text Summarization (SUMMARIST) – Columbia Newsblaster
h // 1 l bi d / l / bl
2020
http://www1.cs.columbia.edu/nlp/newsblaster– OracleContext – Autonomy
http://www.nada.kth.se/~hercules/HDbookmarks.htmhttp://www.ics.mq.edu.au/~swan/summarization/projects_full.htm
11
Summarization
• Vídeo– Versão curta de um vídeo montado com
segmentos importantes ousegmentos importantes, ou– Série de pequenos clipes contendo a essência
do original; ou– Sinopse (ou trailler), em conexões de baixa
vazão, permitindo a obtenção rápida de conteúdo de forma compreensível
2121
Video Summarization
VídeoVídeo
Técnicas de Técnicas de SummarizationSummarization
2222
“Important Shots”“Important Shots”
12
Summarization -Video
• Técnicas de resumo de vídeos– Escolha de trechos importantes
• Agrupamento de quadros baseado em propriedades visuais, escolhendo-se os quadros centrais
• Considerar restrições de áudio e vídeo– Seleção de trechos de diálogos, incluindo todas as frases
significativas» Funções de análise de conteúdo de áudio seleção de
clipes determinado pelo áudio
2323
– Resumo hierárquico• Representação multi-modo e multi-resolução de conteúdo
multimídia– InfoPyramid, IBM [Moham,99]
Restrições de áudio e vídeo
2424[Chang, IWDC 02]
13
Análise de conteúdo de áudio
2525
Filtragem inteligente
• Objetivo principal: otimizar transmissão• Mecanismo para transformar, excluir ou atrasar a
entrega de dadosentrega de dados– Uso de filtros no caminho dos dados de acordo com as
condições da rede ou dispositivo
• Filtros ativos [Balachandran,97]– Adapta fluxos de áudio/vídeo devido a mudanças na
qualidade da rede sem fio
2626
– Filtros de mídia: escala espacial e temporal de fluxos de áudio e vídeo
– Filtros adaptativos de FEC (Forward Error Correction): protege conteúdo de falhas no enlace de rádio
14
Transcoding
• Processo de conversão de conteúdo entre diferentes formatos– Adequar às capacidades do dispositivo
Otimizar a transmissão sobre o enlace sem fio– Otimizar a transmissão sobre o enlace sem fio– Freqüentemente, com perda de fidelidade
• Técnicas:– Compressão, conversão, transformação, re-formatação,
filtragem, redução, re-codificação– Ex:
• Conversão de formatos de vídeo– QuickTime para MPEG, MPEG para H.261
2727
QuickTime para MPEG, MPEG para H.261• Ajuste de HTML para restrições do dispositivo
– HTML para WML, segmentação de HTML• Transformação de textos
– PDF para HTML, PDF para imagem• Conversão de imagens
– BMP para WBMP, GIF para JPEG
Video Transcoding Gateway
LDCTEncoder
MPEGDecoder
Layered DCT
High BandwidthAudio/Video Stream
1 2 mbps
NvDecoder
IpadvqEncoder
H.261Decoder
H.261Encoder
1 - 2 mbps
128 kbps
2828
Decoder Encoder
Infopad VQ
128 kbps256 kbps
MPEG- High bitrate- DVD, TV Digital - 1.5 Mbps, 30 fps
H.263- Low bitrate- Wireless, etc.- 500 kbps, 10fps
Transcoding
15
Transcoding
• Duas abordagens para transcoding– Transformação dependente apenas do tipo de
conteúdoconteúdo• Decisão de qual adaptação aplicar tem como base o
tipo de conteúdo: imagem, texto, vídeo...– Uso de tipos MIME
• Mais comum
– Transformação especificada por anotação externa
2929
• Anotação descreve requisitos/condições e adaptações que devem ser aplicadas
– Uso de meta-informações indicando papel ou funcionalidade e nível de importância de cada elemento
Arquiteturas
• Abordagens– Agentes móveis
– Adaptação no cliente• Em geral, não é eficiente, pois requer muito
processamento, além de não permitir adaptações de acordo com estado da rede
• Apenas para pequenas funções
3030
– Adaptação no servidor
– Uso de proxies
16
Abordagem baseada em agentes
• Agentes, componentes leves, colocados na rede ou nos dispositivos móveis– Intermedeiam a comunicação e executam operações de ç p ç
transformação e filtragem– Podem migrar para a rede fixa em momentos de
desconexão, atuando em favor (como) do cliente
3131
Adaptação no servidor
• Servidores armazenam múltiplas versões ou efetuam adaptação sob-demanda de acordo com o contexto do cliente (rede, dispositivo, perfil)
• Desvantagens: – Abordagem estática: falta de escalabilidade– Abordagem dinâmica: alta carga de processamento– Difícil manuntenção (replicar em todos os servidores)
3232
17
Soluções baseadas em proxies
• Proxies: – Responsáveis por intermediar a comunicação ente
cliente e servidor– Realizam adaptações pesadas– Em geral executam na rede fixa– Permitem atendimento a “clientes magros”
3333
Sistemas - Exemplos
• Necessidade de ferramentas que facilitem o desenvolvimento de aplicações adaptativasadaptativas– Toolkits, APIs, Middlewares, Frameworks
• Alguns sistemas – Barwan
WBI
3434
– WBI– MoCA
18
BARWAN
• Projeto BARWAN (UC/Berkeley): – Suporta acesso a serviços de clientes móveis migrando entre
diferentes redes sem fio
– Separação de serviços de rede e de aplicação (adaptação)
– Framework p/ composição de adaptadores
– Componente básico: TACC workers
• Scalable Network Services• Servidores TACC para criar Proxies Ativos
3535
• Suporte a funcionalidades como transformação, agregação, customização, caching.
• destilação específica por tipo de dados
WBI
• WBI - Web Intermediaries,IBM– WBI é um proxy ou servidor Web programável– Permite a criação de sistemas complexos a partir de
componentes mais simples
• Framework de composição– Baseado em cinco “building blocks”:
• MEGs: request editors, generators, document editors, monitores e funções autonomas(para logging)
– São agrupados em “fluxos de informação”, empacotados como l i WBI t id
componentes mais simples
3636
plugins WBI, e conectam servidores com dispositivos
– Múltiplos plugins WBI podem ser compostos formando serviços WBI.
– A composição dos plugins WBI pode ser dinâmica, usando uma abordagem baseada em regras
19
MoCA
Clientes MóveisServidor de Aplicação
MoCA Serviços de
MoCA Serviços de
Proxy
• White-box framework• Adaptações ativadas por
eventos de mudança decontexto
3737
Serviços de Provisão
Contexto
Serviços de Provisão
Contexto
contexto• “policy-driven” proxy:
adaptações x contexto --configurado por regras(ou políticas)
Wired Network Wireless Network
MoCA’s ProxyFramework
Profile Mngt
ProtocolTranslation
Cache Mngt
AdaptationMngt
Handover Mngt
Server Client
Mngt
Content Adapters
ContextMngt
3838
pg
MoCA’s CIS (or LIS)
Subscribe Contextnotifications
RegrasXML
20
Proxy Framework
3939
Contextos e Ações no XML
<?xml version="1.0" encoding="ISO-8859-1" ?><ProxyConf>
<State><Expression>
<![CDATA[ OnLine = false AND DeltaT > 3000 ]]></Expression><Action class="moca.core.proxy.actions.listeners.DefaultCacheListener">
<Parameter name="cacheClassName">moca.core.proxy.cache.FIFOCacher</Parameter>
</Action></State><State>
<Expression><![CDATA[ CPU > 60 AND FreeMemory < 10000 ]]>
</Expression><Rule priority="1">
<Filter><And>
<!-- tipo de dados da mensagem --><StartWith>
<FieldValue><Literal>datatype</Literal>
</FieldValue><Literal>image/</Literal>
</StartWith><!-- e protocolo --><Equals>
4040
<Equals><FieldValue>
<Literal>protocol</Literal></FieldValue><Literal>TCP</Literal>
</Equals></And>
</Filter><Action class="moca.core.proxy.actions.adapters.ConvertToJPEGAdapter">
<Parameter name="compressionQuality">0.3</Parameter></Action>
</Rule></State>
</ProxyConf>
21
ProxyFramework
• Toda mensagem recebida pelo framework é repassada para a aplicação proxy, que deve decidir se a mensagem deve ou não ser retransmitida (através de callbacks) retransmitida (através de callbacks)
• O desenvolvedor da aplicação proxy deve implementar uma interface listener MessageListener para o recebimento das mensagens (onReceiveMessage).
• Para receber mensagens vindas dos clientes deve-se cadastrar no framework um MessageListener através do método
4141
gaddClientMsgListener (classe ProxyFramework).
• Para recebimento de mensagens vindas do servidor deve-se cadastrar um MessageListener através do método addServerMsgListener
ProxyFramework
• Ações do tipo adapter são ações acionadas no momento do envio de uma mensagem a um cliente dependendo de seu contexto a um cliente, dependendo de seu contexto corrente.
• Para criar uma ação adapter, deve-se estender a classe abstrata proxy.actions.adpter.Adapter.
• Esta classe possui o método e ec te que
4242
• Esta classe possui o método execute, que recebe ID do destinatário da mensagem e a própria mensagem a ser adaptada, e retorna a mensagem processada pelo adapter.
22
Referências
• [Fox 96] A. Fox, E. Brewer, S. Gribble, and E. Amir, “Adapting to Network and Client Variability via On-Demand Dynamic Distillation,” ASPLOS, 1996.
• [Mohan 99] R. Mohan, J. R. Smith and C.-S. Li, “Adapting Multimedia Internet Content for Universal Access”, IEEE Transactions on Multimedia, 1(1):104-114, 1999.
• [Pham 00] T.-L. Pham, G. Schneider and S. Goose, A situated computing framework for mobile and [ ] , , p gubiquitous multimedia access using small screen and composite devices,“ ACM Multimedia Conference, Oct.2000, Los Angeles, CA.
• [Chang, IWDC 02] S.F. Chang, “Optimal Video Adaptation and Skimming Using a Utility-Based Framework, Tyrrhenian International Workshop on Digital Communications (IWDC-2002), Capri Island, Italy, Sept. 2002.
• S. Ardon, P. Gunningberg, B. LandFeldt, M. Portmann Y. Ismailov, and A. Seneviratne. March:a distributed content adaptation architecture. International Journal of Communication 16(1):97-115,2003.
• A. Balachandran, A.T. Campbell, and M.E. Kounavis. Active ¯lters: Delivering scalable media to mobile devices. In Seventh Intl. Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV), St Louis, May 1997
• E. Brewer and et al. A network architecture for heterogeneous mobile computing. IEEE Personal Communications Magazine, oct 1998.
4343
g ,
• Yih-Farn Chen, Huale Huang, Rittwik Jana, Trevor Jim, Matti Hiltunen, Sam John, Serban Jora, Radhakrishnan Muthumanickam, and Bin Wei. iMobile ee: an enterprise mobile service platform. Wireless Networks, 9(4):283–297, 2003.
• Steven C. Ihde, Paul P. Maglio, Jörg Meyer, and Rob Barrett. Intermediary-based transcoding framework. In Ninth International World Wide Web Conference, Amsterdam, The Netherlands, 2000.
• H.K. Rubinsztejn, M. Endler, and N. Rodrigues. A Framework for Building Customized Adaptation Proxies for Mobile Computing. Proceedings of Intelligence Communication Systems (INTELLCOMM 2005), 1-11, 2005
• iMobile (ATT research):– iProxy: programmable proxy server designed
to host agents and services in Javato host agents and services in Java.– Programming abstractions:
• devlets, • applets,• infolets.
4444
Top Related