KR20120112884A - 바이너리 메시지 데이터를 제공하는 워터마크 디코더 및 방법 - Google Patents

바이너리 메시지 데이터를 제공하는 워터마크 디코더 및 방법 Download PDF

Info

Publication number
KR20120112884A
KR20120112884A KR1020127024979A KR20127024979A KR20120112884A KR 20120112884 A KR20120112884 A KR 20120112884A KR 1020127024979 A KR1020127024979 A KR 1020127024979A KR 20127024979 A KR20127024979 A KR 20127024979A KR 20120112884 A KR20120112884 A KR 20120112884A
Authority
KR
South Korea
Prior art keywords
time
frequency domain
synchronization
watermarked signal
domain representation
Prior art date
Application number
KR1020127024979A
Other languages
English (en)
Other versions
KR101411657B1 (ko
Inventor
스테판 바브니크
요르그 피켈
베르트 그리벤보쉬
베른하르트 그릴
에른스트 에벨라인
갈도 지오바니 델
스테판 크라에겔오흐
라인하르트 지트츠만
토비아스 브리엠
마르코 브라이링그
율리안 보르숨
Original Assignee
프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
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 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. filed Critical 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베.
Publication of KR20120112884A publication Critical patent/KR20120112884A/ko
Application granted granted Critical
Publication of KR101411657B1 publication Critical patent/KR101411657B1/ko

Links

Images

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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

워터마크 디코더는 시간 주파수 도메인 표현 제공자, 메모리 유닛, 동기화 결정기 및 워터마크 추출기를 포함한다. 시간 주파수 도메인 표현 제공자는 다수의 시간 블록에 대한 워터마킹된 신호의 주파수 도메인 표현을 제공한다. 메모리 유닛은 다수의 시간 블록에 대한 워터마킹된 신호의 주파수 도메인 표현을 저장한다. 더욱이, 동기화 결정기는 다수의 시간 블록의 워터마킹된 신호의 주파수 도메인 표현에 기초하여 정렬 시간 블록을 식별한다. 워터마크 추출기는 식별된 정렬 시간 블록에 대한 거리를 고려하여 식별된 정렬 시간 블록에 시간적으로 선행하는 시간 블록의 워터마킹된 신호의 저장된 주파수 도메인 표현에 기초하여 바이너리 메시지 데이터를 제공한다.

Description

바이너리 메시지 데이터를 제공하는 워터마크 디코더 및 방법{WATERMARK DECODER AND METHOD FOR PROVIDING BINARY MESSAGE DATA}
본 발명에 따른 실시예는 오디오 워터마킹(watermarking) 시스템에 관한 것으로서, 특히 바이너리(binary) 메시지 데이터를 제공하는 워터마크 디코더 및 바이너리 메시지 데이터를 제공하는 방법에 관한 것이다.
많은 기술적 응용에서, 예를 들어, 오디오 신호, 비디오 신호, 그래픽, 측정 수량 등과 같은 유용한 데이터 또는 "주요 데이터"를 나타내는 정보 또는 신호에 추가(extra) 정보를 포함하는 것이 바람직하다. 많은 경우에, 이러한 추가 정보는 상기 데이터의 사용자에 의해 인지할 수 없는 식으로 주요 데이터(예를 들어, 오디오 데이터, 비디오 데이터, 정지 이미지 데이터, 측정 데이터, 텍스트 데이터 등)에 묶이도록 추가 정보를 포함하는 것이 바람직하다. 또한, 어떤 경우에, 추가 데이터는 주요 데이터(예를 들어, 오디오 데이터, 비디오 데이터, 정지 이미지 데이터, 측정 데이터 등)에서 쉽게 제거할 수 없도록 추가 데이터를 포함하는 것이 바람직하다.
이것은 특히 디지털 저작권 관리를 구현하는 것이 바람직하다는 응용에서 사실이다. 그러나, 때때로 간단하게, 유용한 데이터에 실질적으로 인지할 수 없는 보조(side) 정보를 추가하는 것이 바람직하다. 예를 들면, 어떤 경우에, 보조 정보가 오디오 데이터의 소스, 오디오 데이터의 콘텐츠, 오디오 데이터에 관련된 권리 등에 관한 정보를 제공하도록 오디오 데이터에 보조 정보를 추가하는 것이 바람직하다.
유용한 데이터 또는 "주요 데이터"에 추가 데이터를 삽입하기 위해, "워터마킹"이라 부르는 개념이 사용될 수 있다. 워터마킹 개념은 오디오 데이터, 정지 이미지 데이터, 비디오 데이터, 텍스트 데이터 등의 많은 서로 다른 종류에 대한 문헌에서 논의되었다.
다음에는, 워터마킹 개념이 논의된 몇몇 참조 문헌이 제공될 것이다. 그러나, 독자의 관심은 또한 추가적 상세 사항에 대해 워터마킹에 관계된 텍스트북 문헌 및 출판물의 다양한 분야에 집중된다.
DE 196 40 814 C2는 비가청(non-audible) 데이터 신호를 오디오 신호에 도입하는 코딩 방법 및, 비가청 형태로 오디오 신호에 포함되는 데이터 신호를 디코딩하는 방법을 설명한다. 비가청 데이터 신호를 오디오 신호에 도입하는 코딩 방법은 오디오 신호를 스펙트럼 도메인으로 변환하는 단계를 포함한다. 코딩 방법은 또한 오디오 신호의 마스킹 임계값 및 의사 잡음 신호의 제공을 결정하는 단계를 포함한다. 코딩 방법은 또한 주파수 확산 데이터 신호를 획득하기 위해 데이터 신호를 제공하여, 데이터 신호와 의사 노이즈 신호를 곱하는 단계를 포함한다. 코딩 방법은 또한 마스킹 임계값으로 확산 데이터를 가중시켜, 오디오 신호 및 가중된 데이터 신호를 오버랩하는 단계를 포함한다.
게다가, WO 93/07689은 들리지 않는 인코딩된 메시지를 프로그램의 소리 신호에 추가하여 무선국 또는 텔레비전 채널에 의해, 또는 매체에 기록된 프로그램 방송을 자동으로 식별하는 방법 및 장치를 설명하며, 상기 메시지는 방송 채널 또는 방송국, 프로그램 및/또는 정확한 날짜를 식별한다. 상기 문서에서 논의된 실시예에서, 소리 신호는 아날로그-디지털 변환기를 통해 데이터 프로세서로 전송되며, 데이터 프로세서는 주파수 성분을 분할시킬 수 있고, 주파수 성분의 일부의 에너지를 미리 정해진 방식으로 변경시켜 인코딩된 식별 메시지를 형성할 수 있다. 데이터 프로세서로부터의 출력은 디지털-아날로그 변환기에 의해 소리 신호를 방송하거나 기록하기 위한 오디오 출력에 접속된다. 상기 문서에서 논의된 다른 실시예에서, 아날로그 대역 통과는 소리 신호에서 주파수 대역을 분리하는데 사용됨으로써, 분리된 대역에서의 에너지가 소리 신호를 인코딩하도록 변경될 수 있도록 한다.
US 5,450,490은 오디오 신호에 적어도 하나의 코드 주파수 성분을 갖는 코드를 포함하는 장치 및 방법을 설명한다. 인간 청각(human hearing)에 대한 코드 주파수 성분을 마스킹할 수 있는 오디오 신호의 여러 주파수 성분의 능력은 평가되고, 이들 평가에 기초하여, 진폭이 코드 주파수 성분에 할당된다. 인코딩된 오디오 신호의 코드를 검출하는 방법 및 장치가 또한 설명된다. 인코딩된 오디오 신호의 코드 주파수 성분은 코드 성분의 주파수를 포함하는 오디오 주파수의 범위 내에서 예상된 코드 진폭 또는 노이즈 진폭에 기초하여 검출된다.
WO 94/11989는 방송 또는 기록된 세그먼트를 인코딩/디코딩하여, 그것에 대한 시청자 노출(audience exposure)을 모니터링하는 방법 및 장치를 설명한다. 방송 또는 기록된 세그멘트 신호의 정보를 인코딩 및 디코딩하는 방법 및 장치가 설명된다. 이러한 문서에서 설명된 실시예에서, 시청자 모니터링 시스템은 확산 스펙트럼 인코딩을 사용하여 방송 또는 기록된 세그멘트의 오디오 신호 부분의 식별 정보를 인코딩한다. 모니터링 장치는 마이크로폰을 통해 방송 또는 기록된 신호의 음향적으로 재생된 버전을 수신하고, 상당한 주변 노이즈에도 불구하고 오디오 신호 부분으로부터 식별 정보를 디코딩하여, 이러한 정보를 저장하며, 이러한 정보는 나중에 중앙 시설물(centralized facility)에 업로드되는 시청자 멤버(audience member)에 대한 다이어리를 자동적으로 제공한다. 별개의 모니터링 장치는 중앙 시설물에서 시청자 다이어리 정보와 매칭되는 방송 신호로부터 부가적인 정보를 디코딩한다. 이러한 모니터는 다이얼-업 전화선을 사용하여 동시에 데이터를 중앙 시설물로 전송하고, 확산 스펙트럼 기술을 사용하여 인코딩되고, 제 3 자로부터 방송 신호로 변조된 신호를 통해 중앙 시설물로부터 데이터를 수신할 수 있다.
WO 95/27349는 오디오 신호의 코드 및 디코딩을 포함하는 장치 및 방법을 설명한다. 오디오 신호에서 적어도 하나의 코드 주파수 성분을 갖는 코드를 포함하는 장치 및 방법이 설명된다. 인간 청각에 대한 코드 주파수 성분을 마스킹할 수 있는 오디오 신호의 여러 주파수 성분의 능력은 평가되고, 이들 평가에 기초하여, 진폭이 코드 주파수 성분에 할당된다. 인코딩된 오디오 신호의 코드를 검출하는 방법 및 장치가 또한 설명된다. 인코딩된 오디오 신호의 코드 주파수 성분은 코드 성분의 주파수를 포함하는 오디오 주파수의 범위 내에서 예상된 코드 진폭 또는 노이즈 진폭에 기초하여 검출된다.
그러나, 알려진 워터마킹 시스템의 문제는 오디오 신호의 기간이 종종 매우 짧다는 것이다. 예를 들면, 사용자가 무선국 간에 빠르게 전환할 수 있거나 오디오 신호를 재생하는 스피커가 멀리 있음으로써, 오디오 신호는 매우 약할 수 있다. 더욱이, 오디오 신호는 일반적으로 예를 들어 광고에 사용되는 오디오 신호에서 매우 짧을 수 있다. 부가적으로, 워터마크 신호는 보통 낮은 비트 전송률만을 갖는다. 그래서, 이용 가능한 워터마크 데이터의 량은 일반적으로 매우 적다.
이러한 상황을 고려하여, 본 발명의 목적은 워터마킹된 신호에서 획득된 바이너리 메시지 데이터의 량을 증가시킬 수 있는 워터마킹된 신호에 따라 바이너리 메시지 데이터를 제공하는 향상된 개념을 확립하기 위한 것이다.
이러한 목적은 청구항 1에 따른 워터마크 검출기 또는 청구항 9에 따른 방법에 의해 해결된다.
본 발명에 따른 실시예는 워터마킹된 신호에 따라 바이너리 메시지 데이터를 제공하는 워터마크 디코더를 제공한다. 워터마크 디코더는 시간 주파수 도메인 표현 제공자(representation provider), 메모리 유닛, 동기화 결정기 및 워터마크 추출기를 포함한다. 시간 주파수 도메인 표현 제공자는 다수의 시간 블록에 대한 워터마킹된 신호의 주파수 도메인 표현을 제공하도록 구성된다. 메모리 유닛은 다수의 시간 블록에 대한 워터마킹된 신호의 주파수 도메인 표현을 저장하도록 구성된다. 더욱이, 동기화 결정기는 다수의 시간 블록의 워터마킹된 신호의 주파수 도메인 표현에 기초하여 정렬 시간 블록을 식별하도록 구성된다. 워터마크 추출기는 식별된 정렬 시간 블록에 대한 거리를 고려하여 식별된 정렬 시간 블록에 시간적으로 선행하는 시간 블록의 워터마킹된 신호의 저장된 주파수 도메인 표현에 기초하여 바이너리 메시지 데이터를 제공하도록 구성된다.
본 발명의 핵심 아이디어는 워터마킹된 신호의 저장된 주파수 도메인 표현을 저장하고, 동기화 정보(식별된 정렬 시간 블록)를 사용하여 또한 시간적으로 이전의 메시지로부터 바이너리 메시지 데이터를 되찾기 위한 것이다. 이러한 방식으로, 획득된 바이너리 메시지 데이터 또는 워터마킹된 신호에 포함된 워터마크 정보의 량은 상당히 증가될 수 있는데, 그 이유는 또한 동기화가 이용 가능하기 전에 수신된 시간 블록으로부터의 데이터가 바이너리 메시지 데이터를 제공하기 위해 활용될 수 있기 때문이다.
그래서, 오디오 신호에 포함된 완전한 워터마크 정보를 획득하는 기회는 특히 서로 다른 오디오 신호 간의 빠른 변화를 위해 증가될 수 있다.
본 발명에 따른 일부 실시예는 불완전한 메시지의 중복 데이터를 사용하여 식별된 정렬 블록을 포함하는 메시지에 시간적으로 선행하는 워터마킹된 신호의 불완전 메시지의 바이너리 메시지 데이터를 제공하도록 구성된 중복 디코더(redundancy decoder)를 포함하는 워터마크 디코더에 관한 것이다. 이러한 방식으로, 또한 불완전 메시지로부터 워터마크 정보를 되찾을 수 있다.
본 발명에 따른 다른 실시예는 다수의 미리 정의된 동기화 시퀀스 및 워터마킹된 신호의 메시지의 바이너리 메시지 데이터에 기초하여 정렬 시간 블록을 식별하도록 구성된 동기화 결정기를 가진 워터마크 디코더에 관한 것이다. 이것은, 워터마킹된 신호의 메시지에 포함된 시간 블록의 수가 다수의 미리 정의된 동기화 시퀀스에 포함된 다른 미리 정의된 동기화 시퀀스의 수보다 큰 경우에 행해질 수 있다. 메시지가 이용 가능한 미리 정의된 동기화 시퀀스의 수보다 더 많은 시간 블록을 포함하는 경우, 동기화 결정기는 단일 메시지 내에서 하나 이상의 정렬 시간 블록을 식별할 수 있다. 이들 식별된 정렬 시간 블록 중 어느 것이 (예컨대, 메시지의 시작을 나타내는) 올바른 것인지를 결정하기 위해, 식별된 정렬 시간 블록을 포함하는 메시지의 바이너리 메시지 데이터는 정확한 동기화를 획득하도록 분석될 수 있다.
본 발명에 따른 일부 다른 실시예는 식별된 정렬 시간 블록에 대한 거리를 고려하여 식별된 정렬 시간 블록에 시간적으로 후행하는 시간 블록의 워터마킹된 신호의 주파수 도메인 표현에 기초하여 추가적 바이너리 메시지 데이터를 제공하도록 구성된 워터마크 추출기를 가진 워터마크 디코더에 관한 것이다. 환언하면, 그것은 정렬 시간 블록을 한 번 식별하여, 시간적으로 후행하는 메시지에 대한 동기화를 이용하기에 충분할 수 있다. (정렬 시간 블록을 식별하는) 동기화는 미리 정의된 시간 후에 반복될 수 있다.
본 발명에 따른 다른 실시예는 식별된 정렬 시간 블록에 대한 거리를 고려하고, 불완전한 메시지의 중복 데이터를 사용하여 식별된 정렬 시간 블록에 시간적으로 후행하거나 선행하는 시간 블록의 워터마킹된 신호의 주파수 도메인 표현에 기초하여 바이너리 메시지 데이터를 제공하도록 구성된 중복 디코더 및 워터마크 추출기를 포함하는 워터마크 디코더에 관한 것이다. 이러한 방식으로, 또한 누락된 워터마크 정보가 식별된 정렬 시간 블록에 선행하거나 후행할 경우에 불완전한 메시지로부터 워터마크 정보를 되찾을 수 있다. 이것은 워터마크를 포함하는 하나의 오디오 소스에서 워터마크 메시지의 "중간에" 워터마크를 포함하는 다른 오디오 소스로 전환이 발생하는 경우에 유용하다. 그 경우에, 양방의 메시지가 불완전할지라도, 즉 양방의 워터마크 메시지에 대한 전송 시간이 오버랩하는 경우에 전환 시간에 양방의 오디오 소스에서 워터마크 정보를 되찾을 수 있다.
본 발명에 따라 일부 다른 실시예는 또한 바이너리 메시지 데이터를 제공하는 방법을 제공한다. 상기 방법은 이전에 논의된 장치와 같은 결과에 기초한다.
이하, 본 발명에 따른 실시예들은 동봉된 도면과 관련하여 설명될 것이다.
도 1은 본 발명의 실시예에 따른 워터마크 삽입기(inserter)의 개략적인 블록도를 도시한 것이다.
도 2는 본 발명의 실시예에 따른 워터마크 디코더의 개략적인 블록도를 도시한 것이다.
도 3은 본 발명의 실시예에 따른 워터마크 생성기의 개략적인 상세 블록도를 도시한 것이다.
도 4는 본 발명의 실시예에 이용하기 위한 변조기의 개략적인 상세 블록도를 도시한 것이다.
도 5는 본 발명의 실시예에 이용하기 위한 음향 심리학(음향 심리학) 처리 모듈의 개략적인 상세 블록도를 도시한 것이다.
도 6은 본 발명의 실시예에 이용하기 위한 음향 심리학 모델 프로세서의 개략적인 블록도를 도시한 것이다.
도 7은 주파수를 통해 블록(801)에 의해 출력되는 오디오 신호의 파워 스펙트럼의 그래픽 표현을 도시한 것이다.
도 8은 주파수를 통해 블록(802)에 의해 출력되는 오디오 신호의 파워 스펙트럼의 그래픽 표현을 도시한 것이다.
도 9는 진폭 계산의 개략적인 블록도를 도시한 것이다.
도 10a는 변조기의 개략적인 블록도를 도시한 것이다.
도 10b는 시간 주파수 평면상에서의 계수들의 위치의 그래픽 표현을 도시한다.
도 11a 및 11b는 동기화 모듈의 구현 대안의 개략적인 블록도를 도시한 것이다.
도 12a는 워터마크의 시간 정렬을 찾는 문제의 그래픽 표현을 도시한 것이다.
도 12b는 메시지 시작을 식별의 문제의 그래픽 표현을 도시한 것이다.
도 12c는 전체 메시지 동기화 모드에서 동기화 시퀀스의 시간적 정열의 그래픽 표현을 도시한 것이다.
도 12d는 부분 메시지 동기화 모드에서 동기화 시퀀스의 시간적 정렬의 그래픽 표현을 도시한 것이다.
도 12e는 동기화 모듈의 입력 데이터의 그래픽 표현을 도시한 것이다.
도 12f는 동기화 히트를 식별하는 개념의 그래픽 표현을 도시한 것이다.
도 12g는 동기화 서명 상관기(signature correlator)의 개략적인 블록도를 도시한 것이다.
도 13a는 시간적 역 확산(temporal despreading)에 대한 일례의 그래픽 표현을 도시한 것이다.
도 13b는 비트와 확산 시퀀스 사이의 요소 측면에서의 곱셈에 대한 일례의 그래픽 표현을 도시한 것이다.
도 13c는 시간적 평균 후 동기화 서명 상관기의 출력의 그래픽 표현을 도시한 것이다.
도 13d는 동기화 서명의 자동 상관 함수와 필터링된 동기화 서명 상관기의 출력의 그래픽 표현을 도시한 것이다.
도 14는 본 발명의 실시예에 따른 워터마크 추출기의 개략적인 블록도를 도시한 것이다.
도 15는 후보 메시지(candidate message)로서 시간 주파수 도메인 표현의 일부의 선택의 개략적 표현을 도시한 것이다.
도 16은 분석 모듈의 개략적인 블록도를 도시한 것이다.
도 17a는 동기화 상관기의 출력의 그래픽 표현을 도시한 것이다.
도 17b는 디코딩된 메시지의 그래픽 표현을 도시한 것이다.
도 17c는 워터마킹된 신호에서 추출되는 동기화 위치의 그래픽 표현을 도시한 것이다.
도 18a는 페이로드(payload), 비터비(Viterbi) 종료 시퀀스를 가진 페이로드, 비터비 인코딩된 페이로드 및 비터비 코딩된 페이로드의 반복 코딩된 버전의 그래픽 표현을 도시한 것이다.
도 18b는 워터마킹된 신호를 삽입하는데 이용되는 부반송파(subcarriers)의 그래픽 표현을 도시한 것이다.
도 19는 코딩되지 않은 메시지, 코딩된 메시지, 동기화 메시지 및, 동기화 시퀀스가 이들 메시지에 적용되는 워터마크 신호의 그래픽 표현을 도시한 것이다.
도 20은 소위 "ABC 동기화" 개념의 제 1 단계의 개략적 표현을 도시한 것이다.
도 21은 소위 "ABC 동기화" 개념의 제 2 단계의 개략적 표현을 도시한 것이다.
도 22는 소위 "ABC 동기화" 개념의 제 3 단계의 개략적 표현을 도시한 것이다.
도 23은 페이로드 및 CRC 부분을 포함하는 메시지의 그래픽 표현을 도시한 것이다.
도 24는 본 발명의 실시예에 따른 워터마크 디코더의 블록도를 도시한 것이다.
도 25는 본 발명의 실시예에 따라 바이너리 메시지 데이터를 제공하는 방법의 흐름도를 도시한 것이다.
1. 워터마크 디코더
도 24는 본 발명의 실시예에 따라 워터마킹된 신호(2402)에 따라 바이너리 메시지 데이터(2442)를 제공하는 워터마크 디코더(2400)의 블록도를 도시한다. 워터마크 디코더(2400)는 시간 주파수 도메인 표현 제공자(2410), 메모리 유닛(2420), 동기화 결정기(2430) 및 워터마크 추출기(2440)를 포함한다. 시간 주파수 도메인 표현 제공자(2410)는 동기화 결정기(2430) 및 메모리 유닛(2420)에 접속된다. 더욱이, 동기화 결정기(2430) 뿐만 아니라 메모리 유닛(2420)은 워터마크 추출기(2440)에 접속된다. 시간 주파수 도메인 표현 제공자(2410)는 다수의 시간 블록에 대한 워터마킹된 신호(2402)의 주파수 도메인 표현(2412)을 제공한다. 메모리 유닛(2420)은 다수의 시간 블록에 대한 워터마킹된 신호(2402)의 주파수 도메인 표현(2412)을 저장한다. 더욱이, 동기화 결정기(2430)는 다수의 시간 블록의 워터마킹된 신호(2402)의 주파수 도메인 표현(2412)에 기초하여 정렬 시간 블록(2432)을 식별한다. 워터마크 추출기(2440)는 식별된 정렬 시간 블록(2432)에 대한 거리를 고려하여 식별된 정렬 시간 블록(2432)에 시간적으로 선행하는 시간 블록의 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현(2422)에 기초하여 바이너리 메시지 데이터(2442)를 제공한다.
이러한 다시 보기(look back) 접근 방식에 의해, 또한 정렬 시간 블록(2432)을 식별하여 동기화가 이용할 수 있기 전에 수신되는 메시지의 바이너리 메시지 데이터가 이용될 수 있습니다. 그래서, 수신된 워터마킹된 신호에 포함되는 획득된 바이너리 메시지 데이터의 량은 상당히 증가될 수 있다.
이와 관련하여, 식별된 정렬 시간 블록(2432)에 대한 거리를 고려한다는 것은, 예를 들어, 관련된 저장된 주파수 도메인 표현이 바이너리 메시지 데이터를 생성하기 위해 이용되는 식별된 정렬 시간 블록(2432)에 대한 시간 블록의 거리가 바이너리 메시지 데이터(2442)의 생성을 위해 고려된다는 것을 의미한다. 거리는 예를 들어 시간적 거리(예를 들어, 선행하는 시간 블록은 식별된 정렬 시간 블록이 시간 주파수 도메인 표현 제공자에 의해 제공되기 전에 시간 주파수 도메인 표현 제공자에 의해 x 초 제공된다), 또는 선행하는 시간 블록과 식별된 정렬 시간 블록(2432) 사이의 시간 블록의 수일 수 있다. 식별된 정렬 시간 블록(2432)에 대한 거리를 고려함으로써, 정렬 시간 블록(2432)에 선행하는 시간 블록을 메시지에 정확히 할당하는 것이 가능할 수 있어, 이러한 선행하는 메시지의 바이너리 메시지 데이터가 되찾아져 워터마크 추출기(2440)에 의해 제공될 수 있다. 정렬 시간 블록(2432)은, 예를 들어, 메시지의 제 1 시간 블록, 메시지의 마지막 시간 블록, 또는 메시지의 시작을 찾을 수 있도록 하는 메시지 내의 미리 정의된 시간 블록일 수 있다. 메시지는 함께 속한 다수의 시간 블록을 포함하는 데이터 패키지일 수 있다.
다수의 시간 블록에 대한 워터마킹된 신호의 주파수 도메인 표현은 또한 워터마킹된 신호의 시간 주파수 도메인 표현이라고 할 수 있다.
선택적으로, 워터마크 디코더(2440)는 불완전한 메시지의 중복 데이터를 사용하여 식별된 정렬 시간 블록(2432)을 포함하는 메시지에 시간적으로 선행하는 워터마킹된 신호의 불완전 메시지의 바이너리 메시지 데이터(2442)를 제공하는 중복 디코더를 포함할 수 있다. 이러한 방식으로, 또한 예컨대 워터마킹된 신호의 낮은 신호 품질 또는 워터마킹된 신호의 시초에서의 불완전한 메시지의 생성으로 인해 불완전한 메시지가 이용될 수 있다.
더욱이, 동기화 결정기(2430)는 다수의 미리 정의된 동기화 시퀀스 및 워터마킹된 신호의 메시지의 바이너리 메시지 데이터에 기초하여 정렬 시간 블록(2432)을 식별할 수 있다. 이러한 예에서, 워터마킹된 신호의 메시지에 포함된 시간 블록의 수는 다수의 미리 정의된 동기화 시퀀스에 포함된 다른 미리 정의된 동기화 시퀀스의 수보다 크다. 이러한 방식으로, 정확한 동기화는 또한 하나 이상의 정렬 시간 블록이 메시지 내에서 식별될 경우에 가능하다. 환언하면, (정확한 시간 정렬 블록을 식별하는) 정확한 동기화에 대해, 메시지의 콘텐츠가 분석될 수 있다.
동기화 시퀀스는 워터마킹된 신호의 주파수 도메인 표현의 각 주파수 대역 계수에 대한 동기화 비트를 포함할 수 있다. 주파수 도메인 표현(2432)은 주파수 도메인의 각 주파수 대역에 대한 주파수 대역 계수를 포함할 수 있다.
제공된 바이너리 메시지 데이터(2442)는 식별된 정렬 시간 블록(2432)을 포함하는 메시지에 시간적으로 선행하는 워터마킹된 신호(2402)의 메시지의 콘텐츠를 나타낼 수 있다.
선택적으로, 워터마크 추출기(2440)는 식별된 정렬 시간 블록(2432)에 대한 거리를 고려하여 식별된 정렬 시간 블록(2432)에 시간적으로 후행하는 시간 블록의 워터마킹된 신호(2402)의 주파수 도메인 표현(2412)에 기초하여 추가적 바이너리 메시지 데이터를 제공할 수 있다. 이것은 또한 미리 보기(look ahead) 접근 방식이라 할 수 있고, 추가적 동기화 없이 식별된 정렬 시간 블록을 포함하는 메시지에 후행하는 메시지의 추가적 바이너리 메시지 데이터를 제공하도록 허용한다. 이러한 방식으로, 하나의 동기화만이 충분할 수 있다. 대안적으로, 정렬 시간 블록은 (예컨대, 매 제 4, 8 또는 16 메시지에 대해) 주기적으로 식별될 수 있다.
본 발명에 따른 다른 실시예는 식별된 정렬 시간 블록에 대한 거리를 고려하고, 불완전한 메시지의 중복 데이터를 사용하여 식별된 정렬 시간 블록에 시간적으로 후행하거나 선행하는 시간 블록의 워터마킹된 신호의 주파수 도메인 표현에 기초하여 바이너리 메시지 데이터를 제공하도록 구성된 중복 디코더 및 워터마크 추출기를 포함하는 워터마크 디코더에 관한 것이다. 이러한 방식으로, 또한, 누락된 워터마크 정보가 식별된 정렬 시간 블록에 선행하거나 후행할 경우에 불완전한 메시지로부터 워터마크 정보를 되찾을 수 있다. 이것은 워터마크를 포함하는 하나의 오디오 소스에서 워터마크 메시지의 "중간에" 워터마크를 포함하는 다른 오디오 소스로 전환이 발생하는 경우에 유용하다. 그 경우에, 양방의 메시지가 불완전할지라도, 즉 양방의 워터마크 메시지에 대한 전송 시간이 오버랩하는 경우에 전환 시간에 양방의 오디오 소스에서 워터마크 정보를 되찾을 수 있다.
환언하면, 워터마크(메시지)를 가진 오디오 소스는 워터마크(메시지)의 "중간에" (또는 메시지 내의 어딘가에) 전환될 수 있다. 중복 디코더 및 다시 보기 메커니즘으로 인해, 양방의 워터마크 메시지는 오버랩할지라도 검색될 수 있다.
메모리 유닛(2420)은 소거 또는 덮어쓰기(erasing or overwriting)를 위해 미리 정의된 저장 시간 후에 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현(2422)을 포함하는 메모리 공간을 해제할 수 있다. 이러한 방식으로, 필요한 메모리 공간은 낮게 유지될 수 있는데, 그 이유는 주파수 도메인 표현(2412)이 단시간 동안에만 저장된 후, 메모리 공간이 주파수 도메인 표현 제공자(2410)에 의해 제공되는 후행하는 주파수 도메인 표현(2412)에 재사용될 수 있기 때문이다. 부가적으로 또는 대안적으로, 바이너리 메시지 데이터(2442)가 워터마크 추출기(2440)에 의해 소거 또는 덮어쓰기를 위해 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현(2422)으로부터 획득된 후에 메모리 유닛(2420)은 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현(2422)을 포함하는 메모리 공간을 해제할 수 있다. 이러한 방식으로, 필요한 메모리 공간이 또한 감소될 수 있다.
2. 바이너리 메시지 데이터를 제공하는 방법
도 25는 본 발명의 실시예에 따른 워터마킹된 신호에 따라 바이너리 메시지 데이터를 제공하는 방법(2500)의 흐름도를 도시한 것이다. 방법(2500)은 다수의 시간 블록에 대한 워터마킹된 신호의 주파수 도메인 표현을 제공하는 단계(2510), 및 다수의 시간 블록에 대한 워터마킹된 신호의 주파수 도메인 표현을 저장하는 단계(2520)를 포함한다. 더욱이, 방법(2500)은 다수의 시간 블록의 워터마킹된 신호의 주파수 도메인 표현에 기초하여 정렬 시간 블록을 식별하는 단계(2530), 및 식별된 정렬 시간 블록에 대한 거리를 고려하여 식별된 정렬 시간 블록에 시간적으로 선행하는 시간 블록의 워터마킹된 신호의 저장된 주파수 도메인 표현에 기초하여 바이너리 메시지 데이터를 제공하는 단계(2540)를 포함한다.
선택적으로, 상기 방법은 상술한 장치의 특징에 상응하는 추가 단계를 포함할 수 있다.
3. 시스템 설명
다음에는, 워터마크 삽입기 및 워터마크 디코더를 포함하는 워터마크 전송 시스템이 설명될 것이다. 당연히, 워터마크 삽입기 및 워터마크 디코더는 서로 독립적으로 사용될 수 있다.
시스템에 대한 설명을 위해, 하향식(top-down) 접근 방식이 여기에 선택된다. 첫째로, 인코더와 디코더가 구별된다. 그런 다음, 섹션 3.1 내지 3.5에서, 각 처리 블록은 상세히 설명된다.
시스템의 기본 구조는 제각기 인코더 및 디코더 측을 도시한 도 1 및 2에서 보여질 수 있다. 도 1은 워터마크 삽입기(100)의 개략적인 블록도를 도시한다. 인코더 측에서, 워터마크 신호(101b)는 바이너리 데이터(101a)로부터 음향 심리학 처리 모듈(102)과 교환되는 정보(104, 105)를 기반으로 처리 블록(101)(또한 워터마크 생성기로 명시됨)에서 생성된다. 블록(102)으로부터 제공된 정보는 전형적으로 워터마크가 들리지 않음을 보증한다. 그런 다음, 워터마크 생성기(101)에 의해 생성된 워터마크는 오디오 신호(106)에 추가된다. 그 후, 워터마킹된 신호(107)는 전송되고, 저장되며, 또는 추가로 처리될 수 있다. 멀티미디어 파일, 예컨대, 오디오-비디오 파일의 경우에, 적절한 지연이 오디오-비디오 동시성(synchronicity)을 잃지 않도록 비디오 스트림에 추가될 필요가 있다. 멀티채널 오디오 신호의 경우에, 각 채널은 별도로 본 문서에 설명된 바와 같이 처리된다. 처리 블록(101)(워터마크 생성기) 및 (102)(음향 심리학 처리 모듈)은 제각기 섹션 3.1 및 3.2에서 상세히 설명된다.
도 2에서는 디코더측이 도시되며, 이 도 2는 워터마크 디코더(200)의 블록 개략도를 도시한다. 예컨대, 마이크로폰에 의해 기록되는 워터마킹된 오디오 신호(200a)는 시스템(200)에 이용 가능하게 생성된다. 또한 분석 모듈로 명시되는 제 1 블록(203)은 동기화 모듈(201)로 통과하는 (워터마킹된 오디오 신호(200a)의 시간 주파수 도메인 표현(204)을 획득하는) 시간/주파수 도메인 내의 데이터(예컨대, 워터마킹된 오디오 신호)를 복조하여 변환하는데, 상기 동기화 모듈(201)은 입력 신호(204)를 분석하여, 시간적 동기화를 실행하며, 즉 인코딩된 데이터(예컨대, 시간 주파수 도메인 표현에 대한 인코딩된 워터마크 데이터)의 시간적 정렬을 결정한다. 이러한 정보(예컨대, 생성된 동기화 정보(205))는 데이터를 디코딩하고, (결과적으로 워터마킹된 오디오 신호(200a)의 데이터 콘텐츠를 나타내는 바이너리 데이터(202a)를 제공하는) 워터마크 추출기(202)에 제공된다.
3.1 워터마크 생성기(101)
워터마크 생성기(101)는 도 3에서 상세히 도시된다. 오디오 신호(106)에 숨겨지는 (±1로 표현되는) 바이너리 데이터는 워터마크 생성기(101)에 제공된다. 블록(301)은 동일한 길이 Mp의 패킷의 데이터(101a)를 구성한다. 오버헤드 비트는 각 패킷에 신호 전송을 위해 추가된다(예컨대, 부가된다). Ms는 이들의 번호를 나타낸다고 한다. 이들의 용도는 섹션 3.5에서 상세히 설명될 것이다. 다음에는 신호 오버 헤드 비트와 함께 페이로드 비트의 각 패킷에 메시지가 표시되는 것에 주목한다.
길이 Nm = Ms + Mp의 각 메시지(301a)는 오류에 대한 보호의 비트를 코딩할 책임이 있는 처리 블록(302), 채널 인코더로 넘겨진다. 이러한 모듈의 가능한 실시예는 인터리버(interleaver)와 함께 컨벌루션(convolutional) 인코더로 구성된다. 컨벌루션 인코더의 비율은 워터마킹 시스템의 오류에 대한 전체 보호의 정도에 크게 영향을 미친다. 다른 한편, 인터리버는 잡음 버스트(noise burst)에 대한 보호를 가져온다. 인터리버의 동작의 범위는 하나의 메시지로 제한될 수 있지만, 또한 더 많은 메시지로 확장될 수 있다. Rc는 코드 비율, 예컨대, 1/4를 나타낸다고 한다. 각 메시지에 대한 코딩된 비트의 수는 Nm/Rc이다. 채널 인코더는, 예컨대, 인코딩된 바이너리 메시지(302a)를 제공한다.
다음 처리 블록(303)은 주파수 도메인의 확산을 실행한다. 충분한 신호 대 잡음 비율을 달성하기 위해, 정보(예컨대, 바이너리 메시지(302a)의 정보)는 확산되어, Nf의 엄선된 서브밴드(서브밴드)로 전송된다. 주파수에서의 정확한 위치는 사전에 결정되어, 인코더 및 디코더의 양방에 알려진다. 이러한 중요한 시스템 매개 변수의 선택에 대한 상세 사항은 섹션 3.2.2에 제공된다. 주파수의 확산은 크기 Nf×1의 확산 시퀀스 Cf에 의해 결정된다. 블록(303)의 출력(303a)은 Nf 비트 스트림으로 구성되며, 각 서브밴드에 대해 하나로 구성된다. 제 i 비트 스트림은 확산 시퀀스 Cf의 제 i 구성 요소와 입력 비트를 곱하여 획득된다. 가장 간단한 확산은 각각의 출력 스트림에 비트 스트림을 복사하는 것으로 구성되며, 모든 확산 시퀀스를 이용한다.
또한 동기화 방식 삽입기로서 명시되는 블록(304)은 동기화 신호를 비트 스트림에 추가한다. 각 메시지가 시작할 때, 로버스트(robust) 동기화는 디코더가 비트도 데이터 구조도 아닌 시간적 정렬을 알지 못할 때에 중요하다. 동기화 신호는 Nf 비트 각각의 Ns 시퀀스로 구성된다. 시퀀스는 요소에 관해 주기적으로 비트 스트림(또는 비트 스트림(303a))에 곱해진다. 예를 들면, a, b, 및 c는 Ns = 3 동기화 시퀀스(또한 동기화 확산 시퀀스로 명시됨)인 것으로 한다. 블록(304)은 a를 제 1 확산 비트에 곱하고, b를 제 2 확산 비트에 곱하며, c를 제 3 확산 비트에 곱한다. 다음의 비트에 대해, 프로세스는 주기적으로 반복되며, 즉 a를 제 4 비트에, b를 제 5 비트에, 등으로 반복된다. 따라서, 조합된 정보-동기화 정보(304a)가 획득된다. 동기화 시퀀스(또한 동기화 확산 시퀀스로 명시됨)는 거짓 동기화의 위험을 최소화하기 위해 신중히 선택된다. 더욱 상세 사항은 섹션 3.4에 제공된다. 또한, 시퀀스 a,b,c,...는 동기화 확산 시퀀스의 시퀀스로 간주될 수 있는 것에 주목되어야 한다.
블록(305)은 시간 도메인의 확산을 실행한다. 입력에서의 각 확산 비트, 즉 길이 Nf의 벡터는 시간 도메인 Nt 배로 반복된다. 주파수의 확산과 유사하게, 크기 Nt×1의 확산 시퀀스 ct를 정의한다. 제 i 시간적 반복은 ct의 제 i 구성 요소와 곱해진다.
블록(302 내지 305)의 연산은 다음과 같은 수학 용어로 표현될 수 있다. 크기 1×Nm=Rc의 m은 코딩된 메시지, (302)의 출력이라고 한다. 블록(303)의 (확산 정보 표현 R로 간주될 수 있는) 출력(303a)은 다음과 같다:
크기 Nf×Nm/Rc의 cf.m (1)
조합된 정보-동기화 표현 C로 간주될 수 있는 블록(304)의 출력(304a)은 다음과 같다:
크기 Nf×Nm/Rc의 So(cf.m) (2)
여기서, o은 Schur 요소에 관한 곱(Schur element- wise product)을 나타내며,
크기 Nf×Nm/Rc의 S = [... a b c ... a b ... ] (3)
(305)의 출력(305a)은 다음과 같다:
크기 Nf×Nt.Nm/Rc
Figure pct00001
(4)
여기서,
Figure pct00002
및 T는 제각기 Kronecker 곱 및 트랜스포즈(transpose)를 나타낸다. 바이너리 데이터는 ±1로 표시된다는 것을 기억한다.
블록(306)은 비트의 차등 인코딩(differential encoding)을 수행한다. 이러한 단계는 움직임 또는 국부 발진기 부정합으로 인해 위상 시프트에 대한 추가적인 견고성(robustness)을 시스템에 제공한다. 이러한 문제에 대한 더욱 상세 사항은 섹션 3.3에 제공된다. b(i; j)가 블록(306)의 입력에서 제 i 주파수 대역 및 제 j 시간 블록에 대한 비트인 경우, 출력 비트 bdiff(i;j)는 다음과 같다:
Figure pct00003
(5)
스트림의 시작 부분에서, 그것은 j = 0에 대한 것이고, bdiff(i,j-1)는 1로 설정된다.
블록(307)은 실제 변조, 즉, 그 입력에서 주어진 바이너리 정보(306a)에 따라 워터마크 신호 파형의 생성을 실행한다. 더 상세한 개략도는 도 4에 제공된다. Nf 병렬 입력(401 내지 40Nf)은 서로 다른 서브밴드에 대한 비트 스트림을 포함한다. 각 서브밴드 스트림의 각 비트는 비트 형성 블록(411 내지 40Nf)에 의해 처리된다. 비트 형성 블록의 출력은 시간 도메인의 파형이다. 입력 비트 bdiff(i,j)에 기초하여 si ;j(t)에 의해 나타내는 제 j 시간 블록 및 제 i 서브밴드에 대해 생성된 파형은 다음과 같이 계산된다:
Figure pct00004
(6)
여기서,
Figure pct00005
는 음향 심리학 처리 유닛(102)에 의해 제공되는 가중치이고, Tb는 비트 시간 간격이며, gi(t)는 제 i 서브밴드에 대한 비트 형성 함수이다. 비트 형성 함수는 코사인으로 주파수 변조되는 베이스밴드 함수
Figure pct00006
로부터 획득된다:
Figure pct00007
(7)
여기서, fi는 제 i 서브밴드의 중심 주파수이고, 위첨자 T는 송신기를 나타낸다. 베이스밴드 함수는 각 서브밴드에 대해 서로 다를 수 있다. 동일한 것으로 선택되면, 디코더에서 더욱 효율적인 구현이 가능하다. 더욱 상세 사항에 대해서는 섹션 3.3을 참조한다.
각 비트에 대한 비트 형성은 음향 심리학 처리 모듈(102)에 의해 제어되는 반복 프로세스에서 반복된다. 반복은 워터마크를 들리지 않게 유지하면서 워터마크에 가능한 많은 에너지를 할당하도록 웨이트
Figure pct00008
를 미세 조정을 할 필요가 있다. 더욱 상세 사항은 섹션 3.2에 제공된다.
제 i 비트 형성 필터(41i)의 출력에서의 완전한 파형은 다음과 같다:
Figure pct00009
(8)
주요 에너지가 비트 간격 내에 집중되지만, 비트 형성 베이스밴드 함수
Figure pct00010
는 일반적으로 Tb보다 더 큰 시간 간격에 대해서는 0이 아니다. 일례는 동일한 비트 형성 베이스밴드 함수가 2개의 인접한 비트에 대해 그려지는 도 12a에서 보여질 수 있다. 도면에서, Tb = 40 ms이다. Tb의 선택뿐만 아니라 함수의 형성은 시스템에 상당히 영향을 미친다. 사실상, 더 긴 심볼은 더 좁은 주파수 응답을 제공한다. 이것은 특히 반향하는(reverberant) 환경에서 유익하다. 사실상, 이와 같은 시나리오에서, 워터마킹된 신호는 각각 서로 다른 전파 시간을 특징으로 하는 수개의 전파 경로를 통해 마이크로폰에 도달한다. 생성된 채널은 강력한 주파수 선택도를 나타낸다. 시간 영역에서 해석하면, 더 긴 심볼은 비트 간격에 비교할 만한 지연을 가진 에코(echo)들이 보강 간섭(constructive interference)을 생성시킬 때에 유익하며, 이는 수신된 신호의 에너지를 증가시킨다는 것을 의미한다. 그럼에도 불구하고, 더 긴 심볼은 또한 몇 가지 단점을 가지며; 더 큰 오버랩이 심볼간 간섭(ISI)으로 이어질 수 있으며, 오디오 신호에 감추는데 확실히 더 어려워, 음향 심리학 처리 모듈이 보다 짧은 심볼에 대해서보다 더 적은 에너지를 허용한다.
워터마크 신호는 비트 형성 필터의 모든 출력을 합산하여 획득된다.
Figure pct00011
(9)
3.2 음향 심리학 처리 모듈(102)
도 5에 도시된 바와 같이, 음향 심리학 처리 모듈(102)은 세 부분으로 구성된다. 제 1 단계는 시간 오디오 신호를 시간/주파수 도메인으로 변환하는 분석 모듈(501)이다. 이러한 분석 모듈은 서로 다른 시간/주파수 해상도에서 병렬 분석을 실행할 수 있다. 분석 모듈 후에, 시간/주파수 데이터는 워터마크 신호에 대한 마스킹 임계값이 음향 심리학 고려 사항에 따라 계산되는 음향 심리학 모델(PAM)(502)로 전송된다(E. Zwicker H.Fastl, "음향 심리학 팩트(Facts) 및 모델" 참조). 마스킹 임계값은 각 서브밴드 및 시간 블록에 대한 오디오 신호에 숨겨질 수 있는 에너지의 양을 나타낸다. 음향 심리학 처리 모듈(102)의 마지막 블록은 진폭 계산 모듈(503)을 도시한다. 이러한 모듈은 마스킹 임계값이 충족되도록, 즉, 내장된 에너지가 마스킹 임계값에 의해 정의된 에너지보다 작거나 동일하도록 워터마크 신호의 생성에 이용될 진폭 이득을 결정한다.
3.2.1 시간/주파수 분석(501)
블록(501)은 중복 변환(lapped transform)에 의해 오디오 신호의 시간/주파수 변환을 실행한다. 여러 시간/주파수 해상도를 수행할 때 최상의 오디오 품질이 달성될 수 있다. 중복 변환에 대한 하나 효율적인 실시예는 윈도잉된(windowed) 시간 블록의 고속 푸리에 변환(FFT)에 기초하는 짧은 시간 푸리에 변환(STFT)이다. 더 긴 윈도우는 더 낮은 시간 및 더 높은 주파수 해상도를 생성시킬 수 있지만, 더 짧은 윈도우는 그 역으로 되도록 윈도우의 길이가 시간/주파수 해상도를 결정한다. 다른 한편, 윈도우의 형성은 특히 주파수 누설을 결정한다.
제안된 시스템의 경우, 2개의 서로 다른 해상도로 데이터를 분석하여 들리지 않는 워터마크를 달성한다. 제 1 필터 뱅크는 Tb의 홉 크기(hop size), 즉 비트 길이를 특징으로 한다. 홉 크기는 2개의 인접한 시간 블록 사이의 시간 간격이다. 윈도우 길이는 Tb이다. 윈도우 형성은 비트 형성에 사용된 것과 동일할 필요가 없으며, 일반적으로 인간의 청각 시스템을 모델링해야 한다는 점에 유의한다. 많은 공보는 이러한 문제를 연구한다.
제 2 필터 뱅크는 더 짧은 윈도우를 적용한다. 달성된 높은 시간적 해상도는 시간적 구조가 일반적으로 Tb보다 더 미세함에 따라 워터마크를 음성에 삽입할 때에 특히 중요하다.
입력 오디오 신호의 샘플링 속도는 앨리어싱(aliasing) 없이 워터마크 신호를 나타내기에 충분히 크는 한 중요하지 않다. 예를 들면, 워터마크 신호에 포함된 최대 주파수 성분이 6 kHz이면, 시간 신호의 샘플링 속도는 적어도 12 kHz이어야 한다.
3.2.2 음향 심리학 모델(502)
음향 심리학 모델(502)은 마스킹 임계값, 즉, 워터마킹된 오디오 신호를 원래의 오디오 신호와 구별할 수 없게 하는 각 서브밴드 및 시간 블록에 대한 오디오 신호에 숨겨질 수 있는 에너지의 양을 결정하는 태스크를 갖는다.
제 i 서브밴드는 2개의 한계치(limits), 즉,
Figure pct00012
Figure pct00013
사이에 정의된다. 서브밴드는 Nf 중심 주파수 fi를 정의하고,
Figure pct00014
로 하여 결정되며, i = 2, 3, ... , Nf이다. 중심 주파수에 대한 적절한 선택은 1961년 Zwicker에 의해 제안된 바크 스케일(Bark scale)에 의해 주어진다. 서브밴드는 높은 중심 주파수에 대해서는 더욱 크게 된다. 시스템의 가능한 구현은 적절한 방식으로 배열되는 1.5 내지 6 kHz의 범위의 9 서브밴드를 이용한다.
다음의 처리 단계는 각 서브밴드 및 각 시간 블록에 대한 각 시간/주파수 해상도에 대해 개별적으로 수행된다. 처리 단계(801)는 스펙트럼 평활화(spectral smoothing)를 수행한다. 사실상, 음조(tonal) 요소뿐만 아니라 파워 스펙트럼의 노치는 평활화될 필요가 있다. 이것은 여러 가지 방식으로 수행될 수 있다. 음조 측정은 계산되어, 적응 평활화 필터를 구동하는데 이용될 수 있다. 대안적으로, 이러한 블록의 간단한 구현에서, 중간값형(median-like) 필터가 이용될 수 있다. 중간값 필터는 값의 벡터를 고려하여, 중간값을 출력한다. 중간값형 필터에서, 50 %와 다른 분위수(quantile)에 상응하는 값이 선택될 수 있다. 필터 폭은 Hz로 정의되고, 저 주파수에서 시작하고, 최고 가능 주파수에서 끝나는 비선형 이동 평균으로 적용된다. (801)의 동작은 도 7에 도시된다. 적색 곡선은 평활화의 출력이다.
평활화가 수행되면, 임계값은 주파수 마스킹만을 고려하여 블록(802)에 의해 계산된다. 또한, 이 경우에는 다른 가능성이 있다. 하나의 방식은 마스킹 에너지 Ei를 계산하는 각 서브밴드에 대해 최소를 이용하는 것이다. 이것은 효과적으로 마스킹을 동작하는 신호의 상응하는 에너지이다. 이러한 값에서, 마스킹된 에너지 Ji를 획득하도록 어떤 스케일링 계수를 곱할 수 있다. 이들 계수는 각 서브밴드 및 시간/주파수 해상도에 대해 서로 다르며, 경험적 음향 심리학 실험을 통해 획득된다. 이들 단계는 도 8에 도시된다.
블록(805)에서, 시간적 마스킹이 고려된다. 이 경우에, 동일한 서브밴드에 대해 서로 다른 시간 블록이 분석된다. 마스킹된 에너지 Ji는 경험적으로 유도된 포스트마스킹(postmasking) 프로파일에 따라 수정된다. 2개의 인접한 시간 블록, 즉, k-1 및 k를 고려한다. 상승하는 마스킹된 에너지는 Ji(k-1) 및 Ji(k)이다. 포스트마스킹 프로파일은, 예컨대, 마스킹 에너지 Ei가 시간 k에서는 에너지 Ji를 마스킹할 수 있고, 시간 k+1에서는 에너지
Figure pct00015
를 마스킹할 수 있음을 정의한다. 이 경우에, 블록(805)은 Ji(k)(현재 시간 블록에 의해 마스킹된 에너지)와
Figure pct00016
(이전 시간 블록에 의해 마스킹된 에너지)를 비교하여, 최대를 선택한다. 포스트마스킹 프로파일은 문헌에서 이용 가능하며, 경험적 음향 심리학 실험을 통해 획득되었다. 큰 Tb, 즉, > 20 ms에 대해, 포스트마스킹은 짧은 시간 윈도우에 따른 가진 시간/주파수 해상도에만 적용된다는 것에 주목한다.
요약하면, 블록(805)의 출력에서, 2개의 서로 다른 시간/주파수 해상도에 대해 획득된 각 서브밴드 및 시간 블록마다 마스킹 임계값을 갖는다. 임계값은 주파수 및 시간 마스킹 현상의 양방을 고려하여 획득되었다. 블록(806)에서, 서로 다른 시간/주파수 해상도에 대한 임계값은 병합된다. 예를 들면, 가능한 구현은 (806)이 비트가 할당되는 시간 및 주파수 간격에 상응하는 모든 임계값을 고려하여, 최소를 선택한다는 것이다.
3.2.3 진폭 계산 블록(503)
도 9를 참조한다. (503)의 입력은 모든 음향 심리학 동기 부여된 계산(motivated calculations)이 실행되는 음향 심리학 모델(502)로부터의 임계값(505)이다. 진폭 계산기(503)에서, 임계값에 따른 추가적인 계산이 수행된다. 첫째로, 진폭 매핑(901)이 발생한다. 이러한 블록은 단지 섹션 3.1에서 정의된 비트 형성 함수를 스케일링하는데 사용될 수 있는 진폭으로 마스킹 임계값(보통 에너지로 표현됨)을 변환한다. 그 후에, 진폭 적응 블록(902)이 실행된다. 이러한 블록은 마스킹 임계값이 실제로 충족되도록 워터마크 생성기(101)에서 비트 형성 함수를 곱하는데 이용되는 진폭
Figure pct00017
을 반복적으로 적응시킨다. 사실상, 이미 논의된 바와 같이, 비트 형성 함수는 보통 Tb보다 큰 시간 간격으로 연장한다. 그래서, 포인트 i, j에서 마스킹 임계값을 충족하는 정확한 진폭
Figure pct00018
을 곱하는 것은 포인트 i, j-1에서 요건을 반드시 충족시키지 않는다. 이것은 특히 프리에코(preecho)가 들릴 때에 강한 온셋(onsets)에서 중요하다. 회피될 필요가 있는 다른 상황은 가청 워터마크에 이를 수 있는 서로 다른 비트의 테일(tails)의 부적절한 중첩(unfortunate superposition)이다. 그래서, 블록(902)은 임계값이 충족되었는지를 검사하기 위해 워터마크 생성기에 의해 생성된 신호를 분석한다. 충족되지 않은 경우에는 이에 따라 진폭
Figure pct00019
을 수정한다.
이것으로 인코더 측에 대해서는 끝맺는다. 다음의 섹션은 수신기(또한 워터마크 디코더로 명시됨)에서 수행되는 처리 단계로 처리한다.
3.3 분석 모듈(203)
분석 모듈(203)은 워터마크 추출 프로세스의 제 1 단계(또는 블록)이다. 이의 목적은 워터마킹된 오디오 신호(200a)를 각 스펙트럼 서브밴드 i에 대해 하나인 Nf 비트 스트림
Figure pct00020
(또한 (204)로 명시됨)으로 다시 변환하기 위한 것이다. 이들은 제각기 섹션 3.4 및 3.5에서 논의되는 바와 같이 동기화 모듈(201) 및 워터마크 추출기(202)에 의해 더 처리된다.
Figure pct00021
는 소프트 비트 스트림이고, 즉, 이들은, 예컨대, 어떤 실수 값을 취할 수 있고, 어떠한 경판정(hard decision)도 아직 행해지지 않음에 주목한다.
분석 모듈은 도 16에 도시되는 세 부분: 분석 필터 뱅크(1600), 진폭 정상화(normalization) 블록(1604) 및 차등 디코딩(1608)으로 구성된다.
3.3.1 분석 필터 뱅크(1600)
워터마킹된 오디오 신호는 도 10a에 상세히 도시된 분석 필터 뱅크(1600)에 의해 시간 주파수 도메인으로 변환된다. 필터 뱅크의 입력은 수신되는 워터마킹된 오디오 신호r(t)이다. 이의 출력은 시간 인스턴트(time instant) j에서 제 i 브랜치 또는 서브밴드에 대한 복소 계수
Figure pct00022
이다. 이들 값은 중심 주파수 fi 및 시간
Figure pct00023
에서 신호의 위상 및 진폭에 관한 정보를 포함한다.
필터 뱅크(1600)는 각 스펙트럼 서브밴드 i에 대해 하나인 Nf 브랜치로 구성된다. 각 브랜치는 동 위상(in-phase) 성분에 대한 상위 서브브랜치 및 서브밴드 i의 직교 성분에 대한 하위 서브브랜치로 분할된다. 워터마크 생성기에서의 변조 및 워터마킹된 오디오 신호는 순전히 실수 값으로 되고, 수신기에서의 신호의 복소수 값 분석은 채널 및 동기화 정렬 불량(misalignments)에 의해 도입되는 변조 콘스텔레이션(modulation constellation)의 회전이 수신기에 알려져 있지 않기 때문에 필요하다. 다음에는, 필터 뱅크의 제 i 브랜치를 고려한다. 동 위상 및 직교 서브브랜치를 조합함으로써, 다음과 같은 복소수 값 베이스밴드 신호
Figure pct00024
를 정의한다:
Figure pct00025
(10)
여기서, *는 콘볼루션(convolution)을 나타내고,
Figure pct00026
는 서브밴드 i의 수신기 저역 통과 필터의 임펄스 응답이다. 보통
Figure pct00027
는 일치된 필터 조건을 충족하기 위해 변조기(307)에서 서브밴드 i의 베이스밴드 비트 형성 함수
Figure pct00028
와 동일하지만, 다른 임펄스 응답이 또한 가능하다.
레이트 I=Tb를 가진 계수
Figure pct00029
를 획득하기 위해, 연속 출력
Figure pct00030
이 샘플링되어야 한다. 비트의 정확한 타이밍이 수신기에 의해 알려지면, 레이트 I=Tb를 가진 샘플링은 충분하다. 그러나, 비트 동기화가 아직 알려져 있지 않을 때, 샘플링은 레이트 Nos/Tb로 수행되며, 여기서, Nos는 분석 필터 뱅크의 오버샘플링 인수이다. Nos를 충분히 크게(예컨대, Nos = 4) 선택함으로써, 적어도 하나의 샘플링 사이클이 이상적 비트 동기화에 충분히 가깝게 할 수 있다. 최상의 오버샘플링 층에서의 결정은 동기화 프로세스 중에 행해져, 모든 오버샘플링된 데이터는 그때까지 유지된다. 이러한 프로세스는 섹션 3.4에서 상세히 설명된다.
제 i 브랜치의 출력에서는, 계수
Figure pct00031
를 가지며, 여기서, j는 비트 수 또는 시간 인스턴트를 나타내고, k는 단일 비트 내에서 오버샘플링 위치를 나타내며, 여기서, k = 1; 2; ..., Nos이다.
도 10b는 시간 주파수 평면에 계수의 위치의 예시적인 개요도를 제공한다. 오버샘플링 인수는 Nos = 2이다. 사각형의 높이 및 폭은 제각기 상응하는 계수
Figure pct00032
에 의해 표현되는 신호의 부분의 대역폭 및 시간 간격을 나타낸다.
서브밴드 주파수 fi가 어떤 간격 △f의 배수로 선택되면, 분석 필터 뱅크는 고속 푸리에 변환(FFT)을 이용하여 효율적으로 구현될 수 있다.
3.3.2 진폭 정상화(1604)
보편성(generality)의 손실 없이, 설명을 단순화하기 위해서는, 비트 동기화가 알려지고, 다음에는 Nos = 1이다라고 가정한다. 즉, 정상화 블록(1604)의 입력에 복소 계수
Figure pct00033
를 갖는다. 어떤 채널 상태 정보도 수신기(예컨대, 알려지지 않은 전파 채널)에서 이용할 수 없을 때, 동일한 이득 조합(EGC) 방식이 이용된다. 시간 및 주파수 분산 채널로 인해, 송신된 비트 bi(j)의 에너지는 중심 주파수 fi 및 시간 인스턴트 j 주변에서뿐만 아니라, 인접 주파수 및 시간 인스턴트에서 찾아질 수 있다. 그래서, 더욱 정확한 가중치를 위해, 주파수 fi에서의 추가 계수 ±n △f가 계산되어, 계수
Figure pct00034
의 정상화를 위해 이용된다. n = 1이면, 예컨대, 다음을 갖는다:
Figure pct00035
(11)
n > 1에 대한 정상화는 상기 식의 간단한 확장이다. 동일한 형식에서, 또한 하나 이상의 시간 인스턴트를 고려하여 소프트 비트를 정상화하도록 선택할 수 있다. 정상화는 각 서브밴드 i 및 각 시간 인스턴트 j에 대해 수행된다. EGC의 실제 조합은 추출 프로세스의 나중 단계에서 행해진다.
3.3.3 차등 디코딩(1608)
차등 디코딩 블록(1608)의 입력에서는, 주파수 fi 및 시간 인스턴트 j 에서 신호 성분의 위상에 관한 정보를 포함하는 진폭 정상화된 복소 계수
Figure pct00036
를 갖는다. 비트가 별도로 송신기에서 인코딩될 때, 역 연산이 여기에서 수행된다. 소프트 비트
Figure pct00037
는 먼저 두 연속 계수의 위상차를 계산하여 다음과 같은 실수부를 취하여 획득된다:
Figure pct00038
(12)
Figure pct00039
(13)
이것은 채널이 일반적으로 각 서브밴드에서 서로 다른 위상 회전을 도입하기 때문에 각 서브밴드에 대해 개별적으로 수행되어야 한다.
3.4 동기화 모듈(201)
동기화 모듈의 태스크는 워터마크의 시간 정렬을 찾기 위한 것이다. 디코더를 인코딩된 데이터에 동기화하는 문제는 두 부분으로 된다. 제 1 단계에서, 분석 필터 뱅크는 인코딩된 데이터와 정렬되어야 하며, 즉 변조기에서 합성 시에 이용되는 비트 형성 함수
Figure pct00040
는 분석에 이용되는 필터
Figure pct00041
와 정렬되어야 한다. 이러한 문제는 도 12a에 도시되며, 여기서, 분석 필터는 합성 필터와 동일하다. 상부에서는, 3개의 비트가 보인다. 간단함을 위해, 모든 3개의 비트에 대한 파형은 스케일링되지 않는다. 서로 다른 비트 사이의 시간적 오프셋은 Tb이다. 하부는 디코더에서 동기화 이슈(issue)를 예시한다: 필터는 서로 다른 시간 인스턴트에 적용될 수 있지만, 적색으로 표시된 위치(곡선(1299a))만이 정확하고, 최상의 신호 대 잡음 비율 SNR 및 신호 대 간섭 비율 SIR을 가진 제 1 비트를 추출하도록 한다. 사실상, 잘못된 정렬은 SNR 및 SIR 모두의 성능 저하로 이어진다. 이러한 제 1 정렬 이슈를 "비트 동기화"로 나타낸다. 비트 동기화가 달성되었으면, 비트는 최적으로 추출될 수 있다. 그러나, 메시지를 정확하게 디코딩하기 위해서는, 어느 비트에서 새로운 메시지가 시작하는지를 알 필요가 있다. 이러한 이슈는 도 12b에 예시되며, 메시지 동기화로 지칭된다. 디코딩된 비트의 스트림에서, 적색으로 표시된 시작 위치(위치(1299b))만이 정확하고, 제 k 메시지를 디코딩하도록 한다.
먼저 메시지 동기화만 다룬다. 섹션 3.1에 설명된 바와 같이, 동기화 서명은 워터마크에 지속적이고 주기적으로 삽입되는(embedded) 미리 정해진 순서의 Ns 시퀀스로 구성된다. 동기화 모듈은 동기화 시퀀스의 시간적 정렬을 검색할 수 있다. 크기 Ns에 따라, 제각기 도 12c 및 12d에 도시되는 두 동작 모드를 구별할 수 있다.
전체 메시지 동기화 모드(도 12c)에서는 Ns= Nm/Rc를 갖는다. 도면에서 간단함을 위해, Ns= Nm/Rc = 6이고, 시간 확산, 즉 Nt = 1이라고 가정한다. 예시를 위해 이용되는 동기화 서명은 메시지 아래에 나타낸다. 사실은, 이들 메시지는, 섹션 3.1에 설명된 바와 같이, 코딩된 비트 및 주파수 확산 시퀀스에 따라 변조된다. 이러한 모드에서, 동기화 서명의 주기성은 메시지 중 하나와 동일하다. 그래서, 동기화 모듈은 동기화 서명의 시간적 정렬을 찾아 각 메시지의 시작을 식별할 수 있다. 새로운 동기화 서명이 동기화 히트(hits)로 시작하는 시간적 위치를 참조한다. 그 후, 동기화 히트는 워터마크 추출기(202)로 통과된다.
제 2 가능한 모드, 부분 메시지 동기화 모드(도 12b)는 도 12d에 도시된다. 이 경우에는, Ns < Nm = Rc를 갖는다. 도면에서는, 3개의 동기화 시퀀스가 각 메시지에 대해 두 번 반복되도록 Ns = 3를 취하였다. 메시지의 주기성은 동기화 서명의 여러 주기성일 필요가 없다는 것을 주목한다. 이러한 동작의 모드에서는 모든 동기화 히트가 메시지의 시작에 상응하지 않는다. 동기화 모듈은 히트를 구별하는 수단이 없으며, 이러한 태스크는 워터마크 추출기(202)에 제공된다.
동기화 모듈의 처리 블록은 도 11a 및 11b에 도시된다. 동기화 모듈은 동기화 서명 상관기(1201)의 출력을 분석하여 한 번에 비트 동기화 및 메시지 동기화(전체 또는 부분 중 하나)를 수행한다. 시간/주파수 도메인(204)의 데이터는 분석 모듈에 의해 제공된다. 비트 동기화가 아직 이용할 수 없을 때, 블록(203)은 섹션 3.3에 설명된 바와 같이 인수 Nos로 데이터를 오버샘플링한다. 입력 데이터의 실례는 도 12e에 제공된다. 이러한 예의 경우에는, Nos = 4, Nt = 2, 및 Ns = 3을 취하였다. 환언하면, 동기화 서명은 3개의 시퀀스(a, b 및 c로 표시됨)로 구성된다. 이 경우에, 확산 시퀀스
Figure pct00042
를 가진 시간 확산은 단순히 시간 도메인에 두 번 각 비트를 반복한다. 정확한 동기화 히트는 화살표로 표시되고, 각 동기화 서명의 시작에 상응한다. 동기화 서명의 기간은
Figure pct00043
이며, 이는 예컨대 2ㆍ4 ㆍ 3 = 24이다. 동기화 서명의 주기성으로 인해, 동기화 서명 상관기(1201)는 첨자가 검색 블록 길이를 나타내는 크기
Figure pct00044
의 검색 블록이라는 블록으로 시간 축을 임의로 나눈다. 모든 검색 블록은 도 12f에 도시된 바와 같이 하나의 동기화 히트를 포함해야한다(또는 전형적으로 포함한다).
Figure pct00045
비트의 각각은 후보 동기화 히트이다. 블록(1201)의 태스크는 각 블록의 후보 비트의 각각에 대해 우도 측정(likelihood measure)을 계산하는 것이다. 그 다음, 이러한 정보는 동기화 히트를 계산하는 블록(1204)으로 전달된다.
3.4.1 동기화 서명 상관기(1201)
Figure pct00046
후보 동기화 위치의 각각에 대해, 동기화 서명 상관기는 우도 측정을 계산하며, 후자가 크면 클수록, 시간적 정렬(비트 및 부분 또는 전체 메시지 동기화의 양방)이 찾아졌다는 가능성이 더 많다. 처리 단계는 도 12g에 도시된다.
따라서, 서로 다른 위치 선택과 관련된 우도 값(likelihood values)의 시퀀스(1201a)가 획득될 수 있다.
블록(1301)은 시간적 역 확산을 수행하며, 즉, 시간적 확산 시퀀스 ct와 모든 Nt 비트를 곱한 후, 이들을 합산한다. 이것은 Nf 주파수 서브밴드의 각각에 대해 수행된다. 도 13a는 일례를 도시한다. 이전의 섹션에서 설명된 것과 동일한 매개 변수, 즉, Nos = 4, Nt = 2, 및 Ns = 3을 취한다. 후보 동기화 위치가 표시된다. 그 비트에서, Nos 오프셋으로, NtㆍNs은 Ns 비트가 남아 있도록 블록(1301)에 의해 시퀀스 ct에 따른 시간 역 확산이 취해진다.
블록(1302)에서, 비트는 Ns 확산 시퀀스와 요소 측면에서 곱해진다(도 13b 참조).
블록(1303)에서, 주파수 역 확산이 수행되며, 즉, 각 비트는 확산 시퀀스 Cf와 곱해진 후에 주파수를 따라 합산된다.
이 시점에서, 동기화 위치가 정확하다면, Ns 디코딩된 비트를 갖는다. 비트가 수신기에 알려지지 않을 때, 블록(1304)은 Ns 값의 절대값을 취함으로써 우도 측정을 계산하여 합산한다.
블록(1304)의 출력은 원칙적으로 동기화 서명을 찾는 넌코히어런트(non coherent) 상관기이다. 사실상, 작은 Ns, 즉 부분 메시지 동기화 모드를 선택할 때, 서로 직교하는 동기화 시퀀스(예컨대, a, b, c)를 이용할 수 있다. 그렇게 함으로써, 상관기가 서명과 정확히 정렬되지 않을 때, 이의 출력은 매우 작은, 이상적으로는 0일 것이다. 전체 메시지 동기화 모드를 이용하면, 가능한 많은 직교 동기화 시퀀스를 이용하여, 이들이 이용되는 순서를 신중히 선택하여 서명을 생성하는 것이 바람직하다. 이 경우에, 동일한 이론이 양호한 자동 상관 함수로 확산 시퀀스를 찾을 때에 적용될 수 있다. 상관기가 약간만 오정렬되면, 상관기의 출력은 이상적인 경우에서도 0이 될 수 없지만, 결국은 분석 필터가 신호 에너지를 최적으로 캡처할 수 없음에 따라 완전한 정렬에 비해 더 작아질 것이다.
3.4.2 동기화 히트 계산(1204)
이러한 블록은 동기화 위치가 있는 곳을 판단하기 위해 동기화 서명 상관기의 출력을 분석한다. 시스템이 Tb/4까지 정렬 불량에 대해 매우 강하고, Tb가 일반적으로 40 ms 주위에서 취해지므로, 더욱 안정적인 동기화를 달성하기 위해 시간이 지남에 따라 (1201)의 출력을 통합할 수 있다. 이것의 가능한 구현은 기하급수적으로 감소하는 임펄스 응답과 함께 시간을 따라 적용되는 IIR 필터에 의해 제공된다. 대안적으로, 통상의 FIR 이동 평균 필터가 적용될 수 있다. 평균이 수행되면, 서로 다른 NtㆍNs를 따라 제 2 상관이 수행된다("서로 다른 위치 선택"). 사실상, 동기화 함수의 자기 상관(autocorrelation) 함수가 알려져 있는 정보를 이용하기를 원한다. 이것은 최대 우도 추정량(Maximum Likelihood estimator)에 상응한다. 아이디어는 도 13c에 도시된다. 곡선은 시간적 통합 후에 블록(1201)의 출력을 나타낸다. 동기화 히트를 결정하는 하나의 가능성은 이러한 함수의 최대를 간단히 찾는 것이다. 도 13d에서는 동기화 서명의 자기 상관 함수로 필터링되는 동일한 함수(흑색)를 참조한다. 생성된 함수는 적색으로 도시된다. 이 경우에, 최대가 더욱 표명되어, 동기화 히트의 위치를 제공한다. 두 가지 방법은 높은 SNR에 대해서 매우 비슷하지만, 제 2 방법은 낮은 SNR 영역(regimes)에서 더 양호하게 수행한다. 동기화 히트가 찾아졌다면, 이들은 데이터를 디코딩하는 워터마크 추출기(202)로 전달된다.
일부 실시예들에서, 강력한 동기화 신호를 획득하기 위해, 동기화는 짧은 동기화 서명을 가진 부분 메시지 동기화 모드에서 수행된다. 이러한 이유로, 많은 디코딩이 행해져야 해, 거짓 포지티브(false positive) 메시지 검출의 위험을 증가시킨다. 이를 방지하기 위해, 일부 실시예들에서, 신호 시퀀스는 결과적으로 낮은 비트 레이트로 메시지에 삽입될 수 있다.
이러한 접근 방식은 향상된 동기화에 대해 이미 상기 논의에서 다루어진 메시지보다 짧은 동기화 서명에서 발생하는 문제에 대한 해결책이다. 이 경우에, 디코더는 새로운 메시지가 시작하고, 여러 동기화 포인트에서 디코딩하기를 시도하는 곳을 알지 못한다. 합법적인 메시지 및 거짓 포지티브(false positives)를 구별하기 위해, 일부 실시예들에서, 신호 워드(signaling word)가 이용된다(예컨대, 페이로드가 알려진 제어 시퀀스를 삽입하도록 희생된다). 일부 실시예들에서, 타당성 검사가 합법적인 메시지와 거짓 포지티브를 구별하기 위해 (대안적으로 또는 부가적으로) 이용된다.
3.5 워터마크 추출기(202)
워터마크 추출기(202)를 구성하는 부분은 도 14에 도시된다. 이것은 2개의 입력, 즉 제각기 블록(203 및 201)으로부터의 (204 및 205)를 갖는다. 동기화 모듈(201)(섹션 3.4 참조)은 동기화 타임스탬프, 즉, 후보 메시지가 시작하는 시간 도메인에서의 위치를 제공한다. 이 문제에 대한 더욱 상세 사항은 섹션 3.4에 제공된다. 다른 한편, 분석 필터뱅크 블록(203)은 디코딩될 준비가 되어 있는 시간/주파수 도메인에 데이터를 제공한다.
제 1 처리 단계, 데이터 선택 블록(1501)은 입력(204)으로부터 디코딩될 후보 메시지로 식별된 부분을 선택한다. 도 15b는 이러한 절차를 그래프로 도시한다. 입력(204)은 실제 값의 Nf 스트림으로 구성된다. 시간 정렬이 선험적으로 디코더에 알려져 있지 않으므로, 분석 블록(203)은 1/Tb Hz보다 높은 레이트(오버샘플링)로 주파수 분석을 수행한다. 도 15b에서, 4의 오버샘플링 인수가 이용되었으며, 즉, 크기 Nf×1의 4 벡터가 Tb 초마다 출력된다. 동기화 블록(201)이 후보 메시지를 식별할 때, 그것은 후보 메시지의 시작점을 나타내는 타임스탬프(205)를 제공한다. 선택 블록(1501)은 디코딩을 위해 필요한 정보, 즉 크기 Nf×Nm/Rc의 매트릭스를 선택한다. 이러한 매트릭스(1501a)는 더 처리를 위해 블록(1502)에 제공된다.
블록(1502, 1503 및 1504)은 섹션 3.4에 설명된 블록(1301, 1302 및 1303)의 동일한 동작을 수행한다.
본 발명의 대안적 실시예는 동기화 모듈이 또한 디코딩될 데이터를 제공하여 (1502-1504)에서 행해진 계산을 방지하는데에 있다. 개념적으로 그것은 상세 사항이다. 구현 관점에서, 그것은 바로 버퍼가 실현되는 방법의 문제이다. 일반적으로, 계산을 다시 함으로써, 더욱 작은 버퍼를 가질 수 있다.
채널 디코더(1505)는 블록(302)의 역 동작을 수행한다. 이러한 모듈의 가능한 실시예에서, 채널 인코더가 인터리버(interleaver)와 함께 콘볼루션 인코더로 구성되면, 채널 디코더는, 예컨대, 잘 알려진 비터비(Viterbi) 알고리즘으로 디인터리빙 및 콘볼루션 디코딩을 수행한다. 이러한 블록의 출력에서 Nm 비트, 즉, 후보 메시지를 갖는다.
블록(1506), 신호 및 타당성 블록은 입력 후보 메시지가 실제로 메시지인지의 여부를 판단한다. 이렇게 하기 위해, 서로 다른 전략이 가능하다.
기본적인 아이디어는 (CRC 시퀀스와 같은) 신호 워드를 이용하여 참(true)과 거짓(false) 메시지를 구별하는 것이다. 그러나, 이것은 페이로드로서 이용 가능한 비트의 수를 감소시킨다. 대안적으로, 타당성 검사를 사용할 수 있다. 예를 들면, 메시지가 타임스탬프를 포함하면, 연속 메시지는 연속 타임스탬프를 가져야 한다. 디코딩된 메시지가 정확한 순서가 아닌 타임스탬프를 가질 경우에는 그것을 폐기할 수 있다.
메시지가 정확히 검출되었을 때, 시스템은 미리 보기 및/또는 다시 보기 메커니즘을 적용하도록 선택할 수 있다. 비트 및 메시지 동기화의 양방은 달성되었음을 가정한다. 사용자가 재핑(zapping)하지 않음을 가정하면, 시스템은 시간적으로 "다시 보기"하여, 동일한 동기화 포인트(다시 보기 접근 방식)를 이용하여 (이미 디코딩되지 않은 경우) 지난 메시지를 디코딩하기를 시도한다. 이것은 특히 시스템이 시작할 때에 유용하다. 더욱이, 나쁜 조건에서, 그것은 동기화를 달성하기 위해 2개의 메시지를 취할 수 있다. 이 경우에, 제 1 메시지는 기회가 없다. 다시 보기 옵션으로, 역(back) 동기화로 인해서만 수신되지 않은 "양호한" 메시지를 저장할 수 있다. 미리 보기는 동일하지만, 미래에 작업한다. 지금 메시지를 가지면, 다음 메시지가 있어야 할 장소를 알고, 어쨌든 그것을 디코딩하기를 시도할 수 있다.
3.6. 동기화 상세 사항
페이로드의 인코딩의 경우, 예를 들면, 비터비 알고리즘이 이용될 수 있다. 도 18a는 페이로드(1810), 비터비 종료 시퀀스(1820), 비터비 인코딩된 페이로드(1830 및 비터비 코딩된 페이로드의 반복 코딩된 버전(1840)의 그래픽 표현을 도시한다. 예를 들면, 페이로드의 길이는 34 비트일 수 있고, 비터비 종료 시퀀스는 6 비트를 포함할 수 있다. 예를 들면, 1/7의 비터비 코드 레이트가 이용될 수 있을 경우, 비터비 코딩된 페이로드는 (34+6)*7=280 비트를 포함할 수 있다. 더욱이, 1/2의 반복 코딩을 사용함으로써, 비터비 인코딩된 페이로드(1830)의 반복 코딩된 버전(1840)은 280*2=560 비트를 포함할 수 있다. 이러한 예에서, 42.66 ms의 비트 시간 간격을 고려하면, 메시지의 길이는 23.9 s이다. 도 18b에 도시된 주파수 스펙트럼에 의해 나타낸 바와 같이, 신호는, 예컨대, 1.5 내지 6 kHz의 (예컨대, 임계 대역에 따라 배치된) 9개의 부반송파를 가질 수 있다. 대안적으로, 또한 0과 20 kHz 사이의 주파수 범위 내에서 부반송파의 다른 수(예컨대, 4, 6, 12, 15 또는 2와 20 사이의 수)가 사용될 수 있다.
도 19는 또한 ABC 동기화라는 동기화에 대한 기본 개념(1900)의 개략도를 도시한다. 그것은 코딩되지 않은 메시지(1910), 코딩된 메시지(1920) 및 동기화 시퀀스(동기(synch) 시퀀스)(1930) 뿐만 아니라 서로에 후행하는 여러 메시지(1920)에 대한 동기화의 적용의 개략도를 도시한다.
(도 19-23에 도시된) 이러한 동기화 개념의 설명과 관련하여 언급된 동기화 시퀀스 또는 동기 시퀀스는 상술한 동기화 서명과 동일할 수 있다.
더욱이, 도 20은 동기 시퀀스와 상관하여 찾아진 동기화의 개략도를 도시한다. 동기화 시퀀스(1930)가 메시지보다 짧은 경우, 하나 이상의 동기화 포인트(1940)(또는 정렬 시간 블록)는 단일 메시지 내에서 찾아질 수 있다. 도 20에 도시된 예에서, 4개의 동기화 포인트는 각 메시지 내에서 찾아진다. 그래서, 찾아진 각 동기화에 대해, 비터비 디코더(비터비 디코딩 시퀀스)가 시작될 수 있다. 이러한 방식으로, 각 동기화 포인트(1940)에 대해, 메시지(2110)는 도 21에 나타낸 바와 같이 획득될 수 있다.
이들 메시지에 기초하여, 도 22에 도시된 바와 같이, 참 메시지(2210)는 CRC 시퀀스(순환 중복 검사 시퀀스) 및/또는 타당성 검사에 의해 식별될 수 있다.
CRC 검출(순환 중복 검사 검출)은 알려진 시퀀스를 이용하여 거짓 포지티브로부터 참 메시지를 식별할 수 있다. 도 23은 페이로드의 끝에 추가된 CRC 시퀀스에 대한 예를 도시한다.
거짓 포지티브(잘못된 동기화 포인트에 기초하여 생성된 메시지)의 가능성은 CRC 시퀀스의 길이 및 시작된 비터비 디코더의 수(단일 메시지 내의 동기화 포인트의 수)에 의존할 수 있다. 거짓 포지티브의 가능성을 증가시키지 않고 페이로드의 길이를 증가시키기 위해서는, 타당성이 이용될 수 있거나(타당성 테스트), 동기화 시퀀스(동기화 서명)의 길이가 증가될 수 있다.
4. 개념 및 이점
다음에는, 혁신적인 것으로 간주되는 상술한 시스템의 일부 양태가 설명될 것이다. 또한, 첨단 기술에 대한 이들 양태의 관계가 논의될 것이다.
4.1. 지속적 동기화
일부 실시예는 지속적 동기화를 고려한다. 동기화 서명으로 나타내는 동기화 신호는 전송측 및 수신측의 양방에 알려진 시퀀스(또한 동기화 확산 시퀀스로 명시됨)와 곱셈을 통해 데이터에 지속적이고 병렬로 포함된다.
일부 통상의 시스템은 (데이터에 이용된 것과 다른) 특수 기호를 사용하지만, 본 발명에 따른 일부 실시예들은 이와 같은 특수 기호를 사용하지 않는다. 다른 고전적인 방법은 데이터와 시간 멀티플렉싱되는 비트의 알려진 시퀀스(프리앰블(preamble))를 포함하거나, 데이터와 주파수 멀티플렉싱되는 신호를 포함하는 것으로 구성된다.
그러나, 채널이 동기화를 신뢰할 수 없게 하는 주파수에서 노치(notch)들을 가질 때에 동기화를 위한 전용 서브밴드를 이용하는 것은 바람직하지 않은 것으로 발견되었다. 프리앰블 또는 특수 기호가 데이터와 시간 멀티플렉싱되는 다른 방법에 비해, 본 명세서에 설명된 방법은 (예컨대, 움직임으로 인해) 동기화의 변화를 지속적으로 추적할 수 있음에 따라 더 유리하다.
더욱이, 워터마크 신호의 에너지는 (확산 정보 표현으로의 워터마크의 곱셈 도입(multiplicative introduction)에 의해) 변화되지 않으며, 동기화는 음향 심리학 모델 및 데이터 속도와 무관하게 설계될 수 있다. 동기화의 견고성을 결정하는 동기화 서명의 시간의 길이는 데이터 속도와 완전히 무관하게 마음대로 설계될 수 있다.
다른 고전적인 방법은 데이터와 코드 멀티플렉싱되는 동기화 시퀀스를 포함하는 것으로 구성된다. 이러한 고전적인 방법에 비해, 본 명세서에 설명된 방법의 이점은 데이터의 에너지가 상관의 계산 시에 간섭 요인(interfering factor)을 나타내지 않아, 더욱 견고하게 한다는 것이다. 더욱이, 코드 멀티플렉싱을 이용할 때, 동기화에 이용 가능한 직교 시퀀스의 수는 일부가 데이터에 필요할 때 감소된다.
요약하면, 본 명세서에 설명된 지속적인 동기화 접근 방식은 종래의 개념에 비해 많은 이점을 갖는다.
그러나, 본 발명에 따른 일부 실시예들에서, 다른 동기화 개념이 적용될 수 있다.
4.2. 2D 확산
제안된 시스템의 일부 실시예들은 시간 및 주파수 도메인 양방에서 확산, 즉 2차원 확산(간략히 2D 확산으로 명시됨)을 수행한다. 이것은 비트 에러 레이트가 예컨대 시간 도메인에서 중복(redundance)을 추가함으로써 더 감소될 수 있음에 따라 1D 시스템에 대해 유리한 것임이 발견되었다.
그러나, 본 발명에 따른 일부 실시예들에서, 다른 확산 개념이 적용될 수 있다.
4.3. 차등 인코딩 및 차등 디코딩
본 발명에 따른 일부 실시예들에서, (종래의 시스템에 비해) 국부 발진기의 움직임 및 주파수 부정합에 대한 견고성의 증가가 차등 변조에 의해 가져온다. 사실상, 도플러 효과(Doppler effect)(움직임) 및 주파수 부정합은 BPSK 콘스텔레이션의 회전(환언하면, 비트의 복소 평면에서의 회전)으로 이어진다는 것이 발견되었다. 일부 실시예들에서, BPSK 콘스텔레이션(또는 어떤 다른 적절한 변조 콘스텔레이션)의 이러한 회전의 불리한 효과는 차등 인코딩 또는 차등 디코딩을 이용함으로써 방지된다.
그러나, 본 발명에 따른 일부 실시예들에서, 다른 인코딩 개념 또는 디코딩 개념이 적용될 수 있다. 또한, 일부 경우에, 차등 인코딩이 생략될 수 있다.
4.4. 비트 형성
본 발명에 따른 일부 실시예들에서, 검출의 신뢰성이 비트 형성에 적응된 필터를 이용하여 증가될 수 있기 때문에, 비트 형성은 시스템 성능의 중요한 개선을 가져온다.
일부 실시예들에 따르면, 워터마킹에 대한 비트 형성의 사용은 워터마킹 프로세스의 향상된 신뢰성을 가져온다. 비트 형성 함수가 비트 간격보다 긴 경우에 특히 양호한 결과가 획득될 수 있다는 것이 발견되었다.
그러나, 본 발명에 따른 일부 실시예들에서, 다른 비트 형성 개념이 적용될 수 있다. 또한, 일부 경우에는, 비트 형성이 생략될 수 있다.
4.5. 음향 심리학 모델(PAM)과 필터 뱅크(FB) 합성 사이의 상호 작용
일부 실시예들에서, 음향 심리학 모델은 비트를 곱하는 진폭을 미세 조정하는 변조기와 상호 작용한다.
그러나, 일부 다른 실시예들에서, 이러한 상호 작용은 생략될 수 있다.
4.6. 미리 보기 및 다시 보기 특징(features)
일부 실시예들에서, 소위 "다시 보기" 및 "미리 보기" 접근 방식이 적용된다.
다음에는, 이들 개념은 간단히 요약될 것이다. 메시지가 정확히 디코딩될 때, 동기화는 달성된 것으로 추정된다. 일부 실시예들에서, 사용자가 재핑하지 않음을 가정하면, 시간적으로 "다시 보기"가 수행되어, 동일한 동기화 포인트(다시 보기 접근 방식)를 이용하여 (이미 디코딩되지 않은 경우) 지난 메시지를 디코딩하는 것이 시도된다. 이것은 특히 시스템이 시작할 때에 유용하다.
나쁜 조건에서, 그것은 동기화를 달성하기 위해 2개의 메시지를 취할 수 있다. 이 경우에, 종래 시스템에서 제 1 메시지는 기회가 없다. 본 발명의 일부 실시예에서 이용되는 다시 보기 옵션으로, 역 동기화로 인해서만 수신되지 않은 "양호한" 메시지를 저장(또는 디코딩)할 수 있다.
미리 보기는 동일하지만, 미래에 작업한다. 지금 메시지를 가지면, 다음 메시지가 있어야 할 장소를 알고, 어쨌든 그것을 디코딩하기를 시도할 수 있다. 따라서, 오버래핑 메시지는 디코딩될 수 있다.
그러나, 본 발명에 따른 일부 실시예들에서, 미리 보기 특징 및/또는 다시 보기 특징은 생략될 수 있다.
4.7. 증가된 동기화 견고성
일부 실시예들에서, 견고한 동기화 신호를 획득하기 위해, 동기화는 짧은 동기화 서명으로 부분 메시지 동기화 모드에서 수행된다. 이러한 이유로, 많은 디코딩이 행해질 필요가 있어, 거짓 포지티브 메시지 검출의 위험을 증가시킨다. 이를 방지하기 위해, 일부 실시예들에서, 신호 시퀀스는 결과적으로 낮은 비트 레이트로 메시지에 삽입될 수 있다.
그러나, 본 발명에 따른 일부 실시예들에서, 동기화 견고성을 향상시키는 다른 개념이 적용될 수 있다. 또한, 일부 경우에, 동기화 견고성을 증가시키기 위한 어떤 개념의 사용은 생략될 수 있다.
4.8. 다른 개선 사항
다음에는, 배경 기술에 대해 상술한 시스템의 일부 다른 일반적인 개선 사항이 제안되어 논의될 것이다:
1. 낮은 계산 복잡도
2. 양호한 음향 심리학 모델로 인한 양호한 오디오 품질
3. 협대역 다중반송파 신호로 인한 반향 환경에서의 더 강한 견고성
4. SNR 추정은 일부 실시예들에서 회피될 수 있다. 이것은 특히 낮은 SNR 영역에서 양호한 견고성을 고려한다.
본 발명에 따른 일부 실시예는 다음과 같은 이유로 예컨대 8Hz의 매우 좁은 대역폭을 사용하는 종래의 시스템보다 양호하다
1. 음향 심리학 모델이 매우 적은 에너지가 들을 수 없게 하기 때문에 8 Hz 대역폭(또는 이와 유사한 매우 좁은 대역폭)은 매우 긴 시간 기호를 필요로 한다.
2. 8 Hz(또는 이와 유사한 매우 좁은 대역폭)는 도플러 스펙트럼을 변화시키는 시간에 대해 민감하게 한다. 따라서, 이와 같은 협대역 시스템은 전형적으로 예컨대 시계에서 구현될 경우에 만족스럽지 않다.
본 발명에 따른 일부 실시예들은 다음과 같은 이유로 다른 기술보다 양호하다:
1. 에코를 입력하는 기술은 잔향실(reverberant room)에서 완전히 실패한다. 대조적으로, 본 발명의 일부 실시예들에서는 에코의 도입이 방지된다.
2. 시간 확산만을 이용하는 기술은 예컨대 시간 및 주파수 양방의 2차원 확산이 이용되는 상술한 시스템의 비교 실시예에서 더 긴 메시지 기간을 갖는다.
본 발명에 따른 일부 실시예들은 DE 196 40 814에 설명되어 있는 시스템보다 더 양호한데, 그 이유는 상기 문서에 따른 시스템의 다음과 같은 많은 결점 중 하나가 극복되기 때문이다:
Figure pct00047
DE 196 40 814에 따른 디코더의 복잡성은 매우 높고, N = 128인 길이 2N의 필터가 이용된다.
Figure pct00048
DE 196 40 814에 따른 시스템은 긴 메시지 기간을 포함한다.
Figure pct00049
DE 196 40 814에 따른 시스템에서는 비교적 높은 확산 이득(예컨대, 128)을 가진 시간 도메인에서만 확산한다.
Figure pct00050
DE 196 40 814에 따른 시스템에서, 신호는 시간 영역에서 생성되고, 스펙트럼 도메인으로 변환되며, 가중되어, 시간 도메인으로 다시 변환되며, 오디오로 중첩되는데, 이는 시스템을 매우 복잡하게 한다.
5. 응용
본 발명은 디지털 데이터를 감추기 위해 오디오 신호를 수정하는 방법, 및 수정된 오디오 신호의 인식된 품질이 원래의 오디오 신호 중 하나와 구별할 수 없게 되는 동안 이러한 정보를 검색할 수 있는 상응하는 디코더를 포함한다.
본 발명의 가능한 응용의 예들은 다음에 주어진다:
1. 방송 모니터링: 예컨대, 스테이션 및 시간에 대한 정보를 포함하는 워터마크는 라디오 또는 텔레비전 프로그램의 오디오 신호에 감추어진다. 테스트 대상자(test subjects)가 휴대하고 있는 소형 장치에 통합된 디코더는 워터마크를 검색하여, 어떤 프로그램 및 시기를 감시하는 광고 대행사에 대한 가치있는 정보를 수집할 수 있다.
2. 감사(auditing): 워터마크는 예컨대, 광고에 감추어질 있다. 어떤 스테이션의 전송을 자동으로 모니터링함으로써, 정확히 광고가 방송된 시기를 알 수 있다. 유사한 방식으로, 서로 다른 라디오의 프로그래밍 스케줄에 관한 통계적 정보, 예컨대, 종종 어떤 악곡(music piece)이 재생되는 방법 등을 검색할 수 있다.
3. 메타데이터 삽입: 제안된 방법은 악곡 또는 프로그램에 관한 디지털 정보, 예컨대, 악곡의 이름 및 저자 또는 프로그램의 기간 등을 감추는데 이용될 수있다.
6. 구현 대안
일부 양태가 장치와 관련하여 설명되었지만, 이들 양태는 또한 상응하는 방법에 대한 설명을 명백히 나타내며, 여기서, 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게도, 방법 단계와 관련하여 설명된 양태는 또한 상응하는 장치의 상응하는 블록 또는 항목 또는 특징에 대한 설명을 나타낸다. 방법 단계의 일부 또는 모두는 예컨대, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 실행될 수 있다. 일부 실시예들에서, 가장 중요한 방법 단계 중 일부의 하나 이상은 이와 같은 장치에 의해 실행될 수 있다.
발명의 인코딩된 오디오 신호는 디지털 저장 매체 상에 저장될 수 있거나, 무선 전송 매체와 같은 전송 매체 또는 인터넷과 같은 유선 전송 매체 상에서 전송될 수 있다.
어떤 구현 요건에 따라, 본 발명의 실시예들은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 이런 구현은 디지털 저장 매체, 예컨대, 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM 또는 플래시 메모리를 이용하여 실행될 수 있으며, 이들은 전자식 판독 가능한 제어 신호를 저장하여, 각각의 방법이 실행되도록 하는 프로그램 가능한 컴퓨터 시스템과 협력한다 (또는 협력할 수 있다). 그래서, 디지털 저장 매체는 컴퓨터 판독 가능할 수 있다.
본 발명에 따른 일부 실시예들은 여기에 설명된 방법 중 하나가 수행되도록 프로그램 가능한 컴퓨터 시스템과 협력할 수 있는 전자식 판독 가능한 제어 신호를 가진 데이터 반송파를 포함한다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 가진 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 이 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행할 시에 방법 중 하나를 수행하기 위해 동작 가능하다. 프로그램 코드는, 예컨대, 머신 판독 가능한 반송파 상에 저장될 수 있다.
다른 실시예들은 머신 판독 가능한 반송파 상에 저장되고, 여기에 설명된 방법 중 하나를 실행하는 컴퓨터 프로그램을 포함한다.
그래서, 환언하면, 발명의 방법의 실시예는, 컴퓨터 프로그램이 컴퓨터에서 실행할 때에, 여기에 설명된 방법 중 하나를 실행하기 위한 프로그램 코드를 가진 컴퓨터 프로그램이다.
그래서, 발명의 방법의 추가 실시예는, 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 기록한 데이터 반송파 (또는 디지털 저장 매체, 또는 컴퓨터 판독 가능한 매체)이다.
그래서, 발명의 방법의 추가 실시예는 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호의 시퀀스이다. 데이터 스트림 또는 신호의 시퀀스는, 예컨대, 데이터 통신 접속을 통해, 예컨대, 인터넷을 통해 전송되도록 구성될 수 있다.
추가 실시예는 여기에 설명된 방법 중 하나를 수행하기 위해 구성되거나 적응되는 처리 수단, 예컨대, 컴퓨터, 또는 프로그램 가능한 논리 장치를 포함한다.
추가 실시예는 여기에 설명된 방법 중 하나를 수행하기 위한 컴퓨터 프로그램을 설치한 컴퓨터를 포함한다.
일부 실시예들에서, 프로그램 가능한 논리 장치(예컨대, 필드 프로그램 가능 게이트 어레이)는 여기에 설명된 방법의 일부 또는 모든 기능을 수행하는데 이용될 수 있다. 일부 실시예들에서, 필드 프로그램 가능 게이트 어레이는 여기에 설명된 방법 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 이들 방법은 바람직하게는 어떤 하드웨어 장치에 의해 수행된다.
상술한 실시예들은 단지 본 발명의 원리를 위해 예시한 것이다. 여기에 설명된 배치 및 상세 사항의 수정 및 변형은 당업자에게는 자명한 것으로 이해된다. 그래서, 여기의 실시예의 설명을 통해 제시된 특정 상세 사항에 의해 제한되지 않고, 첨부한 특허청구범위의 범주에 의해서만 제한되는 것으로 의도된다.

Claims (12)

  1. 워터마킹된 신호(2402)에 따라 바이너리 메시지 데이터(2442)를 제공하는 워터마크 디코더(2400)에 있어서,
    다수의 시간 블록에 대한 상기 워터마킹된 신호(2402)의 주파수 도메인 표현(2412)을 제공하도록 구성된 시간 주파수 도메인 표현 제공자(2410);
    다수의 시간 블록에 대한 상기 워터마킹된 신호(2402)의 상기 주파수 도메인 표현(2412)을 저장하도록 구성된 메모리 유닛(2420);
    다수의 시간 블록의 상기 워터마킹된 신호(2402)의 상기 주파수 도메인 표현(2412)에 기초하여 정렬 시간 블록(2432)을 식별하도록 구성된 동기화 결정기(2430); 및
    식별된 정렬 시간 블록(2432)에 대한 거리를 고려하여 상기 식별된 정렬 시간 블록(2432)에 시간적으로 선행하는 시간 블록의 상기 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현(2422)에 기초하여 바이너리 메시지 데이터(2442)를 제공하도록 구성된 워터마크 추출기(2440)를 포함하는, 워터마크 디코더.
  2. 청구항 1에 있어서,
    불완전한 메시지의 중복 데이터를 사용하여 상기 식별된 정렬 시간 블록(2432)을 포함하는 메시지에 시간적으로 선행하는 상기 워터마킹된 신호(2402)의 불완전 메시지의 바이너리 메시지 데이터(2442)를 제공하도록 구성된 중복 디코더를 포함하는, 워터마크 디코더.
  3. 청구항 1 또는 2에 있어서,
    상기 동기화 결정기(2430)는 다수의 미리 정의된 동기화 시퀀스 및 상기 워터마킹된 신호(2402)의 메시지의 바이너리 메시지 데이터에 기초하여 상기 정렬 시간 블록(2432)을 식별하도록 구성되고, 상기 워터마킹된 신호(2402)의 메시지에 포함된 시간 블록의 수는 상기 다수의 미리 정의된 동기화 시퀀스에 포함된 다른 미리 정의된 동기화 시퀀스의 수보다 큰, 워터마크 디코더.
  4. 청구항 3에 있어서,
    동기화 시퀀스는 상기 워터마킹된 신호(2402)의 상기 주파수 도메인 표현(2412)의 각 주파수 대역 계수에 대한 동기화 비트를 포함하는, 워터마크 디코더.
  5. 청구항 1 내지 4에 있어서,
    상기 제공된 바이너리 메시지 데이터(2442)는 상기 정렬 시간 블록(2432)을 포함하는 메시지에 시간적으로 선행하는 상기 워터마킹된 신호(2402)의 메시지의 콘텐츠를 나타내는, 워터마크 디코더.
  6. 청구항 1 내지 5에 있어서,
    상기 워터마크 추출기(2440)는 상기 식별된 정렬 시간 블록(2432)에 대한 거리를 고려하여 상기 식별된 정렬 시간 블록(2432)에 시간적으로 후행하는 시간 블록의 상기 워터마킹된 신호(2402)의 주파수 도메인 표현(2412)에 기초하여 추가적 바이너리 메시지 데이터를 제공하도록 구성되는, 워터마크 디코더.
  7. 청구항 1 내지 6에 있어서,
    상기 메모리 유닛(2420)은 소거 또는 덮어쓰기를 위해 미리 정의된 저장 시간 후에 상기 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현을 포함하는 메모리 공간을 해제하도록 구성되는, 워터마크 디코더.
  8. 청구항 1 내지 7에 있어서,
    상기 메모리 유닛(2420)은 바이너리 메시지 데이터가 상기 워터마크 추출기(2440)에 의해 소거 또는 덮어쓰기를 위해 상기 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현으로부터 획득된 후에 상기 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현을 포함하는 메모리 공간을 해제하도록 구성되는, 워터마크 디코더.
  9. 워터마킹된 신호에 따라 바이너리 메시지 데이터를 제공하는 방법(2500)에 있어서,
    다수의 시간 블록에 대한 상기 워터마킹된 신호의 주파수 도메인 표현을 제공하는 단계(2510);
    다수의 시간 블록에 대한 상기 워터마킹된 신호의 상기 주파수 도메인 표현을 저장하는 단계(2520);
    다수의 시간 블록의 상기 워터마킹된 신호의 상기 주파수 도메인 표현에 기초하여 정렬 시간 블록을 식별하는 단계(2530); 및
    식별된 정렬 시간 블록에 대한 거리를 고려하여 상기 식별된 정렬 시간 블록에 시간적으로 선행하는 시간 블록의 상기 워터마킹된 신호의 저장된 주파수 도메인 표현에 기초하여 바이너리 메시지 데이터를 제공하는 단계(2540)를 포함하는, 바이너리 메시지 데이터를 제공하는 방법.
  10. 컴퓨터 프로그램이 컴퓨터에서 실행할 때에 청구항 9에 따른 방법을 수행하는 컴퓨터 프로그램.
  11. 워터마킹된 신호(2402)에 따라 바이너리 메시지 데이터(2442)를 제공하는 워터마크 디코더(2400)에 있어서,
    다수의 시간 블록에 대한 상기 워터마킹된 신호(2402)의 주파수 도메인 표현(2412)을 제공하도록 구성된 시간 주파수 도메인 표현 제공자(2410);
    다수의 시간 블록에 대한 상기 워터마킹된 신호(2402)의 상기 주파수 도메인 표현(2412)을 저장하도록 구성된 메모리 유닛(2420);
    다수의 시간 블록의 상기 워터마킹된 신호(2402)의 상기 주파수 도메인 표현(2412)에 기초하여 정렬 시간 블록(2432)을 식별하도록 구성된 동기화 결정기(2430); 및
    정렬 시간 블록(2432)의 식별에 의한 동기화가 이용 가능하기 전에 수신된 메시지의 바이너리 메시지 데이터를 이용하도록, 식별된 정렬 시간 블록(2432)에 대한 거리를 고려하여 상기 식별된 정렬 시간 블록(2432)에 시간적으로 선행하는 시간 블록의 상기 워터마킹된 신호(2402)의 저장된 주파수 도메인 표현(2422)에 기초하여 바이너리 메시지 데이터(2442)를 제공하도록 구성된 워터마크 추출기(2440)를 포함하는, 워터마크 디코더.
  12. 워터마킹된 신호에 따라 바이너리 메시지 데이터를 제공하는 방법(2500)에 있어서,
    다수의 시간 블록에 대한 상기 워터마킹된 신호의 주파수 도메인 표현을 제공하는 단계(2510);
    다수의 시간 블록에 대한 상기 워터마킹된 신호의 상기 주파수 도메인 표현을 저장하는 단계(2520);
    다수의 시간 블록의 상기 워터마킹된 신호의 상기 주파수 도메인 표현에 기초하여 정렬 시간 블록을 식별하는 단계(2530); 및
    정렬 시간 블록(2432)의 식별에 의한 동기화가 이용 가능하기 전에 수신된 메시지의 바이너리 메시지 데이터를 이용하도록, 식별된 정렬 시간 블록에 대한 거리를 고려하여 상기 식별된 정렬 시간 블록에 시간적으로 선행하는 시간 블록의 상기 워터마킹된 신호의 저장된 주파수 도메인 표현에 기초하여 바이너리 메시지 데이터를 제공하는 단계(2540)를 포함하는, 바이너리 메시지 데이터를 제공하는 방법.
KR1020127024979A 2010-02-26 2011-02-22 바이너리 메시지 데이터를 제공하는 워터마크 디코더 및 방법 KR101411657B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10154951A EP2362383A1 (en) 2010-02-26 2010-02-26 Watermark decoder and method for providing binary message data
EP10154951.7 2010-02-26
PCT/EP2011/052627 WO2011104246A1 (en) 2010-02-26 2011-02-22 Watermark decoder and method for providing binary message data

Publications (2)

Publication Number Publication Date
KR20120112884A true KR20120112884A (ko) 2012-10-11
KR101411657B1 KR101411657B1 (ko) 2014-06-25

Family

ID=42315855

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127024979A KR101411657B1 (ko) 2010-02-26 2011-02-22 바이너리 메시지 데이터를 제공하는 워터마크 디코더 및 방법

Country Status (17)

Country Link
US (1) US9299356B2 (ko)
EP (2) EP2362383A1 (ko)
JP (1) JP5665886B2 (ko)
KR (1) KR101411657B1 (ko)
CN (1) CN102959621B (ko)
AU (1) AU2011219842B2 (ko)
BR (1) BR112012021542B8 (ko)
CA (1) CA2790969C (ko)
ES (1) ES2440970T3 (ko)
HK (1) HK1177651A1 (ko)
MX (1) MX2012009856A (ko)
MY (1) MY152218A (ko)
PL (1) PL2524373T3 (ko)
RU (1) RU2586845C2 (ko)
SG (1) SG183465A1 (ko)
WO (1) WO2011104246A1 (ko)
ZA (1) ZA201207152B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133363A (ko) * 2018-05-23 2019-12-03 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP6574551B2 (ja) 2014-03-31 2019-09-11 培雄 唐沢 音響を用いた任意信号の伝達方法
CN106409301A (zh) * 2015-07-27 2017-02-15 北京音图数码科技有限公司 数字音频信号处理的方法
US11397241B2 (en) * 2019-10-21 2022-07-26 Hossein Ghaffari Nik Radio frequency life detection radar system
RU2767962C2 (ru) 2020-04-13 2022-03-22 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для распознавания воспроизведенного речевого фрагмента
US11915711B2 (en) * 2021-07-20 2024-02-27 Direct Cursus Technology L.L.C Method and system for augmenting audio signals

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02206233A (ja) * 1989-02-03 1990-08-16 Fujitsu Ltd 移動端末データモニタ方式
FR2681997A1 (fr) 1991-09-30 1993-04-02 Arbitron Cy Procede et dispositif d'identification automatique d'un programme comportant un signal sonore.
ES2229214T3 (es) 1992-11-16 2005-04-16 Arbitron Inc. Metodo y aparato para codificar/decodificar segmentos radiodifundidos o grabados y para vigilar la exposicion de la audiencia a ellos.
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
HU219256B (en) 1994-03-31 2001-03-28 Arbitron Co Apparatus and method for including a code having at least one code frequency component with an audio signal having a plurality of audio signal frequency components
US5450490A (en) 1994-03-31 1995-09-12 The Arbitron Company Apparatus and methods for including codes in audio signals and decoding
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
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
EP1493155A1 (en) 2002-03-28 2005-01-05 Koninklijke Philips Electronics N.V. Window shaping functions for watermarking of multimedia signals
US20040249862A1 (en) * 2003-04-17 2004-12-09 Seung-Won Shin Sync signal insertion/detection method and apparatus for synchronization between audio file and text
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 ヤマハ株式会社 電子透かし情報の埋め込みおよび抽出を行う装置、方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190133363A (ko) * 2018-05-23 2019-12-03 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치

Also Published As

Publication number Publication date
EP2524373B1 (en) 2013-12-11
CN102959621A (zh) 2013-03-06
MX2012009856A (es) 2012-09-12
AU2011219842A1 (en) 2012-10-11
HK1177651A1 (en) 2013-08-23
EP2524373A1 (en) 2012-11-21
JP2013529311A (ja) 2013-07-18
PL2524373T3 (pl) 2014-05-30
CA2790969C (en) 2018-01-02
AU2011219842B2 (en) 2014-08-14
WO2011104246A1 (en) 2011-09-01
US9299356B2 (en) 2016-03-29
ES2440970T3 (es) 2014-01-31
BR112012021542A2 (pt) 2017-07-04
SG183465A1 (en) 2012-09-27
BR112012021542B1 (pt) 2020-12-15
CN102959621B (zh) 2014-11-05
RU2586845C2 (ru) 2016-06-10
MY152218A (en) 2014-08-29
ZA201207152B (en) 2013-06-26
RU2012140756A (ru) 2014-04-10
KR101411657B1 (ko) 2014-06-25
BR112012021542B8 (pt) 2022-03-15
EP2362383A1 (en) 2011-08-31
CA2790969A1 (en) 2011-09-01
US20130218313A1 (en) 2013-08-22
JP5665886B2 (ja) 2015-02-04

Similar Documents

Publication Publication Date Title
KR101401174B1 (ko) 워터마크 신호 제공기 및 워터마크 신호 제공 방법
KR101411101B1 (ko) 워터마크 신호 제공 및 워터마크 임베딩
KR101419164B1 (ko) 개선된 동기화 개념을 이용한 워터마크 생성기, 워터마크 디코더, 워터마크 신호를 제공하는 방법, 워터마킹된 신호에 기초하여 이진 메시지 데이터를 제공하는 방법 및 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 저장 매체
KR101419162B1 (ko) 차동 인코딩을 이용하는 워터마크 발생기, 워터마크 디코더, 이진 메시지 데이터에 의존하여 워터마크 신호를 제공하기 위한 방법, 워터마킹된 신호에 의존하여 이진 메시지 데이터를 제공하기 위한 방법, 및 컴퓨터 프로그램
KR101419163B1 (ko) 워터마크 생성기, 워터마크 디코더, 이진 메시지 데이터에 기초하여 워터마크 신호를 제공하는 방법, 워터마킹된 신호에 기초하여 이진 메시지 데이터를 제공하는 방법 및 이차원 비트 확산을 이용한 프로그램이 저장된 컴퓨터 판독 가능한 디지털 저장 매체
KR101411657B1 (ko) 바이너리 메시지 데이터를 제공하는 워터마크 디코더 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180611

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190611

Year of fee payment: 6