CN110557645B - 帧内预测模式的解码方法、编码方法、装置及设备 - Google Patents

帧内预测模式的解码方法、编码方法、装置及设备 Download PDF

Info

Publication number
CN110557645B
CN110557645B CN201910903849.2A CN201910903849A CN110557645B CN 110557645 B CN110557645 B CN 110557645B CN 201910903849 A CN201910903849 A CN 201910903849A CN 110557645 B CN110557645 B CN 110557645B
Authority
CN
China
Prior art keywords
prediction mode
block
intra
mode
decoded
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
Application number
CN201910903849.2A
Other languages
English (en)
Other versions
CN110557645A (zh
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 CN201910903849.2A priority Critical patent/CN110557645B/zh
Publication of CN110557645A publication Critical patent/CN110557645A/zh
Application granted granted Critical
Publication of CN110557645B publication Critical patent/CN110557645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

本申请提供了一种帧内预测模式的解码方法、编码方法、装置及设备,涉及视频处理技术领域。所述解码方法包括:构建历史信息列表;若待解码块的邻近解码块的预测模式符合第一条件,则将邻近解码块的预测模式,从原始预测模式替换为从历史信息列表中选择的帧内预测模式;将邻近解码块的预测模式添加至待解码块的MPM列表中;根据MPM列表对待解码块的帧内预测模式的码字进行解码,确定待解码块的帧内预测模式。本申请实施例提供的技术方案,可以使得待解码块的MPM列表中包含的帧内预测模式更具多样性,从而可以提高待解码块采用的帧内预测模式在MPM列表中的概率,进而缩短解码块的帧内预测模式的码字,降低帧内预测模式的比特开销。

Description

帧内预测模式的解码方法、编码方法、装置及设备
技术领域
本申请实施例涉及视频处理技术领域,特别涉及一种帧内预测模式的解码方法、编码方法、装置及设备。
背景技术
为了降低视频数据存储或者传输过程中占用的资源,通常需要对视频数据进行编码,也即对视频数据进行压缩。
视频是由许多静止的图像连续播放形成的,每一幅静止的图像都可看作一帧;由于一帧中相近的像素点其像素值通常也是比较接近的,颜色一般不会突然变化,因此可利用这个空间上的相关性来进行压缩,即帧内编码。
在帧内编码时,首先需要导出待编码块的MPM(Most Possible Mode,最可能预测模式)列表(如将位于待编码块上边的编码块和左边的编码块这两个邻近编码块的帧内预测模式添加至MPM列表),然后根据待编码块实际采用的帧内预测模式(记为“目标帧内预测模式”)在该MPM列表中的位置,对该目标帧内预测模式进行编码,确定该目标帧内预测模式的码字。
但是,在编码块的帧内预测模式包括IBC(Intra Block Copy,帧内块复制)模式的情况下,会导致编码块的帧内预测模式的码字较长,也即帧内预测模式的比特开销大。
发明内容
本申请实施例提供了一种帧内预测模式的解码方法、编码方法、装置及设备,可用于解决相关技术中,编码块的帧内预测模式的码字较长,也即帧内预测模式的比特开销大的技术问题。所述技术方案如下:
一方面,本申请实施例提供了一种帧内预测模式的解码方法,所述方法包括:
构建历史信息列表,所述历史信息列表中包括至少一个已解码块的帧内预测模式;
若待解码块的邻近解码块的预测模式符合第一条件,则将所述邻近解码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;
将所述邻近解码块的预测模式添加至所述待解码块的MPM列表中;
根据所述MPM列表对所述待解码块的帧内预测模式的码字进行解码,确定所述待解码块的帧内预测模式。
另一方面,本申请实施例提供了一种帧内预测模式的编码方法,所述方法包括:
构建历史信息列表,所述历史信息列表中包括至少一个已编码块的帧内预测模式;
若待编码块的邻近编码块的预测模式符合第一条件,则将所述邻近编码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;
将所述邻近编码块的预测模式添加至所述待编码块的MPM列表中;
根据所述MPM列表对所述待编码块的帧内预测模式进行编码。
可选地,所述构建历史信息列表,包括:
确定目标已编码块;
若所述目标已编码块的预测模式符合第二条件,则将所述目标已编码块的预测模式移入所述历史信息列表中。
可选地,所述第二条件包括以下至少一项:
所述目标已编码块的预测模式属于帧内预测模式;
所述目标已编码块的预测模式不同于所述历史信息列表中已有的帧内预测模式;
所述目标已编码块的预测模式属于角度模式;
所述目标已编码块的预测模式属于特定角度模式,所述特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式;
所述目标已编码块的预测模式映射后的预测模式属于帧内预测模式;
所述目标已编码块的预测模式映射后的预测模式不同于所述历史信息列表中已有的帧内预测模式;
所述目标已编码块的预测模式映射后的预测模式属于角度模式;
所述目标已编码块的预测模式映射后的预测模式属于所述特定角度模式;
将所述目标已编码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量小于或等于门限值。
可选地,所述方法还包括:
若将所述目标已编码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量大于门限值,则将最先移入所述历史信息列表的帧内预测模式移出所述历史信息列表。
可选地,所述第一条件包括:
所述邻近编码块的预测模式为目标预测模式,所述目标预测模式包括以下任意一种:IBC模式、PLT(Palette,调色板)模式、帧间预测模式。
可选地,所述将所述邻近编码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式,包括:
将所述邻近编码块的预测模式,从所述原始预测模式替换为所述历史信息列表中最后移入的帧内预测模式。
可选地,所述方法还包括:
若所述邻近编码块的预测模式不符合所述第一条件,则将所述邻近编码块的预测模式添加至所述MPM列表中。
可选地,所述将所述邻近编码块的预测模式添加至所述待编码块的MPM列表中之后,还包括:
若所述MPM列表中已有的帧内预测模式的数量为第一数量,且所述第一数量小于所述MPM列表对应的最大数量,则通过角度扩展获取至少一个帧内预测模式;
将所述至少一个帧内预测模式添加至所述MPM列表中。
可选地,所述将所述邻近编码块的预测模式添加至所述待编码块的MPM列表中之后,还包括:
在目标状态下,对所述历史信息列表进行重置,其中,所述目标状态包括以下至少一种:
在对所述待编码块所属切片的下一个切片开始编码时;
在对所述待编码块所属CTU(Coding Tree Unit,编码树单元)行的下一个CTU行开始编码时;
在对所述待编码块所属CTU的下一个CTU开始编码时。
可选地,所述对所述历史信息列表进行重置,包括:
清空所述历史信息列表;
或者,
在所述历史信息列表中填充预设帧内预测模式,所述预设帧内预测模式包括以下至少一种:水平预测模式、垂直预测模式、对角线预测模式。
又一方面,本申请实施例提供了一种帧内预测模式的解码装置,所述装置包括:
列表构建模块,用于构建历史信息列表,所述历史信息列表中包括至少一个已解码块的帧内预测模式;
模式替换模块,用于当待解码块的邻近解码块的预测模式符合第一条件时,将所述邻近解码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;
模式添加模块,用于将所述邻近解码块的预测模式添加至所述待解码块的MPM列表中;
模式解码模块,用于根据所述MPM列表对所述待解码块的帧内预测模式的码字进行解码,确定所述待解码块的帧内预测模式。
还一方面,本申请实施例提供了一种帧内预测模式的编码装置,所述装置包括:
列表构建模块,用于构建历史信息列表,所述历史信息列表中包括至少一个已编码块的帧内预测模式;
模式替换模块,用于当待编码块的邻近编码块的预测模式符合第一条件时,将所述邻近编码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;
模式添加模块,用于将所述邻近编码块的预测模式添加至所述待编码块的MPM列表中;
模式编码模块,用于根据所述MPM列表对所述待编码块的帧内预测模式进行编码。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的帧内预测模式的解码方法,或者实现如上述方面所述的帧内预测模式的编码方法。
再一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的帧内预测模式的解码方法,或者实现如上述方面所述的帧内预测模式的编码方法。
还一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品被处理器执行时,用于实现上述帧内预测模式的解码方法,或者实现如上述方面所述的帧内预测模式的编码方法。
本申请实施例提供的技术方案可以包括如下有益效果:
本申请实施例提供的帧内预测模式的编解码方案,通过构建包括至少一个已编码块(或已解码块)的帧内预测模式的历史信息列表,在待编码块(或待解码块)的邻近编码块(或邻近解码块)的预测模式符合条件的情况下,将邻近编码块(或邻近解码块)的预测模式,从原始预测模式替换为历史信息列表中的帧内预测模式,然后再将该邻近编码块(或邻近解码块)的预测模式添加至待编码块(或待解码块)的MPM列表中,并根据该MPM列表对待编码块的帧内预测模式进行编码,或者根据该MPM列表对待解码块的帧内预测模式的码字进行解码,确定待解码块的帧内预测模式。相比于相关技术,本申请实施例提供的技术方案,可以使得待编码块的MPM列表中包含的帧内预测模式更具多样性,从而可以提高待编码块采用的帧内预测模式在MPM列表中的概率,进而缩短编码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
附图说明
图1是本申请示例性示出的一种视频编码的示意图;
图2是本申请一个实施例提供的通信系统的简化框图;
图3是本申请示例性示出的视频编码器和视频解码器在流式传输环境中的放置方式的示意图;
图4是本申请一个实施例提供的帧内预测模式的编码方法的流程图;
图5示例性示出了帧内预测模式的示意图;
图6是本申请另一个实施例提供的帧内预测模式的编码方法的流程图;
图7示例性示出了本申请一种从历史信息列表中选择帧内预测模式添加至待编码块的MPM列表的方式的示意图;
图8是本申请一个实施例提供的帧内预测模式的解码方法的流程图;
图9是本申请另一个实施例提供的帧内预测模式的解码方法的流程图;
图10示例性示出了本申请另一种从历史信息列表中选择帧内预测模式添加至待解码块的MPM列表的方式的示意图;
图11是本申请一个实施例提供的帧内预测模式的编码装置的框图;
图12是本申请另一个实施例提供的帧内预测模式的编码装置的框图;
图13是本申请一个实施例提供的帧内预测模式的解码装置的框图;
图14是本申请另一个实施例提供的帧内预测模式的解码装置的框图;
图15是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,当前块101包括在运动搜索过程期间已由编码器发现的样本,根据已产生空间偏移的相同大小的先前块,可预测所述样本。另外,可从一个或多个参考图片相关联的元数据中导出所述MV(Motion Vector,运动矢量),而非对MV直接编码。例如,使用关联于A0、A1和B0、B1、B2(分别对应102到106)五个周围样本中的任一样本的MV,(按解码次序)从最近的参考图片的元数据中导出所述MV。
如图2所示,其示出了本申请一个实施例提供的通信系统的简化框图。通信系统200包括多个设备,所述设备可通过例如网络250彼此通信。举例来说,通信系统200包括通过网络250互连的第一设备210和第二设备220。在图2的实施例中,第一设备210和第二设备220执行单向数据传输。举例来说,第一设备210可对视频数据例如由第一设备210采集的视频图片流进行编码以通过网络250传输到第二设备220。已编码的视频数据以一个或多个已编码视频码流形式传输。第二设备220可从网络250接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。
在另一实施例中,通信系统200包括执行已编码视频数据的双向传输的第三设备230和第四设备240,所述双向传输可例如在视频会议期间发生。对于双向数据传输,第三设备230和第四设备240中的每个设备可对视频数据(例如由设备采集的视频图片流)进行编码,以通过网络250传输到第三设备230和第四设备240中的另一设备。第三设备230和第四设备240中的每个设备还可接收由第三设备230和第四设备240中的另一设备传输的已编码视频数据,且可对所述已编码视频数据进行解码以恢复视频数据,且可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图2的实施例中,第一设备210、第二设备220、第三设备230和第四设备240可为服务器、个人计算机和智能电话等计算机设备,但本申请公开的原理可不限于此。本申请实施例适用于PC(Personal Computer,个人计算机)、手机、平板电脑、媒体播放器和/或专用视频会议设备。网络250表示在第一设备210、第二设备220、第三设备230和第四设备240之间传送已编码视频数据的任何数目的网络,包括例如有线连线的和/或无线通信网络。通信网络250可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络250的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
作为实施例,图3示出视频编码器和视频解码器在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统313,所述采集子系统可包括数码相机等视频源301,所述视频源创建未压缩的视频图片流302。在实施例中,视频图片流302包括由数码相机拍摄的样本。相较于已编码的视频数据304(或已编码的视频码流),视频图片流302被描绘为粗线以强调高数据量的视频图片流,视频图片流302可由电子装置320处理,所述电子装置320包括耦接到视频源301的视频编码器303。视频编码器303可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流302,已编码的视频数据304(或已编码的视频码流304)被描绘为细线以强调较低数据量的已编码的视频数据304(或已编码的视频码流304),其可存储在流式传输服务器305上以供将来使用。一个或多个流式传输客户端子系统,例如图3中的客户端子系统306和客户端子系统308,可访问流式传输服务器305以检索已编码的视频数据304的副本307和副本309。客户端子系统306可包括例如电子装置330中的视频解码器310。视频解码器310对已编码的视频数据的传入副本307进行解码,且产生可在显示器312(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流311。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据304、视频数据307和视频数据309(例如视频码流)进行编码。在实施例中,正在开发的视频编码标准非正式地称为VVC(Versatile Video Coding,下一代视频编码),
应注意,电子装置320和电子装置330可包括其它组件(未示出)。举例来说,电子装置320可包括视频解码器(未示出),且电子装置330还可包括视频编码器(未示出)。其中,视频解码器用于对接收到的已编码视频数据进行解码;视频编码器用于对视频数据进行编码。
需要说明的一点是,本申请实施例可以应用于标准VVC/H.266、HEVC/H.265、AVS等等中。
还需要说明的一点是,本申请实施例提供的帧内预测模式的编码方法,各步骤的执行主体为编码端设备,本申请实施例提供的帧内预测模式的解码方法的各步骤的执行主体为解码端设备,编码端设备和解码端设备均可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如PC、手机、平板电脑、媒体播放器、专用视频会议设备、服务器等等。
假设待编码块采用的帧内预测模式为目标帧内预测模式,如果该目标帧内预测模式是该待编码块的MPM列表中位置靠前的帧内预测模式,则会使用较少的码字对该目标帧内预测模式进行编码;反之,如果该目标帧内预测模式是该待编码块的MPM列表中位置靠后的帧内预测模式,则会使用较多的码字对该目标帧内预测模式进行编码。进一步地,如果该目标帧内预测模式并不在MPM列表中,那么该目标帧内预测模式会用更多的码字进行编码。所以,MPM列表的构建要尽量保证待编码块采用的帧内预测模式(也即上述“目标帧内预测模式”)在MPM列表中,且尽量处于该MPM列表的前面位置。也就,在MPM列表中,通过给予最可能的帧内预测模式更小的码字,节省最终的码率,提升编码性能。
在相关技术中,在导出待编码块的MPM列表时,将该待编码块的邻近编码块的预测模式加入到该MPM列表中。如果待编码块的邻近编码块的预测模式是普通帧内预测模式,那么在MPM列表中加入该邻近编码块实际所采用的帧内预测模式的标识信息;如果待编码块的邻近编码块的预测模式是非普通帧内预测模式,那么在MPM列表中加入特定标识信息(如0),表示该邻近编码块实际所采用的预测模式是非普通帧内预测模式。
其中,非普通帧内预测模式可以包括IBC模式(IBC模式属于帧内预测模式)、PLT模式、帧间预测模式等。普通帧内预测模式是指帧内预测模式,且该帧内预测模式是不属于非普通帧内预测模式的。例如,IBC模式虽然属于帧内预测模式,但其属于非普通帧内预测模式,而不属于普通帧内预测模式。
在编码块的帧内预测模式包括IBC模式的情况下,待编码块的邻近编码块为非普通帧内块(包括IBC块、PLT块、帧间块等)的概率增加,也即待编码块的邻近编码块的预测模式采用非普通帧内预测模式的概率增加,这就导致在待编码块的MPM列表中加入上述特定标识信息(如0)的概率增加。例如,假设MPM列表中包括2个帧内预测模式,当待编码块的邻近上边编码块和待编码块的邻近左边编码块均为普通帧内预测块时,MPM列表中包括该邻近上边编码块的帧内预测模式和邻近左边编码块的帧内预测模式;在编码块的帧内预测模式引入IBC模式之后,待编码块的邻近上边编码块和待编码块的邻近左边编码块的帧内预测模式就有可能是IBC模式,而IBC模式属于非普通帧内预测模式,这就导致邻近上边编码块和邻近左边编码块均为非普通帧内预测块的概率增加,也即待编码块的邻近编码块的预测模式采用非普通帧内预测模式的概率增加。当邻近上边编码块和邻近左边编码块均为非普通帧内预测块时,待编码块的MPM列表中第一个帧内预测模式记为上述特定标识信息(如0),待编码块的MPM列表中第二个帧内预测模式记为预设标识信息(如2)。
这会导致MPM列表记录的帧内预测模式中,包含待编码块实际采用的帧内预测模式(也即“目标帧内预测模式”)的概率降低,无法从MPM列表中找到目标帧内预测模式,而位于MPM列表之外的帧内预测模式会用更多的码字进行编码,从而导致待编码块的帧内预测模式的码字较长,也即帧内预测模式的比特开销大。
本申请实施例提供的技术方案,通过构建一个历史信息列表,该历史信息列表中包括至少一个已编码块的帧内预测模式,在待编码块的邻近编码块为非普通帧内块(包括IBC块、PLT块、帧间块等)时,也即在待编码块的邻近编码块的预测模式采用非普通帧内预测模式时,从历史信息列表中选择帧内预测模式添加至MPM列表中,从而可以提高待编码块采用的帧内预测模式在MPM列表中的概率,进而缩短编码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
上文所述的IBC块是指采用IBC模式进行编码的编码块,PLT块是指采用PLT模式进行编码的编码块,帧间块是指采用帧间预测模式进行编码的编码块。
需要说明的一点是,在视频的编解码过程中,视频的编码过程与解码过程是对应的,本申请实施例提供的针对帧内预测模式的编码方法与解码方法也是对应的。在下述方法实施例中,首先介绍针对帧内预测模式的编码方法,然后介绍针对帧内预测模式的解码方法。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图4,其示出了本申请一个实施例提供的帧内预测模式的编码方法的流程图。在本实施例中,主要以该方法应用于上文介绍的编码端设备中来举例说明。该方法可以包括如下几个步骤(401~403):
步骤401,构建历史信息列表。
上述历史信息列表中包括至少一个已编码块的帧内预测模式。已编码块是指已经完成编码的块。该已编码块可以包括当前的待编码块的至少一个邻近的已编码块,也可以包括当前的待编码块的至少一个非邻近的已编码块。其中,与待编码块邻近的已编码块是指与待编码块邻接(或称为接触,也即存在重合边或重合顶点)的编码块,在下文实施例中将此简称为待编码块的邻近编码块;与待编码块非邻近的已编码块是指与待编码块不邻接(或称为不接触,也即不存在重合边或重合顶点)的编码块(如与待编码块之间存在有至少一个其它编码块),在下文实施例中将此简称为待编码块的非邻近编码块。
帧内预测模式是帧内编码时所采用的预测模式。帧内预测模式可以包括多种,且对于不同的视频编解码标准,其帧内预测模式的数量可以不同。
其中,帧内编码是指在当前帧中利用邻近已重构块的边界像素作为参考像素来预测当前块(也称为“待编码块”)的像素,目的是去除视频信号的空域冗余。当帧间编码的使用受限时,帧内编码可以保证视频的压缩效率。帧间编码是指当前帧中待编码块从邻近帧中的编码块预测得到参考块的过程,目的是去除视频信号的时间冗余。帧间编码时所采用的预测模式为帧间预测模式。
需要说明的一点是,在一些其它实施例中,帧内编码还可以称为帧内预测、帧内预测编码等,但本领域技术人员可以理解其含义,本申请实施例对此不作限定。
示例性地,在HEVC(High Efficiency Video Coding,高效视频编码)标准中,帧内预测模式可以包括IBC模式、平面(Planar)模式、直流(DC)模式和33种角度模式。
示例性地,如图5所示,在H.266标准中,沿用了HEVC标准中的平面模式和直流(DC)模式,将角度模式增加到了65种,总的帧内预测模式达到了67种,其中,2-66为角度型帧内预测模式(也称为“角度模式”),也就代表65个预测方向,模式18和50分别为水平和垂直方向,使得帧内预测模式更加精准,对所有数据块、亮度色度分量都可用。
可选地,上述已编码块可以是与待编码块属于同一图像帧中的编码块,也可以是与待编码块属于不同图像帧中的编码块,本申请实施例对此不作限定。
步骤402,若待编码块的邻近编码块的预测模式符合第一条件,则生成待编码块的MPM列表,该MPM列表中包括从历史信息列表中导出的帧内预测模式。
在传统帧内编码时,通常将位于待编码块上边的编码块和左边的编码块这两个邻近编码块的帧内预测模式添加至MPM列表。但是在待编码块的邻近编码块为非普通帧内块(包括IBC块、PLT块、帧间块等)时,也就是说待编码块的邻近编码块采用的预测模式为非普通帧内预测模式(包括IBC模式、PLT模式、帧间预测模式等)时,待编码块的MPM列表中加入特定标识信息(如0)来表示该邻近编码块实际所采用的预测模式是非普通帧内预测模式,进而导致上文提到的MPM列表记录的帧内预测模式中,包含待编码块实际采用的帧内预测模式(也即“目标帧内预测模式”)的概率降低的问题。
在本申请提供的技术方案中,当待编码块的邻近编码块的预测模式符合第一条件时,可以直接生成待编码块的MPM列表,该MPM列表中包括从历史信息列表中导出的帧内预测模式,避免MPM列表中加入特定标识信息(如0)的情况发生,从而提高了MPM列表记录的帧内预测模式中,包含待编码块实际采用的帧内预测模式(也即“目标帧内预测模式”)的概率。
可选地,上述第一条件包括:邻近编码块的预测模式为目标预测模式(也即上文介绍的“非普通帧内预测模式”),该目标预测模式包括以下任意一种:IBC模式、PLT模式、帧间预测模式。
另外,若邻近编码块的预测模式不符合第一条件,则将邻近编码块的预测模式添加至MPM列表中。也就是说,当邻近编码块的预测模式并不是IBC模式、PLT模式或者帧间预测模式等非普通帧内预测模式时,也即当邻近编码块的预测模式是普通帧内预测模式时,可以直接将该邻近编码块的预测模式添加至MPM列表中。
步骤403,根据MPM列表对待编码块的帧内预测模式进行编码。
在获取到上述MPM列表之后,若待编码块的帧内预测模式属于该MPM列表,则可以根据MPM列表中待编码块的帧内预测模式所在的位置,对待编码块的帧内预测模式进行编码,确定待编码块的帧内预测模式的码字。若待编码块的帧内预测模式不属于该MPM列表,则需要根据MPM列表外的帧内预测模式的索引对待编码块的帧内预测模式进行编码,进一步确定待编码块的帧内预测模式的码字。
示例性地,假设MPM列表中包括3个帧内预测模式,且MPM[0]表示MPM列表中的第一个帧内预测模式,为平面模式;MPM[1]表示MPM列表中的第二个帧内预测模式,为直流模式;MPM[2]表示MPM列表中的第三个帧内预测模式,为角度模式15。当待编码块的帧内预测模式为平面模式时,待编码块的帧内预测模式的码字可以为索引[0]对应的二进制码字,即0;当待编码块的帧内预测模式为直流模式时,待编码块的帧内预测模式的码字可以为索引[1]对应的二进制码字,即1;当待编码块的帧内预测模式为角度模式15时,待编码块的帧内预测模式的码字可以为索引[2]对应的二进制码字,即10。若待编码块的帧内预测模式为角度模式20时,由于其不在MPM列表内,待编码块的帧内预测模式的码字可以为角度模式20对应的二进制码字。
综上所述,本申请实施例提供的技术方案,通过构建包括至少一个已编码块的帧内预测模式的历史信息列表,在待编码块的邻近编码块的预测模式符合条件的情况下,可以直接从该历史信息列表中选择帧内预测模式添加至待编码块的MPM列表中,并根据该MPM列表对待编码块的帧内预测模式进行编码。相比于相关技术,本申请实施例提供的技术方案,在待编码块的邻近编码块的预测模式采用非普通帧内预测模式时,从历史信息列表中选择帧内预测模式添加至MPM列表中,从而可以提高待编码块采用的帧内预测模式在MPM列表中的概率,进而缩短编码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
另外,由于在对待编码块的帧内预测模式进行编码时,历史信息列表中除了可以包括该待编码块的邻近编码块的帧内预测模式之外,还可以包括该待编码块的非邻近编码块的帧内预测模式,因此该历史信息列表中包含的帧内预测模式的多样性增加,由于待编码块的MPM列表中的帧内预测模式是从该历史信息列表中导出得到的,因此该待编码块的MPM列表中包含的帧内预测模式的多样性也会相应增加,从而有助于进一步提高待编码块采用的帧内预测模式在MPM列表中的概率,有助于进一步缩短编码块的帧内预测模式的码字,进一步降低帧内预测模式的比特开销。
在一个可选实施例中,上述步骤401构建历史信息列表可以包括:若目标已编码块的预测模式符合第二条件,则将目标已编码块的预测模式移入历史信息列表中。
上述目标已编码块可以是任意一个已编码块。编码端设备可以先判断该目标已编码块的预测模式是否符合第二条件,如果该目标已编码块的预测模式符合第二条件,则可以将目标已编码块的预测模式移入历史信息列表中。另外,如果该目标已编码块的预测模式不符合第二条件,则不会将该目标已编码块的预测模式移入历史信息列表中。
可选地,上述第二条件包括以下至少一项:(1)目标已编码块的预测模式属于帧内预测模式;(2)目标已编码块的预测模式不同于历史信息列表中已有的帧内预测模式;(3)目标已编码块的预测模式属于角度模式;(4)目标已编码块的预测模式属于特定角度模式,特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式;(5)目标已编码块的预测模式映射后的预测模式属于帧内预测模式;(6)目标已编码块的预测模式映射后的预测模式不同于历史信息列表中已有的帧内预测模式;(7)目标已编码块的预测模式映射后的预测模式属于角度模式;(8)目标已编码块的预测模式映射后的预测模式属于特定角度模式;(9)将目标已编码块的预测模式移入历史信息列表后,历史信息列表中包括的帧内预测模式的数量小于或等于门限值。
对于上述第(1)项,对于目标已编码块,如果该目标已编码块的预测模式属于帧内预测模式,则可以直接将该目标已编码块的预测模式移入历史信息列表中。在这种情况下,历史信息列表中可以包括多个相同的帧内预测模式。
对于上述第(2)项,当目标已编码块的预测模式不同于历史信息列表中已有的帧内预测模式时,将该目标已编码块的预测模式移入历史信息列表中;否则,当目标已编码块的预测模式已经存在于历史信息列表中时,就不必再将该目标已编码块的预测模式移入历史信息列表中,避免信息冗余。
可选地,在确定该目标已编码块的预测模式属于帧内预测模式之后,还可以判断该帧内预测模式是否与历史信息列表中已有的帧内预测模式相同,如果该帧内预测模式与历史信息列表中已有的帧内预测模式相同,则不会将该帧内预测模式移入历史信息列表中;如果该帧内预测模式与历史信息列表中已有的帧内预测模式不相同,则将该帧内预测模式移入历史信息列表中,从而可以避免历史信息列表中包括多个相同的帧内预测模式,造成信息冗余。
对于上述第(3)项,当目标已编码块的预测模式属于角度模式时,将该目标已编码块的预测模式移入历史信息列表中;否则,当该目标已编码块的预测模式不属于角度模式时,就不必再将该目标已编码块的预测模式移入历史信息列表中。
可选地,在确定该目标已编码块的预测模式属于帧内预测模式之后,还可以判断该帧内预测模式是否属于角度模式,如果该帧内预测模式属于角度模式,则可以直接将该帧内预测模式移入历史信息列表中;如果该帧内预测模式不属于角度模式,如属于直流模式、平面模式、双线性(bilinear)模式等非角度模式,则不将该帧内预测模式移入历史信息列表中。
对于上述第(4)项,当目标已编码块的预测模式属于特定角度模式时,将该目标已编码块的预测模式移入历史信息列表中;否则,当该目标已编码块的预测模式不属于特定角度模式时,就不必再将该目标已编码块的预测模式移入历史信息列表中。
对于上述第(5)-(8)项:在确定该目标已编码块的预测模式之后,可以按照角度映射关系进行映射,得到映射后的预测模式。可选地,上述角度映射关系包括:若目标已编码块的预测模式属于直流模式、平面模式、双线性模式等非角度模式,则可以直接将该目标已编码块的预测模式映射后为其自身;若目标已编码块的预测模式属于角度模式,则可以先计算该目标已编码块的预测模式与水平角度模式、竖直角度模式以及2个对角线角度模式的索引的差的绝对值,选择绝对值最小时对应的角度模式,即将目标已编码块的预测模式映射为该绝对值最小时对应的角度模式。
对于上述第(5)项,对于目标已编码块,如果该目标已编码块的预测模式映射后的预测模式属于帧内预测模式,则可以直接将该目标已编码块的预测模式移入历史信息列表中。
对于上述第(6)项,当目标已编码块的预测模式映射后的预测模式不同于历史信息列表中已有的帧内预测模式时,将该目标已编码块的预测模式移入历史信息列表中;否则,当目标已编码块的预测模式映射后的预测模式已经存在于历史信息列表中时,就不必再将该目标已编码块的预测模式移入历史信息列表中。
可选地,在确定该目标已编码块的预测模式映射后的预测模式属于帧内预测模式之后,还可以判断该帧内预测模式映射后的预测模式是否与历史信息列表中已有的帧内预测模式相同,如果该帧内预测模式映射后的预测模式与历史信息列表中已有的帧内预测模式相同,则不会将该帧内预测模式移入历史信息列表中;如果该帧内预测模式映射后的预测模式与历史信息列表中已有的帧内预测模式不相同,则将该帧内预测模式移入历史信息列表中,从而可以避免历史信息列表中包括多个相同的帧内预测模式,造成信息冗余。
对于上述第(7)项,当目标已编码块的预测模式映射后的预测模式属于角度模式时,将该目标已编码块的预测模式移入历史信息列表中;否则,当该目标已编码块的预测模式映射后的预测模式不属于角度模式时,就不必再将该目标已编码块的预测模式移入历史信息列表中。
可选地,在确定该目标已编码块的预测模式映射后的预测模式属于帧内预测模式之后,还可以判断该目标已编码块的预测模式映射后的预测模式是否属于角度模式,如果该目标已编码块的预测模式映射后的预测模式属于角度模式,则可以直接将该目标已编码块的预测模式移入历史信息列表中;如果该目标已编码块的预测模式映射后的预测模式不属于角度模式,如属于直流模式、平面模式、双线性(bilinear)模式等非角度模式,则不将该目标已编码块的预测模式移入历史信息列表中。
对于上述第(8)项,当目标已编码块的预测模式映射后的预测模式属于特定角度模式时,将该目标已编码块的预测模式移入历史信息列表中;否则,当该目标已编码块的预测模式映射后的预测模式不属于特定角度模式时,就不必再将该目标已编码块的预测模式移入历史信息列表中。其中,特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式。
对于上述第(9)项,假设历史信息列表中可以存放的帧内预测模式的数量门限值为m,m为大于1的整数,若在将目标已编码块的预测模式移入历史信息列表之前,历史信息列表中已有m个帧内预测模式,则不会将目标已编码块的预测模式移入历史信息列表中;若在将目标已编码块的预测模式移入历史信息列表之前,历史信息列表中已有的帧内预测模式不足m个,则将目标已编码块的预测模式移入历史信息列表中。
通过上述方式,对历史信息列表中包括的帧内预测模式的最大数量进行限制,有助于提高从历史信息列表中选择出添加至MPM列表的帧内预测模式的效率。
在一些实施例中,若将目标已编码块的预测模式移入历史信息列表后,历史信息列表中包括的帧内预测模式的数量大于门限值,则从历史信息列表中选择至少一个帧内预测模式移出历史信息列表,例如从历史信息列表中选择一个帧内预测模式移出历史信息列表,如将最先移入历史信息列表的帧内预测模式移出历史信息列表。
需要说明的一点是,可以先将目标已编码块的预测模式移入历史信息列表后,再将最先移入历史信息列表的帧内预测模式移出历史信息列表;也可以先将最先移入历史信息列表的帧内预测模式移出历史信息列表,再将目标已编码块的预测模式移入历史信息列表;还可以将目标已编码块的预测模式移入历史信息列表的同时,将最先移入历史信息列表的帧内预测模式移出历史信息列表,本申请实施例不作限定。
可选地,历史信息列表中已有的帧内预测模式移出规则遵循先进先出,即先移入历史信息列表的帧内预测模式,也先移出历史信息列表。
综上所述,本申请实施例提供的技术方案,通过将符合条件的帧内预测模式加入历史信息列表,提高了历史信息列表中包括的帧内预测模式为待编码块所采用的帧内预测模式的概率,提高了MPM列表中帧内预测模式的准确性。
在另一个可选实施例中,上述生成待编码块的MPM列表,可以包括以下两种可能的实现方式:
第一种:直接将从历史信息列表中选择的帧内预测模式,添加至待编码块的MPM列表中。
在这种方式下,需要改变MPM列表的导出规则,不是将待编码块的邻近编码块的预测模式添加至MPM列表中,而是从历史信息列表中选择帧内预测模式添加至MPM列表中。
第二种:将邻近编码块的预测模式,从原始预测模式替换为从历史信息列表中选取的帧内预测模式;将邻近编码块的预测模式添加至待编码块的MPM列表中。
关于此种方式,将通过下文图6实施例进行详细介绍,此处不再赘述。
在这种方式下,不需要改变MPM列表的导出规则,仍然将待编码块的邻近编码块的预测模式添加至MPM列表中,但是通过替换掉邻近编码块的原始预测模式,来达到从历史信息列表中选择帧内预测模式添加至MPM列表的目的。
请参考图6,其示出了本申请另一个实施例提供的帧内预测模式的编码方法的流程图。在本实施例中,主要以该方法应用于上文介绍的编码端设备中来举例说明。该方法可以包括如下几个步骤(601~604):
步骤601,构建历史信息列表。
上述历史信息列表中包括至少一个已编码块的帧内预测模式。已编码块是指已经完成编码的块。该已编码块可以包括当前的待编码块的至少一个邻近的已编码块,也可以包括当前的待编码块的至少一个非邻近的已编码块。
本步骤与图4实施例中的步骤401相同或类似,此处不再赘述。
步骤602,若待编码块的邻近编码块的预测模式符合第一条件,则将邻近编码块的预测模式,从原始预测模式替换为从历史信息列表中选择的帧内预测模式。
当待编码块的邻近编码块的预测模式符合第一条件时,可以将邻近编码块的预测模式,从原始预测模式替换为从历史信息列表中选择的帧内预测模式,将邻近编码块的预测模式添加至待编码块的MPM列表中。
可选地,上述第一条件包括:邻近编码块的预测模式为目标预测模式,目标预测模式包括以下任意一种:IBC模式、PLT模式、帧间预测模式。有关上述第一条件的详细介绍说明可参见上文实施例,此处不再赘述。
可选地,当邻近编码块的预测模式为目标预测模式,可以在该邻近编码块的编码过程中,直接将该邻近编码块的预测模式,从该目标预测模式替换为从历史信息列表中选择的帧内预测模式。
示例性地,如图7所示,假设待编码块为#10,其上边邻近编码块为#4;在之前对编码块#5进行编码时,编码块#4为其左边邻近编码块。假设编码块#4在编码时采用IBC模式,在对编码块#5进行编码时,将编码块#4的预测模式修改为角度模式22,该角度模式22是来自于编码块#5的历史信息列表中的帧内预测模式,也就是说,该角度模式22是编码块#5之前的编码块所采用的帧内预测模式,例如,该角度模式22是编码块#1所采用的帧内预测模式;之后,对待编码块#10进行编码时,其上边邻近编码块#4的预测模式已经为角度模式22,此时,可以直接将该上边邻近编码块#4的预测模式(即角度模式22)添加至MPM列表中。也就是说,待编码块#10的MPM列表中添加的实质是编码块#1所采用的帧内预测模式。这样,待编码块#10的MPM列表中就包含了非邻近编码块的帧内预测模式,从而使得待编码块#10的MPM列表中包含的帧内预测模式的多样性增加,进一步可以提高待编码块#10采用的帧内预测模式在MPM列表中的概率,进而缩短编码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
可选地,编码端设备在将邻近编码块的预测模式替换为历史信息列表中的帧内预测模式时,可以将邻近编码块的预测模式,从原始预测模式替换为历史信息列表中最后移入的帧内预测模式。由于邻近的编码块采用的帧内预测模式很有可能是相同的,而历史信息列表中最后移入的帧内预测模式往往是与待编码块邻近的已编码块,因此选择将历史信息列表中最后移入的帧内预测模式添加至MPM列表中,有助于提升MPM列表中包含的帧内预测模式的准确性和有效性。
步骤603,将邻近编码块的预测模式添加至待编码块的MPM列表中。
在将上述邻近编码块的预测模式进行替换之后,可以将该邻近编码块的预测模式添加至待编码块的MPM列表中。
步骤604,根据MPM列表对待编码块的帧内预测模式进行编码。
本步骤与图4实施例中的步骤403相同或类似,此处不再赘述。
综上所述,本申请实施例提供的技术方案,当邻近编码块符合第一条件时,将邻近编码块的预测模式,从原始预测模式替换为历史信息列表中的帧内预测模式,然后再将该邻近编码块的预测模式添加至待编码块的MPM列表中。一方面,可以在不需要改变MPM列表的导出规则的情况下,来达到从历史信息列表中选择帧内预测模式添加至MPM列表的目的;另一方面,可以使得待编码块的MPM列表中包含的帧内预测模式更具多样性,从而可以提高待编码块采用的帧内预测模式在MPM列表中的概率,进而缩短编码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
在另一个可选实施例中,上述步骤603,将邻近编码块的预测模式添加至待编码块的MPM列表中之后,还可以包括以下步骤:
(1)若MPM列表中已有的帧内预测模式的数量为第一数量,且第一数量小于MPM列表对应的最大数量,则通过角度扩展获取至少一个帧内预测模式;
(2)将至少一个帧内预测模式添加至MPM列表中。
MPM列表对应的最大数量是指MPM列表中可包含的帧内预测模式的最大数量。若MPM列表中已有的帧内预测模式的数量小于MPM列表对应的最大数量,则还可以对该MPM列表进行填充。可选地,可以将该MPM列表中的帧内预测模式填充至最大数量,也可以填充至第二数量,该第二数量为大于第一数量且小于最大数量。
可选地,上述角度扩展可以是基于一个帧内预测模式的角度,将帧内预测模式的角度进行+-1、+-2、或者+-3等扩展,得到扩展后的角度对应的帧内预测模式,并将该通过角度扩展获取至少一个帧内预测模式添加至MPM列表中。
示例性地,若MPM列表的最大数量为M=5,其中来自邻近编码块的帧内预测模式N=2(来自邻近上边块和邻近左边块),其中,M为大于1的整数,N为小于M的正整数;有与N小于M,则可以根据MPM列表中已有的帧内预测模式,角度扩展,如将邻近上边块的预测模式对应的角度A进行+-1的扩展,得到角度为A+1和A-1这2个角度对应的帧内预测模式,之后将该2个角度对应的帧内预测模式填充至MPM列表中。
其中,上述MPM列表中已有的帧内预测模式的来源包括以下至少一项:邻近编码块的预测模式、历史信息列表中的帧内预测模式。
在一个示例中,可以优先将邻近编码块的帧内预测模式添加至MPM列表,其次将历史信息列表中的帧内预测模式添加至MPM列表,最后是将角度扩展获取的帧内预测模式添加至MPM列表。
在另一个示例中,可以优先将历史信息列表中的帧内预测模式添加至MPM列表,其次,将邻近编码块的帧内预测模式添加至MPM列表,最后是将角度扩展获取的帧内预测模式添加至MPM列表。
在另一个示例中,可以先将邻近编码块的帧内预测模式添加至MPM列表,然后直接将角度扩展获取的帧内预测模式添加至MPM列表。
在又一个示例中,可以先将历史信息列表中的帧内预测模式添加至MPM列表,然后将角度扩展获取的帧内预测模式添加至MPM列表。
综上所述,本申请实施例提供的技术方案,在邻近编码块的预测模式符合条件的情况下,将该邻近编码块的预测模式添加至MPM列表中,还可以从历史信息列表中选择帧内预测模式添加至MPM列表中,从而可以提高MPM列表中帧内预测模式的准确性和有效性,进一步提升压缩性能。
在另一个可选实施例中,上述编码方法还可以包括以下步骤:
在目标状态下,对历史信息列表进行重置,其中,目标状态包括以下至少一种:在对待编码块所属切片的下一个切片开始编码时;在对待编码块所属CTU行的下一个CTU行开始编码时;在对待编码块所属CTU的下一个CTU开始编码时。当然,上述目标状态仅是示例性和解释性的,目标状态还可以包括以下至少一种:在对待编码块的下一个编码块开始编码时,在对待编码块所属图像帧的下一个图像帧开始编码时,在对待编码块所属图像帧的下n个图像帧(n为大于1的整数)开始编码时,等等,本申请实施例对此不作限定。
一帧图像可以划分为多个CTU行,每一个CTU行可以包括多个CTU。一个CTU包括三个块,也就是一个亮度块和两个色度块。CTU的大小可以为64×64,32×32,或16×16,本申请实施例对此不作限定。一帧图像还可以划分为多个切片(Slice),每个切片也可以划分为多个CTU行。
可选地,上述对历史信息列表进行重置,包括:清空历史信息列表;或者,在历史信息列表中填充预设帧内预测模式,该预设帧内预测模式包括以下至少一种:水平预测模式、垂直预测模式、对角线预测模式。
综上所述,本申请实施例提供的技术方案,通过在目标状态下,对历史信息列表进行重置更新,有助于提高MPM列表中帧内预测模式的准确性和有效性。
请参考图8,其示出了本申请一个实施例提供的帧内预测模式的解码方法的流程图。在本实施例中,主要以该方法应用于上文介绍的解码端设备中来举例说明。该方法可以包括如下几个步骤(801~803):
步骤801,构建历史信息列表。
上述历史信息列表中包括至少一个已解码块的帧内预测模式。已解码块是指已经完成解码的块。该已解码块可以包括当前的待解码块的至少一个邻近的已解码块,也可以包括当前的待解码块的至少一个非邻近的已解码块。其中,与待解码块邻近的已解码块是指与待解码块邻接(或称为接触,也即存在重合边)的解码块,在下文实施例中将此简称为待解码块的邻近解码块;与待解码块非邻近的已解码块是指与待解码块不邻接(或称为不接触,也即不存在重合边或重合顶点)的解码块(如与待解码块之间存在有至少一个其它解码块),在下文实施例中将此简称为待解码块的非邻近解码块。
帧内预测模式是帧内解码时所采用的预测模式。帧内预测模式可以包括多种,且对于不同的视频编解码标准,其帧内预测模式的数量可以不同。
其中,帧内解码是指在当前帧中利用邻近已重构块的边界像素作为参考像素来预测当前块(也称为“待解码块”)的像素,目的是去除视频信号的空域冗余。当帧间解码的使用受限时,帧内解码可以保证视频的压缩效率。帧间解码是指当前帧中待解码块从邻近帧中的解码块预测得到参考块的过程,目的是去除视频信号的时间冗余。帧间解码时所采用的预测模式为帧间预测模式。
需要说明的一点是,在一些其它实施例中,帧内解码还可以称为帧内预测、帧内预测解码等,但本领域技术人员可以理解其含义,本申请实施例对此不作限定。
关于帧内预测模式的示例可参见图4实施例中的步骤401,此处不再赘述。
可选地,上述已解码块可以是与待解码块属于同一图像帧中的解码块,也可以是与待解码块属于不同图像帧中的解码块,本申请实施例对此不作限定。
步骤802,若待解码块的邻近解码块的预测模式符合第一条件,则生成待解码块的MPM列表,该MPM列表中包括从历史信息列表中导出的帧内预测模式。
在传统帧内解码时,通常将位于待解码块上边的解码块和左边的解码块这两个邻近解码块的帧内预测模式添加至MPM列表。但是在待解码块的邻近解码块为非普通帧内块(包括IBC块、PLT块、帧间块等)时,也就是说待解码块的邻近解码块采用的预测模式为非普通帧内预测模式(包括IBC模式、PLT模式、帧间预测模式等)时,待解码块的MPM列表中加入特定标识信息(如0)来表示该邻近解码块实际所采用的预测模式是非普通帧内预测模式,进而导致上文提到的MPM列表记录的帧内预测模式中,包含待解码块实际采用的帧内预测模式(也即“目标帧内预测模式”)的概率降低的问题。
在本申请提供的技术方案中,当待解码块的邻近解码块的预测模式符合第一条件时,可以直接生成待解码块的MPM列表,该MPM列表中包括从历史信息列表中导出的帧内预测模式,避免MPM列表中加入特定标识信息(如0)的情况发生,从而提高了MPM列表记录的帧内预测模式中,包含待解码块实际采用的帧内预测模式(也即“目标帧内预测模式”)的概率。
可选地,上述第一条件包括:邻近解码块的预测模式为目标预测模式(也即上文介绍的“非普通帧内预测模式”),该目标预测模式包括以下任意一种:IBC模式、PLT模式、帧间预测模式。
另外,若邻近解码块的预测模式不符合第一条件,则将邻近解码块的预测模式添加至MPM列表中。也就是说,当邻近解码块的预测模式并不是IBC模式、PLT模式或者帧间预测模式等非普通帧内预测模式时,也即当邻近解码块的预测模式是普通帧内预测模式时,可以直接将该邻近解码块的预测模式添加至MPM列表中。
步骤803,根据MPM列表对待解码块的帧内预测模式的码字进行解码,确定待解码块的帧内预测模式。
解码端设备可以对编码端设备编码后的码流进行解码。以待解码块的解码为例,可以根据MPM列表对待解码块的帧内预测模式的码字进行解码,获得待解码块的帧内预测模式。例如,查找MPM列表中是否包含上述码字所对应的目标帧内预测模式,如果包括,则将该目标帧内预测模式确定为待解码块的帧内预测模式。
综上所述,本申请实施例提供的技术方案,通过构建包括至少一个已解码块的帧内预测模式的历史信息列表,在待解码块的邻近解码块的预测模式符合条件的情况下,可以直接从该历史信息列表中选择帧内预测模式添加至待解码块的MPM列表中,并根据该MPM列表对待解码块的帧内预测模式的码字进行解码,确定待解码块的帧内预测模式。相比于相关技术,本申请实施例提供的技术方案,在待解码块的邻近解码块为非普通帧内块(如IBC块、PLT块、帧间块)时,从历史信息列表中选择帧内预测模式添加至MPM列表中,从而可以提高待解码块采用的帧内预测模式在MPM列表中的概率,进而缩短解码块的帧内预测模式的码字,降低帧内预测模式的比特开销大。
另外,由于在对待解码块的帧内预测模式进行解码时,历史信息列表中除了可以包括该待解码块的邻近解码块的帧内预测模式之外,还可以包括该待解码块的非邻近解码块的帧内预测模式,因此该历史信息列表中包含的帧内预测模式的多样性增加,由于待解码块的MPM列表中的帧内预测模式是从该历史信息列表中导出得到的,因此该待解码块的MPM列表中包含的帧内预测模式的多样性也会相应增加,从而有助于进一步提高待解码块采用的帧内预测模式在MPM列表中的概率,有助于进一步缩短解码块的帧内预测模式的码字,进一步降低帧内预测模式的比特开销。
在一个可选实施例中,上述步骤801构建历史信息列表可以包括:若目标已解码块的预测模式符合第二条件,则将目标已解码块的预测模式移入历史信息列表中。
上述目标已解码块可以是任意一个已解码块。解码端设备可以先判断该目标已解码块的预测模式是否符合第二条件,如果该目标已解码块的预测模式符合第二条件,则可以将目标已解码块的预测模式移入历史信息列表中。另外,如果该目标已解码块的预测模式不符合第二条件,则不会将该目标已解码块的预测模式移入历史信息列表中。
可选地,上述第二条件包括以下至少一项:(1)目标已解码块的预测模式属于帧内预测模式;(2)目标已解码块的预测模式不同于历史信息列表中已有的帧内预测模式;(3)目标已解码块的预测模式属于角度模式;(4)目标已解码块的预测模式属于特定角度模式,特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式;(5)目标已解码块的预测模式映射后的预测模式属于帧内预测模式;(6)目标已解码块的预测模式映射后的预测模式不同于历史信息列表中已有的帧内预测模式;(7)目标已解码块的预测模式映射后的预测模式属于角度模式;(8)目标已解码块的预测模式映射后的预测模式属于特定角度模式;(9)将目标已解码块的预测模式移入历史信息列表后,历史信息列表中包括的帧内预测模式的数量小于或等于门限值。
对于上述第(1)项,对于目标已解码块,如果该目标已解码块的预测模式属于帧内预测模式,则可以直接将该目标已解码块的预测模式移入历史信息列表中。在这种情况下,历史信息列表中可以包括多个相同的帧内预测模式。
对于上述第(2)项,当目标已解码块的预测模式不同于历史信息列表中已有的帧内预测模式时,将该目标已解码块的预测模式移入历史信息列表中;否则,当目标已解码块的预测模式已经存在于历史信息列表中时,就不必再将该目标已解码块的预测模式移入历史信息列表中,避免信息冗余。
可选地,在确定该目标已解码块的预测模式属于帧内预测模式之后,还可以判断该帧内预测模式是否与历史信息列表中已有的帧内预测模式相同,如果该帧内预测模式与历史信息列表中已有的帧内预测模式相同,则不会将该帧内预测模式移入历史信息列表中;如果该帧内预测模式与历史信息列表中已有的帧内预测模式不相同,则将该帧内预测模式移入历史信息列表中,从而可以避免历史信息列表中包括多个相同的帧内预测模式,造成信息冗余。
对于上述第(3)项,当目标已解码块的预测模式属于角度模式时,将该目标已解码块的预测模式移入历史信息列表中;否则,当该目标已解码块的预测模式不属于角度模式时,就不必再将该目标已解码块的预测模式移入历史信息列表中。
可选地,在确定该目标已解码块的预测模式属于帧内预测模式之后,还可以判断该帧内预测模式是否属于角度模式,如果该帧内预测模式属于角度模式,则可以直接将该帧内预测模式移入历史信息列表中;如果该帧内预测模式不属于角度模式,如属于直流模式、平面模式、双线性(bilinear)模式等非角度模式,则不将该帧内预测模式移入历史信息列表中。
对于上述第(4)项,当目标已解码块的预测模式属于特定角度模式时,将该目标已解码块的预测模式移入历史信息列表中;否则,当该目标已解码块的预测模式不属于特定角度模式时,就不必再将该目标已解码块的预测模式移入历史信息列表中。
对于上述第(5)-(8)项:在确定该目标已解码块的预测模式之后,可以按照角度映射关系进行映射,得到映射后的预测模式。可选地,上述角度映射关系包括:若目标已解码块的预测模式属于直流模式、平面模式、双线性模式等非角度模式,则可以直接将该目标已解码块的预测模式映射后为其自身;若目标已解码块的预测模式属于角度模式,则可以先计算该目标已解码块的预测模式与水平角度模式、竖直角度模式以及2个对角线角度模式的索引的差的绝对值,选择绝对值最小时对应的角度模式,即将目标已解码块的预测模式映射为该绝对值最小时对应的角度模式。
对于上述第(5)项,对于目标已解码块,如果该目标已解码块的预测模式映射后的预测模式属于帧内预测模式,则可以直接将该目标已解码块的预测模式移入历史信息列表中。
对于上述第(6)项,当目标已解码块的预测模式映射后的预测模式不同于历史信息列表中已有的帧内预测模式时,将该目标已解码块的预测模式移入历史信息列表中;否则,当目标已解码块的预测模式映射后的预测模式已经存在于历史信息列表中时,就不必再将该目标已解码块的预测模式移入历史信息列表中。
可选地,在确定该目标已解码块的预测模式映射后的预测模式属于帧内预测模式之后,还可以判断该帧内预测模式映射后的预测模式是否与历史信息列表中已有的帧内预测模式相同,如果该帧内预测模式映射后的预测模式与历史信息列表中已有的帧内预测模式相同,则不会将该帧内预测模式移入历史信息列表中;如果该帧内预测模式映射后的预测模式与历史信息列表中已有的帧内预测模式不相同,则将该帧内预测模式移入历史信息列表中,从而可以避免历史信息列表中包括多个相同的帧内预测模式,造成信息冗余。
对于上述第(7)项,当目标已解码块的预测模式映射后的预测模式属于角度模式时,将该目标已解码块的预测模式移入历史信息列表中;否则,当该目标已解码块的预测模式映射后的预测模式不属于角度模式时,就不必再将该目标已解码块的预测模式移入历史信息列表中。
可选地,在确定该目标已解码块的预测模式映射后的预测模式属于帧内预测模式之后,还可以判断该目标已解码块的预测模式映射后的预测模式是否属于角度模式,如果该目标已解码块的预测模式映射后的预测模式属于角度模式,则可以直接将该目标已解码块的预测模式移入历史信息列表中;如果该目标已解码块的预测模式映射后的预测模式不属于角度模式,如属于直流模式、平面模式、双线性(bilinear)模式等非角度模式,则不将该目标已解码块的预测模式移入历史信息列表中。
对于上述第(8)项,当目标已解码块的预测模式映射后的预测模式属于特定角度模式时,将该目标已解码块的预测模式移入历史信息列表中;否则,当该目标已解码块的预测模式映射后的预测模式不属于特定角度模式时,就不必再将该目标已解码块的预测模式移入历史信息列表中。其中,特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式。
对于上述第(9)项,假设历史信息列表中可以存放的帧内预测模式的数量门限值为m,m为大于1的整数,若在将目标已解码块的预测模式移入历史信息列表之前,历史信息列表中已有m个帧内预测模式,则不会将目标已解码块的预测模式移入历史信息列表中;若在将目标已解码块的预测模式移入历史信息列表之前,历史信息列表中已有的帧内预测模式不足m个,则将目标已解码块的预测模式移入历史信息列表中。
通过上述方式,对历史信息列表中包括的帧内预测模式的最大数量进行限制,有助于提高从历史信息列表中选择出添加至MPM列表的帧内预测模式的效率。
在一些实施例中,若将目标已解码块的预测模式移入历史信息列表后,历史信息列表中包括的帧内预测模式的数量大于门限值,则从历史信息列表中选择至少一个帧内预测模式移出历史信息列表,例如从历史信息列表中选择一个帧内预测模式移出历史信息列表,如将最先移入历史信息列表的帧内预测模式移出历史信息列表。
需要说明的一点是,可以先将目标已解码块的预测模式移入历史信息列表后,再将最先移入历史信息列表的帧内预测模式移出历史信息列表;也可以先将最先移入历史信息列表的帧内预测模式移出历史信息列表,再将目标已解码块的预测模式移入历史信息列表;还可以将目标已解码块的预测模式移入历史信息列表的同时,将最先移入历史信息列表的帧内预测模式移出历史信息列表,本申请实施例不作限定。
可选地,历史信息列表中已有的帧内预测模式移出规则遵循先进先出,即先移入历史信息列表的帧内预测模式,也先移出历史信息列表。
综上所述,本申请实施例提供的技术方案,通过将符合条件的帧内预测模式加入历史信息列表,提高了历史信息列表中包括的帧内预测模式为待解码块所采用的帧内预测模式的概率,提高了MPM列表中帧内预测模式的准确性。
在另一个可选实施例中,上述生成待解码块的MPM列表,可以包括以下两种可能的实现方式:
第一种:直接将从历史信息列表中选择的帧内预测模式,添加至待解码块的MPM列表中。
在这种方式下,需要改变MPM列表的导出规则,不是将待解码块的邻近解码块的预测模式添加至MPM列表中,而是从历史信息列表中选择帧内预测模式添加至MPM列表中。
第二种:将邻近解码块的预测模式,从原始预测模式替换为从历史信息列表中选取的帧内预测模式;将邻近解码块的预测模式添加至待解码块的MPM列表中。
关于此种方式,将通过下文图9实施例进行详细介绍,此处不再赘述。
在这种方式下,不需要改变MPM列表的导出规则,仍然将待解码块的邻近解码块的预测模式添加至MPM列表中,但是通过替换掉邻近解码块的原始预测模式,来达到从历史信息列表中选择帧内预测模式添加至MPM列表的目的。
请参考图9,其示出了本申请另一个实施例提供的帧内预测模式的解码方法的流程图。在本实施例中,主要以该方法应用于上文介绍的解码端设备中来举例说明。该方法可以包括如下几个步骤(901~904):
步骤901,构建历史信息列表。
上述历史信息列表中包括至少一个已解码块的帧内预测模式。已解码块是指已经完成解码的块。该已解码块可以包括当前的待解码块的至少一个邻近的已解码块,也可以包括当前的待解码块的至少一个非邻近的已解码块。
本步骤与图8实施例中的步骤801相同或类似,此处不再赘述。
步骤902,若待解码块的邻近解码块的预测模式符合第一条件,则将邻近解码块的预测模式,从原始预测模式替换为从历史信息列表中选择的帧内预测模式。
当待解码块的邻近解码块的预测模式符合第一条件时,可以将邻近解码块的预测模式,从原始预测模式替换为从历史信息列表中选择的帧内预测模式,将邻近解码块的预测模式添加至待解码块的MPM列表中。
可选地,上述第一条件包括:邻近解码块的预测模式为目标预测模式,目标预测模式包括以下任意一种:IBC模式、PLT模式、帧间预测模式。有关上述第一条件的详细介绍说明可参见上文实施例,此处不再赘述。
可选地,当邻近解码块的预测模式为目标预测模式,可以在该邻近解码块的解码过程中,直接将该邻近解码块的预测模式,从该目标预测模式替换为从历史信息列表中选择的帧内预测模式。
示例性地,如图10所示,假设待解码块为#10,其上边邻近解码块为#4;在之前对解码块#5进行解码时,解码块#4为其左边邻近解码块。假设解码块#4在解码时采用IBC模式,在对解码块#5进行解码时,将解码块#4的预测模式修改为角度模式22,该角度模式22是来自于解码块#5的历史信息列表中的帧内预测模式,也就是说,该角度模式22是解码块#5之前的解码块所采用的帧内预测模式,例如,该角度模式22是解码块#1所采用的帧内预测模式;之后,对待解码块为#10进行解码时,其上边邻近解码块#4的预测模式已经为角度模式22,此时,可以直接将该上边邻近解码块#4的预测模式(即角度模式22)添加至MPM列表中。也就是说,待解码块#10的MPM列表中添加的实质是解码块#1所采用的帧内预测模式。这样,待解码块#10的MPM列表中就包含了非邻近解码块的帧内预测模式,从而使得待解码块#10的MPM列表中包含的帧内预测模式的多样性增加,进一步可以提高待解码块#10采用的帧内预测模式在MPM列表中的概率,进而缩短解码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
可选地,解码端设备在将邻近解码块的预测模式替换为历史信息列表中的帧内预测模式时,可以将邻近解码块的预测模式,从原始预测模式替换为历史信息列表中最后移入的帧内预测模式。由于邻近的解码块采用的帧内预测模式很有可能是相同的,而历史信息列表中最后移入的帧内预测模式往往是与待解码块邻近的已解码块,因此选择将历史信息列表中最后移入的帧内预测模式添加至MPM列表中,有助于提升MPM列表中包含的帧内预测模式的准确性和有效性。
步骤903,将邻近解码块的预测模式添加至待解码块的MPM列表中。
在将上述邻近解码块的预测模式进行替换之后,可以将该邻近解码块的预测模式添加至待解码块的MPM列表中。
步骤904,根据MPM列表对待解码块的帧内预测模式的码字进行解码,确定待解码块的帧内预测模式。
本步骤与图8实施例中的步骤803相同或类似,此处不再赘述。
综上所述,本申请实施例提供的技术方案,当邻近解码块符合第一条件时,将邻近解码块的预测模式,从原始预测模式替换为历史信息列表中的帧内预测模式,然后再将该邻近解码块的预测模式添加至待解码块的MPM列表中。一方面,可以在不需要改变MPM列表的导出规则的情况下,来达到从历史信息列表中选择帧内预测模式添加至MPM列表的目的;另一方面,可以使得待解码块的MPM列表中包含的帧内预测模式更具多样性,从而可以提高待解码块采用的帧内预测模式在MPM列表中的概率,进而缩短解码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
在另一个可选实施例中,上述步骤903,将邻近解码块的预测模式添加至待解码块的MPM列表中之后,还可以包括以下步骤:
(1)若MPM列表中已有的帧内预测模式的数量为第一数量,且第一数量小于MPM列表对应的最大数量,则通过角度扩展获取至少一个帧内预测模式;
(2)将至少一个帧内预测模式添加至MPM列表中。
MPM列表对应的最大数量是指MPM列表中可包含的帧内预测模式的最大数量。若MPM列表中已有的帧内预测模式的数量小于MPM列表对应的最大数量,则还可以对该MPM列表进行填充。可选地,可以将该MPM列表中的帧内预测模式填充至最大数量,也可以填充至第二数量,该第二数量为大于第一数量且小于最大数量。
可选地,上述角度扩展可以是基于一个帧内预测模式的角度,将帧内预测模式的角度进行+-1、+-2、或者+-3等扩展,得到扩展后的角度对应的帧内预测模式,并将该通过角度扩展获取至少一个帧内预测模式添加至MPM列表中。
示例性地,若MPM列表的最大数量为M=5,其中来自邻近解码块的帧内预测模式N=2(来自邻近上边块和邻近左边块),其中,M为大于1的整数,N为小于M的正整数;有与N小于M,则可以根据MPM列表中已有的帧内预测模式,角度扩展,如将邻近上边块的预测模式对应的角度A进行+-1的扩展,得到角度为A+1和A-1这2个角度对应的帧内预测模式,之后将该2个角度对应的帧内预测模式填充至MPM列表中。
其中,上述MPM列表中已有的帧内预测模式的来源包括以下至少一项:邻近解码块的预测模式、历史信息列表中的帧内预测模式。
在一个示例中,可以优先将邻近解码块的帧内预测模式添加至MPM列表,其次将历史信息列表中的帧内预测模式添加至MPM列表,最后是将角度扩展获取的帧内预测模式添加至MPM列表。
在另一个示例中,可以优先将历史信息列表中的帧内预测模式添加至MPM列表,其次,将邻近解码块的帧内预测模式添加至MPM列表,最后是将角度扩展获取的帧内预测模式添加至MPM列表。
在另一个示例中,可以先将邻近解码块的帧内预测模式添加至MPM列表,然后直接将角度扩展获取的帧内预测模式添加至MPM列表。
在又一个示例中,可以先将历史信息列表中的帧内预测模式添加至MPM列表,然后将角度扩展获取的帧内预测模式添加至MPM列表。
综上所述,本申请实施例提供的技术方案,在邻近解码块的预测模式符合条件的情况下,将该邻近解码块的预测模式添加至MPM列表中,还可以从历史信息列表中选择帧内预测模式添加至MPM列表中,从而可以提高MPM列表中帧内预测模式的准确性和有效性,进一步提升压缩性能。
在另一个可选实施例中,上述解码方法还可以包括以下步骤:
在目标状态下,对历史信息列表进行重置,其中,目标状态包括以下至少一种:在对待解码块所属切片的下一个切片开始解码时;在对待解码块所属CTU行的下一个CTU行开始解码时;在对待解码块所属CTU的下一个CTU开始解码时。当然,上述目标状态仅是示例性和解释性的,目标状态还可以包括以下至少一种:在对待解码块的下一个解码块开始解码时,在对待解码块所属图像帧的下一个图像帧开始解码时,在对待解码块所属图像帧的下n个图像帧(n为大于1的整数)开始解码时,等等,本申请实施例对此不作限定。
一帧图像可以划分为多个CTU行,每一个CTU行可以包括多个CTU。一个CTU包括三个块,也就是一个亮度块和两个色度块。CTU的大小可以为64×64,32×32,或16×16,本申请实施例对此不作限定。一帧图像还可以划分为多个切片(Slice),每个切片也可以划分为多个CTU行。
可选地,上述对历史信息列表进行重置,包括:清空历史信息列表;或者,在历史信息列表中填充预设帧内预测模式,该预设帧内预测模式包括以下至少一种:水平预测模式、垂直预测模式、对角线预测模式。
综上所述,本申请实施例提供的技术方案,通过在目标状态下,对历史信息列表进行重置更新,有助于提高MPM列表中帧内预测模式的准确性和有效性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图11,其示出了本申请一个实施例提供的帧内预测模式的编码装置的框图。该装置具有实现上述帧内预测模式的编码方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的编码端设备,也可以设置在编码端设备上。该装置1100可以包括:列表构建模块1110、模式替换模块1120、模式添加模块1130和模式编码模块1140。
列表构建模块1110,用于构建历史信息列表,所述历史信息列表中包括至少一个已编码块的帧内预测模式。
模式替换模块1120,用于当待编码块的邻近编码块的预测模式符合第一条件时,将所述邻近编码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式。
模式添加模块1130,用于将所述邻近解码块的预测模式添加至所述待解码块的MPM列表中。
模式编码模块1140,用于根据所述MPM列表对所述待编码块的帧内预测模式进行编码。
综上所述,本申请实施例提供的技术方案,当邻近编码块符合第一条件时,将邻近编码块的预测模式,从原始预测模式替换为历史信息列表中的帧内预测模式,然后再将该邻近编码块的预测模式添加至待编码块的MPM列表中。一方面,可以在不需要改变MPM列表的导出规则的情况下,来达到从历史信息列表中选择帧内预测模式添加至MPM列表的目的;另一方面,可以使得待编码块的MPM列表中包含的帧内预测模式更具多样性,从而可以提高待编码块采用的帧内预测模式在MPM列表中的概率,进而缩短编码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
在一些可能的设计中,所述列表构建模块1110用于确定目标已编码块;当所述目标已编码块的预测模式符合第二条件时,将所述目标已编码块的预测模式移入所述历史信息列表中。
在一些可能的设计中,所述第二条件包括以下至少一项:所述目标已编码块的预测模式属于帧内预测模式;所述目标已编码块的预测模式不同于所述历史信息列表中已有的帧内预测模式;所述目标已编码块的预测模式属于角度模式;所述目标已编码块的预测模式属于特定角度模式,所述特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式;所述目标已编码块的预测模式映射后的预测模式属于帧内预测模式;所述目标已编码块的预测模式映射后的预测模式不同于所述历史信息列表中已有的帧内预测模式;所述目标已编码块的预测模式映射后的预测模式属于角度模式;所述目标已编码块的预测模式映射后的预测模式属于所述特定角度模式;将所述目标已编码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量小于或等于门限值。
在一些可能的设计中,如图12所示,所述装置1100还包括:模式移出模块1150。
模式移出模块1150,用于当将所述目标已编码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量大于门限值时,将最先移入所述历史信息列表的帧内预测模式移出所述历史信息列表。
在一些可能的设计中,所述第一条件包括:所述邻近编码块的预测模式为目标预测模式,所述目标预测模式包括以下任意一种:IBC模式、PLT模式、帧间预测模式。
在一些可能的设计中,所述模式替换模块1120用于将所述邻近解码块的预测模式,从所述原始预测模式替换为所述历史信息列表中最后移入的帧内预测模式。
在一些可能的设计中,所述模式添加模块1130还用于当所述邻近编码块的预测模式不符合所述第一条件时,将所述邻近编码块的预测模式添加至所述MPM列表中。
在一些可能的设计中,如图12所示,所述装置1100还包括:模式扩展模块1160。
模式扩展模块1160,用于当所述MPM列表中已有的帧内预测模式的数量为第一数量,且所述第一数量小于所述MPM列表对应的最大数量,则通过角度扩展获取至少一个帧内预测模式。
所述模式添加模块1130还用于将所述至少一个帧内预测模式添加至所述MPM列表中。
在一些可能的设计中,如图12所示,所述装置1100还包括:列表重置模块1170。
列表重置模块1170,用于在目标状态下,对所述历史信息列表进行重置,其中,所述目标状态包括以下至少一种:在对所述待编码块所属切片的下一个切片开始编码时;在对所述待编码块所属CTU行的下一个CTU行开始编码时;在对所述待编码块所属CTU的下一个CTU开始编码时。
在一些可能的设计中,所述列表重置模块1170用于清空所述历史信息列表;或者,在所述历史信息列表中填充预设帧内预测模式,所述预设帧内预测模式包括以下至少一种:水平预测模式、垂直预测模式、对角线预测模式。
请参考图13,其示出了本申请一个实施例提供的帧内预测模式的解码装置的框图。该装置具有实现上述帧内预测模式的解码方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上文介绍的解码端设备,也可以设置在解码端设备上。该装置1300可以包括:列表构建模块1310、模式替换模块1320、模式添加模块1330和模式解码模块1340。
列表构建模块1310,用于构建历史信息列表,所述历史信息列表中包括至少一个已解码块的帧内预测模式。
模式替换模块1320,用于当待解码块的邻近解码块的预测模式符合第一条件时,将所述邻近解码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式。
模式添加模块1330,用于将所述邻近解码块的预测模式添加至所述待解码块的MPM列表中。
模式解码模块1340,用于根据所述MPM列表对所述待解码块的帧内预测模式的码字进行解码,确定所述待解码块的帧内预测模式。
综上所述,本申请实施例提供的技术方案,当邻近解码块符合第一条件时,将邻近解码块的预测模式,从原始预测模式替换为历史信息列表中的帧内预测模式,然后再将该邻近解码块的预测模式添加至待解码块的MPM列表中。一方面,可以在不需要改变MPM列表的导出规则的情况下,来达到从历史信息列表中选择帧内预测模式添加至MPM列表的目的;另一方面,可以使得待解码块的MPM列表中包含的帧内预测模式更具多样性,从而可以提高待解码块采用的帧内预测模式在MPM列表中的概率,进而缩短解码块的帧内预测模式的码字,降低帧内预测模式的比特开销。
在一些可能的设计中,所述列表构建模块1310用于确定目标已解码块;当所述目标已解码块的预测模式符合第二条件时,将所述目标已解码块的预测模式移入所述历史信息列表中。
在一些可能的设计中,所述第二条件包括以下至少一项:所述目标已解码块的预测模式属于帧内预测模式;所述目标已解码块的预测模式不同于所述历史信息列表中已有的帧内预测模式;所述目标已解码块的预测模式属于角度模式;所述目标已解码块的预测模式属于特定角度模式,所述特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式;所述目标已解码块的预测模式映射后的预测模式属于帧内预测模式;所述目标已解码块的预测模式映射后的预测模式不同于所述历史信息列表中已有的帧内预测模式;所述目标已解码块的预测模式映射后的预测模式属于角度模式;所述目标已解码块的预测模式映射后的预测模式属于所述特定角度模式;将所述目标已解码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量小于或等于门限值。
在一些可能的设计中,如图14所示,所述装置1300还包括:模式移出模块1350。
模式移出模块1350,用于当将所述目标已解码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量大于门限值时,将最先移入所述历史信息列表的帧内预测模式移出所述历史信息列表。
在一些可能的设计中,所述第一条件包括:所述邻近解码块的预测模式为目标预测模式,所述目标预测模式包括以下任意一种:IBC模式、PLT模式、帧间预测模式。
在一些可能的设计中,所述模式替换模块1320用于将所述邻近解码块的预测模式,从所述原始预测模式替换为所述历史信息列表中最后移入的帧内预测模式。
在一些可能的设计中,所述模式添加模块1330还用于当所述邻近解码块的预测模式不符合所述第一条件时,将所述邻近解码块的预测模式添加至所述MPM列表中。
在一些可能的设计中,如图14所示,所述装置1300还包括:模式扩展模块1360。
模式扩展模块1360,用于当所述MPM列表中已有的帧内预测模式的数量为第一数量,且所述第一数量小于所述MPM列表对应的最大数量,则通过角度扩展获取至少一个帧内预测模式。
所述模式添加模块1330还用于将所述至少一个帧内预测模式添加至所述MPM列表中。
在一些可能的设计中,如图14所示,所述装置1300还包括:列表重置模块1370。
列表重置模块1370,用于在目标状态下,对所述历史信息列表进行重置,其中,所述目标状态包括以下至少一种:在对所述待解码块所属切片的下一个切片开始解码时;在对所述待解码块所属CTU行的下一个CTU行开始解码时;在对所述待解码块所属CTU的下一个CTU开始解码时。
在一些可能的设计中,所述列表重置模块1370用于清空所述历史信息列表;或者,在所述历史信息列表中填充预设帧内预测模式,所述预设帧内预测模式包括以下至少一种:水平预测模式、垂直预测模式、对角线预测模式。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图15,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是上文介绍的编码端设备,也可以是上文介绍的解码端设备。该计算机设备150可以包括:处理器151、存储器152、通信接口153、编码器/解码器154和总线155。
处理器151包括一个或者一个以上处理核心,处理器151通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
存储器152可用于存储计算机程序,处理器151用于执行该计算机程序,以实现上述帧内预测模式的编码方法,或者实现上述帧内预测模式的解码方法。
通信接口153可用于与其它设备进行通信,如收发音视频数据。
编码器/解码器154可用于实现编码和解码功能,如对音视频数据进行编码和解码。
存储器152通过总线155与处理器151相连。
此外,存储器152可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除可编程只读存储器),SRAM(StaticRandom-Access Memory,静态随时存取存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable read-only memory,可编程只读存储器)。
本领域技术人员可以理解,图15中示出的结构并不构成对计算机设备150的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被处理器执行时实现上述帧内预测模式的解码方法,或者实现如上述方面所述的帧内预测模式的编码方法。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被处理器执行时,其用于实现上述帧内预测模式的解码方法,或者实现如上述方面所述的帧内预测模式的编码方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (22)

1.一种帧内预测模式的解码方法,其特征在于,所述方法包括:
构建历史信息列表,所述历史信息列表中包括至少一个已解码块的帧内预测模式;
若待解码块的邻近解码块的预测模式为目标预测模式,则将所述邻近解码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;其中,所述目标预测模式为以下三种之一:帧内块复制IBC模式、调色板PLT模式、帧间预测模式;
将所述邻近解码块的预测模式添加至所述待解码块的最可能预测模式MPM列表中;
根据所述MPM列表对所述待解码块的帧内预测模式的码字进行解码,确定所述待解码块的帧内预测模式。
2.根据权利要求1所述的方法,其特征在于,所述构建历史信息列表,包括:
确定目标已解码块;
若所述目标已解码块的预测模式符合第二条件,则将所述目标已解码块的预测模式移入所述历史信息列表中。
3.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式属于帧内预测模式。
4.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式不同于所述历史信息列表中已有的帧内预测模式。
5.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式属于角度模式。
6.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式属于特定角度模式,所述特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式。
7.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式映射后的预测模式属于帧内预测模式。
8.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式映射后的预测模式不同于所述历史信息列表中已有的帧内预测模式。
9.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式映射后的预测模式属于角度模式。
10.根据权利要求2所述的方法,其特征在于,所述第二条件为所述目标已解码块的预测模式映射后的预测模式属于特定角度模式,所述特定角度模式包括以下至少一种:竖直角度模式、水平角度模式、对角线角度模式。
11.根据权利要求2所述的方法,其特征在于,所述第二条件为将所述目标已解码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量小于或等于门限值。
12.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若将所述目标已解码块的预测模式移入所述历史信息列表后,所述历史信息列表中包括的帧内预测模式的数量大于门限值,则将最先移入所述历史信息列表的帧内预测模式移出所述历史信息列表。
13.根据权利要求1至12任一项所述的方法,其特征在于,所述将所述邻近解码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式,包括:
将所述邻近解码块的预测模式,从所述原始预测模式替换为所述历史信息列表中最后移入的帧内预测模式。
14.根据权利要求1至12任一项所述的方法,其特征在于,所述方法还包括:
若所述邻近解码块的预测模式不是所述目标预测模式,则将所述邻近解码块的预测模式添加至所述MPM列表中。
15.根据权利要求1至12任一项所述的方法,其特征在于,所述将所述邻近解码块的预测模式添加至所述待解码块的最可能预测模式MPM列表中之后,还包括:
若所述MPM列表中已有的帧内预测模式的数量为第一数量,且所述第一数量小于所述MPM列表对应的最大数量,则通过角度扩展获取至少一个帧内预测模式;
将所述至少一个帧内预测模式添加至所述MPM列表中。
16.根据权利要求1至12任一项所述的方法,其特征在于,所述将所述邻近解码块的预测模式添加至所述待解码块的最可能预测模式MPM列表中之后,还包括:
在目标状态下,对所述历史信息列表进行重置,其中,所述目标状态包括以下至少一种:
在对所述待解码块所属切片的下一个切片开始解码时;
在对所述待解码块所属编码树单元CTU行的下一个CTU行开始解码时;
在对所述待解码块所属CTU的下一个CTU开始解码时。
17.根据权利要求16所述的方法,其特征在于,所述对所述历史信息列表进行重置,包括:
清空所述历史信息列表;
或者,
在所述历史信息列表中填充预设帧内预测模式,所述预设帧内预测模式包括以下至少一种:水平预测模式、垂直预测模式、对角线预测模式。
18.一种帧内预测模式的编码方法,其特征在于,所述方法包括:
构建历史信息列表,所述历史信息列表中包括至少一个已编码块的帧内预测模式;
若待编码块的邻近编码块的预测模式为目标预测模式,则将所述邻近编码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;其中,所述目标预测模式为以下三种之一:帧内块复制IBC模式、调色板PLT模式、帧间预测模式;
将所述邻近编码块的预测模式添加至所述待编码块的最可能预测模式MPM列表中;
根据所述MPM列表对所述待编码块的帧内预测模式进行编码。
19.一种帧内预测模式的解码装置,其特征在于,所述装置包括:
列表构建模块,用于构建历史信息列表,所述历史信息列表中包括至少一个已解码块的帧内预测模式;
模式替换模块,用于当待解码块的邻近解码块的预测模式为目标预测模式时,将所述邻近解码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;其中,所述目标预测模式为以下三种之一:帧内块复制IBC模式、调色板PLT模式、帧间预测模式;
模式添加模块,用于将所述邻近解码块的预测模式添加至所述待解码块的最可能预测模式MPM列表中;
模式解码模块,用于根据所述MPM列表对所述待解码块的帧内预测模式的码字进行解码,确定所述待解码块的帧内预测模式。
20.一种帧内预测模式的编码装置,其特征在于,所述装置包括:
列表构建模块,用于构建历史信息列表,所述历史信息列表中包括至少一个已编码块的帧内预测模式;
模式替换模块,用于当待编码块的邻近编码块的预测模式为目标预测模式时,将所述邻近编码块的预测模式,从原始预测模式替换为从所述历史信息列表中选择的帧内预测模式;其中,所述目标预测模式为以下三种之一:帧内块复制IBC模式、调色板PLT模式、帧间预测模式;
模式添加模块,用于将所述邻近编码块的预测模式添加至所述待编码块的最可能预测模式MPM列表中;
模式编码模块,用于根据所述MPM列表对所述待编码块的帧内预测模式进行编码。
21.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至17任一项所述的方法,或者实现如权利要求18所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至17任一项所述的方法,或者实现如权利要求18所述的方法。
CN201910903849.2A 2019-09-24 2019-09-24 帧内预测模式的解码方法、编码方法、装置及设备 Active CN110557645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910903849.2A CN110557645B (zh) 2019-09-24 2019-09-24 帧内预测模式的解码方法、编码方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910903849.2A CN110557645B (zh) 2019-09-24 2019-09-24 帧内预测模式的解码方法、编码方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110557645A CN110557645A (zh) 2019-12-10
CN110557645B true CN110557645B (zh) 2021-09-28

Family

ID=68741335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910903849.2A Active CN110557645B (zh) 2019-09-24 2019-09-24 帧内预测模式的解码方法、编码方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110557645B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113141507B (zh) * 2020-01-17 2022-07-15 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备
CN111461372A (zh) * 2020-03-27 2020-07-28 中国平安人寿保险股份有限公司 一种会议室监控方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105392008B (zh) * 2014-08-22 2018-09-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
AU2014216056A1 (en) * 2014-08-25 2016-03-10 Canon Kabushiki Kaisha Method, apparatus and system for predicting a block of video samples
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes

Also Published As

Publication number Publication date
CN110557645A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
JP7211816B2 (ja) イントラブロックコピーマージモードおよび利用できないibc参照領域のパディング
US10484682B2 (en) Reference picture derivation and motion compensation for 360-degree video coding
JP6634151B2 (ja) ビデオ符号化における適応インター予測の方法と装置
CN111866512B (zh) 视频解码方法、视频编码方法、装置、设备及存储介质
JP7372327B2 (ja) ビデオ復号の方法及び機器、及びコンピュータプログラム
CN113545042A (zh) 三角预测中的合并列表构建
CN110944185B (zh) 视频解码的方法和装置、计算机设备及存储介质
US10798417B2 (en) Deblock filtering for 360-degree video coding
JP2022536383A (ja) 単純化されたmpmリスト生成方法を用いる画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
CN113491113A (zh) 视频编解码的方法和装置
CN110557645B (zh) 帧内预测模式的解码方法、编码方法、装置及设备
CN112997494B (zh) 用于视频编码的运动矢量存储
KR102407912B1 (ko) 양방향 인트라 예측 시그널링
US20220417550A1 (en) Method and apparatus for constructing motion information list in video encoding and decoding and device
US20230103405A1 (en) Method and apparatus for intra block copy prediction with sample padding
CN112399180B (zh) 视频解码方法、装置及存储介质
CN112437312B (zh) 视频解码方法、编码方法、装置、设备及存储介质
US10805611B2 (en) Method and apparatus of constrained sequence header
US20240146902A1 (en) Context Design for Coding and Decoding Syntax Elements in Inter Prediction Modes
EP4099698A1 (en) Method, apparatus and device for constructing motion information list in video coding and decoding
US20230086077A1 (en) Method and apparatus for intra block copy (intrabc) mode coding with search range restrictions
US20230093129A1 (en) Method and apparatus for intra block copy mode coding with search range switching
US20230135166A1 (en) Intrabc using wedgelet partitioning
WO2023081499A1 (en) Candidate derivation for affine merge mode in video coding
CN118160309A (zh) 视频编解码中仿射合并模式的候选推导

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40019355

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant