编码方法、装置及存储介质
文献发布时间:2023-06-19 10:14:56
技术领域
本公开涉及图像技术领域,尤其涉及编码方法、装置及存储介质。
背景技术
图像传输系统包括编码端和接收端,其中,编码端将从图像源设备采集到的图像经编码后发送至接收端,接收端将接收到的编码数据进行解码后通过显示器进行显示,从而实现了图像的传输;其中,编码端通常是按照预设的相对固定的编码方式对每一帧图像进行编码,所以一帧图像的清晰度是均匀的;但遇到网速差的情况时,如果采用上述编码方式就会导致码流过大,造成接收端画面的卡顿或者花屏现象,所以需要对编码方式进行调整。
相关技术中,可根据网速自适应调整编码方案,例如,在网速较差时,降低图像清晰度,以降低码流;但是在降低码流时,一帧图像的清晰度仍然是均匀的,这样,就会导致在网速差的时候,整帧图像都会变得模糊,从而导致用户关注的窗口内的画面也变得模糊,降低了用户体验。
发明内容
本公开实施例提供一种编码方法、装置及存储介质,能够解决现有技术中导致用户关注的窗口内的画面也变得模糊,降低了用户体验的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种编码方法,所述方法包括:
获取目标操作信息;所述目标操作信息包括至少一个目标应用程序的标识信息;
根据所述目标应用程序的标识信息在当前显示桌面上识别每个所述目标应用程序对应的目标窗口;
根据所述目标窗口确定第一目标区域和第二目标区域;所述第一目标区域为所述目标窗口的显示区域,所述第二目标区域为当前显示桌面中除所述目标窗口的显示区域之外的区域;
根据第一码率编码方式对所述第一目标区域中的第一目标图像进行编码;
根据第二码率编码方式对所述第二目标区域中的第二目标图像进行编码;所述第二码率编码方式的编码码率小于所述第一码率编码方式的编码码率。
本公开实施例提供一种编码方法,在获取到包括至少一个目标应用程序的目标操作信息时,在当前显示桌面上识别每个目标应用程序对应的目标窗口,进而将目标窗口的显示区域确定为第一目标区域,将当前显示桌面中除目标窗口的显示区域之外的区域确定为第二目标区域,然后根据编码码率较高的第一码率编码方式对第一目标区域中的第一目标图像进行编码,同时根据编码码率较低的第二码率编码方式对第二目标区域中的第二目标图像进行编码。这样,就会保证用户关心的窗口内的画面能够正常显示,从而提高了用户体验。
在一个实施例中,在所述获取目标操作信息之前,还包括:
展示应用程序列表;所述应用程序列表包括当前显示桌面上运行的所有应用程序;所述目标操作信息为操作所述应用程序列表得到的信息.
在一个实施例中,所述展示应用程序列表包括:
在确定当前带宽小于预设带宽时,展示所述应用程序列表;或者,
在确定所述当前带宽小于所述预设带宽,且获取到目标选择指令时,展示所述应用程序列表;所述目标选择指令用于指示展示应用程序列表;或者,
在获取到目标操作指令时,展示所述应用程序列表;所述目标操作指令用于指示展示应用程序列表。
在一个实施例中,所述展示应用程序列表包括:
获取所述当前显示桌面上运行的所有应用程序;
根据所述所有应用程序的标识生成所述应用程序列表;
展示所述应用程序列表。
在一个实施例中,所述根据所述目标窗口确定第一目标区域包括:
获取所述当前显示桌面上的窗口信息;所述窗口信息包括每个窗口的窗口标识和每个窗口的位置信息;
根据所述目标窗口的窗口标识查找对应的所述目标窗口的位置信息;
根据所述目标窗口的位置信息确定所述第一目标区域。
在一个实施例中,所述根据第二码率编码方式对所述第二目标区域中的第二目标图像进行编码包括:
将所述第二目标图像中的每个像素点的像素值舍弃预设位字符,得到第一目标像素值;
对每个所述第一目标像素值进行编码;或者,
对所述第二目标图像中的每个像素点进行频域变换;
舍弃频域变换后的高频分量,对频域变换后的低频分量进行编码;或者,
对所述第二目标图像中的所有像素点进行降采样处理;
对降采样处理后的像素点进行编码。
在一个实施例中,所述对每个所述第一目标像素值进行编码包括:
将所述第一目标像素值与预设步进值的比值取整,得到第二目标像素值;
对所述第二目标像素值进行编码。
在一个实施例中,所述对所述第二目标图像中的所有像素点进行降采样处理包括:
将所述第二目标图像中的所有像素点按照预设规则划分为至少一个目标组;所述预设规则为将相邻的预设数量的像素点划分为一组;
将所述目标组中的预设位置上的像素点确定为参考像素点;
将所述目标组中所有像素点的像素值修改为所述参考像素点的像素值;
对修改后的所有像素点进行编码。
根据本公开实施例的第二方面,提供一种编码装置,所述装置包括:
获取模块,用于获取目标操作信息;所述目标操作信息包括至少一个目标应用程序的标识信息;
识别模块,用于根据所述目标应用程序的标识信息在当前显示桌面上识别每个所述目标应用程序对应的目标窗口;
确定模块,用于根据所述目标窗口确定第一目标区域和第二目标区域;所述第一目标区域为所述目标窗口的显示区域,所述第二目标区域为当前显示桌面中除所述目标窗口的显示区域之外的区域;
第一编码模块,用于根据第一码率编码方式对所述第一目标区域中的第一目标图像进行编码;
第二编码模块,用于根据第二码率编码方式对所述第二目标区域中的第二目标图像进行编码;所述第二码率编码方式的编码码率小于所述第一码率编码方式的编码码率。
本公开实施例提供一种编码装置,在获取到包括至少一个目标应用程序的目标操作信息时,在当前显示桌面上识别每个目标应用程序对应的目标窗口,进而将目标窗口的显示区域确定为第一目标区域,将当前显示桌面中除目标窗口的显示区域之外的区域确定为第二目标区域,然后根据编码码率较高的第一码率编码方式对第一目标区域中的第一目标图像进行编码,同时根据编码码率较低的第二码率编码方式对第二目标区域中的第二目标图像进行编码。这样,就会保证用户关心的窗口内的画面能够正常显示,从而提高了用户体验。
在一个实施例中,所述装置还包括展示模块;
所述展示模块,用于展示应用程序列表;所述应用程序列表包括当前显示桌面上运行的所有应用程序;所述目标操作信息为操作所述应用程序列表得到的信息。
在一个实施例中,所述展示模块包括第一展示子模块、第二展示子模块和第三展示子模块;
所述第一展示子模块,用于在确定当前带宽小于预设带宽时,展示所述应用程序列表;或者,
所述第二展示子模块,用于在确定所述当前带宽小于所述预设带宽,且获取到目标选择指令时,展示所述应用程序列表;所述目标选择指令用于指示展示应用程序列表;或者,
所述第三展示子模块,用于在获取到目标操作指令时,展示所述应用程序列表;所述目标操作指令用于指示展示应用程序列表。
在一个实施例中,所述展示模块包括第一获取子模块、生成子模块和第四展示子模块;
所述第一获取子模块,用于获取所述当前显示桌面上运行的所有应用程序;
所述生成子模块,用于根据所述所有应用程序的标识生成所述应用程序列表;
所述第四展示子模块,用于展示所述应用程序列表。
在一个实施例中,所述确定模块包括第二获取子模块、查找子模块和确定子模块;
所述第二获取子模块,用于获取所述当前显示桌面上的窗口信息;所述窗口信息包括每个窗口的窗口标识和每个窗口的位置信息;
所述查找子模块,用于根据所述目标窗口的窗口标识查找对应的所述目标窗口的位置信息;
所述确定子模块,用于根据所述目标窗口的位置信息确定所述第一目标区域。
在一个实施例中,所述第二编码模块包括舍弃子模块、第一编码子模块、变换子模块、第二编码子模块、处理子模块和第三编码子模块;
所述舍弃子模块,用于将所述第二目标图像中的每个像素点的像素值舍弃预设位字符,得到第一目标像素值;
所述第一编码子模块,用于对每个所述第一目标像素值进行编码;或者,
所述变换子模块,用于对所述第二目标图像中的每个像素点进行频域变换;
所述第二编码子模块,用于舍弃频域变换后的高频分量,对频域变换后的低频分量进行编码;或者,
所述处理子模块,用于对所述第二目标图像中的所有像素点进行降采样处理;
所述第三编码子模块,用于对降采样处理后的像素点进行编码。
在一个实施例中,所述第一编码子模块包括取整单元和第一编码单元;
所述取整单元,用于将所述第一目标像素值与预设步进值的比值取整,得到第二目标像素值;
所述第一编码单元,用于对所述第二目标像素值进行编码。
在一个实施例中,所述处理子模块包括划分单元、确定单元、修改单元和第二编码单元;
所述划分单元,用于将所述第二目标图像中的所有像素点按照预设规则划分为至少一个目标组;所述预设规则为将相邻的预设数量的像素点划分为一组;
所述确定单元,用于将所述目对修改后的所有像素点进行编码标组中的预设位置上的像素点确定为参考像素点;
所述修改单元,用于将所述目标组中所有像素点的像素值修改为所述参考像素点的像素值;
所述第二编码单元,用于对修改后的所有像素点进行编码。
根据本公开实施例的第三方面,提供一种编码装置,包括:处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的编码方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的编码方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种编码方法的流程图;
图2是本公开实施例提供的一种应用程序窗口的示意图
图3是本公开实施例提供的一种像素点的示意图;
图4是本公开实施例提供的一种编码方法的流程图;
图5a是本公开实施例提供的一种编码装置的结构图;
图5b是本公开实施例提供的一种编码装置的结构图;
图5c是本公开实施例提供的一种编码装置的结构图;
图5d是本公开实施例提供的一种编码装置的结构图;
图5e是本公开实施例提供的一种编码装置的结构图;
图5f是本公开实施例提供的一种编码装置的结构图;
图5g是本公开实施例提供的一种编码装置的结构图;
图5h是本公开实施例提供的一种编码装置的结构图;
图5i是本公开实施例提供的一种编码装置的结构图;
图5j是本公开实施例提供的一种编码装置的结构图;
图6是本公开实施例提供的一种编码装置的框架图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种编码方法,如图1所示,该方法包括以下步骤:
步骤101、获取目标操作信息。
其中,所述目标操作信息包括至少一个目标应用程序的标识信息。
示例的,用户可通过当前显示桌面上显示的应用程序列表来点击需要优先显示的至少一个目标应用程序,使得设备获取到基于该点击动作的目标操作信息,即获取到包括至少一个目标应用程序的标识信息的目标操作信息。
需要说明的是,用户可以随时通过预设的快捷键调用应用程序列表,进而重新选择需要优先显示的至少一个目标应用程序;其中,预设的快捷键与应用程序列表的标识对应存储,这样,只要用户按下预设的快捷键,设备就可以执行对应用程序列表的显示。
步骤102、根据所述目标应用程序的标识信息在当前显示桌面上识别每个所述目标应用程序对应的目标窗口。
示例的,在获取到包括至少一个目标应用程序的标识信息的目标操作信息时,根据目标应用程序的标识信息在当前显示桌面上识别出每个目标应用程序对应的窗口,并将识别出的每个目标应用程序对应的窗口均确定为目标窗口。
步骤103、根据所述目标窗口确定第一目标区域和第二目标区域。
其中,所述第一目标区域为所述目标窗口的显示区域,所述第二目标区域为当前显示桌面中除所述目标窗口的显示区域之外的区域。
可选的,根据目标窗口确定第一目标区域可通过以下方式实现:
获取所述当前显示桌面上的窗口信息;根据所述目标窗口的窗口标识查找对应的所述目标窗口的位置信息;根据所述目标窗口的位置信息确定所述第一目标区域。
其中,所述窗口信息包括每个窗口的窗口标识和每个窗口的位置信息,窗口标识即为窗口句柄。
示例的,在确定出目标窗口之后,以通过Windows操作系统为例,通过Windows API(Application Programming Interface,应用程序编程接口)函数获取当前显示桌面的窗口信息,即获取到每个窗口的窗口标识和每个窗口的位置信息,在窗口信息中查找目标窗口的标识信息,根据目标窗口的标识信息查找到对应的目标窗口的位置信息,进而通过该目标窗口的位置信息可以确定目标窗口的显示区域,从而将目标窗口的显示区域确定为第一目标区域。
另外,在确定出第一目标区域之后,将当前显示桌面的所有区域减去第一目标区域,即可得到第二目标区域,也就是除第一目标区域之外的区域。
示例的,如图2所示,假设当前显示桌面上包含5个运行的应用程序窗口,从最上层开始依次为X1、X2、X3、X4及X5;假设用户选中的优先显示应用对应的窗口为X2和X4,则将填充黑色的区域和填充白色的区域确定为优先显示区域,即第一目标区域;同理,如果用户选中的优先显示应用对应的窗口为X5和X1,则将填充斜线的区域和填充竖线的区域确定为优先显示区域,即第一目标区域。
步骤104、根据第一码率编码方式对所述第一目标区域中的第一目标图像进行编码。
示例的,在确定出第一目标区域时,将第一目标区域中的第一目标图像划分为至少一个第一宏块,并根据第一码率编码方式对第一宏块进行编码处理。
可选的,第一码率编码方式可以是预先设定一个预设值的固定编码码率,然后采用该固定编码码率对第一宏块进行编码。
需要说明的是,可以对至少一个第一宏块中的每个宏块均采用第一码率编码方式进行编码处理;也可以对至少一个第一宏块中的部分宏块采用第一码率编码方式进行编码处理,本公开对此不做限定。
步骤105、根据第二码率编码方式对所述第二目标区域中的第二目标图像进行编码。
其中,所述第二码率编码方式的编码码率小于所述第一码率编码方式的编码码率。
示例的,在确定出第二目标区域时,将第二目标区域中的第二目标图像划分为至少一个第二宏块,并根据第二码率编码方式对第二宏块进行编码;具体根据第二码率编码方式对第二目标区域中的第二目标图像进行编码可通过以下几种方法实现:
第一种方法,将所述第二目标图像中的每个像素点的像素值舍弃预设位字符,得到第一目标像素值;对每个所述第一目标像素值进行编码。
示例的,假设第二宏块中的每个像素点的像素值取值范围是[0,255],将像素值表示为二进制时,可以用8位字符进行表示,因此,可以舍弃低位四个字符,只保留高位四个字符;例如,两个像素点的像素值分别为01011101和11010111,则舍弃低位四个字符之后,得到的两个第一目标像素值分别为0101和1101,进而对每个0101和每个1101进行编码压缩;具体预设位字符可以根据需求进行设定,本公开对此不做限定。
进一步的,将所述第一目标像素值与预设步进值的比值取整,得到第二目标像素值;对所述第二目标像素值进行编码。
示例的,在得到上述的第一目标像素值时,还可以将该第一目标像素值除以预设步进值,得到的比值取整,最后对取整后的第二目标像素值进行编码压缩;例如,像素值为240和180的两个点,假设预设步进值为16,则按此方式处理后,像素值变为15和12。
通过上述两种方式,将像素点的取值范围为从原来的[0,255]变为[0,15],从而实现了对像素点的压缩,提高了压缩率。
第二种方法,对所述第二目标图像中的每个像素点进行频域变换;舍弃频域变换后的高频分量,对频域变换后的低频分量进行编码。
示例的,对第二目标图像中的每个第二宏块中的每个像素点进行频域变换,对于变换后的结果,只保留低频分量,而舍弃高频分量,进而对低频分量进行编码压缩;例如,在JPEG(Joint Photographic Experts Group,联合图像专家组)中,对每个像素点进行DCT(Discrete Cosine Transform,离散余弦变换)变换后,只对DC(直流)分量进行编码传输,从而提高了压缩率。
第三种方法,对所述第二目标图像中的所有像素点进行降采样处理;对降采样处理后的像素点进行编码。
具体的,将所述第二目标图像中的所有像素点按照预设规则划分为至少一个目标组;将所述目标组中的预设位置上的像素点确定为参考像素点;将所述目标组中所有像素点的像素值修改为所述参考像素点的像素值;对修改后的所有像素点进行编码。
其中,所述预设规则为将相邻的预设数量的像素点划分为一组。
示例的,如图3所示,假设第二目标图像中共有16个像素点,16个像素点分别为A1、A2、A3、A4、B1、B2、B3、B4、C1、C2、C3、C4、D1、D2、D3和D4,预设规则为将相邻的四个像素点划分为一组,预设位置为每组的左上角第一个像素点的位置;例如将A1、A2、A3、A4划分为第一组,将B1、B2、B3、B4划分为第二组,C1、C2、C3、C4划分为第三组,D1、D2、D3和D4划分为第四组;然后,将A1作为第一组的参考像素点,将B1作为第二组的参考像素点,将C1作为第三组的参考像素点,将D1作为第四组的参考像素点,则将第一组中的所有像素点的像素值均设置为A1的像素值,将第二组中的所有像素点的像素值均设置为B1的像素值,将第三组中的所有像素点的像素值均设置为C1的像素值,将第四组中的所有像素点的像素值均设置为D1的像素值,最后将修改后的每个像素点进行编码压缩。
需要说明的是,每组中的像素点的数量可以根据实际需要进行设置,每一组中的参考像素点的预设位置也可以根据实际需要进行设置,本公开对此不做限定。
进一步的,如图4所示,在执行步骤101之前,还包括以下步骤106:
步骤106、展示应用程序列表。
其中,所述应用程序列表包括当前显示桌面上运行的所有应用程序;所述目标操作信息为操作所述应用程序列表得到的信息。
示例的,通常,在办公场景下,用户会同时打开很多应用程序,但是对用户来说,当前最关注的应用窗口只是其中一个或者多个,所以,我们可以只将用户关注的应用窗口的清晰度提高,将其他用户不关注的应用窗口的清晰度降低即可。
具体的,可以通过带宽的智能检测来主动进入智能编码模式,进入智能编码模式就可以自动展示应用程序列表;具体可以在以下几种情况下展示应用程序列表:
第一种情况,在确定当前带宽小于预设带宽时,展示应用程序列表。
示例的,实时获取当前带宽,将当前带宽与预设带宽进行比较,在确定当前带宽小于预设带宽时,说明当前网速较差,此时可以主动展示应用程序列表,便于用户在应用程序列表中选择需要优先显示的应用程序。
第二种情况,在确定所述当前带宽小于所述预设带宽,且获取到目标选择指令时,展示应用程序列表。
其中,所述目标选择指令用于指示展示应用程序列表。
示例的,在确定当前带宽小于预设带宽时,还可以向用户展示是否进入智能编码模式的选项,具体展示方式可以通过显示屏显示,也可以语音输出,用户可根据需求自行选择,在用户选择进入智能编码模式时,则展示应用程序列表;在用户选择禁止进入智能编码模式时,则不展示应用程序列表。
第三种情况,在获取到目标操作指令时,展示应用程序列表。
其中,所述目标操作指令用于指示展示应用程序列表。
示例的,用户还可以根据需求通过快捷键等操作方式主动选择进入智能编码模式,例如,用户根据当前的画面显示情况,感觉画面有些卡顿或者显示效果不佳时,通过预先设置好的快捷键主动进入智能编码模式,即用户按下预设设置的快捷键,使得设备获取到针对该快捷键的目标操作指令,进而响应于该目标操作指令,展示应用程序列表。
需要说明的是,在确定进入智能编码模式时,可以生成一个应用程序选择窗口,在应用程序选择窗口中显示应用程序列表;且可以将应用程序选择窗口显示在当前显示桌面的最上层的预设位置,便于用户在看到应用程序选择窗口时,对应用程序选择窗口进行反向控制操作,即选择需要优先显示的应用程序。
可选的,展示应用程序列表可通过以下方式实现:
获取所述当前显示桌面上运行的所有应用程序;根据所述所有应用程序的标识生成所述应用程序列表;展示所述应用程序列表。
示例的,在确定进入智能编码模式时,可以获取当前显示桌面上运行的所有应用程序的标识,然后将应用程序的标识与应用程序的名称建立对应关系,从而建立好应用程序列表,进而显示该应用程序列表。
本公开实施例提供一种编码方法,在获取到包括至少一个目标应用程序的目标操作信息时,在当前显示桌面上识别每个目标应用程序对应的目标窗口,进而将目标窗口的显示区域确定为第一目标区域,将当前显示桌面中除目标窗口的显示区域之外的区域确定为第二目标区域,然后根据编码码率较高的第一码率编码方式对第一目标区域中的第一目标图像进行编码,同时根据编码码率较低的第二码率编码方式对第二目标区域中的第二目标图像进行编码。即将用户关心的窗口图像采用码率较高的第一码率编码方式进行编码,同时,将用户不关心的窗口图像采用码率较低的第二码率编码方式进行编码。这样,就会保证用户关心的窗口内的画面能够正常显示,从而提高了用户体验;同时降低了整体码流,节省了带宽。
基于上述实施例中所描述的编码方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种编码装置,如图5a所示,该编码装置50包括:获取模块501、识别模块502、确定模块503、第一编码模块504和第二编码模块505。
其中,获取模块501,用于获取目标操作信息;所述目标操作信息包括至少一个目标应用程序的标识信息。
识别模块502,用于根据所述目标应用程序的标识信息在当前显示桌面上识别每个所述目标应用程序对应的目标窗口。
确定模块503,用于根据所述目标窗口确定第一目标区域和第二目标区域;所述第一目标区域为所述目标窗口的显示区域,所述第二目标区域为当前显示桌面中除所述目标窗口的显示区域之外的区域。
第一编码模块504,用于根据第一码率编码方式对所述第一目标区域中的第一目标图像进行编码。
第二编码模块505,用于根据第二码率编码方式对所述第二目标区域中的第二目标图像进行编码;所述第二码率编码方式的编码码率小于所述第一码率编码方式的编码码率。
在一个实施例中,如图5b所示,所述编码装置50还包括展示模块506。
其中,所述展示模块506,用于展示应用程序列表;所述应用程序列表包括当前显示桌面上运行的所有应用程序;所述目标操作信息为操作所述应用程序列表得到的信息。
在一个实施例中,如图5c所示,所述展示模块506包括第一展示子模块5061、第二展示子模块5062和第三展示子模块5062。
其中,所述第一展示子模块5061,用于在确定当前带宽小于预设带宽时,展示所述应用程序列表;或者,
所述第二展示子模块5062,用于在确定所述当前带宽小于所述预设带宽,且获取到目标选择指令时,展示所述应用程序列表;所述目标选择指令用于指示展示应用程序列表;或者,
所述第三展示子模块5063,用于在获取到目标操作指令时,展示所述应用程序列表;所述目标操作指令用于指示展示应用程序列表。
在一个实施例中,如图5d所示,所述展示模块506包括第一获取子模块5064、生成子模块5065和第四展示子模块5066。
其中,所述第一获取子模块5064,用于获取所述当前显示桌面上运行的所有应用程序。
所述生成子模块5065,用于根据所述所有应用程序的标识生成所述应用程序列表。
所述第四展示子模块5066,用于展示所述应用程序列表。
在一个实施例中,如图5e所示,所述确定模块503包括第二获取子模块5031、查找子模块5032和确定子模块5033。
其中,所述第二获取子模块5031,用于获取所述当前显示桌面上的窗口信息;所述窗口信息包括每个窗口的窗口标识和每个窗口的位置信息。
所述查找子模块5032,用于根据所述目标窗口的窗口标识查找对应的所述目标窗口的位置信息。
所述确定子模块5033,用于根据所述目标窗口的位置信息确定所述第一目标区域。
在一个实施例中,如图5f所示,所述第二编码模块505包括舍弃子模块5051和第一编码子模块5052。
其中,所述舍弃子模块5051,用于将所述第二目标图像中的每个像素点的像素值舍弃预设位字符,得到第一目标像素值。
所述第一编码子模块5052,用于对每个所述第一目标像素值进行编码。
在一个实施例中,如图5g所示,所述第一编码子模块5052包括取整单元50521和第一编码单元50522。
其中,所述取整单元50521,用于将所述第一目标像素值与预设步进值的比值取整,得到第二目标像素值。
所述第一编码单元50522,用于对所述第二目标像素值进行编码。
在一个实施例中,如图5h所示,所述第二编码模块505包括变换子模块5053和第二编码子模块5054。
其中,所述变换子模块5053,用于对所述第二目标图像中的每个像素点进行频域变换。
所述第二编码子模块5054,用于舍弃频域变换后的高频分量,对频域变换后的低频分量进行编码。
在一个实施例中,如图5i所示,所述第二编码模块505包括处理子模块5055和第三编码子模块5056。
其中,所述处理子模块5055,用于对所述第二目标图像中的所有像素点进行降采样处理。
所述第三编码子模块5056,用于对降采样处理后的像素点进行编码。
在一个实施例中,如图5j所示,所述处理子模块5055包括划分单元50551、确定单元50552、修改单元50553和第二编码单元50554。
其中,所述划分单元50551,用于将所述第二目标图像中的所有像素点按照预设规则划分为至少一个目标组;所述预设规则为将相邻的预设数量的像素点划分为一组。
所述确定单元50552,用于将所述目对修改后的所有像素点进行编码标组中的预设位置上的像素点确定为参考像素点。
所述修改单元50553,用于将所述目标组中所有像素点的像素值修改为所述参考像素点的像素值。
所述第二编码单元50554,用于对修改后的所有像素点进行编码。
本公开实施例提供一种编码装置,在获取到包括至少一个目标应用程序的目标操作信息时,在当前显示桌面上识别每个目标应用程序对应的目标窗口,进而将目标窗口的显示区域确定为第一目标区域,将当前显示桌面中除目标窗口的显示区域之外的区域确定为第二目标区域,然后根据编码码率较高的第一码率编码方式对第一目标区域中的第一目标图像进行编码,同时根据编码码率较低的第二码率编码方式对第二目标区域中的第二目标图像进行编码。即将用户关心的窗口图像采用码率较高的第一码率编码方式进行编码,同时,将用户不关心的窗口图像采用码率较低的第二码率编码方式进行编码。这样,就会保证用户关心的窗口内的画面能够正常显示,从而提高了用户体验;同时降低了整体码流,节省了带宽。
参考图6所示,本公开实施例还提供了一种编码装置,该编码装置包括接收器601、发射器602、存储器603和处理器604,该发射器602和存储器603分别与处理器604连接,存储器603中存储有至少一条计算机指令,处理器604用于加载并执行至少一条计算机指令,以实现上述图1对应的实施例中所描述的编码方法。
基于上述图1对应的实施例中所描述的编码方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read OnlyMemory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的编码方法,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
- 纠错编码方法及其装置、纠错译码方法及其装置及数据记录钒再现装置和存储介质
- 视频编码方法和装置、电子装置和计算机可读存储介质