[go: up one dir, main page]

CN121173957A - 视频解码方法、视频编码方法及相关装置 - Google Patents

视频解码方法、视频编码方法及相关装置

Info

Publication number
CN121173957A
CN121173957A CN202410748617.5A CN202410748617A CN121173957A CN 121173957 A CN121173957 A CN 121173957A CN 202410748617 A CN202410748617 A CN 202410748617A CN 121173957 A CN121173957 A CN 121173957A
Authority
CN
China
Prior art keywords
block
sub
transform
transformation
kernel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410748617.5A
Other languages
English (en)
Inventor
彭双
张雪
江东
林聚财
殷俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202410748617.5A priority Critical patent/CN121173957A/zh
Priority to PCT/CN2025/099688 priority patent/WO2025256480A1/en
Publication of CN121173957A publication Critical patent/CN121173957A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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

Landscapes

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

Abstract

本申请公开了一种视频解码方法、视频编码方法及相关装置。该视频解码方法包括:确定当前帧中的当前块在帧内块复制模式下的反量化残差块;确定所述反量化残差块按所述反量化残差块的划分方式进行划分得到的至少一个子块;对至少一个所述子块进行反变换,得到至少一个所述子块的预测残差;基于至少一个所述子块的预测残差,确定当前帧的解码图像。本申请能够适应不同的残差分布。

Description

视频解码方法、视频编码方法及相关装置
技术领域
本申请涉及视频编解码技术领域,特别是涉及一种视频解码方法、视频编码方法及相关装置。
背景技术
视频图像数据量比较大,通常需要对视频像素数据(RGB、YUV等)进行压缩,压缩后的数据称之为视频码流,视频码流通过有线或者无线网络传输至用户端,再进行解码观看。整个视频编码流程包括块划分、预测、变换、量化、编码等过程。整个视频解码流程包括熵解码、反量化、反变换等过程。但是,现有的视频编码方法和视频解码方法存在一些不足,例如,视频编码方法中的变换方法和视频解码方法中的反变换方法难以适应不同的残差分布。
发明内容
本申请提供一种视频解码方法、视频编码方法及相关装置,以能够适应不同的残差分布。
为达到上述目的,本申请提供一种视频解码方法,该方法包括:
确定当前帧中的当前块在帧内块复制模式下的反量化残差块;
确定所述反量化残差块按所述反量化残差块的划分方式进行划分得到的至少一个子块;
对至少一个所述子块进行反变换,得到至少一个所述子块的预测残差;
基于至少一个所述子块的预测残差,确定当前帧的解码图像。
为达到上述目的,本申请还提供一种视频编码方法,该方法包括:
确定当前帧中当前块在帧内块复制模式下的预测残差块;
确定所述预测残差块按所述预测残差块的划分方式进行划分得到的至少一个子块;
对至少一个所述子块进行变换,得到至少一个所述子块的变换结果;
基于至少一个所述子块的变换结果,确定当前帧的码流数据。
为达到上述目的,本申请还提供一种视频解码方法,该方法包括:
确定当前帧中当前块在帧内块复制模式下的反量化残差块;
利用所述反量化残差块的变换核对所述反量化残差块进行反变换;
基于所述反量化残差块的反变换结果,确定当前帧的解码图像。
其中,所述变换核包括由DST7和DCT8中的至少一者确定的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括由DST7和DCT8中的至少一者确定的变换核。
为达到上述目的,本申请还提供一种视频解码方法,该方法包括:
确定当前帧中当前块在帧内块复制模式下的反量化残差块;
利用所述反量化残差块的变换核对所述反量化残差块进行反变换;
基于所述反量化残差块的反变换结果,确定当前帧的解码图像。
其中,所述变换核包括预设类型的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括预设类型的变换核,所述预设类型的变换核中的水平变换核和垂直变换核不相同。
为达到上述目的,本申请还提供一种视频编码方法,该方法包括:
确定当前帧中当前块在帧内块复制模式下的预测残差块;
利用所述预测残差块的变换核对所述预测残差块进行变换;
基于所述预测残差块的变换结果,确定当前帧的码流数据。
其中,所述变换核包括由DST7和DCT8中的至少一者确定的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括由DST7和DCT8中的至少一者确定的变换核。
为达到上述目的,本申请还提供一种视频编码方法,该方法包括:
确定当前帧中当前块在帧内块复制模式下的预测残差块;
利用所述预测残差块的变换核对所述预测残差块进行变换;
基于所述预测残差块的变换结果,确定当前帧的码流数据。
其中,所述变换核包括预设类型的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括预设类型的变换核,所述预设类型的变换核中的水平变换核和垂直变换核不相同。
为达到上述目的,本申请还提供一种电子设备,该电子设备包括相互连接的处理器和存储器,所述存储器用于存储程序,所述处理器用于执行所述程序以实现上述的方法的步骤。
为达到上述目的,本申请还提供一种计算机可读存储介质,其用于存储程序,程序能够被执行以实现上述方法。
本申请视频解码方法确定当前块的残差块按残差块的划分方式进行划分得到的至少一个子块;对至少一个子块进行反变换,得到至少一个子块的预测残差,如此在该视频解码方法中可以对当前块的残差块进行划分,且可以选择性地对子块进行反变换,从而可以对不存在预测残差的地方进行反变换,可以节省码流消耗。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请反变换方法一实施方式的流程示意图;
图2是本申请反变换方法中划分方法一实施例的示意图;
图3是本申请反变换方法中划分方法一实施例的示意图;
图4是本申请反变换方法中划分方法一实施例的示意图;
图5是本申请反变换方法中划分方法一实施例的示意图;
图6是本申请反变换方法中划分方法一实施例的示意图;
图7是本申请反变换方法中划分方法一实施例的示意图;
图8是本申请反变换方法中划分方法一实施例的示意图;
图9是本申请反变换方法中划分方法一实施例的示意图;
图10是本申请反变换方法一实施例的示意图;
图11是本申请反变换方法一实施例的示意图;
图12是本申请反变换方法一实施例的示意图;
图13是本申请变换方法一实施方式的流程示意图;
图14是本申请反变换方法另一实施方式的流程示意图;
图15是本申请变换方法另一实施方式的流程示意图;
图16是本申请视频解码方法一实施方式的流程示意图;
图17是本申请视频编解码方法的流程示意图;
图18是本申请视频编码方法一实施方式的流程示意图;
图19是本申请电子设备一实施方式的结构示意图;
图20是本申请计算机可读存储介质一实施方式的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,除非另外指明(例如,“或另外”或“或在替代方案中”),否则如本文所使用的术语“或”指代非排他性的“或”(即,“和/或”)。并且,本文所描述的各种实施例不一定相互排斥,因为一些实施例可以与一个或多个其它实施例组合以形成新的实施例。
相关技术中,当CU(Coding Unit,编码单元)为IBC(Intra block copy,帧内块复制)预测模式时,其变换集合由图像头中句法picture_ts_enable_flag所控制。当picture_ts_enable_flag=0时,IBC编码块的变换集仅包括{DCT2(离散余弦变换类型2)},即IBC编码块采用DCT2对预测残差进行变换/反变换;当picture_ts_enable_flag=1时,IBC编码块的变换集为{DCT2,TS(变换跳过,即不进行变换)},具体使用的变换方式由句法enhanced_ts_flag表示。
另外,上述IBC变换技术仅针对亮度分量,对于IBC编码块的色度分量,其变换方式仅为DCT2。
在该相关技术中,IBC块的变换技术针对整个IBC块,而实际残差可能仅分布于块的局部区域,因此对于不存在残差的地方也消耗了比特。
基于此,本申请提出一种反变换方法,该反变换方法确定当前块的反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块;对至少一个子块进行反变换,得到至少一个子块的预测残差,如此在该反变换方法中可以对当前块的反量化残差块进行划分,且可以选择性地对子块进行反变换,从而可以对不存在残差的地方进行反变换,可以节省码流消耗。
具体地,如图1所示,上述的反变换方法可以包括以下步骤。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本申请技术思想的基础上,任意更换执行顺序。
S110:确定当前块在帧内块复制模式下的反量化残差块。
可以先确定当前块在帧内块复制模式下的反量化残差块,以便后续对反量化残差块进行划分,并对划分得到的至少一个子块进行反变换。
其中,当前块可以指当前待解码的图像单元。在一实施例中,若当前块的预测模式是帧内块复制预测模式,则确定当前块在帧内块复制模式下的反量化残差块;若当前块的预测模式是除帧内块复制预测模式以外的其他预测模式,则确定当前块在其他预测模式下的反量化残差块。
可选地,可以在当前块的预测模式是帧内块复制预测模式时,并确定当前块的反量化残差块后,进入步骤S120。
当然,在其他实施例中,可以在当前块的预测模式是除帧内块复制预测模式以外的其他预测模式时,并确定当前块的反量化残差块后,进入步骤S120。
可选地,可以基于码流进行熵解码和反量化等处理,得到当前块的反量化残差块。
S120:确定反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块。
确定当前块在帧内块复制模式下的反量化残差块后,可以确定反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块。
可选地,可以先确定当前块的反量化残差块的划分方式,然后确定当前块的反量化残差块按所确定的划分方式进行划分得到的至少一个子块。
在一实施例中,可利用固定的划分方式对当前块的反量化残差块进行划分。例如,固定的划分方式为四叉树划分方式,如此可以将当前块的反量化残差块进行四叉树划分,得到当前块的反量化残差块的四个子块。
在另一实施例中,可以通过读取码流中当前块的划分方式句法,基于当前块的划分方式句法的取值确定当前块的反量化残差块的划分方式。
其中,划分方式句法可包括子块开关句法和子块划分方式句法。
可以基于子块开关句法的取值确定是否对当前块的反量化残差块进行子块划分;例如,子块开关句法为sbt_cu_flag,sbt_cu_flag取值为第一值(例如0)时表示不进行划分,在此情况下,反量化残差块的划分方式即为不进行划分,如此最终的子块尺寸与反量化残差块的尺寸相同;sbt_cu_flag取值为第二值(例如1)时表示进行子块划分,如此划分得到的子块尺寸与反量化残差块的尺寸不同。
在确定对当前块的反量化残差块进行子块划分的情况下,基于子块划分方式句法的取值确定当前块的反量化残差块的子块划分方式。例如子块划分方式句法为sbt_ext,sbt_ext取值为第三值(例如为0)时表示水平方向进行1:1划分,sbt_ext取值为第四值(例如为1)时表示水平方向进行1:1:1划分,sbt_ext取值为第五值(例如为2)时表示水平方向进行1:2:1划分,sbt_ext取值为第六值(例如为3)时表示垂直方向进行1:1划分。又例如,子块划分方式句法包括方向句法和比例句法。其中,方向句法可以包括sbt_ext和/或sbt_dir;在一个具体的例子中,sbt_ext用于表示进行水平和垂直划分,还是仅垂直或仅进行水平划分;当sbt_ext取值为第七值(例如为0)时,表示进行水平和垂直划分,当sbt_ext取值为第八值(例如为1)时,表示仅垂直或仅水平划分,sbt_dir取值为第九值(例如为0)表示进行垂直划分,sbt_dir取值为第十值(例如为1)表示进行水平划分;在另一个具体的例子中,当sbt_ext取值为第七值(例如为0)时,表示进行水平和垂直划分,当sbt_ext取值为第十一值(例如为1)时,表示仅垂直划分,当sbt_ext取值为第十二值(例如为2)时,表示仅水平划分。其中,比例句法可以包括sbt_ext1或sbt_quad;sbt_ext1/sbt_quad取值为第十三值(例如为0)表达划分比例为1:1,sbt_ext1/sbt_quad取值为第十四值(例如为1)表示划分比例为1:3或3:1。其中,方向句法的方案和比例句法的方案可以随机组合,在此不做赘述。在其他实施例中,也可以通过方向句法确定反量化残差块的划分方式中的划分方向,将固定的划分比例作为反量化残差块的划分方式中的划分比例,即可以不基于比例句法确定反量化残差块的划分方式中的划分比例。在某一实施例中,也可以通过比例句法确定反量化残差块的划分方式中的划分比例,将固定的划分方向作为反量化残差块的划分方式中的划分方向,即可以不基于方向句法确定反量化残差块的划分方式中的划分方向。
在另一实现方式中,可以通过一种句法来表达划分方式,即划分方式句法自身定义了划分方向和划分比例等。例如,划分方式句法可为sbt_cu_flag,sbt_cu_flag的每一取值均限定了一划分方式,例如sbt_cu_flag取值为0则代表当前块的划分方式为水平方向1:1划分,sbt_cu_flag的取值为1代表当前块的划分方式为不进行划分,sbt_cu_flag的取值为2代表当前块的划分方式为垂直方向进行1:3划分……
在又一实现方式中,变换模式句法中定义了划分方式,如此可以将变换模式句法作为划分方式句法,即基于变换模式句法的取值确定当前块的反量化残差块的划分方式。例如,变换模式句法取值为0代表水平方向进行1:1划分,并对划分的至少部分子块进行DST7变换;变换模式句法取值为1代表垂直方向进行1:3划分,并对划分的至少部分子块进行DCT8变换,如此变换模式句法取值为0代表当前块的反量化残差块的划分方式为水平方向进行1:1划分。
S130:对至少一个子块进行反变换,得到至少一个子块的预测残差。
确定反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块后,可以对至少一个子块进行反变换,得到至少一个子块的预测残差。
可选地,可以对全部子块进行反变换,得到全部子块的预测残差。例如,如图2所示,若当前块的反量化残差块的划分方式为不进行划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸也为W*H,可以直接对W*H的子块(即填充区域)进行反变换。
也可以对部分子块进行反变换,得到部分子块的预测残差。
在一实施例中,可以对预设位置的子块进行反变换,得到预设位置的子块的预测残差。例如,可以对全部子块中按编码顺序的第一个子块进行反变换,得到第一个子块的预测残差。
在另一实施例中,为提高编解码效率,节省码率,可以对存在预测残差的子块进行反变换。
例如,如图3所示,当前块的反量化残差块的划分方式为垂直方向进行1:1划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸为W/2*H;如图3中的左图所示,可以将左侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图3中的右图所示,可以将右侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换。
又例如,如图4中的左图所示,当前块的反量化残差块的划分方式为垂直方向进行1:3划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸分别为W/4*H和3W/4*H,可以将左侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图5中的右图所示,当前块的反量化残差块的划分方式为垂直方向进行3:1划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸分别为W/4*H和3W/4*H,可以将右侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换。
又例如,如图5所示,当前块的反量化残差块的划分方式为水平方向进行1:1划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸为W*H/2;如图5中的左图所示,可以将上侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图5中的右图所示,可以将下侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换。
又例如,如图6中的左图所示,当前块的反量化残差块的划分方式为水平方向进行1:3划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸分别为W*H/4和W*3H/4,可以将上侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图6中的右图所示,当前块的反量化残差块的划分方式为水平方向进行3:1划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸分别为W*H/4和W*3H/4,可以将下侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换。
又例如,如图7所示,当前块的反量化残差块的划分方式为垂直方向和水平方向进行1:1划分,即IBC反量化残差块的尺寸为W*H,划分后的子块的尺寸为W/2*H/2;如图7中的第一幅图所示,可以将左上侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图7中的第二幅图所示,可以将右上侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图7中的第三幅图所示,可以将左下侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图7中的第四幅图所示,可以将右下侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换。
又例如,如图8中的第一幅图所示,当前块的反量化残差块的划分方式为垂直方向和水平方向进行划分,水平划分比例和垂直划分比例均为1:3,可以将左上侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图8中的第二幅图所示,当前块的反量化残差块的划分方式为垂直方向和水平方向进行划分,水平划分比例为1:3,垂直划分比例为3:1,可以将右上侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图8中的第三幅图所示,当前块的反量化残差块的划分方式为垂直方向和水平方向进行划分,水平划分比例为3:1,垂直划分比例为1:3,可以将左下侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换;如图8中的第四幅图所示,当前块的反量化残差块的划分方式为垂直方向和水平方向进行划分,水平划分比例为3:1,垂直划分比例为3:1,可以将右下侧子块(即填充区域)作为存在预测残差的子块并对其进行反变换。
再例如,如图9所示,当前块的反量化残差块的划分方式为垂直方向和水平方向进行划分,水平划分比例和垂直划分比例均为1:1,可以将所有子块(即填充区域)作为存在预测残差的子块并对其进行反变换。
在一个具体的例子中,可以解读码流中当前块的子块选择句法,基于子块选择句法的取值从所有子块中确定出存在预测残差的子块,对所确定的存在预测残差的子块进行反变换。
其中,子块选择句法采用的可以是隐式句法编码或显式句法编码,在此不做限制。如此对于解码端,可以通过隐式解码方式或显式解码方式进行子块选择句法的读取,以从所有子块中确定出存在预测残差的子块。
在一个具体的实现方式中,子块选择句法可包括划分方式句法和位置选择句法,在当前块的划分方式句法指示反量化残差块的划分方式为水平方向划分为两个子块,响应于位置选择句法的取值为第一数值(例如为1),存在预测残差的子块为两个子块中下侧的子块;响应于位置选择句法的取值为第二数值(例如为0),存在预测残差的子块为两个子块中上侧的子块;在当前块的划分方式句法指示反量化残差块的划分方式为垂直方向划分为两个子块,响应于位置选择句法的取值为第一数值(例如为1),存在预测残差的子块为两个子块中右侧的子块;响应于位置选择句法的取值为第二数值(例如为0),存在预测残差的子块为两个子块中左侧的子块。
在另一个具体的实现方式中,子块选择句法用于表示选择的子块在所有子块中按照编码顺序/解码顺序的排序。例如响应于子块选择句法的取值为第十五值(例如为0),选择的子块在所有子块中按照编码顺序/解码顺序的第一位;响应于子块选择句法的取值为第十六值(例如为1),选择的子块在所有子块中按照编码顺序/解码顺序的第二位……其中,在一实施例中,编码顺序/解码顺序可以为从左往右,从上往下;在另一实施例中,编码顺序/解码顺序可以为从右往左,从下往上。
在另一个具体的例子中,可以将划分方法对应位置的子块作为存在预测残差的子块。
例如,水平方向按1:1划分的划分方式对应位置的子块可以为上侧的子块,垂直方向按1:3划分的划分方式对应位置的子块可以为右侧的子块。
又例如,变换模式句法中定义了存在预测残差的子块的位置,如此可以将变换模式句法作为子块选择句法,即基于变换模式句法的取值确定当前块的反量化残差块中存在预测残差的子块的位置。例如,变换模式句法取值为0代表水平方向进行1:1划分,并对划分的子块中上侧的子块进行DST7变换;变换模式句法取值为1代表垂直方向进行1:3划分,并对划分的子块中左侧的子块进行DCT8变换,如此变换模式句法取值为0代表当前块的子块中存在预测残差的子块为上侧子块。
若上述所确定的待进行反变换的子块的数量为多个,上述所确定的待进行反变换的子块的位置可以是连续的,也可以是不连续的,在此不作限制。
确定当前块的反量化残差块中待进行反变换的子块后,可以利用变换核对至少一个待进行反变换的子块进行反变换处理,以得到至少一个子块的预测残差。
在一实施例中,可以利用预设的变换核对至少一个子块进行反变换。例如,预设的变换核为DCT2,则可以利用DCT2变换核对至少一个子块进行反变换。又例如,预设的变换核为DCT8,则可以利用DCT8变换核对至少一个子块进行反变换。
在另一实施例中,利用划分方式对应的变换核对至少一个子块进行反变换。
可选地,每个划分方式划分得到的多个子块对应相同的变换核。例如,水平方向按1:1划分的划分方式得到的两个子块均可对应DST7,垂直方向按1:3划分的划分方式对应的变换核可以为DCT2。
进一步地,每个划分方式得到的各个位置的子块均可以有各自对应的变换核,即每个划分方式划分得到的多个子块可对应不同的变换核。例如,如图10所示,垂直方向按1:1划分得到的左侧子块对应的变换核包括水平变换核DCT8和垂直变换核DST7,垂直方向按1:1划分得到的右侧子块对应的变换核包括水平变换核DST7和垂直变换核DST7,水平方向按1:1划分得到的上侧子块对应的变换核包括水平变换核DST7和垂直变换核DCT8,水平方向按1:1划分得到的下侧子块对应的变换核包括水平变换核DST7和垂直变换核DST7,垂直方向按1:3划分得到的左侧子块对应的变换核包括水平变换核DCT8和垂直变换核DST7,垂直方向按3:1划分得到的右侧子块对应的变换核包括水平变换核DST7和垂直变换核DST7,水平方向按1:3划分得到的上侧子块对应的变换核包括水平变换核DST7和垂直变换核DCT8,水平方向按3:1划分得到的下侧子块对应的变换核包括水平变换核DST7和垂直变换核DST7。又例如,如图11所示,垂直方向按1:1划分且水平方向按1:1划分得到的左上角子块对应的变换核包括水平变换核DCT8和垂直变换核DCT8,垂直方向按1:1划分且水平方向按1:1划分得到的右上角子块对应的变换核包括水平变换核DST7和垂直变换核DCT8,垂直方向按1:1划分且水平方向按1:1划分得到的左下角子块对应的变换核包括水平变换核DCT8和垂直变换核DST7,垂直方向按1:1划分且水平方向按1:1划分得到的右下角子块对应的变换核包括水平变换核DST7和垂直变换核DST7,垂直方向按1:3划分且水平方向按1:3划分得到的左上角子块对应的变换核包括水平变换核DCT8和垂直变换核DCT8,垂直方向按3:1划分且水平方向按1:3划分得到的右上角子块对应的变换核包括水平变换核DST7和垂直变换核DCT8,垂直方向按1:3划分且水平方向按3:1划分得到的左下角子块对应的变换核包括水平变换核DCT8和垂直变换核DST7,垂直方向按3:1划分且水平方向按3:1划分得到的右下角子块对应的变换核包括水平变换核DST7和垂直变换核DST7。可以理解的是,图10和图11中的填充区域为存在预测残差的子块,图10和图11中的未填充区域不为存在预测残差的子块,图10所示的8种实施例和图11所示的8种实施例均可各自作为一种变换模式;如此若将图10和图11所示的16种实施例均应用视频编解码的IBC变换/反变换中,则针对于帧内块复制反量化残差块至少有16种变换模式。再例如,如图12所示,当前块的反量化残差块的划分方式为垂直方向和水平方向进行划分,水平划分比例和垂直划分比例均为1:1,可以将所有子块(即填充区域)作为存在预测残差的子块并对其进行反变换,其中,左上角的子块的变换核包括水平变换核DCT8和垂直变换核DCT8,左下角的子块的变换核包括水平变换核DCT8和垂直变换核DST7,右上角的子块的变换核包括水平变换核DST7和垂直变换核DCT8,右下角的子块的变换核包括水平变换核DST7和垂直变换核DST7。
又例如,变换模式句法中定义了子块的变换核,如此可以基于变换模式句法的取值确定当前块的残差子块的变换核。例如,变换模式句法取值为0代表水平方向进行1:1划分,并对划分的子块中上侧的子块进行DST7变换;变换模式句法取值为1代表垂直方向进行1:3划分,并对划分的子块中左侧的子块进行DCT8变换,如此变换模式句法取值为0代表当前块的子块的变换核为DST7变换。
在又一实施例中,可以基于变换核集合确定至少一个子块中每个子块的变换核,利用每个子块的变换核对每个子块进行反变换。
可以基于每个子块对应的变换索引句法的取值,从变换核集合中确定出每个子块的变换核。示例性地,变换核集合为{变换核1,变换核2},变换索引句法istTuflag用于表达使用变换核集合中的哪个变换核;当istTuflag=0时,表示使用变换核1;当istTuflag=1时,表示使用变换核2。
在一个具体的例子中,编码端可以对变换索引句法进行隐式句法编码。例如可以通过每个子块对应的所有量化系数的奇偶性来决定变换索引句法的取值,也可通过每个子块对应的奇数量化系数的奇偶性来决定变换索引句法的取值,也可通过每个子块对应的偶数量化系数的奇偶性来决定变换索引句法的取值。可选地,此处的量化系数可以为解码端反量化后的系数。如此可以基于码流中的每个子块对应的量化系数的奇偶性,确定每个子块的变换核。示例性地,通过每个子块对应的偶数量化系数的奇偶性来决定变换索引句法的取值时,当偶数量化系数的数量为奇数时istTuflag=0,此时可代表使用变换核1;当偶数量化系数的数量为偶数时istTuflag=1,此时可代表使用变换核2。
在另一个具体的例子中,可以直接对变换索引句法进行编码,如此可以基于码流中每个子块对应的变换索引句法的取值,从变换核集合中确定出每个子块对应的变换核。
在又一个具体的例子中,变换模式句法中定义了变换核,如此可以将变换模式句法作为变换索引句法,即基于变换模式句法的取值确定子块使用的变换核。
可选地,子块的变换核可包括DCT2、DST7、DCT8和TS中的至少一种。当然,子块的变换核也可以是其他种类的变换核,在此不作限制。如此,相比于相关技术,设计了多种变换方式,使得变换方式能够适应不同的残差分布。
也就是说,子块的变换核的确定范围(也可称为选择范围)可以包括由DCT2、DST7、DCT8和/或TS各自确定的变换核。即变换核集合可以包括由DCT2确定的变换核、由DST7确定的变换核、由DCT8确定的变换核、以及TS中的至少部分变换核。
可选地,子块的变换核可以包括水平变换核和垂直变换核,如此可对子块进行可分离变换。进一步地,子块的水平变换核和垂直变换核可不相同,即在水平和垂直方向的变换可以采用不同的变换核,相比于相关技术,设计了多种变换方式,使得变换方式能够适应不同的残差分布。当然,子块的水平变换核和垂直变换核也可相同,例如均为DCT2。
例如,变换核集合(即子块的变换核的选择范围)可以包括表1中的多种变换核。
表1变换核集合示意表
可选地,为了降低硬件复杂度,可以限制部分变换核(例如DST7和/或DCT8)的使用范围,示例性地,可对部分变换核进行支持最大变换点数限制,例如小于或等于预设尺寸的子块的变换核的选择范围可包括由DST7确定的变换核以及由DCT8确定的变换核,而大于预设尺寸的子块的变换核的选择范围不包括由DST7确定的变换核以及由DCT8确定的变换核。其中,预设尺寸可以为32*32,也可以为16*16,在此不作限制。在一个具体的例子中,对于DST7、DCT8变换核最大进行32点(即残差子块最大为32*32)反变换,当残差子块的尺寸超出最大变换点数时,残差子块默认采用DCT2进行反变换。
当然,在某些应用场景中,也可以不对变换核的使用范围进行限制,即可以不对DST7和/或DCT8的使用范围进行限制,如此大于预设尺寸的子块也能够使用DST7和/或DCT8变换核进行反变换。
在本实施方式中,该反变换方法确定当前块的反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块;对至少一个子块进行反变换,得到至少一个子块的预测残差,如此在该反变换方法中可以对当前块的反量化残差块进行划分,且可以选择性地对子块进行反变换,从而可以对不存在预测残差的地方进行反变换,可以节省码流消耗。
对应于上述实施方式的反变换方法,本申请还提出一种变换方法,如图13所示,上述的变换方法可以包括以下步骤。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本申请技术思想的基础上,任意更换执行顺序。
S210:确定当前块在帧内块复制模式下的预测残差块。
可以先确定当前块在帧内块复制模式下的预测残差块,以便后续对预测残差块进行划分,并对划分得到的至少一个子块进行变换。
其中,当前块可以指当前待编码的图像单元。在一实施例中,若当前块的预测模式是帧内块复制预测模式,则确定当前块在帧内块复制模式下的预测残差块;若当前块的预测模式是除帧内块复制预测模式以外的其他预测模式,则确定当前块在其他预测模式下的预测残差块。
可选地,可以在当前块的预测模式是帧内块复制预测模式时,并确定当前块的预测残差块后,进入步骤S220。当然,在其他实施例中,可以在当前块的预测模式是除帧内块复制预测模式以外的其他预测模式时,并确定当前块的预测残差块后,进入步骤S220。
可选地,可以对图像进行块划分和预测等处理,得到当前块的预测残差块。
S220:确定预测残差块按预测残差块的划分方式进行划分得到的至少一个子块。
确定当前块在帧内块复制模式下的预测残差块后,可以确定预测残差块按预测残差块的划分方式进行划分得到的至少一个子块。
可选地,可以先确定当前块的预测残差块的划分方式,然后确定当前块的预测残差块按所确定的划分方式进行划分得到的至少一个子块。
在一实施例中,可利用固定的划分方式对当前块的预测残差块进行划分。
在另一实施例中,可以通过比较多个划分方式的代价,而确定当前块的预测残差块的划分方式,较为优选的是,可以将代价最小的划分方式作为当前块的预测残差块的划分方式;或者可以基于当前块的预测残差块的纹理信息确定当前块的预测残差块的划分方式。其中,本申请中的代价可以是率失真矢量或绝对误差和等。
与步骤S120中读取码流相对应的是,在确定当前块的预测残差块的划分方式后,可以将划分方式句法写入到码流中,以通过码流中的划分方式句法指示当前块的预测残差块的划分方式。
其中,划分方式句法的详细信息可参见步骤S120,在此不做赘述。
S230:对至少一个子块进行变换,得到至少一个子块的变换结果。
确定预测残差块按预测残差块的划分方式进行划分得到的至少一个子块后,可以对至少一个子块进行变换,得到至少一个子块的变换结果。
可选地,可以对全部子块进行变换,得到全部子块的变换结果。例如,如图2所示,若当前块的预测残差块的划分方式为不进行划分,即IBC预测残差块的尺寸为W*H,划分后的子块的尺寸也为W*H,可以直接对W*H的子块(即填充区域)进行变换。
也可以对部分子块进行变换,得到部分子块的变换结果。
在一实施例中,可以对预设位置的子块进行变换,得到预设位置的子块的变换结果。例如,可以对全部子块中按编码顺序的第一个子块进行变换,得到第一个子块的变换结果。
在另一实施例中,为提高编解码效率,节省码率,可以对存在预测残差的子块进行变换。
其中,存在预测残差的子块的详细信息可以参见步骤S130,在此不做赘述。
在一个具体的例子中,可以将划分方法对应位置的子块作为存在预测残差的子块,该步骤具体可参见步骤S130,在此不做赘述。
在另一个具体的例子中,可以进行代价比较确定预测残差块中存在预测残差的子块。具体地,可以遍历每一种子块选择方式并确定代价,基于代价确定预测残差块中存在预测残差的子块,即基于多种子块选择方式的代价确定所述预测残差块中的待变换子块。较为优选的是,可以将代价最小的子块选择方式作为预测残差块的子块选择方式,并可将预测残差块的子块选择方式中的所选择的子块作为预测残差块的待变换子块,如此即可确定出预测残差块中存在预测残差的子块。
在又一个具体的例子中,可以计算每个子块的复杂程度,将预测残差块中的复杂程度高于阈值的子块作为存在预测残差的子块(即待变换子块)。
与步骤S130中读取码流相对应的是,在确定预测残差块中存在预测残差的子块后,可以将子块选择句法写入到码流中,以通过码流中的子块选择句法指示当前块的预测残差块中存在预测残差的子块。
其中,子块选择句法的详细信息可参见步骤S130,在此不做赘述。
若上述所确定的待变换子块的数量为多个,上述所确定的待变换子块的位置可以是连续的,也可以是不连续的,在此不作限制。
确定当前块的预测残差块中待变换子块后,可以利用变换核对至少一个待变换子块进行变换处理,以得到至少一个子块的变换结果。
在一实施例中,可以利用预设的变换核对至少一个子块进行变换。
在另一实施例中,利用划分方式对应的变换核对至少一个子块进行变换,该步骤详细内容可参见步骤S130,
在此不做赘述。
在又一实施例中,可以基于变换核集合确定至少一个子块中每个子块的变换核,利用每个子块的变换核对每个子块进行变换。变换核及变换核集合的详细内容可参见步骤S130,在此不做赘述。
在该实施例中,可以通过比较多个变换核的代价而确定出待变换块的变换核,其中,每个变换核的代价可以是由利用每个变换核对待变换块进行变换得到的变换结果确定出的。当然,在其他实施方式中,也可以将待变换块的纹理度对应的变换核作为待变换块的变换核。此外,基于变换核集合确定预测残差块的变换核后,还可以通过变换索引句法记录待变换块的变换核,以得到预测残差块的码流数据,如此可以通过码流数据向解码端传输待变换块的变换核信息。
变换索引句法的详细信息可参见步骤S130,在此不做赘述。
且如步骤S130所述,可以通过隐式句法编码的方式对变换索引句法的取值进行编码。在一个具体的例子中,可响应于子块使用的变换核,所述子块对应的变换索引句法取值为第三数值(例如0或1等)时,控制所述子块对应的量化系数的数量为奇数;响应于所述子块使用的变换核,所述子块对应的变换索引句法取值为第四数值(例如为0或1等,且不同于第三数值)时,控制所述子块对应的量化系数的数量为偶数;利用所述量化系数的奇偶性对所述变换索引句法进行隐式编码。另外,量化系数的数量可以指所有量化系数的总数量,也可以指奇数量化系数的数量,也可以指偶数量化系数的数量,在此不做限制。
在子块的多种句法(例如子块的子块选择句法和变换索引句法)均采用隐式句法编码时,子块的不同句法采用的量化系数的类型不相同。例如利用奇数量化系数的奇偶性对子块选择句法进行隐式编码,利用偶数量化系数的奇偶性对变换索引句法进行隐式编码。
当然,在其他实施例中,也可以直接将变换索引句法的取值编码到码流中,即对变换索引句法进行显式编码。
在相关技术中,IBC块的变换技术仅支持DCT变换,难以适应不同的残差分布。
基于此,本申请提出一种反变换方法,该反变换方法确定当前块在帧内块复制模式下的反量化残差块后,利用反量化残差块的变换核对反量化残差块进行反变换,该反量化残差块的变换核基于变换核集合确定,变换核集合可以包括由DST7确定的变换核和/或由DCT8确定的变换核,或者反量化残差块的变换核包括由DST7确定的变换核和/或由DCT8确定的变换核,如此相比于相关技术仅支持DCT2,本申请在帧内块复制反量化残差块的变换/反变换中引入DST7和DCT8变换,从而增加了反量化残差块的变换/反变换的变换核的可选项,从而增加了反量化残差块的反变换的变换核与反量化残差块的残差分布的适应可能性,从而提高IBC块的反变换效率。
具体地,如图14所示,上述的反变换方法可以包括以下步骤。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本申请技术思想的基础上,任意更换执行顺序。
S310:确定当前块在帧内块复制模式下的反量化残差块。
其中,当前块可以指当前待解码的图像单元。在一实施例中,若当前块的预测模式是帧内块复制预测模式,则确定当前块在帧内块复制模式下的反量化残差块;若当前块的预测模式是除帧内块复制预测模式以外的其他预测模式,则确定当前块在其他预测模式下的反量化残差块。
可选地,可以在当前块的预测模式是帧内块复制预测模式时,并确定当前块的反量化残差块后,进入步骤S320。
当然,在其他实施例中,可以在当前块的预测模式是除帧内块复制预测模式以外的其他预测模式时,并确定当前块的反量化残差块后,进入步骤S320。
S320:利用反量化残差块的变换核对反量化残差块进行反变换。
确定当前块在帧内块复制模式下的反量化残差块后,可以利用反量化残差块的变换核对反量化残差块进行反变换。
可选地,变换核基于变换核集合确定,变换核集合可以包括由DST7确定的变换核和/或由DCT8确定的变换核,或者反量化残差块的变换核包括由DST7确定的变换核和/或由DCT8确定的变换核,如此相比于相关技术仅支持DCT2,本申请在帧内块复制残差块的变换/反变换中引入DST7和DCT8变换,从而增加了残差块的变换/反变换的变换核的可选项,从而增加了反量化残差块的反变换的变换核与残差块的残差分布的适应可能性。当然,在某些实施例中,变换核集合也可以不包括由DST7确定的变换核和由DCT8确定的变换核,反量化残差块的变换核也可以不包括由DST7确定的变换核和由DCT8确定的变换核。可以理解的是,由DST7确定的变换核和/或由DCT8确定的变换核可以说成是:由DST7和/或DCT8确定的变换核。
可以理解的是,由DST7确定的变换核是指水平变换核和垂直变换核中的至少一者包括DST7,由DCT8确定的变换核是指水平变换核和垂直变换核中的至少一者包括DCT8。
可选地,水平变换核和垂直变换核可不支持采用不同的变换核,如此由DST7确定的变换核实际上就是水平变换核和垂直变换核均为DST7,由DCT8确定的变换核实际上就是水平变换核和垂直变换核均为DCT8。
在某些应用场景中,水平变换核和垂直变换核可支持采用不同的变换核,如此由DST7确定的变换核实际上可以包括但不限于水平变换核和垂直变换核均为DST7、水平变换核为DCT8和垂直变换核为DST7、水平变换核为DCT2和垂直变换核为DST7、水平变换核为DST7和垂直变换核为DCT8、以及水平变换核为DST7和垂直变换核为DCT2中的至少一者。由DCT8确定的变换核实际上可以包括但不限于水平变换核和垂直变换核均为DCT8、水平变换核为DCT8和垂直变换核为DST7、水平变换核为DCT8和垂直变换核为DCT2、水平变换核为DST7和垂直变换核为DCT8、以及水平变换核为DCT2和垂直变换核为DCT8中的至少一者。
此外,上述的反量化残差块的变换核可以包括预设类型的变换核,或,变换核集合可以包括预设类型的变换核;其中,预设类型的变换核中的水平变换核和垂直变换核不相同,例如,水平变换核为DST7和垂直变换核为DCT2的变换核是预设类型的变换核。当然,在某些实施例中,变换核集合也可以不包括预设类型的变换核,反量化残差块的变换核也可以不包括预设类型的变换核。
在一实施例中,可以基于变换核集合确定反量化残差块的变换核,利用所确定的变换核对反量化残差块进行反变换,如上所示,变换核集合可以包括由DST7确定的变换核、和/或、由DCT8确定的变换核、和/或、预设类型的变换核。在该实施例中,由于变换核集合有可能包含其他类型的变换核,所确定的反量化残差块的变换核可能包括由DST7确定的变换核、和/或、由DCT8确定的变换核、和/或、预设类型的变换核,所确定的反量化残差块的变换核也可能不包括由DST7确定的变换核和由DCT8确定的变换核以及预设类型的变换核,在此不做特别限定。
可选地,变换核集合可以包括由DCT2确定的变换核和/或TS等。
在步骤S320,可以先确定反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块,该步骤详细内容可参见步骤S120,在此不做赘述;然后确定至少一个子块的变换核,接着利用至少一个子块中每个子块的变换核对每个子块进行反变换,得到至少一个子块的预测残差,其中,待进行反变换的子块的确定方式可参见步骤S130,在此不作赘述。
其中,不同子块的变换核可以不同,例如图12所示。在一实施例中,可以基于每个子块对应的变换索引句法的取值确定每个子块的变换核,该步骤详细内容可参见步骤S130,在此不作赘述。
当然,反量化残差块中不同子块的变换核也可以相同,例如均可为DST7。
在某些实施例中,可以不对反量化残差块进行划分,即可以直接利用一种变换核对整个反量化残差块进行反变换处理。在该实施例中,可以基于反量化残差块的变换索引句法的取值确定反量化残差块的变换核,以从变换核集合中确定出反量化残差块的变换核。示例性地,变换核集合为{变换核1,变换核2},变换索引句法istTuflag用于表达使用变换核集合中的哪个变换核;当istTuflag=0时,表示使用变换核1;当istTuflag=1时,表示使用变换核2。在一个具体的例子中,可以对变换索引句法进行隐式句法编码。例如可以通过反量化残差块对应的偶数量化系数的奇偶性来决定变换索引句法的取值。如此可以基于码流中的反量化残差块对应的偶数量化系数的奇偶性,确定反量化残差块的变换核。示例性地,当偶数量化系数的数量为奇数时istTuflag=0,此时可代表使用变换核1;当偶数量化系数的数量为偶数时istTuflag=1,此时可代表使用变换核2。在另一个具体的例子中,可以直接对变换索引句法进行编码,如此可以基于码流中反量化残差块对应的变换索引句法的取值,从变换核集合中确定出反量化残差块对应的变换核。在又一个具体的例子中,变换模式句法中定义了变换核,如此可以将变换模式句法作为变换索引句法,即基于变换模式句法的取值确定反量化残差块使用的变换核。
在另一实施例中,反量化残差块的变换核可以使用固定的变换核,如此可使用固定的变换核对反量化残差块进行反变换,其中该固定的变换核可以包括由DST7确定的变换核和/或由DCT8确定的变换核,如此可使用由DST7确定的变换核和/或由DCT8确定的变换核对反量化残差块进行反变换。
在一个具体的例子中,可以利用预设的变换核对反量化残差块进行反变换。例如,预设的变换核为DST7,则可以利用DST7变换核对反量化残差块的至少部分区域进行反变换。又例如,预设的变换核为DCT8,则可以利用DCT8变换核对反量化残差块的至少部分区域进行反变换。例如,在步骤S320,可以先确定反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块,该步骤详细内容可参见步骤S120,在此不做赘述;然后利用预设的变换核对至少一个子块进行反变换,得到至少一个子块的预测残差,其中,待进行反变换的子块(即上述的至少一个子块)的确定方式可参见步骤S130,在此不作赘述。在某些实施例中,可以不对反量化残差块进行划分,即可以直接利用预设的变换核对整个反量化残差块进行反变换处理。
在另一个具体的例子中,在步骤S320,可以先确定反量化残差块按反量化残差块的划分方式进行划分得到的至少一个子块,该步骤详细内容可参见步骤S120,在此不做赘述;接着利用划分方式对应的变换核对至少一个子块进行反变换,该步骤详细内容可参见步骤S130,在此不作赘述。
可选地,为了降低硬件复杂度,可以限制部分变换核(例如DST7和/或DCT8)的使用范围,即对部分变换核进行支持最大变换点数限制,例如小于或等于预设尺寸的块的变换核的选择范围可包括由DST7确定的变换核以及由DCT8确定的变换核,而大于预设尺寸的块的变换核的选择范围不包括由DST7确定的变换核以及由DCT8确定的变换核。其中,预设尺寸可以为32*32,也可以为16*16,在此不作限制。在一个具体的例子中,对于DST7、DCT8变换核最大进行32点(即残差子块最大为32*32)反变换,当待进行反变换的块的尺寸超出最大变换点数时,默认对待进行反变换的块采用DCT2进行反变换。
当然,在某些应用场景中,也可以不对变换核的使用范围进行限制,即可以不对DST7和/或DCT8的使用范围进行限制,如此大于预设尺寸的块能够使用DST7和/或DCT8变换核进行反变换。
对应于上述实施方式的反变换方法,本申请提出一种变换方法,如图15所示,上述的变换方法可以包括以下步骤。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本申请技术思想的基础上,任意更换执行顺序。
S410:确定当前块在帧内块复制模式下的预测残差块。
其中,当前块可以指当前待编码的图像单元。在一实施例中,若当前块的预测模式是帧内块复制预测模式,则确定当前块在帧内块复制模式下的预测残差块;若当前块的预测模式是除帧内块复制预测模式以外的其他预测模式,则确定当前块在其他预测模式下的预测残差块。
可选地,可以在当前块的预测模式是帧内块复制预测模式时,并确定当前块的预测残差块后,进入步骤S420。当然,在其他实施例中,可以在当前块的预测模式是除帧内块复制预测模式以外的其他预测模式时,并确定当前块的预测残差块后,进入步骤S420。
S420:利用预测残差块的变换核对预测残差块进行变换。
确定当前块在帧内块复制模式下的预测残差块后,可以利用预测残差块的变换核对预测残差块进行变换。
步骤S420的详细内容可参见步骤S320,在此不做赘述。
较为特殊的是,在步骤S420中,若基于变换核集合确定预测残差块的变换核,可以通过比较多个变换核的代价而确定出待变换块(也可称为待变换块)的变换核,其中,每个变换核的代价可以是由利用每个变换核对待变换块进行变换得到的变换结果确定出的。当然,在其他实施方式中,也可以将待变换块的纹理度对应的变换核作为待变换块的变换核。此外,基于变换核集合确定预测残差块的变换核后,还可以通过变换索引句法记录待变换块的变换核,以得到预测残差块的码流数据,如此可以通过码流数据向解码端传输待变换块的变换核信息。
可选地,如步骤S320,可以通过隐式句法编码的方式对变换索引句法的取值进行编码。当然,在其他实施例中,也可以直接将变换索引句法的取值编码到码流中。
上述的反量化残差块和预测残差块均可称为残差块。
可选地,上述的当前块可以是亮度块和/或色度块。
在一实施例中,可以利用上述相关技术对色度块进行变换/反变换处理,利用本申请的反变换方法对亮度块进行反变换处理,利用本申请的变换方法对亮度块进行变换处理。
在另一实施例中,可以利用本申请的反变换方法对亮度块和色度块进行反变换处理,利用本申请的变换方法对亮度块和色度块进行变换处理。可选地,为了降低编解码复杂度,对于色度块,可以直接使用色度块对应的亮度块的反量化残差块的反变换方式对色度块进行反变换处理,直接使用色度块对应的亮度块的预测残差块的变换方式对色度块进行变换处理,其中,亮度块和其对应的色度块对应于同一图像区域。例如,若色度块对应的亮度块的反变换方式为对该亮度块垂直方向1:1划分得到的左侧子块进行DST7反变换,则可以对色度块垂直方向1:1划分得到的左侧子块进行DST7反变换。当然,在其他实施例中,色度块也可以不直接使用其对应亮度块的反变换方式和变换方式,即色度块可以自行确定变换方式和反变换方式;例如可以直接对色度块进行DCT2反变换和DCT2变换;又例如,可以通过上述实施方式的反变换方法确定色度块的反变换方式,也可以通过上述实施方式的变换方法确定色度块的变换方法。
在又一实施例中,也可以利用上述相关技术对亮度块进行变换处理和反变换处理,利用本申请的反变换方法对色度块进行反变换处理,利用本申请的变换方法对色度块进行变换处理。
其中,上述实施方式中的反变换方法和变换方法可以形成本申请的至少一个变换模式,且本申请的至少一个变换模式不同于相关技术。可选地,可以利用本申请的至少一个变换模式替换相关技术、应用到视频编解码方案中,例如可以利用本申请的至少两种变换模式替换相关技术、应用到视频编解码方案中。
在某些实施例中,也可以将本申请的至少一个变换模式和相关技术共同作为视频编解码中的帧内块复制残差块的变换模式可选项。
可选地,本申请的至少一个变换模式的使用可以无限制条件,即帧内块复制模式下的任意残差块均可以应用本申请的至少一个变换模式。
在某些实施例中,本申请的至少一个变换模式的使用可以有限制条件,即仅有满足限制条件的帧内块复制模式下的残差块才可应用本申请的至少一个变换模式,不满足限制条件的帧内块复制模式下的残差块不应用本申请的至少一个变换模式。
可选地,限制条件可以包括块尺寸条件、分量属性条件和/或已解码信息条件。
其中,块尺寸条件可以包括但不限于应用于IBC编码块满足预设尺寸范围和/或应用于划分子块满足预设尺寸范围。其中,尺寸包括但不限于宽、高、宽高比、高宽比、宽*高、宽的对数值和/或高的对数值等。
已解码信息条件可包括但不限于IBC类型信息、IBC滤波信息、量化系数信息和/或图像级TS开关信息等。其中,IBC类型信息,包括但不限于自然序列下IBC编码块和/或屏幕内容下IBC编码块等;量化系数信息,包括但不限于量化系数矩阵的尺寸信息、非零系数的数量信息、非零系数是否存在的信息和/或CBF标志信息等;IBC滤波信息,包括但不限于IBC预测值是否进行滤波的信息。
分量属性条件可包括但不限于:应用于IBC编码块的亮度分量、应用于IBC编码块的色度分量和/或应用于IBC编码块的亮度和色度分量。
实施例1,利用本申请的两种变换模式替换相关技术。本申请的两种变换模式的应用条件可以为:应用于自然序列下的IBC编码块,以及宽和高的对数值小于6的IBC编码块(即宽和高均小于64),以及图像级TS关闭的情况,以及用于亮度分量,以及SRCC系数的ScanRegionX<16并且ScanRegionY<16(即量化系数矩阵的宽和高均小于或等于16)的情况。
该实施例中,本申请的其中一种变换模式为:不对残差块进行划分,以变换核1对残差块进行变换/反变换,其中,变换核1的水平变换核和垂直变换核均为DCT2;本申请的另一种变换模式为:不对残差块进行划分,以变换核2对残差块进行变换/反变换,其中,变换核2的水平变换核和垂直变换核均为DST7。也就是在不对残差块进行划分的情况下,基于变换核集合{变换核1,变换核2}确定残差块的变换核,如此即可形成上述的本申请的两种变换模式。
实施例2,利用本申请的18种变换模式替换相关技术,这18种变换模式可以包括2种第一变换模式和16种第二变换模式。
实施例2的2种第一变换模式如实施例1的两种变换模式所示,且实施例2的2种第一变换模式的应用条件也可如实施例1的两种变换模式的应用条件所示。
本申请的16种第二变换模式的应用条件可以为:应用于自然序列下的IBC编码块,以及未进行预测滤波的IBC编码块,以及亮度分量,以及图像级TS关闭的情况,以及当前编码块的宽和高均小于128且宽或者高大于4的IBC编码块,以及划分子块的宽和高大于等于4,以及划分子块的宽高比或高宽比不能超过8,以及亮度分量存在非零变换系数的情况(或亮度分量CBF不为零)。
如图10和图11所示,16种第二变换模式可分别为:
1.仅对垂直方向1:1划分得到的左侧子块进行DCT8水平变换/反变换和DST7垂直变换/反变换;
2.仅对垂直方向1:1划分得到的右侧子块进行DST7水平变换/反变换和DST7垂直变换/反变换;
3.仅对水平方向1:1划分得到的上侧子块进行DST7水平变换/反变换和DCT8垂直变换/反变换;
4.仅对水平方向1:1划分得到的下侧子块进行DST7水平变换/反变换和DST7垂直变换/反变换;
5.仅对垂直方向1:3划分得到的左侧子块进行DCT8水平变换/反变换和DST7垂直变换/反变换;
6.仅对垂直方向3:1划分得到的右侧子块进行DST7水平变换/反变换和DST7垂直变换/反变换;
7.仅对水平方向1:3划分得到的上侧子块进行DST7水平变换/反变换和DCT8垂直变换/反变换;
8.仅对水平方向3:1划分得到的下侧子块进行DST7水平变换/反变换和DST7垂直变换/反变换;
9.仅对垂直方向1:1和水平方向1:1划分得到的左上角子块进行DCT8水平变换/反变换和DCT8垂直变换/反变换;
10.仅对垂直方向1:1和水平方向1:1划分得到的右上角子块进行DST7水平变换/反变换和DCT8垂直变换/反变换;
11.仅对垂直方向1:1和水平方向1:1划分得到的左下角子块进行DCT8水平变换/反变换和DST7垂直变换/反变换;
12.仅对垂直方向1:1和水平方向1:1划分得到的右下角子块进行DST7水平变换/反变换和DST7垂直变换/反变换;
13.仅对垂直方向1:3和水平方向1:3划分得到的左上角子块进行DCT8水平变换/反变换和DCT8垂直变换/反变换;
14.仅对垂直方向3:1和水平方向1:3划分得到的右上角子块进行DST7水平变换/反变换和DCT8垂直变换/反变换;
15.仅对垂直方向1:3和水平方向3:1划分得到的左下角子块进行DCT8水平变换/反变换和DST7垂直变换/反变换;
16.仅对垂直方向3:1和水平方向3:1划分得到的右下角子块进行DST7水平变换/反变换和DST7垂直变换/反变换。
实施例3:将本申请的第三变换模式和实施例1的两种变换模式共同作为视频编解码中的帧内块复制残差块的变换模式。本实施例的应用条件可为:应用于自然序列下的IBC编码块,以及未进行预测滤波的IBC编码块,以及亮度分量,以及宽和高均为大于等于8小于等于32的IBC编码块,以及宽高比和高宽表均小于4的IBC编码块,以及存在非零系数(包括亮度和色度的非零系数)的IBC编码块;
在该实施例中,本申请的第三变换模式为:当前块的残差块的划分方式为垂直方向和水平方向进行划分,水平划分比例和垂直划分比例均为1:1,可以将所有子块(即填充区域)作为存在预测残差的子块并对其进行变换/反变换,其中,左上角的子块的变换核包括水平变换核DCT8和垂直变换核DCT8,左下角的子块的变换核包括水平变换核DCT8和垂直变换核DST7,右上角的子块的变换核包括水平变换核DST7和垂直变换核DCT8,右下角的子块的变换核包括水平变换核DST7和垂直变换核DST7。
本申请的视频解码方法和视频编码方法中所使用的句法包括但不限于:1)IBC多变换开关句法;2)IBC多变换方案句法;3)IBC多变换句法编码。
(1)IBC多变换开关句法:用于在编解码器中表达是否启用本申请所提出的技术,当涉及多个技术时,允许不同技术具有独立的开关句法。开关句法可在:包括但不限于视频参数集(VPS)、序列参数集(SPS)、图像参数集(PPS)、图像头(PH)、编码单元、变换单元等句法结构中进行传输。
(2)IBC多变换方案句法:用于在编解码器中表达IBC图像块采用何种变换模式,IBC多变换方案句法包括但不限于以下一种或多种句法:
1)变换集合句法:对于存在至少两个变换模式集合时(包括至少一种变换模式),表示某个变换模式集合是否被选中;
2)变换索引句法:对于包括至少两种变换模式的变换模式集合,通过模式索引句法表示具体选择了某个变换模式;
3)子块开关句法:用于表示IBC编码块是否进行子块划分;
4)子块划分句法:当进行子块划分时,用于表达残差块的划分方向、划分比例、子块选择等。
IBC多变换方案句法可在:包括但不限于视频参数集(VPS)、序列参数集(SPS)、图像参数集(PPS)、图像头(PH)、编码单元、变换单元等句法结构中进行传输。
IBC多变换句法编码:句法的编码方式包括但不限于显式句法和/或隐式句法,其中显式句法包括但不限于高级熵编码、有符号定长编码、无符号定长编码和/或指数哥伦布编码等显式句法,编码方式在标准文本中以描述符的方式进行描述,具体意义参考相应的标准文本;隐式句法包括但不限于基于系数的奇偶性、基于偶数系数的奇偶性和/或基于奇数系数的奇偶性等,其中系数包括但不限于量化系数和/或反量化后的系数等。其中,编码过程的句法编码与解码过程的句法解读相匹配,从而保证解码端能正确解码。比如,解码中偶数系数的数量为偶数时表示istflag=1,为奇数时表示istflag=0;因此当编码端istflag=1时,若偶数系数的数量不为偶数时,需要将偶数系数的数量调整为偶数。
实施例4
不使用IBC多变换开关句法,即默认启用实施例1的多变换方案;
IBC多变换方案句法:变换索引istTuflag句法用于表达使用变换核1还是变换核2;当istTuflag=0时,表示使用变换核1;当istTuflag=1时,表示使用变换核2;
IBC多变换句法编码:隐式句法编码,基于偶数量化系数的奇偶性决定istTuflag取值,当为偶数量化系数的数量为奇数时istTuflag=0,当偶数量化系数的数量为偶数时istTuflag=1。
具体如表2所示,其中,blockWidth为TU宽度(即残差子块的宽度)、blockHeight为TU高度(即残差子块的高度)、QuantCoeffMatrix为量化系数矩阵、NumEvenCoeff为用于记录偶数系数数量的变量、ibc_cu_flag为当前CU的IBC标记、ph_ibc_type为自然序列IBC编码模式标记、ScanRegionX为量化系数矩阵中非零系数中最右边的横坐标、ScanRegionY为量化系数矩阵中非零系数中最下边边的纵坐标、PictureTsEnableFlag为图像头中TS开关。
表2待变换块定义表
实施例5
本实施例中,基于实施例2。
如表3和表4所示,IBC多变换开关句法:基于序列头中sbt_enable_flag决定是否开启实施例2中的方案;sbt_enable_flag=0表示不启用该方案,sbt_enable_flag=1表示启用该方案;
IBC多变换方案句法:子块开关句法sbt_cu_flag用于表达是否进行子块划分,sbt_cu_flag=0表示不进行划分,sbt_cu_flag=1表示进行子块划分;
进一步地,当sbt_cu_flag=0时,基于ist_flag句法确定具体使用的变换核;
进一步地,当sbt_cu_flag=1时,sbt_ext用于表示进行水平和垂直划分,还是仅垂直或仅进行水平划分;
当sbt_ext=1时,表示进行水平和垂直划分,sbt_ext1=0表达划分比例为1:1,sbt_ext1=1表示划分比例为1:3或3:1,hor_idx1/hor_idx2=0表示当sbt_ext1=0/1时选择左侧子块,hor_idx1/hor_idx2=1表示当sbt_ext1=0/1时选择右侧子块,sbt_pos_flag=0用于表示选择上侧子块,sbt_pos_flag=1表示选择下侧子块,因此sbt_ext1、hor_idx和sbt_pos_flag共同决定子块位置。
当sbt_ext=0时,表示仅垂直或仅水平划分,sbt_quad用于表达划分比例,sbt_dir用于表达划分方向,sbt_pos_flag用于表达子块位置;sbt_quad=0表示划分比例为1:1,sbt_quad=1时表示划分比例为1:3或3:1;sbt_dir=0表示进行垂直划分,sbt_dir=1表示进行水平划分;sbt_pos_flag=0表示选择左侧(垂直划分时)/上侧(水平划分时),sbt_pos_flag=1表示选择右侧(垂直划分时)/下侧(水平划分时);因此sbt_quad、sbt_dir和sbt_pos_flag共同决定子块位置。
IBC多变换句法编码:sbt_flag、sbt_ext、sbt_ext1、hor_idx、sbt_quad、sbt_dir句法均在变换单元中进行传输,通过高级熵编码的方式进行句法编码;sbt_pos_flag采用隐式句法编码,基于偶数量化系数的奇偶性决定sbt_pos_flag取值,当为偶数量化系数的数量为奇数时sbt_pos_flag=0,当偶数量化系数的数量为偶数时sbt_pos_flag=1;
具体如下表所示,其中ibc_cu_flag为当前编码单元的IBC标记、ph_ibc_type为自然序列IBC编码模式标记、width当前编码单元的宽度、height为当前编码单元的高度、ibcPfFlag为当前编码单元的IBC预测值滤波标记、ctp_y[0]为亮度分量是否存在非零系数的标记。
表3编码单元定义表
表4待变换块定义表
实施例6
本实施例基于实施例3。
IBC多变换开关句法:基于序列头中pbt_enable_flag决定是否开启实施例3中的方案;pbt_enable_flag=0表示不启用该方案,pbt_enable_flag=1表示启用该方案;
IBC多变换方案句法:编码单元中pbt_cu_flag句法用于表达是否进行子块划分,当pbt_cu_flag=1时,表示进行子块划分;pbt_cu_flag=0时,表示不进行子块划分。
当不进行子块划分时,基于ist_flag句法确定具体使用的变换核;
IBC多变换句法编码:pbt_cu_flag过高级熵编码的方式进行句法编码。
具体如表5所示,其中,ibc_cu_flag、ph_ibc_type、width、height、ibcPfFlag、pictureTsEnableFlag、ctp_zero_flag分别表示当前编码的ibc编码标记、图像头中自然序列IBC编码模式标记、CU宽度、CU高度、IBC滤波标记、图像头中TS开关标记、系数是否为全零的标记。
表5编码单元定义表
本申请提出一种视频解码方法,如图16所示,本申请一实施方式的视频解码方法可以包括以下步骤。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本申请技术思想的基础上,任意更换执行顺序。
S510:基于上述实施方式的视频解码方法,确定当前帧中至少一个图像块的反变换结果。
S520:基于当前帧中至少一个图像块的反变换结果,确定当前帧的解码图像。
如图17所示,可以基于至少一个图像块的反变换结果和预测结果,确定至少一个图像块的解码结果,从而以得到当前帧的解码图像。
其中,至少一个图像块可包括上述反变换方法实施方式中的当前块,如此步骤S520可以基于当前帧中当前块中的至少一个子块的预测残差,或基于当前帧中当前块的反量化残差块的反变换结果,确定当前帧的解码图像。
可选地,在解码过程中,首先通过熵解码器从码流中解出用于表达子块划分方式和子块变换方式的IBC变换句法,然后对IBC反量化残差块进行子块划分,再确定每个子块的变换方式并进行反变换得到预测残差,继而确定出当前帧的解码图像。
本申请提出一种视频编码方法,如图18所示,本申请一实施方式的视频编码方法可以包括以下步骤。需要注意的是,以下步骤编号仅用于简化说明,并不旨在限制步骤的执行顺序,本实施方式的各步骤可以在不违背本申请技术思想的基础上,任意更换执行顺序。
S610:基于上述实施方式的视频编码方法,确定当前帧中至少一个图像块的变换结果。
S620:基于当前帧中至少一个图像块的变换结果,确定当前帧的码流数据。
其中,至少一个图像块可包括上述变换方法实施方式中的当前块,如此步骤S620可以基于当前帧中当前块中的至少一个子块的变换结果,或基于当前帧中当前块的预测残差块的变换结果,确定当前帧的码流数据。
可选地,本申请视频编码方法涉及视频编解码过程中IBC编码块的变换过程,在编码过程中,首先获取IBC预测残差,然后对预测残差块进行子块划分,进一步地为每个子块选择变换方式并进行相应的变换,最后将用于表达残差子块划分方式和子块变换方式的句法通过熵编码器写入码流。
请参阅图19,图19是本申请电子设备一实施方式的结构示意图。本电子设备20包括处理器22,处理器22用于执行指令以实现上述方法。具体实施过程请参阅上述实施方式的描述,在此不再赘述。
处理器22还可以称为CPU(Central Processing Unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器22也可以是任何常规的处理器等。
电子设备20还可进一步包括存储器21,用于存储处理器22运行所需的指令和数据。
处理器22用于执行指令以实现上述本申请方法任一实施例及任意不冲突的组合所提供的方法。
其中,本申请的电子设备可以为编码器或解码器。
请参阅图20,图20为本申请实施方式中计算机可读存储介质的结构示意图。本申请实施例的计算机可读存储介质30存储有程序31,该程序31被执行时实现本申请方法任一实施例以及任意不冲突的组合所提供的方法。其中,该程序31可以形成程序文件以软件产品的形式存储在上述存储介质30中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质30包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (44)

1.一种视频解码方法,其特征在于,所述方法包括:
确定当前帧中的当前块在帧内块复制模式下的反量化残差块;
确定所述反量化残差块按所述反量化残差块的划分方式进行划分得到的至少一个子块;
对至少一个所述子块进行反变换,得到至少一个所述子块的预测残差;
基于至少一个所述子块的预测残差,确定当前帧的解码图像。
2.根据权利要求1所述的视频解码方法,其特征在于,所述对至少一个所述子块进行反变换,得到至少一个所述子块的预测残差,包括:
对存在预测残差的所述子块进行反变换。
3.根据权利要求2所述的视频解码方法,其特征在于,所述存在预测残差的所述子块通过如下方式确定:
解读码流中所述当前块的子块选择句法,基于所述子块选择句法的取值从所有所述子块中确定出存在预测残差的子块;和/或,
将所述划分方法对应位置的所述子块作为存在预测残差的子块。
4.根据权利要求3所述的视频解码方法,其特征在于,所述解读码流中所述当前块的子块选择句法,基于所述子块选择句法的取值从所有所述子块中确定出存在预测残差的子块,包括:
所述子块选择句法包括划分方式句法和位置选择句法,在所述当前块的划分方式句法指示所述反量化残差块的划分方式为沿水平方向划分为两个子块,响应于所述位置选择句法的取值为第一数值,存在预测残差的子块为所述两个子块中的下侧的子块;响应于所述位置选择句法的取值为第二数值,存在预测残差的子块为所述两个子块中的上侧的子块;和/或,
在所述当前块的划分方式句法指示所述反量化残差块的划分方式为沿垂直方向划分为两个子块,响应于所述位置选择句法的取值为第一数值,存在预测残差的子块为所述两个子块中的右侧的子块;响应于所述位置选择句法的取值为第二数值,存在预测残差的子块为所述两个子块中的左侧的子块。
5.根据权利要求1所述的视频解码方法,其特征在于,所述对至少一个所述子块进行反变换,得到至少一个所述子块的预测残差,包括:
利用预设的变换核对至少一个所述子块进行反变换;
和/或,利用所述划分方式对应的变换核对至少一个所述子块进行反变换;
和/或,基于变换核集合确定所述至少一个所述子块中每个所述子块的变换核,利用每个所述子块的变换核对每个所述子块进行反变换。
6.根据权利要求5所述的视频解码方法,其特征在于,所述基于所述变换核集合确定所述至少一个所述子块中每个所述子块的变换核,包括:
基于码流的每个所述子块对应的变换索引句法的取值,确定每个所述子块的变换核;
所述码流中的变换索引句法采用的显式编码或隐式编码。
7.根据权利要求6所述的视频解码方法,其特征在于,所述码流中的变换索引句法采用的隐式编码,所述基于码流的每个所述子块对应的变换索引句法的取值,确定每个所述子块的变换核,包括:
基于所述码流中的每个所述子块对应的量化系数的奇偶性,确定每个所述子块的变换核。
8.根据权利要求5所述的视频解码方法,其特征在于,所述子块的变换核包括DCT2、DST7、DCT8和TS中的一种或多种;
所述子块的水平变换核和垂直变换核相同或不相同。
9.根据权利要求8所述的视频解码方法,其特征在于,若所述子块的变换核包括DST7和/或DCT8,所述子块的尺寸小于预设尺寸。
10.根据权利要求1所述的视频解码方法,其特征在于,所述确定所述反量化残差块按所述反量化残差块的划分方式进行划分得到的至少一个子块,包括:
利用固定的划分方式对所述当前块进行划分;或,
基于当前块的划分方式句法的取值确定所述划分方式,利用所确定的划分方式对所述当前块进行划分。
11.根据权利要求10所述的视频解码方法,其特征在于,所述划分方式句法包括子块开关句法和子块划分方式句法,所述基于当前块的划分方式句法的取值确定所述划分方式,包括:
基于所述子块开关句法的取值确定是否对所述反量化残差块进行子块划分;
若确定不对所述反量化残差块进行子块划分,则所述反量化残差块的划分方式为不进行划分;
若确定对所述反量化残差块进行子块划分,基于子块划分方式句法的取值确定当前块的反量化残差块的子块划分方式。
12.根据权利要求11所述的视频解码方法,其特征在于,所述子块划分方式句法包括方向句法和比例句法;所述基于子块划分方式句法的取值确定当前块的反量化残差块的子块划分方式,包括:
基于方向句法确定所述反量化残差块的划分方式中的划分方向,或,将预设方向作为反量化残差块的划分方式中的划分方向;
基于所述比例句法确定所述反量化残差块的划分方式中的划分比例,或,将预设比例作为所述反量化残差块的划分方式中的划分比例。
13.根据权利要求1所述的视频解码方法,其特征在于,所述当前块为色度块或亮度块。
14.根据权利要求13所述的视频解码方法,其特征在于,所述当前块为亮度块,所述方法还包括:
利用与所述当前块相同的视频解码方法对所述当前块对应的色度块进行反变换,所述当前块及其色度块对应于同一图像区域。
15.一种视频编码方法,其特征在于,所述视频编码方法包括:
确定当前帧中当前块在帧内块复制模式下的预测残差块;
确定所述预测残差块按所述预测残差块的划分方式进行划分得到的至少一个子块;
对至少一个所述子块进行变换,得到至少一个所述子块的变换结果;
基于至少一个所述子块的变换结果,确定当前帧的码流数据。
16.根据权利要求15所述的视频编码方法,其特征在于,所述方法还包括:
将划分方式句法写入到所述预测残差块的码流数据中,以通过所述划分方式句法指示所述预测残差块的划分方式。
17.根据权利要求15所述的视频编码方法,其特征在于,所述确定所述预测残差块按所述预测残差块的划分方式进行划分得到的至少一个子块,包括:
比较多个划分方式的代价,以确定出所述预测残差块的划分方式。
18.根据权利要求15所述的视频编码方法,其特征在于,所述对至少一个所述子块进行变换,得到至少一个所述子块的变换结果,包括:
遍历每一种子块选择方式并确定其代价,基于多种子块选择方式的代价确定所述预测残差块中的待变换子块;对所述待变换子块进行变换;或,
对所述划分方法对应位置的所述子块进行变换。
19.根据权利要求15所述的视频编码方法,其特征在于,所述对至少一个所述子块进行变换,得到至少一个所述子块的变换结果,包括:
将子块选择句法写入到所述预测残差块的码流数据中,以通过所述子块选择句法指示当前块的预测残差块中存在预测残差的子块。
20.根据权利要求15所述的视频编码方法,其特征在于,所述对至少一个所述子块进行变换,得到至少一个所述子块的变换结果,包括:
利用预设的变换核对至少一个所述子块进行变换;
或,利用所述划分方式对应的变换核对至少一个所述子块进行变换;
或,基于变换核集合确定所述至少一个所述子块中每个所述子块的变换核,利用每个所述子块的变换核对每个所述子块进行变换。
21.根据权利要求20所述的视频编码方法,其特征在于,所述对至少一个所述子块进行变换,得到至少一个所述子块的变换结果,包括:
将变换索引句法写入到所述预测残差块的码流数据中,以通过所述变换索引句法指示所述预测残差块中子块的变换核。
22.根据权利要求21所述的视频编码方法,其特征在于,所述将变换索引句法写入到所述预测残差块的码流数据中,包括:
响应于所述子块使用的变换核,所述子块对应的变换索引句法取值为第三数值时,控制所述子块对应的量化系数的数量为奇数;
响应于所述子块使用的变换核,所述子块对应的变换索引句法取值为第四数值时,控制所述子块对应的量化系数的数量为偶数;
利用所述量化系数的奇偶性对所述变换索引句法进行隐式编码。
23.根据权利要求15所述的视频编码方法,其特征在于,所述当前块为色度块或亮度块。
24.根据权利要求23所述的视频编码方法,其特征在于,所述当前块为亮度块,所述方法还包括:
利用与所述当前块相同的视频编码方法对所述当前块对应的色度块进行变换,所述当前块及其色度块对应于同一图像区域。
25.一种视频解码方法,其特征在于,所述方法包括:
确定当前帧中当前块在帧内块复制模式下的反量化残差块;
利用所述反量化残差块的变换核对所述反量化残差块进行反变换;
基于所述反量化残差块的反变换结果,确定当前帧的解码图像;
其中,所述变换核包括由DST7和DCT8中的至少一者确定的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括由DST7和DCT8中的至少一者确定的变换核。
26.根据权利要求25所述的视频解码方法,其特征在于,所述变换核包括预设类型的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括预设类型的变换核,所述预设类型的变换核中的水平变换核和垂直变换核不相同。
27.一种视频解码方法,其特征在于,所述方法包括:
确定当前帧中当前块在帧内块复制模式下的反量化残差块;
利用所述反量化残差块的变换核对所述反量化残差块进行反变换;
基于所述反量化残差块的反变换结果,确定当前帧的解码图像;
其中,所述变换核包括预设类型的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括预设类型的变换核,所述预设类型的变换核中的水平变换核和垂直变换核不相同。
28.根据权利要求25-27中任一项所述的视频解码方法,其特征在于,所述利用所述反量化残差块的变换核对所述反量化残差块进行反变换,包括:
利用预设的变换核对所述反量化残差块进行反变换;
和/或,利用划分方式对应的变换核对所述反量化残差块进行反变换;
和/或,基于所述变换核集合确定所述反量化残差块的变换核,利用所述反量化残差块的变换核对所述反量化残差块进行反变换。
29.根据权利要求28所述的视频解码方法,其特征在于,所述基于所述变换核集合确定所述反量化残差块的变换核,包括:
基于码流的所述反量化残差块对应的变换索引句法的取值,确定所述反量化残差块的变换核;
所述码流中的变换索引句法采用的显式编码或隐式编码。
30.根据权利要求29所述的视频解码方法,其特征在于,所述码流中的变换索引句法采用的隐式编码;所述基于码流的每个所述子块对应的变换索引句法的取值,确定每个所述子块的变换核,包括:
基于所述码流中的每个所述子块对应的量化系数的奇偶性,确定每个所述子块的变换核。
31.根据权利要求25-27中任一项所述的视频解码方法,其特征在于,由DST7和DCT8中的至少一者确定的变换核的使用条件为:块尺寸小于或等于预设尺寸。
32.根据权利要求25-27中任一项所述的视频解码方法,其特征在于,所述当前块为色度块或亮度块。
33.根据权利要求32所述的视频解码方法,其特征在于,所述当前块为亮度块,所述方法还包括:
利用与所述当前块相同的视频解码方法对所述当前块对应的色度块进行反变换,所述当前块及其色度块对应于同一图像区域。
34.一种视频编码方法,其特征在于,所述方法包括:
确定当前帧中当前块在帧内块复制模式下的预测残差块;
利用所述预测残差块的变换核对所述预测残差块进行变换;
基于所述预测残差块的变换结果,确定所述当前帧的码流数据;
其中,所述变换核包括由DST7和DCT8中的至少一者确定的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括由DST7和DCT8中的至少一者确定的变换核。
35.根据权利要求34所述的视频编码方法,其特征在于,所述变换核包括预设类型的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括预设类型的变换核,所述预设类型的变换核中的水平变换核和垂直变换核不相同。
36.一种视频编码方法,其特征在于,所述方法包括:
确定当前帧中的当前块在帧内块复制模式下的预测残差块;
利用所述预测残差块的变换核对所述预测残差块进行变换;
基于所述预测残差块的变换结果,确定所述当前帧的码流数据;
其中,所述变换核包括预设类型的变换核;或,所述变换核基于变换核集合确定,所述变换核集合包括预设类型的变换核,所述预设类型的变换核中的水平变换核和垂直变换核不相同。
37.根据权利要求34-36中任一项所述的视频编码方法,其特征在于,所述利用所述预测残差块的变换核对所述预测残差块进行变换,包括:
利用预设的变换核对所述预测残差块进行变换;
和/或,利用划分方式对应的变换核对所述预测残差块进行变换;
和/或,基于所述变换核集合确定所述预测残差块的变换核,利用所述预测残差块的变换核对所述预测残差块进行变换。
38.根据权利要求37所述的视频编码方法,其特征在于,所述基于所述预测残差块的变换结果,确定所述当前帧的码流数据,包括:
将变换索引句法写入到所述预测残差块的码流数据中,以通过所述变换索引句法指示所述预测残差块的变换核。
39.根据权利要求38所述的视频编码方法,其特征在于,所述将变换索引句法写入到所述预测残差块的码流数据中,包括:
响应于所述子块使用的变换核,所述子块对应的变换索引句法取值为第三数值时,控制所述子块对应的量化系数的数量为奇数;
响应于所述子块使用的变换核,所述子块对应的变换索引句法取值为第四数值时,控制所述子块对应的量化系数的数量为偶数;
利用所述量化系数的奇偶性对所述变换索引句法进行隐式编码。
40.根据权利要求34-36中任一项所述的视频编码方法,其特征在于,由DST7和DCT8中的至少一者确定的变换核的使用条件为:块尺寸小于或等于预设尺寸。
41.根据权利要求34-36中任一项所述的视频编码方法,其特征在于,所述当前块为色度块或亮度块。
42.根据权利要求41所述的视频编码方法,其特征在于,所述当前块为亮度块,所述方法还包括:
利用与所述当前块相同的视频编码方法对所述当前块对应的色度块进行变换,所述当前块及其色度块对应于同一图像区域。
43.一种电子设备,其特征在于,所述电子设备包括相互连接的处理器和存储器,所述存储器用于存储程序,所述处理器用于执行所述程序以实现权利要求1-42中任一项所述的方法的步骤。
44.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现权利要求1-42中任一项所述方法的步骤。
CN202410748617.5A 2024-06-11 2024-06-11 视频解码方法、视频编码方法及相关装置 Pending CN121173957A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202410748617.5A CN121173957A (zh) 2024-06-11 2024-06-11 视频解码方法、视频编码方法及相关装置
PCT/CN2025/099688 WO2025256480A1 (en) 2024-06-11 2025-06-06 Video encoding and decoding method, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410748617.5A CN121173957A (zh) 2024-06-11 2024-06-11 视频解码方法、视频编码方法及相关装置

Publications (1)

Publication Number Publication Date
CN121173957A true CN121173957A (zh) 2025-12-19

Family

ID=98028457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410748617.5A Pending CN121173957A (zh) 2024-06-11 2024-06-11 视频解码方法、视频编码方法及相关装置

Country Status (2)

Country Link
CN (1) CN121173957A (zh)
WO (1) WO2025256480A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323748B2 (en) * 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US11997300B2 (en) * 2019-03-11 2024-05-28 Lg Electronics Inc. Method and apparatus for video encoding/decoding using IBC mode, and method for transmitting bitstream
CN120034644A (zh) * 2019-06-17 2025-05-23 韩国电子通信研究院 基于帧内块复制的编/解码方法、装置和比特流存储介质
CN112333449B (zh) * 2019-08-05 2022-02-22 腾讯美国有限责任公司 视频解码的方法和装置、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2025256480A1 (en) 2025-12-18

Similar Documents

Publication Publication Date Title
US9462279B2 (en) Image encoding/decoding method and device
CN114731434B (zh) 基于变换的图像编码方法及其装置
US9838714B2 (en) Apparatus and method for encoding and decoding moving picture using adaptive scanning
CN105556963B (zh) 用于hevc范围扩展的残差差分脉冲编码调制方法
JP4491349B2 (ja) ビデオ・データのイントラ符号化方法及び装置
CN114374839B (zh) 图像解码方法、图像编码方法和数据发送方法
TW201842779A (zh) 多重轉換預測
CN112042194B (zh) 一种编码/解码的方法及电子装置
CN102598667A (zh) 帧内预测模式的高效视频编码和解码的方法和装置
CN103220520A (zh) 用于对视频进行解码的方法
CN105744273A (zh) 对视频进行编码和解码的方法和设备
CN101584218A (zh) 基于帧内预测的编码和解码方法及设备
US20230156224A1 (en) Joint component secondary transform
CN119052480A (zh) 用于视频解码的方法、计算设备、存储介质和程序产品
CN114079782A (zh) 视频图像重建方法、装置、计算机设备及存储介质
CN117714686A (zh) 图像编码/解码方法、存储介质以及发送数据的方法
CN114979641B (zh) 视频编解码方法、装置、计算机可读介质及电子设备
CN112543324B (zh) 视频解码方法、编码方法、编解码器及存储介质
CN117560507A (zh) 图像编码/解码设备以及发送数据的设备
CN114762338B (zh) 基于变换的图像编码方法及其装置
WO2022217442A1 (zh) 系数编解码方法、编码器、解码器以及计算机存储介质
CN121173957A (zh) 视频解码方法、视频编码方法及相关装置
CN120263978A (zh) 图像解码方法、图像编码方法和数据发送方法
CN114651445B (zh) 基于变换的视频编码方法及其装置
CN114762343B (zh) 基于变换的图像编码方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication