Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MULTIMEDIA PLAYING METHOD, DEVICE AND TERMINAL
Document Type and Number:
WIPO Patent Application WO/2014/082553
Kind Code:
A1
Abstract:
Disclosed are a multimedia playing method, device and terminal, which belong to the technical field of computers. The method comprises: transcoding formats in multimedia files which are not recognized by a graphics processing unit (GPU) into formats which are recognized by the GPU, wherein the formats are one or two of audio encoding formats and file formats; and sending the transcoded multimedia files to the GPU, so as to enable the GPU to play the multimedia files. The present invention solves the problem that when formats of multimedia files are not recognized by a GPU, the GPU cannot play the multimedia files, thereby achieving the effect of expanding the range of the multimedia files which can be played by the GPU.

Inventors:
HU PENG (CN)
HUANG HUI (CN)
Application Number:
PCT/CN2013/087753
Publication Date:
June 05, 2014
Filing Date:
November 25, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TENCENT TECH SHENZHEN CO LTD (CN)
International Classes:
H04N21/43
Foreign References:
CN202551259U2012-11-21
CN102055965A2011-05-11
CN102163201A2011-08-24
US20100060784A12010-03-11
Attorney, Agent or Firm:
BEIJING SAN GAO YONG XIN INTELLECTUAL PROPERTY AGENCY CO., LTD (CN)
北京三高永信知识产权代理有限责任公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种多媒体播放方法, 其特征在于, 所述方法包括:

将多媒体文件中不被图形处理器 GPU识别的格式转码为所述 GPU识别的 格式, 所述格式为音频编码格式和文件格式中的一种或两种;

将转码后的所述多媒体文件发送给所述 GPU,使所述 GPU播放所述多媒体 文件。

2、 根据权利要求 1所述的多媒体播放方法, 其特征在于, 所述将多媒体文 件中不被图形处理器 GPU识别的格式转码为所述 GPU识别的格式, 包括: 切割所述多媒体文件, 并将当前切割得到的文件作为当前切片文件; 将所述当前切片文件中不被所述 GPU识别的格式转码为所述 GPU识别的 格式;

相应的, 将转码后的所述多媒体文件发送给所述 GPU,使所述 GPU播放所 述多媒体文件, 包括:

将转码后的所述当前切片文件发送给所述 GPU,使所述 GPU播放所述当前 切片文件。

3、 根据权利要求 2所述的多媒体播放方法, 其特征在于, 所述切割所述多 媒体文件, 并将当前切割得到的文件作为当前切片文件, 包括:

确定所述多媒体文件的第一切片点;

基于所述第一切片点向后定位 T时长的播放时刻, 检测大于或等于所述播 放时刻的第一个关键帧, 将所述第一个关键帧对应的播放时刻作为第二切片点; 将所述第一切片点和所述第二切片点之间的多媒体文件切割为所述当前切 片文件。

4、 根据权利要求 3所述的多媒体播放方法, 其特征在于, 所述确定所述多 媒体文件的第一切片点, 包括:

确定所述多媒体文件的起始播放时刻为所述当前切片文件的第一切片点; 或者,

确定前一切片文件的第二切片点为所述当前切片文件的第一切片点; 或者, 获取用户指定的播放时刻, 检测大于或等于所述指定的播放时刻的第一个 关键帧, 确定所述第一个关键帧对应的播放时刻为所述当前切片文件的第一切 片点。

5、 根据权利要求 3所述的多媒体播放方法, 其特征在于, 所述将转码后的 所述当前切片文件发送给所述 GPU之后, 还包括:

如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时 刻, 则基于所述第二切片点切割下一切片文件, 并对所述下一切片文件进行转 码。

6、 根据权利要求 5所述的多媒体播放方法, 其特征在于, 每一个切片文件 对应的 T时长相同或不同, 且根据当前 T时长切割的所述当前切片文件的转码 时间小于根据前一 T时长切割的前一切片文件在所述 GPU中的剩余播放时间。

7、 根据权利要求 1所述的多媒体播放方法, 其特征在于, 所述将多媒体文 件中不被图形处理器 GPU识别的格式转码为所述 GPU识别的格式之前, 还包 括:

检测所述多媒体文件中的视频编码格式、 音频编码格式和文件格式是否被 所述 GPU识别;

若所述音频编码格式和 /或文件格式不被所述 GPU识别,则执行将多媒体文 件中不被所述 GPU识别的格式转码为所述 GPU识别的格式的步骤;

若所述视频编码格式不被所述 GPU识别, 则通过识别所述视频编码格式的 应用程序播放所述视频文件。

8、 一种多媒体播放装置, 其特征在于, 所述装置包括:

转码模块, 用于将多媒体文件中不被图形处理器 GPU识别的格式转码为所 述 GPU识别的格式, 所述格式为音频编码格式和文件格式中的一种或两种; 发送模块, 用于将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU 播放所述多媒体文件。

9、 根据权利要求 8所述的多媒体播放装置, 其特征在于, 所述转码模块包 括:

切割单元, 用于切割所述多媒体文件, 并将当前切割得到的文件作为当前 切片文件;

转码单元, 用于将所述当前切片文件中不被所述 GPU识别的格式转码为所 述 GPU识别的格式; 述 GPU , 使所述 GPU播放所述当前切片文件。

10、 根据权利要求 9所述的多媒体播放装置, 其特征在于, 所述切割单元 包括:

第一确定子单元, 用于确定所述多媒体文件的第一切片点;

第二确定子单元, 用于基于所述第一切片点向后定位 T时长的播放时刻, 检测大于或等于所述播放时刻的第一个关键帧, 将所述第一个关键帧对应的播 放时刻作为第二切片点;

切割子单元, 用于将所述第一切片点和所述第二切片点之间的多媒体文件 切割为所述当前切片文件。

11、 根据权利要求 10所述的多媒体播放装置, 其特征在于, 所述第一确定 子单元, 用于确定所述多媒体文件的起始播放时刻为所述当前切片文件的第一 切片点; 或者, 确定前一切片文件的第二切片点为所述当前切片文件的第一切 片点; 或者, 获取用户指定的播放时刻, 检测大于或等于所述指定的播放时刻 的第一个关键帧, 确定所述第一个关键帧对应的播放时刻为所述当前切片文件 的第一切片点。

12、根据权利要求 10所述的多媒体播放装置, 其特征在于, 所述转码模块, 所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时刻, 则基于 所述第二切片点切割下一切片文件, 并对所述下一切片文件进行转码。

13、 根据权利要求 12所述的多媒体播放装置, 其特征在于, 每一个切片文 件对应的 T时长相同或不同, 且才 据当前 T时长切割的所述当前切片文件的转 码时间小于根据前一 T时长切割的前一切片文件在所述 GPU 中的剩余播放时 间。

14、 根据权利要求 9所述的多媒体播放装置, 其特征在于, 所述装置还包 括:

检测模块, 用于所述转码模块将多媒体文件中不被所述 GPU识别的格式转 码为所述 GPU识别的格式之前, 检测所述多媒体文件中的视频编码格式、 音频 编码格式和文件格式是否被所述 GPU识别;

所述转码模块,还用于若所述音频编码格式和 /或文件格式不被所述 GPU识 别, 则将多媒体文件中不被所述 GPU识别的格式转码为所述 GPU识别的格式; 播放模块, 用于若所述视频编码格式不被所述 GPU识别, 则通过识别所述 编码格式的应用程序播放所述视频文件。

15、 一种移动终端, 其特征在于, 所述终端包括如权利要求 8至 14中任一 项所述的多媒体播放装置。

16、 一种终端, 其特征在于, 所述终端包括:

一个或多个处理器; 和

存储器;

所述存储器存储有一个或多个程序, 所述一个或多个程序被配置成由所述 一个或多个处理器执行, 所述一个或多个程序包含用于进行以下操作的指令: 将多媒体文件中不被图形处理器 GPU识别的格式转码为所述 GPU识别的 格式, 所述格式为音频编码格式和文件格式中的一种或两种;

将转码后的所述多媒体文件发送给所述 GPU,使所述 GPU播放所述多媒体 文件。

17、 根据权利要求 16所述的终端, 其特征在于, 还包括执行如下操作的指 令:

切割所述多媒体文件, 并将当前切割得到的文件作为当前切片文件; 将所述当前切片文件中不被所述 GPU识别的格式转码为所述 GPU识别的 格式; 相应的, 将转码后的所述多媒体文件发送给所述 GPU,使所述 GPU播放所 述多媒体文件, 包括:

将转码后的所述当前切片文件发送给所述 GPU,使所述 GPU播放所述当前 切片文件。

18、 根据权利要求 17所述的终端, 其特征在于, 还包括执行如下操作的指 令:

确定所述多媒体文件的第一切片点;

基于所述第一切片点向后定位 T时长的播放时刻, 检测大于或等于所述播 放时刻的第一个关键帧, 将所述第一个关键帧对应的播放时刻作为第二切片点; 将所述第一切片点和所述第二切片点之间的多媒体文件切割为所述当前切 片文件。

19、 根据权利要求 18所述的终端, 其特征在于, 还包括指令如下操作的指 令:

确定所述多媒体文件的起始播放时刻为所述当前切片文件的第一切片点; 或者,

确定前一切片文件的第二切片点为所述当前切片文件的第一切片点; 或者, 获取用户指定的播放时刻, 检测大于或等于所述指定的播放时刻的第一个 关键帧, 确定所述第一个关键帧对应的播放时刻为所述当前切片文件的第一切 片点。

20、 根据权利要求 18所述的终端, 其特征在于, 还包括执行如下操作的指 令:

如果所述当前切片文件的第二切片点不是所述多媒体文件的最后播放时 刻, 则基于所述第二切片点切割下一切片文件, 并对所述下一切片文件进行转 码。

21、 根据权利要求 20所述的终端, 其特征在于, 还包括执行如下操作的指 令:

每一个切片文件对应的 T时长相同或不同, 且根据当前 T时长切割的所述 当前切片文件的转码时间小于根据前一 T时长切割的前一切片文件在所述 GPU 中的剩余播放时间。

22、 根据权利要求 16所述的终端, 其特征在于, 还包括指令如下操作的指 令:

检测所述多媒体文件中的视频编码格式、 音频编码格式和文件格式是否被 所述 GPU识别;

若所述音频编码格式和 /或文件格式不被所述 GPU识别,则执行将多媒体文 件中不被所述 GPU识别的格式转码为所述 GPU识别的格式的步骤;

若所述视频编码格式不被所述 GPU识别, 则通过识别所述视频编码格式的 应用程序播放所述视频文件。

Description:
说 明 书 多媒体播放方法、 装置及终端

本申请要求于 2012 年 11 月 28 日提交中国专利局、 申请号为 201210492929.1、 发明名称为 "多媒体播放方法、 装置及终端" 的中国专利申 请的优先权, 其全部内容通过引用结合在本申请中。 技术领域

本发明涉及计算机技术领域,特别涉及一种多 媒体播放方法、装置及终端。 背景技术

多媒体文件本质上就是容纳多媒体数据的文件 , 它根据相关的规范将视 频、 音频以及字幕等数据封装在一个文件内。 因此, 多媒体文件的格式包含外 部的文件格式以及内层的编码格式两个方面, 其中, 文件格式是指多媒体数据 的封装方式, 例如 AVI、 MOV、 MKV、 RMVB和 MP4等; 编码格式是指多媒 体数据自身的压缩算法, 例如 H.264、 VP8、 MPEG-4、 WMV9等都是常见的 视频编码格式, MP3、 AAC、 AC-3、 AMR等是常见的音频编码格式。 并且, 文件格式与编码格式之间属于松散的耦合关系 , 不必——对应。 例如 MP4、 MKV等文件格式可以容纳不同类型的数据编码。 但是, 也有少数文件格式与 唯一指定的视频或音频编码格式配套使用, 例如 RMVB、 WebM等。

基于上述多媒体文件的格式, 播放视频文件主要经过媒体分离、 媒体解码 和媒体渲染这三个阶段。媒体分离是通过内部 的分离器识别多媒体文件的文件 格式, 分离出视频、 音频与字幕等编码数据, 将其交给解码器。 媒体解码是指 解码器对视频数据和音频数据进行解码,得到 还原的未压缩视频数据帧和音频 数据帧。媒体渲染是将解码后的视频数据帧和 音频数据帧经由显示设备以图像 方式展示出来。 这三个步骤中, 媒体解码通常是计算消耗最多的一个步骤, 远 远大于分离与渲染, 也大于音频数据的处理。 而手机等设备的 CPU ( Central Processing Unit, 中央处理器)处理能力比较有限, 因而在用户使用手机等设 备播放高分辨率视频时经常出现播放不流畅的 情况, 为了弥补 CPU视频播放 能力的不足, 大多数智能手机会内置支持常规格式多媒体文 件解码的 GPU ( Graphic Processing Unit, 图形处理器) 芯片, 通过 GPU调用多媒体播放的 现有技术中, GPU获取指定格式的多媒体文件,通过分离器分 离出多媒体 文件的编码数据, 通过解码器对编码数据进行解码, 并对解码后的数据帧进行 播放。

在实现本发明的过程中, 发明人发现现有技术至少存在以下问题:

GPU播放的多媒体文件需要文件格式、视频编 码格式和音频编码格式都满 足 GPU指定的格式才行, 文件格式比较固定, 限制了 GPU可以播放的多媒体 文件的范围。 发明内容

为了解决多媒体文件的格式不被 GPU识别时, GPU不能播放该多媒体文 件的问题, 本发明实施例提供了一种多媒体播放方法、 装置及终端。 所述技术 方案如下:

第一方面, 本发明实施例提供了一种多媒体播放方法, 所述方法包括: 将多媒体文件中不被图形处理器 GPU识别的格式转码为所述 GPU识别的 格式, 所述格式为音频编码格式和文件格式中的一种 或两种;

将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU播放所述多媒 体文件。

进一步地, 所述将多媒体文件中不被图形处理器 GPU识别的格式转码为 所述 GPU识别的格式, 包括:

切割所述多媒体文件, 并将当前切割得到的文件作为当前切片文件; 将所述当前切片文件中不被所述 GPU识别的格式转码为所述 GPU识别的 格式;

相应的, 将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU播放 所述多媒体文件, 包括:

将转码后的所述当前切片文件发送给所述 GPU, 使所述 GPU播放所述当 前切片文件。

进一步地, 所述切割所述多媒体文件, 并将当前切割得到的文件作为当前 切片文件, 包括:

确定所述多媒体文件的第一切片点;

基于所述第一切片点向后定位 T时长的播放时刻,检测大于或等于所述播 放时刻的第一个关键帧, 将所述第一个关键帧对应的播放时刻作为第二 切片 点;

将所述第一切片点和所述第二切片点之间的多 媒体文件切割为所述当前 切片文件。

进一步地, 所述确定所述多媒体文件的第一切片点, 包括:

确定所述多媒体文件的起始播放时刻为所述当 前切片文件的第一切片点; 或者,

确定前一切片文件的第二切片点为所述当前切 片文件的第一切片点; 或 者,

获取用户指定的播放时刻,检测大于或等于所 述指定的播放时刻的第一个 关键帧,确定所述第一个关键帧对应的播放时 刻为所述当前切片文件的第一切 片点。

进一步地, 所述将转码后的所述当前切片文件发送给所述 GPU之后, 还 包括:

如果所述当前切片文件的第二切片点不是所述 多媒体文件的最后播放时 刻, 则基于所述第二切片点切割下一切片文件, 并对所述下一切片文件进行转 码。

进一步地,每一个切片文件对应的 T时长相同或不同,且根据当前 T时长 切割的所述当前切片文件的转码时间小于根据 前一 T 时长切割的前一切片文 件在所述 GPU中的剩余播放时间。

进一步地, 所述将多媒体文件中不被图形处理器 GPU识别的格式转码为 所述 GPU识别的格式之前, 还包括:

检测所述多媒体文件中的视频编码格式、音频 编码格式和文件格式是否被 所述 GPU识别;

若所述音频编码格式和 /或文件格式不被所述 GPU识别, 则执行将多媒体 文件中不被所述 GPU识别的格式转码为所述 GPU识别的格式的步骤;

若所述视频编码格式不被所述 GPU识别, 则通过识别所述视频编码格式 的应用程序播放所述视频文件。

第二方面, 本发明实施例提供了一种多媒体播放装置, 所述装置包括: 转码模块, 用于将多媒体文件中不被图形处理器 GPU识别的格式转码为 所述 GPU识别的格式, 所述格式为音频编码格式和文件格式中的一种 或两种; 发送模块,用于将转码后的所述多媒体文件发 送给所述 GPU,使所述 GPU 播放所述多媒体文件。

进一步地, 所述转码模块包括:

切割单元, 用于切割所述多媒体文件, 并将当前切割得到的文件作为当前 切片文件;

转码单元, 用于将所述当前切片文件中不被所述 GPU识别的格式转码为 所述 GPU识别的格式; 述 GPU , 使所述 GPU播放所述当前切片文件。

进一步地, 所述切割单元包括:

第一确定子单元, 用于确定所述多媒体文件的第一切片点;

第二确定子单元, 用于基于所述第一切片点向后定位 T时长的播放时刻, 检测大于或等于所述播放时刻的第一个关键帧 , 将所述第一个关键帧对应的播 放时刻作为第二切片点;

切割子单元, 用于将所述第一切片点和所述第二切片点之间 的多媒体文件 切割为所述当前切片文件。

进一步地, 所述第一确定子单元, 具体用于确定所述多媒体文件的起始播 放时刻为所述当前切片文件的第一切片点; 或者, 确定前一切片文件的第二切 片点为所述当前切片文件的第一切片点; 或者, 获取用户指定的播放时刻, 检 测大于或等于所述指定的播放时刻的第一个关 键帧, 确定所述第一个关键帧对 应的播放时刻为所述当前切片文件的第一切片 点。

进一步地, 所述转码模块, 还用于所述发送模块将转码后的所述当前切片 文件发送给所述 GPU之后, 如果所述当前切片文件的第二切片点不是所述 多 媒体文件的最后播放时刻, 则基于所述第二切片点切割下一切片文件, 并对所 述下一切片文件进行转码。

进一步地,每一个切片文件对应的 T时长相同或不同,且根据当前 T时长 切割的所述当前切片文件的转码时间小于根据 前一 T 时长切割的前一切片文 件在所述 GPU中的剩余播放时间。

进一步地, 所述装置还包括:

检测模块, 用于所述转码模块将多媒体文件中不被所述 GPU识别的格式 转码为所述 GPU识别的格式之前, 检测所述多媒体文件中的视频编码格式、 音频编码格式和文件格式是否被所述 GPU识别;

所述转码模块, 还用于若所述音频编码格式和 /或文件格式不被所述 GPU 识别, 则将多媒体文件中不被所述 GPU识别的格式转码为所述 GPU识别的格 式;

播放模块, 用于若所述视频编码格式不被所述 GPU识别, 则通过识别所 述编码格式的应用程序播放所述视频文件。

第三方面, 本发明实施例提供了一种终端, 所述终端包括如上所述的多媒 体播放装置。

第四方面, 本发明实施例还提供了一种终端, 所述终端包括:

一个或多个处理器; 和

存储器;

所述存储器存储有一个或多个程序, 所述一个或多个程序被配置成由所述 一个或多个处理器执行, 所述一个或多个程序包含用于进行以下操作的 指令: 将多媒体文件中不被图形处理器 GPU识别的格式转码为所述 GPU识别的 格式, 所述格式为音频编码格式和文件格式中的一种 或两种;

将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU播放所述多媒 体文件。

进一步地, 还包括执行如下操作的指令:

切割所述多媒体文件, 并将当前切割得到的文件作为当前切片文件; 将所述当前切片文件中不被所述 GPU识别的格式转码为所述 GPU识别的 格式;

相应的, 将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU播放 所述多媒体文件, 包括:

将转码后的所述当前切片文件发送给所述 GPU, 使所述 GPU播放所述当 前切片文件。

进一步地, 还包括执行如下操作的指令:

确定所述多媒体文件的第一切片点;

基于所述第一切片点向后定位 T时长的播放时刻,检测大于或等于所述播 放时刻的第一个关键帧, 将所述第一个关键帧对应的播放时刻作为第二 切片 点;

将所述第一切片点和所述第二切片点之间的多 媒体文件切割为所述当前 切片文件。

进一步地, 还包括指令如下操作的指令:

确定所述多媒体文件的起始播放时刻为所述当 前切片文件的第一切片点; 或者,

确定前一切片文件的第二切片点为所述当前切 片文件的第一切片点; 或 者,

获取用户指定的播放时刻,检测大于或等于所 述指定的播放时刻的第一个 关键帧,确定所述第一个关键帧对应的播放时 刻为所述当前切片文件的第一切 片点。

进一步地, 还包括执行如下操作的指令:

如果所述当前切片文件的第二切片点不是所述 多媒体文件的最后播放时 刻, 则基于所述第二切片点切割下一切片文件, 并对所述下一切片文件进行转 码。

进一步地, 还包括执行如下操作的指令:

每一个切片文件对应的 T时长相同或不同,且根据当前 T时长切割的所述 当前切片文件的转码时间小于根据前一 T 时长切割的前一切片文件在所述 GPU中的剩余播放时间。

进一步地, 还包括指令如下操作的指令:

检测所述多媒体文件中的视频编码格式、音频 编码格式和文件格式是否被 所述 GPU识别;

若所述音频编码格式和 /或文件格式不被所述 GPU识别, 则执行将多媒体 文件中不被所述 GPU识别的格式转码为所述 GPU识别的格式的步骤;

若所述视频编码格式不被所述 GPU识别, 则通过识别所述视频编码格式 的应用程序播放所述视频文件。

本发明实施例提供的技术方案带来的有益效果 是:

通过将多媒体文件中不被图形处理器 GPU识别的格式转码为所述 GPU识 别的格式, 所述格式为音频编码格式和文件格式中的一种 或两种; 将转码后的 所述多媒体文件发送给所述 GPU, 使所述 GPU播放所述多媒体文件, 解决了 多媒体文件的格式不被 GPU识别时, GPU不能播放该多媒体文件的问题, 达 到了扩大 GPU可以播放的多媒体文件的范围的效果。 附图说明

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

图 1是本发明一个实施例提供的多媒体播放方法 方法流程图;

图 2是本发明另一实施例提供的多媒体播放方法 方法流程图;

图 3是本发明一个实施例提供的多媒体播放装置 结构示意图;

图 4是本发明另一实施例提供的多媒体播放装置 结构示意图;

图 5是本发明另一实施例提供的切割单元的结构 意图;

图 6是本发明一个实施例提供的终端的结构示意 。 具体实施方式

为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明 实施方式作进一步地详细描述。

请参考图 1 , 其示出了本发明一个实施例提供的多媒体播放 方法的方法流 程图。 该多媒体播放方法可以用于包含有 GPU和 CPU的终端中, 该终端可以 是智能电视、 智能手机或者平板电脑等等。 该多媒体播放方法, 包括:

步骤 102: 将多媒体文件中不被 GPU识别的格式对应转码为 GPU识别的 格式, 该格式为音频编码格式和文件格式中的一种或 两种;

其中, 当多媒体文件的音频编码格式不被 GPU识别时, 将该多媒体文件 的音频编码格式转码为 GPU识别的音频编码格式; 当多媒体文件的文件格式 不被 GPU识别时, 将该多媒体文件的文件格式转码为 GPU识别的文件格式; 多媒体文件的音频编码格式和文件格式均不被 GPU识别时, 将该多媒体文件 的音频编码格式和文件格式对应转码为 GPU识别的音频编码格式和文件格式。

步骤 104: 将转码后的多媒体文件发送给 GPU, 使 GPU播放该多媒体文 件。

综上所述, 本发明实施例提供的多媒体播放方法, 通过将多媒体文件中不 被 GPU识别的格式转码为所述 GPU识别的格式, 所述格式为音频编码格式和 文件格式中的一种或两种;将转码后的所述多 媒体文件发送给所述 GPU,使所 述 GPU播放所述多媒体文件,解决了多媒体文件的 格式不被 GPU识别时, GPU 不能播放该多媒体文件的问题, 达到了扩大 GPU可以播放的多媒体文件的范 围的效果。 请参考图 2, 其示出了本发明另一实施例提供的多媒体播放 方法的方法流 程图。 该多媒体播放方法可以用于包含有 GPU和 CPU的终端中, 该终端可以 是智能电视、 智能手机或者平板电脑等等。 该多媒体播放方法, 包括:

步骤 202: 检测多媒体文件中的视频编码格式、 音频编码格式和文件格式 是否被 GPU识别;

终端对多媒体文件的文件格式进行转码的资源 开销较小, 适用于所有多媒 体文件文件。 而对多媒体文件的编码格式进行转码时, CPU需要对多媒体文件 进行解码, 将解码后的数据编码为 GPU指定编码格式的多媒体文件, 再将转 码后的该多媒体文件发送给 GPU播放。 此时, CPU对多媒体文件进行编码格 式转化的资源开销是 CPU播放该多媒体文件的 2倍以上。 当多媒体文件为音 频文件时, 由于音频文件的数据量相对较小,可以将音频 编码格式转码为 GPU 指定的音频编码格式, 通过 GPU播放转码后的音频文件, 以节省终端的资源, 提高播放性能。 当媒体文件为视频文件时, 由于视频文件的数据量较大, 对视 频编码格式进行转码的资源开销远大于 CPU播放该视频文件的资源开销, 不 适合通过 GPU播放该视频文件。 因此, 终端需要检测多媒体文件中的视频编 码格式、 音频编码格式和文件格式是否被 GPU识别。

具体地, 可以获取视频文件的元数据, 元数据用来描述多媒体文件的编码 格式和文件格式。

步骤 204: 若音频编码格式和 /或文件格式不被 GPU识别, 则切割多媒体 文件, 并将当前切割得到的文件作为当前切片文件;

终端可以对多媒体文件进行整体转码,此时对 存储空间要求较高。优选地, 终端还可以对多媒体文件进行切割, 每次转码切割得到的切片文件, 这样可以 减少存储空间。

具体地, 切割多媒体文件, 并将当前切割得到的文件作为当前切片文件, 可以包括:

确定多媒体文件的第一切片点;

基于第一切片点向后定位 T时长的播放时刻,检测大于或等于播放时刻 第一个关键帧, 将第一个关键帧对应的播放时刻作为第二切片 点; 将第一切片点和第二切片点之间的多媒体文件 切割为当前切片文件。

当对多媒体文件进行切割时,终端可以预先定 义当前切片文件对应的 T时 长, 基于当前多媒体文件的第一切片点向后定位 T时长的播放时刻, 判断该播 放时刻是否为关键帧对应的播放时刻,如果是 ,将该播放时刻作为第二切片点, 将第一切片点与第二切片点之间的多媒体文件 切割为当前切片文件; 如果否, 检测该播放时刻之后的第一个关键帧,将该第 一个关键帧对应的的播放时刻作 为第二切片点,将第一切片点与第二切片点之 间的多媒体文件切割为当前切片 文件, 以保证当前切片文件的起始帧为关键帧。 其中, 关键帧为一帧画面的原 图, 保存有该画面的实体, 播放器从关键帧起始才能正常播放多媒体文件 。

其中,每一个切片文件对应的 T相同或不同,且根据当前 T时长切割的当 前切片文件的转码时间小于 ^据前一 T时长切割的前一切片文件在 GPU中的 剩余播放时间。 优选地, 还可以根据播放情况调整 T时长的大小。 比如, 刚开 始对切片文件进行转码时, 设置 T较短, 以保证在起始播放或者拖动播放时转 码时间较短。 随着播放的持续进行, T可以适当延长。 比如, 如果在转码当前 切片文件的同时播放前一切片文件, 则当前切片文件的转码时间必须小于前一 切片文件在 GPU 中的剩余播放时间, 否则多媒体文件的播放会断续。 通常设 置 T小于 3秒,即使用户拖动播放进度也能快速播放用 指定播放时刻之后的 多媒体文件, 不影响用户的体验。

具体地, 确定多媒体文件的第一切片点, 可以包括: 确定多媒体文件的起 始播放时刻为当前切片文件的第一切片点; 或者, 确定前一切片文件的第二切 片点为当前切片文件的第一切片点; 或者, 获取用户指定的播放时刻, 检测大 于或等于指定的播放时刻的第一个关键帧,确 定第一个关键帧对应的播放时刻 为当前切片文件的第一切片点。

如果当前切片文件为多媒体文件的第一个切片 文件,将该多媒体文件的起 始播放时刻作为当前切片文件的第一切片点; 或者, 如果当前切片文件不是多 媒体文件的第一个切片文件且顺序播放切片文 件,将前一切片文件的第二切片 点作为当前切片文件的第一切片点; 或者, 如果用户拖动多媒体文件的播放进 度, 丟弃当前正在转码的当前切片文件和正在播放 的前一切片文件, 判断用户 指定的播放点是否为关键帧对应的播放时刻, 如果是, 将该播放时刻作为当前 切片文件的第一切片点; 如果否, 将该播放时刻之后的第一个关键帧对应的播 放时刻作为当前切片文件的第一切片点。 需要补充说明的是, 若视频编码格式不被 GPU识别, 则通过识别视频编 码格式的应用程序播放视频文件。

步骤 206: 将当前切片文件中不被 GPU识别的格式转码为 GPU识别的格 式。

具体地, 当多媒体文件的音频编码格式不被 GPU识别时, 将该多媒体文 件的音频编码格式转码为 GPU识别的音频编码格式; 当多媒体文件的文件格 式不被 GPU识别时,将该多媒体文件的文件格式转码为 GPU识别的文件格式; 多媒体文件的音频编码格式和文件格式均不被 GPU识别时, 将该多媒体文件 的音频编码格式和文件格式对应转码为 GPU识别的音频编码格式和文件格式。

当多媒体文件为视频文件时, 终端可以将该文件格式转码为 GPU指定的 文件格式, 比如, GPU指定的视频编码格式可以包括 H.264、 文件格式可以包 括 MP4, 则可以将视频编码格式为 H.264的视频文件由 Mkv格式转码为 MP4 格式。 当多媒体文件为音频格式时, 终端可以将该音频文件中不被 GPU识别 的格式转码为 GPU可以识别的格式。 比如, GPU指定的音频编码格式可以包 括 AAC、文件格式可以包括 MP4, 则可以将音频编码格式为 AAC的音频文件 由 Mkv格式转码为 MP4格式; 或者, 可以将文件格式为 MP4的音频文件由 AC3格式转码为 AAC格式; 或者, 将音频文件由 Mkv格式转码为 MP4格式 且将 AC3格式转码为 AAC格式等。

步骤 208: 将转码后的当前切片文件发送给 GPU, 使 GPU播放当前切片 文件。

GPU接收到当前切片之后, 对其进行媒体分离、媒体解码和媒体渲染, 此 为现有技术, 此处不赘述。

优选地, 将转码后的当前切片文件发送给 GPU之后, 还可以包括: 如果当前切片文件的第二切片点不是多媒体文 件的最后播放时刻, 则基于 第二切片点切割下一切片文件, 并对下一切片文件进行转码。

当 CPU对下一切片文件进行转码时, 可以通过 GPU播放当前切片文件, 当该当前切片文件播放完成时, 将下一切片文件发送给 GPU进行播放, 并对 下一切片文件之后的多媒体文件进行切片和转 码, 依此类推, 直至完成对多媒 体文件的播放。

进一步地, 还可以以流媒体的方式获取网络上的切片文件 , 对该切片文件 的格式进行识别, 如果该切片文件的音频编码格式和 /或文件格式不被 GPU识 别, 则对该切片文件进行转码, 并将转码后的切片文件发送给 GPU, 使 GPU 播放该切片文件; 如果该切片文件的视频编码格式不被 GPU识别, 则通过识 别该视频编码格式的应用程序播放该切片文件 。

综上所述, 本发明实施例提供的多媒体播放方法, 通过将多媒体文件中不 被图形处理器 GPU识别的格式转码为所述 GPU识别的格式, 所述格式为音频 编码格式和文件格式中的一种或两种; 将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU播放所述多媒体文件, 解决了多媒体文件的格式不被 GPU 识别时, GPU不能播放该多媒体文件的问题, 达到了扩大 GPU可以播放的多 媒体文件的范围的效果。 另外, 如果所述当前切片文件的第二切片点不是所述 多媒体文件的最后播放时刻, 则通过基于所述第二切片点切割下一切片文件 , 并对所述下一切片文件进行转码, 可以在转码下一切片文件的同时播放当前切 片文件, 达到提高播放效率的效果。

请参考图 3, 其示出了本发明一个实施例提供的多媒体播放 装置的结构方 有 GPU和 CPU的终端的全部或者一部分, 该终端可以是智能电视、 智能手机 或者平板电脑等等。 该多媒体播放装置, 包括: 转码模块 320和发送模块 340。

转码模块 320, 用于将多媒体文件中不被 GPU识别的格式转码为 GPU识 别的格式, 所述格式为编码格式和文件格式中的一种或两 种。

发送模块 340, 用于将转码后的多媒体文件发送给 GPU, 使 GPU播放该 多媒体文件。

综上所述, 本发明实施例提供的多媒体播放装置, 通过将多媒体文件中不 被图形处理器 GPU识别的格式转码为所述 GPU识别的格式, 所述格式为音频 编码格式和文件格式中的一种或两种; 将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU播放所述多媒体文件, 解决了多媒体文件的格式不被 GPU 识别时, GPU不能播放该多媒体文件的问题, 达到了扩大 GPU可以播放的多 媒体文件的范围的效果。 实施例四

请参考图 4, 其示出了本发明实施例四提供的多媒体播放装 置的结构方框 GPU和 CPU的终端的全部或者一部分, 该终端可以是智能电视、 智能手机或 者平板电脑等等。 该多媒体播放装置, 包括: 转码模块 320和发送模块 340。 转码模块 320, 用于将多媒体文件中不被 GPU识别的格式转码为 GPU识 别的格式, 所述格式为编码格式和文件格式中的一种或两 种。

发送模块 340, 用于将转码模块 320转码后的多媒体文件发送给 GPU, 使

GPU播放该多媒体文件。

在本发明实施例的第一种可能的实现方式下, 转码模块 320可以包括: 切割单元 322, 用于切割多媒体文件, 并将当前切割得到的文件作为当前 切片文件;

转码单元 324,用于将切割单元 322切割的当前切片文件中不被 GPU识别 的格式转码为 GPU识别的格式; 使 GPU播放该当前切片文件。

请参考图 5 , 其示出了本发明实施例提供的切割单元的结构 方框图, 在本 发明实施例的第二种可能的实现方式下, 切割单元 322可以包括:

第一确定子单元 420 , 用于确定多媒体文件的第一切片点;

第二确定子单元 440, 用于基于第一确定子单元 420确定的第一切片点向 后定位 T时长的播放时刻,检测大于或等于播放时刻 第一个关键帧, 将该第 一个关键帧对应的播放时刻作为第二切片点;

切割子单元 460, 用于将第一确定子单元 420确定的第一切片点和第二确 定子单元 440确定的第二切片点之间的多媒体文件切割为 当前切片文件。

在本发明实施例的第三种可能的实现方式下, 第一确定子单元 420, 具体 用于确定多媒体文件的起始播放时刻为当前切 片文件的第一切片点; 或者, 确 定前一切片文件的第二切片点为当前切片文件 的第一切片点; 或者, 获取用户 指定的播放时刻, 检测大于或等于指定的播放时刻的第一个关键 帧, 确定第一 个关键帧对应的播放时刻为当前切片文件的第 一切片点。

在本发明实施例的第四种可能的实现方式下, 转码模块 320, 还用于发送 模块 340将转码后的当前切片文件发送给 GPU之后, 如果当前切片文件的第 二切片点不是多媒体文件的最后播放时刻, 则基于第二切片点切割下一切片文 件, 并对下一切片文件进行转码。

在本发明实施例的第五种可能的实现方式下, 每一个切片文件对应的 T时 长相同或不同,且根据当前 T时长切割的所述当前切片文件的转码时间小 根 据前一 T时长切割的前一切片文件在所述 GPU中的剩余播放时间。 请参考图 4, 在本发明实施例的第六种可能的实现方式下, 该装置还可以 包括:

检测模块 360,用于转码模块 320将多媒体文件中不被 GPU识别的格式转 码为 GPU识别的格式之前, 检测所述多媒体文件中的视频编码格式、 音频编 码格式和文件格式是否被所述 GPU识别;

转码模块 320, 还用于若所述音频编码格式和 /或文件格式不被所述 GPU 识别, 则将多媒体文件中不被所述 GPU识别的格式转码为所述 GPU识别的格 式;

播放模块 380,用于若所述视频编码格式不被所述 GPU识别, 则通过识别 编码格式的应用程序播放视频文件。

综上所述, 本发明实施例提供的多媒体播放装置, 通过将多媒体文件中不 被图形处理器 GPU识别的格式转码为所述 GPU识别的格式, 所述格式为音频 编码格式和文件格式中的一种或两种; 将转码后的所述多媒体文件发送给所述 GPU, 使所述 GPU播放所述多媒体文件, 解决了多媒体文件的格式不被 GPU 识别时, GPU不能播放该多媒体文件的问题, 达到了扩大 GPU可以播放的多 媒体文件的范围的效果。 另外, 如果所述当前切片文件的第二切片点不是所述 多媒体文件的最后播放时刻, 则通过基于所述第二切片点切割下一切片文件 , 并对所述下一切片文件进行转码, 可以在转码下一切片文件的同时播放当前切 片文件, 达到提高播放效率的效果。 需要说明的是: 上述实施例提供的多媒体播放装置在播放多媒 体文件时, 仅以上述各功能模块的划分进行举例说明, 实际应用中, 可以根据需要而将上 述功能分配由不同的功能模块完成, 即将多媒体播放装置的内部结构划分成不 同的功能模块, 以完成以上描述的全部或者部分功能。 另外, 上述实施例提供 的多媒体播放装置与多媒体播放方法实施例属 于同一构思, 其具体实现过程详 见方法实施例, 这里不再赘述。

图 6为本发明一个实施例提供的终端的结构方框 , 该终端用于实施上述 实施例提供的多媒体播放方法, 本发明实施例中的终端可以包括一个或多个如 下组成部分: 用于执行计算机程序指令以完成各种流程和方 法的处理器, 用于 信息和存储程序指令随机接入存储器 (RAM) 和只读存储器 (ROM) , 用于存 储数据和信息的存储器, I/O设备, 界面, 天线等。 具体来讲:

终端 400可以包括 RF ( Radio Frequency, 射频) 电路 410、 存储器 420、 输入单元 430、 显示单元 440、 传感器 450、 音频电路 460、 图形处理器 470、 处理器 480、 电源 482、 摄像头 490等部件。 本领域技术人员可以理解, 图 6 中示出的终端结构并不构成对终端的限定, 可以包括比图示更多或更少的部 件, 或者组合某些部件, 或者不同的部件布置。

下面结合图 6对终端 400的各个构成部件进行具体的介绍:

RF电路 410可用于收发信息或通话过程中, 信号的接收和发送, 特别地, 将基站的下行信息接收后, 给处理器 480处理; 另外, 将设计上行的数据发送 给基站。 通常, RF 电路包括但不限于天线、 至少一个放大器、 收发信机、 耦 合器、 LNA ( Low Noise Amplifier, 低噪声放大器)、 双工器等。 此外, RF电 路 410还可以通过无线通信与网络和其他设备通信 。 所述无线通信可以使用任 一通信标准或协议, 包括但不限于 GSM(Global System of Mobile communication, 全球移动通讯系统)、 GPRS (General Packet Radio Service , 通 用分组无线服务)、 CDMA(Code Division Multiple Access , 码分多址)、 WCDMA(Wideband Code Division Multiple Access, 宽带码分多址)、 LTE(Long Term Evolution,长期演进)、 电子邮件、 SMS (Short Messaging Service, 短消息服 务)等。

存储器 420可用于存储软件程序以及模块, 处理器 480通过运行存储在存 储器 420的软件程序以及模块,从而执行语音传输终 端 400的各种功能应用以 及数据处理。 存储器 420可主要包括存储程序区和存储数据区, 其中, 存储程 序区可存储操作系统、 至少一个功能所需的应用程序(比如声音播放 功能、 图 像播放功能等 )等; 存储数据区可存储根据终端 400的使用所创建的数据 (比 如音频数据、 电话本等)等。 此外,存储器 420可以包括高速随机存取存储器, 还可以包括非易失性存储器, 例如至少一个磁盘存储器件、 闪存器件、 或其他 易失性固态存储器件。

输入单元 430可用于接收输入的数字或字符信息, 以及产生与终端 400的 用户设置以及功能控制有关的键信号输入。 具体地, 输入单元 430可包括触控 面板 431 以及其他输入设备 432。 触控面板 431 , 也称为触摸屏, 可收集用户 在其上或附近的触摸操作(比如用户使用手指 、 触笔等任何适合的物体或附件 在触控面板 431上或在触控面板 431附近的操作), 并根据预先设定的程式驱 动相应的连接装置。 可选的, 触控面板 4331可包括触摸检测装置和触摸控制 器两个部分。 其中, 触摸检测装置检测用户的触摸方位, 并检测触摸操作带来 的信号, 将信号传送给触摸控制器; 触摸控制器从触摸检测装置上接收触摸信 息, 并将它转换成触点坐标, 再送给处理器 480, 并能接收处理器 480发来的 命令并加以执行。 此外, 可以采用电阻式、 电容式、 红外线以及表面声波等多 种类型实现触控面板 431。 除了触控面板 431 , 输入单元 430还可以包括其他 输入设备 432。 具体地, 其他输入设备 432可以包括但不限于物理键盘、 功能 键(比如音量控制按键、 开关按键等)、 轨迹球、 鼠标、 操作杆等中的一种或 多种。

显示单元 440可用于显示由用户输入的信息或提供给用户 的信息以及终端 400 的各种菜单。 显示单元 440 可包括显示面板 441 , 可选的, 可以采用 LCD(Liquid Crystal Display, 液晶显示器)、 OLED(Organic Light-Emitting Diode, 有机发光二极管)等形式来配置显示面板 441。 进一步的, 触控面板 431可覆盖 显示面板 441 , 当触控面板 431检测到在其上或附近的触摸操作后, 传送给处 理器 480以确定触摸事件的类型, 随后处理器 480根据触摸事件的类型在显示 面板 441上提供相应的视觉输出。虽然在图 6中,触控面板 431与显示面板 441 是作为两个独立的部件来实现终端 400的输入和输入功能,但是在某些实施例 中, 可以将触控面板 431与显示面板 441集成而实现语音传输终端 400的输入 和输出功能。

终端 400还可包括至少一种传感器 450 , 比如陀螺仪传感器、 磁感应传感 器、 光传感器、 运动传感器以及其他传感器。 具体地, 光传感器可包括环境光 传感器及接近传感器, 其中, 环境光传感器可 ^据环境光线的明暗来调节显示 面板 441的亮度, 接近传感器可在终端 450移动到耳边时, 关闭显示面板 441 和 /或背光。作为运动传感器的一种, 加速度传感器可检测各个方向上(一般为 三轴)加速度的大小, 静止时可检测出重力的大小及方向, 可用于识别终端姿 态的应用 (比如横竖屏切换、 相关游戏、 磁力计姿态校准)、 振动识别相关功 能(比如计步器、 敲击)等; 至于语音传输终端 400还可配置的气压计、 湿度 计、 温度计、 红外线传感器等其他传感器, 在此不再赘述。

音频电路 460、 扬声器 461 , 传声器 462可提供用户与终端 400之间的音 频接口。 音频电路 460可将接收到的音频数据转换后的电信号, 传输到扬声器 461 , 由扬声器 461转换为声音信号输出; 另一方面, 传声器 462将收集的声 音信号转换为电信号, 由音频电路 460接收后转换为音频数据, 再将音频数据 输出处理器 480处理后, 经 RF电路 410以发送给比如另一终端, 或者将音频 数据输出至存储器 420以便进一步处理。

终端 400还包括图形处理器 GPU470 , 终端 400通过 GPU470可以帮助用 户播放多媒体文件。

处理器 480是终端 400的控制中心, 利用各种接口和线路连接整个终端的 用存储在存储器 420内的数据, 执行终端 400的各种功能和处理数据, 从而对 终端进行整体监控。可选的,处理器 480可包括一个或多个处理单元;优选的, 处理器 480可集成应用处理器和调制解调处理器, 其中, 应用处理器主要处理 操作系统、 用户界面和应用程序等, 调制解调处理器主要处理无线通信。 可以 理解的是, 上述调制解调处理器也可以不集成到处理器 480中。

语音传输终端 400还包括给各个部件供电的电源 482(比如电池),优选的, 电源可以通过电源管理系统与处理器 482逻辑相连,从而通过电源管理系统实 现管理充电、 放电、 以及功耗管理等功能。

摄像头 490—般由镜头、 图像传感器、 接口、 数字信号处理器、 CPU、 显 示屏幕等组成。 其中, 镜头固定在图像传感器的上方, 可以通过手动调节镜头 来改变聚焦; 图像传感器相当于传统相机的"胶卷",是摄像 采集图像的心脏; 接口用于把摄像头利用排线、板对板连接器、 弹簧式连接方式与终端主板连接, 将采集的图像发送给所述存储器 420; 数字信号处理器通过数学运算对采集的 图像进行处理, 将采集的模拟图像转换为数字图像并通过接口 发送给存储器 420。

尽管未示出, 语音传输终端 400还可以包括蓝牙模块等, 在此不再赘述。 语音传输终端 400 除了包括一个或者多个处理器 480, 还包括有存储器 420 , 所述存储器 420存储有一个或多个程序, 所述一个或多个程序被配置成 由所述一个或多个处理器 480执行, 所述一个或多个程序包含用于执行如图 1 或图 2所示出的多媒体播放方法。

上述本发明实施例序号仅仅为了描述, 不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例 的全部或部分步骤可以通 过硬件来完成, 也可以通过程序来指令相关的硬件完成, 所述的程序可以存储 于一种计算机可读存储介质中, 上述提到的存储介质可以是只读存储器, 磁盘 或光盘等。

以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本发明的 精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的 保护范围之内。




 
Previous Patent: MANNANASE

Next Patent: PHYSICAL VAPOR DEPOSITION APPARATUS