机顶盒界面主题颜色变更方法及装置与流程

文档序号:20028809发布日期:2020-02-28 10:08阅读:1117来源:国知局
本申请涉及机顶盒
技术领域
:,尤其涉及一种机顶盒界面主题颜色变更方法及装置。
背景技术
::机顶盒本身是一个资源受限的系统,但其本身又是一个经常与用户交互的可视化系统,这就决定了机顶盒的ui界面很大程度上会影响到用户的使用体验,因此不断丰富用户机顶盒的交互界面,可以提升用户的使用满意度。传统的实现方式是,将机顶盒的ui界面采用文件(通常是xml)形式进行描述,并通过该文件设置各个页面中各个组件的展示所需要的属性,比如位置、颜色、字体、图片url等信息。机顶盒在展示界面中的图片时,会加载描述文件中url指定的图片。若要实现更换主题颜色功能,可以根据主题颜色,指定不同的图片。但该方案存在的问题是,随着主题颜色的增加,机顶盒中的图片将成倍的增加。这无疑增加了机顶盒的存储空间,对于本来就空间有限的系统来说,是个不小的挑战。技术实现要素:针对现有技术中的问题,本申请提出了一种机顶盒界面主题颜色变更方法及装置,能够提高机顶盒界面主题颜色变更的效率并节省存储空间。为了解决上述技术问题,本申请提供以下技术方案:第一方面,本申请提供一种机顶盒界面主题颜色变更方法,包括:接收目标机顶盒的界面主题颜色更换指令;根据所述界面主题颜色更换指令从对应的存储器中的预存储的颜色表bin文件获取对应的bin颜色表;应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,其中,预存储的界面主题和所述bin颜色表之间为一一对应的关系;将所述目标格式图片信息进行解码并输出显示。进一步地,在所述接收目标机顶盒的界面主题颜色更换指令之前,还包括:删除各预存储的界面主题对应的目标格式图片信息中的调色板数据块信息、辅助区块信息及公共内容;将对应的bin颜色表中的索引位置信息存入所述目标格式图片信息的图像数据块中,生成所述中间格式图片信息。进一步地,在所述接收目标机顶盒的界面主题颜色更换指令之前,还包括:将预存储的界面主题对应的各个目标格式图片信息中的颜色信息进行编号并存储,生成对应的颜色表,其中,相同的颜色信息对应同一个编号;将各所述预存储的界面主题中的样式相同的目标格式图片中的同一像素点的颜色信息对应的编号,存入各自对应的所述颜色表中相同的索引位置,生成对应的主题颜色表;将各所述主题颜色表依照预设的协议进行编码,生成所述颜色表bin文件并存储在所述存储器中。进一步地,所述应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,包括:根据所述bin颜色表中的颜色数据在所述中间格式图片信息中添加调色板数据块信息;在所述中间格式图片信息中添加其对应的目标格式图片信息的公共内容,对应生成所述目标格式图片信息。进一步地,所述图片信息包括:透明度数据块信息;相对应的,在所述应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息之前,还包括:将所述中间格式图片信息对应的bin颜色表中各颜色的alpha通道值按照预设的数据格式加入所述透明度数据块信息中。进一步地,在所述生成所述颜色表bin文件并存储在所述存储器中之后,还包括:接收增加界面主题指令并根据该增加界面主题指令更新所述颜色表bin文件。第二方面,本申请提供一种机顶盒界面主题颜色变更装置,包括:第一接收模块,用于接收目标机顶盒的界面主题颜色更换指令;获取bin颜色表模块,用于根据所述界面主题颜色更换指令从对应的存储器中的预存储的颜色表bin文件获取对应的bin颜色表;目标格式图片转换模块,用于应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,其中,预存储的界面主题和所述bin颜色表之间为一一对应的关系;输出模块,用于将所述目标格式图片信息进行解码并输出显示。进一步地,所述的机顶盒界面主题颜色变更装置,还包括:删除模块,用于删除各预存储的界面主题对应的目标格式图片信息中的调色板数据块信息、辅助区块信息及公共内容;生成中间格式图片模块,用于将对应的bin颜色表中的索引位置信息存入各所述目标格式图片信息的图像数据块中,生成所述中间格式图片信息。进一步地,所述的机顶盒界面主题颜色变更装置,还包括:编号模块,用于将预存储的界面主题对应的各个目标格式图片信息中的颜色信息进行编号并存储,生成对应的颜色表,其中,相同的颜色信息对应同一个编号;生成主题颜色表模块,用于将各所述预存储的界面主题中的样式相同的目标格式图片中的同一像素点的颜色信息对应的编号,存入各自对应的所述颜色表中相同的索引位置,生成对应的主题颜色表;编码模块,用于将各所述主题颜色表依照预设的协议进行编码,生成所述颜色表bin文件并存储在所述存储器中。进一步地,所述获取bin颜色表模块,包括:第一添加单元,用于根据所述bin颜色表中的颜色数据在所述中间格式图片信息中添加调色板数据块信息;第二添加单元,用于在所述中间格式图片信息中添加其对应的目标格式图片信息的公共内容,对应生成所述目标格式图片信息。进一步地,所述图片信息包括:透明度数据块信息;相对应的,所述的机顶盒界面主题颜色更换装置,还包括:透明度信息添加模块,用于将所述中间格式图片信息对应的bin颜色表中各颜色的alpha通道值按照预设的数据格式加入所述透明度数据块信息中。进一步地,所述的机顶盒界面主题颜色变更装置,还包括:更新模块,用于接收增加界面主题指令并根据该增加界面主题指令更新所述颜色表bin文件。第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的机顶盒界面主题颜色变更方法的步骤。第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的机顶盒界面主题颜色变更方法的步骤。由上述技术方案可知,本申请提供一种机顶盒界面主题颜色变更方法及装置。其中,该方法包括:接收目标机顶盒的界面主题颜色更换指令;根据所述界面主题颜色更换指令从对应的存储器中的预存储的颜色表bin文件获取对应的bin颜色表;应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,其中,所述预获取的中间格式图片信息和bin颜色表之间、所述目标格式图片信息和bin颜色表之间均为一一对应的关系;将所述目标格式图片信息进行解码并输出显示,能够提高机顶盒界面主题颜色变更的效率并节省存储空间;在实现实时更换主题功能的同时,还提供了通过在线升级功能,动态扩展机顶盒待选主题颜色选项,动态更新主题颜色值,从而优化整个机顶盒的显示效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请第一实施例提供的机顶盒界面主题颜色变更方法的流程示意图;图2是本申请第二实施例提供的机顶盒界面主题颜色变更方法的流程示意图;图3是本申请第三实施例提供的机顶盒界面主题颜色变更方法中步骤301至303的流程示意图;图4是本申请第四实施例提供的机顶盒界面主题颜色变更方法中步骤401至402的流程示意图;图5是本申请第五实施例提供的机顶盒界面主题颜色变更装置的结构示意图;图6是本申请第六实施例提供的机顶盒界面主题颜色变更装置的结构示意图;图7是本申请第七实施例提供的机顶盒界面主题颜色变更装置中编号模块、生成主题颜色表模块和编码模块的结构示意图;图8是本申请第八实施例提供的获取bin颜色表模块的结构示意图;图9是本申请具体应用实例提供的颜色表bin文件解析的流程示意图;图10为本申请实施例的电子设备9600的系统构成示意框图。具体实施方式为了使本
技术领域
:的人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。结合
背景技术
:,现有的机顶盒界面主题变更方法及装置存在每套主题颜色占用过多的系统硬件资源;调色板重复数据浪费系统硬件资源;系统无法实时、高效更换主题颜色;系统无法快速扩展主题颜色等问题。因此,为了提高机顶盒界面主题颜色变更的效率并节省存储空间,考虑从改变现有的机顶盒界面主题颜色变更方法入手,通过裁剪和压缩图片文件格式,自定义颜色表bin文件的格式,实现高效实时的更换主题方案,并兼容系统原有图片格式。通过单文件升级,灵活扩展主题颜色,变更主题色下图片中某些像素点的颜色。为了便于理解本申请提供的技术方案,下面对本申请涉及的技术进行简单说明。png是可携式网络图像(portablenetworkgraphics)的英文缩写,它支持透明度,图片无损压缩,常用的两种类型是png-8和png-24。png-8类型的图片最多支持256种颜色,使用调色板的方式来表示颜色,整个图片的大小可以压缩的很小,非常适合颜色比较单一的图像,比如logo和图标等。而png-24可以展示的图片的颜色更加丰富,而图片大小也会增加很多。对于机顶盒这样的系统,由于整体系统颜色种类比较少,因此非常适合使用png-8格式的图片。png-8文件主要包含有:png文件标识、图片头数据块(ihdr)、调色板数据块(plte)、辅助区块、图像数据块(idat)和图像结束数据块(iend)等。png文件的图片基础信息存储在文件头数据块ihdr(imageheader)中,图片基础信息包含有图像宽、图像高、图像色深、颜色类型和压缩方法等。其中colortype位描述了png图片的颜色类型,当该值为3时,代表这是一个索引彩色图像。而plte数据块中则存储了调色板的数据,可以包括1~256个调色板信息,每个调色板信息都由3个字节组成,分别代表该调色板所描述颜色的red分量、green分量和blue分量。本申请优选png-8类型的索引彩色图片格式作为系统的图片解码格式,并在此基础上进行图片数据的抽取、压缩和重组,并利用升级功能,实现实时、高效、低存储空间、且动态更新的机顶盒界面主题变更方案。基于此,本申请提供一种机顶盒界面主题变更装置,在实际应用中,进行机顶盒界面主题变更的部分可以在如上述内容所述的服务器侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。所述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括tcp/ip协议、udp/ip协议、http协议、https协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的rpc协议(remoteprocedurecallprotocol,远程过程调用协议)、rest协议(representationalstatetransfer,表述性状态转移协议)等。具体通过下述各个实施例进行说明。图1是本申请第一实施例提供的机顶盒界面主题颜色变更方法的流程示意图,为了提高机顶盒界面主题颜色变更的效率并节省存储空间,如图1所示,本申请实施例提供的机顶盒界面主题颜色变更方法,包含有:步骤101:接收目标机顶盒的界面主题颜色更换指令。步骤102:根据所述界面主题颜色更换指令从对应的存储器中的预存储的颜色表bin文件获取对应的bin颜色表。步骤103:应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,其中,界面主题和所述bin颜色表之间为一一对应的关系。具体地,各界面主题应用同一套中间格式图片信息,一套中间格式图片信息中可以对应有多张图片;各界面主题之间样式相同,主题颜色不同。所述预存储的颜色表bin文件中包含有所有的bin颜色表。预获取的中间格式图片信息为经过去除冗余处理的图片信息。步骤104:将所述目标格式图片信息进行解码并输出显示。具体地,由于最终输出显示的仍为目标格式图片信息,例如,png格式,因此,解码方式可以是软件解码或硬件解码。图2是本申请第二实施例提供的机顶盒界面主题颜色变更方法中步骤201至202的流程示意图,为了进一步地节省存储空间,进而降低产品成本,如图2所示,在上述实施例的基础上,进一步地,在步骤101之前还包含有:步骤201:删除各预存储的界面主题对应的目标格式图片信息中的调色板数据块信息、辅助区块信息及公共内容。具体地,所述辅助区块信息没有意义,例如,图像最后修改时间数据块(time),文本信息数据块(text),压缩文本数据块(ztxt)等区块中的信息是没有意义的,将这些去掉;所述公共内容为对应所有目标格式图片信息中均包含有的公共内容,例如,png图片的文件头固定为0x89504e470x0d0a1a0a,文件尾固定为0x000000000x49454e440xae426082,将这些去掉。步骤202:将对应的bin颜色表中的索引位置信息存入所述目标格式图片信息的图像数据块中,生成所述中间格式图片信息。具体地,将对应的bin颜色表中的索引位置信息经压缩后存入所述目标格式图片信息的图像数据块中,生成所述中间格式图片信息。将各界面主题各自对应的目标格式图片信息,压缩成各界面主题对应的同一套中间格式图片信息。经过上述处理,目标格式图片信息会大大减少,进而节省系统存储空间。图3是本申请第三实施例提供的机顶盒界面主题颜色变更方法中步骤301至303的流程示意图,为了进一步提高界面主题颜色变更的实时性和高效性,如图3所示,在上述各实施例的基础上,进一步地,在步骤101之前还包含有:步骤301:将预存储的界面主题对应的各个目标格式图片信息中的颜色信息进行编号并存储,生成对应的颜色表,其中,相同的颜色信息对应同一个编号。具体地,机顶盒界面主题颜色变更装置将一种主题颜色下,所应用到的所有图片的所有颜色进行编号存储生成一个颜色表;若需要升级主题颜色,则将新的颜色添加到颜色表中。其中,所述预存储的界面主题和颜色表为一对一的对应关系。各颜色信息分别使用r(红色)、g(绿色)、b(蓝色)和a(透明度)四个值表示。步骤302:将各所述预存储的界面主题中的样式相同的目标格式图片中的同一像素点的颜色信息对应的编号,存入各自对应的所述颜色表中相同的索引位置,生成对应的主题颜色表。具体地,将各预存储的界面主题中同一张图片中同一像素点的颜色,存入各颜色表中相同的索引位置。若需要在某一界面主题中添加新的颜色信息,则在所有主题颜色表中在该新的颜色信息对应的索引位置处,都需要同步添加各自对应的颜色信息编号。步骤303:将各所述主题颜色表依照预设的协议进行编码,生成所述颜色表bin文件并存储在所述存储器中。具体地,若需要在某一界面主题中添加新的颜色信息或变更原颜色信息时,只需升级所述颜色表bin文件即可,所述主题颜色表中信息也会相应改变。具体地,所述预设的协议对应的协议格式参见表1描述的协议格式,表1中包含有该bin文件对应的协议格式,该bin文件对应的协议格式的语义如下:文件标签(file_tag)为32位字段,通过该字段,标识该文件为颜色表索引文件。该file_tag值为固定值,504e47,对应的ascii值是"spng"。颜色表数据长度(size)为16位字段,给出该颜色表数据区域的总长度,表示该文件中从颜色表索引长度字段后开始的颜色表数据部分的字节数,不包括crc校验值。颜色表索引长度(table_length)为8位字段,用于标记单个主题颜色表颜色个数,每种主题颜色表的颜色个数应该相同。单个主题颜色的色值(color)为24位字段,标识出某一主题颜色的rgb值。单个颜色的红色分量值(red)为8位字段,标识出某一主题颜色表中单个颜色的red分量值。单个颜色的绿色分量值(green)为8位字段,标识出某一主题颜色表中单个颜色的green分量值。单个颜色的蓝色分量值(blue)为8位字段,标识出某一主题颜色表中单个颜色的blue分量值。单个颜色的透明度分量值(alpha)为8位字段,标识出某一主题颜色表中单个颜色的透明度通道分量值。文件数据校验值(crc)为32位字段,标识出所有主题颜色表数据的crc校验值,该校验值不包括file_tag、size和table_length。表1图4是本申请第四实施例提供的机顶盒界面主题颜色变更方法中步骤401至402的流程示意图,如图4所示,为了进一步提高机顶盒界面主题颜色变更的灵活性和适配性,便于界面主题的输出显示,在上述各实施例的基础上,进一步地,在步骤103中应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为目标格式图片信息,包含有:步骤401:根据所述bin颜色表中的颜色数据在所述中间格式图片信息中添加调色板数据块信息。具体地,按照调色板数据块的数据格式将所述bin颜色表中的颜色数据添加至所述中间格式图片信息的调色板数据块中。步骤402:在所述中间格式图片信息中添加其对应的目标格式图片信息的公共内容,对应生成所述目标格式图片信息。具体地,所述公共内容为所述目标格式图片信息均包含有的公共内容。为了进一步提高界面主题颜色显示的多样性,在本申请一个实施例中,所述图片信息包含有:透明度数据块信息;相对应的,在步骤103中所述应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息之前,还包含有:将所述中间格式图片信息对应的bin颜色表中各颜色的alpha通道值按照预设的数据格式加入所述透明度数据块信息中。具体地,所述预设的数据格式为符合透明度数据块数据格式要求的数据格式。为了进一步提高机顶盒界面主题颜色变更方法的可拓展性和灵活性,在上述各实施例的基础上,在步骤303之后,所述机顶盒界面主题颜色变更方法还包含有:接收增加界面主题指令并根据该增加界面主题指令更新所述颜色表bin文件。具体地,所述颜色表bin文件中包含有所有界面主题的主题颜色表中的数据,通过更新所述颜色表bin文件,能够增加新的主题颜色表或变更主题颜色表的颜色信息,从而优化ui界面的展示效果,提供更好的用户体验。图5为本申请第五实施例提供的机顶盒界面主题颜色变更装置的结构示意图,从软件层面上来说,为了提高机顶盒界面主题颜色变更的效率并节省存储空间,本实施例提供一种用于执行所述机顶盒界面主题颜色变更方法中全部或部分内容的机顶盒界面主题颜色变更装置,如图5所示,具体包含有如下内容:第一接收模块51,用于接收目标机顶盒的界面主题颜色更换指令。获取bin颜色表模块52,用于根据所述界面主题颜色更换指令从对应的存储器中的预存储的颜色表bin文件获取对应的bin颜色表。目标格式图片转换模块53,用于应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,其中,预存储的界面主题和所述bin颜色表之间为一一对应的关系。输出模块54,用于将所述目标格式图片信息进行解码并输出显示。图6是本申请第六实施例提供的机顶盒界面主题颜色变更装置的结构示意图,如图6所示,在上述各实施例的基础上,所述机顶盒界面主题颜色变更装置还包含有:删除模块61,用于删除各预存储的界面主题对应的目标格式图片信息中的调色板数据块信息、辅助区块信息及公共内容;生成中间格式图片模块62,用于将对应的bin颜色表中的索引位置信息存入各所述目标格式图片信息的图像数据块中,生成所述中间格式图片信息。图7是本申请第七实施例提供的机顶盒界面主题颜色变更装置中编号模块、生成主题颜色表模块和编码模块的结构示意图,如图7所示,在上述各实施例的基础上,所述机顶盒界面主题颜色变更装置还包含有:编号模块71,用于将预存储的界面主题对应的各个目标格式图片信息中的颜色信息进行编号并存储,生成对应的颜色表,其中,相同的颜色信息对应同一个编号;生成主题颜色表模块72,用于将各所述预存储的界面主题中的样式相同的目标格式图片中的同一像素点的颜色信息对应的编号,存入各自对应的所述颜色表中相同的索引位置,生成对应的主题颜色表;编码模块73,用于将各所述主题颜色表依照预设的协议进行编码,生成所述颜色表bin文件并存储在所述存储器中。图8是本申请第八实施例提供的获取bin颜色表模块的结构示意图,如图8所示,在上述各实施例的基础上,所述获取bin颜色表模块包含有:第一添加单元81,用于根据所述bin颜色表中的颜色数据在所述中间格式图片信息中添加调色板数据块信息。第二添加单元82,用于在所述中间格式图片信息中添加其对应的目标格式图片信息的公共内容,对应生成所述目标格式图片信息。在本申请一个实施例中,所述图片信息包含有:透明度数据块信息;相对应的,所述的机顶盒界面主题颜色更换装置,还包含有:透明度信息添加模块,用于将所述中间格式图片信息对应的bin颜色表中各颜色的alpha通道值按照预设的数据格式加入所述透明度数据块信息中。在本申请一个实施例中,所述的机顶盒界面主题颜色变更装置还包含有:更新模块,用于接收增加界面主题指令并根据该增加界面主题指令更新所述颜色表bin文件。基于此,为了进一步提高机顶盒界面主题颜色变更的效率并节省存储空间,本申请提供一种机顶盒界面主题颜色变更方法的具体应用实例,具体包含有如下内容:s1:定义颜色表,汇总机顶盒一种主题颜色下,各个图片用到的所有颜色(该颜色总数需小于256个),每个颜色分别使用r(红色)、g(绿色)、b(蓝色)和a(透明度)四个值表示,并将这些颜色进行编号。该步骤的执行主体可以是机顶盒的ui设计人员或者所述机顶盒界面主题颜色变更装置。具体地,统计该套ui下一种主题颜色下,系统所有使用到图片的所使用的颜色(该颜色总数需小于256个),每种颜色分别使用r(红色)、g(绿色)、b(蓝色)和a(透明度)四个值表示,并将这些颜色进行编号存储,形成颜色表,后续在设计ui界面的过程中,所有的颜色都从该颜色表中选择。如果ui设计过程中需要使用到新的颜色,则将该新的颜色添加到颜色表中。s2:定义各个主题颜色表,汇总同样图片同样位置,不同主题颜色时图片所使用的所有颜色。具体地,根据上述定义的颜色表,分别指定各个主题色下的ui界面所使用的颜色表,各个主题色下同一张图片中同一个像素点的颜色,需要出现在各个的颜色表中相同的索引位置处。如果ui设计过程中某一主题色下添加了新的颜色,所有主题色的颜色表都需要同步添加该颜色在其他主题色下的对应颜色。该步骤的执行主体可以是机顶盒的ui设计人员或者所述机顶盒界面主题颜色变更装置。s3:将前两步中汇总的所有颜色按照一定的协议编码存储,生成对应的颜色表bin文件。具体地,为了统一管理各种主题色下的颜色表,将该颜色表按照一定的协议以bin文件形式存储于系统的flash空间中,当需要添加新的主题色,或者变更某种主题色下某种颜色的色值时,只需要升级该bin文件即可。图9是本申请具体应用实例提供的颜色表bin文件解析的流程示意图,如图9所示,在本应用实例中所述通过对颜色表bin文件进行解析,最终能够得到对应的bin颜色表数据并保存。可以理解的是,解析颜色表bin文件得到的数据存储在系统内存中,供步骤s5应用。颜色表bin文件本质上就是一个文件,从文件中读取数据需要判断数据是否读取完毕,也就是读取到文件尾。s4:去除机顶盒ui界面中使用png图片的调色板数据和其他冗余信息,保存为spng格式。具体地,所述spng格式即为上述中间格式,所述spng格式图片即上述中间格式图片,所述png图片即为上述目标格式图片。由于所有的图片都使用同一套颜色表数据,因此可以将png-8数据进行压缩,将png-8图片文件中的plte区块数据去掉,整个idat区块则存储压缩后的使用同一套颜色表中的颜色索引值的数据。同时,对于所有png-8图片中的公共内容,比如png图片的文件头,固定为0x89504e470x0d0a1a0a,文件尾,固定为0x000000000x49454e440xae426082,这些都可以去掉。同时,对于机顶盒这种嵌入式设备来说,png图片中辅助区块的数据是没有意义,比如time,text和ztxt等区块,因此也将其去掉。在去掉上述数据后,将剩余的数据保存为自定义的文件扩展名“spng”。经过上述处理,整个png的图片会大大减小,从而节约了机顶盒的存储空间。s5:机顶盒运行过程中需要绘制ui界面时,根据系统flash存储上当前的主题颜色,结合颜色表bin文件的颜色数据,还原spng图片为完整的png图片,提供给系统的解码器进行解码,最后通过输出接口向用户展示ui界面。s6:当用户通过ui界面切换主题颜色时,保存系统的主题颜色到flash存储上,同时刷新页面,重新执行步骤s5中操作。具体地,机顶盒运行过程中需要绘制ui界面时,遇到渲染“spng”图片时,根据系统flash存储上当前的主题颜色,结合颜色表bin文件的颜色数据,我们将“spng”文件还原为完整的png图片,提供给系统的解码器进行解码,最后通过输出接口向用户展示ui界面。整个还原过程如下:从bin文件中找到当前主题色的颜色表数据,在“spng”图片中按照plte区块的数据格式,添加plte区块数据;如果“spng”图片中有“trns”区块(透明度数据块),代表该图片是带透明度的图片,需要将颜色表中每个颜色的alpha通道值,按照“trns”区块的数据格式,添加trns区块数据;同时添加上述去掉的固定值的文件头和文件尾,还原完整的图片数据并保存为完正常的png图片。当用户通过遥控器在ui界面中切换主题颜色时,保存系统的主题颜色到flash存储上,同时刷新页面,此时会重新执行之前绘制ui界面的过程,由于主题色改变了,在从“spng”文件还原png图片时,写入了符合当前主题色的颜色表中的颜色值,从而从整体上改变了输出ui界面的颜色,实现了实时、高效换肤的功能。由于整个方案最终向系统底层输入的图片内容仍为png格式,所以,无论底层系统是使用软件解码,还是硬件解码,该方案都可以适应。s7:通过升级颜色表bin文件,便可以扩展机顶盒的主题颜色列表,从而给用户提供更多主题颜色选择。同时通过升级颜色表bin文件,还可以变更颜色表的颜色,从而优化ui界面的展示效果。具体地,机顶盒的设置页面中,切换ui主题色的待选项,从颜色表bin文件获取,假如该bin文件中只有蓝色和橙色两种颜色表,则待选项中有蓝色和橙色两种待选项,如果bin文件有三种颜色表,则有三种待选项。由于所有的主题色的颜色表数据都存储于bin文件中,因此,可以升级该颜色表bin文件,从而可以扩展机顶盒的主题颜色待选项,从而给用户提供更多主题颜色选择。同时,由于所有主题色的颜色都包含在该bin文件中,通过升级该bin文件,还可以变更颜色表的颜色,从而优化ui界面的展示效果,提供更好的用户体验。在升级的bin文件解析过程中,如果遇到错误,比如长度不对,或者crc校验错误,则丢弃该bin文件,继续使用机顶盒flash上之前存储的颜色表bin文件。s8:对于机顶盒中广告系统接收的png格式图片资源,则正常解码,不影响其功能使用,因此完全兼容现有系统。从上述描述可知,本申请提供的机顶盒界面主题颜色变更方法及装置,具有以下有益效果:1.节省存储空间,降低产品成本。该系统使用该更换主题色方案后,系统所占用的图片资源非但没有增加,反而减少了,因为该方案针对多套主题颜色,只使用一套图片资源,同时针对这一套图片文件,还去除了这些图片中的重复、冗余信息,能够有效减低系统存储空间大小,这在一定程度上降低了产品成本。2.实时且高效。该方案在更换主题颜色时,只需要保存当前选择的主题颜色,并重新绘制当前页面即可,并不需要重新加载全部图片文件资源,也不需要重启整个机顶盒或进程,能够做到实时更改主题色,极大的提高了用户的使用体验。3.可扩展性强且兼容性好。当机顶盒需要增加新的主题颜色,或者变更某种主题颜色下,某些图片的显示效果,只需要升级颜色表bin文件即可,无需升级添加更多的图片资源,也不需要升级整个软件代码,极大提高了更换主题颜色的可扩展性。同时对于机顶盒中接收到的广告系统下发的png图片或通过网络途径获取的png图片,则能够正常解码显示,无效做其他适配,这也提高了系统的兼容性。从硬件层面来说,为了能够提高机顶盒界面主题颜色变更的效率并节省存储空间,本申请上述方法提供的实施例可以在服务器设备、计算机集群或者类似的运算装置中执行。以运行在服务器上为例,图10是本申请实施例的一种用于实现所述机顶盒界面主题颜色变更方法的服务器的硬件结构框图。如图10所示,服务器设备可以包括一个或多个(图中仅示出一个)处理器1020(处理器1020可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器1040、以及用于通信功能的传输模块1060。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器设备还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。存储器1040可用于存储应用软件的软件程序以及模块,如本申请实施例中的用于实现所述机顶盒界面主题颜色变更方法对应的程序指令/模块,处理器1020通过运行存储在存储器1040内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的一种用于实现所述机顶盒界面主题颜色变更方法。存储器1040可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1040可进一步包括相对于处理器1020远程设置的存储器,这些远程存储器可以通过网络连接至服务器设备101。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输模块1060用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器设备的通信供应商提供的无线网络。在一个实例中,传输模块1060包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块1060可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。基于前述一种用于实现所述机顶盒界面主题颜色变更方法的内容,本申请实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。所述的电子设备类型可以包括移动终端、专用车险设备、车机交互设备、个人电脑等。所述处理器执行所述指令时可以实现所述用于实现所述机顶盒界面主题颜色变更方法的全部或部分内容,例如,所述处理器执行所述指令时可以实现如下内容:步骤101:接收目标机顶盒的界面主题颜色更换指令。步骤102:根据所述界面主题颜色更换指令从对应的存储器中的预存储的颜色表bin文件获取对应的bin颜色表。步骤103:应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,其中,预存储的界面主题和所述bin颜色表之间为一一对应的关系。步骤104:将所述目标格式图片信息进行解码并输出显示。在本申请一个实施例中,通过tuner模块来接收音视频数据和颜色表bin文件等辅助数据。音视频数据解码后,可以通过cvbs或hdmi接口输出到电视等显示介质,实现音视频的播放功能。从上述描述可知,本申请的实施例提供的电子设备,能够提高机顶盒界面主题颜色变更的效率并节省存储空间。基于前述一种用于实现所述机顶盒界面主题颜色变更方法的内容,本申请的实施例还提供能够实现上述一种机顶盒界面主题颜色变更方法实施例中的全部或部分步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的用于实现所述机顶盒界面主题颜色变更方法的全部,例如,所述处理器执行所述计算机程序时实现下述步骤:步骤101:接收目标机顶盒的界面主题颜色更换指令。步骤102:根据所述界面主题颜色更换指令从对应的存储器中的预存储的颜色表bin文件获取对应的bin颜色表。步骤103:应用所述bin颜色表中的颜色数据将预获取的中间格式图片信息转换为对应的目标格式图片信息,其中,预存储的界面主题和所述bin颜色表之间为一一对应的关系。步骤104:将所述目标格式图片信息进行解码并输出显示。上述描述可知,本申请的实施例提供的计算机可读存储介质,能够提高机顶盒界面主题颜色变更的效率并节省存储空间。本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。上述的指令可以存储在多种计算机可读存储介质中。所述计算机可读存储介质可以包括用于存储信息的物理装置,可以将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。本实施例所述的计算机可读存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。下述所述的装置或服务器或客户端或系统中的指令同上描述。虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1