KR20050098258A - 코딩된 신호내의 워터마크 임베딩 - Google Patents

코딩된 신호내의 워터마크 임베딩 Download PDF

Info

Publication number
KR20050098258A
KR20050098258A KR1020057013602A KR20057013602A KR20050098258A KR 20050098258 A KR20050098258 A KR 20050098258A KR 1020057013602 A KR1020057013602 A KR 1020057013602A KR 20057013602 A KR20057013602 A KR 20057013602A KR 20050098258 A KR20050098258 A KR 20050098258A
Authority
KR
South Korea
Prior art keywords
vlcs
vlc
modified
decoded
coding method
Prior art date
Application number
KR1020057013602A
Other languages
English (en)
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 KR20050098258A publication Critical patent/KR20050098258A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • G06T1/0035Output size adaptive watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0053Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

선택된 DCT 계수들을 변경함으로써 압축된 비디오 신호를 워터(리)마크하는 방법 및 장치를 개시한다. 비트율이 그에 따라 너무 크게 감소되는 것을 피하기 위해, 선택된 가변-길이 코드워드들은 이스케이프 코드들로 표현된다. ESC 코드들이 비트율을 너무 크게 증가시키는 것을 피하기 위해(ESC 코드는 대응하는 VLC 워드보다 7 내지 21 비트 더 길다), 비트율은 작은 데이터 청크들의 유닛들에서 제어된다. VLC가 처리되는 동안, 테이블은 후보 ESC 코드들로 채워진다. 비트율 제어기는 ESC 코드로서 하나의 VLC를 적절한 재-인코딩함으로써 원래의 데이터 청크와 처리된 데이터 청크 사이의 차이가 0이 되도록 한다.

Description

코딩된 신호내의 워터마크 임베딩{Embedding a watermark in a coded signal}
본 발명은 코딩된 신호를 워터마킹하는 것에 관한 것으로, 제한되는 것은 아니지만, 특히 압축된 비디오 신호를 워터마킹하는 방법에 관한 것이다.
코딩된 신호들, 특히 압축된 코딩된 신호들의 워터마킹은, 더 큰 데이터스트림의 일부를 형성하는 압축된 데이터의 고정된 크기로 달성된다. 워터마크를 부가하기 위해, 압축된 데이터 내의 수 개의 코드 워드들이 변화된다. 이는 데이터 크기의 변화를 야기한다. 데이터 청크(data chunk)로 말할 수 있는, 재-인코딩된 데이터를 원래의 데이터스트림에 결합하기 위해, 데이터 크기는 동기화 및 신택스 정확성 등에 대한 문제점들을 방지하도록 원래의 고정된 크기와 동일해야만 한다.
압축된 미디어 신호에 워터마크를 임베딩하는 알려진 방법은, 1997년, ICASSP, vol 4, pp 2621-2624에 발행된, F.Hartung 및 B.Girod의 "비트스트림 도메인의 비디오 코딩된 MPEG2의 디지털 워터마킹(Digital watermarking of MPEG2 coded video in the bitstream domain)"에 개시되었다. 이러한 종래기술 공보에서, 미디어 신호는 비디오 신호이고, 그 신호 샘플들은 이미지 픽셀들을 DCT 처리함으로써 획득된 이산 코사인 변환(discrete cosine transform; DCT) 계수들이다. 워터마크는 DCT 변환된 의사-노이즈 시퀀스(pseudo-noise sequence)이다. 워터마크는 DCT 변환된 노이즈 시퀀스를 비디오 신호들의 대응하는 DCT 계수들에 부가함으로써 임베딩된다. MPEG-코딩된 신호의 0의 값을 갖는 계수들은 영향받지 않는다.
종래기술 워터마크 임베딩 체계의 문제점은, DCT 계수들이 가변-길이 코드 워드들로 표현되기 때문에, 이미 압축된 비트스트림의 DCT 계수들의 변경이 비트율을 변화시킨다는 것이다. 일반적으로, 증가된 비트율은 상기한 이유들로 허용가능하지 않다. 그러므로, 종래기술의 임베더(embedder)는 워터마크된 계수의 전송이 비트율을 증가시키는지의 여부를 검사하고, 그러한 경우 원래의 계수를 전송한다. 마찬가지로, 비트율의 감소 또한 바람직하지 않다. 예를 들어, MPEG 시스템들에서, 비트율의 변화는 디코더의 버퍼들의 오버플로우 또는 언더플로우, 및 비트스트림의 타이밍 정보의 위치 변화를 야기할 수 있다.
데이터스트림의 원래의 고정된 크기와 같도록 데이터 청크들의 크기를 증가시키는 것이 필요할 수 있다. 작은 데이터 청크들의 이러한 유형의 데이터 확장을 이루는 유일한 방식은 이스케이프 코드들(Escape codes)로서 가변 길이 코드들(variable length codes; VLC들)을 재-인코딩하는 것이다. 비트 스터핑(bit stuffing)으로 알려진, 즉 데이터 청크를 요구되는 크기로 "팩 아웃(pack out)"하기 위해 비트들을 부가하는 처리는, 대부분의 데이터 청크들에서 시작 코드들이 표현되지 않기 때문에 불가능하다. 문제점은 이스케이프 코딩의 결과가 예측가능하지 않다는 것이다. 예를 들어, MPEG를 사용하여 가장 작은 DCT-VLC를 이스케이프 코드로서 재-인코딩하는 것은, 비트들의 수를 21비트 증가시키는 것이 된다. 이스케이프 코드로서 가장 큰 DCT-VLC를 재-인코딩하는 것은 7비트의 비트 증가가 된다. 이스케이프 코드로서 다른 DCT-VLC들을 재-인코딩하는 것은 7 내지 21비트 사이의 증가를 발생시킨다. 따라서, 1 내지 6비트 사이의 증가는 발생 불가능하고, 21비트 이상의 증가는 이스케이프 코드들로서 다중 DCT-VLC들을 재-인코딩함으로써 발생되어야 한다. 더욱이, 이스케이프 코드들로서 재-인코딩하도록 어느 VLC들이 데이터 청크들 내에 존재하는지를 미리 알 수 없다. 최악의 경우, 적절한 VLC가 없을 수도 있다. 300비트의 비트 증가를 얻기 위해, 상기 비트의 양을 정확히 발생하는 것과 이스케이프 코드들로서 코딩된 다수의 VLC들의 조합이 밝혀져야 한다. 이러한 것은 해결하기에 특히 어려운 문제들이다. 올바른 조합을 찾는 데 얼마나 오래 걸릴지는 미리 예측할 수 없다. 상기 문제점을 해결하기 위해, 실시간 검색 알고리즘을 사용하는 것은 매우 강력한 프로세서 또는 엄청난 양의 메모리를 필요로 한다. 비용으로 인해, 이러한 실행가능 솔루션들 모두는 상기 문제점을 접하는 소비자 전자제품 분야에서 수용불가능한 요구사항들이다.
다른 배경 정보는 본 출원인의 공개되지 않은 공동-계류중인 국제 특허 출원 IB/02/02737(대리인 문서 PHNL010493EPP)에서 찾을 수 있다.
따라서, 데이터 크기 일치의 문제점에 대한 대안적 솔루션이 요구된다.
도 1은 MPEG2 전송 스트림(TS) 포맷으로 코딩된 비디오 데이터를 리마크(remark)하기 위한 체계를 도시하는 개략도.
도 2는 도 1에 도시된 패킷 리마커(remarker)의 개략도.
도 3은 도 2에 도시된 패키지 리마커의 RAM 메모리 소자의 개략도.
본 발명의 목적은 상기 단점들을 해결하는 것이다.
본 발명의 제 1 양상에 따라, 미디어 신호의 샘플들이 가변-길이 코드 워드들(VLC들)로 표현되는, 압축된 미디어 신호의 처리 방법이 제공되고, 다음 단계들:
- 샘플의 VLC들을 디코딩하는 단계;
- 주어진 신호 처리 알고리즘에 따라 상기 다수의 디코딩된 VLC들을 변경하는 단계;
- 상기 변경된 디코딩된 VLC들을 제 1 코딩 방법에 의해 변경된 VLC들로 인코딩하는 단계;
- 상기 변경된 디코딩된 VLC들을 제 2 코딩 방법에 의해 적어도 하나의 코드 길이로 디코딩하는 단계;
- 상기 다수의 변경된 VLC들 각각에 대해, 대응하는 변경되지 않은 VLC의 길이에 가장 가까운 길이를 갖는, 제 1 또는 제 2 방법에 의해 코딩된 상기 변경된 VLC를 선택하는 단계; 및
- 상기 선택된 변경된 VLC들과 변경되지 않은 VLC들을 결합하는 단계를 포함한다.
바람직하게, 제 1 코딩 방법은 표준 VLC 코딩 방법이다. 바람직하게, 제 2 코딩 방법은 이스케이프 코딩 방법이다.
제 2 코딩 방법은 VLC의 비트 크기를 증가시킬 수 있는 다른 워터마킹 알고리즘 또는 그 비트 사이즈를 증가시키도록 VLC 계수들에 노이즈를 간단히 부가하는 알고리즘일 수 있다.
바람직하게, 변경된 인코딩된 VLC들은 제 2 코딩 방법을 사용하여 다수의 길이들로 인코딩하고, 바람직하게 제 2 코딩 방법은 제 1 코딩 방법보다 긴 7 내지 21비트의 코드들을 제공한다.
신호 처리 알고리즘은 바람직하게 워터마크 알고리즘이다.
바람직하게, 디코딩된 VLC들은 단지 특정 기준에 따라 변경되고, 상기 기준은 적용된 워터마크의 가시성에 영향을 준다.
방법은 바람직하게 비트-스터핑 기술들에 의해, 바람직하게 제 1 코딩 방법에 의해 코딩된 상기 변경된 VLC들에 대해, 비트들을 인코딩된 변경된 VLC들에 삽입하는 단계를 포함한다.
방법은 바람직하게 다른 패킷들을 참조하지 않고, VLC들의 패킷들, 바람직하게 188 바이트 패킷들을 개별적으로 처리하는 것을 포함한다.
본 발명의 다른 양상에 따라 압축된 미디어 신호를 위한 신호 처리 디바이스는:
- 가변-길이 코드 워드들(VLC들)로 표현되는 압축된 미디어 신호의 샘플들을 디코딩하도록 동작가능한 디코더;
- 주어진 신호 처리 알고리즘에 따라 상기 다수의 디코딩된 VLC들을 변경하는 수단;
- 제 1 코딩 방법에 의해 상기 변경된 디코딩된 VLC들을 변경된 VLC들로 인코딩하도록 동작가능한 제 1 인코더;
- 제 2 코딩 방법에 의해 상기 변경된 디코딩된 VLC들을 변경된 VLC들로 인코딩하도록 동작가능한 제 2 인코더;
- 상기 제 1 및 제 2 인코더로부터 상기 변경된 디코딩된 VLC들을 버퍼링하도록 동작가능한 메모리 수단; 및
- 상기 다수의 변경된 VLC들에 대해, 변경되지 않은 VLC의 길이에 가장 가까운 변경된 VLC를 제 1 인코더 또는 제 2 인코더 중 어느 하나로부터 선택하도록 동작가능한 제어기를 포함한다.
제어기는 바람직하게 비트율 제어기이다.
신호 처리 디바이스는 바람직하게 워터마킹 디바이스이다.
본 발명을 더욱 잘 이해하고, 동일한 효과를 초래하는지를 나타내기 위해, 본 발명의 특정 실시예들이 첨부 도면들을 참조하여 예시적으로 설명된다.
다음의 방법은 "더 이상 카피없음(no more copies)" 워터마크를 MPEG2 전송 스트림(TS) 또는 프로그램 스트림(PS) 포맷의 (아마도 이미 워터마크된) 비디오 신호에 삽입하는 알고리즘을 설명한다. MPEG2 비디오 압축 표준에 관한 다른 정보는:
1996년, 비디오 국제 표준의 [ISO96:1] ISO/IEC 13818:1:1996(E), "정보 기술-동화상 및 관련 오디오 정보의 일반적 코딩:시스템들(Information Technology-Generic Coding of Moving Pictures and Associated Audio Information:Systems)", 및
1996년, 비디오 국제 표준의 [ISO96:2] ISO/IEC 13818:2:1996(E), "정보 기술-동화상 및 관련 오디오 정보의 일반적 코딩:비디오(Information Technology-Generic Coding of Moving Pictures and Associated Audio Information:Video)"에서 찾을 수 있다.
본 출원인의 (이하 "VWM 명세서"로 부르는) 국제 특허 출원 WO-A-02/060182에서, 워터마크 임베딩 기술에 의해 사용되는 "실행-병합(run-merging)"의 기본 원리가 설명된다.
전송 스트림에 대한 원래의 알고리즘의 사용상의 문제점은, 작은 패킷들 상에서 수행되기 위해 큰 메모리 용량 또는 비트율 제어 중 어느 하나가 필요하다는 것이다. 이러한 것이 실질적으로 임베딩의 효율성을 감소시킴으로서, 다음에서 설명되는 알고리즘은 다음의 세 가지 툴들: 실행-병합 알고리즘(비트의 양을 감소시킴), 이스케이프-코딩의 사용 및 스터핑 비트들의 추가를 사용하는 더욱 정교한 비트율 제어를 갖는다. 이러한 방법으로, 메모리 및 계산적 복잡성에 대해 수용가능한 비용으로 패킷 당 비트율 제어로 효율적인 임베딩을 수행할 수 있다. 전송 스트림의 패킷들이 프로그램 스트림의 패킷들보다 더 작음에 따라(188 바이트 대 2 킬로바이트), 본 발명은 전송 스트림(TS)을 위한 솔루션에 초점을 둔다. PS 패킷들을 188 바이트의 서브-패킷들로 분할하고 서브-패킷들을 TS-패킷들과 동일한 방식으로 처리함으로써, PS 솔루션은 TS 솔루션으로부터 유도된다.
다음에서 설명되는 TS/PS 알고리즘은 다음의 특징들을 갖는다:
적응된 비트율 제어를 갖는 표준 실행 병합 기술을 사용함;
디-멀티플렉싱(de-multiplexing) 및 리-멀티플렉싱(re-multiplexing)을 피하도록 다른 TS 패킷들을 참조하지 않고 각각의 188 바이트 TS 패킷을 개별적으로 리마크함;
하나의 특정 패킷 식별자(PID)에 의해 선택된, TS의 비디오 스트림 범위로부터 단지 하나의 비디오 기본 스트림(Video Elementary Stream; VES)을 리마크함(병렬 리마크로 확장하는 것이 가능함).
TS 스트림들에 대해 상기 VWM 명세서로부터의 비디오 기본 스트림(VES) 리마커를 적응시키는 것에 대한 주요 문제점은, 매우 큰 메모리 용량을 필요로 하거나 TS 패킷 당 (리마크된 스트림이 원래의 스트림과 동일한 크기를 갖는다는 것을 보장하는) 비트율 제어를 필요로 한다는 것이다. 전자는 실리콘-비용의 큰 증가로 인해 매우 고비용이다. 비트율 제어에 대한 후자의 경우는 효율적 임베딩 강도를 획득하기 위해 원래의 VES 솔루션에서보다 매우 복잡해질 필요가 있다. 리마커의 기초를 이루는 실행-병합 기술은 스트림의 길이를 감소시키기 위한 강한 의도를 갖는다. VES 리마커에 대한 비트율 제어는, 원래의 스트림과 동일한 크기가 되도록 스트림의 길이를 다시 증가시키기 위해 스터핑 비트의 삽입을 사용한다. 하나의 TS 패킷 내에는 스터핑 비트들을 삽입하기 위한 매우 제한된 공간만이 존재한다. 이는 스트림의 길이를 증가시키기 위해 부가적인 툴들이 필요한 경우에 적용한다. 이에 대해, 이스케이프-코딩의 사용이 도입된다. 이는 매우 다기능적 툴로서, 리마크된 스트림의 VLC들의 각각을 이스케이프-코드로 대체하기 위한 가능성을 제공한다. 이러한 다기능성의 어려움은, 실행-레벨 쌍이 VLC-인코딩되는지 또는 이스케이프-코딩되는지의 결정이 매우 어려운 조합적 문제를 발생시킨다는 것이다. 다음 섹션에서 설명되는 비트율 제어 알고리즘은 선택적 솔루션에 비해 매우 감소된 복잡성을 갖는 하위-선택적 솔루션이다.
도 1에 도시된 바와 같이, 리마커(10)는 VES(비디오 기본 스트림) 추출기(12), 패킷 리마커(14) 및 TS 복원기(reconstructor; 16)의 세 기본 블록들로 구성되어 있다.
소자들의 동작은 다음과 같다.
VES 추출기(12)는 TS 패킷(18)을 두 개의 작은 청크들로 분할하고, 청크(20)는 리마크되어야 하는 PID 및 모든 다른 데이터, 예컨대 다른 PID들의 비디오 바이트, 오디오 바이트, PES 헤더, TS 헤더 등을 갖는 청크(22)에 대응하는 비디오 스트림의 VES-바이트들을 포함한다.
패킷 리마커(14)는 워터마크된 출력 청크(20a)가 원래의 입력 청크(20)와 정확히 동일한 수의 비트들을 갖는 방식으로 VES 바이트들을 갖는 청크(20)에 리마크를 부가한다. 패킷 리마커(14)의 실행의 상세 설명은 다음에 제공된다.
TS 복원기(16)는 유효한 리마크된 TS 스트림을 구성하도록 두 청크들(20a 및 22)을 재결합한다.
패킷 리마커(14)가 더욱 상세히 설명된다.
이전 섹션에서 설명된 바와 같이, VES 리마커와 비교하여 주요한 차이점은 더욱 복잡한 비트율 제어이다. 그러므로, 본 섹션에서, 비트율 제어기 소자(26)에 대한 중요성과 함께 패킷 리마커(14)의 실행을 설명한다. 다음에서 패킷 리마커의 모든 컴포넌트들의 실행을 더욱 상세히 설명한다.
도 2는 패킷 리마커(14)의 기본 블록들을 도시한다. 적응된 비트율 제어를 달성하기 위해, 리마커(14)는 RAM 메모리(28)의 중심부의 둘레로 설계되었다. 모든 동작들은 상기 메모리(28)에 저장된 정보에 따라 수행된다. 임베딩의 가장 복잡한 양상은 비트율 제어이다. 이는 비트율 제어기(26)와 메모리(28) 사이의 강한 상호작용을 야기할 뿐만 아니라 MPEG 파서(parser; 30)와 최종자(finaliser)가 메모리 상에서 동작하도록 한다.
인입 청크(incoming chunk; 20)의 수신에 따라, MPEG 파서(30)는 모든 AC-VLC들을 추출한다. 이는 MPEG 인코딩 파라미터들 및 대응하는 매크로-블록의 프레임 내 공간적 위치와 같은 관련 정보와 함께 VLC 프로세서(34)로 전송된다. VLC 프로세서(34)는 VWM 명세서에서 상기한 바와 같이 코어 실행-병합 기술(core run-merge technique)을 포함한다. 이는 인입 휘도 AC-VLC들을 실행-레벨 쌍들에 대해 디코딩하고, 상기 실행-레벨 쌍들의 스트림은 (공간적 워터마크 패턴으로부터 유도된 바와 같은 AC-VLC들의 변화 방향을 포함하는) VM DTC 버퍼(36)의 정보에 기초하여 실질적으로 변화된다. 다음으로 결과적 실행-레벨 쌍들은 비트율 제어기(26)로 전송된다. 실행-병합 기술의 응용으로 인해, VLC 프로세서(34)의 들어가는 실행-레벨 쌍들의 수보다 그 나오는 수가 작다는 것을 유의한다. 비트율 제어기(26)는 워터마크된 실행-레벨 쌍들을 인코딩하고 이를 메모리(28)에 전송한다. 이는 원래의 스트림(20)의 대응하는 부분만큼 큰 리마크된 청크(20a)의 부분을 최대화하는 (다음에서 설명하는 바와 같은) 방식으로 행해진다. 다음으로 최종자(32)는, 원래의 스트림(20) 내의 상기 대응하는 부분을 그 리마크된 카운터파트(counterpart)로 대체함으로써 원래와 동일한 크기의 리마크된 청크(20a)를 생성한다. 이후 결과적 청크(20)는 TS 복원기(16)에 전송된다(도 1 참조).
비트율 제어기(26)에 의해 이루어진 접근을 설명한다. 전체 비트율 제어 전략은 리마크된 버전(20a)의 크기를 원래의 버전(20)과 가능한 비슷하게 유지하는 것에 기초한다. 이를 달성하는 방식들 중 한 가지는 VWM 명세서에서 설명한 VES 리마커에 대한 것과 동일한 방식으로, 시작-코드 이전에 스터핑 비트들을 부가하는 것이다. 그러나, 주요 방식은 이스케이프-코딩의 사용에 의한 것이다. 원래의 청크(20)의 카피(copy)는 메모리(28)에 저장된다(이른바 "백업 버퍼"(40), 도 3 참조). 청크의 리마크된 버전은 도 3의 이른바 "기록 버퍼"(42)에 저장된다. 기록 버퍼(42)에서, 워터마크되지 않은 청크(20)의 대응하는 부분과 정확히 동일한 크기를 갖는 워터마크된 청크(20a)의 부분의 시작과 종료를 지시하는 두 개의 포인터들이 위치한다. 실행-레벨 쌍의 수신에 따라, 실행-레벨 쌍의 VLC가 계산된다. 이는 메모리(28)의 기록 버퍼(42)에 부가된다. 더욱이, 메모리(28)의 "이스케이프-테이블"(44)에서, 엔트리가 VLC(3과 17 비트 사이의 크기)와 대응하는 이스케이프-코드(24 비트의 고정 크기) 사이의 길이 차이에 의해 생성되고 인덱스(index)된다. 이제, 기록 버퍼(42)와 백업 버퍼(40) 사이의 길이 차이가 계산된다.
이스케이프-테이블(44)이 VLC와 이스케이프-코드 사이의 크기 차이가 버퍼 길이들의 차이와 동일한 것에 대해 엔트리를 포함하는 경우, 대응하는 VLC는 이스케이프-코드에 의해 대체된다. 이제 버퍼들(40, 42)이 정확하게 동일한 크기의 두 개의 대응하는 부분들을 포함하는 것을 유의한다. 따라서, 기록 버퍼(42)의 두 포인터들은 갱신될 필요가 있다.
두 버퍼들(40, 42) 사이의 길이 차이가 완전히 제거되기에 너무 큰 경우, 상기한 방식으로 비트율 제어기(26)는 또한 이스케이프-코드들에 의해 VLC들을 대체함으로써 길이 차이를 줄이는 것을 시도할 것이다. 변화들의 수를 감소시키기 위해, 코드-크기에서 최대 증가를 갖는 대체가 사용된다.
모든 컴포넌트들이 더욱 상세히 설명된다.
MPEG 파서
MPEG 파서(30)는 두 개의 태스크들(tasks)을 갖는다. 그 제 1 태스크는 휘도 VCL들(I, P 및 B 프레임들)에 대한 정보를 수집하기 위해 MPEG 스트림을 부분적으로 해석하는 것이다. 이는 다음 정보들을 수집한다:
ㆍ 소스 매크로-블록의 상단(x, y)-좌표,
ㆍ 대응하는 매크로-블록에서의 소스 8x8 블록의 위치,
ㆍ 8x8 블록에서의 VLC 스캔 위치,
ㆍ 스캔 유형(지그재그, 교차),
ㆍ VLC 코드 유형(필드, 프레임),
ㆍ 양자화 단계 크기,
ㆍ VLC 크기,
ㆍ 현재 그림 유형, 및
ㆍ 현재 매크로-블록 유형.
더욱이, 이는 비트-스터핑 위치들을 검색한다. 이러한 것들은 (가변 "시작-코드 시작"에 의해 지시되고 파서(30)에 의해 비트율 제어기(26)에 통신되는) 시작 코드들 이전의 위치들이다.
제 2 태스크는 MPEG 스트림으로부터 휘도 및 색차(chrominance) AC-DCT들을 나타내는 AC-VLC들을 추출하는 것이다. AC-VLC들은 VLC들에 대한 정보와 함께 VLC 프로세서(34)에 전달된다. 모든 원래의 MPEG 코드-워드들은 또한 메모리(RAM)블록(28)에 전달된다. 각각의 코드-워드는 코드-워드가 전체 AC-VLC인지 아닌지의 여부를 지시하는 플래그와 함께 메모리(28)에 저장된다. 완전한 VLC들만이 VLC-프로세서(34)에 전달되고, 청크의 경계를 교차하는 VLC들은 VLC 프로세서(34)에 의해 고려되지 않는다.
VLC 프로세서
VLC-프로세서(34)에서 실제 임베딩이 발생한다. 이는 휘도 및 색차 컴포넌트들 양측 모두로부터 AC-VLC들을 수신한다. 색차 AC-VLC들은 바로 디코딩되고 결과적 실행-레벨 쌍들은 비트율 제어기(26)에 전달된다. 휘도 AC-VLC들은 워터마크를 임베딩하도록 처리된다. 이는 VWM 명세서에서 상기한 VES 리마커에서와 동일한 방식으로 행해진다. 대략적 설명이 다음에서 제공되고 관심있는 독자는 VWM 명세서로 더욱 상세한 정보 및 도면들을 참조한다. 휘도 AC-DCT 계수들의 실행-레벨 쌍들을 나타내는 VLC들을 시작으로 다음 태스크들이 수행된다:
1. 실행-레벨 쌍들에 대해 VLC들을 디코딩;
2. 휘도 DCT 계수들로부터 후보 실행-레벨 쌍들 선택. 후보 실행-레벨 쌍들은 -1 또는 1과 동등한 레벨을 갖는 실행-레벨 쌍들;
3. VLC에 대응하는 DCT 변화 방향의 WM 버퍼 어드레스 계산. WM-DCT 버퍼(36)로부터의 변화 방향 페치(fetch);
4. 다음 네 조건들이 만족되는 경우, 후보(실행, 레벨) 쌍들을 선택적으로 병합:
4.a WM DCT 버퍼(36)에서의 대응하는 변화 방향을 더한 레벨은 0과 같다.
((레벨= -1)&&(WM 버퍼= +1)) 또는 ((레벨= +1)&&(WM 버퍼= -1))
4.b 병합은 단일 인간 시각 모델에 따라 시각적 품질에 심한 영향을 주지 않는다.
5. 처리된 모든 실행-레벨 쌍들(Y, U 및 V에 대해)을 비트율 제어기(26)에 전달한다.
조건들(4.b, 4.c 및 4.d)은 워터마크의 가시성을 제어한다. I, P 및 B에 대한 3 DCT 에너지 임계치들, EI, EP 및 EB가 존재한다. 이러한 임계치들은 양자화 단계들의 기능으로 변화들의 수 즉, 0, 1 및 2로 제한할 수 있다. End_of_Block 또는 End_of_Chunk에 따라, VLC 프로세서(34)는 리셋(reset)된다.
WM-DCT 버퍼(ROM)
WM-DCT 버퍼(36)는 VWM 명세서에 더욱 상세히 설명되어 있다.
메모리(RAM)
RAM 메모리(28)는 도 3에 도시된다. 이는 백업 버퍼(40), 기록 버퍼(42)(양측 크기는 184 바이트) 및 이스케이프-테이블(44)로 구성된다. MPEG 파서(30)는 인입 청크(20)의 원래의 VES 데이터를 백업 버퍼(BB)(40)에 저장한다. 워터마크된 버전은 제 2 버퍼, 기록 버퍼(42)(WB)에서 발생된다. 버퍼들(40, 42)은 왼쪽에서 오른쪽으로 채워진다. 양측 버퍼들은 최종 기록 비트 다음의 제 1 위치에 판독 포인터(46)(RP, 백업 버퍼(40)를 위한) 및 기록 포인터(48)(WP, 기록 버퍼(42)에서)로 명명된 포인터를 갖는다. MPEG 파서(30)는 모든 데이터를 백업 버퍼(40)에 전송한다. 또한, 전체 AC-VLC들을 제외한 모든 데이터들을 기록 버퍼(42)에 전송한다. 기록 버퍼(42)에 대한 전체 AC-VLC들은 비트율 제어기(25)에 의해 발생된다. 메모리는 백업 포인터(BP)(50) 및 가외 백업 포인터(52)(Extra Backup Pointer; EBP)로 명명된 두 개의 포인터들을 포함한다. 기록 버퍼(42)에서, 이러한 포인터들은 워터마크되지 않은 카운터파트와 완전히 동일한 크기를 갖는 워터마크된 청크의 시작 및 종료를 각각 지시한다. 이러한 포인터들은 비트율 제어기에 의해 설정된다. 백업 포인터(50)와 기록 포인터(48) 사이의 기록 버퍼(42)의 부분은 백업 버퍼(40)에서 워터마크되었지만 아직 대응하는 부분과 동일한 크기를 갖지 않는 부분을 지시한다. 일반적으로, 가외 백업 포인터(52)는 기록 버퍼(42)의 시작을 가리킨다. 이는 청크의 (버퍼의 시작과 버퍼의 시작-코드 사이의) 개시 부분의 크기가 실행-병합 기술에 의해 증가하는 경우 오른쪽으로 시프트한다(1b 아래의 하위-섹션, 시작 코드 시작으로 시작하는 섹션 참조).
이스케이프-테이블(44)은 7 내지 21 범위의 15 로우(row)들을 포함한다. 각각의 로우는 비어있거나 기록 버퍼(42)로부터의 특정 VLC를 기술한다. 로우 i가 비어있지 않은 경우(i는 7 내지 21의 범위), VLC가 이스케이프-코드로 대체될 때 i 비트를 갖는 기록 버퍼(42)를 증가시키는 VLC가 존재한다. 이스케이프-테이블(44)은 비트율 제어기(26)에 의해 관리(administer)된다. 비트율 제어기(26)는 때때로 비트율을 제어하기 위해 상기 테이블로부터의 VLC를 이스케이프-코드로 대체한다.
비트율 제어기
본 섹션에서, 비트율 제어기(26)를 더욱 상세히 설명한다. 비트율 제어기(26)의 액션들의 설명 사이에서, 수행될 필요가 있는 다른 모듈들의 액션들을 순서대로 리스트화하는 "타이밍 노트들(timing notes)"을 위치시켰다.
비트율 제어기가 그 다음 액션을 선택하는 것에 기초하는, 다른 모듈들로부터의 네 개의 다른 명령들이 존재한다.
ㆍ MPEG 파서(30)로부터의 청크 시작;
ㆍ VLC 프로세서(34)로부터의 새로운 실행-레벨 쌍;
ㆍ MPEG 파서(30)로부터의 시작-코드 시작;
ㆍ MPEG 파서(30)로부터의 청크의 종료.
이러한 명령들에 대해 비트율 제어기(26)에 의해 취해지는 액션들은 다음에서 더욱 상세히 설명된다.
청크 시작
"청크 시작" 명령에 응답하여, 비트율 제어기(26)는 그 개시 위치를 리셋한다. 이는 다음을 포함한다:
1. 이스케이프-테이블(44)의 모든 엔트리들을 "비어 있음(empty)"으로 라벨링,
2. 네 개의 포인터들 RP(46), WP(48), BP(50) 및 EBP(52)을 0으로 설정.
새로운 실행-레벨 쌍
비트율 제어기(26)는 모든 (색차 및 휘도) AC-VLC들로부터 실행-레벨 쌍들을 수신한다. 이러한 실행-레벨 쌍들(r, l) 각각에 대해, 다음 여섯 단계들을 수행한다:
1. VLC 발생기로부터 실행-레벨 쌍(r, l)의 VLC v 요청.
2. 이스케이프-테이블(44)을 다음과 같이 갱신. 이스케이프-코드(항상 24 비트)와 VLC 사이의 크기 차이 △C를 계산: △C = 크기(이스케이프-코드) - 크기(v).
다음으로, 이스케이프-테이블(44)의 로우 △C 가 채워진다:
비트-위치=WP(48);
VLC-크기=크기(v);
실행-레벨=(r, l).
3. VLC v를 기록 버퍼(42)에 기록. 그에 따라 기록 포인터(48)를 갱신.
타이밍 노트:
Ⅰ. MPEG 파서(30)는 원래의 VLC를 메모리(28)에 전송하고, 이는 백업 버퍼(40)에 기록된다(WP(46)이 갱신됨).
Ⅱ. 다음으로 VLC가 VLC 프로세서에 의해 디코딩되고, -병합되었을 수 있는- 실행-레벨 쌍은 비트율 제어기(26)에 전송된다.
Ⅲ. 비트율 제어기(26)는 리마크된 VLC를 메모리(28)에 전송하고, 이는 기록 버퍼(42)에 기록된다(WP(48)이 갱신됨).
4. 기록 버퍼(42)와 백업 버퍼(40)의 길이가 정확히 동일하게 되도록 시도. 이는 다음의 경우 이루어진다:
ㆍ 상기 청크에서 지금까지 이스케이프-코딩된 VLC들의 수가 허용된 최대치보다 작음(EM),
ㆍ 기록 버퍼(42)와 백업 버퍼(40) 사이의 길이 차이 △B가 7과 21 사이에 있음: 7≤△B≤21,
ㆍ 이스케이프-테이블(44)의 로우 △B가 비어있지 않음,
ㆍ 이러한 조건들이 만족되면, 다음 액션들을 취한다:
ㆍ 기록 버퍼(42)의 VLC를 이스케이프-테이블(44)의 로우 △B에 지시된 바와 같이, (비트율 제어기(26)가 VLC 발생기(56)로부터 요청하는) 그 이스케이프-코딩된 버전으로 대체하고, 기록 버퍼(42) △B 위치들에서 VLC 다음의 모든 엔트리들을 오른쪽으로 시프트한다.
ㆍ 이스케이프-테이블(44) 갱신:
- 바로 대체된 VLC 보다 더 큰 이스케이프-테이블(44)의 모든 비트 위치들은 △B 의해 증가,
- 로우 △B를 클리어하고 "비어 있음"으로 라벨링.
ㆍ 기록 포인터(48) 갱신(WP=RP(46)).
5. 기록 버퍼(42) 및 백업 버퍼(40)의 길이를 가능한 작아지도록 시도한다. 이는 다음의 경우 이루어진다:
ㆍ 상기 청크에서 지금까지 이스케이프-코딩된 VLC들의 수가 허용된 최대치보다 작음(EM),
ㆍ 기록 버퍼(42)와 백업 버퍼(40) 사이의 길이 차이(△B)가 21 보다 큼: △B≥21
이러한 조건들이 만족되면, 이스케이프-테이블(44)에서 로우 21부터 아래로 로우 7로, 백업 포인터(BP)(50)보다 크거나 동등한 비트 위치를 갖는 제 1 비어 있지 않은 로우(non-empty row)를 검색한다(상기 최종 조건은 바이트-정렬되지 않은 시작-코드들(non byte-aligned start-codes)을 갖는 불법 MPEG 신택스를 피하기 위해 필요함). 로우가 존재하는 경우, 로우 i로 규정되고, 다음 액션들이 수행된다.
ㆍ 기록 버퍼(42)에서 이스케이프-테이블(44)의 로우 i에 대해 기술된 VLC을, 비트율 제어기(26)가 VLC 발생기로부터 요청하는 이스케이프-코딩된 버전으로 대체하고, 기록-버퍼(42)에서 i 위치들 이상의 VLC 다음의 모든 엔트리들을 오른쪽으로 시프트한다.
ㆍ 이스케이프-테이블(44)을 다음과 같이 갱신한다:
- 바로 대체된 VLC보다 더 큰 이스케이프-테이블(44)의 모든 비트 위치들은 i 만큼 증가시킴,
- 로우 i를 클리어하고 "비어 있음"으로 라벨링.
6. 기록 포인터(48)을 갱신(WP=WP+i)
백업 포인터(50)를 갱신한다. 기록 버퍼(42)와 백업 버퍼(40)가 동일한 길이를 갖는 경우(즉, WP(48)=RP(46), 백업 포인터는 시프트된다: BP(50)=WP(48).
시작-코드 시작
시작-코드 이전에, 비트율 제어기(26)는 스터핑 비트들을 부가함으로써 기록 버퍼(42) 및 백업 버퍼(40)의 크기를 동등하게 하는 가능성을 갖는다. 물론, 이는 기록 버퍼(42)가 백업 버퍼(40)보다 짧을 경우에만 가능하다. 백업 버퍼(40)보다 길다면, 가외 백업 포인터(52)는 판독 포인터(46)의 위치로 시프트된다(백업 버퍼(42)로부터의 EBP(52)와 비트 위치 0 사이의 청크의 부분을 사용하는 최종자(32) 소환(recall)). 요약하면, 다음 단계들이 수행된다:
1a. 기록 버퍼(42)가 백업 버퍼(40)보다 작을 경우(즉, WP(48)≤RP(42)), 기록 포인터(48)가 판독 포인터(46)와 동등할 때까지 스터핑 비트들(값="0")을 기록 버퍼(42) WB 에 기록한다.
1b. 기록 버퍼(42)가 백업 버퍼(40)보다 긴 경우(즉, WP≥RP), 지금까지 수신한 청크 부분의 리마킹을 거절(reject)한다:
ㆍ EBP=RP,
ㆍ WP=RP.
2. MPEG 파서로부터 수신한 시작-코드를 기록 버퍼(42) 및 백업 버퍼(40)에 기록하고, 포인터들 WP(48), RP(46)을 갱신한다.
3. 백업 포인터 갱신: BP(50)=RP(46).
4. 이스케이프-테이블(44)을 클리어하고, 모든 엔트리들을 "비어있음"으로 라벨링.
타이밍 노트:
Ⅰ. MPEG 파서(30)는 시작-코드 시작 신호를 비트율 제어기(26)에 전송한다.
Ⅱa. 비트율 제어기(26)는 적절한 수의 스터핑을 기록 버퍼(42)에 기록하고 기록 포인터(48)을 갱신하거나,
Ⅱb. 비트율 제어기(26)는 청크의 제 1 부분의 리마킹을 거절하고 EBP(52) 및 WP(48)을 갱신한다.
Ⅲ. MPEG 파서(30)는 백업 버퍼(40) 및 기록 버퍼(42) 양측 모두의 시작-코드를 기록하고 판독 포인터(46)와 기록 포인터(48)를 갱신한다.
Ⅳ. 비트율 제어기(26)는 백업 포인터(50)를 갱신하고, 이스케이프-테이블(44)을 클리어한다.
청크의 종료
청크 종료 명령의 수신에 따라, 비트율 제어기(26)는 이를 최종자(32)에 전달한다.
타이밍 노트:
Ⅰ. MPEG 파서(26)는 완료된 또는 완료되지 않은 최종 VLC를 백업 버퍼(40) 및 기록 버퍼(42)에 기록하고, 포인터들 RP(46) 및WP (48)을 갱신한다.
Ⅱ. 청크 종료 명령은 최종자(32)에 전달된다.
VLC 발생기
VLC 발생기(56)는 비트율 제어기(26)의 요청에 따라 (상기 참조된 [ISO96:2]로부터의 테이블(B14 및 B15)) 실행-레벨 쌍들을 위한 VLC 코드들을 발생한다. 비트율 제어기(26)는 또한 정규 VLC 또는 이스케이프-코드가 필요한 경우, 플래그를 제공한다.
최종자
최종자(32)는 다음 방식에 따라 백업 버퍼(40) 및 기록 버퍼(42)를 결합함으로써 유효 출력 청크를 생성한다:
ㆍ 백업 버퍼(40)로부터의 비트 0...EBP-1는 출력 청크(20a)에 카피되고,
ㆍ 기록 버퍼(42)로부터의 비트 EBP..BP-1은 출력 청크(20a)에 카피되고,
ㆍ 백업 버퍼(40)로부터의 비트 BP..RP-1은 출력 청크(20a)에 카피된다.
상기한 알고리즘은 상기 참조한 [ISO96:1]에서 설명한 바와 같이 프로그램 스트림들(PS)을 취급하여 쉽게 확장될 수 있다. 단지 VES 추출기(12) 및 TS 복원기(16)만이 변화될 필요가 있다(도 2). 패킷 리마커(14)는 동일하게 유지된다.
ㆍ VES 추출기(12)는 PS 패킷들을 판독하고 이를 두 개의 작은 청크들로 분할하고, 청크는 예컨대 PS 헤더, 패킷화된 기본 스트림(PES) 헤더, 오디오 바이트, 다른 PID들의 바이트 등의 모든 다른 데이터를 갖는 청크 및 비디오 스트림의 VES 바이트들을 포함한다. VES 바이트를 포함하는 청크(20)는 대부분의 184 바이트에서의 하위-청크들로 분할된다. 하위-청크는 PES 또는 팩 경계(pack boundary)를 교차하지 않는다. 이러한 하위-청크들은 변경되지 않은 패킷 리마커(14)에 제공된다.
ㆍ TS 복원기(16)는 PS 복원기로 대체될 필요가 있고, 이는 유효 PS 스트림을 구성하기 위해 하위-청크들을 재결합한다.
압축된 데이터 스트림을 워터마킹하는 방법은 바람직하게는 다른 결과를 낳는 고비용의 큰 메모리 또는 계산 비용을 피하기 위한 솔루션을 제공한다.
독자의 주의는 본 출원과 결합된 본 명세서와 동시에 또는 이전에 출원된 및 본 명세서의 공보 열람에 대해 공개된 모든 서류들 및 문서들에 집중되어 있고, 상기 모든 서류들 및 문서들의 컨텐트들은 본 명세서에 참조로서 포함되어 있다.
(청구범위, 요약서 및 도면들을 포함한) 본 명세서에서 개시된 모든 특징들, 및/또는 개시된 어떠한 방법 또는 처리의 모든 단계들은, 상기 특징들 및/또는 단계들의 적어도 일부가 서로 배타적인 결합들을 제외한, 어떠한 결합들에 결합될 수 있다.
(청구범위, 요약서 및 도면들을 포함한) 본 명세서에 개시된 각각의 특징들은, 특별히 다른 형태가 아니라면, 동일, 동등 또는 유사한 목적을 다루는 대안적 특징들에 의해 대체될 수 있다. 따라서, 특별히 다른 형태가 아니라면, 개시된 각각의 특징은 일련의 포괄적인 동등 또는 유사한 특징들의 최적의 일 예가 될 수 있다.
본 발명은 상기 실시예(들)의 상세들로 제한하지 않는다. 본 발명은, (청구범위, 요약서 및 도면들을 포함한) 본 명세서에 개시된 특징들의 어떠한 신규의 것 또는 어떠한 신규 결합, 또는 개시된 어떠한 방법 또는 처리의 단계들의 어떠한 신규의 것 또는 어떠한 신규 결합으로 확장된다.
본 발명은 다음과 같이 요약될 수 있다. 선택된 DCT 계수들을 변경함으로써 압축된 비디오 신호를 워터(리)마킹하기 위한 방법 및 장치가 개시된다. 그에 따라 비트율이 너무 크게 감소되는 것을 피하기 위해, 선택된 가변-길이 코드워드들이 이스케이프 코드들로 표현된다. ESC 코드들이 비트율을 너무 크게 증가시키는 것을 피하기 위해(ESC 코드는 대응하는 VLC 워드보다 더 긴 7 내지 21 비트임), 비트율은 작은 데이터 청크들의 유닛들에서 제어된다. VLC가 처리되는 동안, 테이블은 후보 ESC 코드들로 채워진다. 비트율 제어기는, 하나의 VLC를 적절한 ESC 코드로 재-인코딩함으로써 원래의 데이터 청크와 처리된 데이터 청크 사이의 차이를 0으로 만들려고 한다.

Claims (10)

  1. 압축된 미디어 신호를 처리하는 방법으로서, 상기 미디어 신호의 샘플들은 가변-길이 코드 워드들(VLC들)로 표현되는, 상기 압축된 미디어 신호 처리 방법에 있어서,
    - 상기 샘플의 VLC들을 디코딩하는 단계;
    - 주어진 신호 처리 알고리즘에 따라 상기 다수의 디코딩된 VLC들을 변경하는 단계;
    - 제 1 코딩 방법으로, 상기 변경된 디코딩된 VLC들을 변경된 VLC들로 인코딩하는 단계;
    - 제 2 코딩 방법으로, 상기 변경된 디코딩된 VLC들을 적어도 하나의 코드 길이로 인코딩하는 단계;
    - 상기 다수의 변경된 VLC들 각각에 대해, 대응하는 변경되지 않은 VLC의 길이에 가장 가까운 길이를 갖는 상기 제 1 또는 제 2 방법으로 코딩된 상기 변경된 VLC를 선택하는 단계; 및
    - 상기 선택된 변경된 VLC들과 변경되지 않은 VLC들을 결합하는 단계를 포함하는, 압축된 미디어 신호 처리 방법.
  2. 제 1 항에 있어서, 상기 제 1 코딩 방법은 표준 VLC 코딩 방법인, 압축된 미디어 신호 처리 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 제 2 코딩 방법은 이스케이프-코딩 방법인, 압축된 미디어 신호 처리 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 변경된 인코딩된 VLC들은 상기 제 2 코딩 방법을 사용하여 다수의 길이들로 인코딩되는, 압축된 미디어 신호 처리 방법.
  5. 제 4 항에 있어서, 상기 제 2 코딩 방법은 상기 제 1 코딩 방법보다 약 7 내지 21 비트 더 긴 코드들을 제공하는, 압축된 미디어 신호 처리 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 신호 처리 알고리즘은 워터마크 알고리즘인, 압축된 미디어 신호 처리 방법.
  7. 제 6 항에 있어서, 상기 디코딩된 VLC들은 특정 기준하에서만 변경되고, 상기 기준은 적용된 워터마크의 가시성과 연관된, 압축된 미디어 신호 처리 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서, 상기 인코딩된 변경된 VLC들에 비트들을 삽입하는 단계를 포함하는, 압축된 미디어 신호 처리 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서, 다른 패킷들을 참조하지 않고, VLC들의 패킷들을 개별적으로 처리하는 것을 포함하는, 압축된 미디어 신호 처리 방법.
  10. 압축된 미디어 신호를 위한 신호 처리 디바이스에 있어서,
    - 가변-길이 코드 워드들(VLC들)로 표현되는 압축된 미디어 신호의 샘플들을 디코딩하도록 동작가능한 디코더;
    - 주어진 신호 처리 알고리즘에 따라 상기 다수의 디코딩된 VLC들을 변경하는 수단;
    - 제 1 코딩 방법에 의해 상기 변경된 디코딩된 VLC들을 변경된 VLC들로 인코딩하도록 동작가능한 제 1 인코더;
    - 제 2 코딩 방법에 의해 상기 변경된 디코딩된 VLC들을 변경된 VLC들로 인코딩하도록 동작가능한 제 2 인코더;
    - 상기 제 1 및 제 2 인코더로부터 상기 변경된 디코딩된 VLC들을 버퍼링하도록 동작가능한 메모리 수단; 및
    - 상기 다수의 변경된 VLC들에 대해, 변경되지 않은 VLC의 길이에 가장 가까운 변경된 VLC를 제 1 인코더 또는 제 2 인코더 중 어느 하나로부터 선택하도록 동작가능한 제어기를 포함하는, 신호 처리 디바이스.
KR1020057013602A 2003-01-23 2003-12-16 코딩된 신호내의 워터마크 임베딩 KR20050098258A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03100140 2003-01-23
EP03100140.7 2003-01-23

Publications (1)

Publication Number Publication Date
KR20050098258A true KR20050098258A (ko) 2005-10-11

Family

ID=32748941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057013602A KR20050098258A (ko) 2003-01-23 2003-12-16 코딩된 신호내의 워터마크 임베딩

Country Status (7)

Country Link
US (1) US20060078212A1 (ko)
EP (1) EP1590767A1 (ko)
JP (1) JP2006513659A (ko)
KR (1) KR20050098258A (ko)
CN (1) CN100342397C (ko)
AU (1) AU2003303771A1 (ko)
WO (1) WO2004066205A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192630B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 포렌식 마킹 장치 및 방법
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060268989A1 (en) * 2005-05-27 2006-11-30 Matsushita Electric Industrial Co., Ltd. Bit stream generation method and bit stream generatation apparatus
JP5638239B2 (ja) * 2006-04-25 2014-12-10 トムソン ライセンシングThomson Licensing デジタル透かし入れ方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0162197B1 (ko) * 1992-05-30 1998-12-15 강진구 영상데이타의 가변장부호와/복호화방법 및 장치
JP2959916B2 (ja) * 1992-10-28 1999-10-06 松下電器産業株式会社 デジタル・ビデオ・コーダ用のバーサタイルなエスケープ・ラン・レベル・コーダ
KR0155784B1 (ko) * 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US5809139A (en) * 1996-09-13 1998-09-15 Vivo Software, Inc. Watermarking method and apparatus for compressed digital video
JP2000244881A (ja) * 1999-02-24 2000-09-08 Nec Corp 電子透かしデータ挿入システム
JP2001346170A (ja) * 2000-05-31 2001-12-14 Nec Corp データ挿入強度調整方法及びデータ挿入回路
DE10041310B4 (de) * 2000-08-23 2009-05-20 Deutsche Telekom Ag Verfahren zum Plattformunabhängigen Streaming von Multimedia-Inhalten für IP-basierte Netze
CN100459708C (zh) * 2001-01-23 2009-02-04 皇家菲利浦电子有限公司 将水印嵌入信息信号中的方法和设备
US7162080B2 (en) * 2001-02-23 2007-01-09 Zoran Corporation Graphic image re-encoding and distribution system and method
EP1413143B1 (en) * 2001-07-19 2006-05-03 Koninklijke Philips Electronics N.V. Processing a compressed media signal
US7177441B2 (en) * 2002-12-09 2007-02-13 International Business Machines Corporation System and method for secret communication

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102192630B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 포렌식 마킹 장치 및 방법
KR102192631B1 (ko) * 2019-11-28 2020-12-17 주식회사우경정보기술 병렬 포렌식 마킹 장치 및 방법

Also Published As

Publication number Publication date
AU2003303771A1 (en) 2004-08-13
CN1742291A (zh) 2006-03-01
CN100342397C (zh) 2007-10-10
JP2006513659A (ja) 2006-04-20
EP1590767A1 (en) 2005-11-02
WO2004066205A1 (en) 2004-08-05
US20060078212A1 (en) 2006-04-13

Similar Documents

Publication Publication Date Title
EP0928110B1 (en) Image signal processing for electronic watermarking
Zou et al. H. 264 stream replacement watermarking with CABAC encoding
EP1725044A2 (en) Flexible use of MPEG encoded images
US20060251289A1 (en) Data processing apparatus and method
KR20020088086A (ko) 압축된 정보 신호를 워터마킹하는 방법
CN100375983C (zh) 复合视频解码器和水印创建器
WO2022228104A1 (zh) 视频的转码方法、装置、电子设备及存储介质
US20030016756A1 (en) Processing a compressed media signal
JP4023324B2 (ja) 透かし埋め込み及び画像圧縮部
JP4997243B2 (ja) 画像符号化装置、その方法およびその集積回路
KR20050020710A (ko) 부호화 장치 및 부호화 방법
JP4823090B2 (ja) 画像符号化装置
KR20050098258A (ko) 코딩된 신호내의 워터마크 임베딩
JP4208135B2 (ja) ドリフト補償方式
US7260220B2 (en) Adaptive watermarking
JP2010068421A (ja) 電子透かし装置及び電子透かし方法
EP1399884A1 (en) Device for detecting a watermark
JP2000165889A (ja) 動きベクトルを再計算せずに圧縮されたビデオを修正する装置および方法
JP4919213B2 (ja) 電子透かし挿入方式および検出方式
JP2002152742A (ja) Mpegデータ処理回路およびその制御方法
JP2006108997A (ja) 情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2004186992A (ja) 符号化装置
KR20030033994A (ko) 압축된 디지털 데이터의 복사 방법
Kiya et al. A method of inserting binary data into MPEG bitstreams
JPH11313324A (ja) 画像圧縮データの加工方法および装置ならびに画像圧縮データ加工プログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid