一种提供媒体资源预览信息的方法
技术领域
本发明涉及通用即插即用(Universal Plug and Play,缩写UPnP)音频视频(Audio Video,缩写AV)体系技术领域,具体涉及在该技术领域中一种提供媒体资源预览信息的方法。
背景技术
UPnP是由Microsoft公司提出的一种用于家庭网络的通用的即插即用技术。完整的UPnP服务系统由支持UPnP的网络和符合UPnP规范的设备共同构成,UPnP可以透明地连接PC、各种智能设备和无线设备,并支持网络和点对点的自动发现与自我配置。随着数字化技术的发展,越来越多的家庭设备开始支持UPnP技术。通过UPnP AV(Audio Video,音频和视频)体系技术,用户可以方便地使用支持UPnP AV体系的媒体播放器和播放媒体服务器上的媒体资源,而不需要做任何配置。用户通过媒体播放器查询媒体服务器上的媒体资源,选择媒体资源进行播放。图1是现有技术中媒体播放器和媒体服务器的连接结构示意图,它们通过家庭网络连接起来,使用UPnP协议进行通信。
当用户通过媒体播放器向媒体服务器发出查询媒体资源的请求,媒体服务器会将相应的媒体资源的特征以文字信息的形式返回给媒体播放器,媒体播放器将这些返回的信息经过组合后呈现给用户,用户通过阅读这些信息,选择媒体资源进行使用。但是媒体资源本身往往具有很大的信息量,仅仅通过文字信息很难准确、直观地进行描述,用户期待能够以更直接和生动的方式来了解媒体资源。
在UPnP设备体系框架中定义的UPnP AV体系,规定了符合UPnPAV体系的设备所必须支持的功能,其中就包含内容目录服务(CDS,Content Directory Service)功能。举例来说,一个媒体服务设备包含有其它设备想要访问的不同类型的内容,例如音乐、视频、静态图象等等,因此媒体服务设备会提供一个访问的接口,通过这个接口可以访问媒体服务设备上的视频、音频和静态图象等资源。为了让用户能够享受这些内容,用户必须能够浏览存在媒体服务设备上的对象,选择一个特定的对象,并且让这个项目在合适的媒体播放设备上播放,例如一个音频播放器可以播放音乐对象,一个TV可以播放视频内容,一个电子像框能显示静态图象。为了尽可能方便用户通过各种的媒体播放设备来发起这些操作,媒体服务设备需要为媒体播放设备提供一个统一的机制来浏览媒体服务设备上的内容,获取每个内容对象的详细信息,这就是内容目录服务的目的。
内容目录服务还提供查找/存储服务,这一服务让客户端(如媒体播放设备)能定位特定的对象(如歌曲、电影、图象等),这些特定的对象是媒体服务设备能提供的。内容目录服务能够用来列举存储在MP3播放器上的歌曲列表、幻灯机上的静态图象列表、DVD自动点唱机上的电影列表、当前正在广播的电视节目列表(也就是一个EPG)、存储在CD自动点唱机上的歌曲列表、存储在PVR(个人视频记录)上的节目列表等等,许多相近类型的内容也能通过内容目录服务列举。对这些包含多种类型内容(如MP3、MPEG2、JPEG等)的设备,CDS的实例就能列举所有的这些对象,不管它们是什么类型的。媒体服务器通过UPnP AV体系结构规定的CDS来响应媒体播放器的浏览请求。CDS定义了一个类系统来描述被管理的不同类型的对象,其基类叫object,其它类都是从基类派生出来的。CDS定义的属性和元素用来描述CDS管理的对象(包括媒体资源)的特征。媒体资源的特征通过CDS使用XML(Extension Markup Language,可扩展标记语言)语言定义的“description”属性、“res”元素等来描述,这些描述都是以文字方式对媒体资源的特征进行描述。这样在媒体播放器要求媒体服务器提供指定媒体资源的特征信息时,媒体服务器将包括上述属性和元素的媒体特征等信息反馈给媒体播放器,这里的信息以XML语言的方式包装。媒体播放器在取得这些特征后,将这些文字信息组合呈现给用户,用户通过阅读这些信息来了解媒体资源的特征。
元素和属性的区别是一个元素可以包含多个属性和子元素,而属性本身只能有自己一个属性值,“description”属性以一个字符串的形式描述该媒体资源的特征,比如该媒体的内容简介等;而“res”元素则具体包含了该媒体的各种信息,如媒体资源的长度、存放的位置、编码的码流等。UPnP技术规范要求CDS使用XML语言进行定义和表达,比如在UPnP里面使用的用来描述媒体资源属性的“res”是这样用XML语言定义的:
<xsd:element name="res"type="didl-lite:resType"/>
<xsd:complexType name="resType"mixed="true">
<xsd:annotation>
<xsd:documentation>A′res′element indentifies a resource.A resource is typicallysome type of a binary asset,such as photo,song,video,etc.A′res′element contains auri that identifies the resource.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="xsd:string">
<xsd:attribute name="importUri"type="xsd:anyURI"/>
<xsd:attribute name="protocolInfo"type="xsd:string"use="required"/>
<xsd:attribute name="size"type="xsd:unsignedLong"/>
<xsd:attribute name="duration"type="xsd:string"/>
<xsd:attribute name="bitrate"type="xsd:unsignedInt"/>
<xsd:attribute name="sampleFrequency"type="xsd:unsignedInt"/>
<xsd:attribute name="bitsPerSample"type="xsd:unsignedInt"/>
<xsd:attribute name="nrAudioChannels"type="xsd:unsignedInt"/>
<xsd:attribute name="resolution">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattem value="[0-9]+x[0-9]+"/>
</xsd:restriction>
</xsd:simple Type>
</xsd:attribute>
<xsd:attribute name="colorDepth"type="xsd:unsignedInt"/>
<xsd:attribute name="protection"type="xsd:string"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
目前的UPnP AV体系结构并没有提供预览媒体资源的功能;对媒体资源特征只能以文字形式进行描述,很难使用户对媒体资源特征进行准确、直观的了解;可能导致用户使用不合本意的媒体资源,从而影响用户对媒体资源的正常使用,浪费用户的时间。
发明内容
本发明要解决的技术问题是给出一种提供媒体资源预览信息的方法,克服现有技术的CDS对媒体资源特征只能以文字形式进行描述的缺点。
本发明采用如下的技术方案:
这种提供媒体资源预览信息的方法,包括步骤:
A、在通用即插即用音频和视频体系的内容目录服务中定义描述预览资源特征的预览属性或预览元素;
B、媒体服务器对媒体资源对应的预览资源赋予相应的预览属性或预览元素的值,并在收到媒体播放器的输出预览资源的请求时,向媒体播放器输出预览属性或预览元素的值指定的预览资源。
所述的技术方案,其中:所述步骤B包括以下步骤:
B1、媒体播放器和媒体服务器建立连接;
B2、媒体播放器向媒体服务器发送查询媒体资源信息的请求;
B3、媒体服务器将包括预览属性或预览元素的值在内的信息发送到媒体播放器;
B4、媒体播放器向媒体服务器发送获取预览资源的请求;
B5、媒体服务器向媒体播放器输出由预览属性或预览元素的值指定的预览资源。
所述的技术方案,其中:所述预览资源由媒体服务器的预览模块自动生成。
所述的技术方案,其中:所述预览属性或预览元素的值包含预览资源的位置信息。
所述的技术方案,其中:所述预览属性或预览元素的值由手工输入编辑或者由媒体服务器自动完成编辑。
本发明的技术方案为媒体服务器上的媒体资源提供了预览功能,用户可以在使用媒体资源前通过浏览预览资源来准确、直观地了解媒体资源的特征,然后选择合适的媒体资源进行使用,从而提高了用户操作友好性及舒适度。
附图说明
图1是现有技术中媒体播放器和媒体服务器的连接结构示意图;
图2是本发明实施例流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明:
在UPnP设备体系框架中定义的UPnP AV体系中,扩展CDS功能,增加预览属性或者预览元素来描述object类的预览特征,其包含有预览资源的位置等信息,以实现媒体资源的预览。本实施例以预览元素previewres为例进行说明,例如可以按如下方式用XML语言定义预览元素previewres:
<xsd:element name="previewres"type="didl-lite:resType"/>
<xsd:complexType name="resType"mixed="true">
<xsd:annotation>
<xsd:documentation>A′previewres′element indentifies a resource.A resource istypically some type of a binary asset,such as photo,song,video,etc.A′previewres′element contains a uri that identifies the resource.</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="xsd:string">
<xsd:attribute name="importUri"type="xsd:anyURI"/>
<xsd:attribute name="protocollnfo"type="xsd:string"use="required"/>
<xsd:attribute name="size"type="xsd:unsignedLong"/>
<xsd:attribute name="duration"type="xsd:string"/>
<xsd:attribute name="bitrate"type="xsd:unsignedInt"/>
<xsd:attribute name="sampleFrequency"type="xsd:unsignedInt"/>
<xsd:attribute name="bitsPerSample"type="xsd:unsignedInt"/>
<xsd:attribute name="nrAudioChannels"type="xsd:unsignedInt"/>
<xsd:attribute name="resolution">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]+x[0-9]+"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="colorDepth"type="xsd:unsignedInt"/>
<xsd:attribute name="protection"type="xsd:string"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexTyPe>
预览属性或预览元素的值的编辑不论是自动生成还是手工输入,都是直接将预览资源的URL地址赋给预览属性或者预览元素即可。
预览元素“previewres”和元素“res”一样是用来描述基类object的一个元素,因为在XML语言中定义的元素可以具有多个子属性,从将来的扩展性上考虑,使用增加预览元素这种方式可扩展性较好。本实施例以在CDS中增加定义预览元素“previewres”来描述object类的预览特征为例进行说明,预览元素的类型和CDS中定义的“res”元素的类型一样,其内容包含有预览资源的位置信息,还可以包含预览资源本身的特征信息(如长度、作者等信息),以实现媒体资源的预览功能。对于媒体资源,可以取其中的片断,以预览资源的形式提供。用户在使用媒体资源前,通过预先浏览媒体服务器提供的该媒体资源的预览元素或预览属性指向的预览资源,可以准确、直观地了解媒体资源的特征。
如图2所示,本发明实施例流程如下:
1.媒体服务器在增加媒体资源时,同时编辑该媒体资源对应的预览资源的预览元素或预览属性的值,其中该预览元素或预览属性的值包括该媒体资源对应的预览资源的位置等信息。
例如:在媒体服务器中如下述方式编辑媒体资源对应的预览元素的值:
媒体资源1.预览元素“http://192.168.0.1/1_preview.avi”,(媒体资源1对应的预览元素的值);
媒体资源2.预览元素“http://192.168.0.1/2_preview.avi”,(媒体资源2对应的预览元素的值)。
预览资源可以是已有的媒体资源,如一段视频媒体资源、海报等;也可以由媒体服务器的预览生成模块。预览生成模块是利用各种现有的技术生成媒体资源相对应的预览资源,如对于图像资源可以采用使用图像解码器生成对应的缩略图像的方式生成图像预览资源,对于音频资源可以采用直接抽取音频资源中的一段连续的音频生成对应的音频预览资源的方式生成音频预览资源。对于视频资源可以采用“镜头检测”技术提取视频资源中的关键镜头生成对应的视频预览资源,镜头是指一系列连续记录的图像帧,用于表示一个时间段或相同地点连续的动作,“镜头检测”技术是通过一定算法把视频中每个镜头提取出来,实现对视频内容的分析、组织和索引。预览元素或预览属性的值可以手工输入和修改,或由媒体服务器自动完成编辑。
2.媒体播放器和媒体服务器建立连接。
媒体播放器与媒体服务器建立连接,准备查询媒体资源。
3.收到媒体播放器查询媒体资源信息的请求。
媒体播放器发送查询命令给媒体服务器,请求获得媒体服务器上的媒体资源的特征信息。
4.向媒体播放器提供查询结果,包括媒体资源对应的预览元素的值等
信息。
媒体服务器将查询的结果返回给媒体播放器,返回的信息中包括媒体资源对应的预览元素的值(如预览资源的位置等)。
5.收到媒体播放器要求输出媒体资源的预览资源的请求。
媒体播放器可以根据步骤4返回的预览元素的内容信息要求媒体服务器输出媒体资源对应的预览资源。假设媒体播放器和媒体服务器都支持HTTP方式传输媒体的方式,那么媒体播放器取得步骤1中媒体文件1的预览资源只需要向媒体服务器发送“HTTP-GEThttp://192.168.0.1/1_preview.avi”的请求即可。
6.向媒体播放器输出媒体资源对应的预览资源。
通过媒体服务器向媒体播放器输出媒体资源对应的预览资源,用户就可以预览媒体资源。
7.收到媒体播放器要求输出指定媒体资源的请求。
在预览媒体资源之后,如果要求使用某个媒体资源,则媒体播放器要求媒体服务器输出该媒体资源。
8.向媒体播放器输出指定媒体资源。
通过媒体服务器向媒体播放器输出请求的媒体资源,于是指定媒体资源就在媒体播放器上进行演示了。
虽然通过参照本发明的优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。