CN114375572A - 视频或图像编译方法及其设备 - Google Patents

视频或图像编译方法及其设备 Download PDF

Info

Publication number
CN114375572A
CN114375572A CN202080060173.6A CN202080060173A CN114375572A CN 114375572 A CN114375572 A CN 114375572A CN 202080060173 A CN202080060173 A CN 202080060173A CN 114375572 A CN114375572 A CN 114375572A
Authority
CN
China
Prior art keywords
residual
coefficient
current
current block
flag
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
CN202080060173.6A
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.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
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
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN114375572A publication Critical patent/CN114375572A/zh
Pending legal-status Critical Current

Links

Images

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/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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

根据本文档的解码装置执行的图像解码方法包括以下步骤:通过比特流获得包括运动信息候选索引和残差信息的图像信息;基于运动信息候选索引导出当前块的运动信息;基于运动信息导出预测样本;基于用于当前块中的当前残差系数的残差语法元素导出当前残差系数;基于当前残差系数导出残差样本;以及基于预测样本和残差样本导出当前块的重构样本。

Description

视频或图像编译方法及其设备
技术领域
本公开涉及一种视频或图像编译方法及其装置。
背景技术
近来,在各种领域中,对诸如HD(高清)图像和UHD(超高清)图像这样的高分辨率、高质量图像的需求正在增长。因为图像数据具有高分辨率和高质量,所以相对于传统图像数据,待传输的信息或比特的量增加。因此,当使用诸如传统有线/无线宽带线路这样的介质发送图像数据或者使用现有存储介质存储图像数据时,其传输成本和存储成本增加。
因此,需要用于有效地发送、存储和再现高分辨率高质量图像的信息的高效图像压缩技术。
发明内容
技术问题
本公开提供了一种改进图像编译效率的方法和装置。
本公开还提供了一种改进残差编译效率的方法和装置。
技术方案
根据此文档的实施例,提供了一种由解码装置执行的图像解码方法。该方法包括通过比特流获得包括运动信息候选索引和残差信息的图像信息,基于当前块的邻近块来构建运动信息候选列表,基于运动信息候选列表的运动信息候选之中的由运动信息候选索引指示的运动信息候选来导出当前块的运动信息,基于运动信息导出当前块的预测样本,基于用于当前块中的当前残差系数的残差语法元素来导出当前残差系数,基于当前残差系数导出残差样本,以及基于预测样本和残差样本导出当前块的重构样本。
根据此文档的另一个实施例,提供一种用于执行图像解码的解码装置。解码装置包括:熵解码器,该熵解码器被配置成通过比特流获得包括运动信息候选索引和残差信息的图像信息;预测器,该预测器被配置成基于当前块的邻近块构建运动信息候选列表,基于由运动信息候选列表的运动信息候选之中的由运动信息候选索引指示的运动信息候选来导出当前块的运动信息,并且基于运动信息导出当前块的预测样本;残差处理器,该残差处理器被配置成基于用于当前块中的当前残差系数的残差语法元素导出当前残差系数,并且基于当前残差系数导出残差样本;以及加法器,该加法器被配置成基于预测样本和残差样本来导出当前块的重构样本。
根据此文档的又一实施例,提供了一种由编码装置执行的视频编码方法。该方法包括:基于当前块的邻近块来构建运动信息候选列表,从运动信息候选列表的运动信息候选之中选择运动信息候选,基于所选择的运动信息候选导出当前块的运动信息,基于运动信息导出当前块的预测样本,基于预测样本导出当前块的残差样本,基于残差样本导出当前残差系数,以及编码包括指示所选择的运动信息候选的运动信息候选索引和用于当前残差系数的残差语法元素的图像信息。
根据此文档的又一实施例,提供了一种视频编码装置。编码装置包括预测器,该预测器被配置成基于当前块的邻近块来构建运动信息候选列表,从运动信息候选列表的运动信息候选之中选择运动信息候选,基于所选择的运动信息候选导出当前块的运动信息,并基于运动信息导出当前块的预测样本;残差处理器,该残差处理器被配置成基于预测样本导出当前块的残差样本,并且基于残差样本导出当前残差系数;以及熵编码器,该熵编码器被配置成对图像信息进行编码,该图像信息包括指示所选择的运动信息候选的运动信息候选索引和用于当前残差系数的残差语法元素。
有益效果
根据本公开,可以改进残差编译的效率。
根据本公开,可以通过在不执行级别映射的情况下导出应用简化残差数据编译的残差系数来改进整体图像/视频压缩效率并降低编译复杂度。
附图说明
图1简要图示可应用本公开的实施方式的视频/图像编译设备的示例。
图2是图示可以应用本公开的实施方式的视频/图像编码装置的配置的示意图。
图3是图示可以应用本公开的实施方式的视频/图像解码装置的配置的示意图。
图4图示基于帧内预测的视频/图像编码方法的示例。
图5图示基于帧内预测的视频/图像编码方法的示例。
图6示意性地示出帧内预测过程。
图7图示基于帧间预测的视频/图像编码方法的示例。
图8图示基于帧间预测的视频/图像解码方法的示例。
图9示意性地示出帧间预测过程。
图10示例性地示出用于对语法元素进行编码的上下文自适应二进制算术编译(CABAC)。
图11是示出4×4块内的示例性变换系数的图。
图12图示用于一个CG、变换块或编译块的简化残差数据编译的示例。
图13图示用于一个CG、变换块或编译块的简化残差数据编译的另一示例。
图14图示用于一个CG、变换块或编译块的简化残差数据编译的另一示例。
图15简要图示根据本公开的编码装置执行的图像编码方法。
图16简要图示根据本公开的用于执行图像编码方法的编码装置。
图17简要图示根据本公开的解码装置执行的图像解码方法。
图18简要图示根据本公开的用于执行图像解码方法的解码装置。
图19图示应用本公开的内容流传输系统的结构图。
具体实施方式
本公开能够以各种形式修改,并且将在附图中描述和例示其特定实施方式。然而,实施方式并非旨在限制本公开。在以下描述中使用的术语仅用于描述特定实施方式,并非旨在限制本公开。只要清楚地以不同的方式理解,单数的表达包括复数的表达。诸如“包括”和“具有”之类的术语旨在表示存在以下描述中使用的特征、数目、步骤、操作、元件、组件或其组合,因此应理解的为不排除存在或添加一个或更多个不同的特征、数目、步骤、操作、元件、组件或其组合的可能性。
此外,在本公开中描述的附图中的元件是为了方便地解释不同的特定功能而独立地绘制的,并不意味着这些元件由独立的硬件或独立的软件来体现。例如,可以将元件中的两个或更多个元件组合以形成单个元件,或者可以将一个元件分割为多个元件。其中组合元件和/或分割元件的实施方式属于本公开,而没有脱离本公开的概念。
在下文中,将参考附图详细描述本公开的实施方式。另外,在整个附图中,相似的附图标记用于指示相似的元件,并且将省略对相似元件的相同描述。
图1简要图示可应用本公开的实施方式的视频/图像编译设备的示例。
参考图1,视频/图像编译系统可以包括第一设备(源设备)和第二设备(接收设备)。源设备可以经由数字存储介质或网络以文件或流的形式向接收设备发送编码视频/图像信息或数据。
源设备可以包括视频源、编码装置和发送器。接收设备可以包括接收器、解码装置和渲染器。编码装置可以称为视频/图像编码装置,并且解码装置可以称为视频/图像解码装置。发送器可以包括在编码装置中。接收器可以包括在解码装置中。渲染器可以包括显示器,并且显示器可以被配置成单独的设备或外部组件。
视频源可以通过捕获、合成或生成视频/图像的处理来获取视频/图像。视频源可以包括视频/图像捕获设备和/或视频/图像生成设备。视频/图像捕获设备可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成设备可以包括例如计算机、平板电脑和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以由生成相关数据的处理代替。
编码装置可以对输入的视频/图像进行编码。编码装置可以执行诸如预测、变换和量化的一系列过程,以实现压缩和编译效率。编码数据(编码视频/图像信息)能够以比特流的形式输出。
发送器可以通过数字存储介质或网络以文件或流的形式向接收设备的接收器发送以比特流形式输出的编码后的图像/图像信息或数据。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并向解码装置发送接收到的比特流。
解码装置可以通过执行与编码装置的操作相对应的诸如解量化、逆变换和预测之类的一系列过程,来对视频/图像进行解码。
渲染器可以渲染经解码的视频/图像。经渲染的视频/图像可以通过显示器显示。
本公开涉及视频/图像编译。例如,本公开中所公开的方法/实施方式可以应用于在多功能视频编译(VVC)、EVC(基本视频编译)标准、AOMedia Video 1(AV1)标准、第2代音频视频编译标准(AVS2)或下一代视频/图像编译标准(例如,H.267、或H.268等)中公开的方法。
本公开呈现了视频/图像编译的各种实施方式,并且除非另外提及,否则实施方式可以彼此组合地执行。
在本公开中,视频可以是指随时间推移的一系列图像。通常,图片是指表示特定时区中的一个图像的单元,并且子图片/切片/图块(tile)是构成编译中的图片的一部分的单元。子图片/切片/图块可以包括一个或多个编译树单元(CTU)。一幅图片可以由一个或多个子图片/切片/图块构成。一幅图片可以由一个或多个图块组构成。一个图块组可以包括一个或多个图块。拼块(brick)可以表示图片中的图块内的CTU行的矩形区域。图块可以被分区为多个拼块,每个拼块由图块内的一个或多个CTU行组成。没有被分区为多个拼块的图块也可以被称为拼块。拼块扫描可以对图片进行分区的CTU的特定顺序排序,其中,在拼块中按CTU光栅扫描对CTU进行连续排序,按图块的拼块的光栅扫描对图块内的拼块进行连续排序,并且按图片的图块的光栅扫描对图片中的图块进行连续排序。另外,子图片可以表示图片内的一个或多个切片的矩形区域。即,子图片包含共同覆盖图片的矩形区域的一个或多个切片。图块是图片中的特定图块列和特定图块行内的CTU的矩形区域。图块列是CTU的矩形区域,该矩形区域的高度等于图片的高度并且宽度由图片参数集中的语法元素指定。图块行是CTU的矩形区域,该矩形区域的高度由图片参数集中的语法元素指定并且宽度等于图片的宽度。图块扫描是对图片进行分区的CTU的特定顺序排序,其中,可以在图块中按CTU光栅扫描对CTU进行连续排序,而可以按图片的图块的光栅扫描对图片中的图块进行连续排序。切片包括图片的可以被排他性地包含在单个NAL单元中的整数个拼块。切片可以由多个完整图块组成或者仅由一个图块的连续序列的完整拼块组成。在本公开中,可以互换地使用图块组和切片。例如,在本公开中,图块组/图块组报头可以被称为切片/切片报头。
像素或像元(pel)可以表示组成一幅图片(或图像)的最小单位。另外,“样本”可以用作与像素相对应的术语。样本通常可以表示像素或像素值,并且可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
单元可以表示图像处理的基本单位。单元可以包括图片的特定区域和与该区域有关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,单元可以与诸如块或区域之类的术语互换使用。在一般情况下,M×N块可以包括M列和N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本说明书中,“A或B”可以是指“仅A”、“仅B”或“A和B”。换言之,在本说明书中,“A或B”可以被解释为“A和/或B”。例如,“A、B或C”在本文中是指“仅A”、“仅B”、“仅C”或“A、B和C的任何一个和任何组合”。
本说明书中使用的斜线(/)或逗号(comma)可以是指“和/或”。例如,“A/B”可以是指“A和/或B”。因此,“A/B”可以是指“仅A”、“仅B”或“A和B”。例如,“A,B,C”可以是指“A、B或C”。
在本说明书中,“A和B中的至少一个”可以是指“仅A”、“仅B”或“A和B两者”。另外,在本说明书中,表述“A或B中的至少一个”或“A和/或B中的至少一个”可以被解释为与“A和B中的至少一个”相同。
另外,在本说明书中,“A、B和C中的至少一个”是指“仅A”、“仅B”、“仅C”或“A、B和C的任意组合”。此外,“A、B或C中的至少一个”或“A、B和/或C中的至少一个”可以是指“A、B和C中的至少一个”。
此外,本说明书中使用的括号可以是指“例如”。具体地,当指示“预测(帧内预测)”时,可能将“帧内预测”作为“预测”的示例提出。换言之,本说明书中的“预测”不限于“帧内预测”,可以将“帧内预测”作为“预测”的示例提出。此外,即使当指示“预测(即,帧内预测)”时,“帧内预测”也可以作为“预测”的示例提出。
在本说明书中,在一幅图中单独描述的技术特征可以单独实现或可以同时实现。
创建以下附图以解释本说明书的具体示例。由于附图中描述的特定设备的名称或特定信号/消息/字段的名称通过示例呈现,因此本说明书的技术特征不限于在以下附图中使用的特定名称。
图2是图示可以应用本公开的实施方式的视频/图像编码装置的配置的示意图。在下文中,视频编码装置可以包括图像编码装置。
参考图2,编码装置200包括图像分割器210、预测器220、残差处理器230和熵编码器240、加法器250、滤波器260和存储器270。预测器220可以包括帧间预测器221和帧内预测器222。残差处理器230可以包括变换器232、量化器233、解量化器234和逆变换器235。残差处理器230还可以包括减法器231。加法器250可以称为重构器或重构块生成器。根据实施方式,图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可以由至少一个硬件组件(例如,编码器芯片组或处理器)构成。另外,存储器270可以包括解码图片缓冲器(DPB)或者可以由数字存储介质构成。硬件组件还可以包括作为内部/外部组件的存储器270。
图像分割器210可以将输入到编码装置200的输入图像(或图片或帧)分割到一个或更多个处理器中。例如,处理器可以被称为编译单元(CU)。在这种情况下,可以根据四叉树二叉树三叉树(QTBTTT)结构从编译树单元(CTU)或最大编译单元(LCU)来递归地分割编译单元。例如,一个编译单元可以基于四叉树结构、二叉树结构和/或三元结构而被分割为深度更深的多个编译单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三元结构。另选地,可以首先应用二叉树结构。可以基于不再分割的最终编译单元来执行根据本公开的编译过程。在这种情况下,可以根据图像特性基于编译效率将最大编译单元用作最终编译单元,或者如果需要,可以将编译单元递归地分割为深度更深的编译单元并且具有最佳大小的编译单元可以用作最终编译单元。这里,编译过程可以包括预测、变换和重构的过程,这将在后面描述。作为另一示例,处理器还可以包括预测单元(PU)或变换单元(TU)。在这种情况下,可以从上述最终编译单元来拆分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于导出变换系数的单元和/或用于从变换系数导出残差信号的单元。
在一些情况下,单元可以与诸如块或区域之类的术语互换使用。在一般情况下,M×N块可以表示由M列和N行组成的样本或变换系数的集合。样本通常可以表示像素或像素值,可以仅表示亮度分量的像素/像素值,或者仅表示色度分量的像素/像素值。样本可用作与像素或像元的一幅图片(或图像)相对应的术语。
在编码装置200中,从输入图像信号(原始块、原始样本阵列)中减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列),以生成残差信号(残差块、残差样本阵列)并且所生成的残差信号被发送到变换器232。在这种情况下,如图所示,在编码器200中用于从输入图像信号(原始块、原始样本阵列)减去预测信号(预测块、预测样本阵列)的单元可以称为减法器231。预测器可以对要处理的块(在下文中称为当前块)执行预测,并生成包括当前块的预测样本的预测块。预测器能够以当前块或CU为单位来确定是应用帧内预测还是应用帧间预测。如稍后在每个预测模式的描述中所述,预测器可以生成与预测有关的、诸如预测模式信息之类的各种信息,并向熵编码器240发送所生成的信息。关于预测的信息可以在熵编码器240中编码并以比特流的形式输出。
帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考的样本可以位于当前块的附近,或者可以远离当前块。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅是示例,依据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器221可以基于由参考图片上的运动矢量指定的参考块(参考样本阵列)来导出当前块的预测块。这里,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块和当前块之间的运动信息的相关性,以块、子块或样本为单位来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以相同或不同。时间邻近块可以称为并置参考块、共位CU(colCU)等,并且包括时间邻近块的参考图片可以称为并置图片(colPic)。例如,帧间预测器221可以基于邻近块来配置运动信息候选列表,并且生成指示使用哪个候选来导出当前块的运动矢量和/或参考图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可以将邻近块的运动信息用作当前块的运动信息。在跳过模式下,与合并模式不同,可能无法发送残差信号。在运动矢量预测(MVP)模式的情况下,可以将邻近块的运动矢量用作运动矢量预测子,并且可以通过发信号通知运动矢量差来指示当前块的运动矢量。
预测器220可以基于以下描述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且可以同时应用帧内预测和帧间预测二者。这可以称为帧间帧内组合预测(CIIP)。另外,预测器可以基于帧内块复制(IBC)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可用于游戏等的内容图像/视频编译,例如,屏幕内容编码(SCC)。IBC基本上在当前图片中执行预测,但是可以类似于帧间预测来执行IBC,因为参考块是在当前图片中导出的。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息来发信号通知图片内的样本值。
由预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可以用于生成重构信号或生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT表示当像素之间的关系信息由图表示时从图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而生成的变换。另外,变换处理可以应用于具有相同大小的正方形像素块,或者可以应用于具有可变大小而非正方形的块。
量化器233可以对变换系数进行量化,并且将它们发送给熵编码器240,并且熵编码器240可以对量化信号(关于量化变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以称为残差信息。量化器233可以基于系数扫描顺序将块类型量化变换系数重新布置为一维矢量形式,并且基于一维矢量形式的量化变换系数来生成关于量化变换系数的信息。可以生成关于变换系数的信息。熵编码器240可以执行各种编码方法,诸如,例如指数哥伦布(Golomb)、上下文自适应变长编译(CAVLC)、上下文自适应二进制算术编译(CABAC)等。熵编码器240可以对除了量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)一起或分开地进行编码。能够以比特流的形式以NAL(网络抽象层)为单位发送或存储编码信息(例如,编码视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)之类的各种参数集的信息。另外,视频/图像信息还可包括一般约束信息。在本公开中,从编码装置向解码装置发送/发信号通知的信息和/或语法元素可以包括在视频/图片信息中。视频/图像信息可以通过上述编码过程被编码并且被包括在比特流中。比特流可以通过网络发送,或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。可以包括发送从熵编码器240输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为编码装置200的内部/外部元件,另选地,发送器可以包括在熵编码器240中。
从量化器233输出的量化变换系数可以用于生成预测信号。例如,可以通过利用解量化器234和逆变换器235对量化变换系数应用解量化和逆变换,来重构残差信号(残差块或残差样本)。加法器250将重构的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加,以生成重构信号(重构图片、重构块、重构样本阵列)。如果要处理的块没有残差(诸如应用了跳过模式的情况),则可以将预测块用作重构块。加法器250可以称为重构器或重构块生成器。所生成的重构信号可以用于在当前图片中要处理的下一块的帧内预测,并且可以通过如下所述的滤波用于下一图片的帧间预测。
此外,在图片编码和/或重构期间,可以应用亮度映射与色度缩放(LMCS)。
滤波器260可以通过对重构信号应用滤波来改善主观/客观图像质量。例如,滤波器260可以通过对重构图片应用各种滤波方法来生成修改后的重构图片,并将修改后的重构图片存储在存储器270(具体地,存储器270的DPB)中。各种滤波方法可包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。滤波器260可以生成与滤波有关的各种信息,并且将生成的信息发送给熵编码器240,如稍后在各种滤波方法的描述中所述。与滤波有关的信息可以由熵编码器240编码并且以比特流的形式输出。
发送给存储器270的修改后的重构图片可以用作帧间预测器221中的参考图片。当通过编码装置应用帧间预测时,可以避免编码装置200与解码装置之间的预测不匹配,并且可以提高编译效率。
存储器270的DPB可以存储用作帧间预测器221中的参考图片的修改后的重构图片。存储器270可以存储从中导出(或编码)当前图片中的运动信息的块的运动信息和/或图片中已重构的块的运动信息。所存储的运动信息可以发送给帧间预测器221,并且用作空间邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并且可以将重构样本传送给帧内预测器222。
图3是图示可以应用本公开的实施方式的视频/图像解码装置的配置的示意图。
参考图3,解码装置300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350、存储器360。预测器330可以包括帧间预测器332和帧内预测器331。残差处理器320可以包括解量化器321和逆变换器322。根据实施方式,熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由硬件组件(例如,解码器芯片组或处理器)构成。另外,存储器360可以包括解码图片缓冲器(DPB),或者可以由数字存储介质构成。硬件组件还可以包括存储器360作为内部/外部组件。
当输入包括视频/图像信息的比特流时,解码装置300可以与在图2的编码装置中处理视频/图像信息的处理相对应地重构图像。例如,解码装置300可以基于从比特流获得的块分割相关信息来导出单元/块。解码装置300可以使用在编码装置中应用的处理器来执行解码。因此,解码的处理器可以是例如编译单元,并且可以根据四叉树结构、二叉树结构和/或三叉树结构,从编译树单元或最大编译单元对编译单元进行分割。可以从编译单元导出一个或更多个变换单元。可以通过再现装置来再现通过解码装置300解码并输出的重构图像信号。
解码装置300可以接收以比特流形式从图2的编码装置输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以解析比特流,以导出图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)之类的各种参数集的信息。另外,视频/图像信息还可以包括一般约束信息。解码装置还可以基于关于参数集的信息和/或一般约束信息来对图片进行解码。本公开中稍后描述的发信号通知的/接收的信息和/或语法元素可以通过解码过程被解码,并从比特流中获取。例如,熵解码器310基于诸如指数哥伦布编译、CAVLC或CABAC之类的编译方法对比特流中的信息进行解码,并输出图像重构所需的语法元素和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中的每个语法元素相对应的bin(二进制位),使用解码目标语法元素信息、解码目标块的解码信息或在先前级中解码的符号/bin的信息来确定上下文模型,并通过根据所确定的上下文模型预测bin的出现概率来对该bin进行算术解码,并且生成与每个语法元素的值相对应的符号。在这种情况下,在确定上下文模型之后,CABAC熵解码方法可以通过将经解码的符号/bin的信息用于下一符号/bin的上下文模型来更新上下文模型。由熵解码器310解码的信息之中与预测有关的信息可以提供给预测器(帧间预测器332和帧内预测器331),并且在熵解码器310中对其执行了熵解码的残差值(也就是说,量化变换系数和相关参数信息)可以被输入到残差处理器320。残差处理器320可以导出残差信号(残差块、残差样本、残差样本阵列)。另外,由熵解码器310解码的信息之中关于滤波的信息可以提供给滤波器350。此外,用于接收从编码装置输出的信号的接收器(未示出)可以进一步被配置成解码装置300的内部/外部元件,或者接收器可以是熵解码器310的组件。此外,根据本公开的解码装置可以称为视频/图像/图片解码装置,并且解码装置可以分类为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。
解量化器321可以对量化变换系数进行解量化并且输出变换系数。解量化器321能够以二维块的形式重新布置量化变换系数。在这种情况下,可以基于在编码装置中执行的系数扫描顺序来执行重新布置。解量化器321可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化,并且获得变换系数。
逆变换器322对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
预测器可以对当前块执行预测,并生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且可以确定具体的帧内/帧间预测模式。
预测器320可以基于以下描述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且可以同时应用帧内预测和帧间预测。这可以称为帧间和帧内组合预测(CIIP)。另外,预测器可以基于帧内块复制(IBC)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可以用于游戏等的内容图像/视频编译,例如,屏幕内容编译(SCC)。IBC基本上在当前图片中执行预测,但是可以类似于帧间预测来执行IBC,因为在当前图片中导出参考块。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编译或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息来发信号通知图片内的样本值。
帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考的样本可以位于当前块的附近,或者可以远离当前块。在帧内预测中,预测模式可以包括多个非定向模式和多个定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器332可以基于参考图片上的由运动矢量指定的参考块(参考样本阵列)来导出当前块的预测块。在这种情况下,为了减少在帧间预测模式中发送的运动信息的量,可以基于邻近块和当前块之间的运动信息的相关性,以块、子块或样本为单位来预测运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息还可包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并基于接收到的候选选择信息来导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
加法器340可以通过将所获得的残差信号与从预测器(包括帧间预测器332和/或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构图片、重构块、重构样本阵列)。如果要处理的块没有残差(例如当应用跳过模式时),则可以将预测块用作重构块。
加法器340可以称为重构器或重构块生成器。所生成的重构信号可以用于当前图片中要处理的下一块的帧内预测,可以通过如下所述的滤波输出,或者可以用于下一图片的帧间预测。
此外,在图片解码过程中可以应用亮度映射与色度缩放(LMCS)。
滤波器350可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过对重构图片应用各种滤波方法来生成修改后的重构图片,并将修改后的重构图片存储在存储器360(具体地,存储器360的DPB)中。各种滤波方法可包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
存储器360的DPB中存储的(修改后的)重构图片可以用作帧间预测器332中的参考图片。存储器360可以存储从中导出(或解码)当前图片中的运动信息的块的运动信息和/或图片中已重构的块的运动信息。所存储的运动信息可以发送给帧间预测器260,以作为空间邻近块的运动信息或时间邻近块的运动信息来利用。存储器360可以存储当前图片中的重构块的重构样本,并且可以将重构样本传送给帧内预测器331。
在本公开中,在编码装置200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可以与解码装置300的滤波器350、帧间预测器332和帧内预测器331相同或者分别被应用以对应于解码装置300的滤波器350、帧间预测器332和帧内预测器331。相同的内容也可以应用于帧间预测器332和帧内预测器331。
在本公开中,可以省略量化/逆量化和/或变换/逆变换中的至少一种。当省略量化/逆量化时,量化的变换系数可以被称为变换系数。当省略变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表达的统一性,仍可以被称为变换系数。
在本公开中,量化变换系数和变换系数可以分别被称为变换系数和缩放变换系数。在这种情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编译语法发信号通知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)导出变换系数,并且可以通过对变换系数逆变换(缩放)来导出缩放变换系数。可以基于对缩放变换系数逆变换(变换)来导出残差样本。这也可以在本公开的其他部分中应用/表达。
同时,如上所述,在执行视频编译时,执行预测以提高压缩效率。通过这样,可以生成包括当前块的预测样本的预测块,作为待编译的块(即,编译目标块)。在此,预测块包括空间域(或像素域)中的预测样本。在编码装置和解码装置中以相同的方式导出预测块,并且编码装置可以向解码装置发信号通知关于原始块与预测块之间的残差的信息(残差信息),而不是原始块的原始样本值,从而提高图像编译效率。解码装置可以基于残差信息导出包括残差样本的残差块,将残差块和预测块相加以生成包括重构样本的重构块,并且生成包括重构块的重构图片。
可以通过变换和量化过程来生成残差信息。例如,编码装置可以导出原始块与预测块之间的残差块,可以对包括在残差块中的残差样本(残差样本阵列)执行变换过程来导出变换系数,可以对变换系数执行量化过程来导出量化的变换系数,并且可以将相关残差信息(通过比特流)发信号通知解码装置。在此,残差信息可以包括量化变换系数的值信息、位置信息、变换技术、变换核心和量化参数等的值信息。解码装置可以基于残差信息来执行解量化/逆变换过程并且导出残差样本(或残差块)。解码装置可以基于预测块和残差块来生成重构图片。此外,为用于以后参考图片的帧间预测的参考,编码装置可以解量化/逆变换量化的变换系数以导出残差块,并且基于此生成重构图片。
帧内预测可以是指基于当前块所属的图片(在下文中,被称为当前图片)中的参考样本,生成用于当前块的预测样本的预测。当对当前块应用帧内预测时,可以导出要用于当前块的帧内预测的相邻参考样本。当前块的相邻参考样本可以包括与大小为nWxnH的当前块的左边界相邻的样本和与当前块的左下相邻的总共2xnH个样本、与当前块的上边界相邻的样本和与右上相邻的总共2xnW个样本以及与当前块的左上相邻的样本。可替选地,当前块的相邻参考样本可以包括多列上相邻样本和多行左相邻样本。此外,当前块的相邻参考样本可以包括与大小为nWxnH的当前块的右边界相邻的总共nH个样本、与当前块的下边界相邻的总共nW个样本以及与当前块的右下相邻的样本。
然而,当前块的一些相邻参考样本尚未解码或可能不可用。在这种情况下,解码器可以通过用可用样本替换不可用样本来构建将用于预测的相邻参考样本。可替选地,可以通过可用样本的插值来配置将用于预测的相邻参考样本。
当导出相邻参考样本时,(i)可以基于当前块的相邻参考样本的平均或插值来导出预测样本,或者(ii)可以基于相对于当前块的相邻参考样本中的预测样本,存在于特定(预测)方向中的参考样本来导出预测样本。情况(i)可以被称为非定向模式或非角度模式,并且情况(ii)可以被称为定向模式或角度模式。
另外,可以通过相邻参考样本之中基于当前块的预测样本位于当前块的帧内预测模式的预测方向中的第一相邻样本和位于预测方向相反的方向中的第二相邻样的插值来来生成预测样本。上述情况可以被称为线性插值帧内预测(LIP)。此外,可以使用线性模型(LM),基于亮度样本生成色度预测样本。这种情况可以被称为LM模式或色度分量LM(CCLM)模式。
另外,基于滤波的相邻参考样本导出当前块的临时预测样本,以及也可以通过将临时预测样本与现有相邻参考样本(即未滤波的相邻参考样本)中的根据帧内预测模式导出的至少一个参考样本加权求和,来导出当前块的预测样本。上述情况可以被称为位置相关帧内预测(PDPC)。
另外,选择当前块的相邻多个参考样本线中的具有最高预测准确度的参考样本线,并且使用所选线中的位于预测方向的参考样本导出预测样本。在这种情况下,可以通过向解码装置指示(发信号通知)所使用的参考样本线来执行帧内预测编码。上述情况可以被称为多参考线帧内预测或基于MRL的帧内预测。
另外,当前块被划分为垂直或水平子分区并基于相同的帧内预测模式执行帧内预测,但是能够以子分区为单位导出和使用相邻参考样本。也就是说,在这种情况下,当前块的帧内预测模式同样适用于子分区,但在一些情况下,可以通过以子分区为单位导出和使用相邻参考样本来提高帧内预测性能。这种预测方法可以被称为基于帧内子分区(ISP)的帧内预测。
可以将上述帧内预测方法称为帧内预测类型以区别于帧内预测模式。帧内预测类型可以通过各种术语来指代,诸如帧内预测技术或附加帧内预测模式。例如,帧内预测类型(或附加帧内预测模式等)可以包括上述LIP、PDPC、MRL和ISP中的至少一种。排除诸如LIP、PDPC、MRL和ISP的特定帧内预测类型的一般帧内预测方法可以被称为正常帧内预测类型。当不应用上述特定帧内预测类型时,一般可以应用正常帧内预测类型,并且可以基于上述帧内预测模式执行预测。同时,如果需要,可以对导出的预测样本执行后处理滤波。
具体地,帧内预测过程可以包括帧内预测模式/类型确定步骤、相邻参考样本导出步骤和基于帧内预测模式/类型的预测样本导出步骤。此外,如果需要,可以对导出的预测样本执行后滤波步骤。
图4图示了基于帧内预测的视频/图像编码方法的示例。
参考图4,编码设备对当前块执行帧内预测(S400)。编码设备导出当前块的帧内预测模式/类型,导出当前块的相邻参考样本,基于帧内预测模式/类型和相邻参考样本生成当前块中的预测样本。在此,帧内预测模式/类型确定、相邻参考样本导出和预测样本生成过程可以同时执行,或者一个过程可以在另一个过程之前执行。编码设备可以从多个帧内预测模式/类型中确定应用于当前块的模式/类型。编码设备可以比较帧内预测模式/类型的RD成本并且确定当前块的最佳帧内预测模式/类型。
同时,编码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。一些或所有预测样本可以由预测样本滤波过程滤波。在一些情况下,可以省略预测样本滤波过程。
编码设备基于(滤波的)预测样本生成当前块的残差样本(S410)。编码设备可以基于相位比较当前块的原始样本中的预测样本并且导出残差样本。
编码设备可以对包括关于帧内预测的信息(预测信息)和关于残差样本的残差信息的图像信息进行编码(S420)。预测信息可以包括帧内预测模式信息和帧内预测类型信息。编码设备能够以比特流的形式输出编码的图像信息。输出比特流可以通过存储介质或网络发送到解码设备。
残差信息可以包括稍后所述的残差编译语法。编码设备可以变换/量化残差样本以导出量化的变换系数。残差信息可以包括关于量化的变换系数的信息。
同时,如上所述,编码设备可以生成重构图片(包括重构样本和重构块)。为此,编码设备可以通过对量化的变换系数再次执行逆量化/逆变换来导出(修改的)残差样本。以这种方式对残差样本进行变换/量化之后再次执行逆量化/逆变换的原因是为了导出与上述解码设备中导出的残差样本相同的残差样本。编码设备可以基于预测样本和(修改的)残差样本生成包括用于当前块的重构样本的重构块。可以基于重构块生成用于当前图片的重构图片。如上所述,环内滤波过程可以被进一步应用于重构图片。
图5图示了基于帧内预测的视频/图像编码方法的示例。
解码设备可以执行与编码装置执行的操作相对应的操作。
可以从比特流中获得预测信息和残差信息。可以基于残差信息导出当前块的残差样本。具体地,可以通过基于根据残差信息导出的量化变换系数执行逆量化来导出变换系数,通过对变换系数执行逆变换来导出当前块的残差样本。
具体地,解码设备可以基于所接收的预测信息(帧内预测模式/类型信息),导出当前块的帧内预测模式/类型(S500)。解码设备可以导出当前块的相邻参考样本(S510)。解码设备基于帧内预测模式/类型和相邻参考样本,生成当前块中的预测样本(S520)。在这种情况下,解码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。一些或所有预测样本可以由预测样本滤波过程滤波。在一些情况下,可以省略预测样本滤波过程。
解码设备基于接收到的残差信息生成用于当前块的残差样本(S530)。解码设备可以基于预测样本和残差样本,生成当前块的重构样本,并且可以导出包括重构样本的重构块(S540)。可以基于重构块生成当前图片的重构图片。如上所述,环内滤波过程可以被进一步应用于重构图片。
帧内预测模式信息可以包括例如标志信息(例如,intra_luma_mpm_flag),其指示是否将MPM(最可能模式)应用于当前块或是否应用剩余模式,并且当将MPM应用于当前块时,预测模式信息可以进一步包括指示帧内预测模式候选(MPM候选)之一的索引信息(例如,intra_luma_mpm_idx)。帧内预测模式候选(MPM候选)可以由MPM候选列表或MPM列表构成。另外,当MPM没有应用于当前块时,帧内预测模式信息包括指示除了帧内预测模式候选(MPM候选)之外的剩余帧内预测模式之一的剩余模式信息(例如intra_luma_mpm_remainder)。解码设备可以基于帧内预测模式信息,确定当前块的帧内预测模式。
此外,能够以各种形式实现帧内预测类型信息。例如,帧内预测类型信息可以包括指示帧内预测类型之一的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括以下中的至少一个:表示是否将MRL应用于当前块,并且如果应用,使用哪个参考样本线的参考样本线信息(例如,intra_luma_ref_idx)、表示是否将ISP应用于当前块的ISP标志信息(例如intra_subpartitions_mode_flag)、当应用ISP时指示子分区的拆分类型的ISP类型信息(例如intra_subpartitions_split_flag)、表示是否应用PDPC的标志信息或者表示是否应用LIP的标志信息。此外,帧内预测类型信息可以包括表示是否将基于矩阵的帧内预测(MIP)应用于当前块的MIP标志。
可以通过本公开中描述的编译方法,对帧内预测模式信息和/或帧内预测类型信息进行编码/解码。例如,可以通过熵编译(例如,CABAC、CAVLC)对帧内预测模式信息和/或帧内预测类型信息进行编码/解码。
图6示意性地示出帧内预测过程。
参考图6,如上所述,帧内预测过程可以包括确定帧内预测模式/类型的步骤、导出相邻参考样本的步骤和执行帧内预测(生成预测样本)的步骤。帧内预测过程可以由如上所述的编码设备和解码设备执行。在本公开中,编译设备可以包括编码设备和/或解码设备。
参考图6,编译设备确定帧内预测模式/类型S600。
编码设备可以从上述各种帧内预测模式/类型中确定应用于当前块的帧内预测模式/类型,并且可以生成预测相关信息。预测相关信息可以包括表示应用于当前块的帧内预测模式的帧内预测模式信息和/或表示应用于当前块的帧内预测类型的帧内预测类型信息。解码设备可以基于预测相关信息确定应用于当前块的帧内预测模式/类型。
帧内预测模式信息可以包括例如表示将最可能模式(MPM)应用于当前块还是应用剩余模式的标志信息(例如,intra_luma_mpm_flag),以及当将MPM应用于当前块时,预测模式信息可以进一步包括指示帧内预测模式候选(MPM候选)之一的索引信息(例如,intra_luma_mpm_idx)。帧内预测模式候选(MPM候选)可以由MPM候选列表或MPM列表构成。另外,当MPM没有应用于当前块时,帧内预测模式信息可以进一步包括指示除了帧内预测模式候选(MPM候选)之外的剩余帧内预测模式之一的剩余模式信息(例如,intra_luma_mpm_remainder)。解码设备可以基于帧内预测模式信息确定当前块的帧内预测模式。
此外,能够以各种形式实现帧内预测类型信息。例如,帧内预测类型信息可以包括指示帧内预测类型之一的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括以下中的至少一个:表示MRL是否被应用于当前块,并且如果应用,使用哪一参考样本线的参考样本线信息(例如,intra_luma_ref_idx)、表示是否将ISP应用于当前块的ISP标志信息(例如intra_subpartitions_mode_flag)、当应用ISP时指示子分区的拆分类型的ISP类型信息(例如intra_subpartitions_split_flag)、表示是否应用PDPC的标志信息或者表示是否应用LIP的标志信息。此外,帧内预测类型信息可以包括表示是否将基于矩阵的帧内预测(MIP)应用于当前块的MIP标志。
例如,当应用帧内预测时,可以使用邻近块的帧内预测模式来确定应用于当前块的帧内预测模式。例如,编译设备可以选择基于附加候选模式和/或当前块的邻近块(例如,左和/或上邻近块)的帧内预测模式导出的MPM列表中的最可能模式(MPM)候选之一或基于MPM剩余信息(剩余帧内预测模式信息)选择未包括在MPM候选(和平面模式)中的剩余帧内预测模式之一。MPM列表可以被配置成包括或不包括平面模式作为候选。例如,当MPM列表将平面模式包括为候选时,MPM列表可以有6个候选,当MPM列表不将平面模式包括为候选时,MPM列表可以有5个候选。当MPM列表不将平面模式包括为候选时,可以发信号通知表示当前块的帧内预测模式是否不是平面模式的非平面标志(例如,intra_luma_not_planar_flag)。例如,可以首先发信号通知MPM标志,并且当MPM标志的值为1时,可以发信号通知MPM索引和非平面标志。此外,当非平面标志的值为1时,可以发信号通知MPM索引。在此,配置MPM列表不将平面模式包括为候选的事实是平面模式总是被认为是MPM而不是认为平面模式不是MPM,因此,首先发信号通知标志(非平面标志)以检查它是否是平面模式。
例如,可以基于MPM标志(例如,intra_luma_mpm_flag)指示应用于当前块的帧内预测模式是在MPM候选(和平面模式)之中还是在剩余模式之中。值为1的MPM标志可以指示当前块的帧内预测模式在MPM候选(和平面模式)内,而值为0的MPM标志可以指示当前块的帧内预测模式不在MPM候选(和平面模式)内。值为0的非平面标志(例如intra_luma_not_planar_flag)可以指示当前块的帧内预测模式为平面模式,值为1的非平面标志可以指示当前块的帧内预测模式不是平面模式。能够以mpm_idx或intra_luma_mpm_idx语法元素的形式发信号通知MPM索引,并且能够以rem_intra_luma_pred_mode或intra_luma_mpm_remainder语法元素的形式发信号通知剩余帧内预测模式信息。例如,剩余帧内预测模式信息可以通过按照预测模式编号的顺序索引来指示所有帧内预测模式之中的未包括在MPM候选(和平面模式)中的剩余帧内预测模式之一。帧内预测模式可以是亮度分量(样本)的帧内预测模式。在下文中,帧内预测模式信息可以包括MPM标志(例如intra_luma_mpm_flag)、非平面标志(例如intra_luma_not_planar_flag)、MPM索引(例如mpm_idx或intra_luma_mpm_idx)或剩余的帧内预测模式信息(rem_intra_luma_luma_mpm_mode或intra_luma_mpminder)中的至少一个。在本公开中,MPM列表可以用多种术语,诸如MPM候选列表和candModeList来指代。
当将MIP应用于当前块时,可以发信号通知用于MIP的单独MPM标志(例如,intra_mip_mpm_flag)、MPM索引(例如,intra_mip_mpm_idx)和剩余帧内预测模式信息(例如,intra_mip_mpm_remainder),并且可以不发信号通知非平面标志。
换言之,一般而言,当执行图像的块分割时,待编译的当前块和邻近块具有相似的图像特征。因此,当前块和邻近块具有相同或相似的帧内预测模式的可能性很高。因此,编码器可以使用邻近块的帧内预测模式来对当前块的帧内预测模式进行编码。
编译设备可以为当前块构建最可能模式(MPM)列表。MPM列表可以被称为MPM候选列表。在此,MPM可以是指用于在帧内预测模式编译期间,考虑当前块和邻近块之间的相似性来提高编译效率的模式。如上所述,MPM列表可以被构建为包括平面模式,或者可以被构建为排除平面模式。例如,当MPM列表包括平面模式时,MPM列表中的候选数量可以是6。而当MPM列表不包括平面模式时,MPM列表中的候选数量可以是5。
编码设备可以基于各种帧内预测模式执行预测,并且可以基于根据其的速率失真优化(RDO)来确定最佳帧内预测模式。在这种情况下,编码设备可以通过仅使用MPM列表中配置的MPM候选和平面模式,或者通过进一步使用剩余帧内预测模式以及MPM列表中配置的MPM候选和平面模式来确定最佳帧内预测模式。具体地,例如,如果当前块的帧内预测类型是正常帧内预测类型以外的特定类型(例如LIP、MRL或ISP),则编码设备可以通过仅将MPM候选和平面模式视作当前块的帧内预测模式候选来确定最佳帧内预测模式。即,在这种情况下,可以仅从MPM候选和平面模式中确定当前块的帧内预测模式,并且在这种情况下,可以不执行MPM标志的编码/信令。在这种情况下,解码设备可以推断MPM标志为1,而无需单独地发信号通知MPM标志。
同时,通常,在当前块的帧内预测模式不是平面模式,而是MPM列表中的MPM候选之一时,编码设备生成指示MPM候选之一的MPM索引(mpm idx)。在当前块的帧内预测模式未被包括在MPM列表中时,编码设备生成MPM剩余信息(剩余帧内预测模式信息),指示未包括在MPM列表(和平面模式)中的剩余帧内预测模式之中的与当前块的帧内预测模式相同的模式。MPM剩余信息可以包括例如intra_luma_mpm_remainder语法元素。
解码设备从比特流中获得帧内预测模式信息。如上所述,帧内预测模式信息可以包括MPM标志、非平面标志、MPM索引和MPM剩余信息(剩余帧内预测模式信息)中的至少一个。解码设备可以构建MPM列表。MPM列表的构建与在编码设备中构建的MPM列表相同。即,MPM列表可以包括邻近块的帧内预测模式,或者可以进一步包括根据预定方法的特定帧内预测模式。
解码设备可以基于MPM列表和帧内预测模式信息确定当前块的帧内预测模式。例如,当MPM标志的值为1时,解码设备可以(基于非平面标志)将平面模式导出为当前块的帧内预测模式,或者将MPM列表的MPM候选之中的由MPM索引指示的候选导出为当前块的帧内预测模式。在此,MPM候选可以仅表示MPM列表中包括的候选,也可以不仅包括MPM列表中包括的候选,而且包括MPM标志的值为1时适用的平面模式。
又例如,当MPM标志的值为0时,解码设备可以将在未包括在MPM列表和平面模式中的剩余帧内预测模式之中的由剩余帧内预测模式信息(可以被称为mpm剩余信息)指示的帧内预测模式导出为当前块的帧内预测模式。同时,作为另一示例,在当前块的帧内预测类型是特定类型(例如LIP、MRL或ISP等)时,解码设备可以将由平面模式或MPM列表中的MPM标志指示的候选导出为当前块的帧内预测模式,无需解析/解码/检查MPM标志。
编译设备导出当前块的相邻参考样本(S610)。当帧内预测被应用于当前块时,可以导出要用于当前块的帧内预测的相邻参考样本。当前块的相邻参考样本可以包括与大小为nWxnH的当前块的左边界相邻的样本和与当前块的左下相邻的总共2xnH个样本、与当前块的上边界相邻的样本和与右上相邻的总共2xnW个样本以及与当前块的左上相邻的样本。可替选地,当前块的相邻参考样本可以包括多列上相邻样本和多行左相邻样本。此外,当前块的相邻参考样本可以包括与大小为nWxnH的当前块的右边界相邻的总共nH个样本、与当前块的下边界相邻的总共nW个样本以及与当前块的右下相邻的样本。
另一方面,当应用MRL时(即当MRL索引的值大于0时),相邻参考样本可能位于线1至2而不是在左/上侧与当前块相邻的线0,以及在这种情况下,可以进一步增加相邻参考样本的数量。同时,当应用ISP时,能够以子分区为单位导出相邻参考样本。
编译设备通过对当前块执行帧内预测来导出预测样本(S620)。编译设备可以基于帧内预测模式/类型和相邻样本来导出预测样本。编译设备可以根据当前块的相邻参考样本中的当前块的帧内预测模式来导出参考样本,并且可以基于参考样本来导出当前块的预测样本。
同时,当应用帧间预测时,编码装置/解码装置的预测器可以通过以块为单位执行帧间预测来导出预测样本。当对当前块执行预测时,可以应用帧间预测。也就是说,编码/解码装置的预测器(更具体地,帧间预测器)可以通过以块为单位执行帧间预测来导出预测样本。帧间预测可以表示通过取决于除当前图片之外的(一个或多个)图片的数据元素(例如,样本值或运动信息)的方法导出的预测。当将帧间预测应用于当前块时,可以基于由参考图片索引指示的参考图片上的由运动矢量指定的参考块(参考样本阵列)来导出用于当前块的预测块(预测样本阵列)。在这种情况下,为了减少在帧间预测模式中发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性,以块、子块或样本为单位预测当前块的运动信息。运动信息可以包括运动矢量和参考图片索引。运动信息可以进一步包括帧间预测类型(L0预测、L1预测、Bi预测等)信息。在应用帧间预测的情况下,邻近块可以包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可以彼此相同或彼此不同。时间邻近块可以被称作诸如并置参考块、并置CU(ColCU)等的名称,并且包括时间邻近块的参考图片可以被称作并置图片(ColPic)。例如,可以基于当前块的邻近块配置运动信息候选列表,以及可以发信号通知指示选择(使用)哪个候选的标志或索引信息以便导出当前块的运动矢量和/或参考图片索引。可以基于各种预测模式执行帧间预测,并且例如,在跳过模式和合并模式的情况下,当前块的运动信息可以与选择的邻近块的运动信息相同。在跳过模式的情况下,与合并模式不同,可以不发送残差信号。在运动矢量预测(MVP)模式的情况下,选择的邻近块的运动矢量可以被用作运动矢量预测子,并且可以发信号通知运动矢量差。在这种情况下,可以通过使用运动矢量预测子和运动矢量差的总和来导出当前块的运动矢量。
根据帧间预测类型(L0预测、L1预测、Bi预测等),运动信息可以进一步包括L0运动信息和/或L1运动信息。L0方向运动矢量可以被称为L0运动矢量或MVL0,以及L1方向运动矢量可以被称为L1运动矢量或MVL1。基于L0运动矢量的预测可以被称为L0预测,基于L1运动矢量的预测可以被称为L1预测,以及基于L0运动矢量和L1运动矢量两者的预测可以被称为双预测(bi-prediction)。在此,L0运动矢量可以指示与参考图片列表L0相关联的运动矢量,以及L1运动矢量可以指示与参考图片列表L1相关联的运动矢量。参考图片列表L0可以包括按输出次序在当前图片之前的图片,以及参考图片列表L1可以包括按输出次序在当前图片之后的图片,作为参考图片。先前图片可以被称为前向(参考)图片,并且后续图片可以被称为反向(参考)图片。参考图片列表L0可以进一步包括按输出次序在当前图片之后的图片作为参考图片。在这种情况下,可以首先在参考图片列表L0中对先前图片进行索引,然后可以对后续图片进行索引。参考图片列表L1可以进一步包括按输出次序在当前图片之前的图片作为参考图片。在这种情况下,可以首先在参考图片列表L1中对后续图片进行索引,然后可以对先前图片进行索引。在此,输出次序可以对应于图片序列计数(POC)次序。
基于帧间预测的视频/图像编码过程可以示意性地包括例如以下内容。
图7图示基于帧间预测的视频/图像编码方法的示例。
编码装置对当前块执行帧间预测(S700)。编码装置可以导出当前块的帧间预测模式和运动信息,并且生成当前块的预测样本。在此,可以同时执行帧间预测模式确定过程、运动信息导出过程和预测样本的生成过程,并且可以比其他过程更早地执行任何一个过程。例如,编码装置的帧间预测单元可以包括预测模式确定单元、运动信息导出单元和预测样本导出单元,并且预测模式确定单元可以确定当前块的预测模式,运动信息导出单元可以导出当前块的运动信息,以及预测样本导出单元可以导出当前块的预测样本。例如,编码装置的帧间预测单元可以通过运动估计在参考图片的预定区域(搜索区域)中搜索与当前块相似的块,并且导出与当前块的差最小或者等于或小于预定准则的参考块。可以基于此导出指示参考块所处的参考图片的参考图片索引,并且可以基于参考块与当前块之间的位置差导出运动矢量。编码装置可以确定各种预测模式之中,应用于当前块的模式。编码装置可以比较各种预测模式的RD成本,并且确定当前块的最佳预测模式。
例如,当将跳过模式或合并模式应用于当前块时,编码装置可以配置将在下面描述的合并候选列表,并且导出在由合并候选列表中包括的合并候选指示的参考块之中的、与当前块的差最小或者等于或小于预定准则的参考块。在这种情况下,可以选择与导出的参考块相关联的合并候选,并且可以生成指示选择的合并候选的合并索引信息并且将其发信号通知解码装置。可以通过使用选择的合并候选的运动信息来导出当前块的运动信息。
作为另一示例,当将(A)MVP模式应用于当前块时,编码装置可以配置将在下文描述的(A)MVP候选列表,并且将包括在(A)MVP候选列表中的运动矢量预测子(mvp)候选之中的选择的mvp候选的运动矢量用作当前块的mvp。在这种情况下,例如,指示通过运动估计导出的参考块的运动矢量可以被用作当前块的运动矢量,并且mvp候选之中具有与当前块的运动矢量的最小差的运动矢量的mvp候选可以成为选择的mvp候选。可以导出运动矢量差(MVD),其是通过从当前块的运动矢量减去mvp而获得的差。在这种情况下,可以将关于MVD的信息发信号通知解码装置。此外,当应用(A)MVP模式时,参考图片索引的值可以被配置成参考图片索引信息并且将其单独地发信号通知解码装置。
编码装置可以基于预测样本导出残差样本(S710)。编码装置可以通过比较当前块的原始样本和预测样本来导出残差样本。
编码装置对包括预测信息和残差信息的图像信息进行编码(S720)。编码装置能够以比特流的形式输出编码的图像信息。预测信息可以包括关于预测模式信息的信息(例如,跳过标志、合并标志或模式索引等)以及关于运动信息的信息,作为与预测过程相关的信息。关于运动信息的信息可以包括候选选择信息(例如,合并索引、mvp标志或mvp索引),该候选选择信息是用于导出运动矢量的信息。此外,关于运动信息的信息可以包括关于MVD的信息和/或参考图片索引信息。此外,关于运动信息的信息可以包括指示是应用L0预测、L1预测还是双预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中并传送到解码装置,或者经由网络传送到解码装置。
同时,如上所述,编码装置可以基于参考样本和残差样本生成重构图片(包括重构样本和重构块)。这是为了导出与由解码装置执行的预测结果相同的预测结果,结果,可以提高编译效率。因此,编码装置可以将重构图片(或重构样本或重构块)存储在存储器中,并将重构图片用作参考图片。如上所述,环内滤波过程可以进一步应用于重构图片。
基于帧间预测的视频/图像解码过程可以示意性地包括例如以下内容。
图8图示基于帧间预测的视频/图像解码方法的示例。
参考图8,解码装置可以执行与由编码装置执行的操作对应的操作。解码装置可以基于所接收的预测信息对当前块执行预测并导出预测样本。
具体地,解码装置可以基于所接收的预测信息来确定当前块的预测模式(S800)。解码装置可以基于预测信息中的预测模式信息来确定将哪种帧间预测模式应用于当前块。
例如,可以基于合并标志确定是否将合并模式或者(A)MVP模式应用于当前块。可替选地,可以基于模式索引选择各种帧间预测模式候选中的一种。帧间预测模式候选可以包括跳过模式、合并模式和/或(A)MVP模式,或者可以包括下文将描述的各种帧间预测模式。
解码装置基于所确定的帧间预测模式导出当前块的运动信息(S810)。例如,当将跳过模式或合并模式应用于当前块时,解码装置可以配置将在下面描述的合并候选列表,并且在合并候选列表中包括的合并候选之中选择一个合并候选。在此,可以基于选择信息(合并索引)来执行选择。可以通过使用所选择的合并候选的运动信息来导出当前块的运动信息。所选择的合并候选的运动信息可以被用作当前块的运动信息。
作为另一实例,当将(A)MVP模式应用于当前块时,解码装置可以配置将在下文描述的(A)MVP候选列表,并且将包括在(A)MVP候选列表中的运动矢量预测子(mvp)候选之中的选择的mvp候选的运动矢量用作当前块的mvp。在此,可以基于选择信息(mvp标志或mvp索引)执行选择。在这种情况下,可以基于关于MVD的信息导出当前块的MVD,并且可以基于当前块的mvp和MVD导出当前块的运动矢量。此外,可以基于参考图片索引信息导出当前块的参考图片索引。可以将由当前块的参考图片列表中的参考图片索引指示的图片导出为当前块的帧间预测所参考的参考图片。
同时,如下所述,可以在没有候选列表配置的情况下导出当前块的运动信息,并且在这种情况下,可以根据预测模式中公开的过程导出当前块的运动信息。在这种情况下,可以省略候选列表配置。
解码装置可以基于当前块的运动信息生成用于当前块的预测样本(S820)。在这种情况下,可以基于当前块的参考图片索引导出参考图片,并且可以通过使用由参考图片上的当前块的运动矢量指示的参考块的样本导出当前块的预测样本。在这种情况下,在一些情况下,可以进一步执行用于当前块的所有或一些预测样本的预测样本滤波过程。
例如,解码装置的帧间预测单元可以包括预测模式确定单元、运动信息导出单元和预测样本导出单元,并且预测模式确定单元可以基于所接收的预测模式信息确定当前块的预测模式,运动信息导出单元可以基于关于所接收的运动信息的信息来导出当前块的运动信息(运动矢量和/或参考图片索引),并且预测样本导出单元可以导出当前块的预测样本。
解码装置基于所接收的残差信息生成当前块的残差样本(S830)。解码装置可以基于预测样本和残差样本生成当前块的重构样本,并且基于所生成的重构样本生成重构图片(S840)。此后,如上所述,环内滤波过程可以进一步应用于重构图片。
图9示意性地示出帧间预测过程。
参考图9,如上所述,帧间预测过程可以包括帧间预测模式确定步骤、根据所确定的预测模式的运动信息导出步骤,以及基于所导出的运动信息的预测处理(预测样本生成)步骤。帧间预测过程可以由如上所述的编码装置和解码装置执行。在本文中,编译设备可以包括编码装置和/或解码装置。
参考图9,编译装置确定当前块的帧间预测模式(S900)。可以将各种帧间预测模式用于图片中的当前块的预测。例如,可以使用各种模式,诸如合并模式、跳过模式、运动矢量预测(MVP)模式、仿射模式、子块合并模式、与MVD合并(MMVD)模式以及历史运动矢量预测(HMVP)模式。解码器侧运动矢量细化(DMVR)模式、自适应运动矢量分辨率(AMVR)模式、具有CU级权重的双预测(BCW)以及双向光流(BDOF)等可以进一步被用作附加模式。仿射模式也可以被称作仿射运动预测模式。MVP模式也可以被称作高级运动矢量预测(AMVP)模式。在本文中,一些模式和/或由一些模式导出的运动信息候选也可以被包括在其他模式中的运动信息相关候选中的一个中。例如,可以将HMVP候选添加到合并/跳过模式的合并候选,或者添加到MVP模式的mvp候选。如果HMVP候选被用作合并模式或跳过模式的运动信息候选,则可以将HMVP候选称作HMVP合并候选。
指示当前块的帧间预测模式的预测模式信息可以从编码装置发信号通知解码装置。在这种情况下,预测模式信息可以被包括在比特流中并由解码装置接收。预测模式信息可以包括指示多个候选模式中的一种的索引信息。可替选地,可以通过标志信息的分层信令来指示帧间预测模式。在这种情况下,预测模式信息可以包括一个或多个标志。例如,可以通过发信号通知跳过标志来指示是否应用跳过模式,在不应用跳过模式时,可以通过发信号通知合并标志来指示是否应用合并模式,以及在不应用合并模式时,指示应用MVP模式或可以进一步发信号通知用于额外区分的标志。仿射模式可以被发信号通知为独立模式,或发信号通知为关于合并模式或MVP模式的从属模式。例如,仿射模式可以包括仿射合并模式和仿射MVP模式。
编译装置导出当前块的运动信息(S910)。可以基于帧间预测模式导出运动信息导出。
编译装置可以使用当前块的运动信息来执行帧间预测。编码装置可以通过运动估计过程导出当前块的最佳运动信息。例如,编码装置可以通过使用当前块的原始图片中的原始块,在参考图片中的预定搜索范围内,以分数像素为单位搜索具有高相关性的类似参考块,并且通过所搜索的参考块来导出运动信息。可以根据基于相位的样本值的差来导出块的相似性。例如,可以基于当前块(或当前块的模板)与参考块(或参考块的模板)之间的绝对差的总和(SAD)来计算块的相似性。在这种情况下,可以基于搜索区域中具有最小SAD的参考块来导出运动信息。可以基于帧间预测模式,根据各种方法将导出的运动信息发信号通知解码装置。
编译装置基于当前块的运动信息执行帧间预测(S920)。编译装置可以基于运动信息导出当前块的(一个或多个)预测样本。包括预测样本的当前块可以被称作预测块。
同时,如上所述,编码装置可以执行各种编码方法,诸如指数哥伦布(exponentialGolomb)、上下文自适应可变长度编译(CAVLC)和上下文自适应二进制算术编译(CABAC)。另外,解码装置可以基于诸如指数哥伦布编译、CAVLC或CABAC的编译方法,对比特流中的信息进行解码,并且输出图像重构所需的语法元素的值和与残差相关的变换系数的量化值。
例如,可以如下所述执行上述编译方法。
图10示例性地示出了用于对语法元素进行编码的上下文自适应二进制算术编译(CABAC)。例如,在CABAC编译过程中,当输入信号是语法元素而不是二进制值时,编码装置可以通过将输入信号的值二值化来将输入信号转换为二进制值。另外,当输入信号已经是二进制值时(即,当输入信号的值是二进制值时),可以不执行二值化并且可以旁路二值化。在此,构成二进制值的每个二进制数0或1可以被称为bin。例如,如果二值化之后的二进制字符串是110,则1、1和0中的每个被称为一个bin。用于一个语法元素的bin可以指示语法元素的值。
此后,可以将语法元素的二值化bin输入到常规编译引擎或旁路编译引擎。编码装置的常规编译引擎可以对相应的bin分配反映概率值的上下文模型,并且可以基于所分配的上下文模型对相应的bin进行编码。在对每个bin进行编码之后,编码装置的常规编译引擎可以更新用于相应bin的上下文模型。如上所述的编码bin可以被称为上下文编译的bin。
同时,当语法元素的二值化bin被输入到旁路编译引擎时,它们可以被如下编译。例如,编码装置的旁路编译引擎省略了估计关于输入bin的概率的过程,以及在编码后更新应用于bin的概率模型的过程。当应用旁路编时,编码装置可以通过应用均匀概率分布而不是分配上下文模型来对输入bin进行编码,从而提高编码速度。如上所述的编码bin可以被称为旁路bin。
熵解码可以表示以相反的顺序执行与上述熵编码相同的过程的过程。
例如,当基于上下文模型对语法元素进行解码时,解码装置可以通过比特流接收与语法元素对应的bin,可以使用语法元素和解码目标块或邻近块的解码信息或者上一步解码的码元/bin的信息来确定上下文模型,可以通过根据所确定的上下文模型预测所接收到的bin的出现概率并且对bin执行算术解码,来导出语法元素的值。此后,可以利用所确定的上下文模型来更新下一个解码bin的上下文模型。
此外,例如,当旁路解码语法元素时,解码装置可以通过比特流接收与语法元素对应的bin,并且可以通过应用均匀概率分布来对输入bin进行解码。在这种情况下,解码装置可以省略用于导出语法元素的上下文模型的过程以及用于解码之后更新应用于bin的上下文模型的过程。
如上所述,可以通过变换及量化过程,将残差样本导出为量化变换系数。量化变换系数也可以被称为变换系数。在这种情况下,可以以残差信息的形式发信号通知块中的变换系数。残差信息可以包括残差编译语法。也就是说,编码装置可以利用残差信息来配置残差编译语法,对残差编译语法进行编码,并将其以比特流的形式输出,以及解码装置可以从比特流中解码残差编译语法并导出残差(量化)变换系数。残差编译语法可以包括表示是否变换被应用于相应块、块中的最后有效变换系数的位置、子块中是否存在有效变换系数、有效变换系数的大小/符号等的语法元素,如稍后所述。
例如,可以基于语法元素(诸如transform_skip_flag、last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、coded_sub_block_flag、sig_coeff_flag、par_level_flag、abs_level_gt1_flag、abs_level_gt3_flag、abs_remaind、coeff_sign_flag、dec_abs_level、mts_idx)编码和/或解码(量化)变换系数(即,残差信息)。与残差数据编码/解码相关的语法元素可以如下表所示表示。
[表1]
Figure BDA0003518793430000401
Figure BDA0003518793430000411
Figure BDA0003518793430000421
Figure BDA0003518793430000431
transform_skip_flag指示在相关联块中是否跳过变换。transform_skip_flag可以是变换跳过标志的语法元素。相关联块可以是编译块(CB)或变换块(TB)。关于变换(和量化)和残差编译过程,CB和TB可以互换使用。例如,如上所述,可以针对CB导出残差样本,并且可以通过用于残差样本的变换及量化,导出(量化)变换系数,并且通过残差编译程序,可以生成并且发信号通知有效地指示(量化)变换系数的位置、量值、符号(sign)等的信息(例如,语法元素)。量化变换系数可以简单地被称为变换系数。通常,当CB不大于最大TB时,CB的大小可以与TB的大小相同,并且在这种情况下,要变换(和量化)并且残差编译的目标块可以被称为CB或TB。同时,当CB大于最大TB时,要变换(和量化)并且残差编译的目标块可以被称为TB。在下文中,将描述以变换块(TB)为单位发信号通知与残差编译相关的语法元素,但是这是示例,并且TB可以与如上所述的编译块(CB)互换使用。
同时,在发信号通知变换跳过标志之后发信号通知的语法元素可以与下表2中所公开的语法元素相同,并且下文描述关于语法元素的详细描述。
[表2]
Figure BDA0003518793430000441
Figure BDA0003518793430000451
Figure BDA0003518793430000461
[表3]
Figure BDA0003518793430000471
Figure BDA0003518793430000481
Figure BDA0003518793430000491
Figure BDA0003518793430000501
Figure BDA0003518793430000511
[表4]
Figure BDA0003518793430000521
Figure BDA0003518793430000531
Figure BDA0003518793430000541
根据本实施例,如表2所示,可以根据变换跳过标志的语法元素transform_skip_flag的值来划分残差编译。即,基于变换跳过标志的值(基于是否跳过变换),不同语法元素可用于残差编译。当不应用变换跳过时(即,当应用变换时)使用的残差编译可以被称为常规残差编译(RRC),而当应用变换跳过时(即,当不应用变换时)使用的残差编译可以被称为变换跳过残差编译(TSRC)。此外,常规残差编译可以被称为一般残差编译。此外,常规残差编译可以被称为常规残差编译语法结构,而变换跳过残差编译可以被称为变换跳过残差编译语法结构。上表3可以示出当transform_skip_flag的值为0时(即,当应用变换时)的残差编译的语法元素,而上表4可以示出当transform_skip_flag的值为1时(即,当不应用变换时)的残差编译的语法元素。
具体地,例如,可以解析指示是否跳过变换块的变换的变换跳过标志,并且可以确定变换跳过标志是否为1。如果变换跳过标志的值为0,如表3所示,则可以解析用于变换块的残差系数的语法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、sb_coded_flag、sig_coeff_flag、abs_level_gtx_flag、par_level_flag、abs_remainder、coeff_sign_flag和/或dec_abs_level,并且可以基于语法元素导出残差系数。在这种情况下,可以顺序地解析语法元素,并且可以改变解析顺序。另外,abs_level_gtx_flag可以表示abs_level_gt1_flag和/或abs_level_gt3_flag。例如,abs_level_gtx_flag[n][0]可以是第一变换系数级别标志(abs_level_gt1_flag)的示例,并且abs_level_gtx_flag[n][1]可以是第二变换系数级别标志(abs_level_gt3_flag)的示例。
参考上表3,可以编码/解码last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、last_sig_coeff_y_suffix、sb_coded_flag、sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag、abs_remainder、coeff_sign_flag和/或dec_abs_level。同时,sb_coded_flag可以被表示为coded_sub_block_flag。
在实施例中,编码装置可以基于语法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix和last_sig_coeff_y_suffix,对变换块中的最后一个非零变换系数的(x,y)位置信息进行编码。更具体地,last_sig_coeff_x_prefix表示变换块内按扫描顺序的最后有效系数的列位置的前缀,last_sig_coeff_y_prefix表示变换块内按扫描顺序的最后有效系数的行位置的前缀,last_sig_coeff_x_suffix表示变换块内按扫描顺序的最后有效系数的列位置的后缀,而last_sig_coeff_y_suffix表示变换块内按扫描顺序的最后有效系数的行位置的后缀。在此,有效系数可以表示非零系数。另外,扫描顺序可以是右对角线扫描顺序。可替选地,扫描顺序可以是水平扫描顺序或垂直扫描顺序。可以基于是否将帧内/帧间预测应用于目标块(CB或包括TB的CB)和/或特定帧内/帧间预测模式来确定扫描顺序。
此后,编码装置可以将变换块划分为4×4子块,然后针对每个4×4子块,使用1比特语法元素coded_sub_block_flag来指示当前子块中是否存在非零系数。
如果coded_sub_block_flag的值为0,则不再存在要发送的信息,因此,编码装置可以终止对当前子块的编码处理。相反,如果coded_sub_block_flag的值为1,则编码装置可以对sig_coeff_flag连续地执行编码处理。由于包括最后一个非零系数的子块不需要对coded_sub_block_flag进行编码,并且包括变换块的DC信息的子块具有包括非零系数的高概率,因此可以不对coded_sub_block_flag进行编译,并且可以将其值假设为1。
如果coded_sub_block_flag的值为1,并因此确定当前子块中存在非零系数,则编码装置可以根据反向扫描顺序对具有二进制值的sig_coeff_flag进行编码。编码装置可以根据扫描顺序,对每个变换系数的1比特语法元素sig_coeff_flag进行编码。如果当前扫描位置处的变换系数的值不是0,则sig_coeff_flag的值可以为1。在此,在包括最后一个非零系数的子块的情况下,不需要针对最后一个非零系数对sig_coeff_flag进行编码,因此可以省略子块的编译过程。可以仅在sig_coeff_flag为1时执行级别信息编译,并且可以在级别信息编码过程中使用四个语法元素。更具体地,每个sig_coeff_flag[xC][yC]可以指示当前TB中的每个变换系数位置(xC,yC)处的相应变换系数的级别(值)是否为非零。在实施例中,sig_coeff_flag可以对应于指示量化变换系数是否是非零有效系数的有效系数标志的语法元素的示例。
在编码sig_coeff_flag之后剩余的级别值可以如以下等式所示导出。也就是说,可以从以下等式导出指示待编码的级别值的语法元素remAbsLevel。
[等式1]
remAbsLevel=|coeff|-1
在此,coeff表示实际变换系数值。
另外,abs_level_gt1_flag可以指示相应扫描位置(n)的remAbsLevel是否大于1。例如,当abs_level_gt1_flag的值为0时,相应位置的变换系数的绝对值可以为1。另外,当abs_level_gt1_flag的值为1时,指示稍后待被编码的级别值的remAbsLevel可以如以下等式中所示被更新。
[等式2]
remAbsLevel=remAbsLevel-1
另外,上述等式2中描述的remAbsLevel的最低有效系数(LSB)值可以通过par_level_flag如下面的等式3中那样被编码。
[等式3]
par_level_flag=|coeff|&1
在此,par_level_flag[n]可以指示扫描位置n处的变换系数级别(值)的奇偶性。
在执行par_level_flag编码之后要编码的变换系数级别值remAbsLevel可以如下文在以下等式中所示更新。
[等式4]
remAbsLevel=remAbsLevel>>1
abs_level_gt3_flag可以指示相应扫描位置(n)的remAbsLevel是否大于3。可以仅在rem_abs_gt3_flag等于1的情况下执行对abs_remainder的编码。实际变换系数值coeff与每一语法元素之间的关系可以如下文在以下等式中所示。
[等式5]
|coeff|=sig_coeff_flag+abs_level_gt1_flag+par_level_flag2*(abs_levl_gt3_fla+abs_remainder)
另外,下表指示与上述等式5相关的示例。
[表5]
Figure BDA0003518793430000581
在此,|coeff|指示变换系数级别(值),并且还可以被指示为用于变换系数的AbsLevel。另外,可以通过使用作为1比特码元的coeff_sign_flag来编码每个系数的符号。
此外,如果变换跳过标志的值为1,如表4中所示,则可以解析用于变换块的残差系数的语法元素sb_coded_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gtx_flag、par_level_flag和/或abs_remainder,并且可以基于语法元素导出残差系数。在这种情况下,可以顺序地解析语法元素,并且可以改变解析顺序。另外,abs_level_gtx_flag可以表示abs_level_gt1_flag、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag和/或abs_level_gt9_flag。例如,abs_level_gtx_flag[n][j]可以是指示扫描位置n处的变换系数的绝对值或级别(值)是否大于(j<<1)+1的标志。条件(j<<1)+1可以可选地用诸如第一阈值、第二阈值等的特定阈值替换。
同时,CABAC提供高性能,但不利地具有不良吞吐量性能。这是由CABAC的常规编译引擎引起的。常规编码(即,通过CABAC的常规编译引擎进行编译)示出高数据相关性,因为其使用通过先前bin的编译而更新的概率状态及范围,并且读取概率区间和确定当前状态会花费大量时间。CABAC的吞吐量问题可以通过限制上下文编译的bin的数量来解决。例如,如上述表1或表3所示,用于表示sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag的bin的总和可以限于取决于相应块的大小的bin的数量。此外,例如,如上述表4中所示,可以被用来表示sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、abs_level_gt9_flag的bin的总和可以限于取决于相应块的大小的bin的数量。例如,如果相应块是4×4大小的块,则用于sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag或sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag、abs_level_gt5_flag、abs_level_gt7_flag、abs_level_gt9_flag的bin的总和可以限于32(或示例的28),并且如果相应块是2×2大小的块,则用于sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag的bin的总和可以限于8(或示例的7)。可以由remBinsPass1或RemCcbs表示bin的有限数量。或者,例如,对于较高的CABAC吞吐量,可以针对包括编译目标CG的块(CB或TB)限制上下文编译的bin的数量。换句话说,可以以块(CB或TB)为单位,限制上下文编译的bin的数量。例如,在当前块的大小为16×16时,用于当前块的上下文编译的bin的数量可以限于当前块的像素的数量的1.75倍,即,448,而不管当前CG如何。
在这种情况下,如果在对上下文元素进行编译时使用数量有限的所有上下文编译的bin,则编码装置可以通过如下所述的对系数进行二值化的方法来对剩余系数进行二值化,而不是使用上下文编译,并且可以执行旁路编码。换句话说,例如,如果针对4×4CG编译的上下文编译的bin的数量为32(或示例的28),或者如果针对2×2CG编译的上下文编译的bin的数量为8(或示例的7),则可以不再编译用上下文编译的bin编译的sig_coeff_flag、abs_level_gt1_flag、par_level_flag、abs_level_gt3_flag,并且可以将其直接编译成dec_abs_level。或者,例如,当针对4×4块编译的上下文编译的bin的数量为整个块的像素的数量的1.75倍时,即,当限于28时,被编译为上下文编译的bin的sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag可以不再被编译,并且可以被直接编译为dec_abs_level,如下表6中所示。
[表6]
|coeff[n]| dec_abs_level[n]
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
可以基于dec_abs_level导出值|coeff|。在这种情况下,可以如以下等式中所示导出变换系数值(即,|coeff|)。
[等式6]
|coeff|=dec_abs_level
另外,coeff_sign_flag可以指示相应扫描位置n处的变换系数级别的符号。也就是说,coeff_sign_flag可以指示相应扫描位置n处的变换系数的符号。
图11示出4×4块中的变换系数的示例。
图11的4×4块表示量化系数的示例。图11的块可以是4×4变换块,或8×8、16×16、32×32或64×64变换块的4×4子块。图11的4×4块可以表示亮度块或色度块。
同时,如上所述,当输入信号不是二进制值而是语法元素时,编码装置可以通过对输入信号的值进行二值化来将输入信号变换为二进制值。另外,解码装置可以对语法元素进行解码以导出语法元素的二值化值(例如,二值化bin),并且可以对二值化值进行去二值化以导出语法元素的值。二值化过程可以被执行为截断莱斯(TR)二值化过程、k阶指数哥伦布(EGk)二值化过程、有限k阶指数哥伦布(有限EGk)、固定长度(FL)二值化过程等。另外,去二值化过程可以表示基于TR二值化过程、EGk二值化过程或FL二值化过程执行以导出语法元素的值的过程。
例如,TR二值化过程可以如下执行。
TR二值化过程的输入可以是用于语法元素的cMax和cRiceParam以及对TR二值化的请求。另外,TR二值化过程的输出可以是用于symbolVal的TR二值化,symbolVal是对应于bin串的值。
具体地,例如,在存在用于语法元素的后缀bin串的情况下,用于语法元素的TRbin串可以是前缀bin串和后缀bin串的级联,并且在不存在后缀bin串的情况下,用于语法元素的TR bin串可以是前缀bin串。例如,可以如下所述导出前缀bin串。
可以如以下等式中所示导出用于语法元素的symbolVal的前缀值。
[等式7]
prefixVal=symbolVal>>cRiceParam
在此,prefixVal可以表示symbolVal的前缀值。可以如下文所述导出语法元素的TR bin串的前缀(即,前缀bin串)。
例如,如果prefixVal小于cMax>>cRiceParam,则前缀bin串可以是长度为由binIdx索引的prefixVal+1的比特串。也就是说,如果prefixVal小于cMax>>cRiceParam,则前缀bin串可以是由binIdx指示的、比特数为prefixVal+1的比特串。小于prefixVal的binIdx的bin可以等于1。另外,用于与prefixVal相同的binIdx的bin可以等于0。
例如,通过prefixVal的一元二值化导出的bin串可以如下表中所示。
[表7]
Figure BDA0003518793430000621
同时,如果prefixVal不小于cMax>>cRiceParam,则前缀bin串可以是长度为cMax>>cRiceParam并且所有比特均为1的比特串。
另外,如果cMax大于symbolVal并且如果cRiceParam大于0,则可能存在TR bin串的bin后缀bin串。例如,可以如下所述导出后缀bin串。
用于语法元素的symbolVal的后缀值可以如以下等式中所示导出。
[等式8]
suffixVal=symbolVal-((prefixVal)<<cRiceParam)
在此,suffixVal可以表示symbolVal的后缀值。
TR bin串(即,后缀bin串)的后缀可以基于用于suffixVal的FL二值化过程导出,suffixVal的值cMax为(1<<cRiceParam)-1。
同时,如果输入参数的值(即,cRiceParam)为0,则TR二值化可以是精确截断的一元二值化,并且可以始终使用与待解码的语法元素的可能最大值相同的值cMax。
另外,例如,EGk二值化过程可以如下执行。用ue(v)编译的语法元素可以是经受指数哥伦布编译的语法元素。
例如,可以如下执行0阶指数哥伦布(EG0)二值化过程。
用于语法元素的解析过程可以开始于读取包括在比特流的当前位置开始的第一非零比特的比特并且对等于0的前导比特的数量进行计数。该过程可以如下表所示表示。
[表8]
Figure BDA0003518793430000631
另外,变量“codeNum”可以如以下等式中所示导出。
[等式9]
codeNum=2leadingZeroBits-1+read_bits(leadingZeroBits)
在此,从read_bits(leadingZeroBits)返回的值,即,由read_bits(leadingZeroBits)指示的值可以被解释为用于首先记录的最高有效比特的无符号整数的二进制表示。
比特串被划分为“前缀”比特和“后缀”比特的指数-哥伦布码的结构可以如下表所示来表示。
[表9]
比特串形式 codeNum的范围
1 0
0 1 x<sub>0</sub> 1..2
0 0 1 x<sub>1</sub> x<sub>0</sub> 3..6
0 0 0 1 x<sub>2</sub> x<sub>1</sub> x<sub>0</sub> 7..14
0 0 0 0 1 x<sub>3</sub> x<sub>2</sub> x<sub>1</sub> x<sub>0</sub> 15..30
0 0 0 0 0 1 x<sub>1</sub> x<sub>3</sub> x<sub>2</sub> x<sub>1</sub> x<sub>0</sub> 31..62
“前缀”比特可以是如上所述解析以计算leadingZeroBits的比特,并且可以由表9中的比特串的0或1表示。也就是说,由上表9中的0或1公开的比特串可以表示前缀比特串。“后缀”比特可以是在codeNum的计算中解析的比特,并且可以由上表9中的xi表示。也就是说,在上表9中公开为xi的比特串可以表示后缀比特串。在此,i可以是LeadingZeroBits-1的范围内的值。此外,每个xi可以等于0或1。
指配给CodeNum的比特串可以如下表所示。
[表10]
比特串 codeNum
1 0
0 1 0 1
0 1 1 2
0 0 1 0 0 3
0 0 1 0 1 4
0 0 1 1 0 5
0 0 1 1 1 6
0 0 0 1 0 0 0 7
0 0 0 1 0 0 1 8
0 0 0 1 0 1 0 9
如果语法元素的描述符为ue(v),即,如果语法元素用ue(v)编译,则语法元素的值可以等于codeNum。
另外,例如,EGk二值化过程可以如下执行。
EGk二值化过程的输入可以是对EGk二值化的请求。另外,EGk二值化过程的输出可以是用于symbolVal(即,对应于bin串的值)的EGk二值化。
用于symbolVal的EGk二值化过程的比特串可以如下导出。
[表11]
Figure BDA0003518793430000651
参考上表11,可以通过put(X)的每次调用,将二进制值X添加到bin串的末尾。在此,X可以是0或1。
另外,例如,可以如下执行有限EGk二值化过程。
有限EGk二值化过程的输入可以是对有限EGk二值化的请求、莱斯(rice)参数riceParam、作为表示最大值的以2为底的对数的变量的log2TransformRange,以及作为表示最大前缀扩展长度的变量的maxPreExtLen。另外,有限EGk二值化过程的输出可以是针对作为对应于空串的值的symbolVal的有限EGk二值化。
用于symbolVal的有限EGk二值化过程的比特串可以如下导出。
[表12]
Figure BDA0003518793430000661
另外,例如,FL二值化过程可以如下执行。
FL二值化过程的输入可以是对用于语法元素的FL二值化及cMax的请求。另外,FL二值化过程的输出可以是用于作为对应于bin串的值的symbolVal的FL二值化。
可以通过使用比特数具有固定长度的symbolVal的比特串来配置FL二进制化。在此,固定长度比特可以是无符号整数比特串。也就是说,可以通过FL二值化导出用于作为码元值的symbolVal的比特串,并且比特串的比特长度(即,比特数)可以是固定长度。
例如,可以如以下等式所示导出固定长度。
[等式10]
fixedLength=Ceil(Log2(cMax+1))
用于FL二值化的bin的索引可以是使用从最高有效比特到最低有效比特有序增加的值的方法。例如,与最高有效比特相关的bin索引可以是binIdx=0。
同时,例如,可以如下执行用于残差信息中的语法元素abs_remainder的二值化过程。
abs_remainder的二值化过程的输入可以是对语法元素abs_remainder[n]、颜色分量cIdx及亮度位置(x0,y0)的二进制化的请求。亮度位置(x0,y0)可以指示基于图片的左上亮度样本的当前亮度变换块的左上样本。
用于abs_remainder的二值化过程的输出可以是abs_remainder的二值化(即,abs_remainder的二值化bin串)。可以通过二值化过程导出用于abs_remainder的可用bin串。
可以通过经由输入颜色分量cIdx和亮度位置(x0,y0)、当前系数扫描位置(xC,yC)、log2TbWidth(其是变换块的宽度的以2为底的对数)和log2TbHeight(其是变换块的高度的以2为底的对数)而执行的莱斯参数导出过程来导出用于abs_remainer[n]的莱斯参数cRiceParam。稍后将描述rice参数导出过程的详细描述。
另外,例如,可以基于莱斯参数cRiceParam导出用于当前待编译的abs_remainder[n]的cMax。可以如以下等式所示导出cMax。
[等式11]
cMax=6<<cRiccParam
同时,用于abs_remainder的二值化(即,用于abs_remainder的bin串)可以是在存在后缀bin串的情况下前缀bin串和后缀bin串的级联。另外,在不存在后缀bin串的情况下,用于abs_remainder的bin串可以是前缀bin串。
例如,可以如下所述导出前缀bin串。
可以如以下等式所示导出abs_remainder[n]的前缀值prefixVal。
[等式12]
prefixVal=Min(cMax,abs_remainder[n])
可以通过用于prefixVal的TR二值化过程,导出abs_remainder[n]的bin串的前缀(即,前缀bin串),其中,cMax和cRiceParam被用作输入。
如果前缀bin串与所有比特均为1且比特长度为6的比特串相同,则abs_remainder[n]的bin串的后缀bin串可能存在,并且可如下所述导出。
用于dec_abs_level[n]的莱斯参数导出过程可以如下。
莱斯参数导出过程的输入可以是颜色分量索引cIdx、亮度位置(x0,y0)、当前系数扫描位置(xC,yC)、作为变换块的宽度的以2为底的对数的log2TbWidth及作为变换块的高度的以2为底的对数的log2TbHeight。亮度位置(x0,y0)可以指示基于图片的左上亮度样本的当前亮度变换块的左上样本。此外,莱斯参数导出过程的输出可以是莱斯参数cRiceParam。
例如,可以类似于下表中所公开的伪码,基于具有给定分量索引cIdx及左上亮度位置(x0,y0)的变换块的阵列AbsLevel[x][y],导出变量locSumAbs。
[表13]
Figure BDA0003518793430000691
然后,基于给定的变量locSumAbs,可以如下表所示导出莱斯参数cRiceParam。
[表14]
locSumAbs 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
cRiccParam 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2
locSumAbs 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cRiceParam 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3
此外,例如,在用于abs_remainder[n]的莱斯参数导出过程中,可以将baseLevel设置为4。
可替选地,例如,可以基于变换跳过是否应用于当前块来确定莱斯参数cRiceParam。也就是说,如果不将变换应用于包括当前CG的当前TB,换句话说,如果将变换跳过应用于包括当前CG的当前TB,那么可以将莱斯参数cRiceParam导出为1。
此外,可以如以下等式所示导出abs_remainder的后缀值suffixVal。
[等式13]
suffixVal=abs_remainder[n]-cMax
可以通过用于suffixVal的有限EGk二值化过程导出abs_remainder的bin串的后缀bin串,其中,k被设置为cRiceParam+1,riceParam被设置为cRiceParam,log2TransformRange被设置为15,以及maxPreExtLen被设置为11。
同时,例如,可以如下执行用于残差信息中的语法元素dec_abs_level的二值化过程。
用于dec_abs_level的二值化过程的输入可以是对语法元素dec_abs_level[n]、颜色分量cIdx、亮度位置(x0,y0)、当前系数扫描位置(xC,yC)、作为变换块的宽度的以2为底的对数的log2TbWidth及作为变换块的高度的以2为底的对数的log2TbHeight的二值化的请求。亮度位置(x0,y0)可以指示基于图片的左上亮度样本的当前亮度变换块的左上样本。
用于dec_abs_level的二值化过程的输出可以是dec_abs_level的二值化(即,dec_abs_level的二值化bin串)。可以通过二值化过程导出用于dec_abs_level的可用bin串。
可以通过利用颜色分量cIdx、亮度位置(x0,y0)、当前系数扫描位置(xC,yC)、作为变换块的宽度的以2为底的对数的log2TbWidth和作为变换块的高度的以2为底的对数的log2TbHeight的输入执行的莱斯参数导出过程来导出用于dec_abs_level[n]的莱斯参数cRiceParam。在下文中,将详细地描述莱斯参数导出过程。
另外,例如,可以基于莱斯参数cRiceParam导出用于dec_abs_level[n]的cMax。可以如下表所示导出cMax。
[等式14]
cMax=6<<cRiccParam
同时,用于dec_abs_level[n](即,用于dec_abs_level[n]的bin串)的二值化可以是在存在后缀bin串的情况下前缀bin串和后缀bin串的级联。另外,在不存在后缀bin串的情况下,用于dec_abs_level[n]的bin串可以是前缀bin串。
例如,可以如下所述导出前缀bin串。
可以如以下等式中所示导出dec_abs_level[n]的前缀值prefixVal。
[等式15]
prefixVal=Min(cMax,dec_abs_level[n])
可以通过用于prefixVal的TR二值化过程导出dec_abs_level[n]的bin串的前缀(即,前缀bin串),其中,cMax和cRiceParam被用作输入。
如果前缀bin串与所有比特为1且比特长度为6的比特串相同,则dec_abs_level[n]的bin串的后缀bin串可以存在,并且可以如下所述导出。
用于dec_abs_level[n]的莱斯参数导出过程可以如下。
莱斯参数导出过程的输入可以是颜色分量索引cIdx、亮度位置(x0,y0)、当前系数扫描位置(xC,yC)、作为变换块的宽度的以2为底的对数的log2TbWidth及作为变换块的高度的以2为底的对数的log2TbHeight。亮度位置(x0,y0)可以指示基于图片的左上亮度样本的当前亮度变换块的左上样本。此外,莱斯参数导出过程的输出可以是莱斯参数cRiceParam。
例如,可以类似于下表中所公开的伪码,基于具有给定分量索引cIdx及左上亮度位置(x0,y0)的变换块的阵列AbsLevel[x][y],导出变量locSumAbs。
[表15]
Figure BDA0003518793430000721
然后,基于给定的变量locSumAbs,可以如下表所示导出莱斯参数cRiceParam。
[表16]
locSumAbs 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
cRiccParam 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2
locSumAbs 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cRiceParam 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3
此外,例如,在用于dec_abs_level[n]的莱斯参数导出过程中,可以将baseLevel设置为0,并且可以如下导出ZeroPos[n]。
[等式16]
ZeroPos[n]=(QState<2?1:2)<<cRiceParam
另外,可以如以下等式中所示导出dec_abs_level[n]的后缀值suffixVal。
[等式17]
SuffixVal=dec_abs_level[n]-cMax
可以通过用于suffixVal的有限EGk二值化过程,导出dec_abs_level[n]的bin串的后缀bin串,其中,k被设置为cRiceParam+1,truncSuffixLen被设置为15,并且maxPreExtLen被设置为11。
同时,RRC和TSRC可以具有以下差异。
-例如,在TSRC中,可以将用于语法元素abs_remainder[]的莱斯参数导出为1。可以基于如上所述的LastAbsRemainder及lastRiceParam导出RRC中的语法元素abs_remainder[]的莱斯参数cRiceParam,但是可以将TSRC中的语法元素abs_remainder[]的莱斯参数cRiceParam导出为1。也就是说,例如,当将变换跳过应用于当前块(例如,当前TB)时,可以将用于当前块的TSRC的abs_remainder[]的莱斯参数cRiceParam导出为1。
-此外,例如,参考表3和表4,在RRC中,可以发信号通知abs_level_gtx_flag[n][0]和/或abs_level_gtx_flag[n][1],但是在TSRC中,可以发信号通知abs_level_gtx_flag[n][0]、abs_level_gtx_flag[n][1]、abs_level_gtx_flag[n][2]、abs_level_gtx_flag[n][3]和abs_level_gtx_flag[n][4]。在此,可以将abs_level_gtx_flag[n][0]表达为abs_level_gt1_flag或第一系数级别标志,可以将abs_level_gtx_flag[n][1]表达为abs_level_gt3_flag或第二系数级别标志,可以将abs_level_gtx_flag[n][2]表达为abs_level_gt5_flag或第三系数级别标志,可以将abs_level_gtx_flag[n][3]表达为abs_level_gt7_flag或第四系数级别标志,以及可以将abs_level_gtx_flag[n][4]表达为abs_level_gt9_flag或第五系数级别标志。具体地,第一系数级别标志可以是系数级别是否大于第一阈值(例如,1)的标志,第二系数级别标志可以是系数级别是否大于第二阈值(例如,3)的标志,第三系数级别标志可以是系数级别是否大于第三阈值(例如,5)的标志,第四系数级别标志可以是系数级别是否大于第四阈值(例如,7)的标志,第五系数等级标志可以是系数级别是否大于第五阈值(例如,9)的标志。如上所述,在TSRC中,与RRC相比,还可以包括abs_level_gtx_flag[n][0]、abs_level_gtx_flag[n][1]和abs_level_gtx_flag[n][2]、abs_level_gtx_flag[n][3]、abs_level_gtx_flag[n][4]。
-此外,例如,在RRC中,可以旁路编译语法元素coeff_sign_flag,但在TSRC中,可以旁路编译或上下文编译语法元素coeff_sign_flag。
同时,本公开提出了一种在用于变换跳过块的简化残差数据编译结构中应用级别映射技术的方法。在此,变换跳过块可以表示未对其应用变换的块。另外,级别映射技术可以指当基于块的量化残差域差分脉冲编译调制(BDPCM)不应用于当前块(例如,CU)时,将绝对系数级别(即,absCoeffLevel)映射到通过基于当前残差样本(即,当前残差系数)的(量化)左残差样本和上残差样本的方法编译的修改级别的技术。在诸如无损编译或接近无损编译的特定条件下,简化的残差数据编译结构可以用于一个编译块或整个变换块或一些子块/系数组(CG)。可替选地,在所提出的方法中,可以用于一个TU(变换单元,TU)内的残差(数据)编译的上下文编译的bin的数量可以限于特定阈值,并且当可用于TU的残差编译的所有上下文编译的bin耗尽时(即,当用于TU的残差编译的上下文编译的bin的数量等于特定阈值时),可以使用简化的残差数据编译结构。
图12图示用于一个CG、变换块或编译块的简化残差数据编译的示例。利用简化的残差编译,可以对语法元素sig_coeff_flag、coeff_sign_flag和abs_remainder进行编译。可以如图12中所示,按从上到下的顺序编译用于CG、变换块或编译块中的残差系数的语法元素。即,可以按sig_coeff_flag、coeff_sign_flag和abs_remainder的顺序编译CG、变换块或编译块中的残差系数的语法元素。
sig_coeff_flag可以表示用于有效系数标志的语法元素。sig_coeff_flag可以表示当前块(CG、变换块或编译块)的残差系数是否是非零残差系数。例如,如果相应位置的残差系数的值为0,则sig_coeff_flag可以具有值0,如果不是0,则sig_coeff_flag可以具有值1。并且,coeff_sign_flag可以表示用于残差系数的符号标志的语法元素。sig_coeff_flag可以表示残差系数的符号。例如,coeff_sign_flag可以是指相应位置的残差系数的符号值。可存在用于应用coeff_sign_flag的各种方法。例如,当相应位置的残差系数为0时,即,当用于残差系数的sig_coeff_flag的值为0时,可以不对coeff_sign_flag进行编译。并且,对于非零残差系数,当相应位置的残差系数是负值时,coeff_sign_flag可以具有值1(或0),并且当相应位置的残差系数是正值时,coeff_sign_flag可以具有值0(或1)。可替选地,不管残差系数的sig_coeff_flag的值如何,当残差系数是负值时,coeff_sign_flag可以具有值1(或0),并且当残差系数是正值或0时,coeff_sign_flag可以具有值0(或1)。可替选地,当残差系数是正值时,coeff_sign_flag可以具有值1(或0),并且当残差系数是负值或0时,coeff_sign_flag可以具有值0(或1)。此外,abs_remainder可以表示用于残差级别值信息或系数值相关信息的语法元素。例如,abs_remainder可以是指残差级别值。例如,当用于残差系数的sig_coeff_flag的值为0时,可以不对用于残差系数的abs_remainder进行编译,当用于残差系数的sig_coeff_flag的值为1时,abs_remainder可以具有通过从残差系数的绝对值减去1(绝对值-1)而获得的值。
同时,即使当执行常规残差编译时,如果满足特定条件,则可以将其转换为图12所示的简化残差数据编译。例如,特定条件可以是这样一种情况,其中,当相应编译块的残差信息被无损或接近无损编译时和/或当应用TU级上下文编译的bin约束算法时,可以使用的所有上下文编译的bin被耗尽。
图13图示用于一个CG、变换块或编译块的简化残差数据编译的另一示例。利用简化的残差编译,可以编译语法元素dec_abs_level、coeff_sign_flag。可以如图13中所示,按从上到下的顺序编译用于CG、变换块或编译块中的残差系数的语法元素。即,可以按dec_abs_level、coeff_sign_flag的顺序编译CG、变换块或编译块中的残差系数的语法元素。
参考图13,dec_abs_level可以表示用于系数值相关信息的语法元素,并且coeff_sign_flag可以表示用于残差系数的符号标志的语法元素。例如,根据图13所示的结构,当残差系数为0时,dec_abs_level的值可以为0,并且当残差系数不为0时,dec_abs_level的值可以是残差系数的绝对值。此外,例如,coeff_sign_flag可以是指相应位置的残差系数的符号值。可以存在用于应用coeff_sign_flag的各种方法。例如,当相应位置的残差系数为0时,可以不对coeff_sign_flag进行编译。并且,对于非零残差系数,当相应位置的残差系数是负值时,coeff_sign_flag可以具有值1(或0),并且当相应位置的残差系数是正值时,coeff_sign_flag可以具有值0(或1)。可替选地,不管残差系数的dec_abs_level如何,都可以编译coeff_sign_flag,当残差系数是负值时,coeff_sign_flag可以具有值1(或0),并且当残差系数是正值或0时,coeff_sign_flag可以具有值0(或1)。可替选地,当残差系数是正值时,coeff_sign_flag可以具有值1(或0),并且当残差系数是负值或0时,coeff_sign_flag可以具有值0(或1)。
同时,即使当执行常规残差编译时,如果满足特定条件,则可以将其转换为图13所示的简化残差数据编译。例如,特定条件可以是这样一种情况,其中,当相应编译块的残差信息被无损或接近无损编译时和/或当应用TU级上下文编译的bin约束算法时,可以使用的所有上下文编译的bin被耗尽。
图14图示用于一个CG、变换块或编译块的简化残差数据编译的另一示例。利用简化的残差编译,可以对语法元素coeff_sign_flag、dec_abs_level进行编译。可以如图14中所示,按从上到下的顺序编译用于CG、变换块或编译块中的残差系数的语法元素。即,可以按coeff_sign_flag、dec_abs_level的顺序编译CG、变换块或编译块中的残差系数的语法元素。
参考图14,coeff_sign_flag可以表示用于残差系数的符号标志的语法元素,且dec_abs_level可以表示用于系数值相关信息的语法元素。例如,当要编译的位置的残差系数是负值时,coeff_sign_flag可以具有值1(或0),并且当残差系数是正值或0时,coeff_sign_flag可以具有值0(或1)。可替选地,例如,当残差系数是正值时,coeff_sign_flag可以具有值1(或0),并且当残差系数是负值或0时,coeff_sign_flag可以具有值0(或1)。
同时,即使当执行常规残差编译时,如果满足特定条件,则可以将其转换为图14所示的简化残差数据编译。例如,特定条件可以是这样一种情况,其中,当相应编译块的残差信息被无损或接近无损编译时和/或当应用TU级上下文编译的bin约束算法时,可以使用的所有上下文编译的bin被耗尽。
同时,如上所述,可以使用用于变换跳过模式的级别映射技术。例如,在级别映射技术中,可以将abs_level_gtx_flag[0]的值用作表示是否执行级别映射的值。也就是说,可以基于abs_level_gtx_flag[0]的值来确定是否映射级别。因此,在不编译abs_level_gtx_flag[0]的简化残差数据编译结构中,不能正确地执行对其应用了级别映射的残差系数的解码。因此,本公开提出了一种不将级别映射用于对其应用简化残差数据编译的编译块、变换块、系数组和/或残差系数的方法,使得图12、图13或图14的简化残差数据编译结构和级别映射可以一起使用。根据本公开的实施例,可以组合简化的残差数据编译结构和级别映射,而在变换跳过块的残差编译中没有问题。
例如,在一个编译块中,可以混合表4中所示的变换跳过块的残差数据编译方法和简化的残差数据编译方法,当应用用于变换跳过块的残差数据编译时,可以原样应用表4中所示的级别映射技术,并且当应用简化的残差数据编译时,可以应用级别映射技术。
下文将描述的表17和表18示例性地示出了应用本公开中提出的实施例的语法。
[表17]
Figure BDA0003518793430000791
[表18]
Figure BDA0003518793430000792
表17可以表示当应用上下文编译的bin约束算法、可用上下文编译的bin(MaxCcbs表示可以使用的上下文编译的bin的数量)被耗尽且转换成简化的残差数据编译结构时防止执行级别映射的语法结构。另外,表18可以表示当简化的残差数据编译结构用于无损编译块时应用本公开中提出的方法的语法结构。在此,例如,表18中所示的transquant_bypass_flag可以是表示是否应用无损编译的语法元素。可以在CU或TU或图片级别发信号通知transquant_bypass_flag。
同时,表17和表18仅是应用本公开中提出的实施例的示例,并且不限于此。在本公开中,作为实施例,当执行简化的残差数据编译结构时,为了对级别映射的残差系数进行编码/解码,提出不执行校正编码/解码级别的过程。也就是说,例如,可以提出一种当使用用于当前块的所有上下文编译的bin时,使用简化的残差数据编译结构导出当前块的残差系数而不通过级别映射导出残差系数的方法。简化的残差数据编译结构可以如上所述。例如,当使用用于当前块的所有上下文编译的bin时,可以基于表示绝对值的信息的值及符号信息导出残差系数。此外,例如,表4可以表示应用本公开中提出的实施例的示例。
图15简要地图示了根据本公开的由编码装置执行的图像编码方法。图15中公开的方法可以由图2中公开的编码装置执行。具体地,例如,图15的S1500至S1530可以由编码装置的预测器执行,图15的S1540至S1550可以由编码装置的残差处理器执行;并且S1560可以由编码装置的熵编码器执行。此外,尽管未示出,但是可以由编码装置的加法器执行基于当前块的预测样本和残差样本来生成用于当前块的重构图片和重构样本的过程。
编码装置基于当前块的邻近块构建运动信息候选列表(S1500)。编码装置可以基于当前块的邻近块来构建运动信息候选列表。例如,编码装置可以将当前块的邻近块的运动信息导出为运动信息候选,并且可以构建包括运动信息候选的运动信息候选列表。例如,邻近块可以包括空间邻近块和时间邻近块。邻近块的运动信息可以包括邻近块的参考图片索引和/或运动矢量。这里,例如,运动信息候选列表可以指示上述合并候选列表,并且运动信息候选可以指示上述合并候选等。
编码装置从运动信息候选列表的运动信息候选之中选择运动信息候选(S1510)。编码装置可以从运动信息候选列表中的运动信息候选之中选择一个运动信息候选。例如,编码装置可以导出在由包括在运动信息候选列表中的运动信息候选指示的参考块之中的与当前块的差为最小值或小于特定标准的参考块。在这种情况下,编码装置可以选择与导出的参考块相关联的运动信息候选。
编码装置基于所选择的运动信息候选导出当前块的运动信息(S1520)。编码装置可以基于选择的运动信息候选来导出当前块的运动信息。例如,编码装置可以将所选择的运动信息候选的运动矢量和/或参考图片索引导出为当前块的运动矢量和/或参考图片索引。
编码装置基于运动信息导出当前块的预测样本(S1530)。例如,编码装置可以基于运动信息导出当前块的预测样本。
编码装置基于预测样本导出当前块的残差样本(S1540)。例如,编码装置可以通过用于当前块的原始样本和预测样本的相减来导出残差样本。
编码装置基于残差样本导出当前残差系数(S1550)。例如,编码装置可以基于残差样本导出当前块的当前残差系数。例如,编码装置可以确定是否对当前块应用变换。也就是说,编码装置可以确定是否将变换应用于当前块的残差样本。编码装置可以考虑编译效率来确定是否将变换应用于当前块。例如,编码装置可以确定不将变换应用于当前块。未对其应用变换的块可以被称为变换跳过块。也就是说,例如,当前块可以是变换跳过块。
如果不对当前块应用变换,即,如果不对残差样本应用变换,则编码装置可以将导出的残差样本导出为当前残差系数。另外,如果将变换应用于当前块,即,如果将变换应用于残差样本,则编码装置可以通过对残差样本执行变换来导出当前残差系数。当前残差系数可以被包括于当前块的当前子块中。当前子块可以被称为当前系数组(CG)。另外,当前块的当前子块的大小可以是4×4大小或2×2大小。即,当前块的当前子块可以包括直至16个非零残差系数或直至4个非零残差系数。
在此,当前块可以是编译块(CB)或变换块(TB)。此外,残差系数可以被称为变换系数。
同时,例如,可以在不执行级别映射的情况下导出当前残差系数。例如,当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的数量可以等于当前块的上下文编译的bin的最大数量,并且用于当前残差系数的残差语法元素可以包括用于当前残差系数的绝对级别信息和残差系数的符号标志,并且可以在不执行级别映射的情况下导出当前残差系数。在此,仅使用绝对级别信息和符号标志导出当前残差系数可以被表示为简化的残差数据编译。即,可以基于简化残差数据编译导出残差系数。另外,例如,可以将用于当前块的上下文编译的bin全部用作用于当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的bin,并且用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和残差系数的符号标志,并且可以在不执行级别映射的情况下导出当前残差系数。例如,在用于当前块的所有最大数量的上下文编译的bin被用于按扫描顺序的当前残差系数的先前残差系数的残差语法元素时,并且用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和残差系数的符号标志,并且可以在不执行级别映射的情况下导出当前残差系数。此外,例如,可以通过执行级别映射来导出当前残差系数之前的残差系数。
同时,例如,级别映射可以表示表19中所示的方法。
[表19]
Figure BDA0003518793430000831
在此,X0可以表示当前残差系数的左绝对系数级别(即,左残差样本(左残差系数)的系数级别),X1可以表示当前残差系数的上绝对系数级别(即,上残差样本(上残差系数)的系数级别)。此外,absCoefff可以表示当前残差系数的绝对级别系数,并且absCoeffMod可以表示通过上述过程的级别映射的级别。
例如,级别映射可以表示以下过程:导出残差系数的左残差系数的绝对级别和残差系数的上残差系数的绝对级别中的最小值,通过比较残差系数的最小值和绝对级别来基于最小值修改残差系数的绝对级别。
例如,可以通过执行级别映射来导出作为在当前残差系数之前的残差系数之一的第一残差系数。例如,可以基于用于第一残差系数的残差语法元素来导出第一残差系数的绝对级别,并且导出第一残差系数的左残差系数的绝对级别和残差系数的上残差系数的绝对级别之中的最小值。此后,可以通过将第一残差系数的绝对级别与最小值进行比较来导出第一残差系数的修改的绝对级别。例如,如果第一残差系数的绝对级别与最小值彼此相等,则可以导出一(1)作为修改的绝对级别;如果第一残差系数的绝对级别不等于最小值并且第一残差系数的绝对级别小于最小值,则可以导出通过第一残差系数的绝对级别加1而获得的值作为修改的绝对级别;并且如果第一残差系数的绝对级别不等于最小值并且第一残差系数的绝对级别不小于最小值,则可以导出第一残差系数的绝对级别作为修改的绝对级别。第一残差系数可以是当前残差系数之前的残差系数之一。当前块的残差信息可以包括用于第一残差系数的残差语法元素。
编码装置对包括指示所选择的运动信息候选的运动信息候选索引和用于当前残差系数的残差语法元素的图像信息进行编码(S1560)。编码装置可以对包括指示所选择的运动信息候选的运动信息候选索引和用于当前残差系数的残差语法元素的图像信息进行编码。例如,编码装置可以生成和编码用于当前块的预测相关信息。预测相关信息可以包括运动信息候选索引。另外,编码装置可以对包括用于当前块的当前残差系数的残差语法元素的残差信息进行编码。图像信息可以包括残差信息。例如,编码装置可以对包括残差信息的图像信息进行编码,并且以比特流的形式输出编码的图像信息。比特流可以通过网络或存储介质被发送到解码装置。
此外,例如,用于当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的数量可以等于当前块的上下文编译的bin的最大数量。也就是说,例如,用于当前块的上下文编译的bin可以全部被用作用于当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的bin。换句话说,例如,用于当前块的所有最大数量的上下文编译的bin可以被用于按扫描顺序的当前残差系数的先前残差系数的残差语法元素。同时,例如,可以基于当前块的宽度和高度导出当前块的上下文编译的bin的最大数量。
例如,用于当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的数量可以等于当前块的上下文编译的bin的最大数量,用于当前残差系数的残差语法元素可以包括用于当前残差系数的绝对级别信息和当前残差系数的符号标志。例如,用于当前块的上下文编译的bin可以全部被用作当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的bin,用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和当前残差系数的符号标志。例如,当用于当前块的所有最大数量的上下文编译的bin被用于按扫描顺序的当前残差系数的先前残差系数的残差语法元素时,用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和当前残差系数的符号标志。基于旁路来编码用于当前残差系数的残差语法元素。也就是说,可以基于均匀概率分布来编码用于当前残差系数的残差语法元素。例如,系数级别信息可以表示当前残差系数的系数级别的绝对值。此外,符号标志可以表示当前残差系数的符号。例如,当符号标志的值为0时,符号标志可以表示当前残差系数的系数级别为正值,当符号标志的值为1时,符号标志可以表示当前残差系数的系数级别为负值。系数级别信息可以是abs_remainder,并且符号标志可以是coeff_sign_flag。
并且,例如,残差信息可以包括用于当前块的变换跳过标志。变换跳过标志可以表示是否将变换应用于当前块。即,变换跳过标志可以表示是否将变换应用于当前块的残差系数。表示变换跳过标志的语法元素可以是transform_skip_flag。例如,当变换跳过标志的值为0时,变换跳过标志可以表示不将变换应用于当前块,当变换跳过标志的值为1时,变换跳过标志可以表示将变换应用于当前块。例如,在当前块为变换跳过块时,用于当前块的变换跳过标志的值可以为1。
此外,例如,编码装置可以基于当前块的残差样本来生成当前块的残差信息。例如,图像信息可以包括用于当前块的残差信息。例如,残差信息可以包括用于按扫描顺序在当前残差系数之前的残差系数的残差语法元素。例如,残差语法元素可以包括诸如coded_sub_block_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gtX_flag、abs_remainder和/或coeff_sign_flag的语法元素。
例如,上下文编译的残差语法元素可以包括表示残差系数是否是非零残差系数的有效系数标志、用于残差系数的系数级别的奇偶性的奇偶性级别标志、表示用于残差系数的符号的符号标志、用于系数级别是否大于第一阈值的第一系数级别标志和/或用于系数级别是否大于第二阈值的第二系数级别标志。此外,例如,上下文编译的残差语法元素可以包括用于系数级别是否大于第三阈值的第三系数级别标志、用于残差系数的系数级别是否大于第四阈值的第四系数级别标志和/或用于残差系数的系数级别是否大于第五阈值的第五系数级别标志。在此,有效系数标志可以是sig_coeff_flag,奇偶性级别标志可以是par_level_flag,符号标志可以是coeff_sign_flag,第一系数级别标志可以是abs_level_gt1_flag,第二系数级别标志可以是abs_level_gt3_flag或abs_level_gtx_flag。此外,第三系数级别标志可以是abs_level_gt5_flag或abs_level_gtx_flag,第四系数级别标志可以是abs_level_gt7_flag或abs_level_gtx_flag,第五系数级别标志可以是abs_level_gt9_flag或abs_level_gtx_flag。
并且,例如,残差信息可以包括用于当前块的残差系数的基于旁路的编译语法元素。旁路编译语法元素可以包括关于当前残差系数的值的系数级别信息。系数级别信息可以是abs_remainder或dec_abs_level。并且,旁路编译语法元素可以包括符号标志。
此外,例如,编码装置可以生成用于当前块的当前块的预测相关信息。图像信息可以包括用于当前块的预测相关信息。预测相关信息可以包括被应用于当前块的预测模式信息。解码装置可以基于通过比特流接收的预测相关信息,对当前块执行帧间预测或帧内预测,并且可以导出当前块的预测样本。
同时,可以通过网络或(数字)存储介质将比特流发送到解码装置。在此,网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括各种存储介质,诸如USB、SD、CD、DVD、蓝光、HDD、SSD等。
图16简要地图示根据本公开的用于执行图像编码方法的编码装置。图15中公开的方法可以由图16中公开的编码装置执行。具体地,例如,图16的编码装置的预测器可以执行图15的步骤S1500到S1530;图16的编码装置的残差处理器可以执行图15的S1540到S1550;并且图16的编码装置的熵编码器可以执行图15的S1560。此外,虽然未示出,但是可以由编码装置的加法器执行基于用于当前块的预测样本和残差样本生成用于当前块的重构图片和重构样本的过程。
图17简要图示根据本公开的由解码装置执行的图像解码方法。图17中公开的方法可以由图3中公开的解码装置执行。具体地,例如,图17的S1700可以由解码装置的熵解码器执行;S1710至S1730可以由解码装置的预测器执行;S1740至S1750可以由解码装置的残差处理器执行;并且S1760可以由解码装置的加法器执行。
解码装置通过比特流获得包括运动信息候选索引和残差信息的图像信息(S1700)。解码装置可以通过比特流获得包括用于当前块的残差信息和预测相关信息的图像信息。例如,图像信息可以包括用于当前块的预测相关信息。例如,预测相关信息可以包括运动信息候选索引。运动信息候选索引可以指示当前块的运动信息候选列表中的运动信息候选之中的运动信息候选。这里,例如,运动信息候选索引可以表示上述合并索引等。另外,例如,运动信息候选列表可以指示上述合并候选列表,并且运动信息候选可以指示上述合并候选等。
此外,例如,残差信息可以包括用于当前块中的当前残差系数的残差语法元素。此外,例如,残差信息可以包括用于当前块中的残差系数的残差语法元素。这里,当前块可以是编译块(CB)或变换块(TB)。另外,残差系数可以称为变换系数。
此外,例如,当前块可以是变换跳过块。
此外,例如,用于当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的数量可以等于当前块的上下文编译的bin的最大数量,用于当前残差系数的残差语法元素可以包括用于当前残差系数的绝对级别信息和当前残差系数的符号标志。可以基于当前块的宽度和高度导出当前块的上下文编译的bin的最大数量。例如,用于当前块的上下文编译的bin可以全部被用作用于当前块的残差系数之中的当前残差系数之前的残差系数的上下文编译的残差语法元素的bin,用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和当前残差系数的符号标志。例如,在用于当前块的所有最大数量的上下文编译的bin被用于按扫描顺序的当前残差系数的先前残差系数的残差语法元素时,用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和当前残差系数的符号标志。基于旁路来解码用于当前残差系数的残差语法元素。也就是说,可以基于均匀概率分布来解码用于当前残差系数的残差语法元素。例如,系数级别信息可以表示当前残差系数的系数级别的绝对值。此外,符号标志可以表示当前残差系数的符号。例如,当符号标志的值为0时,符号标志可以表示当前残差系数的系数级别为正值,当符号标志的值为1时,符号标志可以表示当前残差系数的系数级别为负值。系数级别信息可以是abs_remainder,并且符号标志可以是coeff_sign_flag。
并且,例如,残差信息可以包括用于当前块的变换跳过标志。变换跳过标志可以表示是否将变换应用于当前块。即,变换跳过标志可以表示是否将变换应用于当前块的残差系数。表示变换跳过标志的语法元素可以是transform_skip_flag。例如,当变换跳过标志的值为0时,变换跳过标志可以表示不将变换应用于当前块,当变换跳过标志的值为1时,变换跳过标志可以表示将变换应用于当前块。例如,在当前块为变换跳过块时,用于当前块的变换跳过标志的值可以为1。
此外,例如,图像信息可以包括用于当前块的残差信息。例如,残差信息可以包括用于按扫描顺序在当前残差系数之前的残差系数的残差语法元素。例如,残差语法元素可以包括诸如coded_sub_block_flag、sig_coeff_flag、coeff_sign_flag、abs_level_gt1_flag、par_level_flag、abs_level_gtX_flag、abs_remainder和/或coeff_sign_flag的语法元素。
例如,上下文编译的残差语法元素可以包括表示残差系数是否是非零残差系数的有效系数标志、用于残差系数的系数级别的奇偶性的奇偶性级别标志、表示用于残差系数的符号的符号标志、用于系数级别是否大于第一阈值的第一系数级别标志和/或用于系数级别是否大于第二阈值的第二系数级别标志。此外,例如,上下文编译的残差语法元素可以包括用于系数级别是否大于第三阈值的第三系数级别标志、用于残差系数的系数级别是否大于第四阈值的第四系数级别标志和/或用于残差系数的系数级别是否大于第五阈值的第五系数级别标志。在此,有效系数标志可以是sig_coeff_flag,奇偶性级别标志可以是par_level_flag,符号标志可以是coeff_sign_flag,第一系数级别标志可以是abs_level_gt1_flag,第二系数级别标志可以是abs_level_gt3_flag或abs_level_gtx_flag。此外,第三系数级别标志可以是abs_level_gt5_flag或abs_level_gtx_flag,第四系数级别标志可以是abs_level_gt7_flag或abs_level_gtx_flag,第五系数级别标志可以是abs_level_gt9_flag或abs_level_gtx_flag。
并且,例如,残差信息可以包括用于当前块的残差系数的基于旁路的编译语法元素。旁路编译语法元素可以包括关于当前残差系数的值的系数级别信息。系数级别信息可以是abs_remainder或dec_abs_level。并且,旁路编译语法元素可以包括符号标志。
解码装置基于当前块的邻近块构建运动信息候选列表(S1710)。解码装置可以基于当前块的邻近块来构建运动信息候选列表。例如,解码装置可以导出当前块的邻近块的运动信息作为运动信息候选,并且可以构建包括运动信息候选的运动信息候选列表。例如,邻近块可以包括空间邻近块和时间邻近块。邻近块的运动信息可以包括邻近块的参考图片索引和/或运动矢量。
解码装置基于运动信息候选列表的运动信息候选之中的由运动信息候选索引指示的运动信息候选来导出当前块的运动信息(S1720)。解码装置可以基于由运动信息候选索引指示的运动信息候选来导出当前块的运动信息。例如,解码装置可以导出由运动信息候选索引指示的运动信息候选的参考图片索引和/或运动矢量,作为当前块的参考图片索引和/或运动矢量。
解码装置基于运动信息导出当前块的预测样本(S1730)。例如,解码装置可以基于运动信息导出当前块的预测样本。
解码装置基于用于当前块中的当前残差系数的残差语法元素来导出当前残差系数(S1740)。解码装置可以基于残差语法元素导出当前残差系数。残差语法元素可以包括用于当前残差系数的系数级别信息和残差系数的符号标志。
例如,可以将当前残差系数的绝对级别导出为由用于当前残差系数的系数级别信息指示的值,并且可以将当前残差系数的符号导出为由符号标志指示的符号。
同时,例如,可以在不执行级别映射的情况下导出当前残差系数。例如,用于当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的数量可以等于当前块的上下文编译的bin的最大数量,并且用于当前残差系数的残差语法元素可以包括用于当前残差系数的绝对级别信息和残差系数的符号标志,并且可以在不执行级别映射的情况下导出当前残差系数。在此,仅使用绝对级别信息和符号标志导出当前残差系数可以被表示为简化的残差数据编译。即,可以基于简化残差数据编译导出残差系数。另外,例如,用于当前块的上下文编译的bin可以被全部用作用于当前块的残差系数之中的在当前残差系数之前的残差系数的上下文编译的残差语法元素的bin,并且用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和残差系数的符号标志,并且可以在不执行级别映射的情况下导出当前残差系数。例如,在用于当前块的所有最大数量的上下文编译的bin被用于按扫描顺序的当前残差系数的先前残差系数的残差语法元素时,用于当前残差系数的残差语法元素可以包括用于当前残差系数的系数级别信息和残差系数的符号标志,并且可以在不执行级别映射的情况下导出当前残差系数。此外,例如,可以通过执行级别映射来导出当前残差系数之前的残差系数。
同时,例如,级别映射可以表示上表19中所示的方法。例如,级别映射可以是指以下过程:导出残差系数的左残差系数的绝对级别和残差系数的上残差系数的绝对级别中的最小值,通过比较残差系数的最小值和绝对级别来基于最小值修改残差系数的绝对级别。
例如,可以通过执行级别映射来导出作为在当前残差系数之前的残差系数之一的第一残差系数。例如,可以基于用于第一残差系数的残差语法元素来导出第一残差系数的绝对级别,并且导出第一残差系数的左残差系数的绝对级别和残差系数的上残差系数的绝对级别之中的最小值。此后,可以通过将第一残差系数的绝对级别与最小值进行比较来导出第一残差系数的修改的绝对级别。例如,如果第一残差系数的绝对级别与最小值彼此相等,则可以导出一(1)作为修改的绝对级别;如果第一残差系数的绝对级别不等于最小值并且第一残差系数的绝对级别小于最小值,则可以导出通过第一残差系数的绝对级别加1而获得的值作为修改的绝对级别;并且如果第一残差系数的绝对级别不等于最小值并且第一残差系数的绝对级别不小于最小值,则可以导出第一残差系数的绝对级别作为修改的绝对级别。第一残差系数可以是当前残差系数之前的残差系数之一。残差信息可以包括用于第一残差系数的残差语法元素。
解码装置基于当前残差系数导出残差样本(S1750)。解码装置可以基于当前残差系数导出当前块的残差样本。即,解码装置可以基于当前残差系数导出当前块的残差样本。例如,当基于变换跳过标志导出变换不应用于当前块时,即,当变换跳过标志的值为一(1)时,解码装置可以导出当前残差系数为当前块的残差样本。可替选地,例如,当基于变换跳过标志导出变换未应用于当前块时,即,当变换跳过标志的值为1时,解码装置可以通过对当前残差系数进行去量化来导出当前块的残差样本。可替选地,例如,当基于变换跳过标志导出对当前块应用变换时,即,当变换跳过标志的值为零(0)时,解码装置可以通过对当前残差系数进行逆变换来导出当前块的残差样本。可替选地,例如,当基于变换跳过标志导出变换被应用于当前块时,即,当变换跳过标志的值为0时,解码装置可以通过对当前残差系数进行去量化并对去量化的系数进行逆变换导出当前块的残差样本。
解码装置基于残差样本和预测样本导出当前块的重构样本(S1760)。
例如,解码装置可以基于残差样本和预测样本导出当前块的重构样本。例如,解码装置可以通过将预测样本和残差样本相加来生成重构样本。
此后,可选地,可以将诸如解块滤波、SAO和/或ALF过程的环路内滤波过程应用于如上所述的重构图片,以便改善主观/客观图片质量。
图18简要图示了根据本公开的用于执行图像解码方法的解码装置。图17中公开的方法可以由图18中公开的解码装置执行。具体地,例如,图18的解码装置的熵解码器可以执行图17的S1700;图18的解码装置的预测器可以执行图17的S1710到S1730;图18的解码装置的残差处理器可以执行图17的S1740到S1750;并且图18的解码装置的加法器可以执行图17的S1760。
根据上述本公开,可以提高残差编译的效率。
另外,根据本公开,可以通过在不执行级别映射的情况下导出对其应用简化残差数据编译的残差系数来提高整体图像/视频压缩效率并降低编译复杂度。
另外,根据本公开,应用简化残差数据编译的残差系数可以与相邻残差系数具有低相关性,因此基于相邻残差系数执行的级别映射的效率可能较低。因此,可以降低编译复杂度并提高整体残差编译效率,而无需对其应用了简化残差数据编译的残差系数执行级别映射。
在以上实施方式中,基于具有一系列步骤或方框的流程图描述了方法。本公开不限于以上步骤或方框的顺序。一些步骤或方框可以以与上述的其他步骤或方框不同的顺序执行或同时执行。此外,本领域技术人员将理解,流程图中所示的步骤不是排它的,并且可以还包括其他步骤,或者可以在不影响本公开的范围的情况下删除流程图中的一个或更多个步骤。
在本说明书中所描述的实施方式可以通过被实现在处理器、微处理器、控制器或芯片上来执行。例如,每个图中所示的功能单元可以通过被实现在计算机、处理器、微处理器、控制器或芯片上来执行。在这种情况下,用于实现的信息(例如,关于指令的信息)或算法可以存储在数字存储介质中。
另外,应用本公开的解码装置和编码装置可以被包括在如下装置中:多媒体广播发送/接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监视相机、视频聊天装置、诸如视频通信的实时通信装置、移动流装置、存储介质、便携式摄像机、VoD服务提供装置、过顶(OTT)视频装置、互联网流服务提供装置、三维(3D)视频装置、电话会议视频装置、运输用户装置(例如,车辆用户装置、飞机用户装置和轮船用户装置)和医疗视频设备;并且应用本公开的解码装置和编码装置可以用于处理视频信号或数据信号。例如,过顶(OTT)视频装置可以包括游戏机、蓝光播放器、互联网接入电视机、家庭影院系统、智能电话、平板电脑、数字视频记录仪(DVR)等。
另外,应用本公开的处理方法可以以计算机执行的程序的形式产生,并且可以存储在计算机可读记录介质中。根据本公开的具有数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括其中存储计算机可读数据的所有类型的存储设备。计算机可读记录介质可以包括例如BD、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储设备。另外,计算机可读记录介质包括以载波(例如,经由互联网的传输)形式实现的介质。另外,由编码方法生成的比特流可以存储在计算机可读记录介质中或通过有线/无线通信网络来传输。
另外,本公开的实施方式可以根据程序代码利用计算机程序产品来实现,并且程序代码可以通过本公开的实施方式在计算机中执行。程序代码可以存储在计算机可读载体上。
图19例示了应用了本公开的内容流系统的结构图。
应用本文档的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体储存器、用户设备和多媒体输入设备。
编码服务器将从诸如智能手机、相机或便携式摄像机等的多媒体输入设备输入的内容压缩为数字数据,以生成比特流并将比特流发送到流服务器。作为另一示例,当诸如智能手机、相机或摄像机等的多媒体输入设备直接生成比特流时,可以省略编码服务器。
可以通过应用了本公开的实施方式的编码方法或比特流生成方法来生成比特流,并且流服务器可以在发送或接收比特流的过程中临时存储比特流。
流服务器基于用户请求通过网络服务器向用户设备发送多媒体数据,并且网络服务器用作向用户通知服务的媒介。当用户从网络服务器请求所需的服务时,网络服务器向流服务器递送该请求,并且流服务器向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统内的设备之间的命令/响应。
流服务器可以从媒体储存器和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平稳的流服务,流服务器可以将比特流存储预定时间段。
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航仪、触屏PC、平板PC、超级本、可穿戴设备(例如,智能手表、智能眼镜和头戴式显示器)、数字TV、台式计算机和数字标牌等。内容流系统内的每个服务器可以作为分布式服务器来操作,在这种情况下,从每个服务器接收的数据可以被分布。
本公开中描述的权利要求可以以各种方式组合。例如,可以组合本公开的方法权利要求的技术特征以实现为装置,以及可以组合本公开的装置权利要求的技术特征以实现为方法。此外,可以组合本公开的方法权利要求的技术特征和装置权利要求的技术特征以实施为装置,以及可以组合本公开的方法权利要求的技术特征和装置权利要求的技术特征以实现为方法。

Claims (15)

1.一种由解码装置执行的图像解码方法,所述方法包括:
通过比特流获得包括运动信息候选索引和残差信息的图像信息;
基于当前块的邻近块,构建运动信息候选列表;
基于所述运动信息候选列表的运动信息候选之中的由所述运动信息候选索引指示的运动信息候选来导出所述当前块的运动信息;
基于所述运动信息,导出所述当前块的预测样本;
基于用于所述当前块中的所述当前残差系数的残差语法元素,导出当前残差系数;
基于所述当前残差系数,导出残差样本;以及
基于所述预测样本和所述残差样本,导出所述当前块的重构样本,
其中,所述残差信息包括用于所述当前残差系数的残差语法元素,
其中,用于所述当前块的残差系数之中的在所述当前残差系数之前的残差系数的上下文编译的残差语法元素的数量等于所述当前块的上下文编译的bin的最大数量,
其中,用于所述当前残差系数的所述残差语法元素包括用于所述当前残差系数的系数级别信息和所述当前残差系数的符号标志,以及
其中,所述当前残差系数的绝对级别被导出为由用于所述当前残差系数的所述系数级别信息指示的值,并且所述当前残差系数的符号被导出为由所述符号标志指示的符号。
2.根据权利要求1所述的图像解码方法,其中,在不执行级别映射的情况下导出所述当前残差系数。
3.根据权利要求2所述的图像解码方法,其中,通过执行所述级别映射来导出第一残差系数,以及
所述第一残差系数是所述当前残差系数之前的所述残差系数之一。
4.根据权利要求3所述的图像解码方法,其中,基于用于所述第一残差系数的残差语法元素,导出所述第一残差系数的绝对级别,所述第一残差系数的左残差系数的绝对级别和所述残差系数的上残差系数的绝对级别之中的最小值被导出,并且通过将所述第一残差系数的绝对级别与所述最小值比较来导出所述第一残差系数的修改的绝对级别。
5.根据权利要求1所述的图像解码方法,其中,所述当前块是变换跳过块。
6.根据权利要求5所述的图像解码方法,其中,所述图像信息包括表示是否将变换应用于所述当前块的变换跳过标志,以及
其中,用于所述当前块的所述变换跳过标志的值为1。
7.根据权利要求1所述的图像解码方法,其中,基于所述当前块的宽度和高度,导出所述当前块的所述上下文编译的bin的最大数量。
8.根据权利要求1所述的图像解码方法,其中,用于所述当前块的所述上下文编译的bin都用作用于所述当前残差系数之前的所述残差系数的上下文编译的残差语法元素的bin。
9.根据权利要求1所述的图像解码方法,其中,所述上下文编译的残差语法元素包括表示残差系数是否是非零残差系数的有效系数标志、用于所述残差系数的系数级别的奇偶性的奇偶性级别标志、表示用于所述残差系数的符号的符号标志、用于所述系数级别是否大于第一阈值的第一系数级别标志以及用于所述系数级别是否大于第二阈值的第二系数级别标志。
10.一种由编码装置执行的图像编码方法,所述方法包括:
基于当前块的邻近块来构建运动信息候选列表;
从所述运动信息候选列表的运动信息候选之中选择运动信息候选;
基于所选择的运动信息候选,导出所述当前块的运动信息;
基于所述运动信息,导出所述当前块的预测样本;
基于所述预测样本,导出所述当前块的残差样本;
基于所述残差样本,导出当前残差系数;以及
编码包括指示所选择的运动信息候选的运动信息候选索引和用于所述当前残差系数的残差语法元素的图像信息,
其中,用于所述当前块的残差系数之中的在所述当前残差系数之前的残差系数的上下文编译的残差语法元素的数量等于所述当前块的上下文编译的bin的最大数量,
其中,用于所述当前残差系数的所述残差语法元素包括用于所述当前残差系数的系数级别信息和所述残差系数的符号标志,以及
其中,所述系数级别信息表示所述当前残差系数的系数级别的绝对值,并且所述当前残差系数的符号标志表示所述当前残差系数的符号。
11.根据权利要求10所述的图像编码方法,其中,所述当前块是变换跳过块。
12.根据权利要求11所述的图像编码方法,其中,所述图像信息包括表示是否将变换应用于所述当前块的变换跳过标志,以及
其中,用于所述当前块的所述变换跳过标志的值为1。
13.根据权利要求10所述的图像编码方法,其中,基于所述当前块的宽度和高度,导出所述当前块的所述上下文编译的bin的最大数量。
14.根据权利要求10所述的图像编码方法,其中,用于所述当前块的所述上下文编译的bin都用作用于所述当前残差系数之前的所述残差系数的上下文编译的残差语法元素的bin。
15.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储包括图像信息的比特流,使所述解码装置执行以下步骤:
通过比特流获得包括运动信息候选索引和残差信息的图像信息;
基于当前块的邻近块,构建运动信息候选列表;
基于所述运动信息候选列表的运动信息候选之中的由所述运动信息候选索引指示的运动信息候选来导出所述当前块的运动信息;
基于所述运动信息,导出所述当前块的预测样本;
基于用于所述当前块中的所述当前残差系数的残差语法元素,导出当前残差系数;
基于所述当前残差系数,导出残差样本;以及
基于所述预测样本和所述残差样本,导出所述当前块的重构样本,
其中,所述残差信息包括用于所述当前残差系数的残差语法元素,
其中,用于所述当前块的残差系数之中的在所述当前残差系数之前的残差系数的上下文编译的残差语法元素的数量等于所述当前块的上下文编译的bin的最大数量,
其中,用于所述当前残差系数的所述残差语法元素包括用于所述当前残差系数的系数级别信息和所述当前残差系数的符号标志,以及
其中,所述当前残差系数的绝对级别被导出为由用于所述当前残差系数的所述系数级别信息指示的值,并且所述当前残差系数的符号被导出为由所述符号标志指示的符号。
CN202080060173.6A 2019-08-31 2020-08-26 视频或图像编译方法及其设备 Pending CN114375572A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962894750P 2019-08-31 2019-08-31
US62/894,750 2019-08-31
PCT/KR2020/011412 WO2021040406A1 (ko) 2019-08-31 2020-08-26 비디오 또는 영상 코딩 방법 및 그 장치

Publications (1)

Publication Number Publication Date
CN114375572A true CN114375572A (zh) 2022-04-19

Family

ID=74683871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080060173.6A Pending CN114375572A (zh) 2019-08-31 2020-08-26 视频或图像编译方法及其设备

Country Status (6)

Country Link
US (1) US20220264118A1 (zh)
EP (1) EP4024868A4 (zh)
JP (2) JP7453348B2 (zh)
KR (1) KR20210158396A (zh)
CN (1) CN114375572A (zh)
WO (1) WO2021040406A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023140635A1 (ko) * 2022-01-21 2023-07-27 주식회사 윌러스표준기술연구소 경계 밖 블록을 이용하는 비디오 신호 처리 방법 및 이를 위한 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101791158B1 (ko) * 2010-07-16 2017-10-27 한국전자통신연구원 계층적 가변 블록 변환이 가능한 부호화 방법 및 장치 그리고 복호화 방법 및 장치
US10390046B2 (en) * 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
US9503717B2 (en) * 2012-01-09 2016-11-22 Texas Instruments Incorporated Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
US10257520B2 (en) * 2012-06-26 2019-04-09 Velos Media, Llc Modified coding for transform skipping
BR112017025820A2 (pt) * 2015-06-23 2018-08-14 Ericsson Telefon Ab L M métodos para um codificador de video, um transcodificador de vídeo e um nó de processamento de vídeo, codificador de vídeo, transcodificador de vídeo, nó de processamento de vídeo, e, programa de computador
US11483575B2 (en) * 2018-08-24 2022-10-25 Hfi Innovation Inc. Coding transform coefficients with throughput constraints
CN118250473A (zh) * 2018-09-24 2024-06-25 有限公司B1影像技术研究所 图像编码/解码方法和传输比特流的方法
CN116132675A (zh) * 2018-11-12 2023-05-16 三星电子株式会社 用于对系数等级进行熵编码/熵解码的方法和装置
MX2021005939A (es) * 2018-11-21 2021-07-21 Electronics & Telecommunications Res Inst Metodo y aparato de codificacion/decodificacion de imagen, y medio de registro que almacena flujo de bits.
US11463712B2 (en) * 2018-11-21 2022-10-04 Interdigital Vc Holdings, Inc. Residual coding with reduced usage of local neighborhood
KR20200109276A (ko) * 2019-03-12 2020-09-22 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020228762A1 (en) * 2019-05-14 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Context modeling for residual coding
US11381847B2 (en) * 2019-05-31 2022-07-05 Qualcomm Incorporated Coefficient coding for transform skip mode in video coding
EP4000266A4 (en) * 2019-08-20 2022-10-26 Beijing Bytedance Network Technology Co., Ltd. RESIDUAL CODING FOR TRANSFORM SKIP BLOCKS
CN114303373A (zh) * 2019-08-31 2022-04-08 Lg 电子株式会社 用于残差编译的解码视频的方法及其设备
WO2021172914A1 (ko) * 2020-02-27 2021-09-02 엘지전자 주식회사 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치
KR20230124571A (ko) * 2020-12-21 2023-08-25 퀄컴 인코포레이티드 고 비트-심도 비디오 코딩을 위한 라이스 파라미터 도출을 위한 저 복잡도 이력 사용
US20230342984A1 (en) * 2022-04-22 2023-10-26 Qualcomm Incorporated Inter prediction in point cloud compression

Also Published As

Publication number Publication date
WO2021040406A1 (ko) 2021-03-04
EP4024868A4 (en) 2023-09-27
US20220264118A1 (en) 2022-08-18
JP2022546096A (ja) 2022-11-02
JP2024063219A (ja) 2024-05-10
EP4024868A1 (en) 2022-07-06
JP7453348B2 (ja) 2024-03-19
KR20210158396A (ko) 2021-12-30

Similar Documents

Publication Publication Date Title
CN113994669A (zh) 基于bdpcm的图像解码方法及其设备
CN113455006A (zh) 图像解码方法和装置
CN115398909A (zh) 用于残差编码的图像解码方法及其设备
US12010315B2 (en) Method for decoding video for residual coding and device therefor
US20230188758A1 (en) Image coding method and device in image coding system
CN114467310A (zh) 图像编译系统中残差数据编译的图像解码方法及其装置
CN114051728A (zh) 基于块大小执行bdpcm的图像解码方法及其设备
CN114175646A (zh) 图像解码方法及其装置
CN114009016A (zh) 从合并数据语法移除冗余语法的方法和装置
JP2024063219A (ja) ビデオまたは画像コーディング方法及びその装置
CN114375578A (zh) 用于残差编码的图像解码方法及其设备
CN114270833A (zh) 用于在视频/图像编译系统中移除重叠信令的方法和装置
CN114175660A (zh) 使用bdpcm的图像解码方法及其装置
CN114342395A (zh) 图像解码方法及其设备
CN114342387A (zh) 基于运动预测的图像编译方法和装置
US20220408095A1 (en) Image decoding method and apparatus therefor
CN115462084A (zh) 图像解码方法以及用于其的设备
CN114467301A (zh) 图像解码方法及其设备
CN113812156A (zh) 在视频编译系统中使用简化的残差数据编译解码视频的方法及其设备
CN114208180A (zh) 用于解码图像的方法及其装置
CN114208181A (zh) 用于色度量化参数数据的图像解码方法及其装置
CN114270824A (zh) 用于基于帧间预测编译图像的方法和装置
CN114586357B (zh) 视频编码系统中使用简化的残差数据编码的视频解码方法及其设备
CN115336274B (zh) 与残差编码关联的图像解码方法以及用于其的装置
US20230164361A1 (en) Image decoding method for coding image information including tsrc available flag, and device therefor

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