KR101629748B1 - Dash 클라이언트 행위 프레임워크 및 세션 관리의 실현 - Google Patents

Dash 클라이언트 행위 프레임워크 및 세션 관리의 실현 Download PDF

Info

Publication number
KR101629748B1
KR101629748B1 KR1020157000604A KR20157000604A KR101629748B1 KR 101629748 B1 KR101629748 B1 KR 101629748B1 KR 1020157000604 A KR1020157000604 A KR 1020157000604A KR 20157000604 A KR20157000604 A KR 20157000604A KR 101629748 B1 KR101629748 B1 KR 101629748B1
Authority
KR
South Korea
Prior art keywords
descriptor
attribute
client
mpd
session
Prior art date
Application number
KR1020157000604A
Other languages
English (en)
Other versions
KR20150020679A (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 KR20150020679A publication Critical patent/KR20150020679A/ko
Application granted granted Critical
Publication of KR101629748B1 publication Critical patent/KR101629748B1/ko

Links

Images

Classifications

    • 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/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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
    • 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
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/70Media network packetisation
    • 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/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/75Media network packet handling
    • H04L65/764Media network packet handling at 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • 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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

본 발명의 장치는, DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하도록 구성된 수신기; 상기 수신기에 연결되고, 상기 MPD를 생성하도록 구성된 프로세서; 및 상기 프로세서에 연결되고, 상기 MPD를 송신하도록 구성된 송신기를 포함하며, 상기 MPD는 클라이언트의 행위를 지정하기 위한 메커니즘을 포함하고, 그리고 상기 메커니즘이 상기 클라이언트의 능력에 영향을 주어, 일 특성을 지원하는 상기 클라이언트의 능력에 기하여 콘텐츠를 다운로드한다. 본 발명의 방법은, DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하는 단계; 및 상기 MPD를 송신하는 단계를 포함하며, 상기 MPD는 클라이언트의 행위를 지정하기 위한 메커니즘을 포함하고, 그리고 상기 메커니즘이 상기 클라이언트의 능력에 영향을 주어, 일 특성(feature)을 지원하는 상기 클라이언트의 능력에 기하여 콘텐츠를 다운로드한다.

Description

DASH 클라이언트 행위 프레임워크 및 세션 관리의 실현{DYNAMIC ADAPTIVE STREAMING OVER HTTP CLIENT BEHAVIOR FRAMEWORK AND IMPLEMENTATION OF SESSION MANAGEMENT}
본 출원은 2012년 7월 9일 Alexander Giladi가 출원하고 발명의 명칭이 “DASH Client Framework and Implementation of Session Management”인 미국 가출원 제61/669,437호에 대해 우선권을 주장하며, 위 가출원은 전체적으로 본 명세서에 통합되었다.
오늘날 많은 텔레비전 및 영화 시청자들은 비디오 및 기타 미디어 콘텐츠에 주문형(on-demand) 액세스 하기를 원하고 있다. 첫 번째 예시로서, 텔레비전 시청자는 프로그램의 정규 방송 시간을 놓친 텔레비전 프로그램을 텔레비전으로 시청하고 싶어할 수 있다. 시청자는 노트북 컴퓨터, 테블릿 컴퓨터, 데스크톱 컴퓨터, 휴대 전화 또는 다른 기기 상의 웹브라우저나 다른 애플리케이션을 거쳐 인터넷을 통해 주문형으로 프로그램을 다운로드한 후, 브라우저 또는 다른 애플리케이션에서 해당 프로그램을 시청한다. 두 번째 예시로서, 시청자는 주문형으로 영화를 다운로드할 수 있다. 세 번째 예시로서, 시청자는 다른 시청자들과 함께 화상 회의(videoconference)에 참여할 수 있다.
DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol)는 미디어 콘텐츠 등을 제공하도록 개발된 표준으로서 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) 230009-1(초판, 2012, “23009-1”)에 일부가 설명되어 있으며, 본 명세서에서는 전체적으로 통합되었다. 또한, ISO/IEC 23009-1(Technical Corrigendum 1, 2013)가 본 명세서에 전체적으로 통합되었다. DASH에서는, 두 가지 주요 기기: HTTP(Hyper Transfer Protocol) 서버 또는 콘텐츠를 제공하는 서버들, 및 콘텐츠를 다운로드하고 시청나 또는 사용자와 연관되어 있는 DASH 클라이언트가 있다. DASH는, HTTP 프로토콜을 사용하여 콘텐츠를 요청할 수 있는 클라이언트에게 제어를 맡긴다. 네트워크 환경, 기기 능력 및 사용자 선택 등의 여러 요인에 기초하여, 콘텐츠나 데이터의 다양한 형식 중에서 클라이언트가 선택할 수 있기 때문에, DASH는 동적(dynamic)이며 적응적(adaptive)이다. 예를 들어, HTTP 서버는 서로 다른 다운로드 비트율의 클라이언트에게 통지를 할 수 있고, 클라이언트는 비트율 중 하나를 선택할 수 있으며, 또한 클라이언트는 선택된 비트율로 데이터의 세그먼트를 다운로드하기 시작할 수 있다. 어떠한 이유로 네트워크 환경이 악화될 경우, 클라이언트는 이후에 보다 낮은 비트율로 변경하여 새로운 비트율로 데이터의 세그먼트를 다운로드하기 시작할 수 있다. 따라서 DASH의 적응성(adaptability)은 클라이언트가 대역폭을 이용 가능한 만큼보다 적게 소모하는 것을 보장한다.
클라이언트가 시청하고자 하는 텔레비전 쇼, 영화, 화상 회의 또는 다른 미디어 콘텐츠를 주요 콘텐츠라 할 수 있다. 주요 콘텐츠의 제공자는 메인 콘텐츠를 제공함으로써 이익을 얻고자 할 것이다. 이익 창출의 한 가지 방법으로는 주요 콘텐츠와 함께 광고를 포함하는 것이 있다. 광고는 ad 또는 ad 콘텐츠라 일컬어질 수 있다. 이에 따라, HTTP 서버는 클라이언트에게 명령하여 ad 서버로부터 광고를 다운로드하게 할 수 있다. 클라이언트는 ad 콘텐츠를 다운로드하여 디스플레이하기 전까지 메인 콘텐츠 또는 메인 콘텐츠의 일부를 다운로드하거나 디스플레이할 수 없을 수 있다. 나아가, 특정 제약 사항이 콘텐츠가 보여지는 브라우저 또는 다른 애플리케이션 상에 놓여질 수 있기 때문에 보여지는 동안에는 ad 콘텐츠가 생략될 수 없다. 클라이언트가 광고를 다운로드하여 보게 되면 그 후에 ad 콘텐츠의 제공자는 주요 콘텐츠의 제공자에게 지불할 수 있다.
일 실시예에서, 본 개시는, DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하도록 구성된 수신기; 상기 수신기에 연결되고, 상기 MPD를 생성하도록 구성된 프로세서; 및 상기 프로세서에 연결되고, 상기 MPD를 송신하도록 구성된 송신기를 포함하며, 상기 MPD는 클라이언트의 행위를 지정하기 위한 메커니즘을 포함하고, 그리고 상기 메커니즘이, 상기 클라이언트의 특성(feature) 지원 능력에 따라 상기 클라이언트가 콘텐츠를 다운로드 할 수 있는지를 좌우하는, 장치를 포함한다.
다른 일 실시예에서, 본 개시는, DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하도록 구성된 수신기; 및 상기 수신기에 연결되고, 상기 MPD를 처리하도록 구성된 프로세서를 포함하며, 상기 MPD가, 디스크립터 타입(descriptor type) 디스크립터(descriptor), 필수적 프로퍼티(essential property) 디스크립터 및 추가적 프로퍼티(supplemental property) 디스크립터에 관한 적어도 하나의 식별자(ID, identifier) 속성(attribiute)를 포함하고, 상기 ID 속성은 상기 디스크립터에 대한 식별자를 지정하며, 상기 필수적 프로퍼티 디스크립터는, 보유 중인 엘리먼트(containing element)를 처리하기 위해, 미디어 프레젠테이션 작성자에 의해 필수적인 것으로 간주된 보유 중인 엘리먼트에 관한 정보를 지정하고, 그리고 상기 추가적 프로퍼티 디스크립터는, 처리를 최적화하는 상기 클라이언트에 의해 사용될 수 있는 보유 중인 엘리먼트에 대한 추가 정보를 지정하는, 장치를 포함한다.
또 다른 일 실시예에서, 본 개시는, DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하는 단계; 및 상기 MPD를 송신하는 단계를 포함하며, 상기 MPD는 클라이언트의 행위를 지정하기 위한 메커니즘을 포함하고, 그리고 상기 메커니즘이, 상기 클라이언트의 특성(feature) 지원 능력에 따라 상기 클라이언트가 콘텐츠를 다운로드 할 수 있는지를 좌우하는, 방법을 포함한다.
또 다른 일 실시예에서, 본 개시는, DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하는 단계; 및 상기 MPD를 처리하는 단계를 포함하며, 상기 ID 속성은 상기 디스크립터에 대한 식별자를 지정하며, 상기 필수적 프로퍼티 디스크립터는, 보유 중인 엘리먼트(containing element)를 처리하기 위해, 미디어 프레젠테이션 작성자에 의해 필수적인 것으로 간주된 보유 중인 엘리먼트에 관한 정보를 지정하고, 그리고 상기 추가적 프로퍼티 디스크립터는, 처리를 최적화하는 상기 클라이언트에 의해 사용될 수 있는 보유 중인 엘리먼트에 대한 추가 정보를 지정하는, 방법을 포함한다.
상기 특징 및 다른 특징들은 첨부된 도면 및 청구범위와 함께 이루어지는 이하의 상세한 설명으로부터 더 명백하게 이해될 것이다.
본 개시를 보다 완전하게 이해하기 위해, 첨부된 도면 및 상세한 설명과 관련하여 여기서는 이하의 간략한 설명을 참조하며, 같은 참조 번호는 같은 부분을 나타낸다.
도 1은 본 개시의 일 실시예에 따른 DASH 시스템의 모식도이다.
도 2는 본 개시의 일 실시예에 따른 네트워크 장치의 모식도이다.
도 3은 본 개시의 일 실시예에 따른 DASH 시스템에 관한 프로토콜 도면이다.
도 4는 본 개시의 일 실시예에 따른 MPD(Media Presentation Description)의 모식도이다.
도 5는 본 개시의 일 실시예에 따른 방법을 나타낸 흐름도이다.
먼저, 이하에서는 1 이상의 실시예가 제공되지만, 개시된 시스템 및/또는 방법은 현재 공지 또는 존재 여부를 불문하고 다양한 기술을 이용하여 구현될 수 있음을 이해해야 한다. 본 개시는, 여기에서 설명 및 묘사되는 예시적 설계 및 실시예를 포함하여, 이하에서 설명되는 설명을 위한 실시예, 도면 및 기술에 결코 한정되지 않으며, 다만 첨부된 청구범위와 그 동등물의 최대 범위 내에서 변경될 수 있다.
DASH의 설계에는 적어도 두 가지 문제점이 있다. 첫째로, DASH는 HTTP 서버와 클라이언트 사이의 인터페이스를 규정하지만(define), 클라이언트 행위(client behavior)를 직접 규정하지는 않는다. 상호 운용이 가능한(interoperable) 클라이언트를 구현하기 위해, DASH는 몇몇 클라이언트 행위를 지정할(specify) 필요가 있다. 그러한 몇몇 지정된 행위는 광고 삽입과 연관될 수 있고, 또한 몇몇은 HTTP 서버 또는 콘텐츠 제공자에 의해 부과되는 콘텐츠의 다운로딩 및 시청에 관한 제약과 연관될 수 있다. 둘째로, HTTP는, 데이터에 관한 각각의 요청을, 이전의 어떠한 요청과도 무관한 독립적인 트랜잭션(transaction)으로 취급한다는 점에서, 무상태 프로토콜(stateless protocol)이다. 그러므로 HTTP는, 본 명세서에서 동일한 사용자에 의한 연속적 또는 불연속적인 다운로딩, 프레젠팅(presenting) 또는 미디어 프레젠테이션의 보여주기(viewing)로 일컬어질 수 있는 세션(session)의 개념을 갖지 않는다. 예를 들어, 세션은, 태블릿 컴퓨터 상에 미디어 프레젠테이션의 일부를 보여주고(viewing), 태블릿 컴퓨터 상에 보여주는 것을 중단하고, 노트북 컴퓨터 등의 제2 클라이언트 상에서 보여주기를 재개(resuming)하는, 태블릿 컴퓨터 등의 제1 클라이언트와 연관된 사용자를 포함할 수 있다. HTTP의 무상태 및 세션 개념 부재의 결과로, HTTP 서버는 어떤 클라이언트가 어떤 콘텐츠를 다운로드했는지를 바로 알 수 없다. 그보다 HTTP 서버는 어떤 콘텐츠가 요청되었고 다운로드되었는지 만을 알 수 있을 뿐이다. 나아가 클라이언트가 다중(multiple) HTTP 서버로부터 다운로드할 경우, 이후에 클라이언트는 어떤 HTTP 서버로부터 다운로드한 것인지를 알 수 있을 뿐이다. 그러나 몇몇 예시에서는 상태성(statefulness)이 요구될 수 있다. 예를 들어, HTTP 서버 또는 ad 서버는, 클라이언트에 대한 정보를 얻어내어 클라이언트에게 타겟팅된 광고를 제공하기 위해, 어떤 클라이언트가 세션 내에 속해있는지를 알고자 할 것이다. 또한, HTTP 서버는 콘텐츠에 대한 요청과 그 콘텐츠의 순위(rating)를 연관시키고자 할 수 있다. 이러한 광고 및 순위는 콘텐츠 수익 창출(monetization)의 가능성을 넓힐 수 있다.
본 명세서에는 개선된 DASH 실시예에 관한 시스템 및 방법이 개시되어 있다. 개시된 기술은 클라이언트 디스크립터(descriptor)를 통해 클라이언트 행위를 지정하고(specifying) 세션을 식별(identifying)하는 메커니즘을 제공할 수 있다. 따라서 개시된 기술은 상술한 각각의 쟁점을 다룰 수 있다. 또한 본 개시된 기술은 다른 표준에 적용될 수도 있고 다른 표준개발기관(SDOs, Standards Developing Organizations)에 의해 실현될 수도 있다. 즉, 개시된 기술은 23009-1 또는 다른 DASH 표준들로 제한되지 않는다. 나아가 개시된 기술은 주문형 비디오 또는 화상 회의에 한정되지 않으며, 다른 형태의 미디어 콘텐츠에도 적용될 수 있다.
도 1은 본 개시의 일 실시예에 따른 DASH 시스템(100)의 모식도이다. 본 시스템(100)은 복수의(예를 들어, n개의) HTTP 서버(110), ad 서버(140), DASH 클라이언트(150) 및 네트워크(180)를 포함할 수 있다. HTTP 서버(110), ad 서버(140) 및 클라이언트(150)는 네트워크(180) 및 HTTP 캐시(HTTP caches, 도시되지 않음) 등의 다른 네트워크 컴포넌트를 통해 서로 통신하도록(communicatively) 연결될 수 있다.
HTTP 서버(110)는 HTTP를 통해 데이터를 송신 및 수신하도록 구성된 임의의 하드웨어 컴퓨터 서버일 수 있다. HTTP 서버(110)는, HTTP를 통해서, 그리고 DASH 표준에 따라, 데이터를 송신 및 수신하도록 구성된 서버 DASH 모듈(DMs, server DASH modules)(120)을 포함할 수 있다. HTTP 서버는, 콘텐츠 전달의 목적으로 다수의 백본(backbones)을 걸쳐 다수의 데이터 센터 내에 배치된 서버들의 분산 시스템(distributed system)이라 일컬어질 수 있는, 콘텐츠 전달망(CDN, content delivery network)(130)을 형성할 수 있다. CDN(130)은 다수의 HTTP 서버(110)를 포함할 수 있으므로 n은 임의의 수가 될 수 있다. 일반적으로, CDN은 수천 개의 서버를 포함할 수 있다.
ad 서버(140)는 HTTP를 통해 데이터를 송신 및 수신하도록 구성된 임의의 하드웨어 컴퓨터 서버일 수 있다. 특히, ad 서버(140)는 ad에 대한 요청을 수신하고, 요청된 ad를 다른 네트워크 컴포넌트로 송신할 수 있다. ad 서버(140)는 시스템(100)을 걸쳐서 다수 존재할 수 있다. ad 서버(140)가 다수 존재할 경우라면, ad 서버(140)는 서로 연관되거나 연관되지 않을 수 있다.
클라이언트(150)는 HTTP를 통해 데이터를 송신 및 수신하도록 구성된 임의의 하드웨어 장치일 수 있다. 예를 들어, 클라이언트(150)는 노트북 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터, 휴대 전화 또는 또 다른 장치일 수 있다. 클라이언트(150)는 클라이언트 DM(155), 애플리케이션(170) 및 그래픽 사용자 인터페이스(GUI, graphical user interface)(175)를 포함할 수 있다.
클라이언트 DM(155)은 DASH 표준에 따라 HTTP를 통해 데이터를 송신 및 수신하도록 구성될 수 있다. 클라이언트 DM(155)은 DASH 액세스 엔진(DAE, DASH access engine)(165) 및 미디어 출력(ME, media output)(165)을 포함할 수 있다. DAE(160)는, HTTP 서버(110)로부터 원시 데이터(raw data)를 수신하여 그 데이터를 보여주기 위한 포맷(a format for viewing)으로 구성하기(constructing) 위한 일차 컴포넌트(primary component)일 수 있다. 예를 들어, DAE(160)는, 위 데이터를, 타이밍 데이터(timing data)와 함께 MPEG(Moving Picture Experts Group) 컨테이너(container) 포맷으로 포맷팅할(format) 수 있고, 이후에는 포맷팅된 데이터를 ME(165)로 출력할 수 있다. ME(165)는 콘텐츠와 관련이 있는 초기화(initialization), 재생(playback) 및 다른 기능들을 책임질 수 있으며 그러한 콘텐츠를 애플리케이션(170)으로 출력할 수 있다.
애플리케이션(170)은 콘텐츠를 다운로딩 및 프레젠팅하도록 구성된 인터페이스를 가지는 웹브라우저 또는 기타 애플리케이션일 수 있다. 애플리케이션(170)은 GUI(175)에 연결될 수 있으며 이로써 클라이언트(150)와 연관되어 있는 사용자는 애플리케이션(170)의 다양한 기능을 볼 수 있다. 애플리케이션(170) 탐색 기능을 포함할 수 있으며 이로써 사용자는 콘텐츠를 탐색할 수 있다. 예를 들어, 애플리케이션(170)이 미디어 플레이어인 경우, 애플리케이션(170)은 이후에 탐색 바(bar)를 포함할 수 있으며 이로써 사용자는 영화 탐색을 위한 문자열을 입력할 수 있다. 애플리케이션(170)은 탐색 히트수(hits)의 목록을 프레젠팅할 수 있고, 사용자는 히트수 중에서 원하는 영화를 선택할 수 있다. 선택에 있어서, 애플리케이션(170)은 영화를 다운로드하기 위해 클라이언트 DM(155)으로 명령을 송신할 수 있다. DM(155)은 영화를 다운로드하고 영화를 애플리케이션(170)으로 출력하도록 프로세싱할 수 있다. 애플리케이션(170)은, 사용자에 의해 보여주기 위한 영화를 GUI(175)가 디스플레이하도록, GUI(175)에 명령을 보낼(provide) 수 있다. 애플케이션(170)은, GUI(175)가 영화의 시간적 진행을 보여주는 진행 바(progress bar)를 디스플레이하도록, GUI(175)에 더 명령을 보낼 수 있다.
GUI(175)는 애플리케이션(170)의 기능을 디스플레이하도록 구성된 임의의 GUI일 수 있으며, 이에 따라 사용자는 애플리케이션을 작동시킬(operate) 수 있다. 전술한 바와 같이, GUI(175)는 애플리케이션(170)의 다양한 기능을 디스플레이할 수 있기 때문에 사용자는 다운로드할 콘텐츠를 선택할 수 있다. 그 후에 GUI(175)는 사용자가 보기 위한 시청용 콘텐츠를 디스플레이할 수 있다.
네트워크(180)는 HTTP 서버(110), ad 서버(140) 및 클라이언트(150) 간의 통신에 공급하도록 구성된 임의의 네트워크일 수 있다. 예를 들어, 네트워크(180)는 인터넷, 휴대 전화 네트워크 또는 또 다른 네트워크일 수 있다. 네트워크(180)는 유선 또는 무선 채널을 따라 통신을 허용할 수 있다.
도 2는 본 개시의 일 실시예에 따른 네트워크 장치(200)의 모식도이다. 장치(200)는, 데이터 수신을 위한 복수의 입력 포트(ingress ports)(210) 및/또는 수신 유닛(Rx, receiver units)(220), 신호를 처리하는 로직 유닛(logic unit) 또는 프로세서(230), 데이터를 다른 컴포넌트로 송신하기 위한 복수의 출력 포트(egress ports)(240) 및/또는 송신 유닛(Tx, transmitter units)(250) 및 메모리(260)를 포함할 수 있다. 장치(200)는 개시된 특징, 방법 및 장치들 중 어떤 것이라도 구현하기에 적절할 것이다. 예를 들어, 장치(200)는 HTTP 서버(110), ad 서버(140) 및 클라이언트(150)를 구현하기에 적절할 것이다.
CPU(central processing unit)로 일컬어질 수 있는 로직 유닛(230)은, 입력 포트(210), 수신 유닛(220), 출구 포트(240), 전송 유닛(250) 및 메모리(260)와 통신할 수 있다. 로직 유닛(230)은 하나 이상의 CPU 칩, 코어(cores)(예를 들어, 멀티 코어 프로세서 등), FPGAs(field-programmable gate arrays), ASICs(application specific integrated circuits) 및/또는 DSPs(digital signal processors)로서 구현되고/구현되거나, 하나 이상의 ASICs 중의 일부분일 수 있다.
메모리(260)는, 하나 이상의 디스크, 테이브 드라이브(tape drives), 광디스크 드라이브(optical disc drives) 또는 고체 드라이브(solid-state drives)로 구성될 수 있고; 데이터의 비휘발성 스토리지(non-volatile storage)를 위해 사용되고 오버플로 데이터 스토리지 장치(over-flow data storage device)로서 사용될 수 있으며; 프로그램이 실행을 위해 선택될 경우 그 프로그램을 저장하는 데에 사용될 수 있고; 그리고 프로그램 실행 중에 판독된 명령 및 데이터를 저장하는 데에 사용될 수 있다. 메모리(260)는 휘발성 및/또는 비휘발성일 수 있으며, ROM(read-only memory), RAM(random-access memory), TCAM(ternary content-addressable memory), SRAM(static random access memory), 다른 적절하 타입의 메모리, 또는 이들의 임의의 조합일 수 있다. 메모리(260)는, 서버 DMs(120) 또는 클라이언트 DM(155)을 구현하기에 적절할 만한 DM(270)을 포함할 수 있다. 메모리(260)가 DM(270)을 포함하는 것으로 보여지는 반면, 로직 유닛(230) 또는 로직 유닛(230) 및 메모리(260)의 임의의 조합은 그 대신 DM(270)을 포함할 수 있다.
도 3은 본 개시의 일 실시예에 따른 DASH 시스템(100)을 위한 프로토콜 도면(300)이다. 클라이언트(150)는 주요 콘텐츠를 다운로드하고자 할 수 있다. 이 경우, 단계 310에서, 클라이언트(150)는, HTTP 서버(110)들의 임의의 조합으로부터 주요 콘텐츠의 세그먼트를 다운로딩 및 수신하기 위한 명령을 포함할 수 있는, MPD에 관한 요청을, HTTP 서버1(1101)로 전송하거나(send), 송신하거나(transmit), 업로드할 수 있다. 주요 콘텐츠의 세그먼트를 다운로드하기 위한 명령에 더하여, MPD는, ad 서버(140)로부터 ad 콘텐츠의 세그먼트를 다운로드하기 위한 명령을, 요구하고, 포함할 수 있다. MPDs는 이하에서 더 완전하게 설명된다. 단계 320에서, HTTP 서버1(1101)는 MPD를 클라이언트(150)로 전송할 수 있다. 주요 콘텐츠 및 ad 콘텐츠의 세그먼트를 위해 HTTP 서버(110)로부터 요청을 구성(construct) 및 발행(issue)하기 위하여, 클라이언트(150)는 DAE(160)를 통해 MPD를 수신할 수 있으며, DAE(160)는 MPD를 처리할 수 있다.
단계 330에서, MPD에 의해 명령된 대로, 클라이언트(150)는, DAE(160)를 통해 주요 콘텐츠의 제1 세그먼트에 관한 제1 세그먼트 요청을 HTTP 서버1(1101)로 전송 다양한 기능을 수행하며 데이터를 애플리케이션(170)으로 출력할 수 있는 할 수 있다. 단계 340에서, HTTP 서버1(1101)은 서버 DM(120)을 통해 주요 콘텐츠의 제1 세그먼트를 클라이언트(150)로 전송할 수 있다. DAE(160)는 제1 세그먼트를 수신, 처리 및 포맷팅한 후에, ME(165)로 포맷팅된 데이터를 출력할 수 있다. 버퍼링 기간 이후에, 애플리케이션(170)은 GUI(175)를 통해 보여줄 데이터를 프레젠팅할 수 있다.
단계 350에서는, MPD에 의해 명령된 대로, 클라이언트(150)가 DAE(160)를 통해 ad 콘텐츠 요청을 ad 서버(140)로 전송할 수 있다. 단계 360에서는, ad 서버(140)가 ad 콘텐츠를 ad 클라이언트(150)에게 전송할 수 있다. MPD는, 클라이언트(150)가 주요 콘텐츠의 부가 세그먼트의 다운로드를 진행하기 전에 클라이언트(150)가 ad 콘텐츠를 다운로드하여 프레젠팅하도록 요구할 수 있다.
그 후에, MPD에 의해 명령된 대로, 클라이언트(150)는, 단계 370에서, 클라이언트(150)가 DAE(160)를 통해 주요 콘텐츠의 최종 세그먼트(last segment)에 대한 최종 세그먼트 요청을 HTTP 서버2(1102)로 전송하기 전까지, ad 콘텐츠 뿐만 아니라 주요 콘텐츠의 부가 세그먼트에 대한 요청을 전송하고, 또 그러한 부가 세그먼트를 수신할 수 있다. 최종적으로, 단계 380에서, HTTP 서버2(1102)는 서버 DM(120)을 통해 주요 콘텐츠의 최종 세그먼트를 클라이언트(150)로 전송할 수 있다. 각각의 세그먼트를 수신한 후에, DAE(160)는 그러한 세그먼트를 처리 및 포맷팅할 수 있으며, 이후에는 포맷팅된 데이터를 ME(165)로 출력할 수 있다. ME(165)는 다양한 기능을 수행하고 데이터를 애플리케이션(170)으로 출력할 수 있다. 버퍼링 기간 이후에, 애플리케이션(170)은 GUI(175)를 통해 보여줄 데이터를 프레젠팅할 수 있다.
주요 콘텐츠 및 ad 콘텐츠는 MPD에 의해 명령된 임의의 순서로 다운로드될 수 있다. 클라이언트(150)는, 보여주려는 콘텐츠를 디스플레이함과 동시에 콘텐츠를 다운로드할 수 있다. 이러한 동시다발적 다운로딩 및 디스플레잉으로 인하여 본 프로세스가 스트리밍으로 일컬어질 수 있는 것이다. MPD의 요청 및 수신의 프로세스는 반복적이다(reiterative). 예를 들어, 클라이언트(150)는, 다양한 이유로 업데이트된 MPD를 요청하거나, 요청하도록 명령을 받을 수 있다.
도 4는 본 개시의 일 실시예에 따른 MPD(400)의 모식도이다. MPD(400)는 Period(410), Adaptation Set(420), Representation(430), Segment(440), Sub-Representation(450) 및 Sub-Segment(460) 엘리먼트(element)를 포함할 수 있다. 여기에서 볼드체(bold face)는 생략되었으나, 이러한 엘리먼트들은 볼드체를 비롯하여 대문자로 된 첫 글자 및 낙타 대문자(camel-casing)에 의해 구별될 수 있다. 예를 들어, Segment(440)는, 이하에서 보다 완전하게 설명되는 바와 같이, 나중에는 데이터의 유닛이 될 수 있는 세그먼트와 연관된 MPD(400)의 엘리먼트일 수 있다. 마찬가지로, Period(410)는 데이터의 기간(period)와 연관될 수 있다. 23009-1에서, MPD(400)는 “스트리밍 서비스 제공을 목적으로 하는 미디어 프레젠테이션에 관한 형식화된 디스크립션(a formalized description for a [m]edia [p]resentation for the purpose of providing a streaming service)”이라 일컬어질 수 있다. 결국 미디어 프레젠테이션은 “미디어 콘텐츠의 프레젠테이션…을 구현하는 데이터의 모음(a collection of data that establishes a…presentation of media content)”이라 일컬어질 수 있다. 특히, MPD(400)는, 데이터의 세그먼트를 다운로드하기 위해, HTTP URLs(uniform resource locators), 또는 네트워크 주소를 어나운싱하기(announce) 위한 포맷을 규정할 수 있다. 세그먼트는 URL과 연관된 데이터의 유닛이라 일컬어질 수 있다. 즉, 세그먼트는 일반적으로 단일 URL을 사용하여 단일 HTTP 요청으로 회수될(retrieved) 수 있는 데이터의 최대 유닛일 수 있다. MPD(400)는 XML(Extensible Markup Language) 문서일 수 있다.
요컨대, MPD(400)는, 데이터의 세그먼트를 다운로드하기 위한 하나 이상의 HTTP 서버(110)를 가리키며, 복수의 URL을 구성하도록 클라이언트(150)에 의해 사용되는, 복수의 URL 또는 메타데이터를 포함할 수 있다. 예를 들어, 도 3을 참조하면, 단계 320에서, 클라이언트(150)는 MPD 내에서 복수의 URL을 수신할 수 있다. 제1 URL은 제1 세그먼트와 연관되고 HTTP 서버1(1101)을 가리킬 수 있으며, 이에 따라 클라이언트(150)는 HTTP 서버1(1101)로부터 제1 세그먼트를 요청하여 수신한다. 제2 URL은 ad 콘텐츠와 연관되고 ad 서버(140)를 가리킬 수 있으며, 이에 따라 클라이언트(150)는 ad 서버(140)로부터 ad 콘텐츠를 요청하여 수신한다. 이와 같은 프로세스는, 클라이언트(150)가 최종 URL과 연관된 HTTP 서버(110) 로부터 콘텐츠를 요청하여 수신하기 전까지 계속될 수 있다.
도 4를 참조해 보면, MPD(400)는 계층 데이터 모델(hierarchical data model)인 것을 알 수 있다. 23009-1에서, Period(410)는 전형적으로 “미디어 콘텐츠의 인코딩된 버전의 일관된 세트가 유효한 동안의 미디어 콘텐츠 기간(a media content period during which a consistent set of encoded versions of the media content is available)”을 나타낼 수 있다. 즉, “유효한 비트율, 언어, 캡션, 자막 등은 [p]eriod 중에 변하지 않는다(the set of available bitrates, languages, captions, subtitles, etc. does not change during a [p]eriod)”는 의미이다. Representation(430)은 “하나 또는 여러 개의 미디어 콘텐츠의 전달 가능한 인코딩된 버전(a deliverable encoded version of one or several media content components)”을 기술할(describe) 수 있다. 클라이언트(150)는, “네트워크 환경 또는 다른 요인들에 적응하기 위하여… Representation에서 Representation으로 스위칭할 수 있다(may switch from Representation to Representation…in order to adapt to network conditions or other factors).” 따라서 DASH의 적응성은, Adaptation Set(420)로 일컬어질 수 있는, 상호 교환 가능한(mutually interchangeable) Representations(430)의 세트 중에 있는 것이다. 클라이언트(150)는 그것이 소정의(specific) Representation(430)을 지원할(support) 수 있을지를 판정할 수 있다. 지원할 수 없다고 판정할 경우, 이후에 클라이언트(150)는 그것이 지원할 수 있는 다른 Representation(430)을 선택할 수 있다. 그 후에 클라이언트(150)는, 클라이언트(150)가 다운로딩을 멈추거나(cease), 또는 클라이언트(150)가 또 다른 Representation(430)을 선택하기 전까지, 선택된 Representation 내에서 각각의 세그먼트의 다운로딩을 시작할 수 있다.
Period(410), Adaptation Set(420), Representation(430), Segment(440), Sub-Representation(450) 및 Sub-Segment(460) 엘리먼트는 데이터를 묘사한다(describe). 각각의 엘리먼트는, 엘리먼트에 대한 정의를 더 규정할(provide) 수 있는 엘리먼트의 특성과 같은, 하나 이상의 속성(attributes)을 포함할 수 있다. 엘리먼트 및 속성은 본 명세서에 전체적으로 통합된 XML(Extensible Markup Language) 1.0(5판, 2008)에서 정의된다. 속성은 선행하여 쓰이는 심볼 @(preceding @ symbol)에 의해 구별될 수 있다. 예를 들어, Period(410)는, 프레젠테이션 타임라인 상에서 Period(410)와 연관된 기간이 시작할 때를 지정하는(specify) @start 속성을 포함할 수 있다. Segment(440), Sub-Representation(450) 및 Sub-Segment(460) 엘리먼트는 23009-1에 설명되었으며 여기에서는 더 이상 설명되지 않아도 무방하다.
전술한 바와 같이, DASH는 클라이언트(150) 행위를 직접 규정하지 않는다. 그러나 DASH는, 특정의 특성(specific features)에 대한 클라이언트(150)의 지원 능력에 따라 클라이언트(150)가 데이터를 다운로드할 수 있는지를 좌우한다. 예를 들어, Representation(430)이 ContentProtection 디스크립터를 포함할 경우, DASH는, 클라이언트(150)가 ContentProtection 디스크립터에 정의된 스킴(scheme) 중 적어도 하나를 지원하지 않는 한, 클라이언트(150)로 하여금 Representation(430)과 연관된 세그먼트를 다운로드하지 못하도록 할 수 있다. 디스크립터는, 콘텐츠 및 콘텐츠를 식별하는 고유한 스킴 식별자(unique scheme identifier)를 갖는 데이터 구조(data structure)를 일컬을 수 있다. 디스크립터는 엘리먼트의 종류일 수 있다. DASH는 세 가지 종류의 디스크립터를 설명한다. 첫째로, Representation(430)의 필수적인(essential or required) 디스크립터는, Representation(430)과 연관된 세그먼트를 다운로드하기 위해 클라이언트(150)가 디스크립터를 지원하도록 요구할 수 있다. 둘째로, Representation(430)의 디스크립터 그룹은, Representation(430)과 연관된 세그먼트를 다운로드하기 위해 그룹 내의 디스크립터들 중 단 하나만을 지원하도록 요구할 수 있다. 셋째로, Representation(430)의 필수적이지 않은(정보를 위한 것 또는 선택적인 것, informative or optional) 디스크립터는, 클라이언트(150)가 어떠한 것을 지원하도록 요구할 수 있으나, 그 대신 Representation(430)과 연관된 콘텐츠에 대한 정보를 간단하게 제공할 수도 있다. 예를 들어, 순위 정보 디스크립터(rating informational descriptor)는 클라이언트(150)에게 순위를 제공할 수 있으며, 이에 따라 클라이언트(150)는, 순위를 디스플레이할 수 있고, 예를 들어 시청 규제(parental controls)를 통해 Representation(430)과 연관된 세그먼트를 다운로드 또는 디스플레이할지 또는 하지 않을지 여부를 단독으로 판정할 수 있다.
따라서 본 개시 기술은 클라이언트 행위를 지정하기 위한 일반적인 프레임워크를 포함할 수 있다. 본 개시 기술은 일반적인 프레임워크를 사용하는 새로운 세션, 이벤트, 제네릭(generic) 및 URL 인증 디스크립터를 더 포함할 수 있다. 일반적인 프레임워크 및 새로운 디스크립터는 Period(410), Adaptation Set(420), Representation(430) 또는 Sub-Representation(450) 레벨에 있을 수 있다. 일반적인 프레임워크는 클라이언트(150) 행위를 지정할 수 있으며, 필요한 그룹 및 선택적인 콘텍스트에 대해서도 그와 같이 할 수 있다.
제1 실시예에서, 일반적인 프레임워크는, 표 1에 나타낸 속성과 함께 추상적인(abstract) DescriptorType 디스크립터로부터 상속된(inherited) 새로운 ClientDescriptor 디스크립터를 포함할 수 있다.
Figure 112015002407812-pct00001
[표 1] ClientDescriptor 디스크립터 및 대응하는 속성들
표 1에서, @schemeIdUri 속성 및 @value 속성은 23009-1에서 규정된(provided) 것과 유사한 것일 수 있다. 또한, 일반적인 프레임워크는, 표 2에 나타낸 속성과 함께 DescriptorType 디스크립터로부터 상속된 ClientDescriptorGroup 디스크립터를 포함할 수 있다.
Figure 112015002407812-pct00002
[표 2] ClientDescriptorGroup 디스크립터 및 대응하는 속성들
제2 실시예에서, 일반적인 프레임워크는 새로운 ClientDescriptor 디스크립터를 포함하지 않을 수 있으나, 그 대신 표 3에 나타낸 것과 같이 DescriptorType 디스크립터에 관한 @id 속성을 포함할 수 있다.
Figure 112015002407812-pct00003
[표 3] DescriptorType 디스크립터 및 대응하는 속성들
표 3에서, @id 속성은 표 1의 @groupId 속성과 유사한 것일 수 있으며, @schemeIdUri 속성 및 @value 속성은 23009-1에 규정된 것들과 유사한 것일 수 있다. 또한, 일반적인 프레임워크는 EssentialProperty 디스크립터 및 SupplementalProperty 디스크립터를 포함할 수 있다. EssentialProperty 디스크립터는 보유 중인 엘리먼트(containing element)를 처리하기 위해, 미디어 프레젠테이션 작성자(author)에 의해 필수적인(essential) 것으로 간주된 보유 중인 엘리먼트에 관한 정보를 지정할 수 있다. 각각의 개별적인 @id 값 중 적어도 하나의 EssentialProperty 디스크립터는 처리된 것으로 예측될(expected) 수 있다. 따라서 EssentialProperty 디스크립터는 표 1의 @behaviour 속성의 요구값에 대응할 수 있다. SupplementalProperty 디스크립터는 처리를 최적화하는 DASH 클라이언트에 의해 사용될 수 있는 보유 중인 엘리먼트에 대한 추가 정보(supplemental information)를 지정할 수 있다. 따라서 SupplementalProperty 디스크립터는 표 1의 @behaviour 속성의 선택적 값에 대응할 수 있다.
세션 디스크립터는 세션을 식별할 수 있다. 세션을 식별함으로써, HTTP 서버(110)는, 어떤 데이터가 다운로드되었고, 그 데이터가 언제 다운로드되었으며, 어떤 클라이언트가 그 데이터를 다운로드 했는지를 판정할 수 있을 것이다. 이와 같이 함으로써, 전술한 바와 같이, HTTP 서버(110) 또는 ad 서버(140)는 타겟팅된 ad를 클라이언트에게 제공할 수 있으며, HTTP 서버는 콘텐츠에 관한 요청을 그 콘텐츠의 순위와 연관시킬 수 있다. 또한, 세션 식별은 인증 및 인타이틀(entitlement)을 제공할 수 있으며(예를 들어, 클라이언트(150)과 연관된 사용자가 콘텐츠를 보기 위한 알맞은 구독 레벨을 구입, 대여 또는 획득했는지 여부), 이는 아래에서 보다 완전하게 설명된다. 세션 디스크립터는 정적 또는 동적으로 세션 IDs를 세그먼트 URLs에 임베딩(embedding) 할 수 있다. 첫 번째 예시로, HTTP 서버(110)는 세션 ID를 MPD(400)로 삽입할 수 있고, 클라이언트(150)는 그 세션 ID를 세그먼트 URLs에 임베딩할 수 있다. 세션 ID가 동일하게 남아 있기 때문에, 세션 ID 임베딩은 정적이라고 할 수 있다. 두 번째 예시로, HTTP 서버(110)는 셋션 ID URL을 MPD(400)로 삽입할 수 있고, 클라이언트(150)는 그 URL과 연관된 HTTP 서버(110)로부터 세션 ID를 요청할 수 있다. 클라이언트(150)가 그 URL과 연관된 HTTP 서버(110)로부터 세션 ID를 요청할 때마다 세션 ID가 다를 수 있기 때문에, 세션 ID 임베딩은 동적이라고 할 수 있다. 동적 임베딩은 특히 클라이언트(150)가 동일한 MPD(400)를 여러 번 사용할 때에 적합할 수 있다. 결과적인 세션 ID는 $SessionID$ 치환 변수(substitution variable)이 될 수 있으며 템플릿(template)에서 사용될 수 있다.
제1 실시예에서, 세션 디스크립터는, ClientDescriptor 디스크립터로부터 상속되고, 결국 DescriptorType 디스크립터로부터 상속되는, 새로운 SessionDescriptor 디스크립터를 포함할 수 있다. SessionDescriptor 디스크립터는 표 4에 나타낸 속성을 포함할 수 있다.
Figure 112015002407812-pct00004
[표 4] SessionDescriptor 디스크립터 및 대응하는 속성들
제2 실시예에서, 세션 디스크립터는 세션을 식별하기 위한 또 다른 방식을 포함할 수 있다. 세션 디스크립터는, 새로운, 상속된 또는 상속되지 않은 엘리먼트, 디스크립터 또는 다른 데이터 구조로서 세션을 식별하기에 적합한 것을 포함할 수 있다. 세션 디스크립터는 세션을 더 식별하기 위한 속성을 포함할 수 있다.
이벤트 디스크립터는 이벤트를 식별할 수 있다. 이벤트는 시간과 연관된 보조 정보(time-related auxiliary information)을 클라이언트(150) 또는 애플리케이션(170)에 시그널링하는 방법이라 일컬어질 수 있다. 예를 들어, 이벤트는, 주요 콘텐츠가 디스플레이되는 동안 클라이언트(150) 상에 디스플레이하는 ad일 수 있다. 이러한 관점에서 볼 때, ad 콘텐츠는 메인 콘텐츠에 대해 보조적(auxiliary)이라 할 수 있다. 이벤트 스트림은 동일한 콘텍스트를 갖는 이벤트의 시퀀스(sequence)라 일컬어질 수 있다. 예를 들어, 개별적인 ad의 시퀀스는, 주요 콘텐츠가 디스플레이되는 동안 클라이언트(150) 상에 디스플레이할 수 있다. 이벤트의 주요 목적은 ad 삽입을 제공하는 것일 수 있다. 따라서 이벤트 디스크립터는, 이벤트 디스크립터에 설명된 이벤트, 예를 들면 ad가 완료될(fullfill) 때까지, 주요 콘텐츠의 다운로딩 또는 디스플레잉을 방지할 수 있다. 이벤트 디스크립터의 상세한 내용은 임의의 작성자, 예를 들면 HTTP 서버(110) 또는 ad 서버(140)에 의해 정의될 수 있다.
제1 실시예에서, 이벤트 디스크립터는, ClientDescriptor 디스크립터로부터 상속되고, 결국 DescriptorType 디스크립터로부터 상속되는, 새로운 EventDescriptor 디스크립터를 포함할 수 있다. EventDescriptor 디스크립터는, 예를 들어 메시징 스킴(messaging scheme)과 같은 이벤트 를 기술할 수 있다. EventDescriptor 디스크립터는 표 1에 나타낸 속성들을 포함할 수 있다. @behaviour 속성은 기술된 메시징 스킴을 위한 지원이 필요한지(required) 여부를 나타내는 데에 사용될 수 있고, @value 속성은 공백(empty)일 수 있다. 예를 들어, 스킴은 urn:mpeg:dash:client:mpd-update일 수 있다. 클라이언트(150)가 스킴을 지원할 경우, 이후에 클라이언트(150)는, 제1 MPD(400)의 만료시 등 MPD(400) 업데이트 메시지를 수신하자마자 또는 수신한 다음에, 제2의, 업데이트된 MPD(400)를 요청하여 다운로드하도록 요구될 수 있다.
제2 실시예에서, 이벤트 디스크립터는 에빈트를 식별하기 위한 또 다른 방식을 포함할 수 있다. 이벤트 디스크립터는, 새로운, 상속된 또는 상속되지 않은 엘리먼트, 디스크립터 또는 다른 데이터 구조로서 이벤트를 식별하기에 적합한 것을 포함할 수 있다. 이벤트 디스크립터는 이벤트를 더 식별하기 위한 속성을 포함할 수 있다.
제네릭(generic) 디스크립터는 스킵과 연관된 명칭을 가지는 디스크립터일 수 있다. 제네릭 디스크립터는 클라이언트(150) 또는 클라이언트(150)와 연관된 사용자에 의해 정의될 수 있다. 그렇지 않으면, 제네릭 디스크립터는 HTTP 서버(110)와 같은 다른 네트워크(180) 컴포넌트에 의해 정의될 수 있다.
제1 실시예에서, 제네릭 디스크립터는, ClientDescriptor 디스크립터로부터 상속되고, 결국 DescriptorType 디스크립터로부터 상속되는, 새로운 제네렉 디스크립터를 포함할 수 있다. 제네릭 디스크립터는 표 1에 나타낸 속성을 포함할 수 있다. 제네릭 디스크립터의 행위는 @groupId 속성 및 @behaviour 속성에 의해 정의될 수 있다. 또한, 제네릭 디스크립터는 클라이언트(150)가 그것의 타입을 정의하도록 하는 부가 속성을 포함할 수 있다.
제2 실시예에서, 제네렉 디스크립터는 클라이언트(150)가 그것의 타입을 정의하기 위한 또 다른 방식을 포함할 수 있다. 제네렉 디스크립터는, 새로운, 상속된 또는 상속되지 않은 엘리먼트, 디스크립터 또는 다른 데이터 구조로서 클라이언트(150)가 그것의 타입을 정의하기에 적합한 것을 포함할 수 있다. 예를 들어, 제네릭 디스크립터는 EssentialProperty 디스크립터 및 SupplementalProperty 디스크립터를 사용하여 구현될 수 있다. 제네릭 디스크립터는, 클라이언트(150)가 그것의 타입을 더 정의하게 하는 속성을 포함할 수 있다.
URL 인증 디스크립터는 URL 인증을 규정할(provide) 수 있다. URL 인증은 DASH 콘텍스트에서 적어도 다섯 가지의 어드밴티지(advantages)를 부여할(provide) 수 있는 기술이다. 첫째로, HTTP 서버(110)는 URL과 연관된 데이터를 업로딩하기 전에 요청을 확인할(verify)수 있다. 둘째로, URL은 지정된 기간의 시간 동안 유효하게 만들어질 수 있다. 셋째로, URL은 지정된 지리 구역에 대하여 액세스가 제한될 수 있다. 넷째로, HTTP 서버(110)는, 클라이언트(150)가 ad 콘텐츠를 다운로드 중일 경우, 클라이언트(150)와 연관된 URL 시그니쳐(signature)를 인지하고 주요 콘텐츠로의 액세스를 제한할 수 있다. 다섯째로, HTTP 서버(110)는, 클라이언트(150)와 연관된 URL 시그니쳐를 인지하고, 클라이언트(150)가 세션을 언제 완료하였는지를 판정하며, 그 세션에 대한 로깅(logging) 및 과금(billing)을 허용한다.
URL 인증은 이하의 다섯 단계를 포함할 수 있다. 첫째로, 클라이언트(150)는 인증키 및 URL을 다운로드할 수 있다. 예를 들어 URL은 “www.cdn1.example.com/movie/256K/seg00001.ts”일 수 있다. 둘째로, 인증키를 사용하여, 클라이언트(150)가, 예를 들어, 잠금(keyed)-해시 메시지 인증 코드(HMAC, hash message authentication code) SHA-1 시그니쳐와 같은, URL을 위한 시그니쳐를 계산할 수 있다. 셋째로, 클라이언트(150)가 위의 시그니쳐를 위의 URL에 첨부하여 사인된 URL을 생성할 수 있다. 예를 들어 사인된 URL은 “http://cdn1.example.com/seg00001.ts?seg=198d6c52a8755d77da7239ea0c753a7f7870d0e0”일 수 있다. 넷째로, 클라이언트(150)는 사인된 URL을 사용하여 연관 데이터에 관한 요청을 HTTP 서버(110)로 전송할 수 있다. 다섯째로, HTTP 서버(110)가 사인된 URL을 인증하면(validate), 이후에 HTTP 서버(110)가 사인된 URL과 연관된 데이터를 업로드할 수 있고; HTTP 서버(110)가 사인된 URL을 무효화하면(invalidate), 이후에 HTTP 서버(110)가 위의 요청을 폐기하거나, 에러 메시지를 업로드할 수 있다. 인증키는 지정된 시간이 경과한 후에 만료될 수 있다. URL 인증이 세션 관리를 위해 사용될 경우, 이후에, 예를 들어 클라이언트(150)가 지정된 수의 장치로 콘텐츠를 공유하는 것을 제한하기에 편리한 때에, 세션을 종료하는 것이 바람직할 수 있다.
제1 실시예에서, URL 인증 디스크립터는, ClientDescriptor 디스크립터로부터 상속되고, 결국 DescriptorType 디스크립터로부터 상속되는, 새로운 UrlAuthentication 디스크립터를 포함할 수 있다. UrlAuthentication 디스크립터는 표 5에 나타낸 속성을 포함할 수 있다.
Figure 112015002407812-pct00005
[표 5] UrlAuthentication 디스크립터 및 대응하는 속성들
아래는 MPD(400)에서의 UrlAuthentication 디스크립터의 예시일 수 있다:
<UrlAuthentication
algorithm="urn:mpeg:dash:sea:hmac-sha1"
key="33FD3F35CD966"
parameterName="sig" />.
제2 실시예에서, URL 인증 디스크립터는 URL 인증을 제공하는(provide) 또 다른 방식을 포함할 수 있다. URL 인증 디스크립터는, 새로운, 상속된 또는 상속되지 않은 엘리먼트, 디스크립터 또는 다른 데이터 구조로서 URL 인증을 제공(provide)하기에 적합한 것을 포함할 수 있다. 예를 들어, URL 인증 디스크립터는 EssentialProperty 디스크립터 및 SupplementalProperty 디스크립터를 사용하여 구현될 수 있다. URL 인증 디스크립터는 URL 인증을 더 제공하기 위한 속성을 포함할 수 있다.
도 5는 본 개시의 일 실시예에 따른 방법(500)을 나타낸 흐름도이다. 본 방법(500)은, 예를 들면 클라이언트(150)에 의해 구현될 수 있다. 단계 510에서는, DASH MPD에 대한 요청이 수신될 수 있다. 예를 들어, HTTP 서버(110)는 클라이언트(150)로부터 요청을 수신할 수 있다. DASH MPD는 MPD(400)일 수 있다. 단계 520에서는, MPD가 생성될 수 있다. 예를 들어, HTTP 서버(110)가 MPD(400)를 생성할 수 있다. MPD(400)는 클라이언트(150) 행위를 지정하기 위한 메커니즘을 포함할 수 있다. 메커니즘은, 클라이언트(150)의 특성(feature) 지원 능력에 따라 클라이언트(150)가 콘텐츠를 다운로드 할 수 있는지를 좌우할 수 있다. 단계 530에서는, MPD가 송신될 수 있다. 예를 들어, HTTP 서버(110)는 MPD(400)를 클라이언트(150)로 송신할 수 있다.
적어도 하나의 실시예가 개시되었으며, 통상의 기술자는 본 개시의 범위 내에서 본 실시예(들) 및/또는 본 실시예(들)의 특징에 변형, 조합 및/또는 변경을 가할 수 있다. 본 실시예(들)의 특징들의 조합, 결합 및/또는 생략에 의해 초래되는 대체적 실시예들 또한 본 개시의 범위 내에 속한다. 수치 범위 또는 한정이 명확하게 언급된 것에 대하여, 그러한 명백한 범위 또는 한정은 명백하게 언급된 범위 또는 한정의 범위에 들어가는 것과 유사한 정도의 반복적인 범위 또는 한정을 포함하는 것으로 이해될 수 있다(예를 들어, 대략 1부터 대략 10은 2, 3 및 4 등을 포함하며; 0.10 초과는 0.11, 0.12 및 0.13 등을 포함함). 예를 들어, 하한 한정, Rl 및 상한 한정, Ru의 수치 범위가 개시되었으면, 그 범위에 속하는 임의의 수가 구체적으로 개시된 것이다. 특히, 범위 내인 이하의 수들: R = Rl + k * (Ru - Rl), k는 1퍼센트에서 100퍼센트까지에서 1퍼센트씩 증가하는 가변 범위, 즉, k는 1퍼센트, 2퍼센트, 3퍼센트, 4퍼센트, 5퍼센트, …, 50퍼센트, 51퍼센트, 52퍼센트, …, 95퍼센트, 96퍼센트, 97퍼센트, 98퍼센트, 99퍼센트 또는 100퍼센트는 구체적으로 개시된 것이다. 더욱이, 위에서 정의된 두 가지 수 R에 의해 정의되는 임의의 수치 범위도 또한 구체적으로 개시된 것이다. ‘대략’이라는 용어의 사용은 다른 언급이 없으면 그 다음에 나오는 수의 +/- 10%를 의미한다. 청구항의 임의의 엘리먼트에 관한 ‘선택적’이라는 용어의 사용은 그 엘리먼트가 필요하거나, 그렇지 않으면, 그 엘리먼트가 필요하지 않은, 두 가지 경우 모두가 청구항의 범위 내에 속함을 의미한다. 포함 및 가짐(comprises, includes, and having) 등의 보다 광범위한 용어의 사용은 구성되는, 반드시 구성되는, 및 주로 구성되는(consisting of, consisting essentially of, and consisting substantially of) 등의 보다 좁은 용어를 지지하는 것으로 이해될 수 있다. 이에 따라, 본 보호 범위는 위에 명시된 설명에 의해 제한되지 않으며, 이하의 청구범위와, 청구범위의주요 사상(subject matter)의 모든 동등물(equivalents)을 포함하는 범위에 의해 정의된다. 각각의 모든 청구항은 더 개시된 것으로서 본 명세서에 통합되며, 이러한 청구항들은 본 개시의 실시예(들)이다. 본 개시에서의 참고문헌, 특히 공개일이 본 출원의 우선일 이후인 어떠한 참고문헌에 대한 논의는 그것이 선행기술이라고 인정한 것이 아니다. 본 개시에서의 모든 특허, 특허 출원 및 인용 문헌의 개시는 이로써 본 개시에 예시적, 절차적 또는 다른 상세한 보충을 더하는 정도로 참조로써 통합된 것이다.
몇몇 실시예가 본 개시에 제시되었으나, 이는 개시된 시스템 및 방법은 본 개시의 사상 및 범위를 벗어나지 않으면서 소정의 다른 형식으로 다양하게 구현될 수 있음을 이해할 수 있을 것이다. 본 예시들은 설명을 위한 것이지 제한적이지 않으며, 그 의도는 여기에 주어진 상세한 설명들에 제한되지 않는다. 예를 들어, 다양한 엘리먼트 또는 컴포넌트들이 다른 시스템에서 통합 또는 결합될 수 있으며, 소정의 특징들은 생략되거나 보충될 수 있다.
또한, 다양한 실시예에서 설명 및 묘사된 기술, 시스템, 보조 시스템 및 방법은 본 개시의 범위를 벗어나지 않으면서 다른 시스템, 모듈, 기술 또는 방법과 결합 또는 통합될 수 있다. 연결되거나 직접 연결되거나, 또는 서로 통신하는 것으로 도시 또는 논의된 기타 아이템들(items)은, 간접적으로 연결되거나, 전기적, 기계적 또는 다른 방식으로 어떠한 인터페이스, 장치 또는 중간 컴포넌트를 통해 통신할 수 있다. 통상의 기술자는 여기에 개시된 사상 및 범위를 벗어나지 않으면서 변경, 치환 및 개조의 다른 예시들은 확인할 수 있다.

Claims (22)

  1. DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하도록 구성된 수신기;
    상기 수신기에 연결되고, 상기 MPD를 생성하도록 구성된 프로세서; 및
    상기 프로세서에 연결되고, 상기 MPD를 송신하도록 구성된 송신기
    를 포함하며,
    상기 MPD는 클라이언트의 행위를 지정하기 위한 메커니즘을 포함하고,
    상기 메커니즘이, 상기 클라이언트의 특성(feature) 지원 능력에 따라 상기 클라이언트가 콘텐츠를 다운로드 할 수 있는지를 좌우하는,
    장치.
  2. 제1항에 있어서,
    상기 메커니즘이, 디스크립터 타입(descriptor type) 디스크립터(descriptor), 필수적 프로퍼티(essential property) 디스크립터 및 추가적 프로퍼티(supplemental property) 디스크립터에 관한 적어도 하나의 식별자(ID, identifier) 속성(attribiute)를 포함하는, 장치.
  3. 제2항에 있어서,
    상기 ID 속성이 상기 디스크립터에 대한 식별자를 지정하며, 같은 ID 속성을 가지는 디스크립터들은 서로 같은 의미를 가지는(synonymous), 장치.
  4. 제2항에 있어서,
    상기 필수적 프로퍼티 디스크립터가, 보유 중인 엘리먼트(containing element)를 처리하기 위해, 미디어 프레젠테이션 작성자(author)에 의해 필수적인(essential) 것으로 간주된 보유 중인 엘리먼트에 관한 정보를 지정하는, 장치.
  5. 제2항에 있어서,
    상기 추가적 프로퍼티 디스크립터가, 처리를 최적화하는 상기 클라이언트에 의해 사용될 수 있는 보유 중인 엘리먼트에 대한 추가 정보(supplemental information)를 지정하는, 장치.
  6. 제1항에 있어서,
    상기 메커니즘이 세션(session)을 식별하는, 장치.
  7. 제6항에 있어서,
    상기 메커니즘이 세션 ID(session ID) 속성(attribute), 세션 ID URL(session ID URL, session identifier uniform resource locator) 속성 및 세션 지속 시간(session duration) 속성을 포함하는 세션 디스크립터(session descriptor)를 포함하며,
    상기 세션 ID 속성은 세션 식별자를 지정하고, 상기 세션 ID URL 속성은 상기 세션 ID 속성에 의해 기술된 형식의 세션 ID로부터 복귀될 URL을 지정하며, 상기 세션 지속 시간 속성은 상기 세션 식별자가 수신된 시기와 새로운 식별자가 다시 요청되어야 하는 시기 사이의 시간 창(time window)을 지정하는,
    장치.
  8. 제7항에 있어서,
    상기 세션 디스크립터는 세션 릴리즈 URL(session release URL) 속성 및 세션 릴리즈 파라미터 명칭(session release parameter name) 속성을 더 포함하며,
    상기 세션 릴리즈 URL 속성은 상기 클라이언트가 상기 세션을 떠나 있는 서버를 알려주기 위한 URL을 지정하고, 상기 세션 릴리즈 파라미터 명칭 속성은 상기 세션 식별자를 수반하는 쿼리 파라미터의 명칭을 지정하는,
    장치.
  9. 제1항에 있어서,
    상기 메커니즘은 이벤트를 식별하며, 상기 이벤트는 시간과 연관된 보조 정보(time-related auxiliary information)을 상기 클라이언트 또는 애플리케이션에 시그널링하는(signal) 방법인, 장치.
  10. 제9항에 있어서,
    상기 메커니즘은, 스킴 ID URI (scheme identifier uniform resource identifier) 속성, ID(identifier) 속성 및 행위(behaviour) 속성과 함께 이벤트(event) 디스크립터를 포함하며,
    상기 스킴 ID URI 속성은 스킴을 식별하기 위한 URI를 지정하고, 상기 ID 속성은 상기 디스크립터에 관한 식별자를 지정하며, 상기 행위 속성은 기술된 이벤트를 위한 지원이 필요한지 여부를 지정하는,
    장치.
  11. 제1항에 있어서,
    상기 메커니즘은, 스킴과 연관되고 상기 클라이언트에 의해 정의되는 명칭을 가지는 제네릭(generic) 디스크립터 를 포함하는, 장치.
  12. 제11항에 있어서,
    상기 제네릭 디스크립터는 그룹 ID(identifier) 속성 및 상기 제네릭 디스크립터의 행위를 지정하는 행위를 포함하는, 장치.
  13. 제1항에 있어서,
    상기 메커니즘이 URL(uniform resource locator) 인증을 제공하는, 장치.
  14. 제13항에 있어서,
    상기 메커니즘은 키 URL(key URL) 속성, 키(key) 속성및 지속 시간(duration) 속성을 포함하는 URL 인증 디스크립터를 포함하며,
    상기 키 URL 속성은 키 도출(derivation)을 위한 URL을 지정하고, 상기 키 속성은 URL 인증키를 지정하며, 상기 지속 시간 속성은 상기 URL 인증키 유효성(validity)의 지속 시간을 지정하는,
    장치.
  15. 제14항에 있어서,
    상기 URL 인증 디스크립터는 알고리즘(algorithm) 속성 및 파라미터 명칭(parameter name) 속성을 더 포함하며,
    상기 알고리즘 속성은 시그니쳐(signature) 알고리즘 URN(uniform resource name)을 지정하고, 상기 파라미터 명칭 속성은 URL 시그니쳐를 캐링하는(carrying) 쿼리 파라미터의 명칭을 지정하는,
    장치.
  16. DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하도록 구성된 수신기; 및
    상기 수신기에 연결되고, 상기 MPD를 처리하도록 구성된 프로세서
    를 포함하며,
    상기 MPD가, 디스크립터 타입(descriptor type) 디스크립터(descriptor), 필수적 프로퍼티(essential property) 디스크립터 및 추가적 프로퍼티(supplemental property) 디스크립터에 관한 적어도 하나의 식별자(ID, identifier) 속성(attribiute)를 포함하고,
    상기 ID 속성은 상기 디스크립터에 대한 식별자를 지정하며,
    상기 필수적 프로퍼티 디스크립터는, 보유 중인 엘리먼트(containing element)를 처리하기 위해, 미디어 프레젠테이션 작성자에 의해 필수적인 것으로 간주된 보유 중인 엘리먼트에 관한 정보를 지정하고, 그리고
    상기 추가적 프로퍼티 디스크립터는, 처리를 최적화하는 클라이언트에 의해 사용될 수 있는 보유 중인 엘리먼트에 대한 추가 정보를 지정하는,
    장치.
  17. 제16항에 있어서,
    상기 ID 속성, 상기 필수적 프로퍼티 디스크립터 및 상기 추가적 프로퍼티 디스크립터 중 적어도 하나는 세션을 식별하는 데에 사용되는, 장치.
  18. 제16항에 있어서,
    상기 ID 속성, 상기 필수적 프로퍼티 디스크립터 및 상기 추가적 프로퍼티 디스크립터 중 적어도 하나는 이벤트를 식별하는 데에 사용되는, 장치.
  19. 제16항에 있어서,
    상기 ID 속성, 상기 필수적 프로퍼티 디스크립터 및 상기 추가적 프로퍼티 디스크립터 중 적어도 하나는 URL(uniform resource locator) 인증을 제공하는 데에 사용되는, 장치.
  20. DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하는 단계; 및
    상기 MPD를 송신하는 단계
    를 포함하며,
    상기 MPD는 클라이언트의 행위를 지정하기 위한 메커니즘을 포함하고, 그리고
    상기 메커니즘이 상기 클라이언트의 특성(feature) 지원 능력에 따라 상기 클라이언트가 콘텐츠를 다운로드할 수 있는지를 좌우하는,
    방법.
  21. 제20항에 있어서,
    상기 메커니즘이, 디스크립터 타입(descriptor type) 디스크립터(descriptor), 필수적 프로퍼티(essential property) 디스크립터 및 추가적 프로퍼티(supplemental property) 디스크립터에 관한 적어도 하나의 식별자(ID, identifier) 속성(attribiute)을 포함하며,
    상기 ID 속성은 상기 디스크립터에 대한 식별자를 지정하고, 같은 ID 속성을 가지는 디스크립터들은 서로 동일한 의미를 가지며(synonymous),
    상기 필수적 프로퍼티 디스크립터는, 보유 중인 엘리먼트(containing element)를 처리하기 위해, 미디어 프레젠테이션 작성자에 의해 필수적인 것으로 간주된 보유 중인 엘리먼트에 관한 정보를 지정하고,
    상기 추가적 프로퍼티 디스크립터는, 처리를 최적화하는 상기 클라이언트에 의해 사용될 수 있는 보유 중인 엘리먼트에 대한 추가 정보를 지정하는,
    방법.
  22. DASH(Dynamic Adaptive Streaming over Hypertext Transfer Protocol) 미디어 프레젠테이션 디스크립션(MPD, media presentation description)에 대한 요청을 수신하는 단계; 및
    상기 MPD를 처리하는 단계
    를 포함하며,
    상기 MPD가, 디스크립터 타입(descriptor type) 디스크립터(descriptor), 필수적 프로퍼티(essential property) 디스크립터 및 추가적 프로퍼티(supplemental property) 디스크립터에 관한 적어도 하나의 식별자(ID, identifier) 속성(attribiute)를 포함하고,
    상기 ID 속성은 상기 디스크립터에 대한 식별자를 지정하며,
    상기 필수적 프로퍼티 디스크립터는, 보유 중인 엘리먼트(containing element)를 처리하기 위해, 미디어 프레젠테이션 작성자에 의해 필수적인 것으로 간주된 보유 중인 엘리먼트에 관한 정보를 지정하고, 그리고
    상기 추가적 프로퍼티 디스크립터는, 처리를 최적화하는 클라이언트에 의해 사용될 수 있는 보유 중인 엘리먼트에 대한 추가 정보를 지정하는,
    방법.
KR1020157000604A 2012-07-09 2013-07-09 Dash 클라이언트 행위 프레임워크 및 세션 관리의 실현 KR101629748B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261669437P 2012-07-09 2012-07-09
US61/669,437 2012-07-09
PCT/US2013/049689 WO2014022060A1 (en) 2012-07-09 2013-07-09 Dynamic adaptive streaming over http client behavior framework and implementation of session management

Publications (2)

Publication Number Publication Date
KR20150020679A KR20150020679A (ko) 2015-02-26
KR101629748B1 true KR101629748B1 (ko) 2016-06-13

Family

ID=49879561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157000604A KR101629748B1 (ko) 2012-07-09 2013-07-09 Dash 클라이언트 행위 프레임워크 및 세션 관리의 실현

Country Status (6)

Country Link
US (4) US8924582B2 (ko)
EP (1) EP2850845A1 (ko)
JP (1) JP6064249B2 (ko)
KR (1) KR101629748B1 (ko)
CN (1) CN104429093B (ko)
WO (1) WO2014022060A1 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6064249B2 (ja) 2012-07-09 2017-01-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装
US20140089467A1 (en) * 2012-09-27 2014-03-27 Andre Beck Content stream delivery using pre-loaded segments
CN108540834B (zh) 2013-01-16 2021-04-20 华为技术有限公司 由用户端设备实现的媒体内容流的方法和装置
US9906526B2 (en) * 2013-01-17 2018-02-27 Intel IP Corporation DASH-aware network application function (D-NAF)
WO2014113183A1 (en) * 2013-01-17 2014-07-24 Intel IP Corporation Content url authentication for dash
US8850490B1 (en) 2013-05-07 2014-09-30 Google Inc. Consuming paid media in an internet-based content platform
US10079872B1 (en) * 2013-05-07 2018-09-18 Google Llc Subscription levels in an internet-based content platform
US9509798B1 (en) 2013-05-07 2016-11-29 Google Inc. Subscriptions to paid channels of an internet-based content platform
WO2015009723A1 (en) * 2013-07-15 2015-01-22 Huawei Technologies Co., Ltd. Just-in-time dereferencing of remote elements in dynamic adaptive streaming over hypertext transfer protocol
US9628528B2 (en) 2013-07-19 2017-04-18 Electronics And Telecommunications Research Institute Apparatus and method for providing content
US9258747B2 (en) * 2013-09-17 2016-02-09 Intel IP Corporation User equipment and methods for fast handover failure recovery in 3GPP LTE network
US9497180B2 (en) * 2013-10-21 2016-11-15 Intel IP Corporation Content access authentication for dynamic adaptive streaming over hypertext transfer protocol
JPWO2015060165A1 (ja) * 2013-10-22 2017-03-09 シャープ株式会社 表示処理装置、配信装置、および、メタデータ
US9432478B2 (en) * 2013-11-27 2016-08-30 At&T Intellectual Property I, L.P. Client-side location aware network selection
US9363333B2 (en) * 2013-11-27 2016-06-07 At&T Intellectual Property I, Lp Server-side scheduling for media transmissions
US9197717B2 (en) * 2013-11-27 2015-11-24 At&T Intellectual Property I, Lp Server-side scheduling for media transmissions according to client device states
US9654475B2 (en) 2014-01-10 2017-05-16 Futurewei Technologies, Inc. Client behavior control in adaptive streaming file
EP3131300A4 (en) 2014-04-09 2018-01-17 LG Electronics Inc. Broadcast transmission device, broadcast reception device, operating method of broadcast transmission device, and operating method of broadcast reception device
KR102331016B1 (ko) * 2014-04-24 2021-11-25 소니그룹주식회사 수신 장치, 수신 방법, 송신 장치, 및 송신 방법
KR102461599B1 (ko) 2014-06-20 2022-11-03 소니그룹주식회사 수신 장치, 수신 방법, 송신 장치, 및, 송신 방법
EP3103262B1 (en) * 2014-07-01 2019-09-04 Huawei Technologies Co. Ltd. Client behavior control in adaptive streaming
WO2016014852A1 (en) 2014-07-23 2016-01-28 Sonic Ip, Inc. Systems and methods for streaming video games using gpu command streams
US10878828B2 (en) 2014-09-12 2020-12-29 Sony Corporation Transmission device, transmission method, reception device, and reception method
US9894130B2 (en) 2014-09-23 2018-02-13 Intel Corporation Video quality enhancement
WO2016090133A1 (en) 2014-12-05 2016-06-09 Wal-Mart Stores, Inc. System and method for generating globally-unique identifiers
JP6393837B2 (ja) * 2015-02-11 2018-09-19 ヴィド スケール インコーポレイテッド Http上の動的適応ストリーミング(dash)における一般化されたhttpヘッダのためのシステムおよび方法
EP3258695A4 (en) * 2015-02-13 2018-07-04 LG Electronics Inc. Broadcast signal transmission apparatus, broadcast signal receiving apparatus, broadcast signal transmission method, and broadcast signal receiving method
JP6476995B2 (ja) * 2015-02-24 2019-03-06 沖電気工業株式会社 中継装置、コンテンツ配信システム、中継方法およびプログラム
KR101897959B1 (ko) 2015-02-27 2018-09-12 쏘닉 아이피, 아이엔씨. 라이브 비디오 인코딩 및 스트리밍에서의 프레임 복제 및 프레임 확장을 위한 시스템 및 방법
US10425427B2 (en) * 2015-06-19 2019-09-24 Futurewei Technologies, Inc. Template uniform resource locator signing
KR102473346B1 (ko) * 2015-06-23 2022-12-05 삼성전자주식회사 디지털 방송 서비스 방법 및 장치
JP2018536247A (ja) * 2015-09-28 2018-12-06 ウォル−マート・ストアーズ・インコーポレイテッドWal−Mart Stores, Inc. クラウドベースのセッション管理システム
CN106604077B (zh) * 2015-10-14 2020-09-29 中兴通讯股份有限公司 自适应流媒体传输方法及装置
US10404778B2 (en) 2015-12-09 2019-09-03 Walmart Apollo, Llc Session hand-off for mobile applications
EP3420698B1 (en) * 2016-02-25 2020-09-23 Telefonaktiebolaget LM Ericsson (PUBL) Predicting multimedia session mos
CN109565501B (zh) * 2016-08-18 2022-01-28 瑞典爱立信有限公司 用于选择内容分发网络实体的方法和装置
EP3516880A1 (en) * 2016-12-30 2019-07-31 Google LLC Systems and methods for interrupting streaming content provided via an inviolate manifest protocol
US10594760B2 (en) * 2017-01-25 2020-03-17 Futurewei Technologies, Inc. Intelligent event streaming
US9918135B1 (en) * 2017-02-07 2018-03-13 The Directv Group, Inc. Single button selection to facilitate actions in a communications network
CN108668179B (zh) * 2017-03-27 2021-05-14 华为技术有限公司 媒体索引文件的传输方法及相关设备
US10044509B1 (en) * 2017-08-14 2018-08-07 Fmr Llc Method for encrypting and storing data
US10904642B2 (en) * 2018-06-21 2021-01-26 Mediatek Singapore Pte. Ltd. Methods and apparatus for updating media presentation data
US11490169B2 (en) * 2019-07-02 2022-11-01 Tencent America LLC Events in timed metadata tracks
US11616822B2 (en) * 2019-09-30 2023-03-28 Tencent America LLC Session-based information for dynamic adaptive streaming over HTTP
US11425187B2 (en) * 2019-09-30 2022-08-23 Tencent America Llc. Session-based information for dynamic adaptive streaming over HTTP
US11184420B2 (en) * 2020-01-06 2021-11-23 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11570509B2 (en) * 2020-01-06 2023-01-31 Tencent America LLC Session-based information for dynamic adaptive streaming over HTTP
CN113206819B (zh) * 2020-02-03 2023-04-07 腾讯美国有限责任公司 基于多级别会话描述符的信令发送方法及装置
US11470136B2 (en) * 2020-10-07 2022-10-11 Tencent America LLC URL customization using the session-based dash operations
US11463761B2 (en) 2021-01-05 2022-10-04 Interwise Ltd. Method and apparatus for providing interactive applications with media content delivery services
US11683355B2 (en) 2021-01-05 2023-06-20 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11533346B2 (en) * 2021-01-05 2022-12-20 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11451602B2 (en) 2021-01-06 2022-09-20 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11520848B2 (en) * 2021-01-06 2022-12-06 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11838341B2 (en) 2021-04-19 2023-12-05 Tencent America LLC Signaling schemes in events message tracks
US11895172B2 (en) * 2021-04-21 2024-02-06 Tencent America LLC Session-based description URL customization using the session-based DASH operations
US11765218B2 (en) * 2021-05-12 2023-09-19 Tencent America LLC Method for discovery of media service entry for uplink and downlink streaming in 5G networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100192210A1 (en) * 2009-01-26 2010-07-29 Apple Inc. Method and system for verifying entitlement to access content by url validation
US20120047542A1 (en) * 2010-08-20 2012-02-23 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120090036A1 (en) * 2010-10-07 2012-04-12 Samsung Electronics Co., Ltd. Method and apparatus for providing drm service

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
NO315887B1 (no) 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US20080201451A1 (en) * 2007-02-16 2008-08-21 Industrial Technology Research Institute Systems and methods for real-time media communications
US20090183215A1 (en) * 2008-01-16 2009-07-16 Qualcomm Incorporated Hybrid services: data, audio, and clipcast
US8489774B2 (en) * 2009-05-27 2013-07-16 Spot411 Technologies, Inc. Synchronized delivery of interactive content
US20130290492A1 (en) * 2009-06-12 2013-10-31 Cygnus Broadband, Inc. State management for video streaming quality of experience degradation control and recovery using a video quality metric
US20130298170A1 (en) * 2009-06-12 2013-11-07 Cygnus Broadband, Inc. Video streaming quality of experience recovery using a video quality metric
US9538220B2 (en) * 2009-06-12 2017-01-03 Wi-Lan Labs, Inc. Video streaming quality of experience degradation control using a video quality metric
US8959558B2 (en) * 2009-06-30 2015-02-17 Verizon Patent And Licensing Inc. User-based media content chaptering systems and methods
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
DK2526671T3 (en) * 2010-01-18 2017-02-27 ERICSSON TELEFON AB L M (publ) METHODS AND DEVICES FOR HTTP MEDIA FLOW DISTRIBUTION
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
EP2583432B1 (en) * 2010-06-18 2019-02-20 Nokia Technologies Oy Method and apparatus for generating and handling streaming media quality-of-experience metrics
US20130117413A1 (en) * 2010-07-20 2013-05-09 Sharp Kabushiki Kaisha Content distribution device, content playback device, content distribution system, method for controlling a content distribution device, control program, and recording medium
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
RU2552176C2 (ru) * 2010-08-10 2015-06-10 Телефонактиеболагет Лм Эрикссон (Пабл) Управление сеансом связи для передачи медиапотока
EP2625867A1 (en) * 2010-10-05 2013-08-14 Telefonaktiebolaget L M Ericsson (publ) A client, a content creator entity and methods thereof for media streaming
KR101206698B1 (ko) * 2010-10-06 2012-11-30 한국항공대학교산학협력단 스트리밍 콘텐츠 제공 장치 및 방법
CN107071588A (zh) 2011-01-12 2017-08-18 夏普株式会社 再生装置
US9661104B2 (en) 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
EP2924989A1 (en) 2011-03-16 2015-09-30 Electronics and Telecommunications Research Institute Apparatus and method for providing streaming content using representations
US9026671B2 (en) 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
WO2011100901A2 (zh) * 2011-04-07 2011-08-25 华为技术有限公司 媒体内容的传输处理方法、装置与系统
MX2013014269A (es) * 2011-06-08 2014-02-19 Sling Media Pvt Ltd Aparatos, sistemas y metodos para presentar un resumen de un evento de contenido de medios.
US9521434B2 (en) 2011-06-09 2016-12-13 Qualcomm Incorporated Internal bit depth increase in video coding
JP2013021574A (ja) 2011-07-12 2013-01-31 Sharp Corp 生成装置、配信サーバ、生成方法、再生装置、再生方法、再生システム、生成プログラム、再生プログラム、記録媒体およびデータ構造
US20130042100A1 (en) * 2011-08-09 2013-02-14 Nokia Corporation Method and apparatus for forced playback in http streaming
US9253233B2 (en) * 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9591361B2 (en) 2011-09-07 2017-03-07 Qualcomm Incorporated Streaming of multimedia data from multiple sources
US8935425B2 (en) * 2011-10-05 2015-01-13 Qualcomm Incorporated Switching between representations during network streaming of coded multimedia data
EP3764687B1 (en) * 2011-10-21 2021-11-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Resource management concept
US9712891B2 (en) * 2011-11-01 2017-07-18 Nokia Technologies Oy Method and apparatus for selecting an access method for delivery of media
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
KR102011499B1 (ko) * 2012-01-19 2019-10-21 브이아이디 스케일, 인크. 시청 조건에 대한 적응을 지원하는 비디오 전송 방법 및 시스템
WO2013152326A1 (en) 2012-04-05 2013-10-10 Huawei Technologies Co., Ltd. System and method for secure asynchronous event notification for adaptive streaming based on iso base media file format
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
KR101617340B1 (ko) 2012-04-26 2016-05-02 후아웨이 테크놀러지 컴퍼니 리미티드 어댑티브 스트리밍을 위한 세그먼트 암호화 및 키 유도를 시그널링하기 위한 시스템 및 방법
US10616297B2 (en) 2012-07-09 2020-04-07 Futurewei Technologies, Inc. Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
JP6064249B2 (ja) 2012-07-09 2017-01-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装
WO2014012015A2 (en) * 2012-07-13 2014-01-16 Vid Scale, Inc. Operation and architecture for dash streaming clients
US8495675B1 (en) 2012-07-30 2013-07-23 Mdialog Corporation Method and system for dynamically inserting content into streaming media
US9082092B1 (en) 2012-10-01 2015-07-14 Google Inc. Interactive digital media items with multiple storylines
ES2621240T3 (es) 2012-11-13 2017-07-03 Telefonaktiebolaget Lm Ericsson (Publ) Procesado de datos multimedia
US20140156865A1 (en) 2012-11-30 2014-06-05 Futurewei Technologies, Inc. Generic Substitution Parameters in DASH
US9143543B2 (en) 2012-11-30 2015-09-22 Google Technology Holdings LLC Method and system for multi-streaming multimedia data
CN105409226B (zh) 2013-07-25 2018-05-04 华为技术有限公司 有效控制自适应流媒体中的客户端行为的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100192210A1 (en) * 2009-01-26 2010-07-29 Apple Inc. Method and system for verifying entitlement to access content by url validation
US20120047542A1 (en) * 2010-08-20 2012-02-23 Disney Enterprises, Inc. System and method for rule based dynamic server side streaming manifest files
US20120090036A1 (en) * 2010-10-07 2012-04-12 Samsung Electronics Co., Ltd. Method and apparatus for providing drm service

Also Published As

Publication number Publication date
WO2014022060A1 (en) 2014-02-06
CN104429093A (zh) 2015-03-18
US9237364B2 (en) 2016-01-12
US20150381692A1 (en) 2015-12-31
JP2015530002A (ja) 2015-10-08
US8924582B2 (en) 2014-12-30
US9560394B2 (en) 2017-01-31
JP6064249B2 (ja) 2017-01-25
US20140013375A1 (en) 2014-01-09
EP2850845A1 (en) 2015-03-25
US20150089533A1 (en) 2015-03-26
US10270829B2 (en) 2019-04-23
US20170104803A1 (en) 2017-04-13
CN104429093B (zh) 2018-01-05
KR20150020679A (ko) 2015-02-26

Similar Documents

Publication Publication Date Title
KR101629748B1 (ko) Dash 클라이언트 행위 프레임워크 및 세션 관리의 실현
US11877017B2 (en) System for measuring video playback events using a server generated manifest/playlist
US10148714B2 (en) URL parameter insertion and addition in adaptive streaming
JP6172688B2 (ja) ハイパーテキスト転送プロトコル上での動的適応ストリーミングにおけるコンテンツ特定識別およびタイミング挙動
EP3103262A1 (en) Client behavior control in adaptive streaming
KR101855972B1 (ko) 적응형 스트리밍을 위한 포렌식 마킹의 시그널링 및 핸들링

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 4