CN105659623B - 发送装置、发送方法、接收装置以及接收方法 - Google Patents

发送装置、发送方法、接收装置以及接收方法 Download PDF

Info

Publication number
CN105659623B
CN105659623B CN201480058471.6A CN201480058471A CN105659623B CN 105659623 B CN105659623 B CN 105659623B CN 201480058471 A CN201480058471 A CN 201480058471A CN 105659623 B CN105659623 B CN 105659623B
Authority
CN
China
Prior art keywords
segment
http
sample
subregion
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
CN201480058471.6A
Other languages
English (en)
Other versions
CN105659623A (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 CN105659623A publication Critical patent/CN105659623A/zh
Application granted granted Critical
Publication of CN105659623B publication Critical patent/CN105659623B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/633Control signals issued by server directed to the network components or client
    • 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/64Addressing
    • H04N21/6405Multicasting
    • 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/64Addressing
    • H04N21/6408Unicasting
    • 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/6437Real-time Transport Protocol [RTP]
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

该技术涉及使得可以迅速传递数据的发送装置、发送方法、接收装置以及接收方法。传递包含片段的一部分和HTTP报头的超文本传输协议(HTTP)响应。所述HTTP报头包含指示片段的排序位置的序列号以及指示前述部分在该片段内的排序位置的版本。例如,当经由多播传递数据时可应用该技术。

Description

发送装置、发送方法、接收装置以及接收方法
技术领域
本技术涉及发送装置、发送方法、接收装置以及接收方法,并且具体地,涉及例如能够迅速分配数据的发送装置、发送方法、接收装置以及接收方法。
背景技术
近几年来,在互联网上的流服务的主流是开放视频(OTT-V)。例如,超文本传输协议(HTTP)(MPEG-DASH)(以下称为DASH)上的动态图像专家组-动态自适应流已经开始被广泛地用作OTT-V的基本技术。
例如,在DASH中,作为包括属性信息的元数据以优选选择具有来自相同源的不同特性的流的媒体播放描述(MPD)从分配流的服务器报告至接收流的客户端。客户端通过使用MPD(例如,参照非专利文献1)实现网络环境自适应类型流。
也就是说,在DASH中,服务器根据分配路径的通信环境、客户端的容量和状态等准备具有不同图像质量和图像尺寸的多个流作为相同内容。
另一方面,客户端可从由服务器准备的多个流中自适应地选择可由客户端接收并且适用于客户端的能力(解码能力)的流。然后,客户端接收流并将其再现。
在DASH中,被称为MPD并且被用于再现和控制内容的元数据从服务器分配至客户端,以使客户端能够自适应地选择和接收流。
在MPD中,作为通过划分内容得到的分段的地址(如音频/视频/字幕的媒体数据)的统一资源定位符(URL)被写入。客户端基于被写入MPD的URL等发送http请求至分配内容的资源的(网络)服务器,以及根据http请求通过单播模式,接收并再现由服务器分配的分段。
现有技术文献
非专利文献
非专利文献1:“使用现有的Web服务器实现不间断的视频流”,光弘平林,NIKKEIELECTRONICS,2012.3.19
发明内容
发明要解决的问题
通过点对点的http流实现由DASH对内容的分配。因此,例如,当其被应用于内容(节目)的流(诸如大量的用户可以同时观看的体育广播),需要使用诸如Akamai的内容发送网络(CDN)(由其支持)。
然而,即使当使用CDN时,由于CDN成本的限制,很难要求等同于现有的广播分配的扩展性。
DASH具有使用http作为基础的流媒体协议。然而,关于同时由多个用户观看的内容,例如,期望通过一起使用多播或广播(MC/BC)承载(诸如实时传输协议(RTP)和通过单向传输(FLUTE))执行同时的多个分配来减小网络资源的负载。
在当前的DASH中,文件被分布在分段单元,同时在DASH中具有通过划分内容的流所获得的作为文件分配单元(控制目标)分段(其文件)。
因此,在当前的DASH中,当通过多播传送(包括广播分布)分配内容时,需要在生成分段之前等待分配内容。
在此之后,预测通常将执行具有更高质量的动态图像分配。在这种情况下,内容的流的比特率将增大。
当内容的流的比特率很大时,该网络的频带被压缩,并且需要在内容被分配的情况下执行整形(shaping,成形),即,在等待完成生成分段之后,在分段单元内执行块传送。
因此,当在分段单元内分配内容时,直到等待完成分段的生成之后,由客户端对内容的接收以及缓冲的开始最终被延迟。因此,需要及时分配内容的技术。
考虑这种情况做出本技术,并且本技术可迅速分配内容等的数据。
问题的解决方案
根据本技术的发送装置包括分配http响应的分配单元,http响应包括片段的一部分以及超文本传输协议(http)报头,该http报头包括表示片段的顺序的序列号以及表示片段的一部分在片段中的顺序的版本。
根据本技术的发送方法包括用于分配http响应的步骤,http响应包括片段的一部分以及超文本传输协议(http)报头,http报头包括表示片段顺序的序列号以及表示片段的一部分在片段中的顺序的版本。
根据上述的本技术的发送装置和发送方法,分配包括片段的一部分和超文本传输协议(http)报头的http响应。http报头包括表示片段顺序的序列号以及表示片段的一部分在片段中的顺序的版本。
根据本技术的接收装置包括接收http响应的接收单元,http响应包括片段的一部分以及超文本传输协议(http)报头,http报头包括表示片段顺序的序列号以及表示片段的一部分在片段中的顺序的版本。
根据本技术的接收方法包括用于接收http响应的步骤,http响应包括片段的一部分以及超文本传输协议(http)报头,http报头包括表示片段的顺序的序列号以及表示片段的一部分在片段中的顺序的版本。
根据如上的本技术的接收装置和接收方法,接收包括片段的一部分和超文本传输协议(http)报头的http响应。http报头包括表示片段顺序的序列号以及表示片段的一部分在片段中的顺序的版本。
发送装置和接收装置可以是独立的设备,并且可以是构成单个设备的内部模块。
发明的效果
根据本技术,能够迅速分配数据。
在本文描述的效果不是限制性的,并且该效果可以是在本公开内容中描述的任何效果。
附图说明
[图1]是应用了本技术的内容提供系统的实施方式的示例性结构的框图。
[图2]是分配服务器11的示例性结构的框图。
[图3]是客户端12的示例性结构的框图。
[图4]是用于描述由内容提供系统提供内容的示例性处理的示图。
[图5]是经由内容提供系统内的网络10分配的示例性数据的示图。
[图6]是用于描述MPD、SDP、USD以及OMA-ESG的示图。
[图7]是用于描述作为DASH的文件分配单元的分段的结构的示图。
[图8]是分别具有单个片段的分段和具有多个片段的分段的示例性结构的示图。
[图9]是具有作为在DASH中的文件分配单元的分段的内容的分配的示例的示图。
[图10]是用于描述具有作为在分配服务器11中的文件分配单元的分区(portion)的内容的分配的略述的示图。
[图11]是分段与分区之间的示例性关系的示图。
[图12]是作为分区60的示例性http响应的示图。
[图13]是作为分区70的示例性http响应的示图。
[图14]是用于描述分配在分区单元中的内容的示例性处理的流程图。
[图15]是用于描述接收在分区单元中的内容的示例性处理的流程图。
[图16]是用于描述通过LCT数据包对分区(以及分段)的多播分配的示图。
[图17]是LCT数据包的格式的示图。
[图18]是LCT报头的格式的示图。
[图19]是在分区单元中的内容的示例性分配的示图。
[图20]是LCT报头的扩展报头(报头扩展)的格式的示图。
[图21]是用于存储优先级参数的新扩展报头的示例性定义的示图。
[图22]是优先级参数(过滤参数)的示例性定义的示图。
[图23]是MVB过滤器的示例性定义的示图。
[图24]是描述用于分配具有优先级参数的LCT数据包的处理的示例的流程图。
[图25]是描述由客户端12执行的数据包过滤的示例性处理的流程图。
[图26]是应用本技术的计算机的实施方式的示例性结构的框图。
具体实施方式
<应用本技术的内容提供系统的实施方式>
图1是应用本技术的内容提供系统的实施方式的示例性结构的框图。
在图1中,内容提供系统包括连接至网络10的一个或多个分配服务器11、一个或多个客户端12,以及网络时间协议(NTP)服务器13。
在图1中的内容提供系统中,分配服务器11通过使用DASH经由网络10提供内容至客户端12。
这里,在当前的DASH中,通过开放式/内容传递网络(OTT/CDN)上的单播执行流的形成。然而,在图1中的内容提供系统内,执行内容的单播分配,并且此外,例如,可通过多播网络执行多播分配,其中,可在保证质量的情况下执行在便携式网络(eMBMS等)上的广播。
网络10包括可执行单播分配和多播分配的双向网络(如因特网)以及可执行广播和多播的广播系统网络。例如,作为网络10,可使用第三代合作伙伴计划(3GPP)的多媒体广播多播服务(MBMS)(包括演进的MBMS(eMBMS))。
例如,分配服务器11对应于广播站,并且经由网络10分配具有相同内容以及具有彼此不同的比特率和图像尺寸的多个流作为广播站的信道(服务)的节目。
客户端12经由网络10接收由分配服务器11分配的内容(其流),并再现它。
NTP服务器13经由网络10提供NTP时间,其是根据协调的通用时间(UTC)时间格式的时间信息。
分配服务器11和客户端12可根据从NTP服务器13提供的NTP时间同步地操作。
由分配服务器11分配的节目可以是实时分配的节目(实况节目),并且可以是录制的节目。
<分配服务器11的示例性结构>
图2是在图1中的分配服务器11的示例性结构的框图。
在图2中,分配服务器11包括信道成流器21、分段器22、元数据生成器23、单向传送的文件传输(FLUTE)成流器24、多播服务器25,以及网络服务器26。
这里,信道成流器21到网络服务器26可被布置在网络10中的一处,并且可被分配和布置在网络10中。当信道成流器21到网络服务器26被分配并布置在网络10中时,除了网络10以外,可经由专用线路或者其它传输线路执行它们之间的传输。
信道成流器21管理将作为分配服务器11的信道的节目被分配的作为内容的源数据的视频、音频以及字幕,并且从作为内容的源数据的视频等生成比特率不同的多个流数据,并且随后,信道成流器21将其提供至分段器22。
分段器22生成分段的文件,其中,来自信道成流器21的各流数据被分成时间方向,并将其提供至FLUTE成流器24以及网络服务器26。
即,例如,分段器22划分流数据,并生成fragmentedMP4(moof以及mdat)的片段。然后,分段器22通过收集一个或多个片段生成片段的文件。
另外,分段器22将关系信息提供至元数据生成器23。该关系信息与用于生成MPD所需要的分段相关,诸如分段的URL(用于提供分段(例如,分配服务器11)的服务器的URL)以及分段的范围(指示包括在分段中的诸如视频的内容中的范围的信息)。
此处,分段器22生成在生成片段的过程中由片段的一部形成的分区(将描述)而不是通过收集片段而形成的分段,并且能够将分区而不是分段提供至FLUTE成流器24。
例如,元数据生成器23通过使用从分段器22提供的片段的关系信息,生成MBMS的用户服务描述(USD)、DASH的MDP,以及互联网工程任务组的会话描述协议(SDP)(文件)的组合,或者USD、MPD、SDP以及开放移动联盟-电子服务指南(OMA-ESG)的组合,作为所需要的用于由客户端12接收分段的内容的元数据。
也就是说,元数据生成器23通过使用从分段器22提供的分段的关系信息生成由客户端12接收该分段且再现并控制它所需要的MPD,其中,片段的URL等被写入。
此外,元数据生成器23生成USD以及SDP或者生成USD、SDP以及OMA-ESG作为用于通知内容的多播分配(包括广播分配)的通知信息。
元数据生成器23将元数据提供给FLUTE成流器24和网络服务器26。
FLUTE成流器24从分段器22提供的内容(分段或它的分区)存储至FLUTE数据包,并将其提供至多播服务器25。FLUTE数据包是分层编码传送(LCT)数据包(在本实施方式中,这意味着是包括LCT报头并包括异步分层编码(ALC)数据包的数据包)。
另外,FLUTE成流器24从元数据生成器23提供的元数据存储至LCT数据包,并将其提供至多播服务器25。
多播服务器25经由网络10对来自FLUTE成流器24的LCT数据包执行(FLUTE)多播分配。
此处,如上所述,由于内容(分段或它的分区)以及元数据被存储在来自FLUTE成流器24的LCT数据包内,因此多播服务器25通过多播分配内容和元数据。
网络服务器26根据来自客户端12的请求(http请求),经由网络10执行对来自元数据生成器23元数据以及来自分段器22的内容(它的分段)执行至客户端12的(http)单播分配。
这里,如上所述,多播服务器25和网络服务器26用作用于分配内容以及元数据的分配单元。
在图2中,网络服务器26通过单播分配内容的分段。然而,类似于多播服务器25,网络服务器26能够执行针对内容的分区而不是分段的单播分配。
<客户端12的示例性结构>
图3是图1中的客户端12的示例性结构的框图。
在图3中,客户端12包括接收单元30和再现单元33。
例如,接收单元30用作根据由用户对客户端12进行的操作接收从分配服务器11分配的内容和元数据的接收单元。
也就是说,接收单元30接收从分配服务器11分配的元数据。此外,例如,接收单元30根据由用户对客户端12进行的操作,基于从分配服务器11接收的元数据,接收从分配服务器11分配的内容(分段和它的分区)。
接收单元30将从分配服务器11接收的内容提供至再现单元33,并基于从分配服务器11接收的元数据通过再现单元33控制内容的再现。
再现单元33根据由接收单元30进行的控制,再现从接收单元30提供的作为内容的视频、音频以及字幕。
这里,接收单元30具有中间件31和DASH客户端32。
当需要时,DASH客户端32输出用于请求MPD的http请求以及用于请求内容的分段的http请求至中间件31。
必要时中间件31通过多播接收从分配服务器11分配的内容(分段和其分区)以及元数据。当DASH客户端32输出http请求时,中间件31基于元数据确定是否对通过http请求来请求的MPD和片段执行多播分配。
当通过多播分配由从DASH客户端32输出的http请求所请求的MDP和片段时,中间件31接收由多播分配的MPD和片段(或包括片段的一部分的分区),并将它们提供至DASH客户端32。
当中间件31已经接收到由从DASH客户端32输出的http请求所请求的MPD和分段时,中间件31将所接收的MPD和分段提供至DASH客户32。
另一方面,当没有通过多播分配由从DASH客户端32输出的http请求所请求的MPD和分段时,中间件31原样地将从DASH客户端32输出的http请求传送至网络10(其分配服务器11)。中间件31根据http请求接收由单播(从分配服务器11)分配的MPD和分段,并将它们提供至DASH客户端32。
因此,类似于一般的DASH客户端,DASH客户端32输出用于请求需要的MPD和分段的http请求,并根据http请求接收从中间件31提供的MPD和分段,并执行对其的处理。
<内容提供系统的处理>
图4是描述由在图1中的内容提供系统提供内容的示例性处理的示图。
在步骤S11中,信道成流器21(图2)从作为将作为分配服务器11的信道的节目被分配的内容的源数据的视频等生成具有不同比特率的多个流数据。
在步骤S12中,信道成流器21将内容的具有不同比特率的多个流数据提供至分段器22。
在步骤S21中,分段器22(图2)接收从信道成流器21提供的内容(其多个流数据)。
在步骤S22中,分段器22从来自信道成流器21的内容生成作为DASH的文件分配单元的片段,并且在步骤S23中,将片段提供至FLUTE成流器24以及网络服务器26。
此外,在步骤S24中,分段器22生成分段的关系信息,并将其提供至元数据生成器23。
在步骤31中,元数据生成器23(图2)接收在步骤24中从分段器22提供的分段的关系信息。
在步骤S32中,元数据生成器23通过使用来自分段器22等的关系信息,生成内容的元数据,并将其提供至FLUTE成流器24以及网络服务器26。
在步骤S41中,FLUTE成流器24(图2)接收在步骤S23从分段器22提供的内容(其分段)。在步骤S42中,FLUTE成流器24生成包括内容的LCT数据包并将其提供至多播服务器25。
此外,在步骤S43中,FLUTE成流器24接收在步骤S32从元数据生成器23提供的元数据。在步骤S44中,FLUTE成流器24生成包括元数据的LCT数据包,并将其提供至多播服务器25。
在步骤S51中,多播服务器25(图2)接收包括在步骤S42从FLUTE成流器24提供的内容的LCT数据包。在步骤S52中,多播服务器25接收包括元数据的LCT数据包。
在步骤53中,多播服务器25对包括来自FLUTE成流器24的元数据的LCT数据包执行多播分配,以及在步骤S54中,对包括来自FLUTE成流器24的内容的LCT数据包执行多播分配。
在步骤S61中,网络服务器26(图2)接收在步骤S23中从分段器22提供的内容(其分段),并且在步骤S62中,接收在步骤S32中从元数据生成器23提供的元数据。
在步骤S63中,当从客户端12发送用于请求元数据的http请求时,网络服务器26接收http请求。
在这之后,在步骤S64中,网络服务器26通过单播将由来自客户端12的http请求所请求的元数据分配至客户端12。
以及,在步骤S65中,当从客户端12发送用于请求该内容(其分段)的http请求时,网络服务器26接收http请求。
在这之后,在步骤S66中,网络服务器26通过单播将由来自客户端12的http请求所请求的内容(其分段)分配至客户端12。
在客户端12(图3)中,在步骤S71中,接收单元30接收在步骤S53中通过多播由多播服务器25分配的元数据(其LCT数据包)。
或者,在步骤S72中,在客户端12中,接收单元30发送用于请求元数据的http请求。
如上所述,在步骤S72中由客户端12发送的http请求在步骤S63中由网络服务器26接收。由http请求所请求的元数据在步骤S64中通过单播被分配至客户端12。
如上所述,在步骤S73中,客户端12的接收单元30接收元数据,对元数据执行单播分配。
在步骤S74中,客户端12的接收单元30基于在步骤S71至S73中接收到的元数据,接收在步骤S54中由多播服务器25对其执行多播分配的内容(其LCT数据包)。
或者,在步骤S75中,在客户端12中,接收单元30基于在步骤S71或S73中接收到的元数据,发送用于请求内容的http请求。
如上所述,网络服务器26在步骤S65中接收在步骤S75中由客户端12发送的http请求。网络服务器26在步骤S66中通过单播将由http请求所请求的内容分配至客户端12。
在步骤S76中,如上所述,客户端12的接收单元30接收内容,对该内容执行单播分配。
在步骤S77中,客户端12的再现单元33基于元数据(MPD)再现由在步骤S74或S76中由接收单元30接收的内容。
<关于经由网络10分配的数据的描述>
图5是经由在图1中的内容提供系统内的网络10分配的示例性数据的示图。
在内容提供系统中,诸如MPD、SDP、USD以及OMA-ESG的元数据以及内容(分段或者其分区)被分配至客户端12。
可执行对元数据和内容的多播分配和单播分配。
MPD、SDP以及USD的组合,以及MPD、SDP和USD以及OMA-ESG的组合被用作元数据。
图6是描述MPD、SDP、USD以及OMA-ESG的示图。
现在,当假设某个节目是被关注的目标节目时,目标节目的详细信息、用于访问目标节目的USD的方法等被写入目标节目的OMA-ESG。
因此,当客户端12获得目标节目的OMA-ESG时,可通过参照写入在OMA-ESG中的用于访问USD的方法获得目标节目的USD。
目标节目的SDP的统一资源标识符(URI)、目标节目的MPD的URI等被写入目标节目的USD中。
因此,当客户端12获得目标节目的USD时,可通过参照写入在USD中的SDP和MPD的URI获得目标节目的SDP和MPD。
在目标节目的SDP中,写入传送属性(诸如IP地址和端口号),其中,由多播分配目标节目的内容。
因此,通过获得目标节目的SDP,可基于写入在SDP中的IP地址和端口号接收由多播分配的目标节目的内容。
如上所述,根据USD和SDP的组合以及USD、SDP和OMA-ESG的组合,客户端12能够识别内容通过多播分配并且能够接收通过多播所分配的内容。
目标节目的分段的URL、用于控制分段的再现所需的的信息等被写入目标节目的MPD中。
因此,通过获得目标节目的MPD,可基于写入MPD中的URL通过单播接收目标节目的分段。此外,可基于目标节目的MPD再现目标节目的分段。
也就是说,由于MPD包括用于控制分段的再现所需的的信息,因此需要MPD对于通过单播接收分段是必需的,并且另外,对于再现该分段是必需的。
<分段的结构>
图7是描述作为DASH的文件分配单元的分段的结构的示图。
此处,没有特别地限制由DASH分配的内容的格式。然而,例如,在本实施方式中,使用fragmentedMP4(其文件)作为由DASH分配的内容的格式。
分段(媒体分段)包括styp(分段类型)(框)、必要的sidx(分段索引)(框)、以及一个或多个片段(MP4片段)。
这里,当styp是“msdh”时,分段不包括sidx。当styp是“msix”时,分段包括sidx。对sidx的描述将将在下文适当地省略。
片段包括moof(电影片段)(框)以及mdat(媒体数据)(框)。
Mdat包括mdat报头和一个或多个样本。在访问MP4文件中的媒体数据(视频数据等)的情况下,样本是最小访问单元。因此,不能以比样本还小的单元访问MP4文件中的媒体数据。
Moof包括mfhd(电影片段报头)(框)以及traf(轨迹片段)(框)。
序列号(sequence_number)被存储在mfhd中。sequence_number表示具有sequence_number的片段的顺序。
该traf包括tfhd(轨迹片段报头)(框)、tfdt(轨迹片段解码时间)(框)、trun(轨迹片段运行)(框)、sdtp(独立样本)(框)等。
BaseMediaDecodeTime被存储在tfdt中。该BaseMediaDecodeTime表示来自包括在具有BaseMediaDecodeTime的片段中的样本之中的第一样本的显示时间。
trun存储需要用于计算包括在具有trun的片段中的各样本的显示时间的信息。
图8是具有单个片段的分段和具有多个片段的分段的示例性结构的示图。
图8的A是具有单个片段的分段的示例性结构的示图。
在图8的A中,三个连续的分段#1,#2,#3中的每个都具有单个片段。
例如,在这种情况下,当假设包括在第一分段#1中的单个片段的sequence_number(以下描述为“sqn”)为1时,包括在第二分段#2中的单个片段的sqn为2,其是通过将之前的片段的sqn=1增加了1而获得的。此外,例如,包括在第三分段#3中的单个片段的sqn为3,其是通过将之前的片段的sqn=2增加了1而获得的。
图8的B是具有多个片段的分段的示例性结构的示图。
在图8的B中,分段#1包括三个片段。
例如,在这种情况下,当假设分段#1的第一片段的sqn为1时,分段#1的第二片段的sqn为2,其是通过将之前的片段的sqn=1增加了1得到的。此外,例如,分段#1的第三片段的sqn为3,其是通过将之前的片段的sqn=2的增加了1而得到的。
为了简化描述,除非另有说明,以下将假设分段包括如图8的A所示的单个片段。
<具有分段作为文件分配单元的内容的分配>
图9是具有作为在DASH中的文件分配单元的分段的内容的分配的示例的示图。
在图9中,按顺序生成分别包括一个或多个样本的样本组#1、#2以及#3,作为包括在分段中的样本组。在完成分段的最后样本组#3的生成之后,分配服务器11(图2)的分段器22生成包括mdat的片段(其中,布置有样本组#1至#3)以及样本组#1至#3的moof。此外,生成包括该段的分段。在此之后,FLUTE成流器24以及多播服务器25分配该分段。
这里,例如,并行地执行样本组#1至#3的moof的生成以及样本组#1至#3的生成。
此外,例如,可使用作为随机可访问的最小单位的图像组(GOP)的范围作为成为分段的内容的范围(被布置作为片段的mdat的样本组#1至#3)。
然而,成为片段的内容的范围并不限于GOP的范围。
例如,作为GOP的时间,通常使用约0.5到2秒。因此,当使用GOP的范围作为成为片段的内容的范围时,在等待至少约为0.5至2秒的GOP时间之后生成片段以及moof。也就是说,对于生成分段,至少需要GOP的时间。
因此,当通过多播分配分段作为文件分配单元时,需要等待用于生成分段所需的至少GOP的时间,以分配分段。
可以预测将来将执行具有高质量的动态图像的分配。在这种情况下,片段的数据量变得非常大。当等待了GOP的时间之后分配具有非常大的数据量的分段时,网络的频带被压缩,并且需要进行整形。
因此,当假设分段为文件分配单元时,通过客户端对内容的接收以及缓冲的开始最终被延迟。
分配服务器11通过多播分配包括小于分段的分段的一部分(以下称为分区)的数据作为文件分配单元,使得内容(其数据)被迅速分配。因此,防止在由客户端接收内容时以及开始缓冲时产生延迟。
<具有分区作为文件分配单元的内容的分配>
图10是描述在分配服务器11中具有分区作为文件分配单元的内容的分配的略述的示图。
类似于在图9中的情况,按顺序生成样本组#1至#3作为包括在图10中的片段中的样本组。
然而,在图10中,在当生成样本组#1时,分配服务器11(图2)的分段器22生成包括样本组#1的作为文件分配单元的分区,而不等待片段的最后样本组#3的生成的完成。FLUTE成流器24以及多播服务器25通过多播分配该分区。
此外,在图10中,当生成随后的样本组#2时,分段器22生成包括样本组#2的作为文件分配单元的分区,FLUTE成流器24以及多播服务器25通过多播分配该分区。
当分段器22完成片段的最后样本组#3的生成时,生成包括样本组#3的作为文件分配单元的分区,并且,FLUTE成流器24以及多播服务器25通过多播分配该分区。
如上所述,生成包括样本组(在图10中的样本组#1至#3)的分区,该分区是小于分段的片段的一部分,并且通过多播分配该分区。因此,可以迅速分配该内容,并且可防止由客户端接收内容时以及开始缓冲时产生的延迟。
在此,例如,当假设样本组#1至#3的每个是一个GOP的数据时,样本组#1对应于首先在GOP内编码的I图像的数据。样本组#2对应于在GOP的I图像之后编码的一个或多个图像的P图像和B图像的数据,并且样本组#3对应于GOP的B图像和P图像的剩余数据。
<分区>
图11是分段与分区之间的示例性关系的示图。
图11的A是示例性分段的示图。
在图11的A中,分段50包括styp 51和(单个)片段52。
片段52包括moof 53和mdat 54。
如在图7所述的,moof 53存储片段52的序列号sqn以及BaseMediaDecodeTime(以下称作bmdt)。BaseMediaDecodeTime表示片段52的mdat 54的第一样本(在图11的A中的样本组56的第一样本)的显示时间。
这里,在图11的A中,片段52的序列号sqn被设定为1。
mdat 54将mdat报头55以及三个样本组56至58以该顺序存储。例如,样本组56至58分别对应于图10中的样本组#1至#3。
存储在mdat 54中的三个样本组56至58的第二样本组57的第一样本是来自第一样本组56的顶部的第n1个样本。
并且,三个样本组56至58的第三样本组58的第一样本是来自第一样本组56的顶部的第n2(>n1)个样本。
这里,存储在mdat中的样本从mdat中的第一样本开始的顺序被称为样本号。
在图11的A中,样本组57的第一样本的样本号是n1,并且样本组58的第一样本的样本号是n2。
图11的B至图11的D是在生成图11的A中的分段50的情况下,包含包括在分段50中的片段52的一部分的示例性分区的示图。
也就是说,图11的B是包括作为片段52的一部分的样本组56的示例性部分的示图。并且,图11的C是包括作为片段52的其它部分的样本组57的示例性部分的示图,以及图11的D是作为片段52的另外部分的样本组58的示例性部分的示图。
在图11的A至图11的D中,http响应(其文件)被用于作为分区(其文件)。
在图11的B中,分区60是包括片段52的第一样本组56的http响应。在分区60中,http报头61、MS/BR 62、styp 51、moof子集64、MS/BR 65、mdat报头55、MS/BR 66、样本组56以及MS 67以此顺序布置。
http报头61是指示消息主体是多部分消息主体的http报头。http报头61包括序列号sqn、版本v和NTP时间nt。
http报头61的序列号sqn被设定为1,其与存储在片段52的moof 53中的序列号sqn相同,片段52包括包含在分区60(作为片段52的一部分)中的样本组56。
版本v表示作为包括在包含版本v的分区中的片段的一部分的样本组在片段中的顺序。例如,当具有初始值1时,版本v是将相同的序列号sqn(具有sqn范围)增加1而得到的整数。
包括在包括http报头61的版本v的分区60内的片段52的一部分是样本组56,并且样本组56是在片段52中的第一样本组。因此,http报头61的版本v被设定为1。
例如,如图9所示,该分段包括三个片段,并且三个片段的序列号sqn分别为1、2和3。在这种情况下,例如,当生成包括样本组的6(=3×2)个分区(通过将各片段的样本组一分为二所获得)时,各六个分区的序列号sqn和版本v的对(sqn,v)是(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)。
http报头61的NTP时间nt表示存储在片段52的moof 53中的bmdt(BaseMediaDecodeTime),片段52的一部分(样本组56)被包括在包含NTP时间nt的分区60中,即,对应于表示片段52(样本组56的第一样本)的第一样本的显示时间的NTP时间NT。
MS/BR 62表示多部分-分割器(multipart-separater)以及紧接多部分-分割器之后布置的styp 51的字节范围。
MS/BR 63表示多部分-分割器以及紧接多部分-分割器之后布置的moof子集64的字节范围。
moof子集64是在生成被布置在片段52的三个样本组56至58的分区60中的第一样本组56之前生成的moof 53的子集,并且包括存储在moof 53中的序列号sqn和bmdt。
作为moof 53的子集并且可在生成第一样本组56之前被生成的moof子集64能够再现样本组56。
MS/BR 65表示多部分-分割器以及紧接多部分-分割器之后布置的mdat报头55的字节范围。
MS/BR 66表示多部分-分割器以及紧接多部分-分割器之后布置的样本组56的字节范围。
MS 67表示多部分-分割器。
在图11的B中,包括片段52的第一样本组56的分区60包括styp 51。然而,可通过包括在http响应而不是分区60中分配styp 51(此外,未示出的sidx)。
在图11的C中,分区70是包括片段52的第二样本组57的http响应。在分区70中,http报头71、MS/BR 72、moof子集73、MS/BR 74、样本组57以及MS 75以该顺序布置。
http报头71是指示消息主体是多部分的消息主体的http报头。http报头71包括序列号sqn、版本v、NTP时间nt以及样本计数起始scs(SampleCountStart)。
http报头71的序列号sqn被设定为1,其与存储在片段52的moof 53的序列号sqn相同,片段52包括包含在分区70(作为片段52的一部分)中的样本组57。
http报头71的版本v被设定为2。即,由于分区70包括片段52的样本组56至58的第二样本组57,因此http报头71的版本v被设定为2。
http报头71的NTP时间nt表示对应于存储在片段52的moof 53中的bmdt的NTP时间,片段52的一部分(样本组57)被包括在包含NTP时间nt的分区70中。http报头71的NTP时间nt与http报头61的NTP时间nt=NT相同。
样本计数起始scs表示包括在包含样本计数起始scs的分区中的样本组的第一样本从片段的中的第一样本起的的顺序。
如在图11的A中所描述的,包括在分区70中的样本组57的第一样本是从第一样本组56的顶部开始的第n1个样本。因此http报头71的样本计数起始scs被设定为n1。
MS/BR 72表示多部分-分割器以及紧接多部分-分割器之后布置moof子集73的字节范围。
moof子集73是在生成第二样本组57(被布置在片段52的三个样本组56至58的分区70中)之前生成的moof 53的子集,并且包括存储在moof 53中的序列号sqn和bmdt。
作为在生成样本组57之前生成的moof 53的子集的moof子集73中,用于再现样本组57所需的的信息被添加至在生成样本组56之前生成的moof子集64中。因此,根据moof子集73,能够再现在生成样本组57之间生成的样本组57以及样本组56。
MS/BR 74表示多部分-分割器以及紧接多部分-分割器之后布置的样本组57的字节范围。
MS 75表示多部分-分割器。
在图11的D中,分区80是包括片段52的第三样本组58的http响应。在分区80中,http报头81、MS/BR 82、moof子集83、MS/BR 84、样本组58以及MS 85以该顺序布置。
http报头81是指示消息主体是多部分消息主体的http报头。http报头81包括序列号sqn、版本v、NTP时间nt以及样本计数起始scs。
http报头81的序列号sqn被设定为1,其与存储在片段52的moof 53中的序列号sqn相同,该片段52包括包含在分区80(作为片段52的一部分)中的样本组58。
http报头81的版本v被设定为3。即,由于分区80包括片段52的样本组56至58的第三样本组58,因此,http报头81的版本v被设定为3。
此外,由于包括在分区80中的样本组58是片段52的最后样本组,即,序列号sqn为1的最后样本组,因此http报头81的版本v被设定为3(其是样本组58在片段52中的顺序)并且被设定为“-结束”,作为指示这是片段的最后样本组的信息。
因此,例如,接收该分区的客户端12能够基于版本v识别包括在分区(作为片段的一部分)中的样本组的顺序,以及识别样本组是否是片段的最后样本组。
http报头81的NTP时间nt表示对应于存储在片段52的moof 53中的bmdt的NTP时间,片段52的一部分(样本组58)被包括在包含NTP时间nt的分区80中。http报头81的NTP时间nt与http报头61和71的NTP时间nt=NT相同。
如上所述,样本计数起始scs表示包括在包含样本计数起始scs的分区中的样本组的第一样本从片段的中的第一样本起的顺序。
因此,http报头81的样本计数起始scs被设定为n2。即,如图11的A所描述的,包括在分区80中的样本组58的第一样本是从第一样本组56的顶部起的第n2个样本。因此,http报头81的样本计数起始scs被设定为n2。
MS/BR82表示多部分-分割器以及紧接多部分-分割器之后布置的moof子集83的字节范围。
moof子集83是在生成第三样本组58(被布置在片段52的三个样本组56至58的分区80中)之前生成的moof 53的子集,并且包括存储在moof 53中的序列号sqn和bmdt。
此处,由于moof子集83是在生成布置在分区80中的第三样本组58(即,片段52的最后样本组58)之前生成的moof 53的子集,因此moof子集83等于moof 53。
如上所述,作为在生成样本组58之前生成的moof 53的子集的moof子集83等于moof 53。因此,根据moof子集83,能够再现样本组58以及在样本组58之前生成的样本组56和57。
MS/BR 84表示多部分-分割器以及紧接多部分-分割器之后布置的样本组58的字节范围。
该MS 85表示多部分-分割器。
如上所述,由于作为http响应的分区在http报头中包括序列号sqn和版本v,因此接收到分区的客户端12(其它装置)在基于序列号sqn以及版本v识别包括在分段中的分区中的样本组的顺序时执行再现,以及当需要形成分段时能够执行再现。
此外,该分区包括moof子集,其是用于再现包括在分区中的样本组的moof所需要的信息。因此,当客户端12在接收到构成分段的所有分区(样本组)之前接收到单个分区时,当包括在单个分区中的样本组是可被单独再现的样本组(例如,I图像的样本组)时,或者当样本组是可通过使用已近接收的样本组再现的样本组时,可以开始再现包括在接收的单个分区中的样本组。
版本v可与序列号sqn一起包括在moof子集中。然而,当版本v与序列号sqn一起包括在moof子集中时,需要扩展现有的moof的定义以在moof中包括版本v。当版本v被包括在http报头中时,不需要扩展现有的moof的定义。
另外,在图11的A至图11的D中,分别包括片段52的第二和随后的样本组57和58的分区70和80的http报头71和81包括样本计数起始scs,并且包括片段52的第一样本组56的分区60的http报头61不包括样本计数起始scs。然而,样本计数起始scs也可包括在分区60的http报头61中,该分区60包括片段52的第一样本组56。
然而,从片段的第一样本起,片段的第一样本组的第一样本的顺序恒定地为1并为固定值。因此,如在图11的B中所示,包括片段的第一样本组的分区的http报头(http报头的版本v为1)可省略样本计数起始scs,并且相应地,可以减小http报头的大小。
此外,在作为http响应的分区中,http报头可包括对应于存储在片段的moof中的bmdt(bmdt表示片段的第一样本的显示时间)的NTP时间nt。因此,当接收到分区时,客户端12可在没有相应MPD的情况下再现包括在分区中的样本组。
即,例如,内容包括,控制再现在由NTP时间表示(诸如实况转播节目)的绝对时间的时间轴上的定时所需要的内容。在这种情况下,关于内容的样本,有必要计算作为其中每个样本被映射(显示)的绝对时间的NTP时间。
在这里,片段的第N个样本的显示时间(第N个样本的显示时间(合成时间))可以根据以下公式来计算。
第N个样本的PresentatioTime(CompositionTime)=BaseMediaDecodeTime+(N-1)个样本的SampleDuration的总和+第N个样本的CompositionTimeOffset。
可从存储在片段的moof中的信息获得(N-1)个样本的SampleDuration的总和以及第N个样本的CompositionTimeOffset(sampleCount、SampleDuration以及CompositionTimeOffset),并且BaseMediaDecodeTime是存储在moof中作为bmdt。
当对应于用于计算样本的显示时间的BaseMediaDecodeTime的NTP时间已知时,可得到样本的绝对时间。
对应于BaseMediaDecodeTime(BaseMediaDecodeTime=0)的NTP时间作为起始点被写入DASH的MDP中。因此,当确保MPD的获取时,不需要包括与在http报头中的存储在片段的moof中的bmdt对应的NTP时间nt。
然而,http报头包括对应于存储在片段的moof中的bmdt(表示片段的第一样本的显示时间的bmdt)NTP时间nt。根据这一点,当接收到分区时,在没有对应的MPD的情况下,客户端12基于包括在分区的http报头中的NTP时间nt,计算NTP时间作为包括在分区中的样本组的各样本的绝对时间,以及能够根据NTP时间再现样本。
并且,在作为http响应的分区中,http报头可包括样本计数起始scs,其表示包括在分区中的样本组的第一样本从片段的第一样本起的顺序。因此,当包括在分段中的多个分区的分区的一部分(分别包括包含在分段中的样本组的分区)缺失时,可再现在缺失的分区之后的分区(包括在分区内的样本组)。
也就是说,当确保客户端12接收到包括在分段中的所有的多个分区时,在没有样本计数起始scs的情况下,可识别指示从片段的第一样本起的分区的各样本的顺序的样本号。可基于样本号从moof子集获得用于再现样本需要的信息,并且可再现该样本。
然而,当包括在分段中的多个分区的分区的一部分缺失时,关于包括在缺失分区后的分区中的样本,在没有样本计数起始scs的情况下,不能识别样本号,以及很难再现该样本。
通过在分区的http报头中包括样本计数起始scs,即使当包括在分段中的多个分区的分区的一部分缺失时,关于包括在缺失的分区后的分区中的样本,可通过样本计数起始scs识别样本号,并且可再现该样本。
另外,由于分区包括作为moof 53的子集并且可在包括在分区内的样本组产生之前生成的moof子集,已经接收到分区的客户端12可以基于包括在分区内的moof子集开始再现包括在接收的分区内的样本组,而不等待随后的分区。
此外,例如,分区的http报头可包括文件递送表(FDT),其是由FLUTE分配的各种属性信息,该FLUTE通过多播分配分区。在这种情况下,客户端12可提供包括在分区的http报头中的FDT以接收数据,对该数据执行了FLUTE多播分配。
图12是作为在图11的A至图11的D中的分区60的http响应的示例性描述的示图。
描述100是http报头61,并且在http报头61的描述101中的“X-MoofSeqNumVersion”以及在描述102中的“X-NTPTimeStamp”是被重新定义的报头。
描述101中的“X-MoofSeqNumVersion”是表示序列号sqn和版本v的报头,并且包括表示序列号的可变的sqn以及表示版本的可变的v。作为片段52的序列号sqn的可变的sqn被设定为1,并且可变的v被设定为1,其是包括在分区60中的样本组56在片段52中的顺序。
描述102中的“X-NTPTimeStamp”是表示NTP时间nt的报头(对应于BaseMediaDecodeTime)。在图12中,“X-NTPTimeStamp”被设定为2890844526,作为对应于表示片段52的第一样本(样本组56的第一样本)的显示时间的bmdt的NTP时间NT。
描述103是MS/BR 62,并且描述103中的“SEPARATER_STRING”表示多部分分割器。另外,描述103中的“Content-range:bytes492-499/124567654”表示紧跟其后的styp 51的字节范围。
这里,在描述103中的字节范围“Content-range:bytes492-499/124567654”表示该片段的大小是124567654字节,并且紧跟其后的styp 51的大小是124567654字节的492到499字节。
styp 51的字节序列跟随在描述103之后。
在styp 51的字节序列后的描述104是MS/BR 63,并且,在描述104中的“Content-range:bytes 500-991/124567654”表示紧跟其后的moof子集64的字节范围。
此处,关于moof子集的字节范围,在生成包括片段的第一样本组的分区(在图11的A至图11的D的分区60)时间处,预测片段的moof(在图11的A至图11的D的moof 53)的字节范围。Moof的字节范围的预测值被用作包括在分段的样本组的各分区(在图11的A至图11的D的分区60、70和80)的moof子集的字节范围。因此,分区60的moof子集64、分区70的moof子集73以及分区80的moof子集83的字节范围均为相同的值(moof 53的字节范围的预测值)。
moof子集64的字节序列跟在描述104之后。
在moof子集64的字节序列后的描述105是MS/BR 65,描述105中的“Content-range:bytes 992-999/124567654”表示紧跟其后的mdat报头55的字节范围。
mdat报头55的字节序列跟在描述105之后。
在mdat报头55的字节序列后的描述106是MS/BR 66,描述106中的“Content-range:bytes 1000-4999/124567654”表示紧跟其后的样本组56的字节范围。
样本组56的字节序列跟在描述106之后。
样本组56的字节序列的描述107是MS 67。
图13是作为在图11的A至图11的D的分区70的http响应的示例性描述的示图。
描述120是http报头71,并且在http报头71的描述121中的“X-MoofSeqNumVersion”、在描述122中的“X-NTPTimeStamp”以及在描述123中的“X-SampleCountStart”是重新限定的报头。
如在图12中所述的,描述121中的“X-MoofSeqNumVersion”是表示序列号sqn和版本v的报头。表示序列号的可变的sqn被设定为1,其是片段52的序列号sqn,并且表示版本的可变的v被设定为2,其是包括在分区70中的样本组57在片段52中的顺序。
如在图12中所述,描述122中的“X-NTPTimeStamp”是表示NTP时间nt的报头,并且对应于表示片段52的第一样本的显示时间的bmdt的NTP时间NT被设定为2890844526,其是与在图11的A至图11的D中的情况下的时间相同。
描述123中的“X-SampleCountStart”是表示样本计数起始scs的报头。在图13中,“X-SampleCountStart”被设定为n1,其是包括在片段70中的样本组57的第一样本的样本号。
描述124是MS/BR 72,并且描述124中的“Content-range:bytes500-991/124567654”表示紧跟其后的moof子集73的字节范围,并且与在图12中的描述105中的moof子集64的字节范围相同(moof 53的字节范围的预测值)。
moof子集73的字节序列跟在描述124之后。
在moof子集73的字节序列之后的描述125是MS/BR 74,并且描述125中的“Content-range:bytes 5000-7999/124567654”表示紧跟其后的样本组57的字节范围。
样本组57的字节序列跟在描述125之后。
样本组57的字节序列的描述126是MS 75。
在图11的A至图11的D中的分区80与在图13中的分区70的构成相似。
<在分区单元中的内容的分配>
图14是描述用于接收在分区单元中的内容的示例性处理的流程图。
在步骤S101中,分配服务器11(图2)的分段器22生成目标片段的mdat报头以及具有片段(例如,图11的A至图11的D中的片段52)的第一样本组,其中,将生成样本组作为目标片段。然后,处理程前进到步骤S102。
在步骤S102中,分段器22生成用于第一样本组的http报头(例如,在图11的A至图11的D的http报头61),并且过程前进到步骤S103。
也就是说,分段器22生成http报头作为第一样本组的http报头。http报头包括与存储在目标片段的moof中的序列号相同的序列号sqn、作为用于表示在目标片段中的第一样本组的顺序的一个的版本v、以及对应于存储在目标片段的moof中的bmdt的NTP时间nt。
关于目标片段,在步骤103中,分段器22获得用于再现第一样本需要的moof的一部分作为第一样本组的moof子集(其可在生成第一样本组之前生成),并且过程前进到步骤S104。
在步骤S104中,分段器22通过将用于第一样本组的http报头添加至包括目标片段、第一样本组的moof子集、目标片段的mdat以及第一样本组的分段的styp(以及需要的sidx),来生成http响应作为分区,并且将其提供至FLUTE成流器24。然后,过程前进到步骤S105。
这里,当包括目标片段的分段包括多个片段,并且目标片段不是多个片段的第一片段时,在步骤104中产生的作为分区的http的响应不包括styp(和必要的sidx)。
在步骤S105中,FLUTE成流器24将来自分段器22的作为分区的http响应打包成LCT数据包,并且多播服务器25执行至LCT数据包的多播分配。然后,过程前进到步骤S106。
关于目标片段,分段器22生成下一个样本组作为在步骤S106中的目标样本组,并且过程前进到步骤S107。
在步骤S107中,分段器22生成目标样本组的http报头(例如,在图11的A至图11的D中的http报头71和81),并且过程前进到步骤S108。
即,分段器22生成http报头作为目标样本组的http报头,并且http报头包括与存储在目标片段的moof中的序列号相同的序列号sqn、表示目标样本组在目标片段中的顺序的版本v、以及对应于存储在目标片段的moof中的bmdt的NTP时间nt、以及表示目标样本组的第一样本的样本号的样本计数起始scs。
关于目标片段,在步骤S108中,分段器22获得用于再现目标样本组所需要的moof的一部分作为目标样本组的moof子集,其可在生成目标样本组(以及在生成目标片段的目标样本组之前生成的样本组)之前生成。然后,过程前进到步骤S109。
在步骤109中,分段器22通过将用于目标样本组的http报头添加至目标样本组的moof子集以及目标样本组来生成http响应作为分区,并将其提供至FLUTE成流器24,并且过程前进到步骤S110。
类似于步骤S105,在步骤S110中,FLUTE成流器24将来自分段器22作为分区的http响应打包成LCT数据包,并且多播服务器25执行对LCT数据包的多播分配。然后,过程前进到步骤S111。
步骤S111中,分段器22确定目标样本组是否是目标片段的最后一个样本组。
当在步骤S111确定目标样本组不是目标片段的最后样本组时,即,当在目标片段中存在目标样本组的下一个样本组时,过程返回至步骤S106,并且重复相似的处理,使目标样本组的下一个样本组作为新的目标样本组。
此外,当在步骤S111中已经确定目标样本组是目标片段的最后样本组时,过程返回到步骤S101,并且在其之后重复相似处理,使目标片段的下一个片段作为新的目标片段。
<分区单元内的内容的接收>
图15是描述用于接收分区单元中的内容的示例性处理的流程图。
在步骤S121中,客户端12(图3)的接收单元31在等待作为分区的http响应的多播分配之后,接收作为分区的http响应,过程前进到步骤S122。
在步骤S122中,在需要时,再现单元33通过使用包括在http响应中的moof子集、包括在http响应的http报头中的序列号sqn、版本v、NTP时间nt以及样本计数起始scs,再现包括在由接收单元31接收的作为分区的http响应中的样本组。
过程从步骤S122返回到步骤S121,并且之后重复类似的处理。
如上所述,由于分配服务器11在无需等待分段的生成的情况下,在生成作为包括在分段中的片段的一部分的样本组时分配包括样本组的作为分区的http响应,因此分配服务器11能够迅速分配内容。
因此,可防止由客户端12接收内容时和开始缓冲时产生的延迟。
<LCT数据包>
图16是描述通过LCT数据包的分区(以及分段)的多播分配的示图。
FLUTE成流器24将分区(以及分段)打包成LCT数据包,并且多播服务器25执行对LCT数据包的多播分配。
例如,如在图16中所示,FLUTE成流器24通过将分区划分成具有预定大小的小块并将每个小块存储至LCT数据包将分区打包成LCT数据包。
图17是LCT数据包的格式的示图。
LCT数据包包括LCT报头(LCT报头)、FEC有效负载ID以及编码符号(按该顺序布置)。
分区的小块被存储在LCT数据包中作为编码符号。
图18是LCT报头的格式的示图。
LCT报头包括传送会话标识符(TSI)、传送对象标识符(TOI)以及必要的扩展报头(报头扩展)。
TSI是用于识别LCT数据包的会话的标识符。例如,通过将包括样本组56、57和58的分区60、70和80打包成最初分配在单个分段50(图11的A至图11的D)中分别获得的LCT数据包的TSI被设定为相同的值。
TOI是用于识别其中数据存储在LCT数据包的编码符号中的对象的标识符。例如,LCT数据包的TOI被设定为相同的值,其中,从分区60划分成的小块被存储在编码符号中。
然而,例如,对于其中通过划分分区60得到的小块被存储在编码符号中的LCT数据包、以及对于其中通过划分分区70得到的小块被存储在编码符号中的LCT数据包而言,分区60的对象(其中,数据(小块)被存储在编码符号中)不同于分区70的对象。因此,其中通过划分分区60得到的小块被存储在编码符号中的LCT数据包与其中通过划分分区70得到的小块被存储在编码符号中的LCT数据包具有不同于彼此的TOI。
通过接收具有相同的TOI的LCT数据包,客户端12可以通过收集存储在LCT数据包中的分区的小块,重构最初的分区。
图19是在分区单元中的内容的示例性分配的示图。
在图19中,某个片段包括样本组#1,#2,#3,...。
例如,样本组#1是不参考其它示图(view)的基本视图(基层的视图)的视频,并且样本组#2,#3...是可参考其它视图(诸如基本视图(增强层的视图))的非基本视图的视频。
在分区单元的内容的分配中,分配服务器11生成包括样本组#i(i=1,2,3,...)的分区#i。分区#i被划分成小块,并且分区#i的小块被存储在LCT数据包#i中并被分配。
用于存储分区#i的小块的LCT数据包#i的TOI是相同的值。因此,客户端12可通过接收LCT数据包并从所接收的LCT数据包中收集存储在具有相同TOI的LCT数据包中的分区#i的小块,重构最初的分区#i。
这里,如上所述,在图19中,包括在分区#1中的样本组#1是基本视图的视频,并且样本组#2,#3...是非基本视图的视频。
如上所述,当包括在分区中的样本组是数据(处理单元)时,其可基于诸如基本视图的视频以及非基本视图的视频的特定标准进行分类,可执行用于选择分区(包括在其中的样本组)单元中的LCT数据包的数据包过滤。
即,例如,当由于其中分配LCT数据包的网络环境的改变,导致很难将充足的资源(包括用于最终接收LCT数据包的客户端12的资源)分配至LCT数据包的分配时,在LCT数据包的分配路径上的路由器(例如,FLUTE多播路由器)以及客户端12的网络堆栈(用于执行对LCT数据包的处理的模块)能够选择最小的LCT数据包或者具有高优先级的LCT数据包用于处理,并且能够执行对它的处理(诸如转发和堆栈的处理)。
尤其,例如,对于通过使用便携式网络(其中,网络环境波动很大)对内容进行的分配,非常需要如上所述的用于选择最小的LCT数据包和选择具有高优先级的LCT数据包的用于处理以及执行对其处理的数据包过滤技术。
作为用于执行在分区单元内选择LCT数据包的数据包过滤的方法,存在如下方法,其中,作为分区的http报头包括样本组(例如,FDT)的属性信息,例如,该属性指示包括在分区内的样本组是基本视图的视频还是非基本视图的视频,并且基于样本组的属性信息选择用于存储包括样本组的分区(其小块)的LCT数据包。
然而,当作为分区的http报头包括包含在分区内的样本组的属性信息时,当每次执行数据包过滤时,需要从LCT数据包重构最初的分区以识别样本组的属性信息。很难有效地执行数据包过滤。
在分配服务器11中,FLUTE成流器24生成LCT数据包,该LCT数据包具有包括表示LCT数据包的处理的优先级的优先级参数的LCT报头,并且,多播服务器25通过多播分配具有包括优先级参数的LCT报头LCT数据包。因此,可执行有效的数据包过滤,并且根据这一点,可及时分配并处理必要的LCT数据包。
<优先级参数>
根据本技术,LCT报头包括通过扩展LCT报头的扩展报头的优先级参数以便存储优先级参数。
图20是在图18中的LCT报头的扩展报头(报头的扩展)的格式的示图。
扩展报头的前8位存储表示一种扩展报头(存储在扩展报头内的作为HEC的一种实际数据)的报头扩展类型(HET)。
当8位的HET等于或小于127时,8位报头扩展长度(HEL)跟在HET之后被存储。HEL被设定为值N,其表示扩展报头32×N位的长度。
具有32×N-8-8位的可变长度的报头扩展内容(HEC)跟在HEL之后被存储。HEC是扩展报头的实际数据。
另一方面,当8位的HET等于或大于128时,32-8位的HEC跟在HET之后被存储。
HET已经被定义成几个值。然而,在本实施方式中,通过使用没有被定义为HET的值,定义用于存储优先级参数的新的扩展报头。
图21是用于存储优先级参数的新的扩展报头的示例性定义的示图。
新的扩展报头包括按以下顺序布置的8位的HET、8位的HEL、8位的过滤SchemeURI、8位的过滤参数长度以及8×FPLN位的过滤参数。
例如,在新的扩展报头的HET中,扩展报头被设定为120,其是指示被存储的优先级参数的值。在这种情况下,HET等于或小于127,如在图20中所示,在HET之后布置HET。
HEL被设定为是0至255的整数值HELN。至于整数值HELN,使用具有32×HELN的值的长度的扩展报头。
过滤算法URI是用于定义过滤参数的算法标识符(SchemeURI)。
过滤参数长度被设定为是0至255的整数值FPLN。作为整数值FPLN,使用具有32×FPLN的值的长度的过滤参数。
过滤参数是优先级参数,并且过滤参数的定义(结构)是由过滤算法URL指定的。
图22是优先级参数(过滤参数)的示例性定义的示图。
例如,过滤算法URI=1000表示在图22中的定义。
在图22中,优先级参数(过滤参数)是64位,并且包括以如下顺序布置的8位的轨迹参考指数、8位的优先级,8位的从属计数器、8位的MVC过滤器长度以及32位的MVC过滤器。
轨迹参考指数被设定为用于识别轨迹(MP4文件的轨迹)的值,其是存储在LCT数据包中的片段的一部分的样本组(包括在分区中的样本组,其中,小块存储在LCT数据包中)的0到255的整数值。
例如,根据作为优先级参数的轨迹参考指数,可执行用于选择LCT数据包并且执行对其的处理的数据包过滤(其中,以高优先级存储包括样本组的分区的小块,预定的轨迹属于该样本组)。
针对每个具有相同TOI的LCT数据包设定优先级。用于表示各值的TOI的LCT数据包的处理的优先级的指数被设定为优先级。
设定为优先级的指数是0至255的整数值,其将处理LCT数据包的优先级进行排序。例如,当值变大,优先级会降低。
例如,根据作为优先级参数的优先级,可执行用于选择具有高优先级的TOI的LCT数据包的数据包过滤,其被设定等于或者小于预定的值的优先级,并且执行对其的处理。
从属计数器被设定为跟在具有来自包括从属计数器的LCT数据包的影响的LCT数据包之后的数目K。当从属计数器=K时,跟在具有从属计数器=K的LCT数据包之后的K个LCT数据包的处理取决于具有从属计数器=K的LCT数据包的处理。
例如,根据作为优先级参数的从属计数器,可执行用于选择具有一个或多个从属计数器的LCT数据包的数据包过滤,即,对随后一个或多个LCT数据包有影响的具有高优先级的LCT数据包,并执行对其的处理。
MVC的过滤器长度被设定为布尔(Boolean)值。当MVC过滤器长度是真时,这表示存在以下的MVC过滤器。
MVC过滤器是当包括在分区(其中,在LCT数据包中存储有小块)中的样本组是MVC的数据时,用于执行过滤以选择多视点视频编码(MVC)的数据的信息。
例如,作为MVC过滤器,可使用被定义作为存储在RTP数据包中的MVC的网络抽象层(NAL)单元的报头的一个或两个或以上的PRID(priority_id)、TID(tempral_id)以及VID(view_id)。
图23是MVC过滤器的示例性定义的示图。
32位的MVC过滤器包括按以下顺序布置的6位的priority_id(PRID),3位的temporal_id(TID),10位的view_id(VID),以及13位预留的。
PRID、TID、VID和预留的定义如下。
PRID:6位
priority_id。此标志指定用于NAL单元的优先级标识符。PRID的值越小表示优先级越高。
TID:3位
temporal_id。这个部分指定时间层(或帧速率)的层次结构。非正式地说,由具有较低的temporal_id的视图组数据包成的时间层对应于较低的帧速率。
给定的时间层通常取决于较低时间层(即具有较低temporal_id值的时间层),但决不取决于任何更高的时间层(即具有更高的temporal_id值的时间层)。
VID:10位
view_id。这个部分指定NAL单元所属的的视图的视图标识符。
预留的:13位
(用于未来扩展的预留位)
PID表示NAL单元(该NAL单元是在包含在其中小块被存储在LCT数据包中的分区的样本组的情况下的NAL单元)的优先级。当PID越小,NAL单元的优先级就越高。
TID表示视频(在包括在其中LCT分区中存有小块的分区中的样本组是视频的情况下的视频(其数据))的时间层(或帧速率)。当该层的TID越小,帧速率越低。层可以取决于具有比层小的TID的较低层。然而,该层不取决于具有较大的TID的更高层。
VID表示NAL单元所属的视图。
预留的是用于未来的预留位。
例如,根据上述的MVC过滤器,当LCT数据包包括NAL单元(的一部分)作为视频时,可根据具有高优先级的PID执行用于选择包括具有高优先级的NAL单元的LCT数据包的数据包过滤以及执行对其的处理。
此外,例如,可基于TID执行用于选择包括视频(该视频的时间层等于或小于预定的层(其NAL单元))即,作为时间分辨率的具有帧速率的视频(其等于或小于具有高优先级的预定的值)的LCT数据包的数据包过滤,并执行对其的处理。
此外,例如,可基于VID执行用于选择包括具有高优先级预定的视图(其NAL单元)的视频的LCT数据包以及执行对其的处理的数据包过滤。
此外,各种信息可被用作优先级参数。
例如,即,当LCT数据包包括动态图像以及静态图像之一的视频时,指示该视频是动态图像或者静态图像的信息可被用于优先级参数。在这种情况下,可执行用于选择包括具有高优先级的动态图像和静态图像的视频的LCT数据包并执行对其的处理的数据包过滤。
例如,此外,当LCT数据包包括不参照其它层的基层的层的视频以及参照其它层的一个或多个非基层的视频之一时,指示视频的层的信息可被用于优先级参数。例如,在这种情况下,可执行用于选择包括具有高优先级基层视频以及执行对其的处理的数据包过滤。
此外,例如,当LCT数据包包括多个视图的任意视图的视频时,指示视频的视图的信息可被用于优先级参数。例如,在这种情况下,可执行由用户希望的用于选择视图的视频的LCT数据包过滤(从在棒球广播中的多个位置(诸如第一基侧、第三基侧以及背面)成像的多个视图的视频的背面成像的示图的视频)具有高优先级并执行对其的处理。
此外,例如,当LCT数据包包括多个分辨率的任意分辨率的视频时,指示分辨率的信息可以用作优先级参数。例如,在这种情况下,可执行用于选择包括具有高优先级的预定的分辨率(等于或小于其)的视频的LCT数据包并执行对其的处理的数据包过滤。作为指示作为优先级参数的分辨率的信息,可使用时间分辨率以及空间分辨率的其中之一或者两者。
可基于一种优先级参数执行数据包过滤,并且此外,可基于多种优先级参数执行数据包过滤。
即,例如,在数据包过滤中,具有高优先级的包括具有预定的视图的视频以及包括预定的分辨率的LCT数据包可被选择,并可基于例如指示视频的视图的信息和指示作为优先级参数的分辨率的信息执行对其的处理。
<用于分配具有优先级参数的LCT数据包的处理>
图24是用于分配具有优先级参数的LCT数据包的示例性处理的流程图。
在步骤S201中,分配服务器11的FLUTE成流器24(图2)基于存储在LCT数据包的编码符号(编码的符号)(图17)中的数据(从分段器22提供的分区的小块)以及由分配服务器11的操作部的操作,设定优先级参数,并且该过程前进到步骤S202。
在步骤S202中,FLUTE成流器24生成包括在步骤S201中设定的优先级参数的扩展报头(图21)(图22),并且过程前进到步骤S203。
在步骤S203中,FLUTE成流器24包括LCT报头(图18),该LCT报头包括在步骤S202中生成的扩展报头,生成LCT数据包(图17),其中,从分段器22提供的分区的小片被布置于编码符号,并将其提供至多播服务器25。然后,该过程前进到步骤S204。
多路服务器25通过在步骤S204中的多播,从FLUTE成流器24分配LCT数据包,并且过程返回至步骤S201。在此之后,重复相似的处理。
<数据包过滤的处理>
图25是描述由客户端12(以及,用于接收由多播分配的LCT数据包的诸如路由器的装置)执行的数据包过滤的示例性处理的流程图。
在当基于网络环境、装置(客户端12)的资源、用户的操作、以及用户的偏好处理LCT数据包时的情况时,在步骤S211中的客户机12的接收单元30(图3)设置优先级为阈值(以下称为阈值优先级),并且过程前进到步骤S212。
在步骤S212中,接收单元30在等待LCT数据包的多路分配之后接收LCT数据包,并且该过程前进到步骤S213。
在步骤S213中,接收单元30确定是否可基于包括在步骤S212中接收的LCT数据包的LCT报头中的优先级参数以及在步骤S211中设置的优先级阈值执行对LCT数据包的处理,并且过程进行到步骤S214。
在步骤S214中,接收单元30根据在步骤S213中所确定的确定结果选择LCT数据包,并且接收单元30停止对具有以小于优先级阈值的优先级的优先级参数的LCT数据包的处理,并继续对具有以等于或者大于优先级阈值的优先级优先级参数的LCT数据包的处理。处理从步骤S214返回至S211,并且重复类似的处理。
<应用了本技术的计算机的描述>
接着,可以通过硬件和软件来执行上述的一系列处理。当由软件执行该系列的处理时,在通用计算机等内安装构成软件的程序。
图26是安装有用于执行一系列处理的程序的计算机的实施方式的示例性结构的框图。
该程序可以预先被记录到硬盘305和作为计算机内置的记录介质的ROM 303。
此外,程序可被存储(记录)在可移除记录介质311内。可移除记录介质311可作为所谓的封装软件来提供。这里,例如,可移除记录介质311是软盘、光盘只读存储器(CD-ROM)、磁光(MO)盘、数字通用盘(DVD)、磁盘、半导体存储器等。
将程序从可移除记录介质311安装至计算机,并且此外,该程序可以通过通信网络和广播网络被下载到计算机,并且可以安装到内置的硬盘305。即,例如,程序可以以无线方式从下载站点经由人造卫星转发给计算机用于数字卫星广播,并且可以经由诸如局域网(LAN)和因特网的网络导线转发到计算机。
计算机在其中具有中央处理单元(CPU)302,并且CPU 302经由总线301连接到输入/输出接口310。
当指令通过由用户操作输入单元307经由输入/输出接口310被输入至CPU 302时,CPU 302根据该指令执行存储在只读存储器(ROM)303中的程序。此外,CPU 302将存储在硬盘305的程序载入随机存取存储器(RAM)304并执行它。
根据这点,CPU 302根据上述由框图的结构的流程图或进行的处理执行处理。例如,CPU 302在需要时从输出单元306经由输入/输出接口310输出该处理结果,或从通信单元308发送处理结果。此外,CPU 302将处理结果记录到硬盘305。
输入单元307由键盘、鼠标、麦克风等构成。另外,输出单元306由液晶显示器(LCD),扬声器等构成。
这里,在本说明书中,不需要按照在流程图中所描述的顺序按时间序列执行由计算机根据程序所执行的处理。即,由计算机根据程序执行的处理包括并行或单独执行处理(例如,并行处理或者由对象处理)。
此外,可以由单个计算机(处理器)来执行程序,并且可以由多个计算机来执行该程序的分配处理。此外,该程序可以被转发到远程计算机并被执行。
此外,系统在此是指多个部件(设备,模块(部分)等)的组件,并且不应考虑所有组件是否处于相同的外壳中。因此,分别容纳于彼此不同的壳体内并经由网络连接的多个装置以及具有容纳于一个壳体内的多个模块的单个装置都是系统。
本技术的实施方式不限于上述实施方式,并且可以在不脱离本技术的范围的情况下作出各种改变。
例如,本技术可以具有云计算的结构,其中,单个功能由多个装置经由网络划分并且多个装置协作以执行处理。
并且,可以由单个装置执行参考如上描述的流程图中描述的各步骤,或者可以由多个装置划分并执行。
此外,在一个步骤包括多个处理的情况下,包括于一个步骤的多个处理可由单个装置执行或者可以由多个装置划分并执行。
并且,在分段器22中,fragmentedMP4的片段(ISO/IEC14496-14)以及任何数据格式(数据的一部分)的一个片段可被用作所生成的部分的片段。
即,例如,作为所生成的部分的片段,可使用包括如下数据格式的片段:具有所谓框结构的(诸如ISO基本媒体文件格式(ISO/IEC 14496-12))的数据格式,由ISO/IEC14496-15指定的格式,QuickTime格式;以及其中具有没有框结构的数据格式的数据被分裂的片段。
另外,作为所生成的部分的片段,例如,可使用具有MPEG的传送流(TS),WEBM,以及任何其它动态图像格式的片段。
此外,本技术可被应用于除内容之外的数据的分配。
这里,本文中所描述的效果仅是示例性而不是限定于这些。此外,可以存在另外的效果。
本技术可以具有以下的结构:
<1>一种发送装置,包括:
分配单元,被配置为分配http响应,http响应包括:
片段的一部分以及超文本传输协议(http)报头,http报头包括
表示片段的顺序的序列号以及
表示片段的一部分在片段中的顺序的版本。
<2>根据<1>的发送装置,其中,
包括片段的最后一部分的http响应的版本包括指示片段的最后一个的信息。
<3>根据<1>或者<2>的发送装置,其中,
片段包括moof(电影片段)以及mdat(媒体数据),
moof包括表示mdat的第一样本的显示时间的BaseMediaDecodeTime,并且
http报头进一步包括对应于BaseMediaDecodeTime的网络时间协议(NTP)时间。
<4>根据<3>的发送装置,其中,
http报头还进一步包括样本计数起始信息,样本计数起始信息指示作为包括在http响应中的片段的一部分的第一样本从片段的第一样本起的顺序。
<5>根据<4>的发送装置,其中,
包括片段的第二部分或者之后的部分的http响应的http报头包括样本计数起始信息。
<6>根据<1>至<5>中任意一个的发送装置,其中,
片段是fragmentedMP4的片段。
<7>一种发送方法,包括:
用于分配http响应的步骤,http响应包括:
片段的一部分以及
超文本传输协议(http)报头,http报头包括
表示片段的顺序的序列号以及
表示片段的一部分在片段中的顺序的版本。
<8>一种接收装置,包括:
接收单元,被配置为接收http响应,http响应包括:
片段的一部分以及
超文本传输协议(http)报头,http报头包括
表示片段的顺序的序列号以及
表示片段的一部分在片段中的顺序的版本。
<9>根据<8>的接收装置,其中,
包括片段的最后一部分的http响应的版本包括指示片段的最后一个的信息。
<10>根据<8>或者<9>的接收装置,其中,
片段包括moof(电影片段)以及mdat(媒体数据),
moof包括表示mdat的第一样本的显示时间的BaseMediaDecodeTime,并且
http报头进一步包括对应于BaseMediaDecodeTime的网络时间协议(NTP)时间。
<11>根据<10>的接收装置,其中,
http报头还进一步包括样本计数起始信息,样本计数起始信息指示作为包括在http响应中的片段的一部分的第一样本从片段的第一样本起的顺序。
<12>根据<11>的接收装置,其中,
包括片段的第二部分或者之后的部分的http响应的http报头包括样本计数起始信息。
<13>根据<8>至<12>中任意一个的接收装置,其中,
片段是fragmentedMP4的片段。
<14>一种接收方法,包括:
用于接收http响应的步骤,http响应包括:
片段的一部分以及
超文本传输协议(http)报头,http报头包括
表示片段的顺序的序列号以及
表示片段的一部分在片段中的顺序的版本。
符号说明
10 网络
11 分配服务器
12 客户端
13 NTP服务器
21 信道成流器
22 分段器
23 元数据生成器件
24 FLUTE成流器
25 多播服务器
26 网络服务器
30 接收单元
31 中间件
32 DASH客户端
33 再现单元
301 总线
302 CPU
303 ROM
304 RAM
305 硬盘
306 输出单元
307 输入单元
308 通信单元
309 驱动器
310 输入/输出接口
311 可移除记录介质。

Claims (15)

1.一种发送装置,用于分配内容的流,所述内容的流分成多个分段,一个分段包括一个或多个片段,所述发送装置包括:
分配单元,被配置为分配超文本传输协议http响应,所述http响应包括:
片段的一部分,以及
http报头,所述http报头包括
表示所述片段相对于其他片段的顺序的序列号以及
表示所述片段的一部分相对于所述片段的其他部分的顺序的版本。
2.根据权利要求1所述的发送装置,其中,
包括所述片段的最后一部分的所述http响应的版本包括指示所述片段的最后一个的信息。
3.根据权利要求2所述的发送装置,其中,
所述片段包括电影片段moof以及媒体数据mdat,
所述moof包括表示所述mdat的第一样本的显示时间的BaseMediaDecodeTime,并且
所述http报头进一步包括对应于所述BaseMediaDecodeTime的网络时间协议(NTP)时间。
4.根据权利要求3所述的发送装置,其中,
所述http报头还进一步包括样本计数起始信息,所述样本计数起始信息指示作为包括在所述http响应中的片段的一部分的第一样本从所述片段的第一样本起的顺序。
5.根据权利要求4所述的发送装置,其中,
包括所述片段的第二部分或者之后的部分的所述http响应的所述http报头包括所述样本计数起始信息。
6.根据权利要求5所述的发送装置,其中,
所述片段是fragmentedMP4的片段。
7.一种发送方法,用于分配内容的流,所述内容的流分成多个分段,一个分段包括一个或多个片段,所述发送方法包括:
用于分配超文本传输协议http响应的步骤,所述http响应包括:
片段的一部分,以及
http报头,所述http报头包括
表示所述片段相对于其他片段的顺序的序列号以及
表示所述片段的一部分相对于所述片段的其他部分的顺序的版本。
8.根据权利要求7所述的方法,其中,包括所述片段的最后一部分的所述http响应的版本包括指示所述片段的最后一个的信息。
9.一种接收装置,用于接收内容的流,所述内容的流分成多个分段,一个分段包括一个或多个片段,所述接收装置包括:
接收单元,被配置为接收超文本传输协议http响应,所述http响应包括:
片段的一部分,以及
http报头,所述http报头包括
表示所述片段相对于其他片段的顺序的序列号以及
表示所述片段的一部分相对于所述片段的其他部分的顺序的版本。
10.根据权利要求9所述的接收装置,其中,
包括所述片段的最后一部分的所述http响应的版本包括指示所述片段的最后一个的信息。
11.根据权利要求10所述的接收装置,其中,
所述片段包括电影片段moof以及媒体数据mdat,
所述moof包括表示所述mdat的第一样本的显示时间的BaseMediaDecodeTime,并且
所述http报头进一步包括对应于所述BaseMediaDecodeTime的网络时间协议(NTP)时间。
12.根据权利要求11所述的接收装置,其中,
所述http报头还进一步包括样本计数起始信息,所述样本计数起始信息指示作为包括在所述http响应中的片段的一部分的第一样本从所述片段的第一样本起的顺序。
13.根据权利要求12所述的接收装置,其中,
包括所述片段的第二部分或者之后的部分的所述http响应的所述http报头包括样本计数起始信息。
14.根据权利要求13所述的接收装置,其中,
所述片段是fragmentedMP4的片段。
15.一种接收方法,用于接收内容的流,所述内容的流分成多个分段,一个分段包括一个或多个片段,所述接收方法包括:
用于接收超文本传输协议http响应的步骤,所述http响应包括:
片段的一部分,以及
http报头,所述http报头包括
表示所述片段相对于其他片段的顺序的序列号,以及
表示所述片段的一部分相对于所述片段的其他部分的顺序的版本。
CN201480058471.6A 2013-10-30 2014-10-17 发送装置、发送方法、接收装置以及接收方法 Active CN105659623B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013-225540 2013-10-30
JP2013225540 2013-10-30
PCT/JP2014/077658 WO2015064383A1 (ja) 2013-10-30 2014-10-17 送信装置、送信方法、受信装置、及び、受信方法

Publications (2)

Publication Number Publication Date
CN105659623A CN105659623A (zh) 2016-06-08
CN105659623B true CN105659623B (zh) 2019-04-26

Family

ID=53003992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480058471.6A Active CN105659623B (zh) 2013-10-30 2014-10-17 发送装置、发送方法、接收装置以及接收方法

Country Status (6)

Country Link
US (1) US10499094B2 (zh)
EP (1) EP3065414B1 (zh)
JP (1) JP6329964B2 (zh)
CN (1) CN105659623B (zh)
PH (1) PH12016500757A1 (zh)
WO (1) WO2015064383A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101779435B1 (ko) 2014-01-03 2017-09-18 엘지전자 주식회사 방송 신호를 송신하는 장치, 방송 신호를 수신하는 장치, 방송 신호를 송신하는 방법 및 방송 신호를 수신하는 방법
CN105745899B (zh) * 2014-02-24 2023-12-26 Lg 电子株式会社 发送广播信号的设备、接收广播信号的设备、发送广播信号的方法和接收广播信号的方法
JP2015192407A (ja) * 2014-03-28 2015-11-02 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、及び、プログラム
JP6449897B2 (ja) * 2014-11-13 2019-01-09 エルジー エレクトロニクス インコーポレイティド 放送信号生成処理方法及び放送信号受信機
JP6610019B2 (ja) * 2015-06-16 2019-11-27 ソニー株式会社 受信装置、送信装置、及び、データ処理方法
EP3348081B1 (en) * 2015-09-08 2023-07-12 Telefonaktiebolaget LM Ericsson (publ) Streaming session continuation
CN107948762B (zh) * 2016-10-13 2021-05-11 华为技术有限公司 直播视频的传输方法、装置和系统
MX2019005456A (es) * 2016-11-10 2019-08-12 Ericsson Telefon Ab L M Segmentacion de recursos para mejorar el rendimiento de entrega.
JP7454951B2 (ja) * 2020-01-27 2024-03-25 日本放送協会 コンテンツ配信装置、端末、およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330492A (zh) * 2007-06-19 2008-12-24 上海贝尔阿尔卡特股份有限公司 数据发送方法、数据接收方法和设备
CN102740159A (zh) * 2011-03-31 2012-10-17 丛林网络公司 媒体文件存储格式和自适应传送系统
CN102833588A (zh) * 2011-06-17 2012-12-19 索尼公司 发送装置、接收装置、广播系统、发送方法、接收方法及其程序

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6029805B2 (ja) 2010-01-15 2016-11-24 富士通株式会社 配信装置、配信プログラムおよび配信方法
EP3018881A1 (en) * 2010-02-19 2016-05-11 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for adaptation in http streaming
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
CN103004229A (zh) * 2010-07-20 2013-03-27 夏普株式会社 数据配送系统、数据配送方法、配送侧数据中继装置、及接收侧数据中继装置
WO2012046487A1 (ja) 2010-10-05 2012-04-12 シャープ株式会社 コンテンツ再生装置、コンテンツ配信システム、コンテンツ再生装置の同期方法、制御プログラム、および、記録媒体
JP2013038766A (ja) 2011-07-12 2013-02-21 Sharp Corp 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US9465923B2 (en) * 2013-03-08 2016-10-11 Intel Corporation Blackouts architecture
JP2015192407A (ja) 2014-03-28 2015-11-02 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、及び、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330492A (zh) * 2007-06-19 2008-12-24 上海贝尔阿尔卡特股份有限公司 数据发送方法、数据接收方法和设备
CN102740159A (zh) * 2011-03-31 2012-10-17 丛林网络公司 媒体文件存储格式和自适应传送系统
CN102833588A (zh) * 2011-06-17 2012-12-19 索尼公司 发送装置、接收装置、广播系统、发送方法、接收方法及其程序

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Dash in mobile networks and services;Thomas Stockhammer;《Visual Communications and Image Processing》;20121130;全文

Also Published As

Publication number Publication date
EP3065414A1 (en) 2016-09-07
JP6329964B2 (ja) 2018-05-23
WO2015064383A1 (ja) 2015-05-07
EP3065414A4 (en) 2017-06-21
PH12016500757A1 (en) 2016-05-30
US10499094B2 (en) 2019-12-03
JPWO2015064383A1 (ja) 2017-03-09
EP3065414B1 (en) 2019-01-09
CN105659623A (zh) 2016-06-08
US20160219311A1 (en) 2016-07-28

Similar Documents

Publication Publication Date Title
CN105659623B (zh) 发送装置、发送方法、接收装置以及接收方法
CN103248962B (zh) 获取流媒体数据的方法、设备及系统
CN105900436B (zh) 通信设备、通信数据生成方法、以及通信数据处理方法
JPWO2012096372A1 (ja) コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造
CN105765984B (zh) 发射设备、发射方法、接收设备和接收方法
CN105325005B (zh) 内容供应装置、内容供应方法、存储介质、终端装置以及内容供应系统
CN106105239B (zh) 发送设备、发送方法、接收设备、接收方法和程序
KR102247976B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
CN106713936A (zh) 直播视讯媒合方法与系统
CN105900446A (zh) 通信装置、通信数据生成方法和通信数据处理方法
CN105706453B (zh) 发送装置、发送方法、接收装置和接收方法
EP3509310B1 (en) Delivery device, delivery method, receiver, receiving method, program, and content delivery system
CN105900437B (zh) 通信设备、通信数据生成方法和通信数据处理方法
US20170155968A1 (en) Content supply apparatus, content supply method, program terminal apparatus, and content supply system
CN110519091A (zh) 自校正内容递送网络中的带宽策略管理
CN107534792A (zh) 接收设备、发送设备以及数据处理方法
DE112014000242T5 (de) Skalierbare digitale Videoaufzeichnungen auf Netzwerkbasis über eine Architektur auf Shard-Basis
CA2925455A1 (en) Content supplying apparatus, content supplying method, program, terminal device, and content supplying system
Kumar et al. Cloud‐based video streaming services: Trends, challenges, and opportunities
WO2015064384A1 (ja) 送信装置、送信方法、受信装置、及び、受信方法

Legal Events

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