CN113612995B - 视频编码方法、解码方法、编码器、解码器和存储介质 - Google Patents

视频编码方法、解码方法、编码器、解码器和存储介质 Download PDF

Info

Publication number
CN113612995B
CN113612995B CN202110593135.3A CN202110593135A CN113612995B CN 113612995 B CN113612995 B CN 113612995B CN 202110593135 A CN202110593135 A CN 202110593135A CN 113612995 B CN113612995 B CN 113612995B
Authority
CN
China
Prior art keywords
mode
intra
block
idx
prediction 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
Application number
CN202110593135.3A
Other languages
English (en)
Other versions
CN113612995A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113612995A publication Critical patent/CN113612995A/zh
Application granted granted Critical
Publication of CN113612995B publication Critical patent/CN113612995B/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Abstract

本申请涉及一种用于帧内预测的方法和装置,具体提供一种用于对视频的当前块进行解码的解码方法和解码器,其中,所述解码方法包括:从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的帧内预测模式的值;其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为平面模式时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与具有第一偏移的垂直模式对应的帧内预测模式以及与具有第二偏移的垂直模式对应的帧内预测模式。

Description

视频编码方法、解码方法、编码器、解码器和存储介质
技术领域
本发明涉及图像和/或视频编解码技术领域,具体地涉及用于帧内预测的方法和装置。
背景技术
自从DVD光盘问世以来,数字视频已得到广泛使用。在传输之前对视频进行编码,然后通过传输介质进行传输。观看者接收视频,并使用观看设备解码和显示视频。多年来,由于分辨率、色彩深度和帧率等的提高,视频质量已经得到了提高。这使得目前通过互联网和移动通信网络传输的数据流更大。
然而,更高分辨率视频通常具有更多信息,因此需要更多带宽。为了降低带宽要求,便引入了涉及视频压缩的视频译码标准。当对视频进行编码时,带宽要求(或存储时对应的内存要求)会降低。这种降低往往牺牲了质量。因此,视频译码标准试图在带宽要求与质量之间找到平衡。
高效视频译码(High Efficiency Video Coding,HEVC)是本领域技术人员所熟知的视频译码标准的示例。在HEVC中,译码单元(coding unit,CU)被划分为预测单元(prediction unit,PU)或变换单元(transform unit,TU)。通用视频译码(VersatileVideo Coding,VVC) 下一代标准是ITU-T视频译码专家组(Video Coding Experts Group,VCEG)和ISO/IEC运动图像专家组(Moving Picture Experts Group,MPEG)最近的联合视频项目,这两个标准化组织共同合作,其伙伴关系被称为联合视频探索小组(Joint VideoExploration Team,JVET)。 VVC也称为ITU-T H.266/下一代视频译码(Next GenerationVideo Coding,NGVC)标准。 VVC中去掉了多种分割类型的概念,即不区分CU、PU和TU概念(除非CU的大小对于最大变换长度而言太大),并支持更灵活的CU分割形状。
这些译码单元(coding unit,CU)(也称为块)的处理取决于其大小、空间位置和编码器指定的编码模式。根据预测的类型,编码模式可以分为两类:帧内预测模式和帧间预测模式。帧内预测模式使用同一图像(picture/image)(也称为帧)的像素点来生成参考像素点,以计算重建块的像素点的预测值。帧内预测也称为空间预测。帧间预测模式设计用于时域预测,并使用先前或后续图像的参考像素点来预测当前图像的块的像素点。
ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究未来视频译码技术标准化的潜在需求,其中,未来视频译码技术的压缩能力将大大超过当前HEVC标准的压缩能力(包括针对屏幕内容译码和高动态范围译码的当前扩展和近期扩展)。这些小组正与联合视频探索小组(Joint Video Exploration Team,JVET)共同努力开展这项探索活动,以评估其领域专家提出的压缩技术设计。
通用测试模型(Versatile Test Model,VTM)标准使用35种帧内模式,而基准集(Benchmark Set,BMS)使用67种帧内模式。
当前BMS中描述的帧内模式译码方案比较复杂,非所选模式集合的缺点在于索引列表总是恒定的。
发明内容
本申请实施例提供了独立权利要求所提供的解码装置和方法。
本申请实施例例如提供用于帧内预测的高效最可能模式(most probable mode,MPM)方案。
上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中显而易见。
具体实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。
本发明的第一方面涉及一种用于对视频的当前块进行解码的方法,其中,所述解码方法包括:从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为平面模式时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。该方法可以由视频解码设备等执行。
在第一方面提供的所述方法的一种可能的实现方式中,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
结合第一方面或第一方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第一偏移为–4。
结合第一方面或第一方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第二偏移为+4。
本发明的第二方面涉及一种用于对视频的当前块进行解码的方法,其中,所述解码方法包括:从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为DC模式时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。该方法可以由视频解码设备等执行。
在第二方面提供的所述方法的一种可能的实现方式中,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
结合第二方面或第二方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第一偏移为–4。
结合第二方面或第二方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第二偏移为+4。
本发明的第三方面涉及一种用于对视频的当前块进行解码的方法,所述解码方法包括:从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;当所述MPM 标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;其中,当所述当前块的左邻块不可用,且所述当前块的上邻块的帧内预测模式为平面模式时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。该方法可以由视频解码设备等执行。
在第三方面提供的所述方法的一种可能的实现方式中,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
结合第三方面或第三方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第一偏移为–4。
结合第三方面或第三方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第二偏移为+4。
本发明的第四方面涉及一种用于对视频的当前块进行解码的方法,所述解码方法包括:从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;当所述MPM 标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;其中,当所述当前块的左邻块不可用,且所述当前块的上邻块不可用时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。该方法可以由视频解码设备等执行。
在第四方面提供的所述方法的一种可能的实现方式中,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
结合第四方面或第四方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第一偏移为–4。
结合第四方面或第四方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第二偏移为+4。
本发明的第五方面涉及一种用于对视频的当前块进行解码的方法,所述解码方法包括:从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;当所述MPM 标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块不可用时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。该方法可以由视频解码设备等执行。
在第五方面提供的所述方法的一种可能的实现方式中,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
结合第五方面或第五方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第一偏移为–4。
结合第五方面或第五方面上述实现方式中的任意一种,在所述方法的一种可能的实现方式中,所述第二偏移为+4。
本发明的第五方面涉及一种用于对视频流进行解码的装置,所述装置包括处理器和存储器。所述存储器存储有指令,所述指令使所述处理器执行第一方面至第四方面或第一方面至第四方面的任意可能的实现方式或实施例提供的方法。
本发明的第六方面涉及一种存储有指令的计算机可读存储介质,所述指令在执行时使一个或多个处理器对视频数据进行译码。所述指令使所述一个或多个处理器执行第一方面至第四方面或第一方面至第四方面的任意可能的实现方式或实施例提供的方法。
根据第七方面,本发明涉及一种计算机程序,所述计算机程度包括程序代码,当在计算机上执行所述程序代码时,执行第一方面至第四方面或第一方面至第四方面的任意可能的实现方式或实施例提供的方法。
此外,本申请的实施例提供帧内模式译码方案等,其中,非所选模式集合可以根据当前块属性进行调整,例如根据其邻块的帧内模式进行调整。
附图和以下说明中将详细描述一个或多个实施例。其它特征、目的和优点在说明书、附图以及权利要求中是显而易见的。
附图说明
结合附图对以下实施例进行详细描述,其中:
图1为用于实现本发明实施例的视频译码系统示例的框图;
图2为用于实现本发明实施例的视频编码器示例的框图;
图3为用于实现本发明实施例的视频解码器示例的框图;
图4为示出了67种帧内预测模式的示意图;
图5为示出了用于MPM推导的邻块的示意图;
图6为示出了用于推导其余模式列表中的前三种模式的第二层邻块帧内模式的示意图;
图7为示出了在其余模式列表生成过程中前三种模式的示例的示意图;
图8为示出了视频解码方法示例的示意图;
图9为示出了视频解码方法示例的另一示意图;
图10为一种装置的框图。
具体实施方式
本发明公开了用于帧内预测的装置和方法。所述装置和方法使用映射过程简化帧内预测的计算流程,从而提高译码效率。保护范围由权利要求书界定。
缩略语和术语定义
CTU/CTB–Coding Tree Unit/Coding Tree Block译码树单元/译码树块
CU/CB–Coding Unit/Coding Block译码单元/译码块
PU/PB–Prediction Unit/Prediction Block预测单元/预测块
TU/TB–Transform Unit/Transform Block变换单元/变换块
HEVC–High Efficiency Video Coding高效视频译码
H.264/AVC和HEVC等视频译码方案是按照基于块的混合视频译码的成功原理而设计的。使用该原理,首先将图像分割成块,然后通过帧内或帧间预测来预测每个块。
自H.261之后的几个视频译码标准属于“有损混合视频编解码器”组(即,将像素点域中的空间预测和时域预测与变换域中用于应用量化的2D变换译码结合)。视频序列中的每个图像通常分割成不重叠的块集合,通常在块级进行译码。换句话说,编码器通常在块(图像块)级处对视频进行处理,即编码,例如,通过空间(帧内)预测和时域(帧间)预测来生成预测块;从当前块(当前处理/待处理的块)中减去预测块,获得残差块;在变换域中变换残差块并量化残差块,以减少待发送(压缩)的数据量,而解码器将相对于编码器的逆处理部分应用于编码或压缩后的块,以重建用于表示的当前块。此外,编码器重复解码器的处理步骤,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于对后续块进行处理(即译码)。
如本文所使用的,术语“块”可以是图像或帧的一部分。为便于描述,本文参考由ITU-T 视频译码专家组(Video Coding Experts Group,VCEG)和ISO/IEC运动图像专家组(Motion Picture Experts Group,MPEG)的视频译码联合工作组(Joint CollaborationTeam on Video Coding,JCT-VC)研发的高效视频译码(High-Efficiency Video Coding,HEVC)或通用视频译码(Versatile Video Coding,VVC)参考软件描述本发明实施例。本领域普通技术人员应理解本发明实施例不限于HEVC或VVC。它可以指CU、PU和TU。在HEVC中,通过表示为译码树的四叉树结构将CTU划分成CU。在CU级决定是使用帧间(时域)预测还是帧内(空间)预测对图像区域进行译码。可以根据PU划分类型将每个CU进一步划分为一个、两个或四个PU。一个PU内应用相同的预测过程,并以PU为单位向解码器传输相关信息。在根据PU划分类型应用预测过程获得残差块之后,可以根据与用于CU的译码树类似的另一种四叉树结构将CU分割为变换单元(transform unit,TU)。在视频压缩技术的最新进展中,使用四叉树和二叉树(qual-tree and binary tree,QTBT)分割来分割译码块。在QTBT块结构中,CU可以为正方形或矩形。例如,首先通过四叉树结构分割译码树单元(coding tree unit,CTU)。通过二叉树结构进一步分割四叉树叶节点。二叉树叶节点称为译码单元(codingunit,CU),该分段用于预测和变换处理,而不进行任何进一步分割。即,在QTBT译码块结构中,CU、 PU和TU的块大小相同。同时,还提出将三叉树分割等多重分割与QTBT块结构结合使用。
ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究未来视频译码技术标准化的潜在需求,其中,未来视频译码技术的压缩能力将大大超过当前HEVC标准的压缩能力(包括针对屏幕内容译码和高动态范围译码的当前扩展和近期扩展)。这些小组正与联合视频探索小组(Joint Video Exploration Team,JVET)共同努力开展这项探索活动,以评估其领域专家提出的压缩技术设计。
以下结合附图进行描述,所述附图形成本发明的一部分,并以说明的方式示出可以实施本发明的具体方面。
例如,应理解,结合所描述方法的公开内容对用于执行所述方法的对应设备或系统也可以同样适用,反之亦然。例如,如果描述了一个具体的方法步骤,则对应的设备可以包括用于执行所描述的方法步骤的单元,即使该单元在附图中未明确描述或示出。另外,应理解,除非另有具体说明,否则本文所描述的各种示例性方面的特征可彼此组合。
视频译码通常指对构成视频或视频序列的图像序列进行处理。术语“图像(picture/image)”或“帧(frame)”可在视频译码领域以及在本申请中作为同义词使用。每个图像通常被分割成一组不重叠的块。图像的编码/解码通常在块级执行,例如,在块级,使用帧间预测或帧内预测生成预测块,以从当前块(当前处理的块/待处理的块)中减去预测块,获得残差块,进一步对所述残差块进行变换和量化以减少待发送(压缩)的数据量,而在解码端,对编码块/ 压缩块进行逆处理以重建块用于表示。
图1为概念性或示意性框图,示出了可利用本申请(本发明)技术的示例性译码系统10,例如视频译码系统10。视频译码系统10的编码器20(例如,视频编码器20)和解码器30(例如,视频解码器30)表示可以用于根据本申请中描述的各种示例执行各技术的设备示例。如图1所示,译码系统10包括源设备12,所述源设备12用于将编码数据13(例如,编码图像13)提供到目的设备14等,以对编码数据13进行解码。源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理单元18(例如,图像预处理单元18)和通信接口或通信单元22。
图像源16可以包括或可以是任何类型的图像捕获设备,例如用于捕获真实世界图像的设备,和/或任何类型的图像或评论(对于屏幕内容译码,屏幕上的一些文本也被认为是待编码的图像(picture/image)的一部分)生成设备,例如用于生成计算机动画图像的计算机图形处理器,或用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像)和/或其任何组合(例如,增强现实(augmentedreality,AR)图像)的任何类型的设备。
(数字)图像为或可以看作具有强度值的像素点的二维阵列或矩阵。阵列中的像素点也可以称为像素(pixel或pel)(图像元素的简称)。阵列或图像在水平和垂直方向(或轴线) 上的像素点数量定义了图像的大小和/或分辨率。通常采用三种颜色分量来表示颜色,即该图像可表示为三个像素点阵列或包括三个像素点阵列。在RGB格式或颜色空间中,图像包括对应的红色、绿色和蓝色像素点阵列。然而,在视频译码中,每个像素通常由亮度/色度格式或在颜色空间中表示,例如,YCbCr,包括Y表示的亮度分量(有时也用L指示)和Cb和Cr表示的两个色度分量。亮度(或简称luma)分量Y表示亮度或灰度级强度(例如,在灰度图像中),而两个色度(或简称chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr 格式的图像包括亮度像素点值(Y)的亮度像素点阵列和色度值(Cb和Cr)的两个色度像素点阵列。RGB格式的图像可以转换或变换为YCbCr格式,反之亦然,该过程也称为颜色变换或转换。如果图像是单色的,则该图像可以仅包括亮度像素点阵列。
图像源16(例如,视频源16)可以是用于捕获图像的摄像机、包括或存储先前捕获或生成的图像的存储器(例如,图像存储器),和/或用于获取或接收图像的任何类型的(内部或外部)接口等。例如,所述摄像机可以是集成在源设备中的本地或集成摄像机,所述存储器可以是例如集成在源设备中的本地或集成存储器。例如,所述接口可以是从外部视频源接收图像的外部接口,其中,所述外部视频源如摄像机等外部图像捕获设备、外部存储器,或外部计算机图形处理器、计算机或服务器等外部图像生成设备。所述接口可以是根据任何专有或标准化接口协议的任何类型的接口,例如有线或无线接口、光接口。用于获取图像数据17 的接口可以是与通信接口22相同的接口,或作为通信接口22的一部分。
区别于预处理单元18和预处理单元18执行的处理,图像或图像数据17(例如,视频数据16)也可以称为原始图像或原始图像数据17。
预处理单元18用于接收(原始)图像数据17,对图像数据17进行预处理,以获得经预处理的图像19或经预处理的图像数据19。预处理单元18执行的预处理可以包括修剪(trimming)、颜色格式转换(例如,从RGB转换为YCbCr)、颜色校正或去噪等。可以理解的是,预处理单元18可以是可选组件。
编码器20(例如,视频编码器20)用于接收经预处理的图像数据19并提供编码后的图像数据21(下文将根据图2等进一步描述细节)。
源设备12的通信接口22可以用于接收编码后的图像数据21,并将其传输到其它设备(例如,目的设备14或用于存储或直接重建的任何其它设备);或分别在存储编码数据13和/或将编码数据13传输到其它设备(例如,目的设备14或用于解码或存储的任何其它设备)之前处理编码后的图像数据21。
目的设备14包括解码器30(例如,视频解码器30),并且可以另外(即,可选地)包括通信接口或通信单元28、后处理单元32和显示设备34。
目的设备14的通信接口28用于接收编码后的图像数据21或编码数据13,例如,直接从源设备12或任何其它源(例如,编码后的图像数据存储设备等存储设备)接收。
通信接口22和通信接口28可以用于通过源设备12与目的设备14之间的直接通信链路 (例如,直接有线或无线连接),或通过任何类型的网络(例如,有线或无线网络或其任意组合,或任何类型的专用和公共网络),或其任意组合发送或接收编码后的图像数据21或编码数据13。
例如,通信接口22可以用于将编码后的图像数据21打包为合适的格式(例如,数据包),用于通过通信链路或通信网络传输。
形成通信接口22的对应部分的通信接口28可以用于对编码数据13进行解包以获得编码后的图像数据21等。
通信接口22和通信接口28均可配置为单向通信接口(如图1中从源设备12指向目的设备14的编码后的图像数据13的箭头所指示),或双向通信接口,并可用于发送和接收消息等,例如,建立连接,确认和交换与通信链路和/或数据传输(例如,编码后的图像数据传输)相关的任何其它信息。
解码器30用于接收编码后的图像数据21并提供解码后的图像数据31或解码后的图像 31(下面将根据图3等进一步描述细节)。
目的设备14的后处理器32用于对解码后的图像数据31(也称为经重建的图像数据)(例如,解码图像31)进行后处理,以获得经后处理的图像数据33(例如,后处理图像33)。后处理单元32执行的后处理可以包括例如颜色格式转换(例如,从YCbCr转换为RGB)、颜色校正、修剪或重采样,或任何其它处理,例如,用于准备解码后的图像数据31以供显示设备34等显示。
目的设备14的显示设备34用于接收经后处理的图像数据33,以向用户或观看者等显示图像。显示设备34可以是或包括用于显示重建图像的任何类型的显示器,例如,集成或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystal display,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微型LED 显示器、硅基液晶显示器(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor, DLP)或任何类型的其它显示器。
尽管图1将源设备12和目的设备14作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备12或对应功能以及目的设备14或对应功能。在这类实施例中,源设备12或对应功能以及目的设备14或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任何组合来实现。
根据描述,技术人员显而易见的是,图1所示的源设备12和/或目的设备14中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而不同。
编码器20(例如,视频编码器20)和解码器30(例如,视频解码器30)可以各自实现为各种合适电路中的任一种,如一个或多个微处理器、数字信号处理器(digital signalprocessor, DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列 (field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果技术部分地以软件形式实现,则设备可以将软件的指令存储在合适的非瞬时性计算机可读介质中,并且可以使用一个或多个处理器执行硬件中的指令,以执行本发明的技术。上述任一种电路(包括硬件、软件、硬件和软件的组合等)可以被认为是一个或多个处理器。视频编码器20和视频解码器30可以各自包括在一个或多个编码器或解码器中,其中任一者可以作为组合的编码器 /解码器(编解码器)的一部分集成在相应设备中。
图2示出了用于实现本申请技术的示例性视频编码器20的示意性/概念性框图。在图2 的示例中,视频编码器20包括残差计算单元204、变换处理单元206、量化单元208、反量化单元210和逆变换处理单元212、重建单元214、缓冲器216、环路滤波器单元220、解码图像缓冲器(decoded picture buffer,DPB)230、预测处理单元260和熵编码单元270。预测处理单元260可以包括帧间预测单元244、帧内预测单元254和模式选择单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。图2所示的视频编码器20也可以称为混合视频编码器或根据混合视频编解码器的视频编码器。
例如,残差计算单元204、变换处理单元206、量化单元208、预测处理单元260和熵编码单元270形成编码器20的正向信号路径,而反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器(decoded picture buffer,DPB)230、预测处理单元260形成编码器的反向信号路径。编码器的反向信号路径与解码器(参见图3 中的解码器30)的信号路径对应。
编码器20用于通过输入端202等接收图像201或图像201(例如,形成视频或视频序列的图像序列的图像)的块203。图像块203也可以称为当前图像块或待译码图像块,图像201 也可以称为当前图像或待译码图像(特别是在视频译码中,以便将当前图像与其它图像(例如,同一视频序列(即,也包括当前图像的视频序列)的先前编码和/或解码的图像)区分开)。
预测处理单元260(也称为块预测处理单元260)用于:接收或获取块203(当前图像201 的当前块203)和重建的图像数据,例如,来自缓冲器216的相同(当前)图像的参考像素点和/或来自解码图像缓冲器230的一个或多个先前解码图像的参考图像数据231,并处理此类数据以进行预测,即提供预测块265,其中,所述预测块265可以是帧间预测块245或帧内预测块255。
模式选择单元262可用于选择预测模式(例如,帧内预测或帧间预测模式)和/或对应的预测块245或255用作预测块265,以用于计算残差块205和重建重建块215。
模式选择单元262的实施例可用于选择预测模式(例如,从预测处理单元260支持的预测模式中选择),所述预测模式提供最佳匹配或最小残差(最小残差指发送或存储过程中更好的压缩),或提供最小指示(signaling)开销(最小指示开销指发送或存储过程中更好的压缩),或者同时考虑或平衡以上两者。模式选择单元262可用于根据率失真优化(ratedistortion optimization,RDO)确定预测模式,即选择提供最小率失真优化的预测模式,或者选择至少满足预测模式选择标准的关联率失真的预测模式。
帧内预测单元254还用于根据帧内预测参数(例如,所选帧内预测模式)确定帧内预测块255。在任何情况下,在对块选择帧内预测模式之后,帧内预测单元254还用于向熵编码单元270提供帧内预测参数,即指示块的所选帧内预测模式的信息。在一个示例中,帧内预测单元254可用于执行下文描述的帧内预测技术的任何组合。
图3为用于实现本申请技术的示例性视频解码器30。视频解码器30用于接收例如由编码器100编码的编码后的图像数据(例如,编码后的码流)21,以获得解码图像131。在解码过程中,视频解码器30从视频编码器100接收视频数据,例如表示编码后的视频条带(slice) 的图像块的编码后的视频码流以及相关的语法元素。
在图3的示例中,解码器30包括熵解码单元304、反量化单元310、逆变换处理单元312、重建单元314(例如,求和器314)、缓冲器316、环路滤波器320、解码图像缓冲器330和预测处理单元360。预测处理单元360可以包括帧间预测单元344、帧内预测单元354和模式选择单元362。在一些示例中,视频解码器30可执行通常与针对图2的视频编码器100描述的编码过程相反的解码过程。
熵解码单元304用于对编码后的图像数据21执行熵解码,以获得量化系数309和/或解码后的译码参数(图3中未示出)等,例如帧间预测参数、帧内预测参数、环路滤波器参数和/或其它语法元素中的(解码的)任一者或全部。熵解码单元304还用于将帧间预测参数、帧内预测参数和/或其它语法元素转发给预测处理单元360。视频解码器30可以接收视频条带级和/或视频块级的语法元素。
反量化单元310的功能可以与反量化单元110的功能相同;逆变换处理单元312的功能可以与逆变换处理单元112的功能相同;重建单元314的功能可以与重建单元114的功能相同;缓冲器316的功能可以与缓冲器116的功能相同;环路滤波器320的功能可以与环路滤波器120的功能相同;解码图像缓冲器330的功能可以与解码图像缓冲器130的功能相同。
预测处理单元360可以包括帧间预测单元344和帧内预测单元354,其中,帧间预测单元344的功能可以与帧间预测单元144的功能类似,帧内预测单元354的功能可以与帧内预测单元154的功能类似。预测处理单元360通常用于根据编码数据21进行块预测和/或获得预测块365,并用于从熵解码单元304等接收或获得(显式或隐式地)预测相关参数和/或关于所选预测模式的信息。
当将视频条带译码为帧内译码(I)条带时,预测处理单元360的帧内预测单元354用于根据指示的帧内预测模式和来自当前帧或图像的先前解码块的数据生成当前视频条带的图像块的预测块365。当将视频帧译码为帧间译码(即,B或P)条带时,预测处理单元360的帧间预测单元344(例如,运动补偿单元)用于根据运动矢量和从熵解码单元304接收的其它语法元素产生当前视频条带的视频块的预测块365。对于帧间预测,可从其中一个参考图像列表中的其中一个参考图像产生这些预测块。视频解码器30可以根据存储在DPB 330中的参考图像,使用默认构建技术来构建参考帧列表:列表0和列表1。
预测处理单元360用于通过解析运动矢量和其它语法元素来确定当前视频条带的视频块的预测信息,并使用所述预测信息针对所解码的当前视频块生成预测块。例如,预测处理单元360使用接收到的一些语法元素确定用于对视频条带的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测条带类型(例如,B条带、P条带或GPB条带)、条带的一个或多个参考图像列表的构建信息、条带的每个帧间编码视频块的运动矢量、条带的每个帧间译码视频块的帧间预测状态,以及其它信息,以对当前视频条带中的视频块进行解码。
反量化单元310用于对码流中提供并由熵解码单元304解码的量化变换系数进行反量化,即解量化。反量化过程可以包括使用视频编码器100针对视频条带中的每个视频块计算的量化参数来确定量化程度,同样地确定需要应用的反量化的程度。
逆变换处理单元312用于对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以在像素域中产生残差块。
重建单元314(例如,求和器314)用于通过例如将重建残差块313的像素点值和预测块 365的像素点值相加,将逆变换块313(即重建残差块313)添加到预测块365,以在像素点域中获得重建块315。
环路滤波单元320(在译码环路中或译码环路之后)用于对重建块315进行滤波,以获得滤波块321,以平滑像素转变或以其它方式提高视频质量等。在一个示例中,环路滤波器单元320可用于执行下文描述的滤波技术的任何组合。环路滤波单元320用于表示一个或多个环路滤波器,如去块效应滤波器、像素点自适应偏移(sample-adaptive offset,SAO)滤波器或其它滤波器,例如双边滤波器或自适应环路滤波器(adaptive loop filter,ALF)或锐化或平滑滤波器或协作滤波器。虽然环路滤波单元320在图3中示为环内滤波器,但是在其它配置中,环路滤波单元320可以实现为后环路滤波器。
然后,将给定帧或图像中的解码视频块321存储在解码图像缓冲器330中,所述解码图像缓冲器330存储用于后续运动补偿的参考图像。
解码器30用于通过输出端332等输出解码图像331,向用户呈现或供用户观看。
可以使用其它形式的视频解码器30对压缩码流进行解码。例如,解码器30可以在没有环路滤波单元320的情况下产生输出视频流。例如,基于非变换的解码器30可以在没有逆变换处理单元312的情况下直接反量化某些块或帧的残差信号。在另一种实现方式中,视频解码器30可以具有组合成单个单元的反量化单元310和逆变换处理单元312。
根据HEVC/H.265标准,有35种可用的帧内预测模式。如图4所示,该集合包含以下模式:平面模式(帧内预测模式索引为0)、DC模式(帧内预测模式索引为1),以及覆盖180°范围且帧内预测模式索引值范围为2至34(如图4中的黑色箭头所示)的方向(角度)模式。为了捕获自然视频中存在的任意边缘方向,HEVC中使用的方向帧内模式的数量从33种扩展到65种。其它方向模式在图4中被描绘为虚线箭头,平面模式和DC模式保持不变。值得注意的是,帧内预测模式覆盖的范围可以宽于180°。具体地,索引值为3至64的62种方向模式覆盖了约230°的范围,即,若干对模式具有相反的方向性。如图4所示,在HEVC参考模型(HEVCReference Model,HM)和JEM平台的情况下,只有一对角度模式(即,模式2 和66)具有相反的方向性。为了构建预测器,传统的角度模式通过获取参考像素点并(视需要)对它们进行滤波来获得像素点预测值。构建预测器所需参考像素点的数量取决于用于插值的滤波器的长度(例如,双线性滤波器和立方滤波器的长度分别为2和4)。
通用测试模型(Versatile Test Model,VTM)使用35种帧内模式,而基准集(Benchmark Set,BMS)使用67种帧内模式。为了对67种帧内模式进行译码,BMS中的当前帧内模式译码方案使用以下方法:
为了适应BMS中越来越多的方向帧内模式,使用了6种最可能模式(Most ProbableMode,MPM)的帧内模式译码方法。涉及以下两个主要技术方面:
(1)6种MPM的推导;
(2)6种MPM和非MPM模式的熵译码。
在BMS中,包括在MPM列表中的模式分为三类:相邻帧内模式、推导帧内模式和默认帧内模式。
使用五种相邻帧内预测模式来形成MPM列表。如图5所示,5个邻块的位置与融合(merge) 模式中使用的位置相同,即,左(L)、上(A)、左下(BL)、右上(AR)和左上(AL)。初始MPM列表是通过将5种相邻帧内模式、平面模式和DC模式插入到MPM列表中形成的。修剪(pruning)过程用于删除复制模式,使得只有唯一的模式包括在MPM列表中。包括初始模式的顺序为左、上、平面、DC、左下、右上和左上。
如果MPM列表未满(即,列表中的候选MPM少于6个),则添加推导模式,通过将–1 或+1添加到已包括在MPM列表中的角度模式来获得这些帧内模式。推导不适用于非角度模式,即DC或平面模式。
最后,如果MPM列表仍然不完整,则按以下顺序添加默认模式:垂直、水平、帧内模式2和对角模式。通过该过程生成了6种MPM模式的唯一列表。
为了对6种MPM进行熵译码,对MPM进行截断一元二值化(truncated unarybinarization)。前三个位元使用上下文进行译码,所述上下文取决于与当前所指示的位元相关的MPM模式。 MPM模式分为以下三类:(a)该模式是属于水平(MPM模式小于或等于对角线方向)类别;还是(b)垂直(MPM模式大于对角线方向)类别;还是(c)非角度(DC和平面)类别。相应地,三个上下文用来指示MPM索引。
按如下方式对其余61种非MPM进行译码。首先将61种非MPM分为两个集合:所选模式集合和非所选模式集合。所选模式集合包含16种模式,其余(45种模式)分配给非所选模式集合。当前模式所属的模式集合在码流中用标志来表示。然后,使用4位固定长度码指示来自所选集合的模式,使用截断二进制码对来自非所选集合的模式进行译码。所选模式集合是通过对总共61种非MPM进行子采样而生成,其索引如下:
所选模式集合={0,4,8,12,16,20…60}
非所选模式集合={1,2,3,5,6,7,9,10…59}
不同帧内模式指示机制的概述如表1所示。
表1:BMS中当前LUMA帧内模式指示
Figure GDA0003285948350000111
Figure GDA0003285948350000121
在另一个示例中,使用具有3种最可能模式(Most Probable Mode,MPM)的帧内模式译码方法。在一个示例中,语法元素intra_luma_mpm_flag[x0][y0]、intra_luma_mpm_idx[x0][y0] 和intra_luma_mpm_remainder[x0][y0]表示亮度像素点的帧内预测模式。阵列索引x0,y0表示所考虑预测块的左上亮度像素点相对于图像的左上亮度像素点的位置(x0,y0)。当 intra_luma_mpm_flag[x0][y0]等于1时,从相邻帧内预测的预测单元推断帧内预测模式。
通过以下顺序步骤推导当前块的帧内预测(IntraPredModeY[xPb][yPb]):
相邻位置(xNbA,yNbA)和(xNbB,yNbB)分别设置为(xPb–1,yPb)和(xPb,yPb–1)。
由于将X替换为A或B,因此变量candIntraPredModeX推导如下:
调用块的可用性推导过程,其中,将设置为(xPb,yPb)的位置(xCurr,yCurr)和设置为(xNbX,yNbX)的相邻位置(xNbY,yNbY)作为输入,并将输出分配给availableX。
候选帧内预测模式candIntraPredModeX推导如下:
如果满足以下一个或多个条件,则candIntraPredModeX设置为INTRA_DC:
变量availableX等于FALSE。
CuPredMode[xNbX][yNbX]不等于MODE_INTRA。
X等于B,且yPb–1小于((yPb>>CtbLog2SizeY)<<CtbLog2SizeY)。
否则,candIntraPredModeX设置为IntraPredModeY[xNbX][yNbX]。
candModeList[x](其中,x=0……2)推导如下:
如果candIntraPredModeB等于candIntraPredModeA,则以下适用:
如果candIntraPredModeA小于2(即,等于INTRA_PLANAR或INTRA_DC),则candModeList[x](其中,x=0……2)推导如下:
candModeList[0]=INTRA_PLANAR
candModeList[1]=INTRA_DC
candModeList[2]=INTRA_ANGULAR50
否则,candModeList[x](其中,x=0……2)推导如下:
candModeList[0]=candIntraPredModeA
candModeList[1]=2+((candIntraPredModeA+61)%64)
candModeList[2]=2+((candIntraPredModeA–1)%64)
否则(candIntraPredModeB不等于candIntraPredModeA),则以下适用:
candModeList[0]和candModeList[1]推导如下:
candModeList[0]=candIntraPredModeA
candModeList[1]=candIntraPredModeB
如果candModeList[0]和candModeList[1]都不等于INTRA_PLANAR,则candModeList[2] 设置为INTRA_PLANAR。
否则,如果candModeList[0]和candModeList[1]都不等于INTRA_DC,则candModeList[2] 设置为INTRA_DC,
否则,candModeList[2]设置为INTRA_ANGULAR50。
IntraPredModeY[xPb][yPb]通过以下过程推导:
如果intra_luma_mpm_flag[xPb][yPb]等于1,则IntraPredModeY[xPb][yPb]设置为 candModeList[intra_luma_mpm_idx[xPb][yPb]]。
否则,IntraPredModeY[xPb][yPb]通过以下顺序步骤推导:
阵列candModeList[x](其中,x=0……2)通过以下顺序步骤修改:
当candModeList[0]大于candModeList[1]时,两个值交换如下:
(candModeList[0],candModeList[1])=Swap(candModeList[0],candModeList[1])
当candModeList[0]大于candModeList[2]时,两个值交换如下:
(candModeList[0],candModeList[2])=Swap(candModeList[0],candModeList[2])
当candModeList[1]大于candModeList[2]时,两个值交换如下:
(candModeList[1],candModeList[2])=Swap(candModeList[1],candModeList[2]) (8-11)
IntraPredModeY[xPb][yPb]通过以下顺序步骤推导:
IntraPredModeY[xPb][yPb]设置为intra_luma_mpm_remainder[xPb][yPb]。
由于i等于0到2(包括端值),因此当IntraPredModeY[xPb][yPb]大于或等于candModeList[i]时,IntraPredModeY[xPb][yPb]的值增加1。
在本申请的一个实现方式中,帧与图像相同。
在本发明的一个方面中,公开了一种用于构造最可能模式(Most Probable Mode,MPM) 列表的方法,所述方法包括:
确定当前译码块的左块是否可用,如果所述当前译码块的左块可用,则将所述左块的帧内预测模式添加到MPM列表中;
确定当前译码块的上块是否可用,如果所述当前译码块的上块可用,则将所述上块的帧内预测模式添加到MPM列表中;
如果平面模式不包括在MPM列表中,则将所述平面模式添加到MPM列表中;
如果DC模式不包括在MPM列表中,则将所述DC模式添加到MPM列表中。
在本申请的一种实现方式中,如果当前译码块的上块可用且上块的帧内预测模式不包括在MPM列表中,则将上块的帧内预测模式添加到MPM列表中。
在本申请的一种实现方式中,如果当前译码块的上块可用且上块的帧内预测模式包括在 MPM列表中时,则执行的“添加”或者说“添加”过程的结果不会改变MPM列表。
在本申请的一种实现方式中,当左块的预测模式不是帧内预测模式时,当前译码块的左块不可用。
在本申请的一种实现方式中,当当前译码块是位于帧的最左侧的译码块时,当前译码块的左块不可用。
在本申请的一种实现方式中,当支持并行处理且当前译码块是位于分块(tile)的最左侧的译码块时,当前译码块的左块不可用。
在本申请的一种实现方式中,当不支持并行处理且当前译码块是位于分块的最左侧但不在帧的最左侧的译码块时,当前译码块的左块不可用。
在本申请的一种实现方式中,当支持并行处理且当前译码块是位于条带的最左侧的译码块时,当前译码块的左块不可用。
在本申请的一种实现方式中,当不支持并行处理且当前译码块是位于条带的最左侧但不在帧的最左侧的译码块时,当前译码块的左块不可用。
在本申请的一种实现方式中,当上块的预测模式不是帧内预测模式时,当前译码块的上块不可用。
在本申请的一种实现方式中,当当前译码块是位于帧的最顶部的译码块时,当前译码块的上块不可用。
在本申请的一种实现方式中,当支持并行处理且当前译码块是位于分块的最顶部的译码块时,当前译码块的上块不可用。
在本申请的一种实现方式中,当不支持并行处理且当前译码块是位于分块的最顶部但不在帧的最顶部的译码块时,当前译码块的上块不可用。
在本申请的一种实现方式中,当支持并行处理且当前译码块是位于条带的最顶部的译码块时,当前译码块的上块不可用。
在本申请的一种实现方式中,当不支持并行处理且当前译码块是位于条带的最顶部但不在帧的最顶部的译码块时,当前译码块的上块不可用。
在本申请的一种实现方式中,当行缓冲器尺寸受限且当前译码块是位于当前CTU的最顶部的译码块时,当前译码块的上块不可用。
在本申请的一种实现方式中,当当前译码块是不位于帧的最左侧的译码块时,当前译码块的左块可用。
在本申请的一种实现方式中,当当前译码块是不位于帧的最顶部的译码块时,当前译码块的上块可用。
在本申请的一种实现方式中,所述方法还包括:如果MPM列表中的帧内预测模式的数量小于阈值,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)(作为第一帧内预测模式)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)添加到MPM列表中。
在本申请的一种实现方式中,所述方法还包括:候选角度模式列表,所述候选角度模式列表包括:添加到MPM列表中的垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式 2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX);所述方法还包括:根据它们在列表中的顺序迭代地确定列表的角度模式是否在MPM列表中,如果相应的角度模式不在 MPM列表中,则将相应的角度模式添加到MPM列表中。
在本申请的一种实现方式中,MPM列表的构建开始于根据空MPM列表等确定当前译码块的左块是否可用的步骤。
在本申请的一种实现方式中,所述方法还包括:如果当前译码块的左块不可用且大体左方向上的另一块可用(例如,图5中的BL或AL),则将另一块的帧内预测模式插入到MPM 列表中,如果左块可用,则不将另一块的帧内预测模式插入到MPM列表中。
在本申请的一种实现方式中,所述方法还包括:如果当前译码块的上块不可用且大体上方向上的另一块可用(例如,图5中的AR或AL),则将另一块的帧内预测模式插入到MPM 列表中,如果上块可用,则不将另一块的帧内预测模式插入到MPM列表中。
在本申请的一种实现方式中,所述方法还包括:如果垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)不在 MPM列表中,则将它们添加到MPM列表中。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块和上块都不是角度模式,则进一步检查一个或多个其它邻块(例如,图5中的BL、AL或AR)。如果邻块(BL、AL或AR)中的任何一个是角度模式,则使用该角度模式作为–1,+1推导过程的起始角度模式,如前所述。
在本申请的一种实现方式中,与VER_IDX对应的值为50;与HOR_IDX对应的值为18;与VDIA_IDX对应的值为66,该值可以为与角度模式对应的值中的最大值;与帧内模式2对应的值2可以为与角度模式对应的值中的最小值;与DIA_IDX对应的值为34。
在本申请的一种实现方式中,如果MPM列表中的帧内预测模式的数量小于阈值,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中时,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)(作为第一帧内预测模式)、水平模式 (HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值时,则当所述帧内预测模式不包括在 MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到 MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX) 或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)(作为第一帧内预测模式)、水平模式(HOR_IDX)、与VER_IDX偏移–4对应的帧内预测模式或与VER_IDX的偏移4对应的帧内预测模式。
在本申请的一种实现方式中,与VER_IDX偏移–4对应的帧内预测模式的值是通过使用与VER_IDX对应的值加上偏移–4得到的,例如,当VER_IDX的值为50时,与VER_IDX 偏移–4的对应的帧内预测模式为帧内预测模式46,与VER_IDX偏移4对应的帧内预测模式为帧内预测模式54。其它具有偏移的示例与该示例的过程类似。
需要说明的是,当执行–1或+1或其它偏移值时,可能涉及向上叠加和向下叠加操作,例如,当帧内模式(2)的值为2(与角度模式对应的值中的最小值)时,帧内模式(2)–1将为66(向上叠加情况),或者当VDIA_IDX的值为66(与角度模式对应的值中的最大值)时,VDIA_IDX+1将为2(向下叠加情况)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与VER_IDX偏移-4对应的帧内预测模式或与VER_IDX的偏移4对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)(作为第一帧内预测模式)、水平模式(HOR_IDX)、与VER_IDX偏移4对应的帧内预测模式或与VER_IDX偏移-4对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与VER_IDX的偏移4对应的帧内预测模式或与VER_IDX偏移-4对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移1对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移4对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移+1对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移1对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)(作为第一帧内预测模式)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值;
其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-4对应的帧内预测模式和与VER_IDX的偏移4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移+1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX的偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、对角模式(DIA_IDX)或垂直对角模式(VDIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX) 或垂直对角模式(VDIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,当前译码块的左块不可用,且当前译码块的上块可用,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)(作为第一帧内预测模式)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,当前译码块的左块不可用,且当前译码块的上块可用,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、对角模式(DIA_IDX)或垂直对角模式(VDIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX) 或垂直对角模式(VDIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,当前译码块的左块不可用,且当前译码块的上块可用,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)(作为第一帧内预测模式)、水平模式(HOR_IDX)、与VER_IDX偏移-4对应的帧内预测模式或与VER_IDX偏移4对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,当前译码块的左块不可用,且当前译码块的上块可用,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与VER_IDX偏移-4对应的帧内预测模式或与VER_IDX偏移4对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的上块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与HOR_IDX偏移 -1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与HOR_IDX偏移 -4对应的帧内预测模式和HOR_IDX+偏移4;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与帧内模式2(2)对应偏移1的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与帧内模式2(2)偏移1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与HOR_IDX偏移 -1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与HOR_IDX偏移 1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与HOR_IDX偏移 -1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)(作为第一帧内预测模式)、帧内模式2(2)、与HOR_IDX偏移 1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的上块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值;
其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-4对应的帧内预测模式和HOR_IDX+偏移4;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移1对应的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值时,则当所述帧内预测模式不包括在 MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到 MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX) 或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
在本申请的一种实现方式中,可以理解的是,将帧内预测模式添加到MPM列表中就是将与帧内预测模式对应的值添加到MPM列表中。
在本申请的一种实现方式中,阈值为6。
在本申请的一种实现方式中,所述方法还包括:如果当前译码块的左块可用,且所述左块的帧内预测模式为角度模式,则将偏移添加到所述左块的预测模式,以获得新预测模式,如果所述新预测模式不在MPM列表中,则将所述新预测模式添加到MPM列表中。
在一个示例中,偏移为–1;在另一个示例中,偏移为1。在一些示例中,偏移可以为2或–2。
在本申请的一种实现方式中,所述方法还包括:如果当前译码块的上块可用且上块的帧内预测模式为角度模式,则将偏移添加到上块的预测模式,以获得上偏移预测模式,如果上偏移预测模式不在MPM列表中,则将上偏移预测模式添加到MPM列表中。
在一个示例中,偏移为–1;在另一个示例中,偏移为1。在一些示例中,偏移可以为2或–2。
在本申请的一个方面中,提供了一种编码器,包括用于执行上述方法的处理电路。
在本申请的一个方面中,提供了一种解码器,包括用于执行上述方法的处理电路。
在本申请的一个方面中,提供了一种计算机程序产品,包括用于执行上述方法的程序代码。
在本申请的一个方面中,提供了一种用于构建最可能模式(Most Probable Mode,MPM) 列表的解码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述解码器执行上述方法。
在本申请的一个方面中,提供了一种用于构建最可能模式(Most Probable Mode,MPM) 列表的编码器,包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述编码器执行上述方法。
在一个示例中,
步骤一:确定当前译码块的左块是否可用;
如果当前译码块的左块可用时,则将左块的帧内预测模式添加到MPM列表中。MPM列表可以是空列表,如果当前译码块的左块可用,则将左块的帧内预测模式添加到MPM列表中,MPM列表包括一种帧内预测模式;如果当前译码块的左块不可用,则MPM列表在步骤一之后仍为空列表。
步骤二:确定所述当前译码块的上块是否可用。
如果当前译码块的上块可用,将上块的帧内预测模式添加到MPM列表中。MPM列表可以包括左块的帧内预测模式,或仍为空列表。
如果当前译码块的上块可用且MPM列表包括左块的帧内预测模式,则进一步确定上块的帧内预测模式与左块的帧内预测模式是否相同;如果它们相同时,则步骤“将上块的帧内预测模式添加到MPM列表中”的结果不会改变MPM列表中帧内预测模式的数量,MPM列表仅包括一种帧内预测模式;如果上块的帧内预测模式与左块的帧内预测模式不同,则将上块的帧内预测模式添加到MPM列表中,MPM列表包括两种帧内预测模式。
如果当前译码块的上块可用且MPM列表仍为空列表,则将上块的帧内预测模式添加到 MPM列表中,MPM列表仅包括一种帧内预测模式。
如果当前译码块的上块不可用,且MPM列表包括左块的帧内预测模式,则MPM列表仍仅包括左块的帧内预测模式。
如果当前译码块的上块不可用且MPM列表仍为空列表,则MPM列表仍为空列表。
步骤三:如果平面模式不在MPM列表中时,则将平面模式添加到MPM列表中。
如果在步骤二之后,MPM列表不包括平面模式时,则将平面模式添加到MPM列表中。
如果左块的帧内预测模式和上块的帧内预测模式均不可用,或可用的帧内预测模式不是平面模式,则MPM列表不包括平面模式。
如果平面模式在MPM列表中时,则执行步骤四。
步骤四:如果DC模式不在MPM列表中,则将DC模式添加到MPM列表中。
如果在步骤二或步骤三之后,MPM列表不包括DC模式时,则将DC模式添加到MPM 列表中。
如果左块的帧内预测模式和上块的帧内预测模式均不可用,或可用的帧内预测模式不是 DC模式时,则MPM列表不包括DC模式。
如果DC模式在MPM列表中,则执行以下步骤或完成MPM列表构建。
在本申请的一种实现方式中,在每个步骤中,将预测模式添加到MPM列表中的过程需要确保MPM列表中没有重复的预测模式。因此,如果需要添加到MPM列表中的帧内预测模式与MPM列表中的帧内预测模式相同,则“添加”过程不会改变MPM列表,或者不执行“添加”过程。
在本申请的一种实现方式中,在步骤4之后,只有当存在角度模式时,才进行角度–1、角度+1。
在一个示例中,如果MPM列表中的帧内预测模式的数量为6,则在步骤四之后,MPM的长度有三种情况:
情况1:MPM长度为2:→L和A都不是角度模式(>DC)或不可用,MPM列表中只有平面和DC,→使用所有四种默认模式。
情况2:MPM长度为3:→L和A中其中一个是角度模式,或它们的角度模式相同。→使用一种默认模式。
情况3:MPM长度为4:→L和A都是角度模式,并且它们是不同模式,→不使用默认模式,因为将添加L–1、L+1中的至少一个。如果其中一个与上述(diff(L–A)=1)重复,则进一步插入A–1和A+1中的至少一个。
在本申请的一种实现方式中,所述方法还包括:如果当前译码块的左块可用,且左块的帧内预测模式为角度模式,则将偏移添加到左块的预测模式,以获得新预测模式,如果新预测模式不在MPM列表中,则将新预测模式添加到MPM列表中。
在另一个示例中,MPM列表包括六种帧内预测模式,因为上述四个步骤最多只能获得四种帧内预测模式。所述方法还包括:
步骤五:如果当前译码块的左块可用,且左块的帧内预测模式为角度模式,则将偏移添加到左块的预测模式,以获得新预测模式,如果新预测模式不在MPM列表中,则将新预测模式添加到MPM列表中。
例如,如果当前译码块的左块为角度模式27(与该角度帧内预测模式对应的值为27), MPM列表在经过上述四个步骤之后为(27,15,0,1)。将偏移添加到左块的预测模式,以获得新预测模式,如果新预测模式不在MPM列表中,则将新预测模式添加到MPM列表中。在一个示例中,偏移为–1,因此,新预测模式为26,更新后的MPM列表为(27,15,0,1,26)。在另一个示例中,偏移为1,则新预测模式为28,更新后的MPM列表为(27,15,0,1,28)。在另一个示例中,步骤五可以将两个偏移添加到左块的帧内预测模式:先添加–1,然后添加1,或先添加1,然后添加–1,因此更新后的MPM列表可以是(27,15,0,1,26,28)或(27,15,0,1,28, 26)。
在步骤五之后,检查MPM列表是否已满(如果MPM列表中的帧内预测模式的数量等于阈值,例如阈值为6,则MPM列表已满。如果MPM列表中的帧内预测模式的数量小于阈值,则MPM列表未满)。如果MPM列表已满,则完成MPM列表构建;如果MPM列表未满,则继续执行以下步骤。
如果当前译码块的左块不可用,则不执行步骤五,执行以下步骤。
需要说明的是,当将偏移(例如,–1或+1)添加到角度预测模式时,可能涉及向上叠加和向下叠加操作,例如,如果角度预测模式angularLeft为2,则angularLeft–1为66(向上叠加情况),或者如果angularLeft为66,则angularLeft+1为2(向下叠加情况)。
在本申请的一种实现方式中,所述方法还包括:如果当前译码块的上块可用且上块的帧内预测模式为角度模式,则将偏移添加到上块的预测模式,以获得上偏移预测模式,如果上偏移预测模式不在MPM列表中,则将上偏移预测模式添加到MPM列表中。
在一个示例中,所述方法还包括:
步骤六:如果当前译码块的上块可用且上块的帧内预测模式为角度模式,则将偏移添加到上块的预测模式,以获得上偏移预测模式,如果上偏移预测模式不在MPM列表中,则将新预测模式添加到MPM列表中。
例如,如果当前译码块的上块为角度模式26(与该角度帧内预测模式对应的值为26),则MPM列表在经过上述五个步骤之后为(27,26,0,1,28)。将偏移添加到左块的预测模式,以获得上偏移预测模式,如果上偏移预测模式不在MPM列表中,则将该上偏移预测模式添加到MPM列表中。在一个示例中,偏移为–1,因此上述偏移预测模式为25,更新后的MPM 列表为(27,26,0,1,28,25)。在另一个示例中,偏移为1,因此上述偏移预测模式为27,并且由于已插入模式27,因此上述偏移模式27的插入被阻止。在另一个示例中,如果MPM列表在添加一个偏移之后仍未满,则步骤六可以将两个偏移添加到上块的帧内预测模式:先添加–1,然后添加1,或者先添加1,然后添加–1。
如果当前译码块的上块不可用,则不执行步骤六,执行以下步骤。在步骤六之后,检查 MPM列表是否已满(MPM列表中帧内预测模式的数量等于6)。如果MPM列表已满,完成MPM列表构建;如果MPM列表未满(MPM列表中帧内预测模式的数量小于6),执行以下步骤。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中帧内预测模式的数量小于阈值(例如,阈值为6),则使用默认列表构建所述MPM列表。
在一个示例中,如果MPM列表中帧内预测模式的数量小于阈值,则默认列表包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX) 或对角模式(DIA_IDX)。
在一个示例中,如果MPM列表中帧内预测模式的数量小于阈值,则默认列表包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移–4或VER_IDX+偏移4。
在一个示例中,如果MPM列表中帧内预测模式的数量小于阈值,则默认列表包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移4或VER_IDX+偏移–4。
在一个示例中,如果当前译码块的左块不可用且MPM列表中帧内预测模式的数量小于阈值,则默认列表包括:
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2);或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VER_IDX+偏移–1和VER_IDX+ 偏移1;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VER_IDX+偏移–4和VER_IDX+ 偏移4;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VDIA_IDX+偏移–4和VER_IDX+ 偏移–1;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VDIA_IDX+偏移–4和VER_IDX+ 偏移+1;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VDIA_IDX+偏移–1和VER_IDX+ 偏移–1;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VDIA_IDX+偏移–1和VER_IDX+ 偏移1;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VER_IDX+偏移–1和VDIA_IDX+ 偏移4;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VER_IDX+偏移1和VDIA_IDX+ 偏移4;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VER_IDX+偏移–1和VDIA_IDX+ 偏移–1;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、VER_IDX+偏移1和VDIA_IDX+ 偏移–1。
在一个示例中,如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,则默认列表包括:
水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX)或垂直对角模式 (VDIA_IDX)。
在一个示例中,如果MPM列表中的帧内预测模式的数量小于阈值,当前译码块的左块不可用,且当前译码块的上块可用,则默认列表包括:
垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX) 或对角模式(DIA_IDX);或
垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移–4或VER_IDX+偏移4;或
垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移4或VER_IDX+偏移–4。
在一个示例中,如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,则默认列表包括:
水平模式(HOR_IDX)、帧内模式2(2)、HOR_IDX+偏移–1和HOR_IDX+偏移1;或
水平模式(HOR_IDX)、帧内模式2(2)、HOR_IDX+偏移–4和HOR_IDX+偏移4;或
水平模式(HOR_IDX)、帧内模式2(2)、帧内模式2(2)+偏移4和HOR_IDX+偏移–1;或
水平模式(HOR_IDX)、帧内模式2(2)、帧内模式2(2)+偏移4和HOR_IDX+偏移1;或
水平模式(HOR_IDX)、帧内模式2(2)、帧内模式2(2)+偏移1和HOR_IDX+偏移–1;或
水平模式(HOR_IDX)、帧内模式2(2)、帧内模式2(2)+偏移1和HOR_IDX+偏移1;或
水平模式(HOR_IDX)、帧内模式2(2)、HOR_IDX+偏移–1和帧内模式2(2)+偏移4;或
水平模式(HOR_IDX)、帧内模式2(2)、HOR_IDX+偏移1和帧内模式2(2)+偏移4;或
水平模式(HOR_IDX)、帧内模式2(2)、HOR_IDX+偏移–1和帧内模式2(2)+偏移1;或
水平模式(HOR_IDX)、帧内模式2(2)、HOR_IDX+偏移1和帧内模式2(2)+偏移1。
在本申请的一种实现方式中,当当前译码块的左块不可用时,当前译码块的上块可以可用或不可用。
在本申请的一种实现方式中,当当前译码块的上块不可用时,当前译码块的左块可以可用或不可用。
在本申请的一种实现方式中,所述方法还包括:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)添加到MPM列表中。
在本申请的一种实现方式中,所述方法还包括:如果MPM列表中的帧内预测模式的数量小于阈值,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:如果MPM列表中的帧内预测模式的数量小于阈值时,则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在一个示例中,在步骤六之后,如果MPM列表仍未满,则将默认模式列表中的帧内预测模式按顺序添加到MPM列表中,如果该模式或这些模式不在MPM列表中,则迭代地重复该步骤,直到MPM列表已满。
步骤七:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)添加到MPM列表中。
例如,如果垂直模式不在MPM列表中,且MPM列表未满,则将垂直模式添加到MPM 列表中,如果添加垂直模式后MPM列表已满,则完成MPM列表构建。
如果在添加垂直模式后,MPM列表仍未满,则检查水平模式是否在MPM列表中。如果水平模式在MPM列表中,则进一步检查帧内模式2是否在MPM列表中;如果水平模式不在MPM列表中,则将水平模式添加到MPM列表中。重复执行该步骤,直到MPM列表已满。
在本申请的一种实现方式中,在步骤七中,使用默认模式列表,每次向MPM列表中插入默认模式时,应确保没有插入重复模式。如果插入成功,则再进行一次检查,检测MPM是否已满。如果是,则MPM构建过程终止;否则,以指定顺序继续插入其它默认模式。
在本申请的一种实现方式中,所述方法还包括:如果当前译码块的左块不可用且MPM 列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
在本申请的一种实现方式中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
在一个示例中,在步骤六之后,如果MPM列表仍未满且当前译码块的左块不可用,则将默认模式列表中的帧内预测模式按顺序添加到MPM列表中,如果该模式或这些模式不在 MPM列表中,则迭代地重复该步骤,直到MPM列表已满。
步骤七:将垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)添加到MPM列表中。
例如,如果垂直模式不在MPM列表中,且MPM列表未满,则将垂直模式添加到MPM 列表中,如果添加垂直模式后MPM列表已满,则完成MPM列表构建。
如果在添加垂直模式后,MPM列表仍未满,则检查垂直对角模式是否在MPM列表中。如果垂直对角模式在MPM列表中,则进一步检查对角模式是否在MPM列表中;如果对角模式不在MPM列表中,则将对角模式添加到MPM列表中。迭代地重复执行该步骤,直到 MPM列表已满。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX) 或垂直对角模式(VDIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,且当前译码块的上块不可用,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX) 或垂直对角模式(VDIA_IDX)。
在一个示例中,在步骤六之后,如果MPM列表仍未满且当前译码块的上块不可用,则将默认模式列表中的帧内预测模式按顺序添加到MPM列表中,如果该模式或这些模式不在 MPM列表中,则迭代地重复该步骤,直到MPM列表已满。
步骤七:将水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX)或垂直对角模式(VDIA_IDX)添加到MPM列表中。
例如,如果水平模式不在MPM列表中,且MPM列表未满,则将水平模式添加到MPM 列表中,如果添加水平模式后MPM列表已满,则完成MPM列表构建。
如果在添加水平模式后,MPM列表仍未满,则检查帧内模式2是否在MPM列表中。如果帧内模式2在MPM列表中,则进一步检查对角模式是否在MPM列表中;如果对角模式不在MPM列表中,则将对角模式添加到MPM列表中。迭代地重复执行该步骤,直到MPM 列表已满。
在本申请的一种实现方式中,所述方法还包括:如果MPM列表中的帧内预测模式的数量小于阈值,当前译码块的左块不可用,且当前译码块的上块可用,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在本申请的一种实现方式中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,当前译码块的左块不可用,且当前译码块的上块可用,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
在一个示例中,在步骤六之后,如果MPM列表仍未满,当前译码块的左块可用且当前译码块的上块也可用,则将默认模式列表中的帧内预测模式添加到MPM列表中,如果该模式或这些模式不在MPM列表中,则迭代地重复该步骤,直到MPM列表已满。
步骤七:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)添加到MPM列表中。
例如,如果垂直模式不在MPM列表中,且MPM列表未满,则将垂直模式添加到MPM 列表中,如果添加垂直模式后MPM列表已满,则完成MPM列表构建。
如果在添加垂直模式后,MPM列表仍未满,则检查水平模式是否在MPM列表中。如果水平模式在MPM列表中,则进一步检查帧内模式2是否在MPM列表中;如果帧内模式2 不在MPM列表中,则将帧内模式2添加到MPM列表中。重复执行该步骤,直到MPM列表已满。
在本申请的一种实现方式中,所述方法还包括:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移–4或VER_IDX+偏移4添加到MPM列表中。
在本申请的一种实现方式中,所述方法还包括:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移4或VER_IDX+偏移–4添加到MPM列表中。
在一个示例中,在步骤六之后,如果MPM列表仍未满,则将默认模式列表中的帧内预测模式添加到MPM列表中,如果该模式或这些模式不在MPM列表中,则迭代地重复该步骤,直到MPM列表已满。
步骤七:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移–4或VER_IDX+偏移4添加到MPM列表中;或垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+ 偏移4或VER_IDX+偏移–4到MPM列表中。
例如,如果垂直模式不在MPM列表中,且MPM列表未满,则将垂直模式添加到MPM 列表中,如果添加垂直模式后MPM列表已满,则完成MPM列表构建。
如果在添加垂直模式后,MPM列表仍未满,则检查水平模式是否在MPM列表中。如果水平模式在MPM列表中,则进一步检查值等于VER_IDX+偏移–4的预测模式是否在MPM 列表中;如果值等于VER_IDX+偏移–4的预测模式不在MPM列表中,则将值等于VER_IDX+ 偏移–4的预测模式添加到MPM列表中。重复执行该步骤,直到MPM列表已满。
在一个示例中,在步骤六之后,如果MPM列表仍未满且当前译码块的左块不可用,则将默认模式列表中的帧内预测模式添加到MPM列表中,如果该模式或这些模式不在MPM列表中,则则迭代地重复该步骤,直到MPM列表已满。
步骤七:将垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)添加到MPM列表中。
例如,如果垂直模式不在MPM列表中,且MPM列表未满,则将垂直模式添加到MPM 列表中,如果添加垂直模式后MPM列表已满,则完成MPM列表构建。
如果在添加垂直模式后,MPM列表仍未满,则检查垂直对角模式是否在MPM列表中。如果垂直对角模式在MPM列表中,则进一步检查对角模式是否在MPM列表中;如果对角模式不在MPM列表中,则将对角模式添加到MPM列表中。重复执行该步骤,直到MPM列表已满。
在一个示例中,在步骤六之后,如果MPM列表仍未满且当前译码块的上块不可用,则将默认模式列表中的帧内预测模式添加到MPM列表中,如果该模式或这些模式不在MPM列表中,则迭代地重复该步骤,直到MPM列表已满。
步骤七:将水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX)或垂直对角模式(VDIA_IDX)添加到MPM列表中。
例如,如果水平模式不在MPM列表中,且MPM列表未满,则将水平模式添加到MPM 列表中,如果添加水平模式后MPM列表已满,则完成MPM列表构建。
如果在添加水平模式后,MPM列表仍未满,则检查帧内模式2是否在MPM列表中。如果帧内模式2在MPM列表中,则进一步检查对角模式是否在MPM列表中;如果对角模式不在MPM列表中,则将对角模式添加到MPM列表中。重复执行该步骤,直到MPM列表已满。
在一个示例中,在步骤六之后,如果MPM列表仍未满,当前译码块的左块可用且当前译码块的上块可用,则将默认模式列表中的帧内预测模式添加到MPM列表中,如果该模式或这些模式不在MPM列表中,则迭代地重复该步骤,直到MPM列表已满。
步骤七:将垂直模式(VER_IDX)、水平模式(HOR_IDX)、VER_IDX+偏移–4或VER_IDX+偏移4添加到MPM列表中。
在一个示例中,提供了预定义的默认模式:即垂直模式(VER_IDX)、
水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式 (DIA_IDX),以的MPM列表
未满的情况下构建MPM列表。针对这些默认模式,本文提出了另外两种方法。分别是自适应的默认方法和更改的默认方法。
使用自适应模式的方法考虑了位于帧最左边和最顶部的块。
对于位于帧左边界的块,由于位于当前块的左块中的源预测像素点不存在,因此不太可能使用水平模式。此外,模式通常使用水平模式(即DIA_IDX、模式2)的可能性较低。
对于位于帧顶边界的块,由于位于当前块的上块中的源预测像素点不存在,因此不太可能使用垂直模式。此外,模式通常使用垂直模式(即VDIA_IDX、DIA_IDX)的可能性较低。
因此,使用以下边界感知方法:
如果当前译码块的左块不存在,则按顺序使用以下模式作为默认候选模式:VER_IDX、 VDIA_IDX、DIA_IDX、模式2。
否则(左块存在):
如果当前译码块的上块不存在,则按顺序使用以下模式作为默认候选模式:HOR_IDX、模式2、DIA_IDX、VDIA_IDX。
否则(上块存在),使用正常的默认模式:VER_IDX、HOR_IDX、帧内模式2(2)、VDIA_IDX 或DIA_IDX。
更改的默认方法将以下候选模式添加到MPM列表中:VER、HOR、VER–4、VER+4。 VER–4和VER+4的顺序可以调换。
这两种方法的组合可以是:
如果当前译码块的左块不存在,则按顺序使用以下模式作为默认候选模式:VER_IDX、 VDIA_IDX、DIA_IDX、模式2。
否则(左块存在):
如果当前译码块的上块不存在,则按顺序使用以下模式作为默认候选模式:HOR_IDX、模式2、DIA_IDX、VDIA_IDX。
否则(上块存在),使用更改的默认模式:VER_IDX、HOR_IDX、VER、HOR、VER–4、 VER+4。
在本发明的一个方面中,提出了构建6条目MPM列表的简化方法,包括:检查当前译码单元的左块的可用性。左块的位置如图5所示,其中,左块用“L”标记。
如果不能从左块中推导帧内预测信息(即,帧内预测模式),则左块不可用。包括以下几种情况:
左块不是帧内预测块;左块不存在,例如当前块是位于帧最左侧的译码块;如果编码器或解码器支持并行处理,则当左块位于当前块的不同分块中或与当前块位于不同的分块中时,即当前译码块位于分块的最左侧或被定位在分块的最左侧时,该左块不存在(或不可用)。
在另一个示例中,如果编码器或解码器中不支持并行处理,则当左块位于当前块的不同分块中时,即当前译码块位于分块的最左侧时,该左块可用。
如果编码器或解码器支持并行处理,则当左块与当前块位于不同的条带中时,即当前译码块位于条带的最左侧时,该左块不存在。
在另一个示例中,如果编码器或解码器中不支持并行处理,则当左块与当前块位于不同的条带中时,即当前译码块位于条带的最左侧时,该左块可用。
否则(即,左块可用),在6条目MPM列表中包括左块的帧内预测模式。
检查当前译码单元的上块的可用性。图5示出了上块的位置,其中,上块用“A”标记。
如果不能从上块中推导帧内预测信息(即,帧内预测模式),则上块不可用。包括以下几种情况:
上块不是帧内预测块。
上块不存在。例如,当前块为位于帧最顶部的译码块。
如果编码器或解码器中支持并行处理,且如果顶块与当前块位于不同的分块中,即当前译码块位于分块的最顶部,则该顶块不存在。
在另一个示例中,如果编码器或解码器中不支持并行处理,且如果顶块与当前块位于不同的分块中,即当前译码块位于分块的最顶部,则该顶块可用。
如果编码器或解码器中支持并行处理,且如果顶块与当前块位于不同的条带中,即当前译码块位于条带的最顶部,则该顶块不存在。
在另一个示例中,如果编码器或解码器中不支持并行处理,且如果顶块与当前块位于不同的条带中,即当前译码块位于条带的最顶部,则该顶块可用。
如果需要限制编码器或解码器中的行缓冲器大小,且如果顶块与当前块位于不同的CTU 中,即当前译码块位于当前CTU的最顶部,则该顶块不存在。
在一个示例中,如果解码端或编码端支持行缓冲器限制,则位于与当前块CTU不同的 CTU上的上块视为不存在。如果不支持行缓冲器限制,则该上块存在。
否则(即,左块可用),在6条目MPM列表中包括顶块的帧内预测模式。
检查平面(PLANAR_IDX=0)模式是否已插入MPM列表中(即,检查左块或顶块的帧内模式是否是平面模式),仅当平面模式未插入MPM列表中时,才将该平面模式插入MPM 列表中。检查DC(DC_IDX=1)模式是否已插入MPM列表中(即,检查左块或顶块的帧内模式是否是DC模式),仅当DC模式未插入MPM列表中时,才将该DC模式插入MPM 列表中。
如果左块可用且其帧内预测模式为角度模式,即(模式>DC_IDX,比如模式为angularLeft),则可以通过执行angularLeft–1和angularLeft+1获得其最接近的两个角度模式。需要说明的是,例如,在执行–1或+1时,可能涉及向上叠加和向下叠加操作。
如果angularLeft为2,则angularLeft–1为66(向上叠加情况),或者如果angularLeft为 66,则angularLeft+1为2(向下叠加情况)。
如果angularLeft–1的预测模式未插入到MPM列表中,则将它插入到MPM列表中。
如果angularLeft+1的预测模式未插入到MPM列表中,则将它插入到MPM列表中。
如果MPM列表未满,且如果上块可用,其帧内预测模式为角度模式,即(模式>DC_IDX,比如模式为angularAbove),则可以通过执行angularAbove–1、angularAbove+1获得其最接近的两个角度模式。需要说明的是,当执行–1或+1时,可能涉及向上叠加(wrap up)和向下叠加(wrap down)操作,在一个示例中,如果angularLeft为2,则angularLeft–1为66(向上叠加情况),或者如果angularLeft为66,则angularLeft+1为2(向下叠加情况)。
如果angularAbove–1的预测模式未插入到MPM列表中,则将它插入到MPM列表中。
如果MPM列表未满(例如,MPM列表中的预测模式的数量小于6),且如果angularAbove+1的预测模式未插入到MPM列表中,在将它插入到MPM列表中。
如果MPM列表未满,则将以下模式插入到MPM列表,直到MPM列表已满(例如, MPM列表中预测模式的数量等于6):
垂直模式(VER_IDX),
水平模式(HOR_IDX),
帧内模式2(2),
垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
概述所提供的方法的另一实施例:
左块的可用性应同时考虑支持或不支持并行处理。
上块的可用性应同时考虑支持或不支持并行处理。
推导左块和上块的两个最接近模式的顺序也可以先是+1,然后是–1。
最后一个候选MPM列表可以是VIDA_IDX或DIA_IDX。
插入顺序还可以是左、上、平面、DC和默认模式(VER_IDX、HOR_IDX、2、VDIA_IDX 或DIA_IDX)。
可以使用截断一元二值化来指示mpm_idx。使mpm_idx的前三个位元使用三个不同的独立上下文,或者通过加密对mpm_idx的所有位元进行CABAC。
本发明旨在改进帧内模式指示方案。本发明提出一种视频解码方法和视频解码器。
图7示出了如针对VVC提出的67种帧内预测模式的示例,67种帧内预测模式的多种帧内预测模式包括:平面模式(索引为0)、dc模式(索引为1),以及角度模式(索引为2到66),其中,图7中的左下角度模式是指索引2,并且索引的编号递增,直到索引66对应图7 的最右上角度模式。
在本申请的另一方面中,公开了一种包括处理电路的解码器,用于执行上述解码方法。
在本申请的另一方面中,公开了一种计算机程序产品,其包括用于执行上述解码方法的程序代码。
在本申请的另一方面中,公开了一种用于解码视频数据的解码器,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述解码器以执行上述解码方法。
处理电路可以在硬件或硬件和软件的组合中实现,例如通过软件可编程处理器等实现。
在本申请的另一方面中,公开了一种编码方法,包括:
从多种帧内预测模式中获取图像块的帧内预测模式,所述图像块的所述多种帧内预测模式包括最可能模式(Most Probable Mode,MPM)集合、非MPM集合,其中,所述非MPM集合包括第一帧内预测模式集合和第二帧内预测模式集合;
如果图像块的帧内预测模式为非MPM集合,则在第一帧内预测模式集合中的至少一种帧内预测模式与非MPM集合中的至少一种帧内预测模式之间生成映射关系;
根据所述映射关系对图像块的帧内预测模式进行编码,以获得帧内预测模式码字。
在本申请的一种实现方式中,获取图像块的帧内预测模式的过程可以参考实施例部分的以下详细描述中的相对公开内容,或者视频译码技术领域中,如ITU-T H.264、ITU-TH.265 中的相对公开内容。
在本申请的一种实现方式中,所述编码方法还包括:生成MPM集合,确定图像块的帧内预测模式是否在MPM集合中。因此,如果图像块的帧内预测模式不在MPM集合中,则图像块的帧内预测模式在非MPM集合中。
生成MPM集合的过程可以参考描述部分中的相对公开内容,或者视频译码技术领域中,如ITU-T H.264、ITU-T H.265中的相对公开内容。
在本申请的一种实现方式中,在第一帧内预测模式集合中的至少一种帧内预测模式与非 MPM集合中的至少一种帧内预测模式之间生成映射关系的过程可以参考解码端的相对公开内容。
在本申请的一种实现方式中,使用5个位对第一帧内预测模式集合进行译码,使用6个位对第二帧内预测模式集合进行译码。
在本申请的另一方面中,公开了一种包括处理电路的编码器,用于执行上述编码方法。
在本申请的另一方面中,公开了一种计算机程序产品,其包括用于执行上述编码方法的程序代码。
在本申请的另一方面中,公开了一种用于对视频数据进行编码的编码器,所述编码器包括:一个或多个处理器;以及非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述编码器以执行上述编码方法。
处理电路可以在硬件或硬件和软件的组合中实现,例如通过软件可编程处理器等实现。
根据图8,在本申请的一种实现方式中,本申请公开了一种视频解码方法,所述方法包括:
S801:对图像块的编码数据进行解码以从图像块的多种帧内预测模式中获得一种帧内预测模式;
图像块的多种帧内预测模式包括最可能模式(Most Probable Mode,MPM)集合和非MPM 集合,其中,所述非MPM集合包括第一帧内预测模式集合和第二帧内预测模式集合,其中,使用N个位对所述第一帧内预测模式集合中的一种模式进行编码,使用M个位对所述第二帧内预测模式集合中的一种模式进行编码,N和M为正整数,N小于M。
其中,对图像块的编码数据进行解码以从图像块的多种帧内预测模式中获得一种帧内预测模式(S801)包括:
S802:对编码数据进行解码以获得表示图像块的帧内预测模式是否在MPM集合中的指示;如果该指示表示图像块的帧内预测模式不在MPM集合中,则进行以下操作:
S803:在第一帧内预测模式集合中的至少一种帧内预测模式与非MPM集合中的至少一种帧内预测模式之间生成映射关系;
S804:对编码数据进行解码以获得图像块的帧内预测模式码字;
S805:根据映射关系和帧内预测模式码字获得图像块的帧内预测模式。
根据本申请的视频解码方法,使用截断二值化方案对非MPM集合中的预测模式进行译码,生成映射关系,使得当前块的预测模式使用较少的位进行译码的可能性更高,并且降低了解码端的计算复杂度。
根据图9,在本申请的一种实现方式中,本申请公开了一种视频解码方法,所述方法包括:
S901:接收图像块的编码数据;
解码端可用于通过编码端与解码端之间的直接通信链路(例如,直接有线或无线连接) 或通过任何类型的网络(例如,有线或无线网络或其任意组合,或任何类型的专用和公共网络)或其任意组合接收编码后的图像数据。
S902:对编码数据进行解码以获得表示图像块的帧内预测模式是否在MPM集合中的指示。
表示图像块的帧内预测模式是否在MPM集合中的指示可以是一种标志,当标志的值为1 时,可以表示图像块的帧内预测模式在MPM集合中,当标志的值为0时,可以表示图像块的帧内预测模式不在MPM集合中。例如,在编码端,如果MPM列表(MPM集合)为帧内模式集合[25,42,63],并且当前块帧内模式值为42,则MPM标志指示符设置为1,因为在 MPM列表的第二条目处找到当前块的帧内模式。例如,如果当前块帧内模式为41而非42,则MPM标志指示符被设置为0,MPM标志在编码数据中被发送到解码端。
如果表示图像块的帧内预测模式的指示在MPM集合中,则执行步骤S903;
如果表示图像块的帧内预测模式的指示在MPM集合中,则执行步骤S904;
S903:根据MPM集合对编码数据进行解码,以获得图像块的帧内预测模式;
在一个示例中,如果表示图像块的帧内预测模式的指示在MPM集合中。图像块的帧内预测模式(IntraPredModeY[xPb][yPb])的推导过程定义如下:
IntraPredModeY[xPb][yPb]通过以下程序推导:
如果intra_luma_mpm_flag[xPb][yPb]等于1(表示图像块的帧内预测模式在MPM集合中),则IntraPredModeY[xPb][yPb]设置为candModeList[intra_luma_mpm_idx[xPb][yPb]],其中,(xPb, yPb)表示当前亮度预测块的左上像素点相对于当前图像的左上亮度像素点的位置, candModeList为实际的MPM列表,以对编码数据进行解码,得到MPM索引,从而根据MPM 索引和MPM列表获得图像块的帧内预测模式。
在一个具体示例中,MPM集合为(15,0,20),MPM索引的值为2,因此,图像块的帧内预测模式为平面模式(值为0)。在另一个具体示例中,MPM集合为(15,36,0,1,21,19),MPM索引的值为5,因此,图像块的帧内预测模式为角度模式21。
S904:在第一帧内预测模式集合中的至少一种帧内预测模式与非MPM集合中的至少一种帧内预测模式之间生成映射关系;
在一个示例中,如果该指示表示图像块的帧内预测模式不在MPM集合中,则构建两个列表:即码字列表和推导模式列表。
第一码字列表构建如下:
1.在MPM列表中找到最小模式,假设最小模式是Ms。
2.设置初始增量变量Inc=1。
3.将候选模式Mc设置为(Ms+Inc),检查模式Mc是否也在MPM列表中。
如果Mc不在MPM列表中,则将Mc添加到码字列表中
否则,进行步骤4。
4.检查码字列表中的插入条目是否已满(插入长度等于码字列表的长度):
如果已满,则终止;
否则,设置Inc=Inc+1,进行步骤3。
总之,除MPM列表中已存在的模式外,代码字列表将包含最小的模式。假设MPM列表的长度为L,则码字列表的长度为64–(67–L)=L–3。例如,如果MPM列表为(15,36,0, 1,21,19),则构建的码字为(2,3,4)。
第二推导模式列表构建如下:
1.在MPM列表中找到前两个角度模式,假设找到的两个角度模式是angular0和angular1。
2.设置初始增量变量Inc=1。
3.推导新模式M0minus=angular0–Inc。应说明,M0minus也应保证为角度模式(即,66>=M0minus>=2)。因此,如果angular0等于2,Inc为1,则推导的M0minus将为66;如果Inc为 2,则M0minus将为65,等等。减运算将向上叠加到最大角度模式。
4.检查MPM列表中是否存在M0minus,如果不存在,且如果推导模式列表未满,则将M0minus插入推导模式列表。否则,
如果推导模式列表已满,则终止。
否则,进行步骤5。
5.推导新模式M0plus=angular0+Inc。应说明,M0plus也应保证为角度模式(即,66>= M0plus>=2)。因此,如果angular0等于66,Inc为1,则推导的M0plus将为2,如果Inc为2,则M0plus为3,等等。加运算将向下叠加到最小角度模式。
6.检查MPM列表中是否存在M0plus,如果不存在,且如果推导模式列表未满,则将M0plus插入推导模式列表中。否则,
如果推导模式列表已满,则终止。
否则,进行步骤7。
7.重复步骤3至6,将angular0替换为angular1;
8.设置Inc=Inc+1,重复步骤3到7。
总之,推导模式列表获取MPM列表中前两个角度模式的相邻模式。如果这些相邻模式已经包括在MPM列表中,则它们将被排除在推导模式列表外。假设MPM列表的长度为L,则推导模式列表的长度为64–(67–L)=L–3。例如,如果MPM列表为(15,36,0,1,21,19),则构建的推导模式列表为(14,16,35)。
在构建码字列表和推导模式列表时,在它们之间建立的双向映射关系。即,假设上述示例列表具有码字列表(2,3,4)和推导模式列表(14,16,35),2←→14,3←→16以及3←→35,其中←→表示双向映射。
可以使用两个选项来在码字列表与推导模式列表之间建立双向映射关系。第一个选项是允许以一种方式构建推导模式列表,使得推导模式列表和码字列表中可能同时存在一些元素。另一个选项是不允许推导模式列表与码字列表中的模式重叠。
在另一个示例中,在本申请的一种实现方式中,在第一帧内预测模式集合中的至少一种帧内预测模式与非MPM集合中的至少一种帧内预测模式之间生成映射关系包括:根据在每种帧内预测模式类别内的MPM集合中的帧内预测模式的数量和/或方向,对多种帧内预测模式类别进行排序;根据最高排序的帧内预测模式类别生成映射关系。
在一个示例中,5种角度帧内预测模式类别,即dc模式(DC_IDX)、垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)和对角模式DIA_IDX,其中,例如,在每种角度帧内预测模式类别内的最可能模式列表的角度帧内预测模式对应于将最可能模式列表的每种角度帧内预测模式与最接近最可能模式列表的对应角度帧内预测模式的角度帧内预测模式类别相关联。在另一个示例中,使用次高排序的角度帧内预测模式类别重复此步骤。
在一个示例中,在第一帧内预测模式集合中的至少一种帧内预测模式与非MPM集合中的至少一种帧内预测模式之间生成映射关系包括:根据将偏移添加到对应于MPM集合的多个值来生成初始帧内预测模式集合;对MPM集合进行分类以获得最高排序的帧内预测模式类别;根据最高排序的帧内预测模式类别和初始帧内预测模式集合生成映射关系。
在一个示例中,根据将偏移–1、+1、+2、–2、+3、–3、+4或–4添加到对应于MPM集合的多个值来生成初始帧内预测模式集合。
在一个示例中,根据包括或仅包括以下各项的预先确定的默认模式列表来生成映射关系:平面模式(PLANAR_IDX)、dc模式(DC_IDX)、垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)和对角模式(DIA_IDX)。
S905:对编码数据进行解码以获得图像块的帧内预测模式码字;
在编码端使用N个位或个M个位对码字进行编码。在一个示例中,由于是双向映射关系,因此可以将对应于码字的帧内预测模式映射到非MPM集合中的另一帧内预测模式。
S906:根据映射关系和帧内预测模式码字获得图像块的帧内预测模式。
在一个示例中,在建立双向映射关系后,检查对应于帧内预测模式码字的帧内预测模式是在码字列表中还是在推导模式列表中:
如果解析出的帧内预测模式既不在码字列表中,也不在推导模式列表中,则将最终预测模式设置为解析出的帧内预测模式。
如果解析的帧内预测模式仅存在于码字列表中或仅存在于推导模式列表中,则将最终预测模式设置为其对应的映射帧内预测模式。
如果解析出的帧内预测模式同时在码字列表和推导模式列表中,则在构建这两个列表时引入一种机制,从而调整双向映射关系,使所有重叠的模式都映射到另一个列表中的这些映射模式。示例:MPM列表为(0 1 2 3 50 66),码字列表为(4 5 6),推导模式列表为(4 65 5)。当构建推导模式列表或码字列表时,确保4←→4,5←→5和6←→65。
一种解码器,包括用于执行上述方法的处理电路。
在本发明中,公开了一种计算机程序产品,所述计算机程序产品包括用于执行上述方法的程序代码。
在本发明中,公开了一种用于对视频数据进行解码的解码器,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述解码器以执行上述方法。
图7示出了例如如针对VVC提出的67种帧内预测模式的示例,其中,67种帧内预测模式的多种帧内预测模式包括:平面模式(索引为0)、dc模式(索引为1),以及角度模式(索引为2到66),其中,图7中的左下角度模式是指索引2,并且索引的编号递增,直到索引 66对应图7的最右上角度模式。
在下文中,公开了另外的实施例,其中,编号不一定与其它实施例或描述示例的编号一致。
实施例1.一种用于构建最可能模式(Most Probable Mode,MPM)列表的方法,其中,所述方法包括:确定当前译码块的左块是否可用,如果所述当前译码块的左块可用,则将所述左块的帧内预测模式添加到MPM列表中;确定所述当前译码块的上块是否可用,如果所述当前译码块的上块可用,则将所述上块的帧内预测模式添加到所述MPM列表中;如果平面模式不在所述MPM列表中,则将所述平面模式添加到所述MPM列表中;如果DC模式不在所述MPM列表中,则将所述DC模式添加到所述MPM列表中。
实施例2.根据实施例1所述的方法,其中,当所述左块的预测模式不是帧内预测模式时,所述当前译码块的左块不可用。
实施例3.根据实施例1或2中任一项所述的方法,其中,当所述当前译码块是位于帧的最左侧的译码块时,所述当前译码块的左块不可用。
实施例4.根据实施例1至3中任一项所述的方法,其中,支持并行处理并且所述当前译码块是位于分块的最左侧的译码块,所述当前译码块的左块不可用。
实施例5.根据实施例1至4中任一项所述的方法,其中,不支持并行处理并且所述当前译码块是位于分块的最左侧但不位于帧的最左侧的译码块,所述当前译码块的左块可用。
实施例6.根据实施例1至5中任一项所述的方法,其中,支持并行处理并且所述当前译码块是位于条带的最左侧的译码块,所述当前译码块的左块不可用。
实施例7.根据实施例1至6中任一项所述的方法,其中,不支持并行处理并且所述当前译码块是位于条带的最左侧但不位于帧的最左侧的译码块,所述当前译码块的左块可用。
实施例8.根据实施例1至7中任一项所述的方法,其中,当所述上块的预测模式不是帧内预测模式时,所述当前译码块的上块不可用。
实施例9.根据实施例1至8中任一项所述的方法,其中,当所述当前译码块是位于帧的最顶部的译码块时,所述当前译码块的上块不可用。
实施例10.根据实施例1至9中任一项所述的方法,其中,支持并行处理并且所述当前译码块是位于分块的最顶部的译码块,所述当前译码块的上块不可用。
实施例11.根据实施例1至10中任一项所述的方法,其中,不支持并行处理并且所述当前译码块是位于分块的最顶部但不位于帧的最顶部的译码块,所述当前译码块的上块可用。
实施例12.根据实施例1至11中任一项所述的方法,其中,支持并行处理并且所述当前译码块是位于条带的最顶部的译码块,所述当前译码块的上块不可用。
实施例13.根据实施例1至12中任一项所述的方法,其中,不支持并行处理并且所述当前译码块是位于条带的最顶部但不位于帧的最顶部的译码块,所述当前译码块的上块可用。
实施例14.根据实施例1至13中任一项所述的方法,其中,当行缓冲器大小受限并且所述当前译码块是位于当前CTU的最顶部的译码块时,所述当前译码块的上块不可用。
实施例15.根据实施例1至14中任一项所述的方法,其中,所述方法还包括:
如果当前译码块的左块可用,且左块的帧内预测模式为角度模式,则将偏移添加到左块的预测模式,以获得新预测模式,如果新预测模式不在MPM列表中,则将新预测模式添加到MPM列表中。
实施例16.根据实施例15所述的方法,其中,所述偏移为–1。
实施例17.根据实施例15所述的方法,其中,所述偏移为1。
实施例18.根据实施例1至17中任一项所述的方法,其中,所述方法还包括:
如果当前译码块的上块可用且上块的帧内预测模式为角度模式,则将偏移添加到上块的预测模式,以获得上偏移预测模式,如果上偏移预测模式不在MPM列表中,则将上偏移预测模式添加到MPM列表中。
实施例19.根据实施例18所述的方法,其中,所述偏移为–1。
实施例20.根据实施例18所述的方法,其中,所述偏移为1。
实施例21.根据实施例1至20中任一项所述的方法,其中,所述方法还包括:
将垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)添加到MPM列表中。
实施例22.根据实施例1至20中任一项所述的方法,所述方法还包括:候选角度模式列表,所述候选角度模式列表包括:添加到MPM列表中的垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX);所述方法还包括:根据它们在列表中的顺序迭代地确定列表的角度模式是否在MPM列表中,如果相应的角度模式不在MPM列表中,则将相应的角度模式添加到MPM列表中。
实施例23.根据实施例1至20中任一项所述的方法,其中,MPM列表的构建开始于根据空MPM列表等确定当前译码块的左块是否可用的步骤。
实施例24.根据实施例1至23中任一项所述的方法,所述方法还包括:如果当前译码块的左块不可用且大体左方向上的另一块可用(例如,图5中的BL或AL),则将另一块的帧内预测模式插入到MPM列表中,如果左块可用,则不将另一块的帧内预测模式插入到MPM 列表中。
实施例25.根据实施例1至23中任一项所述的方法,所述方法还包括:如果当前译码块的上块不可用且大体上方向上的另一块可用(例如,图5中的AR或AL),则将另一块的帧内预测模式插入到MPM列表中,如果上块可用,则不将另一块的帧内预测模式插入到MPM 列表中。
实施例26.根据实施例1至25中任一项所述的方法,所述方法还包括:如果垂直模式 (VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)不在MPM列表中,则将它们添加到MPM列表中。
实施例27.根据实施例1至26中任一项所述的方法,所述方法还包括:
如果当前译码块的左块和上块都不是角度模式,则进一步检查一个或多个其它邻块(例如,图5中的BL、AL或AR)。如果邻块(BL、AL或AR)中的任何一个是角度模式,则使用该角度模式作为–1+1推导过程的起始角度模式,如前所述。
实施例28.一种编码器,包括用于执行根据实施例1至27中任一项所述的方法的处理电路。
实施例29.一种解码器,包括用于执行根据实施例1至27中任一项所述的方法的处理电路。
实施例30.一种计算机程序产品,包括用于执行根据实施例1至27中任一项所述方法的程序代码。
实施例31.一种用于构建最可能模式(Most Probable Mode,MPM)列表的解码器,包括:
一个或多个处理器;以及非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述解码器以执行根据实施例1至27中任一项所述的方法。
实施例32.一种用于构建最可能模式(Most Probable Mode,MPM)列表的编码器,包括:
一个或多个处理器;以及非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述编码器以执行根据实施例1至27中任一项所述的方法。
实施例33.一种用于构建帧内预测的最可能模式(Most Probable Mode,MPM)列表的方法,所述方法包括:确定当前译码块的左块是否可用,如果所述当前译码块的左块可用,则将所述左块的帧内预测模式添加到所述MPM列表中;确定所述当前译码块的上块是否可用,如果所述当前译码块的上块可用且所述上块的帧内预测模式不在所述MPM列表中,则将所述上块的帧内预测模式添加到所述MPM列表中;如果平面模式不在所述MPM列表中,则将所述平面模式添加到所述MPM列表中;如果DC模式不在所述MPM列表中,则将所述 DC模式添加到所述MPM列表中。
实施例34.根据实施例33所述的方法,其中,当所述当前译码块是位于帧的最左侧的译码块时,所述当前译码块的左块不可用。
实施例35.根据实施例33或34中任一项所述的方法,其中,当所述当前译码块是不位于帧的最左侧的译码块时,所述当前译码块的左块可用。
实施例36.根据实施例33至35中任一项所述的方法,其中,当所述当前译码块是位于帧的最顶部的译码块时,所述当前译码块的上块不可用。
实施例37.根据实施例33至36中任一项所述的方法,其中,当所述当前译码块是不位于帧的最顶部的译码块时,所述当前译码块的上块可用。
实施例38.根据实施例33至37中任一项所述的方法,其中,所述方法还包括:
如果当前译码块的左块可用,且左块的帧内预测模式为角度模式,则将偏移添加到左块的预测模式,以获得新预测模式,如果新预测模式不在MPM列表中,则将新预测模式添加到MPM列表中。
实施例39.根据实施例33至38中任一项所述的方法,其中,所述方法还包括:
如果当前译码块的上块可用且上块的帧内预测模式为角度模式,则将偏移添加到上块的预测模式,以获得上偏移预测模式,如果上偏移预测模式不在MPM列表中,则将上偏移预测模式添加到MPM列表中。
实施例40.根据实施例38或39所述的方法,其中,所述偏移为–1。
实施例41.根据实施例38或39所述的方法,其中,所述偏移为1。
实施例42.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
实施例43.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值时,则当所述帧内预测模式不包括在 MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到 MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX) 或对角模式(DIA_IDX)。
实施例44.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
实施例45.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果当前译码块的左块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、对角模式(DIA_IDX)或帧内模式2(2)。
实施例46.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,
则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与VER_IDX偏移-4对应的帧内预测模式或与VER_IDX偏移4对应的帧内预测模式。
实施例47.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,则当所述帧内预测模式不包括在 MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到 MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与VER_IDX偏移-4对应的帧内预测模式或与VER_IDX偏移4对应的帧内预测模式。
实施例48.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与VER_IDX偏移4对应的帧内预测模式或与 VER_IDX偏移-4对应的帧内预测模式。
实施例49.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值,则当所述帧内预测模式不包括在 MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到 MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与VER_IDX偏移4对应的帧内预测模式或与 VER_IDX偏移-4对应的帧内预测模式。
实施例50.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述当前译码块的左块不可用且所述MPM列表中的帧内预测模式的数量小于阈值,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与偏移为–1的VER_IDX对应的帧内预测模式或与偏移为1的VER_IDX 对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移+1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式。
实施例51.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述当前译码块的左块不可用且所述MPM列表中的帧内预测模式的数量小于阈值,当帧内预测模式集合中的一种帧内预测模式不包括在所述MPM列表中时,按照上述顺序,将所述帧内预测模式迭代地添加到所述MPM列表中,直到所述预测模式的数量等于所述阈值;
其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-4对应的帧内预测模式和与VER_IDX偏移+1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VDIA_IDX偏移-1对应的帧内预测模式和与VER_IDX偏移1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-4对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移-1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式;或
垂直模式(VER_IDX)、垂直对角模式(VDIA_IDX)、与VER_IDX偏移1对应的帧内预测模式和与VDIA_IDX偏移-1对应的帧内预测模式。
实施例52.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,所述当前译码块的上块不可用,则检查所述MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在所述MPM列表中,将所述第一帧内预测模式添加到所述MPM列表中,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX) 或垂直对角模式(VDIA_IDX)。
实施例53.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,所述当前译码块的上块不可用,则当帧内预测模式不包括在所述MPM列表中时,按照上述顺序,将所述帧内预测模式集合中的一种帧内预测模式迭代地添加到所述MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX)或垂直对角模式(VDIA_IDX)。
实施例54.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,所述当前译码块的左块可用且所述当前译码块的上块可用,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式 (HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
实施例55.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值时,所述当前译码块的左块可用且所述当前译码块的上块可用,则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、帧内模式2(2)、垂直对角模式(VDIA_IDX)或对角模式(DIA_IDX)。
实施例56.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,所述当前译码块的上块不可用,则检查所述MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在所述MPM列表中,将所述第一帧内预测模式添加到所述MPM列表中,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX) 或垂直对角模式(VDIA_IDX)。
实施例57.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,所述当前译码块的上块不可用,则当帧内预测模式不包括在所述MPM列表中时,按照上述顺序,将所述帧内预测模式集合中的一种帧内预测模式迭代地添加到所述MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括水平模式(HOR_IDX)、帧内模式2(2)、对角模式(DIA_IDX)或垂直对角模式(VDIA_IDX)。
实施例58.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述MPM列表中的帧内预测模式的数量小于阈值,所述当前译码块的左块可用且所述当前译码块的上块可用,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式 (HOR_IDX)、与偏移为–4的VER_IDX对应的帧内预测模式或与偏移为4的VER_IDX对应的帧内预测模式。
实施例59.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果MPM列表中的帧内预测模式的数量小于阈值时,所述当前译码块的左块可用且所述当前译码块的上块可用,则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值,其中,所述帧内预测模式集合包括垂直模式(VER_IDX)、水平模式(HOR_IDX)、与偏移为–4的VER_IDX对应的帧内预测模式或与偏移为4的VER_IDX对应的帧内预测模式。
实施例60.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果所述当前译码块的上块不可用且所述MPM列表中的帧内预测模式的数量小于阈值,则检查MPM列表中是否包括帧内预测模式集合的第一帧内预测模式;如果所述第一帧内预测模式不包括在MPM列表中,则将所述第一帧内预测模式添加到MPM列表中,其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-4对应的帧内预测模式和HOR_IDX+偏移4;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移1对应的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式。
实施例61.根据实施例33至41中任一项所述的方法,其中,所述方法还包括:
如果当前译码块的上块不可用且MPM列表中的帧内预测模式的数量小于阈值,
则当所述帧内预测模式不包括在MPM列表中时,按照上述顺序,将帧内预测模式集合中的一种帧内预测模式迭代地添加到MPM列表中,直到所述预测模式的数量等于所述阈值;
其中,所述帧内预测模式集合包括以下帧内预测模式集合中的一种:
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-4对应的帧内预测模式和HOR_IDX+偏移4;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移4对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移1对应的帧内预测模式和与HOR_IDX偏移-1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与帧内模式2(2)偏移1对应的帧内预测模式和与HOR_IDX偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移1对应的帧内预测模式和与帧内模式2(2)偏移4对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移-1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式;或
水平模式(HOR_IDX)、帧内模式2(2)、与HOR_IDX偏移1对应的帧内预测模式和与帧内模式2(2)偏移1对应的帧内预测模式。
实施例62.一种编码器,包括用于执行根据实施例33至61中任一项所述的方法的处理电路。
实施例63.一种解码器,包括用于执行根据实施例33至61中任一项所述的方法的处理电路。
实施例64.一种计算机程序产品,包括用于执行根据实施例33至61中任一项所述方法的程序代码。
实施例65.一种用于构建最可能模式(Most Probable Mode,MPM)列表的解码器,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述解码器以执行根据实施例33至61中任一项所述的方法。
实施例66.一种用于构建最可能模式(Most Probable Mode,MPM)列表的编码器,包括:
一个或多个处理器;以及非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述编码器以执行根据实施例33至61中任一项所述的方法。
实施例67.一种用于对视频的当前块进行解码的解码方法,其特征在于,所述解码方法包括:
从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;
当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;
其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为平面模式时,
所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。
实施例68.根据实施例67所述的方法,其特征在于,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
实施例69.根据实施例67或68所述的方法,其特征在于,所述第一偏移为–4。
实施例70.根据实施例67至69中任一项所述的方法,其特征在于,所述第二偏移为+4。
实施例71.一种用于对视频的当前块进行解码的解码方法,其特征在于,所述解码方法包括:
从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;
当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;
其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为DC模式时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。
实施例72.根据实施例71所述的方法,其特征在于,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
实施例73.根据实施例71或72所述的方法,其特征在于,所述第一偏移为–4。
实施例74.根据实施例71至73中任一项所述的方法,其特征在于,所述第二偏移为+4。
实施例75.一种用于对视频的当前块进行解码的解码方法,其特征在于,所述解码方法包括:
从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;
当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;
其中,当所述当前块的左邻块不可用,且所述当前块的上邻块的帧内预测模式为平面模式时,
所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。
实施例76.根据实施例75所述的方法,其特征在于,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
实施例77.根据实施例75或76所述的方法,其特征在于,所述第一偏移为–4。
实施例78.根据实施例75至77中任一项所述的方法,其特征在于,所述第二偏移为+4。
实施例79.一种用于对视频的当前块进行解码的解码方法,其特征在于,所述解码方法包括:
从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;
当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;
其中,当所述当前块的左邻块不可用,且所述当前块的上邻块不可用时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。
实施例80.根据实施例79所述的方法,其特征在于,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
实施例81.根据实施例79或80所述的方法,其特征在于,所述第一偏移为–4。
实施例82.根据实施例79至81中任一项所述的方法,其特征在于,所述第二偏移为+4。
实施例83.一种用于对视频的当前块进行解码的解码方法,其特征在于,所述解码方法包括:
从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;
当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;
其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块不可用时,所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式。
实施例84.根据实施例83所述的方法,其特征在于,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
实施例85.根据实施例83或84所述的方法,其特征在于,所述第一偏移为–4。
实施例86.根据实施例83至85中任一项所述的方法,其特征在于,所述第二偏移为+4。
实施例87.一种解码器,其特征在于,包括处理电路,用于执行根据实施例67至86中任一项所述的方法。
实施例88.一种计算机程序产品,其特征在于,包括程序代码,用于执行根据实施例67 至86中任一项所述方法。
图10为本发明实施例提供的网络设备1300的示意图。网络设备1300适用于实现本文描述的公开实施例。网络设备1300包括:入端口1310和接收器单元(Rx)1320,用于接收数据;处理器、逻辑单元或中央处理单元(central processing unit,CPU)1330,用于处理数据;发送器单元(Tx)1340和出端口1350,用于发送数据;存储器1360,用于存储数据。网络设备1300还可以包括与入端口1310、接收器单元1320、发送器单元1340和出端口1350耦合的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用作光信号或电信号的出口或入口。
处理器1330通过硬件和软件实现。处理器1330可以实现为一个或多个CPU芯片、核(例如像多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digital signal processor, DSP)。处理器1330与入端口1310、接收器单元1320、发送器单元1340、出端口1350和存储器1360通信。处理器1330包括译码模块1370。译码模块1370实现上述公开的实施例。例如,译码模块1370实现、处理、准备或提供各种联网功能。因此,包括译码模块1370使得网络设备1300功能得到了显著改进,并且实现了网络设备1300不同状态的转换。或者,以存储在存储器1360中并由处理器1330执行的指令来实现译码模块1370。
存储器1360包括一个或多个磁盘、磁带机和固态硬盘,可用作溢出数据存储设备,以在选择执行程序时存储这类程序,并存储在程序执行期间读取的指令和数据。存储器1360可以是易失性和/或非易失性,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory, TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。
图10为可用于实现各种实施例的装置1100的框图。装置1100可以是图1所示的源设备 102、或图2所示的视频编码器200、或图1所示的目的设备104、或图3所示的视频解码器 300。此外,装置1100可包括一个或多个所描述的元件。在一些实施例中,装置1100配备有一个或多个输入/输出设备,如扬声器、麦克风、鼠标、触摸屏、小键盘、键盘、打印机、显示器等。装置1100可包括连接到总线的一个或多个中央处理单元(central processingunit, CPU)1510、存储器1520、大容量存储器1530、视频适配器1540和I/O接口1560。所述总线是任何类型的若干总线架构中的一种或多种,包括内存总线或内存控制器、外围总线、视频总线等。
CPU 1510可具有任何类型的电子数据处理器。存储器1520可具有或者可以是任何类型的系统存储器,如静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步DRAM(synchronous DRAM,SDRAM)、只读存储器(read-only memory,ROM)、其组合等。在一个实施例中,存储器1520 可以包括在开机时使用的ROM以及在执行程序时使用的存储程序和数据的DRAM。在一个实施例中,内存1520是非瞬时性存储器。大容量存储器1530包括存储数据、程序和其它信息并使数据、程序和其它信息能够通过总线访问的任何类型的存储设备。例如,大容量存储器1530包括固态硬盘、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一种或多种。
视频适配器1540和I/O接口1560提供接口以使外部输入和输出设备与装置1100耦合。例如,装置1100可向客户端提供SQL命令接口。如图所示,输入和输出设备的示例包括与视频适配器1540耦合的显示器1590和与I/O接口1560耦合的鼠标/键盘/打印机1570的任何组合。其它设备可与装置1100耦合,并且可使用额外的或更少的接口卡。例如,串行接口卡(未示出)可以用于为打印机提供串行接口。
装置1100还包括一个或多个网络接口1550,或一个或多个网络1580,其中,网络接口 1550包括以太网线等有线链路,和/或用于接入节点的无线链路。网络接口1550使得装置1100 可以通过网络1580与远程单元通信。例如,网络接口1550可提供与数据库的通信。在一个实施例中,装置1100与局域网或广域网耦合,以进行数据处理并与如其它处理单元、互联网、远程存储设施等远程设备进行通信。
引入分段线性近似,以计算用于预测给定块内像素所需的加权系数的值。分段线性近似一方面与直接的加权系数计算相比,大大降低了距离加权预测机制的计算复杂度,另一方面与现有技术简化相比,有助于实现加权系数值的更高精确度。
实施例可以应用于其它双向和位置相关帧内预测技术(例如,PDPC的不同修改)以及使用取决于从一个像素到另一个像素的距离的加权系数混合图像的不同部分的机制(例如,图像处理中的一些混合方法)。
本发明所描述的主题和操作可在数字电子电路中实现,也可在计算机软件、固件或硬件中实现,包括在本发明中公开的结构及其结构等同物中实现,或在其一个或多个的组合中实现。本发明所描述的主题可实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,所述一个或多个计算机程序被编码在计算机存储介质中,以由数据处理装置执行或控制数据处理装置的操作。或者或另外,所述程序指令可在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上进行编码,生成所述信号以对信息进行编码以传输到合适的接收器装置,供数据处理装置执行。计算机存储介质,例如计算机可读介质,可以是或包括在计算机可读存储设备、计算机可读存储衬底、随机或串行访问存储阵列或设备,或其中一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但计算机存储介质可以是编码到人工生成的传播信号中的计算机程序指令的源或目标。计算机存储介质也可以是或包括在一个或多个单独的物理和/或非瞬时性组件或介质(例如,多个CD、磁盘或其它存储设备) 中。
在一些实现方式中,本发明所描述的操作可实现为云计算网络中服务器中提供的托管服务。例如,可在云计算网络内对计算机可读存储介质进行逻辑分组和访问。云计算网络中的服务器可包括云计算平台,用于提供云服务。在不脱离本发明范围的情况下,术语“云”、“云计算”和“基于云”可酌情互换使用。云服务可以是托管服务,由服务器提供,并通过网络传送到客户端平台,以增强、补充或替换在客户端计算机上本地执行的应用。电路可使用云服务来快速接收软件升级、应用和其它资源,否则,这些资源需要很长的时间才能传送到所述电路。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以任何形式的编程语言编写,包括编译或直译语言、声明性语言或程序语言,并且可以任何形式进行部署,例如,作为独立程序或作为模块、组件、子例程、对象或适用于计算环境中的其它单元进行部署。计算机程序可(但不必)对应文件系统中的文件。程序可存储在包括其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于相关程序的单个文件中,或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可将计算机程序部署在一台计算机中执行,或部署在位于一个站点或分布于多个站点并通过通信网络互连的多台计算机中执行。
本发明中描述的过程和逻辑流可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作和生成输出来执行动作。所述过程和逻辑流也可由现场可编程门阵列(field programmable gate array,FPGA)或专用集成电路(application-specific integrated circuit,ASIC)等专用逻辑电路执行,且装置也可实现为所述专用逻辑电路。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件为用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还包括一个或多个用于存储数据的大容量存储设备 (例如磁盘、磁光盘或光盘),或与一个或多个用于存储数据的大容量存储设备可操作地耦合以从大容量存储设备接收数据和/或将数据传送给大容量存储设备。然而,计算机不必具有此类设备。此外,可将计算机嵌入到其它设备中,例如移动电话、个人数字助理(personal digital assistant,PDA)、移动音频或视频播放器、游戏机、全球定位系统(Global Positioning System, GPS)接收器或便携式存储设备(例如,通用串行总线(universal serial bus,USB)闪存驱动器)等。适合存储计算机程序指令和数据的设备包括各种形式的非易失性存储器、介质和存储设备,例如,包括EPROM、EEPROM和闪存设备等半导体存储设备;内置硬盘或可移动硬盘等磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路。
虽然本发明包括许多具体实现方式的细节,但这些不应对任何实现方式的范围或所要求保护的范围造成限制,而应作为针对特定实现方式的特定实现方式的特征的描述。在单独实现方式的上下文中,本发明中所描述的某些特征也可以在单个实现方式中组合实现。反之,在单个实现方式的上下文中描述的各种特征也可以在多个实现方式中单独实现或在任何合适的子组合中实现。此外,尽管上文可将特征描述为以某些组合来实现,甚至最初要求保护,但是在某些情况下,可从要求保护的组合中去除该组合中的一个或多个特征,且所要求保护的组合可针对子组合或子组合的变型。
同样,虽然附图以特定顺序描述操作,但这不应理解为要求此类操作按照所示的特定顺序或按顺序执行,或者要求执行所示的所有操作,以达到期望的结果。在某些情况下,进行多任务处理和并行处理可以是有利的。此外,上述实现方式中的各种系统组件的分离不应理解为所有实现方式都要求这种分离。应理解,所描述的程序组件和系统通常可以一起集成到单个软件产品中或封装到多个软件产品中。
因此,已经描述了本主题的特定实现方式。其它实现方式在以下权利要求的保护范围之内。在一些情况下,可以不同的顺序执行权利要求中所述的动作,并且仍然达到期望的结果。此外,附图中描述的过程不一定要求按所示的特定顺序或按顺序执行才能达到期望的结果。在某些实现方式中,进行多任务处理和并行处理可以是有利的。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以多种其它特定形式来体现。本发明示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的细节。例如,可以在另一系统中结合或集成各种元件或组件,或者可以省略或不实施某些特征。
此外,在不偏离本发明的范围的情况下,各种实施例中描述及图示为独立或分离的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。示出或描述为彼此耦合、或直接耦合、或相互通信的其它项目可通过某种接口、设备或中间组件以电方式、机械方式等间接耦合或通信。变化、替换和变更的其它示例可由本领域技术人员确定,并可在不脱离本文公开的精神和范围的情况下举例。

Claims (11)

1.一种用于对视频的当前块进行编码的编码方法,其特征在于,所述编码方法包括:
根据所述当前块的相邻块的样本值确定所述当前块的帧内预测模式;
根据帧内预测模式的最可能模式(Most Probable Mode,MPM)集合编码所述当前块的帧内预测模式,以得到所述当前块的MPM标志的值和所述当前块的MPM索引;
其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为平面模式时,或者当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为直流(direct current,DC)模式时,或者当所述当前块的左邻块不可用,且所述当前块的上邻块的帧内预测模式为平面模式时,或者当所述当前块的左邻块不可用,且所述当前块的上邻块不可用时,或者当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块不可用时,
所述帧内预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式,所述第一偏移为–4,所述第二偏移为+4。
2.根据权利要求1所述的方法,其特征在于,当所述当前块的所述帧内预测模式为平面模式时,所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0。
3.一种用于对视频的当前块进行解码的解码方法,其特征在于,所述解码方法包括:
从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;
当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;
其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为平面模式时,
所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式,所述第一偏移为–4,所述第二偏移为+4。
4.根据权利要求3所述的方法,其特征在于,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
5.一种用于对视频的当前块进行解码的解码方法,其特征在于,所述解码方法包括:
从码流中获取所述当前块的最可能模式(Most Probable Mode,MPM)标志的值;
当所述MPM标志的值表示所述当前块的帧内预测模式为帧内预测模式的MPM集合中包括的帧内预测模式时,从所述码流中获取所述当前块的MPM索引;
根据所述当前块的所述MPM索引和所述MPM集合,获得所述当前块的所述帧内预测模式的值;
其中,当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块的帧内预测模式为直流(direct current,DC)模式时,或者当所述当前块的左邻块不可用,且所述当前块的上邻块的帧内预测模式为平面模式时,或者当所述当前块的左邻块不可用,且所述当前块的上邻块不可用时,或者当所述当前块的左邻块的帧内预测模式为平面模式,且所述当前块的上邻块不可用时,
所述预测模式的MPM集合包括:平面模式、DC模式、垂直模式、水平模式、与垂直模式的第一偏移对应的帧内预测模式以及与垂直模式的第二偏移对应的帧内预测模式,所述第一偏移为–4,所述第二偏移为+4。
6.根据权利要求5所述的方法,其特征在于,当所述当前块的所述MPM标志的值为1且所述当前块的所述MPM索引为0时,所述当前块的所述帧内预测模式为平面模式。
7.一种编码器,其特征在于,包括处理电路,用于执行根据权利要求1或2所述的方法。
8.一种解码器,其特征在于,包括处理电路,用于执行根据权利要求3至6中任一项所述的方法。
9.一种计算机可读介质,存储计算机程序,所述计算机程序可被处理器执行根据权利要求1至6中任一项所述方法。
10.一种视频数据编码器,其特征在于,所述编码器包括:
存储器,用于通过比特流的形式存储所述视频数据;
处理器,用于执行根据权利要求1或2所述的方法。
11.一种视频数据解码器,其特征在于,所述解码器包括:
存储器,用于通过比特流的形式存储所述视频数据;
处理器,用于执行根据权利要求3-6任一项所述的方法。
CN202110593135.3A 2018-09-03 2019-09-03 视频编码方法、解码方法、编码器、解码器和存储介质 Active CN113612995B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862726419P 2018-09-03 2018-09-03
US62/726,419 2018-09-03
PCT/CN2019/104254 WO2020048463A1 (en) 2018-09-03 2019-09-03 Method and apparatus for intra prediction
CN201980056218.XA CN112640467B (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980056218.XA Division CN112640467B (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置

Publications (2)

Publication Number Publication Date
CN113612995A CN113612995A (zh) 2021-11-05
CN113612995B true CN113612995B (zh) 2022-09-09

Family

ID=69721566

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202311287978.6A Pending CN117998095A (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置
CN201980056218.XA Active CN112640467B (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置
CN202110593135.3A Active CN113612995B (zh) 2018-09-03 2019-09-03 视频编码方法、解码方法、编码器、解码器和存储介质
CN202311295948.XA Pending CN117729327A (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置
CN202311290716.5A Pending CN117896518A (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202311287978.6A Pending CN117998095A (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置
CN201980056218.XA Active CN112640467B (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202311295948.XA Pending CN117729327A (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置
CN202311290716.5A Pending CN117896518A (zh) 2018-09-03 2019-09-03 用于帧内预测的方法和装置

Country Status (11)

Country Link
US (3) US10972725B2 (zh)
EP (2) EP4346211A2 (zh)
JP (3) JP7039731B2 (zh)
KR (3) KR20210002663A (zh)
CN (5) CN117998095A (zh)
AU (2) AU2019335453B2 (zh)
BR (1) BR112020027043A2 (zh)
CA (1) CA3111038A1 (zh)
MX (2) MX2020014195A (zh)
SG (1) SG11202101742UA (zh)
WO (1) WO2020048463A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013322008B2 (en) 2012-09-26 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
WO2020055159A1 (ko) * 2018-09-11 2020-03-19 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20200083315A (ko) * 2018-12-28 2020-07-08 한국전자통신연구원 화면 내 예측 모드 유도 방법 및 장치
CN116527893A (zh) * 2019-01-08 2023-08-01 Lg电子株式会社 解码设备、编码设备和数据发送设备
US11190758B2 (en) * 2019-04-25 2021-11-30 Qualcomm Incorporated Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation
WO2020262988A1 (ko) * 2019-06-25 2020-12-30 엘지전자 주식회사 영상 코딩 시스템에서 무손실 코딩을 적용하는 영상 디코딩 방법 및 그 장치
US20220400255A1 (en) * 2021-06-11 2022-12-15 Tencent America LLC Intra Mode Coding
US20230008488A1 (en) * 2021-07-07 2023-01-12 Tencent America LLC Entropy coding for intra prediction modes
US11917136B2 (en) 2021-07-15 2024-02-27 Tencent America LLC Intra mode coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017176030A1 (ko) * 2016-04-06 2017-10-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2018124333A1 (ko) * 2016-12-28 2018-07-05 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100348051C (zh) * 2005-03-31 2007-11-07 华中科技大学 一种增强型帧内预测模式编码方法
RU2008146977A (ru) * 2006-04-28 2010-06-10 НТТ ДоКоМо, Инк. (JP) Устройство прогнозирующего кодирования изображений, способ прогнозирующего кодирования изображений, программа прогнозирующего кодирования изображений, устройство прогнозирующего декодирования изображений, способ прогнозирующего декодирования изображений и программа прогнозирующего декодирования изображений
CN104796717B (zh) * 2009-07-01 2018-11-06 汤姆森特许公司 用于视频编码器和解码器的方法和装置
EP2478702B8 (en) * 2009-09-14 2017-09-06 Thomson Licensing DTV Methods and apparatus for efficient video encoding and decoding of intra prediction mode
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
ES2657197T3 (es) * 2011-06-28 2018-03-01 Samsung Electronics Co., Ltd. Aparato de decodificación de video con intra predicción
US9699456B2 (en) * 2011-07-20 2017-07-04 Qualcomm Incorporated Buffering prediction data in video coding
US9699457B2 (en) * 2011-10-11 2017-07-04 Qualcomm Incorporated Most probable transform for intra prediction coding
CN105338348B (zh) * 2011-10-24 2018-11-13 英孚布瑞智有限私人贸易公司 用于图像解码的方法和装置
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20130049523A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
US9210438B2 (en) * 2012-01-20 2015-12-08 Sony Corporation Logical intra mode naming in HEVC video coding
KR20170084055A (ko) * 2014-11-06 2017-07-19 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN115134591A (zh) * 2015-06-05 2022-09-30 杜比实验室特许公司 图像编解码方法、比特流存储方法
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
WO2017142335A1 (ko) * 2016-02-16 2017-08-24 삼성전자 주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
KR102631308B1 (ko) * 2016-02-16 2024-01-30 삼성전자주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
US20170374369A1 (en) * 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation
US11405620B2 (en) * 2016-08-01 2022-08-02 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus with sub-block intra prediction
CN110089115B (zh) * 2016-08-26 2021-07-06 夏普株式会社 图像解码装置、图像编码装置
US20190238840A1 (en) * 2016-09-30 2019-08-01 Lg Electronics Inc. Method for processing picture based on intra-prediction mode and apparatus for same
US10506228B2 (en) * 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
CN109845254B (zh) * 2016-10-14 2024-01-26 世宗大学校产学协力团 影像编码/解码方法及装置
WO2018124627A1 (ko) * 2016-12-27 2018-07-05 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN117336475A (zh) * 2017-01-02 2024-01-02 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的发送方法以及存储介质
CN117395403A (zh) * 2017-04-28 2024-01-12 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10602180B2 (en) * 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
CN116248863A (zh) * 2017-07-03 2023-06-09 汉阳大学校产学协力团 利用包含追加区域的分割单位的影像解码方法以及装置
CN117354513A (zh) * 2017-07-28 2024-01-05 韩国电子通信研究院 图像编码方法和图像解码方法以及计算机可读记录介质
US11616971B2 (en) * 2017-09-28 2023-03-28 Samsung Electronics Co., Ltd. Encoding and decoding method and device for determining a decoding order between a left and a right lower blocks
WO2019083284A1 (ko) * 2017-10-24 2019-05-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치
US11350107B2 (en) * 2017-11-16 2022-05-31 Electronics And Telecommunications Research Institute Image encoding/decoding method and device, and recording medium storing bitstream
CN116405674A (zh) * 2017-12-22 2023-07-07 数码士有限公司 视频信号处理方法和设备
KR102618498B1 (ko) * 2018-03-08 2023-12-27 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN111937381A (zh) * 2018-04-01 2020-11-13 金起佰 使用帧内预测的图像编码/解码方法和装置
EP3562158A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for combined intra prediction modes
KR101956756B1 (ko) * 2018-06-12 2019-03-11 광운대학교 산학협력단 성분 간 참조 기반의 비디오 신호 처리 방법 및 장치
US10638161B2 (en) * 2018-07-13 2020-04-28 Tencent America LLC Methods and apparatus for most probable mode derivation
US11616949B2 (en) * 2018-08-31 2023-03-28 Hfi Innovation Inc. Method and apparatus of intra prediction with MPM generation in image and video processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017176030A1 (ko) * 2016-04-06 2017-10-12 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2018124333A1 (ko) * 2016-12-28 2018-07-05 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
JP2022091799A (ja) 2022-06-21
SG11202101742UA (en) 2021-03-30
KR20220107089A (ko) 2022-08-01
MX2020014195A (es) 2022-01-14
CN112640467A (zh) 2021-04-09
CN113612995A (zh) 2021-11-05
US20230319266A1 (en) 2023-10-05
CA3111038A1 (en) 2020-03-12
EP3818715B1 (en) 2024-04-03
JP2024045200A (ja) 2024-04-02
US10972725B2 (en) 2021-04-06
CN117896518A (zh) 2024-04-16
AU2019335453A1 (en) 2021-03-25
BR112020027043A2 (pt) 2021-03-30
EP3818715A4 (en) 2021-07-21
AU2023229601A1 (en) 2023-10-05
CN112640467B (zh) 2023-10-20
US20200389644A1 (en) 2020-12-10
JP7039731B2 (ja) 2022-03-22
CN117998095A (zh) 2024-05-07
AU2019335453B2 (en) 2023-06-15
US11647182B2 (en) 2023-05-09
US20210203927A1 (en) 2021-07-01
MX2022000585A (es) 2022-03-04
JP7419418B2 (ja) 2024-01-22
JP2021528888A (ja) 2021-10-21
KR20210002663A (ko) 2021-01-08
WO2020048463A1 (en) 2020-03-12
EP4346211A2 (en) 2024-04-03
CN117729327A (zh) 2024-03-19
KR20240042127A (ko) 2024-04-01
EP3818715A1 (en) 2021-05-12

Similar Documents

Publication Publication Date Title
CN113612995B (zh) 视频编码方法、解码方法、编码器、解码器和存储介质
AU2023202685B2 (en) Method and apparatus for intra prediction
CN112567740B (zh) 用于帧内预测的方法和装置
CN112640453B (zh) 帧内预测的方法和装置
CN112425165B (zh) 基于邻块的帧内预测模式推导
RU2785106C2 (ru) Способ и устройство для внутреннего предсказания

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