Sei sulla pagina 1di 33

2 Conceitos Bsicos

No captulo anterior, foi mencionado que o padro MPEG-4, entre os padres para codificao do contedo audiovisual, destaca-se, com vantagens, pela sua abordagem orientada a objeto. A arquitetura dos componentes de um sistema MPEG-4, que serve como modelo para a codificao orientada a objeto, definida na parte inicial desse padro, denominada Systems (ISO/IEC, 2001). Alm do modelo arquitetural, o MPEG-4 Systems define tambm os formatos adotados para a especificao das cenas audiovisuais. Pela sua importncia, essa parte inicial do MPEG-4, que se dedica produo de aplicaes
PUC-Rio - Certificao Digital N 0220932/CC

multimdia/hipermdia, ser abordada neste captulo. Este captulo tem como principal objetivo explicar, de forma precisa, os conceitos envolvidos na integrao dos recursos oferecidos pelo MPEG-4 s caractersticas da linguagem NCL. Baseado nesse objetivo, alm do MPEG-4 Systems, a linguagem NCL 2.0, originada no modelo NCM, tambm ser abordada, com nfase nas suas funcionalidades, particularmente nos templates para composies hipermdia. Para cumprir seus propsitos este captulo est organizado da forma a seguir. A Seo 2.1 apresenta o padro MPEG-4, com destaque para sua parte 1 Systems. A Seo 2.2 descreve os formatos para autoria nesse padro. Por fim, na Seo 2.3, o modelo conceitual NCM Nested Context Model e a linguagem NCL Nested Context Language so resumidamente apresentados. 2.1. MPEG-4 Os padres MPEG so definidos pela ISO (International Organization for Standardization) 2 e a IEC (International Electrotechnical Commission ) 3 , e tm

2 3

http://www.iso.org http://www.iec.ch

Conceitos Bsicos

27

origem no trabalho associado entre vrias empresas e grupos de pesquisa de instituies distribudas por todo o mundo. Historicamente o MPEG-4 teve como objetivo inicial a codificao do contedo audiovisual para transmisso a baixas taxas (Pereira & Ebrahimi, 2002). Com esse objetivo, os estudos para o seu desenvolvimento foram iniciados em 1993, no entanto, a partir de 1994 e at 1995, seus objetivos sofreram alteraes, voltando-se para uma convergncia entre aplicaes multimdia, baseadas em TV/filmes/entretenimento, computadores e telecomunicaes (Koenen, 2002). Somente em outubro de 1998 foi apresentada a primeira verso desse padro, que se encontra na segunda verso desde dezembro de 1999. O MPEG-4, de forma similar aos padres MPEG anteriores, distribudo em partes, cada qual com um objetivo especfico. Um sumrio das partes do padro apresentado na Tabela 2.1.
Padro Nomenclatura ISO/IEC 14496-1 Systems ISO/IEC 14496-2 Visual ISO/IEC 14496-3 Audio ISO/IEC 14496-4 Conformance Testing ISO/IEC 14496-5 Reference Software ISO/IEC 14496-6 DMIF (Delivery Multimedia Integration Framework) ISO/IEC 14496-7 Optimized Visual Reference Software ISO/IEC 14496-8 Carriage of MPEG-4 Contents over IP Networks ISO/IEC 14496-9 Reference Hardware Description ISO/IEC 14496-10 Advanced Video Coding ISO/IEC 14496-11 Scene Description and Application Engine ISO/IEC 14496-12 ISO Base Media File Format ISO/IEC 14496-13 IPMP Extensions ISO/IEC 14496-14 MP4 File Format ISO/IEC 14496-15 AVC File Extensions ISO/IEC 14496-16 Animation Framework eXtension (AFX) ISO/IEC 14496-17 Streaming Text Format ISO/IEC 14496-18 Font compression and streaming ISO/IEC 14496-19 Synthesised texture streaming Tabela 2.1 Sumrio do padro MPEG-4
PUC-Rio - Certificao Digital N 0220932/CC

A organizao em partes distintas permite que as vrias tecnologias, definidas individualmente, possam ser utilizadas em conjunto, mas tambm de forma independente. Em virtude dessa abordagem, partes do MPEG-4 podem ser utilizadas com tecnologias proprietrias. Considere, por exemplo, um sistema que utilize a codificao de vdeo do MPEG-4 em conjunto com alguma outra codificao de udio proprietria. Diversas outras combinaes so permitidas. As partes apresentadas na Tabela 2.1 so aquelas atualmente definidas pelo MPEG-4, no entanto, essa lista dinmica, com a possibilidade de insero de

Conceitos Bsicos

28

novas partes, correspondentes a aspectos que o comit da ISO/IEC voltado para o MPEG-4 (JTC1/SC29/WG11) julgue convenientes. A possibilidade de adicionar novos avanos tecnolgicos ao padro, atravs de novas partes, outra vantagem da fragmentao do MPEG-4. Como mencionado no incio deste captulo, grande parte da especificao baseada em objetos desse padro definida na sua Parte 1: Systems. O MPEG-4 Systems baseia-se no conceito de que uma cena audiovisual composta de objetos cujas propriedades so definidas utilizando-se um formato para descrio de cenas. Complementarmente, as Partes 2 e 3 desse padro dedicam-se, principalmente, aos algoritmos para codificao de vdeo e udio, respectivamente, sendo que a Parte 10, definida tambm no ITU-T (International Telecommunication Union) 4 , atravs da recomendao H.264 (ITU-T, 2004), complementa a codificao de vdeo apresentada na Parte 2. O conjunto de testes de conformidade, utilizados para validar implementaes, definido na Parte 4.
PUC-Rio - Certificao Digital N 0220932/CC

As Partes 5, 7 e 9 definem ferramentas de software e de hardware que servem de referncia para implementaes, como codificadores e multiplexadores. Os modelos para transporte dos fluxos MPEG-4 so definidos nas Partes 6 e 8. Da Parte 11 em diante podem ser encontrados os atuais projetos em desenvolvimento desse padro, alguns dos quais ainda no publicados. Na Parte 11 so definidas as extenses para a descrio de cenas. Essas extenses so compostas por novos elementos textuais e grficos, novos segmentos para udio, alm de novos atributos para as linguagens declarativas (ISO/IEC, 2004). Na Parte 12, o formato MP4 definido em detalhes, destacando-se as facilidades para intercmbio, gerncia e apresentao do contedo de mdia encapsulado nesse formato (ISO/IEC, 2003). ainda importante ressaltar que, em todas as suas partes, o MPEG-4 mantm compatibilidade com os padres anteriores (MPEG-1 e MPEG-2). 2.1.1. MPEG-4 Systems No MPEG-4 uma cena audiovisual pode ser composta por vrios objetos (naturais ou sintticos). Estruturalmente, cada cena composta por objetos
4

http://www.itu.int/ITU-T

Conceitos Bsicos

29

organizados de forma hierrquica, formando um grafo dirigido acclico, conforme ilustra a Figura 2.1. Os objetos de mdia so representados pelas extremidades do grafo e os demais ns representam composies criadas a partir desses objetos at o nvel de uma cena. A estrutura da cena audiovisual dinmica, pois ns podem ser adicionados, substitudos ou removidos. As propriedades dos ns tambm podem ser alteradas, como, por exemplo, o posicionamento dos objetos em cena.

PUC-Rio - Certificao Digital N 0220932/CC

Figura 2.1 Estrutura de uma cena MPEG-4

Na Figura 2.2, a estrutura representada pela Figura 2.1 exemplificada atravs de uma cena cotidiana; nela tem-se a representao de uma aula, onde o contedo audiovisual formado por objetos. Ainda na Figura 2.2, a exibio da cena, denominada viso hipottica, corresponde ao conjunto dos objetos distribudos na cena e apresentados atravs de um exibidor MPEG-4. Esses objetos, correspondentes realidade do contedo capturado, podem ser exibidos atravs de vrias ferramentas audiovisuais (ISO/IEC, 2000b). Complementarmente, o MPEG-4 permite que sejam definidos eventos de interao para os objetos pertencentes cena. Esses eventos, bem como os relacionamentos entre os objetos que compem a cena audiovisual, so especificados atravs de formatos para descrio das cenas.

Conceitos Bsicos

30

PUC-Rio - Certificao Digital N 0220932/CC

Figura 2.2 Exemplo de uma cena MPEG-4

Conforme mencionado no Captulo 1, no MPEG-4 cada objeto de mdia de um documento pode ser codificado como um ou mais fluxos individuais, denominados fluxos elementares. Alm desses fluxos, dois outros complementam esse modelo: o fluxo descritor de cenas, que contm as informaes das relaes entre os objetos de mdia e especificado atravs do formato BIFS e o fluxo descritor de objetos, que especifica, entre outras informaes, quais so os fluxos elementares que representam cada objeto de mdia no documento. A Figura 2.3 ilustra cada um dos fluxos citados no pargrafo anterior. Nela, um fluxo descritor de cenas, especificado em BIFS, contm as informaes relativas a estrutura da cena a ser exibida. A Figura 2.3 contm ainda trs fluxos elementares relativos a dois objetos da cena, um udio e um vdeo. Um fluxo elementar corresponde ao objeto de udio, enquanto os dois fluxos restantes correspondem a uma opo de escalabilidade para o vdeo. A relao entre os fluxos elementares existentes e os objetos em cena definida pelos descritores de objetos pertencentes ao fluxo descritor de objetos.

Conceitos Bsicos

31

Figura 2.3 Fluxos MPEG-4

No modelo de fluxos proposto pelo MPEG-4, alm dos fluxos bsicos


PUC-Rio - Certificao Digital N 0220932/CC

citados, tambm existem outros fluxos especficos, como o fluxo OCI (Object Content Information), que contm informaes sobre o contedo dos fluxos elementares e o fluxo IPMP ( Intellectual Property Management and Protection), que armazena informaes relativas proteo de direitos autorais (Koenen, 2002). O fluxo OCI define metadados sobre o contedo das cenas atravs da sua descrio semntica. Esse fluxo atribui palavras-chave, resumos ou textos completos sobre o contedo dos fluxos elementares. Atualmente, pode-se considerar a possibilidade de utilizao do padro MPEG-7 (Martinez, 2003) para realizar as funes do fluxo OCI (Pereira & Ebrahimi, 2002). O fluxo IPMP corresponde a uma estrutura genrica para implementar proteo ao contedo, permitindo atribuir um identificador de propriedade intelectual (IPI) aos fluxos elementares, com o objetivo de gerenciar o direito da apresentao (Koenen, 2002). A seguir, a Figura 2.4 ilustra as etapas definidas na arquitetura dos componentes de um sistema MPEG-4 (Koenen, 2002). Nessa arquitetura, todas as informaes, relativas ao contedo audiovisual, so transmitidas atravs de fluxos contnuos, onde tcnicas de compactao e compresso podem ser aplicadas individualmente. Antes da transmisso, todo o conjunto deve ser sincronizado,

Conceitos Bsicos

32

obedecendo s relaes definidas entre os objetos de mdia, ainda na fase de autoria 5 .

PUC-Rio - Certificao Digital N 0220932/CC

Figura 2.4 Arquitetura de componentes MPEG-4

Na camada de compresso, localizada na parte superior da arquitetura, os objetos de mdia que compem uma cena, o fluxo descritor de cenas e os descritores de objetos so codificados e decodificados individualmente. Nessa camada o fluxo descritor de cenas, contendo os relacionamentos entre os contedos e as caractersticas da apresentao, codificado no formato BIFS. Os descritores de objetos, por sua vez, so codificados com as informaes que

Note que o sentido das setas indicam a recepo dos fluxos, mas basta invert-las para

termos a arquitetura para transmisso dos mesmos.

Conceitos Bsicos

33

relacionam os objetos de mdia s instncias de objetos nas cenas, e tambm com as descries semnticas e regras para controle de acesso dos fluxos (fluxos OCI e IPMP). Finalmente, os objetos de mdia so codificados individualmente, de acordo com as caractersticas de cada mdia. O sincronismo definido temporalmente, e de forma relativa entre os fluxos elementares, na camada de sincronizao. Nessa camada, os segmentos codificados so sincronizados atravs de marcas de tempo (time stamp), localizadas dentro das unidades de acesso individuais (ISO/IEC, 2001), em cada fluxo elementar. As unidades de acesso so elementos discretos de informao, existentes em todos os fluxos (descritor de cenas, descritor de objetos, OCI, IPMP, elementares etc.), que variam de acordo com as caractersticas de cada fluxo. Por exe mplo, em um fluxo elementar representando um vdeo, as unidades de acesso podem ser formadas por cada um dos quadros desse vdeo, por outro lado, em um fluxo descritor de cenas, uma unidade de acesso pode ser definida
PUC-Rio - Certificao Digital N 0220932/CC

por uma composio, que pode conter referncias a vrios objetos em cenas. Ainda na camada de sincronizao, os fluxos so encapsulados em pacotes de sincronizao (SyncLayer packet ). Nesses pacotes, as unidades de acesso podem ser fragmentadas para transmisso. Cada pacote de sincronizao contm informaes importantes no seu cabealho, como o seu nmero de seqncia, para o controle dos pacotes, o relgio do codificador (OCR - Object Clock Reference), que permite sincronizar o receptor com o transmissor, alm de informaes bsicas sobre o fluxo encapsulado, como a ordem de fragmentao das unidades de acesso. A camada de entrega, tambm denominada camada de transporte, a ltima camada antes da passagem dos fluxos MPEG-4 para os meios de transmisso. No primeiro nvel dessa camada existe um modelo de multiplexao denominado FlexMux (ISO/IEC, 2001). A adoo dessa multiplexao opcional, no entanto, fluxos com caractersticas semelhantes e requisitos de qualidade de servio (QoS) similares podem utiliz- la a fim de reduzir o nmero de conexes estabelecidas. Diferenas nas variaes do atraso fim- a-fim entre fluxos correlacionados tambm podem ser minimizadas atravs da utilizao desse mdulo (Pereira & Ebrahimi, 2002). Na omisso dessa multiplexao, cada fluxo elementar, correspondente aos objetos de mdia codificados, mapeado diretamente para um canal de transporte (Herpel, 1999).

Conceitos Bsicos

34

O segundo nvel da camada de entrega oferece vrios servios para o transporte das informaes. Nessa camada somente a interface dos vrios servios especificada, caracterstica que permite ao MPEG-4 utilizar vrios tipos de protocolos, adequados a aplicaes e meios de transmisso distintos, tais como: RTP, UDP, TCP e ATM. Entre os protocolos disponveis destaca-se a possibilidade de integrao do MPEG-4 com o fluxo de transporte MPEG-2 (ISO/IEC, 2000a), adotado em praticamente todos os padres atuais para TV digital interativa. Todos os servios oferecidos pela camada de transporte so definidos e coordenados pelo framework definido na Parte 6 do MPEG-4, denominado DMIF (Delivery Multimedia Integration Framework ). Atravs do DMIF so definidos os canais de transporte, independente do protocolo adotado, utilizando a interface DAI (DMIF Application Interface). Essa interface abstrai, para as aplicaes, o mapeamento dos fluxos MPEG-4 nos canais de transporte (ISO/IEC, 2000c).
PUC-Rio - Certificao Digital N 0220932/CC

Para exemplificar as funes do DMIF, pode ser interessante compar- lo a um protocolo com funes prximas e bastante conhecido: o FTP (File Transfer Protocol) (Postel & Reynolds, 1985). A diferena essencial est no fato de que o FTP retorna um conjunto de dados, enquanto que o DMIF retorna ponteiros indicando o caminho para a recuperao de um determinado fluxo de informaes. Quando o DMIF executado, do ponto de vista do cliente, a primeira ao realizada o estabelecimento de uma sesso com o servidor remoto. Aps o estabelecimento dessa sesso, os fluxos so selecionados e ocorre uma requisio para que eles comecem a ser enviados ( streaming). Na camada de entrega, onde a conexo fo i solicitada, ponteiros so retornados para as conexes de transporte onde os fluxos sero recuperados, estabelecendo assim a comunicao entre o cliente e o servidor. Para obter acesso ao contedo MPEG-4 atravs do DMIF, segundo Herpel (Herpel, 1999), a comunicao entre o cliente e o servidor pode ser instanciada por requisies, a partir do cliente, como em um cenrio tpico de aplicaes WWW, onde as requisies so realizadas atravs de URLs (Uniform Resource Locator) relativas ao servidor. Complementarmente, essa comunicao pode ser realizada por difuso (broadcasting) como, por exemplo, atravs de descritores MPEG-4 especficos inseridos nas tabelas de programa do MPEG-2 (program-

Conceitos Bsicos

35

specific information-PSI) (ISO/IEC, 2000a). Em ambos os casos, para receber o contedo, as seguintes etapas so estabelecidas: PUC-Rio - Certificao Digital N 0220932/CC

O cliente recebe um nico descritor de objetos denominado descritor de objetos inicial (IOD); O descritor de objetos inicial contm indicadores para o(s) fluxo(s) descritor de objetos e para o(s) fluxo(s) descritor de cenas; O cliente realiza requisies desses fluxos atravs dos seus indicadores usando a interface DAI; O cliente recebe uma mensagem indicando que os fluxos solicitados sero transmitidos; Em cenrios interativos, o transmissor pode exigir que o cliente confirme que est pronto para receber esses fluxos; Os fluxos so transmitidos; A partir do fluxo descritor de cenas, o cliente traduz as expresses em BIFS e, com o auxlio do fluxo descritor de objetos, seleciona os identificadores dos fluxos elementares necessrios apresentao;

O cliente realiza requisies desses fluxos elementares, atravs dos seus indicadores, usando a interface DAI (neste ponto o processo se repete para os fluxos elementares).

importante ressaltar que o descritor de objetos inicial uma entidade especfica do incio de uma transmisso que contm outras informaes, alm dos fluxos descritores de cenas e descritores de objetos. Esse descritor tambm armazena as informaes relativas aos perfis e nveis (ISO/IEC, 2001) do contedo a ser transmitido. Os perfis e nveis indicam os recursos necessrios ao receptor para que ele seja capaz de manipular o contedo de uma apresentao. A presena dessas informaes no descritor de objetos inicial permite aos receptores tomar decises sobre a possibilidade ou no de manipular o contedo a ser transmitido antes do mesmo ser recebido. Eventualmente, em apresentaes com um grande nmero de cenas, onde exista uma variao na complexidade entre elas, possvel indicar os requisitos exigidos individualmente, por cada cena (Herpel & Eleftheriadis, 2000).

Conceitos Bsicos

36

2.2. Linguagens para Documentos MPEG-4 Na arquitetura do MPEG-4, o fluxo descritor de cenas codificado no formato BIFS. Esse formato possui construes baseadas nos conceitos da VRML (Virtual Reality Modeling Language) (WEB3D, 1996); linguagem que teve origem na dcada de 90 com o objetivo de descrever ambientes interativos tridimensionais aplicados WWW, atravs de uma sintaxe textual e independente de plataforma. A primeira verso dessa linguagem (VRML 1.0) surgiu em 1995, porm, como essa verso possua limitaes de interatividade entre os usurios e as aplicaes virtuais, em 1996 iniciou-se o desenvolvimento da segunda verso (VRML 2.0). Essa segunda verso acrescentou uma no va sintaxe, introduzindo vrias modificaes para permitir animaes, som, interao etc., motivando, em 1997, a adoo dessa linguagem pela ISO e IEC. Aps uma nova reestruturao,
PUC-Rio - Certificao Digital N 0220932/CC

essa linguagem foi definida como um padro ISO/IEC, com o nome de VRML97 (ISO/IEC, 1997). Apesar de inspirado na VRML, BIFS possui caractersticas prprias, adequadas para o transporte MPEG-4. Ao contrrio da VRML, onde seus objetos e aes so declarados textualmente, em BIFS todas as estruturas so especificadas em cdigo bin rio. Essa diferena, entre outros aspectos, faz com que os documentos especificados em BIFS sejam extremamente menores do que em outras linguagens (Herpel, 1999). Conforme citado na Seo 2.1, a adoo do formato binrio fundamental para a distribuio de cenas MPEG-4, no entanto esse formato pode dificultar o processo de autoria. Apesar da possibilidade de utilizao da edio grfica, onde o formato binrio torna-se transparente para os autores, a edio declarativa pode ser a opo escolhida por muitos, por necessitar apenas de um editor de texto tradicional para escrever a representao textual do documento (Muchaluat-Saade, 2003). Para contornar essa limitao do formato binrio, o formato XMT (eXtensible MPEG-4 Textual) (ISO/IEC, 2001) foi proposto como um framework para especificar descries de cenas MPEG-4 atravs de uma sintaxe textual. Esse framework instanciado por duas linguagens, com diferentes sintaxes e

Conceitos Bsicos

37

semnticas: a linguagem XMT-A e a linguagem XMT-O, apresentadas nas Sees 2.2.1 e 2.2.2, respectivamente. 2.2.1. Linguagem XMT-A A linguagem XMT-A uma verso declarativa de BIFS para representar descries de cenas MPEG-4. Sua estrutura baseia-se em construes XML com representao direta das expresses existentes no formato BIFS. Por representar construes em BIFS, XMT-A tambm possui estruturas semelhantes s definidas em VRML. A Figura 2.5 ilustra parte de um documento MPEG-4 especificado em XMT-A.
<?xml version="1.0" encoding="US-ASCII" standalone="yes"?> <XMT-A xmlns="urn:mpeg:mpeg4:xmta:schema:2002" ...> <Header> <InitialObjectDescriptor objectDescriptorID="IODID_1"> <Profiles ODProfileLevelIndication="Unspecified" /> <Descr> <esDescr> <ES_Descriptor ES_ID="IOD_BIFS"> <decConfigDescr> <DecoderConfigDescriptor streamType="SceneDescription" > . </DecorderConfigDescriptor> </decConfigDescr> </ES_Descriptor> <ES_Descriptor ES_ID="IOD_OD"> <decConfigDescr> <DecoderConfigDescriptor streamType="ObjectDescriptor" ... /> </decConfigDescr> </ES_Descriptor> </esDescr> </Descr> </InitialObjectDescriptor> </Header> <Body> <ObjectDescriptorUpdate> <OD> <ObjectDescriptor binaryID="1" objectDescriptorID="od1"> <Descr> <esDescr> <ES_Descriptor ES_ID="ESID4"> <decConfigDescr> <DecoderConfigDescriptor objectTypeIndication="5" streamType="4"../> . </decConfigDescr> <slConfigDescr> <StreamSource url="../mediaContent/musicas/img/logo.jpg"/> </ES_Descriptor>

PUC-Rio - Certificao Digital N 0220932/CC

Conceitos Bsicos

38

</esDescr> </Descr> </ObjectDescriptor> </OD> </ObjectDescriptorUpdate> <par begin="0.0"> <Insert atNode="audioRegion1" position="END"> <OrderedGroup DEF="5"> <AudioSource url="od:1"/> </OrderedGroup> </Insert> </par> </Body> </XMT-A> Figura 2.5 Exemplo de documento especificado em XMT-A

A primeira parte de um documento XMT-A composta pelo cabealho (Header ), que especifica o descritor de objetos inicial. Esse descritor de objetos , segundo o modelo MPEG-4 Systems, o elemento inicial de uma apresentao.
PUC-Rio - Certificao Digital N 0220932/CC

Nele so especificadas, atravs do elemento Profiles, as informaes sobre os recursos necessrios no receptor para interpretar o documento. Alm de estabelecer os nveis e perfis do documento, esse descritor indica quais so os fluxos iniciais de uma apresentao. Na Figura 2.5, o descritor de objetos inicial especifica um fluxo descritor de cenas e um fluxo descritor de objetos, atravs dos elementos DecoderConfigDescriptor. No corpo de um documento XMT-A (Body) so definidas as construes para apresentao dos objetos em cenas. O documento apresentado na Figura 2.5 tem como objetivo apresentar uma imagem (logo.jpg) atravs de um exibidor MPEG-4. Para isso, o comando BIFS, representado pelo elemento ObjectDescriptorUpdate, utilizado para atualizar o fluxo descritor de objetos, instanciando nesse fluxo uma referncia para essa imagem. A partir do descritor de objetos atualizado, um outro comando BIFS, responsvel pela insero (insert ) acionado. Esse comando atua no instante inicial da apresentao, determinado pelo elemento par, inserindo no n audioRegion1, definido pelo atributo atNode do comando Insert , a imagem especificada pelo descritor de objetos. A descrio detalhada da sintaxe da linguagem XMT-A pode ser encontrada na referncia (ISO/IEC, 2001). Em relao ao formato BIFS, essa linguagem favorece o procedimento declarativo na autoria, pois permite ao autor escrever textualmente a especificao do documento multimdia/hipermdia.

Conceitos Bsicos

39

Por outro lado, no aspecto semntico, XMT-A no acrescenta nenhuma funcionalidade. Na realidade, por representar diretamente todos os elementos presentes na arquitetura MPEG-4, XMT-A tornou-se excessivamente complexa e extensa para a autoria (Kim et al., 2000). 2.2.2. Linguagem XMT-O Para diminuir a complexidade da especificao de cenas MPEG-4, a linguagem XMT-O foi desenvolvida. Nela os objetos audiovisuais e seus relacionamentos so descritos em um alto nvel de abstrao, facilitando o processo de autoria, pois os documentos multimdia/hipermdia so concebidos com base nas intenes do autor, ao contrrio do que ocorre em XMT-A. Comparar a capacidade de autoria de XMT-O de XMT-A algo como comparar
PUC-Rio - Certificao Digital N 0220932/CC

a facilidade de programao de C++ com Assembly (Kim & Wood, 2002). Com o objetivo de melhor compreender a estrutura de XMT-O, a Figura 2.6 apresenta um documento MPEG-4 especificado nessa linguagem.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMT-O xmlns="urn:mpeg:mpeg4:xmto:schema:2002" ...> <head> <layout type="xmt/xmt -basic-layout" metrics="pixel" > <topLayout id="window1" ...> <region id="title" size="600 60" translation="0 145" .../> ... </topLayout> </layout> <defs> <img id="defImg " src="picture.jpg" /> </defs> <meta na me="copyright" content="(c)Copyright Telemidia /> </head> <body> <par id="ncl_example -processed"> <rectangle region="title" dur="indefinite" size="600 60"> <material color="white" filled="true"/> </rectangle> <par id="coisaPele"> <par id="ncl-composite-1"> <audio id="samba" src="coisa.mp3" region="audioRegion1" .../> <rectangle id="part1" begin="samba.begin+8.4s" end="samba.begin+18s" .../> ... </rectangle> </audio> <lines region="audioRegion1" /> </par> ... </par>

Conceitos Bsicos

40

<string id="title -coisaPele" textLines="Coisa de Pele" > <material color="black"/> <fontStyle family="TYPEWRITER" size="22" /> </string> <rectangle id="logotele1" begin="samba.begin" end="samba.end" > <texture src="logo.jpg"/> </rectangle> <use xlink:href="#defImg " dur="indefinite" /> </body> </XMT-O> Figura 2.6 Exemplo de documento especificado em XMT-O

A linguagem XMT-O divide a estrutura de um documento em duas partes, o cabealho (head) e o corpo (body ), da mesma forma que outras linguagens padronizadas pelo W3C 6 , como SMIL 2.0. No cabealho encontram-se as informaes gerais do documento, como o leiaute da apresentao, metadados para definio semntica do documento e as referncias para conjuntos de elementos. O leiaute (layout ) definido por uma
PUC-Rio - Certificao Digital N 0220932/CC

nica janela (topLayout ), que pode ser composta por vrias regies (region ). A distribuio espacial das regies definida atravs de coordenadas cartesianas, com origem no centro da janela. As regies definem os locais onde os elementos (objetos de mdia) sero apresentados nos dispositivos de exibio. Os metadados para definio semntica (meta) acrescentam informaes sobre o documento especificado. Na Figura 2.6, no cabealho do documento definido ainda um elemento defs, que contm a definio de um elemento img, correspondente ao objeto de mdia imagem. O elemento defs define conjuntos de elementos que podem ser referenciados no corpo do documento, atravs do elemento use. O corpo do documento especificado em XMT-O uma composio, que pode conter objetos de mdia e outras composies, recursivamente. Em XMT-O, de forma anloga a SMIL 2.0, as composies possuem semntica de sincronizao, que sero abordadas ainda neste captulo. O corpo de um documento XMT-O possui semntica temporal seqencial. Nesse corpo, outras composies podem ser definidas, atravs dos elementos par, seq e excl. Os nomes dessas composies indicam a semntica temporal implementada (paralela, seqencial e exclusiva). Cada composio pode conter, alm de outras composies, objetos de mdia, desde os tradicionais como imagens (img), vdeos
6

http://www.w3.org

Conceitos Bsicos

41

(video), udio ( audio), at os objetos sintticos, como retngulos (rectangle), linhas (lines), crculos (circle) etc. Em XMT-O as caractersticas para apresentao dos objetos de mdia so especificadas nos prprios elementos, atravs dos seus atributos. Como exemplo, nos elementos que representam os objetos de mdia, a regio para exibio definida pelo atributo region desses elementos. Alm das caractersticas para apresentao, os relacionamentos entre esses objetos tambm podem estar embutidos nos seus atributos. Dessa forma, alm de composies com semntica de sincronizao, relacionamentos podem ser estabelecidos atravs de eventos, especificados nos atributos dos elementos. Como exemplo, considere o elemento rectangle, contendo o atributo id igual a logotele1, especificado no final do documento apresentado na Figura 2.6. Seus atributos begin e end definem elos de sincronizao temporal com o objeto udio, representado pelo elemento audio, contendo o atributo id igual a samba. Nesse exemplo, o incio e o fim da
PUC-Rio - Certificao Digital N 0220932/CC

apresentao do objeto sinttico retngulo so definidos pelo incio e fim da apresentao do objeto de udio. 2.2.2.1. Mdulos da Linguagem XMT-O Como apresentado no Captulo 1, a linguagem XMT-O baseia-se na linguagem SMIL 2.0. XMT-O, alm de declarativa, possui uma estrutura modular, onde vrios de seus mdulos possuem definies similares ou idnticas aos mdulos definidos em SMIL 2.0. A Tabela 2.2 apresenta um agrupamento dos mdulos da linguagem XMT-O em 12 reas funcionais. importante ressaltar que a estrutura de reas funcionais apresentada nessa tabela no corresponde exatamente estrutura organizacional definida pelo padro MPEG-4 (XMT-O) (ISO/IEC, 2001). Na realidade, a estrutura da Tabela 2.2 tem como objetivo principal destacar as semelhanas existentes entre XMT-O e SMIL 2.0. Os mdulos de XMT-O herdados diretamente de SMIL aparecem na Tabela 2.2 com a expresso SMIL em destaque.
reas Funcionais Timing Mdulos AccessKeyTiming Module (SMIL) BasicInlineTiming Module (SMIL) BasicTimeContainers Module (SMIL)

Conceitos Bsicos

42

EventTiming Module (SMIL) ExclTimeContainers Module (SMIL) FillDefault Module (SMIL) MediaMarkerTiming Module (SMIL) MinMaxTiming Module (SMIL) MultiArcTiming Module (SMIL) RepeatTiming Module (SMIL) RepeatValueTiming Module (SMIL) RestartDefault Module (SMIL) RestartTiming Module (SMIL) SyncbaseTiming Module (SMIL) SyncBehavior Module (SMIL) SyncBehaviorDefault Module (SMIL) SyncMaster Module (SMIL) XMT Events Module Time Manipulations TimeManipulations Module (SMIL) FlexTime Module Animation BasicAnimation Module (SMIL) SplitAnimation Module (SMIL) DragAnimation Module Content Control BasicContentControl Module (SMIL) CustomTestAttributes Module (SMIL) PrefetchControl Module (SMIL) SkipContentControl Module (SMIL) Layout Layout Module Linking Linking Module Media Objects MediaClipping Module (SMIL) MediaClipMarkers Module (SMIL) MediaDescription Module (SMIL) MediaGroup Module xMedia Module MediaAugmentation Module CustomXMT-AMedia Module Metainformation Metainformation Module (SMIL) Structure Structure Module Transitions BasicTransitions Module (SMIL) InlineTransitions Module (SMIL) TransitionsModifiers Module (SMIL) Macros Macros Module DEFS DEFS Module Tabela 2.2 Mdulos que compem a linguagem XMT-O

PUC-Rio - Certificao Digital N 0220932/CC

As prximas sees descrevem, de maneira sucinta, as principais caractersticas dos mdulos apresentados na Tabela 2.2. Complementarmente, no Apndice A podem ser encontrados os elementos e atributos de cada rea funcional de XMT-O. A definio completa dos mdulos de XMT-O pode ser encontrada na referncia (ISO/IEC, 2001). 2.2.2.1.1. rea Funcional Timing Os relacionamentos temporais na linguagem XMT-O podem ser declarados atravs de composies com semntica temporal. Essas composies so

Conceitos Bsicos

43

especificadas pelos mdulos BasicTimeContainers, que especifica composies com semntica paralela (os objetos pertencentes a essa composio so apresentados simultaneamente) e seqencial (os objetos pertencentes a essa composio so apresentados um aps o trmino do outro), e ExclTimeContainers, que especifica as composies com semntica exclusiva (somente um objeto apresentado em cada instante de tempo, mas a ordem no definida pela composio). Ambos os mdulos so definidos originalmente em SMIL 2.0. Relacionamentos temporais tambm podem ser especificados atravs de eventos definidos nos atributos dos objetos. Esses atributos so especificados nos mdulos BasicInlineTiming e EventTiming. O BasicInlineTiming define valores numricos, com algumas excees (ISO/IEC, 2001), para a especificao da durao ideal (dur), incio (begin ) e trmino (end) da apresentao de um objeto qualquer. Alm dos valores numricos, o mdulo EventTiming permite que
PUC-Rio - Certificao Digital N 0220932/CC

eventos sejam definidos nos atributos relativos ao incio (begin) e ao fim (end ) da apresentao de um objeto. Os eventos que podem estar associados a esses atributos so especificados pelos mdulos AccessKeyTiming e SyncbaseTiming de SMIL 2.0 e XMTEvents de XMT-O. Esses eventos exploram aes como manipulaes do mouse (mouse up, down, out e over), incio (begin ) e fim (end) da apresentao de objetos, coliso e aproximao em animaes, visibilidade de objetos, entre outros. Complementarmente, existem alguns mdulos de XMT-O que, apesar de no definirem composies e eventos, possuem elementos que so associados a atributos temporais. Esses mdulos so o FillDefault , MediaMarkerTiming, MinMaxTiming, RestartDefault , MultiArcTiming, RestartTiming, RepeatTiming, SyncBehavior, RepeatValueTiming, e SyncBehaviorDefault

SyncMaster, todos herdados de SMIL 2.0. O mdulo FillDefault estabelece a ao a ser tomada na apresentao de um objeto, quando a sua exibio termina. Uma das aes possveis, definidas por esse mdulo, consiste em manter a exibio do objeto mesmo aps o trmino do tempo estabelecido para a sua apresentao. O mdulo MediaMarkerTiming permite que marcas de sincronizao, existentes no contedo dos fluxos relativos aos objetos de mdia, sejam utilizadas como ncoras dos eventos estabelecidos. Como exemplo, em um objeto de mdia

Conceitos Bsicos

44

vdeo, marcas na codificao dos seus quadros podem corresponder s ncoras especificadas nesse mdulo. O mdulo MinMaxTiming define atributos que permitem ao autor especificar os limites superior e inferior do tempo para exibio de um determinado objeto. O mdulo MultiArcTiming permite que os atributos para incio e fim de uma apresentao possam ter mltiplas condies, separadas por smbolos de ponto-e-vrgula, cuja semntica corresponde a uma expresso booleana, onde o ponto-e- vrgula representa o operador ou (or). O mdulo RepeatTiming permite aos autores especificar o tempo total para apresentao de um objeto qualquer, onde, durante esse tempo, um nmero estabelecido de repeties sero acionadas. O mdulo RepeatValueTiming permite aos autores especificar um nmero de ocorrncias, relativas a um evento qualquer, como uma condio para um
PUC-Rio - Certificao Digital N 0220932/CC

evento de apresentao. Como exemplo, considere a exibio de um objeto de vdeo, cujo trmino est condicionado a um nmero de cliques do mouse sobre um objeto qualquer da apresentao. Especificar a quantidade de eventos, que no caso, corrrespondem a cliques do mouse, possvel atravs das construes do RepeatValueTiming. Os mdulos RestartTiming e RestartDefault estabelecem condies para o reincio do evento de apresentao. Em XMT-O, quando um objeto est sendo apresentado, as especificaes do mdulo RestartTiming ou RestartDefault definem se essa apresentao pode ou no ser reiniciada. Por exemplo, a apresentao de um objeto de vdeo pode estar relacionada ao evento do clique do mouse sobre um objeto qualquer. Uma vez acionado o evento, tem incio a apresentao do vdeo. Nesse ponto, caso o usurio clique novamente com o mouse sobre o objeto, o vdeo pode ser reiniciado ou no, dependendo da especificao no documento. O mdulo RestartDefault corresponde ao padro a ser adotada quando as especificaes do mdulo RestartTiming no forem informadas. Os atributos do mdulo SyncBehavior podem ser utilizados nas composies XMT-O para definir o seu comportamento caso ocorram atrasos para a exibio dos seus componentes. Como exemplo, se uma composio paralela tiver o valor do atributo syncBehavior igual a canSlip, e se ocorrer um atraso com

Conceitos Bsicos

45

algum dos seus componentes, toda a composio aguarda at a sincronizao desse componente. O mdulo SyncBehaviorDefault corresponde ao de sincronismo padro a ser adotada quando as especificaes do mdulo SyncBehavior no forem informadas. O mdulo SyncMaster define o fluxo de mdia principal, no qual todos os outros fluxos devem estar sincronizados, em relao ao relgio (clock ) da apresentao (ISO/IEC, 2001). 2.2.2.1.2. rea Funcional Timing Manipulations A linguagem XMT-O incorpora o mdulo TimeManipulations, definido em SMIL 2.0, que permite a especificao de operaes temporais sobre os objetos de mdia, como o controle da velocidade ou da taxa de apresentao dos objetos
PUC-Rio - Certificao Digital N 0220932/CC

(accelerate, decelerate, autoreverse, speed). Esse tipo de manipulao voltado para objetos de mdia contnua, como udio e vdeo. Alm do mdulo TimeManipulations, essa rea funcional agrega o mdulo FlexTime. Esse mdulo, entre outros aspectos (Kim & Wood, 2002), define quais aes devem ser realizadas a fim de manter o sincronismo especificado pelos atributos do mdulo MinMaxTiming, que especifica o tempo mnimo ( min ) e mximo (max ) para apresentao de um objeto de mdia qualquer. Atravs dos atributos flexBehavior e flexBehaviorDefault , as aes a serem tomadas sobre um objeto de mdia so estabelecidas em ordem de prioridade. Entre essas aes destacam-se o descarte linear do contedo (linear), aplicado principalmente a exibies de vdeo que permitam o descarte de quadros, e a interrupo imediata da apresentao do objeto (stop). 2.2.2.1.3. rea Funcional Animation A linguagem XMT-O incorpora os mdulos de animao BasicAnimation e SplineAnimation de SMIL 2.0. O mdulo BasicAnimation define elementos para animaes responsveis por alteraes diversas como a definio do posicionamento dos objetos nos dispositivos para apresentao (animate, set, animateMotion), alteraes da cor de preenchimento dos objetos (animateColor)

Conceitos Bsicos

46

etc. O mdulo SplineAnimation estende as possibilidades de animao, ao adicionar, aos elementos definidos pelo mdulo BasicAnimation, atributos (calcMode, keyTimes, keySplines) para variaes no clculo da interpolao (discrete, linear, paced ) e do tempo envolvidos na animao. Complementarmente, a linguagem XMT-O define o mdulo DragAnimation que, atravs de atributos especficos (dragPlane, dragDisc, dragCylinder, dragSphere), permite projetar animaes interativas para os objetos sintticos. 2.2.2.1.4. rea Funcional Content Control Para o controle de contedo, a linguagem XMT-O incorpora os mdulos BasicContentControl, CustomTestAttributes, PrefetchControl e SkipContentControl, todos definidos em SMIL 2.0.
PUC-Rio - Certificao Digital N 0220932/CC

O mdulo BasicContentControl define um elemento ( switch), que, em conjunto com atributos pr-definidos, tem por objetivo estabelecer condies para processar elementos nos documentos multimdia/hipermdia. Normalmente, esse mdulo utilizado com elementos para apresentao, onde caso o teste estabelecido seja verdadeiro, o elemento apresentado, do contrrio, o elemento simplesmente ignorado. O mdulo CustomTestAttributes estende as funcionalidades do BasicContentControl permitindo que novas condies sejam estabelecidas (customAttribute, customTest ), uma vez que originalmente, somente os testes pr-estabelecidos pela linguagem, especificados no mdulo BasicContentControl, eram permitidos. O mdulo PrefetchControl oferece a possibilidade ao autor de definir operaes de pr-busca (Jeong et al., 1997), influenciando o escalonamento das mdias, com o objetivo de favorecer aquelas que devem ser apresentadas imediatamente. Finalmente, o mdulo SkipContent define um elemento (skip-content ), que permite que os elementos de um documento simplesmente no sejam considerados em uma apresentao.

Conceitos Bsicos

47

2.2.2.1.5. rea Funcional Layout A linguagem XMT-O especifica um mdulo de leiaute com sinttica semelhante adotada em SMIL 2.0, no entanto, com uma estrutura semntica diferente. O leiaute da apresentao em XMT-O, da mesma forma que SMIL 2.0, definido pelo elemento layout , no cabealho dos documentos multimdia/hipermdia. Porm, a estrutura do leiaute de apresentaes XMT-O formada por uma nica janela (toplayout ), que pode conter uma ou mais regies (region), que, por sua vez, podem conter outras regies recursivamente. Para serem exibidos, os objetos de mdia so associados s regies. Em XMT-O, cada regio posicionada em relao aos eixos cartesianos, onde a posio inicial (coordenadas 0,0) corresponde ao centro da janela. Para posicionar as regies em outros pontos, atributos de translao, definidos no mdulo de Layout , devem ser
PUC-Rio - Certificao Digital N 0220932/CC

utilizados. 2.2.2.1.6. rea Funcional Linking A linguagem XMT-O especifica um nico elemento para ncoras (a em conjunto com o atributo href ) similar ao elemento homnimo definido em HTML (W3C, 1999). Particularmente, em XMT-O um elo somente pode ser definido entre duas cenas MPEG-4 distintas. Nesse caso, a cena de origem possui uma ncora associada a um objeto que, ao ser acionada, interrompe o desenvolvimento dessa cena e carrega a cena de destino. 2.2.2.1.7. rea Funcional Media Objects Os mdulos MediaClipping, MediaClipMarkers e MediaDescription definidos em SMIL 2.0 so totalmente incorporados pela linguagem XMT-O. Os mdulos MediaClipping e MediaClipMarkers permitem, atravs de atributos (clipBegin, clipEnd, readIndex ), destacar parte de um objeto de mdia contnua (udio, vdeo), atravs da especificao de valores relativos ao tempo de incio desse objeto. O mdulo MediaDescription permite definir atributos com

Conceitos Bsicos

48

descries do contedo, como informaes resumidas (abstract ), informaes de direitos autorais (copyright ), autor (author) e ttulo (title). O mdulo MediaGroup, definido pela linguagem XMT-O, especifica um nico elemento, group, capaz de agrupar um conjunto de objetos. Na linguagem XMT-O esse elemento tambm tratado como um objeto. Na realidade, esse elemento define um objeto composto dentro da hierarquia grfica de uma cena MPEG-4, onde os demais objetos podem estar inseridos. O mdulo xMedia, tambm definido pela linguagem XMT-O, especifica os objetos de mdia tradicionais, tais como: imagens, vdeos e udio s ( img, video, audio), definidos pelo padro como objetos naturais. Nesse mdulo tambm so definidos objetos que variam entre desenhos simples de duas dimenses como linhas e pontos, a objetos complexos de trs dimenses ( box, cone, cylinder, sphere, mesh). Esses objetos adicionais so denominados objetos sintticos e representam uma importante funcionalidade da linguagem XMT quando
PUC-Rio - Certificao Digital N 0220932/CC

comparada a outras linguagens como SMIL 2.0. Entre os elementos sintticos do mdulo xMedia, alguns podem ser considerados blocos bsicos para projetar objetos complexos. Os nomes dos elementos desse mdulo abstraem a geometria dos objetos (circle, rectangle etc.) e, seus atributos, por sua vez, abstraem as caractersticas desses objetos. Eventualmente, algumas dessas caractersticas, quando mais complexas, podem ser especificadas atravs de elementos. A linguagem XMT-O especifica tambm um mdulo especfico, denominado MediaAugmentation, com objetos que, apesar de serem parte da hierarquia grfica de uma cena, so complementares aos objetos definidos em outros mdulos. Os elementos desse mdulo permitem especificar aspectos de luminosidade, aparncia e plano de fundo ( backdrop, background, pointLight, spotlight ). A linguagem XMT-O especifica ainda o mdulo CustomXMT-AMedia, onde os elementos (xmtaMedia, nodes, cmds) oferecem mecanismos de escape para os autores que necessitarem emb utir especificaes da linguagem XMT-A diretamente na especificao de um documento na linguagem XMT-O.

Conceitos Bsicos

49

2.2.2.1.8. rea Funcional Metainformation A linguagem XMT-O incorpora o mdulo Metainformation definido em SMIL 2.0. Esse mdulo permite descrever o contedo de documentos XMT-O. Os elementos metadata e meta desse mdulo definem metadados sobre o contedo do documento, que podem ser utilizados para especificar sua descrio semntica. 2.2.2.1.9. rea Funcional Structure O mdulo Structure, definido na linguagem XMT-O, especifica a estrutura bsica de um documento XMT-O. So definidos o elemento raiz (XMT-O), o cabealho (head ) e o corpo (body) do documento. 2.2.2.1.10. rea Funcional Transitions A linguagem XMT-O permite realizar transies animadas dos objetos em apresentaes incorporando os mdulos BasicTransitions, InlineTransitions e TransitionsModifiers, definidos originalmente em SMIL 2.0. Esses mdulos permitem especificar a forma como os objetos de mdia sero substitudos durante uma apresentao. As transies podem ser animadas de diversas formas, proporcionando um efeito visual agradvel aos usurios. 2.2.2.1.11. rea Funcional DEFS O mdulo DEFS, especificado na linguagem XMT-O, permite que sejam especificadas referncias ( def, use) para conjuntos de elementos, facilitando o processo de autoria ao oferecer a possibilidade de reuso dos elementos no documento. Alm do reuso, essa funcionalidade favorece a manuteno dos documentos. As definies e referncias para conjuntos de elementos atuam como cpias idnticas do conjunto de elementos referenciados.

PUC-Rio - Certificao Digital N 0220932/CC

Conceitos Bsicos

50

2.2.2.1.12. rea Funcional Macros Complementarmente ao reuso de elementos e atributos, a linguagem XMT-O permite a utilizao de macros. No mdulo Macros essas estruturas so especificadas, permitindo definir, alm de elementos e atributos, algumas operaes, o que favorece ainda mais o reuso e conseqentemente a autoria de documentos. Quando uma macro acionada, os valores dos atributos previamente definidos podem ser alterados. Esses atributos so denominados atributos virtuais (ISO/IEC, 2001) e podem variar de acordo com o contexto onde a macro for empregada. Como exemplo, pode-se definir condies para um conjunto de elementos, atributos ou valores associados em uma macro. Caso essas condies sejam satisfeitas, o conjunto de elementos, atrib utos ou valores a ela associados
PUC-Rio - Certificao Digital N 0220932/CC

tero validade, caso contrrio, outros elementos, atributos ou valores sero adotados, conforme a definio da macro (ISO/IEC, 2001). 2.3. Linguagem NCL (Nested Context Language ) verso 2.0 A linguagem NCL 2.0, como citado no Captulo 1, uma linguagem declarativa e modular para autoria de documentos hipermdia baseada no modelo conceitual NCM (Nested Context Model). Devido ao fato de NCL ser baseada no modelo NCM, suas caractersticas so similares s desse modelo, compreendendo, por exemplo: o uso de composies para a estruturao lgica do documento; a especificao de relacionamentos temporais atravs de elos; o uso de conectores hipermdia (Muchaluat-Saade, 2003) para a autoria de elos; a possibilidade de escolha entre um conjunto de ns alternativos e a especificao da apresentao por meio de descritores. Em virtude da sua origem, para compreender as caractersticas da NCL importante conhecer o modelo NCM. A Seo 2.3.1 realiza um breve resumo sobre a modelagem de documentos multimdia/hipermdia usando o NCM. Para obter maiores detalhes sobre esse modelo, o leitor deve consultar a referncia (Soares et al., 2003). Alm dos aspectos herdados do modelo NCM, a linguagem NCL introduziu tambm o conceito de templates de composio hipermdia (Muchaluat-Saade,

Conceitos Bsicos

51

2003) a fim de facilitar a autoria de documentos. A Seo 2.3.3 descreve os mdulos de NCL, com destaque para o mdulo XTemplate utilizado na especificao dos templates hipermdia. 2.3.1. Modelo Conceitual NCM (Nested Context Model) No modelo conceitual NCM, um documento hipermdia representado atravs de um n de composio. Em NCM um n uma entidade bsica que representa o contedo de um documento, podendo ser um objeto de mdia ou um n de composio. Ns de composio podem conter um conjunto de ns, que podem ser objetos de mdia ou outros ns de composio, recursivamente. Os ns de composio tambm podem conter elos, relacionando seus ns internos. Uma restrio desse modelo impede que um n contenha, recursivamente, ele prprio.
PUC-Rio - Certificao Digital N 0220932/CC

Elos definem um relacionamento fazendo referncia a um conector hipermdia e a um conjunto de associaes (binds). Um conector especifica a relao, sem mencionar os ns que iro participar do relacionamento. Conectores podem ser criados, atravs da linguagem de propsito especfico XConnector (Muchaluat-Saade, 2003), representando relaes de vrios tipos, como: relaes de sincronizao, referncia, derivao etc. Estruturalmente, um conector agrega um conjunto de pontos de interface, conhecidos como papis (roles). Nos elos, os binds tm como finalidade associar os papis de um conector a pontos de interface dos ns especificados em um documento, definindo a participao de cada elemento no relacionamento estabelecido. Como no h restries ao nmero de papis na definio estrutural de um conector, elos podem definir relacionamentos multiponto entre vrios ns. Os pontos de interface de um n, associados atravs dos binds aos papis de um conector, podem ser definidos como ncoras ou portas. ncoras representam regies (na verdade, um subconjunto das unidades de informao) de um n qualquer. Por exemplo, para mdias contnuas como udio e vdeo, ncoras podem ser definidas pelo intervalo temporal da exibio do objeto; ainda no caso do vdeo, ncoras podem tambm ser definidas pelos quadros que compem o objeto. Portas so pontos de interface que existem somente em ns de composio. Um

Conceitos Bsicos

52

mapeamento da porta para um ponto de interface de um dos ns internos dessa composio deve ser estabelecido. No modelo NCM, os elos podem ser agrupados em bases de elos, permitindo o reuso. Pela mesma razo, os conectores hipermdia tambm podem estar agrupados em bases de conectores. No modelo existe ainda a possibilidade de se agrupar um conjunto de n s alternativos, atravs de um n switch. Esse n permite que, na apresentao de documentos hipermdia, possam existir variaes, resultantes da escolha entre os ns alternativos. Normalmente, as alternativas devero ser escolhidas em virtude das caractersticas da plataforma de exibio, do usurio, ou de outros aspectos definidos como mtricas para a escolha. No NCM, a especificao para apresentao de um n feita separadamente de sua definio, atravs de um descritor. Descritores so elementos que renem informaes, tais como: a ferramenta de exibio atribuda ao n; a regio do
PUC-Rio - Certificao Digital N 0220932/CC

leiaute espacial de apresentao a que a exibio ser associada; e outros parmetros especficos de acordo com a mdia a ser exibida (volume, intensidade, aspecto etc.). 2.3.2. Documentos Hipermdia na Linguagem NCL A Figura 2.7 apresenta a especificao de um documento hipermdia na linguagem NCL.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ncl id="coisadepeleNCL" ...> <head> <layout> <topLayout id="window1" ...> <region id="title" top=0 left=0 .../> ... </topLayout> </layout> <descriptorBase> <descriptor id="text_d0" region="title"/> ... </descriptorBase> </head> <body> <composite id="entrada1"> <port id="coisadepele" .../> <audio descriptor="audio_d1" id="samba" ..."> <area id="part1" begin="8.4s" end="18s"/> ...

Conceitos Bsicos

53

</audio> <img descriptor="img_d1" id="logoTelemidia" .../> ... <text descriptor="text_d0" id="title-coisaPele" .../> ... <linkBase> <link id="link01-01" xconnector="starts.xml" > <bind component="samba" role="on_x_presentation_begin"/> <bind component="logotele1" role="start_y"/> </link> ... </linkBase> </composite> </body> </ncl> Figura 2.7 Exemplo de documento especificado em NCL 2.0

NCL divide a estrutura de um documento em duas partes, o cabealho (head) e o corpo (body), similar a SMIL 2.0, XMT-O e XMT-A. No cabealho, o leiaute da apresentao (layout ) definido, sendo composto por uma, ou mais janelas (topLayout ), que, por sua vez, podem ser subdivididas em uma ou mais
PUC-Rio - Certificao Digital N 0220932/CC

regies (region). As regies so as reas onde os ns (objetos de mdia) sero apresentados. No cabealho, as caractersticas de apresentao dos ns tambm so definidas, atravs do elemento descriptor. Esse elemento corresponde a uma instncia declarativa do descritor de objetos do modelo NCM, definido na seo anterior. O corpo do documento , por si s, um n de composio definido em NCM. Nesse corpo, outros ns de composio podem ser definidos, atravs do elemento composite. As composies, por sua vez, podem conter ns de mdia, como textos (text), imagens (img), vdeos (video), udio (audio ), outros ns de composio e bases de elos ( linkBase). Cada elo (link ) de uma base de elos formado por conectores, identificados pelo atributo xconnector e pelas associaes entre os ns e esses conectores (bind). O exemplo da Figura 2.7 assume que o conector apenas referenciado, sendo definido em um outro arquivo. 2.3.3. Mdulos da Linguagem NCL A especificao da linguagem NCL 2.0 foi realizada atravs de XML Schema (W3C, 2004), com a diviso de suas funcionalidades em mdulos, assim

Conceitos Bsicos

54

como a linguagem SMIL em sua verso 2.0, e a linguagem XMT-O. Essa abordagem modular facilita a interoperabilidade entre as linguagens, permitindo que mdulos de uma sejam incorporados outra. A Tabela 2.3 apresenta o agrupamento dos mdulos da linguagem NCL, distribudos nas suas 11 reas funcionais. Como NCL 2.0 tem algumas funcionalidades idnticas s de SMIL 2.0, alguns mdulos dessa linguagem so adotados em NCL. Os mdulos de SMIL 2.0 utilizados em NCL aparecem na Tabela 2.3 com a expresso SMIL em destaque.
Mdulos BasicTiming Module AdaptableTiming Module Components BasicMedia Module (SMIL) BasicComposite Module Presentation Specification BasicDescriptor Module CompositeDescriptor Module Presentation Control TestAttibutes Module ContentControl Module ( similar ao BasicContentControl (SMIL)) DescriptorControl Module Layout BasicLayout Module Linking Linking Module Interfaces MediaInterface Module CompositeInterface Module AttributeInterface Module SwitchInterface Module Metainformation Metainformation Module (SMIL) Structure StructureModule Connectors XConnector Module CompositeConnector Module Composite Templates XTemplate Module XTemplateUse Module Tabela 2.3 Mdulos que compem a linguagem NCL 2.0 reas Funcionais Timing

PUC-Rio - Certificao Digital N 0220932/CC

A definio completa dos mdulos de NCL 2.0 pode ser encontrada na referncia (Muchaluat-Saade, 2003), inclusive com suas restries sintticas, usando XML Schema. Entre as reas funcionais dessa linguagem, destaca-se a CompositeTemplates, por oferecer facilidades no encontradas em nenhuma outra linguagem hipermdia (Muchaluat-Saade, 2003). Essa rea funcional contm dois mdulos, um chamado XTemplateUse e o outro XTemplate. O mdulo XTemplateUse permite que os templates definidos possam ser utilizados em ns de composio NCL. Isso possvel atravs do atributo (xtemplate), encontrado no elemento que representa o n de composio, cujo contedo faz referncia ao endereo (URI Uniform Resource Identifier) de um template de composio pr-definido.

Conceitos Bsicos

55

XTemplate consiste em uma linguagem de propsito especfico XML voltada para a definio de templates de composio hipermdia. A especificao dessa linguagem, atravs de seu XML Schema, tambm pode ser encontrada na referncia (Muchaluat-Saade, 2003). Os templates de composio especificam tipos de componentes, tipos de relaes, componentes e relacionamentos que uma composio possui ou pode possuir. Todos esses elementos so especificados sem identificar todos os componentes e relacionamentos, pois essa especificao fica sob responsabilidade da composio que utilizar o template. As especificaes dos templates so definidas em duas partes, onde somente a primeira obrigatria: PUC-Rio - Certificao Digital N 0220932/CC

vocabulrio, onde os tipos de componentes (com seus pontos de interface) e conectores presentes em uma composio so definidos e, restries, onde so definidas as regras sobre os elementos do vocabulrio, includas instncias de componentes e conectores, e relacionamentos entre os componentes.

A Figura 2.8 apresenta, como exemplo, a definio de um template de composio NCL. Esse exemplo, baseado no template apresentado em (Silva et al., 2004a), tem por objetivo definir uma sincronizao temporal entre um objeto de udio e uma imagem. Para isso, esse template define uma instncia de um objeto de mdia imagem, denominado logo, uma instncia de um objeto de mdia udio, denominado song, e duas instncias de elos, L e P, que representam relacionamentos entre esses objetos, onde o incio do udio implica no incio da apresentao da imagem (elo L) e o trmino do udio implica no trmino da apresentao da imagem (elo P). No template da Figura 2.8, o vocabulrio (vocabulary) contm a definio dos componentes, atravs do elemento component . Nessa parte so definidos o componente song, do tipo (ctype) udio, e o componente logo, do tipo imagem (ctype=img). Entre os componentes declarados, song pode conter pontos de interface (port ). Esses pontos de interface so ncoras, denominadas track , que podem ser utilizadas na composio para demarcar trechos do contedo do udio. Ainda no vocabulrio, os conectores, atravs do elemento connector, so definidos. Na realidade essa definio dos conectores corresponde a uma referncia a conectores previamente definidos em uma base de conectores. Em NCL, conectores so necessrios para a criao de elos e, portanto, necessitam ser

Conceitos Bsicos

56

definidos sempre que elos forem instanciados. Adicionalmente, nesse template pode ser definida a cardinalidade, atravs dos atributos minOccurs e maxOccurs, para componentes, pontos de interface e conectores. Ainda na Figura 2.8, a segunda parte do template define suas restries (constraints). Especificamente, as restries so definidas pelo elemento constraint , com relao aos componentes, conectores e pontos de interface definidos no vocabulrio e referenc iados, nessa parte do template, atravs de seus tipos (type). A semntica da restrio estabelecida atravs do atributo select , utilizando expresses definidas na linguagem XPath (W3C, 2005b). Expresses nessa linguagem, quando processadas, devem retornar um valor booleano, indicando se a restrio estabelecida foi ou no obedecida. Adicionalmente, o atributo description utilizado para reportar uma mensagem de erro, nos casos em que a restrio no satisfeita, isto , ao ser processada, a expresso retorna o valor booleano falso. A restrio, estabelecida na Figura 2.8, define que a
PUC-Rio - Certificao Digital N 0220932/CC

composio somente pode conter componentes do tipo song e logo. Essa restrio formada por uma comparao entre os elementos pertencentes composio, mais especificamente, a expresso count(child::*[@type!=song] | child::*[@type!=logo]) obtm o total de elementos da unio entre os conjuntos dos elementos que no possuem o atributo type igual a song com os que no possuem o atributo type igual a logo. O valor obtido nessa expresso deve ser igual ao nmero total de elementos pertencentes a composio (count(child::*)), subtrados os elos declarados na composio (count(child::linkBase)). Ainda nas restries, instncias de componentes podem ser estabelecidas, atravs do elemento resource. Essas instncias fazem referncia a um tipo de componente (type) declarado previamente no vocabulrio, bem como, ao contedo da instncia, atravs de uma referncia ao endereo (URI) do contedo. Na Figura 2.8, uma instncia do tipo de componente logo definida e identificada, atravs do seu atributo label como logotele. Finalmente, instncias de conectores, que definem a semntica de um template de composio NCL so definidas. Para a definio de elos ( link ), devem ser referenciados os tipos de componentes e conectores declarados na parte do vocabulrio. Nos elos tambm podem ser referenciadas instncias de componentes, especificadas nas restries. Ao serem especificados nos templates, os elos possuem elementos filhos binds. Cada elemento bind relaciona os

Conceitos Bsicos

57

componentes atravs de selees, utilizando expresses XPath no atributo select ; os papis, por sua vez, so definidos pelo atributo role. No exemplo da Figura 2.8, so definidos dois elos, o primeiro faz referncia ao conector L e o segundo ao conector P. Os elementos binds desses elos relacionam os papis source e target , definidos internamente nos conectores, com a instncia do tipo de componente song e a imagem instanciada no template logotele. importante ressaltar que a instncia do tipo de componente song dever ser declarada na composio que adotar o template.
<xtemplate id=audio-with-subtitles> <vocabulary> <component type=song ctype=audio maxOccurs=1> <port type=track maxOccurs=unbounded /> </component> <component type=logo ctype=img maxOccurs=1 /> <connector src=connector_base.xml#L type=L maxOccurs=unbounded /> <connector src=connector_base.xml#P type=P maxOccurs=unbounded /> </vocabulary> <constraints> <constraint select=count(child::*[@type!=song] | child::*[@type!=logo]) = (count(child::*)-count(child::linkBase))> description=All components must be songs or logos/> <resource src=http://www.telemidia.puc-rio.br/logo.jpg type=logo label=logotele/> <link type=L> <bind role=source select=child::*[@type=song]/> <bind role=target select=child::*[@type=logotele]/> </link> <link type=P> <bind role=source select=child::*[@type=song]/> <bind role=target select=child::*[@type=logotele]/> </link> </constraints> </xtemplate> Figura 2.8 Exemplo de template NCL

PUC-Rio - Certificao Digital N 0220932/CC

A Figura 2.9 ilustra um documento NCL contendo uma composio hipermdia que herda o template definido na Figura 2.8. Essa composio (audiowith-logo) especifica apenas o n de udio. O restante da sua especificao (a imagem logo e os elos de sincronizao) sero herdados do template, ao qual ela faz referncia (Figura 2.8). Durante o perodo de tempo relativo a execuo do udio, o logo (http://www.telemidia.puc-rio.br/logo.jpg) ser apresentado.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ncl id="templateNCL" ...> <head> <layout> ... </layout> <descriptorBase> ...

Conceitos Bsicos

58

</descriptorBase> </head> <body> <composition id="template"> <port id="inputTemplate" ... /> <composition id=audio-with-logo xtemplate=audio-with-subtitles.xml> <audio type="audio" id="samba" src="coisadepele.wav"/> </compositon> </composition> </body> </ncl> Figura 2.9 Documento NCL com composio herdando do template

Embora o exemplo apresentado seja bastante simples, ele pode ser facilmente estendido. Na referncia (Muchaluat-Saade, 2003) apresentado um template, nos moldes do apresentado na Figura 2.8, onde vrias ncoras relativas a um objeto de udio so sincronizadas com objetos de texto, definindo legendas associadas ao udio. Neste ponto, importante ressaltar que os templates NCL, referenciados pelas composies, devem ser processados, em conjunto com as composies
PUC-Rio - Certificao Digital N 0220932/CC

originais, modificando-as a fim de refletir as definies semnticas existentes nos templates. No documento NCL da Figura 2.9, antes da sua apresentao, o template referenciado (audio-with-subtitles) consultado e a composio original (audio-with-logo ) modificada, agregando as definies existentes no template. Outro item importante na utilizao do mdulo XTemplate de NCL 2.0, a sua dependncia em relao ao mdulo XConnector. Na verso 2.0 de NCL a definio de templates tem como nfase os relacionamentos espao-temporais definidos por conectores, impedindo, portanto, a implementao dos templates sem o uso do mdulo XConnector. Atualmente, adaptaes ao mdulo XTemplate (Silva et al., 2004a) tornaram- no mais flexvel, permitindo sua utilizao independente do mdulo XConnector. Essas adaptaes, bem como a proposta de templates para XMT-O, sero abordadas no Captulo 5.

Potrebbero piacerti anche