Tecnologia
1 Arquitectura
A IPTV compreende várias etapas desde a produção do conteúdo até ao utilizador o puder ver. Resumindo, estas etapas são:
- Armazenamento dos programas;
- Preparação dos programas – conversão analógico-digital caso seja preciso, criar pacotes, comprimir/codificar e encriptar;
- Transmissão dos programas – por unicast ou grupos de IP multicast, por exemplo.
Nestas etapas estão envolvidas algumas entidades que vale a pena realçar: os Super Head-End, onde os programas são armazenados e os serviços são coordenados, Video Hub Offices que tratam da distribuição local para as set-top boxes e Content Delivery Networks (CDN’s), que os fornecedores usam para reduzir o tempo de transmissão de conteúdo em longas distâncias (por exemplo, um conteúdo gerado nos Estados Unidos pode ser transmitido para um CDN no Reino Unido, ser aí armazenado e quando um utilizador em Portugal quiser ter acesso ao conteúdo, este obtém-no do CDN). Estão ainda envolvidos vários protocolos e receptores (denominados de set-top boxes, que recebem os pacotes, desencriptam, convertem para vídeo e áudio e apresentam ao utilizador), sendo ambos discutidos posteriormente. Vale ainda salientar que para proporcionar uma boa Quality of Service (QoS) o receptor deve ter uma conexão à Internet com capacidade de 10 a 100 Mbps, razão pela qual a IPTV não surgiu mais cedo. Um Super Head-end pode servir milhões de clientes, processando os canais de vídeo comuns a todos os subscritores na sua área de serviço. Um Video Serving Office, por outro lado, está localizado em cada região como seja preciso para lidar com programação local e canais específicos de uma cidade ou área geográfica.[3] De um Head-end é requerido, fundamentalmente:
- Escalibidade e flexibilidade;
- Codificadores MPEG-4 AVC proporcionando boa qualidade a relativamente baixos débitos;
- Reliabilidade ao nível da transmissão;
- Capacidade para a complexa gestão necessária;
- Integração com os middlewares.
Os fornecedores de IPTV adquirem os seus conteúdos através de diversas fontes. O objectivo é adquirir e converter os vídeos/áudio recebidos através de inúmeras fontes, incluindo satélite, “off-air”, fibra e outras fontes digitais ou analógicas que incluem uma grande gama de dispositivos. À medida que os sinais de vídeo e de áudio são adquiridos, o Head-End processa cada sinal para distribuição. No passado, este processo era relativamente simples, dado que todos os subscritores visualizavam conteúdo no mesmo tipo de dispositivo e com apenas um formato de vídeo. Actualmente, este processo é muito mais complexo, tendo que ter em consideração:
- A variabilidade de dispositivos em que se visualiza o conteúdo;
- A inserção de publicidade local e regional;
- As funcionalidades de reprodução (serviços VOD como pausa, play, entre outros);
- A codificação de vídeo/áudio.
A distribuição do conteúdo, canais SDTV (standard definition) ou HDTV (high definition), é feita usando vários dispositivos ao longo da rede, por exemplo, digital subscriber line access multiplexers (DSLAM), e outras tecnologias como fibra a casa do utilizador (oferecido no nosso país pela Vodafone, por exemplo). Estes dispositivos, assim como uma arquitectura resumida em IPTV é apresentada na Figura 1. A distribuição dos canais propriamente ditos, é feita através de IP multicast, isto é, surgem grupos de utilizadores a visualizar um canal e o conteúdo é enviado para o grupo que o pretende obter.
Em relação a factores que afectam o serviço, o principal é o atraso, porque, havendo interatividade, existem dois atrasos (de transmissão e de receção), um envolvendo o pedido do utilizador e outro envolvendo a resposta do servidor; originando, aliado a outros factores como a codificação, por exemplo, um atraso considerável na mudança de canal (ou zapping). Existem no entanto outros factores que podem afectar o serviço, como:
- Compressão e codificação – já mencionado, envolve, normalmente, um conciliar entre qualidade e o nível de compressão desejado;
- Jitter – Variação do tempo de chegada dos pacotes, provocada por congestão na rede. Normalmente necessita de um buffer para suavizar as variações, buffer que pode ter problemas como overflow ou underflow;
- Perda de pacotes - podem ocorrer por inúmeras razões como limitação da banda, congestão da rede, falha na ligação ou erros de transmissão.
Existem ainda dois termos importantes tanto em IPTV como em qualquer serviço de televisão, a Qualidade de Serviço e Qualidade de Experiência. A Quality of Service (QoS) é uma ou mais medidas do desempenho e prioridades desejados para o sistema de comunicação em IPTV. Inclui, por exemplo, a disponibilidade do serviço, o máximo de débito de erros de bits, a quantidade de perda de pacotes, os atrasos e a qualidade de transmissão. A Quality of Experience (QoE) é uma ou mais medidas da comunicação total e experiência de entretenimento sob a perspectiva dos utilizadores. Inclui, por exemplo, avaliar a qualidade do serviço assistida pelo utilizador, facilidade do serviço, diversidade de conteúdo e aplicações disponíveis e a rapidez/tempo de resposta.
Figura 1 – Arquitectura resumida em IPTV [1]
2. Protocolos de transmissão
Existem inúmeros protocolos utilizados e à disposição para IPTV e para os pacotes envolvidos na transmissão do seu conteúdo, mas os principais são UDP, RTP/RTSP e IGMP. Os protocolos utilizados e à disposição podem ser divididos em camadas (até porque existem diversas camadas na transmissão de um pacote, denominadas de Osi Layers). Estas camadas dividem-se geralmente em:
- Camada de Aplicação
- Camada de Apresentação
- Camada de Sessão – RTP (Real-Time Protocol) e RTSP (Real-Time Streaming Protocol)
- Camada de Transporte – TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol)
- Camada de rede – Endereços IP e IGMP (IP Group Membership Protocol)
- Camada de Ligação de dados e Camada Física – Ethernet e Wi-Fi 802.11
3. Codecs e standards (áudio, vídeo) e Metadados
3.1. MPEG-2
Existem dois elementos principais da codificação em MPEG-2, a transformada DCT (Discrete Cosine Transform) e predição inter-frames com compensação de movimento. Cada coeficiente da transformada DCT indica a contribuição de uma combinação particular de frequências espaciais horizontais e verticais para o bloco da imagem original.
A predição, explora redundância temporal tentando prever o frame a codificar através de um frame anterior (descodificado, dado que o descodificador não tem acesso aos originais).
Na codificação, cada frame é dividido em macroblocos de 16x16, sobre os quais é aplicada a predição e estimação de movimento (no caso de frames P ou B), depois é subtraída esta predição da imagem original, resultando numa matriz 16x16 com as diferenças. A seguir, o macrobloco é dividido em blocos de 8x8 e para cada bloco é aplicado a transformada DCT, quantizado e utilizado um codificador entrópico.
MPEG-2 define três tipos de frames: Intra (I) que são codificados sem referência a outros frames, são usados periodicamente para proporcionar pontos de acesso (facilita acesso aleatório) onde a descodificação pode começar; Predictive (P) que podem usar o frame P ou I anterior para compensação de movimento e Bidirectionally-predictive (B) que pode usar o frame I ou P anterior e seguinte, resultando no maior nível de compressão.
Os diferentes tipos de frames (ou pictures) normalmente repetem-se numa sequência, denominada de Group of Pictures (GOP).[5]
Apresenta-se de seguida, na figura 2, a arquitectura de funcionamento desta codificação.
Figura 2 - Diagrama de Blocos MPEG-2 [10]
3.2. MPEG-4
MPEG-4 é uma família de standards internacionais que fornecem ferramentas para a entrega de multimédia. Estas ferramentas incluem excelentes codecs para comprimir áudio, vídeo e rich media.
O codec de vídeo mais recente do MPEG-4 é o AVC (Advanced Video Codec), também denominado de ITU H.264. Este codec representa grandes desenvolvimentos em codificação de vídeo em relação aos anteriores, oferecendo um débito típico de metade do de MPEG-2 para a mesma qualidade percetível. [4]
Em aplicações onde o custo de hardware e questões energéticas fazem com que a implementação de AVC seja difícil, MPEG-4 oferece um perfil simples e avançado simples (Simple e Advanced Simple Profile codecs).
Estes codecs de vídeo são normalmente usados em conjunto com AAC, o codec de áudio de MPEG-4 que proporciona excelente qualidade de áudio stereo para débitos iguais ou superiores a 128 kbit/s.
Os fundamentos do MPEG-4 são descritos nas Partes 1, 2, 3 e 10, sendo a Parte 1 os Sistemas, Parte 2 Visual, Parte 3 o Áudio e Parte 10 o Advanced Video Coding.
Existem, no entanto, muitas mais partes, totalizando mais de vinte, entre elas a Parte 6 (Delivery Multimedia Integration Framework) que define uma interface entre a aplicação e a rede ou armazenamento; a Parte 4 (Conformance) que define como testar uma implementação MPEG-4; a Parte 7 que define um codificador de vídeo optimizado; a Parte 8 que define como preparar MPEG-4 streams para transporte IP; entre muitas outras.[4] Apresenta-se na Figura 3 a interação entre alguns destes codecs/standards.
Figura 3 – Interação entre MPEG-4 e outros standards [4]
Os standards MPEG-7 e MPEG-21 são ferramentas adicionais que estendem a funcionalidade do MPEG e interagem, principalmente, com o MPEG-4 para criar novas formas de gerir o conteúdo. Descrições e metadados MPEG-7 podem ser transportados como MPEG-4 streams, e especificações MPEG-21 são criadas para complementar representação de conteúdo MPEG-4.
3.3. MPEG-7 e Metadados
Metadados, ou dados sobre dados, são uma das partes mais importantes deste sistema (e de outros semelhantes), principalmente actualmente com a quantidade de conteúdos existente. Estes permitem, por exemplo, a identificação de programas e canais e consequente navegação entre eles. Navegar entre dezenas de canais e centenas de programas disponíveis na set-top box sem metadados seria algo impossível, teria de se verificar sequencialmente o conteúdo de cada um deles, algo impensável com a quantidade existente.MPEG-7 é um standard recentemente acabado para descrição de conteúdo multimédia. É usado para indexar, catalogar (identificar), ferramentas de pesquisa, seleção de programas, decisão inteligente sobre conteúdo, entre outros.
Este standard, ITU-T H.751 ou MPEG-7, fornece mecanismos claros para os fornecedores de conteúdo interpretarem e integrarem informação de direitos/permissões (direitos de autor, por exemplo) e outras informações dos metadados nos conteúdos trocados entre os fornecedores e os receptores. Assim, permite que haja interoperabilidade entre os fornecedores de conteúdos e fabricantes de dispositivos (set-top box, por exemplo) ao nível dos metadados, dado que define claramente, como estes devem ser integrados. [7]
3.4. MPEG-21
Este standard define uma “linguagem” que facilita a adaptação dinâmica do conteúdo à rede de transmissão e aos dispositivos de consumo e várias ferramentas para tornar a gestão de direitos digitais mais interoperáveis. Ao gerir o conteúdo e o acesso ao conteúdo, permite interoperabilidade e a portabilidade do conteúdo.3.5. MP3
Este codec, para codificação de audio, é dos mais usados e conhecidos. Isto porque foi (e é) bastante usado para codificar música, que é dos tipos de multimédia mais procurados e mais rentável.O MP3 tem origem no nome MPEG-1 Layer 3, que foi uma das ferramentas de codificação criadas pelo MPEG-1, no entanto, quando criado o MPEG-2 foi ainda criado um codec com compatibilidade para o primeiro, apenas com algumas melhorias, isto porque, como já foi referido, existia muitos interesses e muito dinheiro na música em MP3. Pode ser usado para codificar um canal de áudio (mono) ou dois (stereo). Para dois canais, pode ser usado para codificar em no joint stereo (cada canal é codificado em separado) ou joint stereo (codificado em conjunto, explorando redundâncias entre os dois). [5] É apresentada a arquitectura da codificação em MPEG-1 Layer 3, ou MP3, na Figura 4.
Figura 4 – Diagrama de Blocos de MP3 [9]
3.6. AAC
O codec AAC para audio é visto como uma evolução ao MP3, sendo, no entanto, menos utilizado que o seu predecessor, isto porque quando surgiu já existia na altura uma grande indústria construída à volta do MP3: a música. É no entanto bastante utilizado, principalmente a versão melhorada pelo MPEG-4, aliado com AVC (vídeo). Para proporcionar a mesma qualidade a débitos menores que o MP3 foram introduzidas as seguintes alterações:
- Maior resolução de frequência (espectral);
- Predição – Uma predição para trás opcional;
- Melhor codificação joint stereo;
- Melhor codificação de Huffman (entrópica).
- Melhor switching de blocos – Em vez do banco de filtros híbrido (em cascata) do MP3, o codec AAC usa um banco de filtros com uma variação de MDCT (Modified Discrete Cosine Transform);
- Temporal Noise Shaping (TNS) – Esta técnica molda o ruído no domínio do tempo fazendo um loop aberto no domínio da frequência. Com estas pequenas alterações, AAC consegue atingir, em média, a mesma qualidade que MP3 com cerca de 70% do débito binário.[6]
4. Interfaces
Em termos de interfaces pode definir-se dois tipos: as interfaces envolvidas na transmissão, como routers, servidores, set-top boxes e outras e a interface de utilizador, que é responsável por apresentar uma maneira do utilizador interagir com o sistema (seleccionar o canal ou programa que deseja visualizar, por exemplo). A interface de utilizador é uma parte fundamental, não só em IPTV, mas em todos os sistemas que envolvam interação com o utilizador do serviço. Com o surgimento da IPTV e de serviços de televisão com cada vez mais interação do utilizador, o surgimento de uma interface foi algo inevitável de forma a aumentar a Quality of Experience. Esta interface deve ser simples, limpa mas apelativa e funcional, isto é, as funcionalidades e a sua exploração devem ser apresentadas de modo a serem acessíveis à maioria dos utilizadores e ao mesmo tempo, deve ser uma interface com aspecto agradável.
Figura 5 – Interface da Apple TV [8]
Do outro tipo de interface, no âmbito deste artigo, aprofunda-se apenas a Set-top box. Uma IP set-top box é um dispositivo que serve de interface entre a rede (por onde é transmitido o sinal) e a televisão (ou aparelho onde se visualize os programas). Além de descodificar e apresentar os programas de televisão, uma set-top box fornece várias funcionalidades como video-on-demand (VOD), guia electrónico de programas (EPG), gestão de direitos digitais (DRM, envolvendo direitos de acesso, direitos de autor e semelhantes), navegação no tempo de programa (ver programas passados, andar para trás e para a frente num dado programa, etc.), personalização (definir favoritos, por exemplo) e diversos outros serviços interactivos e multimédia. Estes serviços podem incluir, por exemplo, navegação na Internet, e-mail, conectividade ao computador (reproduzir fotos, vídeos ou músicas guardados no PC), Instant Messaging (IM) ou Voice over IP (VoIP).[3] Para permitir estas funcionalidades e serviços a set-top box possui alguns elementos:
- Uma interface de rede – para receber os sinais IPTV e enviar os comandos do utilizador;
- Saídas de vídeo e de áudio – para apresentar ao utilizador, através de uma televisão por exemplo;
- Interface de utilizador – para permitir interatividade;
- Software/Hardware de acesso condicional – para permitir a visualização de conteúdo seguro e ao qual pode ter acesso;
- Disco rígido – para gravar diversos programas.
- Apple TV (IOS iPad, iPhone)
- Google Chromecast (Android)
- Roku
- Netgear
- Bravia (Sony Smart TV)
- Samsung
- etc.
5. Controlo de Acesso
A encriptação de vídeo e áudio é uma das tecnologias de controlo mais importantes visto que, desta maneira, é possível fornecer ligações seguras e proteger o respectivo conteúdo contra modificações inesperadas por agentes alheios. A encriptação é, por isso, o primeiro passo a realizar, cuja acção resulta numa codificação sistemática de um dado troço de vídeo e áudio, indecifrável a qualquer um que não possua a chave necessária para o desencriptar. A desencriptação trata-se do processo inverso, isto é, utilizando a mesma chave usada para a codificação (encriptação simétrica) ou correspondente (encriptação assimétrica), descodifica-se o conteúdo codificado, de modo a produzir uma cópia exacta do sinal original.
Smart Cards é uma das soluções para controlo da distribuição de chaves para as STB’s. Estes cartões são referidos como “smart” devido ao facto de serem constituídos por um processador e uma memória, que conseguem ser utilizados em várias aplicações.
Cada canal de televisão possui uma chave única de descrição, a qual é criada quando o conteúdo é preparado para broadcast. Quando um utilizador autorizado deseja assistir a um dado conteúdo codificado, o seu dispositivo envia um request para o servidor central. Este servidor certifica-se de que o utilizador é autorizado a visualizar o conteúdo. Caso seja, o servidor localiza a chave de descodificação correcta para o respectivo conteúdo e encripta-o, utilizando a chave pública referente ao smart card do utilizador. Em seguida, o servidor envia a chave de descodificação encriptada para o dispositivo do utilizador via communication path. Quando esta chega, a chave encriptada é cedida ao respectivo smart card, o qual é responsável pelo processo de desencriptação (utilizando a sua chave privada, correspondente à chave pública que o servidor utilizou). Por fim, a STB do utilizador usa a chave de descodificação desencriptada, de modo a processar o sinal de entrada e possibilitar a reprodução do conteúdo para o utilizador.
Digital Rights Management System (DRM), já mencionado anteriormente, é desenvolvido para proteger os direitos proprietários de um conteúdo, de um dado utilizador. Este sistema envolve uma forma de encriptação ou codificação que processa o conteúdo para não ser acessível sem a chave necessária. Um sistema DRM é também responsável por entregar, com segurança, as devidas chaves para as respectivas STB’s dos utilizadores autorizados. Estas chaves possibilitam uma reprodução correcta das streams à entrada das respectivas STB’s. A distribuição correcta de chaves deve ser assegurada de modo a prevenir a sua obtenção, quer seja intencional, quer seja não-intencional, por parte de utilizadores não autorizados [3]
Referências:
[1]http://www.irb.hr/users/grubisic/dc-vis/repository/2014/State%20of%20the%20art%20of%20IPTV.pdf [2]http://www.academia.edu/7517506/Capacity_Analysis_of_IPTV_over_IEEE_802.11n [3]http://www.asbutc.com/UserFiles/2011-IPTV%20Course%20notes.pdf [4]https://www1.ethz.ch/replay/docs/whitepaper_mpegif.pdf [5]http://www.digitalpreservation.gov/formats/fdd/fdd000028.shtml [6]https://graphics.ethz.ch/teaching/mmcom12/slides/mp3_and_aac_brandenburg.pdf [7]http://www.tvtechnology.com/cable-satellite-iptv/0149/new-metadata-enables-legal-content-sharing-across-iptv-platforms/237338[8]http://i.i.cbsi.com/cnwk.1d/i/tim/2012/03/07/overview_ui_screen.jpg [9]http://www.digikey.com/en/articles/techzone/2011/dec/~/media/Images/Article%20Library/... [10]http://i564.photobucket.com/albums/ss83/skyjuice88/BlockDiagram.jpg