一种网络多媒体信息快速播放方法及相应的机顶盒设备 【技术领域】
本发明涉及多媒体信息技术领域,尤其涉及一种在以电视机顶盒为终端的多媒体信息下载、播放方法以及用于实现该方法的机顶盒设备。
背景技术
在互联网上,以计算机为终端进行多媒体信息的传输和播放已非常普及。尤其是近年来随着接入技术的进步以及多媒体信息压缩算法的发展,无论是通过下载方式还是通过流媒体传输的方式都可以达到比较满意的效果。但以电视机为播放终端,进行网络多媒体信息传输、播放的方法,目前还没有广泛地被用户接受。造成此种问题的一个重要原因是现有的多媒体信息播放技术还不能满足电视机用户的需要。
目前,通过电视机播放网络多媒体信息的方法,主要有下载方式和流媒体方式两大类,其中:
下载方式,服务器将整个多媒体信息通过网络全部传输到本地机顶盒上并存储,用户可通过设定参数来选择该信息下载完全后是否立即播放。
流媒体方式,由服务器向用户设备提供连续、实时的声音、影像或动画等多媒体信息的传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。当多媒体信息在客户机上播放时,文件的剩余部分将在后台从服务器内继续下载。流媒体方式分为顺序流式传输和实时流式传输两种实现方法。
顺序流式传输就是顺序下载,服务器不根据用户连接的速度调整下传的数据流量,电视机顶盒接收到分片报文形式地下传数据后,在高速缓存中完成组包,存储到播放器的缓存并进行播放。
实时流式传输指服务器通过控制,使多媒体信息码率与网络带宽相匹配,保证多媒体信息可以实时播放。当信道带宽较低时图像质量较差。
下载方式和流媒体方式各有其优点和不足。在一定的传输带宽下,下载方式实际上是以牺牲用户的等待时间来换取多媒体信息播放的流畅性;而流媒体方式则是通过牺牲画面质量,或者画面的连续程度使用户减少等待时间。目前我国的大部分用户使用ADSL接入宽带网络,还无法完全达到电视视频流实时传输的需求,因此若采用顺序流式传输,在节目流畅地播放一段时间后将非常缓慢并可能产生停顿,经过一段时间的缓冲后才能进行后续节目地播放。这种停顿会周期性的频繁产生,对于习惯于欣赏流畅节目的电视机用户来讲是完全无法接受的。若采用实时流式传输方式,则为了保证多媒体信息能够在目前的网络条件下流畅播放,必然裁减掉原有多媒体信息的部分数据,导致视频、音频质量受损,这对于电视机用户来讲也是无法接受的。
因此,有必要提出一种网络多媒体信息快速播放方法,来适应在电视上播放网络多媒体信息的需求。
【发明内容】
本发明要解决的技术问题是提供一种网络多媒体信息快速播放方法,既可以保证播放质量,又尽量减少用户观看多媒体信息的等待时间。本发明进而提供一种实现该方法的机顶盒设备。
为解决上述技术问题,本发明提供了一种网络多媒体信息快速播放方法,应用于由服务器、宽带网络、网络电视机顶盒和电视机组成的系统,包括以下步骤:
(a)用户登录服务器,选择要播放的多媒体信息,然后分别执行下述的数据存储流程和播放流程;
其中,所述数据存储流程包括以下步骤:
(b1)数据流不经过流量控制,直接由服务器下传到机顶盒;
(c1)机顶盒完成分片报文的接收和组包,然后存储在本地存储器中,同时记录下载时间和已存储的数据量;
(d1)连续进行上述步骤(b1)和(c1),直到文件下载完毕;
所述播放流程包括以下步骤:
(b2)预测剩余数据的下载速度,计算开始内容播放的时刻;
(c2)判断是否已到播放时刻,如果没有到,则返回步骤(b2),如果播放时刻已到,执行下一步;
(d2)从本地存储器中读取已下载内容,从当前播放位置开始播放;
(e2)在进行内容播放的同时,判断数据是否下载完毕,如果是,则播放完所述多媒体信息后,结束;如果没有下载完毕,执行下一步;
(f2)判断当前可播放的数据量是否足够,如果是,返回步骤(e2),否则,执行下一步;
(g2)中断内容播放并记录播放时刻,返回步骤(b2)。
为了使用户可以更一进缩短等待时间,在所述步骤(b2)之前,除了默认一次播放完所选多媒体信息的整个内容外,还可以由用户选择本次播放的时长;在步骤(b2)中,用本次播放还需下载的数据量除以预测的下载速度得到剩余下载时间,该剩余下载时间减去本次播放时长,加上设定的富裕量即得到等待时间,由该等待时间确定开始播放的时刻。
为了使电视用户等待时也能和计算机用户一样进行其它娱乐,在所述步骤(b2)中,还向用户显示可选的插播项并播放选定项目;在所述步骤(c2)中,如果播放时刻已到,先询问是否中断插播程序,如果用户选择中断,再执行步骤(d2),如果用户不马上中断,在结束插播后再执行(d2)。
上述方法中,服务器在发送完用户选择的多媒体信息后,可以继续发送用于插播的多媒体信息,并存储在机顶盒的本地存储器中。
为了提供友好的用户界面,在所述步骤(b2)中,在预测所述下载速度的同时,还可以提示用户等待;在所述步骤(c2)中,如果播放时刻没有到,则显示播放时刻或提示用户需要等待的时间。
为了在重新开始播放时帮助用户回忆以前的内容,所述步骤(g2)之后的下一次内容播放开始时,可以先进行已播放内容片段的自动选播。
上述方法中,所述播放流程中的预测和判断可以定时执行。
本发明用于实现上述方法的机顶盒设备,包括:主控制模块、网络接口单元、存储单元、解码单元、多媒体输出单元和控制接口单元,其特征在于:
所述存储单元包括:程序存储区,用于存储机顶盒设备的控制程序;下载多媒体数据存储区,用于存储用户点播的多媒体数据。
其中的主控制模块用于提供所述网络多媒体信息快速播放方法所需的存储、播放流程控制和播放控制,进一步包括:
存储控制单元,用于将组包后的下载数据存放在所述下载多媒体数据存储区,同时记录下载时间和已存储的数据量;
播放启动控制单元,用于预测剩余数据的下载速度,结合本次播放时长和还需下载的数据量确定播放时刻,在播放时刻从当前播放位置启动内容播放;
播放控制单元,用于读取所述下载多煤体数据存储区的数据,进行播放;
播放中断控制单元,用于在下载完成之前,判断所述下载多媒体数据存储区中可播放的数据量是否足够,数据量不足时,中断内容播放,记录当前播放时刻,并转入启动控制。
为了在等待时实现插播,所述存储单元还包括一个插播多媒体数据存储区,用于存储在下载等待过程中要插播的多媒体信息;所述主控制模块还包括一个插播程序控制单元,用于控制插播多媒体信息的下载和存储,显示可选插播项,启动和停止插播信息的播放。
为了实现片段自动选播,所述主控制模块还包括一个片段选播单元,用于在下载等待时从已播放内容中选择多个片段,并在重新开始内容播放时先启动这些片段的播放。
为了实现播放时长的选择,所述主控制模块还包括一个时长选择单元,用于提示用户进行本次播放时长的选择,并将选定时长提供给所述播放启动控制单元。
由上可知,本发明通过对网络电视机顶盒的改进实现的网络多媒体信息快速播放方法,确保了多媒体文件播放的流畅性及音、视频效果,并使得用户的等待时间尽可能的缩短。并且通过增加友好的人机界面以及运用平滑的内容过度方式,如,用户在等待过程中还可以欣赏插播节目等,使得用户可以得到满意的收看效果,特别适用于通过电视进行视频点播的需求。
【附图说明】
图1为本发明实施例的机顶盒设备的功能框图。
图2为本发明实施例数据存储的流程图。
图3为本发明实施例多媒体信息播放的流程图。
图4为本发明实施例实现插播程序调用的流程图。
【具体实施方式】
本发明实施例的系统由电视、网络电视机顶盒设备(以下简称为机顶盒)、宽带网络和服务器组成,播放时的组包、存储、播放等控制流程都是由机顶盒中的应用程序来完成的。如图2所示,本实施例的机顶盒包括:
网络接口单元210,用于提供网络接入;
存储单元220,用于存放机顶盒设备下载的多媒体信息,划分为用于存储机顶盒控制程序的程序存储区,存储用于插播的多媒体信息的插播多媒体数据存储区,以及存储用户点播的多媒体信息的下载多媒体数据存储区;
解码单元230,用于完成多媒体信息的解码工作;
多媒体输出单元240,用于向播放终端设备提供适合的数据接口;
主控制器250,用于提供本发明网络多媒体信息快速播放方法所需要的存储、播放流程控制和播放控制,进一步包含:
存储控制单元,用于将组包后的下载数据存放在所述下载多媒体数据存储区,同时记录下载时间和已存储的数据量;
播放启动控制单元,用于预测剩余数据的下载速度,结合本次播放时长和还需下载的数据量确定播放时刻,在播放时刻从当前播放位置启动内容播放(文中内容播放均指下载多媒体信息内容的播放);
播放控制单元,用于读取所述下载多煤体数据存储区的数据,进行播放;
播放中断控制单元,用于在下载完成之前,判断所述下载多媒体数据存储区中可播放的数据量是否足够,数据量不足时,中断内容播放,记录当前播放时刻,并转入启动控制;
插播程序控制单元,用于控制插播多媒体信息的下载和存储,显示可选插播项,启动和停止插播信息的播放。
控制接口单元260,用于向机顶盒设备输入用户的操作信息;
在用户通过多媒体终端选择从服务器点播多媒体信息后,经过必要的对话后,分别执行如图2及图3所示的数据存储流程和播放流程,其中的数据存储流程包括以下步骤:
步骤300,流媒体不经过流量控制,直接由服务器经宽带网络下传到机顶盒;
步骤310,机顶盒完成分片报文的接收和组包;
步骤320,将组包后的数据存储在存储单元的下载多媒体数据存储区,同时记录下载时间和已存储的数据量;
步骤330,连续执行上述步骤,直到选择的多媒体信息下载完毕。
除用户特意中断外,上述的下载过程在进行内容播放的时也是连续进行,即使用户中断下面的播放进程,也可以继续下载进程。上述流程中分片多媒体数据的发送、接收、组包和目前顺序流式传输相同,但组包后的多媒体数据是存储在本地的存储单元中,播放时再读取。
图3所示为本发明实施例的多媒体内容播放的流程图。在图3所示的存储程序执行的同时,该程序也开始执行,包括以下步骤:
步骤400,提示用户等待,并显示可选的插播项;
步骤410,调用播放程序播放用户选定的插播项;
步骤420,在插播的同时,系统定时(实时也是可以的)预测多媒体信息剩余数据的下载速度(平均),可以采用现有的各种方法;
步骤430,根据预测的下载速度,计算多媒体信息播放的开始时刻;本实施例采用的计算方法是:用本次播放还需下载的数据量除以预测的下载速度得到剩余下载时间,该剩余下载时间减去本次播放的时长,加上设定的富裕量即得到等待时间,显示给用户,在等待时间为零时即为播放时刻,这个时间是按当前数据估算的可以保证连续播放所需的等待时间,当然也可以将系统当前时间加上等待时间得到具体的播放时刻显示给用户。
步骤440,判断是否已到播放时刻,若播放时刻未到,则执行步骤442;如果播放时刻已到,执行步骤450;
步骤442,显示还需等待的时间(也可以是具体的播放时刻),并返回步骤420;在返回后根据速度预测和播放时刻计算的新的结束,对原显示进行修正;
步骤450,询问用户是否中断插播内容,如用户选择中断,则执行步骤460;如不中断,则执行步骤452;
步骤451,继续播放插播内容,播放结束后再执行步骤460;结束插播可以通过用户主动中断或设定为播放完一个小节目后自动结束等方式;
步骤460,调用播放程序,从存储单元的下载多媒体数据存储区的当前播放位置读取数据,开始内容播放;
步骤470,在进行内容播放的同时,定时判断是否下载完毕,如果是,则主控制流程可以结束,播放程序执行到播放完成;如果不是,执行下一步,步骤470;
步骤480,为了避免因下载速度的变化而产生意料之后的播放停顿,本实施例还判断下载多媒体数据存储区可播放的数据量是否不足(根据已下载数据量和已播放数据量的差值是否小于一门限值来判断),如果是,返回步骤470;如果数据量不足,执行下一步;
步骤490,中断内容播放并记录播放时刻,返回步骤410;
在步骤470中,在主控制流程结束后可以执行插播内容的下载,并将下载的插播数据存储在插播多媒体数据存储区。
图4示出是本发明实施例实现插播程序调用的方法,由以下步骤组成:
步骤500,在系统已经启动,而网络链接空闲的时候,服务器向用户终端发送部分节目内容,例如广告、风光片、介绍资料等;
步骤510,机顶盒将这些文件存储在存储单元的插播多媒体数据存储区,该区域可设成用户无法查询和访问的模式;
步骤520,服务器每隔一段时间向机顶盒发送节目表,更新机顶盒中的内容,该节目表实际上是一个循环链表,对应着各个插播节目程序;
步骤530,在播放过程中,调用插播程序后系统显示节目列表,并播放选定的节目,可将当前节目号加一后对应的节目作为默认的选定项;
步骤540,该节目结束后将自动跳转到下一个节目,直至特殊插播程序被中止,可以被用户主动中止或在播放时刻已到时自动中止。
综上所述,本发明提出了基于电视机显示的,在线多媒体节目下载、播放以及内容插播全套流程。该流程有可实现性,极大的扩展了电视机的使用空间。确保了多媒体信息播放的流畅性及音、视频效果,使得用户的等待时间尽可能的缩短,并通过友好界面和插播程序的调用使得用户在计算机上可以进行的其它欣赏活动在电视机上也得以实现,很好的满足了用户实际的需要。下面是一个具体的播放实例。
用户登录到某一服务器,选择了电影节目《英雄》。这时弹出选择画面:“请您稍等15分钟,可以冲一杯咖啡,然后再来观看。您现在可以选择以下服务内容:1、CD播放,2、已有影片播放,3、游戏......”。用户选择了CD播放,此时音乐响起。用户起身去冲咖啡。
用户于是一边品尝咖啡,一边欣赏音乐......音乐声停止,画面显示:“可以收看《英雄》了!您是否愿意中止CD播放,现在观看呢?”用户选择是。电视上于是就开始展现《英雄》波澜起伏的内容。整个画面的播放过程非常流畅,图象清晰,音效震撼,并且不需要象VCD或DVD一样去插放碟片。
大约一个小时以后,英雄播放暂停。在电视机上显示了如下内容:“您好!现在先休息一下,您目前收看的是广告节目。每收看一条,您将节省0.1元的上网费用。”电视屏幕上开始播放一些广告内容,并且有些用户还可以通过无线输入设备和其“对话”,可以进行翻页和内容选择。在广告的右上角显示着:“10分钟后您将继续收看精彩节目。”
十分钟后,广告停止播放,又恢复放映原先的《英雄》。用户继续欣赏新的内容,直至其结束。这时屏幕上显示:“谢谢您收看影片《英雄》,欢迎您再点播其他节目。”然后自动跳转到该服务器的节目列表。
本发明所述的电视终端可以是基于各种制式的模拟电视或数字电视,或者其他种类的多媒体播放终端。
在以上实施例的基础上,可以做各种变换,例如:
为了使用户可以更一进缩短等待时间,可以由用户选择本次播放的时长,在计算播放时刻时,本次播放还需下载的数据量可以为整个下载内容的1/2、1/3等等。例如,播放一部1:20小时的电影时,一开始可以选择40分钟的本次播放时长,这样,如果用户原来需等待30分钟,现在就只等待15分钟就可以开始观看了,后续处理和实施例的流程是一样的,在数据量不足而中断时,用户还可以再次选择本次播放时长。以满足用户尽早开始观看的需要。相应的,需要在主控制模块中增加一个时长选择单元,用于提示用户进行本次播放时长的选择,并将选定时长提供给所述播放启动控制单元。
为了在重新开始播放时帮助用户回忆以前的内容,在恢复放映时,可以先进行已播放内容片段的自动选播,从原内容中按时间提取出一些片段播放,当然,用户也可以选择跳过这一部分直接欣赏新的内容。相应的,主控制模块中还要增加一个片段选播单元,用于在下载等待时从已播放内容中选择多个片段,并在重新开始内容播放时先启动这些片段的播放。
为了提供多种可选的播放方式,在用户选择了要播放的多媒体信息后,系统可以先让用户选择实时播放方式或者高质量播放方式,如果用户选择实时播放方式,则按实时方式播放,如果用户选择高质量播放方式,则向下执行本实施例的数据存储流程和播放流程。