CN114125442B - 屏幕视频编码模式确定方法、编码方法、装置和计算设备 - Google Patents
屏幕视频编码模式确定方法、编码方法、装置和计算设备 Download PDFInfo
- Publication number
- CN114125442B CN114125442B CN202210109630.7A CN202210109630A CN114125442B CN 114125442 B CN114125442 B CN 114125442B CN 202210109630 A CN202210109630 A CN 202210109630A CN 114125442 B CN114125442 B CN 114125442B
- Authority
- CN
- China
- Prior art keywords
- coding
- block
- mode
- current
- coding mode
- 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
Images
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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了屏幕视频编码模式确定方法、编码方法、装置和计算设备。确定方法包括:利用基础编码模式和第一类型的IBC编码模式,分别对当前帧的当前编码块进行编码,得到至少两个编码代价;将至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式;以及在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将基础编码模式确定为当前编码块的编码模式,其中第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,基础编码模式的编码复杂度低于第一类型的IBC编码模式。
Description
技术领域
本发明属于视频编解码技术领域,特别涉及一种确定屏幕视频的编码模式的方法以及装置、用于屏幕视频的编码的方法以及装置、和计算设备。
背景技术
随着计算机应用的发展,屏幕视频广泛应用于视频会议、在线教育、远程桌面等应用场景中。屏幕视频是通过截取诸如计算机、手机等电子设备等屏幕内容图像得到的视频,它与传统的自然视频具有很多明显的区别,例如,屏幕视频中的屏幕内容图像是非连续色调内容,而自然视频中的自然图像是连色调内容;屏幕视频局部区域颜色数较少、存在大量尖锐的边界、存在大量平坦区域、包含对比度高的文字、存在大量重复的纹理等特性。屏幕视频内容形式也比较多,包括PPT演示、word文档等。
由于屏幕视频的固有特性,国际标准组织也制定了屏幕压缩的标准-屏幕内容编码(SCC),SCC是基于HEVC标准的扩展版本。SCC标准相比HEVC,改进包括增加了适合屏幕压缩的工具,例如帧内块拷贝(IBC)、调色板(palette)模式,SCC能够显著提升压缩性能。
由于新的编码工具的加入,每一编码块(CU)在进行预测模式的选择过程中,除了要进行传统HEVC模式编码过程之外,还要进行IBC模式和调色板模式等,这必然导致屏幕视频编码的复杂度增加,给网络通信量和带宽带来更大的挑战,影响用户的视觉体验质量。
因此,为了降低在基于SCC背景下的屏幕视频编码的复杂度,本申请提出一种高效快速的确定屏幕视频的编码模式的方式以及高效的编码方式,以提升对屏幕视频编码效率。
发明内容
根据本申请的一方面,提供了一种用于确定屏幕视频的编码模式的方法,包括:利用帧内块匹配(IBC)编码模式集合中的第一类型的IBC编码模式和利用基础编码模式,分别对待编码屏幕视频的当前帧的当前编码块进行编码,得到至少两个编码代价;将所述至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式;以及在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将所述基础编码模式确定为当前编码块的编码模式,其中,所述第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,所述基础编码模式的编码复杂度低于第一类型的IBC编码模式。
根据本申请的另一方面,提供了一种用于屏幕视频的编码的方法,包括:在采用基于搜索的帧内块匹配(IBC)编码模式对待编码屏幕视频的当前帧中的每个编码块进行编码时,对当前帧进行降采样得到与当前帧相对应的采样帧,并对所述采样帧中的每个采样块的编码模式进行预分析,基于预分析的结果,确定所述采样帧的采样块当中编码模式为所述基于搜索的IBC编码模式的采样块的第一数量;基于所述第一数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,作为当前编码块的预测块,用于对当前编码块进行编码。
根据本申请的又一方面,提供了一种用于确定屏幕视频的编码模式的装置,包括:代价计算模块,用于利用帧内块匹配(IBC)编码模式集合中的第一类型的IBC编码模式和利用基础编码模式,分别对待编码屏幕视频的当前帧的当前编码块进行编码,得到至少两个编码代价;候选模式确定模块,用于将所述至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式;以及模式确定模块,用于在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将所述基础编码模式确定为当前编码块的编码模式,其中,所述第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,所述基础编码模式的编码复杂度低于第一类型的IBC编码模式。
根据本申请的再一方面,提供了一种用于屏幕视频的编码的装置,包括:预分析模块,用于在采用基于搜索的帧内块匹配(IBC)编码模式对待编码的屏幕视频的当前帧中的每个编码块进行编码时,对当前帧进行降采样得到与当前帧相对应的采样帧,并对所述采样帧中的每个采样块的编码模式进行预分析,确定模块,用于基于预分析的结果,确定所述采样帧的采样块当中编码模式为所述基于搜索的IBC编码模式的采样块的第一数量;搜索模块,用于基于所述第一数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,作为当前编码块的预测块,用于对当前编码块进行编码。
根据本申请的一方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有计算机程序,所述计算机程序在由所述处理器执行时实现如上所述的方法。
根据本申请的另一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如上所述的方法的各步骤。
根据本申请的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上所述的方法的各步骤。
通过本申请的方案,可以根据当前编码块特性来跳过一部分编码模式对当前编码块的编码,从而可以提升对屏幕视频的编码效率,且能够保证较高的编码性能和编码质量。此外,在用基于搜索的IBC编码模式对当前编码块进行编码时,通过基于预分析结果在水平方向和垂直方向上适应性地改变搜索步长,可以降低搜索时间复杂度,从而对搜索过程的至少一部分进行加速,进而在保证编码质量和编码性能的同时提升编码效率。
附图说明
图1示出了本申请一个实施例提供的通信***的简化框图。
图2示出了帧内预测时采用帧内块匹配(IBC)编码方式的示意图。
图3示出了根据本申请实施例的用于确定屏幕视频的编码模式的方法的流程示意图。
图4示出了帧内预测时当前编码块及与其匹配的预测块的示意图。
图5A示出了根据本申请实施例的对基于搜索的IBC编码模式进行改进的方法的流程示意图。
图5B示出了在预分析过程中,在采样帧中搜索采样块的匹配的块的搜索区域的示意图。
图6A示出了图5A的步骤S530中的搜索当前编码块最匹配的块的步骤的更多细节。
图6B、6D-6F示出了在当前帧中基于不同的搜索方式搜索当前编码块的示意图。
图6C示出了确定不同的搜索方式的流程示意图。
图7示出了图5A的步骤S530的示例性流程图。
图8示出了根据本申请实施例的用于屏幕视频的编码的方法的流程示意图。
图9示出了根据本申请实施例的用于确定屏幕视频的编码模式的装置的结构框图。
图10示出了根据本申请实施例的用于屏幕视频的编码的装置的结构框图。
图11示出了根据本申请实施例的计算设备的结构框图。
具体实施方式
为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
在本文中涉及到的编码相关术语的定义与视频编解码标准HEVC和SCC中的定义相同。
如图1所示,其示出了本申请一个实施例提供的通信***的简化框图。通信***100包括多个设备,设备可通过例如网络150彼此通信。举例来说,通信***100包括通过网络150互连的第一设备110和第二设备120。在图1的实施例中,第一设备110和第二设备120执行单向数据传输。举例来说,第一设备110可对视频数据例如由第一设备110采集的视频图片流进行编码以通过网络150传输到第二设备120。已编码的视频数据以一个或多个已编码视频码流形式传输。第二设备120可从网络150接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。
在另一实施例中,通信***100包括执行已编码视频数据的双向传输的第三设备130和第四设备140,双向传输可例如在视频会议、在线教育、远程桌面控制等期间发生。对于双向数据传输,第三设备130和第四设备140中的每个设备可对视频数据(例如由设备采集的视频图片流)进行编码,以通过网络150传输到第三设备130和第四设备140中的另一设备。第三设备130和第四设备140中的每个设备还可接收由第三设备130和第四设备140中的另一设备传输的已编码视频数据,且可对已编码视频数据进行解码以恢复视频数据,且可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图1中,设备(110-140)可以被示为服务器、个人计算机、智能电话或车载智能终端等其他智能设备,但是实施方式的原理不限于此。实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络(150)表示在设备(110-140)之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(150)可以在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本论述的目的,除非在下文中有所说明,否则网络(150)的架构和拓扑对于实施方式的操作来说可以是无关紧要的。
如前面所述,新提出的SCC标准中引入了新的用于对屏幕视频进行编码的工具,因此需要降低屏幕视频编码的编码复杂度,以提升视频编码质量和效率。
由于屏幕视频中存在大量重复的纹理,比如相同的文字在一帧中多次出现,根据屏幕视频的特性,在对屏幕视频进行编码时,会涉及到利用I帧进行编码,I帧为帧内预测帧,即采用帧内预测的编码方式,其中基于帧内块复制(intra block copy,IBC)(也称为帧内块匹配)编码方式的帧内预测方法能够进行高效的预测。
图2示出了帧内预测时采用帧内块匹配(IBC)编码方式的示意图。
如图2所示,当前待编码的单元(图2中标记为CU)(本文也称为当前编码块)在当前帧中已经编码的区域(图2中的阴影区域)进行搜索,把搜索得到的与其最匹配的块(图2中箭头所指白色区域,箭头表示块矢量)作为当前编码块CU的预测块,以用于对当前编码块进行编码。
此外,屏幕视频中也可能存在各种内容,因此在帧内预测时,针对当前帧的不同的编码块的编码模式选择,采用传统的编码模式(例如,直流(DC)编码模式、平面(Planar)编码模式、基于方向(例如,33个角度方向)的编码模式等等)或者调色板(Palette)编码模式相对于IBC编码模式可能是更佳的。
对于这些编码模式,传统的编码模式的编码复杂度相较于IBC编码方式和调色板(Palette)编码模式更低,调色板(Palette)编码模式的编码复杂度最高。IBC编码模式也进一步可以包括多种类型,例如,基于合并/跳跃(merge/skip)的IBC编码模式、基于搜索的IBC编码模式、以及基于哈希(hash)的IBC编码模式,其中,基于merge/skip的IBC编码模式的编码复杂度最低,因此对于屏幕视频,基于merge/skip的IBC编码模式最终作为编码块的IBC编码模式的概率也最大。
一般,在获取到待编码的屏幕视频之后,编码器会首先将屏幕视频的当前帧分割成许多编码树单元(CTU),每个编码树单元(CTU)会划分为尺寸相同或不同的多个编码单元(CU)(也称为编码块),每个编码单元(CU)的最小尺寸例如为8×8。每个编码单元(CU)可以基于不同的预测分割模式进一步划分为一个或多个编码单元,即,多个层次的编码单元,并且可以对每个层次中的每个编码单元进行预测编码。
在进行I帧编码时,对于每个编码块,需要依次对传统的帧内编码模式(这里简称为IPM编码模式)、IBC编码模式(包括多种类型)、可选地Palette编码模式进行遍历,从中选择编码代价(例如,码率-失真代价)最小的编码模式作为当前编码块的编码模式。然后将确定的各个编码块的编码模式与编码流一起提供到解码器端,解码器根据所接收的编码模式而对对应的编码块进行解码,最终在显示装置上进行显示。
因此,如果在对编码块进行编码时,能够快速地确定适用于该编码块的编码模式,跳跃某些概率较低的编码模式,则可以在保证编码质量的同时提升对屏幕视频进行编码的效率。
下面结合图3-9对根据本申请的实施例的提升编码效率的方式的具体内容进行详细介绍。
图3示出了根据本申请实施例的用于确定屏幕视频的编码模式的方法的流程示意图。
如图3所示,在步骤S310中,利用帧内块匹配(IBC)编码模式集合中的第一类型的IBC编码模式和利用基础编码模式,分别对待编码屏幕视频的当前帧的当前编码块进行编码,得到至少两个编码代价。
例如,第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,且基础编码模式是比第一类型的IBC编码模式编码复杂度更低的编码模式。
例如,基础编码模式可以是传统的编码模式,如前文提到的直流(DC)编码模式、平面(Planar)编码模式、基于方向(例如,33个角度方向)的编码模式等等,即当某个编码块所确定的编码模式为这三种编码模式之一时,可以认为该编码块的编码模式为基础编码模式。
例如,帧内块匹配(IBC)编码模式集合可以包括基于merge/skip(merge/skip)的IBC编码模式、基于搜索的IBC编码模式、以及基于哈希(hash)的IBC编码模式中的至少一个。在IBC编码模式集合包括了基于merge/skip的IBC编码模式时,上述第一类型的IBC编码模式为基于merge/skip的IBC编码模式。
可选地,编码代价可以有多种不同形式的表征。例如,作为示例而非限制,针对每种编码模式得到的编码代价可以是码率-失真代价(rdcost),指示当使用每种编码模式对当前编码块进行编码所需的比特数和编码质量损失(例如编码块和预测块的残差)加权得到的值,该值越小表示对于当前编码块该种编码模式越有效。
在步骤S320中,将至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式。
例如,编码代价的数量取决于基础编码模式中的编码模式的数量;当基础编码模式包括直流(DC)编码模式、平面(Planar)编码模式、基于方向的编码模式时,可以得到利用基础编码模式进行编码的至少三个编码代价(取决于方向的数量),此外还可以得到用第一类型的IBC编码模式编码的一个编码代价。这些编码代价中较小的编码代价指示针对当前编码块更有效的编码模式,因此该编码模式相对于其他编码方式更适用于当前编码块。
在步骤S330中,在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将基础编码模式确定为当前编码块的编码模式。
例如,如果候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量足够多(即大于等于预设阈值),则说明当前编码块采用基础编码模式的可能性很大,因此可以省略后续的其他的IBC编码模式的编码。
可选地,当前编码块的周围编码块包括:当前编码块左侧、上方、左上方、右上方、左下方的编码块以及当前编码块的上一层级编码块,其中,如前面所述,当前帧可以按不同尺寸迭代地划分为不同层级的编码块,并且当前编码块的上一层级编码块被切分为包括当前编码块的多个编码块。例如,第一层级的编码块的尺寸可以为32×32,划分为四个第二层级的编码块(尺寸可以为16×16),然后再进一步划分为第三层级的编码块(尺寸可以为8×8),等等,当前编码块的上一层编码块可以通过划分关系来对应得到。
可选地,该预设阈值可以为但不限于3。
此外,如果候选编码模式不为基础编码模式,即候选编码模式为第一类型的IBC编码模式编码时,说明基础编码模式的编码性能和编码质量不如第一类型的IBC编码模式;或者如果候选编码模式为基础编码模式但数量小于预设阈值时,即说明当前编码块的编码模式为基础编码模式的可能性并未达到足够大。
因此,针对这两种情况,可以采用不同的处理方式,例如,可以直接将第一类型的IBC编码方式作为当前编码块的编码模式,利用这种编码方式的编码效率更高,因为第一类型的IBC编码方式是所有IBC编码模式中编码复杂度最低的,并且各种IBC编码方式的基本原理在一定程度上类似,因此编码质量不会相差太多,因此在一些对编码性能和编码质量要求没那么高的应用场合,可以直接将第一类型的IBC编码方式作为当前编码块的编码模式。另外,在对编码性能和编码质量有更高的要求的应用场景中,在很多应用场合也不能直接省略后续的IBC编码模式的编码,需要确定其他IBC编码模式的编码代价,以便从多种IBC编码模式中确定最佳的IBC编码模式。
可选地,可以通过如下方式来确定当前编码块的编码模式。例如,该方法300还可以进一步包括以下步骤。
首先,利用剩余IBC编码模式对当前编码块进行编码。
然后,基于基础编码模式、以及IBC编码模式集合中的每种编码方式分别对当前编码块进行编码的编码代价,确定当前编码块的编码模式。
例如,剩余IBC编码模式可以包括基于搜索的IBC编码模式、以及基于哈希(hash)的IBC编码模式。将步骤S310中得到的至少两个编码代价、分别基于搜索的IBC编码模式以及基于哈希的IBC编码模式对当前编码块进行编码的编码代价中最小的一个编码代价对应的编码模式,确定为当前编码块的编码模式。
这样,可以得到适用于当前编码块的编码模式,且能够具有较高的编码性能和编码质量。
通过参考图3描述的用于确定屏幕视频的编码模式的方法,可以根据当前编码块特性(上述至少两个编码代价以及当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量)来跳过一部分编码模式对当前编码块的编码,从而可以提升对屏幕视频的编码效率,且能够保证较高的编码性能和编码质量。
根据本申请的另一方面,如前面所述,如果需要利用除了第一类型的IBC编码模式之外的剩余IBC编码模式(例如,基于搜索的IBC编码模式、以及基于哈希的IBC编码模式)对当前编码块进行编码,那么在这种情况下,未通过跳过部分IBC编码模式的编码来提升编码效率,因此为了提升编码效率,可以考虑对其他的IBC编码模式的编码方式进行改进,以提升编码效率。
对于基于搜索的IBC编码模式,在利用该编码模式对当前编码块进行编码时,需要在一定搜索范围内在水平和垂直方向上针对当前编码块进行搜索(如图4所示,右下角方框代表当前编码块所在位置,黑色实心圆表示水平和垂直方向需搜索位置),得到与其最匹配的块(预测块)。对于基于哈希的IBC编码模式,可以在整个当前帧范围内基于哈希值确定当前编码块的最匹配的块,其编码复杂度要高于基于搜索的IBC编码模式。针对不同的IBC编码模式,得到对于当前编码块每种IBC编码模式的编码代价,进而确定适用于当前编码块的最佳的IBC模式。
在利用基于搜索的IBC编码模式对当前编码块进行编码时,水平方向和垂直方向上的搜索步长可以相同或者不同。搜索步长是指在搜索范围内每次滑动的像素点的数量。例如,如果搜索步长为1,则指示水平和垂直方向每个像素点位置都需要搜索。此外,与当前编码块存在重叠的搜索得到的块不与当前块进行匹配,即不会用作候选的预测块。例如,当当前编码块为8×8时,水平方向上第一个搜索得到的块(例如,图4中当前编码块左边第一个黑色实心圆)与当前编码块的对应位置处的像素点至少间隔8个像素点,第二个搜索得到的块(例如,图4中当前编码块左边第二个黑色实心圆)与当前编码块的对应位置处的像素点至少间隔9个像素点,且与第一个搜索得到的块的对应位置处的像素点间隔1个像素点(因为搜索步长为1),且垂直方向上也类似,即搜索得到的候选的预测块之间可以有重叠区域。搜索得到的预测块(最匹配的块)与当前编码块的相位位置可以用块矢量来进行表示,块矢量指示当前编码块相对于搜索得到的其最匹配的块的水平偏移值x和垂直偏移值y,并且仅在水平方向或垂直方向上搜索时,块矢量中的x和y中的一者为0。而利用其他的IBC编码模式(例如,基于哈希的编码模式)进行帧内预测时用到的预测块的块矢量中的x和y可以均不为0,如图2中所示的。
根据一些实施方式,可以考虑通过加快搜索速度来提升利用基于搜索的IBC编码模式对当前编码块进行编码时的编码效率。
图5A示出了根据本申请实施例的对基于搜索的IBC编码模式进行改进的方法的流程示意图。
如图5A所示,在步骤S510中,对当前帧进行降采样得到与当前帧相对应的采样帧,并对采样帧中的每个采样块的编码模式进行预分析。
例如,采样帧可以是从当前帧降低了分辨率的图像。由于采样帧能反映当前帧的很多编码特性,因此可以通过对采样帧进行预分析,来估计或模拟原始分辨率的当前帧的编码特性,以快速搜索当前帧中的与当前编码块匹配的预测块。
可选地,可以将采样帧划分为多个采样块,然后利用编码模式集合对每个采样块进行预编码,得到每种编码模式对应的编码代价,其中,该编码模式集合包括基础编码模式、基于搜索的IBC编码模式;最后基于编码模式集合中的每种编码模式对应的编码代价,确定每个采样块的编码模式。在预分析过程中,为了降低编码复杂度,对于IBC编码模式仅设计了基于搜索的IBC编码模式,为了更全面的搜索与采样块匹配的块,因此在对与当前采样块匹配的块进行搜索时,可以在当前采样块的左上方已编码区域进行搜索,例如当前采样块左边64个像素和上方64个像素包围的搜索区域进行搜索,如图5B中的阴影区域所示。
例如,针对每个采样块,确定最低的编码代价对应的编码模式为该采样块的编码模式。每个采样块的尺寸为但不限于8×8。
在步骤S520中,基于预分析的结果,确定采样帧的采样块当中编码模式为基于搜索的IBC编码模式的采样块的第一数量。
例如,基于采样帧中的每个采样块的编码模式,可以统计得到这些采样块中有多少个采样块的编码模式为基于搜索的IBC编码模式。
在步骤S530中,基于第一数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,作为当前编码块的预测块,用于对当前编码块进行编码。
例如,如果第一数量较少,即采样帧中的采样块使用基于搜索的IBC编码模式较少(例如,100个采样块中可能仅有个位数的采样块使用基于搜索的IBC编码模式),由于采样帧与当前帧是相对应的,因此也可以认为当前帧中采用基于搜索的IBC编码模式的编码块也较少,基于搜索的IBC编码模式不是那么重要,因此不用那么精细地进行搜索;反之,则需要相对精细的进行搜索。即,可以根据不同的第一数量采用不同的搜索方式,来搜索与当前编码块最匹配的块。
可选地,以下结合图6A-7来详细描述该步骤S530的更多细节。
如图6A所示,在步骤S530-1中,在第一数量满足第一阈值条件的情况下,以水平方向上的第一搜索步长和垂直方向上的第一搜索步长搜索与当前编码块最匹配的块(预测块),其中,第一搜索步长大于等于2。
例如,第一阈值条件可以为第一数量与采样帧中采用基于搜索的IBC编码模式进行编码的采样块总数量的第一比率小于等于第一比率阈值。例如,第一比率阈值为0.1,该值可以通过训练得到。
可选地,第一搜索步长可以为2,即,水平方向上和垂直方向上均每隔两个像素点位置搜索得到一个块(与当前编码块不重叠),用于与当前编码块进行匹配,确定最匹配的一个块,如图6B所示,黑色实心圆表示水平和垂直方向需搜索位置,黑色空心圆表示非搜索位置,水平方向和垂直方向上均每隔两个像素点进行搜索。例如,与当前编码块的对应位置水平方向相隔12个像素点(用块矢量表示为Bv(12,0))的一个块,作为当前编码块的预测块(尺寸与当前编码块相同)。
在步骤S530-2中,在第一数量不满足第一阈值条件的情况下,基于第一数量的采样块中的每个采样块的块矢量,从当前帧内已编码区域中搜索与当前编码块最匹配的块。
可选地,采样块的块矢量指示在预分析过程中采样块相对于搜索得到的其最匹配的块的水平偏移值和垂直偏移值。
可选地,对于基于块矢量来选择最匹配的块,首先,可以基于预分析的结果,确定第一数量的采样块当中块矢量所指示的水平偏移值小于垂直偏移值的采样块的第二数量;然后,可以基于第二数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块(预测块)。
例如,如果第二数量相对于第一数量足够大,则说明在水平方向上搜索到采样块的最匹配的块(预测块)的可能性更低;如果第二数量相对于第一数量足够小,则说明在垂直方向上搜索得到采样块的最匹配的块(预测块)的可能性更高;如果第二数量相对于第一数量在一个适中的范围,则说明在水平方向和垂直方向上搜索到采样块的最匹配的块(预测块)的可能性相当。基于采样帧的这些分析,也可以相应地对应原始分辨率的当前帧中在水平方向上和垂直方向上的各个编码块的预测块的可能性。
因此,针对基于第二数量的预测块搜索,图6C-6F示出了进一步的细节。
如图6C所示,在操作A中,在第二数量满足第二阈值条件的情况下,以水平方向上的第一搜索步长和垂直方向上的第二搜索步长搜索与当前编码块最匹配的块,第二搜索步长小于第一搜索步长。
可选地,第二阈值条件可以为第二数量与第一数量的第二比率大于第二比率阈值。例如,第二比率阈值为0.7,该值可以通过训练得到。
例如,如前面分析,这种情况对应于第二数量相对于第一数量足够大,即则说明在水平方向上搜索到采样块的最匹配的块(预测块)的可能性更低,因此水平方向上的第一搜索步长例如为2,并且垂直方向上的第二搜索步长例如为1,如图6D所示,黑色实心圆表示水平和垂直方向需搜索位置,黑色空心圆表示非搜索位置,水平方向上每隔两个像素点进行搜索,垂直方向上每隔一个像素点进行搜索。
在操作B中,在第二数量满足第三阈值条件的情况下,以水平方向上的第二搜索步长和垂直方向上的第一搜索步长搜索与当前编码块最匹配的块。
可选地,第三阈值条件可以为第二数量与第一数量的第二比率小于第三比率阈值。例如,第二比率阈值为0.3,该值可以通过训练得到。
例如,如前面分析,这种情况对应于第二数量相对于第一数量足够小,即则说明在垂直方向上搜索到采样块的最匹配的块(预测块)的可能性更低,因此水平方向上的第二搜索步长例如为1,并且垂直方向上的第一搜索步长例如为2。如图6E所示,黑色实心圆表示水平和垂直方向需搜索位置,黑色空心圆表示非搜索位置,水平方向上每隔一个像素点进行搜索,垂直方向上每隔两个像素点进行搜索
在操作C中,在第二数量既不满足第二阈值条件且不满足第三阈值条件的情况下,以水平方向上的第二搜索步长和垂直方向上的第二搜索步长搜索与当前编码块最匹配的块。
例如,如前面分析,这种情况对应于则说明在水平方向和垂直方向上搜索到采样块的最匹配的块(预测块)的可能性相当,因此水平方向上和垂直方向上均使用第二搜索步长(步长例如为1)。如图6F所示,黑色实心圆表示水平和垂直方向需搜索位置,黑色空心圆表示非搜索位置,水平方向上每隔一个像素点进行搜索,垂直方向上每隔一个像素点进行搜索,与图2所示的搜索方式相同。
为了更清楚地描述上述步骤S530,图7示出了步骤S530的一个示例性流程图。
如图7所示,首先,在流程710中,确定第一数量(numIBC)与采样帧中采用基于搜索的IBC编码模式进行编码的采样块总数量(numALL)的比率是否小于等于第一比率阈值,其中第一数量为采样帧的采样块当中编码模式为基于搜索的IBC编码模式的采样块的数量(针对左上方搜索区域)。如果该第一比率小于等于第一比率阈值,则进行到流程720,即以水平方向上的第一搜索步长(2)和垂直方向上的第一搜索步长(2)搜索与当前编码块最匹配的块(预测块)。
如果该第一比率大于第一比率阈值,则进行到流程730,即确定第一数量的采样块当中块矢量所指示的水平偏移值(abs(BV.x))小于垂直偏移值(abs(BV.y))的采样块的第二数量(numBV),其中abs()为取绝对值,BV.x和BV.y分别为块矢量中的x和y值;然后进行到流程740,即判断第二数量(numBV)与第一数量(numIBC)的第二比率是否大于第二比率阈值(th2)。
如果第二比率大于第二比率阈值,则进行到流程750,即以水平方向上的第一搜索步长(2)和垂直方向上的第二搜索步长(1)搜索与当前编码块最匹配的块;如果第二比率小于等于第二比率阈值,则进行到流程760,即判断第二比率是否小于第三比率阈值。
如果第二比率小于第三比率阈值,则进行到流程770,即以水平方向上的第二搜索步长(1)和垂直方向上的第一搜索步长(2)搜索与当前编码块最匹配的块;并且如果第二比率大于等于第三比率阈值且小于等于第二比率阈值,则进行到流程780,即以水平方向上的第二搜索步长(1)和垂直方向上的第二搜索步长(1)搜索与当前编码块最匹配的块。
这样,在上面参考图5A-7描述了针对基于搜索的IBC编码方式的改进的过程,基于这样的改进,在利用基于搜索的IBC编码方式对当前编码块进行编码时,通过基于预分析结果在水平方向和垂直方向上适应性地改变搜索步长,可以降低搜索时间复杂度,从而提升搜索速度,进而在保证编码质量和编码性能的同时提升编码效率。
在上述实施例中,虽然针对采样帧中的每个采样块均用了多种编码模式进行了预编码,但是由于已经降采样,并且预分析过程中采用的编码模式为编码复杂度较低的编码方式,因此预采样过程中涉及的编码复杂度要远远低于一般编码方式中针对原始的当前帧的各种编码模式的编码复杂度,并且每个编码块的预测块搜索过程的减少所带来的总的搜索时间复杂度也大大的降低,搜索时间复杂度的降低,对编码效率以及编码复杂度来说也是有益的。
以上参考图5A-7描述的针对基于搜索的IBC编码方式的改进的方法,也可以应用在任何采用了基于搜索的IBC编码方式进行编码的场景,而不以必须先确定是否跳过部分IBC编码方式(如参考图3所描述的方法)为前提,因此,本申请还提供了一种用于屏幕视频的编码的方法,如图8所示,该方法可以用于在采用基于搜索的帧内块匹配(IBC)编码模式对待编码屏幕视频的当前帧进行编码的应用场合。
如图8所示,在步骤S810中,对当前帧进行降采样得到与当前帧相对应的采样帧,并对采样帧中的每个采样块的编码模式进行预分析。
在步骤S820中,基于预分析的结果,确定采样帧的采样块当中编码模式为基于搜索的IBC编码模式的采样块的第一数量;
在步骤S830中,基于第一数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,作为当前编码块的预测块,用于对当前编码块进行编码。
以上各个步骤的更多细节与参考图5A-7中描述的改进基于搜索的IBC编码模式的相关内容相似,因此这里不再重复描述。
同样的,通过参考图8所示的方法,可以通过减少每个编码块的搜索过程,来降低搜索时间复杂度,这对编码效率以及编码复杂度来说是有益的。
根据本申请的另一方面,还提供了一种确定屏幕视频的编码模式的装置和用于屏幕视频的编码的装置。
图9示出了根据本申请实施例的确定屏幕视频的编码模式的装置的结构框图。
如图9所示,装置900包括代价计算模块910、候选模式确定模块920和模式确定模块930。
代价计算模块910用于利用帧内块匹配(IBC)编码模式集合中的第一类型的IBC编码模式和利用基础编码模式,分别对待编码屏幕视频的当前帧的当前编码块进行编码,得到至少两个编码代价。
第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,基础编码模式的编码复杂度比第一类型的IBC编码模式更低;
候选模式确定模块920用于将至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式。
模式确定模块930用于在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将基础编码模式确定为当前编码块的编码模式。
可选地,代价确定模块910还用于在候选编码模式不为基础编码模式,或者候选编码模式为基础编码模式但数量小于预设阈值的情况下,利用剩余IBC编码模式对当前编码块进行编码;以及模式确定模块930还用于基于基础编码模式、以及IBC编码模式集合中的每种编码方式分别对当前编码块进行编码的编码代价,确定当前编码块的编码模式。
可选地,在利用剩余IBC编码模式中的基于搜索的IBC编码模式对当前编码块进行编码时,代价确定模块930还可以通过对当前帧进行降采样得到的采样帧进行预分析,以对搜索过程的至少一部分进行加速,如前面参考图5A-7所描述的。
装置900中的各个模块所涉及的操作的更多细节已经在前文参考图3-7进行了详细描述,因此这里不再重复描述。应注意,装置900也可以根据不同的方式,而划分为更多或更少的模块,且每个模块还可以包括进一步的子模块来实现其所需要的功能,本申请对此不做限制,只要通过相关硬件和/或软件的组合体能够实现如前前面参考图3-7描述的各项操作即可。
通过参考图9描述的用于确定屏幕视频的编码模式的装置,可以根据当前编码块特性(上述至少两个编码代价以及当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量)来跳过一部分编码模式对当前编码块的编码,从而可以提升对屏幕视频的编码效率,且能够保证较高的编码性能和编码质量。此外,在用基于搜索的IBC编码模式对当前编码块进行编码时,通过基于预分析结果在水平方向和垂直方向上适应性地改变搜索步长,可以降低搜索时间复杂度,从而对搜索过程进行加速,进而在保证编码质量和编码性能的同时提升编码效率。
图10示出了根据本申请实施例的确定屏幕视频的编码模式的装置的结构框图。
如图10所示,装置1000包括预分析模块1010、确定模块1020和搜索模块1030。该装置1000用于基于搜索的IBC编码模式对当前帧的每个编码块进行编码。
预分析模块1010用于在采用基于搜索的帧内块匹配(IBC)编码模式对待编码的屏幕视频的当前帧中的每个编码块进行编码时,对当前帧进行降采样得到与当前帧相对应的采样帧,并对采样帧中的每个采样块的编码模式进行预分析,
确定模块1020用于基于预分析的结果,确定采样帧的采样块当中编码模式为基于搜索的IBC编码模式的采样块的第一数量;
搜索模块1030用于基于第一数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,作为当前编码块的预测块,用于对当前编码块进行编码。
上述各个模块所涉及的操作的更多细节已经在前文参考图5A-7进行了详细描述,因此这里不再重复描述。
装置1000中的各个模块所涉及的操作的更多细节已经在前文参考图5A-7进行了详细描述,因此这里不再重复描述。应注意,装置1000也可以根据不同的方式,而划分为更多或更少的模块,且每个模块还可以包括进一步的子模块来实现其所需要的功能,本申请对此不做限制,只要通过相关硬件和/或软件的组合体能够实现如前前面参考图5A-7描述的各项操作即可。
利用参考图10描述的装置,在用基于搜索的IBC编码模式对当前编码块进行编码时,通过基于预分析结果中的第一数量在水平方向和垂直方向上适应性地改变搜索步长,可以降低搜索时间复杂度,从而对搜索过程进行加速,进而在保证编码质量和编码性能的同时提升编码效率。
根据本申请的又一方面,还公开了一种计算设备。
图11示出了根据本申请实施例的计算设备1100的示意性框图。
如图11所示,计算设备1100包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该终端的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现如前面所述的用于确定屏幕视频的编码模式的方法和用于屏幕视频的编码的方法的各步骤中描述的各种操作。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行同样的用于确定屏幕视频的编码模式的方法和用于屏幕视频的编码的方法的各步骤中描述的各种操作。
例如,用于确定屏幕视频的编码模式的方法可以包括:利用基础编码模式和帧内块匹配(IBC)编码模式集合中的第一类型的IBC编码模式,分别对待编码屏幕视频的当前帧的当前编码块进行编码,得到至少两个编码代价;将至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式;以及在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将基础编码模式确定为当前编码块的编码模式,其中,第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,基础编码模式的编码复杂度比第一类型的IBC编码模式更低。每个步骤的更多细节已经在前文进行了详细描述,因此这里不再重复。
例如,用于屏幕视频的编码的方法,包括:在采用基于搜索的帧内块匹配(IBC)编码模式对待编码屏幕视频的当前帧中的每个编码块进行编码时,对当前帧进行降采样得到与当前帧相对应的采样帧,并对采样帧中的每个采样块的编码模式进行预分析,基于预分析的结果,确定采样帧的采样块当中编码模式为基于搜索的IBC编码模式的采样块的第一数量;基于第一数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,作为当前编码块的预测块,用于对当前编码块进行编码。
处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请的实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X84架构或ARM架构的。
非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。应注意,本申请描述的方法的存储器旨在包括但不限于这些和任意其它适合类别的存储器。
计算设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
该计算设备可以是终端或者服务器。其中,终端可包括但不限于:智能手机、平板电脑、笔记本电脑、台式计算机、智能电视等;终端内可运行各式各样的客户端(application,APP),如多媒体播放客户端、社交客户端、浏览器客户端、信息流客户端、教育客户端,等等。服务器可以是参考图1描述的服务器,即可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
根据本申请的另一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如前面所述的用于确定屏幕视频的编码模式的方法和用于屏幕视频的编码的方法的各步骤。
根据本申请的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前面所述的用于确定屏幕视频的编码模式的方法和用于屏幕视频的编码的方法的各步骤。
需要说明的是,附图中的流程图和框图,图示了按照本申请各种实施例的方法和装置的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
在上面详细描述的本申请的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本申请的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本申请的范围内。
Claims (12)
1.一种用于确定屏幕视频的编码模式的方法,包括:
利用帧内块匹配(IBC)编码模式集合中的第一类型的IBC编码模式和利用基础编码模式,分别对待编码屏幕视频的当前帧的当前编码块进行编码,得到至少两个编码代价;
将所述至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式;以及
在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将所述基础编码模式确定为当前编码块的编码模式,
其中,所述第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,所述基础编码模式的编码复杂度低于所述第一类型的IBC编码模式。
2.根据权利要求1所述的方法,还包括:在所述候选编码模式不为基础编码模式,或者所述候选编码模式为基础编码模式但所述基础编码模式的所述数量小于所述预设阈值的情况下,
利用所述剩余IBC编码模式对当前编码块进行编码;以及
基于所述基础编码模式、以及所述IBC编码模式集合中的每种编码方式分别对当前编码块进行编码的编码代价,确定当前编码块的编码模式。
3.根据权利要求2所述的方法,其中,所述IBC编码模式集合包括:基于merge/skip的IBC编码模式、基于搜索的IBC编码模式以及基于哈希的IBC编码模式中的至少一个;
其中,所述基础编码模式包括直流(DC)编码模式、平面(Planar)编码模式和基于方向的编码模式。
4.根据权利要求3所述的方法,其中,所述第一类型的IBC编码模式是基于merge/skip的IBC编码模式,
其中,基于所述基础编码模式、以及所述IBC编码模式集合中的每种编码方式对当前编码块进行编码的编码代价,确定当前编码块的编码模式,包括:
将所述至少两个编码代价、分别基于搜索的IBC编码模式以及基于哈希的IBC编码模式对当前编码块进行编码的编码代价中最小的一个编码代价对应的编码模式,确定为当前编码块的编码模式。
5.根据权利要求1所述的方法,其中,所述当前编码块的周围编码块包括:所述当前编码块左侧、上方、左上方、右上方、左下方的编码块以及当前编码块的上一层级编码块,
其中,所述当前帧按不同尺寸迭代地划分为不同层级的编码块,并且所述当前编码块的上一层级编码块被切分为包括所述当前编码块的多个编码块。
6.根据权利要求3所述的方法,其中,利用所述剩余IBC编码模式中的基于搜索的IBC编码模式对当前编码块进行编码,包括:
对当前帧进行降采样得到与当前帧相对应的采样帧,并对所述采样帧中的每个采样块的编码模式进行预分析,
基于预分析的结果,确定所述采样帧的采样块当中编码模式为基于搜索的IBC编码模式的采样块的第一数量;
基于所述第一数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,作为当前编码块的预测块,用于对当前编码块进行编码。
7.根据权利要求6所述的方法,其中,对当前帧进行降采样得到与当前帧相对应的采样帧,并对所述采样帧中的每个采样块的编码模式进行预分析,包括:
将所述采样帧划分为多个采样块;
利用编码模式集合对每个采样块进行预编码,得到每种编码模式对应的编码代价,其中,所述编码模式集合包括基础编码模式和基于搜索的IBC编码模式;
基于针对每个采样块所述编码模式集合中的每种编码模式对应的编码代价,确定每个采样块的编码模式。
8.根据权利要求7所述的方法,其中,基于所述第一数量,从当前帧内已编码区域中搜索与当前编码块最匹配的块,包括:
在所述第一数量满足第一阈值条件的情况下,以水平方向上的第一搜索步长和垂直方向上的第一搜索步长搜索与当前编码块最匹配的块,其中,所述第一搜索步长大于等于2;
在所述第一数量不满足第一阈值条件的情况下,基于所述第一数量的采样块中的每个采样块的块矢量,从当前帧内已编码区域中搜索与当前编码块最匹配的块,
其中,所述采样块的块矢量指示所述采样块相对于搜索得到的其最匹配的块的水平偏移值和垂直偏移值。
9.根据权利要求8所述的方法,其中,基于所述第一数量的采样块中的每个采样块的块矢量,从当前帧内已编码区域中搜索与当前编码块最匹配的块,包括:
基于预分析的结果,确定所述第一数量的采样块当中块矢量所指示的水平偏移值小于垂直偏移值的采样块的第二数量;以及
基于所述第二数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块。
10.根据权利要求9所述的方法,其中,基于所述第二数量,从当前帧内已编码区域当中搜索与当前编码块最匹配的块,包括:
在所述第二数量满足第二阈值条件的情况下,以水平方向上的第一搜索步长和垂直方向上的第二搜索步长搜索与当前编码块最匹配的块,所述第二搜索步长小于所述第一搜索步长;
在所述第二数量满足第三阈值条件的情况下,以水平方向上的第二搜索步长和垂直方向上的第一搜索步长搜索与当前编码块最匹配的块;以及
在所述第二数量既不满足第二阈值条件且不满足第三阈值条件的情况下,以水平方向上的第二搜索步长和垂直方向上的第二搜索步长搜索与当前编码块最匹配的块。
11.一种用于确定屏幕视频的编码模式的装置,包括:
代价计算模块,用于利用帧内块匹配(IBC)编码模式集合中的第一类型的IBC编码模式和利用基础编码模式,分别对待编码屏幕视频的当前帧的当前编码块进行编码,得到至少两个编码代价;
候选模式确定模块,用于将所述至少两个编码代价中最小的一个编码代价对应的编码模式确定为候选编码模式;以及
模式确定模块,用于在候选编码模式为基础编码模式,且当前编码块的已编码的周围编码块的编码模式中基础编码模式的数量大于等于预设阈值的情况下,跳过利用IBC编码模式集合中的剩余IBC编码模式对当前编码块进行编码,并将所述基础编码模式确定为当前编码块的编码模式,
其中,所述第一类型的IBC编码模式是IBC编码模式集合中编码复杂度最低的编码模式,所述基础编码模式的编码复杂度低于第一类型的IBC编码模式。
12.一种计算设备,包括:
处理器;以及
存储器,其上存储有计算机程序,所述计算机程序在由所述处理器执行时实现如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109630.7A CN114125442B (zh) | 2022-01-29 | 2022-01-29 | 屏幕视频编码模式确定方法、编码方法、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210109630.7A CN114125442B (zh) | 2022-01-29 | 2022-01-29 | 屏幕视频编码模式确定方法、编码方法、装置和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114125442A CN114125442A (zh) | 2022-03-01 |
CN114125442B true CN114125442B (zh) | 2022-05-03 |
Family
ID=80362097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210109630.7A Active CN114125442B (zh) | 2022-01-29 | 2022-01-29 | 屏幕视频编码模式确定方法、编码方法、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114125442B (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105659602B (zh) * | 2013-10-14 | 2019-10-08 | 微软技术许可有限责任公司 | 用于视频和图像编码的帧内块复制预测模式的编码器侧选项 |
AU2014201583A1 (en) * | 2014-03-14 | 2015-10-01 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data using a block dictionary |
TWI816224B (zh) * | 2015-06-08 | 2023-09-21 | 美商Vid衡器股份有限公司 | 視訊解碼或編碼方法及裝置 |
CN105578181B (zh) * | 2016-01-19 | 2019-01-01 | 南京大学 | 一种hevc中屏幕内容压缩的快速帧内模式决策和块匹配方法 |
CN107277509B (zh) * | 2017-08-03 | 2019-10-25 | 重庆邮电大学 | 一种基于屏幕内容的快速帧内预测方法 |
CN107623850B (zh) * | 2017-09-26 | 2019-11-22 | 杭州电子科技大学 | 一种基于时空相关性的快速屏幕内容编码方法 |
CN112385228B (zh) * | 2018-08-03 | 2022-07-01 | 联发科技股份有限公司 | 用于视频编解码的增强型帧内块复制模式的方法和装置 |
CN113597767A (zh) * | 2019-03-08 | 2021-11-02 | Oppo广东移动通信有限公司 | 预测方法、编码器、解码器及计算机存储介质 |
WO2020185050A1 (ko) * | 2019-03-14 | 2020-09-17 | 에스케이텔레콤 주식회사 | 인트라 블록 복사를 이용하는 영상 부호화 및 복호화 |
CN113826390B (zh) * | 2019-05-16 | 2024-03-08 | 字节跳动有限公司 | 屏幕内容编解码的帧内块复制 |
CN114979630A (zh) * | 2019-08-26 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 数据解码方法、装置和数据编码方法、装置 |
US11930159B2 (en) * | 2019-11-29 | 2024-03-12 | Intel Corporation | Method and system of video coding with intra block copying |
CN111741299B (zh) * | 2020-07-09 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 帧内预测模式的选择方法、装置、设备及存储介质 |
CN112055208B (zh) * | 2020-08-22 | 2024-05-07 | 浙江大华技术股份有限公司 | 视频编码方法、设备及存储装置 |
-
2022
- 2022-01-29 CN CN202210109630.7A patent/CN114125442B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114125442A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11800136B2 (en) | Constrained motion field estimation for hardware efficiency | |
US10462457B2 (en) | Dynamic reference motion vector coding mode | |
CN107205149B (zh) | 通过参考帧缓冲器跟踪的运动矢量参考选择 | |
US10819994B2 (en) | Image encoding and decoding methods and devices thereof | |
US11647223B2 (en) | Dynamic motion vector referencing for video coding | |
CN110049336B (zh) | 视频编码方法和视频解码方法 | |
CN110072119B (zh) | 一种基于深度学习网络的内容感知视频自适应传输方法 | |
US11115678B2 (en) | Diversified motion using multiple global motion models | |
US20170180745A1 (en) | Prediction method and Electronic Apparatus of encoding mode of variable resolution | |
CN113965751B (zh) | 屏幕内容编码方法、装置、设备及存储介质 | |
US20230030845A1 (en) | Picture Encoding and Decoding Method and Apparatus for Video Sequence | |
CN115118964A (zh) | 视频编码方法、装置、电子设备及计算机可读存储介质 | |
WO2021057686A1 (zh) | 视频解码方法和装置、视频编码方法和装置、存储介质及电子装置 | |
US10225573B1 (en) | Video coding using parameterized motion models | |
CN114125442B (zh) | 屏幕视频编码模式确定方法、编码方法、装置和计算设备 | |
US10536726B2 (en) | Pixel patch collection for prediction in video coding system | |
CN115361582B (zh) | 一种视频实时超分辨率处理方法、装置、终端及存储介质 | |
CN116170582A (zh) | 一种视频数据处理方法、装置、计算机设备以及存储介质 | |
JP2006508584A (ja) | ベクトル予測のための方法 | |
WO2020013735A1 (en) | Method and apparatus for aspect-ratio dependent filtering for intra-prediction | |
US11818345B2 (en) | Bitrate-adaptive segmentation for video transcoding | |
US20230254592A1 (en) | System and method for reducing transmission bandwidth in edge cloud systems | |
CN113747099B (zh) | 视频传输方法和设备 | |
Çetinkaya | Machine Learning Based Video Coding Enhancements for HTTP Adaptive Streaming | |
WO2023206420A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40064633 Country of ref document: HK |