PT2526548E - Gerador de marca d¿água, descodificador de marca d¿água, método para prover um sinal de marca d¿água, método para prover dados de mensagem binários em dependência de um sinal com marca d¿água e um programa de computador que utiliza o conceito de sincronização aperfeiçoada - Google Patents

Gerador de marca d¿água, descodificador de marca d¿água, método para prover um sinal de marca d¿água, método para prover dados de mensagem binários em dependência de um sinal com marca d¿água e um programa de computador que utiliza o conceito de sincronização aperfeiçoada Download PDF

Info

Publication number
PT2526548E
PT2526548E PT117058784T PT11705878T PT2526548E PT 2526548 E PT2526548 E PT 2526548E PT 117058784 T PT117058784 T PT 117058784T PT 11705878 T PT11705878 T PT 11705878T PT 2526548 E PT2526548 E PT 2526548E
Authority
PT
Portugal
Prior art keywords
synchronization
representation
sequence
information
values
Prior art date
Application number
PT117058784T
Other languages
English (en)
Inventor
Bernhard Grill
Stefan Wabnik
Reinhard Zitzmann
Tobias Bliem
Bert Greevenbosch
Ernst Eberlein
Giovanni Del Galdo
Marco Breiling
Stefan Kraegeloh
Juliane Borsum
Joerg Pickel
Original Assignee
Fraunhofer Ges Forschung
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 Fraunhofer Ges Forschung filed Critical Fraunhofer Ges Forschung
Publication of PT2526548E publication Critical patent/PT2526548E/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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/1063Personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Bioethics (AREA)
  • Technology Law (AREA)
  • General Health & Medical Sciences (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Description

DESCRIÇÃO
GERADOR DE MARCA D'ÁGUA, DESCODIFICADOR DE MARCA D'ÁGUA, MÉTODO PARA PROVER UM SINAL DE MARCA D'ÁGUA, MÉTODO PARA PROVER DADOS DE MENSAGEM BINÁRIOS EM DEPENDÊNCIA DE UM SINAL COM MARCA D'ÁGUA E UM PROGRAMA DE COMPUTADOR QUE UTILIZA O CONCEITO DE SINCRONIZAÇÃO
APERFEIÇOADA
CAMPO TÉCNICO
As realizações, de acordo com a invenção, referem-se a um gerador de marca d'água para prover um sinal de marca d'água em dependência de mensagem de dados binários. As realizações adicionais, de acordo com a invenção, referem-se a um descodificador de marca d'água para prover dados de mensagem binários em dependência de um sinal com marca d'água. As realizações adicionais, de acordo com a invenção, referem-se a um método para prover um sinal de marca d'água em dependência de mensagem de dados binários. As realizações adicionais, de acordo com a invenção, referem-se a um método para prover mensagem de dados binários em dependência de um sinal com marca d'água. As realizações adicionais referem-se a programas de computador correspondentes.
Algumas realizações, de acordo com a invenção, estão relacionadas com a baixa complexidade do sistema robusto de áudio de marca d'água.
HISTÓRICO DA INVENÇÃO
Em muitas aplicações técnicas, é desejado incluir uma informação extra numa informação ou sinal que representa dados úteis ou "dados principais", como, por exemplo, um sinal de áudio, um sinal de video, gráficos, uma quantidade de medição e assim por diante. Em muitos casos, é desejado incluir a informação extra, de modo que a informação extra, seja vinculada aos dados principais (por exemplo, dados de áudio, dados de vídeo, dados de imagem fixa, dados de medição, dados de texto e assim por diante), de modo que não seja perceptível por um utilizador dos ditos dados. Também, em alguns casos, é desejável incluir os dados extras, de modo que os dados extras não sejam facilmente removíveis dos dados principais (por exemplo, dados de áudio, dados de vídeo, dados de imagem fixa, dados de medição e assim por diante).
Isso é particularmente real em aplicações nas quais é desejável implementar uma gestão de direitos digitais. Entretanto, às vezes, é simplesmente desejado adicionar informações paralelas substancialmente imperceptíveis aos dados úteis. Por exemplo, em alguns casos, é desejável adicionar informações paralelas, a dados de áudio, de modo que as informações paralelas provejam uma informação sobre a fonte dos dados de áudio, o conteúdo dos dados de áudio, direitos relacionados aos dados de áudio e assim por diante.
Para embutir dados extras aos dados úteis ou "dados principais", pode ser utilizado um conceito denominado "criação de marca d'água". Os conceitos de criação de marca d'água foram discutidos na literatura para muitos tipos diferentes de dados úteis, como dados de áudio, dados de imagem fixa, dados de vídeo, dados de texto e assim por diante. A seguir, serão dadas algumas referências, nas quais os conceitos de criação de marca d'água são discutidos. Entretanto, a atenção do leitor é destinada também ao amplo campo de literatura de livros e publicações relacionadas à criação de marca d'água para detalhes adicionais. 0 documento DE 196 40 814 C2 descreve um método de codificação para introduzir um sinal de dados não audível num sinal de áudio e um método para descodificar um sinal de dados, que é incluído num sinal de áudio numa forma não audível. O método de codificação para introduzir um sinal de dados não audível num sinal de áudio compreende converter o sinal de áudio no domínio espectral. O método de codificação também compreende determinar o limite de mascaramento do sinal de áudio e a provisão de um sinal de pseudo-ruído. O método de codificação também compreende a provisão do sinal de dados e multiplicação do sinal de pseudo-ruído com o sinal de dados, a fim de obter um sinal de dados de frequência propagada. O método de codificação compreende ainda a ponderação de propagação de sinal de dados com o limite de mascaramento e sobreposição do sinal de áudio e do sinal de dados ponderado.
Além disso, o documento WO 93/07689 descreve um método e equipamento para identificar automaticamente uma transmissão de programa por uma estação de rádio ou por um canal de televisão ou gravado num meio, por adição de uma mensagem codificada inaudível ao sinal sonoro do programa, à mensagem identificando o canal ou estação de transmissão, ao programa e/ou à data exata. Em uma realização debatida no dito documento, o sinal sonoro é transmitido por meio de um conversor analógico digital para um processador de dados que permite que os componentes de frequência sejam separados e que permite que a energia em alguns componentes de frequência seja alterada de uma maneira predeterminada para formar uma mensagem de identificação codificada. A saída do processador de dados é conectada por um conversor digital analógico para uma saída de áudio para transmissão ou gravação de sinal sonoro. Noutra realização discutida no dito documento, uma banda de passagem analógica é empregue para separar uma banda de frequências do sinal sonoro, de modo que a energia na banda separada possa ser assim, alterada para codificar o sinal sonoro. O documento US 5.450.490 descreve um equipamento e métodos para incluir um código que tem pelo menos um componente de frequência de código num sinal de áudio. As capacidades de diversos componentes de frequência num sinal de áudio para dissimular o componente de frequência de código para a audição humana são avaliadas e com base nessas avaliações, é atribuída uma amplitude ao componente de frequência de código. Os métodos e equipamentos para detectar um código num sinal de áudio codificado estão igualmente descritos. Um componente de frequência de código no sinal de áudio codificado é detectado com base numa amplitude de código esperada ou numa amplitude de ruído dentro de uma variação de frequências de áudio, incluindo a frequência do componente de código. O documento WO 94/11989 descreve um método e equipamento para codificar/descodificar de transmissão ou segmentos gravados e controlo da exposição à mesma audiência. São descritos métodos e equipamento para codificar e descodificar informações em sinais de segmento de transmissão ou gravados. Numa realização descrita no documento, um sistema de monitoramento de audiência codifica as informações de identificação na parte do sinal de áudio de um segmento de transmissão ou gravado utilizando codificação de espectro de propagação. 0 dispositivo de monitoramento recebe uma versão acusticamente reproduzida do sinal de transmissão, ou gravada por meio de um microfone, descodifica as informações de identificação da parte do sinal de áudio, apesar do ruído ambiente significativo, e armazena essas informações, provendo automaticamente um diário para o membro de audiência, que é, depois, atualizado a uma instalação centralizada. Um dispositivo de monitoramento separado descodifica as informações adicionais a partir do sinal de transmissão, que é equiparado com as informações de audiência diária na instalação central. Esse monitor pode enviar simultaneamente dados à unidade centralizada utilizando uma linha telefónica dial-up, e recebe dados da unidade centralizada através de um sinal codificado, utilizando uma técnica de espectro de propagação e modulado com um sinal de transmissão de terceiros. 0 documento WO 95/27349 descreve equipamentos e métodos para incluir códigos em sinais de áudio e descodificação. Estão descritos um equipamento e métodos para incluir um código tendo pelo menos um componente de frequência de código num sinal de áudio. São avaliadas as capacidades de diversos componentes de frequência no sinal de áudio para dissimularem o componente de frequência de código da audição humana e, com base nessas avaliações, uma amplitude é atribuída aos componentes de frequência de código. Métodos e equipamento para detectar um código num sinal de áudio codificado também estão descritos. Um componente de frequência de código no sinal de áudio codificado é detectado com base na amplitude de código esperada ou uma amplitude de ruído dentro de uma variação de frequências de áudio, incluindo a frequência do componente de código. KIROVSKI D ET AL: "Robust Covert Communication over a Public Audio Channel using Spread Spectrum", LECTURE NOTES IN COMPUTER SCIENCE, vol. 2137/2001, 1 de Janeiro 2001, páginas 354-368, XP002590801, descreve um gerador de áudio robusto de marca d'água que fornece uma réplica spread-spectrum em tempo e frequência com uma estrutura de sub-banda.
No entanto, nos sistemas conhecidos de criação de marca d'água, é algumas vezes difícil ou demorado adquirir a sincronização adequada no lado do descodificador. Também, em alguns casos, um esforço de recursos para transmitir as informações de sincronização de um gerador de marca d'água para um descodificador de marca d'água é comparativamente alto. Ainda, em alguns casos, surgem problemas de confiabilidade.
Tendo em vista esta situação, é objetivo da presente invenção criar um conceito de sincronização para uso na transmissão de uma marca d'água, o que permite um bom intercâmbio entre eficiência de recurso, confiabilidade e tempo necessário para adquirir a sincronização.
SUMÁRIO DA INVENÇÃO 0 objetivo é alcançado por um gerador de marca d'água, de acordo com a reivindicação 1, um descodificador de marca d'água de acordo com a reivindicação 9, um método para prover um sinal de marca d'água de acordo com a reivindicação 16, um método para prover mensagem de dados binários de acordo com a reivindicação 17 e um programa de computador de acordo com a reivindicação 18.
Uma realização de acordo com a invenção cria um gerador de marca d'água para prover um sinal de marca d'água em dependência de mensagem de dados binários. 0 gerador de marca d'água compreende um propagador de informações configurado para propagar uma unidade de informações para uma pluralidade de valores de domínio de frequência e tempo, para obter uma representação de informações propagadas. 0 gerador de marca d'água também compreende um dispositivo de inserção de sincronização configurado para combinar multiplicativamente a representação de informações propagadas com uma sequência de sincronização para obter uma representação combinada de informações e sincronização. 0 gerador de marca d'água também compreende um difusor de sinal de marca d'água configurado para prover o sinal de marca d'água com base na representação combinada de informações e sincronização. É ideia principal da presente invenção que uma informação de sincronização, que permite uma rápida recuperação da sincronização e ainda provê um bom intercâmbio entre confiabilidade e eficiência de recurso pode ser obtida, no lado de um gerador de marca d'água, por uma combinação multiplicativa da representação de informações propagadas, que representa uma ou mais unidades de informação (por exemplo, bits) dos dados de mensagem binários, com uma sequência de sincronização, de modo que uma representação combinada de informações e sincronização possa ser obtida. A representação combinada de informação-sincronização, com base na qual o sinal de marca d'água é provido, transporta ambas, informação de mensagem de dados e informações de sincronização simultaneamente e em frequências idênticas ou dentro de bandas de frequência idênticas.
Também, combinando-se multiplicativamente a representação de informações propagadas com a sequência de sincronização, pode-se garantir (por exemplo, por escolha apropriada das dimensões dos valores da sequência de sincronização e/ou da representação de informações propagadas) que a intensidade dos valores de representação combinada de informação-sincronização é bem definida e previsível mesmo sem se considerar o conteúdo dos dados. Assim, o conceito de combinação multiplicativa da representação de informações propagadas com a sequência de sincronização facilita a possibilidade de definir a intensidade da informação-informação sincronização combinadas até um valor máximo que é permissível sem distorcer perceptivelmente o conteúdo de um sinal útil no qual o sinal de marca d'água está introduzido.
Para resumir, o conceito descrito de combinar multiplicativamente a representação de informações propagadas com uma sequência de sincronização para obter uma representação combinada informação-sincronização permite utilizar uma sincronização contínua, que é rapidamente detectável, uma vez que não é necessário um corte de tempo, que é detectável com alta confiabilidade, uma vez que a sequência de sincronização pode ser propagada numa ampla banda de frequência, e que é bem controlada em relação à energia, uma vez que a combinação multiplicativa pode ser conduzida de modo que a energia de um valor da representação informação-sincronização combinada seja independente do conteúdo de dados da representação de informações propagadas.
Numa realização preferida, o propagador de informações é configurado para propagar a frequência de um bit de mensagem de dados binários de acordo com uma sequência propagada de bits, de modo que, na representação de informações propagadas, um conjunto de valores de domínio de frequência e tempo associado a uma pluralidade de diferentes frequências (ou bandas de frequência) esteja associado ao bit. Neste caso, a sequência de sincronização compreende uma pluralidade de sequências propagadas de sincronização, as sequências propagadas de sincronização definem uma pluralidade de diferentes padrões de sincronização propagados na frequência. Esta realização permite aplicar diferentes sequências propagadas de sincronização a diferentes partes de tempo da representação de informações propagadas, de modo que diferentes sequências propagadas de sincronização sejam multiplicativamente combinadas com representações propagadas de diferentes bits de mensagem de dados binários.
Numa realização preferida, o dispositivo de inserção de sincronização é configurado para combinar multiplicativamente diferentes partes de tempo de representação de informações propagadas, sendo que as diferentes partes de tempo representam diferentes bits de mensagem de dados binários, com diferentes sequências propagadas de sincronização, de modo que as diferentes sequências propagadas de sincronização sejam combinadas com diferentes sequências propagadas de bits ou com versões diferentemente escaladas de uma determinada sequência propagada.
Em uma realização preferida, o dispositivo de inserção de sincronização é configurado para combinar multiplicativamente a representação de informações propagadas com uma sequência periódica de sequências propagadas de sincronização. Num primeiro caso, uma periodicidade da sequência de sequências propagadas de sincronização é igual ao número de bits de uma mensagem binária (por exemplo, de um bloco de bits provido como uma informação de saída de um codificador de canal bloco base). Assim, pode ser feita uma única identificação de alinhamento temporal de uma mensagem. Num caso alternativo, uma periodicidade da sequência de sequências propagadas de sincronização é menor que o número de bits da mensagem binária. Neste caso, um mecanismo adicional pode ser utilizado para obter unicamente uma sincronização de mensagem.
Numa realização preferida, opta-se para que as sequências propagadas de sincronização sejam ortogonais. Isto melhora a qualidade de uma aquisição de sincronização no lado do descodificador.
Em outra realização preferida, o dispositivo de inserção de sincronização é configurado para combinar multiplicativamente cada parte de tempo da representação de informações propagadas com pelo menos uma sequência de sincronização, de modo que cada parte de tempo da representação combinada de informação-sincronização compreenda uma pluralidade de valores que são dependentes de um bit de mensagem de dados binários e que também represente uma informação de sincronização. Deste modo, existe uma informação de sincronização continua que acelera a aquisição da sincronização no lado do descodificador.
Numa realização preferida, o difusor de informações é configurado para seletivamente difundir um determinado bit numa primeira representação de bits, que é um múltiplo positivo de uma sequência propagada de bits, ou numa segunda representação de bits, que é um múltiplo negativo da sequência propagada de bits, em dependência do valor de um determinado bit.
Uma realização de acordo com a invenção cria um descodificador de marca d'água para prover mensagem de dados binários em dependência de um sinal com marca d'água. 0 descodificador de marca d'água compreende um difusor de representação de domínio de frequência e tempo configurado para prover uma representação de domínio de frequência e tempo do sinal com marca d'água, por exemplo, um analisador ou um filtro de banco configurado para analisar o sinal de marca d'água. 0 descodificador de marca d'água também compreende um determinador de sincronização configurado para encontrar o alinhamento temporal de informações de marca d'água dentro da representação de domínio de frequência e tempo do sinal de marca d'água. 0 determinador de sincronização é configurado para computar uma primeira soma de valores de resultado de uma multiplicação por elemento entre um primeiro subconjunto de valores da representação de dominio-frequência-tempo, valores de uma primeira sequência de aglomeração de sincronização e valores de uma sequência de aglomeração de bits, e para computar uma segunda soma de valores de resultado de uma multiplicação por elemento entre um segundo subconjunto de valores da representação de domínio-frequência-tempo, valores de uma segunda sequência de aglomeração de sincronização e valores da sequência de aglomeração de bits. 0 determinador de sincronização também é configurado para somar valores absolutos da primeira soma de valores de resultado e da segunda soma de valores de resultado, para obter uma medida de probabilidade que representa uma probabilidade de que o primeiro e segundo subconjuntos de valores da representação de domínio-frequência-tempo carregam uma informação de sincronização, que está em alinhamento temporal com as sequências propagadas de sincronização. 0 determinador de sincronização também é configurado para determinar a sincronização em dependência da medida de probabilidade.
Esta realização de acordo com a invenção é baseada na constatação de que a sincronização, ou seja, as informações referentes ao alinhamento temporal das informações de marca d'água dentro da representação de domínio-frequência-tempo do sinal de marca d'água, podem ser encontradas num sinal de marca d'água, no qual uma representação de informações propagadas é multiplicativamente combinada com uma sequência de sincronização, independente dos dados de mensagem binários determinarem a representação de informações propagadas, pela computação da primeira soma de valores resultado de uma multiplicação por elemento entre um primeiro subconjunto de valores da representação de domínio-frequência-tempo, valores de uma primeira sequência de aglomeração de sincronização e valores de uma sequência de aglomeração de bits, computação de uma segunda soma de valores de resultado de uma multiplicação por elemento entre um segundo subconjunto de valores da representação de domínio-frequência-tempo, valores de uma segunda sequência de aglomeração de sincronização e valores da sequência de aglomeração de bits, e pela soma de valores absolutos da primeira soma de valores de resultado e da segunda soma de valores de resultado. Considerando a soma dos valores absolutos da primeira e segunda soma de valores de resultado, uma assim chamada correlação não coerente pode ser computada, que resulta num grande valor de correlação (ou mesmo um pico de correlação) caso uma sincronização seja encontrada, independente dos dados da representação de informações propagadas, que são multiplicativamente combinados com a sequência de sincronização para obter a representação combinada de informações e sincronização, que é incluída no sinal de marca d'água.
Por outras palavras, a formação do valor absoluto da primeira soma de valores de resultado e da segunda soma de valores de resultado pode transformar-se numa correlação, que compreende a multiplicação por elemento entre o primeiro subconjunto de valores da representação de domínio-frequência-tempo, valores da primeira sequência de aglomeração de sincronização e valores da sequência de aglomeração de bits, e também a multiplicação por elemento entre o segundo subconjunto de valores da representação de domínio-frequência-tempo, valores da segunda sequência de aglomeração de sincronização e valores da sequência de aglomeração de bits, independente dos dados. Assim, uma detecção, confiável e independente dos dados, da sincronização pode ser obtida.
Numa realização preferida, o primeiro subconjunto de valores da representação de domínio-frequência-tempo compreende valores da representação de domínio-frequência-tempo associados a uma primeira parte de tempo da representação de domínio-frequência-tempo, e o segundo subconjunto de valores da representação de domínio-frequência-tempo compreende valores da representação de domínio-frequência-tempo associados a uma segunda parte de tempo da representação de domínio-frequência-tempo. Também, preferencialmente, a primeira sequência de aglomeração de sincronização e a segunda sequência de aglomeração de sincronização são ortogonais. Esta realização permite uma clara detecção de uma sincronização utilizando um padrão de sincronização que compreende sequências ortogonais propagadas de sincronização em diferentes partes de tempo.
Numa realização preferida, o determinador de sincronização é configurado para receber, como a representação de dominio-frequência-tempo, uma informação rígida de bit ou uma informação flexível de bit. Neste caso, o determinador de sincronização é configurado para aplicar a primeira sequência de aglomeração de sincronização ao primeiro subconjunto de valores para reverter uma primeira informação de incorporação de sincronização, e para aplicar a segunda sequência de não propagação de sincronização ao segundo subconjunto de valores para reverter uma segunda operação de incorporação de sincronização. Além disso, o determinador de sincronização é configurado para aplicar a sequência de não propagação de bits para reverter uma operação de propagação de bits. Assim, o determinador de sincronização é preferencialmente configurado para reverter tanto a operação de propagação de bits como a operação de incorporação de sincronização que são realizadas no lado do codificador.
Em uma realização preferida, o determinador de sincronização é configurado para computar medidas de probabilidade para uma pluralidade de escolhas de posição do primeiro e segundo subconjuntos com referência à representação de domínio-frequência-tempo, para obter uma sequência de medidas de probabilidade associada às diferentes escolhas de posição do primeiro e segundo subconjuntos. 0 determinador de sincronização é configurado para correlacionar a sequência de medidas de probabilidade com uma sequência de referência, para determinar uma batida de sincronização, ou para filtrar a sequência de medidas de probabilidade com um filtro combinado adaptado para uma sequência esperada de valores de probabilidade, para determinar um batimento de sincronização. Utilizando-se uma correlação da sequência de medidas de probabilidade, ou filtrando-se a sequência de medidas de probabilidade com um filtro combinado, pode obter-se uma precisão aprimorada da sincronização e/ou uma maior confiabilidade da detecção de um batimento de sincronização.
Algumas realizações de acordo com a invenção também criam um método para prover um sinal de marca d'água em dependência de mensagem de dados binários e um método para prover dados de mensagem binários em dependência de um sinal de marca d'água. Os ditos métodos são baseados nas mesmas conclusões que o equipamento discutido anteriormente.
Algumas realizações de acordo com a invenção compreendem um programa de computador para realizar os métodos da invenção.
BREVE DESCRIÇÃO DAS FIGURAS
As realizações, de acordo com a invenção, serão subsequentemente descritas, tendo como referência as figuras anexas, nas quais: A Figura 1 apresenta um diagrama de blocos esquemático de um dispositivo de inserção de marca d'água, de acordo com uma realização da invenção; A Figura 2 apresenta um diagrama de blocos esquemático de um descodificador de marca d'água, de acordo com uma realização da invenção; A Figura 3 apresenta um diagrama de blocos esquemático detalhado de um gerador de marca d'água, de acordo com uma realização da invenção; A Figura 4 apresenta um diagrama de blocos esquemático detalhado de um modulador para uso numa realização da invenção. A Figura 5 apresenta um diagrama de blocos esquemático detalhado de um módulo de processamento psicoacústico para uso numa realização da invenção; A Figura 6 apresenta um diagrama de blocos esquemático de um processador de modelo psicoacústico para uso numa realização da invenção; A Figura 7 é uma representação gráfica de um espectro de energia de um sinal de áudio produzido pelo bloco 801 de frequência; A Figura 8 é uma representação gráfica de um espectro de energia de um sinal de áudio produzido pelo bloco 802 de frequência; A Figura 9 apresenta um diagrama de blocos esquemático de um cálculo de amplitude; A Figura 10a apresenta um diagrama de blocos esquemático de um modulador; A Figura 10b é uma representação gráfica da localização de coeficientes na reivindicação de frequência-tempo;
As Figuras 11a e 11b apresentam diagramas de blocos esquemáticos de implementações alternativas do módulo de sincronização; A Figura 12a é uma representação gráfica da dificuldade em encontrar o alinhamento temporal de uma marca d'água; A Figura 12b é uma representação gráfica da dificuldade de identificação do inicio da mensagem; A Figura 12c é uma representação gráfica de um alinhamento temporal de sequências de sincronização num modo completo de sincronização de mensagem; A Figura 12d é uma representação gráfica do alinhamento temporal das sequências de sincronização num modo de sincronização parcial de mensagem; A Figura 12e é uma representação gráfica dos dados de entrada do módulo de sincronização; A Figura 12f é uma representação gráfica de um conceito de identificação de um batimento de sincronização; A Figura 12g apresenta um diagrama de blocos esquemático de um dispositivo de correlação de assinatura de sincronização; A Figura 13a é uma representação gráfica de um exemplo para uma não propagação temporal; A Figura 13b é uma representação gráfica de um exemplo para uma multiplicação por elemento entre as sequências de bits e de propagação; A Figura 13c é uma representação gráfica de uma salda do dispositivo de correlação de assinatura de sincronização, após a medição temporal; A Figura 13d é uma representação gráfica de uma salda do dispositivo de correlação de assinatura de sincronização filtrado com a função de auto correlação da assinatura de sincronização; A Figura 14 apresenta um diagrama de blocos esquemático de um extrator de marca d'água, de acordo com uma realização da invenção; A Figura 15 é uma representação esquemática de uma seleção de uma parte da representação de domínio de frequência e tempo como uma mensagem candidata; A Figura 16 apresenta um diagrama de blocos esquemático de um módulo de análise; A Figura 17a é uma representação gráfica de uma saída de um dispositivo de correlação de sincronização; A Figura 17b é uma representação gráfica de mensagens descodificadas; A Figura 17c é uma representação gráfica de uma posição de sincronização, que é extraída de um sinal de marca d'água; A Figura 18a é uma representação gráfica de uma carga útil, uma carga útil com uma sequência de encerramento de Viterbi, uma carga útil codificada por Viterbi e uma versão codificada por repetição da carga útil codificada por Viterbi; A Figura 18b é uma representação gráfica de subportadores utilizados para embutir um sinal de marca d'água; A Figura 19 é uma representação gráfica de uma mensagem não codificada, uma mensagem codificada, uma mensagem de sincronização e um sinal de marca d'água, nas quais a sequência de sincronização é aplicada às mensagens; A Figura 20 é uma representação esquemática de uma primeira etapa de um denominado conceito de "sincronização ABC"; A Figura 21 é uma representação gráfica de uma segunda etapa de um denominado conceito de "sincronização ABC"; A Figura 22 é uma representação gráfica de uma terceira etapa de um denominado conceito de "sincronização ABC"; A Figura 23 é uma representação gráfica de uma mensagem compreendendo uma carga útil e uma parcela CRC; A Figura 24 apresenta um diagrama de blocos esquemático de um gerador de marca d'água, de acordo com uma realização da invenção; A Figura 25 apresenta um diagrama de blocos esquemático de um descodificador de marca d'água, de acordo com uma realização da invenção; A Figura 26 apresenta um fluxograma de um método para prover um sinal de marca d'água em dependência de dados de mensagem binários; e A Figura 27 apresenta um fluxograma de um método para prover mensagem de dados binários em dependência de um sinal com marca d' água.
DESCRIÇÃO DETALHADA DAS REALIZAÇÕES
1. GERAÇÃO DE MARCA D'ÁGUA 1.1 GERADOR DE MARCA Df ÁGUA, DE ACORDO COM A FIGURA 24
Será descrito a seguir, um gerador de marca d'água 2400, tendo como referência a Figura 24, que mostra o diagrama de blocos esquemático desse gerador de marca d'água. O gerador de marca d'água 2400 é configurado para receber mensagem de dados binários 2410 e para prover, com base nisso, um sinal de marca d'água 2420. O gerador de marca d'água compreende um propagador de informações 2430, que é configurado para receber uma unidade de informações, por exemplo, um bit de mensagem de dados binários 2410, e para propagar a unidade de informações para uma pluralidade de valores de domínio-frequência-tempo, para obter uma informação propagada 2432. O gerador de marca d'água 2400 também compreende um dispositivo de inserção de sincronização 2440, o qual é configurado para receber a informação propagada 2432 e uma sequência de sincronização 2442 e para combinar multiplicativamente a representação de informações propagadas 2432 com a sequência de sincronização 2442, para obter uma representação combinada de informações e sincronização 2444. O gerador de marca d'água 2400 também compreende um difusor de sinal de marca d'água 2450 configurado para prover o sinal de marca d'água 2420 com base na informação-informação sincronização 2444 combinadas. O gerador de marca d'água 2400 pode ser complementado por qualquer um dos aspectos e funcionalidades que são discutidos mais detalhadamente na seção 3 abaixo. 1.2. MÉTODO PARA PROVER UM SINAL DE MARCA D'ÁGUA EM DEPENDÊNCIA DE DADOS DE MENSAGEM BINÁRIOS, DE ACORDO COM FIGURA 26 A seguir, um método para prover um sinal de marca d'água em dependência de mensagem de dados binários será explicado tendo como referência a Figura 26. A Figura 26 apresenta um fluxograma desse método. 0 método 2600 da Fig. 26 compreende uma etapa 2610 de propagação de uma unidade de informação (por exemplo, um bit) para uma pluralidade de valores de dominio-frequência-tempo, para obter uma representação de informações propagadas. O método 2600 também compreende uma etapa 2620 de multiplicativamente combinar a representação de informações propagadas com uma sequência de sincronização para obter uma representação combinada de informação-sincronização. O método 2600 também compreende uma etapa 2630 de provisão do sinal de marca d'água com base na representação combinada de informações e sincronização.
Naturalmente, o método 2600 pode ser complementado por qualquer um dos aspectos e funcionalidades aqui discutidos, também em relação ao equipamento da invenção.
2. DECODIFICAÇÃO DE MARCA D'ÁGUA 2.1 DESCODIFICADOR DE MARCA D'ÁGUA, DE ACORDO COM FIGURA 25
Será a seguir descrito, um descodificador de marca d'água 2500, tendo como referência a Figura 25, que mostra um diagrama de blocos esquemático desse descodificador de marca d'água. O descodificador de marca d'água 2500 é configurado para prover mensagem de dados binários 2520 em dependência de um sinal com marca d'água 2510. O descodificador de marca d'água 2500 compreende um difusor de representação de dominio-frequência-tempo, que é configurado para prover uma representação de dominio-frequência-tempo 2532 do sinal com marca d'água 2510. O difusor de representação de dominio-frequência-tempo 2530 pode, por exemplo, compreender um transformador de domínio de tempo em domínio-frequência-tempo ou um filtro de banco. O descodificador de marca d'água 2500 compreende ainda um determinador de sincronização 2540, que é configurado para encontrar um alinhamento temporal da informação de marca d'água dentro da representação de domínio-frequência-tempo 2532 do sinal de marca d'água 2510. O determinador de sincronização 2540 é configurado para computar uma primeira soma de valores de resultado de uma multiplicação por elemento entre um primeiro subconjunto de valores da representação de domínio-frequência-tempo 2532, valores de uma primeira sequência de não propagação de sincronização e valores de uma sequência de não propagação de bits, e para computar uma segunda soma de valores de resultado de uma multiplicação por elemento entre o segundo subconjunto de valores da representação de domínio-frequência-tempo, valores de uma segunda sequência de não propagação de sincronização e valores da sequência de não propagação de bits. O determinador de sincronização 2540 também é configurado para somar valores absolutos da primeira soma de valores de resultado e da segunda soma de valores de resultado, para obter uma medida de probabilidade que representa uma probabilidade de que o primeiro e segundo subconjuntos de valores da representação de domínio-frequência-tempo carreguem uma informação de sincronização, que está em alinhamento temporal com a sequência de propagação de sincronização. O determinador de sincronização 2540 é também configurado para determinar a sincronização em dependência da medida de probabilidade e para prover uma informação adequada de sincronização 2542. O descodificador de marca d'água 2500 pode ser complementado por qualquer um dos meios e funcionalidades aqui discutidos em relação à decodificação de marca d'água. 2.2 MÉTODO PARA PROVER DADOS DE MENSAGEM BINÁRIOS EM DEPENDÊNCIA DE UM SINAL COM MARCA D'ÁGUA, DE ACORDO COM FIGURA 27
Será descrito seguidamente, um método 2700 para prover mensagem de dados binários em dependência de um sinal com marca d'água, tendo como referência a Fig. 27, que mostra um fluxograma desse método. O método 2 700 compreende uma etapa 2710 de provisão de uma representação de domínio-frequência-tempo do sinal de marca d'água. O método 2700 também compreende a etapa 2720 de encontrar um alinhamento temporal de informação de marca d'água dentro da representação de domínio-frequência-tempo do sinal de marca d'água. A etapa 2720 de encontrar um alinhamento temporal de informação de marca d'água dentro da representação de dominio-frequência-tempo do sinal de marca d'água compreende uma sub-etapa 2722 de computação de uma primeira soma de valores de resultado de uma multiplicação por elemento entre um primeiro subconjunto de valores da representação de domínio-frequência-tempo, valores de uma primeira sequência de não propagação de sincronização e valores de uma sequência de não propagação de bits. A etapa 2720 também compreende uma sub-etapa 2724 de computação de uma segunda soma de valores de resultado de uma multiplicação por elemento entre o segundo subconjunto de valores da representação de domínio-frequência-tempo, valores de uma segunda sequência de não propagação de sincronização e valores da sequência de não propagação de bits. A etapa 272 0 também compreende uma sub-etapa 2 72 6 de soma de valores absolutos da primeira soma de valores de resultado e da segunda soma de valores de resultado, para obter uma medida de probabilidade que representa uma probabilidade de que o primeiro e segundo subconjuntos de valores da representação de domínio-frequência-tempo carreguem uma informação de sincronização, que está em alinhamento temporal com a sequência de propagação de sincronização. A etapa 2720 também compreende uma sub-etapa 2728 de determinação da sincronização dependente da medida de probabilidade. O método 2700 pode ser complementado por qualquer um dos aspectos e funcionalidades aqui descritos em relação à descodificação de marca d' água.
3. DESCRIÇÃO DO SISTEMA
Descreve-se seguidamente, um sistema para uma transmissão de marca d'água, que compreende um dispositivo de inserção de marca d'água e um descodificador de marca d'água. Naturalmente, o dispositivo de inserção de marca d'água e o descodificador de marca d'água podem ser utilizados independentes um do outro.
Para a descrição do sistema, uma abordagem de cima para baixo é aqui escolhida. Primeiro, distingue-se entre codificador e descodif icador. Então, nas seções 3.1 a 3.5, cada bloco de processamento é descrito em detalhes. A estrutura básica do sistema pode ser vista nas Figuras 1 e 2, que retratam o lado do codificador e do descodificador, respectivamente. A Fig. 1 apresenta um diagrama de blocos esquemático de um dispositivo de inserção de marca d'água 100. No lado do codificador, o sinal de marca d'água 101b é gerado no bloco de processamento 101 (também designado como gerador de marca d'água) dos dados binários 101a e com base nas informações 104, 105 trocadas com o módulo de processamento psicoacústico 102. As informações providas do bloco 102 garantem tipicamente que a marca d'água seja inaudível. A marca d'água gerada pelo gerador de marca d'água 101 é, então, adicionada ao sinal de áudio 106. O sinal de marca d'água 107 pode ser, então, transmitido, armazenado ou adicionalmente processado. No caso de um arquivo de multimídia, por exemplo, um arquivo de áudio e vídeo, um prazo adequado, precisa ser adicionado para que o fluxo de vídeo não perca sincronia de áudio e vídeo. No caso de um sinal de áudio de múltiplos canais, cada canal é processado separadamente, conforme explicado nesse documento. Os blocos de processamento 101 (gerador de marca d'água) e 102 (módulo de processamento psicoacústico) são explicados em detalhes nas Seções 3.1 e 3.2, respectivamente. O lado do descodif icador é retratado na Figura 2, que mostra um diagrama de blocos esquemático de um descodificador de marca d'água 200. Um sinal de áudio com marca d'água 200a, por exemplo, gravado por um microfone, torna-se disponível no sistema 200. Um primeiro bloco 203, que também é designado como um módulo de análise, não modula e transforma os dados (por exemplo, o sinal de áudio de marca d'água) em domínio-tempo-frequência (obtendo assim, uma representação de domínio-frequência-tempo 204 do sinal de áudio com marca d'água 200a), passando-o ao módulo de sincronização 201, que analisa o sinal de entrada 204 e realiza uma sincronização temporal, nomeadamente, determina o alinhamento temporal dos dados codificados (por exemplo, dos dados de marca d'água codificados relacionados à representação de domínio-frequência-tempo). Esta informação (por exemplo, a informação de sincronização resultante 205) é dada ao extrator de marca d'água 202, que descodifica os dados (e, consequentemente provê os dados binários 202a, que representam o conteúdo de dados do sinal de áudio de marca d'água 200a). 3.1 O GERADOR DE MARCA D'ÁGUA 101 O gerador de marca d'água 101 é retratado em detalhes na Figura 3. Os dados binários (expressos como ± 1) a serem ocultados no sinal de áudio 106 são dados ao gerador de marca d'água 101. O bloco 301 organiza os dados 101a em pacotes de igual comprimento Mp. Bits elevados são adicionados (por exemplo, apensos) para fins de sinalização a cada pacote. Ms denota o seu número. Seu uso será explicado em detalhes na Seção 3.5. Observe a seguir que, cada pacote de bits de carga útil junto aos bits elevados de sinalização é denotado como mensagem.
Cada mensagem 301a, de comprimento Nm = Ms + Mp, é entregue ao bloco de processamento 302, o codificador de canal, que é responsável pela codificação dos bits para proteção contra erros. Uma realização possível desse módulo consiste num codificador convolucional junto a um intercalador. A proporção do codificador convolucional influencia grandemente o grau geral da proteção contra erros do sistema de criação de marca d'água. O intercalador, por outro lado, traz proteção contra explosões de ruído. A variação da operação do intercalador pode ser limitada a uma mensagem, mas também poderia ser extensa a mais mensagens. Rc denota a proporção de código, por exemplo, 1/4. O número de bits codificados para cada mensagem é Nm/Rc. O codificador de canal provê, por exemplo, uma mensagem binária codificada 302a. O próximo bloco de processamento, 303, realiza uma propagação no domínio de frequência. A fim de alcançar suficiente proporção entre sinal e ruído, as informações (por exemplo, as informações da mensagem binária 302a) são propagadas e transmitidas em Nf sub-bandas cuidadosamente escolhidas. A sua posição exata na frequência é decidida a priori e é conhecida tanto pelo codificador como pelo descodificador. Os detalhes da escolha desse importante parâmetro de sistema são dados na Seção 3.2.2. A propagação na frequência é determinada pela sequência de propagação cf de tamanho Nf X 1. A saída 303a do bloco 303 consiste em Nf fluxos de bits, um para cada sub- banda. 0 fluxo de bits i-th é obtido ao multiplicar o bit de entrada com o componente de i-th da sequência de propagação cf. A propagação mais simples consiste em copiar o fluxo de bit para cada fluxo de saída, nomeadamente utilizar uma sequência de propagação de todos. 0 bloco 304, o qual é também designado como um dispositivo de inserção de esquema de sincronização adiciona um sinal de sincronização ao fluxo de bits. Uma forte sincronização é importante, uma vez que o descodificador não sabe o alinhamento temporal nem dos bits nem da estrutura de dados, isto é, quando começa cada mensagem. O sinal de sincronização consiste em Ns sequências de Nf bits cada. As sequências são multiplicadas por elemento e periodicamente ao fluxo de bits (ou fluxos de bits 303a). Por exemplo, considere que a, b e c são as Ns=3 sequências de sincronização (também designadas como sequências propagadas de sincronização). O bloco 304 multiplica a ao primeiro bit de propagação, b ao segundo bit de propagação e c ao terceiro bit de propagação. Para os bits seguintes, o processo é periodicamente iterado, a saber, a ao quarto bit, b ao quinto bit e assim por diante. Da mesma forma, uma informação de sincronização e informações combinadas 304a é obtida. As sequências de sincronização (também designadas como sequências propagadas de sincronização) são cuidadosamente escolhidas para minimizar o risco de uma sincronização falsa. São dados mais detalhes na Seção 3.4. Também, deve ser observado que uma sequência a, b, c, ... pode ser considerada como uma sequência de sequências propagadas de sincronização. O bloco 305 realiza uma propagação no domínio de tempo. Cada bit de propagação na entrada, a saber, um vetor de comprimento Nf, é repetido em tempo domínio Nt vezes. Semelhantemente à propagação na frequência, definimos uma sequência de propagação ct de tamanho Nt X 1. A repetição temporal i-th é multiplicada com o componente i-th de ct.
As operações dos blocos 302 a 305 podem ser colocadas em termos matemáticos, como se segue. Considere m de tamanho 1 X Nm = Rc uma mensagem codificada, produzida de 302. A saída 303a (que pode ser considerada como uma representação de informações de propagação R) dos blocos 303 é
Ct m de tamanho Rf x Nia/Rc (i) a saída 304a do bloco 304, que pode ser considerada uma representação de sincronização e informações combinadas C, é
(2) onde o denota o produto por elemento de Schur e
(3) A saída 305a de 305 é
(4) onde 0 e T denotam o produto de Kronecker e transposição, respectivamente. Lembre-se que os dados binários são expressos como ± 1. O bloco 306 realiza uma codificação diferencial dos bits. Essa etapa confere ao sistema resistência adicional contra trocas de fase, devido a não correspondências do oscilador local ou de movimento. Mais detalhes sobre isso serão dados na Seção 3.3. Se b(i; j) é o bit para a banda de frequência i-th e o tempo bloco j-th na entrada do bloco 30 6, o bit de saída bdiff(i; j) é
(5)
No início do fluxo, isto é, para j = 0, bdiff(i, j - 1) é ajustado a 1. O bloco 307 realiza a modulação real, isto é, a geração a forma de onda do sinal de marca d'água, dependendo das informações binárias 3 60a dadas na sua entrada. Um esquema mais detalhado é dado na Figura 4. Nf entradas paralelas, 401 a 40Nf contêm os fluxos de bits para diferentes sub-bandas. Cada bit de cada fluxo de sub-banda é processado por um bloco de formação de bit (411 a 41Nf) . A saída dos blocos de formação de bit são formas de onda no domínio de tempo. A forma de onda gerada para o tempo bloco j-th e sub-banda i-th, denotada por si;: (t) , com base no bit de entrada bdlff(i, j), é computada como segue
(6) onde y(i; j) é um fator de ponderação provido pela unidade de processamento psico-acústico 102, Tb é o intervalo de tempo de bit, e gd(t) é a função de formação de bit para a sub-banda i-th. A função de formação de bit é obtida a partir de uma função de banda de base -Ji ^ modulada em frequência com um cosseno
(7) onde fi é a frequência central da sub-banda i-th e o expoente T significa o transmissor. As funções de banda de base podem ser diferentes para cada sub-banda. Se escolhidas idênticas, uma implementação mais eficiente no descodificador é possível. Vide Seção 3.3 para mais detalhes. A formação de bit para cada bit é repetida num processo interativo controlado pelo módulo de processamento psico-acústico (102). As interações são necessárias para ajustar precisamente as ponderações γ(i, j), para atribuir o máximo de energia possível à marca d'água, enquanto a mantém inaudível. Mais detalhes são dados na Seção 3.2. A forma de onda completa na saída i-th do filtro de formação de bit 41i é
(8) A função de banda de base de formação de bit g,i ^ normalmente não é zero para um intervalo de tempo muito maior que Tb, embora a energia principal seja concentrada dentro do intervalo de bits. Pode ser visto um exemplo na Figura 12a, onde a mesma função de banda de base de formação de bit é delineada para dois bits adjacentes. Na figura, temos Tb = 40ms. A escolha de Tb assim como a forma da função, afetam o sistema consideravelmente. Na verdade, símbolos mais longos provêm respostas de frequência mais estreitas. Isso é particularmente benéfico em ambientes reverberantes. Na verdade, nesses cenários, o sinal de marca d'água atinge o microfone por meio de diversas vias de propagação, cada uma caracterizada, por um tempo de propagação diferente. 0 canal resultante apresenta forte seletividade de frequência. Interpretados no domínio de tempo, símbolos mais longos são benéficos como ecos com um atraso comparável à interferência construtiva de produção de intervalo de bit, o que significa que eles aumentam a energia do sinal recebido. Contudo, símbolos mais longos também trazem algumas desvantagens; sobreposições maiores poderiam levar à interferência inter-símbolo (ISI) e são, com certeza, mais difíceis de ocultar no sinal de áudio, de modo que o módulo de processamento psico-acústico permitiria menos energia que para símbolos mais curtos. 0 sinal de marca d'água é obtido ao somar todas as saídas dos filtros de formação de bit
(9) 3.2 0 MÓDULO DE PROCESSAMENTO PSICOACÚSTICO 102
Conforme retratado na Figura 5, o módulo de processamento psico-acústico 102 consiste em 3 partes. A primeira etapa é um módulo de análise 501 que transforma o sinal de áudio de tempo em domínio de tempo/frequência. Esse módulo de análise pode realizar análises paralelas em diferentes resoluções de tempo/frequência. Após o módulo de análise, os dados de tempo/frequência são transferidos ao modelo psico-acústico (PAM) 502, no qual os limites de mascaramento para o sinal de marca d'água são calculados, de acordo com as considerações psico-acústicas (vide E. Zwicker H.Fasti, "Psychoacoustics Facts and models"). Os limites de mascaramento indicam a quantidade de energia que pode ser oculta no sinal de áudio para cada sub-banda e bloco de tempo. 0 último bloco no módulo de processamento psico-acústico 102 retrata o módulo de cálculo de amplitude 503. Esse módulo determina os ganhos de amplitude a serem utilizados na geração do sinal de marca d'água, de modo que os limites de mascaramento sejam satisfeitos, isto é, a energia embutida é menor ou igual à energia definida pelos limites de mascaramento. 3.2.1 A ANÁLISE DE TEMPO/FREQUÊNCIA 501 O bloco 501 realiza a transformação de tempo/frequência do sinal de áudio por meio de uma transformação retificada. A melhor qualidade de áudio pode ser alcançada quando forem realizadas múltiplas resoluções de tempo/frequência. Uma realização eficiente de uma transformação retificada é a transformação curto espaço de tempo Fourier (STFT), que tem base nas transformações rápidas Fourier (FFT) dos blocos de tempo janelados. O comprimento da janela determina a resolução de tempo/frequência, de modo que janelas maiores produzam resoluções de tempo menor e de frequência maior, e vice-versa para janelas mais curtas. A forma da janela, por outro lado, entre outras coisas, determina a perda de frequência.
Para o sistema proposto, alcançamos uma marca d'água inaudível ao analisar os dados com as duas resoluções diferentes. Um primeiro banco de filtros é caracterizado por um tamanho de hop de Tb, isto é, o comprimento do bit. O tamanho de hop é o intervalo de tempo entre dois blocos de tempo adjacentes. O comprimento da janela é de aproximadamente Tb. Observe que a forma da janela não deve ser a mesma que a utilizada para a formação de bit e, em geral, deve modelar o sistema auditivo humano. Diversas publicações estudam esse problema. O segundo banco de filtros aplica uma janela mais curta. A maior resolução temporal alcançada é particularmente importante ao embutir uma marca d'água na linguagem, uma vez que a sua estrutura temporal é, em geral, mais fina que Tb. A taxa de amostragem do sinal de áudio de entrada não é importante, contanto que seja grande o suficiente para descrever um sinal de marca d'água sem aliasing. Por exemplo, se o componente de frequência mais amplo contido no sinal de marca d'água for 6kHz, então, a taxa de amostragem dos sinais de tempo deve ser de pelo menos 12 kHz. 3.2.2 0 MODELO PSICOACÚSTICO 502 O modelo psico-acústico 502 tem a tarefa de determinar os limites de mascaramento, isto é, a quantidade de energia que pode ser oculta no sinal de áudio para cada sub-banda e bloco de tempo, mantendo o sinal de áudio com marca d'água indistinguível do original. í(mM) A sub-banda i-th é definida entre dois limites, a saber, h e í(max) . As sub-bandas são determinadas ao definir Nf frequências centrais jlntCKK) ___ ^(min) fi e deixando '* Ί para i = 2, 3, . . ., Nf. Uma escolha adequada para as frequências centrais é dada pela escala de Bark proposta por Zwicker, em 1961. As sub-bandas tornam-se maiores para frequências centrais maiores. Uma implementação possível do sistema utiliza 9 sub-bandas que variam de 1,5 a 6 kHz, dispostas de maneira adequada.
As etapas de processamento a seguir são realizadas separadamente para cada resolução de tempo/frequência para cada sub-banda e cada bloco de tempo. A etapa de processamento 801 realiza uma suavização espectral. Na verdade, os elementos de tom, assim como entalhes no espectro de energia precisam ser suavizados. Isso pode ser realizado de diversas maneiras. Uma medida de tonalidade pode ser computada e, então, utilizada para acionar um filtro de suavização adaptável. De maneira alternativa, em uma implementação mais simples desse bloco, um filtro tipo médio pode ser utilizado. O filtro médio considera um vetor de valores e produz seu valor médio. Em um filtro tipo médio, o valor correspondente a uma quantidade diferente de 50% pode ser escolhida. A amplitude do filtro é definida em Hz e é aplicada como uma média de movimento não linear que começa nas frequências inferiores e termina na mais alta frequência possível. A operação de 801 é ilustrada na Figura 7. A curva vermelha é a saída da suavização.
Uma vez a suavização realizada, os limites são computados pelo bloco 802, considerando somente o mascaramento de frequência. Também, nesse caso, há possibilidades diferentes. Uma maneira é utilizar o mínimo para cada sub-banda computar a energia de mascaramento Ei. Isto é, a energia equivalente do sinal que opera de maneira eficiente um mascaramento. A partir deste valor, podemos simplesmente multiplicar um determinado fator de escalonamento para obter a energia mascarada Ji. Esses fatores são diferentes para cada sub-banda e resolução de tempo/frequência e são obtidos por meio de experimentos psico-acústicos empíricos. Essas etapas são ilustradas na Figura 8.
No bloco 805, é considerado o mascaramento temporal. Nesse caso, diferentes blocos de tempo para a mesma sub-banda são analisados. As energias mascaradas J± são modificadas, de acordo com um perfil de pós-mascaramento empiricamente derivado. Consideremos dois blocos de tempo adjacentes, a saber, k-1 e k. As energias mascaradas correspondentes são Ji(k-l) e Ji(k) . 0 perfil de pós-mascaramento define que, por exemplo, a energia de mascaramento Eb pode mascarar uma energia Ji no momento k e α · Ji no momento k+1. Nesse caso, o bloco 805 compara Ji(k) (a energia mascarada pelo bloco de tempo atual) e a*Ji(k+l) (a energia mascarada pelo bloco de tempo anterior) e escolhe o máximo. Os perfis de pós-mascaramento estão disponíveis na literatura e foram obtidos por meio de experimentos psico-acústicos empíricos. Observe que para Tb amplo, isto é, > 20 ms, é aplicado o pós-mascaramento somente à resolução de tempo/frequência com janelas de tempo menores.
Resumindo, na saída do bloco 805, temos os limites de mascaramento para cada sub-banda e bloco de tempo obtidos para duas resoluções de tempo/frequência diferentes. Os limites foram obtidos ao considerar ambos os fenómenos de mascaramento de frequência e de tempo. No bloco 806, os limites para diferentes resoluções de tempo/frequência são misturados. Por exemplo, uma possível implementação é que 806 considera todos os limites correspondentes aos intervalos de tempo e frequência, nos quais está alocado um bit, e escolhe o mínimo. 3.2.3 0 BLOCO DE CÁLCULO DE AMPLITUDE 503
Favor referir-se à Figura 9. A entrada de 503 são os limites 505 do modelo psico-acústico 502, onde são realizados todos os cálculos motivados psico-acústicos. No calculador de amplitude 503, são realizadas computações adicionais com os limites. Primeiro, ocorre um mapeamento de amplitude 901. Esse bloco meramente converte os limites de mascaramento (normalmente expressos como energias) em amplitudes que podem ser utilizadas para escalar a função de formação de bit definida na Seção 3.1. Após isso, o bloco de adaptação de amplitude 902 é executado. Esse bloco adapta iterativamente as amplitudes y(i, j ) que são utilizadas para multiplicar as funções de formação de bit no gerador de marca d'água 101, de modo que os limites de mascaramento sejam, de fato, atendidos. Na verdade, conforme já discutido, a função de formação de bit estende-se normalmente para um intervalo de tempo maior que Tb. Portanto, multiplicando a amplitude correta y(i, j) que atende ao limite de mascaramento no ponto i, j não atende necessariamente às exigências no ponto i, j-1. Isso é particularmente crucial em inícios fortes, uma vez que um pré-eco se torna audível. Outra situação que precisa ser evitada é uma sobreposição despropositada das extremidades de diferentes bits que poderiam levar a uma marca d'água audível. Portanto, o bloco 902 analisa o sinal gerado pelo gerador de marca d'água, para verificar se os limites foram atendidos. Se não, modifica-se as amplitudes y(i, j) de acordo.
Isso conclui o lado do codificador. As seções a seguir tratam das etapas de processamento realizadas no receptor (também designado como descodificador de marca d'água). 3.3 O MÓDULO DE ANÁLISE 203 O módulo de análise 203 é a primeira etapa (ou bloco) do processo de extração de marca d'água. O seu objetivo é transformar o sinal de áudio com marca d'água 200a de volta em Nf fluxos de bits ^ij) (também designados com 204), um para cada sub-banda espectral i. Elas são ainda processadas pelo módulo de sincronização 201 e pelo extrator de marca d'água 202, conforme discutido nas Seções 3.4 e 3.5, respectivamente. Observe que são fluxos de bits flexíveis, isto é, eles podem, por exemplo, ter qualquer valor real e ainda não ser feita a decisão rígida no bit.
Esse módulo de análise consiste em três partes que são retratadas na Figura 16: O banco de filtros de análise 1600, o bloco de normalização de amplitude 1604 e a descodificação diferencial 1608. 3.3.1 BANCO DE FILTROS DE ANÁLISE 1600 O sinal de áudio com marca d'água é transformado em domínio de tempo-frequência pelo banco de filtros de análise 1600, que é apresentado em detalhes na Figura 10a. A entrada do banco de filtros é o sinal de áudio recebido de marca d'água r(t) . A sua saída são os
h AFB { A coeficientes complexos 'J> para a i-th ramificação ou sub-banda no momento j. Estes valores contêm informações sobre a amplitude e a fase do sinal na frequência central fx e momento j-Tb. O banco de filtros 1600 consiste em Nf ramificações, uma para cada sub-banda espectral i. Cada ramificação se divide em uma sub-ramificação superior para o componente na fase e uma sub-ramificação inferior para o componente de quadratura da sub-banda i. Apesar da modulação no gerador de marca d'água e, assim, o sinal de áudio com marca d'água serem avaliados puramente reais, a análise avaliada complexa do sinal no receptor é necessária, pois as rotações da constelação de modulações introduzidas pelo canal e pelos desalinhamentos de sincronização não são conhecidas no receptor. A seguir, consideramos a ramificação i-th do banco de filtros. Ao combinar a sub-ramificação, fase e quadratura, podemos definir o sinal íbFB(t) de banda de base complexo avaliado como *-**'·*. (10| onde ^ indica a convolução e ^ ^ é a resposta de impulso do filtro (~fc ") de baixa passagem do receptor da sub-banda 1. Geralmente, ? 1 (t) e igual à função de formação de bit de banda de base 9í ^ da sub-banda i no modulador 307, a fim de atender à condição de filtro correspondida, mas outras respostas de impulso são também possíveis.
Com o fim de obter os coeficientes * com a taxa l=Tb, a saída continua * w deve ser experimentada. Se a cronometragem correta dos bits for conhecida pelo receptor, a amostragem com taxa l=Tb seria suficiente. Entretanto, como a sincronização de bits ainda não é conhecida, a amostragem é realizada com a taxa Nos/Tb, onde Nos é o fator de sobreamostragem do banco de filtros de análise. Ao escolher Nos suficientemente amplo (por exemplo, Nos = 4), podemos garantir que pelo menos um ciclo de amostragem está perto o suficiente da sincronização ideal de bits. A decisão sobre a melhor camada de sobreamostragem é tomada durante o processo de sincronização, assim, todos os dados sobreamostrados são mantidos até lá. Esse processo é descrito na Seção 3.4.
Na saída da ramificação i-th, temos os coeficientes btFB0’k\r onde j indica o número de bit ou o momento e k indica a posição de sobreamostragem dentro desse único bit, onde k = 1; 2; ...., Nos. A Figura 10b dá uma visão geral exemplar da localização dos coeficientes no plano tempo-frequência. O fator de sobreamostragem é Nos =2. A altura e amplitude dos retângulos indicam respectivamente a amplitude de banda e o intervalo de tempo da parte do sinal que é representada pelo coeficiente correspondente B(?D.
Se as frequências de sub-banda fb forem escolhidas como múltiplos de um determinado intervalo Af, o banco de filtros de análise pode ser implementado de maneira eficiente utilizando a Transformação Rápida de Fourier (FFT). 3.3.2 NORMALIZAÇÃO DE AMPLITUDE 1604
Sem perda dos aspetos gerais e para simplificar a descrição, presumimos, a seguir, que a sincronização de bits é conhecida e que Nos 5 a f ^ ('/j = 1. Isto e, temos coeficientes complexos * K J na entrada do bloco de normalização 1604. Como não estão disponíveis informações de estado no canal no receptor (isto é, o canal de propagação é desconhecido), um esquema de combinação de ganho igual (EGC) é utilizado. Devido ao canal dispersivo de tempo e frequência, a energia do bit enviado bi(j) não é somente encontrada ao redor da frequência central f± e momento de tempo j, mas também em frequências e momentos adjacentes. Portanto, para uma ponderação mais precisa, são calculados coeficientes adicionais nas frequências £ ±n e utilizadas para normalização do coeficiente ^iVFB(·?) . Se n = 1, tem, por exemplo, yd/3 (ΐ&Α™ϋ)ΐ2 + ι&^ωΐ2 + !CLB,d)ia) A normalização para n > 1 é uma extensão direta da fórmula acima. Na mesma maneira, também podemos escolher normalizar os bits flexíveis, ao considerar mais de um momento. A normalização é realizada para cada sub-banda i e cada momento j. A combinação real da EGC é feita nas últimas etapas do processo de extração. 3.3.3 DECODIFICAÇÃO DIFERENCIAL 1608
Na saída do bloco de descodificação diferencial 1608, temos os coeficientes complexos normalizados de amplitude ' K·’’ que contêm informações sobre a fase dos componentes de sinal na frequência fi e momento j . Como os bits são diferencialmente codificados no transmissor, a operação inversa deve ser aqui realizada. Os bits flexíveis kzC/)1 sg0 obtidos, primeiro, ao calcular a diferença na fase de dois coeficientes consecutivos e, então, obter a parte real: Â(v) = Re{&rrmO) · fllortn'ϋ - O (2) = Re{|6-lorm(j)! · |òform(j - 1)| · e^-^}
Isso tem de ser realizado separadamente para cada sub-banda, pois o canal introduz normalmente rotações de fases diferentes em cada sub-banda . 3.40 MÓDULO DE SINCRONIZAÇÃO 201 A tarefa do módulo de sincronização é encontrar o alinhamento temporal da marca d'água. 0 problema de sincronização do descodificador aos dados codificados é duplo. Em uma primeira etapa, o banco de filtros de análise deve ser alinhado aos dados codificados, a saber, as funções de formação de bit utilizadas na síntese no modulador devem ser alinhadas aos filtros Λ v ' utilizados para análise. Esse problema é ilustrado na Figura 12a, onde os filtros de análise são idênticos aos de síntese. Na parte superior, são visíveis três bits. Para simplificar, as formas de onda para todos os três bits não são escaladas. A compensação temporal entre diferentes bits é Tb. A parte inferior ilustra a questão de sincronização no descodificador: o filtro pode ser aplicado em diferentes momentos; entretanto, somente a posição marcada em vermelho (curva 1299a) é correta e permite extrair o primeiro bit com a melhor proporção entre sinal e ruído SNR e proporção entre sinal e interferência SIR. Na verdade, um alinhamento incorreto levaria a uma degradação tanto da SNR como da SIR. Referimo-nos a essa primeira questão de alinhamento como "sincronização de bits". Uma vez que a sincronização de bits foi alcançada, os bits podem ser extraídos de maneira ideal. Entretanto, para descodificar corretamente uma mensagem, é necessário saber em que bit começa uma nova mensagem. Essa questão é ilustrada na Figura 12b e é mencionada como sincronização de mensagem. No fluxo de bits descodificados, somente a posição inicial marcada em vermelho (posição 1299b) é correta e permite descodificar a mensagem k-th.
Primeiro, trataremos somente da sincronização de mensagem. A assinatura de sincronização, conforme explicado na Seção 3.1, é composta de sequências Ns numa ordem predeterminada, que são incorporadas contínua e periodicamente na marca d'água. 0 módulo de sincronização é capaz de recuperar o alinhamento temporal das sequências de sincronização. Dependendo do tamanho Ns, podemos distinguir entre dois modos de operação, que são retratados na Figura 12c e 12d, respectivamente.
No modo de sincronização de mensagem completa (Figura 12c), temos Ns = Nm/Rc. Para simplificar, presumimos na figura, Ns = Nm/Rc = 6 e sem propagação de tempo, isto é, Nt = 1. A assinatura de sincronização utilizada, para fins de ilustração, é apresentada abaixo das mensagens. Na realidade, elas são moduladas dependendo dos bits codificados e das sequências de propagação de frequência, conforme explicado na Seção 3.1. Nesse modo, a periodicidade da assinatura de sincronização é idêntica ao das mensagens. 0 módulo de sincronização pode, portanto, identificar o inicio de cada mensagem, ao encontrar o alinhamento temporal da assinatura de sincronização. Referimo-nos às posições temporais nas quais uma nova assinatura de sincronização começa conforme os batimentos de sincronização. Os batimentos de sincronização são então passados ao extrator de marca d'água 202. O segundo modo possível, o modo de sincronização de mensagem parcial (Fig. 12d), é retratado na Figura 12d. Nesse caso, temos Ns< Nm=Rc. Na figura, consideramos Ns = 3, de modo que as três sequências de sincronização sejam repetidas duas vezes para cada mensagem. Por favor notar, que a periodicidade das mensagens não tem de ser o múltiplo da periodicidade da assinatura de sincronização. Nesse modo de operação, nem todos os batimentos de sincronização correspondem ao início de uma mensagem. O módulo de sincronização não tem meios para distinguir entre batimentos e esta tarefa é dada ao extrator de marca d'água 202.
Os blocos de processamento do módulo de sincronização são retratados nas Figuras 11a e 11b. O módulo de sincronização realiza a sincronização de bits e a sincronização de mensagens (completa ou parcial) de uma vez, ao analisar a saída do dispositivo de correlação de assinatura de sincronização 1201. Os dados em domínio tempo/frequência 204 são providos pelo módulo de análise. Como a sincronização de bits ainda não está disponível, o bloco 203 sobreamostra os dados com o fator Nos, conforme descrito na Seção 3.3. Uma ilustração dos dados de entrada é dada na Figura 12e. Para este exemplo, consideramos Nos =4, Nt = 2 e Ns = 3. Por outras palavras, a sincronização de assinatura consiste em 3 sequências (denotadas com a, b e c). A propagação de tempo, neste caso, com a sequência de propagação ct = [1 1]T, simplesmente repete cada bit duas vezes no domínio de tempo. Os batimentos de sincronização exatos são denotados com setas e correspondem ao início de cada sincronização de assinatura. 0 período da assinatura de sincronização é Nt · Nos · Ns = Nsbi que é 2 · 4 · 3 = 24, por exemplo. Devido à periodicidade da sincronização de assinatura, o dispositivo de correlação sincronização de assinatura (1201) divide de maneira arbitrária o eixo de tempo em blocos, chamados blocos de busca, de tamanho Nsbi, cujo índice representa a extensão do bloco de busca. Cada bloco de busca deve conter (ou contém tipicamente) um batimento de sincronização, conforme retratado na Figura 12f. Cada um dos bits Nsbl é um candidato batimento de sincronização. A tarefa do bloco 1201 é computar uma medida de probabilidade para cada bit candidato de cada bloco. Essas informações são então, passadas ao bloco 1204 que computa os batimentos de sincronização. 3.4.1 O DISPOSITIVO DE CORRELAÇÃO DE ASSINATURA DE SINCRONIZAÇÃO 1201
Para cada uma das Nsbl posições pretendentes de sincronização, o dispositivo de correlação de sincronização de assinatura computa uma medida de probabilidade, esta última maior e mais provável, do que o alinhamento temporal (tanto o bit como a sincronização de mensagem completa ou parcial) foi encontrado. As etapas de processamento são retratadas na Figura 12g.
Da mesma forma, uma sequência 1201a dos valores de probabilidade, associados a diferentes escolhas posicionais, pode ser obtida. O bloco 1301 realiza a não propagação temporal, isto é, multiplica cada Nt bits com a sequência de propagação temporal ct e, então, os soma. Isto é realizado para cada uma das Nf sub-bandas de frequência. A Figura 13a apresenta um exemplo. Consideramos os mesmos parâmetros que os descritos na seção anterior, a saber, Nos =4, Nt = 2 e Ns = 3. A posição de sincronização candidata é marcada. A partir daquele bit, com compensação de Nos, Nt · Ns são obtidos pelo bloco 1301 e não propagados no tempo com a sequência ct, de modo que Ns bits sejam deixados.
No bloco 1302, os bits são multiplicados por elemento com as Ns sequências de propagação (vide Figura 13b).
No bloco 1303, a não propagação de frequência é realizada, a saber, cada bit é multiplicado com a sequência de propagação cf e, então, somado à frequência.
Nesse ponto, se as posições de sincronização estiverem corretas, teríamos Ns bits descodificados. Como os bits não são conhecidos no receptor, o bloco 1304 computa a medida de probabilidade ao considerar valores absolutos dos Ns valores e somas. A saída do bloco 1304 é, a princípio, um dispositivo de correlação não coerente que visa a sincronização de assinatura. Na verdade, ao escolher um Ns pequeno, a saber, o modo de sincronização de mensagem parcial, é possível utilizar sequências de sincronização (por exemplo, a, b, c) que são mutuamente ortogonais. Ao fazer isso, quando o dispositivo de correlação não estiver corretamente alinhado com a assinatura, a sua saída será muito pequena, idealmente, zero. Ao utilizar o modo de sincronização de mensagem completo, aconselha-se utilizar o maior número de sequências de sincronização ortogonais possíveis e, então, criar uma assinatura ao escolher cuidadosamente a ordem na qual elas são utilizadas. Nesse caso, a mesma teoria pode ser aplicada quando se busca sequências de propagação com boas funções de auto-correlação. Quando o dispositivo de correlação estiver somente discretamente desalinhado, então, a saída do dispositivo de correlação não será zero, mesmo no caso ideal, mas de qualquer forma, será menor comparado ao perfeito alinhamento, uma vez que os filtros de análise não podem capturar a energia de sinal de maneira ideal. 3.4.2 COMPUTAÇÃO DE BATIDAS DE SINCRONIZAÇÃO 1204
Este bloco analisa a saída do dispositivo de correlação de sincronização de assinatura para decidir onde estão as posições de sincronização. Uma vez que o sistema é bastante resistente contra desalinhamentos de até Tb/4 e Tb é normalmente considerado cerca de 40 ms, é possível integrar a saída de 1201 ao longo do tempo para alcançar uma sincronização mais estável. Uma possível implementação disto é dada por um filtro IIR aplicado ao longo do tempo com uma resposta de impulso de decadência exponencial. De modo alternativo, um filtro de movimentação médio FIR tradicional pode ser aplicado. Uma vez que a medição foi realizada, uma segunda correlação ao longo de diferentes Nt*Ns é realizada ("escolha posicionai diferente"). Na verdade, queremos explorar a informação de que a função de auto-correlação da função de sincronização é conhecida. Isto corresponde a um avaliador de Probabilidade Máxima. A ideia é apresentada na Figura 13c. A curva apresenta a salda do bloco 1201 após a integração temporal. Uma possibilidade de determinar o batimento de sincronização é simplesmente encontrar o máximo dessa função. Na Figura 13d, vemos a mesma função (em preto) filtrada com a função de auto-correlação da assinatura de sincronização. A função resultante é traçada a vermelho. Neste caso, o máximo é mais pronunciado e nos dá a posição do batimento de sincronização. Os dois métodos são bastante semelhantes para alta SNR, mas o segundo método se desempenha muito melhor em regimes inferiores de SNR. Uma vez que os batimentos de sincronização foram encontrados, eles são passados ao extrator de marca d'água 202 que descodifica os dados.
Em algumas realizações, a fim de obter um sinal de sincronização resistente, é realizada a sincronização no modo de sincronização de mensagem parcial com a sincronização curta de assinaturas. Por este motivo, muitas descodificações têm de ser feitas, aumentando o risco de detecções de falsas mensagens positivas. Para evitar isso, nalgumas realizações, podem como consequência, ser inseridas sequências de sinalização com uma taxa de bits menor.
Esta abordagem é uma solução ao problema que surge de uma sincronização de assinatura mais curta que a mensagem, que já é tratada no assunto sobre a sincronização acima realçado. Neste caso, o descodificador não sabe onde uma nova mensagem começa e tenta descodificar em diversos pontos de sincronização. Para distinguir entre mensagens legitimas e falsamente positivas, em algumas realizações, uma sinalização de palavra é utilizada (isto é, a carga útil é sacrificada para incorporar uma sequência de controle conhecida). Em algumas realizações, uma verificação de plausibilidade é utilizada (de modo alternativo ou adicional) para distinguir entre as mensagens legitimas e falsamente positivas. 3.50 EXTRATOR DE MARCA D'ÁGUA 202
As partes que constituem o extrator de marca d'água 202 são retratadas na Figura 14. Este tem duas entradas, a saber, 204 e 205 dos blocos 203 e 201, respectivamente. O módulo de sincronização 201 (vide Seção 3.4) provê marcas temporais de sincronização, isto é, as posições no domínio de tempo nas quais começa uma mensagem pretendida. Mais detalhes sobre esse assunto são dados na Seção 3.4. O bloco de banco de filtros de análise 203, por outro lado, provê os dados no domínio tempo/frequência prontos para serem descodificados. A primeira etapa de processamento, o bloco de seleção de dados 1501, seleciona da entrada 204 a parte identificada como uma mensagem candidata a ser descodificada. A figura 15b apresenta graficamente este procedimento. A entrada 204 consiste em Nf fluxos de valores reais. Uma vez que o alinhamento de tempo não é a priori conhecido no descodificador, o bloco de análise 203 realiza uma análise de frequência com uma taxa maior que 1/Tb Hz (sobreamostragem) . Na Figura 15b, utilizamos um fator de sobreamostragem de 4, a saber, 4 vetores de tamanho Nf X 1 são produzidos a cada Tb segundos. Quando o bloco de sincronização 201 identifica uma mensagem pretendida, ele liberta uma marcação temporal 205 que indica o ponto de início de uma mensagem pretendida. O bloco de seleção 1501 seleciona as informações necessárias para a descodificação, a saber, uma matriz de tamanho Nf X Nm/Rc. Essa matriz 1501a é dada ao bloco 1502 para processamento adicional.
Os blocos 1502, 1503 e 1504 realizam as mesmas operações que os blocos 1301, 1302 e 1303 explicadas na Seção 3.4.
Uma realização alternativa da invenção consiste em evitar as computações feitas em 1502-1504, ao deixar que o módulo de sincronização liberte também os dados a serem descodificados. Conceitualmente, isso é um detalhe. A partir do ponto de vista de implementação, é somente um assunto de como os armazenamentos são realizados. Em geral, refazer as computações nos permite ter armazenamentos menores. 0 descodificador de canal 1505 realiza a operação inversa do bloco 302. Se o codificador de canal, em uma realização possível desse módulo, consistiu num codificador convolucional junto a um intercalador, então, o descodificador de canal realizaria a não intercalação e a decodificação convolucional, por exemplo, com o algoritmo bem conhecido de Viterbi. Na saída desse bloco, temos Nm bits, isto é, uma mensagem candidata. O bloco 1506, bloco de sinalização e plausibilidade, decide se a mensagem candidata de entrada é de fato uma mensagem ou não. Para fazer isto, diferentes estratégias são possíveis. A ideia básica é utilizar uma palavra de sinalização (como uma sequência CRC) para distinguir entre mensagens reais e falsas. Entretanto, isso reduz o número de batimentos disponíveis como carga útil. De modo alternativo, podemos utilizar verificações de plausibilidade. Se as mensagens, por exemplo, conterem uma marcação de tempo, as mensagens consecutivas devem ter marcações de tempo consecutivas. Se uma mensagem descodificada possui uma marcação de tempo que não é a ordem correta, podemos descartá-la.
Quando uma mensagem for corretamente detectada, o sistema pode escolher aplicar os mecanismos de antecipação e/ou recordação. Presumimos que foram alcançadas as sincronizações de bit e de mensagem. Presumindo que o usuário não está zapeando, o sistema "antecipa" no tempo e tenta descodificar as mensagens anteriores (se não já descodificadas) utilizando o mesmo ponto de sincronização (abordagem de recordação). Isto é particularmente útil quando o sistema inicia. Para além disso, em condições ruins, poder-se-ia considerar duas mensagens para alcançar a sincronização. Nesse caso, a primeira mensagem não tem oportunidade. Com a opção de antecipação, podemos salvar mensagens "boas" que não foram recebidas somente devido à má sincronização. A antecipação é a mesma, mas funciona no futuro. Se temos uma mensagem, agora sabemos onde a próxima mensagem deve estar e podemos tentar descodificá-la de qualquer maneira.
3.6. DETALHES DE SINCRONIZAÇÃO
Para a codificação de uma carga útil, por exemplo, pode ser utilizado um algoritmo Viterbi. A Figura 18a é uma representação gráfica de uma carga útil 1810, uma sequência de encerramento Viterbi 1820, uma carga útil codificada Viterbi 1830 e uma versão codificada por repetição 1840 da carga útil codificada Viterbi. Por exemplo, a extensão da carga útil pode ser de 34 bits e a sequência de encerramento Viterbi pode compreender 6 bits. Se, por exemplo, uma taxa de código Viterbi de 1/7 puder ser utilizada, a carga útil codificada por Viterbi pode compreender (34+6)*7=280 bits. Ainda, ao utilizar uma codificação de repetição de 1/2, a versão codificada por repetição 1840 da carga útil codificada por Viterbi 1830 pode compreender 280*2=560 bits. Nesse exemplo, considerando um intervalo de tempo de bits de 42,66 ms, o comprimento da mensagem seria 23,9 s. O sinal pode ser incorporado com, por exemplo, 9 subportadores (por exemplo, colocados de acordo com as bandas importantes) de 1,5 a 6 kHz, conforme indicado pelo espectro de frequência apresentado na Figura 18b. De modo alternativo, também, outro número de subportadores (por exemplo, 4, 6, 12, 15 ou um número entre 2 e 20) dentro de uma variação de frequência entre 0 e 20 kHz pode ser utilizado. A Figura 19 apresenta uma ilustração esquemática do conceito básico 1900 para a sincronização, também denominado sincronização ABC. Apresenta-se uma ilustração esquemática de mensagens não codificadas 1910, uma mensagem codificada 1920 e uma sequência de sincronização (sequência de sinc.) 1930, assim como a aplicação da sincronização a diversas mensagens 1920, uma após a outra. A sequência de sincronização ou sequência de sinc. mencionada em conexão à explicação deste conceito de sincronização (apresentado nas Figuras 19 a 23) pode ser igual à assinatura de sincronização mencionada anteriormente.
Ainda, a Figura 20 apresenta uma ilustração esquemática da sincronização encontrada ao correlacionar com a sequência de sinc. Se a sequência de sincronização 1930 for menor que a mensagem, mais que um ponto de sincronização 1940 (ou bloco de tempo de alinhamento) pode ser encontrado dentro de uma única mensagem. No exemplo apresentado na Figura 20, quatro pontos de sincronização são encontrados dentro de cada mensagem. Portanto, para cada sincronização encontrada, um descodificador Viterbi (uma sequência de descodificação Viterbi) pode ser iniciado. Desta maneira, para cada ponto de sincronização 1940, uma mensagem 2110 pode ser obtida, conforme indicado na Figura 21.
Com base nessas mensagens, as mensagens reais 2210 podem ser identificadas por meio de uma sequência CRC (sequência de verificação de redundância cíclica) e/ou uma verificação de plausibilidade, conforme apresentado na Figura 22. A detecção CRC (detecção de verificação de redundância cíclica) pode utilizar uma sequência conhecida para identificar as mensagens reais das positivamente falsas. A Figura 23 apresenta um exemplo para uma sequência CRC adicionada no final de uma carga útil. A probabilidade de positivamente falso (uma mensagem gerada com base em um ponto de sincronização errado) pode depender do comprimento da sequência CRC e do número de descodificadores Viterbi (número de pontos de sincronização dentro de uma única mensagem) iniciados. Para aumentar o comprimento da carga útil sem aumentar a probabilidade de positivamente falso, uma plausibilidade pode ser explorada (teste de plausibilidade) ou o comprimento da sequência de sincronização (assinatura de sincronização) pode ser aumentado.
4. CONCEITOS E VANTAGENS
Serão seguidamente descritos, alguns aspectos do sistema acima discutidos, que são considerados inovadores. Também será discutida, a relação destes aspectos e os das tecnologias da técnica anterior.
4.1 SINCRONIZAÇÃO CONTÍNUA
Algumas realizações permitem uma sincronização contínua. O sinal de sincronização, que denotamos como assinatura de sincronização, está incorporado continuamente e em paralelo aos dados por meio de multiplicação com sequências (também designadas como sequências propagadas de sincronização) conhecidas tanto no lado da transmissão como no da recepção.
Alguns sistemas convencionais utilizam símbolos especiais (diferentes dos utilizados para os dados), enquanto algumas realizações, de acordo com a invenção, não utilizam esses símbolos especiais. Outros métodos clássicos consistem em incorporar uma sequência conhecida de bits (preâmbulo) multiplexada em tempo com os dados ou incorporar um sinal multiplexado em frequência com os dados.
Entretanto, descobriu-se que a utilização de sub-bandas dedicadas para sincronização não é desejada, uma vez que o canal poderia ter entalhes nessas frequências, tornando a sincronização não confiável. Comparado aos outros métodos, nos quais um preâmbulo ou um símbolo especial é multiplexado em tempo com os dados, o método aqui descrito é mais vantajoso, uma vez que o método aqui descrito permite rastrear continuamente alterações na sincronização (devido, por exemplo, ao movimento).
Além disso, a energia do sinal de marca d'água é inalterada (por exemplo, pela introdução multiplicativa da marca d'água na representação de informações de propagação) e a sincronização pode ser designada independente do modelo psico-acústico e taxa de dados. A extensão no tempo da sincronização de assinatura, que determina a resistência da sincronização, pode ser designada, à vontade, completamente independente da taxa de dados.
Outro método clássico consiste em incorporar com os dados uma sequência de sincronização multiplexada em código. Quando comparado a este método clássico, a vantagem do método aqui descrita é que a energia dos dados não representa um fator de interferência na computação da correlação, trazendo mais resistência. Além disso, ao utilizar a multiplexagem em código, o número de sequências ortogonais disponíveis para a sincronização é reduzido ao máximo necessário para os dados.
Para resumir, a abordagem de sincronização continua aqui descrita traz consigo um número amplo de vantagens sobre os conceitos convencionais.
Entretanto, em algumas realizações, de acordo com a invenção, um conceito de sincronização diferente pode ser aplicado.
4.2. PROPAGAÇÃO 2D
Algumas realizações do sistema proposto realizam propagação tanto no domínio de tempo como no de frequência, isto é, uma propagação bidimensional (abreviadamente designada como propagação 2D) . Descobriu-se que isso é vantajoso relativamente aos sistemas 1D, uma vez que o erro de bits pode ser ainda reduzido ao adicionar redundância, por exemplo, no domínio de tempo.
Entretanto, em algumas realizações, de acordo com a invenção, um conceito de propagação diferente pode ser aplicado.
4.3. CODIFICAÇÃO DIFERENCIAL E DECODIFICAÇÃO DIFERENCIAL
Em algumas realizações, de acordo com a invenção, uma maior resistência contra a não correspondência de movimento e frequência dos osciladores locais (quando comparados aos sistemas convencionais) é produzida pela modulação diferencial. Descobriu-se que, na verdade, o efeito Doppler (movimento) e as não correspondências de frequência levam a uma rotação da constelação de BPSK (em outras palavras, uma rotação no plano complexo dos bits). Em algumas realizações, os efeitos prejudiciais dessa rotação da constelação de BPSK (ou qualquer outra constelação de modulação adequada) são evitados ao utilizar uma codificação diferencial ou descodificação diferencial.
Entretanto, em algumas realizações, de acordo com a invenção, um conceito de codificação ou conceito de descodificação diferente pode ser aplicado. Também, em alguns casos, a codificação diferencial pode ser omitida.
4.4. FORMAÇÃO DE BITS
Em algumas realizações, de acordo com a invenção, a formação de bits traz consigo uma melhoria significativa do desempenho do sistema, pois a confiabilidade da detecção pode ser aumentada utilizando um filtro adaptado à formação de bits.
De acordo com algumas realizações, o uso da formação de bits em relação à criação de marca d'água traz consigo confiabilidade aprimorada do processo de criação de marca d'água. Descobriu-se que resultados particularmente bons podem ser obtidos se a função de formação de bits for maior que o intervalo de bits.
Entretanto, nalgumas realizações, de acordo com a invenção, um conceito de formação de bits diferente pode ser aplicado. Também, em alguns casos, a formação de bits pode ser omitida. 4.5. SÍNTESE INTERATIVA ENTRE 0 MODELO PSICOACÚSTICO (PAM) E BANCO DE FILTROS (FB)
Em algumas realizações, o modelo psico-acústico interage com o modulador para ajustar precisamente as amplitudes que multiplicam os bits.
Entretanto, em algumas outras realizações, essa interação pode ser omitida.
4.6. ASPECTOS DE ANTECIPAÇÃO E RECORDAÇÃO
Em algumas realizações, as assim chamadas abordagens de "Antecipação" e de "Recordação" são aplicadas. A seguir, esses conceitos serão brevemente resumidos. Quando uma mensagem é corretamente descodificada, presume-se que a sincronização foi alcançada. Presumindo que o usuário não está zapeando, nalgumas realizações, uma antecipação no tempo é realizada e se tenta descodificar as mensagens anteriores (se já não descodificadas), utilizando o mesmo ponto de sincronização (abordagem de recordação). Isso é particularmente útil quando o sistema inicia.
Em más condições, poder-se-ia considerar duas mensagens para alcançar a sincronização. Nesse caso, a primeira mensagem não tem chance nos sistemas convencionais. Com a opção de recordação, que é utilizada em algumas realizações da invenção, é possível salvar (ou descodificar) mensagens "boas" que não foram recebidas somente devido à sincronização de volta. A antecipação é a mesma, mas funciona no futuro. Se tivermos uma mensagem, sabemos onde a próxima mensagem deve estar e podemos tentar descodificá-la de qualquer modo. Da mesma forma, as mensagens de sobreposição podem ser descodificadas.
Entretanto, em algumas realizações, de acordo com a invenção, o aspecto de antecipação e/ou o aspecto de recordação podem ser omitidos.
4.7. RESISTÊNCIA DE SINCRONIZAÇÃO AUMENTADA
Em algumas realizações, a fim de obter um sinal forte de sincronização, a sincronização é realizada no modo de sincronização de mensagem parcial com sincronização de assinaturas curtas. Por esse motivo, muitas descodificações têm de ser feitas, aumentando o risco de detecções de mensagens falsamente positivas. Para evitar isso, em algumas realizações, podem como consequência ser inseridas sequências da sinalização nas mensagens com uma taxa de bits menor.
Entretanto, em algumas realizações, de acordo com a invenção, um conceito diferente para melhorar a resistência da sincronização pode ser aplicado. Também, em alguns casos, o uso de quaisquer conceitos para aumentar a resistência da sincronização pode ser omitido.
4.8. OUTRAS MELHORIAS A seguir, algumas outras melhorias gerais do sistema descrito acima em relação à técnica anterior serão apresentadas e discutidas: 1. complexidade computacional menor 2. melhor qualidade de áudio devido ao melhor modelo psico-acústico 3. mais resistência em ambientes reverberantes devido aos sinais multi-carregadores de banda estreita 4. uma estimativa de SNR é evitada em algumas realizações. Isso permite melhor resistência, especialmente, em regimes de SNR baixos.
Algumas realizações, de acordo com a invenção, são melhores que os sistemas convencionais, que utilizam amplitudes de banda muito estreitas, por exemplo, de 8 Hz devido aos seguintes motivos: 1. amplitudes de banda de 8 Hz (ou uma amplitude de banda muito estreita semelhante) requerem símbolos de tempo muito longos porque o modelo psico-acústico permite muito pouca energia para o tornar inaudível; 2. 8 Hz (ou uma amplitude de banda muito estreita semelhante) torna-se sensível em relação a espectros de Doppler que variam no tempo. Da mesma forma, esse sistema de banda estreita não é tipicamente bom o suficiente se, por exemplo, implementado num relógio.
Algumas realizações, de acordo com a invenção, são melhores que outras tecnologias devido aos seguintes motivos: 1. Técnicas que inserem um eco falham completamente em ambientes reverberantes. Ao contrário, em algumas realizações da invenção, a introdução de um eco é evitada. 2. Técnicas que utilizam somente propagação de tempo têm maior duração de mensagem em comparação às realizações do sistema descrito acima, no qual é, por exemplo, utilizada uma propagação bidimensional, tanto em tempo como em frequência.
Algumas realizações, de acordo com a invenção, são melhores que o sistema descrito no documento DE 196 40 814, pois uma ou mais das seguintes desvantagens do sistema de acordo com o dito documento são superadas:
• a complexidade no descodificador, de acordo com o documento DE 196 40 814 é muito alta, um filtro de comprimento 2N com N = 128 é utilizado • o sistema, de acordo com o documento DE 196 40 814, compreende uma duração de mensagem longa • no sistema, de acordo com o documento DE 196 40 814, a propagação somente no domínio de tempo com ganho de propagação relativamente alto (por exemplo, 128) • no sistema, de acordo com o documento DE 196 40 814, o sinal é gerado no domínio de tempo, transformado ao domínio espectral, ponderado, transformado de volta ao domínio de tempo e sobreposto ao áudio, o que torna o sistema muito complexo.
5. APLICAÇÕES A invenção compreende um método para modificar um sinal de áudio, a fim de ocultar dados digitais e um descodificador correspondente capaz de recuperar essas informações, enquanto a qualidade percebida do sinal de áudio modificado permanece indistinguível à do original.
Exemplos de aplicações possíveis da invenção são dados a seguir: 1. Monitoramento de transmissão: uma informação contendo marca d'água, por exemplo, sobre a estação e tempo é oculta no sinal de áudio de programas de rádio ou de televisão. Os descodificadores, incorporados em dispositivos pequenos utilizados por sujeitos de teste, são capazes de recuperar a marca d'água e, assim, coletar informações valiosas para agências de propaganda, a saber, quem assistiu ao programa e quando. 2. Auditoria: uma marca d'água pode ser oculta, por exemplo, em propagandas. Ao monitorar automaticamente as transmissões de uma determinada estação, então, é possível saber quando exatamente a propaganda foi transmitida. De maneira semelhante, é possível recuperar informações estatísticas sobre os cronogramas de programação de diferentes rádios, por exemplo, com que frequência uma determinada banda musical é tocada etc. 3. Incorporação de meta dados: o método proposto pode ser utilizado para ocultar informações digitais sobre a banda de música ou programa, por exemplo, o nome e o autor da banda ou a duração do programa etc.
6. ALTERNATIVAS DE IMPLEMENTAÇÃO
Embora alguns aspectos tenham sido descritos no contexto de um equipamento, é claro que esses aspectos também representam uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método ou um aspecto de uma etapa do método. De modo análogo, os aspectos descritos no contexto de uma etapa de método também representam uma descrição de um bloco ou item ou aspecto correspondente de um equipamento correspondente. Algumas ou todas as etapas do método podem ser executadas por (ou utilizando) um equipamento de hardware, como, por exemplo, um microprocessador, um computador programável ou um circuito eletrónico. Em algumas realizações, alguma ou mais das etapas do método mais importantes podem ser executadas por esse equipamento. 0 sinal de marca d'água codificado da invenção ou um sinal de áudio no qual o sinal de marca d'água está incorporado pode ser armazenado num meio de armazenamento digital ou pode ser transmitido num meio de transmissão, como meio de transmissão sem fio ou um meio de transmissão por cabo, como a Internet.
Dependendo de determinadas necessidades de implementação, as realizações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada utilizando um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, uma ROM, uma PROM, uma EPROM, uma EEPROM, ou uma memória FLASH, que têm sinais de controle legíveis nele eletronicamente armazenados, que cooperam (ou são capazes de cooperar) com um sistema de computador programável, de modo que o respectivo método seja realizado. Portanto, o meio de armazenamento digital pode ser legível por computador.
Algumas realizações, de acordo com a invenção, compreendem um carregador de dados que tem sinais de controle legíveis eletronicamente, que são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos aqui descritos seja realizado.
De modo geral, as realizações da presente invenção podem ser implementadas como um produto de programa de computador com um código de programa, o código de programa sendo operado para realizar um dos métodos quando o produto de programa de computador executar num computador. 0 código de programa pode, por exemplo, ser armazenado num carregador de máquina legível.
Outras realizações compreendem o programa de computador para realizar um dos métodos aqui descritos, armazenado num carregador de máquina legível.
Por outras palavras, uma realização do método da invenção é, portanto, um programa de computador tendo um código de programa para realizar um dos métodos aqui descritos quando o programa de computador executar num computador.
Uma realização adicional dos métodos da invenção é, portanto, um carregador de dados (ou um meio de armazenamento digital ou um meio legível por computador) compreendendo, o programa de computador nele gravado para realizar um dos métodos aqui descritos.
Uma realização adicional do método da invenção é, portanto, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para realizar um dos métodos aqui descritos. 0 fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido por meio de uma conexão de comunicação de dados, por exemplo, por meio da Internet.
Uma realização adicional compreende meios de processamento, por exemplo, um computador ou um dispositivo de lógica programável, configurados ou adaptados para realizar um dos métodos aqui descritos.
Uma realização adicional compreende um computador tendo instalado em si o programa de computador para realizar um dos métodos aqui descritos.
Em algumas realizações, um dispositivo de lógica programável (por exemplo, uma matriz de porta de campo programável) pode ser utilizado para realizar alguma ou todas as funcionalidades dos métodos aqui descritos. Em algumas realizações, uma matriz de porta de campo programável pode cooperar com um microprocessador, a fim de realizar um dos métodos aqui descritos. De modo geral, os métodos são preferivelmente realizados por qualquer equipamento de hardware.
As realizações descritas acima são meramente ilustrativas para os princípios da presente invenção. Entende-se que modificações e variações das disposições e detalhes aqui descritos serão aparentes aos peritos na arte. 0 âmbito da presente invenção é definido pelas reivindicações anexas.
Lisboa, 10 de Março de 2015.

Claims (18)

  1. REIVINDICAÇÕES 1. Gerador de marca d'água (101;2400) para prover um sinal de marca d'água (101b, Si(t); 2420) em dependência de mensagem de dados binários (101a, m; 2410), sendo o gerador de marca d'água caracterizado por compreender: um propagador de informações (303; 2430) configurado para propagar uma unidade de informações de mensagem de dados binários para uma pluralidade de valores de dominio-frequência-tempo, para obter uma representação de informações propagadas (303a, ο£·ιη; 2432); um dispositivo de inserção de sincronização configurado para combinar multiplicativamente a representação de informações propagadas (303a, Cf'm; 2432) com uma sequência propagada de sincronização (S; a, b, c; 2442) para obter uma representação combinada de informações e sincronização (304a, So Cf*m; 2444); e um difusor de sinal de marca d'água (305, 306, 307; 2450) configurado para prover o sinal de marca d'água (101b, Sf(t); 2420) com base na representação combinada de informações e sincronização (304a, So cf *m; 2 4 4 4) ; em que o propagador de informações é configurado para seletivamente propagar um determinado bit numa primeira representação de bits, que é um múltiplo positivo de uma sequência propagada de bits (cf), ou numa segunda representação de bits, que é um múltiplo negativo da sequência propagada de bits (cf) , em dependência do valor de um determinado bit; em que o propagador de informações é configurado para obter a representação de informações propagadas R de acordo com R=cf · m, em que cf é um vetor de tamanho Nfxl que representa uma sequência propagada de bits de largura de propagação de frequência Nf, em que m é um vetor de tamanho lxNmc que representa Nmc bits dos dados de mensagem binários, em que os valores binários dos bits são representados por entradas do vetor m tendo um sinal diferente; em que o dispositivo de inserção de sincronização é configurado para combinar as informações propagadas com uma sequência de sincronização S de acordo com C=S°R, para obter a representação combinada de informações e sincronização C, em que S designa uma matriz de tamanho NfxNmc que representa uma sequência de Nmc sequências propagadas de sincronização (a, b, c); e em que ° designa um produto de elemento de Schur.
  2. 2. Gerador de marca d'água, de acordo com a reivindicação 1, caracterizado por o propagador de informações ser configurado para propagar uma frequência de um bit de mensagem de dados binários de acordo com a sequência propagada de bits (a, b, c) , de modo que, na representação de informações propagadas, um conjunto de valores de dominio-frequência-tempo associado a uma pluralidade de diferentes frequências seja associado ao bit; e em que a sequência de sincronização compreende uma pluralidade de sequências propagadas de sincronização (a, b, c), as sequências propagadas de sincronização definem uma pluralidade de padrões de sincronização propagados na frequência.
  3. 3. Gerador de marca d'água, de acordo com a reivindicação 2, caracterizado por o dispositivo de inserção de sincronização ser configurado para combinar multiplicativamente diferentes partes de tempo da representação de informações propagadas, sendo que as diferentes partes de tempo representam diferentes bits de mensagem de dados binários, com diferentes sequências propagadas de sincronização (a, b, c) , de modo que as diferentes sequências propagadas de sincronização sejam combinadas com diferentes sequências propagadas de bits ou com versões diferentemente escaladas de uma determinada sequência propagada de bits.
  4. 4. Gerador de marca d'água, de acordo com a reivindicação 2 ou com a reivindicação 3, caracterizado por o dispositivo de inserção de sincronização ser configurado para combinar multiplicativamente a representação de informações propagadas com uma sequência periódica (S) de sequências propagadas de sincronização (a, b, c, a, b, c); e em que uma periodicidade da sequência de sequências propagadas de sincronização é igual a um número de bits de uma mensagem binária, ou em que uma periodicidade da sequência de sequências propagadas de sincronização é menor que o número de bits da mensagem binária.
  5. 5. Gerador de marca d'água, de acordo com uma das reivindicações 2 a 4, caracterizado por se optar para que as sequências propagadas de sincronização (a, b, c) sejam ortogonais entre si.
  6. 6. Gerador de marca d'água, de acordo com uma das reivindicações 1 a 5, caracterizado por o dispositivo de inserção de sincronização ser configurado para combinar multiplicativamente cada parte de tempo da representação de informações propagadas com pelo menos uma sequência propagada de sincronização (a, b, c) , de modo que cada parte de tempo da representação combinada de informação e sincronização compreenda uma pluralidade de valores que são dependentes de um bit de mensagem de dados binários e que também represente uma informação de sincronização.
  7. 7. Gerador de marca d'água, de acordo com uma das reivindicações 1 a 6, caracterizado por o propagador de informações ser configurado para propagar a unidade de informações dos dados de mensagem binários numa primeira direção de propagação, e em que o gerador de marca d'água é configurado para propagar unidades de informação da representação combinada de informações e sincronização em uma segunda direção de propagação.
  8. 8. Gerador de marca d'água, de acordo com uma das reivindicações 1 a 7, caracterizado por o dispositivo de inserção de sincronização ser configurado para combinar multiplicativamente a representação de informações propagadas com a sequência propagada de sincronização por elemento, para obter a representação combinada de informação-sincronização.
  9. 9. Descodificador de marca d'água (200; 2500) para prover mensagem de dados binários (202a, m; 2520) em dependência de um sinal com marca d'água (200a, r(t); 2510), sendo o descodificador de marca d'água caracterizado por compreender: um difusor de representação de dominio-frequência-tempo (203; 2530) configurado para prover uma representação de dominio-frequência-tempo (204; 2532) do sinal com marca d'água; e um determinador de sincronização (201; 2540) configurado para encontrar um alinhamento temporal de informações de marca d'água dentro da representação de dominio-frequência-tempo do sinal com marca d'água, em que o determinador de sincronização é configurado para computar uma primeira soma de valores de resultado de uma multiplicação por elemento entre um primeiro subconjunto (1301aa) de valores da representação de dominio-frequência-tempo, valores de uma primeira sequência de não propagação de sincronização (a) e valores de uma sequência de não propagação de bits (cf) , e para computar uma segunda soma de valores de resultado de uma multiplicação por elemento entre um segundo subconjunto (1301ab) de valores da representação de dominio-frequência-tempo, valores de uma segunda sequência de não propagação de sincronização (b) e valores da sequência de não propagação de bits (cf) , e em que o determinador de sincronização é configurado para somar valores absolutos da primeira soma (1303aa) de valores de resultado e da segunda soma (1303ab) de valores de resultado, para obter uma medida de probabilidade que representa uma probabilidade de que o primeiro e segundo subconjuntos de valores da representação de dominio-frequência-tempo carreguem uma informação de sincronização, que está em alinhamento temporal com as sequências propagadas de sincronização; e em que o determinador de sincronização é configurado para determinar a sincronização em dependência da medida de probabilidade.
  10. 10. Descodificador de marca d'água, de acordo com a reivindicação 9, caracterizado por o primeiro subconjunto de valores da representação de dominio-frequência-tempo compreende valores da representação de domínio-frequência-tempo associados a uma primeira parte de tempo da representação de domínio-frequência-tempo, e em que o sequndo subconjunto de valores da representação de domínio-frequência-tempo compreende valores da representação de domínio-frequência-tempo associados a uma segunda parte de tempo da representação de domínio-frequência-tempo, e em que a primeira sequência de não propagação de sincronização (a) e a segunda sequência de não propagação de sincronização (b) são ortogonais.
  11. 11. Descodificador de marca d'água, de acordo com a reivindicação 9 ou com a reivindicação 10, caracterizado por o determinador de sincronização ser configurado para receber, como a representação de domínio-frequência-tempo, uma informação de bit rígida ou uma /v informação de bit flexível (fo.(j))', e em que o determinador de sincronização é configurado para aplicar a primeira sequência de não propagação de sincronização (a) ao primeiro subconjunto de valores, para reverter uma primeira operação de incorporação de sincronização, para aplicar a segunda sequência de não propagação de sincronização (b) ao segundo subconjunto de valores, para reverter a operação de incorporação de sincronização, e para aplicar a sequência de não propagação de bits (cf) para reverter a operação de propagação de bits.
  12. 12. Descodificador de marca d'água, de acordo com uma das reivindicações 9 a 11, caracterizado por o determinador de sincronização ser configurado para computar medidas de probabilidade para uma pluralidade de escolhas de posição do primeiro e segundo subconjuntos com referência à representação de domínio de frequência e tempo, para obter uma sequência de medidas de probabilidade associada a diferentes escolhas posicionadas do primeiro e segundo subconjuntos; e em que o determinador de sincronização é configurado para correlacionar a sequência de medidas de probabilidade com uma sequência de referência, para determinar uma batida de sincronização, ou para filtrar a sequência de medidas de probabilidade com um filtro combinado, adaptado para uma sequência de valores de probabilidade esperada para determinar uma batida de sincronização.
  13. 13. Descodificador de marca d'água, de acordo com uma das reivindicações 9 a 12, caracterizado por o determinador de sincronização ser configurado para realizar uma não propagação temporal para obter a representação de dominio-frequência-tempo.
  14. 14. Descodificador de marca d'água, de acordo com uma das reivindicações 9 a 13, caracterizado por o determinador de sincronização ser configurado para descodificar uma mensagem utilizando uma pluralidade de pontos de sincronização candidatos, e em que o determinador de sincronização é configurado para avaliar se uma sinalização de palavra esperada está presente nos dados descodificados para selecionar um ponto de sincronização correto de entre a pluralidade de pontos de sincronização candidatos.
  15. 15. Descodificador de marca d'água, de acordo com uma das reivindicações 9 a 13, caracterizado por o determinador de sincronização ser configurado para descodificar uma mensagem utilizando uma pluralidade de pontos de sincronização candidatos, e em que o determinador de sincronização é configurado para realizar uma verificação de plausibilidade para selecionar um ponto de sincronização correto de entre a pluralidade de pontos de sincronização candidatos.
  16. 16. Método para prover um sinal de marca d'água em dependência de mensagem de dados binários, sendo o método caracterizado por compreender: propagação de uma unidade de informação de mensagem de dados binários para uma pluralidade de valores de dominio-frequência-tempo, para obter uma representação de informações propagadas; combinação multiplicativa da representação de informações propagadas com uma sequência propagada de sincronização (a, b, c) para obter uma representação combinada de informações e sincronização; e provisão do sinal de marca d'água com base na representação combinada de informações e sincronização; em que um determinado bit é seletivamente propagado numa primeira representação de bits, que é um múltiplo positivo de uma sequência propagada de bits (cf) , ou e uma segunda representação de bits, que é um múltiplo negativo da sequência propagada de bits (cf) , em dependência do valor do determinado bit; em que a representação de informações propagadas R é obtida de acordo com R=cf · m, em que cf é um vetor de tamanho Nfxl que representa uma sequência propagada de bits de largura de propagação de frequência Nf, em que m é um vetor de tamanho lxNmc que representa Nmc bits de mensagem de dados binários, em que os valores binários dos bits são representados por entradas do vetor m tendo um sinal diferente; em que a informação propagada é combinada com uma sequência de sincronização S de acordo com C=S°R, para obter a representação combinada de informações e sincronização C, em que S designa uma matriz de tamanho NfxNmc que representa uma sequência de Nmc sequências propagadas de sincronização (a, b, c); e em que ° designa um produto de elemento de Schur.
  17. 17. Método para prover mensagem de dados binários em dependência de um sinal com marca d'água, sendo o método caracterizado por compreender: provisão de uma representação de domínio-frequência-tempo do sinal com marca d'água; e encontro de um alinhamento temporal de informação de marca d'água dentro da representação de domínio-frequência-tempo do sinal com marca d'água, em que o encontro do alinhamento temporal das informações de marca d'água compreende: computação de uma primeira soma de valores de resultado de uma multiplicação por elemento entre um primeiro subconjunto de valores da representação de domínio-frequência-tempo, valores de uma primeira sequência de não propagação de sincronização (a) e valores de uma sequência de não propagação de bits (cf) ; computação de uma segunda soma de valores de resultado de uma multiplicação por elemento entre o segundo subconjunto de valores da representação de domínio-frequência-tempo, valores de uma segunda sequência de não propagação de sincronização (b) e valores da sequência de não propagação de bits (cf) ; soma dos valores absolutos da primeira soma de valores de resultado e da segunda soma de valores de resultado, para obter uma medida de probabilidade que representa a probabilidade de que o primeiro e segundo subconjuntos de valores da representação de domínio-frequência-tempo carreguem uma informação de sincronização, que está em alinhamento temporal com a sequência de propagação de sincronização (a, b, c); e determinação da sincronização dependente da medida de probabilidade.
  18. 18. Programa de computador adaptado para realizar o método, de acordo com a reivindicação 16 ou reivindicação 17, caracterizado por o programa de computador ser executado num computador. Lisboa, 10 de Março de 2015.
PT117058784T 2010-02-26 2011-02-25 Gerador de marca d¿água, descodificador de marca d¿água, método para prover um sinal de marca d¿água, método para prover dados de mensagem binários em dependência de um sinal com marca d¿água e um programa de computador que utiliza o conceito de sincronização aperfeiçoada PT2526548E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP10154953A EP2362384A1 (en) 2010-02-26 2010-02-26 Watermark generator, watermark decoder, method for providing a watermark signal, method for providing binary message data in dependence on a watermarked signal and a computer program using improved synchronization concept

Publications (1)

Publication Number Publication Date
PT2526548E true PT2526548E (pt) 2015-03-24

Family

ID=42309727

Family Applications (1)

Application Number Title Priority Date Filing Date
PT117058784T PT2526548E (pt) 2010-02-26 2011-02-25 Gerador de marca d¿água, descodificador de marca d¿água, método para prover um sinal de marca d¿água, método para prover dados de mensagem binários em dependência de um sinal com marca d¿água e um programa de computador que utiliza o conceito de sincronização aperfeiçoada

Country Status (20)

Country Link
US (1) US8726031B2 (pt)
EP (2) EP2362384A1 (pt)
JP (1) JP5665887B2 (pt)
KR (1) KR101419164B1 (pt)
CN (1) CN102884571B (pt)
AU (1) AU2011219699B2 (pt)
CA (1) CA2790981C (pt)
DK (1) DK2526548T3 (pt)
ES (1) ES2531067T3 (pt)
HK (1) HK1178670A1 (pt)
HR (1) HRP20150267T1 (pt)
MX (1) MX2012009860A (pt)
MY (1) MY168670A (pt)
PL (1) PL2526548T3 (pt)
PT (1) PT2526548E (pt)
RS (1) RS53892B1 (pt)
RU (1) RU2614855C2 (pt)
SG (1) SG183458A1 (pt)
WO (1) WO2011104365A1 (pt)
ZA (1) ZA201207153B (pt)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2362387A1 (en) * 2010-02-26 2011-08-31 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Watermark generator, watermark decoder, method for providing a watermark signal in dependence on binary message data, method for providing binary message data in dependence on a watermarked signal and computer program using a differential encoding
EP2565667A1 (en) 2011-08-31 2013-03-06 Friedrich-Alexander-Universität Erlangen-Nürnberg Direction of arrival estimation using watermarked audio signals and microphone arrays
US9137542B2 (en) 2013-07-23 2015-09-15 3M Innovative Properties Company Audio encoding of control signals for displays
US9575352B2 (en) 2013-07-23 2017-02-21 3M Innovative Properties Company Addressable switchable transparent display
US9620133B2 (en) * 2013-12-04 2017-04-11 Vixs Systems Inc. Watermark insertion in frequency domain for audio encoding/decoding/transcoding
WO2016049936A1 (en) * 2014-09-30 2016-04-07 Bgi Shenzhen Co., Limited Biomarkers for rheumatoid arthritis and usage therof
CN104361890A (zh) * 2014-11-10 2015-02-18 江苏梦之音科技有限公司 一种广播音频水印的嵌入与识别方法
US10339623B2 (en) 2017-08-11 2019-07-02 Harris Corporation Phase rotation watermarking for phase modulation
US10708612B1 (en) 2018-12-21 2020-07-07 The Nielsen Company (Us), Llc Apparatus and methods for watermarking using starting phase modulation
US10785086B1 (en) 2019-07-10 2020-09-22 Eagle Technology, Llc Detection of phase rotation modulation
RU2746708C1 (ru) * 2020-07-29 2021-04-19 Закрытое акционерное общество "Перспективный мониторинг" Способ и устройство ввода водяного знака в аудиосигнал
TWI790682B (zh) 2021-07-13 2023-01-21 宏碁股份有限公司 聲音浮水印的處理方法及語音通訊系統

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2681997A1 (fr) * 1991-09-30 1993-04-02 Arbitron Cy Procede et dispositif d'identification automatique d'un programme comportant un signal sonore.
DE69333661T2 (de) 1992-11-16 2006-02-23 Arbitron Inc. Verfahren und vorrichtung zur kodierung/dekodierung von gesendeten oder aufgezeichneten ausschnitten und überwachung der zuhörerreaktion darauf
US7316025B1 (en) 1992-11-16 2008-01-01 Arbitron Inc. Method and apparatus for encoding/decoding broadcast or recorded segments and monitoring audience exposure thereto
US5450490A (en) 1994-03-31 1995-09-12 The Arbitron Company Apparatus and methods for including codes in audio signals and decoding
PL187110B1 (pl) 1994-03-31 2004-05-31 Arbitron Co Sposób włączania kodu, zawierającego wiele składowych częstotliwości, do sygnału dźwiękowego
DE19640814C2 (de) 1996-03-07 1998-07-23 Fraunhofer Ges Forschung Codierverfahren zur Einbringung eines nicht hörbaren Datensignals in ein Audiosignal und Verfahren zum Decodieren eines nicht hörbar in einem Audiosignal enthaltenen Datensignals
ATE184140T1 (de) 1996-03-07 1999-09-15 Fraunhofer Ges Forschung Codierverfahren zur einbringung eines nicht hörbaren datensignals in ein audiosignal, decodierverfahren, codierer und decodierer
US6154468A (en) * 1996-10-24 2000-11-28 Philips Electronics North America Corporation Fast sync-byte search scheme for packet framing
US8457346B2 (en) * 2001-04-24 2013-06-04 Digimarc Corporation Digital watermarking image signals on-chip
EP1729285A1 (en) * 2005-06-02 2006-12-06 Deutsche Thomson-Brandt Gmbh Method and apparatus for watermarking an audio or video signal with watermark data using a spread spectrum
EP1898396A1 (en) * 2006-09-07 2008-03-12 Deutsche Thomson-Brandt Gmbh Method and apparatus for encoding/decoding symbols carrying payload data for watermarking of an audio or video signal
DE102008014311A1 (de) 2008-03-14 2009-09-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Einbetter zum Einbetten eines Wasserzeichens in eine Informationsdarstellung, Detektor zum Detektieren eines Wasserzeichens in einer Informationsdarstellung, Verfahren, Computerprogramm und Informationssignal
JP5338170B2 (ja) * 2008-07-18 2013-11-13 ヤマハ株式会社 電子透かし情報の埋め込みおよび抽出を行う装置、方法およびプログラム

Also Published As

Publication number Publication date
MX2012009860A (es) 2012-09-12
CA2790981A1 (en) 2011-09-01
AU2011219699B2 (en) 2014-08-14
AU2011219699A1 (en) 2012-10-04
CN102884571B (zh) 2014-12-10
CN102884571A (zh) 2013-01-16
KR101419164B1 (ko) 2014-07-11
MY168670A (en) 2018-11-29
KR20120128147A (ko) 2012-11-26
JP2013527933A (ja) 2013-07-04
EP2526548B1 (en) 2014-12-10
SG183458A1 (en) 2012-09-27
HRP20150267T1 (hr) 2015-05-08
HK1178670A1 (en) 2013-09-13
ZA201207153B (en) 2013-05-29
ES2531067T3 (es) 2015-03-10
RU2012140778A (ru) 2014-04-10
US8726031B2 (en) 2014-05-13
DK2526548T3 (en) 2015-03-09
WO2011104365A1 (en) 2011-09-01
CA2790981C (en) 2016-04-26
JP5665887B2 (ja) 2015-02-04
RU2614855C2 (ru) 2017-03-29
PL2526548T3 (pl) 2015-05-29
EP2526548A1 (en) 2012-11-28
EP2362384A1 (en) 2011-08-31
US20130232340A1 (en) 2013-09-05
RS53892B1 (en) 2015-08-31

Similar Documents

Publication Publication Date Title
PT2526548E (pt) Gerador de marca d¿água, descodificador de marca d¿água, método para prover um sinal de marca d¿água, método para prover dados de mensagem binários em dependência de um sinal com marca d¿água e um programa de computador que utiliza o conceito de sincronização aperfeiçoada
EP2539891B1 (en) Watermark signal provider and method for providing a watermark signal
CA2791046C (en) Watermark signal provision and watermark embedding
RU2586844C2 (ru) Генератор водяного знака, декодер водяного знака, способ генерации сигнала водяного знака на основе данных двоичного сообщения, способ формирования данных двоичного сообщения на основе сигнала с водяным знаком и компьютерная программа с использованием дифференциального кодирования
RU2666647C2 (ru) Генератор водяного знака, декодер водяного знака, способ генерации сигнала водяного знака на основе данных двоичного сообщения, способ формирования данных двоичного сообщения на основе сигнала с водяным знаком и компьютерная программа с использованием двухмерного расширения битов
EP2524373B1 (en) Watermark decoder and method for providing binary message data