KR20180109890A - 정보 처리 장치 및 정보 처리 방법 - Google Patents

정보 처리 장치 및 정보 처리 방법 Download PDF

Info

Publication number
KR20180109890A
KR20180109890A KR1020187021203A KR20187021203A KR20180109890A KR 20180109890 A KR20180109890 A KR 20180109890A KR 1020187021203 A KR1020187021203 A KR 1020187021203A KR 20187021203 A KR20187021203 A KR 20187021203A KR 20180109890 A KR20180109890 A KR 20180109890A
Authority
KR
South Korea
Prior art keywords
file
content
media
bit rate
attribute
Prior art date
Application number
KR1020187021203A
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 KR20180109890A publication Critical patent/KR20180109890A/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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/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
    • H04N21/64322IP
    • 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/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • 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

본 개시는, 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 효율적으로 행할 수 있도록 하는 정보 처리 장치 및 정보 처리 방법에 관한 것이다. http 클라이언트는, 복수의 속성의 동화상 콘텐츠를 관리하는 MPD 파일과, 복수의 속성 중 소정의 속성의 동화상 콘텐츠의 초기화 세그먼트 파일의 송신을 배신 서버에 요구하는 push-init-segment 지령을 포함하는 MPD 리퀘스트를 송신한다. 본 개시는, 예를 들어 배신 서버와 재생 클라이언트가 네트워크를 통해 접속됨으로써 구성되는 정보 처리 시스템의 재생 클라이언트 등에 적용할 수 있다.

Description

정보 처리 장치 및 정보 처리 방법
본 개시는, 정보 처리 장치 및 정보 처리 방법에 관한 것이며, 특히 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 효율적으로 행할 수 있도록 한 정보 처리 장치 및 정보 처리 방법에 관한 것이다.
MPEG-DASH(Moving Picture Experts Group phase-Dynamic Adaptive Streaming over HTTP)에 의한 다이내믹·어댑티브·스트리밍에서는, 서버가, 각 미디어 종별의 속성이 상이한 동화상 콘텐츠의 세그먼트 파일과, 미디어 종별 및 속성마다 세그먼트 파일을 관리하는 MPD(Media Presentation Description) 파일을 준비한다.
또한, 미디어 종별이란, 영상, 자막, 음성 등의 동화상 콘텐츠의 종류이며, 속성의 종류는, 부호화 비트 레이트, 언어, 역할(목적), 영상의 해상도나 프레임 레이트, 음성의 샘플링 레이트나 채널수 등이다. MPD 파일에는, 미디어 종별마다, 각 속성을 나타내는 속성 정보, 각 속성의 세그먼트 파일의 URL(Uniform Resource Locator) 등이 포함되어 있다.
클라이언트는, 서버로부터 MPD 파일을 취득하고, MPD 파일에 기초하여 각 미디어 종별의 소정의 속성의 세그먼트 파일의 URL을 서버에 송신함으로써, 그 세그먼트 파일을 취득한다.
현재의 MPEG-DASH에서는, 클라이언트와 서버간의 통신 프로토콜이, HTTP(HyperText Transfer Protocol)1.1이다. 따라서, 기본적으로, 서버는, 클라이언트로부터의 리퀘스트에 대하여 리스폰스로서 데이터를 송신한다.
구체적으로는, 클라이언트가, 서버로부터 MPD 파일의 송신을 요구하는 HTTP GET 리퀘스트를 서버에 송신하고, 서버가, 이 HTTP GET 리퀘스트에 의해 지정된 URL의 MPD 파일을, HTTP GET 리스폰스로서 클라이언트에 송신한다.
다음에, 클라이언트가, 수신한 MPD 파일에 기초하여, 각 미디어 종별의 1 이상의 속성의 세그먼트 파일 중 초기화 세그먼트 파일(Initialization Segment)의 송신을 요구하는 HTTP GET 리퀘스트를, 초기화 세그먼트 파일 단위로 순차적으로 서버에 송신한다. 그리고, 서버가, 이 HTTP GET 리퀘스트에 의해 지정된 URL의 초기화 세그먼트 파일을, HTTP GET 리스폰스로서 클라이언트에 순차적으로 송신한다.
또한, 클라이언트는, 실효 네트워크 대역 등에 기초하여, 미디어 종별마다 초기화 세그먼트 파일에 대응하는 속성으로부터 하나의 속성을 선택한다. 그리고, 클라이언트는, 선택된 속성의 세그먼트 파일 중 미디어 세그먼트 파일의 송신을 요구하는 HTTP GET 리퀘스트를, 미디어 세그먼트 파일 단위로 순차적으로 서버에 송신한다. 서버는, 이 HTTP GET 리퀘스트에 의해 지정된 URL의 미디어 세그먼트 파일을 HTTP GET 리스폰스로서 순차적으로 클라이언트에 송신하고, 클라이언트는, 수신한 미디어 세그먼트 파일을 수신 버퍼에 순차적으로 축적한다.
이때, 클라이언트는, 미디어 세그먼트 파일의 수신 속도(예를 들어, 수신된 데이터의 재생 시간에 대한 수신에 요한 시간의 비 등)를 계측한다. 계측된 수신 속도는, 다음 미디어 세그먼트 파일의 각 미디어 종별의 부호화 비트 레이트의 속성의 선택에 사용된다.
이상과 같이, 클라이언트가, 초기화 세그먼트 파일(미디어 세그먼트 파일)을 수신하기 위해서는, 초기화 세그먼트 파일 단위(미디어 세그먼트 파일 단위)로, HTTP GET 리퀘스트의 송신과 HTTP GET 리스폰스의 수신을 행할 필요가 있다. 따라서, 오버헤드가 크다.
한편, 2015년 5월에 HTTP1.1의 후계 버전으로서 HTTP/2가 IETF(Internet Engineering Task Force)에 의해 공개되었다(예를 들어, 비특허문헌 1 참조). HTTP/2는, HTTP1.1과의 완전한 후방 호환성을 유지하면서, 다중화 통신, 헤더의 압축, 리퀘스트와 리스폰스의 파이프 라인화 등을 가능하게 하는 것이다.
또한, 이것보다도 전인 2011년 12월에, HTTP를 베이스로 한 다중화 통신(쌍방향 통신)을 가능하게 하는 프로토콜로서, WebSocket 프로토콜이 IETF에 의해 공개되었다(예를 들어, 비특허문헌 2 참조). 또한, 다중화 통신이란, 서버가, 클라이언트의 리퀘스트에 대한 리스폰스뿐만 아니라, 리퀘스트에 의하지 않는 데이터도 송신하는 통신이다.
이상에 의해, 현재, MPEG에서는, MPEG-DASH에 있어서의 클라이언트와 서버간의 통신 프로토콜로서, 전이중 통신 프로토콜인 HTTP/2나 WebSocket 프로토콜을 채용함으로써, 스트리밍을 효율화하는 것이 검토되고 있다.
Hypertext Transfer Protocol Version 2(HTTP/2), May 2015, 인터넷<URL: https://tools.ietf.org/html/rfc7540> The WebSocket Protocol, December 2011, 인터넷<URL : https://tools.ietf.org/html/rfc6455>
그러나, 복수의 속성 중 소정의 속성의 동화상 콘텐츠의 초기화 세그먼트 파일의 송신을 효율적으로 행하는 것은 고안되어 있지 않았다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것이며, 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 효율적으로 행할 수 있도록 하는 것이다.
본 개시의 제1 측면의 정보 처리 장치는, 복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을, 다른 정보 처리 장치에 요구하는 관리 파일 요구 정보를 송신하는 송신부를 구비하는 정보 처리 장치이다.
본 개시의 제1 측면의 정보 처리 방법은, 본 개시의 제1 측면의 정보 처리 장치에 대응한다.
본 개시의 제1 측면에 있어서는, 복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을, 다른 정보 처리 장치에 요구하는 관리 파일 요구 정보가 송신된다.
본 개시의 제2 측면의 정보 처리 장치는, 복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 요구하는 관리 파일 요구 정보에 기초하여, 상기 관리 파일과 상기 소정의 속성의 콘텐츠의 초기화 파일을 송신하는 송신부를 구비하는 정보 처리 장치이다.
본 개시의 제2 측면의 정보 처리 방법은, 본 개시의 제2 측면의 정보 처리 장치에 대응한다.
본 개시의 제2 측면에 있어서는, 복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 요구하는 관리 파일 요구 정보에 기초하여, 상기 관리 파일과 상기 소정의 속성의 콘텐츠의 초기화 파일이 송신된다.
또한, 본 개시의 제1 및 제2 측면의 정보 처리 장치는, 컴퓨터에 프로그램을 실행시킴으로써 실현할 수 있다.
또한, 본 개시의 제1 및 제2 측면의 정보 처리 장치를 실현하기 위해, 컴퓨터에 실행시키는 프로그램은, 전송 매체를 통해 전송함으로써, 또는, 기록 매체에 기록하여, 제공할 수 있다.
본 개시의 제1 측면에 따르면, 데이터의 송신을 요구할 수 있다. 또한, 본 개시의 제1 측면에 따르면, 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신의 요구를 효율적으로 행할 수 있다.
또한, 본 개시의 제2 측면에 따르면, 데이터를 수신할 수 있다. 또한, 본 개시의 제1 측면에 따르면, 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 효율적으로 행할 수 있다.
또한, 여기에 기재된 효과는 반드시 한정되는 것은 아니고, 본 개시 중에 기재된 어느 효과여도 된다.
도 1은 MPEG-DASH에 있어서의 MPD 파일의 계층 구조를 설명하는 도면이다.
도 2는 본 개시를 적용한 정보 처리 시스템의 제1 실시 형태의 구성예를 도시하는 블록도이다.
도 3은 도 2의 재생 클라이언트의 소프트웨어의 계층 구조의 예를 도시하는 도면이다.
도 4는 도 2의 정보 처리 시스템의 처리를 설명하는 흐름도이다.
도 5는 초기화 세그먼트 송신 리스트 생성 처리의 상세를 설명하는 흐름도이다.
도 6은 후속 미디어 세그먼트 송신 리스트 생성 처리 개시의 상세를 설명하는 흐름도이다.
도 7은 WebSocket 프로토콜에 있어서의 프레임의 구성예를 도시하는 도면이다.
도 8은 제2 실시 형태에 있어서의 서브 프레임의 구조예를 도시하는 도면이다.
도 9는 서브 프레임의 EXTENSION의 예를 도시하는 도면이다.
도 10은 서브 프레임의 EXTENSION의 다른 예를 도시하는 도면이다.
도 11은 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하, 실시 형태라 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 제1 실시 형태 : 정보 처리 시스템(도 1 내지 도 6)
2. 제2 실시 형태 : 정보 처리 시스템(도 7 내지 도 10)
3. 제3 실시 형태 : 컴퓨터(도 11)
<제1 실시 형태>
(MPD 파일의 설명)
도 1은 MPEG-DASH에 있어서의 MPD 파일의 계층 구조를 설명하는 도면이다.
MPD 파일에는, 동화상 콘텐츠의 부호화 방식, 부호화 비트 레이트, 영상의 해상도, 언어 등의 정보가 계층화되어, XML 형식으로 기술된다.
구체적으로는, 도 1에 도시한 바와 같이, MPD 파일에는, 피리어드(Period), 어댑테이션 세트(AdaptationSet), 리프리젠테이션(Representation), 세그먼트인포(SegmentInfo) 등의 요소가 계층적으로 포함되어 있다.
MPD 파일에서는, 자신이 관리하는 동화상 콘텐츠가 소정의 시간 범위(예를 들어, 프로그램, CM(Commercial) 등의 단위)로 분할된다. 피리어드 요소는, 분할된 동화상 콘텐츠마다 기술된다. 피리어드 요소는, 동화상 콘텐츠의 프로그램(동기를 취한 1조의 영상 데이터나 음성 데이터 등의 데이터)의 재생 개시 시각 등의 정보를 갖는다.
어댑테이션 세트 요소는, 피리어드 요소에 포함되며, 그 피리어드 요소에 대응하는 동화상 콘텐츠의 리프리젠테이션 요소를 미디어 종별이나 속성 등에 의해 그룹핑한다. 어댑테이션 세트 요소는, 그룹에 포함되는 리프리젠테이션 요소에 대응하는 동화상 콘텐츠에 공통의 미디어 종별, 속성 등을 갖는다.
리프리젠테이션 요소는, 그것을 그룹핑하는 어댑테이션 세트 요소에 포함되며, 상위층의 피리어드 요소에 대응하는 동화상 콘텐츠 중, 미디어 종별 및 속성이 동일한 동화상 콘텐츠의 세그먼트 파일군마다 기술된다. 리프리젠테이션 요소는, 이 리프리젠테이션 요소에 대응하는 세그먼트 파일군에 공통의 속성, URL 등을 갖는다.
세그먼트인포 요소는, 리프리젠테이션 요소에 포함되며, 그 리프리젠테이션에 대응하는 세그먼트 파일군의 각 세그먼트 파일에 관한 정보(예를 들어, URL 등)를 갖는다.
(정보 처리 시스템의 제1 실시 형태의 구성예)
도 2는 본 개시를 적용한 정보 처리 시스템의 제1 실시 형태의 구성예를 도시하는 블록도이다.
도 2의 정보 처리 시스템(10)은 배신 서버(11)와 재생 클라이언트(12)가 네트워크(13)를 통해 접속됨으로써 구성된다. 정보 처리 시스템(10)은 HTTP/2에 준거하여, MPEG-DASH에 의한 다이내믹·어댑티브·스트리밍을 행한다.
구체적으로는, 정보 처리 시스템(10)의 배신 서버(11)는 기억부(30), http 서버(31), 해석부(32), 계측부(33), 선택부(34) 및 선택부(35)에 의해 구성된다.
배신 서버(11)의 기억부(30)(스토리지)는 복수의 미디어 종별의 각 속성의 동화상 콘텐츠의 세그먼트 파일을 관리하는 MPD 파일과, 그 세그먼트 파일을 기억한다.
세그먼트 파일은, 동화상 콘텐츠의 부호화 스트림을 세그먼트라 불리는 수초 내지 10초 정도의 시간 단위로 저장하는 미디어 세그먼트 파일과, 그 부호화 스트림을 복호할 때 사용되는 파라미터를 포함하는 초기화 세그먼트 파일에 의해 구성된다.
미디어 세그먼트 파일에 저장되는 부호화 스트림은, 미디어 종별 및 속성마다, 동화상 콘텐츠가 부호화된 부호화 스트림이다. 제1 실시 형태에서는, 속성의 종류는, 언어, 역할(목적) 및 부호화 비트 레이트인 것으로 한다. 따라서, 예를 들어 부호화 비트 레이트가 상이한 부호화 스트림이나 언어가 상이한 부호화 스트림은, 각각, 상이한 미디어 세그먼트에 저장된다.
http 서버(31)는 HTTP/2에 준거하여 네트워크(13)를 통해 재생 클라이언트(12)와 통신을 행한다. 구체적으로는, http 서버(31)는 재생 클라이언트(12)로부터 송신되어 오는, MPD 파일의 송신을 배신 서버(11)에 요구하는 HTTP GET 리퀘스트(이하, MPD 리퀘스트라 함)를 수신한다. http 서버(31)는 MPD 리퀘스트(관리 파일 요구 정보)에 의해 지정된 MPD 파일의 URL에 기초하여, 기억부(30)로부터 MPD 파일을 판독하고, 재생 클라이언트(12)에 송신한다. 또한, http 서버(31)는 MPD 리퀘스트의 헤더를 해석부(32)에 공급한다.
또한, http 서버(31)는 재생 클라이언트(12)로부터 송신되어 오는, 소정의 미디어 종별의 소정의 속성의 소정의 재생 시각의 미디어 세그먼트 파일의 송신을 배신 서버(11)에 요구하는 HTTP GET 리퀘스트(이하, 미디어 리퀘스트라 함)를 수신한다. http 서버(31)는 미디어 리퀘스트(콘텐츠 파일 요구 정보)에 의해 지정된 URL에 기초하여, 기억부(30)로부터 선택부(34)를 통해 미디어 세그먼트 파일을 판독하고, 재생 클라이언트(12)에 송신한다. 또한, http 서버(31)는 미디어 리퀘스트의 헤더를 해석부(32)에 공급한다.
또한, http 서버(31)(송신부)는 선택부(34)로부터 공급되는 초기화 세그먼트 파일 및 선택부(35)로부터 공급되는 미디어 세그먼트 파일을, 재생 클라이언트(12)에 송신한다.
해석부(32)는 http 서버(31)로부터 공급되는 MPD 리퀘스트의 헤더를 해석하고, push-init-segment 지령을 기술하는 확장 헤더를 추출한다. push-init-segment 지령은, 기억부(30)에 기억되는 복수의 미디어 종별의 각 속성의 동화상 콘텐츠의 초기화 세그먼트 파일 중, 소정의 미디어 종별의 소정의 속성의 초기화 세그먼트 파일의 송신을 배신 서버(11)에 요구하는 푸시 지령이다.
push-init-segment 지령을 기술하는 확장 헤더의 기술은, 「Accept-push-policy : "type"="push-init-segment", PUSH_PARAMS」이다. 「Accept-push-policy」는, 확장 헤더의 이름이며, 배신 서버(11)에 대한 푸시 지령을 기술하는 확장 헤더인 것을 나타내고 있다. 「Accept-push-policy」 이후의 기술은, 파라미터를 나타내는 코드와, 그 파라미터의 값을 이퀄로 연결함으로써, 각 파라미터의 값을 지정한다.
즉, 「"type"="push-init-segment"」에서는, 푸시 지령의 타입(종류)을 파라미터로서 나타내는 코드 「type」와, 그 파라미터의 값인 「push-init-segment」가 이퀄로 연결되어 있다. 따라서, 확장 헤더에 기술되는 푸시 지령의 타입으로서, push-init-segment 지령이 지정되어 있다.
또한, 「"type"="push-init-segment"」 후의 「PUSH_PARAMS」는, push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 미디어 종별(종류) 또는 속성의 종류를 파라미터로서 나타내는 코드와, 그 파라미터의 값을 이퀄로 연결하는 기술이다. 이 기술에 의해, push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 미디어 종별 또는 속성이 지정된다.
예를 들어, 「PUSH_PARAMS」에서는, 미디어 종별을 파라미터로서 나타내는 코드 「media」와, 미디어 종별을 나타내는 값인 MIME-type가 이퀄로 연결된다. 이에 의해, push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 미디어 종별이 지정된다. 미디어 종별을 나타내는 MIME-type로서는, 「video/mp4」, 「audio/mp4」 등이 있다. 「video/mp4」는, 미디어 종별로서 MP4 형식으로 파일화되는 영상을 나타내고, 「audio/mp4」는, 미디어 종별로서 MP4 형식으로 파일화되는 음성을 나타낸다.
또한, 「PUSH_PARAMS」에서는, 언어를 파라미터로서 나타내는 코드 「lang」와, 언어의 속성을 나타내는 속성 정보로서의 ISO 639-1에 기초하는 언어 코드가 이퀄로 연결된다. 이에 의해, push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 언어 속성이 지정된다. 예를 들어, 언어의 속성으로서 일본어를 지정하는 경우, 「PUSH_PARAMS」에는, 「"lang"="ja"」가 기술된다. 또한, 언어의 속성은, 미디어 종별로서 음성 또는 자막이 지정되는 경우에만 지정할 수 있다.
또한, 「PUSH_PARAMS」에서는, 목적(역할)을 파라미터로서 나타내는 코드 「role」와, 목적(역할)의 속성 정보로서의 MPD 파일의 어댑테이션 세트 요소가 가질 수 있는 role 애트리뷰트의 값이 이퀄로 연결된다. 이에 의해, push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 목적(역할)의 속성이 지정된다. MPD 파일이 가질 수 있는 role 애트리뷰트의 값으로서는, 「main」, 「alternate」, 「supplementary」, 「commentary」, 「dub(더빙)」, 「description」 등이 있다.
또한, 「PUSH_PARAMS」에서는, 부호화 비트 레이트를 파라미터로서 나타내는 코드 「bitrate」와, 부호화 비트 레이트의 속성 정보로서의 1초당의 부호화 비트 레이트의 범위가 이퀄로 연결된다. 이에 의해, push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 부호화 비트 레이트의 속성의 범위가 지정된다.
따라서, 예를 들어 push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 미디어 종별, 목적(역할) 및 부호화 비트 레이트를 지정하는 push-init-segment 지령을 기술하는 확장 헤더의 기술은, 「Accept-push-policy : "type"="push-init-segment", "media"="video/mp4", "role"="main", "bitrate"="400000-8000000"」이 된다.
이 경우, push-init-segment 지령에 의해 송신을 요구하는 초기화 세그먼트 파일의 미디어 종별로서, MP4 형식으로 파일화되는 영상이 지정되어 있고, 목적(역할)의 속성 정보로서 「main」이 지정되어 있다. 또한, 부호화 비트 레이트의 속성 정보의 범위로서 400kbps부터 8Mbps까지의 범위가 지정되어 있다.
해석부(32)는 push-init-segment 지령을 기술하는 확장 헤더의 「PUSH_PARAMS」에 의해 지정된 미디어 종별 및 속성을 인식하고, 선택부(34)에 공급한다.
또한, 해석부(32)는 http 서버(31)로부터 공급되는 미디어 리퀘스트의 헤더를 해석하고, push-media-adapted 지령을 기술하는 확장 헤더를 추출한다. push-media-adapted 지령은, 송신원에 의해 허용 범위 내에서 선택된 부호화 비트 레이트의 후속 미디어 세그먼트 파일(후속 콘텐츠의 파일)의 송신을 배신 서버(11)에 요구하는 푸시 지령이다. 또한, 후속 미디어 세그먼트 파일이란, 미디어 리퀘스트에 의해 송신이 요구되는 미디어 세그먼트 파일의 재생 시각보다 후의 재생 시각의, 그 미디어 세그먼트 파일과 부호화 비트 레이트 이외의 속성이 동일한 미디어 세그먼트 파일이다.
push-media-adapted 지령을 기술하는 확장 헤더의 기술은, 「Accept-push-policy : "type"="push-media-adapted", PUSH_PARAMS」이다. push-media-adapted 지령을 기술하는 확장 헤더의 기술은, 푸시 지령의 타입과, PUSH_PARAMS에 있어서의 파라미터를 제외하고, push-init-segment 지령을 기술하는 확장 헤더의 기술과 마찬가지이다.
즉, push-media-adapted 지령을 기술하는 확장 헤더의 기술에서는, 「"type"="push-media-adapted"」에 있어서, 코드 「type」와 「push-init-segment」가 이퀄로 연결되어 있다. 따라서, 확장 헤더에 기술되는 푸시 지령의 타입으로서, push-media-adapted 지령이 지정되어 있다.
또한, 「"type"="push-media-adapted"」 후의 「PUSH_PARAMS」는, push-media-adapted 지령에 의해 송신을 요구하는 후속 미디어 세그먼트 파일의 기간과 부호화 비트 레이트의 허용 범위를 파라미터로서 나타내는 코드와, 그 파라미터의 값을 이퀄로 연결하는 기술이다. 이 기술에 의해, push-media-adapted 지령에 의해 송신을 요구하는 후속 미디어 세그먼트 파일의 기간 및 부호화 비트 레이트의 허용 범위가 지정된다.
후속 미디어 세그먼트 파일의 기간을 파라미터로서 나타내는 코드로서는, 예를 들어 「duration」 또는 「number」가 있다. 후속 미디어 세그먼트 파일의 기간을 나타내는 코드가 「duration」인 경우, 「PUSH_PARAMS」에서는, 코드 「duration」과, 후속 미디어 세그먼트 파일의 기간을 나타내는 정보로서의 재생 시간을 초 단위로 나타내는 정수값이 이퀄로 연결된다. 한편, 후속 미디어 세그먼트 파일의 기간을 나타내는 코드가 「number」인 경우, 「PUSH_PARAMS」에서는, 코드 「duration」과, 후속 미디어 세그먼트 파일의 기간을 나타내는 정보로서의 파일수를 나타내는 정수값이 이퀄로 연결된다. 이에 의해, push-media-adapted 지령에 의해 송신을 요구하는 후속 미디어 세그먼트 파일의 기간이 지정된다.
또한, 「PUSH_PARAMS」에서는, 부호화 비트 레이트의 허용 범위를 파라미터로서 나타내는 코드 「bitrate」와, 부호화 비트 레이트의 허용 범위를 나타내는 범위 정보로서의 1초당의 부호화 비트 레이트의 범위가 이퀄로 연결된다. 이에 의해, push-media-adapted 지령에 의해 송신을 요구하는 후속 미디어 세그먼트 파일의 부호화 비트 레이트의 범위 정보가 지정된다.
따라서, 예를 들어 push-media-adapted 지령에 의해 송신을 요구하는 후속 미디어 세그먼트 파일의 기간을 재생 시간으로 지정하는 push-media-adapted 지령을 기술하는 확장 헤더의 기술은, 「accept-push-policy : "type"="push-media-adapted", "duration"="120", "bitrate"="400000-8000000"」이 된다. 이 경우, push-media-adapted 지령에 의해 송신을 요구하는 후속 미디어 세그먼트 파일의 재생 시간으로서 120초가 지정되어 있고, 부호화 비트 레이트의 허용 범위로서 400kbps부터 8Mbps까지의 범위가 지정되어 있다.
해석부(32)는 push-media-adapted 지령을 기술하는 확장 헤더의 「PUSH_PARAMS」에 의해 지정된 기간과 부호화 비트 레이트의 허용 범위를 인식하고, 선택부(35)에 공급한다.
계측부(33)는 http 서버(31)로부터 송신되는 MPD 파일, 초기화 세그먼트 파일 및 미디어 세그먼트 파일의 실효적인 데이터 송신 레이트를 계측한다. 구체적으로는, 배신 서버(11)와 재생 클라이언트(12) 사이의 전송에서는, 데이터의 수신 시, 그 데이터의 수신 통지로서 ACK 신호를 송신한다. 따라서, 계측부(33)는, 예를 들어 TCP(Transfer Control Protocol) 레이어에 있어서의 재생 클라이언트(12)로부터의 ACK 신호의 상황에 기초하여, 실효적인 데이터 송신 레이트를 계측한다. 계측부(33)는 계측의 결과 얻어지는 데이터 송신 레이트를, 네트워크(13)의 실효 대역을 나타내는 계측 비트 레이트로서 선택부(35)에 공급한다.
선택부(34)는 기억부(30)에 기억되어 있는 MPD 파일에 기초하여, 해석부(32)로부터 공급되는, 지정된 미디어 종별 및 속성의 초기화 세그먼트 파일의 URL을 등록한 송신 리스트를 생성하고, 유지한다.
구체적으로는, 선택부(34)는 MPD 파일에 기술되는 모든 리프리젠테이션 요소로부터, 지정된 미디어 종별을 갖는 어댑테이션 세트 요소의 리프리젠테이션 요소를 선택한다. 그리고, 선택부(34)는 선택된 리프리젠테이션 요소로부터, 그 리프리젠테이션 요소 또는 리프리젠테이션 요소를 그룹핑하는 어댑테이션 세트 요소가, 지정된 속성을 갖는 리프리젠테이션 요소를 선택한다.
예를 들어, MPD 파일에서는, 리프리젠테이션 요소가, 부호화 비트 레이트의 속성 정보를 bandwidth 애트리뷰트로서 갖는다. 따라서, 지정된 속성의 종류가 부호화 비트 레이트만인 경우, 선택부(34)는 선택된 리프리젠테이션 요소로부터, 지정된 부호화 비트 레이트의 속성의 범위 내의 속성의 속성 정보를 bandwidth 애트리뷰트로서 갖는 리프리젠테이션 요소를 선택한다.
또한, 지정된 속성의 종류의 수가 복수인 경우에는, 전종류의 속성에 대응하는 리프리젠테이션 요소가 선택된다. 그러나, 전종류의 속성에 대응하는 리프리젠테이션 요소가 존재하지 않는 경우에는, 선택부(34)는 각 속성의 종류의 우선도에 기초하여 선택에 사용하는 속성의 종류를 삭감한다.
여기에서는, 각 속성의 종류의 우선도는, 미리 정해져 있는 것으로 하지만, PUSH_PARAMS에 의해 지정되는 순서에 기초하여 정해져도 된다.
선택부(34)는 이상과 같이 하여 선택된 리프리젠테이션 요소가 갖는 초기화 세그먼트 파일의 URL을 등록한 송신 리스트를, 초기화 세그먼트 파일의 송신 리스트로서 생성하고, 유지한다. 선택부(34)는 초기화 세그먼트 파일의 송신 리스트에 등록되어 있는 URL에 기초하여, 기억부(30)로부터 초기화 세그먼트 파일을 판독하고, http 서버(31)에 공급한다.
선택부(35)는 계측 비트 레이트, MPD 파일, 및, 해석부(32)로부터 공급되는 기간 및 부호화 비트 레이트의 허용 범위에 기초하여, 허용 범위 내의 부호화 비트 레이트로부터, 후속 미디어 세그먼트 파일의 부호화 비트 레이트를 선택한다.
구체적으로는, 선택부(35)는 MPD 파일로부터, 허용 범위 내의 부호화 비트 레이트를 bandwidth 애트리뷰트로서 갖는 후속 미디어 세그먼트 파일이 속하는 리프리젠테이션 요소를 선택한다. 그리고, 선택부(35)는 선택된 리프리젠테이션 요소로부터, 계측 비트 레이트에 적합한 부호화 비트 레이트를 bandwidth 애트리뷰트로서 갖는 리프리젠테이션 요소를 선택한다.
선택부(35)는 선택된 리프리젠테이션 요소에 속하는 후속 미디어 세그먼트 파일의 URL을 등록한 송신 리스트를, 후속 미디어 세그먼트 파일의 송신 리스트로서 생성하고, 유지한다. 선택부(35)는 후속 미디어 세그먼트 파일의 송신 리스트에 등록되어 있는 URL에 기초하여, 기억부(30)로부터 후속 미디어 세그먼트 파일을 판독하고, http 서버(31)에 공급한다.
재생 클라이언트(12)는 리퀘스트 생성부(50), http 클라이언트(51), MPD 파서(52), 선택부(53), 수신 버퍼(54) 및 재생부(56)에 의해 구성된다.
재생 클라이언트(12)의 리퀘스트 생성부(50)는 헤더에 push-init-segment 지령을 포함하는 MPD 리퀘스트를 생성한다. 구체적으로는, 재생 클라이언트(12)는 MPD 리퀘스트의 생성 시에는, 아직 MPD 파일을 취득하고 있지 않기 때문에, 배신 서버(11)에 실제로 기억되어 있는 초기화 세그먼트 파일의 속성 및 미디어 종별은 미지이다. 그러나, 재생 클라이언트(12)는 재생 클라이언트(12)의 특성이나 유저의 기호 등에 기초하여, 초기화 세그먼트 파일의 미디어 종별 및 속성으로서 취할 수 있는 값으로부터, 필요로 될 수 있는 초기화 세그먼트 파일의 미디어 종별 및 속성을 선택하는 것은 가능하다.
따라서, 리퀘스트 생성부(50)는 필요로 될 수 있는 초기화 세그먼트 파일의 미디어 종별 및 속성을 지정하는 push-init-segment 지령을 기술하는 확장 헤더를 생성하고, 그 확장 헤더를 헤더에 포함하는 MPD 리퀘스트를 생성한다. 리퀘스트 생성부(50)는 MPD 리퀘스트를 http 클라이언트(51)에 공급한다.
또한, 리퀘스트 생성부(50)는 선택부(53)로부터 공급되는 URL과 부호화 비트 레이트의 허용 범위에 기초하여, 헤더에 push-media-adapted 지령을 포함하는 미디어 리퀘스트를 생성한다. 구체적으로는, 리퀘스트 생성부(50)는 URL을 데이터부(보디)에 배치하고, 후속 미디어 세그먼트 파일의 기간과 부호화 비트 레이트의 허용 범위를 지정하는 push-media-adapted 지령을 기술하는 확장 헤더를 헤더부에 배치한 미디어 리퀘스트를 생성한다. 리퀘스트 생성부(50)는 미디어 리퀘스트를 http 클라이언트(51)에 공급한다.
http 클라이언트(51)(송신부)는 HTTP/2에 준거하여 네트워크(13)를 통해 배신 서버(11)와 통신을 행한다. 구체적으로는, http 클라이언트(51)는 리퀘스트 생성부(50)로부터 공급되는 MPD 리퀘스트 및 미디어 리퀘스트를, 배신 서버(11)에 송신한다. http 클라이언트(51)는 MPD 리퀘스트에 따라서 배신 서버(11)로부터 송신되어 오는 MPD 파일과 초기화 세그먼트 파일을 수신한다.
http 클라이언트(51)는 MPD 파일을 MPD 파서(52)에 공급하고, 초기화 세그먼트 파일을 수신 버퍼(54)에 공급한다. 또한, http 클라이언트(51)는 미디어 리퀘스트에 따라서 배신 서버(11)로부터 송신되어 오는 미디어 세그먼트 파일을 수신하여, 수신 버퍼(54)에 공급한다.
MPD 파서(52)는 http 클라이언트(51)로부터 공급되는 MPD 파일을 해석하고, 각 리프리젠테이션 요소에 대응하는 미디어 종별, 속성, URL 등을 포함하는 리프리젠테이션 정보를, 선택부(53)에 공급한다.
선택부(53)는, 대역 추정부(57)로부터 공급되는 계측 비트 레이트, 재생 클라이언트(12)의 특성, 유저의 기호 등에 기초하여, 미디어 리퀘스트에서 URL을 지정하는 미디어 세그먼트 파일의 미디어 종별과 속성을 결정한다.
선택부(53)는, 결정된 미디어 종별 및 속성에 기초하여, MPD 파서(52)로부터 공급되는 리프리젠테이션 정보로부터, 미디어 리퀘스트에서 URL을 지정하는 미디어 세그먼트 파일의 리프리젠테이션 정보를 선택한다. 또한, 선택부(53)는 미디어 리퀘스트에서 URL을 지정하는 미디어 세그먼트 파일의 재생 시각과, 선택된 리프리젠테이션 정보에 기초하여, 미디어 리퀘스트에서 지정하는 미디어 세그먼트 파일의 URL을 결정하고, 리퀘스트 생성부(50)에 공급한다.
또한, 선택부(53)는 계측 비트 레이트, 재생 클라이언트(12)의 특성, 유저의 기호 등에 기초하여, 후속 미디어 세그먼트 파일의 부호화 비트 레이트의 허용 범위를 결정하고, 리퀘스트 생성부(50)에 공급한다.
수신 버퍼(54)는 http 클라이언트(51)로부터 공급되는 초기화 세그먼트 파일과 미디어 세그먼트 파일을 유지한다.
재생부(56)는 수신 버퍼(54)로부터 재생 대상의 초기화 세그먼트 파일을 판독하고, 그 초기화 세그먼트 파일에 포함되는 파라미터를 설정한다. 또한, 재생부(56)는 수신 버퍼(54)로부터 재생 대상의 미디어 세그먼트 파일을 판독한다. 재생부(56)는 설정된 파라미터를 사용하여, 판독된 미디어 세그먼트 파일에 저장되는 부호화 스트림을 복호하고, 재생한다.
대역 추정부(57)는 수신 버퍼(54)에 유지되는 초기화 세그먼트 파일이나 미디어 세그먼트 파일의 데이터양에 기초하여, 실효적인 데이터 수신 레이트를 계측한다. 대역 추정부(57)는 계측의 결과 얻어지는 데이터 수신 레이트를, 계측 비트 레이트로서 선택부(53)에 공급한다.
(재생 클라이언트의 소프트웨어의 계층 구조의 예)
도 3은 도 2의 재생 클라이언트(12)의 소프트웨어의 계층 구조의 예를 도시하는 도면이다.
도 3에 도시한 바와 같이, 재생 클라이언트(12)의 소프트웨어의 최하층은, 수신 버퍼(54)와 재생부(70)에 의해 구성되는 하드웨어층이다. 또한, 중간층은, DASH 클라이언트부(71), 대역 추정부(72) 및 재생 제어부(73)에 의해 구성되고, 최상층은 애플리케이션부(74)에 의해 구성된다.
DASH 클라이언트부(71)는 http 클라이언트(51)와 MPD 파서(52)를 실현하는 소프트웨어이며, 대역 추정부(72)는 대역 추정부(57)를 실현하는 소프트웨어이다. 또한, 재생 제어부(73)는 재생부(70)를 제어하는 소프트웨어이며, 재생부(70)와 재생 제어부(73)에 의해, 재생부(56)가 실현된다. 애플리케이션부(74)는 리퀘스트 생성부(50), 선택부(53) 등을 실현하는 소프트웨어이다.
(정보 처리 시스템의 처리 설명)
도 4는 도 2의 정보 처리 시스템(10)의 처리를 설명하는 흐름도이다.
도 4의 스텝 S11에 있어서, 재생 클라이언트(12)의 리퀘스트 생성부(50)는, 초기화 세그먼트 파일의 미디어 종별 및 속성으로서 취할 수 있는 값으로부터, 필요로 될 수 있는 초기화 세그먼트 파일의 미디어 종별 및 속성을 선택한다.
스텝 S12에 있어서, 리퀘스트 생성부(50)는 선택된 미디어 종별 및 속성을 지정하는 push-init-segment 지령을 기술하는 확장 헤더를 헤더에 포함하는 MPD 리퀘스트를 생성하고, 배신 서버(11)에 송신한다.
스텝 S41에 있어서, 배신 서버(11)의 http 서버(31)는 재생 클라이언트(12)로부터 송신되어 오는 MPD 리퀘스트를 수신한다. 그리고, http 서버(31)는 MPD 리퀘스트에 의해 지정된 MPD 파일의 URL에 기초하여, 기억부(30)로부터 MPD 파일을 판독한다. 스텝 S42에 있어서, http 서버(31)는 판독된 MPD 파일을, MPD 리퀘스트의 리스폰스로서, 재생 클라이언트(12)에 송신한다. 또한, http 서버(31)는 MPD 리퀘스트의 헤더를 해석부(32)에 공급한다.
스텝 S13에 있어서, http 클라이언트(51)는 배신 서버(11)로부터 송신되어 오는 MPD 파일을 수신하고, MPD 파서(52)에 공급한다. MPD 파서(52)는 http 클라이언트(51)로부터 공급되는 MPD 파일을 해석하고, 각 리프리젠테이션 요소의 리프리젠테이션 정보를, 선택부(53)에 공급한다.
스텝 S43에 있어서, 배신 서버(11)는 MPD 리퀘스트의 헤더에 포함되는 push-init-segment 지령과 MPD 파일에 기초하여, 초기화 세그먼트 파일의 송신 리스트를 생성하는 초기화 세그먼트 송신 리스트 생성 처리를 행한다. 이 초기화 세그먼트 송신 리스트 생성 처리의 상세는, 후술하는 도 5를 참조하여 설명한다.
스텝 S44에 있어서, 선택부(35)는 초기화 세그먼트 파일의 송신 리스트에 등록되어 있는 선두로부터 1번째의 URL에 기초하여, 기억부(30)로부터 초기화 세그먼트 파일을 판독하고, http 서버(31)를 통해 재생 클라이언트(12)에 송신한다. 또한, 이하에서는, 초기화 세그먼트 파일의 송신 리스트에 등록되어 있는 선두로부터 i번째의 URL에 대응하는 초기화 세그먼트 파일을 초기화 세그먼트 파일 #i라 한다.
스텝 S14에 있어서, http 클라이언트(51)는 배신 서버(11)로부터 송신되어 오는 초기화 세그먼트 파일 #i를 수신하고, 수신 버퍼(54)에 공급하여 유지시킨다.
스텝 S44의 처리 후, 스텝 S44의 처리와 마찬가지로, 초기화 세그먼트 파일 #i+1 내지 #n-1이 재생 클라이언트(12)에 순차적으로 송신된다. 그리고, 스텝 S14의 처리 후, 스텝 S14의 처리와 마찬가지로, 초기화 세그먼트 파일 #i+1 내지 #n-1이 배신 서버(11)로부터 순차적으로 수신된다. 또한, n이란, 초기화 세그먼트 파일의 송신 리스트에 등록되어 있는 URL의 수이며, 1 이상의 정수이다.
초기화 세그먼트 파일 #n-1의 송신 후, 스텝 S45에 있어서, 선택부(35)는 스텝 S44의 처리와 마찬가지로, 초기화 세그먼트 파일 #n을 재생 클라이언트(12)에 송신한다.
그리고, 초기화 세그먼트 파일 #n-1의 수신 후, 스텝 S15에 있어서, http 클라이언트(51)는 스텝 S14의 처리와 마찬가지로, 초기화 세그먼트 파일 #n을 배신 서버(11)로부터 수신하고, 수신 버퍼(54)에 공급하여 유지시킨다.
스텝 S16에 있어서, 선택부(53)는 대역 추정부(57)로부터 공급되는 계측 비트 레이트, 재생 클라이언트(12)의 특성, 유저의 기호 등에 기초하여, 미디어 리퀘스트에서 지정하는 미디어 세그먼트 파일의 URL을 결정한다. 또한, 선택부(53)는 계측 비트 레이트, 재생 클라이언트(12)의 특성, 유저의 기호 등에 기초하여, 후속 미디어 세그먼트 파일의 부호화 비트 레이트의 속성의 허용 범위를 결정한다. 그리고, 선택부(53)는 결정된 URL과 허용 범위를 리퀘스트 생성부(50)에 공급한다.
스텝 S17에 있어서, 선택부(53)로부터 공급되는 URL과 부호화 비트 레이트의 허용 범위에 기초하여, 헤더에 push-media-adapted 지령을 포함하는 미디어 리퀘스트를 생성하고, http 클라이언트(51)를 통해, 배신 서버(11)에 송신한다.
스텝 S46에 있어서, http 서버(31)는 배신 서버(11)로부터 송신되어 오는 미디어 리퀘스트를 수신한다. 스텝 S47에 있어서, http 서버(31)는 미디어 리퀘스트에 의해 지정된 URL에 기초하여, 기억부(30)로부터 선택부(34)를 통해 미디어 세그먼트 파일을 판독하고, 재생 클라이언트(12)에 송신한다. 또한, http 서버(31)는 미디어 리퀘스트의 헤더를 해석부(32)에 공급한다.
스텝 S18에 있어서, http 클라이언트(51)는 배신 서버(11)로부터 송신되어 오는 미디어 세그먼트 파일을 수신하고, 수신 버퍼(54)에 공급하여 유지시킨다.
스텝 S48에 있어서, 배신 서버(11)는 미디어 리퀘스트의 헤더에 포함되는 push-media-adapted 지령과 MPD 파일에 기초하여, 후속 미디어 세그먼트 파일의 송신 리스트를 생성하는 후속 미디어 세그먼트 파일 송신 리스트 생성 처리를 행한다. 이 후속 미디어 세그먼트 송신 리스트 생성 처리의 상세는, 후술하는 도 6을 참조하여 설명한다.
스텝 S49에 있어서, 선택부(35)는 후속 미디어 세그먼트 파일의 송신 리스트에 등록되어 있는 선두로부터 1번째의 URL에 기초하여, 기억부(30)로부터 후속 미디어 세그먼트 파일을 판독하고, http 서버(31)를 통해 재생 클라이언트(12)에 송신한다. 또한, 이하에서는, 후속 미디어 세그먼트 파일의 송신 리스트에 등록되어 있는 선두로부터 i번째의 URL에 대응하는 후속 미디어 세그먼트 파일을 후속 미디어 세그먼트 파일 #i라 한다.
스텝 S19에 있어서, http 클라이언트(51)는 배신 서버(11)로부터 송신되어 오는 후속 미디어 세그먼트 파일 #i를 수신하고, 수신 버퍼(54)에 공급하여 유지시킨다.
스텝 S49의 처리 후, 스텝 S49의 처리와 마찬가지로, 후속 미디어 세그먼트 파일 #i+1 내지 #m-1이 재생 클라이언트(12)에 순차적으로 송신된다. 그리고, 스텝 S19의 처리 후, 스텝 S19의 처리와 마찬가지로, 후속 미디어 세그먼트 파일 #i+1 내지 #m-1이 배신 서버(11)로부터 순차적으로 수신된다. 또한, m이란, 후속 미디어 세그먼트 파일의 송신 리스트에 등록되어 있는 URL의 수이며, 1 이상의 정수이다.
후속 미디어 세그먼트 파일 #m-1의 송신 후, 스텝 S50에 있어서, 선택부(35)는 스텝 S49의 처리와 마찬가지로, 후속 미디어 세그먼트 파일 #m을 http 서버(31)를 통해 재생 클라이언트(12)에 송신한다.
그리고, 후속 미디어 세그먼트 파일 #m-1의 수신 후, 스텝 S20에 있어서, http 클라이언트(51)는 스텝 S19의 처리와 마찬가지로, 후속 미디어 세그먼트 파일 #m을 배신 서버(11)로부터 수신하고, 수신 버퍼(54)에 공급하여 유지시킨다.
이상과 같이 하여 유지된 초기화 세그먼트 파일과 후속 미디어 세그먼트 파일 중, 재생 대상의 초기화 세그먼트 파일과 후속 미디어 세그먼트 파일은, 재생부(56)에 의해 판독된다. 그 결과, 후속 미디어 세그먼트 파일의 재생이 행해진다.
도 5는 도 4의 스텝 S43의 초기화 세그먼트 송신 리스트 생성 처리의 상세를 설명하는 흐름도이다.
또한, 도 5의 예에서는, 각 속성의 우선도는, 언어, 역할, 부호화 비트 레이트의 순으로 높게 되어 있다.
도 5의 스텝 S71에 있어서, 해석부(32)는 http 서버(31)로부터 공급되는 헤더에 push-init-segment 지령이 포함되어 있는지 여부를 판정한다. 구체적으로는, 해석부(32)는 http 서버(31)로부터 공급되는 헤더에, 헤더명이 「accept-push-policy」인 확장 헤더가 포함되어 있고, 그 확장 헤더에 「"type"="push-init-segment"」가 포함되어 있는지 여부를 판정한다.
스텝 S71에서 push-init-segment 지령이 포함되어 있다고 판정된 경우, 처리는 스텝 S72로 진행한다. 스텝 S72에 있어서, 선택부(34)는 MPD 파일에 기술되는 모든 리프리젠테이션 요소에 대응하는 초기화 세그먼트 파일을 푸시 대상(송신 대상)으로 하고, 그 리프리젠테이션 요소가 갖는 초기화 세그먼트 파일의 URL을 송신 리스트에 등록한다.
스텝 S73에 있어서, 해석부(32)는 push-init-segment 지령에 의해 미디어 종별이 지정되어 있는지 여부, 즉 확장 헤더에 코드 「media-type」가 포함되어 있는지 여부를 판정한다. 스텝 S73에서 push-init-segment 지령에 의해 미디어 종별이 지정되어 있다고 판정된 경우, 해석부(32)는 코드 「media-type」와 이퀄로 연결되는 MIME-type가 나타내는 미디어 종별을, 지정된 미디어 종별로서 인식하고, 선택부(34)에 공급한다.
스텝 S74에 있어서, 선택부(34)는 해석부(32)로부터 공급되는, 지정된 미디어 종별 이외의 미디어 종별에 대응하는 URL을 송신 리스트로부터 삭제한다. 구체적으로는, 선택부(34)는 지정된 미디어 종별 이외의 미디어 종별을 갖는 어댑테이션 세트 요소에 의해 그룹핑되는 리프리젠테이션 요소가 갖는 초기화 세그먼트 파일의 URL을 송신 리스트로부터 삭제한다. 그리고, 처리는 스텝 S75로 진행한다.
한편, 스텝 S73에서 push-init-segment에 의해 미디어 종별이 지정되어 있지 않다고 판정된 경우, 처리는 스텝 S74를 스킵하고, 스텝 S75로 진행한다.
스텝 S75에 있어서, 선택부(34)는 push-init-segment 지령에 의해 언어의 속성이 지정되어 있고, 그 언어의 속성에 대응하는 URL이 송신 리스트에 존재하는지 여부를 판정한다. 즉, 확장 헤더에 코드 「lang」이 포함되어 있고, 해석부(32)로부터, 코드 「lang」와 이퀄로 연결되는 언어 코드가 나타내는 속성이, 지정된 언어의 속성으로서 공급된 경우, 선택부(34)는 그 속성의 리프리젠테이션 요소가 갖는 초기화 세그먼트 파일의 URL이 송신 리스트에 존재하는지 여부를 판정한다.
스텝 S75에서 push-init-segment 지령에 의해 언어의 속성이 지정되어 있고, 그 언어의 속성에 대응하는 URL이 송신 리스트에 존재한다고 판정된 경우, 처리는 스텝 S76으로 진행한다.
스텝 S76에 있어서, 선택부(34)는 해석부(32)로부터 공급되는, 지정된 언어의 속성 이외의 언어의 속성에 대응하는 URL을 송신 리스트로부터 삭제한다. 그리고, 처리는 스텝 S77로 진행한다.
한편, 스텝 S75에서 push-init-segment 지령에 의해 언어의 속성이 지정되어 있지 않거나, 또는, push-init-segment 지령에 의해 지정된 언어의 속성에 대응하는 URL이 송신 리스트에 존재하지 않는다고 판정된 경우, 처리는 스텝 S76을 스킵하고, 스텝 S77로 진행한다.
스텝 S77에 있어서, 선택부(34)는 push-init-segment 지령에 의해 역할의 속성이 지정되어 있고, 그 역할의 속성에 대응하는 URL이 송신 리스트에 존재하는지 여부를 판정한다. 즉, 확장 헤더에 코드 「role」가 포함되어 있고, 해석부(32)로부터, 코드 「role」와 이퀄로 연결되는 role 애트리뷰트의 값이 나타내는 속성이, 지정된 역할의 속성으로서 공급된 경우, 선택부(34)는 그 속성의 리프리젠테이션 요소가 갖는 초기화 세그먼트 파일의 URL이 송신 리스트에 존재하는지 여부를 판정한다.
스텝 S77에서 push-init-segment 지령에 의해 역할의 속성이 지정되어 있고, 그 역할의 속성에 대응하는 URL이 송신 리스트에 존재한다고 판정된 경우, 처리는 스텝 S78로 진행한다.
스텝 S78에 있어서, 선택부(34)는 해석부(32)로부터 공급되는, 지정된 역할의 속성 이외의 역할의 속성에 대응하는 URL을 송신 리스트로부터 삭제한다. 그리고, 처리는 스텝 S79로 진행한다.
한편, 스텝 S77에서 push-init-segment 지령에 의해 역할의 속성이 지정되어 있지 않거나, 또는, push-init-segment 지령에 의해 지정된 역할의 속성에 대응하는 URL이 송신 리스트에 존재하지 않는다고 판정된 경우, 처리는 스텝 S78을 스킵하고, 스텝 S79로 진행한다.
스텝 S79에 있어서, 선택부(34)는 push-init-segment 지령에 의해 부호화 비트 레이트의 속성 범위가 지정되어 있고, 그 범위 내의 부호화 비트 레이트에 대응하는 URL이 송신 리스트에 존재하는지 여부를 판정한다. 즉, 확장 헤더에 코드 「bitrate」가 포함되어 있고, 해석부(32)로부터, 코드 「bitrate」와 이퀄로 연결되는 속성 정보가 나타내는 속성의 범위가, 지정된 부호화 비트 레이트의 속성의 범위로서 공급된 경우, 선택부(34)는 그 속성의 범위 내의 부호화 비트 레이트의 리프리젠테이션 요소가 갖는 초기화 세그먼트 파일의 URL이 송신 리스트에 존재하는지 여부를 판정한다.
스텝 S79에서 push-init-segment 지령에 의해 부호화 비트 레이트의 속성의 범위가 지정되어 있고, 그 범위 내의 부호화 비트 레이트에 대응하는 URL이 송신 리스트에 존재한다고 판정된 경우, 처리는 스텝 S80으로 진행한다.
스텝 S80에 있어서, 선택부(34)는 해석부(32)로부터 공급되는, 지정된 부호화 비트 레이트의 속성의 범위 외의 부호화 비트 레이트에 대응하는 URL을 송신 리스트로부터 삭제한다. 그리고, 처리는 종료된다.
한편, 스텝 S79에서 push-init-segment 지령에 의해 부호화 비트 레이트의 속성 범위가 지정되어 있지 않거나, 또는, push-init-segment 지령에 의해 지정된 부호화 비트 레이트의 속성 범위 내의 부호화 비트 레이트에 대응하는 URL이 송신 리스트에 존재하지 않는다고 판정된 경우, 처리는 스텝 S80을 스킵하고, 종료된다.
또한, 스텝 S71에서 push-init-segment 지령이 포함되어 있지 않는다고 판정된 경우, 처리는 종료된다.
또한, 스텝 S74, S76, S78에 있어서, 송신 리스트에 등록되어 있는 모든 URL을 삭제하게 되는 경우에는, 선택부(34)는 삭제를 행하지 않는다. 또한, 스텝 S80에 있어서, 송신 리스트에 등록되어 있는 모든 URL을 삭제하게 되는 경우에는, 선택부(34)는 지정된 부호화 비트 레이트의 속성의 범위의 하한값 또는 상한값에 가장 가까운 부호화 비트 레이트에 대응하는 URL을 송신 리스트로부터 삭제하지 않고 남긴다.
예를 들어, 송신 리스트에 등록되어 있는 모든 URL에 대응하는 부호화 비트 레이트가, 지정된 범위보다 작은 경우, 선택부(34)는 지정된 범위의 하한값에 가장 가까운 부호화 비트 레이트에 대응하는 URL을 남긴다. 한편, 송신 리스트에 등록되어 있는 모든 URL에 대응하는 부호화 비트 레이트가, 지정된 범위보다 큰 경우, 선택부(34)는 지정된 범위의 상한값에 가장 가까운 부호화 비트 레이트에 대응하는 URL을 남긴다.
도 6은 도 4의 스텝 S48의 후속 미디어 세그먼트 송신 리스트 생성 처리 개시의 상세를 설명하는 흐름도이다.
도 6의 스텝 S101에 있어서, 해석부(32)는 http 서버(31)로부터 공급되는 헤더에 push-media-adapted 지령이 포함되어 있는지 여부를 판정한다. 구체적으로는, 해석부(32)는 http 서버(31)로부터 공급되는 헤더에, 헤더명이 「accept-push-policy」인 확장 헤더가 포함되어 있고, 그 확장 헤더에 「"type"="push-media-adapted"」가 포함되어 있는지 여부를 판정한다.
스텝 S101에서 push-media-adapted 지령이 포함되어 있다고 판정된 경우, 스텝 S102에 있어서, 해석부(32)는 push-media-adapted 지령에 의해 지정되는 후속 미디어 세그먼트 파일의 기간과 부호화 비트 레이트의 허용 범위를 인식하고, 유지한다.
스텝 S103에 있어서, 선택부(35)는 현재의 송신 대상인 미디어 세그먼트 파일의 송신 비트 레이트가, 계측부(33)로부터 공급되는 계측 비트 레이트보다 높은지 여부를 판정한다. 스텝 S103에서 송신 비트 레이트가 계측 비트 레이트보다 높다고 판정된 경우, 처리는 스텝 S104로 진행한다.
스텝 S104에 있어서, 선택부(35)는 해석부(32)로부터 허용 범위를 판독하고, 송신 비트 레이트가, 그 허용 범위의 하한값보다 높은지 여부를 판정한다. 스텝 S104에서 송신 비트 레이트가 허용 범위의 하한값보다 높다고 판정된 경우, 처리는 스텝 S105로 진행한다.
스텝 S105에 있어서, 선택부(35)는 MPD 파일에 기술되어 있는 후속 미디어 세그먼트 파일이 속하는 리프리젠테이션 요소가 Bandwidth로서 갖는, 송신 비트 레이트의 다음으로 낮은 부호화 비트 레이트가, 허용 범위의 하한값 이상인지 여부를 판정한다.
스텝 S105에서 허용 범위의 하한값 이상이라고 판정된 경우, 스텝 S106에 있어서, 선택부(35)는 송신 비트 레이트의 다음으로 낮은 부호화 비트 레이트의 리프리젠테이션 요소에 속하는 후속 미디어 세그먼트 파일의 URL을 송신 리스트에 등록한다. 그리고, 처리는 스텝 S112로 진행한다.
한편, 스텝 S103에서 송신 비트 레이트가 계측 비트 레이트보다 높지는 않다고 판정된 경우, 스텝 S107에 있어서, 선택부(35)는 송신 비트 레이트가 계측 비트 레이트보다 낮은지 여부를 판정한다. 스텝 S107에서 송신 비트 레이트가 계측 비트 레이트보다 낮다고 판정된 경우, 처리는 스텝 S108로 진행한다.
스텝 S108에 있어서, 선택부(35)는 해석부(32)로부터 허용 범위를 판독하고, 송신 비트 레이트가, 그 허용 범위의 상한값보다 낮은지 여부를 판정한다. 스텝 S108에서 송신 비트 레이트가 허용 범위의 상한값보다 낮다고 판정된 경우, 처리는 스텝 S109로 진행한다.
스텝 S109에 있어서, 선택부(35)는 MPD 파일에 기술되어 있는 후속 미디어 세그먼트 파일이 속하는 리프리젠테이션 요소가 Bandwidth로서 갖는, 송신 비트 레이트의 다음으로 높은 비트 레이트가, 허용 범위의 상한값 이하인지 여부를 판정한다.
스텝 S109에서 허용 범위의 상한값 이하라고 판정된 경우, 스텝 S110에 있어서, 선택부(35)는 송신 비트 레이트의 다음으로 높은 부호화 비트 레이트의 리프리젠테이션 요소에 속하는 후속 미디어 세그먼트 파일의 URL을 송신 리스트에 등록한다. 그리고, 처리는 스텝 S112로 진행한다.
또한, 스텝 S104에서 송신 비트 레이트가 허용 범위의 하한값보다 높지는 않다고 판정된 경우, 또는, 스텝 S105에서 송신 비트 레이트의 다음으로 낮은 부호화 비트 레이트가 허용 범위의 하한값보다 낮다고 판정된 경우, 처리는 스텝 S111로 진행한다.
또한, 스텝 S107에서 송신 비트 레이트가 계측 비트 레이트보다 낮지는 않다고 판정된 경우, 즉 송신 비트 레이트와 계측 비트 레이트가 동일한 경우, 처리는 스텝 S111로 진행한다.
또한, 스텝 S108에서 송신 비트 레이트가 허용 범위의 상한값보다 낮지는 않다고 판정된 경우, 또는, 스텝 S109에서 송신 비트 레이트의 다음으로 높은 부호화 비트 레이트가 허용 범위의 상한값보다 높다고 판정된 경우, 처리는 스텝 S111로 진행한다.
스텝 S111에 있어서, 선택부(35)는 송신 비트 레이트의 리프리젠테이션 요소에 속하는 후속 미디어 세그먼트 파일의 URL을 송신 리스트에 등록한다. 그리고, 처리는 스텝 S112로 진행한다.
스텝 S112에 있어서, 선택부(35)는 해석부(32)로부터 후속 미디어 세그먼트 파일의 기간을 판독하고, 그 기간만큼의 후속 미디어 세그먼트 파일의 URL을 송신 리스트에 등록하였는지 여부를 판정한다.
스텝 S112에서, 판독된 기간만큼의 후속 미디어 세그먼트 파일의 URL을 송신 리스트에 아직 등록하지 않았다고 판정된 경우, 처리는 스텝 S103으로 되돌아가, 스텝 S103 내지 S112의 처리가 반복된다.
한편, 스텝 S112에서, 판독된 기간만큼의 후속 미디어 세그먼트 파일의 URL을 송신 리스트에 이미 등록하였다고 판정된 경우, 처리는 종료된다.
또한, 스텝 S101에서 push-media-adapted 지령이 포함되어 있지 않는다고 판정된 경우, 처리는 종료된다.
이상과 같이, 정보 처리 시스템(10)에서는, 재생 클라이언트(12)가 push-init-segment 지령을 포함하는 MPD 리퀘스트를 송신한다. 따라서, 재생 클라이언트(12)는 MPD 리퀘스트를 송신하는 것만으로, MPD 파일과 초기화 세그먼트 파일의 양쪽을 수신할 수 있다. 즉, 재생 클라이언트(12)는 초기화 세그먼트 파일의 송신을 요구하는 HTTP GET 리퀘스트를 송신할 필요가 없다. 따라서, 재생 클라이언트(12)는 초기화 세그먼트 파일의 송신의 요구를 효율적으로 행할 수 있다. 또한, 배신 서버(11)는 초기화 세그먼트 파일의 송신을 요구하는 HTTP GET의 수신을 기다릴 필요가 없기 때문에, 초기화 세그먼트 파일의 송신을 효율적으로 행할 수 있다.
또한, push-init-segment 지령에서는, 송신을 요구하는 초기화 세그먼트 파일의 미디어 종별이나 속성을 지정할 수 있다. 따라서, 불필요한 초기화 세그먼트 파일을 불필요하게 수신할 필요가 없어, 초기화 세그먼트 파일의 수신의 한층 더한 효율화를 실현할 수 있다. 그 결과, 스타트 업을 고속화할 수 있다.
이에 반해, MPD 리퀘스트에 포함되는 푸시 지령에 있어서, 송신을 요구하는 초기화 세그먼트 파일의 미디어 종별이나 속성을 지정할 수 없는 경우, MPD 리퀘스트에 따라서, 모든 미디어 종별 및 속성의 초기화 세그먼트 파일이 송신된다. 예를 들어, MPD 리퀘스트에 포함되는 푸시 지령에 있어서, 초기화 세그먼트 파일의 URL만을 지정할 수 있는 경우, 재생 클라이언트(12)는 MPD 리퀘스트 시에 MPD 파일을 취득하고 있지 않아, URL을 지정할 수는 없다. 따라서, 모든 미디어 종별 및 속성의 초기화 세그먼트 파일이 송신된다.
그 결과, 수신 버퍼(54)는, 수신한 초기화 세그먼트 파일을 유지하기 위해 많은 용량을 필요로 한다. 예를 들어, 미디어 종별이나 속성의 수가 다수인 경우, 수신 버퍼(54)는 재생에 필요한 초기화 세그먼트 파일의 데이터양의 몇 배의 데이터양의 초기화 세그먼트 파일을 유지할 필요가 있다.
따라서, 수신 버퍼(54)의 용량이 작아, 모든 미디어 종별 및 속성의 초기화 세그먼트 파일을 유지할 수 없는 경우, 재생 클라이언트(12)는 푸시 지령을 MPD 리퀘스트에 포함시킬 수는 없다. 그 결과, 재생 클라이언트(12)는 MPD 파일의 수신 후, 초기화 세그먼트 파일마다, 재생에 필요한 초기화 세그먼트 파일의 송신을 요구하는 HTTP GET 리퀘스트를 송신할 필요가 있다.
또한, 재생 클라이언트(12)는 push-media-adapted 지령을 포함하는 미디어 리퀘스트를 송신한다. 따라서, 재생 클라이언트(12)는 미디어 리퀘스트를 송신하는 것만으로, 미디어 리퀘스트에 의해 URL이 지정되는 미디어 세그먼트 파일뿐만 아니라, 후속 미디어 세그먼트 파일도 수신할 수 있다. 즉, 재생 클라이언트(12)는 후속 미디어 세그먼트 파일마다, 미디어 리퀘스트를 송신할 필요가 없다. 따라서, 재생 클라이언트(12)는 후속 미디어 세그먼트 파일의 송신의 요구를 효율적으로 행할 수 있다. 또한, 배신 서버(11)는 후속 미디어 세그먼트 파일의 송신을 요구하는 미디어 리퀘스트의 수신을 기다릴 필요가 없기 때문에, 후속 미디어 세그먼트 파일의 송신을 효율적으로 행할 수 있다.
또한, push-media-adapted 지령에서는, 후속 미디어 세그먼트 파일의 부호화 비트 레이트의 허용 범위를 지정할 수 있다. 따라서, 배신 서버(11)는 네트워크(13)의 실효 대역에 따라서, 송신하는 후속 미디어 세그먼트 파일의 부호화 비트 레이트를 허용 범위 내에서 변경시킬 수 있다. 그 결과, 재생 품질이 향상된다.
즉, 예를 들어 배신 서버(11)와 재생 클라이언트(12) 사이의 스트리밍의 개시 시, 대역 추정부(57)는 아직 네트워크(13)의 실효 대역을 추정할 수 없다. 따라서, 이 경우, 선택부(53)는 미디어 리퀘스트에 의해 URL이 지정되는 미디어 세그먼트 파일의 부호화 비트 레이트로서, 비교적 낮은 부호화 비트 레이트를 설정한다. 따라서, 이 부호화 비트 레이트를 후속 미디어 세그먼트 파일의 부호화 비트 레이트에 적용한 경우, 후속 미디어 세그먼트 파일의 부호화 비트 레이트는, 네트워크(13)의 실효 대역에 적합한 부호화 비트 레이트가 아니다.
따라서, 재생 클라이언트(12)는 push-media-adapted 지령에 있어서 후속 미디어 세그먼트 파일의 부호화 비트 레이트의 허용 범위를 지정한다. 이에 의해, 재생 클라이언트(12)는 수신하는 후속 미디어 세그먼트 파일의 부호화 비트 레이트를, 허용 범위 내에서 네트워크(13)의 실효 대역에 적합한 부호화 비트 레이트로 변경시킬 수 있다. 그 결과, 재생 품질이 향상된다.
또한, 재생 클라이언트(12)는 네트워크(13)의 실효 대역에 적합한 부호화 비트 레이트의 후속 미디어 세그먼트 파일을 수신하기 위해, 네트워크(13)의 실효 대역에 따른 지령을 배신 서버(11)에 송신할 필요가 없다. 따라서, 네트워크(13)의 실효 대역에 적합한 부호화 비트 레이트의 후속 미디어 세그먼트를 효율적으로 수신할 수 있다.
이에 반해, 미디어 리퀘스트에 포함되는 푸시 지령에 있어서, 후속 미디어 세그먼트 파일의 기간만이 지정되고, 부호화 비트 레이트의 허용 범위가 지정되지 않는 경우, 후속 미디어 세그먼트 파일의 기간 내에서 네트워크(13)의 실효 대역이 변화되면, 재생 클라이언트(12)는 푸시 지령을 캔슬할 필요가 있다. 그리고, 재생 클라이언트(12)는 실행 대역에 적합한 부호화 비트 레이트를 지정하는 푸시 지령을 포함하는 미디어 리퀘스트를 새롭게 다시 송신할 필요가 있다. 따라서, 후속 미디어 세그먼트 파일의 기간으로서 긴 기간을 지정해도, 푸시 지령의 캔슬과 미디어 리퀘스트의 송신을 행할 확률이 증가되기 때문에, 미디어 세그먼트 파일의 송신에 요하는 시간을 억제할 수 없는 경우가 있다.
또한, push-media-adapted 지령에서는, 부호화 비트 레이트의 허용 범위와 함께, 후속 미디어 세그먼트 파일의 기간을 지정할 수 있다. 따라서, 재생 클라이언트(12)는 부호화 비트 레이트의 허용 범위를 단계적으로 변화시킬 수 있다. 재생 클라이언트(12)는 부호화 비트 레이트의 허용 범위를 단계적으로 확장함으로써, 재생 품질을 완만하게 변화시킬 수 있다.
또한, push-init-segment 지령에서는, 「PUSH_PARAMS」에 의해 복수의 미디어 종별이 지정되어도 된다. 이 경우, 코드 「media」와, 복수의 미디어 종별의 MIME-type가 콤마로 구획된 기술이 이퀄로 연결된다. 마찬가지로, push-init-segment 지령에서는, 「PUSH_PARAMS」에 의해, 어떤 종류의 속성의 속성 정보가 복수 지정되어도 된다.
또한, push-init-segment 지령이나 push-media-adapted 지령에서는, 파라미터의 값의 범위로서, 그 범위의 하한값 또는 상한값만이 지정되도록 해도 된다. 이 경우, 지정되지 않는 하한값 또는 상한값은, 지정되지 않는 것을 나타내는 0으로 된다. 예를 들어, 부호화 비트 레이트의 속성의 하한값으로서 400kbps를 지정하고, 상한값을 지정하지 않는 경우, 「"bitrate"="400000-0"」이 기술되고, 하한값을 지정하지 않고, 상한값으로서 8Mbps를 지정하는 경우, 「"bitrate"="0-8000000"」이 기술된다.
또한, 재생 클라이언트(12)는 push-init-segment 지령에 의해 송신되는 초기화 세그먼트 파일 이외의 초기화 세그먼트 아일의 송신을 요구하는 HTTP GET 리퀘스트를 송신해도 된다. 이 경우에도, 모든 초기화 세그먼트 파일의 송신을 HTTP GET 리퀘스트에 의해 요구하는 경우에 비해, HTTP GET 리퀘스트의 수를 삭감할 수 있다.
또한, 제1 실시 형태에서는, 재생 클라이언트(12)가 미디어 리퀘스트에 반드시 push-media-adapted 지령을 포함시켰지만, push-media-adapted 지령 이외의 푸시 지령을 포함시켜도 된다. 예를 들어, 재생 클라이언트(12)는 후속 미디어 세그먼트 파일의 기간만을 지정하는 푸시 지령을 미디어 리퀘스트에 포함시켜도 된다. 이 경우, 푸시 지령에 포함되는 후속 미디어 세그먼트 파일의 기간을 나타내는 정보는, 예를 들어 후속 미디어 세그먼트 파일의 수(Push-next), 재생 시간(Push-time), 혹은, URL의 리스트 또는 URL의 템플릿과 템플릿을 적용하는 범위($number$)를 지정하는 파라미터(Push-template)이다. 또한, 이 경우, 미디어 리퀘스트에 의해 URL이 지정된 미디어 세그먼트 파일과 동일한 부호화 비트 레이트의 후속 미디어 세그먼트 파일이 재생 클라이언트(12)에 송신된다.
또한, 제1 실시 형태에서는, 어댑테이션 세트 요소가, 미디어 종별, 언어, 역할의 속성을 갖고, 리프리젠테이션 요소가, 부호화 비트 레이트의 속성을 갖도록 하였다. 그러나, 미디어 종별 및 속성은, 어댑테이션 세트 요소와 리프리젠테이션 요소 중 어느 것이 갖도록 해도 된다.
또한, 제1 실시 형태에서는, 속성의 종류는, 동화상 콘텐츠의 부호화 비트 레이트, 언어 및 역할(목적)로 하였지만, 영상의 해상도나 프레임 레이트, 음성의 샘플링 레이트나 채널수 등이어도 된다.
예를 들어, push-init-segment 지령에 의해 영상의 해상도를 지정하는 경우, 영상의 해상도를 파라미터로서 나타내는 코드 「resolution」과, 영상의 해상도의 속성 정보로서의 세로 방향의 화소수의 범위가 이퀄로 연결된다. 영상의 해상도의 속성 정보는, 속성이 4k 해상도인 경우 2160이고, 풀HD 해상도인 경우 1080이며, SD 해상도인 경우 480이다. 또한, MPD 파일에서는, 영상의 리프리젠테이션 요소가, 영상의 해상도의 속성 정보를 height 애트리뷰트로서 갖는다.
또한, push-init-segment 지령에 의해 음성의 샘플링 레이트를 지정하는 경우, 음성의 샘플링 레이트를 파라미터로서 나타내는 코드 「audioSamplingRate」와, 음성의 샘플링 레이트의 속성 정보로서의 샘플링 레이트의 범위가 이퀄로 연결된다. 예를 들어, 음성의 샘플링 레이트의 속성이 48㎑인 경우, 속성 정보는 48000이다. 또한, MPD 파일에서는, 음성의 리프리젠테이션 요소가, 음성의 샘플링 레이트의 속성 정보를 audioSamplingRate 애트리뷰트로서 갖는다.
또한, 범위 정보는, 허용 범위 내의 부호화 비트 레이트를 Bandwidth로서 갖는 후속 미디어 세그먼트 파일이 속하는 리프리젠테이션 요소를 특정하는 정보(예를 들어, Representation id 등)나, 그 리프리젠테이션 요소에 속하는 후속 미디어 세그먼트 파일의 URL의 범위 등이어도 된다.
<제2 실시 형태>
(WebSocket 프로토콜에 있어서의 프레임의 구성예)
본 개시를 적용한 정보 처리 시스템의 제2 실시 형태의 구성은, WebSocket 프로토콜에 준거하여 배신 서버(11)와 재생 클라이언트(12) 사이의 통신이 행해지는 점을 제외하고, 도 1의 정보 처리 시스템(10)의 구성과 동일하다. 따라서, 이하에서는, 배신 서버(11)와 재생 클라이언트(12) 사이의 통신에 대해서만 설명한다.
도 7은 WebSocket 프로토콜에 있어서의 프레임의 구성예를 도시하는 도면이다.
도 7에 도시한 바와 같이, WebSocket 프로토콜에 있어서의 프레임은, 페이로드 데이터(Payload Data)부와, 그것보다 앞의 헤더부에 의해 구성된다. 헤더부는, WebSocket 프로토콜의 기본 기능을 실현하기 위한 것이다. 특정 용도의 기능은, 페이로드부를 사용하여 실현된다. 또한, WebSocket 프로토콜에 있어서의 프레임의 상세는, 비특허문헌 2 등에 기재되어 있다.
페이로드부에 의해 특정 용도의 기능을 실현하는 경우, 페이로드부의 프로토콜로서, 서브 프로토콜을 정의하고, 페이로드부의 데이터 구조를, 서브 프레임(sub-frame)으로서 정의할 필요가 있다.
제2 실시 형태에서는, WebSocket 프로토콜에 준거하여 배신 서버(11)와 재생 클라이언트(12) 사이의 통신이 행해진다. 따라서, WebSocket 프로토콜에 있어서의 프레임에 있어서, MPEG-DASH에 의한 스트리밍을 특정 용도의 기능으로서 실현할 필요가 있다. 따라서, MPEG-DASH에 의한 스트리밍을 실현하기 위한 서브 프로토콜인 DASH 서브 프로토콜과 서브 프레임이 정의된다.
(서브 프레임의 구조예)
도 8은 제2 실시 형태에 있어서의 서브 프레임의 구조예를 도시하는 도면이다.
도 8의 서브 프레임은, STREAM_ID, CMD_CODE, F, EXT_LENGTH, EXTENSION 등에 의해 구성된다. STREAM_ID는, WebSocket 프로토콜에서 교환되는 스트림의 ID를 나타내는 8비트의 값이다. 또한, WebSocket 프로토콜에서는, 1개의 커넥션으로 복수의 스트림의 송수신이 가능하다.
CMD_CODE는, DASH 서브 프로토콜에서 정의되는 커맨드의 종별을 나타내는 8비트의 값이다. 예를 들어, 이 서브 프레임이 MPD 리퀘스트를 송신할 때 사용되는 서브 프레임인 경우, CMD_CODE는 1이며, 미디어 리퀘스트를 송신할 때 사용되는 서브 프레임인 경우, CMD_CODE는 2이다.
또한, 이 서브 프레임이 MPD 리퀘스트에 대한 리스폰스로서 MPD 파일을 송신할 때 사용되는 서브 프레임인 경우, CMD_CODE는 3이다. 이 서브 프레임이 미디어 리퀘스트에 대한 리스폰스로서 미디어 세그먼트 파일을 송신할 때 사용되는 서브 프레임인 경우, CMD_CODE는 4이다. 또한, 이 서브 프레임이, 푸시 지령을 캔슬할 때 사용되는 서브 프레임인 경우, CMD_CODE는 255이다.
F는 커맨드마다 규정되는 3비트의 플래그이다. EXT_LENGTH는, EXTENSION의 사이즈를 나타내는 13비트의 값이다. EXTENSION에는, 제1 실시 형태에 있어서 MPD 리퀘스트나 미디어 리퀘스트의 헤더에 기술되는 파라미터가 JSON(JavaScript(등록 상표) Object Notation) 인코드된 값이 저장된다. JSON 인코드의 상세는, https://tools.ietf.org/html/rfc4627에 기재되어 있다.
(EXTENSION의 예)
도 9는 MPD 리퀘스트를 송신할 때 사용되는 서브 프레임의 EXTENSION의 예를 나타내는 도면이며, 도 10은 미디어 리퀘스트를 송신할 때 사용되는 서브 프레임의 EXTENSION의 예를 도시하는 도면이다.
도 9 및 도 10에 도시한 바와 같이, EXTENSION에서는, 파라미터를 나타내는 코드와, 그 파라미터의 값이 콜론으로 연결됨으로써, 각 파라미터의 값이 지정된다.
구체적으로는, 도 9의 EXTENSION에서는, 코드 「push-type」와 「init-segment」가 콜론으로 연결되어 있다. 따라서, EXTENSION에 기술되는 푸시 지령의 타입으로서, push-init-segment 지령이 지정되어 있다.
또한, 코드 「media」와 「video/mp4」가 콜론으로 연결되어 있으므로, 미디어 종별로서, MP4 형식으로 파일화되는 영상이 지정되어 있다. 코드 「lang」와 「ja」가 콜론으로 연결되어 있으므로, 언어의 속성으로서 일본어가 지정되어 있다.
또한, 코드 「role」와 「main」이 콜론으로 연결되어 있으므로, 목적의 속성 정보로서 「main」이 지정되어 있다. 코드 「bitrate」와 「400000-8000000」이 콜론으로 연결되어 있으므로, 부호화 비트 레이트의 속성 정보의 범위로서, 400kbps부터 8Mbps까지의 범위가 지정되어 있다.
한편, 도 10의 EXTENSION에서는, 코드 「push-type」와 「segment-adapted」가 콜론으로 연결되어 있다. 따라서, EXTENSION에 기술되는 푸시 지령의 타입으로서, push-segment-adapted 지령이 지정되어 있다.
또한, 코드 「duration」과 「120」이 콜론으로 연결되어 있으므로, 후속 미디어 세그먼트 파일의 기간으로서, 120초가 지정되어 있다. 또한, 코드 「bitrate」와 「400000-8000000」이 콜론으로 연결되어 있으므로, 후속 미디어 세그먼트 파일의 부호화 비트 레이트의 허용 범위로서, 400kbps부터 8Mbps까지의 범위가 지정되어 있다.
또한, 제1 실시 형태와 마찬가지로, 코드 「duration」 대신에, 코드 「number」가 기술되도록 해도 된다. 이 경우, 코드 「number」와, 후속 미디어 세그먼트 파일수를 나타내는 정수값이 콜론으로 연결된다.
<제3 실시 형태>
(본 개시를 적용한 컴퓨터의 설명)
상술한 일련의 처리는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서, 컴퓨터에는, 전용의 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 11은 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성예를 도시하는 블록도이다.
컴퓨터(200)에 있어서, CPU(Central Processing Unit)(201), ROM(Read Only Memory)(202), RAM(Random Access Memory)(203)은, 버스(204)에 의해 서로 접속되어 있다.
버스(204)에는, 또한, 입출력 인터페이스(205)가 접속되어 있다. 입출력 인터페이스(205)에는, 입력부(206), 출력부(207), 기억부(208), 통신부(209) 및 드라이브(210)가 접속되어 있다.
입력부(206)는 키보드, 마우스, 마이크로폰 등을 포함한다. 출력부(207)는 디스플레이, 스피커 등을 포함한다. 기억부(208)는 하드 디스크나 불휘발성이 메모리 등을 포함한다. 통신부(209)는 네트워크 인터페이스 등을 포함한다. 드라이브(210)는 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(211)를 구동한다.
이상과 같이 구성되는 컴퓨터(200)에서는, CPU(201)가, 예를 들어 기억부(208)에 기억되어 있는 프로그램을, 입출력 인터페이스(205) 및 버스(204)를 통해, RAM(203)에 로드하여 실행함으로써, 상술한 일련의 처리가 행해진다.
컴퓨터(200)(CPU(201))가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(211)에 기록하여 제공할 수 있다. 또한, 프로그램은, 로컬 에어리어 네트워크, 인터넷, 디지털 위성 방송 등의, 유선 또는 무선의 전송 매체를 통해 제공할 수 있다.
컴퓨터(200)에서는, 프로그램은, 리무버블 미디어(211)를 드라이브(210)에 장착함으로써, 입출력 인터페이스(205)를 통해, 기억부(208)에 인스톨할 수 있다. 또한, 프로그램은, 유선 또는 무선의 전송 매체를 통해, 통신부(209)에서 수신하고, 기억부(208)에 인스톨할 수 있다. 그 밖에, 프로그램은 ROM(202)나 기억부(208)에, 미리 인스톨해 둘 수 있다.
또한, 컴퓨터(200)가 실행하는 프로그램은, 본 명세서에서 설명하는 순서에 따라서 시계열로 처리가 행해지는 프로그램이어도 되고, 병렬로, 혹은 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 된다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하고, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 불문한다. 따라서, 별개의 하우징에 수납되고, 네트워크를 통해 접속되어 있는 복수의 장치 및 하나의 하우징 내에 복수의 모듈이 수납되어 있는 하나의 장치는, 모두, 시스템이다.
또한, 본 명세서에 기재된 효과는 어디까지나 예시이며 한정되는 것은 아니고, 다른 효과가 있어도 된다.
또한, 본 개시의 실시 형태는, 상술한 실시 형태에 한정되는 것은 아니고, 본 개시의 요지를 일탈하지 않는 범위에 있어서 다양한 변경이 가능하다.
예를 들어, push-media-adapted 지령에 있어서, 부호화 비트 레이트 이외의 속성의 범위가 지정되어도 된다.
또한, 본 개시는, 이하와 같은 구성도 취할 수 있다.
(1)
복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을, 다른 정보 처리 장치에 요구하는 관리 파일 요구 정보를 송신하는 송신부를 구비하는 정보 처리 장치.
(2)
상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
상기 초기화 파일은, 초기화 세그먼트 파일이고,
상기 관리 파일 요구 정보는, 상기 소정의 속성을 나타내는 속성 정보를 포함하도록 구성된 상기 (1)에 기재된 정보 처리 장치.
(3)
상기 MPD 파일은, 복수의 종류의 상기 콘텐츠를 관리하고,
상기 관리 파일 요구 정보는, 상기 초기화 세그먼트 파일에 대응하는 상기 콘텐츠의 종류를 나타내는 정보를 포함하도록 구성된 상기 (2)에 기재된 정보 처리 장치.
(4)
상기 송신부는, 소정의 부호화 비트 레이트의 소정의 재생 시각의 콘텐츠의 파일과, 상기 다른 정보 처리 장치에 의해 허용 범위 내에서 선택된 부호화 비트 레이트의 상기 소정의 재생 시각보다 후의 재생 시각의 상기 콘텐츠인 후속 콘텐츠의 파일의 송신을, 상기 다른 정보 처리 장치에 요구하는 콘텐츠 파일 요구 정보를 송신하도록 구성된 상기 (1)에 기재된 정보 처리 장치.
(5)
상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
상기 파일은, 미디어 세그먼트 파일이고,
상기 콘텐츠 파일 요구 정보는, 상기 허용 범위를 나타내는 범위 정보를 포함하도록 구성된 상기 (4)에 기재된 정보 처리 장치.
(6)
상기 콘텐츠 파일 요구 정보는, 상기 후속 콘텐츠의 기간을 나타내는 정보를 포함하도록 구성된 상기 (5)에 기재된 정보 처리 장치.
(7)
상기 속성의 종류는, 상기 콘텐츠의 부호화 비트 레이트, 언어, 역할, 해상도, 샘플링 레이트, 프레임 레이트 및 채널수 중 적어도 하나이도록 구성된 상기 (1) 내지 (6) 중 어느 하나에 기재된 정보 처리 장치.
(8)
상기 송신부는, HTTP(HyperText Transfer Protocol)/2 또는 WebSocket 프로토콜에 준거한 송신을 행하도록 구성된 상기 (1) 내지 (7) 중 어느 하나에 기재된 정보 처리 장치.
(9)
정보 처리 장치가,
복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을, 다른 정보 처리 장치에 요구하는 관리 파일 요구 정보를 송신하는 송신 스텝을 포함하는 정보 처리 방법.
(10)
복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 요구하는 관리 파일 요구 정보에 기초하여, 상기 관리 파일과 상기 소정의 속성의 콘텐츠의 초기화 파일을 송신하는 송신부를 구비하는 정보 처리 장치.
(11)
상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
상기 초기화 파일은, 초기화 세그먼트 파일이고,
상기 관리 파일 요구 정보는, 상기 소정의 속성을 나타내는 속성 정보를 포함하도록 구성된 상기 (10)에 기재된 정보 처리 장치.
(12)
상기 MPD 파일은, 복수의 종류의 상기 콘텐츠를 관리하고,
상기 관리 파일 요구 정보는, 상기 초기화 세그먼트 파일에 대응하는 상기 콘텐츠의 종류를 나타내는 정보를 포함하도록 구성된 상기 (11)에 기재된 정보 처리 장치.
(13)
소정의 부호화 비트 레이트의 소정의 재생 시각의 콘텐츠의 파일과, 상기 정보 처리 장치에 의해 허용 범위 내에서 선택된 부호화 비트 레이트의 상기 소정의 재생 시각보다 후의 재생 시각의 상기 콘텐츠인 후속 콘텐츠의 파일의 송신을 요구하는 콘텐츠 파일 요구 정보와, 네트워크의 대역에 기초하여, 상기 허용 범위 내의 부호화 비트 레이트로부터, 상기 후속 콘텐츠의 부호화 비트 레이트를 선택하는 선택부를 더 구비하고,
상기 송신부는, 상기 소정의 부호화 비트 레이트의 상기 소정의 재생 시각의 콘텐츠의 파일과, 상기 선택부에 의해 선택된 상기 부호화 비트 레이트의 상기 후속 콘텐츠의 파일을 송신하도록 구성된 상기 (10)에 기재된 정보 처리 장치.
(14)
상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
상기 파일은, 미디어 세그먼트 파일이고,
상기 콘텐츠 파일 요구 정보는, 상기 허용 범위를 나타내는 범위 정보를 포함하도록 구성된 상기 (13)에 기재된 정보 처리 장치.
(15)
상기 콘텐츠 파일 요구 정보는, 상기 후속 콘텐츠의 기간을 나타내는 정보를 포함하도록 구성된 상기 (14)에 기재된 정보 처리 장치.
(16)
상기 속성의 종류는, 상기 콘텐츠의 부호화 비트 레이트, 언어, 역할, 해상도, 샘플링 레이트, 프레임 레이트 및 채널수 중 적어도 하나이도록 구성된 상기 (10) 내지 (15) 중 어느 하나에 기재된 정보 처리 장치.
(17)
상기 송신부는, HTTP(HyperText Transfer Protocol)/2 또는 WebSocket 프로토콜에 준거한 송신을 행하도록 구성된 상기 (10) 내지 (16) 중 어느 하나에 기재된 정보 처리 장치.
(18)
정보 처리 장치가,
복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 요구하는 관리 파일 요구 정보에 기초하여, 상기 관리 파일과 상기 소정의 속성의 콘텐츠의 초기화 파일을 송신하는 송신 스텝을 포함하는 정보 처리 방법.
11 : 배신 서버
12 : 재생 클라이언트
31 : http 서버
35 : 선택부
51 : http 클라이언트

Claims (18)

  1. 복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을, 다른 정보 처리 장치에 요구하는 관리 파일 요구 정보를 송신하는 송신부를 구비하는 정보 처리 장치.
  2. 제1항에 있어서,
    상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
    상기 초기화 파일은, 초기화 세그먼트 파일이고,
    상기 관리 파일 요구 정보는, 상기 소정의 속성을 나타내는 속성 정보를 포함하도록 구성된 정보 처리 장치.
  3. 제2항에 있어서,
    상기 MPD 파일은, 복수의 종류의 상기 콘텐츠를 관리하고,
    상기 관리 파일 요구 정보는, 상기 초기화 세그먼트 파일에 대응하는 상기 콘텐츠의 종류를 나타내는 정보를 포함하도록 구성된 정보 처리 장치.
  4. 제1항에 있어서,
    상기 송신부는, 소정의 부호화 비트 레이트의 소정의 재생 시각의 콘텐츠의 파일과, 상기 다른 정보 처리 장치에 의해 허용 범위 내에서 선택된 부호화 비트 레이트의 상기 소정의 재생 시각보다 후의 재생 시각의 상기 콘텐츠인 후속 콘텐츠의 파일의 송신을, 상기 다른 정보 처리 장치에 요구하는 콘텐츠 파일 요구 정보를 송신하도록 구성된 정보 처리 장치.
  5. 제4항에 있어서,
    상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
    상기 파일은, 미디어 세그먼트 파일이고,
    상기 콘텐츠 파일 요구 정보는, 상기 허용 범위를 나타내는 범위 정보를 포함하도록 구성된 정보 처리 장치.
  6. 제5항에 있어서,
    상기 콘텐츠 파일 요구 정보는, 상기 후속 콘텐츠의 기간을 나타내는 정보를 포함하도록 구성된 정보 처리 장치.
  7. 제1항에 있어서,
    상기 속성의 종류는, 상기 콘텐츠의 부호화 비트 레이트, 언어, 역할, 해상도, 샘플링 레이트, 프레임 레이트 및 채널수 중 적어도 하나이도록 구성된 정보 처리 장치.
  8. 제1항에 있어서,
    상기 송신부는, HTTP(HyperText Transfer Protocol)/2 또는 WebSocket 프로토콜에 준거한 송신을 행하도록 구성된 정보 처리 장치.
  9. 정보 처리 장치가,
    복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을, 다른 정보 처리 장치에 요구하는 관리 파일 요구 정보를 송신하는 송신 스텝을 포함하는 정보 처리 방법.
  10. 복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 요구하는 관리 파일 요구 정보에 기초하여, 상기 관리 파일과 상기 소정의 속성의 콘텐츠의 초기화 파일을 송신하는 송신부를 구비하는 정보 처리 장치.
  11. 제10항에 있어서,
    상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
    상기 초기화 파일은, 초기화 세그먼트 파일이고,
    상기 관리 파일 요구 정보는, 상기 소정의 속성을 나타내는 속성 정보를 포함하도록 구성된 정보 처리 장치.
  12. 제11항에 있어서,
    상기 MPD 파일은, 복수의 종류의 상기 콘텐츠를 관리하고,
    상기 관리 파일 요구 정보는, 상기 초기화 세그먼트 파일에 대응하는 상기 콘텐츠의 종류를 나타내는 정보를 포함하도록 구성된 정보 처리 장치.
  13. 제10항에 있어서,
    소정의 부호화 비트 레이트의 소정의 재생 시각의 콘텐츠의 파일과, 상기 정보 처리 장치에 의해 허용 범위 내에서 선택된 부호화 비트 레이트의 상기 소정의 재생 시각보다 후의 재생 시각의 상기 콘텐츠인 후속 콘텐츠의 파일의 송신을 요구하는 콘텐츠 파일 요구 정보와, 네트워크의 대역에 기초하여, 상기 허용 범위 내의 부호화 비트 레이트로부터, 상기 후속 콘텐츠의 부호화 비트 레이트를 선택하는 선택부를 더 구비하고,
    상기 송신부는, 상기 소정의 부호화 비트 레이트의 상기 소정의 재생 시각의 콘텐츠의 파일과, 상기 선택부에 의해 선택된 상기 부호화 비트 레이트의 상기 후속 콘텐츠의 파일을 송신하도록 구성된 정보 처리 장치.
  14. 제13항에 있어서,
    상기 관리 파일은, MPD(Media Presentation Description) 파일이며,
    상기 파일은, 미디어 세그먼트 파일이고,
    상기 콘텐츠 파일 요구 정보는, 상기 허용 범위를 나타내는 범위 정보를 포함하도록 구성된 정보 처리 장치.
  15. 제14항에 있어서,
    상기 콘텐츠 파일 요구 정보는, 상기 후속 콘텐츠의 기간을 나타내는 정보를 포함하도록 구성된 정보 처리 장치.
  16. 제10항에 있어서,
    상기 속성의 종류는, 상기 콘텐츠의 부호화 비트 레이트, 언어, 역할, 해상도, 샘플링 레이트, 프레임 레이트 및 채널수 중 적어도 하나이도록 구성된 정보 처리 장치.
  17. 제10항에 있어서,
    상기 송신부는, HTTP(HyperText Transfer Protocol)/2 또는 WebSocket 프로토콜에 준거한 송신을 행하도록 구성된 정보 처리 장치.
  18. 정보 처리 장치가,
    복수의 속성의 콘텐츠를 관리하는 관리 파일과, 상기 복수의 속성 중 소정의 속성의 콘텐츠의 초기화 파일의 송신을 요구하는 관리 파일 요구 정보에 기초하여, 상기 관리 파일과 상기 소정의 속성의 콘텐츠의 초기화 파일을 송신하는 송신 스텝을 포함하는 정보 처리 방법.
KR1020187021203A 2016-02-12 2017-01-30 정보 처리 장치 및 정보 처리 방법 KR20180109890A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2016-024809 2016-02-12
JP2016024809 2016-02-12
PCT/JP2017/003177 WO2017138387A1 (ja) 2016-02-12 2017-01-30 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
KR20180109890A true KR20180109890A (ko) 2018-10-08

Family

ID=59563903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187021203A KR20180109890A (ko) 2016-02-12 2017-01-30 정보 처리 장치 및 정보 처리 방법

Country Status (8)

Country Link
US (1) US20190014358A1 (ko)
EP (1) EP3416396B1 (ko)
JP (1) JP6981257B2 (ko)
KR (1) KR20180109890A (ko)
CN (1) CN108605160B (ko)
BR (1) BR112018015935A2 (ko)
RU (1) RU2728534C2 (ko)
WO (1) WO2017138387A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020138567A1 (ko) * 2018-12-27 2020-07-02 (주)아이앤아이소프트 컨텐츠 스트리밍 장치, 시스템 및 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11659057B2 (en) * 2017-04-19 2023-05-23 Comcast Cable Communications, Llc Methods and systems for content delivery using server push
KR102307447B1 (ko) * 2017-05-02 2021-09-30 삼성전자주식회사 네트워크 환경 모니터링에 기반하는 http 적응적 스트리밍 서버, 방법, 및 클라이언트 단말
CN109756755A (zh) * 2017-11-02 2019-05-14 华为技术有限公司 一种媒体播放方法,装置和系统
US11368747B2 (en) 2018-06-28 2022-06-21 Dolby Laboratories Licensing Corporation Frame conversion for adaptive streaming alignment
EP3661217A1 (en) * 2018-09-28 2020-06-03 Comcast Cable Communications LLC Per-segment parameters for content
US11184665B2 (en) * 2018-10-03 2021-11-23 Qualcomm Incorporated Initialization set for network streaming of media data
US11546402B2 (en) * 2019-01-04 2023-01-03 Tencent America LLC Flexible interoperability and capability signaling using initialization hierarchy
CN111510789B (zh) * 2019-01-30 2021-09-21 上海哔哩哔哩科技有限公司 视频播放方法、系统、计算机设备及计算机可读存储介质
CN111510791B (zh) * 2019-01-30 2022-07-29 上海哔哩哔哩科技有限公司 播放音视频的方法、装置、计算机设备及可读存储介质
WO2020261689A1 (ja) * 2019-06-25 2020-12-30 ソニー株式会社 情報処理装置、情報処理方法、再生処理装置及び再生処理方法
US11184420B2 (en) * 2020-01-06 2021-11-23 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
CN113141524B (zh) * 2020-01-17 2023-09-29 北京达佳互联信息技术有限公司 资源传输方法、装置、终端及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9319448B2 (en) * 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
CN103081506B (zh) * 2010-09-01 2016-09-14 韩国电子通信研究院 提供串流内容的方法及装置
KR101739272B1 (ko) * 2011-01-18 2017-05-24 삼성전자주식회사 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US20140237536A1 (en) * 2011-10-13 2014-08-21 Samsung Electronics Co., Ltd. Method of displaying contents, method of synchronizing contents, and method and device for displaying broadcast contents
CN103095517B (zh) * 2011-11-04 2016-12-07 华为技术有限公司 流媒体传输质量评估和信息获取方法及相关设备和系统
US9392304B2 (en) * 2012-02-29 2016-07-12 Hulu, LLC Encoding optimization using quality level of encoded segments
EP2869579B1 (en) * 2012-07-02 2017-04-26 Sony Corporation Transmission apparatus, transmission method, and network apparatus for multi-view video streaming using a meta file including cache priority or expiry time information of said video streams
WO2014010444A1 (ja) * 2012-07-10 2014-01-16 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、データ構造、制御プログラムおよび記録媒体
US9348993B2 (en) * 2012-09-28 2016-05-24 Futurewei Technologies, Inc. Segment authentication for dynamic adaptive streaming
US9537902B2 (en) * 2013-02-13 2017-01-03 Qualcomm Incorporated Enabling devices without native broadcast capability to access and/or receive broadcast data in an efficient manner
EP3020208B1 (en) * 2013-07-12 2022-03-09 Canon Kabushiki Kaisha Adaptive data streaming with push messages control
EP3105903B1 (en) * 2014-02-13 2019-08-07 Koninklijke KPN N.V. Requesting multiple chunks from a network node on the basis of a single request message
WO2015137702A1 (en) * 2014-03-10 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting messages to a dash client
CN105144730B (zh) * 2014-03-27 2018-07-03 华为技术有限公司 视频传输方法、装置与系统
GB2528672B (en) * 2014-07-25 2017-02-08 Canon Kk Push-based transmission of resources and correlated network quality estimation
US20170272691A1 (en) * 2014-12-22 2017-09-21 Lg Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020138567A1 (ko) * 2018-12-27 2020-07-02 (주)아이앤아이소프트 컨텐츠 스트리밍 장치, 시스템 및 방법

Also Published As

Publication number Publication date
RU2728534C2 (ru) 2020-07-30
RU2018128314A3 (ko) 2020-02-03
CN108605160A (zh) 2018-09-28
WO2017138387A1 (ja) 2017-08-17
BR112018015935A2 (pt) 2018-12-18
EP3416396B1 (en) 2021-11-24
EP3416396A4 (en) 2018-12-19
EP3416396A1 (en) 2018-12-19
RU2018128314A (ru) 2020-02-03
US20190014358A1 (en) 2019-01-10
CN108605160B (zh) 2021-09-03
JP6981257B2 (ja) 2021-12-15
JPWO2017138387A1 (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
KR20180109890A (ko) 정보 처리 장치 및 정보 처리 방법
JP3957666B2 (ja) マルチメディアストリーミング装置、マルチメディアストリーミングサーバ、マルチメディアストリーミングクライアント、マルチメディアストリーミング方法及びそのプログラムを記録した記録媒体
USRE48360E1 (en) Method and apparatus for providing trick play service
US9277252B2 (en) Method and apparatus for adaptive streaming based on plurality of elements for determining quality of content
EP2870776B1 (en) Methods and devices for bandwidth allocation in adaptive bitrate streaming
CN102232298B (zh) 媒体内容的传输处理方法、装置与系统
EP2499793B1 (en) Adaptive streaming method and apparatus
US20210306405A1 (en) Apparatus and method for constant quality optimization for adaptive streaming
US20140359679A1 (en) Content streaming with client device trick play index
JP2015136060A (ja) 通信装置、通信データ生成方法、および通信データ処理方法
GB2534057A (en) Methods for providing media data, method for receiving media data and corresponding devices
KR102499231B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
US20120303833A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
CN109792547A (zh) 观看者重视度自适应比特率传送
CN105191324B (zh) 通信设备、通信数据生成方法、以及通信数据处理方法
JP2015136059A (ja) 通信装置、通信データ生成方法、および通信データ処理方法
KR102137858B1 (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램
JP2005086362A (ja) データ多重化方法、データ送信方法およびデータ受信方法
JP6193569B2 (ja) 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
KR101568317B1 (ko) Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법
US20160014181A1 (en) Content transfer method, content transfer apparatus and content receiving apparatus
JP2020141225A (ja) 送信装置、送信方法、及びプログラム
JP2009044596A (ja) 音声付き動画送信サーバならびにその動作制御方法およびその制御プログラム