CN114827601B - 对视频进行解码的方法和设备以及对视频进行编码的方法和设备 - Google Patents
对视频进行解码的方法和设备以及对视频进行编码的方法和设备 Download PDFInfo
- Publication number
- CN114827601B CN114827601B CN202210631549.5A CN202210631549A CN114827601B CN 114827601 B CN114827601 B CN 114827601B CN 202210631549 A CN202210631549 A CN 202210631549A CN 114827601 B CN114827601 B CN 114827601B
- Authority
- CN
- China
- Prior art keywords
- current block
- prediction
- samples
- block
- intra prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 165
- 230000008569 process Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 2
- 239000000523 sample Substances 0.000 description 147
- 238000012937 correction Methods 0.000 description 39
- 239000013598 vector Substances 0.000 description 36
- 238000001914 filtration Methods 0.000 description 21
- 238000013139 quantization Methods 0.000 description 19
- 238000000638 solvent extraction Methods 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 10
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 8
- 238000005192 partition Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000013074 reference sample Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Abstract
公开了一种用于对视频进行解码的方法,包括:从候选列表中确定当前块的帧内预测模式,所述候选列表包括多个候选,所述多个候选是基于与所述当前块相邻的相邻块的帧内预测模式来确定的;通过基于所述当前块的帧内预测模式执行帧内预测来生成预测样本;以及确定是否对所述当前块应用所述预测样本的更新过程,其中,当确定对所述当前块应用所述更新过程时,基于所述当前块中的预测样本各自的偏移来更新所述预测样本,其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值来获得重构样本,其中,在所述当前块的第二子区域中,利用第二偏移0,并且使用与预测样本相同的值来获得重构样本。
Description
本申请是申请日为2016年9月12日、国际申请号为PCT/KR2016/010278、发明名称为“用于处理视频信号的方法和设备”、进入中国国家阶段的申请号为201680065475.6的中国专利申请的分案申请。
技术领域
本发明涉及用于处理视频信号的方法和设备。
背景技术
近来,在各种应用领域中对高分辨率和高质量图像(例如,高清晰度(HD)图像和超高清晰度(UHD)图像)的需求已经增加了。然而,与常规图像数据相比,分辨率和质量更高的图像数据的数据量增加。因此,当通过使用介质(例如,常规的有线和无线宽带网络)传送图像数据时,或者当通过使用常规的存储介质存储图像数据时,传送成本和存储成本增加了。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,可以利用高效的图像编码/解码技术。
图像压缩技术包括各种技术,各种技术包括:根据当前图片的先前图片或后续图片来对包括在当前图片中的像素值进行预测的帧间预测技术;通过使用当前图片中的像素信息对包括在当前图片中的像素值进行预测的帧内预测技术;将短代码分配给出现频率高的值并且将长代码分配给出现频率低的值的熵编码技术等。可以通过使用这样的图像压缩技术来有效地压缩图像数据,并且图像数据可以被传送或存储。
同时,随着对高分辨率图像的需求的增加,对作为新的图像服务的立体图像内容的需求也在增加。正在探讨的是用于有效地提供具有高分辨率和超高分辨率的立体图像内容的视频压缩技术。
发明内容
技术问题
本发明的目的旨在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备对编码块进行分级划分。
本发明的目的旨在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备执行对编码/解码目标块的帧内预测。
本发明的目的旨在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备对编码/解码目标块的预测样本进行校正。
本发明的目的旨在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备通过使用偏移将通过帧内预测生成的第一预测样本更新为第二预测样本。
技术方案
根据本发明,提供了用于对视频信号进行解码的方法和设备,该方法包括:通过对当前块执行帧内预测来生成第一预测样本;对指定当前块被划分成子块的方式的帧内预测方式进行确定;基于帧内预测方式来确定当前块的子块单元中的偏移;以及通过使用第一预测样本和偏移在当前块的子块单元中生成第二预测样本。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以确定是否针对每个子块设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以基于子块的位置来确定是否针对该子块设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以针对每个子块将偏移设置为不同的值。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以根据与当前块相邻的参考样本得到偏移。
根据本发明,提供了用于对视频信号进行编码的方法和设备,该方法包括:通过对当前块执行帧内预测来生成第一预测样本;对指定当前块被划分成子块的方式的帧内预测方式进行确定;基于帧内预测方式来确定当前块的子块单元中的偏移;以及通过使用第一预测样本和偏移在当前块的子块单元中生成第二预测样本。
在根据本发明的用于对视频信号进行编码的方法和设备中,当前块可以包括多个子块,并且可以确定是否针对每个子块设置偏移。
在根据本发明的用于对视频信号进行编码的方法和设备中,可以基于子块的位置来确定是否针对该子块设置偏移。
在根据本发明的用于对视频信号进行编码的方法和设备中,当前块可以包括多个子块,并且可以针对每个子块将偏移设置为不同的值。
在根据本发明的用于对视频信号进行编码的方法和设备中,可以根据与当前块相邻的参考样本得到偏移。
根据本发明,提供了用于对视频进行解码的方法,所述方法包括:从候选列表中确定当前块的帧内预测模式,所述候选列表包括多个候选,所述多个候选是基于与所述当前块相邻的相邻块的帧内预测模式来确定的;通过基于所述当前块的帧内预测模式执行帧内预测来生成预测样本;以及确定是否对所述当前块应用所述预测样本的更新过程,其中,当确定对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值来获得重构样本,其中,在所述当前块的第二子区域中,利用第二偏移0,并且使用与预测样本相同的值来获得重构样本,其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,其中,所述相邻样本与所述预测样本位于相同的角度线上,并且其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
根据本发明,提供了用于对视频进行解码的设备,所述设备包括:预测模块,其从候选列表中确定当前块的帧内预测模式,通过基于所述当前块的帧内预测模式执行帧内预测来生成预测样本,并且确定是否对所述当前块应用所述预测样本的更新过程,其中,所述候选列表包括多个候选,其中,基于与所述当前块相邻的相邻块的帧内预测模式来确定所述多个候选;其中,当确定对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值来获得重构样本,其中,在所述当前块的第二子区域中,利用第二偏移0,并且使用与预测样本相同的值来获得重构样本,其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,其中,所述相邻样本与所述预测样本位于相同的角度线上,并且其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
根据本发明,提供了用于对视频进行编码的方法,所述方法包括:通过基于当前块的帧内预测模式执行帧内预测来生成预测样本,所述当前块的帧内预测模式是从候选列表中确定的,所述候选列表包括多个候选,所述多个候选是基于与所述当前块相邻的相邻块的帧内预测模式来确定的;以及确定是否对所述当前块应用所述预测样本的更新过程,其中,当确定对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值获得重构样本,其中,在所述当前块的第二子区域中,利用第二偏移0,并且使用与预测样本相同的值来获得重构样本,其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,其中,所述相邻样本与所述预测样本位于相同的角度线上,并且其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
根据本发明,提供了用于对视频进行编码的设备,所述设备包括:预测模块,其通过基于当前块的帧内预测模式执行帧内预测来生成预测样本,并且确定是否对所述当前块应用所述预测样本的更新过程,其中,从候选列表中确定所述当前块的帧内预测模式,其中,所述候选列表包括多个候选,其中,基于与所述当前块相邻的相邻块的帧内预测模式来确定所述多个候选,其中,当确定对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值来获得重构样本,其中,在所述当前块的第二子区域中,利用第二偏移0,并且使用与预测样本相同的值来获得重构样本,其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,其中,所述相邻样本与所述预测样本位于相同的角度线上,并且其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
有益效果
根据本发明,可以通过对编码块的分级/自适应划分来提高编码效率。
根据本发明,可以有效地确定编码/解码目标块的帧内预测模式并且提高帧内预测的准确性。
附图说明
图1是示出根据本发明的实施方式的用于对视频进行编码的设备的框图。
图2是示出根据本发明的实施方式的用于对视频进行解码的设备的框图。
图3是示出根据本发明的实施方式的基于树结构对编码块进行分级划分的示例的视图。
图4是示出根据本发明的实施方式的用于对视频进行编码/解码的设备的预定义的帧内预测模式的类型的视图。
图5是简要示出根据本发明的实施方式的帧内预测方法的流程图。
图6是示出根据本发明的实施方式的基于相邻样本的差分信息来校正当前块的预测样本的方法的视图。
图7和图8是示出根据本发明的实施方式的基于预定校正滤波器来校正预测样本的方法的视图。
图9是示出根据本发明的实施方式的使用权重和偏移来校正预测样本的方法的视图。
图10至图15是示出根据本发明的实施方式的组成模板以确定权重w的方法的视图。
图16是示出根据本发明的实施方式的基于偏移来校正预测样本的方法的视图。
图17至图21是示出根据本发明的实施方式的当前块的帧内预测方式的示例的视图。
图22是示出根据本发明的实施方式的使用帧内块复制技术来执行预测的方法的视图。
图23是示出对符号进行编码的处理的流程图。
图24是示出基于符号的出现概率将[0,1)之间的区间划分为子区间的示例的视图。
图25是示出根据要进行编码的块的位置来设置概率索引的示例的视图。
图26和图27是示出区块(tile)和片段的划分的示例的视图。
图28是示出针对每个区块不同地确定初始概率索引的示例的视图。
最佳实施方式
根据本发明,提供了用于对视频信号进行解码的方法和设备,该方法包括:通过对当前块执行帧内预测来生成第一预测样本;对指定当前块被划分成子块的方式的帧内预测方式进行确定;基于帧内预测方式来确定当前块的子块单元中的偏移;以及通过使用第一预测样本和偏移在当前块的子块单元中生成第二预测样本。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以确定是否针对每个子块设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以基于子块的位置来确定是否针对该子块设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以针对每个子块将偏移设置为不同的值。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以根据与当前块相邻的参考样本得到偏移。
根据本发明,提供了用于对视频信号进行编码的方法和设备,该方法包括:通过对当前块执行帧内预测来生成第一预测样本;对指定当前块被划分成子块的方式的帧内预测方式进行确定;基于帧内预测方式来确定当前块的子块单元中的偏移;以及通过使用第一预测样本和偏移在当前块的子块单元中生成第二预测样本。
在根据本发明的用于对视频信号进行编码的方法和设备中,当前块可以包括多个子块,并且可以确定是否针对每个子块设置偏移。
在根据本发明的用于对视频信号进行编码的方法和设备中,可以基于子块的位置来确定是否针对该子块设置偏移。
在根据本发明的用于对视频信号进行编码的方法和设备中,当前块可以包括多个子块,以及可以针对每个子块将偏移设置为不同的值。
在根据本发明的用于对视频信号进行编码的方法和设备中,可以根据与当前块相邻的参考样本来得到偏移。
具体实施方式
可以对本发明进行各种修改,并且存在本发明的各种实施方式,现在将参照附图提供实施方式的示例,并且详细描述它们。然而,本发明不限于此,并且示例性实施方式可以被解释为包括本发明的技术构思和技术范围内的所有修改、等同物或替代方案。在所描述的附图中,相似的附图标记指代相似的元件。
说明书中使用的术语“第一”、“第二”等可以用于描述各种部件,但是这些部件不被解释为限制于这些术语。这些术语仅用于区分一个部件与其他部件。例如,在不偏离本发明的范围的情况下,“第一”部件可以被称为“第二”部件,并且“第二”部件也可以被类似地称为“第一”部件。术语“和/或”包括多个项或者多个术语中的任意一个术语的组合。
应该理解的是,在本说明书中,当元件被简单地称为“连接至”或“耦接至”另一元件而不是“直接连接至”或“直接耦接至”另一元件时,该元件可以“直接连接至”或“直接耦接至”另一元件,或者该元件可以连接至或耦接至另一元件并且有其他元件介于它们之间。相反地,应该理解的是,当元件被称为“直接耦接”或“直接连接”至另一元件时,不存在中间元件。
本说明书中使用的术语仅用于描述特定实施方式,而并不旨在限制本发明。以单数形式使用的表述包含复数形式的表述,除非该表述在上下文中有明显不同的含义。在本说明书中,应当理解的是,诸如“包括”、“具有”等术语旨在指示本说明书中公开的特征、数字、步骤、动作、元件、部分或其组合的存在,并且不旨在排除可以存在或可以添加一个或更多个其他特征、数字、步骤、动作、元件、部分或其组合的可能性。
在下文中,将参照附图详细地描述本发明的优选实施方式。在下文中,附图中的相同组成元件用相同的附图标记表示,并且将省略对相同元件的重复描述。
图1是示出根据本发明的实施方式的用于对视频进行编码的设备的框图。
参照图1,用于对视频进行编码的设备100可以包括:图片划分模块110、预测模块120和125、变换模块130、量化模块135、重排模块160、熵编码模块165、逆量化模块140、逆变换模块145、滤波器模块150以及存储器155。
图1所示的组成部分被独立地示出,以表示用于对视频进行编码的设备中的彼此不同的特征功能。因此,这并不意味着每个组成部分都是由分开的硬件或软件的组成单元组成的。换言之,为了方便起见,每个组成部分包括列举的组成部分中的每一个。因此,每个组成部分的至少两个组成部分可以被组合,以形成一个组成部分,或者一个组成部分可以被分成多个组成部分以执行每个功能。在不偏离本发明的实质的情况下,组合每个组成部分的实施方式和分割一个组成部分的实施方式也被包括在本发明的范围内。
此外,组成部分中的一些组成部分可能不是执行本发明的基本功能的不可缺少的组成部分,而是仅改善本发明的性能的可选组成部分。可以通过排除用于改善性能的组成部分仅包括用于实现本发明的实质的不可缺少的组成部分来实现本发明。排除仅用于改善性能的可选组成部分仅包括不可缺少的组成部分的结构也被包括在本发明的范围内。
图片划分模块110可以将输入图片划分为一个或更多个处理单元。这里,处理单元可以是预测单元(PU)、变换单元(TU)或编码单元(CU)。图片划分模块110可以将一个图片划分为多个编码单元、预测单元和变换单元的组合,并且可以通过使用预定准则(例如,成本函数)选择编码单元、预测单元和变换单元的一个组合来对图片进行编码。
例如,一个图片可以被划分为多个编码单元。可以使用递归树结构、例如四叉树结构来将图片划分为编码单元。在一个图片或最大编码单元作为根的情况下被划分成其他编码单元的编码单元可以以子节点与所划分的编码单元的数目对应的方式进行划分。按照预定限制不能再划分的编码单元用作叶节点。也就是说,当假设对于一个编码单元仅正方形划分可行时,一个编码单元可以最多被划分为四个其他编码单元。
在下文中,在本发明的实施方式中,编码单元可以意指执行编码的单元或者执行解码的单元。
预测单元可以被划分为在单个编码单元中具有相同大小的至少一个正方形形状或长方形形状,或者预测单元可以被划分成使得:单个编码单元中的一个划分的预测单元具有与另一划分的预测单元不同的形状和/或大小。
当基于编码单元生成要进行帧内预测的预测单元并且编码单元不是最小编码单元时,可以在不将编码单元划分为多个预测单元N×N的情况下执行帧内预测。
预测模块120和125可以包括执行帧间预测的帧间预测模块120和执行帧内预测的帧内预测模块125。可以确定对于预测单元是执行帧间预测还是帧内预测,并且可以确定根据每个预测方法的详细信息(例如,帧内预测模式、运动矢量、参考图片等)。这里,要进行预测的处理单元可以与对其确定了预测方法和详细内容的处理单元不同。例如,可以由预测单元确定预测方法、预测模式等,并且可以由变换单元执行预测。所生成的预测块与原始块之间的残差值(残差块)可以被输入至变换模块130。此外,用于预测的预测模式信息、运动矢量信息等可以与残差值一起由熵编码模块165进行编码,并且可以被传送至用于对视频进行解码的设备。当使用特定编码模式时,可以通过对原始块进行完整编码而不通过预测模块120和125生成预测块来向用于对视频进行解码的设备进行传送。
帧间预测模块120可以基于当前图片的先前图片或后续图片中的至少一个的信息来预测预测单元,或者在一些情况下,可以基于当前图片中的一些编码区域的信息来预测预测单元。帧间预测模块120可以包括参考图片插值模块、运动预测模块以及运动补偿模块。
参考图片插值模块可以从存储器155接收参考图片信息,并且可以根据参考图片来生成整像素或小于整像素的像素信息。在亮度像素的情况下,可以使用具有不同滤波器系数的基于DCT的8抽头插值滤波器以1/4像素为单位生成整像素或小于整像素的像素信息。在色度信号的情况下,可以使用具有不同滤波器系数的基于DCT的4抽头插值滤波器以1/8像素为单位生成整像素或小于整像素的像素信息。
运动预测模块可以基于由参考图片插值模块插值的参考图片来执行运动预测。作为用于计算运动矢量的方法,可以使用各种方法(例如,基于全搜索的块匹配算法(FBMA)、三步搜索(TSS)和新三步搜索算法(NTS)等)。基于插值像素,运动矢量可以具有以1/2像素或1/4像素为单位的运动矢量值。运动预测模块可以通过改变运动预测方法来预测当前预测单元。作为运动预测方法,可以使用各种方法(例如,跳过方法、合并方法、AMVP(高级运动矢量预测)方法、帧内块复制方法等)。
帧内预测模块125可以基于与作为当前图片中的像素信息的当前块相邻的参考像素信息来生成预测单元。在当前预测单元的相邻块是要进行帧间预测的块并且因此参考像素是要进行帧间预测的像素时,可以使用要进行帧内预测的相邻块的参考像素信息来代替包括在要进行帧间预测的块中的参考像素。也就是说,当参考像素不可用时,可以使用可用参考像素中的至少一个参考像素来取代不可用的参考像素信息。
帧内预测中的预测模式可以包括根据预测方向使用参考像素信息的方向预测模式和在执行预测时不使用方向信息的无方向性预测模式。用于预测亮度信息的模式可以与用于预测色度信息的模式不同,并且为了预测色度信息,可以利用用于预测亮度信息的帧内预测模式信息或者可以利用预测的亮度信号信息。
在执行帧内预测时,当预测单元的大小与变换单元的大小相同时,可以基于位于该预测单元的左侧、左上侧和上侧的像素对预测单元执行帧内预测。然而,在执行帧内预测时,当预测单元的大小与变换单元的大小不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,可以仅针对最小编码单元使用N×N划分的帧内预测。
在帧内预测方法中,可以在根据预测模式将AIS(自适应帧内平滑)滤波器应用于参考像素之后生成预测块。应用于参考像素的AIS滤波器的类型可以不同。为了执行帧内预测方法,可以根据与当前预测单元相邻的预测单元的帧内预测模式来预测当前预测单元的帧内预测模式。在通过使用根据相邻预测单元预测到的模式信息来预测当前预测单元的预测模式的过程中,当当前预测单元的帧内预测模式与相邻预测单元的帧内预测模式相同时,可以使用预定的标记信息来传送指示当前预测单元的预测模式与相邻预测单元的预测模式彼此相同的信息。当当前预测单元的预测模式与相邻预测单元的预测模式不同时,可以执行熵编码,以对当前块的预测模式信息进行编码。
此外,可以基于由预测模块120和125生成的预测单元来生成包括关于残差值的信息的残差块,残差值是要进行预测的预测单元与预测单元的原始块之间的差。可以将所生成的残差块输入到变换模块130。
变换模块130可以通过使用变换方法(例如,离散余弦变换(DCT)、离散正弦变换(DST)和KLT)来对包括关于原始块与由预测模块120和125生成的预测单元之间的残差值的信息的残差块进行变换。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定是应用DCT、DST还是KLT来对残差块进行变换。
量化模块135可以对由变换模块130变换到频域的值进行量化。量化系数可以根据图片的块或重要性而不同。可以将由量化模块135计算的值提供至逆量化模块140和重排模块160。
重排模块160可以对经量化的残差值的系数进行重排。
重排模块160可以通过系数扫描方法将二维块形式的系数变为一维矢量形式的系数。例如,重排模块160可以使用之字形扫描方法从DC系数扫描至高频域的系数,以便将系数变为一维矢量形式。根据变换单元的大小和帧内预测模式,可以使用沿列方向扫描二维块形式的系数的垂直方向扫描或沿行方向扫描二维块形式的系数的水平方向扫描来取代之字形扫描。也就是说,可以根据变换单元的大小和帧内预测模式来确定使用之字形扫描、垂直方向扫描和水平方向扫描中的哪种扫描方法。
熵编码模块165可以基于由重排模块160计算的值来执行熵编码。熵编码可以使用各种编码方法,例如,指数哥伦布(Golomb)编码、上下文自适应变长编码(CAVLC)和上下文自适应二进制算术编码(CABAC)。
熵编码模块165可以对来自重排模块160以及预测模块120和125的各种信息(例如,编码单元的残差值系数信息和块类型信息、预测模式信息、划分单元信息、预测单元信息、变换单元信息、运动矢量信息、参考帧信息、块插值信息、滤波信息等)进行编码。
熵编码模块165可以对从重排模块160输入的编码单元的系数进行熵编码。
逆量化模块140可以对由量化模块135量化的值进行逆量化,并且逆变换模块145可以对由变换模块130变换的值进行逆变换。可以将由逆量化模块140和逆变换模块145生成的残差值与由预测模块120和125的运动估计模块、运动补偿模块和帧内预测模块预测的预测单元进行组合,使得重构块可以被生成。
滤波器模块150可以包括去块滤波器、偏移校正单元以及自适应环路滤波器(ALF)中的至少一个。
去块滤波器可以去除由于重构图片中的块之间的边界而出现的块失真。为了确定是否执行去块,包括在块的若干行或若干列中的像素可以是确定是否对当前块应用去块滤波器的基础。当对块应用去块滤波器时,可以根据所需的去块滤波强度来应用强滤波器或弱滤波器。此外,在应用去块滤波器时,可以并行地处理水平方向滤波和垂直方向滤波。
偏移校正模块可以以像素为单位校正要进行去块的图片中的与原始图片的偏移。为了对特定图片执行偏移校正,可以使用考虑每个像素的边缘信息来施加偏移的方法,或者可以使用下述方法:将图片的像素划分为预定数目的区域、确定要执行偏移的区域以及对所确定的区域施加偏移。
可以基于通过将经滤波的重构图片与原始图片进行比较而获得的值来执行自适应环路滤波(ALF)。可以将包括在图片中的像素分成预定组,可以确定要应用于每个组的滤波器,并且可以针对每个组来单独地执行滤波。可以通过编码单元(CU)传送关于是否应用ALF的信息和亮度信号。用于ALF的滤波器的形状和滤波器系数可以根据每个块而不同。此外,无论应用目标块的特征如何,都可以应用相同形状(固定形状)的用于ALF的滤波器。
存储器155可以存储通过滤波器模块150计算的重构块或重构图片。可以在执行帧间预测时将所存储的重构块或重构图片提供至预测模块120和125。
图2是示出根据本发明的实施方式的用于对视频进行解码的设备的框图。
参照图2,用于对视频进行解码的设备200可以包括:熵解码模块210、重排模块215、逆量化模块220、逆变换模块225、预测模块230和235、滤波器模块240以及存储器245。
当从用于对视频进行编码的设备输入视频比特流时,可以根据用于对视频进行编码的设备的逆过程对输入比特流进行解码。
熵解码模块210可以根据由用于对视频进行编码的设备的熵编码模块进行的熵编码的逆过程来执行熵解码。例如,对应于由用于对视频进行编码的设备执行的方法,可以应用各种方法,例如,指数哥伦布编码、上下文自适应变长编码(CAVLC)和上下文自适应二进制算术编码(CABAC)。
熵解码模块210可以对关于由用于对视频进行编码的设备执行的帧内预测和帧间预测的信息进行解码。
重排模块215可以基于在用于对视频进行编码的设备中使用的重排方法对由熵解码模块210进行熵解码的比特流执行重排。重排模块可以将一维矢量形式的系数重构和重排为二维块形式的系数。重排模块215可以通过接收与在用于对视频进行编码的设备中执行的系数扫描相关的信息来执行重排,并且可以经由基于在用于对视频进行编码的设备中执行的扫描顺序对系数进行逆扫描的方法来执行重排。
逆量化模块220可以基于从用于对视频进行编码的设备接收的量化参数和经重排的块的系数来执行逆量化。
逆变换模块225可以对由用于对视频进行编码的设备执行的量化结果执行逆变换(即,逆DCT、逆DST和逆KLT),也就是说由变换模块执行的变换即DCT、DST和KLT的逆过程。可以基于由用于对视频进行编码的设备确定的变换单元来执行逆变换。用于对视频进行解码的设备的逆变换模块225可以根据多条信息(例如,预测方法、当前块的大小、预测方向等)来选择性地执行变换方案(例如,DCT、DST、KLT)。
预测模块230和235可以基于关于从熵解码模块210接收到的预测块生成的信息和从存储器245接收到的先前解码的块或图片信息来生成预测块。
如上所述,类似于用于对视频进行编码的设备的操作,在执行帧内预测时,当预测单元的大小与变换单元的大小相同时,可以基于位于预测单元的左侧、左上侧和上侧的像素对预测单元执行帧内预测。在执行帧内预测时,当预测单元的大小与变换单元的大小不同时,可以使用基于变换单元的参考像素来执行帧内预测。此外,可以仅针对最小编码单元使用N×N划分的帧内预测。
预测模块230和235可以包括预测单元确定模块、帧间预测模块以及帧内预测模块。预测单元确定模块可以从熵解码模块210接收各种信息(例如,预测单元信息、帧内预测方法的预测模式信息、关于帧间预测方法的运动预测的信息等),可以将当前编码单元分成预测单元,并且可以确定对预测单元执行帧间预测还是帧内预测。通过使用从用于对视频进行编码的设备接收的当前预测单元的帧间预测所需的信息,帧间预测模块230可以基于关于包括当前预测单元的当前图片的先前图片或后续图片中的至少一个的信息来对当前预测单元执行帧间预测。可替选地,可以基于关于包括当前预测单元的当前图片中的一些预先重构区域的信息来执行帧间预测。
为了执行帧间预测,可以针对编码单元来确定将跳过模式、合并模式、AMVP模式和帧间块复制模式中的哪一个用作为包括在编码单元中的预测单元的运动预测方法。
帧内预测模块235可以基于当前图片中的像素信息来生成预测块。当预测单元是要进行帧内预测的预测单元时,可以基于从用于对视频进行编码的设备接收到的预测单元的帧内预测模式信息来执行帧内预测。帧内预测模块235可以包括自适应帧内平滑(AIS)滤波器、参考像素插值模块以及DC滤波器。AIS滤波器对当前块的参考像素执行滤波,并且可以根据当前预测单元的预测模式来确定是否应用滤波器。可以通过使用从用于对视频进行编码的设备接收到的预测单元的预测模式和AIS滤波器信息来对当前块的参考像素执行AIS滤波。当当前块的预测模式是不执行AIS滤波的模式时,可以不应用AIS滤波器。
当预测单元的预测模式是基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式时,参考像素插值模块可以对参考像素进行插值,以生成整像素或小于整像素的参考像素。当当前预测单元的预测模式是在没有对参考像素进行插值的情况下生成预测块的预测模式时,可以不对参考像素进行插值。当当前块的预测模式是DC模式时,DC滤波器可以通过滤波来生成预测块。
可以将重构块或重构图片提供至滤波器模块240。滤波器模块240可以包括去块滤波器、偏移校正模块以及ALF。
可以从用于对视频进行编码的设备接收关于是否将去块滤波器应用于相应的块或图片的信息以及关于在当应用去块滤波器时应用强滤波器和弱滤波器中的哪个滤波器的信息。用于对视频进行解码的设备的去块滤波器可以从用于对视频进行编码的设备接收关于去块滤波器的信息,并且可以对相应的块执行去块滤波。
偏移校正模块可以基于在执行编码时应用于图片的偏移校正的类型和偏移值信息来对重构图片执行偏移校正。
可以基于从用于对视频进行编码的设备接收到的关于是否应用ALF的信息和ALF系数信息等来将AFL应用于编码单元。ALF信息可以被提供为被包括在特定参数集中。
存储器245可以存储重构图片或重构块以用作参考图片或参考块,并且可以将重构图片提供至输出模块。
如上所述,在本发明的实施方式中,为了便于说明,编码单元被用作表示编码单元的术语,然而,编码单元可以用作执行解码以及编码的单元。
图3是示出根据本发明的实施方式的基于树结构对编码块进行分级划分的示例的视图。
以预定的块单元对输入视频信号进行解码。用于对输入视频信号进行解码的这样的默认单元是编码块。编码块可以是执行帧内/帧间预测、变换以及量化的块。编码块可以是具有在8×8至64×64范围内的任意大小的正方形块或非正方形块,或者可以是具有128×128、256×256或更大的大小的正方形块或非正方形块。
具体地,可以基于四叉树和二叉树中的至少一个来对编码块进行分级划分。这里,基于四叉树的划分可以意指将2N×2N的编码块划分成四个N×N的编码块,并且基于二叉树的划分可以意指将一个编码块划分成两个编码块。基于二叉树的划分可以对称地执行或者非对称地执行。基于二叉树划分的编码块可以是正方形块或非正方形块(例如,长方形形状)。可以对不再执行基于四叉树的划分的编码块执行基于二叉树的划分。可以不再对基于二叉树划分的编码块执行基于四叉树的划分。
为了实现基于四叉树或二叉树的自适应划分,可以使用下述信息:指示基于四叉树划分的信息、关于允许基于四叉树的划分的编码块的大小/深度的信息、指示基于二叉树的划分的信息、关于允许基于二叉树的划分的编码块的大小/深度的信息、关于不允许基于二叉树的划分的编码块的大小/深度的信息、关于是沿垂直方向还是沿水平方向执行基于二叉树的划分的信息等。
如图3所示,可以基于四叉树将划分深度(拆分深度)为k的第一编码块300划分成多个第二编码块。例如,第二编码块310至340可以是具有第一编码块的一半宽度和一半高度的正方形块,并且第二编码块的划分深度可以增加至k+1。
具有k+1的划分深度的第二编码块310可以被划分为具有k+2的划分深度的多个第三编码块。第二编码块310的划分可以通过根据划分方法选择性地使用四叉树和二叉树中的一个来执行。这里,可以基于指示基于四叉树的划分的信息和指示基于二叉树的划分的信息中的至少一个来确定划分方法。
当基于四叉树对第二编码块310进行划分时,第二编码块310可以被划分成具有第二编码块的一半宽度和一半高度的四个第三编码块310a,并且第三编码块310a的划分深度可以增加至k+2。相比之下,当基于二叉树对第二编码块310进行划分时,第二编码块310可以被划分成两个第三编码块。这里,两个第三编码块中的每一个可以是具有第二编码块的一半宽度和一半高度中的一个的非正方形块,并且划分深度可以增加至k+2。可以根据划分方向将第二编码块确定为水平方向或垂直方向的非正方形块,并且可以基于关于是沿垂直方向还是沿水平方向执行基于二叉树的划分的信息来确定划分方向。
同时,第二编码块310可以被确定为不再基于四叉树或二叉树划分的叶编码块。在这种情况下,叶编码块可以被用作为预测块或变换块。
类似于第二编码块310的划分,第三编码块310a可以被确定为叶编码块,或者可以基于四叉树或二叉树被进一步划分。
同时,基于二叉树划分的第三编码块310b可以基于二叉树被进一步划分成垂直方向的编码块310b-2或水平方向的编码块310b-3,相关编码块的划分深度可以增加至k+3。可替选地,第三编码块310b可以被确定为不再基于二叉树划分的叶编码块310b-1。在这种情况下,编码块310b-1可以被用作为预测块或变换块。然而,可以基于以下信息中的至少一个来限制性地执行上述划分处理:关于允许基于四叉树的划分的编码块的大小/深度的信息、关于允许基于二叉树的划分的编码块的大小/深度的信息以及关于不允许基于二叉树的划分的编码块的大小/深度的信息。
图4是示出根据本发明的实施方式的用于对视频进行编码/解码的设备的预定义的帧内预测模式的类型的视图。
用于对视频进行编码/解码的设备可以使用预定义的帧内预测模式之一来执行帧内预测。用于帧内预测的预定义帧内预测模式可以包括无方向性预测模式(例如,平面模式、DC模式)和33个方向预测模式。
可替选地,为了提高帧内预测的准确性,可以使用多于33个方向预测模式的更大数目的方向预测模式。也就是说,可以通过对方向预测模式的角度进行细分来定义M个扩展的方向预测模式(M>33),并且可以使用33个预定义的方向预测模式中的至少一个来得到具有预定角度的方向预测模式。
图4示出了扩展的帧内预测模式的示例,并且扩展的帧内预测模式可以包括两个无方向性预测模式和65个扩展的方向预测模式。相同数目的扩展帧内预测模式可以用于亮度分量和色度分量,或者可以针对每个分量使用不同数目的帧内预测模式。例如,67个扩展的帧内预测模式可以用于亮度分量,并且35个帧内预测模式可以用于色度分量。
可替选地,根据色度格式,可以在执行帧内预测时使用不同数目的帧内预测模式。例如,在4:2:0格式的情况下,67个帧内预测模式可以用于亮度分量以执行帧内预测,并且35个帧内预测模式可以用于色度分量。在4:4:4格式情况下,67个帧内预测模式可以用于亮度分量和色度分量二者以执行帧内预测。
可替选地,根据块的大小和/或形状,可以使用不同数目的帧内预测模式来执行帧内预测。也就是说,根据PU或CU的大小和/或形状,可以使用35个帧内预测模式或67个帧内预测模式来执行帧内预测。例如,当CU或PU具有小于64×64的大小或者被非对称地划分时,可以使用35个帧内预测模式来执行帧内预测。当CU或PU的大小等于或大于64×64时,可以使用67个帧内预测模式来执行帧内预测。对于Intra_2N×2N,可以允许65个方向帧内预测模式,并且对于Intra_N×N,可以仅允许35个方向帧内预测模式。
图5是简要示出根据本发明的实施方式的帧内预测方法的流程图。
参照图5,可以在步骤S500处确定当前块的帧内预测模式。
具体地,可以基于候选者列表和索引来得到当前块的帧内预测模式。这里,候选者列表包括多个候选者,并且可以基于与当前块邻近的相邻块的帧内预测模式来确定多个候选者。相邻块可以包括位于当前块的上侧、下侧、左侧、右侧以及角上的块中的至少一个。索引可以指定候选者列表的多个候选者中的一个候选者。由索引指定的候选者可以被设置成当前块的帧内预测模式。
可以将用于相邻块中的帧内预测的帧内预测模式设置为候选者。此外,可以将具有与相邻块的帧内预测模式的方向性相似的方向性的帧内预测模式设置为候选者。这里,可以通过将使相邻块的帧内预测模式加上预定的恒定值或者从相邻块的帧内预测模式减去预定恒定值来确定具有相似的方向性的帧内预测模式。预定的恒定值可以是整数(例如,一、二或更大)。
候选者列表还可以包括默认模式。默认模式可以包括平面模式、DC模式、垂直模式、水平模式中的至少一个。在考虑可以包括在当前块的候选者列表中的候选者的最大数目的情况下,可以自适应地添加默认模式。
可以包括在候选者列表中的候选者的最大数目可以是三、四、五、六或更大。可以包括在候选者列表中的候选者的最大数目可以是在用于对视频进行编码/解码的设备中预设的固定值,或者可以基于当前块的特性而可变地确定。特性可以意指块的位置/大小/形状、块可以使用的帧内预测模式的数目/类型等。可替选地,可以单独地用信号传送指示可以包括在候选者列表中的候选者的最大数目的信息,并且可以使用该信息来可变地确定可以包括在候选者列表中的候选者的最大数目。可以以序列级别、图片级别、片级别和块级别中的至少一个来用信号传送指示候选者的最大数目的信息。
当选择性地使用扩展的帧内预测模式和35个预定义的帧内预测模式时,可以将相邻块的帧内预测模式变换成与扩展的帧内预测模式相对应的索引,或者变换成与35个帧内预测模式相对应的索引,由此可以得到候选者。为了变换成索引,可以使用预定义的表格,或者可以使用基于预定值的缩放操作。这里,预定义的表格可以定义不同的帧内预测模式组(例如,扩展的帧内预测模式和35个帧内预测模式)之间的映射关系。
例如,当左侧相邻块使用35个帧内预测模式并且左侧相邻块的帧内预测模式是10(水平模式)时,该帧内预测模式可以被变换成与扩展的帧内预测模式中的水平模式相对应的索引16。
可替选地,当上侧相邻块使用扩展的帧内预测模式并且上侧相邻块的帧内预测模式具有索引50(垂直模式)时,该帧内预测模式可以被变换成与35个帧内预测模式中的垂直模式相对应的索引26。
基于上述确定帧内预测模式的方法,可以针对亮度分量和色度分量中的每一个来独立地得到帧内预测模式,或者可以根据亮度分量的帧内预测模式来得到色度分量的帧内预测模式。
具体地,如下表1所示,可以基于亮度分量的帧内预测模式来确定色度分量的帧内预测模式。
[表1]
在表1中,intra_chroma_pred_mode意指被用信号传送以指定色度分量的帧内预测模式的信息,并且IntraPredModeY指示亮度分量的帧内预测模式。
参照图5,在步骤S510处,可以得到用于当前块的帧内预测的参考样本。
具体地,可以基于当前块的相邻样本来得到用于帧内预测的参考样本。相邻样本可以是相邻块的重构样本,并且重构样本可以是在应用环路滤波器之前的重构样本或者在应用环路滤波器之后的重构样本。
在当前块之前重构的相邻样本可以用作参考样本,并且基于预定的帧内滤波器滤波的相邻样本可以用作参考样本。帧内滤波器可以包括应用于位于同一水平线上的多个相邻样本的第一帧内滤波器和应用于位于同一垂直线上的多个相邻样本的第二帧内滤波器中的至少一个。根据相邻样本的位置,可以选择性地应用第一帧内滤波器和第二帧内滤波器中的一个,或者可以两个帧内滤波器都应用。
可以基于当前块的帧内预测模式和当前块的变换块的大小中的至少一个来自适应地执行滤波。例如,当当前块的帧内预测模式是DC模式、垂直模式或水平模式时,可以不执行滤波。当变换块的大小是N×M时,可以不执行滤波。这里,N和M可以是相同的值或不同的值,或者可以是4、8、16或更大的值。可替选地,可以基于将预定义的阈值同当前块的帧内预测模式与垂直模式(或水平模式)之间的差进行比较的结果来选择性地执行滤波。例如,当当前块的帧内预测模式与垂直模式之间的差大于阈值时,可以执行滤波。如表2所示,可以针对变换块的每个大小来定义阈值。
[表2]
8×8变换 | 16×16变换 | 32×32变换 | |
阈值 | 7 | 1 | 0 |
帧内滤波器可以被确定为在用于对视频进行编码/解码的设备中预定义的多个帧内滤波器候选者中的一个。为此,可以用信号传送指定多个帧内滤波器候选者中的当前块的帧内滤波器的索引。可替选地,可以基于以下中的至少一个来确定帧内滤波器:当前块的大小/形状、变换块的大小/形状、关于滤波器强度的信息以及相邻样本的变化。
参照图5,在步骤520处,可以使用当前块的帧内预测模式和参考样本来执行帧内预测。
也就是说,可以使用在步骤S500处确定的帧内预测模式和在步骤S510处得到的参考样本来获得当前块的预测样本。然而,在帧内预测的情况下,可以使用相邻块的边界样本,并且因此可能降低预测图片的质量。因此,可以对通过上述预测处理生成的预测样本执行校正处理,并且将参照图6至图15来详细描述校正处理。然而,校正处理不限于仅应用于帧内预测样本,并且校正处理可以应用于帧间预测样本或重构样本。
图6是示出根据本发明的实施方式的基于相邻样本的差分信息来校正当前块的预测样本的方法的视图。
可以基于当前块的多个相邻样本的差分信息来校正当前块的预测样本。可以对当前块中的所有预测样本执行校正,或者可以对一些预定区域中的预定样本执行校正。一些区域可以是一行/列或多行/列,或者可以是用于在用于对视频进行编码/解码的设备中校正的预设区域,或者可以基于当前块的大小/形状和帧内预测模式中的至少一个来可变地确定。
相邻样本可以属于位于当前块的上侧、左侧、左上角的相邻块。用于校正的相邻样本的数目可以是二、三、四或更大。可以根据作为当前块中的校正目标的预测样本的位置来可变地确定相邻样本的位置。可替选地,无论作为校正目标的预测样本的位置如何,相邻样本中的一些样本可以具有固定的位置,并且根据作为校正目标的预测样本的位置,其余相邻样本可以具有可变的位置。
相邻样本的差分信息可以意指相邻样本之间的差分样本,或者可以意指通过将差分样本缩放预定的恒定值(例如,一、二、三等)而获得的值。这里,可以在考虑作为校正目标的预测样本的位置、包括作为校正目标的预测样本的行或列的位置、预测样本在行或列内的位置等的情况下来确定预定的恒定值。
例如,当当前块的帧内预测模式是垂直模式时,如公式1所示,可以使用左上侧相邻样本p(-1,-1)和与当前块的左边界相邻的相邻样本p(-1,y)之间的差分样本来获得最终预测样本。(y=0…N-1)
[公式1]
P′(0,y)=P(0,y)+((p(-1,y)-p(-1,-1))>>1
例如,当当前块的帧内预测模式是水平模式时,如公式2所示,可以使用左上侧相邻样本p(-1,-1)和与当前块的上边界邻近的相邻样本p(x,-1)之间的差分样本来获得最终预测样本。(x=0…N-1)
[公式2]
P′(x,0)=p(x,0)+((p(x,-1)-p(-1,-1))>>1
例如,当当前块的帧内预测模式是垂直模式时,可以使用左上侧相邻样本p(-1,-1)和与当前块的左边界邻近的相邻样本p(-1,y)之间的差分样本来获得最终预测样本。这里,可以将差分样本添加至预测样本,或者可以将差分样本缩放预定的恒定值,然后添加至预测样本。可以根据行和/或列来不同地确定在缩放时使用的预定的恒定值。例如,可以如公式3和公式4所示地校正预测样本。(y=0…N-1)
[公式3]
P′(0,y)=P(0,y)+((p(-1,y)-p(-1,-1))>>1
[公式4]
P′(1,y)=P(1,y)+((p(-1,y)-p(-1,-1))>>1
例如,当当前块的帧内预测模式是水平模式时,可以使用左上侧相邻样本p(-1,-1)和与当前块的上边界邻近的相邻样本p(x,-1)之间的差分样本来如在垂直模式的情况下描述地获得最终预测样本。例如,可以如公式5和公式6所示地校正预测样本。(x=0…N-1)
[公式5]
P′(x,0)=p(x,0)+((p(x,-1)-p(-1,-1))>>1
[公式6]
P′(x,1)=p(x,1)+((p(x,-1)-p(-1,-1))>>2
图7和图8是示出根据本发明的实施方式的基于预定的校正滤波器对预测样本进行校正的方法的视图。
可以基于作为校正目标的预测样本的相邻样本和预定的校正滤波器来对预测样本进行校正。这里,相邻样本可以通过当前块的方向预测模式的角度线来指定,或者相邻样本可以是与作为校正目标的预测样本位于同一角度线上的至少一个样本。此外,相邻样本可以是当前块中的预测样本,或者可以是在当前块之前重构的相邻块中的重构样本。
可以基于以下中的至少一个来确定校正滤波器的抽头数目、强度和滤波器系数中的至少一个:作为校正目标的预测样本的位置、作为校正目标的预测样本是否位于当前块的边界、当前块的帧内预测模式、方向预测模式的角度、相邻块的预测模式(帧间模式或帧内模式)以及当前块的大小/形状。
参照图7,当方向预测模式具有索引2或34时,可以使用位于作为校正目标的预测样本的左下侧的至少一个预测/重构样本和预定的校正滤波器来获得最终预测样本。这里,左下侧的预测/重构样本可以属于包括作为校正目标的预测样本的行的前一行。左下侧处的预测/重构样本可以属于与当前样本相同的块,或者属于与当前块相邻的相邻块。
可以仅对位于块边界的行执行对于预测样本的滤波,或者可以对多个行执行对于预测样本的滤波。可以使用滤波器抽头数目和滤波器系数中的至少一个针对每行不同的校正滤波器。例如,(1/2,1/2)滤波器可以用于最接近块边界的左侧第一行,(12/16,4/16)滤波器可以用于第二行,(14/16,2/16)滤波器可以用于第三行,(15/16,1/16)滤波器可以用于第四行。
可替选地,当方向预测模式具有3至6或30至33的索引时,可以如图8所示对块边界执行滤波,并且可以使用3抽头校正滤波器来校正预测样本。可以使用作为校正目标的预测样本的左下侧样本、左下侧样本的下侧样本、以及将作为校正目标的预测样本作为输入的3抽头校正滤波器来执行滤波。可以基于方向预测模式来不同地确定由校正滤波器使用的相邻样本的位置。可以根据方向预测模式来不同地确定校正滤波器的滤波器系数。
根据是以帧间模式还是帧内模式对相邻块进行编码,可以应用不同的校正滤波器。当以帧内模式对相邻块进行编码时,与当以帧间模式对相邻块进行编码时相比,可以使用对预测样本给予更多权重的滤波方法。例如,在帧内预测模式是34的情况下,当以帧间模式对相邻块进行编码时,可以使用(1/2,1/2)滤波器,并且当以帧内模式对相邻块进行编码时,可以使用(4/16,12/16)滤波器。
当前块中要滤波的行的数目可以根据当前块(例如,编码块或预测块)的大小/形状而不同。例如,当当前块的大小等于或小于32×32时,可以仅对块边界处的一行执行滤波;否则,可以对包括块边界处的一行的多个行执行滤波。
图7和图8基于其中图4中的35个帧内预测模式被使用的情况,但是还可以等同地/类似地应用于使用扩展的帧内预测模式的情况。
图9是示出根据本发明的实施方式的使用权重和偏移对预测样本进行校正的方法的视图。
由于先前帧与当前帧之间的亮度发生变化,因此即使当前块与先前帧的并列(collocated)块相似,也可能存在不以帧内预测或帧间预测进行编码的情况,或者可能存在以帧内预测或帧间预测编码的预测图片的质量可能相对较低的情况。在这种情况下,可以将用于亮度补偿的权重和偏移应用于预测样本,使得预测图片的质量可以提高。
参照图9,在步骤S900处,可以确定权重w和偏移f中的至少一个。
可以以序列参数集、图片参数集和片头(slice header)中的至少一个来用信号传送权重w和偏移f中的至少一个。可替选地,可以以共享相同权重w和偏移f的预定块单元来用信号传送权重w和偏移f中的至少一个,并且属于预定块单元的多个块(例如,CU、PU和TU)可以共享一个用信号传送的权重w和/或偏移f。
可以用信号传送权重w和偏移f中的至少一个,而无论当前块的预测模式如何,或者可以考虑预测模式来选择性地用信号传送权重w和偏移f中的至少一个。例如,当当前块的预测模式是帧间模式时,可以用信号传送权重w和/或偏移f;否则,权重w和/或偏移f可以不被用信号传送。这里,帧间模式可以包括跳过模式、合并模式、AMVP模式和当前图片参考模式中的至少一个。当前图片参考模式可以意指使用包括当前块的当前图片中的预重构区域的预测模式。可以使用用于当前图片参考模式的运动矢量来指定预重构区域。可以用信号传送指示是否以当前图片参考模式对当前块进行编码的标记或索引,或者可以通过当前块的参考图片索引来得到标记或索引。用于当前图片参考模式的当前图片可以存在于当前块的参考图片列表中的固定位置(例如,refIdx=0的位置或最后位置)处。可替选地,当前图片在参考图片列表中可以位于不同的位置,并且为此,可以用信号传送指示当前图片的位置的单独的参考图片索引。
可以使用与当前块相邻的特定形状的第一模板和与先前块相邻的与特定形状对应的第二模板之间的亮度变化来得到权重。第二模板可能包括不可用的样本。在这种情况下,可以将可用样本复制到不可用样本的位置,或者可以使用通过在多个可用样本之间进行插值得到的可用样本。这里,可用样本可以被包括在第二模板或相邻块中。可以基于模板的大小和/或形状来可变地确定用于插值的滤波器的系数、形状和抽头数目中的至少一个。将参照图10至图15来详细地描述组成模板的方法。
例如,当当前块的相邻样本由yi(i的范围为从0到N-1)指定并且并列块的相邻样本由xi(i的范围为从0到N-1)指定时,可以如下地得到权重w和偏移f。
使用与当前块相邻的特定形状的模板,可以通过获得公式7中的E(w,f)的最小值来得到权重w和偏移f。
[公式7]
E(w,f)=∑i(pi-(wpi-f))2+λ(w-1)2
用于获得最小值的公式7可以改变为公式8。
[公式8]
可以根据公式8获得用于得到权重w的公式9和用于得到偏移f的公式10。
[公式9]
[公式10]
f=∑iyi-a*∑ixi
参照图9,可以使用在步骤S900处确定的权重和偏移中的至少一个来校正预测样本。
例如,当全部帧都发生亮度变化时,将权重w和偏移f应用于通过帧内预测生成的预测样本p,使得可以如公式11所示地获得经校正的预测样本p'。
[公式11]
p′=w×p+f
这里,权重w和偏移f可以应用于通过帧间预测生成的预测样本,或者可以应用于重构样本。
图10至图15是示出根据本发明的实施方式的组成模板以确定权重w的方法的视图。
参照图10的左侧,模板可以由与当前块相邻的所有相邻样本组成,或者模板可以由从与当前块相邻的相邻样本二次采样(subsample)的一些样本组成。图10的中部示出了1/2二次采样的示例,并且模板可以仅由灰色的样本组成。取代1/2二次采样,可以使用1/4二次采样或1/8二次采样来组成模板。如图10的右侧所示,除了位于左上侧的样本之外,模板可以由与当前块相邻的所有相邻样本组成。在图10中未示出的是,考虑到当前块在图片或编码树块(最大编码单元)中的位置,可以使用仅由位于左侧的样本组成的模板或者仅由位于上侧的样本组成的模板。
参照图11,可以通过增加相邻样本的数目来组成模板。也就是说,图11中的模板可以由与当前块的边界相邻的第一相邻样本和与第一相邻样本相邻的第二相邻样本组成。
如图11的左侧所示,模板可以由属于与当前块的边界邻近的两行的所有相邻样本组成,或者如图11的中部所示,模板可以通过对左侧的模板进行二次采样来组成。如图11的右侧所示,可以排除属于左上侧的四个样本来组成模板。在图11中未示出的是,考虑当前块在图片或编码树块(最大编码单元)中的位置,可以使用由仅位于左侧的样本组成的模板或者仅由位于上侧的样本组成的模板。
可替选地,可以根据当前块的大小和/或形状(当前块是否具有正方形形状,当前块是否被对称划分)来组成不同的模板。例如,如图12所示,可以根据当前块的大小来不同地应用模板的二次采样速率。例如,如图12的左侧所示,当块的大小等于或小于64×64时,可以组成经1/2二次采样的模板。如图12的右侧所示,当块的大小等于或大于128×128时,可以组成经1/4二次采样的模板。
参照图13,可以通过根据当前块的大小增加与当前块邻近的相邻样本的数目来组成模板。
可以确定可以在序列或片中使用的多个模板候选者,并且可以选择性地使用多个模板候选者中的一个。多个模板候选者可以包括彼此具有不同形状和/或大小的模板。可以以序列头或片头来用信号传送关于模板的形状和/或大小的信息。在用于对视频进行编码/解码的设备中,可以将索引分配给每个模板候选者。为了识别多个模板候选者中的要在当前序列、图片或片中使用的模板候选者,可以对句法type_weight_pred_template_idx进行编码。用于对视频进行解码的设备可以基于句法type_weight_pred_template_idx来选择性地使用该模板候选者。
例如,如图14所示,图10中部的模板可以被分配0,图10右侧的模板可以被分配1,图11中部的模板可以被分配2,以及图11右侧的模板可以被分配3。可以用信号传送序列中使用的模板。
当使用非正方形块执行加权预测时,可以通过对长边和短边应用不同的二次采样速率来组成模板,使得模板的总数为2^N。例如,如图15所示,可以通过对短边执行1/2二次采样且对长边执行1/4二次采样来组成模板。
当基于方向帧内预测模式对当前块执行帧内预测时,由于所使用的参考样本的范围有限(例如,仅使用与当前块相邻的相邻样本来执行帧内预测),因此所生成的预测样本可能不能反映原始图片的特征。例如,当当前块中存在边缘时,或者当在当前块的边界周围出现新的对象时,根据预测样本在当前块中的位置,预测样本与原始图片之间的差异可能较大。
在这种情况下,残差值相对较大,并且因此要进行编码/解码的比特数可能增加。特别地,在距当前块的边界相对较远的区域中的残差值可能包括大量的高频分量,这可能导致编码/解码效率下降。
为了解决上述问题,可以使用在子块单元中生成或更新预测样本的方法。据此,可以提高距块边界相对较远的区域中的预测准确度。
为了便于说明,在以下实施方式中,基于方向帧内预测模式生成的预测样本被称作第一预测样本。此外,基于无方向性帧内预测模式生成的预测样本或通过执行帧间预测生成的预测样本也可以被包括在第一预测样本的类别中。
将参照图16详细地描述基于偏移来校正预测样本的方法。
图16是示出根据本发明的实施方式的基于偏移来校正预测样本的方法的视图。
参照图16,对于当前块,可以在步骤S1600处确定是否使用偏移来更新第一预测样本。可以通过从比特流解码的标记来确定是否使用偏移来更新第一预测样本。例如,可以通过比特流来用信号传送指示是否使用偏移来更新第一预测样本的句法‘is_sub_block_refinement_flag’。当is_sub_block_refinement_flag的值是1时,可以在当前块中使用利用偏移来更新第一预测样本的方法。当is_sub_block_refinement_flag的值是零时,在当前块中可以不使用利用偏移来更新第一预测样本的方法。然而,步骤S1600旨在选择性地执行对第一预测样本的更新,并且不是用于实现本发明的目的的必要配置,因此在一些情况下可以省略步骤S1600。
当确定使用利用偏移来更新第一预测样本的方法时,可以在步骤S1610处确定当前块的帧内预测方式。通过帧内预测方式,可以确定当前块的施加偏移的全部或一些区域、当前块的划分形状、是否向包括在当前块中的子块施加偏移、分配给每个子块的偏移的大小/符号等。
可以将在用于对视频进行编码/解码的设备中预定义的多个方式中的一个选择性地用作当前块的帧内预测方式,并且为此,可以从比特流用信号传送指定当前块的帧内预测方式的索引。作为另一示例,可以基于以下来确定当前块的帧内预测方式:当前块的预测单元或编码单元的划分模式、块的大小/形状、是否是方向帧内预测模式、方向帧内预测模式的角度等。
可以通过从比特流用信号传送的预定的标记信息来确定是否用信号传送指示当前块的帧内预测方式的索引。例如,当标记信息指示从比特流用信号传送了指示当前块的帧内预测方式的索引时,可以基于从比特流解码的索引来确定当前块的帧内预测方式。这里,标记信息可以以图片级别、片级别和块级别中的至少一个来用信号传送。
当标记信息指示没有从比特流用信号传送指示当前块的帧内预测方式的索引时,可以基于当前块的预测单元或编码单元的划分模式等来确定当前块的帧内预测方式。例如,当前块被划分成子块的方式可以与编码块被划分成预测单元的方式相同。
当确定了当前块的帧内预测方式时,可以在步骤S1620处获得子块单元中的偏移。可以以片、编码单元或预测单元为单位用信号传送偏移。作为另一示例,可以根据当前块的相邻样本来得到偏移。偏移可以包括偏移值信息和偏移符号信息中的至少一个。这里,偏移值信息可以在等于或大于零的整数范围内。
当确定了偏移时,可以在步骤S1630处针对每个子块获得第二预测样本。可以通过向第一预测样本施加偏移来获得第二预测样本。例如,可以通过给第一预测样本加上偏移或从第一预测样本减去偏移来获得第二预测样本。
图17至图21是示出根据本发明的实施方式的当前块的帧内预测方式的示例的视图。
例如,在图17所示的示例中,当索引为“0”或“1”时,当前块可以被划分成上子块和下子块。可以不对上子块设置偏移,并且可以对下子块设置偏移“f”。因此,第一预测样本(P(i,j))可以完整地用于上子块中,并且通过给第一预测样本加上偏移或从第一预测样本减去偏移而生成的第二预测样本(P(i,j)+f或P(i,j)-f)可以用于下子块中。在本发明中,“不设置”可以意指偏移未被分配至块,或者意指可以将具有值“0”的偏移分配至块。
当索引为“2”或“3”时,当前块被划分成左子块和右子块。可以不对左子块设置偏移,并且可以对右子块设置偏移“f”。因此,第一预测样本(P(i,j))可以完整地用于左子块中,并且通过给第一预测样本加上偏移或从第一预测样本减去偏移而生成的第二预测样本(P(i,j)+f或P(i,j)-f)可以用于右子块中。
可以基于当前块的帧内预测模式来限制可用帧内预测方式的范围。例如,在当前块的帧内预测模式是垂直方向帧内预测模式或沿与垂直方向帧内预测模式类似的方向的预测模式时(例如,在33个方向预测模式中,当帧内预测模式具有索引22至30时),可以仅将沿水平方向划分当前块的帧内预测方式(例如,图17中的索引0或1)应用于当前块。
作为另一示例,在当前块的帧内预测模式是水平方向帧内预测模式或沿与水平方向帧内预测模式类似的方向的预测模式时(例如,在33个方向预测模式中,当帧内预测模式具有索引6至14时),可以仅将沿垂直方向划分当前块的帧内预测方式(例如,图17中的索引2或索引3)应用于当前块。
在图17中,不对包括在当前块中的其中一个子块设置偏移,并且对另一个子块设置偏移。可以基于针对每个子块用信号传送的信息来确定是否对子块设置偏移。
可以基于子块的位置、用于标识在当前块中的子块的索引等来确定是否对子块设置偏移。例如,基于当前块的预定边界,可以不对与预定边界相邻的子块设置偏移,并且可以对与预定边界不相邻的子块设置偏移。
当假设预定边界是当前块的上边界时,在与索引“0”或“1”对应的帧内预测方式下,可以不对与当前块的上边界相邻的子块设置偏移,并且可以对与当前块的上边界不相邻的子块设置偏移。
当假设预定边界是当前块的左边界时,在与索引“2”或“3”对应的帧内预测方式下,可以不对与当前块的左边界相邻的子块设置偏移,并且可以对与当前块的左边界不相邻的子块设置偏移。
在图17中,假设不对包括在当前块中的其中一个子块设置偏移,并且对另一个子块设置偏移。作为另一示例,可以对包括在当前块中的子块设置不同的偏移值。
将参照图18来描述针对每个子块设置不同偏移的示例。
参照图18,当索引为“0”或“1”时,可以对当前块的上子块设置偏移“h”,并且可以对当前块的下子块设置偏移“f”。因此,可以在上子块中生成通过给第一预测样本加上偏移“h”或从第一预测样本减去偏移“h”获得的第二预测样本(P(i,j)+h或P(i,j)-h),并且可以在下子块中生成给第一预测样本加上偏移“f”或从第一预测样本减去偏移“f”获得的第二预测样本(P(i,j)+f或P(i,j)-f)。
参照图18,当索引为“2”或“3”时,可以对当前块的左子块设置偏移“h”,并且可以对当前块的右子块设置偏移“f”。因此,可以在左子块中生成通过给第一预测样本加上偏移“h”或从第一预测样本减去偏移“h”获得的第二预测样本(P(i,j)+h或P(i,j)-h),并且可以在右子块中生成通过给第一预测样本加上偏移“f”或从第一预测样本减去偏移“f”获得的第二预测样本(P(i,j)+f或P(i,j)-f)。
在图17和图18中,当前块被划分成具有相同大小的两个子块,但是包括在当前块中的子块的数目和/或子块的大小不限于图17和图18所示的示例。包括在当前块中的子块的数目可以是三个或多于三个,并且子块的大小可以不同。
当多个帧内预测方式可用时,可用帧内预测方式可以被分组成多个类别。在这种情况下,可以基于用于标识类别的第一索引和标识该类别中的帧内预测方式的第二索引来选择当前块的帧内预测方式。
将参照图19来描述基于第一索引和第二索引来确定当前块的帧内预测方式的示例。
在图19示出的示例中,可以将12种帧内预测方式分成三个类别,每个类别包括四种帧内预测方式。例如,与索引0至3对应的帧内预测方式可以被归类为类别0,与索引4至7对应的帧内预测方式可以被归类为类别1,与索引8至11对应的帧内预测方式可以被归类为类别2。
用于对视频进行解码的设备可以从比特流解码第一索引,以指定包括至少一个帧内预测方式的类别。在图19所示的示例中,第一索引可以指定类别0、1和2中的一个。
当基于第一索引指定了类别时,可以基于从比特流解码的第二索引来确定当前块的帧内预测方式。当第一索引指定类别1时,第二索引可以指定类别1的四个帧内预测方式(即索引4至索引7)中的一个。
在图19中,类别包括相同数目的帧内预测方式,但是类别并非一定包括相同数目的帧内预测方式。
可以以序列或片为单位来确定可用帧内预测方式的数目或类别的数目。此外,可以通过序列头或片头来用信号传送可用帧内预测方式的数目和类别的数目中的至少一个。
作为另一示例,可以基于当前块的预测单元或编码单元的大小来确定可用帧内预测方式的数目和/或类别的数目。例如,当当前块(例如,当前块的编码单元)的大小等于或大于64×64时,可以从图20所示的五种帧内预测方式中选择当前块的帧内预测方式。相反,当当前块(例如,当前块的编码块)的大小小于64×64时,可以从图17、图18或图19所示的帧内预测方式中选择当前块的帧内预测方式。
在图17至图20中,包括在每种帧内预测方式中的子块是长方形形状。作为另一示例,可以使用子块的大小和形状中的至少一个彼此不同的帧内预测方式。例如,图22是示出具有不同大小和形状的子块的帧内预测方式的示例的视图。
每个子块的偏移(例如,图17至图21中示出的每个子块的偏移h、f、g或i)可以从比特流解码,或者可以从与当前块相邻的相邻样本得到。
作为另一示例,可以考虑距当前块中的特定位置处的样本的距离来确定子块的偏移。例如,可以与表示当前块中的预定位置处的样本与子块中的预定位置处的样本之间的距离的值成比例地确定偏移。
作为另一示例,可以通过使预设值加上下述值或从预设值减去下述值来确定子块的偏移,该值基于当前块中的预定位置处的样本与子块中的预定位置处的样本之间的距离来确定。
作为另一示例,可以基于表示当前块的大小的值与表示当前块中的预定位置处的样本与子块中的预定位置处的样本之间的距离的值的比率来确定偏移。
这里,当前块中的预定位置处的样本可以包括与当前块的左边界相邻的样本、位于当前块的上边界处的样本、与当前块的左上角相邻的样本等。
图22是示出根据本发明的实施方式的使用帧内块复制技术来执行预测的方法的视图。
帧内块复制(IBC)是使用已在与当前块相同的图片中重构的块(在下文中被称作“参考块”)来预测/重构当前块的方法。当图片包含大量文字(例如,韩文字母、字母等)并且在重构当前块时包含的文字被包含在已经解码的块中时,帧内块复制可以提高编码/解码性能。
帧内块复制方法可以被归类为帧内预测方法或帧间预测方法。当帧内块复制方法被归类为帧内预测方法时,可以定义用于帧内块复制方法的帧内预测模式。当帧内块复制方法被归类为帧间预测方法时,比特流可以包括指示是否对当前块应用帧内块复制方法的标记。可替选地,可以通过当前块的参考图片索引来确认当前块是否使用帧内块复制。也就是说,当当前块的参考图片索引指示当前图片时,可以使用帧内块复制对当前块执行帧间预测。为此,可以将预先重构的当前图片添加至当前块的参考图片列表。当前图片可以存在于参考图片列表中的固定位置(例如,参考图片索引为0的位置或最后的位置)处。可替选地,当前图片可以可变地存在于参考图片列表中,并且为此,可以用信号传送指示当前图片的位置的单独的参考图片索引。
为了指定当前块的参考块,可以将当前块与参考块之间的位置差定义为运动矢量(在下文中被称作块矢量)。
可以通过预测块矢量与差分块矢量的和来得到块矢量。用于对视频进行编码的设备可以通过预测编码来生成预测块矢量,并且可以对指示块矢量与预测块矢量之间的差的差分块矢量进行编码。在这种情况下,用于对视频进行解码的设备可以通过使用利用预先解码信息得到的预测块矢量和从比特流解码的差分块矢量来得到当前块的块矢量。
这里,可以基于以下各项来得到预测块矢量:与当前块相邻的相邻块的块矢量、当前块的LCU中的块矢量、当前块的LCU行/列中的块矢量等。
用于对视频进行编码的设备可以在不执行对块矢量的预测编码的情况下对块矢量进行编码。在这种情况下,用于对视频进行解码的设备可以通过对通过比特流用信号传送的块矢量信息进行解码来获得块矢量。可以对通过帧内块复制方法生成的预测/重构样本执行校正处理。在这种情况下,可以同样地/类似地应用参照图6至图21描述的校正方法,并且因此将省略其详细描述。
用于对视频进行编码的设备可以通过对符号(例如,变换系数、运动矢量差、片中的句法等)执行二进制化并且对二进制值执行算术编码来生成比特流。这里,为了压缩符号,可以考虑以下各项来确定上下文:相邻块的相同符号的值、关于相邻块的信息、当前块的位置等。当基于所选择的上下文确定了概率索引时,可以基于所确定的概率索引来确定符号的出现概率。接下来,可以通过以下各项来提高符号的压缩性能:内部符号的累积统计数据、基于编码的符号的值重新计算的出现概率以及算术编码。作为算术编码方法的示例,可以使用CABAC。
将参照图23来详细描述在用于对视频进行编码的设备中对符号进行编码的示例。省略了在用于对视频进行解码的设备中对符号进行解码的详细描述,但是可以由用于对视频进行解码的设备通过以下实施方式的逆过程来执行对符号的解码。
图23是示出对符号进行编程的处理的流程图。
在步骤S2300处,用于对视频进行编码的设备可以对符号进行二进制化。当编码目标符号不是二进制符号时,用于对视频进行编码的设备可以将该符号转换成二进制符号。例如,用于对视频进行编码的设备可以将非二进制符号(例如,变换系数、运动矢量差)等二进制化为由值0和1组成的二进制符号。当符号被二进制化时,在映射的码字中,具有“0”或“1”的比特可以被称作二进制位(bin)。
可以通过一元二进制化、截断一元二进制化等来执行符号二进制化。
表3示出了一元二进制化方法,并且表4示出了当最大比特长度(cMax)为6时的截断一元二进制化方法。
[表3]
符号 | 二进制化 |
0 | 0 |
1 | 10 |
2 | 110 |
3 | 1110 |
… | ... |
[表4]
符号 | 二进制化 |
0 | 0 |
1 | 10 |
2 | 110 |
3 | 1110 |
4 | 11110 |
5 | 111110 |
6 | 111111 |
当符号二进制化完成时,在步骤S2310处选择上下文模型。上下文模型表示每个符号的概率模型。对于每个上下文模型,二进制位(bin)中的0或1的出现概率可能不同。在以下实施方式中,符号的出现概率可以指示二进制位中的0或1的出现概率。在HEVC中,存在用于各种符号的大约400个独立的上下文。
当开始对片进行编码时,可以基于量化参数(Qp)和片类型(I、P或B)中的至少一个来初始化每个上下文的概率索引(pStateIdx)。
在使用区块的情况下,当开始对区块进行编码时,可以基于量化参数(Qp)和片类型(I、P或B)中的至少一个来初始化每个上下文的概率索引。
接下来,基于所选择的上下文模型,可以在步骤S2320处执行针对每个符号的算术编码。可以针对每个上下文模型来执行对符号的算术编码。因此,即使符号相同,当使用不同的上下文时,也不会影响概率更新和比特流编码。当符号的出现概率被确定时,可以根据符号的出现概率和每个符号的值来执行编码。这里,可以根据每个符号的值来不同地确定编码比特的数目。也就是说,当每个符号的值具有高出现概率时,该符号可以被压缩成小数目的比特。例如,当每个符号的值具有高出现概率时,具有十个二进制位的符号可以被编码为小于十个比特。
基于符号的出现概率将[0,1)之间的区间分成子区间,并且在属于所分成的子区间的实数之中,选择可以由最少比特数表示的数字和其系数,由此可以对符号进行编码。在将[0,1)之间的区间分成子区间时,当符号的出现概率较大时,可以分配长的子区间,并且当符号的出现概率较小时,可以分配小的子区间。
图24是示出基于符号的出现概率将[0,1)之间的区间分成子区间的示例的视图。将描述当1的出现概率是0.2并且0的出现概率是0.8时的符号“010”的算术编码。
由于符号“010”的第一二进制位是“0”并且“0”的出现概率是0.8,因此可以将区间[0,1)更新为[0,0.8)。
由于符号“010”的第二二进制位是“1”并且“1”的出现概率是0.2,因此可以将区间[0,0.8)更新为[0.64,0.8)。
由于符号“010”的第三二进制位是“0”并且“0”的出现概率是0.8,因此可以将区间[0.64,0.8)更新为[0.64,0.768)。
在区间[0.64,0.768)中,选择可以由最少比特数表示的数字。在区间[0.64,0.768)中,0.75=1×(1/2)+1×(1.2)^2,使得符号“010”可以被编码为不包括0的二进制“11”。
最大可能符号(MPS)意指具有在0与1之间的高出现频率的符号,并且最小可能符号(LPS)意指具有在0与1之间的低出现频率的符号。可以基于上下文和量化参数(Qp)值来确定MPS和LPS的出现概率初始值。
在图24中,对于每个二进制位,假设0和1的出现概率是固定的,但是可以根据当前编码的二进制位是MPS还是LPS来更新符号的MPS出现概率和LPS出现概率。
例如,在当前要编码的符号的二进制位的二进制化值等于MPS时,符号的MPS概率值可以增大,而LPS概率值可以减小。相反,在当前要编码的符号的二进制位的二进制化值等于LPS时,符号的MPS概率值可以减小,而LPS概率值可以增大。
在CABAC中,定义了64个MPS出现概率和LPS出现概率,但是可以定义和使用更小数目或更大数目的MPS出现概率或LPS出现概率。可以通过指示符号的出现概率的索引(pStateIdx)来指定MPS出现概率和LPS出现概率。当指示符号的出现概率的索引的值较大时,MPS的出现概率较高。
表5旨在说明更新概率索引(pStateIdx)的示例。
[表5]
当MPS被编码时,可以将指示当前上下文的概率值的概率索引(pStateIdx)更新为与transIdxMPS相对应的索引。例如,当pStateIdx的值为16并且MPS被编码时,可以将pStateIdx更新为与transIdxMPS相对应的索引17。相反,当pStateIdx的值为16并且LPS被编码时,可以将pStateIdx更新为与transIdxMPS相对应的索引13。当pStateIdx被更新时,MPS和LPS的出现概率可以被更新。
当pStateIdx的值为0时,MPS的出现概率是0.5。在这种状态下,当LPS被编码时,与MPS相比,LPS的频率可以增加。因此,当pStateIdx的值为0并且LPS被编码时,MPS和LPS可以彼此互换。
可以以片或区块为单位来初始化每个上下文的概率索引的值。由于概率索引是以片为单位初始化的,所以无论先前的片或先前的帧是否被编码,都可以对当前片进行解码。然而,当使用初始化的概率索引对符号进行编码时,由初始化的概率索引指定的概率不能正确地反映符号的实际出现概率,并且因此片的初始编码效率可能会降低。
为了解决该问题,可以将在对先前的片进行编码/解码期间在预定点处累积的概率索引设置成当前片的概率索引的初始值。这里,预定点可以指示对按照扫描顺序位于片中的特定位置(例如,中间位置)处的块进行编码/解码的开始点。可以通过当前片头等对先前的片中累积的概率值或概率索引直接进行编码/解码。
作为另一示例,可以将多个概率索引分配给一个上下文,以便不同地确定片的初始概率索引。例如,当对于任意上下文(ctx)存在具有不同值的多个概率索引时,可以将多个概率索引中的一个确定为初始概率索引。这里,可以通过片头等用信号传送用于选择多个概率索引中的一个的信息。例如,用于对视频进行解码的设备可以通过从片头传送的信息来选择概率索引,并且可以将所选择的概率索引用作为初始概率索引来执行解码。
作为另一示例,可以给一个上下文分配多个初始值(InitValue),以便不同地确定片的初始概率索引。当选择初始值时,可以使用初始值来得到变量m和n,并且可以通过所得到的变量m和n来得到指示先前的上下文条件的变量preCtxState。基于指示先前的上下文条件的变量preCtxState,可以得到MPS和上下文概率索引初始值pStateIdx。
表7示出了基于初始值来得到概率索引的过程。
[表7]
可以通过片头用信号传送用于指定要在片中使用的初始值(InitValue)的索引。可以将用于指定上下文初始值的索引定义为CABAC初始化索引(cabac_init_idx)。基于定义选自一组CABAC初始化索引、上下文索引(ctxIdx)中的至少两个索引与初始值之间的映射关系的表,可以确定与cabac_init_idx相对应的初始值。
此外,可以通过片头、序列头、图片头等来用信号传送指示可用CABAC初始化索引的数目的句法。指示可用CABAC初始化索引的数目的句法可以被定义为“num_cabac_init_idx_minus1”。
表8和表9是说明基于CABAC初始化索引来确定初始值的示例的图表。表8示出了可用CABAC初始化索引的数目是五的情况,并且表9示出了可用CABAC初始化索引的数目是六的情况。可以基于num_cabac_init_idx_minus1的值来选择性地使用表8或表9。
[表8]
[表9]
作为示例,说明句法“cbf_luma”,根据cabac_init_idx,指示在亮度分量的变换块中是否存在非零变换系数的句法cbf_luma的上下文可以具有不同的初始值。还可以根据cabac_init_idx来不同地确定基于初始值得到的概率索引(pStateIdx)。
cabac_init_idx可以指示要施加于概率索引的偏移。例如,可以基于任意片的量化参数(Qp)“sliceQpY”和针对每个上下文确定的初始值(InitValue)来得到概率索引(pStateIdx),并且可以基于cabac_init_idx的值来确定要施加于概率索引的偏移。当确定了偏移时,可以基于概率索引和偏移来重新计算概率索引。因此,即使当片的量化参数(Qp)相同时,上下文模型可以具有多个概率索引(即,多个pStateIdx初始值)。
作为另一示例,可以针对每个上下文来确定初始值,并且可以基于cabac_init_idx的值来确定要施加于初始值的偏移。基于所确定的偏移来重新计算初始值,并且可以基于重新计算的初始值来得到概率索引。
在特定符号而非全部符号中,对于一个上下文存在多个概率索引。例如,在特定符号(例如,变换系数、残差运动矢量(运动矢量差)、参考图片索引(参考索引)等)中,对于一个上下文可以存在多个概率索引。
基于片类型可以确定或者不管片类型如何可以确定是否将多个初始值(InitValue)或多个概率索引(pStateIdx)应用于一个上下文。此外,针对每种片类型,初始值可以不同。
图25是示出根据要编码的块的位置来设置概率索引的示例的视图。
可以根据要编码的块的空间位置或扫描顺序来确定概率索引。例如,如图25中的示例所示,可以根据片中的扫描顺序来设置不同的概率索引(pStateIdx)。这里,可以将概率索引(pStateIdx)的值选择为与先前的片中的并列区域的概率索引(prevPStateIdx)的值相同或相似。
用于初始化概率索引的空间区域可以被称作“上下文初始化区域”。上下文初始化区域可以被设置成长方形形状,但是不限于此。此外,上下文初始化区域可以被设置成具有预设大小,但是不限于此。可以通过片头等用信号传送用于指定上下文初始化区域的信息。
假设上下文初始化区域是长方形形状,可以基于指示包括在上下文初始化区域中的编码树单元的行数的句法“num_row_ctu_minus1”来确定概率索引被初始化的单元。例如,当“num_row_ctu_minus1”的值为一时,如图25中的示例所示,包括两列的CTU的区域可以被设置为初始化区域。
片是可以独立执行熵编码/解码的默认单元。片不一定被设置成长方形形状。片可以被划分为多个片段,并且片段可以由多个编码树单元(CTU)组成。
区块与片的相同之处在于区块与片一样由多个编码树单元组成,但是不同之处在于区块被设置成长方形形状。可以以区块为单位来执行熵编码/解码。当以区块为单位执行熵编码/解码时,存在可以对多个区块同时执行编码/解码的并行化的优点。
图26和图27是示出划分区块和片段的示例的视图。
如图26和图27中的示例所示,区块可以包括至少一个片段,并且在一个区块中可以存在一个片段。
独立的片段和至少一个非独立的片段组成一个片。如图26和图27中的示例所示,区块中不一定包括独立片段。
未在图中示出的是,在片中可以存在多个区块,或者在一个片中可以存在一个区块。
图28是示出针对每个区块不同地确定初始概率索引的示例的视图。
当使用区块时,以区块为单位来初始化上下文模型。可以根据区块的位置来使用不同的初始值(InitValue)或不同的概率索引(pStateIdx)。也就是说,即使上下文是相同的,也可以根据区块来使用不同的概率索引(pStateIdx)。
可以通过片段头等用信号传送用于指定每个区块的初始值的索引。例如,当通过用于指定区块的初始值的句法“tile_cabac_init_idx”来指定初始值时,可以基于所指定的初始值来得到概率索引。
可以基于初始值或与先前的帧的并列区块的上下文相对应的概率索引来得到每个区块的每个上下文的概率索引。作为另一示例,每个区块的每个上下文的概率索引可以基于选自针对相应的上下文定义的多个初始值的初始值来得到,或者可以被确定为选自针对相应的上下文定义的多个概率索引的概率索引。当针对相应的上下文定义了多个初始值或多个概率索引时,可以用信号传送用于针对每个区块选择初始值或者概率索引的索引。
在图28中示出的示例中,对于残差运动信息(运动矢量差)相关的符号,在第一区块中(tile0),将初始概率索引确定为pStateIdx0,并且在第二区块中(tile1),将初始概率索引确定为pStateIdx1。
本公开还可以具有以下配置:
1.一种用于对视频进行解码的方法,所述方法包括:
通过对当前块执行帧内预测来生成第一预测样本;
对指定所述当前块被划分成子块的方式的帧内预测方式进行确定;
基于所述帧内预测方式来确定所述当前块的子块单元中的偏移;以及
通过使用所述第一预测样本和所述偏移在所述当前块的子块单元中生成第二预测样本。
2.根据方案1所述的方法,其中,所述当前块包括多个子块,并且
确定是否针对每个子块设置所述偏移。
3.根据方案2所述的方法,其中,基于子块的位置来确定是否针对该子块设置所述偏移。
4.根据方案1所述的方法,其中,所述当前块包括多个子块,并且
针对每个子块将所述偏移设置为不同的值。
5.根据方案1所述的方法,其中,根据与所述当前块相邻的参考样本得到所述偏移。
6.一种用于对视频进行解码的设备,所述设备包括:
预测模块,其通过对当前块执行帧内预测来生成第一预测样本,对指定所述当前块被划分成子块的方式的帧内预测方式进行确定,基于所述帧内预测方式来确定所述当前块的子块单元中的偏移,并且通过使用所述第一预测样本和所述偏移在所述当前块的子块单元中生成第二预测样本。
7.根据方案6所述的设备,其中,所述当前块包括多个子块,以及
所述预测模块确定是否针对每个子块设置所述偏移。
8.根据方案7所述的设备,其中,所述预测模块基于子块的位置来确定是否针对该子块设置所述偏移。
9.根据方案6所述的设备,其中,所述当前块包括多个子块,并且
所述预测模块针对每个子块将所述偏移设置为不同的值。
10.根据方案6所述的设备,其中,所述预测模块根据与所述当前块相邻的参考样本来得到所述偏移。
11.一种用于对视频进行编码的方法,所述方法包括:
通过对当前块执行帧内预测来生成第一预测样本;
对指定所述当前块被划分成子块的方式的帧内预测方式进行确定;
基于所述帧内预测方式来确定所述当前块的子块单元中的偏移;以及
通过使用所述第一预测样本和所述偏移在所述当前块的子块单元中生成第二预测样本。
12.根据方案11所述的方法,其中,所述当前块包括多个子块,并且
确定是否针对每个子块设置所述偏移。
13.根据方案12所述的方法,其中,基于子块的位置来确定是否针对该子块设置所述偏移。
14.根据方案11所述的方法,其中,所述当前块包括多个子块,并且
针对每个子块将所述偏移设置为不同的值。
15.一种用于对视频进行编码的设备,所述设备包括:
预测模块,其通过对当前块执行帧内预测来生成第一预测样本,对指定所述当前块被划分成子块的方式的帧内预测方式进行确定,基于所述帧内预测方式来确定所述当前块的子块单元中的偏移,并且通过使用所述第一预测样本和所述偏移在所述当前块的子块单元中生成第二预测样本。
工业适用性
本发明可以用于对视频信号进行编码/解码。
Claims (9)
1.一种用于对视频进行解码的方法,所述方法包括:
从候选列表中确定当前块的帧内预测模式,所述候选列表包括多个候选,所述多个候选是基于与所述当前块相邻的相邻块的帧内预测模式来确定的;
通过基于所述当前块的帧内预测模式执行帧内预测来生成预测样本;以及
确定是否对所述当前块应用所述预测样本的更新过程,
其中,当确定要对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,
其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值来获得重构样本,
其中,在所述当前块的第二子区域中,利用值为0的第二偏移,并且使用与预测样本相同的值来获得重构样本,
其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,
其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,
其中,所述相邻样本与所述预测样本位于相同的角度线上,并且
其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
2.根据权利要求1所述的方法,其中,根据所述帧内预测模式的角度来不同地确定所述第一子区域的大小和所述第二子区域的大小。
3.根据权利要求2所述的方法,其中,所述第一子区域和所述第二子区域形成的方式是水平方式、垂直方式和多边形方式中的一个,在所述水平方式中,所述第一子区域和所述第二子区域由水平线区分,在所述垂直方式中,所述第一子区域和所述第二子区域由垂直线区分,在所述多边形方式中,所述第一子区域和所述第二子区域中的一个区域具有多边形形状而另一个区域具有矩形形状。
4.一种用于对视频进行解码的设备,所述设备包括:
预测模块,其从候选列表中确定当前块的帧内预测模式,通过基于所述当前块的帧内预测模式执行帧内预测来生成预测样本,并且确定是否对所述当前块应用所述预测样本的更新过程,
其中,所述候选列表包括多个候选,
其中,基于与所述当前块相邻的相邻块的帧内预测模式来确定所述多个候选;
其中,当确定要对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,
其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值来获得重构样本,
其中,在所述当前块的第二子区域中,利用值为0的第二偏移,并且使用与预测样本相同的值来获得重构样本,
其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,
其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,
其中,所述相邻样本与所述预测样本位于相同的角度线上,并且
其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
5.根据权利要求4所述的设备,其中,根据所述当前块的帧内预测模式的角度来不同地确定所述第一子区域和所述第二子区域的大小。
6.根据权利要求5所述的设备,其中,所述第一子区域和所述第二子区域形成的方式是水平方式、垂直方式和多边形方式中的一个,在所述水平方式中,所述第一子区域和所述第二子区域由水平线区分,在所述垂直方式中,所述第一子区域和所述第二子区域由垂直线区分,在所述多边形方式中,所述第一子区域和所述第二子区域中的一个区域具有多边形形状而另一个区域具有矩形形状。
7.一种用于对视频进行编码的方法,所述方法包括:
通过基于当前块的帧内预测模式执行帧内预测来生成预测样本,所述当前块的帧内预测模式是从候选列表中确定的,所述候选列表包括多个候选,所述多个候选是基于与所述当前块相邻的相邻块的帧内预测模式来确定的;以及
确定是否对所述当前块应用所述预测样本的更新过程,
其中,当确定要对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,
其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值获得重构样本,
其中,在所述当前块的第二子区域中,利用值为0的第二偏移,并且使用与预测样本相同的值来获得重构样本,
其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,
其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,
其中,所述相邻样本与所述预测样本位于相同的角度线上,并且
其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
8.根据权利要求7所述的方法,其中,根据所述当前块的帧内预测模式的角度来不同地确定所述第一子区域和所述第二子区域的大小。
9.一种用于传送编码的视频的数据的设备,所述设备包括:
处理器,其用于通过基于当前块的帧内预测模式执行帧内预测生成预测样本来生成所述数据,并且确定是否对所述当前块应用所述预测样本的更新过程;以及
用于传送所述数据的传送单元,
其中,从候选列表中确定所述当前块的帧内预测模式,
其中,所述候选列表包括多个候选,
其中,基于与所述当前块相邻的相邻块的帧内预测模式来确定所述多个候选,
其中,当确定要对所述当前块应用所述更新过程时,基于所述当前块中的预测样本的各自的偏移来更新所述预测样本,
其中,在所述当前块的第一子区域中,利用自适应确定的第一偏移,并且使用预测样本的更新值来获得重构样本,
其中,在所述当前块的第二子区域中,利用值为0的第二偏移,并且使用与预测样本相同的值来获得重构样本,
其中,基于在所述当前块之前先前重构的相邻样本和应用于所述相邻样本的权重来确定预测样本的所述第一偏移,
其中,基于所述当前块的帧内预测模式的角度线指定所述相邻样本,
其中,所述相邻样本与所述预测样本位于相同的角度线上,并且
其中,基于所述当前块的左边界或上边界与所述预测样本之间的距离来确定所述权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210631549.5A CN114827601B (zh) | 2015-09-11 | 2016-09-12 | 对视频进行解码的方法和设备以及对视频进行编码的方法和设备 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20150128964 | 2015-09-11 | ||
KR10-2015-0128964 | 2015-09-11 | ||
KR10-2015-0129439 | 2015-09-14 | ||
KR20150129439 | 2015-09-14 | ||
CN201680065475.6A CN108353164B (zh) | 2015-09-11 | 2016-09-12 | 用于处理视频信号的方法和设备 |
CN202210631549.5A CN114827601B (zh) | 2015-09-11 | 2016-09-12 | 对视频进行解码的方法和设备以及对视频进行编码的方法和设备 |
PCT/KR2016/010278 WO2017043949A1 (ko) | 2015-09-11 | 2016-09-12 | 비디오 신호 처리 방법 및 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680065475.6A Division CN108353164B (zh) | 2015-09-11 | 2016-09-12 | 用于处理视频信号的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827601A CN114827601A (zh) | 2022-07-29 |
CN114827601B true CN114827601B (zh) | 2024-06-28 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101911708A (zh) * | 2008-01-10 | 2010-12-08 | 汤姆森特许公司 | 帧内预测视频的照明补偿方法和装置 |
CN103636210A (zh) * | 2011-06-23 | 2014-03-12 | 夏普株式会社 | 偏移解码装置、偏移编码装置、图像滤波器装置以及数据结构 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101911708A (zh) * | 2008-01-10 | 2010-12-08 | 汤姆森特许公司 | 帧内预测视频的照明补偿方法和装置 |
CN103636210A (zh) * | 2011-06-23 | 2014-03-12 | 夏普株式会社 | 偏移解码装置、偏移编码装置、图像滤波器装置以及数据结构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108353164B (zh) | 用于处理视频信号的方法和设备 | |
CN108702509B (zh) | 用于处理视频信号的方法和设备 | |
US11343499B2 (en) | Method and apparatus for processing video signal | |
CN114401402B (zh) | 用于处理视频信号的方法和装置 | |
CN113873242B (zh) | 用于对视频进行解码的方法和用于对视频进行编码的方法 | |
CN109804624B (zh) | 用于处理视频信号的方法和设备 | |
CN109691112B (zh) | 用于处理视频信号的方法和设备 | |
CN115278236A (zh) | 对图像进行解码或编码的方法和非暂态计算机可读介质 | |
CN109716762B (zh) | 用于处理视频信号的方法 | |
CN114827601B (zh) | 对视频进行解码的方法和设备以及对视频进行编码的方法和设备 | |
CN113422953B (zh) | 对视频进行编码、解码的方法及存储压缩视频数据的设备 | |
CN113438477B (zh) | 对视频进行编码、解码的方法及存储压缩视频数据的设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |