CN115811615A - 屏幕视频的编码方法、装置、计算机设备及存储介质 - Google Patents
屏幕视频的编码方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN115811615A CN115811615A CN202111078908.0A CN202111078908A CN115811615A CN 115811615 A CN115811615 A CN 115811615A CN 202111078908 A CN202111078908 A CN 202111078908A CN 115811615 A CN115811615 A CN 115811615A
- Authority
- CN
- China
- Prior art keywords
- image
- block
- sub
- image sub
- determining
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供了一种屏幕视频的编码方法、装置、计算机设备及存储介质,属于视频编码技术领域。方法包括:确定屏幕内容图像中待确定哈希值的第一图像块;基于第一图像块所包含的多个第一图像子块,确定屏幕内容图像的第二图像块中是否存在与任一第一图像子块重合的第二图像子块;在所述第二图像块中存在与任一所述第一图像子块重合的第二图像子块的情况下,从第二图像块的图像特征信息中,获取第一图像块的至少一个第一图像子块的图像特征信息;基于至少一个第一图像子块的图像特征信息,确定第一图像块的哈希值,将第一图像块的哈希值存储至哈希表中,基于屏幕内容图像的哈希表,对屏幕内容图像进行编码。该方法降低了屏幕视频的编码复杂度。
Description
技术领域
本申请涉及视频编码技术领域,特别涉及一种屏幕视频的编码方法、装置、计算机设备及存储介质。
背景技术
屏幕视频是通过截取计算机设备的屏幕内容得到屏幕内容图像,基于屏幕内容图像生成的视频,屏幕视频的内容形式也比较多,例如幻灯片演示文稿和文本(Word)文档等。目前屏幕视频广泛应用在视频会议、在线教育、远程桌面等场景中,在这些场景中,均需对屏幕视频进行传输,在传输之前需要对其编码。为了提高编码效率,HEVC-SCC(HighEfficiency Video Coding-Screen Content Coding,高效视频编码-屏幕内容编码)的视频编码标准应运而生。在通过HEVC-SCC编码的过程中,可以结合IBC(Intra Block Copy,帧内块拷贝)技术对屏幕视频中的屏幕内容图像进行编码。
相关技术中,在基于IBC技术编码时,需要先建立当前待编码的屏幕内容图像对应的哈希表,该哈希表存储了屏幕内容图像中每个图像块的哈希值,从而结合已建立的哈希表对屏幕内容图像进行编码。
在上述方案中,对于每个图像块,均需要确定该图像块的图像特征信息,基于该图像特征信息,确定图像块的哈希值,可见该方案中哈希值的确定复杂度较高,导致屏幕视频的编码复杂度较高。
发明内容
本申请实施例提供了一种屏幕视频的编码方法、装置、计算机设备及存储介质,用于降低屏幕视频的编码复杂度。所述技术方案如下:
一方面,提供了一种屏幕视频的编码方法,所述方法包括:
确定屏幕内容图像中待确定哈希值的第一图像块;
基于所述第一图像块所包含的多个第一图像子块,确定所述屏幕内容图像的第二图像块中是否存在与任一所述第一图像子块重合的第二图像子块,所述第二图像块为在哈希表中已存储有对应哈希值的图像块,所述哈希表用于在编码过程中为待编码图像块确定预测块;
在所述第二图像块中存在与任一所述第一图像子块重合的第二图像子块的情况下,从所述第二图像块的图像特征信息中,获取所述第一图像块的至少一个第一图像子块的图像特征信息;
基于所述至少一个第一图像子块的图像特征信息,确定所述第一图像块的哈希值,将所述第一图像块的哈希值存储至所述哈希表中,基于所述屏幕内容图像的哈希表,对所述屏幕内容图像进行编码。
另一方面,提供了一种屏幕视频的编码装置,所述装置包括:
图像块确定模块,用于确定屏幕内容图像中待确定哈希值的第一图像块;
信息确定模块,用于基于所述第一图像块所包含的多个第一图像子块,确定所述屏幕内容图像的第二图像块中是否存在与任一所述第一图像子块重合的第二图像子块,所述第二图像块为在哈希表中已存储有对应哈希值的图像块,所述哈希表用于在编码过程中为待编码图像块确定预测块;
信息获取模块,用于在所述第二图像块中存在与任一所述第一图像子块重合的第二图像子块的情况下,从所述第二图像块的图像特征信息中,获取所述第一图像块的至少一个第一图像子块的图像特征信息;
图像编码模块,用于基于所述至少一个图像子块的图像特征信息,确定所述第一图像块的哈希值,将所述第一图像块的哈希值存储至所述哈希表中,基于所述屏幕内容图像的哈希表,对所述屏幕内容图像进行编码。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如本申请实施例中的屏幕视频的编码方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如本申请实施例中的屏幕视频的编码方法。
另一方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机程序代码,所述计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机程序代码,所述处理器执行所述计算机程序代码,使得所述计算机设备执行如本申请实施例中的屏幕视频的编码方法。
本申请实施例提供的技术方案带来的有益效果是:
在本申请实施例中,在建立屏幕内容图像的哈希表的过程中,对于当前待确定哈希值的第一图像块所包含的多个第一图像子块,在已存储哈希值的第二图像块中存在与该第一图像子块重合的第二图像子块的情况下,能够直接使用第一图像子块之前计算过的图像特征信息,来确定第一图像块的哈希值,无需重复确定第一图像子块的图像特征信息,从而降低了哈希值的确定复杂度,进而降低了屏幕视频的编码复杂度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例提供的一种屏幕视频的编码方法的实施环境示意图;
图2是根据本申请实施例提供的一种屏幕视频的编码方法流程图;
图3是根据本申请实施例提供的一种图像块之间的重合区域的示意图;
图4是根据本申请实施例提供的一种屏幕视频的编码方法流程图;
图5是根据本申请实施例提供的一种屏幕视频的编码方法示意图;
图6是根据本申请实施例提供的一种屏幕视频的编码方法示意图;
图7是根据本申请实施例提供的一种屏幕视频的编码方法示意图;
图8是根据本申请实施例提供的一种屏幕视频的编码装置的结构示意图;
图9是根据本申请实施例提供的一种终端的结构示意图;
图10是根据本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上。
本申请实施例提供的屏幕视频的编码方法,能够由计算机设备执行。可选地,计算机设备提供为终端或者服务器。在本申请实施例中,可以由服务器或终端作为执行主体来实施本申请实施例提供的方法,也可以通过终端和服务器之间的交互来实施本申请提供的方法,本申请实施例对此不作限定。
下面介绍一下本申请实施例提供的屏幕视频的编码方法的实施环境,图1是根据本申请实施例提供的一种屏幕视频的编码方法的实施环境示意图。参见图1,该实施环境包括第一终端101、服务器102和第二终端103。
可选地,第一终端101和第二终端103是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱或者智能手表等,但并不局限于此。第一终端101和第二终端102均安装和运行有目标应用程序。该目标应用程序具有视频编码、视频解码和视频播放等功能。例如,该目标应用程序为视频会议类应用程序、在线教育类应用程序、远程桌面类应用程序或者其他支持上述功能的应用程序等中的任一种。
可选地,服务器102用于为目标应用程序提供后台服务。服务器102是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102能够通过有线或无线通信方式分别与第一终端101和第二终端103进行直接或间接地连接,本申请在此不做限制。可选地,以第一终端101与服务器102之间的交互为例,服务器102可以承担主要计算工作,第一终端101可以承担次要计算工作;或者,服务器102承担次要计算工作,第一终端101承担主要计算工作;或者,服务器102和第一终端101二者之间采用分布式计算架构进行协同计算。
在本申请实施例中,第一终端101能够以视频的方式,向第二终端103分享屏幕画面,以使第二终端103能够显示该屏幕画面,实现视频的播放。在一些实施例中,第一终端101相当于编码端,第二终端103相当于解码端。第一终端101截取本端的屏幕内容图像,以获取屏幕画面,对截取到的屏幕内容图像进行编码,得到屏幕视频,第一终端101将该屏幕视频上传至服务器102,服务器102将该屏幕视频转发至第二终端103,第二终端103对该屏幕视频进行解码,基于解码所得到的图像进行视频播放。
在另一些实施例中,终端101借助于服务器102编码,则服务器102相当于编码端,第二终端103仍为解码端。第一终端101将截取到的屏幕内容图像上传至服务器102,服务器102对屏幕内容图像进行编码,得到屏幕视频,将该屏幕视频转发至第二终端103,第二终端103对该屏幕视频进行解码,基于解码所得到的图像进行视频播放。
本领域技术人员可以知晓,上述第一终端和第二终端的数量可以更多或更少。比如上述第一终端或者第二终端可以仅为一个,或者上述第一终端或者第二终端为几十个或几百个,或者更多数量。本申请实施例对第一终端和第二终端的数量和设备类型不作限定。
在介绍完本申请实施例的实施环境之后,下面将结合上述实施环境,对本申请实施例的应用场景进行介绍,在下述说明过程中,终端A也即是上述实施环境中的第一终端101,终端B也即是上述实施环境中的第二终端103,服务器也即是上述实施环境中的服务器102。
本申请实施例提供的屏幕视频的编码方法能够应用在视频编码场景中。例如,以视频会议场景为例,终端A与终端B参与视频会议,终端A截取屏幕内容图像,通过本申请实施例提供的屏幕视频的编码方法,对该屏幕内容图像进行编码,从而得到屏幕视频,终端A借助于服务器将该屏幕视频转发至终端B,终端B基于解码所得到的图像进行视频播放,从而使用终端A和终端B的用户能够进行视频会议。
再如,以在线教育场景为例,教师使用终端A以PPT(PowerPoint,幻灯片演示文稿)或者桌面视频的方式对学生进行在线教育。终端A截取屏幕内容图像,通过本申请实施例提供的屏幕视频的编码方法,对该屏幕内容图像进行编码,从而得到屏幕视频,终端A借助于服务器将该屏幕视频转发至学生使用的终端B,终端B基于解码所得到的图像进行视频播放,从而使用终端A的教师和使用终端B的学生能够进行在线教育。
再如,以远程桌面场景为例,终端A截取屏幕内容图像,通过本申请实施例提供的屏幕视频的编码方法,对该屏幕内容图像进行编码,从而得到屏幕视频,终端A借助于服务器将该屏幕视频转发至用户使用的终端B,终端B基于解码所得到的图像进行视频播放,从而使用终端B的用户能够远程看到终端A的屏幕画面,进而对终端A进行远程操作。
需要说明的一点是,以上场景仅是示例性说明,并不对视频编码场景造成限制,本申请除了应用在以上场景外,还能够应用在其他任一视频编码场景中,例如视频通话、视频分享或者视频网站浏览等场景中。
在介绍完本申请实施例的实施环境和应用场景之后,下面对本申请实施例提供的屏幕视频的编码方法进行介绍。图2是根据本申请实施例提供的一种屏幕视频的编码方法流程图,参见图2,以执行主体为终端为例,方法包括:
201、终端确定屏幕内容图像中待确定哈希值的第一图像块。
其中,屏幕内容图像为终端截取自身的屏幕内容得到的。终端在得到屏幕内容图像之后,对该屏幕内容图像进行编码。屏幕内容图像包括多个图像块。在一些实施例中,终端将未确定哈希值的图像块称为第一图像块,将已确定哈希值的图像块称为第二图像块。每个图像块包括多个像素点,且每个图像块的尺寸相同。
在一些实施例中,终端以滑动窗口的方式确定屏幕内容图像中的多个图像块。可选地,终端按照从左到右、从上到下的顺序滑动窗口,得到多个图像块。其中,窗口每次滑动的步长为一个像素点。窗口的尺寸决定了图像块的尺寸。图像块的尺寸可以根据需要进行设置,本申请对此不作限定。例如,图像块的尺寸为4×4、8×8、16×16、32×32或者64×64等。
202、终端基于该第一图像块所包含的多个第一图像子块,确定该屏幕内容图像的第二图像块中是否存在与任一该第一图像子块重合的第二图像子块,该第二图像块为在哈希表中已存储有对应哈希值的图像块,该哈希表用于在编码过程中为待编码图像块确定预测块。
在本申请实施例中,在对屏幕内容图像进行编码之前,终端先建立屏幕内容图像对应的哈希表。该哈希表存储了屏幕内容图像中多个图像块的哈希值。其中,每个图像块的图像特征信息是基于该图像块包括的多个像素点确定的。
在本申请实施例中,第一图像块和第二图像块之间可能存在重合区域,在该重合区域包括第一图像块中的第一图像子块时,说明第二图像块中存在与该第一图像子块重合的第二图像子块。
例如,参见图3,第一图像块和第二图像块均包括四个图像子块,第一图像块和第二图像块存在重合的图像子块,该重合的图像子块位于第一图像块的左上角,同时,该重合的图像子块位于第二图像块的右下角。
203、终端在该第二图像块中存在该第二图像子块的情况下,从该第二图像块的图像特征信息中,获取该第一图像块的至少一个第一图像子块的图像特征信息。
其中,在第二图像块包括与任一第一图像子块重合的第二图像子块的情况下,由于该第二图像子块的图像特征信息已经在确定第二图像块的哈希值的过程中确定了,那么在确定第一图像块的哈希值时,终端能够从已存储的第二图像子块的图像特征信息中,获取与该第二图像子块重合的第一图像子块的图像特征信息。
204、终端基于该至少一个图像子块的图像特征信息,确定该第一图像块的哈希值,将该第一图像块的哈希值存储至该哈希表中,基于该屏幕内容图像的哈希表,对该屏幕内容图像进行编码。
其中,每个图像块的哈希值是基于该图像块包括的多个图像子块的图像特征信息确定的。可选地,在确定每个图像块的哈希值的过程中,终端每确定一个图像子块的图像特征信息,就存储该图像子块的图像特征信息,以便后续在确定其他图像块的哈希值的过程中重复使用。可见,在本申请实施例中,终端在确定了一个图像块所包含的图像子块的图像特征信息之后,就立即确定该图像块的哈希值,提高了哈希值的确定效率。
在一些实施例中,终端在将屏幕内容图像中每个图像块的哈希值均存储在哈希表中之后,开始对屏幕内容图像进行编码。需要说明的是,终端可以在获取到多帧屏幕内容图像时,才对屏幕内容图像进行编码,或者,终端还可以在获取到一帧屏幕内容图像时,就对该屏幕内容图像进行编码,本申请实施例对此不作限定。
在本申请实施例中,在建立屏幕内容图像的哈希表的过程中,对于当前待确定哈希值的第一图像块所包含的多个第一图像子块,在已存储哈希值的第二图像块中存在与该第一图像子块重合的第二图像子块的情况下,能够直接使用第一图像子块之前计算过的图像特征信息,来确定第一图像块的哈希值,无需重复确定第一图像子块的图像特征信息,从而降低了哈希值的确定复杂度,进而降低了屏幕视频的编码复杂度。
图4是根据本申请实施例提供的一种屏幕视频的编码方法流程图,参见图4,在本申请实施例中以终端对屏幕视频进行编码为例进行说明,方法包括:
401、终端确定屏幕内容图像中待确定哈希值的第一图像块。
其中,在建立哈希表的过程中,屏幕内容图像中的每个图像块均需要确定哈希值。可选地,终端在以滑动窗口的方式确定出一个图像块之后,就执行计算图像块的哈希值的步骤。
402、终端确定该第一图像块所包含的每个该第一图像子块对应的标签,该标签用于表示是否已存储该第一图像子块的图像特征信息。
在本申请实施例中,终端基于每个图像子块包括的多个像素点,确定该图像子块的图像特征信息,并存储该图像子块的图像特征信息。相应地,终端为每个图像子块设置一个标签。在一些实施例中,终端为已存储图像特征信息的图像子块设置一个标签,从而后续能够基于该标签,确定是否已存储该图像子块的图像特征信息。也即是,设置了标签的图像子块的图像特征信息已存储,而未设置标签的图像子块的图像特征信息未存储。
在另一些实施例中,终端在划分图像子块时,就为图像子块设置标签,此时设置的标签表示未存储该图像子块的图像特征信息;在存储了该图像子块的图像特征信息之后,更新该图像子块的标签,此时更新的标签表示已存储该图像子块的图像特征信息。
其中,由于每个图像子块在屏幕内容图像中的位置是唯一的,那么终端可以用坐标作为图像子块的标识,来存储图像子块的标签。或者,终端可以为每个图像子块设置编号,用编号作为图像子块的标识,来存储图像子块的标签。需要说明的是,标签的表示形式可以根据需要进行设置,本申请对此不作限定。例如,标签为1或0,1表示已存储图像子块的图像特征信息,0表示未存储图像子块的图像特征信息。此外,编号的表示形式也可以根据需要进行设置,本申请对此不作限定。例如,编号为1、2、3或者4等数字形式的编号。
在一些实施例中,终端以标签数组的方式存储图像子块的坐标或者编号与图像子块的标签之间的对应关系,相应地,步骤402的实现方式包括:终端从该屏幕内容图像对应的标签数组中,确定每个该第一图像子块对应的标签。其中,该标签数组用于存储该屏幕内容图像所包含的图像子块的标签。相应地,终端将第一图像子块在屏幕内容图像中的坐标作为索引,根据该索引在标签数组中查找与该坐标相对应的标签。或者,终端将第一图像子块的编号作为索引,根据该索引在标签数组中查找与该编号相对应的标签。在本申请实施例中,以标签数组的方式存储图像子块的标签,实现对是否已存储图像子块的图像特征信息的记录,从而提高了标签存储的有序性,便于标签的查找。
403、终端在该标签与目标标签匹配的情况下,确定第二图像块中存在与该第一图像子块重合的第二图像子块。
其中,第二图像块为在哈希表中已存储有对应哈希值的图像块,该哈希表用于在编码过程中为待编码图像块确定预测块。目标标签表示已存储对应图像子块的图像特征信息。在一些实施例中,在第一图像子块的标签与目标标签匹配的情况下,说明终端在确定第二图像块的哈希值的过程中,已经确定出来该第一图像子块的图像特征信息并存储,也即是第二图像块中存在与第一图像子块重合第二图像子块。
在另一些实施例中,终端在该标签与该目标标签不匹配的情况下,确定该第二图像块中不存在与该第一图像子块重合的第二图像子块。其中,标签与目标标签不匹配,说明终端在确定第一图像块的哈希值之前,还没有确定过第一图像子块的图像特征信息,也即是第二图像块中不存在与第一图像子块重合的第二图像子块。
在本申请实施例中,由于图像子块对应的标签表示是否已经存储了该图像子块的图像特征信息,通过结合标签与目标标签是否匹配,来确定第二图像块是否包括与第一图像子块重合的第二图像子块,从而提高了判断结果的准确性。
404、终端在该第二图像块中存在该第二图像子块的情况下,从该第二图像块的图像特征信息中,获取该第一图像块的至少一个第一图像子块的图像特征信息。
其中,对于每个图像子块,终端将该图像子块的坐标或者编号与该图像子块的图像特征信息对应存储,可选地,终端从该第二图像块的图像特征信息中,获取该第一图像块的至少一个第一图像子块的图像特征信息的实现方式包括:终端从第二图像块的图像子块的图像特征信息中,获取每个该第一图像子块的坐标或者编号对应的图像特征信息。
在一些实施例中,对于第一图像块包含的多个第一图像子块,终端按照顺序依次执行步骤402-步骤404的操作。获取该多个第一图像子块的图像特征信息的顺序可以根据需要进行设置,本申请对此不作限定。例如,顺序为从左到右、从上到下的顺序。或者,终端对于该多个第一图像子块,同时执行步骤402-步骤404的操作,本申请实施例对此不作限定。
在另一些实施例中,由于在进行哈希计算时,通常是按照一定顺序进行,因此,与哈希表中已有图像块之间的距离较近的图像子块,相较于距离较远的图像子块而言,更有可能存在已存储的图像特征信息,基于此,终端可以基于位置先筛选出一部分第一图像子块,也即是,本申请实施例提供的屏幕视频的编码方法还包括以下步骤:终端从第一图像块所包含的多个第一图像子块中,选择位置符合条件的目标数量个第一图像子块,对于每个该第一图像子块,依次执行步骤402-步骤404的操作。
其中,条件是指第一图像子块与已存储哈希值的图像块之间的距离最近。可选地,终端从第一图像块的多个第一图像子块中,选择距离排序靠前的目标数量个第一图像子块。目标数量可以根据需要进行设置,本申请实施例对此不作限定,例如,目标数量为2、3或者4等。
在本申请实施例中,由于根据第一图像子块的位置对多个第一图像子块进行了筛选,使得终端能够根据筛选得到的第一图像子块,获取已存储的图像特征信息,从而节省了操作步骤,提高了图像特征信息的获取效率。
405、终端从该第一图像块的多个第一图像子块中,确定除第三图像子块外的第四图像子块,该第三图像子块为已获取到图像特征信息的图像子块,该第四图像子块为未获取到图像特征信息的图像子块。
其中,第一图像块和第二图像块不完全重合,那么除已获取到图像特征信息的图像子块,也即第三图像子块外,第一图像块的多个第一图像子块还包括至少一个第四图像子块。例如,继续参见图3,第二图像块中位于右下角的第二图像子块与第一图像块中位于左上角的第一图像子块重合,那么这个重合的第一图像子块也为第三图像子块,而第一图像块中的第四图像子块,也即是位于右上角、左下角和右下角的第一图像子块。
406、终端基于该第四图像子块包括的多个像素点,确定该第四图像子块的图像特征信息。
在一些实施例中,对于每个第四图像子块,步骤406的实现方式包括:终端确定该第四图像子块包括的多个该像素点的平均像素值和像素梯度值,得到该第四图像子块的图像特征信息。
其中,像素梯度值为在水平方向的水平像素梯度值和在垂直方向的垂直像素梯度值的平均值。在本申请实施例中,由于像素点的像素值能够体现图像子块的图像特征,则通过基于多个像素点的平均像素值和像素梯度值,来确定图像子块的图像特征信息,使得确定出的图像特征信息更加准确。
407、终端基于该多个第一图像子块的图像特征信息,确定该第一图像块的哈希值。
其中,图像块的哈希值的数据类型可以根据需要进行设置,本申请实施例对此不作限定。例如,哈希值的数据类型为整型。在一些实施例中,终端对多个第一图像子块的图像特征信息进行处理,将处理后的图像特征信息组成第一图像块的哈希值。相应地,步骤406的实现方式包括:终端将每个第一图像子块的平均像素值的前第一目标位数的数据作为第一哈希值,得到多个第一哈希值;确定该多个第一图像子块的平均像素梯度值;将该平均像素梯度值的前第二目标位数的数据作为第二哈希值;按照每个第一图像子块在该第一图像块中的位置,将该多个第一哈希值和该第二哈希值组成该第一图像块的哈希值。
其中,第一目标位数和第二目标位数可以根据需要进行设置,本申请对此不作限定。例如,平均像素值的数据长度为8比特,第一目标位数为3,则终端取每个第一图像子块的平均像素值的前3比特数据作为第一哈希值。再如,平均像素梯度值的数据长度为16比特,第二目标位数为4,则终端取平均像素梯度值的前4比特数据作为第二哈希值。
例如,以第一图像块的哈希值为16比特的整型数据为例进行说明,参见图5,第一图像块的大小为8×8,也即是第一图像块包括64个像素点,将第一图像块划分为4个大小为4x4的第一图像子块,4个第一图像子块分别标记序号为0,1,2,3。依次确定4个第一图像子块的平均像素值(数据长度为8比特),参见公式一,取前3比特数据作为第一哈希值。确定每个第一图像子块的像素梯度值(grad),对4个第一图像子块的像素梯度值进行平均,得到4个第一图像子块的平均像素梯度值,参见公式二,取前4比特数据作为第二哈希值。参见公式三,将4个第一图像子块的平均像素值(共12比特数据)和平均像素梯度值(共4个比特数据)进行组合,也即是将多个第一哈希值和第二哈希值进行组合,得到16比特数据,也即是第一图像块的哈希值(hash)。
公式一:avg′i=(avgi>>5)&0×7,i=0,1,2,3
其中,avgi为4个第一图像子块的平均像素值,avg′i为取前3比特数据之后得到的第一哈希值,>>表示右移,&表示与逻辑,gradi为第一图像子块的像素梯度值,grad为取4个第一图像子块的平均像素梯度值的前4比特数据之后得到的第二哈希值,<<表示左移,avg″0为将序号为0的第一图像子块的第一哈希值左移13位得到的哈希值,avg″1为将序号为1的第一图像子块的第一哈希值左移10位得到的哈希值,avg″2为将序号为2的第一图像子块的第一哈希值左移7位得到的哈希值,avg″3为将序号为3的第一图像子块的第一哈希值左移4位得到的哈希值,hashIdx为第一图像块的哈希值。
在本申请实施例中,对已确定图像特征信息的第一图像子块,直接获取其图像特征信息,对没有确定过图像特征信息的第一图像子块,根据其包括的像素点的像素值确定其图像特征信息,从而实现对第一图像块的哈希值的确定,进而降低了哈希值的确定复杂度。
408、终端将该第一图像块的哈希值存储至该哈希表中。
在一些实施例中,在第一图像块与第二图像块之间的重合区域不包括第一图像块中的第一图像子块的情况下,终端需要计算第一图像块中每个第一图像子块的图像特征信息,相应地,本申请实施例提供的屏幕视频的编码方法还包括以下步骤:终端在该第二图像块中不存在与任一第一图像子块重合的第二图像子块的情况下,对于该第一图像块所包含的多个第一图像子块,基于每个该第一图像子块包括的多个像素点,确定该第一图像子块的图像特征信息。
其中,终端基于每个该第一图像子块包括的多个像素点,确定该第一图像子块的图像特征信息的实现方式与步骤406的实现方式同理,在此不再赘述。
可选地,在确定出每个第一图像子块的图像特征信息之后,终端存储每个第一图像子块的图像特征信息。在本申请实施例中,通过存储每个第一图像子块的图像特征信息,使得后续在确定其他图像块的哈希值时,能够直接获取这些第一图像子块的图像特征信息,进而为哈希值的确定提供了数据支持。
在本申请实施例中,考虑到哈希值的确定过程具有较高的复杂度,而在基于图像子块的图像特征信息确定哈希值的过程中,每个图像块和其他图像块之间都可能存在重合的图像子块,而每确定一个图像块的哈希值,都需要计算该图像块包括的每个图像子块的图像特征信息,那么就需要计算大量重复图像子块的图像特征信息,造成计算冗余,因此通过将已经确定过的图像子块的图像特征信息存储下来,从而在后续确定图像子块的图像特征信息时,能够进行复用,避免了重复的计算操作,节省了哈希值的确定复杂度。
409、终端基于该屏幕内容图像的哈希表,对该屏幕内容图像进行编码。
其中,屏幕视频通常由多帧屏幕内容图像生成,由于屏幕视频中存在大量重复的纹理,比如相同的文字在一帧屏幕内容图像中多次出现,那么基于IBC技术提供的帧内预测方法能够对屏幕内容图像进行高效地预测,从而提升编码的质量。可选地,步骤409的实现方式包括:终端基于该哈希表,确定该屏幕内容图像中与待编码图像块匹配的预测块,该预测块为该屏幕内容图像的已编码图像块,该待编码图像块的哈希值与该预测块的哈希值相同;基于该预测块,对该待编码图像块进行编码。
其中,哈希表中与待编码图像块的哈希值相同的图像块的数量可能为1个或多个,相应地,终端基于该哈希表,确定该屏幕内容图像中待编码图像块匹配的预测块的实现方式包括:终端确定待编码图像块的哈希值,该哈希值是基于待编码图像块包括的多个像素点确定的;基于该哈希值,从哈希表中选择哈希值与该哈希值相同的至少一个图像块;从该至少一个图像块中,确定预测块,该预测块与该待编码图像块之间的图像相似度高于相似度阈值。
其中,相似度阈值可以根据需要进行设置,本申请对此不作限定。终端确定待编码图像块与预测块之间的相似度的实现方式包括:终端将待编码图像块与预测块之间,对应位置处像素点的像素值的残差作为相似度。需要说明的是,终端确定待编码图像块的哈希值的实现方式与上述确定第一图像块的哈希值的实现方式同理,在此不再赘述。
需要说明的是,在确定出的预测块的数量为多个的情况下,终端将与待编码图像块之间的距离最近的预测块作为最终的预测块,然后基于该最终的预测块对待编码图像块进行编码。其中,两个图像块之间的距离可以用BV(Block Vector,块矢量)来表示。例如,参见图6,对于当前CU(Coding Unit,编码单元),也即是当前待编码的图像块,终端在当前帧(屏幕内容图像)中已编码图像块进行搜索,将搜索得到的与当前CU最相似且距离最近的图像块作为当前CU的预测块。
在本申请实施例中,由于预测块为已经编码完成的图像块,则通过结合预测块来对待编码的图像块进行编码,能够提高编码的准确性。
例如,参见图7,终端依次确定每个图像块的哈希值,将图像块的哈希值存储在哈希表中,在编码时,基于哈希表获取预测块。在本申请实施例中,提供了一种基于哈希搜索的方法来进行快速地帧内搜索,且该方法哈希值的确定复杂度较低。
在本申请实施例中,在建立屏幕内容图像的哈希表的过程中,对于当前待确定哈希值的第一图像块所包含的多个第一图像子块,在已存储哈希值的第二图像块中存在与该第一图像子块重合的第二图像子块的情况下,能够直接使用第一图像子块之前计算过的图像特征信息,来确定第一图像块的哈希值,无需重复确定第一图像子块的图像特征信息,从而降低了哈希值的确定复杂度,进而降低了屏幕视频的编码复杂度。
图8是根据本申请实施例提供的一种屏幕视频的编码装置的结构示意图。参见图8,装置包括:图像块确定模块801、信息确定模块802、信息获取模块803和图像编码模块804。
图像块确定模块801,用于确定屏幕内容图像中待确定哈希值的第一图像块;
信息确定模块802,用于基于该第一图像块所包含的多个第一图像子块,确定该屏幕内容图像的第二图像块中是否存在与任一该第一图像子块重合的第二图像子块,该第二图像块为在哈希表中已存储有对应哈希值的图像块,该哈希表用于在编码过程中为待编码图像块确定预测块;
信息获取模块803,用于在该第二图像块中存在与任一该第一图像子块重合的第二图像子块的情况下,从该第二图像块的图像特征信息中,获取该第一图像块的至少一个第一图像子块的图像特征信息;
图像编码模块804,用于基于该至少一个图像子块的图像特征信息,确定该第一图像块的哈希值,将该第一图像块的哈希值存储至该哈希表中,基于该屏幕内容图像的哈希表,对该屏幕内容图像进行编码。
在一个可能实现的方式中,该信息确定模块802,包括:
标签确定单元,用于确定该第一图像块所包含的每个该第一图像子块对应的标签,该标签用于表示是否已存储该第一图像子块的图像特征信息;
信息确定单元,用于在该标签与目标标签匹配的情况下,确定该第二图像块中存在与该第一图像子块重合的第二图像子块,该目标标签表示已存储对应图像子块的图像特征信息;
在该标签与该目标标签不匹配的情况下,确定该第二图像块中不存在与该第一图像子块重合的第二图像子块。
在一个可能实现的方式中,该标签确定单元,用于从该屏幕内容图像对应的标签数组中,确定每个该第一图像子块对应的标签,该标签数组用于存储该屏幕内容图像所包含的图像子块的标签。
在一个可能实现的方式中,该装置还包括:
子块选择模块,用于从该第一图像块所包含的多个第一图像子块中,选择位置符合条件的目标数量个第一图像子块;
信息获取模块802,用于对于每个该第一图像子块,依次确定该屏幕内容图像的第二图像块中是否存在与任一该第一图像子块重合的第二图像子块,该条件是第一图像子块与已存储哈希值的图像块之间的距离最近。
在一个可能实现的方式中,该哈希值确定模块803,包括:
子块确定单元,用于从该第一图像块的多个第一图像子块中,确定除第三图像子块外的第四图像子块,该第三图像子块为已获取到图像特征信息的第一图像子块,该第四图像子块为未获取到图像特征信息的第一图像子块;
信息确定单元,用于基于该第四图像子块包括的多个像素点,确定该第四图像子块的图像特征信息;
哈希值确定单元,用于基于该多个第一图像子块的图像特征信息,确定该第一图像块的哈希值。
在一个可能实现的方式中,该信息确定单元,用于确定该第四图像子块包括的该多个像素点的平均像素值和像素梯度值,得到该第四图像子块的图像特征信息,该像素梯度值为在水平方向的水平像素梯度值和在垂直方向的垂直像素梯度值的平均值。
在一个可能实现的方式中,该装置还包括:
该信息确定模块,还用于在该第二图像块中不存在与任一该第一图像子块重合的第二图像子块的情况下,对于该第一图像块所包含的多个第一图像子块,基于每个该第一图像子块包括的多个像素点,确定该第一图像子块的图像特征信息。
在一个可能实现的方式中,该装置还包括:
信息存储模块,用于存储每个该第一图像子块的图像特征信息。
在一个可能实现的方式中,该图像编码模块804,用于基于该哈希表,确定该屏幕内容图像中待编码图像块匹配的预测块,该预测块为该屏幕内容图像的已编码图像块,该待编码图像块的哈希值与该预测块的哈希值相同;基于该预测块,对该待编码图像块进行编码。
在本申请实施例中,在建立屏幕内容图像的哈希表的过程中,对于当前待确定哈希值的第一图像块所包含的多个第一图像子块,在已存储哈希值的第二图像块中存在与该第一图像子块重合的第二图像子块的情况下,能够直接使用第一图像子块之前计算过的图像特征信息,来确定第一图像块的哈希值,无需重复确定第一图像子块的图像特征信息,从而降低了哈希值的确定复杂度,进而降低了屏幕视频的编码复杂度。
需要说明的是:上述实施例提供的屏幕视频的编码装置在对屏幕内容图像进行编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的屏幕视频的编码装置与屏幕视频的编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在一些实施例中,计算机设备被配置为终端,图9是根据本申请实施例提供的一种终端900的结构示意图。该终端900可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器901所执行以实现本申请中方法实施例提供的屏幕视频的编码方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置在终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在另一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置在终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在另一些实施例中,计算机设备被配置为服务器,图10是根据本申请实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)1001和一个或一个以上的存储器1002,其中,该存储器1002中存储有至少一条计算机程序,该至少一条计算机程序由该处理器1001加载并执行以实现上述各个方法实施例提供的屏幕视频的编码方法。当然,该服务器1000还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1000还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行以实现上述各个方法实施例提供的屏幕视频的编码方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,该处理器执行该计算机程序代码,使得该计算机设备执行上述各个方法实施例提供的屏幕视频的编码方法。
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链系统。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种屏幕视频的编码方法,其特征在于,所述方法包括:
确定屏幕内容图像中待确定哈希值的第一图像块;
基于所述第一图像块所包含的多个第一图像子块,确定所述屏幕内容图像的第二图像块中是否存在与任一所述第一图像子块重合的第二图像子块,所述第二图像块为在哈希表中已存储有对应哈希值的图像块,所述哈希表用于在编码过程中为待编码图像块确定预测块;
在所述第二图像块中存在与任一所述第一图像子块重合的第二图像子块的情况下,从所述第二图像块的图像特征信息中,获取所述第一图像块的至少一个第一图像子块的图像特征信息;
基于所述至少一个第一图像子块的图像特征信息,确定所述第一图像块的哈希值,将所述第一图像块的哈希值存储至所述哈希表中,基于所述屏幕内容图像的哈希表,对所述屏幕内容图像进行编码。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一图像块所包含的多个第一图像子块,确定所述屏幕内容图像的第二图像块中是否存在与任一所述第一图像子块重合的第二图像子块,包括:
确定所述第一图像块所包含的每个所述第一图像子块对应的标签,所述标签用于表示是否已存储所述第一图像子块的图像特征信息;
在所述标签与目标标签匹配的情况下,确定所述第二图像块中存在与所述第一图像子块重合的第二图像子块,所述目标标签表示已存储对应图像子块的图像特征信息;
在所述标签与所述目标标签不匹配的情况下,确定所述第二图像块中不存在与所述第一图像子块重合的第二图像子块。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一图像块所包含的每个所述第一图像子块对应的标签,包括:
从所述屏幕内容图像对应的标签数组中,确定每个所述第一图像子块对应的标签,所述标签数组用于存储所述屏幕内容图像所包含的图像子块的标签。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述第一图像块所包含的多个第一图像子块中,选择位置符合条件的目标数量个第一图像子块,对于每个所述第一图像子块,依次执行所述确定所述屏幕内容图像的第二图像块中是否存在与任一所述第一图像子块重合的第二图像子块的步骤,所述条件是第一图像子块与已存储哈希值的图像块之间的距离最近。
5.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个第一图像子块的图像特征信息,确定所述第一图像块的哈希值,包括:
从所述第一图像块的多个第一图像子块中,确定除第三图像子块外的第四图像子块,所述第三图像子块为已获取到图像特征信息的第一图像子块,所述第四图像子块为未获取到图像特征信息的第一图像子块;
基于所述第四图像子块包括的多个像素点,确定所述第四图像子块的图像特征信息;
基于所述多个第一图像子块的图像特征信息,确定所述第一图像块的哈希值。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第四图像子块包括的多个像素点,确定所述第四图像子块的图像特征信息,包括:
确定所述第四图像子块包括的所述多个像素点的平均像素值和像素梯度值,得到所述第四图像子块的图像特征信息,所述像素梯度值为在水平方向的水平像素梯度值和在垂直方向的垂直像素梯度值的平均值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第二图像块中不存在与任一所述第一图像子块重合的第二图像子块的情况下,对于所述第一图像块所包含的多个第一图像子块,基于每个所述第一图像子块包括的多个像素点,确定所述第一图像子块的图像特征信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
存储每个所述第一图像子块的图像特征信息。
9.根据权利要求1所述的方法,其特征在于,所述基于所述屏幕内容图像的哈希表,对所述屏幕内容图像进行编码,包括:
基于所述哈希表,确定所述屏幕内容图像中待编码图像块匹配的预测块,所述预测块为所述屏幕内容图像的已编码图像块,所述待编码图像块的哈希值与所述预测块的哈希值相同;
基于所述预测块,对所述待编码图像块进行编码。
10.一种屏幕视频的编码装置,其特征在于,所述装置包括:
图像块确定模块,用于确定屏幕内容图像中待确定哈希值的第一图像块;
信息确定模块,用于基于所述第一图像块所包含的多个第一图像子块,确定所述屏幕内容图像的第二图像块中是否存在与任一所述第一图像子块重合的第二图像子块,所述第二图像块为在哈希表中已存储有对应哈希值的图像块,所述哈希表用于在编码过程中为待编码图像块确定预测块;
信息获取模块,用于在所述第二图像块中存在与任一所述第一图像子块重合的第二图像子块的情况下,从所述第二图像块的图像特征信息中,获取所述第一图像块的至少一个第一图像子块的图像特征信息;
图像编码模块,用于基于所述至少一个图像子块的图像特征信息,确定所述第一图像块的哈希值,将所述第一图像块的哈希值存储至所述哈希表中,基于所述屏幕内容图像的哈希表,对所述屏幕内容图像进行编码。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行权利要求1至9任一项权利要求所述的屏幕视频的编码方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一条计算机程序,所述至少一条计算机程序用于执行权利要求1至9任一项权利要求所述的屏幕视频的编码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111078908.0A CN115811615A (zh) | 2021-09-15 | 2021-09-15 | 屏幕视频的编码方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111078908.0A CN115811615A (zh) | 2021-09-15 | 2021-09-15 | 屏幕视频的编码方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115811615A true CN115811615A (zh) | 2023-03-17 |
Family
ID=85481933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111078908.0A Pending CN115811615A (zh) | 2021-09-15 | 2021-09-15 | 屏幕视频的编码方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115811615A (zh) |
-
2021
- 2021-09-15 CN CN202111078908.0A patent/CN115811615A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134804B (zh) | 图像检索方法、装置及存储介质 | |
CN110022489B (zh) | 视频播放方法、装置及存储介质 | |
CN108391127B (zh) | 视频编码方法、装置、存储介质及设备 | |
CN109922356B (zh) | 视频推荐方法、装置和计算机可读存储介质 | |
CN108616776B (zh) | 直播分析数据获取方法及装置 | |
CN111753784A (zh) | 视频的特效处理方法、装置、终端及存储介质 | |
CN110750734A (zh) | 天气显示方法、装置、计算机设备及计算机可读存储介质 | |
CN109168032B (zh) | 视频数据的处理方法、终端、服务器及存储介质 | |
CN110149491B (zh) | 视频编码方法、视频解码方法、终端及存储介质 | |
CN111010588B (zh) | 直播处理方法、装置、存储介质及设备 | |
CN111083554A (zh) | 直播礼物显示的方法和装置 | |
CN108492339B (zh) | 获取资源压缩包的方法、装置、电子设备及存储介质 | |
CN111294551B (zh) | 进行音视频传输的方法、装置、设备及存储介质 | |
CN112053360A (zh) | 图像分割方法、装置、计算机设备及存储介质 | |
CN111770339B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN113709479B (zh) | 基于自适应帧内刷新机制的解码、编码方法及相关设备 | |
CN109040753B (zh) | 预测模式选择方法、装置及存储介质 | |
CN114817709A (zh) | 排序方法、装置、设备及计算机可读存储介质 | |
CN114332709A (zh) | 视频处理方法、装置、存储介质以及电子设备 | |
CN113609387A (zh) | 播放内容推荐方法、装置、电子设备及存储介质 | |
CN115811615A (zh) | 屏幕视频的编码方法、装置、计算机设备及存储介质 | |
CN111294320B (zh) | 数据转换的方法和装置 | |
CN112487162A (zh) | 确定文本语义信息的方法、装置、设备以及存储介质 | |
CN111464829A (zh) | 切换媒体数据的方法、装置、设备及存储介质 | |
CN110636326A (zh) | 直播视频处理方法及装置、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40084135 Country of ref document: HK |