Arquitetura

Antes de ver como são as arquitecturas utilizadas no problema em estudo é necessário definir tecnologia.

Assim, tecnologia são todos os instrumentos, métodos e processos específicos de qualquer arte, ofício ou técnica, e neste caso em concreto, de uma tecnologia de comunicação e de multimédia, acresce ainda o objetivo final de fazer chegar ao utilizador uma representação, o mais transparente possível face ao original, de algo a que este não tem acesso direto.


Arquitetura dos elementos de aquisição

A primeira etapa de qualquer sistema de videovigilância é a captação dos sinais, quer de áudio quer de vídeo. Para isso tem de se ter transdutores adequados para as condições em questão (iluminação, posicionamento, equilíbrio dos canais de som). 

Para a questão do vídeo, como referido anteriormente, existem várias câmaras no mercado e a sua escolha deve ter em conta o local a ser colocada, o tipo de codificação e a finalidade do vídeo como será mais à frente retratado.

Alguns tipos de câmaras a ter em conta (didafza.com).

Por outro lado, o som ou o áudio pode ser capturado com um simples microfone e transmitido após uma certa codificação, ou antes de ser codificado ainda sofrer edição ou amplificação.

Microfone CCTV de alta sensibilidade (spycameracctv.com).


Arquitetura dos elementos de transmissão

O protocolo mais utilizado na transmissão por IP é o TCP/IP, que será abordado pormenorizadamente mais à frente. Estas são siglas para dois dos mais importantes protocolos da internet. Enquanto que o IP é responsável pela transferência de dados em pacotes, o TCP é orientado à conexão e responsável pela chegada destes ao destinatário. O tamanho dos pacotes TCP varia e é assegurado que chegam ao destino sem erros e completos. Ao perder-se um pacote na rede ou caso este seja recebido com erros, procede-se à sua retransmissão. Devido à constante troca de mensagens e retransmissões de pacotes, a velocidade de transmissão do protocolo TCP diminui.

Em alternativa, pode também utilizar-se UDP. O protocolo UDP não possui mecanismos de correção de erros e possibilita a troca direta de pacotes através de uma rede IP. Independentemente do estado dos pacotes anteriores, os pacotes seguintes são enviados e existe ainda a possibilidade de os pacotes chegarem fora de ordem ou duplicados, o que o torna num protocolo não fiável. Para colmatar isto, os pacotes devem ser bem identificados e as aplicações finais têm de ser capazes de detetar e corrigir estas anomalias. Comparativamente ao TCP, o UDP requer um menor consumo de recursos, levando a que possibilite uma velocidade de transmissão mais elevada.

Para se assegurar uma transmissão de dados é habitual recorrer-se ao modelo Open Systems Interconnection (OSI), onde se definem sete camadas (Layers) . Cada camada depende das camadas inferiores (com mais baixa numeração) para a transmissão real dos dados, adicionando alguma funcionalidade específica à essa mesma camada inferior. As camadas inferiores são responsáveis pelos encapsulamentos dos dados para a camada superior, isto é, uma dada carga de um pacote de dados de uma camada inferior deve estar sempre presente na camada superior.

Relação entre as camadas OSI (docente.ifrn.edu.br).

Relação entre as camadas OSI (docente.ifrn.edu.br).

I – Camada de Aplicação

Esta camada define como é que os serviços operam e como e que eles poderão ser utilizados. É o caso do serviço FTP para transferências de ficheiros, do HTTP para as páginas web ou do SMTP para o serviço do correio eletrónico (e-mail).

A forma como estes serviços são definidos é bastante abstrata, bastando-se definir nesta camada que cada serviço tem uma entidade cliente, outra entidade de servidor e estes estabelecem uma conexão trocando mensagens por um protocolo específico e ainda não definido.

II – Camada de Apresentação

Esta camada é responsável pela sintaxe e a semântica dos bits de informação (que serão apresentados ao utilizador), analisando os dados do início e do final da transmissão, sem querer saber da forma com que eles foram transmitidos.

III – Camada de Sessão

Permite que os utilizadores de diferentes endereços estabeleçam sessões entre eles. Uma sessão pode permitir o acesso remoto em tempo real ou a transferência de arquivos entre endereços. Caso a ligação entre endereços seja bidirecional e o protocolo não o permite, então esta camada é responsável por gerenciar a transmissão unidirecional (à vez) entre endereços. Esta camada poderá também ser utilizada quando se pretende sincronizar endereços, quer em tempo, quer em informação (copia de dados).

IV – Camada de Transporte

Esta camada é definitória do protocolo de transporte com que se quer enviar a mensagem/dados. Como já referido anteriormente, há dois protocolos essenciais na internet, o TCP e o UDP. Cada um deles será desenvolvido com maior pormenor na secção dos Codecs.

V – Camada de Rede

Esta camada é responsável pela transmissão e roteamento de todos os pacotes de dados pela rede. O protocolo em questão é o denominado protocolo IP. Este protocolo estabelece cada computador como um nó da rede, com um certo endereço IP que é diferente de qualquer outro nó. Os dados são então enviados como pacotes IP. Cada pacote de dados tem uma fonte (com um dado endereço IP), um destinatário (com outro endereço IP) e uma carga (a informação). Assim, o pacote é transmitido quando é passado de nó em nó até chegar ao seu destinatário. O protocolo IP normalmente é chamado de protocolo de "melhor esforço", porque se um determinado nó não poder passar o pacote para o próximo, pelo caminho mais apropriado, será feito o melhor possível para se encontrar um caminho alternativo. Esta afirmação é válida por exemplo no caso de se querer enviar vários pacotes pelo mesmo nó, havendo um "engarrafamento" de pacotes. Assim, esta camada é responsável pelo tráfico dos pacotes, ajustando a sua retransmissão entre nós.

Nesta camada também é tratada uma propriedade muito importante em qualquer sistema de telecomunicações, a interoperabilidade. Esta cama é responsável por garantir que se os pacotes tiverem que viajar entre duas redes heterogéneas (diferentes), eles o possam fazer, por exemplo, se uma rede só poder transmitir pacotes mais pequenos, então é nesta camada que o pacote tem que alterar as suas propriedades, sem degradação da informação, para que possa continuar a ser transmitido.

VI – Camada de ligação

A camada é a responsável por haver sempre um trajeto disponível entre nós intermediários, trajeto este com o menor número de erros de transmissão possível. Esta camada fornece uma conexão entre os hosts numa rede local, bem como a conexão entre redes locais. Assim, esta camada também é a responsável pela ligação de uma rede doméstica (por exemplo, o nosso computador ou camara) ao modem, responsável pela conexão com as outras redes. Esta camada obriga o emissor a dividir os dados por pacotes e a transmiti-los sequencialmente. É nesta camada que são estruturados os pacotes e colocadas sinalizações como os cabeçalhos, mas também é nesta camada que são definidos os ritmos de transmissão (pelo emissor) e receção de dados (pelo recetor), para que não se perca dados devido a ritmos bastante diferentes. 

VII – Camada Física

É a camada de mais baixo nível, define os componentes físicos (hardware), como os cabos, as placas de rede, os transmissores, entre outros. Estes componentes físicos são os responsáveis pelas conexões físicas entre os nossos computadores ou camaras à rede e, a conexão de redes a redes. A maior parte das vezes esta camada está muito enlaçada com a camada anterior, uma vez que certos protocolos de ligação como o Ethernet e o Wi-Fi têm os seus próprios requisitos físicos e é impossível separar estas duas camadas. É nesta camada que é estabelecido como é que os bits são enviados e sob que estrutura. Em suma, esta é a camada que tratada das especificações do canal de comunicação.


Arquitetura dos elementos de reprodução

Em videovigilância há casos que a informação recolhida não é imediatamente reproduzida, por exemplo em CCTV. Nesses casos, apenas se analisam os dados quando algum imprevisto aconteceu.

Contrariamente, há situações que existe sempre uma pessoa a analisar os dados, por exemplo vigilância de um centro comercial, nestes casos deve-se garantir que a informação é transmitida rapidamente e que, apesar disso, terá uma qualidade mínima para ser analisada corretamente. Hoje em dia, qualquer pessoa pode reproduzir em qualquer lugar os seus dados, a partir de um smartphone ou de um computador. Qualquer arquivo de dados gerado pode ser editado e disponibilizado em servidores para download. Existem atualmente formatos que permitem o download progressivo que permite a visualização ao mesmo tempo da descarga, diminuindo a necessidade de capacidade de armazenamento físico e aumentando a rapidez de acesso à informações, pois não é necessário espera pelo download de toda a informação de um única vez.

Centro de monitorização de CCTV em Tower Hamletts, Londres

Centro de monitorização de CCTV em Tower Hamletts, Londres (elitetechnologyusa.com).


Arquitetura dos elementos de armazenamento

O armazenamento é uma questão muito importante em qualquer sistema de comunicações e/ou de multimédia, pois é esta em questão como é que os dados são guardados, mas também quanto tempo de dados se pode armazenar num certo tipo de armazenamento.

Hoje em dia, a questão do armazenamento está a sofrer uma transição, está-se cada vez mais a guardar a informação em ambientes virtuais como a Could em detrimento de soluções físicas como CD e DVD, dispositivos de armazenamento local. Ir-se-á estudar o armazenamento de vídeo, pois comparando as suas dimensões com o áudio, estas são muito elevadas para se poder desprezar este último.

Topologia descentralizada

Topologia descentralizada (security.us.panasonic.com).

O armazenamento na Cloud de dados de videovigilância é um serviço do tipo pay-per-use, e o seu modelo tem por base um cliente que têm o seu próprio sistema de vigilância, captura os seus dados e que é responsável pela transmissão destes até aos servidores do serviço Cloud. Existem vários tipos de serviços como o Cloud processing server, que receb os dados do cliente indexando-os, e controla o ritmo de contribuição/transmissão, assentando essencialmente num armazenamento temporário. Este serviço pode executar algoritmos para a deteção de riscos e acionar alarmes. Existe também o Cloud storage server que armazena permanentemente os dados enviados, encriptando-os, isto é, pode ser um acrescento em termos de segurança ao Could processing server. Pode-se também contar com o Web server que dá ao utilizador a possibilidade de controlar o seu sistema, a partir de uma página Web e assegura o acesso à informação nessa mesma página.

Uma das vantagens dos sistemas virtuais (descentralizados) face aos físicos é a não necessidade de se estimar o espaço de armazenamento necessário para guardar um certo espaço de tempo de dados, pois os limites de espaço de armazenamento são quase inatingíveis.

Topologia centralizada

Topologia centralizada (security.us.panasonic.com).

Deste modo, quando se falar em armazenamento físico (centralizado) deve-se estimar o espaço necessário para guardar os dados capturados. Esse espaço necessário depende fortemente do tipo de codec utilizado, por exemplo quando se usa codifica em MJPEG, cada frame é única e independente, mas também é dependente da complexidade da imagem, então é difícil estimar o espaço, pois diferentes frames poderão ter diferentes tamanhos. Assim, deve-se saber qual será o tamanho médio das frame (sabendo que haverá umas com mais outras com menos). Pode-se calcular o espaço necessário pela seguinte formula:

MJPEG storage = Average Frame size x Frame rate x duration

Apresentam-se dois exemplos sobre o armazenamento de dados codificados em MJPEG, ilustrativos da problemática e da dimensão do armazenamento físico .

Exemplo 1: Para 8 horas de dados em resolução CIF, com 15 frames por segundo e 50% de qualidade:

 4 KB x 15fps x 3600s = 216,000 KB/hora

 = 216MB/hora x 8 horas

 = 1.728 GB

Exemplo 2: Para 24 horas de dados em resolução 4CIF com 100% qualidade e 5 frames por segundo:

 320 KB x 5fps x 3600s = 5,760,000 KB /hora

 = 5,760MB/hora => 5.76GB/hora x 24 horas

 = 138.24 GB

Por outro lado, se o vídeo for codificado em MPEG-4, as imagens já não são independentes e sabendo quantas frames do tipo I, P e B se tem num grupo de imagens (GoP) pode-se estimar a capacidade de armazenamento necessária. Assim ,

MPEG4 storage = Bit rate (kbps) x duration

Apresenta-se aqui também uma ideia do espaço necessário com um exemplo ilustrativo.

Exemplo 3:  Para 8 horas de vídeo com um limite de 768kbps:

768kbps / 8 bits/s = 96 KB/second x 3600 s

              = 345,600 KB/hour / 1000

              = 345.6 MB/hour x 8 hours

              = 2.764 GB

Contacto

Ricardo A. M. Lameirinhas

ricardo.lameirinhas@tecnico.ulisboa.pt

Tiago M. Santos

tiago.marques.santos@tecnico.ulisboa.pt