CN116600112A - 帧内预测模式确定方法、装置、设备及存储介质 - Google Patents

帧内预测模式确定方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116600112A
CN116600112A CN202310566535.4A CN202310566535A CN116600112A CN 116600112 A CN116600112 A CN 116600112A CN 202310566535 A CN202310566535 A CN 202310566535A CN 116600112 A CN116600112 A CN 116600112A
Authority
CN
China
Prior art keywords
mode
directional
target
generation value
intra
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
CN202310566535.4A
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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202310566535.4A priority Critical patent/CN116600112A/zh
Publication of CN116600112A publication Critical patent/CN116600112A/zh
Pending legal-status Critical Current

Links

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/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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

Landscapes

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

Abstract

本公开实施例公开了一种帧内预测模式确定方法、装置、设备及存储介质,其中,所述方法包括:针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式;基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式;基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式;基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式。

Description

帧内预测模式确定方法、装置、设备及存储介质
技术领域
本公开涉及但不限于数据处理技术领域,尤其涉及一种帧内预测模式确定方法、装置、设备及存储介质。
背景技术
目前的视频编码技术包括了帧内预测模式和帧间预测模式等多种预测编码模式,编码端需要为当前编码块决定在众多可能的预测编码模式中,选择最适合的一种预测编码模式并告知解码端。然后,编码端采用选择的预测编码模式对当前编码块进行预测编码;当前编码块经过选定的已重建视频信号的预测后,得到残差视频信号。其中,帧内预测模式主要基于视频图像的像素在空域存在的相关性,从相邻已编码区域导出当前编码块的预测值。
相关技术中需要对计算所有帧内预测模式的代价值,进而确定当前编码块的目标帧内预测模式,编码复杂度较高,编码时间较长。
发明内容
有鉴于此,本公开实施例至少提供一种帧内预测模式确定方法、装置、设备、存储介质及程序产品。
本公开实施例的技术方案是这样实现的:
一方面,本公开实施例提供一种帧内预测模式确定方法,所述方法包括:针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式;基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式;基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中确定待去除非方向模式和至少一个目标非方向模式;基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式。
在一些实施例中,所述第一方向模式集合包括至少一个主方向模式和每一所述主方向模式对应的子方向模式;所述基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式,包括:确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值;基于每一所述主方向模式对应的第一代价值和所述至少一个所述子方向模式的第一代价值,在所述至少一个主方向模式和每一所述主方向模式对应的至少一个所述子方向模式中确定搜索起始点模式;基于所述搜索起始点模式对应的第一代价值和与相邻方向模式的第一代价值,在所述搜索起始点模式和所述相邻方向模式中确定所述目标方向模式;所述相邻方向模式为所述多个帧内方向模式中与所述搜索起始点模式的角度差小于预设角度阈值的帧内方向模式。
在一些实施例中,所述确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值,包括:针对每一所述主方向模式,基于预设的候选角度步长和角度间隔,在所述主方向模式对应的所有预设子方向模式中确定至少一个所述子方向模式;确定每一所述子方向模式对应的第一代价值。
在一些实施例中,所述候选角度步长为3,且所述角度间隔为3度;所述基于预设的候选角度步长和角度间隔,在所述主方向模式对应的所有预设子方向模式中确定至少一个所述子方向模式,包括:获取所述主方向模式对应的主角度;基于所述主角度、所述候选角度步长和所述角度间隔,确定第一子方向模式和第二子方向模式;所述第一子方向模式的角度相对于所述主角度的偏移角度为+9度,所述第二子方向模式的角度相对于所述主角度的偏移角度为-9度。
在一些实施例中,所述基于所述搜索起始点模式对应的第一代价值和与相邻方向模式的第一代价值,在所述搜索起始点模式和所述相邻方向模式中确定所述目标方向模式,包括:基于所述搜索起始点模式和预设的搜索步长,在所述多个帧内方向模式中确定至少两个所述相邻方向模式;所述至少两个所述相邻方向模式中角度小于搜索起始点模式的角度的方向模式与角度小于搜索起始点模式的角度的方向模式的数量相同;基于所述搜索起始点模式对应的第一代价值和每一所述相邻方向模式的第一代价值,在所述搜索起始点模式和所述至少一个相邻方向模式中确定所述目标方向模式。
本公开实施例中,通过分别计算第一方向模式集合中每一方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式,这样可以实现预先对方向模式进行初步筛选。基于此,本公开实施例可以先通过计算复杂度较低的代价值计算方法对帧内方向模式进行初步筛选,这样,可以减少后续第三代价值需要计算的模式数量,从而可以减少帧内预测模式确定过程中的计算量,提升方案整体运行效率。
在一些实施例中,所述多个非方向模式包括第一非方向模式、第二非方向模式和至少一个第三非方向模式;所述基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式,包括:在所述目标方向模式为预设的待比对方向模式的情况下,获取所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值、所述第三非方向模式的第二代价值;对所述待比对方向模式的第一代价值、所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值和至少一个所述第三非方向模式的第二代价值进行升序排序,得到所述待比对方向模式对应的位次;在所述待比对方向模式对应的位次满足预设位次要求的情况下,在所述第一非方向模式和所述第二非方向模式中确定所述待去除非方向模式和待保留非方向模式;所述待去除非方向模式与所述待比对方向模式之间的偏移角度,大于所述待保留非方向模式与所述待比对方向模式之间的偏移角度;将所述待保留非方向模式和至少一个所述第三非方向模式确定为所述至少一个目标非方向模式。
本公开实施例中,基于该目标方向模式的第一代价值和每一非方向模式的第二代价值,可以对多个非方向模式进行筛选。基于此,本公开实施例可以先通过计算复杂度较低的代价值计算方法对非方向模式进行初步筛选,这样,可以减少后续第三代价值需要计算的模式数量,从而可以减少帧内预测模式确定过程中的计算量,提升方案整体运行效率。
在一些实施例中,所述预设位次要求为所述待比对方向模式的位次为第一位或第二位。
在一些实施例中,所述第一非方向模式为SMOOTH_V模式,所述第二非方向模式为SMOOTH_H模式;所述在所述第一非方向模式和所述第二非方向模式中确定所述待去除非方向模式和待保留非方向模式,包括:在所述待比对方向模式为D113_PRED模式的情况下,将所述SMOOTH_V模式作为所述待保留非方向模式,将所述SMOOTH_H模式作为所述待去除非方向模式;在所述待比对方向模式为D157_PRED模式的情况下,将所述SMOOTH_H模式作为所述待保留非方向模式,将所述SMOOTH_V模式作为所述待去除非方向模式。
在一些实施例中,所述多个非方向模式包括SMOOTH_V模式、SMOOTH_H模式和其他非方向模式;所述基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式,包括:在所述目标方向模式为预设的待比对方向模式的情况下,获取所述SMOOTH_V模式的第二代价值、所述SMOOTH_H模式的第二代价值、所述其他非方向模式的第二代价值;对所述待比对方向模式的第一代价值、所述SMOOTH_V模式的第二代价值、所述SMOOTH_H模式的第二代价值和至少一个所述其他非方向模式的第二代价值进行升序排序,得到所述待比对方向模式对应的位次;在所述待比对方向模式对应的位次满足预设位次要求的情况下,在所述SMOOTH_V模式和所述SMOOTH_H模式中确定所述待去除非方向模式和待保留非方向模式;所述待去除非方向模式与所述待比对方向模式之间的偏移角度,大于所述待保留非方向模式与所述待比对方向模式之间的偏移角度;将所述待保留非方向模式和至少一个所述其他非方向模式确定为所述至少一个目标非方向模式。
本公开实施例中,通过以方向模式为引导对帧内非方向模式SMOOTH_H_PRED和SMOOTH_V_PRED进行剪枝,缩小了非方向模式的搜索范围,节省了非必要的搜索时间。
在一些实施例中,所述基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式,包括:基于所述目标方向模式对所述当前编码块进行率失真优化RDO编码,得到所述目标方向模式对应的第三代价值;基于每一所述目标非方向模式对所述当前编码块进行编码,得到每一所述目标非方向模式对应的第三代价值;将最小第三代价值对应的模式确定为所述当前编码块的目标帧内预测模式。
本公开实施例中,通过完整的率失真优化RDO编码,确定目标方向模式和每一所述目标非方向模式对应的第三代价值,这样,可以保证帧内预测模式的准确度,提升编码质量。
在一些实施例中,在所述获取所述当前编码块对应的第一方向模式集合之前,所述方法还包括:获取所述当前编码块的编码控制位;所述编码控制为用于确定所述当前编码块是否需要进行快速帧内预测;在所述当前编码块需要进行快速帧内预测的情况下,获取所述当前编码块对应的第一方向模式集合;在所述当前编码块不需要进行快速帧内预测的情况下,基于所有帧内预测模式中每一所述帧内预测模式的第一代价值,确定至少一个待编码帧内预测模式;基于每一所述待编码帧内预测模式的第三代价值,在所述至少一个待编码帧内预测模式中确定所述当前编码块的目标帧内预测模式。
本公开实施例中,通过判断当前编码块是否需要进行快速帧内预测,实现了对各编码块的帧内预测模式确定流程的自由切换,满足了不同应用场景下的编码需求。
另一方面,本公开实施例提供一种帧内预测模式确定装置,所述装置包括:
获取模块,用于针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式;
第一确定模块,用于基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式;
第二确定模块,用于基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式;
第三确定模块,用于基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式。
再一方面,本公开实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
又一方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。
本公开实施例中,通过分别计算第一方向模式集合中每一方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式,这样可以实现预先对方向模式进行初步筛选;同时,基于该目标方向模式的第一代价值和每一非方向模式的第二代价值,可以对多个非方向模式进行筛选;最后,通过计算目标方向模式和每一目标非方向模式的第三代价值,来确定目标帧内预测模式。基于此,本公开实施例可以先通过计算复杂度较低的代价值计算方法分别对帧内方向模式和非方向模式进行初步筛选,这样,无需计算帧内预测模式的代价值,减少后续第三代价值需要计算的模式数量,从而可以减少帧内预测模式确定过程中的计算量,同时,基于第三代价值确定目标帧内预测模式,可以保证帧内预测模式的准确度,提升编码质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1A为本公开实施例提供的AV1的帧内预测模式的示意图;
图1B为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图2为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图3为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图4为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图5为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图6为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图7为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图8为本公开实施例提供的一种在D113或D157为目标方向模式的情况下各非方向模式为目标帧内预测模式的概率示意图;
图9为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图;
图10为本公开实施例提供的一种帧内预测模式确定装置的组成结构示意图;
图11为本公开实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面结合附图和实施例对本公开的技术方案进一步详细阐述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开的目的,不是旨在限制本公开。
在对本公开实施例进行进一步详细说明之前,先对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释。
1)AV1,一种视频编码格式,由开放媒体联盟行业联盟于2018年初联合开发并最终定稿。AV1开发的主要目标是在当前的编解码器基础上获得可观的压缩率提升,同时确保解码的复杂性和硬件的实际可行性。。
2)编码块,针对每一帧图像,在进行编码的过程中需要划分为一个一个的块进行编码,本公开实施例将这里的块统一称为编码块。编码块的尺寸一般为16x16(H264、VP8),32x32(H265、VP9),64x64(H265、VP9、AV1),128x128(AV1),其中,H264、H265、VP8、VP9和AV1均为常见的编码格式。
3)预测编码(Predictive Coding),目前的视频编码技术包括了帧内预测模式和帧间预测模式等多种预测编码模式,编码端需要为当前编码块决定在众多可能的预测编码模式中,选择最适合的一种预测编码模式并告知解码端。然后,编码端采用选择的预测编码模式对当前编码块进行预测编码;当前编码块经过选定的已重建视频信号的预测后,得到残差视频信号。
4)帧内预测模式,帧内预测模式是一种常用的预测编码技术,其主要基于视频图像的像素在空域存在的相关性,从相邻已编码区域导出当前编码块的预测值。
在一些实施例中,以视频编码格式AV1为例,对本公开实施例中的帧内预测模式确定方法进行说明,请参阅图1A,图1A是本公开实施例提供的AV1的帧内预测模式的示意图。其中,AV1对应的帧内预测模式共包括8个主方向模式:D45_PRED模式110、D67_PRED模式120、V_PRED模式130、D113_PRED模式140、D135_PRED模式150、D157_PRED模式160、H_PRED模式170、D203_PRED模式180。
此外,每个主方向模式可以对应多个子方向模式。在AV1中,可以使用56个角度(或预测角度)或56个方向模式(或角度模式、定向帧内预测模式)。每个预测角度可以由主角度(主方向模式的角度)和偏移角度(或角度增量)表示。偏移角度可以通过将角度步长I(例如,-3、-2、-1、0、1、2或3)乘以角度间隔(例如,3度)来获得。在示例中,方向模式的角度等于主角度和偏移角度的总和。在图1A中,示出了D135_PRED模式150对应的6个子方向模式,包括:D135_PRED_-3(151)、D135_PRED_-2(152)、D135_PRED_-1(153)、D135_PRED_1(154)、D135_PRED_2(155)和D135_PRED_3(156)。为了便于理解,其他主方向模式对应的子方向模式在图1A中未示出。
在一些实施例中,AV1的帧内预测模式除了包括上述56个方向模式之外,还可以包括多个非方向模式:DC模式、PAETH模式、SMOOTH模式、SMOOTH_H模式和SMOOTH_V模式。
本公开实施例提供一种帧内预测模式确定方法,该方法可以由计算机设备的处理器执行。其中,计算机设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、移动设备(例如移动电话、便携式视频播放器、个人数字助理、专用消息设备、便携式游戏设备)等具备数据处理能力的设备。图1B为本公开实施例提供的一种帧内预测模式确定方法的实现流程示意图,如图1B所示,该方法包括如下步骤S101至步骤S103:
步骤S101、针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式。
在一些实施例中,可以通过HOG剪枝过程对上述8个主方向模式进行筛选,得到该第一方向模式集合。其中,该上述HOG剪枝过程包括:将π划分为32个角度区间,计算每一角度区间对应的方向梯度,在经过归一化处理后,输入至经过预训练的全连接层,得到每一主方向模式对应的分数;将分数小于预设阈值的主方向模式去除,得到该第一方向模式集合。
其中,该第一方向模式集合包括至少一个主方向模式和每一主方向模式对应的6个子方向模式。示例性的,在HOG剪枝过程对上述8个主方向模式进行筛选,得到D45_PRED模式和D67_PRED模式的情况下,该第一方向模式集合可以包括D45_PRED模式、D67_PRED模式、D45_PRED_-3模式、D45_PRED_-2模式、D45_PRED_-1模式、D45_PRED_1模式、D45_PRED_2模式、D45_PRED_3模式、D67_PRED_-3模式、D67_PRED_-2模式、D67_PRED_-1模式、D67_PRED_1模式、D67_PRED_2模式、D67_PRED_3模式。
步骤S102、基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式。
在一些实施例中,可以通过分别计算每一方向模式对应的第一代价值,并将最小的第一代价值对应的方向模式作为该目标方向模式。其中,目标方向模式可以位于该第一方向模式集合之中。
在另一实施例中,该目标方向模式还可以位于该第一方向模式集合之外。例如,在分别计算每一方向模式对应的第一代价值之后,基于每一方向模式对应的第一代价值均不满足预设要求,则需要在该第一方向模式集合之外,基于遍历其他方向模式,并计算第一方向模式集合之外的各方向模式的第一代价值,将满足预设要求的方向模式作为该目标方向模式。
在一些实施例中,还可以通过将各方向模式的哈达玛(Hadamard)代价作为该第一代价值。其中,哈达玛代价JHAD可以通过SATD+λmode·Rmode确定。其中,λmode和Rmode分别为当前帧内预测模式的拉格朗日系数和所需的编码比特数,SATD是指将残差信号进行哈达玛变换后元素的绝对值之和,即绝对变换误差和(Sum of Absolute Transformed Difference,SATD)。
步骤S103、基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式。
在一些实施例中,以AV1的帧内预测模式为例,该多个非方向模式包括DC模式、PAETH模式、SMOOTH模式、SMOOTH_H模式和SMOOTH_V模式。其中,步骤S103中计算每一非方向模式的第二代价值的方式与步骤S102中计算每一方向模式的第一代价值的方式相同。示例性的,在计算每一方向模式的哈达玛代价作为第一代价值的情况下,步骤S103中也计算非方向模式的哈达玛代价作为该第二代价值。
在一些实施例中,可以比较该目标方向模式的第一代价值和每一所述非方向模式的第二代价值,在多个非方向模式中确定需要去除的待去除非方向模式和需要保留的待保留非方向模式,将待保留非方向模式作为至少一个目标非方向模式。
在一些实施例中,可以将第二代价值大于该第一代价值的非方向模式确定为需要去除的待去除非方向模式和将第二代价值小于或等于该第一代价值的非方向模式确定为需要保留的待保留非方向模式,得到至少一个目标非方向模式。
在另一些实施例中,还可以基于该目标方向模式的第一代价值和每一所述非方向模式的第二代价值的比较结果,确定需要的目标帧内预测模式在各个非方向模式的概率值,并将概率值小于预设概率阈值的非方向模式作为待去除非方向模式,从多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式。其中,目标帧内预测模式在各个非方向模式的概率值可以基于经过大量数据训练后的神经网络模型得到。该神经网络模型的输入为目标方向模式的第一代价值和每一所述非方向模式的第二代价值,输出的是目标帧内预测模式在各个非方向模式的概率值。
步骤S104、基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式。
其中,第一代价值和第二代价值的计算复杂度小于该第三代价值的计算复杂度。以该第一代价值和第二代价值为哈达玛代价、第三代价值为率失真代价为例,相比于率失真代价计算过程,哈达玛代价计算仅仅使用了加减法,且哈达玛矩阵可以递归生成,复杂度相对降低很多。
在一些实施例中,该第三代价值为基于当前帧内预测模式执行率失真优化RDO编码后得到的代价值。
本公开实施例中,通过分别计算第一方向模式集合中每一方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式,这样可以实现预先对方向模式进行初步筛选;同时,基于该目标方向模式的第一代价值和每一非方向模式的第二代价值,可以对多个非方向模式进行筛选;最后,通过计算目标方向模式和每一目标非方向模式的第三代价值,来确定目标帧内预测模式。基于此,本公开实施例可以先通过计算复杂度较低的代价值计算方法分别对帧内方向模式和非方向模式进行初步筛选,这样,可以减少后续第三代价值需要计算的模式数量,从而可以减少帧内预测模式确定过程中的计算量,同时,基于第三代价值确定目标帧内预测模式,可以保证帧内预测模式的准确度,提升编码质量。
图2是本公开实施例提供的帧内预测模式确定方法的一个可选的流程示意图,该方法可以由计算机设备的处理器执行。基于图1B,所述第一方向模式集合包括至少一个主方向模式和每一所述主方向模式对应的子方向模式。图1B中的S102可以更新为S201至S203,将结合图2示出的步骤进行说明。
步骤S201、确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值。
在一些实施例中,针对每一主方向模式,在第一方向模式集合中,该主方向模式可以对应多个子方向模式。示例性的,以主方向模式为上述D135_PRED模式为例,该D135_PRED模式可以对应的6个子方向模式,包括:D135_PRED_-3、D135_PRED_-2、D135_PRED_-1、D135_PRED_1、D135_PRED_2和D135_PRED_3。
在一些实施例中,为了保证准确率,针对任意一个主方向模式,在确定该主方向模式对应的至少一个所述子方向模式的第一代价值的过程中,可以分别确定该主方向模式对应的所有子方向模式的第一代价值。如上述示例,可以计算该D135_PRED模式对应的6个子方向模式的第一代价值。在另一些实施例中,为了保证计算效率,针对任意一个主方向模式,在确定该主方向模式对应的至少一个所述子方向模式的第一代价值的过程中,可以从该主方向模式对应的多个子方向模式中筛选部分的子方向模式,并确定该子方向模式的第一代价值。如上述示例,可以计算该D135_PRED模式对应的n个子方向模式的第一代价值,n为小于6的正整数。
在一些实施例中,可以通过步骤S2011至步骤S2012实现上述确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值。
步骤S2011、针对每一所述主方向模式,基于预设的候选角度步长和角度间隔,在所述主方向模式对应的所有预设子方向模式中确定至少一个所述子方向模式。
其中,所述候选角度步长为3,且所述角度间隔为3度;上述基于预设的候选角度步长和角度间隔,在所述主方向模式对应的所有预设子方向模式中确定至少一个所述子方向模式,包括:获取所述主方向模式对应的主角度;基于所述主角度、所述候选角度步长和所述角度间隔,确定第一子方向模式和第二子方向模式;所述第一子方向模式的角度相对于所述主角度的偏移角度为+9度,所述第二子方向模式的角度相对于所述主角度的偏移角度为-9度。
步骤S2012、确定每一所述子方向模式对应的第一代价值。
其中,步骤S2012可以确定第一子方向模式对应的第一代价值,和第二子方向模式对应的第一代价值。
示例性的,以主方向模式对应的子方向模式为相对于所述主角度的偏移角度为+9度的第一子方向模式和相对于所述主角度的偏移角度为-9度的第二子方向模式为例,在主方向模式为D135_PRED模式的情况下,对应的第一子方向模式为D135_PRED_3,第二子方向模式为D135_PRED_-3。
步骤S202、基于每一所述主方向模式对应的第一代价值和所述至少一个所述子方向模式的第一代价值,在所述至少一个主方向模式和每一所述主方向模式对应的至少一个所述子方向模式中确定搜索起始点模式。
在一些实施例中,可以在该至少一个主方向模式和每一主方向模式对应的至少一个子方向模式中,将最小第一代价值对应的方向模式作为该搜索起始点模式。
示例性的,以主方向模式包括D135_PRED和D67_PRED为例,步骤S201可以得到以下方向模式的第一代价值:D135_PRED模式、D135_PRED_3模式,D135_PRED_-3模式、D67_PRED、D67_PRED_3模式,D67_PRED_-3模式。在D67_PRED_3模式的第一代价值为上述方向模式中的最小第一代价值的情况下,该搜索起始点模式为D67_PRED_3模式。
步骤S203、基于所述搜索起始点模式对应的第一代价值和与相邻方向模式的第一代价值,在所述搜索起始点模式和所述相邻方向模式中确定所述目标方向模式。
在一些实施例中,所述相邻方向模式为所述多个帧内方向模式中与所述搜索起始点模式的角度差小于预设角度阈值的帧内方向模式。
在本公开实施例中,先基于该搜索起始点模式的角度和该预设角度阈值,在多个帧内方向模式中确定该搜索起始点模式的相邻方向模式。其中,该相邻方向模式与该搜索起始点模式的角度差的绝对值小于该预设角度阈值。在一些实施例中,搜索起始点模式对应的相邻方向模式可以包括所有与所述搜索起始点模式的角度差小于预设角度阈值的帧内方向模式,也可以包括部分的与所述搜索起始点模式的角度差小于预设角度阈值的帧内方向模式,本公开对此不作限定。
示例性的,以搜索起始点模式为D67_PRED_3模式为例,在该预设角度阈值为5度的情况下,该D67_PRED_3模式对应的相邻方向模式包括D67_PRED_2模式和V_PRED_-3模式;在该预设角度阈值为7度的情况下,该D67_PRED_3模式对应的相邻方向模式包括D67_PRED_2模式、D67_PRED_1模式、V_PRED_-2模式和V_PRED_-3模式。
在本公开实施例中,在得到该搜索起始点模式和对应的每一相邻方向模式之后,可以分别确定搜索起始点模式的第一代价值和对应的每一相邻方向模式的第一代价值,将最小第一代价值的帧内方向模式作为该目标方向模式。
在一些实施例中,可以通过步骤S2031至步骤S2032实现上述基于所述搜索起始点模式对应的第一代价值和与相邻方向模式的第一代价值,在所述搜索起始点模式和所述相邻方向模式中确定所述目标方向模式。
步骤S2031、基于所述搜索起始点模式和预设的搜索步长,在所述多个帧内方向模式中确定至少两个所述相邻方向模式。
其中,所述至少两个所述相邻方向模式中角度小于搜索起始点模式的角度的方向模式与角度小于搜索起始点模式的角度的方向模式的数量相同。
在本公开实施例中,该至少两个相邻方向模式中各相邻方向模式对应的角度至均匀的分布在该搜索起始点模式的角度两侧。在一些实施例中,可以获取各帧内方向模式的角度排序,并基于该搜索起始点模式在各帧内方向模式中的位置,按照该预设的搜索步长进行双向搜索,得到该至少两个所述相邻方向模式。
示例性的,以搜索起始点模式为D67_PRED_3模式为例,在搜索步长为2的情况下,基于该D67_PRED_3模式在各帧内方向模式对应的角度排序的位置,可以得到D67_PRED_3模式的相邻方向模式包括:D67_PRED_2模式、D67_PRED_1模式、V_PRED_-2模式和V_PRED_-3模式。其中,D67_PRED_2模式和D67_PRED_1模式位于该D67_PRED_3模式的一侧,V_PRED_-2模式和V_PRED_-3模式位于该D67_PRED_3模式的另一侧,两侧的相邻方向模式的数量相同。
在一些实施例中,该搜索步长为正整数。经过实验测试结果可以得到,该搜索步长设置为2的情况下,可以在满足编码效率的同时,提高帧内模式选择的准确度。
步骤S2032、基于所述搜索起始点模式对应的第一代价值和每一所述相邻方向模式的第一代价值,在所述搜索起始点模式和所述至少一个相邻方向模式中确定所述目标方向模式。
在本公开实施例中,在得到该搜索起始点模式和对应的每一相邻方向模式之后,可以分别确定搜索起始点模式的第一代价值和对应的每一相邻方向模式的第一代价值,将最小第一代价值的帧内方向模式作为该目标方向模式。
本公开实施例中,通过分别计算第一方向模式集合中每一方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式,这样可以实现预先对方向模式进行初步筛选。基于此,本公开实施例可以先通过计算复杂度较低的代价值计算方法对帧内方向模式进行初步筛选,这样,可以减少后续第三代价值需要计算的模式数量,从而可以减少帧内预测模式确定过程中的计算量,提升方案整体运行效率。
图3是本公开实施例提供的帧内预测模式确定方法的一个可选的流程示意图,该方法可以由计算机设备的处理器执行。基于图1B,所述多个非方向模式包括第一非方向模式、第二非方向模式和至少一个第三非方向模式;图1B中的S103可以更新为S301至S303,将结合图3示出的步骤进行说明。
步骤S301、在所述目标方向模式为预设的待比对方向模式的情况下,获取所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值、所述第三非方向模式的第二代价值。
这里,该待比对方向模式可以为D113_PRED模式;该待比对方向模式也可以为D157_PRED模式;该待比对方向模式还可以为D113_PRED模式和D157_PRED模式。在该目标方向模式为属于该待比对方向模式的情况下,执行该步骤S301。
在一些实施例中,在所述目标方向模式为不是预设的待比对方向模式的情况下,则直接执行步骤S104。
在本公开实施例中,该第一非方向模式为SMOOTH_V模式,该第二非方向模式为SMOOTH_H模式,至少一个第三非方向模式包括DC模式、PAETH模式、SMOOTH模式。计算上述非方向模式的第二代价值的方式与计算上述方向模式的第一代价值的方式相同。
步骤S302、对所述待比对方向模式的第一代价值、所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值和至少一个所述第三非方向模式的第二代价值进行升序排序,得到所述待比对方向模式对应的位次。
在本公开实施例中,由于第一代价值和第二代价值均采用相同的代价值计算方式确定,因此,可以基于该第一代价值和第二代价值对上述待比对方向模式、第一非方向模式、第二非方向模式和至少一个第三非方向模式进行升序排序,进而得到待比对方向模式对应的位次。
示例性的,以待比对方向模式的第一代价值为H1、第一非方向模式(SMOOTH_V模式)的第二代价值为H2、第二非方向模式(SMOOTH_H模式)的第二代价值为H3和至少一个第三非方向模式的代价值分别为H4、H5和H6为例,若进行升序排序后得到的排序结果为H2、H1、H3、H6、H5和H4,则该待比对方向模式对应的位次为2。
步骤S303、在所述待比对方向模式对应的位次满足预设位次要求的情况下,在所述第一非方向模式和所述第二非方向模式中确定所述待去除非方向模式和待保留非方向模式。
其中,所述待去除非方向模式与所述待比对方向模式之间的偏移角度,大于所述待保留非方向模式与所述待比对方向模式之间的偏移角度。
在一些实施例中,该预设位次要求可以包括:待比对方向模式对应的位次小于或等于预设位序。示例性的,该预设位序可以设置为2。在该预设位序设置为2的情况下,步骤S303可以更新为,待比对方向模式对应的位次为第一位或第二位的情况下,在所述第一非方向模式和所述第二非方向模式中确定所述待去除非方向模式和待保留非方向模式。
在一些实施例中,在该第一非方向模式为SMOOTH_V模式,该第二非方向模式为SMOOTH_H模式的情况下,该SMOOTH_V模式为垂直方向的非方向模式,该SMOOTH_H模式为水平方向的非方向模式。
基于此,在待比对方向模式为D113_PRED模式的情况下,由于D113_PRED模式与垂直方向之间的偏移角度小于D113_PRED模式与水平方向之间的偏移角度,因此,可以将第一非方向模式(SMOOTH_V模式)作为待保留非方向模式,并将所述第二非方向模式(SMOOTH_H模式)作为待去除非方向模式。
在待比对方向模式为D157_PRED模式的情况下,由于D157_PRED模式与垂直方向之间的偏移角度大于D157_PRED模式与水平方向之间的偏移角度,因此,可以将第一非方向模式(SMOOTH_V模式)作为待去除非方向模式,并将所述第二非方向模式(SMOOTH_H模式)作为待保留非方向模式。
步骤S304、将所述待保留非方向模式和至少一个所述第三非方向模式确定为所述至少一个目标非方向模式。
这里,可以将该待保留非方向模式(SMOOTH_V模式或SMOOTH_H模式)和至少一个所述第三非方向模式(DC模式、PAETH模式、SMOOTH模式)确定为所述至少一个目标非方向模式。
在一些实施例中,所述多个非方向模式包括SMOOTH_V模式、SMOOTH_H模式和其他非方向模式。
上述步骤S301可以更新为:在所述目标方向模式为预设的待比对方向模式的情况下,获取所述SMOOTH_V模式的第二代价值、所述SMOOTH_H模式的第二代价值、所述其他非方向模式的第二代价值。
上述步骤S302可以更新为:对所述待比对方向模式的第一代价值、所述SMOOTH_V模式的第二代价值、所述SMOOTH_H模式的第二代价值和至少一个所述其他非方向模式的第二代价值进行升序排序,得到所述待比对方向模式对应的位次;
上述步骤S303可以更新为:在所述待比对方向模式对应的位次满足预设位次要求的情况下,在所述SMOOTH_V模式和所述SMOOTH_H模式中确定所述待去除非方向模式和待保留非方向模式;所述待去除非方向模式与所述待比对方向模式之间的偏移角度,大于所述待保留非方向模式与所述待比对方向模式之间的偏移角度;
在一些实施例中,所述预设位次要求为所述待比对方向模式的位次为第一位或第二位。
在一些实施例中,上述待比对方向模式为D113_PRED模式、D157_PRED模式,上述步骤S301可以更新为:在所述目标方向模式为D113_PRED模式或D157_PRED模式的情况下,获取所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值、所述第三非方向模式的第二代价值。相应的,可以通过以下步骤实现上述确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值。
其中,在所述待比对方向模式为D113_PRED模式的情况下,将所述SMOOTH_V模式作为所述待保留非方向模式,将所述SMOOTH_H模式作为所述待去除非方向模式。
其中,在所述待比对方向模式为D157_PRED模式的情况下,将所述SMOOTH_H模式作为所述待保留非方向模式,将所述SMOOTH_V模式作为所述待去除非方向模式。
本公开实施例中,基于该目标方向模式的第一代价值和每一非方向模式的第二代价值,可以对多个非方向模式进行筛选。基于此,本公开实施例可以先通过计算复杂度较低的代价值计算方法对非方向模式进行初步筛选,这样,可以减少后续第三代价值需要计算的模式数量,从而可以减少帧内预测模式确定过程中的计算量,提升方案整体运行效率;同时,本公开实施例通过以方向模式为引导对帧内非方向模式SMOOTH_H_PRED和SMOOTH_V_PRED进行剪枝,缩小了非方向模式的搜索范围,节省了非必要的搜索时间。
图4是本公开实施例提供的帧内预测模式确定方法的一个可选的流程示意图,该方法可以由计算机设备的处理器执行。基于图1B,图1B中的S104可以更新为S401至S403,将结合图4示出的步骤进行说明。
步骤S401、基于所述目标方向模式对所述当前编码块进行率失真优化RDO编码,得到所述目标方向模式对应的第三代价值。
步骤S402、基于每一所述目标非方向模式对所述当前编码块进行编码,得到每一所述目标非方向模式对应的第三代价值。
步骤S403、将最小第三代价值对应的模式确定为所述当前编码块的目标帧内预测模式。
其中,该第三代价值为基于当前帧内预测模式执行率失真优化RDO编码后得到的代价值。该第三代价值可以表示为:J(mode)=SSD+λ*R(mode,residual),其中,SSD是指重建块与源图像的差值均方和;λ是拉格朗日乘子;R是该模式下宏块编码的实际码流,包括对参考帧、模式、运动矢量、残差等的比特总和。
在本公开实施例中,在得到该目标方向模式和每一目标非方向模式之后,可以对上述各模式进行遍历,执行完整的RDO编码过程,得到目标方向模式对应的第三代价值和每一目标非方向模式对应的第三代价值,进而将最小第三代价值对应的模式确定为所述当前编码块的目标帧内预测模式。
本公开实施例中,通过完整的率失真优化RDO编码,确定目标方向模式和每一所述目标非方向模式对应的第三代价值,这样,可以保证帧内预测模式的准确度,提升编码质量。
图5是本公开实施例提供的帧内预测模式确定方法的一个可选的流程示意图,该方法可以由计算机设备的处理器执行。基于图1B,所述方法还可以包括步骤501、步骤502、图1B中的S101可以更新为S503,将结合图5示出的步骤进行说明。
步骤S501、获取所述当前编码块的编码控制位;所述编码控制为用于确定所述当前编码块是否需要进行快速帧内预测。
在一些实施例中,可以通过预设的编码控制位确定是否需要进行快速帧内预测。该编码控制位可以设置为第一值或第二值,在该编码控制位为第一值的情况下,表示该编码块需要进行快速帧内预测,执行步骤S503。在该编码控制位为第二值的情况下,表示该编码块不需要进行快速帧内预测,执行步骤S502。
步骤S502、在所述当前编码块不需要进行快速帧内预测的情况下,基于所有帧内预测模式中每一所述帧内预测模式的第一代价值,确定至少一个待编码帧内预测模式;基于每一所述待编码帧内预测模式的第三代价值,在所述至少一个待编码帧内预测模式中确定目标帧内预测模式。
在一些实施例中,可以比较每一帧内预测模式的第一代价值与预设的代价值阈值,将小于该代价值阈值的帧内预测模式作为该至少一个待编码帧内预测模式;在另一些实施例中,还可以对每一帧内预测模式的第一代价值进行升序排序,将排序位次位于预设的位次之前的帧内预测模式作为该至少一个待编码帧内预测模式。
在本公开实施例中,在得到至少一个待编码帧内预测模式之后,对每一待编码帧内预测模式进行遍历,执行完整的RDO编码过程,得到每一待编码帧内预测模式对应的第三代价值,进而将最小第三代价值对应的模式确定为所述当前编码块的目标帧内预测模式。
步骤S503、在所述当前编码块需要进行快速帧内预测的情况下,针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式。
这里,在所述当前编码块需要进行快速帧内预测的情况下,可以执行后续的步骤S102至步骤S104,在实施时可以参照前述步骤S102至步骤S104的具体实施方式。
本公开实施例中,通过判断当前编码块是否需要进行快速帧内预测,实现了对各编码块的帧内预测模式确定流程的自由切换,满足了不同应用场景下的编码需求。
下面说明本公开实施例提供的帧内预测模式确定方法在实际场景中的应用。
图6是本公开实施例提供的帧内预测模式确定方法的一个可选的流程示意图,该方法可以由计算机设备的处理器执行。为了便于说明本公开,以下将以第i个编码块的帧内预测模式确定过程进行说明,将结合图6示出的步骤进行说明。
步骤S601、对编码块i进行编码过程。
步骤S602、针对编码块i,确定是否采用快速帧内预测方法。
其中,在采用快速帧内预测方法的情况下,依次执行步骤S603和步骤S604;在不采用快速帧内预测方法的情况下,执行步骤S605;
步骤S603、基于梯度下降的帧内方向模式决策。
步骤S604、方向模式引导的帧内非方向模式决策。
步骤S605、原始的粗略模式决策。
步骤S606、执行完整的率失真优化(full RDO)决策目标帧内预测模式。
步骤S607、对编码块i+1进行编码过程。
图7是本公开实施例提供的帧内预测模式确定方法的一个可选的流程示意图,该方法可以由计算机设备的处理器执行。基于图6,图6中的S603可以更新为S701至S703,将结合图7示出的步骤进行说明。
步骤S701、经过HOG剪枝,得到初始方向候选集合。
其中,利用HOG剪枝后的结果得到未被跳过的方向模式的集合记作Mi,搜索起始点将从Mi中挑选。
在一些实施例中,上述HOG剪枝过程包括:将π划分为32个角度区间,计算每一角度区间对应的方向梯度,在经过归一化处理后,输入至经过预训练的全连接层,得到每一主方向模式对应的分数;将分数小于预设阈值的主方向模式去除,得到该初始方向候选集合(对应上述实施例中的第一方向模式集合)。其中,该初始方向候选集合包括未被去除的主方向模式和该主方向模式对应的6个子方向模式。
步骤S702、在该初始方向候选集合中确定搜索起始点模式。
在一些实施例中,遍历集合Mi中的所有方向模式,计算其主方向模式(偏移角度为0度)、偏移角度是+9度的子方向模式和-9度的子方向模式,共三个方向模式的Hadamard代价,选择Hadamard代价最小的方向模式记作Ms,即为搜索起始点模式。
其中,Hadamard代价是计算失真的一种方式,可以通过以下方式确定:将残差信号进行hadamard变换后,再求各元素绝对值之和,还可以称为SATD代价。
示例性的,以该集合Mi包括4个主方向模式(M10、M20、M30和M40)和每一主方向模式对应的6个子方向模式(M10_-3、M10_-2、M10_-1、M10_1、M10_2、M10_3、M20_-3、M20_-2、M20_-1、M20_1、M20_2、M20_3、M30_-3、M30_-2、M30_-1、M30_1、M30_2、M30_3、M40_-3、M40_-2、M40_-1、M40_1、M40_2、M40_3)。
步骤S703、基于该搜索起始点模式,进行双向梯度搜索,得到目标方向模式。
在一些实施例中,在确定上述搜索起始点模式Ms之后,需要基于该搜索起始点模式Ms进行双向梯度搜索。其中,以模式Ms为搜索中心点,以步长为1对方向模式区间[Ms-2,Ms+2]进行遍历,计算五个方向模式的Hadamard代价,选择Hadamard代价最小的方向模式记作目标方向模式Md。
其中,Ms-2表示Ms对应的方向模式逆时针旋转经过的两个方向模式,Ms+2表示Ms对应的方向模式顺时针旋转经过的两个方向模式。示例性的,以该Ms为D135_PRED为例,双向梯度搜索过程中需要遍历的方向模式包括D135_PRED_-2、D135_PRED_-1、D135_PRED、D135_PRED_1、D135_PRED_2。
在一些实施例中,将决策得到的最优的方向模式Md和所有非方向模式加入完整率失真优化(full RDO)的候选列表。
请参阅图8,其示出了在D113或D157为目标方向模式的情况下,各非方向模式为目标帧内预测模式的概率示意图。可以看出,除了PAETH模式之外,在D113_PRED为上述目标方向模式的情况下,SMOOTH_H_PRED模式作为最终的目标帧内预测模式的概率最低;在D157_PRED为上述目标方向模式的情况下,SMOOTH_V_PRED模式作为最终的目标帧内预测模式的概率最低。其中,在D113_PRED或D157_PRED为目标方向模式的情况下,PAETH模式作为最终的目标帧内预测模式的概率总是最低的原因在于,PAETH模式只能参考左侧、顶部和左上侧的像素,即H_PRED模式、V_PRED模式和D135_PRED模式,与上述D113_PRED或D157_PRED有很大的不同。
基于上述实验结果,本公开实施例提出了一种方向模式引导的帧内非方向模式决策方案。图9是本公开实施例提供的帧内预测模式确定方法的一个可选的流程示意图,该方法可以由计算机设备的处理器执行。基于图6,图6中的S604可以更新为S901至S903,将结合图9示出的步骤进行说明。
步骤S901、判断目标方向模式Md是否为D113_PRED或D157_PRED。
在一些实施例中,在该目标方向模式Md不是D113_PRED,且不是D157_PRED的情况下,执行步骤S606;在该目标方向模式Md是D113_PRED,的情况下,执行步骤S902;在该目标方向模式Md是D157_PRED的情况下,执行步骤S903。
步骤S902、判断目标方向模式D113_PRED的Hadamard代价是否为候选模式列表中的最小或次最小。
其中,该候选模式列表包括目标方向模式D113_PRED和五个非方向模式(DC模式、PAETH模式、SMOOTH模式、SMOOTH_H模式和SMOOTH_V模式)。
在一些实施例中,在目标方向模式D113_PRED的Hadamard代价为候选模式列表中的最小或次最小的情况下,执行步骤S904。
步骤S904、将SMOOTH_H_PRED模式从该候选列表中去除。
在一些实施例中,在目标方向模式D113_PRED的Hadamard代价不是候选模式列表中的最小或次最小的情况下,执行步骤S606。
步骤S903、判断目标方向模式D157_PRED的Hadamard代价是否为候选模式列表中的最小或次最小。
其中,该候选模式列表包括目标方向模式D157_PRED和五个非方向模式(DC、PAETH、SMOOTH、SMOOTH_V和SMOOTH_H)。
在一些实施例中,在目标方向模式D157_PRED的Hadamard代价为候选模式列表中的最小或次最小的情况下,执行步骤S905。
步骤S905、将SMOOTH_V_PRED模式从该候选列表中去除。在目标方向模式D157_PRED的Hadamard代价不是候选模式列表中的最小或次最小的情况下,执行步骤S606。
基于上述公开实施例,相比于相关技术在HEVC或者VVC等标准中实现,通过计算CU梯度纹理等特征,计算复杂度较大、且与编码器高度绑定,无法简单迁移,本公开实施例由于基于梯度下降法对HOG剪枝后的结果做进一步的剪枝,大大缩小了帧内预测模式的搜索范围,为方向模式的遍历搜索节省了大量的时间,同时避免了较大的性能损失。同时,本公开实施例通过以方向模式为引导对帧内非方向模式SMOOTH_H_PRED和SMOOTH_V_PRED进行剪枝,缩小了非方向模式的搜索范围,节省了非必要的搜索时间。其中,上述实施例中方向模式的剪枝方法便于在不同编码器之间迁移。
传统的AV1快速帧内预测模式决策方法往往算法复杂度较高,导致时间节省有限,同时性能损失较高。本公开实施例在已有AV1快速算法的基础上,最低增加0.5%的比特损失的同时节省时间24.2%,平均增加1.29%的损失的同时节省时间将近30%。本公开实施例可以在性能损失较小的前提下节省编码时间,适用于实时性要求较高的应用场景,如直播、线上会议等。从终端用户角度来看,本公开实施例可以降低网络延迟,提升体验。从视频服务商的角度来看,本公开实施例可以节省视频传输时间,从而降低服务器成本。
基于前述的实施例,本公开实施例提供一种帧内预测模式确定装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CentralProcessing Unit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(DigitalSignal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
图10为本公开实施例提供的一种帧内预测模式确定装置的组成结构示意图,如图10所示,帧内预测模式确定装置1000包括:获取模块1010、第一确定模块1020、第二确定模块1030和第三确定模块1040,其中:
获取模块1010,用于针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式;
第一确定模块1020,用于基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式;
第二确定模块1030,用于基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式;
第三确定模块1040,用于基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式。
在一些实施例中,所述第一方向模式集合包括至少一个主方向模式和每一所述主方向模式对应的子方向模式;所述第一确定模块1020,还用于:确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值;基于每一所述主方向模式对应的第一代价值和所述至少一个所述子方向模式的第一代价值,在所述至少一个主方向模式和每一所述主方向模式对应的至少一个所述子方向模式中确定搜索起始点模式;基于所述搜索起始点模式对应的第一代价值和与相邻方向模式的第一代价值,在所述搜索起始点模式和所述相邻方向模式中确定所述目标方向模式;所述相邻方向模式为所述多个帧内方向模式中与所述搜索起始点模式的角度差小于预设角度阈值的帧内方向模式。
在一些实施例中,所述第一确定模块1020,还用于:针对每一所述主方向模式,基于预设的候选角度步长和角度间隔,在所述主方向模式对应的所有预设子方向模式中确定至少一个所述子方向模式;确定每一所述子方向模式对应的第一代价值。
在一些实施例中,所述候选角度步长为3,且所述角度间隔为3度;所述第一确定模块1020,还用于:获取所述主方向模式对应的主角度;基于所述主角度、所述候选角度步长和所述角度间隔,确定第一子方向模式和第二子方向模式;所述第一子方向模式的角度相对于所述主角度的偏移角度为+9度,所述第二子方向模式的角度相对于所述主角度的偏移角度为-9度。
在一些实施例中,所述第一确定模块1020,还用于:基于所述搜索起始点模式和预设的搜索步长,在所述多个帧内方向模式中确定至少两个所述相邻方向模式;所述至少两个所述相邻方向模式中角度小于搜索起始点模式的角度的方向模式与角度小于搜索起始点模式的角度的方向模式的数量相同;基于所述搜索起始点模式对应的第一代价值和每一所述相邻方向模式的第一代价值,在所述搜索起始点模式和所述至少一个相邻方向模式中确定所述目标方向模式。
在一些实施例中,所述多个非方向模式包括第一非方向模式、第二非方向模式和至少一个第三非方向模式;所述第二确定模块1030,还用于:在所述目标方向模式为预设的待比对方向模式的情况下,获取所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值、所述第三非方向模式的第二代价值;对所述待比对方向模式的第一代价值、所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值和至少一个所述第三非方向模式的第二代价值进行升序排序,得到所述待比对方向模式对应的位次;在所述待比对方向模式对应的位次满足预设位次要求的情况下,在所述第一非方向模式和所述第二非方向模式中确定所述待去除非方向模式和待保留非方向模式;所述待去除非方向模式与所述待比对方向模式之间的偏移角度,大于所述待保留非方向模式与所述待比对方向模式之间的偏移角度;将所述待保留非方向模式和至少一个所述第三非方向模式确定为所述至少一个目标非方向模式。
在一些实施例中,所述预设位次要求为所述待比对方向模式的位次为第一位或第二位。
在一些实施例中,所述第一非方向模式为SMOOTH_V模式,所述第二非方向模式为SMOOTH_H模式;所述第二确定模块1030,还用于:在所述待比对方向模式为D113_PRED模式的情况下,将所述SMOOTH_V模式作为所述待保留非方向模式,将所述SMOOTH_H模式作为所述待去除非方向模式;在所述待比对方向模式为D157_PRED模式的情况下,将所述SMOOTH_H模式作为所述待保留非方向模式,将所述SMOOTH_V模式作为所述待去除非方向模式。
在一些实施例中,所述多个非方向模式包括SMOOTH_V模式、SMOOTH_H模式和其他非方向模式;所述第二确定模块1030,还用于:在所述目标方向模式为预设的待比对方向模式的情况下,获取所述SMOOTH_V模式的第二代价值、所述SMOOTH_H模式的第二代价值、所述其他非方向模式的第二代价值;对所述待比对方向模式的第一代价值、所述SMOOTH_V模式的第二代价值、所述SMOOTH_H模式的第二代价值和至少一个所述其他非方向模式的第二代价值进行升序排序,得到所述待比对方向模式对应的位次;在所述待比对方向模式对应的位次满足预设位次要求的情况下,在所述SMOOTH_V模式和所述SMOOTH_H模式中确定所述待去除非方向模式和待保留非方向模式;所述待去除非方向模式与所述待比对方向模式之间的偏移角度,大于所述待保留非方向模式与所述待比对方向模式之间的偏移角度;将所述待保留非方向模式和至少一个所述其他非方向模式确定为所述至少一个目标非方向模式。
在一些实施例中,所述第三确定模块1040,还用于:基于所述目标方向模式对所述当前编码块进行率失真优化RDO编码,得到所述目标方向模式对应的第三代价值;基于每一所述目标非方向模式对所述当前编码块进行编码,得到每一所述目标非方向模式对应的第三代价值;将最小第三代价值对应的模式确定为所述当前编码块的目标帧内预测模式。
在一些实施例中,所述获取模块1010,还用于:获取所述当前编码块的编码控制位;所述编码控制为用于确定所述当前编码块是否需要进行快速帧内预测;在所述当前编码块需要进行快速帧内预测的情况下,获取所述当前编码块对应的第一方向模式集合;在所述当前编码块不需要进行快速帧内预测的情况下,基于所有帧内预测模式中每一所述帧内预测模式的第一代价值,确定至少一个待编码帧内预测模式;基于每一所述待编码帧内预测模式的第三代价值,在所述至少一个待编码帧内预测模式中确定所述当前编码块的目标帧内预测模式。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
需要说明的是,本公开实施例中,如果以软件功能模块的形式实现上述的帧内预测模式确定方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ReadOnly Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本公开实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
本公开实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本公开实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
图11为本公开实施例提供的一种计算机设备的硬件实体示意图,如图11所示,该计算机设备1100的硬件实体包括:处理器1101和存储器1102,其中,存储器1102存储有可在处理器1101上运行的计算机程序,处理器1101执行程序时实现上述任一实施例的方法中的步骤。
存储器1102存储有可在处理器上运行的计算机程序,存储器1102配置为存储由处理器1101可执行的指令和应用,还可以缓存待处理器1101以及计算机设备1100中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
处理器1101执行程序时实现上述任一项的帧内预测模式确定方法的步骤。处理器1101通常控制计算机设备1100的总体操作。
本公开实施例提供一种计算机存储介质,计算机存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如上任一实施例的帧内预测模式确定方法的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开存储介质和设备实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
上述处理器可以为目标用途集成电路(Application Specific IntegratedCircuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable LogicDevice,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本公开实施例不作具体限定。
上述计算机存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。

Claims (11)

1.一种帧内预测模式确定方法,其特征在于,所述方法包括:
针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式;
基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式;
基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式;
基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式。
2.根据权利要求1所述的方法,其特征在于,所述第一方向模式集合包括至少一个主方向模式和每一所述主方向模式对应的子方向模式;所述基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式,包括:
确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值;
基于每一所述主方向模式对应的第一代价值和所述至少一个所述子方向模式的第一代价值,在所述至少一个主方向模式和每一所述主方向模式对应的至少一个所述子方向模式中确定搜索起始点模式;
基于所述搜索起始点模式对应的第一代价值和与相邻方向模式的第一代价值,在所述搜索起始点模式和所述相邻方向模式中确定所述目标方向模式;所述相邻方向模式为所述多个帧内方向模式中与所述搜索起始点模式的角度差小于预设角度阈值的帧内方向模式。
3.根据权利要求2所述的方法,其特征在于,所述确定每一所述主方向模式对应的第一代价值,和每一所述主方向模式对应的至少一个所述子方向模式的第一代价值,包括:
针对每一所述主方向模式,基于预设的候选角度步长和角度间隔,在所述主方向模式对应的所有预设子方向模式中确定至少一个所述子方向模式;
确定每一所述子方向模式对应的第一代价值。
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述搜索起始点模式对应的第一代价值和与相邻方向模式的第一代价值,在所述搜索起始点模式和所述相邻方向模式中确定所述目标方向模式,包括:
基于所述搜索起始点模式和预设的搜索步长,在所述多个帧内方向模式中确定至少两个所述相邻方向模式;所述至少两个所述相邻方向模式中角度小于搜索起始点模式的角度的方向模式与角度小于搜索起始点模式的角度的方向模式的数量相同;
基于所述搜索起始点模式对应的第一代价值和每一所述相邻方向模式的第一代价值,在所述搜索起始点模式和所述至少一个相邻方向模式中确定所述目标方向模式。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述多个非方向模式包括第一非方向模式、第二非方向模式和至少一个第三非方向模式;所述基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式,包括:
在所述目标方向模式为预设的待比对方向模式的情况下,获取所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值、所述第三非方向模式的第二代价值;
对所述待比对方向模式的第一代价值、所述第一非方向模式的第二代价值、所述第二非方向模式的第二代价值和至少一个所述第三非方向模式的第二代价值进行升序排序,得到所述待比对方向模式对应的位次;
在所述待比对方向模式对应的位次满足预设位次要求的情况下,在所述第一非方向模式和所述第二非方向模式中确定所述待去除非方向模式和待保留非方向模式;所述待去除非方向模式与所述待比对方向模式之间的偏移角度,大于所述待保留非方向模式与所述待比对方向模式之间的偏移角度;
将所述待保留非方向模式和至少一个所述第三非方向模式确定为所述至少一个目标非方向模式。
6.根据权利要求5所述的方法,其特征在于,所述第一非方向模式为SMOOTH_V模式,所述第二非方向模式为SMOOTH_H模式;所述在所述第一非方向模式和所述第二非方向模式中确定所述待去除非方向模式和待保留非方向模式,包括:
在所述待比对方向模式为D113_PRED模式的情况下,将所述SMOOTH_V模式作为所述待保留非方向模式,将所述SMOOTH_H模式作为所述待去除非方向模式;
在所述待比对方向模式为D157_PRED模式的情况下,将所述SMOOTH_H模式作为所述待保留非方向模式,将所述SMOOTH_V模式作为所述待去除非方向模式。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式,包括:
基于所述目标方向模式对所述当前编码块进行率失真优化RDO编码,得到所述目标方向模式对应的第三代价值;
基于每一所述目标非方向模式对所述当前编码块进行编码,得到每一所述目标非方向模式对应的第三代价值;
将最小第三代价值对应的模式确定为所述当前编码块的目标帧内预测模式。
8.根据权利要求1至7任一项所述的方法,其特征在于,在所述获取所述当前编码块对应的第一方向模式集合之前,所述方法还包括:
获取所述当前编码块的编码控制位;所述编码控制为用于确定所述当前编码块是否需要进行快速帧内预测;
在所述当前编码块需要进行快速帧内预测的情况下,获取所述当前编码块对应的第一方向模式集合;
在所述当前编码块不需要进行快速帧内预测的情况下,基于所有帧内预测模式中每一所述帧内预测模式的第一代价值,确定至少一个待编码帧内预测模式;基于每一所述待编码帧内预测模式的第三代价值,在所述至少一个待编码帧内预测模式中确定所述当前编码块的目标帧内预测模式。
9.一种帧内预测模式确定装置,其特征在于,包括:
获取模块,用于针对当前编码块,获取所述当前编码块对应的第一方向模式集合;所述第一方向模式集合包括至少一个方向模式;
第一确定模块,用于基于所述第一方向模式集合中每一所述方向模式的第一代价值,在多个帧内方向模式中确定目标方向模式;
第二确定模块,用于基于所述目标方向模式的第一代价值和多个非方向模式中每一所述非方向模式的第二代价值,在所述多个非方向模式中去除待去除非方向模式,得到至少一个目标非方向模式;
第三确定模块,用于基于所述目标方向模式的第三代价值和每一所述目标非方向模式的第三代价值,在所述目标方向模式和所述至少一个目标非方向模式中确定所述当前编码块的目标帧内预测模式。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至8任一项所述方法中的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述方法中的步骤。
CN202310566535.4A 2023-05-18 2023-05-18 帧内预测模式确定方法、装置、设备及存储介质 Pending CN116600112A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310566535.4A CN116600112A (zh) 2023-05-18 2023-05-18 帧内预测模式确定方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310566535.4A CN116600112A (zh) 2023-05-18 2023-05-18 帧内预测模式确定方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116600112A true CN116600112A (zh) 2023-08-15

Family

ID=87605827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310566535.4A Pending CN116600112A (zh) 2023-05-18 2023-05-18 帧内预测模式确定方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116600112A (zh)

Similar Documents

Publication Publication Date Title
JP5301277B2 (ja) マルチメディア符号化のためのモード選択技術
KR102412271B1 (ko) 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
KR101834825B1 (ko) 비디오 인코딩 및 디코딩에서 변환 선택을 위한 방법 및 장치
WO2010078212A1 (en) Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors
WO2009080133A1 (en) Adaptive intra mode selection
CN112385211A (zh) 用于视频编码和解码的运动补偿
CN104601992B (zh) 基于贝叶斯最小风险决策的skip模式快速选择方法
CN114339218A (zh) 图像编码方法、图像编码装置、电子设备和可读存储介质
TW202133620A (zh) 用於視訊壓縮的學習低複雜度自我調整量化
CN113727106A (zh) 视频编码、解码方法、装置、电子设备及存储介质
CN111742553A (zh) 用于视频压缩的基于深度学习的图像分区
CN112235582B (zh) 一种视频数据处理方法、装置、计算机设备及存储介质
US10015484B2 (en) Adaptive scan device and method for scanning thereof
CN113992914B (zh) 帧间预测方法及装置、设备、存储介质
WO2020135256A1 (zh) 用于帧内编码的方法、装置、帧编码器、帧编码系统
CN111052743B (zh) 视频编码中用于局部选择变换集的变换池
CN116600112A (zh) 帧内预测模式确定方法、装置、设备及存储介质
JP2023530630A (ja) ビデオ符号化のための適応量子化器設計
CN113840146B (zh) 一种视频信息隐藏方法及系统
TWI789649B (zh) 用於樣本區塊之經變換表示型態的寫碼概念
CN115866247B (zh) 基于mae预训练模型的视频编码帧内预测方法和系统
CN117294861B (zh) 一种基于帧间预测的编码块划分方法及编码器
CN113727103B (zh) 视频编码、解码方法、装置、电子设备及存储介质
Xue et al. A novel video coding framework using a self-adaptive dictionary

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