DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract ....

48
Faculdade de Engenharia da Universidade do Porto DIP based MPEG-21 Player Fernando André Gomes Silva Relatório de Projecto realizado no âmbito do Mestrado Integrado em Engenharia Electrotécnica e de Computadores Major Telecomunicações Orientadores: Profª. Drª. Maria Teresa Andrade (INESC Porto, FEUP) Engº. Pedro Miguel Carvalho (INESC Porto) 06/02/2009

Transcript of DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract ....

Page 1: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

Faculdade de Engenharia da Universidade do Porto

DIP based MPEG-21 Player

Fernando André Gomes Silva

Relatório de Projecto realizado no âmbito do Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Major Telecomunicações

Orientadores: Profª. Drª. Maria Teresa Andrade (INESC Porto, FEUP)

Engº. Pedro Miguel Carvalho (INESC Porto)

06/02/2009

Page 2: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

ii

© Fernando Silva, 2009

Page 3: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

iii

Resumo

A norma MPEG-21 foi criada com o objectivo principal de permitir o acesso transparente a conteúdos multimédia, através de diferentes tipos de redes e dispositivos terminais, contribuindo assim para a implementação do Acesso Universal a Conteúdos Multimédia (UMA, Universal Multimédia Access).

Com este relatório pretende-se fazer uma análise e apresentação sucinta da norma MPEG-21, fornecendo ao leitor os conceitos essenciais para projectar uma aplicação baseada nesta norma. Sendo o MPEG-21 uma norma muito extensa e complexa, estando actualmente dividida em 17 partes, neste relatorio foi dado ênfase apenas às partes 2 e 10, respectivamente Digital Item Declaration (DID) and Digital Item Processing (DIP). Estas duas partes são determinantes para o desenvolvimento de aplicações que se regem pelos princípios desta norma. São também apresentadas algumas aplicações relevantes já desenvolvidas com base nesta norma. Este relatório conclui-se com uma descrição dos objectivos e do plano de trabalhos proposto para a dissertação, permitindo antecipar as funcionalidades MPEG-21 da aplicação a desenvolver.

Page 4: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

iv

Page 5: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

v

Abstract

The MPEG-21 standard was created with main objective to allow the transparent access to multimedia contents, through of different types of networks and terminal devices, contributing this way to the implementation of the Universal Multimedia Access (UMA).

With this report is pretended to do an analysis and a concise presentation about MPEG-21 standard, providing the reader the essentials concepts to project an application based on this standard. Being MPEG-21 a very extensive and complex standard, presented actually divided in 17 parts, in this report has been given emphasis only to parts 2 and 10, respectively Digital item Declaration (DID) and Digital Item Processing (DIP). These two parts are relevant for the development of applications which are ruled by the principles of this standard. Also, some relevant applications are presented already developed with base on this standard. This report is concluded with a description of objectives and the proposal work plan for this dissertation, allowing anticipating the MPEG-21 application functionalities to develop.

Page 6: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

vi

Page 7: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

vii

Agradecimentos

Queria agradecer aos meus orientadores, o facto de me terem ajudado na forma de como

devo orientar o meu trabalho, pelo material disponibilizado e também pela disponibilidade

que apresentaram para me receber ao longo do semestre.

Page 8: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

viii

Page 9: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

ix

Índice

Resumo .............................................................................................. iii

Abstract .............................................................................................. v

Agradecimentos ................................................................................... vii

Índice ................................................................................................ ix

Lista de figuras .................................................................................... xi

Abreviaturas ....................................................................................... xiv

Capítulo 1 ............................................................................................ 1 Introdução ...................................................................................................... 1

1.1 - Estrutura da norma MPEG-21 ...................................................................... 1 1.2 - Digital Items .......................................................................................... 2 1.3 - Utilizadores ........................................................................................... 3 1.4 - Licensas ............................................................................................... 3 1.5 - Digital Item Declaration ............................................................................ 4 1.6 - Digital Item Processing .............................................................................. 6 1.7 - Conclusão ............................................................................................. 9

Capítulo 2 .......................................................................................... 10

Aplicações MPEG-21 .......................................................................................... 10 2.1 - DDIBrowser ........................................................................................... 10 2.2 - AXMEDIS .............................................................................................. 13 2.3 - Multimedia Lab ...................................................................................... 15 2.4 - ENTHRONE ........................................................................................... 17 2.5 - DANAE ................................................................................................ 17 2.6 - MUFFINS .............................................................................................. 17 2.7 - Conclusão ............................................................................................ 18

Capítulo 3 .......................................................................................... 20

Plano de Trabalho ............................................................................................ 20 3.1 - Ojectivo do Tabalho ................................................................................ 20 3.2 - Plano de Tarefas .................................................................................... 20 3.3 - Conclusão ............................................................................................ 21

Capítulo 4 .......................................................................................... 22

MPEG-21 DIP Teach ........................................................................................... 22

Page 10: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

x

4.1 - Utilizadores .......................................................................................... 22 4.2 - Funcionamento da MPEG-21 DIP Teach .......................................................... 22 4.3 - Conclusão ............................................................................................ 29

Capítulo 5 .......................................................................................... 30

Conclusão ...................................................................................................... 30

Referências ........................................................................................ 32

Page 11: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

xi

Lista de figuras

Figura 1.1 - Exemplo de um diagrama da DID, no qual é representado um Digital Item [21] .. 2

Figura 1.2 - Exemplo de um sistema de distribuição Multimédia ................................... 3

Figura 1.3 - Uma declaração de um filme de colecção usando a DID (representação XML) [5]. ....................................................................................................... 4

Figura 1.4 - Uma declaração de um filme de colecção usando a DID (representação gráfica) [5] ............................................................................................ 6

Figura 1.5 - Relação entre a DID, Object Map e a DIP [5] ........................................... 8

Figura 2.1 - Arquitectura do DDIBrowser [23]. ....................................................... 11

Figura 2.2 - Interface da Framework, WDI Browser desenvolvida pela Giorgiana [23] ........ 12

Figura 2.3 - Seleccionar a condição do conteúdo [23] .............................................. 12

Figura 2.4 - Interface do Axmedis Player baseada em páginas HTML [16] ....................... 13

Figura 2.5 - Interface do AXMEDIS Player Sejer, Bordas and Nathan [16] ........................ 14

Figura 2.6 - Interface do Player AXMEDIS para PDAs [16] ........................................... 15

Figura 2.7 - Diversas interfaces do demo da Multimedia Lab que são presenteadas ao utilizador. ............................................................................................ 16

Figura 2.7.1 - Interface principal onde se pode escolher um DI de 3 DIS. ................ 16

Figura 2.7.2 - Lista de músicas. .................................................................. 16

Figura 2.7.3 - Escolha um de 4 trailers. ........................................................ 16

Figura 2.7.4 - Demo do Gladiador. .............................................................. 16

Figura 2.7.5 - Lista de métodos (DIMs) para visualização de um trailer. .................. 16

Figura 2.8 - Processamento de selecção, aquisição e consumo de um Digital Item [9]. ...... 18

Figura 4.1 – Interface de entrada da MPEG-21 DIP Teach. ......................................... 23

Figura 4.2 – Interface que permite ao aluno escolher a disciplina que pretente aprender. .. 23

Page 12: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

xii

Figura 4.3 – Interface principal do sistema onde vão ser aplicados os conceitos principais da norma MPEG-21. ................................................................................. 24

Figura 4.4 – Interface a que um professor tem acesso depois de autenticar-se. ............... 25

Figura 4.5 – Interface que permite ao administrador e ao professor registar pessoas. ........ 26

Figura 4.6 - Interface que permite ao administrador e ao professor editar pessoas. .......... 26

Figura 4.7 – Interface que permite ao administrador e ao professor remover alguém. ....... 27

Figura 4.8 – Interface que permite adicionar disciplinas. .......................................... 27

Figura 4.9 – Interface que permite eliminar disciplinas. ........................................... 28

Figura 4.10 – Interface que permite adicionar DIs às disciplinas. ................................. 28

Figura 4.11 – Interface que permite eliminar DIs. ................................................... 29

Page 13: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

xiii

Page 14: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

xiv

Abreviaturas

Lista de abreviaturas

API – Application Program Interface

DI – Digital Item

DIA – Digital Item Adaptation

DIBO – Digital Item Base Operation

DID – Digital Item Declaration

DIDL – Digital Item Declaration Language

DII – Digital Item Identification

DIM - Digital Item Methods

DIME – Digital Item Method Engine

DIML - Digital Item Method Language

DIP – Digital Item Processing

DIXO - Digital Item eXtension Operation

DOM - Document Object Model

EC – European Community

ECMA – European Computer Manufacturer Association

ER – Event Reporting

GUI – Graphical User Interface

HTML – Hypertext Mark-up Language

HTTP – Hyper Text Transfer Protocol

ID – Identifier

IEC – International Electrotechnical Commission

IEEE – Institute of Electrical and Electronic Engineers

IMS - Integrated Management Supervisor

IPMP – Intellectual Property Management and Protection

ISO – International Organization for Standardization

ITU – International Telecommunication Union

Page 15: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

xv

MIDI – Musical Industry Digital Interface

MPEG – Moving Picture Experts Group

PC – Personal Computer

PDA – Personal Digital Assistant

QoS – Quality of Service

RDD – Rights Data Dictionary

REL – Rights Expression Language

SMIL - Synchronized Multimedia Integration Language

SOAP - Simple Object Access Protocol

STP – Step Top Box

TR – Technical Report

TV – Television

UMA – Universal Multiple Access

URI - Uniform Resource Identifier

URL - Uniform Resource Locator

XML – eXtensible Mark-up Language

XSL - eXtensible Stylesheet Language

XSLT - eXtensible Stylesheet Language Transformations

Page 16: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

Capítulo 1

Introdução

ISO e IEC são duas organizações, que a par com outras organizações governamentais e não governamentais, trabalham em conjunto no desenvolvimento de Normas Internacionais, através de comités técnicos estabelecidos pelas mesmas. Através do grupo técnico SC29-WG11, conhecido sob a designação de MPEG (Moving Pictures Expert Group), este organismo desenvolve especificações na área das aplicações multimédia. A norma MPEG-21 é um exemplo de uma especificação em desenvolvimento no seio deste grupo. MPEG 21 está dividido em várias partes, dentro das quais destaco a parte 2 (Digital Item Declaration) e a parte 10 (Digital Item Processing) como relevantes no desenvolvimento da minha dissertação.

MPEG 21 tem como objectivos definir uma plataforma que suporte a transacção de conteúdos multimédia sob a forma de Digital Items, de uma forma interoperável e altamente automatizada, tendo em conta os requisitos de protecção de direitos de propriedade intelectual (Intellectual Property Management and Protection) desses conteúdos e sua distribuição usando uma larga gama de redes e terminais heterógeneos. A norma é baseada em dois conceitos essenciais: a definição da unidade fundamental de distribuição e transacção de informação multimédia (os Digital Items) e o conceito da interacção com os Digital Items por parte do utilizador.

Neste capítulo apresentam-se as duas partes da norma e a forma como estão relacionadas com os dois conceitos essenciais referenciados acima.

1.1 - Estrutura da norma MPEG-21

As tecnologias multimédia permitem aos criadores e consumidores, codificar, distribuir e aceder remotamente a conteúdos multimédia. A norma MPEG-21 pode ser vista como um conjunto de recomendações sobre a forma de utilizar ferramentas multimédia para a transacção de Digital Items entre diferentes comunidades e através de redes heterogéneas, de uma forma transparente. Para isso a norma é dividida em diferentes partes para facilitar o desenvolvimento de diferentes aplicações com diferentes requisitos e objectivos. As 18 partes da norma MPEG-21 que apresenta actualmente são [10]:

Page 17: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

2

Music album

Album info

Artist info

Tracks

Track 1Audio (64k) - mp3Audio (1288k) - mp3Lyrics - htmlScore - pdf

Bio - pdfPhoto - jpg

Credits - htmlProduction notes - html

Resource type ?Bit rate ?

• Parte 1: Vision, Technology and Strategy • Parte 2: Digital Item Declaration • Parte 3: Digital Item Identification • Parte 4: Intellectual Property Management and Protection • Parte 5: Rights Expression Language • Parte 6: Rights Data Dictionary • Parte 7: Digital Item Adaptation • Parte 8: Reference Software • Parte 9: File Format • Parte 10: Digital Item Processing • Parte 11: Evaluation Methods for Persistent Association Technologies • Parte 12: Test Bed for MPEG-21 Resource Delivery • Parte 13: Scalable Video Coding • Parte 14: Conformance Testing • Parte 15: Event Reporting • Parte 16: Binary Format • Parte 17: Fragment Identification for MPEG Resources • Parte 18: Digital Item Streaming

1.2 - Digital Items

Um Digital Item (DI) é definido como sendo a unidade fundamental de distribuição e transacção. É um objecto digital que se baseia numa combinação de recursos media, metadados e estrutura. Os recursos media constituem o próprio conteúdo a transaccionar, sendo os metadados o conteúdo distribuido, a informação sobre os dados ou do DI, ou mesmo a informação sobre os recursos incluídos no DI, e a estrutura é relação entre as partes do DI (recursos e metadados). Os DIs são descritos na Digital Item Declaration (DID), parte 2 da norma que será explicada mais à frente neste relatório.

Um exemplo de um DI pode ser uma compilação de música, incluindo a música mas também fotos, videos, animações gráficas, lyrics, scores, ficheiros MIDI, entrevistas com os cantores, noticias relacionadas com os cantores, entre muitas outras coisas (Figura 1.1).

Figura 1.1 - Exemplo de um diagrama da DID, no qual é representado um Digital Item [21].

Page 18: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

3

1.3 - Utilizadores

Existem vários tipos de Utilizadores: consumidores, comunidades, organizações, corporações e até fornecedores de conteúdo. Contudo um utilizador pode assumir direitos especificos e responsabilidades de acordo com a interacção dele com outros utilizadores.

Na figura 1.2 apresenta-se um exemplo de uma rede MPEG-21 entre consumidores e

fornecedores para transporte de recursos multimédia, com diferentes acessos. A rede é constituída por uma rede de comutadores e um proxy cache com o intuito de levar os conteúdos aos utilizadores nas melhores condições de visualização. O proxy cache que está na figura tem como função adaptar o bit rate de acordo as características dos terminais receptores, atendendo a que um terminal móvel não terá a mesma capacidade de processamento e disponibilidade de largura de banda na rede de acesso que um terminal fixo tal como um PC. De salientar a necessidade de existirem bases de dados nos fornecedores de conteúdos com descrições detalhadas dos DIs a disponibilizar para distribuição pelas diferentes comunidades, pelas diversas redes e terminais heterogéneos. Estes metadados dos conteúdos auxiliam as operações de adaptação dos DIs. Utilizadores (fornecedores de DI) Utilizadores (consumidores de DI) Utilizador Final

Utilizador Móvel

Utilizador (Proxy Cache)

Figura 1.2 - Exemplo de um sistema de distribuição Multimédia.

1.4 - Licensas

Os direitos e as permissões de um utilizador para aceder a recursos multimédia, podem ser exprimidos através de uma linguagem própria designada de Rights Expression Language (REL). O fornecedor de um video pode usar REL para transmitir as condições e/ou restrições que um consumidor deve observar ao interagir com o recurso multimédia por ele criado. No caso de existir uma licença associada a um recurso multimédia, isto é, no caso de o conteúdo ser protegido, o consumidor antes de pagar para ter acesso ao recurso, pode obter a licença para se inteirar das condições com que poderá interagir com esse conteúdo. Exemplos de algumas condições que poderão existir na licença, expressas usando REL, incluem o número

Page 19: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

4

de vezes que o consumidor poderá reproduzir o(s) recurso(s); quais os recursos, de entre os que compõem o item digital, que estão abrangidos pela licença; o período de tempo durante o qual o consumidor pode interagir com o(s) recurso(s); etc.

1.5 - Digital Item Declaration

Digital Item Declaration (DID) consiste num documento que descreve a estrutura de um item digital e as relações entre os seus components. É expresso através da linguagem Digital Item Declaration Language (DIDL), especificada na parte 2 da norma MPEG-21 e baseada em XML. A DID estabelece um modelo uniforme e flexivel e uma representação de um esquema interoperável para defenir os Digital Items. A parte 2 especifica um modelo conceptual para DID e DIDL como uma representação XML da DID. O modelo DID e DIDL fornecem uma declaração em forma de estrutura estática do DI. Ela não fornece o modo como o criador do DI sugere como um utilizador deve usá-lo, ficando isso a cargo da DIP. Exemplo de uma declaração usando a DID está representado na figura 1.3 usando recursos e metadados: <? Xml version=”1.0” encoding=”UTF-8”?> <DIDL xmlns=”urn:mpeg:mpeg21:2002:02:DIDL-NS”> <Item> <Descriptor> <Statement mimeType=”text/plain”> My Movie Collection </Statement> </Descriptor> <Item> <Component> <Resource mimeType=”video/mpeg” ref=”cool_movie.mpg”/> </Component> </Item> <Item> <Component> <Resource mimeType=”video/mpeg” ref=”cool_movie_2.mpg”/> </Component> </Item> </Item> </DIDL>

Figura 1.3 - Uma declaração de um filme de colecção usando a DID (representação XML) [5].

Para entender as entidades que estão referenciadas na declaração DID e a forma como

elas estão relacionadas umas com as outras, é usado um modelo gráfico baseado em blocos para representação da DID de uma forma mais simples do que a declaração DID baseada na linguagem XML. No caso da declaração da DID referenciada acima podemos visualizar três entidades, a Component, a Item e a Resource. Cada uma das entidades vai ser descrita a seguir e o modo como elas se relacionam para melhor percepção da estrutura interna da

Page 20: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

5

Declaração DID e do modelo gráfico usado como representação da Declaração DID de uma forma mais compreensiva para o leitor:

Container – Um container (contentor) é uma estrutura que permite agrupar items e/ou

containers. Os containers são labelados através de Descritores (Descriptors). Item – Um item é um grupo de sub-items ou components (componentes) que são limitados

por descriptors relevantes, os quais contém informações sobre o Item. Component – Um Component é a ligação de um recurso (resource) a todos os seus

descriptors relevantes. Descriptors tem informações sobre os resources tais como bit rate, conjunto de caracteres, informações de encriptação, mas não informação descrevendo o conteúdo.

Anchor – Uma Anchor (Ancora) liga descriptors a um fragment (fragmento), que

corresponde para uma especifica localização ou uma gama dentro de um resource. Descriptor – Um descriptor associa informação com um elemento fechado. Esta

informação pode ser um Component (tais como um thumbnail de uma imagem, ou um componente de texto), ou uma declaração textual.

Condition – Uma condition (condição) descreve o elemento fechado como sendo opcional,

e liga isto á selection (selecção) ou selections (selecções) que afectam a sua inclusão. Choice – Uma choice (escolha) descreve um conjunto de selections relacionadas que

podem afectar a configuração de um item. As selections dentro de uma choice são ambas exclusivas (escolhe exactamente uma) ou inclusivas (escolhe qualquer numero, incluindo todos ou nenhum).

Selection – Uma selection descreve uma decisão específica que pode afectar uma ou mais

conditions algures dentro do item. Se a selection é escolhida, o predicate (atributo) torna-se true, se não é escolhida torna-se false. Se não está resolvida torna-se undecided (não confirmada).

Annotation – Uma annotation (anotação) descreve um conjunto de informações sobre

outro elemento identificado no modelo sem alterar ou adicionar esse elemento. A informação pode tomar forma de assertions (afirmações), descriptors e anchors.

Assertion – Uma assertion define um estado configurado de uma choice completa ou

parcial afirmando se ela é true, false ou undecided para algum número de predicates associados com as selections para essa choice.

Resource – A resource é um Asset (conteúdo com direitos) identificado individualmente

tais com video ou clip de audio, uma imagem, ou um Asset textual. Um resource pode também ser potencialmente um objecto fisico.

Page 21: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

6

Fragment – Um fragment é uma designação ambigua de um ponto especifico ou uma gama dentro de um resource. Fragment pode ser um tipo específico de resource.

Statement – Um statement (declaração) é um valor textual literal que contém

informação, mas não é um Asset. Predicate – Um predicate é uma ambigua identificação de declaração que pode ser true,

false ou undecided. Na figura 1.4 podemos ver o modelo gráfico para representar as entidades da declaração

DID mencionada na figura 1.3.

Figura 1.4 - Uma declaração de um filme de colecção usando a DID (representação gráfica) [5].

1.6 - Digital Item Processing

Digital Item Processing (DIP) corresponde à parte 10 da norma MPEG-21. Do ponto de vista da interoperabilidade e do consumo controlado de recursos media, esta parte é uma das mais importantes porque permite ao utilizador interagir com o DI, através das sugestões de interacção (Digital Item Methods) que o autor do DI fornece. Exemplos dessas interacções podem ser adicionar ou remover tracks de um albúm de música digital, pedir adaptação para os recursos, configurar os DIs de acordo com as preferências do utilizador. Em sistemas que utilizem DIP, é inserida na DID na altura de criação de cada DI, a indicação de um conjunto de operações ou métodos que pode ser aplicado ao DI. Essa lista de métodos, designada de Digital Item Methods (DIMs), pode ser apresentada ao utilizador na altura em que recebe o DI. O utilizador pode então escolher um método, o qual é executado automáticamente por um motor software designado de DIP Engine. As DIMs são descritas através de uma linguagem

Page 22: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

7

baseada em ECMAScript, e que no contexto da norma MPEG-21 é designada de Digital Item Method Language (DIML).

Quando um utilizador interage com um DI existindo na respectiva DID uma lista de DIMs, o

utilizador poderá escolher uma delas para ser executada, sendo automaticamente seleccionados os parâmetros dessa operação. Alternativamente, uma lista de argumentos pode ser fornecida, o utilizador pode escolher uma permutação dos argumentos da DIM, então é apresentada a DIM que aceita aquela permutação de argumentos, e a DIM é executada. Adicionalmente, poderão existir algumas DIMs programadas para serem automáticamente executadas sempre que se iniciar interacção entre o DI a que se referem e um utilizador. As DIMs contêm chamadas para Digital Item Base Operations (DIBOs) e Digital Item eXtension Opreations (DIXOs), que são linhas de código para permitir a interacção do utilizador com o DI. A diferença entre as DIBOs e DIXOs reside no facto de que nas DIBOs o programador tem que implementar o código de acordo com a norma, havendo assim restrições. Nas DIXOs, o programador tem mais liberdade para programar à sua vontade, podendo eventualmente no futuro escolher a linguagem de programação à sua escolha, mas o normal é o uso da linguagem Java (J-DIXOs), devendo no entanto seguir algumas restrições impostas pela norma. Na prática, as DIBOs descrevem operações a efectuar sobre o DI que estão normalizadas e que por isso se aplicam de uma forma genérica a qualquer aplicação. Pelo contrário, as DIXOs, não estão especificadas na norma e descrevem operações específicas a cada aplicação.

As DIXOs permitem estender a funcionalidade oferecida pelo conjunto das DIBOs normalizadas, sendo definidas na linguagem específica DIXO. Podem incluir ligações para DIBOs e ainda chamadas para DIBOs específicas. As J-DIXOS apresentam Java como linguagem DIXO suportada, ligações de Java para tipos de objecto DIML e DIBOs, e DIBO para chamar J-DIXOs.

Algumas funções das DIBOs [21]:

DIA – adapt;

DID – areConditionsSatisfied, configureChoice, setSelection;

DII – getElementsByIdentifier, getElementsByRelatedIdentifier, getElementsByType;

DIP – alert, execute, getExternalData, getObjectMap, getObjects, getValues, play, print, release, runDIM, wait;

REL – getLicenseInformation, queryLicenseAuthorization;

A DIP especifica a sintaxe e semântica das DIBOs, contudo não especifica como a

semântica pode ser implementada por alguém dada a implementação da DIBO. A DIP especifica a forma como DIMs and J-DIXOs são declarados na DIDL. Isto inclui como um elemento DIDL pode ser associado com um tipo de objecto (Object Type) e como os

Page 23: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

8

argumentos para uma DIM podem ser associados com um tipo de argumento. Ligando tipos de objectos e de argumentos fornecemos um mapa entre os elementos da DIDL e os argumentos da DIM. Este mapa é chamado de Object Map.

Mais concretamente um Object Type é um tipo de argumento passado para a DIM. Isto

permite que o argumento seja processado dentro da DIM, de acordo com a sua semântica. Um Object Map fornece a relação entre os elementos da DID para os Object Types. Isto permite eles serem usados como um argumento de uma DIM.

O Object Type e o Object Map foram criados para permitir elementos da DID interagir com os argumentos da DIMs. A informação do Object Type é usada pela DIP Engine para criar o Object Map. A DIP Engine é a unidade de processamento responsável para gerar um Object Map, e executar as DIMs.

A figura 1.5 ilustra a aplicação destes conceitos. Um Object Map pode ser comparado a uma tabela ligando o tipo de semantica a um conjunto de elementos DID. Antes de executar PlayAdaptedMovie da DIM incluido na DID, o Object Map pode ser usado para criar a lista de argumentos para esta DIM. Como só existe só um elemento DID de Object Type urn:foo:movie, o único argumento válido para esta DIM é o primeiro componente da DID. Quando este componente é seleccionado da DID, usando o Object Map como mecanismo de procura, é convertido em Object DIM e feita acessibilidade em ambiente ECMAScript.

Figura 1.5 - Relação entre a DID, Object Map e a DIP [5].

Page 24: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

9

1.7 - Conclusão

Um dos principais objectivos da norma é manipular os DIs de forma eficiente, transparente e de modo interoperável através das tecnologias adequadas para o seu acesso, consumo ou até mesmo comércio. O MPEG-21 visa a utilização de recursos multimédia de forma transparente e crescente, através de uma larga gama de redes e dispositivos, usados por diferentes comunidades. Para manipular estes DIs a parte 10 da norma (DIP), disponibiliza um conjunto de métodos designados por DIMs que permitem a interacção do utilizador com DI. Desta forma permitem estender a definição estática do DI fornecendo mecanismos que permitem manipular o DI de uma forma dinâmica. Esses métodos são declarados juntamente com os recursos e metadados na estrutura DID.

No próximo capítulo veremos aplicações MPEG-21 desenvolvidas por várias entidades, em que põe em prática o que foi descrito neste capítulo.

Page 25: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

Capítulo 2

Aplicações MPEG-21

Como foi visto no capítulo anterior a norma é baseada em dois conceitos essenciais, a definição da unidade fundamental de distribuição e transacção (Digital Item) e o conceito de interactividade com o Digital Item. Digital Item pode ser por exemplo uma colecção de video, um album de música ou outros tipos de conteúdos multimédia. Sendo este um dos principais objectivos da norma manipular os DIs de forma eficiente, transparente e de modo interoperável através das tecnologias adequadas.

Este capítulo aborda as principais aplicações MPEG-21 desenvolvidas por diversas entidades, realçando a aplicação desenvolvida pela Giorgiana com o apoio da Faculdade de Engenharia e do INESC. Outras aplicações foram ou estão a ser desenvolvidas mas existe pouca informação acerca delas, nomeadamente quanto às suas funcionalidades, daí fazer apenas uma breve referência.

2.1 – DDIBrowser

O DDIBrowser é uma aplicação destinada especialmente para a Web, a qual apresenta as seguintes caracteristicas em termos de arquitectura baseada em serviços Web:

• O Processamento de Digital Items é realizado no lado do Servidor, sendo a apresentação na aplicação cliente;

• A troca de mensagens entre o cliente e o servidor são ficheiros baseados na linguagem XML (DIDs);

• É possivel configurar a arquitectura do DDI Browser.

Os DIs são processados e visualizados de maneira progressiva, sendo a navegação nos DIs feita do topo do elemento da DIDL para baixo. A aplicação apresenta várias funcionalidades dentro das quais destaco as seguintes:

• Permite o download de Digital Items, bem como a sua validação;

Page 26: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

11

• Navegação de conteudos remotos de DIs em estilo de página web; • Apresentação de assets (conteúdos com direitos) contidos nos DIs; • Processamento das preferências e selecções do utilizador; • Execução de métodos DIMs para interacção dinâmica entre o utlizador e o Digital Item;

Serviços web no servidor: • Aplicação IDIP server é a unidade central. Isto fornece ao MPEG-21

processamento específico e controlo da navegação; • Implementa um mecanismo de cache para backward dos DIs; • Estrutura Modular (de classes Java); • Os API dos serviços web desenvolvida usando JWSDP 2.0/Tomcat 5;

Cliente Web:

É chamado de WDI Browser e foi desenvolvido em PHP5/Apache 2, usa XSLT para geração de apresentações HTML dos DIs, apresenta uma estrutura modular, permite fácil adição de novas interfaces web para diferentes terminais e tem a vantagem de ser acessivel dos comuns Web Browsers.

Object Model: Um modelo de objecto foi criado para aumentar a performance da aplicação e que pode

ser reutilizado em outras aplicações MPEG-21.

Na figura 2.1 podemos ver arquitectura do DDIBrowser e relação entre os diferentes módulos.

Figura 2.1 - Arquitectura do DDIBrowser [23].

Page 27: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

12

O terminal cliente é chamado de WDI Browser, o qual está ilustrado na figura 2.2. O

pincipio de funcionamento da framework começa com o pedido do utilizador para acesso ao DI, após isto ele pode visualizar o conteúdo do elemento de topo do DI. As DIMs que permitem interagir com DI, estão representadas no lado esquerdo da figura, enquanto os recursos do DI podem ser vistos no centro dessa interface, no Resource Viewer. Se o utilizador preferir a aceder a um elemento ou sub-elemento, pode acedé-lo através do Content Overview que está no lado direito.

Figura 2.2 - Interface da Framework, WDI Browser desenvolvida pela Giorgiana [23].

Como podemos constatar no capítulo 1 um element pode conter várias choices, isso é

aplicado nesta framework tal como podemos observar na figura 2.3, em que podemos escolher que tipo de video queremos para o nosso terminal, tendo como opções, video para computador, para PDA ou então para telemóvel.

Figura 2.3 - Seleccionar a condição do conteúdo [23].

Page 28: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

13

Para terminar a apresentação da framework podemos observar na figura 2.2 o botão Close DI, que limpa a interface e o Back que permite aceder tal como nas páginas HTML à página anterior, neste caso ao DI anterior.

2.2 - AXMEDIS

Uma das aplicações mais populares baseadas na norma MPEG21 é o AXMEDIS. É um projecto fundado pela Comunidade Europeia e que teve início em Setembro de 2004. Ele apresenta várias funcionalidades dentro das quais destaco: ver os recursos existentes dentro de um objecto, visualizar os metadados do objecto, visualizar o SMIL, HTML, e/ou apresentação de construção MPEG-4. Uma das aplicações do AXMEDIS está baseada em páginas HTML optimizada para o Mozila Firefox e para o Internet Explorer, como podemos observar na figura 2.4.

Figura 2.4 – Interface do Axmedis Player baseada em páginas HTML [16].

Outra das aplicações deste grupo é o AXMEDIS PLAYER Sejer, Bordas and Nathan, que se

baseia nos formatos HTML, SMIL e MPEG4, cujo objectivo é renderizar a aplicação. Um exemplo de um screenshot da aplicação está representado na figura 2.5, com diferentes tipos de recursos, tais como: imagens, vídeos, etc.

Page 29: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

14

Figura 2.5 – Interface do AXMEDIS Player Sejer, Bordas and Nathan [16].

Neste momento o grupo AXMEDIS está a desenvolver uma aplicação para a Step Top Box. A STB (Step Top Box) do AXMEDIS Player consiste num dispositivo para receber o conteudo AXMEDIS e fazer play dos recursos incluidos no conjunto de TV. Dois tipos de STB estão a ser desenvolvidos. O primeiro do MBI está quase completo e já pode ser testado. Esta STB pode incluir capacidades de gravação HD (High Definition) e/ou podem ser descodificadores simples para receber em stream ou em download do conteúdo AXMEDIS.

O AXMEDIS Player para a STB é de dois tipos:

• Linux baseado em STB desenvolvido por parceiro MBI (criador de descodificadores Open Sky) e apresenta caracteristicas que satisfazem objectos AXMEDIS contendo conteúdos MPEG-2 e MPEG-4 recebidos em download;

• Baseado em Kreatel STB devenvolvido por parceiro TEO (Telecom Lithuania), para fazer o play dos objectos AXMEDIS contendo conteúdos MPEG-2 e MPEG-4 em stream e download em progresso;

Os players AXMEDIS MBI para Step Top Box apresentam as seguintes funcionalidades:

• Receber em stream/download objectos AXMEDIS;

Page 30: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

15

• Play objectos AXMEDIS protegidos e não protegidos; • Play recursos com tempo associado como é o caso de video e audio com

funcionalidades para Stop, pause, play, fast forward, fast backward, etc. • Suporta DRM (Digital Rights Management) e protecção AXMEDIS, incuindo

relatórios e logs de acções; • Mostra metadados;

Para concluir as frameworks dos produtos AXMEDIS é mostrado na figura 2.6 um Player desenvolvido para PDA, baseado nos formatos referenciados nas outras aplicações AXMEDIS.

Figura 2.6 – Interface do Player AXMEDIS para PDAs [16].

2.3 – Multimedia Lab

O grupo MULTIMEDIA LAB fundado em 2001 pela universidade Ghent da Bélgica, fez a primeira aplicação online baseada na norma MPEG-21. Este grupo desenvolveu várias aplicações baseadas na norma MPEG-21 com diferentes propósitos, bem como outras menos conhecidas. No entanto neste tópico só vou fazer referência ao demo que se encontra online e disponivel para download na página do grupo.

O demo é usado para produzir uma apresentação multimédia sincronizada contendo vários recursos (texto, imagens, video e audio), sendo essa sincronização temporal realizada dentro das Digital Item Declarations. Ao executar o demo pela primeira vez somos confrontados com uma escolha de 3 DIs (figura 2.7.1), o primeiro deles dá acesso a possível escolha de um

Page 31: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

16

trailer de um total de 4 como é ilustrado na figura (figura 2.7.3), sendo que cada um dos DIs apresenta vários métodos para sua manipulação (DIMS) como mostra na figura 2.7.5. O Segundo DI tem um método DIM para play de uma apresentação demo do gladiador, com recusos tais como texto, video e imagens sincronizados temporamente, tal como pode ser visto na figura 2.7.4. Por fim o último DI apresenta uma lista de músicas que o utilizador pode ouvir como ilustra a figura 2.7.2.

Figura 2.7.1 – Interface principal onde se Figura 2.7.2 – Lista de músicas.

pode escolher um DI de 3 DIs.

Figura 2.7.3 – Escolha um de 4 trailers. Figura 2.7.4 – Demo do Gladiador.

Figura 2.7.5 – Lista de métodos (DIMs) para

visualização de um trailer.

Figura 2.7 – Diversas interfaces do demo da Multimedia Lab que são presenteadas ao utilizador.

Page 32: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

17

2.4 - ENTHRONE

ENTHRONE é um projecto fundado pela Comunidade Europeia. A visão do projecto é fornecer acesso de forma transparente aos recursos multimédia assegurando QoS e eficiência, usando tecnologias distribuidas suportadas por todas as camadas middleware, em ordem para construir serviços interoperáveis. ENTHRONE tem desenvolvido um componente integrante designado de IMS (Integrated Management Supervisor), baseado na tecnologia distribuitiva e que é responsável pelas decisões que são tomadas e acções aprovadas na cadeia de entrega. O IMS tem tido um papel principal na asseguração da manipulação de toda a cadeia de distribuição de conteúdo. Isto suporta a cooperação entre várias entidades na cadeia de distribuição de informação digital, da geração de conteúdo e criação de serviços para o terminal do utilizador. O IMS é constituido por 3 sub-sistemas, o IMS dispatcher que permite realizar uma pesquisa de conteúdos noutros fornecedores de serviços, o IMS content Manager que contém os metadados usados para pesquisa e para adaptação, e o IMS Terminal Device Manager que envia a informação de contexto descrevendo as capacidades do terminal e as caracteristicas da qual o terminal reside.

Outras das funcionalidades do projecto é a integração do projecto com DID Browser, que é

uma aplicação terminal usada para pesquisa, visualização de DIDs e também permite fazer o play de recursos, e o Media Player que permite receber o url do recurso e fazer o seu play.

2.5 – DANAE

Danae (Dynamic and distributed Adaptation of scalable multimedia coNtent in a context-Aware Environment) é um projecto de 30 meses fundado pela European IST. Os objectivos deste projecto são especificar, densenvolver, integrar e validar uma framework completa para teste, capaz de fornecer um serviço de qualidade multimedia end-to-end ao minimo custo para o utilizador final. O trabalho pode cobrir a definição de formatos multimédia escaláveis com metadados associados a eles; a adaptação deles para o contexto de sessão para fazer a caracterização completa de adaptação de cenas multimédia distribuida através de uma optimização global do audio, video, gráficos 2D, carácteres virtuais 2D/3D, e o transporte e entrega de conteúdo multimédia para o utilizador final. Finalmente serão analisados modelos potenciais de novos negócios que permitirão avaliar a viabilidade comercial dos novos serviços conduzidos por DANAE.

2.6 - MUFFINS

MUFFINS (Multimedia Framework For Interoperability in Secure) é um projecto fundado pela Comunidade Europeia e terminado em Dezembro de 2003. Este projecto focou-se em resolver o problema da entrega de recursos multimédia de forma transparente através através de uma larga gama de redes e dispositivos, para diversos tipos de utilizadores em multiplos dominios de aplicação. Um dos objectivos do projecto Muffins é contribuir para o desenvolvimento da norma MPEG-21 e investigar o problema da descrição, entrega e protecção de conteúdos multimédia em ordem para propor uma solução completa de

Page 33: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

18

framework para cenários de uso de conteúdos, tais como procura, entrega e relacionados com a manipulação de administração de direitos. A aplicação terminal desenvolvida pela Muffins é destinada para os utilizadores, para o consumo de conteúdos multimédia. Isto inclui uma aplicação Web Browser para pesquisa, upload e download de conteúdo, podendo ser usado também para comprar ou vender licensas; a inclusão de um player multimédia que é armazenado localmente. O processamento de selecção, aquisição e consumo de um Digital Item é apresentado no diagrama da figura 2.8.

Figura 2.8 - Processamento de selecção, aquisição e consumo de um Digital Item [9].

2.7 - Conclusão

Existem mais compainhas ou grupos que desenvolvem frameworks para MPEG-21como a ENIKOS, a ADACTUS e as da Universidade de Klafengurt. Esta última desenvolveu uma aplicação para criação de DIs designada de DIBuilder, criando uma DID com os parâmetros que o utilizador insere na aplicação de acordo com a norma MPEG-21, tais como recursos, descritores, choices, licensas e componentes. Todas elas se baseiam na construção de frameworks de acordo com a norma, com os mesmos principios das outras já mencionadas nos outros tópicos, por isso o não valer apena estar a explicar cada uma delas, porque as outras já referidas apresentam mais funcionalidades e vão de encontro ao trabalho que tenho que desenvolver. Além disso vou dedicar um capítulo à explicação da framework que vou desenvolver ao longo do 2º Semestre e as funcionalidades que ela vai requerer.

Page 34: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

19

O próximo capítulo aborda o trabalho já desenvolvido ao longo deste semestre e o trabalho a desenvolver nos próximos tempos, realçando os objectivos que os orientadores estabeleceram para mim.

Page 35: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

Capítulo 3

Plano de Trabalho

Este capítulo aborda o trabalho que eu tenho que desenvolver, bem como as diferentes fases em termos de calendário.

3.1 – Objectivo do Trabalho

Os objectivos que os orientadores propuseram para o aluno, passa por estudar a utilização de ferramentas definidas na parte 10 do MPEG-21, designada de Digital Item Processing para o processamento, formatação e apresentação de Digital Items e desenvolver uma framework cujo objectivo ficou decidido pelos orientadores, que é o Ensino à Distância. A framework será desenvolvida em java com recurso a uma ferramenta que em princípio é a da Java SUN designada de Eclipse, integrada com o Qt da Trolltech. Eventualmente poderão usar-se outras linguagens de apoio como C++, Javascript, PHP, SQL, etc, conforme necessário.

3.2 – Plano de tarefas

Plano de tarefas estabelecido inicialmente pelos orientadores:

• 1ª fase: Estudo das partes relevantes da norma MPEG-21;

• 2ª fase: Identificação e definição de um conjunto relevante de funcionalidades segundo DIP;

• 3ª fase: Especificação de uma aplicação gráfica para visualização de DIs;

• 4ª fase: Desenvolvimento da Aplicação

Page 36: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

21

O aluno já cumpriu as três primeiras fases, estando as duas primeiras referidas no Capitulo 1 e 2 respectivamente. A 3ª fase é explicada no próximo capítulo. A 4ª fase será desenvolvida no 2º semestre como combinado com os orientadores. Face a este cenário o plano de trabalho para execução no 2º semestre está referenciado a seguir:

1- Análise e teste do software de referência – 9 de Fevereiro a 10 de Março;

2- Validação da especificação de uma aplicação gráfica – 10 de Março a 14 de Março;

3- Desenvolvimento da aplicação – 14 de Março a 31 Maio;

4- Escrita da Dissertação – 31 de Maio a 30 de Junho;

3.3 – Conclusão

Como foi visto neste capítulo vou desenvolver uma framework para Ensino á distância em linguagem Java. Essa aplicação deverá seguir a norma de forma rigorosa e se for possivel no final do desenvolvimento da aplicação, se houver tempo, tentar integrar a aplicação num site Web, num PDA ou num telémovel de modo a que satisfaça o principal objectivo da norma MPEG-21, o acesso a recursos multimédia através de várias redes e terminais heterogéneos, transportando esses mesmos de forma transparente. O próximo capítulo aborda a minha aplicação que eu pretendo desenvolver no 2º semestre, explicando o seu funcionamento e as suas funcionalidades.

Page 37: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

22

Capítulo 4

MPEG-21 DIP Teach

Neste capítulo será descrita uma aplicação para consumo de DI utilizando DIP que servirá de prova de conceito da dissertação. A aplicação será designada de MPEG-21 DIP Teach (figura 4.1) e terá como o ensino à distância como cenário de aplicação. Tendo em conta os objectivos da dissertação começou a ser preparado o aspecto gráfico da aplicação a fim de melhor compreender os requisitos para a implementação de DIP.

4.1 – Utilizadores

Os utilizadores da aplicação serão os alunos, os professores e os administradores. Os alunos serão os consumidores que poderão visualizar e interagir com os Digital Items. Os professores tem como objectivos colocar os conteúdos, os DIs, para os alunos poderem visualizar, e colaborar no processo de gestão de alunos e disciplinas como será visto no próximo tópico. Os administradores têm acesso a todas as funções do sistema e por isso vai ser responsável pela manutenção do funcionamento correcto do sistema.

4.2 – Funcionamento da MPEG-21 TD

A primeira etapa para aceder à aplicação passará por um nível de autenticação tal como se ilustra na Figura 4.1, em que todos os utilizadores terão de se autenticar para poder prosseguir na aplicação. É a primeira barreira de protecção do sistema permitindo desta forma uma mais fácil gestão e organização do sistema. O utilizador poderá a qualquer momento sair da aplicação premindo a tecla Close.

Page 38: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

23

Figura 4.1 – Interface de entrada da MPEG-21 DIP Teach.

Para facilitar a gestão, o sistema necessitará de uma base de dados. Essa base de dados irá ficar instalada num servidor remoto juntamente com os Digital Items armazenados.

Após a autentificação válida de um utilizador, o utilizador poderá prosseguir na aplicação

de acordo com aquilo que pretende aceder e do que a framework o pode fornecer. De salientar que os alunos serão registados pelos professores e pelos administradores. Se um aluno se autenticar no sistema de forma válida, poderá passar para a próxima interface destinada a ele e a todos os alunos que estão inscritos nesse sistema. Essa interface permite ao aluno escolher uma disciplina de entre as que está inscrito através da sua selecção (figura 4.2). A partir desse momento passam a estar disponíveis para visualização os respectivos conteúdos. A qualquer momento o aluno poderá fazer logout ou fechar aplicação.

Figura 4.2 – Interface que permite ao aluno escolher a disciplina que pretente aprender.

Page 39: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

24

Escolhida a disciplina para visualização ou para aprendizagem, o aluno poderá aceder à interface principal de todo o sistema. Essa interface representa muitos dos conceitos atribuidos à Digital Item Declaration e à Digital Item Processing referidos no capítulo 1 e que vão ser postos em prática respectivamente nesta inteface que está ilustrada na figura 4.3.

Figura 4.3 – Interface principal do sistema onde vão ser aplicados os conceitos principais da norma

MPEG-21.

O aluno poderá seleccionar um dos muitos DIs que cada disciplina poderá conter, sendo

que cada um poderá representar por exemplo uma determinada parte da matéria. Após selecção de um DI poderá ser visualizada uma lista de métodos (DIMs) que permitirão ao aluno interagir com o DI, como por exemplo visualizar um determinado video. Eventualmente poderão ser escolhidos os argumentos da DIM, ou alternativamente, poderá executar a DIM já com os argumentos definidos. Note-se que para executar uma determinada DIM tem que se carregar no botão Execute. Na interface os recursos do Digital Item escolhido poderão ser vistos na janela Resources, as descrições dos recursos na janela Descriptors, e os termos do recurso poderão ser vistos na janela Terms of this Resource. O aluno poderá eventualmente guardar algum recurso caso a licensa assim o permita fazer, além de poder retroceder de volta às suas disciplinas, consultar a ajuda em caso de dúvida, fazer logout, fechar a aplicação ou seleccionar outro DI da mesma disciplina, que de imediato faz o clean do antigo DI.

Se um professor ou administrador se autenticar é apresentada a interface ilustrada na

Figura 4.4. Estes dois utilizadores apresentam os seguintes privilégios:

Professor: • Registar alunos; • Poderão editar a ficha dos alunos;

Page 40: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

25

• Poderão eliminar fichas de alunos; • Adicionar disciplinas que leccionam; • Eliminar disciplinas que já não leccionam; • Adicionar e eliminar DIs às disciplinas que leccionam;

Administrador:

• Registar alunos, professores e administradores; • Editar fichas de alunos, professores e administradores; • Eliminar fichas de alunos, professores e administradores; • Adicionar e eliminar disciplinas; • Adicionar e eliminar DIs;

Figura 4.4 – Interface a que um professor tem acesso depois de autenticar-se.

Os professores, tal como os alunos, poderão ver os DIs das disciplinas que leccionam na

interface já referida na figura 4.3. No registo de alguém são necessários o nome da pessoa em causa, o username e a password, a indicação da categoria a qual o utilizador pertence (exemplo: aluno), as disciplinas a qual ele está inscrito se for o caso de um registo de um aluno, ou as disciplinas que leccionam se for o caso de um registo de um professor. Se for um administrador este campo não é necessário. Esta descrição está ilustrada na figura 4.5.

Page 41: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

26

Figura 4.5 – Interface que permite ao administrador e ao professor registar pessoas.

A edição funciona da mesma maneira que o registo de alguém, tendo a mesma interface como mostra a figura 4.6.

Figura 4.6 - Interface que permite ao administrador e ao professor editar pessoas.

Page 42: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

27

Para remover alguém selecciona-se a categoria e escolhe-se o nome que se quer eliminar (Figura 4.7). De salientar que um professor só poderá eliminar alunos aos quais dão aulas.

Figura 4.7 – Interface que permite ao administrador e ao professor remover alguém.

Para adicionar disciplinas o professor e o administrador poderão apenas escrever o nome da disciplina associado com o ano à qual ela pertence (Figura 4.8). Para eliminar selecciona-se a disciplina e carrega-se no botão Delete para eliminar (Figura 4.9).

Figura 4.8 – Interface que permite adicionar disciplinas.

Page 43: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

28

Figura 4.9 – Interface que permite eliminar disciplinas.

Para adicionar DIs, se for um professor selecciona-se a disciplina que o professor quer adicionar um DI (uma disciplina que ele lecciona), faz-se uma procura no computador do pelo DI que ele quer enviar para o servidor e por fim carrega-se no botão Send. O administrador poderá seleccionar qualquer disciplina para adicionar DIs (Figura 4.10).

Figura 4.10 – Interface que permite adicionar DIs às disciplinas.

Page 44: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

29

Para concluir, a eliminação de DIs segue o mesmo procedimento que adição, só que em vez de procurar no computador local, procura-se no servidor o DI que neste caso se quer apagar (figura 4.11).

Figura 4.11 – Interface que permite eliminar DIs.

4.3 – Conclusão

Este capítulo descreve a plataforma de Ensino à distância a ser desenvolvida recorrendo a tecnologia MPEG-21, em particular à DIP. As funcionalidades da aplicação descritas neste capítulo poderão ser alteradas, de acordo com as necessidades que possam surgir durante o seu desenvolvimento. O software a ser utilizado é em principio o Eclipse com o Qt designer da Trolltech integrado, sendo que ambos são open-source e permitem a integração de um no outro. Se ainda houver tempo disponivel tentarei introduzir a aplicação num site online, bem como tentar com que ela seja compativel com certos dispositivos tais como um PDA por exemplo.

No próximo e último capítulo farei uma breve conclusão do que conclui com o trabalho que desenvolvi até ao momento.

Page 45: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

Capítulo 5

Conclusão

ISO e IEC são duas organizações, que a par com outras organizações governamentais e não governamentais, trabalham em conjunto no desenvolvimento de normas internacionais, através de comités técnicos estabelecidos pelas mesmas. Através do grupo técnico SC29-WG11, conhecido sob a designação de MPEG (Moving Pictures Expert Group), este organismo desenvolve especificações na área das aplicações multimédia. A norma MPEG-21 é um exemplo de uma especificação em desenvolvimento no seio deste grupo. MPEG 21 está dividido em várias partes, dentro das quais destaco a parte 2 (Digital Item Declaration) e a parte 10 (Digital Item Processing) como relevantes no desenvolvimento da minha dissertação. A norma é baseado em dois conceitos essenciais: a definição da unidade fundamental de distribuição e transacção de informação multimédia (Digital Items) e o conceito da interacção com os Digital Items por parte do utilizador. Digital Items podem ser entendidos como por exemplo, uma colecção de video, um album de música ou outros tipos de conteúdos multimédia. Os Digital Items (DIs) são declarados numa estrutura estática DID através de uma linguagem própria (DIDL), num documento em formato XML como revela a parte 2 da norma. Um dos principais objectivos da norma é manipular os Digital Items de forma eficiente, transparente e de modo interoperável através das tecnologias adequadas para o seu acesso, consumo ou até mesmo comércio.O MPEG-21 visa a utilização de recursos multimédia de forma transparente e crescente, através de uma larga gama de redes e dispositivos, usados por diferentes comunidades. Para manipular estes Items Digitais a parte 10 da norma (DIP), disponibiliza um conjunto de métodos designados por DIMs que permitem a interacção do utilizador com DI. Desta forma permitem estender a definição estática do Item Digital fornecendo mecanismos que permitem manipular o DI de uma forma dinâmica. Esses métodos podem ser exprimidos através da linguagem definida em DIML, e são declarados juntamente com os recursos e metadados na estrutura DID referida anteriormente. Os DIMs contém chamadas para DIBOs e DIXOs, que são linhas de código para permitir a interacção do utilizador com o DI. A diferença entre as DIBOs e DIXOs reside no facto de que nas DIBOs o programador tem que implementar o código de acordo com a norma, havendo assim restrições. Nas DIXOs, o programador tem mais liberdade para programar à sua vontade, devendo no entanto seguir algumas restrições impostas pela norma.

Page 46: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

31

A nivel da componente prática do projecto, chegei à conclusão que para ter sucesso no desenvolvimento da aplicação, vou ter que interpretar bem a DID (parte 2 da norma) que contém os conteúdos do Digital Item de forma a extrair a informação requerida para depois dar-lhe o melhor seguimento. Penso que seja aí que a maior parte do tempo vai ser dispendido, daí que vou ter que gerir bem o tempo que tenho para desenvolver a aplicação de forma a que consiga cumprir todos os requisitos que de alguma forma referi no capitulo 4. Vou ter que defenir uma DID padrão para uso por todos os utilizadores, para que seja possivel a sua leitura sempre que a aplicação java a for lê-la. As questões com a base de dados em princípio não haverá problemas de maior, uma vez que já desenvolvi trabalhos semelhantes noutras disciplinas do curso em que utilizei bases de dados. Relativamente à DIP, tentarei construir alguns métodos simples (DIMs) para manipular os DIs, com recurso às DIBOs e DIXOs. No final e se ainda houver tempo disponivel tentarei integrar a aplicação num site Web ou mesmo num PDA, tal como fez a Giorgiana, satisfazendo assim um dos principais objectivos da norma MPEG-21, o acesso a conteúdos de forma transparente através de várias redes e terminais heterógeneos.

Para concluir o relatório queria referir que vou dar o meu melhor para deixar orgulhosos todas as pessoas que me apoiam, nomeadamente a minha familia e os meus orientadores que me escolheram para este cargo.

Page 47: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

Referências

[1] ISO/IEC TR 21000-1:2004, Information technology – Multimedia framework(MPEG-21) –

Part 1: Vision, Technology and Strategy

[2] MDS Group, Introducing MPEG-21 DIP – an Overview, April 2005, Busan, KR [3] IEEE, Introduction to the Special Section on MPEG-21, Transactions on Multimedia, VOL.

7,NO. 3, JUNE 2005 [4] Ghent University, Elis Department, Multimedia Lab, Digital Item Processing Architecture,

October 2002, Shanghai, China [5] IEEE, MPEG-21 Digital Item Processing, Frederik De Keukelaere, Saar De Zutter, and Rik

Van de Walle [6] ISO/IEC FDIS 21000-2:2005, Information technology – Multimedia framework (MPEG-21) –

Part 2: Digital Item Declaration [7] Rui Filipe Santos Rocha, Digital Item Processing, Dissertação de MIEEC na FEUP [8] ISO/IEC FDIS 21000-10:2005, Information technology – Multimedia framework (MPEG-21)

– Part 10: Digital Item Processing [9] Giorgiana Ciobanu, MPEG21 DI Browser, an MPEG-21 based architecture for the

consumption of Digital Items, Dissertação em Tecnologia Multimédia na FEUP [10] http://www.chiariglione.org/mpeg/standards/mpeg-21/mpeg-21html#_Toc23297968 [11] A Multimedia Terminal For Adaptation And End-To-End QOS Control, Beilu Shao, Marco

Mattavelli, Daniele Renzi, Maria T. Andrade, Stefano Battista,Samuel Keller, Giorgiana Ciobanu, Pedro Carvalho

[12] http://www.adactus.no

[13] http://multimedialab.elis.ugent.be/demo/DIPImplementation/terminal/MPEG-

21_DIP_terminal.html

Page 48: DIP based MPEG-21 Player - paginas.fe.up.ptee04001/Relatorio_DIP_based_MPEG_21... · v. Abstract . The MPEG-21 standard was created with main objective to allow the transparent access

33

[14] http://www.enikos.com

[15] http://www.axmedis.org/

[16] http://www.axmedis.org/tiki/tiki-index.php?page=AXMEDIS+Player#AXMEDIS_players [17] http://danae.rd.francetelecom.com/project-technology.php

[18] http://danae.rd.francetelecom.com/index.php

[19] http://danae.rd.francetelecom.com/technology-mpeg21.php

[20] http://multimedialab.elis.ugent.be/demo.asp

[21] ISO/IEC 21000-10, Introduction MPEG-21 DIP an Overview, Information technology –

Multimedia framework (MPEG-21) – Part 10: Digital Item Processing, July 2005, Poznan, PL

[22] Broadcasting and Communication Convergent Network Based on MPEG-21: Design and

Implementation of Multimedia Service Framework, Yongju Cho, Jae-Gon Kim, and Jin Woo Hong

[23] INESC Porto, An MPEG-21 Web Peer for the consumption of Digital Items, Giorgiana

Ciobanu, Maria Teresa Andrade, Pedro Carvalho, Eurico Carrapatoso, 22 junho de 2007 [24] MPEG-21 Digital Item Declaration (ISO/IEC 21000-2): an overview, Jeroen Bekaert and

Herbert Van de Sompel, Research Library, Prototyping Team, Los Alamos National Laboratory

[25] Dynamic and Distributed Adaptation of Scalable Multimedia Content in a Context-Aware

Environment, Michael Ransburg, Hermann Hellwagner, Renaud Cazoulat, Benoit Pellan, Cyril Concolato, Saar De Zutter, Chris Poppe, Rik Van de Walle, Andreas Hutter

[26] Advanced Multimedia Systems using MPEG-21 Digital Item Processing, Chris Poppe,

Frederik De Keukelaere, Saar De Zutter, Rik Van de Walle