KR20170133363A - 오디오/비디오 콘텐츠 보안 도메인 교차에 대한 대책들 - Google Patents

오디오/비디오 콘텐츠 보안 도메인 교차에 대한 대책들 Download PDF

Info

Publication number
KR20170133363A
KR20170133363A KR1020177027853A KR20177027853A KR20170133363A KR 20170133363 A KR20170133363 A KR 20170133363A KR 1020177027853 A KR1020177027853 A KR 1020177027853A KR 20177027853 A KR20177027853 A KR 20177027853A KR 20170133363 A KR20170133363 A KR 20170133363A
Authority
KR
South Korea
Prior art keywords
content
content stream
audio
histogram
stream
Prior art date
Application number
KR1020177027853A
Other languages
English (en)
Inventor
로버토 아반지
시모 페테리 칸가스람피
론 케이다르
창-국 최
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20170133363A publication Critical patent/KR20170133363A/ko

Links

Images

Classifications

    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • 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/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • G06F2221/07
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

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

Abstract

전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 기술들이 제공된다. 이러한 기술들에 따른 방법은, 콘텐츠 스트림을 수신하는 단계, 콘텐츠 스트림으로부터 샘플들을 획득하는 단계, 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하는 단계, 히스토그램을 기초로 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하는 단계, 및 비-오디오 콘텐츠를 포함하는 것으로 콘텐츠 스트림을 분류하는 것에 응답하여 콘텐츠 스트림의 부분들을 수정하는 단계를 포함한다. 콘텐츠 스트림은, 콘텐츠 스트림에 포함된 임의의 비디오 콘텐츠는 재생 불가능하게 렌더링되는 한편, 콘텐츠 스트림에 포함된 오디오 콘텐츠는 재생 가능하게 유지되도록 수정될 수 있다.

Description

오디오/비디오 콘텐츠 보안 도메인 교차에 대한 대책들
[0001] 대부분의 종래 디지털 저작권 관리(DRM: digital rights management) 방식들(콘텐츠 전달 및 링크 보호 프로토콜들)은 프리미엄 콘텐츠 스트림들의 오디오 및 비디오 서브스트림들 모두에 동일한 키 및 논스(nonce)를 사용하고, 일반적으로는 오디오 및 비디오 스트림들을 구별하기 위한 어떠한 수단도 제공하지 않는다. 이러한 DRM 방식들의 일부 예들은 Google Widevine, Microsoft의 Playread, 그리고 HDCP(High-bandwidth Digital Content Protection)를 포함한다.
[0002] 휴대 전화들, 셋톱 박스들, 및 DRM 보호 콘텐츠를 다루도록 구성된 다른 디바이스들을 비롯한 많은 디바이스들은 신뢰할 수 있는 콘텐츠 보호 모듈을 포함하며, 비디오 콘텐츠에 대한 DRM 보호들이 파괴되는 것을 막도록 의도되는 보호 비디오 처리 경로를 구현한다. 그러나 일반적으로 오디오 처리 경로들에는 비슷한 보호들이 제공되지 않는다. 오디오 콘텐츠는 암호화되지 않고 검증 없이 디바이스의 고레벨 운영 체제(HLOS: high level operating system)로 배포될 수 있다. 오디오 처리 경로는 암호화되지 않은 콘텐츠가 실제로 오디오 콘텐츠인지 여부를 실제로 결정하지 않기 때문에, 공격자가 이 약점을 이용하여, 암호화되지 않은 비디오 콘텐츠를 얻을 수 있다. 공격자는 원하는 비디오 콘텐츠가 오디오 콘텐츠라고 디바이스의 신뢰할 수 있는 콘텐츠 보호 모듈에 지시함으로써 또는 비디오 콘텐츠를 오디오 콘텐츠와 인터리빙함으로써 비디오 콘텐츠에 대한 보호를 회피할 수 있다. 그러면, 비디오 콘텐츠는 암호화되지 않고 HLOS에 제공될 것이고, 이로써 비디오 콘텐츠에 대한 DRM 보호들을 회피하여 암호화되지 않은 비디오 콘텐츠에 대한 무제한 액세스를 가능하게 할 것이다. 공격자는 잠재적으로, 비디오 콘텐츠의 부분들을 오디오 콘텐츠와 인터리빙하여 암호화된 콘텐츠를 얻고 암호화되지 않은 비디오 콘텐츠를 재조립함으로써 DRM 보호 비디오 콘텐츠의 비디오 콘텐츠 전체를 얻을 수 있다. 이러한 접근 방식은 암호화되지 않은 전체 비디오 콘텐츠를 얻기 위해 공격자가 비디오 콘텐츠의 부분들을 오디오 콘텐츠와 여러 번 인터리빙할 것을 요구할 수 있지만, 일단 전체 비디오 콘텐츠가 얻어졌다면, 공격자는 어떠한 DRM 보호들도 없이 콘텐츠를 자유롭게 배포할 수 있다.
[0003] MPEG-1 또는 MPEG-2 계층 III(MP3) 또는 고급 오디오 코딩(AAC: Advanced Audio Coding) 콘텐츠에 사용될 수 있는 종래의 솔루션들은 콘텐츠 스트림들의 전체 대역폭을 제한하는 것과 콘텐츠 스트림 내에서 프레임 시작들을 검출하는 것을 포함한다. 프레임들은 최대 길이를 가지며, 프레임 헤더가 스트리밍되고 있는 콘텐츠의 타입에 대한 예상 길이 내에서 발생하지 않는다면, 데이터는 비-오디오 콘텐츠로서 플래그(flag)될 수 있다. 그러나 프레임 헤더들에 대해 모니터링할 때는 데이터 손상이 고려될 필요가 있으므로, 비-오디오 콘텐츠를 포함하는 것으로 콘텐츠 스트림을 플래그할지 여부를 결정하기 전에 다수의 프레임들 분량의 데이터가 모니터링되어야 한다. 미리 결정된 수의 프레임들이 비-오디오로서 플래그된 후, 콘텐츠의 스트리밍이 중단될 수 있다. 다른 솔루션은 비디오를 랜덤 데이터로서 모델링하는 것이다. 그러나 이러한 접근 방식은 상당히 계산 집약적이며, 제한된 처리 전력 및 제한적인 온보드 전원 공급 장치를 가질 수 있는 모바일 디바이스들에 사용하기에는 적합하지 않을 수 있다.
[0004] 그러나 앞서 논의한 기술들은 펄스 코드 변조(PCM: Pulse-Code Modulation) 오디오 포맷에 대해, 그리고 특히 오디오 콘텐츠가 선형 PCM 비압축 오디오로서 스트리밍되지만 비디오는 여전히 압축된 포맷으로 송신되는 상황들에 대해서는 작용하지 않는다. PCM 오디오 콘텐츠는 오디오 콘텐츠 스트림들을 비디오 콘텐츠 스트림들과 구별하는 데 사용될 수 있는 MP3 또는 AAC 포맷과 같은 임의의 식별 가능 헤더들을 포함하지 않는 원시 데이터이다. 콘텐츠 스트림을 분석하여 스트림의 스펙트럼을 결정하고, 스트림이 잡음에 너무 가까운 스펙트럼을 갖는다면 콘텐츠 스트림을 비-오디오 콘텐츠로 분류하기 위한 시도들이 이루어졌다. 그러나 이러한 접근 방식은 특히 처리 자원들과 전력 소모 모두가 제한될 수 있는 모바일 디바이스들에서 계산상 엄청난 비용이 든다. 이러한 접근 방식은 또한 백색 또는 핑크 잡음과 비슷한 또는 상당한 왜곡을 제시하는 부분들을 포함하는 오디오 콘텐츠의 거부를 야기할 것이다. 이러한 특성들을 갖는 오디오가 오디오 콘텐츠에서 이따금 발생하며, 이러한 콘텐츠의 재생이 비디오 콘텐츠로 잘못 마킹되어 종래 기술들을 이용하여 중단될 것이다.
[0005] 본 개시에 따라 전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법은, 콘텐츠 스트림을 수신하는 단계, 콘텐츠 스트림으로부터 샘플들을 획득하는 단계, 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하는 단계, 히스토그램을 기초로 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하는 단계, 및 비-오디오 콘텐츠를 포함하는 것으로 콘텐츠 스트림을 분류하는 것에 응답하여 콘텐츠 스트림의 부분들을 수정하는 단계를 포함한다.
[0006] 이러한 방법의 구현들은 다음 특징들 중 하나 이상을 포함할 수 있다. 콘텐츠 스트림의 부분들을 수정하는 단계는, 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 콘텐츠 스트림을 수정하는 단계를 포함한다. 콘텐츠 스트림의 부분들을 수정하는 단계는, 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 콘텐츠 스트림을 수정하는 단계를 포함한다. 콘텐츠 스트림의 부분들을 수정하는 단계는, 콘텐츠 스트림의 하나 또는 그보다 많은 최하위 비트들을 수정하는 단계를 포함한다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 단계는, 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하는 단계를 더 포함한다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 단계는, 히스토그램이 종 모양을 포함하거나 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하는 단계를 더 포함한다. 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하는 단계는, 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하는 단계를 더 포함한다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 단계는, 히스토그램이 종 모양을 포함하거나 각각의 개별 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하는 단계를 포함한다.
[0007] 본 개시에 따른 장치는, 콘텐츠 스트림을 수신하기 위한 수단, 콘텐츠 스트림으로부터 샘플들을 획득하기 위한 수단, 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하기 위한 수단, 히스토그램을 기초로 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하기 위한 수단, 및 콘텐츠 스트림을 비-오디오 콘텐츠로 분류하는 것에 응답하여 콘텐츠 스트림의 부분들을 수정하기 위한 수단을 포함한다.
[0008] 이러한 장치의 구현들은 다음 특징들 중 하나 이상을 포함할 수 있다. 콘텐츠 스트림의 부분들을 수정하기 위한 수단은, 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 콘텐츠 스트림을 수정하기 위한 수단을 포함한다. 콘텐츠 스트림의 부분들을 수정하기 위한 수단은, 콘텐츠 스트림의 하나 또는 그보다 많은 최하위 비트들을 수정하기 위한 수단을 포함한다. 콘텐츠 스트림의 부분들을 수정하기 위한 수단은, 콘텐츠 스트림에 포함된 오디오 콘텐츠가 최소한으로 청취 가능한 오디오 아티팩트들과 함께 재생 가능하게 유지되도록 콘텐츠 스트림을 수정하기 위한 수단을 포함한다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 수단은, 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하기 위한 수단을 더 포함한다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 수단은, 히스토그램이 종 모양을 포함하거나 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하기 위한 수단을 더 포함한다. 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하기 위한 수단은, 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하기 위한 수단을 더 포함한다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 수단은, 히스토그램이 종 모양을 포함하거나 개별 히스토그램들 중 각각의 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하기 위한 수단을 포함한다.
[0009] 본 개시에 따른 컴퓨팅 디바이스는, 콘텐츠 스트림을 수신하고, 콘텐츠 스트림으로부터 샘플들을 획득하고, 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하고, 히스토그램을 기초로 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하고, 그리고 콘텐츠 스트림을 비-오디오 콘텐츠로 분류하는 것에 응답하여 콘텐츠 스트림의 부분들을 수정하도록 구성된 프로세서를 포함한다.
[0010] 이러한 컴퓨팅 디바이스의 구현들은 다음 특징들 중 하나 이상을 포함할 수 있다. 콘텐츠 스트림의 부분들을 수정하도록 구성되는 프로세서는, 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 콘텐츠 스트림을 수정하도록 추가로 구성된다. 콘텐츠 스트림의 부분들을 수정하도록 구성되는 프로세서는, 콘텐츠 스트림의 하나 또는 그보다 많은 최하위 비트들을 수정하도록 추가로 구성된다. 콘텐츠 스트림의 부분들을 수정하도록 구성되는 프로세서는, 콘텐츠 스트림에 포함된 오디오 콘텐츠가 최소한으로 청취 가능한 오디오 아티팩트들과 함께 재생 가능하게 유지되게 콘텐츠 스트림을 수정하도록 추가로 구성된다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하도록 구성되는 프로세서는, 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하도록 추가로 구성된다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하도록 구성되는 프로세서는, 히스토그램이 종 모양을 포함하거나 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하도록 추가로 구성된다. 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하도록 구성되는 프로세서는, 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하도록 추가로 구성된다. 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하도록 구성되는 프로세서는, 히스토그램이 종 모양을 포함하거나 개별 히스토그램들 중 각각의 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하도록 추가로 구성된다.
[0011] 본 개시에 따라 전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 컴퓨터 판독 가능 명령들이 저장된 비-일시적 컴퓨터 판독 가능 매체는 컴퓨터로 하여금, 콘텐츠 스트림을 수신하게 하고, 콘텐츠 스트림으로부터 샘플들을 획득하게 하고, 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하게 하고, 히스토그램을 기초로 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하게 하고, 그리고 콘텐츠 스트림을 비-오디오 콘텐츠로 분류하는 것에 응답하여 콘텐츠 스트림의 부분들을 수정하게 하도록 구성된 명령들을 포함한다.
[0012] 이러한 비-일시적 컴퓨터 판독 가능 매체의 구현들은 다음 특징들 중 하나 이상을 포함할 수 있다. 컴퓨터로 하여금 콘텐츠 스트림의 부분들을 수정하게 하도록 구성된 명령들은 컴퓨터로 하여금, 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 콘텐츠 스트림을 수정하게 하도록 구성된 명령들을 포함한다. 컴퓨터로 하여금 콘텐츠 스트림의 부분들을 수정하게 하도록 구성된 명령들은 컴퓨터로 하여금, 콘텐츠 스트림의 하나 또는 그보다 많은 최하위 비트들을 수정하게 하도록 구성된 명령들을 포함한다. 컴퓨터로 하여금 콘텐츠 스트림의 부분들을 수정하게 하도록 구성된 명령들은 컴퓨터로 하여금, 콘텐츠 스트림에 포함된 오디오 콘텐츠가 최소한으로 청취 가능한 오디오 아티팩트들과 함께 재생 가능하게 유지되게 콘텐츠 스트림을 수정하게 하도록 구성된 명령들을 포함한다. 컴퓨터로 하여금 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하게 하도록 구성된 명령들은 컴퓨터로 하여금, 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하게 하도록 구성된 명령들을 포함한다. 컴퓨터로 하여금 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하게 하도록 구성된 명령들은 컴퓨터로 하여금, 히스토그램이 종 모양을 포함하거나 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하게 하도록 구성된 명령들을 포함한다. 컴퓨터로 하여금 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하게 하도록 구성된 명령들은 컴퓨터로 하여금, 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하게 하도록 구성된 명령들을 포함한다. 컴퓨터로 하여금 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하게 하도록 구성된 명령들은 컴퓨터로 하여금, 히스토그램이 종 모양을 포함하거나 각각의 개별 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 콘텐츠 스트림을 오디오 콘텐츠로 분류하게 하도록 구성된 명령들을 포함한다.
[0013] 도 1은 본 명세서에서 논의되는 기술들을 구현하기에 적합할 수 있는 예시적인 네트워크 아키텍처의 블록도이다.
[0014] 도 2는 도 1에 예시된 컴퓨팅 디바이스를 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 블록도이다.
[0015] 도 3은 컴퓨팅 디바이스의 기능 모듈들을 예시하는, 도 2에 예시된 컴퓨팅 디바이스의 기능 블록도이다.
[0016] 도 4는 본 명세서에서 논의되는 기술들에 따라, 알려진(purported) 오디오 콘텐츠의 디지털 저작권 보호의 우회를 방지하도록, 알려진 오디오 콘텐츠를 분류하는 예시적인 프로세스의 흐름도이다.
[0017] 도 5는 본 명세서에서 논의되는 기술들에 따라 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 예시적인 프로세스의 흐름도이다.
[0018] 도 6은 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 예시적인 프로세스의 흐름도이다.
[0019] 도 7은 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다.
[0020] 도 8은 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다.
[0021] 도 9는 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다.
[0022] 도 10은 본 명세서에서 논의되는 기술들에 따라 히스토그램들을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다.
[0023] 도 11은 본 명세서에서 논의되는 기술들에 따라, 다수의 채널들을 갖는 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로서 분류하기 위한 예시적인 프로세스의 흐름도이다.
[0024] 도 12는 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다.
[0025] 보호 전자 콘텐츠에서 오디오 및 비디오 보안 도메인들의 교차를 방지하기 위한 대책들을 제공하기 위한 기술들이 개시된다. 본 명세서에서 개시되는 기술들은 공격자가 보호 방식을 회피하기 위해 디지털 저작권 보호 비디오 콘텐츠를 오디오 콘텐츠인척 하게 하는 것을 방지한다. 본 명세서에서 개시되는 기술들은 비디오 콘텐츠가 오디오 콘텐츠인척 하게 되고 있을 수 있는 경우들을 식별하도록 콘텐츠 스트림의 하나 또는 그보다 많은 채널들로부터의 오디오 콘텐츠를 샘플링하고 모델링하는 데 사용될 수 있다. 비-오디오 콘텐츠가 콘텐츠 스트림의 하나 또는 그보다 많은 채널들에 포함되는 것으로 의심된다면, 콘텐츠 스트림에 포함된 어떠한 비디오 콘텐츠도 재생 불가능하게 렌더링되도록 콘텐츠 스트림의 부분들이 변경될 수 있다. 콘텐츠 스트림의 부분들에 대해 이루어지는 변경들은, 오디오 콘텐츠가 비디오 콘텐츠로 잘못 플래그된다면, 콘텐츠 스트림의 부분들에 대해 이루어지는 변경들이 오디오 품질에 약간 영향을 줄 수 있지만 오디오 콘텐츠를 재생 불가능하게 렌더링하지는 않을 수 있게 한다. 콘텐츠 스트림에 포함된 오디오 콘텐츠는 최소한으로 청취 가능한 오디오 아티팩트들과 함께 재생 가능하게 유지된다. 본 명세서에서 개시되는 기술들은 PCM 오디오 콘텐츠 및/또는 다른 오디오 타입들의 콘텐츠 스트림들에 사용될 수 있는데, 이는 이 기술들이 오디오 콘텐츠를 식별하는 데 프레임 헤더들에 의존하지 않기 때문이다. 게다가, 본 명세서에서 개시되는 기술들은 계산상 엄청난 비용이 소요되는 것은 아니고, 제한된 처리 전력 및/또는 전력 제약들을 가질 수 있는 모바일 디바이스들 상에서 구현될 수 있다.
예시적인 네트워크 환경
[0026] 도 1은 본 명세서에서 논의되는 기술들을 구현하기에 적합할 수 있는 예시적인 네트워크 아키텍처의 블록도이다. 본 명세서에서 예시되는 특정 구성은 본 명세서에서 개시되는 기술들이 사용될 수 있는 하나의 네트워크 구성의 일례일 뿐이다. 게다가, 이러한 네트워크 아키텍처의 구현은, 본 명세서에 예시되지 않으며 명확하게 하기 위해 생략된 추가 엘리먼트들을 포함할 수 있다. 예시적인 네트워크 아키텍처는 본 명세서에서 개시되는 기술들이 구현될 수 있는 컴퓨팅 디바이스가 작동할 수 있는 네트워크 환경의 일례를 제공하지만, 컴퓨팅 디바이스는 다른 디바이스들과 네트워킹될 수 있는 또는 네트워킹되지 않을 수 있는 독립형 디바이스로서 작동하도록 또한 구성될 수 있다. 게다가, 컴퓨팅 디바이스는 휴대용일 수 있고 또는 옮겨질 수 있지만 일반적으로는 자주 옮겨지지 않는 셋톱 박스 또는 데스크톱 컴퓨팅 시스템과 같은 반고정 위치에 설치될 수 있다.
[0027] 컴퓨팅 디바이스(120)는 또한 사용자 장비(UE: User Equipment), 이동국, 단말, 액세스 단말, 가입자 유닛, 스테이션 등으로 지칭되는 모바일 통신 디바이스일 수 있다. 컴퓨팅 디바이스(120)는 롱 텀 에볼루션(LTE: Long Term Evolution), WiFi 및 WiMAX 무선 통신 프로토콜들을 비롯한, 그러나 이에 한정되는 것은 아닌 하나 또는 그보다 많은 무선 통신 프로토콜들을 사용하여 통신하도록 구성된 무선 송신기를 포함하는 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 게임 콘솔, (스마트 워치와 같은) 웨어러블 디바이스 또는 다른 디바이스일 수 있다. 컴퓨팅 디바이스(120)는 또한 다른 타입들의 무선 통신 프로토콜들을 지원하도록 구성될 수 있고, 다수의 서로 다른 무선 통신 프로토콜들을 지원하도록 구성될 수 있다. 컴퓨팅 디바이스(120)의 무선 송신기는 다른 컴퓨팅 디바이스들(120), 무선 송신기들(115) 및/또는 하나 또는 그보다 많은 무선 기지국들(140)에 데이터를 전송하도록 그리고/또는 이들로부터 데이터를 수신하도록 구성될 수 있다.
[0028] 컴퓨팅 디바이스(120)는 또한 무선 송신기들(115) 및 무선 기지국(140)와 같은 하나 또는 그보다 많은 무선 기지국들 또는 무선 액세스 포인트들로부터 신호들을 측정하고, 무선 기지국들에 대한 (예컨대, 도래 시간(TOA: time of arrival) 또는 관측 도래 시간 차(OTDOA: observed time difference of arrival)에 대한) 타이밍 측정들, 신호 세기 측정들(예컨대, 수신 신호 세기 표시(RSSI: Receive Signal Strength Indication)), 왕복 시간(RTT: round-trip time) 및/또는 신호 품질 측정들을 획득하도록 구성될 수 있다. 의사 거리 측정들, 타이밍 측정들, 신호 세기 측정들 및/또는 신호 품질 측정들이 컴퓨팅 디바이스(120)에 대한 위치 추정치를 도출하는 데 사용될 수 있다. 위치 추정치는 위치 추정치, 위치 고정 등으로 또한 지칭될 수 있다. 이 예에서는 2개의 지상 무선 송신기들: 115a 및 115b가 예시된다. 그러나 다른 구현들에서는, 더 많은 또는 더 적은 무선 송신기들(115)이 포함될 수 있다. 컴퓨팅 디바이스(120)는 또한 위성들(170), 무선 기지국(140) 및/또는 무선 송신기들(115) 중 하나 이상으로부터의 신호들의 결합을 사용하여 컴퓨팅 디바이스(120)의 위치를 결정하도록 구성될 수 있다.
[0029] 무선 송신기들(115) 각각은 IEEE 802.11 무선 통신 표준들을 사용하여 동작하도록 구성된 WLAN 무선 액세스 포인트를 포함할 수 있다. 그러나 일부 구현들에서, 무선 송신기들(115) 중 일부 또는 전부는 다른 무선 통신 프로토콜들을 이용하도록 구성될 수 있고, 일부 네트워크 환경들은 하나보다 많은 타입의 무선 송신기(115)를 포함할 수 있다. 게다가, 무선 송신기들(115)은 송신기들로서 식별되는 한편, 무선 송신기들(115)은 무선으로 데이터를 전송 및/또는 수신하도록 구성된 트랜시버들일 수 있다. 무선 송신기들(115)은 네트워크(110)에 대한 광대역 접속을 제공하는 백홀 접속을 통해 네트워크(110)에 접속될 수 있다. 네트워크(110)는 인터넷 그리고/또는 하나 또는 그보다 많은 네트워크들의 결합일 수 있다. 예를 들어, 무선 송신기(115)는 그 특정 구현에 사용되고 있는 광대역 서비스의 타입에 따라 DSL 모뎀 또는 케이블 모뎀에 접속될 수 있다. 무선 송신기(115)는 모바일 통신 네트워크 제공자와 연관될 수 있고, 네트워크(110)를 통해 (도시되지 않은) 모바일 통신 네트워크 제공자의 네트워크와 통신하도록 구성될 수 있다. 무선 송신기(115)의 커버리지 영역은 무선 기지국(140)과 같은 하나 또는 그보다 많은 매크로 셀 기지국들의 커버리지 영역, 또는 하나 또는 그보다 많은 다른 지상 트랜시버들의 커버리지 영역과 중첩할 수 있다.
[0030] 무선 기지국(140)는 복수의 컴퓨팅 디바이스들(120)에 대한 무선 네트워크 접속을 제공하도록 구성될 수 있다. 무선 기지국(140)은 매크로 셀 기지국 또는 다른 타입의 기지국을 포함할 수 있다. 무선 기지국(140)은 무선 송신기(115)보다 훨씬 더 큰 커버리지 영역을 가질 수 있고, 또는 무선 송신기들(115)에 의해 제공된 커버리지 영역보다 더 작은 크기인 또는 비슷한 크기인 커버리지 영역을 제공하는 지상 트랜시버일 수 있다. 무선 기지국(140)은 하나 또는 그보다 많은 무선 통신 프로토콜들을 사용하여 통신하도록 구성될 수 있다. 도 1에 예시된 예는 단일 무선 기지국(140)을 포함하지만, 다른 구현들에서 네트워크 환경은 적어도 부분적으로 중첩할 수 있는 커버리지 영역들을 갖는 하나보다 많은 무선 기지국(140)을 포함할 가능성이 있다.
[0031] 컴퓨팅 디바이스(120)는 위성들(170a, 170b)과 같은 하나 또는 그보다 많은 위성들(170)로부터 신호들을 수신하여 측정하고, 위성들(170)에 대한 의사 거리 측정들을 획득하도록 구성된 글로벌 항법 위성 시스템(GNSS: Global Navigation Satellite System) 수신기를 포함하도록 구성될 수 있다. 위성들(170)은 미국의 글로벌 포지셔닝 시스템(GPS: Global Positioning System), 유럽의 갈릴레오(Galileo) 시스템, 러시아의 GLONASS 시스템, 또는 다른 어떤 GNSS일 수 있는 글로벌 항법 위성 시스템(GNSS)의 일부일 수 있다. GNSS 수신기는 또한 하나보다 많은 GNSS 시스템에 속하는 위성들(170)로부터의 신호들을 검출하고 수신하도록 구성될 수 있다. 예를 들어, 위성(170a)은 GPS 시스템에 속할 수 있는 한편, 위성(170b)은 갈릴레오 시스템에 속할 수 있다. 본 명세서에서 예시되는 예시적인 네트워크 아키텍처는 단지 2개의 위성들(170)만을 예시하지만, 다른 구현들은 이용 가능한 더 많은 또는 더 적은 위성들을 가질 수 있고, 하나 또는 그보다 많은 GNSS 시스템과 연관된 위성들을 가질 수 있으며, 컴퓨팅 디바이스(120)에서 볼 수 있는 위성들의 수는 컴퓨팅 디바이스(120)의 현재 지리적 위치 및 위성들(170)의 궤도들에 좌우될 수 있다.
[0032] 위치 서버(160)는 컴퓨팅 디바이스(120)에 위치 서비스들을 제공하도록 구성될 수 있다. 예를 들어, 위치 서버(160)는 알마낙(almanac) 정보 및/또는 컴퓨팅 디바이스(120)가 컴퓨팅 디바이스(120)의 위치를 결정하는 데 사용할 수 있는 다른 정보를 제공하도록 구성될 수 있다. 위치 서버(160)는 또한 컴퓨팅 디바이스(120)의 위치 결정시 컴퓨팅 디바이스(120)를 보조하도록 구성될 수 있다. 예를 들어, 위치 서버(160)는 무선 송신기들(115) 및/또는 무선 기지국들(140)로부터 컴퓨팅 디바이스(120)에 수신된 신호들의 신호 측정들을 수신하고 그러한 신호들을 기초로 컴퓨팅 디바이스(120)의 위치를 결정하도록 구성될 수 있다. 위치 서버(160)는 도 1에 예시된 예시적인 구현에서는 단일 엔티티로서 표현되지만, 본 명세서에서 논의되는 위치 서버(160)에 의해 수행되는 논리적 기능들은 하나보다 많은 네트워크 엔티티에 의해 구현될 수 있다.
[0033] 콘텐츠 서버(180)는 하나 또는 그보다 많은 중재 네트워크 접속들을 통해 컴퓨팅 디바이스(120)와 통신하도록 구성될 수 있다. 콘텐츠 서버(180)는 컴퓨팅 디바이스(120)에 오디오 및/또는 비디오 콘텐츠와 같은 전자 콘텐츠를 제공하도록 구성될 수 있다. 콘텐츠 서버(180)는 컴퓨팅 디바이스(120)에 콘텐츠를 푸시하도록 그리고/또는 콘텐츠에 대한 컴퓨팅 디바이스(120)로부터의 요청들을 수신하도록 구성될 수 있다. 콘텐츠에 대한 액세스는 하나 또는 그보다 많은 디지털 저작권 관리 방식들을 사용하여 보호될 수 있고, 컴퓨팅 디바이스(120)는 컴퓨팅 디바이스(120) 상에서 또는 일부 경우들에는 컴퓨팅 디바이스(120)와 연관된 디바이스, 이를테면 외부 디스플레이 디바이스 및/또는 오디오 재생 디바이스 상에서 콘텐츠가 청취 또는 시청될 수 있게 보호 콘텐츠를 복호화하도록 구성될 수 있다.
[0034] 도 1에 예시된 예시적인 네트워크 구성은 본 명세서에서 개시되는 기술들이 구현될 수 있는 네트워크의 하나의 가능한 구성의 일례일 뿐이다. 다른 네트워크 구성들은 도 1에 예시되지 않은 추가 엘리먼트들을 포함할 수 있고, 다양한 컴포넌트들이 도 1에 도시된 것과는 다른 구성으로 상호 접속될 수 있다. 게다가, 앞서 논의한 바와 같이, 컴퓨팅 디바이스(120)는, 컴퓨팅 디바이스(120)가 도 1에 예시된 무선 접속들 대신 또는 이에 추가하여 네트워크(110)에 대한 유선 접속을 포함하도록 구현될 수 있다. 게다가, 컴퓨팅 디바이스(120)는 도 1에 예시된 것과 같은 모바일 디바이스로서의 컴퓨팅 디바이스(120)의 구현과는 달리, 상대적으로 고정된 위치, 이를테면 옮겨질 수 있지만 일반적으로는 동일한 위치에 유지되는 셋톱 박스, 서버 컴퓨터 시스템 또는 데스크톱 컴퓨터 시스템에 유지되도록 구성될 수 있다.
예시적인 하드웨어
[0035] 도 2는 도 1에 예시된 컴퓨팅 디바이스(120)를 구현하는 데 사용될 수 있는 컴퓨팅 디바이스의 블록도이다. 컴퓨팅 디바이스(120)는 도 4 - 도 12에 예시된 프로세스들을 적어도 부분적으로 구현하는 데 사용될 수 있다. 컴퓨팅 디바이스(120)는 랩톱 또는 다른 개인용 컴퓨터 시스템들, 태블릿 컴퓨터들, 휴대 전화들, 스마트폰들, 게임 콘솔들, 웨어러블 디바이스들(예컨대, 스마트 워치, 헤드 장착형 디바이스 등)을 포함하는, 그러나 이에 한정된 것은 아닌 다양한 타입들의 컴퓨팅 디바이스들, 및/또는 디지털 저작권 관리 보호 콘텐츠에 액세스하여 디바이스의 사용자가 이러한 콘텐츠를 소비할 수 있게 하도록 구성될 수 있는 다른 타입들의 컴퓨팅 디바이스들일 수 있다. 컴퓨팅 디바이스(120)는 셋톱 박스, 데스크톱 컴퓨터 시스템, 컴퓨터 서버, 또는 일반적으로 고정되거나 반고정된 위치에 유지되지만 필요하다면 옮겨질 수 있는 다른 타입의 컴퓨팅 디바이스를 포함할 수 있다.
[0036] 콘텐츠는 오디오 또는 비디오 컴포넌트들, 또는 이들의 결합을 포함할 수 있는데, 컴퓨팅 디바이스(120)는 디바이스의 사용자가 콘텐츠에 액세스하고 이를 컴퓨팅 디바이스(120)의 사용자에게 출력될 수 있는 오디오 및/또는 비디오 콘텐츠 스트림들에 렌더링하도록 승인되었는지 여부를 결정하도록 구성될 수 있다. 콘텐츠는 암호화될 수 있고, 컴퓨팅 디바이스(120)는 콘텐츠를 복호화하고 그리고/또는 콘텐츠에 대한 다른 동작들을 수행하여, 디스플레이, 스피커, 헤드폰 출력, 또는 이들의 결합과 같은 컴퓨팅 디바이스(120)의 다양한 입력/출력 컴포넌트들 및/또는 외부 디바이스에 스트리밍될 수 있는 형태로 콘텐츠를 변환하도록 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(120)는 콘텐츠를 복호화하고 유선 또는 무선 접속을 통해 콘텐츠를 다른 디바이스에 제공하도록 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(120)는 복호화된 콘텐츠를 외부 디스플레이 디바이스 및/또는 오디오 재생 디바이스에 제공하도록 구성될 수 있다. 컴퓨팅 디바이스(120)는 컴퓨팅 디바이스(120)의 HLOS에 콘텐츠가 배포되기 전에 콘텐츠에 대해 도 4 - 도 12에 예시된 다양한 프로세스들을 수행하도록 구성될 수 있다.
[0037] 컴퓨팅 디바이스(120)는 버스(201)에 의해 서로 접속된 범용 프로세서(210), 무선 인터페이스(225), GNSS 인터페이스(265) 및 비-일시적 메모리(260)를 포함하는 컴퓨터 시스템을 포함한다. 컴퓨팅 디바이스(120)의 다른 구현들은 도 2의 예시적인 구현에 예시되지 않은 추가 엘리먼트들을 포함할 수 있고 그리고/또는 도 2에 예시된 예시적인 실시예에 예시된 엘리먼트들 전부를 포함하지는 않을 수 있다. 컴퓨팅 디바이스(120)의 일부 구현들은 GNSS 인터페이스(265) 및/또는 무선 인터페이스(225)를 포함하지 않을 수 있다. 컴퓨팅 디바이스(120)는 무선 인터페이스(225) 대신 또는 이에 추가하여 유선 네트워크 인터페이스를 포함할 수 있다. 컴퓨팅 디바이스(120)는 셋톱 박스, 데스크톱 컴퓨팅 디바이스, 또는 옮겨질 수 있지만 일반적으로는 휴대 전화, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 모바일 디바이스로 지칭될 수 있는 다른 그러한 디바이스처럼 휴대용으로 의도되는 것은 아닐 수 있는 다른 디바이스로서 구현될 수 있다.
[0038] 무선 인터페이스(225)는 컴퓨팅 디바이스(120)가 WWAN, WLAN, 및/또는 다른 무선 통신 프로토콜들을 사용하여 데이터를 전송 및/또는 수신할 수 있게 하는 무선 수신기, 송신기, 트랜시버 및/또는 다른 엘리먼트들을 포함할 수 있다. 무선 인터페이스(225)는 다수의 무선 통신 표준들을 사용하여 무선 신호들을 송신 및 수신할 수 있는 하나 또는 그보다 많은 다중 모드 모뎀들을 포함할 수 있다. 무선 인터페이스(225)는 무선 송신기들(115), 무선 기지국(140), 및/또는 무선 통신 프로토콜들을 사용하여 통신하도록 구성된 다른 무선 디바이스들로/로부터 통신들을 전송 및 수신하기 위한 안테나(234)에 라인(232)에 의해 접속된다. 도 2에 예시된 컴퓨팅 디바이스(120)는 단일 무선 인터페이스(225) 및 단일 안테나(234)를 포함하지만, 컴퓨팅 디바이스(120)의 다른 구현들은 다수의 무선 인터페이스들(225) 및/또는 다수의 안테나들(234)을 포함할 수 있다.
[0039] I/O 인터페이스(270)는 컴퓨팅 디바이스(120)에 대한 데이터 입력들 및/또는 출력들을 제공할 수 있는 하나 또는 그보다 많은 포트들 및/또는 다른 인터페이스들을 제공할 수 있다. 예를 들어, I/O 인터페이스(270)는 범용 직렬 버스(USB: Universal Serial Bus) 포트 및/또는 외부 디바이스들을 컴퓨팅 디바이스(120)에 접속하는 데 사용될 수 있는 다른 타입의 포트와 같은 하나 또는 그보다 많은 포트들을 포함할 수 있다. I/O 인터페이스(270)는 또한 버튼들, 스위치들, 키패드, 터치스크린 및/또는 사용자로부터의 입력을 수신하기 위한 다른 수단과 같은 하나 또는 그보다 많은 입력 디바이스들을 포함할 수 있다. I/O 인터페이스(270)는 또한 오디오 및/또는 시각 콘텐츠를 출력하기 위한 하나 또는 그보다 많은 수단, 이를테면 스크린, 스피커, 헤드폰 포트 및/또는 이러한 콘텐츠를 출력하기 위한 다른 수단을 포함할 수 있다.
[0040] GNSS 인터페이스(265)는 컴퓨팅 디바이스(120)가 하나 또는 그보다 많은 GNSS 시스템들과 연관된 송신기들로부터 신호들을 수신할 수 있게 하는 무선 수신기 및/또는 다른 엘리먼트들을 포함할 수 있다. GNSS 인터페이스(265)는 도 1에 예시된 위성들(170)과 같은 GNSS 송신기들로부터 신호들을 수신하기 위한 안테나(274)에 라인(272)에 의해 접속된다. 컴퓨팅 디바이스(120)는 GNSS 시스템들과 연관된 위성들 및 다른 송신기들과 연관된 위성들로부터 수신된 신호들을 사용하여 컴퓨팅 디바이스(120)의 위치를 결정하도록 구성될 수 있다. 컴퓨팅 디바이스(120)는 또한 무선 송신기들(115) 및/또는 무선 기지국들(140)로부터 수신된 신호들과 함께 GNSS 시스템들과 연관된 위성들 및 다른 송신기들로부터 수신된 신호들을 사용하여 컴퓨팅 디바이스(120)의 위치를 결정하도록 구성될 수 있다.
[0041] 프로세서(210)는 지능형 디바이스, 예컨대 Intel® Corporation 또는 AMD®에 의해 제조된 것들과 같은 개인용 컴퓨터 중앙 처리 유닛(CPU: central processing unit), 마이크로컨트롤러, 주문형 집적 회로(ASIC: application specific integrated circuit) 등일 수 있다. 메모리(260)는 랜덤 액세스 메모리(RAM: random access memory), 판독 전용 메모리(ROM: read-only memory), 또는 이들의 결합을 포함할 수 있는 비-일시적 저장 디바이스이다. 메모리(260)는 (설명은 소프트웨어가 기능(들)을 수행한다고 쓰여 있을 수 있지만) 본 명세서에서 설명되는 기능들을 수행하도록 프로세서(210)를 제어하기 위한 명령들을 포함하는 프로세서 판독 가능, 프로세서 실행 가능 소프트웨어 코드를 저장할 수 있다. 소프트웨어는 네트워크 접속을 통해 다운로드되거나, 디스크로부터 업로드되는 등에 의해 메모리(260)에 로딩될 수 있다. 또한, 소프트웨어는 직접 실행 가능하지 않을 수 있어, 예컨대 실행 전에 컴파일링을 필요로 할 수 있다.
[0042] 메모리(260) 내의 소프트웨어는 프로세서(210)가 무선 송신기들(115), 무선 기지국(140), 다른 컴퓨팅 디바이스들(120), 및/또는 무선 통신을 위해 구성된 다른 디바이스들로부터의 데이터 전송 및/또는 수신을 구현하는 것을 비롯해 다양한 동작들을 수행할 수 있게 하도록 구성된다. 메모리(260) 내의 소프트웨어는 또한 프로세서(210)가 도 4 - 도 12에 예시된 프로세스들 중 하나 또는 그보다 많은 프로세스의 전부 또는 일부를 수행할 수 있게 하도록 구성된다. 본 명세서에서 개시되는 예들에서 소프트웨어로 구현되는 기능 모듈들은 대안으로, 하드웨어로 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
[0043] 도 3은 도 2에 도시된 메모리(260)의 기능 모듈들을 예시하는, 도 2에 예시된 컴퓨팅 디바이스(120)의 기능 블록도이다. 예를 들어, 컴퓨팅 디바이스(120)는 콘텐츠 보호 모듈(362) 및 데이터 액세스 모듈(366)을 포함할 수 있다. 컴퓨팅 디바이스(120)는 컴퓨팅 디바이스(120)에 다른 기능을 제공하는 하나 또는 그보다 많은 추가 기능 모듈들을 또한 포함할 수 있다. 도 3에 예시된 기능 모듈들은 도 3에 예시된 바와 같이 프로세서(210)에 의해 실행되는 소프트웨어로서 구현될 수 있거나 하드웨어 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 도 2 및 도 3에 예시된 컴퓨팅 디바이스(120)는 도 4 - 도 12에 예시된 프로세스들과 연관된 컴퓨팅 디바이스(120)를 구현하는 데 사용될 수 있다. 프로세서(210)는 또한 본 명세서에서 논의되는 컴퓨팅 디바이스(120)의 다양한 모듈들을 구현하기 위한 수단을 제공할 수 있고, 펌웨어로 구현된 하나 또는 그보다 많은 모듈들과 함께 동작할 수 있다.
[0044] 콘텐츠 보호 모듈(362)은 도 4 - 도 12에 예시된 프로세스들을 구현하기 위한 수단을 제공할 수 있다. 콘텐츠 보호 모듈(362)은 디지털 저작권 관리 보호 콘텐츠를 처리하도록 구성된, 컴퓨팅 디바이스(120) 상의 보안 처리 환경의 일부로서 구현될 수 있다. 콘텐츠 보호 모듈(362)은 또한 컴퓨팅 디바이스(120)의 보안 처리 환경 외부에 구현될 수 있고, 콘텐츠 보호 모듈(362)은 보안 처리 환경이 컴퓨팅 디바이스(120)의 고레벨 운영 체제(HLOS) 또는 보안 처리 환경 밖에서 동작하는 애플리케이션에 배포하는 콘텐츠 스트림들을 분석하도록 구성될 수 있다. 본 명세서에서 개시되는 기술들은, 오디오 콘텐츠가 컴퓨팅 디바이스(120) 상의 애플리케이션에 의해 이용될 수 있도록, 그 콘텐츠가 디지털 저작권 관리 보호 콘텐츠 상에 배치된 디지털 저작권 관리 보호들로부터 배포될 때 압축되지 않은 포맷으로 출력되는 임의의 타입의 콘텐츠 스트림에 사용될 수 있다.
[0045] 콘텐츠 보호 모듈(362)은 오디오 콘텐츠를 포함하는 것으로 알려진 콘텐츠 스트림들을 분석하여 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 오디오 스트림을 분류하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림으로부터의 샘플들을 획득하고 콘텐츠 스트림의 하나 또는 그보다 많은 히스토그램들을 형성하여 콘텐츠 스트림을 오디오 콘텐츠 스트림 또는 비-오디오 콘텐츠 스트림으로 분류할 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림이 비-오디오 콘텐츠를 포함하는 것으로 플래그되는 것에 응답하여 콘텐츠 스트림의 부분들을 수정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은, 콘텐츠 스트림이 실제로 오디오 콘텐츠를 포함한다면, 오디오 콘텐츠의 품질이 너무 저하되지 않으면서, 콘텐츠 스트림에 포함된 임의의 비디오 콘텐츠는 재생 불가능하게 렌더링되게 콘텐츠 스트림의 부분들을 수정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)에 의해 수정된 콘텐츠 스트림의 부분들은 샘플들이 얻어진 콘텐츠 스트림 부분들에 해당할 수 있고 또는 얻어진 샘플들에 해당하는 콘텐츠 스트림 부분들에 추가하여 또는 그 대신에 부분들을 포함할 수 있다. 콘텐츠 보호 모듈(362)은 단일 채널 콘텐츠 스트림들뿐만 아니라 다채널 콘텐츠 스트림들에 대해서도 본 명세서에 개시된 기술들을 수행하여, 공격자가 비디오 콘텐츠에 대한 DRM 보호들을 우회하기 위한 시도에서 하나 또는 그보다 많은 채널들 상의 비디오 콘텐츠와 하나 또는 그보다 많은 채널들 상의 오디오 콘텐츠를 인터리빙하는 것을 막도록 구성될 수 있다.
[0046] 데이터 액세스 모듈(366)은 메모리(260) 및/또는 컴퓨팅 디바이스(120)와 연관된 다른 데이터 저장 디바이스들에 데이터를 저장하도록 구성될 수 있다. 데이터 액세스 모듈(366)은 또한 메모리(260) 및/또는 컴퓨팅 디바이스(120)와 연관된 다른 데이터 저장 디바이스들 내의 데이터에 액세스하도록 구성될 수 있다. 데이터 액세스 모듈(366)은 컴퓨팅 디바이스(120)의 다른 모듈들 및/또는 컴포넌트들로부터의 요청들을 수신하여 메모리(260) 및/또는 컴퓨팅 디바이스(120)와 연관된 다른 데이터 저장 디바이스들에 데이터를 저장하고 그리고/또는 이에 저장된 데이터에 액세스하도록 구성될 수 있다.
예시적인 구현들
[0047] 도 4는 본 명세서에서 논의되는 기술들에 따라, 알려진 오디오 콘텐츠의 디지털 저작권 보호의 우회를 방지하도록, 알려진 오디오 콘텐츠를 분류하는 예시적인 프로세스의 흐름도이다. 도 4에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 4에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다.
[0048] 컴퓨팅 디바이스(120)는 디지털 저작권 관리 방식에 의해 보호되는 콘텐츠에 대한 액세스를 제공할 수 있는데, 이는 프리미엄 콘텐츠 스트림의 오디오 및 비디오 서브스트림들 모두에 대해 동일한 키와 논스 모두를 사용할 수 있다. 많은 디바이스들은 디지털 콘텐츠를 보호하는 데 사용되는 DRM 방식의 요건들을 따르기 위해 보호 비디오 처리 경로를 포함할 수 있지만, 많은 그러한 방식들은 보호 오디오 처리 경로에 대해 비슷한 요건을 갖지 않는다. 공격자가 비디오 콘텐츠를 포함하는 서브스트림을 오디오 콘텐츠를 포함하는 서브스트림인척 하게 하여 디바이스를 속여 콘텐츠 스트림을 복호화하고 컴퓨팅 디바이스(120)의 고레벨 운영 체제(HLOS)에 콘텐츠를 배포하게 함으로써 DRM 방식을 우회하려고 시도할 수 있다.
[0049] 콘텐츠 스트림이 수신될 수 있다(스테이지(405)). 콘텐츠 스트림은 오디오 콘텐츠를 포함하는 것으로 알려진 프리미엄 콘텐츠 스트림의 서브스트림일 수 있다. 콘텐츠 보호 모듈(362)은 오디오 콘텐츠라고 알려진 보호 콘텐츠의 서브스트림을 수신하도록 구성될 수 있다. 콘텐츠 스트림은 태그되거나 아니면 다른 식으로 마킹되어, 콘텐츠 스트림이 오디오 콘텐츠임을 나타낼 수 있다. 그러나 보호 콘텐츠의 서브스트림은 공격자가 콘텐츠 서브스트림을 오디오 콘텐츠로서 마킹함으로써 컴퓨팅 디바이스(120)를 속여 복호화하게 한 비디오 콘텐츠를 포함할 수 있다. 그러나 콘텐츠의 암호화되지 않은 서브스트림은 디바이스의 HLOS에 콘텐츠를 배포하기 전에 콘텐츠 보호 모듈(362)에 의해 검사될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림 내의 콘텐츠를 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하도록 구성될 수 있고, 콘텐츠 보호 모듈(362)은 콘텐츠 스트림이 비-오디오 콘텐츠를 포함한다는 결정에 응답하여 콘텐츠 스트림을 되돌릴 수 없는 방식으로 변경하도록 구성될 수 있다.
[0050] 콘텐츠 스트림으로부터 샘플들이 획득될 수 있다(스테이지(410)). 콘텐츠 스트림은 펄스 코드 변조(PCM) 포맷 또는 오디오 콘텐츠의 아날로그 파형들에 가까울 수 있는 디지털 샘플들을 포함하는 다른 디지털 포맷의 오디오 콘텐츠를 포함할 수 있다. 콘텐츠 스트림은 샘플로 표현된 오디오 콘텐츠의 각각의 부분에서 오디오 파형의 진폭 값을 포함하는 아날로그 파형의 일련의 샘플들을 포함할 수 있다. 샘플들은 또한 오디오 스트림의 콘텐츠의 스펙트럼 분석으로부터 얻어질 수 있다. 다양한 타입들의 스펙트럼 분석 기술들이 당해 기술분야에 공지되어 있으며 콘텐츠 스트림에 적용될 수 있다. 스펙트럼 분석으로부터 얻어진 샘플들은 진폭, 크기, 위상 값, 또는 오디오 스트림의 스펙트럼 분석에 의해 생성된 다른 값을 나타낼 수 있다. 서로 다른 콘텐츠 스트림들로부터의 샘플들은 서로 다른 비트 깊이들을 가질 수 있다. 비트 깊이는 각각의 샘플의 진폭 또는 다른 값을 나타내는 비트들의 수를 의미한다. 일부 콘텐츠 스트림들은 다양한 비트 깊이들을 갖는 샘플들을 포함할 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 보호 모듈(362)이 콘텐츠 스트림을 오디오 콘텐츠 스트림 또는 비-오디오 콘텐츠 스트림으로 분류하는 데 사용할 수 있는, 콘텐츠 스트림으로부터의 샘플들의 서브세트를 선택하도록 구성될 수 있다.
[0051] 콘텐츠 스트림으로부터 획득된 샘플들을 기초로 히스토그램이 생성될 수 있다(스테이지(415)). 콘텐츠 스트림으로부터 얻어진 샘플들 내에서의 주파수 분포들을 나타내는 히스토그램이 생성될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림에 존재할 수 있는 샘플 값들의 범위를 일련의 구간들로 저장소에 넣도록 구성될 수 있다. 각각의 구간은 콘텐츠 스트림으로부터 얻어진 샘플들에 포함될 수 있는 진폭들 또는 다른 샘플 값들의 서브세트를 나타낼 수 있다. 특정 히스토그램에 포함된 빈들 또는 구간들의 수는 구간들의 폭에 따라 다를 수 있다. 히스토그램을 생성하기 위해 다양한 기술들이 사용될 수 있다. 히스토그램에 포함되는 빈들 또는 구간들의 수 및/또는 각각의 빈 또는 구간에 포함되는 값들의 범위는 샘플 데이터의 타입에 좌우될 수 있다. 예상되는 샘플 데이터가 진폭 값을 포함하는 경우, 오디오 신호의 진폭들은 미리 결정된 범위 내에 속하는 것으로 예상될 수 있고, 그 범위는 다수의 구간들로 나뉘어 히스토그램을 생성할 수 있다. 스펙트럼 분석 데이터가 샘플들에 포함되는 경우, 오디오 샘플에 대한 값들의 예상 범위는 콘텐츠 스트림에 적용되는 스펙트럼 분석 타입에 좌우될 수 있으며, 콘텐츠 보호 모듈(362)은 샘플 데이터를 히스토그램을 생성하기 위한 구간들로 나누도록 구성될 수 있다.
[0052] 도 6 - 도 10 그리고 도 12에 예시된 예시적인 프로세스들은 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 데 사용되는 히스토그램을 생성하는 데 사용될 수 있다. 콘텐츠 보호 모듈(362)은 특정 타입들의 비압축 오디오 콘텐츠에 대한 히스토그램을 생성하기 위해 특정 기술을 이용하도록 구성될 수 있거나 히스토그램을 생성하기 위한 미리 결정된 프로세스들의 풀, 이를테면 도 6 - 도 10 그리고 도 12에 예시된 기술들 및/또는 다른 기술들로부터 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 알고리즘을 사용하여 이러한 프로세스들의 풀로부터 각각의 콘텐츠 스트림에 대한 히스토그램을 생성하기 위한 기술을 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 각각의 콘텐츠 스트림에 대해 서로 다른 히스토그램 생성 프로세스를 선택하도록 구성될 수 있다. 예를 들어, 콘텐츠 보호 모듈(362)은 라운드 로빈 방법을 사용하거나 사용될 프로세스를 랜덤하게 선택할 수 있다.
[0053] 히스토그램을 기초로 콘텐츠 스트림이 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류될 수 있다(스테이지(420)). 콘텐츠 보호 모듈(362)은 히스토그램의 모양을 대칭 종형 곡선 모양과 비교하여, 히스토그램 상의 샘플들의 분포가 그러한 모양을 나타내는지 여부를 결정하도록 구성될 수 있다. 오디오 콘텐츠 스트림으로부터 얻어진 샘플들은 이러한 분포를 나타낼 가능성이 있는데, 0에 더 가까운 샘플 값들은 0에서 더 먼 샘플 값보다 더 빈번하게 발생한다. 비디오 콘텐츠 스트림으로부터 얻어진 샘플들은 일반적으로 이러한 분포를 나타내지 않는다. 따라서 콘텐츠 보호 모듈(362)은 분포가 종형 곡선과 같은 모양을 갖는 것에 응답하여, 오디오 콘텐츠인 것으로 알려진 콘텐츠 스트림을 오디오 콘텐츠로 분류하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램의 가장 높은 구간이 비어 있는지 여부를 결정하도록 구성될 수 있다. 히스토그램의 가장 높은 구간은 콘텐츠가 확실히 오디오 콘텐츠라면, 샘플링된 콘텐츠가 매우 시끄러운 오디오 콘텐츠가 될 경우를 나타낸다. 일반적인 오디오 콘텐츠가 이러한 시끄러운 콘텐츠를 포함하는 것이 아니라, 오디오 콘텐츠 스트림인척 하게 되는 비디오 콘텐츠 또는 다른 비-오디오 콘텐츠가 히스토그램의 가장 높은 구간 내에 속하는 샘플들을 포함할 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램의 모양이 종 모양이거나 히스토그램의 가장 높은 구간이 비어 있는 콘텐츠 스트림을 오디오 콘텐츠로 분류하도록 구성될 수 있다. 도 5와 도 11은 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 데 사용될 수 있는 예시적인 프로세스들을 예시한다.
[0054] 콘텐츠 스트림은 다수의 채널들을 포함할 수 있고, 콘텐츠 보호 모듈(362)은 각각의 채널 상에서 샘플들을 수집하고, 각각의 채널에 대한 히스토그램을 생성하고, 각각의 히스토그램의 가장 높은 구간이 비어 있는지 여부를 결정하도록 구성될 수 있다. 이러한 접근 방식은 공격자가 하나 또는 그보다 많은 제 1 채널들 상의 오디오 콘텐츠를 하나 또는 그보다 많은 제 2 채널들 상의 비디오 콘텐츠와 인터리빙하는 것을 막는 데 사용될 수 있다. 임의의 채널이 비어 있지 않은 가장 높은 샘플 구간을 포함한다면, 콘텐츠 보호 모듈(362)은 콘텐츠 스트림을 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0055] 비-오디오 콘텐츠를 포함하는 것으로 콘텐츠 스트림을 분류하는 것에 응답하여 콘텐츠 스트림의 부분들이 수정될 수 있다(스테이지(425)). 콘텐츠 보호 모듈(362)은 HLOS에 콘텐츠 스트림을 배포하기 전에 콘텐츠 스트림의 부분들에 대한 변경들을 수행하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림으로부터 얻어진 샘플들 중 일부 또는 전부를 변경하고, 콘텐츠 스트림에서 샘플들을 교체하고, 컴퓨팅 디바이스(120)의 HLOS에 변경된 콘텐츠 스트림을 제공하도록 구성될 수 있다.
[0056] 오디오 콘텐츠 스트림들은 일반적으로 콘텐츠에 대한 변경들에 더 관대하지만, 비디오 스트림에 대한 이러한 변경들은 전부는 아니더라도 대부분의 비디오 콘텐츠 플레이어들에 의해 비디오 스트림을 재생 불가능하게 렌더링할 가능성이 있다. 비-비디오 콘텐츠를 포함하는 것으로 잘못 플래그된 콘텐츠 스트림에 대한 변경들은 오디오 콘텐츠 스트림에 일부 잡음을 삽입할 수 있지만, 일반적으로는 스트림을 재생 불가능하게 렌더링하거나 사용자 경험을 현저하게 저하시킬 만큼 현저하게 오디오 스트림을 열화시키지는 않을 것이다. 이에 따라, 콘텐츠 보호 모듈(362)은 비-오디오 콘텐츠를 포함한다고 여겨지는 콘텐츠 스트림 부분들을 변경하여, 공격자가 비디오 콘텐츠에 대한 DRM 보호들을 우회하기 위해 비디오 콘텐츠를 오디오 콘텐츠인척 하게 하는 것을 막을 수 있다.
[0057] 콘텐츠 보호 모듈(362)은 콘텐츠 스트림의 각각의 샘플의 최하위 비트 또는 비트들을 0으로 맞추고 수정된 콘텐츠 스트림을 HLOS에 제공하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림의 각각의 샘플의 최하위 비트 또는 비트들을 랜덤 또는 의사 랜덤 값으로 교체하고 수정된 콘텐츠 스트림을 HLOS에 제공하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 전체 샘플에 작은 랜덤 값을 더하도록 구성될 수 있다. 랜덤 값은 샘플의 극값들이 포화되도록 선택될 수 있다. 콘텐츠 보호 모듈(362)은 또한 교체되지 않을 샘플의 비트들의 해밍 코드를 결정하고 교체될 비트들을 샘플의 나머지에 대해 결정된 해밍 코드의 패리티로 교체하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 모든 샘플들에 상수 값을 더하고 그리고/또는 샘플들 각각에 상수 값들의 미리 결정된 풀로부터 선택된 상수 값을 더하도록 구성될 수 있다. 또 다른 구현들에서, 콘텐츠 보호 모듈(362)은 이러한 상수 값들의 풀로부터 선택될 수 있는 상수 값을 전체 콘텐츠 스트림의 콘텐츠에 더하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 하나 또는 그보다 많은 오디오 효과들을 콘텐츠 스트림에 적용하도록 구성될 수 있다. 오디오 효과는 미리 결정된 오디오 효과일 수 있거나 오디오 효과들의 풀로부터 선택될 수 있다. 오디오 효과 또는 오디오 효과들은, 오디오 효과 또는 오디오 효과들이 오디오 콘텐츠 스트림의 오디오 품질에 상당한 영향을 갖는 것이 아니라, 콘텐츠 스트림에 포함된 임의의 비디오 콘텐츠가 재생 불가능하게 렌더링되게 콘텐츠 스트림에 대해 충분한 수의 변경들을 수행하도록 선택될 수 있다. 다른 기술들이 또한 구현될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림의 부분들을 수정하기 위한 서로 다른 기술들을 교대하여, 공격자가 콘텐츠 스트림의 어떤 부분들이 변경되었는지를 인식할 수 있는 것을 방해하고 콘텐츠 보호 방식을 방해하려는 시도에서 오디오 콘텐츠로 식별되었던 비디오 콘텐츠를 복구하려는 시도로 이루어진 변경들을 번복하도록 구성될 수 있다.
[0058] 콘텐츠 보호 모듈(362)은 비-오디오 콘텐츠를 포함하는 것으로 의심되는 콘텐츠 스트림의 채널들의 일부 또는 전부를 변경하도록 구성될 수 있다. 예를 들어, 콘텐츠 보호 모듈(362)은 인터리빙된 비디오 콘텐츠를 잠재적으로 포함하는 것으로 식별된 그러한 채널들 상에서만 콘텐츠의 부분들을 변경하도록 구성될 수 있다. 도 11에 예시된 프로세스의 스테이지(1105)는 비어 있지 않은 가장 높은 구간을 갖는 히스토그램들을 어떤 채널들이 갖는지를 식별하는 데 사용될 수 있다. 다른 구현들에서, 콘텐츠 보호 모듈(362)은, 콘텐츠 스트림이 콘텐츠 스트림에 포함된 채널들 중 하나 상에서 인터리빙된 비디오 콘텐츠를 포함할 수 있다는 표시에 응답하여 콘텐츠 스트림의 채널들의 전부 또는 서브세트의 부분들을 변경하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 인터리빙된 비디오 콘텐츠가 재생될 수 있는 것을 방지하면서, 콘텐츠 스트림에 포함된 오디오 콘텐츠의 품질이 상당히 저하되지는 않게 콘텐츠 스트림의 부분들을 변경하도록 구성될 수 있다.
[0059] 진짜 오디오를 포함하는 콘텐츠는 잠재적으로는, 앞서 논의한 기술들을 이용하여 비-오디오 콘텐츠로 오인될 수 있다. 그러나 이러한 오인은, 오디오 콘텐츠가 매우 시끄럽거나 다수의 채널들을 갖는 콘텐츠 스트림들의 적어도 하나의 채널이 매우 시끄러운 경우에 발생할 가능성이 가장 높다. 샘플의 최하위 비트 또는 비트들을 수정함으로써 오디오 콘텐츠에 잡음을 삽입하는 것은 콘텐츠 스트림에 대해 청각 효과를 거의 또는 전혀 발생시키지 않아야 한다. 이 개념을 예시하기 위해, 스테이지(415)에서 생성된 히스토그램이 4개의 동일한 빈들 및 120 데시벨(㏈)의 범위를 포함했다면, 히스토그램의 최상위 구간에 속하는 샘플은 적어도 90㏈의 세기를 가질 것이다. 샘플의 최하위 비트들을 수정함으로써 6㏈ 미만의 세기를 갖는 잡음이 샘플에 삽입되었다면, 삽입된 잡음은 샘플보다 적어도 84㏈ 낮을 것이다. 이에 따라, 잡음은 사실상 들리지 않을 것이다. 가능한 샘플들의 범위, 히스토그램에 사용된 구간들의 수, 그리고 추가된 잡음의 세기 레벨은 이러한 개념들을 예시하는 예들이며, 본 명세서에서 개시되는 기술들을 그러한 특정 값들로 제한하는 것으로 의도되지는 않는다.
[0060] 도 5는 본 명세서에서 논의되는 기술들에 따라 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 예시적인 프로세스의 흐름도이다. 도 5에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 5에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 5에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(420)를 구현하는 데 사용될 수 있다.
[0061] 히스토그램이 종 모양을 갖는지 여부의 결정이 이루어질 수 있다(스테이지(505)). 콘텐츠 보호 모듈(362)은 히스토그램의 모양을 대칭 종형 곡선 모양과 비교하여, 히스토그램 상의 샘플들의 분포가 그러한 모양을 나타내는지 여부를 결정하도록 구성될 수 있다. 오디오 콘텐츠 스트림으로부터 얻어진 샘플들은 이러한 분포를 나타낼 가능성이 있는데, 0에 더 가까운 샘플 값들은 0에서 더 먼 샘플 값보다 더 빈번하게 발생한다. 비디오 콘텐츠 스트림으로부터 얻어진 샘플들은 일반적으로 이러한 분포를 나타내지 않는다. 따라서 콘텐츠 보호 모듈(362)은 분포가 종형 곡선과 같은 모양을 갖는 것에 응답하여, 오디오 콘텐츠인 것으로 알려진 콘텐츠 스트림을 오디오 콘텐츠로 분류하도록 구성될 수 있다.
[0062] 히스토그램의 가장 높은 구간이 비어 있는지 여부의 결정이 이루어질 수 있다(스테이지(510)). 콘텐츠 보호 모듈(362)은 히스토그램의 가장 높은 구간이 비어 있는지 여부를 결정하도록 구성될 수 있다. 히스토그램의 가장 높은 구간은 샘플링된 콘텐츠가 매우 시끄러운 오디오 콘텐츠일 경우들을 나타내며, 일반적으로는 대부분의 오디오 콘텐츠에 대해 비어 있지만, 콘텐츠 스트림이 비-오디오 콘텐츠를 포함한다면 데이터를 포함할 수 있다. 히스토그램의 가장 높은 구간이 비어 있는 경우, 콘텐츠는 오디오 콘텐츠일 가능성이 있고 그렇게 취급될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림의 부분들에 대해 어떠한 변경들도 하지 않고서 콘텐츠 스트림이 컴퓨팅 디바이스(120)의 HLOS에 제공될 수 있게 하도록 구성될 수 있다.
[0063] 히스토그램이 종 모양을 갖는 것으로 결정되었거나 히스토그램의 가장 높은 구간이 비어 있는 것으로 결정되었는지의 결정이 이루어질 수 있다(스테이지(515)). 콘텐츠 보호 모듈(362)은 스테이지(505)의 테스트 또는 스테이지(510)의 테스트가 참(true)이라면, 오디오 콘텐츠를 포함하는 것으로 콘텐츠 스트림을 분류하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 스테이지(510)가 선택적이 되도록 구성될 수 있다. 이러한 구현들에서, 콘텐츠 보호 모듈(362)은 히스토그램에 예시된 샘플들의 분포가 종 모양을 갖는지 여부를 기초로 콘텐츠 스트림의 분류를 수행하도록 구성될 수 있다. 콘텐츠 스트림이 비디오 콘텐츠를 포함하는 경우, 샘플들의 분포는 일반적으로 보다 균등하게 분포될 것이다. 반면, 오디오 콘텐츠는 일반적으로 샘플들이 0 값 주위에 밀집하고 0 값으로부터 양방향으로 줄어드는 분포를 가질 것이다.
[0064] 히스토그램이 종 모양을 갖지도 않고 히스토그램의 가장 높은 구간이 비어 있지도 않은 것에 응답하여 콘텐츠 스트림이 비-오디오 콘텐츠를 포함하는 것으로 분류될 수 있다(스테이지(520)). 앞서 논의한 바와 같이, 콘텐츠 보호 모듈(362)은 스테이지(505)에서 수행된 테스트와 스테이지(510)에서 수행된 테스트 둘 다 결과로서 거짓(false)을 리턴하는 것에 응답하여 비-오디오 콘텐츠를 포함하는 것으로 콘텐츠를 분류하도록 구성될 수 있다. (선택적인) 스테이지(510)에서의 테스트가 수행되지 않는 구현들에서, 콘텐츠 보호 모듈(362)은 스테이지(505)에서 수행된 테스트가 결과로서 거짓을 리턴하는 것에 응답하여 콘텐츠 스트림을 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0065] 히스토그램이 종 모양을 갖거나 히스토그램의 가장 높은 구간이 비어 있는 것에 응답하여 콘텐츠 스트림이 오디오 콘텐츠를 포함하는 것으로 분류될 수 있다(스테이지(525)). 앞서 논의한 바와 같이, 콘텐츠 보호 모듈(362)은 스테이지(505)에서 수행된 테스트 또는 스테이지(510)에서 수행된 테스트가 결과로서 참을 리턴하는 것에 응답하여 오디오 콘텐츠를 포함하는 것으로 콘텐츠를 분류하도록 구성될 수 있다.
[0066] 도 6은 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 예시적인 프로세스의 흐름도이다. 도 6에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 6에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 6에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(415)를 구현하는 데 사용될 수 있다.
[0067] 샘플들에 대한 범위가 결정될 수 있다(스테이지(605)). 콘텐츠 보호 모듈(362)은 콘텐츠 스트림으로부터 수집된 샘플들이 분포될 수 있는 범위를 결정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보로부터 이 정보를 획득하도록 구성될 수 있다. 미리 결정된 범위 정보는 컴퓨팅 디바이스(120) 상에서 액세스되어 복호화될 수 있는 다양한 타입들의 프리미엄 콘텐츠에 존재할 수 있는 예상 사운드 세기들의 범위로 표현될 수 있거나 콘텐츠 스트림의 스펙트럼 분석으로부터 샘플들이 얻어지는 다른 스케일들로 표현될 수 있다. 콘텐츠 스트림은 콘텐츠 스트림에 대한 예상 범위를 식별하는 정보를 포함할 수 있다. 콘텐츠 스트림은 또한 콘텐츠 스트림에 포함된 것으로 알려진 콘텐츠의 타입을 식별하는 정보와 연관될 수 있으며, 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보에서 콘텐츠 스트림에 대한 적절한 범위를 검색하도록 구성될 수 있다. 샘플들이 콘텐츠 스트림으로부터의 진폭 정보를 포함하는 경우, 미리 결정된 범위는 인간의 청력이 구별할 수 있는 사운드 세기들의 일반적인 범위를 기초로 할 수 있다. 일반적으로, 이 범위는 대략 -20㏈ 내지 140㏈ 범위의 데시벨 값들로 표현되는데, 여기서 이 범위의 최상부에서의 사운드들은 고통을 주기에 충분한 강도일 것이고, 이 범위의 최하부에서의 사운드들은 다수에게는 들리지 않을 수 있다. 샘플들이 콘텐츠 스트림의 스펙트럼 분석으로부터 얻어진 다른 정보를 포함하는 경우, 범위 정보는 콘텐츠 스트림에 적용되었던 스펙트럼 분석 기술에 좌우될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림을 처리하는 데 사용되었던 스펙트럼 분석 기술을 기초로 적절한 범위 정보를 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 프로세서(210) 또는 컴퓨팅 디바이스(120)의 다른 모듈로부터 수행되었던 스펙트럼 분석의 타입을 식별하는 정보를 획득하도록 구성될 수 있고 또는 콘텐츠 스트림에 대한 스펙트럼 분석을 수행하도록 구성될 수 있으며, 이에 따라 콘텐츠 스트림에 대해 수행되었던 스펙트럼 분석의 타입에 이미 액세스했을 것이다.
[0068] 이 범위는 중간 구간이 0 값을 중심으로 하는 홀수 개의 동일한 구간들로 나뉠 수 있다(스테이지(610)). 콘텐츠 보호 모듈(362)은 스테이지(605)에서 결정된 범위를 홀수 개의 동일한 구간들로 나누도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 메모리(260)에 또는 컴퓨팅 디바이스(120)의 다른 메모리 위치에 저장된 구간 값을 기초로 결정될 수 있는 미리 결정된 수의 구간들로 범위를 나누도록 구성될 수 있다. 대안으로, 사용될 구간들의 수는 콘텐츠 보호 모듈(362)로 하드코딩될 수 있다. 콘텐츠 보호 모듈(362)은 또한 랜덤 또는 의사 랜덤 알고리즘을 사용하여, 범위가 나뉠 미리 결정된 수의 구간들을 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 범위가 나뉠 구간들의 수에 상한을 두도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 중간 구간이 0 값을 중심으로 하게, 범위를 결정된 수의 구간들로 세분하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림 내의 서로 다른 채널들에 대해 서로 다른 수의 구간들을 사용하도록 또는 일단 구간들의 수가 결정되었다면 콘텐츠 스트림에 대해 동일한 수의 구간들을 사용하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 일부 구현들에서는, 동일하지 않은 크기의 구간들로 범위를 나누도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 메모리(260)로부터 구간들 각각에 대한 구간 크기를 획득하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 랜덤 또는 의사 랜덤 알고리즘을 사용하여 구간 크기를 생성하도록 구성될 수 있다.
[0069] 콘텐츠 스트림으로부터 수집된 샘플들 및 결정된 구간들을 기초로 히스토그램이 생성될 수 있다(스테이지(615)). 콘텐츠 보호 모듈(362)은 각각의 구간 내에 속하는 각각의 샘플에 대한 해당 구간과 연관된 카운터를 증분하여, 히스토그램이 스테이지(605)에서 결정된 범위에 걸친 샘플들의 분포를 나타내도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램을 사용하여 콘텐츠 스트림을 오디오 콘텐츠를 포함하는 것으로 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0070] 도 7은 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다. 도 7에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 7에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 7에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(415)를 구현하는 데 사용될 수 있다.
[0071] 샘플들에 대한 범위가 결정될 수 있다(스테이지(705)). 콘텐츠 보호 모듈(362)은 콘텐츠 스트림으로부터 수집된 샘플들이 분포될 수 있는 범위를 결정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보로부터 이 정보를 획득하도록 구성될 수 있다. 미리 결정된 범위 정보는 컴퓨팅 디바이스(120) 상에서 액세스되어 복호화될 수 있는 다양한 타입들의 프리미엄 콘텐츠에 존재할 수 있는 예상 사운드 세기들의 범위로 표현될 수 있거나 콘텐츠 스트림의 스펙트럼 분석으로부터 샘플들이 얻어지는 다른 스케일들로 표현될 수 있다. 콘텐츠 스트림은 콘텐츠 스트림에 대한 예상 범위를 식별하는 정보를 포함할 수 있다. 콘텐츠 스트림은 또한 콘텐츠 스트림에 포함된 것으로 알려진 콘텐츠의 타입을 식별하는 정보와 연관될 수 있으며, 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보에서 콘텐츠 스트림에 대한 적절한 범위를 검색하도록 구성될 수 있다. 샘플들이 콘텐츠 스트림으로부터의 진폭 정보를 포함하는 경우, 미리 결정된 범위는 인간의 청력이 구별할 수 있는 사운드 세기들의 일반적인 범위를 기초로 할 수 있다. 일반적으로, 이 범위는 대략 -20㏈ 내지 140㏈ 범위의 데시벨 값들로 표현되는데, 여기서 이 범위의 최상부에서의 사운드들은 고통을 주기에 충분한 강도일 것이고, 이 범위의 최하부에서의 사운드들은 다수에게는 들리지 않을 수 있다. 샘플들이 콘텐츠 스트림의 스펙트럼 분석으로부터 얻어진 다른 정보를 포함하는 경우, 범위 정보는 콘텐츠 스트림에 적용되었던 스펙트럼 분석 기술에 좌우될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림을 처리하는 데 사용되었던 스펙트럼 분석 기술을 기초로 적절한 범위 정보를 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 프로세서(210) 또는 컴퓨팅 디바이스(120)의 다른 모듈로부터 수행되었던 스펙트럼 분석의 타입을 식별하는 정보를 획득하도록 구성될 수 있고 또는 콘텐츠 스트림에 대한 스펙트럼 분석을 수행하도록 구성될 수 있으며, 이에 따라 콘텐츠 스트림에 대해 수행되었던 스펙트럼 분석의 타입에 이미 액세스했을 것이다.
[0072] 이 범위는 2개의 중간 구간이 0 값에 인접한 짝수 개의 동일한 구간들로 나뉠 수 있다(스테이지(710)). 콘텐츠 보호 모듈(362)은 스테이지(605)에서 결정된 범위를 짝수 개의 동일한 구간들로 나누도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 메모리(260)에 또는 컴퓨팅 디바이스(120)의 다른 메모리 위치에 저장된 구간 값을 기초로 결정될 수 있는 미리 결정된 수의 구간들로 범위를 나누도록 구성될 수 있다. 대안으로, 사용될 구간들의 수는 콘텐츠 보호 모듈(362)로 하드코딩될 수 있다. 콘텐츠 보호 모듈(362)은 또한 랜덤 또는 의사 랜덤 알고리즘을 사용하여, 범위가 나뉠 미리 결정된 수의 구간들을 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 범위가 나뉠 구간들의 수에 상한을 두도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 2개의 중간 구간들이 0 값 주위에서 중심을 두게, 범위를 결정된 수의 구간들로 세분하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림 내의 서로 다른 채널들에 대해 서로 다른 수의 구간들을 사용하도록 또는 일단 구간들의 수가 결정되었다면 콘텐츠 스트림에 대해 동일한 수의 구간들을 사용하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 일부 구현들에서는, 동일하지 않은 크기의 구간들로 범위를 나누도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 메모리(260)로부터 구간들 각각에 대한 구간 크기를 획득하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 랜덤 또는 의사 랜덤 알고리즘을 사용하여 구간 크기를 생성하도록 구성될 수 있다.
[0073] 콘텐츠 스트림으로부터 수집된 샘플들 및 결정된 구간들을 기초로 히스토그램이 생성될 수 있다(스테이지(715)). 콘텐츠 보호 모듈(362)은 각각의 구간 내에 속하는 각각의 샘플에 대한 해당 구간과 연관된 카운터를 증분하여, 히스토그램이 스테이지(605)에서 결정된 범위에 걸친 샘플들의 분포를 나타내도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램을 사용하여 콘텐츠 스트림을 오디오 콘텐츠를 포함하는 것으로 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0074] 도 8은 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다. 도 8에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 8에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 8에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(415)를 구현하는 데 사용될 수 있다.
[0075] 샘플들에 대한 범위가 결정될 수 있다(스테이지(805)). 콘텐츠 보호 모듈(362)은 콘텐츠 스트림으로부터 수집된 샘플들이 분포될 수 있는 범위를 결정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보로부터 이 정보를 획득하도록 구성될 수 있다. 미리 결정된 범위 정보는 컴퓨팅 디바이스(120) 상에서 액세스되어 복호화될 수 있는 다양한 타입들의 프리미엄 콘텐츠에 존재할 수 있는 예상 사운드 세기들의 범위로 표현될 수 있거나 콘텐츠 스트림의 스펙트럼 분석으로부터 샘플들이 얻어지는 다른 스케일들로 표현될 수 있다. 콘텐츠 스트림은 콘텐츠 스트림에 대한 예상 범위를 식별하는 정보를 포함할 수 있다. 콘텐츠 스트림은 또한 콘텐츠 스트림에 포함된 것으로 알려진 콘텐츠의 타입을 식별하는 정보와 연관될 수 있으며, 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보에서 콘텐츠 스트림에 대한 적절한 범위를 검색하도록 구성될 수 있다. 샘플들이 콘텐츠 스트림으로부터의 진폭 정보를 포함하는 경우, 미리 결정된 범위는 인간의 청력이 구별할 수 있는 사운드 세기들의 일반적인 범위를 기초로 할 수 있다. 일반적으로, 이 범위는 대략 -20㏈ 내지 140㏈ 범위의 데시벨 값들로 표현되는데, 여기서 이 범위의 최상부에서의 사운드들은 고통을 주기에 충분한 강도일 것이고, 이 범위의 최하부에서의 사운드들은 다수에게는 들리지 않을 수 있다. 샘플들이 콘텐츠 스트림의 스펙트럼 분석으로부터 얻어진 다른 정보를 포함하는 경우, 범위 정보는 콘텐츠 스트림에 적용되었던 스펙트럼 분석 기술에 좌우될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림을 처리하는 데 사용되었던 스펙트럼 분석 기술을 기초로 적절한 범위 정보를 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 프로세서(210) 또는 컴퓨팅 디바이스(120)의 다른 모듈로부터 수행되었던 스펙트럼 분석의 타입을 식별하는 정보를 획득하도록 구성될 수 있고 또는 콘텐츠 스트림에 대한 스펙트럼 분석을 수행하도록 구성될 수 있으며, 이에 따라 콘텐츠 스트림에 대해 수행되었던 스펙트럼 분석의 타입에 이미 액세스했을 것이다.
[0076] 주파수 범위는 가장 낮은 구간이 0 값에 인접한 절대값 구간들로 나뉠 수 있다(스테이지(810)). 콘텐츠 보호 모듈(362)은 스테이지(605)에서 결정된 범위를, 가장 낮은 구간이 0에 인접한 양의 값 범위를 갖는 일련의 구간들로 나누도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 메모리(260)에 또는 컴퓨팅 디바이스(120)의 다른 메모리 위치에 저장된 구간 값을 기초로 결정될 수 있는 미리 결정된 수의 구간들로 범위를 나누도록 구성될 수 있다. 대안으로, 사용될 구간들의 수는 콘텐츠 보호 모듈(362)로 하드코딩될 수 있다. 콘텐츠 보호 모듈(362)은 또한 랜덤 또는 의사 랜덤 알고리즘을 사용하여, 범위가 나뉠 미리 결정된 수의 구간들을 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 범위가 나뉠 구간들의 수에 상한을 두도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 가장 낮은 구간이 0 값에 인접하게, 범위를 결정된 수의 구간들로 세분하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림 내의 서로 다른 채널들에 대해 서로 다른 수의 구간들을 사용하도록 또는 일단 구간들의 수가 결정되었다면 콘텐츠 스트림에 대해 동일한 수의 구간들을 사용하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 일부 구현들에서는, 동일하지 않은 크기의 구간들로 범위를 나누도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 메모리(260)로부터 구간들 각각에 대한 구간 크기를 획득하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 랜덤 또는 의사 랜덤 알고리즘을 사용하여 구간 크기를 생성하도록 구성될 수 있다.
[0077] 콘텐츠 스트림으로부터 수집된 샘플들 및 결정된 구간들을 기초로 히스토그램이 생성될 수 있다(스테이지(815)). 콘텐츠 보호 모듈(362)은 각각의 구간 내에 샘플의 절대 값이 속하는 각각의 샘플에 대한 해당 구간과 연관된 카운터를 증분하여, 히스토그램이 스테이지(805)에서 결정된 범위에 걸친 샘플들의 분포를 나타내도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램을 사용하여 콘텐츠 스트림을 오디오 콘텐츠를 포함하는 것으로 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0078] 도 9는 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다. 도 9에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 9에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 9에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(415)를 구현하는 데 사용될 수 있다.
[0079] 샘플들에 대한 범위가 결정될 수 있다(스테이지(905)). 콘텐츠 보호 모듈(362)은 콘텐츠 스트림으로부터 수집된 샘플들이 분포될 수 있는 범위를 결정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보로부터 이 정보를 획득하도록 구성될 수 있다. 미리 결정된 범위 정보는 컴퓨팅 디바이스(120) 상에서 액세스되어 복호화될 수 있는 다양한 타입들의 프리미엄 콘텐츠에 존재할 수 있는 예상 사운드 세기들의 범위로 표현될 수 있거나 콘텐츠 스트림의 스펙트럼 분석으로부터 샘플들이 얻어지는 다른 스케일들로 표현될 수 있다. 콘텐츠 스트림은 콘텐츠 스트림에 대한 예상 범위를 식별하는 정보를 포함할 수 있다. 콘텐츠 스트림은 또한 콘텐츠 스트림에 포함된 것으로 알려진 콘텐츠의 타입을 식별하는 정보와 연관될 수 있으며, 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스(120)의 메모리(260)에 저장된 미리 결정된 범위 정보에서 콘텐츠 스트림에 대한 적절한 범위를 검색하도록 구성될 수 있다. 샘플들이 콘텐츠 스트림으로부터의 진폭 정보를 포함하는 경우, 미리 결정된 범위는 인간의 청력이 구별할 수 있는 사운드 세기들의 일반적인 범위를 기초로 할 수 있다. 일반적으로, 이 범위는 대략 -20㏈ 내지 140㏈ 범위의 데시벨 값들로 표현되는데, 여기서 이 범위의 최상부에서의 사운드들은 고통을 주기에 충분한 강도일 것이고, 이 범위의 최하부에서의 사운드들은 다수에게는 들리지 않을 수 있다. 샘플들이 콘텐츠 스트림의 스펙트럼 분석으로부터 얻어진 다른 정보를 포함하는 경우, 범위 정보는 콘텐츠 스트림에 적용되었던 스펙트럼 분석 기술에 좌우될 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림을 처리하는 데 사용되었던 스펙트럼 분석 기술을 기초로 적절한 범위 정보를 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 프로세서(210) 또는 컴퓨팅 디바이스(120)의 다른 모듈로부터 수행되었던 스펙트럼 분석의 타입을 식별하는 정보를 획득하도록 구성될 수 있고 또는 콘텐츠 스트림에 대한 스펙트럼 분석을 수행하도록 구성될 수 있으며, 이에 따라 콘텐츠 스트림에 대해 수행되었던 스펙트럼 분석의 타입에 이미 액세스했을 것이다.
[0080] 이 범위는 중첩하는 구간들로 나뉠 수 있다(스테이지(910)). 도 6 - 도 8에 예시된 기술들과는 달리, 도 9에 예시된 기술에서, 콘텐츠 보호 모듈(362)은 인접한 구간들과 부분적으로 중첩하는 구간들을 나누도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 범위를 얼마나 많은 구간들로 나눌지를 결정하기 위해 스테이지들(610, 710, 810)에 대해 논의한 기술들 중 하나로 구성될 수 있다. 콘텐츠 보호 모듈(362)은 구간들이 미리 결정된 비율만큼 또는 미리 결정된 어떤 값만큼 중첩하게 구간들을 선택하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 이러한 값들로 하드코딩될 수 있거나 컴퓨팅 디바이스(120)의 메모리(260)로부터 또는 컴퓨팅 디바이스(120)의 다른 메모리로부터 이러한 값들을 획득하도록 구성될 수 있다.
[0081] 콘텐츠 스트림으로부터 수집된 샘플들 및 결정된 구간들을 기초로 히스토그램이 생성될 수 있다(스테이지(915)). 콘텐츠 보호 모듈(362)은 각각의 구간 내에 속하는 각각의 샘플에 대한 해당 구간과 연관된 카운터를 증분하여, 히스토그램이 스테이지(605)에서 결정된 범위에 걸친 샘플들의 분포를 나타내도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램을 사용하여 콘텐츠 스트림을 오디오 콘텐츠를 포함하는 것으로 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0082] 도 10은 본 명세서에서 논의되는 기술들에 따라 히스토그램들을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다. 도 10에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 10에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 10에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(415)를 구현하는 데 사용될 수 있는데, 여기서 콘텐츠 스트림은 하나보다 많은 채널을 포함한다.
[0083] 콘텐츠 스트림을 송신하는 데 사용되고 있는 채널들이 결정될 수 있다(스테이지(1005)). 콘텐츠 보호 모듈(362)은 얼마나 많은 채널들이 콘텐츠 스트림을 송신하는 데 사용되고 있는지를 결정하도록 구성될 수 있다. 콘텐츠 스트림을 송신하는 데 사용될 수 있는 채널들의 수는 콘텐츠 스트림의 포맷에 따라 달라질 수 있으며, 또한 송신될 콘텐츠를 기초로 달라질 수 있다. 콘텐츠 보호 모듈(362)은 콘텐츠 스트림과 연관된 그리고/또는 콘텐츠 스트림 자체에 포함된 정보를 기초로 얼마나 많은 채널들이 콘텐츠 스트림을 송신하는 데 사용되고 있는지를 결정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 또한 콘텐츠 스트림의 포맷을 결정함으로써 그리고 그 포맷에 의해 지원될 수 있는 채널들의 수를 검색함으로써 콘텐츠 스트림들의 수를 결정하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 컴퓨팅 디바이스의 메모리(260)에서 포맷 정보를 검색하도록 그리고/또는 인터넷 또는 다른 네트워크 접속을 통해 외부 소스로부터 포맷 정보를 획득하도록 구성될 수 있다. 예를 들어, 고급 오디오 코딩(AAC) 표준에 따라 코딩된 콘텐츠 스트림은 다른 관련 오디오 채널들 및 데이터 스트림들에 추가하여 하나의 스트림들에 48개만큼의 오디오 채널들을 포함할 수 있다. 콘텐츠 보호 모듈(362)은 특정 콘텐츠 스트림에 어떤 채널들이 사용되고 있는지를 식별하여, 그러한 채널들 상에서 송신되고 있는 콘텐츠가 공격자가 그러한 채널들 중 하나 이상에서 비디오 콘텐츠를 인터리빙하려고 시도했는지 여부를 결정하도록 샘플링될 수 있게 하도록 구성될 수 있다. AAC 표준은 본 명세서에 개시된 기술들에 사용될 수 있는 다양한 오디오 표준들의 일례이다. 본 명세서에서 개시되는 기술들은 다수의 오디오 채널들을 포함할 수 있는 것들을 비롯해 다른 코딩 표준들에 적용될 수 있다.
[0084] 콘텐츠 스트림을 송신하는 데 사용되고 있는 채널들 각각에 대해 히스토그램이 생성될 수 있다(스테이지(1010)). 콘텐츠 보호 모듈(362)은 앞서 논의한 바와 같이 각각의 채널에 대한 히스토그램을 생성하도록 구성될 수 있다. 예를 들어, 콘텐츠 보호 모듈은 도 6 - 도 9에 예시된 프로세스들 중 하나를 이용하여 각각의 채널에 대한 히스토그램을 생성하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램들을 사용하여 콘텐츠 스트림을 오디오 콘텐츠를 포함하는 것으로 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0085] 도 11은 본 명세서에서 논의되는 기술들에 따라, 다수의 채널들을 갖는 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 예시적인 프로세스의 흐름도이다. 도 11에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 11에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 11에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(420)를 구현하는 데 사용될 수 있다. 도 11에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(420)를 구현하는 데 사용될 수 있는데, 여기서 다채널 콘텐츠 스트림의 각각의 채널에 대해 히스토그램들이 생성되었으며, 이를테면 도 10이 스테이지(415)를 구현하는 데 사용된다.
[0086] 오디오 콘텐츠 채널들 중 각각의 개별 오디오 콘텐츠 채널과 연관된 히스토그램들 각각에 대한 가장 높은 구간이 검사되어 구간이 비어 있는지 여부를 결정할 수 있다(스테이지(1105)). 콘텐츠 보호 모듈(362)은 콘텐츠 스트림에 포함된 채널들 각각과 연관된 히스토그램에 대해 히스토그램의 가장 높은 구간이 비어 있는지 여부를 결정하도록 구성될 수 있다. 히스토그램의 가장 높은 구간은 샘플링된 콘텐츠가 매우 시끄러운 오디오 콘텐츠일 경우들을 나타내며, 일반적으로는 대부분의 오디오 콘텐츠에 대해 비어 있지만, 콘텐츠 스트림이 비-오디오 콘텐츠를 포함한다면 데이터를 포함할 수 있다. 히스토그램의 가장 높은 구간이 비어 있는 경우, 콘텐츠는 오디오 콘텐츠일 가능성이 있고 그렇게 취급될 수 있다.
[0087] 오디오 콘텐츠 채널들 중 각각의 개별 오디오 콘텐츠 채널과 연관된 히스토그램들 각각에 대한 가장 높은 구간이 비어 있는지 여부의 결정이 이루어질 수 있다(스테이지(1110)). 콘텐츠 보호 모듈(362)이 모든 채널들에 대해 가장 높은 구간이 비어 있었다고 결정한다면, 프로세스는 스테이지(1120)에서 계속될 수 있다. 그렇지 않으면, 콘텐츠 보호 모듈(362)은 스테이지(1115)에서 프로세스를 계속하도록 구성될 수 있다.
[0088] 히스토그램들 중 적어도 하나에 대한 가장 높은 구간이 비어 있지 않은 것에 응답하여 콘텐츠 스트림이 비-오디오 콘텐츠를 포함하는 것으로 분류될 수 있다(스테이지 1115). 콘텐츠 보호 모듈(362)은 비디오 콘텐츠가 잠재적으로 인터리빙되었을 수 있는 채널들을 포함하는 임의의 콘텐츠 스트림들을 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다. 콘텐츠는 실제로는 오디오 콘텐츠일 수 있지만, 디지털 저작권 관리 보호들의 가능한 우회를 막기 위해, 콘텐츠 보호 모듈(362)은 의심스러운 임의의 콘텐츠 스트림들을 플래그하여, 그러한 콘텐츠 스트림들이 오디오 품질을 상당히 떨어뜨리지는 않아야 하지만 콘텐츠 스트림에 존재하는 비디오 콘텐츠의 디코딩은 막아야 하는 식으로 변경될 수 있게 하도록 구성될 수 있다.
[0089] 모든 히스토그램들의 가장 높은 구간이 비어 있는 것에 응답하여 콘텐츠 스트림이 오디오 콘텐츠를 포함하는 것으로 분류될 수 있다(스테이지 1120). 콘텐츠 보호 모듈(362)은 모든 히스토그램들이 비어 있는 가장 높은 구간을 포함하는 경우에 오디오 콘텐츠를 포함하는 것으로 콘텐츠 스트림을 분류할 수 있는데, 이는 공격자가 컴퓨팅 디바이스(120)를 속여 오디오 콘텐츠와 함께 비디오 콘텐츠를 복호화하게 하기 위해 비디오 콘텐츠를 오디오 콘텐츠 스트림과 인터리빙함으로써 콘텐츠에 대한 디지털 저작권 보호들을 우회하려고 시도하고 있는 경우들에는 이러한 발생 가능성이 희박하기 때문이다.
[0090] 도 12는 본 명세서에서 논의되는 기술들에 따라 히스토그램을 생성하기 위한 다른 예시적인 프로세스의 흐름도이다. 도 12에 예시된 프로세스는 달리 명시되지 않는 한, 도 1 - 도 3에 예시된 컴퓨팅 디바이스(120)를 사용하여 구현될 수 있다. 도 12에 예시된 프로세스는 히스토그램을 생성하기 전에 샘플들로부터 DC 오프셋을 제거하는 데 사용될 수 있다. DC 오프셋은 0으로부터의 평균 진폭 변위를 나타낸다. DC 오프셋은 오디오 신호에서 디지털 신호로의 변환 동안 고정 전압 오프셋으로서 삽입될 수 있다. 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 달리 명시되지 않는 한, 도 12에 예시된 프로세스의 다양한 스테이지들을 수행하기 위한 수단을 제공할 수 있다. 도 12에 예시된 프로세스는 도 4에 예시된 프로세스의 스테이지(415)를 구현하는 데 사용될 수 있다. 도 12에 예시된 프로세스의 부분들은 도 8의 프로세스와 결합되어, 히스토그램 생성 전에 DC 오프셋이 제거되었음을 보장할 수 있다. 예를 들어, 스테이지들(1205, 1210)은 도 12에 예시된 프로세스의 스테이지들(805 또는 810) 전에 수행될 수 있다. 스테이지들(1205, 1210)에서 수행되는 처리는 또한 도 6, 도 7 및 도 9에 예시된 프로세스들 전에 수행될 수 있다. 도 12에 예시된 프로세스는 다수의 채널들을 포함하는 콘텐츠 스트림들의 각각의 채널에 대해 수행될 수 있다.
[0091] 각각의 채널에 대한 샘플들의 평균이 결정될 수 있다(스테이지(1205)). 컴퓨팅 디바이스(120)의 콘텐츠 보호 모듈(362)은 도 4에 예시된 프로세스의 스테이지(410)에서 콘텐츠 스트림으로부터 수집된 샘플들의 평균을 결정하도록 구성될 수 있다. 평균은 콘텐츠 스트림에 존재하는 DC 오프셋을 추정하는 데 사용될 수 있다.
[0092] 계산된 평균이 샘플들 각각으로부터 차감되어, 조정된 샘플들을 생성할 수 있다(스테이지(1210)). 콘텐츠 보호 모듈(362)은 스테이지(410)에서 수집된 샘플들 각각으로부터 스테이지(1205)에서 결정된 평균 값을 차감하여, DC 오프셋이 제거된 또는 적어도 DC 오프셋의 근사치가 제거된 조정된 샘플들을 생성하도록 구성될 수 있다.
[0093] 조정된 샘플들을 기초로 히스토그램이 생성될 수 있다(스테이지(1215)). 콘텐츠 보호 모듈(362)은 앞서 논의한 바와 같이 히스토그램을 생성하도록 구성될 수 있다. 예를 들어, 콘텐츠 보호 모듈은 도 6 - 도 9에 예시된 프로세스들 중 하나를 이용하여 히스토그램을 생성하도록 구성될 수 있다. 콘텐츠 보호 모듈(362)은 히스토그램을 사용하여 콘텐츠 스트림을 오디오 콘텐츠를 포함하는 것으로 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하도록 구성될 수 있다.
[0094] 본 명세서에서 설명한 방법들은 애플리케이션에 따라 다양한 수단들로 구현될 수 있다. 예를 들어, 이러한 방법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 결합으로 구현될 수 있다. 하드웨어 구현의 경우, 처리 유닛들은 하나 또는 그보다 많은 주문형 집적 회로(ASIC)들, 디지털 신호 프로세서(DSP: digital signal processor)들, 디지털 신호 처리 디바이스(DSPD: digital signal processing device)들, 프로그래밍 가능 로직 디바이스(PLD: programmable logic device)들, 필드 프로그래밍 가능 게이트 어레이(FPGA: field programmable gate array)들, 프로세서들, 제어기들, 마이크로컨트롤러들, 마이크로프로세서들, 전자 디바이스들, 본 명세서에서 설명한 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 결합 내에 구현될 수 있다.
[0095] 펌웨어 및/또는 소프트웨어 구현의 경우, 방법들은 본 명세서에서 설명한 기능들을 수행하는 모듈들(예를 들어, 프로시저들, 함수들 등)로 구현될 수 있다. 명령들을 유형적으로 구현하는 임의의 기계 판독 가능 매체가 본 명세서에서 설명한 방법들을 구현하는 데 사용될 수 있다. 예를 들어, 소프트웨어 코드들은 메모리에 저장되어 프로세서 유닛에 의해 실행될 수 있다. 메모리는 프로세서 유닛 내에 또는 프로세서 유닛 외부에 구현될 수 있다. 본 명세서에서 사용된 바와 같이, "메모리"라는 용어는 임의의 타입의 장기, 단기, 휘발성, 비휘발성 또는 다른 메모리를 의미하며, 메모리의 임의의 특정 타입이나 메모리들의 개수, 또는 매체들의 타입으로 한정되는 것은 아니다. 유형 매체들은 랜덤 액세스 메모리, 자기 저장소, 광 저장 매체들 등과 같은 기계 판독 가능 매체들의 하나 또는 그보다 많은 물리적 물건들을 포함한다.
[0096] 펌웨어 및/또는 소프트웨어로 구현된다면, 이 기능들은 컴퓨터 판독 가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장될 수 있다. 예들은 데이터 구조로 인코딩된 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램으로 인코딩된 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 물리적 컴퓨터 저장 매체를 포함한다. 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 한정이 아닌 예시로, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM이나 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 명령들이나 데이터 구조들의 형태로 원하는 프로그램 코드를 전달 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스 가능한 임의의 다른 매체를 포함할 수 있고, 본원에서 사용된 것과 같은 디스크(disk 및 disc)는 CD(compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), DVD(digital versatile disc), 플로피 디스크(floppy disk) 및 블루레이 디스크(Blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 데이터를 레이저들에 의해 광학적으로 재생한다. 상기의 조합들 또한 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다. 이러한 매체들은 또한 기계 판독 가능할 수 있는 비-일시적 매체들의 예들을 제공하며, 여기서 컴퓨터들은 이러한 비-일시적 매체들로부터 판독할 수 있는 기계의 일례이다.
[0097] 본 명세서에서 논의한 일반 원리들은 본 개시 또는 청구항들의 기술적 사상 또는 범위를 벗어나지 않으면서 다른 구현들에 적용될 수 있다.

Claims (30)

  1. 전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법으로서,
    콘텐츠 스트림을 수신하는 단계;
    상기 콘텐츠 스트림으로부터 샘플들을 획득하는 단계;
    상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하는 단계;
    상기 히스토그램을 기초로 상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하는 단계; 및
    비-오디오 콘텐츠를 포함하는 것으로 상기 콘텐츠 스트림을 분류하는 것에 응답하여 상기 콘텐츠 스트림의 부분들을 수정하는 단계를 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하는 단계는,
    상기 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 상기 콘텐츠 스트림을 수정하는 단계를 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하는 단계는,
    상기 콘텐츠 스트림에 포함된 오디오 콘텐츠가 최소한으로 청취 가능한 오디오 아티팩트들과 함께 재생 가능하게 유지되도록 상기 콘텐츠 스트림을 수정하는 단계를 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하는 단계는,
    상기 콘텐츠 스트림의 하나 또는 그보다 많은 최하위 비트들을 수정하는 단계를 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 단계는,
    상기 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하는 단계를 더 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  6. 제 5 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 단계는,
    상기 히스토그램이 종 모양을 포함하거나 상기 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하는 단계를 더 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하는 단계는,
    상기 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하는 단계를 더 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하는 단계는,
    상기 히스토그램이 종 모양을 포함하거나 각각의 히스토그램들 전부의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하는 단계를 더 포함하는,
    전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 방법.
  9. 장치로서,
    콘텐츠 스트림을 수신하기 위한 수단;
    상기 콘텐츠 스트림으로부터 샘플들을 획득하기 위한 수단;
    상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하기 위한 수단;
    상기 히스토그램을 기초로 상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하기 위한 수단; 및
    상기 콘텐츠 스트림을 비-오디오 콘텐츠로 분류하는 것에 응답하여 상기 콘텐츠 스트림의 부분들을 수정하기 위한 수단을 포함하는,
    장치.
  10. 제 9 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하기 위한 수단은,
    상기 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 상기 콘텐츠 스트림을 수정하기 위한 수단을 포함하는,
    장치.
  11. 제 9 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하기 위한 수단은,
    상기 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 상기 콘텐츠 스트림을 수정하기 위한 수단을 포함하는,
    장치.
  12. 제 9 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 수단은,
    상기 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하기 위한 수단을 더 포함하는,
    장치.
  13. 제 12 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 수단은,
    상기 히스토그램이 종 모양을 포함하거나 상기 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하기 위한 수단을 더 포함하는,
    장치.
  14. 제 9 항에 있어서,
    상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하기 위한 수단은,
    상기 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하기 위한 수단을 더 포함하는,
    장치.
  15. 제 14 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하기 위한 수단은,
    상기 히스토그램이 종 모양을 포함하거나 각각의 히스토그램들 전부의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하기 위한 수단을 더 포함하는,
    장치.
  16. 컴퓨팅 디바이스로서,
    프로세서를 포함하며,
    상기 프로세서는,
    콘텐츠 스트림을 수신하고;
    상기 콘텐츠 스트림으로부터 샘플들을 획득하고;
    상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하고;
    상기 히스토그램을 기초로 상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하고; 그리고
    상기 콘텐츠 스트림을 비-오디오 콘텐츠로 분류하는 것에 응답하여 상기 콘텐츠 스트림의 부분들을 수정하도록 구성되는,
    컴퓨팅 디바이스.
  17. 제 16 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하도록 구성되는 프로세서는,
    상기 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 상기 콘텐츠 스트림을 수정하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  18. 제 16 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하도록 구성되는 프로세서는,
    상기 콘텐츠 스트림에 포함된 오디오 콘텐츠가 최소한으로 청취 가능한 오디오 아티팩트들과 함께 재생 가능하게 유지되도록 상기 콘텐츠 스트림을 수정하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  19. 제 16 항에 있어서,
    상기 콘텐츠 스트림의 부분들을 수정하도록 구성되는 프로세서는,
    상기 콘텐츠 스트림의 하나 또는 그보다 많은 최하위 비트들을 수정하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  20. 제 16 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하도록 구성되는 프로세서는,
    상기 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  21. 제 20 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하도록 구성되는 프로세서는,
    상기 히스토그램이 종 모양을 포함하거나 상기 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  22. 제 16 항에 있어서,
    상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하도록 구성되는 프로세서는,
    상기 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  23. 제 22 항에 있어서,
    상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하도록 구성되는 프로세서는,
    상기 히스토그램이 종 모양을 포함하거나 각각의 히스토그램들 전부의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  24. 전자 콘텐츠에 대한 디지털 저작권 관리 보호들의 우회를 방지하기 위한 컴퓨터 판독 가능 명령들이 저장된 비-일시적 컴퓨터 판독 가능 저장 매체로서,
    컴퓨터로 하여금,
    콘텐츠 스트림을 수신하게 하고;
    상기 콘텐츠 스트림으로부터 샘플들을 획득하게 하고;
    상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하게 하고;
    상기 히스토그램을 기초로 상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠를 포함하는 것으로 분류하게 하고; 그리고
    상기 콘텐츠 스트림을 비-오디오 콘텐츠로 분류하는 것에 응답하여 상기 콘텐츠 스트림의 부분들을 수정하게 하도록 구성된 명령들을 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  25. 제 24 항에 있어서,
    상기 컴퓨터로 하여금 상기 콘텐츠 스트림의 부분들을 수정하게 하도록 구성된 명령들은, 상기 컴퓨터로 하여금,
    상기 콘텐츠 스트림에 포함된 비디오 콘텐츠가 재생 불가능하게 렌더링되도록 상기 콘텐츠 스트림을 수정하게 하도록 구성된 명령들을 더 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  26. 제 24 항에 있어서,
    상기 컴퓨터로 하여금 상기 콘텐츠 스트림의 부분들을 수정하게 하도록 구성된 명령들은, 상기 컴퓨터로 하여금,
    상기 콘텐츠 스트림에 포함된 오디오 콘텐츠가 최소한으로 청취 가능한 오디오 아티팩트들과 함께 재생 가능하게 유지되도록 상기 콘텐츠 스트림을 수정하게 하도록 구성된 명령들을 더 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  27. 제 24 항에 있어서,
    상기 컴퓨터로 하여금 상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하게 하도록 구성된 명령들은, 상기 컴퓨터로 하여금,
    상기 히스토그램의 가장 높은 샘플 구간이 비어있는지 여부를 결정하게 하도록 구성된 명령들을 더 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  28. 제 27 항에 있어서,
    상기 컴퓨터로 하여금 상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하게 하도록 구성된 명령들은, 상기 컴퓨터로 하여금,
    상기 히스토그램이 종 모양을 포함하거나 상기 히스토그램의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하게 하도록 구성된 명령들을 더 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  29. 제 24 항에 있어서,
    상기 컴퓨터로 하여금 상기 콘텐츠 스트림으로부터의 샘플들을 기초로 히스토그램을 생성하게 하도록 구성된 명령들은, 상기 컴퓨터로 하여금,
    상기 콘텐츠 스트림의 각각의 오디오 채널에 대한 각각의 히스토그램을 생성하게 하도록 구성된 명령들을 더 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  30. 제 29 항에 있어서,
    상기 컴퓨터로 하여금 상기 콘텐츠 스트림을 오디오 콘텐츠 또는 비-오디오 콘텐츠로 분류하게 하도록 구성된 명령들은, 상기 컴퓨터로 하여금,
    상기 히스토그램이 종 모양을 포함하거나 각각의 히스토그램들 전부의 가장 높은 샘플 구간이 비어 있는 것에 응답하여 상기 콘텐츠 스트림을 오디오 콘텐츠로 분류하게 하도록 구성된 명령들을 더 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
KR1020177027853A 2015-04-02 2016-03-25 오디오/비디오 콘텐츠 보안 도메인 교차에 대한 대책들 KR20170133363A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/677,762 2015-04-02
US14/677,762 US9736536B2 (en) 2015-04-02 2015-04-02 Countermeasures against audio/video content security domain crossing
PCT/US2016/024208 WO2016160569A1 (en) 2015-04-02 2016-03-25 Countermeasures against audio/video content security domain crossing

Publications (1)

Publication Number Publication Date
KR20170133363A true KR20170133363A (ko) 2017-12-05

Family

ID=55699825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177027853A KR20170133363A (ko) 2015-04-02 2016-03-25 오디오/비디오 콘텐츠 보안 도메인 교차에 대한 대책들

Country Status (6)

Country Link
US (1) US9736536B2 (ko)
EP (1) EP3278288A1 (ko)
JP (1) JP2018514993A (ko)
KR (1) KR20170133363A (ko)
CN (1) CN107430649A (ko)
WO (1) WO2016160569A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886234B2 (en) * 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4626845A (en) * 1983-02-28 1986-12-02 Epic Systems, Inc. Subscriber validation system
US7406603B1 (en) 1999-08-31 2008-07-29 Intertrust Technologies Corp. Data protection systems and methods
US8010469B2 (en) 2000-09-25 2011-08-30 Crossbeam Systems, Inc. Systems and methods for processing data flows
US20020141582A1 (en) * 2001-03-28 2002-10-03 Kocher Paul C. Content security layer providing long-term renewable security
US7171561B2 (en) * 2002-10-17 2007-01-30 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for detecting and extracting fileprints
US8463000B1 (en) * 2007-07-02 2013-06-11 Pinehill Technology, Llc Content identification based on a search of a fingerprint database
US7707224B2 (en) * 2006-11-03 2010-04-27 Google Inc. Blocking of unlicensed audio content in video files on a video hosting website
CN101247279A (zh) * 2007-10-23 2008-08-20 北京邮电大学 一种互联网内容安全检测系统
CN101299690A (zh) * 2008-06-26 2008-11-05 蓝汛网络科技(北京)有限公司 一种多媒体内容的监测方法、系统及装置
CN102436806A (zh) * 2011-09-29 2012-05-02 复旦大学 一种基于相似度的音频拷贝检测的方法
US20130305388A1 (en) 2012-05-10 2013-11-14 Qualcomm Incorporated Link status based content protection buffers
US9418209B2 (en) 2012-10-02 2016-08-16 Google Technology Holdings LLC Systems and methods for manipulating sensitive information in a secure mobile environment
US9697837B2 (en) 2012-12-17 2017-07-04 Yaron Hefetz Secured audio channel for voice communication
US9104881B2 (en) * 2013-03-29 2015-08-11 Google Inc. Identifying unauthorized content presentation within media collaborations

Also Published As

Publication number Publication date
CN107430649A (zh) 2017-12-01
US9736536B2 (en) 2017-08-15
WO2016160569A1 (en) 2016-10-06
US20160295283A1 (en) 2016-10-06
EP3278288A1 (en) 2018-02-07
JP2018514993A (ja) 2018-06-07

Similar Documents

Publication Publication Date Title
US20230053140A1 (en) Detecting media watermarks in magnetic field data
US9529071B2 (en) Ultrasonic-wave communication system
EP2915085B1 (en) Content protection
US7599515B2 (en) Wireless communication method and apparatus for generating, watermarking and securely transmitting content
US10659187B2 (en) Securely providing a receiver unit with a replica pseudo-random noise code
CN104023012B (zh) 集群中调用服务的方法、设备和系统
CN111683273A (zh) 视频卡顿信息的确定方法及装置
RU2012129347A (ru) Передатчик, способ передачи, приемник, способ приема, программа и интегральная схема
TWI640188B (zh) 發送、接收WiFi參數的裝置及方法
KR20100088966A (ko) 디지털 저작권 관리 콘텐츠의 재생 및 라이선스 관리 방법 및 장치
EP2673774B1 (en) Audio watermarking
CN104092680A (zh) 一种音频信号的编码、解码方法和装置及系统
KR20170133363A (ko) 오디오/비디오 콘텐츠 보안 도메인 교차에 대한 대책들
US11063846B2 (en) System and method for remote waveform analysis with associated metadata
CN109101827A (zh) 一种数据处理方法、装置、存储介质及gnss接收机
KR100853113B1 (ko) 디지털 통신 시스템에서 인코딩된 프레임들의 중요도를분류하는 방법 및 장치
CN101917623A (zh) 编码码流的防篡改加密方法、检测方法及装置
WO2016192218A1 (zh) 语音加密出错的检测方法和装置
RU2663817C1 (ru) Способ активирования функций в радиоприемнике
KR20210006697A (ko) 암호 시스템을 위한 fm 라디오 신호를 활용한 진성 난수 발생 방법 및 장치
Huang et al. Design and implementation of synchronized audio-to-audio steganography scheme
CN103312882B (zh) 一种数据传输方法、装置和系统
EP1555824A1 (en) Medium data reproduction device, medium data distribution device, medium data reproduction method, medium data reproduction program, medium data distribution program, and computer-readable recording medium
CN114500042A (zh) 管道坐标数据传输方法、装置和计算机设备
JP6089182B2 (ja) 多値fsk受信回路および方法、並びにプログラム