KR102192630B1 - 포렌식 마킹 장치 및 방법 - Google Patents

포렌식 마킹 장치 및 방법 Download PDF

Info

Publication number
KR102192630B1
KR102192630B1 KR1020190155717A KR20190155717A KR102192630B1 KR 102192630 B1 KR102192630 B1 KR 102192630B1 KR 1020190155717 A KR1020190155717 A KR 1020190155717A KR 20190155717 A KR20190155717 A KR 20190155717A KR 102192630 B1 KR102192630 B1 KR 102192630B1
Authority
KR
South Korea
Prior art keywords
unit
format
content
input
code
Prior art date
Application number
KR1020190155717A
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 주식회사우경정보기술
Priority to KR1020190155717A priority Critical patent/KR102192630B1/ko
Application granted granted Critical
Publication of KR102192630B1 publication Critical patent/KR102192630B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

포렌식 마킹 장치가 제공된다. 상기 포렌식 마킹 장치는 설정 방식으로 압축된 콘텐츠를 디코딩하는 제1 유니트; 상기 제1 유니트에 의해 디코딩된 콘텐츠에 포렌식 마크를 삽입하는 마킹 유니트; 상기 포렌식 마크가 삽입된 콘텐츠를 인코딩하는 제2 유니트; 상기 제1 유니트와 상기 마킹 유니트 간의 제1 입출력 형식을 동기화시키거나, 상기 제2 유니트와 상기 마킹 유니트 간의 제2 입출력 형식을 동기화시키는 변환 유니트;를 포함할 수 있다.

Description

포렌식 마킹 장치 및 방법{FORENSIC MARKING DEVICE AND FORENSIC MARKING MEHOD}
본 발명은 압축된 콘텐츠에 포렌식 마크를 삽입하는 포렌식 마킹 장치 및 방법에 관한 것이다.
포렌식 마킹 기술은 멀티미디어 콘텐츠(multimedia contents)에 판매자, 저작권자 또는 구매자의 정보를 삽입하는 기술로 콘텐츠의 불법 유통시 삽입된 정보(포렌식 마크)를 추출하여 유포자를 확인할 수 있는 기술이다.
예를 들어 온라인 서비스 제공자(online service provider : OSP)가 콘텐츠를 제공할 때 구매자 정보를 포렌식 마킹 기술로 삽입하게 되면, 향후 해당 콘텐츠의 불법 유출 문제가 발생할 경우 유출된 콘텐츠에서 포렌식 마크를 확인하여 최초 유포자에게 책임을 물을 수 있다.
멀티미디어 콘텐츠에 포렌식 마크를 삽입하는 과정은 해당 콘텐츠를 복호화한 후 포렌식 마크를 삽입하고 다시 부호화하는 단계를 거치기 때문에 상당히 많은 연산량과 시간이 필요하다.
즉, 디지털 오디오 음원, 비디오 등 콘텐츠에 대해 실시간 다운로드 및 스트리밍 서비스를 제공하는 서버에서 동시에 다수의 서비스 요청이 있는 경우, 위와 같이 많은 연산량과 시간이 소요되는 콘텐츠별 포렌식 마킹 처리는 서버에 상당한 부하를 유발하는 문제점이 있다.
한국등록특허공보 제1992779호에는 특정 포렌식 마킹 알고리즘에 종속되지 않는 실시간 오디오 포렌식마킹 시스템을 구성하는 기술이 나타나 있다.
한국등록특허공보 제1992779호
본 발명은 압축된 콘텐츠 파일에 포렌식 마크를 실시간으로 삽입할 수 있는 포렌식 마킹 장치 및 방법을 제공하기 위한 것이다.
본 발명의 포렌식 마킹 장치는 설정 방식으로 압축된 콘텐츠를 디코딩하는 제1 유니트; 상기 제1 유니트에 의해 디코딩된 콘텐츠에 포렌식 마크를 삽입하는 마킹 유니트; 상기 포렌식 마크가 삽입된 콘텐츠를 인코딩하는 제2 유니트; 상기 제1 유니트와 상기 마킹 유니트 간의 제1 입출력 형식을 동기화시키거나, 상기 제2 유니트와 상기 마킹 유니트 간의 제2 입출력 형식을 동기화시키는 변환 유니트;를 포함할 수 있다.
본 발명의 포렌식 마킹 장치는 설정 방식으로 압축된 콘텐츠의 한 프레임을 복수 영역으로 분할하는 분할부; 분할된 각 영역을 할당받아 엔트로피 디코딩하는 복수의 디코딩부; 복수의 상기 디코딩부에 입출력되는 각 영역을 동기화시켜 상기 프레임을 완성시키는 동기화부;를 포함할 수 있다.
본 발명의 포렌식 마킹 방법은 설정 방식으로 압축된 콘텐츠에 대한 사전 디코딩을 통해 엔트로피 디코딩과 포렌식 마크의 삽입 동작 간의 제1 입출력 형식 및 상기 삽입 동작과 엔트로피 인코딩 간의 제2 입출력 형식을 파악하는 파싱 단계; 상기 콘텐츠를 엔트로피 디코딩하고, 엔트로피 디코딩된 콘텐츠를 상기 제1 입출력 형식에 맞춰 변환하는 디코딩 단계; 상기 제1 입출력 형식으로 변환된 콘텐츠를 입력받고 포렌식 마크를 삽입하는 마킹 단계; 상기 포렌식 마크가 삽입된 콘텐츠를 상기 엔트로피 인코딩에서 요구하는 제2 입출력 형식으로 변환하고, 상기 제2 입출력 형식으로 변환된 콘텐츠를 엔트로피 인코딩하는 인코딩 단계;를 포함할 수 있다.
본 발명의 포렌식 마킹 장치 및 방법에 따르면, 압축된 콘텐츠를 엔트로피 디코딩하는 부재와 포렌식 마킹 부재 사이에서 수행되는 각종 처리 과정이 생략될 수 있다. 또는 본 발명의 포렌식 마킹 장치 및 방법에 따르면, 포렌식 마킹된 콘텐츠를 엔트로피 인코딩하는 부재와 포렌식 마킹 부재 사이에서 수행되는 각종 처리 과정이 생략될 수 있다.
해당 처리 과정은 양자화, 변환, 움직임 추정, 인트라/인터 예측 등으로, 많은 처리 시간이 요구될 수 있다. 본 발명에 따르면 해당 처리 과정의 적어도 일부가 배제되므로, 포렌식 마크의 삽입에 소요되는 전체 시간이 대폭 절감될 수 있다.
각종 처리 과정의 배제로 인해 엔트로피 디코딩된 콘텐츠의 코드가 곧바로 포렌식 마킹 부재에 제공될 수 있다. 이때, 엔트로피 디코딩된 콘텐츠의 코드는 형식의 차이로 인해 포렌식 마킹 부재에 입력되기 어렵다. 코드 형식을 동기화시키기 위해 변환 유니트, 마킹 유니트가 마련될 수 있다.
변환 유니트는 엔트로피 디코딩된 콘텐츠의 코드 형식을 포렌식 마킹 부재에 입력될 수 있는 제1 입출력 형식으로 변환할 수 있다. 이때, 변환 유니트는 레퍼런스에 근거해서 코드 형식을 변환하게 되며, 해당 레퍼런스는 마킹 유니트에 의해 제공될 수 있다.
마킹 유니트는 엔트로피 디코딩 부재와 포렌식 마킹 부재 사이에서 수행되어야 할 각종 처리 과정의 극히 일부만 수행할 수 있다. 예를 들어, 각종 처리 과정에는 멀티미디어 데이터를 처리하는 프로세스와 신택스 구조와 관련된 프로세스가 포함될 수 있다. 이때, 마킹 유니트는 신택스 구조와 관련된 프로세스만 수행해서 신택스 구조를 형성하는 신택스 엘리먼트를 획득할 수 있다.
마킹 유니트는 신택스 엘리먼트를 이용해 신택스 구조를 완성시킨 후, 코드 형식 변환의 레퍼런스에 해당되는 신택스 구조를 변환 유니트에 제공할 수 있다.
본 발명의 포렌식 코딩 장치 및 방법은 HEVC 방식으로 압축된 대용량 콘텐츠에 대한 실시간 포렌식 마킹이 가능하다. 또한, 본 발명은 HEVC 방식 외에도 단일 코덱을 사용하는 다양한 압축 방식, 압축 알고리즘에 적용될 수 있다.
도 1은 본 발명의 포렌식 마킹 시스템을 나타낸 개략도이다.
도 2는 본 발명의 포렌식 마킹 장치를 나타낸 블록도이다.
도 3은 파싱 유니트의 동작을 나타낸 개략도이다.
도 4는 본 발명의 포렌식 마킹 장치의 동작을 나타낸 개략도이다.
도 5는 본 발명의 포렌식 마킹 방법을 나타낸 흐름도이다.
도 6은 본 발명의 병렬 포렌식 마킹 장치에 의해 복수 영역으로 분할된 프레임을 나타낸 개략도이다.
도 7은 본 발명의 병렬 포렌식 마킹 장치를 나타낸 개략도이다.
도 8은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.
또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다.
또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.
또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다.
또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.
도 1은 본 발명의 포렌식 마킹 시스템을 나타낸 개략도이다.
도 1에 도시된 포렌식 마킹 시스템은 콘텐츠 서버(50), 포렌식 마킹 서버(100), 단말기(90), 포렌식 서버(70)를 포함할 수 있다.
콘텐츠 서버(50)는 영상, 음향 등의 멀티미디어 콘텐츠를 설정 방식으로 압축해서 저장할 수 있다.
단말기(90)는 콘텐츠 서버(50)에 요청해서 설정 방식으로 압축된 콘텐츠를 유무선으로 제공받을 수 있다. 단말기(90)에는 포렌식 마크 관련 처리시에 포렌식 서버(70)와 통신하는 통신 모듈(200)이 마련될 수 있다.
포렌식 마킹 서버(100)는 단말기(90)에 의해 콘텐츠가 요청되면, 단말기(90)로 제공되는 콘텐츠에 포렌식 마크를 삽입할 수 있다.
포렌식 서버(70)는 단말기(90)로부터 사용자 정보를 획득하고, 사용자 정보가 포함된 포렌식 마크를 생성할 수 있다. 포렌식 서버(70)는 포렌식 마크를 포렌식 마킹 서버(100)에 제공할 수 있다.
포렌식 마킹 서버(100)는 포렌식 서버(70)로부터 제공받은 포렌식 마크를 콘텐츠에 삽입하기 위해, 콘텐츠 서버(50)에 저장되어 있던 압축 콘텐츠를 압축 해제할 수 있다. 포렌식 마킹 서버(100)는 압축 해제된 콘텐츠에 포렌식 마크를 삽입한 후 다시 해당 콘텐츠를 압축한 후 단말기(90)를 향해 비트스트림 등의 형태로 전송할 수 있다.
콘텐츠에 포렌식 마크를 삽입하는 마킹 과정을 위해 기압축된 콘텐츠의 압축을 해제하고 재압축하는 과정으로 인해 포렌식 서버(70)에는 많은 부하가 걸릴 수 있다. 많은 부하로 인해 4k 해상도, 8k 해상도 등의 대용량 콘텐츠를 타겟으로 하는 고압축 방식에서는 포렌식 마크의 삽입이 현실적으로 어려울 수 있다.
도 2는 본 발명의 포렌식 마킹 장치를 나타낸 블록도이다. 도 2에 도시된 포렌식 마킹 장치는 도 1의 포렌식 마킹 서버(100)에 해당될 수 있다.
포렌식 마킹 장치는 제1 유니트(110), 마킹 유니트(130), 제2 유니트(120), 변환 유니트(150)를 포함할 수 있다.
제1 유니트(110)는 설정 방식으로 압축된 콘텐츠를 디코딩할 수 있다. 콘텐츠의 디코딩은 엔트로피 디코딩을 단독으로 포함하거나, 엔트로피 디코딩에 더하여 역양자화 등의 제1 처리 과정을 포함할 수 있다.
콘텐츠는 MPEG, HEVC(High Efficiency Video Codec, H.265), VP9 등 다양한 방식으로 압축되거나 압축 해제될 수 있다. 제1 유니트(110)에서 수행되는 디코딩에 의해 설정 방식으로 압축된 콘텐츠의 압축이 해제될 수 있다.
마킹 유니트(130)는 제1 유니트(110)에 의해 디코딩된 콘텐츠에 포렌식 마크(Forensic mark)를 삽입할 수 있다. 포렌식 마크는 콘텐츠의 판매자, 저작권자, 구매자의 정보를 포함할 수 있다.
단말기(90)에서 요구하는 콘텐츠는 설정 방식으로 압축된 압축본일 수 있다. 포렌식 마크의 삽입을 위해 해당 압축본은 제1 유니트(110)에 의해 압축 해제된 상태일 수 있다.
제2 유니트(120)는 포렌식 마크가 삽입된 콘텐츠를 인코딩할 수 있다. 콘텐츠의 인코딩은 엔트로피 인코딩 과정을 단독으로 포함하고, 엔트로피 인코딩에 더하여 양자화 등의 제2 처리 과정을 포함할 수 있다.
제2 유니트(120)의 인코딩 작업에 의해 압축이 해제되고 포렌식 마크가 삽입된 상태의 콘텐츠는 단말기(90)에서 요구하는 본래의 압축본 형식으로 바뀔 수 있다. 제1 유니트(110)가 포렌식 마킹 장치의 입력단이 되고 제2 유니트(120)가 포렌식 마킹 장치의 출력단이 되면, 외형적으로 콘텐츠의 압축본이 입력되었다 출력되는 모습을 띄게 된다. 물론, 포렌식 마킹 장치로부터 출력된 압축본에는 기존 압축본과 다르게 포렌식 마크가 삽입된 상태일 수 있다. 이하에서는 설정 방식으로 압축된 상태에서 제1 유니트(110)로 입력되는 콘텐츠를 제1 압축본으로 정의한다. 그리고, 제2 유니트(120)에 의해 압축되고 출력되는 콘텐츠를 제2 압축본으로 정의한다. 제2 압축본은 제1 압축본에 포렌식 마크가 삽입된 것일 수 있다.
제1 유니트(110)의 디코딩 처리 시간을 단축하거나, 제2 유니트(120)의 인코딩 처리 시간을 단축하기 위해 고속화 부재(1000)가 이용될 수 있다.
고속화 부재(1000)에는 변환 유니트(150), 파싱 유니트(170)가 포함될 수 있다. 파싱 유니트(170)는 제1 유니트의 앞단에 배치되거나, 제1 유니트에 병렬로 연결될 수 있다.
변환 유니트(150)는 제1 유니트(110)와 마킹 유니트(130) 간의 제1 입출력 형식을 동기화시킬 수 있다. 또는, 변환 유니트(150)는 제2 유니트(120)와 마킹 유니트(130) 간의 제2 입출력 형식을 동기화시킬 수 있다.
설정 방식 또는 설정 코덱으로 압축된 콘텐츠를 압축 해제하기 위해서 엔트로피 디코딩 및 추가적인 후처리 과정이 수행될 수 있다.
일 예로, HEVC 방식의 경우, 엔트로피 디코딩 후에 역양자화(inverse quantization), 역변환(inverse transform), 역움직임 추정(inverse motion compensation), 역 인트라/인터 예측(inverse intra/inter prediction) 작업이 순서대로 수행될 수 있다. 이때, 마킹 유니트(130)는 역 인트라/인터 예측 작업을 통해 출력되는 코드를 입력받을 수 있게 형성될 수 있다.
역 인트라/인터 예측 작업을 통해 출력되는 코드를 입력받을 수 있게 형성된 마킹 유니트(130)는 엔트로피 디코딩, 역변환, 역움직임 추정 중 어느 하나에서 출력된 코드를 입력받을 수 없다.
도 2의 변환 유니트(150)는 제1 유니트(110)와 마킹 유니트(130) 간의 제1 입출력 형식을 동기화시킬 수 있다. 일 예로, 변환 유니트(150)는 엔트로피 디코딩 과정에서 출력된 코드의 형식을 마킹 유니트(130)에서 입력받을 수 있는 제1 입출력 형식으로 변환할 수 있다. 일 예로, 변환 유니트(150)는 역변환 과정에서 출력된 코드의 형식을 제1 입출력 형식으로 변환할 수 있다. 변환 유니트(150)에 따르면, 엔트로피 디코딩에서 출력된 코드, 역변환에서 출력된 코드, 역움직임 추정에서 출력된 코드는 마킹 유니트(130) 바로 앞단의 역 인트라/인터 예측을 거치지 않고도 곧바로 마킹 유니트(130)에 입력될 수 있다.
만약, 엔트로피 디코딩 과정에서 출력된 코드가 변환 유니트(150)에 의해 제1 입출력 형식으로 변환된 후 곧바로 마킹 유니트(130)에 입력된다면, 제1 유니트(110)에는 역양자화, 역변환, 역움직임 추정, 역 인트라/인터 예측을 수행하는 제1 수단이 마련될 필요가 없다. 해당 제1 수단은 기압축된 콘텐츠의 정상적인 재생을 위해 필수적을 요구될 수 있다. 하지만, 본 발명의 포렌식 마킹 장치는 콘텐츠를 재생할 필요가 없이 콘텐츠에 포렌식 마크를 삽입하는 것이 목적이므로, 해당 제1 수단이 배제되어도 무방하다. 따라서, 변환 유니트(150)가 구비된 포렌식 마킹 장치에 따르면, 극단적으로 별도의 제1 수단이 배제된 상태에서도, 기압축된 콘텐츠에 포렌식 마크를 삽입할 수 있다.
제1 유니트(110)에는 콘텐츠를 엔트로피 디코딩(entropy decoding)하는 디코딩부(111, 112, 113, 114)가 단독으로 마련될 수 있다. 또는, 제1 유니트(110)에는 콘텐츠를 제1 처리하는 복수의 수단 중 일부의 제1 수단이 디코딩부와 함께 마련될 수 있다.
제2 유니트(120)에는 포렌식 마크가 삽입된 콘텐츠를 엔트로피 인코딩(entropy encoding)하는 인코딩부(121, 122, 123, 124)가 단독으로 마련될 수 있다. 또는, 제2 유니트(120)에는 포렌식 마크가 삽입된 콘텐츠를 제2 처리하는 복수의 수단 중 일부의 제2 수단이 인코딩부와 함께 마련될 수 있다.
변환 유니트(150)는 디코딩부 또는 제1 수단의 출력 코드를 마킹 유니트(130)에 입력 가능한 제1 형식 ①로 변환시킬 수 있다. 또는, 변환 유니트(150)는 마킹 유니트(130) 또는 제2 수단의 출력 코드를 인코딩부에 입력 가능한 제2 형식 ②로 변환시킬 수 있다.
마킹 유니트(130)는 제1 유니트(110)에 의해 엔트로피 디코딩된 콘텐츠를 후처리하는 제1 후처리 부재로부터 출력되는 제1 형식 ①의 코드를 입력받을 수 있게 형성될 수 있다.
제2 유니트(120)는 마킹 유니트(130)에 의해 포렌식 마크가 삽입된 콘텐츠를 후처리하는 제2 후처리 부재로부터 출력되는 제2 형식 ②의 코드를 입력받을 수 있게 형성될 수 있다.
변환 유니트(150)는 제1 유니트(110)에서 출력되는 코드를 제1 형식 ①로 변환한 후 곧바로 마킹 유니트(130)에 제공할 수 있다. 또는, 변환 유니트(150)는 마킹 유니트(130)로부터 출력되는 코드를 제2 형식 ②로 변환한 후 곧바로 제2 유니트(120)에 제공할 수 있다. 본 실시예에 따르면, 제1 유니트(110), 마킹 유니트(130)의 사이에 존재해야 할 다양한 제1 처리 수단이 배제될 수 있다. 또는, 마킹 유니트(130)와 제2 유니트(120)의 사이에 존재해야 할 다양한 제2 처리 수단이 배제될 수 있다.
마킹 유니트(130)는 엔트로피 디코딩(entropy decoding)과 함께 수행되는 제1 처리 과정으로부터 출력되는 제1 형식 ①의 코드를 입력받을 수 있게 형성될 수 있다. 본 실시예에 따르면, 마킹 유니트(130)는 다른 포렌식 마킹 기기에도 적용 가능한 범용성을 가질 수 있다.
제1 처리 과정은 역양자화(inverse quantization), 역변환(inverse transform), 역움직임 추정(inverse motion compensation), 역 인트라/인터 예측(inverse intra/inter prediction) 중 적어도 하나를 포함할 수 있다. 제1 처리 과정은 하나 이상의 제1 처리 수단에 의해 수행될 수 있다.
변환 유니트(150)에는 디코딩부로부터 출력되는 코드를 제1 형식 ①로 변환해서 마킹 유니트(130)에 제공하는 제1 변환부(151)가 마련될 수 있다.
제2 유니트(120)는 포렌식 마크의 삽입 이후에 수행되는 제2 처리 과정으로부터 출력되는 제2 형식 ②의 코드를 입력받을 수 있게 형성될 수 있다.
제2 처리 과정은 인트라/인터 예측(intra/inter prediction), 움직임 추정(motion compensation), 변환(transform), 양자화(quantization) 중 적어도 하나를 포함할 수 있다. 제2 처리 과정은 하나 이상의 제2 처리 수단에 의해 수행될 수 있다.
변환 유니트(150)에는 마킹 유니트(130)로부터 출력되는 코드를 상기 제2 형식 ②로 변환해서 인코딩부에 제공하는 제2 변환부(152)가 마련될 수 있다.
제1 입출력 형식을 동기화시키거나 제2 입출력 형식을 동기화시키기 위해 변환 유니트(150)는 변환 알고리즘, 변환 루틴을 사용할 수 있다. 이때, 변환 알고리즘, 변환 루틴은 프레임별로 달라질 수 있다. 변환 알고리즘 등이 고정되지 않고 시시각각 변화는 환경에서 변환 알고리즘을 실시간으로 수립하기 위한 파싱 유니트(170)가 마련될 수 있다.
파싱 유니트(170)는 제1 입출력 형식 또는 제2 입출력 형식을 파악해서 변환 유니트(150)에 제공할 수 있다.
파싱 유니트(170)는 설정 방식으로 압축된 콘텐츠를 압축 해제하는 사전 디코딩을 수행하면서 제1 입출력 형식을 파악할 수 있다. 또는, 파싱 유니트(170)는 사전 디코딩을 통해 압축 해제된 콘텐츠를 설정 방식으로 다시 압축하면서 제2 입출력 형식을 파악할 수 있다.
파싱 유니트(170)는 설정 방식으로 압축된 콘텐츠와 재생 레벨의 콘텐츠 간의 실제 디코딩 또는 실제 인코딩을 미리 수행할 수 있다. 콘텐츠를 재생 레벨까지 디코딩한다는 것은 실제로 재생에 필요한 모든 처리 과정을 수행한다는 것을 의미할 수있다. 그런데, 실제 디코딩과 실제 인코딩을 빠짐없이 모두 수행하게 되면, 파싱 유니트(170)의 처리 시간이 도 3에 개시된 비교 실시예의 시간만큼 소요될 수 있다.
처리 시간의 개선을 위해 파싱 유니트(170)는 실제 디코딩 또는 실제 인코딩의 각 과정별로 신택스 구조(syntax structure)를 형성하는 신택스 엘리먼트(syntax element)를 추출하거나, 코드 형식을 변환시키는 변환 코드를 추출할 수 있다. 이때, 영상이나 음향 자체의 처리 과정을 배제되어도 무방하다.
파싱 유니트(170)는 신택스 엘리먼트 또는 변환 코드를 변환 유니트(150)에 제공할 수 있다. 변환 유니트(150)는 신택스 엘리먼트 또는 변환 코드를 이용해서 제1 입출력 형식 또는 제2 입출력 형식을 동기화시킬 수 있다.
도 3은 파싱 유니트(170)의 동작을 나타낸 개략도이다. 도 3에서 비교 실시예를 예로 들어 파싱 유니트(170)의 동작을 설명한다. 도 3에서 파싱 유니트(170)가 배제되면, 비교 실시예가 될 수 있다.
제1 압축본이 입력되면, 제1 유니트(110)는 제1 압축본을 엔트로피 디코딩할 수 있다. 엔트로피 디코딩된 결과는 제a1 형식으로 출력될 수 있다. 엔트로피 디코딩된 결과값은 역양자화 수단(11), 역변환 수단(12), 역움직임 추정 수단(13), 역 인트라/인터 예측 수단(14)을 순서대로 거칠 수 있다.
역양자화 수단은 제a1 형식의 코드를 입력받아 역양자화, 다시 말해 디지털 정보를 아날로그로 정보로 변환할 수 있다. 역양자화된 결과는 제a2 형식으로 출력될 수 있다. 파싱 유니트(170)는 역양자화 과정을 역양자화 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제a1 형식의 코드를 제a2 형식으로 변환시키는 알고리즘 또는 변환 코드 c12가 획득될 수 있다.
역변환 수단은 제a2 형식의 코드를 입력받아 역변환, 다시 말해 주파수 역변환할 수 있다. 역변환된 결과는 제a3 형식으로 출력될 수 있다. 파싱 유니트(170)는 역변환 과정을 역변환 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제a2 형식의 코드를 제a3 형식으로 변환시키는 알고리즘 또는 변환 코드 c23이 획득될 수 있다.
역움직임 추정 수단은 제a3 형식의 코드를 입력받아 역움직임 추정을 수행할 수 있다. 역움직임 추정 결과는 제a4 형식으로 출력될 수 있다. 파싱 유니트(170)는 역움직임 추정 과정을 역움직임 추정 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제a3 형식의 코드를 제a4 형식으로 변환시키는 알고리즘 또는 변환 코드 c34가 획득될 수 있다.
역 인트라/인터 예측 수단은 제a4 형식의 코드를 입력받아 역 인트라/인터 예측을 수행할 수 있다. 역 인트라/인터 예측 결과는 제a5 형식으로 출력될 수 있다. 파싱 유니트(170)는 역 인트라/인터 예측 과정을 역 인트라/인터 예측 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제a4 형식의 코드를 제a5 형식으로 변환시키는 알고리즘 또는 변환 코드 c45가 획득될 수 있다.
제a5 형식은 마킹 유니트(130)에서 입력받을 수 있는 제1 형식 ①에 해당될 수 있다.
마킹 유니트(130)에서 포렌식 마크가 삽입된 콘텐츠는 제b1 형식으로 출력될 수 있다. 포렌식 마크가 삽입된 콘텐츠는 인트라/인터 예측 수단(15), 움직임 추정 수단(16), 변환 수단(17), 양자화 수단(18)을 순서대로 거칠 수 있다.
인트라/인터 예측 수단은 제b1 형식의 코드를 입력받아 인트라/인터 예측을 수행할 수 있다. 인트라/인터 예측 결과는 제b2 형식으로 출력될 수 있다. 파싱 유니트(170)는 인트라/인터 예측 과정을 인트라/인터 예측 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제b1 형식의 코드를 제b2 형식으로 변환시키는 알고리즘 또는 변환 코드 d12가 획득될 수 있다.
움직임 추정 수단은 제b2 형식의 코드를 입력받아 움직임 추정을 수행할 수 있다. 움직임 추정 결과는 제b3 형식으로 출력될 수 있다. 파싱 유니트(170)는 움직임 추정 과정을 움직임 추정 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제b2 형식의 코드를 제b3 형식으로 변환시키는 알고리즘 또는 변환 코드 d23가 획득될 수 있다.
변환 수단은 제b3 형식의 코드를 입력받아 주파수 변환을 수행할 수 있다. 변환 결과는 제b4 형식으로 출력될 수 있다. 파싱 유니트(170)는 변환 과정을 변환 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제b3 형식의 코드를 제b4 형식으로 변환시키는 알고리즘 또는 변환 코드 d34가 획득될 수 있다.
양자화 수단은 제b4 형식의 코드를 입력받아 양자화를 수행할 수 있다. 양자화 결과는 제b5 형식으로 출력될 수 있다. 파싱 유니트(170)는 양자화 과정을 양자화 본연의 과정과 형식 변환 과정으로 구분할 수 있다. 형식 변환 과정의 추출 및 분석을 통해 제b4 형식의 코드를 제b5 형식으로 변환시키는 알고리즘 또는 변환 코드 d45가 획득될 수 있다.
제b5 형식은 제2 유니트(120)의 인코딩부에서 입력받을 수 있는 제2 형식 ②에 해당될 수 있다.
비교 실시예의 경우에는 포렌식 마크의 삽입을 위해 파싱 유니트(170)를 제외한 각 수단이 순서대로 구동되어야 하므로, 많은 시간이 소요될 수 있다.
도 4는 본 발명의 포렌식 마킹 장치의 동작을 나타낸 개략도이다.
파싱 유니트(170)는 설정 방식으로 압축된 콘텐츠를 사전 디코딩하거나, 사전 디코딩된 콘텐츠를 사전 인코딩할 수 있다.
파싱 유니트(170)는 사전 디코딩 과정 중 오직 제1 입출력 형식의 파악에 필요한 신택스 엘리먼트 또는 변환 코드가 획득되는 일부 과정만 수행할 수 있다. 또는, 파싱 유니트(170)는 사전 인코딩 과정 중 제2 입출력 형식의 파악에 필요한 신택스 엘리먼트 또는 변환 코드가 획득되는 일부 과정만 수행할 수 있다.
일 예로, 파싱 유니트(170)는 도 3에서 설명된 역양자화 본연의 과정, 역변환 본연의 과정, 역움직임 추정 본연의 과정, 역 인트라/인터 예측 본연의 과정 등을 철저하게 배제하고, 형식 변환 과정만을 수행할 수 있다.
형식 변환 과정은 제1 처리 또는 제2 처리 본연의 과정과 대비하여 처리 시간이 매우 짧다. 따라서, 파싱 유니트(170)에 의해 수행되는 사전 디코딩 과정 또는 사전 인코딩 과정에 소요되는 시간 역시 매우 짧다.
형식 변환 과정의 수행을 통해 파싱 유니트(170)는 각 변환 코드 c12, c23, c34, c45, d12, d23, d34, d45를 획득할 수 있으며, 이를 토대로 제1 입출력 형식 또는 제2 입출력 형식을 동기화시키는 변환 코드를 생성할 수 있다.
파싱 유니트(170)는 설정 방식으로 압축된 콘텐츠를 1차 디코딩할 수 있다. 이때, 제1 유니트(110)는 설정 방식으로 압축된 콘텐츠를 2차 디코딩할 수 있다.
1차 디코딩은 설정 방식에서 정의된 각 디코딩 과정에서 제1 입출력 형식의 파악에 필요한 신택스 엘리먼트의 추출 동작만 수행할 수 있다. 이때, 신택스 엘리먼트의 추출 동작은 형식 변환 과정을 나타낼 수 있다.
2차 디코딩은 설정 방식에 정의된 전체 디코딩 과정 중 설정 방식의 코덱에서 제공하는 엔트로피 디코딩만 수행하고, 나머지 디코딩 과정을 생략할 수 있다.
2차 디코딩된 결과물은 제1 입출력 형식에 의해 동기화된 후 곧바로 마킹 유니트(130)로 입력될 수 있다.
도 4의 (a)는 고정 입력되거나 기계 학습에 의해 생성된 변환 코드를 이용해서 제1 입출력 형식을 동기화하거나 제2 입출력 형식을 동기화하는 상태를 나타낼 수 있다.
도 4의 (b)는 실시간으로 변하는 변환 코드에 대응하여, 해당 변환 코드만을 수집해서 전체 변환 코드를 마련하는 상태를 나타낼 수 있다. 각 변환 코드 또는 전체 변환 코드는 신택스 구조의 파악을 통해서도 획득될 수 있다.
파싱 유니트(170)에 의해 파악된 각 변환 코드 c12, c23, c34, c45가 순서대로 배치되면 제1 입출력 형식을 동기화할 수 있는 제1 변환부(151)가 형성될 수 있다.
파싱 유니트(170)에 의해 파악된 각 변환 코드 d12, d23, d34, d45가 순서대로 배치되면 제2 입출력 형식을 동기화할 수 있는 제2 변환부(152)가 형성될 수 있다.
콘텐츠가 단일 코덱을 이용해 압축되는 방식의 경우, 파싱 유니트(170)는 1차 디코딩된 콘텐츠에 대한 1차 인코딩 과정을 미수행하고, 신택스 엘리먼트를 이용해 생성된 신택스 구조의 분석을 통해 제2 입출력 형식을 파악할 수 있다.
포렌식 마크가 삽입된 콘텐츠는 제2 입출력 형식에 의해 동기화된 후 곧바로 엔트로피 인코딩될 수 있다. 다시 말해, 단일 코덱 방식으로 압축된 콘텐츠를 대상으로 할 경우, 제1 변환부(151)를 역으로 구성하면 그대로 제2 변환부(152)가 될 수 있다. 다라서, 단일 코덱이 적용된 경우 제1 인코딩 과정을 배제하고 제1 디코딩 과정만 수행하면 충분하다.
도 5는 본 발명의 포렌식 마킹 방법을 나타낸 흐름도이다.
본 발명의 포렌식 마킹 방법은 파싱 단계(S 510), 디코딩 단계(S 520), 마킹 단계(S 530), 인코딩 단계(S 540)를 포함할 수 있다. 각 단계는 도 1에 도시된 포렌식 마킹 장치에 의해 수행될 수 있다.
파싱 단계(S 510)는 설정 방식으로 압축된 콘텐츠에 대한 사전 디코딩을 통해 엔트로피 디코딩과 포렌식 마크의 삽입 동작 간의 제1 입출력 형식 및 삽입 동작과 엔트로피 인코딩 간의 제2 입출력 형식을 파악할 수 있다.
디코딩 단계(S 520)는 콘텐츠를 엔트로피 디코딩하고, 엔트로피 디코딩된 콘텐츠를 제1 입출력 형식에 맞춰 변환할 수 있다.
마킹 단계(S 530)는 제1 입출력 형식으로 변환된 콘텐츠를 입력받고 포렌식 마크를 삽입할 수 있다.
인코딩 단계(S 540)는 포렌식 마크가 삽입된 콘텐츠를 엔트로피 인코딩에서 요구하는 제2 입출력 형식으로 변환하고, 제2 입출력 형식으로 변환된 콘텐츠를 엔트로피 인코딩할 수 있다.
본 발명에 따르면, 디코딩 단계와 마킹 단계 사이에 별도의 제1 처리 과정이 배제될 수 있다. 또한, 마킹 단계와 인코딩 단계 사이에 별도의 제2 처리 과정이 배제될 수 있다. 제1 처리 과정과 제2 처리 과정의 배제로 인해 포렌식 마킹의 속도가 대폭 개선될 수 있다. 속도의 개선을 통해 8K 해상도 60프레임/초 이상의 재상 능력을 갖는 멀티미디어 콘텐츠에 대한 포렌식 마크의 실시간 삽입이 가능하다.
포렌식 마크의 삽입 속도를 더욱 개선하기 위해 병렬 처리 방식이 도입될 수 있다.
일 예로, 8K 60fps 콘텐츠를 대상으로 원활하게 포렌식 마킹하기 위해서 GPU(Graphic Processor Unit)를 사용하는 병렬 처리가 고려될 수 있다. 스트리밍을 위한 포렌식 마킹 서비스를 수행하기 위해 콘텐츠 서버(50)에는 설정 방식의 압축 기술에서 제안하는 규격의 콘텐츠가 저장될 수 있다. 예를 들어, HEVC 표준에서는 원본 콘텐츠에 대한 최초 인코딩시 병렬로 인코딩되는 것이 좋다. 왜냐하면, 초기에 병렬로 인코딩되지 않으면, 각 영상마다 다른 조건의 CTU(Coding Tree Unit) 간에 연관성을 갖게 되므로 병렬 처리가 어려워지기 때문이다. 따라서, 콘텐츠 서버(50)는 콘텐츠 등록 절차에서 원본 RAW 콘텐츠를 등록받고 CTU 사이즈와 타일 사이즈를 파라미터로 입력받아 타일로 인코딩할 수 있다.
병렬 처리되어 콘텐츠 서버(50)에 저장된 콘텐츠가 본 발명의 병렬 포렌식 마킹 장치에 입수될 수 있다.
도 6은 본 발명의 병렬 포렌식 마킹 장치에 의해 복수 영역으로 분할된 프레임을 나타낸 개략도이다. 도 7은 본 발명의 병렬 포렌식 마킹 장치를 나타낸 개략도이다. 도 7에 도시된 병렬 포렌식 마킹 장치는 도 1의 포렌식 마킹 서버(100)에 해당될 수 있다.
본 발명의 병렬 포렌식 마킹 장치는 분할부(180), 복수의 디코딩부(111, 112, 113, 114), 동기화부(160)를 포함할 수 있다.
분할부(180)는 설정 방식으로 압축된 콘텐츠의 한 프레임을 복수 영역으로 분할 수 있다.
복수의 디코딩부는 분할된 각 영역을 할당받아 엔트로피 디코딩할 수 있다.
동기화부(160)는 복수의 디코딩부에 입출력되는 각 영역을 동기화시켜 프레임을 완성시킬 수 있다.
설정 방식으로 압축된 콘텐츠는 RAW 콘텐츠가 CTU(Coding Tree Unit) 사이즈와 타일(tile) 사이즈를 파라미터로 하여 타일 방식으로 인코딩된 것일 수 있다. 분할부(180)는 타일 방식에 따라 상기 프레임을 복수 영역으로 분할할 수 있다. 복수의 디코딩부는 분할된 영역을 서로 독립적으로 엔트로피 디코딩할 수 있다.
일 예로, 도 6과 같이 하나의 제1 프레임 1st frame은 분할부(180)에 의해 4개의 영역으로 분할될 수 있다. 분할부(180)는 분할된 각 영역에 서로 다른 타일 번호 F0, F1, F2, F3를 부여할 수 있다. 각 타일에는 복수의 CTU가 포함될 수 있다. HEVC 방식의 경우 타일의 사이즈와 CTU의 사이즈는 고정될 수 있으나, CTU에 포함된 CU는 CTU 또는 타일마다 다를 수 있다.
콘텐츠가 HEVC(High Efficiency Video Codec) 방식으로 압축될 때, 각 영역에 포함된 CU(Coding Unit)의 차이로 인해, 각 영역을 엔트로피 디코딩하는 각 디코딩부의 처리 속도가 달라질 수 있다. 처리 속도의 차이로 인해, 하나의 제1 프레임이 분할된 복수의 타일 F0, F1, F2, F3가 동시에 각 디코딩부에 입력되더라도, 디코딩부에서 출력되는 시점은 서로 다를 수 있다.
예를 들어, 타일 F0는 제1 디코딩부(111)에 입력될 수 있다. 타일 F1은 제2 디코딩부(112)에 입력될 수 있다. 타일 F2는 제3 디코딩부(113)에 입력될 수 있다. 타일 F3은 제4 디코딩부(114)에 입력될 수 있다. 이때, 입력 시점이 모두 동일하더라도 각 디코딩부로부터 출력되는 시점은 모두 다를 수 있다.
동기화부(160)는 타일 번호를 이용해서 복수로 분할되고 엔트로피 디코딩된 각 영역을 매칭시켜 하나의 프레임을 조립할 수 있다. 일 예로, 서로 다른 시점에 상기 디코딩부로부터 출력되는 각 영역을 저장하는 저장부(139)가 마련될 수 있다.
동기화부(160)는 저장부(139)에 저장된 각 영역을 하나로 모아서 프레임을 완성시킬 수 있다.
CU 등의 차이로 인해 특정 프레임의 각 영역은 서로 다른 시점에 각 디코딩부로부터 출력될 수 있다. 특정 프레임의 영역에 대한 엔트로피 인코딩이 다른 디코딩부에서 수행 중인 상태에서 특정 디코딩부가 유휴 상태가 되면, 동기화부(160)는 다음 프레임의 일부 영역을 유휴 상태인 특정 디코딩부에 입력할 수 있다.
일 예로, 제1 디코딩부가 타일 F1을 먼저 처리한 경우, 제1 디코딩부는 쉬고 있는 유휴 상태가 될 수 있다. 이때, 동기화부(160)는 다음 프레임의 타일을 제1 디코딩부에 입력할 수 있다. 전체 디코딩부의 처리 속도 밸런싱을 위해 제1 디코딩부에는 다음 프레임 중 가장 많은 처리 시간이 소요될 것으로 예측되는 타일이 입력되는 것이 좋다.
각 타일의 처리 시간을 예측하거나, 각 디코딩부의 처리 속도, 처리 시간을 균등하게 유지하기 위해 파싱 유니트(170)가 이용될 수 있다.
파싱 유니트(170)는 사전 디코딩 과정을 통해 신택스 구조(syntax structure)를 파악할 수 있다.
동기화부(160)는 신택스 구조를 이용해서 복수의 영역을 동기화시킬 수 있다.
파싱 유니트(170)는 사전 디코딩을 멀티미디어 데이터 처리와 신택스 관련 처리로 구분할 수 있다. 멀티미디어 데이터 처리는 앞서 설명된 역양자화 본연의 과정, 역변환 본연의 과정, 역움직임 추정 본연의 과정, 역 인트라/인터 예측 본연의 과정 등을 포함할 수 있다. 신택스 관련 처리는 앞서 설명된 형식 변환 과정을 포함할 수 있다.
파싱 유니트(170)는 멀티미디어 데이터 처리는 배제하고 신택스 관련 처리만 수행해서 신택스 구조의 파악에 필요한 신택스 엘리먼트(syntax element)를 획득할 수 있다.
파싱 유니트(170)로부터 신택스 엘리먼트 또는 신택스 구조를 입수한 동기화부(160)는 디코딩 전의 프레임에 대해 각 영역별 디코딩 시간을 예측할 수 있다. 동기화부(160)는 예측 시간에 이용해서, 콘텐츠 전체에 대한 각 디코딩부의 총 작업 시간 차이를 최소화하는 방향으로 각 프레임의 분할 영역을 각 디코딩부에 할당할 수 있다.
콘텐츠에 포렌식 마크를 삽입하는 마킹 유니트(130)가 마련될 때, 디코딩부에서 출력되는 코드의 형식은 상기 마킹 유니트(130)에서 요구하는 제1 입출력 형식과 다를 수 있다.
신택스 구조를 이용해서 디코딩부의 출력 코드를 제1 입출력 형식으로 변환하고, 제1 입출력 형식으로 변환된 출력 코드를 마킹 유니트(130)에 제공하는 변환 유니트(150)가 마련될 수 있다.
분할부(180) 및 상기 동기화부(160)는 컴퓨터 장치의 CPU(Central Processing Unit, 중앙처리장치)에 형성될 수 있다. 디코딩부는 컴퓨터 장치의 GPU(Graphics Processing Unit, 그래픽처리장치)에 형성될 수 있다.
도 8은 본 발명의 실시예에 따른, 컴퓨팅 장치를 나타내는 도면이다. 도 8의 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예, 포렌식 마킹 장치, 병렬 포렌식 마킹 장치 등) 일 수 있다.
도 8의 실시예에서, 컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.
프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.
메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다.
송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다.
한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 통상의 기술자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
11...역양자화 수단 12...역변환 수단
13...역움직임 추정 수단 14...역 인트라/인터 예측 수단
15...인트라/인터 예측 수단 16...움직임 추정 수단
17...변환 수단 18...양자화 수단
50...콘텐츠 서버 70...포렌식 서버
90...단말기 100...포렌식 마킹 서버
110...제1 유니트 111, 112, 113, 114...디코딩부
121, 122, 123, 124...인코딩부
120...제2 유니트 130...마킹 유니트
139...저장부 150...변환 유니트
151...제1 변환부 152...제2 변환부
160...동기화부 170...파싱 유니트
180...분할부 200...통신 모듈
1000...고속화 부재

Claims (11)

  1. HEVC(High Efficiency Video Codec, H.265) 방식으로 압축된 콘텐츠를 디코딩하는 제1 유니트;
    상기 제1 유니트에 의해 디코딩된 콘텐츠에 포렌식 마크를 삽입하는 마킹 유니트;
    상기 포렌식 마크가 삽입된 콘텐츠를 인코딩하는 제2 유니트;
    상기 제1 유니트와 상기 마킹 유니트 간의 제1 입출력 형식을 동기화시키거나, 상기 제2 유니트와 상기 마킹 유니트 간의 제2 입출력 형식을 동기화시키는 변환 유니트;를 포함하고,
    상기 제1 유니트에는 상기 콘텐츠를 역양자화하는 역양자화 수단이 배제된 상태로, 상기 콘텐츠를 엔트로피 디코딩(entropy decoding)하는 디코딩부가 마련되고,
    상기 제2 유니트에는 상기 포렌식 마크가 삽입된 콘텐츠를 양자화하는 양자화 수단이 배제된 상태로, 상기 포렌식 마크가 삽입된 콘텐츠를 엔트로피 인코딩(entropy encoding)하는 인코딩부가 마련되며,
    상기 변환 유니트는 상기 디코딩부의 출력 코드를 상기 마킹 유니트에 입력 가능한 제1 형식으로 변환시키거나, 상기 마킹 유니트의 출력 코드를 상기 인코딩부에 입력 가능한 제2 형식으로 변환시키는 포렌식 마킹 장치.
  2. 설정 방식으로 압축된 콘텐츠를 디코딩하는 제1 유니트;
    상기 제1 유니트에 의해 디코딩된 콘텐츠에 포렌식 마크를 삽입하는 마킹 유니트;
    상기 포렌식 마크가 삽입된 콘텐츠를 인코딩하는 제2 유니트;
    상기 제1 유니트와 상기 마킹 유니트 간의 제1 입출력 형식을 동기화시키거나, 상기 제2 유니트와 상기 마킹 유니트 간의 제2 입출력 형식을 동기화시키는 변환 유니트;
    상기 제1 입출력 형식 또는 상기 제2 입출력 형식을 파악해서 상기 변환 유니트에 제공하는 파싱 유니트;를 포함하고,
    설정 방식으로 압축된 상기 콘텐츠는 상기 제1 유니트에 의해 엔트로피 디코딩(entropy decoding)되며,
    상기 포렌식 마크가 삽입된 콘텐츠는 상기 제2 유니트에 의해 엔트로피 인코딩(entropy encoding)되고,
    상기 파싱 유니트는 상기 엔트로피 디코딩된 콘텐츠를 역양자화(inverse quantization)하는 과정을 역양자화 본연의 과정과 형식 변환 과정으로 구분하며,
    상기 파싱 유니트는 상기 형식 변환 과정의 분석을 통해, 상기 역양자화 과정에 입력되는 형식의 코드를 상기 역양자화 과정으로부터 출력되는 형식의 코드로 변환시키는 알고리즘 또는 변환 코드를 획득하고,
    상기 파싱 유니트는 상기 알고리즘 또는 상기 변환 코드를 토대로 상기 제1 입출력 형식을 동기화시키는 코드를 생성하는 포렌식 마킹 장치.
  3. 제2항에 있어서,
    상기 파싱 유니트는 상기 포렌식 마크가 삽입된 콘텐츠를 양자화(quantization)하는 과정을 양자화 본연의 과정과 형식 변환 과정으로 구분하고,
    상기 파싱 유니트는 상기 형식 변환 과정의 분석을 통해, 상기 양자화 과정에 입력되는 형식의 코드를 상기 양자화 과정으로부터 출력되는 형식의 코드로 변환시키는 알고리즘 또는 변환 코드를 획득하며,
    상기 파싱 유니트는 상기 알고리즘 또는 상기 변환 코드를 토대로 상기 제2 입출력 형식을 동기화시키는 코드를 생성하는 포렌식 마킹 장치.
  4. 제2항에 있어서,
    상기 마킹 유니트는 상기 엔트로피 디코딩(entropy decoding)과 함께 수행되는 제1 처리 과정으로부터 출력되는 제1 형식의 코드를 입력받을 수 있게 형성되고,
    상기 제1 처리 과정은 상기 역양자화(inverse quantization), 역변환(inverse transform), 역움직임 추정(inverse motion compensation), 역 인트라/인터 예측(inverse intra/inter prediction) 중 적어도 하나를 포함하며,
    상기 엔트로피 디코딩을 수행하는 디코딩부, 상기 디코딩부로부터 출력되는 코드를 상기 제1 형식으로 변환해서 상기 마킹 유니트에 제공하는 제1 변환부가 마련된 포렌식 마킹 장치.
  5. 제3항에 있어서,
    상기 제2 유니트는 포렌식 마크의 삽입 이후에 수행되는 제2 처리 과정으로부터 출력되는 제2 형식의 코드를 입력받을 수 있게 형성되고,
    상기 제2 처리 과정은 인트라/인터 예측(intra/inter prediction), 움직임 추정(motion compensation), 변환(transform), 상기 양자화(quantization) 중 적어도 하나를 포함하며,
    상기 제2 형식의 코드를 입력받아 엔트로피 인코딩하는 인코딩부, 상기 마킹 유니트로부터 출력되는 코드를 상기 제2 형식으로 변환해서 상기 인코딩부에 제공하는 제2 변환부가 마련된 포렌식 마킹 장치.
  6. 삭제
  7. 제2항에 있어서,
    상기 설정 방식으로 압축된 콘텐츠와 재생 레벨의 콘텐츠 간의 실제 디코딩 또는 실제 인코딩을 미리 수행하는 상기 파싱 유니트가 마련되고,
    상기 파싱 유니트는 상기 실제 디코딩 또는 상기 실제 인코딩의 각 과정별로 신택스 구조(syntax structure)를 형성하는 신택스 엘리먼트(syntax element)를 추출하거나, 코드 형식을 변환시키는 상기 변환 코드를 추출하며,
    상기 파싱 유니트는 상기 신택스 엘리먼트 또는 상기 변환 코드를 상기 변환 유니트에 제공하며,
    상기 변환 유니트는 상기 신택스 엘리먼트 또는 상기 변환 코드를 이용해서 상기 제1 입출력 형식 또는 상기 제2 입출력 형식을 동기화시키는 포렌식 마킹 장치.
  8. 제2항에 있어서,
    상기 설정 방식으로 압축된 콘텐츠를 사전 디코딩하거나, 사전 디코딩된 콘텐츠를 사전 인코딩하는 상기 파싱 유니트가 마련되고,
    상기 파싱 유니트는 상기 사전 디코딩 과정 중 오직 상기 제1 입출력 형식의 파악에 필요한 신택스 엘리먼트 또는 상기 변환 코드가 획득되는 일부 과정만 수행하거나,
    상기 파싱 유니트는 상기 사전 인코딩 과정 중 오직 상기 제2 입출력 형식의 파악에 필요한 신택스 엘리먼트 또는 변환 코드가 획득되는 일부 과정만 수행하는 포렌식 마킹 장치.
  9. 제2항에 있어서,
    상기 설정 방식으로 압축된 콘텐츠를 1차 디코딩하는 상기 파싱 유니트가 마련되고,
    상기 제1 유니트는 상기 설정 방식으로 압축된 콘텐츠를 2차 디코딩하며,
    상기 1차 디코딩은 상기 설정 방식에서 정의된 각 디코딩 과정에서 상기 제1 입출력 형식의 파악에 필요한 신택스 엘리먼트의 추출 동작만 수행하고,
    상기 2차 디코딩은 상기 설정 방식에 정의된 전체 디코딩 과정 중 상기 설정 방식의 코덱에서 제공하는 엔트로피 디코딩만 수행하고, 나머지 디코딩 과정을 생략하며,
    상기 2차 디코딩된 결과물은 상기 제1 입출력 형식에 의해 동기화된 후 곧바로 상기 마킹 유니트로 입력되고,
    상기 설정 방식은 단일 코덱을 사용하고,
    상기 파싱 유니트는 상기 1차 디코딩된 콘텐츠에 대한 1차 인코딩 과정을 미수행하고, 상기 신택스 엘리먼트를 이용해 생성된 신택스 구조의 분석을 통해 상기 제2 입출력 형식을 파악하며,
    상기 포렌식 마크가 삽입된 콘텐츠는 상기 제2 입출력 형식에 의해 동기화된 후 곧바로 엔트로피 인코딩되는 포렌식 마킹 장치.
  10. 제2항에 있어서,
    상기 제1 유니트는 HEVC(High Efficiency Video Codec, H.265) 방식으로 압축된 콘텐츠를 디코딩하는 포렌식 마킹 장치.
  11. 포렌식 마킹 장치에 의해 수행되는 포렌식 마킹 방법에 있어서,
    설정 방식으로 압축된 콘텐츠에 대한 사전 디코딩을 통해 엔트로피 디코딩과 포렌식 마크의 삽입 동작 간의 제1 입출력 형식 및 상기 삽입 동작과 엔트로피 인코딩 간의 제2 입출력 형식을 파악하는 파싱 단계;
    상기 콘텐츠를 엔트로피 디코딩하고, 엔트로피 디코딩된 콘텐츠를 상기 제1 입출력 형식에 맞춰 변환하는 디코딩 단계;
    상기 제1 입출력 형식으로 변환된 콘텐츠를 입력받고 포렌식 마크를 삽입하는 마킹 단계;
    상기 포렌식 마크가 삽입된 콘텐츠를 상기 엔트로피 인코딩에서 요구하는 제2 입출력 형식으로 변환하고, 상기 제2 입출력 형식으로 변환된 콘텐츠를 엔트로피 인코딩하는 인코딩 단계;를 포함하고,
    상기 파싱 단계는,
    상기 엔트로피 디코딩된 콘텐츠를 역양자화(inverse quantization)하는 과정을 역양자화 본연의 과정과 형식 변환 과정으로 구분하며,
    상기 형식 변환 과정의 분석을 통해, 상기 역양자화 과정에 입력되는 형식의 코드를 상기 역양자화 과정으로부터 출력되는 형식의 코드로 변환시키는 알고리즘 또는 변환 코드를 획득하고,
    상기 알고리즘 또는 상기 변환 코드를 토대로 상기 제1 입출력 형식을 동기화시키는 코드를 생성하는 포렌식 마킹 방법.
KR1020190155717A 2019-11-28 2019-11-28 포렌식 마킹 장치 및 방법 KR102192630B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190155717A KR102192630B1 (ko) 2019-11-28 2019-11-28 포렌식 마킹 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190155717A KR102192630B1 (ko) 2019-11-28 2019-11-28 포렌식 마킹 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102192630B1 true KR102192630B1 (ko) 2020-12-17

Family

ID=74089799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190155717A KR102192630B1 (ko) 2019-11-28 2019-11-28 포렌식 마킹 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102192630B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030010694A (ko) * 2001-04-12 2003-02-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 워터마크 삽입
KR20050098258A (ko) * 2003-01-23 2005-10-11 코닌클리케 필립스 일렉트로닉스 엔.브이. 코딩된 신호내의 워터마크 임베딩
KR101992779B1 (ko) 2012-05-09 2019-06-26 한국전자통신연구원 실시간 콘텐츠 서비스를 위한 포렌식 마킹 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030010694A (ko) * 2001-04-12 2003-02-05 코닌클리케 필립스 일렉트로닉스 엔.브이. 워터마크 삽입
KR20050098258A (ko) * 2003-01-23 2005-10-11 코닌클리케 필립스 일렉트로닉스 엔.브이. 코딩된 신호내의 워터마크 임베딩
KR101992779B1 (ko) 2012-05-09 2019-06-26 한국전자통신연구원 실시간 콘텐츠 서비스를 위한 포렌식 마킹 장치 및 방법

Similar Documents

Publication Publication Date Title
CN109547786B (zh) 视频编码、以及视频解码的方法、装置
CN103621085B (zh) 降低视频解码中的延迟的方法和计算系统
US7142599B2 (en) Method and device for selecting a transcoding method from a set of transcoding methods
US6611262B1 (en) Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format
CN102792689B (zh) 能够进行增量压缩以及对运动估计和元数据的修改以用于将图像呈现给远程显示器
US8351498B2 (en) Transcoding video data
KR101781776B1 (ko) 인코더 및 디코더
TW200541347A (en) Data insertion apparatus and methods for use with compressed audio/video data
US8660177B2 (en) Parallel entropy coding
GB2299237A (en) Video decoding apparatus
US20140146872A1 (en) System And Method For Randomly Accessing Compressed Data From Memory
JP2010141821A (ja) ストリーミングプロセッサおよびプロセッサシステム
CN103986934A (zh) 具有对压缩帧缓冲区的随机访问的视频处理器及其方法
CN105519117A (zh) 动态图像编码装置、动态图像转码装置、动态图像编码方法、动态图像转码方法以及动态图像流传输系统
KR102192630B1 (ko) 포렌식 마킹 장치 및 방법
KR102192631B1 (ko) 병렬 포렌식 마킹 장치 및 방법
JP4086966B2 (ja) 映像信号符号化装置
US20050035886A1 (en) Method and device for determining at least one multimedia data encoding parameter
JP2007505545A (ja) スケーラブル信号処理方法及び装置
CN101399961B (zh) 数字指纹嵌入方法、数字视频分发系统及方法
JP2009528751A (ja) 差分符号化
US7050700B2 (en) Picture compression managing apparatus and picture compression managing method used therefor
CN113422960A (zh) 图像的传输方法及装置
US20160234529A1 (en) Method and apparatus for entropy encoding and decoding
KR20220082633A (ko) Drm 스트리밍 기술을 지원하는 포렌식 마킹 장치 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant