CN111669595A - 一种屏幕内容编码方法、装置、设备和介质 - Google Patents

一种屏幕内容编码方法、装置、设备和介质 Download PDF

Info

Publication number
CN111669595A
CN111669595A CN202010454534.7A CN202010454534A CN111669595A CN 111669595 A CN111669595 A CN 111669595A CN 202010454534 A CN202010454534 A CN 202010454534A CN 111669595 A CN111669595 A CN 111669595A
Authority
CN
China
Prior art keywords
coding unit
reference block
target coding
image
target
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
Application number
CN202010454534.7A
Other languages
English (en)
Inventor
陈玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010454534.7A priority Critical patent/CN111669595A/zh
Publication of CN111669595A publication Critical patent/CN111669595A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请属于视频编码技术领域,公开了一种屏幕内容编码方法、装置、设备和介质,包括,在屏幕内容图像的已编码区域内的所有参考块中,筛选出该屏幕内容图像中待编码的目标编码单元匹配的目标参考块,并基于目标编码单元以及相应的目标参考块,进行屏幕内容编码。这样,减少了数据计算开销,对目标编码单元的有效搜索区域进行了扩展,增多了参考块的数量,提高了屏幕内容编码质量。

Description

一种屏幕内容编码方法、装置、设备和介质
技术领域
本申请涉及屏幕内容编码领域,尤其涉及一种屏幕内容编码方法、装置、设备和介质。
背景技术
屏幕内容图像与传统摄像头采集的图像不同,是电子设备生成的图像,是从各类设备(如,计算机,移动终端等)的图像显示单元捕获的。如,计算机图形文本、自然图像与图形文本结合的混合图像以及计算机所生成的动画。
为提高屏幕内容编码的压缩效率,高效屏幕内容编码(high efficiency videocoding,HEVC)屏幕内容编码(Screen Content Coding,SCC)应运而生。
HEVC SCC编码中,通常将一帧屏幕内容图像分割成多个编码树单元(coding treeunit,CTU),再将CTU分割为多个编码单元(code unit,CU),并采用块级的编码模式(IntraBlock Copy,IBC)进行屏幕内容编码,所谓IBC技术,即在待处理的目标编码单元的有效搜索区域中确定匹配的目标参考块。其中,目标编码单元的有效搜索区域和无效搜索区域是根据HEVC SCC标准确定的。
但是,现有的IBC技术中,需要判断屏幕内容图像内的参考块是否位于目标编码单元的有效搜索区域内,计算开销较大,并且有效搜索区域内的参考块数量较少,屏幕内容图像的率失真(Rate-Distortion,RD)质量较差。
因此,需要一种新的技术方案对IBC进行优化,以减小计算开销,提高屏幕内容编码质量。
发明内容
本申请实施例提供一种屏幕内容编码方法、装置、设备和介质,用以在采用IBC进行屏幕内容编码时,对IBC进行优化,减小计算开销,提高屏幕内容编码质量。
一方面,提供一种屏幕内容编码方法,包括:
在屏幕内容图像的已编码区域内的参考块中,筛选出屏幕内容图像中待编码的目标编码单元匹配的目标参考块;
基于目标编码单元以及目标参考块,进行屏幕内容编码。
一方面,提供一种屏幕内容编码装置,包括:
匹配单元,用于在屏幕内容图像的已编码区域内的参考块中,筛选出屏幕内容图像中待编码的目标编码单元匹配的目标参考块;
处理单元,用于基于目标编码单元以及目标参考块,进行屏幕内容编码。
较佳的,匹配单元用于:
获取目标编码单元的像素信息;
分别针对单向链表中的每一参考块,执行以下步骤,直至确定存在图像相似度符合预设匹配条件的参考块:
获取参考块的像素信息,并根据目标编码单元的像素信息和参考块的像素信息,确定目标编码单元和参考块之间的图像相似度,以及若图像相似度不低于第一相似阈值,则确定参考块为符合预设匹配条件的参考块。
较佳的,匹配单元还用于:
当确定不存在不低于第一相似阈值的参考块时,根据获取的目标编码单元分别与每一参考块之间的位置距离和相应图像相似度,确定符合预设匹配条件的参考块。
一方面,提供一种控制设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行上述任一种屏幕内容编码方法的步骤。
一方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种屏幕内容编码方法的步骤。
本申请实施例提供的一种屏幕内容编码方法、装置、设备和介质中,在屏幕内容图像的已编码区域内的所有的参考块中,筛选出该屏幕内容图像中待编码的目标编码单元匹配的目标参考块,并基于目标编码单元以及相应的目标参考块,进行屏幕内容编码。这样,减少了位置计算开销,对目标编码单元的有效搜索区域进行了扩展,增多了参考块的数量,提高了屏幕内容编码质量,进一步地,若目标参考块位于目标编码单元的无效搜索区域内,则可以减少目标参考块的搜索路径长度,降低了计算复杂度。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施方式中一种应用场景示意图;
图2为现有技术下一种HEVC SCC编码的流程示意图;
图3为本申请实施方式中一种屏幕内容编码方法的实施流程图;
图4a为本申请实施方式中一种四叉树分割的原理示意图;
图4b为本申请实施方式中一种CTU的示意图;
图4c为现有技术下一种多线程屏幕内容编码的示意图;
图4d为本申请实施方式中一种搜索区域划分示意图;
图5为本申请实施方式中一种目标参考块确定方法的实施流程图;
图6为本申请实施方式中一种多线程屏幕内容编码的示意图;
图7为本申请实施方式中一种屏幕内容编码装置的结构示意图;
图8为本申请实施方式中一种控制设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
终端设备:可以是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信***设备、个人导航设备、个人数字助理、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,终端设备能够支持任意类型的针对用户的接口(例如可穿戴设备)等。
服务器:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务以及大数据和人工智能平台等基础云计算服务的云服务器。
IBC:是块级的编码模式,在编码端会使用块匹配技术为每个当前CU寻找最优匹配块,并计算当前块和最优匹配块的位置之间的块向量。
帧间预测:从参考帧中找出与当前块最匹配的位置,参考的是时域上信息,包括:运动估计(Motion Estimation,ME)和运动补偿(Motion Compensation,MC)。
运动估计:确定当前待编码的CU在已编码的图像(参考帧)中的最佳对应图像块,并且计算出对应块的偏移(运动矢量)。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用***能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储***(以下简称存储***)是指通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储***。目前,存储***的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件***上,文件***将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件***将每个对象分别写入该逻辑卷的物理存储空间,且文件***会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件***能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储***为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量通常相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
下面介绍本申请实施例的设计思想。
为提高屏幕内容编码的压缩效率,HEVC SCC应运而生。HEVC SCC编码中,编码器根据目标编码单元的图像哈希值,获得相应的单向链表,其中,单向链表是根据CTU中已编码区域内的参考块创建的,一个单向链表中的各参考块对应的图像哈希值相同。
需要说明的是,实际应用中,单向链表(包括单向链表)是各参考块的位置链接而成的。本申请实施例中,为便于说明,则将单向链表中的各位置对应的参考块,表述为单向链表中包含的各参考块。
然后,编码器分别确定单向链表中的每一参考块是否位于目标编码单元的有效搜索区域内,直至获得目标编码单元匹配的目标参考块。
由于单向链表越深,确定单向链表中的参考块是否位于有效搜索区域内的计算开销就越大,并且有效搜索区域内的参考块数量有限,使得屏幕内容编码质量较差。
显然,传统技术中,并没有提供一种可以优化HEVC SCC中的IBC,减少计算开销,以及提高屏幕内容编码质量的技术方案。因此,需要一种屏幕内容编码技术方案,对IBC进行优化,以减小计算开销,提高屏幕内容编码质量。
申请人对传统技术中有效搜索区域和无效搜索区域的划分原理进行了仔细分析,发现有效搜索区域的确定标准是在编码线程的数量是无限的理想前提下设置的,目的是通过有效搜索区域避免影响多线程并行处理。而实际应用中,编码线程的数量通常是有限的,无效搜索区域的参考块若位于已编码区域,则不会影响编码线程并行处理,因此,可以将有效搜索区域扩展为已编码区域。
鉴于以上分析和考虑,本申请实施例中提供了一种屏幕内容编码方案,该方案中,在屏幕内容图像的已编码区域内的所有的参考块中,筛选出该屏幕内容图像中待编码的目标编码单元匹配的目标参考块,并基于目标编码单元以及相应的目标参考块,进行屏幕内容编码。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。方法在实际的处理过程中或者控制设备执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
参阅图1所示,为一种应用场景示意图。下面结合图1介绍与屏幕内容编码相关的一应用场景。
如图1所示的网络中包括终端设备10A、终端设备10B、网络20和服务器30,其中,终端设备10A和终端设备10B通过网络20与服务器30通信连接。
图1中,使用终端设备10A的用户要将正在观看的一段视频推送给终端设备10B。则该场景中,终端设备10A相当于编码端,终端设备10B相当于解码端。终端设备10A需要将该视频进行编码以得到编码后的视频流,终端设备10A将该视频流上传给服务器30,服务器30再将该视频流转发给终端设备10B,终端设备10B对该视频流进行解码,以实现该视频在终端设备10B上的正常播放。
参阅图2所示,为现有技术下HEVC SCC编码的流程示意图。在HEVC SCC的编码过程中,一帧屏幕内容图像从帧缓存中读取之后送入到编码器,先经过帧内或帧间预测之后得到预测值。在得到预测值之后,将预测值与输入数据相减,得到残差,然后进行离散余弦变换(Discrete Cosine Transform,DCT)变化和量化,得到残差系数,然后送入熵编码模块输出码流,同时,残差系数经反量化反变换之后,得到重构图像的残差值,再和帧内或者帧间预测之后得到的预测值相加,从而得到了重构图像,重构图像再经环内滤波之后,进入参考帧队列,作为下一帧的参考图像,从而一帧向后编码。其中,环内滤波可包括去块滤波(Deblocking Filter,DBF)和自适应像素补偿(Sample Adaptive Offset,SAO)。
其中,帧内预测采用IBC为每个待编码的目标编码单元寻找匹配的目标参考块,并计算两者之间的位置之间的块向量,参考的是空域上信息。
由于IBC技术中,需要判断各参考块是否位于目标编码单元的有效搜索区域内,计算复杂度和计算开销较大,并且有效搜索区域内的参考块数量有限,使得IBC RD质量较差,进而导致屏幕内容编码质量较差,因此,本申请实施例提供了一种屏幕内容编码方案,以降低计算复杂度和计算开销,并且提高了屏幕内容编码质量。
本申请实施例中,执行主体可以为用于屏幕内容编码的控制设备。控制设备可以为服务器,也可以为终端设备。可选的,控制设备可以为提供云存储和云计算的云服务器。本申请实施例中提供的屏幕内容编码方案,应用于采用HEVC SCC对屏幕内容图像进行编码的场景。
参阅图3所示,为本申请提供的一种屏幕内容编码方法的实施流程图。该方法的具体流程如下:
步骤300:控制设备获取屏幕内容图像中待编码的目标编码单元。
本申请实施例中,屏幕内容图像是电子设备生成的图像,是从各类设备(如,计算机,移动终端等)的图像显示单元捕获的,可以为视频中的一帧图像,也可以为单独的一张图像。
其中,屏幕内容图像可以为文本文档、幻灯片、网页以及游戏画面等。屏幕内容图像可以是采用YUV420、YUV422或YUV444中任一格式进行颜色编码的。“Y”表示明亮度(Luminance或Luma),也就是灰度值;而““U”和“V”表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。
其中,目标编码单元为屏幕内容图像中的一个CU。目标编码单元的大小可以为8×8,也可以为根据实际应用场景进行设置的,在此不作限制。
一种实施方式中,控制设备先根据预设最大CU大小,将屏幕内容图像分割成多个编码树单元(coding tree unit,CTU)块,然后每个CTU块再采用四叉树的循环分层结构进行多次划分,直到预设的最小CU大小。
参阅图4a所示,为一种四叉树分割的原理示意图。四叉树的具体的分割过程用两个变量进行标记:深度(Depth)和分割标记符(Split_flag)。最大的CU(LCU)的大小可以为64×64,深度为0,用CU0表示,CU0可以分成四个大小为32×32的深度为1的CU1,以此类推,直到可以分为深度为3的CU3则不可再分。对于CUd的大小为2N*2N,深度为d,此时,若它的split_flag值为0,则CUd不再被划分;否则被分为四个大小为N×N的深度d+1的CUd+1。
需要说明的是,参考块是与目标编码单元相同大小(即相同尺寸)的图像块,参考块与CU的获取方式不同,每一参考块是根据屏幕内容图像中的每一参考点生成的。
本申请实施例中,仅以确定一个目标编码单元匹配的目标参考块为例进行说明,基于相似的原理,可以确定屏幕内容图像中的其它各目标编码单元的目标参考块,在此不再赘述。
参阅图4b所示,为一种CTU的示意图。图4b中,CTU包含多个不同大小的CU。控制设备将CTU中待编码的一个CU作为目标编码单元。
这样,就可以获取当前待编码的目标编码单元。
步骤301:控制设备在屏幕内容图像的已编码区域内的参考块中,筛选出屏幕内容图像中待编码的目标编码单元匹配的目标参考块。
具体的,已编码区域内的参考块为屏幕内容图像内已编码区域内的所有参考块。
例如,参阅图4b所示,灰色区域的各参考块(即前三行的参考块,以及第四行中目标编码单元之前的参考块),均为已编码区域内的参考块。
这是由于传统技术中是在编码线程的数量是无限的理想前提下,设置的有效搜索区域和无效搜索区域的划分标准,但是,考虑到实际应用中,屏幕内容编码的线程的数量是有限的,无效搜索区域中也可能存在目标编码单元匹配的目标参考块,因此,本申请实施例中,对有效搜索区域进行了扩展。
参阅图4c所示,为一种现有技术下的多线程屏幕内容编码的示意图。控制设备采用4个编码线程分别对第一行至第四行中的CU进行编码,第一线程当前对第一行中的第9个CU进行编码,第二线程当前对第二行中的第8个CU进行编码,第三线程当前对第三行中的第7个CU进行编码,第四线程当前对第四行中第6个编码块中的CU进行编码。传统技术中,为避免影响编码线程并行处理,第N+1个线程处理的CU若为第M+1个,则第N个线程处理的CU序号为第M个。因此,当第四行中第6个编码块中的CU为目标编码单元时,目标编码单元的有效搜索区域为图4c中的灰色区域。再者,传统技术中,确定目标编码单元匹配的目标参考块时,按照图4c箭头指示的方向,依次判断单向链表中的每一参考块是否位于有效搜索区域内。单向链表中包含图4c中非灰色区域的参考块(即无效搜索区域),而链表越深,中央处理器(Central Processing Unit/Processor,CPU)计算开销就越大,显然,这会耗费大量的***资源,降低屏幕内容编码效率。
考虑到实际应用中,屏幕内容编码的线程的数量是有限的,无效搜索区域中也可能存在目标编码单元匹配的目标参考块,本申请实施例中,对传统的IBC技术中进行了改进,即将有效搜索区域扩展为已编码区域内的所有参考块。参阅图4d所示,为一种搜索区域划分示意图。传统的IBC技术中,将图4d中的灰色区域作为有效搜索区域,并将黑色区域作为无效搜索区域,而本申请中,将图4d中的灰色区域和黑色区域均作为有效搜索区域。
也就是说,传统方式中,将已编码区域划分为有效搜索区域和无效搜索区域,而本申请实施例中,将整个已编码区域均扩展为有效搜索区域。
步骤302:控制设备基于目标编码单元以及目标参考块,进行屏幕内容编码。
参阅图5所示,为一种目标参考块确定方法的实施流程图。下面采用一个具体的实施例,对上述步骤301进行具体说明,执行上述步骤301时,可以采用以下流程:
步骤500:控制设备获取目标编码单元的图像特征信息。
具体的,图像特征信息是根据目标编码单元中各像素点的像素值确定的。
一种实施方式中,图像特征信息可以采用以下步骤确定:
S5001:控制设备获取目标编码单元中各像素点的像素值。
其中,像素点是最小的图像单元,一张图片由多个像素点组成。
例如,一张图片的图片尺寸为500*338,表示该图片是由500*338的像素点矩阵构成的,图片的宽度是500个像素点的长度,高度是338个像素点的长度,共有500*338=149000个像素点。
S5002:控制设备确定各编码单元的各像素值的和。
S5003:控制设备根据各像素值,确定目标编码单元在水平方向的水平像素梯度平均值,以及在垂直方向的垂直像素梯度平均值。
具体的,控制设备根据水平方向的各像素值,确定水平像素梯度平均值,并根据垂直方向的各像素值,确定垂直像素梯度平均值。
S5004:控制设备基于各像素值的和、水平像素梯度平均值,以及垂直像素梯度平均值,获得目标编码单元的图像特征信息。
具体的,控制设备将各像素值的和、水平像素梯度平均值,以及垂直像素梯度平均值的组合,作为目标编码单元的图像特征信息。
实际应用中,也可以采用其它方式,确定图像特征信息,在此不作限制。
这样,就可以获得目标编码单元的图像特征信息。
步骤501:控制设备对目标编码单元的图像特征信息进行哈希处理,获得目标编码单元的图像哈希值。
具体的,控制设备采用预设的哈希算法,对目标编码单元的图像特征信息进行哈希处理,获得目标编码单元的图像哈希值。
其中,哈希算法用于根据一个输入,产生一个固定长度的输出。改变输入中的一个字符均会产生完全不同的哈希值。
可选的,哈希算法可以采用感知哈希算法,其中,感知哈希算法是一类哈希算法的总称,其作用在于生成每张图像的“指纹”字符串,比较不同图像的指纹信息来判断图像的相似性。结果越接近图像越相似。感知哈希算法包括均值哈希(aHash)、感知哈希(pHash)和差异值哈希(dHash)。aHash速度较快,但精确度较低;pHash则反其道而行之,精确度较高但速度较慢;dHash兼顾二者,精确度较高且速度较快。在得到64位hash值后,使用汉明距离量化两张图像的相似性。汉明距离越大,图像的相似度越小,汉明距离越小,图像的相似度越大。
这样,就可以获得目标编码单元的图像哈希值。
步骤502:控制设备获取目标编码单元的图像哈希值对应设置的单向链表。
一种实施方式中,控制设备通过哈希索引表,确定目标编码单元的图像哈希值对应的单向链表。
其中,哈希索引表包括各图像哈希值,以及对应设置的单向链表。单向链表是根据已编码区域内的参考块创建的,一个单向链表中包含的各参考块对应的图像哈希值相同。单向链表中的各参考块是按照与目标编码单元之间的位置距离由近到远的顺序设置的。
这样,通过图像哈希值,可以高效地筛选出与目标编码单元相似的多个参考块。
步骤503:控制设备依次确定筛选出的单向链表中的每一参考块分别与目标编码单元的图像相似度,直至确定存在图像相似度符合预设匹配条件的参考块。
具体的,控制设备获取目标编码单元的像素信息,并分别针对单向链表中的每一参考块,执行以下步骤,直至确定存在图像相似度符合预设匹配条件的参考块:
获取参考块的像素信息,并根据目标编码单元的像素信息和参考块的像素信息,确定目标编码单元和参考块之间的图像相似度,以及若图像相似度不低于第一相似阈值,则确定参考块为符合预设匹配条件的参考块。
可选的,图像相似度可以采用误差绝对值和(Sum of absolute differences,SAD)的方式确定,也可以根据实际应用场景采用其它方式确定,在此不作限制。
其中,像素信息为各像素点的像素值。在数字图像处理中,SAD是图像块之间的相似度的量度,通过一个图像块中的每个像素与另一个图像块中相应像素之间的绝对差来计算。SAD越小,则图像相似度越高。
实际应用中,第一相似阈值可以根据实际应用场景进行设置,如,第一相似阈值可以为100%,在此不作限制。
进一步地,当确定不存在不低于第一相似阈值的参考块时,还可以根据获取的目标编码单元分别与每一参考块之间的位置距离和/或相应图像相似度,确定符合预设匹配条件的参考块。
一种实施方式中,确定各图像相似度中的最大值对应的参考块,当确定出的参考块对应的图像相似度大于第二预设阈值时,判断确定出的参考块是否为一个,若是,则确定该参考块符合预设匹配条件,否则,将确定出的多个参考块中,与目标编码单元之间的位置距离最小的参考块,确定为符合预设匹配条件的参考块。
一种实施方式中,筛选出图像相似度大于第三预设阈值的参考块,若确定出的参考块为一个,则确定该参考块符合预设匹配条件,否则,将确定出的多个参考块中,与目标编码单元之间的位置距离最小的参考块,确定为符合预设匹配条件的参考块。
实际应用中,第一预设阈值、第二阈值以及第三预设阈值,均可以根据实际应用场景进行设置,如,依次可以为1、0.9和0.8,在此不作限制。
本申请实施例可以应用于单线程的屏幕内容编码场景,也可以应用于多线程的屏幕内容编码场景。进一步地,不仅可以使用在I帧的IBC模式,同样也可以使用在帧间编码帧P或B帧的IBC编码模式。
一种具体的应用场景中,在单线程模式下,QQ265 SCC YUV420编码器采用本申请实施例提供的方案,取得了1.65%的码率节省(
Figure BDA0002508726790000131
delta bit rate,BD-BR)质量提升,并且相比于现有技术,编码复杂度从29.5%减少到23%。QQ265 SCC YUV444编码器采用本申请实施例提供的方案,取得了0.05%的BD-BR质量提升,并且编码复杂度有1%的下降。其中,BD-BR为在同样的客观质量下,两种方法的码率节省情况。其中,BD-BR是衡量视频RD的一个指标。
下面采用一个具体的应用场景,对多线程的有效搜索区域扩展进行具体说明。
参阅图6所示,为本申请实施例提供的一种多线程屏幕内容编码的示意图。对于波前并行处理(Wavefront Parallel Processing,WPP)大于1的多线程模式,以WPP=2为例,即以两个线程为例,第一线程按照箭头指示的方向对第一行中的CU编码,并且第一行中的所有参考块均为已编码区域内的参考块。第二线程按照箭头方向并行对第二行中的CU进行编码,并且第N+1个CU为目标编码单元,则该目标编码单元的已编码区域,包括:整个第一行的区域和第二行中第N+1个CU之前的区域。第一线程按照箭头方向并行对第三行中的CU进行编码,并且第N个CU为目标编码单元,则该目标编码单元的已编码区域,包括:整个第一行的区域、第二行中第N+1个CU之前的区域,以及第三行中第N个CU之前的区域。第二线程对第四行的CU进行编码,并且第N-1个CU为目标编码单元,则该目标编码单元的已编码区域,包括:整个第一行的区域、第二行中第N+1个CU之前的区域、第三行中第N个CU之前的区域,以及第四行第N-1个CU之前的区域。
可见,与传统的有效搜索区域相比,即便仅对第一行的有效搜索区域进行了扩展,也会提高屏幕内容编码效率以及编码质量。
本申请实施例中,对IBC技术进行了优化,对有效搜索区域进行了扩展,增加了参考块的数量,提高了IBC RD质量,不需要判断单向链表中的参考块是否位于有效搜索区域内,减少了位置计算耗费的***资源,进一步地,若在扩展后的搜索区域中获得匹配的目标参考块,可以缩短实际的搜索路径长度,从而降低了计算复杂度。
基于同一发明构思,本申请实施例中还提供了一种屏幕内容编码的装置,由于上述装置及设备解决问题的原理与一种屏幕内容编码方法相似,因此,上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图7示,其为本申请实施例提供的一种屏幕内容编码的装置的结构示意图。一种屏幕内容编码的装置包括:
匹配单元701,用于在屏幕内容图像的已编码区域内的参考块中,筛选出屏幕内容图像中待编码的目标编码单元匹配的目标参考块;
处理单元702,用于基于目标编码单元以及目标参考块,进行屏幕内容编码。
较佳的,匹配单元701用于:
获取目标编码单元的图像特征信息;
对目标编码单元的图像特征信息进行哈希处理,获得目标编码单元的图像哈希值;
获取目标编码单元的图像哈希值对应设置的单向链表,单向链表是根据已编码区域内的参考块创建的,一个单向链表中包含的各参考块对应的图像哈希值相同;
依次确定单向链表中的每一参考块分别与目标编码单元的图像相似度,直至确定存在图像相似度符合预设匹配条件的参考块;
将确定出的参考块,确定为目标编码单元匹配的目标参考块。
较佳的,匹配单元701用于:
获取目标编码单元中各像素点的像素值;
确定目标编码单元的各像素值的和;
根据各像素值,确定目标编码单元在水平方向的水平像素梯度平均值,以及在垂直方向的垂直像素梯度平均值;
基于各像素值的和、水平像素梯度平均值以及垂直像素梯度平均值,获得目标编码单元的图像特征信息。
较佳的,匹配单元701用于:
获取目标编码单元的像素信息;
分别针对单向链表中的每一参考块,执行以下步骤,直至确定存在图像相似度符合预设匹配条件的参考块:
获取参考块的像素信息,并根据目标编码单元的像素信息和参考块的像素信息,确定目标编码单元和参考块之间的图像相似度,以及若图像相似度不低于第一相似阈值,则确定参考块为符合预设匹配条件的参考块。
较佳的,匹配单元701还用于:
当确定不存在不低于第一相似阈值的参考块时,根据获取的目标编码单元分别与每一参考块之间的位置距离和相应图像相似度,确定符合预设匹配条件的参考块。
本申请实施例提供的一种屏幕内容编码方法、装置、设备和介质中,在屏幕内容图像的已编码区域内的所有的参考块中,筛选出该屏幕内容图像中待编码的目标编码单元匹配的目标参考块,并基于目标编码单元以及相应的目标参考块,进行屏幕内容编码。这样,不需要判断参考块是否位于目标编码单元的有效搜索区域内,减少了计算开销,对目标编码单元的有效搜索区域进行了扩展,增多了参考块的数量,提高了屏幕内容编码质量,进一步地,若目标参考块位于目标编码单元的无效搜索区域内,则可以减少目标参考块的搜索路径长度,降低了计算复杂度。
图8示出了一种控制设备8000的结构示意图。参阅图8所示,控制设备8000包括:处理器8010、存储器8020、电源8030、显示单元8040、输入单元8050。
处理器8010是控制设备8000的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器8020内的软件程序和/或数据,执行控制设备8000的各种功能,从而对控制设备8000进行整体监控。
本申请实施例中,处理器8010调用存储器8020中存储的计算机程序时执行如图3中所示的实施例提供的屏幕内容编码的方法。
可选的,处理器8010可包括一个或多个处理单元;优选的,处理器8010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器8010中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器8020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、各种应用等;存储数据区可存储根据控制设备8000的使用所创建的数据等。此外,存储器8020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
控制设备8000还包括给各个部件供电的电源8030(比如电池),电源可以通过电源管理***与处理器8010逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗等功能。
显示单元8040可用于显示由用户输入的信息或提供给用户的信息以及控制设备8000的各种菜单等,本发明实施例中主要用于显示控制设备8000中各应用的显示界面以及显示界面中显示的文本、图片等对象。显示单元8040可以包括显示面板8041。显示面板8041可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置。
输入单元8050可用于接收用户输入的数字或字符等信息。输入单元8050可包括触控面板8051以及其他输入设备8052。其中,触控面板8051,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板8051上或在触控面板8051附近的操作)。
具体的,触控面板8051可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器8010,并接收处理器8010发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板8051。其他输入设备8052可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
当然,触控面板8051可覆盖显示面板8041,当触控面板8051检测到在其上或附近的触摸操作后,传送给处理器8010以确定触摸事件的类型,随后处理器8010根据触摸事件的类型在显示面板8041上提供相应的视觉输出。虽然在图8中,触控面板8051与显示面板8041是作为两个独立的部件来实现控制设备8000的输入和输出功能,但是在某些实施例中,可以将触控面板8051与显示面板8041集成而实现控制设备8000的输入和输出功能。
控制设备8000还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述控制设备8000还可以包括摄像头等其它部件,由于这些部件不是本申请实施例中重点使用的部件,因此,在图8中没有示出,且不再详述。
本领域技术人员可以理解,图8仅仅是控制设备的举例,并不构成对控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意方法实施例中的屏幕内容编码方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台控制设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种屏幕内容编码方法,其特征在于,包括:
在屏幕内容图像的已编码区域内的参考块中,筛选出所述屏幕内容图像中待编码的目标编码单元匹配的目标参考块;
基于所述目标编码单元以及所述目标参考块,进行屏幕内容编码。
2.如权利要求1所述的方法,其特征在于,在屏幕内容图像的已编码区域内的参考块中,筛选出所述屏幕内容图像中待编码的目标编码单元匹配的目标参考块,包括:
获取所述目标编码单元的图像特征信息;
对所述目标编码单元的图像特征信息进行哈希处理,获得所述目标编码单元的图像哈希值;
获取所述目标编码单元的图像哈希值对应设置的单向链表,所述单向链表是根据已编码区域内的参考块创建的,一个单向链表中包含的各参考块对应的图像哈希值相同;
依次确定所述单向链表中的每一参考块分别与所述目标编码单元的图像相似度,直至确定存在图像相似度符合预设匹配条件的参考块;
将确定出的参考块,确定为所述目标编码单元匹配的目标参考块。
3.如权利要求2所述的方法,其特征在于,获取所述目标编码单元的图像特征信息,包括:
获取所述目标编码单元中各像素点的像素值;
确定所述目标编码单元的各像素值的和;
根据各像素值,确定所述目标编码单元在水平方向的水平像素梯度平均值,以及在垂直方向的垂直像素梯度平均值;
基于所述各像素值的和、所述水平像素梯度平均值以及所述垂直像素梯度平均值,获得所述目标编码单元的图像特征信息。
4.如权利要求2所述的方法,其特征在于,依次确定所述单向链表中的每一参考块分别与所述目标编码单元的图像相似度,直至确定存在图像相似度符合预设匹配条件的参考块,包括:
获取所述目标编码单元的像素信息;
分别针对所述单向链表中的每一参考块,执行以下步骤,直至确定存在图像相似度符合预设匹配条件的参考块:
获取所述参考块的像素信息,并根据所述目标编码单元的像素信息和所述参考块的像素信息,确定所述目标编码单元和所述参考块之间的图像相似度,以及若所述图像相似度不低于第一相似阈值,则确定所述参考块为符合预设匹配条件的参考块。
5.如权利要求3所述的方法,其特征在于,进一步包括:
当确定不存在不低于第一相似阈值的参考块时,根据获取的所述目标编码单元分别与每一参考块之间的位置距离和相应图像相似度,确定符合预设匹配条件的参考块。
6.一种屏幕内容编码的装置,其特征在于,包括:
匹配单元,用于在屏幕内容图像的已编码区域内的参考块中,筛选出所述屏幕内容图像中待编码的目标编码单元匹配的目标参考块;
处理单元,用于基于所述目标编码单元以及所述目标参考块,进行屏幕内容编码。
7.如权利要求6所述的装置,其特征在于,所述匹配单元用于:
获取所述目标编码单元的图像特征信息;
对所述目标编码单元的图像特征信息进行哈希处理,获得所述目标编码单元的图像哈希值;
获取所述目标编码单元的图像哈希值对应设置的单向链表,所述单向链表是根据已编码区域内的参考块创建的,一个单向链表中包含的各参考块对应的图像哈希值相同;
依次确定所述单向链表中的每一参考块分别与所述目标编码单元的图像相似度,直至确定存在图像相似度符合预设匹配条件的参考块;
将确定出的参考块,确定为所述目标编码单元匹配的目标参考块。
8.如权利要求7所述的装置,其特征在于,所述匹配单元用于:
获取所述目标编码单元中各像素点的像素值;
确定所述目标编码单元的各像素值的和;
根据各像素值,确定所述目标编码单元在水平方向的水平像素梯度平均值,以及在垂直方向的垂直像素梯度平均值;
基于所述各像素值的和、所述水平像素梯度平均值以及所述垂直像素梯度平均值,获得所述目标编码单元的图像特征信息。
9.一种控制设备,其特征在于,包括:
至少一个存储器,用于存储程序指令;
至少一个处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述权利要求1-5任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1~5任一所述方法的步骤。
CN202010454534.7A 2020-05-26 2020-05-26 一种屏幕内容编码方法、装置、设备和介质 Pending CN111669595A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010454534.7A CN111669595A (zh) 2020-05-26 2020-05-26 一种屏幕内容编码方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010454534.7A CN111669595A (zh) 2020-05-26 2020-05-26 一种屏幕内容编码方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN111669595A true CN111669595A (zh) 2020-09-15

Family

ID=72384759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010454534.7A Pending CN111669595A (zh) 2020-05-26 2020-05-26 一种屏幕内容编码方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN111669595A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804528A (zh) * 2021-02-05 2021-05-14 北京字节跳动网络技术有限公司 屏幕内容处理方法、装置及设备
CN115119046A (zh) * 2022-06-02 2022-09-27 绍兴市北大信息技术科创中心 一种参考像素集的图像编解码方法、装置及***
CN115529460A (zh) * 2021-10-29 2022-12-27 深圳小悠娱乐科技有限公司 一种基于内容编码的实现动态马赛克的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804528A (zh) * 2021-02-05 2021-05-14 北京字节跳动网络技术有限公司 屏幕内容处理方法、装置及设备
WO2022166727A1 (zh) * 2021-02-05 2022-08-11 北京字节跳动网络技术有限公司 屏幕内容处理方法、装置及设备
CN115529460A (zh) * 2021-10-29 2022-12-27 深圳小悠娱乐科技有限公司 一种基于内容编码的实现动态马赛克的方法
CN115119046A (zh) * 2022-06-02 2022-09-27 绍兴市北大信息技术科创中心 一种参考像素集的图像编解码方法、装置及***
CN115119046B (zh) * 2022-06-02 2024-04-16 绍兴市北大信息技术科创中心 一种参考像素集的图像编解码方法、装置及***

Similar Documents

Publication Publication Date Title
US20200329233A1 (en) Hyperdata Compression: Accelerating Encoding for Improved Communication, Distribution & Delivery of Personalized Content
US20220046261A1 (en) Encoding method and apparatus for screen sharing, storage medium, and electronic device
CN111670580B (zh) 渐进压缩域计算机视觉和深度学习***
JP2020174374A (ja) デジタルイメージ再圧縮
CN111669595A (zh) 一种屏幕内容编码方法、装置、设备和介质
CN105163127A (zh) 视频分析方法及装置
CN112218092B (zh) 串编码技术的编码方法、设备及存储介质
CN112672149B (zh) 一种视频处理方法、装置、存储介质及服务器
KR102343648B1 (ko) 영상 부호화 장치 및 영상 부호화 시스템
US10021398B2 (en) Adaptive tile data size coding for video and image compression
CN113068034A (zh) 视频编码方法及装置、编码器、设备、存储介质
WO2024114432A1 (zh) 视频编码中的样点自适应补偿方法及装置
CN113810654A (zh) 图像视频的上传方法、装置、存储介质以及电子设备
US20230401755A1 (en) Mesh Compression Using Coding Units with Different Encoding Parameters
CN108668170B (zh) 图像信息处理方法及装置、存储介质
CN114900717B (zh) 视频数据传输方法、装置、介质和计算设备
US20220385914A1 (en) Methods and apparatus for processing of high-resolution video content
CN117897736A (zh) 用于机器视频编码(vcm)的编码器和解码器
CN112565760B (zh) 串编码技术的编码方法、设备及存储介质
CN112492350B (zh) 一种视频转码方法、装置、设备和介质
CN113852816A (zh) 视频帧处理方法、装置、计算机设备和可读存储介质
CN102948147A (zh) 基于变换系数直方图的视频速率控制
Li et al. A CU Depth Prediction Model Based on Pre-trained Convolutional Neural Network for HEVC Intra Encoding Complexity Reduction
CN111885378B (zh) 多媒体数据编码方法、装置、设备以及介质
Chen et al. Real‐time action feature extraction via fast PCA‐Flow

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