CN108605160B - 信息处理设备和信息处理方法 - Google Patents

信息处理设备和信息处理方法 Download PDF

Info

Publication number
CN108605160B
CN108605160B CN201780009818.1A CN201780009818A CN108605160B CN 108605160 B CN108605160 B CN 108605160B CN 201780009818 A CN201780009818 A CN 201780009818A CN 108605160 B CN108605160 B CN 108605160B
Authority
CN
China
Prior art keywords
file
information processing
processing apparatus
request
content
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201780009818.1A
Other languages
English (en)
Other versions
CN108605160A (zh
Inventor
高林和彦
山岸靖明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN108605160A publication Critical patent/CN108605160A/zh
Application granted granted Critical
Publication of CN108605160B publication Critical patent/CN108605160B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/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

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)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及可以有效地发送用于具有多个属性中的预定属性的内容的初始化文件的信息处理装置和信息处理方法。http客户端:请求递送服务器发送用于管理具有多个属性的运动图像内容的MPD文件以及用于具有多个属性中的预定属性的运动图像内容的初始化分段文件;并且发送包括push‑init‑segment命令的MPD请求。本发明适用于例如信息处理系统的回放客户端等,该信息处理系统由经由网络连接的递送服务器和回放客户端来配置。

Description

信息处理设备和信息处理方法
技术领域
本公开内容涉及信息处理设备和信息处理方法,并且具体涉及使得能够有效发送具有多个属性中的预定属性的内容的初始化文件的信息处理设备和信息处理方法。
背景技术
在MPEG-DASH(基于HTTP的运动图像专家组相位动态自适应流媒体)下的动态自适应流媒体中,服务器针对每个媒体类型准备具有不同属性的运动视频内容的分段文件以及管理针对每个媒体类型和针对每个属性的分段文件的MPD(媒体呈现描述)文件。
注意,媒体类型是运动视频内容的类型,包括视频、字幕和音频,而属性类型包括编码比特率、语言、角色(目的)、视频分辨率和视频帧率以及音频采样率和音频通道数目。MPD文件包括指示每个属性的属性信息、具有针对每个媒体类型的每个属性等的分段文件的URL(统一资源定位符)。
客户端从服务器获取MPD文件,并且基于MPD文件向服务器发送具有针对每个媒体类型的预定属性的分段文件的URL,由此获取该分段文件。
在当前的MPEG-DASH下,客户端和服务器之间的通信协议是HTTP(超文本传输协议)1.1。因此,基本上,作为对来自客户端的请求的响应,服务器发送数据。
具体地,客户端向服务器发送用于请求服务器发送MPD文件的HTTP GET请求,并且服务器将在该HTTP GET请求中指定的URL处的MPD文件作为HTTP GET响应发送给客户端。
接下来,客户端以初始化分段文件为单位向服务器按顺序地发送HTTP GET请求,以请求服务器基于接收到的MPD文件针对每个媒体类型发送具有一个或更多个属性的分段文件中的初始化分段文件(初始化分段)中的每一个。服务器然后将在该HTTP GET请求中指定的URL处的初始化分段文件中的每一个作为HTTP GET响应按顺序地发送至客户端。
此外,客户端基于有效网络带宽等从与针对每个媒体类型的初始化分段文件对应的属性中选择一个属性。客户端然后以媒体分段文件为单位按顺序地向服务器发送HTTPGET请求,以请求服务器发送具有所选择的属性的分段文件中的媒体分段文件中的每一个。服务器将在该HTTP GET请求中指定的URL处的媒体分段文件中的每一个作为HTTP GET响应按顺序地发送至客户端,并且客户端将接收到的媒体分段文件按顺序地累积在接收缓冲器中。
此时,客户端测量每个媒体分段文件的接收速度(例如,接收数据所需的时间与接收到的数据的再现时间的比率)。客户端使用测量的接收速度来选择下一个媒体分段文件的编码比特率作为针对每个媒体类型的属性。
如上所述,为了客户端接收初始化分段文件(媒体分段文件),有必要针对每个初始化分段文件(针对每个媒体分段文件)发送HTTP GET请求并且接收HTTP GET响应。这导致很高的开销。
同时,IETF(因特网工程任务组)在2015年5月发布了HTTP/2作为HTTP1.1的后续版本(参见例如NPL 1)。HTTP/2支持多路通信、头部压缩、请求和响应流水线等,同时保持与HTTP1.1完全向后兼容。
此外,在HTTP/2的发布之前的2011年12月,IETF发布了WebSocket协议作为支持基于HTTP的多路通信(双向通信)的协议(参见例如NPL2)。请注意,多路通信是这样的通信:服务器不仅发送对来自客户端的请求的响应,而且发送不响应于任何请求的数据。
在此背景下,MPEG正在考虑通过采用HTTP/2或WebSocket协议来提高流传输效率,所述HTTP/2或WebSocket协议是作为MPEG-DASH下的客户端与服务器之间的通信协议的全双工通信协议。
[引用列表]
[非专利文献]
[NPL 1]
超文本传输协议版本2(HTTP/2),2015年5月,因特网<URL:https://tools.ietf.org/html/rfc7540>
[NPL 2]
WebSocket协议,2011年12月,因特网<URL:https://tools.ietf.org/html/rfc6455>
发明内容
[技术问题]
然而,没有构想具有多个属性中的预定属性的运动视频内容的初始化分段文件的有效发送。
鉴于这种情况已经实现了本公开内容,并且本公开内容的目的是使得能够有效发送具有多个属性中的预定属性的内容的初始化文件。
[问题的解决方案]
根据本公开内容的第一方面的信息处理设备是包括下述发送部的信息处理设备,该发送部发送管理文件请求信息,以请求不同的信息处理设备发送管理具有多个属性的内容的管理文件以及具有多个属性中的预定属性的内容的初始化文件。
根据本公开内容的第一方面的信息处理方法对应于根据本公开内容的第一方面的信息处理设备。
根据本公开内容的第一方面,发送用于请求不同的信息处理设备发送管理具有多个属性的内容的管理文件以及具有多个属性中的预定属性的内容的初始化文件的管理文件请求信息。
根据本公开内容的第二方面的信息处理设备是包括下述发送部的信息处理设备,该发送部基于用于请求信息处理设备发送管理具有多个属性的内容的管理文件和具有多个属性中的预定属性的内容的初始化文件的管理文件请求信息来发送管理文件以及初始化文件。
根据本公开内容的第二方面的信息处理方法对应于根据本公开内容的第二方面的信息处理设备。
根据本公开内容的第二方面,基于用于请求信息处理设备发送管理具有多个属性的内容的管理文件和具有多个属性中的预定属性的内容的初始化文件的管理文件请求信息,发送管理文件和初始化文件。
注意,根据本公开内容的第一方面和第二方面的信息处理设备可以各自通过使计算机执行程序来实现。
此外,为了实现根据本公开内容的第一方面和第二方面的信息处理设备中的每一个,可以通过经由传输介质发送或者通过被记录在记录介质中来提供由计算机执行的程序。
[本发明的有益效果]
根据本公开内容的第一方面,可以发出用于发送数据的请求。此外,根据本公开内容的第一方面,可以有效地发出用于发送具有多个属性中的预定属性的内容的初始化文件的请求。
而且,根据本公开内容的第二方面,可以发送数据。此外,根据本公开内容的第二方面,可以有效地发送具有多个属性中的预定属性的内容的初始化文件。
应该注意,效果并不总是限于这里描述的效果,而是可以是本公开内容中描述的任何效果。
附图说明
[图1]
图1是MPEG-DASH下的MPD文件的层级结构的说明图。
[图2]
图2是示出应用本公开内容的信息处理系统的第一实施方式的配置的示例的框图。
[图3]
图3示出了图2的再现客户端的软件的层级结构的示例。
[图4]
图4是用于描述由图2的信息处理系统执行的处理的流程图。
[图5]
图5是用于描述初始化分段发送列表生成处理的细节的流程图。
[图6]
图6是用于描述后续媒体分段发送列表生成处理的开始的细节的流程图。
[图7]
图7示出了根据WebSocket协议的帧的配置的示例。
[图8]
图8示出了根据第二实施方式的子帧的结构的示例。
[图9]
图9示出了子帧的扩展的示例。
[图10]
图10示出了子帧的扩展的另一示例。
[图11]
图11是示出计算机的硬件的配置的示例的框图。
具体实施方式
将在下文中描述用于执行本公开内容的模式(在下文中称为“实施方式”)。注意,将按照以下顺序给出描述。
1.第一实施方式:信息处理系统(图1至图6)
2.第二实施方式:信息处理系统(图7至图10)
3.第三实施方式:计算机(图11)
<第一实施方式>
(MPD文件的描述)
图1是MPEG-DASH下的MPD文件的层级结构的说明图。
在MPD文件中,诸如编码方案、编码比特率、视频分辨率和运动视频内容的语言的信息被分为层级并以XML格式描述。
具体地,如图1所示,MPD文件分层级地包括诸如时间段(Period)元素、自适应集(AdaptationSet)元素、表示(Representation)元素、片段信息(SegmentInfo)元素等的元素。
在MPD文件中,由MPD文件本身管理的运动视频内容按照预定时间范围(例如,按照节目、CM(商业)等)来划分。针对每一个所划分的运动视频内容来描述时间段元素。时间段元素具有诸如运动视频内容的节目的再现开始时钟时间的信息(诸如同步的一组视频数据和音频数据的数据)。
自适应集元素被包括在时间段元素中,并且按照媒体类型、属性等将与时间段元素对应的运动视频内容的表示元素进行分组。自适应集元素各自具有与和属于一个组的表示元素对应的运动视频内容共用的媒体类型、属性等。
表示元素被包括在对表示元素进行分组的一个自适应集元素中,并且针对与作为上层的时间段元素对应的运动视频内容中的在媒体类型和属性方面相同的运动视频内容的每个片段文件组来描述。表示元素中的每一个具有与和该表示元素对应的片段文件组共用的属性、URL等。
分段信息元素被包括在每个表示元素中,并且具有与和表示对应的分段文件组中的每个分段文件相关联的信息(例如URL)。
(信息处理系统的第一实施方式的配置的示例)
图2是示出应用本公开内容的信息处理系统的第一实施方式的配置的示例的框图。
通过经由网络13将递送服务器11连接至再现客户端12来配置图2的信息处理系统10。信息处理系统10依照HTTP/2在MPEG-DASH下执行动态自适应流传输。
具体地,信息处理系统10中的递送服务器11配置有存储部30、http服务器31、分析部32、测量部33、选择部34和选择部35。
递送服务器11中的存储部30(存储装置)存储分段文件和MPD文件,该MPD文件管理具有针对多个媒体类型的属性的运动视频内容的分段文件。
分段文件配置有媒体分段文件和初始化分段文件,每个媒体分段文件以几秒至十秒的被称为“分段”的时间单位存储运动视频内容的编码流,初始化分段文件包括当编码流被解码时使用的参数。
存储在每个媒体分段文件中的编码流是通过针对每个媒体类型和每个属性对运动视频内容进行编码而获得的编码流。在第一实施方式中,假设属性类型包括语言、角色(目的)和编码比特率。因此,例如,具有不同编码比特率的编码流或者具有不同语言的编码流被存储在不同的媒体片段文件中。
http服务器31依照HTTP/2经由网络13与再现客户端12通信。具体地,http服务器31接收从再现客户端12发送以请求递送服务器11发送MPD文件的HTTP GET请求(在下文中,称为“MPD请求”)。http服务器31基于在MPD请求(管理文件请求信息)中指定的MPD文件的URL从存储部30读取MPD文件,并且将该MPD文件发送至再现客户端12。另外,http服务器31将MPD请求的头部(header)提供给分析部32。
此外,http服务器31接收从再现客户端12发送的以下HTTP GET请求(在下文中,称为“媒体请求”),该HTTP GET请求用于请求递送服务器11发送具有针对预定媒体类型的预定属性并且具有预定的再现时钟时间的媒体分段文件。http服务器31基于在媒体请求(内容文件请求信息)中指定的URL,经由选择部35从存储部30中读取媒体分段文件,并且将媒体分段文件发送至再现客户端12。另外,http服务器31将媒体请求的头部提供给分析部32。
此外,http服务器31(发送部)将从选择部34提供的初始化分段文件和从选择部35提供的媒体分段文件发送至再现客户端12。
分析部32分析从http服务器31提供的MPD请求的头部,并且提取描述push-init-segment命令的扩展头部。push-init-segment命令是以下push命令,该push命令用于请求递送服务器11发送在具有针对存储在存储部30中的多个媒体类型中的每一个的属性的运动视频内容的初始化分段文件中具有预定媒体类型的预定属性的初始化分段文件。
描述push-init-segment命令的扩展头部的描述是“Accept-push-policy:“type”=“push-init-segment,”PUSH_PARAMS”。“Accept-push-policy”是扩展头部的名称,并且指示扩展头部是描述到递送服务器11的push命令的扩展头部。“Accept-push-policy”之后的描述通过用等号将指示参数的代码连接至参数的值来指定每个参数的值。
换言之,在“type”=“push-init-segment”中,指示作为参数的push命令的类型(种类)的代码“type”通过等号连接至作为参数的值的“push-init-segment”。因此,push-init-segment命令被指定为扩展头部中描述的push命令的类型。
此外,在“type”=“push-init-segment”之后的“PUSH_PARAMS”是以下描述:将指示作为参数的请求递送服务器11通过push-init-segment命令发送的初始化分段文件的媒体类型(种类)或属性类型的代码通过等号连接至参数的值。由该描述指定通过push-init-segment命令请求递送服务器11发送的初始化分段文件的媒体类型或属性。
例如,在“PUSH_PARAMS”中,指示作为参数的媒体类型的代码“media”通过等号连接至作为指示媒体类型的值的MIME-type。通过push-init-segment命令请求递送服务器11发送的初始化分段文件的媒体类型由此被指定。指示媒体类型的MIME-type的示例包括“video/mp4”和“audio/mp4”。“video/mp4”指示以MP4格式作为媒体类型存档的视频,而“audio/mp4”指示以MP4格式作为媒体类型存档的音频。
此外,在“PUSH_PARAMS”中,指示作为参数的语言的代码“lang”通过等号连接至作为指示语言的属性的属性信息的基于ISO 639-1的语言代码。通过push-init-segment命令请求递送服务器11发送的初始化分段文件的语言的属性由此被指定。在例如指定作为语言属性的日语的情况下,在“PUSH_PARAMS”中描述“lang”=“ja”。注意,仅在指定音频或字幕作为媒体类型的情况下才能指定语言的属性。
此外,在“PUSH_PARAMS”中,指示作为参数的目的(角色)的代码“role”通过等号连接至角色属性的值,MPD文件中的自适应集元素可以具有该角色属性的值作为与目的(角色)相关联的属性信息。通过push-init-segment命令请求递送服务器11发送的初始化分段文件的目的(角色)的属性由此被指定。MPD文件可以具有的角色属性的值的示例包括“main”、“alternate”、“supplementary”、“commentary”、“dub(dubbing)”和“description”。
此外,在“PUSH_PARAMS”中,指示作为参数的编码比特率的代码“bitrate”通过等号连接至作为与编码比特率相关联的属性信息的每秒编码比特率的范围。通过push-init-segment命令请求递送服务器11发送的初始化分段文件的编码比特率的属性的范围由此被指定。
因此,描述push-init-segment命令(其指定通过push-init-segment命令请求递送服务器11发送的初始化分段文件的媒体类型、目的(角色)和编码比特率)的扩展头部的描述是例如“Accept-push-policy:“type”=“push-init-segment,”“media”=“video/mp4,”“role”=“main,”“bitrate”=“400000-8000000””。
在这种情况下,以MP4格式存档的视频被指定为通过push-init-segment命令请求递送服务器11发送的初始化分段文件的媒体类型,并且“main”被指定为与目的(角色)相关联的属性信息。另外,400kbps至8Mbps的范围被指定为与编码比特率相关联的属性信息的范围。
分析部32识别在描述push-init-segment命令的扩展头部中由“PUSH_PARAMS”指定的媒体类型和属性,并且将媒体类型和属性提供给选择部34。
此外,分析部32分析从http服务器31提供的媒体请求的头部,并且提取描述push-media-adapted命令的扩展头部。push-media-adapted命令是以下push命令,该push命令用于请求递送服务器11在可允许范围内均以由源选择的编码比特率发送后续媒体分段文件(后续内容的文件)。注意,后续媒体分段文件是这样的媒体分段文件:其再现时钟时间晚于通过媒体请求来请求递送服务器11发送的媒体分段文件的再现时钟时间,并且除编码比特率以外,其具有与请求递送服务器11发送的媒体分段文件相同的属性。
描述push-media-adapted命令的扩展头部的描述是“Accept-push-policy:“type”=“push-media-adapted,”PUSH_PARAMS”。除了push命令的类型和PUSH_PARAMS中的参数以外,描述push-media-adapted命令的扩展头部的描述类似于描述push-init-segment命令的扩展头部的描述。
换言之,在描述push-media-adapted命令的扩展头部的描述中的“type”=“push-media-adapted”中,代码“type”通过等号连接至“push-init-segment”。因此,push-media-adapted命令被指定为扩展头部中描述的push命令的类型。
此外,在“type”=“push-media-adapted”之后的“PUSH_PARAMS”是将指示(通过push-media-adapted命令请求递送服务器11以编码比特率的可允许范围发送的)后续媒体分段文件的时间段作为参数的代码通过等号连接至参数的值的描述。通过push-media-adapted命令请求递送服务器11发送的后续媒体分段文件的时间段以及编码比特率的可允许范围由该描述指定。
指示后续媒体分段文件的时间段作为参数的代码的示例包括“duration”和“number”。在指示后续媒体分段文件的时间段的代码是“duration”的情况下,在“PUSH_PARAMS”中,代码“duration”通过等号连接至作为指示后续媒体分段文件的时间段的信息的指示以秒为单位的再现时间的整数值。另一方面,在指示后续媒体分段文件的时间段的代码是“number”情况下,在“PUSH_PARAMS”中,代码“number”通过等号连接至作为指示后续媒体分段文件的时间段的信息的指示文件的数目的整数值。通过push-media-adapted命令请求递送服务器11发送的后续媒体分段文件的时间段由此被指定。
此外,在“PUSH_PARAMS”中,指示作为参数的编码比特率的可允许范围的代码“bitrate”通过等号连接至作为指示编码比特率的可允许范围的范围信息的每秒的编码比特率的范围。与通过push-media-adapted命令请求递送服务器11发送的后续媒体分段文件的编码比特率相关联的范围信息由此被指定。
因此,通过再现时间描述指定通过push-media-adapted命令请求递送服务器11发送的后续媒体分段文件的时间段的push-media-adapted命令的扩展头部的描述是例如“accept-push-policy:“type”=“push-media-adapted,”“duration”=“120,”“bitrate”=“400000-8000000””。在这种情况下,120秒被指定为通过push-media-adapted命令请求递送服务器11发送的后续媒体分段文件的再现时间,并且400kbps至8Mbps的范围被指定为编码比特率的可允许范围。
分析部32识别在描述push-media-adapted命令的扩展头部中由“PUSH_PARAMS”指定的编码比特率的可允许范围和时间段,并且将编码比特率的可允许范围和时间段提供给选择部35。
测量部33测量从http服务器31发送的媒体分段文件、初始化分段文件和MPD文件的有效数据传输速率。具体地,在接收数据时,发送ACK信号作为接收到递送服务器11与再现客户端12之间传输中的数据的通知。因此,测量部33基于例如TCP(传输控制协议)层中的来自再现客户端12的ACK信号的状态来测量有效数据传输速率。测量部33将作为测量结果而获得的数据传输速率提供给选择部35作为指示网络13的有效带宽的测量的比特率。
选择部34基于存储在存储部30中的MPD文件生成并保存发送列表,在该发送列表中,登记了具有指定的媒体类型和指定的属性并且从分析部32提供的初始化分段文件的URL。
具体地,选择部34从MPD文件中描述的所有表示元素中选择具有指定的媒体类型的自适应集元素中的表示元素。选择部34然后从所选择的表示元素中选择具有指定的属性的表示元素或者对表示元素进行分组并且具有指定的属性的自适应集元素中的表示元素。
例如,在MPD文件中,每个表示元素具有与编码比特率相关的属性信息作为带宽属性。因此,在指定的属性类型仅是编码比特率的情况下,选择部34从所选择的表示元素中选择具有与指定的编码比特率的属性范围内的属性相关联的属性信息的表示元素作为带宽属性。
在指定的属性类型的数目是两个或更多的情况下,选择部34选择与所有属性类型对应的表示元素。然而,在不存在与所有属性类型对应的表示元素的情况下,选择部34基于每个属性类型的优先级来减少用于选择的属性类型的数目。
尽管本文中假设每个属性类型的优先级是预先确定的,但是可以基于由PUSH_PARAMS指定的序列来确定优先级。
选择部34生成并保存发送列表作为初始化分段文件发送列表,在该发送列表中登记了如上所述选择的表示元素中包括的初始化分段文件的URL。选择部34基于初始化分段文件发送列表中登记的URL从存储部30读取初始化分段文件,并且将初始化分段文件提供给http服务器31。
选择部35基于测量的比特率、MPD文件以及从分析部32提供的编码比特率的可允许范围和时间段,从可允许范围内的编码比特率中选择后续媒体分段文件的编码比特率。
具体地,选择部35从MPD文件中选择具有可允许范围内的编码比特率作为带宽属性的后续媒体分段文件所属的表示元素。选择部35然后从所选择的表示元素中选择具有适合于测量的比特率的编码比特率作为带宽属性的表示元素。
选择部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可以基于再现客户端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,并且将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请求,并且将MPD请求提供给递送服务器11。
在步骤S41中,递送服务器11中的http服务器31接收从再现客户端12发送的MPD请求。另外,http服务器31基于MPD请求中指定的MPD文件的URL从存储部30中读取MPD文件。在步骤S42中,http服务器31将读取的MPD文件发送给再现客户端12作为对MPD请求的响应。此外,http服务器31将MPD请求的头部提供给分析部32。
在步骤S13中,http客户端51接收从递送服务器11发送的MPD文件,并且将该MPD文件提供给MPD解析器52。MPD解析器52分析从http客户端51提供的MPD文件,并且将与每个表示元素相关联的表示信息提供给选择部53。
在步骤S43中,递送服务器11基于MPD文件以及MPD请求的头部中包括的push-init-segment命令,执行用于生成初始化分段文件发送列表的初始化分段文件发送列表生成处理。将参照稍后描述的图5来描述该初始化分段发送列表生成处理的细节。
在步骤S44中,选择部35基于从初始化分段文件发送列表中登记的URL的开头起的第一个URL从存储部30读取初始化分段文件,并且经由http服务器31将该初始化分段文件发送到再现客户端12。在下文中,将与从初始化分段文件发送列表中登记的URL的开头起的第i个URL对应的初始化分段文件称为“初始化分段文件#i”。
在步骤S14中,http客户端51接收从递送服务器11发送的初始化分段文件#1,并且将初始化分段文件#i提供给接收缓冲器54,使得接收缓冲器54保存初始化分段文件#i。
在步骤S44中的处理之后,以与步骤S44中的处理类似的方式将初始化分段文件#i+1至#n-1按顺序地发送至再现客户端12。在步骤S14中的处理之后,以与步骤S14中的处理类似的方式按顺序地从递送服务器11接收初始化分段文件#i+1至#n-1。注意,n是在初始化分段文件发送列表中登记的URL的数目,并且是等于或大于1的整数。
在发送初始化分段文件#n-1之后,在步骤S45中,选择部35以与步骤S44中的处理类似的方式将初始化分段文件#n发送至再现客户端12。
另外,在接收到初始化分段文件#n-1之后,在步骤S15中,http客户端51以与步骤S14中的处理类似的方式从递送服务器11接收初始化分段文件#n,并且将初始化分段文件#n提供给接收缓冲器54,使得接收缓冲器54保存初始化分段文件#n。
在步骤S16中,选择部53基于从带宽估计部57提供的测量的比特率、再现客户端12的特性、用户偏好等确定在媒体请求中指定的媒体分段文件的URL。此外,选择部53基于测量的比特率、再现客户端12的特性、用户偏好等来确定后续媒体分段文件的编码比特率的属性的可允许范围。另外,选择部53将所确定的URL和可允许范围提供给请求生成部50。
在步骤S17中,请求生成部50基于从选择部53提供的编码比特率的可允许范围和URL,生成具有包括push-media-adapted命令的头部的媒体请求,并且经由http客户端51将媒体请求发送至递送服务器11。
在步骤S46中,http服务器31接收从再现客户端12发送的媒体请求。在步骤S47中,http服务器31基于媒体请求中指定的URL,经由选择部35从存储部30读取媒体分段文件,并且将媒体分段文件发送给再现客户端12。另外,http服务器31将媒体请求的头部提供给分析部32。
在步骤S18中,http客户端51接收从递送服务器11发送的媒体分段文件,并且将该媒体分段文件提供给接收缓冲器54,使得接收缓冲器54保存该媒体分段文件。
在步骤S48中,递送服务器11基于MPD文件以及媒体请求的头部中包括的push-media-adapted命令,执行用于生成后续媒体分段文件发送列表的后续媒体分段文件发送列表生成处理。将参考稍后将描述的图6来描述该后续媒体分段文件发送列表生成处理的细节。
在步骤S49中,选择部35基于从在后续媒体分段文件发送列表中登记的URL的开头起的第一个URL,从存储部30中读取后续媒体分段文件,并且经由http服务器31将后续媒体分段文件发送至再现客户端12。在下文中,与从在后续媒体分段文件发送列表中登记的URL的开头起的第i个URL对应的后续媒体分段文件将被称为“后续媒体分段文件#i”。
在步骤S19中,http客户端51接收从递送服务器11发送的后续媒体分段文件#1,并且将后续媒体分段文件#i提供给接收缓冲器54,使得接收缓冲器54保存后续媒体分段文件#i。
在步骤S49中的处理之后,以与步骤S49中的处理类似的方式将后续媒体分段文件#i+1至#m-1按顺序地发送至再现客户端12。另外,在步骤S19中的处理之后,以与步骤S19中的处理类似的方式,按顺序地从递送服务器11接收后续媒体分段文件#i+1至#m-1。注意,m为后续媒体分段文件发送列表中登记的URL的数目,并且是等于或大于1的整数。
在发送后续媒体分段文件#m-1之后,在步骤S50中,选择部35以与步骤S49中的处理类似的方式经由http服务器31将后续媒体分段文件#m发送至再现客户端12。
另外,在接收到后续媒体分段文件#m-1之后,在步骤S20中,http客户端51以与步骤S19中的处理类似的方式从递送服务器11接收后续媒体分段文件#m,并且将后续媒体分段文件#m发送至接收缓冲器54,使得接收缓冲器54保存后续媒体分段文件#m。
在如上所述保存的初始化分段文件和后续媒体分段文件中,由再现部56读取要再现的初始化分段文件和后续媒体分段文件。作为结果,再现了后续媒体分段文件。
图5是用于描述图4的步骤S43中的初始化分段发送列表生成处理的细节的流程图。
在图5的示例中,属性的优先级按照语言、角色和编码比特率的顺序越来越高。
在图5的步骤S71中,分析部32确定push-init-segment命令是否被包括在从http服务器31提供的头部中。具体地,分析部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”的由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”的角色属性的值指示的属性作为指定的角色属性的情况下,选择部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。
例如,在与登记在发送列表中的全部URL对应的编码比特率低于指定范围的情况下,选择部34保留与最接近于指定范围的下限的编码比特率对应的URL。另一方面,在与登记在发送列表中的全部URL对应的编码比特率高于指定范围的情况下,选择部34保留与最接近于指定范围的上限的编码比特率对应的URL。
图6是用于描述图4的步骤S48中的后续媒体分段发送列表生成处理的开始的细节的流程图。
在图6的步骤S101中,分析部32确定push-media-adapted命令是否被包括在从http服务器31提供的头部中。具体地,分析部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文件中描述的后续媒体分段文件所属的)表示元素具有作为带宽的发送比特率的下一个更低的编码比特率是否等于或高于可允许范围的下限。
在步骤S105中确定编码比特率等于或高于可允许范围的下限的情况下,选择部35在步骤S106中将属于具有发送比特率的下一个更低的编码比特率的表示元素的后续媒体分段文件的URL登记在发送列表中。处理然后进行到步骤S112。
另一方面,在步骤S103中确定发送比特率不高于测量的比特率的情况下,选择部35在步骤S107中确定发送比特率是否低于测量的比特率。在步骤S107中确定发送比特率低于测量的比特率的情况下,处理进行到步骤S108。
在步骤S108中,选择部35从分析部32读取可允许范围,并且确定发送比特率是否低于可允许范围的上限。在步骤S108中确定发送比特率低于可允许范围的上限的情况下,处理进行到步骤S109。
在步骤S109中,选择部35确定(由MPD文件中描述的后续媒体分段文件所属的)表示元素具有作为带宽的发送比特率的下一个更高的比特率是否等于或低于可允许范围的上限。
在步骤S109中确定比特率等于或低于可允许范围的上限的情况下,选择部35在步骤S110中将属于具有发送比特率的下一个更高的编码比特率的表示元素的后续媒体分段文件的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请求来请求递送服务器11发送初始化分段文件。因此,再现客户端12可以有效地请求递送服务器11发送初始化分段文件。此外,递送服务器11不需要等待接收HTTP GET来请求递送服务器11发送初始化分段文件;因此,递送服务器11可以有效地发送初始化分段文件。
此外,push-init-segment命令可以指定请求递送服务器11发送的初始化分段文件的媒体类型和属性。因此,不必浪费地接收不必要的初始化分段文件,并且可以进一步提高初始化分段文件接收的效率。因此,可以加速启动。
另一方面,在包括在MPD请求中的push命令不能指定请求递送服务器11发送的初始化分段文件的媒体类型和属性的情况下,递送服务器11响应于MPD请求而发送所有媒体类型和所有属性的初始化分段文件。例如,在包括在MPD请求中的push命令只能指定初始化分段文件的URL的情况下,再现客户端12在MPD请求时不获取MPD文件,并且不能指定URL。由此,所有媒体类型和所有属性的初始化分段文件被发送。
结果,接收缓冲器54需要大容量来保存所接收的初始化分段文件。例如,在媒体类型和属性的数目较大的情况下,接收缓冲器54需要保存具有需要再现的初始化分段文件的数据量的许多倍大的数据量的初始化分段文件。
由此,在接收缓冲器54的容量较小并且不能保存所有媒体类型和所有属性的初始化分段文件的情况下,再现客户端12不能将push命令包括在MPD请求中。作为结果,再现客户端12需要在接收到MPD文件之后发送HTTP GET请求以请求递送服务器11一次发送一个再现所需的初始化分段文件。
此外,再现客户端12发送包括push-media-adapted命令的媒体请求。因此,再现客户端12仅通过发送媒体请求就能够不仅接收在媒体请求中指定的URL处的媒体分段文件,而且还能够接收后续媒体分段文件。换言之,再现客户端12不需要针对每个后续媒体分段文件发送媒体请求。因此,再现客户端12可以有效地发送用于发送后续媒体分段文件的请求。此外,递送服务器11不需要等待接收到媒体请求来请求递送服务器11发送后续媒体分段文件;因此,递送服务器11可以有效地发送后续媒体分段文件。
此外,push-media-adapted命令可以指定后续媒体分段文件的编码比特率的可允许范围。由此,递送服务器11可以响应于网络13的有效带宽来改变要在可允许范围内发送的后续媒体分段文件的编码比特率。作为结果,可以提高再现质量。
换言之,例如,在递送服务器11与再现客户端12之间开始流传输时,带宽估计部57还不能估计网络13的有效带宽。因此,在这种情况下,选择部53将相对低的编码比特率设置为在媒体请求中指定的URL处的媒体分段文件的编码比特率。由此,在将该编码比特率应用于后续媒体分段文件的编码比特率的情况下,后续媒体分段文件的编码比特率不是适合于网络13的有效带宽的编码比特率。
鉴于上述情况,再现客户端12在push-media-adapted命令中指定后续媒体分段文件的编码比特率的可允许范围。由此,再现客户端12可以将要接收的后续媒体分段文件的编码比特率改变为适合网络13的有效带宽的在可允许范围内的编码比特率。作为结果,可以提高再现质量。
此外,再现客户端12接收具有适合于网络13的有效带宽的编码比特率的后续媒体分段文件;因此,再现客户端12不需要响应于网络13的有效带宽而向递送服务器11发送命令。因此,再现客户端12可以有效接收具有适合于网络13的有效带宽的编码比特率的后续媒体片段文件。
另一方面,在包括在媒体请求中的push命令仅指定后续媒体分段文件的时间段并且未指定编码比特率的可允许范围并且网络13的有效带宽在后续媒体分段文件的时间段内改变的情况下,再现客户端12需要取消push命令。此外,再现客户端12需要重新发送包括push命令的媒体请求,以重新指定适合于有效带宽的编码比特率。由此,即使将长时间段指定为后续媒体分段文件的时间段,取消push命令和发送媒体请求的可能性也会增加,其中结果是通常不可能限制发送媒体分段文件所需的时间。
此外,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请求,以请求递送服务器11发送除了要被发送的初始化分段文件以外的初始化分段文件。即使在这种情况下,与发送HTTP GET请求以请求递送服务器11发送所有初始化分段文件的情况相比,可以减少HTTP GET请求的数目。
此外,虽然在第一实施方式中再现客户端12总是在媒体请求中包括push-media-adapted命令,但是再现客户端12可以在媒体请求中包括除了push-media-adapted命令之外的push命令。例如,再现客户端12可以包括push命令,以仅在媒体请求中指定后续媒体分段文件的时间段。在这种情况下,指示包括在push命令中的后续媒体分段文件的时间段的信息是例如后续媒体分段文件的数目(Push-next)、再现时间(Push-time)或URL列表或URL模板以及指定其中应用模板的范围($number$)的参数(Push-template)。此外,在这种情况下,与在媒体请求中指定的URL处的媒体分段文件的编码比特率相同的后续媒体分段文件被发送到再现客户端12。
注意,在第一实施方式中,每个自适应集元素具有媒体类型以及角色和语言的属性,并且每个表示元素具有编码比特率的属性。替选地,每个自适应集元素和表示元素可以具有媒体类型和属性。
此外,虽然属性类型包括第一实施方式中的运动视频内容的编码比特率、语言和角色(目的),但是属性类型可以包括视频分辨率和视频帧率、音频采样率和音频通道数等。
例如,在push-init-segment命令中指定视频分辨率的情况下,通过等号连接指示视频分辨率作为参数的代码“resolution”和作为与视频分辨率相关联的属性信息的竖直方向上的像素数目的范围。与视频分辨率相关联的属性信息在属性是4k分辨率的情况下是2160,在属性是全HD分辨率的情况下是1080,并且在属性是SD分辨率的情况下是480。而且,在MPD文件中,视频的每个表示元素具有与视频分辨率相关联的属性信息作为高度属性。
此外,在push-init-segment命令中指定音频采样率的情况下,通过等号连接指示音频采样率作为参数的代码“audioSamplingRate”和用作与音频采样率相关联的属性信息的采样率范围。例如,在音频采样率的属性是48kHz的情况下,属性信息是48000。另外,在MPD文件中,音频的每个表示元素具有与音频采样率相关联的属性信息作为audioSamplingRate属性。
此外,范围信息可以是识别具有可允许范围内的编码比特率作为带宽并且后续媒体分段文件所属的表示元素的信息(例如,表示id)或者属于表示元素的后续媒体分段文件的URL的范围。
<第二实施方式>
(根据WebSocket协议的帧的配置的示例)
除了递送服务器11与再现客户端12之间根据WebSocket协议保持通信以外,应用本公开内容的信息处理系统的第二实施方式的配置与图1的信息处理系统10的配置相同。因此,下面将仅描述递送服务器11与再现客户端12之间的通信。
图7示出了根据WebSocket协议的帧的配置的示例。
如图7所示,根据WebSocket协议的帧配置有有效载荷数据部分和在有效载荷数据部分的前面的头部部分。头部部分旨在实现WebSocket协议的基本功能。使用有效载荷部分实现应用特定功能。注意,在NPL 2等中描述了根据WebSocket协议的帧的细节。
在使用有效载荷部分实现应用特定功能的情况下,有必要将子协议定义为有效载荷部分的协议,并且将有效载荷部分的数据结构定义为子帧。
在第二实施方式中,根据WebSocket协议在递送服务器11与再现客户端12之间保持通信。因此,根据WebSocket协议,需要在MPEG-DASH下实现流传输作为帧中的应用特定功能。因此,定义了作为用于在MPEG-DASH和DASH子帧下实现流传输的子协议的DASH子协议。
(子帧的结构的示例)
图8示出了根据第二实施方式的子帧的结构的示例。
图8的子帧配置有STREAM_ID、CMD_CODE、F、EXT_LENGTH、EXTENSION等。STREAM_ID是8位的值,其指示根据WebSocket协议交换的流的ID。注意,WebSocket协议使得能够通过一个连接发送和接收多个流。
CMD_CODE是8位的值,其指示在DASH子协议中定义的命令的类型。例如,在该子帧是在发送MPD请求时使用的子帧的情况下,CMD_CODE是1。在子帧是在发送媒体请求时使用的子帧的情况下,CMD_CODE是2。
此外,在该子帧是在作为对MPD请求的响应而发送MPD文件时使用的子帧的情况下,CMD_CODE是3。在该子帧是作为对媒体请求的响应而发送媒体分段文件时使用的子帧的情况下,CMD_CODE是4。此外,在该子帧是在取消push命令时使用的子帧的情况下,CMD_CODE是255。
F是针对每个命令指定的三位标志。EXT_LENGTH是13位的值,其指示EXTENSION的大小。EXTENSION存储通过对在第一实施方式中的MPD请求和媒体请求的头部中描述的参数进行JSON(JavaScript(注册商标))编码而获得的值。JSON编码的细节在https://tools.ietf.org/html/rfc4627中描述。
(EXTENSION的示例)
图9示出了在发送MPD请求时使用的子帧中的EXTENSION的示例,而图10示出了在发送媒体请求时使用的子帧中的EXTENSION的示例。
如图9和图10所示,通过在EXTENSION中将指示参数的代码通过冒号连接至参数的值来指定每个参数的值。
具体地,在图9的EXTENSION中,代码“push-type”通过冒号连接至“init-segment”。因此,push-init-segment命令被指定为EXTENSION中描述的push命令的类型。
此外,由于代码“media”通过冒号连接至“video/mp4”,所以以MP4格式存档的视频被指定为媒体类型。由于代码“lang”通过冒号连接至“ja”,因此日语被指定为语言属性。
此外,由于代码“role”通过冒号连接至“main”,所以“main”被指定为与目的相关联的属性信息。由于代码“bitrate”通过冒号连接至“400000-8000000”,因此400kbps至8Mbps的范围被指定为与编码比特率相关联的属性信息的范围。
另一方面,在图10的EXTENSION中,代码“push-type”通过冒号连接至“segment-adapted”。因此,push-segment-adapted命令被指定为EXTENSION中描述的push命令的类型。
此外,由于代码“duration”通过冒号连接至“120”,所以120秒被指定为后续媒体分段文件的时间段。此外,由于代码“bitrate”通过冒号连接至“400000-8000000”,所以400kbps至8Mbps的范围被指定为后续媒体分段文件的编码比特率的可允许范围。
注意,代码“number”可以以与根据第一实施方式类似的方式被描述为代码“duration”的替选。在该替选中,代码“number”通过冒号连接至指示后续媒体分段文件的数目的整数值。
<第三实施方式>
(应用本公开内容的计算机的描述)
上述一系列处理可以通过硬件来执行,也可以通过软件来执行。在通过软件执行一系列处理的情况下,构成软件的程序被安装到计算机中。这里,计算机的类型包括结合到专用硬件中的计算机、诸如能够通过将各种程序安装到计算机中来执行各种功能的通用个人计算机的计算机等。
图11是示出通过程序执行上述一系列处理的计算机的硬件的配置的示例的框图。
在计算机200中,CPU(中央处理单元)201、ROM(只读存储器)202和RAM(随机存取存储器)203通过总线204相互连接。
输入/输出接口205也连接至总线204。输入部206、输出部207、存储部208、通信部209和驱动器210连接至输入/输出接口205。
输入部206由键盘、鼠标、麦克风等配置而成。输出部207由显示器、扬声器等配置而成。存储部208由硬盘、非易失性存储器等配置而成。通信部209由网络接口等配置而成。驱动器210驱动诸如磁盘、光盘、磁光盘或半导体存储器的可移除介质211。
在如上所述配置的计算机200中,CPU 201经由输入/输出接口205和总线204将存储在例如存储部208中的程序加载到RAM 203,并执行该程序,由此执行如上所述的一系列处理。
由计算机200(CPU 201)执行的程序可以通过例如将程序记录在用作封装介质等的可移动介质211中来提供。替选地,程序可以经由诸如局域网、因特网或数字卫星服务的有线或无线传输介质来提供。
在计算机200中,通过将可移除介质211附接到驱动器210,可以经由输入/输出接口205将程序安装到存储部208中。替选地,程序可以由通信部209经由有线或无线传输介质接收并且被安装到存储部208中。在另一个替选方案中,程序可以被预先安装到ROM 202或存储部208中。
注意,由计算机200执行的程序可以是用于按照本说明书中描述的顺序按时间序列执行处理的程序,或者可以是用于并行地或在必要时(例如在被调用时)执行处理的程序。
此外,在本说明书中,不论所有的构成要素是否被设置在同一壳体中,系统都意指多个构成要素(设备、模块(部件)等)的集合。因此,容纳在不同壳体中并且经由网络彼此连接的多个设备以及其中多个模块被容纳在一个壳体中的一个设备二者都可以被称为“系统”。
此外,本说明书中描述的效果仅作为示例给出,并且效果不限于本说明书中描述的效果,并且可以包括其他效果。
此外,本公开内容的实施方式不限于上述实施方式,并且可以在不脱离本公开内容的精神的情况下进行各种改变。
例如,push-media-adapted命令可以指定除编码比特率之外的属性的范围。
注意,本公开内容可以如下被配置。
(1)
一种信息处理设备,包括:
发送部,其发送管理文件请求信息,所述管理文件请求信息用于请求不同的信息处理设备发送管理具有多个属性的内容的管理文件以及具有所述多个属性中的预定属性的内容的初始化文件。
(2)
根据(1)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述管理文件是MPD(媒体呈现描述)文件,
所述初始化文件是初始化分段文件,并且
所述管理文件请求信息包括指示所述预定属性的属性信息。
(3)
根据(2)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述MPD文件管理多个类型的内容,并且
所述管理文件请求信息包括指示与所述初始化分段文件对应的内容的类型的信息。
(4)
根据(1)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述发送部发送内容文件请求信息,所述内容文件请求信息用于请求所述不同的信息处理设备发送具有预定编码比特率和预定再现时钟时间的内容的文件以及以下后续内容的文件,所述后续内容是具有由所述不同的信息处理设备在可允许范围内选择的编码比特率并且具有晚于所述预定再现时钟时间的再现时钟时间的内容。
(5)
根据(4)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述管理文件是MPD(媒体呈现描述)文件,
文件是媒体分段文件,并且
所述内容文件请求信息包括指示所述可允许范围的范围信息。
(6)
根据(5)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述内容文件请求信息包括指示所述后续内容的时间段的信息。
(7)
根据(1)至(6)中任一项所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述属性的类型是以下项中的至少一个:所述内容的编码比特率、语言、角色、分辨率、采样率、帧率以及通道数。
(8)
根据(1)至(7)中任一项所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述发送部执行符合HTTP(超文本传输协议)/2或WebSocket协议的传输。
(9)
一种信息处理方法,包括:
发送步骤:由信息处理设备发送管理文件请求信息,所述管理文件请求信息用于请求不同的信息处理设备发送管理具有多个属性的内容的管理文件以及具有所述多个属性中的预定属性的内容的初始化文件。
(10)
一种信息处理设备,包括:
发送部,其基于管理文件请求信息来发送管理具有多个属性的内容的管理文件和具有所述多个属性中的预定属性的内容的初始化文件,所述管理文件请求信息用于请求所述信息处理设备发送所述管理文件以及所述初始化文件。
(11)
根据(10)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述管理文件是MPD(媒体呈现描述)文件,
所述初始化文件是初始化分段文件,并且
所述管理文件请求信息包括指示所述预定属性的属性信息。
(12)
根据(11)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述MPD文件管理多个类型的内容,并且
所述管理文件请求信息包括指示与所述初始化分段文件对应的内容的类型的信息。
(13)
根据(10)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述信息处理设备还包括:
选择部,其基于内容文件请求信息以及网络带宽来从可允许范围内的编码比特率中选择后续内容的编码比特率,所述内容文件请求信息请求所述信息处理设备发送具有预定编码比特率和预定再现时钟时间的内容的文件以及所述后续内容的文件,所述后续内容是具有由所述信息处理设备在所述可允许范围内选择的编码比特率并且具有晚于所述预定再现时钟时间的再现时钟时间的内容,并且
所述发送部发送具有所述预定编码比特率和所述预定再现时钟时间的内容的文件以及具有由所述选择部选择的编码比特率的后续内容的文件。
(14)
根据(13)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述管理文件是MPD(媒体呈现描述)文件,
文件是媒体分段文件,并且
所述内容文件请求信息包括指示所述可允许范围的范围信息。
(15)
根据(14)所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述内容文件请求信息包括指示所述后续内容的时间段的信息。
(16)
根据(10)至(15)中任一项所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述属性的类型是以下项中的至少一个:所述内容的编码比特率、语言、角色、分辨率、采样率、帧率以及通道数。
(17)
根据(10)至(16)中任一项所述的信息处理设备,
其中,所述信息处理设备被配置成使得:
所述发送部执行符合HTTP(超文本传输协议)/2或WebSocket协议的传输。
(18)
一种信息处理方法,包括:
发送步骤:由信息处理设备基于管理文件请求信息来发送管理具有多个属性的内容的管理文件和具有所述多个属性中的预定属性的内容的初始化文件,所述管理文件请求信息用于请求所述信息处理设备发送所述管理文件以及所述初始化文件。
[附图标记列表]
11递送服务器,12再现客户端,31http服务器,35选择部,51http客户端

Claims (18)

1.一种第一信息处理设备,包括:
请求生成部,其被配置成:
生成指定初始化分段文件的所选择的媒体类型和所述初始化分段文件的所选择的属性的命令,以及
生成具有包括所述命令的头部的媒体呈现描述MPD文件请求;以及
发送部,其被配置成发送包括所述命令的MPD文件请求,以请求第二信息处理设备发送MPD文件,所述MPD文件管理具有多个属性的内容以及包括所述媒体类型和所述所选择的属性的内容的初始化分段文件,
其中当所述请求生成部生成不包括所述命令的MPD文件请求时,所述发送部发送不包括所述命令的MPD文件请求,以请求所述第二信息处理设备发送所述MPD文件而不发送所述初始化分段文件。
2.根据权利要求1所述的第一信息处理设备,
其中,所述MPD文件管理具有所述多个属性中的预定属性的内容的初始化分段文件,并且
所述所选择的属性指示所述多个属性中的所述预定属性。
3.根据权利要求2所述的第一信息处理设备,
其中,所述第一信息处理设备被配置成使得:
所述MPD文件管理多个类型的内容。
4.根据权利要求1所述的第一信息处理设备,
其中,所述发送部将所述MPD文件请求发送至第二信息处理设备,以及
其中,所述发送部发送内容文件请求信息,所述内容文件请求信息用于请求所述第二信息处理设备发送具有预定编码比特率和预定再现时钟时间的内容的文件以及用于推送后续内容的文件,所述后续内容是具有由所述第二信息处理设备在可允许范围内选择的编码比特率并且具有晚于所述预定再现时钟时间的再现时钟时间的内容。
5.根据权利要求4所述的第一信息处理设备,
其中,所述第一信息处理设备被配置成使得:
文件是媒体分段文件,并且
所述内容文件请求信息包括指示所述可允许范围的范围信息。
6.根据权利要求5所述的第一信息处理设备,
其中,所述第一信息处理设备被配置成使得:
所述内容文件请求信息包括指示所述后续内容的时间段的信息。
7.根据权利要求1所述的第一信息处理设备,
其中,所述第一信息处理设备被配置成使得:
所述所选择的属性的类型是以下项中的至少一个:内容的编码比特率、语言、角色、分辨率、采样率、帧率以及通道数。
8.根据权利要求1所述的第一信息处理设备,
其中,所述第一信息处理设备被配置成使得:
所述发送部执行符合HTTP(超文本传输协议)/2或WebSocket协议的传输。
9.一种信息处理方法,包括:
通过第一信息处理设备生成指定初始化分段文件的所选择的媒体类型以及所述初始化分段文件的所选择的属性的命令;
通过所述第一信息处理设备生成具有包括所述命令的头部的媒体呈现描述MPD文件请求;以及
通过所述第一信息处理设备发送包括所述命令的MPD文件请求,以请求第二信息处理设备发送MPD文件,所述MPD文件管理具有多个属性的内容以及包括所述媒体类型和所述所选择的属性的内容的初始化分段文件,
其中当生成不包括所述命令的MPD文件请求时,发送不包括所述命令的MPD文件请求,以请求所述第二信息处理设备发送所述MPD文件而不发送所述初始化分段文件。
10.一种第二信息处理设备,包括:
发送部,其被配置成:
从第一信息处理设备接收媒体呈现描述MPD文件请求,所述MPD文件请求具有包括以下命令的头部,所述命令指定初始化分段文件的所选择的媒体类型以及所述初始化分段文件的所选择的属性,
其中,响应于接收到包括所述命令的MPD文件请求,所述发送部将MPD文件发送至所述第一信息处理设备,所述MPD文件管理具有多个属性的内容以及包括所述媒体类型和所述所选择的属性的内容的初始化分段文件,并且
响应于接收到不包括所述命令的MPD文件请求,所述发送部发送所述MPD文件而不发送所述初始化分段文件。
11.根据权利要求10所述的第二信息处理设备,
其中,所述第二信息处理设备被配置成使得:
所述MPD文件管理具有所述多个属性中的预定属性的内容的初始化分段文件,并且
所述所选择的属性指示所述多个属性中的所述预定属性。
12.根据权利要求11所述的第二信息处理设备,
其中,所述第二信息处理设备被配置成使得:
所述MPD文件管理多个类型的内容。
13.根据权利要求10所述的第二信息处理设备,
其中,所述第二信息处理设备被配置成使得:
所述第二信息处理设备还包括:
选择部,其基于内容文件请求信息以及网络带宽来从可允许范围内的编码比特率中选择后续内容的编码比特率,所述内容文件请求信息请求所述第二信息处理设备发送具有预定编码比特率和预定再现时钟时间的内容的文件以及所述后续内容的文件,所述后续内容是具有由所述第二信息处理设备在所述可允许范围内选择的编码比特率并且具有晚于所述预定再现时钟时间的再现时钟时间的内容,并且
所述发送部发送具有所述预定编码比特率和所述预定再现时钟时间的内容的文件以及具有由所述选择部选择的编码比特率的后续内容的文件。
14.根据权利要求13所述的第二信息处理设备,
其中,所述第二信息处理设备被配置成使得:
文件是媒体分段文件,并且
所述内容文件请求信息包括指示所述可允许范围的范围信息。
15.根据权利要求14所述的第二信息处理设备,
其中,所述第二信息处理设备被配置成使得:
所述内容文件请求信息包括指示所述后续内容的时间段的信息。
16.根据权利要求10所述的第二信息处理设备,
其中,所述第二信息处理设备被配置成使得:
所述所选择的属性的类型是以下项中的至少一个:内容的编码比特率、语言、角色、分辨率、采样率、帧率以及通道数。
17.根据权利要求10所述的第二信息处理设备,
其中,所述第二信息处理设备被配置成使得:
所述发送部执行符合HTTP(超文本传输协议)/2或WebSocket协议的传输。
18.一种信息处理方法,包括:
从第一信息处理设备接收媒体呈现描述MPD文件请求,所述MPD文件请求具有包括以下命令的头部,所述命令指定初始化分段文件的所选择的媒体类型以及所述初始化分段文件的所选择的属性,
其中,响应于接收到包括所述命令的MPD文件请求,通过第二信息处理设备将MPD文件发送至所述第一信息处理设备,所述MPD文件管理具有多个属性的内容以及包括所述媒体类型和所述所选择的属性的内容的初始化分段文件,并且
响应于接收到不包括所述命令的MPD文件请求,发送所述MPD文件而不发送所述初始化分段文件。
CN201780009818.1A 2016-02-12 2017-01-30 信息处理设备和信息处理方法 Active CN108605160B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN108605160A CN108605160A (zh) 2018-09-28
CN108605160B true CN108605160B (zh) 2021-09-03

Family

ID=59563903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780009818.1A Active CN108605160B (zh) 2016-02-12 2017-01-30 信息处理设备和信息处理方法

Country Status (8)

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

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017368324B2 (en) * 2016-12-01 2022-08-25 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 적응적 스트리밍 서버, 방법, 및 클라이언트 단말
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
US11290757B2 (en) * 2018-09-28 2022-03-29 Comcast Cable Communications, Llc Per-segment parameters for content
US11184665B2 (en) * 2018-10-03 2021-11-23 Qualcomm Incorporated Initialization set for network streaming of media data
KR20200081161A (ko) * 2018-12-27 2020-07-07 (주)아이앤아이소프트 컨텐츠 스트리밍 장치, 시스템 및 방법
US11546402B2 (en) 2019-01-04 2023-01-03 Tencent America LLC Flexible interoperability and capability signaling using initialization hierarchy
CN111510791B (zh) * 2019-01-30 2022-07-29 上海哔哩哔哩科技有限公司 播放音视频的方法、装置、计算机设备及可读存储介质
CN111510789B (zh) * 2019-01-30 2021-09-21 上海哔哩哔哩科技有限公司 视频播放方法、系统、计算机设备及计算机可读存储介质
EP3982638A4 (en) * 2019-06-25 2023-03-29 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, REPRODUCTION PROCESSING DEVICE AND REPRODUCTION PROCESSING METHOD
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103314579A (zh) * 2011-01-18 2013-09-18 三星电子株式会社 用于在多媒体流传输系统中存储和播放内容的装置及方法
CN104025604A (zh) * 2012-07-02 2014-09-03 索尼公司 传输设备、传输方法、以及网络装置
WO2015004276A2 (en) * 2013-07-12 2015-01-15 Canon Kabushiki Kaisha Adaptive data streaming method with push messages control
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 (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
WO2012030178A2 (ko) * 2010-09-01 2012-03-08 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
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
US20150172762A1 (en) * 2012-07-10 2015-06-18 Sharp Kabushiki Kaisha Content transmission device, content playback device, content delivery system, control method for content transmission device, control method for content playback device, data structure, control program, and recording medium
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
KR102299004B1 (ko) * 2014-03-10 2021-09-09 삼성전자주식회사 메시지들을 대쉬 클라이언트로 송신하는 방법 및 장치
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103314579A (zh) * 2011-01-18 2013-09-18 三星电子株式会社 用于在多媒体流传输系统中存储和播放内容的装置及方法
CN104025604A (zh) * 2012-07-02 2014-09-03 索尼公司 传输设备、传输方法、以及网络装置
WO2015004276A2 (en) * 2013-07-12 2015-01-15 Canon Kabushiki Kaisha Adaptive data streaming method with push messages control
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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108605160B (zh) 信息处理设备和信息处理方法
US20230179837A1 (en) Network Video Streaming with Trick Play Based on Separate Trick Play Files
JP6014870B2 (ja) ストリーミング・メディア・コンテンツのリアルタイム・トランスマックス変換の方法およびシステム
RU2652099C2 (ru) Устройство передачи, способ передачи, устройство приема и способ приема
JP3957666B2 (ja) マルチメディアストリーミング装置、マルチメディアストリーミングサーバ、マルチメディアストリーミングクライアント、マルチメディアストリーミング方法及びそのプログラムを記録した記録媒体
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
US9277252B2 (en) Method and apparatus for adaptive streaming based on plurality of elements for determining quality of content
FI115418B (fi) Adaptiivinen mediavirta
CN102232298B (zh) 媒体内容的传输处理方法、装置与系统
RU2622621C2 (ru) Система и способ для потоковой передачи воспроизводимого контента
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
JP2018023133A (ja) メディアコンテンツの適応型ストリーミングのための品質情報の使用
US20140359679A1 (en) Content streaming with client device trick play index
EP2908535A1 (en) Content transmission device, content playback device, content distribution system, method for controlling content transmission device, method for controlling content playback device, control program, and recording medium
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
GB2534057A (en) Methods for providing media data, method for receiving media data and corresponding devices
US20120303833A1 (en) Methods for transmitting and receiving a digital signal, transmitter and receiver
WO2016174960A1 (ja) 受信装置、送信装置、およびデータ処理方法
JP2014192566A (ja) 映像処理装置、映像処理方法およびコンピュータプログラム
JP4970912B2 (ja) 動画分割サーバおよびその制御方法
EP3419294B1 (en) Imaging apparatus, processing method for imaging apparatus, and storage medium
WO2014073202A1 (ja) 情報処理装置、情報処理方法、コンテンツ配信システム及びコンピュータプログラム記録媒体
JP2007267144A (ja) 情報配信方法、サーバ装置およびプログラム
US20240086451A1 (en) Information processing apparatus, reception apparatus, information processing method, and storage medium
US20160014181A1 (en) Content transfer method, content transfer apparatus and content receiving apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant