掌桥专利:专业的专利平台
掌桥专利
首页

编解码方法、设备及系统

文献发布时间:2023-06-19 11:21:00


编解码方法、设备及系统

技术领域

本公开涉及图像技术领域,尤其涉及编解码方法、设备及系统。

背景技术

现有计算机画面的编解码原理是:每一帧都参考其前一帧或者前面最近的I帧(Iframe,又称为内部画面)进行编码。

相关技术中,当用户切换应用场景时,编码端设备会将当前帧视为场景切换,即上一帧或者I帧不能作为当前帧的参考帧,需要将当前帧作为新的I帧进行编码。

但用户在使用云手机时,往往会在固定的几个应用程序之间进行切换,当用户不断切换回某一个应用程序时,编码端设备就会不断重新编码I帧,解码端设备也需要不断对I帧进行解码,从而增加了解码端设备的算力,降低了解码端设备的解码效率。

发明内容

本公开实施例提供一种编解码方法、设备及系统,能够解决现有技术中增加了解码端设备的算力,降低了解码端设备的解码效率的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种编解码方法,应用于解码端设备,所述方法包括:

接收编码端设备发送的当前码流数据;

确定所述当前码流数据是否只包含目标应用程序的目标编号;

在确定所述当前码流数据只包含所述目标编号时,获取所述目标应用程序对应的目标帧图像;所述目标帧图像为之前存储的所述目标应用程序的最新一帧图像;

将所述目标帧图像确定为解码图像进行显示。

本公开实施例提供一种编解码方法,解码端设备在接收到编码端设备发送的当前码流数据时,确定当前码流数据是否只包含目标应用程序的目标编号,在确定当前码流数据只包含目标应用程序的目标编号时,获取之前存储的目标应用程序最新的一帧图像,即为获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。可知,本公开在确定当前码流数据只有目标编号时,解码端设备可以直接将之前存储的目标应用程序最新的一帧图像确定为解码图像进行显示,无需执行解码操作,从而节省了解码端设备的算力,提高了解码端设备的解码效率。

在一个实施例中,还包括:

在确定所述当前码流数据包含所述目标编号和所述目标应用程序的当前帧图像的编码数据时,对所述编码数据进行解码并显示。

在一个实施例中,所述获取所述目标应用程序对应的目标帧图像包括:

从预先存储的图像列表中获取所述目标应用程序对应的目标帧图像;所述图像列表中存储有应用程序的标识信息与最新一帧图像的映射关系。

在一个实施例中,还包括:

确定每个应用程序的最新一帧图像;

建立每个应用程序的最新一帧图像与应用程序的标识信息的对应关系,得到所述图像列表。

在一个实施例中,所述确定每个应用程序的最新一帧图像包括:

接收编码端设备发送的参考帧图像编码数据;所述参考帧图像编码数据为在参考帧图像的编码数据中添加标记信息后的数据;所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像;

将所述参考帧图像对应的解码图像确定为切换之前的应用程序的最新一帧图像。

在一个实施例中,所述确定每个应用程序的最新一帧图像包括:

获取上一码流数据对应的应用程序的编号;

将所述上一码流数据对应的应用程序的编号与所述目标编号进行比对;

在确定所述上一码流数据对应的应用程序的编号与所述目标编号未相同时,将上一码流数据对应的解码图像确定为对应应用程序的最新一帧图像。

根据本公开实施例的第二方面,提供一种编解码方法,应用于编码端设备,所述方法包括:

获取当前前台显示的目标应用程序;

在确定所述目标应用程序为低频动态应用时,根据当前帧图像确定应用程序是否发生切换;

在确定应用程序发生切换时,获取所述目标应用程序的目标编号;

向解码端设备发送当前码流数据;所述当前码流数据包括所述目标应用程序的目标编号,使得所述解码端设备获取所述目标应用程序对应的目标帧图像,并将所述目标帧图像确定为解码图像进行显示。

本公开实施例提供一种编解码方法,编码端设备在确定应用程序发生切换时,获取目标应用程序的目标编号,并将目标编号添加至当前码流数据中发送给解码端设备,使得解码端设备在接收到编码端设备发送的当前码流数据时,确定当前码流数据是否只包含目标应用程序的目标编号,在确定当前码流数据只包含目标应用程序的目标编号时,获取之前存储的目标应用程序最新的一帧图像,即为获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。可知,本公开在确定当前码流数据只有目标编号时,解码端设备可以直接将之前存储的目标应用程序最新的一帧图像确定为解码图像进行显示,无需执行解码操作,从而节省了解码端设备的算力,提高了解码端设备的解码效率。

在一个实施例中,还包括:

在确定应用程序未发生切换时,所述当前码流数据还包括所述目标应用程序的当前帧图像的编码数据,使得所述解码端设备对所述编码数据进行解码并显示。

在一个实施例中,所述根据所述当前帧图像确定应用程序是否发生切换包括:

获取上一帧图像;

将所述上一帧图像与所述当前帧图像相比确定应用程序是否发生切换。

在一个实施例中,还包括:

在确定应用程序发生切换时,在参考帧图像的编码数据中添加标记信息,得到参考帧图像编码数据;所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像;

向解码端设备发送所述参考帧图像编码数据,使得所述解码端设备将所述参考帧图像对应的解码图像与切换之前的应用程序的标识信息对应保存在图像列表中。

在一个实施例中,还包括:

检测当前前台和当前后台运行的所有应用程序;

从所述所有应用程序中确定出至少一个低频动态应用程序;

对每个所述低频动态应用程序进行编号,形成编号列表;所述编号列表中存储有每个低频动态应用程序的标识信息与编号的映射关系;

所述获取所述目标应用程序的目标编号包括:

从预先存储的所述编号列表中获取所述目标应用程序的目标编号。

在一个实施例中,所述从所述所有应用程序中确定出至少一个低频动态应用程序包括:

根据预先存储的应用列表确定出所述所有应用程序中的至少一个低频动态应用程序;所述应用列表中存储有每个低频动态应用程序的标识信息。

根据本公开实施例的第三方面,提供一种解码端设备,包括:

第一接收模块,用于接收编码端设备发送的当前码流数据;

第一确定模块,用于确定所述当前码流数据是否只包含目标应用程序的目标编号;

第一获取模块,用于在确定所述当前码流数据只包含所述目标编号时,根据所述目标编号获取所述目标应用程序对应的目标帧图像;所述目标帧图像为之前存储的所述目标应用程序的最新一帧图像;

第一显示模块,用于将所述目标帧图像确定为解码图像进行显示。

在一个实施例中,所述设备还包括第二显示模块;

所述第二显示模块,用于在确定所述当前码流数据包含所述目标编号和所述目标应用程序的当前帧图像的编码数据时,对所述编码数据进行解码并显示。

在一个实施例中,所述第一获取模块包括第一获取子模块;

所述第一获取子模块,用于从预先存储的图像列表中获取所述目标应用程序对应的目标帧图像;所述图像列表中存储有应用程序的标识信息与最新一帧图像的映射关系。

在一个实施例中,所述设备还包括第三确定模块和建立模块;

所述第三确定模块,用于确定每个应用程序的最新一帧图像;

所述建立模块,用于建立每个应用程序的最新一帧图像与应用程序的标识信息的对应关系,得到所述图像列表。

在一个实施例中,所述第三确定模块包括接收子模块和第一确定子模块;

所述接收子模块,用于接收编码端设备发送的参考帧图像编码数据;所述参考帧图像编码数据为在参考帧图像的编码数据中添加标记信息后的数据;所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像;

所述第一确定子模块,用于将所述参考帧图像对应的解码图像确定为切换之前的应用程序的最新一帧图像。

在一个实施例中,所述第三确定模块包括第二获取子模块、对比子模块和第二确定子模块;

所述第二获取子模块,用于获取上一码流数据对应的应用程序的编号;

所述对比子模块,用于将所述上一码流数据对应的应用程序的编号与所述目标编号进行比对;

所述第二确定子模块,用于在确定所述上一码流数据对应的应用程序的编号与所述目标编号未相同时,将上一码流数据对应的解码图像确定为对应应用程序的最新一帧图像。

根据本公开实施例的第四方面,提供一种编码端设备,包括:

第二获取模块,用于获取当前前台显示的目标应用程序;

第二确定模块,用于在确定所述目标应用程序为低频动态应用时,根据当前帧图像确定应用程序是否发生切换;

第三获取模块,用于在确定应用程序发生切换时,获取所述目标应用程序的目标编号;

第一发送模块,用于向解码端设备发送当前码流数据;所述当前码流数据包括所述目标应用程序的目标编号,使得所述解码端设备获取所述目标应用程序对应的目标帧图像,并将所述目标帧图像确定为解码图像进行显示。

在一个实施例中,在确定应用程序未发生切换时,所述当前码流数据还包括所述目标应用程序的当前帧图像的编码数据,使得所述解码端设备对所述编码数据进行解码并显示。

在一个实施例中,所述第二确定模块包括第三获取子模块和第三确定子模块;

所述第三获取子模块,用于获取上一帧图像;

所述第三确定子模块,用于将所述上一帧图像与所述当前帧图像相比确定应用程序是否发生切换。

在一个实施例中,所述设备还包括添加模块和第二发送模块;

所述添加模块,用于在确定应用程序发生切换时,在参考帧图像的编码数据中添加标记信息,得到参考帧图像编码数据;所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像;

所述第二发送模块,用于向解码端设备发送所述参考帧图像编码数据,使得所述解码端设备将所述参考帧图像对应的解码图像与切换之前的应用程序的标识信息对应保存在图像列表中。

在一个实施例中,所述设备还包括检测模块、第三确定模块和编号模块,所述第三获取模块包括第四获取子模块;

所述检测模块,用于检测当前前台和当前后台运行的所有应用程序;

所述第三确定模块,用于从所述所有应用程序中确定出至少一个低频动态应用程序;

所述编号模块,用于对每个所述低频动态应用程序进行编号,形成编号列表;所述编号列表中存储有每个低频动态应用程序的标识信息与编号的映射关系;

所述第四获取子模块,用于从预先存储的所述编号列表中获取所述目标应用程序的目标编号。

在一个实施例中,所述第三确定模块包括第四确定子模块;

所述第四确定子模块,用于根据预先存储的应用列表确定出所述所有应用程序中的至少一个低频动态应用程序;所述应用列表中存储有每个低频动态应用程序的标识信息。

根据本公开实施例的第五方面,提供一种编解码系统,包括上述任一实施例所述的解码端设备和上述任一实施例所述的编码端设备。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种编解码方法的流程图;

图2是本公开实施例提供的一种编解码方法的流程图;

图3是本公开实施例提供的一种编解码方法的流程图;

图4是本公开实施例提供的一种编解码方法的流程图;

图5是本公开实施例提供的一种编解码方法的流程图;

图6是本公开实施例提供的一种编解码方法的交互图;

图7a是本公开实施例提供的一种解码端设备的结构示意图;

图7b是本公开实施例提供的一种解码端设备的结构示意图;

图7c是本公开实施例提供的一种解码端设备的结构示意图;

图7d是本公开实施例提供的一种解码端设备的结构示意图;

图7e是本公开实施例提供的一种解码端设备的结构示意图;

图7f是本公开实施例提供的一种解码端设备的结构示意图;

图8a是本公开实施例提供的一种编码端设备的结构示意图;

图8b是本公开实施例提供的一种编码端设备的结构示意图;

图8c是本公开实施例提供的一种编码端设备的结构示意图;

图8d是本公开实施例提供的一种编码端设备的结构示意图;

图8e是本公开实施例提供的一种编码端设备的结构示意图;

图9是本公开实施例提供的一种编解码系统的框架图;

图10是本公开实施例提供的一种编解码系统的框架图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供一种编解码方法,如图1所示,应用于解码端设备,该方法包括以下步骤:

步骤101、接收编码端设备发送的当前码流数据。

步骤102、确定所述当前码流数据是否只包含目标应用程序的目标编号。

示例的,解码端设备在接收到当前码流数据时,对当前码流数据进行解析,确定解析得到的数据是否只有目标应用程序的目标编号。

需要说明的是,根据对当前码流数据解析结果的不同,下述执行的步骤也不同,在确定所述当前码流数据只包含所述目标编号时,则执行步骤103和步骤104;在确定所述当前码流数据包含所述目标编号和所述目标应用程序的当前帧图像的编码数据时,则执行步骤105。

步骤103、在确定所述当前码流数据只包含所述目标编号时,获取所述目标应用程序对应的目标帧图像。

其中,所述目标帧图像为之前存储的所述目标应用程序的最新一帧图像。

可选的,从预先存储的图像列表中获取所述目标应用程序对应的目标帧图像;所述图像列表中存储有应用程序的标识信息与最新一帧图像的映射关系。

示例的,解码端设备在确定解析得到的只有目标应用程序的目标编号时,说明此时应用程序发生了切换,从预先存储的图像列表中直接查找与目标应用程序对应的帧图像,并将该帧图像确定为目标帧图像,该目标帧图像为之前存储的目标应用程序最新的一帧图像,从而获取到目标应用程序对应的目标帧图像。

具体的,图像列表可通过以下方法创建:

确定每个应用程序的最新一帧图像;建立每个应用程序的最新一帧图像与应用程序的标识信息的对应关系,得到所述图像列表。

示例的,确定每个应用程序的最新一帧图像可通过以下两种方法实现:

第一种方法、接收编码端设备发送的参考帧图像编码数据;所述参考帧图像编码数据为在参考帧图像的编码数据中添加标记信息后的数据;将所述参考帧图像对应的解码图像确定为切换之前的应用程序的最新一帧图像。

其中,所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像。

示例的,编码端设备将采集的上一帧图像的内容与当前帧图像的内容进行比较,以此来确定应用程序是否发生切换,在确定应用程序发生切换时,在参考帧图像的编码数据中添加标记信息,得到参考帧图像编码数据,并向解码端设备发送参考帧图像编码数据,解码端设备在接收到参考帧图像编码数据时,对参考帧图像编码数据进行解析,得到添加标记信息的编码数据,进而根据标记信息的指示将参考帧图像对应的解码图像作为切换之前的应用程序的最新一帧图像,并将切换之前的应用程序的最新一帧图像与切换之前的应用程序的标识信息对应保存,形成图像列表。

第二种方法,获取上一码流数据对应的应用程序的编号;将所述上一码流数据对应的应用程序的编号与所述目标编号进行比对;在确定所述上一码流数据对应的应用程序的编号与所述目标编号未相同时,将上一码流数据对应的解码图像确定为对应应用程序的最新一帧图像。

示例的,解码端设备还可以根据接收到的上一码流数据对应的应用程序的编号和目标应用程序的目标编号的比较来判断应用程序是否发生切换,在确定上一码流数据对应的应用程序的编号与目标编号不相同时,则说明应用程序发生了切换,此时将上一码流数据对应的解码图像确定为切换之前的应用程序的最新一帧图像,并将上一码流数据对应的应用程序的最新一帧图像与上一码流数据对应的应用程序的标识信息对应保存,形成图像列表。

步骤104、将所述目标帧图像确定为解码图像进行显示。

示例的,解码端设备在获取到目标帧图像时,将目标帧图像确定为当前帧图像对应的解码图像,无需对当前帧图像的编码数据进行解码,直接显示目标帧图像。在这种编码模式下,如果用户不断在多个应用程序之间来回进行切换,则在发生切换时,针对显示的第一帧图像,解码端设备不需要再进行解码,而是直接将之前存储的该应用程序的最后显示画面(最新一帧图像)直接作为解码图像进行显示,可见,这种方式能够节约解码端设备的算力,提高解码端设备的解码效率。

进一步的,如图2所示,所述方法还包括以下步骤105:

步骤105、在确定所述当前码流数据包含所述目标编号和所述目标应用程序的当前帧图像的编码数据时,对所述编码数据进行解码并显示。

示例的,解码端设备在对当前码流数据进行解析得到目标编号和目标应用程序的当前帧图像的编码数据时,说明应用程序未发生切换,此时对接收到的编码数据进行解码并显示。

本公开实施例提供一种编解码方法,解码端设备在接收到编码端设备发送的当前码流数据时,确定当前码流数据是否只包含目标应用程序的目标编号,在确定当前码流数据只包含目标应用程序的目标编号时,获取之前存储的目标应用程序最新的一帧图像,即为获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。可知,本公开在确定当前码流数据只有目标编号时,解码端设备可以直接将之前存储的目标应用程序最新的一帧图像确定为解码图像进行显示,无需执行解码操作,从而节省了解码端设备的算力,提高了解码端设备的解码效率。

本公开实施例提供一种编解码方法,如图3所示,应用于编码端设备,该方法包括以下步骤:

步骤301、获取当前前台显示的目标应用程序。

示例的,编码端设备获取当前前台显示的应用程序,即为目标应用程序,然后判定目标应用程序为低频动态应用还是高频动态应用,其中,低频动态应用为图像变化比较慢,或者只有在用户操作应用时才发生图像变化的应用,例如word、浏览器、即时通讯软件等均为低频动态应用;高频动态应用为图像画面随着时间发生较快变化的应用,例如,视频播放应用、游戏应用等均为高频动态应用。

进一步的,在执行步骤301之前,检测当前前台和当前后台运行的所有应用程序;从所述所有应用程序中确定出至少一个低频动态应用程序;对每个所述低频动态应用程序进行编号,形成编号列表,并将编号列表进行存储。

其中,所述编号列表中存储有每个低频动态应用程序的标识信息与编号的映射关系。

具体从所述所有应用程序中确定出至少一个低频动态应用程序的方法如下:

根据预先存储的应用列表确定出所述所有应用程序中的至少一个低频动态应用程序。

其中,所述应用列表中存储有每个低频动态应用程序的标识信息。

示例的,用户可以事先对每个应用程序的类型进行判定,确定出所有的低频动态应用程序,然后将所有低频动态应用程序的标识信息进行存储,形成应用列表,在编码端设备检测到当前前台和当前后台运行的所有应用程序时,从应用列表中查找所有应用程序中的低频动态应用程序,得到至少一个低频动态应用程序,然后对每个低频动态应用程序进行编号,形成编号列表,并将编号列表进行保存,便于后续查找。具体可以直接根据预设编号规则对每个低频动态应用程序进行编号生成编号列表,例如,预设编号规则为按照字母排序顺序对每个低频动态应用程序进行编号,假设有三个低频动态应用程序,则分别编号为低频动态应用程序a、低频动态应用程序b和低频动态应用程序c;或者,事先确定出所有常用的或者可用的低频动态应用,并为每个低频动态应用固定分配一个编号,将每个低频动态应用的编号与标识信息对应存储,生成编号列表。例如,表1所示,其为编号列表的示意图,表1中包括应用程序Excel的编号为s1,应用程序Word的编号为s2,应用程序PPT的编号为s3,依次类推,应用程序MV的编号为sn,其中,n为大于1的整数。

表1

需要说明的是,上述中的预设编号规则还可以为其他规则,例如,预设编号规则为按照数字从小到大顺序对每个应用程序进行编号,或者按照随机生成的不同数字对每个应用程序进行编号等,本公开对此不作限定。

需要说明的是,有的应用程序可以同时打开多个文件,例如word应用程序可以同时打开多个文档,针对这种类型的应用程序,在编号时,不仅要给出应用程序的编号,还需要给出每个文件的编号,例如,针对word软件打开两个文档的情况,针对两个文档的显示界面分别编号为s2-01和s2-02。在这种情况下,这两个编号也是不同的编号。

步骤302、在确定所述目标应用程序为低频动态应用时,根据当前帧图像确定应用程序是否发生切换。

可选的,获取上一帧图像;将所述上一帧图像与所述当前帧图像相比确定应用程序是否发生切换。

示例的,编码端设备在确定目标应用程序为低频动态应用时,获取当前帧图像,还获取采集的上一帧图像,并将上一帧图像的内容与当前帧图像的内容进行比较,在确定上一帧图像的内容与当前帧图像的内容完全不同,而且也没有相关联性时,则说明上一帧图像对应的应用程序与目标应用程序为不同的应用程序,此时确定应用程序发生切换;在确定上一帧图像的内容与当前帧图像的内容有相同的内容,或者具有相关联性时,则说明上一帧图像对应的应用程序与目标应用程序为相同的应用程序,此时确定应用程序未发生切换。

步骤303、在确定应用程序发生切换时,获取所述目标应用程序的目标编号。

可选的,从预先存储的所述编号列表中获取所述目标应用程序的目标编号。

示例的,在确定目标应用程序为低频动态应用时,直接从预先存储的编号列表中查找到目标应用程序对应的目标编号,假设目标应用程序为Word,则目标编号为s2。

步骤304、向解码端设备发送当前码流数据;所述当前码流数据包括所述目标应用程序的目标编号,使得所述解码端设备获取所述目标应用程序对应的目标帧图像,并将所述目标帧图像确定为解码图像进行显示。

示例的,编码端设备在确定应用程序发生切换时,向解码端设备发送只包括目标应用程序的目标编号的当前码流数据,使得解码端设备在确定当前码流数据中只包含目标应用程序的目标编号时,确定应用程序发生了切换,此时获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。

进一步的,如图4所示,所述方法还包括以下步骤305:

步骤305、在确定应用程序未发生切换时,所述当前码流数据还包括所述目标应用程序的当前帧图像的编码数据,使得所述解码端设备对所述编码数据进行解码并显示。

示例的,编码端设备在确定应用程序未发生切换时,向解码端设备发送包括目标应用程序的目标编号和当前帧图像的编码数据的当前码流数据,使得解码端设备在确定当前码流数据中同时包含目标编号和编码数据时,确定应用程序未发生切换,此时对接收到的编码数据进行解码并显示。

进一步的,如图5所示,在执行步骤301之前,还包括以下步骤306和步骤307:

步骤306、在确定应用程序发生切换时,在参考帧图像的编码数据中添加标记信息,得到参考帧图像编码数据。

其中,所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像。

示例的,编码端设备在每次检测到应用程序发生切换时,在参考帧图像的编码数据中添加标记信息,也就是在切换之前的应用程序的最后一帧图像的编码数据中添加标记信息,该标记信息用于指示参考帧图像为切换之前的应用程序的最后一帧图像,得到参考帧图像编码数据。

步骤307、向解码端设备发送所述参考帧图像编码数据,使得所述解码端设备将所述参考帧图像对应的解码图像与对应应用程序的标识信息对应保存在图像列表中。

示例的,编码端设备在得到参考帧图像编码数据时,向解码端设备发送参考帧图像编码数据,使得解码端设备在接收到参考帧图像编码数据时,对参考帧图像编码数据进行解析,得到添加标记信息的编码数据,进而根据标记信息的指示将参考帧图像对应的解码图像作为切换之前的应用程序的最新一帧图像进行保存。

本公开实施例提供一种编解码方法,编码端设备在确定应用程序发生切换时,获取目标应用程序的目标编号,并将目标编号添加至当前码流数据中发送给解码端设备,使得解码端设备在接收到编码端设备发送的当前码流数据时,确定当前码流数据是否只包含目标应用程序的目标编号,在确定当前码流数据只包含目标应用程序的目标编号时,获取之前存储的目标应用程序最新的一帧图像,即为获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。可知,本公开在确定当前码流数据只有目标编号时,解码端设备可以直接将之前存储的目标应用程序最新的一帧图像确定为解码图像进行显示,无需执行解码操作,从而节省了解码端设备的算力,提高了解码端设备的解码效率。

本公开实施例提供一种编解码方法,如图6所示,应用于解码端设备和编码端设备,该方法包括以下步骤:

步骤601、编码端设备获取当前前台显示的目标应用程序。

步骤602、编码端设备在确定所述目标应用程序为低频动态应用时,根据当前帧图像确定应用程序是否发生切换。

步骤603、编码端设备在确定应用程序发生切换时,获取所述目标应用程序的目标编号。

步骤604、编码端设备向解码端设备发送当前码流数据。

其中,所述当前码流数据包括所述目标应用程序的目标编号。

步骤605、解码端设备确定所述当前码流数据是否只包含目标应用程序的目标编号。

需要说明的是,根据当前码流数据包含的信息不同,下述执行步骤也不同,在确定当前码流数据只包含所述目标编号时,则执行步骤606和步骤607;在确定所述当前码流数据包含所述目标编号和所述目标应用程序的当前帧图像的编码数据时,则执行步骤608。

步骤606、解码端设备在确定所述当前码流数据只包含所述目标编号时,获取所述目标应用程序对应的目标帧图像。

其中,所述目标帧图像为之前存储的所述目标应用程序的最新一帧图像。

步骤607、解码端设备将所述目标帧图像确定为解码图像进行显示。

步骤608、解码端设备在确定所述当前码流数据包含所述目标编号和所述目标应用程序的当前帧图像的编码数据时,对所述编码数据进行解码并显示。

本公开实施例提供一种编解码方法,编码端设备在确定应用程序发生切换时,获取目标应用程序的目标编号,并将目标编号添加至当前码流数据中发送给解码端设备,使得解码端设备在接收到编码端设备发送的当前码流数据时,确定当前码流数据是否只包含目标应用程序的目标编号,在确定当前码流数据只包含目标应用程序的目标编号时,获取之前存储的目标应用程序最新的一帧图像,即为获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。可知,本公开在确定当前码流数据只有目标编号时,解码端设备可以直接将之前存储的目标应用程序最新的一帧图像确定为解码图像进行显示,无需执行解码操作,从而节省了解码端设备的算力,提高了解码端设备的解码效率。

基于上述实施例中所描述的编解码方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

本公开实施例提供一种解码端设备,如图7a所示,该解码端设备70包括:第一接收模块701、第一确定模块702、第一获取模块703和第一显示模块704。

其中,第一接收模块701,用于接收编码端设备发送的当前码流数据。

第一确定模块702,用于确定所述当前码流数据是否只包含目标应用程序的目标编号。

第一获取模块703,用于在确定所述当前码流数据只包含所述目标编号时,根据所述目标编号获取所述目标应用程序对应的目标帧图像;所述目标帧图像为之前存储的所述目标应用程序的最新一帧图像。

第一显示模块704,用于将所述目标帧图像确定为解码图像进行显示。

在一个实施例中,如图7b所示,所述设备还包括第二显示模块705。

其中,所述第二显示模块705,用于在确定所述当前码流数据包含所述目标编号和所述目标应用程序的当前帧图像的编码数据时,对所述编码数据进行解码并显示。

在一个实施例中,如图7c所示,所述第一获取模块703包括第一获取子模块7031。

其中,所述第一获取子模块7031,用于从预先存储的图像列表中获取所述目标应用程序对应的目标帧图像;所述图像列表中存储有应用程序的标识信息与最新一帧图像的映射关系。

在一个实施例中,如图7d所示,所述设备还包括第三确定模块706和建立模块707。

其中,所述第三确定模块706,用于确定每个应用程序的最新一帧图像。

所述建立模块707,用于建立每个应用程序的最新一帧图像与应用程序的标识信息的对应关系,得到所述图像列表。

在一个实施例中,如图7e所示,所述第三确定模块706包括接收子模块7061和第一确定子模块7062。

其中,所述接收子模块7061,用于接收编码端设备发送的参考帧图像编码数据;所述参考帧图像编码数据为在参考帧图像的编码数据中添加标记信息后的数据;所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像。

所述第一确定子模块7062,用于将所述参考帧图像对应的解码图像确定为切换之前的应用程序的最新一帧图像。

在一个实施例中,如图7f所示,所述第三确定模块706包括第二获取子模块7063、对比子模块7064和第二确定子模块7065。

其中,所述第二获取子模块7063,用于获取上一码流数据对应的应用程序的编号。

所述对比子模块7064,用于将所述上一码流数据对应的应用程序的编号与所述目标编号进行比对。

所述第二确定子模块7065,用于在确定所述上一码流数据对应的应用程序的编号与所述目标编号未相同时,将上一码流数据对应的解码图像确定为对应应用程序的最新一帧图像。

本公开实施例提供一种解码端设备,解码端设备在接收到编码端设备发送的当前码流数据时,确定当前码流数据是否只包含目标应用程序的目标编号,在确定当前码流数据只包含目标应用程序的目标编号时,获取之前存储的目标应用程序最新的一帧图像,即为获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。可知,本公开在确定当前码流数据只有目标编号时,解码端设备可以直接将之前存储的目标应用程序最新的一帧图像确定为解码图像进行显示,无需执行解码操作,从而节省了解码端设备的算力,提高了解码端设备的解码效率。

本公开实施例提供一种编码端设备,如图8a所示,该编码端设备80包括:第二获取模块801、第二确定模块802、第三获取模块803和第一发送模块804。

其中,第二获取模块801,用于获取当前前台显示的目标应用程序。

第二确定模块802,用于在确定所述目标应用程序为低频动态应用时,根据当前帧图像确定应用程序是否发生切换。

第三获取模块803,用于在确定应用程序发生切换时,获取所述目标应用程序的目标编号。

第一发送模块804,用于向解码端设备发送当前码流数据;所述当前码流数据包括所述目标应用程序的目标编号,使得所述解码端设备获取所述目标应用程序对应的目标帧图像,并将所述目标帧图像确定为解码图像进行显示。

在一个实施例中,在确定应用程序未发生切换时,所述当前码流数据还包括所述目标应用程序的当前帧图像的编码数据,使得所述解码端设备对所述编码数据进行解码并显示。

在一个实施例中,如图8b所示,所述第二确定模块802包括第三获取子模块8021和第三确定子模块8022。

其中,所述第三获取子模块8021,用于获取上一帧图像。

所述第三确定子模块8022,用于将所述上一帧图像与所述当前帧图像相比确定应用程序是否发生切换。

在一个实施例中,如图8c所示,所述设备还包括添加模块805和第二发送模块806。

其中,所述添加模块805,用于在确定应用程序发生切换时,在参考帧图像的编码数据中添加标记信息,得到参考帧图像编码数据;所述标记信息用于指示所述参考帧图像为切换之前的应用程序的最后一帧图像。

所述第二发送模块806,用于向解码端设备发送所述参考帧图像编码数据,使得所述解码端设备将所述参考帧图像对应的解码图像与切换之前的应用程序的标识信息对应保存在图像列表中。

在一个实施例中,如图8d所示,所述设备还包括检测模块807、第三确定模块808和编号模块809,所述第三获取模块803包括第四获取子模块8031。

其中,所述检测模块807,用于检测当前前台和当前后台运行的所有应用程序。

所述第三确定模块808,用于从所述所有应用程序中确定出至少一个低频动态应用程序。

所述编号模块809,用于对每个所述低频动态应用程序进行编号,形成编号列表;所述编号列表中存储有每个低频动态应用程序的标识信息与编号的映射关系。

所述第四获取子模块8031,用于从预先存储的所述编号列表中获取所述目标应用程序的目标编号。

在一个实施例中,如图8e所示,所述第三确定模块808包括第四确定子模块8081。

其中,所述第四确定子模块8081,用于根据预先存储的应用列表确定出所述所有应用程序中的至少一个低频动态应用程序;所述应用列表中存储有每个低频动态应用程序的标识信息。

本公开实施例提供一种编码端设备,编码端设备在确定应用程序发生切换时,获取目标应用程序的目标编号,并将目标编号添加至当前码流数据中发送给解码端设备,使得解码端设备在接收到编码端设备发送的当前码流数据时,确定当前码流数据是否只包含目标应用程序的目标编号,在确定当前码流数据只包含目标应用程序的目标编号时,获取之前存储的目标应用程序最新的一帧图像,即为获取目标应用程序对应的目标帧图像,并将目标帧图像确定为解码图像进行显示。可知,本公开在确定当前码流数据只有目标编号时,解码端设备可以直接将之前存储的目标应用程序最新的一帧图像确定为解码图像进行显示,无需执行解码操作,从而节省了解码端设备的算力,提高了解码端设备的解码效率。

图9是本公开实施例提供的一种编解码系统的框架图,如图9所示的编解码系统包括上述任一实施例所述的解码端设备901和上述任一实施例所述的编码端设备902。

其中,解码端设备901为云终端设备,云终端设备上设有解码模块,编码端设备902为云服务器上运行的与云终端设备对应的虚拟机,虚拟机上设有编码模块,虚拟机与云终端设备对应连接。本公开应用于云手机、手环、手表、眼镜、和扳指等云终端设备场景,云终端设备场景基于VDI(Virtual Desktop Infrastructure,虚拟桌面基础架构)技术,VDI架构如图10所示,包括云服务器和至少一个云终端设备,云服务器上运行至少一个虚拟机,通过在数据中心的云服务器运行操作系统,从而将用户的桌面进行虚拟化。用户通过云终端设备访问对应的虚拟机,从而获取桌面图像,并通过反向控制方式对获取到的桌面图像进行控制。

基于上述图1对应的实施例中所描述的编解码方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的编解码方法,此处不再赘述。

基于上述图3对应的实施例中所描述的编解码方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器、随机存取存储器、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图3对应的实施例中所描述的编解码方法,此处不再赘述。

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

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

相关技术
  • 音频编解码器 、编解码方法、 集线器、 发送接收器、 发送接收方法、通信系统、 播放设备
  • 图像编解码方法、图像编解码设备及网络系统
技术分类

06120112895271