CN118018719A - 视频编码和解码方法以及传输比特流的方法 - Google Patents

视频编码和解码方法以及传输比特流的方法 Download PDF

Info

Publication number
CN118018719A
CN118018719A CN202410342009.4A CN202410342009A CN118018719A CN 118018719 A CN118018719 A CN 118018719A CN 202410342009 A CN202410342009 A CN 202410342009A CN 118018719 A CN118018719 A CN 118018719A
Authority
CN
China
Prior art keywords
block
current
encoding
tree
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410342009.4A
Other languages
English (en)
Inventor
金在一
李善暎
高京奂
申在燮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Telecom Co Ltd
Original Assignee
SK Telecom Co Ltd
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 KR1020200009734A external-priority patent/KR20200110164A/ko
Application filed by SK Telecom Co Ltd filed Critical SK Telecom Co Ltd
Publication of CN118018719A publication Critical patent/CN118018719A/zh
Pending legal-status Critical Current

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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请涉及视频编码和解码方法以及传输比特流的方法。本发明提供了一种以块为单位对被分割成大小相等的编码树块的图片进行预测的图像解码方法。所述图像解码方法包括以下步骤:通过对来自比特流的块向量信息进行解码,以重构当前编码树块中的待解码的当前编码块的块向量,其中,当前编码块是从当前编码树块以树结构分割的块中的一个;以及将当前编码块所位于的图片中的块向量所指示的参考块设置为当前编码块的预测块。

Description

视频编码和解码方法以及传输比特流的方法
本申请是原案申请号为202080035498.9的发明专利申请(国际申请号:PCT/KR2020/003572,申请日:2020年3月16日,发明名称:使用块内复制的图像编码和解码)的分案申请。
技术领域
本公开涉及通过使用块内复制(IBC)模式以块为单位执行视频预测来对视频进行编码和解码。
背景技术
由于视频数据的量大于语音数据或静止图像数据的量,因此在不进行压缩处理的情况下存储或传输视频数据需要包括存储器在内的大量硬件资源。
因此,在存储或传输视频数据时,通常使用编码器对视频数据进行压缩以进行存储或传输。然后,解码器接收压缩后的视频数据,并对视频数据进行解压缩和再现。这种视频的压缩技术包括H.264/AVC和高效视频编码(HEVC),与H.264/AVC相比,HEVC的编码效率提高了约40%。
然而,视频的大小、分辨率和帧率都正在逐渐增加,并且相应地要编码的数据量也正在增加。因此,需要一种比现有压缩技术具有更好编码效率和更高图像质量的新压缩技术。
发明内容
技术问题
本公开涉及改进的视频编码和解码,并且提出了一种使用块内复制模式以块为单位预测视频的技术。
技术方案
根据至少一个方面,本公开提供一种以块为单位预测被分割成大小相等的编码树块的图片的视频解码方法。所述方法包括:通过对来自比特流的块向量信息进行解码,重构要解码的当前编码树块中的当前编码块的块向量,其中,当前编码块是从当前编码树块以树结构分割的块中的一个;以及将所述当前编码块所在的图片中的由所述块向量所指示的参考块设置为所述当前编码块的预测块。这里,所述块向量的值被限制以防止所述参考块位于在所述当前编码树块和所述当前编码树块的左编码树块中的至少一个中设置的搜索区域之外,并且所述搜索区域是从所述当前编码树块和所述左编码树块中的每一个以相等大小分割的多个处理区域当中的预解码处理区域中选择的。
根据另一方面,本公开提供一种以块为单位对被分割成大小相等的编码树块的图片进行预测的视频编码方法,所述视频编码方法包括以下步骤:确定要编码的当前编码树块的当前编码块的块向量,其中,所述当前编码块是从所述当前编码树块以树结构分割的块中的一个;将所述当前编码块所在的图片中的由所述块向量指示的参考块设置为所述当前编码块的预测块;以及对与所述块向量有关的信息进行编码。这里,所述块向量的值被限制以防止所述参考块位于在所述当前编码树块和所述当前编码树块的左编码树块中的至少一个中设置的搜索区域之外,并且所述搜索区域是从所述当前编码树块和所述左编码树块中的每一个以相等大小分割的多个处理区域当中的预编码处理区域中选择的。
根据另一方面,本公开提供了一种视频解码装置,所述视频解码装置用于预测被分割成大小相等的编码树块的图片中要解码的当前编码块,所述视频解码装置包括:解码器,所述解码器被配置为将当前编码树块按树结构进行分割,以便确定要解码的当前编码块,并从比特流解码块向量信息;以及预测器,所述预测器被配置为使用所述块向量信息计算所述当前编码块的块向量,并将包括所述当前编码块的所述图片中的所述块向量指示的参考块设置为所述当前编码块的预测块。这里,所述块向量的值被限制以防止所述参考块位于在所述当前编码树块和所述当前编码树块的左编码树块中的至少一个中设置的搜索区域之外,并且所述搜索区域是从所述当前编码树块和所述左编码树块中的每一个以相等大小分割的多个处理区域当中的预解码处理区域中选择的。
有益效果
当模式在图片中重复时,本公开中提出的块内复制(IBC)模式是用于提高压缩性能的有用工具。特别是,本公开提供了一种定义和管理搜索范围(SR)以在图片内找到与要编码的块相同的参考块的有用方法。
附图说明
图1是能够实现本公开的技术的视频编码装置的示例的框图;
图2是描述QTBTTT分割树结构的图;
图3是描述多个内部预测模式的图;
图4是能够实现本公开的技术的视频解码装置的示例的框图;
图5是描述块内复制(IBC)模式的图;
图6a和图6b是描述通过对当前编码块的语法元素进行解码来确定当前编码块的预测模式的过程的图;
图7是描述根据编码树块的分割形式的编码树块的编码/解码顺序的图;
图8是描述当扫描顺序如图7的(a)所示时根据当前编码块的位置设置搜索区域的方法的图;
图9是描述当扫描顺序如图7的(b)所示时根据当前编码块的位置设置搜索区域的方法的图;
图10是描述当以Z扫描顺序对当前编码树块的64×64区域进行编码/解码时设置搜索区域的方法的示例的图;
图11是描述当以倒N扫描顺序对当前编码树块的64×64区域进行编码/解码时设置搜索区域的方法的另一示例的图;
图12是描述在左编码树块内设置搜索区域的方法的另一示例的图;
图13是描述将左编码树块的预定数量的64×64区域和当前编码树块的经编码/经解码区域设置为搜索区域的另一示例的图;
图14是描述对块向量进行编码/解码的方法的图;以及
图15、图16和图17是描述裁剪块向量的方法的示例的图。
具体实施方式
在下文中,将参照附图来详细地描述本公开的一些实施方式。应当注意的是,在各个附图中向组成元件添加附图标记时,相同的附图标记表示相同的元件,尽管这些元件在不同的附图中示出。此外,在本公开的以下描述中,将省略在此并入的已知功能和配置的详细描述,以避免模糊本公开的主题。
图1是能够实现本公开的技术的视频编码装置的示例性框图。在下文中,将参考图1描述视频编码装置和该装置的元件。
视频编码装置包括块分割器110、预测器120、减法器130、变换器140、量化器145、编码器150、逆量化器160、逆变换器165、加法器170、滤波器单元180和存储器190。
视频编码装置的每个元件可以用硬件或软件或者硬件和软件的组合来实现。各个元件的功能可以用软件来实现,并且微处理器可以实现为执行与各个元件对应的软件功能。
一个视频包括多个图片。每个图片被分割成多个区域,并对每个区域执行编码。例如,一个图片被分割成一个或更多个图块和/或切片。这里,一个或更多个图块可以被定义为图块组或者可以与切片相同。每个图块或切片被分割成一个或更多个大小相等的编码树单元(CTU)。换句话说,一个图片可以被分割成大小相等的CTU,一个或更多个CTU可以构成一个图块或一个切片。每个CTU以树结构分割成一个或更多个编码单元(CU)。应用于各CU的信息被编码为CU的语法,并且共同应用于一个CTU中包括的CU的信息被编码为CTU的语法。此外,共同应用于一个图块中的所有块的信息被编码为图块的语法或被编码为作为多个图块的集合的图块组或切片的语法,并且应用于构成一个图片的所有块的信息被编码在图片参数集(PPS)或图片报头中。此外,由多个图片共同引用的信息被编码在序列参数集(SPS)中。另外,由一个或更多个SPS共同引用的信息被编码在视频参数集(VPS)中。
块分割器110确定编码树单元(CTU)的大小。关于CTU的大小(CTU大小)的信息被编码为SPS或PPS的语法,并且被发送到视频解码装置。
块分割器110将构成视频的每个图片分割成具有预定大小的多个CTU,并且然后使用树结构递归地分割CTU。在树结构中,叶节点用作编码单元(CU),所述编码单元是编码的基本单元。
树结构可以是四叉树(QT)、二叉树(BT)、三叉树(TT)或者由QT结构、BT结构和TT结构中的两个或更多个的组合而形成的结构,在四叉树中,一个节点(或父节点)被分割成四个大小相同的子节点(或孩节点),在二叉树中,一个节点被分割成两个子节点,在三叉树中,一个节点以1:2:1的比例分割成三个子节点。例如,可以使用QTBT(四叉树加二叉树)结构或QTBTTT(四叉树加二叉树三叉树)结构。这里,BTTT可以统称为多类型树(MTT)。
图2示出处了QTBTTT分割树结构。如图2所示,CTU最初可能会以QT结构分割。QT分割可以重复进行,直到分割块的大小达到QT中允许的叶节点的最小块大小(MinQTSize)。指示QT结构的每个节点是否被分割成下层的四个节点的第一标志(QT_split_flag)被编码器150编码并用信号发送给视频解码装置。当QT的叶节点不大于BT中允许的根节点的最大块大小(MaxBTSize)时,可以进一步以BT结构或TT结构中的一个或更多个进行分割。在BT结构和/或TT结构中,可以有多个分割方向。例如,可能有两个方向,所述两个方向是节点的块的水平分割和垂直分割。如图2所示,当MTT分割开始时,由编码器150对指示节点是否被分割的第二标志(mtt_split_flag)、指示分割方向(垂直或水平)的标志、和/或指示分割类型(二叉或三叉)的标志进行编码并用信号发送给视频解码装置。
作为树结构的另一示例,当使用QTBTTT结构分割块时,由编码器150对与指示块已被分割的CU分割标志(split_cu_flag)和指示分割类型是否为QT分割的QT分割标志(split_qt_flag)有关的信息进行编码并用信号发送给视频解码装置。当split_cu_flag的值指示块尚未被分割时,该节点的块成为分割树结构中的叶节点并用作编码单元(CU),所述编码单元(CU)是编码的基本单元。当split_cu_flag的值指示块已经被分割时,通过split_qt_flag的值来区分割分类型是QT还是MTT。当分割类型为QT时,没有附加信息。当分割类型是MTT时,由编码器150对指示MTT分割方向(垂直或水平)的标志(mtt_split_cu_vertical_flag)和/或指示MTT分割类型(二叉或三叉)的标志(mtt_split_cu_binary_flag)进行编码并用信号发送给视频解码装置。
作为树结构的另一示例,当使用QTBT时,可能有两种分割类型,所述两种分割类型是将节点的块水平分割(即,对称水平分割)和垂直分割(即,对称垂直分割)为相同的大小的两个块。由编码器150对指示BT结构的每个节点是否被分割成下层的块的分割标志(split_flag)和指示分割类型的分割类型信息进行编码并发送到视频解码装置。可能还有其它类型,所述其它类型是将节点的一个块分割成两个不对称的块。非对称分割类型可以包括将一个块以1:3的大小比例分割成两个矩形块的类型以及对角分割节点的块的类型。
根据CTU的QTBT或QTBTTT分割,CU可以具有各种大小。在下文中,与要编码或解码的CU(即,QTBTTT的叶节点)对应的块可以被称为“当前块”或“当前编码块”。CTU可以被称为编码树单元或编码树块。
预测器120预测当前块以生成预测块。预测器120包括帧内预测器(intra-predictor)122和帧间预测器(inter-predictor)124。
一般而言,图片中的每个当前块可以被预测性地编码。可以使用帧内预测技术(其基于来自包括当前块的图片的数据执行)或帧间预测技术(其基于来自在包括当前块的图片之前被编码的图片的数据执行)来执行当前块的预测。帧间预测包括单向预测和双向预测二者。
帧内预测器122使用位于包括当前块的当前图片中的当前块周围的像素(参考像素)来预测当前块中的像素。根据预测方向有多种帧内预测模式。例如,如图3所示,多个帧内预测模式可以包括非定向模式和65个定向模式,所述非定向模式包括平面模式和DC模式。对于每个预测模式,要使用的等式和邻近像素被不同地定义。
帧内预测器122可以确定在对当前块进行编码时要使用的帧内预测模式。在一些示例中,帧内预测器122可以使用若干帧内预测模式对当前块进行编码并且从测试模式中选择适当的帧内预测模式以供使用。例如,帧内预测器122可以使用若干测试帧内预测模式的率失真分析来计算率失真值,并且可以在测试模式当中选择具有最佳率失真特性的帧内预测模式。
帧内预测器122从多个帧内预测模式当中选择一种帧内预测模式,并使用邻近像素(参考像素)和根据所选择的帧内预测模式确定的等式来预测当前块。由编码器150对与所选择的帧内预测模式有关的信息进行编码并且发送到视频解码装置。
帧间预测器124通过运动补偿过程产生当前块的预测块。帧间预测器在比当前图片更早编码和解码的参考图片中搜索与当前块最相似的块,并基于搜索到的块生成当前块的预测块。然后,帧间预测器生成与当前图片中的当前块与参考图片中的预测块之间的位移对应的运动向量。通常,对亮度分量进行运动估计,对于亮度分量和色度分量二者均使用基于亮度分量计算出的运动向量。包括与用于预测当前块的参考图片有关的信息和与运动向量有关的信息的运动信息由编码器150进行编码并被发送到视频解码装置。
减法器130通过从当前块中减去由帧内预测器122或帧间预测器124生成的预测块来生成残差块。
变换器140将空间域中的残差块中具有像素值的残差信号变换为频域中的变换系数。变换器140可以使用当前块的总大小作为变换单元来变换残差块中的残差信号。另选地,变换器可以将残差块分割成变换区域和非变换区域的子块,并且仅使用变换区域的子块作为变换单元对残差信号进行变换。这里,变换区域子块可以是基于水平轴(或垂直轴)尺寸比为1:1的两个矩形块中的一个。在这种情况下,指示仅子块已被变换的标志(cu_sbt_flag)、方向(垂直/水平)信息(cu_sbt_horizontal_flag)和/或位置信息(cu_sbt_pos_flag)由编码器150进行编码并用信号发送给视频解码装置。另外,变换区域子块的大小可以具有基于水平轴(或垂直轴)的1:3的大小比。在这种情况下,用于区分分割的标志(cu_sbt_quad_flag)被编码器150附加地编码且用信号发送给视频解码装置。
量化器145对从变换器140输出的变换系数进行量化,并将量化后的变换系数输出到编码器150。
编码器150通过使用诸如基于上下文的自适应二进制算术码(CABAC)的编码方法对量化后的变换系数进行编码来生成比特流。编码器150对诸如与块分割相关的CTU大小、CU分割标志、QT分割标志、MTT分割方向和MTT分割类型的信息进行编码,使得视频解码装置以与视频编码装置相同的方式分割块。
此外,编码器150对与指示当前块是通过帧内预测还是通过帧间预测编码的预测类型有关的信息进行编码,并且根据预测类型对帧内预测信息(即,关于帧内预测模式的信息)或运动信息(关于参考图片和运动向量的信息)进行编码。
可以使用各种方法来减少或最小化对运动信息进行编码所需的比特量。各种方法的代表性示例包括跳过模式、合并模式和自适应(高级)运动向量预测器(AMVP)模式。
跳过模式和合并模式的不同之处在于,关于残差信号的信息在跳过模式中没有被编码(即,所有的残差信号被设置为0),而在合并模式中关于残差信号的信息被编码。然而,运动信息在跳过模式和合并模式中以相同的方式被编码。首先,从邻近块当中选择预定数量的候选块。当候选块被选择时,帧间预测器124配置包括候选块的合并列表,从包括在合并列表中的候选块的运动信息中选择要用作当前块的运动信息的运动信息,并生成用于识别所选的运动信息(所选的候选块)的合并索引值。合并索引值被编码并用信号发送给视频解码装置。
在AMVP模式中,首先,使用当前块的邻近块关于当前块的运动向量得出运动向量预测器(MVP)候选。帧间预测器124从MVP候选当中选择当前块的运动向量的MVP,并通过从当前块的运动向量中减去所选择的MVP来计算运动向量差(MVD)。指示从MVP候选中被选为MVP的候选的标识信息(MVP索引)和MVD被编码并用信号发送给视频解码装置。
逆量化器160对从量化器145输出的量化变换系数进行逆量化以生成变换系数。逆变换器165将从逆量化器160输出的变换系数从频域变换到空间域并重构残差块。
加法器170将重构的残差块与预测器120生成的预测块相加以重构当前块。重构的当前块中的像素用作下一个块的帧内预测的参考像素。
滤波器单元180对重构像素进行滤波以减少由于基于块的预测和变换/量化而产生的块伪影、振铃伪影和模糊伪影。滤波器单元180可以包括解块滤波器182和样本自适应偏移(SAO)滤波器184。
解块滤波器182对重构块之间的边界进行滤波以去除由逐块编码/解码而引起的块伪影,并且SAO滤波器184另外对解块滤波后的视频进行滤波。SAO滤波器184是用于补偿由有损编码引起的重构像素与原始像素之间的差异的滤波器。
通过解块滤波器182和SAO滤波器184进行滤波的重构块被存储在存储器190中。一旦一个图片中的所有块都被重构,重构的图片被用作用于对要编码的下一个图片中的块进行帧间预测的参考图片。
图4是能够实现本公开的技术的视频解码装置的示例性功能框图。在下文中,将参考图4描述视频解码装置和该装置的元件。
视频解码装置可以包括解码器410、逆量化器420、逆变换器430、预测器440、加法器450、滤波器单元460和存储器470。
类似于图1的视频编码装置,视频解码装置的各个元件可以被实现为硬件或软件,或者可以被实现为硬件和软件的组合。另外,各个元件的功能可以被实现为软件,并且可以将微处理器实现为执行与各个元件对应的软件的功能。
解码器410通过对从视频编码装置接收的比特流进行解码并提取与块分割相关的信息来确定要解码的当前块,并且提取重构当前块所需的关于残差信号的信息和预测信息。
解码器410从序列参数集(SPS)或图片参数集(PPS)中提取关于CTU大小的信息,确定CTU的大小,并将图片分割成所确定大小的CTU。然后,解码器确定CTU为最上层,即,树结构的根节点,并提取与CTU有关的分割信息以使用树结构对CTU进行分割。
例如,当使用QTBTTT结构分割CTU时,首先提取与QT分割相关的第一个标志(QT_split_flag),并将每个节点分割成下层的四个节点。然后,对于与QT的叶节点对应的节点,提取与MTT分割相关的第二标志(MTT_split_flag)以及与分割方向(垂直/水平)和/或分割类型(二叉/三叉)有关的信息,并且叶节点以MTT结构被分割。这样,QT的叶节点下面的每个节点都被以BT或TT结构递归地分割。
作为另一示例,当使用QTBTTT结构分割CTU时,首先提取指示CU是否被分割的CU分割标志(split_cu_flag)。如果对应的块被分割,则提取QT分割标志(split_qt_flag)。当分割类型不是QT而是MTT时,指示MTT分割方向(垂直或水平)的标志(mtt_split_cu_vertical_flag)和/或指示MTT分割类型(二叉或三叉)的标志(mtt_split_cu_binary_flag)被另外地提取。在分割过程中,每个节点可能会进行零次或更多次递归QT分割,并且然后再进行零次或更多次递归MTT分割。例如,CTU可能立即被MTT-分割,也可能只是多次QT-分割。
作为另一示例,当使用QTBT结构分割CTU时,首先提取与QT分割相关的第一个标志(QT_split_flag),并将每个节点分割成下层的四个节点。对于与QT的叶节点对应的节点,提取指示该节点是否进一步被BT分割的split_flag和分割方向信息。
在确定要通过树结构分割对当前块进行解码时,解码器410提取与指示当前块是经历帧内预测还是帧间预测的预测类型有关的信息。当预测类型信息指示帧内预测时,解码器410提取当前块的帧内预测信息(帧内预测模式)的语法元素。当预测类型信息指示帧间预测时,解码器410提取运动信息的语法元素,即,与运动向量有关的信息和与由运动向量参考的参考图片有关的信息。在以跳过模式或合并模式对运动信息进行编码的情况下,解码器410提取合并索引。在以AMVP模式对运动信息进行编码的情况下,解码器410提取运动向量差(MVD)、用于识别运动向量预测器(MVP)的索引和参考图片信息。
解码器410提取与当前块的量化后的变换系数有关的信息作为关于残差信号的信息。
逆量化器420对量化后的变换系数进行逆量化,并将逆量化后的变换系数从频域逆变换到空间域,以重构残差信号来生成当前块的残差块。
另外,当逆变换器430仅对变换块的部分区域(子块)进行逆变换时,指示仅变换块的子块已被变换的标志(cu_sbt_flag)和关于子块的方向信息(垂直/水平)(cu_sbt_horizontal_flag)和/或子块位置信息(cu_sbt_pos_flag)被提取。然后,通过将子块的变换系数从频域逆变换到空间域来重构残差信号。对于没有被逆变换的区域,残差信号用“0”填充。从而,创建了当前块的最终残差块。
预测器440可以包括帧内预测器442和帧间预测器444。在当前块的预测类型是帧内预测时激活帧内预测器442,在当前块的预测类型是帧间预测时激活帧间预测器444。
帧内预测器442基于从解码器410提取的帧内预测模式的语法元素确定多个帧内预测模式当中当前块的帧内预测模式,并根据帧内预测模式基于当前块周围的参考像素来预测当前块。
帧间预测器444通过使用由解码器410提取的与运动信息相关的语法元素来确定当前块的运动向量和运动向量所参考的参考图片,并使用运动向量和参考图片来预测当前块。即,在跳过模式或合并模式中,与从邻近块得到的合并候选当中的由合并索引指示的候选块对应的运动向量被设置为当前块的运动向量。相比之下,在AMVP模式中,当前块的运动向量是通过将运动向量差(MVD)加到从邻近块得到的MVP候选当中的由MVP索引指示的运动向量(MVP)来计算的。
加法器450通过将从逆变换器输出的残差块和从帧间预测器或帧内预测器输出的预测块相加来重构当前块。重构的当前块中的像素用作稍后要解码的块的帧内预测的参考像素。
滤波器单元460可以包括解块滤波器462和SAO滤波器464。解块滤波器462对重构块之间的边界执行解块滤波以去除由逐块解码引起的块伪影。SAO滤波器464在解块滤波之后对重构块执行附加滤波,以补偿重构像素与原始像素之间的由于有损编码而引起的差异。通过解块滤波器462和SAO滤波器464进行滤波的重构块被存储在存储器470中。当一个图片中的所有块都被重构时,重构的图片被用作用于对随后要编码的图片中的块进行帧间预测的参考图片。
在本公开中,当前图片参考(CRP)模式被提出为预测要编码或解码的当前块(当前编码块)的另一种方法。CRP模式可以被称为帧内块复制(IBC)模式。
图5是描述IBC模式的图。
在包括在图5的当前图片中的块当中,阴影块表示已经被编码或解码的块或区域(编码区域),并且非阴影块表示尚未被编码或解码(尚未编码)的块或区域。从中获得当前块的预测信息的参考块与当前图片中已经解码的块对应。参考块由运动向量(MV)指示,并且在IBC模式中,运动向量可以被称为块向量(BV)。关于是否应用IBC模式的信息和关于块向量的信息从视频编码装置用信号发送给视频解码装置。视频解码装置可以基于用信号发送的信息检查当前编码块是否已经以IBC模式编码,并且在当前编码块已经以IBC模式编码时对与块向量有关的信息进行解码以与视频编码装置中使用的方式相同的方式生成预测块。
IBC模式与帧内预测模式的相似之处在于使用了当前图片中包括的参考样本。然而,IBC模式与帧间预测的相似之处在于在当前图片的编码/解码区域中由运动向量指示的位置处的块被生成为预测块,而不使用与当前编码块相邻的编码/解码参考样本。
如上所述,帧间预测可以分为跳过模式、合并模式或AMVP模式。类似地,在IBC模式中,可以在跳过模式、合并模式或AMVP模式中的一者中用信号发送关于块向量的信息。在下文中,为了描述方便,将一般帧间预测中的跳过模式、合并模式和AMVP模式分别描述为inter_skip、inter_merge和inter_amvp,并且将IBC模式下的跳过模式、合并模式和AMVP模式分别描述为ibc_skip、ibc_merge和ibc_amvp。
作为用信号发送关于IBC模式的信息的示例性方法,除了用信号发送标识inter_skip、inter_merge或inter_amvp的语法信息之外,还可以用信号发送指示当前模式是否为IBC模式的标志ibc_flag,以便表示ibc_skip、ibc_merge或ibc_amvp。
作为另一示例,在ibc_skip模式和/或ibc_merge模式的情况下,可以不发送表示IBC模式的附加标志,并且可以根据多个合并候选当中由合并索引指示的候选是否已以IBC模式或通用帧间模式进行编码来识别IBC模式。在ibc_amvp模式下,发送标志ibc_flag以区分普通帧间模式和IBC模式。
根据本公开,在ibc_skip模式和/或ibc_merge模式下,可以另外地发送合并索引值merge_idx以得出运动信息,在ibc_amvp模式下,可以另外地发送块向量差(BVD)和块向量预测器(BVP)信息以得出运动信息。在IBC模式下,当前图片用作参考图片,因此不单独发送关于参考图片的信息。
图6a和图6b是描述通过对当前编码块的语法元素进行解码来确定当前编码块的预测模式的过程。这里,将描述对语法元素进行解码的方法,但是该方法也可以应用于对语法元素进行编码的方法。
可以自适应地使用IBC模式,并且可以通过高级语法来控制IBC模式是开启还是关闭。例如,可以以SPS、PPS、切片或编码树块(CTU)为单位用信号发送指示IBC模式是否被启用的标志ibc_enabled_flag。
图6a和图6b的过程可以分为(1)对指示当前编码块是否与跳过模式对应的skip_flag进行解码的过程(S601至S603),(2)对指示当前编码块的模式是帧间预测模式还是帧内预测模式的预测类型信息pred_flag进行解码的过程(S611至S615),(3)对指示当前编码块是否已经以IBC模式编码的ibc_flag进行解码的过程(S621至S627),以及(4)使用解码后的语法确定当前编码块的预测模式以及根据所确定的预测模式对当前编码块的多条预测信息进行解码的过程(S630至S654)。
首先,在过程(1)中,当ibc_enabled_flag为on时(例如,当ibc_enabled_flag=1时)或者当切片类型不是帧内时,视频解码装置对当前编码块的skip_flag进行解码(S601和S602)。否则,skip_flag被自动设置为0(S601和S603)。这里,当切片类型为帧内时,意味着包括在相应切片中的所有块都已经以帧内模式被编码。即,对于包括在切片中的所有块而言,只有帧内模式可用。另一方面,当切片类型不是帧内时,即,当切片类型是帧间时,意味着帧间预测模式或帧内预测模式可选择性地应用于切片中包括的块。即,对于包括在切片中的块,所有模式都是允许的,而没有对模式的限制。关于切片类型的信息在切片报头中用信号发送。当skip_flag为1时,当前编码块的预测模式可以是inter_skip模式或ibc_skip模式。当前编码块的预测模式是inter_skip模式还是ibc_skip模式可以由下面将描述的ibc_flag值来确定。当ibc_flag值为“1”时,当前编码块的预测模式为ibc_skip模式,并且当ibc_flag值为“0”时,当前编码块的预测模式为inter_skip模式。
在过程(2)中,当skip_flag为off(skip_flag=0)且当切片类型不是帧内时(即,当切片类型为帧间时),视频解码装置对pred_flag进行解码(S611和S612)。即,对于包括在切片中的块而言,允许所有模式。否则,检查切片类型是否为帧内。当切片类型为帧内时,切片中包括的所有块均已经按帧内预测模式进行编码,因此当前编码块的预测模式也被设置为帧内预测模式。即,pred_flag被自动设置为帧内(S613和S614)。另一方面,当切片类型不是帧内时,当前块的预测模式被设置为帧间。即,pred_flag被自动设置为帧间(S613和S615)。当pred_flag为帧内时,当前编码块的预测模式被设置为帧内模式。另选地,当pred_flag为帧间时,当前编码块的预测模式可以根据下面描述的ibc_flag确定为普通帧间模式或IBC模式。
在过程(3)中,当ibc_enabled_flag为off时,ibc_flag被设置为0(S621和S622)。
另一方面,当ibc_enabled_flag为on时,执行操作S623。当切片类型不是帧内(即,当切片类型为帧间)且pred_flag值为帧间(即,当pred_flag值不是帧内时),或当切片类型为帧内且skip_flag为0时,对ibc_flag进行解码(S623和S624)。否则,当切片类型为帧内时,ibc_flag被自动设置为1,并且当切片类型不是帧内时,ibc_flag被自动设置为0。
在过程(4)中,当pred_flag为帧内并且ibc_flag=0时,视频解码装置将当前编码块的预测模式设置为帧内模式并且对与帧内预测模式有关的信息进行解码(S630、S631和S632)。否则,视频解码装置对合并标志进行解码(S630和S640)。合并标志指示当前编码块的运动信息是否已经以合并模式被编码。虽然图6a和图6b未示出,但仅当skipflag=0时才可以从比特流解码合并标志。如果跳过标志=1,则合并标志被自动设置为1。
此后,使用skip_flag、merge_flag、pred_flag和/或ibc_flag来确定当前编码块的最终模式。在skip_flag=1的情况下,根据ibc_flag选择ibc_skip模式或inter_skip模式作为当前编码块的预测模式(S641至S644)。在skip_flag=0的情况下,当合并标志=1时,根据ibc_flag选择ibc_merge模式或inter_merge模式作为当前编码块的预测模式(S645至S648)。在当前编码块的预测模式被确定为ibc_skip、inter_skip、ibc_merge或inter_merge时,视频解码装置对合并索引(merge_idx)进行解码(S649),并且将从邻近块得到的合并候选当中的由合并索引指示的块的运动向量确定为当前编码块的块向量或运动向量。
当合并标志=0时,当pred_flag=帧间且ibc_flag=1时,当前编码块的预测模式被确定为ibc_amvp(S650和S651)。因此,视频解码装置通过对关于当前编码块的块向量差(BVD)和BVP索引bvp_idx进行解码来确定当前编码块的块向量(S652)。视频解码装置根据BVP索引bvp_idx确定BVP并通过将BVP和BVD相加来计算当前编码块的块向量。另外,视频解码装置使用在当前图片中包括并由块向量指示的参考块作为当前编码块的预测块。
当不满足操作S650的条件时,当前编码块的预测模式被设置为inter_amvp模式(S653)。因此,视频解码装置从比特流解码参考图片信息ref_idx、MVD和MVP索引mvp_idx(S654),并通过将MVP候选当中的由MVP索引指示的MVP与MVD相加来计算当前编码块的运动向量。另外,由参考图片信息所指示的参考图片中的运动向量所指示的参考块被用作当前编码块的预测块。
当在IBC模式下将用于搜索参考块的搜索区域设置为当前图片中已经被编码/解码的整个区域时,可以更准确地执行预测,但是存储器(即,用于存储有关搜索区域的信息的缓冲器)的容量应增加为与搜索区域的大小成比例。因此,需要适当地设置搜索区域的大小。
在本公开中,IBC模式下使用的搜索区域限于要编码或解码的目标块(当前编码块)所在的当前编码树块以及与当前编码块的左侧相邻的编码树块。例如,可以将两个编码树块(左编码树块和当前编码树块)一起设置为虚拟缓冲空间,并且搜索区域可以限于在虚拟缓冲空间中存储的区域。更具体地,每个编码树块被划分为具有相同大小的多个处理区域。换言之,虚拟缓冲空间被划分为多个相等大小的处理区域。搜索区域是从虚拟缓冲空间(包括当前编码树块和左编码树块)中的预编码/预解码处理区域中选择的。这里,处理区域可以被定义为块单元(例如,64×64块)以用于并行处理。当编码树块的大小为128×128时,一个编码树块包括四个64×64块,并且可以以64×64块为单位进行并行处理。在这种情况下,虚拟缓冲空间(包括两个编码树块)的大小可能为256×128。
IBC模式是在同一屏幕内执行的预测方法,因此并行处理可能是主要问题之一。即,当目标块(当前编码块)被编码时,可以仅在编码或解码区域中搜索参考块。因此,考虑到并行处理,可以将搜索区域设置为在当前编码块之前已经被编码或解码的虚拟缓冲空间的n(n是自然数)个64×64块(处理区域)。
可以基于从当前编码树块分割的多个处理区域当中的包括当前编码块的当前处理区域位于当前编码树块中的位置从虚拟缓冲空间中选择搜索区域。例如,将当前编码树块中所有已经编码/解码的处理区域设置为搜索区域。此外,可以从左编码树设置搜索区域,排除从左编码树块分割出的多个处理区域当中的与当前处理区域位于同一位置的处理区域。可以在每次对每个处理区域中包括的第一编码块进行编码或解码时设置搜索区域。例如,在当前编码块是当前处理区域中的要编码或解码的第一个编码块时,可以将左编码树块中的与当前处理区域同一位置的处理区域从搜索区域排除。排除的区域继续不作为当前编码树块中当前编码块之后的要解码的编码块的搜索区域。
另一方面,可以根据当前编码树块中的处理区域的编码/解码顺序,在包括当前编码块的当前处理区域之前已经编码/解码的处理区域当中选择搜索区域。例如,在当前编码树块中已经编码/解码的处理区域当中选择编码/解码顺序较晚的预定数量n的处理区域。例如,当编码树块中的处理区域的数量为m时,预定数量n可以被设置为m-1,但实施方式不限于此。在当前编码树块中可选择的处理区域的数量小于预定数目n时,从左编码树块中的处理区域当中另外地选择差额。
例如,可以使用编码/解码顺序来选择左编码树块中要设置为搜索区域的处理区域。即,可以将稍后已经被编码/解码的处理区域设置为左编码树块中的处理区域当中的搜索区域。作为另一示例,当预定数量n被设置为m-1(m表示编码树块的处理区域的数量)时,可以从左编码树块设置搜索区域,排除左编码树块中的与包括当前编码块的当前处理区域位于同一位置的处理区域。排除的区域继续不作为当前编码树块中的当前编码块之后的要解码的编码块的搜索区域。
作为另一种方法,可以将搜索区域设置为包括从当前编码树块中分割出的处理区域当中的所有预解码处理区域以及从左编码树块中分割出的处理区域当中的位于预定位置处的固定数量的处理区域。
作为另一种方法,搜索区域还可以包括在包括当前编码块的当前处理区域中已经被编码/解码的部分。
当如上所述设置搜索区域时,IBC模式中的块向量的值不应被设置为指示搜索区域外部的值。换言之,应该满足块向量所指示的参考块中包括的所有像素都应该在搜索区域内的限制。
下面将参考图7至图13详细描述在IBC模式下设置搜索区域的各种实施方式。为了描述方便,假设编码树块的大小为128×128,并且处理区域的大小为64×64。
第一实施方式
在本实施方式中,在虚拟缓冲空间中,搜索空间被设置为包括紧接在包括要被编码或解码的当前编码块的当前64×64处理区域之前被编码和解码的64×64区域当中的n个区域。这里,n可以表示大于或等于1的自然数。在本实施方式中,n个区域是基于当前编码树块中包括的64×64个区域的编码/解码顺序和/或左编码树块中包括的64×64个区域的编码/解码顺序的。搜索区域被设置为从关于包括当前编码块的当前处理区域的最近被编码/解码的64×64区域开始按照与编码/解码顺序相反的顺序的n个区域。例如,编码树块之间的编码/解码顺序是基于光栅扫描顺序的。即,左编码树块比右编码树块更早地被编码或解码。
编码树块中包括的64×64区域的编码/解码顺序可以根据以树结构分割编码树块的分割形式而变化。
图7是描述根据编码树块的划分类型的编码树块在虚拟缓冲空间中的编码/解码顺序的图。在图7中,每个正方形指的是一个64×64的处理区域,并且由四个64×64区域组成的正方形区域构成一个编码树块。
以编码树块的树结构处理节点的顺序是基于深度优先搜索方法的。当编码树块被分割成四叉树(QT)结构或水平二元结构时,编码树块的四个64×64区域按Z扫描顺序(即,左上区域、右上区域、左下区域和右下区域)进行编码或解码。另一方面,当首先将编码树块分割成垂直二元结构时,编码树块的四个64×64区域按倒N扫描顺序(即,左上区域、左下区域、右上区域和右下区域)进行编码或解码。
因此,当前编码树块和左编码树块的编码/解码顺序可以根据每个编码树块的划分类型分为四种情况,如图7的(a)至图7的(d)所示。图7的(a)例示了当前编码树块和左编码树块二者都以QT结构或水平二元结构分割的情况,图7的(b)例示了当前编码树块以垂直二元结构分割而左编码树块以QT结构或水平二元结构分割的情况,图7的(c)例示了当前编码树块以QT结构或水平二元结构分割而左编码树块以垂直二元结构分割的情况,并且图7的(d)例示了当前编码树块和左编码树块二者都以垂直二元结构分割的情况。
图8是描述当扫描顺序如图7的(a)所示时根据当前编码块的位置设置搜索区域的方法的图。在图8的示例中,假设用作搜索区域的64×64区域的数量是三个。“Curr”表示包括要编码或解码的当前编码块的64×64区域,并且阴影区域表示搜索区域。
如图8的(a)所示,在当前编码块位于当前编码树块的64×64左上区域中时,当前编码树块不包括任何已被编码/解码的64×64区域。因此,根据Z-扫描顺序将左编码树块的64×64右上区域、64×64左下区域和64×64右下区域设置为当前编码块的搜索区域。
如图8的(b)所示,在当前编码块位于当前编码树块的64×64右上区域中时,按编解码顺序首先将当前编码树块中的64×64左上区域设置为搜索区域。此后,将左编码树块中的64×64左下区域和64×64右下区域设置为搜索区域。
在当前编码块位于当前编码树块中的64×64左下区域中时,将当前编码树块中的64×64左上区域和64×64右上区域设置为搜索区域,如图8的(c)所示。此后,将左编码树块中的64×64区域当中的最后编码或解码的64×64右下区域设置为搜索区域。
在当前编码块位于当前编码树块中的64×64右下区域时,当前编码树块中的三个区域(即,64×64左上区域和右上区域以及64×64左下区域)已经被编码或解码,因此可以设置为搜索区域。因此,左编码树块中没有区域被设置为搜索区域。
图8的示例可以被描述为基于包括当前编码块的64×64区域的位置来设置搜索区域。首先,将当前编码树块中所有已经编码/解码的64×64区域设置为搜索区域。左编码树块的64×64区域当中的与包含当前编码块的64×64区域位于相同位置的区域被排除在当前编码块的搜索区域之外,并且不被用作当前编码树块中的在当前编码块之后要编码或解码的编码块的搜索区域。
在对位于当前编码树块的64×64左上区域的编码块进行编码或解码时,将左编码树块中的64×64左上区域排除在搜索区域之外。当前编码树块不包括已经编码/解码的任何64×64区域。因此,如图8的(a)所示,将左编码树块中的64×64右上区域、左下区域和右下区域设置为当前编码块的搜索区域。
接下来,在对位于当前编码树块的64×64右上区域的编码块进行编码或解码时,将左编码树块中的64×64右上区域排除在搜索区域之外。另外,左编码树块的64×64左上区域已经被排除在搜索区域之外。因此,如图8的(b)所示,搜索区域被设置为包括当前编码树块的已编码或解码的64×64左上区域和左编码树块的64×64左下和右下区域。
接下来,在当前编码块位于当前编码树块的64×64左下区域时,左编码树块的64×64左下区域被排除在搜索区域之外。另外,左编码树块的64×64左上区域和右上区域已经被排除,因此不被设置为搜索区域。因此,如图8的(c)所示,将当前编码树块的已经被编码或解码的64×64左上区域和右上区域以及左编码树块的64×64右下区域设置为搜索区域。
最终,在对位于当前编码树块的64×64右下区域的编码块进行编码或解码时,将左编码树块中的64×64右下区域排除在搜索区域之外。左编码树块的64×64左上区域、右上区域和左下区域已经被排除在搜索区域之外,因此当前编码树块的已经被编码或解码的64×64左上区域、右上区域和左下区域被设置为搜索区域,如图8的(c)所示。
作为另一示例,当扫描顺序如图7的(b)所示时,根据当前编码块的位置的搜索区域如图9所示。
虽然在图8和图9中假设用作搜索区域的64×64区域的数量n为3,但n可以被设置为除了3以外的值(例如,2),在这种情况下,也可以应用与上述相同的原理。
第二实施方式
在本实施方式中,搜索区域被设置为包括左编码树块中固定数量的64×64区域以及当前编码树块中的已经被编码或解码的64×64区域。
图10是描述当以Z扫描顺序对当前编码树块的64×64区域进行编码/解码时设置搜索区域的示例性方法的图。
在本示例中,将左编码树块的四个64×64区域(即,所有64×64区域)设置为搜索区域。
在当前编码树块中,64×64区域按照它们被编码/解码的Z扫描顺序依次设置为搜索区域。根据Z扫描顺序,位于左上区域的编码块首先被编码或解码。在这种情况下,当前编码树块不包括已经被编码/解码的任何64×64区域。因此,在当前编码树块中没有设置搜索区域(图10的(a))。接下来,当位于右上区域的编码块被编码/解码时,64×64左上区域已经被编码/解码并且因此被设置为搜索区域(图10的(b))。如上所述,当前编码树块中的先前编码/解码的64×64区域被设置为搜索区域。当对64×64左下区域的编码块进行编码/解码时,搜索区域如图10的(c)所示,并且当对64×64右下区域的编码块进行编码/解码时,搜索区域如图10的(d)所示。
图11是描述当以倒N扫描顺序对当前编码树块的64×64区域进行编码/解码时设置搜索区域的另一示例性方法的图。
当以倒N扫描顺序(即,64×64左上区域、64×64左下区域、64×64右上区域和64×64右下区域的顺序)执行编码/解码时,搜索区域被设置为如图11的(a)、图11的(b)、图11的(c)和图11的(d)所示。
虽然上面描述了将左编码树块的所有四个64×64区域都设置为搜索区域,但是本公开不限于此,可以仅将四个64×64区域中的一些区域设置为搜索区域。例如,可以将左编码树块中的64×64区域当中的最近被编码/解码的仅两个或三个区域设置为搜索区域,或可以仅将位于固定位置的区域(例如,仅如12图所示的左编码树块的右上区域和右下区域)设置为搜索区域。
在上述实施方式中,仅将当前编码树块和左编码树块中的已经被编码/解码的64×64区域设置为虚拟缓冲空间中的搜索区域。然而,如图13所示,除了已经编码/解码的64×64区域之外,搜索区域还可以包括包含要编码/解码的当前编码块的64×64区域中已经被编码/解码的部分。
图13是描述将左编码树块中的预定数量的64×64区域和当前编码树块中的已经被编码/解码的部分设置为搜索区域的另一示例的图。
在图13的示例中,将左编码树块的64×64右上区域和右下区域设置为搜索区域。另外,可以将搜索区域设置为不仅包括当前编码树块中的已经被编码/解码的64x64区域,还包括包含要编码或解码的当前编码块的64×64区域中的已经被编码/解码的部分。例如,当假设当前编码块位于64×64左上区域的32×32右上区域时,32×32左上区域已经被编码/解码,因此可以被设置为搜索区域。另外,32×32右下区域总是比32×32右上区域更晚被编码/解码,因此不能被设置为搜索区域。
根据编码/解码顺序确定是否将32×32左下区域设置为搜索区域。当四个32×32区域以倒N扫描顺序编码/解码时,32×32左下区域比32x32左上区域更早被编码/解码。因此,也可以将32×32左下区域设置为搜索区域。即,当前编码块的块向量可以指示32×32左下区域。相比之下,当四个32×32区域以Z扫描顺序编码/解码时,32×32左下区域不能被设置为搜索区域。
上面已经描述了在IBC模式下为当前编码块设置搜索区域的各种示例。可以通过在视频编码装置和视频解码装置之间预定义的共享方法来设置搜索区域。另选地,搜索区域可以由视频编码装置自适应地设置,并且关于搜索区域的信息可以用信号发送给视频解码装置。关于搜索区域的信息可以被包括在报头信息中(例如,序列参数集、图片参数集、切片报头或编码树块(CTU)报头)。只有当用于打开/关闭IBC模式的标志ibc_enabled_flag为on时,才可以用信号发送关于搜索区域的信息。
在IBC模式下,块向量是指示从当前编码块到搜索区域中包括的参考块的位移的值,并且一般定义为从当前编码块中包括的左上样本到参考块中包括的左上样本的向量。在本公开中,将描述对当前编码块的块向量进行编码/解码的另一方法。
图14是描述对块向量进行编码/解码的另一方法的图。
在本示例中,块向量可以被设置为与包括当前编码块的处理区域(例如,64×64区域)中包括的左上样本的位移,而不是与当前编码块的位移。
从视频编码装置用信号发送的块向量是从包括当前编码块的64×64区域中的左上样本到参考块的位移(图14中的“bv”)。如上所述,关于块向量的信息在跳过模式或合并模式下作为合并索引被用信号发送,并且在AMVP模式下作为BVD和BVP索引被用信号发送。
视频解码装置可以根据关于块向量的信息来重构块向量,并将位于从当前编码块所在的64×64区域中的左上样本开始的块向量所指示的位置的参考块设置为当前编码块的预测块。另选地,视频解码装置可以通过将块向量和从当前编码块到当前编码块所在的64×64区域中的左上样本的偏移向量(图14中的“bv_offset”)相加来补偿块向量。视频解码装置可以从当前编码块生成位于由补偿的块向量指示的位置处的参考块作为预测块。在跳过模式或合并模式下,可以根据下面的等式1来补偿块向量,并且在AMVP模式下,可以根据下面的等式2来补偿块向量。
[等式1]
bv[0]=mergeList[merge_idx][0]+bv_offset[0]
bv[1]=mergeList[merge_idx][1]+bv_offset[1]
mergeList表示从邻近块的运动向量得到的合并候选,并且merge_idx表示指示合并候选当中的用作当前编码块的块向量的候选的合并索引。
[等式2]
bv[0]=bvd[0]+bvp[0]+bv_offset[0]
bv[1]=bvd[1]+bvp[1]+bv_offset[1]
bvd和bvp分别表示BVD和BVP。在等式1和等式2中,[0]表示x分量的值并且[1]表示y分量的值。
在IBC模式下,块向量所指示的参考块应位于搜索区域内。当参考块不位于搜索区域内时,无法正常执行编码和解码。
因此,对当前编码块的块向量进行裁剪,以确保参考块位于定义的搜索区域内。也就是说,在当前编码块的块向量位于定义的搜索区域之外时,执行裁剪处理以补偿块向量,使得块向量可以位于搜索区域内。裁剪过程可以由视频编码装置和视频解码装置以相同的方式执行以修复在编码或解码过程中可能出现的失配。
例如,当搜索区域被设置为例如图15的阴影部分时,用于运动补偿的裁剪函数如下面的等式3所示。等式3只是一个示例,并且本公开包括用于将目标块的ibc运动信息修改为在搜索范围内的所有表达式/计算公式。
[等式3]
bv[0]=clipping(minBound[0],bv[0],maxBound[0])
bv[1]=clipping(minBound[1],bv[1],maxBound[1])
这里,
minBound[0]=currCTU[0]-64,maxBound[0]=currCTU[0]+64,minBound[1]=currCTU[1],并且maxBound[1]=currCTU[1]+128。currCTU[0]表示当前编码树块的x轴位置,并且currCTU[1]表示当前编码树块的y轴位置。参考图15,minBound[0]为阴影区域的左边界,maxBound[0]为阴影区域的右边界,minBound[1]为阴影区域的上边界,并且maxBound[1]为阴影区域的下边界。
作为另一示例,在当前编码块的块向量位于搜索区域之外时,对块向量进行补偿以指示在x轴边界和y轴边界上的样本当中的最接近由原始块向量指示的位置的样本的位置。在图16中,虚线表示原始块向量,而实线表示补偿后的块向量。如图16的(a)所示,当原始块向量位于更靠近x轴边界线和y轴边界线当中的x轴边界线时,原始块向量的x分量被补偿,并且当原始块向量位于更靠近y轴边界线时,原始块向量的y分量被补偿。这可以由下面的等式4表示。
[等式4]
if bv is closer to boundary(x)
adjust bv[0]to boundary(x)
else//closer to boundary(y)
adjust bv[1]to boundary(y)
作为另一示例,可以应用用于缩放原始块向量的补偿方法。在图17中,虚线表示当前编码块的原始块向量,而实线表示补偿后的块向量。块向量被补偿以指示表示原始块向量的线与搜索区域的边界线的交点。
虽然上面只描述了单向IBC预测,但双向预测也适用于IBC模式,类似于帧间预测的双向预测。在AMVP模式下,视频编码装置可以用信号发送表示预测方向是单向还是双向的标志、和当该标志表示双向时用于双向预测的两个BVP索引以及两个BVD。在关于两个块向量的信息中,可以将包括当前编码块的当前图片用作参考图片,或者可以将先前编码/解码的图片用作参考图片。当先前编码/解码的图片用作参考图片时,视频编码装置向视频解码装置显式地发送关于参考图片的信息。
尽管为了例示目的已经描述了本公开的示例性实施方式,但是本领域技术人员将理解的是在不背离本发明的思想和范围的情况下可以进行各种修改和变化。因此,为了简洁和清楚起见,描述了本公开的示例性实施方式。因此,本领域的普通技术人员将理解本公开的范围不限于以上明确描述的实施方式,而是包括权利要求和其等同物在内。
相关申请的交叉引用
本申请要求于2019年3月14日提交的申请号为10-2019-0029557的韩国专利申请和于2020年1月28日提交的申请号为10-2020-0009734的韩国专利申请的优先权,所述韩国专利申请在此通过引用整体并入本文中。

Claims (15)

1.一种以块为单位对被分割成大小相等的编码树块的图片进行预测的视频解码方法,所述视频解码方法包括以下步骤:
从比特流解码指示要解码的当前编码树块中的当前编码块以块内复制模式被解码的标志,其中,所述当前编码块是从所述当前编码树块以树结构分割的块中的一个;
通过对来自所述比特流的块向量信息进行解码来重构所述当前编码块的块向量;以及
将所述当前编码块所在的图片中的由所述块向量指示的参考块设置为所述当前编码块的预测块,
其中,所述块向量的值被限制以防止所述参考块位于在所述当前编码树块和与所述当前编码树块相邻的左编码树块中的至少一个中设置的搜索区域之外,
所述搜索区域是从多个处理区域当中的先前解码处理区域中选择的,所述多个处理区域是从所述当前编码树块和所述左编码树块中的每一个以相等大小分割的,并且
其中,从所述当前编码块以及包括在所述当前编码树块中并且在所述当前编码块之后要解码的编码块的所述搜索区域依次排除所述左编码树块中的多个处理区域中的与所述当前编码树块内的包括所述当前编码块的当前处理区域位于同一位置的处理区域。
2.根据权利要求1所述的视频解码方法,其中,所述编码树块的大小为128×128,并且所述处理区域的大小为64×64。
3.根据权利要求1所述的视频解码方法,其中,所述搜索区域是基于所述当前处理区域在所述当前编码树块中的位置选择的。
4.根据权利要求1所述的视频解码方法,其中,所述搜索区域还包括先前解码部分,所述先前解码部分在包含所述当前编码块的当前处理区域中。
5.根据权利要求1所述的视频解码方法,其中,从所述当前编码树块和所述左编码树块中的每一个以相等大小被分割的多个处理区域当中,从最近已经按解码顺序解码的处理区域开始以预定数量选择所述搜索区域。
6.根据权利要求1所述的视频解码方法,其中,重构所述块向量的步骤包括以下步骤:
使用所述块向量信息生成中间块向量;以及
通过将从所述当前编码块中包括的左上样本到包括所述当前编码块的当前处理区域中包括的左上样本的向量与所述中间块向量相加来补偿所述块向量。
7.根据权利要求1所述的视频解码方法,其中,当所述块向量位于所述搜索区域之外时,执行裁剪操作以修改所述块向量从而指示所述搜索区域的边界。
8.根据权利要求7所述的视频解码方法,其中,执行所述裁剪操作以修改所述块向量从而指示在所述搜索区域的边界上的样本当中的与由所述块向量指示的样本最接近的样本。
9.根据权利要求7所述的视频解码方法,其中,执行所述裁剪操作以缩放所述块向量从而指示在所述搜索区域的边界上的样本。
10.一种以块为单位对被分割成大小相等的编码树块的图片进行预测的视频编码方法,所述视频编码方法包括以下步骤:
对指示要解码的当前编码树块中的当前编码块以块内复制模式被编码的标志进行编码,其中,所述当前编码块是从所述当前编码树块以树结构分割的块中的一个,
确定所述当前编码块的块向量;
将所述当前编码块所在的图片中的由所述块向量指示的参考块设置为所述当前编码块的预测块;以及
对与所述块向量有关的信息进行编码,
其中,所述块向量的值被限制以防止所述参考块位于在所述当前编码树块和与所述当前编码树块相邻的左编码树块中的至少一个中设置的搜索区域之外,
所述搜索区域是从多个处理区域当中的先前编码处理区域中选择的,所述多个处理区域是从所述当前编码树块和所述左编码树块中的每一个以相等大小分割的,并且
其中,从所述当前编码块以及随后要在所述当前编码树块中被编码的编码块的所述搜索区域依次排除所述左编码树块中的多个处理区域中的与所述当前编码树块内的包括所述当前编码块的当前处理区域位于同一位置的处理区域。
11.根据权利要求10所述的视频编码方法,其中,所述编码树块的大小为128×128,并且所述处理区域的大小为64×64。
12.根据权利要求10所述的视频编码方法,其中,所述搜索区域是基于所述当前处理区域在所述当前编码树块中的位置选择的。
13.根据权利要求10所述的视频编码方法,其中,所述搜索区域还包括先前编码部分,所述先前编码部分在包括所述当前编码块的当前处理区域中。
14.根据权利要求10所述的视频编码方法,其中,从所述当前编码树块和所述左编码树块中的每一个以相等大小被分割的多个处理区域当中,从最近已经按编码顺序编码的处理区域开始以预定数量选择所述搜索区域。
15.一种用于传输包含经编码的视频数据的比特流的方法,所述方法包括以下步骤:
通过以块为单位对被分割为大小相等的编码树块的图片进行预测来生成所述比特流;以及
将所述比特流传输到视频解码设备,
其中,生成所述比特流的步骤包括以下步骤:
对指示要解码的当前编码树块中的当前编码块以块内复制模式被编码的标志进行编码,其中,所述当前编码块是从所述当前编码树块以树结构分割的块中的一个,
确定所述当前编码块的块向量;
将所述当前编码块所在的图片中的由所述块向量指示的参考块设置为所述当前编码块的预测块;以及
对与所述块向量有关的信息进行编码,
其中,所述块向量的值被限制以防止所述参考块位于在所述当前编码树块和与所述当前编码树块相邻的左编码树块中的至少一个中设置的搜索区域之外,
所述搜索区域是从多个处理区域当中的先前编码处理区域中选择的,所述多个处理区域是从所述当前编码树块和所述左编码树块中的每一个以相等大小分割的,并且
其中,从所述当前编码块以及随后要在所述当前编码树块中被编码的编码块的所述搜索区域依次排除所述左编码树块中的多个处理区域中的与所述当前编码树块内的包括所述当前编码块的当前处理区域位于同一位置的处理区域。
CN202410342009.4A 2019-03-14 2020-03-16 视频编码和解码方法以及传输比特流的方法 Pending CN118018719A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2019-0029557 2019-03-14
KR20190029557 2019-03-14
KR1020200009734A KR20200110164A (ko) 2019-03-14 2020-01-28 인트라 블록 복사를 이용하는 영상 부호화 및 복호화
KR10-2020-0009734 2020-01-28
CN202080035498.9A CN113812147B (zh) 2019-03-14 2020-03-16 使用块内复制的图像编码和解码
PCT/KR2020/003572 WO2020185050A1 (ko) 2019-03-14 2020-03-16 인트라 블록 복사를 이용하는 영상 부호화 및 복호화

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080035498.9A Division CN113812147B (zh) 2019-03-14 2020-03-16 使用块内复制的图像编码和解码

Publications (1)

Publication Number Publication Date
CN118018719A true CN118018719A (zh) 2024-05-10

Family

ID=72427981

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202080035498.9A Active CN113812147B (zh) 2019-03-14 2020-03-16 使用块内复制的图像编码和解码
CN202410342009.4A Pending CN118018719A (zh) 2019-03-14 2020-03-16 视频编码和解码方法以及传输比特流的方法
CN202410342013.0A Pending CN118018720A (zh) 2019-03-14 2020-03-16 视频编码和解码设备以及传输比特流的设备
CN202410342006.0A Pending CN118018718A (zh) 2019-03-14 2020-03-16 视频编码和解码设备以及传输比特流的设备
CN202410342004.1A Pending CN118018717A (zh) 2019-03-14 2020-03-16 视频编码和解码方法以及传输比特流的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202080035498.9A Active CN113812147B (zh) 2019-03-14 2020-03-16 使用块内复制的图像编码和解码

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN202410342013.0A Pending CN118018720A (zh) 2019-03-14 2020-03-16 视频编码和解码设备以及传输比特流的设备
CN202410342006.0A Pending CN118018718A (zh) 2019-03-14 2020-03-16 视频编码和解码设备以及传输比特流的设备
CN202410342004.1A Pending CN118018717A (zh) 2019-03-14 2020-03-16 视频编码和解码方法以及传输比特流的方法

Country Status (3)

Country Link
US (5) US11997255B2 (zh)
CN (5) CN113812147B (zh)
WO (1) WO2020185050A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125442B (zh) * 2022-01-29 2022-05-03 腾讯科技(深圳)有限公司 屏幕视频编码模式确定方法、编码方法、装置和计算设备
EP4304177A1 (en) * 2022-07-05 2024-01-10 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture data
US20240236351A1 (en) * 2023-01-11 2024-07-11 Tencent America LLC Ibc merge mode with a block vector difference
WO2024179594A1 (en) * 2023-03-02 2024-09-06 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing
WO2024217574A1 (en) * 2023-04-21 2024-10-24 Mediatek Inc. Video coding method and apparatus for determining prediction of current block by multi-hypothesis blending
CN118429410B (zh) * 2024-07-03 2024-09-24 中电数科科技有限公司 一种用于林草资源调查的胸径测量方法与设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3413720B2 (ja) * 1998-06-26 2003-06-09 ソニー株式会社 画像符号化方法及び装置、並びに画像復号方法及び装置
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
CN112383780B (zh) 2013-08-16 2023-05-02 上海天荷电子信息有限公司 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
AU2013228045A1 (en) * 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
RU2654129C2 (ru) * 2013-10-14 2018-05-16 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений
US10327001B2 (en) 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy
KR101961384B1 (ko) * 2014-07-07 2019-03-25 에이치에프아이 이노베이션 인크. 인트라 블록 카피 검색 및 보상 범위의 방법
US10856009B2 (en) * 2014-09-04 2020-12-01 Mediatek Inc. Method of block vector clipping and coding for screen content coding and video coding
US10200713B2 (en) * 2015-05-11 2019-02-05 Qualcomm Incorporated Search region determination for inter coding within a particular picture of video data
WO2017206803A1 (en) 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding
US10687071B2 (en) * 2018-02-05 2020-06-16 Tencent America LLC Method and apparatus for video coding
US10638137B2 (en) * 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
US20220182604A1 (en) 2022-06-09
CN118018718A (zh) 2024-05-10
US20240283918A1 (en) 2024-08-22
US11997255B2 (en) 2024-05-28
CN113812147B (zh) 2024-04-09
US20240283915A1 (en) 2024-08-22
WO2020185050A1 (ko) 2020-09-17
CN118018720A (zh) 2024-05-10
CN118018717A (zh) 2024-05-10
CN113812147A (zh) 2021-12-17
US20240283917A1 (en) 2024-08-22
US20240283916A1 (en) 2024-08-22

Similar Documents

Publication Publication Date Title
CN113812147B (zh) 使用块内复制的图像编码和解码
CN116530082A (zh) 利用帧内预测的视频编码的方法和装置
CN116472709A (zh) 用于视频编码和解码的装置和方法
KR20200110164A (ko) 인트라 블록 복사를 이용하는 영상 부호화 및 복호화
CN116636211A (zh) 利用块合并编码视频的方法和装置
US20240323356A1 (en) Method and apparatus for video coding using intra prediction based on reference sample line derivation
US20240305815A1 (en) Method and apparatus for video coding using intra prediction based on template matching
US20230412811A1 (en) Method and apparatus for video coding using spiral scan order
US20240357087A1 (en) Method and apparatus for video coding using improved amvp-merge mode
CN118251891A (zh) 利用基于模板匹配的帧内预测的视频编解码的方法和装置
CN118489244A (zh) 利用改进的amvp-merge模式的视频编解码的方法和装置
CN117581534A (zh) 视频编码/解码方法和装置
CN117044200A (zh) 利用螺旋扫描顺序的视频编解码的方法和装置
CN118140476A (zh) 利用几何帧内预测模式的视频编解码的方法和装置
CN118901240A (zh) 使用上下文模型初始化的视频译码方法和设备
CN116472710A (zh) 利用分量之间的参考生成残差信号的方法和装置
CN117917072A (zh) 视频编码/解码方法和装置
CN118355658A (zh) 用基于参考样本线导出的帧内预测的视频译码方法和装置
CN118414831A (zh) 使用运动矢量预测物的候选列表的视频编码方法和装置
CN118451706A (zh) 用于色度分量的基于模板的帧内模式推导的方法
CN117044197A (zh) 利用推导帧内预测模式的视频编解码的方法和装置
KR20220136162A (ko) 매핑 기반 비디오 코딩방법 및 장치
CN117063466A (zh) 使用自适应帧内预测精度的视频编码方法和设备
CN116918323A (zh) 用于改善帧内预测的预测信号的视频编解码方法和装置
CN118511524A (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