一种智能机顶盒及开机动画播放优化方法与流程

专利2022-05-09  147


本申请涉及光纤通信技术领域,尤其涉及一种智能机顶盒及开机动画播放优化方法。



背景技术:

随着智能化产品普及,越来越多的人开始关注电子消费产品,特别是在android平台智能终端在大规模占领市场之后,基于android平台的iptv/ott智能机顶盒已被亿万家庭所接受,android平台产品使用和研究也逐渐成为热点。android智能终端iptv/ott机顶盒在开机过程中都会播放开机动画,正常如无定制的开机动画,通过会播放android经典动画,如有则会播放指定开机画面。

大部分的android智能设备都采用系统预制固定的开机画面进行,基本采用系统ota更新方式更新开机动画。对于通过固件集成的方式更新开机动画,终端厂家在固件集成和测试过程中,很容易发现或者提前规避开机动画的各种异常,但在可通过网管下发或平台下发的方式更新中,存在由于下发和操作人开机动画原理和机制不了解,经常制作错误或者下发错误导致了开机动画播放异常,或导致开机动画的开机广告播放不完整或者长时间黑屏导致开机广告大打折扣问题,也可能因为开机动画错误未兼容导致系统无法正常启动。



技术实现要素:

本申请实施例提供了一种智能机顶盒及开机动画播放优化方法,以对开机动画播放的各种异常进行容错和处理,从而确保开机动画一致最新且力求能达到开机动画完整播放之目的。

第一方面,本申请提供了一种智能机顶盒,包括:

存储芯片,被配置为存储开机动画;

供电芯片,被配置为给所述机顶盒的各器件供电,以上电开机;

控制器,被配置为检测所述开机动画播放时是否存在开机动画播放完成标识,当存在所述开机动画播放完成标识时,控制进入主界面;以及,当不存在所述开机动画播放完成标识时,控制继续播放所述开机动画。

第二方面,本申请提供了一种开机动画播放优化方法,所述方法包括:

上电开机,获取开机动画;

检测所述开机动画播放时是否存在开机动画播放完成标识;

当所述开机动画播放时存在所述开机动画播放完成标识,则进入主界面;

当所述开机动画播放时不存在所述开机动画播放完成标识,则继续播放所述开机动画。

由上述实施例可见,本申请实施例提供了一种智能机顶盒及开机动画播放优化方法,该智能机顶盒包括存储芯片、供电芯片与控制器,存储芯片被配置为存储开机动画;供电芯片被配置为给智能机顶盒的各器件供电,以上电开机;控制器被配置为检测开机动画播放时是否存在开机动画播放完成标识,当存在开机动画播放完成标识时,控制进入主界面;当不存在开机动画播放完成标识时,控制继续播放开机动画。本申请提供的智能机顶盒中,通过检测开机动画播放时是否存在开机动画播放完成标识来判断开机动画播放是否异常,当存在开机动画播放完成标识时可说明开机动画异常无法进行播放,此时等到系统服务完成后控制进入主界面;当存在开机动画播放完成标识时也可说明开机动画已全部播放完成,此时系统服务可能已完成,则系统等待,等检测到开机动画播放完成标识时进入主界面;此时系统也可能未完成,则开机动画等待,等系统服务完成后进入主界面;当不存在开机动画播放完成标识时,说明开机动画未出错,则继续播放开机动画,直至播放完全部开机动画后生成开机动画播放完成标识。本申请对开机动画播放的各种异常进行容错和处理,在一定程度上能够确保开机动画一直最新且力求能达到开机动画完整播放之目的。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据一些实施例的显示设备的使用场景;

图2示出了根据一些实施例的控制装置100的硬件配置框图;

图3示出了根据一些实施例的显示设备中智能机顶盒的硬件配置框图;

图4示出了根据一些实施例的显示设备中智能机顶盒的软件配置图;

图5为本申请实施例提供的一种智能机顶盒的结构示意图;

图6为本申请实施例提供的一种开机动画播放优化方法的流程图;

图7为本申请实施例提供的一种开机动画播放优化方法中一种优化情况的详细流程图;

图8为本申请实施例提供的一种开机动画播放优化方法中另一种优化情况的详细流程图;

图9为本申请实施例提供的一种开机动画播放优化方法中再一种优化情况的详细流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。

术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。

在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。

在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,ar/vr设备等中的任意一种。

在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。

在一些实施例中,也可以使用智能设备300和显示设备进行数据的通信。

在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。

在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。

在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。

图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。

在一些实施例中,通信接口130用于和外部通信,包含wifi芯片,蓝牙模块,nfc或可替代模块中的至少一种。

在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。

图3示出了根据示例性实施例中显示设备200的硬件配置框图。

在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。

在一些实施例中控制器包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。

在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控ui界面等。

在一些实施例中,显示器260可为液晶显示器、oled显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。

在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。

在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。

在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。

在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口接口(hdmi)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(cvbs)、usb输入接口(usb)、rgb端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。

在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。

在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。

在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。

在一些实施例中控制器包括中央处理器(centralprocessingunit,cpu),视频处理器,音频处理器,图形处理器(graphicsprocessingunit,gpu),ramrandomaccessmemory,ram),rom(read-onlymemory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。

cpu处理器。用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。cpu处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。

在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。

在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可显示设备200上显示或播放的信号。

在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。

在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。

在一些实施例中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。

在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素中的至少一种。

在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。

在一些实施例中,显示设备的系统可以包括内核(kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(ipc)。内核启动后,再加载shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。

图4中示例性示出了显示设备200存储器中操作系统的架构配置框图。该操作系统架构从上到下依次是应用层、中间件层和内核层。

应用层,系统内置的应用程序以及非系统级的应用程序都是属于应用层,负责与用户进行直接交互。应用层可包括多个应用程序,如设置应用程序、电子帖应用程序、媒体中心应用程序等。这些应用程序可被实现为web应用,其基本webkit引擎来执行,具体可基于html5、层叠样式表(css)和javascript来开发并执行。

这里,html全称为超文本标记语言(hypertextmarkuplanguage),是一种用于创建网页的标准标记语言,通过标记标签来描述网页,html标签用以说明文字、图形、动画、声音、表格、链接等,浏览器会读取html文档,解释文档内标签的内容,并以网页的形式显示出来。

css全称为层叠样式表(cascadingstylesheets),是一种用来表现html文件样式的计算机语言,可以用来定义样式结构,如字体、颜色、位置等的语言。css样式可以直接存储与html网页或者单独的样式文件中,实现对网页中样式的控制。

javascript是一种应用于web网页编程的语言,可以插入html页面并由浏览器解释执行。其中web应用的交互逻辑都是通过javascript实现。javascript可以通过浏览器,封装javascript扩展接口,实现与内核层的通信。

中间件层,可以提供一些标准化的接口,以支持各种环境和系统的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(mheg),还可以实现为与外部设备通信相关的中间件的dlna中间件,还可以实现为提供显示设备内各应用程序所运行的浏览器环境的中间件等。

内核层,提供核心系统服务,例如:文件管理、内存管理、进程管理、网络管理、系统安全权限管理等服务。内核层可以被实现为基于各种操作系统的内核,例如,基于linux操作系统的内核。

内核层也同时提供系统软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为wifi模块提供wifi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(pm)模块提供电源管理驱动等。

本申请实施例提供的显示终端一般包括机顶盒与电视机,机顶盒采用android系统,android系统从上电到launcher加载完成,中间过程会在电视机上显示播放开机动画,开机动画播放过程中后台会启动系统服务,待系统服务完成后结束和退出开机动画,进而再进入到launcher并正式显示。大部分的android智能设备都采用系统预制固定的开机画面进行,基本采用系统ota更新方式更新开机动画,然此种方式的更新受制于系统版本更新,更新和展示不够灵活比较局限,同时系统升级只更新开机动画方式给人们使用体验不太友好。现如今也出现了多种开机动画更新的多种方式,iptv/ott智能机顶盒可以通过网管下发开机图片或者直接下发bootanimation.zip的方式更新开机动画,也可以通过开机广告app于前端交互请求更新方式进行开机动画的更新。更新前后的开机动画播放就相当机顶盒层面的广告展示,对于用户来讲可以带来一些全新的体验,对于盒端运维和管理来说开机动画更新可以通过展示广告的方式带来一定的收入。此功能十分紧要,如操作不善也能带来很大的负面问题。

在这个背景下,本申请实施例提供的智能机顶盒针对android平台的开机动画播放提出了一种优化方案,对开机动画播放的各种异常进行容错和处理,另外,一定程度上能确保开机动画一直最新且力求能达到开机动画完整播放之目的。

图5为本申请实施例提供的一种智能机顶盒的结构示意图。如图5所示,本申请实施例提供的智能机顶盒包括存储芯片、供电芯片与控制器,存储芯片被配置为存储开机动画;供电芯片被配置为给智能机顶盒的各器件供电,以上电开机;控制器被配置为检测开机动画播放时是否存在开机动画播放完成标识,当存在开机动画播放完成标识时,控制进入主界面;以及,当不存在开机动画播放完成标识时,控制继续播放开机动画。

具体地,智能机顶盒连接220v电压通电,通过供电芯片改变供电电压,以对智能机顶盒的各器件进行供电,根据用户的开机指令进行上电开机。开机指令是用户输入的一种用于控制开机过程的控制指令,根据开机启动方式的不同,开机指令可以是物理指令或数字指令。例如,当用户通过开启智能机顶盒上的电源开关(按键)时,智能机顶盒可以上电启动,此时开机指令是用户按下电源开关时产生的电信号。而当用户通过遥控器等控制装置上的电源键实施软启动时,智能机顶盒仍然可以启动运行,此时开机指令是控制装置输入的控制信号。

控制器可以在获取开机指令后,响应于开机指令,启动运行操作系统开机程序。例如,执行各个服务的初始化进程、系统的自检测、运行硬件驱动程序以及启动显示控制程序等。开机程序会根据不同的操作系统,消耗一定的时间才能完成开机程序。

android系统从上电到launcher加载完成,中间过程会播放开机动画,开机动画播放过程中后台会启动系统服务,待系统服务完成后结束和退出开机动画,进而再进入到launcher并正式显示。在标准android系统中,bootanimation.zip为android标准开机图片打包格式,android系统设备开机画面(如开机广告)是通过androidbootanimation来实现的,原生做法是通过读取到开机画面/system/media/bootanimation.zip中的图片来进行播放。通常的做法是系统应用通过从云端服务器下载bootanimation.zip中的图片并更新到/system/media/目录,android在开机时通过读取bootanimation.zip中的图片然后逐个播放,从而实现开机动画的播放。

用户下发开机指令后,控制器接收到该开机指令,获取存储芯片中的开机动画压缩包bootanimation.zip。在获取开机动画压缩包时,可由存储芯片系统预置目录、指定目录或非清目录下获取定制开机动画的开机动画压缩包bootanimation.zip,播放和展示该开机动画压缩包bootanimation.zip内的定制开机动画。若在系统预置目录、指定目录或非清目录下不存在定制开机动画的开机动画压缩包,则获取android原生开机动画的开机动画压缩包bootanimation.zip,播放和展示原生开机动画。

除了系统预置目录system/media/bootanimation.zip的定制化开机图片外,在解析开机图片时可以取其他指定目录下保存其他定制化开机动画,增加指定目录/data/local/bootanimation.zip或非清目录下的bootanimation.zip,按指定书序进行查找和解析,如系统预置目录、指定目录或非目录下存在开机动画压缩包bootanimation.zip,则预加载并正常解析播放。

在本申请实施例中,定制开机图片的开机动画压缩包bootanimation.zip默认存储于系统预置目录system/media/bootanimation.zip下,但该系统预置目录下的开机动画压缩包bootanimation.zip无法进行读写操作,因此本申请在解析开机图片时去其他指定目录下保存其他定制化开机动画,如指定目录/data/local/bootanimation.zip。但指定目录/data/local/bootanimation.zip下的开机动画压缩包bootanimation.zip在系统重启时会被清除,即定制开机动画更新之后,系统重启了,指定目录下更新的开机动画压缩包bootanimation.zip被清除,无法播放更新后的定制开机动画。

为了能够在系统重启后播放最新的定制开机动画,本申请在增加了非清目录,该非清目录存储与指定目录一致的开机动画压缩包bootanimation.zip,如此在系统重启时,指定目录下的开机动画压缩包bootanimation.zip被清除,但非清目录下的开机动画压缩包bootanimation.zip被保留下来,可预加载并正常解析播放最新的定制开机动画。

具体地,响应于上电开机指令,检测指定目录下是否存在开机动画压缩包bootanimation.zip。当指定目录下存在开机动画压缩包bootanimation.zip时,获取该开机动画压缩包bootanimation.zip,预加载并正常解析播放该指定目录下的定制开机动画;并检测指定目录下的开机动画压缩包bootanimation.zip与非清目录下的开机动画压缩包bootanimation.zip是否一致;当指定目录下的开机动画压缩包bootanimation.zip与非清目录下的开机动画压缩包bootanimation.zip不一致,说明指定目录下的开机动画压缩包bootanimation.zip为更新后的开机动画,非清目录下的开机动画压缩包bootanimation.zip为更新前的开机动画,因此需同步指定目录下的开机动画压缩包bootanimation.zip同步至非清目录下,以保证定制开机动画一直最新。

当指定目录下不存在开机动画压缩包bootanimation.zip时,检测非清目录下是否存在开机动画压缩包bootanimation.zip。当指定目录下不存在、非清目录下存在开机动画压缩包bootanimation.zip时,获取该开机动画压缩包bootanimation.zip,预加载并正常解析播放该非清目录下的定制开机动画,并同步非清目录下的开机动画压缩包bootanimation.zip至指定目录/data/local/bootanimation.zip下,以方便更新、读写开机动画压缩包bootanimation.zip。

当指定目录与非清目录下均不存在开机动画压缩包bootanimation.zip时,检测系统预置目录下是否存在开机动画压缩包。当系统预置目录下存在开机动画压缩包bootanimation.zip时,获取该开机动画压缩包bootanimation.zip,预加载并正常解析播放该系统预置目录下的定制开机动画;当指定目录、非清目录与系统预置目录下均不存在开机动画压缩包bootanimation.zip时,获取原生开机动画的开机动画压缩包bootanimation.zip,以播放android原生开机动画。

响应于控制器获取开机动画压缩包bootanimation.zip,控制器还被配置检测开机动画播放时是否存在开机动画播放完成标识。控制器从存储芯片中读取到开机动画压缩包bootanimation.zip,对开机动画压缩包bootanimation.zip进行解析,得到开机图片;然后将开机图片发送至解码芯片进行解码;然后将解码后的开机图片通过音视频输出接口传送至显示器,通过显示器显示播放该开机图片。

控制器解析开机动画压缩包bootanimation.zip,对解析得到的开机图片进行播放时,可能存在开机动画压缩包bootanimation.zip中缺少描述文件desc.txt文件、目录文件partfile文件,导致无法解析得到开机图片,造成开机动画无法播放;也可能存在解析得到开机图片,而开机图片进行播放时出错,导致无法继续播放开机动画;也可能存在系统启动完成后,但开机图片没有播放完就进入主界面,如开机动画有20s的数据,但只播放了2s就进入主界面。

对于开机动画压缩包bootanimation.zip中缺少描述文件desc.txt文件、目录文件partfile文件,导致无法解析得到开机图片的情况,控制器可被配置为检测开机动画压缩包bootanimation.zip中是否存在描述文件及目录文件。开机动画压缩包bootanimation.zip包括存放图片的文件夹和描述文件desc.txt文件,通过desc.txt文件的格式对开机动画压缩包bootanimation.zip进行解析得到图片,若开机动画压缩包bootanimation.zip中缺少desc.txt文件,格式错误无法正确解析图片,导致开机动画无法播放;另外,开机动画压缩包bootanimation.zip还包括目录文件partfile文件,该partfile文件与desc.txt文件相关联,可根据该partfile文件获得相应的图片,因此若开机动画压缩包bootanimation.zip中缺少partfile文件,则无法解析得到图片,导致开机动画无法播放。

开机动画的退出依赖于两个条件,开机动画播放完或系统启动完成后生成既定标识,同时判断系统启动或开机动画播放是否已完成,如已完成,则按通知双方状态更新并继续完成后续动作,退出开机动画,进入launcher并显示,系统启动完成。但当开机动画播放有异常时,导致无法满足开机动画的退出条件,造成系统无法启动,此时可在开机动画播放有异常时提前生成播放标识,当系统启动完成后,根据该播放标识可退出开机动画进入launcher并显示,完成系统启动。

具体地,响应于控制器检测开机动画压缩包bootanimation.zip中是否存在描述文件及目录文件,控制器还被配置为开机动画压缩包bootanimation.zip中缺少desc.txt文件时,无法根据desc.txt文件解析开机动画压缩包得到开机图片,控制生成开机动画播放完成标识,待系统服务完成后控制进入主界面。当开机动画压缩包bootanimation.zip中存在desc.txt文件,但desc.txt文件中描述有部分错误,此时对错误部分进行合理修复,至少要保证描述正确部分的完成显示,在显示异常时生成开机动画播放完成标识,系统服务启动完成后结束开机动画再展示launcher,最后进入主界面。

当开机动画压缩包bootanimation.zip中存在desc.txt文件、但缺少partfile文件时,无法关联desc.txt文件与partfile文件解析得到开机图片,此时控制器控制直接生成开机动画播放完成标识,以待系统服务完成后控制进入主界面。

对于开机动画压缩包bootanimation.zip中存在描述文件desc.txt文件、目录文件partfile文件,但开机图片进行播放时出错,导致无法继续播放开机动画的情况,控制器还被配置为开机动画压缩包中存在描述文件及目录文件时,解析描述文件与目录文件得到图片,按序对图片进行播放,待系统服务完成后控制进入主界面。当开机动画压缩包bootanimation.zip中既存在desc.txt文件又存在partfile文件时,先按desc.txt文件的格式对开机动画压缩包bootanimation.zip进行解析,得到解析后的开机图片。

具体地,响应于控制器检测到开机动画压缩包中存在描述文件及目录文件时,解析开机动画压缩包bootanimation.zip中的desc.txt文件,根据desc.txt文件解析partfile文件,然后desc.txt文件关联partfile文件,获得开机图片,按序对开机图片进行播放。

在本申请实施例中,解析开机动画压缩包bootanimation.zip中的desc.txt文件后,控制器还需检测路径类型,即检测pathtype是否为c,若pathtype为c,说明开机动画需循环播放,结束解析desc.txt文件并保存解析内容;若pathtype不为c、为p,则说明开机动画只播放一次,需解析完desc.txt文件。

根据desc.txt文件关联partfile文件解析得到开机图片后,设置同步分辨率、帧率、各part间隔参数,按要求播放各开机图片。响应于开机图片播放指令,控制器还被配置为检测开机图片播放时是否出错;当开机图片播放出错时,说明开机动画播放有异常,此时控制生成开机动画播放完成标识,待系统服务完成后控制进入主界面;当开机图片播放未出错时,继续按序播放开机图片。

开机动画播放结束需依赖于系统服务启动完成,在系统启动完要拉起launcher时会发送消失告知并生成属性,请求stop开机动画最后才真正的控制进入主界面播放,在拉起launcher后发出开机广播。但在实际应用中定制化的开机动画展示都会约定各个图片的展示时间,上需要所有图片按照既定要求按时按量的展示,也要完整播放,开机动画如有可能完整播放,在完整播放再退出开机动画播放并显示launcher进入系统界面。根据上述要求,需要对系统的流程进行修改和优化,另外,对已下发开机动画制作错误或开机动画配置跟实际无法匹配的时候,一定程度上按照尽力展示,如遇无法修复情况,可部分显示或提前结束以规避未知问题。

具体地,对于开机动画压缩包bootanimation.zip中存在描述文件desc.txt文件、目录文件partfile文件,开机图片播放未出错,但开机图片没有播放完就进入主界面的情况,控制器还被配置为开机图片播放时未出错,检测是否已播放完所有开机图片;当控制器检测到已播放完所有开机图片,则控制生成开机动画播放完成标识,待系统服务完成后控制进入主界面;当控制器检测到未播放完所有开机图片时,则控制继续按要求播放开机图片。

本申请实施例提供的智能机顶盒中,控制器接收到开机指令后,由指定目录、非清目录或系统预置目录下获取定制开机动画的开机动画压缩包bootanimation.zip,或者获取原生开机动画的开机动画压缩包bootanimation.zip;控制器解析开机动画压缩包bootanimation.zip,得到开机图片,并控制播放该开机图片;通过检测开机动画播放时是否存在开机动画播放完成标识,来检测是否存在开机动画压缩包bootanimation.zip是否缺少描述文件desc.txt文件、目录文件partfile文件,导致无法解析得到开机图片,造成开机动画无法播放的情况;是否存在开机动画压缩包bootanimation.zip可解析得到开机图片,而开机图片进行显示播放时出错,导致无法继续播放开机动画的情况;是否存在系统启动完成后,但开机图片没有播放完就进入主界面的情况。当存在上述情况下,控制器控制生成开机动画播放完成标识,以根据该标识进入主界面,从而对开机动画播放的各种异常进行容错和处理,并在一定程度上确保了开机动画一直最新,且力求能达到开机动画完整播放的目的,确保了android系统正常启动。

针对上述实施例所述的智能机顶盒,本申请实施例还提供了一种开机动画播放优化方法,该方法对android平台的开机动画播放提出了一种优化方案,对开机动画播放的各种异常进行了自动容错和处理。

图6为本申请实施例提供的一种开机动画播放优化方法的流程图。如图6所示,本申请号实施例提供的开机动画播放优化方法包括:

s100:上电开机,获取开机动画。

用户下发开机指令后,供电芯片为智能机顶盒的各器件供电,以上电开机,控制器读取存储芯片中的开机动画压缩包bootanimation.zip。在获取开机动画压缩包时,可由存储芯片系统预置目录、指定目录或非清目录下获取定制开机动画的开机动画压缩包bootanimation.zip,播放和展示该开机动画压缩包bootanimation.zip内的定制开机动画。若在存储芯片系统预置目录、指定目录或非清目录下不存在定制开机动画的开机动画压缩包,则获取android原生开机动画的开机动画压缩包bootanimation.zip,播放和展示原生开机动画。

控制器解析开机动画压缩包bootanimation.zip,对解析得到的开机图片进行播放时,可能存在开机动画压缩包bootanimation.zip中缺少描述文件desc.txt文件、目录文件partfile文件,导致无法解析得到开机图片,造成开机动画无法播放;也可能存在解析得到开机图片,而开机图片进行显示播放时出错,导致无法继续播放开机动画;也可能存在系统启动完成后,但开机图片没有播放完就进入主界面。

图7为本申请实施例提供的一种开机动画播放优化方法中一种优化情况的详细流程图。如图7所示,检测开机动画播放时是否存在无法解析得到开机图片,造成开机动画无法播放的具体方法为:

s110:解析开机动画。

s120:检测解析后的开机动画中是否存在描述文件及目录文件。

s130:当解析后的开机动画中存在描述文件及目录文件时,根据描述文件与目录文件解析得到开机图片,播放开机图片。

s140:当解析后的开机动画中不存在描述文件或目录文件时,生成开机动画播放完成标识。

开机动画压缩包bootanimation.zip包括存放图片的文件夹、描述文件desc.txt文件和目录文件partfile文件,当开机动画压缩包bootanimation.zip不存在desc.txt文件或partfile文件时,无法解析开机动画压缩包bootanimation.zip,导致开机动画无法进行播放。因此,需要检测开机动画压缩包bootanimation.zip中是否存在描述文件及目录文件,以判定开机动画是否可播放。

当开机动画压缩包bootanimation.zip中不存在描述文件及目录文件时,说明无法解析得到开机图片,造成开机动画无法播放,此时直接生成开机动画播放完成标识,等到系统启动完成后,可根据该开机动画播放完成标识控制进入主界面,无需一直等待。

图8为本申请实施例提供的一种开机动画播放优化方法中另一种优化情况的详细流程图。如图8所示,检测开机动画播放时出错,导致无法继续播放开机动画的具体方法为:

s1301:解析开机动画中的描述文件。

s1302:根据描述文件解析开机动画中的目录文件。

s1303:描述文件关联目录文件,获得开机图片。

s1304:按序对开机图片进行播放。

s1305:检测开机图片播放时是否出错。

s1306:当开机图片播放出错时,生成开机动画播放完成标识。

s1307:当开机图片播放未出错时,按序继续播放开机图片。

对于开机动画压缩包bootanimation.zip中存在描述文件desc.txt文件、目录文件partfile文件,但开机图片进行播放时出错,导致无法继续播放开机动画的情况,解析开机动画压缩包bootanimation.zip中的desc.txt文件,根据desc.txt文件解析partfile文件,然后desc.txt文件关联partfile文件,获得开机图片,设置同步分辨率、帧率、各part间隔参数,按要求播放各开机图片。播放开机图片时,当开机图片播放出错,导致无法继续播放时,此时直接生成开机动画播放完成标识,等到系统启动完成后,可根据该开机动画播放完成标识控制进入主界面,无需一直等待。

图9为本申请实施例提供的一种开机动画播放优化方法中再一种优化情况的详细流程图。如图9所示,检测开机动画播放未完成就进入主界面的具体方法为:

s1308:当开机图片播放未出错时,检测是否已播放完所有开机图片。

s1309:当已播放完所有开机图片时,生成开机动画播放完成标识。

s1310:当未播放完所有开机图片时,继续播放开机图片。

对于开机动画压缩包bootanimation.zip中存在描述文件desc.txt文件、目录文件partfile文件,开机图片播放未出错,但开机图片没有播放完就进入主界面的情况,检测是否已播放完所有开机图片;当控制器检测到已播放完所有开机图片,则控制生成开机动画播放完成标识,待系统服务完成后控制进入主界面;当控制器检测到未播放完所有开机图片时,则控制继续按要求播放开机图片,待所有开机图片播放完成后生成开机动画播放完成标识。

s200:检测开机动画播放时是否存在开机动画播放完成标识。

通过检测开机动画播放时是否存在开机动画播放完成标识来检测是否存在开机动画压缩包bootanimation.zip中缺少描述文件desc.txt文件、目录文件partfile文件,导致无法解析得到开机图片,造成开机动画无法播放;是否存在解析得到开机图片,而开机图片进行显示播放时出错,导致无法继续播放开机动画;是否存在系统启动完成后,但开机图片没有播放完就进入主界面。当不存在时,说明不存在上述任一种异常情况,执行步骤s300;当存在时,说明至少存在上述一种异常情况,执行步骤s400。

s300:当开机动画播放时不存在开机动画播放完成标识时,继续播放开机动画。

s400:当开机动画播放时存在开机动画播放完成标识时,进入主界面。

当至少存在上述一种异常情况时,说明开机动画播放异常,此时直接生成开机动画播放完成标识,等到系统启动完成后,可根据该开机动画播放完成标识控制进入主界面,无需一直等待;当不存在上述任一种异常情况时,说明开机动画播放正常,可在正常播放完所有开机动画后生成开机动画播放完成标识,以进入主界面。

本申请实施例提供的开机动画播放优化方法对开机动画播放的各种异常进行容错和处理,并在一定程度上确保了开机动画一直最新,且力求能达到开机动画完整播放的目的,确保了android系统正常启动。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。


技术特征:

1.一种智能机顶盒,其特征在于,包括:

存储芯片,被配置为存储开机动画;

供电芯片,被配置为给所述机顶盒的各器件供电,以上电开机;

控制器,被配置为检测所述开机动画播放时是否存在开机动画播放完成标识,当存在所述开机动画播放完成标识时,控制进入主界面;以及,当不存在所述开机动画播放完成标识时,控制继续播放所述开机动画。

2.根据权利要求1所述的智能机顶盒,其特征在于,所述控制器还被配置为,解析所述开机动画,并检测解析后的开机动画中是否存在描述文件及目录文件,当存在所述描述文件及所述目录文件时,控制生成所述开机动画播放完成标识;以及,当存在所述描述文件或所述目录文件时,根据所述描述文件与所述目录文件解析得到开机图片,控制播放所述开机图片。

3.根据权利要求2所述的智能机顶盒,其特征在于,所述控制器还被配置为,当所述开机动画中存在所述描述文件或所述目录文件时,检测所述开机图片播放时是否出错;当所述开机图片播放出错时,控制生成所述开机动画播放完成标识。

4.根据权利要求3所述的智能机顶盒,其特征在于,所述控制器还被配置为,当所述开机图片播放未出错时,检测是否已播放完所有开机图片;当已播放完所有开机图片时,控制生成所述开机动画播放完成标识;当未播放完所有开机图片时,控制继续播放所述开机图片。

5.根据权利要求1所述的智能机顶盒,其特征在于,所述控制器还被配置为,响应于所述上电开机指令,检测所述存储芯片指定目录下是否存在定制开机动画;当所述存储芯片指定目录下不存在所述定制开机动画时,检测所述存储芯片非清目录下是否存在定制开机动画;当所述存储芯片指定目录与所述存储芯片非清目录下均不存在所述定制开机动画时,检测所述存储芯片系统预置目录下是否存在定制开机动画;当所述存储器系统预置目录下存在所述定制开机动画时,控制读取所述定制开机动画;当所述存储芯片指定目录、所述存储芯片非清目录与所述存储芯片系统预置目录下均不存在所述定制开机动画时,控制读取原生开机动画。

6.根据权利要求5所述的智能机顶盒,其特征在于,所述控制器还被配置为,当所述存储芯片指定目录下存在所述定制开机动画时,检测所述存储芯片指定目录与所述存储芯片非清目录下的定制开机动画是否一致;当所述存储芯片指定目录与所述存储芯片非清目录下的定制开机动画不一致时,控制将所述存储芯片指定目录下的定制开机动画同步至所述存储芯片非清目录;

以及,当所述存储芯片非清目录下存在所述定制开机动画时,控制将所述存储芯片非清目录下的定制开机动画压缩包同步至所述指定目录。

7.一种开机动画播放优化方法,其特征在于,所述方法包括:

上电开机,获取开机动画;

检测所述开机动画播放时是否存在开机动画播放完成标识;

当所述开机动画播放时存在所述开机动画播放完成标识,则进入主界面;

当所述开机动画播放时不存在所述开机动画播放完成标识,则继续播放所述开机动画。

8.根据权利要求7所述的开机动画播放优化方法,其特征在于,上电开机,获取开机动画,之后包括:

解析所述开机动画;

检测解析后的开机动画中是否存在描述文件及目录文件;

当所述解析后的开机动画中不存在所述描述文件或目录文件,则生成开机动画播放完成标识;

当所述解析后的开机动画中存在所述描述文件及目录文件,则根据所述描述文件与所述目录文件解析得到开机图片,播放所述开机图片。

9.根据权利要求8所述的开机动画播放优化方法,其特征在于,根据所述描述文件与所述目录文件解析得到开机图片,播放所述开机图片,包括:

解析所述开机动画中的描述文件;

根据所述描述文件解析所述开机动画中的目录文件;

所述描述文件关联所述目录文件,获得开机图片;

按序对所述开机图片进行播放;

检测所述开机图片播放时是否出错;

当所述开机图片播放出错,则生成开机动画播放完成标识;

当所述开机图片播放未出错,则按序继续播放所述开机图片。

10.根据权利要求9所述的开机动画播放优化方法,其特征在于,当所述开机图片播放未出错时,按序继续播放所述开机图片,包括:

当所述开机图片播放未出错时,检测是否已播放完所有开机图片;

当已播放完所有开机图片时,生成开机动画播放完成标识;

当未播放完所有开机图片时,继续播放所述开机图片。

技术总结
本申请提供了一种智能机顶盒及开机动画播放优化方法,该智能机顶盒包括存储芯片、供电芯片与控制器,存储芯片被配置为存储开机动画;供电芯片被配置为给智能机顶盒的各器件供电,以上电开机;控制器被配置为检测开机动画播放时是否存在开机动画播放完成标识,当存在开机动画播放完成标识时,控制进入主界面;以及,当不存在开机动画播放完成标识时,控制继续播放开机动画。本申请通过检测开机动画播放完成标识来判定开机动画播放异常,当存在开机动画播放完成标识时对开机动画的各种异常进行容错和处理,在一定程度上确保了开机动画一直最新,达到了开机动画完整播放的目的,从而确保了系统正常启动。

技术研发人员:李茂文;蒋艳兵;车新
受保护的技术使用者:青岛海信宽带多媒体技术有限公司
技术研发日:2021.04.29
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-1720.html

最新回复(0)