CN106716998B - 多操作系统多媒体数据编解码方法、装置以及电子设备 - Google Patents
多操作系统多媒体数据编解码方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN106716998B CN106716998B CN201680002813.1A CN201680002813A CN106716998B CN 106716998 B CN106716998 B CN 106716998B CN 201680002813 A CN201680002813 A CN 201680002813A CN 106716998 B CN106716998 B CN 106716998B
- Authority
- CN
- China
- Prior art keywords
- encoding
- decoding
- operating system
- medium data
- host operating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品,所述方法包括:在客户机操作系统中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;将所述编解码请求发送至主机操作系统;在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。本申请中,客户机操作系统无需占用客户机CPU的资源进行多媒体数据编解码处理,降低了客户机功耗;使客户机操作系统支持更多格式的多媒体数据的编解码处理,加速所述数据处理过程,使播放更流畅。
Description
技术领域
本申请涉及虚拟化技术领域,特别涉及多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品。
背景技术
移动终端已成为用户日常工作生活的重要工具,在移动终端推动移动互联网快速发展的同时,由于移动终端包含了丰富多样化的信息 (例如:企业数据的访问、商务沟通、社交网络、财务管理、游戏等等),移动终端成了网络犯罪的新焦点。为了信息安全、保护隐私,移动虚拟化成为了移动终端未来的发展方向。
图1示出了虚拟化系统架构示意图,处于底层的是系统的硬件层,主要包括处理器、内存和输入输出设备等。在硬件层之上为虚拟化层,运行的是虚拟机监控器(缩写为VMM或Hypervisor)。虚拟机监控器的主要职能是:管理真实的物理硬件平台,并为每个客户虚拟机(即客户机)提供对应的虚拟硬件平台。虚拟化系统架构中可以运行多个操作系统,例如Linux操作系统或者Android操作系统等,其中通常包括一个主机操作系统(Host OS),以及一个或者多个客户机操作系统 (Guest OS),主机操作系统运行于宿主机(Host),在主机操作系统上运行一个或者多个客户机,各客户机作为主机操作系统的应用程序运行,其可以为运行于该客户机上的客户机操作系统模拟硬件设备以供客户机操作系统使用,在各客户机运行的客户机操作系统中可运行各种应用程序。在虚拟化系统架构中,多个操作系统之间可共享硬件层提供的CPU,内存和输入输出设备。
通过虚拟化技术带来的隔离性可实现单一终端上多个操作系统的隔离,避免各操作系统上的进程对其他操作系统产生不利影响,典型的应用场景为通过虚拟化技术在手机等移动设备上实现企业系统和个人系统的分离,防范个人系统上的进程给企业带来的潜在危害,满足一些具有安全要求的企业对“自带设备”(BYOD,Bring Your Own Device)的需求。
随着多媒体应用在生活中运用的深入发展,终端的各个虚拟机都需要有多媒体编解码器,现有技术中Guest OS通常通过CPU来实现软件编解码,此种编解码方式对于GuestOS有以下特点:
1)CPU占用率高、播放不流畅、功耗大:
由于高清视频的分辨率远远高于一般格式视频,使得高清视频的码率非常高,再加上VC-1和H.264编码的压缩率很高,解码运算的运算量很大,同时为Guest OS分配的CPU通常也是有限的,因此常规地直接用CPU解码(即常说的“软解”)会极大地消耗CPU的运算能力,一些较老的CPU软解H.264时CPU占用率往往高达90%以上,更老的CPU可能就根本无法播放了。
2)格式支持受限:
对于普通分辨率的AVI、RMVB等文件,绝大多数的CPU都可以胜任,随着高清视频(1080i/p)的普及,CPU变的越来越难以胜任,所以很多格式的视频文件在只有软件编解码的终端上是无法支持的。
可见现有技术不足在于:
终端的客户机操作系统进行多媒体数据编解码时会占用客户机 CPU的大量资源,功耗大;并且客户机操作系统只能通过CPU实现软件编解码,导致很多格式的视频文件无法支持、播放不流畅。
发明内容
本申请实施例提出了多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品,主要用以降低客户机操作系统进行多媒体数据编解码时占用客户机CPU的资源。
在一个方面,本申请实施例提供了一种多操作系统多媒体数据编解码方法,其特征在于,所述方法包括:在客户机操作系统中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;将所述编解码请求发送至主机操作系统;
在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
在另一个方面,本申请实施例提供了一种多操作系统多媒体数据编解码装置,其特征在于,所述装置包括:
客户机操作系统适配模块,用于在客户机操作系统中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;将所述编解码请求发送至主机操作系统;
主机操作系统适配模块,用于在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
在另一个方面,本申请实施例提供了一种电子设备,其特征在于,所述电子设备包括:存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中各个步骤的指令。
在另一个方面,本申请实施例提供了一种与电子设备结合使用的计算机程序产品,所述计算机程序产品包括内嵌于计算机可读的存储介质中的计算机程序,所述计算机程序包括用于使所述电子设备执行任一上述方法中的各个步骤的指令。
本申请实施例的有益效果如下:
本申请中,在客户机操作系统中,当多媒体应用程序需要对多媒体数据进行编解码处理时,在OpenMAX的适配层将所述多媒体数据编解码请求发送至主机操作系统中,由主机中的OpenMAX集成层加载编解码器完成所述多媒体数据的编解码处理,因为编解码处理通过主机的OpenMAX集成层完成,并且其既能够实现软件编解码也能够实现硬件编解码,所以本申请中,客户机操作系统无需占用客户机CPU 的资源进行多媒体数据编解码处理,降低了客户机功耗;使客户机操作系统支持更多格式的多媒体数据的编解码处理,加速所述数据处理过程,使播放更流畅。
附图说明
下面将参照附图描述本申请的具体实施例,其中:
图1示出了现有技术中虚拟化系统架构示意图;
图2示出了本申请实施例一中多操作系统多媒体数据编解码方法应用的虚拟化系统架构示意图;
图3示出了本申请实施例一中多操作系统多媒体数据编解码方法的流程示意图;
图4示出了本申请实施例二中多操作系统多媒体数据编解码装置的结构示意图;
图5示出了本申请实施例三中电子设备的结构示意图。
具体实施方式
为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
发明人在发明过程中注意到:终端的客户机操作系统进行多媒体数据编解码时会占用客户机CPU的大量资源,功耗大;并且客户机操作系统只能通过CPU实现软件编解码,导致很多格式的视频文件无法支持、播放不流畅。
针对上述不足,本申请提供了一种多操作系统多媒体数据编解码方法,在客户机操作系统中,当多媒体应用程序需要对多媒体数据进行编解码处理时,在OpenMAX的适配层将所述多媒体数据编解码请求发送至主机操作系统中,由主机中的OpenMAX集成层加载编解码器完成所述多媒体数据的编解码处理,因为编解码处理通过主机的 OpenMAX集成层完成,并且其既能够实现软件编解码也能够实现硬件编解码,所以本申请中,客户机操作系统无需占用客户机CPU的资源进行多媒体数据编解码处理,降低了客户机功耗;使客户机操作系统支持更多格式的多媒体数据的编解码处理,加速所述数据处理过程,使播放更流畅。
为了便于本申请的实施,下面以实例进行说明。
实施例一:
图2示出了本申请实施例一中多操作系统多媒体数据编解码方法应用的虚拟化系统架构示意图,本申请实施例一所提供的技术方案适用于采用Android多媒体框架标准的,所述多媒体框架具体可包括 Stagefright+OpenMAX或者Opencore+OpenMAX。以所述虚拟化系统架构中至少包括一个客户机操作系统为例,在该客户机操作系统中运行有多媒体应用程序,例如视频播放器等,当所述多媒体应用程序需要对某些多媒体数据进行编解码处理时,会向多媒体框架下发多媒体数据编解码请求,例如在视频播放器播放高清视频时会向多媒体框架下发视频数据解码请求。
图3示出了本申请实施例一中多操作系统多媒体数据编解码方法流程示意图,如图3所示,所述多操作系统多媒体数据编解码方法包括:
步骤101,在客户机操作系统中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;将所述编解码请求发送至主机操作系统;
步骤102,在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
在步骤101中,客户机操作系统中运行的多媒体应用程序在需要对某些多媒体数据进行编解码处理时,会向多媒体框架下发多媒体数据编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据。在客户机操作系统中,无需运行完整的多媒体框架根据所述编解码请求对所述多媒体数据进行处理,仅需要基于跨系统通信的方式实现与主机操作系统中多媒体框架进行数据交互,将所述编解码请求连同待编解码处理的多媒体数据发送至主机操作系统。所述跨系统通信方式可以为现有的QEMU PIPE、Socket等。
在步骤102中,主机操作系统中运行了完整的OpenMAX集成层 (OpenMAX IL,OpenMAX Integration Layer),在接收到客户机操作系统基于跨系统通信发送的编解码请求后,将所述编解码请求连同待编解码处理的多媒体数据发送至主机操作系统中的OpenMAX集成层,由OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理,可以包括加载各种软件编解码器组件进行软件编解码处理;也可以包括加载各种硬件编解码器组件,驱动对应的硬件编解码器进行硬件编解码处理。
在一些实施方式中,在客户机操作系统Stagefright框架的OMX适配层中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;基于客户机操作系统OMX适配层中的OMXClient前端与主机操作系统 Stagefright框架的OMX适配层中的OMXClient后端之间的跨系统通信将所述编解码请求发送至主机操作系统;
在主机操作系统OMX适配层中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
以虚拟化系统架构采用Android多媒体框架(Stagefright+ OpenMAX)为例,主机操作系统和客户机操作系统中的Stagefright分别运行了OMX适配层,在所述适配层中分别引用了类OMXClient。其中在主机操作系统的OMX适配层中,AwesomePlayer可调用OMXClient::connect函数,通过binder机制获得MediaPlayerService,然后通过MediaPlayerService创建OMX的实例,使主机操作系统中的 OMXClient作为OMX的入口,可以通过binder机制获得OMX提供的服务。
在客户机操作系统中,在客户机操作系统中Stagefright框架的 OMX适配层中创建新的类OMXClient前端,所述OMXClient前端能够向类mediaplayer、类mediacodec,或者其他android系统多媒体框架中的其他类提供标准的类OMXClient接口,当客户机操作系统中所述 OMXClient前端获取到多媒体应用程序进行多媒体数据编解码处理的编解码请求后,将所述编解码请求连同待编解码处理的多媒体数据发送至主机操作系统OMX适配层中的OMXClient后端,所述OMXClient 后端能够将接收到的客户机操作系统中所述OMXClient前端请求连同待编解码处理的多媒体数据通过Binder机制发送给 MediaPlayerService、MediaCodecService或者android系统多媒体框架中的其他Service。所述客户机操作系统OMX适配层中的OMXClient 前端与主机操作系统OMX适配层中的OMXClient后端之间基于QEMU PIPE、Socket等跨系统通信方式和共享内存等数据传输方式完成跨系统交互。将所述OMXClient后端作为主机操作系统OMX适配层OMX的入口,使客户机操作系统中的发送至OMXClient前端的编解码请求能够经由OMX发送至主机操作系统中运行的完整的 OpenMAX集成层,进而完成硬件或者软件的编解码处理。
在一些实施方式中,所述编解码请求还包括对所述多媒体数据进行编解码处理的编解码器的信息,上述步骤102可以为,在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求加载所述编解码器的组件对所述多媒体数据进行编解码处理。
对于Stagefright框架,在预先设置的配置文件中可以存储客户机操作系统支持的所有编解码器,包括各种硬件编解码器和软件编解码器。在客户机操作系统的OMX适配层OMXClient前端获取到多媒体应用程序发送的编解码请求之前,Stagefright框架已经根据所述多媒体数据确定所述多媒体数据适用的编解码器,例如根据多媒体数据的类型、格式或者分辨率等为其选择适当的软件或者硬件编解码器,并将所述编解码器的信息携带在编解码请求中。
在主机操作系统的Stagefright框架OMX适配层OMXClient后端获取到客户机操作系统发送的编解码请求后,根据所述编解码请求将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述OpenMAX集成层根据所述编解码请求加载适当的软件或者硬件编解码器组件对所述多媒体数据进行编解码处理。
在一些实施方式中,在上述步骤102之后,还包括:将处理后的多媒体数据反馈所述客户机操作系统;在客户机操作系统中,将所述处理后的多媒体数据反馈所述多媒体应用程序;
在主机操作系统的软件或者硬件编解码器对所述多媒体数据完成编解码处理之后,主机操作系统可以将进行编解码处理后的数据通过跨系统通信发送至客户机操作系统中,例如基于主机操作系统 Stagefright框架OMX适配层中的OMXClient后端与客户机操作系统 OMX适配层中的OMXClient前端之间的跨系统通信实现。客户机操作系统,即客户机操作系统的多媒体框架,具体可以为OMX适配层中的 OMXClient前端,在接收到编解码处理后的数据后可将其反馈至发起原编解码请求的多媒体应用程序。
在一些实施方式中,在上述步骤102之后,还包括:将处理后的多媒体数据发送至主机操作系统中的多媒体应用程序。
在主机操作系统的软件或者硬件编解码器对所述多媒体数据完成编解码处理之后,主机操作系统可以不在进行跨系统通信,而将进行编解码处理后的数据上送至主机操作系统中的多媒体应用程序进行后续操作,例如直接将原视频文件解码后在主机操作系统中的显示系统显示,避免了数据的跨系统传输,进一步节约了虚拟化系统架构的资源。
本实施例中,提供了一种多操作系统多媒体数据编解码方法,在客户机操作系统中,当多媒体应用程序需要对多媒体数据进行编解码处理时,在OpenMAX的适配层将所述多媒体数据编解码请求发送至主机操作系统中,由主机中的OpenMAX集成层加载编解码器完成所述多媒体数据的编解码处理,因为编解码处理通过主机的OpenMAX 集成层完成,并且其既能够实现软件编解码也能够实现硬件编解码,所以本申请中,客户机操作系统无需占用客户机CPU的资源进行多媒体数据编解码处理,降低了客户机功耗;使客户机操作系统支持更多格式的多媒体数据的编解码处理,加速所述数据处理过程,使播放更流畅。本实施例可基于主机操作系统和客户机操作系统上Stagefright 框架运行的OMX适配层完成多媒体数据编解码请求的相关交互,使客户机操作系统中仅需要引入部分OMX适配层而无需运行OpenMAX集成层,进一步节约了客户机操作系统的资源;可根据主机操作系统中的编解码能力为客户机操作系统中多媒体数据编解码请求匹配更适合的软件或者硬件编解码器;在主机操作系统中完成编解码处理的多媒体数据可通反馈至客户机操作系统中,进而反馈至客户机操作系统中上层多媒体应用程序,也可以发送至主机操作系统中的多媒体应用程序,更灵活。
实施例二:
基于同一发明构思,本申请实施例中还提供了一种多操作系统多媒体数据编解码装置,由于这些装置解决问题的原理与多操作系统多媒体数据编解码方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。如图4所示,所述多操作系统多媒体数据编解码装置200包括:
客户机操作系统适配模块201,用于在客户机操作系统中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;将所述编解码请求发送至主机操作系统;
主机操作系统适配模块202,用于在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
在一些实施方式中,所述客户机操作系统适配模块201具体用于,在客户机操作系统Stagefright框架的OMX适配层中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;基于客户机操作系统OMX适配层中的OMXClient前端与主机操作系统Stagefright框架的OMX适配层中的OMXClient后端之间的跨系统通信将所述编解码请求发送至主机操作系统;
在主机操作系统OMX适配层中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
在一些实施方式中,所述编解码请求还包括对所述多媒体数据进行编解码处理的编解码器的信息;
所述主机操作系统适配模块202具体用于,在所述在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求加载所述编解码器的组件对所述多媒体数据进行编解码处理。
在一些实施方式中,所述主机操作系统适配模块202还用于,在所述在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理之后,将处理后的多媒体数据反馈所述客户机操作系统;
所述客户机操作系统适配模块201还用于,在客户机操作系统中,将所述处理后的多媒体数据反馈所述多媒体应用程序;
或者,
所述主机操作系统适配模块202还用于,在所述在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理之后,将处理后的多媒体数据发送至主机操作系统中的多媒体应用程序。
实施例三:
基于同一发明构思,本申请实施例中还提供了一种电子设备,由于其原理与多操作系统多媒体数据编解码方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。如图5所示,所述电子设备300 包括:存储器301,一个或多个处理器302;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中各个步骤的指令。
本实施例中,所述电子设备可以为手机、平板电脑、机器人或者其他智能设备。
实施例四:
基于同一发明构思,本申请实施例还提供了一种与电子设备结合使用的计算机程序产品,所述计算机程序产品包括内嵌于计算机可读的存储介质中的计算机程序,所述计算机程序包括用于使所述电子设备执行任一上述方法中的各个步骤的指令。
为了描述的方便,以上所述装置的各部分以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和 /或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
Claims (8)
1.一种多操作系统多媒体数据编解码方法,其特征在于,所述方法包括:
在客户机操作系统Stagefright框架的OMX适配层中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;基于客户机操作系统OMX适配层中的OMXClient前端与主机操作系统Stagefright框架的OMX适配层中的OMXClient后端之间的跨系统通信将所述编解码请求发送至主机操作系统;
在主机操作系统OMX适配层中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
2.如权利要求1所述的方法,其特征在于,所述编解码请求还包括对所述多媒体数据进行编解码处理的编解码器的信息;
所述将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理,包括:
将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求加载所述编解码器的组件对所述多媒体数据进行编解码处理。
3.如权利要求1所述的方法,其特征在于,在所述在主机操作系统OMX适配层中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理之后,还包括:
将处理后的多媒体数据反馈所述客户机操作系统;
在客户机操作系统中,将所述处理后的多媒体数据反馈至所述多媒体应用程序;
或者,
将处理后的多媒体数据发送至主机操作系统中的多媒体应用程序。
4.一种多操作系统多媒体数据编解码装置,其特征在于,所述装置包括:
客户机操作系统适配模块,用于在客户机操作系统Stagefright框架的OMX适配层中,获取多媒体应用程序进行多媒体数据编解码处理的编解码请求,所述编解码请求包括需要进行编解码处理的多媒体数据;基于客户机操作系统OMX适配层中的OMXClient前端与主机操作系统Stagefright框架的OMX适配层中的OMXClient后端之间的跨系统通信将所述编解码请求发送至主机操作系统;
主机操作系统适配模块,用于在主机操作系统OMX适配层中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理。
5.如权利要求4所述的装置,其特征在于,所述编解码请求还包括对所述多媒体数据进行编解码处理的编解码器的信息;
所述主机操作系统适配模块具体用于,在所述在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求加载所述编解码器的组件对所述多媒体数据进行编解码处理。
6.如权利要求4所述的装置,其特征在于,
所述主机操作系统适配模块还用于,在所述在主机操作系统OMX适配层中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理之后,将处理后的多媒体数据反馈所述客户机操作系统;
所述客户机操作系统适配模块还用于,在客户机操作系统中,将所述处理后的多媒体数据反馈至所述多媒体应用程序;
或者,
所述主机操作系统适配模块还用于,在所述在主机操作系统中,接收所述编解码请求;将所述编解码请求发送至主机操作系统中的OpenMAX集成层,以使所述主机操作系统中的OpenMAX集成层根据所述编解码请求对所述多媒体数据进行编解码处理之后,将处理后的多媒体数据发送至主机操作系统中的多媒体应用程序。
7.一种电子设备,其特征在于,所述电子设备包括:
存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行权利要求1至3中任一所述方法中各个步骤的指令。
8.一种与电子设备结合使用的计算机可读存储介质,所述计算机可读存储介质存储有用于使所述电子设备执行权利要求1至3中任一所述方法中的各个步骤的计算机指令。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/112217 WO2018119616A1 (zh) | 2016-12-26 | 2016-12-26 | 多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106716998A CN106716998A (zh) | 2017-05-24 |
CN106716998B true CN106716998B (zh) | 2019-09-17 |
Family
ID=58906836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680002813.1A Active CN106716998B (zh) | 2016-12-26 | 2016-12-26 | 多操作系统多媒体数据编解码方法、装置以及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106716998B (zh) |
WO (1) | WO2018119616A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119711A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 多操作系统多媒体编解码方法、装置及电子设备 |
CN107809671A (zh) * | 2017-11-20 | 2018-03-16 | 深圳市青葡萄科技有限公司 | 一种虚拟化环境下视频重定向到服务器解码的方法和系统 |
CN110096624B (zh) * | 2019-04-26 | 2023-03-21 | 深圳前海微众银行股份有限公司 | 一种编解码方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102957700A (zh) * | 2012-11-02 | 2013-03-06 | 杭州华银教育多媒体科技股份有限公司 | 一种实现一机多用的装置及其使用方法 |
CN102981887A (zh) * | 2011-09-06 | 2013-03-20 | 联想(北京)有限公司 | 数据处理方法及电子设备 |
CN104023266A (zh) * | 2014-05-27 | 2014-09-03 | 烽火通信科技股份有限公司 | 一种android系统的通信编解码组件的使用方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014141B (zh) * | 2010-12-30 | 2013-02-06 | 电子科技大学 | 一种网络终端设备安全的实现方法 |
CN104023260B (zh) * | 2013-02-28 | 2018-04-27 | 腾讯科技(深圳)有限公司 | 硬件解码实现方法、装置及播放器 |
CN105577781A (zh) * | 2015-12-21 | 2016-05-11 | 福建时迅信息科技有限公司 | 虚拟化桌面中音频重定向的方法及系统 |
-
2016
- 2016-12-26 WO PCT/CN2016/112217 patent/WO2018119616A1/zh active Application Filing
- 2016-12-26 CN CN201680002813.1A patent/CN106716998B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981887A (zh) * | 2011-09-06 | 2013-03-20 | 联想(北京)有限公司 | 数据处理方法及电子设备 |
CN102957700A (zh) * | 2012-11-02 | 2013-03-06 | 杭州华银教育多媒体科技股份有限公司 | 一种实现一机多用的装置及其使用方法 |
CN104023266A (zh) * | 2014-05-27 | 2014-09-03 | 烽火通信科技股份有限公司 | 一种android系统的通信编解码组件的使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106716998A (zh) | 2017-05-24 |
WO2018119616A1 (zh) | 2018-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106797388B (zh) | 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 | |
CN113115241B (zh) | 一种基于工业大脑的工业互联网系统 | |
US10306023B2 (en) | Pre-formed instructions for a mobile cloud service | |
CN106797470A (zh) | 多操作系统多媒体数据编解码方法、装置、电子设备和计算机程序产品 | |
CN106716998B (zh) | 多操作系统多媒体数据编解码方法、装置以及电子设备 | |
CN109960551A (zh) | 云桌面服务方法、平台和计算机可读存储介质 | |
US20220236875A1 (en) | Techniques for persisting data across instances of a cloud shell | |
US10620928B2 (en) | Global cloud applications management | |
CN110716748A (zh) | 业务处理方法、装置、计算机可读介质及电子设备 | |
WO2018119711A1 (zh) | 多操作系统多媒体编解码方法、装置及电子设备 | |
CN105814579A (zh) | 沙盒应用数据重定向至数据中心 | |
CN104216865A (zh) | 映射和化简运算加速系统及方法 | |
US8938712B2 (en) | Cross-platform virtual machine and method | |
CN106776067A (zh) | 多容器系统中系统资源的管理方法及管理装置 | |
CN106797398A (zh) | 用于向客户端提供虚拟桌面服务的方法和系统 | |
US20240086228A1 (en) | Resource Configuration Method and Apparatus, Electronic Device, and Computer-Readable Storage Medium | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
CN114564435A (zh) | 异构多核芯片的核间通信方法、装置及介质 | |
CN105677481B (zh) | 一种数据处理方法、系统及电子设备 | |
CN109657167A (zh) | 数据采集方法、装置、服务器及存储介质 | |
CN114780211B (zh) | 管理安全容器的方法及基于安全容器的系统 | |
CN112445602A (zh) | 资源调度方法、装置、系统及电子设备 | |
CN105262801A (zh) | 一种云平台消息分发的方法及系统 | |
CN105184177A (zh) | 一种进程隐藏方法及装置 | |
CN109522111A (zh) | 异构生态系统的调用方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |