BR102018072097A2 - Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória - Google Patents

Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória Download PDF

Info

Publication number
BR102018072097A2
BR102018072097A2 BR102018072097-0A BR102018072097A BR102018072097A2 BR 102018072097 A2 BR102018072097 A2 BR 102018072097A2 BR 102018072097 A BR102018072097 A BR 102018072097A BR 102018072097 A2 BR102018072097 A2 BR 102018072097A2
Authority
BR
Brazil
Prior art keywords
words
spaces
document
message
watermark
Prior art date
Application number
BR102018072097-0A
Other languages
English (en)
Inventor
Luis Pérez Freire
Diego Pérez Vieites
Pablo Pedro Pérez García
Original Assignee
Telefonica Digital Espanã, S.L.U.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonica Digital Espanã, S.L.U. filed Critical Telefonica Digital Espanã, S.L.U.
Publication of BR102018072097A2 publication Critical patent/BR102018072097A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1066Hiding content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0062Embedding of the watermark in text images, e.g. watermarking text documents using letter skew, letter distance or row distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Abstract

um método para inserção de marca d?água em documentos caracterizado por compreender: - a identificação e a localização de espaços em um documento original recebido (10) por um módulo de análise de localização (110) que distingue entre espaços dentro de palavras e espaços entre palavras. - minimização de uma probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras no documento com marca d?água (20) por meio de um módulo de otimização (111); - codificação (113) da mensagem (30) em palavras código e codificação (114) das palavras código em marca d?água; - inserção da marca d?água para gerar (115) o documento com marca d?água (20) por meio da modificação de espaços dentro de palavras e espaços entre palavras do documento original (10).

Description

Relatório Descritivo da Patente de Invenção: “MÉTODO DE INSERÇÃO E EXTRAÇÃO DE MARCA D ÁGUA PARA PROTEÇÃO DE DOCUMENTOS E MÍDIA NÃO TRANSITÓRIA”
Campo da invenção [001] A presente invenção tem aplicação no setor de telecomunicações, dentro do campo de segurança de informações digitais e processamento de conteúdo digital, e tem relação com a tecnologia de marca d’água digital.
[002] Mais especificamente, a presente invenção se refere a um método de inserção de marca d’água digital em um documento, que pode ser em formato digital ou digitalizado, incluindo textos, e um método de extração de marca d’água do documento com marca d’água aplicada mesmo em caso de distorção no documento.
Antecedentes da invenção [003] A inclusão de informações ocultas em um arquivo de texto é um recurso desejado em muitos campos para muitas aplicações diferentes. Por um lado, as informações ocultas inseridas em um documento de texto podem ser decodificadas por máquinas para permitir a classificação automática de documentos. Ao mesmo tempo, estas informações podem permitir a validação automática da autenticidade, integridade e propriedade de um documento. Além disso, essas informações incluídas em documentos confidenciais - podem permitir seu rastreamento, dissuadir vazamento de informações ou ajudar na identificação do responsável em caso de vazamento.
[004] As informações incluídas em documentos com esse objetivo em geral têm a intenção de ser imperceptíveis a seres humanos, mas apreciáveis por sistemas de computadores, que podem ler e decodificá-las. Essa inclusão de informações costuma ser referida como marca d’água. Uma marca d’água é uma alteração de um documento que pode incluir uma imagem ou padrão de identificação, como um espaçamento de caractere ou uma deformação de caractere no caso de texto, ou modificação de pixels na frequência ou espaço no caso de imagens. A marca d’água pode representar um código ou um sinal/assinatura único. A marca d’água pode ser
Petição 870180144946, de 26/10/2018, pág. 7/32
2/14 replicada em diferentes partes/seções do próprio documento, permitindo que seja extraída também de uma parte do documento original (no caso de documentos danificados/sujos/amassados). Finalmente, a marca d’água não pode ser apreciada por inspeção humana, mas pode ser identificada em uma inspeção digital, com a recuperação do código representado.
[005] Muitos métodos diferentes existem para incluir marcas d’água em dados multimídia, a saber, áudio, vídeo e imagens, daí a existência de uma ampla literatura científica que descreve métodos de inserção e extração. A inclusão e extração de marcas d’água de dados multimídia, no entanto, em geral implica técnicas não aplicáveis a documentos de texto.
[006] Diferentes métodos são usados para incluir informações em documentos de texto, em geral implicando a adição ou alteração da aparência de um documento. Os métodos mais fáceis incluem marcas visíveis no documento, como códigos de barra. Entretanto, a adição de marcas visíveis no documento pode não ser aceitável para várias aplicações, seja por motivos estéticos ou porque a marca d’água não deve ser notada pelo usuário. Como tal, marcas d’água imperceptíveis são de grande interesse para documentos de texto, onde em geral há poucas áreas onde encobrir uma marca em comparação a dados multimídia.
[007] Em relação a marcas d’água imperceptíveis em documentos de texto, diferentes técnicas estão disponíveis e são geralmente baseadas em uma das três seguintes metodologias de codificação: (i) elementos especiais podem ser envolvidos para aplicar a marca d’água, que não fazem parte do processo de impressão padrão (ex.: tintas ou papéis especiais), (ii) as informações podem ser codificadas na parte do texto do documento, por meio de regras semânticas ou sintáticas, ou seja, alterando o conteúdo do texto com o uso de sinônimos ou grupos de letras maiúsculas/minúsculas diferentes, etc., ou (iii) as informações podem ser codificadas em modificação da aparência do documento, incluindo variações de cor, transposições de parte do conteúdo, etc.
[008] Algumas das técnicas disponíveis para integrar marcas d’água em
Petição 870180144946, de 26/10/2018, pág. 8/32
3/14 documentos são válidas para documentos em papel, outras para documentos digitais (um documento digital é um documento original criado em um formato digital, geralmente PDF), algumas para ambos os formatos, mas todas elas apresentam limitações, incluindo dependência de processos de impressão e escaneamento, ou não resistência a impressão, distorção ou quantidade limitada de informações que podem ser inseridas no documento.
[009] Portanto, é altamente desejável desenvolver um método para inserir marcas d’água em documentos de texto em papel e documentos digitais que acabam sendo resistentes a distorções do documento, sem precisar do documento original para extração de marca d’água e sem exigir nenhum equipamento especial para imprimir ou escanear o documento.
Sumário da invenção [010] A presente invenção resolve os problemas acima mencionados e supera as limitações do trabalho do estado da arte explicado anteriormente oferecendo um método para inserir/extrair marcas d’água digitais para proteger documentos. Mais especificamente, um método para inserir uma marca d’água digital que codifica uma mensagem em um documento original é fornecido. O documento original pode ser um documento digital ou digitalizado (um documento digitalizado é um scan/imagem de um documento digital anteriormente impresso em papel, ou a conversão para um formato digital diferente de um documento digital), incluindo documentos de texto, tanto em formato vetorial e objetos de mapeamento de pixels. Ademais, o método contrário, ou seja, o método para extrair a mensagem da marca d’água inserida em um documento, sem requerer o documento original, é fornecido.
[011] Um aspecto da presente invenção se refere a um método para inserir marcas d’água em documentos, que recebe como dados um documento original e uma mensagem para obter como resultado um documento com marca d’água que tem uma marca d’água inserida, a marca d’água com a codificação da mensagem recebida. O método de marca d’água compreende os seguintes passos:
- a identificação e a localização de espaços em um documento original por
Petição 870180144946, de 26/10/2018, pág. 9/32
4/14 um módulo de análise de localização que distingue entre espaços dentro de palavras e espaços entre palavras;
- a minimização de uma probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras no documento com marca d’água por meio de um módulo de otimização;
- a codificação da mensagem em palavras código e codificação das palavras código em marca d’água;
- a inserção da marca d’água para gerar o documento com marca d’água por meio da modificação de espaços dentro de palavras e espaços entre palavras do documento original.
[012] Outro aspecto da presente invenção se refere a um método para extrair marcas d’água de documentos, o método recebendo como dados um documento recebido que resulta de possíveis deformações de um documento com marca d’água e o método compreende os seguintes passos:
- a identificação e a localização de espaços em um documento recebido por um módulo de análise de localização que distingue entre espaços dentro de palavras e espaços entre palavras e obtém um vetor S’bw que corresponde aos espaços entre palavras do documento com marca d’água;
- o mapeamento dos espaços entre palavras do vetor S’bw em símbolos de acordo com um alfabeto de palavras código w = { wi}, i= 1,2,...Q; Q sendo o número de símbolos da mensagem codificada pela marca d’água do documento com marca d’água e os símbolos sendo mapeados univocamente às palavras código w;
- desempacotamento de símbolos mapeados para obter blocos de sincronização e blocos payload de símbolos;
- descodificação do canal dos blocos payload para extrair a mensagem que foi codificada pela marca d’água, a marca d’água inserida no documento com marca d’água.
[013] Outro aspecto adicionais da presente invenção se refere a um programa de computador e uma mídia não transitória que pode ser lida por computador, que contém
Petição 870180144946, de 26/10/2018, pág. 10/32
5/14 instruções ou código de computador (armazenados na mídia não transitória que pode ser lida por computador) para realizar os passos dos métodos de inserção e/ou extração das marcas d’água descritos antes.
[014] A presente invenção tem diversas vantagens em relação ao estado da técnica, que podem ser resumidas a seguir:
- recuperação às cegas da marca d’água inserida, ou seja, a recuperação da mensagem inserida não requer a presença da mensagem original;
- capacidade de recuperação de uma distorção do documento, como uma ruptura parcial, distorções de impressão/escaneamento, alteração de cor em processo de impressão/escaneamento, etc;
- independência do método da marca d’água do formato do documento (digital, digitalizado ou impresso);
- independência do método de marca d’água de tecnologia de impressão e escaneamento, sem requerer qualquer dispositivo ou tecnologia específica;
- a solução resultante não pode ser apreciada por inspeção humana, mas identificável para inspeção digital;
- nenhuma edição textual é exigida.
[015] Esta e outras vantagens serão aparentes à luz da descrição detalhada da invenção.
Breve descrição dos desenhos [016] Com o propósito de ajudar a entender as características da invenção, de acordo com uma modalidade prática preferencial da mesma, e a fim de complementar esta descrição, as Figuras a seguir são anexadas como sua parte integral, com um caráter ilustrativo e não limitante:
A Figura 1 mostra um diagrama em bloco genérico do método de inserção de marca d’água;
A Figura 2 mostra um diagrama em bloco genérico do método contrário, para extração de marca d’água;
A Figura 3 mostra um diagrama em bloco detalhado do método de inserção
Petição 870180144946, de 26/10/2018, pág. 11/32
6/14 de marca d’água, de acordo com uma modalidade preferencial da invenção;
A Figura 4 mostra um diagrama em bloco do módulo de análise de localização incluído no método de inserção de marca d’água, mostrado na Figura 3 anterior, de acordo com uma modalidade possível da invenção;
A Figura 5 mostra um empacotamento de mensagens para o método de inserção de marca d’água da Figura 3, de acordo com uma modalidade possível da invenção;
A Figura 6 mostra um diagrama em bloco detalhado do método de extração de marca d’água, de acordo com outra modalidade possível da invenção.
Modalidade preferida da invenção [017] As questões definidas nesta descrição detalhada são fornecidas para ajudar no entendimento abrangente da invenção. De modo conforme, os peritos na técnica irão reconhecer que as alterações de variação das modalidades descritas aqui podem ser realizadas sem se afastar do escopo θ do espírito da invenção. Ademais, a descrição de funções e elementos bem conhecidos é omitida para clareza e concisão.
[018] Naturalmente, as modalidades da invenção podem ser implementadas em uma variedade de plataformas arquitetônicas, sistemas operacionais e de servidores, dispositivos, sistemas ou aplicativos. Qualquer layout ou implementação arquitetônica presente aqui é fornecida para propósitos de ilustração e compreensão somente, sem a intenção de limitar aspectos da invenção.
[019] A Figura 1 mostra o método de inserção de marca d’água (11) proposto aqui, que toma como dado um documento original (10) e uma mensagem (30) a ser codificada na marca d’água. O documento original (10) pode ser um documento digital ou um documento digitalizado, incluindo, por exemplo, um documento escaneado de um papel impresso. O método de inserção da marca d’água (11) retorna como resultado uma nova versão do documento, o documento com marca d’água (20), que não pode ser distinguido por observação humana do documento original (10) inclusive a marca d’água que codifica a mensagem de entrada (30).
Petição 870180144946, de 26/10/2018, pág. 12/32
7/14 [020] O método de extração de marca d’água (12), mostrado na Figura 2, é o processo contrário do método de inserção de marca d’água mencionado anteriormente (11) e toma como dado de entrada uma cópia de um documento recebido (60), que pode ser em um formato digital ou digitalizado, no final incluindo distorção, e extrai a mensagem inserida (30). O elemento de entrada no método de extração (12) geralmente não é o documento com marca d’água (20), pois o documento recebido (60) pode ser diferente daquele enviado devido a distorção, ruído, etc.
[021] O método de inserção da marca d’água (11) é dividido em subprocessos mais detalhados na Figura 3. O documento original (10) é o primeiro submetido a uma análise de localização (110), que tem a intenção de encontrar e analisar os espaços presentes no texto do documento original (10). Depois que os espaços são localizados e analisados, o documento original (10) é submetido a um módulo de otimização (111) para minimizar a probabilidade de erros em um futuro processo de extração de marca d’água levando em consideração as restrições de distorção determinadas (112). Em paralelo, a mensagem (30) a ser inserida no documento deve ser codificada (113) em palavras código e as palavras código codificadas (114) em uma marca d’água. Finalmente, a marca d’água é inserida em um documento para gerar (115) um documento com marca d’água (20).
[022] A análise da localização (110) consiste em diferentes passos mostradas em maior detalhe na Figura 4. Primeiro de tudo, é verificado (401) se o documento original de entrada (10) é fornecido em um formato bitmap ou não. Se o documento original (10) é fornecido em um formato não bitmap, ele é convertido (402) em um formato bitmap para ter uma referência comum para o posicionamento do espaço no documento, em pixels, independentemente do documento original (10). Como segundo passo, uma segmentação baseada em imagens (403) é realizada a fim de encontrar espaços no texto do documento. A segmentação baseada em imagens (403) pode ser realizada com o uso de diferentes técnicas, incluindo projeção e agrupamento. Projeções representam um método mais fácil, já o agrupamento ou
Petição 870180144946, de 26/10/2018, pág. 13/32
8/14
Reconhecimento Óptico de Caracteres, OCR, podem representar soluções válidas em caso de fundo de texto não homogêneo. Presumindo uma distribuição horizontal padrão do texto em um documento com fundo homogêneo, as primeiras projeções horizontais do texto são realizadas a fim de se detectar as linhas do texto.
[023] Ao binarizar o documento em formato bitmap e somar os pixels em direção horizontal, a projeção horizontal Ph(r) é obtida como:
Ph(r) = Xd(r,c) onde r é a fileira r®, c é a coluna c-, e l(r,c) é a imagem do documento binarizada.
[024] Ao definir um valor limite adequado, o documento em formato bitmap pode ser segmentado em linhas de texto, encontrando limites de binarização otimizada no histograma da imagem. Uma vez que as projeções são computadas, e as linhas de textos identificadas, cada linha de texto é segmentada. Para cada linha, sua projeção vertical Pvi(c) corresponde a:
Pvi(c) = Xrli(r,c) onde, li(r,c) é a imagem do documento binarizada cortada para a linha i-.
[025] Aplicando a mesma técnica usada para isolar linhas de textos usando a projeção horizontal Ph(r), os espaços em cada linha podem ser identificados e medidos com a aplicação de um limite adequado até a projeção vertical Pvi(c).
[026] O resultado (404) da segmentação (403) é um grupo de comprimentos de espaços e um grupo de suas correspondentes localizações no documento, denominados grupo S e grupo L, respectivamente. Os espaços identificados são então classificados (405) em espaços dentro de palavras e espaços entre palavras. Como o processo está lidando com um documento em bitmap, essa classificação de espaços (405) pode ser baseada em técnicas de OCR - Reconhecimento Óptico de Caracteres - ou em um algoritmo de agrupamento por meio da análise do histograma dos comprimentos dos espaços, S. Como resultado dessa classificação (405), os grupos de comprimentos originais de espaços S e localizações L são divididos respectivamente em grupos (406), Ss e Sb, e Lse Lb, sendo os grupos de comprimento
Petição 870180144946, de 26/10/2018, pág. 14/32
9/14 e localização dos espaços dentro de palavras e dos espaços entre palavras, respectivamente.
[027] Como passo seguinte, os grupos de resultados (406) da classificação de espaços (405) são alimentados em um processo de otimização, com a intenção de reduzir a probabilidade de erro do futuro processo de extração da marca d’água. Em particular, para minimizar a possível interferência entre os espaços entre palavras e os espaços dentro de palavras no processo de extração da marca d’água (ex.: interpretando um espaço de um tipo por um de outro tipo), a distância entre os comprimentos dos dois tipos de espaços pode ser aumentada. Esta operação é chamada de “rejeição do host”. Esta operação introduz distorção no documento (10), referida como Dr, que é regulada por um parâmetro adequado de restrição recebido como dado de entrada, referido como Dr_max. Em particular, uma solução possível para minimizar a probabilidade de erro mantendo a distorção abaixo Dr_max consiste em tomar um espaço dentro de palavras modificado S*sí, para a linha i-, igual a:
μ(ϊ) + £ se Ssí > μ(ϊ) + ε
Ssí ou outro onde μ(ι) é o valor médio do comprimento dos espaços dentro de palavras Ssí na linha i-, e ε é o parâmetro host-rejeição, a ser ajustado para se obter Dr = Drmax.
Dró um valor indicativo da alteração nos comprimentos dos espaços dentro de palavras para todas as linhas do documento (10), ou seja, Dr = £í |S*sí - Ssi|
Desse modo, Dr = £í (Ssí - (μ(ϊ) + ε)) para Ssí > μ(ϊ) + ε
Como Ssí e μ(ι) são desconhecidos, o valor do host-rejeição ε é extraído e usado para determinar Dr = Dr_max.
[028] O efeito da aplicação acima de rejeição do host é reduzir os maiores espaços dentro de palavras em cada linha, tendo como resultado então maiores espaços entre palavras. Em geral, a meta é manter o comprimento total de cada linha inalterado. Como tal, a seguinte condição deve ser satisfeita:
2kS‘si(k) + XkS*Bi(k) = XkSsi(k) + XkSBi(k)
Petição 870180144946, de 26/10/2018, pág. 15/32
10/14 sendo Ssi(k) o comprimento do k2 espaço dentro de palavras da linha iâ, S*si(k) o comprimento modificado do mesmo espaço e, de modo correspondente, SBi(k) e S*Bi(k) o comprimento original e modificado do k2 espaço entre palavras da ilinha.
[029] Sendo Nb(i) o número de espaços entre palavras na iâ linha, a equação acima pode ser resolvida com o uso de espaços modificados iguais a:
S‘Bi(k) = SBi(k) + (ZkSsi(k)- XkS*si(k))/Nb(i) resultando em uma redistribuição homogênea do espaço extra entre os espaços entre palavras, que por sua vez resulta da redução dos espaços dentro de palavras.
[030] A mensagem (30) a ser codificada na marca d’água é uma sequência de bits de comprimento K. A mensagem (30) é codificada por um módulo de codificação (113). Como primeiro passo, o módulo de codificação (113) adiciona uma codificação de canal à mensagem (30) para torná-la robusta para erros de descodificação. Isso é conseguido por meio de códigos de correção de encaminhamento padrão, resultando em uma mensagem modificada (m’) de comprimento L > K, mostrada na Figura 5. Como um segundo passo, a mensagem modificada (m’) é dividida como uma sequência de símbolos (500, 500’) em blocos payload (510, 510’) de comprimento N. Além disso, antes de cada bloco payload (510, 510’), um bloco de sincronização (520, 520’) de comprimento T é adicionado para permitir que o decodificador de marca d’água recupere-se de erros de sincronização resultantes de má interpretação de espaços dentro de palavras e espaços entre palavras, que resultam de distorções de documentos. A sequência resultante (m”) tem um comprimento de L(1 +T/N).
[031] Uma vez que a mensagem codificada tenha sido gerada, o documento com marca d’água (20) é gerado (115) por meio de um processo de dois passos:
1. Um módulo de codificação de marca d’água codifica cada símbolo da mensagem codificada em uma sequência de comprimentos de espaços. Como resultado, os espaços entre palavras do documento Sb* são modificados para os espaços entre palavras com marca d’água Sbw.
Petição 870180144946, de 26/10/2018, pág. 16/32
11/14
2. O documento com marca d’água final (20) é gerado com a modificação dos espaços no documento anterior, de acordo com os vetores do espaço dentro das palavras Ss* e do espaço entre palavras Sbw.
[032] A inserção da marca d’água é realizada considerando o pacote de acordo com uma chave secreta, resultando em uma sequência de palavras código (wi, ... wq}, sendo wí = [wí(1 ),... wí(P)], i= 1,2,...Q, e Wi(k) = ±1. Sendo o número de palavras código Q igual ao número de diferentes símbolos na mensagem codificada e empacotada, cada símbolo pode ser mapeado univocamente a uma palavra código. Assim, para cada símbolo no pacote p(i), as seguintes operações são realizadas:
1. Selecionar um subgrupo de elementos P em Sb* de comprimento N-L, mapeado para S’b por meio de uma chave secreta. O subgrupo pode incluir elementos que pertencem a diferentes linhas de texto.
2. Inserir a palavra código selecionada wt no subgrupo selecionado usando a seguinte fórmula:
SWfk) = S‘B(k) + wtíkJ-ctíkJ-Styk) = Styk) (1 + wt(k)-ct(k)) onde ct(k) é um fator de ponderação. Dependendo do sinal da palavra código selecionada wt(k), para o ka espaço entre palavras na tâ linha, o espaço entre palavras SlBw(k) do documento com marca d’água (20) pode ser maior ou menor que o espaço original S^k).
[033] O papel do fator de ponderação ct(k) é garantir que a primeira e última letras de cada linha permaneçam na mesma posição (o que é muito importante, por exemplo, em textos justificados e para evitar modificações de layout no documento resultante). O fator de ponderação ct(k) é necessário quando o número de espaços entre palavras grandes e pequenos em uma dada linha não é igual. Em geral, isso é verdade quando:
£k S‘Bw(k) = £k SlB(k) ou, de modo equivalente, £k Wi(k)-Ci(k)-SBi(k) = 0 sendo Ci(k) e wi(k) o fator de ponderação e o componente da palavra código respectivamente para o ks espaço entre palavras na iâ linha, de acordo com o
Petição 870180144946, de 26/10/2018, pág. 17/32
12/14 mapeamento definido acima.
[034] Como tal, a condição acima pode ser reescrita como:
£ka wi(k) = 1 Ci(k)'SBi(k) = £ka wi(k) = -1 Ci(k) 'SBi(k) sendo o primeiro termo a soma dos espaços para a qual a soma dos elementos é +1, ponderada com o correspondente fator de ponderação, já o segundo termo é a soma dos espaços para a qual os elementos de codificação é -1, ponderada com o correspondente fator de ponderação. Isso é equivalente a:
Cl/C-1 = £ka wi(k) = -1 SBi(k) / Xka wi(k) = 1 SBi(k) [035] Ademais, se os espaços entre palavras em cada linha são uniformes, o que costuma ser o caso, então SBi(k) = Sb e a condição se torna: C1/C-1 = N-1/N1, sendo N1 0 número de ‘-Γ elementos de codificação e N1 0 número de T elementos de codificação, em wi(k) para a iã linha.
[036] A geração do documento com marca d’água (20) é concluída assim, com a modificação de espaços do documento de acordo com os grupos Ss* e Sbw.
[037] O modo contrário (12) de extração da mensagem inserida do documento com marca d’água (20) é mostrado na Figura 6. Uma vez que 0 documento é recebido (60), certas operações devem ser realizadas para recuperar a marcação d’água inserida. O documento recebido (60) pode estar passando por uma série de transformações desde sua criação como um documento com marca d’água (20), incluindo impressão e/ou escaneamento, acabando por introduzir distorções nele, o que deve ser levado em consideração no processo de decodificação. Desse modo, 0 primeiro passo do método de extração de marca d’água (12) consiste em redução de ruído (610) e correção geométrica (620), por ex., rotação, escalamento e transformação de perspectiva. As distorções gerais incluem poeira, borrões e sombreamento não uniforme, que podem ser removidos com a aplicação de métodos de binarização e operações morfológicas sobre 0 documento recebido (60). O objetivo principal do processo de redução de ruído (610) é limpar os espaços entre palavras e letras. Por outro lado, 0 objetivo principal do processo de correção geométrica (620) é aplicar a rotação adequada ao documento recebido para que as linhas resultem
Petição 870180144946, de 26/10/2018, pág. 18/32
13/14 aproximadamente horizontais para permitir a detecção de linhas e espaços. Os métodos de desinclinação padrão podem ser aplicados para o alcance deste objetivo, em geral baseado na detecção de cantos ou em transformações para detectar as linhas no documento e computar o ângulo de rotação a ser aplicado. O passo a seguir no método de extração de marca d’água (12) consiste em uma análise de localização (630) similar à análise de localização (110) descrita na Figura 3 para o método de marcação d’água (11), para detectar a localização e o tamanho dos espaços no documento, onde a marca d’água foi inserida. Os espaços devem ser classificados em espaços dentro de palavras e espaços entre palavras. Se métodos de agrupamento forem usados para essa classificação, deve ser levado em consideração que os espaços entre palavras no documento recebido (60) apresentam dois comprimentos diferentes, ao contrário do documento original (10), devido à inserção de marca d’água. Finalmente, como os espaços dentro de palavras não contêm informações sobre marca d’água, não são relevantes como resultado desse processo de classificação, já os espaços entre palavras são registrados no vetor S’bw correspondente. Como passo adicional, os espaços em S bw tem que ser mapeados (640) em símbolos de acordo com o alfabeto w definido anteriormente e como a seguir:
- Como um primeiro passo do mapeamento de símbolos (640), os espaços são agrupados em subgrupos de tamanho P. O te subgrupo de espaços S‘bw irão, desse modo, codificar um símbolo wi, com i e {1,..., Qj. A estimativa do símbolo mais provável pode ser expressa como:
c = arg maxc e {i.....qj ffSWIwc) sendo f^ewlwc) a função de densidade de probabilidade de condições S1bw em wc. Na prática, uma estimativa estatística é dificilmente aplicável pois implica o conhecimento da distribuição estatística de S’bw e seus parâmetros, que varia amplamente dependendo do tipo de documento e fonte, e exige um grande P para ter uma amostra estatisticamente significativa. Como tal, o mapeamento (640) de espaços em símbolos é realizado confiando-se somente nas médias da amostra observada. Na verdade, após inserir a palavra código wc em S’b, a média da amostra
Petição 870180144946, de 26/10/2018, pág. 19/32
14/14
S’bw tem a forma pk(1+Awc(k)), sendo μκ a média de Styk). Desse modo, os espaços de marca d’água são distribuídos ao redor de centroides, portanto o símbolo inserido pode ser estimado por técnicas de quantização de vetores, baseado em diversos métodos existentes para tal operação, incluindo de maneira escalar. É preciso observar que, se um método de agrupamento tiver sido usado na análise de localização (630), essa classificação pode naturalmente ser fornecida como um resultado secundário de tal processo.
- Como um próximo passo, o mapeamento entre S’BWi(k) e wi(k) é realizado com a designação a w(k) dos valores de +1 ou -1 dependendo da classificação correspondente do espaço como grande ou pequeno, respectivamente. Os w,(k) estimados são organizados de acordo com o subgrupo definido na fase de inserção e as sequências resultantes são comparadas com as palavras código no alfabeto. Se we é a palavra código mais similar, o símbolo c e {1.....Q) é selecionado.
[038] Os símbolos estimados resultantes do mapeamento (640) são finalmente dados como resultado para um passo de desempacotamento (650), que busca os símbolos de sincronização e extrai os símbolos payload. Finalmente, a decodificação do canal (650) é aplicada nos símbolos payload para extrair a mensagem original (30) que foi inserida no documento com marca d’água recebido (60).
[039] É preciso observar que nesse texto, o termo “compreende” e suas derivações (como “compreendendo”, etc.) não devem ser entendidos em um sentido excludente, ou seja, esses termos não devem ser interpretados como excludentes da possibilidade de que o que está sendo descrito e definido pode incluir elementos, etapas adicionais, etc.

Claims (13)

  1. REIVINDICAÇÕES
    1. Método (11) para inserir marca d’água em documentos, receber um documento original (10) e uma mensagem (30) para se obter um documento com marca d’água (20) que insere uma marca d’água que codifica a mensagem recebida (30), o método caracterizado por compreender:
    - a identificação e a localização de espaços no documento original (10) por um módulo de análise de localização (110), a análise de localização (110) distinguindo entre espaços dentro de palavras e espaços entre palavras;
    - minimização de uma probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras no documento com marca d’água (20) por meio de um módulo de otimização (111);
    - codificação (113) da mensagem (30) em palavras código e codificação (114) das palavras código em marca d’água;
    - inserção da marca d’água para gerar (115) o documento com marca d’água (20) por meio da modificação de espaços dentro de palavras e espaços entre palavras do documento original (10).
  2. 2. Método de acordo com a reivindicação 1, caracterizado por a análise de localização (110) compreender:
    - a verificação (401) se o documento original recebido (10) é um documento em formato bitmap e se o documento original (10) está em formato não bitmap, convertendo (402) o documento original (10) em um documento em formato bitmap;
    - aplicação de uma segmentação baseada em imagem (403) no documento em formato bitmap para obter um grupo de comprimentos e um grupo de localizações dos espaços no documento em formato bitmap;
    - classificação (405) dos espaços identificados e localizados em espaços dentro de palavras e espaços entre palavras para obter grupos (406) de comprimentos dos espaços dentro de palavras e espaços entre palavras, Ss e Sb respectivamente, e grupos de localizações dos espaços dentro de palavras e espaços entre palavras,
    Petição 870180144946, de 26/10/2018, pág. 21/32
    2/4
    Ls e Lb, do documento original (10).
  3. 3. Método de acordo com a reivindicação 2, caracterizado por a segmentação baseada em imagem (403) aplicar agrupamento ou reconhecimento óptico de caracteres se o documento original recebido (10) tem um fundo com texto não homogêneo.
  4. 4. Método de acordo com a reivindicação 2, caracterizado por a segmentação baseada em imagem (403) aplicar projeções se o documento original recebido (10) tem um fundo com texto homogêneo.
  5. 5. Método de acordo com qualquer uma das reivindicações 2 a 4, caracterizado por o módulo de otimização (111) minimizar a probabilidade de erro da interferência entre espaços dentro de palavras e espaços entre palavras ao:
    - obter um grupo modificado de espaços dentro de palavras, S*s = { S*sí } onde i denota um número de linhas do documento original (10) e S*sí é igual a:
    μ(ϊ) + £ se Ssí > μ(ϊ) + 8, onde 8 é um parâmetro host-rejeição, e
    Ssí ou outro;
    - obter um grupo modificado de espaços entre palavras, S‘b = { S‘bí } onde i denota um número de linhas do documento original (10), onde
    S*bí = { S*bí (k)}, S*Bi(k) é o comprimento modificado do ke espaço entre palavras da iâ linha e Sei(k) é o comprimento original do ke espaço entre palavras da iã linha do documento original (10),
    S‘s = { S‘sí (k)}, S*si(k) é o comprimento modificado do k5 espaço dentro de palavras da i- linha e Ssi(k) é o comprimento original do kQ espaço dentro de palavras da iã linha do documento original (10), e
    S*Bi(k) = SBi(k) + (ZkSsi(k)- XkS*si(k))/Nb(i)
    Sendo Nb(i) o número de espaços entre palavras na iã linha do documento original (10).
  6. 6. Método de acordo com a reivindicação 5, caracterizado por gerar (115) o documento com marca d’água (20) que compreende:
    - a seleção de um subgrupo do grupo de espaços entre palavras, S*b,
    Petição 870180144946, de 26/10/2018, pág. 22/32
    3/4 mapeados no grupo de espaços entre palavras na iã linha, S1b, por uma chave secreta;
    - a seleção de uma palavra código wt da mensagem codificada (30)
    - a inserção da palavra código wt no subgrupo selecionado dos espaços entre palavras ao calcular um espaço entre palavras Sbw do documento com marca d’água (20) usando a expressão:
    S’Bw(k) = S‘B(k) + wtíkJ-ctfkJ-Styk) = S’B(k) (1 + wt(k)-ct(k)) onde wt(k) é a palavra código selecionada, para o ks espaço entre palavras na t- linha; SlB(k) é o kQ espaço entre palavras na t- linha do espaço entre palavras Sb do documento original (10), S’Bw(k) é o kQ espaço entre palavras na t- linha do espaço entre palavras Sbw do documento com marca d’água (20) e ct(k) é um fator de ponderação;
    - a modificação dos espaços dentro de palavras e espaços entre palavras do documento original (10) substituindo o espaço dentro de palavras, Ss, e o espaço entre palavras, Sb, respectivamente pelo grupo modificado de espaços dentro de palavras, S‘s, e o espaços entre palavras modificado, Sbw, no documento com marca d’água (20).
  7. 7. Método de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por a codificação (113) da mensagem (30) de comprimento K compreender a adição de uma codificação de canal à mensagem (30) para obter uma mensagem codificada (m’) de comprimento L > K, dividindo a mensagem modificada (m’) em blocos payload (510, 510’) de comprimento N e adicionando um bloco de sincronização (520, 520’) de comprimento T antes de cada bloco payload (510, 510’) respectivamente para obter uma sequência de símbolos (m”) de comprimento L-(1+T/N).
  8. 8. Método de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por o documento original (10) ser selecionado de um documento digital e um documento digitalizado.
  9. 9. Método (12) para a extração de marcas d’água de um documento recebido (60) resultante de um documento com marca d’água (20) que tem uma marca
    Petição 870180144946, de 26/10/2018, pág. 23/32
    4/4 d’água inserida com a codificação de uma mensagem (30) de um número Q de símbolos, o método caracterizado por compreender:
    - a identificação e a localização de espaços em um documento recebido (60) por um módulo de análise de localização (630) que distingue entre espaços dentro de palavras e espaços entre palavras e obtém um vetor S’bw que corresponde aos espaços entre palavras do documento com marca d’água (20);
    - o mapeamento (640) dos espaços entre palavras do vetor S’bw em símbolos de acordo com um alfabeto de palavras código w = { w }, i= 1, 2....Q; Q sendo o número de símbolos da mensagem (30) e os símbolos sendo mapeados univocamente às palavras código w;
    - desempacotamento (650) de símbolos mapeados para obter blocos de sincronização e blocos payload de símbolos;
    - descodificação do canal (660) dos blocos payload para extrair a mensagem (30).
  10. 10. Método de acordo com a reivindicação 9, caracterizado por o documento recebido (60) ser uma cópia distorcida do documento com marca d’água (20).
  11. 11. Método de acordo com qualquer uma das reivindicações 9 a 10, caracterizado por compreender, adicionalmente, redução de ruído (610) e correção geométrica (620) ao documento recebido (60) antes da análise da localização (630).
  12. 12. Mídia não transitória que pode ser lida por computador caracterizada por conter instruções armazenadas nela para fazer com que um processador de computador realize o método de acordo com qualquer uma das reivindicações 1 a 8.
  13. 13. Mídia não transitória que pode ser lida por computador caracterizada por conter instruções armazenadas nela para fazer com que um processador de computador realize o método de acordo com qualquer uma das reivindicações 9 a 11.
BR102018072097-0A 2017-10-27 2018-10-26 Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória BR102018072097A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17382720.5A EP3477578B1 (en) 2017-10-27 2017-10-27 Watermark embedding and extracting method for protecting documents
EP17382720.5 2017-10-27

Publications (1)

Publication Number Publication Date
BR102018072097A2 true BR102018072097A2 (pt) 2019-06-04

Family

ID=60268326

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102018072097-0A BR102018072097A2 (pt) 2017-10-27 2018-10-26 Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória

Country Status (4)

Country Link
US (2) US10949509B2 (pt)
EP (1) EP3477578B1 (pt)
BR (1) BR102018072097A2 (pt)
ES (1) ES2829269T3 (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472384A (zh) * 2019-08-13 2019-11-19 中科天御(苏州)科技有限公司 一种基于人工智能的大数据水印方法及装置
CN111651736B (zh) * 2020-06-16 2021-08-13 杭州美创科技有限公司 一种身份证数据脱敏的水印溯源方法
US11361055B1 (en) * 2020-12-04 2022-06-14 International Business Machines Corporation Protection of a content repository using dynamic watermarking
EP4261714A1 (en) 2020-12-09 2023-10-18 Telefonica Cibersecurity Tech, S.L.U. Method and system for encoding and decoding information in texts
EP4099215B1 (en) 2021-06-03 2024-01-10 Telefonica Cibersecurity & Cloud Tech S.L.U. Computer vision method for detecting document regions that will be excluded from an embedding process and computer programs thereof
US11816756B1 (en) 2023-04-13 2023-11-14 Equity Shift, Inc. Anti-leak digital document marking system and method using distributed ledger
CN116776301B (zh) * 2023-08-18 2023-10-20 北京点聚信息技术有限公司 一种电子印章快速溯源管理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8014557B2 (en) * 2003-06-23 2011-09-06 Digimarc Corporation Watermarking electronic text documents
US8861922B2 (en) * 2003-09-29 2014-10-14 Alcatel Lucent Watermarking scheme for digital video
CN1897522B (zh) * 2005-07-15 2010-05-05 国际商业机器公司 水印嵌入和/或检测的方法、装置及系统
SG155790A1 (en) * 2008-03-18 2009-10-29 Radiantrust Pte Ltd Method for embedding covert data in a text document using space encoding
US8014035B2 (en) * 2008-09-10 2011-09-06 Xerox Corporation Decoding message data embedded in an image print via halftone dot orientation
US8750630B2 (en) * 2012-07-13 2014-06-10 International Business Machines Corporation Hierarchical and index based watermarks represented as trees
US20150228045A1 (en) * 2013-09-23 2015-08-13 Infosys Limited Methods for embedding and extracting a watermark in a text document and devices thereof

Also Published As

Publication number Publication date
US20210165860A1 (en) 2021-06-03
ES2829269T3 (es) 2021-05-31
US20190130080A1 (en) 2019-05-02
EP3477578A1 (en) 2019-05-01
EP3477578B1 (en) 2020-09-09
US10949509B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
BR102018072097A2 (pt) Método de inserção e extração de marca d`água para proteção de documentos e mídia não transitória
US8189863B1 (en) Watermarking digital documents
US20130028466A1 (en) Embedding and Detecting Hidden Information
US20110052094A1 (en) Skew Correction for Scanned Japanese/English Document Images
US8275168B2 (en) Orientation free watermarking message decoding from document scans
CN108805787B (zh) 一种纸质文档篡改鉴真的方法和装置
CN109902710B (zh) 一种文本图像的快速匹配方法和装置
CN101119429A (zh) 一种数字水印嵌入与提取的方法及装置
JP5669957B2 (ja) 西洋語の透かし処理をするための透かし画像の分割方法と装置
CN111738898A (zh) 文本数字水印嵌入\提取方法及装置
CN105761197A (zh) 一种基于特征不变量的遥感影像水印方法
Kozachok et al. Text marking approach for data leakage prevention
Stojanov et al. A new property coding in text steganography of Microsoft Word documents
Alkhafaji et al. Payload capacity scheme for quran text watermarking based on vowels with kashida
Chotikakamthorn Document image data hiding technique using character spacing width sequence coding
Chotikakamthorn Electronic document data hiding technique using inter-character space
US20110194725A1 (en) Novel Bit Pattern Design For Visible Watermarking
CN111382398B (zh) 信息处理、隐藏信息解析和嵌入的方法、装置及设备
Varna et al. Data hiding in hard-copy text documents robust to print, scan and photocopy operations
CN112990178B (zh) 一种基于字符切分的文本数字信息嵌入、提取方法及系统
CN110909323B (zh) 一种基于xml多标签水印的遥感影像流转追溯方法
Kozachok et al. Estimation of Watermark Embedding Capacity with Line Space Shifting
CN110472384A (zh) 一种基于人工智能的大数据水印方法及装置
CN110378829A (zh) 信息提供和水印提取的方法、装置及设备
Liu et al. Researches on text image watermarking scheme based on the structure of character glyph

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B25C Requirement related to requested transfer of rights

Owner name: TELEFONICA DIGITAL ESPANA, S.L.U. (ES)

Free format text: A FIM DE ATENDER A TRANSFERENCIA REQUERIDA ATRAVES DA PETICAO 870210065929 DE 20/07/2021, E NECESSARIO LEGALIZACAO CONSULAR OU APOSTILA.

B25A Requested transfer of rights approved

Owner name: TELEFONICA CYBERSECURITY AND CLOUD TECH S.L.U. (ES)

B25K Entry of change of name and/or headquarter and transfer of application, patent and certificate of addition of invention: republication

Owner name: TELEFONICA CYBERSECURITY AND CLOUD TECH S.L.U. (ES)

Free format text: RETIFICACAO DO DESPACHO (25.1) ? TRANSFERENCIA DE TITULAR PUBLICADO NA RPI NO 2659, DE 21/12/2021, QUANTO A PETICAO.ONDE SE LE: 870210065929 DE 20/07/2021LEIA-SE: 870210111382 DE 01/12/2021