KR20190003729A - 컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치 - Google Patents

컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20190003729A
KR20190003729A KR1020187035000A KR20187035000A KR20190003729A KR 20190003729 A KR20190003729 A KR 20190003729A KR 1020187035000 A KR1020187035000 A KR 1020187035000A KR 20187035000 A KR20187035000 A KR 20187035000A KR 20190003729 A KR20190003729 A KR 20190003729A
Authority
KR
South Korea
Prior art keywords
mmt
server
service
media
http
Prior art date
Application number
KR1020187035000A
Other languages
English (en)
Other versions
KR102299615B1 (ko
Inventor
아이메드 부아지지
박경모
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20190003729A publication Critical patent/KR20190003729A/ko
Application granted granted Critical
Publication of KR102299615B1 publication Critical patent/KR102299615B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

사용자 단말기(user equipment: UE)는 통신 유닛과 프로세서를 포함한다. 상기 통신 유닛은 서버와 통신한다. 상기 프로세서는 상기 서버로 상기 UE가 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 전송(MPEG media transport: MMT)을 지원한다는 지시를 포함하는 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청을 송신하고, 상기 서버가 MMT를 지원한다는 지시를 포함하는 MMT 서비스 컴포넌트(component)들의 디스크립션(description)을 수신한다. 상기 프로세서는 또한 상기 UE를 MMT 스트리밍 세션으로 전환시키고, 상기 MMT 서비스 컴포넌트들로부터 적어도 하나의 서비스 컴포넌트를 선택하고, 상기 서버로 선택 메시지를 송신하고, 상기 선택된 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 수신한다.

Description

컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치{METHOD AND APPARATUS FOR MPEG MEDIA TRANSPORT INTEGRATION IN CONTENT DISTRIBUTION NETWORKS}
본 개시는 미디어 프리젠테이션(media presentation)들에 관한 것이다. 특히, 본 개시는 컨텐트 분산 네트워크에서 스트리밍 컨텐트(streaming content)를 엠펙 미디어 전송 스트리밍 세션(session)으로 변환하는 방법 및 장치에 관한 것이다.
오늘날 인터넷을 통한 미디어 전달은 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP)에 많이 의존하고 있으며, 이는 HTTP가 네트워크 어드레스 변환(network address translation: NAT)들을 통해 방화벽들을 패스하기 쉽고, HTTP 스트리밍은 특정 하드웨어 혹은 소프트웨어를 필요로 하지 않고, 어떤 HTTP 서버에 의해서라도 서비스될 수 있으며, HTTP 스트리밍은 기존 컨텐트 분산 네트워크(Content Distribution Network: CDN)들을 통해서 분산될 수 있기 때문이다.
하지만 HTTP-스트리밍은 사용되는 프로토콜들의 특성으로 인한 지연 및 동기화 이슈들을 겪고 있다. HTTP는 파일들을 전달하기 위해 설계되고, TCP는 신뢰성있는 데이터 전달을 위해 설계된다. 두 프로토콜들은 TCP가 비트레이트 변동을 겪고, 제공되는 신뢰성이 스트리밍에 대해 항상 요구되지 않기 때문에 미디어의 저-지연 전달에 적합하지는 않다.
몇몇 경우들에서, 상기 HTTP 스트림은 인크립트된 가상 현실(virtual reality: VR) 컨텐트를 포함할 수 있다. VR 컨텐트를 생성하기 위해서는, 현실-세계 환경이 모든 방향들에서 캡쳐되어야만 하고 이로 인해 보여지는 구에 상응하는 전방향 비디오를 획득하게 된다. HMD(Head-Mounted Display)들은 낮은 레이턴시로 머리 움직임을 추적하고, 상기 사용자가 마주하고 있는 방향에 대한 상기 뷰포트(viewport), 즉 상기 사용자가 현재 보고 있는 영역을 조정하는 능력을 가지고 있다. 입체적 VR은 또한 각 눈에 대해 별도의 뷰를 프리젠트하여 깊이 퍼셉트론(depth perception)을 트리거한다. 비디오 코딩 표준들은 구형 비디오를 압축하도록 설계되지 않는다. 구형 비디오는 압축 및 전달을 위해 하나 혹은 그 이상의 직사각 플레인들에 프로젝트 혹은 매핑되어야만 한다. 이런 프로젝션들은 상기 컨텐트의 디코딩 및 디크립션 후에 수행되어야만 하며, 이는 상기 인크립트되지 않은 미디어 데이터에 대해 억세스하는 VR 렌더러(renderer)를 요구하게 될 것이다. 하지만, 압축되지 않고 인크립트되지 않은 미디어 데이터에 대한 억세스는 일반적으로 상기 컨텐트가 불법적으로 복사되지 않는다는 것을 보장하기 위해 금지된다.
본 개시는 HTTP 스트리밍 세션들을 MMT 스트리밍 세션들로 변환하는 방법 및 장치를 제공한다.
제1 실시 예에서, 사용자 단말기(user equipment: UE)는 통신 유닛과 프로세서를 포함한다. 상기 통신 유닛은 서버와 통신한다. 상기 프로세서는 상기 서버로 상기 UE가 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 전송(MPEG media transport: MMT)을 지원한다는 지시를 포함하는 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청을 송신하고, 상기 서버가 MMT를 지원한다는 지시를 포함하는 MMT 서비스 컴포넌트(component)들의 디스크립션(description)을 수신한다. 상기 프로세서는 또한 상기 UE를 MMT 스트리밍 세션으로 전환시키고, 상기 MMT 서비스 컴포넌트들로부터 적어도 하나의 서비스 컴포넌트를 선택하고, 상기 서버로 선택 메시지를 송신하고, 상기 선택된 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 수신한다.
제2 실시 예에서, 사용자 단말기(user equipment: UE)에서 서버로부터 수신되는 미디어를 재생하는 방법은 상기 서버로 상기 UE가 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 전송(MPEG media transport: MMT)을 지원한다는 지시를 포함하는 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청을 송신하는 과정과 상기 서버가 MMT를 지원한다는 지시를 포함하는 MMT 서비스 컴포넌트들의 디스크립션(description)을 수신하는 과정을 포함한다. 상기 방법은 또한 상기 UE를 MMT 스트리밍 세션으로 전환시키는 과정과, 상기 MMT 서비스 컴포넌트들로부터 적어도 하나의 서비스 컴포넌트를 선택하는 과정과, 상기 서버로 선택 메시지를 송신하는 과정과, 상기 선택된 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 수신하는 과정을 포함한다.
제3 실시 예에서, 서버는 통신 유닛과 프로세서를 포함한다. 상기 통신 유닛은 사용자 단말기(user equipment: UE)와 통신한다. 상기 프로세서는 상기 UE로부터 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청을 수신하고, HTTP 매니페스트(manifest)로부터 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 전송(MPEG media transport: MMT) 서비스 컴포넌트(component)들을 생성함으로써 상기 HTTP 스트리밍 세션 요청에 상응하는 컨텐트를 MMT 스트리밍 세션으로 변환한다. 상기 프로세서는 또한 상기 UE로 상기 MMT 서비스 컴포넌트들의 디스크립션(description)을 송신하고, 상기 UE로부터 상기 MMT 서비스 컴포넌트들 중 적어도 하나의 서비스 컴포넌트를 포함하는 선택 메시지를 수신하고, 상기 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 상기 UE로 송신한다.
다른 기술적 특징들은 하기의 도면들, 설명들 및 청구항들로부터 당업자에게 쉽게 명백할 수 있을 것이다.
하기에서 상세한 설명을 설명하기에 앞서, 이 특허 문서 전체에 걸쳐 사용된 소정 단어들과 어구들의 정의를 설명하는 것이 바람직하다. "연결(조합)한다"는 말과 그 파생어들은 둘 이상의 구성요소들이 서로 물리적 접촉 상태에 있는지 그렇지 않든지, 그들 간의 어떤 직접적이거나 간접적인 통신을 일컫는다. "전송한다", "수신한다", 그리고 "통신한다" 라는 용어들뿐 아니라 그 파생어들은 직간접적 통신 모두를 포함한다. "포함하다" 및 "구비한다"는 용어들 및 그 파생어들은 제한 없는 포함을 의미한다. "또는"이라는 말은 '및/또는'을 의미하는 포괄적인 말이다. "~와 관련된다" 및 그 파생어들은 포함한다, ~ 안에 포함된다, ~와 상호 연결한다, 내포한다, ~안에 내포된다, ~에/와 연결한다, ~에/와 조합한다, ~와 통신할 수 있다, ~와 협력한다, 개재한다, 나란히 놓는다, ~에 근사하다, ~에 속박된다, 가진다, ~의 특성을 가진다, ~와 관계를 가진다는 등의 의미이다. "제어기"라는 용어는 적어도 한 동작을 제어하는 어떤 장치, 시스템, 또는 그 일부를 의미한다. 그러한 제어기는 하드웨어나 하드웨어와 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있다. 어떤 특정 제어기와 관련된 기능은 국지적이든 원격으로든 중앙 집중되거나 분산될 수 있다. "적어도 하나의~"라는 말은 항목들의 리스트와 함께 사용될 때, 나열된 항목들 중 하나 이상의 서로 다른 조합들이 사용될 수 있고, 그 리스트 내 오직 한 항목만이 필요로 될 수 있다는 것을 의미한다. 예를 들어, "A, B, 및 C 중 적어도 하나"는 다음과 같은 조합들 중 어느 하나를 포함한다: A, B, C, A 및 B, A 및 C, B 및 C, 및 A와 B와 C.
또한, 이하에 기술되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램들에 의해 구현되거나 지원될 수 있으며, 그 프로그램들 각각은 컴퓨터 판독가능 프로그램 코드로 구성되고 컴퓨터 판독가능 매체에서 실시된다. "애플리케이션" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어 성분, 명령어 집합, 절차, 함수, 객체, 클래스, 인스턴스, 관련 데이터, 또는 적합한 컴퓨터 판독가능 프로그램 코드의 구현에 적합한 그들의 일부를 일컫는다. "컴퓨터 판독가능 프로그램 코드"라는 말은 소스 코드, 객체 코드, 및 실행 코드를 포함하는 모든 타입의 컴퓨터 코드를 포함한다. "컴퓨터 판독가능 매체"라는 말은 리드 온니 메모리(read only memory: ROM), 랜덤 억세스 메모리(random access memory: RAM), 하드 디스크 드라이브, 컴팩트 디스크(compact disc: CD), 디지털 비디오 디스크(digital video disc: DVD), 또는 어떤 다른 유형의 메모리와 같이, 컴퓨터에 의해 액세스될 수 있는 모든 유형의 매체를 포함한다. "비일시적" 컴퓨터 판독가능 매체는 일시적인 전기 또는 기타 신호들을 전송하는 유선, 무선, 광학, 또는 기타 통신 링크들을 배제한다. 비일시적 컴퓨터 판독가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록 가능 광학 디스크나 삭제가능 메모리 장치와 같이 데이터가 저장되고 나중에 덮어씌어질 수 있는 매체를 포함한다.
다른 소정 단어들 및 어구들에 대한 정의가 본 특허 문서 전체에 걸쳐 제공된다. 당업자는 대부분의 경우들은 아니어도 많은 경우, 그러한 정의들이 그렇게 정의된 단어들 및 어구들의 이전뿐 아니라 이후 사용에도 적용된다는 것을 알 수 있을 것이다.
본 개시에 대한 보다 완전한 이해를 위해서, 첨부 도면들을 참조하여 다음과 같은 설명이 이루어질 것이다.
도 1은 본 개시에 따른 컴퓨팅 시스템(computing system)을 도시하고 있다.
도 2 및 도 3은 본 개시에 따른 컴퓨팅 시스템에서 예제 디바이스들을 도시하고 있다.
도 4는 본 개시에 따른 MPEG 미디어 전송(MPEG media transport: MMT)의 예제 기능 영역을 도시하고 있다.
도 5는 본 개시에 따른 스트리밍 세션을 변환하는 예제 방법을 도시하고 있다.
도 6은 본 개시에 따른 스트리밍 세션을 변환하기 위한 예제 신호 플로우 다이아그램을 도시하고 있다.
도 7은 본 개시에 따른 MMT 매핑 메시지의 예제 신택스(syntax)를 도시하고 있다.
도 8은 본 개시에 따른 예제 컨텐트 선택 메시지를 도시하고 있다.
도 9는 본 개시에 따른 인크립트된 미디어 확장의 예제 아키텍쳐를 도시하고 있다.
도 10은 본 개시에 따른 예제 신호 플로우 다이아그램을 도시하고 있다.
하기에서 설명되는 도 1 내지 도 10과 이 특허 문서에서 본 발명의 기본 원칙들을 설명하기 위해 사용되는 다양한 실시 예들은 오직 설명만을 위한 것이며, 본 개시의 범위를 제한하는 방식으로 이해되어서는 안 된다. 해당 기술 분야의 당업자들은 본 개시의 기본 원칙들이 적합하게 배열된 디바이스 혹은 시스템에서 구현될 수 있다는 것을 이해할 것이다
도 1은 본 개시에 따른 컴퓨팅 시스템(computing system)(100)을 도시하고 있다. 도 1에 도시되어 있는 상기 컴퓨팅 시스템(100)의 실시 예는 오직 도시만을 위한 것이다. 상기 컴퓨팅 시스템(100)의 다른 실시 예들은 본 개시의 범위로부터 벗어남이 없이 사용될 수 있다.
도 1에 도시되어 있는 바와 같이, 상기 시스템(100)은 상기 시스템(100)에서 다양한 컴포넌트들간의 통신을 가능하게 하는 네트워크(102)를 포함한다. 일 예로, 상기 네트워크(102)는 네트워크 어드레스들간에서 인터넷 프로토콜(Internet Protocol: IP) 패킷들, 프레임 릴레이 프레임들, 비동기 전송 모드(Asynchronous Transfer Mode: ATM) 셀들, 혹은 다른 정보를 통신할 수 있다. 상기 네트워크(102)는 하나 혹은 그 이상의 근거리 통신 네트워크(local area network: LAN)들, 도시권 통신 네트워크(metropolitan area network: MAN)들, 광대역 통신 네트워크(wide area network: WAN)들, 상기 인터넷과 같은 글로벌 네트워크(global network)의 전체 혹은 일부, 혹은 하나 혹은 그 이상의 위치들에서의 다른 어떤 통신 시스템 혹은 시스템들이라도 포함할 수 있다.
상기 네트워크(102)는 적어도 하나의 서버(104) 및 다양한 클라이언트 디바이스들(106-114)간의 통신들을 가능하게 한다. 서버(104)는 하나 혹은 그 이상의 클라이언트 디바이스들에 대한 컴퓨팅 서비스들을 제공할 수 있는 어던 적합한 컴퓨팅 혹은 프로세싱 디바이스라도 포함할 수 있다. 서버(104)는, 일 예로, 하나 혹은 그 이상의 프로세싱 디바이슬, 명령들 및 데이터를 저장하는 하나 혹은 그 이상의 메모리들, 상기 네트워크(102)를 통한 통신을 가능하게 하는, 하나 혹은 그 이상의 네트워크 인터페이스들을 포함할 수 있다.
하기에서 설명될 바와 같이, 상기 적어도 하나의 서버(104)는 상기 클라이언트 디바이스들(106-114) 중 하나 혹은 그 이상으로 컨텐트를 제공할 수 있는 컨텐트 분배 네트워크(content distribution network: CDN)의 파트이다. 상기 컨텐트는 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 혹은 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 트랜스포트(MMT) 세션에서 제공될 수 있다.
각 클라이언트 디바이스(106-114)는 상기 네트워크(102)를 통해 적어도 하나의 서버 혹은 다른 컴퓨팅 디바이스(들)과 상호 작용하는, 적합한 컴퓨팅 혹은 프로세싱 디바이스를 나타낸다. 이 예제에서, 상기 클라이언트 디바이스들(106-114)은 데스크탑 컴퓨터(106), 이동 전화기 혹은 스마트 폰(108), 개인용 휴대 정보 단말기(personal digital assistant: PDA)(110), 랩탑 컴퓨터(112), 및 태블릿 컴퓨터(114)를 포함한다. 하지만, 다른 혹은 추가적인 어떤 클라이언트 디바이스들이라도 상기 컴퓨팅 시스템(100)에서 사용될 수 있다.
이 예제에서, 일부 클라이언트 디바이스들(108-114)은 상기 네트워크(102)와 간접적으로 통신한다. 일 예로, 상기 클라이언트 디바이스들(108-110)은 셀룰라 기지국들 혹은 eNodeB들과 같은, 하나 혹은 그 이상의 기지국들(116)을 통해 통신한다. 또한, 상기 클라이언트 디바이스들(112-114)은 IEEE 802.11 무선 억세스 포인트들과 같은, 하나 혹은 그 이상의 무선 억세스 포인트들(118)을 통해 통신한다. 이들은 오직 도시만을 위한 것이고, 각 클라이언트 디바이스는 상기 네트워크(102)와 직접적으로 통신할 수 있거나, 혹은 적합한 중개 디바이스(들) 혹은 네트워크(들)을 통해 상기 네트워크(102)와 간접적으로 통신할 수 있다는 것에 유의하여야만 할 것이다.
하기에서 보다 구체적으로 설명되는 바와 같이, 클라이언트 디바이스들(106-114)은 상기 서버(104)에서 컨텐트에 억세스하기 위해 사용될 수 있다.
도 1이 컴퓨팅 시스템(100)의 일 예를 도시하고 있다고 할지라도, 다양한 변경들이 도 1에 대해서 이루어질 수 있다. 일 예로, 상기 시스템(100)은 적합한 배열로 어떤 개수의 컴포넌트라도 포함할 수 있다. 일반적으로, 컴퓨팅 혹은 통신 시스템들은 매우 다양한 구성들에 참여하게 되고, 도 1은 본 개시의 범위를 특정한 구성으로 한정시키지는 않는다. 도 1이 본 문서에 개시되어 있는 다양한 특징들이 사용될 수 있는 하나의 운영 환경을 도시하고 있을 지라도, 이런 특징들은 다른 적합한 시스템에서도 사용될 수 있다.
도 2 및 도 3은 본 개시에 따른 컴퓨팅 시스템에서 예제 디바이스들을 도시하고 있다. 특히, 도 2는 예제 서버(200)을 도시하고 있고, 도 3은 예제 클라이언트 디바이스(300)를 도시하고 있다. 상기 서버(200)는 도 1에서의 상기 서버(104)를 나타낼 수 있고, 상기 클라이언트 디바이스(300)는 도 1에서의 클라이언트 디바이스들(106-114)들 중 하나 혹은 그 이상을 나타낼 수 있다.
도 2에 도시되어 있는 바와 같이, 상기 서버(200)는 적어도 하나의 프로세싱 디바이스(210), 적어도 하나의 저장 디바이스(215), 적어도 하나의 통신 유닛(220), 및 적어도 하나의 입/출력(input/output: I/O) 유닛(225)간의 통신을 지원하는 버스 시스템(205)을 포함한다. 상기 프로세싱 디바이스(210)는 메모리(230)로 로딩될 수 있는 명령들을 실행한다. 상기 프로세싱 디바이스(210)는 적합한 수(들) 및 타입(들)의 프로세서들 혹은 다른 디바이스들을 적합한 배열에 따라 포함할 수 있다. 프로세서(들)의 예제 타입들은 마이크로 프로세서들, 마이크로 제어기들, 디지털 신호 프로세서들, 필드 프로그램 가능 게이트 어레이(field programmable gate array)들, 주문형 반도체(application specific integrated circuit), 및 discrete circuitry를 포함한다.
상기 메모리(230) 및 영구 저장 장치(235)는 저장 디바이스들(215)의 예들이며, (일시 기반으로 혹은 영구 기반의 데이터, 프로그램 코드, 및/혹은 다른 적합한 정보와 같은) 정보의 저장을 가능하게 하고, 정보의 검색을 가능하게 하는 구조(들)을 나타낸다. 상기 메모리(230)는 랜덤 억세스 메모리 혹은 다른 적합한 휘발성 혹은 비휘발성 저장 디바이스(들)을 나타낼 수 있다. 상기 영구 저장 장치(235)는 리드 온니 메모리, 하드 드라이브, 플래시 메모리, 혹은 광 디스크와 같은, 데이터의 비교적 긴 저장을 지원하는, 하나 혹은 그 이상의 컴포넌트들 혹은 디바이스들을 포함할 수 있다.
상기 통신 유닛(220)은 다른 시스템들 혹은 디바이스들과의 통신들을 지원한다. 일 예로, 상기 통신 유닛(220)은 상기 네트워크(102)를 통한 통신들을 가능하게 하는 네트워크 인터페이스 카드 혹은 무선 송수신기를 포함할 수 있다. 상기 통신 유닛(220)은 적합한 물리 혹은 무선 통신 링크(들)를 통해 통신들을 지원할 수 있다.
상기 I/O 유닛(225)은 데이터의 입력 및 출력을 고려한다. 일 예로, 상기 I/O 유닛(225)은 키보드, 마우스, 키패드, 터치 스크린, 혹은 다른 적합한 입력 디바이스들 통해 사용자 입력에 대한 연결을 제공할 수 있다. 상기 I/O 유닛(225)은 또한 디스플레이, 프린터, 혹은 다른 적합한 출력 디바이스로 출력을 송신할 수 있다.
도 2는 도 1의 서버(104)를 나타낼 경우에 대해서 설명되었지만, 동일한 혹은 유사한 구조가 상기 클라이언트 디바이스들(106-114) 중 하나 혹은 그 이상에서 사용될 수 있다는 것에 유의하여야만 할 것이다. 일 예로, 랩탑 혹은 데스크탑 컴퓨터는 도 2에 도시되어 있는 구조와 동일한 혹은 유사한 구조를 가질 수 있다.
도 3에 도시되어 있는 바와 같이, 상기 클라이언트 디바이스(300)는 안테나(305)와, 통신 유닛(310)과, 송신(transmit: TX) 프로세싱 회로(315), 마이크로폰(microphone)(320) 및 수신(receive: RX) 프로세싱 회로(325)를 포함한다. 상기 클라이언트 디바이스(300)는 또한 스피커(330), 프로세서(340), 입/출력(input/output: I/O) 인터페이스(interface: IF)(345), 입력(350), 디스플레이(display)(355) 및 메모리(360)를 포함한다. 상기 메모리(360)는 운영 시스템(operating system: OS) 프로그램(361) 및 하나 혹은 그 이상의 어플리케이션(application)들(362)을 포함한다.
상기 통신 유닛(310)은 상기 안테나(305)로부터 시스템에 포함되어 있는 다른 구성 요소에 의해 송신된 입력 RF 신호를 수신한다. 상기 통신 유닛(310)은 상기 입력 RF 신호를 다운 컨버팅하여 중간 주파수(intermediate frequency: IF) 혹은 기저대역 신호로 생성한다. 상기 IF 혹은 기저 대역 신호는 상기 RX 프로세싱 회로(325)로 송신되고, 상기 RX 프로세싱 회로(325)는 상기 기저대역 혹은 IF 신호를 필터링, 디코딩, 및/혹은 디지털화하여 프로세싱된 기저대역 신호를 생성한다. 상기 RX 프로세싱 회로(325)는 추가적인 프로세싱을 위해 상기 프로세싱된 기저대역 신호를 상기 스피커(330)(음성 데이터를 위해서와 같이) 혹은 상기 프로세서(340)(웹 브라우징 데이터(web browsing data)를 위해서와 같이)로 송신한다.
상기 TX 프로세싱 회로(315)는 상기 마이크로폰(320)으로부터의 아날로그 혹은 디지털 음성 데이터 혹은 상기 프로세서(340)로부터의 다른 출력 기저 대역 데이터(웹 데이터, 이메일, 혹은 양방향 비디오 게임 데이터(interactive video game data)와 같은)를 수신한다. 상기 TX 프로세싱 회로(315)는 상기 출력 기저 대역 데이터를 인코딩, 멀티플렉싱 및/혹은 디지털화하여 프로세싱된 기저대역 혹은 IF 신호로 생성한다. 상기 통신 유닛(310)은 상기 TX 프로세싱 회로(215)로부터 상기 출력 프로세싱된 기저대역 혹은 IF 신호를 수신하고, 상기 기저대역 혹은 IF 신호를 상기 안테나(305)를 통해 송신되는 RF 신호로 업 컨버팅한다.
상기 프로세서(340)는 하나 혹은 그 이상의 프로세서들 혹은 다른 프로세싱 디바이스들을 포함할 수 있으며, 상기 클라이언트 디바이스(300)의 전반적인 동작을 제어하기 위해 상기 메모리(360)에 저장되어 있는 상기 OS 프로그램(361)을 실행할 수 있다. 일 예로, 상기 프로세서(들)(340)는 공지의 원칙들에 따라 상기 통신 유닛(310), 상기 RX 프로세싱 회로(325) 및 상기 TX 프로세싱 회로(315)에 의한 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 일부 실시 예들에서, 상기 프로세서(340)는 적어도 하나의 마이크로 프로세서 혹은 마이크로 제어기를 포함한다.
상기 프로세서(340)는 상기 메모리(360)에 내재되어 있는 다른 프로세스들 및 프로그램들을 실행할 수 있다. 상기 프로세서(340)는 데이터를 실행중인 프로세스에 의해 요구될 경우 상기 메모리(360) 내로 혹은 상기 메모리(360)로부터 이동시킬 수 있다. 일부 실시 예들에서, 상기 프로세서(340)는 상기 OS 프로그램(261)을 기반으로 혹은 외부 디바이스들, 혹은 운영자로부터 수신되는 신호들에 응답하여 상기 어플리케이션들(362)을 실행하도록 구성된다. 또한, 상기 프로세서(340)는 상기 I/O 인터페이스(345)에 연결되고, 상기 I/O 인터페이스(345)는 상기 클라이언트 디바이스(300)에게 랩탑 컴퓨터들 및 핸드헬드(handheld) 컴퓨터들과 같은 다른 디바이스들에 대한 연결 능력을 제공한다. 상기 I/O 인터페이스(345)는 이런 악세사리들과 상기 프로세서(340) 간의 통신 경로이다.
또한, 상기 프로세서(340)는 상기 입력(350) 및 상기 디스플레이(355)에 연결된다. 상기 클라이언트 디바이스(300)의 운영자는 상기 입력(350)을 사용하여 상기 클라이언트 디바이스(300)에 데이터를 입력할 수 있다. 일 예로, 상기 입력(350)은 터치스크린, 버튼, 키패드 등이 될 수 있다. 상기 디스플레이(355)는 웹 사이트(web site)들에서와 같은 텍스트 및/혹은 적어도 제한된 그래픽들을 렌더링(rendering)할 수 있는 액정 크리스탈 디스플레이 혹은 다른 디스플레이가 될 수 있다.
상기 메모리(360)는 상기 프로세서(340)에 연결된다. 상기 메모리(360)의 일부는 랜덤 억세스 메모리(random access memory: RAM)를 포함할 수 있으며, 상기 메모리(360)의 나머지는 부분은 플래시 메모리 혹은 다른 리드 온니 메모리(read-only memory: ROM)를 포함할 수 있다.
하기에서 보다 구체적으로 설명되는 바와 같이, 상기 클라이언트 디바이스(300)는 서버(105)로부터 HTML5 서류 및 하나 혹은 그 이상의 CI 서류들과 같은 프리젠테이션 정보를 수신하여 프리젠테이션을 재생할 수 있다.
도 2 및 도 3이 컴퓨팅 시스템에서 디바이스들의 예들을 도시하고 있다고 할지라도, 다양한 변경들이 도 2 및 도 3에 대해서 이루어질 수 있다. 일 예로, 도 2 및 도 3에서의 다양한 컴포넌트들은 조합되거나, 추가적으로 서브 분할 되거나, 혹은 생략될 수 있으며, 다른 컴포넌트들이 특별한 필요들에 따라서 추가될 수 있다. 또한, 특별한 예로서, 상기 프로세서(340)는 하나 혹은 그 이상의 중앙 프로세싱 유닛(central processing unit: CPU)들 및 하나 혹은 그 이상의 그래픽 프로세싱 유닛(graphics processing unit: GPU)들과 같은 다수의 프로세서들로 분할될 수 있다. 또한, 도 3이 이동 전화기 혹은 스마트 폰으로 구성된 클라이언트 디바이스(300)를 도시하고 있다고 할지라도, 클라이언트 디바이스들은 다른 타입들의 이동 혹은 고정 디바이스들로서 동작하도록 구성될 수 있다. 또한, 컴퓨팅 및 통신 네트워크들에서와 같이, 클라이언트 디바이스들 및 서버들은 매우 다양한 구성들에 참여할 수 있고, 도 2 및 도 3은 본 개시를 어떤 특정한 클라이언트 디바이스 혹은 서버로 한정시키지는 않는다.
도 4는 본 개시에 따른 MPEG 미디어 전송(MPEG media transport: MMT)의 예제 기능 영역을 도시하고 있다. MMT는 타임드(timed) 및 논-타임드(non-timed) 미디어 데이터의 전달에 매우 적합한 MPEG 미디어 전송 프로토콜(MPEG media transport protocol: MMTP), 시그널링 프레임워크(signaling framework), 순방향 에러 정정(forward error connection: FEC) 프레임워크를 포함하는 IP-기반 해결 방식을 제공한다. MMT는 미디어 서비스들 및 미디어 컨텐트들의 간략한 추출뿐만 아니라 다수의 미디어 서비스들을 단일 MMTP 플로우로의 간략한 멀티플렉싱을 제공한다. 각 미디어 컴포넌트는 상기 패킷 시퀀스 번호 공간에 대한 범위를 설정하는 고유 패킷 아이디에 의해 식별된다. 새로운 컴포넌트를 추출하거나 혹은 추가하는 것은 상기 MMTP 플로우의 재프로세싱을 필요로 하지 않는다. MMT는 또한 상기 미디어 컨테이너(container)에 대한 전송을 최적화하는 다른 미디어 전달 해결 방식들에 비해 낮은 지연 전달을 제공한다.
도 4에 도시되어 있는 바와 같이, 상기 MMT의 기능 영역은 인캡슐레이션 기능(encapsulation function)(402), 전달 기능(404), 시그널링 기능(406)을 포함한다. 상기 인캡슐레이션 기능은 상기 미디어 컨텐트, MMT 패키지, 상기 MMT 호환(compliant) 엔터티에 의해 프로세싱될 데이터 유닛들의 포맷의 논리 구조를 정의한다. 상기 MMT 패키지는 상기 미디어 컨텐트를 포함하는 컴포넌트들 및 상기 컴포넌트들간의 관계의 디스크립션을 포함하여 적응 동작에 대한 기본 전달 계층(underlying delivery layer)으로 필요한 정보를 제공한다. 상기 데이터 유닛들의 포맷은 저장될 혹은 운반될 코딩된 미디어를 전달 프로토콜의 페이로드로 인캡슐레이트(encapsulate)하고, 상기 데이터 유닛들 간에 쉽게 변환되도록 정의된다.
상기 전달 기능(404)은 어플리케이션 계층 프로토콜 및 페이로드의 포맷을 정의한다. 상기 어플리케이션 계층 프로토콜은 멀티플렉싱을 포함하는 상기 멀티미디어의 전달을 위한 통상적인 어플리케이션 계층 프로토콜들과 비교하여 코딩된 미디어 데이터의 전달에 대해 향상된 특징들을 제공한다. 상기 페이로드 포맷은 상기 특정 미디어 타입 혹은 인코딩 방법에 대해 상관없는(agnostic) 코딩된 미디어 데이터를 전달하기 위해 정의된다.
상기 시그널링 기능(406)은 MMT 패키지들의 전달 및 소비를 관리하기 위한 메시지들의 포맷을 정의한다. 소비 관리를 위한 메시지들은 MMT 패키지의 구조를 시그널하기 위해 사용되고, 전달 관리를 위한 메시지들은 상기 프로토콜의 페이로드 포맷 및 구성의 구조를 시그널하기 위해 사용된다.
도 5는 본 개시에 따른 스트리밍 세션을 변환하는 예제 방법(500)을 도시하고 있다. 도 5는 도 2의 서버(200)와 도 3의 클라이언트 디바이스(300)를 참조로 하여 논의될 것이다.
도 5에 도시되어 있는 바와 같이, 동작(502)에서, 서버(200)는 상기 클라이언트 디바이스(300)로부터 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 매니페스트(manifest) 파일에 대한 요청을 수신한다. 상기 서버(200)는 상기 클라이언트 디바이스(300)가 MMT를 지원할 수 있는지 여부를 결정한다(504). 상기 클라이언트 디바이스(300)가 MMT를 지원하지 않을 경우, 상기 컨텐트는 서버(200)로부터 클라이언트 디바이스(300)로 HTTP 스트리밍 세션으로서 제공된다(506).
상기 클라이언트 디바이스(300)가 MMT를 지원할 경우, 방법(500)은 상기 HTTP 세션이 MMTP 세션으로 전환되는 동작(508)으로 진행한다. 일 실시 예에서 상기 MMTP 세션은 웹소켓(WebSocket)들을 통해 수행된다. MMTP에 대한 성공적인 전환 후에, 상기 서버(200)는 상기 HTTP 스트리밍 세션의 매니페스트에서 설명되는 리프리젠테이션(representation)들과 상기 상응하는 MMTP 서브-플로우들간의 매핑을 제공하는 MMT 매핑 메시지를 송신할 것이다 (510). 클라이언트 디바이스(300)는 그리고 나서 상기 플레이백을 시작할 미디어 타임라인에서의 시작 시간뿐만 아니라 수신할 리프리젠테이션들의 서브셋을 선택하고, 상기 선택들을 서버(200)로 제공할 수 있다(512). 상기 서버(200)는 그리고 나서 상기 선택된 리프리젠테이션들의 스트리밍 세그먼트들을 MMTP 플로우로 변환할 것이고, 상기 클라이언트 디바이스(300)에서의 쉬운 재구성을 위해 상기 스트리밍 세그먼트들의 경계들 및 특성들을 시그널하여 MMT가 상기 HTTP 스트리밍 세션과 완벽하게 호환 가능하도록 하는 것을 보장할 것이다.
도 6은 본 개시에 따른 스트리밍 세션을 변환하기 위한 클라이언트 디바이스(602)와 서버(604)간의 예제 신호 플로우를 도시하고 있다. 클라이언트 디바이스(602)는 도 3의 클라이언트 디바이스(300)를 나타낼 수 있고, 서버(604)는 도 2의 서버(200)를 나타낼 수 있다. 도 6에 나타낸 바와 같이, 상기 클라이언트 디바이스(602)는 상기 클라이언트 디바이스(602)가 MMT를 지원할 수 있다는 지시를 포함할 수 있는 HTTP 세션 요청을 송신한다(606). 상기 클라이언트 디바이스(602)는 상기 서버(604) 역시 MMT를 지원한다는 확인을 수신한다. 상기 서버(604)는 상기 HTTP 매니페스트의 컨텐트를 상기 MMT 세션 컨텐트의 디스크립션으로 변환하고(610), 상기 클라이언트 디바이스(602)로 상기 MMT 세션 컨텐트에 포함되어 있는 MMT 서비스 컴포넌트들의 디스크립션을 MMT 매핑 메시지로서 송신한다(612). 상기 클라이언트 디바이스(602)는 상기 MMT 서비스 컴포넌트들의 디스크립션을 수신하고, 상기 클라이언트 디바이스(602)가 스트림하기 원하고 상기 시간 범위를 지시하는 컴포넌트들을 선택한다(614). 상기 클라이언트 디바이스(602)는 그리고 나서 선택 메시지를 송신하고(616), 상기 선택된 시간 범위의 선택된 서비스 컴포넌트들을 스트리밍하기 시작한다(618). 상기 선택된 서비스 컴포넌트들은 상기 클라이언트 디바이스에 의해 디스플레이된다.
도 7은 본 개시에 따른 MMT 매핑 메시지의 예제 신택스(syntax)를 도시하고 있다. 도 7에 도시되어 있는 바와 같이, 상기 MMT 매핑 메시지는 상기 매핑 메시지의 식별자를 지시하는 message_id를 포함한다. 상기 버전은 상기 매핑 메시지의 버전을 지시하고, 상기 길이는 상기 매핑 메시지의 다음 필드의 시작부터 마지막 바이트까지 카운트하는, 상기 매핑 메시지의 바이트 단위의 길이를 지시한다. 상기 time_period_count는 이 세션의 파트로서 서비스될 프리젠테이션들의 개수를 지시한다. 상기 프리젠테이션들의 리스트는 라이브 세션들의 경우에 동적으로 업데이트될 수 있다. 상기 service_component_count는 상기 현재의 프리젠테이션에서의 선택 셋들의 개수를 지시한다. 상기 alternative_asset_count 은 상기 현재 선택 셋에서의 스위칭 셋들의 개수를 지시한다. 상기 packet_id는 상기 리프리젠테이션들을 운반하는 MMTP 서브-플로우를 식별하고, 상기 bandwidth_requirement는 상기 현재의 리프리젠테이션들의 대역폭 요구 사항을 제공한다. 상기 mime_type은 상기 현재의 스위칭 셋의 MIME 타입을 설명하기 위해 사용된다. 상기 스위칭 셋 내에서 상기 리프리젠테이션들의 인코딩들이 다를 경우, 가장 높은 코덱 요구 사항들을 가지는 트랙의 MIME 타입이 시그널될 것이다.
도 8은 본 개시에 따른 예제 컨텐트 선택 메시지를 도시하고 있다. 도 8에 도시되어 있는 바와 같이, 상기 컨텐트 선택 메시지는 상기 컨텐트 선택 메시지의 식별자를 지시하는 message_id를 포함한다. 상기 버전은 상기 컨텐트 선택 메시지의 버전을 지시하며, 상기 길이는 상기 컨텐트 선택 메시지의 다음 필드의 시작부터 마지막 바이트까지 카운트하는, 상기 컨텐트 선택 메시지의 바이트 단위의 길이를 지시한다. 상기 start_time는 상기 MMT 수신 엔터티가 상기 송신 엔터티로 전달을 시작할 것을 요청하는 프리젠테이션 시작 시간이고, 상기 subflow_count는 상기 MMT 수신 엔터티(클라이언트 디바이스(300))가 이 선택 메시지로 요청중인 MMT 서브-플로우들의 개수를 지시한다. 상기 packet_id는 상기 MMTP 수신 엔터티가 요청하고 있는 중인 packet_id를 제공한다.
몇몇 실시 예들에서, 상기 리프리젠테이션들이 인크립트(encrypt)될 수 있다. 도 9는 본 개시에 따른 인크립트된 미디어 확장(encrypted media extension: EME)(900)의 예제 아키텍쳐를 도시하고 있다. EME는 어플리케이션들이 컨텐트 보호 시스템들과 상호 동작하여 인크립트된 오디오 및 비디오의 플레이백을 허락하는 것을 가능하게 하는 어플리케이션 프로그램 인터페이스(application program interface: API)를 제공한다. 도 9에 도시되어 있는 바와 같이, 상기 EME(900)는 클라이언트 디바이스에 대한 상기 컨텐트 디크립션(decryption)을 수행하는 컨텐트 디크립션 모듈(content decryption module: CDM)(902)을 포함한다. 상기 EME(900)는 신뢰되는 환경(904)에서 실행되고, 상기 디크립트된 프레임들을 보안 디코더로 패스한다. EME는 미디어 소스 확장들에 대한 확장들의 셋으로서 개발되었고, 정규 플레이백이 상기 미디어가 인크립트된다는 것을 검출할 때 적용된다. 라이센스 서버(906)로부터 라이센스를 검색한 후, 상기 어플리케이션(908)은 하나 혹은 그 이상의 키들 및 그 상응하는 키 ID들을 포함하는 상기 라이센스 데이터를 사용하여 MediaKeySession 오브젝트(910)를 업데이트한다.
일 예로, 일 실시 예에서, 상기 어플리케이션(908)은 하나 혹은 그 이상의 인크립트된 스트림들을 가지는 미디어를 플레이하는 것을 시도한다. 사용자 에이전트(도시되어 있지 않음)는 상기 미디어가 인크립트되었다는 것을 인식하고, 상기 어플리케이션(908)으로 상기 인크립션에 대한 미디어로부터 획득된 메타데이터를 가지는 인크립트된 이벤트를 송신한다. MediaKeys 오브젝트가 상기 미디어 엘리먼트와 연관되어 있지 않았을 경우, 상기 어플리케이션(908)은 어떤 키 시스템들이 유용한지를 체크하는 navigator. requestMediaKeySystemAccess () 를 사용함으로써 유용한 키 시스템을 선택하고, 그리고 나서 MediaKeySystemAccess 오브젝트를 통해 유용한 키 시스템에 대한 MediaKeys  오브젝트를 생성한다. 상기 어플리케이션(908)은 상기 라이센스 서버(906)에 대한 URL을 독립적으로 획득할 것이다. 상기 MediaKeys  오브젝트는 오디오 혹은 비디오 엘리먼트를 위해 상기 미디어를 디크립트하는데 유용한 키들 모두를 나타낸다. 상기 MediaKeys  오브젝트는 또한 CDM 인스턴스를 나타내며, 특히 라이센스 서버로부터 키들을 획득하는데 사용되는 키 세션들을 생성하기 위해 상기 CDM(902)에 대한 억세스를 제공한다. 일단 상기 MediaKeys  오브젝트가 생성되면, 상기 어플리케이션(908)은 상기 MediaKeys  오브젝트를 상기 setMediaKeys()를 사용하여 상기 미디어 엘리먼트에 할당할 것이고, 상기 setMediaKeys () 는 상기 MediaKeys  오브젝트를 HTMLMediaElement와 연관시키며, 따라서 상기 미디어 엘리먼트의 키들은 상기 컨텐트의 디크립션을 위해 사용될 수 있다.
상기 어플리케이션(908)은 상기 MediaKeys들 상에서 createSession() 를 호출함으로써 MediaKeySession 를 생성한다. 이는 MediaKeySession 오브젝트(910)를 생성하며, 상기 MediaKeySession 오브젝트(910)는 라이센스의 라이프 타임(lifetime) 및 그 키(들)를 나타낸다. 상기 어플리케이션(908)은 또한 상기 MediaKeySession 상에서 generateRequest() 를 호출하여 상기 인크립트된 핸들러에서 획득되는 미디어 데이터를 상기 CDM(902)으로 패스함으로써 라이센스 요청을 생성한다. 상기 CDM(902)은 라이센스 서버로 키를 획득하기 위한 요청을 지시하는 이벤트를 송신한다. 상기 MediaKeySession  오브젝트(910)는 상기 메시지 이벤트를 수신하고, 상기 어플리케이션(908)은 상기 라이센스 서버(906)로 메시지를 송신하여 상기 필요로 되는 키들 가지는 라이센스를 획득할 수 있다. 상기 어플리케이션(908)은 상기 라이센스 서버(906)로부터 응답을 수신하고, 상기 데이터를 상기 MediaKeySession의 update()  방법을 사용하여 상기 CDM(902)으로 패스한다. 상기 CDM(902)은 상기 미디어를 상기 라이센스에 포함되어 있는 키들을 사용하여 상기 미디어를 디크립트한다. 유효 키는 상기 미디어 엘리먼트와 연관되는 MediaKeys 내의 어떤 세션으로부터라도 사용될 수 있다. 상기 CDM(902)은 Key ID에 의해 인덱스된 키 및 정책에 억세스할 것이다.
도 10은 본 개시에 따른 EME 아키텍쳐에서 컨텐트를 디크립트하기 위한 예제 신호 플로우 다이아그램을 도시하고 있다. 도 10에 도시되어 있는 바와 같이, 상기 컨텐트가 인크립트되어 있다는 것을 지시하는 메시지가 상기 API(1002)로 송신된다(1008). 상기 API는 라이센스를 획득하고, 상기 라이센스를 상기 CDM(1004)로 패스한다(1010). 상기 API(1002)는 또한 상기 CDM(1004)으로 초기 텍스쳐(texture)를 제공한다(1012). 상기 CDM은 그리고 나서 상기 API 기능을 호출하여(1014) VR 비디오와 같은 미디어를 렌더링하기 위해 OpenGL 혹은 WebGL과 같은 그래픽 라이브러리(graphics library : GL)를 초기화한다. 상기 CDM(1004)은 그리고 나서 각 비디오 프레임을 디코딩한다(1016). 각 디코딩된 비디오 프레임에 대해서, 상기 CDM(1004)은 상기 CDM(1004)에서 상기 API 기능(1002)를 호출하여 상기 글로벌 텍스쳐를 가장 최근의 비디오 프레임으로 설정하고(1018), 텍스쳐링(texturing) 기준을 제공한다(1020). 상기 API(1002)는 VR 지오메트리(geometry) 및 텍스쳐 매핑/프로젝션 포맷을 기반으로 이전 동작으로부터의 바운드 텍스쳐(bound texture)를 사용하여 상기 텍스쳐링 동작을 수행한다(1022). 상기 프레임의 텍스쳐 매핑 후에, 상기 CDM(1004)는 상기 API(1002)를 호출하여 상기 텍스쳐를 해제 및 처리한다. 상기 수행된 텍스쳐는 상기 GPU(1006)로 제공된다(1024).
일 실시 예에서, 상기 OpenGL 환경의 초기화는 상기 OpenGL 컨텍스트를 초기화하고 상기 컨텐트를 안전하게 프리젠트할 HTML Canvas를 할당할 것이다. 다른 실시 예에서, 이 기능 호출은 상기 렌더링을 수행하기 위해서 사용될 WebGL 컨텍스트 참조를 리턴할 것이다.
또 다른 실시 예에서, 상기 텍스쳐를 설정하는 API 호출은 일 예로 상기 bindTexture를 호출함으로써 상기 텍스쳐를 상기 할당된 WebGL 컨텍스트에 바인드하고 그 다음에 tex2DImage WebGL 기능을 사용하여 상기 텍스쳐의 파트로서 상기 현재의 프레임을 상기 GUP(1006)에 로드할 수 있다.
다른 실시 예에서, 상기 텍스쳐를 해제하는 API 호출은 널(null) 혹은 잠재적으로 다른 텍스쳐 참조를 가지는 WebGL bindTexture 기능에 대한 호출을 초래할 수 있다.
다른 실시 예에서, 상기 CDM(1004)에게는 상기 인크립션 키 획득 절차 동안 필요로 되는 WebGL 렌더링에 대해 알려질 수 있다.
본 개시가 예제 실시 예들을 참조하여 설명되었다고 할지라도, 다양한 변경들 및 수정들이 해당 기술 분야의 당업자에게 제안될 수 있다. 본 개시는 첨부되는 청구항들의 범위 내에 존재하는 변경들 및 수정들을 포함할 것이다.

Claims (15)

  1. 사용자 단말기(user equipment: UE)에 있어서,
    서버와 통신하도록 구성되는 통신 유닛;
    상기 통신 유닛에 연결되는 프로세서를 포함하며, 상기 프로세서는:
    상기 서버로 상기 UE가 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 전송(MPEG media transport: MMT)을 지원한다는 지시를 포함하는 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청을 송신하고;
    상기 서버가 MMT를 지원한다는 지시를 포함하는 MMT 서비스 컴포넌트(component)들의 디스크립션(description)을 수신하고;
    상기 UE를 MMT 스트리밍 세션으로 전환시키고;
    상기 MMT 서비스 컴포넌트들로부터 적어도 하나의 서비스 컴포넌트를 선택하고;
    상기 서버로 선택 메시지를 송신하고;
    상기 선택된 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 수신하도록 구성됨을 특징으로 하는 UE.
  2. 제1항에 있어서,
    상기 선택 메시지는 상기 선택된 적어도 하나의 서비스 컴포넌트에 대한 시작 시간을 포함함을 특징으로 하는 UE.
  3. 제1항에 있어서,
    상기 MMT 서비스 컴포넌트들의 디스크립션은 MMT 매핑(mapping) 메시지를 포함함을 특징으로 하는 UE.
  4. 제3항에 있어서,
    상기 MMT 매핑 메시지는 time_period_count, start time, service_component_count, 혹은 alternative_asset count 중 적어도 하나를 포함함을 특징으로 하는 UE.
  5. 제1항에 있어서,
    상기 선택 메시지는 MMT 프로토콜(MMT protocol: MMTP)_subflow_count를 포함함을 특징으로 하는 UE.
  6. 제1항에 있어서,
    상기 프로세서는 상기 선택된 적어도 하나의 서비스 컴포넌트에 대한 시간 범위를 선택하도록 구성됨을 특징으로 하는 UE.
  7. 제1항에 있어서,
    상기 선택된 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 디스플레이하도록 구성되는 디스플레이를 더 포함함을 특징으로 하는 UE.
  8. 사용자 단말기(user equipment: UE)에서 서버로부터 수신되는 미디어를 재생하는 방법에 있어서,
    상기 서버로 상기 UE가 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 전송(MPEG media transport: MMT)을 지원한다는 지시를 포함하는 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청을 송신하는 과정과;
    상기 서버가 MMT를 지원한다는 지시를 포함하는 MMT 서비스 컴포넌트들의 디스크립션(description)을 수신하는 과정과;
    상기 UE를 MMT 스트리밍 세션으로 전환시키는 과정과;
    상기 MMT 서비스 컴포넌트들로부터 적어도 하나의 서비스 컴포넌트를 선택하는 과정과;
    상기 서버로 선택 메시지를 송신하는 과정과;
    상기 선택된 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 수신하는 과정을 포함함을 특징으로 하는 UE에서 서버로부터 수신되는 미디어를 재생하는 방법.
  9. 제8항에 있어서,
    상기 선택된 적어도 하나의 서비스 컴포넌트에 대한 시간 범위를 선택하는 과정을 더 포함함을 특징으로 하는 UE에서 서버로부터 수신되는 미디어를 재생하는 방법.
  10. 서버에 있어서,
    사용자 단말기(user equipment: UE)와 통신하도록 구성되는 통신 유닛;
    상기 통신 유닛에 연결되는 프로세서를 포함하며, 상기 프로세서는:
    상기 UE로부터 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청을 수신하고;
    HTTP 매니페스트(manifest)로부터 동영상 전문가 그룹(Motion Picture Experts Group: MPEG) 미디어 전송(MPEG media transport: MMT) 서비스 컴포넌트(component)들을 생성함으로써 상기 HTTP 스트리밍 세션 요청에 상응하는 컨텐트를 MMT 스트리밍 세션으로 변환하고;
    상기 UE로 상기 MMT 서비스 컴포넌트들의 디스크립션(description)을 송신하고;
    상기 UE로부터 상기 MMT 서비스 컴포넌트들 중 적어도 하나의 서비스 컴포넌트를 포함하는 선택 메시지를 수신하고;
    상기 적어도 하나의 서비스 컴포넌트에 상응하는 미디어를 상기 UE로 송신하도록 구성됨을 특징으로 하는 서버.
  11. 제10항에 있어서,
    상기 선택 메시지는 상기 적어도 하나의 서비스 컴포넌트에 대한 시작 시간을 포함함을 특징으로 하는 서버.
  12. 제10항에 있어서,
    상기 MMT 서비스 컴포넌트들의 디스크립션은 MMT 매핑(mapping) 메시지를 포함함을 특징으로 하는 서버.
  13. 제12항에 있어서,
    상기 MMT 매핑 메시지는 time_period_count, start time, service_component_count, 혹은 alternative_asset count 중 적어도 하나를 포함함을 특징으로 하는 서버.
  14. 제10항에 있어서,
    상기 선택 메시지는 MMT 프로토콜(MMT protocol: MMTP)_subflow_count를 포함함을 특징으로 하는 서버.
  15. 제10항에 있어서,
    상기 하이퍼텍스트 트랜스퍼 프로토콜(hypertext transfer protocol: HTTP) 스트리밍 세션 요청이 상기 UE가 MMT를 지원한다는 지시를 포함하지 않을 때, 상기 서버는 HTTP를 사용하여 상기 미디어를 송신함을 특징으로 하는 서버.
KR1020187035000A 2016-05-25 2017-05-25 컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치 KR102299615B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662341340P 2016-05-25 2016-05-25
US62/341,340 2016-05-25
US201662343982P 2016-06-01 2016-06-01
US62/343,982 2016-06-01
US15/603,244 2017-05-23
US15/603,244 US10917477B2 (en) 2016-05-25 2017-05-23 Method and apparatus for MMT integration in CDN
PCT/KR2017/005472 WO2017204579A1 (en) 2016-05-25 2017-05-25 Method and apparatus for mpeg media transport integration in content distribution networks

Publications (2)

Publication Number Publication Date
KR20190003729A true KR20190003729A (ko) 2019-01-09
KR102299615B1 KR102299615B1 (ko) 2021-09-10

Family

ID=60412411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187035000A KR102299615B1 (ko) 2016-05-25 2017-05-25 컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치

Country Status (4)

Country Link
US (1) US10917477B2 (ko)
KR (1) KR102299615B1 (ko)
CN (1) CN109314792B (ko)
WO (1) WO2017204579A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567734B2 (en) * 2017-08-29 2020-02-18 Qualcomm Incorporated Processing omnidirectional media with dynamic region-wise packing
EP3743791A1 (en) * 2018-01-25 2020-12-02 Neurosteer Inc. Systems and methods for analyzing brain activity and applications pertaining to augmented reality
US11012721B2 (en) * 2019-03-15 2021-05-18 Tencent America LLC Method and apparatus for envelope descriptor in moving picture experts group network based media processing
US11496414B2 (en) * 2019-03-18 2022-11-08 Tencent America LLC Interoperable cloud based media processing using dynamic network interface

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102812666A (zh) * 2009-11-13 2012-12-05 三星电子株式会社 提供和接收数据的方法和装置
KR20130119887A (ko) * 2012-04-24 2013-11-01 한국전자통신연구원 Mmt 기반 미디어 전송을 위한 세션 초기 설정 방법
EP2784954A1 (en) * 2011-11-25 2014-10-01 Humax Co., Ltd. Method for linking mmt media and dash media
CN104350760A (zh) * 2012-05-10 2015-02-11 数码士控股有限公司 通过mmt包格式扩展的混合传输方法
US20150100996A1 (en) * 2013-10-07 2015-04-09 Samsung Electronics Co., Ltd. Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (http) streaming (dash) without using http in a broadcast network

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101750048B1 (ko) 2009-11-13 2017-07-03 삼성전자주식회사 변속 재생 서비스 제공 방법 및 장치
KR20110105710A (ko) 2010-03-19 2011-09-27 삼성전자주식회사 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치
US9414123B2 (en) 2011-11-25 2016-08-09 Humax Co., Ltd. Method for hybrid delivery of MMT package and content and method for receiving content
KR101501344B1 (ko) * 2012-05-02 2015-03-10 삼성전자주식회사 멀티미디어 서비스 송수신 방법 및 장치
US9342668B2 (en) 2012-07-13 2016-05-17 Futurewei Technologies, Inc. Signaling and handling content encryption and rights management in content transport and delivery
US10042750B2 (en) * 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9923830B2 (en) 2013-04-18 2018-03-20 Samsung Electronics Co., Ltd. Method and apparatus for controlling media delivery in multimedia transport network
US11310302B2 (en) 2014-01-09 2022-04-19 Samsung Electronics Co., Ltd. Method and apparatus for streaming dash content over broadcast channels
KR20160004858A (ko) 2014-07-04 2016-01-13 삼성전자주식회사 멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법
CN111526390B (zh) 2014-09-17 2022-12-06 北京三星通信技术研究有限公司 发送mmt包的方法及装置、接收mmt包的方法
WO2016076623A1 (ko) 2014-11-12 2016-05-19 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10341036B2 (en) * 2015-02-10 2019-07-02 Lg Electronics Inc. Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
US20160373498A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Media-timed web interactions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102812666A (zh) * 2009-11-13 2012-12-05 三星电子株式会社 提供和接收数据的方法和装置
EP2784954A1 (en) * 2011-11-25 2014-10-01 Humax Co., Ltd. Method for linking mmt media and dash media
KR20130119887A (ko) * 2012-04-24 2013-11-01 한국전자통신연구원 Mmt 기반 미디어 전송을 위한 세션 초기 설정 방법
CN104350760A (zh) * 2012-05-10 2015-02-11 数码士控股有限公司 通过mmt包格式扩展的混合传输方法
US20150100996A1 (en) * 2013-10-07 2015-04-09 Samsung Electronics Co., Ltd. Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (http) streaming (dash) without using http in a broadcast network

Also Published As

Publication number Publication date
WO2017204579A1 (en) 2017-11-30
KR102299615B1 (ko) 2021-09-10
US20170346906A1 (en) 2017-11-30
CN109314792A (zh) 2019-02-05
US10917477B2 (en) 2021-02-09
CN109314792B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
US20200236408A1 (en) Reducing time to first encrypted frame in a content stream
CN107645491B (zh) 媒体流传输设备和媒体服务设备
US8775566B2 (en) File format for media distribution and presentation
JP6339012B2 (ja) 層状の信号品質階層の再構成データの送信
US20140040496A1 (en) On-demand http stream generation
US20090322784A1 (en) System and method for virtual 3d graphics acceleration and streaming multiple different video streams
KR102299615B1 (ko) 컨텐트 분산 네트워크들에서 엠펙 미디어 전송 통합을 위한 방법 및 장치
US8902967B2 (en) Systems and methods for distributed media stream transcoding and sharing
US20180007013A1 (en) Wireless display streaming of protected content
JP2012515976A (ja) 1ファイルにおける複数のコンテンツ保護システム
JP2007529970A (ja) メディアデータストリーム処理技術
CN107592551B (zh) 用于云流服务的方法和设备
CN107223334B (zh) 用于将mmtp流转换为mpeg-2ts的方法和装置
KR20150004392A (ko) 템플릿 모드에서의 짧은 암호 사용기간의 지원
US20030188152A1 (en) Secure IP based streaming in a format independent manner
CN112399257B (zh) 云桌面视频播放方法、服务器、终端及存储介质
US10264208B2 (en) Layered display content for wireless display
US20210218792A1 (en) Media data transmission method, client, and server
JP2022524073A (ja) Httpによる動的適応ストリーミングのための方法及び装置
JP7041472B2 (ja) マニフェストを作成する方法及びネットワーク機器
US10750248B1 (en) Method and apparatus for server-side content delivery network switching
US20150201253A1 (en) Methods and apparatus for universal presentation timeline alignment
JP2012257196A (ja) 画面の共有に基づくストリーミングメディア転送システム及びその方法
US11553017B1 (en) Timed media HTTP request aggregation
CN113453006B (zh) 一种图片封装方法、设备以及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right