KR20160039922A - 영상처리장치 및 그 제어방법 - Google Patents

영상처리장치 및 그 제어방법 Download PDF

Info

Publication number
KR20160039922A
KR20160039922A KR1020140133237A KR20140133237A KR20160039922A KR 20160039922 A KR20160039922 A KR 20160039922A KR 1020140133237 A KR1020140133237 A KR 1020140133237A KR 20140133237 A KR20140133237 A KR 20140133237A KR 20160039922 A KR20160039922 A KR 20160039922A
Authority
KR
South Korea
Prior art keywords
stream
video signal
unit
scrambled
signal
Prior art date
Application number
KR1020140133237A
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 KR1020140133237A priority Critical patent/KR20160039922A/ko
Priority to EP15187724.8A priority patent/EP3002953A1/en
Priority to US14/872,360 priority patent/US10409963B2/en
Priority to CN201510644689.6A priority patent/CN105491399B/zh
Publication of KR20160039922A publication Critical patent/KR20160039922A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • 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/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/4405Processing 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 video stream decryption
    • 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/4408Processing 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 video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 실시예에 따른 영상처리장치는, 암호화된 영상신호를 수신하는 신호수신부와; 신호수신부에 수신되는 암호화된 영상신호가 임시 저장되는 저장부와; 저장부로부터 출력되는 암호화된 영상신호를 기 설정된 제1비밀 키에 의해 해독함으로써, 암호화된 영상신호를 복원된 영상신호로 변환하는 신호해독부와; 신호해독부로부터 출력되는 복원된 영상신호를 영상으로 표시 가능하게 디코딩하는 디코딩부를 포함하는 것을 특징으로 한다.

Description

영상처리장치 및 그 제어방법 {IMAGE PROCESSING APPARATUS AND CONTROL METHOD THEREOF}
본 발명은 영상 스트림(stream)을 영상으로 표시되게 처리 가능한 영상처리장치 및 그 제어방법에 관한 것으로서, 상세하게는 DRM(Digital Rights Management)이 적용된 컨텐츠 데이터의 영상 스트림을 해독하여 영상으로 표시함에 있어서, 이 과정에서 해독된 컨텐츠 데이터가 해킹(hacking)에 의해 유출되는 것을 방지하는 구조의 영상처리장치 및 그 제어방법에 관한 것이다.
영상처리장치는 외부로부터 수신되는 영상신호/영상데이터를 다양한 영상처리 프로세스에 따라서 처리한다. 영상처리장치는 처리된 영상데이터를 자체 구비한 디스플레이 패널 상에 영상으로 표시하거나, 또는 패널을 구비한 타 디스플레이장치에서 영상으로 표시되도록 이 처리된 영상신호를 해당 디스플레이장치에 출력할 수 있다. 즉, 영상처리장치는 영상데이터를 처리 가능한 장치라면 영상을 표시 가능한 패널을 포함하는 경우 및 패널을 포함하지 않는 경우 모두 포함할 수 있는 바, 전자의 경우의 예시로는 TV가 있으며, 후자의 경우의 예시로는 셋탑박스(set-top box)가 있다.
기술의 발전에 따라서, 고해상도 및 고화질의 UHD(ultra high definition) 급의 컨텐츠 데이터가 아날로그/디지털 통신을 통해 영상처리장치에 제공되고 있다. 이러한 컨텐츠 데이터는 어떠한 제약이 없이 복사/복제가 가능하게 제공되는 경우도 있지만, 컨텐츠의 저작권을 보호하기 위해 DRM 기술이 적용되는 경우도 있다. DRM 기술은 여러 가지 형태로 구현될 수 있는데, 기본적으로는 허가받지 않은 제3자가 영상처리장치에서 컨텐츠 데이터를 무단으로 복제하는 것을 방지하도록 마련된다. 예를 들면, 컨텐츠 제공자는 DRM 기술에 따른 암호화가 적용된 컨텐츠 데이터를 영상처리장치에 제공하며, 영상처리장치는 암호화를 복호화하기 위한 비밀 키(key)를 가지고 컨텐츠 데이터를 복호화함으로써 영상으로 표시한다. 만일 영상처리장치가 비밀 키를 확보하고 있지 않다면, 암호화된 컨텐츠 데이터를 영상으로 표시할 수 없다.
그런데, 영상처리장치는 DRM 기술이 적용된 컨텐츠 데이터가 영상처리장치에서 디코딩되어 영상으로 표시되게 허용하면서도, 해당 컨텐츠 데이터가 외부장치로 복사 및 유출되는 것을 차단하여야 한다. 그러나, 만일 영상처리장치의 내부 구성에 대해 어떠한 동작 제한도 설정되어 있지 않다면 컨텐츠 데이터의 외부 유출을 막을 수는 없으므로, 영상처리장치는 이를 방지하기 위한 구성 및 설계의 적용을 필요로 한다.
본 발명의 실시예에 따른 영상처리장치는, 암호화된 영상신호를 수신하는 신호수신부와; 상기 신호수신부에 수신되는 상기 암호화된 영상신호가 임시 저장되는 저장부와; 상기 저장부로부터 출력되는 상기 암호화된 영상신호를 기 설정된 제1비밀 키에 의해 해독함으로써, 상기 암호화된 영상신호를 복원된 영상신호로 변환하는 신호해독부와; 상기 신호해독부로부터 출력되는 상기 복원된 영상신호를 영상으로 표시 가능하게 디코딩하는 디코딩부를 포함하는 것을 특징으로 한다. 이에 의하여, 복원된 영상신호가 저장부에 저장되는 것을 방지함으로써, CPU 또는 저장부에 대한 해킹으로 인해 복원된 영상신호가 무단으로 유출되는 것을 방지하고, 컨텐츠에 대한 보안을 지킬 수 있다.
여기서, CPU를 더 포함하며, 상기 저장부에는 상기 CPU에 의해 처리되는 데이터가 저장될 수 있다. 암호화된 영상신호가 저장되는 저장부를 CPU가 사용하는 램의 저장영역에 구현함으로써, 영상처리장치의 설계를 간단히 하고 제조비용을 절감할 수 있다.
여기서, 상기 신호수신부에 의해 수신되는 상기 암호화된 영상신호를 역다중화하는 디멀티플렉서를 더 포함할 수 있다. 이로써, 수신되는 영상신호가 다중화된 전송스트림인 경우에, 이를 각 디코더에 대응하는 하위 스트림으로 구분하여 저장부에 저장되도록 할 수 있다.
또한, 상기 CPU는, 상기 신호수신부에 의해 수신되는 상기 암호화된 영상신호로부터 상기 제1비밀 키를 추출하고, 상기 신호해독부가 억세스 가능하게 마련된 레지스터에 상기 추출된 제1비밀 키를 저장할 수 있다. 여기서, 상기 CPU는, 상기 암호화된 영상신호에 대한 해독이 완료되면 상기 레지스터에서 상기 제1비밀 키를 삭제할 수 있다. 비밀 키가 해독 시에만 존재하고 그 이외에는 영상처리장치에 존재하지 않도록 함으로써, 비밀 키가 유출되어 최종적으로 복원된 영상신호가 유출되는 것을 방지할 수 있다.
또한, 상기 신호수신부에 수신되는 상기 암호화된 영상신호를 상기 저장부에 저장하고, 상기 디코딩부로부터의 요청에 대응하는 데이터량의 상기 저장된 영상신호를 상기 저장부로부터 상기 신호해독부에 전달하는 제어부를 더 포함할 수 있다. 이로써, 저장부에 대한 영상신호의 입출력을 제어할 수 있다.
여기서, 상기 제어부는, 상기 저장부에 저장된 상기 영상신호가 암호화되어 있지 않으면, 상기 저장부에 저장된 영상신호를 상기 신호해독부를 바이패스하여 상기 디코딩부에 전달할 수 있다. 이로써, 전송스트림이 스크램블된 하위 스트림 및 스크램블되지 않은 하위 스트림을 모두 포함하는 경우에, 각 하위 스트림의 상태에 대응하여 디코더에 전달되도록 할 수 있다.
또한, 상기 제어부는, 상기 신호해독부에 전달한 상기 암호화된 영상신호를 상기 저장부에서 삭제할 수 있다. 이로써, 다음 전달되는 암호화된 영상신호를 저장하기 위한 영역을 저장부에서 확보되도록 할 수 있다.
또한, 상기 신호해독부로부터 출력되는 상기 복원된 영상신호를 기 설정된 제2비밀 키에 의하여 재암호화하는 암호화부와; 상기 암호화부에 의해 재암호화된 영상신호가 저장되는 제2저장부를 더 포함할 수 있다. 여기서, 상기 제2비밀 키는, 상기 영상처리장치의 고유 식별정보에 기초하여 생성될 수 있다. 이로써, 복원된 영상신호가 차후 유출되는 것을 방지하면서도, 영상처리장치의 사용자가 복원된 영상신호를 녹화 및 저장할 수 있다.
또한, 본 발명의 실시예에 따른 영상처리장치의 제어방법은, 암호화된 영상신호를 수신하는 단계와; 상기 암호화된 영상신호를 저장부에 임시 저장하는 단계와; 상기 저장부에 저장된 상기 암호화된 영상신호를 기 설정된 제1비밀 키에 의해 해독함으로써, 상기 암호화된 영상신호를 복원된 영상신호로 변환하는 단계와; 상기 복원된 영상신호를 영상으로 표시 가능하게 디코딩하는 단계를 포함하는 것을 특징으로 한다. 이에 의하여, 복원된 영상신호가 저장부에 저장되는 것을 방지함으로써, CPU 또는 저장부에 대한 해킹으로 인해 복원된 영상신호가 무단으로 유출되는 것을 방지하고, 컨텐츠에 대한 보안을 지킬 수 있다.
여기서, 상기 저장부에는 상기 영상처리장치의 CPU에 의해 처리되는 데이터가 저장될 수 있다. 암호화된 영상신호가 저장되는 저장부를 CPU가 사용하는 램의 저장영역에 구현함으로써, 영상처리장치의 설계를 간단히 하고 제조비용을 절감할 수 있다.
여기서, 상기 암호화된 영상신호를 수신하는 단계는, 상기 암호화된 영상신호를 역다중화하는 단계를 더 포함할 수 있다. 이로써, 수신되는 영상신호가 다중화된 전송스트림인 경우에, 이를 각 디코더에 대응하는 하위 스트림으로 구분하여 저장부에 저장되도록 할 수 있다.
또한, 상기 암호화된 영상신호를 복원된 영상신호로 변환하는 단계는, 상기 암호화된 영상신호로부터 상기 제1비밀 키를 추출하는 단계와; 상기 해독 시에 참조 가능하도록 상기 추출된 제1비밀 키를 저장하는 단계를 포함할 수 있다. 여기서, 상기 암호화된 영상신호를 복원된 영상신호로 변환하는 단계는, 상기 암호화된 영상신호에 대한 해독이 완료되면 상기 제1비밀 키를 삭제하는 단계를 더 포함할 수 있다. 비밀 키가 해독 시에만 존재하고 그 이외에는 영상처리장치에 존재하지 않도록 함으로써, 비밀 키가 유출되어 최종적으로 복원된 영상신호가 유출되는 것을 방지할 수 있다.
또한, 상기 복원된 영상신호를 기 설정된 제2비밀 키에 의하여 재암호화하는 단계와; 상기 재암호화된 영상신호를 저장하는 단계를 더 포함할 수 있다. 여기서, 상기 제2비밀 키는, 상기 영상처리장치의 고유 식별정보에 기초하여 생성될 수 있다. 이로써, 복원된 영상신호가 차후 유출되는 것을 방지하면서도, 영상처리장치의 사용자가 복원된 영상신호를 녹화 및 저장할 수 있다.
도 1은 본 발명의 제1실시예에 따른 영상처리장치의 구성 블록도,
도 2는 도 1의 영상처리장치의 처리부의 구성 블록도,
도 3은 본 발명의 제2실시예에 따른 처리부의 구성 블록도,
도 4는 본 발명의 제3실시예에 따른 CPU에 적용 가능한 소프트웨어적 보안기술의 원리를 나타내는 예시도,
도 5는 본 발명의 제4실시예에 따른 처리부의 구성 블록도,
도 6은 도 5의 처리부에서 램 컨트롤러가 버퍼에 영상스트림을 저장하는 원리를 나타내는 예시도,
도 7은 MPEG 압축 원리에 따라서 생성된 영상스트림의 프레임 구조를 나타내는 예시도,
도 8은 본 발명의 제5실시예에 따른 처리부의 구성 블록도,
도 9는 도 5의 처리부에서 스트림이 진행하는 과정을 나타내는 예시도,
도 10은 도 8의 처리부에서 스트림이 진행하는 과정을 나타내는 예시도,
도 11은 본 발명의 제6실시예에 따른 처리부의 구성 블록도,
도 12는 본 발명의 제7실시예에 따른 처리부의 구성 블록도,
도 13은 본 발명의 제8실시예에 따른 처리부의 구성 블록도,
도 14는 본 발명의 제9실시예에 따른 처리부의 구성 블록도,
도 15는 본 발명의 제10실시예에 따른 영상처리장치의 제어방법을 나타내는 플로우차트,
도 16은 본 발명의 제11실시예에 따른 램의 구현 원리를 나타내는 블록도,
도 17은 본 발명의 제12실시예에 따라서, 램에서 메인섹션 및 버퍼를 분할 지정하는 원리를 나타내는 구성 블록도,
도 18은 본 발명의 제13실시예에 따른 처리부의 구성 블록도이다.
이하에서는 첨부도면을 참조하여 본 발명에 따른 실시예들에 관해 상세히 설명한다. 이하 실시예들의 설명에서는 첨부된 도면들에 기재된 사항들을 참조하는 바, 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 구성요소를 나타낸다.
만일, 실시예에서 제1구성요소, 제2구성요소 등과 같이 서수를 포함하는 용어가 있다면, 이러한 용어는 다양한 구성요소들을 설명하기 위해 사용되는 것이며, 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용되는 바, 이들 구성요소는 용어에 의해 그 의미가 한정되지 않는다. 실시예에서 사용하는 용어는 해당 실시예를 설명하기 위해 적용되는 것으로서, 본 발명의 사상을 한정하지 않는다.
또한, 실시예에서는 본 발명의 사상과 직접적인 관련이 있는 구성들에 관해서만 설명하며, 그 외의 구성에 관해서는 설명을 생략한다. 그러나, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 설명이 생략된 구성이 불필요함을 의미하는 것이 아님을 밝힌다. 실시예에서 "포함하다" 또는 "가지다"와 같은 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소 또는 이들의 조합이 존재함을 지정하기 위한 것이며, 하나 이상의 다른 특징, 숫자, 단계, 동작, 구성요소 또는 이들의 조합이 존재하거나 부가되는 가능성을 배제하는 것은 아니다.
도 1은 본 발명의 제1실시예에 따른 영상처리장치(100)의 구성 블록도이다.
도 1에 도시된 바와 같이, 영상처리장치(100)는 자체적으로 영상을 표시할 수 있도록 표시부(120)를 구비한 디스플레이장치로서, 이 중에서 TV로 구현된다. 그러나, 영상처리장치(100)는 표시부(120)를 구비하는 디스플레이장치 뿐만 아니라, 표시부(120)를 구비하지 않은 형태로서도 구현될 수 있다. 전자의 예시로는 TV, 모니터, 태블릿, 모바일 폰, 전자칠판, 전자액자, 전자 광고판 등이 있고, 후자의 예시로는 셋탑박스, 광학 멀티미디어 재생장치 등이 있다. 영상처리장치(100)는 이 외에도 다양한 형태가 가능한데, 본 발명의 사상은, 주로 한 장소에 고정적으로 설치되어 사용되는 형태 및 사용자가 자유롭게 휴대하며 사용하는 모바일 형태 모두에 적용될 수 있다.
영상처리장치(100)는 방송신호 등과 같이 외부로부터 수신되는 영상데이터/영상신호/영상스트림을 수신하면, 이를 기 설정된 프로세스에 따라서 처리하여 표시부(130)에 영상으로 표시한다. 만일 표시부(120)를 구비하지 않았다면, 영상처리장치(100)는 타 디스플레이장치(미도시)에서 영상이 표시되도록 영상스트림을 해당 타 디스플레이장치(미도시)에 전송한다.
영상처리장치(100)는 외부와 데이터/신호를 송수신하도록 통신하는 통신부(110)와, 통신부(110)에 수신되는 데이터가 영상스트림인 경우에 이를 영상으로 표시하는 표시부(120)와, 사용자에 의한 입력 동작이 수신되는 입력부(130)와, 데이터가 저장되는 저장부(140)와, 영상처리장치(100)의 제반 동작을 제어하며 데이터를 처리하는 처리부(150)를 포함한다.
통신부(110)는 영상처리장치(100)가 외부와 양방향 통신이 가능하도록 로컬 또는 네트워크를 통한 데이터의 송수신을 수행하는 바, 예를 들면 기 설정된 통신 프로토콜에 따라서 유선/무선을 통한 광역 네트워크를 통해 외부장치(미도시)에 접속한다. 통신부(110)는 각 통신규격에 따른 접속 포트(port) 또는 접속 모듈(module)의 집합체에 의해 구현될 수 있는 바, 접속을 위한 프로토콜 또는 접속 대상이 되는 외부장치(미도시)가 하나의 종류 또는 형식으로 한정되지 않는다. 통신부(110)는 영상처리장치(100)에 내장된 형태일 수 있으며, 전체 또는 일부의 구성이 영상처리장치(100)에 애드-온(add-on) 또는 동글(dongle) 형태로 추가 설치되는 형식도 가능하다.
통신부(110)는 접속된 각 장치에 대해 개별적인 통신 프로토콜 기반으로 신호를 송수신할 수 있다. 영상데이터의 경우를 예로 들면, 통신부(110)는 RF(radio frequency)신호, 컴포지트(composite)/컴포넌트(component) 비디오, 슈퍼 비디오(super video), SCART, HDMI(high definition multimedia interface), 디스플레이포트(DisplayPort), UDI(unified display interface), 또는 와이어리스(wireless) HD 등 다양한 규격을 기반으로 신호의 송수신이 가능하다.
통신부(110)는 아날로그 방식의 신호 및 디지털 방식의 신호를 모두 수신할 수 있는 바, 이를 위한 모듈을 포함한다. 예를 들면, 통신부(110)는 RF 방식으로 안테나에 수신되는 방송신호인 영상스트림을 튜닝하는 튜너(미도시)와, 인터넷 등의 네트워크에 대해 디지털 패킷 데이터를 수신하는 이더넷(Ethernet) 모듈(미도시) 등을 포함할 수 있다.
표시부(120)는 처리부(150)에 의해 처리된 영상스트림을 영상으로 표시한다. 표시부(120)의 구현 방식은 한정되지 않는 바, 액정(liquid crystal), 플라즈마(plasma), 발광 다이오드(light-emitting diode), 유기발광 다이오드(organic light-emitting diode), 면전도 전자총(surface-conduction electron-emitter), 탄소 나노 튜브(carbon nano-tube), 나노 크리스탈(nano-crystal) 등의 다양한 디스플레이 방식으로 구현될 수 있다.
표시부(120)는 그 구현 방식에 따라서 부가적인 구성을 추가적으로 포함할 수 있다. 예를 들면, 액정 방식인 경우에, 표시부(120)는 액정 디스플레이 패널(미도시)과, 액정 디스플레이 패널(미도시)에 광을 공급하는 백라이트유닛(미도시)과, 액정 디스플레이 패널(미도시)을 구동시키는 패널구동기판(미도시) 등을 포함한다.
입력부(130)는 사용자의 조작 또는 입력에 따라서 기 설정된 다양한 제어 커맨드 또는 정보를 처리부(150)에 전달한다. 입력부(130)는 사용자의 의도에 따라서 사용자의 조작에 의해 발생하는 다양한 이벤트를 정보화하여 처리부(150)에 전달한다. 입력부(130)는 사용자로부터의 입력정보를 생성하기 위해 다양한 형태로 구현될 수 있는 바, 예를 들면 입력부(130)는 영상처리장치(100) 외측에 설치된 키/버튼이거나, 영상처리장치(100) 본체와 이격되게 별도로 마련되며 통신부(110)와 통신하는 리모트 컨트롤러이거나, 또는 표시부(120)와 일체화된 터치스크린일 수도 있다.
저장부(140)는 처리부(150)의 처리 및 제어에 따라서 다양한 데이터가 저장된다. 저장부(140)는 시스템 전원의 제공 유무와 무관하게 데이터를 보존할 수 있도록, 플래시메모리(flash-memory), 하드디스크 드라이브(hard-disc drive)와 같은 비휘발성 메모리로 구현된다. 저장부(140)는 처리부(150)에 의해 억세스(access)됨으로써, 데이터의 독취(read), 기록(write), 수정(edit), 삭제(delete), 갱신(update) 등이 수행된다.
처리부(150)는 통신부(110)에 수신되는 데이터/신호에 대해 다양한 프로세스를 수행한다. 통신부(110)에 영상스트림이 수신되면, 처리부(150)는 영상스트림에 대해 영상처리 프로세스를 수행하고, 이러한 프로세스가 수행된 영상스트림을 표시부(120)에 출력함으로써 표시부(120)에 해당 영상스트림에 기초하는 영상이 표시되게 한다.
처리부(150)가 수행하는 영상처리 프로세스의 종류는 한정되지 않으며, 예를 들면 입력되는 스트림을 영상, 음성, 부가데이터의 각 하위 스트림으로 구분하는 디멀티플렉싱(de-multiplexing), 영상스트림의 영상 포맷에 대응하는 디코딩(decoding), 인터레이스(interlace) 방식의 영상스트림을 프로그레시브(progressive) 방식으로 변환하는 디인터레이싱(de-interlacing), 영상스트림을 기 설정된 해상도로 조정하는 스케일링(scaling), 영상 화질 개선을 위한 노이즈 감소(noise reduction), 디테일 강화(detail enhancement), 프레임 리프레시 레이트(frame refresh rate) 변환 등을 포함할 수 있다.
처리부(150)는 데이터의 종류, 특성에 따라서 다양한 프로세스를 수행할 수 있으므로 처리부(150)가 수행 가능한 프로세스를 영상처리 프로세스로 한정할 수 없으며, 또한 처리부(150)가 처리 가능한 데이터가 통신부(110)에 수신되는 것만으로 한정할 수 없다. 예를 들면, 처리부(150)는 영상처리장치(100)에 사용자의 발화가 입력되면 기 설정된 음성처리 프로세스에 따라서 해당 발화를 처리할 수 있다. 처리부(150)는 이러한 여러 기능을 통합시킨 SOC(system-on-chip)가, 또는 이러한 각 프로세스를 독자적으로 수행할 수 있는 개별적인 칩셋(chip-set)들이 인쇄회로기판 상에 장착된 영상처리보드(미도시)로 구현되며, 영상처리장치(100)에 내장된다.
이하, 처리부(150)의 구체적인 구성에 관해 도 2를 참조하여 설명한다.
도 2는 처리부(150)의 구성 블록도이다. 본 도면의 처리부(150)는 본 실시예에서 직접적으로 관련이 있는 구성만을 나타낸 것이므로, 실제 처리부(150)의 구현은 본 실시예에서 설명하는 것 이외의 구성을 포함한다.
도 2에 도시된 바와 같이, 처리부(150)는 통신부(110)의 튜너(111)로부터 전송되는 전송스트림(transport stream)을 하위 스트림들로 구분 처리하여 각기 출력하는 디멀티플렉서(151)와, 디멀티플렉서(151)로부터 출력되는 각 하위 스트림들이 임시 저장되는 버퍼(153)와, 버퍼(153)에 임시 저장된 각 하위 스트림들이 디코딩되는 디코더(155)와, 처리부(150)의 동작을 위한 연산 및 제어를 수행하는 CPU(central processing unit)(157)와, CPU(157)에 의해 연산되는 데이터가 로딩되는 램(RAM, random access memory)(159)을 포함한다.
튜너(111)는 예를 들어 외부의 안테나(미도시)에 RF 방송신호가 수신되면, 이를 특정 채널로 튜닝하고 전송스트림으로 변환하여 출력한다. 튜너(111)는 채널 디코더 및 A/D 컨버터를 내장함으로써, 아날로그 신호를 디지털화된 전송스트림로 변환시켜 출력한다.
디멀티플렉서(151) 또는 디먹스(deMUX)(151)는 기본적으로 멀티플렉서(미도서)와 반대의 역할을 수행한다. 즉, 디멀티플렉서(151)는 하나의 입력단을 복수의 출력단과 연결하여, 입력단에 입력되는 스트림을 선택신호에 따라서 각 출력단에 출력하는 분배 역할을 수행한다. 예를 들면, 하나의 입력단에 대해 네 개의 출력단이 있다면, 0 또는 1의 상태를 가지는 두 개의 선택신호의 상태를 조합함으로써 네 개의 출력단 각각이 선택할 수 있다.
영상처리장치(100)에 설치되는 디멀티플렉서(151)는 상기한 기능보다 나아가서, 튜너(111)로부터 수신되는 전송스트림을 각기 하위 스트림, 즉 영상스트림, 음성스트림, 부가데이터스트림 등으로 구분하여 각 출력단으로 출력한다.
디멀티플렉서(151)는 전송스트림 내의 패킷(packet)들에 각기 부여된 식별자인 PID(packet identifier)에 따라서 전송스트림을 각 하위 스트림으로 구분한다. 전송스트림은 각각의 채널 별 스트림을 독립적으로 압축하여 패킷화한 이후에 이러한 패킷들을 멀티플렉싱함으로써 생성된다. 전송스트림의 생성 시에, 어느 한 채널에 해당하는 패킷에는 동일한 PID가 부여됨으로써 다른 채널의 패킷과 구별되도록 마련된다. 디멀티플렉서(151)는 전송스트림에서 PID별로 패킷들을 분류하여, 동일한 PID를 가지는 하위 스트림들을 추출한다.
버퍼(153)는 일종의 임시 메모리로서, 디멀티플렉서(151)로부터 출력되는 각 하위 스트림이 디코더(155)에 입력되기 이전에 임시로 저장되는 장소이다. 버퍼(153)에 저장된 하위 스트림은 디코더(155)에 의해 호출됨으로써 디코더(155)에 입력되며, 호출된 하위 스트림은 버퍼(153)에서 삭제되고 대신 디멀티플렉서(151)로부터 출력되는 새로운 하위 스트림이 버퍼(153)에 저장된다.
디멀티플렉서(151)로부터 출력되는 하위 스트림이 디코더(155)에 다이렉트로 입력되지 않고, 버퍼(153)에 일단 임시 저장된 이후에 디코더(155)의 호출에 따라서 디코더(155)에 입력되어야 하는 이유는 다음과 같다.
디멀티플렉서(151) 및 디코더(155)를 비롯한 영상처리장치(100)의 구성들은 기본적으로 영상처리장치(100) 자체의 시스템 클럭에 따라서 동작한다. 디멀티플렉서(151) 및 디코더(155)는 각기 단위시간당 일정한 데이터량의 스트림을 출력한다. 그러나, 이에 비해 디코더(155)에 입력되어야 할 단위시간당 스트림의 데이터량은 일정하지 않기 때문에, 만일 버퍼(153)가 없다면 디코더(155)는 디멀티플렉서(151)에서 출력되는 스트림을 정상적으로 처리할 수 없다. 즉, 스트림이 처리되는 과정에서, 버퍼(153)는 스트림이 디코더(155)에 입력되는 이전 단계에서 필수적인 구성요소이다.
여기서, 디코더(155)에 입력되어야 할 단위시간당 스트림의 데이터량은 일정하지 않은 이유는 스트림의 구현 특성과 관련된 사항이며, 이에 관한 자세한 설명은 후술한다.
디코더(155)는 디멀티플렉서(151)로부터 출력되어 버퍼(153)에 임시 저장된 스트림을 처리한다. 예를 들어 디멀티플렉서(151)로부터 영상스트림 및 음성스트림이 출력되는 경우에 이들은 일단 버퍼(153)에 저장된다. 디코더(155)는 버퍼(153)로부터 처리하고자 하는 스트림을 버퍼(153)에 호출하여 이를 처리 및 출력한다. 이들 호출된 스트림들은 특정 포맷에 의해 인코딩된 상태이므로, 디코더(155)는 스트림에 대해 해당 인코딩 과정을 역으로 수행하여 해당 스트림의 인코딩 이전 상태를 복원시키는 디코딩 처리를 수행한다.
본 실시예에서는 디코더(155)가 하나인 것으로 표현되었는데, 하나의 디코더(155)가 복수의 입력단 및 출력단을 각각 가지고 스트림 별로 개별 처리하는 구조가 가능하며, 또는 스트림 별로 디코더(155)가 개별적으로 마련되는 구조도 가능하다.
CPU(157)는 처리부(150) 내의 제반 구성들이 동작하기 위한 중심적인 연산을 수행하는 구성으로서, 기본적으로 데이터의 해석 및 연산의 중심 역할을 수행한다. CPU(157)는 내부적으로, 처리할 명령어들이 저장되는 프로세서 레지스터(미도시)와, 비교, 판단, 연산을 담당하는 산술논리 연산 유닛(arithmetic logic unit, ALU)(미도시)와, 명령어의 해석과 올바른 실행을 위하여 CPU(157)를 내부적으로 제어하는 컨트롤 유닛(control unit)(미도시)과, 내부 버스(BUS)(미도시)와, 캐시(cache)(미도시) 등을 포함한다. 또한, CPU(157)는 외부적으로, 처리 대상의 데이터가 로딩되는 휘발성 메모리인 램(159)을 가진다.
램(159)은 CPU(157)에서 처리하고자 하는 데이터가 로딩된다. 램(159)은 데이터의 로딩되기 위한 휘발성 메모리(미도시)와, 이 휘발성 메모리(미도시)를 제어하는 램 컨트롤러(미도시)를 포함한다. 램(159)에 데이터가 새로 로딩되거나 또는 이미 램(159)에 로딩된 데이터가 CPU(157)로 호출되는 것은, CPU(157)의 제어를 받아서 램 컨트롤러(미도시)가 수행한다.
이러한 구조 하에서 처리부(150)가 전송스트림을 처리하는 과정에 관해 설명한다. 튜너(111)는 RF 방송신호를 수신하면 이를 튜닝하여 디지털 전송스트림을 출력한다. 디멀티플렉서(151)는 전송스트림을 영상스트림 및 음성스트림의 하위 스트림으로 구분하고, 이들 스트림을 constant rate로 각기 버퍼(153)에 출력한다.
버퍼(153)에 저장된 영상스트림 및 음성스트림은, 디코더(155)의 호출에 따라서 버퍼(153)로부터 디코더(155)에 입력된다. 디코더(155)가 호출하는 스트림의 데이터량은 해당 시점에서의 디코더(155)의 처리상태에 따르므로, 단위시간당 일정하지 않다.
디코더(155)는 영상스트림 및 음성스트림을 처리하여 각기 constant rate로 출력한다. 출력된 영상스트림은 표시부(120, 도 1 참조)에서 영상으로 구현되며, 출력된 음성스트림은 스피커(미도시) 등에서 음성으로 출력된다.
이와 같이, 본 실시예는 버퍼(153)와 램(159)이 별도의 구성으로 구현되는 경우이다. 버퍼(153) 및 램(159)은 기본적으로 데이터가 임시로 저장되기 위한 구성이므로 휘발성 메모리가 적용될 수 있다. 그런데, 버퍼(153) 및 램(159)을 하드웨어적으로 별개의 메모리로 각기 구현하는 것은, 처리부(150)의 제조비용을 상대적으로 높이고 또한 처리부(150)의 회로 구조를 상대적으로 복잡하게 한다. 따라서, 버퍼(153) 및 램(159)을 별도의 하드웨어로 구현하는 것 보다는, 버퍼(153)를 램(159)의 저장영역 일부에 구현시키는 것이 상대적으로 구조를 간단히 하면서도 제조비용을 절감할 수 있다.
도 3은 본 발명의 제2실시예에 따른 처리부(160)의 구성 블록도이다. 본 실시예에서의 처리부(160)는 도 2의 처리부(150)를 대체함으로써 도 1의 영상처리장치(100)에 적용될 수 있다.
도 3에 도시된 바와 같이, 처리부(160)는 디멀티플렉서(161)와, 버퍼(163)와, 디코더(165)와, CPU(167)와, 램(169)을 포함한다. 앞선 제1실시예의 경우와 동일하게, 디멀티플렉서(161)는 튜너(111)로부터 출력되는 전송스트림을 하위 스트림들로 구분하여 버퍼(163)에 임시 저장하며, 디코더(165)는 버퍼(163)에 임시 저장된 하위 스트림들을 호출하여 디코딩 처리한다. CPU(167)는 이러한 과정을 제어하며, 필요한 연산을 수행한다.
본 실시예가 앞선 실시예와 상이한 점은, 버퍼(163)가 램(169)과 별도의 메모리가 아닌, 램(169)의 일부 저장영역에 구현되어 있다는 것이다. 버퍼(163)는 램(169)의 기 설정된 주소범위의 저장영역을 사용하는 정적 형태로 구현되거나, 또는 필요한 버퍼(163)의 크기가 가변하는 동적 형태로 구현될 수 있다. 어떠한 형태로 구현되더라도, 버퍼(163)는 램(169)의 저장영역을 사용한다. 램(169)과 버퍼(163)를 하나의 하드웨어 메모리로 구현함으로써, 별도의 하드웨어로 구현되는 앞선 실시예에 비해 구조를 간단히 하고 제조비용을 절감할 수 있다.
이상 설명한 실시예에서는 영상처리장치(100)가 특별한 보안사항이 가해지지 않은 전송스트림을 처리하는 경우에 관해 설명하였다. 그런데, 처리부(160)가 처리하는 전송스트림은 해킹을 통한 무단 복사를 방지하도록 DRM 기술과 같은 보안사항이 적용될 수 있는 바, 이 경우에 해당 전송스트림은 디코딩 이전 단계에서 이러한 보안사항이 해제되어야 한다.
예를 들면, 데이터 제공자 또는 스트림 제공자가 제공하는 UHD 급의 영상 컨텐츠 데이터 중에는, 인코딩 시에 기 설정된 암호화 알고리즘에 따라서 암호화된 것들이 있다. 이와 같이 암호화된 컨텐츠 데이터의 스트림을 스크램블(scramble)된 스트림이라고 지칭한다. 스크램블된 스트림은 특정한 비밀 키 또는 해독 키에 의해 복호화될 수 있는데, 이와 같이 암호화 이전 단계로 복호화된 스트림을 클린(clean) 스트림이라고 지칭한다.
암호화 알고리즘으로는 여러 가지 방식이 가능하겠지만, 예를 들면 고급 암호화 표준(Advanced Encryption Standard, AES) 방식이 있다. AES 방식은 2001년 미국 표준 기술 연구소(NIST)에 의해 제정된 암호화 방식으로서, 1977년 공표된 DES(Data Encryption Standard)를 대체한다. AES 방식은 128비트 암호화 알고리즘으로서, 암호화와 복호화 과정에서 동일한 키를 사용하는 대칭 키 알고리즘이다. AES 방식은 기본적으로, 대칭키 암호를 분석하는 방법인 선형공격(linear cryptanalysis)과 차분공격(differential cryptanalysis)에 대한 안전성과, 처리속도 및 메모리 요구량에 관련된 계산효율성과, 유연성 및 단순성에 관련된 알고리즘의 구현 특성의 측면에서 우수하다.
영상처리장치(100)가 스크램블된 영상신호를 수신함으로써 튜너(111)가 스크램블된 전송스트림을 출력하면, 처리부(160)는 이 스크램블된 전송스트림을 클린 스트림으로 복호화하여 디코딩해야 영상을 표시할 수 있다. 문제는, 아무리 스트림 제공자가 견고한 암호 알고리즘을 스트림에 적용한다고 하더라도, 일단 영상처리장치(100)에서는 스크램블된 스트림이 클린 스트림으로 변환되어야 한다. 따라서, 해커가 영상처리장치(100)의 제어권을 획득한 상태에서는 영상처리장치(100)에서 복호화된 클린 스트림의 복사 유출이 가능하다는 점이다.
소프트웨어적인 측면에서, 기본적으로 영상처리장치(100)의 동작은 Linux와 같은 운영체제(operating system, OS) 상에서 이루어진다. 해커는 루트킷(Rootkit) 등을 사용하여 영상처리장치(100)의 OS를 변조하고 CPU(167)의 제어권을 획득함으로써 최종적으로 영상처리장치(100)를 통제한다. 루트킷은 해커가 영상처리장치(100)의 관리자 계정인 루트(root) 계정의 권한을 획득하기 위해 사용되는 프로그램이다. 만일 루트킷이 루트 권한을 획득하면, 해커는 영상처리장치(100)의 소프트웨어 및 하드웨어 전체를 접근할 수 있다.
루트킷을 통한 해커의 공격을 차단하기 위해서는, 구체적으로 특정 프로그램을 루트킷으로부터 보호하기 위해서는 두 가지의 조건이 필요하다.
하나는, OS조차 접근할 수 없는 영역에 해당 프로그램을 고립(isolation)시켜야 한다. OS가 프로그램에 접근할 수 없다면, 설사 해커가 루트 권한을 획득하여 OS를 변조시키는 상황까지 가더라도 해커는 해당 프로그램에 접근할 수 없다.
다른 하나는, 해당 프로그램이 실행되는 과정이 변조되지 않아야 한다. 프로그램이 실행되기 이전의 상태를 신뢰할 수 없다면, 이러한 상태에서 실행되는 프로그램은 아무리 고립상태가 완전하다고 하더라도 최종적으로는 신뢰받을 수 없다. 즉, 영상처리장치(100)가 부팅된 이후부터 해당 프로그램이 실행될 때까지의 과정이 신뢰할 수 있는 상태이어야 한다.
이러한 조건을 고려하여, 영상처리장치(100)에는 소프트웨어적인 보안사항이 적용될 수 있는 바, 예를 들면 ARM 트러스트존(TrustZone)이라는 기술이 영상처리장치(100)에 적용될 수 있다.
도 4는 본 발명의 제3실시예에 따라서 CPU(170)에 적용 가능한 소프트웨어적 보안기술의 원리를 나타내는 예시도이다. 본 실시예에서는 소프트웨어적 보안기술 중에서 트러스트존에 관해 설명한다.
도 4에 도시된 바와 같이, 트러스트존 기술에 따르면, CPU(170)는 하나의 물리 프로세서 코어가 비보안 영역인 노멀 월드(Normal world) 및 보안 영역인 시큐어 월드(Secure world)의 두 가지로 분리된다. 각각의 월드는 CPU(170)의 레지스터가 분리되어 있다. 각각의 월드는 페이지 테이블 관련 레지스터가 분리되어 있는 바, 가상주소 및 물리주소 사이의 변환에 사용하는 테이블의 주소를 각기 상이하게 할 수 있다. 이는 월드 각각이 서로 다른 주소 공간을 억세스하도록 한다. 또한, 시큐어 월드에서만 접근 가능한 디바이스나 메모리 영역을 지정할 수 있는 바, 만일 노멀 월드에서 해당 영역을 접근하면 페이지 폴트(pate fault)가 발생한다. 또한, 인터럽트(interrupt)를 노멀 인터럽트와 시큐어 인터럽트로 각각 나눌 수 있다. 현재 시큐어 월드라면 노멀 인터럽트는 발생하지 않는 반면, 현재 노멀 월드라면 시큐어 인터럽트 및 노멀 인터럽트가 발생할 수 있다.
유저 모드는 CPU(170)를 제한적으로 활용할 수 있으며 CPU(170)에 관련된 중요한 기능은 차단될 수 있다. 이에 비해, 커널 모드는 유저 모드에서 접근할 수 없는 CPU(170)의 기능을 활용할 수 있다.
이와 같이, 트러스트존 기술은 CPU, 주소공간, 메모리, 디바이스를 각 월드마다 고립시킬 수 있는 형태인 바, 각 월드마다 별개의 운영체제를 구동시킬 수 있다. 그런데, CPU(170)의 멀티코어의 개념과 달리, 두 월드는 동시에 실행되지 않으며 상호간에 전환되는 형태이다.
두 월드 간의 전환을 위해서, 트러스트존에는 모니터 모드(Monitor mode)가 적용된다. 모니터 모드는 시큐어 월드에만 존재하며, 모니터 모드에 진입한다는 것은 시큐어 월드에 진입하는 것을 의미하므로 모니터 모드는 노멀 월드에서 시큐어 월드로 진입할 때에 사용된다. 모니터 모드로의 진입은 SMC(secure monitor call) 명령어가 실행된 경우나, FIQ 또는 IRQ 인터럽트 발생 시에 이루어진다. 또한, SMC 명령어는 커널 모드에서만 실행이 가능하므로, 어플리케이션 레벨에서 월드 간의 전환은 할 수 없다.
이와 같이 하나의 월드는 다른 월드에 영향을 끼칠 수 없으며, 특히 노멀 월드는 시큐어 월드의 실행을 방해할 수 없다. 따라서, 일반적으로 루트킷에 대해 안전이 요구되는, 높은 신뢰성이 요구되는 프로그램은 시큐어 월드에서 실행되고, 그 외의 프로그램은 노멀 모드에서 실행된다.
그러나, 이와 같은 소프트웨어적인 보안기술에 의해서도 해커로부터의 공격을 차단하는 것은 완전하지 않을 수 있다. 예를 들어 해커가 앞서 설명한 SMC 명령어를 취득하였다면, 용이하게 시큐어 월드로 이행하여 고립된 프로그램 또는 데이터에 접근할 수 있다. 따라서 해커의 공격에서 스트림의 무단 복사 및 유출을 방지하기 위해서는, 이보다 발전된 보안기술, 예를 들면 하드웨어적으로 스트림을 고립시켜 처리할 수 있는 기술이 적용되는 것이 바람직하다. 이에 관한 자세한 설명은 후술한다.
이하, 스크램블된 전송스트림을 클린 스트림으로 복호화하여 디코딩하는 실시예에 관해 도 5를 참조하여 설명한다.
도 5는 본 발명의 제4실시예에 따른 처리부(200)의 구성 블록도이다.
도 5에 도시된 바와 같이, 처리부(200)는 튜너(210)로부터의 스크램블된 전송스트림으로부터 스크램블된 영상스트림 및 스크램블된 음성스트림을 추출하여 각기 출력하는 디멀티플렉서(220)와, 디멀티플렉서(220)로부터의 스크램블된 영상스트림을 복호화하여 클린 영상스트림(CV)으로 변환하는 제1디스크램블러(de-scrambler)(231)와, 디멀티플렉서(220)로부터의 스크램블된 음성스트림을 복호화하여 클린 음성스트림(CA)으로 변환하는 제2디스크램블러(232)와, 램(240)과, 램(240)에 형성되며 클린 영상스트림(CV) 및 클린 음성스트림(CA)이 임시 저장되는 버퍼(241)와, 램(240) 및 버퍼(241)의 스트림 입출력을 제어하는 램 컨트롤러(250)와, 버퍼(241)로부터의 클린 영상스트림(CV)을 디코딩하는 영상 디코더(261)와, 버퍼(241)로부터의 클린 음성스트림(CA)을 디코딩하는 음성 디코더(262)와, CPU(270)와, CPU(270)로부터의 데이터가 기록되며 필요 시에 해당 데이터가 제1디스크램블러(231) 및 제2디스크램블러(232)에 전달되도록 마련된 레지스터(280)를 포함한다.
본 실시예의 처리부(200)의 기본적인 구조 배경은 도 3의 경우에 준한다. 즉, 버퍼(241)는 램(240)의 저장영역 내에 형성된다. 다만, 본 실시예는 전송스트림으로부터 영상스트림 및 음성스트림의 두 가지 하위 스트림이 추출되는 경우를 고려하고 있으며, 스크램블된 전송스트림을 복호화하는 디스크램블러(231, 232)와, 램(240) 및 버퍼(241)의 입출력을 제어하는 램 컨트롤러(250)가 나타나 있다.
튜너(210)로부터 스크램블된 전송스트림이 출력되면, 디멀티플렉서(220)은 스크램블된 전송스트림으로부터 스크램블된 영상스트림 및 스크램블된 음성스트림을 추출한다. 디멀티플렉서(220)는 스크램블된 영상스트림을 제1디스크램블러(231)에 출력하고, 스크램블된 음성스트림을 제2디스크램블러(232)에 출력한다.
제1디스크램블러(231)는 스크램블된 영상스트림을 기 설정된 비밀 키로 해독하여 클린 영상스트림(CV)을 생성한다. 제1디스크램블러(231)는 레지스터(280)로부터 비밀 키를 독취한다.
제2디스크램블러(232)는 스크램블된 음성스트림을 기 설정된 비밀 키로 해독하여 클린 음성스트림(CA)을 생성한다. 제2디스크램블러(232)는 레지스터(280)로부터 비밀 키를 독취한다. 여기서, 제1디스크램블러(231)가 사용하는 비밀 키와 제2디스크램블러(232)가 사용하는 비밀 키는 동일한 키일 수도 있고, 각기 상이한 키일 수도 있다. 이는, 스트림 제공자가 최초에 스트림을 생성할 때에 지정될 수 있다.
비밀 키는 튜너(210)로부터 스크램블된 전송스트림이 최초 출력될 때까지는 영상처리장치(100) 내에 존재하지 않는다. 만일 비밀 키가 영상처리장치(100) 내의 어떠한 메모리 내에 저장된 상태라면, 해커가 영상처리장치(100)의 제어권을 획득하였을 때에 비밀 키가 해커에게 유출될 것이다. 따라서, 비밀 키는 튜너(210)로부터 스크램블된 전송스트림이 최초 출력된 이후에 영상처리장치(100)에 존재하되, 해당 전송스트림의 처리가 완료되거나 또는 더 이상 수행되지 않으면 영상처리장치(100)에 존재하지 않는 것이 바람직하다.
이에, 비밀 키는 다음과 같은 방법으로 마련된다. 튜너(210)로부터 출력되는 스크램블된 전송스트림은 CPU(270)로 전달된다. 여기서, 스크램블된 전송스트림은 최초 스트림 제공자에 의해 암호화된 비밀 키를 포함한다. 스크램블된 전송스트림에 대해 일반적인 패킷 분석을 수행하더라도, 암호화된 비밀 키는 해독되지 않는다.
CPU(270)는 튜너(210)로부터 스크램블된 전송스트림이 출력되면, 비밀 키의 해독을 위해 영상처리장치(100) 내에 사전에 설치된 DRM 소프트웨어를 실행시킨다. CPU(270)는 스크램블된 전송스트림을 DRM 소프트웨어에 의해 분석함으로써, 스크램블된 전송스트림으로부터 비밀 키를 추출한다. CPU(270)는 추출한 비밀 키를 제1디스크램블러(231) 및 제2디스크램블러(232)가 참조할 수 있도록 레지스터(280)에 기록한다.
이후, 더 이상 튜너(210)로부터 동일한 컨텐츠 데이터의 전송스트림이 출력되지 않으면, CPU(270)는 레지스터(280)에 기록된 비밀 키를 삭제함으로써 이후에 비밀 키가 유출되지 않도록 보장한다.
제1디스크램블러(231) 및 제2디스크램블러(232)는 각기 클린 영상스트림(CV) 및 클린 음성스트림(CA)을 램 컨트롤러(250)에 전달한다. 램 컨트롤러(250)는 클린 영상스트림(CV) 및 클린 음성스트림(CA)을 램(240) 내의 버퍼(241)에 저장한다.
영상 디코더(261)는 처리하고자 하는 클린 영상스트림(CV)의 패킷을 램 컨트롤러(250)에 요청한다. 램 컨트롤러(250)는 영상 디코더(261)로부터 요청받은 패킷을 버퍼(241)에서 취득하여 영상 디코더(261)에 전달한다. 영상 디코더(261)는 전달받은 패킷을 디코딩한다.
음성 디코더(262) 또한 영상 디코더(261)의 경우와 유사하게, 램 컨트롤러(250)로부터 전달받은 클린 음성스트림(CA)의 패킷을 디코딩한다.
이러한 과정에 따라서, 스크램블된 전송스트림이 처리되어 영상으로 표시된다.
이하, 클린 영상스트림(CV)이 버퍼(241)에 저장되고 이후 영상 디코더(261)에 입력되는 원리에 대해 도 6을 참조하여 설명한다.
도 6은 램 컨트롤러(250)가 버퍼(241)에 영상스트림을 저장하는 원리를 나타내는 예시도이다.
도 6에 도시된 바와 같이, 버퍼(241)는 편의상 0번부터 n번까지의 저장 주소로 저장영역이 구분될 수 있다. 여기서, n은 양의 정수이다. 램 컨트롤러(250)는 제1디스크램블러(231)로부터 출력되는 클린 영상스트림(CV)을 저장할 때에, 클린 영상스트림(CV) 내의 패킷들을 기 설정된 처리단위로 식별하여 저장한다. 이러한 처리단위는 영상 디코더(261)에 의해 1회당 호출되는 패킷 데이터의 양으로서, 예를 들면 프레임 단위, 필드 단위, 프레임 내 기 설정된 분할영역 단위일 수 있다. 다만, 앞서 설명한 바와 같이 영상 디코더(261)가 단위시간 당 호출하는 데이터량, 또는 호출 회수 당 호출하는 데이터량은 일정하지 않고 처리과정 별로 상이하므로, 이러한 처리단위는 처리과정 별로 상이하다.
예를 들어 클린 영상스트림(CV) 내에서 k번 프레임의 패킷이 수신되면, 램 컨트롤러(250)는 k번 프레임의 패킷을 버퍼(241) 내에서 패킷이 저장되지 않은 빈 영역에 저장한다. 본 실시예에서는 버퍼(241)의 3번 내지 6번의 주소영역에 k번 프레임이 저장된다. 그리고, 램 컨트롤러(250)는 k번 프레임이 버퍼(241)의 3번 내지 6번의 주소영역에 저장되어 있음을 기록한다. 여기서, k는 양의 정수이다.
이후, 영상 디코더(261)로부터 k번 프레임에 해당하는 패킷의 요청을 받으면, 램 컨트롤러(250)는 기록 이력을 검색하여 k번 프레임의 패킷이 저장된 버퍼(241)의 주소를 검색한다. 램 컨트롤러(250)는 검색 결과에 따라서, 버퍼(241)의 3번 내지 6번의 주소영역에 저장된 패킷을 독취하여 영상 디코더(261)에 전달하고, 해당 주소영역의 패킷을 삭제한다.
그런데, 이와 같은 디스크램블링 구조의 처리부(200)는 다음과 같은 상황에서 문제가 될 수 있다.
본 실시예에서는 도 5에 나타난 바와 같이 버퍼(241)가 램(240)의 저장영역을 활용한다. 램(240)은 CPU(270)를 통해 억세스 가능한 구성이므로, 만일 해커가 CPU(270)의 제어권을 획득한 상태라면 램(240)에 로딩된 데이터가 해커에게 유출될 수 있다. 설사 앞선 도 4에서 설명한 바와 같은 트러스트존 기술이 적용된 상태라고 하더라도, 만일 해커가 SMC 명령어를 획득하여 시큐어 월드로 진입하였다면 램(240)에 로딩된 데이터는 해커로부터 보호될 수 없다.
그런데, 본 실시예에서는 복호화된 클린 영상스트림(CV) 및 클린 음성스트림(CA)이 램(240)에 로딩되므로, 해커가 CPU(270)를 통제하여 램(240)에 억세스한다면 복호화된 클린 영상스트림(CV) 및 클린 음성스트림(CA)이 그대로 해커에게 노출된다.
따라서, 소프트웨어적인 보안기술보다 데이터의 고립성을 향상시킨 구조, 즉 데이터를 물리적으로 고립시키는 하드웨어적인 보안기술이 요구되는 바, 이러한 실시예에 관해서는 후술한다.
한편, 앞서 도 2 관련 실시예에서, 디멀티플렉서로부터 출력되는 스트림이 디코더로 다이렉트로 입력되는 것이 아니고, 디코더에 입력되기 이전에 스트림이 임시로 저장되는 버퍼가 필요하다고 설명하였다. 그리고, 버퍼의 필요성은 디코더에 입력되어야 할 단위시간당 스트림의 데이터량이 일정하지 않기 때문이며, 디코더에 입력되어야 할 단위시간당 스트림의 데이터량이 일정하지 않은 이유가 스트림의 구현 특성과 관련된 사항이라는 점을 밝힌 바 있다. 이하, 상기한 이유에 관해 보다 구체적으로 설명한다.
기본적으로 영상컨텐츠 데이터를 특정 포맷으로 압축하여 영상스트림을 생성하는 원리는 공간적 중복성(spatial redundancy) 압축방식, 시간적 중복성(temporal redundancy) 압축방식, 통계적 중복성(statistical redundancy) 압축방식의 세 가지가 있다.
공간적 중복성 압축방식은, 영상스트림이 가지는 앞뒤 인접 프레임들의 픽셀 사이의 유사성을 이용하는 방법으로서, 이산여현변화(discrete cosine transform, DCT)를 사용한다. 예를 들면, 영상의 장면 중에서 세트 화면이나 고정된 뒷배경 등에 있어서, 장면의 변화가 적은 부분은 이전에 보낸 스트림의 데이터를 계속적으로 사용하고, 변화가 있는 부분만 부분적으로 데이터를 보냄으로써, 정보의 전달량을 줄이는 방법이다.
시간적 중복성 압축방식은 다음과 같다. 영상의 화면에서 같은 프레임 단위의 움직임이 있는 동영상은, 앞의 프레임과 뒤의 프레임 사이에 화면 정보가 비슷하다. 시간적 중복성 압축방식은, 이러한 경우에 새로운 화면을 보내지 않고 앞의 장면을 그대로 사용하는 방법으로, 즉 정지화면을 장면이 바뀔 때까지 계속해서 사용하여 시간적으로 중복되는 프레임을 생략하는 방식이다.
통계적 중복성 압축방식은 다음과 같다. 자주 발생하는 정보에 대해 확률을 정하고 이 확률에 따라서 전송할 비트 수가 결정된다. 이는 Huffman 코드 압축 방식을 이용하는 것으로서, 통계적 중복성 압축방식은 자주 발생하는 코드에 적은 비트를 할당한 코드 테이블을 이용하여 원래의 정보를 손실없이 압축 전송하는 방식이다.
이러한 원리를 참조하여, 다양한 압축포맷 중에서, 예를 들어 MPEG 영상 압축 규격에 관해 설명한다.
MPEG 영상 압축은 기본적으로 화면을 복수의 블록 또는 영역으로 나누어, 공간적으로 변화가 많은 블록 및 시간적으로 변화한 블록을 전송하고, 나머지는 과거의 정보를 이용함으로써 전체적으로 보내야 할 데이터 양을 줄이는 원리이다. MPEG-2 압축표준의 경우에는 영상 제작 시 raw data에서 10배 이하로 압축이 가능하며, 영상 송출 시 30 내지 40배의 압축도 가능하다.
MPEG 영상 압축은, 영상스트림에서 과거와 미래의 양방향으로부터 각기 예측을 함께 하는 쌍방향 예측을 수행한다. 여기서, 과거로부터의 예측은 순방향 예측이며, 미래로부터의 예측은 역방향 예측이라고 지칭한다.
MPEG 압축 계층을 구성하는 데이터 열은 압축된 영상 및 압축된 음성의 열로 구성된다. MPEG에서 사용되는 압축 알고리즘은 DCT를 기반으로 하며, 화면을 복수의 블록으로 분할하는 Image Segmentation, 움직임 추정 및 보상, 시간적인 예측(predictive) 및 보간(interpolative) 방식 등이 사용된다.
도 7은 MPEG 압축 원리에 따라서 생성된 영상스트림의 프레임 구조를 나타내는 예시도이다.
도 7에 도시된 바와 같이, 영상스트림은 시간 t에 따라서 연속적으로 배치된 복수의 프레임을 포함한다. 이들 복수의 프레임은 I-픽쳐(intra-picture), P-픽쳐(unidirectionally predicted picture), B-픽쳐(bidirectionally predicted picture)의 세 가지 타입으로 구분된다. 본 실시예에서는 각 픽쳐에 프레임이 할당된 프레임 구조의 경우에 관해 설명하지만, 각 픽쳐에 필드가 할당되는 필드 구조의 경우도 가능하다.
I-프레임은 프레임 간의 디코딩을 위한 기준 프레임이다. I-프레임은 부호화되지 않는 화면으로서 최소한 하나 이상이 필요하며, 프레임 간 예측을 사용하지 않고 생성된다. P-프레임은 순방향의 프레임 간 예측 화면으로서, I-프레임 및 P-프레임의 예측으로부터 생성된다. B-프레임은 양방향의 예측에 의해 생성된다.
이는, 각 프레임은 I-픽쳐, P-픽쳐 및 B-픽쳐 중에서 어떠한 타입의 프레임인가에 따라서 포함하는 데이터량이 서로 상이하다는 것을 의미한다. 또한, 프레임의 타입 별 데이터량이 상이하다는 것은, 디코더가 각 프레임을 디코딩할 때에 디코딩 처리해야 할 데이터량이 각 프레임 별로 상이하다는 것을 의미한다. 예를 들어 디코더가 Image Segmentation에 따라서 프레임을 20개의 블록으로 분할하여 처리한다고 할 때, 프레임 별 블록 수는 각기 20개로 동일하지만, 각 블록 별로 포함하는 데이터량은 프레임 별로 동일하지 않게 된다.
따라서, 설사 디멀티플렉서가 constant rate로 영상스트림을 출력하고 디코더 또한 constant rate로 디코딩된 영상스트림을 출력한다고 하더라도, 디코더에 입력되는 단위시간 당 데이터량은 constant rate가 될 수 없으며 단위시간 별로 차이가 발생한다.
정리하면, 영상스트림이 디코더에 다이렉트로 입력되지 않고, 영상스트림이 디코더에 입력되기 이전에 디코더로부터의 호출을 대기하도록 임시 저장되는 버퍼가 필요한 이유는 다음과 같다.
디코더는 스트림의 압축포맷의 방식 또는 인코딩의 특성에 따라서 스트림의 처리속도가 일정하지 않으며, 처리 시점마다 상이한 양의 스트림 데이터를 요구한다. 따라서, 디코더 이전 단계에서의 스트림의 출력속도가 일정한 경우 또는 일정하지 않은 경우 모두에 대해, 디코더의 처리속도 대비 불일치가 발생한다. 따라서, 디코더가 처리하는 프레임의 인코딩 특성에 따라서 디코딩에 필요한 스트림 데이터의 요구량이 변화하며, 이 변화로 인해 단위시간당 디코더에 입력되는 스트림의 데이터량은 일정하지 않게 된다. 이는, 스트림이 디코더에 입력되기 이전에, 디코더로부터의 호출을 대기하기 위한 임시 저장소를 필요로 하는 원인이 되는 바, 이러한 역할을 위해 버퍼가 디코더의 전단에 설치된다.
이하, 도 5의 경우에 비해 효과적으로 클린 스트림을 보호할 수 있는 하드웨어적인 보안기술이 적용된 실시예에 관해 이하 도 8을 참조하여 설명한다.
도 8은 본 발명의 제5실시예에 따른 처리부(300)의 구성 블록도이다.
도 8에 도시된 바와 같이, 처리부(300)는 튜너(310)로부터 출력되는 스크램블된 전송스트림을 디멀티플렉싱하는 디멀티플렉서(320)와, 스크램블된 영상스트림(SV)을 디스크램블링하는 제1디스크램블러(331)와, 스크램블된 음성스트림(SA)을 디스크램블링하는 제2디스크램블러(332)와, 클린 영상스트림을 디코딩하는 영상 디코더(361)와, 클린 음성스트림을 디코딩하는 음성 디코더(362)와, CPU(370)와, 디스크램블링을 위하여 제1디스크램블러(331) 및 제2디스크램블러(332)에게 제공되는 비밀 키가 기록된 레지스터(380)를 포함한다.
본 실시예에서 특징적인 부분은, 버퍼(341)가 형성되는 램(340) 및 이를 제어하는 램 컨트롤러(350)가 스트림의 진행 방향을 따라서 제1디스크램블러(331) 및 제2디스크램블러(332)의 이전에 배치되었다는 점이다.
이하, 스크램블된 전송스트림이 처리되는 과정에 관해 설명한다.
디멀티플렉서(320)는 튜너(310)로부터 출력되는 스크램블된 전송스트림으로부터 스크램블된 영상스트림(SV) 및 스크램블된 음성스트림(SA)을 추출하여, 각기 램 컨트롤러(350)에 전달한다. 램 컨트롤러(350)는 디멀티플렉서(320)로부터 수신되는 스크램블된 영상스트림(SV) 및 스크램블된 음성스트림(SA)을 램(340) 내의 버퍼(341)에 저장한다.
영상 디코더(361)는 처리하고자 하는 영상스트림을 램 컨트롤러(350)에 요청하며, 음성 디코더(362) 또한 처리하고자 하는 음성스트림을 램 컨트롤러(350)에 요청한다. 이에, 램 컨트롤러(350)는 버퍼(341)로부터 스크램블된 영상스트림(SV)을 취득하여 제1디스크램블러(331)에 전달하며, 버퍼(341)로부터 스크램블된 음성스트림(SA)을 취득하여 제2디스크램블러(332)에 전달한다.
CPU(370)는 튜너(310)로부터 출력되는 스크램블된 전송스트림으로부터 비밀 키를 추출하여 레지스터(380)에 기록한다. 비밀 키에 관련된 사항은 앞선 도 5 관련 실시예와 동일하다.
제1디스크램블러(331)는 레지스터(380)에 기록된 비밀 키에 기초하여, 램 컨트롤러(350)로부터 전달받은 스크램블된 영상스트림(SV)을 클린 영상스트림으로 변환한다. 제1디스크램블러(331)는 클린 영상스트림을 영상 디코더(361)에 전달한다. 이에, 영상 디코더(361)는 클린 영상스트림을 디코딩한다.
제2디스크램블러(332)는 레지스터(380)에 기록된 비밀 키에 기초하여, 램 컨트롤러(350)로부터 전달받은 스크램블된 음성스트림(SA)을 클린 음성스트림으로 변환한다. 제2디스크램블러(332)는 클린 음성스트림을 음성 디코더(362)에 전달한다. 이에, 음성 디코더(362)는 클린 음성스트림을 디코딩한다.
이러한 처리 과정에서 나타나는 바와 같이, 본 실시예에서는 스트림에 대한 디스크램블링을 수행하는 제1디스크램블러(331) 및 제2디스크램블러(332)가 버퍼(341)를 포함하는 램(340)의 후단에 배치된다. 따라서, 본 실시예에서는 램(340)에 클린 스트림이 아닌 스크램블된 스트림(SV, SA)이 저장된다.
만일 해커가 소프트웨어적으로 램(340)에 억세스한다고 하더라도, 램(340)에 저장되어 있는 스트림(SV, SA)은 암호화가 해독되지 않은, 스크램블된 상태이다. 따라서, 본 실시예에서는 해커가 램(340)에 접근해도 클린 스트림을 취득할 수 없는 바, 컨텐츠 데이터를 해커가 무단 복사 및 유출시키는 것을 방지할 수 있다.
본 실시예와 비교하여, 앞선 도 5 관련 실시예의 경우에는 디스크램블러(231, 232)가 램(240)의 전단에 배치되므로, 램(240)에 클린 스트림(CV, CA)이 저장된다. 이 경우에는 해커가 램(240)에 접근하면 클린 스트림(CV, CA)이 그대로 유출되는 문제점이 있다.
따라서, 본 실시예에 따르면, 영상처리장치(100)는 암호화된 영상신호를 수신하면, 램(340)에 형성된 버퍼(341)에 암호화된 영상신호를 임시로 저장한다. 영상처리장치(100)는 디코더(361, 362)로부터의 요청에 따라서 이 암호화된 영상신호를 버퍼(341)로부터 신호해독부(331, 332)에 출력하고, 신호해독부(331,332)에 의해 복원된 영상신호를 디코더(361, 362)에 의해 디코딩되게 제어한다.
이로써, 암호화된 영상신호의 복원 단계, 즉 스크램블된 스트림에 대한 디스크램블링 단계가 스크램블된 스트림이 버퍼링되는 단계 이후에 수행되는 바, 클린 스트림이 버퍼링되는 것을 방지하여 버퍼링 단계에서 해킹에 의해 클린 스트림이 유출되는 것을 방지할 수 있다.
이하, 본 제5실시예를 도 5 관련 제4실시예에 대비시켜, 도 9 및 도 10을 참조하여 설명한다. 본 대비에서는 설명을 간략히 하도록 영상스트림에 관해서만 나타낸다.
도 9는 도 5에 나타난 구조에서 스트림이 진행하는 과정을 나타내는 예시도이다. 그리고, 도 10은 도 8에 나타난 구조에서 스트림이 진행하는 과정을 나타내는 예시도이다.
도 9에 도시된 바와 같이, 제4실시예에 따르면, 스크램블된 전송스트림(STS)은 S110 단계에서 튜너(210)로부터 디멀티플렉서(220)로 전달된다. 스크램블된 전송스트림(STS)은 S120 단계에서, 디멀티플렉서(220)에 의해 스크램블된 영상스트림(SVS)으로 변환된다.
스크램블된 영상스트림(SVS)은 S130 단계에서 디멀티플렉서(220)로부터 제1디스크램블러(231)로 전달된다. 스크램블된 영상스트림(SVS)은 S140 단계에서, 제1디스크램블러(231)에 의해 클린 영상스트림(CVS)으로 변환된다.
클린 영상스트림(CVS)은 S150 단계에서 제1디스크램블러(231)로부터 램(240)에 전달되어 램(240)에 저장된다. S160 단계에서 영상 디코더(261)가 램(240)에 클린 영상스트림(CVS)의 요청을 하면, 클린 영상스트림(CVS)은 S170 단계에서 램(240)으로부터 영상 디코더(261)에 전달된다.
도 10에 도시된 바와 같이, 제5실시예에 따르면, 스크램블된 전송스트림(STS)은 S210 단계에서 튜너(310)로부터 디멀티플렉서(320)로 전달된다. 스크램블된 전송스트림(STS)은 S220 단계에서, 디멀티플렉서(320)에 의해 스크램블된 영상스트림(SVS)으로 변환된다.
스크램블된 영상스트림(SVS)은 S230 단계에서 디멀티플렉서(320)로부터 램(340)에 전달되어 램(340)에 저장된다. S240 단계에서 영상 디코더(361)가 램(340)에 스크램블된 영상스트림(SVS)의 요청을 하면, 스크램블된 영상스트림(SVS)은 S250 단계에서 램(340)으로부터 제1디스크램블러(331)에 전달된다.
스크램블된 영상스트림(SVS)은 S260 단계에서, 제1디스크램블러(331)에 의해 클린 영상스트림(CVS)으로 변환된다. 클린 영상스트림(CVS)은 S270 단계에서 제1디스크램블러(331)로부터 영상 디코더(361)에 전달된다.
이와 같이, 제5실시예는 스크램블된 영상스트림(SVS)이 전달되는 대상, 램(340)에 저장되는 영상스트림의 상태, 영상 디코더(361)의 요청에 따라서 영상스트림이 램(340)으로부터 전달되는 대상, 클린 영상스트림을 영상 디코더(361)에 최종 전달하는 대상이 제4실시예의 경우와 상이하다.
중요한 점은, 제5실시예는 램(340)에 저장되는 영상스트림이 클린 상태가 아닌 스크램블된 상태라는 것으로서, 이로써 램(340)에 해커가 억세스하더라도 클린 스트림이 해커에게 노출되는 것을 방지할 수 있다.
한편, 앞선 제5실시예에서는 디멀티플렉서(320)가 스크램블된 전송스트림으로부터 스크램블된 영상스트림 및 스크램블된 음성스트림을 추출 및 출력하는 예시를 설명하였다. 그러나, 스트림 제공자가 스크램블된 전송스트림을 생성함에 있어서, 일부 하위 스트림만을 스크램블시키고, 나머지 하위 스트림을 스크램블하지 않고 클린한 상태로 유지시키는 경우도 가능하다. 예를 들면, 스크램블된 전송스트림은 스크램블된 영상스트림 및 클린 음성스트림을 포함하는 경우도 가능한 바, 이러한 실시예에 관해 이하 도 11을 참조하여 설명한다.
도 11은 본 발명의 제6실시예에 따른 처리부(300)의 구성 블록도이다. 기본적으로 본 실시예의 구조는 앞선 도 8 관련 제5실시예의 경우와 동일하다.
도 11에 도시된 바와 같이, 처리부(300)는 디멀티플렉서(320), 제1디스크램블러(331), 제2디스크램블러(332), 램(340), 버퍼(341), 램 컨트롤러(350), 영상 디코더(361), 음성 디코더(362), CPU(370), 레지스터(380)를 포함한다. 이들 구성은 앞선 제5실시예의 동일 명칭의 구성과 실질적으로 동일하므로, 자세한 설명은 생략한다.
디멀티플렉서(320)는 튜너(310)로부터 출력되는 스크램블된 전송스트림을 디멀티플렉싱한다. 본 실시예에서의 스크램블된 전송스트림은 최초에 스트림 제공자에 의해 영상스트림만을 스크램블링하여 생성되었으므로, 디멀티플렉서(320)는 스크램블된 전송스트림으로부터 스크램블된 영상스트림(SV) 및 클린 음성스트림(CA)을 추출하고, 이들을 램 컨트롤러(350)에 전달한다.
램 컨트롤러(350)는 램(340)의 버퍼(341)에 스크램블된 영상스트림(SV) 및 클린 음성스트림(CA)을 저장한다. 스크램블된 전송스트림이 최초에 제공될 때부터 음성스트림은 클린 상태이지만, 스크램블된 영상스트림(SV)은 스크램블 상태를 유지하며 램(340)에 저장되므로 램(340)에 대한 해킹으로부터 보호될 수 있다.
영상 디코더(361)가 램 컨트롤러(350)에 스크램블된 영상스트림(SV)을 요청하면, 램 컨트롤러(350)는 스크램블된 영상스트림(SV)을 버퍼(341)로부터 제1디스크램블러(331)에 전달한다. 제1디스크램블러(331)는 CPU(370)에 의해 기록된 비밀 키를 레지스터(380)로부터 취득하고, 스크램블된 영상스트림(SV)을 클린 영상스트림으로 해독하여 영상 디코더(361)에 전달한다.
여기서, CPU(370)는 스크램블된 전송스트림을 기 설치된 DRM 소프트웨어를 통해 비밀 키를 취득하는데, 이 경우에는 스크램블된 전송스트림으로부터 영상스트림에 대한 비밀 키만을 취득할 수 있다. CPU(370)는 취득한 비밀 키를 레지스터(380)에 기록한다.
한편, 버퍼(341)에는 클린 음성스트림(CA)이 저장되어 있으므로, 음성스트림에 대해서는 디스크램블링이 불필요하다. 따라서, 음성 디코더(362)가 램 컨트롤러(350)에 클린 음성스트림(CA)을 요청하면, 램 컨트롤러(350)는 제2디스크램블러(332)를 바이패스하여 클린 음성스트림(CA)을 음성 디코더(362)에 전달한다.
또는, 램 컨트롤러(350)는 클린 음성스트림(CA)을 그대로 제2디스크램블러(332)에 전달할 수도 있다. 이 경우에, 제2디스크램블러(332)는 수신되는 음성스트림이 스크램블링되어 있는 상태인지 판단하여, 클린 상태라면 디스크램블링 처리 없이 그대로 음성 디코더(362)에 전달한다.
이와 같이, 본 실시예에 따르면, 스크램블된 스트림 및 클린 스트림이 멀티플렉싱된 전송스트림을 각기 구분하여 처리할 수 있다.
한편, 앞선 실시예들에서는 스크램블된 전송스트림이 영상스트림 및 음성스트림의 두 가지의 스크램블된 하위 스트림을 포함하는 경우에 관해 설명하였으나, 스크램블된 전송스트림은 세 가지 이상의 스크램블된 하위 스트림을 포함할 수도 있다. 예를 들면, 영상 컨텐츠는 영상데이터와, 음성데이터와, 컨텐츠에 대한 자막 또는 부가 정보 등을 포함하는 정보데이터를 포함할 수 있다. 처리부의 구성은 스크램블된 각 하위 스트림들을 고려하여 마련되어야 하는 바, 이러한 실시예에 관해 이하 도 12를 참조하여 설명한다.
도 12는 본 발명의 제7실시예에 따른 처리부(400)의 구성 블록도이다.
도 12에 도시된 바와 같이, 디멀티플렉서(420)는 튜너(410)로부터 출력되는 스크램블된 전송스트림을 디멀티플렉싱하여, 스크램블된 영상스트림(SV), 스크램블된 음성스트림(SA), 스크램블된 정보스트림(SF)을 추출하고, 이들을 램 컨트롤러(450)에 전달한다.
램 컨트롤러(450)는 램(440)의 버퍼(441)에, 디멀티플렉서(420)로부터 출력되는 스크램블된 영상스트림(SV), 스크램블된 음성스트림(SA), 스크램블된 정보스트림(SF)을 저장한다.
한편, CPU(470)는 튜너(410)로부터 출력되는 스크램블된 전송스트림을 처리하여, 스크램블된 영상스트림(SV), 스크램블된 음성스트림(SA), 스크램블된 정보스트림(SF) 각각에 대응하는 비밀 키를 취득한다. CPU(470)는 취득한 각 비밀 키를 레지스터(480)에 기록한다.
영상 디코더(461)가 램 컨트롤러(450)에 영상스트림을 요청하면, 램 컨트롤러(450)는 버퍼(441)에 저장된 스크램블된 영상스트림(SV)을 제1디스크램블러(431)에 전달한다. 제1디스크램블러(431)는 스크램블된 영상스트림(SV)에 대응하는 비밀 키를 레지스터(480)로부터 취득하고, 스크램블된 영상스트림(SV)을 해당 비밀 키로 복호화함으로써 클린 영상스트림을 생성한다. 제1디스크램블러(431)는 생성한 클린 영상스트림을 영상 디코더(461)에 출력한다. 영상 디코더(461)는 수신되는 클린 영상스트림을 디코딩한다.
음성 디코더(462)가 램 컨트롤러(450)에 음성스트림을 요청하면, 램 컨트롤러(450)는 버퍼(441)에 저장된 스크램블된 음성스트림(SA)을 제2디스크램블러(432)에 전달한다. 제2디스크램블러(432)는 스크램블된 음성스트림(SA)에 대응하는 비밀 키를 레지스터(480)로부터 취득하고, 스크램블된 음성스트림(SA)을 해당 비밀 키로 복호화함으로써 클린 음성스트림을 생성한다. 제2디스크램블러(432)는 생성한 클린 음성스트림을 음성 디코더(462)에 출력한다. 음성 디코더(462)는 수신되는 클린 음성스트림을 디코딩한다.
유사한 원리로, 정보 디코더(463)가 램 컨트롤러(450)에 정보스트림을 요청하면, 램 컨트롤러(450)는 버퍼(441)에 저장된 스크램블된 정보스트림(SF)을 제3디스크램블러(433)에 전달한다. 제3디스크램블러(433)는 스크램블된 정보스트림(SF)에 대응하는 비밀 키를 레지스터(480)로부터 취득하고, 스크램블된 정보스트림(SF)을 해당 비밀 키로 복호화함으로써 클린 정보스트림을 생성한다. 제3디스크램블러(433)는 생성한 클린 정보스트림을 정보 디코더(463)에 출력한다. 정보 디코더(463)는 수신되는 클린 정보스트림을 디코딩한다.
이와 같이, 스크램블된 전송스트림의 구현 방식에 따라서 처리부(400)의 구조가 마련될 수 있다.
한편, 앞선 실시예들에서는 스트림 제공자로부터 제공되는 스트림이 아날로그 신호인 경우에 관해 설명하였다. 아날로그 스트림은 튜너에서 디지털 스트림으로 변환된 이후에, 디멀티플렉서에 의해 디멀티플렉싱이 수행된다. 그러나, 스트림 제공자로부터 제공되는 스트림이 디지털 패킷 스트림일 수도 있다. 이 경우에는 앞선 실시예들과 같이 튜너 및 디멀티플렉서에 의한 처리가 아닌, 다른 방식의 처리가 반영되어야 한다. 이하, 이러한 실시예에 관해 도 13을 참조하여 설명한다.
도 13은 본 발명의 제8실시예에 따른 처리부(500)의 구성 블록도이다.
도 13에 도시된 바와 같이, 스트림 제공자는 인터넷과 같은 네트워크를 통해 디지털 패킷화된 스크램블된 전송스트림을 제공할 수 있다. LAN모듈(510)은 이러한 스크램블된 전송스트림을 수신하여 CPU(520)에 전달한다.
CPU(520)는 스크램블된 전송스트림의 패킷 분석을 통해, 스크램블된 전송스트림으로부터 스크램블된 영상스트림(SV) 및 스크램블된 음성스트림(SA)을 추출하고 이들을 램 컨트롤러(550)에 전달한다. 또한, CPU(520)는 스크램블된 전송스트림으로부터 비밀 키를 추출하여 레지스터(530)에 기록한다.
본 실시예가 앞선 실시예들과 상이한 점은 아날로그 스트림이 아닌 네트워크를 통한 디지털 스트림을 수신한다는 것이며, 본 실시예에서 수신되는 디지털 스트림은 CPU(520)에 의해 각 하위 스트림으로 구분된다.
램 컨트롤러(550)는 CPU(520)로부터 수신되는 스크램블된 영상스트림(SV) 및 스크램블된 음성스트림(SA)을 램(540)의 버퍼(541)에 저장한다. 특히, 본 실시예의 경우는 스트림 제공자로부터 네트워크를 통해 스크램블된 전송스트림을 수신하게 되므로, LAN모듈(510)에서 출력되는 스크램블된 전송스트림의 단위시간당 데이터량은 통신 환경의 좋고 나쁨에 따라서 일정하지 않을 수도 있다. 이에, 버퍼(541)가 스크램블된 영상스트림(SV) 및 스크램블된 음성스트림(SA)을 임시 저장함으로써, 영상 디코더(571) 및 음성 디코더(572)가 가능한 한 constant rate로 스트림을 출력하도록 기여할 수 있다.
이후의 동작은 앞선 실시예들의 경우와 실질적으로 동일하다. 영상 디코더(571)로부터 영상스트림의 요청을 받으면, 램 컨트롤러(550)는 버퍼(541)로부터 스크램블된 영상스트림(SV)을 제1디스크램블러(561)에 전달한다. 제1디스크램블러(561)는 스크램블된 영상스트림(SV)을 클린 영상스트림으로 변환하여 영상 디코더(571)에 전달하며, 영상 디코더(571)는 클린 영상스트림을 디코딩한다.
음성 디코더(572)로부터 음성스트림의 요청을 받으면, 램 컨트롤러(550)는 버퍼(541)로부터 스크램블된 음성스트림(SA)을 제2디스크램블러(562)에 전달한다. 제2디스크램블러(562)는 스크램블된 음성스트림(SA)을 클린 음성스트림으로 변환하여 음성 디코더(572)에 전달하며, 음성 디코더(572)는 클린 음성스트림을 디코딩한다.
이러한 방법에 따라서, 스트림 제공자로부터 제공되는 디지털 전송스트림을 처리할 수 있다.
이상 설명한 실시예들에서는, 스트림 제공자로부터 영상 컨텐츠의 아날로그/디지털 스트림이 스크램블되어 제공될 때에, 이러한 스트림을 클린 스트림으로 복화화 처리하는 예시들에 관해 설명하였다. 그런데, 사용자는 이러한 실시예들에 따른 영상처리장치(100)를 사용할 때에, 클린 스트림으로 처리되어 영상으로 표시되는 영상 컨텐츠를 개인적으로 저장 및 보존하고자 할 수도 있다. 이와 같이 영상 컨텐츠를 저장 및 보존하는 방법을 PVR(personal video recording)이라고 한다.
PVR을 실행하려면 컨텐츠 보호를 위한 조건을 만족해야 한다. 즉, PVR에 의해 영상처리장치(100)에 저장되는 영상 컨텐츠의 스트림은, 저장에 앞서 다시 스크램블되어야 한다. 만일, 앞선 실시예들에 따라서 생성된 클린 스트림을 그대로 영상처리장치(100)에 저장한다면, 해커로부터의 공격에 의해 클린 스트림이 그대로 해커에게 유출될 수 있다. 영상처리장치(100)에서 클린 스트림을 다시 스크램블할 때에는 스트림 제공자가 제공하는 비밀 키를 사용하는 것도 가능하지만, 영상처리장치(100) 고유의 비밀 키를 사용함으로써 해당 영상처리장치(100)에서만 디스크램블링이 가능하도록 마련될 수도 있다.
이하, PVR을 실행하는 과정에 관해 도 14를 참조하여 설명한다.
도 14는 본 발명의 제9실시예에 따른 처리부(600)의 구성 블록도이다.
도 14에 도시된 바와 같이, 처리부(600)는 디멀티플렉서(620), 제1디스크램블러(631), 제2디스크램블러(632), 램(640), 버퍼(641), 램 컨트롤러(650), 영상 디코더(661), 음성 디코더(662), CPU(670), 레지스터(680)를 포함한다. 이들 구성요소들의 동작은 실질적으로 도 8 관련 실시예에서의 동일 명칭의 구성요소들의 동작과 동일하다.
다만, 본 실시예에서는, 제1디스크램블러(631) 및 제2디스크램블러(632)의 각 스트림 출력단이 분기되며, 이러한 분기되는 각 스트림은 스크램블러(scrambler)(690)로 입력된다.
스크램블러(690)는 입력되는 클린 영상스트림 및 클린 음성스트림을, 다시 스크램블된 영상스트림 및 스크램블된 음성 스트림으로 변환시키는 스크램블링 처리를 수행한다. 스크램블링을 위해서는 디스크램블링의 경우와 마찬가지로 비밀 키가 필요한데, CPU(670)는 스크램블러(690)의 스크램블링을 위한 비밀 키를 자체적으로 생성하여 레지스터(680)에 기록한다. 스크램블러(690)는 레지스터(680)에 기록된 비밀 키를 취득하고, 이에 기초하여 스크램블링을 실행한다. 스크램블러(690)는 생성한 스크램블된 영상스트림 및 스크램블된 음성 스트림을 CPU(670)에 전달한다.
여기서, 스크램블러(690)가 사용하기 위한 비밀 키는 제1디스크램블러(631) 및 제2디스크램블러(632)가 각기 사용하는 비밀 키를 그대로 사용할 수 있다. 그렇지 않은 경우에, CPU(670)는 영상처리장치(100)의 고유 식별정보를 기 설정된 DRM 소프트웨어를 통해 처리함으로써, 영상처리장치(100)의 고유 식별정보에 기초하는 비밀 키를 생성한다. 이러한 비밀 키는 외부 유출을 방지하기 위해, 스크램블링이 실행되지 않을 때에는 영상처리장치(100) 내에서 생성 및 보존되지 않고, 스크램블러(690)가 스크램블링을 실행할 경우에만 생성되어 레지스터(680)에 기록된다. 스크램블러(690)가 스크램블링을 완료하면, CPU(670)는 레지스터(680)의 해당 비밀 키를 삭제한다.
여기서, 영상처리장치(100)의 고유 식별정보는 해당 영상처리장치(100)를 타 영상처리장치와 식별할 수 있는 다양한 정보를 포함할 수 있는데, 예를 들면 CPU(670)의 시리얼 넘버, 맥 어드레스, 처리부(600)의 제조번호, 영상처리장치(100)의 모델번호 등 다양한 정보가 적용될 수 있다.
이하, 본 실시예에 따른 PVR 동작의 과정에 관해 설명한다.
디멀티플렉서(620)는 튜너(610)로부터 출력되는 스크램블된 전송스트림을 디멀티플렉싱하여 스크램블된 영상스트림 및 스크램블된 음성스트림을 추출하고, 이들을 램 컨트롤러(650)에 전달한다. 램 컨트롤러(650)는 램(640)의 버퍼(641)에 스크램블된 영상스트림 및 스크램블된 음성스트림을 저장한다. CPU(670)는 튜너(610)로부터 출력되는 스크램블된 전송스트림에 기초하여 비밀 키를 취득하고, 비밀 키를 레지스터(680)에 저장한다.
램 컨트롤러(650)는 영상 디코더(661) 및 음성 디코더(662) 각각의 요청에 응답하여, 버퍼(641)에 저장된 스크램블된 영상스트림 및 스크램블된 음성스트림을 제1디스크램블러(631) 및 제2디스크램블러(632)에 각기 전달한다. 제1디스크램블러(631) 및 제2디스크램블러(632)는 레지스터(680)에 기록된 비밀 키를 가지고 디스크램블링을 수행하며, 각기 클린 영상스트림 및 클린 음성스트림을 영상 디코더(661) 및 음성 디코더(662)에 출력한다.
여기서, 제1디스크램블러(631)로부터 출력되는 클린 영상스트림 및 제2디스크램블러(632)로부터 출력되는 클린 음성스트림은 각기 스크램블러(690)에 입력된다. 이 때에, CPU(670)는 스크램블링을 위한 비밀 키를 생성하여 레지스터(680)에 기록한다.
스크램블러(690)는 레지스터(680)에 기록된 비밀 키를 가지고, 클린 영상스트림 및 클린 음성스트림을 각기 스크램블된 영상스트림 및 스크램블된 음성스트림으로 변환한다. 이 과정에서도 클린 영상스트림 및 클린 음성스트림은 램(640)에 저장되지 않으므로, 외부 유출이 방지된다.
스크램블러(690)는 스크램블된 영상스트림 및 스크램블된 음성스트림을 CPU(670)에 전달한다. CPU(670)는 스크램블된 영상스트림 및 스크램블된 음성스트림을 비휘발성 메모리로 구현된 저장부(700)에 저장한다. 또는, 스크램블러(690)는 CPU(670)를 거치지 않고, 스크램블된 영상스트림 및 스크램블된 음성스트림을 저장부(700)에 다이렉트로 저장시킬 수도 있다.
이하, PVR에 의해 저장부(700)에 저장된 스트림을 재생하는 과정에 관해 설명한다.
저장부(700)에 저장된 스크램블된 스트림의 재생 이벤트가 발생하면, CPU(670)는 저장부(700)로부터 재생이 지시된 스크램블된 영상스트림 및 스크램블된 음성스트림을 독취한다. CPU(670)는 독취한 스크램블된 영상스트림 및 스크램블된 음성스트림을 램 컨트롤러(650)에 전달한다. 램 컨트롤러(650)는 해당 스크램블된 영상스트림 및 스크램블된 음성스트림을 램(640)의 버퍼(641)에 저장한다.
그리고, CPU(670)는 앞서 스크램블러(690)의 스크램블링을 위한 비밀 키의 생성 과정을 다시 반복한다. 즉, CPU(670)는 영상처리장치(100)의 고유 식별정보에 기초하는 비밀 키를 생성하여 레지스터(680)에 기록한다.
영상 디코더(661)로부터의 요청에 따라서, 램 컨트롤러(650)는 버퍼(641)에 저장된 스크램블된 영상스트림을 제1디스크램블러(631)에 전달한다. 제1디스크램블러(631)는 레지스터(680)에 기록된 비밀 키를 가지고 클린 영상스트림을 생성한다. 여기서, 제1디스크램블러(631)가 사용하는 비밀 키는, CPU(670)가 영상처리장치(100)의 고유 식별정보에 기초하여 생성한 비밀 키이다. 제1디스크램블러(631)는 클린 영상스트림을 영상 디코더(661)에 출력하며, 영상 디코더(661)는 클린 영상스트림을 디코딩한다.
또한, 음성 디코더(662)로부터의 요청에 따라서, 램 컨트롤러(650)는 버퍼(641)에 저장된 스크램블된 음성스트림을 제2디스크램블러(632)에 전달한다. 제2디스크램블러(632)는 레지스터(680)에 기록된 비밀 키를 가지고 클린 음성스트림을 생성한다. 제2디스크램블러(632)는 클린 음성스트림을 음성 디코더(662)에 출력하며, 음성 디코더(662)는 클린 음성스트림을 디코딩한다.
이러한 방법에 따라서, 스크램블된 전송스트림의 PVR과, PVR에 의해 저장된 영상스트림을 재생할 수 있다.
이하, 영상처리장치(100)의 제어방법에 관해 설명한다.
도 15는 본 발명의 제10실시예에 따른 영상처리장치(100)의 제어방법을 나타내는 플로우차트이다. 본 실시예에 따른 영상처리장치(100)의 구조는 도 8 관련 실시예에 준한다.
도 15에 도시된 바와 같이, 영상처리장치(100)는 S300 단계에서 스크램블된 전송스트림을 수신한다. 영상처리장치(100)는 S310 단계에서 스크램블된 전송스트림을 디멀티플렉싱하여 스크램블된 영상스트림을 추출한다. 영상처리장치(100)는 S320 단계에서 스크램블된 영상스트림을 버퍼링 처리한다.
영상처리장치(100)는 S330 단계에서 영상스트림에 대한 디코딩 요청 이벤트가 발생하는지 여부를 판단한다.
S330 단계에서 디코딩 요청 이벤트가 발생한 것으로 판단하지 않은 것으로 판단하면, 영상처리장치(100)는 해당 이벤트의 발생까지 대기한다.
S330 단계에서 디코딩 요청 이벤트가 발생한 것으로 판단하면, 영상처리장치(100)는 S340 단계에서, 버퍼링 중인 스크램블된 영상스트림을 비밀 키로 디스크램블링하여 클린 영상스트림을 생성한다. 영상처리장치(100)는 S350 단계에서 클린 영상스트림을 디코딩한다. 영상처리장치(100)는 S360 단계에서 영상을 표시한다.
이러한 과정에 따라서, 영상처리장치(100)는 스크램블된 전송스트림을 처리하여 영상으로 표시할 수 있다.
도 16은 본 발명의 제11실시예에 따른 램(810)의 구현 원리를 나타내는 블록도이다. 본 실시예의 램(810)은 앞선 실시예들에서의 동일 명칭의 구성을 대체하여 적용될 수 있다.
도 16에 도시된 바와 같이, 램(810)은 디멀티플렉서(830)로부터 출력되거나 또는 CPU(820)에 의해 처리되는 스트림/데이터가 저장된다.
램(810)은 데이터를 저장하기 위한 저장영역이 메인섹션(811) 및 버퍼(812)로 구분된다. 즉, 메인섹션(811) 및 버퍼(812)는 램(810) 내에서 각기 상이한 저장영역을 점유한다. 메인섹션(811) 및 버퍼(812) 각각의 램(810) 내의 주소 범위나 또는 저장영역의 크기는, 기 설정된 디폴트 값으로 고정될 수 있으며, 또는 동적으로 변화할 수도 있다. 메인섹션(811) 및 버퍼(812)의 용량은 램(810)에 억세스하는 다양한 구성요소로부터의 요청에 대응하여 변화할 수 있다.
메인섹션(811)은 램(810)의 기본적인 역할을 수행하는 저장영역으로서, CPU(820)에 의해 처리되는 운영체제(OS) 또는 프로그램(PR)이 로딩되는 영역이다. CPU(820)는 비휘발성 메모리인 저장부(840)에 저장된 운영체제(OS) 또는 프로그램(PR)을 호출하여 램(810)의 메인섹션(811)에 로딩하고, 메인섹션(811)에 로딩된 운영체제(OS) 또는 프로그램(PR)을 실행시킨다. 예를 들면, CPU(820)는 시스템 전원이 인가되면 저장부(840)에 저장된 운영체제(OS)를 호출하여 메인섹션(811)에 로딩하고, 이 로딩된 운영체제(OS)를 실행시킴으로써 부팅을 진행한다. 또한, 부팅 이후에 CPU(820)는 운영체제(OS)가 실행되는 상태에서, 저장부(840)에 저장된 프로그램(PR)을 호출하여 메인섹션(811)에 로딩하고, 운영체제(OS) 상에서 해당 프로그램(PR)을 실행한다.
메인섹션(811)은 CPU(820) 또는 운영체제(OS)의 동작 방식에 따라서 다양한 기능의 하위 섹션으로 구분될 수 있다. 예를 들면, 메인섹션(811)은 복수의 파티션으로 분할되며, 각 파티션은 일반적인 데이터가 로딩되는 정상 파티션과 보안이 요구되는 데이터가 로딩되는 히든 파티션으로 구분될 수 있다.
버퍼(812)는 램(810)에서 디멀티플렉서(830)로부터 출력되는 스크램블된 영상스트림(SV) 및 스크램블된 음성스트림(SA)이 디코더에 입력되기 이전에 임시로 저장되는 영역이다. 버퍼(812)에 관해서는 앞선 실시예를 응용할 수 있는 바, 자세한 설명을 생략한다.
램(810) 내에서 메인섹션(811) 및 버퍼(812)를 구분하는 방식은 여러 가지가 가능하다. 예를 들면, 램(810)을 최초 설계할 때에, 램(810) 내의 하위 메모리 칩들을 각기 메인섹션(811) 및 버퍼(812)로 구분하여 지정할 수도 있다. 그러나, 이 경우에는 설계상의 공정이 추가되며, 메인섹션(811) 및 버퍼(812)를 동적으로 구현할 수 없다. 또한, 본 발명의 사상이 반영된 영상처리장치(100)에 램(810)을 설치할 경우에, 이와 같은 설계의 램(810)이 반영되어야 하는 문제점이 있다.
이를 고려하여, 메인섹션(811) 및 버퍼(812)를 소프트웨어적으로 구분하여 사용하는 방법도 가능하다. 이하, 이러한 실시예에 관해 도 17을 참조하여 설명한다.
도 17은 본 발명의 제12실시예에 따라서, 램(810)에서 메인섹션(811) 및 버퍼(812)를 분할 지정하는 원리를 나타내는 구성 블록도이다.
도 17에 도시된 바와 같이, CPU(820)는 영상처리장치(100)의 부팅 시에 레지스터(850)로부터 설정정보(870)를 취득한다. 이 설정정보(870)는 램(810)의 모델번호, 저장영역의 용량, 메인섹션(811)이 점유하는 주소 범위, 버퍼(812)가 점유하는 주소 범위 등의 정보를 포함한다. CPU(820)는 취득한 설정정보(870)를 램 컨트롤러(860)에 전달한다.
램 컨트롤러(860)는 이 설정정보(870)에 기초하여 램(810)을 메인섹션(811) 및 버퍼(812)로, 소프트웨어적으로 구분한다. 구분이 완료되면 램 컨트롤러(860)는 구분이 완료했음을 나타내는 신호를 CPU(820)에 응답한다. CPU(820)는 램 컨트롤러(860)로부터의 응답에 따라서 램(810)이 메인섹션(811) 및 버퍼(812)로 구분되었음을 인지한다.
이 때, 램 컨트롤러(860)는 자체적으로 램(810)의 모델번호를 취득하고, 취득한 램(810)의 모델번호가 설정정보(870)의 내용과 동일한지 여부를 판단할 수 있다. 램 컨트롤러(860)는 자체 취득한 램(810)의 모델번호가 설정정보(870)의 내용과 동일하면 설정정보에 따라서 램(810)을 구분한다. 반면, 램 컨트롤러(860)는 자체 취득한 램(810)의 모델번호가 설정정보(870)의 내용과 동일하지 않으면 CPU(820)에 경고를 통지할 수 있다.
램(810)이 구분 설정된 이후, 램 컨트롤러(860)는 디멀티플렉서(830)로부터 수신되는 스트림은 램(810)에서 버퍼(812)에 대응하는 주소 범위의 저장영역에 저장하며, CPU(820)로부터 전달되는 데이터는 램(810)에서 메인섹션(811)에 대응하는 주소 범위의 저장영역에 저장한다. 또한, 램 컨트롤러(860)는 디코더로부터 스트림의 요청이 수신되면, 램(810)에서 버퍼(812)에 대응하는 주소 범위의 저장영역을 검색한다.
이러한 방법에 따라서, 램(810)은 메인섹션(811) 및 버퍼(812)로 구분되어 사용될 수 있다.
한편, 앞선 실시예들에서는 버퍼에 대한 스트림의 입출력을 램 컨트롤러가 수행하는 것으로 설명하였다. 그러나, 설계 방식에 따라서는 CPU가 램 컨트롤러와 일체형으로 마련된 형태이거나 또는 CPU가 램 컨트롤러를 내장하고 있는 형태가 가능하다. 이 경우에는, CPU가 버퍼에 대한 스트림의 입출력을 수행하는 바, 이하 이러한 실시예에 관해 도 18을 참조하여 설명한다.
도 18은 본 발명의 제13실시예에 따른 처리부(900)의 구성 블록도이다.
도 18에 도시된 바와 같이, 처리부(900)는 디멀티플렉서(920)와, 제1스크램블러(931)와, 제2스크램블러(932)와, 램(940)과, 버퍼(941)와, CPU(950)와, 영상 디코더(961)와, 음성 디코더(962)와, 레지스터(970)를 포함한다. 각 구성요소들의 기본적인 동작 및 기능은 앞선 도 8 관련 실시예를 응용할 수 있으므로 자세한 설명을 생략한다.
디멀티플렉서(920)는 튜너(910)로부터 출력되는 스크램블된 전송스트림을 스크램블된 영상스트림 및 스크램블된 음성스트림으로 디멀티플렉싱하여 CPU(950)에 전달한다.
CPU(950)는 디멀티플렉서(920)로부터의 스크램블된 영상스트림 및 스크램블된 음성스트림을 램(940) 내의 버퍼(941)에 임시 저장한다. 또한, CPU(950)는 튜너(910)로부터 출력되는 스크램블된 전송스트림을 기 설정된 DRM 소프트웨어 프로그램으로 처리함으로써 비밀 키를 추출하고, 추출된 비밀 키를 레지스터(970)에 기록한다.
영상 디코더(961)로부터 스트림의 요청을 수신하면, CPU(950)는 영상 디코더(961)로부터의 요청에 대응하는 스크램블된 영상스트림을 버퍼(941)에서 호출하여 제1디스크램블러(931)에 전달한다. 또한, 음성 디코더(962)로부터 스트림의 요청을 수신하면, CPU(950)는 음성 디코더(962)로부터의 요청에 대응하는 스크램블된 음성스트림을 버퍼(941)에서 호출하여 제2디스크램블러(932)에 전달한다.
제1디스크램블러(931)는 레지스터(970)의 비밀 키에 기초하여, 스크램블된 영상스트림을 클린 영상스트림으로 변환하여 영상 디코더(961)에 전달한다. 또한, 제2디스크램블러(932)는 레지스터(970)의 비밀 키에 기초하여, 스크램블된 음성스트림을 클린 음성스트림으로 변환하여 음성 디코더(962)에 전달한다.
이러한 방법에 따라서, CPU(950)는 버퍼(941)에 대한 스트림의 입출력을 제어할 수 있다.
이상과 같은 본 발명의 예시적 실시예에 따른 방법들은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이러한 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 매체는 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 이동 단말 내에 포함될 수 있는 메모리는 본 발명의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 본 저장 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어의 기술 분야에서 숙련된 기술자에게 공지되어 사용 가능한 것일 수도 있다.
상기한 실시예는 예시적인 것에 불과한 것으로, 당해 기술 분야의 통상의 지식을 가진 자라면 다양한 변형 및 균등한 타 실시예가 가능하다. 따라서, 본 발명의 진정한 기술적 보호범위는 하기의 특허청구범위에 기재된 발명의 기술적 사상에 의해 정해져야 할 것이다.
100 : 영상처리장치
110 : 통신부
120 : 표시부
130 : 입력부
140, 700, 840 : 저장부
150, 300, 400, 500, 600 : 처리부
310, 410, 610, 910 : 튜너
320, 420, 620, 830, 920 : 디멀티플렉서
331, 431, 561, 631, 931 : 제1디스크램블러
332, 432, 562, 632, 932 : 제2디스크램블러
340, 440, 540, 640, 810, 940 : 램
341, 441, 541, 641, 812, 941 : 버퍼
350, 450, 550, 650, 860 : 램 컨트롤러
361, 461, 571, 661, 961 : 영상 디코더
362, 462, 572, 662, 962 : 음성 디코더
370, 470, 520, 670, 820, 950 : CPU
380, 480, 530, 680, 970 : 레지스터
433 : 제3디스크램블러
463 : 정보 디코더
510 : LAN모듈
690 : 스크램블러

Claims (17)

  1. 영상처리장치에 있어서,
    암호화된 영상신호를 수신하는 신호수신부와;
    상기 신호수신부에 수신되는 상기 암호화된 영상신호가 임시 저장되는 저장부와;
    상기 저장부로부터 출력되는 상기 암호화된 영상신호를 기 설정된 제1비밀 키에 의해 해독함으로써, 상기 암호화된 영상신호를 복원된 영상신호로 변환하는 신호해독부와;
    상기 신호해독부로부터 출력되는 상기 복원된 영상신호를 영상으로 표시 가능하게 디코딩하는 디코딩부를 포함하는 것을 특징으로 하는 영상처리장치.
  2. 제1항에 있어서,
    CPU를 더 포함하며,
    상기 저장부에는 상기 CPU에 의해 처리되는 데이터가 저장되는 것을 특징으로 하는 영상처리장치.
  3. 제2항에 있어서,
    상기 신호수신부에 의해 수신되는 상기 암호화된 영상신호를 역다중화하는 디멀티플렉서를 더 포함하는 것을 특징으로 하는 영상처리장치.
  4. 제2항에 있어서,
    상기 CPU는, 상기 신호수신부에 의해 수신되는 상기 암호화된 영상신호로부터 상기 제1비밀 키를 추출하고, 상기 신호해독부가 억세스 가능하게 마련된 레지스터에 상기 추출된 제1비밀 키를 저장하는 것을 특징으로 하는 영상처리장치.
  5. 제4항에 있어서,
    상기 CPU는, 상기 암호화된 영상신호에 대한 해독이 완료되면 상기 레지스터에서 상기 제1비밀 키를 삭제하는 것을 특징으로 하는 영상처리장치.
  6. 제1항에 있어서,
    상기 신호수신부에 수신되는 상기 암호화된 영상신호를 상기 저장부에 저장하고, 상기 디코딩부로부터의 요청에 대응하는 데이터량의 상기 저장된 영상신호를 상기 저장부로부터 상기 신호해독부에 전달하는 제어부를 더 포함하는 것을 특징으로 하는 영상처리장치.
  7. 제6항에 있어서,
    상기 제어부는, 상기 저장부에 저장된 상기 영상신호가 암호화되어 있지 않으면, 상기 저장부에 저장된 영상신호를 상기 신호해독부를 바이패스하여 상기 디코딩부에 전달하는 것을 특징으로 하는 영상처리장치.
  8. 제6항에 있어서,
    상기 제어부는, 상기 신호해독부에 전달한 상기 암호화된 영상신호를 상기 저장부에서 삭제하는 것을 특징으로 하는 영상처리장치.
  9. 제1항에 있어서,
    상기 신호해독부로부터 출력되는 상기 복원된 영상신호를 기 설정된 제2비밀 키에 의하여 재암호화하는 암호화부와;
    상기 암호화부에 의해 재암호화된 영상신호가 저장되는 제2저장부를 더 포함하는 것을 특징으로 하는 영상처리장치.
  10. 제9항에 있어서,
    상기 제2비밀 키는, 상기 영상처리장치의 고유 식별정보에 기초하여 생성되는 것을 특징으로 하는 영상처리장치.
  11. 영상처리장치의 제어방법에 있어서,
    암호화된 영상신호를 수신하는 단계와;
    상기 암호화된 영상신호를 저장부에 임시 저장하는 단계와;
    상기 저장부에 저장된 상기 암호화된 영상신호를 기 설정된 제1비밀 키에 의해 해독함으로써, 상기 암호화된 영상신호를 복원된 영상신호로 변환하는 단계와;
    상기 복원된 영상신호를 영상으로 표시 가능하게 디코딩하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어방법.
  12. 제11항에 있어서,
    상기 저장부에는 상기 영상처리장치의 CPU에 의해 처리되는 데이터가 저장되는 것을 특징으로 하는 영상처리장치의 제어방법.
  13. 제12항에 있어서,
    상기 암호화된 영상신호를 수신하는 단계는, 상기 암호화된 영상신호를 역다중화하는 단계를 더 포함하는 것을 특징으로 하는 영상처리장치의 제어방법.
  14. 제12항에 있어서,
    상기 암호화된 영상신호를 복원된 영상신호로 변환하는 단계는,
    상기 암호화된 영상신호로부터 상기 제1비밀 키를 추출하는 단계와;
    상기 해독 시에 참조 가능하도록 상기 추출된 제1비밀 키를 저장하는 단계를 포함하는 것을 특징으로 하는 영상처리장치의 제어방법.
  15. 제14항에 있어서,
    상기 암호화된 영상신호를 복원된 영상신호로 변환하는 단계는, 상기 암호화된 영상신호에 대한 해독이 완료되면 상기 제1비밀 키를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 영상처리장치의 제어방법.
  16. 제11항에 있어서,
    상기 복원된 영상신호를 기 설정된 제2비밀 키에 의하여 재암호화하는 단계와;
    상기 재암호화된 영상신호를 저장하는 단계를 더 포함하는 것을 특징으로 하는 영상처리장치의 제어방법.
  17. 제16항에 있어서,
    상기 제2비밀 키는, 상기 영상처리장치의 고유 식별정보에 기초하여 생성되는 것을 특징으로 하는 영상처리장치의 제어방법.
KR1020140133237A 2014-10-02 2014-10-02 영상처리장치 및 그 제어방법 KR20160039922A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020140133237A KR20160039922A (ko) 2014-10-02 2014-10-02 영상처리장치 및 그 제어방법
EP15187724.8A EP3002953A1 (en) 2014-10-02 2015-09-30 Image processing apparatus and control method thereof
US14/872,360 US10409963B2 (en) 2014-10-02 2015-10-01 Image processing apparatus and control method for receiving and processing encrypted image signals
CN201510644689.6A CN105491399B (zh) 2014-10-02 2015-10-08 图像处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140133237A KR20160039922A (ko) 2014-10-02 2014-10-02 영상처리장치 및 그 제어방법

Publications (1)

Publication Number Publication Date
KR20160039922A true KR20160039922A (ko) 2016-04-12

Family

ID=54293050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140133237A KR20160039922A (ko) 2014-10-02 2014-10-02 영상처리장치 및 그 제어방법

Country Status (4)

Country Link
US (1) US10409963B2 (ko)
EP (1) EP3002953A1 (ko)
KR (1) KR20160039922A (ko)
CN (1) CN105491399B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190068345A (ko) * 2017-12-08 2019-06-18 삼성전자주식회사 영상처리장치 및 그 제어방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3416397T3 (pl) * 2017-06-13 2020-07-13 Liberty Global Europe Holding B.V. Sposób i urządzenie do bezpiecznego przetwarzania wizji
CN107197205A (zh) * 2017-06-23 2017-09-22 广州长视科技股份有限公司 一种智能监控媒体转发实时动态管理***
CN107295304A (zh) * 2017-06-23 2017-10-24 广州长视科技股份有限公司 一种深度网络监控视频快捷浏览记录的方法

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6236727B1 (en) * 1997-06-24 2001-05-22 International Business Machines Corporation Apparatus, method and computer program product for protecting copyright data within a computer system
US8813137B2 (en) * 1998-05-08 2014-08-19 Qualcomm Incorporated Apparatus and method for decoding digital image and audio signals
US6381656B1 (en) * 1999-03-10 2002-04-30 Applied Microsystems Corporation Method and apparatus for monitoring input/output (“I/O”) performance in I/O processors
WO2002047080A2 (en) * 2000-12-07 2002-06-13 Sandisk Corporation System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media
US6996725B2 (en) * 2001-08-16 2006-02-07 Dallas Semiconductor Corporation Encryption-based security protection for processors
US7242766B1 (en) * 2001-11-21 2007-07-10 Silicon Image, Inc. Method and system for encrypting and decrypting data using an external agent
US7296154B2 (en) 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US20040181811A1 (en) * 2003-03-13 2004-09-16 Rakib Selim Shlomo Thin DOCSIS in-band management for interactive HFC service delivery
WO2004095825A2 (en) * 2003-04-21 2004-11-04 Rgb Networks, Inc. Time-multiplexed multi-program encryption system
JP2005006220A (ja) * 2003-06-13 2005-01-06 Sony Corp 入出力装置及び入出力管理システム
EP1648280A4 (en) * 2003-06-18 2007-08-15 Univ Leland Stanford Junior ELECTRO-ADHESIVE TISSUE MANIPULATOR
US7500098B2 (en) * 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
US7840643B2 (en) * 2004-10-06 2010-11-23 International Business Machines Corporation System and method for movement of non-aligned data in network buffer model
KR100716900B1 (ko) 2005-05-12 2007-05-10 에스케이 텔레콤주식회사 방송 컨텐츠 보호 시스템 및 그 방법
US7637721B2 (en) * 2005-07-29 2009-12-29 General Electric Company Methods and apparatus for producing wind energy with reduced wind turbine noise
JP5114617B2 (ja) * 2005-08-03 2013-01-09 エスティー‐エリクソン、ソシエテ、アノニム 秘密鍵を保護する、セキュア端末、プログラム、および方法
KR100722739B1 (ko) * 2005-11-29 2007-05-30 삼성전기주식회사 페이스트 범프를 이용한 코어기판, 다층 인쇄회로기판 및코어기판 제조방법
US7636769B2 (en) * 2006-04-14 2009-12-22 Microsoft Corporation Managing network response buffering behavior
US20070258586A1 (en) * 2006-04-28 2007-11-08 Chien-Chung Huang Personal video recorder having dynamic security functions and method thereof
US20080022942A1 (en) * 2006-07-27 2008-01-31 Graham C (Hong Kong) Limited Pet shelter
US7929536B2 (en) * 2006-09-07 2011-04-19 Intel Corporation Buffer management for communication protocols
US9281004B2 (en) * 2006-12-11 2016-03-08 Mitsubishi Electric Corporation Content assessment apparatus, content assessment method, information reproducing apparatus, and information reproducing method
US9363576B2 (en) * 2007-01-10 2016-06-07 Steven Schraga Advertisement insertion systems, methods, and media
US8543742B2 (en) * 2007-02-22 2013-09-24 Super Talent Electronics, Inc. Flash-memory device with RAID-type controller
KR100783811B1 (ko) * 2007-08-28 2007-12-10 주식회사 파수닷컴 압축 파일에 대한 디지털 저작권 관리 방법
JP4956708B2 (ja) * 2007-11-30 2012-06-20 株式会社東芝 磁気ディスク装置、磁気ディスク制御装置、磁気ディスク制御方法
US8169973B2 (en) * 2007-12-20 2012-05-01 Telefonaktiebolaget L M Ericsson (Publ) Power efficient enhanced uplink transmission
KR20100115360A (ko) * 2008-02-05 2010-10-27 브리스톨-마이어스 스큅 컴퍼니 알파 5-베타 1 항체 및 이의 용도
US20110012908A1 (en) * 2009-07-20 2011-01-20 Sharp Laboratories Of America, Inc. System for compensation of differential aging mura of displays
US8472625B2 (en) * 2009-09-16 2013-06-25 Broadcom Corporation Method and system for protecting 3D video content
WO2011066531A2 (en) * 2009-11-30 2011-06-03 General Instrument Corporation System and method for encrypting and decrypting data
US20110191587A1 (en) * 2010-02-02 2011-08-04 Futurewei Technologies, Inc. Media Processing Devices With Joint Encryption-Compression, Joint Decryption-Decompression, And Methods Thereof
US8260958B2 (en) * 2010-02-24 2012-09-04 F5 Networks, Inc. Reducing energy consumption of servers
US8713260B2 (en) * 2010-04-02 2014-04-29 Intel Corporation Adaptive block pre-fetching method and system
JP5822057B2 (ja) 2010-07-08 2015-11-24 セイコーエプソン株式会社 圧電素子、圧電アクチュエーター、液体噴射ヘッド、および液体噴射装置
JP2012028860A (ja) * 2010-07-20 2012-02-09 Toshiba Corp 記録装置、コントローラ及び記録装置の制御方法
JP5503463B2 (ja) * 2010-08-30 2014-05-28 沖電気工業株式会社 帯域割当制御装置および帯域割当制御プログラム
US20120079270A1 (en) * 2010-09-29 2012-03-29 Navin Patel Hardware-Assisted Content Protection for Graphics Processor
US8762644B2 (en) * 2010-10-15 2014-06-24 Qualcomm Incorporated Low-power audio decoding and playback using cached images
US8532290B2 (en) * 2011-03-04 2013-09-10 Netflix, Inc. Content playback APIS using encrypted streams
US9451313B2 (en) * 2011-06-29 2016-09-20 Harman International Industries, Incorporated Network media adapter
US8875560B2 (en) * 2011-06-30 2014-11-04 Caterpillar Inc. System implementing constituent identification and concentration detection
JP5597224B2 (ja) * 2012-05-11 2014-10-01 株式会社東芝 情報記憶装置およびメモリ異常処理方法
US20140037090A1 (en) * 2012-08-06 2014-02-06 Media Speed Tech Llc, A Delaware Limited Liability Company System and method of digital rights management
US9769123B2 (en) * 2012-09-06 2017-09-19 Intel Corporation Mitigating unauthorized access to data traffic
US20150002978A1 (en) * 2013-06-30 2015-01-01 Lauro Pomasan Power over ethernet surge protector
WO2015006085A2 (en) * 2013-06-30 2015-01-15 Fereidoun Abbassian System and console for monitoring data stream quality in drilling and production operations at a well site
JP6106043B2 (ja) * 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US9092370B2 (en) * 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9526110B2 (en) * 2014-02-20 2016-12-20 Nokia Solutions And Networks Oy Techniques for multi-RAT (radio access technology) coordinated resource sharing
US10164860B2 (en) * 2014-04-08 2018-12-25 Comcast Cable Communications, Llc Modified content delivery based on network conditions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190068345A (ko) * 2017-12-08 2019-06-18 삼성전자주식회사 영상처리장치 및 그 제어방법

Also Published As

Publication number Publication date
EP3002953A1 (en) 2016-04-06
US20160098544A1 (en) 2016-04-07
CN105491399B (zh) 2018-11-16
CN105491399A (zh) 2016-04-13
US10409963B2 (en) 2019-09-10

Similar Documents

Publication Publication Date Title
US8560863B2 (en) Systems and techniques for datapath security in a system-on-a-chip device
KR100314774B1 (ko) 데이터스트림처리장치및방법
JP4902644B2 (ja) データ処理装置、データ処理方法、データ処理プログラム、およびそのデータ処理プログラムを記録した記録媒体、並びに集積回路
US7457415B2 (en) Secure information distribution system utilizing information segment scrambling
JP4812117B2 (ja) コンテンツ暗号化装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JPH10145773A (ja) 動画像データの暗号化方法およびその方法が適用されるコンピュータシステム並びに動画像データ符号化/復号化装置
WO2010044146A1 (ja) 暗号装置及び復号装置及び暗号方法及び復号方法
US8379852B2 (en) Processing video content
US20050190917A1 (en) Circuits, apparatus, methods and computer program products for providing conditional access and copy protection schemes for digital broadcast data
US8472625B2 (en) Method and system for protecting 3D video content
US10409963B2 (en) Image processing apparatus and control method for receiving and processing encrypted image signals
JP2005531238A (ja) 条件付きアクセスによるオーディオ/ビデオ/データストリームのトリックプレイ
JP2009100265A (ja) データ処理装置、データ処理方法、データ処理プログラム、およびそのデータ処理プログラムを記録した記録媒体、並びに集積回路
JP2009016965A (ja) 情報処理装置および映像音声情報保護方法
JP2001069481A (ja) データ処理装置
TWI426781B (zh) 提供視頻資料的方法及系統
JP2002034018A (ja) パケット処理装置、パケット処理方法及びその記憶媒体
JP2001203683A (ja) データ処理装置及びその方法並びに記憶媒体
JP2006345234A (ja) 暗号化装置および暗号化方法、復号装置および復号方法、並びにプログラム
KR100959708B1 (ko) 트릭 모드 재생 방법, 트릭 모드 전송 스트림 생성 방법및 트릭 모드 재생 시스템
JP2006140623A (ja) 情報処理装置
US20060092048A1 (en) Semiconductor device
JP2009303049A (ja) 放送受信装置及び方法
JP2001157211A (ja) 画像復号化方法及び装置並びに記憶媒体
WO2006040708A2 (en) Method and device for encrypting a data stream

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