Hardware vs Software

O processamento de sinais digitais através de software surge como uma alternativa na redução do custo de fabricação de hardware. Um exemplo é a questão de softmodems versus hardmodems.
Quem tem ( ou teve ) uma conexão discada sabe bem o que estou falando. Modems como Lucent, motorola, etc… são dotados de software para o processamento de sinais afim de estabelecer o fluxo de dados no modem. Com isso, economizamos em hardware uma vez que todo o processamento que seria realizado pelo chipset do modem, agora é feito pelo processador da máquina.
Sendo assim, um softmodem utiliza menos hardware do que um hardmodem. E custa no geral, 10% de seu valor.
O que pode parecer uma grande vantagem no processamento simples e pontual como o exemplo acima, não pode ser encarado como uma receita de sucesso.
Essa questão pode ser observada no processamento de chamadas VoIP. De um lado temos o Asterisk que em grande parte utiliza pouquíssimo hardware para o processamento de chamadas de VoIP. Do outro lado, temos gateways digitais implementados sobre hardware, como por exemplo Audiocodes e Cisco. Mas qual solução utilizar? Essa é uma questão que envolve diversos pontos. Um deles é o custo. Assim como na questão dos modems, os custos envolvidos são extremos. Um gateway digital implementado em hardware não sai por menos de 2000 dólares.

Já um gateway Asterisk ou similar, geralmente é distribuído sob uma licença de software livre. Além do custo, outros pontos devem ser observados, como por exemplo, o volume de ligações a processar simultaneamente. Tecnicamente, esse é o principal ponto. Devido a uma simples questão: Onde é feito o processamento? No hardware todos os recursos de processamento estão disponíveis para cada canal de voz. Já no sistema baseado em software, cada chamada compartilha o mesmo recurso de processamento. Assim, a medida que o volume de chamadas cresce, os recursos disponíveis para cada chamada diminui. O que pode levar a comprometer a qualidade da chamada.
Consideração final : Os recursos de processamento devem ser alocados de acordo com o trabalho a ser efetuado. Não há uma receita certa para essa medida. Cada caso deve ser avaliado. Uma dica é criar uma planilha com prós e contras de cada opção. E principalmente quais são os requisitos do projeto.

Blur em área da imagem

Exemplo simples de como utilizar ROI ( região de interesse ) para para limitar a área de Blur em imagens utilizando OpenCv.

A variável roi do tipo retângulo, possui as coordenadas da face de Lena.

Mat doBlur(Mat image,Rect roi){
//Seleciona ROI para aplicacao de blur
Mat imgROI = image(roi);
blur(imgROI,imgROI,Size(20,20),Point(2,2),1);
return image;
}

20120724-083220.jpg

Conversão de arquivos de Wav para MP3 no Debian

Convertendo aquivos de audio Wav em arquivos MP3 no linux ( Debian ou Ubuntu ) :

Pré-Requisitos:

Sugiro incluir os seguintes repositórios:
1. deb http://www.debian-multimedia.org etch main
2. deb http://ftp.br.debian.org/debian etch main

Até quando testei esse procedimento, era necessário obter uma chave pública para acesso ao repositório do Debian Multimedia.
Acesse o site debian multimedia, baixe o chave e instale-a usando privilégios administrativos.

Feito isso, aplique “apt-get update” para atualizar os índices.

Instalação do SOX, LAME e dos Pacotes Necessários

apt-get install lame lame-extras mod-musicindex-common libarchive1 liblame-dev
apt-get install liblame0 libmpeg4ip-0 libmpeg4ip-dev libmpeg4ip-doc mencoder mp3c
apt-get install sox sox-dev vsound mpeglib libarts1-mpeglib
apt-get install glame lame-extras liblame-dev
apt-get install gstreamer0.10-lame gstreamer0.10-tools gstreamer0.10-plugins-ugly gstreamer0.10-plugins-base

Pacotes necessários para compilação do libsndfile :
apt-get install gawk gcc gcc-base libc6-dev libsigc++-2.0-dev gobjc++
apt-get install libdfb++-dev libflac++-dev libodbc++-dev liboggflac++-dev libsigc++-1.2-dev libsigc++-2.0-dev libsigc++-dev
apt-get install libsigcperl-dev libstdc++2.10-dev libstdc++5-3.3-dev libstdc++6-4.1-dev libstdc++6-dev libxmlrpc++-dev
apt-get install libxmmsclient++-dev libxmmsclient++-glib-dev mffm-timecode-dev bison++ bisonc++ gcj

O lib libsndfile pode ser obtida nos link http://www.mega-nerd.com/libsndfile/ e baixe a lib libsndfile (usei a versão “libsndfile-1.0.17.tar.gz”), desempacote e compile (leia os arquivos README e INSTALL no diretório criado ).

Processo de conversão

Remoção dos ‘headers’ do arquivo WAV. Para isso, utilize o seguinte comando:

sox -t wav nome_do_arquivo.wav nome_do_novo_arquivo_sem_header.wav

Conversão para MP3:

lame nome_do_novo_arquivo_sem_header.wav nome_do_arquivo_mp3.mp3

Vantagens dos E-books

Embora a venda de livros impressos ainda seja muito grande, a venda de títulos através de livors eletrônicos esta aumentando ( acompanhando a venda de Tablets ).

Os e-books apresentam algumas vantagens :

– Durabilidade : Livros digitais não podem ser devorados por traças;

– Volume e peso : Olhe para sua estante de livros e responda a seguinte pergunta :
Quantos você poderia levar para qualquer lugar? Qual o volume ( e peso ) que esses livros ocupariam ? Com o e-book é possível levá-los sem peso ou volume adicional.

– Preço e preservação : As árvores agradecem! Nenhuma precisará ser derrubada para emissão dos livros. Embora que as editoras ainda pratiquem preços maiores para livros digitais.

– Busca no conteúdo : Livros eletrônicos podem ser utilizados com busca no conteúdo. Livros impressos não.

É claro que essa é uma mudança grande na cadeia de distribuição, como ficariam as distribuidoras, editoras, livrarias e bibliotecas frente a esse novo cenário?

Implementando soluções em VoIP

Alguns cuidados devem ser tomados ao implementar um serviço de telefonia sobre rede voip:

Deseja-se a total equivalência das características da rede PSTN sobre a rede voip?
O serviço será apenas um-pra-um?
Haverá alguma contingência de meio através de PSTN ?
Haverá uma outra rota de contingência através de voip ?

Quanto ao tipo de terminação, precisamos decidir :

IP Phone;
Telefone convencional;
Sip Phone software;

Qual o QoS desejável ? Qual o Qos minímo aceitável ?

Os aspectos de segurança foram observados ?

Quais os servidores externos envolvidos com as rotas ?