CN112514379A - 图像编码系统中基于包括帧内预测信息的图像信息解码图像的方法及其设备 - Google Patents
图像编码系统中基于包括帧内预测信息的图像信息解码图像的方法及其设备 Download PDFInfo
- Publication number
- CN112514379A CN112514379A CN201980051277.8A CN201980051277A CN112514379A CN 112514379 A CN112514379 A CN 112514379A CN 201980051277 A CN201980051277 A CN 201980051277A CN 112514379 A CN112514379 A CN 112514379A
- Authority
- CN
- China
- Prior art keywords
- intra prediction
- mpm
- prediction mode
- current block
- value
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 263
- 230000008569 process Effects 0.000 claims abstract description 152
- 239000000523 sample Substances 0.000 description 73
- 239000013598 vector Substances 0.000 description 44
- 241000023320 Luma <angiosperm> Species 0.000 description 38
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 38
- 230000001965 increasing effect Effects 0.000 description 19
- 238000001914 filtration Methods 0.000 description 17
- FZEIVUHEODGHML-UHFFFAOYSA-N 2-phenyl-3,6-dimethylmorpholine Chemical compound O1C(C)CNC(C)C1C1=CC=CC=C1 FZEIVUHEODGHML-UHFFFAOYSA-N 0.000 description 10
- 241000209094 Oryza Species 0.000 description 9
- 235000007164 Oryza sativa Nutrition 0.000 description 9
- 235000009566 rice Nutrition 0.000 description 9
- 230000002123 temporal effect Effects 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- CVHZOJJKTDOEJC-UHFFFAOYSA-N saccharin Chemical compound C1=CC=C2C(=O)NS(=O)(=O)C2=C1 CVHZOJJKTDOEJC-UHFFFAOYSA-N 0.000 description 4
- STECJAGHUSJQJN-USLFZFAMSA-N LSM-4015 Chemical compound C1([C@@H](CO)C(=O)OC2C[C@@H]3N([C@H](C2)[C@@H]2[C@H]3O2)C)=CC=CC=C1 STECJAGHUSJQJN-USLFZFAMSA-N 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000013074 reference sample Substances 0.000 description 3
- YKCSYIYQRSVLAK-UHFFFAOYSA-N 3,5-dimethyl-2-phenylmorpholine Chemical compound CC1NC(C)COC1C1=CC=CC=C1 YKCSYIYQRSVLAK-UHFFFAOYSA-N 0.000 description 2
- QEDQZYNGDXULGO-UHFFFAOYSA-N 3-methyl-2-(3-methylphenyl)morpholine Chemical compound CC1NCCOC1C1=CC=CC(C)=C1 QEDQZYNGDXULGO-UHFFFAOYSA-N 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根据本发明的由解码设备执行图像解码的方法包括以下步骤:基于当前块的剩余帧内预测模式信息推导当前块的帧内预测模式,其中,帧内预测模式是来自除了MPM候选之外的剩余帧内预测模式当中的一个;以及基于帧内预测模式推导当前块的预测样本,其中,帧内预测信息包括MPM标志,帧内预测信息在MPM的值为0时包括剩余帧内预测模式信息,通过FL二值化过程对MPM标志进行编码,并且通过TB二值化过程对剩余帧内预测模式信息进行编码。
Description
技术领域
本公开涉及视频编码技术,更具体地涉及用于在视频编码系统中基于包括帧内预测信息的视频信息对视频信息进行解码的方法和装置。
背景技术
在各种领域中,对诸如HD(高清)图像和UHD(超高清)图像这样的高分辨率、高质量图像的需求正在增长。因为图像数据具有高分辨率和高质量,所以相对于传统图像数据,待传输的信息或比特的量增加。因此,当使用诸如传统有线/无线宽带线路这样的介质发送图像数据或者使用现有存储介质存储图像数据时,其传输成本和存储成本增加。
因此,需要用于有效地传输、存储和再现高分辨率且高质量图像的信息的高效图像压缩技术。
发明内容
技术目的
本公开提供了用于改进视频编码效率的方法和设备。
本公开还提供了用于对表示当前块的帧内预测模式的信息进行编码的方法和设备。
本公开还提供了用于对表示除了MPM候选之外的剩余帧内预测模式当中的当前块的帧内预测模式的信息进行编码的方法和设备。
技术方案
在本公开的实施方式中,提供了由解码设备执行的视频解码方法。该方法包括以下步骤:通过比特流获得当前块的帧内预测信息;推导包括当前块的MPM候选的MPM(最可能模式)列表;当MPM标志的值为0时,基于剩余帧内预测模式信息,推导当前块的帧内预测模式,其中,帧内预测模式是除MPM候选之外的剩余帧内预测模式中的一个;基于帧内预测模式推导当前块的预测样本;以及基于预测样本推导经重构的图片,其中,帧内预测信息包括MPM标志,当MPM标志的值为0时,帧内预测信息包括剩余帧内预测模式信息,MPM标志是通过固定长度(FL)二值化过程进行编码的,针对FL二值化过程的二值化参数为1,剩余帧内预测模式信息是通过截短的二进制(TB)二值化过程进行编码的,并且针对TB二值化过程的二值化参数为60。
在本公开的另一实施方式中,提供了一种执行视频解码的解码设备。该解码设备包括:熵解码单元,其通过比特流获得当前块的帧内预测信息;以及预测单元,其推导包括当前块的MPM候选的MPM(最可能模式)列表;当MPM标志的值为0时,基于剩余帧内预测模式信息推导当前块的帧内预测模式,其中,帧内预测模式是除MPM候选之外的剩余帧内预测模式中的一个;基于帧内预测模式推导当前块的预测样本;并且基于预测样本推导经重构的图片,其中,帧内预测信息包括MPM标志,当MPM标志的值为0时,帧内预测信息包括剩余帧内预测模式信息;MPM标志是通过固定长度(FL)二值化过程进行编码的,针对FL二值化过程的二值化参数为1,剩余帧内预测模式信息是通过截短的二进制(TB)二值化过程进行编码的,并且针对TB二值化过程的二值化参数为60。
在本公开的又一实施实施方式中,提供了一种由编码设备执行的视频编码方法。该方法包括以下步骤:构造包括当前块的MPM候选的最可能模式(MPM)列表;确定当前块的帧内预测模式,其中,帧内预测模式是除了MPM候选之外的剩余帧内预测模式中的一个;基于帧内预测模式生成当前块的预测样本;以及对包括当前块的帧内预测信息的视频信息进行编码,其中,帧内预测信息包括最可能模式(MPM)标志和针对当前块的剩余帧内预测模式信息,MPM标志指示当前块的帧内预测模式是否被包括在MPM候选中,MPM标志是通过固定长度(FL)二值化过程进行编码的,针对FL二值化过程的二值化参数为1,剩余帧内预测模式信息是通过截短的二进制(TB)二值化过程进行编码的,并且针对TB二值化过程的二值化参数为60。
在本公开的又一实施方式中,提供了一种视频编码设备。该编码设备包括:预测单元,其构造包括当前块的MPM候选的最可能模式(MPM)列表;确定当前块的帧内预测模式,其中,帧内预测模式是除MPM候选之外的剩余帧内预测模式中的一个;基于帧内预测模式生成当前块的预测样本;以及熵编码单元,其对包括当前块的帧内预测信息的视频信息进行编码,其中,帧内预测信息包括最可能模式(MPM)标志和针对当前块的剩余帧内预测模式信息,MPM标志指示当前块的帧内预测模式是否被包括在MPM候选中;MPM标志是通过固定长度(FL)二值化过程进行编码的,针对FL二值化过程的二值化参数为1,剩余帧内预测模式信息是通过截短的二进制(TB)二值化过程进行编码的,并且针对TB二值化过程的二值化参数为60。
技术效果
根据本公开,可以基于作为可变二进制代码的截短的二进制代码对表示除MPM候选之外的剩余帧内预测模式当中的当前块的帧内预测模式的信息进行编码,并且通过这样,可以减少用于表示帧内预测模式的信息的信令开销,并且可以提高整体编码效率。
根据本公开,可以由与小比特的二进制代码相对应的值的信息来表示选择概率高的帧内预测模式,并且通过这样,可以减少帧内预测信息的信令开销,并且可以提高整体编码效率。
附图说明
图1是例示适用本公开的视频编码装置的配置的示意图。
图2例示了由视频编码装置执行的图像编码方法的示例。
图3是例示适用本公开的视频解码装置的配置的示意图。
图4例示了由解码装置执行的图像解码方法的示例。
图5例示了基于帧内预测的图像编码方法的示例。
图6例示了基于帧内预测的图像解码方法的示例。
图7例示了65个预测方向的帧内定向(intra-directional)模式。
图8例示了执行帧内预测的示例。
图9例示了用于当前块的帧内预测的相邻样本。
图10例示了当前块的相邻块。
图11例示了在当前块的相邻块当中以传统帧内预测模式编码的相邻块和以LIP模式编码的相邻块。
图12例示了对用于表示包括MPM候选和剩余帧内预测模式的n个帧内预测模式的信息进行编码的方法。
图13例示了对用于表示包括MPM候选和剩余帧内预测模式的n个帧内预测模式的信息进行编码的方法。
图14例示了根据本公开的由编码装置进行的图像编码方法。
图15示意性地例示了根据本公开的执行图像编码方法的编码装置。
图16例示了根据本公开的由解码装置进行的图像解码方法。
图17例示了根据本公开的执行图像解码方法的解码装置。
图18例示了应用了本公开的内容流系统的结构图。
具体实施方式
本公开可以按各种形式进行修改,并且将在附图中描述和例示其具体实施方式。然而,这些实施方式并不旨在限制本公开。以下描述中使用的术语用于仅仅描述特定的实施方式,而不旨在限制本公开。单数的表述包括复数的表述,只要它被清楚不同地理解即可。诸如“包括”和“具有”这样的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此应该理解,没有排除有可能存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合。
另一方面,出于方便说明不同特定功能的目的,独立地绘制本公开中描述的图中的元件,这并不意味着这些元件是由独立硬件或独立软件实施的。例如,可以将这些元件中的两个或更多个元件组合,以形成单个元件,或者可以将一个元件划分成多个元件。在不脱离本公开的构思的情况下,其中组合和/或划分元件的实施方式属于本公开。
下文中,将参照附图来详细地描述本公开的实施方式。另外,在整个附图中,类似的附图标记用于指示类似的元件,并且将省略对类似元件的相同描述。
此外,本公开涉及视频/图像编码。例如,本公开中公开的方法/实施方式可以应用于多功能视频编码(VVC)标准、基本视频编码(EVC)标准、AOMedia视频1(AV1)标准、第二代音频视频编码标准(AVS2)或下一代视频/图像编码标准(例如,H.267、H.268等)中公开的方法。
在本说明书中,通常,图片意指表示特定时间的图像的单元,并且条带(slice)是构成图片的一部分的单元。一个图片可以包括多个条带,并且在某些情况下,图片和条带的术语可以彼此混合。
像素或画素(pel)可以意指构成一个图片(或图像)的最小单元。另外,“样本”可以用作与像素对应的术语。样本通常可以表示像素或像素的值,可以仅表示亮度分量的像素/像素值或者仅表示色度分量的像素/像素值。
单元表示图像处理的基本单位。单元可以包括特定区域和与区域相关的信息中的至少一个。可选地,可以将单元与诸如块、区域等的术语混合。在一般情况下,M×N块可以表示布置成M列和N行的样本或变换系数的集合。
图1是例示适用本公开的视频编码装置的配置的示意图。
参照图1,视频编码装置100可以包括图片分割器105、预测器110、残差处理器120、熵编码器130、加法器140、滤波器150和存储器160。残差处理器120可以包括减法器121、变换器122、量化器123、重排器124、解量化器125和逆变换器126。
图片分割器105可以将输入图片分割成至少一个处理单元。
在示例中,处理单元可以被称为编码单元(CU)。在这种情况下,可以根据四叉树二叉树(QTBT)结构从最大编码单元(LCU)递归地分割编码单元。例如,可以基于四叉树结构和/或二叉树结构将一个编码单元分割成深度较深的多个编码单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构。另选地,可以首先应用二叉树结构。可以基于不被进一步分割的最终编码单元来执行根据本公开的编码过程。在这种情况下,可以根据图像特性基于编码效率等将最大的编码单元用作最终编码单元,或者可以在必要时将编码单元递归地分割成深度较深的编码单元,并且可以使用具有最佳尺寸的编码单元作为最终编码单元。这里,编码过程可以包括随后将描述的诸如预测、变换和重构之类的过程。
在另一示例中,处理单元可以包括编码单元(CU)、预测单元(PU)或变换单元(TU)。可以根据四叉树结构将编码单元从最大编码单元(LCU)分割成深度较深的编码单元。在这种情况下,可以根据图像特性基于编码效率等直接将最大的编码单元用作最终编码单元,或者可以在必要时将编码单元递归地分割成深度较深的编码单元,并且可以使用具有最佳尺寸的编码单元作为最终编码单元。当设置了最小编码单元(SCU)时,编码单元可以不被分割成比最小编码单元小的编码单元。这里,最终编码单元是指被分割或划分成预测单元或变换单元的编码单元。预测单元是从编码单元分割出的单元,并且可以是样本预测的单元。这里,预测单元可以被分成子块。可以根据四叉树结构从编码单元分出变换单元,并且变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。下文中,编码单元可以被称为编码块(CB),预测单元可以被称为预测块(PB),并且变换单元可以被称为变换块(TB)。预测块或预测单元可以是指采用图片中的块的形式的特定区域,并且包括预测样本的阵列。另外,变换块或变换单元可以是指采用图片中的块的形式的特定区域,并且包括变换系数或残差样本的阵列。
预测器110可以对处理目标块(下文中,当前块)执行预测,并且可以生成包括针对当前块的预测样本的预测块。在预测器110中执行的预测的单位可以是编码块,或者可以是变换块,或者可以是预测块。
预测器110可以确定对当前块是应用帧内预测还是帧间预测。例如,预测器110可以确定以CU为单位应用帧内预测还是帧间预测。
在帧内预测的情况下,预测器110可以基于当前块所属图片(下文中,当前图片)中的当前块之外的参考样本来推导当前块的预测样本。在这种情况下,预测器110可以基于当前块的相邻参考样本的平均或插值来推导预测样本(情况(i)),或者可以基于当前块的相邻参考样本当中的预测样本在特定(预测)方向上存在的参考样本来推导预测样本(情况(ii))。情况(i)可以被称为非定向模式或非角度模式,并且情况(ii)可以被称为定向模式或角度模式。在帧内预测中,作为示例,预测模式可以包括33种定向模式和至少两种非定向模式。非定向模式可以包括DC模式和平面模式。预测器110可以通过使用应用于相邻块的预测模式来确定要应用于当前块的预测模式。
在帧间预测的情况下,预测器110可以基于参考图片上的运动矢量所指定的样本来推导当前块的预测样本。预测器110可以通过应用跳过模式、合并模式和运动矢量预测(MVP)模式中的任一种来推导针对当前块的预测样本。在跳过模式和合并模式的情况下,预测器110可以使用相邻块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,并不发送预测样本与原始样本之间的差(残差)。在MVP模式的情况下,相邻块的运动矢量被用作运动矢量预测器,因此被用作当前块的运动矢量预测器来推导当前块的运动矢量。
在帧间预测的情况下,相邻块可以包括当前图片中存在的空间相邻块和参考图片中存在的时间相邻块。包括时间相邻块的参考图片也可以被称为并置图片(colPic)。运动信息可以包括运动矢量和参考图片索引。诸如预测模式信息和运动信息这样的信息可以被(熵)编码,然后被作为比特流的形式输出。
当在跳过模式和合并模式下使用时间相邻块的运动信息时,参考图片列表中的最高图片可以被用作参考图片。可以基于当前图片与对应的参考图片之间的图片序号(POC)差来对齐参考图片列表中所包括的参考图片。POC对应于显示顺序并且可以与编码顺序区分开。
减法器121生成残差样本,残差样本是原始样本与预测样本之间的差。如果应用跳过模式,则可以不如上所述地生成残差样本。
变换器122以变换块为单位变换残差样本以生成变换系数。变换器122可以基于对应变换块的尺寸和应用于与变换块在空间上交叠的预测块或编码块的预测模式来执行变换。例如,如果向与变换块交叠的预测块或编码块应用帧内预测,则可以使用离散正弦变换(DST)变换核来变换残差样本,变换块为4×4残差阵列,并且在其它情况下使用离散余弦变换(DCT)变换核来变换它。
量化器123可以量化变换系数,以生成量化后的变换系数。
重排器124对量化后的变换系数进行重排。重排器124可以通过系数扫描方法将块形式的量化后的变换系数重排成一维矢量。尽管将重排器124描述为单独的组件,但是重排器124可以是量化器123的一部分。
熵编码器130可以对量化后的变换系数执行熵编码。熵编码可以包括诸如(例如)指数哥伦布(exponential Golomb)、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等这样的编码方法。熵编码器130可以一起或分别地对除了量化后的变换系数之外的视频重构所必需的信息(例如,语法元素的值等)进行编码。熵编码后的信息可以以比特流的形式以NAL(网络抽象层)为单位发送或存储。
解量化器125对由量化器123量化的值(变换系数)进行解量化,并且逆变换器126对由解量化器125解量化的值进行逆变换,以生成残差样本。
加法器140将残差样本与预测样本相加,以重构图片。可以以块为单位将残差样本与预测样本相加,以生成重构块。尽管将加法器140描述为单独的组件,但是加法器140可以是预测器110的一部分。此外,加法器140可以被称为重构器或重构块生成器。
滤波器150可以向经重构的图片应用去块滤波和/或样本自适应偏移。可以通过去块滤波和/或样本自适应偏移来校正经重构的图片中块边界处的伪像或量化中的失真。在去块滤波完成之后,可以以样本为单位应用样本自适应偏移。滤波器150可以向经重构的图片应用自适应环路滤波器(ALF)。可以向已应用了去块滤波和/或样本自适应偏移的经重构的图片应用ALF。
存储器160可以存储经重构的图片(解码图片)或编码/解码所需的信息。这里,经重构的图片可以是经滤波器150滤波的经重构的图片。所存储的经重构的图片可以被用作用于其它图片的(帧间)预测的参考图片。例如,存储器160可以存储用于帧间预测的(参考)图片。这里,可以根据参考图片集或参考图片列表来指定用于帧间预测的图片。
图2例示了由视频编码装置执行的图像编码方法的示例。参照图2,图像编码方法可以包括块分割、帧内/帧间预测、变换、量化和熵编码的过程。例如,当前图片可以被划分为多个块,可以通过帧内/帧间预测来生成当前块的预测块,并且可以通过在当前块的输入块与预测块之间进行减法来生成当前块的残差块。随后,通过对残差块进行变换,可以生成系数块,即,当前块的变换系数。变换系数可以被量化和熵编码并且被存储在比特流中。
图3是例示适用本公开的视频解码装置的配置的示意图。
参照图3,视频解码装置300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。残差处理器320可以包括重排器321、解量化器322和逆变换器323。
当输入包括视频信息的比特流时,视频解码装置300可以与在视频编码装置中处理视频信息的处理相关联地重构视频。
例如,视频解码装置300可以使用在视频编码装置中应用的处理单元来执行视频解码。因此,视频解码的处理单元块可以是例如编码单元,并且在另一示例中是编码单元、预测单元或变换单元。可以根据四叉树结构和/或二叉树结构从最大编码单元中分割出编码单元。
在某些情况下,还可以使用预测单元和变换单元,并且在这种情况下,预测块是从编码单元推导或划分的块并且可以是样本预测的单元。这里,预测单元可以被分成子块。可以根据四叉树结构从编码单元分割出变换单元,并且变换单元可以是推导变换系数的单元或从变换系数推导残差信号的单元。
熵解码器310可以解析比特流,以输出视频重构或图片重构所需的信息。例如,熵解码器310可以基于诸如指数哥伦布编码、CAVLC、CABAC等这样的编码方法对比特流中的信息进行解码,并且可以输出视频重构所需的语法元素的值和关于残差的变换系数的量化值。
更具体地,CABAC熵解码方法能够接收与比特流中的每个语法元素对应的bin,使用解码目标语法元素信息以及相邻目标块和解码目标块的解码信息或在先前步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且执行bin的算术解码以生成与每个语法元素值对应的符号。这里,CABAC熵解码方法能够在确定上下文模型之后,使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。
在熵解码器310中解码的信息当中的关于预测的信息可以被提供到预测器330,并且残差值即熵解码器310已对其执行了熵解码的量化后的变换系数可以被输入到重排器321。
重排器321可以将量化后的变换系数重排为二维块形式。重排器321可以执行与由编码装置执行的系数扫描对应的重排。尽管将重排器321描述为单独的组件,但重排器321可以是解量化器322的一部分。
解量化器322可以基于(反)量化参数对量化后的变换系数进行解量化,以输出变换系数。在这种情况下,可以从编码装置发信号通知用于推导量化参数的信息。
逆变换器323可以对变换系数进行逆变换,以推导残差样本。
预测器330可以对当前块执行预测,并且可以生成包括针对当前块的预测样本的预测块。在预测器330中执行的预测的单元可以是编码块或者可以是变换块或者可以是预测块。
预测器330可以基于关于预测的信息来确定是应用帧内预测还是帧间预测。在这种情况下,用于确定将使用帧内预测和帧间预测中的哪一种的单元可以不同于用于生成预测样本的单元。另外,在帧间预测和帧内预测中,用于生成预测样本的单元也可以不同。例如,可以以CU为单元确定将应用帧间预测和帧内预测中的哪一种。另外,例如,在帧间预测中,可以通过以PU为单元确定预测模式来生成预测样本,而在帧内预测中,可以通过以PU为单元确定预测模式来以TU为单元生成预测样本。
在帧内预测的情况下,预测器330可以基于当前图片中的相邻参考样本推导针对当前块的预测样本。预测器330可以通过基于当前块的相邻参考样本应用定向模式或非定向模式来推导针对当前块的预测样本。在这种情况下,可以通过使用相邻块的帧内预测模式来确定将应用于当前块的预测模式。
在帧间预测的情况下,预测器330可以基于根据运动矢量在参考图片中指定的样本来推导针对当前块的预测样本。预测器330可以使用跳过模式、合并模式和MVP模式中的一种来推导针对当前块的预测样本。这里,可以基于关于预测的信息来获取或推导由视频编码装置提供的对当前块进行帧间预测所需的运动信息,例如,运动矢量和关于参考图片索引的信息。
在跳过模式和合并模式下,可以将相邻块的运动信息用作当前块的运动信息。这里,相邻块可以包括空间相邻块和时间相邻块。
预测器330可以使用可用相邻块的运动信息来构造合并候选列表,并且使用由合并候选列表上的合并索引所指示的信息作为当前块的运动矢量。可以由编码装置发信号通知合并索引。运动信息可以包括运动矢量和参考图片。当在跳过模式和合并模式下使用时间相邻块的运动信息时,参考图片列表中的最高图片可以被用作参考图片。
在跳过模式的情况下,与合并模式不同,不发送预测样本与原始样本之间的差(残差)。
在MVP模式的情况下,可以使用相邻块的运动矢量作为运动矢量预测子来推导当前块的运动矢量。这里,相邻块可以包括空间相邻块和时间相邻块。
当应用合并模式时,例如,能够使用重构的空间相邻块的运动矢量和/或与作为时间相邻块的Col块对应的运动矢量来生成合并候选列表。在合并模式下,从合并候选列表中选择的候选块的运动矢量被用作当前块的运动矢量。以上提到的关于预测的信息可以包括合并索引,合并索引指示从合并候选列表中所包括的候选块中选择的具有最佳运动矢量的候选块。这里,预测器330可以使用合并索引来推导当前块的运动矢量。
当作为另一示例应用MVP(运动矢量预测)模式时,可以使用重构的空间相邻块的运动矢量和/或与作为时间相邻块的Col块对应的运动矢量来生成运动矢量预测子候选列表。也就是说,可以使用重构的空间相邻块的运动矢量和/或与作为时间相邻块的Col块对应的运动矢量作为运动矢量候选。以上提到的关于预测的信息可以包括指示从列表中所包括的运动矢量候选中选择的最佳运动矢量的预测运动矢量索引。这里,预测器330可以使用运动矢量索引从运动矢量候选列表中所包括的运动矢量候选中选择当前块的预测运动矢量。编码装置的预测器可以获得当前块的运动矢量与运动矢量预测子之间的运动矢量差(MVD),对MVD进行编码并且以比特流的形式输出编码后的MVD。也就是说,能够通过从当前块的运动矢量中减去运动矢量预测子来获得MVD。这里,预测器330可以获取关于预测的信息中所包括的运动矢量,并且通过将运动矢量差与运动矢量预测子相加来推导当前块的运动矢量。另外,预测器可以从以上提到的关于预测的信息获得或推导指示参考图片的参考图片索引。
加法器340能够将残差样本与预测样本相加,以重构当前块或当前图片。加法器340可以通过以块为单元将残差样本与预测样本相加来重构当前图片。当应用跳过模式时,不发送残差,因此预测样本可以成为重构样本。尽管将加法器340描述为单独的组件,但加法器340可以是预测器330的一部分。此外,加法器340可以被称为重构器或重构块生成器。
滤波器350可以向经重构的图片应用去块滤波、样本自适应偏移和/或ALF。这里,在去块滤波之后,可以以样本为单元应用样本自适应偏移。可以在去块滤波和/或应用样本自适应偏移之后应用ALF。
存储器360可以存储经重构的图片(解码图片)或解码所需的信息。这里,经重构的图片可以是经滤波器350滤波的经重构的图片。例如,存储器360可以存储用于帧间预测的图片。这里,可以根据参考图片集或参考图片列表来指定用于帧间预测的图片。经重构的图片可以被用作用于其它图片的参考图片。存储器360可以按输出顺序输出经重构的图片。
图4例示了由解码装置执行的图像解码方法的示例。参照图4,图像解码方法可以包括熵解码、逆量化、逆变换和帧内/帧间预测的过程。例如,可以在解码装置中执行编码方法的逆过程。具体地,通过对比特流的熵解码,可以获得量化后的变换系数,并且通过对量化后的变换系数的逆量化过程,可以获得当前块的系数块,即,变换系数。通过对变换系数的逆变换,可以推导当前块的残差块,并且通过将当前块的预测块与通过帧内/帧间预测推导的残差块相加,可以推导当前块的重构块。
此外,在如上所述执行帧内预测的情况下,可以使用样本之间的相关性,并且可以获得原始块和预测块之间的差,即,残差。由于可以将变换和量化应用于残差,因此,可以去除空间冗余。具体地,下面可以描述使用帧内预测的编码方法和解码方法。
图5例示了基于帧内预测的图像编码方法的示例。参照图5,编码装置可以推导针对当前块的帧内预测模式(步骤S500)并且推导当前块的相邻参考样本(步骤S510)。编码装置可以基于帧内预测模式和相邻参考样本生成当前块中的预测样本(步骤S520)。在这种情况下,编码装置可以执行预测样本滤波过程(步骤S530)。预测样本滤波可以称为后滤波。通过预测样本滤波过程,可以对部分或全部预测样本进行滤波。根据情况,可以省略步骤S530。
编码装置可以基于(经滤波的)预测样本来生成针对当前块的残差样本(步骤S540)。编码装置可以对包括表示帧内预测模式的预测模式信息和针对残差样本的残差信息的图像信息进行编码(步骤S550)。编码的图像信息可以以比特流格式输出。输出的比特流可以通过存储介质或网络传送到解码装置。
图6例示了基于帧内预测的图像解码方法的示例。参照图6,解码装置可以执行与在编码装置中执行的操作相对应的操作。例如,解码装置可以基于接收到的预测模式信息来推导针对当前块的帧内预测模式(步骤S600)。解码装置可以推导当前块的相邻参考样本(步骤S610)。解码装置可以基于帧内预测模式和相邻参考样本生成当前块中的预测样本(步骤S620)。在这种情况下,解码装置可以执行预测样本滤波过程(步骤S630)。通过预测样本滤波过程,可以对部分或全部预测样本进行滤波。根据情况,可以省略步骤S630。
解码装置可以基于接收到的残差信息生成针对当前块的残差样本(步骤S640)。解码装置可以基于(经滤波的)预测样本和残差样本来生成针对当前块的重构样本,并且基于其来生成经重构的图片(步骤S650)。
此外,在如上所述将帧内预测应用于当前块的情况下,编码装置/解码装置可以推导针对当前块的帧内预测模式,并且基于帧内预测模式来推导当前块的预测样本。也就是说,编码装置/解码装置可以基于当前块的相邻参考样本来应用定向模式或非定向模式,并且推导当前块的预测样本。
例如,作为参考,帧内预测模式可以包括两个非定向或非角度帧内预测模式和65个定向或角度帧内预测模式。非定向帧内预测模式可以包括#0平面帧内预测模式和#1DC帧内预测模式,并且定向帧内预测模式可以包括从#2至#66的65个帧内预测模式。然而,这仅是示例,但是本公开可以应用于帧内预测模式的数量不同的情况。此外,根据情况,还可以使用#67帧内预测模式,并且#67帧内预测模式可以表示线性模型(LM)模式。
图7例示了65个预测方向的帧内定向模式。
参照图7,可以基于具有左上对角线预测方向的帧内预测模式#34来对具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式进行分类。图7中的H和V分别表示水平方向性和垂直方向性,并且从-32到32的数字表示在样本网格位置上的1/32单元的位移。帧内预测模式#2至#33具有水平方向性,并且帧内预测模式#34至#66具有垂直方向性。#18帧内预测模式和#50帧内预测模式可以分别表示水平帧内预测模式和垂直帧内预测模式。#2帧内预测模式可以称为左下方向对角线帧内预测模式,#34帧内预测模式可以被称为左上方向对角线帧内预测模式,并且#66帧内预测模式可以被称为右上方向对角线帧内预测模式。
此外,预测模式信息可以包括表示最可能模式(MPM)被应用于当前块还是剩余模式被应用于当前块的标志信息(例如,prev_intra_luma_pred_flag)。另外,在MPM被应用于当前块的情况下,预测模式信息还可以包括指示帧内预测模式候选(例如,MPM候选)之一的索引信息(例如,mpm_idx)。此外,可以通过MPM候选列表或MPM列表来构造针对当前块的帧内预测模式候选。也就是说,可以构造针对当前块的MPM候选列表或MPM列表,并且MPM候选列表或MPM列表可以包括帧内预测模式候选。
另外,在MPM不应用于当前块的情况下,预测模式信息还可以包括指示除了帧内预测模式候选之外的剩余帧内预测模式之一的剩余帧内预测模式信息(例如,rem_inra_luma_pred_mode)。剩余帧内预测模式信息也可以称为MPM剩余信息。
解码装置可以基于预测模式信息来确定当前块的帧内预测模式。可以通过以下描述的编码方法对预测模式信息进行编码/解码。例如,可以基于截短的二进制代码或截短的莱斯二进制代码(truncated rice binary code)通过熵编码(例如,CABAC、CAVLC)对预测模式信息进行编码/解码。
图8示出了执行帧内预测的示例。参照图8,一般的帧内预测可以通过三个步骤来执行。例如,在帧内预测被应用于当前块的情况下,编码装置/解码装置可以构造参考样本(步骤S800),基于参考样本推导针对当前块的预测样本(步骤S810),并且针对预测样本执行后滤波(步骤S820)。编码装置/解码装置的预测单元可以获得帧内预测模式和已知的相邻参考样本的优势以用于生成当前块的未知样本。
图9示出了用于当前块的帧内预测的相邻样本。参照图9,在当前块的尺寸为W×H的情况下,当前块的相邻样本可以包括2W个上相邻样本以及2H个左相邻样本和左上角相邻样本。例如,在当前块的尺寸是W×H并且当前块的左上样本位置的x分量是0并且y分量是0的情况下,左相邻样本可以是p[-1][0]至p[-1][2H-1],左上角相邻样本可以是p[-1][-1]并且上相邻样本可以是p[0][-1]至p[2W-1][-1]。可以根据当前块的目标样本,基于位于当前块的帧内预测模式的预测方向上的相邻样本来推导目标样本的预测样本。此外,相邻样本的多个行可以用于当前块的帧内预测。
此外,编码装置可以通过联合优化比特率和失真来确定针对当前块的最佳帧内预测模式。之后,编码装置可以将针对最佳帧内预测模式的预测模式信息编码在比特流中。解码装置可以通过解析预测模式信息来推导最佳帧内预测模式,并且基于帧内预测模式执行当前块的帧内预测。然而,增加数量的帧内预测模式需要高效的帧内预测模式编码以使信令开销最小化。
因此,本公开提出了用于减少在发送用于帧内预测的信息中的信令开销的实施方式。
此外,可以将以下描述的实施方式中的运算符定义为下表。
[表1]
参照表1,Floor(x)可以表示小于x的最大整数值,Log2(u)可以表示u的以2为底的对数值,并且Ceil(x)可以表示大于x的最小整数值。例如,Floor(5.93)的情况可以指5,因为小于5.93的最大整数值为5。
另外,参照表1,x>>y可以表示将x右移y次的运算符,并且x<<y可以表示将x左移y次的运算符。
另外,参照表1,Swap(x,y)可以表示将x的值和y的值彼此交换的操作。也就是说,Swap(x,y)可以表示(y,x)。另外,参照表1,=可以是指示值已被指派的赋值运算符,++可以是表示该值增加一的运算符,--可以是表示该值减少一的运算符,并且+=可以是指示该值增加指定量的运算符,并且-=可以是指示该值减少指定量的运算符。
通常,要编码的当前块和相邻块可以具有相似的图像属性,并且因此,由于当前块和相邻块具有相同或相似的帧内预测模式的可能性很高,为了推导应用于当前块的帧内预测模式,可以基于相邻块的帧内预测模式来确定当前块的MPM列表。也就是说,例如,MPM列表可以包括相邻块的帧内预测模式作为MPM候选。
用于构造当前块的MPM列表的当前块的相邻块可以如下表示。
图10示出了当前块的相邻块。参照图10,当前块的相邻块可以包括左相邻块、上相邻块、左下相邻块、右上相邻块和/或左上相邻块。这里,在当前块的尺寸是W×H并且当前块的左上样本位置的x分量是0并且y分量是0的情况下,左相邻块可以是包括(-1,H-1)坐标的样本的块,上相邻块可以是包括(W-1,-1)坐标的样本的块,右上相邻块可以是包括(W,-1)坐标的样本的块,左下相邻块可以是包括(-1,H)坐标的样本的块并且左上相邻块可以是包括(-1,-1)坐标的样本的块。
此外,该实施方式提出了一种在应用了帧内预测的情况下高效地生成MPM列表的方法。该实施方式描述了将传统帧内预测模式和线性插值帧内预测(LIP)一起使用的情况。如果一起使用更多的帧内预测编码技术,则可以相同的方式对其进行扩展。
图11例示了当前块的相邻块当中的以传统帧内预测模式编码的相邻块和以LIP模式编码的相邻块。
参照图11,当前块的相邻块可以包括左相邻块L、上相邻块A、左下相邻块BL、右上相邻块AR和/或左上相邻块AL。另外,参照图11,可以通过使用传统帧内编码(传统帧内预测)的编码方法来对上相邻块A、左上相邻块AL和右上相邻块AR进行编码,并且可以通过使用线性插值帧内预测(LIP)方法的编码方法来对左相邻块L和左下相邻块BL进行编码。
本公开提出了一种方法,该方法可以在通过使用传统帧内预测编码方法对当前块进行编码的情况下,当生成MPM列表时,可以在相邻块当中优先考虑通过使用传统帧内预测编码方法编码的块来生成MPM列表,并且另一方面,在通过使用LIP帧内预测编码方法对当前块进行编码的情况下,当生成MPM列表时,在相邻块当中优先考虑通过使用LIP帧内预测编码方法编码的块来生成MPM列表。
例如,在通过使用传统帧内预测编码方法对当前块进行编码的情况下,可以如下构造当前块的MPM列表。
作为示例,可以通过优先考虑相邻块的编码信息来如下生成MPM列表。
第一步:在按生成现有MPM列表的顺序搜索相邻块时,首先将相邻块当中的通过使用传统帧内预测编码方法(即,该块的帧内预测模式)编码的块添加到MPM列表中
第二步:在按生成MPM列表的顺序再次搜索相邻块时,再将通过使用LIP帧内预测编码方法(即,该块的帧内预测模式)编码的块添加到MPM列表中
第三步:在MPM列表中搜索具有方向性的模式(不包括平面、DC模式)时,通过将-1或+1应用于相应模式来将模式添加到MPM列表中
第四步:将默认模式添加到MPM列表
此外,在该过程期间在存在交叠模式的情况下或者预测模式在相应块中不可用的情况下,可以搜索下一个块而不将其添加到MPM列表中。另外,在生成了六个MPM候选的情况下,可以终止MPM列表生成过程。用于根据上述过程推导MPM候选的搜索顺序可以如下。
MPM列表:A→平面→DC→AR→AL→L→BL→(针对A、AR、AL、L、BL模式的-1、+1模式生成过程)→添加默认模式
另外,作为示例,可以通过优先考虑当生成MPM列表时所添加的所有模式信息以及相邻块的编码信息来将MPM列表生成如下。
第一步:在按生成现有MPM列表的顺序搜索相邻块时,首先将相邻块当中的通过使用传统帧内预测编码方法(即,该块的帧内预测模式)编码的块添加到MPM列表中
第二步:在下一个MPM列表中搜索具有方向性的模式时,通过将-1或+1应用于相应模式来将模式添加到MPM列表中
第三步:在再次搜索相邻块时,再将通过LIP帧内预测方法编码的块的模式信息添加到MPM列表中
第四步:将通过将附加生成的模式(在线性插值帧内预测模式中添加的模式)-1或+1的模式添加到MPM列表中
第五步:将默认模式添加到MPM列表
此外,在该过程期间在存在交叠模式的情况下或者预测模式在相应块中不可用的情况下,可以搜索下一个块而不将其添加到MPM列表中。另外,在生成了六个MPM候选的情况下,可以终止MPM列表生成过程。用于根据上述过程推导MPM候选的搜索顺序可以如下。
MPM列表:A→平面→DC→AR→AL→(针对A、AR、AL模式的-1、+1模式生成过程)→L→BL→(针对L、BL模式的-1、+1模式生成过程)→添加默认模式
另外,例如,在通过使用LIP帧内预测编码方法对当前块进行编码的情况下,可以如下构造当前块的MPM列表。与上述情况不同,通过优先考虑LIP帧内预测编码方法来生成MPM列表。
作为示例,可以通过如下优先考虑相邻块的编码信息来生成MPM列表。
第一步:在按生成现有MPM列表的顺序搜索相邻块时,首先将相邻块当中的通过使用LIP帧内预测编码方法(即,该块的帧内预测模式)编码的块添加到MPM列表中
第二步:在按生成MPM列表的顺序再次搜索相邻块时,再将通过使用LIP帧内预测编码方法编码的块添加到MPM列表中
第三步:在MPM列表中搜索具有方向性的模式(不包括平面、DC模式)的同时,将通过相应模式-1或+1的模式添加到MPM列表中
第四步:将默认模式添加到MPM列表
此外,在该过程期间在存在交叠模式的情况下或者预测模式在相应块中不可用的情况下,可以搜索下一个块而不将其添加到MPM列表中。另外,在生成了六个MPM候选的情况下,可以终止MPM列表生成过程。用于根据上述过程推导MPM候选的搜索顺序可以如下。
MPM列表:A→平面→DC→AR→AL→L→BL→(针对A、AR、AL、L、BL模式的-1、+1模式生成过程)→添加默认模式
另外,作为示例,可以通过优先考虑当生成MPM列表时所添加的所有模式信息以及相邻块的编码信息来将MPM列表生成如下。
第一步:在按生成现有MPM列表的顺序搜索相邻块时,首先将相邻块当中的使用LIP帧内预测编码方法(即,该块的帧内预测模式)编码的块添加到MPM列表中
第二步:在MPM列表中搜索具有方向性的模式的同时,将通过将相应模式-1或+1的模式添加到MPM列表中
第三步:在再次搜索相邻块时,再将通过传统帧内预测方法编码的块的模式信息添加到MPM列表中
第四步:将通过将附加生成的模式(在传统帧内预测模式中添加的模式)-1或+1的模式添加到MPM列表中
第五步:将默认模式添加到MPM列表
此外,在该过程期间在存在交叠模式的情况下或者预测模式在相应块中不可用的情况下,可以搜索下一个块而不将其添加到MPM列表中。另外,在生成了六个MPM候选的情况下,可以终止MPM列表生成过程。用于根据上述过程推导MPM候选的搜索顺序可以如下。
MPM列表:A→平面→DC→AR→AL→(针对A、AR、AL模式的-1、+1模式生成过程)→L→BL→(针对L、BL模式的-1、+1模式生成过程)→添加默认模式
如上所述,可以针对使用传统帧内预测编码和LIP帧内预测编码的情况提出MPM列表生成方法。另外,在使用其它帧内预测编码方法的情况下,可以通过上述方法生成MPM列表。也就是说,可以通过优先考虑通过与对当前块进行编码的预测方法相同的预测方法编码的相邻块来生成MPM列表。
另外,在上述的MPM列表生成方法中,可以根据帧内预测模式的数量来可变地确定MPM列表中的候选模式(即,MPM候选)的数量,并且可以随机确定用于生成候选模式的相邻块的位置。或者,也可以随机确定要搜索的相邻块的数量和搜索顺序。另外,可以根据MPM列表中的候选模式的数量来可变地确定默认模式的数量。此外,可以随机确定利用默认模式集合确定的模式。
解码装置可以构造当前块的MPM列表,并将MPM列表的MPM候选当中由MPM索引指示的MPM候选推导为当前块的帧内预测模式。在MPM候选之一是针对当前块的最佳帧内预测模式的情况下,可以发信号通知MPM索引,并且因此,可以使开销最小化。指示MPM候选的索引可以利用截短的一进制代码进行编码。也就是说,可以通过使用截短的一进制代码对MPM索引进行二值化。通过使用截短的一进制代码被二值化的MPM索引的值可以表示为下表。
[表2]
参照表2,根据所表示的值,可以将MPM索引推导为1到5个bin(二进制数)的二进制值。由于二进制值的bin随着通过截短的一进制代码被二值化的MPM索引的值较小而较小,MPM候选的顺序对于减少比特数很重要。另外,截短的一进制代码也可以称为截短的莱斯代码。
例如,当前块的最可能模式(MPM)列表可以包括6个MPM候选,可以按照左相邻块的帧内预测模式、上相邻块的帧内预测模式、平面帧内预测模式、DC帧内预测模式、左下相邻块的帧内预测模式、右上相邻块的帧内预测模式和左上相邻块的帧内预测模式的顺序来构造MPM候选。此外,在MPM列表中不包括针对当前块的最佳帧内预测模式的情况下,可以发信号通知MPM标志以指示例外。也就是说,MPM标志可以指示应用于当前块的帧内预测模式是包括在MPM候选中还是包括在未包括在MPM候选中的剩余帧内预测模式中。具体地,在MPM标志的值为1的情况下,MPM标志可以指示当前块的帧内预测模式包括在MPM候选中(MPM列表),并且在MPM标志的值为0的情况下,MPM标志可以指示当前块的帧内预测模式不包括在MPM候选(MPM列表)中,而是包括在剩余帧内预测模式中。
此外,可以通过使用可变长度编码或固定长度编码来对针对当前块的最佳帧内预测模式(即,表示应用于当前块的帧内预测模式的索引)进行编码。另外,可以基于帧内预测模式的数量来确定MPM列表中包括的MPM候选的数量。例如,随着帧内预测模式的数量增加,MPM候选的数量可以增加或可以不增加。例如,MPM列表可以包括3个MPM候选、5个MPM候选或6个MPM候选。
此外,如上所述,可以通过使用可变长度编码或固定长度编码来对表示应用于当前块的帧内预测模式的索引进行编码。这里,在通过可变长度编码对索引进行编码的情况下,随着更高阶的帧内预测模式(即,与索引值较小的情况相对应的帧内预测模式)被选择的概率变高,可以减少表示图像的帧内预测模式的预测模式信息的比特量,并且因此,与使用固定长度编码的情况相比,可以提高编码效率。
作为可变长度编码,可以使用截短的二进制代码。
例如,在通过截短的二进制代码对总共u个符号进行编码的情况下,可以通过使用k个比特来编码前l个符号,并且可以通过使用k+1个比特来编码u-l个符号(即,从全部u个符号中排除l个符号之外的符号)。这里,前l个符号可以表示l个高阶符号。此外,符号可以是其中可以表示信息的值。
这里,可以如下式中所示的推导k。
[式1]
k=floor(Log2(u))
另外,可以如下式中所示的推导l。
[式2]
l=2k+1-u
例如,可以如下表中所示推导根据其中可以使用截短的二进制代码的符号编号的k和l。
[表3]
符号的总数量u | 要编码符号的前l个符号的k比特 | 前l个符号 |
29 | 4 | 3 |
61 | 5 | 3 |
62 | 5 | 2 |
另外,例如,在符号总数量为61(u=61)的情况下,可以如下表所示得出根据截短的二进制代码的针对每个符号的二进制值。
[表4]
输入符号 | 映射的值 | 二进制 | 用于编码的比特数 |
0 | 0 | 00000 | 5 |
1 | 1 | 00001 | 5 |
2 | 2 | 00010 | 5 |
3 | 6 | 000110 | 6 |
4 | 7 | 000111 | 6 |
5 | 8 | 001000 | 6 |
… | … | … | … |
60 | 63 | 111111 | 6 |
参照表4,在总符号数量为61(即,cMax+1)的情况下,k可以被推导为5,并且l可以被推导为3。因此,可以用具有5比特数量的二进制值对符号0至2进行编码,并且可以使用具有6(即,k+1)比特数量的二进制值来对剩余符号进行编码。
此外,符号可以表示帧内预测模式列表的索引。也就是说,符号可以表示特定顺序的帧内预测模式的索引。例如,帧内预测模式列表可以是如下所述以模式编号的升序构造的列表。
{0,1,2,…,64,65,66}
另选地,例如,帧内预测模式列表可以是以如下的预定义顺序构造的列表。
{66,50,34,…,2,18}
本公开提出一种用于通过使用上述截短的二进制代码来对用于表示帧内预测模式的信息进行编码的方法。
图12示出了对用于表示包括MPM候选和剩余帧内预测模式的n个帧内预测模式的信息进行编码的方法。
参照图12,编码装置构造包括m个MPM候选的MPM列表(步骤S1200)。之后,编码装置可以在预定义的帧内预测模式列表中去除MPM候选(步骤S1210)。然后,编码装置可以通过使用截短的二进制代码来对表示(n-m)个剩余帧内预测模式的索引进行编码(步骤S1220)。也就是说,可以通过使用截短的二进制代码来对表示(n-m)个剩余帧内预测模式之一的索引进行编码。例如,在索引值为N的情况下,剩余帧内预测模式信息可以表示(n-m)个剩余帧内预测模式中的第N+1个帧内预测模式。如上所述,可以利用截短的二进制代码对表示(n-m)个剩余帧内预测模式的索引进行编码。也就是说,例如,在索引值为N的情况下,可以利用与截短的二进制代码中的N相对应的二进制值将索引二值化。
此外,帧内预测模式列表可以被称为帧内模式图(intra mode map)。帧内模式图可以表示全部u个帧内预测模式的预定顺序。也就是说,帧内模式图可以表示预定义顺序的帧内预测模式中除了MPM候选之外的帧内预测模式。可以按照根据帧内模式图的顺序(即,预定顺序)将全部帧内预测模式中的除m个MPM候选之外的剩余帧内预测模式映射到索引的符号。例如,除了m个MPM候选之外的帧内预测模式当中的作为帧内模式图中的第一顺序的帧内预测模式的索引可以是0,并且第n顺序的帧内预测模式的索引可以是n-1。
另外,由于截短的二进制代码的前1个符号使用的比特数少于剩余符号,例如,可以提出其中以上述顺序包括具有高概率被选择为率失真优化(RDO)处理中的最佳帧内预测模式的帧内预测模式的帧内模式图。也就是说,可以如下表示预定义顺序的帧内预测模式。
{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}
例如,在帧内预测模式的数量为67并且MPM候选的数量为6(即,使用6个MPM候选)的情况下,可以通过使用截短的二进制代码来对61个剩余帧内预测模式进行编码。也就是说,可以通过使用截短的二进制代码来对剩余帧内预测模式的索引进行编码。在推导6个MPM候选的情况下,可以布置除了6个MPM候选之外的帧内模式图。也就是说,帧内模式图表示按预定义顺序的帧内预测模式中除了MPM候选之外的帧内预测模式。之后,为了减少比特量,可以使用k个(针对u为61,k为5)比特的00000、00001和00010来对1个(针对u为61,l为3)较高阶的帧内预测模式,即,剩余帧内预测模式中的帧内模式图中的3个高阶帧内预测模式,进行编码。也就是说,61个剩余帧内预测模式当中的根据帧内模式图的第一帧内预测模式的索引可以编码为二进制值00000,第二帧内预测模式的索引可以编码为二进制值00001,并且第三帧内预测模式的索引可以编码为二进制值00010。另外,可以用诸如000100和000101之类的6比特截短的二进制代码来编码除了3种帧内预测模式之外的58种帧内预测模式。也就是说,可以用诸如000100和000101之类的6比特截短的二进制代码对除3种帧内预测模式之外的58种帧内预测模式的索引进行编码。
本公开还提出另一实施方式,通过使用截短的二进制代码来对用于表示帧内预测模式的信息进行编码。
图13示出了对用于表示包括MPM候选和剩余帧内预测模式的n个帧内预测模式的信息进行编码的方法。
参照图13,编码装置构造包括m个MPM候选的MPM列表(步骤S1300)。之后,编码装置可以将MPM候选当中的定向帧内预测模式的偏移包括在TBC列表中(步骤S1310)。例如,在作为MPM候选的定向帧内预测模式是#n帧内预测模式的情况下,,可以推导#n+偏移(将偏移与n相加)的帧内预测模式,并且可以构造包括#n+偏移的帧内预测模式的TBC列表。这里,偏移可以从-1、+1、-2、+2、…、-4、+4开始。之后,可以通过使用截短的二进制代码来对表示(n-m)个剩余帧内预测模式的索引进行编码(步骤S1320)。如上所述,可以通过使用截短的二进制代码来对表示(n-m)个剩余帧内预测模式的索引进行编码。
例如,在帧内预测模式的数量是67并且MPM候选数量是6的情况下,可以通过使用截短的二进制代码来对61个剩余帧内预测模式进行编码。也就是说,可以通过使用截短的二进制代码来对剩余帧内预测模式的索引进行编码。例如,MPM列表中包括的6个MPM候选为{50,8,0,1,66,54},TBC列表可以被构造为{49,51,7,9,65,53,55,…}。具体地,在MPM候选当中,定向帧内预测模式可以是#50帧内预测模式、#8帧内预测模式、#66帧内预测模式和#54帧内预测模式,并且基于#50帧内预测模式、#8帧内预测模式、#66帧内预测模式、#54帧内预测模式和偏移推导的帧内预测模式可以被包括在TBC列表中。
之后,为了减少比特量,可以用作为k个(针对u为61,k为5)比特的00000、00001和00010对剩余帧内预测模式当中的TBC列表中的l个(针对u为61,l为3)高阶的帧内预测模式,即,3个高阶帧内预测模式,进行编码。也就是说,TBC列表中的作为第一帧内预测模式的#49帧内预测模式的索引可以编码为二进制值00000,作为第二帧内预测模式的#51帧内预测模式的索引可以编码为二进制值00001,并且作为第三帧内预测模式的#7帧内预测模式的索引可以编码为二进制值00010。另外,可以用诸如000100和000101之类的6比特截短的二进制代码来对除了3种帧内预测模式之外的58种帧内预测模式进行编码。也就是说,可以用诸如000100和000101之类的6比特截短的二进制代码对除了3种帧内预测模式之外的58种帧内预测模式的索引进行编码。
此外,可以以mpm_idx[x0+i][y0+j](或mpm_idx)语法元素的形式来发信号通知MPM索引,并且可以以rem_intra_luma_pred_mode[x0+i][y0+j](或rem_intra_luma_pred_mode)语法元素的形式发信号通知剩余帧内预测模式信息。另选地,可以以intra_luma_mpm_idx[xCb][yCb]语法元素的形式来发信号通知MPM索引,并且可以以intra_luma_mpm_remainder[xCb][yCb]语法元素的形式来发信号通知剩余帧内预测模式信息。这里,MPM索引可以指示MPM候选之一,并且剩余帧内预测模式信息可以指示除了MPM候选之外的剩余帧内预测模式之一。另外,阵列索引(x0+i,y0+i)可以基于图片的左上角亮度样本指示预测块的左上角亮度样本的位置(x0+i,y0+i)。此外,阵列索引(xCb,yCb)可以基于图片的左上角亮度样本指示预测块的左上角亮度样本的位置(xCb,yCb)。
此外,可以通过调用cMax值等于(num_intra_mode–mpm_idx)的截短的二进制(TB)二值化过程来推导剩余模式编码的二值化。也就是说,用于剩余模式编码的二值化可以通过cMax值等于全部帧内预测模式减去MPM候选的数量的值的截短的二进制二值化过程来执行。这里,num_intra_mode可以表示全部帧内预测模式的数量,并且mpm_idx可以表示MPM候选的数量。另外,例如,cMax可以被预定义为60。另选地,cMax可以被预定义为整个帧内预测模式的数量减去MPM候选的数量的值,或者cMax可以预定义为所有帧内预测模式的数量减去MPM候选的数量并且再减去1的值。
具体地,可以如下执行截短的二进制二值化过程。
对过程的输入可以是对具有synVal值和cMax值的语法元素的TB二值化的请求。这里,synVal可以表示语法元素的值,并且cMax可以表示语法元素可以表示的最大值。另外,过程的输出可以是对语法元素的TB二值化的请求。可以如下所述指定语法元素synVal的TB二值化过程的bin字符串。
[式3]
n=cMax+1
k=Floor(Log2(n))使得2k<=n<2k+1
u=2k+1-n
这里,当cMax等于0时,语法元素的TB二值化过程可以是NULL bin字符串。
另外,在cMax不等于0并且synVal小于u的情况下,可以通过调用针对具有设置为k的cMax和输入symbolVal的synVal固定长度(FL)二值化过程来推导TB bin字符串。也就是说,在cMax不等于0并且synVal小于u的情况下,可以基于针对具有设置为k的cMax和输入symbolVal的synVal的FL二值化过程来推导TB bin字符串。根据以下描述的固定长度(FL)二值化过程中的二值化的长度,即,用于推导比特数量的式4,针对设置为k的cMax,比特数量可以被推导为k。因此,在synVal小于u的情况下,可以推导针对synVal的k比特的二值化值。
此外,在cMax不等于0并且synVal大于或等于u的情况下,可以通过针对具有设置为k+1的输入symbolVal和cMax的synVal+u调用固定长度(FL)二值化过程来推导TB bin字符串。也就是说,在cMax不等于0并且synVal大于或等于u的情况下,可以基于针对具有设置为k+1的输入symbolVal和cMax的synVal+u的FL二值化过程来推导TB bin字符串。根据以下描述的固定长度(FL)二值化过程中的二值化的长度,即,用于推导比特数量的式4,针对设置为k+1的cMax,比特数量可以被推导为k。因此,在synVal大于或等于u的情况下,可以推导针对synVal的k+1比特的二值化值。
另外,作为另一示例,可以通过调用其cMax值等于(num_intra_mode–mpm_idx–1)的固定长度(FL)二值化过程来推导针对剩余模式编码的二值化。也就是说,可以通过其cMax值是全部帧内预测模式的数量减去MPM候选的数量再减去1的FL二值化过程来执行针对剩余模式编码的二值化。在本文中,num_intra_mode可以表示全部帧内预测模式的数量,并且mpm_idx可以表示MPM候选的数量。
具体地,FL二值化过程可以如下执行。
过程的输入可以是对cMax和FL二值化的请求。另外,过程的输出可以是将每个symbolVal值与对应的bin字符串相关联的FL二值化。
可以通过使用符号值symbolVal的固定长度的无符号整数bin字符串来构造FL二值化。
这里,可以如下式中所表示的推导固定长度。
[式4]
fixedLength=Ceil(Log2(cMax+1))
这里,fixedLength可以表示固定长度。
在用于FL二值化的bin的索引中,binIdx=0可以与最重要的比特相关联,并且随着binIdx值的增加,与不重要的比特相关联,并且然后,binIdx值最大的情况可以与最不重要的比特相关联。
关于上述内容,可以利用TR二值化过程或FL二值化过程进行二值化来对剩余帧内预测模式信息进行编码。
例如,可以如下表所示地对MPM标志、MPM索引和剩余帧内预测模式进行二值化。
[表5]
在本文中,prev_intra_luma_pred_flag[][]是表示MPM标志的语法元素,rem_intra_luma_pred_mode[][]是表示剩余帧内预测模式信息的语法元素,并且mpm_idx[][]是表示MPM索引的语法元素。参照上面的表5,可以利用FL二值化过程对MPM标志进行二值化,并且可以将作为FL二值化过程的输入参数的cMax预先配置为1。另外,参照上面的表5,剩余帧内预测模式信息可以利用FL二值过程进行二值化,并且作为FL二值化过程的输入参数的cMax可以是全部帧内预测模式的数量减去MPM候选的数量。例如,在全部帧内预测模式的数量为67并且MPM候选数量为6的情况下,考虑到61个剩余帧内预测模式从0到60(即,指示剩余帧内预测模式的索引值为0到60),cMax可以是60。作为另一示例,考虑到61个剩余帧内预测模式从1到61(即,指示剩余帧内预测模式的索引值为1到61),cMax可以是61。此外,例如,MPM候选的数量可以是3。另外,参照上面的表5,可以用截短的莱斯(TR)二值化过程对MPM索引进行二值化,并且作为TR二进制化过程的输入参数的cMax可以是MPM候选的数量减1,并且cRiceParam可以为0。例如,在MPM候选的数量为6的情况下,cMax可以为5。此外,例如,MPM候选的数量可以为3。
另选地,例如,如下表所示,MPM索引和剩余帧内预测模式信息可以被二值化。
[表6]
在本文中,rem_intra_luma_pred_mode[][]是表示剩余帧内预测模式信息的语法元素,并且mpm_idx[][]是表示MPM索引的语法元素。参照上面的表5,可以利用TB二值化过程对剩余帧内预测模式信息进行二值化,并且作为TB二值化过程的输入参数的cMax可以是全部帧内预测模式的数量减去MPM候选的数量并且减1。例如,在全部帧内预测模式的数量是67并且MPM候选的数量是6的情况下,cMax可以是60。也就是说,例如,cMax可以被预先配置为60。例如,在全部帧内预测模式的数量是67并且MPM候选的数量是6的情况下,考虑到61个剩余帧内预测模式从0到60(即,指示剩余帧内预测模式的索引值为0到60),cMax可以是60。作为另一示例,考虑61个剩余帧内预测模式从1到61(即,指示剩余帧内预测模式的索引值为1到61),cMax可以是61。也就是说,cMax可以是剩余帧内预测模式信息可以表示的最大值。此外,例如,MPM候选的数量可以是3。另外,参照上面的表6,可以用截短的莱斯(TR)二值化过程对MPM索引进行二值化,并且作为TR二进制化过程的输入参数的cMax可以是MPM候选的数量减去1,并且cRiceParam可以为0。例如,在MPM候选的数量为6的情况下,cMax可以为5。此外,例如,MPM候选的数量可以为3。
这里,上述TR二值化过程可以如下执行。
过程的输入可以是针对cMax、cRiceParam和TR二值化的请求。这里,cMax可以被表示为针对TR二值化过程的第一二值化参数,并且cRiceParam可以被表示为针对TR二值化过程的第二二值化参数。此外,过程的输出可以是将每个symbolVal值与相应bin字符串相关联的TR二值化。
此外,当基于TR二值化过程对语法元素进行二值化时,可以根据symbolVal值仅推导前缀bin字符串,或者可以推导前缀bin字符串和后缀bin字符串。当存在后缀bin字符串时,TR bin字符串(即,通过TR二值化过程推导的bin字符串)可以是前缀bin字符串和后缀bin字符串的组合。
例如,可以如下式中所表示的推导语法元素的前缀值。
[式5]
prefixVal=symbolVal>>cRiceParam
这里,prefixVal可以表示前缀值,symbolVal可以表示语法元素的符号值,即,语法元素的值,并且cRiceParam可以表示针对语法元素的TR二值化过程的第二二值化参数。
当推导prefixVal时,可以如下推导针对prefixVal的TR bin字符串的前缀,即,前缀bin字符串。
例如,当prefixVal小于cMax>>cRiceParam时,前缀bin字符串可以是具有利用binIdx表示的prefixVal+1长度的比特字符串。也就是说,当prefixVal小于cMax>>cRiceParam时,前缀bin字符串可以推导为prefixVal+1比特的二进制值。这里,针对小于前缀bin字符串中的prefixVal的bin索引的bin可以为1,并且针对等于前缀bin字符串中的prefixVal的bin索引的bin可以为0。
此外,当prefixVal不小于cMax>>cRiceParam时,bin字符串可以是长度为cMax>>cRiceParam并且所有bin均为1的bin字符串。
作为一示例,在TR二值化过程中针对prefixVal的前缀bin字符串可以表示为如下表所示。
[表7]
此外,当cMax大于语法元素的symbolVal并且cRiceParam大于0时,可以存在TRbin字符串的后缀,即,后缀bin字符串。可以如下推导后缀bin字符串。
首先,可以如下式中所表示地推导语法元素的后缀值。
[式6]
suffixVal=symbolVal-((prefixVal)<<cRiceParam)
这里,suffixVal可以表示后缀值,symbolVal可以表示语法元素的符号值,即,语法元素的值,prefixVal可以表示前缀值,并且cRiceParam可以表示语法元素的TR二值化过程的第二二值化参数。
当推导suffixVal时,可以基于针对其中cMax为1(1<<cRiceParam)的suffixVal的FL二值化过程来推导针对suffixVal的TR bin字符串的后缀,即,后缀bin字符串。
另一方面,当输入参数cRiceParam值为0(cRiceParam=0)时,TR二值化可以是截短的一进制(TU)二值化,并且二值化过程可以由cMAX值调用,该cMAX值等于要被解码的语法元素的最大值,即,可以由语法元素表示的最大值。
此外,作为一示例,可以基于上下文模型对MPM索引进行编码/解码。本公开提出了与用于基于上下文模型对MPM索引进行编码/解码的方法相关地基于帧内预测模式推导上下文模型的方法。
例如,可以在下表中示出针对MPM索引的上下文模型的分配。
[表8]
这里,例如,NUM_INTRA_MODE可以表示由包括在MPM列表中的第M个MPM候选指示的帧内预测模式的编号。也就是说,当第M个MPM候选处于帧内预测模式#N时,NUM_INTRA_MODE可以示出N。此外,mpmCtx可以表示针对MPM索引的上下文模型。在这种情况下,可以基于包括在MPM列表中的第M个MPM候选推导MPM索引的第M个bin的上下文模型。这里,M可以为3或更小。
例如,可以基于包括在MPM列表中的第一候选来推导针对当前块的帧内预测模式信息中的针对第一bin的上下文模型。另外,可以基于包括在MPM列表中的第二候选来推导针对第二bin的上下文模型,并且可以基于包括在MPM列表中的第三候选来推导针对第三bin的上下文模型。
此外,帧内预测模式的编号可以如下表所示。
[表9]
帧内预测模式 | 关联名称 |
0 | INTRA_PLANAR |
1 | INTRA_DC |
2…66 | INTRA_ANGULAR2…INTRA_ANGULAR66 |
参照上述表8,当由第M个MPM候选指示的帧内预测模式的编号是DC帧内预测模式的编号(即,1)时或者当帧内预测模式的编号是平面帧内预测模式(即,0)时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型1。换句话说,当第M个MPM候选处于DC帧内预测模式时或者当第M个MPM候选处于平面帧内预测模式时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型1。
此外,当不满足前述条件并且由第M个MPM候选指示的帧内预测模式的编号等于或小于34时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型2。换句话说,当第M个MPM候选处于DC帧内预测模式并且帧内预测模式不是平面帧内预测模式时,并且当第M个MPM候选处于帧内预测模式#2至#34时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型2。
此外,当不满足前述所有条件时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型2或上下文模型3。换句话说,当第M个MPM候选处于帧内预测模式#35至#66时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型2或上下文模型3。
另选地,作为另一示例,针对MPM索引的上下文模型的分配可以如下表所示。
[表10]
例如,参照上述表10,当由第M个MPM候选指示的帧内预测模式的编号是平面帧内预测模式(即,0)时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型1。换句话说,当第M个MPM候选处于平面帧内预测模式时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型1。
此外,当不满足上述条件并且由第M个MPM候选指示的帧内预测模式的编号是DC帧内预测模式的编号(即,1)时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型2。换句话说,当第M个MPM候选不处于平面帧内预测模式时或当第M个MPM候选处于DC帧内预测模式时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型2。
此外,当不满足上述条件并且由第M个MPM候选指示的帧内预测模式的编号等于或小于34时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型3。换句话说,当第M个MPM候选不处于DC帧内预测模式和平面帧内预测模式并且第M个MPM候选处于帧内预测模式#2至#34时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型3。
此外,当不满足所有上述条件时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型4。换句话说,当第M个MPM候选不处于DC帧内预测模式、平面帧内预测模式以及帧内预测模式#2至#34,而是处于帧内预测模式#35至#66中时,可以将MPM索引的第M个bin的上下文模型推导为上下文模型4。
此外,例如,可以如下表所示分配针对具有MPM索引的基于上下文进行编码的bin的语法元素的ctxInc。
[表11]
这里,rem_intra_luma_pred_mode[][]可以是指示剩余帧内预测模式信息的语法元素,并且mpm_idx[][]可以是指示MPM索引的语法元素。此外,binIdx可以指示语法元素的bin索引。
参照表11,可以基于上下文模型对MPM索引的bin 0、bin 1和bin 2进行编码,针对bin 0的ctxInc可以被推导为0,针对bin 1的ctxInc可以被推导为1,并且针对bin 2的ctxInc可以被推导为2。此外,旁路(bypass)编码可以被应用于MPM索引的bin 3和bin 4。旁路编码可以表示通过应用均匀概率分布(例如,50:50)而不是应用具有特定概率分布的上下文模型的编码方法的方法。
此外,例如,在基于上下文模型对MPM标志和MPM索引进行编码的情况下,可以如下表所示分配根据MPM索引和MPM标志的初始化类型的上下文模型的上下文索引(ctxInc)。
[表12]
这里,initType可以表示初始化类型,prev_intra_luma_pred_flag[][]可以表示指示MPM标志的语法元素,并且mpm_idx[][]可以表示指示MPM索引的语法元素。此外,ctxTable可以指示表格,该表格表示根据表示相应语法元素的上下文模型的上下文索引的初始值。例如,进一步地,可以基于以下描述的表14来推导根据MPM标志的上下文索引的初始值,并且可以基于以下描述的表15来推导根据MPM索引的上下文索引的初始值。
这里,可以基于条带类型和/或CABAC初始标志来推导初始化类型的值。例如,可以如下推导初始化类型的值。
[表13]
参照表13,当包括当前块的当前条带的条带类型是帧内条带(I条带)时,初始化类型的值可以推导为零。此外,参照表13,当当前条带的条带类型是预测条带(P条带)时,如果CABAC初始标志的值为1,则初始化类型的值可以推导为2,并且当CBAC初始标志的值为0时,初始化类型的值可以推导为1。此外,参照表13,当当前条带的条带类型是Bi预测条带(B条带)时,如果CABAC初始标志的值为1,初始化类型的值可以推导为1,并且CBAC初始标志的值为0时,初始化类型的值可以推导为2。此外,根据上述表13的用于推导初始化类型的方法可以是在视频/图像编码标准中公开的方法。
返回参照表12,当初始化类型的值为0时,针对MPM标志的上下文索引可以推导为0,当初始化类型的值为1时,针对MPM标志的上下文索引可以推导为1,并且当初始化类型的值为2时,针对MPM标志的上下文索引可以推导为2。上下文索引可以指示用于对MPM标志进行编码的上下文模型。因此,当初始化类型的值为0时,针对MPM标志的上下文索引可以推导为上下文模型0,当初始化类型的值为1时,针对MPM标志的上下文索引可以推导为上下文模型1,并且当初始化类型的值为2时,针对MPM标志的上下文索引可以推导为上下文模型2。
此外,返回参照表12,当初始化类型的值为0时,针对MPM标志的上下文索引可以推导为0、1或2,当初始化类型的值为1时,针对MPM标志的上下文索引可以推导为3、4或5,并且当初始化类型的值为2时,针对MPM标志的上下文索引可以推导为6、7或8。
此外,上下文索引可以推导为ctxInc和ctxIdxOffset之和。ctxIdxOffset可以指示根据初始化类型的上下文索引的值当中的最低值。
例如,参照上述表11,MPM索引的bin 0的ctxInc可以推导为0,bin 1的ctxInc可以推导为1,并且bin 2的ctxInc可以推导为2。此外,参照上述表12,当初始化类型的值为0时,针对MPM索引的ctxIdxOffset可以推导为0,当初始化类型的值为1时,针对MPM索引的ctxIdxOffset可以推导为3,并且当初始化类型的值为2时,针对MPM索引的ctxIdxOffset可以推导为6。因此,当初始化类型的值为0时,针对MPM索引的bin 0的上下文索引可以推导为0,针对MPM索引的bin 1的上下文索引可以推导为1,并且针对MPM索引的bin 2的上下文索引可以推导为2。因此,当初始化类型的值为0时,针对MPM索引的bin 0的上下文模型可以推导为上下文模型0,针对MPM索引的bin 1的上下文模型可以推导为上下文模型1,并且针对MPM索引的bin 2的上下文模型可以推导为上下文模型2。此外,当初始化类型的值为1时,针对MPM索引的bin 0的上下文索引可以推导为3,针对MPM索引的bin 1的上下文索引可以推导为4,并且针对MPM索引的bin 2的上下文索引可以推导为5。因此,当初始化类型的值为1时,针对MPM索引的bin 0的上下文模型可以推导为上下文模型3,针对MPM索引的bin 1的上下文模型可以推导为上下文模型4,并且针对MPM索引的bin 2的上下文模型可以推导为上下文模型5。此外,当初始化类型的值为2时,针对MPM索引的bin 0的上下文索引可以推导为6,针对MPM索引的bin 1的上下文索引可以推导为7,并且针对MPM索引的bin 2的上下文索引可以推导为8。因此,当初始化类型的值为2时,针对MPM索引的bin 0的上下文模型可以推导为上下文模型6,针对MPM索引的bin 1的上下文模型可以推导为上下文模型7,并且针对MPM索引的bin 2的上下文模型可以推导为上下文模型8。
可以如下表中所示推导根据MPM标志的上下文模型的值的初始值,即,上下文索引。
[表14]
参照表14,当MPM标志的上下文索引值为0时,MPM标志的上下文模型的初始值可以为184,当上下文索引值为1时,MPM标志的上下文模型的初始值可以为154,并且当上下文索引值为2时,MPM标志的上下文模型的初始值可以为183。
此外,可以如下表所示推导根据MPM标志的上下文模型的值的初始值,即,上下文索引。
[表15]
参照表15,当MPM索引的上下文索引值为0到8中的一个时,MPM索引的上下文模型的初始值可以为154。
此外,尽管可以如上所述表11中所示分配语法元素的ctxInc,但是也可以提出另一个示例。例如,可以如下表所示分配针对具有基于上下文编码的bin的剩余帧内预测信息、MPM索引和MPM标志的语法元素的ctxInc。
[表16]
这里,prev_intra_luma_pred_flag[][]可以是指示MPM标志的语法元素,mpm_idx[][]可以是指示MPM索引的语法元素,并且rem_intra_luma_pred_mode[][]可以是指示剩余帧内预测信息的语法元素。此外,binIdx可以指示语法元素的bin索引。
参照表16,可以基于上下文模型对MPM标志的bin 0进行编码,并且针对bin 0的ctxInc可以推导为0。此外,参照表16,可以基于上下文模型对MPM索引的bin 0、bin 1和bin2进行编码。例如,MPM索引的bin 0的ctxInc可以推导为0,bin 1的ctxInc可以推导为1,并且bin 2的ctxInc可以推导为2。此外,旁路编码可以应用于MPM索引的bin 3和bin 4。旁路编码可以表示通过应用均匀概率分布(例如,50:50)而不是应用具有特定概率分布的上下文模型的编码方法的方法。
此外,可以如下表所示将帧内预测信息发信号通知当前块。
[表17]
这里,prev_intra_luma_pred_flag[x0][y0]可以是指示当前块的MPM标志的语法元素,mpm_idx[x0][y0]可以是指示MPM索引的语法元素,并且rem_luma_intra_pred_mode[x0][y0]可以是指示剩余帧内预测模式信息的语法元素。参照表17,帧内预测信息可以包括当前块的MPM标志、MPM索引和/或剩余帧内预测模式信息。
MPM标志、MPM索引和/或剩余帧内预测模式信息可以指示当前块的帧内预测模式。当前块可以是针对亮度样本的块。阵列索引(x0,y0)可以基于图片的左上亮度样本来指示左上亮度样本的位置(x0,y0)。
例如,当MPM标志的值为1时,可以如下推导帧内预测模式。
推导当前块的帧内预测模式的过程的输入可以是基于当前图片的左上亮度样本的当前块的左上亮度样本的位置(xPb,yPb),并且变量nPbSX和nPbSY指示当前块的宽度和高度。在该过程中,可以推导作为当前块的帧内预测模式的IntraPredModeY[xPb][yPb]。
例如,外围位置(xNbA,yNbA)、(xNbB,yNbB)、(xNbC,yNbC)、(xNbD,yNbD)和(xNbE,yNbE)可以分别被设置为(xPb-1,yPb+nPbSY-1)、(xPb+nPbSX-1,yPb-1)、(xPb-1,yPb+nPbSY)、(xPb+nPbSX,yPb-1)和(xPb-1,yPb-1)。(XNbA,yNbA)可以指示相邻块A的位置,(xNbB,yNbB)可以指示相邻块B的位置,(xNbC,yNbC)可以指示相邻块C的位置,(xNbD,yNbD)可以指示相邻块D的位置,并且(xNbE,yNbE)可以指示相邻块E的位置,并且相邻块A可以表示左相邻块,相邻块B可以表示上相邻块,相邻块C可以表示左下相邻块,相邻块D可以表示右上相邻块,并且相邻块E可以表示左上相邻块。
此后,可以如下推导作为X的变量的candIntraPredModeX。这里,可以用A、B、C、D或E替换X,并且candIntraPredModeX可以表示基于相邻块X推导的当前块的帧内预测模式候选(即,MPM候选)。
--可以按预定义的扫描顺序执行针对块的可用性推导过程,在可用性推导过程中,可以输入作为位置(xPb,yPb)的当前位置(xCurr,yCurr)和设置为(xNbX,yNbX)的相邻位置,并且可以将输出分配为availableX。预定义的扫描顺序可以是Z扫描顺序、右上对角线扫描顺序、水平扫描顺序或垂直扫描顺序。以下将描述Z扫描顺序、右上对角线扫描顺序、水平扫描顺序和垂直扫描顺序的详细内容。
可以如下推导帧内预测模式候选candIntraPredModeX和addModeToListX。
例如,当以下将描述的条件中的一个为真时,candIntraPredModeX可以类似地设置为INTRA_DC(即,DC帧内预测模式),并且addModeToListX可以类似地设置为FALSE(假)。条件可以如下。
-变量availableX与FALSE相同(即,当相邻块X不可用时)
-当CuPredMode[xNbX][yNbX]不是MODE_INTRA时(即,当帧内预测未应用于相邻块X时)
此外,当不满足所有条件时,candIntraPredModeX可以类似地设置为IntraPredModeY[xNbX][yNbX],并且addModeToListX可以被设置为真。
此后,candIdx可以被设置为零。当MPM候选的数量为6时,可以通过以下将描述的步骤来构造包括MPM候选的MPM列表,直到candIdx超过5。
-当addModeToListA为真并且candIntraPredModeA与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为candIntraPredModeA,并且candIdx可以增加1。
-当addModeToListB为真并且candIntraPredModeB与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为candIntraPredModeB,并且candIdx可以增加1。
-当INTRA_PLANAR(即,平面帧内预测模式)与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为INTRA_PLANAR,并且candIdx可以增加1。
-当INTRA_DC(即,DC帧内预测模式)与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为INTRA_DC,并且candIdx可以增加1。
-当addModeToListC为真并且candIntraPredModeC与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为candIntraPredModeC,并且candIdx可以增加1。
-当addModeToListD为真并且candIntraPredModeD与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为candIntraPredModeD,并且candIdx可以增加1。
-当addModeToListE为真并且candIntraPredModeE与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为candIntraPredModeE,并且candIdx可以增加1。
-变量numModes可以被设置为等于candIdx–1。
-可以按n=0到n=mumModes的顺序依次开始以下过程,并且如果modeList[n]大于INTRA_DC,并且modeList[n]小于或等于INTRA_ANGULAR66,则可以应用以下将描述的步骤。
-当2+(((modeList[n]+61)%65)不等于任何modeList[i](i=0..candIdx-1)时,modeList[candIdx]可以被设置为等于2+(((modeList[n]+61))%65,并且candIdx可以增加1。
-当2+(((modeList[n]-2+1)%65)不等于任何modeList[i](i=0..candIdx-1)时,modeList[candIdx]可以被设置为等于2+((modeList[n]-2+1)%65,并且candIdx可以增加1。
-当INTRA_VER(即,垂直帧内预测模式)与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为INTRA_VER,并且candIdx可以增加1。
-当INTRA_HOR(即,水平帧内预测模式)与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为INTRA_HOR,并且candIdx可以增加1。
-当INTRA_ANGULAR2(即,帧内预测模式2)与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为INTRA_ANGULAR2,并且candIdx可以增加1。
-当INTRA_ANGULAR66(即,帧内预测模式#66)与modeList[i](这里,i=0...candIdx-1)不同时,modeList[candIdx]可以被设置为INTRA_ANGULAR66,并且candIdx可以增加1。
-变量candModeList[x]可以被设置为等于modeList[x]。这里,x可以是0到5(即,x=0…5)。
如上所述,当推导当前块的candModeList[x],即,MPM列表时,可以如下推导当前块的帧内预测模式。IntraPredModeY[xPb][yPb]可以表示当前块的帧内预测模式。
-当prev_intra_luma_pred_flag[xPb][yPb]为1时,IntraPredModeY[xPb][yPb]可以被设置为等于candModeList[mpm_idx[xPb][yPb]]。也就是说,当当前块的MPM标志的值为1时,当前块的帧内预测模式可以推导为由MPM列表的MPM候选当中的由MPM索引指示的MPM候选。
-如果不是,即,当prev_intra_luma_pred_flag[xPb][yPb]为0时,可以按以下顺序推导IntraPredModeY[xPb][yPb]。
1)-(1)例如,可以按下面描述的顺序修改阵列candModeList[x]。这里,x可以是0到2(即,x=0…2)。
i.当candModeList[0]大于candModeList[1]时,可以如下所述彼此交换candModeList[0]和candModeList[1]。
(candModeList[0],candModeList[1])=Swap(candModeList[0],candModeList[1])
也就是说,例如,当candModeList[0]表示帧内预测模式#a,candModeList[1]表示帧内预测模式#b,并且a大于b时,candModeList[0]可以表示帧内预测模式#b,并且candModeList[1]可以被修改为表示帧内预测模式#a。
ii.当candModeList[0]大于candModeList[2]时,可以如下所述彼此交换candModeList[0]和candModeList[2]。
(candModeList[0],candModeList[2])=Swap(candModeList[0],candModeList[2])
也就是说,例如,当candModeList[0]表示帧内预测模式#a,candModeList[2]表示帧内预测模式#b,并且a大于b时,candModeList[0]可以表示帧内预测模式#b,并且candModeList[2]可以被修改为表示帧内预测模式#a。
iii.当candModeList[1]大于candModeList[2]时,可以如下所述彼此交换candModeList[1]和candModeList[2]。
(candModeList[1],candModeList[2])=Swap(candModeList[1],candModeList[2])
也就是说,例如,当candModeList[1]表示帧内预测模式#a,candModeList[2]表示帧内预测模式#b,并且a大于b时,candModeList[1]可以表示帧内预测模式#b,并且candModeList[2]可以被修改为表示帧内预测模式#a。
也就是说,通过上述过程,可以按减小值的顺序来修改阵列candModeList[x](x=0…2)。
另选地,1)-(2)例如,可以按照下面描述的顺序修改阵列candModeList[x]。这里,x可以是0到5(即,x=0…5)。
i.针对按x=0到x=4依次开始的每个x,可以执行以下内容。
针对按y=0到y=4-x依次开始的每个y,当candModeList[y]大于candModeList[y+1]时,可以如下所述彼此交换candModeList[y]和candModeList[y+1]。
(candModeList[y],candModeList[y+1])=Swap(candModeList[y],candModeList[y+1])
也就是说,例如,当candModeList[y]表示帧内预测模式#a,candModeList[y+1]表示帧内预测模式#b,并且a大于b时,candModeList[y]可以表示帧内预测模式#b,并且candModeList[y+1]可以被修改为表示帧内预测模式#a。
2)此后,可以按照下面描述的顺序推导IntraPredModeY[xPb][yPb]。
i.IntraPredModeY[xPb][yPb]可以被设置为等于表示rem_intra_luma_pred_mode[xPb][yPb]。
ii.当IntraPredModeY[xPb][yPb]大于或等于candModeList[i]时,IntraPredModeY[xPb][yPb]的值可以增加1。这里,i可以是0到5。
此外,例如,当基于上下文模型对MPM标志和MPM索引进行编码时,可以如下表所示分配根据MPM索引和MPM标志的初始化类型的上下文模型的上下文索引(ctxIdx)。
[表18]
这里,initType可以代表初始化类型,prev_intra_luma_pred_flag[][]可以表示指示MPM标志的语法元素,并且mpm_idx[][]可以表示指示MPM索引的语法元素。此外,ctxTable可以指示根据表示语法元素的上下文的上下文索引来表示初始值的表。例如,此外,可以基于以下描述的表19来推导根据MPM标志的上下文索引的初始值,并且可以基于以下描述的表20来推导根据MPM标志的上下文索引的初始值。
例如,可以如下表所示推导根据MPM标志的上下文模型(即,上下文索引)的值的初始值。
[表19]
参照表19,当MPM标志的上下文索引的值为0时,MPM标志的上下文模型的初始值可以为184,当上下文索引的值为1时,MPM标志的上下文模型的初始值可以为154,并且当上下文索引的值为2时,MPM标志的上下文模型的初始值为183。
此外,可以如下表所示推导根据MPM标志的上下文模型(即,上下文索引)的值的初始值。
[表20]
参照表20,当MPM索引的上下文索引的值是0到8中的一个时,MPM索引的上下文模型的初始值可以是154。
此外,例如,可以如下表所示对MPM标志、MPM索引和剩余帧内预测模式信息进行二值化。
[表21]
这里,prev_intra_luma_pred_flag[][]可以是指示MPM标志的语法元素,mpm_idx[][]可以是指示MPM索引的语法元素,并且rem_intra_luma_pred_mode[][]可以是指示剩余帧内预测模式信息的语法元素。参照上述表21,可以通过FL二值化过程对MPM标志进行二值化,并且作为针对FL二值化过程的二值化参数的cMax可以为1。此外,参照上述表21,可以通过截短的莱斯(TR)二值化过程对MPM索引进行二值化,并且作为针对TR二值化过程的二值化参数的cMax可以为5,并且cRiceParam可以为0。此外,参照上述表21,可以通过TB二值化过程对剩余帧内预测模式信息进行二值化,并且作为针对TB二值化过程的二值化参数的cMax可以为60。
此外,例如,可以通过以下过程来推导针对MPM索引的ctxInc。
该过程的输入可以是针对当前块的MPM列表candModeList[]和bin索引binIdx。当前块可以是基于当前图片的左上亮度样本具有当前块的左上亮度样本的位置(xPb,yPb)的编码块。过程的输出可以是ctxInc。
可以如下推导MPM索引的ctxInc。
-当candModeList[binIdx]为0或1时,ctxInc可以被设置为0。
-如果不是,即,当candModeList[binIdx]等于或小于INTRA_ANGULAR34时,ctxInc可以被设置为1。
-如果不是,即,当candModeList[binIdx]大于INTRA_ANGULAR34且小于INTRA_ANGULAR66时,ctxInc可以被设置为2。
此外,可以根据预定的扫描顺序来执行针对当前图片的块的可用性推导过程。
扫描顺序可以采用Z扫描顺序、右上对角线扫描顺序、水平扫描顺序、垂直扫描顺序等。
例如,可以如下执行根据Z扫描顺序的阵列初始化过程,即,Z扫描顺序阵列初始化过程。
具体地,可以如下表所示推导阵列MinTbAddrZs,其包括MinTbAddrZs[x][y],MinTbAddrZs[x][y]是针对x在0到(PicWidthInCtbsY<<(CtbLog2SizeY-Log2MinTrafoSize))-1范围内并且y在0到(PicHeightInCtbsY<<(CtbLog2SizeY-Log2MinTrafoSize))-1范围内的元素。
[表22]
此外,例如,可以如下执行根据右上对角线扫描顺序的阵列初始化过程,即,右上对角线扫描顺序阵列初始化过程。该过程中的输入可以是作为块大小的blkSize。该过程的输出可以是阵列diagScan[sPos][sComp]。阵列索引sPos可以表示在0到(blkSize*blkSize)–1的范围中的扫描位置。另外,阵列索引sComp可以表示相应阵列元素是水平元素还是垂直元素。例如,值为0的阵列索引sComp可以指示阵列元素是水平元素,并且值为1的阵列索引sComp可以指示阵列元素是垂直元素。
可以基于块大小blkSize如下表所示推导阵列diagScan。
[表23]
此外,例如,可以如下执行根据水平扫描顺序的阵列初始化过程,即,水平扫描顺序阵列初始化过程。该过程中的输入可以作为块大小的是blkSize。该过程的输出可以是阵列horScan[sPos][sComp]。阵列索引sPos可以表示在0至(blkSize*blkSize)–1的范围中的扫描位置。另外,阵列索引sComp可以表示相应阵列元素是水平元素还是垂直元素。例如,值为0的阵列索引sComp可以指示阵列元素是水平元素,并且值为1的阵列索引sComp可以指示阵列元素是垂直元素。
可以基于块大小blkSize如下表所示推导阵列horScan。
[表24]
此外,例如,可以如下执行根据垂直扫描顺序的阵列初始化过程,即,垂直扫描顺序阵列初始化过程。该过程中的输入可以是作为块大小的blkSize。该过程的输出可以是阵列verScan[sPos][sComp]。阵列索引sPos可以表示在0到(blkSize*blkSize)–1的范围中的扫描位置。另外,阵列索引sComp可以表示相应阵列元素是水平元素还是垂直元素。例如,值为0的阵列索引sComp可以指示阵列元素是水平元素,并且值为1的阵列索引sComp可以指示阵列元素是垂直元素。
基于块大小blkSize可以如下表所示推导阵列verScan。
[表25]
图14例示了根据本公开的由编码装置进行的图像编码方法。图14中公开的方法可以由图1中公开的编码装置执行。具体地,例如,图14的S1400至S1430可以由编码设备的预测单元执行,并且S1440可以由编码设备的熵编码单元执行。另外,尽管未示出,但是基于当前块的预测样本和原始样本来推导当前块的残差样本的过程可以由编码设备的减法单元执行,并且生成关于针对当前块的残差的信息的过程可以由编码设备的变换单元执行,并且关于残差的信息的编码过程可以由编码设备的熵编码单元执行。
编码设备可以构造包括当前块的最可能模式(MPM)候选的MPM列表(S1400)。这里,作为一示例,MPM列表可以包括3个MPM候选、5个MPM候选或6个MPM候选。
编码设备可以如上所述构造MPM列表。
例如,编码设备可以基于当前块的相邻块来构造当前块的MPM列表,并且MPM列表可以包括6个MPM候选。相邻块可以包括当前块的左相邻块、上相邻块、左下相邻块、右上相邻块和/或左上相邻块。编码设备可以按特定顺序搜索当前块的相邻块,并且按推导的顺序来将相邻块的帧内预测模式推导为MPM候选。例如,编码设备可以通过按左相邻块的帧内预测模式、上相邻块的帧内预测模式、平面帧内预测模式、DC帧内预测模式、左下相邻块的帧内预测模式、右上相邻块的帧内预测模式和左上相邻块的帧内预测模式的顺序执行搜索来推导MPM候选并构造当前块的MPM列表。此外,当搜索后未推导出6个MPM候选时,可以基于推导为MPM候选的帧内预测模式来推导MPM候选。例如,当推导为MPM候选的帧内预测模式是帧内预测模式#N时,编码设备可以将帧内预测模式#N+1和/或帧内预测模式#N-1推导为当前块的MPM候选。
编码设备确定当前块的帧内预测模式(S1410)。编码设备可以执行各种帧内预测模式以将具有最佳率失真(rate-distortion,RD)成本的帧内预测模式推导为针对当前块的帧内预测模式。帧内预测模式可以是2个非定向帧内预测模式和65个帧内定向预测模式之一。如上所述,2个非定向帧内预测模式可以包括帧内DC模式和帧内平面模式。
例如,帧内预测模式可以是除了MPM候选之外的剩余帧内预测模式之一。这里,剩余帧内预测模式可以是全部帧内预测模式中的除了包括在MPM列表中的MPM候选之外的帧内预测模式。此外,在这种情况下,编码设备可以对指示当前块的帧内预测模式的剩余帧内预测模式信息进行编码。
此外,例如,编码设备可以在MPM列表的MPM候选当中选择具有最佳RD成本的MPM候选,并将所选MPM候选确定为针对当前块的帧内预测模式。在这种情况下,编码设备可以对指示MPM候选当中的所选MPM候选的MPM索引进行编码。
此外,编码设备可以对针对当前块的MPM标志进行编码。MPM标志可以指示当前块的帧内预测模式是否被包括在MPM候选中。
编码设备基于帧内预测模式生成当前块的预测样本(S1420)。编码设备可以基于帧内预测模式推导当前块的相邻样本当中的至少一个相邻样本,并且基于相邻样本来生成预测样本。相邻样本可以包括当前块的左上角相邻样本、左上相邻样本、上相邻样本和左相邻样本。例如,当当前块的尺寸是W×H并且当前块的左上样本位置的x分量是0并且y分量是0时,左相邻样本可以是p[-1][0]至p[-1][2H-1],左上角相邻样本可以是p[-1][-1]并且上相邻样本可以是p[0][-1]至p[2W-1][-1]。
编码设备对包括当前块的帧内预测信息的视频信息进行编码(S1430)。编码设备可以以比特流的形式输出包括针对当前块的帧内预测信息的视频信息。
例如,帧内预测信息可以包括针对当前块的MPM标志和/或剩余帧内预测模式信息。可以以prev_intra_luma_pred_flag或intra_luma_mpm_flag语法元素的形式发信号通知MPM标志,并且可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式发信号通知剩余帧内预测模式信息。MPM标志可以指示当前块的帧内预测模式是否被包括在MPM候选中。例如,当MPM标志的值为1时,MPM标志可以指示当前块的帧内预测模式包括在MPM候选中(MPM列表),并且当MPM标志的值为0时,MPM标志可以指示针对当前块的帧内预测模式不包括在MPM候选(MPM列表)中,而是包括在剩余帧内预测模式中。剩余帧内预测模式可以指示除MPM候选之外的帧内预测模式。此外,剩余帧内预测模式信息可以指示剩余帧内预测模式当中的当前块的帧内预测模式。
此外,例如,可以通过固定长度(FL)二值化过程对MPM标志进行编码。可以预先设置针对FL二值化过程的二值化参数。例如,二值化参数的值可以是1。二值化参数的值可以指示MPM标志的最大值。也就是说,二值化参数的值可以被设置为等于MPM标志的最大值。这里,二值化参数可以表示cMax。
如上所述,可以通过FL二值化过程对MPM标志进行编码。因此,可以通过具有固定的特定长度的二进制值对MPM标志进行二值化。可以基于二值化参数来推导固定的特定长度。可以基于上述的式4推导固定的特定长度。
此外,可以基于上下文模型对MPM标志进行编码。例如,可以基于当前条带的初始化类型来推导针对MPM标志的上下文模型。例如,可以如上述表13中所示地推导初始化类型。此外,当上下文模型的上下文索引为0时,上下文模型的初始值可以推导为184,当上下文模型的上下文索引为1时,上下文模型的初始值可以推导为154,并且当上下文模型的上下文索引为2时,上下文模型的初始值可以为183。
此外,例如,可以通过截短的二进制(TB)二值化过程对剩余帧内预测模式信息进行编码。可以预先设置针对TB二值化过程的二值化参数。例如,二值化参数的值可以是60或61。另选地,参数的值可以被设置为通过从帧内预测模式的总数中减去MPM候选的数量而获得的值。另选地,参数的值可以被设置为通过从从帧内预测模式的总数中减去MPM候选的数量而获得的值中减1而获得的值。这里,二值化参数可以表示cMax。二值化参数可以指示剩余帧内预测模式信息的最大值。
如上所述,可以通过TB二值化过程来对剩余帧内预测模式信息进行编码。因此,当剩余帧内预测模式信息的值小于特定值时,剩余帧内预测模式信息可以被二值化为k比特的二进制值。此外,当剩余帧内预测模式信息的值等于或大于特定值时,剩余帧内预测模式信息可以被二值化为k+1比特的二进制值。可以基于二值化参数来推导特定值和k。例如,可以基于上述式3来推导特定值和k。当二值化参数的值为61时,特定值可以推导为3,并且k可以推导为5。
此外,当MPM候选之一被确定为当前块的帧内预测模式时,帧内预测信息可以包括针对当前块的MPM索引。MPM索引可以指示MPM候选当中的当前块的帧内预测模式。可以以mpm_idx或intra_luma_mpm_idx语法元素的形式发信号通知MPM索引。
例如,可以通过截短的莱斯(TR)二值化过程对MPM索引进行编码。也就是说,可以通过截短的莱斯(TR)二值化过程对MPM索引进行编码。可以预先设置针对TR二值化过程的第一二值化参数和第二二值化参数。例如,第一二值化参数可以是5,并且第二二值化参数可以是零。例如,第一二值化参数的值可以被设置为通过从MPM候选的数量中减1而获得的值,并且第二二值化参数可以为零。当MPM候选的数量为6时,第一二值化参数可以被设置为5,并且当MPM候选的数量为5时,二值化参数可以被设置为4。这里,第一二值化参数可以指示cMax,并且第二二值化参数可以指示cRiceParam。第一二值化参数可以指示经编码的MPM标志的最大值。也就是说,第一二值化参数的值可以被设置为等于经编码的MPM标志的最大值。
此外,可以基于上下文模型对MPM索引进行编码。
在这种情况下,例如,基于包括在MPM列表中的第N个MPM候选,可以推导MPM索引的第N个bin的上下文模型。
基于第N个MPM候选推导的针对第N个bin的上下文模型可以如下。
作为一示例,当由第N个MPM候选指示的帧内预测模式是DC帧内预测模式或平面帧内预测模式的情况下,针对第N个bin的上下文模型可以推导为上下文模型1;当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式和平面帧内预测模式,而是帧内预测模式#2至#34时,针对第N个bin的上下文模型可以被推导为上下文模型2;并且当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式、平面帧内预测模式和帧内预测模式#2至#34,而是帧内预测模式#35至#66时,针对第N个bin的上下文模型可以被推导为上下文模型3。
另选地,作为一示例,当由第N个MPM候选指示的帧内预测模式是平面帧内预测模式时,针对第N bin的上下文模型可以被推导为上下文模型1;当由第N个MPM候选指示的帧内预测模式不是平面帧内预测模式而是DC帧内预测模式时,针对第N个bin的上下文模型可以推导为上下文模型2;当由第N个MPM候选指示的帧内预测模式不是平面帧内预测模式和DC帧内预测模式,而是帧内预测模式#2至#34时,针对第N个bin的上下文模型可以推导上下文模型3;并且当第N个MPM候选指示的帧内预测模式不是平面帧内预测模式、DC帧内预测模式和帧内预测模式#2至#34,而是帧内预测模式#35至#66时,针对第N个bin的上下文模型可以推导为上下文模型4。
另选地,作为一示例,可以基于第N个bin的bin索引和当前条带的初始化类型来推导针对MPM索引的第N个bin的上下文模型。例如,针对第N个bin的上下文模型的上下文索引可以推导为ctxInc和ctxIdxOffset之和。此外,当第N个bin的bin索引为0时,ctxInc可以推导为0,当第N个bin的bin索引为1时,ctxInc可以推导为1,并且当第N个bin的bin索引为2时,ctxInc可以推导为2。另外,当初始化类型的值为0时,ctxIdxOffset可以推导为0,当初始化类型的值为1时,ctxIdxOffset可以推导为3,并且当初始化类型的值为2时,ctxIdxOffset可以推导为6。此外,上下文模型的初始值可以推导为154。
另选地,例如,可以基于包括在MPM列表中的第N个MPM候选来推导针对MPM索引的第n个bin的ctxInc。
基于第N个候选推导的针对第N个bin的ctxInc可以是如下的。
作为一示例,当由第N个MPM候选指示的帧内预测模式是DC帧内预测模式或平面帧内预测模式时,针对第N个bin的ctxInc可以推导为上下文模型0,当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式和平面帧内预测模式而是帧内预测模式#2至#34时,针对第N个bin的ctxInc可以推导为上下文模型1,并且当第N个MPM候选指示的帧内预测模式不是DC帧内预测模式、平面帧内预测模式和帧内预测模式#2至#34,而是帧内预测模式#35至#66时,针对第N个bin的ctxInc可以推导为上下文模型2。
此外,当当前块的帧内预测模式包括在MPM候选中时,编码设备可以不对MPM标志进行编码。也就是说,当当前块的帧内预测模式包括在MPM候选中时,帧内预测信息可以不包括MPM标志。
此外,作为一示例,编码设备可以基于针对当前块的预测样本和原始样本来推导针对当前块的残差样本,基于残差样本生成关于当前块的残差信息,并且对关于残差的信息进行编码。视频信息可以包括关于残差的信息。
此外,可以经由网络或(数字)存储介质将比特流传输到解码设备。这里,网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括包含USB、SD、CD、DVD、蓝光、HDD和SSD等的各种存储介质。
图15示意性地示出了根据本公开的执行图像编码方法的编码装置。图14中公开的方法可以由图15中公开的编码设备执行。具体地,例如,图15的编码设备的预测单元可以执行图14的S1400至S1420,并且图15的编码设备的熵编码单元可以执行图14的S1430。另外,尽管未示出,但是基于针对当前块的预测样本和原始样本来推导针对当前块的残差样本的过程可以由图15的编码设备的减法单元执行,并且生成关于针对当前块的残差的信息的过程可以由图15的编码设备的变换单元执行,并且对关于残差的信息的进行编码的过程可以由图15的编码设备的熵编码单元执行。
图16例示了根据本公开的由解码装置进行的图像解码方法。图16中公开的方法可以由图3中公开的解码设备执行。具体地,例如,图16的S1600可以由解码设备的熵解码单元执行,并且S1610至S1650可以由解码设备的预测单元执行。另外,尽管未示出,但是通过比特流获得关于当前块的预测的信息和/或关于当前块的残差的信息的过程可以由解码设备的熵解码单元执行,基于残差信息推导针对当前块的残差样本的过程可以由解码设备的逆变换单元执行,并且基于当前块的预测样本和残差样本生成经重构的图片的过程可以由解码设备的加法单元执行。
解码设备从比特流中确定当前块的帧内预测信息(S1600)。解码设备可以从比特流中获得包括当前块的帧内预测信息的视频信息。
帧内预测信息可以包括针对当前块的最可能模式(MPM)标志。当MPM标志的值为1时,解码设备可以从比特流中获得针对当前块的MPM索引。也就是说,当MPM标志的值为1时,当前块的帧内预测信息可以包括MPM索引。另选地,帧内预测信息可以不包括MPM标志,并且在这种情况下,解码设备可以将MPM标志的值推导为1。可以以prev_intra_luma_pred_flag或intra_luma_mpm_flag语法元素的形式发信号通知MPM标志。MPM标志可以指示当前块的帧内预测模式是否被包括在MPM候选中。例如,当MPM标志的值为1时,MPM标志可以指示当前块的帧内预测模式包括在MPM候选中(MPM列表),并且当MPM标志的值为0时,MPM标志可以指示当前块的帧内预测模式不包括在MPM候选(MPM列表)中,而是包括在剩余帧内预测模式中。剩余帧内预测模式可以指示除MPM候选之外的帧内预测模式。
此外,例如,可以通过固定长度(FL)二值化过程对MPM标志进行编码。可以预先设置针对FL二值化过程的二值化参数。例如,二值化参数的值可以是1。二值化参数的值可以指示MPM标志的最大值。也就是说,二值化参数的值可以被设置为等于MPM标志的最大值。这里,二值化参数可以表示cMax。
如上所述,可以通过FL二值化过程对MPM标志进行编码。因此,可以通过具有固定的特定长度的二进制值对MPM标志进行二值化。可以基于二值化参数来推导固定的特定长度。可以基于上述的式4推导固定的特定长度。
此外,可以基于上下文模型对MPM标志进行编码。例如,可以基于当前条带的初始化类型来推导针对MPM标志的上下文模型。例如,可以如上述表13中所示地推导初始化类型。此外,当上下文模型的上下文索引为0时,上下文模型的初始值可以推导为184,当上下文模型的上下文索引为1时,上下文模型的初始值可以推导为154,并且当上下文模型的上下文索引为2时,上下文模型的初始值可以推导为183。
当MPM标志的值是0时,解码设备可以从比特流中获得针对当前块的剩余帧内预测模式信息。当MPM标志的值是0时,剩余帧内预测信息可以包括指示剩余帧内预测模式中的一个的剩余帧内预测模式信息。在这种情况下,解码设备可以在剩余的帧内预测模式当中,将由剩余帧内预测模式信息指示的帧内预测模式推导为针对当前块的帧内预测模式。这里,剩余帧内预测模式可以表示所有帧内预测模式中的除了MPM列表的MPM候选之外的剩余帧内预测模式。可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式来发信号通知剩余帧内预测模式信息。
例如,可以通过截短的二进制(TB)二值化过程对剩余帧内预测模式信息进行编码。可以预先设置针对TB二值化过程的二值化参数。例如,二值化参数的值可以是60或61。另选地,参数的值可以被设置为通过从帧内预测模式的总数中减去MPM候选的数量而获得的值。另选地,参数的值可以被设置为通过从从帧内预测模式的总数中减去MPM候选的数量而获得的值中减去1而获得的值。这里,二值化参数可以表示cMax。二值化参数可以指示剩余帧内预测模式信息的最大值。
如上所述,可以通过TB二值化过程来对剩余帧内预测模式信息进行编码。因此,当剩余帧内预测模式信息的值小于特定值时,剩余帧内预测模式信息可以被二值化为k比特的二进制值。此外,当剩余帧内预测模式信息的值等于或大于特定值时,剩余帧内预测模式信息可以被二值化为k+1比特的二进制值。可以基于二值化参数来推导特定值和k。例如,可以基于上述式3来推导特定值和k。当二值化参数的值为61时,特定值可以推导为3,并且k可以推导为5。
此外,MPM索引可以指示指示MPM列表的MPM候选之一的MPM索引。可以以mpm_idx或intra_luma_mpm_idx语法元素的形式来发信号通知MPM索引。
例如,可以通过截短的莱斯(TR)二值化过程对MPM索引进行编码。也就是说,可以通过截短的莱斯(TR)二值化过程对MPM索引进行编码。可以预先设置针对TR二值化过程的第一二值化参数和第二二值化参数。例如,第一二值化参数可以是5,并且第二二值化参数可以是零。例如,第一二值化参数的值可以被设置为通过从MPM候选的数量中减去1而获得的值,并且第二二值化参数可以为零。当MPM候选的数量为6时,第一二值化参数可以被设置为5,并且当MPM候选的数量为5时,二值化参数可以被设置为4。这里,第一二值化参数可以指示cMax,并且第二二值化参数可以指示cRiceParam。第一二值化参数可以指示编码的MPM标志的最大值。也就是说,第一二值化参数的值可以被设置为等于编码的MPM标志的最大值。
此外,可以基于上下文模型对MPM索引进行编码。
在这种情况下,例如,基于包括在MPM列表中的第N个MPM候选,可以推导针对MPM索引的第N个bin的上下文模型。
基于第N个候选推导第N个bin的上下文模型可以是如下的。
作为一示例,当由第N个MPM候选指示的帧内预测模式是DC帧内预测模式或平面帧内预测模式时,针对第N个bin的上下文模型可以推导为上下文模型1,当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式和平面帧内预测模式而是帧内预测模式#2至#34时,针对第N个bin的上下文模型可以推导为上下文模型2,并且当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式和平面帧内预测模式和帧内预测模式#2至#34,而是帧内预测模式#35至#66时,针对第N个bin的上下文模型可以推导为上下文模型3。
另选地,作为一示例,当由第N个MPM候选指示的帧内预测模式是平面帧内预测模式时,针对第N个bin的上下文模型可以推导为上下文模型1;当由第N个MPM候选指示的帧内预测模式不是平面帧内预测模式而是DC帧内预测模式时,针对第N个bin的上下文模型可以推导为上下文模型2;当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式和平面帧内预测模式而是帧内预测模式#2至#34帧内预测模式时,针对第N个bin的上下文模型可以推导为上下文模型3;并且当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式和平面帧内预测模式和帧内预测模式#2至#34,而是帧内预测模式#35至#66帧内预测模式时,针对第N个bin的上下文模型可以推导为上下文模型4。
另选地,作为一示例,可以基于第N个bin的bin索引和当前条带的初始化类型来推导针对MPM索引的第N个bin的上下文模型。例如,针对第N个bin的上下文模型的上下文索引可以推导为ctxInc和ctxIdxOffset之和。此外,当第N个bin的bin索引为0时,ctxInc可以推导为0,当第N个bin的bin索引为1时,ctxInc可以推导为1,并且当第N个bin的bin索引为2时,ctxInc可以推导为2。另外,当初始化类型的值为0时,ctxIdxOffset可以推导为0,当初始化类型的值为1时,ctxIdxOffset可以推导为3,并且当初始化类型的值为2时,ctxIdxOffset可以推导为6。此外,上下文模型的初始值可以推导为154。
另选地,例如,可以基于包括在MPM列表中的第N个MPM候选来推导针对MPM索引的第n个bin的ctxInc。
基于第N个候选推导的针对第N个bin的ctxInc可以是如下的。
作为一示例,当由第N个MPM候选指示的帧内预测模式是DC帧内预测模式或平面帧内预测模式时,针对第N个bin的ctxInc可以推导为上下文模型0,当第N个MPM候选指示的帧内预测模式不是DC帧内预测模式和平面帧内预测模式,而是帧内预测模式#2至#34时,针对第N个bin的ctxInc可以推导为上下文模型1,并且当由第N个MPM候选指示的帧内预测模式不是DC帧内预测模式、平面帧内预测模式和帧内预测模式#2至#34,而是帧内预测模式#35至#66时,针对第N个bin的ctxInc可以推导为上下文模型2。
解码设备可以构造包括当前块的最可能模式(MPM)候选的MPM列表(S1610)。例如,解码设备可以基于当前块的相邻块来构造当前块的最可能模式(MPM)列表。这里,作为一示例,MPM列表可以包括三个MPM候选、五个MPM候选或六个MPM候选。
解码设备可以如上所述地构造MPM列表。
作为示例,解码设备可以基于当前块的相邻块来构造当前块的MPM列表,并且MPM列表可以包括六个MPM候选。相邻块可以包括当前块的左相邻块、上相邻块、左下相邻块、右上相邻块和/或左上相邻块。解码设备可以按特定顺序搜索当前块的相邻块,并且按推导的顺序将相邻块的帧内预测模式推导为MPM候选。例如,解码设备可以通过按照左相邻块的帧内预测模式、上相邻块的帧内预测模式、平面帧内预测模式、DC帧内预测模式、左下相邻块的帧内预测模式、右上相邻块的帧内预测模式和左上相邻块的帧内预测模式的顺序执行搜索来推导MPM候选并构造当前块的MPM列表。此外,当搜索后未推导出6个MPM候选时,可以基于推导为MPM候选的帧内预测模式来推导MPM候选。例如,当推导为MPM候选的帧内预测模式是帧内预测模式#N时,编码设备可以将帧内预测模式#N+1和/或#N-1推导为当前块的MPM候选。
当MPM标志的值为0时,解码设备基于当前块的剩余帧内预测模式信息来推导当前块的帧内预测模式(S1620)。当MPM标志的值为0时,帧内预测信息可以包括剩余帧内预测模式信息。在这种情况下,解码设备可以将剩余帧内预测模式当中的由剩余帧内预测模式信息指示的帧内预测模式推导为针对当前块的帧内预测模式。这里,剩余帧内预测模式可以表示所有帧内预测模式中除了MPM列表的MPM候选之外的剩余帧内预测模式。可以以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式来发信号通知剩余帧内预测模式信息。
此外,作为一示例,当剩余帧内预测模式信息的值为N时,剩余帧内预测模式信息可以指示帧内预测模式#N。
此外,作为另一示例,当MPM标志的值为0时,解码设备可以按照帧内预测模式编号的升序对MPM列表的MPM候选进行排序,并且由剩余帧内预测模式信息指示的值等于或大于至少一个MPM候选的帧内预测模式编号,可以将具有帧内预测模式编号(具有从由剩余帧内预测模式信息指示的值增加一的值)的帧内预测模式推导为当前块的帧内预测模式。也就是说,当由剩余帧内预测模式信息指示的值大于或等于至少一个MPM候选的帧内预测模式编号并且剩余帧内预测模式信息的值为N时,帧内预测模式#N+1可以推导为当前块的帧内预测模式。
具体地,按帧内预测模式编号的降序对MPM列表的MPM候选进行排序的过程可以是如下的。例如,解码设备可以将第i个MPM候选的模式编号与第j个MPM候选的模式编号进行比较,并且当第i个MPM候选的模式编号大于第j个MPM候选的模式编号时,解码设备可以将第i个MPM候选的模式编号改变为第j个MPM候选的模式编号,并且将第j个MPM候选的模式编号改变为第i个MPM候选的模式编号。这里,i可以是0到3,并且针对i的每个值的j可以是(i+1)到4。另选地,例如,i可以是0到1,并且针对i的每个值的j可以为(i+1)到2。另选地,例如,i可以是0到4,并且针对i的每个值的j可以是(i+1)到5。
此外,作为另一示例,当剩余帧内预测模式信息的值为N时,剩余帧内预测模式信息可以指示帧内模式图中的第N+1帧内预测模式。帧内模式图可以指示来自按预设顺序的帧内预测模式中的除了MPM候选之外的帧内预测模式。例如,按预设顺序的帧内预测模式可以如下。
{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}
此外,作为另一示例,当剩余帧内预测模式信息的值为N时,剩余帧内预测模式信息可以指示TBC列表中的帧内预测模式#N+1。可以由MPM候选当中的基于定向帧内预测模式和偏移推导的帧内预测模式来构造TBC列表。
此外,当MPM标志值为1时,解码设备可以从比特流中获得针对当前块的MPM索引,并且基于MPM索引来推导当前块的帧内预测模式。解码设备可以将由MPM索引指示的MPM候选推导为当前块的帧内预测模式。MPM索引可以指示MPM列表的MPM候选之一。
解码设备基于帧内预测模式来推导当前块的预测样本(S1630)。解码设备可以基于帧内预测模式来推导当前块的相邻样本当中的至少一个相邻样本,并且基于相邻样本来生成预测样本。相邻样本可以包括当前块的左上角相邻样本、左上相邻样本、上相邻样本和左相邻样本。例如,当当前块的尺寸是W×H并且当前块的左上样本位置的x分量是0并且y分量是0时,左相邻样本可以是p[-1][0]至p[-1][2H-1],左上角相邻样本可以是p[-1][-1]并且上相邻样本可以是p[0][-1]至p[2W-1][-1]。
解码设备可以基于预测样本生成经重构的图片(S1640)。解码设备可以将预测样本直接用作重构样本,或者可以通过将残差样本与预测样本相加来生成重构样本。当存在针对当前块的残差样本时,解码设备可以接收关于针对当前块的残差的信息,并且关于残差信息可以被包括在关于相位的信息中。关于残差的信息可以包括与残差样本有关的变换系数。视频信息可以包括关于残差的信息。解码设备可以基于残差信息来推导针对当前块的残差样本(或残差样本阵列)。解码设备可以基于预测样本和残差样本来生成重构样本,并且可以基于重构样本来推导经重构的块或经重构的图片。
此外,如上所述,解码设备可以将诸如去块滤波(deblocking filtering)和/或SAO过程之类的环路滤波过程应用于经重构的图片,以便于根据场合需要来提高主观或客观图片质量。
图17例示了根据本公开的执行图像解码方法的解码装置。图16中公开的方法可以由图17中公开的解码设备执行。具体地,例如,图17的解码设备的熵解码单元可以执行图16的S1600,并且图17的解码设备的预测单元可以执行图16的S1610至S1650。另外,尽管未示出,但是通过比特流获得包括关于当前块的残差的信息的视频信息的过程可以由图17的解码设备的熵解码单元执行,基于关于残差的信息推导针对当前块的残差样本的过程可以由图17的解码设备的逆变换单元执行,并且基于预测样本和残差样本生成经重构的图片的过程可以由图17的解码设备的加法单元执行。
根据本公开,可以基于作为可变二进制代码的截短的二进制代码对指示除了MPM候选之外的剩余帧内预测模式当中的当前块的帧内预测模式的信息进行编码,从而减少用于帧内预测模式的信息的信令开销并且增强整体编码效率。
此外,根据本公开,可选性高的帧内预测模式可以被表示为与小比特二进制代码相对应的值的信息,从而减少帧内预测信息的信令开销,并且增强整体编码效率。
在上述实施方式中,基于具有一系列步骤或框的流程图描述了方法。本公开不限于以上步骤或框的顺序。如上所述,一些步骤或框可以与其它步骤或框同时发生或以与其它步骤或框不同的顺序发生。此外,本领域技术人员将理解,以上流程图中所示的步骤不是排它性的,可以包括其它步骤,或者可以删除流程图中的一个或更多个步骤而不影响本公开的范围。
本说明书中描述的实施方式可以通过在处理器、微处理器、控制器或芯片上实现来执行。例如,每个附图中所示的功能性单元可以通过在计算机、处理器、微处理器、控制器或芯片上实现来执行。在这种情况下,用于实现的信息(例如,关于指令的信息)或算法可以存储在数字存储介质中。
另外,应用本公开的解码装置和编码装置可以包括在多媒体广播发送/接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控相机、视频聊天设备、诸如视频通信之类的实时通信设备、移动流设备、存储介质、便携式摄像机、VoD服务提供设备、顶置(OTT)视频设备、互联网流服务提供设备、三维(3D)视频设备、电话会议视频设备、交通运输用户设备(例如,车辆用户设备、飞机用户设备、轮船用户设备等)和医疗视频设备中并且可以用于处理视频信号和数据信号。例如,顶置(OTT)视频设备可以包括游戏机、蓝光播放器、互联网接入TV、家庭影院系统、智能电话、平板PC和数字录像机(DVR)等。
此外,可以以要由计算机执行的程序的形式来产生应用本公开的处理方法,并且可以将其存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括其中存储计算机系统可读的数据的所有类型的存储装置。例如,计算机可读记录介质可以包括BD、通用串行总线(USB)、ROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波的形式实现的介质(例如,通过互联网的传输)。另外,通过编码方法生成的比特流可以被存储在计算机可读记录介质中,或者可以通过有线/无线通信网络被发送。
另外,本公开的实施方式可以根据程序代码用计算机程序产品来实现,并且程序代码可以通过本公开的实施方式在计算机中执行。程序代码可以存储在计算机可读的载体上。
图18例示了应用了本公开的内容流系统的结构图。
应用本公开内容的内容流系统可以主要包括编码服务器、流服务器、Web服务器、介质存储装置、用户装置和多媒体输入装置。
编码服务器通过将来自诸如智能电话、照相机、便携式摄像机等的多媒体输入装置的输入内容压缩为数字数据并将其发送到流服务器来执行生成比特流的作用。作为另一示例,在诸如智能电话、照相机、便携式摄像机等的多媒体输入装置直接生成比特流的情况下,可以省略编码服务器。
可以通过应用本公开的编码方法或比特流生成方法来生成比特流,并且流服务器可以在发送和接收比特流的过程中临时存储比特流。
流服务器执行通过Web服务器基于用户请求将多媒体数据发送到用户设备的作用,并且Web服务器执行向用户通知存在哪种类型的服务的介质的作用。当用户向Web服务器请求所需的服务时,Web服务器将其传送到流服务器,然后流服务器将多媒体数据发送给用户。此时,内容流系统可以被包括在单独的控制服务器中,并且在这种情况下,控制服务器执行控制内容流系统中的装置之间的命令/响应的作用。
流服务器可以从介质存储装置和/或编码服务器接收内容。例如,在流服务器从编码服务器接收内容的情况下,流服务器可以实时接收内容。在这种情况下,为了提供流畅的流服务,流服务器可以在预定时间期间存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、板式PC、平板PC、超级本、诸如智能手表、智能眼镜、头戴式显示器(HMD)之类的可穿戴装置、数字TV、台式计算机和数字标牌等。
内容流系统中的每个服务器可以在分布式服务器中操作,并且在这种情况下,可以以分布式方式处理在每个服务器中接收的数据。
Claims (15)
1.一种由视频解码设备执行的视频解码方法,该视频解码方法包括以下步骤:
通过比特流获得当前块的帧内预测信息;
推导包括所述当前块的最可能模式MPM候选的MPM列表;
当MPM标志的值为0时,基于剩余帧内预测模式信息来推导所述当前块的帧内预测模式,其中,所述帧内预测模式是除所述MPM候选之外的剩余帧内预测模式中的一个;
基于所述帧内预测模式推导所述当前块的预测样本;以及
基于所述预测样本推导经重构的图片,
其中,所述帧内预测信息包括所述MPM标志,
其中,当所述MPM标志的值为0时,所述帧内预测信息包括所述剩余帧内预测模式信息,
其中,所述MPM标志是通过固定长度FL二值化过程进行编码的,
其中,针对所述FL二值化过程的二值化参数为1,
其中,所述剩余帧内预测模式信息是通过截短的二进制TB二值化过程进行编码的,并且
其中,针对所述TB二值化过程的二值化参数为60。
2.根据权利要求1所述的视频解码方法,其中,所述MPM标志指示所述当前块的所述帧内预测模式是否被包括在所述MPM候选中。
3.根据权利要求2所述的视频解码方法,该视频解码方法还包括以下步骤:
当所述MPM标志的值为1时,将所述MPM候选当中的由MPM索引指示的MPM候选推导为所述当前块的帧内预测模式,
其中,当所述MPM标志的值为1时,所述帧内预测信息包括所述剩余帧内预测模式信息。
4.根据权利要求1所述的视频解码方法,其中,当所述剩余帧内预测模式信息的值小于特定值时,所述剩余帧内预测模式信息被二值化为k比特的二进制值,并且
其中,当所述剩余帧内预测模式信息的值大于或等于所述特定值时,所述剩余帧内预测模式信息被二值化为k+1比特的二进制值。
5.根据权利要求4所述的视频解码方法,其中,基于针对所述TB二值化过程的所述二值化参数来推导所述特定值和所述k。
6.根据权利要求5所述的视频解码方法,其中,基于下式推导所述特定值和所述k,
n=cMax+1
k=Floor(Log2(n))使得2k<=n<2k+1
u=2k+1-n
其中,cMax表示所述二值化参数,并且u表示所述特定值。
7.根据权利要求6所述的视频解码方法,其中,所述二值化参数是通过从帧内预测模式的总数中减去所述MPM候选的数量而获得的值中减去1而获得的值。
8.根据权利要求1所述的视频解码方法,其中,所述MPM标志被二值化为具有固定的特定长度的二进制值,并且
其中,所述固定的特定长度是基于所述二值化参数来推导的。
9.根据权利要求8所述的视频解码方法,其中,基于下式推导所述固定的特定长度,
fixedLength=Ceil(Log2(cMax+1))
其中,cMax表示所述二值化参数,并且fixedLength表示所述固定的特定长度。
10.根据权利要求1所述的视频解码方法,其中,当所述剩余帧内预测模式信息的值为N时,所述剩余帧内预测模式信息指示帧内模式图中的第N+1个帧内预测模式。
11.根据权利要求10所述的视频解码方法,其中,所述帧内模式图指示按预设顺序的帧内预测模式中的除了所述MPM候选之外的帧内预测模式。
12.根据权利要求11所述的视频解码方法,其中,按所述预设顺序的帧内预测模式如下:
{0,1,50,18,49,10,12,19,11,34,2,17,54,33,46,51,35,15,13,45,22,14,66,21,47,48,23,53,58,16,42,20,24,44,26,43,55,52,37,29,39,41,25,9,38,56,30,36,32,28,62,27,40,8,3,7,57,6,31,4,65,64,5,59,60,61,63}。
13.根据权利要求1所述的视频解码方法,其中,基于所述帧内预测模式推导所述当前块的所述预测样本的步骤包括以下步骤:
基于所述帧内预测模式推导所述当前块的相邻样本当中的至少一个相邻样本;以及
基于所述相邻样本生成所述预测样本,
其中,所述相邻样本包括所述当前块的左上角相邻样本、上相邻样本和左相邻样本,并且
其中,当所述当前块的尺寸为W×H,并且所述当前块的左上样本位置的x分量为0并且y分量为0时,所述左相邻样本为p[-1][0]至p[-1][2H-1],所述左上角相邻样本为p[-1][-1]并且所述上相邻样本为p[0][-1]至p[2W-1][-1]。
14.一种由编码设备执行的视频编码方法,该视频编码方法包括以下步骤:
构造包括当前块的最可能模式MPM候选的MPM列表;
确定所述当前块的帧内预测模式,其中,所述帧内预测模式是除了所述MPM候选之外的剩余帧内预测模式中的一个;
基于所述帧内预测模式生成所述当前块的预测样本;以及
对包括所述当前块的帧内预测信息的视频信息进行编码,
其中,所述帧内预测信息包括针对所述当前块的剩余帧内预测模式信息和最可能模式MPM标志,
其中,所述MPM标志指示所述当前块的所述帧内预测模式是否被包括在所述MPM候选中,
其中,所述MPM标志是通过固定长度FL二值化过程进行编码的,
其中,针对所述FL二值化过程的二值化参数为1,
其中,所述剩余帧内预测模式信息是通过截短的二进制TB二值化过程进行编码的,并且
其中,针对所述TB二值化过程的二值化参数为60。
15.根据权利要求14所述的视频编码方法,其中,当所述剩余帧内预测模式信息的值小于特定值时,所述剩余帧内预测模式信息被二值化为k比特的二进制值,并且
其中,当所述剩余帧内预测模式信息的值大于或等于所述特定值时,所述剩余帧内预测模式信息被二值化为k+1比特的二进制值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862698115P | 2018-07-14 | 2018-07-14 | |
US62/698,115 | 2018-07-14 | ||
US201862698261P | 2018-07-15 | 2018-07-15 | |
US62/698,261 | 2018-07-15 | ||
PCT/KR2019/007968 WO2020017786A1 (ko) | 2018-07-14 | 2019-07-01 | 영상 코딩 시스템에서 인트라 예측 정보를 포함한 영상 정보 기반 영상 디코딩 방법 및 그 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112514379A true CN112514379A (zh) | 2021-03-16 |
Family
ID=69138556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980051277.8A Pending CN112514379A (zh) | 2018-07-14 | 2019-07-01 | 图像编码系统中基于包括帧内预测信息的图像信息解码图像的方法及其设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200021806A1 (zh) |
KR (1) | KR20210010630A (zh) |
CN (1) | CN112514379A (zh) |
WO (1) | WO2020017786A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018216862A1 (ko) * | 2017-05-24 | 2018-11-29 | 엘지전자 주식회사 | 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치 |
US11509890B2 (en) * | 2018-07-24 | 2022-11-22 | Hfi Innovation Inc. | Methods and apparatus for entropy coding and decoding aspects of video data |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857750A (zh) * | 2011-07-01 | 2013-01-02 | 华为技术有限公司 | 帧内预测编解码处理方法、装置和系统 |
US20150264348A1 (en) * | 2014-03-17 | 2015-09-17 | Qualcomm Incorporated | Dictionary coding of video content |
CN105357535A (zh) * | 2015-11-05 | 2016-02-24 | 广东中星电子有限公司 | 一种帧内预测模式编解码方法及设备 |
US20170164004A1 (en) * | 2014-07-04 | 2017-06-08 | Kt Corporation | Method and device for processing multi-view video signal |
KR20170131329A (ko) * | 2012-01-30 | 2017-11-29 | 한국전자통신연구원 | 인트라 예측 모드 부호화/복호화 방법 및 장치 |
CN108184121A (zh) * | 2011-12-05 | 2018-06-19 | Lg 电子株式会社 | 帧内预测的方法和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013106986A1 (en) * | 2012-01-16 | 2013-07-25 | Mediatek Singapore Pte. Ltd. | Methods and apparatuses of intra mode coding |
US10547854B2 (en) * | 2016-05-13 | 2020-01-28 | Qualcomm Incorporated | Neighbor based signaling of intra prediction modes |
KR20180040319A (ko) * | 2016-10-12 | 2018-04-20 | 가온미디어 주식회사 | 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법 |
-
2019
- 2019-07-01 KR KR1020217000285A patent/KR20210010630A/ko not_active Application Discontinuation
- 2019-07-01 CN CN201980051277.8A patent/CN112514379A/zh active Pending
- 2019-07-01 WO PCT/KR2019/007968 patent/WO2020017786A1/ko active Application Filing
- 2019-07-10 US US16/507,558 patent/US20200021806A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857750A (zh) * | 2011-07-01 | 2013-01-02 | 华为技术有限公司 | 帧内预测编解码处理方法、装置和系统 |
CN108184121A (zh) * | 2011-12-05 | 2018-06-19 | Lg 电子株式会社 | 帧内预测的方法和设备 |
KR20170131329A (ko) * | 2012-01-30 | 2017-11-29 | 한국전자통신연구원 | 인트라 예측 모드 부호화/복호화 방법 및 장치 |
US20150264348A1 (en) * | 2014-03-17 | 2015-09-17 | Qualcomm Incorporated | Dictionary coding of video content |
US20170164004A1 (en) * | 2014-07-04 | 2017-06-08 | Kt Corporation | Method and device for processing multi-view video signal |
CN105357535A (zh) * | 2015-11-05 | 2016-02-24 | 广东中星电子有限公司 | 一种帧内预测模式编解码方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200021806A1 (en) | 2020-01-16 |
WO2020017786A1 (ko) | 2020-01-23 |
KR20210010630A (ko) | 2021-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11303929B2 (en) | Image coding method using lookup table for intra prediction mode and apparatus therefor | |
US11632544B2 (en) | Method for coding image/video on basis of intra prediction and device therefor | |
JP2023054320A (ja) | 非分離二次変換に基づいた画像コーディング方法及びその装置 | |
KR102510771B1 (ko) | 영상 코딩 시스템에서 어파인 mvp 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 | |
CN112823523B (zh) | 使用mpm列表的基于帧内预测的图像编译方法及其设备 | |
KR102490854B1 (ko) | 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치 | |
CA3103651C (en) | Image decoding method using intra prediction related information in image coding system and apparatus therefor | |
US11750801B2 (en) | Method for coding intra-prediction mode, and device for same | |
CN112313959A (zh) | 使用基于图像编码系统中的lut导出的mvd解码图像的方法和设备 | |
CN114009047A (zh) | 视频/图像编译系统中用于合并数据语法的信令方法和装置 | |
KR102568880B1 (ko) | Atmvp 후보를 기반으로 영상 코딩을 수행하는 장치 | |
CN112514379A (zh) | 图像编码系统中基于包括帧内预测信息的图像信息解码图像的方法及其设备 | |
US20200021807A1 (en) | Image decoding method and apparatus using intra prediction information in image coding system | |
US20220166968A1 (en) | Intra prediction method and apparatus based on multi-reference line in image coding system | |
CN113273210B (zh) | 用于编译关于合并数据的信息的方法和装置 | |
CN118679737A (zh) | 图像编码/解码方法和设备以及在其上存储比特流的记录介质 | |
CN115443659A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210316 |