Data Hiding e Marcas D’água
Profa. Mylène Farias
Dept. de Engenharia Elétrica
Universidade de Brasília
Inserção Digital (Embedding)
•
MoIvação:
–
Copyright para áudio, vídeo, imagens, texto, etc.
•
Muitos nomes:
–
Watermarking (Marca d’água) – Mensagens de
copyright escondidas no sinal. UIlizadas para
processar os violadores.
–
FingerprinIng (números de série ou um conjunto
de caracterísIcas que disInguem o objeto de
outros objetos similares) – Permite a deteção da
violação.
Esteganografia
•
Steganos + grafia
•
Gaspar SchoY, Schola
steganograpica, 1665
•
Página de F. PeItcolas:
•
hYp://www.peItcolas.net/
fabien/steganography/
steganographica/index.html
Steganographia, 1499
•
Johannes Trithemius
•
Colocado na lista de livros
proibidos (1609-‐190).
•
Aparenta ser sobre
mágica, (comunicação
entre espíritos)
•
Após a descoberta da
chave, descobriu-‐se que o
livro é sobre criptografia
e steganografia.
Esteganografia
Imagem portadora Mensagem
Stego-‐imagem Mensagem extraída
Hare = imread('arcIc_hare.bmp', 'bmp'); F15 = imread('F15.bmp', 'bmp');
n = 4; % Number of bits to replace 1 <= n <= 7
[Stego, Extracted] = LSBHide(Hare, F15, n); figure, imshow(Stego) figure, imshow(Extracted) where
funcIon [Stego, Extracted] = LSBHide(Cover, Hidden, n) %LSBHide
% [Stego, Extracted] = LSBHide(Cover, Hidden, n) % Hide Hidden in the n least significant bits of Cover
Stego = uint8(bitor(bitand(Cover, bitcmp(2^n -‐ 1, 8)) , bitshiu(Hidden, n -‐ 8)));
Extracted = uint8(bitand(255, bitshiu(Stego, 8 -‐ n)));
Inserção nos LSBs
MSBs da mensagem Stego-‐image
Considerações
•
O quanto de distorção é causada pela
inserção?
•
O quão resistente é a marca à mudanças na
imagem?
SubsItuição dos MSBs
Color Depth
8 bits / pixel
4 bits / pixel
2 bits / pixel
– Artefatos de falsos contornos aparecem
Em áreas de transição gradual quando usamos poucos bits;
–
Os olhos conseguem perceber 50 gray levels => 5~6 bits/pixel
Embedding
Data Hiding: Colocar dados adicionais em um sinal hospedeiro
(1) Subs)tuir os LSBs do hospedeiro com os dados da mensagem
(2) Arredondar um valor de um pixel para o próximo número par ou ímpar
•
Equivalente a reduzir o número de bits (profundidade)
•
Deteção uIliza um detector de paridade.
•
Menor distorção
+ simples
-‐ Frágil a pequenas mudanças
par “0”ímpar “1”
pixel value 98 99 100 101
odd-even mapping
lookup table mapping
0 1 0 1
Como melhorar robustez?
•
Introduzir quanIzação ao processo de inserção
–
Fazer os valores pares/ímpares serem múlIplos de Q.
–
Tradeoff entre distorção e robustez:
Maior valor de Q à Maior resistência a mudanças
à Maior número de mudanças
de intensidade
feature value 2kQ (2k+1)Q (2k+2)Q (2k+3)Q
odd-even mapping
lookup table mapping
0 1 0 1
Inserção de Dados
•
Qual a distorção esperada da inserção
baseada na quanIzação?
•
Quan7zação uniforme com passo Q:
(Assumindo uma distribuição da fonte com intervalos
aproximadamente constantes)
MSE = Q
2
/ 12
-‐Q/2 + Q/2 1/Q
Inserção de Dados
•
Inserção par-‐ímpar com quanIzação
MSE = ½ * (Q
2/12) + ½ * (7Q
2/12) = Q
2/ 3
MSE equivalente a usar passo 2Q
feature value 2kQ (2k+1)Q (2k+2)Q (2k+3)Q
odd-even mapping 0 1 0 1 -‐Q -‐Q/2 + Q/2 +Q
Inserção de Dados
•
Problema: Frágil
–
Aplicação em deteção de tampering
–
Possível solução: pré-‐quanIzar.
•
“QuanIzaIon Index ModulaIon (QIM)”
–
Projeto de 2 quanIzadores“#0”, “#1”: step size 2Q,
offset Q
–
A inserção executa a quanIzação usIlizando o
quanIzador correspondente ao bit que se deseja
inserir.
–
O decodificador procura pela representação mais
Marcas D’água Robustas
l
Aplicações de Marcas D’água Frágeis ou Semi-Frágeis
– Deteção de Tampering
– Comunicações Secretas => “Steganografia” (covert writing)
– Fornecer informações adicionais:
letras de músicas, director’snotes
l
Situações que demandam maior robustez
– Proteção de copyright
(copyright label),prevenção de
vazamentos
(digital fingerprint)– Deseja-se robustez contra compressão, filtragem, etc.
l
Como tornamos uma marca robusta?
– Uso de quantização
– Uso de códigos corretores de error
– Espalhamento espectral
10011010 …
© Copyright …
•
Como usar a marca? Onde colocá-‐la?
–
Colocar a marca em uma região significaIva (para robustez)
• Modificar por um valor abaixo do Just-‐noIceable-‐difference (JND)
–
UIlizar um vetor pseudo-‐aleatório com marca
•
Embedding:
v
’
i= v
i+
α
v
iw
i= v
i(1+
α
w
i)
–
Calcular a DCT da imagem e inserir wmk nos seus coeficientes
–
Escolher N=1000 maiores coefi. AC e scalar {v
i} por um valor aleatório
2D DCT sort v’=v (1+α w) IDCT &
normalize Original image N largest coeff. other coeff. marked image
random vector generator
wmk seed 1 . 0 = α nce unit varia zeromean, iid, ~ i w
Espalhamento Espectral
Original Cox Diferença entre
Marcação dos 100 maiores marcada & original coeficientes DCT
Deteção
§
Subtrair a imagem original da marcada (
“
non-‐blind
detecIon
”
)
§
Deteção com base na correlação
•
Um correlator normalizado by |Y| -‐-‐ Cox et al. paper
k watermar watermark no : 1 : 0 ⎩ ⎨ ⎧ + = = ⇒ − ʹ′ = N W Y H N Y H X X Y – orig X test X’ X’=X+W+N ? X’=X+N ? DCT compute similarity threshold test image decision wmk DCT select N largest original unmarked image select N largest preprocess –
Desempenho
l
Robustez
– scaling, JPEG, dithering, cropping, “printing-xeroxing-scanning”,
multiple watermarking
– A robustez não é uma surpresa …
l
…
– A imagem original deve ser armazenada ⇒
“private wmk”, “non-blind” detection– Registro de imagem deve ser realizado
– Parâmetros: N and α
Distortion none scale
25% JPG10% JPG 5% dither crop25% print-
xerox-scan
similarity 32.0 13.4 22.8 13.9 10.5 14.6 7.0
Desempenho
l
“
1000 maiores coef.”
após e depois da inserção
– Podem não ser idênticos
– Solução:
usar original como referência; usar mácara de inserção para manter o sincronismo– .
l
Deteção sem o original
– Tratamento da imagem como ruído ~ deteção cega
◆ O sinal wmk deve ser longo para combater a interferência do hospedeiro [Zeng-Liu]
– Dá para fazer melhor porque o marcador conhece o sinal hospedeiro
=>
“Embedding with Side Info.”.
/
(
:
blind
-non
;
/
:
blind
2 2 2 2w
w
w)
y
w
w
y
T d N d T NT
T
σ
σ
−
=
=
H0: <(x + noise), w > H1: < y + noise, w > = < w + (x + noise), w > vs. H0: < (x + noise) - x, w > = < noise, w > H1: < y + noise - x, w > = < w + noise, w >Espalhamento Espectral
l
Um melhor modelo visual
– Um único fator de escala para todos os coeficientes?
– Cálculo do just-noticeable-difference (JND)
◆
JND ~ maior valor de intensidade que o coeficiente pode ser
modificado sem alterá-lo visivelmente.
◆
Emprego das características do SVH: sensibilidade,
mascaramento, …
– Transformada com maior localização
◆
block-based DCT; wavelet transform
l
Robustez:
desempenho da deteção depende da
||s|| /
σ
d◆
Adicionar maior valor de marca permitido pelo JND
◆Marcar a maior quantidade possível de coeficientes
i i
i
i
v
JND
w
Comparação
Original Cox Podilchuk whole image DCT block-‐DCT
Comparação
Cox Podilchuk
Espalhamento Espectral
•
Robustez:
–
Muito robusto com relação a ruído adiIvo
–
Sensível a erros de sincronização (especialmente a
deteção cega)
•
jiYers (line dropping/addiIon)
•
Distorção geométrica (rotação, escalonamento, translação)
•
Como melhorar a robustez a sincronização
–
adicionar um padrão (marcador) para registro
–
Insesir em um domínio invariante à rotação/
Referências
1. I. Cox, J. Kilian, T. Leighton, T. Shamoon: “Secure Spread Spectrum Watermarking for Multimedia'', IEEE Trans. on Image Proc., vol.6, no.12, pp.1673-1687, 1997. 2. M. M. Yeung and F. Mintzer: “An Invisible Watermarking Technique for Image
Verification", Proc. of the IEEE Int’l Conf. on Image Processing (ICIP), Oct. 1997. 3. M. Wu and B. Liu: "Data Hiding in Image and Video: Part-I -- Fundamental Issues
and Solutions", IEEE Trans. on Image Proc., vol.12, no.6, pp.685-695, June 2003. 4. M. Wu, W. Trappe, Z.J. Wang, and K.J.R. Liu: “Collusion-resistant fingerprinting for
Multimedia,” IEEE Signal Proc Magazine, March 2004.
5. M. Wu and B. Liu: Multimedia Data Hiding, Springer-Verlag, 2003.