WO2017138387A1 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
WO2017138387A1
WO2017138387A1 PCT/JP2017/003177 JP2017003177W WO2017138387A1 WO 2017138387 A1 WO2017138387 A1 WO 2017138387A1 JP 2017003177 W JP2017003177 W JP 2017003177W WO 2017138387 A1 WO2017138387 A1 WO 2017138387A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
content
information processing
processing apparatus
attribute
Prior art date
Application number
PCT/JP2017/003177
Other languages
English (en)
French (fr)
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 ソニー株式会社
Priority to JP2017566584A priority Critical patent/JP6981257B2/ja
Priority to US16/067,468 priority patent/US20190014358A1/en
Priority to EP17750112.9A priority patent/EP3416396B1/en
Priority to RU2018128314A priority patent/RU2728534C2/ru
Priority to BR112018015935-2A priority patent/BR112018015935A2/ja
Priority to CN201780009818.1A priority patent/CN108605160B/zh
Priority to KR1020187021203A priority patent/KR20180109890A/ko
Publication of WO2017138387A1 publication Critical patent/WO2017138387A1/ja

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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements 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

Definitions

  • the present disclosure relates to an information processing apparatus and an information processing method, and in particular, an information processing apparatus and an information processing method capable of efficiently transmitting an initialization file of content having a predetermined attribute among a plurality of attributes. About.
  • the server In dynamic adaptive streaming by MPEG-DASH (Moving Picture Experts Group phase-Dynamic Dynamic Adaptive Streaming over HTTP), the server creates segment files for video content with different attributes for each media type, and segment files for each media type and attribute. Prepare MPD (Media Presentation Description) files to manage.
  • MPEG-DASH Motion Picture Experts Group phase-Dynamic Dynamic Adaptive Streaming over HTTP
  • the media type is the type of video content such as video, subtitles, and audio
  • the attribute type is the encoding bit rate, language, role (purpose), video resolution and frame rate, audio sampling rate, Such as the number of channels.
  • the MPD file includes, for each media type, attribute information indicating each attribute, a URL (Uniform Resource Locator) of a segment file of each attribute, and the like.
  • the client acquires the MPD file from the server, and acquires the segment file by sending the URL of the segment file with a predetermined attribute of each media type to the server based on the MPD file.
  • the communication protocol between the client and server is HTTP (HyperText Transfer Protocol) 1.1. Therefore, basically, the server transmits data as a response to the request from the client.
  • the client sends an HTTP GET request that requests the server to send an MPD file to the server
  • the server sends the MPD file of the URL specified in the HTTP GET request to the client as an HTTP GET response. To do.
  • the client sends an HTTP GET request for requesting transmission of an initialization segment file (Initialization Segment) among the segment files having one or more attributes of each media type to the initialization segment file.
  • an initialization segment file (Initialization Segment) among the segment files having one or more attributes of each media type.
  • the server sequentially transmits the initialization segment file of the URL designated by this HTTP GET request to the client as an HTTP GET response.
  • the client selects one attribute from the attributes corresponding to the initialization segment file for each media type based on the effective network bandwidth and the like. Then, the client sequentially transmits HTTP GET requests for requesting transmission of media segment files among the segment files having the selected attribute to the server in units of media segment files.
  • the server sequentially transmits the media segment file of the URL specified by the HTTP GET request to the client as an HTTP GET response, and the client sequentially stores the received media segment file in the reception buffer.
  • the client measures the reception speed of the media segment file (for example, the ratio of the time required for reception to the playback time of the received data).
  • the measured reception speed is used for selecting the attribute of the encoding bit rate of each media type of the next media segment file.
  • the HTTP GET request is sent and the HTTP GET response is received in the initialization segment file unit (media segment file unit).
  • the overhead is large.
  • HTTP / 2 was published by IETF (Internet Engineering Task Force) in May 2015 as a successor version of HTTP 1.1 (for example, see Non-Patent Document 1).
  • HTTP / 2 enables multiplexed communications, header compression, request and response pipelining, etc., while maintaining full backward compatibility with HTTP 1.1.
  • MPEG is currently under consideration to improve streaming efficiency by adopting full-duplex communication protocol HTTP / 2 or WebSocket protocol as the communication protocol between client and server in MPEG-DASH. Yes.
  • Hypertext Transfer Protocol Version 2 (HTTP / 2), May 2015, Internet ⁇ URL: https: //tools.ietf.org/html/rfc7540> The WebSocket Protocol, December 2011, Internet ⁇ URL: https://tools.ietf.org/html/rfc6455>
  • the present disclosure has been made in view of such a situation, and makes it possible to efficiently transmit an initialization file of content having a predetermined attribute among a plurality of attributes.
  • An information processing apparatus transmits a management file for managing content having a plurality of attributes and an initialization file for content having a predetermined attribute among the plurality of attributes to another information processing apparatus It is an information processing apparatus provided with the transmission part which transmits the management file request information requested
  • the information processing method according to the first aspect of the present disclosure corresponds to the information processing apparatus according to the first aspect of the present disclosure.
  • a request is made to another information processing apparatus to transmit a management file that manages content having a plurality of attributes and an initialization file of content having a predetermined attribute among the plurality of attributes.
  • Management file request information is transmitted.
  • the information processing apparatus includes a management file that manages content having a plurality of attributes, and management file request information that requests transmission of an initialization file of content having a predetermined attribute among the plurality of attributes
  • the information processing apparatus includes the management file and a transmission unit that transmits an initialization file of the content having the predetermined attribute.
  • the information processing method according to the second aspect of the present disclosure corresponds to the information processing apparatus according to the second aspect of the present disclosure.
  • management file that manages content having a plurality of attributes and management file request information that requests transmission of an initialization file of content having a predetermined attribute among the plurality of attributes.
  • the management file and an initialization file of the content having the predetermined attribute are transmitted.
  • the information processing apparatuses according to the first and second aspects of the present disclosure can be realized by causing a computer to execute a program.
  • a program to be executed by a computer is provided by being transmitted via a transmission medium or by being recorded on a recording medium. be able to.
  • the first aspect of the present disclosure it is possible to request data transmission. Also, according to the first aspect of the present disclosure, it is possible to efficiently request transmission of an initialization file of content having a predetermined attribute among a plurality of attributes.
  • data can be received. Further, according to the first aspect of the present disclosure, it is possible to efficiently transmit an initialization file of content having a predetermined attribute among a plurality of attributes.
  • First embodiment Information processing system (FIGS. 1 to 6) 2.
  • Second embodiment Information processing system (FIGS. 7 to 10) 3.
  • Third Embodiment Computer (FIG. 11)
  • FIG. 1 is a diagram for explaining the hierarchical structure of an MPD file in MPEG-DASH.
  • information such as the video content encoding method, encoding bit rate, video resolution, and language is layered and described in XML format.
  • the MPD file includes elements such as a period (Period), an adaptation set (AdaptationSet), a representation (Representation), and segment info (SegmentInfo) in a hierarchical manner. .
  • the video content managed by the user is divided in a predetermined time range (for example, a unit such as a program or CM (Commercial)).
  • the period element is described for each divided moving image content.
  • the period element includes information such as a reproduction start time of a moving image content program (a set of synchronized data such as video data and audio data).
  • the adaptation set element is included in the period element, and the representation elements of the moving image content corresponding to the period element are grouped according to the media type or attribute.
  • the adaptation set element has a media type, an attribute, and the like common to the moving image content corresponding to the representation element included in the group.
  • the representation element is included in the adaptation set element for grouping the representation elements, and is described for each segment file group of the moving image content having the same media type and attribute among the moving image contents corresponding to the upper layer period element.
  • the representation element has attributes, URLs, and the like common to the segment file group corresponding to the representation element.
  • the segment info element is included in the representation element and has information (for example, URL) regarding each segment file of the segment file group corresponding to the representation.
  • FIG. 2 is a block diagram illustrating a configuration example of the first embodiment of the information processing system to which the present disclosure is applied.
  • the information processing system 10 in FIG. 2 is configured by connecting a distribution server 11 and a reproduction client 12 via a network 13.
  • the information processing system 10 performs dynamic adaptive streaming based on MPEG-DASH in accordance with HTTP / 2.
  • the distribution server 11 of the information processing system 10 includes a storage unit 30, an http server 31, an analysis unit 32, a measurement unit 33, a selection unit 34, and a selection unit 35.
  • the storage unit 30 (storage) of the distribution server 11 stores an MPD file that manages a segment file of moving image content of each attribute of a plurality of media types, and the segment file.
  • a segment file consists of a media segment file that stores an encoded stream of video content in units of several seconds to about 10 seconds called a segment, and an initialization segment file that includes parameters used when decoding the encoded stream Composed.
  • the encoded stream stored in the media segment file is an encoded stream in which moving image content is encoded for each media type and attribute.
  • the types of attributes are language, role (purpose), and encoding bit rate. Therefore, for example, encoded streams with different encoding bit rates and encoded streams with different languages are stored in different media segments.
  • the http server 31 communicates with the playback client 12 via the network 13 in compliance with HTTP / 2. Specifically, the http server 31 receives an HTTP GET request (hereinafter referred to as an MPD request) that is transmitted from the playback client 12 and requests the distribution server 11 to transmit an MPD file. The http server 31 reads the MPD file from the storage unit 30 based on the MPD file URL specified by the MPD request (management file request information), and transmits it to the playback client 12. Further, the http server 31 supplies the MPD request header to the analysis unit 32.
  • HTTP GET request hereinafter referred to as an MPD request
  • MPD request HTTP GET request
  • the http server 31 reads the MPD file from the storage unit 30 based on the MPD file URL specified by the MPD request (management file request information), and transmits it to the playback client 12. Further, the http server 31 supplies the MPD request header to the analysis unit 32.
  • the http server 31 also sends an HTTP GET request (hereinafter referred to as a media request) requesting the delivery server 11 to transmit a media segment file transmitted from the playback client 12 at a predetermined playback time with a predetermined attribute of a predetermined media type. Received).
  • the http server 31 reads the media segment file from the storage unit 30 via the selection unit 34 based on the URL specified by the media request (content file request information), and transmits it to the playback client 12. Further, the http server 31 supplies the header of the media request to the analysis unit 32.
  • the http server 31 transmits the initialization segment file supplied from the selection unit 34 and the media segment file supplied from the selection unit 35 to the reproduction client 12.
  • the analysis unit 32 analyzes the header of the MPD request supplied from the http server 31, and extracts the extension header describing the push-init-segment command.
  • the push-init-segment command transmits an initialization segment file of a predetermined attribute of a predetermined media type among the initialization segment files of moving image contents of each attribute of a plurality of media types stored in the storage unit 30. This is a push command requested to the distribution server 11.
  • “Accept-push-policy” is the name of the extension header and indicates that the extension header describes a push command to the distribution server 11.
  • the value of each parameter is specified by connecting the code indicating the parameter and the value of the parameter with equal.
  • the code “type” indicating the type (kind) of the push command as a parameter and the value “push-init-segment” as the parameter are equal. It is tied with. Therefore, the push-init-segment command is specified as the type of push command described in the extension header.
  • the code “media” indicating the media type as a parameter and MIME-type that is a value indicating the media type are connected by equal.
  • the media type of the initialization segment file to be transmitted is specified by the push-init-segment command.
  • the MIME-type indicating the media type includes “video / mp4”, “audio / mp4”, and the like.
  • Video / mp4 indicates a video filed in the MP4 format as the media type
  • “audio / mp4” indicates audio filed in the MP4 format as the media type.
  • PUSH_PARAMS a code “lang” indicating a language as a parameter and a language code based on ISO 639-1 as attribute information indicating a language attribute are connected by equal.
  • the language attribute of the initialization segment file to be transmitted is specified by the push-init-segment command.
  • Japanese is specified as the language attribute
  • the language attribute can be specified only when audio or subtitle is specified as the media type.
  • the code “role” indicating the purpose (role) as a parameter and the value of the role attribute that can be included in the adaptation set element of the MPD file as the attribute information of the purpose (role) are connected by equal.
  • the purpose (role) attribute of the initialization segment file to be transmitted is specified by the push-init-segment command.
  • Role attribute values that an MPD file can have include “main”, “alternate”, “supplementary”, “commentary”, “dub (dubbing)”, “description”, and the like.
  • the code “bitrate” indicating the encoding bit rate as a parameter and the range of the encoding bit rate per second as the attribute information of the encoding bit rate are connected by equal.
  • the range of the attribute of the encoding bit rate of the initialization segment file to be transmitted is specified by the push-init-segment command.
  • the video to be filed in MP4 format is specified as the media type of the initialization segment file that is requested to be transmitted by the push-init-segment command, and "main" is specified as the purpose (role) attribute information Has been. Also, the range from 400 kbps to 8 Mbps is specified as the attribute information range of the encoding bit rate.
  • the analysis unit 32 recognizes the media type and attribute specified by “PUSH_PARAMS” of the extension header describing the push-init-segment command, and supplies the media type and attribute to the selection unit 34.
  • the analysis unit 32 analyzes the header of the media request supplied from the http server 31, and extracts an extension header describing a push-media-adapted command.
  • the push-media-adapted command is a push command that requests the distribution server 11 to transmit the subsequent media segment file (the file of the subsequent content) having the encoding bit rate selected within the allowable range by the transmission source.
  • the subsequent media segment file is a media segment file having the same attribute other than the encoding bit rate at the playback time after the playback time of the media segment file requested to be transmitted in the media request. is there.
  • the description of the extension header describing the push-media-adapted directive is the same as the description of the extension header describing the push-init-segment directive except for the type of the push directive and the parameter in PUSH_PARAMS.
  • “duration” or “number” is a code indicating the period of the subsequent media segment file as a parameter.
  • “PUSH_PARAMS” includes the code “duration” and an integer value indicating the playback time in seconds as information indicating the duration of the subsequent media segment file. Equally tied.
  • the code indicating the period of the subsequent media segment file is “number”
  • the code “duration” and the integer value indicating the number of files as information indicating the period of the subsequent media segment file are equal in “PUSH_PARAMS”. Tied in.
  • the period of the subsequent media segment file for which transmission is requested is specified by the push-media-adapted command.
  • the code “bitrate” indicating the allowable range of the encoding bit rate as a parameter and the range of the encoded bit rate per second as the range information indicating the allowable range of the encoded bit rate are equal. Tied in. Thereby, the range information of the encoding bit rate of the subsequent media segment file for which transmission is requested is specified by the push-media-adapted command.
  • 120 seconds is specified as the playback time of the subsequent media segment file to be transmitted by the push-media-adapted command
  • the range from 400 kbps to 8 Mbps is specified as the allowable range of the encoding bit rate.
  • the analysis unit 32 recognizes the period specified by “PUSH_PARAMS” of the extension header describing the push-media-adapted command and the allowable range of the encoding bit rate, and supplies it to the selection unit 35.
  • the measuring unit 33 measures the effective data transmission rate of the MPD file, the initialization segment file, and the media segment file transmitted from the http server 31. Specifically, in the transmission between the distribution server 11 and the reproduction client 12, when data is received, an ACK signal is transmitted as a data reception notification. Therefore, the measurement unit 33 measures the effective data transmission rate based on the state of the ACK signal from the playback client 12 in the TCP (Transfer Control Protocol) layer, for example. The measurement unit 33 supplies the data transmission rate obtained as a result of the measurement to the selection unit 35 as a measurement bit rate indicating the effective bandwidth of the network 13.
  • TCP Transfer Control Protocol
  • the selection unit 34 Based on the MPD file stored in the storage unit 30, the selection unit 34 generates a transmission list in which the URL of the initialization segment file of the specified media type and attribute supplied from the analysis unit 32 is registered, Hold.
  • the selection unit 34 selects a representation element of an adaptation set element having a designated media type from all the representation elements described in the MPD file. Then, the selection unit 34 selects, from the selected representation element, a representation element in which the representation element or an adaptation set element that groups the representation elements has a specified attribute.
  • the representation element has encoding bit rate attribute information as a bandwidth attribute. Therefore, when the type of the designated attribute is only the encoding bit rate, the selection unit 34 converts the attribute information of the attribute within the range of the attribute of the designated encoding bit rate from the selected representation element to bandwidth. Select the representation element you have as an attribute.
  • representation elements corresponding to all types of attributes are selected. However, when there are no representation elements corresponding to all types of attributes, the selection unit 34 reduces the types of attributes used for selection based on the priority of each type of attribute.
  • the priority of each attribute type is determined in advance, but may be determined based on the order specified by PUSH_PARAMS.
  • the selection unit 34 generates and holds a transmission list in which the URL of the initialization segment file included in the representation element selected as described above is registered as a transmission list of the initialization segment file.
  • the selection unit 34 reads the initialization segment file from the storage unit 30 based on the URL registered in the initialization segment file transmission list, and supplies the initialization segment file to the http server 31.
  • the selection unit 35 calculates the code of the subsequent media segment file from the encoded bit rate within the allowable range. Select the bit rate.
  • the selection unit 35 selects a representation element to which a subsequent media segment file having an encoding bit rate within an allowable range as a bandwidth attribute belongs from the MPD file. Then, the selection unit 35 selects a representation element having a coding bit rate suitable for the measurement bit rate as a bandwidth attribute from the selected representation element.
  • the selection unit 35 generates and holds a transmission list in which URLs of subsequent media segment files belonging to the selected representation element are registered as transmission lists of subsequent media segment files.
  • the selection unit 35 reads the subsequent media segment file from the storage unit 30 based on the URL registered in the subsequent media segment file transmission list, and supplies the subsequent media segment file to the http server 31.
  • the reproduction client 12 includes a request generation unit 50, an http client 51, an MPD parser 52, a selection unit 53, a reception buffer 54, and a reproduction unit 56.
  • the request generation unit 50 of the playback client 12 generates an MPD request including a push-init-segment command in the header. Specifically, since the playback client 12 has not yet acquired the MPD file at the time of generating the MPD request, the attribute and media type of the initialization segment file actually stored in the distribution server 11 are unknown. However, the playback client 12 selects the media type and attribute of the initialization segment file that may be required from the possible values for the media type and attribute of the initialization segment file based on the characteristics of the playback client 12, user preferences, and the like. It is possible to do.
  • the request generation unit 50 generates an extension header describing a push-init-segment command that specifies the media type and attribute of an initialization segment file that may be necessary, and generates an MPD request including the extension header in the header. .
  • the request generation unit 50 supplies the MPD request to the http client 51.
  • the request generation unit 50 generates a media request including a push-media-adapted command in the header based on the URL supplied from the selection unit 53 and the allowable range of the encoding bit rate. Specifically, the request generation unit 50 arranges the URL in the data part (body), and describes an extension header that describes a push-media-adapted command that specifies the allowable period of the subsequent media segment file and the encoding bit rate. Is generated in the header part. The request generation unit 50 supplies the media request to the http client 51.
  • the http client 51 (transmission unit) communicates with the distribution server 11 via the network 13 in conformity with HTTP / 2. Specifically, the http client 51 transmits the MPD request and the media request supplied from the request generation unit 50 to the distribution server 11. The http client 51 receives the MPD file and the initialization segment file transmitted from the distribution server 11 in response to the MPD request.
  • the http client 51 supplies the MPD file to the MPD parser 52 and supplies the initialization segment file to the reception buffer 54. Further, the http client 51 receives the media segment file transmitted from the distribution server 11 in response to the media request, and supplies it to the reception buffer 54.
  • the MPD parser 52 analyzes the MPD file supplied from the http client 51 and supplies representation information including media type, attribute, URL, etc. corresponding to each representation element to the selection unit 53.
  • the selection unit 53 determines the media type and attribute of the media segment file that specifies the URL in the media request based on the measurement bit rate supplied from the bandwidth estimation unit 57, the characteristics of the playback client 12, the user's preference, and the like.
  • the selection unit 53 selects the representation information of the media segment file that specifies the URL in the media request from the representation information supplied from the MPD parser 52 based on the determined media type and attribute. Further, the selection unit 53 determines the URL of the media segment file specified by the media request based on the playback time of the media segment file that specifies the URL by the media request and the selected representation information, and the request generation unit 50.
  • the selection unit 53 determines the allowable range of the encoding bit rate of the subsequent media segment file based on the measurement bit rate, the characteristics of the playback client 12, the user's preference, and the like, and supplies it to the request generation unit 50.
  • the reception buffer 54 holds an initialization segment file and a media segment file supplied from the http client 51.
  • the reproduction unit 56 reads the initialization segment file to be reproduced from the reception buffer 54, and sets parameters included in the initialization segment file.
  • the playback unit 56 reads the media segment file to be played back from the reception buffer 54.
  • the playback unit 56 uses the set parameters to decode and play back the encoded stream stored in the read media segment file.
  • the band estimation unit 57 measures an effective data reception rate based on the data amount of the initialization segment file and the media segment file held in the reception buffer 54.
  • the band estimation unit 57 supplies the data reception rate obtained as a result of measurement to the selection unit 53 as a measurement bit rate.
  • FIG. 3 is a diagram showing an example of the software hierarchical structure of the playback client 12 of FIG.
  • the lowest layer of the software of the playback client 12 is a hardware layer composed of a reception buffer 54 and a playback unit 70.
  • the intermediate layer is configured by a DASH client unit 71, a band estimation unit 72, and a playback control unit 73, and the uppermost layer is configured by an application unit 74.
  • the DASH client unit 71 is software that implements the http client 51 and the MPD parser 52
  • the bandwidth estimation unit 72 is software that implements the bandwidth estimation unit 57.
  • the playback control unit 73 is software for controlling the playback unit 70, and the playback unit 56 is realized by the playback unit 70 and the playback control unit 73.
  • the application unit 74 is software that implements the request generation unit 50, the selection unit 53, and the like.
  • FIG. 4 is a flowchart for explaining processing of the information processing system 10 of FIG.
  • the request generation unit 50 of the playback client 12 selects a media type and attribute of the initialization segment file that may be necessary from possible values for the media type and attribute of the initialization segment file.
  • step S12 the request generation unit 50 generates an MPD request including an extension header describing a push-init-segment command specifying the selected media type and attribute, and transmits the MPD request to the distribution server 11.
  • step S41 the http server 31 of the distribution server 11 receives the MPD request transmitted from the reproduction client 12. Then, the http server 31 reads the MPD file from the storage unit 30 based on the URL of the MPD file specified by the MPD request. In step S42, the http server 31 transmits the read MPD file to the playback client 12 as a response to the MPD request. Further, the http server 31 supplies the MPD request header to the analysis unit 32.
  • step S 13 the http client 51 receives the MPD file transmitted from the distribution server 11 and supplies it to the MPD parser 52.
  • the MPD parser 52 analyzes the MPD file supplied from the http client 51 and supplies the representation information of each representation element to the selection unit 53.
  • step S43 the distribution server 11 performs an initialization segment transmission list generation process for generating an initialization segment file transmission list based on the push-init-segment command and the MPD file included in the MPD request header. Details of the initialization segment transmission list generation processing will be described with reference to FIG.
  • step S44 the selection unit 35 reads the initialization segment file from the storage unit 30 based on the first URL registered in the initialization segment file transmission list, and plays back the playback client via the http server 31. 12 to send.
  • initialization segment file #i the initialization segment file corresponding to the i-th URL registered in the initialization segment file transmission list.
  • step S14 the http client 51 receives the initialization segment file #i transmitted from the distribution server 11, supplies it to the reception buffer 54, and holds it.
  • n is the number of URLs registered in the initialization segment file transmission list, and is an integer of 1 or more.
  • step S45 the selection unit 35 transmits the initialization segment file #n to the playback client 12 in the same manner as the processing in step S44.
  • the http client 51 receives the initialization segment file #n from the distribution server 11 and supplies it to the reception buffer 54 in the same manner as the processing in step S14. And hold it.
  • step S16 the selection unit 53 determines the URL of the media segment file specified by the media request based on the measured bit rate supplied from the bandwidth estimation unit 57, the characteristics of the playback client 12, the user's preference, and the like. Further, the selection unit 53 determines the allowable range of the attribute of the encoding bit rate of the subsequent media segment file based on the measured bit rate, the characteristics of the playback client 12, the user's preference, and the like. Then, the selection unit 53 supplies the determined URL and the allowable range to the request generation unit 50.
  • step S17 a media request including a push-media-adapted command in the header is generated based on the URL supplied from the selection unit 53 and the allowable range of the encoding bit rate, and the distribution server is connected via the http client 51. 11 to send.
  • step S46 the http server 31 receives the media request transmitted from the distribution server 11.
  • step S ⁇ b> 47 the http server 31 reads the media segment file from the storage unit 30 via the selection unit 34 based on the URL specified in the media request, and transmits it to the playback client 12. Further, the http server 31 supplies the header of the media request to the analysis unit 32.
  • step S18 the http client 51 receives the media segment file transmitted from the distribution server 11, supplies it to the reception buffer 54, and holds it.
  • step S48 the distribution server 11 performs subsequent media segment file transmission list generation processing for generating a subsequent media segment file transmission list based on the push-media-adapted command and the MPD file included in the header of the media request. . Details of the subsequent media segment transmission list generation processing will be described with reference to FIG.
  • step S49 the selection unit 35 reads the subsequent media segment file from the storage unit 30 on the basis of the first URL registered in the transmission list of the subsequent media segment file, and plays the playback client via the http server 31. 12 to send.
  • the subsequent media segment file corresponding to the i-th URL registered in the subsequent media segment file transmission list is referred to as subsequent media segment file #i.
  • step S19 the http client 51 receives the subsequent media segment file #i transmitted from the distribution server 11, supplies it to the reception buffer 54, and holds it.
  • step S49 the subsequent media segment files # i + 1 to # m ⁇ 1 are sequentially transmitted to the playback client 12 as in the processing in step S49.
  • step S19 subsequent media segment files # i + 1 to # m ⁇ 1 are sequentially received from the distribution server 11 in the same manner as the process of step S19.
  • m is the number of URLs registered in the subsequent media segment file transmission list, and is an integer of 1 or more.
  • step S50 the selection unit 35 transmits the subsequent media segment file #m to the playback client 12 via the http server 31 in the same manner as the processing of step S49.
  • the http client 51 receives the subsequent media segment file #m from the distribution server 11 and supplies it to the reception buffer 54 in the same manner as in step S19. And hold it.
  • the playback segment 56 reads the initialization segment file and the subsequent media segment file to be reproduced. As a result, the subsequent media segment file is reproduced.
  • FIG. 5 is a flowchart for explaining details of the initialization segment transmission list generation processing in step S43 of FIG.
  • the priority of each attribute increases in the order of language, role, and encoding bit rate.
  • step S71 If it is determined in step S71 that the push-init-segment command is included, the process proceeds to step S72.
  • step S72 the selection unit 34 sets initialization segment files corresponding to all representation elements described in the MPD file as push targets (transmission targets), and transmits the URL of the initialization segment file included in the representation elements. Register to the list.
  • step S73 the analysis unit 32 determines whether the media type is specified by the push-init-segment command, that is, whether the code “media-type” is included in the extension header.
  • the analysis unit 32 specifies the media type indicated by the MIME-type that is connected to the code “media-type” by equal. The media type is recognized and supplied to the selection unit 34.
  • step S74 the selection unit 34 deletes the URL supplied from the analysis unit 32 and corresponding to a media type other than the designated media type from the transmission list. Specifically, the selection unit 34 deletes the URL of the initialization segment file included in the representation element grouped by the adaptation set element having a media type other than the designated media type from the transmission list. Then, the process proceeds to step S75.
  • step S73 determines whether the media type is specified in push-init-segment. If it is determined in step S73 that the media type is not specified in push-init-segment, the process skips step S74 and proceeds to step S75.
  • step S75 the selection unit 34 determines whether a language attribute is specified by the push-init-segment command and a URL corresponding to the language attribute exists in the transmission list. That is, when the code “lang” is included in the extension header and the attribute indicated by the language code connected to the code “lang” by equality is supplied from the analysis unit 32 as the attribute of the designated language, the selection unit 34 determines whether the URL of the initialization segment file included in the representation element of the attribute exists in the transmission list.
  • step S75 If it is determined in step S75 that a language attribute is specified by the push-init-segment command and a URL corresponding to the language attribute exists in the transmission list, the process proceeds to step S76.
  • step S76 the selection unit 34 deletes the URL corresponding to the attribute of the language other than the attribute of the designated language supplied from the analysis unit 32 from the transmission list. Then, the process proceeds to step S77.
  • step S75 it is determined that the language attribute is not specified in the push-init-segment directive, or that the URL corresponding to the language attribute specified in the push-init-segment directive does not exist in the transmission list. If YES, the process skips step S76 and proceeds to step S77.
  • step S77 the selection unit 34 determines whether a role attribute is specified by the push-init-segment command and a URL corresponding to the role attribute exists in the transmission list. That is, when the extension header includes the code “role” and the attribute indicated by the value of the role attribute connected to the code “role” by the analysis unit 32 is supplied as the attribute of the designated role, The selection unit 34 determines whether the URL of the initialization segment file included in the representation element having the attribute exists in the transmission list.
  • step S77 If it is determined in step S77 that the role attribute is specified by the push-init-segment command and the URL corresponding to the role attribute exists in the transmission list, the process proceeds to step S78.
  • step S78 the selection unit 34 deletes the URL supplied from the analysis unit 32 and corresponding to the role attribute other than the specified role attribute from the transmission list. Then, the process proceeds to step S79.
  • step S77 it is determined in step S77 that the role attribute is not specified in the push-init-segment command, or that the URL corresponding to the role attribute specified in the push-init-segment command does not exist in the transmission list. If YES, the process skips step S78 and proceeds to step S79.
  • step S79 the selection unit 34 specifies whether the encoding bit rate attribute range is specified by the push-init-segment command, and whether the URL corresponding to the encoding bit rate within the range exists in the transmission list. Determine.
  • the code “bitrate” is included in the extension header, and the attribute range indicated by the attribute information connected with the code “bitrate” by the analysis unit 32 is the attribute range of the specified encoded bit rate.
  • the selection unit 34 determines whether or not the URL of the initialization segment file included in the representation element having the encoding bit rate within the range of the attribute exists in the transmission list.
  • step S79 If the encoding bit rate attribute range is specified in the push-init-segment command in step S79 and it is determined that the URL corresponding to the encoding bit rate within the range exists in the transmission list, the process Proceed to S80.
  • step S80 the selection unit 34 deletes the URL corresponding to the coding bit rate supplied from the analysis unit 32 and outside the specified coding bit rate attribute from the transmission list. Then, the process ends.
  • step S79 the encoding bit rate attribute range is not specified by the push-init-segment command, or the code within the encoding bit rate attribute range specified by the push-init-segment command is specified. If it is determined that the URL corresponding to the conversion bit rate does not exist in the transmission list, the process skips step S80 and ends.
  • step S71 If it is determined in step S71 that the push-init-segment command is not included, the process ends.
  • step S74 when all URLs registered in the transmission list are to be deleted, the selection unit 34 does not delete the URL.
  • step S80 when all the URLs registered in the transmission list are to be deleted, the selection unit 34 is set to the lower limit value or upper limit value of the specified encoding bit rate attribute range. The URL corresponding to the near encoding bit rate is not deleted from the transmission list.
  • the selection unit 34 corresponds to the encoding bit rate closest to the lower limit value of the specified range. Leave a URL to do.
  • the selection unit 34 corresponds to the encoding bit rate closest to the upper limit value of the specified range. Leave a URL to do.
  • FIG. 6 is a flowchart for explaining the details of the subsequent media segment transmission list generation process start in step S48 of FIG.
  • step S102 the analysis unit 32 determines the period and encoding bit rate of the subsequent media segment file specified by the push-media-adapted command. Recognize and maintain the acceptable range.
  • step S103 the selection unit 35 determines whether or not the transmission bit rate of the current media segment file to be transmitted is higher than the measurement bit rate supplied from the measurement unit 33. If it is determined in step S103 that the transmission bit rate is higher than the measurement bit rate, the process proceeds to step S104.
  • step S104 the selection unit 35 reads the allowable range from the analysis unit 32, and determines whether or not the transmission bit rate is higher than the lower limit value of the allowable range. If it is determined in step S104 that the transmission bit rate is higher than the lower limit value of the allowable range, the process proceeds to step S105.
  • step S105 the selection unit 35 has a representation element to which the subsequent media segment file described in the MPD file belongs as Bandwidth, and the next lowest encoded bit rate after the transmission bit rate is greater than or equal to the lower limit value of the allowable range. Determine if it exists.
  • step S106 the selection unit 35 selects the URL of the subsequent media segment file belonging to the representation element having the next lowest encoded bit rate after the transmission bit rate. Register to the sending list. Then, the process proceeds to step S112.
  • step S107 the selection unit 35 determines whether or not the transmission bit rate is lower than the measurement bit rate. If it is determined in step S107 that the transmission bit rate is lower than the measurement bit rate, the process proceeds to step S108.
  • step S108 the selection unit 35 reads the allowable range from the analysis unit 32, and determines whether the transmission bit rate is lower than the upper limit value of the allowable range. If it is determined in step S108 that the transmission bit rate is lower than the upper limit value of the allowable range, the process proceeds to step S109.
  • step S109 the selection unit 35 determines whether the next highest bit rate after the transmission bit rate included in the representation element to which the subsequent media segment file described in the MPD file belongs is equal to or lower than the upper limit value of the allowable range. Determine if.
  • step S110 the selection unit 35 selects the URL of the subsequent media segment file belonging to the representation element having the next higher encoding bit rate than the transmission bit rate. Register to the sending list. Then, the process proceeds to step S112.
  • step S104 when it is determined in step S104 that the transmission bit rate is not higher than the lower limit value of the allowable range, or in step S105, it is determined that the next lowest encoded bit rate is lower than the lower limit value of the allowable range. If so, the process proceeds to step S111.
  • step S107 if it is determined in step S107 that the transmission bit rate is not lower than the measurement bit rate, that is, if the transmission bit rate and the measurement bit rate are the same, the process proceeds to step S111.
  • step S108 when it is determined in step S108 that the transmission bit rate is not lower than the upper limit value of the allowable range, or in step S109, it is determined that the next highest encoded bit rate is higher than the upper limit value of the allowable range. If so, the process proceeds to step S111.
  • step S111 the selection unit 35 registers the URL of the subsequent media segment file belonging to the representation element of the transmission bit rate in the transmission list. Then, the process proceeds to step S112.
  • step S112 the selection unit 35 reads the period of the subsequent media segment file from the analysis unit 32, and determines whether the URL of the subsequent media segment file for the period is registered in the transmission list.
  • step S112 If it is determined in step S112 that the URLs of subsequent media segment files for the read period have not yet been registered in the transmission list, the process returns to step S103, and the processes of steps S103 to S112 are repeated.
  • step S112 if it is determined in step S112 that the URLs of subsequent media segment files for the read period have already been registered in the transmission list, the process ends.
  • step S101 If it is determined in step S101 that the push-media-adapted command is not included, the process ends.
  • the playback client 12 transmits an MPD request including a push-init-segment command. Therefore, the playback client 12 can receive both the MPD file and the initialization segment file only by transmitting the MPD request. That is, the playback client 12 does not need to send an HTTP GET request for requesting transmission of the initialization segment file. Therefore, the playback client 12 can efficiently request transmission of the initialization segment file. Further, since the distribution server 11 does not need to wait for the reception of HTTP GET requesting the transmission of the initialization segment file, the distribution server 11 can efficiently transmit the initialization segment file.
  • the push-init-segment command can specify the media type and attributes of the initialization segment file that requires transmission. Therefore, unnecessary initialization segment files need not be received wastefully, and further efficiency in receiving initialization segment files can be realized. As a result, startup can be speeded up.
  • the push command included in the MPD request if the media type or attribute of the initialization segment file that requires transmission cannot be specified, all media types and attributes are initialized according to the MPD request.
  • a segment file is sent.
  • the playback client 12 when only the URL of the initialization segment file can be specified, the playback client 12 does not acquire the MPD file at the time of the MPD request and cannot specify the URL. . Accordingly, initialization segment files of all media types and attributes are transmitted.
  • the reception buffer 54 needs a large capacity to hold the received initialization segment file. For example, when there are a large number of media types and attributes, the reception buffer 54 needs to hold an initialization segment file whose data amount is many times the data amount of the initialization segment file necessary for reproduction.
  • the playback client 12 cannot include the push command in the MPD request.
  • the playback client 12 needs to send an HTTP GET request for requesting transmission of the initialization segment file necessary for playback for each initialization segment file.
  • the playback client 12 sends a media request including a push-media-adapted command. Therefore, the playback client 12 can receive not only the media segment file whose URL is specified in the media request but also the subsequent media segment file simply by transmitting the media request. That is, the playback client 12 does not need to send a media request for each subsequent media segment file. Therefore, the playback client 12 can efficiently request transmission of the subsequent media segment file. Further, since the distribution server 11 does not have to wait for reception of a media request for requesting transmission of the subsequent media segment file, the distribution server 11 can efficiently transmit the subsequent media segment file.
  • the push-media-adapted command can specify the allowable range of the encoding bit rate of the subsequent media segment file. Therefore, the distribution server 11 can change the encoding bit rate of the subsequent media segment file to be transmitted within an allowable range according to the effective bandwidth of the network 13. As a result, the reproduction quality is improved.
  • the bandwidth estimation unit 57 cannot estimate the effective bandwidth of the network 13 yet. Therefore, in this case, the selection unit 53 sets a relatively low encoding bit rate as the encoding bit rate of the media segment file whose URL is specified by the media request. Therefore, when this encoding bit rate is applied to the encoding bit rate of the subsequent media segment file, the encoding bit rate of the subsequent media segment file is not an encoding bit rate suitable for the effective band of the network 13.
  • the playback client 12 specifies the allowable range of the encoding bit rate of the subsequent media segment file in the push-media-adapted command. Thereby, the playback client 12 can change the encoding bit rate of the subsequent media segment file to be received to an encoding bit rate suitable for the effective band of the network 13 within an allowable range. As a result, the reproduction quality is improved.
  • the playback client 12 does not need to send a command according to the effective bandwidth of the network 13 to the distribution server 11 in order to receive the subsequent media segment file having an encoding bit rate suitable for the effective bandwidth of the network 13. Therefore, subsequent media segments having an encoding bit rate suitable for the effective bandwidth of the network 13 can be efficiently received.
  • the playback client 12 needs to cancel the push command. Then, the playback client 12 needs to newly transmit a media request including a push command that specifies an encoding bit rate suitable for the execution band. Therefore, even if a long period is specified as the period of the subsequent media segment file, the probability of canceling the push command and transmitting the media request increases, and therefore the time required for transmitting the media segment file may not be suppressed.
  • the period of the subsequent media segment file can be specified together with the allowable range of the encoding bit rate. Therefore, the reproduction client 12 can change the allowable range of the encoding bit rate step by step.
  • the playback client 12 can gradually change the playback quality by gradually expanding the allowable range of the encoding bit rate.
  • multiple media types may be specified by “PUSH_PARAMS”.
  • the code “media” and the description in which MIME-types of a plurality of media types are separated by commas are connected by equal.
  • a plurality of pieces of attribute information of a certain type of attribute may be designated by “PUSH_PARAMS”.
  • the lower limit value or upper limit value of the range may be specified as the parameter value range.
  • a lower limit value or an upper limit value that is not specified is set to 0 indicating that it is not specified.
  • bitrate ” “ 400000-0 ”
  • the lower limit value is not specified
  • the playback client 12 may send an HTTP GET request for requesting sending of an initialization segment file other than the initialization segment file sent by the push-init-segment command. Even in this case, it is possible to reduce the number of HTTP GET requests compared to the case where all initialization segment files are requested to be transmitted by HTTP GET requests.
  • the playback client 12 always includes the push-media-adapted command in the media request, but may include a push command other than the push-media-adapted command.
  • the playback client 12 may include a push command that specifies only the period of the subsequent media segment file in the media request.
  • the information indicating the period of the subsequent media segment file included in the push command is, for example, the number of subsequent media segment files (Push-next), the playback time (Push-time), or a URL list or URL template And a parameter (Push-template) that specifies the range ($ number $) to which the template is applied.
  • a subsequent media segment file having the same encoding bit rate as the media segment file whose URL is specified in the media request is transmitted to the playback client 12.
  • the adaptation set element has media type, language, and role attributes
  • the representation element has an encoding bit rate attribute.
  • the media type and attribute may be included in either the adaptation set element or the representation element.
  • the attribute type is the video content encoding bit rate, language, and role (purpose), but the video resolution, frame rate, audio sampling rate, number of channels, etc. May be.
  • the code "resolution” indicating the video resolution as a parameter and the range of the number of pixels in the vertical direction as the video resolution attribute information are connected by equals. It is.
  • the resolution information of the video resolution is 2160 when the attribute is 4k resolution, 1080 when the attribute is full HD resolution, and 480 when the attribute is SD resolution.
  • the video representation element has video resolution attribute information as a height attribute.
  • the code "audioSamplingRate" that indicates the audio sampling rate as a parameter and the sampling rate range as attribute information of the audio sampling rate are connected by equals. It is. For example, when the audio sampling rate attribute is 48 kHz, the attribute information is 48000.
  • an audio representation element has audio sampling rate attribute information as an audioSamplingRate attribute.
  • the range information includes information (for example, Representation id) that identifies a subsequent media segment file to which a subsequent media segment file having an encoding bit rate within an allowable range as Bandwidth belongs, and a subsequent media segment file that belongs to the representation element. It may be the range of URL.
  • FIG. 7 is a diagram showing a configuration example of a frame in the WebSocket protocol.
  • a frame in the WebSocket protocol is composed of a payload data (Payload Data) part and a header part before that.
  • the header part is for realizing the basic function of the WebSocket protocol.
  • the special purpose function is realized by using the payload portion. Details of frames in the WebSocket protocol are described in Non-Patent Document 2 and the like.
  • the payload part When a specific purpose function is realized by the payload part, it is necessary to define a sub-protocol as the payload part protocol and to define the data structure of the payload part as a sub-frame.
  • communication between the distribution server 11 and the playback client 12 is performed in accordance with the WebSocket protocol. Therefore, it is necessary to realize MPEG-DASH streaming as a special purpose function in a frame in the WebSocket protocol. Therefore, the DASH subprotocol and subframe, which are subprotocols for realizing MPEG-DASH streaming, are defined.
  • FIG. 8 is a diagram illustrating a structure example of a subframe in the second embodiment.
  • STREAM_ID is an 8-bit value indicating the ID of a stream exchanged using the WebSocket protocol.
  • WebSocket protocol a plurality of streams can be transmitted / received with one connection.
  • CMD_CODE is an 8-bit value indicating the type of command defined by the DASH subprotocol. For example, CMD_CODE is 1 when this subframe is a subframe used when transmitting an MPD request, and CMD_CODE is 2 when it is a subframe used when transmitting a media request.
  • CMD_CODE is 3 when this subframe is a subframe used when an MPD file is transmitted as a response to an MPD request.
  • CMD_CODE is 4.
  • CMD_CODE is 255.
  • EXT_LENGTH is a 13-bit value indicating the size of EXTENSION.
  • EXTENSION stores a value obtained by encoding JSON (JavaScript (registered trademark) Object Notation) parameters described in the header of the MPD request or the media request in the first embodiment. Details of JSON encoding are described in https://tools.ietf.org/html/rfc4627.
  • FIG. 9 is a diagram illustrating an example of EXTENSION of a subframe used when transmitting an MPD request
  • FIG. 10 is a diagram illustrating an example of EXTENSION of a subframe used when transmitting a media request.
  • each parameter is specified by connecting the code indicating the parameter and the value of the parameter with a colon.
  • the codes “push-type” and “init-segment” are connected by a colon. Therefore, the push-init-segment command is specified as the type of push command described in EXTENSION.
  • the codes “push-type” and “segment-adapted” are connected by a colon. Therefore, the push-segment-adapted command is specified as the type of push command described in EXTENSION.
  • the code “number” may be described instead of the code “duration”.
  • the code “number” and an integer value indicating the number of subsequent media segment files are connected by a colon.
  • ⁇ Third Embodiment> (Description of computer to which the present disclosure is applied)
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer capable of executing various functions by installing various programs by installing a computer incorporated in dedicated hardware.
  • FIG. 11 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 205 is further connected to the bus 204.
  • An input unit 206, an output unit 207, a storage unit 208, a communication unit 209, and a drive 210 are connected to the input / output interface 205.
  • the input unit 206 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 207 includes a display, a speaker, and the like.
  • the storage unit 208 includes a hard disk, a nonvolatile memory, and the like.
  • the communication unit 209 includes a network interface and the like.
  • the drive 210 drives a removable medium 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 201 loads the program stored in the storage unit 208 to the RAM 203 via the input / output interface 205 and the bus 204 and executes the program. A series of processing is performed.
  • the program executed by the computer 200 can be provided by being recorded in, for example, a removable medium 211 such as a package medium.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the storage unit 208 via the input / output interface 205 by attaching the removable medium 211 to the drive 210.
  • the program can be received by the communication unit 209 via a wired or wireless transmission medium and installed in the storage unit 208.
  • the program can be installed in the ROM 202 or the storage unit 208 in advance.
  • the program executed by the computer 200 may be a program that is processed in time series in the order described in this specification, or a necessary timing such as in parallel or when a call is made. It may be a program in which processing is performed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • an attribute range other than the encoding bit rate may be specified.
  • this indication can also take the following structures.
  • the management file is an MPD (Media Presentation Description) file,
  • the initialization file is an initialization segment file;
  • the information processing apparatus according to (1), wherein the management file request information is configured to include attribute information indicating the predetermined attribute.
  • the MPD file manages a plurality of types of content, The information processing apparatus according to (2), wherein the management file request information includes information indicating a type of the content corresponding to the initialization segment file.
  • the transmission unit includes a content file at a predetermined reproduction time at a predetermined encoding bit rate, and reproduction after the predetermined reproduction time at an encoding bit rate selected within an allowable range by the other information processing apparatus.
  • the information processing apparatus configured to transmit content file request information requesting the other information processing apparatus to transmit a file of subsequent content that is the content at the time.
  • the management file is an MPD (Media Presentation Description) file, The file is a media segment file;
  • the type of the attribute is configured to be at least one of an encoding bit rate, a language, a role, a resolution, a sampling rate, a frame rate, and the number of channels of the content.
  • Any one of (1) to (6) An information processing apparatus according to claim 1.
  • Information processing device A transmission step of transmitting management file request information for requesting another information processing apparatus to transmit a management file for managing content with a plurality of attributes and an initialization file for content with a predetermined attribute among the plurality of attributes; Information processing method including.
  • the management file is an MPD (Media Presentation Description) file
  • the initialization file is an initialization segment file
  • the information processing apparatus according to (10) wherein the management file request information includes attribute information indicating the predetermined attribute.
  • the MPD file manages a plurality of types of content, The information processing apparatus according to (11), wherein the management file request information includes information indicating a type of the content corresponding to the initialization segment file.
  • a file of content at a predetermined playback time at a predetermined encoding bit rate and a subsequent content that is at the playback time after the predetermined playback time of the encoding bit rate selected within the allowable range by the information processing apparatus A selection unit that selects an encoding bit rate of the subsequent content from an encoding bit rate within the allowable range based on content file request information requesting transmission of the content file and a network bandwidth; The transmission unit is configured to transmit the content file at the predetermined playback time at the predetermined encoding bit rate and the subsequent content file at the encoding bit rate selected by the selection unit.
  • the information processing apparatus according to (10).
  • the management file is an MPD (Media Presentation Description) file, The file is a media segment file;
  • the type of the attribute is configured to be at least one of an encoding bit rate, a language, a role, a resolution, a sampling rate, a frame rate, and the number of channels of the content. Any one of (10) to (15) An information processing apparatus according to claim 1.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computer And Data Communications (AREA)

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レスポンスとしてクライアントに順次送信する。
 また、クライアントは、実効ネットワーク帯域などに基づいて、メディア種別ごとに初期化セグメントファイルに対応する属性から1つの属性を選択する。そして、クライアントは、選択された属性のセグメントファイルのうちのメディアセグメントファイルの送信を要求する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の側面によれば、複数の属性のうちの所定の属性のコンテンツの初期化ファイルの送信を効率的に行うことができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
MPEG-DASHにおけるMPDファイルの階層構造を説明する図である。 本開示を適用した情報処理システムの第1実施の形態の構成例を示すブロック図である。 図2の再生クライアントのソフトウエアの階層構造の例を示す図である。 図2の情報処理システムの処理を説明するフローチャートである。 初期化セグメント送信リスト生成処理の詳細を説明するフローチャートである。 後続メディアセグメント送信リスト生成処理スタートの詳細を説明するフローチャートである。 WebSocketプロトコルにおけるフレームの構成例を示す図である。 第2実施の形態におけるサブフレームの構造例を示す図である。 サブフレームのEXTENSIONの例を示す図である。 サブフレームのEXTENSIONの他の例を示す図である。 コンピュータのハードウエアの構成例を示すブロック図である。
 以下、本開示を実施するための形態(以下、実施の形態という)について説明する。なお、説明は以下の順序で行う。
 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」と、音声のサンプリングレートの属性情報としてのサンプリングレートの範囲とがイコールで結ばれる。例えば、音声のサンプリングレートの属性が48kHzである場合、属性情報は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では、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ200(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータ200では、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
 なお、コンピュータ200が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、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つである
 ように構成された
 前記(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)
 前記属性の種類は、前記コンテンツの符号化ビットレート、言語、役割、解像度、サンプリングレート、フレームレート、およびチャンネル数の少なくとも1つである
 ように構成された
 前記(10)乃至(15)のいずれかに記載の情報処理装置。
 (17)
 前記送信部は、HTTP(HyperText Transfer Protocol)/2またはWebSocketプロトコルに準拠した送信を行う
 ように構成された
 前記(10)乃至(16)のいずれかに記載の情報処理装置。
 (18)
 情報処理装置が、
 複数の属性のコンテンツを管理する管理ファイルと、前記複数の属性のうちの所定の属性のコンテンツの初期化ファイルの送信を要求する管理ファイル要求情報に基づいて、前記管理ファイルと前記所定の属性のコンテンツの初期化ファイルを送信する送信ステップと
 を含む情報処理方法。
 11 配信サーバ, 12 再生クライアント, 31 httpサーバ, 35 選択部, 51 httpクライアント

Claims (18)

  1.  複数の属性のコンテンツを管理する管理ファイルと、前記複数の属性のうちの所定の属性のコンテンツの初期化ファイルの送信を、他の情報処理装置に要求する管理ファイル要求情報を送信する送信部
     を備える情報処理装置。
  2.  前記管理ファイルは、MPD(Media Presentation Description)ファイルであり、
     前記初期化ファイルは、初期化セグメントファイルであり、
     前記管理ファイル要求情報は、前記所定の属性を示す属性情報を含む
     ように構成された
     請求項1に記載の情報処理装置。
  3.  前記MPDファイルは、複数の種類の前記コンテンツを管理し、
     前記管理ファイル要求情報は、前記初期化セグメントファイルに対応する前記コンテンツの種類を示す情報を含む
     ように構成された
     請求項2に記載の情報処理装置。
  4.  前記送信部は、所定の符号化ビットレートの所定の再生時刻のコンテンツのファイルと、前記他の情報処理装置により許容範囲内で選択された符号化ビットレートの前記所定の再生時刻より後の再生時刻の前記コンテンツである後続コンテンツのファイルの送信を、前記他の情報処理装置に要求するコンテンツファイル要求情報を送信する
     ように構成された
     請求項1に記載の情報処理装置。
  5.  前記管理ファイルは、MPD(Media Presentation Description)ファイルであり、
     前記ファイルは、メディアセグメントファイルであり、
     前記コンテンツファイル要求情報は、前記許容範囲を示す範囲情報を含む
     ように構成された
     請求項4に記載の情報処理装置。
  6.  前記コンテンツファイル要求情報は、前記後続コンテンツの期間を示す情報を含む
     ように構成された
     請求項5に記載の情報処理装置。
  7.  前記属性の種類は、前記コンテンツの符号化ビットレート、言語、役割、解像度、サンプリングレート、フレームレート、およびチャンネル数の少なくとも1つである
     ように構成された
     請求項1に記載の情報処理装置。
  8.  前記送信部は、HTTP(HyperText Transfer Protocol)/2またはWebSocketプロトコルに準拠した送信を行う
     ように構成された
     請求項1に記載の情報処理装置。
  9.  情報処理装置が、
     複数の属性のコンテンツを管理する管理ファイルと、前記複数の属性のうちの所定の属性のコンテンツの初期化ファイルの送信を、他の情報処理装置に要求する管理ファイル要求情報を送信する送信ステップ
     を含む情報処理方法。
  10.  複数の属性のコンテンツを管理する管理ファイルと、前記複数の属性のうちの所定の属性のコンテンツの初期化ファイルの送信を要求する管理ファイル要求情報に基づいて、前記管理ファイルと前記所定の属性のコンテンツの初期化ファイルを送信する送信部と
     を備える情報処理装置。
  11.  前記管理ファイルは、MPD(Media Presentation Description)ファイルであり、
     前記初期化ファイルは、初期化セグメントファイルであり、
     前記管理ファイル要求情報は、前記所定の属性を示す属性情報を含む
     ように構成された
     請求項10に記載の情報処理装置。
  12.  前記MPDファイルは、複数の種類の前記コンテンツを管理し、
     前記管理ファイル要求情報は、前記初期化セグメントファイルに対応する前記コンテンツの種類を示す情報を含む
     ように構成された
     請求項11に記載の情報処理装置。
  13.  所定の符号化ビットレートの所定の再生時刻のコンテンツのファイルと、前記情報処理装置により許容範囲内で選択された符号化ビットレートの前記所定の再生時刻より後の再生時刻の前記コンテンツである後続コンテンツのファイルの送信を要求するコンテンツファイル要求情報と、ネットワークの帯域とに基づいて、前記許容範囲内の符号化ビットレートから、前記後続コンテンツの符号化ビットレートを選択する選択部
     をさらに備え、
     前記送信部は、前記所定の符号化ビットレートの前記所定の再生時刻のコンテンツのファイルと、前記選択部により選択された前記符号化ビットレートの前記後続コンテンツのファイルを送信する
     ように構成された
     請求項10に記載の情報処理装置。
  14.  前記管理ファイルは、MPD(Media Presentation Description)ファイルであり、
     前記ファイルは、メディアセグメントファイルであり、
     前記コンテンツファイル要求情報は、前記許容範囲を示す範囲情報を含む
     ように構成された
     請求項13に記載の情報処理装置。
  15.  前記コンテンツファイル要求情報は、前記後続コンテンツの期間を示す情報を含む
     ように構成された
     請求項14に記載の情報処理装置。
  16.  前記属性の種類は、前記コンテンツの符号化ビットレート、言語、役割、解像度、サンプリングレート、フレームレート、およびチャンネル数の少なくとも1つである
     ように構成された
     請求項10に記載の情報処理装置。
  17.  前記送信部は、HTTP(HyperText Transfer Protocol)/2またはWebSocketプロトコルに準拠した送信を行う
     ように構成された
     請求項10に記載の情報処理装置。
  18.  情報処理装置が、
     複数の属性のコンテンツを管理する管理ファイルと、前記複数の属性のうちの所定の属性のコンテンツの初期化ファイルの送信を要求する管理ファイル要求情報に基づいて、前記管理ファイルと前記所定の属性のコンテンツの初期化ファイルを送信する送信ステップと
     を含む情報処理方法。
PCT/JP2017/003177 2016-02-12 2017-01-30 情報処理装置および情報処理方法 WO2017138387A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2017566584A JP6981257B2 (ja) 2016-02-12 2017-01-30 情報処理装置および情報処理方法
US16/067,468 US20190014358A1 (en) 2016-02-12 2017-01-30 Information processing apparatus and information processing method
EP17750112.9A EP3416396B1 (en) 2016-02-12 2017-01-30 Information processing device and information processing method
RU2018128314A RU2728534C2 (ru) 2016-02-12 2017-01-30 Устройство обработки информации и способ обработки информации
BR112018015935-2A BR112018015935A2 (ja) 2016-02-12 2017-01-30 An information processor and an information processing method
CN201780009818.1A CN108605160B (zh) 2016-02-12 2017-01-30 信息处理设备和信息处理方法
KR1020187021203A KR20180109890A (ko) 2016-02-12 2017-01-30 정보 처리 장치 및 정보 처리 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016024809 2016-02-12
JP2016-024809 2016-11-15

Publications (1)

Publication Number Publication Date
WO2017138387A1 true WO2017138387A1 (ja) 2017-08-17

Family

ID=59563903

Family Applications (1)

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

Country Status (8)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109756755A (zh) * 2017-11-02 2019-05-14 华为技术有限公司 一种媒体播放方法,装置和系统
WO2020072792A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Initialization set for network streaming of media data
JP2021529478A (ja) * 2018-06-28 2021-10-28 ドルビー ラボラトリーズ ライセンシング コーポレイション 適応的なストリーミング整列のためのフレーム変換
JP2022510183A (ja) * 2019-01-04 2022-01-26 テンセント・アメリカ・エルエルシー 初期化階層を使用した柔軟な相互運用性および能力のシグナリング

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018102756A2 (en) * 2016-12-01 2018-06-07 Brightcove, Inc. Optimization of encoding profiles for media streaming
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 적응적 스트리밍 서버, 방법, 및 클라이언트 단말
EP3661217A1 (en) * 2018-09-28 2020-06-03 Comcast Cable Communications LLC Per-segment parameters for content
KR20200081161A (ko) * 2018-12-27 2020-07-07 (주)아이앤아이소프트 컨텐츠 스트리밍 장치, 시스템 및 방법
CN111510789B (zh) * 2019-01-30 2021-09-21 上海哔哩哔哩科技有限公司 视频播放方法、系统、计算机设备及计算机可读存储介质
CN111510791B (zh) * 2019-01-30 2022-07-29 上海哔哩哔哩科技有限公司 播放音视频的方法、装置、计算机设备及可读存储介质
CN114026875A (zh) * 2019-06-25 2022-02-08 索尼集团公司 信息处理装置、信息处理方法、再现处理装置和再现处理方法
GB201913966D0 (en) * 2019-09-27 2019-11-13 Essence Smartcare Ltd Communication method and apparatus
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 北京达佳互联信息技术有限公司 资源传输方法、装置、终端及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014511580A (ja) * 2011-01-18 2014-05-15 サムスン エレクトロニクス カンパニー リミテッド マルチメディアストリーミングシステムにおけるコンテンツの格納及び再生のための装置及びその方法
JP2014527745A (ja) * 2011-08-01 2014-10-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated ユーザサービス記述フラグメントとしての動的適応型httpストリーミング(dash)初期化セグメント記述フラグメントの転送のための方法および装置
WO2015121342A1 (en) * 2014-02-13 2015-08-20 Koninklijke Kpn N.V. Requesting multiple chunks from a network node on the basis of a single request message

Family Cites Families (15)

* 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
CN106330903A (zh) * 2010-09-01 2017-01-11 韩国电子通信研究院 提供媒体内容的方法和终端
JP2014534695A (ja) * 2011-10-13 2014-12-18 サムスン エレクトロニクス カンパニー リミテッド コンテンツディスプレイ方法、コンテンツ同期化方法、放送コンテンツディスプレイ方法及びディスプレイ装置
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
JP6181650B2 (ja) * 2012-07-02 2017-08-16 サターン ライセンシング エルエルシーSaturn Licensing LLC 送信装置、送信方法およびネットワーク装置
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
KR102264477B1 (ko) * 2013-07-12 2021-06-15 캐논 가부시끼가이샤 푸시 메시지 제어를 이용하는 적응적 데이터 스트리밍 방법
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
WO2016105090A1 (ko) * 2014-12-22 2016-06-30 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014511580A (ja) * 2011-01-18 2014-05-15 サムスン エレクトロニクス カンパニー リミテッド マルチメディアストリーミングシステムにおけるコンテンツの格納及び再生のための装置及びその方法
JP2014527745A (ja) * 2011-08-01 2014-10-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated ユーザサービス記述フラグメントとしての動的適応型httpストリーミング(dash)初期化セグメント記述フラグメントの転送のための方法および装置
WO2015121342A1 (en) * 2014-02-13 2015-08-20 Koninklijke Kpn N.V. Requesting multiple chunks from a network node on the basis of a single request message

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HYPERTEXT TRANSFER PROTOCOL VERSION 2 (HTTP/2, May 2015 (2015-05-01), Retrieved from the Internet <URL:https://tools.ietf.org/html/rfc7540>
INFORMATION TECHNOLOGY - DYNAMIC ADAPTIVE STREAMING OVER HTTP (DASH) - PART 1: MEDIA PRESENTATION DESCRIPTION AND SEGMENT FORMATS, 1 April 2012 (2012-04-01), pages 14 - 33,57-58,92- 96 , 114-115 *
See also references of EP3416396A4
THE WEBSOCKET PROTOCOL, December 2011 (2011-12-01), Retrieved from the Internet <URL:https://tools.ietf.org/html/rfc6455>

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2021529478A (ja) * 2018-06-28 2021-10-28 ドルビー ラボラトリーズ ライセンシング コーポレイション 適応的なストリーミング整列のためのフレーム変換
JP7171772B2 (ja) 2018-06-28 2022-11-15 ドルビー ラボラトリーズ ライセンシング コーポレイション 適応的なストリーミング整列のためのフレーム変換
US11770582B2 (en) 2018-06-28 2023-09-26 Dolby Laboratories Licensing Corporation Frame conversion for adaptive streaming alignment
CN112771876A (zh) * 2018-10-03 2021-05-07 高通股份有限公司 媒体数据的网络流式传输的初始化集合
US11184665B2 (en) 2018-10-03 2021-11-23 Qualcomm Incorporated Initialization set for network streaming of media data
WO2020072792A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Initialization set for network streaming of media data
CN112771876B (zh) * 2018-10-03 2023-04-07 高通股份有限公司 检索媒体数据的方法和设备以及发送媒体数据的方法和设备
TWI820227B (zh) * 2018-10-03 2023-11-01 美商高通公司 用於媒體資料之網路串流之初始化集合
JP2022510183A (ja) * 2019-01-04 2022-01-26 テンセント・アメリカ・エルエルシー 初期化階層を使用した柔軟な相互運用性および能力のシグナリング
JP7119229B2 (ja) 2019-01-04 2022-08-16 テンセント・アメリカ・エルエルシー 初期化階層を使用した柔軟な相互運用性および能力のシグナリング
JP7442917B2 (ja) 2019-01-04 2024-03-05 テンセント・アメリカ・エルエルシー 初期化階層を使用した柔軟な相互運用性および能力のシグナリング

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2017138387A1 (ja) 情報処理装置および情報処理方法
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
JP3957666B2 (ja) マルチメディアストリーミング装置、マルチメディアストリーミングサーバ、マルチメディアストリーミングクライアント、マルチメディアストリーミング方法及びそのプログラムを記録した記録媒体
US9277252B2 (en) Method and apparatus for adaptive streaming based on plurality of elements for determining quality of content
JP6014870B2 (ja) ストリーミング・メディア・コンテンツのリアルタイム・トランスマックス変換の方法およびシステム
US20110119396A1 (en) Method and apparatus for transmitting and receiving data
JP6329964B2 (ja) 送信装置、送信方法、受信装置、及び、受信方法
JP6459006B2 (ja) 情報処理装置および情報処理方法
KR20130005873A (ko) 방송 시스템에서 컨텐츠 수신 방법 및 장치
KR102499231B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
US20120303833A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
KR102137858B1 (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램
US9571790B2 (en) Reception apparatus, reception method, and program thereof, image capturing apparatus, image capturing method, and program thereof, and transmission apparatus, transmission method, and program thereof
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP2008136044A (ja) 動画分割サーバおよびその制御方法
WO2016174959A1 (ja) 受信装置、送信装置、およびデータ処理方法
KR102319932B1 (ko) 수신 장치 및 수신 방법, 재생 장치 및 재생 방법, 공급 장치 및 공급 방법, 그리고 프로그램
JP2005110024A (ja) データ送信装置、データ送受信システム、及びデータ送受信方法
KR101568317B1 (ko) Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법
JP7292901B2 (ja) 送信装置、送信方法、及びプログラム
CN105578193A (zh) 一种基于数字视频变换盒的数据转码系统和方法
JP2009081572A (ja) コンテンツ配信装置およびトリック再生制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17750112

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2017566584

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 20187021203

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112018015935

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2017750112

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017750112

Country of ref document: EP

Effective date: 20180912

ENP Entry into the national phase

Ref document number: 112018015935

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20180803