CN117979012A - 图像解码和编码方法以及存储介质 - Google Patents

图像解码和编码方法以及存储介质 Download PDF

Info

Publication number
CN117979012A
CN117979012A CN202410124725.5A CN202410124725A CN117979012A CN 117979012 A CN117979012 A CN 117979012A CN 202410124725 A CN202410124725 A CN 202410124725A CN 117979012 A CN117979012 A CN 117979012A
Authority
CN
China
Prior art keywords
flag
transform
transform coefficient
abs
residual
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
CN202410124725.5A
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 CN117979012A publication Critical patent/CN117979012A/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/124Quantisation
    • 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
    • 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/18Methods 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 a set of transform coefficients
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/1887Methods 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 a variable length codeword
    • 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/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

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

图像解码和编码方法以及存储介质
本申请是原案申请号为201980065600.7的发明专利申请(国际申请号:PCT/KR2019/013043,申请日:2019年10月4日,发明名称:用于编码变换系数的方法和设备)的分案申请。
技术领域
本公开总体上涉及图像编码技术,并且更具体地,涉及用于编码变换系数的方法和设备。
背景技术
如今,在各个领域中对诸如4K、8K或更高的超高清(UHD)图像/视频这样的高分辨率和高质量图像/视频的需求已经不断增长。随着图像/视频数据变成更高分辨率和更高质量,与传统图像数据相比,所发送的信息量或比特量增加。因此,当使用诸如传统有线/无线宽带线这样的介质来发送图像数据或者使用现有存储介质来存储图像/视频数据时,其传输成本和存储成本增加。
另外,如今,对于诸如虚拟现实(VR)、人工现实(AR)内容或全息图等这样的沉浸式媒体的兴趣和需求正在增加,并且对图像特征与诸如游戏图像这样的真实图像的图像特征不同的图像/视频的广播正在增加。
因此,需要有效地压缩并发送或存储以及再现具有如上所述的各种特征的高分辨率和高质量图像/视频的信息的高效图像/视频压缩技术。
发明内容
技术目的
本公开提供用于提高图像编码效率的方法和设备。
本公开还提供用于提高残差编码的效率的方法和设备。
本公开还提供用于根据是否应用变换跳过(skip)来提高残差编码的效率的方法和设备。
技术方案
根据本公开的实施方式,提供了由解码设备执行的图像解码方法,该方法包括:接收包括残差信息的比特流;基于比特流中包括的残差信息,推导当前块的量化变换系数;基于量化变换系数,推导当前块的残差样本;以及基于当前块的残差样本生成重构图片,其中,可以依据是否对当前块应用变换,通过不同的语法元素来推导残差信息。
残差信息包括:关于量化变换系数的变换系数水平是否大于第一阈值的第一变换系数水平标志;以及关于量化变换系数的变换系数水平是否大于第二阈值的的第二变换系数水平标志,并且其中,依据是否对当前块应用变换而以不同的方式对第二变换系数水平标志进行解码。
残差信息包括基于上下文编码的上下文语法元素,并且其中上下文语法元素包括:与量化变换系数是否为非零有效系数(significant coefficient)有关的有效系数标志、关于量化变换系数的变换系数水平的奇偶性的奇偶性水平标志、关于量化变换系数水平是否大于第一阈值的第一变换系数水平标志、以及关于量化变换系数的变换系数水平是否大于第二阈值的第二变换系数水平标志。
推导量化变换系数的步骤包括:解码第一变换系数水平标志,并且解码奇偶性水平标志;以及基于所解码的奇偶性水平标志的值和所解码的第一变换系数水平标志的值,推导量化变换系数,并且其中,在奇偶性水平标志的解码之前执行第一变换系数水平标志的解码。
根据本公开的另一实施方式,提供了由编码设备进行的图像编码方法,该方法包括:推导当前块的残差样本;基于当前块的残差样本推导量化变换系数;以及编码包括关于量化变换系数的信息的残差信息,其中可以依据是否对当前块应用变换而通过不同的语法元素来推导残差信息。
根据本公开的又一实施方式,用于执行图像解码方法的图像解码设备包括:熵解码器,其接收包括残差信息的比特流,并且基于比特流中包括的残差信息推导当前块的量化变换系数;逆变换器,其基于量化变换系数来推导当前块的残差样本;以及加法器,其基于当前块的残差样本生成重构图片,其中,可以依据是否对当前块应用变换而通过不同的语法元素来推导残差信息。
根据本公开的又一实施方式,提供了用于执行图像编码的编码设备。该编码设备包括:减法器,其推导当前块的残差样本;量化器,其基于当前块的残差样本来推导量化变换系数;以及熵编码器,其对包括关于量化变换系数的信息的残差信息进行编码,其中,可以依据是否对当前块应用变换而通过不同的语法元素来推导残差信息。
根据本公开的又一实施方式,可以提供数字存储介质,其中存储了包括根据由编码设备执行的图像编码方法生成的编码图像信息的图像数据。
根据本公开的又一实施方式,可以提供数字存储介质,其中存储了包括使得解码设备执行图像解码方法的编码图像信息的图像数据。
技术效果
根据本公开的实施方式,可以提高总体图像/视频压缩效率。
根据本公开的实施方式,可以提高残差编码的效率。
根据本公开,可以提高变换系数编码的效率。
根据本公开,可以根据是否应用变换跳过来提高残差编码的效率。
附图说明
图1示意性地表示可以应用本公开的视频/图像编码系统的示例。
图2是示意性地例示可以应用本公开的视频/图像编码设备的配置的图。
图3是示意性地例示可以应用本公开的视频/图像解码设备的配置的图。
图4是例示可以应用本公开的视频/图像编码方法的控制流程图。
图5是例示可以应用本公开的视频/图像解码方法的控制流程图。
图6是例示根据实施方式的CABAC编码系统的框图的图。
图7是例示4×4块中的变换系数的示例的图。
图8是例示根据本公开的示例的残差信号解码器的图。
图9是例示根据本公开的示例性实施方式的解码残差信号的方法的控制流程图。
图10是例示根据本公开的实施方式的解析上下文元素的方法的控制流程图。
图11是例示根据本公开的另一实施方式的解析上下文元素的方法的控制流程图。
图12是例示根据本公开的又一实施方式的解析上下文元素的方法的控制流程图。
图13是例示根据本公开的又一实施方式的解析上下文元素的方法的控制流程图。
图14是例示根据本公开的又一实施方式的解析上下文元素的方法的控制流程图。
图15是示出根据本公开的又一实施方式的解析上下文元素的方法的控制流程图。
图16例示性地表示可以应用本公开的内容流传输系统结构图。
具体实施方式
尽管本公开可能易于进行各种修改并且包括各种实施方式,但是其具体实施方式已在附图中通过示例的方式示出,并且现在将对其进行详细描述。然而,这并不旨在将本公开限制于本文中公开的具体实施方式。本文中使用的术语只是出于描述特定实施方式的目的,而不旨在限制本公开的技术思路。单数形式可以包括复数形式,除非上下文中另外清楚指示。诸如“包括”、“包含”等这样的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此不应该被理解为预先排除了存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合的可能性。
此外,为了方便描述彼此不同的特性功能,独立地例示了本文中描述的附图上的各组件,然而,并不意指各组件由单独的硬件或软件来实现。例如,可以组合这些组件中的任何两个或更多个以形成单个组件,并且任何单个组件可以被划分成多个组件。其中组件被组合和/或划分的实施方式将落入本公开的专利权的范围,只要它们不脱离本公开的实质即可。
下文中,将在参照附图的同时更详细地说明本公开的优选实施方式。另外,在附图上,相同的附图标记用于相同的组件,并且将省略对相同组件的重复描述。
图1示意性地呈现可以应用本公开的视频/图像编码系统的示例。
参照图1,视频/图像编码系统可以包括第一装置(源装置)和第二装置(接收装置)。源装置可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据传递到接收装置。
源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。
视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如针对压缩和编码效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)可以以比特流的形式输出。
发送器可以通过数字存储介质或网络以文件或流传输的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码设备。
解码设备可以通过执行与编码设备的操作对应的诸如反量化、逆变换和预测这样的一系列过程来解码视频/图像。
渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。
本文件涉及视频/图像编码。例如,本文件中公开的方法/实施方式可以应用于以通用视频编码(VVC)、EVC(基本视频编码)标准、AOMedia Video 1(AV1)标准、第二代音频视频编码标准(AVS2)或下一代视频/图像编码标准(例如,H.267或H.268等)中公开的方法。
本文件提出了视频/图像编码的各种实施方式,并且除非另外提到,否则这些实施方式可以彼此组合地执行。
在本文件中,视频可以是指随时间推移的一系列图像。图片通常是指表示特定时间区域中的一副图像的单元,并且切片/图块(tile)是在编码中构成图片的一部分的单元。切片/图块可以包括一个或更多个编码树单元(CTU)。一个图片可以由一个或更多个切片/图块组成。一个图片可以由一个或更多个图块组组成。一个图块组可以包括一个或更多个图块。块部(brick)可以表示图片中的图块内的CTU行的矩形区域。图块可以被分割成多个块部,块部中的每一个由图块内的一个或更多个CTU行组成。没有被分割成多个块部的图块也可以称为块部。块部扫描是以下的分割图片的CTT的特定顺序排序:可以在块部中按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/C”可以意指“A、B和/或C中的至少一个”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。
另外,在该文件中,术语“或”应该被解释为指示“和/或”。例如,表述“A或B”可以包括1)仅A、2)仅B和/或3)A和B二者。换句话说,本文件中的术语“或”应该被解释为指示“另外地或另选地”。
图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)。在这种情况下,可以从编码树单元(CTU)或最大编码单元(LCU)开始根据四叉树二叉树三叉树(QTBTTT)结构来递归地分割编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元划分成深度更深的多个编码单元。在这种情况下,例如,可以首先应用四叉树结构,随后可以应用二叉树结构和/或三叉树结构。另选地,可以首先应用二叉树结构。可以基于不再被分割的最终编码单元来执行根据本文件的编码过程。在这种情况下,可以基于根据图像特性的编码效率将最大编码单元用作最终编码单元,或者如果必要,可以将编码单元递归地分割成深度更深的编码单元并且可以将最佳大小的编码单元用作最终编码单元。这里,编码过程可以包括随后将描述的预测、变换和重构的过程。作为另一示例,处理单元还可以包括预测单元(PU)或变换单元(TU)。在这种情况下,可以从上述的最终编码单元划分或分割预测单元和变换单元。预测单元可以是样本预测的单元,并且变换单元可以是用于推导变换系数的单元和/或用于根据变换系数推导残差信号的单元。
在一些情况下,可以将单元和诸如块或区域这样的术语互换地使用。在常规情况下,M×N块可以表示由M列和N行组成的样本或变换系数的集合。样本通常可以表示像素或像素的值,可以仅表示亮度分量的像素/像素值,或仅表示色度分量的像素/像素值。样本可以被用作与针对像素或pel的一个图片(或图像)对应的术语。
在编码设备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可以使用本文件中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编码或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息来发信号通知图片内的样本值。
通过预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可以被用于生成重构信号或者生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loève变换(KLT)、基于图的变换(GBT)或有条件非线性变换(CNT)中的至少一种。这里,GBT意指当用曲线图表示像素之间的关系信息时从曲线图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而产生的变换。另外,变换处理可以被应用于大小相同的正方形像素块,或者可以应用于大小可变的块而非正方形的块。
量化器233可以对变换系数进行量化并且将它们发送到熵编码器240,并且熵编码器240可以对量化后的信号(关于量化变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块类型的量化变换系数重新布置成一维向量形式,并且基于一维向量形式的量化变换系数来生成关于量化变换系数的信息。可以生成关于变换系数的信息。熵编码器240可以执行诸如例如指数哥伦布(exponential 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可以包括帧内预测器331和帧间预测器332。残差处理器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输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且可以确定特定的帧内/帧间预测模式。
预测器可以基于下面描述的各种预测方法来生成预测信号。例如,预测器不仅可以将帧内预测或帧间预测应用于对一个块预测,而且可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以基于块内复制(IBC)预测模式或调色板模式,以对块进行预测。IBC预测模式或调色板模式可以被用于游戏等的内容图像/视频编码(例如,屏幕内容编码(SCC))。尽管IBC基本上在当前图片中执行预测,但是其执行方式与帧间预测的相似之处在于,在当前图片中推导参考块。即,IBC可以使用本文件中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编码或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息来发信号通知图片内的样本值。
帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或者可以与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器332可以基于参考图片上的运动向量所指定的参考块(参考样本阵列)来推导针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来推导当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
加法器340可以通过将所获得的残差信号与从预测器(帧间预测器332或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构图片、重构块、重构样本阵列)。如果诸如在应用跳过模式的情况下没有针对要处理的块的残差时,可以将预测块用作重构块。
加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前图片中的要处理的下一块的帧内预测,如下面描述地可以通过滤波来输出,或者可以被用于下一图片的帧间预测。
此外,在图片解码处理中可以应用具有色度缩放的亮度映射(LMCS)。
滤波器350可以通过向重构后的信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且可以将修改后的重构图片存储到存储器360中,尤其是发送到存储器360的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环形滤波器、双边滤波器等。
存储在存储器360的DPB中的(修改后的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储从中推导(或解码了)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被发送到帧间预测器332,以被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将重构样本传送到帧内预测器331。
在本公开中,在编码设备200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可以与解码设备300的滤波器350、帧间预测器332和帧内预测器331相同或者被分别应用以对应于解码设备300的滤波器350、帧间预测器332和帧内预测器331。这同样可以应用于帧间预测器332和帧内预测器331。
如上所述,执行预测,以便提高执行视频编码时的压缩效率。据此,可以生成包括针对作为编码目标块的当前块的预测样本的预测块。这里,预测块包括空间域(或像素域)中的预测样本。可以在编码设备和解码设备中相同地推导预测块,并且编码设备可以通过向解码设备发信号通知并非原始块本身的原始样本值而是关于原始块与预测块之间的残差的信息(残差信息)来提高图像编码效率。解码设备可以基于残差信息来推导包括残差样本的残差块,通过将残差块与预测块相加来生成包括重构样本的重构块,并且生成包括重构块的重构图片。
可以通过变换过程和量化过程来生成残差信息。例如,编码设备可以推导原始块与预测块之间的残差块,通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来推导变换系数,并且通过对变换系数执行量化过程来推导量化变换系数,使得它可以(通过比特流)向解码设备发信号通知关联的残差信息。这里,残差信息可以包括量化变换系数的值信息、位置信息、变换技术、变换核、量化参数等。解码设备可以基于残差信息来执行量化/反量化过程并且推导残差样本(或残差样本块)。解码设备可以基于预测块和残差块来生成重构块。编码设备可以通过对量化变换系数进行反量化/逆变换来推导残差块以便作为下一个图片的帧间预测的参考,并且可以基于此来生成重构图片。
图4是例示可以应用本公开的视频/图像编码方法的控制流程图。
S400可以由编码设备的帧间预测器221或帧内预测器222执行,并且S410、S420、S430和S440可以分别由编码设备的减法器231、变换器232、量化器233和熵编码器240执行。
编码设备可以通过针对当前块的预测来推导预测样本(S400)。编码设备可以确定是否对当前块执行帧间预测或帧内预测,并且基于RD成本来确定特定帧间预测模式或特定帧内预测模式。根据所确定的模式,编码设备可以推导当前块的预测样本。
编码设备可以将当前块的预测样本与原始样本进行比较,并推导残差样本(S410)。
编码设备通过对残差样本的变换处理来推导变换系数(S420)。通过量化所推导的变换系数,推导出量化变换系数(S430)。
编码设备可以对包括预测信息和残差信息的图像信息进行编码,并且以比特流的形式输出编码后的图像信息(S440)。
预测信息可以包括关于运动信息(例如,当应用帧间预测时)和预测模式信息的信息作为与预测处理有关的多个信息。残差信息可以是关于量化变换系数的信息,并且例如包括在稍后将描述的表1中公开的信息。残差信息可以被熵编码。
可以通过存储介质或网络将输出比特流传送到解码设备。
图5是例示可以应用本公开的视频/图像解码方法的控制流程图。
S500可以由解码设备的帧间预测器332或帧内预测器331执行。在S500中,可以由编码设备的熵解码器310执行对包括在比特流中的预测信息进行解码并且推导相关语法元素的值的处理。S510、S520、S530和S540可以分别由解码设备的熵解码器310、反量化器321、逆变换器322和加法器340执行。
解码设备可以执行与已经在编码设备中执行的操作相对应的操作。解码设备可以基于接收到的预测信息对当前块执行帧间预测或帧内预测,并推导预测样本(S500)。
解码设备可以基于接收到的残差信息来推导当前块的量化变换系数(S510)。解码设备可以通过熵解码从残差信息推导量化变换系数。
解码设备可以对量化变换系数进行反量化并推导变换系数(S520)。
解码设备可以通过针对变换系数的逆变换处理来推导残差样本(S530)。
解码设备可以基于残差样本和预测样本来生成当前块的重构样本,并且基于这些重构样本来生成重构图片(S540)。
如上所述,此后,可以将环路滤波过程进一步应用于重构图片。
图6示出了用于对单个语法元素进行编码的上下文自适应二进制算术编码(CABAC)的框图,作为例示了根据实施方式的CABAC编码系统的框图的图。
在输入信号是非二值化的语法元素的情况下,CABAC的编码处理首先通过二值化将输入信号变换为二值化的值。在输入信号已经是二值化的值的情况下,输入信号绕过二值化且不经历二值化,并且输入到编码引擎。这里,将构成二进制值的每个二进制数0或1称为bin。例如,在二值化后的二进制串为“110”的情况下,1、1和0中的每一个都称为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、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag、mts_idx等的语法元素来对(量化)的变换系数进行编码和/或解码。下面的表1示出了根据示例的与残差数据编码有关的语法元素。
[表1]
transform_skip_flag指示是否跳过关联块的变换。关联块可以是编码块(CB)或变换块(TB)。关于变换(和量化)和残差编码处理,CB和TB可以互换使用。例如,如上所述,可以推导CB的残差样本,并且可以通过对残差样本进行变换和量化来推导(量化的)变换系数。并且,通过残差编码处理,可以生成并发信号通知高效地指示(量化的)变换系数的位置、大小或符号(sign)等的信息(例如,语法元素)。量化变换系数可以简称为变换系数。通常,在CB不大于最大TB的情况下,CB的大小可以与TB的大小相同,并且在这种情况下,要被变换(和量化)并进行残差编码的目标块可以称为CB或TB。此外,在CB大于最大TB的情况下,可以将要进行变换(和量化)和残差编码的目标块称为TB。尽管在下文中以示例的方式描述了与残差编码有关的语法元素以变换块(TB)为单位进行发信号通知,但是如上所述,TB和编码块(CB)可以互换使用。
在一个实施方式中,基于语法元素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)和/或特定帧内/帧间预测模式来确定扫描顺序。
接下来,在将变换块划分为4x4子块之后,可将coded_sub_block_flag的一位语法元素用于每个4x4子块,以指示当前子块中是否存在非零系数。
如果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的编码处理。仅当sig_coeff_flag为1时,可以执行水平信息编码,并且可以在水平信息编码处理中使用四个语法元素。更具体地,每个sig_coeff_flag[xC][yC]可以指示在当前TB中的每个变换系数位置(xC,yC)处的对应变换系数的水平(值)是否为非零。在实施方式中,sig_coeff_flag可以对应于有效系数标志的示例,该有效系数标志指示量化变换系数是否为非零有效系数。
在对sig_coeff_flag进行编码之后剩余的水平值可以与下面的式1中的相同。也就是说,指示要编码的水平值的语法元素remAbsLevel可以如下面的式1所示。这里,coeff是指实际的变换系数值。
[式1]
remAbsLevel=|coeff|-1
通过par_level_flag,可以如下面的式2所示对式1中写入的remAbsLevel的最低有效系数(LSB)值进行编码。这里,par_level_flag[n]可以指示在扫描位置n处的变换系数水平(值)的奇偶性。在par_leve_flag编码之后,要编码的变换系数水平值remAbsLevel可以被更新为如下面的式3所示。
[式2]
par_level_flag=remAbsLevel&1
[式3]
remAbsLevel’=remAbsLevel>>1
rem_abs_gt1_flag可以指示对应的扫描位置n处的remAbsLevel'是否大于1,并且rem_abs_gt2_flag可以指示对应的扫描位置n处的remAbsLevel'是否大于2。可以仅当rem_abs_gt2_flag为1时对abs_remainder执行编码。当总结实际变换系数值coeff与每个语法元素之间的关系时,例如可以是下面的式4,并且下面的表2示出了与式4有关的示例。另外,可以使用1位符号coeff_sign_flag对每个系数的符号进行编码。|coeff|可以指示变换系数水平(值),并且可以表示为变换系数的AbsLevel。
[式4]
|coeff|=sig_coeff_flag+par_level_flag+2*(rem_abs_gtl_flag+rem_abs_gt2_flag+abs_remainder)
在实施方式中,par_level_flag指示关于量化变换系数的变换系数水平的奇偶性的奇偶性水平标志的示例,rem_abs_gtl_flag指示关于变换系数水平是否大于第一阈值的第一变换系数水平标志的示例,并且rem_abs_gt2_flag可以指示关于变换系数水平是否大于第二阈值的第二变换系数水平标志的示例。
另外,在另一实施方式中,rem_abs_gt2_flag可以被称为rem_abs_gt3_flag,并且在另一实施方式中,可以基于abs_level_gtx_flag[n][j]来表示rem_abs_gt1_flag和rem_abs_gt2_flag。abs_level_gtx_flag[n][j]可以是指示在扫描位置n处的变换系数水平的绝对值(或向右移位1的变换系数水平)的绝对值是否大于(j<<1)+1的标志。在一个示例中,rem_abs_gt1_flag可以执行与abs_level_gtx_flag[n][0]相同和/或相似的功能,并且rem_abs_gt2_flag可以执行与abs_level_gtx_flag[n][1]相同和/或相似的功能。也就是说,abs_1evel_gtx_flag[n][0]可以对应于第一变换系数水平标志的示例,而abs_level_gtx_flag[n][1]可以对应于第二变换系数水平标志的示例。(j<<1)+1可以根据情况用预定的阈值(例如第一阈值和第二阈值)代替。
[表2]
|coeff| sig_coeff_flag par_level_flag rem_abs_gt1_fllag rem_abs_gt2_flag abs_remainder
0 0
1 1 0 0
2 1 1 0
3 1 0 1 0
4 1 1 1 0
5 1 0 1 1 0
6 1 1 1 1 0
7 1 0 1 1 1
8 1 1 1 1 1
9 1 0 1 1 2
10 1 1 1 1 2
11 1 0 1 1 3
图7是例示4×4块中的变换系数的示例的图。
图7的4×4块示出了量化系数的示例。图7中所示的方框可以是4x4变换块、或8x8、16x16、32x32或64x64变换块的4x4子块。图7的4×4块可以是亮度块或色度块。图7的反对角线扫描系数的编码结果可以例如在表3中示出。在表3中,scan_pos指示根据反对角线扫描的系数的位置。scan_pos 15是在4x4块中首先被扫描的系数,即,在右下角的系数,而scan_pos 0是最后被扫描的系数,即,在左上角的系数。此外,在一个实施方式中,scan_pos可以被称为扫描位置。例如,scan_pos 0可以被称为扫描位置0。
[表3]
scan_pos 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
coefficients 0 0 0 0 1 -1 0 2 0 3 -2 -3 4 6 -7 10
sig_coeff_flag 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1
par_level_flag 0 0 1 0 1 0 1 1 0 1
rem abs_gt1_flag 0 0 0 1 0 1 1 1 1 1
rem_abs_gt2_flag 0 0 0 1 1 1
abs_remainder 0 1 2
ceoff_sign_flag 0 1 0 0 1 1 0 0 1 0
此外,如参照表1所述,在对残差信号和特殊残差信号进行编码之前,首先发送是否应用对应块的变换。通过表示变换域中的残差信号之间的相关性,实现了数据的压缩并将其发送到解码设备。如果残差信号之间的相关性不足,则可能无法充分进行数据压缩。在这种情况下,可以省略包括复杂计算处理的变换过程,并且可以将像素域(空间域)中的残差信号传送到解码设备。
由于尚未经历变换的像素域的残差信号具有与一般的变换域的残差信号不同的特性(残差信号的分布、每个残差信号的绝对水平等),在下文中将提出根据本公开的示例的用于高效地将这种信号发送到解码设备的残差信号编码方法。
图8是例示根据本公开的示例的残差信号解码器的图。
如图所示,可以将指示是否将变换应用于对应的变换块的变换应用标志和关于编码的二值化码的信息输入到残差信号解码器800,并且可以从残差信号解码器800输出解码的残差信号。
关于是否应用变换的标志可以被表示为transform_skip_f1ag,并且可以通过图6的二值化处理将编码的二值化码输入到残差信号解码器800。
以变换块为单位发送变换跳过标志,并且在表1中,将关于是否进行变换的标志限制为特定块大小(仅当变换块的大小为4x4或更小时,才包括解析变换跳过标志的条件)。然而,在本实施方式中,用于确定是否解析变换跳过标志的块的大小可以被不同地配置。将Log2TbWidth和log2TbHeight的大小确定为变量wN和hN,并且可以将wN和hN选择为以下之一。
[式5]
wN={2,3,4,5}
wH={2,3,4,5}
式5可以应用的语法元素如下。
[表4]
如上所述,可以根据变换跳过标志来确定对残差信号进行解码的方法。通过提出的方法,可以通过高效地处理具有彼此不同的统计特性的信号来降低熵解码处理中的复杂度并提高编码效率。
基于以上实施方式和表1的描述,在本实施方式中,当当前解码目标块是未变换的像素域的残差时,提出了以变换块(TB)为单位对以4×4子块为单位编码的残差信号进行解码的方法。
一般残差信号被表示为变换域,并且随着变换后的残差信号基于块的系数变得更靠近左上角,非零系数更可能出现,并且该系数的绝对值水平为也可以具有更大的值。可以通过反映这些特性的上述方法来执行编码。
然而,在变换域中未表示的像素域的残差不具有上述特性,并且产生零或更大的系数的概率具有随机性。在这种情况下,通过以子块为单位表示残差以高于像素单元的单元来确定要编码为coded_sub_block_flag的元素的方法可能会相当程度地导致冗余地发送关于系数分布的信息的副作用,也就是说,增加了复杂度。因此,根据本实施方式,针对未应用变换的变换块,可以通过以变换块为单位而不是以子块为单位发送残差信号来提高编码和解码效率。
将参照图9进行如下总结。图9是例示根据本公开的示例性实施方式的解码残差信号的方法的控制流程图。
首先,解码设备的熵解码器或残差信号解码器解析指示是否对变换块执行了变换处理的变换跳过标志(transform_skip_flag)(S900),并且它可以基于解析的信息确定是否对残差信号进行了变换(S910)。
作为确定的结果,当变换跳过标志指示残差信号已经被变换时,熵解码器或残差信号解码器可以以子块为单位对变换后的块进行解码(S920)。
相反,当变换跳过标志指示残差信号未被变换时,熵解码器或残差信号解码器可以以变换块为单位而不是以子块为单位对变换块进行解码(S930)。
此外,根据基于表1和变换跳过标志对残差进行解码的技术,本实施方式提出了在当前解码目标块是未变换的像素域的残差时确定上下文元素(即,语法)的方法。
在一般的变换域残差的情况下,残差信号表示为每个频率分量的水平值,并且在高频区域中,通过量化而表示为零或接近零的数字的概率增加。因此,在表1中,使用了其中可以通过首先编码sig_coeff_flag来省略随后的上下文元素解析的方法,该sig_coeff_flag是关于当前变换系数值是否为0的上下文元素。
当sig_coeff_flag不为0时,可以根据当前变换系数的值依次编码rem_abs_gt1_flag、par_level_flag和rem_abs_gt2_flag等。然而,在像素域的残差信号未经历变换的情况下,该信号的绝对水平值具有随机性。
上下文编码的语法元素可以包括sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个作为通过基于上下文的算术编码来编码的语法元素。另外,在下文中,上下文编码bin可以指示关于所述sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个的上下文编码bin。
通常,在残差信号的值较大的情况下,当所有语法元素(例如,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag)都以所有系数表示时,与通过将其原样二值化来发送水平值相比,冗余信息更有可能被发送。因此,本实施方式提出通过针对像素域的残差信号省略一些上下文元素来提高编码效率的方法。
可以基于表1中的transform_skip_flag上下文元素来分支提出的方法,并且可以遵循与分支语句不对应的现有方法,例如,表1的上下文元素(sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag),或可以包括上面定义的上下文元素进行编码和解码。也就是说,当应用变换时,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以如表1所示被编码和解码。
此外,可以通过sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、abs_remainder和coeff_sign_flag的上下文元素对未应用变换的残差信号进行编码和解码。
表5示出了根据本实施方式的上下文元素。
[表5]
图10是例示根据本实施方式的解析上下文元素的处理的控制流程图。根据图10的根据变换跳过标志的上下文元素解析将描述如下。
首先,解析指示是否已经对变换块执行了变换处理的变换跳过标志(transform_skip_flag),以确定transform_skip_flag是否为1(S1000)。
作为确定的结果,在其transform_skip_flag为1(即,已跳过而未应用变换)的残差值的情况下,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、ar_level_flag、rem_abs_gt1_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1010)。
在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
相反,在其transform_skip_flag为0(即,已对其应用变换)的残差值的情况下,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1020)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
也就是说,当与应用变换的残差值比较时,在不应用变换的残差值的情况下,不对rem_abs_gt2_flag进行编码和解码。在残差值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,更可能发送冗余信息,因此,在本实施方式中,通过省略rem_abs_gt2_flag的上下文元素来提高编码效率。
此外,根据基于表1和变换跳过标志对残差进行解码的技术,根据本公开的另一实施方式提出了当当前解码目标块是未变换像素域的残差时确定上下文元素(即,语法)的方法。
在一般的变换域残差的情况下,残差信号表示为每个频率分量的水平值,并且在高频区域中,通过量化而表示为零或接近零的数字的概率增加。因此,在表1中,使用了其中可以通过首先编码sig_coeff_flag来省略随后的上下文元素解析的方法,该sig_coeff_flag是关于当前变换系数值是否为0的上下文元素。
当sig_coeff_flag不为0时,可以根据当前变换系数的值依次编码rem_abs_gt1_flag、par_level_flag和rem_abs_gt2_flag等。然而,在像素域的残差信号未经历变换的情况下,该信号的绝对水平值具有随机性。
上下文编码的语法元素可以包括sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个作为通过基于上下文的算术编码来编码的语法元素。另外,在下文中,上下文编码bin可以指示关于所述sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个的上下文编码bin。
通常,在残差信号的值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素都以所有系数表示时,与通过将其原样二值化来发送水平值相比,冗余信息更有可能被发送。因此,本实施方式提出通过针对像素域的残差信号省略一些上下文元素来提高编码效率的方法。
所提出的方法可以基于表1中的transform_skip_flag上下文元素进行分支,并且可以遵循不对应于分支语句的现有方法,例如表1的上下文元素(sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag),或者可以包括上面定义的上下文元素进行编码和解码。也就是说,当应用变换时,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以如表1所示进行编码和解码。
此外,可以通过sig_coeff_flag、par_level_flag、abs_remainder和coeff_sign_flag的上下文元素对未应用变换的残差信号进行编码和解码。
表6示出了根据本实施方式的上下文元素。
[表6]
图11是例示根据本实施方式的解析上下文元素的处理的控制流程图。根据图11的根据变换跳过标志的上下文元素解析将描述如下。
首先,解析指示是否已经对变换块执行了变换处理的变换跳过标志(transform_skip_flag),以确定transform_skip_flag是否为1(S1100)。
作为确定的结果,在其transform_skip_flag为1(即,变换已被跳过而未被应用)的残差值的情况下,sig_coeff_flag、par_level_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、par_level_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1110)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
相反,在其transform_skip_flag为0(即,已对其应用变换)的残差值的情况下,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1120)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
也就是说,在未应用变换的残差值的情况下,当与已经应用变换的残差值比较时,不对rem_abs_gt1_flag和rem_abs_gt2_flag进行编码和解码。在残差值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,更可能发送冗余信息,因此,在本实施方式中,通过省略rem_abs_gt1_flag和rem_abs_gt2_flag的上下文元素来提高编码效率。
此外,根据基于表1和变换跳过标志对残差进行解码的技术,根据本公开的又一实施方式提出了在当前解码目标块是未变换的像素域的残差时确定上下文元素的方法。
在一般的变换域残差的情况下,残差信号表示为每个频率分量的水平值,并且在高频区域中,通过量化而表示为零或接近零的数字的概率增加。因此,在表1中,使用了其中可以通过首先编码sig_coeff_flag来省略随后的上下文元素解析的方法,该sig_coeff_flag是关于当前变换系数值是否为0的上下文元素。
当sig_coeff_flag不为0时,可以根据当前变换系数的值依次编码rem_abs_gt1_flag、par_level_flag和rem_abs_gt2_flag等。然而,在像素域的残差信号未经历变换的情况下,该信号的绝对水平值具有随机性。
上下文编码的语法元素可以包括sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个作为通过基于上下文的算术编码进行编码的语法元素。另外,在下文中,上下文编码bin可以指示关于所述sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个的上下文编码bin。
通常,在残差信号的值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素都以所有系数表示时,与通过将其原样二值化来发送水平值相比,冗余信息更有可能被发送。因此,本实施方式提出通过针对像素域的残差信号省略一些上下文元素来提高编码效率的方法。
可以基于表1中的transform_skip_flag上下文元素来对所提出的方法进行分支,并且可以遵循不对应于分支语句的现有方法,例如,表1的上下文元素(sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag),或者可以包括上面定义的上下文元素进行编码和解码。也就是说,当应用变换时,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以如表1所示进行编码和解码。
此外,可以通过sig_coeff_flag、abs_remainder和coeff_sign_flag的上下文元素对未应用变换的残差信号进行编码和解码。
另外,根据示例,当已经使用了所有数量的用于上下文编码语法元素的bin时,可以仅对abs_remainder和coeff_sign_flag进行编码或解码/解析,而无需再对上下文编码语法元素进行编码或解码/解析。
表7示出了根据本实施方式的上下文元素。
[表7]
图12是例示根据本实施方式的解析上下文元素的处理的控制流程图。根据图12的根据变换跳过标志的上下文元素解析将描述如下。
首先,解析指示是否已经对变换块执行了变换处理的变换跳过标志(transform_skip_flag),以确定transform_skip_flag是否为1(S1200)。
作为确定的结果,在其transform_skip_flag为1(即,变换已被跳过而未被应用)的残差值的情况下,sig_coeff_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1210)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
相反,在其transform_skip_flag为0(即,已对其应用变换)的残差值的情况下,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1220)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
也就是说,当与已应用变换的残差值比较时,在未应用变换的残差值的情况下,par_level_flag、rem_abs_gt1_flag和rem_abs_gt2_flag不被编码和解码。在残差值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,更可能发送冗余信息,因此,在本实施方式中,通过省略par_level_flag、rem_abs_gt1_flag和rem_abs_gt2_flag的上下文元素来提高编码效率。
此外,根据基于表1和变换跳过标志对残差进行解码的技术,根据本公开的又一实施方式提出了在当前解码目标块是未变换的像素域的残差时确定上下文元素的方法。
在一般的变换域残差的情况下,残差信号被表示为每个频率分量的水平值,并且在高频区域中,通过量化而被表示为零或接近零的数的可能性增加。因此,在表1中,使用了一种其中可以通过首先编码sig_coeff_flag来省略随后的上下文元素解析的方法,该sig_coeff_flag是关于当前变换系数值是否为0的上下文元素。
当sig_coeff_flag不为0时,可以根据当前变换系数的值依次编码rem_abs_gt1_flag、par_level_flag和rem_abs_gt2_flag等。然而,在像素域的残差信号未经历变换的情况下,该信号的绝对水平值具有随机性。
上下文编码的语法元素可以包括sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个作为通过基于上下文的算术编码来编码的语法元素。另外,在下文中,上下文编码bin可以指示关于所述sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个的上下文编码bin。
通常,在残差信号的值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,冗余信息更有可能被发送。因此,本实施方式提出通过针对像素域的残差信号省略一些上下文元素来提高编码效率的方法。
可以基于表1中的transform_skip_flag上下文元素来对所提出的方法进行分支,并且可以遵循不对应于分支语句的现有方法,例如,表1的上下文元素(sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag),或者可以包括上面定义的上下文元素进行编码和解码。也就是说,当应用变换时,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以如表1所示进行编码和解码。
此外,可以通过abs_remainder和coeff_sign_flag的上下文元素对未应用变换的残差信号进行编码和解码。
另外,根据示例,当已经使用了所有数量的用于上下文编码语法元素的bin时,可以仅对abs_remainder和coeff_sign_flag进行编码或解码/解析,而无需再对上下文编码语法元素进行编码或解码/解析。
表8示出了根据本实施方式的上下文元素。
[表8]
图13是例示根据本实施方式的解析上下文元素的处理的控制流程图。根据图13的根据变换跳过标志的上下文元素解析将描述如下。
首先,解析指示是否已经对变换块执行了变换处理的变换跳过标志(transform_skip_flag),以确定transform_skip_flag是否为1(S1300)。
作为确定的结果,在其transform_skip_flag为1(即,变换已被跳过而未被应用)的残差值的情况下,abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1310)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
相反,在其transform_skip_flag为0(即已对其应用变换)的残差值的情况下,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1320)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
也就是说,当与已经应用变换的残差值比较时,在未应用变换的残差值的情况下,不对sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和rem_abs_gt2_flag进行编码和解码。在残差值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag等之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,更可能发送冗余信息,因此,在本实施方式中,通过省略sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和rem_abs_gt2_flag的上下文元素来提高编码效率。
此外,根据基于表1和变换跳过标志对残差进行解码的技术,根据本公开的又一实施方式提出了在当前解码目标块是未变换的像素域的残差时确定上下文元素的方法。
在一般的变换域残差的情况下,残差信号被表示为每个频率分量的水平值,并且在高频区域中,通过量化而被表示为零或接近零的数的可能性增加。因此,在表1中,使用了其中可以通过首先编码sig_coeff_flag来省略随后的上下文元素解析的方法,该sig_coeff_flag是关于当前变换系数值是否为0的上下文元素。
当sig_coeff_flag不为0时,可以根据当前变换系数的值依次编码rem_abs_gt1_flag、par_level_flag和rem_abs_gt2_flag等。然而,在像素域的残差信号未经历变换的情况下,该信号的绝对水平值具有随机性。
上下文编码的语法元素可以包括sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个作为通过基于上下文的算术编码进行编码的语法元素。另外,在下文中,上下文编码bin可以指示关于所述sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个的上下文编码bin。
通常,在残差信号的值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,冗余信息更有可能被发送。因此,本实施方式提出通过针对像素域的残差信号省略一些上下文元素来提高编码效率的方法。
可以基于表1中的transform_skip_flag上下文元素来对所提出的方法进行分支,并且可以遵循不对应分支语句的现有方法,例如,表1的上下文元素(sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag),或者可以包括上面定义的上下文元素进行编码和解码。也就是说,当应用变换时,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以如表1所示进行编码和解码。
此外,可以通过sig_coeff_flag、rem_abs_gt1_flag、abs_remainder和coeff_sign_flag的上下文元素对未应用变换的残差信号进行编码和解码。
表9示出了根据本实施方式的上下文元素。
[表9]
图14是例示根据本实施方式的解析上下文元素的处理的控制流程图。根据图14的根据变换跳过标志的上下文元素解析将描述如下。
首先,解析指示是否已经对变换块执行了变换处理的变换跳过标志(transform_skip_flag),以确定transform_skip_flag是否为1(S1400)。
作为确定的结果,在其transform_skip_flag为1(即,变换已被跳过而未被应用)的残差值的情况下,sig_coeff_flag、rem_abs_gt1_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、rem_abs_gt1_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1410)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
相反,在其transform_skip_flag为0(即,已对其应用变换)的残差值的情况下,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1420)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
也就是说,当与已经应用变换的残差值比较时,在尚未应用变换的残差值的情况下,par_level_flag和rem_abs_gt2_flag未被编码和解码。在残差值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,更可能发送冗余信息。因此,在本实施方式中,通过省略par_level_flag和rem_abs_gt2_flag的上下文元素来提高编码效率。
此外,根据基于表1和变换跳过标志对残差进行解码的技术,根据本公开的又一实施方式提出了在当前解码目标块是未变换的像素域的残差时确定上下文元素的方法。
在一般的变换域残差的情况下,残差信号表示为每个频率分量的水平值,并且在高频区域中,通过量化而表示为零或接近零的数的可能性增加。因此,在表1中,使用了其中可以通过首先编码sig_coeff_flag来省略随后的上下文元素解析的方法,该sig_coeff_flag是关于当前变换系数值是否为0的上下文元素。
当sig_coeff_flag不为0时,可以根据当前变换系数的值对rem_abs_gt1_flag、par_level_flag和rem_abs_gt2_flag等依次进行编码。然而,在像素域的残差信号未经历变换的情况下,该信号的绝对水平值具有随机性。
上下文编码的语法元素可以包括sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个,作为通过基于上下文的算术编码进行编码的语法元素。另外,在下文中,上下文编码bin可以指示关于所述sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和/或rem_abs_gt2_flag中的至少一个的上下文编码bin。
通常,在残差信号的值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和_rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过直接将其原样二值化来发送水平值相比,冗余信息更有可能被发送。因此,本实施方式提出通过针对像素域的残差信号省略一些上下文元素来提高编码效率的方法。
可以基于表1中的transform_skip_flag上下文元素来对所提出的方法进行分支,并且可以遵循不对应于分支语句的现有方法,例如,表1的上下文元素(sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder、coeff_sign_flag),或者可以包括上面定义的上下文元素进行编码和解码。也就是说,当应用变换时,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以如表1所示进行编码和解码。
此外,可以通过sig_coeff_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素对未应用变换的残差信号进行编码和解码。
表10示出了根据本实施方式的上下文元素。
[表10]
图15是例示根据本实施方式的解析上下文元素的处理的控制流程图。根据图15的根据变换跳过标志的上下文元素解析将描述如下。
首先,解析指示是否已经对变换块执行了变换处理的变换跳过标志(transform_skip_flag),以确定transform_skip_flag是否为1(S1500)。
作为确定的结果,在其transform_skip_flag为1(即,变换已被跳过而未被应用)的残差值的情况下,sig_coeff_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,sig_coeff_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1510)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
相反,在其transform_skip_flag为0(即,已对其应用变换)的残差值的情况下,sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被编码,并且sig_coeff_flag、par_level_flag、rem_abs_gt1_flag、rem_abs_gt2_flag、abs_remainder和coeff_sign_flag的上下文元素可以被解析(S1520)。在这种情况下,可以依次解析上下文元素,或者可以改变解析顺序。
也就是说,当与应用变换的残差值比较时,在不应用变换的残差值的情况下,par_level_flag不被编码和解码。在残差值较大的情况下,当诸如sig_coeff_flag、par_level_flag、rem_abs_gt1_flag和rem_abs_gt2_flag之类的所有语法元素以所有系数表示时,与通过将其原样二值化来发送水平值相比,更可能发送冗余信息。因此,在本实施方式中,通过省略par_level_flag的上下文元素来提高编码效率。
语法元素rem_abs_gt1_flag和rem_abs_gt2_flag可以基于如上所述的abs_level_gtx_flag[n][j]来表示,并且也可以表示为abs_rem_gt1_flag和abs_rem_gt2_flag或者abs_rem_gtx_flag。
如上所述,根据本公开的实施方式,可以依据是否将变换跳过应用于残差编码来应用不同的残差编码方案(即,残差语法)。
例如,依据是否应用了变换跳过,关于变换系数的符号的标志(coeff_sign_flag)的信令顺序可以不同。当未应用变换跳过时,在abs_remainder之后发信号通知coeff_sign_flag,而在应用变换跳过时,可在rem_abs_gt1_flag之前发信号通知coeff_sign_flag。
另外,例如,rem_abs_gt1_flag、rem_abs_gt2_flag(即,rem_abs_gtx_flag)解析和针对abs_remainder的解析循环可能会依据是否应用了变换跳过而变化。
附加地,通过基于上下文的算术编码而编码的上下文语法元素可以包括:指示量化变换系数是否为非零有效系数的有效系数标志(sig_coeff_flag);关于量化变换系数的变换系数水平的奇偶性的奇偶性级别标志(par_level_flag);关于变换系数水平是否大于第一阈值的第一变换系数水平标志(rem_abs_gt1_flag);以及关于量化变换系数的量化系数水平是否大于第二阈值的第二变换系数水平标志(rem_abs_gt2_flag)。在这种情况下,可以在奇偶性水平标志的解码之前执行第一变换系数水平标志的解码。
表11至表13示出了根据上述示例的上下文元素。
[表11]
[表12]
[表13]
表11示出了根据transform_skip_flag的值对残差编码进行分支,也就是说,对于残差使用不同的语法元素。另外,表12示出了在transform_skip_flag的值为0的情况下(即,在应用变换的情况下)的残差编码,并且表13示出了在transform_skip_flag的值为1的情况下(即,在不应用变换的情况下)的残差编码。
在表12和13中,par_level_flag可以被表示为下面的式6。
[式6]
par_level_flag=coeff&1
另外,在表12和表13中,由于par_level_flag被解析,也就是说,在abs_level_gtx_flag之后解码,因此,rem_abs_gt1_flag可以指示在对应的扫描位置n处的变换系数是否大于1,并且rem_abs_gt2_flag可以指示在对应的扫描位置n处的变换系数是否大于3。也就是说,表1中的rem_abs_gt2_flag可以表示为表12和表13中的rem_abs_gt3_flag。
当如上所述改变式2至式3时,在下面的表12和表13的情况下,式4可以改变如下。
[式7]
|coeff|=sig_coeff_flag+par_level_flag+rem_abs_gt1_flag+2*(rem_abs_gt2_flag+abs_remainder
图16表示可以应用本文档的内容流传输系统的示例。
参照图16,应用本文档的内容流传输系统通常可以包括编码服务器、流传输服务器、web服务器、媒体储存器、用户装置和多媒体输入装置。
编码服务器用于将从多媒体输入装置(例如,智能电话、相机和便携式摄像机等)输入的内容压缩为数字数据,以生成比特流,并将其发送到流传输服务器。作为另一示例,在多媒体输入装置(例如,智能电话、相机和便携式摄像机等)直接生成比特流的情况下,可以省略编码服务器。
可以通过应用本文档的编码方法或比特流生成方法来生成比特流。并且,流传输服务器可以在发送或接收比特流的过程中临时存储比特流。
流传输服务器基于用户的请求通过web服务器将多媒体数据发送到用户设备,web服务器用作通知用户存在哪些服务的工具。当用户请求用户想要的服务时,web服务器将请求传送到流传输服务器,并且流传输服务器将多媒体数据发送给用户。就此而言,内容流传输系统可以包括单独的控制服务器,并且在这种情况下,控制服务器用于控制内容流传输系统中的各个设备之间的命令/响应。
流传输服务器可以从媒体储存器和/或编码服务器接收内容。例如,在从编码服务器接收到内容的情况下,可以实时接收内容。在这种情况下,流传输服务器可以将比特流存储预定时间段,以平稳地提供流传输服务。
例如,用户设备可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、板式PC、平板PC、超级本、可穿戴装置(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(HMD))、数字TV、台式计算机或数字标牌等。
内容流传输系统中的每个服务器可以作为分布式服务器来操作,并且在这种情况下,可以以分布式方式处理每个服务器接收的数据。

Claims (10)

1.一种由解码设备执行的图像解码方法,该图像解码方法包括以下步骤:
从比特流获得预测信息和残差信息;
基于所述预测信息来推导当前块的预测样本;
基于所述残差信息来推导所述当前块的量化变换系数;
通过对量化变换系数执行反量化来推导当前块的变换系数;
基于所述变换系数来推导所述当前块的残差样本;以及
基于所述预测样本和所述残差样本来生成所述当前块的重构图片,
其中,所述残差信息包括与量化变换系数是否为非零有效系数相关的有效系数标志和与所述量化变换系数的变换系数水平的奇偶性相关的奇偶性水平标志。
2.根据权利要求1所述的图像解码方法,其中,所述残差信息还包括与所述量化变换系数的变换系数水平是否大于预定阈值相关的变换系数水平标志,并且
其中,所述变换系数水平标志的数量基于是否对所述当前块应用变换。
3.根据权利要求2所述的图像解码方法,其中,所述变换系数水平标志包括与所述量化变换系数的变换系数水平是否大于第一阈值有关的第一变换系数水平标志以及与所述量化变换系数的所述变换系数水平是否大于第二阈值有关的第二变换系数水平标志,并且
其中,基于是否对所述当前块应用变换而以不同的方式解码所述第二变换系数水平标志。
4.根据权利要求3所述的图像解码方法,其中,推导所述当前块的量化变换系数的步骤包括以下步骤:
对所述第一变换系数水平标志进行解码并且对所述奇偶性水平标志进行解码;以及
基于解码后的所述奇偶性水平标志的值和解码后的所述第一变换系数水平标志的值来推导所述量化变换系数,并且
其中,在所述奇偶性水平标志的解码之前执行所述第一变换系数水平标志的解码。
5.一种由编码设备执行的图像编码方法,该图像编码方法包括以下步骤:
推导当前块的预测样本;
推导所述当前块的残差样本;
基于所述残差样本来推导所述当前块的变换系数;
通过对所述变换系数执行量化来推导所述当前块的量化变换系数;以及
对与所述预测样本相关的预测信息和与所述量化变换系数相关的残差信息进行编码以输出比特流,
其中,所述残差信息包括与量化变换系数是否为非零有效系数相关的有效系数标志和与所述量化变换系数的变换系数水平的奇偶性相关的奇偶性水平标志。
6.根据权利要求5所述的图像编码方法,其中,所述残差信息还包括与所述量化变换系数的变换系数水平是否大于预定阈值相关的变换系数水平标志,并且
其中,所述变换系数水平标志的数量基于是否对所述当前块应用变换。
7.根据权利要求6所述的图像编码方法,其中,所述变换系数水平标志包括与所述量化变换系数的变换系数水平是否大于第一阈值有关的第一变换系数水平标志以及与所述量化变换系数的所述变换系数水平是否大于第二阈值有关的第二变换系数水平标志,并且
其中,基于是否对所述当前块应用变换而以不同的方式编码所述第二变换系数水平标志。
8.根据权利要求7所述的图像编码方法,其中,推导所述当前块的量化变换系数的步骤包括以下步骤:
对所述第一变换系数水平标志进行编码并且对所述奇偶性水平标志进行编码;以及
基于编码后的所述奇偶性水平标志的值和编码后的所述第一变换系数水平标志的值来推导所述量化变换系数。
9.一种存储通过图像编码方法生成的比特流的非暂时性计算机可读数字存储介质,所述图像编码方法包括以下步骤:
推导当前块的预测样本;
推导所述当前块的残差样本;
基于所述残差样本来推导所述当前块的变换系数;
通过对所述变换系数执行量化来推导所述当前块的量化变换系数;以及
对与所述预测样本相关的预测信息和与所述量化变换系数相关的残差信息进行编码以输出所述比特流,
其中,所述残差信息包括与量化变换系数是否为非零有效系数相关的有效系数标志和与所述量化变换系数的变换系数水平的奇偶性相关的奇偶性水平标志。
10.根据权利要求9所述的非暂时性计算机可读数字存储介质,其中,所述残差信息还包括与所述量化变换系数的变换系数水平是否大于预定阈值相关的变换系数水平标志,并且
其中,所述变换系数水平标志的数量基于是否对所述当前块应用变换。
CN202410124725.5A 2018-10-05 2019-10-04 图像解码和编码方法以及存储介质 Pending CN117979012A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862741638P 2018-10-05 2018-10-05
US62/741,638 2018-10-05
CN201980065600.7A CN112806017B (zh) 2018-10-05 2019-10-04 用于编码变换系数的方法和设备
PCT/KR2019/013043 WO2020071856A1 (ko) 2018-10-05 2019-10-04 변환 계수 코딩 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980065600.7A Division CN112806017B (zh) 2018-10-05 2019-10-04 用于编码变换系数的方法和设备

Publications (1)

Publication Number Publication Date
CN117979012A true CN117979012A (zh) 2024-05-03

Family

ID=70055103

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410124725.5A Pending CN117979012A (zh) 2018-10-05 2019-10-04 图像解码和编码方法以及存储介质
CN201980065600.7A Active CN112806017B (zh) 2018-10-05 2019-10-04 用于编码变换系数的方法和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201980065600.7A Active CN112806017B (zh) 2018-10-05 2019-10-04 用于编码变换系数的方法和设备

Country Status (4)

Country Link
US (2) US11470319B2 (zh)
KR (3) KR102533227B1 (zh)
CN (2) CN117979012A (zh)
WO (1) WO2020071856A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11973983B2 (en) * 2019-10-11 2024-04-30 Qualcomm Incorporated Signaling coding scheme for residual values in transform skip for video coding

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RS56512B1 (sr) * 2010-04-13 2018-02-28 Ge Video Compression Llc Kodiranje mapa značaja i blokova koeficijenata transformacije
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
CN104380737B (zh) 2012-06-22 2018-10-26 夏普株式会社 算术解码装置
WO2014053428A1 (en) 2012-10-01 2014-04-10 Telefonaktiebolaget L M Ericsson (Publ) Coding and decoding of transform skipped blocks
US9451254B2 (en) * 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
US9456210B2 (en) 2013-10-11 2016-09-27 Blackberry Limited Sign coding for blocks with transform skipped
EP3926955A1 (en) * 2013-12-10 2021-12-22 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding blocks of pixel
US10142642B2 (en) * 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US9609362B2 (en) * 2014-10-06 2017-03-28 Telefonaktiebolaget Lm Ericsson (Publ) Coding and deriving quantization parameters
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
WO2017086765A2 (ko) 2015-11-22 2017-05-26 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
US11509890B2 (en) * 2018-07-24 2022-11-22 Hfi Innovation Inc. Methods and apparatus for entropy coding and decoding aspects of video data
US11336918B2 (en) * 2018-09-05 2022-05-17 Qualcomm Incorporated Regular coded bin reduction for coefficient coding
WO2020054713A1 (en) * 2018-09-11 2020-03-19 Sharp Kabushiki Kaisha Systems and methods for coding transform coefficient level values
KR102631361B1 (ko) * 2018-10-11 2024-01-31 엘지전자 주식회사 변환 계수 코딩 방법 및 장치
US11451826B2 (en) * 2019-04-15 2022-09-20 Tencent America LLC Lossless coding mode and switchable residual coding

Also Published As

Publication number Publication date
WO2020071856A1 (ko) 2020-04-09
US20230370599A1 (en) 2023-11-16
US11470319B2 (en) 2022-10-11
KR20240064730A (ko) 2024-05-13
KR102661961B1 (ko) 2024-05-10
KR20210041086A (ko) 2021-04-14
CN112806017A (zh) 2021-05-14
US20220385925A1 (en) 2022-12-01
US20210400274A1 (en) 2021-12-23
US11750813B2 (en) 2023-09-05
KR102533227B1 (ko) 2023-05-17
KR20230070528A (ko) 2023-05-23
CN112806017B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
CN112956205B (zh) 变换系数编码方法及其装置
KR102459940B1 (ko) 레지듀얼 코딩 방법 및 그 장치
CN113508587B (zh) 在视频编译系统中使用残差信息的视频解码方法及其设备
CN111373753B (zh) 变换因子级别编码方法及其装置
CN115443660B (zh) 用于解码与符号数据隐藏相关的成像的方法和设备
CN112913246B (zh) 用于编码变换系数的方法及其装置
CN114467310A (zh) 图像编译系统中残差数据编译的图像解码方法及其装置
CN114402605A (zh) 图像编码系统中使用残差编码方法的标志的图像解码方法以及用于其的装置
CN112806017B (zh) 用于编码变换系数的方法和设备
CN113812156B (zh) 在视频编译系统中使用简化的残差数据编译解码视频的方法及其设备
CN113170131A (zh) 变换系数编码方法及其装置
CN115349258B (zh) 图像编码系统中用于残差编码的图像解码方法及其设备
CN115336274B (zh) 与残差编码关联的图像解码方法以及用于其的装置
CN118714314A (zh) 在视频编译系统中使用简化的残差数据编译解码视频的方法及其设备
CN118714315A (zh) 在视频编译系统中使用简化的残差数据编译解码视频的方法及其设备
CN118714317A (zh) 在视频编译系统中使用简化的残差数据编译解码视频的方法及其设备
CN118714316A (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