一种屏保状态下音乐频谱的显示方法和装置 【技术领域】
本发明涉及通讯技术领域, 尤其涉及一种屏保状态下音乐频谱的显示方法和装置。 背景技术
屏保是终端在锁屏状态下显示的画面。用于防止用户在终端待机时误触操作。现 有技术的实现中, 屏保界面通常由一张图片搭配背景音乐组成, 对于用户而言, 屏保的形式 比较单调、 乏味。
如果能在音乐播放的同时显示正在播放的音乐的频谱, 则可以带给用户对音乐的 视觉感观, 与听觉相辅相成。这样在终端待机状态下, 用户只要按电源键唤醒终端的屏幕, 无需解锁就可以享受视觉听觉二维的音乐感受, 从而提高用户体验。 发明内容 本发明的实施例提供了一种屏保状态下音乐频谱的显示方法和装置, 用于在屏保 状态下播放音乐时在终端上显示音乐频谱, 提高用户体验。
为了达到上述目的, 本发明的实施例提供了一种屏保状态下音乐频谱的显示方 法, 包括 :
将需要在屏保状态下显示频谱的音乐进行频谱分析处理, 得到所述音乐的频谱数 据并存储 ;
在屏保状态下播放所述音乐时, 显示所述音乐的频谱数据。
其中, 所述将需要在屏保状态下显示频谱的音乐进行频谱分析处理, 得到所述音 乐的频谱数据, 包括 :
将所述需要在屏保状态下显示频谱的音乐进行解码, 得到脉冲码调制 PCM 数据 ;
对所述 PCM 数据进行时频变换, 获取频谱数据 ;
根据屏保显示宽度, 从所述时频变换得到的频谱数据中, 获取需要存储的频谱数 据;
存储所述需要存储的频谱数据。
其中, 所述根据屏保显示宽度, 从所述时频变换得到的频谱数据中, 获取需要存储 的频谱数据后, 还包括 :
根据所需要的显示精确度, 对所述获取的需要存储的频谱数据进行筛选。
其中, 所述显示所述音乐的频谱数据, 包括 :
当所述存储的音乐的频谱数据的数量满足屏保显示宽度时, 直接显示所述存储的 音乐的频谱数据 ;
当所述存储的音乐的频谱数据的数量小于屏保显示宽度时, 对所述存储的音乐的 频谱数据进行插值, 得到满足屏保显示宽度的音乐的频谱数据的数量并显示。
其中, 所述将需要在屏保状态下显示频谱的音乐进行频谱分析处理前, 还包括 :
获取设置的需要在屏保状态下显示频谱的音乐。
本发明还提供了一种处理装置, 用于屏保状态下音乐频谱的显示, 包括 :
频谱数据采集单元, 用于将需要在屏保状态下显示频谱的音乐进行频谱分析处 理, 得到所述音乐的频谱数据并存储 ;
频谱数据显示单元, 用于在屏保状态下播放所述音乐时, 显示所述音乐的频谱数 据。
其中, 所述频谱数据采集单元包括 :
解码子单元, 用于将所述需要在屏保状态下显示频谱的音乐进行解码, 得到 PCM 数据 ;
时频转换子单元, 用于对所述解码子单元得到的 PCM 数据进行时频变换, 获取频 谱数据 ;
频谱数据获取子单元, 用于根据屏保显示宽度, 从所述时频转换子单元进行时频 变换得到的频谱数据中, 获取需要存储的频谱数据 ;
频谱数据存储子单元, 用于存储所述频谱数据获取子单元获取的需要存储的频谱 数据。
其中, 所述频谱数据采集单元还包括 :
筛选子单元, 用于根据所需要的显示精确度, 对所述获取的需要存储的频谱数据 进行筛选。
其中, 所述频谱数据显示单元具体用于 :
当所述存储的音乐的频谱数据的数量满足屏保显示宽度时, 直接显示所述存储的 音乐的频谱数据 ;
当所述存储的音乐的频谱数据的数量小于屏保显示宽度时, 对所述存储的音乐的 频谱数据进行插值, 得到满足屏保显示宽度的音乐的频谱数据的数量并显示。
其中, 还包括 :
设置单元, 用于设置需要在屏保状态下显示频谱的音乐 ;
所述频谱数据采集单元, 还用于获取所述设置单元中设置的需要在屏保状态下显 示频谱的音乐。
与现有技术相比, 本发明的实施例具有以下优点 :
本发明的实施例中, 预先将需要在屏保状态下显示频谱的音乐进行频谱分析处 理、 得到音乐的频谱数据并存储 ; 从而在屏保状态下播放音乐时, 直接将存储的音乐频谱数 据进行显示。从而提高了用户体验 ; 另外由于所显示的频谱数据是预先存储好的而不是实 时显示的, 从而节省了终端在屏保状态下的资源。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可 以根据这些附图获得其他的附图。
图 1 是本发明实施例中提供的屏保状态下音乐频谱的显示方法流程图 ;
图 2 是本发明实施例中提供的音乐的频谱数据的生成流程图 ; 图 3 是本发明实施例中提供的处理装置的结构示意图 ; 图 4 是本发明实施例中提供的处理装置的另一结构示意图 .具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅是本发明一部分实施例, 而不是全部的实施例。基于本 发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实 施例, 都属于本发明保护的范围。
本发明的实施例提供了一种屏保状态下音乐频谱的显示方法, 如图 1 所示, 包括 :
步骤 s101、 将需要在屏保状态下显示频谱的音乐进行频谱分析处理, 得到音乐的 频谱数据并存储。 该步骤中, 充分利用了现有终端通常具有大容量存储空间的特点, 将生成 的音乐频谱数据直接存储在终端的存储介质中。
步骤 s102、 在屏保状态下播放音乐时, 显示音乐的频谱数据。该步骤中, 由于所显 示的频谱数据预先存储在终端中, 而不是由终端实时处理并显示的, 因此节省了终端在屏 保状态下的资源。 在本发明的实施例中, 用户可以根据喜好和需要, 为终端内已存储的音乐设定 “屏 保频谱显示属性” 。对于用户设定了屏保频谱显示属性的音乐, 终端对其进行频谱分析处 理, 生成音乐的频谱数据, 并将得到的频谱数据进行存储。 以下结合一个具体的实施例说明 音乐的频谱数据的生成方法。
音乐的频谱数据的生成流程如图 2 所示, 包括以下步骤 :
步骤 s201、 将选中的音乐解码得到 PCM(Pulse Code Modulation, 脉冲码调制 ) 数 据, 并对 PCM 数据进行时频变换。
该步骤中, 首先将选中的音乐解码, 得到以 16bit 表示的 PCM 数据。具体的解码方 式可以根据音乐格式进行选择, 例如对于 WMV、 MP3、 RM、 MIDI 等不同格式的音乐文件, 需要 使用对应的解码方式进行解码, 得到音乐的 PCM 数据。
之后, 对解码得到的 PCM 数据进行时频变换。本发明的实施例中, 为了得到流 畅的频谱显示, 根据经验, 在进行时频变换时, 可以设置每秒显示 25 帧频谱数据, 即以 1000ms/25 = 40ms 作为一帧。时频变换所使用的公式如公式 (1) 所示 :
其中 n = 0, ..., N-1 ; N 为一帧数据 ( 即 40ms 数据 ) 的频谱幅度点数 ; x(n) 为 PCM 数据, 取频率幅度值 |X(k)| 作为频谱数据。N 的取值与音乐数据的采样率有关, 例如, 音乐 数据的采样率为 44.1KHz 时, N 的数值为 :
N = 44.1KHz*40ms = 1764
步骤 s202、 根据屏幕显示宽度, 计算显示所需的频谱数据。
具体的, 根据终端的屏幕显示宽度, 计算显示所需的频谱数据。 设屏幕频谱图像显 示宽度为 w 像素, 一帧数据的频谱幅度的点数为 N, 设解码 PCM 音乐数据的采样率为 s kHz, 则计算显示所需的频谱数据所使用的公式如公式 (2) 所示 :
公式 (2) 中, 采用对应频谱幅度前 3 点到后 3 点的平均值作为存储的频谱数据。 其 中, k = -3、 -2、 -1、 0、 1、 2、 3; X( ) 为步骤 s201 中计算得到的频谱数据 ; n = 0, 1, ..., w-1 ; s 为音乐数据的采样率 ; w 为屏幕频谱图像显示宽度 ; round( ) 为取整函数 ; X’ ( ) 为显示 所需的频谱数据。
步骤 s203、 根据设置对显示所需的频谱数据进行存储。
本发明的实施例中, 由于终端的屏幕较小, 同时屏保对于频谱的显示精确度要求 较低, 可以用较少的字节存储一个存储数据, 以屏幕显示区域为 HVGA 规格为例, 分辨率为 320×240, 可以用 6 个 bit 表示一个频谱幅度数据。同时, 可以对获取到的频谱数据进行筛 选, 只存储筛选后的频谱数据。例如在 x 轴上显示频谱数据时, 无需将每一个像素点对应一 个频谱幅度数据, 例如可以将 4 个像素点对应一个存储数据, 其余的点在显示时简单插值 生成即可。
同样以屏幕显示区域为 HVGA 为例, 屏幕显示宽度为 320 个像素, 频谱图像宽度可 以设置为 240 像素。对于 CD 音质音乐数据, 音乐数据采样率为 44.1kHz, 在 40ms 区间内, 时 频变换后, 频谱幅度值个数为 1764 个, 显示所需的频谱数据为 240 个, 将 4 个点表示为一个 频谱数据的存储数据时, 需要存储的频谱数据为 60 个。
使用本发明实施例提供的方法时, 需要在终端中存储生成的音乐的频谱数据。设 音乐码率为 r kbps, 设音乐时间长度为为 t s, 则音乐数据的存储空间为 rs/8×1000MB。
相应的, 频谱数据存储空间计算方法如公式 (3) 所示 :
对于存储空间来说, 以 MP3 音乐数据为例, 码率为 128kbps, 以 5 分钟 (300s) 的音 乐为例计算, 存储音乐文件所需的空间为 4.8MB, 而存储音乐的频谱数据所需的空间根据公 式 (3) 可以计算得到为 2.7MB, 与音乐文件本身相比所需的存储空间更小, 可以在存储卡上 存储。
通过上述步骤 s201 ~ s203, 实现了频谱数据的生成和存储。在屏保显示过程中, 终端可以在播放音乐的同时, 实时的从存储介质中同步读取与音乐对应的频谱数据。当音 乐的频谱数据的数量满足屏保显示宽度时, 直接显示音乐的频谱数据 ; 当音乐的频谱数据 的数量小于屏保显示宽度时, 需要对音乐的频谱数据进行插值, 得到未存储的频谱数据, 得 到满足屏保显示宽度的音乐的频谱数据的数量并显示。
本发明的实施例中, 可以采用的一种差值方法为 : 采用简单插值的方式生成。 例如 将 4 个点表示为一个频谱数据的存储数据时, 除了存储点频谱数据之外的其他 3 个点的频 谱数据需要根据存储点频谱数据差值得到。
设在存储的频率数据 X(k1) 和 X(k2) 之间需要插值出 3 个频率点 X(p1), X(p2), X(p3), k1 < p1 < p2 < p3 < k2, 则一种差值的方法可以如下公式 (4) 所示 :
X(p1) = 0.25×X(k1)+0.75×X(k2)
X(p2) = 0.5×X(k1)+0.5×X(k2) (4)
X(p3) = 0.75×X(k1)+0.25×X(k2)
当然本发明实施例所采用的差值方式并不限于此。通过使用插值的方法, 可以得 出满足屏保显示宽度像素的所有频率幅度点, 从而可以逐点得到频谱的曲线, 在伴随音乐 播放时显示频谱的效果。
本发明的实施例提供的上述方法中, 预先将需要在屏保状态下显示频谱的音乐进 行频谱分析处理、 得到音乐的频谱数据并存储 ; 从而在屏保状态下播放音乐时, 直接将存储 的音乐频谱数据进行显示。从而提高了用户体验 ; 另外由于所显示的频谱数据是预先存储 好的而不是实时显示的, 从而节省了终端在屏保状态下的资源。 可以理解的是, 该终端包括 手机、 PDA、 笔记本电脑、 台式机等。
本发明的实施例还提供了一种处理装置, 用于屏保状态下音乐频谱的显示, 如图 3 所示, 包括 :
频谱数据采集单元 10, 用于将需要在屏保状态下显示频谱的音乐进行频谱分析处 理, 得到该音乐的频谱数据并存储 ;
频谱数据显示单元 20, 用于在屏保状态下播放所述音乐时, 显示所述音乐的频谱 数据。
具体的, 本发明的一个实施例中, 如图 4 所示, 频谱数据采集单元 10 可以进一步包括: 解码子单元 11, 用于将所述需要在屏保状态下显示频谱的音乐进行解码, 得到 PCM 数据 ;
时频转换子单元 12, 用于对所述解码子单元 11 得到的 PCM 数据进行时频变换, 获 取频谱数据 ;
频谱数据获取子单元 13, 用于根据屏保显示宽度, 从时频转换子单元 12 进行时频 变换得到的频谱数据中, 获取需要存储的频谱数据 ;
频谱数据存储子单元 14, 用于存储频谱数据获取子单元 13 获取的需要存储的频 谱数据。
另外, 该频谱数据采集单元 10 还可以包括 :
筛选子单元 15, 用于根据所需要的显示精确度, 对频谱数据获取子单元 13 获取的 需要存储的频谱数据进行筛选, 经筛选后的数据存储到频谱数据存储子单元 14。
另外, 频谱数据显示单元 20 具体用于 : 当存储的音乐的频谱数据的数量满足屏保 显示宽度时, 直接显示存储的音乐的频谱数据 ; 当存储的音乐的频谱数据的数量小于屏保 显示宽度时, 对存储的音乐的频谱数据进行插值, 得到满足屏保显示宽度的音乐的频谱数 据的数量并显示。
另外, 该处理装置还包括 : 设置单元 30, 用于设置需要在屏保状态下显示频谱的 音乐。 则频谱数据采集单元 10, 还用于获取设置单元 30 中设置的需要在屏保状态下显示频 谱的音乐以对其进行频谱分析处理。
本发明提供的实施例中, 预先将需要在屏保状态下显示频谱的音乐进行频谱分析 处理、 得到音乐的频谱数据并存储 ; 从而在屏保状态下播放音乐时, 直接将存储的音乐频谱 数据进行显示。从而提高了用户体验 ; 另外由于所显示的频谱数据是预先存储好的而不是
实时显示的, 从而节省了终端在屏保状态下的资源。
通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现, 也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解, 本发 明的技术方案可以以软件产品的形式体现出来, 该软件产品可以存储在一个非易失性存储 介质 ( 可以是 CD-ROM, U 盘, 移动硬盘等 ) 中, 包括若干指令用以使得一台计算机设备 ( 可 以是个人计算机, 服务器, 或者网络设备等 ) 执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图, 附图中的单元或流 程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的单元可以按照实施例描述进行分 布于实施例的装置中, 也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的单元可以合并为一个单元, 也可以进一步拆分成多个子单元。
上述本发明实施例序号仅仅为了描述, 不代表实施例的优劣。