视频解码和编码方法及用于存储压缩视频数据的装置
文献发布时间:2024-04-18 20:01:23
本申请为于2019年11月29日提交、申请号为201880035954.2、发明名称为“视频信号处理方法及装置”的中国专利申请的分案申请。上述母案申请对应的PCT国际申请的国际申请日为2018年8月27日,国际申请号为PCT/KR2018/009869。
技术领域
本发明涉及视频信号处理方法及装置。
背景技术
近年来,各种应用领域对HD(High Definition)图像及UHD(Ultra HighDefinition)图像之类的高分辨率、高品质的图像的需求正在增加。由于图像数据的分辨率及品质变得越高则与现有图像数据相比数据量相对增加,因此在利用现有有线/无线宽带线路之类的介质传送图像数据或利用现有存储介质存储的情况下,传送费用和存储费用会增加。为了解决伴随图像数据的高分辨率、高品质化而发生的这样的问题,可利用高效的图像压缩技术。
作为图像压缩技术,存在各种技术,如根据当前图片的上一个或下一个图片预测当前图片所包含的像素值的画面间预测技术、利用当前图片内的像素信息预测当前图片所包含的像素值的画面内预测技术、对出现频率高的值分配短码并对出现频率低的值分配长码的熵编码技术、等,能够利用这样的图像压缩技术有效地压缩图像数据来进行传送或存储。
另一方面,随着对高分辨率图像的需求增加,作为新的图像服务,对立体图像内容的需求也正在同时增加。正在讨论用于有效地提供高分辨率及超高分辨率的立体图像内容的视频压缩技术。
发明内容
技术问题
本发明的目的在于提供一种在对视频信号进行编码/解码时能够对编码/解码对象块有效地执行帧间预测的方法及装置。
本发明的目的在于提供一种在对视频信号进行编码/解码时更新当前块的动作信息的方法及装置。
本发明的目的在于提供一种在对视频信号进行编码/解码时将更新当前块的动作信息时利用的搜索点可变地决定的方法及装置。
本发明要解决的技术问题并不限定于上面的提及的技术问题,本领域技术人员能够从下面的记载明确理解未提及的技术问题或其他技术问题。
解决问题的手段
根据本发明的视频解码方法包括:确定合并模式还是动作矢量预测模式被应用于当前块;获取所述当前块的动作矢量;基于所述运动矢量获取所述当前块的预测样本;以及基于所述预测样本获取所述当前块的重建样本,其中,在所述动作矢量预测模式下,所述当前块的动作矢量通过使第一动作矢量差与动作矢量预测值相加来获取,其中,在所述合并模式下,获取所述当前块的动作矢量包括:基于所述当前块的合并候选列表中包括的合并候选,获取所述当前块的初始动作矢量;导出所述当前块的第二动作矢量差;以及通过对所述初始动作矢量加上所述第二动作矢量差来获取所述当前块的动作矢量,并且其中,所述第二动作矢量差基于从多个差值候选中选择的差值候选来确定。
根据本发明的视频编码方法包括:确定合并模式还是动作矢量预测模式被应用于当前块;基于在所述合并模式或所述动作矢量预测模式下获取的动作信息,获取所述当前块的预测块;以及通过从原块中减去所述预测块,获取所述当前块的残差块,其中,在所述动作矢量预测模式下,代表动作矢量与动作矢量预测值之间的差的第一动作矢量差被编码到比特流中,其中,在所述合并模式下,特定合并候选列表中的合并候选的合并索引被编码到所述比特流中,所述合并候选的动作矢量与所述当前块的初始动作矢量相同,其中,在所述合并模式下,所述当前块的动作矢量通过对所述初始动作矢量加上第二动作矢量差来导出,并且其中,所述第二动作矢量差基于从多个差值候选中选择的差值候选来确定。
提供了根据本发明的用于存储压缩视频数据的装置,所述压缩视频数据由编码方法生成,所述编码方法包括:确定合并模式还是动作矢量预测模式被应用于当前块;基于在所述合并模式或所述动作矢量预测模式下获取的动作信息,获取所述当前块的预测块;以及通过从原块中减去所述预测块,获取所述当前块的残差块,其中,在所述动作矢量预测模式下,代表动作矢量与动作矢量预测值之间的差的第一动作矢量差被编码到比特流中,其中,在所述合并模式下,特定合并候选列表中的合并候选的合并索引被编码到所述比特流中,所述合并候选的动作矢量与所述当前块的初始动作矢量相同,其中,在所述合并模式下,所述当前块的动作矢量通过对所述初始动作矢量加上第二动作矢量差来导出,并且其中,所述第二动作矢量差基于从多个差值候选中选择的差值候选来确定。
在根据本发明的视频信号解码方法及装置中,可获取当前块的初始动作矢量,基于所述初始动作矢量,导出多个搜索点中的各搜索点的精细动作矢量,基于所述多个搜索点中的一个精细动作矢量获取所述当前块的动作矢量。
在根据本发明的视频信号编码方法及装置中,可获取当前块的初始动作矢量,基于所述初始动作矢量,导出多个搜索点中的各搜索点的精细动作矢量,基于所述多个搜索点中的一个精细动作矢量获取所述当前块的动作矢量。
在根据本发明的视频信号编码/解码方法及装置中,所述初始动作矢量可基于所述当前块的合并候选或动作矢量候选来获取。
在根据本发明的视频信号编码/解码方法及装置中,还可包括选择所述当前块的细化模式的步骤,所述细化模式可包括双向匹配或模板匹配中的至少一个。
在根据本发明的视频信号编码/解码方法及装置中,所述细化模式可基于所述当前块的预测方向是否为双向来决定。
在根据本发明的视频信号编码/解码方法及装置中,在所述细化模式为双向匹配的情况下,所述搜索点的费用可通过对基于所述初始动作矢量获取的第一预测块与基于所述精细动作矢量获取的第二预测块进行比较来计算。
在根据本发明的视频信号编码/解码方法及装置中,在所述细化模式为模板匹配的情况下,所述搜索点的费用可通过对与所述当前块相邻的模板和与通过所述精细动作矢量特定的参照块相邻的模板进行比较来计算。
在根据本发明的视频信号编码/解码方法及装置中,还可包括决定所述当前块的搜索图案的步骤,可根据所述决定的搜索图案,决定搜索点的个数、位置、或所述多个搜索点间的搜索顺序中的至少一个。
在根据本发明的视频信号编码/解码方法及装置中,所述当前块的搜索图案可基于所述当前块的大小、形态、帧间预测模式、或细化模式中的至少一个来决定。
以上对本发明简要概述的特征仅是后述的本发明的详细说明的示例性的方面,并不限制本发明的范围。
发明的效果
根据本发明,能够对编码/解码对象块有效地执行帧间预测。
根据本发明,通过更新当前块的动作信息,具有能够提高帧间预测的效率的优点。
根据本发明,通过可变地决定搜索图案,具有能够提高帧间预测的效率的优点。
本发明能够得到的效果并不限定于上面的提及的效果,本领域技术人员能够从下面的记载明确理解未提及的效果或其他效果。
附图说明
图1是示出根据本发明的一实施例的图像编码装置的框图。
图2是示出根据本发明的一实施例的图像解码装置的框图。
图3示出了作为适用本发明的一实施例的基于树结构(tree structure)将编码块分层次分割的一例。
图4是示出了作为应用本发明的一实施例的允许基于二叉树的分割的分区形态的图。
图5是示出了作为应用本发明的一实施例的仅允许特定形态的基于二叉树的分割的例子的图。
图6是用于说明作为应用本发明的一实施例的对与二叉树分割允许次数相关的信息进行编码/解码的例子的图。
图7是例示了作为应用本发明的一实施例的能够适用于编码块的分区模式的图。
图8是示出作为应用本发明的一实施例的帧间预测方法的顺序图。
图9是示出了在当前块适用合并模式时导出当前块的动作信息的过程的图。
图10是示出了空间相邻块的一例的图。
图11是用于说明导出时间合并候选的动作矢量的例子的图。
图12是示出能够利用为并置块的候选块的位置的图。
图13是示出在对前块适用AMVP模式的情况下导出当前块的动作信息的过程的图。
图14是示出根据本发明的一实施例的更新当前块的动作矢量的方法的图。
图15是示出菱形图案的图。
图16是示出自适应十字图案的图。
图17是示出星形图案的图。
图18是示出六角形图案的图。
图19是用于说明导出对搜索点的精细动作矢量的图。
图20是用于说明在细化模式为双向匹配时测定搜索点中的费用的例子的图。
图21是用于说明在细化模式为模板匹配时测定搜索点中的费用的例子的图。
具体实施方式
本发明可以实施各种变更,并且可以具有多种实施例,下面在图中例示特定实施例,进行详细说明。然而,这并非要将本发明限定在特定的实施方式,应理解本发明的思想以及技术范围所包含的所有变更、等同物乃至代替物均包含在其中。在对各附图的说明中,类似的附图标记使用在类似的结构要素上。
第一、第二等用语虽然可以使用在对各种构成要素的说明中,但上述构成要素并非限定在上述用语。使用上述用语的目的仅在于,将一个构成要素与另一结构要素进行区分。例如,在不脱离本发明权利范围的前提下,第一构成要素可以被命名为第二结构要素,类似地,第二结构要素也可以被命名为第一结构要素。”和/或”这一用语包含多个相关记载项目的组合或者多个相关记载项目中的任一项目。
在提及某一结构要素“连接于”或者“接入”另一结构要素时,虽然可以直接连接于或者接入另一结构要素,但也应该理解成中间也可以存在其他构成要素。相反,在提及某一结构要素“直接连接于”或者“直接接入”另一结构要素时,应当理解成中间不存在其他结构要素。
本申请中所使用的用语仅为了说明特定实施例而使用,并非意图限定本发明。单数表现形式包含复数表现形式,除非在文脉上存在明确的不同含义。在本申请中,“包含”或者“具有”等用语,应当理解成用于指定说明书中所记载的特征、数字、步骤、动作、结构要素、部件或他们的组合的存在,而非事先排除一个或一个以上的其他特征或数字、步骤、动作、结构要素、部件或它们的组合的存在或附加可能性。
下面,参照附图,对本发明的优选实施例进行更详细的说明。以下,对于图中的同一结构要素,使用同一附图标记,对于同一结构要素省略重复的说明。
图1是示出根据本发明的一实施例的图像编码装置的框图。
参照图1,图像编码装置100可包括图片分割部110、预测部120、125、转换部130、量化部135、重新整理部160、熵编码部165、反量化部140、反转换部145、滤波部150、及存储部155。
对于图1所示出的各结构部,为了在图像编码装置中表示出相互不同的特定功能而单独地示出,并非意味着各结构部由分离的硬件或者一个软件结构单位构成。即,各结构部为了便于说明而以各个结构部的形式罗列包含进来,各结构部中至少两个结构部可以合在一起构成一个结构部、或者一个结构部分为多个结构部而执行功能,这种各结构部统合在一起的实施例以及分离的实施例,只要不脱离本发明的本质,则均包含在本发明的权利范围。
此外,一部分结构要素在本发明中可能不是执行本质功能的必要性结构要素,而只是用于提高性能的选择性结构要素。本发明可以仅包含除了用于提高性能而使用的结构要素之外的实现本发明的本质所必须的结构部来实现,仅包含除了用于提高性能而使用的选择性结构要素之外的必要结构要素的结构,也包含在本发明的权利范围。
图片分割部110可将所输入的图片分割为至少一个处理单位。此时,处理单位可以是预测单位(Prediction Unit:PU),也可以是转换单位(Transform Unit:TU),还可以是编码单位(Coding Unit:CU)。在图片分割部110中,可将一个图片分割为多个编码单位、预测单位及转换单位的组合,并按照规定的基准(例如,费用函数)选择一个编码单位、预测单位及转换单位组合来对图片进行编码。
例如,一个图片可被分割为多个编码单位。为了在图片分割编码单位,可使用如四叉树结构(Quad Tree Structure)之类的递归性的树结构,以一个图像或最大大小的编码单位(largest coding unit)为跟被分割为其他编码单位的编码单元可以以具有与被分割的编码单位的个数相同的子节点的方式被分割。因一定的限制而不能再被分割的编码单位成为叶节点。即,在假定对一个编码单元只能进行正方形分割时,一个编码单位最多能分割成四个其他编码单位。
下面,在本发明的实施例中,编码单位既可以以执行编码的单位的含义使用,也可以以执行解码的单位的含义使用。
预测单位可以是在一个编码单位内以同一大小的至少一个正方形或长方形等的形态被分割的单位,也可以是在一个编码单位内以在被分割的预测单位中某一个预测单位与另一个预测单位具有不同的形态及/或大小的方式被分割的单位。
在基于编码单位生成执行帧内预测的预测单位时,在不是最小编码单位的情况下,可以不多个分割为预测单位NxN而执行帧内预测。
预测部120、125可包括执行帧间预测的帧间预测部120、和执行帧内预测的帧内预测部125。可决定对预测单位使用帧间预测还是执行帧内预测,并决定与各预测方法对应的具体的信息(例如,帧内预测模式、运动矢量、参照图片等)。此时,被执行预测的处理单位可以与被决定预测方法及具体的内容的处理单位不同。例如,预测方法和预测模式等可通过预测单位决定,预测的执行可通过转换单位执行。所生成的预测块与原块之间的残差值(残差块)可被输入至转换部130。另外,为了预测而使用的预测模式信息、运动矢量信息等可与残差值一起在熵编码部165被编码后传送至解码器。在使用特定的编码模式的情况下,也能够不通过预测部120、125生成预测块而将原块直接编码后传送至解码部。
帧间预测部120可基于当前图片的上一个图片或下一个图片中的至少一个图片的信息预测预测单位,也可以根据情况基于当前图片内的编码完成的一部分区域的信息进行预测单位的预测。帧间预测部120可包括参照图片插值部、运动预测部、及动作补偿部。
在参照图片插值部中,可从存储部155接收参照图片信息,并从参照图片生成整数像素以下的像素信息。在亮度像素的情况下,为了以1/4像素单位生成整数像素以下的像素信息,可使用基于使滤波系数不同的DCT的8抽头插值滤波(DCT-based InterpolationFilter)。在色差信号的情况下,为了以1/8像素单位生成整数像素以下的像素信息,可使用基于使滤波系数不同的DCT的4抽头插值滤波(DCT-based Interpolation Filter)。
运动预测部可基于通过参照图片插值部插值后的参照图片执行运动预测。作为用于计算运动矢量的方法,可使用FBMA(Full search-based Block Matching Algorithm)、TSS(Three Step Search)、NTS(New Three-Step Search Algorithm)等各种方法。运动矢量可基于插值后的像素具有1/2或1/4像素单位的运动矢量值。在运动预测部中,可使运动预测方法不同来预测当前预测单位。作为运动预测方法,可使用跳过(Skip)法、合并(Merge)法、AMVP(Advanced Motion Vector Prediction)法、帧内块复制(Intra BlockCopy)法等各种方法。
帧内预测部125可基于当前图片内的像素信息即当前块周边的参照像素信息生成预测单位。在因当前预测单位的周边块为执行了帧间预测的块而参照像素为执行了帧间预测的像素的情况下,可将执行了帧间预测的块所包含的参照像素替代为周边的执行了帧内预测的块的参照像素信息来使用。即,在参照像素不可用的情况下,可将不可用的参照像素信息替代为可用的参照像素中的至少一个参照像素来使用。
在帧内预测中,预测模式可具有将参照像素信息沿预测方向使用的定向预测模式、和在执行预测时不使用定向信息的非定向模式。用于预测亮度信息的模式与用于预测色差信息的模式可以不同,为了预测色差信息可使用为了预测亮度信息而使用的帧内预测模式信息或预测出的亮度信号信息。
在执行帧内预测时,在预测单位的大小与转换单位的大小相同的情况下,可基于存在于预测单位的左侧的像素、存在于左侧上端的像素、及存在于上端的像素执行对预测单位的帧内预测。但是,在执行帧内预测时,在预测单位的大小与转换单位的大小不同的情况下,可利用基于转换单位的参照像素来执行帧内预测。另外,可仅对最小编码单位使用利用了NxN分割的帧内预测。
在帧内预测方法中,可按照预测模式对参照像素适用AIS(Adaptive IntraSmoothing)滤波之后生成预测块。适用于参照像素的AIS滤波的种类可不同。为了执行帧内预测方法,当前预测单位的帧内预测模式可根据存在于当前预测单位的周边的预测单位的帧内预测模式进行预测。在利用根据周边预测单位预测出的模式信息预测当前预测单位的预测模式的情况下,若当前预测单位与周边预测单位的帧内预测模式相同,则可利用规定的标志信息传送表示当前预测单位与周边预测单位的预测模式相同的信息,若当前预测单位与周边预测单位的预测模式不同,则可执行熵编码来对当前块的预测模式信息实施编码。
另外,可基于在预测部120、125生成的预测单位,生成包含执行了预测的预测单位与预测单位的原块的差值即残差值(Residual value)信息的残差块。所生成的残差块可输入至转换部130。
在转换部130中,可将包含原块和通过预测部120、125生成的预测单位的残差值信息的残差块使用如DCT(Discrete Cosine Transform)、DST(Discrete Sine Transform)、KLT之类的转换方法进行转换。对于为了转换残差块而适用DCT还是适用DST又或者适用KLT,可基于为了生成残差块而使用的预测单位的帧内预测模式信息来决定。
量化部135可量化在转换部130转换为频率区域的值。可根据块或根据图像的重要度来改变量化系数。在量化部135计算出的值可提供至反量化部140及重新整理部160。
重新整理部160可对量化的残差值执行系数值的重新整理。
重新整理部160可通过系数扫描(Coefficient Scanning)方法将二维块形态系数变更为一维矢量形态。例如,在重新整理部160中,利用锯齿扫描(Zig-Zag Scan)方法从DC系数扫描至高频区域的系数来变更为一维矢量形态。根据转换单位的大小及帧内预测模式,可代替锯齿扫描而使用将二维块形态系数沿列方向扫描的垂直扫描、将二维块形态系数沿行方向扫描的水平扫描。即,可根据转换单位的大小及帧内预测模式,决定使用锯齿扫描、垂直方向扫描、及水平方向扫描中的哪种扫描方法。
熵编码部165可基于通过重新整理部160计算出的值执行熵编码。熵编码例如可使用如指数哥伦布(Exponential Golomb)、CAVLC(Context-Adaptive Variable LengthCoding)、CABAC(Context-Adaptive Binary Arithmetic Coding)之类的各种编码方法。
熵编码部165可从重新整理部160及预测部120、125对编码单位的残差值系数信息及块类型信息、预测模式信息、分割单位信息、预测单位信息及传送单位信息、运动矢量信息、参照帧信息、块的插值信息,滤波信息等各种信息。
在熵编码部165中可以对从重新整理部160输入的编码单位的系数值进行熵编码。
在反量化部140及反转换部145中,将在量化部135量化的值进行反量化,并对在转换部130转换后的值进行反转换。在反量化部140及反转换部145生成的残差值可以与通过预测部120、125所包含的动作推定部、动作补偿部及帧内预测部预测出的预测单位合在一起而生成重建块(Reconstructed Block)。
滤波部150可包括去块滤波、偏移补正部、ALF(Adaptive Loop Filter)中的至少一个。
去块滤波可除去在重建的图片中因块间的边界而产生的块失真。为了判断是否执行去块,可基于块所包含的几个列或行所包含的像素判断在当前块是否适用去块滤波。在块适用去块滤波的情况下,可根据所需的去块滤波强度适用强的滤波(Strong Filter)或弱的滤波(Weak Filter)。另外,在适用去块滤波时,可在执行垂直滤波及水平滤波执行时并行处理水平方向滤波及垂直方向滤波。
偏移补正部可对执行了去块的图像以像素单位补正与原图像之间的偏移。为了执行对特定图片的偏移补正,可使用将图像所包含的像素分割为一定数量的区域之后决定要执行偏移的区域并对相应区域适用偏移的方法、或者考虑各像素的边缘信息来适用偏移的方法。
ALF(Adaptive Loop Filtering)可基于将滤波后的重建图像和原来的图像进行比较得到的值来执行。可以将图像所包含的像素分割为规定的组之后决定适用于相应组的滤波,从而按照各组进行区别性的滤波。有关是否适用ALF的信息,可以按照编码单位(Coding Unit,CU)传送亮度信号,按照各块所要适用的ALF滤波的图案以及滤波系数可以不同。此外,可以与适用对象块的特性无关,适用同一形态(固定形态)的ALF滤波。
存储部155可以存储通过滤波部150算出的重建块或者图片,所存储的重建块或者图片可以在执行帧间预测时提供给预测部120、125。
图2是示出根据本发明的一实施例的图像解码装置的框图。
参照图2,图像解码器200可包括熵解码部210、重新整理部215、反量化部220、反转换部225、预测部230、235、滤波部240以及存储部245。
在图像编码器中中输入图像比特流的情况下,所输入的比特流可以按照与图像编码器相反的步骤解码。
熵解码部210可以按照在图像编码器的熵编码部中执行熵编码的步骤相反的步骤执行熵解码。例如,与在图像编码器中所执行的方法对应地,可以适用如指数哥伦布(Exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)之类的多种方法。
在熵解码部210中可以对与在编码器中所执行的帧内预测以及帧间预测有关的信息进行解码。
重新整理部215可以将在熵解码部210中进行熵解码的比特流基于编码部中重新整理的方法执行重新整理。可以将以一维矢量形态表现的系数重建成二维块形态的系数来进行重新整理。在重新整理部215,可以通过接收与在编码部执行的系数扫描有关的信息,并基于在相应编码部中执行的扫描顺序向反方向扫描的方法来执行重新整理。
反量化部220可以基于编码器中提供的量化参数和重新整理的块的系数值来执行反量化。
反转换部225可以对在图像编码器中执行的量化结果执行与在转换部中执行的转换即DCT、DST、以及KLT相反的转换即反DCT、反DST以及反KLT。反转换可以基于在图像编码器中决定的传送单位来执行。在图像解码器的反转换部225中,可以按照预测方法、当前块的大小以及预测方向等多个信息,选择性地执行转换方法(例如,DCT、DST、KLT)。
预测部230、235可以基于在熵解码部210中提供的预测块生成相关信息、和在存储部245中提供的之前已解码的块或者图片信息,来生成预测块。
如前所述,与图像编码器中的动作相同地,在执行帧内预测时预测单位的大小和转换单位的大小相同的情况下,基于存在于预测单位的左侧的像素、存在于左侧上端的像素、存在于上端的像素,来执行对预测单位的帧内预测,但在执行帧内预测时预测单位的大小和转换单位的大小不同的情况下,利用基于转换单位的参照像素来执行帧内预测。此外,可以只对最小编码单位使用利用NxN分割的帧内预测。
预测部230、235可以包括预测单位判别部、帧间预测部以及帧内预测部。预测单位判别部可以接收从熵解码部210输入的预测单位信息、帧内预测方法的预测模式信息、帧间预测方法的运动预测相关信息等多种信息的输入,从当前编码单位区分预测单位,判断预测单位是执行帧间预测还是执行帧内预测。帧间预测部230可以利用图像编码器中提供的当前预测单位的帧间预测所需要的信息,基于包含当前预测单位的当前图片的上一个图片或者下一个图片中的至少一个图片所包含的信息,来执行对当前预测单位的帧间预测。或者,基于包含当前预测单位的当前图片内已重建的一部分区域的信息,来执行帧间预测。
为了执行帧间预测,可以基于编码单位,判断相应编码单位所包含的预测单位的运动预测方法为跳过模式(Skip Mode)、合并模式(Merge模式)、AMVP模式(AMVP Mode)、帧内块复制模式中的哪一种方法。
帧内预测部235可以基于当前图片内的像素信息来生成预测块。在预测单位为执行了帧内预测的预测单位的情况下,可以基于图像编码器中提供的预测单位的帧内预测模式信息来执行帧内预测。帧内预测部235可以包含AIS(Adaptive Intra Smoothing)滤波器、参照像素插值部、DC滤波器。AIS滤波器为对当前块的参照像素执行滤波的部分,可以根据当前预测单位的预测模式决定滤波器的适用与否来适用。可以利用图像编码器中提供的预测单位的预测模式以及AIS滤波器信息,来对当前块的参照像素执行AIS滤波。在当前块的预测模式为不执行AIS滤波的模式的情况下,可以不适用AIS滤波器。
参照像素插值部在预测单位的预测模式为基于对参照像素进行插值的像素值来执行帧内预测的预测单位的情况下,可以对参照像素进行插值而生成整数值以下的像素单位的参照像素。在当前预测单位的预测模式为不对参照像素进行插值就生成预测块的预测模式的情况下,可以不对参照像素进行插值。DC滤波器在当前块的预测模式为DC模式的情况下,可以通过滤波来生成预测块。
已重建的块或者图片可以提供给滤波部240。滤波部240可以包括去块滤波、偏移补正部、ALF。
可以从图像编码器接收与是否对相应块或者图片适用去块滤波器有关的信息、以及与在适用了去块滤波器的情况下是适用了强滤波器还是适用了弱滤波器有关的信息。在图像解码器的去块滤波器中,可以接收图像编码器中提供的去块滤波器相关信息,并在图像解码器中对相应块执行去块滤波。
偏移补正部可以基于在编码时适用于图像的偏移补正的种类以及偏移值信息等,来对重建的图像执行偏移补正。
ALF可以基于从编码器提供的ALF适用与否信息、ALF系数信息等,来适用于编码单位。这种ALF信息可以包含在特定的参数集来提供。
存储部245可以存储已重建的图片或者块以使得能够作为参照图片或者参照块来适用,并且还可以将已重建的图片提供给输出部。
如前所述,以下,在本发明的实施例中,为便于说明,将编码单元(Coding Unit)作为编码单位这一用语使用,但也可以成为除执行编码之外还执行解码的单位。
另外,当前块表示编码/解码对象块,根据编码/解码步骤可以表示编码树块(或者编码树单元)、编码块(或者编码单元)、转换块(或者转换单元)或者预测块(或者预测单元)等。
一个图片可以被分割成正方形或者非正方形的基本块来被编码/解码。此时,基本块可以称为编码树单元(Coding Tree Unit)。编码树单元可以被定义为序列(Sequence)或者条带(slice)中所允许的大小最大的编码单元。与编码树单元是正方形还是非正方形、或者编码树单元的大小有关的信息,可以通过序列参数集、图片参数集或者片头(SliceHeader)等来用信号发出(Signaling)。编码树单元可以被分割成大小更小的分区。此时,在将通过分割编码树单元而生成的分区设为深度1(depth)的情况下,通过分割设为深度1的分区而生成的分区可以被定义为深度2。即,通过分割编码树单元内设为深度k的分区而生成的分区可以被定义为具有深度k+1。
可以将随着分割编码树单元而生成的任意大小的分区定义为编码单元。编码单元可以被递归性地分割、或者被分割成用于执行预测、量化、转换或者环路滤波(in-loopfilter)等的基本单位。作为一例,随着分割编码单元而生成的任意大小的分区可以被定义为编码单元,或者被定义为用于执行预测、量化、转换或者环路滤波等的基本单位即转换单元或者预测单元。
编码树单元或者编码单元的分区可以基于垂直线(Vertical Line)或者水平线(Horizontal Line)中的至少一个来执行。此外,对编码树单元或者编码单元进行分区的垂直线或者水平线的个数可以为至少一个。作为一例,可以利用一个垂直线或者一个水平线将编码树单元或者编码单元分割为两个分区,或者利用两个垂直线或者两个水平线,将编码树单元或者编码单元分割为三个分区。或者,可以利用一个垂直线以及一个水平线,将编码树单元或者编码单元分割为长度以及宽度为1/2的四个分区。
在将编码树单元或者编码单元利用至少一个垂直线或者至少一个水平线分割为多个分区的情况下,分区可以具有均匀的大小或者不同的大小。或者,任一分区可以具有与剩余分区不同的大小。
在后述的实施例中,假定编码树单元或者编码单元被分割成四叉树、三叉树(Triple Tree)或者二叉树(Binary Tree)结构。然而,也可以利用数量更多的垂直线或者数量更多的水平线来分割编码树单元或者编码单元。
图3示出了作为适用本发明的一实施例的基于树结构(tree structure)将编码块分层次分割的一例。
输入图像信号被解码成规定的块单位,像这样用于解码输入图像信号的基本单位称为编码块。编码块可以成为执行帧内/帧间预测、转换、量化的单位。此外,按照编码块单位决定预测模式(例如,画面内预测模式或者画面间预测模式),编码块所包含的预测块可以共享所决定的预测模式。编码块可以为属于8x8乃至64x64范围的具有任意大小的正方形或者非正方形块,可以为具有128x128、256x256或者其以上大小的正方形或者非正方形块。
具体地,编码块可以基于四叉树(quad tree)、三叉树(triple tree)以及二叉树(binary tree)中的至少一个而分层次被分割。其中,基于四叉树的分割可以是指将2Nx2N编码块分割成四个NxN编码块的方式,基于三叉树的分割可以是指将一个编码块分割成三个编码块的方式,基于二叉树的分割可以是指将一个编码块分割成两个编码块的方式。即便执行了基于三叉树的分割或者基于二叉树的分割,下位深度可以存在正方形编码块。或者,在执行基于三叉树的分割或者基于二叉树的分割之后,也可以在下位深度限制正方形编码块的生成。
基于二叉树的分割,既可以以对称方式执行,也可以以非对称方式执行。基于二叉树分割出的编码块,既可以是正方形块,也可以是如长方形之类的非正方形块。作为一例,允许基于二叉树的分割的分区形态,如图4所示,可以包含对称形(symmetric)的2NxN(水平方向非正方编码单元)或者Nx2N(垂直方向非正方编码单元)、非对称形(asymmetric)的nLx2N、nRx2N、2NxnU或者2NxnD中的至少一个。
基于二叉树的分割,可以限制性地允许对称形或者非对称形态分区中的任意一个。该情况下,将编码树单元构成为正方形块可以相当于四叉树CU分区,将编码树单元构成为对称形非正方形块可以相当于二叉树分区。将编码树单元构成为正方形块和对称形非正方形块可以相当于四叉树以及二叉树CU分区。
基于二叉树的分割,可以对不再执行基于四叉树的分割的编码块执行。对于基于二叉树分割出来的编码块,可以设定成不再执行基于四叉树的分割、基于三叉树的分割或者基于二叉树的分割中的至少一个。
或者,对于基于二叉树分割出来的编码块,可以在允许基于三叉树的分割或者基于二叉树的分割的同时,限制性地仅允许水平方向或者垂直方向的分割中的任意一个。
例如,可以按照基于二叉树分割出来的编码块的位置、索引(index)、形态、相邻分区的追加分割形态等,来对基于二叉树分割出来的编码块限制追加分割或者追加分割方向。作为一例,在将通过基于二叉树的分割而生成的两个编码块中编码顺序处于前面的编码块的索引设为0(下称编码块索引0,并且将编码顺序处于后面的编码块的索引设为1(下称编码块索引1)时,在对编码块索引0或者编码块索引1的编码块均适用基于二叉树的分割的情况下,编码块索引为1的编码块的基于二叉树的分割方向,可以根据编码块索引为0的编码块的基于二叉树的分割方向来决定。具体而言,在编码块索引为0的编码块的基于二叉树的分割方向为将编码块索引为0的编码块分割成正方形分区的情况下,编码块索引为1的编码块的基于二叉树的分割可以被限制成具有与编码块索引为1的编码块的基于二叉树的分割不同的方向。即,可以限制编码块索引0以及编码块索引1的编码块均分割成正方形分区。该情况下,可以省略表示编码块索引为1的编码块的二叉树分割方向的信息的编码/解码。这是因为,编码块索引0以及编码块索引1的编码块均分割成正方形分区,呈现与将上位深度块基于四叉树进行分割相同的效果,允许将编码块索引0以及编码块索引1均分割成正方形分区在编码效率方面并不优选。
基于三叉树的分割表示沿水平或者垂直方向将编码块分割为三个分区。通过基于三叉树的分割而生成的三个分区可以均具有不同的大小。或者,通过基于三叉树的分割而生成的分区中,可以是两个具有相同的大小,剩余一个具有不同的大小。作为一例,随着编码块的分割而生成的分区的宽度比或者高度比,可以沿着分割方向设定为1:n:1,1:1:n,n:1:1或者m:n:1。其中,m和n为1或者大于1的实数,例如可以是2之类的整数。
基于三叉树的分割可以对不再执行基于四叉树的分割的编码块执行。对于基于三叉树而分割出来的编码块,可以被设定为不再执行基于四叉树的分割、基于三叉树的分割或者基于二叉树的分割中的至少一个。
或者,对基于三叉树分割出来的编码块允许基于三叉树的分割或者基于二叉树的分割的同时,限制性地仅允许水平方向或者垂直方向的分割中的任意一个。
例如,可以根据基于三叉树分割出来的编码块的位置、索引、形态、大小、相邻分区的追加分割形态等,来对基于三叉树分割出来的编码块限制追加分割或者追加分割方向。作为一例,对于因基于三叉树的分割而生成的编码块中大小最大的分区,可以限制水平方向分割或者垂直方向分割中的任意一个。具体而言,对于因基于三叉树的分割而生成的编码块中大小最大的分区,可以不允许与上位深度分区的三叉树分割方向相同的方向的二叉树分割或者相同的方向的三叉树分割方向。该情况下,可以对基于三叉树分割出来的编码块中最大的分区,省略表示二叉树分割方向或者三叉树分割方向的信息的编码/解码。
可以根据当前块的大小或者形态,限制基于二叉树或者基于三叉树的分割。其中,当前块的大小可以基于当前块的宽度、高度、宽度/高度中最小值/最大值、宽度与高度之和、宽度与高度之积或者当前块所包含的样品数量中的至少一个来表现。作为一例,在当前块的宽度或者高度中的至少一个大于已定义的值的情况下,可以不允许基于二叉树或者基于三叉树的分割。其中,已定义的值可以为16、32、64或者128等整数。作为另一例,在当前块的宽度与高度之比大于已定义的值的情况下或者小于已定义的值的情况下,可以不允许基于二叉树或者基于三叉树的分割。在已定义的值为1的情况下,可以仅针对当前块为宽度和高度相同的正方形块的情况允许基于二叉树或者基于三叉树的分割。
下位深度的分割可以依赖于上位深度的分割形态而决定。作为一例,在两个以上的深度允许基于二叉树的分割的情况下,可以在下位深度仅允许形态与上位深度的二叉树分割形态相同的基于二叉树的分割。例如,在上位深度按照2NxN形态执行了基于二叉树的分割的情况下,可以在下位深度也执行2NxN形态的基于二叉树的分割。或者,在上位深度按照Nx2N形态执行了基于二叉树的分割的情况下,可以在下位深度也允许Nx2N形态的基于二叉树的分割。
相反,在下位深度,可以仅允许形态与上位深度的二叉树分割形态不同的基于二叉树的分割。
针对序列、条带、编码树单元或者编码单元,可以限制它们仅使用特定形态的基于二叉树的分割或者特定形态的基于三叉树的分割。作为一例,可以对编码树单元进行限制而仅允许2NxN或者Nx2N形态的基于二叉树的分割。所允许的分区形态,既可以是事先定义在编码器或者解码器,也可以对与所允许的分区形态或者不允许的分区形态相关的信息进行编码并通过比特流用信号发出(Signaling)。
图5为表示仅允许特定形态的基于二叉树的分割得例子的图。图5的(a)表示限制成仅允许Nx2N形态的基于二叉树的分割的例子,图5的(b)表示限制成仅允许2NxN形态的基于二叉树的分割例子。为了实现基于上述四叉树或者二叉树的适应性分割,可以利用指示基于四叉树的分割的信息、与允许基于四叉树的分割的编码块的大小/深度有关的信息、指示基于二叉树的分割的信息、与允许基于二叉树的分割的编码块的大小/深度有关的信息、与不允许基于二叉树的分割的编码块的大小/深度有关的信息或者与基于二叉树的分割为纵向还是横向有关的信息等。
另外,针对编码树单元或者规定的编码单元,可以获取允许二叉树分割/三叉树分割的次数、允许二叉树分割/三叉树分割的深度或者允许二叉树分割/三叉树分割的深度的个数等。上述信息可以编码成编码树单元或者编码单元单位,并通过比特流传送给解码器。
作为一例,通过比特流,表示允许二叉树分割的最大深度的语法‘ma x_binary_depth_idx_minus1’可以通过比特流编码/解码。该情况下,max_binary_depth_idx_minus1+1可以指代允许二叉树分割的最大深度。
观察图6所示出的例子可以发现,在图6中,针对深度2的编码单元以及深度3的编码单元执行了二叉树分割。由此,表示编码树单元内执行了二叉树分割的次数(两次)的信息、表示编码树单元内允许二叉树分割的最大深度(深度3)的信息或者表示编码树单元内允许二叉树分割的深度的个数(两个,深度2以及深度3)的信息中的至少一个,可以通过比特流编码/解码。
作为另一例子,允许二叉树分割/三叉树分割的次数、允许二叉树分割/三叉树分割的深度或者允许二叉树分割/三叉树分割的深度的个数中的至少一个,可以按照序列、图片或者条带获取。作为一例,上述信息可以被编码成序列、图片或者条带单位后通过比特流传送。或者,按照序列、图片或者条带事先定义允许二叉树分割/三叉树分割的深度或者允许二叉树分割/三叉树分割的深度的个数。由此,第一条带以及第二条带的二叉树/三叉树分割次数、允许二叉树/三叉树分割的最大深度或者允许二叉树/三叉树分割的深度的个数中的至少一个可以不同。作为一例,在第一条带,仅在一个深度允许二叉树分割,相反在第二条带,在两个深度允许二叉树分割。
作为另一其他例子,可以根据条带或者图片的时间级别标识符(TemporalID)将允许二叉树/三叉树分割的次数、允许二叉树/三叉树分割的深度或者允许二叉树/三叉树分割的深度的个数中的至少一个设定为不同。其中,时间级别标识符(TemporalID)是用于识别在视点(view)、空间(spatial)、时间(temporal)、或者画质(quality)中具有至少一个的可扩展性(Scalability)的图像的多个层中的每一个。
如图3所示,分割深度(split depth)为k的第一编码块300可以基于四叉树(quadtree)而分割成多个第二编码块。例如,第二编码块310乃至340可以为具有第一编码块的宽度和高度的一半大小的正方形块,第二编码块的分割深度增加为k+1。
分割深度为k+1的第二编码块310可被分割为分割深度为k+2的多个第三编码块。第二编码块310的分割可以根据分割方式选择性地利用四叉树或者二叉树中的任意一个来执行。其中,分割方式可以基于指示基于四叉树的分割的信息或者指示基于二叉树的分割的信息中的至少一个来决定。
在将第二编码块310基于四叉树分割的情况下,第二编码块310可以被分割成具有第二编码块的宽度和高度的一半大小的四个第三编码块310a,并且第三编码块310a的分割深度增加为k+2。相反,在将第二编码块310基于二叉树分割的情况下,第二编码块310可以被分割成两个第三编码块。此时,两个第三编码块分别为第二编码块的宽度和高度中任意一个为一半大小的非正方形块,并且分割深度增加为k+2。第二编码块可以根据分割方向决定成横向或者纵向的非正方形块,分割方向则可基于与基于二叉树的分割为纵向还是横向有关的信息来决定。
另一方面,第二编码块310可以被决定成不能再基于四叉树或者二叉树分割的末端编码块,该情况下,相应编码块可以作为预测块或者转换块使用。
第三编码块310a可以与第二编码块310的分割相同地决定成末端编码块,或者基于四叉树或者二叉树被进一步分割。
另一方面,基于二叉树分割出来的第三编码块310b还可以基于二叉树进一步分割成纵向的编码块310b-2或者横向的编码块310b-3,并且相应编码块的分割深度增加为k+3。或者,第三编码块310b可以被决定成不再基于二叉树分割的末端编码块310b-1,该情况下,相应编码块310b-1可以作为预测块或者转换块使用。上述的分割过程可以基于与允许基于四叉树的分割的编码块的大小/深度有关的信息、与允许基于二叉树的分割的编码块的大小/深度有关的信息或者与不允许基于二叉树的分割的编码块的大小/深度有关的信息中的至少一个来限制性地执行。
编码块所能具有的大小可以被限制为规定个数,或者规定单位内编码块的大小可以具有固定的值。作为一例,序列内编码块的大小或者图片内编码块的大小可以被限制成256x256、128x128或者32x32。表示序列或者图片内编码块的大小的信息,可以通过序列报头或者图片报头用信号发出。
基于四叉树、二叉树以及三叉树分割的结果,编码单元可以呈正方形或者任意大小的长方形。
可以利用跳过模式、画面内预测、画面间预测或者跳过方法中的至少一种来对编码块进行编码/解码。
作为另一例子,可以通过编码块的分割,而以与编码块相同的大小或者小于编码块的单位执行帧内预测或者帧间预测。为此,当编码块被决定时,可以通过编码块的预测分割来决定预测块(Prediction Block)。编码块的预测分割可以通过表示编码块的分割形态的分区模式(Part_mode)来执行。预测块的大小或者形态可以根据编码块的分区模式来决定。作为一例,根据分区模式而决定的预测块的大小可以具有与编码块的大小相同或小的值。作为一例,根据分区模式决定的预测块的大小可具有与编码块的大小相比相同或小的值。
图7为表示通过画面间预测对编码块进行编码时可适用于编码块的分区模式的图。
在通过画面间预测对编码块进行编码的情况下,如图7的示例所示,可以将8个分区模式中的任意一个适用于编码块。
在通过画面内预测对编码块进行编码的情况下,可以将分区模式PART_2Nx2N或者PART_NxN适用于编码块。
PART_NxN可以在编码块具有最小大小的情况下予以适用。其中,编码块的最小大小可以在编码器以及解码器中事先定义。或者,与编码块的最小大小有关的信息可以通过比特流用信号发出。作为一例,编码块的最小大小可以通过片头用信号发出,因此,可以按照每个条带定义编码块的最小大小。
一般而言,预测块的大小可以具有从64x64到4x4的大小。然而,在通过画面间预测对编码块进行编码的情况下,当执行动作补偿时,为了减小存储部带宽(memorybandwidth),可以使预测块不具有4x4大小。
图8是示出作为应用本发明的一实施例的帧间预测方法的顺序图。
参照图8,可决定当前块的动作信息(S810)。当前块的动作信息可包括关于当前块的动作矢量、当前块的参照图片索引、或当前块的帧间预测方向中的至少一个。
当前块的动作信息可基于与通过比特流用信号发出的信息或当前块相邻的相邻块的动作信息中的至少一个来获取。
图9是示出了在当前块适用合并模式时导出当前块的动作信息的过程的图。
合并模式是指将当前块的动作信息根据周边块导出的方法。
在当前块适用合并模式的情况下,可根据当前块的空间相邻块导出空间合并候选(S910)。空间相邻块可包括与当前块的上端、左侧、或当前块的角(例如,上端左侧角、右侧上端角、或左侧下端角中的至少一个)相邻的块中的至少一个。
图10是示出了空间相邻块的一例的图。
如图10示出的例子所示,空间相邻块可包括与当前块的左侧相邻的相邻块A
进一步扩展图10的实施例,可将与当前块的左侧上端样本相邻的块、与上端中央样本相邻的块、或与当前块的右侧上端样本相邻的块中的至少一个定义为与当前块的上端相邻的块,并将与当前块的左侧上端样本相邻的块、与左侧中央样本相邻的块、或与当前块的左侧下端样本相邻的块中的至少一个定义为与当前块的左侧相邻的块。
另外,还可从与当前块不相邻的空间非相邻块导出空间合并候选。作为一例,可利用和与当前块的上端、右侧上端角、或左侧上端角相邻的块位于相同的垂直线上的块、和与当前块的左侧、左侧下端角、或左侧上端角相邻的块位于相同的水平线上的块、或和与当前块的角相邻的块位于相同的对角线上的块中的至少一个,导出当前块的空间合并候选。作为具体的例子,在与当前块相邻的相邻块不能利用为合并候选的情况下,可将与当前块不相邻的块使用为当前块的合并候选。
空间合并候选的动作信息可与空间相邻块的动作信息相同地设定。
空间合并候选通过以规定的顺序搜索相邻块来决定。作为一例,可以以A
空间合并候选的搜索顺序可以是已在编码器/解码器定义的。或者,可根据当前块的大小或形态,适应性地决定空间合并候选的搜索顺序。或者,还可基于通过比特流发的信息决定空间合并候选的搜索顺序。
可从当前块的时间相邻块导出时间合并候选(S920)。时间相邻块可以为并置图片所包含的同一位置块(co-located block,并置块)。并置图片具有与包含当前块的当前图片不同的时间顺序(Picture Order Count,POC)。并置图片可决定为在参照图片列表内具有已定义的索引的图片、或与当前图片的输出顺序(POC)的差异最小的图片。或者,还可通过从比特流用信号发出的信息决定并置图片。从比特流用信号发出的信息可包含表示包含并置图片的参照图片列表(例如,L0参照图片列表或L1参照图片列表)的信息及/或表示参照图片列表内并置图片的索引中的至少一个。用于决定并置图片的信息可通过图片参数集、片头、或块级别中的至少一个用信号发出。
时间合并候选的动作信息可基于并置块的动作信息来决定。作为一例,时间合并候选的动作矢量可基于并置块的动作矢量来决定。例如,时间合并候选的动作矢量可与并置块的动作矢量相同地设定。或者,时间合并候选的动作矢量可通过基于当前图片与当前块的参照图片之间的输出顺序(POC)差异及/或并置图片与并置图片的参照图片之间的输出顺序(POC)差异并置块的动作缩放矢量来导出。
图11是用于说明导出时间合并候选的动作矢量的例子的图。
在图11示出的例子中,tb表示当前图片curr_pic与当前图片的参照图片curr_ref之间的POC差异,td表示并置图片col_pic与并置块的参照图片之间col_ref的POC差异。时间合并候选的动作矢量可将并置块col_PU的动作矢量基于tb及/或td进行缩放来导出。
或者,可通过考虑并置块的利用可能性,可将并置块的动作矢量及将其缩放的动作矢量全部利用为时间合并候选的动作矢量。作为一例,可将并置块的动作矢量设定为第一时间合并候选的动作矢量,并将缩放了并置块的动作矢量的值设定为第二时间合并候选的动作矢量。
时间合并候选的帧间预测方向可与时间相邻块的帧间预测方向相同地设定。但是,时间合并候选的参照图片索引可具有固定的值。作为一例,时间合并候选的参照图片索引可设定为“0”。或者,还可基于空间合并候选的参照图片索引以及当前图片的参照图片索引中的至少一个,适应性地决定时间合并候选的参照图片索引。
并置块可决定为并置图片内与当前块具有相同的位置及大小的块内的任意的块、或和与当前块具有相同的位置及大小的块相邻的块。
图12是示出能够利用为并置块的候选块的位置的图。
候选块可包含在并置图片内与当前块的左侧上端角位置相邻的块、与当前块的中央样本位置相邻的块、或与当前块的左侧下端角位置相邻的块中的至少一个。
作为一例,候选块可包括并置图片内包含当前块的左上端样本位置的块TL、包含当前块的右下端样本位置的块BR、与当前块的右下端角相邻的块H、包含当前块的中央样本位置的块C3、或与当前块的中央样本相邻的块(例如,包含从当前块的中央样本隔开(-1,-1)的样本位置的块)C0中的至少一个。
并不局限于图12示出的例子,还可将并置图片内包含与当前块的规定边界相邻的相邻块的位置的块选择为并置块。
时间合并候选的个数可以是一个或一个以上。作为一例,可基于一个以上的并置块,导出一个以上的时间合并候选。
有关时间合并候选的最大个数的信息可在编码器被编码而用信号发出。或者,还可基于合并候选列表可包含的合并候选的最大个数及/或空间合并候选的最大个数导出时间合并候选的最大个数。或者,可基于能够利用的并置块的个数决定时间合并候选的最大个数。
可按照规定的优先顺序决定候选块的利用可能性,基于所述决定及时间合并候选的最大个数,决定至少一个并置块。作为一例,在包含当前块的中央样本位置的块C3、及与当前块的右下端角相邻的块H是候选块的情况下,可将C3块及H块中的某一个决定为并置块。在H块为可用的情况下,可将H块决定为并置块。相反,在H块为不可用的情况下(例如,H块通过画面内预测被编码的情况、H块为不能使用的情况、或H块位于最大的编码单元(Largest Coding Unit,LCU)的外侧的情况等),可将C3块决定为并置块。
作为另一例子,在并置图片内与当前块的右下端角位置相邻的多个块中的至少一个是不可用的情况下(例如,H块及/或BR块),可将不可用块替代为可用的其他块。替代不可用块的其他块可包括并置图片内与当前块的中央样本位置相邻的块(例如,C0及/或C3)或与当前块的左侧上端角位置相邻的块(例如,TL)中的至少一个。
在并置图片内与当前块的中央样本位置相邻的多个块中的至少一个是不可用的情况、或在并置图片内与当前块的左侧上端角位置相邻的多个块中的至少一个是不可用的情况下,也可将不可用的块替代为可用的其他块来使用。
此后,可生成包含空间合并候选及时间合并候选的合并候选列表(S930)。
有关合并候选的最大个数的信息可通过比特流用信号发出。作为一例,可通过序列参数或图片参数将宝石合并候选的最大个数的信用信号发出。作为一例,在合并候选的最大个数是五个的情况下,可将空间合并候选及时间合并候选合计选择五个。例如,可选择五个空间合并候选中的四个,并选择二个的时间合并候选中的一个。如果,在合并候选列表所包含的合并候选的个数比最大合并候选个数小的情况下,组合了二个以上的合并候选的被组合的合并候选、或具有(0,0)动作矢量(zero motion vector)的合并候选可被包含于合并候选列表。
合并候选可按照已定义的优先顺序包含于合并候选列表。优先顺序越高则分配于合并候选的索引可具有越小的值。作为一例,空间合并候选可比时间合并候选先追加到合并候选列表。另外,空间合并候选可按照左侧相邻块的空间合并候选、上端相邻块的空间合并候选、与右侧上端角相邻的块的空间合并候选、与左侧下端角相邻的块的空间合并候选、及与上端左侧角相邻的块的空间合并候选的顺序追加到合并候选列表。或者,还能够以使从与当前块的左侧上端角相邻的相邻块(图10的B
作为另一例子,还可根据当前块的大小或形态决定合并候选之间的优先顺序。作为一例,在当前块是宽度比高度大的长方形形态的情况下,左侧相邻块的空间合并候选可在上端相邻块的空间合并候选之前追加到合并候选列表。相反,在当前块是高度比宽度大的长方形形态的情况下,上端相邻块的空间合并候选可在左侧相邻块的空间合并候选之前追加到合并候选列表。
作为另一例子,还可根据合并候选各自的动作信息,决定合并候选之间的优先顺序。作为一例,具有双向动作信息的合并候选可具有比具有单向动作信息的合并候选高的优先顺序。由此,具有双向动作信息的合并候选可在具有单向动作信息的合并候选之前追加到合并候选列表。
作为另一例子,在按照已定义的优先顺序生成合并候选列表之后,还可重新排列合并候选。重新排列可基于合并候选的动作信息执行。作为一例,可基于合并候选是否具有双向动作信息、动作矢量的大小、或当前图片与合并候选的参照图片之间的时间顺序(POC)中的至少一个来执行重新排列。具体地,可以以使具有双向动作信息的合并候选比具有单向合并候选的合并候选具有更高的优先顺序的方式执行重新排列。
若生成了合并候选列表,可基于合并候选索引,特定合并候选列表所包含的合并候选中的至少一个(S940)。
当前块的动作信息可与通过合并候选索引特定的合并候选的动作信息相同地设定(S950)。作为一例,在通过合并候选索引选择了空间合并候选的情况下,当前块的动作信息可与空间相邻块的动作信息相同地设定。或者,在通过合并候选索引选择了时间合并候选的情况下,当前块的动作信息可与时间相邻块的动作信息相同地设定。
图13是示出在对前块适用AMVP模式的情况下导出当前块的动作信息的过程的图。
在当前块适用AMVP模式的情况下,可从比特流解码当前块的帧间预测方向或参照图片索引中的至少一个(S1310)。即,在适用AMVP模式的情况下,当前块的帧间预测方向或参照图片索引中的至少一个可基于通过比特流编码的信息来决定。
可基于当前块的空间相邻块的动作矢量决定空间动作矢量候选(S1320。空间动作矢量候选可包括从当前块的上端相邻块导出的第一空间)动作矢量候选或从当前块的左侧相邻块导出的第二空间动作矢量候选中的至少一个。在此,上端相邻块可包括与当前块的上端或上端右侧角相邻的块中的至少一个,当前块的左侧相邻块可包括与当前块的左侧或左侧下端角相邻的块中的至少一个。与当前块的左侧上端角相邻的块可被视为上端相邻块,或还可被视为左侧相邻块。
或者,可从与当前块不相邻的空间非相邻块导出空间动作矢量候选。作为一例,可利用和与当前块的上端、右侧上端角、或左侧上端角相邻的块位于相同的垂直线上的块、和与当前块的左侧、左侧下端角、或左侧上端角相邻的块位于相同的水平线上的块、或和与当前块的角相邻的块位于相同的对角线上的块中的至少一个,导出当前块的空间动作矢量候选。在空间相邻块不可用的情况下,可利用空间非相邻块导出空间动作矢量候选。
作为另一例子,还可利用空间相邻块及空间非相邻块导出二个以上的空间动作矢量候选。作为一例,可基于与当前块相邻的相邻块导出第一空间动作矢量候选及第二空间动作矢量候选,另一方面,还可基于不与当前块相邻但与所述相邻块相邻的相邻块导出第三空间动作矢量候选及/或第四空间动作矢量候选。
在当前块与空间相邻块之间的参照图片不同的情况下,还可通过缩放空间相邻块的动作矢量来获取空间动作矢量。可基于当前块的时间相邻块的动作矢量决定时间动作矢量候选(S1330)。在当前块与时间相邻块之间的参照图片不同的情况下,还可通过缩放时间相邻块的动作矢量获取时间动作矢量。此时,可限于空间动作矢量候选的个数为规定个数以下的情况来导出时间动作矢量候选。
可生成包含空间动作矢量候选及时间动作矢量候选的动作矢量候选列表(S1340)。
若生成出动作矢量候选列表,可基于特定动作矢量候选列表中的至少一个的信息,特定动作矢量候选列表所包含的动作矢量候选中的至少一个(S1350)。
可将通过所述信息特定的动作矢量候选设定为当前块的动作矢量预测值,并对动作矢量预测值加上动作矢量差分值来获取当前块的动作矢量(S1360)。此时,可通过比特流解析动作矢量差分值。
若获取到当前块的动作信息,可基于所获取的动作信息,执行对当前块的动作补偿(S820)。具体地,可基于当前块的帧间预测方向、参照图片索引、及动作矢量,执行对当前块的动作补偿。
若作为动作补偿执行结果获取到预测样本,可基于所生成的预测样本重建当前块。具体地,可对当前块的预测样本加上残差样本来获取重建样本。
可通过更新合并候选的动作信息或者更新基于合并候选或动作矢量候选获取的当前块的动作信息,来获取当前块的更新的动作信息。作为一例,可在合并模式更新空间合并候选或时间合并候选的动作信息,或者更新从空间合并候选或时间合并候选的动作信息导出的当前块的动作信息。在此,成为更新对象的动作信息可包括动作矢量。除了更新动作矢量之外,还可参照图片索引或预测方向中的至少一个。
动作信息的更新可在编码装置及解码装置中以相同的方法执行。通过由解码装置以与编码装置相同的方法执行更新,可省略表示更新前后的动作信息之间的差分的信息的编码。
这样,可将有解码装置以与编码装置相同的方法更新合并候选的动作信息称为解码器侧合并候选细化(Decoder Side Merge Refinement,DMCR),并将由解码装置以与编码装置相同的方法更新当前块的动作信息称为解码器侧动作矢量细化(Decoder SideMotion Vector Refinement,DMVR)。
是否执行DMCR或DMVR可基于当前块的大小、形态(正方形/非正方形)、块级别(编码块/子块)、帧间预测模式、是否存在具有相同的动作信息的合并候选、或是否执行双向预测中的至少一个来决定。作为一例,可设定为DMCR限于预测方向是双向的合并候选来执行,或者设定为限于具有相同的动作信息的合并候选来执行。或者,可设定为在当前块的帧间预测模式是AMVP模式的情况下不执行DMVR,相反,在当前块的帧间预测模式是合并模式的情况下执行DMCR或DMVR中的至少一个。与上述的例子相反地,还可设定为在当前块的帧间预测模式是AMVP模式的情况下执行DMVR。
或者,表示是否执行DMCR或DMVR的信息可通过比特流用信号发出。所述信息可在块级别、条带级别、或图片级别中的至少一个用信号发出。
解码装置可以以与编码装置相同的方法更新当前块或合并候选的动作矢量。
作为一例,为了更新当前块的动作矢量,可在导出当前块的初始动作矢量之后,基于当前块初始动作矢量导出对周边搜索点(Search Point)的精细动作矢量(Refined MV)。在此,当前块的初始动作矢量可以是在合并候选或动作矢量候选中具有最低费用的候选来导出的。解码器可基于索引信息来选择具有最低费用的合并候选或动作矢量候选。若导出了周边对搜索点的精细动作矢量,则可基于导出的精细动作矢量决定当前块的动作矢量。具体地,可搜索对多个搜索点的精细动作矢量中具有最小费用(作为一例,最小RD-cost)的动作矢量,并将搜索出的具有最小费用的动作矢量作为当前块的动作矢量使用。
作为另一例子,为了更新合并候选的动作矢量,可基于合并候选的动作矢量导出周边对搜索点的精细动作矢量(Refined MV)。若导出了周边对搜索点的精细动作矢量,则可基于导出的精细动作矢量决定合并候选的动作矢量。具体地,可搜索对多个搜索点的精细动作矢量中具有最小费用(作为一例,最小RD-cost)的动作矢量,并将搜索出的具有最小费用的动作矢量作为合并候选的动作矢量使用。
下面,参照附图,详细说明更新当前块的动作信息的方法。为了方便说明,假设被更新的动作信息为动作矢量。
图14是示出根据本发明的一实施例的更新当前块的动作矢量的方法的图。
为了更新当前块的动作矢量,可决定对当前块的细化模式(Refinement Mode)(S1410)。细化模式可指双向匹配(Bi-lateral matching)或模板匹配(Templatematching)中的至少一个。
双向匹配是假设当前块的双向动作矢量存在于相同的动作轨迹(motiontrajectory)来搜索沿双向动作矢量的动作轨迹的动作矢量及参照块的方法。在利用双向匹配时,可基于根据当前块的双向动作矢量计算的双向模板来更新当前块的动作矢量。具体地,可通过出的双向模板与沿当前块的双向动作矢量的动作轨迹的参照块之间的RDcost,来搜索具有最小RD cost的参照块及其指示的动作矢量。
模板匹配是通过搜索和参照图片内的与当前块相邻的模板最匹配的区域来导出当前块的动作信息的方法。具体地,可在搜索参照图片内的与当前块相邻的模板及费用最低的区域之后,将与搜索出的区域相邻的对象块设定为当前块的参照块。
通过图20及图21后述双向匹配及模板匹配。
可决定关于当前块的搜索点的信息(S1420)。关于当前块的搜索点的信息可包括搜索点的个数、搜索点的位置、或搜索点间搜索顺序中的至少一个。与搜索点相关的信息可以以在已编码器及解码器中定义的格式存储。此时,可将已定义的搜索点关联格式称为搜索图案(Search Pattern)或解码器侧合并细化搜索图案(Decoder Side MergeRefinement Search Pattern)。
搜索图案可包括菱形图案(Diamond Pattern)、自适应十字图案(Adaptive CrossPattern)、星形图案(Star Pattern)、及/或六角形图案(Hexagon Pattern)等。各搜索图案的搜索点的个数、搜索点的位置、或搜索点的搜索顺序中的至少一个可以不同。
编码器及解码器可选择多个搜索图案候选中的至少一个,并基于所选择的搜索图案来决定搜索点的个数、位置、或搜索顺序中的至少一个。
图15至图18是分别示出菱形图案、自适应十字图案、星形图案、及六角形图案的图。
菱形图案表示以通过初始动作矢量特定的参照块为中心来搜索点以菱形形态排列的图案。作为一例,在将参照块的左侧上端坐标设为(0,0)的情况下,菱形图案可包括(0,4)、(2,2)、(4,0)、(2,-2)、(0,-4)、(-2,-2)、(-4,0)、(-2,2)等的搜索点。
自适应十字图案表示以通过初始动作矢量特定的参照块为中心来搜索点以二个菱形形态排列的图案。作为一例,在将参照块的左侧上端坐标设为(0,0)的情况下,自适应十字图案可包括(0,2)、(2,0)、(0,-2)、(-2,0)、(0,1)、(1,0)、(0,-1)、(-1,0)等的搜索点。
星形图案表示以通过初始动作矢量特定的参照块为中心来搜索点以星形形态排列的团。作为一例,在将参照块的左侧上端坐标设为(0,0)的情况下,星形图案可包括(0,4)、(1,1)、(4,0)、(1,-1)、(0,-4)、(-1,-1)、(-4,0)、(-1,1)等的搜索点。
六角形图案表示以通过初始动作矢量特定的参照块为中心来搜索点以六角形态排列的图案。作为一例,在将参照块的左侧上端坐标设为(0,0)的情况下,六角形图案可包括(0,2)、(2,2)、(4,0)、(2,-2)、(0,-2)、(-2,-2)、(-4,0)、(-2,2)等的搜索点。
图15至图18示出的例子仅说明了本发明的一实施例,并不限定本发明。即,能够使用与图15至图18示出的图案不同的搜索图案来更新当前块的动作矢量。
另外,还可将图15至图18示出的搜索图案变形来更新当前块的动作矢量。作为一例,在图15至图18示出的例子中,可使用将搜索点的个数、位置或搜索顺序变更一部分得到的搜索图案来更新当前块的动作矢量。
作为另一例子,可基于当前块的大小、形态、或当前图片与参照图片之间的输出顺序差异中的至少一个来适应性地决定搜索图案所包含的搜索点的位置。作为一例,可在当前块的大小为规定大小以上的情况下,利用图15示出的搜索点,另一方面,在当前块的大小比规定大小小的情况下,利用具有图15示出的搜索点的1/2坐标值的搜索点。
解码器可使用与编码器相同的搜索图案执行解码器侧合并细化。为了使解码器使用与编码器相同的搜索图案,可将用于特定在编码器使用的搜索图案的信息通过比特流用信号发出。所述信息可以是特定多个搜索图案中某一个的索引信息。
或者,可基于当前块的大小、形态(例如,当前块是否是正方形或非正方形)、块级别(例如,当前块是否是编码块或子块)、帧间预测模式(例如,合并模式、AMVP模式、或跳过模式)、或细化模式中的至少一个来决定当前块的搜索图案。作为一例,可设定为在编码块级别选择菱形搜索,另一方面,在子编码块级别选择子自适应十字搜索。或者,还可设定为在编码块级别选择星形搜索或六角形搜索。
或者,可基于当前块的大小、形态、块级别、帧间预测模式、或细化模式中的至少一个,决定用于特定在编码器使用的搜索图案的特定的信息是否已用信号发出。
若决定了当前块的搜索图案,则可决定对搜索点的精细动作矢量(S1430)。
精细动作矢量可基于当前块的初始动作矢量及/或当前图片与参照图片之间的输出顺序(POC)差异来导出。具体地,在将通过当前块的初始动作矢量特定的参照块移动到搜索点的位置时,可将当前块与被移动的参照块之间的距离设定为对搜索点的精细动作矢量。由此,可通过对当前块的初始动作矢量加减与搜索点的位置对应的坐标值或者通过对当前块的初始动作矢量加减坐标值的N倍来导出精细动作矢量。
图19是用于说明导出对搜索点的精细动作矢量的图。
为了方便说明,假设当前块的初始L0动作矢量为(1,1)切初始L1动作矢量为(-1,-1)。同时,假设当前图片与L0参照图片(Ref0之间的输出顺序差异TD0和当前图片与L1参照图片(Ref1之间的输出顺序差异TD1相同。
可基于当前块的双向动作矢量的动作轨迹(Motion Trajectory),导出对搜索点的精细动作矢量。具体地,在将通过当前块的双向动作矢量特定的参照块移动了搜索点的坐标值时,可将当前块与被移动的参照块之间的距离作为精细动作矢量导出。
作为一例,可将(0,1)位置的搜索点的精细L0动作矢量设定为(0,1),并将精细L1动作矢量设定为(-1,0)。即,可对当前块的初始动作矢量加上搜索点的坐标值来导出搜索点的精细动作矢量。
此时,可将搜索点的精细L0动作矢量及精细L1动作矢量分别与TD0及TD1成正比地决定。作为一例,在TD0及TD1为1:N的比例的情况下,可将搜索点的精细L0动作矢量通过对当前块的L0动作矢量(MVx0,MVy0)加减搜索点的坐标值(x,y)来导出(即,(MVx0+x,MVy0+y)或(MVx0-x,MVy0-y)),另一方面,可将搜索点的精细L1动作矢量通过对当前块的L1动作矢量(MVx1,MVy1)加减对搜索点的坐标值适用了N倍数的值(Nx,Ny)来导出(即,(MVx1+Nx,MVy1+Ny)或(MVx1-Nx,MVy1-Ny))。相反,在TD0及TD1为N:1的比例的情况下,可将搜索点的精细L0动作矢量通过对当前块的L0动作矢量(MVx0,MVy0)加减对搜索点的坐标值适用了N倍数的值(Nx,Ny)来导出(即,(MVx0+Nx,MVy0+Ny)或(MVx0-Nx,MVy0-Ny)),另一方面,可将搜索点的精细L1动作矢量通过对当前块的L1动作矢量(MVx1,MVy1)加减搜索点的坐标值(x,y)来导出(即,(MVx1+x,MVy1+y)或(MVx1-x,MVy1-y))。
其结果,可将对特定位置样本的精细动作矢量可通过考虑当前图片与参照图片之间的时间差异来决定。
若导出了对搜索点的精细动作矢量,则可基于导出的精细动作矢量来测定搜索点中的费用(S1440)。
图20是用于说明在细化模式为双向匹配时测定搜索点中的费用的例子的图。
在当前块的细化模式为双向匹配的情况下,可测定基于当前块的初始动作矢量导出的初始预测块(或,初始双向模板)与基于精细动作矢量导出的精细预测块(或,精细双向模板)之间的RD cost。
具体地,若根据当前块的L0动作矢量MV0及L1动作矢量MV1特定了L0参照块及L1参照块,则可通过L0参照块及L1参照块的加权和运算来获取当前块的初始预测块。
另外,若根据搜索点中的精细L0动作矢量MV0’及精细L1动作矢量MV1’特定了精细L0参照块及精细L1参照块,则可通过精细L0参照块及精细L1参照块的加权和运算获取精细预测块。
若获取了初始预测块及精细预测块,则可通过计算初始预测块与精细预测块之间的RD cost来计算搜索点中的费用。
图21是用于说明在细化模式为模板匹配时测定搜索点中的费用的例子的图。
在当前块的细化模式是模板匹配的情况下,可测定与当前块相邻的模板(即,相邻模板)和与基于精细动作矢量导出的精细预测块相邻的模板(即,精细相邻模板)之间的RDcost。
相邻模板可包括与当前块(Cur Block)相邻的上端区域或左侧区域中的至少一个,精细相邻模板可包括与精细预测块相邻的上端区域或左侧区域中的至少一个。在此,上端区域或左侧区域可以是包括规定大小的块或规定个数的线(行或列)的区域。模板的大小或形态可基于当前块的大小、形态、动作矢量、或当前图片与参照图片的输出顺序差异中的至少一个来可变地决定。
若决定了相邻模板及精细相邻模板,则可通过测定相邻模板与精细相邻模板之间的RD cost来计算搜索点中的费用。
作为另一例子,模板匹配可通过在参照图片的搜索区域内搜索与当前块的相邻模板最类似的区域来执行。若搜索到规定区域内的与当前块的相邻模板最类似的区域,则可将与搜索出的区域相邻的块与当前块之间的距离设定为精细动作矢量。作为一例,在相邻模板是与当前块的上端相邻的区域或与当前块的左侧相邻的区域的情况下,可将搜索区域内的与相邻模板在费用最低的区域的下端或右侧相邻的块和当前块之间的距离设定为精细动作矢量。
当前块的细化模式可基于当前块的大小、形态、帧间预测模式、是否是双向预测、动作矢量大小、或相邻块的可用性中的至少一个来决定。作为一例,在当前块的初始动作矢量是单向的情况下,可将模板匹配作为当前块的细化模式来选择。相反,在当前块的初始动作矢量是双向的情况下,可将双向匹配作为当前块的细化模式来选择。
或者,可通过比特流将特定细化模式的信息用信号发出。
或者,还可基于当前块的大小、形态、帧间预测模式、是否是双向预测、动作矢量大小、或相邻块的可用性中的至少一个,来决定是否将所述信息用信号发出。作为一例,可在当前块的初始动作矢量为双向预测的情况下,将所述信息用信号发出,相反,在当前块的初始动作矢量为单向预测的情况下,将所述信息不用信号发出而选择已定义的细化模式。
编码器及解码器可对通过搜索图案特定的所有的搜索点反复执行S1430及S1440步骤(S1450、S1460)。可在搜索点为不可用的情况下,将不可用的搜索点替代为可用的搜索点,或者对不可用搜索点不执行所述S1430及S1440步骤。作为一例,在搜索点位于图片的外侧的情况下,可将相应搜索点决定为不可用。
此后,可将多个搜索点中费用最低的搜索点的精细动作矢量决定为当前块的动作矢量(S1470)。即,当前块的初始动作矢量可更新为费用最低的搜索点的精细动作矢量。若更新了当前块的动作矢量,则可基于更新的动作矢量执行动作补偿。
图14中说明了更新搜索点中的当前块的动作矢量的方法。DMCR也可以与通过图14说明的方法相同的方法执行。具体地,可在决定各合并候选细化模式及搜索图案之后,基于各合并候选的动作矢量导出对搜索点的精细动作矢量,并基于导出的精细动作矢量计算搜索点的费用。此后,可将多个搜索点中费用最低的搜索点的精细动作矢量决定为合并候选的动作矢量。
细化模式及/或搜索图案可对所有的合并候选相同地设定,某一个合并候选可具有与其他合并候选不同的细化模式及/或搜索图案。
不仅合并候选,在AMVP模式下还能够更新动作矢量候选。即,可更新当前块的空间相邻块及/或时间相邻块的动作矢量,并基于更新的动作矢量导出动作矢量候选。在上述的例子中,说明了通过由解码器以与编码器相同的方法更新动作矢量而不需要将关于更新前后的动作矢量差分值的信息用信号发出的情况。
作为另一例子,为了更新当前块的动作矢量,可通过比特流将关于更新的信息进行编码来用信号发出。在此,关于更新的信息可包括指示具有最低费用的搜索点的信息(例如,搜索点的索引或位置)、或表示更新前后动作矢量的差分值的信息中的至少一个。
图14中示出了按照规定顺序更新当前块的动作矢量的情况。但是,本发明并不限定于图14示出的顺序。作为一例,省略了图14示出的顺序中一部分或者更新了一部分的顺序的实施例也可包含于本发明的范围。作为一例,省略细化模式选择步骤(S1410)及搜索图案选择步骤(S1420)中某一个或者改变其顺序的实施例也包含于本发明的范围。
上述的实施例基于一系列步骤或者顺序图来进行说明,但这并非限定发明的时间序列,可以根据需要同时执行或者按照其他顺序执行。此外,在上述的实施例中构成框图的构成要素(例如,单元、模块等)每一个既可以由硬件装置或者软件来实现,也可以通过多个构成要素的结合而由一个硬件装置或者软件来实现。上述的实施例可由能够通过多种计算机构成要素来执行的程序指令形态来实现并存储于计算机可读取存储介质中。上述计算机可读取存储介质可以以单独方式或者组合方式包含程序指令、数据文件、数据结构等。作为计算机可读取存储介质的示例,包括硬盘、软盘以及磁带之类的磁介质、CD-ROM、DVD之类的光存储介质、光磁盘(floptical disk)之类的光磁介质(magneto-optical media)、以及ROM、RAM、闪存等之类的以存储程序指令并予以执行的方式特别构成的硬件装置。上述硬件装置为了执行本发明所涉及的处理而可以构成为作为一个以上的软件模块运转,反之也一样。
关于包括以上实施例的实施方式,还公开下述的技术方案:
方案1.一种图像解码方法,其特征在于,包括:
获取当前块的初始动作矢量的步骤;
基于所述初始动作矢量,导出多个搜索点中的各搜索点的精细动作矢量的步骤;以及
基于所述多个搜索点中的一个精细动作矢量获取所述当前块的动作矢量的步骤。
方案2.根据方案1所述的图像解码方法,其特征在于,
基于所述当前块的合并候选或动作矢量候选来获取所述初始动作矢量。
方案3.根据方案1所述的图像解码方法,其特征在于,
还包括选择所述当前块的细化模式的步骤,
所述细化模式包括双向匹配或模板匹配中的至少一个。
方案4.根据方案3所述的图像解码方法,其特征在于,
基于所述当前块的预测方向是否为双向来决定所述细化模式。
方案5.根据方案3所述的图像解码方法,其特征在于,
在所述细化模式为双向匹配的情况下,通过对基于所述初始动作矢量获取的第一预测块与基于所述精细动作矢量获取的第二预测块进行比较来计算所述搜索点的费用。
方案6.根据方案3所述的图像解码方法,其特征在于,
在所述细化模式为模板匹配的情况下,通过对与所述当前块相邻的模板和与通过所述精细动作矢量特定的参照块相邻的模板进行比较来计算所述搜索点的费用。
方案7.根据方案1所述的图像解码方法,其特征在于,
还包括决定所述当前块的搜索图案的步骤,
根据所述决定的搜索图案,决定搜索点的个数、位置、或所述多个搜索点间的搜索顺序中的至少一个。
方案8.根据方案7所述的图像解码方法,其特征在于,
基于所述当前块的大小、形态、帧间预测模式、或细化模式中的至少一个来决定所述当前块的搜索图案。
方案9.一种图像解码方法,其特征在于,
获取当前块的初始动作矢量的步骤;
基于所述初始动作矢量,导出多个搜索点中的各搜索点的精细动作矢量的步骤;以及
基于所述多个搜索点中的一个精细动作矢量获取所述当前块的动作矢量的步骤。
方案10.根据方案9所述的图像解码方法,其特征在于,
基于所述当前块的合并候选或动作矢量候选来获取所述初始动作矢量。
方案11.根据方案9所述的图像解码方法,其特征在于,
还包括选择所述当前块的细化模式的步骤,
所述细化模式包括双向匹配或模板匹配中的至少一个。
方案12.根据方案11所述的图像解码方法,其特征在于,
所述细化模式是基于所述当前块的预测方向是否为双向来决定。
方案13.根据方案9所述的图像解码方法,其特征在于,
还包括决定所述当前块的搜索图案的步骤,
根据所述决定的搜索图案,决定搜索点的个数、位置、或所述多个搜索点间的搜索顺序中的至少一个。
方案14.一种图像解码装置,其特征在于,
包括帧间预测部,该帧间预测部获取当前块的初始动作矢量,并基于所述初始动作矢量,导出多个搜索点中的各搜索点的精细动作矢量,并基于所述多个搜索点中的一个精细动作矢量获取所述当前块的动作矢量。
方案15.一种图像解码装置,其特征在于,
包括帧间预测部,该帧间预测部获取当前块的初始动作矢量,并基于所述初始动作矢量,导出多个搜索点中的各搜索点的精细动作矢量,并基于所述多个搜索点中的一个精细动作矢量获取所述当前块的动作矢量。
工业可利用性
本发明可适用于能够对图像进行编码/解码的电子装置。
- 搅拌车控制方法、搅拌作业控制系统和搅拌车
- 搅拌车控制系统、搅拌车遥控装置及搅拌车