KR20200124665A - 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템 - Google Patents

콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템 Download PDF

Info

Publication number
KR20200124665A
KR20200124665A KR1020207023703A KR20207023703A KR20200124665A KR 20200124665 A KR20200124665 A KR 20200124665A KR 1020207023703 A KR1020207023703 A KR 1020207023703A KR 20207023703 A KR20207023703 A KR 20207023703A KR 20200124665 A KR20200124665 A KR 20200124665A
Authority
KR
South Korea
Prior art keywords
content
definition information
transcode
content distribution
server
Prior art date
Application number
KR1020207023703A
Other languages
English (en)
Inventor
야스아키 야마기시
가즈히코 다카바야시
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20200124665A publication Critical patent/KR20200124665A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/141Setup of application sessions
    • 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/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/234363Processing 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 by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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
    • 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
    • H04N21/440218Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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
    • 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

본 개시는, 다른 CDN으로 콘텐츠를 배신할 때의 트랜스코드에 관한 조건을 공통화하고, 표준적인 업로드 인터페이스를 서포트할 수 있도록 하는 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템에 관한 것이다. 메타데이터 파일에 정의 정보가 저장되어 있는 경우, 정의 정보에 기초하여, 오리지널 데이터 스트림이 제어된다. 한편, 메타데이터 파일에 정의 정보에 액세스하기 위한 액세스 정보가 저장되어 있는 경우, 그 액세스 정보에 기초하여 정의 정보를 리퀘스트하고, 리퀘스트에 따라 수신된 정의 정보에 기초하여, 오리지널 스트림의 트랜스코드가 제어된다. SDP를 이용하여 콘텐츠를 배신하는 콘텐츠 배신 시스템에 적용할 수 있다.

Description

콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템
본 개시는, 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템에 관한 것으로, 특히 다른 CDN(Contents Delivery Network)으로 콘텐츠를 배신할 때의 트랜스코드에 관한 조건을 공통화하고, 표준적인 업로드 인터페이스를 서포트할 수 있도록 한 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템에 관한 것이다.
IPTV(Internet Protocol Television) 등의 인터넷 스트리밍에 있어서의 표준화의 흐름으로서, HTTP(Hypertext Transfer Protocol) 스트리밍에 의한 VOD(Video On Demand) 스트리밍이나, 라이브 스트리밍에 적용되는 방식의 표준화가 행해지고 있다.
특히, ISO/IEC/MPEG에서 표준화가 행해지고 있는 MPEG-DASH(Dynamic Adaptive Streaming over HTTP)가 주목받고 있다(예를 들어, 비특허문헌 1 참조).
MPEG-DASH는, MPD(Media Presentation Description)라고 불리는 메타파일과, 거기에 기술되는 청크화된 오디오, 비디오, 또는 자막 등의 미디어 데이터의 어드레스(URL: Uniform Resource Locator)에 따라, 스트림 데이터를 취득하여 재생하는 것이다.
또한, 현재, 스트림 캡처 디바이스로부터 클라우드로의 업로드 인터페이스로서, 3GPP(Third Generation Partnership Project)에 있어서, FLUS(Framework For Live Uplink Streaming)의 프레임워크가 검토되고 있다(예를 들어, 비특허문헌 2 및 3 참조).
ISO/IEC 23009-1:2012 Information technology Dynamic adaptive streaming over HTTP(DASH) 3GPP TS 26.238 V15.0.0(2017-12) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Uplink Streaming (Release 15) 3GPP TS 26.114 V15.1.0(2017-12) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; IP Multimedia Subsystem(IMS); Multimedia Telephony; Media handling and interaction(Release 15)
그런데, 배신 페이즈로 이행한 스트리밍 콘텐츠가, 예를 들어 엔드 유저의 근방의 에지 서버(CDN의 구성 요소)에 있어서, 엔드 유저의 스트림 재생 환경 조건에 따라, 트랜스코드되어 제공될 가능성이 있다. 예를 들어, 트랜스코드 시에는, 오리지널 스트림을 일단 디코드하여 기저 대역 스트림으로 떨어뜨리고, 또한 유저의 재생 환경에 어울리는 스트림으로서 인코드하는 일이 행해진다. 이 기저 대역으로 떨어뜨릴 때, 금후, 여력이 있는 에지 서버가, 엔드 유저의 환경 조건에 따라 여러 가지 업스케일(업컨버트) 처리를 실시할 가능성이 있다.
예를 들어, 엔드 유저의 디바이스의 디스플레이의 애스펙트비 또는 공간 해상도나, 재생 기기의 특성 등을 가미하여 최적의 화상/음성 제작이 행해지고 나서, 디코더의 처리 능력에 따른 스트림으로서 다시 인코드될 가능성이 있다. 여기서, 최적의 화상/음성 제작으로서는, 단순한 선형 외삽 보간적인 업컨버트 이외에도, 예를 들어 AI(Artificial Intelligence) 등을 이용한 고도의 화상 또는 음성을 추가하는 것이 상정된다. 단, 이 업스케일 처리나 화상/음성 제작 등은, 콘텐츠 프로바이더(콘텐츠의 오너), 또는 서비스 프로바이더(배신 서비스 프로바이더 등)의 의향에 따라 가부 제어되어야 한다고 하는 요건이 있다. 즉, 배신 플랫폼의 에지 서버까지는, 오너나 서비서(servicer) 등의 의향대로의 배신 제어를 행할 수 있도록 할 필요가 있다.
그런데, 현 상황에서는, 여러 가지 벤더로 제공되는 CDN 서비스에 있어서 공유 가능한, 스트림의 재생 제어에 관한 표준적인 메타데이터는 준비되어 있지 않다. 따라서, DASH-MPD(또는, HLS의 m3u8) 등의 스트리밍 매니페스트 파일에, 상술한 바와 같은 트랜스코드에 관한 여러 가지 조건을 기술함으로써, 콘텐츠를 배신할 때의 트랜스코드에 관한 조건을 공통화할 것이 요구되고 있다.
즉, CDN은, 복수의 벤더로 제공되는 것이 일반적이며, 각각 다른 CDN에 있어서 콘텐츠를 공통의 매니페스트로 배신하는 데 관련된 여러 가지 제어나 폴리시 등의 표준화가 행해져 있지 않다. 그 때문에, 매니페스트(MPD)에, 예를 들어 트랜스코드에 관한 제한이나 조건 등을 리포팅(로그 수집)하기 위한 수신처 등을 정하는 것이 필요하게 된다.
또한, 예를 들어 UGC(User Generated Contents) 콘텐츠 등의 스트림을 배신하는 유스케이스의 증가에 수반하여, 비디오 에코 시스템 등의 배신 플랫폼에 있어서도, 표준적인 콘텐츠 업로드 인터페이스(라이브 스트림 업링크)를 서포트하게 될 가능성이 있다.
따라서, 이와 같은 프로토콜에 있어서도 배신 페이즈로 이행한 스트리밍 콘텐츠의 에지 서버에서의 트랜스코드 가부 제어를 선언하거나, 실행되는 트랜스코드의 종류나 빈도 등의 로그를 수집하여 효과적인 운용에 이용하거나 할 수 있도록 서포트할 것이 요구되고 있다. 또한, 트랜스코드에는, 콘텐츠 개변을 수반하는 케이스도 포함되는 것이 상정되며, 그러한 케이스에 대응하는 업로드 인터페이스의 정의가 필요하게 된다.
본 개시는, 이러한 상황을 감안하여 이루어진 것이며, 다른 CDN으로 콘텐츠를 배신할 때의 트랜스코드에 관한 조건을 공통화하고, 표준적인 업로드 인터페이스를 서포트할 수 있도록 하는 것이다.
본 개시의 일 측면의 콘텐츠 배신 제어 장치는, 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와, 상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부를 구비하고, 상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하고, 상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어한다.
본 개시의 일 측면의 콘텐츠 배신 제어 방법은, 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와, 상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부를 구비하는 콘텐츠 배신 제어 장치가, 상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것과, 상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것을 포함한다.
본 개시의 일 측면의 프로그램은, 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와, 상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부를 구비하는 콘텐츠 배신 제어 장치의 컴퓨터에, 상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것과, 상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것을 포함하는 처리를 실행시킨다.
본 개시의 일 측면의 콘텐츠 배신 시스템은, 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 제1 서버와, 상기 제1 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와, 상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부를 갖고, 상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하고, 상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 콘텐츠 배신 제어를 행하는 제2 서버와, 상기 콘텐츠 배신 제어에 따라 배신되는 콘텐츠를 취득하여, 재생하는 클라이언트를 구비한다.
본 개시의 일 측면에 있어서는, 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 콘텐츠가 배신될 때, 정의 정보, 또는 정의 정보에 액세스하기 위한 제1 액세스 정보와, 콘텐츠로부터 생성된 오리지널 데이터인 SDP를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일이 수신되고, 제2 액세스 정보에 기초하여 취득된 오리지널 스트림의 트랜스코드에 관한 제어가 행해진다. 그리고, 메타데이터 파일에 정의 정보가 저장되어 있는 경우, 정의 정보에 기초하여, 오리지널 스트림의 트랜스코드가 제어된다. 한편, 메타데이터 파일에 제1 액세스 정보가 저장되어 있는 경우, 제1 액세스 정보에 기초하여 정의 정보가 리퀘스트되고, 그 리퀘스트에 따라 수신된 정의 정보에 기초하여, 오리지널 스트림의 트랜스코드가 제어된다.
본 개시의 일 측면에 따르면, 다른 CDN으로 콘텐츠를 배신할 때의 트랜스코드에 관한 조건을 공통화하고, 표준적인 업로드 인터페이스를 서포트할 수 있다.
또한, 여기에 기재된 효과는 반드시 한정되는 것은 아니며, 본 개시 중에 기재된 어느 효과여도 된다.
도 1은, 본 기술을 적용한 콘텐츠 배신 시스템의 제1 실시 형태의 구성예를 도시하는 블록도이다.
도 2는, 본 기술을 적용한 콘텐츠 배신 시스템의 제2 실시 형태의 구성예를 도시하는 블록도이다.
도 3은, 도 1의 구성예에 있어서의 FLUS 인터페이스 계면의 시스템 구성에 대하여 설명하는 도면이다.
도 4는, 도 2의 구성예에 있어서의 FLUS 인터페이스 계면의 시스템 구성에 대하여 설명하는 도면이다.
도 5는, 콘텐츠 배신 처리에서 사용되는 프로토콜의 상세에 대하여 설명하는 도면이다.
도 6은, ServiceResource의 일례를 도시하는 도면이다.
도 7은, SessionResource의 일례를 도시하는 도면이다.
도 8은, 『"FLUS 싱크가 FLUS 소스로부터 스트림을 (Push/Pull) 취득하기 위한 정보"』의 일례를 도시하는 도면이다.
도 9는, 『"당해 세션 스트림의 SDP의 URL"』에 있어서의 SDP의 일례를 도시하는 도면이다.
도 10은, 『"당해 세션 스트림의 SDP의 URL"』에 있어서의 SDP의 다른 예를 도시하는 도면이다.
도 11은, 콘텐츠 배신 처리에서 사용되는 프로토콜의 상세에 대하여 설명하는 도면이다.
도 12는, 콘텐츠 배신 시스템의 상세한 구성예를 도시하는 블록도이다.
도 13은, 스트림 소스 서버의 구성예를 도시하는 블록도이다.
도 14는, 스트리밍 배신 매니저의 구성예를 도시하는 블록도이다.
도 15는, DASH 배신 서버의 구성예를 도시하는 블록도이다.
도 16은, CDN 서버의 구성예를 도시하는 블록도이다.
도 17은, DASH 플레이어의 구성예를 도시하는 블록도이다.
도 18은, 도 12의 콘텐츠 배신 시스템에 있어서의 콘텐츠 배신 처리를 설명하는 도면이다.
도 19는, TranscodeDirective의 내용이 FLUS 인터페이스를 통한 메타데이터(SDP)로서 전달되는 경우의 대응 관계를 나타내는 도면이다.
도 20은, 스트리밍 배신 매니저가 클라우드 상에 마련되는 베리에이션의 콘텐츠 배신 시스템의 구성예를 도시하는 블록도이다.
도 21은, 도 20의 콘텐츠 배신 시스템에 있어서의 콘텐츠 배신 처리를 설명하는 도면이다.
도 22는, 트랜스코드 완료 세그먼트를 참조하는 MPD를 클라이언트에 통지하여 세그먼트를 취득시키는 콘텐츠 배신 처리를 설명하는 도면이다.
도 23은, 트랜스코드 전의 세그먼트의 URL을 트랜스코드 완료 세그먼트의 URL에 유용하여 클라이언트에 세그먼트를 취득시키는 콘텐츠 배신 처리를 설명하는 도면이다.
도 24는, DASH-MPD에 대한 TranscodeDirective 요소의 배치예를 도시하는 도면이다.
도 25는, DASH-MPD에 대한 TranscodeDirective 요소의 배치예의 베리에이션을 도시하는 도면이다.
도 26은, transcodable 속성, upScalable 속성, processingLimit 속성, Allowed 요소, Prohibited 요소 및 Condition 요소에 대하여 설명하는 도면이다.
도 27은, Condition 요소의 콘텐츠 파트의 CDATA 섹션에 조건 기술이 저장되는 일례를 도시하는 도면이다.
도 28은, ODRL 기술의 일례를 도시하는 도면이다.
도 29는, TranscodeEventNotification 요소, dateTime 속성, MPDUrl 속성, AdaptationSetId 속성 및 notificationUrl 속성에 대하여 설명하는 도면이다.
도 30은, TranscodeDirective 요소의 일례를 도시하는 도면이다.
도 31은, Parameters/Video 요소, profile 속성, resolution 속성, frameRate 속성, bitDepth 속성, colorSpace 속성, gamma 속성 및 upScalingPatternList 속성에 대하여 설명하는 도면이다.
도 32는, partialTransformability 속성, deviationLimit 요소, Parameters/Audio 요소, profileList 속성, samplingRate 속성, bitDepth 속성 및 deviationLimit 요소에 대하여 설명하는 도면이다.
도 33은, value 속성에 값이 저장되는 예를 도시하는 도면이다.
도 34는, TrasncodeDirective의 구성예를 도시하는 도면이다.
도 35는, 업스케일링(FullHeight)의 예를 도시하는 도면이다.
도 36은, 업스케일링(FullWidth-TopBottomCrop-BlowUp)의 예를 도시하는 도면이다.
도 37은, 업스케일링(FullSize-Anamorphic)의 예를 도시하는 도면이다.
도 38은, 업스케일링(Artificial-FullSize-Anamorphic)의 예를 도시하는 도면이다.
도 39는, PartialTransformability를 이용하여 콘텐츠를 배신하는 콘텐츠 배신 처리를 설명하는 도면이다.
도 40은, viewport 통지에 대하여 설명하는 도면이다.
도 41은, viewport 통지의 일례를 도시하는 도면이다.
도 42는, 디바이스 속성의 일례를 도시하는 도면이다.
도 43은, FLUS의 기능 블록을 도시하는 도면이다.
도 44는, FLUS Session의 일례를 도시하는 도면이다.
도 45는, SAND의 ViewportViews 메시지의 추가 확장의 일례를 도시하는 도면이다.
도 46은, 본 기술을 적용한 컴퓨터의 일 실시 형태의 구성예를 도시하는 블록도이다.
이하, 본 기술을 적용한 구체적인 실시 형태에 대하여, 도면을 참조하면서 상세하게 설명한다.
<콘텐츠 배신 시스템의 제1 및 제2 구성예>
도 1은, 본 기술을 적용한 콘텐츠 배신 시스템의 제1 실시 형태의 구성예를 도시하는 블록도이고, 도 2는, 본 기술을 적용한 콘텐츠 배신 시스템의 제2 실시 형태의 구성예를 도시하는 블록도이다.
도 1에 도시하는 콘텐츠 배신 시스템(11A)은, 예를 들어 인터넷을 경유하여 여러 가지 서비스를 제공하는 클라우드 컴퓨팅(이하, 클라우드라고 칭함)(12)에, 콘텐츠 제공 장치(13A) 및 DASH 플레이어(14)가 접속되어 구성된다. 그리고, 콘텐츠 배신 시스템(11A)에서는, 콘텐츠 제공 장치(13A)가 구비하는 스트림 소스 서버(21)로부터 배신되는 콘텐츠는, 클라우드(12) 상에 있는 DASH 배신 서버(22)를 경유하여, 클라우드(12) 상의 복수의 CDN 서버에 의해 구축되는 CDN(23)을 통하여, DASH 플레이어(14)에 제공된다.
도 2에 도시하는 콘텐츠 배신 시스템(11B)은, 콘텐츠 배신 시스템(11A)과 마찬가지로, 클라우드(12)에, 콘텐츠 제공 장치(13B) 및 DASH 플레이어(14)가 접속되어 구성된다. 그리고, 콘텐츠 배신 시스템(11B)에서는, 콘텐츠 제공 장치(13B)가 구비하는 스트림 소스 서버(21)로부터 DASH 배신 서버(22)를 경유하여 배신되는 콘텐츠는, 클라우드(12) 상의 복수의 CDN 서버에 의해 구축되는 CDN(23)을 통하여, DASH 플레이어(14)에 제공된다.
즉, 도 1의 콘텐츠 배신 시스템(11A)은, 스트림 소스 서버(21)를 구비한 콘텐츠 제공 장치(13A)와는 별도로, 클라우드(12) 상에 DASH 배신 서버(22)가 마련된 구성으로 되어 있다. 한편, 도 2의 콘텐츠 배신 시스템(11B)은, 스트림 소스 서버(21)를 구비한 콘텐츠 제공 장치(13A)가, DASH 배신 서버(22)도 구비한 구성으로 되어 있다.
콘텐츠 제공 장치(13A 및 13B)는, 예를 들어 소위 스마트폰이나 디지털 카메라 등과 같이, 콘텐츠의 입력을 행하는 입력 장치(스트림 캡처 디바이스)이다.
DASH 플레이어(14)는, 예를 들어 소위 스마트폰이나 태블릿, 퍼스널 컴퓨터, 텔레비전 수상기, 게임 기기, 헤드 마운트 디스플레이 등과 같이, 콘텐츠를 재생하여 출력하는 출력 장치이다.
스트림 소스 서버(21)는, 콘텐츠 배신 시스템(11A 또는 11B)에 있어서 배신되는 콘텐츠를 기억하는 기억부를 갖고 있고, 예를 들어 DASH 플레이어(14)로부터 배신이 요구된 콘텐츠를 기억부로부터 판독하여 배신한다.
DASH 배신 서버(22)는, 인코더, DASH 세그먼터 및 MPD 제너레이터를 적어도 갖고 있으며, 콘텐츠 배신 시스템(11A 또는 11B)에 있어서 배신되는 콘텐츠의 인코드, MPEG-DASH에 따른 세그먼트의 생성, 및 MPD의 생성을 행할 수 있다.
CDN(23)은, 복수의 CDN 서버(후술하는 CDN 오리진 서버(41a)나, CDN 중계 서버, CDN 에지 서버(41b) 등)에 의해 다단으로 구성되며, 콘텐츠를 배신하기 위해 최적화된 네트워크를 구축한다.
또한, 콘텐츠 제공 장치(13A 또는 13B)로부터 클라우드(12)로의 업로드 인터페이스에 대해서는, FLUS(상술한 비특허문헌 2 및 3 참조)의 프레임워크가 이용된다. 즉, 도 1에 도시하는 바와 같이, 콘텐츠 배신 시스템(11A)에서는, 스트림 소스 서버(21) 및 DASH 배신 서버(22)의 사이에서, FLUS 인터페이스가 이용되며, 예를 들어 DASH 배신 서버(22)는 FLUS 인터페이스를 통하여 세그먼트 및 MPD를 취득한다. 또한, 도 2에 도시하는 바와 같이, 콘텐츠 배신 시스템(11B)에서는, DASH 배신 서버(22) 및 CDN(23)의 사이에서, FLUS 인터페이스가 이용되며, 예를 들어 CDN(23)은 FLUS 인터페이스를 통하여 세그먼트 및 MPD를 취득한다.
<FLUS 인터페이스를 통한 콘텐츠 배신 처리>
도 3을 참조하여, 도 1의 콘텐츠 제공 장치(13A)에 있어서의 FLUS 인터페이스 계면의 시스템 구성에 대하여 설명한다.
콘텐츠 제공 장치(13A)에서는, 스트림 소스 서버(21)를 구비하는 콘텐츠 제공 장치(13A)가 FLUS 소스로 되고, DASH 배신 서버(22)를 구비하는 클라우드(12) 상에 FLUS 싱크가 마련된다. 여기서는, FLUS 미디어에 관한 처리를, 스트림 소스 서버(21) 및 DASH 배신 서버(22)가 행하고, FLUS 컨트롤에 관한 처리를, 콘텐츠 제공 장치(13A) 및 클라우드(12)에 의해 제공되는 FLUS 컨트롤러가 행하는 것으로서 설명한다.
스텝 S11에 있어서, 콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, Authentication 또는 Authorization의 요구를 행하여, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 Authentication 또는 Authorization의 파라미터가 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S11에서 송신되어 오는 Authentication 또는 Authorization의 파라미터를 수신하면, 스텝 S12에 있어서, Authentication 또는 Authorization의 회답을 행한다. 이에 의해, 클라우드(12)로부터 콘텐츠 제공 장치(13A)로, 서비스에 액세스하는 권리가 부여됨을 나타내는 AccessToken이 송신된다.
콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, 스텝 S12에서 송신되어 오는 AccessToken을 수신하면, 스텝 S13에 있어서, Service 확립의 요구를 행하여, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 AccessToken이 송신된다. 여기서, 이와 같이 AccessToken이 송신되는 것은, Service 확립을 요구하는 메시지에 AccessToken이 부여되어 있어, 서비스에 액세스하는 권리가 부여되어 있음의 증명을 목적으로 하여 사용된다. 또한, 이하의 스텝에서 송신되는 AccessToken도, 각각의 처리에 있어서 마찬가지의 목적으로 사용된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S13에서 송신되어 오는 AccessToken을 수신하면, 스텝 S14에 있어서, Service 확립의 회답을 행한다. 이에 의해, 클라우드(12)로부터 콘텐츠 제공 장치(13A)로, 클라우드(12)에서 확립한 Service의 ServiceID가 송신된다.
콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, 스텝 S14에서 송신되어 오는 ServiceID를 수신하면, 스텝 S15에 있어서, ServiceResource의 요구를 행한다. 이에 의해, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 AccessToken 및 ServiceID가 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S15에서 송신되어 오는 AccessToken 및 ServiceID를 수신하면, 스텝 S16에 있어서, ServiceResource의 회답을 행한다. 이에 의해, 클라우드(12)로부터 콘텐츠 제공 장치(13A)로, ServiceResource가 송신된다.
콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, 스텝 S16에서 송신되어 오는 ServiceResource를 수신하면, 이후, Service 그 자체의 속성으로 변경이 필요하게 된 경우에는, 스텝 S17에 있어서, 수신한 ServiceResource로 갱신을 행한다. 그리고, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 AccessToken, ServiceID 및 ServiceResource가 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S17에서 송신되어 오는 AccessToken, ServiceID 및 ServiceResource를 수신하면, 스텝 S18에 있어서, 그것들의 수신이 성공하였음을 나타내는 ACK 회답을 행한다.
콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, 스텝 S18에 있어서의 ACK 회답을 수신하면, 스텝 S19에 있어서, Session 확립의 요구를 행한다. 이에 의해, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 AccessToken이 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S19에서 송신되어 오는 AccessToken을 수신하면, 스텝 S20에 있어서, Session 확립의 회답을 행한다. 이에 의해, 클라우드(12)로부터 콘텐츠 제공 장치(13A)로, 클라우드(12)에서 확립한 Session의 SessionID가 송신된다.
콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, 스텝 S20에서 송신되어 오는 SessionID를 수신하면, 스텝 S21에 있어서, SessionResource의 요구를 행한다. 이에 의해, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 AccessToken 및 ServiceID가 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S21에서 송신되어 오는 AccessToken 및 ServiceID를 수신하면, 스텝 S22에 있어서, SessionResource의 회답을 행한다. 이에 의해, 클라우드(12)로부터 콘텐츠 제공 장치(13A)로, SessionResource가 송신된다.
콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, 스텝 S22에서 송신되어 오는 SessionResource를 수신하면, 스텝 S23에 있어서, 수신한 SessionResource로 갱신을 행한다. 그리고, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로, AccessToken, ServiceID 및 SessionResource가 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S23에서 송신되어 오는 AccessToken, ServiceID 및 SessionResource를 수신하면, 스텝 S24에 있어서, 그것들의 수신이 성공하였음을 나타내는 ACK 회답을 행한다.
그 후, 스트림 소스 서버(21)는, 스트림 및 메타데이터의 전송을 개시하고, 스텝 S25에 있어서, AccessToken 및 SessionID와 함께, Stream 및 Metadata를 송신한다. 이때, 스텝 S23에서 갱신된 SessionResource에 저장함으로써 통지한 내용과 마찬가지의 내용을 Metadata에 저장함으로써도, 당해 Stream의 TranscodeDirective를 통지할 수 있다.
DASH 배신 서버(22)는, 스텝 S25에서 송신되어 오는 AccessToken 및 SessionID와 함께, Stream 및 Metadata를 수신하면, 스텝 S26에 있어서, 그것들의 수신이 성공하였음을 나타내는 ACK 회답을 행한다.
이하, 스트림의 배신이 종료될 때까지, 스트림 소스 서버(21)와 DASH 배신 서버(22)의 사이에서, 스텝 S25 및 S26과 마찬가지의 처리가 반복하여 행해진다.
그리고, 스트림의 배신이 종료되면, 스텝 S27에 있어서, 콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, Session 해방의 요구를 행한다. 이에 의해, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 AccessToken 및 SessionID가 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S27에서 송신되어 오는 AccessToken 및 SessionID를 수신하면, 스텝 S18에 있어서, 그것들의 수신이 성공하였음을 나타내는 ACK 회답을 행한다. 이에 따라, 클라우드(12)의 FLUS 컨트롤러는, Session을 해방하는 처리를 행한다.
콘텐츠 제공 장치(13A)의 FLUS 컨트롤러는, 스텝 S28에 있어서의 ACK 회답을 수신하면, 스텝 S29에 있어서, Service 해방의 요구를 행한다. 이에 의해, 콘텐츠 제공 장치(13A)로부터 클라우드(12)로 AccessToken 및 ServiceID가 송신된다.
클라우드(12)의 FLUS 컨트롤러는, 스텝 S29에서 송신되어 오는 AccessToken 및 ServiceID를 수신하면, 스텝 S30에 있어서, 그것들의 수신이 성공하였음을 나타내는 ACK 회답을 행한다. 이에 따라, 클라우드(12)의 FLUS 컨트롤러는, Service를 해방하는 처리를 행하여, 그 ACK 회답이 수신되면 처리는 종료된다.
이상과 같이, 콘텐츠 제공 장치(13A)의 FLUS 컨트롤러가, 클라우드(12)의 FLUS 컨트롤러로부터 송신되어 오는 SessionResource의 내용을 갱신하여 클라우드(12)의 FLUS 컨트롤러로 송신하거나, 또는 스트림 소스 서버(21)가, Metadata를 클라우드(12)의 DASH 배신 서버(22)로 송신하거나의, 어느 것에 의해, FLUS 소스측이, 당해 Stream의 TranscodeDirective를, FLUS 싱크측에 통지할 수 있다.
도 4를 참조하여, 도 2의 콘텐츠 제공 장치(13B)에 있어서의 FLUS 인터페이스 계면의 시스템 구성에 대하여 설명한다.
콘텐츠 제공 장치(13B)에서는, DASH 배신 서버(22)를 구비하는 콘텐츠 제공 장치(13B)가 FLUS 소스로 되고, DASH 배신 서버(22)를 구비하는 CDN(23) 상에 FLUS 싱크가 마련된다. 여기서는, FLUS 미디어에 관한 처리를, DASH 배신 서버(22) CDN(23)이 행하고, FLUS 컨트롤에 관한 처리를, 콘텐츠 제공 장치(13B) 및 클라우드(12)에 의해 제공되는 FLUS 컨트롤러가 행하는 것으로서 설명한다.
스텝 S51부터 스텝 S64까지는, 도 3의 스텝 S11부터 스텝 S24까지와 마찬가지의 처리가, 콘텐츠 제공 장치(13B) 및 클라우드(12)의 FLUS 컨트롤러의 사이에서 행해진다.
그리고, 스텝 S65에 있어서, DASH 배신 서버(22)는, DASH 세그먼트 및 MPD의 전송을 개시한다.
그 후, DASH 배신 서버(22)는, DASH 세그먼트 및 MPD의 전송을 개시하고, 스텝 S65에 있어서, AccessToken 및 SessionID와 함께, DASH-Segment군 및 MPD를 송신한다. 이때, 스텝 S63에서 갱신된 SessionResource에 저장함으로써 통지한 내용과 마찬가지의 내용을 MPD에 저장함으로써도, 당해 DASH-Segment의 TranscodeDirective를 통지할 수 있다.
CDN(23)은, 스텝 S65에서 송신되어 오는 AccessToken 및 SessionID, 그리고 DASH-Segment군 및 MPD를 수신하면, 스텝 S66에 있어서, 그것들의 수신이 성공하였음을 나타내는 ACK 회답을 행한다.
이하, 스트림의 배신이 종료될 때까지, DASH 배신 서버(22)와 CDN(23)의 사이에서, 스텝 S65 및 S66과 마찬가지의 처리가 반복하여 행해진다.
그리고, 스트림의 배신이 종료되면, 스텝 S67부터 스텝 S70까지, 도 3의 스텝 S27부터 스텝 S30까지와 마찬가지의 처리가, 콘텐츠 제공 장치(13B) 및 클라우드(12)의 FLUS 컨트롤러의 사이에서 행해진다.
이상과 같이, 콘텐츠 제공 장치(13B)의 FLUS 컨트롤러가, 클라우드(12)의 FLUS 컨트롤러로부터 송신되어 오는 SessionResource의 내용을 갱신하여 클라우드(12)의 FLUS 컨트롤러로 송신하거나, 또는 DASH 배신 서버(22)가, 클라우드(12) 상의 CDN(23)에 MPD를 송부하거나의, 어느 것에 의해, FLUS 소스측이, 당해 DASH-Segment의 TranscodeDirective를, FLUS 싱크측에 통지할 수 있다.
<프로토콜의 상세예>
도 5 내지 도 11을 참조하여, 도 3 및 도 4의 콘텐츠 배신 처리에서 사용되는 프로토콜의 상세에 대하여 설명한다. 예를 들어, API는 RESTful API(REST의 원칙에 준하여 구축된 Web 시스템의 HTTP에서의 호출 인터페이스)에 의해 실장된다.
도 5의 (a)에 도시하는 바와 같이, Service 확립의 요구(도 3의 스텝 S13 및 도 4의 스텝 S53)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 FLUS 소스측으로부터 데이터를 보내기 위한 HTTP POST가 송신된다. 이때, 보디 파트에는, 예를 들어 ServiceResource가 저장된다.
그리고, 그 요구에 대한 응답(도 3의 스텝 S14 및 도 4의 스텝 S54)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 Service 확립의 요구가 성공한 결과 새로운 리소스가 작성되었음을 나타내는 HTTP 201 CREATED가 송신된다. 이때, location 헤더에는, 예를 들어 FLUS 싱크로 갱신된 ServiceResource의 url이 저장된다. 또한, 도 6에 도시하는 ServiceResource의 일례와 같이, Service 확립에 성공한 경우에는, FLUS 싱크측에서 생성된 ServiceResource의 service-id에 할당된 값(ServiceID)이 저장된다.
도 5의 (b)에 도시하는 바와 같이, ServiceResource의 요구(도 3의 스텝 S15 및 도 4의 스텝 S55)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 url로 지정한 정보를 요구하는 HTTP GET이 송신된다. 이때, HTTP GET에서는, Service 확립의 응답으로 반환된 FLUS 싱크로 갱신된 ServiceResource의 url이 지정된다.
그리고, 그 요구에 대한 응답(도 3의 스텝 S16 및 도 4의 스텝 S56)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 ServiceResource의 요구가 성공하였음을 나타내는 HTTP 200 OK가 송신된다. 이때, 보디 파트에는, 당해 ServiceResource가 저장된다.
도 5의 (c)에 도시하는 바와 같이, ServiceResource의 갱신(도 3의 스텝 S17 및 도 4의 스텝 S57)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 url로 지정한 서버 상의 파일을 치환하는 HTTP PUT이 송신된다. 이때, 보디 파트에는, FLUS 소스로 갱신한 ServiceResource가 저장된다.
그리고, 그 갱신에 대한 응답(도 3의 스텝 S18 및 도 4의 스텝 S58)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 ServiceResource의 갱신이 성공하였음을 나타내는 HTTP 200 OK가 송신된다. 이때, ServiceResource의 갱신에 성공한 경우, location 헤더에는, FLUS 싱크로 갱신한 ServiceResource의 url이 저장된다.
도 5의 (d)에 도시하는 바와 같이, Session 확립의 요구(도 3의 스텝 S19 및 도 4의 스텝 S59)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 FLUS 소스측으로부터 데이터를 보내기 위한 HTTP POST가 송신된다. 이때, 보디 파트에는, 예를 들어 SessionResource가 저장된다.
그리고, 그 요구에 대한 응답(도 3의 스텝 S20 및 도 4의 스텝 S60)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 Session 확립의 요구가 성공한 결과 새로운 리소스가 작성되었음을 나타내는 HTTP 201 CREATED가 송신된다. 이때, location 헤더에는, 예를 들어 FLUS 싱크로 갱신된 SessionResource의 url이 저장된다. 또한, 도 7에 도시하는 SessionResource의 일례와 같이, Session 확립에 성공한 경우에는, FLUS 싱크측에서 생성된 SessionResource의 Sessione-id에 할당된 값(SessionID)이 저장된다.
여기서, 도 7에 도시하는 바와 같이, SessionResource에는, 『"FLUS 싱크가 FLUS 소스로부터 스트림을 (Push/Pull) 취득하기 위한 정보"』가 기술되며, 도 8에, 그 일례가 도시되어 있다.
도 8에 도시하는 바와 같이, 이 정보에는, Pull 취득의 경우에는 『"당해 세션 스트림의 MPD의 URL"』이 기술되고, Push 취득의 경우에는 『"당해 세션 스트림의 SDP(Session Description Protocol)의 URL"』이 기술된다.
또한, 도 9에는, 도 8에 도시하는 『"당해 세션 스트림의 SDP(Session Description Protocol)의 URL"』에 있어서의 SDP의 일례가 도시되어 있다. 예를 들어, SDP를 이용하여 스트림을 배신할 때, 도 9에 도시하는 바와 같이, SDP에는, 비디오의 세션 속성 기술의 파트에 TranscodeDirective를 배치할 수 있도록, 새로운 세션 속성 a=transcodeDirective가 도입된다.
또한, 도 9에 도시하는 『a=transcodeDirective: "TranscodeDirective의 내용(XML로 기술된 TranscodeDirective의 문자열을 base64 인코드한 것)"』의 베리에이션으로서, TranscodeDirective 정보 구조(파일)의 URL을 저장하는 경우에는, 『a=transcodeDirective: "TranscodeDirective의 URL(XML로 기술된 TranscodeDirective 파일의 URL)"』이 기재된다.
또한, 도 9에서는, IETF(Internet Engineering Task Force)에서 규격 정의되는 SDP 파일을 메타데이터 파일로서 사용하여, TranscodeDirective를, SDP의 당해 미디어 세션의 미디어 기술부에 저장하는 일례를 도시하였지만, 이 베리에이션으로서, 도 10에 도시하는 바와 같이, FLUS의 당해 SessionResource 중에 저장해도 된다. 또한, 그 베리에이션으로서, 파일의 url인 경우도 있다.
도 11의 (a)에 도시하는 바와 같이, SessionResource의 요구(도 3의 스텝 S21 및 도 4의 스텝 S61)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 url로 지정한 정보를 요구하는 HTTP GET이 송신된다. 이때, HTTP GET에 의해, Session 확립의 응답으로 반환된 FLUS 싱크로 갱신된 SessionResource의 url이 지정된다.
그리고, 그 요구에 대한 응답(도 3의 스텝 S22 및 도 4의 스텝 S62)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 SessionResource의 요구가 성공하였음을 나타내는 HTTP 200 OK가 송신된다. 이때, 보디 파트에는, 당해 SessionResource가 저장된다.
도 11의 (b)에 도시하는 바와 같이, SessionResource의 갱신(도 3의 스텝 S23 및 도 4의 스텝 S63)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 url로 지정한 서버 상의 파일을 치환하는 HTTP PUT이 송신된다. 이때, 보디 파트에는, FLUS 소스로 갱신한 SessionResource가 저장된다.
그리고, 그 요구에 대한 응답(도 3의 스텝 S24 및 도 4의 스텝 S64)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 SessionResource의 갱신이 성공하였음을 나타내는 HTTP 200 OK가 송신된다. 이때, Service 갱신에 성공한 경우, location 헤더에는, FLUS 싱크로 갱신한 SessionResource의 url이 저장된다.
도 11의 (c)에 도시하는 바와 같이, Session의 해방(도 3의 스텝 S27 및 도 4의 스텝 S67)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 url로 지정한 서버 상의 파일을 삭제하는 HTTP DELETE가 송신된다. 이때, HTTP DELETE에서는, SessionResource의 url이 지정된다.
그리고, 그 해방에 대한 응답(도 3의 스텝 S28 및 도 4의 스텝 S68)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 Session의 해방이 성공하였음을 나타내는 HTTP 200 OK가 송신된다. 이때, Session의 해방에 성공한 경우, location 헤더에는, 해방된 SessionResource의 url이 저장된다.
도 11의 (d)에 도시하는 바와 같이, Service의 해방(도 3의 스텝 S29 및 도 4의 스텝 S69)에서는, FLUS 소스로부터 FLUS 싱크로 HTTP 메소드가 송신되며, 예를 들어 url로 지정한 서버 상의 파일을 삭제하는 HTTP DELETE가 송신된다. 이때, HTTP DELETE에서는, ServiceResource의 url이 지정된다.
그리고, 그 해방에 대한 응답(도 3의 스텝 S30 및 도 4의 스텝 S70)에서는, FLUS 싱크로부터 FLUS 소스로 HTTP 스테이터스 코드가 송신되며, 예를 들어 Service의 해방이 성공하였음을 나타내는 HTTP 200 OK가 송신된다. 이때, Service의 해방에 성공한 경우, location 헤더에는, 해방된 ServiceResource의 url이 저장된다.
<콘텐츠 배신 시스템의 각 블록의 구성예>
도 12 내지 도 17을 참조하여, 콘텐츠 배신 시스템(11)을 구성하는 각 블록의 구성예에 대하여 설명한다. 또한, 도 12에 도시하는 콘텐츠 배신 시스템(11)은, 도 1의 콘텐츠 배신 시스템(11A) 및 도 2의 콘텐츠 배신 시스템(11B)의 어느 쪽의 구성에도 대응한다. 즉, 콘텐츠 배신 시스템(11A)의 구성에서는, 스트림 소스 서버(21)와 DASH 배신 서버(22)의 사이에서 FLUS 인터페이스가 이용되고, 콘텐츠 배신 시스템(11B)의 구성에서는, DASH 배신 서버(22)와 CDN(23-1) 및 CDN(23-2)의 사이에서 FLUS 인터페이스가 이용된다.
도 12에 도시하는 바와 같이, 콘텐츠 배신 시스템(11)에서는, 스트림 소스 서버(21)에 DASH 배신 서버(22)가 접속되고, DASH 배신 서버(22)에 스트리밍 배신 매니저(31)가 접속되어 있다. 예를 들어, DASH 배신 서버(22)로부터 스트리밍 배신 매니저(31)로, 오리지널 MPD가 공급되고, 스트리밍 배신 매니저(31)로부터 DASH 배신 서버(22)로, TranscodeDirective가 추가 기록된 MPD가 되돌려진다.
또한, 도 12에 도시하는 콘텐츠 배신 시스템(11)에서는, 2개의 벤더에 의해 제공되는 CDN(23-1) 및 CDN(23-2)을 이용하여 콘텐츠를 배신하는 예가 도시되어 있으며, CDN(23-1) 및 CDN(23-2)은 다단의 CDN 서버(41)에 의해 구성되어 있다. 그리고, DASH 배신 서버(22)로부터, CDN(23-1)의 CDN 오리진 서버(41a-1) 및 CDN(23-2)의 CDN 오리진 서버(41a-2) 각각으로, MPD 및 세그먼트가 송신된다.
CDN(23-1)은, CDN 오리진 서버(41a-1), 도시하지 않은 다단의 CDN 중계 서버 및 CDN 에지 서버(41b-1)에 의해 구성된다. DASH 배신 서버(22)로부터 CDN 오리진 서버(41a-1)로 공급된 MPD 및 세그먼트는, 도시하지 않은 다단의 CDN 중계 서버를 통하여, CDN 에지 서버(41b-1)에 이른다. 그리고, CDN 에지 서버(41b-1)로부터 DASH 플레이어(14-1 및 14-2) 각각으로, MPD 및 세그먼트가 송신되고, 콘텐츠가 재생된다.
CDN(23-2)은, CDN 오리진 서버(41a-2), 도시하지 않은 다단의 CDN 중계 서버 및 CDN 에지 서버(41b-2)에 의해 구성되며, CDN 에지 서버(41b-2)는 트랜스코더(42) 및 트랜스코드 매니저(43)를 갖고 있다. DASH 배신 서버(22)로부터 CDN 오리진 서버(41a-2)로 공급된 MPD 및 세그먼트는, 도시하지 않은 다단의 CDN 중계 서버를 통하여, CDN 에지 서버(41b-2)에 이른다.
CDN 에지 서버(41b-2)에서는, TranscodeDirective가 추가 기록된 MPD와, 트랜스코드 전의 세그먼트가, 트랜스코더(42)에 입력된다. 그리고, CDN 에지 서버(41b-2)에서는, 트랜스코드 후의 세그먼트를 참조하도록 변경된 MPD와, 트랜스코드 완료된 세그먼트가, 트랜스코더(42)로부터 출력된다. 그리고, CDN 에지 서버(41b-2)로부터 DASH 플레이어(14-3)로, 트랜스코드 후의 세그먼트를 참조하도록 변경된 MPD와, 트랜스코드 완료된 세그먼트가 송신된다. 따라서, DASH 플레이어(14-3)는, 이와 같이 배신되는 콘텐츠를 취득하여, 재생된다.
도 13은, 스트림 소스 서버(21)의 구성예를 도시하는 블록도이다.
도 13에 도시하는 바와 같이, 스트림 소스 서버(21)는, 비디오 입력부(51), 오디오 입력부(52), 스트림 생성/기억부(53), 스트림 배신부(54), 메타데이터 생성/기억부(55) 및 메타데이터 배신부(56)를 구비하여 구성된다.
비디오 입력부(51)에는, 예를 들어 도시하지 않은 촬상 장치에 의해 촬상된 비디오 데이터가 입력되고, 오디오 입력부(52)에는, 예를 들어 도시하지 않은 수음 장치에 의해 집음된 오디오 데이터가 입력된다.
스트림 생성/기억부(53)는, 비디오 입력부(51)로부터 공급되는 비디오 데이터와, 오디오 입력부(52)로부터 공급되는 오디오 데이터에 기초하여 스트림을 생성하고, 기억한다.
스트림 배신부(54)는, 스트림 생성/기억부(53)로부터 스트림을 판독하여, DASH 배신 서버(22)에 배신한다.
메타데이터 생성/기억부(55)는, 스트림 생성/기억부(53)에 기억되어 있는 스트림의 메타데이터를 생성하고, 기억한다.
메타데이터 배신부(56)는, 메타데이터 생성/기억부(55)로부터 메타데이터를 판독하여, DASH 배신 서버(22)에 배신한다.
도 14는, 스트리밍 배신 매니저(31)의 구성예를 도시하는 블록도이다.
도 14에 도시하는 바와 같이, 스트리밍 배신 매니저(31)는 TranscodeDirective 생성부(61)를 구비하여 구성된다.
TranscodeDirective 생성부(61)는, 예를 들어 트랜스코더(42)에 있어서 트랜스코드를 행할 때의 제어나 조건 등을 기술하는 TranscodeDirective(정의 정보)를 생성한다. 그리고, TranscodeDirective 생성부(61)는, 생성된 TranscodeDirective를, DASH 배신 서버(22)로부터 공급되는 오리지널 MPD에 추가 기록하여, DASH 배신 서버(22)에 공급한다.
도 15는, DASH 배신 서버(22)의 구성예를 도시하는 블록도이다.
도 15에 도시하는 바와 같이, DASH 배신 서버(22)는, 메타데이터 취득/기억부(71), 스트림 취득/기억부(72), 세그먼트 생성부(73), MPD 생성부(74), 세그먼트 배신부(75) 및 MPD 배신부(76)를 구비하여 구성된다.
메타데이터 취득/기억부(71)는, 스트림 소스 서버(21)의 메타데이터 배신부(56)로부터 공급되는 메타데이터를 취득하고, 그 메타데이터를 기억한다. 그리고, 메타데이터 취득/기억부(71)는, 메타데이터를 스트림 취득/기억부(72) 및 MPD 생성부(74)에 공급한다.
스트림 취득/기억부(72)는, 스트림 소스 서버(21)의 스트림 배신부(54)로부터 공급되는 스트림을 취득하고, 그 스트림을 기억한다. 또한, 스트림 취득/기억부(72)는, 메타데이터 취득/기억부(71)로부터 공급되는 메타데이터에 기초하여 스트림을 인코드하고, 그 스트림으로 배신되는 콘텐츠를 세그먼트 생성부(73)에 공급한다.
세그먼트 생성부(73)는, 스트림 취득/기억부(72)로부터 공급되는 콘텐츠로부터, MPEG-DASH에 따른 세그먼트를 생성하여 세그먼트 배신부(75)에 공급함과 함께, 그 세그먼트의 MPD의 생성을 MPD 생성부(74)에 요구한다.
MPD 생성부(74)는, 메타데이터 취득/기억부(71)로부터 공급되는 메타데이터에 기초하여, 세그먼트 생성부(73)에 있어서 생성된 세그먼트에 대한 오리지널 MPD를 생성(미디어 데이터의 URL을 저장)하고, 그 MPD를 스트리밍 배신 매니저(31)에 공급한다. 그리고, MPD 생성부(74)는, 스트리밍 배신 매니저(31)에 있어서 TranscodeDirective가 추가 기록된 MPD를 수취하여, MPD 배신부(76)에 공급한다.
세그먼트 배신부(75)는, 세그먼트 생성부(73)로부터 공급되는 세그먼트를, CDN(23)에 배신한다.
MPD 배신부(76)는, MPD 생성부(74)로부터 공급되는 MPD를, CDN(23)에 배신한다.
도 16은, CDN(23)을 구성하는 CDN 서버(41)의 구성예를 도시하는 블록도이다. 또한, 도 12의 CDN 오리진 서버(41a), 도시하지 않은 CDN 중계 서버 및 CDN 에지 서버(41b)는, 각각 CDN 서버(41)와 마찬가지의 구성으로 되어 있다.
도 16에 도시하는 바와 같이, CDN 서버(41)는, MPD 취득부(81), 세그먼트 취득부(82), MPD 기억부(83), 트랜스코드 제어부(84), 트랜스코드 처리부(85), 세그먼트 기억부(86), MPD 배신부(87) 및 세그먼트 배신부(88)를 구비하여 구성된다.
MPD 취득부(81)는, DASH 배신 서버(22)의 MPD 배신부(76)로부터 배신되는 TranscodeDirective가 추가 기록된 MPD를 취득하고, 세그먼트 취득부(82) 및 MPD 기억부(83)에 공급한다.
세그먼트 취득부(82)는, DASH 배신 서버(22)의 세그먼트 배신부(75)로부터 배신되는 세그먼트를 취득하고, 세그먼트 기억부(86)에 공급한다.
MPD 기억부(83)는, MPD 취득부(81)에 의해 취득된 TranscodeDirective가 추가 기록된 MPD, 및 트랜스코드 제어부(84)에 의해 갱신 완료된 TranscodeDirective가 추가 기록된 MPD를 기억한다.
트랜스코드 제어부(84)는, MPD 기억부(83)로부터 TranscodeDirective가 추가 기록된 MPD를 판독하여, 그 MPD를 해석하고, TranscodeDirective의 해석을 행한다. 그리고, 트랜스코드 제어부(84)는, 해석의 결과에 따라 MPD를 갱신하여, TranscodeDirective가 추가 기록된 MPD로 되돌림과 함께, 갱신된 MPD에 기초하여, 트랜스코드 처리부(85)에 의한 세그먼트의 트랜스코드를 제어한다. 예를 들어, 트랜스코드 제어부(84)는, MPD에 TranscodeDirective 요소가 저장되어 있는 경우(후술하는 도 24 참조)에는, 그 TranscodeDirective 요소에 기초하여 트랜스코드를 제어한다. 또는, 트랜스코드 제어부(84)는, MPD에 TranscodeDirective 파일의 URL이 저장되어 있는 경우(후술하는 도 25 참조)에는, 그 TranscodeDirective 파일의 URL에 기초하여 TranscodeDirective를 요청함에 따라 수신된 TranscodeDirective 요소에 기초하여 트랜스코드를 제어한다.
트랜스코드 처리부(85)는, 세그먼트 기억부(86)로부터 세그먼트를 판독하고, 트랜스코드 제어부(84)에 의한 제어에 따라 트랜스코드하고, 트랜스코드 완료된 세그먼트를 세그먼트 기억부(86)로 되돌린다.
세그먼트 기억부(86)는, 세그먼트 취득부(82)에 의해 취득된 세그먼트, 및 트랜스코드 처리부(85)에 의해 트랜스코드 완료된 세그먼트를 기억한다.
MPD 배신부(87)는, 트랜스코드 제어부(84)에 의해 갱신 완료된 TranscodeDirective가 추가 기록된 MPD를 MPD 기억부(83)로부터 판독하여, DASH 플레이어(14)에 배신한다.
세그먼트 배신부(88)는, 트랜스코드 완료된 세그먼트를 세그먼트 기억부(86)로부터 판독하여, DASH 플레이어(14)에 배신한다.
도 17은, DASH 플레이어(14)의 구성예를 도시하는 블록도이다.
도 17에 도시하는 바와 같이, DASH 플레이어(14)는, MPD 취득부(91), 플레이어 제어부(92), 인터랙션 처리부(93), 세그먼트 취득부(94), 세그먼트 처리부(95) 및 렌더링 처리부(96)를 구비하여 구성된다.
MPD 취득부(91)는, CDN 서버(41)의 MPD 배신부(87)로부터 배신되는 MPD를 취득하여, 플레이어 제어부(92)에 공급한다.
플레이어 제어부(92)는, MPD 취득부(91)로부터 공급되는 MPD(CDN 서버(41)에서 갱신 완료된 TranscodeDirective가 추가 기록된 MPD)에 따라, 세그먼트 취득부(94), 세그먼트 처리부(95) 및 렌더링 처리부(96)에 대한 제어를 행한다. 이때, 플레이어 제어부(92)는, 인터랙션 처리부(93)에 의해 취득되는 유저의 인터랙션(예를 들어, DASH 플레이어(14)가 헤드 마운트 디스플레이인 경우에는 유저의 얼굴 방향 등)에 따라 콘텐츠의 재생을 제어한다.
인터랙션 처리부(93)는, 도시하지 않은 입력부에 입력되는 각종 정보(예를 들어, DASH 플레이어(14)가 헤드 마운트 디스플레이인 경우에는 방향을 나타내는 정보 등)에 대한 처리를 행하여, DASH 플레이어(14)에 대한 유저의 인터랙션을 취득하고, 플레이어 제어부(92)에 공급한다.
세그먼트 취득부(94)는, CDN 서버(41)의 세그먼트 배신부(88)로부터 배신되는 세그먼트를 취득하고, 플레이어 제어부(92)에 의한 제어에 따라, DASH 플레이어(14)에서 콘텐츠를 재생하는 데 필요한 세그먼트를 세그먼트 처리부(95)에 공급한다.
세그먼트 처리부(95)는, 플레이어 제어부(92)에 의한 제어에 따라, 세그먼트 취득부(94)로부터 공급되는 세그먼트에 대한 처리를 행하고, 콘텐츠를 재생하여 렌더링 처리부(96)에 공급한다.
렌더링 처리부(96)는, 플레이어 제어부(92)에 의한 제어에 따라, 세그먼트 처리부(95)로부터 공급되는 콘텐츠에 대한 렌더링을 행하고, 도시하지 않은 출력부에 출력하여, 콘텐츠를 표시시킨다.
여기서, 상술한 바와 같은 스트림 소스 서버(21), 스트리밍 배신 매니저(31), DASH 배신 서버(22), CDN 서버(41) 및 DASH 플레이어(14)에 의해 구성되는 콘텐츠 배신 시스템(11)에 있어서의 콘텐츠 배신 처리에 대하여 상세하게 설명한다.
예를 들어, 콘텐츠 배신 시스템(11)에서 방송 스트림을 배신하는 경우, 스트림 소스 서버(21)에는, 프로그램이나 커머셜 등이 축적되어 있다. 그리고, 도 12에 도시한 바와 같이, 스트림 소스 서버(21)로부터 배신되는 스트림은, DASH 배신 서버(22)를 경유하여, 배신 서비스 프로바이더가 제공하는 CDN(23)을 구성하는 복수의 CDN 서버(41) 중, CDN 오리진 서버(41a)로부터 다단의 CDN 중계 서버를 통하여 CDN 에지 서버(41b)에 이르고, 최종적으로 DASH 플레이어(14)에서 재생된다.
이때, DASH 배신 서버(22)에서는, MPD 생성부(74)(도 15)가, 생성된 오리지널 MPD를 일단 스트리밍 배신 매니저(31)에 전달한다. 그리고, 스트리밍 배신 매니저(31)에서는, TranscodeDirective 생성부(61)(도 14)가, 그 스트림의 배신 폴리시에 기초하여, 적절하게 MPD를 개변하여 MPD 생성부(74)로 되돌린다.
이때, TranscodeDirective 생성부(61)는, 예를 들어 스트림의 CDN(23)에 있어서의 트랜스코드에 관한 제어나 조건 등을 기술하는 TranscodeDirective 요소를, AdaptationSet 요소에 추가함으로써 MPD를 개변한다. 거기에는, 서비서나 오서측이 인정한 변환 후 프로파일의 후보 등을 심플하게 표현하는 형식이 사용된다. 나아가, 도 16의 CDN 서버(41)에서 행해지는 디코드, 렌더링, 또는 재(再) 인코드 처리에 있어서 제한하고 싶은 내용이 있으면, 그것들을 적확하게 표현하는 형식인 것이 필요하게 된다.
즉, CDN 서버(41)에 있어서의 트랜스코드 처리의 과정에서, 인코드된 오리지널 스트림을 일단 기저 대역 스트림으로 되돌리고 나서 재 인코드할 때, 이하에 나타내는 바와 같은 선언을 행할 수 있도록 하는 것이 요망된다.
우선, 첫 번째, 여러 가지 화상 보정을 적용하여 업스케일링하는 케이스가 증가하고 있는데, 그러한 처리를 가능하게 하는지 여부를 선언할 수 있는 것이 요망된다. 또한, 두 번째, 업스케일링의 처리 방법으로서, 단순한 공간 해상도 또는 시간 해상도의 정수배 변환뿐만 아니라, 여러 가지 업스케일링의 처리 패턴(후술하는 도 35 내지 도 38 참조)을 인정하는지 여부를 선언할 수 있는 것이 요망된다.
또한, 세 번째, viewport dependent 스케일링이나 인코딩을 행하는 케이스도 증가하고 있다고 생각되는데, 그러한 partial 트랜스코드 처리를 가능하게 하는지 여부를 선언할 수 있는 것이 요망된다. 또한, 네 번째, 트랜스코드가 행해질 때 상한으로 하는 최대 지연 시간이나, 품질 차분의 상한(예를 들어, 오리지널 기저 대역 데이터와의 괴리) 등의 트랜스코드 처리의 가부 제어에 있어서의 조건 기술을 선언할 수 있는 것이 요망된다.
그리고, 다섯 번째, 그와 같은 처리가 이루어진 경우에, 오서측에 피드백 리포트하는 기능이 필요하게 되는데, 그때의 Notification 메시지의 구조, URL 등과 같은 내용을 선언할 수 있는 것이 요망된다. 여기서는, 예를 들어 CDN(23)의 내부나, 복수의 CDN(23)을 걸칠 때, 유저 근방의 CDN 에지 서버(41b) 등의 어느 단계에서, 어떤 처리가 행해졌는지를 피드백 리포트하는 것이 상정된다.
이러한 내용이 기술된 TranscodeDirective 요소가 추가 기록되어 개변된 MPD와 DASH 세그먼트가, 도 12의 CDN(23-1) 및 CDN(23-2)에 전달되고, 다단의 CDN 서버(41)를 통하여 CDN 에지 서버(41b)로 전송된다. 그리고, DASH 플레이어(14)는, 원하는 MPD를 취득하면 HTTP를 이용하여 CDN 에지 서버(41b) 상의 세그먼트를 페치한다. 또한, CDN(23)의 내부에서는, HTTP나, DASH 세그먼트 이외의, 프로토콜이나 포맷에 의해, 세그먼터로부터 CDN 에지 서버(41b)로 배신되는 경우도 있다. 또한, CDN 에지 서버(41b)는, 예를 들어 보다 상단의 CDN 서버(41)로부터 HTTP에 의해 원하는 세그먼트를 PULL 취득하는 경우도 있다.
여기서, CDN 에지 서버(41b)를 경유하여, DASH 플레이어(14)가 MPD를 취득하는 경우, CDN 에지 서버(41b)와 DASH 플레이어(14)의 사이의 네트워크의 상태나, 개개의 DASH 플레이어(14)의 엔드 유저의 시청 기호 등에 기초하여 세그먼트의 인코드 방식을 변경하는 경우가 있다. 이와 같은 트랜스코드는, CDN(23)의 내부의 CDN 에지 서버(41b) 상에서, 부하 상태에 따라 적절하게 부하 분산시키면서 실행된다.
예를 들어, 일반적인 VoD(Video On Demand) 스트리밍에 있어서는, CDN 오리진 서버(41a)에 있어서, 배신이 개시되기 전에, 어떤 콘텐츠의 복수 비트 레이트 스트림을 생성하고 나서, 유저 리퀘스트에 따라 배신해도 된다. 또는 리스폰스의 퍼포먼스를 향상시키기 위해, 클라이언트로부터의 리퀘스트가 이루어지기 전에, CDN 에지 서버(41b)(또는, 배신 경로 상의 중간 노드로 되는 CDN 중계 서버)에 사전 배신(프리페치 또는 푸시 배신)해 두어도 된다.
여기서, CDN 에지 서버(41b)(이후, 배신 경로 상의 중간 노드(CDN 중계 서버)를 포함시켜, CDN 에지 서버(41b)라는 표현을 사용함)가, 클라이언트로부터의 리퀘스트의 경향을 사전에 파악(상정)할 수 있는 경우에는, 미리, 오리지널 스트림을 바탕으로, 클라이언트의 재생 또는 시청의 기호를 고려하여, 스트리밍의 품질(화질/음질에서부터 리스폰스 퍼포먼스를 포함함)에 대한 개선을 실시하는 것이 가능하게 된다. 예를 들어, CDN 에지 서버(41b)에 액세스하는 클라이언트군으로부터의 리퀘스트의 과거 통계로부터 예측되는 DASH 플레이어(14)의 재생 능력이나 코덱의 종류 등에 기초하여, CDN 에지 서버(41b)에 있어서의 스트리밍의 품질 개선이 실시된다.
또한, 오서측으로부터 ROI(Region Of Interest) 메타데이터 등이 제공되고, 미리 클라이언트가 요구할 것 같은 화상 상의 영역(ROI가 동일 화상 상에 복수 있는 것도 상정)을 특정하는 것이 가능한 경우에는, CDN 에지 서버(41b)에서, 그들 ROI 영역을 중심으로 업스케일링을 실시하고 나서 다시 인코드하는 경우도 있다. 이러한 경우에는, 예를 들어 최초의 수 세그먼트에 대해서는 클라이언트로부터의 리퀘스트가 변동되는(ROI 영역이 각각의 클라이언트별로 다른) 것을 상정하여, 트랜스코드 완료 세그먼트의 복수의 버전을 준비한다. 그리고, 클라이언트로부터의 리퀘스트가 정상 상태로 안정된 후에, 후속의 세그먼트(최초의 베리에이션 중 서브세트, 즉 동일 화상 상의 복수 ROI 중 서브세트를 중심으로)를 트랜스코드함으로써, CDN 에지 서버(41b)의 캐시 영역을 대폭 저장하는 것도 가능하게 된다.
이러한 플렉시블한 트랜스코드를 제어하기 위해, CDN 에지 서버(41b)에 트랜스코드 매니저(43)를 실장한다. 트랜스코드 매니저(43)는, DASH 플레이어(14)와의 사이의 네트워크의 부하 상황을 파악하거나, CDN 에지 서버(41b)의 부하 상황을 고려하면서, DASH 플레이어(14)에 전달한 MPD와 그것에 기초하는 리퀘스트에 대한 지식을 이용하여, CDN 에지 서버(41b)에 실장되는 트랜스코더(42)에 대하여 세그먼트의 트랜스코드를 지시한다.
또한, 트랜스코드 매니저(43)는, MPD에 기술되는 TranscodeDirective의 내용을 파싱하고, 거기에 기술되는 트랜스코드 처리에 관한 여러 가지 제약 또는 조건에 기초하여, 트랜스코더(42)에 대하여 당해 세그먼트에 대한 트랜스코드를 지시한다. 그리고, 트랜스코드 매니저(43)는, 트랜스코더(42)에 있어서 트랜스코드 처리가 행해지면, TranscodeDirective에 기재된 리포트 백 URL에, 리포트 메시지를 송부한다.
또한, 트랜스코드 매니저(43)는, MPD의 내용을 갱신하고, 오리지널 세그먼트 참조로부터, 트랜스코드가 이루어진 세그먼트 참조로 변경한다. 여기서, 후술하는, viewport를 고려한 세그먼트의 부분적인 변경과 같이, MPD의 내용의 갱신을 수반하지 않는 경우, 즉 업스케일링에 의한 파라미터 개변이 파일 포맷 레벨에 클로즈되어 있는(예를 들어, MPD에 영향을 미치고 있지 않은) 경우, 오리지널 세그먼트 참조인 채로, 세그먼트의 내용만이 변경되는 경우가 있다. 이 경우에는, 클라이언트에는 MPD의 갱신 취득을 촉구할 필요는 없다.
DASH 플레이어(14)는, 이러한 트랜스코드가 이루어진 세그먼트를 참조하도록 변경된 MPD를 취득하고, 그 MPD에 기초하여 세그먼트를 취득하여 재생한다.
도 18을 참조하여, 도 12의 콘텐츠 배신 시스템(11)에서 행해지는 콘텐츠 배신 처리에 있어서, DASH 배신 서버(22) 및 스트리밍 배신 매니저(31), CDN 서버(41)(주로 CDN 에지 서버(41b)의 트랜스코더(42) 및 트랜스코드 매니저(43)), 그리고 DASH 플레이어(14)에서 행해지는 처리에 대하여 설명한다.
스텝 S101에 있어서, DASH 배신 서버(22)에서는, 스트림 소스 서버(21)로부터 배신되는 스트림을 스트림 취득/기억부(72)가 수신하여 인코드하고, 세그먼트 생성부(73)가 세그먼트를 생성한다. 그리고, 스트리밍 배신 매니저(31)는, TranscodeDirective가 추가 기록된 MPD를 생성한다. 이때, 스트리밍 배신 매니저(31)는, 예를 들어 TranscodeDirective의 내용이 FLUS 인터페이스를 통한 메타데이터로서 상류측으로부터 제공되는 경우, 상술한 도 9에 도시한 바와 같은 TranscodeDirective의 내용을 MPD에 삽입한다. 또는 스트리밍 배신 매니저(31)는, TranscodeDirective 대신에, 상술한 바와 같이, TranscodeDirective 파일의 URL을 MPD에 삽입해도 된다.
스텝 S102에 있어서, CDN 서버(41)는, DASH 배신 서버(22)에 대하여 MPD 및 세그먼트의 취득을 요구한다.
DASH 배신 서버(22)는, 스텝 S102에 있어서의 CDN 서버(41)로부터의 요구를 취득하면, 스텝 S103에 있어서, TranscodeDirective가 추가 기록된 MPD와 세그먼트의 전송을 개시한다.
스텝 S104에 있어서, 트랜스코드 매니저(43)는, 리퀘스트 처리 상황의 계측을 행한다.
CDN 서버(41)가, 스텝 S103에서 DASH 배신 서버(22)로부터 전송되어 오는 TranscodeDirective가 추가 기록된 MPD와 세그먼트를 수신하면, 스텝 S105에 있어서, 트랜스코드 매니저(43)는, TranscodeDirective가 추가 기록된 MPD를 파싱한다. 그리고, 트랜스코드 매니저(43)는, TranscodeDirective의 해석을 행하고, 그 해석 결과에 따라, 트랜스코더(42)에 대한 트랜스코드를 지시한다.
트랜스코더(42)는, 트랜스코드 매니저(43)에 의한 트랜스코드 지시에 따라 스텝 S106에 있어서 세그먼트를 디코드하고, 스텝 S107에 있어서 업스케일링을 행하고, 스텝 S108에 있어서 세그먼트를 인코드한다. 그리고, 스텝 S109에 있어서, 트랜스코더(42)는, 트랜스코드 완료된 세그먼트를 참조하는 MPD를 생성한다.
스텝 S110에 있어서, DASH 플레이어(14)는, CDN 서버(41)에 대하여 MPD의 취득을 요구한다.
CDN 서버(41)는, 스텝 S110에 있어서의 DASH 플레이어(14)로부터의 요구를 수신하면, 스텝 S111에 있어서, 트랜스코드 완료된 세그먼트를 참조하는 MPD를 DASH 플레이어(14)에 전송한다.
DASH 플레이어(14)는, 스텝 S111에서 전송되어 오는 트랜스코드 완료된 세그먼트를 참조하는 MPD를 취득하면, 스텝 S112에 있어서, 그 MPD를 파싱한다. 그리고, DASH 플레이어(14)는, CDN 서버(41)에 대하여 세그먼트를 요구한다.
CDN 서버(41)는, 스텝 S112에 있어서의 DASH 플레이어(14)로부터의 요구를 취득하면, 스텝 S113에 있어서, DASH 플레이어(14)에 의해 요구된 트랜스코드 완료된 세그먼트의 전송을 행한다.
DASH 플레이어(14)는, 스텝 S113에서 전송되어 오는 트랜스코드 완료된 세그먼트를 수신하면, 스텝 S114에 있어서, 그 수신한 트랜스코드 완료된 세그먼트의 재생을 행한다.
그 후, 콘텐츠의 배신이 종료될 때까지, 트랜스코드 완료된 세그먼트의 전송과, 그 재생이 계속해서 행해진다.
이상과 같이, 스트리밍 배신 매니저(31)가, TranscodeDirective가 추가 기록된 MPD를 생성함으로써, 트랜스코드 매니저(43)는, 그 MPD를 파싱하여, TranscodeDirective를 해석하고, 트랜스코드를 지시할 수 있다.
또한, 여기서는, CDN 서버(41)측으로부터 DASH 배신 서버(22)에 대하여 MPD나 세그먼트의 취득을 요구하는 예를 나타내었지만, 예를 들어 DASH 배신 서버(22)측으로부터 푸쉬식으로 CDN 서버(41)에 대하여 MPD나 세그먼트를 전송해도 된다. 또는 DASH 플레이어(14)가 처음에 MPD의 요구를 행하고, 그 요구에 따라 CDN 서버(41)로부터 MPD나 세그먼트를 전송하도록 보텀 업으로 플로우가 개시되어도 된다. 이러한 패턴도 포함시켜, 후술하는 도 21 내지 도 23에는, 라이브 스트리밍 시에 일어날 수 있을 가능성이 있는 MPD가 동적으로 갱신되는 경우에 있어서의 처리의 예를 도시한다.
여기서, 도 19에는, 도 18의 스텝 S101에 있어서, TranscodeDirective의 내용이 FLUS 인터페이스를 통한 메타데이터(SDP)로서 전달되는 경우의 대응 관계가 도시되어 있다. 즉, SDP에 기재되는 TranscodeDirective와, MPD에 삽입되는 TranscodeDirective의 사이에는, 도 19에 도시하는 바와 같은 대응 관계가 있다. 마찬가지로, 스트림 소스 서버(21)로부터의 스트림과, DASH 배신 서버(22)보다 후단의 클라우드(12) 상의 스트림의 사이에는, 도 19에 도시하는 바와 같은 대응 관계가 있다.
도 20은, 스트리밍 배신 매니저(31)가 클라우드(12) 상에 마련되는 베리에이션의 콘텐츠 배신 시스템(11B)의 구성예를 도시하는 블록도이다.
도 20에 도시하는 바와 같이, 콘텐츠 배신 시스템(11B)은, TranscodeDirective의 내용을 MPD에 추가하는 스트리밍 배신 매니저(31)가, 콘텐츠 제공 장치(13)의 DASH 배신 서버(22)와, 클라우드(12) 상의 CDN(23)의 사이에 배치되어 구성된다. 따라서, 콘텐츠 배신 시스템(11B)에서는, 콘텐츠 제공 장치(13B)와, 스트리밍 배신 매니저(31) 및 CDN(23)의 사이에서, FLUS 인터페이스가 이용된다. 또한, 이와 같이 구성되는 콘텐츠 배신 시스템(11B)에서는, MPD에는, TranscodeDirective가 기재되어 있지 않은 패턴과, 이미 기재되어 있는 패턴이 있다.
도 21을 참조하여, 도 20에 도시하는 바와 같이 구성되는 콘텐츠 배신 시스템(11B)에 있어서의 콘텐츠 배신 처리에 대하여 설명한다.
스텝 S131에 있어서, 도 18의 스텝 S101과 마찬가지로, DASH 배신 서버(22)에서는, 스트림 소스 서버(21)로부터 공급되는 스트림이 인코드되어, 세그먼트가 생성된다.
스텝 S132에 있어서, CDN 서버(41)는, DASH 배신 서버(22)에 대하여 MPD 및 세그먼트의 취득을 요구한다.
DASH 배신 서버(22)는, 스텝 S132에 있어서의 CDN 서버(41)로부터의 요구를 취득하면, 스텝 S133에 있어서, 스트리밍 배신 매니저(31)에 대한 MPD와 세그먼트의 전송을 개시한다.
스트리밍 배신 매니저(31)는, 스텝 S133에서 전송되어 오는 MPD와 세그먼트를 수신하면, 스텝 S134에 있어서, TranscodeDirective의 MPD로의 삽입을 행한다. 그리고, 스트리밍 배신 매니저(31)는, CDN 서버(41)에 대하여, TranscodeDirective가 추가 기록된 MPD와 세그먼트의 전송을 개시한다.
그 후, 도 18의 스텝 S105 이후와 마찬가지의 처리에 의해, 콘텐츠의 배신이 행해진다.
이와 같이, 스트리밍 배신 매니저(31)가 클라우드(12) 상에 마련되는 구성에서는, DASH 배신 서버(22)로부터 스트리밍 배신 매니저(31)를 통하여 CDN 서버(41)로, TranscodeDirective가 추가 기록된 MPD 및 세그먼트가 배신된다.
도 22를 참조하여, 도 12의 콘텐츠 배신 시스템(11)에 있어서, 트랜스코드 완료 세그먼트를 참조하는 MPD를 클라이언트에 통지하여 세그먼트를 취득시키는 콘텐츠 배신 처리에 대하여 설명한다.
스텝 S151에 있어서, 도 18의 스텝 S101과 마찬가지로, DASH 배신 서버(22)에서는, 스트림 소스 서버(21)로부터 공급되는 스트림이 인코드되어, 세그먼트가 생성된다. 또한, DASH 배신 서버(22)에서는, MPD 생성부(74)가, 오리지널 MPD를 생성한다.
스텝 S152에 있어서, DASH 배신 서버(22)는, 스텝 S151에서 생성된 MPD 및 세그먼트를 전송하며, CDN 서버(41)에 있어서 취득된다.
스텝 S153에 있어서, DASH 플레이어(14)는, CDN 서버(41)에 대하여 MPD의 취득을 요구한다.
CDN 서버(41)는, 스텝 S153에 있어서의 DASH 플레이어(14)로부터의 요구를 수신하면, 스텝 S154에 있어서, 스텝 S152에서 취득한 MPD를 DASH 플레이어(14)에 전송한다.
DASH 플레이어(14)는, 스텝 S154에서 전송되어 오는 MPD를 취득하면, 스텝 S155에 있어서, 그 MPD를 파싱한다. 그리고, DASH 플레이어(14)는, CDN 서버(41)에 대하여 세그먼트를 요구한다.
CDN 서버(41)는, 스텝 S155에 있어서의 DASH 플레이어(14)로부터의 요구를 취득하면, 스텝 S156에 있어서, DASH 플레이어(14)에 의해 요구된 세그먼트의 전송을 행한다.
DASH 플레이어(14)는, 스텝 S156에서 전송되어 오는 세그먼트를 수신하면, 스텝 S157에 있어서, 그 수신한 세그먼트의 재생을 행한다.
스텝 S158에 있어서, 트랜스코드 매니저(43)는, 리퀘스트 처리 상황의 계측을 행한다.
스텝 S159에 있어서, DASH 배신 서버(22)는, MPD를 갱신하여 전송, 즉 스트리밍 배신 매니저(31)에 의해 TranscodeDirective가 추가 기록된 MPD를 CDN 서버(41)에 전송한다.
CDN 서버(41)가, 스텝 S159에서 DASH 배신 서버(22)로부터 전송되어 오는 TranscodeDirective가 추가 기록된 MPD와 세그먼트를 수신하면, 처리는 스텝 S160에 있어서, 트랜스코드 매니저(43)는, TranscodeDirective가 추가 기록된 MPD를 파싱한다. 그리고, 트랜스코드 매니저(43)는, TranscodeDirective의 해석을 행하고, 그 해석 결과에 따라, 트랜스코더(42)에 대한 트랜스코드를 지시한다.
트랜스코더(42)는, 트랜스코드 매니저(43)에 의한 트랜스코드 지시에 따라, 스텝 S161에 있어서 세그먼트를 디코드하고, 스텝 S162에 있어서 업스케일링을 행하고, 스텝 S163에 있어서 세그먼트를 인코드한다. 그리고, 스텝 S164에 있어서, 트랜스코더(42)는, 트랜스코드 완료된 세그먼트를 참조하는 MPD를 생성한다.
스텝 S165에 있어서, CDN 서버(41)는, MPD가 갱신되었음을 DASH 플레이어(14)에 대하여 통지한다.
스텝 S166에 있어서, DASH 플레이어(14)는, 스텝 S165에서의 CDN 서버(41)로부터의 통지에 따라, CDN 서버(41)에 대하여 MPD의 취득을 요구한다.
CDN 서버(41)는, 스텝 S166에 있어서의 DASH 플레이어(14)로부터의 요구를 수신하면, 스텝 S167에 있어서, 트랜스코드 완료된 세그먼트를 참조하는 MPD를 DASH 플레이어(14)에 전송한다.
DASH 플레이어(14)는, 스텝 S167에서 전송되어 오는 트랜스코드 완료된 세그먼트를 참조하는 MPD를 취득하면, 스텝 S168에 있어서, 그 MPD를 파싱한다. 그리고, DASH 플레이어(14)는, 다음 세그먼트로서, CDN 서버(41)에 대하여 트랜스코드 완료된 세그먼트를 요구한다.
CDN 서버(41)는, 스텝 S168에 있어서의 DASH 플레이어(14)로부터의 요구를 취득하면, 스텝 S169에 있어서, DASH 플레이어(14)에 의해 요구된 트랜스코드 완료된 세그먼트의 전송을 행한다.
DASH 플레이어(14)는, 스텝 S169에서 전송되어 오는 트랜스코드 완료된 세그먼트를 수신하면, 스텝 S170에 있어서, 그 수신한 트랜스코드 완료된 세그먼트의 재생을 행한다.
그 후, 콘텐츠의 배신이 종료될 때까지, 트랜스코드 완료된 세그먼트의 전송과, 그 재생이 계속해서 행해진다.
이상과 같이, CDN 서버(41)로부터 DASH 플레이어(14)로, MPD가 갱신되었음을 통지하고, 그 통지에 따라, DASH 플레이어(14)가, 트랜스코드 완료된 세그먼트를 참조하는 MPD를 취득하고, 트랜스코드 완료된 세그먼트를 재생할 수 있다.
도 23을 참조하여, 도 12의 콘텐츠 배신 시스템(11)에 있어서, 트랜스코드 전의 세그먼트의 URL을 트랜스코드 완료 세그먼트의 URL에 유용하여 클라이언트에 세그먼트를 취득시키는 콘텐츠 배신 처리에 대하여 설명한다.
스텝 S201부터 스텝 S213까지는, 도 22의 스텝 S151부터 스텝 S163까지와 마찬가지의 처리가 행해진다.
그리고, 스텝 S214에 있어서, DASH 플레이어(14)는, 다음 세그먼트를 요구한다.
이때, 트랜스코드 전의 세그먼트의 URL이 트랜스코드 완료 세그먼트의 URL에 유용되고, 스텝 S214에서 DASH 플레이어(14)가 요구한 URL의 세그먼트는, 트랜스코드 완료 세그먼트에 의해 치환되어 있다.
따라서, 스텝 S215에 있어서, CDN 서버(41)는, DASH 플레이어(14)의 요구에 따라, 트랜스코드 완료된 세그먼트의 전송을 행한다.
DASH 플레이어(14)는, 스텝 S215에서 전송되어 오는 트랜스코드 완료된 세그먼트를 수신하면, 스텝 S216에 있어서, 그 수신한 트랜스코드 완료된 세그먼트의 재생을 행한다.
이상과 같이, 트랜스코드 전의 세그먼트의 URL을 트랜스코드 완료 세그먼트의 URL에 유용함으로써, 예를 들어 트랜스코드 후의 세그먼트를 참조하도록 변경된 MPD를 DASH 플레이어(14)에 전송하지 않아도, DASH 플레이어(14)는, 트랜스코드 완료 세그먼트를 취득할 수 있다.
<TranscodeDirective의 구조>
도 24 내지 도 33을 참조하여, CDN 서버(41)(주로 CDN 에지 서버(41b))에 있어서, 해석 또는 가부의 판정에 사용되는 메타데이터인 TranscodeDirective의 구조에 대하여 설명한다.
예를 들어, 스트리밍 서비스의 매니페스트로서 DASH-MPD를 이용하는 경우에는, 이 메타데이터가 트랜스코드의 대상으로 되는 AdaptationSet 요소(또는, Representation 요소, SubRepresentation 요소)에 추가 기록된다. 또한, 트랜스코드 매니저(43)는, 요소나 값을 복수 기재할 수 있는 것에 관하여, 최적의 것을 선택할 수 있다.
도 24에는, DASH-MPD에 대한 TranscodeDirective 요소의 배치예가 도시되어 있다. 예를 들어, TranscodeDirective 요소는, 단독 파일로서 기억되고, 도 24에 도시하는 바와 같이, AdaptationSet 요소에 추가 기록하도록, <TranscodeDirective...>부터 </TranscodeDirective>의 사이에, TranscodeDirective 요소를 배치할 수 있다.
또한, 도 25에는, DASH-MPD에 대한 TranscodeDirective 요소의 배치의 베리에이션의 일례가 도시되어 있다. 도 25에 도시하는 바와 같이, AdaptationSet 요소에 추가 기록하도록, TranscodeDirective 파일의 URL을 배치할 수 있다.
이하에서는, TranscodeDirective 요소의 상세에 대하여 설명한다.
도 26의 (a)에 도시하는 바와 같이, transcodable 속성에 의해, 트랜스코드 가능 여부가 true 또는 false에 의해 지정된다. 예를 들어, TranscodeDirective 요소에 transcodable 속성만이 존재하고, 또한 transcodable 속성에 의해 true로 지정된 경우에는, 임의의 패턴의 트랜스코드가 가능임을 나타낸다. 반대로, transcodable 속성에 의해 false로 지정된 경우에는, 일절의 트랜스코드 처리가 금지임을 나타낸다.
그리고, transcodable 속성에 있어서, 트랜스코드가 가능임이 나타났을 때, 이하의 속성이 존재할 수 있다.
도 26의 (b)에 도시하는 바와 같이, upScalable 속성에 의해, 트랜스코드 시에 업스케일 가능 여부가 true 또는 false에 의해 지정된다. 예를 들어, transcodable 속성에 있어서 true가 지정되었을 때 upScalable 속성만이 존재하고, 또한 upScalable 속성에 의해 true로 지정된 경우에는, 재 인코드한 후에, 임의의 패턴의 업스케일링이 가능임을 나타낸다. 반대로, upScalable 속성만이 존재하고, 또한 upScalable 속성에 의해 false로 지정된 경우에는, 재 인코드 전에 일절의 업스케일링이 금지임을 나타낸다.
도 26의 (c)에 도시하는 바와 같이, processingLimit 속성에 의해, 트랜스코드의 처리에 걸리는 시간의 상한값인 지연 최대 시간이 지정된다.
도 26의 (d)에 도시하는 바와 같이, Allowed 요소에 의해, 재 인코드 시에 선택 가능한 코덱 파라미터로서, Parameters/Video 및 Parameters/Audio 중 적어도 한쪽이 지정(복수 가능)된다. 또한, Allowed 요소에 있어서 『/Parameters/"다른 미디어 타입"』과 같이 지정함으로써, 다른 미디어 타입을 선택 가능하게 하는 것도 포함하도록 확장할 수 있다.
도 26의 (e)에 도시하는 바와 같이, Prohibited 요소에 의해, 재 인코드 시에 선택 불가능한 코덱 파라미터로서, Parameters/Video 및 Parameters/Audio 중 적어도 한쪽이 지정(복수 가능)된다. 또한, Prohibited 요소에 있어서 『/Parameters/"다른 미디어 타입"』과 같이 지정함으로써, 다른 미디어 타입을 선택 불가능으로 하는 것도 포함하도록 확장할 수 있다.
도 26의 (f)에 도시하는 바와 같이, Condition 요소에 의해, schemeIdUri 속성에 조건 기술의 포맷(조건 기술 언어)을 식별하는 URI가 지정된다. 예를 들어, 조건 기술을 ODRL로 기술하는 경우에는, urn:ODRL과 같이 지정된다. 또한, Condition 요소의 콘텐츠 파트의 CDATA 섹션("<![CDATA["라고 하는 문자열로 시작되어, "]]>"라고 하는 문자열로 끝남)에는, 조건 기술이 저장된다.
예를 들어, 도 27에 도시하는 바와 같이, Condition 요소의 콘텐츠 파트의 CDATA 섹션에 조건 기술이 저장된다.
또한, 도 28에, ODRL에 의한 조건 기술의 일례를 도시한다. 도 28에서는, 서비스 오너인 "a.com"은, 2017/12/31까지라면, "cdn.com"에 대하여, 당해 트랜스코드를 허가한다고 하는 예가 기술되어 있다.
도 29의 (a)에 도시하는 바와 같이, TranscodeEventNotification 요소에 의해, 당해 TranscodeDirective에 기재되는 각종 제한이나 방침 등이 적용된 이벤트 통지가 지정된다.
도 29의 (b)에 도시하는 바와 같이, dateTime 속성에 의해, 이벤트가 발생한 시각이 지정된다.
도 29의 (c)에 도시하는 바와 같이, MPDUrl 속성에 의해, 당해 MPD의 URL이 지정된다.
도 29의 (d)에 도시하는 바와 같이, AdaptationSetId 속성에 의해, 트랜스코드 대상의 AdaptationSet의 Id가 지정된다.
도 29의 (e)에 도시하는 바와 같이, notificationUrl 속성에 의해, notification 송부처 URL이 지정된다.
여기서, 예를 들어 당해 TranscodeDirective의 적용 대상으로 되는 스트림(세그먼트)에 대하여 트랜스코드가 적용된 경우에는, 상술한 dateTime 속성, MPDUrl 속성 및 AdaptationSetId 속성의 TranscodeDirective 요소 그 자체를, notificationUrl 속성으로 지정되는 URL에 HTTP POST로 통지한다. 이에 의해, 실제로 적용된 트랜스코드 처리의 내용 보고가 행해진다. 이때, 적용된 트랜스코드의 패턴에 따라 적절하게 요소, 속성 또는 값이 채워지는 것으로 한다.
구체적으로는, 오리지널 비디오 스트림을, 4K 해상도 및 120 프레임 레이트로 업컨버트하고 나서 재 인코드한 경우에는, 도 30에 도시되는 바와 같은 TranscodeDirective 요소가, notificationUrl 속성으로 지정되는 URL에 통지된다.
도 31의 (a)에 도시하는 바와 같이, Parameters/Video 요소에 의해, Video의 각종 속성이 지정된다.
도 31의 (b)에 도시하는 바와 같이, profile 속성에 의해, 콤마에 의해 구획된 "profile명"의 리스트가 지정된다.
도 31의 (c)에 도시하는 바와 같이, resolution 속성에 의해, 콤마에 의해 구획된 "세로×가로"의 화소수의 리스트가 지정된다. 또한, resolution 속성의 다른 표현예로서, 세로 화소수의 상한 또는 하한과, 가로 화소수의 상한 또는 하한에 의해 지정해도 된다.
도 31의 (d)에 도시하는 바와 같이, frameRate 속성에 의해, 콤마에 의해 구획된 "프레임 레이트(fps 단위)"의 리스트가 지정된다. 또한, frameRate 속성의 다른 표현예로서, 프레임 레이트의 상한 또는 하한에 의해 지정해도 된다.
도 31의 (e)에 도시하는 바와 같이, bitDepth 속성에 의해, 콤마에 의해 구획된 "비트수(심도)"의 리스트가 지정된다. 또한, bitDepth 속성의 다른 표현예로서, 비트수의 상한 또는 하한에 의해 지정해도 된다.
도 31의 (f)에 도시하는 바와 같이, colorSpace 속성에 의해, 콤마에 의해 구획된 "색 공간명"의 리스트가 지정된다.
도 31의 (g)에 도시하는 바와 같이, gamma 속성에 의해, 콤마에 의해 구획된 "감마값"의 리스트가 지정된다.
도 31의 (h)에 도시하는 바와 같이, upScalingPatternList 속성에 의해, 콤마에 의해 구획된 "업스케일링 패턴"의 리스트가 지정된다.
도 32의 (a)에 도시하는 바와 같이, partialTransformability 속성에 의해, 부분적 업스케일링을 수반하는 렌더링 및 트랜스코드가 가능한지 여부가 true 또는 false에 의해 지정된다.
도 32의 (b)에 도시하는 바와 같이, deviationLimit 요소에 의해, 차분 포맷 식별자와, 그 방식으로 표시되는 값이 지정된다.
도 32의 (c)에 도시하는 바와 같이, Parameters/Audio 요소에 의해, Audio의 각종 속성이 지정되고, 가부 지정 대상의 Audio 속성이 열거된다.
도 32의 (d)에 도시하는 바와 같이, profileList 속성에 의해, 콤마에 의해 구획된 "프로파일명"의 리스트가 지정된다.
도 32의 (e)에 도시하는 바와 같이, samplingRate 속성에 의해, 콤마에 의해 구획된 "샘플링 레이트(Hz 단위)"의 리스트가 지정된다. 또한, samplingRate 속성의 다른 표현예로서, 샘플링 레이트의 상한 또는 하한에 의해 지정해도 된다.
도 32의 (f)에 도시하는 바와 같이, bitDepth 속성에 의해, 콤마에 의해 구획된 "비트수(심도)"의 리스트가 지정된다. 또한, bitDepth 속성의 다른 표현예로서, 비트수의 상한 또는 하한에 의해 지정해도 된다.
도 32의 (g)에 도시하는 바와 같이, deviationLimit 요소에 의해, 차분 포맷 식별자와, 그 방식으로 표시되는 값이 지정된다. 예를 들어, 도 33에 도시하는 바와 같이, deviationLimit 요소의 schemeIdUri 속성에 deviation의 표현 방식을 식별하는 URI가 지정(예를 들어, PSNR이라면, urn:PSNR과 같이 지정)되고, value 속성에, 그 값(도 33의 예에서는 35)이 저장된다.
도 34는, TrasncodeDirective의 구성의 일례가 도시되어 있다.
도 34에 도시하는 바와 같이, Video의 AdaptationSet에 배치되는 경우에는, Parameters 요소의 밑은 Video 요소만으로 된다. 또한, Audio의 AdaptationSet에 배치되는 경우에는, Parameters 요소의 밑은 Audio 요소만으로 된다.
<업스케일링의 종류>
도 35 내지 도 38을 참조하여, 부분적인 화상 수정 처리를 포함하는 업스케일링의 종류에 대하여 설명한다.
도 35에는, SDTV(4:3)의 좌우에, 블랙 색감을 추가함으로써, HDTV(16:9)로 변환시키는 업스케일링(FullHeight)의 예가 도시되어 있다. 또한, 예를 들어 SDTV의 상하에, 블랙 색감을 추가함으로써, HDTV로 변환시키는 업스케일링(FullWidth)을 행하여 화각을 변환시켜도 되고, 블랙 색감 이외를 추가해도 된다.
도 36에는, SDTV(4:3)로부터 HDTV(16:9)로 가로 폭을 맞추어, 상하를 커트함으로써, HDTV(16:9)로 변환시키는 업스케일링(FullWidth-TopBottomCrop-BlowUp)의 예가 도시되어 있다. 또한, 예를 들어 SDTV로부터 HDTV로 세로 폭을 맞추어, 좌우를 커트함으로써, HDTV로 변환시키는 업스케일링(FullHeight-SideCrop-BlowUp)을 행하여 화각을 변환시켜도 된다.
도 37에는, SDTV(4:3)로부터 좌우로 잡아늘임으로써, HDTV(16:9)로 변환시키는 업스케일링(FullSize-Anamorphic)의 예가 도시되어 있다. 또한, SDTV로부터 상하로 잡아늘임으로써, HDTV로 변환시키는 업스케일링(FullSize-Anamorphic)을 행하여 화각을 변환시켜도 된다.
도 38에는, SDTV(4:3)로부터 좌우를 보완함으로써, HDTV(16:9)로 변환시키는 업스케일링(Artificial-FullSize-Anamorphic)의 예가 도시되어 있다. 이때, 예를 들어 지적 화상 처리 기술 등을 이용하여 화상을 유추 생성하여 화상 중 오브젝트의 종횡비를 유지하면서 화상을 보완함으로써 화각을 변환시킬 수 있다. 즉, 도 38에 도시하는 바와 같이, 좌우에 인공적으로 보완(기타, 유추, 외삽 또는 상상)하도록 화상이 추가된다.
<PartialTransformability를 이용한 처리>
도 39를 참조하여, PartialTransformability를 이용하여 콘텐츠를 배신하는 콘텐츠 배신 처리에 대하여 설명한다. 예를 들어, 상술한 도 32의 (a)에 도시한 partialTransformability 속성을 true 또는 false로 설정함으로써, 클라이언트 디바이스에 있어서의 유저의 viewport의 정보에 기초한 오리지널 스트림의 부분적인 업스케일링을 포함하는 트랜스코딩의 최적화를 도모할 수 있다. 즉, 클라이언트의 환경 정보(예를 들어, viewport)에 기초하여, 콘텐츠의 트랜스코드를 행할 수 있다.
스텝 S251에 있어서, DASH 플레이어(14)는, CDN 서버(41)(주로 CDN 에지 서버(41b))에 대하여, MPD의 취득을 요구한다.
CDN 서버(41)는, 스텝 S251에 있어서의 DASH 플레이어(14)로부터의 요구를 수신하면, 스텝 S252에 있어서, MPD를 DASH 플레이어(14)에 전송한다.
DASH 플레이어(14)는, 스텝 S252에서 전송되어 오는 MPD를 취득하면, 스텝 S253에 있어서, 그 MPD를 파싱한다. 그리고, DASH 플레이어(14)는, CDN 서버(41)에 대하여 세그먼트를 요구한다.
CDN 서버(41)는, 스텝 S253에 있어서의 DASH 플레이어(14)로부터의 요구를 취득하면, 스텝 S254에 있어서, 예를 들어 SAND 등에 의해 현재 검토 도상의 ImmersiveMedia계의 DASH metrics 등을 이용한 전송 요구 구비의 세그먼트를 전송한다.
스텝 S255에 있어서, 트랜스코드 매니저(43)는, 리퀘스트 처리 상황의 계측을 행한다.
DASH 플레이어(14)는, 스텝 S254에서 전송되어 오는 SAND 전송 요구 구비의 세그먼트를 취득하면, 스텝 S256에 있어서, SAND에 의해, DASH 플레이어(14)에 있어서의 유저의 viewport 메타데이터를 통지한다. 그리고, DASH 플레이어(14)는, 스텝 S257에 있어서, 취득한 세그먼트의 재생을 행한다.
트랜스코드 매니저(43)는, 스텝 S256에서 DASH 플레이어(14)로부터 송신되어 오는 SAND에 의한 viewport 통지를 취득하면, 스텝 S258에 있어서, TranscodeDirective가 추가 기록된 MPD를 파싱한다. 그리고, 트랜스코드 매니저(43)는, TranscodeDirective의 해석을 행하고, 그 해석 결과에 따라, 트랜스코더(42)에 대한 트랜스코드를 지시한다.
이때, 트랜스코드 매니저(43)는, MPD(예를 들어, 이후 확장될 예정의 OMAF 대응 확장이 실시된 버전), 또는 MP4 파일(예를 들어, 그것이 OMAF를 이용하고 있는 경우)의 내용에 기초하여, 당해 viewport에 대응하는 스트림, 또는 스트림의 일부분을 특정한다. 이에 따라, 트랜스코더(42)는, 그 스트림의 전체, 또는 당해 viewport를 포함하는 스트림의 일부분에 대하여, 트랜스코드 디렉티브에서 제한 또는 허가되는 업스케일링을 행한 후에, 트랜스코드 처리를 행할 수 있다.
즉, 트랜스코더(42)는, 스텝 S259에 있어서 세그먼트를 디코드하고, 스텝 S260에 있어서 업스케일링을 행할 때, viewport에 따른 처리를 행한다. 그리고, 트랜스코더(42)는, 스텝 S261에 있어서 세그먼트를 인코드한다.
스텝 S262에 있어서, DASH 플레이어(14)는, 다음 세그먼트를 요구한다.
CDN 서버(41)는, 스텝 S262에 있어서의 DASH 플레이어(14)로부터의 요구를 취득하면, 스텝 S263에 있어서, DASH 플레이어(14)에 의해 요구된 트랜스코드 완료된 세그먼트의 전송을 행한다.
DASH 플레이어(14)는, 스텝 S263에서 전송되어 오는 트랜스코드 완료된 세그먼트를 수신하면, 스텝 S264에 있어서, 그 수신한 트랜스코드 완료된 세그먼트의 재생을 행한다.
그 후, 콘텐츠의 배신이 종료될 때까지, 트랜스코드 완료된 세그먼트의 전송과, 그 재생이 계속해서 행해진다.
이상과 같이, DASH 플레이어(14)로부터 CDN 서버(41)로 viewport 통지를 행함으로써, CDN 서버(41)는, 그 viewport에 대응하는 스트림을 특정하여, 적절하게 업스케일링되도록 트랜스코드를 제어할 수 있다.
<클라이언트 디바이스에서의 viewport 통지>
도 40 및 도 41을 참조하여, 스트림 재생측으로 되는 클라이언트 디바이스인 DASH 플레이어(14)에서의 viewport 통지에 대하여 설명한다.
예를 들어, 플레이백 디바이스에 있어서의 viewport가, 도 40에 도시하는 바와 같은 X축, Y축, 및 X축과, 이들 축을 중심으로 한 앵글(pitch, yaw, roll)에 의해 특정되는 경우, 몸통체가 고정되어 있으면, 앵글은 헤드의 움직임으로 결정되게 된다. 또한, X축, Y축, 및 X축의 정방향을 향하여, 각각의 앵글은 시계 방향으로 증가시키는 것으로 설정된다. 또한, X-Z 플레인은, 지상에 평행이며, Z축의 정방향을 보고 있을 때에는, 모든 앵글이 0이라고 정의한다.
그리고, 이 viewport 메타데이터의 좌표계로부터 스트림 소스에 있어서의 좌표계로 매핑한다.
예를 들어, 소스에 있어서의 좌표계가 방위각/고도각을 이용한 표현 방법을 이용하고 있고, 클라이언트측이 pitch, yaw, roll 표현에 의한 좌표계를 이용하고 있는 것으로서 설명을 행한다. 이 경우, 소스 좌표계의 방위각/고도각(centerAzimuth/centerElevation) 모두 0인 방향이, DASH 플레이어(14)에 있어서의 pitch, yaw, roll이 모두 0인 방향에 일치하도록 매핑한다.
그리고, 변환된 좌표계에서의 viewport 좌표값은, OMAF로 규정되는 구조 SphereRegionStruct를 따라, 도 41에 도시하는 바와 같은 현재 검토 도상의 Immersive Media Metrics의 ViewportViews 파라미터에 저장되며, 이 Metrics를 포내하는 SANDMessage를 새롭게 정의하여 이용한다.
<클라이언트 디바이스로부터의 디바이스 속성 통지>
도 42에는, 스트림 재생측으로 되는 클라이언트 디바이스인 DASH 플레이어(14)로부터 통지되는 디바이스 속성의 일례가 도시되어 있다.
예를 들어, 클라이언트 디바이스의 능력 속성에 대해서는, 도 42에 도시하는 바와 같은 현재 검토 도상의 Immersive Media Metrics의 VRDeviceInfo 파라미터에 저장되며, 이 Metrics를 포내하는 SANDMessage를 새롭게 정의하여 이용한다.
<FLUS의 아키텍처>
도 43 및 도 44를 참조하여, FLU의 아키텍처에 대하여 설명한다.
도 43에 도시하는 바와 같이, FLUS 소스는, 1개 또는 복수의 캡처 디바이스로부터 미디어 콘텐츠를 수신한다. 또한, FLUS 싱크는, 미디어 콘텐츠를 디코드하여, 렌더링 기능에 포워드한다. 또는 FLUS 싱크가 네트워크에 실장되는 구성에서는, 미디어 콘텐츠는, 미디어 콘텐츠가 프로세싱 서브펑션 또는 디스트리뷰션 서브펑션에 포워드된다.
그리고, 레퍼런스 포인트에 의해, FLUS 소스와 FLUS 싱크가 접속되고, FLUS 소스가 단체의 FLUS 세션과 복수의 미디어 세션을 확립하고 제어된다.
FLUS 컨트롤 플레인 기능(F-C)은, 업로드와 그것에 이은 다운스트림 배신에 관한 FLUS 싱크의 미디어 처리를 제어한다. FLUS 유저 플레인 기능(F-U)은, 미디어 세션을 확립하고, 예를 들어 MTSI-based FLUS 세션 확립에 있어서의 IMS 세션 셋업을 행하여, 1개 또는 복수의 미디어 스트림 세션으로 이루어진다.
또한, FLUS 컨트롤 플레인 기능(F-C)은, FLUS 세션을 확립하여 제어하는 기능이다. FLUS 소스는, FLUS 컨트롤 플레인 기능에 의해, 미디어 세션 개설, 미디어 세션의 정적 메타데이터의 프로비저닝, 및 프로세싱/디스트리뷰션 서브펑션의 선택과 컨피규레이션을 실행한다.
또한, 미디어 세션 개설은, FLUS 세션의 일부로서 정의된다. FLUS 유저 플레인 기능(F-U)에는, 미디어 세션 확립 프로시저가 포함된다. 1개의 FLUS 세션에, 복수의 다른 미디어 세션이 확립되는 것이 상정된다.
또한, 미디어 세션은, 1개 혹은 복수의 미디어 스트림을 포함한다. 미디어 스트림은, 단일 미디어 컴포넌트(예를 들어, 음성만)를 포함하는 경우도 있다면, 복수의 다른 미디어 컴포넌트(예를 들어, 음성과 동화상)를 포함하는 경우도 있다. 미디어 세션은, 1개 이상의 동일 미디어 스트림(예를 들어, 복수의 동화상 스트림)을 포함하는 경우도 있다. 또한, FLUS 싱크가 미디어 세션을 개설하는 것이 상정된다.
도 44에는, FLUS에 있어서의 미디어 세션 및 미디어 스트림의 일례가 도시되어 있다.
도 44에 도시하는 바와 같이, FLUS 세션은, 1개 또는 복수의 미디어 스트림을 전송하며, 미디어 스트림은, FLUS 세션의 시간 의존 미디어이다. 예를 들어, 미디어 스트림이 액티브로 되면, FLUS 소스는 미디어 콘텐츠를 FLUS 싱크에 전송한다.
또한, FLUS 세션은, 1개 이상의 미디어 스트림을 포함하는, 0 또는 1 이상의 미디어 세션으로 구성된다. 또한, HTTP를 미디어 스트리밍에 사용하는 경우에는, 미디어 세션은 명시적으로는 확립되지 않는다.
<SAND의 ViewportViews 메시지의 추가 확장>
도 45에는, SAND의 ViewportViews 메시지의 추가 확장의 일례가 도시되어 있다.
도 45에 있어서, 이점쇄선으로 둘러싸여 있는 ViewportViewsType이 새롭게 정의되는 부분이다.
<컴퓨터의 구성예>
또한, 상술한 흐름도를 참조하여 설명한 각 처리는, 반드시 흐름도로서 기재된 순서를 따라 시계열로 처리할 필요는 없으며, 병렬적 혹은 개별적으로 실행되는 처리(예를 들어, 병렬 처리 혹은 오브젝트에 의한 처리)도 포함하는 것이다. 또한, 프로그램은, 하나의 CPU에 의해 처리되는 것이어도 되고, 복수의 CPU에 의해 분산 처리되는 것이어도 된다.
또한, 상술한 일련의 처리(콘텐츠 배신 제어 방법)는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용 하드웨어에 내장되어 있는 컴퓨터, 또는 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등에, 프로그램이 기록된 프로그램 기록 매체로부터 인스톨된다.
도 46은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
컴퓨터에 있어서, CPU(Central Processing Unit)(101), ROM(Read Only Memory)(102), RAM(Random Access Memory)(103)은, 버스(104)에 의해 서로 접속되어 있다.
버스(104)에는, 또한 입출력 인터페이스(105)가 접속되어 있다. 입출력 인터페이스(105)에는, 키보드, 마우스, 마이크로폰 등으로 이루어지는 입력부(106), 디스플레이, 스피커 등으로 이루어지는 출력부(107), 하드 디스크나 불휘발성 메모리 등으로 이루어지는 기억부(108), 네트워크 인터페이스 등으로 이루어지는 통신부(109), 자기 디스크, 광 디스크, 광 자기 디스크, 혹은 반도체 메모리 등의 리무버블 미디어(111)를 구동하는 드라이브(110)가 접속되어 있다.
이상과 같이 구성되는 컴퓨터에서는, CPU(101)가, 예를 들어 기억부(108)에 기억되어 있는 프로그램을, 입출력 인터페이스(105) 및 버스(104)를 통하여, RAM(103)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다.
컴퓨터(CPU(101))가 실행하는 프로그램은, 예를 들어 자기 디스크(플렉시블 디스크를 포함함), 광 디스크(CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc) 등), 광 자기 디스크, 혹은 반도체 메모리 등으로 이루어지는 패키지 미디어인 리무버블 미디어(111)에 기록하여, 혹은 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통하여 제공된다.
그리고, 프로그램은, 리무버블 미디어(111)를 드라이브(110)에 장착함으로써, 입출력 인터페이스(105)를 통하여, 기억부(108)에 인스톨할 수 있다. 또한, 프로그램은, 유선 또는 무선의 전송 매체를 통하여, 통신부(109)에서 수신하고, 기억부(108)에 인스톨할 수 있다. 그 밖에, 프로그램은, ROM(102)이나 기억부(108)에, 미리 인스톨해 둘 수 있다.
<구성의 조합예>
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하고,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하고,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는
콘텐츠 배신 제어 장치.
(2)
상기 메타데이터 파일은, ISO BM FF23009로 규격 정의되는 MPD(Media Presentation Description) 파일인
상기 (1)에 기재된 콘텐츠 배신 제어 장치.
(3)
상기 오리지널 데이터는, MPEG-DASH(Dynamic Adaptive Streaming over HTTP)에 따른 오리지널 세그먼트인
상기 (1) 또는 (2)에 기재된 콘텐츠 배신 제어 장치.
(4)
상기 액세스 정보는, 상기 MPD의 Adaptation Set에 저장되는
상기 (3)에 기재된 콘텐츠 배신 제어 장치.
(5)
상기 액세스 정보는, 상기 MPD의 Representation에 저장되는
상기 (3)에 기재된 콘텐츠 배신 제어 장치.
(6)
상기 액세스 정보는, 상기 MPD의 SubRepresentation에 저장되는
상기 (3)에 기재된 콘텐츠 배신 제어 장치.
(7)
상기 오리지널 데이터는, SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림인
상기 (1)부터 (6)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(8)
상기 메타데이터 파일은, IETF에서 규격 정의되는 SDP 파일이며,
상기 정의 정보 및 상기 액세스 정보는, 상기 SDP의 미디어 기술부에 저장되는
상기 (7)에 기재된 콘텐츠 배신 제어 장치.
(9)
상기 정의 정보는, 단독 파일로서, 상기 콘텐츠 배신 서버의 상기 기억부에 기억되어 있는
상기 (1)부터 (8)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(10)
상기 정의 정보에 의해, 상기 콘텐츠가 트랜스코드 가능한지 여부가 지정되는
상기 (1)부터 (9)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(11)
상기 정의 정보에는, 부분적인 화상 수정 처리를 포함하는 업스케일링 방식이 정의되어 있는
상기 (1)부터 (10)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(12)
상기 정의 정보에는, 트랜스코드의 가부 제어에 이용하는 조건 기술 언어에 기초하는 조건 기술이 정의되어 있는
상기 (1)부터 (11)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(13)
상기 정의 정보에는, 실제로 적용된 트랜스코드 처리의 내용 보고에 이용하는 정보 구조가 정의되어 있는
상기 (1)부터 (12)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(14)
상기 콘텐츠의 트랜스코드는, 상기 콘텐츠를 취득하여 재생하는 클라이언트로부터 취득되는 상기 클라이언트의 환경 정보에 기초하여 행해지는
상기 (1)부터 (12)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(15)
상기 클라이언트로부터 viewport 통지가 행해지는 것에 따라, 그 viewport를 포함하도록 업스케일링하는 트랜스코드를 제어하는
상기 (14)에 기재된 콘텐츠 배신 제어 장치.
(16)
상기 콘텐츠 배신 서버는, 상기 소정의 업로드 인터페이스의 소스측에 배치되고, 상기 콘텐츠 배신 제어 장치는, 상기 소정의 업로드 인터페이스의 싱크측으로 되는 네트워크 상에 배치되는
상기 (1)부터 (15)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(17)
상기 수신부는, 상기 소정의 업로드 인터페이스를 통하여 상기 메타데이터 파일을 수신하는
상기 (16)에 기재된 콘텐츠 배신 제어 장치.
(18)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하는 콘텐츠 배신 제어 장치가,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것과,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것
을 포함하는 콘텐츠 배신 제어 방법.
(19)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하는 콘텐츠 배신 제어 장치의 컴퓨터에,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것과,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것
을 포함하는 처리를 실행시키기 위한 프로그램.
(20)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 제1 서버와,
상기 제1 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부
를 갖고,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하고,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는
콘텐츠 배신 제어를 행하는 제2 서버와,
상기 콘텐츠 배신 제어에 따라 배신되는 콘텐츠를 취득하여, 재생하는 클라이언트
를 구비하는 콘텐츠 배신 시스템.
(21)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 수신부가 수신한 상기 메타데이터 파일과는 다른 새로운 메타데이터 파일을 생성하는 생성부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하고,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하고,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는
콘텐츠 배신 제어 장치.
(22)
상기 메타데이터 파일은, ISO IEC 23009로 규격 정의되는 MPD(Media Presentation Description) 파일인
상기 (21)에 기재된 콘텐츠 배신 제어 장치.
(23)
상기 오리지널 데이터는, MPEG-DASH(Dynamic Adaptive Streaming over HTTP)에 따른 오리지널 세그먼트인
상기 (21) 또는 (22)에 기재된 콘텐츠 배신 제어 장치.
(24)
상기 액세스 정보는, 상기 MPD의 AdaptationSet에 저장되는
상기 (23)에 기재된 콘텐츠 배신 제어 장치.
(25)
상기 액세스 정보는, 상기 MPD의 Representation에 저장되는
상기 (23)에 기재된 콘텐츠 배신 제어 장치.
(26)
상기 액세스 정보는, 상기 MPD의 SubRepresentation에 저장되는
상기 (23)에 기재된 콘텐츠 배신 제어 장치.
(27)
상기 오리지널 데이터는, SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림인
상기 (21)부터 (26)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(28)
상기 메타데이터 파일은, IETF에서 규격 정의되는 SDP 파일이며,
상기 정의 정보 및 상기 액세스 정보는, 상기 SDP의 미디어 기술부에 저장되는
상기 (27)에 기재된 콘텐츠 배신 제어 장치.
(29)
상기 정의 정보는, 단독 파일로서, 상기 콘텐츠 배신 서버의 상기 기억부에 기억되어 있는
상기 (21)부터 (28)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(30)
상기 정의 정보에 의해, 상기 콘텐츠가 트랜스코드 가능한지 여부가 지정되는
상기 (21)부터 (29)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(31)
상기 정의 정보에는, 부분적인 화상 수정 처리를 포함하는 업스케일링 방식이 정의되어 있는
상기 (21)부터 (30)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(32)
상기 정의 정보에는, 트랜스코드의 가부 제어에 이용하는 조건 기술 언어에 기초하는 조건 기술이 정의되어 있는
상기 (21)부터 (31)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(33)
상기 정의 정보에는, 실제로 적용된 트랜스코드 처리의 내용 보고에 이용하는 정보 구조가 정의되어 있는
상기 (21)부터 (32)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(34)
상기 콘텐츠의 트랜스코드는, 상기 콘텐츠를 취득하여 재생하는 클라이언트로부터 취득되는 상기 클라이언트의 환경 정보에 기초하여 행해지는
상기 (21)부터 (32)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(35)
상기 클라이언트로부터 viewport 통지가 행해지는 것에 따라, 그 viewport를 포함하도록 업스케일링하는 트랜스코드를 제어하는
상기 (34)에 기재된 콘텐츠 배신 제어 장치.
(36)
상기 콘텐츠 배신 서버는, 상기 소정의 업로드 인터페이스의 소스측에 배치되고, 상기 콘텐츠 배신 제어 장치는, 상기 소정의 업로드 인터페이스의 싱크측으로 되는 네트워크 상에 배치되는
상기 (21)부터 (35)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(37)
상기 수신부는, 상기 소정의 업로드 인터페이스를 통하여 상기 메타데이터 파일을 수신하는
상기 (36)에 기재된 콘텐츠 배신 제어 장치.
(38)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 수신부가 수신한 상기 메타데이터 파일과는 다른 새로운 메타데이터 파일을 생성하는 생성부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하는 콘텐츠 배신 제어 장치가,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것과,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것
을 포함하는 콘텐츠 배신 제어 방법.
(39)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 수신부가 수신한 상기 메타데이터 파일과는 다른 새로운 메타데이터 파일을 생성하는 생성부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하는 콘텐츠 배신 제어 장치의 컴퓨터에,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것과,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는 것
을 포함하는 처리를 실행시키기 위한 프로그램.
(40)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 제1 서버와,
상기 제1 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 수신부가 수신한 상기 메타데이터 파일과는 다른 새로운 메타데이터 파일을 생성하는 생성부
를 갖는 제2 서버와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 데이터의 트랜스코드에 관한 제어를 행하는 제어부를 갖는 제3 서버와,
상기 콘텐츠 배신 제어에 따라 배신되는 콘텐츠를 취득하여, 재생하는 클라이언트
를 구비하고
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하고,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 데이터의 트랜스코드를 제어하는
콘텐츠 배신 제어가 행해지는 콘텐츠 배신 시스템.
<구성의 조합예>
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하고,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하고,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는
콘텐츠 배신 제어 장치.
(2)
상기 메타데이터 파일은, IETF(Internet Engineering Task Force)에서 규격 정의되는 SDP 파일이며,
상기 정의 정보 및 상기 액세스 정보는, 상기 SDP의 미디어 기술부에 저장되는
상기 (1)에 기재된 콘텐츠 배신 제어 장치.
(3)
상기 정의 정보는, 단독 파일로서, 상기 콘텐츠 배신 서버의 상기 기억부에 기억되어 있는
상기 (1) 또는 (2)에 기재된 콘텐츠 배신 제어 장치.
(4)
상기 정의 정보에 의해, 상기 콘텐츠가 트랜스코드 가능한지 여부가 지정되는
상기 (1)부터 (3)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(5)
상기 정의 정보에는, 부분적인 화상 수정 처리를 포함하는 업스케일링 방식이 정의되어 있는
상기 (1)부터 (4)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(6)
상기 정의 정보에는, 트랜스코드의 가부 제어에 이용하는 조건 기술 언어에 기초하는 조건 기술이 정의되어 있는
상기 (1)부터 (5)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(7)
상기 정의 정보에는, 실제로 적용된 트랜스코드 처리의 내용 보고에 이용하는 정보 구조가 정의되어 있는
상기 (1)부터 (6)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(8)
상기 콘텐츠의 트랜스코드는, 상기 콘텐츠를 취득하여 재생하는 클라이언트로부터 취득되는 상기 클라이언트의 환경 정보에 기초하여 행해지는
상기 (1)부터 (7)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(9)
상기 클라이언트로부터 viewport 통지가 행해지는 것에 따라, 그 viewport를 포함하도록 업스케일링하는 트랜스코드를 제어하는
상기 (8)에 기재된 콘텐츠 배신 제어 장치.
(10)
상기 콘텐츠 배신 서버는, 상기 소정의 업로드 인터페이스의 소스측에 배치되고, 상기 콘텐츠 배신 제어 장치는, 상기 소정의 업로드 인터페이스의 싱크측으로 되는 네트워크 상에 배치되는
상기 (1)부터 (9)까지 중 어느 것에 기재된 콘텐츠 배신 제어 장치.
(11)
상기 수신부는, 상기 소정의 업로드 인터페이스를 통하여 상기 메타데이터 파일을 수신하는
상기 (10)에 기재된 콘텐츠 배신 제어 장치.
(12)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하는 콘텐츠 배신 제어 장치가,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것과,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것
을 포함하는 콘텐츠 배신 제어 방법.
(13)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
를 구비하는 콘텐츠 배신 제어 장치의 컴퓨터에,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것과,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것
을 포함하는 처리를 실행시키기 위한 프로그램.
(14)
콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 제1 서버와,
상기 제1 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
를 갖고,
상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하고,
상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는
콘텐츠 배신 제어를 행하는 제2 서버와,
상기 콘텐츠 배신 제어에 따라 배신되는 상기 콘텐츠를 취득하여, 재생하는 클라이언트
를 구비하는 콘텐츠 배신 시스템.
또한, 본 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니며, 본 개시의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다. 또한, 본 명세서에 기재된 효과는 어디까지나 예시이며 한정되는 것은 아니고, 다른 효과가 있어도 된다.
11: 콘텐츠 배신 시스템
12: 클라우드
13: 콘텐츠 제공 장치
14: DASH 플레이어
21: 스트림 소스 서버
22: DASH 배신 서버
23: CDN
31: 스트리밍 배신 매니저
41: CDN 서버
41a: CDN 오리진 서버
41b: CDN 에지 서버
42: 트랜스코더
43: 트랜스코드 매니저

Claims (14)

  1. 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
    상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
    를 구비하고,
    상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하고,
    상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는,
    콘텐츠 배신 제어 장치.
  2. 제1항에 있어서,
    상기 메타데이터 파일은, IETF(Internet Engineering Task Force)에서 규격 정의되는 SDP 파일이며,
    상기 정의 정보 및 상기 액세스 정보는, 상기 SDP의 미디어 기술부에 저장되는,
    콘텐츠 배신 제어 장치.
  3. 제1항에 있어서,
    상기 정의 정보는, 단독 파일로서, 상기 콘텐츠 배신 서버의 상기 기억부에 기억되어 있는,
    콘텐츠 배신 제어 장치.
  4. 제1항에 있어서,
    상기 정의 정보에 의해, 상기 콘텐츠가 트랜스코드 가능한지 여부가 지정되는,
    콘텐츠 배신 제어 장치.
  5. 제1항에 있어서,
    상기 정의 정보에는, 부분적인 화상 수정 처리를 포함하는 업스케일링 방식이 정의되어 있는,
    콘텐츠 배신 제어 장치.
  6. 제1항에 있어서,
    상기 정의 정보에는, 트랜스코드의 가부 제어에 이용하는 조건 기술 언어에 기초하는 조건 기술이 정의되어 있는,
    콘텐츠 배신 제어 장치.
  7. 제1항에 있어서,
    상기 정의 정보에는, 실제로 적용된 트랜스코드 처리의 내용 보고에 이용하는 정보 구조가 정의되어 있는,
    콘텐츠 배신 제어 장치.
  8. 제1항에 있어서,
    상기 콘텐츠의 트랜스코드는, 상기 콘텐츠를 취득하여 재생하는 클라이언트로부터 취득되는 상기 클라이언트의 환경 정보에 기초하여 행해지는,
    콘텐츠 배신 제어 장치.
  9. 제8항에 있어서,
    상기 클라이언트로부터 viewport 통지가 행해지는 것에 따라, 그 viewport를 포함하도록 업스케일링하는 트랜스코드를 제어하는,
    콘텐츠 배신 제어 장치.
  10. 제1항에 있어서,
    상기 콘텐츠 배신 서버는, 상기 소정의 업로드 인터페이스의 소스측에 배치되고, 상기 콘텐츠 배신 제어 장치는, 상기 소정의 업로드 인터페이스의 싱크측으로 되는 네트워크 상에 배치되는,
    콘텐츠 배신 제어 장치.
  11. 제10항에 있어서,
    상기 수신부는, 상기 소정의 업로드 인터페이스를 통하여 상기 메타데이터 파일을 수신하는,
    콘텐츠 배신 제어 장치.
  12. 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
    상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
    를 구비하는 콘텐츠 배신 제어 장치가,
    상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것과,
    상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것
    을 포함하는, 콘텐츠 배신 제어 방법.
  13. 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 콘텐츠 배신 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
    상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
    를 구비하는 콘텐츠 배신 제어 장치의 컴퓨터에,
    상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것과,
    상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는 것
    을 포함하는 처리를 실행시키기 위한, 프로그램.
  14. 콘텐츠와, 그 콘텐츠를 트랜스코드하기 위해 필요한 정의 정보를 기억하는 기억부를 갖는 제1 서버와,
    상기 제1 서버로부터 소정의 업로드 인터페이스를 통하여 상기 콘텐츠를 배신할 때, 상기 정의 정보, 또는 상기 정의 정보에 액세스하기 위한 제1 액세스 정보와, 상기 콘텐츠로부터 생성된 오리지널 데이터인 SDP(Session Description Protocol)를 이용하여 배신되는 오리지널 스트림에 액세스하기 위한 제2 액세스 정보가 저장된 메타데이터 파일을 수신하는 수신부와,
    상기 제2 액세스 정보에 기초하여 취득된 상기 오리지널 스트림의 트랜스코드에 관한 제어를 행하는 제어부
    를 갖고,
    상기 메타데이터 파일에 상기 정의 정보가 저장되어 있는 경우, 상기 제어부는, 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하고,
    상기 메타데이터 파일에 상기 제1 액세스 정보가 저장되어 있는 경우, 상기 제어부는, 상기 제1 액세스 정보에 기초하여 상기 정의 정보를 리퀘스트하고, 그 리퀘스트에 따라 상기 수신부에 있어서 수신된 상기 정의 정보에 기초하여, 상기 오리지널 스트림의 트랜스코드를 제어하는
    콘텐츠 배신 제어를 행하는 제2 서버와,
    상기 콘텐츠 배신 제어에 따라 배신되는 상기 콘텐츠를 취득하여, 재생하는 클라이언트
    를 구비하는, 콘텐츠 배신 시스템.
KR1020207023703A 2018-02-28 2019-02-14 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템 KR20200124665A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-035082 2018-02-28
JP2018035082 2018-02-28
PCT/JP2019/005189 WO2019167634A1 (ja) 2018-02-28 2019-02-14 コンテンツ配信制御装置、コンテンツ配信制御方法、プログラム、およびコンテンツ配信システム

Publications (1)

Publication Number Publication Date
KR20200124665A true KR20200124665A (ko) 2020-11-03

Family

ID=67805326

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023703A KR20200124665A (ko) 2018-02-28 2019-02-14 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템

Country Status (7)

Country Link
US (1) US11425433B2 (ko)
EP (1) EP3761650A4 (ko)
JP (1) JPWO2019167634A1 (ko)
KR (1) KR20200124665A (ko)
CN (1) CN111670579A (ko)
TW (1) TW201944249A (ko)
WO (1) WO2019167634A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11349936B2 (en) * 2020-05-28 2022-05-31 Citrix Systems, Inc. System and related methods providing channel switching between appliances

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584793B2 (en) * 2012-04-09 2017-02-28 Intel Corporation Signaling three-dimensional video information in communication networks
US9357272B2 (en) * 2012-08-03 2016-05-31 Intel Corporation Device orientation capability exchange signaling and server adaptation of multimedia content in response to device orientation
CN104704844B (zh) * 2012-10-26 2019-05-21 英特尔公司 用于具有视频定向协调(cvo)的流送的设备、方法以及系统
CN104685894B (zh) * 2012-10-26 2020-02-04 苹果公司 基于视频定向的多媒体适应的终端、服务器、方法和装置
KR102062764B1 (ko) * 2013-07-19 2020-02-21 삼성전자주식회사 모바일 단말 화면을 위한 3k해상도를 갖는 디스플레이 영상 생성 방법 및 장치
US10165028B2 (en) * 2014-03-25 2018-12-25 Intel Corporation Context-aware streaming of digital content
US10924781B2 (en) * 2014-06-27 2021-02-16 Satellite Investors, Llc Method and system for real-time transcoding of MPEG-DASH on-demand media segments while in transit from content host to dash client

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
3GPP TS 26.114 V15.1.0(2017-12) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; IP Multimedia Subsystem(IMS); Multimedia Telephony; Media handling and interaction(Release 15)
3GPP TS 26.238 V15.0.0(2017-12) 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Uplink Streaming (Release 15)
ISO/IEC 23009-1:2012 Information technology Dynamic adaptive streaming over HTTP(DASH)

Also Published As

Publication number Publication date
WO2019167634A1 (ja) 2019-09-06
JPWO2019167634A1 (ja) 2021-03-11
US11425433B2 (en) 2022-08-23
TW201944249A (zh) 2019-11-16
EP3761650A1 (en) 2021-01-06
EP3761650A4 (en) 2021-01-27
CN111670579A (zh) 2020-09-15
US20200396491A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
US20230179837A1 (en) Network Video Streaming with Trick Play Based on Separate Trick Play Files
US9247317B2 (en) Content streaming with client device trick play index
US9351020B2 (en) On the fly transcoding of video on demand content for adaptive streaming
JP6170920B2 (ja) マルチメディア・ストリームの適応トランスコーディングの方法及び装置
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
US9118738B2 (en) Systems and methods for controlling access to a media stream
KR102012682B1 (ko) 디바이스들간에 콘텐트를 인코딩 및 공유하기 위한 시스템들 및 방법들
CN108769616A (zh) 一种基于rtsp协议的实时视频无插件预览方法及系统
KR20200127997A (ko) 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템
US20130198342A1 (en) Media format negotiation mechanism delivering client device media capabilities to a server
US10390069B2 (en) Adaptive broadcasting of multimedia content
KR101944601B1 (ko) 기간들에 걸쳐 오브젝트들을 식별하기 위한 방법 및 이에 대응하는 디바이스
KR20200124665A (ko) 콘텐츠 배신 제어 장치, 콘텐츠 배신 제어 방법, 프로그램 및 콘텐츠 배신 시스템
WO2019193991A1 (ja) 配信装置、配信方法、およびプログラム
US10547878B2 (en) Hybrid transmission protocol
KR101568317B1 (ko) Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법
JP7006387B2 (ja) 画像配信装置、方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application