CN108702509B - 用于处理视频信号的方法和设备 - Google Patents

用于处理视频信号的方法和设备 Download PDF

Info

Publication number
CN108702509B
CN108702509B CN201780012734.3A CN201780012734A CN108702509B CN 108702509 B CN108702509 B CN 108702509B CN 201780012734 A CN201780012734 A CN 201780012734A CN 108702509 B CN108702509 B CN 108702509B
Authority
CN
China
Prior art keywords
block
prediction
current block
motion vector
samples
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
Application number
CN201780012734.3A
Other languages
English (en)
Other versions
CN108702509A (zh
Inventor
李培根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KT Corp
Original Assignee
KT Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020160022476A external-priority patent/KR20170100211A/ko
Priority claimed from KR1020160022481A external-priority patent/KR102609632B1/ko
Application filed by KT Corp filed Critical KT Corp
Priority to CN202311295092.6A priority Critical patent/CN117376554A/zh
Priority to CN202311295084.1A priority patent/CN117376553A/zh
Priority to CN202311294163.0A priority patent/CN117354536A/zh
Publication of CN108702509A publication Critical patent/CN108702509A/zh
Application granted granted Critical
Publication of CN108702509B publication Critical patent/CN108702509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/23Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with coding of regions that are present throughout a whole video segment, e.g. sprites, background or mosaic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Picture Signal Circuits (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

本发明涉及视频信号处理方法和设备,用于通过使用简化的仿射运动模型来增加预测准确性并提高编码效率。根据本发明的视频信号处理方法通过使用与当前块相关的多个运动矢量来得到仿射运动矢量,并且基于仿射运动矢量和当前样本的位置来执行运动补偿。

Description

用于处理视频信号的方法和设备
技术领域
本发明涉及用于处理视频信号的方法和设备。
背景技术
近来,在各种应用领域中对高分辨率和高质量图像(例如,高清晰度(HD)图像和超高清晰度(UHD)图像)的需求已经增加了。然而,与常规图像数据相比,更高分辨率和质量的图像数据的数据量增加。因此,当通过使用介质(例如,常规的有线和无线宽带网络)传送图像数据时,或者当通过使用常规的存储介质存储图像数据时,传送和存储的成本增加了。为了解决随着图像数据的分辨率和质量的提高而出现的这些问题,可以利用高效的图像编码/解码技术。
图像压缩技术包括各种技术,包括:根据当前图片的先前图片或后续图片来对包括在当前图片中的像素值进行预测的帧间预测技术;通过使用当前图片中的像素信息对包括在当前图片中的像素值进行预测的帧内预测技术;将短代码分配给出现频率高的值并且将长代码分配给出现频率低的值的熵编码技术等。可以通过使用这样的图像压缩技术来有效地压缩图像数据,并且图像数据可以进行传送或存储。
同时,随着对高分辨率图像的需求的增加,对作为新的图像服务的立体图像内容的需求也在增加。正在探讨的是用于有效地提供具有高分辨率和超高分辨率的立体图像内容的视频压缩技术。
发明内容
技术问题
本发明的目的意在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备对编码块进行分层划分。
本发明的目的意在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备执行对编码/解码目标块的帧内预测。
本发明的目的意在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备对编码/解码目标块的预测样本进行校正。
本发明的目的意在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备通过使用偏移将通过帧内预测生成的第一预测样本更新为第二预测样本。
本发明的目的意在提供用于对视频信号进行编码/解码的方法和设备,帧间预测方法和设备基于运动模块。
本发明的目的意在提供用于对视频信号进行编码/解码的方法和设备,所述方法和设备对用于帧内预测的参考样本进行滤波。
技术方案
根据本发明,提供了用于对视频信号进行解码的方法和设备,该方法包括:通过对当前块执行帧内预测来生成第一预测样本;确定指定当前块被划分成子块的方式的帧内预测方式;基于帧内预测方式来确定当前块的子块单元中的偏移;以及通过使用第一预测样本和偏移在当前块的子块单元中生成第二预测样本。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以确定是否针对每个子块设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以基于子块的位置来确定是否针对该子块设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以针对每个子块将偏移设置为不同的值。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以根据与当前块相邻的参考样本得到偏移。
根据本发明,提供了用于对视频信号进行解码的方法和设备,所述方法包括:使用与当前块相关的多个运动矢量来得到仿射运动矢量;并且基于得到的仿射运动矢量和当前样本的位置来执行运动补偿。
在根据本发明的用于对视频信号进行解码的方法和设备中,多个运动矢量对应于当前块中包括的角样本的多个运动矢量。
在根据本发明的用于对视频信号进行解码的方法和设备中,多个运动矢量包括当前块的左上角样本的运动矢量和当前块的右上角样本的运动矢量。
在根据本发明的用于对视频信号进行解码的方法和设备中,将当前块划分为多个子块,并且使用得到的仿射运动矢量以子块为单位执行运动补偿。
在根据本发明的用于对视频信号进行解码的方法和设备中,使用当前块的相邻块的运动矢量得到多个运动矢量。
有益效果
根据本发明,可以通过对编码块的分层/自适应划分来提高编码效率。
根据本发明,可以有效地确定编码/解码目标块的帧内预测模式,并且提高帧内预测的准确性。
根据本发明,可以提高对于编码/解码目标块的帧间预测的准确性。
附图说明
图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是示出针对每个区块不同地确定初始概率索引的示例的视图。
图29示出了作为应用本发明的实施方式的运动模型的示例。
图30至图32示出了根据本发明的实施方式的使用简化仿射运动模型的帧间预测过程。
图33示出了根据应用本发明的实施方式的得到角样本的运动矢量的方法。
图34示出了根据应用本发明的实施方式的用于帧内预测的参考样本的范围。
图35至图37示出了对参考样本进行滤波的示例。
最佳实施方式
根据本发明,提供了用于对视频信号进行解码的方法和设备,该方法包括:通过对当前块执行帧内预测来生成第一预测样本;确定帧内预测方式,以指定当前块被划分成子块的方式;基于帧内预测方式来确定当前块的子块单元中的偏移;以及通过使用第一预测样本和偏移在当前块的子块单元中生成第二预测样本。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以确定是否针对每个子块来设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以基于子块的位置来确定是否针对该子块来设置偏移。
在根据本发明的用于对视频信号进行解码的方法和设备中,当前块可以包括多个子块,并且可以针对每个子块将偏移设置为不同的值。
在根据本发明的用于对视频信号进行解码的方法和设备中,可以根据与当前块相邻的参考样本得到偏移。
根据本发明,提供了用于对视频信号进行解码的方法和设备,所述方法包括:使用与当前块相关的多个运动矢量来得到仿射运动矢量;以及基于得到的仿射运动矢量和当前样本的位置来执行运动补偿。
在根据本发明的用于对视频信号进行解码的方法和设备中,多个运动矢量对应于当前块中包括的角样本的多个运动矢量。
在根据本发明的用于对视频信号进行解码的方法和设备中,多个运动矢量包括当前块的左上角样本的运动矢量和当前块的右上角样本的运动矢量。
在根据本发明的用于对视频信号进行解码的方法和设备中,将当前块划分为多个子块,并且使用得到的仿射运动矢量以子块为单位执行运动补偿。
在根据本发明的用于对视频信号进行解码的方法和设备中,使用当前块的相邻块的运动矢量得到多个运动矢量。
具体实施方式
可以对本发明进行各种修改,并且存在本发明的各种实施方式,现在将参照附图提供实施方式的示例,并且详细描述它们。然而,本发明不限于此,并且示例性实施方式可以被解释为包括本发明的技术构思和技术范围内的所有修改、等同物或替代方案。在所描述的附图中,相似的附图标记指代相似的元件。
说明书中使用的术语“第一”、“第二”等可以用于描述各种部件,但是这些部件不被解释为限制于这些术语。这些术语仅用于区分一个部件与其他部件。例如,在不偏离本发明的范围的情况下,“第一”部件可以被称为“第二”部件,并且“第二”部件也可以被类似地称为“第一”部件。术语“和/或”包括多个项的组合或者多个术语中的任意一个术语。
应该理解的是,在本说明书中,当元件被简单地称为“连接至”或“耦接至”另一元件而不是“直接连接至”或“直接耦接至”另一元件时,该元件可以“直接连接至”或“直接耦接至”另一元件,或者该元件可以连接至或耦接至另一元件,并且存在其他元件介于它们之间。相反地,应该理解的是,当元件被称为“直接耦接”或“直接连接”至另一元件时,不存在中间元件。
本说明书中使用的术语仅用于描述特定实施方式,而并不意在限制本发明。以单数形式使用的表述包含复数形式的表述,除非该表述在上下文中有明显不同的含义。在本说明书中,应当理解的是,诸如“包括”、“具有”等术语意在指示本说明书中公开的特征、数字、步骤、动作、元件、部分或其组合的存在,并且不意在排除可以存在或可以添加一个或更多个其他特征、数字、步骤、动作、元件、部分或其组合的可能性。
在下文中,将参照附图详细描述本发明的优选实施方式。在下文中,附图中的相同组成元件通过相同的附图标记来表示,并且将省略对相同元件的重复描述。
图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]
8x8变换 16x16变换 32x32变换
阈值 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))>>2
例如,在当前块的帧内预测模式是水平模式时,可以使用左上侧相邻样本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 block)相似,也可能存在不以帧内预测或帧间预测来执行编码的情况,或者可能存在以帧内预测或帧间预测编码的预测图片的质量可能相对较低的情况。在这种情况下,可以将用于亮度补偿的权重和偏移应用于预测样本,使得可以提高预测图片的质量。
参照图9,在步骤S900处,可以确定权重w和偏移f中的至少一个。
可以以序列参数集、图片参数集和片头(slice header)中的至少一个来用信号传送权重w和偏移f中的至少一个。可替选地,可以以预定块单元来用信号传送权重w和偏移f中的至少一个,并且在预定块单元中包括的多个块(例如,CU、PU和TU)可以共享一个用信号传送的权重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,使得可以获得经校正的预测样本p',如等式11所示。
[等式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的值是0时,在当前块中可以不使用利用偏移来更新第一预测样本的方法。然而,步骤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]
当符号二进制化完成时,在步骤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更新为与transIdxLPS相对应的索引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_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。
图29示出了作为应用本发明的实施方式的运动模型的示例。
作为运动建模的方法,可以使用平移运动模型、旋转运动模型或仿射运动模型。
平移运动模型可以表示如图29(a)所示的线性移动,并且对象的运动可以由2D坐标和/或运动矢量(MVx,MVy)表示。旋转运动模型可以表示对象以特定角度的旋转形式的运动,如图29(b)所示。同时,参照图29(c),由于对象的移动是非线性的,因此可能存在对象的移动、旋转或各部分的大小彼此不同的情况。仿射运动模型可以表示基于移动、旋转、大小调整等的对象的移动。例如,仿射运动模型可以使用如以下等式12所示的预定参数(a至f)来表示。
[等式12]
x′ax+by+e,y′=cx+dy+f
在等式12中,x和y表示包括在当前块中的样本的位置,并且x'和y'表示包括在参考块中的样本的位置。表示当前块的样本与参考块的样本之间的位置差的仿射运动矢量(Vx,Vy)可以由等式13表示。
[等式13]
Vx=x-x′,Vy=y-y′
仿射运动矢量(Vx,Vy)可以通过使用等式12和等式13由等式14得到。
[等式14]
Vx=(1-a)x-by-e,Vy=(1-d)y-cx-f
基于上述仿射运动模型,可以基于预定参数得到与当前样本相对应的仿射运动矢量,并且使用得到的仿射运动矢量执行运动补偿。
图30至图32示出了根据本发明的实施方式的使用简化的仿射运动模型的帧间预测过程。
参照图30,可以使用与当前块的角样本相对应的运动矢量来得到仿射运动矢量(S3000)。
角样本可以包括左上角样本、右上角样本、左下角样本或右下角样本中的至少一个。可以使用与n个角样本相对应的运动矢量来得到仿射运动矢量。与n个角样本相对应的运动矢量中的至少一个可以具有与其余运动矢量不同的大小和/或方向。
其中,n的值可以是1、2、3、4或更多。n的值可以是在编码器/解码器中预定义的固定值。可替选地,编码器可以基于仿射运动模型对用于帧间预测的角样本的位置/数目进行编码并且用信号传送,并且解码器可以基于用信号传送的信息可变地确定n的值。
可替选地,可以基于当前块的形状或大小中的至少一个来可变地确定n的值。
例如,取决于当前块是否具有正方形形状或当前块是否对称划分,n的值可以不同。在当前块具有正方形形状(例如,N×N)时,可以使用与三个角样本相对应的运动矢量(V0、V1、V2)。如果当前块具有非正方形形状(例如,N×2N),则可以使用与两个角样本相对应的运动矢量(V0、V1)。
可替选地,N的值可以根据当前块的大小与预定的第一阈值之间的比较结果而不同。当前块的大小可以表示为宽度(W)、高度(H)、宽度与高度之和(W+H)或者样本的数目(W*H)。如果当前块的大小大于第一阈值,则可以使用与当前块中的三个角样本相对应的运动矢量(V0、V1、V2)。如果当前块大小小于第一阈值,则可以使用与当前块中的两个角样本相对应的运动矢量(V0、V1)。第一阈值可以是编码器/解码器中的预定义值。可替选地,编码器可以对最佳阈值进行编码并用信号传送。解码器可以基于用信号传送的信息得到第一阈值。可以通过序列、图片、片或块级别中的至少一个来用信号传送所述信息。
n个角样本的位置可以是在编码器/解码器中预定义的固定位置。例如,如果n=2,则预定的固定位置可以包括当前块的左上角样本和右上角样本。当n=3时,预定的固定位置可以包括当前块的左上角样本、右上角样本和左下角样本。
可替选地,编码器可以基于仿射运动模型对用于帧间预测的角样本的位置进行编码并用信号传送,并且解码器可以基于用信号传送的信息指定角样本的位置。
可替选地,可以基于当前块的形状或大小中的至少一个来确定角样本的位置。
例如,取决于当前块是否具有正方形形状或当前块是否对称划分,角样本的位置可以不同。如果当前块具有正方形形状(例如,N×N),则可以使用当前块的左上角样本和右上角样本。如果当前块具有非正方形形状(例如,N×2N),则可以使用当前块的左上角样本和左下角样本。相反,还可能的是,在当前块具有正方形形状时,使用左上角样本和右上角样本,而在当前块具有非正方形形状时,使用左上角样本和左下角样本。
可替选地,可以根据当前块的大小与预定的第二阈值之间的比较结果来确定角样本的位置。第二阈值可以是在编码器/解码器中预定义的值。可替选地,编码器可以对最佳阈值进行编码并用信号传送。解码器可以基于用信号传送的信息得到第二阈值。可以通过序列、图片、片和块级别中的至少一个来用信号传送所述信息。
在下文中,参照图31,将描述使用与多个角样本相对应的运动矢量来得到仿射运动矢量的方法。
参照图31(a),可以使用当前块的左上角样本、右上角样本和左下角样本的运动矢量(V0、V1、V2)来得到仿射运动矢量。例如,仿射运动矢量(Vx,Vy)可以作为等式15得到。
[等式15]
在等式15中,w可以表示由运动矢量V0指定的参考样本与由运动矢量V1指定的参考样本之间的位置差。可替选地,w可以表示由运动矢量V0和V1指定的参考块的宽度或高度。
可替选地,参照图31(b),可以使用在当前块的左上角样本和右上角样本处的运动矢量(V0,V1)来得到仿射运动矢量。在这种情况下,左下角样本的运动矢量可以由等式16表示。
[等式16]
V2x=VOx+VOy-v1y,V2y=-VOx+VOy+V1x
使用等式15和等式16,可以如等式17得到仿射运动矢量。
[等式17]
参照图30,可以使用从S3000得到的仿射运动矢量来执行运动补偿(S3010)。
具体地,可以使用仿射运动矢量来确定与当前样本相对应的参考样本。可以将确定的参考样本设置为当前样本的预测值。
可替选地,如图32所示,可以以包括在当前块中的多个子块为单位执行运动补偿。为此,可以将当前块划分为多个子块,这将在下面详细描述。
(1)基于数目划分
可以基于预定数目m将当前块划分为多个子块。m的值可以是大于零的整数。例如,如果预定数目m是4并且当前块是16×16,则可以以8×8子块为单位均匀划分当前块。
此时,预定数目可以是为编码器/解码器预定义的固定数目。可替选地,编码器可以对构成当前块的子块的数目进行编码并用信号传送,并且解码器可以基于用信号传送的信息来确定预定数目m。可替选地,可以基于当前块的大小或形状中的至少一个来可变地确定预定数目。例如,在当前块的大小是16×16时,可以以四个8×8子块为单位执行运动补偿。如果当前块的大小是64×64或32×32,则可以以十六个16×16子块或四个16×16子块为单位执行运动补偿。
(2)基于大小划分
可以以具有预定大小(N×M)的子块为单位划分当前块,而不考虑当前块的大小。其中,N和M是大于零的整数。N和M可以彼此相同或不同。预定大小可以是在编码器/解码器中预定义的固定值。可替选地,编码器可以对最佳子块的大小进行编码并用信号传送,并且解码器可以基于用信号传送的信息来确定子块的大小。可以通过序列、图片、片和块级别中的至少一个来用信号传送所述信息。
通过对上述(1)基于数目的划分和(2)基于大小的划分进行组合,可以将当前块划分为多个子块。划分可以被限制成使得子块具有正方形形状或非正方形形状。或者,划分可以被限制成使得子块具有与当前块相同的形状或不同的形状。
可以基于被划分的每个子块的特定位置和从S3000得到的仿射运动矢量来执行运动补偿。这里,特定位置可以意指子块的四个角位置或中心位置中的至少一个。在这种情况下,如图32所示,每个子块可以具有彼此不同的仿射运动矢量。
可以通过使用与多个角样本相对应的运动矢量得到仿射运动矢量(第一步)和使用仿射运动矢量得到运动补偿(第二步)的步骤来实现基于上述仿射运动模型的帧间预测过程。或者,可以在一个步骤中实现帧间预测过程。
同时,基于仿射运动模型的帧间预测可以被定义为仿射帧间模式。可以基于指定帧间模式的类型的标识符(例如,标记、索引)来选择性地使用该仿射帧间模式。或者,可以基于编码/预测块的大小或形状中的至少一个来限制地或选择性地使用仿射帧间模式。例如,仅当编码/预测块具有正方形形状并且块的大小大于16×16时,才可以使用仿射帧间模式来执行帧间预测。
图33示出了根据应用本发明的实施方式的得到角样本的运动矢量的方法。
角样本的运动矢量可以从当前块的相邻块得到。参照图33(a),可以使用相邻块A、B和C中的至少一个来得到左上角样本的运动矢量V0。可以使用相邻块D和E中的至少一个来得到右上角样本的运动矢量(V1)。或者,可以使用相邻块B、C和F中的至少一个来得到V0,并且可以使用相邻块A、D和E中的至少一个来得到V1。在这种情况下,相邻块的运动矢量可以被设置为角样本的运动矢量,或者可以通过将差分运动矢量添加到相邻块的运动矢量来得到角样本的运动矢量。为此目的,编码器可以对差分运动矢量进行编码并用信号传送,该差分运动矢量是角样本的运动矢量与相邻块的运动矢量之间的差。
如果V0和V1的值彼此相等或者如果V0和V1是从相同的相邻块得到的,则可以从另一相邻块的运动矢量得到V0或V1。或者,可以将特定偏移应用于V0或V1中的一个以得到另一个。例如,在图33(a)中,如果从相邻块A、B和C中的任何一个得到的V0与从相邻块D和E中的任何一个得到的V1彼此相等,则V0或V1可以替换为相邻块F的运动矢量。为此目的,可以用信号传送指示角样本的运动矢量(例如,V0和V1)是否彼此相等的标记或索引,并且可以用信号传送指定与另一角样本具有相同的运动矢量的角样本的位置的信息。
V0或V1中的任何一个可以通过基于另一个的差分编码来进行编码。例如,V1没有按原样进行编码,并且仅可以对具有V0的差分运动矢量进行编码。在这种情况下,解码器可以使用V0和经编码的差分运动矢量来恢复V1。尽管为了便于描述仅提及V0和V1,但是可以使用与左下角样本相对应的运动矢量V2和与右下角样本相对应的运动矢量V3。并且,它们可以以类似于V0和V1的方式被恢复。
取决于当前块的形状,可以不同地配置角样本的运动候选列表。例如,如图33(a)所示,在当前块具有正方形形状时,左上角样本的运动候选列表通过使用相邻块A、B和C来构成,右上角样本的运动候选列表通过使用相邻块D和E构成。另一方面,如图33(b)所示,在当前块具有非正方形形状时,左上角样本的运动候选列表通过使用相邻块C、B和F来构成,并且左下角样本的运动候选列表通过使用相邻块A、D和E来构成。
图34示出了根据应用本发明的实施方式的用于帧内预测的参考样本的范围。
参照图34,可以通过使用位于当前块的边界的参考样本P(-1,-1)、P(-1,y)(0<=y<=2N-1)和P(x,-1)(0<=x<=2N-1)来执行帧内预测。此时,基于当前块的帧内预测模式(例如,帧内预测模式的索引、方向性、角度等)或者与当前块相关的变换块的大小中的至少一个来选择性地执行对参考样本的滤波。
可以选择多个帧内滤波器候选中的至少一个,以对参考样本执行滤波。这里,多个帧内滤波器候选可以在滤波器强度、滤波器系数或抽头数目(例如,滤波器系数的数目、滤波器长度)中的至少一个方面彼此不同。可以在序列、图片、片别或块级别中的至少一个中限定多个帧内滤波器候选。也就是说,包括当前块的序列、图片、片或块可以使用相同的多个帧内滤波器候选。
在下文中,为了便于说明,假设多个帧内滤波器候选包括第一帧内滤波器和第二帧内滤波器。还假设第一帧内滤波器是(1,2,1)3抽头滤波器,第二帧内滤波器是(2,3,6,3,2)5抽头滤波器。
当通过应用第一帧内滤波器对参考样本进行滤波时,可以如等式18所示得到经滤波的参考样本。
[等式18]
P(-1,-1)=(P(-1,0)+2P(-1,-1)+P(0,-1)+2)>>2
P(-1,y)=(P(-1,y+1)+2P(-1,y)+P(-1,y-1)+2)>>2
P(x,-1)=(P(x+1,-1)+2P(x,-1)+P(x-1,-1)+2)>>2
当通过应用第二帧内滤波器对参考样本进行滤波时,可以如以下等式19所示得到经滤波的参考样本。
[等式19]
P(-1,-1)=(2P(-2,0)+3P(-1,0)+6P(-1,-1)+3P(0,-1)+2P(0,-2)+8)>>4
P(-1,y)=(2P(-1,y+2)+3P(-1,y+1)+6P(-1,y)+3P(-1,y-1)+2P(-1,y-2)+8)>>4
P(x,-1)=(2P(x+2,-1)+3P(x+1,-1)+6P(x,-1)+3P(x-1,-1)+2P(x-2,-1)+8)>>4
基于参考样本的位置,可以确定多个帧内滤波器候选中的一个,并且用于通过使用所确定的一个帧内滤波器候选来对参考样本执行滤波。例如,第一帧内滤波器可以应用于当前块的边界处的参考样本,并且第二帧内滤波器可以应用于其他参考样本。具体地,如图35所示,通过应用如等式18所示的第一帧内滤波器来对参考样本P(-1,-1)、P(-1,0)、P(-1,1)、...、P(-1,N-1)和P(0,-1)、P(1,-1)、...执行滤波,并且通过应用如等式19所示的第二参考滤波器来对其他参考样本执行滤波。
可以基于用于当前块的变换类型来选择多个帧内滤波器候选中的一个,并且使用所选择的一个帧内滤波器候选来对参考样本执行滤波。这里,变换类型可以意指:(1)变换方案诸,如DCT、DST或KLT,(2)变换模式指示符,诸如2D变换、1D变换或非变换,或者(3)变换的数目,诸如第一变换和第二变换。在下文中,为了便于描述,假设变换类型意指变换方案,诸如DCT、DST和KLT。
例如,如果使用DCT对当前块进行编码,则可以使用第一帧内滤波器来执行滤波,如果使用DST对当前块进行编码,则可以使用第二帧内滤波器来执行滤波。或者,如果使用DCT或DST对当前块进行编码,则可以使用第一帧内滤波器来执行滤波,并且如果使用KLT对当前块进行编码,则可以使用第二帧内滤波器来执行滤波。
可以使用基于当前块的变换类型和参考样本的位置选择的滤波器来执行滤波。例如,如果使用DCT对当前块进行编码,则可以通过使用第一帧内滤波器来对参考样本P(-1,-1)、P(-1,0)、P(-1,1)、...、P(-1,N-1)和P(0,-1)、P(1,-1)、...、P(N-1,-1)执行滤波,并且可以通过使用第二帧内滤波器来对其他参考样本执行滤波。如果使用DST对当前块进行编码,则可以通过使用第二帧内滤波器来对参考样本P(-1,-1)、P(-1,0)、P(-1,1)、...、P(-1,N-1)和P(0,-1)、P(1,-1)、...、P(N-1,-1)执行滤波,并且可以通过使用第一帧内滤波器来对其他参考样本执行滤波。
可以基于包括参考样本的相邻块的变换类型与当前块的变换类型是否相同来选择多个帧内滤波器候选中的一个,并且可以使用所选择的帧内滤波器候选来执行滤波。例如,在当前块与相邻块使用相同的变换类型时,使用第一帧内滤波器执行滤波,并且在当前块与相邻块的变换类型彼此不同时,第二帧内滤波器可以用于执行滤波。
可以基于相邻块的变换类型来选择多个帧内滤波器候选中的任何一个,并且使用所选择的一个帧内滤波器候选对参考样本执行滤波。也就是说,可以考虑包括参考样本的块的变换类型来选择特定滤波器。例如,如图36所示,如果与当前块的左/左下相邻的块是使用DCT进行编码的块,并且与当前块的上/右上相邻的块是使用DST进行编码的块,则通过应用第一帧内滤波器对与当前块的左/左下相邻的参考样本执行滤波,并且通过应用第二帧内滤波器来对与当前块的上/右上相邻的参考样本执行滤波。
在预定区域的单元中,可以限定可在相应区域中使用的滤波器。在本文中,预定区域的单位可以是序列、图片、片、块组(例如,编码树单元行)或块(例如,编码树单元)中的任何一个。或者,可以限定共享一个或更多个滤波器的另外的区域。可以通过使用映射到包括当前块的区域的滤波器来对参考样本进行滤波。
例如,如图37所示,可以使用CTU单元中的不同滤波器对参考样本执行滤波。在这种情况下,可以经由序列参数集(SPS)或图片参数集(PPS)用信号传送指示在序列或图片中是否使用相同滤波器的信息、用于每个CTU的滤波器的类型、指定在可用的帧内滤波器候选中的相应的CTU中使用的滤波器的索引。
尽管已经基于一系列步骤或流程图描述了上述实施方式,但是它们不限制本发明的时序顺序,并且可以根据需要同时或以不同顺序执行。此外,构成上述实施方式中的框图的部件(例如,单元、模块等)中的每一个可以由硬件设备或软件以及多个部件来实现。或者,可以通过单个硬件设备或软件来组合并实现多个部件。上述实施方式可以以程序指令的形式实现,所述程序指令可以通过各种计算机部件执行并记录在计算机可读记录介质中。计算机可读记录介质可以包括程序命令、数据文件、数据结构等之一或其组合。计算机可读介质的示例包括磁介质(诸如硬盘、软盘和磁带)、光学记录介质(诸如CD-ROM和DVD)、磁光介质(诸如光磁软盘)、介质和专门配置成存储和执行程序指令的硬件设备(诸如ROM、RAM、闪存)等。硬件设备可以被配置成作为一个或更多个软件模块来进行操作,以用于执行根据本发明的过程,反之亦然。
工业应用性
本发明可以用于对视频信号进行编码/解码。

Claims (8)

1.一种对视频进行解码的方法,所述方法包括:
使用当前块的多个角运动矢量来得到被包括在所述当前块的子块中的运动矢量,所述多个角运动矢量包括左上角运动矢量和右上角运动矢量;以及
基于所得到的运动矢量来执行针对所述子块的运动补偿,
其中:
通过使用与左上角和右上角之间的差相关的差分运动矢量来得到所述当前块的右上角运动矢量。
2.根据权利要求1所述的方法,其中,基于经由比特流用信号传送的信息来确定所述角运动矢量的数目。
3.根据权利要求1所述的方法,其中,所述差分运动矢量是通过经由比特流显式地用信号传送的信息得到的,并且
其中,所述右上角运动矢量是通过将右上角运动矢量预测器与右上角运动矢量差相加而得到的,所述右上角运动矢量差是通过所述差分运动矢量得到的。
4.根据权利要求2所述的方法,其中,使用所述当前块的相邻块的运动矢量得到所述左上角运动矢量。
5.一种用于对视频进行解码的设备,所述设备包括:
帧间预测单元,用于使用当前块的多个角运动矢量来得到被包括在所述当前块的子块中的运动矢量,所述多个角运动矢量包括左上角运动矢量和右上角运动矢量,并基于所得到的运动矢量来执行针对所述子块的运动补偿,
其中:
通过使用与左上角和右上角之间的差相关的差分运动矢量来得到所述当前块的右上角运动矢量。
6.根据权利要求5所述的设备,其中,基于经由比特流用信号传送的信息来确定所述角运动矢量的数目。
7.根据权利要求5所述的设备,其中,所述差分运动矢量是通过经由比特流显式地用信号传送的信息得到的,并且
其中,所述右上角运动矢量是通过将右上角运动矢量预测器与右上角运动矢量差相加而得到的,所述右上角运动矢量差是通过所述差分运动矢量得到的。
8.根据权利要求6所述的设备,其中,使用所述当前块的相邻块的运动矢量得到所述左上角运动矢量。
CN201780012734.3A 2016-02-25 2017-02-24 用于处理视频信号的方法和设备 Active CN108702509B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202311295092.6A CN117376554A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN202311295084.1A CN117376553A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN202311294163.0A CN117354536A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR1020160022476A KR20170100211A (ko) 2016-02-25 2016-02-25 비디오 신호 처리 방법 및 장치
KR1020160022481A KR102609632B1 (ko) 2016-02-25 2016-02-25 비디오 신호 처리 방법 및 장치
KR10-2016-0022476 2016-02-25
KR10-2016-0022481 2016-02-25
PCT/KR2017/002072 WO2017146526A1 (ko) 2016-02-25 2017-02-24 비디오 신호 처리 방법 및 장치

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN202311294163.0A Division CN117354536A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN202311295084.1A Division CN117376553A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN202311295092.6A Division CN117376554A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备

Publications (2)

Publication Number Publication Date
CN108702509A CN108702509A (zh) 2018-10-23
CN108702509B true CN108702509B (zh) 2023-10-31

Family

ID=59685482

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202311294163.0A Pending CN117354536A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN202311295092.6A Pending CN117376554A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN201780012734.3A Active CN108702509B (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN202311295084.1A Pending CN117376553A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202311294163.0A Pending CN117354536A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备
CN202311295092.6A Pending CN117376554A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311295084.1A Pending CN117376553A (zh) 2016-02-25 2017-02-24 用于处理视频信号的方法和设备

Country Status (5)

Country Link
US (1) US20190068989A1 (zh)
EP (1) EP3422719A4 (zh)
CN (4) CN117354536A (zh)
ES (4) ES2917099B1 (zh)
WO (1) WO2017146526A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11503315B2 (en) * 2016-08-19 2022-11-15 Lg Electronics Inc. Method and apparatus for encoding and decoding video signal using intra prediction filtering
WO2018070152A1 (en) * 2016-10-10 2018-04-19 Sharp Kabushiki Kaisha Systems and methods for performing motion compensation for coding of video data
US10992939B2 (en) * 2017-10-23 2021-04-27 Google Llc Directional intra-prediction coding
US10225578B2 (en) 2017-05-09 2019-03-05 Google Llc Intra-prediction edge filtering
KR20200100656A (ko) * 2018-01-16 2020-08-26 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
US10986354B2 (en) * 2018-04-16 2021-04-20 Panasonic Intellectual Property Corporation Of America Encoder, decoder, encoding method, and decoding method
WO2019229683A1 (en) 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
WO2020002762A1 (en) * 2018-06-28 2020-01-02 Nokia Technologies Oy Method and apparatus for motion compensation with non-square sub-blocks in video coding
AU2019292471A1 (en) * 2018-06-30 2021-01-28 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Merge mode-based inter-prediction method and apparatus
US10462488B1 (en) * 2018-07-13 2019-10-29 Tencent America LLC Method and apparatus for video coding
CN110944189B (zh) * 2018-09-23 2023-11-28 北京字节跳动网络技术有限公司 从仿射运动预测的非仿射块
WO2020098812A1 (en) 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Pruning method for history-based affine parameters
WO2020098810A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector difference in video processing
WO2020103933A1 (en) * 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Configuration method for default motion candidate
CN117915083A (zh) 2018-11-29 2024-04-19 北京字节跳动网络技术有限公司 块内拷贝模式和帧间预测工具之间的交互
WO2020114517A1 (en) * 2018-12-08 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Shifting on affine parameters
JP7209092B2 (ja) 2018-12-21 2023-01-19 北京字節跳動網絡技術有限公司 動きベクトル差分によるマージ(mmvd)モードにおける動きベクトル予測
CN113261290B (zh) 2018-12-28 2024-03-12 北京字节跳动网络技术有限公司 基于修改历史的运动预测
CN113597760A (zh) 2019-01-02 2021-11-02 北京字节跳动网络技术有限公司 视频处理的方法
CN109818940B (zh) * 2019-01-03 2021-06-25 浙江好络维医疗技术有限公司 一种适用于在嵌入式硬件中实现实时传输的心电波形快速压缩算法
US11356699B2 (en) * 2019-01-11 2022-06-07 Hfi Innovation Inc. Method and apparatus of sub-block deblocking in video coding
WO2020169109A1 (en) * 2019-02-22 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Sub-table for history-based affine mode
WO2020181474A1 (zh) * 2019-03-11 2020-09-17 Oppo广东移动通信有限公司 预测值的确定方法、编码器以及计算机存储介质
US11178399B2 (en) * 2019-03-12 2021-11-16 Qualcomm Incorporated Probability initialization for video coding
JP7244646B2 (ja) * 2019-03-12 2023-03-22 テンセント・アメリカ・エルエルシー ビデオ符号化又は復号の方法及び装置並びにコンピュータプログラム
CN111656782A (zh) * 2019-06-19 2020-09-11 北京大学 视频处理方法和设备
KR20230157531A (ko) * 2019-09-24 2023-11-16 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 픽처 인코딩/디코딩 방법, 인코더, 디코더 및 저장 매체
US12003731B2 (en) 2021-09-29 2024-06-04 Qualcomm Incorporated Adaptive determination of multiple transform candidates for video coding
WO2024086406A1 (en) * 2022-10-20 2024-04-25 Tencent America LLC Improvement of local illumination compensation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172644A (ja) * 1995-10-18 1997-06-30 Sharp Corp アフィン変換による動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
CN104053001A (zh) * 2013-03-15 2014-09-17 三星电子株式会社 对视频进行稳定化的方法和包括后处理电路的视频解码器
CN105163116A (zh) * 2015-08-29 2015-12-16 华为技术有限公司 图像预测的方法及设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU1941797A (en) * 1997-03-17 1998-10-12 Mitsubishi Denki Kabushiki Kaisha Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system
US20090051679A1 (en) * 2007-08-24 2009-02-26 Simon Robinson Local motion estimation using four-corner transforms
KR101003105B1 (ko) * 2008-01-29 2010-12-21 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
US9008175B2 (en) * 2010-10-01 2015-04-14 Qualcomm Incorporated Intra smoothing filter for video coding
US9584806B2 (en) * 2012-04-19 2017-02-28 Futurewei Technologies, Inc. Using depth information to assist motion compensation-based video coding
WO2014065547A1 (ko) * 2012-10-22 2014-05-01 (주)휴맥스 3차원 영상의 뷰간(inter-view) 움직임 벡터 예측에서의 변이 벡터 유도 방법
EP2920962A4 (en) * 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
US9596448B2 (en) * 2013-03-18 2017-03-14 Qualcomm Incorporated Simplifications on disparity vector derivation and motion vector prediction in 3D video coding
US9438910B1 (en) * 2014-03-11 2016-09-06 Google Inc. Affine motion prediction in video coding
KR101589186B1 (ko) * 2014-04-16 2016-01-27 국방과학연구소 글로벌 모션벡터 보상을 이용한 영상정합 방법
CN112087630B (zh) * 2014-09-30 2022-04-08 华为技术有限公司 图像预测方法、装置、解码器及存储介质
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
MY190198A (en) * 2015-03-10 2022-04-04 Huawei Tech Co Ltd Picture prediction method and related apparatus
WO2017118411A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system
WO2017130696A1 (ja) * 2016-01-29 2017-08-03 シャープ株式会社 予測画像生成装置、動画像復号装置、および動画像符号化装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09172644A (ja) * 1995-10-18 1997-06-30 Sharp Corp アフィン変換による動き補償フレーム間予測方式を用いた動画像符号化・復号化装置
CN104053001A (zh) * 2013-03-15 2014-09-17 三星电子株式会社 对视频进行稳定化的方法和包括后处理电路的视频解码器
CN105163116A (zh) * 2015-08-29 2015-12-16 华为技术有限公司 图像预测的方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Algorithm Description of Joint Exploration Test Model 1;Jianle Chen等;《Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》;20151021;摘要,第2.4.5节,图12-15 *
一种面向快速全局运动估计的渐进精细阈值方法;郑嘉利;覃团发;;计算机科学(第06期);全文 *

Also Published As

Publication number Publication date
CN117376554A (zh) 2024-01-09
CN117354536A (zh) 2024-01-05
ES2800509R1 (es) 2021-03-02
ES2917099B1 (es) 2023-04-21
ES2737841B1 (es) 2021-07-27
ES2800509B1 (es) 2021-12-21
US20190068989A1 (en) 2019-02-28
CN117376553A (zh) 2024-01-09
ES2800509A2 (es) 2020-12-30
CN108702509A (zh) 2018-10-23
ES2737841R1 (es) 2020-04-16
ES2917099R1 (es) 2022-08-05
ES2692864R1 (es) 2019-01-02
ES2692864B1 (es) 2019-10-21
ES2692864A2 (es) 2018-12-05
EP3422719A4 (en) 2019-10-09
WO2017146526A1 (ko) 2017-08-31
ES2917099A2 (es) 2022-07-06
ES2737841A2 (es) 2020-01-16
EP3422719A1 (en) 2019-01-02

Similar Documents

Publication Publication Date Title
CN108702509B (zh) 用于处理视频信号的方法和设备
US11343499B2 (en) Method and apparatus for processing video signal
CN108353164B (zh) 用于处理视频信号的方法和设备
CN110063056B (zh) 用于处理视频信号的方法和设备
CN109691112B (zh) 用于处理视频信号的方法和设备
CN109804624B (zh) 用于处理视频信号的方法和设备
CN109716762B (zh) 用于处理视频信号的方法
CN114827601B (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
GR01 Patent grant
GR01 Patent grant