Na década de 1990, um grupo de investigadores surge com o intuinto de transportar som e vídeo em redes IP, especialmente intranets e também na Internet. Esta tecnologia que foi, então, criada é hoje chamada de VVoIP e é, de uma forma simplificada, o processo de partir som e imagem em pequenos conjuntos de informação passíveis de serem transmitidos numa rede IP e de os reconstruir no destino, de modo a possibilitar a comunicação.
Video and Voice - over - Internet Protocol (VVoIP) é a família de tecnologias que permite a utilização de redes IP como a Internet para aplicações de imagem e voz, tais como a telefonia, a teleconferência e a vídeo-conferência. Esta família de tecnologias engloba soluções em quase todas as camadas de uma rede IP, que vão desde as aplicações de software (como o Skype) até aos detalhes de mais baixo nível em que se ajustam todos os parâmetros de transmissão de dados, de modo a que estas aplicações possam operar sem problemas.
Recentemente, muitos desenvolvimentos têm vindo a público e, inclusivamente, já se fala na criação de uma nova indústria em torno da tecnologia VVoIP nas suas mais diversas formas: aplicações de desktop, serviços de telefonia e sistemas telefónicos empresariais. VVoIP é a tecnologia de suporte que permite desde as banais aplicações de software de chat, que já incluem funcionalidades de comunicação por voz e vídeo, até às mais sofisticadas redes de telecomunicações em grandes instituições.
Mas o conceito não é exactamente novo. A tecnologia VVoIP já tem sido considerada e utilizada como uma forma de suprimir os problemas de longa distância desde 1990, onde, nessa altura, produtos como o Internet Phone começavam a emergir. Mas a promessa do Video and Voice over IP rapidamente se perdeu devido a produtos defeituosos e, sobretudo, ao lento arranque da revolução da banda larga. Sem comunicações com as características como as que temos actualmente, VVoIP é, realmente, impraticável. Assim, as primeiras experiências de implementação e utilização destes novos serviços e produtos, como o CUSeeMe e NetMeeting, foram claramente frustradas devido a má qualidade de som e a primeira geração de produtos VVoIP simplesmente falhou no mercado.
IMPLEMENTAÇÃO DE UMA VVOIP
Muitas pessoas já usaram um computador e um microfone para gravar e registar voz, ou outros sons. O processo envolve criar amostras do som que é recebido pelo computador a uma velocidade muito alta (pelo menos 8000 vezes por segundo - na verdade, mais) e armazenar essas amostras em memória ou num ficheiro no computador. Como facilmente se percebe, cada uma destas amostras é uma parte infinitesimal do som gravado pelo computador, que apenas terá de os reproduzir à mesma velocidade com que foram gerados, para que se possa reconstituir o som gravado.
VVoIP baseia-se na mesma ideia, com a única diferença que as amostras de som que foram geradas não são armazenadas no computador. Em vez disso, elas são enviadas através da rede IP para outro computador e reconstruídas lá.
Obviamente que é necessário muito mais do que isto para ter uma verdadeira solução VVoIP. Assim, quando estão a ser geradas as amostras de som, o computador poderá comprimir essa informação de modo a que ocupem menos espaço e amostrar apenas dentro de uma determinada gama de frequências. Existem inúmeras formas de codificar e comprimir áudio (ou vídeo) e o nome que se dá ao algoritmo é de "compressor/descompressor”, ou simplesmente codec. Existem, também, vários codecs para uma enorme variedade de aplicações, como para as pistas de som de um filme ou de um disco. Para VVoIP, o codec de aúdio está optimizado para codificar e comprimir voz, o que permite reduzir significativamente o consumo de espaço para armazenar a mesma informação sem compressão, ou usando outro codec cuja finalidade seja, por exemplo, o de se conseguir absoluta fidelidade em relação à fonte original.
Os codecs de voz são, então, especializados em codificar e comprimir os sons de palavras dentro das frequências de som habituais para a voz humana. É por esta razão que o resultado da codificação de música ou outros sons não resulta tão bem quando recorremos a um codec de voz.
Assim que o som foi registado pelo computador e comprimido em amostras muito pequenas, estas serão agrupadas e colocadas em pacotes de dados para transmissão na rede IP. Este processo é referido como packetization. Geralmente, um único pacote IP contém cerca de 20 a 30ms de áudio.
Uma forma de apresentar os pacotes IP é vê-los como postais enviados por correio. Um único postal tem, como limite, apenas uma determinada quantidade de informação e, para se enviar uma mensagem muito longa, é necessário enviar vários postais. Será facilmente perceptível que os correios, perante tantos postais, poderão perder um ou outro postal. Um outro problema prende-se com a reconstituição dos postais no destino, e para isso temos de introduzir no postal algum método que permita reconstituir a ordem dos postais e que poderá ser a simples colocação de um número de sequência no canto inferior direito do postal, como numeração de página.
Tal como os postais enviados pelos correios, alguns pacotes IP podem ser perdidos e o codec tem de ser capaz de compensar esses pacotes que foram perdidos introduzindo som que é aceitável ao ouvido humano. Este processo é chamado de packet-loss concealment (PLC). Em alguns casos, o mesmo pacote é enviado mais do que uma vez para se ultrapassar o problema da perda de pacotes, criando-se assim redundância nos dados transmitidos à custa do sobrecarregamento da rede, o que nem sempre é desejável. Um outro método para identificar perda de pacotes é o forward-error correction (FEC), onde se inclui informação de pacotes já enviados nos pacotes seguintes, de modo a ser possível reconstruir a informação de um pacote perdido através da informação extra contida nos pacotes vizinhos.
Tal como se sucede com os postais enviados pelo correio, os pacotes IP podem sofrer atrasos na entrega. Esta é uma situação problemática em sistemas VVoIP, uma vez que a informação contida em pacotes que possam chegar atrasados pode já não ser útil, ou mesmo já ter sido reproduzida. Estes pacotes são então, simplesmente, descartados, como se nunca tivessem sido entregue no destino. Isto é, até certo ponto, aceitável, uma vez que os mesmos algoritmos de PLC podem compensar essas perdas e produzir áudio com qualidade aceitável. Normalmente, os computadores medem o atraso, ou latência, na entrega de pacotes e esperam que esse atraso seja mantido relativamente constante. Variação na latência (jitter) é absolutamente frustrante em equipamentos IP. A existência de latência significa que o som que foi registado apenas será ouvido no destino algum tempo mais tarde. Em geral, boas redes de dados possuem latências nunca superiores a 100ms, que podem subir para o 500ms se no percurso forem utilizadas ligações de satélite. Por outro lado, jitter pode conduzir a situações de ligeiros cortes na recepção de voz ou pequenas pausas. Assim, dispositivos VVoIP implementam normalmente jitter buffers para compensar e prevenir estes problemas. Isto significa, simplesmente, que antes de os pacotes serem processados para reprodução são coleccionados de modo a garantir que existam, sempre, pacotes disponíveis para processamento, aumentando e diminuindo essa colecção de acordo com as variações de atrasos de entrega.
Claramente, existe muito mais no VVoIP para além de enviar e receber pacotes de áudio e vídeo na Internet. Tem, por exemplo, de existir um protocolo acordado para a forma como os computadores ou outros equipamentos se encontram e para a forma como trocam informação. Tem também de haver um acordo quanto ao formato (payload format) para os conteúdos dos pacotes.
Nesta apresentação considerou-se apenas o caso da codificação e transmissão de som. Sem perda de generalidade, os mesmos pressupostos e problemas são colocados para o caso do vídeo ou de qualquer outro sinal que se prentenda transmitir via IP.