具体实施方式
以下,参照附图对本发明的实施例进行详细地说明。但是,本发明并不受实施例限制或局限,各附图中所示出的相同符号表示相同的部件。
HTTP上的动态适应性串流DASH(Dynamic Adaptive Streaming overHTTP)可指定格式(format),从而可实现:1)将媒体内容从HTTP服务器传送给HTTP客户端;2)通过标准(standard)的HTTP缓存(cache)来进行内容的缓冲(caching)。
图1是示出根据本发明的一个实施例的处理内容的方法的信号流程图。
媒体组件(media component),可以是类似频宽(bandwidth)、语言(language)、或分辨率(resolution);和类似具特定属性(attribute)的音频(audio)、视频(video)、或时标字幕(timed text)等个别(individual)媒体类型(type)的被编码(encoded)的版本(version)。
媒体内容,可以是具有类似视频、音频、和时标字幕等具共同(common)时间线(timeline)的媒体组件的集合。此外,媒体组件作为程序或影视,具有如何(例如,个别地(individually)、结合地(jointly)、或互相排斥地(mutuallyexclusive))来表现媒体内容(present)的关系。
媒体内容和内容可作为相同的意思来使用。
媒体演示是用于设置(establish)由连续的媒体组件所构成的媒体内容受限制(bounded)或不受限制(unbounded)的演示(presentation)的数据的结构化(structured)集合(collection)。
即,媒体演示是可接入DASH客户端的数据的结构化集合,来用于向用户提供串流服务。
媒体信息MPD(media presentation description)可以是媒体演示的格式化(formalized)说明(description)。
媒体演示包括MPD的升级(possible updates),可通过MPD被描述。
内容可以是根据请求(demand)的内容或现场(live)内容。
内容可以分为一个以上的间隔(interval)。即,内容可包括一个以上的间隔。
间隔和周期(period)可作为相同的意思来使用。周期可以是3GPP(Generation Partnership Project)适应性HTTP串流的技术用语。
周期可以是媒体演示的间隔。所有的周期的连续性序列(sequence)构成媒体演示。
即,媒体演示可包括一个以上的周期。
一个以上的间隔可以是基本单位。一个以上的间隔可通过将元数据信号发出被说明。即,元数据可分别说明一个以上的间隔。
所述的元数据可以是MPD。
MPD可定义格式来用于告知段的资源标识符。MPD可提供有关在媒体演示内被识别的资源的上下文(context)。资源的标识符可以是HTTP-URL。URL可通过字节范围(byte range)属性被限制。
各间隔可分为片段(fragment)。
片段和段(segment)可作为相同的意思来使用。段可以是3GPP(GenerationPartnership Project)适应性HTTP串流的技术用语。
段,可以是指在RFC2616中被定义的,有关HTTP-URL的HTTP/1.1GET请求(或是,字节范围(range)所指示的(indicated)一部分的GET请求)的应答(response)的实体(entity)主体(body)。元数据可包括URL属性和范围属性。客户端可从URL属性所指示的URL接收范围属性指定的字节。即,所述字节可通过有关URL的,字节范围内指示的部分(partial)HTTP GET命令被接收。在此,范围属性指定的字节可显示出上述的段。
范围属性可指示出多种字节范围。
客户端可利用接收的字节(即,段)来播放媒体内容。
子(sub)段可以是指经段级别中的段索引(index)可被索引的段内的最小(smallest)单位(unit)。
可存在对应于一个间隔的两个以上的片的集合。片的集合各自被命名为替代(alternative)。
替代和表示(representation)(或是表现)可作为相同的意思来使用。
各周期可包括一个以上的组。
各组可包括相同的媒体内容的一个以上的表示。
表示为一个周期内的一个以上的媒体组件的结构化(structured)集合。
MPD(或MPD元素)提供说明性信息使客户端可选择一个以上的表示。
随机存取点RAP(Random Access Point;)为媒体段内的特定位置。RAP只使用媒体段内包含的信息,被识别为可从RAP位置继续重放(playback)的位置。
各表示可由一个以上的段构成。即,表示可包括一个以上的段。
MPD是为了构成适当的(appropriate)HTTP-URL包含有向DASH客户端请求的元数据的文件,用于:1)存取段;2)向用户提供串流服务。
MPD可以是XML文件。
MPD可包括MPD元素(element)。MPD也可只包括1个MPD元素。
客户端100可为DASH客户端。
DASH客户端可与RFC2616中列出的客户端兼容。
DASH客户端可如RFC2616中列出的,通常使用HTTP GET方式(method)或HTTP partial GET方式,来用于存取段或段的一部分。
服务器110可托管(hosting)DASH段。服务器110可与RFC2616中列出的服务器兼容,
在步骤120中,客户端100从服务器110接收1)有关内容的元数据;或是2)内容的特定间隔的元数据。即,服务器110向客户端100传送1)有关内容的元数据或内容的特定间隔的元数据。特定间隔显示出构成内容的一个以上的间隔中当前被处理的间隔。
在步骤130中,客户端100处理有关特定间隔的元数据。
在步骤140中,客户端100向服务器110请求片段。客户端100基于上述的元数据处理,向服务器110请求适合于特定间隔的片段。即,被请求的片段是基于元数据被选择的。
在步骤145中,在一些情况下,服务器可能需要解析(parse)内容(例如,用于SVC的MP4文件),且可能需要提取适合于所述被请求的片段的数据部分。
在步骤150中,服务器110针对来自客户端100的各请求,将合适的片段传送给客户端100。客户端100从服务器接收片段。
此后,整个处理过程再重新开始,即,针对特定间隔的下一个间隔反复步骤120。
客户端100可利用根据反复执行步骤120至150所接收到的片段来播放内容。
图2是示出根据本发明的一个例子的信令信息的种类。
信令信息(即,元数据)分为以下1)至4)的种类。
1)一般信息(general information)210:一般信息包括类似持续时间(duration)和开始时间等内容的一般描述(description)和各间隔的一般描述。
2)服务的质量信息(QoS information)220:描述类似比特率(bitrate)、分辨率(resolution)、质量(quality)的各替代的特征(characteristics)。
替代可以是物理性的(physical)(即,预先生成的),也可以是虚拟的(virtual)(即,以飞速写入(on the fly)被生成)。基于替代的信息,客户端选择合适的替代的片段。因此,支持有关终端及网络的上下文(context)的合适性(adaptivity)。
3)映射信息(Mapping Information)230:描述将提取(retrieve)内容的位置(locations)。基于特定情况(cases),不同的替代可具有相同或不同的位置。
4)客户端请求(Client request)240:此类型的信令信息依照(conform)HTTP1.1请求(request)的格式。如图1中所示出的,经客户端所请求的参数起源于(derive)上述1)至3)种类的信息。
信令的目标与下述的1)至4)相同。
1)有关不同的媒体存储(storage)/传达(delivery)方法(approaches)的支持:信令信息为一般性的,例如,类似包含有高级视频编码AVC(Advanced VideoCoding)/可伸缩视频编码SVC(Scalable Video Coding)替代的MPEG-2传输流TS(Transport Stream),可支持MP4文件存储及传达的典型的(typical)(或多样化(various))情况(cases),此外,需要多信道传送来用于高级场景(例如,一个HTTP连接(connection)内的SVC层(layer))。
2)有关用于适应性(adaptivity)的决策(decision-making)的不同情况的支持:信令信息为灵活性的(flexible),例如,类似基于客户端、分散式(distributed)、基于服务器,可支持决策的不同位置。
3)有效性:信令信息的格式允许小数据量,并容易掌握(例如,解析(parsing)、修改(modifying))。
4)与标准式(standard)HTTP请求的兼容性:信令信息提供适当的(appropriate)描述(description)项目(items),从而无需请求任何扩展(extensions)(例如,新的信头(header)字段(fields)),可将请求参数置于HTTP1.1请求消息内。
图3是示出根据本发明的一个例子的内容分节(division)的层次和信令信息的级别(levels)的示图。
根据本发明的一个实例的元数据的信令可物理地分离(separated)为内容级别信息310、间隔级别信息320、QoS信息330、和映射信息340。内容级别信息310、间隔级别信息320、QoS信息330、和映射信息340的相关部分的链接(linking)可通过参照(referencing)来实现。
信令信息的该部分可通过用于支持灵活性的不同方法(ways)被组合(combine)。
例如,只有内容级别信息310和间隔级别信息320被传送至客户端时,所有替代的决定和位置的解决(resolve)的计算通过服务器被执行。因此,当只有内容级别信息310和间隔级别信息320被传送给客户端时,该处理模型为“基于服务器”。
当内容级别信息310、间隔级别信息320、和QoS信息330被传送至客户端时,所有替代的决定和位置的解决(resolve)的计算通过客户端及服务器被分散执行。因此,当内容级别信息310、间隔级别信息320、和QoS信息330被传送给客户端时,该模型为“分散式”。
当所有的信令信息(内容级别信息310、间隔级别信息320、QoS信息330、和映射信息340)被传送至客户端时,由于该模型中大部分(或全部)的处理(即,替代的决定和位置的解决的计算)在客户端中被执行,因此,该模型为基于客户端(client-based)。
由于元数据部分的分离存储及传达可更具效率性。例如,在会话期间,内容级别信息310的元数据可发送1次,且只有间隔级别信息320可周期性地被更新。相似地,包含有QoS信息330的一个文件可用于不同的间隔及不同的内容。
其中,有用于表现(represent)类似于XML、伪码(pseudo-code)、会话描述协议SDP(Session Description Protocol)等的元数据的集合的不同的方法。
XML为用于描述的一般语言。XML提供用于所有描述的多种工具(tools)。XML结构完整(well-structured),适用于构建(building)数据库(database)。但是,XML的缺点在于数据量(datasize)大和复杂度。特别是,XML内的描述需要用于解析及处理(process)元数据的特殊软件(例如,文件对象模型DOM(Document Object Model))和用于XML的简单应用程序编程界面SAX(Simple Application Programming Interface for XML))。XML经常被用于比特流(bitstream)(MPEG-1、MPEG-2视频比特流及文件格式)的句法。该方法(approach)的优点在于描述十分简洁(compactness),但是,在描述句法元素(element)的多种类型时十分不灵活。
根据本发明的实施例,可使用XML和伪码来显示出信令句法。XML句法可用于支持XLM文件的客户端,该XLM文件基于MPEG-21及与其相似的模式。相反,伪码句法可基于ISO基础媒体文件格式等的“语言(language)”,在非XLM文件中被使用。特别是,伪码句法的属性可采用(employ)与文件格式解析的解析模块相似的文件模块。为了设计上述目的的句法,在以下的实施例中,共同元素的表格(table)被定义,并显示出各格式中的元素。
提议的句法也可通过任意的其他语言被表现。
以下,对一般句法元素的表格进行说明。
在以下的表格中,句法元素按层次被说明。即,子(child)元素出现在其母(parent)元素的右侧中的列中。“叶”级别元素显示为斜体(italic)。母元素显示为粗体字(bold letters)。母元素通过对应的XML类型及文件框被显示。
在出现次数(occurrence)的列中,“0...N”表示出现次数元素的实体的个数可以是0至“无限制(unbounded)”。但是,0的最小出现次数表示元素可以是选择性的(optional)(即,不存在)。1以上的最小出现次数表示元素在句法中为强制性的(mandatory)。
出现次数(occurrence)可作为与基数(cardinality)相同的意思被使用。
在类型行中,A显示出属性,且E显示出元素。选择性(optionality)行中,M表示强制性的,且O表示选择性的。在属性中,M表示强制性的,O表示选择性的,且OD表示具默认(default)值的选择性的,且CM表示具条件地(conditionally)强制性的。如所述的元素,元素可表现为<最小出现次数(minOccurs)>...<最多出现次数(maxOccurs)>。在这种情况下,N为无限制(unbounded)。
上述意思在本发明的其他表格中也相一致。
此外,QoSInfo进一步特定时可称为AdaptationInfo。更进一步,一些元素可被修改(revise)来用于提高句法的灵活性(flexibility)。
以下,通过表1来说明一般信息:
【表1】
以下,通过表2来说明IntervalsRef、NextIntervalsRef、PreviousIntervalsRef、QoSInfoRef、MappingInfoRef a、IntervalInfo元素:
【表2】
以下,通过表3来说明QoSInfo元素:
【表3】
以下,表4显示出表3的(1)Resource、(2)AdaptationOperator、(3)Utility元素的共同语义。
【表4】
以下,表5显示出映射信息:
【表5】
Location元素的语义可如以下表6进一步被提供:
【表6】
MP2TSBoundary、ISOFileBoundary、ByteRanges元素的语义可如以下表7进一步被提供:
【表7】
以下,对客户端请求进行说明:
经客户端获得的元数据的信令可包括信令信息的不同部分或级别。因此,自客户端至服务器的请求可包括细节(detail)的不同级别的参数。
客户端的主参数为URI,且主参数与查询部分相关联。
以下,对3个主要的方案进行说明
1)基于服务器方案
在这种情况下,从服务器提供至客户端的元数据由一般内容信息310和一般间隔信息320构成。
针对请求的内容的URI,使用DefaultContentIntLoc(如果不是,DefaultContentIntLoc),为了使客户端可请求内容的特定的片段,在(步骤140的请求的)查询部分中以下的参数a)和b)被定义。
a)“fragno”:所述间隔中,片段的顺序值
b)“fragti”:所述间隔中,片段的开始时间
例如,请求URI可以是“HTTP://server.com/file.mp4?fragno=5”
2)分散方案
在这种情况下,从服务器提供至客户端的元数据包括一般内容信息310、一般间隔信息320、和QoS信息330。
进一步针对上述的参数,为了使客户端可请求合适的替代,以下所述的QoS相关参数a)至c)在(步骤140的请求的)查询(query)部分中被定义。
a)“alter”:替代的顺序值。根据替代的顺序值,替代显示在QoS信息中
b)“oper1”,“oper2”,...“operN”:“opera”将QoS信息内显示的第i个运算(operation)值进位。
c)“res1”,“res2”,...“resN”:“resi”将QoS信息内显示的第i个资源值进位。
在一个请求中,可只使用上述3个选项中的一个。
典型的适应运算符可与资源类型一起,定义更具理解性(intelligibility)和互通性(interoperability)的特别参数名称。
适应运算符如以下a)至e)所示:
a)音频层(audiolayers):指可扩展的音频层的个数
b)暂时层(temporallayers):指可扩展的视频的暂时层的个数
c)空间层(spatiallayers):指可扩展的视频的空间层的个数
d)质量层(qualitylayers):指可扩展的视频的质量层的个数
e)优先顺序层(prioritylayers):指可扩展的视频的优先顺序层的个数资源类型如以下a)至d)所示:
a)彼特率(bitrate):指请求的替代的平均比特率(以Kbps为单位)
b)垂直分辨率(vertresolution):指请求的替代的垂直分辨率
c)水平分辨率(horiresolution):指请求的替代的水平分辨率
d)帧速率(framerate):指请求的替代的帧速率
通过使用上述预先定义的参数,“http://server.com/file.mp4?fragno=5&bitrate=550”可成为基于比特率的URI请求的一个例子。
3)基于客户端方案
在这种情况下,从服务器提供至客户端的元数据包括一般内容信息、一般间隔信息、QoS信息、和映射信息。
在请求中被使用的QoS相关参数通过QoSInfo元数据的ReqQoSPara部分被指出。当ReqQoSPara的RefIndex为0或零空间(null)时,“alter”参数可代替其他选项被使用。
当QoSInfo元数据内不存在ReqQoSPara时,QoS相关参数没有被使用。在这种情况下,替代通过MappingInfo的位置被暗示。
内容的URI来源于MappingInfo的丰富的描述。内容/程序在MPEG-2TS串流中被输送时,使用一个以上的PID来用于搜索所述串流中的内容的位置。
当用于感应片段边界的附加信息被提供时,用于(步骤140的请求的)查询部分的以下的参数1)至3)可被使用。
1)用于MPEG-2TS边界,Apperance、PCR_PID、PCR_base、PCR_ext,、Media_PID、和Media_Offset
2)用于ISO媒体文件边界,SequenceNo
3)用于被看作为原始(raw)字节序列的文件,Start、End
上述参数的语义在FragBoundaries元素的语义中被提供。
Start-End对可经HTTP请求信息的范围信头(header)被使用。例如,当{(Start=0,End=99);(Start=200,End=299)}时,信头可以是“Range:bytes=0-99,200-299”。
以下,对XML格式的句法表示(representation)进行说明。以下,所述的句法元素的表示以XML格式被提供。各元素的语义可在上述的表1至表7中被追查(trace back)。
一些元素可以是MPEG-21DIA中被定义的一些类型的扩展。一些元素可采取MPEG-21DIA中被定义的一些类型。
以下,表8是使用HTTPStreamingType的XML格式的句法表示:
【表8】
以下,表9是使用GeneralInfoType的XML格式的句法表示:
【表9】
以下,表10是使用IntervalRefType的XML格式的句法表示:
【表10】
以下,表11是使用IntervalType的XML格式的句法表示:
【表11】
以下,表12是使用IntervalInfoType的XML格式的句法表示:
【表12】
以下,表13是使用QoSInfoType的XML格式的句法表示:
【表13】
以下,表14是使用MappingInfoType的XML格式的句法表示:
【表14】
以下,表15是使用ReqQoSParaType的XML格式的句法表示:
【表15】
以下,表16是使用LocationListType的XML格式的句法表示:
【表16】
以下,表17是使用LocationType的XML格式的句法表示:
【表17】
以下,表18是使用StrLocationType的XML格式的句法表示:
【表18】
以下,表19是使用MP2TSParaType的XML格式的句法表示:
【表19】
以下,表20是使用FragBoundariesType的XML格式的句法表示:
【表20】
以下,表21是使用MP2TSBoundaryType的XML格式的句法表示:
【表21】
以下,表22是使用ISOFileBoundaryType及ByteRangesType的XML格式的句法表示:
【表22】
以下,对MP4伪码格式的句法表示进行说明。以下,所述的句法元素的表示以MP4伪码被提供。
以下,表23是使用HTTPStreamingBox的MP4伪码的句法表示:
【表23】
以下,表24是使用GeneralInfoBox的MP4伪码的句法表示:
【表24】
以下,对间隔级别信息进行说明。
以下,表25是使用IntervalBox的MP4伪码的句法表示:
【表25】
以下,表26是使用IntervalRefBox的MP4伪码的句法表示:
【表26】
以下,表27是使用QoSInfoRefBox的MP4伪码的句法表示:
【表27】
以下,表28是使用MappingInfoRefBox的MP4伪码的句法表示:
【表28】
以下,表29是使用IntervalInfoBox的MP4伪码的句法表示:
【表29】
以下,表30是使用NextIntervalRefBox的MP4伪码的句法表示:
【表30】
以下对QoS信息进行说明。
以下,表31是使用QoSInfoBox的MP4伪码的句法表示:
【表31】
以下,表32是使用ClassSchemeRefBox的MP4伪码的句法表示:
【表32】
以下,表33是使用ResourceBox的MP4伪码的句法表示:
【表33】
以下,表34是使用AdaptationOperatorBox的MP4伪码的句法表示:
【表34】
以下,表35是使用UtilityBox的MP4伪码的句法表示:
【表35】
以下,表36是使用UtilityRankBox的MP4伪码的句法表示:
【表36】
以下,对映射信息进行说明。
以下,表37是使用MappingInfoBox的MP4伪码的句法表示:
【表37】
以下,表38是使用MappingInfoBox的MP4伪码的句法表示:
【表38】
以下,表39是使用ReqQoSParaBox的MP4伪码的句法表示:
【表39】
以下,表40是使用ReqQoSParaBox的MP4伪码的句法表示:
【表40】
以下,表41是使用LocationBox的MP4伪码的句法表示:
【表41】
以下,表42是FragTimeBox的MP4伪码的句法表示:
【表42】
以下,表43是使用RandAccessBox的MP4伪码的句法表示:
【表43】
以下,表44是使用StrLocationBox的MP4伪码的句法表示:
【表44】
以下,表45是使用MP2TSParaBox的MP4伪码的句法表示:
【表45】
以下,表46是使用FragBoundariesBox的MP4伪码的句法表示:
【表46】
以下,表47是使用MP2TSBoundaryBox的MP4伪码的句法表示:
【表47】
以下,表48是使用ISOFileBoundaryBox的MP4伪码的句法表示:
【表48】
以下,表49是使用ByteRangesBox的MP4伪码的句法表示:
【表49】
图4是说明根据本发明的一个例子的MPEG-2TS内的虚拟界限的感应的示图。
在TS串流中,给予的程序的PCR数据包与固定的PID(即,PCR_PID)一起被输送(carry),且至少每100ms被插入。
PCR数据包(与增加的值一起)可被看作为程序的的定位点。另一方面,程序的各媒体可通过给予的PID(即,Media_PID)的数据包被输送。
因此,媒体串流的片段边界可通过以下被定义或识别:1)特定的定位点;2)从所述的定位点到边界中的数据包为止的偏移
偏移可通过相同的Media_PID的数据包被计算。
PCR值也可被重置(非连续性)。在这种情况下,当间隔内存在相同PCR值的一个以上的PCR数据包时,作为定位使用的PCR数据包的出现顺序被区分。
因此,MPEG-2TS串流内的媒体流的片段界限可通过以下表50的参数被识别。
【表50】
以下,对3GPP适应性HTTP串流模式中的一些句法元素的映射及扩展
进行说明
经3GPP适应性HTTP串流标准被标准化。上述的一些句法元素的3GPP适应性HTTP串流模式的映射被初始化。
为体现以下实施例中的构想,可使用一些互不相同的句法。
在此模式中,术语Period与上述的间隔相一致。附加的元素/属性的语义如表51所述。
【表51】
进一步,UrlType的range属性,类似"0-500,1000-1500"被扩展来用于支持多种字节范围。在该变形中,可将range属性与上述句法的ByteRanges元素同等地构成。
附加地,sourceURL属性可根据要求被选择性地改变,其是由于baseURL已经提供完整的URL,可能不需要sourceURL。
多种字节范围的使用在下载“虚拟段”时提供流动性。例如,(可在窍门模式(trickmode)中被使用的))较低(low)帧速率的段可通过飞速写入从串流或原段中被提取。
附加地,为了支持使用Representation的多URL,以下的变形可被加入至3GPP适应性HTTP串流的模式中。
以下,对相同的资源/内容的多位置进行说明。
描述的各级别(最高(top)级别、周期(Period)级别、表示(Representation)级别)从描述开始提供用于构建绝对URL的单一的基础URL。
在各描述级别中,可提供多种基础URL。多种基础URL将多种位置中的资源的可用性进行信令。
依照客户端的实际位置,客户端可选择提取资源的过程中的一个以上的基础URL。
上述变形可通过不同的方式来体现。一个方式是使用称为“morebaseURLs”的附加属性或称为“BaseURLs”的元素。
该属性或元素可以是由多种(基础)URL构成的字符串。例如,字符串可通过“;”(即,分号及空格)等一些特殊符号被分离。
当任意的分号或空格出现在URL中时,分号或空格为通过RFC2616的规则被编码。
较低的描述级别的morebaseURL的属性(或BaseURLs元素)可重写较高的描述级别的相同属性(元素)。
为了正确性,morebaseURLs属性和BaseURLs元素可被限制为互相排斥。即,整个描述内只可存在一个类型。
各实体在提供基础URL时,其他方式为与多实体一起来使用任意的URI类型的MoreBaseURL元素。
上述不同的方式仅为用于提供多种基础URL的构想。该构想可通过更多不同的方式或不同的语言来实现。
以下,对资源/内容构成元素的多种位置进行说明。
资源/内容可分成一个以上的组件/串流。一个以上的组件/串流分别从location被传达。由于允许UriTemplate元素的多实体或SegmentInfoType内的Url元素集合,因此该传达被支持。SegmentInfoType内的改变“<xs:choicemaxOccurs=“unbounded”>“可用于上述目的。
UrlTemplate实体或Url集合实体的出现顺序可区分其的“location/stream”的重要性。较重要的location可在不太重要的location之前出现。例如,音频表示(Representation)可由2个串流(空间性基础层和空间性增强(enhancement)层)来构成。分别从通过UrlTemplate被描述的location被传达。此后,UrlTemplate的第一个实体成为用于空间性基础层的location。
进一步,可允许InitialisationSegmentURL的多实体。InitialisationSegmentURL的第n个实体(UrlTemplate元素或Url元素集合)对应于location的第n个实体。
当只有InitialisationSegmentURL一个实体时,所述实体可用于所有的location。
以下,表52至表55显示出3GPP的AdaptiveHTTPStreaming模式
【表52】
【表53】
【表54】
【表55】
【表56】
以下,对PeriodsRef元素的一些其他选项进行说明
XInclude是提供用于合并XML文件的包合(inclusion)机理的W3C技术(technology)。
上述的PeriodsRef及XInclude为了引用资源/描述在使用任意的URI类型(与Location元素及href属性一起)时相类似。但是两种存取方式之间存在差异。
XInclude可用于合并XML文件,其可表示被合并的文件须在随机处理之前获得。相反,PeriodsRef用于引用过去或未来的周期。过去或未来的周期不是一定需要合并的。PeriodsRef的目的在于只是在用户需要时允许提取适当的周期信息。
针对特定的(specific)属性/元素,PeriodsRef的startTime和availableTime可固有周期信息检索(retrieval)。XInclude的属性/元素中,“fallback”和”xpointer”可用于提高PeriodsRef的功能性(functionality)。相反,“parse”、“encoding”、“accept”、“accept-language”对于PeriodsRef来说不需要。
基于上述的说明,在引用Period时,可提出2个附加的选项:1)加强的(enhanced)PeroidsRef;2)XInclude扩展(extending)的PeriodsRef。
升级的PeroidsRef:在此选项中,现有的(existing)PeriodsRef可通过XInclude的fallback元素及xpointer属性被升级。此选项的一个优点(advantage)在于句法及处理的简单性(simplicity)。变形的PeriodsRef的句法在以下表57中示出。
XInclude扩展的PeriodsRef:在此选项中,由于可将XInclude与startTime和availableTime属性相关联单纯地扩展,因此,PeriodRef可被构建。此选项的优点在于使用标准的(standard)XInclude。为了避免在初始期间将文件合并,如PeriodsRef的语义,对于“在不是必须要合并的情况下允许客户端来针对是与否作出决定”是强制性的。该PeriodsRef的句法在以下表58中示出。
在此句法中,可附加ids属性来指示出当前的媒体演示(media presentation)中所参照的Period的id。此外,为保持与XInclude的href属性的一贯性,Location元素可变更为选择性location属性。
【表57】
【表58】
上述的元素/属性的语义在以下表59中示出。
【表59】
以下,对Period Timeline进行说明
各周期可具有指示出周期的开始时间的start属性。但是,此方法在改变(modify)周期的时间线时时可能不具有流动性。
例如,为了在VOD的MPD中插入广告周期,所插入的周期之后的所有周期的开始时间须改变。进一步,相同的广告周期被反复地(例如,每隔1小时)播放时,则继续及插入该周期。相同的方式,一个以上的周期从MPD被清除时,时间空间上被清除的周期之后剩余的时间
在本实施例中,为了周期管理的流动性,可提出如下所述的变形:
1)在Period中添加新属性“duration”
2)选择性地改变Period的当前start属性
3)在MPD类型中添加新PeriodTimeline元素。
PeriodTimeline元素可提供有关时间线的周期演示的信息。PeriodTimeline元素的语义及句法在以下表60至62中示出。
通过使用PeriodTimeline,Period的描述在演示时间中可以是独立性的。因此,Period(全部或部分)可在相同的媒体演示或其他媒体演示中重新使用。在改变表现时间,只需改变Period Timeline。
此外,PartialPlay元素可允许(重新)播放((re)play)Period的一个以上的部分。例如,广告Period表示后,(通过beginning和ending指示的(denoted))该Period的一部分可在整个会话(session)期间中被反复。
PeriodTimeline元素可强加Period的显式(explicit)时间线。Period的隐式(implicit)时间线可从Period的顺序被预定(ordered)的序列(sequence)开始被推断。在隐式时间线的情况下,为了支持Period的重播,PartialPlay元素可作为Period元素的子元素被提供。
【表60】
【表61】
【表62】
与反复的Period不再包含任何Representation描述相同,Representation实体的最小个数可变更为0。
可使用特别的(special)属性来指示出须被反复的之前的Period的id值,来代替直接使用id属性。
以下,对补充信息(Supplementary Info)进行说明
为提供(provisioning)专业(professional)服务,提供者需要客户端将类似提供者的标志(logo)或广告横幅(banners)补充信息(与主要内容一起)显示在画面上。该信息在Period的时间线中可以是独立性的。
各补充的项目可被用于内容的最高分辨率。当内容被缩减(downscale)用于一些较小终端时,补充的项目及其位置参数(xOffset,yOffset)也可根据比例被缩减。
SupplementaryInfo的语义和句法在以下表63至表65中示出。
【表63】
【表64】
【表65】
以下,对缓冲量(buffering amount)的定义进行说明
客户端的初期(initially)被缓冲(buffered)的媒体最少量可通过实间单位被定义。在一些情况下,客户端较难确认被缓冲的媒体的暂时(temporal)持续时间是否充分。为了使初期被缓冲的媒体以数据量(datasize)单位被列出,可提供其他的选项。
当两个选项(时间单位及数据量单位)同时被提供时,提供者可列出各选项的优先顺序。是否选择选项将取决于(up to)客户端。
如以下表66及表67中所示出的,由于将命名为minBufferSize的其他选择性属性附加于MPD,因此,该构想可被实现。2个属性(minBufferTime和minBufferSize)中必须有一个。
表66为minBufferSize的语义。
【表66】
表67是minBufferSize的XML句法
【表67】
以下,对有关初期被缓冲的媒体的不同的量的频宽(bandwidth)进行说明
各representation的频宽信息可针对初期被缓冲的媒体的最少量被提供。但是,不同的客户端可具备初期被缓冲的媒体的不同的预设(pre-set)的量。该结果为针对不同的客户端需要不同的频宽信息。
以下,针对各representation,来说明对应于初期被缓冲的媒体的不同的
最少量的不同的频宽值。
该解法的优点在于不需要对应于初期被缓冲的媒体的多最少量的多MPD。
为了上述目的,MPEG DASH的模式可如下所述被改变。
1)与上述相似,可将更多的值与MPD相加来用于初期被缓冲的媒体的最少量。缓冲量可为时间单位或数据量单位。
2)可针对各representation,提供对应于上述的初期被缓冲的媒体的最少量的频宽值。
在此变形中,可通过MPDtype内的MinBUffer元素或RepresentationType内的BandwidthInforepBandwidth元素被实现。
以下,表68示出MinBuffer的语义
【表68】
以下,表69示出BandwidthInfo的语义
【表69】
以下,表70及表71示出Bandwidth Info的XML句法。
【表70】
【表71】
以下,对段频宽进行说明
Bandwidth属性可用于穿过period的整个持续时间的各representation。但是,为了质量的一贯性(consistence),被编码的视频的比特率具有常规busty特性(characteristics)。一个段的比特率可能比其他段的比特率要高出几倍。为了使客户端可在网络变化(variations)中更有效地适应,可附加地提供各段的频宽信息。
表72示出SegmentBandwidth的语义。
【表72】
表73及表74示出SegmentBandwidth的句法
【表73】
【表74】
当段较长,段的持续时间内存在频宽的波动(fluctuations)时,需要描述频宽的子段。所述描述可通过将repeat属性变为duration属性(类型=“xs:duration”)体现,来用于指示出子段的间隔(interval)从而代替段。
由于上述的构想可使用如下所示的IntervalBandwidth元素,因此,可通过一般的方式来体现。该方式的优点在于间隔不需要与段界限对齐。在该句法中依据最少初期缓冲的
表75示出IntervalBandwidth的语义
【表75】
表76示出IntervalBandwidth的句法。
【表76】
以下,对用于支持虚拟段的扩展进行说明
媒体在传达之前被准备(prepared)。特别是,原始媒体文件需被分段,且一些频带内(in-band)的元数据信号被插入媒体数据内。
以下对用于将媒体操作的请求(demand)最小化,描述不同的representation的“虚拟段”进行说明。虚拟段可作为串流(或段)内的数据部分的集合被定义。
虚拟段的目的可分为以下目的1)至目的2)。
1)媒体文件的生成及管理:由于使用明显的虚拟段,物理性文件的个数可减少。此外,可不改变原始媒体文件,通过频带外(out-of-band)元数据信号(signaling)来扩大(augment)。
2)段提供的流动性:可从串流获取段的不同的类型。
在MPEG DASH中,经客户端请求的媒体段可通过URL及字节范围(range)被设定。特别是,当媒体串流包含不同的representation时,由于媒体段可通过媒体串流的不同的部分被构成,因此,一般建议此类设定。为了识别虚拟段,可将URL与多种字节范围一起使用。此外,可使用不同的技术(techniques),来减少因使用多种字节范围而引起的增加的元数据。
MPD的UrlType的语义可如下所述被改变。
range属性:字符串[...].的格式可支持多种字节范围(例如:“0-500,1000-1500”)。
在将经字节范围获取的representation进行解码时,媒体信头框(例如,moov或moof框)的一些部分可包括representation描述和不同的信息。在此情况下,可忽视上述的信息。
为了以将字节范围压缩的方式来表现,可附加新元素MoreAddressingInfo。元数据片段可加入至MoreAddressingInfo元素来减少初期的MPD的大小。
为了支持无须改变原始媒体文件的特性,可将段索引框(以及其他相关联的框,例如,对应于Ranges元素的框)传送(convey)至频带外。出于此目的,为了指示出MoreAddressingInfo元素或各媒体段的段索引框,可包括具有URL和字节范围的信息。
以下,经MoreAddressInfo元素被升级的SegmentInfo元素在表77进行说明。
【表77】
在此,只有在xlink:href不被使用时来维持条件。当链接被使用时,所有的属性为“选择性的”,且<minOccurs=0>。
元素为粗(bold)体,属性为非粗体(non-bold)。
以下的表78和表79显示出MoreAddressingInfo元素的XML句法。
【表78】
【表79】
为进一步减少MoreAddressingInfo元素的大小,MoreAddressingInfo元素可通过伪码格式来表现。
以下,表80作为一个例子示出ByteRanges元素。
【表80】
在此,same_rep可指示出以下各字节范围的各序列是否是用于相同的representation的段,或是不同的representation中具相同顺序的段。
segment_count示出各representation中段的个数。
rep_count示出representation的个数。
range_count示出字节范围的个数。
start和end示出字节范围的开始值和结束值。
same_start指示出以下的字节范围的集合是否具有与之前字节范围的集合相同的开始值。
为了说明经MoreAddressingInfo元素被提供的representation的特性,可使用不同的方式。以下,对2种一般方式进行说明:1)使用representation组的representation的方式;2)使用representation的子representations的方式。
使用representation组的representation的方式
在该方式中,RepresentationGroup元素的SegmentInfoDefaultType,可如表81所示,从所述SegmentInfo类型直接被扩展。当RepresentationGroup元素的SegmentInfoDefault元素被用来传达段的寻址(addressing)信息时,Representation元素的SegmentInfo元素为附载。Representation组的各representation可具有与通过MoreAddressingInfo的Ranges元素被指示的(相对应的)标识符值相同的标识符值。
【表81】
使用representation中的子representation的方式
在该方式中,称为SubReps的新元素被用来描述(母)SubReps的不同的(子)representation。母representation的SegmentInfo元素可用来传达(如上所述的)寻址信息。
以下,表82对SubReps的语义进行说明。
【表82】
表83示出SubReps元素的XML句法。
【表83】
以下,对适应提示(adaptation hint)进行说明。
在一些情况下,检测质量(quality)值可能消耗费用。因此,在提供者选择不同的representation时可提供一些提示来代替提供质量信息。
以下,对用于建议在给予的上下文(context)中选择的representation的适应提示进行说明。该适应提示的元素及语义在以下示出。适应提示可以是Period或Subset的子元素。在SubSet中被使用时,AdaptationHint可只考虑属于该SubSet的representation。
实质上,客户端不仅用于在描述的上下文中选择representation,还可用于在其他可使用的上下文中推断(infer)representation(例如,插补(interpolate))。
表84示出AdaptationHint的语义。
【表84】
表85及表86示出AdaptationHint的句法
【表85】
【表86】
以下,对子representation的组的频宽范围进行说明。
由于提取用于满足用户装置(device)的多种条约的子流时的流动性,可扩展的(scalable)的内容被进一步普及。文件格式可提供范围较广的多种用于从完整(full)(可扩展的)的串流提取子流的工具。在DASH中为了提供可扩展的内容,提出称为Representation的bandwidthRange的新属性。bandwithRange属性提供可从完整串流/representation提取的子串流(或子representation)的频宽值。
为了下载完整representation的段,客户端可只使用与representation描述一起被使用的URL。但是,为了下载子representation的段,客户端可包括针对各URL称为“bandwith”的查询参数(query parameter)(例如,“?bandwitdh=1000”)。
以下,表87对bandwidthRange的语义进行说明:
【表87】
bandwidthRange也可用于RepresentationGroup。在此,子representation可以是RepresentationGroup的representation。
与频宽相似,类似,resolution、frame rate的其他属性也可通过对应的resoultionRange及framerateRange被扩大。
以下,对频宽信息附加地进行说明。
有关频宽及初期的缓冲延迟的描述可被升级来用于支持适应性时实现流动性和正确性。
MPD级别中的minBufferTime
各representation的频宽值可针对一定(certain)的初期缓冲时间值(minBufferTime)被定义。初期的缓冲时间可针对MPD级别被提供。但是,minBufferTime是否只是在媒体演示的开始被适用或在任意的RAP中被适用还不明确。
MPD级别中的minBufferTime的语义可通过以下所述的选项中的一个被修改(revise)。
1)当各Representation在以Representation的bandwidth属性值或其以上的值被传达时,可提供用于保障顺畅播放所需的(媒体演示的开始时)初期被缓冲的媒体的最少量。
2)当各Representation在以Representation的bandwidth属性值或其以上的值被传达时,可提供用于保障顺畅播放所需的(媒体演示的任意的Period的开始时)初期被缓冲的媒体的最少量。
3)当各Representation在以Representation的bandwidth属性值或其以上的值被传达时,可提供用于保障顺畅播放所需的(媒体演示的任意的RAP中)初期被缓冲的媒体的最少量。
Period中的minBufferTime
当MPD中的minBufferTime属性在表示的开始时间较特别时,可将minBufferTime进一步加至各Period。将minBufferTime加于各Period时可重写MPD级别中的minBufferTime值。该重写可在Period开始之前实现适当的初期的缓冲。
首先,表88中,MPD级别中的minBufferTime可变更为选择性属性。
表88对minBufferTime进行说明。
【表88】
以下,Period级别中的minBufferTime属性的语义及句法在表89和表90中示出。
【表89】
【表90】
以下,对bandwidth的改变的定义进行说明
Bandwidth的定义可保障Period内的representation的连续播放。但是,(当存在时)下一个Period内的representation不能保障representation在开始之前是否可被充分缓冲。Peroid为保障穿过连续性地播放,bandwidth属性的语义可如表91所示出的被改变。
【表91】
当前Period的所有媒体数据可在下一个Period的开始之前被较好的接收。因此,下一个Period的所有媒体数据可在下一个Period的开始之前(连续性播放)充分地被缓冲。
以下,对bandwidth-minBufferTime的多对进行说明。
接收相同的MPD的不同装置涉及MPD内的minBufferTime。但是,不同的装置可能需要初期被缓冲的媒体(或不同的最少初期的缓冲延迟(delay))的不同量。
例如,一个装置(支付高频宽)优选较小的延迟,且具有低频宽连接的其他装置允许较大的延迟。
具有bandwidth-minBufferTime的多对时可在选择QoS级别中提供较大的流动性。
以下,描述:1)minBufferTime的不同值/实体;2)对应于minBufferTime的不同值的(有关各representation的不同的频宽值。该方法的优点在于不需要对应于minBufferTime的多值的多MPD。
用于上述目的的MPEG DASH的模式的改变与以下所述的选择事项相同
1)增加用于MPD的最小初期的缓冲延迟的更多的值。
2)针对各representation,提供对应于所述的最小初期的缓冲延迟的值的频宽值
此类改变可通过1)MPD和Period级别中的MinBufferTime元素及2)Representation内的BandwidthInfo元素被体现。
bandwidth-minBufferTime其他对也可被插不来用于提供bandwidth-minBufferTime的对。
表92为MPD级别中的MinBufferTime的语义。
【表92】
表93为Period级别中的MinBufferTime的语义。
【表93】
表94为BandwidthInfo的语义。
【表94】
表95至表97为MinBufferTime及BandwidthInfo的句法。
【表95】
【表96】
【表97】
以下对用于各RAP的bandwidth-minBufferTime的多对(pair)进行说明
一般,representation的各RAP可接收bandwidth-minBufferTime的多对。此信息可使客户端(例如在随即存取(random accessing)时)可在从RAP播放之前缓冲充分的初期数据。
表98对RAPInfo的语义进行说明。
【表98】
元素或属性名称 |
使用 |
说明 |
Representation |
M |
Representation元素包括Representation的描述 |
............ |
|
|
SegmentInfo |
1 |
提供段存取信息 |
RAPInfo |
0...1 |
提供Representation的RAP中的频宽及初期延迟的信息 |
xlink:href |
O |
有关外部的RAPInfo元素的参照 |
RAPPoint |
1...N |
提供RAP中的频宽及初期延迟的对 |
timePoint |
M |
提供RAP的开始点。该时间点相对于representation的开始 |
BandwidthDelayPair |
1...N |
提供RAP的频宽及初期延迟的对 |
id |
M |
提供对的id |
delay |
M |
提供从RAP至播放之前可执行的初期延迟 |
bandwidth |
M |
提供对应于上述delay值的频宽 |
表99及表100描述RAPInfo的句法。
【表99】
【表100】
RAPInfo元素及RAPInfo元素的子元素可变换成伪码格式/框来用于压缩。更进一步,RAPInfo元素及RAPInfo元素的子元素的伪码框被分离存储或(例如,各RAP的前面)插入媒体比特流内。
以下对播放曲线(Playout Curve)进行说明。
提供有关各RAP的bandwidth-delay信息可能需要消耗很多费用。另一种方法是表现representation的播放曲线的近似值。当获知播放曲线(或播放曲线的近似值)及(对应于特定的初期的延迟的)选择的宽频时,可通过播放曲线的时间偏移及作表现出被选择的频宽的曲线来容易地计算出各RAP的初期延迟。
表102示出AppPlayoutCurve的语义
【表101】
【表102】
图5是示出根据本发明的一个实施例的客户端100的结构图。
控制单元510执行步骤130和步骤140。即,控制单元510处理有关间隔的元数据,且基于处理来选择适合于间隔的所述片段的收发单元520执行步骤120、步骤140、和步骤150。即,收发单元520从服务器110接收有关内容的间隔的元数据,并向服务器请求适合于间隔的片段,并从服务器接收所述片段。
图6是示出根据本发明的一个实施例的客户端100的结构图。
客户端100包括存取引擎610和媒体引擎620。
存取引擎610可以是DASH存取引擎。
存取引擎610从服务器110接收元数据(例如,MPD)。
存取引擎610构成请求,并将构成的引擎发给(issue)服务器110。
存取引擎610从服务器110接收媒体(例如,段或段的一部分)。
存取引擎610将媒体提供给媒体引擎620。
存取引擎610的输出可包括MPEG容器(container)(例如,ISO/IEC14492-12ISO基本文件格式或ISO/IEC13818-2MPEG-2传输流)的媒体(或媒体的一部分)。此外,存取引擎610的输出可包括所述媒体的内部(internal)定时映射(map)为媒体表现的时间线的定时信息。
媒体引擎620播放提供的媒体。即,媒体引擎620可从存取引擎610接收提供的媒体数据,并输出媒体。媒体引擎620可使用从存取引擎610输出的媒体数据和定时信息来输出媒体。
参照上述图1至图4说明的根据本发明的一个实施例的技术型内容在本实施例中也可照样适用。因此,省略详细地说明。
根据本发明的一个实施例的方法能够以程序指令的形式被体现并记录在计算机可读媒体中,该程序指令可通过多种计算机手段被执行。所述计算机可读媒体可包括独立的或结合的程序指令、数据文件、数据结构等。所述媒体中记录的程序指令可专门为本发明特别设计和创建,或为计算机软件技术人员熟知而应用。计算机可读媒体的例子包括:磁媒体(magnetic media),如硬盘、软盘和磁带;光学媒体(optical media),如CD ROM、DVD;磁光媒体(magneto-optical media),如光盘(floptical disk);和专门配置为存储和执行程序指令的硬件设备,如只读存储器(ROM)、随机存取存储器(RAM)等。程序指令的例子,既包括机器代码,如由编译器产生的,也包括含有可由计算机使用解释程序执行的更高级代码的文件。所述硬件设备可配置为作为一个以上软件模块运行以执行上面所述的本发明的示例性实施例的操作,反之亦然。
如上所示,本发明虽然已参照有限的实施例和附图进行了说明,但是本发明并不局限于所述实施例,在本发明所属领域中具备通常知识的人均可以从此记载中进行各种修改和变形。
因此,本发明的范围不受说明的实施例的局限或定义,而是由后附的权利要求范围以及与权利要求范围等同的内容来定义。