3. Watermarking para Áudio
No geral, os algoritmos de "Watermarking" buscam explorar algumas características
ou até pequenas deficiências dos órgãos sensoriais humanos.
Os algoritmos de "Watermarking" para áudio são bastante desafiadores,
isto pois a inserção de uma pequena quantidade de informação, diretamente no
áudio, pode produzir uma quantidade de ruído significativa capaz de danificar o
arquivo.
Para que possamos começar a descrever o método de "Watermarking" para áudio que
implementamos, é interessante descrevermos algumas das características básicas
do som.
3.1. Características do Som
O som é um fenômeno físico que estimula o sentido da audição. Nos seres humanos, isso
ocorre sempre que uma vibração entre 20 e 20.000 hertz chega ao ouvido interno.
A figura 2 ilustra isso.
Figura 2
Qualquer som simples, como uma nota musical, pode ser descrito em sua
totalidade, especificando-se três características de sua percepção:
• O tom,
• A intensidade,
• O timbre.
Estas correspondem exatamente a três características físicas: a freqüência, a
amplitude e a composição harmônica ou forma de onda.
O tom é a característica do som que indica sua altura. As mudanças de tom
originam-se das diferenças de freqüências da onda sonora, medida em ciclos por
segundo. Exemplo (Lá – 440 Hz, Lá – 220 Hz, Dó – 131 Hz) são formas de onda
diferentes. Na medida em que a freqüência aumenta, o tom também o faz e a nota
se torna aguda.
A amplitude de uma onda de som é o grau de movimento das moléculas de ar
na onda, que corresponde à intensidade da rarefação e da compressão que a
acompanham (ver Figura 2). Quanto maior a amplitude da onda, mais intensamente as moléculas
golpeiam o tímpano e mais forte o som é percebido. A distância a que se pode
ouvir um som depende de sua intensidade, que é o fluxo médio de energia por
unidade de área perpendicular à direção de propagação. A intensidade é
inversamente proporcional ao quadrado da distância.
As diferenças de timbre correspondem às diferentes fontes de som e são
devidas a freqüências secundárias que acompanham a principal.
O timbre é a característica do som que nos permite distinguir os tons produzidos
pelos diferentes instrumentos, embora as ondas sonoras tenham a mesma amplitude
e freqüência. Os harmônicos são componentes adicionais da onda que vibram com
múltiplos inteiros da freqüência principal e dão lugar a diferenças de timbre. O
ouvido distingue pelo seu timbre a mesma nota produzida por um diapasão, um
violino ou um piano.
Os
Harmônicos são uma série de vibrações subsidiárias que acompanham uma vibração
primária ou fundamental de movimento ondulatório, especialmente nos instrumentos
musicais. Os harmônicos aparecem quando um corpo vibra. Por exemplo, uma corda
estirada ou uma coluna de ar fechado vibram simultaneamente produzindo
freqüências que são múltiplos da freqüência fundamental. No que se refere ao som
musical, a vibração completa produz a nota fundamental (ou primeiro harmônico ou
parcial), que costuma ser percebida como o tom básico do som musical. As
vibrações subsidiárias produzem harmônicos fracos. Os harmônicos contribuem para
a percepção auditiva da qualidade ou timbre de um som.
3.2. Etapas do Projeto
A primeira parte do projeto consistiu em estudar alguns conceitos básicos, como
processamento de sinais e características do som.
Durante a segunda etapa pesquisamos e estudamos alguns dos diversos métodos de "Watermarking"
existentes, tanto para imagem como para áudio, afim de adquirir uma visão mais
ampla desta área.
A última parte consistiu na implementação e avaliação de um método de "Watermarking"
para áudio baseado em métodos já existentes.
3.3. Método Utilizado
O método de "Watermarking" implementado não necessita do áudio original durante
o processo de detecção. Isso foi possível devido à utilização de um processo
estatístico baseado em amostras pseudo-aleatórias, chamado "Patchwork".
O "Patchwork" insere um dado estatístico especifico no dado original. Sendo
assim podemos decidir pela presença ou não da marca (ou assinatura) simplesmente
observando esta estatística. Este processo utiliza uma chave para inicializar um
gerador de elementos pseudo-aleatórios, os quais serão alterados para conter a
marca.
3.4. Descrição do "Patchwork" para
áudio
No método implementado utilizamos a técnica de "Patchwork" adaptada para áudio
no domínio do tempo. Essa técnica realiza modificações nas amplitudes do áudio
para poder inserir a marca.
Para isso temos os seguintes passos:
3.4.1. Processo de Inserção
Primeiramente obtemos um vetor Y com as amplitudes do áudio original.
Onde Yi é um elemento do vetor Y,
i є [1,N] e
Yi є [-1,1]
O próximo passo é sortear dois vetores de índices
de Y, A e B, ambos de tamanho M
Onde 2*M <= N
Para realizar este sorteio inicializamos o gerador com a chave K.
Neste momento podemos realizar a seguinte operação:
Sj = Y(Aj) - Y(Bj), para j є [1,M]
O valor esperado de S é zero. Para mais informação veja mais em
[1]
Finalmente, para inserirmos a marca realizamos as seguintes operações:
Y(Aj) = Y(Aj) + |Y(Aj) * Delta|
Y(Bj) = Y(Bj) - |Y(Bj) * Delta|
Onde Delta є R
Aj é um elemento do vetor A,
Aj є [1,N] e j є [1,M]
Bj é um elemento do vetor B,
Bj є [1,N] e j є [1,M]
Nesta etapa aplicamos um filtro para evitar que o valores de Y ultrapassem a
faixa [-1,1].
Assim temos para todos os elementos do conjunto Y(Aj) foi somada uma porcentagem
de seu valor e para todos os elementos do conjunto Y(Bj) foi subtraída uma
porcentagem de seu valor.
O “Patchwork” original utilizava um valor Delta fixo ao invés de uma porcentagem
de valor de Yi. Para áudio esta técnica ocasionava diversos problemas
relacionados a geração de ruído.
3.4.2. Processo de Detecção
Para realizar a detecção da marca são necessários o áudio e a chave K.
Primeiramente obtemos um vetor Y com as amplitudes do áudio.
Onde Yi é um elemento do vetor Y,
i є [1,N] e
Yi є [-1,1]
Através da chave K recuperamos os vetores A e B.
Então realizamos as seguintes operações:
S'j = Y(Aj) - Y(Bj), para j є [1,M]
Se o áudio estiver marcado o valor esperado de S' é:
S + |Delta * SOMA Y(Aj) + Y(Bj)|
onde o valor esperado de S é zero
Senão o valor esperado de S' é zero.
No gráfico abaixo temos dois histogramas. O primeiro representa a distribuição
da amostra S, a qual é um trecho de áudio não marcado. Já o segundo histograma
representa a distribuição da S’, a qual é trecho de áudio marcado.
Para realizarmos a detecção utilizamos o Teste de
Hipótese, com nível de significância de 5%, o qual verifica se a média da
amostra S' é zero.
Caso minha hipótese possa ser rejeitada dizemos que o áudio está marcado. Caso
contrário dizemos que não está.