CN114128268A - 使用色度块的自适应大小限制的图像编码/解码方法和设备以及比特流传输方法 - Google Patents

使用色度块的自适应大小限制的图像编码/解码方法和设备以及比特流传输方法 Download PDF

Info

Publication number
CN114128268A
CN114128268A CN202080052293.1A CN202080052293A CN114128268A CN 114128268 A CN114128268 A CN 114128268A CN 202080052293 A CN202080052293 A CN 202080052293A CN 114128268 A CN114128268 A CN 114128268A
Authority
CN
China
Prior art keywords
current block
block
prediction
partition
partition type
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
CN202080052293.1A
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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN114128268A publication Critical patent/CN114128268A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal 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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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/186Methods 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 a colour or a chrominance component
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

提供了一种图像编码/解码方法和装置。由图像解码装置执行的图像解码方法包括:确定由色度分量组成的当前块的分割结构;基于分割结构,确定当前块的分割类型;基于分割类型,通过分割当前块来获得多个下层块,以及基于下层块的预测模式,对下层块进行解码。

Description

使用色度块的自适应大小限制的图像编码/解码方法和设备 以及比特流传输方法
技术领域
本公开涉及一种图像编码/解码方法和装置,更具体地,涉及一种用于通过限制色度块的大小来对图像进行编码/解码的方法和装置,以及一种发送由本公开的图像编码方法/装置生成的比特流的方法。
背景技术
最近,各个领域对高分辨率和高质量图像,例如高清(HD)图像和超高清(UHD)图像的需求正在增加。随着图像数据的分辨率和质量的提高,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开的目的是提供一种具有改善的编码/解码效率的图像编码/解码方法和装置。
本公开的另一个目的是提供一种用于通过限制色度块的大小来编码/解码图像的方法和装置。
本公开的另一个目的是提供一种当色度块不能被分割时不发信号通知分割信息的图像编码/解码方法和装置。
本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或装置生成的比特流的方法。
本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或装置生成的比特流的记录介质。
本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码装置接收、解码并用于重构图像的比特流。
本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚本文未描述的其他技术问题。
技术方案
根据本公开的一方面的一种由图像解码装置执行的图像解码方法可以包括:确定由色度分量组成的当前块的分割结构;基于所述分割结构,确定所述当前块的分割类型;基于所述分割类型,通过对所述当前块进行分割来获得多个下层块;以及基于所述下层块的预测模式,对所述下层块进行解码。
基于所述当前块的分割结构是与对应于所述当前块的亮度分量块的分割类型无关地确定的双树结构,可以通过基于可用分割类型确定所述当前块的分割类型来执行确定当前块的所述分割类型,所述可用分割类型是基于所述当前块的宽度或高度来确定的。
可以基于分割信息来确定所述当前块的分割结构,所述分割信息是基于所述可用分割类型从比特流中获得的。
可以基于所述当前块的宽度或高度等于或小于预定值,通过不允许预定分割类型来确定所述可用分割类型,以及可以基于由所述图像解码装置每时钟处理的像素的数量来确定所述预定值。
可以基于所述当前块的宽度等于或小于由所述图像解码装置每时钟处理的像素的数量的两倍,不允许垂直三叉分割类型作为所述当前块的分割类型。
可以基于所述当前块的宽度为8,不允许垂直三叉分割类型作为所述当前块的分割类型。
可以基于所述当前块的宽度等于或小于由所述图像解码装置每时钟处理的像素的数量,不允许四叉树分割类型和垂直三叉分割类型作为所述当前块的分割类型。
可以基于所述当前块的宽度为4,不允许四叉树分割类型和垂直二叉分割类型作为所述当前块的分割类型。
基于所述图像解码装置对由每时钟1×4矩阵组成的像素集执行图像处理过程并且所述当前块的高度为8,不允许水平三叉分割类型作为所述当前块的分割类型。
基于所述图像解码装置对由每时钟1×4矩阵组成的像素集执行图像处理过程并且所述当前块的高度为4,不允许四叉树分割类型和水平二叉分割类型作为所述当前块的分割类型。
可以基于对应于所述当前块的亮度块的宽度和颜色格式,确定所述当前块的宽度。
所述当前块的宽度可以被确定为通过将对应于所述当前块的亮度块的宽度除以基于所述颜色格式导出的色度样本与亮度样本的分量比而获得的值。
根据本公开的一方面的一种图像解码装置可以包括存储器和至少一个处理器。所述至少一个处理器可以包括:确定由色度分量组成的当前块的分割结构;基于所述分割结构,确定所述当前块的分割类型;基于所述分割类型,通过对所述当前块进行分割来获得多个下层块;以及基于所述下层块的预测模式,对所述下层块进行解码。基于所述当前块的分割结构是与对应于所述当前块的亮度分量块的分割类型无关地确定的双树结构,可以通过基于可用分割类型确定所述当前块的分割类型来执行确定当前块的所述分割类型,所述可用分割类型是基于所述当前块的宽度或高度来确定的。
根据本公开的一方面的一种由图像编码装置执行的图像编码方法可以包括:选择由色度分量组成的当前块的分割结构;基于所述分割结构,选择所述当前块的可用分割类型;基于所述可用分割类型,通过分割所述当前块来获得多个下层块;以及基于对所述下层块进行编码的结果,对所述下层块的预测模式信息和所述当前块的分割信息进行编码。
基于所述当前块的分割结构是与对应于所述当前块的亮度分量块的分割类型无关地确定的双树结构,所述当前块的宽度或高度确定所述当前块的可用分割类型。
可以基于所述当前块的宽度或高度等于或小于预定值,通过限制预定分割类型的使用来确定所述可用分割类型,以及可以根据所述预定分割类型,取决于通过划分所述当前块的宽度或高度获得的值是否小于4来确定所述预定值。
此外,根据本公开的另一方面的一种传输方法可以发送由本公开的图像编码装置或图像编码方法生成的比特流。
此外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码装置或图像编码方法生成的比特流。
以上相对于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,可以提供一种具有改善的编码/解码效率的图像编码/解码方法和装置。
根据本公开,可以提供一种图像编码/解码方法和装置,当色度块的大小有限并且相应地限制预定分割类型时,通过不发信号通知色度块的分割信息来减少比特流量。
此外,根据本公开,可以提供一种发送由根据本公开的图像编码方法或装置生成的比特流的方法。
此外,根据本公开,可以提供一种存储由根据本公开的图像编码方法或装置生成的比特流的记录介质。
此外,根据本公开,可以提供一种记录介质,其存储由根据本公开的图像解码装置接收、解码并用于重构图像的比特流。
本领域的技术人员将意识到,可以通过本公开实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其他优点。
附图说明
图1是示意性地示出本公开的实施例适用于的视频编译系统的视图。
图2是示意性地示出本公开的实施例适用于的图像编码装置的视图。
图3是示意性地示出本公开的实施例适用于的图像解码装置的视图。
图4是根据实施例的图像的分割结构的视图。
图5是示出根据多类型树结构的块的分区类型的实施例的视图。
图6是示出根据本发明的具有嵌套多类型树结构的四叉树中的块分割信息的信令机制的示意图。
图7是示出其中将CTU分区成多个CU的实施例的视图。
图8是图示冗余分割图案的实施例的视图。
图9是图示基于帧间预测的视频/图像编码方法的流程图。
图10是图示根据本公开的帧间预测单元180的配置的视图。
图11是图示基于帧间预测的视频/图像解码方法的流程图。
图12是图示根据本公开的帧间预测单元260的配置的视图。
图13是图示根据实施例的可用作空间合并候选的邻近块的视图。
图14是示意性地图示根据实施例的合并候选列表构建方法的视图。
图15是示意性地图示根据实施例的运动向量预测子候选列表构建方法的视图。
图16是图示根据实施例的用于从图像编码装置向图像解码装置发送MVD的语法结构的视图。
图17是图示根据实施例的基于IBC的视频/图像编码方法的流程图。
图18是图示根据实施例的用于执行基于IBC的视频/图像编码方法的预测单元的配置的视图。
图19是图示根据实施例的基于IBC的视频/图像解码方法的流程图。
图20是图示根据实施例的用于执行基于IBC的视频/图像解码方法的预测单元的配置的视图。
图21是图示根据实施例的流水线延迟问题的视图。
图22是图示在当前块具有双树结构时限制将色度块分割成2xN个色度块的情况下测量的实验数据的视图。
图23是图示由根据实施例的解码装置确定是否允许将垂直三叉分割(SPLIT_TT_VER)用于当前块的方法的视图。
图24是图示由根据实施例的解码装置确定是否允许将水平三叉分割(SPLIT_TT_HOR)用于当前块的方法的视图。
图25是图示由根据实施例的解码装置确定是否允许将水平二叉分割(SPLIT_BT_HOR)用于当前块的方法的视图。
图26是图示由根据实施例的解码装置确定是否允许将垂直二叉分割(SPLIT_BT_VER)用于当前块的方法的视图。
图27是图示由根据实施例的解码装置确定是否允许将四叉树分割用于当前块的方法的视图。
图28是图示在仅应用第一限制条件的情况下获得的实验结果的视图。
图29是图示在应用所有第一、第二和第三限制条件的情况下获得的实验结果的视图。
图30是图示由根据实施例的编码装置对图像进行编码的方法的流程图。
图31是图示根据实施例的用于关于当前块的分割的比特流信令信息的语法的视图。
图32是图示由根据实施例的解码装置对图像进行解码的方法的流程图。
图33是图示本公开的实施例适用的内容流传输系统的视图。
具体实施方式
以下,将结合附图对本公开的实施例进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施例。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其他组件时,除非另有说明,否则是指还可以包括其他组件,而不是排除其他组件。
在本公开中,术语第一、第二等仅用于将一个组件与其他组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施例中的第一部件在另一个实施例中可以被称为第二部件,类似地,一个实施例中的第二部件在另一个实施例中可以被称为第一部件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施例也包括在本公开的范围内。
在本公开中,各个实施例中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施例中描述的组件的子集组成的实施例也包括在本公开的范围内。此外,除了在各种实施例中描述的组件之外还包括其他组件的实施例包括在本公开的范围内。
本公开涉及图像的编码(encoding)和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“图片”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成图片的一部分的编译(coding)单元,一个图片可以由一个或多个切片/拼块组成。此外,切片/拼块可以包括一个或多个编译树单元(CTU)。
在本公开中,“像素”或“像元(pel)”可以意指构成一个图片(或图像)的最小单个。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括图片的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,M×N块可以包括M列N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“当前块”可以意指“当前编译块”、“当前编译单元”、“编译目标块”、“解码目标块”或“处理目标块”之一。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
此外,在本公开中,除非明确声明为色度块,否则“当前块”可以意指“当前块的亮度块”。“当前块的色度块”可以通过包括对诸如“色度块”或“当前色度块”的色度块的显式描述来表达。
在本公开中,斜线“/”或“,”可以解释为指示“和/或”。例如,“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A/B/C”可以意指“A、B和/或C中的至少一个”。
在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,或3)“A和B”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
视频编译系统概述
图1是示意性地示出根据本公开的视频编译系统的视图。
根据实施例的视频编译系统可以包括编码装置10和解码装置20。编码装置10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码装置20。
根据实施例的编码装置10可以包括视频源生成器11、编码单元12和发射器13。根据实施例的解码装置20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发射器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的设备或外部组件。
视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
编码单元12可以对输入视频/图像进行编码。为了压缩和编译效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
发射器13可以通过数字存储介质或网络以文件或流的形式将编码的视频/图像信息或以比特流的形式输出的数据传输到解码装置20的接收器21。数字存储介质可以包括各种存储介质,例如USB、SD、CD、DVD、蓝光、HDD、SSD等。发射器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
图像编码装置概要
图2是示意性地示出本公开的实施例可适用于的图像编码装置的视图。
如图2所示,图像编码装置100可以包括图像分区器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
在一些实施例中,配置图像编码装置100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码图片缓冲器(DPB)并且可以由数字存储介质配置。
图像分区器110可将输入到图像编码装置100的输入图像(或图片或帧)分区成一个或多个处理单元。例如,处理单元可以称为编译单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分区编译树单元(CTU)或最大编译单元(LCU)来获取编译单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编译单元分区为更深深度的多个编译单元。对于编译单元的分区,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分区的最终编译单元来执行根据本公开的编译过程。可以将最大编译单元用作最终编译单元,也可以将通过分区最大编译单元获取的更深深度的编译单元用作最终编译单元。这里,编译过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编译过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编译单元分割或分区。预测单元可以是样本预测单元,变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。
预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或CU的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
帧内预测单元185可以通过参考当前图片中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测单元180可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考图片可以被称为并置图片(colPic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指定使用哪个候选来导出当前块的运动向量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测单元可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编译,例如,屏幕内容编译(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前图片中先前重构的参考块来预测当前图片的方法。当应用IBC时,参考块在当前图片中的位置可以被编码为对应于预定距离的向量(块向量)。IBC基本上在当前图片中执行预测,但是可以类似于帧间预测来执行,因为在当前图片内导出参考块。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。IBC基本上在当前图片中执行预测,但是可以类似于帧间预测来执行,因为在当前图片内导出参考块。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。
预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT是指当像素之间的关系信息由图形表示时从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小而不是方形的块。
量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。熵编码器190可以一起或单独地编码除量化变换系数之外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(NAL)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括USB、SD、CD、DVD、蓝光、HDD、SSD等各种存储介质。可以包括传输从熵编码器190输出的信号的发射器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码装置100的内部/外部元件。替代地,可以提供发射器作为熵编码器190的组件。
从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化的变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,生成重构信号(重构图像、重构块、重构样本阵列)。如果要处理块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前图片中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个图片进行帧间预测。
滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并将修改的重构图片存储在存储器170中,具体地,存储器170的DPB中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
传输到存储器170的修改的重构图片可以用作帧间预测单元180中的参考图片。当通过图像编码装置100应用帧间预测时,可以避免图像编码装置100和图像解码装置之间的预测失配并且可以提高编码效率。
存储器170的DPB可以存储修改的重构图片以用作帧间预测单元180中的参考图片。存储器170可以存储从其中导出(或编码)当前图片中的运动信息的块的运动信息和/或图片中已重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前图片中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
图像解码装置概述
图3是示意性地示出本公开的实施例可适用的图像解码装置的视图。
如图3所示,图像解码装置200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
根据实施例,配置图像解码装置200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码图片缓冲器(DPB)或者可以由数字存储介质配置。
已经接收到包括视频/图像信息的比特流的图像解码装置200可以通过执行与由图2的图像编码装置100执行的处理相对应的处理来重构图像。例如,图像解码装置200可以使用在图像编码装置中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编译单元。编译单元可以通过分区编译树单元或最大编译单元来获得。通过图像解码装置200解码和输出的重构图像信号可以通过再现装置(未示出)再现。
图像解码装置200可以接收以比特流的形式从图2的图像编码装置输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以导出图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。图像解码装置还可以基于参数集信息和/或通用约束信息对图片进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率,对bin进行算术解码,生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),以及在熵解码器210中对其执行熵解码的残差值,即,量化的变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将关于熵解码器210解码的信息当中的滤波的信息提供给滤波器240。同时,用于接收从图像编码装置输出的信号的接收器(未示出)可以进一步被配置为图像解码装置200的内部/外部元件,或者接收器可以是熵解码器210的组件。
同时,根据本公开的图像解码装置可以被称为视频/图像/图片解码装置。图像解码装置可以分为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元160或帧内预测单元265中的至少一个。
解量化器220可以对量化的变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化的变换系数。在这种情况下,可以基于在图像编码装置中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化的变换系数执行解量化并获得变换系数。
逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于关于从熵解码器210输出的预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定的帧内/帧间预测模式(预测技术)。
与在图像编码装置100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
帧内预测单元265可以通过参考当前图片中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
帧间预测单元260可以基于由参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息导出当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构块。如果要处理的块没有残差,诸如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前图片中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个图片进行帧间预测。
滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构图片应用各种滤波方法来生成修改的重构图片,并将修改的重构图片存储在存储器250中,具体地,存储器250的DPB中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
存储在存储器250的DPB中的(修改的)重构图片可以用作帧间预测单元260中的参考图片。存储器250可以存储从其中导出(或解码)当前图片中的运动信息的块的运动信息和/或图片中已重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前图片中重构块的重构样本并将重构样本传送到帧内预测单元265。
在本公开中,在图像编码装置100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施例可以同等地或对应地应用于图像解码装置200的滤波器240、帧间预测单元260和帧内预测单元265。
图像分区的概述
可以基于图像分区结构来执行根据本公开的视频/图像编译方法如下。具体地,可以基于根据图像分区结构而导出的CTU、CU(和/或TU、PU)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编译和滤波的过程。可以按块单元对图像进行分区并且可以在编码装置的图像分区器110中执行块分区过程。分区相关信息可以由熵编码器190编码并且以比特流的形式发送到解码装置。解码装置的熵解码器210可以基于从比特流获得的分区相关信息来导出当前图片的块分区结构,并且基于此,可以执行一系列的过程(例如,预测、残差处理、块/图片重构、环路内滤波等)以进行图像解码。
图片可以被分区成编译树单元(CTU)的序列。图4示出了图片被分区成CTU的示例。CTU可以对应于编译树块(CTB)。另选地,CTU可以包括亮度样本的编译树块和对应的色度样本的两个编译树块。例如,对于包含三个样本阵列的图片,CTU可以包括亮度样本的一个N×N块和色度样本的两个对应块。
CTU分区的概述
如上所述,可以通过根据四叉树/二叉树/三叉树(QT/BT/TT)结构递归地对编译树单元(CTU)或最大编译单元(LCU)进行分区来获取编译单元。例如,CTU可以被首先分区成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分区。
根据四叉树的分区意味着当前CU(或CTU)被同等地分区成四个。通过根据四叉树的分区,可以将当前CU分区成具有相同宽度和相同高度的四个CU。在当前CU不再被分区成四叉树结构时,当前CU对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的CU可以不再被分区并且可以被用作上述最终编译单元。另选地,可以通过多类型树结构对与四叉树结构的叶节点对应的CU进一步进行分区。
图5是示出了根据多类型树结构的块的分区类型的实施例的视图。根据多类型树结构的分区可以包括根据二叉树结构的两种类型的分割和根据三叉树结构的两种类型的分割。
根据二叉树结构的两种类型的分割可以包括垂直二叉分割(SPLIT_BT_VER)和水平二叉分割(SPLIT_BT_HOR)。垂直二叉分割(SPLIT_BT_VER)意味着当前CU被在垂直方向上同等地分割成两个。如图4所示,通过垂直二叉分割,可以生成高度与当前CU相同并且宽度为当前CU的宽度的一半的两个CU。水平二叉分割(SPLIT_BT_HOR)意味着当前CU被在水平方向上同等地分割成两个。如图5所示,通过水平二叉分割,可以生成高度为当前CU的高度的一半并且宽度与当前CU相同的两个CU。
根据三叉数结构的两种类型的分割可以包括垂直三叉分割(SPLIT_TT_VER)和水平三叉分割(SPLIT_TT_HOR)。在垂直三叉分割(SPLIT_TT_VER)中,当前CU被以1:2:1的比率在垂直方向上分割。如图5所示,通过垂直三叉分割,可以生成高度与当前CU相同并且宽度为当前CU的宽度的1/4的两个CU,以及高度与当前CU相同并且宽度为当前CU的宽度的一半的CU。在水平三叉分割(SPLIT_TT_HOR)中,当前CU被以1:2:1的比率在水平方向上分割。如图5所示,通过水平三叉分割,可以生成高度为当前CU的高度的1/4并且宽度与当前CU相同的两个CU,以及高度为当前CU的高度的一半并且宽度与当前CU相同的CU。
图6是示出了根据本公开的具有嵌套多类型树结构的四叉树中的块分割信息的信令机制的视图。
这里,CTU被视为四叉树的根节点,并且被首次分区成四叉树结构。指定是否对当前CU(四叉树的CTU或节点(QT_node))执行四叉树分割的信息(例如,qt_split_flag)被发信号通知。例如,当qt_split_flag具有第一值(例如,“1”)时,当前CU可以被四叉树分区。另外,当qt_split_flag具有第二值(例如,“0”)时,当前CU不四叉树分区,而是变成四叉树的叶节点(QT_leaf_node)。然后可以将每个四叉树叶节点进一步分区成多类型树结构。也就是说,四叉树的叶节点可以变成多类型树的节点(MTT_node)。在多类型树结构中,第一标志(例如,Mtt_split_cu_flag)被发信号通知以指定当前节点是否被附加地分区。如果对应节点被附加地分区(例如,如果第一标志为1),则可以发信号通知第二标志(例如,Mtt_split_cu_vertical_flag)以指定分割方向。例如,分割方向在第二标志为1的情况下可以是垂直方向,而在第二标志为0的情况下可以是水平方向。然后,可以发信号通知第三标志(例如,Mtt_split_cu_binary_flag)以指定分割类型是二叉分割类型还是三叉分割类型。例如,分割类型在第三标志为1时可以是二叉分割类型,而在第三标志为0时可以是三叉分割类型。通过二叉分割或三叉分割获取的多类型树的节点可以被进一步分区成多类型树结构。然而,可以不将多类型树的节点分区成四叉树结构。如果第一标志为0,则多类型树的对应节点不再被分割,而是变成多类型树的叶节点(MTT_leaf_node)。与多类型树的叶节点对应的CU可以被用作上述最终编译单元。
基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下表1所示导出CU的多类型树分割模式(MttSplitMode)。在以下描述中,多类型树分割模式可以被称为多树分割类型或分割类型。
[表1]
MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
SPLIT_TT_HOR 0 0
SPLIT_BT_HOR 0 1
SPLIT_TT_VER 1 0
SPLIT_BT_VER 1 1
图7是示出了在应用四叉树之后通过应用多类型树来将CTU分区成多个CU的示例的视图。在图7中,粗体块边710表示四叉树分区,而剩余边720表示多类型树分区。
CU可以对应于编译块(CB)。在实施例中,CU可以包括亮度样本的编译块和与亮度样本对应的色度样本的两个编译块。
可以基于根据图片/图像的颜色格式(色度格式,例如,4:4:4、4:2:2、4:2:0等)的分量比率基于亮度分量(样本)CB或TB大小来导出色度分量(样本)CB或TB大小。在4:4:4颜色格式的情况下,可以将色度分量CB/TB大小设置为等于亮度分量CB/TB大小。在4:2:2颜色格式的情况下,可以将色度分量CB/TB的宽度设置为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设置为亮度分量CB/TB的高度。在4:2:0颜色格式的情况下,可以将色度分量CB/TB的宽度设置为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设置为亮度分量CB/TB的高度的一半。
在实施例中,当CTU的大小基于亮度样本单元为128时,CU的大小可以具有从128x128至4x4的大小,其是与CTU相同的大小。在一个实施例中,在4:2:0颜色格式(或色度格式)的情况下,色度CB大小可以具有从64x64至2x2的大小。
同时,在实施例中,CU大小和TU大小可以是相同的。另选地,在CU区域中可以有多个TU。TU大小通常表示亮度分量(样本)变换块(TB)大小。
可以基于作为预定值的最大允许TB大小maxTbSize来导出TU大小。例如,当CU大小大于maxTbSize时,可以从CU导出具有maxTbSize的多个TU(TB),并且可以以TU(TB)为单元执行变换/逆变换。例如,最大允许亮度TB大小可以是64x64并且最大允许色度TB大小可以是32x32。如果根据树结构分区的CB的宽度或高度大于最大变换宽度或高度,则CB可以被自动地(或隐式地)分区,直到满足水平和垂直方向上的TB大小极限为止。
另外,例如,当应用帧内预测时,可以以CU(或CB)为单元导出帧内预测模式/类型,并且可以以TU(或TB)为单元执行邻近参考样本导出和预测样本生成过程。在这种情况下,在一个CU(或CB)区域中可以有一个或多个TU(或TB),并且在这种情况下,多个TU或(TB)可以共享相同的帧内预测模式/类型。
同时,对于具有嵌套多类型树的四叉树编译树方案,可以将以下参数作为SPS语法元素从编码装置发信号通知给解码装置。例如,作为表示四叉树的根节点大小的参数的CTU大小、作为表示最小允许四叉树叶节点大小的参数的MinQTSize、作为表示最大允许二叉树根节点大小的参数的MaxBtSize、作为表示最大允许三叉树根节点大小的参数的MaxTtSize、作为表示从四叉树叶节点起进行多类型树分割的最大允许层次深度的参数的MaxMttDepth、作为表示最小允许二叉树树叶节点大小的参数的MinBtSize、或作为表示最小允许三叉数叶节点大小的参数的MinTtSize中的至少一个被发信号通知。
作为使用4:2:0色度格式的实施例,可以将CTU大小设置为128x128亮度块和与这些亮度块对应的两个64x64色度块。在这种情况下,可以将MinOTSize设置为16x16,可以将MaxBtSize设置为128x128,可以将MaxTtSzie设置为64x64,可以将MinBtSize和MinTtSize设置为4x4,并且可以将MaxMttDepth设置为4。四叉树分区可以被应用于CTU以生成四叉树叶节点。四叉树叶节点可以被称作叶QT节点。四叉树叶节点的大小可以从16x16大小(例如,MinOTSize)至128x128大小(例如,CTU大小)。如果叶QT节点是128x128,则它可能未被附加地分区成二叉树/三叉树。这是因为,在这种情况下,即使被分区,它也超过MaxBtsize和MaxTtszie(例如,64x64)。在其它情况下,叶QT节点可以被进一步分区成多类型树。因此,叶QT节点是多类型树的根节点,并且叶QT节点可以具有多类型树深度(mttDepth)0值。如果多类型树深度达到MaxMttdepth(例如4),则可以不考虑进一步分区。如果多类型树节点的宽度等于MinBtSize并且小于或等于2xMinTtSize,则可以不考虑进一步水平分区。如果多类型树节点的高度等于MinBtSize并且小于或等于2xMinTtSize,则可以不考虑进一步垂直分区。当不考虑分区时,编码装置可以跳过分区信息的信令。在这种情况下,解码装置可以导出具有预定值的分区信息。
同时,一个CTU可以包括亮度样本的编译块(在下文中称为“亮度块”)和与其对应的色度样本的两个编译块(在下文中称为“色度块”)。上述编译树方案可以被同等地或单独地应用于当前CU的亮度块和色度块。具体地,可以将一个CTU中的亮度块和色度块分区成相同的块树结构,并且在这种情况下,树结构被表示为SINGLE_TREE。另选地,可以将一个CTU中的亮度块和色度块分区成单独的块树结构,并且在这种情况下,可以将树结构表示为DUAL_TREE。也就是说,当CTU被分割成双树时,用于亮度块的块树结构和用于色度块的块树结构可以分别存在。在这种情况下,可以将用于亮度块的块树结构称作DUAL_TREE_LUMA,并且可以将用于色度分量的块树结构称DUAL_TREE_CHROMA。对于P和B切片/拼块组,可以将一个CTU中的亮度块和色度块限制为具有相同的编译树结构。然而,对于I切片/拼块组,亮度块和色度块可以具有彼此分开的块树结构。如果应用单独的块树结构,则可以基于特定编译树结构来将亮度CTB分割成CU,并且可以基于另一编译树结构来将色度CTB分区成色度CU。也就是说,这意味着应用单独的块树结构的I切片/拼块组中的CU可以包括亮度分量的编译块或两个色度分量的编译块并且P或B切片/拼块组的CU可以包括三个颜色分量(一个亮度分量和两个色度分量)的块。
尽管已经描述了具有嵌套多类型树的四叉树编译树结构,但是对CU进行分区的结构不限于此。例如,可以将BT结构和TT结构解释为多分区树(MPT)结构中包括的概念,并且可以将CU解释为通过QT结构和MPT结构被分区。在通过QT结构和MPT结构对CU进行分区的示例中,可以发信号通知包括关于QT结构的叶节点被分区成多少块的信息的语法元素(例如MPT_split_type)以及包括关于QT结构的叶节点被分区成垂直方向和水平方向中的那个的信息的语法元素(例如MPT_split_mode),以确定分区结构。
在另一示例中,可以以与QT结构、BT结构或TT结构不同的方式对CU进行分区。也就是说,不同于根据QT结构将较低深度的CU分区成较高深度的CU的1/4,根据BT结构将较低深度的CU分区成较高深度的CU的1/2,或者根据TT结构将较低深度的CU分区成较高深度的CU的1/4或1/2,在一些情况下可以将较低深度的CU分区成较高深度的CU的1/5、1/3、3/8、3/5、2/3或5/8,并且对CU进行分区的方法不限于此。
具有多类型树的四叉树编译块结构可以提供非常灵活的块分区结构。由于在多类型树中支持的分区类型,在一些情况下不同的分区图案可以潜在地产生相同的编译块结构。在编码装置和解码装置中,通过限制此类冗余分区图案的出现,可以减少分区信息的数据量。
例如,图8示出了在二叉树分割和三叉树分割中可能出现的冗余分割图案。如图8所示,针对两步级别的一个方向的连续二叉分割810和820具有与三叉分割之后针对中心分区的二叉分割相同的编译块结构。在这种情况下,可以禁止针对三叉树分割的中心块830和840的二叉树分割。此禁止适用于所有图片的CU。当这种特定分割被禁止时,可以通过反映这种被禁止情况来修改对应语法元素的信令,从而减少针对分割发信号通知的比特的数量。例如,如图8中示出的示例所示,当针对CU的中心块的二叉树分割被禁止时,不发信号通知指定分割是二叉分割还是三叉分割的语法元素mtt_split_cu_binary_flag并且其值可以由解码装置导出为0。
帧间预测的概述
在下文中,将描述根据本公开的帧间预测。
根据本公开的图像编码装置/图像解码装置的预测单元可以以块为单元执行帧间预测以导出预测样本。帧间预测可以表示以依赖于除当前图片以外的图片的数据元素(例如,样本值、运动信息等)的方式导出的预测。当帧间预测应用于当前块时,可以基于由通过参考图片索引指示的参考图片上的运动向量指定的参考块(参考样本阵列)来导出当前块的预测块(预测块或预测样本阵列)。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性来以块、子块或样本为单元预测当前块的运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测类型(L0预测、L1预测、Bi预测等)信息。当应用帧间预测时,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以是相同或不同的。时间邻近块可以被称为并置参考块、并置CU(ColCU)或colBlock,并且包括时间邻近块的参考图片可以被称为并置图片(colPic)或colPicture。例如,可以基于当前块的邻近块来构建运动信息候选列表,并且可以发信号通知指定哪个候选被选择(使用)的标志或索引信息以便导出当前块的运动向量和/或参考图片索引。
可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,当前块的运动信息可以等于所选择的邻近块的运动信息。在跳过模式的情况下,与合并模式不同,可以不发送残差信号。在运动信息预测(MVP)模式的情况下,所选择的邻近块的运动向量可以被用作运动向量预测子并且可以发信号通知运动向量差。在这种情况下,可以使用运动向量预测子和运动向量差的和来导出当前块的运动向量。在本公开中,MVP模式可以具有与高级运动向量预测(AMVP)相同的含义。
根据帧间预测类型(L0预测、L1预测、Bi预测等),运动信息可以包括L0运动信息和/或L1运动信息。L0方向上的运动向量可以被称为L0运动向量或MVL0,而L1方向上的运动向量可以被称为L1运动向量或MVL1。基于L0运动向量的预测可以被称为L0预测,基于L1运动向量的预测可以被称为L1预测,而基于L0运动向量和L1运动向量二者的预测可以被称为Bi预测。这里,L0运动向量可以指定与参考图片列表L0(L0)关联的运动向量,而L1运动向量可以指定与参考图片列表L1(L1)关联的运动向量。参考图片列表L0可以包括按输出顺序在当前图片之前的图片作为参考图片,而参考图片列表L1可以包括按输出顺序在当前图片之后的图片。先前图片可以被称为正向(参考)图片,而后续图片可以被称为反向(参考)图片。参考图片列表L0还可以包括按输出顺序在当前图片之后的图片作为参考图片。在这种情况下,在参考图片列表L0内,可以首先对先前图片编索引,然后可以对后续图片编索引。参考图片列表L1还可以包括按输出顺序在当前图片之前的图片作为参考图片。在这种情况下,在参考图片列表L1内,可以首先对后续图片编索引,然后可以对先前图片编索引。这里,输出顺序可以对应于图片顺序计数(POC)顺序。
图9是例示了基于帧间预测的视频/图像编码方法的流程图。
图10是例示了根据本公开的帧间预测单元180的配置的视图。
图9的编码方法可以由图2的图像编码装置执行。具体地,步骤S610可以由帧间预测单元180执行,并且步骤S620可以由残差处理器执行。具体地,步骤S620可以由减法器115执行。步骤S630可以由熵编码器190执行。步骤S630的预测信息可以由帧间预测单元180导出,并且步骤S630的残差信息可以由残差处理器导出。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,残差样本可以通过图像编码装置的变换器120被导出为变换系数,并且变换系数可以通过量化器130被导出为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编译过程来编码。
图像编码装置可以对当前块执行帧间预测(S610)。图像编码装置可以导出当前块的帧间预测模式和运动信息并且生成当前块的预测样本。这里,可以同时地执行帧间预测模式确定、运动信息导出和预测样本生成过程或者可以在其它过程之前执行其任何一个。例如,如图10所示,图像编码装置的帧间预测单元180可以包括预测模式确定单元181、运动信息导出单元182和预测样本导出单元183。预测模式确定单元181可以确定当前块的预测模式,运动信息导出单元182可以导出当前块的运动信息,并且预测样本导出单元183可以导出当前块的预测样本。例如,图像编码装置的帧间预测单元180可以通过运动估计在参考图片的预定区域(搜索区域)内搜索与当前块类似的块,并且导出其与当前块的差等于或小于预定准则或最小值的参考块。基于此,可以导出指定参考块位于其中的参考图片的参考图片索引,并且可以基于参考块与当前块之间的位置差来导出运动向量。图像编码装置可以在各种预测模式当中确定应用于当前块的模式。图像编码装置可以针对各种预测模式比较速率失真(RD)成本,并且确定当前块的最佳预测模式。然而,由图像编码装置确定当前块的预测模式的方法不限于上述示例,并且可以使用各种方法。
例如,当跳过模式或合并模式适用于当前块时,图像编码装置可以从当前块的邻近块导出合并候选,并且使用所导出的合并候选来构建合并候选列表。另外,图像编码装置可以在通过合并候选列表中包括的合并候选指定的参考块当中导出其与当前块的差等于或小于预定准则或最小值的参考块。在这种情况下,可以选择与所导出的参考块关联的合并候选,并且可以生成指定所选择的合并候选的合并索引信息并且将其发信号通知给图像解码装置。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。
作为另一示例,当MVP模式适用于当前块时,图像编码装置可以从当前块的邻近块导出运动向量预测子(mvp)候选,并且使用所导出的mvp候选来构建mvp候选列表。另外,图像编码装置可以使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计导出的参考块的运动向量可以被用作当前块的运动向量,在mvp候选当中具有与当前块的运动向量的差最小的运动向量的当前块可以是所选择的mvp候选。可以导出作为通过从当前块的运动向量减去mvp所获得的差的运动向量差(MVD)。在这种情况下,可以将指定所选择的mvp候选的索引信息和关于MVD的信息发信号通知给图像解码装置。另外,当应用MVP模式时,可以将参考图片索引的值构建为参考图片索引信息并且单独地发信号通知给图像解码装置。
图像编码装置可以基于预测样本来导出残差样本(S620)。图像编码装置可以通过当前块的原始样本与预测样本之间的比较来导出残差样本。例如,可以通过从原始样本减去对应的预测样本来导出残差样本。
图像编码装置可以对包括预测信息和残差信息的图像信息进行编码(S630)。图像编码装置可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和关于运动信息的信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指定跳过模式是否适用于当前块,而合并标志指定合并模式是否适用于当前块。另选地,预测模式信息可以指定多种预测模式中的一种,诸如模式索引。当跳过标志和合并标志为0时,可以确定MVP模式适用于当前块。关于运动信息的信息可以包括作为用于导出运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在合并模式适用于当前块时被发信号通知并且可以是用于选择合并候选列表中包括的合并候选中的一个的信息。在候选选择信息当中,mvp标志或mvp索引可以在MVP模式适用于当前块时被发信号通知并且可以是用于选择mvp候选列表中的mvp候选中的一个的信息。另外,关于运动信息的信息可以包括关于上述MVD的信息和/或参考图片索引信息。另外,关于运动信息的信息可以包括指定是应用L0预测、L1预测还是Bi预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中并且被发送到图像解码装置或者可以经由网络被发送到图像解码装置。
如上所述,图像编码装置可以基于参考样本和残差样本来生成重构图片(包括重构样本和重构块的图片)。这是为了图像编码装置导出与由图像解码装置执行的预测结果相同的预测结果,从而提高编译效率。因此,图像编码装置可以将重构图片(或重构样本和重构块)存储在存储器中并且将其用作用于帧间预测的参考图片。如上所述,环路内滤波过程还适用于重构图片。
图11是例示了基于帧间预测的视频/图像解码方法的流程图。
图12是例示了根据本公开的帧间预测单元260的配置的视图。
图像解码装置可以执行与由图像编码装置执行的操作对应的操作。图像解码装置可以基于接收到的预测信息来对当前块执行预测并且导出预测样本。
图11的解码方法可以由图3的图像解码装置执行。步骤S810至S830可以由帧间预测单元260执行,并且步骤S810的预测信息和步骤S840的残差信息可以由熵解码器210从比特流获得。图像解码装置的残差处理器可以基于残差信息来导出当前块的残差样本(S840)。具体地,残差处理器的解量化器220可以基于根据残差信息而导出的解量化变换系数来执行解量化以导出变换系数,并且残差处理器的逆变换器230可以对变换系数执行逆变换以导出当前块的残差样本。步骤S850可以由加法器235或重构器执行。
具体地,图像解码装置可以基于所接收到的预测信息来确定当前块的预测模式(S810)。图像解码装置可以基于预测信息中的预测模式信息来确定哪种帧间预测模式适用于当前块。
例如,可以基于跳过标志来确定跳过模式是否适用于当前块。另外,可以基于合并标志来确定是合并模式还是MVP模式适用于当前块。另选地,可以基于模式索引来选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或MVP模式或者可以包括将在下面描述的各种帧间预测模式。
图像解码装置可以基于所确定的帧间预测模式来导出当前块的运动信息(S820)。例如,当跳过模式或合并模式适用于当前块时,图像解码装置可以构建将在下面描述的合并候选列表,并且选择合并候选列表中包括的合并候选中的一个。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来导出当前块的运动信息。例如,可以将所选择的合并候选的运动信息用作当前块的运动信息。
作为另一示例,当MVP模式适用于当前块时,图像解码装置可以构建mvp候选列表,并且使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来导出当前块的MVD,并且可以基于当前块的mvp和MVD来导出当前块的运动向量。另外,可以基于参考图片索引信息来导出当前块的参考图片索引。可以将在当前块的参考图片列表中通过参考图片索引指示的图片导出为被参考以进行当前块的帧间预测的参考图片。
图像解码装置可以基于当前块的运动信息来生成当前块的预测样本(S830)。在这种情况下,可以基于当前块的参考图片索引来导出参考图片,并且可以使用参考图片上通过当前块的运动向量指示的参考块的样本来导出当前块的预测样本。在一些情况下,还可以对当前块的预测样本中的全部或一些执行预测样本滤波过程。
例如,如图12所示,图像解码装置的帧间预测单元260可以包括预测模式确定单元261、运动信息导出单元262和预测样本导出单元263。在图像解码装置的帧间预测单元260中,预测模式确定单元261可以基于所接收到的预测模式信息来确定当前块的预测模式,运动信息导出单元262可以基于所接收到的运动信息来导出当前块的运动信息(运动向量和/或参考图片索引等),并且预测样本导出单元263可以导出当前块的预测样本。
图像解码装置可以基于所接收到的残差信息来生成当前块的残差样本(S840)。图像解码装置可以基于预测样本和残差样本来生成当前块的重构样本并且基于此来生成重构图片(S850)。此后,环路内滤波过程适用于如上所述的重构图片。
如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式来导出运动信息的步骤、以及基于所导出的运动信息来执行预测(生成预测样本)的步骤。如上所述,帧间预测过程可以由图像编码装置和图像解码装置执行。
在下文中,将更详细地描述根据预测模式来导出运动信息的步骤。
如上所述,可以使用当前块的运动信息来执行帧间预测。图像编码装置可以通过运动估计过程来导出当前块的最佳运动信息。例如,图像编码装置可以按分数像素单元使用当前块的原始图片中的原始块来在参考图片中在预定搜索范围内搜索具有高相关性的类似参考块,并且使用其来导出运动信息。可以基于当前块与参考块之间的绝对差之和(SAD)来计算块的相似度。在这种情况下,可以基于搜索区域中具有最小SAD的参考块来导出运动信息。可以根据基于帧间预测模式的各种方法将所导出的运动信息发信号通知给图像解码装置。
当合并模式适用于当前块时,不直接发送当前块的运动信息,并且使用邻近块的运动信息来导出当前块的运动信息。因此,可以通过发送指定合并模式被使用的标志信息和指定哪个邻近块被用作合并候选的候选选择信息(例如,合并索引)来指示当前预测块的运动信息。在本公开中,由于当前块是预测性能的单元,所以当前块可以被用作与当前预测块相同的含义,并且邻近块可以被用作与邻近预测块相同的含义。
图像编码装置可以搜索用于导出当前块的运动信息的合并候选块以执行合并模式。例如,可以使用最多五个合并候选块,但不限于此。可以在切片头或拼块组头中发送合并候选块的最大数量,但不限于此。在找到合并候选块之后,图像编码装置可以生成合并候选列表并且选择具有最小RD成本的合并候选块作为最终合并候选块。
本公开提供针对配置合并候选列表的合并候选块的各种实施例。合并候选列表可以使用例如五个合并候选块。例如,可以使用四个空间合并候选和一个时间合并候选。
图13是例示了可用作空间合并候选的邻近块的视图。
图14是示意性地例示了根据本公开的示例的合并候选列表构建方法的视图。
图像编码/解码装置可以将通过搜索当前块的空间邻近块导出的空间合并候选插入到合并候选列表中(S1110)。例如,如图13所示,空间邻近块可以包括当前块的左底角邻近块A0、左邻近块A1、右顶部拐角邻近块B0、顶部邻近块B1和左顶部拐角邻近块B2。然而,这是示例,并且除了上述空间邻近块之外,诸如右邻近块、底部邻近块和右底部邻近块的附加邻近块可以被进一步用作空间邻近块。图像编码/解码装置可以通过基于优先级搜索空间邻近块来检测可用块,并且导出所检测到的块的运动信息作为空间合并候选。例如,图像编码/解码装置可以通过按A1、B1、B0、A0和B2的顺序搜索图13所示的五个块,并且顺序地对可用候选编索引来构建合并候选列表。
图像编码/解码装置可以将通过搜索当前块的时间邻近块导出的时间合并候选插入到合并候选列表中(S1120)。时间邻近块可以位于与当前块位于其中的当前图片不同的参考图片上。时间邻近块位于其中的参考图片可以被称为并置图片或col图片。可以按col图片上当前块的并置块的右底角邻近块和右底部中心块的顺序搜索时间邻近块。同时,当应用运动数据压缩以便减少存储器负载时,可以将特定运动信息存储为col图片的每个预定存储单元的代表性运动信息。在这种情况下,不需要存储预定存储单元中的所有块的运动信息,从而获得运动数据压缩效果。在这种情况下,可以将预定存储单元预先确定为例如16×16样本单元或8×8样本单元,或者可以将预定存储单元的大小信息从图像编码装置发信号通知给图像解码装置。当应用运动数据压缩时,时间邻近块的运动信息可以用时间邻近块位于其中的预定存储单元的代表性运动信息替换。也就是说,在这种情况下,从实现方式的观点看,可以基于在基于时间邻近块的坐标(左顶部样本位置)算术右移了预定值之后覆盖算术左移位置的预测块(而不是位于时间邻近块的坐标上的预测块)的运动信息,来导出时间合并候选。例如,当预定存储单元是2nx2n样本单元并且时间邻近块的坐标是(xTnb,yTnb)时,位于修改后的位置((xTnb>>n)<<n),(yTnb>>n)<<n))处的预测块的运动信息可以被用于时间合并候选。具体地,例如,当预定存储单元是16x16样本单元并且时间邻近块的坐标是(xTnb,yTnb)时,位于修改后的位置((xTnb>>4)<<4),(yTnb>>4)<<4))处的预测块的运动信息可以被用于时间合并候选。另选地,例如,当预定存储单元是8x8样本单元并且时间邻近块的坐标是(xTnb,yTnb)时,位于修改后的位置((xTnb>>3)<<3),(yTnb>>3)<<3))处的预测块的运动信息可以被用于时间合并候选。
再次参照图14,图像编码/解码装置可以检查当前合并候选的数量是否小于合并候选的最大数量(S1130)。合并候选的最大数量可以被预定义或者从图像编码装置发信号通知给图像解码装置。例如,图像编码装置可以生成关于合并候选的最大数量的信息并对其进行编码,并且将编码的信息以比特流的形式发送到图像解码装置。当满足合并候选的最大数量时,可能不执行后续候选添加过程S1140。
当作为步骤S1130的检查结果当前合并候选的数量小于合并候选的最大数量时,图像编码/解码装置可以根据预定方法来导出附加合并候选,然后将附加合并候选插入到合并候选列表(S1140)。
当作为步骤S1130的检查结果当前合并候选的数量不小于合并候选的最大数量时,图像编码/解码装置可以结束合并候选列表的构建。在这种情况下,图像编码装置可以从配置合并候选列表的合并候选当中选择最佳合并候选,并且将指定所选择的合并候选的候选选择信息(例如,合并索引)发信号通知给图像解码装置。图像解码装置可以基于合并候选列表和候选选择信息来选择最佳合并候选。
如上所述,所选择的合并候选的运动信息可以被用作当前块的运动信息,并且可以基于当前块的运动信息来导出当前块的预测样本。图像编码装置可以基于预测样本来导出当前块的残差样本,并且将残差样本的残差信息发信号通知给图像解码装置。如上所述,图像解码装置可以基于根据残差信息和预测样本而导出的残差样本来生成重构样本,并且基于其来生成重构图片。
当对当前块应用跳过模式时,可以使用与应用合并模式的情况相同的方法来导出当前块的运动信息。然而,当应用跳过模式时,对应块的残差信号被省略,并且因此预测样本可以被直接用作重构样本。
当对当前块应用MVP模式时,可以使用重构空间邻近块(例如,图13所示的邻近块)的运动向量和/或与时间邻近块(或Col块)对应的运动向量来生成运动向量预测子(mvp)候选列表。也就是说,重构空间邻近块的运动向量和与时间邻近块对应的运动向量可以被用作当前块的运动向量预测子候选。当应用bi预测时,用于L0运动信息导出的mvp候选列表和用于L1运动信息导出的mvp候选列表被单独地生成并被使用。当前块的预测信息(或关于预测的信息)可以包括指定从mvp候选列表中包括的运动向量预测子候选当中选择的最佳运动向量预测子候选的候选选择信息(例如,MVP标志或MVP索引)。在这种情况下,预测单元可以使用候选选择信息来从mvp候选列表中包括的运动向量预测子候选当中选择当前块的运动向量预测子。图像编码装置的预测单元可以获得当前块的运动向量与运动向量预测子之间的运动向量差(MVD)并对其进行编码,并且以比特流的形式输出编码的MVD。也就是说,可以通过从当前块的运动向量减去运动向量预测子来获得MVD。图像解码装置的预测单元可以获得关于预测的信息中包括的运动向量差并且通过运动向量差和运动向量预测子的相加来导出当前块的运动向量。图像编码装置的预测单元可以从关于预测的信息获得或导出指定参考图片的参考图片索引。
图15是示意性地例示了根据本公开的示例的运动向量预测子候选列表构建方法的视图。
首先,可以搜索当前块的空间候选块并且可以将可用候选块插入到mvp候选列表中(S1210)。此后,确定mvp候选列表中包括的mvp候选的数量是否小于2(S1220),并且当mvp候选的数量为2时,可以完成mvp候选列表的构建。
在步骤S1220中,当可用空间候选块的数量小于2时,可以搜索当前块的时间候选块并且可以将可用候选块插入到mvp候选列表中(S1230)。当时间候选块不可用时,可以将零运动向量插入到mvp候选列表中,从而完成mvp候选列表的构建。
同时,当应用mvp模式时,可以显式地发信号通知参考图片索引。在这种情况下,可以区别地发信号通知用于L0预测的参考图片索引refidxL0和用于L1预测的参考图片索引refidxL1。例如,当应用MVP模式并且应用Bi预测时,可以发信号通知关于refidxL0的信息和关于refidxL1的信息。
如上所述,当应用MVP模式时,可以将关于由图像编码装置导出的MVP的信息发信号通知给图像解码装置。例如,关于MVD的信息可以包括指定绝对值(MVD绝对值)的x和y分量及MVD的正负号(sign)的信息。在这种情况下,当MVD绝对值大于0时,可以分步地发信号通知MVD绝对值是否大于1和指定MVD余数的信息。例如,只有当指定MVD绝对值是否大于0的标志信息的值为1时才可以发信号通知指定MVD绝对值是否大于1的信息。
图16是例示了根据本公开的实施例的用于从图像编码装置向图像解码装置发送MVD的语法结构的视图。
在图16中,abs_mvd_greater0_flag[0]指定MVD的x分量的绝对值是否大于0,而abs_mvd_greater0_flag[1]指定MVD的y分量的绝对值是否大于0。类似地,abs_mvd_greater1_flag[0]指定MVD的x分量的绝对值是否大于1,而abs_mvd_greater1_flag[1]指定MVD的y分量的绝对值是否大于1。如图16所示,只有当abs_mvd_greater0_flag为1时才可以发送abs_mvd_greater1_flag。在图16中,abs_mvd_minus2可以指定通过从MVD的绝对值减去2所获得的值,并且mvd_sign_flag指定MVD的正负号是正还是负。使用图16所示的语法结构,可以如以下等式1所示的那样导出MVD。
[等式1]
MVD[compIdx]=abs_mvd_greater0_flag[compIdx]*(abs_mvd_minus2[compIdx]+2)*(1-2*mvd_sign_flag[compIdx])
同时,可以区别地发信号通知用于L0预测的MVD(MVDL0)和用于L1预测的MVD(MVDL1),并且关于MVD的信息可以包括关于MVDL0的信息和/或关于MVDL1的信息。例如,当对当前块应用MVP模式和应用BI预测时,可以发信号通知关于MVDL0的信息和关于MVDL1的信息。
帧内块复制(IBC)预测的概述
在下文中,将描述根据本公开的IBC预测。
IBC预测可以由图像编码/解码装置的预测单元执行。IBC预测可以被简称为IBC。IBC可以被用于诸如屏幕内容编译(SCC)的内容图像/运动图像编译。IBC预测可以基本上在当前图片中执行IBC预测,但是可以类似于帧间预测执行IBC预测,因为在当前图片内导出参考块。也就是说,IBC可以使用本公开中描述的帧间预测技术中的至少一种。例如,IBC可以使用上述运动信息(运动向量)导出方法中的至少一种。可以考虑到IBC预测部分地修改和使用帧间预测技术中的至少一种。IBC可以参考当前图片并且因此可以被称为当前图片参考(CPR)。
对于IBC,图像编码装置可执行块匹配(BM)并且导出当前块(例如,CU)的最佳块向量(或运动向量)。可以使用与上述帧间预测中的运动信息(运动向量)的信令类似的方法,通过比特流将所导出的块向量(或运动向量)发信号通知给图像解码装置。图像解码装置可以通过经发信号通知的块向量(运动向量)来导出当前图片中的当前块的参考块,并且由此导出当前块的预测信号(预测块或预测样本)。这里,块向量(或运动向量)可以指定从当前块到位于当前图片中已重构的区域中的参考块的位移。因此,块向量(或运动向量)可以被称为位移向量。在下文中,在IBC中,运动向量可以对应于块向量或位移向量。当前块的运动向量可以包括亮度分量的运动向量(亮度运动向量)或色度分量的运动向量(色度运动向量)。例如,IBC编译的CU的亮度运动向量可以是整数样本单元(即,整数精度)。可以以整数样本单元修剪色度运动向量。如上所述,IBC可以使用帧间预测技术中的至少一种,并且例如,可以使用上述合并模式或MVP模式来对亮度运动向量进行编码/解码。
当对亮度IBC块应用合并模式时,可以类似于参考图14描述的帧间模式下的合并候选列表构建亮度IBC块的合并候选列表。然而,在亮度IBC块的情况下,可能不将时间邻近块用作合并候选。
当将MVP模式应用于亮度IBC块时,可以类似于参考图15描述的帧间模式下的mvp候选列表构建亮度IBC块的mvp候选列表。然而,在亮度IBC块的情况下,可以不将时间候选块用作mvp候选。
在IBC中,参考块是从当前图片中已重构的区域导出的。在这种情况下,为了降低图像解码装置的存储器消耗和复杂度,可以参考仅当前图片中已重构的区域当中的预定义区域。预定义区域可以包括当前块被包括在其中的当前CTU。通过将可参考的重构区域限制为预定义区域,可以使用本地片上存储器来在硬件中实现IBC模式。
用于执行IBC的图像编码装置可以搜索预定义区域以确定具有最小RD成本的参考块并且基于参考块和当前块的位置来导出运动向量(块向量)。
是否将IBC应用于当前块可以作为CU级别下的IBC性能信息被发信号通知。可以发信号通知关于当前块的运动向量的信令方法(IBC MVP模式或IBC跳过/合并模式)的信息。IBC性能信息可以用于确定当前块的预测模式。因此,可以将IBC性能信息包括在关于当前块的预测模式的信息中。
在IBC跳过/合并模式的情况下,可以发信号通知合并候选索引以指定在合并候选列表中包括的块向量当中要用于当前亮度块的预测的块向量。在这种情况下,合并候选列表可以包括IBC编码的邻近块。合并候选列表可以被配置为包括空间合并候选而不包括时间合并候选。另外,合并候选列表还可以包括基于历史的运动向量预测子(HMVP)候选和/或成对候选。
在IBC MVP模式的情况下,块向量差值可以使用与上述帧间模式的运动向量差值相同的方法来编码。块向量预测方法可以类似于帧间模式的MVP模式构建并使用包括两个候选作为预测子的mvp候选列表。可以从左邻近块导出两个候选中的一个,并且可以从顶部邻近块导出另一个候选。在这种情况下,只有当左或顶部邻近块被IBC编码时,才可以从对应邻近块导出候选。如果左或顶部邻近块不可用,例如,不是IBC编码的,则默认块向量可以作为预测子被包括在mvp候选列表中。另外,指定两个块向量预测子中的一个的信息(例如,标志)被类似于帧间模式的MVP模式发信号通知并用作候选选择信息。mvp候选列表可以包括HMVP候选和/或零运动向量作为默认块向量。
HMVP候选可以被称为基于历史的MVP候选,并且在当前块的编码/解码之前使用的MVP候选、合并候选或块向量候选可以作为HMVP候选被存储在HMVP列表中。此后,在当前块的合并候选列表或mvp候选列表不包括最大数量的候选时,可以将存储在HMVP列表中的候选作为HMVP候选添加到当前块的合并候选列表或mvp候选列表。
成对候选意指通过根据预定顺序从已经包括在当前块的合并候选列表中的候选当中选择两个候选并且计算所选择的两个候选的平均所导出的候选。
图17是例示了基于IBC的视频/图像编码方法的流程图。
图18是例示了根据本公开的用于执行基于IBC的视频/图像编码方法的预测单元的配置的视图。
图17的编码方法可以由图2的图像编码装置执行。具体地,步骤S1410可以由预测单元执行并且步骤S1420可以由残差处理器执行。具体地,步骤S1420可以由减法器115执行。步骤S1430可以由熵编码器190执行。步骤S1430的预测信息可以由预测单元导出并且步骤S1430的残差信息可以由残差处理器导出。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,可以经由图像编码装置的变换器120通过变换系数来导出残差样本,并且可以通过经由量化器130量化的变换系数来导出变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编译过程来编码。
图像编码装置可以针对当前块执行IBC预测(基于IBC的预测)(S1410)。图像编码装置可以导出当前块的预测模式和运动向量(块向量)并且生成当前块的预测样本。预测模式可以包括上述帧间预测模式中的至少一种。这里,可以同时地执行预测模式确定、运动向量导出和预测样本生成过程,或者可以在其它过程之前执行任何一个过程。例如,如图18所示,用于执行基于IBC的视频/图像编码方法的图像编码装置的预测单元可以包括预测模式确定单元、运动向量导出单元和预测样本导出单元。预测模式确定单元可以确定当前块的预测模式,运动向量导出单元可以导出当前块的运动向量,并且预测样本导出单元可以导出当前块的预测样本。例如,图像编码装置的预测单元可以在当前图片的重构区域(或重构区域的某个区域(搜索区域))中搜索与当前块类似的块并且导出其与当前块的差等于或小于某个准则或最小值的参考块。图像编码装置可以基于参考块与当前块之间的位移差来导出运动向量。图像编码装置可以在各种预测模式当中确定应用于当前块的模式。图像编码装置可以针对各种预测模式比较RD成本,并且确定当前块的最佳预测模式。然而,由图像编码装置确定当前块的预测模式的方法不限于上述示例并且可以使用各种方法。
例如,当对当前块应用跳过模式或合并模式时,图像编码装置可以从当前块的邻近块导出合并候选,并且使用所导出的合并候选来构建合并候选列表。另外,图像编码装置可以在通过合并候选列表中包括的合并候选指示的参考块当中导出其与当前块的差等于或小于特定准则或最小值的参考块。在这种情况下,可以选择与所导出的参考块关联的合并候选,并且可以生成指定所选择的合并候选的合并索引信息,并且将其发信号通知给图像解码装置。使用所选择的合并候选的运动向量,可以导出当前块的运动向量。
作为另一示例,当对当前块应用MVP模式时,图像编码装置可以从当前块的邻近块导出运动向量预测子(mvp)候选,并且使用所导出的mvp候选来构建mvp候选列表。另外,图像编码装置可以使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计导出的参考块的运动向量可以被用作当前块的运动向量,并且在mvp候选当中与当前块的运动向量的差最小的mvp候选可以变成所选择的mvp候选。可以导出通过从当前块的运动向量减去mvp而获得的运动向量差(MVD)。在这种情况下,可以将指定所选择的mvp候选的索引信息和关于MVD的信息发信号通知给图像解码装置。
图像编码装置可以基于预测样本来导出残差样本(S1420)。图像编码装置可以通过当前块的原始样本与预测样本之间的比较来导出残差样本。例如,可以通过从原始样本减去对应预测样本来导出残差样本。
图像编码装置可以对包括预测信息和残差信息的图像信息进行编码(S1430)。图像编码装置可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引)和关于运动向量的信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指定是否将跳过模式应用于当前块,而合并标志指定是否将合并模式应用于当前块。另选地,预测模式信息可以指定多种预测模式中的一种,诸如模式索引。当跳过标志和合并标志为0时,可以确定MVP模式适用于当前块。关于运动向量的信息可以包括作为用于导出运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在将合并模式应用于当前块时被发信号通知,并且可以是用于选择合并候选列表
中包括的合并候选中的一个的信息。在候选选择信息当中,mvp标志
或mvp索引可以在将MVP模式应用于当前块时被发信号通知,并且可
以是用于选择mvp候选列表中包括的mvp候选中的一个的信息。另外,关于运动向量的信息可以包括关于上述MVD的信息。另外,关于运动向量的信息可以包括指定是应用L0预测、L1预测还是bi预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中并且发送到图像解码装置或者可以通过网络被发送到图像解码装置。
同时,如上所述,图像编码装置可以基于参考样本和残差样本来生成重构图片(包括重构样本和重构块的图片)。这是为了图像编码装置导出与由图像解码装置执行的预测结果相同的预测结果,从而提高编译效率。因此,图像编码装置可以将重构图片(或重构样本和重构块)存储在存储器中,并且将其用作用于帧间预测的参考图片。如上所述,环路内滤波过程还适用于重构图片。
图19是例示了基于IBC的视频/图像解码方法的流程图。
图20是例示了根据本公开的用于执行基于IBC的视频/图像解码方法的预测单元的配置的视图。
图像解码装置可以执行与由图像编码装置执行的操作对应的操作。图像解码装置可以基于接收到的预测信息来对当前块执行IBC预测以导出预测样本。
图19的解码方法可以由图3的图像解码装置执行。步骤S1610至S1630可以由预测单元执行,并且步骤S1610的预测信息和步骤S1640的残差信息可以由熵解码器210从比特流获得。图像解码装置的残差处理器可以基于残差信息来导出当前块的残差样本(S1640)。具体地,残差处理器的解量化器220可以基于根据残差信息而导出的量化变换系数来执行解量化以导出变换系数,并且残差处理器的逆变换器230可以对变换系数执行逆变换以导出当前块的残差样本。步骤S1650可由加法器235或重构器执行。
具体地,图像解码装置可以基于所接收到的预测信息来确定当前块的预测模式(S1610)。图像解码装置可以基于预测信息中的预测模式信息来确定哪种预测模式适用于当前块。
例如,可以基于跳过标志来确定是否将跳过模式应用于当前块。另外,可以基于合并标志来确定是否将合并节点或MVP模式应用于当前块。另选地,可以基于模式索引来选择各种预测模式候选中的一个。预测模式候选可以包括跳过模式、合并模式和/或MVP模式或者可以包括上述各种帧间预测模式。
图像编码装置可以基于所确定的预测模式来导出当前块的运动向量(S1620)。例如,当将跳过模式或合并模式应用于当前块时,图像解码装置可以构建上述合并候选列表并且选择合并候选列表中包括的合并模式中的一种。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动向量来导出当前块的运动向量。例如,所选择的合并候选的运动向量可以被用作当前块的运动向量。
作为另一示例,当将MVP模式应用于当前块时,图像解码装置可以构建mvp候选列表,并且使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来导出当前块的MVD,并且可以基于当前块的mvp和MVD来导出当前块的运动向量。
图像解码装置可以基于当前块的运动向量来生成当前块的预测样本(S1630)。可以使用通过当前图片上的当前块的运动向量指示的参考块的样本来导出当前块的预测样本。在一些情况下,可以进一步执行针对当前块的预测样本中的全部或一些的预测样本滤波过程。
例如,如图20所示,用于执行基于IBC的视频/图像解码方法的图像解码装置的预测单元可以包括预测模式确定单元、运动向量导出单元和预测样本导出单元。图像解码装置的预测单元可以在预测模式确定单元中基于所接收到的预测模式信息来确定当前块的预测模式,在运动向量导出单元中基于所接收到的关于运动向量的信息来导出当前块的运动向量,并且在预测样本导出单元中导出当前块的预测样本。
图像解码装置可以基于所接收到的残差信息来生成当前块的残差样本(S1640)。图像解码装置可以基于预测样本和残差样本来生成当前块的重构样本,并且基于此来生成重构图片(S1650)。此后,如上所述,环路内滤波过程还适用于重构图片。
如上所述,一个单元(例如,编译单元(CU))可以包括亮度块(亮度编译块(CB))和色度块(色度CB)。在这种情况下,亮度块和与其对应的色度块可以具有相同的运动信息(例如,运动向量)或不同的运动信息。例如,可以基于亮度块的运动信息来导出色度块的运动信息,使得亮度块和与其对应的色度块具有相同的运动信息。
色度块上的帧内预测
当对当前块执行帧内预测时,可以执行对当前块的亮度分量块(亮度块)的预测和对色度分量块(色度块)的预测。在这种情况下,色度块的帧内预测模式可以与亮度块的帧内预测模式分开设置。
例如,可以基于帧内色度预测模式信息指定用于色度块的帧内预测模式,以及可以以intra_chroma_pred_mode语法元素的形式发信号通知帧内色度预测模式信息。例如,帧内色度预测模式信息可以表示平面模式、DC模式、垂直模式、水平模式、导出模式(DM)及跨分量线性模型(CCLM)模式中的一个。在此,平面模式可以指定帧内预测模式#0,DC模式可以指定帧内预测模式#1,垂直模式可以指定帧内预测模式#26,以及水平模式可以指定帧内预测模式#10。DM也可以被称为直接模式。CCLM也可以被称为线性模型(LM)。
同时,DM和CCLM是用于使用关于亮度块的信息预测色度块的相关帧内预测模式。DM可以表示与亮度分量的帧内预测模式相同的帧内预测模式应用为用于色度分量的帧内预测模式的模式。另外,CCLM可以表示将通过对亮度块的重构样本进行子采样,然后在生成用于色度块的预测块的过程中,将作为CCLM参数的α及β应用于子采样的样本而导出的样本用作色度块的预测样本的帧内预测模式。
[等式2]
predC(i,j)=α·recL′(i,j)+β
其中,predc(i,j)可以表示当前CU中的当前色度块的(i,j)坐标的预测样本。recL’(i,j)可以表示CU中的当前亮度块的(i,j)坐标的重构样本。例如,recL’(i,j)可以表示当前亮度块的下采样的重构样本。线性模型系数α及β可以从相邻样本发信号通知或导出。
2×N和N×2块的编码效率劣化问题
在VVC标准的情况下,编码目标图像是诸如UHD或FHD的高分辨率图像。用于处理这种高分辨率图像的硬件配置越来越复杂。在实施例中,作为VVC规范和标准软件的TVM可以在帧内预测期间使用大小为128×128的CTU。即使在这种情况下,作为最小CU块的大小,在亮度块的情况下也可以使用4×4块。在色度块的情况下,在当前块的树结构是单树时,可以使用2×2块,并且在当前块的树结构为双树时,可以使用2×8、8×2或4×4块。
因此,当通过经由VTM软件执行帧内预测来对具有3840×2160的分辨率的UHD图像进行编码时,根据双树,所有亮度块被编码成4×4块,并且所有色度块可以被编码成4×4块。在这种情况下,UHD图像被分成518,400个4×4亮度块和色度块。在VTM的硬件实现中,即使在最坏情况下发生的数据吞吐量中,也应当驱动相应的硬件。因此,当这种情况发生时,为了对此做准备,硬件制造成本增加并且在编码和解码过程中发生处理延迟。
在使用亮度块与色度块之间的关联的技术(例如CCLM)的情况下,由于应当在完成所有亮度块的编码之后执行色度块的编码,如图21所示,因此硬件实现中的流水线延迟问题发生。
另外,与单树不同,在双树的情况下,应当在完成所有亮度块的编码之后执行色度块的编码。因此,通过延迟色度块的编码直到亮度块的编码完成,在硬件实现中出现流水线延迟问题。具体地,由于在双树的色度块中生成2×8、2×16和2×32结构,因此可以不使用以每时钟4×1为单位执行编码和解码的现有硬件结构。因此,需要一种用于以每时钟2×2或1/4为单位执行过程的新硬件结构。
本公开提出一种自适应地限制色度块的大小或限制或调整CCLM预测块的应用块的大小以便解决硬件实现中的上述问题的方法。因此,可以显著地降低硬件实现的复杂性,同时最小化编码效率损失。
在以下描述中,限制特定块大小可以指示不允许分割成具有特定大小的块。为了不允许分割成具有特定大小的块,可以限制特定条件下的分割。这可以指示在特定条件下的分割被设置为不可用。在这种情况下,可以将上层块分割为不同于特定块大小的块大小,然后可以将所分割的块用作当前块来执行一系列编译过程(预测、残差处理、块重构、图像/视频信息编码/解码等)。图像/视频信息可以包括分割信息,并且分割信息可以包括指定分割成除有限分割大小之外的块尺寸的信息。
基于块分割限制的实现性能改进
根据实施例的编码装置和解码装置可以通过取决于根据单树或双树结构是否分割当前图像的CTU,自适应地限制从CTU分割的块大小来解决硬件实现的复杂性。
如上所述,在双树的情况下,在完成对具有某一大小的所有亮度块的编码或解码之后,可以执行对应于亮度块的色度块的编码。因此,需要使用不同于在H.264和HEVC中使用的单树硬件的流水线方法。
在使用VVC标准的情况下,当应用双树时,在4:2:0的颜色格式的情况下,在执行64×64亮度块的编码之后,执行32×32色度块的编码。因此,顺序地执行亮度块和色度块的编码和解码。在亮度块的情况下,可以在不改变的情况下使用在现有硬件中使用的每时钟处理4×1像素的方法。然而,由于在色度块中产生2x8、2x16或2x32结构,因此可以不使用用于以4x1为单位进行编码和解码的现有硬件结构。
为了在不改变的情况下使用现有硬件结构,色度块的大小可以限于现有编码和解码单元。例如,当以每时钟A×1为单位作为编码和解码单位执行该过程时,可以限制色度块的B×N块大小使得在该结构中编码/解码色度块。在此,A可以是大于0且小于或等于块的最大宽度的整数,B可以是大于0且小于A的整数,以及N可以是由大于1的2的幂表示的值(例如,2,4,8,16,32,64,128,256…)。在此,限制块大小可以是指禁止分割成对应的块大小。因此,色度块可以被分割成直至紧接在被分割成对应块大小之前的块大小。
例如,当以每时钟4×1为单位作为编码和解码单位执行该过程时,可以限制色度块的2×N块大小,使得在该结构中编码/解码色度块。在此,N可以是由大于1的2的幂表示的值。
例如,可以禁止将色度块分割成2xN块。在实施例中,为了禁止将色度块分割成该大小,可以限制用于通过分割当前块而生成具有2×N的大小的色度块的四叉树分割、水平二叉树分割、垂直二叉树分割、水平三叉分割或垂直三叉分割。
限制这种分割仅在当前块具有双树结构时、仅在当前块具有单树结构时或在当前块具有双树结构或单树结构时适用。
同时,在当前块为亮度块、当前块的树结构为单树且当前块的颜色格式为4:2:2或4:2:0时,为了限制生成2×N色度块,分割当前块以生成4×N亮度块可以被限制。例如,用于通过分割当前块生成具有4×N大小的亮度块的四叉树分割、水平二叉树分割、垂直二叉树分割、水平三叉分割或垂直三叉分割可以被限制。
图22是图示在当前块具有双树结构时,在限制将色度块分割成2xN个色度块的情况下测量的编码率的视图。如图22的实验结果所示,在所有帧内实验中观察到Y 0.02%、Cb0.34%、Cr 0.38%的编码损失。通过限制2×N块,现有硬件的4×1像素处理可以无改变地应用于色度块,并且还可以最小化编码损失。
同时,根据以上描述的实施例可以应用于以每时钟1×A为单位执行编码/解码过程的情况。例如,可以限制色度块的N×B块大小使得在以每时钟1×A为单位执行编码/解码过程的编码/解码结构中,对色度块进行编码/解码。在此,A可以是大于0且小于或等于块的最大宽度的整数,B可以是大于0且小于A的整数,而N可以是由大于1的2的幂表示的值(例如,2,4,8,16,32,64,128,256…)。在此,限制块大小可以是指禁止分割成对应的块大小。因此,色度块可以被分割成直至紧接在被分割成对应块大小之前的块大小。
例如,当以每时钟1×4为单位作为编码和解码单位执行该过程时,可以限制色度块的N×2块大小,使得在该结构中编码/解码色度块。在此,N可以是由大于1的2的幂表示的值。
例如,可以禁止将色度块分割成N×2个块。在实施例中,为了禁止将色度块分割成这样的大小,用于通过分割当前块来生成具有N×2大小的色度块的四叉树分割、水平二叉树分割、垂直二叉树分割、水平三叉分割或垂直三叉分割可以被限制。
限制这种分割仅在当前块具有双树结构时、仅在当前块具有单树结构时或在当前块具有双树结构或单树结构时适用。
同时,在当前块为亮度块时,当前块的树结构为单树且当前块的颜色格式为4:2:2或4:2:0,为了限制生成N×2色度块,分割当前块以生成N×4亮度块可以被限制。例如,用于通过分割当前块而生成具有N×4大小的亮度块的四叉树分割、水平二叉树分割、垂直二叉树分割、水平三叉分割或垂直三叉分割可以被限制。
实施例1
如上所述,编码装置和解码装置可以限制将色度块分割为2×N的大小。例如,编码/解码装置可以将色度块的最小宽度限制为4个样本的长度。为此,根据实施例的编码/解码装置可以基于当前块是色度块还是当前块的宽度来确定对于当前块是否允许预定分割模式。在下文中,将描述解码装置,但是以下描述相应地适用于编码装置。
图23是图示了由解码装置确定对于当前块是否允许垂直三叉分割(SPLIT_TT_VER)的方法的视图。根据实施例的解码装置可以确定当前块是否为色度块(S2310)。解码装置可以检查指定当前块的颜色分量的cIdx参数的值以确定当前块是否为色度块。当cIdx的值为0时,解码装置可以确定当前块是亮度块。当cIdx的值大于0时,解码装置可以确定当前块是色度块。更具体地,当cIdx的值为1或2时,解码装置可以确定当前块是色度cb块。当cIdx的值为2时,解码装置可以确定当前块是色度cr块。
另外,根据实施例的解码装置可以进一步确定当前块的树结构是否是对树。当指定当前块的树结构的树信息(例如,treeType)为用于色度分量的双树类型(例如,DUAL_TREE_CHROMA)时,解码装置可以确定当前块为色度块且树类型为双树类型。
接下来,解码装置可以确定当前块的宽度是否等于或小于8个样本的长度(S2320)。当指定当前块的宽度的参数的值等于或小于8时,解码装置可以确定当前块的宽度等于或小于8。
同时,在色度块的情况下,可以基于对应亮度块的宽度来确定色度块的宽度。在这种情况下,可以基于亮度块的宽度和当前图像的颜色格式来确定当前色度块的宽度。例如,当颜色格式为4:4:4时,可以将色度块的宽度和高度分别设置为亮度块的宽度和高度。当颜色格式为4:2:2时,可以将色度块的宽度设置为亮度块的宽度的一半,并且可以将色度块的高度设置为亮度块的高度。当颜色格式为4:2:0时,可以将色度块的宽度设置为亮度块的宽度的一半,并且可以将色度块的高度设置为亮度块的高度的一半。
因此,在当前块的颜色格式为4:4:4时,解码装置可以通过确定亮度块的宽度是否等于或小于8来执行步骤S2320。类似地,在当前块的颜色格式为4:2:2或4:2:0时,解码装置可以通过确定亮度块的宽度是否等于或小于16来执行步骤S2320。
最后,当满足所有上述条件时,解码装置可以确定当前块不允许垂直三叉分割(S2330)。例如,在当前块是色度块并且宽度等于或小于8时,解码装置可以确定当前块不允许垂直三叉分割。可替代地,在当前块是色度块、当前块的树类型是双树类型并且宽度等于或小于8时,解码装置可以确定当前块不允许垂直三叉分割。
同时,当不满足上述条件时,解码设备可以确定对于当前块允许垂直三叉分割。在这种情况下,通过确定不能通过垂直三叉分割来分割当前块的附加条件,解码装置可以确定对于当前块是否允许垂直三叉分割(S2340)。例如,在从四叉树叶节点分割当前块的次数等于或大于作为指定从四叉树叶节点分割的多类型树的最大允许层次深度的参数的MaxMttDepth的值时,解码装置可以确定对于当前块不允许垂直三叉分割,以及在分割当前块的次数小于MaxMttDepth的值时,可以确定对于当前块允许垂直三叉分割。
实施例2
如上所述,需要将色度块的最小高度限于四个样本的长度。在下文中,将参考图24描述由根据实施例的编码/解码装置限制用于当前块的水平三叉分割以便限制色度块的最小高度的方法。在下文中,将描述解码装置,但是以下描述也可以适用于编码装置。
图24是图示由解码装置确定对于当前块是否允许水平三叉分割(SPLIT_TT_HOR)的方法的视图。根据实施例的解码装置可以确定当前块是否为色度块(S2410)。如上所述,解码装置可以检查指定当前块的颜色分量的cIdx参数的值以确定当前块是否为色度块。
另外,根据实施例的解码装置可以进一步确定当前块的树结构是否是双树。当指定当前块的树结构的树信息(例如,treeType)是用于色度分量的双树类型(例如,DUAL_TREE_CHROMA)时,解码装置可以确定当前块为色度块且树类型为双树类型。
接下来,根据实施例的解码装置可以确定当前块的高度是否等于或小于8个样本的长度(S2420)。当指定当前块的高度的参数的值等于或小于8时,解码装置可以确定当前块的高度等于或小于8。可替代地,如上所述,解码装置可以根据当前块的颜色格式,基于亮度块的高度等于或小于8或16执行步骤S2420。
如上所述,在色度块的情况下,可以基于对应亮度块的高度来确定色度块的高度。例如,在当前块的颜色格式为4:4:4或4:2:2时,解码装置可以通过确定亮度块的高度是否等于或小于8来执行步骤S2420。类似地,在当前块的颜色格式为4:2:2时,解码装置可以通过确定亮度块的高度是否等于或小于16来执行步骤S2420。
最后,当满足所有上述条件时,解码装置可以确定对于当前块不允许水平三叉分割(S2430)。例如,在当前块是色度块并且高度等于或小于8时,解码装置可以确定对于当前块不允许水平三叉分割。可替代地,在当前块是色度块、当前块的树类型是双树类型并且高度等于或小于8时,解码装置可以确定对于当前块不允许水平三叉分割。
同时,当不满足上述条件时,解码装置可以确定对于当前块允许水平三叉分割。在这种情况下,如上所述,通过确定对于当前块不允许水平三叉分割的附加条件,解码装置可以确定对于当前块是否允许水平三叉分割(S2440)。例如,在从四叉树叶节点分割当前块的次数等于或大于作为指定从四叉树叶节点分割的多类型树的最大允许层次深度的参数的MaxMttDepth的值时,解码装置可以确定对于当前块不允许水平三叉分割,而在分割当前块的次数小于MaxMttDepth的值时,可以确定对于当前块允许水平三叉分割。
实施例3
如上所述,需要将色度块的最小高度限于四个样本的长度。在下文中,将参考图25描述由根据实施例的编码/解码装置限制当前块的水平二叉分割以便限制色度块的最小高度的方法。在下文中,将描述解码装置,但是以下描述也可以适用于编码装置。
图25是图示由解码装置确定对于当前块是否允许水平二叉分割(SPLIT_BT_HOR)的方法的视图。根据实施例的解码装置可以确定当前块是否为色度块(S2510)。如上所述,解码装置可以检查指定当前块的颜色分量的cIdx参数的值以确定当前块是否为色度块。
另外,根据实施例的解码装置可以进一步确定当前块的树结构是否是双树。当指定当前块的树结构的树信息(例如,treeType)是色度分量的双树类型(例如,DUAL_TREE_CHROMA)时,解码装置可以确定当前块为色度块且树类型为双树类型。
接下来,根据实施例的解码装置可以确定当前块的高度是否等于或小于4个样本的长度(S2520)。当指定当前块的高度的参数的值等于或小于4时,解码装置可以确定当前块的高度等于或小于4。可替代地,如上所述,解码装置可以根据当前块的颜色格式,基于亮度块的高度是否等于或小于4或8来执行步骤S2520。例如,在当前块的颜色格式为4:4:4或4:2:2时,解码装置可以通过确定亮度块的高度是否等于或小于4来执行步骤S2520。类似地,在当前块的颜色格式为4:2:2时,解码装置可以通过确定亮度块的高度是否等于或小于8来执行步骤S2520。
最后,当满足所有上述条件时,解码装置可以确定对于当前块不允许水平二叉分割(S2530)。例如,在当前块是色度块并且高度等于或小于4时,解码装置可以确定对于当前块不允许水平二叉分割。可替代地,在当前块是色度块、当前块的树类型是双树类型并且高度等于或小于4时,解码装置可以确定对于当前块不允许水平二叉分割。
同时,当不满足上述条件时,解码装置可以确定对于当前块允许水平二叉分割。在这种情况下,如上所述,通过确定对于当前块不允许水平二叉分割的附加条件,解码装置可以确定对于当前块是否允许水平二叉分割(S2540)。例如,在从四叉树叶节点分割当前块的次数等于或大于作为指定从四叉树叶节点分割的多类型树的最大允许层次深度的参数的MaxMttDepth的值时,解码装置可以确定对于当前块不允许水平二叉分割,以及在分割当前块的次数小于MaxMttDepth的值时,可以确定对于当前块允许水平二叉分割。
实施例4
如上所述,需要将色度块的最小宽度限于四个像素的长度。在下文中,将参考图26描述由根据实施例的编码/解码装置限制当前块的垂直二叉分割以便限制色度块的最小宽度的方法。在下文中,将描述解码装置,但是以下描述也可以适用于编码装置。
图26是图示由解码装置确定对于当前块是否允许垂直二叉分割(SPLIT_BT_VER)的方法的视图。根据实施例的解码装置可以确定当前块是否为色度块(S2610)。如上所述,解码装置可以检查指定当前块的颜色分量的cIdx参数的值以确定当前块是否为色度块。
另外,根据实施例的解码装置可以进一步确定当前块的树结构是否是双树。当指定当前块的树结构的树信息(例如,treeType)是色度分量的双树类型(例如,DUAL_TREE_CHROMA)时,解码装置可以确定当前块为色度块且树类型为双树类型。
接下来,根据实施例的解码装置可以确定当前块的宽度是否等于或小于4个样本的长度(S2620)。当指定当前块的宽度的参数的值等于或小于4时,解码装置可以确定当前块的宽度等于或小于4。可替代地,如上所述,解码装置可以根据当前块的颜色格式,基于亮度块的宽度是否等于或小于4或8来执行步骤S2620。例如,在当前块的颜色格式为4:4:4时,解码装置可以通过确定亮度块的宽度是否等于或小于4来执行步骤S2620。类似地,在当前块的颜色格式为4:2:2或4:2:0时,解码装置可以通过确定亮度块的宽度是否等于或小于8来执行步骤S2620。
最后,当满足所有上述条件时,解码装置可以确定对于当前块不允许垂直二叉分割(S2630)。例如,在当前块是色度块并且宽度等于或小于4时,解码装置可以确定对于当前块不允许垂直二叉分割。可替代地,在当前块是色度块、当前块的树类型是双树类型并且宽度等于或小于4时,解码装置可以确定对于当前块不允许垂直二叉分割。
同时,当不满足上述条件时,解码装置可以确定对于当前块允许垂直二叉分割。在这种情况下,如上所述,通过确定对于当前块不允许垂直二叉分割的附加条件,解码装置可以确定对于当前块是否允许垂直二叉分割(S2640)。例如,在从四叉树叶节点分割当前块的次数等于或大于作为指定从四叉树叶节点分割的多类型树的最大允许层次深度的参数的MaxMttDepth的值时,解码装置可以确定对于当前块不允许垂直二叉分割,而在分割当前块的次数小于MaxMttDepth的值时,可以确定对于当前块允许垂直二叉分割。
实施例5
如上所述,需要将色度块的最小宽度或高度限于4个像素的单位。在下文中,为了限制色度块的最小宽度和高度,将参考图27描述由根据实施例的编码/解码装置限制当前块的四叉树分割的方法。在下文中,将描述解码装置,但是以下描述也可以适用于编码装置。
图27是图示由根据实施例的解码装置确定对于当前块是否允许四叉树分割的方法的视图。根据实施例的解码装置可以确定当前块是否是色度块(S2710)。解码装置可以检查指定当前块的颜色分量的cIdx参数的值,以确定当前块是否为色度块。
另外,根据实施例的解码装置可以进一步确定当前块的树结构是否是双树。当指定当前块的树结构的树信息(例如,treeType)是用于色度分量的双树类型(例如,DUAL_TREE_CHROMA)时,解码装置可以确定当前块为色度块且树类型为双树类型。
接下来,根据实施例的解码装置可以确定当前块的宽度或高度是否等于或小于4个样本的长度(S2720)。当指定当前块的宽度的参数的值等于或小于4时,解码装置可以确定当前块的宽度等于或小于4。可替代地,如上所述,解码装置可以根据当前块的颜色格式,基于亮度块的宽度是否等于或小于4或8来执行步骤S2720。例如,在当前块的颜色格式为4:4:4时,解码装置可以通过确定亮度块的宽度是否等于或小于4来执行步骤S2720。以类似的方式,当颜色格式是4:4:2或4:2:0时,解码装置可以通过确定亮度块的宽度是否等于或小于8来执行步骤S2720。
最后,当满足所有上述条件时,解码装置可以确定对于当前块不允许四叉树分割(S2730)。例如,在当前块是色度块并且宽度或高度等于或小于4时,解码装置可以确定对于当前块不允许四叉树分割。可替代地,在当前块是色度块、当前块的树类型是双树类型并且宽度或高度等于或小于4时,解码装置可以确定对于当前块不允许四叉树分割。
同时,当不满足上述条件时,解码装置可以确定对于当前块允许四叉树分割。在这种情况下,如上所述,通过确定对于当前块不允许四叉树分割的附加条件,解码装置可以确定对于当前块是否允许四叉树分割(S2740)。例如,当从四叉树叶节点分割当前块的次数等于或大于作为指定从四叉树叶节点分割的多类型树的最大允许层级深度的参数的MaxMttDepth的值时,解码装置可以确定对于当前块不允许四叉树分割,并且当分割当前块的次数小于MaxMttDepth的值时,解码装置可以确定允许四叉树分割。
基于CCLM应用限制的实现性能改进
根据实施例的编码装置和解码装置可以根据色度块的大小自适应地执行CCLM预测。如上所述,由于在CCLM预测中,基于亮度块的样本值生成色度块的样本值,因此需要参考对应(例如,共置的)亮度样本。由于可以在完成所有亮度样本的编码/解码之后执行CCLM预测,因此硬件流水线中的延迟不可避免地发生。
另外,与在亮度块的编码/解码之后执行共置色度块的编码/解码的单树块不同,独立地编码具有特定大小或更大大小的亮度块和色度块的双树中的CCLM预测进一步劣化了硬件流水线延迟问题。在最坏的情况下,在双树CTU中,在256个CU中执行CCLM预测,这显著地影响硬件实现中的吞吐量(例如,数据吞吐量)。
因此,为了降低CCLM预测的数据吞吐量,根据实施例的编码装置和解码装置可以在执行CCLM预测时,根据色度块的大小来确定是否执行CCLM预测。另外,编码装置和解码装置可以取决于色度块的树结构是单树还是双树以及色度块的大小来确定是否执行CCLM预测。
更具体地,当在执行CCLM预测时色度块的像素(样本)的数量等于或小于16时(第一限制条件),根据实施例的编码装置和解码装置可以限制(例如,禁止)CCLM预测。例如,编码装置和解码装置可以相对于大小为2×2、2×4、2×8、4×2、4×4或8×2的色度块不执行CCLM预测。通过实验证实,通过以这种方式执行CCLM预测,与相对于所有色度块不限制色度块的大小执行CCLM的情况相比,数据吞吐量可减半。
可替代地,在执行CCLM预测时,编码装置和解码装置可以当色度块的宽度为2个样本的长度(例如,2×N色度块)(第二限制条件)时限制CCLM预测,并且在色度块的高度为2个样本的长度(例如,N×2色度块)(第三限制条件)时限制CCLM预测。
在实施例中,编码装置和解码装置可以使用第一限制条件、第二限制条件和第三限制条件的选择性组合。例如,编码装置可以使用第一限制条件和第二限制条件的组合、第一限制条件和第三限制条件的组合、第二限制条件和第三限制条件的组合或者第一限制条件、第二限制条件和第三限制条件的组合。
根据上述组合的编码损失率的示例在图28和图29中示出。图28是图示在仅应用第一限制条件的情况下获得的实验结果的视图。图29是图示在应用所有第一、第二和第三限制条件的情况下获得的实验结果的视图。实验在VTM5软件上进行,并且针对基于双树的所有帧内进行。如图28的实验结果所示,在仅应用第一限制条件的所有帧内实验中观察到Y0.03%、Cb 0.53%和Cr 0.60%的编码损失。
另外,如图29的实验结果所示,在仅应用第一至第三限制条件的所有帧内实验中观察到Y 0.05%、Cb 0.75%和Cr 0.83%的编码损失。在图29的实验结果中,未对其执行CCLM预测的色度块是2xN、Nx2和4x4色度块。如在图28和图29的实验示例中,通过限制具有预定大小的色度块中的CCLM预测,可以减少用于编码色度块的数据吞吐量且最小化编码损失。
编码方法
图30是图示由根据实施例的解码装置对图像进行编码的方法的流程图。根据实施例的编码装置可以包括存储器和至少一个处理器,并且编码装置可以使用至少一个处理器执行以下编码方法。在下文中,将参考图30描述执行上述实施例的编码方法。
根据实施例的编码装置可以选择由色度分量组成的当前块的分割结构(S3010)。例如,编码装置可以将当前块的分割结构选择为由与当前块对应的亮度分量块的分割类型确定的单树结构和与对应于当前块的亮度分量块的分割类型无关地确定的双树结构中的任何一个。
另外,如下所述在单树结构和双树结构下执行当前块的编码之后,根据实施例的编码装置可以将具有更高编码率的分割结构选择为当前块的分割结构。
另外,即使当具有单个树结构的CTU被分割为下层块时,编码装置也可以根据预定条件,将CTU的下层块的分割结构改变为双树结构。在实施例中,编码装置可以将色度块的分割结构确定为双树结构,以便在将亮度块和色度块分割为相同分割类型并生成下层块的过程中,当亮度块的大小达到最小可分割大小时,进一步分割色度块。因此,即使当CTU具有单树结构时,当前块的分割结构也可以被选择为双树结构。
接下来,根据实施例的编码装置可以基于分割结构,选择当前块的可用分割类型(S3020)。例如,编码装置可以基于以当前块的宽度或高度为基础确定的可用分割类型来确定当前块的分割类型。
在实施例中,编码装置可能不允许在多个分割类型当中下层块的宽度或高度为预定值的预定分割类型作为可以分割当前块的可用分割类型。因此,编码装置可以将当前块的分割类型确定为多个分割类型当中除了预定分割类型外的可用分割类型。预定值可以大于0且小于图像编码装置的每时钟的处理块的值。在这种情况下,编码装置可以通过进一步考虑当前块的分割结构是单树结构还是双树结构来确定是否允许预定分割类型作为可用分割类型。
可以基于对应于当前块的亮度块的颜色格式和宽度来确定当前块的宽度。例如,当前块的宽度可以被确定为通过将对应于当前块的亮度块的宽度除以基于颜色格式导出的色度样本与亮度样本的分量比而获得的值。可以通过根据当前块的分割类型划分当前块的宽度来确定下层块的宽度。
例如,当图像编码装置的每时钟的处理块的大小为4×1时,在当前块的宽度为4时,编码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型,并且在当前块的宽度为8时,可能不允许垂直三叉分割类型作为当前块的分割类型。
更具体地,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于4并且亮度块的颜色格式是4:4:4时,编码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于8并且亮度块的颜色格式是4:2:2或4:2:0时,编码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于8并且亮度块的颜色格式是4:4:4时,编码装置可能不允许垂直三叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于16并且亮度块的颜色格式是4:2:2或4:2:0时,编码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是双树结构并且当前块的宽度等于或小于4时,编码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是双树结构并且当前块的宽度等于或小于8时,编码装置可能不允许垂直三叉分割类型作为当前块的分割类型。
另外,当图像解码装置的每时钟的处理块的大小为1×4并且当前块的高度为4时,编码装置可能不允许四叉树分割类型和水平二叉分割类型作为当前块的分割类型。在这种情况下,解码装置可以通过进一步考虑当前块的分割结构是单树结构还是双树结构来确定是否允许分割类型。
另外,当图像解码装置的每时钟的处理块的大小为1×4并且当前块的高度为8时,编码装置可能不允许水平三叉分割类型作为当前块的分割类型。在这种情况下,解码装置可以通过进一步考虑当前块的分割结构是单树结构还是双树结构来确定是否允许分割类型。
接下来,编码装置可以通过基于如上所述确定的可用分割类型来分割当前块,获得多个下层块(S3030)。编码装置可以通过应用上述四叉树和多树分割类型当中的允许分割类型来对当前块进行编码,并且根据每个分割类型计算RD成本。编码装置可以根据基于每个分割模式确定的RD成本来确定应用于当前块的分割模式。例如,当对于当前块允许水平三叉模式的分割时,编码装置可以确定将水平三叉模式应用为当前块的分割模式,并且当以相应类型分割和编码当前块时,计算最佳RD成本。
编码装置可以使用通过将当前块分割为被确定为应用于当前块的分割类型而获得的下层块,来对当前块进行编码。编码装置可以基于下层块执行上述帧内、帧间或IBC预测以生成预测信息,根据预测结果生成残差信息,并通过对预测信息和残差信息进行编码来对当前块进行编码。
接下来,编码装置可以基于对下层块进行编码的结果,对下层块的预测模式信息和当前块的分割信息进行编码(S3040)。编码装置可以对关于分割当前块的信息和关于预测的信息进行编码,以便表示当前块的分割结构和分割类型。例如,编码装置可以通过对关于构成当前图像的CTU的分割结构的信息(例如,sps_qtbtt_dual_tree_intra_flag)进行编码来生成比特流。在实施例中,当CTU以单树结构被分割时,编码装置可以将sps_qtbtt_dual_tree_intra_flag编码为指定CTU在单树结构中被分割的第一值(例如,0)。可替代地,当CTU在双树结构中被分割时,编码装置可以将sps_qtbtt_dual_tree_intra_flag编码为指定CTU在双树结构中被分割的第二值(例如,1)。
另外,如上所述,编码装置可以使用qt_split_flag来指定当前块是否被分割成四叉树结构。在当前块被分割成四叉树时,编码装置可以将qt_split_flag设置为第一值(例如,1)并且执行编码。在当前块没有被分割成四叉树时,编码装置可以将qt_split_flag设置为第二值(例如,0)并且执行编码。
在该实施例中,在当前块不被分割成四叉树但是被分割成多树时,编码装置可以使用作为多树分割信息的mtt_split_cu_flag来指定当前块是否被分割成多树。
在当前块被分割成多树时,编码装置可以将mtt_split_cu_flag设置为第一值(例如,1)并执行编码。在当前块没有被分割成多树时,编码装置可以将mtt_split_cu_flag设置为第二值(例如,0)并且执行编码。
此外,编码装置可以对mtt_split_cu_verticla_flag和mtt_split_cu_binary_flag进行编码以指定当前块的多树分割类型和多树分割方向。例如,mtt_split_cu_vertical_flag可以在当前块在水平方向上被分割时被设置为第一值(例如,0)并且在当前块在垂直方向上被分割时被设置为第二值(例如,1)。mtt_split_cu_binary_flag在当前块被分割为三叉树时可以设置为第一值(例如,0),并且在当前块被分割为二叉树时可以设置为第二值(例如,1)。
同时,如图31所示,编码装置可以通过对作为指定当前块是否被分割的分割信息的split_cu_flag(3110)、对作为指定是否执行当前块的四叉树分割的四叉树分割信息的split_cu_flag(3120)、对作为指定当前块在多树结构中的分割方向的分割方向信息的mtt_split_cu_vertical_flag(3130)和对作为指定当前块的分割类型在多树结构中是二叉分割类型或者三叉分割类型的分割类型信息的mtt_split_cu_binary_flag(3140)进行编码,来对关于当前块的分割的信息进行编码。
如上所述,split_cu_flag(3110)可以在当前块未被分割时被设置为第一值(例如,0),并且在当前块被分割为下层块时被设置为第二值(例如,1)。split_qt_flag(3120)可以在当前块被分割成四叉树时被设置为第一值(例如,0),并且可以在当前块没有被分割成四叉树而是被分割成多树时被设置为第二值(例如,1)。mtt_split_cu_vertical_flag(3130)可以在当前块在水平方向上被分割时被设置为第一值(例如,0),并且可以在当前块在垂直方向上被分割时被设置为第二值(例如,1)。mtt_split_cu_binary_flag(3140)可以在当前块被分割为三叉树时被设置为第一值(例如,0),并且可以在当前块被分割为二叉树时被设置为第二值(例如,1)。
编码装置可以基于对于当前块是否允许预定分割来对关于当前块的分割的信息进行编码。例如,在对于当前块允许四叉树分割和多树分割两者时,编码装置可以不编码split_cu_flag。在这种情况下,解码装置可以将split_cu_flag导出为预定值。
另外,当对于当前块允许四叉树分割但不允许多树分割时,编码装置可以不对qt_split_flag进行编码。在这种情况下,解码装置可以将qt_split_flag导出为预定值。
另外,当qt_split_flag指定执行四叉树分割,对于当前块不允许水平二叉分割和水平三叉分割或者不允许垂直二叉分割和垂直三叉分割时,编码装置可以不对mtt_split_cu_vertical_flag进行编码。在这种情况下,解码装置可以将mtt_split_cu_vertical_flag导出为预定值。
另外,当qt_split_flag指定执行四叉树分割时,或者对于当前块不允许垂直二叉分割或垂直三叉分割,或者mtt_split_cu_vertical_flag指定水平分割并且对于当前块不允许水平二叉分割或水平三叉分割,或者mtt_split_cu_vertical_flag指定垂直分割时,编码装置可以不编码mtt_split_cu_binary_flag。在这种情况下,解码装置可以将mtt_split_cu_binary_flag导出为预定值。
比特流
将参考图31更详细地描述由编码装置生成比特流的方法。编码装置可以基于上述实施例来确定是否分割当前块。更具体地,编码装置可以确定指定对于当前块是否允许垂直三叉分割的参数allowSplitTtVer的值,当允许分割时将该值确定为第一值(例如,1),并且当不允许分割时将该值确定为第二值(例如,0)。
此外,编码装置可以确定指定对于当前块是否允许水平三叉分割的参数allowSplitTtHor的值,当允许分割时将该值确定为第一值(例如,1),并且当不允许分割时,将该值确定为第二值(例如,0)。
此外,编码装置可以确定指定对于当前块是否允许垂直二叉分割的参数allowSplitBtVer的值,当允许分割时将该值确定为第一值(例如,1),并且当不允许分割时,将该值确定为第二值(例如,0)。
此外,编码装置可以确定指定对于当前块是否允许水平二叉分割的参数allowSplitBtHor的值,当允许分割时将该值确定为第一值(例如,1),并且当不允许分割时,将该值确定为第二值(例如,0)。
根据该确定,编码装置可以确定作为当前块的分割信息的split_cu_flag(3110)、qt_split_flag(3120)、mtt_split_cu_vertical_flag(3130)或mtt_split_cu_binary_flag(3140)中的至少一个是否被输出为比特流,如上参考图31所述。
解码方法
图32是图示由根据实施例的解码装置对图像进行解码的方法的流程图。在下文中,将参考图32描述用于执行上述实施例的解码方法。根据实施例的解码装置可以包括存储器和至少一个处理器,并且解码装置可以使用至少一个处理器执行以下解码方法。
根据实施例的解码装置可以确定由色度分量组成的当前块的分割结构(S3210)。例如,解码装置可以确定当前块的分割结构是由与当前块对应的亮度分量块的分割类型确定的单树结构还是与当前块对应的亮度分量块的分割类型无关地确定的双树结构。
例如,解码装置可以获得关于构成当前图像的CTU的分割结构的信息(例如,sps_qtbtt_dual_tree_intra_flag)。在实施例中,sps_qtbtt_dual_tree_intra_flag可以表示在单树结构中分割CTU。在这种情况下,解码装置可以将通过分割CTU而生成的当前块的分割结构确定为单树结构。可替代地,sps_qtbtt_dual_tree_intra_flag可以表示在双树结构中分割CTU。在这种情况下,解码装置可以将通过分割CTU而生成的当前块的分割结构确定为双树结构。
另外,即使当具有单树结构的CTU被划分为下层块时,编码装置也可以根据预定条件,将CTU的下层块的分割结构改变为双树结构。在实施例中,解码装置可以将色度块的分割结构确定为双树结构,以便在将亮度块和色度块分割成相同分割类型并生成下层块的过程中,当亮度块的大小达到最小可分割大小时,进一步分割色度块。
接下来,解码装置可以基于当前块的分割结构来确定当前块的分割类型(S3220)。例如,解码装置可以基于以当前块的宽度或高度为基础确定的可用分割类型来确定当前块的分割类型。
在实施例中,解码装置可能不允许多个分割类型当中下层块的宽度或高度为预定值的预定分割类型作为可以分割当前块的可用分割类型。因此,解码装置可以将当前块的分割类型确定为多个分割类型当中除预定分割类型之外的可用分割类型。预定值可以大于0且小于图像解码装置的每时钟的处理块的值。在这种情况下,编码装置可以通过进一步考虑当前块的分割结构是单树结构还是双树结构来确定是否允许预定分割类型作为可用分割类型。
可以基于对应于当前块的亮度块的颜色格式和宽度来确定当前块的宽度。例如,当前块的宽度可以被确定为通过将对应于当前块的亮度块的宽度除以基于颜色格式导出的色度样本与亮度样本的分量比而获得的值。可以通过根据当前块的分割类型划分当前块的宽度来确定下层块的宽度。
例如,当图像解码装置的每时钟的处理块的大小为4×1时,在当前块的宽度为4时,解码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型,并且在当前块的宽度为8时,可能不允许垂直三叉分割类型作为当前块的分割类型。
更具体地,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于4并且亮度块的颜色格式是4:4:4时,解码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于8并且亮度块的颜色格式是4:2:2或4:2:0时,解码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于8并且亮度块的颜色格式是4:4:4时,解码装置可能不允许垂直三叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是单树结构、与当前块对应的亮度块的宽度等于或小于16并且亮度块的颜色格式是4:2:2或4:2:0时,解码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是双树结构并且当前块的宽度等于或小于4时,解码装置可能不允许四叉树分割类型和垂直二叉分割类型作为当前块的分割类型。
另外,在当前块的分割结构是双树结构并且当前块的宽度等于或小于8时,解码装置可能不允许垂直三叉分割类型作为当前块的分割类型。
另外,当图像解码装置的每时钟的处理块的大小为1×4并且当前块的高度为4时,解码装置可能不允许四叉树分割类型和水平二叉分割类型作为当前块的分割类型。在这种情况下,解码装置可以通过进一步考虑当前块的分割结构是单树结构还是双树结构来确定是否允许分割类型。
另外,当图像解码装置的每时钟的处理块的大小为1×4并且当前块的高度为8时,解码装置可能不允许水平三叉分割类型作为当前块的分割类型。在这种情况下,如上所述,解码装置可以通过进一步考虑当前块的分割结构是单树结构还是双树结构来确定是否允许分割类型。
根据上述确定,解码装置可以通过确定多个分割类型当中除预定分割类型之外的可用分割类型来确定当前块的分割类型。例如,解码装置可以基于可用分割类型从比特流中获得分割信息,并且基于所获得的分割信息确定当前块的分割类型。
更具体地,解码装置可以基于是否允许预定分割来从比特流中获得或导出关于当前块的分割的信息。如上参考图31所述,当允许预定分割时,解码装置可以通过解析比特流,从比特流中获得作为关于当前块的分割的信息的split_cu_flag(3110)、split_qt_flag(3120)、mtt_split_cu_vertical_flag(3130)或mtt_split_cu_binary_flag(3140)中的至少一个。
同时,当不允许预定分割时,解码装置可以将关于当前块的分割的信息确定为指定除了预定分割之外的分割的值。例如,当不允许预定分割时,在没有从比特流中获得的情况下,可以将关于当前块的分割的信息导出为预定值。例如,可以将指定是否执行分割的split_cu_flag导出为0。
在实施例中,当split_cu_flag的值为1,并且基于上述实施例,对于当前块不允许所有的垂直三叉分割、水平三叉分割、垂直二叉分割和水平二叉分割时,可以将指定是否执行四叉树分割的split_qt_flag导出为1,否则,可以将其导出为0。
当对于当前块允许水平三叉分割或水平二叉分割时,可以将作为分割方向信息的mtt_split_cu_vertical_flag导出为0,否则,可以将其导出为1。
当对于当前块不允许垂直二叉分割和水平二叉分割时,可以将作为分割类型信息的mtt_split_cu_binary_flag导出为0,并且当对于当前块不允许垂直三叉分割和水平三叉分割时,可以将其导出为1,当对于当前块允许水平二叉分割和垂直三叉分割时,可以将其导出为1-mtt_split_cu_vertical_flag的值,并且当对于当前块允许垂直二叉分割和水平三叉分割时,可以将其导出为mtt_split_cu_vertical_flag的值。
如上所述,解码装置可以基于split_qt_flag(3120)、mtt_split_cu_vertical_flag(3130)和mtt_split_cu_binary_flag(3140)以及表1,将当前块的分割类型确定为与四叉树或多树中的任何一个相对应的分割模式。
接下来,根据实施例的解码装置可以通过基于分割类型分割当前块来获得多个下层块(S3230)。解码装置可以基于下层块的预测模式对下层块进行解码(S3240)。例如,解码装置可以通过基于下层块执行上述帧内/帧间/IBC预测来对图像进行解码。在实施例中,当执行IBC预测以执行色度块的预测时,解码装置可以通过应用上述实施例,从亮度块导出色度块的运动矢量。
应用实施例
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其他步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其他附加步骤。
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施例不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施例中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施例可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
此外,应用本公开的实施例的图像解码装置和图像编码装置可以包括在多媒体广播传送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控摄像头、视频聊天设备、诸如视频通信的实时通信设备、移动流传输设备、存储介质、摄像机、视频点播(VoD)服务提供设备、OTT视频(over the top video)设备、互联网流传输服务提供设备、三维(3D)视频设备、视频电话视频设备、医疗视频设备等,并且可用于处理视频信号或数据信号。例如,OTT视频设备可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能手机、平板PC、数字录像机(DVR)等。
图33是示出可应用本公开的实施例的内容流传输系统的视图。
如图33中所示,应用本公开的实施例的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储、用户设备和多媒体输入设备。
编码服务器将从诸如智能手机、相机、便携式摄像机等多媒体输入设备输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能手机、相机、摄像机等多媒体输入设备直接生成码流时,可以省略编码服务器。
比特流可以由应用本公开的实施例的图像编码方法或图像编码装置产生,并且流传送服务器可以在发送或接收比特流的过程中临时存储比特流。
流传输服务器基于用户通过网络服务器的请求将多媒体数据发送到用户设备,并且网络服务器用作向用户通知服务的媒介。当用户从网络服务器请求所需的服务时,网络服务器可以将其递送到流传输服务器,并且流传输服务器可以向用户发送多媒体数据。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用作控制内容流系统中设备之间的命令/响应。
流传输服务器可以从媒体存储和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时接收内容。在这种情况下,为了提供平滑的流传输服务,流传输服务器可以在预定时间内存储比特流。
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、平板PC、平板计算机、超级本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流传输系统中的每个服务器都可以作为分布式服务器运行,在这种情况下,从每个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施例的方法的操作能够在装置或计算机上执行的软件或者可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并可在装置或计算机上执行的此类软件或命令的一种非暂时性计算机可读介质。
工业适用性
本公开的实施例可以被用于对图像进行编码或解码。

Claims (15)

1.一种由图像解码装置执行的图像解码方法,所述图像解码方法包括:
确定由色度分量组成的当前块的分割结构;
基于所述分割结构,确定所述当前块的分割类型;
基于所述分割类型,通过对所述当前块进行分割来获得多个下层块;以及
基于所述下层块的预测模式,对所述下层块进行解码,
其中,基于所述当前块的所述分割结构是与对应于所述当前块的亮度分量块的分割类型无关地确定的双树结构,通过基于可用分割类型确定所述当前块的分割类型来执行确定所述当前块的所述分割类型,所述可用分割类型是基于所述当前块的宽度或高度来确定的。
2.根据权利要求1所述的图像解码方法,其中,基于分割信息来确定所述当前块的所述分割结构,所述分割信息是基于所述可用分割类型从比特流中获得的。
3.根据权利要求1所述的图像解码方法,
其中,基于所述当前块的宽度或高度等于或小于预定值,通过不允许预定分割类型来确定所述可用分割类型,以及
其中,基于由所述图像解码装置每时钟处理的像素的数量来确定所述预定值。
4.根据权利要求3所述的图像解码方法,其中,基于所述当前块的宽度等于或小于由所述图像解码装置每时钟处理的像素的数量的两倍,不允许垂直三叉分割类型作为所述当前块的所述分割类型。
5.根据权利要求1所述的图像解码方法,其中,基于所述当前块的宽度为8,不允许垂直三叉分割类型作为所述当前块的所述分割类型。
6.根据权利要求3所述的图像解码方法,其中,基于所述当前块的宽度等于或小于由所述图像解码装置每时钟处理的像素的数量,不允许四叉树分割类型和垂直三叉分割类型作为所述当前块的所述分割类型。
7.根据权利要求1所述的图像解码方法,其中,基于所述当前块的宽度为4,不允许四叉树分割类型和垂直二叉分割类型作为所述当前块的所述分割类型。
8.根据权利要求1所述的图像解码方法,其中,基于所述图像解码装置对由每时钟1×4矩阵组成的像素集执行图像处理过程并且所述当前块的高度为8,不允许水平三叉分割类型作为所述当前块的所述分割类型。
9.根据权利要求1所述的图像解码方法,其中,基于所述图像解码装置对由每时钟1×4矩阵组成的像素集执行图像处理过程并且所述当前块的高度为4,不允许四叉树分割类型和水平二叉分割类型作为所述当前块的所述分割类型。
10.根据权利要求1所述的图像解码方法,其中,基于对应于所述当前块的亮度块的宽度和颜色格式,确定所述当前块的宽度。
11.根据权利要求10所述的图像解码方法,其中,所述当前块的宽度被确定为通过将对应于所述当前块的所述亮度块的宽度除以基于所述颜色格式导出的色度样本与亮度样本的分量比而获得的值。
12.一种图像解码装置,包括:
存储器;以及
至少一个处理器,
其中,所述至少一个处理器被配置为:
确定由色度分量组成的当前块的分割结构;
基于所述分割结构,确定所述当前块的分割类型;
基于所述分割类型,通过对所述当前块进行分割来获得多个下层块;以及
基于所述下层块的预测模式,对所述下层块进行解码,
其中,基于所述当前块的所述分割结构是与对应于所述当前块的亮度分量块的分割类型无关地确定的双树结构,通过基于可用分割类型确定所述当前块的分割类型来执行确定所述当前块的所述分割类型,所述可用分割类型是基于所述当前块的宽度或高度来确定的。
13.一种由图像编码装置执行的图像编码方法,所述图像编码方法包括:
选择由色度分量组成的当前块的分割结构;
基于所述分割结构,选择所述当前块的可用分割类型;
基于所述可用分割类型,通过分割所述当前块来获得多个下层块;以及
基于对所述下层块进行编码的结果,对所述下层块的预测模式信息和所述当前块的分割信息进行编码,
其中,基于所述当前块的所述分割结构是与对应于所述当前块的亮度分量块的分割类型无关地确定的双树结构,基于所述当前块的宽度或高度确定所述当前块的所述可用分割类型。
14.根据权利要求13所述的图像编码方法,
其中,基于所述当前块的宽度或高度等于或小于预定值,通过限制预定分割类型的使用来确定所述可用分割类型,以及
其中,根据所述预定分割类型,取决于通过划分所述当前块的宽度或高度获得的值是否小于4来确定所述预定值。
15.一种发送通过根据权利要求13所述的图像编码方法生成的比特流的方法。
CN202080052293.1A 2019-06-19 2020-06-19 使用色度块的自适应大小限制的图像编码/解码方法和设备以及比特流传输方法 Pending CN114128268A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962863835P 2019-06-19 2019-06-19
US62/863,835 2019-06-19
PCT/KR2020/007998 WO2020256485A1 (ko) 2019-06-19 2020-06-19 크로마 블록의 적응적 크기 제한을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Publications (1)

Publication Number Publication Date
CN114128268A true CN114128268A (zh) 2022-03-01

Family

ID=74040569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080052293.1A Pending CN114128268A (zh) 2019-06-19 2020-06-19 使用色度块的自适应大小限制的图像编码/解码方法和设备以及比特流传输方法

Country Status (7)

Country Link
US (2) US11528480B2 (zh)
EP (1) EP3989556A4 (zh)
JP (1) JP2022530286A (zh)
KR (2) KR102488925B1 (zh)
CN (1) CN114128268A (zh)
MX (1) MX2021016157A (zh)
WO (1) WO2020256485A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024058430A1 (ko) * 2022-09-15 2024-03-21 현대자동차주식회사 하나의 블록에 싱글 트리와 듀얼 트리를 적응적으로 이용하는 비디오 코딩을 위한 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9462275B2 (en) 2012-01-30 2016-10-04 Qualcomm Incorporated Residual quad tree (RQT) coding for video coding
WO2013141596A1 (ko) * 2012-03-20 2013-09-26 삼성전자 주식회사 트리 구조의 부호화 단위에 기초한 스케일러블 비디오 부호화 방법 및 그 장치, 트리 구조의 부호화 단위에 기초한 스케일러블 비디오 복호화 방법 및 그 장치
CN102761742B (zh) 2012-07-03 2017-06-06 华为技术有限公司 变换块划分方法,变换块划分参数的编码方法及解码方法
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
KR102390384B1 (ko) 2017-03-13 2022-04-22 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN117499684A (zh) * 2017-09-20 2024-02-02 韩国电子通信研究院 用于对图像进行编码/解码的方法和装置

Also Published As

Publication number Publication date
MX2021016157A (es) 2022-03-11
US20220272338A1 (en) 2022-08-25
EP3989556A1 (en) 2022-04-27
KR102488925B1 (ko) 2023-01-13
US11991357B2 (en) 2024-05-21
WO2020256485A1 (ko) 2020-12-24
US20230089398A1 (en) 2023-03-23
US11528480B2 (en) 2022-12-13
KR20220002687A (ko) 2022-01-06
JP2022530286A (ja) 2022-06-28
KR20230013160A (ko) 2023-01-26
EP3989556A4 (en) 2023-05-10

Similar Documents

Publication Publication Date Title
US20240155123A1 (en) Image encoding/decoding method and apparatus for limiting size of chroma block, and method for transmitting bitstream
AU2024200705A1 (en) Image encoding/decoding method, apparatus and method for transmitting bitstream using maximum transform size limitation of chroma component coding block
JP2024023441A (ja) クロマブロックの分割条件を制限する画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
EP3989557A1 (en) Method and apparatus for encoding/decoding video using maximum size limitation of chroma transform block, and method for transmitting bitstream
JP2023126891A (ja) クロマブロックの最大変換サイズ設定を用いた画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
US20230082353A1 (en) Image encoding/decoding method and apparatus using ibc, and method for transmitting bitstream
US20230089398A1 (en) Image encoding/decoding method and device using adaptive size limiting of chroma block and bitstream transmission method
EP3941049A1 (en) Video encoding/decoding method and device using segmentation limitation for chroma block, and method for transmitting bitstream
JP7492067B2 (ja) クロマ変換ブロックの最大サイズ制限を用いた画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
JP7490864B2 (ja) クロマ成分符号化ブロックの最大変換サイズ制限を用いた画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
US20220345694A1 (en) Image encoding/decoding method and apparatus using quantization matrix, and method for transmitting bitstream
US20220166986A1 (en) Image encoding/decoding method and device using ibc prediction, and method for transmitting bitstream
CN115176465A (zh) 基于叶节点的重新配置的预测模式类型来执行预测的图像编码/解码方法和设备以及比特流传输方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination