基于嵌入式平台的多媒体数据播放方法、装置及存储介质
技术领域
本发明涉及多媒体技术领域,特别涉及一种基于嵌入式平台的多媒体数据播放方法、装置及存储介质。
背景技术
嵌入式平台是指一种完全嵌入受控器件内部,以应用为中心,以计算机技术为基础,软硬件可裁剪、适应应用***对功能、可靠性、成本、体积、功耗严格要求的专用计算机***平台。目前,随着嵌入式平台的推广,越来越多的设备采用嵌入式平台来实现各种业务需求,所以基于嵌入式平台的多媒体数据的播放应运而生。比如基于嵌入式平台的智能电视可以进行多媒体数据的播放。
相关技术中,当基于嵌入式平台播放多媒体数据时,需要通过解析器、音视频分离器、编码器、渲染器等硬件资源对多媒体数据进行处理,以实现多媒体数据的播放。具体地,首先通过解析器解析多媒体数据的传输协议,然后通过音视频分离器,对传输协议解析后的多媒体数据的封装格式进行解析,以得到音频和视频的原始数据包,即将音频和视频进行分离。之后,通过解码器对音频和视频的原始数据包分别进行解码,得到音频数据和视频数据,并通过渲染器将解码后得到的音频数据和视频数据进行渲染并输出,以呈献给用户。
由于多媒体数据的分辨率越来越高,可以达到1080p以上甚至大多数可以达到4K,并且由于嵌入式平台的性能局限,通常需要通过硬件资源对高分辨率的多媒体数据进行解析,尤其需要硬件解码器对高分辨率的多媒体数据进行解码,而硬件解码器在同一时刻只能解码一个多媒体数据,这样,就会导致同一时刻只能够播放一个多媒体数据,无法满足用户同一时刻播放多个多媒体数据的需求。
发明内容
为了解决相关技术中同一时刻只能播放一个视频和音频的问题,本发明实施例提供了一种基于嵌入式平台的多媒体数据播放方法、装置及存储介质。所述技术方案如下:
第一方面,提供了一种基于嵌入式平台的多媒体数据播放方法,所述方法包括:
当需要同时播放至少两个多媒体数据时,确定通过硬件资源对所述至少两个多媒体数据分别进行处理的处理时长;
按照所述至少两个多媒体数据分别对应的处理时长,通过所述硬件资源对所述至少两个多媒体数据进行分时处理,以同时播放所述至少两个多媒体数据。
可选地,所述硬件资源包括硬件解析器、音视频硬件分离器、硬件解码器和硬件渲染器;
所述确定通过硬件资源对所述至少两个多媒体数据分别对应的处理时长,包括:
对于所述硬件解析器,确定所述至少两个多媒体数据分别对应的解析时长均为第一指定时长;
对于所述音视频硬件分离器,确定所述至少两个多媒体数据分别对应的音视频分离时长均为第二指定时长;
对于所述硬件解码器,基于所述至少两个多媒体数据分别对应的编码方式和分辨率,确定所述至少两个多媒体数据分别对应的解码时长;
对于所述硬件渲染器,确定所述至少两个多媒体数据分别对应的渲染时长均为第三指定时长。
可选地,所述通过所述硬件资源对所述至少两个多媒体数据进行分时处理,包括:
当需要对所述至少两个多媒体数据进行解析时,按照所述至少两个多媒体数据分别对应的传输协议和所述第一指定时长,通过所述硬件解析器对所述至少两个多媒体数据进行分时解析;
当需要对所述至少两个多媒体数据进行音视频分离时,按照所述至少两个多媒体数据分别对应的封装格式和所述第二指定时长,通过所述音视频硬件分离器对所述至少两个多媒体数据进行分时音视频分离;
当需要对所述至少两个多媒体数据进行解码时,按照所述至少两个多媒体数据分别对应的编码方式、分辨率和解码时长,通过所述硬件解码器对所述至少两个多媒体数据进行分时解码;
当需要对所述至少两个多媒体数据进行渲染时,按照所述至少两个多媒体数据分别对应的渲染参数和所述第三指定时长,通过所述硬件渲染器对所述至少两个多媒体数据进行分时渲染。
可选地,所述确定通过硬件资源对所述至少两个多媒体数据分别进行处理的处理时长之前,还包括:
当所述至少两个多媒体数据均为高分辨率的视频时,执行确定通过硬件资源对所述至少两个多媒体数据分别进行处理的处理时长的步骤,所述高分辨率的视频是指分辨率大于或等于预设分辨率的视频;
当所述至少两个多媒体数据均为低分辨率的视频或者音频时,通过至少两个软件资源对所述至少两个多媒体数据进行处理,以同时播放所述至少两个多媒体数据,所述低分辨率的视频是指分辨率小于所述预设分辨率的视频。
可选地,所述方法还包括:
当所述至少两个多媒体数据中包括高分辨率的视频,以及低分辨率的视频或者音频时,确定所述至少两个多媒体数据中的高分辨率的视频的数量;
当所述数量小于预设数量时,按照对所述至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过所述硬件资源对所述至少两个多媒体数据进行处理;
当所述数量大于或等于所述预设数量时,按照对所述至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过所述硬件资源对所述高分辨率的视频进行处理,并通过软件资源对所述低分辨率的视频或者音频进行处理。
第二方面,提供了一种基于嵌入式平台的多媒体数据播放装置,所述装置包括:
第一确定模块,用于当需要同时播放至少两个多媒体数据时,确定通过硬件资源对所述至少两个多媒体数据分别进行处理的处理时长;
第一处理模块,用于按照所述至少两个多媒体数据分别对应的处理时长,通过所述硬件资源对所述至少两个多媒体数据进行分时处理,以同时播放所述至少两个多媒体数据。
可选地,所述硬件资源包括硬件解析器、音视频硬件分离器、硬件解码器和硬件渲染器;
所述第一确定模块包括:
第一确定子模块,用于对于所述硬件解析器,确定所述至少两个多媒体数据分别对应的解析时长均为第一指定时长;
第二确定子模块,用于对于所述音视频硬件分离器,确定所述至少两个多媒体数据分别对应的音视频分离时长均为第二指定时长;
第三确定子模块,用于对于所述硬件解码器,基于所述至少两个多媒体数据分别对应的编码方式和分辨率,确定所述至少两个多媒体数据分别对应的解码时长;
第四确定子模块,用于对于所述硬件渲染器,确定所述至少两个多媒体数据分别对应的渲染时长均为第三指定时长。
可选地,所述第一处理模块包括:
解析子模块,用于当需要对所述至少两个多媒体数据进行解析时,按照所述至少两个多媒体数据分别对应的传输协议和所述第一指定时长,通过所述硬件解析器对所述至少两个多媒体数据进行分时解析;
音视频分离子模块,用于当需要对所述至少两个多媒体数据进行音视频分离时,按照所述至少两个多媒体数据分别对应的封装格式和所述第二指定时长,通过所述音视频硬件分离器对所述至少两个多媒体数据进行分时音视频分离;
解码子模块,用于当需要对所述至少两个多媒体数据进行解码时,按照所述至少两个多媒体数据分别对应的编码方式、分辨率和解码时长,通过所述硬件解码器对所述至少两个多媒体数据进行分时解码;
渲染子模块,用于当需要对所述至少两个多媒体数据进行渲染时,按照所述至少两个多媒体数据分别对应的渲染参数和所述第三指定时长,通过所述硬件渲染器对所述至少两个多媒体数据进行分时渲染。
可选地,所述装置还包括:
触发模块,用于当所述至少两个多媒体数据均为高分辨率的视频时,触发所述第一确定模块确定通过硬件资源对所述至少两个多媒体数据分别进行处理的处理时长,所述高分辨率的视频是指分辨率大于或等于预设分辨率的视频;
第二处理模块,用于当所述至少两个多媒体数据均为低分辨率的视频或者音频时,通过至少两个软件资源对所述至少两个多媒体数据进行处理,以同时播放所述至少两个多媒体数据,所述低分辨率的视频是指分辨率小于所述预设分辨率的视频。
可选地,所述装置还包括:
第二确定模块,用于当所述至少两个多媒体数据中包括高分辨率的视频,以及低分辨率的视频或者音频时,确定所述至少两个多媒体数据中的高分辨率的视频的数量;
第三处理模块,用于当所述数量小于预设数量时,按照对所述至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过所述硬件资源对所述至少两个多媒体数据进行处理;
第四处理模块,用于当所述数量大于或等于所述预设数量时,按照对所述至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过所述硬件资源对所述高分辨率的视频进行处理,并通过软件资源对所述低分辨率的视频或者音频进行处理。
第三方面,提供一种基于嵌入式平台的多媒体数据播放装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述第一方面所述的任一项方法的步骤。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
本发明实施例提供的技术方案带来的有益效果是:本实施例提供的方法通过确定分时处理至少两个多媒体数据的处理时长,然后通过硬件资源对至少两个多媒体数据进行分时处理,从而在嵌入式平台中,可以同一时刻播放至少两个多媒体数据,有效利用了硬件资源,也解决了嵌入式平台中同一时刻只能播放一个多媒体数据的问题,满足了用户的需求,为用户提供更优质的服务。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于嵌入式平台的多媒体数据播放结构框图;
图2是本发明实施例提供的一种基于嵌入式平台的多媒体数据播放方法流程图;
图3是本发明实施例提供的一种基于嵌入式平台的多媒体数据播放方法流程图;
图4是本发明实施例提供的一种基于嵌入式平台的多媒体数据播放装置结构示意图;
图5是本发明实施例提供的一种移动嵌入式设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于理解,在对本发明实施例进行详细地解释说明之前,先对本发明实施例涉及的应用场景和***架构进行介绍。
首先,对本发明实施例涉及的应用场景进行介绍。
目前,越来越多的设备使用嵌入式平台,为了便于描述,将采用嵌入式平台的设备称为嵌入式设备。在用户使用嵌入式设备的过程中,往往会出现同时播放至少两个多媒体数据的现象。接下来将分多种情况对这种现象进行举例说明。
第一种,流媒体应用中的画中画,即在通过一个画面播放视频的过程中,通过该画面中的另一个画面播放另一个视频。
第二种,同时打开多个网页且每个网页均播放一个音频或者视频。
第三种,打开一个网页,在通过该网页播放视频的同时操作网页,当在操作网页的过程中移动焦点时播放按键音。
第四种,播放视频的同时操作带有音效的用户界面。
第五种,启动一个应用,通过该应用播放音频,然后再启动另一个应用,并通过另一个应用播放视频。
当然,本发明实施例不仅可以应用于上述几种应用场景中,实际应用中,可能还可以应用于其他的应用场景中,在此本发明实施例对其他应用场景不再一一列举。
最后,对本发明实施例涉及的***架构进行介绍。
图1是本发明实施例提供的一种基于嵌入式平台的多媒体数据播放***架构图。该***架构可以部署于嵌入式设备上,该嵌入式设备可以为智能电视。如图1所示,该***可以包括资源管理模块101、解析层102、音视频分离层103、解码层104、渲染层105和至少两个播放器106。资源管理模块101能够分别与解析层102、音视频分离层103、解码层104和渲染层105进行通信,且解析层102可以与音视频分离层103进行通信,音视频分离层103可以与解码层104进行通信,解码层104可以与渲染层105进行通信,播放器106可以分别与资源管理模块101、解析层102、音视频分离层103、解码层104和渲染层105进行通信。其中,解析层102中可以包括一个硬件解析器,也可以包括多个软件解析器。音视频分离层103中可以包括一个音视频硬件分离器,也可以包括多个音视频软件分离器。解码层104中可以包括一个硬件解码器,也可以包括多个软件解码器。渲染层105中可以包括一个硬件渲染器,也可以包括多个软件渲染器。
当需要同时播放至少两个多媒体数据时,播放器106可以向资源管理模块101发送资源申请请求,资源管理模块101可以基于播放器106当前所申请的资源从对应的资源层中调度对应的资源,比如,播放器106当前需要申请解码器时,资源管理模块101可以从解码层104中调度对应的解码器。然而,由于当前同时播放有至少两个多媒体数据,假设,资源管理模块101为该播放器106调度的是硬件资源,此时,为了通过一个硬件资源同时播放多个音视频,可以先确定该至少两个多媒体数据分别对应的处理时长,进而通过该至少两个多媒体数据分别对应的处理时长,对该至少两个多媒体数据进行分时处理,以实现同时播放至少两个多媒体数据。
在介绍完本发明实施例涉及的应用场景和***架构之后,下面对本发明实施例进行详细的解释说明。图2是本发明实施例提供的一种基于嵌入式平台的多媒体数据播放方法流程图。该方法应用于嵌入式设备中。参见图2,该方法包括如下步骤:
步骤201:当需要同时播放至少两个多媒体数据时,确定通过硬件资源对至少两个多媒体数据分别进行处理的处理时长。
步骤202:按照至少两个多媒体数据分别对应的处理时长,通过所述硬件资源对所述至少两个多媒体数据进行分时处理,以同时播放所述至少两个多媒体数据。
综上所述,本实施例提供的方法通过确定分时处理至少两个多媒体数据的处理时长,然后通过硬件资源对至少两个多媒体数据进行分时处理,从而在嵌入式平台中,可以同一时刻播放至少两个多媒体数据,有效利用了硬件资源,也解决了嵌入式平台中同一时刻只能播放一个多媒体数据的问题,满足了用户的需求,为用户提供更优质的服务。
图3是本发明实施例提供的一种基于嵌入式平台的多媒体数据播放方法流程图。该方法应用于嵌入式设备中,且该嵌入式设备可以部署上述图1所示的***架构。下面将结合图1对上述图2所示的实施例进行详细说明。参见图2,该方法包括如下步骤:
步骤301:当需要同时播放至少两个多媒体数据时,判断该至少两个多媒体数据是否均为高分辨率的视频,该高分辨率的视频是指分辨率大于或等于预设分辨率的视频。
由于嵌入式平台的性能局限,通常在同一时刻只能通过硬件资源播放一个多媒体数据,尤其对于高分辨率的视频,在同一时刻只能通过硬件资源播放一个,因此,当需要同时播放至少两个多媒体数据时,需要判断该至少两个多媒体数据是否均为高分辨率的视频。
在播放视频时,视频数据中通常包含有该视频的分辨率,因此,可以直接将包括的分辨率与预设分辨率进行比较,如果该至少两个多媒体数据为视频,且分辨率均大于或等于该预设分辨率,则可以确定该至少两个多媒体数据均为高分辨率的视频。
需要说明的是,预设分辨率是指预先根据硬件资源的能力以及经验来设定的区分高分辨率视频和低分辨率视频的分辨率。
可选地,当嵌入式设备包括上述图1所示的资源管理模块101、解析层102、音视频分离层103、解码层104、渲染层105和至少两个播放器106时,步骤301的具体实现过程可以为:在该至少两个播放器106均需要播放多媒体数据时,该至少两个播放器可以基于该至少两个多媒体数据中包括的参数来判断该至少两个多媒体数据是否均为高分辨率的视频。当然,该至少两个播放器106也可以将该至少两个多媒体数据中包括的参数发送给资源管理模块101,由资源管理模块101来判断该至少两个多媒体数据是否均为高分辨率的视频。
步骤302:当该至少两个多媒体数据均为高分辨率的视频时,确定通过硬件资源对至少两个多媒体数据分别进行处理的处理时长。
由于软件资源的处理能力有限,而硬件资源的处理能力比软件资源的处理能力强,且处理高分辨率的视频时需要处理能力较强的资源来处理,因此,当该至少两个多媒体数据均为高分辨率的视频时,可以确定需要通过硬件资源对该至少两个多媒体数据进行处理。然而,嵌入式设备中通常只存在一套硬件资源,而一套硬件资源同一时刻只能处理一个多媒体数据,因此,可以先确定通过该硬件资源对该至少两个多媒体数据分别进行处理的处理时长,进而按照确定的处理时长,通过后续步骤对该至少两个多媒体数据进行分时处理。
通常播放一个多媒体数据时,需要解析该多媒体数据的传输协议,对解析后的数据的封装格式进行解封装,从而分离音视频数据,然后对分离后的音视频数据进行解码,然后对解码后的数据进行渲染,从而得到视频画面,实现多媒体数据的播放。因此,硬件资源中通常会包括硬件解析器、音视频硬件分离器、硬件解码器和硬件渲染器。此时,确定通过硬件资源对至少两个多媒体数据分别进行处理的处理时长的具体实现过程可以为:对于硬件解析器,确定至少两个多媒体数据分别对应的解析时长均为第一指定时长。对于音视频硬件分离器,确定至少两个多媒体数据分别对应的音视频分离时长均为第二指定时长。对于硬件解码器,基于至少两个多媒体数据分别对应的编码方式和分辨率,确定至少两个多媒体数据分别对应的解码时长。对于硬件渲染器,确定至少两个多媒体数据分别对应的渲染时长均为第三指定时长。
也即是,对于硬件解析器、音视频硬件分离器和硬件渲染器,均设置固定的解析时长、音视频分离时长和渲染时长,但对于硬件解码器,可以针对该至少两个多媒体数据的分别对应的编码方式和分辨率,动态地确定至少两个多媒体数据分别对应的解码时长。当然,实际应用中,对于硬件解析器、音视频硬件分离器和硬件渲染器,也可以基于多媒体数据的传输协议、封装格式和渲染参数,动态地设置对应的解析时长、音视频分离时长和渲染时长,而对于硬件解码器,可以设置固定的解码时长。
对于硬件解析器、音视频硬件分离器和硬件渲染器,当动态地设置对应的解析时长、音视频分离时长和渲染时长时,可以基于该至少两个多媒体数据的传输协议,从存储的传输协议与解析时长之间的对应关系中,获取对应的解析时长。同理,可以基于该至少两个多媒体数据的封装格式,从存储的封装格式与音视频分离时长之间的对应关系中,获取对应的音视频分离时长。同理,可以基于该至少两个多媒体数据的渲染参数,从存储的渲染参数与渲染时长之间的对应关系中,获取对应的渲染时长。
对于硬件解码器,当动态地设置对应的解码时长时,也即是,当基于该至少两个多媒体数据分别对应的编码方式和分辨率,确定至少两个多媒体数据分别对应的解码时长时,可以基于该至少两个多媒体数据分别对应的编码方式和分辨率,从存储的编码格式、分辨率与解码时长之间的对应关系中,获取对应的解码时长。
需要说明的是,对于不同的多媒体数据,在通过硬件资源进行处理时所需的处理时长可能不同,因此,当为该至少两个多媒体数据设置固定的解析时长、音视频分离时长、解码时长和渲染时长时,可能无法保证该至少两个多媒体数据都能进行流畅的播放,而当通过动态的方式设置解析时长、音视频分离时长、解码时长和渲染时长时,可以按照每个多媒体数据所需的处理时长分别进行设置,这样可以保证该至少两个多媒体数据均能进行流畅的播放。
可选地,当嵌入式设备包括上述图1所示的资源管理模块101、解析层102、音视频分离层103、解码层104、渲染层105和至少两个播放器106时,步骤302的具体实现过程可以为:在该至少两个播放器106均需要播放多媒体数据时,资源管理模块101可以设置该至少两个多媒体数据时所需的解析时长、音视频分离时长和渲染时长分别为第一指定时长、第二指定时长和第三指定时长,以及基于至少两个多媒体数据分别对应的编码方式和分辨率,确定该至少两个多媒体数据分别对应的解码时长。当然,该至少两个播放器106也可以通过该至少两个多媒体数据中包括的多媒体协议、封装格式和渲染参数动态设置解析时长、音视频分离时长和渲染时长,而对于硬件解码器,可以通过该至少两个播放器106设置固定的解码时长。
在资源管理模块101确定该至少两个多媒体数据对应的解析时长、音视频分离时长、解码时长和渲染时长之后,可以将解析时长发送给解析层102,将音视频分离时长发送给音视频分离层103,将解码时长发送给解码层104,以及将渲染时长发送给渲染层105。
步骤303:按照至少两个多媒体数据分别对应的处理时长,通过硬件资源对至少两个多媒体数据进行分时处理,以同时播放所述至少两个多媒体数据。
具体地,当需要对至少两个多媒体数据进行解析时,按照至少两个多媒体数据分别对应的传输协议和第一指定时长,通过硬件解析器对至少两个多媒体数据进行分时解析。当需要对至少两个多媒体数据进行音视频分离时,按照至少两个多媒体数据分别对应的封装格式和第二指定时长,通过音视频硬件分离器对至少两个多媒体数据进行分时音视频分离。当需要对至少两个多媒体数据进行解码时,按照至少两个多媒体数据分别对应的编码方式、分辨率和解码时长,通过硬件解码器对至少两个多媒体数据进行分时解码。当需要对至少两个多媒体数据进行渲染时,按照至少两个多媒体数据分别对应的渲染参数和第三指定时长,通过硬件渲染器对至少两个多媒体数据进行分时渲染。
按照上述步骤301的描述可知,对于高分辨率的视频,通常需要硬件资源进行处理。然而,同时播放的该至少两个多媒体数据不一定均为高分辨率的视频,也即是,该至少两个多媒体数据也有可能均为低分辨率的视频或者音频,或者一部分为高分辨率的视频,另一部分为低分辨率的视频或者音频。在这种情况下,为了能够在同一时刻播放更多的多媒体数据,可以结合硬件资源和软件资源进行多媒体数据的处理。具体地,当该至少两个多媒体数据均为低分辨率的视频或者音频时,可以通过至少两个软件资源对至少两个多媒体数据进行处理,以同时播放至少两个多媒体数据,其中,低分辨率的视频是指分辨率小于预设分辨率的视频。当至少两个多媒体数据中包括高分辨率的视频,以及低分辨率的视频或者音频时,可以确定至少两个多媒体数据中的高分辨率的视频的数量。当确定的数量小于预设数量时,按照对该至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过硬件资源对至少两个多媒体数据进行处理。当确定的数量大于或等于预设数量时,按照对该至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过硬件资源对高分辨率的视频进行处理,并通过软件资源对低分辨率的视频或者音频进行处理。
由于嵌入式设备中可以安装一套硬件资源和多套软件资源,且软件资源的处理能力较弱,只能处理低分辨率的视频和音频,所以通常使用一个软件资源处理低分辨率的视频或音频。当确定的数量大于或等于预设数量时,通过硬件资源对高分辨率的视频进行处理,并通过软件资源对低分辨率的视频或者音频进行处理。这样可以有效地利用嵌入式设备中的硬件资源和软件资源,在同一时刻流畅的播放更多的多媒体数据。
其中,预设数量是根据硬件资源的处理能力和预设分辨率来确定。即对于某一高分辨率的视频,硬件资源在不影响播放流畅性的前提下最多可以同时分时处理几个这一高分辨率的视频。
可选地,当嵌入式设备包括上述图1所示的资源管理模块101、解析层102、音视频分离层103、解码层104、渲染层105和至少两个播放器106时,步骤303的具体实现过程可以为:在该至少两个播放器106均需要播放多媒体数据时,该至少两个播放器可以基于播放至少两个多媒体数据中高分辨率视频的数量来确定使用硬件资源或是软件资源对该至少两个多媒体数据进行处理。当确定通过硬件资源来处理该至少两个多媒体数据时,需要向资源管理模块申请相应的硬件资源进行处理,进而按照步骤302中确定的解析时长、音视频分离时长、解码时长和渲染时长分别进行分时处理;当确定通过软件资源对多媒体数据进行处理后,需要向资源管理模块申请相应的软件资源来进行处理。
综上所述,本实施例提供的方法通过确定分时处理至少两个多媒体数据的处理时长,然后通过硬件资源对至少两个多媒体数据进行分时处理,这样可以有效地利用嵌入式设备中的硬件资源和软件资源,在同一时刻流畅的播放更多的多媒体数据,也解决了嵌入式平台中同一时刻只能播放一个多媒体数据的问题,满足了用户的需求,为用户提供更优质的服务。
图4是本发明实施例提供了一种基于嵌入式平台的多媒体数据播放装置,该装置部署于嵌入式设备中,参见图4,该装置包括:
第一确定模块401,用于当需要同时播放至少两个多媒体数据时,确定通过硬件资源对至少两个多媒体数据分别进行处理的处理时长;
第一处理模块402,用于按照至少两个多媒体数据分别对应的处理时长,通过硬件资源对至少两个多媒体数据进行分时处理,以同时播放至少两个多媒体数据。
可选地,硬件资源包括硬件解析器、音视频硬件分离器、硬件解码器和硬件渲染器;
第一确定模块401包括:
第一确定子模块,用于对于硬件解析器,确定至少两个多媒体数据分别对应的解析时长均为第一指定时长;
第二确定子模块,用于对于音视频硬件分离器,确定至少两个多媒体数据分别对应的音视频分离时长均为第二指定时长;
第三确定子模块,用于对于硬件解码器,基于至少两个多媒体数据分别对应的编码方式和分辨率,确定至少两个多媒体数据分别对应的解码时长;
第四确定子模块,用于对于硬件渲染器,确定至少两个多媒体数据分别对应的渲染时长均为第三指定时长。
可选地,第一处理模块402包括:
解析子模块,用于当需要对至少两个多媒体数据进行解析时,按照至少两个多媒体数据分别对应的传输协议和第一指定时长,通过硬件解析器对至少两个多媒体数据进行分时解析;
音视频分离子模块,用于当需要对至少两个多媒体数据进行音视频分离时,按照至少两个多媒体数据分别对应的封装格式和第二指定时长,通过音视频硬件分离器对至少两个多媒体数据进行分时音视频分离;
解码子模块,用于当需要对至少两个多媒体数据进行解码时,按照至少两个多媒体数据分别对应的编码方式、分辨率和解码时长,通过硬件解码器对至少两个多媒体数据进行分时解码;
渲染子模块,用于当需要对至少两个多媒体数据进行渲染时,按照至少两个多媒体数据分别对应的渲染参数和第三指定时长,通过硬件渲染器对至少两个多媒体数据进行分时渲染。
可选地,该装置还包括:
触发模块,用于当至少两个多媒体数据均为高分辨率的视频时,触发第一确定模块401确定通过硬件资源对至少两个多媒体数据分别进行处理的处理时长,高分辨率的视频是指分辨率大于或等于预设分辨率的视频;
第二处理模块,用于当至少两个多媒体数据均为低分辨率的视频或者音频时,通过至少两个软件资源对至少两个多媒体数据进行处理,以同时播放至少两个多媒体数据,低分辨率的视频是指分辨率小于预设分辨率的视频。
可选地,该装置还包括:
第二确定模块,用于当至少两个多媒体数据中包括高分辨率的视频,以及低分辨率的视频或者音频时,确定至少两个多媒体数据中的高分辨率的视频的数量;
第三处理模块,用于当数量小于预设数量时,按照对至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过硬件资源对至少两个多媒体数据进行处理;
第四处理模块,用于当数量大于或等于预设数量时,按照对至少两个多媒体数据均为高分辨率的视频进行处理的方式,通过硬件资源对所述高分辨率的视频进行处理,并通过软件资源对低分辨率的视频或者音频进行处理。
综上所述,本实施例提供的装置在播放多媒体数据时,通过确定分时处理至少两个多媒体数据的处理时长,然后通过硬件资源对至少两个多媒体数据进行分时处理,这样可以有效地利用嵌入式设备中的硬件资源和软件资源,在同一时刻流畅的播放更多的多媒体数据,也解决了嵌入式平台中同一时刻只能播放一个多媒体数据的问题,满足了用户的需求,为用户提供更优质的服务。
需要说明的是:上述实施例提供的一种基于嵌入式平台的多媒体数据播放装置在播放多媒体数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种基于嵌入式平台的多媒体数据播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种嵌入式设备结构示意图。该嵌入式设备500可以为移动终端,也可以为智能电视。参见图5,该嵌入式设备包括通信单元510、包括有一个或一个以上计算机可读存储介质的存储器520、输入单元530、显示单元540、传感器550、音频电路560、WIFI(Wireless Fidelity,无线保真)模块570、包括有一个或者一个以上处理核心的处理器580、以及电源590等部件。本领域技术人员可以理解,图5中示出的嵌入式设备结构并不构成对移动嵌入式设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
通信单元510可用于收发信息或通话过程中,信号的接收和发送,该通信单元510可以为RF(Radio Frequency,射频)电路、路由器、调制解调器、等网络通信设备。特别地,当通信单元510为RF电路时,将基站的下行信息接收后,交由一个或者一个以上处理器580处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的RF电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(LowNoiseAmplifier,低噪声放大器)、双工器等。此外,通信单元510还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM、GPRS(General PacketRadio Service,通用分组无线服务)、CDMA(Code DivisionMultipleAccess,码分多址)、WCDMA、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据嵌入式设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器520还可以包括存储器控制器,以提供处理器580和输入单元530对存储器520的访问。
输入单元530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。优选地,输入单元530可包括触敏表面531以及其他输入设备532。触敏表面531,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面531上或在触敏表面531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面531。除了触敏表面531,输入单元530还可以包括其他输入设备532。优选地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及嵌入式设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元540可包括显示面板541,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板541。进一步的,触敏表面531可覆盖显示面板541,当触敏表面531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触敏表面531与显示面板541是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面531与显示面板541集成而实现输入和输出功能。
嵌入式设备500还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在嵌入式设备500移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于嵌入式设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与嵌入式设备500之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经通信单元510以发送给比如另一嵌入式设备,或者将音频数据输出至存储器520以便进一步处理。音频电路560还可能包括耳塞插孔,以提供外设耳机与嵌入式设备500的通信。
为了实现无线通信,该嵌入式设备上可以配置有无线通信单元570,该无线通信单元570可以为WIFI模块。WIFI属于短距离无线传输技术,嵌入式设备500通过无线通信单元570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5中示出了无线通信单元570,但是可以理解的是,其并不属于嵌入式设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是嵌入式设备500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行嵌入式设备500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器580可包括一个或多个处理核心;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
嵌入式设备500还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理***与处理器580逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源560还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,嵌入式设备500还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,嵌入式设备还包括有一个或者一个以上的程序,这一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行本发明实施例提供的上述图2-图3所述的基于嵌入式平台的多媒体数据播放方法的指令。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由嵌入式设备的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由嵌入式设备的处理器执行时,使得嵌入式设备能够执行上述图2和图3所述的基于嵌入式平台的多媒体数据播放方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。