CN111052740B - 用于编码或解码图像的方法和装置 - Google Patents
用于编码或解码图像的方法和装置 Download PDFInfo
- Publication number
- CN111052740B CN111052740B CN201880045117.8A CN201880045117A CN111052740B CN 111052740 B CN111052740 B CN 111052740B CN 201880045117 A CN201880045117 A CN 201880045117A CN 111052740 B CN111052740 B CN 111052740B
- Authority
- CN
- China
- Prior art keywords
- encoding
- image
- unit
- filter model
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 143
- 238000001914 filtration Methods 0.000 claims abstract description 146
- 238000013528 artificial neural network Methods 0.000 claims abstract description 48
- 238000013527 convolutional neural network Methods 0.000 claims description 38
- 238000013139 quantization Methods 0.000 claims description 20
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 84
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 20
- 230000006835 compression Effects 0.000 description 19
- 238000007906 compression Methods 0.000 description 19
- 238000011176 pooling Methods 0.000 description 18
- 238000005192 partition Methods 0.000 description 16
- 238000012549 training Methods 0.000 description 13
- 230000011218 segmentation Effects 0.000 description 10
- 238000001824 photoionisation detection Methods 0.000 description 9
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000000638 solvent extraction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了使用经过训练的深度神经网络(DNN)滤波器模型的环内滤波技术。根据实施例的图像解码方法包括以下步骤:接收编码图像的比特流,通过重构编码图像来生成重构数据,从比特流获得与编码图像的内容类型有关的信息,基于与内容类型有关的信息确定被训练为通过使用至少一个计算机来执行环内滤波的DNN滤波器模型,以及通过将重构数据应用于所确定的DNN滤波器模型来执行环内滤波。
Description
技术领域
本公开涉及一种通过利用使用机器学习算法的人工智能(AI)来处理图像的方法。更具体地,本公开涉及编码和解码图像过程中的使用深度神经网络(DNN)的环内滤波技术。
背景技术
人工智能(AI)系统是一种计算机系统,其可以展现人类水平的智能并且通过自我学习和做出决策变得更加智能,而且AI系统使用得越多,其识别率提高得就越多。
AI技术包括使用自我分类/学习输入数据特征的算法的机器学习(例如,深度学习),以及使用机器学习算法来模拟人脑功能(诸如识别和决策)的要素技术。
要素技术包括(例如)用于识别人类语言/字符的语言理解、用于以人类视觉系统的方式识别对象的视觉理解、用于判断信息并逻辑推断和预测信息的推理/预测、用于将人类经验信息并入到知识数据中的知识表示以及用于控制自动驾驶车辆的自我驾驶和机器人运动的运动控制中的至少一者。
具体地,视觉理解是用于以人类视觉系统的方式识别和处理对象的技术,并且包括对象识别、对象跟踪、图像搜索、人员识别、场景理解、空间理解和图像增强。
发明内容
技术问题
根据各种实施例,提供了一种用于编码/解码图像的方法和设备。本公开要解决的技术问题不限于上述技术问题,并且本领域的普通技术人员将从以下描述中理解其他技术问题。
问题的解决方案
为了解决所述技术问题,根据实施例的图像解码方法包括:接收编码图像的比特流;通过重构编码图像来生成重构数据;从比特流获得与编码图像的内容类型有关的信息;基于与内容类型有关的信息来确定被训练为通过使用至少一个计算机来执行环内滤波的深度神经网络(DNN)滤波器模型;以及通过将重构数据应用于所确定的DNN滤波器模型来执行环内滤波。
此外,在根据实施例的图像解码方法中,环内滤波可以包括解块滤波、样本自适应偏移和自适应环路滤波中的至少一种操作。
此外,在根据实施例的图像解码方法中,与内容类型有关的信息可以包括指示编码图像的像素复杂度和运动程度的信息。
此外,在根据实施例的图像解码方法中,DNN滤波器模型可以是被训练为根据基于构成DNN滤波器模型的多个网络节点中的每一者的权重和多个网络节点之间的连接关系的操作来补偿重构数据的量化误差的网络模型。
此外,在根据实施例的图像解码方法中,DNN滤波器模型的确定可以包括基于与内容类型有关的信息从多个DNN滤波器模型候选者中确定与编码图像的内容类型对应的DNN滤波器模型。
此外,在根据实施例的图像解码方法中,多个DNN滤波器模型候选者中的每一者可以被训练为对预设的内容类型执行环内滤波。
此外,在根据实施例的图像解码方法中,DNN滤波器模型的确定还可以包括从多个DNN滤波器模型候选者中确定与编码图像的压缩强度对应的DNN滤波器模型。
此外,在根据实施例的图像解码方法中,环内滤波的执行可以包括通过将重构数据和存储在重构图片缓冲器中的一个或多个参考图像应用于所确定的DNN滤波器模型来执行环内滤波。
此外,在根据实施例的图像解码方法中,可以基于卷积神经网络(CNN)学习模型来执行环内滤波。
根据实施例的图像解码设备包括:接收器,其被配置为接收编码图像的比特流;以及解码器,其被配置为通过重构编码图像来生成重构数据,从比特流获得与编码图像的内容类型有关的信息,基于与内容类型有关的信息来确定被训练为通过使用至少一个计算机来执行环内滤波的深度神经网络(DNN)滤波器模型,并且通过将重构数据应用于所确定的DNN滤波器模型来执行环内滤波。
根据实施例的图像编码方法包括:确定输入图像的内容类型;基于内容类型来确定被训练为通过使用至少一个计算机来执行环内滤波的深度神经网络(DNN)滤波器模型;通过向所确定的DNN滤波器模型应用输入图像的从编码的残留数据重构的重构数据来生成环内滤波数据;通过基于环内滤波数据预测输入图像来生成预测数据并且通过使用输入图像和预测数据来生成残留数据;通过编码与内容类型有关的信息和所生成的残留数据来生成比特流;以及传输比特流。
此外,在根据实施例的图像编码方法中,环内滤波可以包括解块滤波、样本自适应偏移和自适应环路滤波中的至少一种操作。
此外,在根据实施例的图像编码方法中,与内容类型有关的信息可以包括指示输入图像的像素复杂度和运动程度的信息。
此外,在根据实施例的图像编码方法中,DNN滤波器模型可以是被训练为根据基于构成DNN滤波器模型的多个网络节点中的每一者的权重和多个网络节点之间的连接关系的操作来补偿重构数据的量化误差的网络模型。
此外,在根据实施例的图像编码方法中,DNN滤波器模型的确定可以包括基于与内容类型有关的信息从多个DNN滤波器模型候选者中确定与输入图像的内容类型对应的DNN滤波器模型。
本公开的有利效果
因为执行基于经过训练的深度神经网络(DNN)的环内滤波,所以编码和解码性能可以得到改善。
附图说明
图1是根据实施例的图像编码设备100的详细框图。
图2是根据实施例的图像解码设备200的详细框图。
图3是根据实施例的环内滤波单元的框图。
图4是根据实施例的环内滤波单元的框图。
图5是示出深度神经网络(DNN)的结构的图。
图6a至图6f是示出各种CNN的结构的图。
图7是示出根据实施例的DNN滤波器模型候选者的图。
图8是示出根据实施例的通过使用至少一个参考图像来执行基于DNN滤波器模型的环内滤波的方法的图。
图9是根据实施例的图像编码设备900的框图。
图10是根据实施例的图像解码设备1000的框图。
图11是示出根据实施例的包括基于DNN滤波器模型的环内滤波过程的图像编码方法的流程图。
图12是示出根据实施例的包括基于DNN滤波器模型的环内滤波过程的图像解码方法的流程图。
图13示出了根据实施例的通过分割当前编码单元来确定至少一个编码单元的过程。
图14示出了根据实施例的通过分割非正方形编码单元来确定至少一个编码单元的过程。
图15示出了根据实施例的基于块形状信息和分割形状信息中的至少一者来分割编码单元的过程。
图16示出了根据实施例的从奇数个编码单元中确定预定编码单元的方法。
图17示出了根据实施例的当通过分割当前编码单元来确定多个编码单元时处理多个编码单元的次序。
图18示出了根据实施例的当编码单元不能以预定次序处理时确定当前编码单元将被分割成奇数个编码单元的过程。
图19示出了根据实施例的通过分割第一编码单元来确定至少一个编码单元的过程。
图20示出了根据实施例,当通过分割第一编码单元来确定的具有非正方形形状的第二编码单元满足预定条件时,第二编码单元可分割成的形状受到限制。
图21示出了根据实施例的当分割形状信息指示正方形编码单元将不被分割成四个正方形形状时分割正方形编码单元的过程。
图22示出了根据实施例,多个编码单元之间的处理次序可以根据分割编码单元的过程而改变。
图23示出了根据实施例的当编码单元被递归分割以使得确定多个编码单元时随着编码单元的形状和尺寸的改变来确定编码单元的深度的过程。
图24示出了根据实施例的基于编码单元的形状和尺寸确定的深度以及用于区分编码单元的部分索引(PID)。
图25示出了根据实施例的基于图片中所包括的多个预定数据单元来确定的多个编码单元。
图26示出了根据实施例的用作用于确定图片中所包括的参考编码单元的确定次序的标准的处理块。
具体实施方式
说明书中使用的术语“单元”是指执行特定任务的软件部件或硬件部件,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。然而,术语“单元”不限于软件或硬件。“单元”可以被配置为在可寻址存储介质中或者被配置为操作一个或多个处理器。因此,“单元”可以包括(举例来说)诸如软件部件、面向对象的软件部件、类部件和任务部件等部件、进程、函数、属性、过程、子例程、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、阵列和变量。部件和“单元”中提供的功能可以组合成更少的部件和“单元”,或者进一步分成额外的部件和“单元”。
下文中将详细描述实施例以便完整传达本公开的范围,并且使得本领域的普通技术人员能够容易地实施和实践本公开。然而,本公开可以以许多不同形式实施,并且不应被解释为限于本文所陈述的实施例。此外,附图中的与详细描述无关的部分被省略以确保本公开清楚。
考虑到在本公开中的功能,本公开中所使用的术语选自当前广泛使用的常用术语。然而,根据本领域的普通技术人员的意图、先例或新技术的出现,这些术语可以不同。此外,在特定情况下,所述术语可以由本公开的申请人任意选择,并且那些术语的含义将在详细描述的对应部分中详细描述。因此,本公开中使用的术语不仅仅是术语的指定,而是术语基于本公开全文中的术语和内容的含义来定义。
本公开涉及一种通过利用使用机器学习算法的人工智能(AI)来处理图像的方法。具体地,本公开涉及编码和解码图像过程中的使用深度神经网络(DNN)的环内滤波。
现在将参考图1和图2描述与图像的编码和解码相关的整体操作。将参考图3至图12描述使用AI的环内滤波方法。将参考图13至图26描述根据实施例的确定图像的数据单元的方法。
图1是根据实施例的图像编码设备100的详细框图。
根据实施例的图像编码设备100包括块确定器110、帧间预测器115、帧内预测器120、重构图片缓冲器125、变换器130、量化器135、逆量化器140、逆变换器145、环内滤波单元150和熵编码器155。
根据实施例,块确定器110可以根据用于编码图像的块的最大尺寸将当前图像的数据分割成最大编码单元。每个最大编码单元可以包括根据块形状和分割形状分割的块(即,编码单元)。根据实施例的包括在最大编码单元中的空间域中的图像数据可以根据块形状和分割形状进行分级的分类。编码单元的块形状可以是正方形、矩形或任何几何形状,并且因此不限于特定尺寸的数据单元。
当待编码的图片的尺寸增加时,可以通过以更大单元编码来以更高图像压缩比对图像进行编码。然而,当编码单元扩大并且其尺寸固定时,图像可能无法通过反映连续变化的图像特征来有效编码。
例如,当编码海洋或天空的平坦区域时,压缩比与编码单元较大时一样高,但是,当编码人或建筑物的复杂区域时,压缩比与编码单元较小时一样高。
为此,根据实施例的块确定器110针对每个图片或切片设置不同尺寸的最大编码单元,并且设置从最大编码单元分割的一个或多个编码单元的块形状和分割形状。最大编码单元中所包括的编码单元的尺寸可以根据块形状和分割形状来可变地设置。
一个或多个编码单元的块形状和分割形状可以基于计算得到的率失真(R-D)成本来确定。可以针对每个图片或切片不同地确定块形状和分割形状,或者可以根据每个最大编码单元不同地确定块形状和分割形状。所确定的块形状和分割形状与每个编码单元的图像数据一起从块确定器110输出。
根据实施例,从最大编码单元分割的编码单元可以根据块形状和分割形状来表征。下面将参考图13至图26更详细地描述根据块形状和分割形状确定编码单元的方法。
根据实施例,可以基于不同尺寸的处理单元来预测或变换最大编码单元中所包括的编码单元(例如,通过将像素域的值转换成频域的值)。换句话说,图像编码设备100可以基于各种尺寸和形状的处理单元来执行多个处理操作以编码图像。可以执行诸如预测、变换和熵编码的处理操作以编码图像数据,并且可以在所有操作中使用相同尺寸的处理单元,或者可以在每个操作中使用不同尺寸的处理单元。
根据实施例,编码单元的预测模式可以包括帧内模式、帧间模式和跳过模式中的至少一者,并且特定预测模式可以仅针对特定尺寸或形状的编码单元来执行。根据实施例,可以通过对每个编码单元执行预测来选择具有最小编码误差的预测模式。
图像编码设备100可以基于尺寸不同于编码单元的尺寸的处理单元来变换图像数据。编码单元可以基于尺寸小于或等于编码单元的尺寸的数据单元来进行变换。
根据实施例,图像编码设备100可以通过使用基于拉格朗日乘数的R-D优化来测量编码单元的编码误差。
根据实施例,编码单元的预测模式可以包括帧内模式、帧间模式和跳过模式中的至少一者,并且特定预测模式可以仅针对特定尺寸或形状的编码单元来执行。根据实施例,可以通过对每个编码单元执行预测来选择具有最小编码误差的预测模式。
帧内预测器120对输入图像105中的帧内模式的块执行帧内预测,并且帧间预测器115通过使用输入图像105和从重构图片缓冲器125获得的参考图片来对帧间模式的块执行帧间预测。可以针对每个块确定是执行帧内预测还是帧间预测。图像编码设备100可以编码与预测相关的信息(例如,每个编码单元的预测模式)。
通过计算输入图像105的编码单元的数据与从帧内预测器120或帧间预测器115输出的每种模式的编码单元的预测数据之间的差值来生成残留数据。通过变换器130和量化器135将残留数据输出作为每个变换单元的量化变换系数。通过使用逆量化器140和逆变换器145来将量化变换系数重构为空间域的残留数据。恢复的空间域的残留数据被添加到从帧内预测器120或帧间预测器115输出的每个模式的编码单元的预测数据,并且从而被重构为输入图像105的编码单元的空间域的数据。重构的空间域的数据通过环内滤波单元150生成为重构图像。
如下所述,根据实施例的环内滤波单元150可以执行基于深度神经网络(DNN)滤波器模型的环内滤波。根据实施例的基于DNN滤波器模型的环内滤波可以包括解块滤波(DF)、样本自适应偏移(SAO)和自适应环路滤波(ALF)中的至少一个操作。可以针对每个像素或块(例如,最大编码单元或编码单元)执行根据实施例的基于DNN滤波器模型的环内滤波。
生成的重构图像存储在重构图片缓冲器125中。重构图片缓冲器125中所存储的重构图像可以用作其他图像的帧间预测的参考图像。由变换器130和量化器135量化的变换系数可以通过熵编码器155输出到比特流160。
编码残留数据的结果可以包括在从图像编码设备100输出的比特流160中。此外,编码关于块形状、分割形状、变换单元的尺寸等的信息的结果可以包括在比特流160中。
图2是根据实施例的图像解码设备200的详细框图。
根据实施例的图像解码设备200执行用于解码图像的操作。根据实施例的图像解码设备200包括接收器210、块确定器215、熵解码器220、逆量化器225、逆变换器230、帧间预测器235、帧内预测器240、重构图片缓冲器245和环内滤波单元250。
图2的接收器210接收编码图像的比特流205。
根据实施例,块确定器215可以基于用于解码图像的块的最大尺寸来将当前图片的图像数据分割成最大编码单元。每个最大编码单元可以包括根据块形状和分割形状分割的块(即,编码单元)。根据实施例的块确定器215可以从比特流205获得分割信息,并且可以根据块形状和分割形状分级地分割空间域的图像数据。当用于解码的块具有特定形状和尺寸时,块确定器215可以在不使用分割信息的情况下分割图像数据。根据实施例的块确定器215可以对应于图1的块确定器110。
熵解码器220从比特流205获得待解码的编码图像数据和解码所必需的编码信息。所述编码图像数据是量化变换系数,并且逆量化器225和逆变换器230从所述量化变换系数重构残留数据。
帧内预测器240对帧内模式的块执行帧内预测。帧间预测器235通过使用从重构图片缓冲器245获得的参考图片来对帧间模式的块执行帧间预测。可以针对每个块确定是执行帧内预测还是帧间预测。图像解码设备200可以从比特流205获得与预测相关的信息(例如,每个编码单元的预测模式)。
通过将使用帧内预测器240或帧间预测器235获得的每个块的预测数据添加到残留数据来重构块的空间域的数据,并且可以通过使用环内滤波单元250来将重构的空间域的数据输出为重构图像。
如下所述,根据实施例的环内滤波单元150可以执行基于DNN滤波器模型的环内滤波。根据实施例的基于DNN滤波器模型的环内滤波可以包括DF、SAO和ALF中的至少一个操作。可以针对每个像素或块(例如,最大编码单元或编码单元)执行根据实施例的基于DNN滤波器模型的环内滤波。
用于每个块的图像压缩技术的问题在于,重构的图像的图像质量由于量化误差而劣化。为了解决这个问题,多种图像压缩标准技术都使用环内滤波器。
例如,在H.264/AVC压缩标准中,环内滤波方法包括用于去除成块伪像的DF。
例如,HEVC标准中的环内滤波方法额外包括用于补偿由于有损压缩(诸如量化)以及DF而发生的信息丢失的SAO。SAO是一种用于去除重构图像的振铃(ringing)的方法。SAO是针对每个像素(例如,每个样本)处理的技术,并且通过经由统计分析执行RDO来获得最佳偏移,从而对重构像素执行内插。在HEVC标准中,首先将DF应用于重构图像,并且接着对完成DF的重构图像执行SAO。在执行SAO的过程中,可以通过向重构图像添加边缘偏移/带偏移来最小化重构图像与原始图像之间的误差。
例如,环内滤波方法可以包括ALF。ALF可以通过对重构图像应用维纳(Wiener)滤波器来减少原始图像与完成滤波的重构图像之间的误差。
前述环内滤波技术不仅可以改善主观图像质量,还可以通过在帧间预测过程中用作参考图像来改善编码效率。
图3是根据实施例的环内滤波单元的框图。
参考图3,环内滤波单元300可以包括DF单元310、SAO单元320和ALF单元330。
环内滤波单元300可以在高效率(HE)条件下以DF、SAO和ALF的次序对重构图像执行滤波,并且可以在低复杂度(LC)条件下以除ALF之外的DF和SAO的次序执行滤波。
DF单元310可以基于块(例如,编码单元、预测单元或变换单元)中的预定尺寸或更大的数据单元的边界来确定滤波边界。例如,DF单元310可以仅确定尺寸等于或大于32×32的块的边界作为待执行DF的滤波边界,可以仅确定尺寸等于或大于16×16的块的边界作为待执行DF的滤波边界,或者可以仅确定尺寸等于或大于8×8的块的边界作为待执行DF的滤波边界。同时,当边界是帧边界时,DF单元310不将具有预定尺寸或更大的数据单元的边界确定为滤波边界。也就是说,不对与图片边缘对应的最外边界执行DF。
DF单元310基于相邻像素基于滤波边界所属的编码单元的预测模式以及与滤波边界相邻的像素的变换系数值来确定滤波边界处的滤波强度。
DF单元310基于相邻像素基于滤波边界所属的编码单元的预测模式是帧内模式还是帧间模式以及与滤波边界相邻的像素的变换系数值是否为0来确定滤波强度。当BS表示边界强度时,BS可以被分类为从0到2的三个级别。BS的大小与滤波强度成比例。换句话说,当BS=2时,滤波强度最强,并且当BS=0时,滤波强度最弱。这里,当BS=0时,可以不执行DF。
DF单元310可以基于所确定的滤波强度以及将预定阈值和基于滤波边界的预定数量的相邻像素的像素值的绝对值之间的差值进行比较的结果来确定是否对滤波边界执行DF。详细地说,仅当与滤波边界相邻并且基于滤波边界划分的像素的像素值之间的差值的绝对值和基于滤波边界与同一侧相邻的像素的像素值之间的差值的绝对值小于根据像素所属的变换单元的量化参数(QP)确定的预定阈值并且滤波强度不是最弱时,DF单元310才确定执行DF。所述阈值可以基于在与滤波边界邻近的块的量化期间所使用的QP来预先确定。
关于待执行DF的边界,DF单元310基于滤波强度、与滤波边界相邻并基于滤波边界划分的像素的像素值之间的差值的绝对值以及基于滤波边界与同一侧相邻的像素的像素值之间的差值的绝对值来确定与滤波边界相邻的待滤波的像素的数量和滤波器抽头系数。此外,DF单元310通过基于滤波器抽头系数经由加权和改变待滤波的像素的像素值来执行滤波。
DF单元310可以通过使用从比特流获得的关于DF的信息来执行DF。关于DF的信息可以包括滤波边界确定信息,诸如用于根据树结构从数据单元的边界确定执行DF的数据单元的数据单元尺寸。
关于DF的信息可以通过序列参数集、图片参数集、视频参数集、切片报头、切片段报头等发信号通知。然而,根据实施例的环内滤波单元150或250可以基于DNN滤波器模型执行环内滤波而不用发信号通知关于DF的信息,如下文所述。
SAO单元320可以接收经过解块滤波的重构图像,并且根据图像中的每个块(例如,每个最大编码单元或每个编码单元)应用SAO以最小化原始像素与重构像素之间的误差。在这种情况下,SAO单元320可以根据当前块的像素值分类方法确定SAO类型。SAO类型可以被确定为边缘类型或带类型。根据当前块的像素值分类方法,可以确定是根据边缘类型还是带类型对当前块的像素进行分类。
当SAO类型是边缘类型时,根据当前块的重构像素与其相邻像素之间形成的边缘的方向和形状,可以确定重构像素与原始像素之间的偏移。
当SAO类型是带类型时,从通过划分当前块的重构像素的像素值的总范围获得的多个带,可以确定每个带中所包括的重构像素与原始像素之间的偏移。可以通过均匀或不均匀地划分像素值的总范围来获得这些带。
因此,SAO单元320可以基于当前块的像素值的空间特征来确定当前块的SAO类型,其指示边缘类型或带类型。
SAO单元320可以根据当前块的SAO类型来确定每个重构像素的SAO类别。SAO类别可以被确定为边缘类别或带类别。
关于边缘类型,边缘类别可以指示在重构像素与其相邻像素之间形成的边缘的方向。边缘类别可以指示0°、90°、45°或135°的边缘方向。
当SAO类型是边缘类型时,SAO单元320可以确定当前块的每个重构像素的边缘类别。
当SAO类型是带类型时,从作为通过划分当前块的像素值的总范围获得的预定数量的连续像素值区间的多个带,带类别可以指示重构像素的像素值所属的带的位置。
例如,关于具有8比特像素值的样本,像素值的总范围是从0到255,并且像素值可以被分类为总共32个带。在这种情况下,从总共32个带,可以确定重构像素的像素值所属的预定数量的带。带类别可以通过使用从0到31的带索引中的一个带索引来指示预定数量的连续带的开始位置(左开始点)。
关于边缘类型,当前块的重构像素可以根据重构像素与其相邻像素之间形成的边缘的形状分类为预定数量的种类。例如,根据四种边缘形状(诸如凹形边缘的局部谷、凹形边缘的弯曲角、凸形边缘的弯曲角和凸形边缘的局部峰),重构像素可以被分类为四个种类。根据当前块的每个重构像素的边缘形状,可以确定所述四个种类中的一者。
关于带类型,根据当前块的重构像素的像素值所属的带的位置,重构像素可以被分类为预定数量的种类。例如,根据从由带类别指示的开始位置(即,最左边带的开始点)开始的四个连续带的带索引,重构像素可以被分类为四个种类。根据当前块的每个重构像素所属的四个带中的一者,可以确定所述四个种类中的一者。
SAO单元320可以确定当前块的每个重构像素的种类。关于属于同一种类的当前块的重构像素,SAO单元320可以通过使用重构像素与原始像素之间的差值来确定偏移值。在每个种类中,重构像素与原始像素之间的差值的平均值,即重构像素的平均误差,可以被确定为对应于当前种类的偏移值。SAO单元320可以确定每个种类的偏移值,并且可以将所有种类的偏移值确定为当前块的偏移值。
例如,当当前块的SAO类型是边缘类型并且重构像素根据边缘形状被分类成四个种类时,或者当当前块的SAO类型是带类型并且重构像素根据四个连续带的索引被分类成四个种类时,SAO单元320可以通过确定属于所述四个种类中的每一者的重构像素与原始像素之间的平均误差来确定四个偏移值。
每个偏移值可以大于或等于预设最小值,并且可以小于或等于预设最大值。
SAO单元320可以发信号通知当前块的SAO参数,其包括SAO类型、SAO类别和偏移值。SAO类型可以包括关闭类型、边缘类型和带类型。
当SAO类型为关闭类型时,其可以指示SAO不应用于当前块。在这种情况下,不需要发信号通知当前块的剩余SAO参数。
当SAO类型是边缘类型时,SAO参数可以包括分别对应于边缘类别的偏移值。当SAO类型是带类型时,SAO参数可以包括分别对应于带的偏移值。
SAO参数可以通过序列参数集、图片参数集、视频参数集、切片报头、切片段报头等来发信号通知。例如,指示是否从SAO参数执行SAO的旗标可以通过序列参数集来发信号通知,并且指示SAO类型、合并旗标、SAO类别和偏移值的信息可以通过SAO语法来发信号通知。然而,根据实施例的环内滤波单元150或250可以基于DNN滤波器模型来执行环内滤波而不发信号通知SAO参数。
ALF单元330发信号通知关于ALF的信息,其包括关于是否将图像划分成块并将ALF应用于每个块的信息以及关于滤波器系数的信息。ALF单元330基于维纳滤波器来操作,并且通过计算用于最小化原始图像与重构图像之间的误差的最佳系数来执行最佳滤波。
滤波器系数信息包括关于每个滤波器(例如,一维滤波器)的滤波器系数的信息,并且每个滤波器的滤波器系数信息可以包括关于连续滤波器系数之间的差值的信息。也就是说,每个滤波器的滤波器系数的残留分量可以被编码并发信号通知。
关于ALF的信息可以包括类型、数量、尺寸、量化比特、系数、滤波方向、是否执行滤波以及是否执行每个滤波器的运行滤波。关于滤波器组的信息可以根据诸如图片、切片或序列的数据单元来设置。
当滤波器的类型是维纳滤波器时,因为滤波器系数可以由滤波器之间的互相关矩阵确定,所以滤波器系数信息可以包括关于互相关矩阵而不是单个系数的信息。
每个滤波器的滤波方向可以是排列在具有预定角度的直线上的像素的滤波方向。例如,可以在具有介于±0°至180°之间的预定角度的滤波方向(例如,角度为±90°的竖直方向、角度为0°或180°的水平方向或角度为±45°或±135°的对角线方向)上执行滤波。
ALF单元330可以根据图像数据中的局部图像的特征自适应地确定每个滤波器的滤波方向。例如,ALF单元330可以检测图像数据中的局部图像的边缘,并且可以根据检测到的边缘的方向确定滤波器以根据滤波方向执行滤波。
ALF单元330可以确定是否执行运行滤波方法,在所述方法中先前像素的滤波结果影响当前像素的滤波。在根据运行滤波方法的滤波中,可以更新先前像素的滤波结果,并且可以通过使用先前像素的滤波数据来执行当前像素的滤波。
关于ALF的信息可以通过序列参数集、图片参数集、视频参数集、切片报头、切片段报头等来发信号通知。然而,根据实施例的环内滤波单元150或250可以基于DNN滤波器模型来执行环内滤波而不发信号通知关于ALF的信息。
尽管SAO单元320可以类似于ALF单元330,因为SAO单元320直接计算并补偿原始图像与重构图像之间的误差,但是因为ALF单元330不在LC条件下使用,所以SAO单元320可以被理解为替代ALF单元330的功能。
图4是根据实施例的环内滤波单元的框图。
参考图4,示出了DNN滤波器模型400。根据实施例的DNN滤波器模型400接收重构图像并输出经过滤波的重构图像。根据实施例的DNN滤波器模型400可以对应于图1的环内滤波单元150或图2的环内滤波单元250。
根据实施例的DNN滤波器模型400执行基于DNN的环内滤波。DNN滤波器模型400是被训练为根据基于构成DNN滤波器模型400的多个网络节点中的每一者的权重和多个网络节点之间的连接关系的操作来补偿重构图像的量化误差的网络模型。
也就是说,作为学习模型的DNN滤波器模型400可以被设计成在计算机上模拟人脑的结构。例如,DNN滤波器模型400可以包括具有权重的多个网络节点,所述多个网络节点模拟人类神经网络的神经元。可以在多个网络节点之间形成连接关系以模拟神经元通过突触接收和传输信号的突触活动。
DNN滤波器模型400可以例如包括AI神经网络模型或基于神经网络模型开发的深度学习网络模型。现在将简要描述神经网络的架构。
神经网络是指建模生物大脑的计算架构。神经网络是使用软件或硬件实现的识别模型,其通过使用经由连接线连接的大量人工神经元来模拟生物系统的计算能力。被称为节点的人工神经元彼此连接,并且共同操作来处理输入数据。
神经网络可以包括输入层、隐藏层和输出层。输入层可以接收用于执行训练的输入并可以将输入传输到隐藏层,并且输出层可以基于从隐藏层的节点接收的信号来生成神经网络的输出。隐藏层可以位于输入层与输出层之间,并且可以将通过输入层传输的训练数据改变为容易预测的值。输入层和隐藏层中所包括的节点可以通过具有连接权重的连接线彼此连接。此外,隐藏层和输出层中所包括的节点可以通过具有连接权重的连接线彼此连接。输入层、隐藏层和输出层中的每一者可以包括多个节点。
神经网络可以包括多个隐藏层。包括多个隐藏层的神经网络被称为DNN,并且DNN的训练被称为深度学习。隐藏层中所包括的节点可以被称为隐藏节点。
DNN具有包括多个隐藏层的多层感知器结构。术语“感知器”是指每个神经元的数学模型(y=Wx+b),并且多层感知器可以通过使用反向传播算法的学习来提高预测准确性。通过使用反向传播算法训练DNN的方法包括:从输入层开始;当通过输出层获得y值时,使用标签值(例如,表示正确答案的数据或与原始数据具有最小误差的数据);在答案不正确的情况下,将值从输出层传输到输入层;以及根据计算出的成本更新W和b值。将参考图5详细描述DNN的结构。
当通过提供特定的输入/输出数据集来训练DNN时,DNN在更高级别上学习所提供的输入/输出数据集的数据模式(data pattern),并且生成推断最类似于原始数据的滤波图像的模型。
根据实施例的环内滤波单元150或250的输入数据集可以是通过重构编码图像来获得的重构数据。
根据实施例的环内滤波单元150或250的输出数据集可以是最小化原始数据与经过滤波的重构数据之间的误差(例如,由于有损压缩(诸如量化)而发生的误差)的数据。在这种情况下,可以通过使用参考图3描述的DF、SAO和ALF中的至少一种滤波方法来接收输出数据集。原始数据与经过滤波的重构数据之间的误差可以基于R-D成本来测量。
这样,当基于被训练为生成在原始数据与经过滤波的重构数据之间具有最小误差的数据的DNN滤波器模型来执行环内滤波时,不需要参考图3描述的发信号通知关于DF的信息以及关于ALF和SAO参数的信息。这是因为经过训练的DNN滤波器模型具有分析输入模式(input pattern)、找到输入模式的特征并且执行最佳滤波的泛化能力。根据实施例的基于DNN滤波器模型的环内滤波使用被训练为最小化经过环内滤波的重构数据与原始数据之间的误差的DNN。
根据实施例的DNN滤波器模型400可以发信号通知滤波器信息。例如,图像解码设备200可以基于从图像编码设备100获得的滤波器信息来选择适合于要滤波的图像的DNN滤波器模型,并且可以应用所述DNN滤波器模型。
根据实施例的滤波器信息可以包括关于编码图像的误差特征的信息。此外,关于误差特征的信息可以包括关于图像和QP的信息及图像和QP的内容类型中的至少一者。根据实施例的内容类型可以指示根据预定标准分类的种类。根据图像的误差特征,内容类型的示例可以包括计算机图形、一般图像、运动模糊和纹理。根据实施例的内容类型可以由图像编码设备100基于图像的像素复杂度和运动程度中的至少一个指标来确定。
根据实施例的DNN滤波器模型400可以通过使用滤波器信息来从DNN滤波器模型候选者中确定一个DNN滤波器模型。在这种情况下,可以根据内容类型和/或压缩强度(或QP)预设DNN滤波器模型候选者。例如,根据内容类型和/或压缩强度的DNN滤波器模型候选者可以根据预定义规则在图像解码设备200中预设。
将参考图7详细描述DNN滤波器模型候选者和DNN滤波器模型的确定。
DNN滤波器模型400可以被实现为软件模块。当DNN滤波器模型400被实现为软件模块(例如,包括指令的程序模块)时,DNN滤波器模型400可以存储在计算机可读记录介质中。
此外,DNN滤波器模型400可以集成为硬件芯片,并且可以成为图像编码设备100或图像解码设备200的一部分。例如,DNN滤波器模型400可以被制造为用于AI的专用硬件芯片,或者可以被制造为现有的通用处理器(例如,中央处理单元(CPU)或应用处理器)或图形处理器(例如,图形处理单元(GPU))的一部分。
此外,DNN滤波器模型400可以作为可下载软件被提供。计算机程序产品可以包括作为软件程序通过电子市场或者图像编码设备100或图像解码设备200的制造商以电子形式分发的产品(例如,可下载应用程序)。对于电子分发,软件程序的至少一部分可以存储在存储介质中或者可以临时生成。在这种情况下,存储介质可以是制造商的服务器、电子市场的服务器或中继服务器的存储介质。
图5是示出DNN的结构的图。
参考图5,示出了重构数据510、DNN 520和经过环内滤波的重构数据530。
重构数据510可以作为训练数据输入到DNN 520的输入层。通过DNN 520的输入层传输的数据可以在隐藏层中改变成容易预测的值。隐藏层通过具有连接权重的连接线连接在输入层与输出层之间。DNN 520的输出层可以基于从隐藏层的节点接收的信号来生成输出,即经过环内滤波的重构数据530。输入层、隐藏层和输出层中的每一者可以包括多个节点,并且DNN 520可以通过多个节点之间的算法生成重构数据510与经过环内滤波的重构数据530之间的映射。当DNN 520被训练为输出与原始数据具有最小误差的经过环内滤波的重构数据530时,DNN 520具有针对不用于训练的输入模式生成相对正确的输出的泛化能力。
根据实施例的DNN 520可以包括一组层,该一组层包括卷积池化层、隐藏层和全连接层。例如,可以将DNN 520的整体结构形成为使得隐藏层连接到卷积池化层,并且全连接层连接到隐藏层。
根据实施例,DNN 520可以被实现为包括卷积层的卷积神经网络(CNN)。
适合于图像分析的CNN可以具有如下结构,其中集成了从给定图像数据自我学习具有最大辨别力的特征的特征提取层和基于所提取的特征来学习预测模型以展现最高预测性能的预测层。
特征提取层可以具有卷积层和池化层交替重复多次的结构,其中,卷积层通过对图像的每个区域应用多个滤波器来创建特征图,池化层能够通过空间整合特征图来提取不随位置改变或旋转而改变的特征。这使得能够提取各种级别的特征,从诸如点、线、表面等的低级特征到复杂且有意义的高级特征。
卷积层通过对滤波器的内积和输入图像的每个碎片的局部感受野采用非线性激活函数来获得特征图,并且与其他网络结构相比,CNN使用具有共享权重和稀疏连接性的滤波器。这种连接结构减少了要训练的参数数量,并且通过反向传播算法使训练高效,从而提高了预测性能。
池化层(或子采样层)通过利用从先前卷积层获得的特征图的区域信息来创建新的特征图。一般来说,由池化层新创建的特征图被减小到小于原始特征图的尺寸,并且代表性整合方法包括用于选择特征图中的对应区域的最大值的最大池化以及用于获得特征图中的对应区域的平均值的平均池化。相对于先前层的特征图来说,池化层的特征图通常可以较少受到输入图像中存在的图案的特定结构或位置的影响。也就是说,池化层可以提取对输入图像或先前特征图中的诸如噪声或失真的局部变化更稳健的特征,并且所述特征可以在分类性能中发挥重要作用。池化层的另一个作用是当从深层结构到上层学习层时反映更宽区域的特征,并且当特征提取层累积时,可以生成反映下层中的局部特征并向上层反映整个抽象图像的特征的特征图。
关于通过卷积层和池化层的重复最终提取的特征,诸如多层感知(MLP)或支持向量机(SVM)的分类模型以全连接层的形式组合,用于分类模型训练和预测。
DNN可以实现为各种网络中的任一者。例如,DNN可以实现为但不限于CNN、递归神经网络(RNN)、深层信念网络(DBN)或受限玻尔兹曼机(RBM)。
图6a至图6f是示出各种CNN的结构的图。
参考图6a,示出了根据实施例的基本CNN的结构。
参考图6a,输入数据610通过CNN 620的输入层输入,并且输出数据630通过CNN620的输出层输出。
根据实施例的输入数据610可以是重构数据,并且输出数据630可以是经过环内滤波的重构数据。
可以在输入层与输出层之间提供多个隐藏层。构成隐藏层的每个层可以包括卷积层和子采样层。卷积层通过使用卷积滤波器来对输入到每个层的图像数据执行卷积操作,并且生成特征图。在这种情况下,特征图是指代表各种特征的图像数据。子采样层通过采样或池化来减小特征图的尺寸。CNN 620的输出层通过组合特征图中所表示的各种特征来分类图像数据的类别。在这种情况下,输出层可以包括全连接层。
根据实施例的CNN的结构(例如,隐藏层的数量以及每个层中的滤波器的数量和尺寸)是预先确定的,并且通过使用已经知道正确分类的数据来将每个层中的滤波器(明确地说,卷积滤波器)的权重矩阵设置为适当值。已经知道正确分类的数据被用作“训练数据”。在这种情况下,确定滤波器的权重矩阵的过程称为“训练”。
例如,在CNN 620的结构中,每层滤波器数量可以是64,并且每个滤波器的尺寸可以是3×3。此外,例如,在CNN 620的结构中,总层数可以是10。然而,上述实施例仅仅是一个示例,并且隐藏层数量、每个层中的滤波器的数量和尺寸可以以各种方式进行修改。
参考图6b,示出了根据另一实施例的CNN的结构。
图6b的CNN 640可以是包括多个平行层的网络。也就是说,多个卷积层和池化层可以平行布置。在CNN 640中,从先前层输出的结果可以输入到多个分离的平行层。多个分离的平行层可以应用不同的滤波器。例如,可以将多个分离的平行层减小到1×1卷积,并且接着可以应用3×3或5×5卷积。在另一个层中,可以执行3×3最大池化,并且接着可以应用卷积。仅使用1×1卷积的层可以用作用于维持初始信息的身份环路。执行卷积的多个平行层可以最终级联,并且可以作为当前层的计算结果输出。根据CNN 640,层不需要总是按序堆叠。CNN 640的结构基于如下事实,即具有非顺序优化结构的网络比具有顺序结构的网络具有更小误差。
参考图6c,示出了根据另一实施例的CNN的结构。
图6c的CNN 650是使用跳过层概念的网络。CNN 650具有将过去层的输入添加到当前层的输出的结构。在CNN 650中,通过将当前层和过去层的输出相加来获得的结果可以成为下一层的输入。在一般CNN结构中,通过多个层中的卷积和池化过程,结果值可能过小。在这种情况下,结果值的详细信息可能会消失。CNN 650可以通过在卷积和池化过程中再使用过去结果来增强细节部分。
参考图6d,示出了根据另一实施例的CNN的结构。
图6d的CNN 660是使用跳过层概念的网络,类似于图6c的CNN650。然而,CNN 660中的层之间的关系比CNN 650中的层之间的关系更紧密,因为过去结果可以被添加作为任意位置处的层的输入。此外,CNN 660可以使用过去层通过卷积运算计算出的结果作为任意位置处的层的输入。
参考图6e,示出了根据另一实施例的CNN的结构。
图6e的CNN 670是使用多分辨率金字塔结构的网络。CNN 670可以将先前卷积层的结果划分成多级金字塔。例如,分辨率可以在第一级处不缩放,可以在第二级处缩放到1/2×1/2,并且可以在第三级处缩放到1/4×1/4。所述多个级的结果可以被级联,并且可以被用作全连接层的输入。虽然卷积层不受图像尺寸的影响,但是因为全连接层受输入图像尺寸的限制,所以在正常网络中输入图像的尺寸必须是固定的。然而,像在CNN 670中那样,当在金字塔等级的多个级处输出的特征被用作全连接层的输入并且金字塔的输出被预先确定而与图像尺寸无关时,全连接层可以不受图像尺寸的限制。
参考图6f,示出了根据另一实施例的CNN的结构。
图6f的CNN 680是具有在非线性函数ReLu之前或之后执行批量归一化的结构的网络。批量归一化层位于隐藏层的前端并且控制输入的分布。此外,因为批量归一化层是吸收在网络中的层,所以可以通过反向传播来优化相关变量(例如,标度和移位)。一种改善输入分布的方法可以是将输入到每个层的数据的平均值和方差归一化为0和1、乘以标度变量(γ)并且将数据与移位变量(β)相加的方法。在这种情况下,可以通过训练来确定标度和移位变量。CNN 680可以通过归一化卷积结果来防止诸如梯度消失或梯度爆炸的问题。此外,可以通过批量归一化来减少训练时间,并且可以提高训练的准确性。
在所述实施例中,可以应用参考图6a至图6f描述的具有各种结构的CNN,并且还可以应用其组合或与众所周知的学习网络的组合。因此,应当注意,具有各种结构的CNN仅仅是为了便于解释的示例,并且具有各种修改结构的CNN可以用于本实施例中。
如参考图4所述,可以针对图像的每个内容类型和每个QP训练DNN滤波器模型400的DNN。现在将描述使用针对每个内容类型和每个QP训练的DNN的方法。
图7是示出根据实施例的DNN滤波器模型候选者的图。
参考图7,示出了DNN滤波器模型候选者712、714、716、722、724、726、732、734和736。
根据实施例的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736可以根据内容类型710、720和730来分类。例如,DNN滤波器模型候选者712、714、716、722、724、726、732、734和736中的每一者可以被训练为对预设内容类型执行环内滤波。环内滤波类型、滤波强度等可以根据图像的误差特征而变化。在这种情况下,图像的误差特征可以根据图像的内容的类型(例如,计算机图形、一般图像、运动模糊或纹理)而变化。这是因为根据编码的压缩比和主观图像质量劣化程度可以根据内容类型710、720和730而变化。
一般来说,内容类型的压缩难度可能以计算机图形、一般图像、运动模糊和纹理的次序增加。因此,用于处理计算机图形的DNN滤波器模型的网络结构可能是最简单的,而用于处理纹理的DNN滤波器模型的网络结构可能是最复杂的。当DNN滤波器模型的网络结构的复杂性增加时,意味着构成网络的层的深度可能增加或者应用于每个层的掩模(即,通道)的数量可能增加。
详细地说,在编码端处,可以根据图像的内容类型710、720和730确定压缩强度或QP值。当压缩强度或QP值增加时,生成的比特数减少,从而降低图像质量。明确地说,当传输压缩图像时,可以考虑每秒的比特数来确定压缩强度或QP值。例如,当传输信道中可以支持的每秒的比特数较低时,必须通过使用相对较高的压缩强度或QP值来提高压缩比。
此外,因为考虑到人类视觉系统,诸如峰值信噪比(PSNR)的客观图像质量在图像质量方面可能不准确,所以人们感觉到的图像质量可能根据内容类型710、720和730而变化。因为人眼实际上具有多种特征,所以通过简单地在信号方面使用误差量来测量的图像质量和实际上感觉到的主观图像质量是彼此不同的。用于在主观图像质量方面确定最佳QP值的R-D优化模型可以相对于参考像素的环境亮度对亮度对比度进行建模。例如,即使当通过使用相同的压缩强度或QP值来压缩图像时,当图像的内容类型710、720和730是纹理时的主观图像质量劣化也可能大于当内容类型710、720和730是计算机图形时的主观图像质量劣化。
所公开的实施例基于如下事实,即图像的误差特征可以根据内容类型710、720和730而变化。所公开的实施例可以使用指示图像的内容类型(例如,内容类型710、720或730)的滤波器信息,以便根据内容类型710、720和730有效地补偿具有不同特征的误差。
根据实施例的环内滤波单元150或250可以包括根据内容类型710、720和730预先训练的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736。例如,DNN滤波器模型候选者712、714、716、722、724、726、732、734和736可以被预设,并且可以存储在图像编码设备100或图像解码设备200中。根据实施例的环内滤波单元150或250可以从准备好的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736中选择适合于当前图像的内容类型710、720和730的DNN滤波器模型,并且可以通过使用所选择的DNN滤波器模型来执行环内滤波。根据实施例的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736可以各自具有根据内容类型710、720和730训练为最小化经过环内滤波的重构数据与原始数据之间的误差的结构。
根据实施例的环内滤波单元150或250可以发信号通知滤波器信息,滤波器信息包括关于内容类型710、720和730的信息。环内滤波单元150或250可以从根据内容类型710、720和730的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736中确定对应于由滤波器信息指示的内容类型710、720和730的DNN滤波器组,其中,根据内容类型710、720和730的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736是根据内容类型710、720和730预设的。
例如,在内容类型710的情况下,环内滤波单元150或250可以从DNN滤波器模型候选者712、714、716、722、724、726、732、734和736中选择DNN滤波器模型候选者712、714和716。环内滤波单元150或250可以根据QP值从DNN滤波器模型候选者712、714和716中选择DNN滤波器模型,即,从应用于低QP值的DNN滤波器组712、应用于中间QP值的DNN滤波器组714和应用于高QP值的DNN滤波器模型716中选择。现在将描述根据QP值对DNN滤波器模型进行分类的实施例。
根据实施例的环内滤波单元150或250认为图像的误差特征可以根据QP值而变化。
环内滤波类型、滤波强度等可以根据用于压缩对应图像的QP值而变化。因此,根据实施例的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736可以根据QP值进行分类。根据实施例的环内滤波单元150或250可以从DNN滤波器模型候选者712、714、716、722、724、726、732、734和736中选择适合于当前图像的QP值的DNN滤波器模型,并且可以通过使用所选择的DNN滤波器模型来执行环内滤波。
根据实施例的滤波器信息除了关于内容类型710、720和730的信息之外还可以包括指示QP值的信息。环内滤波单元150或250可以从根据QP的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736中确定对应于由滤波器信息指示的QP的DNN滤波器模型,其中,根据QP的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736是根据QP预设的。根据实施例的DNN滤波器模型候选者712、714、716、722、724、726、732、734和736可以具有根据QP训练为最小化经过环内滤波的重构数据与原始数据之间的误差的结构。
例如,在低QP值的情况下,环内滤波单元150或250可以从DNN滤波器模型候选者712、714、716、722、724、726、732、734和736中选择DNN滤波器模型候选者712、722和732。在这种情况下,当滤波器信息指示内容类型710时,环内滤波单元150或250可以从DNN滤波器模型候选者712、722和732中选择DNN滤波器模型712,并且可以通过使用所选择的DNN滤波器模型712来执行环内滤波。
根据实施例的滤波器信息可以由图像编码设备100确定。根据实施例的图像编码设备100可以通过确定输入图像的特征来确定内容类型710、720和730以及QP。根据实施例的图像编码设备100可以通过编码滤波器信息来生成比特流,其中,滤波器信息包括包括关于内容类型710、720和730的信息和关于QP的信息。
根据实施例的图像解码设备200可以从比特流获得滤波器信息。根据实施例的图像解码设备200可以基于滤波器信息中所包括的关于内容类型710、720和730的信息和关于QP的信息来确定待应用于环内滤波的DNN滤波器模型。
根据实施例的滤波器信息可以在被包括在序列参数集、图片参数集、视频参数集、切片报头、切片段报头等中之后被发信号通知。
图8是示出根据实施例的通过使用至少一个参考图像来执行基于DNN滤波器模型的环内滤波的方法的图。
参考图8,示出了重构图片缓冲器810和DNN滤波器模型820。
根据实施例的DNN滤波器模型820可以对应于环内滤波单元150或250。在当前图像之前重构的图像(例如,过去图像或未来图像)可以存储在根据实施例的重构图片缓冲器810中以用作用于帧间预测的参考图像。
根据实施例,DNN滤波器模型820可以通过使用存储在重构图片缓冲器810中的一个或多个参考图像来提高当前帧的预测准确度。存储在重构图片缓冲器810中的一个或多个参考图像可以被输入到根据实施例的DNN滤波器模型820。根据实施例的DNN滤波器模型820可以确定被参考用于重构数据的环内滤波的一个或多个参考图像,并且可以通过参考所述一个或多个参考图像来补偿重构数据的误差。
根据实施例的DNN滤波器模型820可以具有被训练为最小化经过环内滤波的重构数据与原始数据之间的误差的结构。经过训练的DNN滤波器模型820具有分析所输入的一个或多个参考图像的模式、找到并使用所述模式的特征并且最优地滤波当前图像的重构数据的泛化能力。因此,根据实施例的DNN滤波器模型820不需要发信号通知用于通过参考图像预测当前图像的预测信息(例如,运动向量、预测方向或参考图片索引)。
根据实施例的DNN滤波器模型820的网络结构可以包括一组层,该一组层包括卷积池化层、隐藏层和全连接层。例如,在整个网络结构中,隐藏层可以连接到卷积池化层,并且全连接层连接到隐藏层。
根据实施例的DNN滤波器模型820的网络结构与参考图5描述的网络结构相同,并且因此将不给出对DNN的结构的详细说明。
图9是根据实施例的图像编码设备900的框图。
根据实施例的图像编码设备900可以对应于图1的图像编码设备100。
参考图9,图像编码设备900包括编码器910和传输器920。
根据实施例的编码器910可以根据编码单元的最大尺寸将当前图片的图像数据分割成最大编码单元。每个最大编码单元可以包括基于块形状和分割形状分割的块(即,编码单元)。根据实施例的包括在最大编码单元中的空间域中的图像数据可以根据块形状和分割形状进行分级地分类。编码单元的块形状可以是正方形、矩形或任何几何形状,并且因此不限于特定尺寸的数据单元。可以基于计算得到的R-D成本来确定一个或多个块的块形状和分割形状。
根据实施例的编码器910可以确定输入图像的特征,并且可以确定内容类型和QP。根据实施例的编码器910可以通过编码包括关于内容类型的信息和关于QP的信息的滤波器信息来生成比特流。
根据实施例的编码器910可以通过基于经过环内滤波的重构数据对输入图像执行预测来生成预测数据。根据实施例的编码器910可以通过使用预测数据和输入图像的数据来生成残留数据。根据实施例的编码器910可以通过变换并量化残留数据来生成量化变换系数。在这种情况下,可以针对每个块生成量化变换系数。根据实施例的编码器910可以输出通过对量化变换系数进行熵编码来获得的比特流。
根据实施例,可以通过基于DNN滤波器模型对从编码的残留数据重构的重构数据执行环内滤波来生成经过环内滤波的重构数据。已经参考图4至图8描述了根据实施例的基于DNN滤波器模型的环内滤波的详细过程,并且因此将不给出其详细说明。
根据实施例的传输器920将从编码器910输出的比特流传输到图像解码设备200。
图10是根据实施例的图像解码设备1000的框图。
根据实施例的图像解码设备1000可以对应于图2的图像解码设备200。
参考图10,图像解码设备1000包括接收器1010和解码器1020。
根据实施例的接收器1010接收编码比特流。
编码比特流包括多个网络抽象层(NAL)单元。NAL单元不仅可以包括诸如编码切片的编码样本数据,还可以包括诸如参数集数据、切片报头数据或补充增强信息(SEI)数据的高级语法元数据。
参数集可以是包括基本语法元素的高级语法结构,其可以应用于多个比特流层(例如,视频参数集(VPS)),可以应用于一个层内的编码视频序列(例如,序列参数集(SPS)),或者可以应用于一个编码视频序列内的多个编码图片(例如,图片参数集(PPS))。参数集可以与比特流的编码图像一起传输,或者可以通过包括可靠信道、硬编码、带外传输等的其他方式传输。
切片报头可以是包括用于切片或图片类型的图片相关信息的高级语法结构。
SEI消息可以携带解码过程可能不需要但是可以用于各种其他目的(诸如图片输出时序或显示、丢失检测和隐藏)的信息。
根据实施例,用于执行基于DNN的环内滤波的额外信息可以包括在编码比特流中所包括的参数集中。根据实施例的额外信息可以包括关于DNN滤波器模型的结构的信息(例如,关于滤波器组和节点数量的信息),以及关于重构数据的信息(例如,关于编码图像的误差特征的信息、编码图像的内容类型和关于QP的信息)。例如,额外信息可以通过VPS、SPS、PPS等在比特流中发信号通知。根据实施例的解码器1020可以从比特流获得分割信息,并且可以根据块形状和分割形状对空间区域的图像数据进行分级的分割。当用于解码的块具有特定形状和特定尺寸时,解码器1020可以在不使用分割信息的情况下分割图像数据。
根据实施例,解码器1020通过逆量化和逆变换通过对比特流进行熵解码而获得的量化变换系数来获得每个块的残留数据。接下来,解码器1020通过使用由预测器(例如,如图2中所示的帧内预测期240或帧间预测器235)生成的每个块的预测数据和每个块的残留数据来重构图像。
根据实施例,解码器1020对通过重构图像生成的重构数据执行环内滤波。在这种情况下,由解码器1020执行的环内滤波操作可以基于DNN滤波器模型。
根据实施例,解码器1020可以从比特流获得关于重构数据的滤波器信息。解码器1020基于滤波器信息来从用于环内滤波的预设DNN滤波器模型候选者中选择用于补偿重构数据的误差的DNN滤波器模型。解码器1020可以通过使用所选择的DNN滤波器模型来执行基于DNN滤波器模型的对重构数据的环内滤波。
尽管关于重构数据的滤波器信息可以通过比特流传输,但是滤波器信息可以在图像编码设备100与图像解码设备200之间预先共享。此外,关于重构数据的滤波器信息可以通过可以通信的独立服务器共享。
根据实施例,解码器1020可以执行基于以下DNN的环内滤波,该DNN被训练来生成在原始数据与经过滤波的重构数据之间具有最小误差的数据。在这种情况下,不需要参考图3描述的发信号通知关于DF的信息以及关于ALF和SAO参数的信息。这是因为经过训练的DNN滤波器模型具有分析输入模式、找到输入模式的特征并且执行最佳滤波的泛化能力。已经参考图4至图8描述了根据实施例的基于DNN滤波器模型的环内滤波的详细过程,并且因此将不给出其详细说明。
图11是示出根据实施例的包括基于DNN滤波器模型的环内滤波过程的图像编码方法的流程图。
在操作S1110中,图像编码设备100确定输入图像的内容类型。
在操作S1120中,图像编码设备100基于内容类型来确定被训练为通过使用至少一个计算机来执行环内滤波的DNN滤波器模型。
在操作S1130中,图像编码设备100通过将从编码的残留数据重构的输入图像的重构数据应用于所确定的DNN滤波器模型来生成经环内滤波的数据。
在操作S1140中,图像编码设备100基于经环内滤波的数据生成预测输入图像的预测数据,并且通过使用输入图像和预测数据来生成残留数据。
在操作S1150中,图像编码设备100通过编码残留数据和关于内容类型的信息来生成比特流。
在操作S1160中,传输所生成的比特流。
图12是示出根据实施例的包括基于DNN滤波器模型的环内滤波过程的图像解码方法的流程图。
在操作S1210中,图像解码设备200接收编码图像的比特流。
在操作S1220中,图像解码设备200通过重构编码图像来生成重构数据。
在操作S1230中,图像解码设备200从比特流获得关于编码图像的内容类型的信息。
在操作S1240中,图像解码设备200基于关于内容类型的信息来确定被训练为通过使用至少一个计算机来执行环内滤波的DNN滤波器模型。
在操作S1250中,图像解码设备200通过将重构数据应用于所确定的DNN滤波器模型来执行环内滤波。
现在将参考图13至图26描述根据实施例的确定图像的数据单元的方法。参考图13至图26描述的分割编码单元的方法还可以应用于分割作为变换标准的变换单元的方法。
图13示出了根据实施例的由图像解码设备200执行的通过分割当前编码单元来确定至少一个编码单元的过程。
根据实施例,图像解码设备200可以通过使用块形状信息来确定编码单元的形状,并且可以通过使用分割形状信息来确定编码单元的分割方法。也就是说,由分割形状信息指示的编码单元分割方法可以基于由图像解码设备200所使用的块形状信息指示的块形状来确定。
根据实施例,图像解码设备200可以使用指示当前编码单元具有正方形形状的块形状信息。例如,图像解码设备200可以基于分割形状信息来确定是否分割正方形编码单元、是否竖直分割正方形编码单元、是否水平分割正方形编码单元或者是否将正方形编码单元分割成四个编码单元。参考图13,当当前编码单元1300的块形状信息指示正方形形状时,图像解码设备200可以基于指示不执行分割的分割形状信息来确定与当前编码单元1300具有相同尺寸的编码单元1310a不被分割,或者可以基于指示预定分割方法的分割形状信息来确定编码单元1310b、1310c或1310d被分割。
参考图13,根据实施例,图像解码设备200可以基于指示在竖直方向上执行分割的分割形状信息来确定通过在竖直方向上分割当前编码单元1300获得的两个编码单元1310b。图像解码设备200可以基于指示在水平方向上执行分割的分割形状信息来确定通过在水平方向上分割当前编码单元1300获得的两个编码单元1310c。图像解码设备200可以基于指示在竖直和水平方向上执行分割的分割形状信息来确定通过在竖直和水平方向上分割当前编码单元1300获得的四个编码单元1310d。然而,正方形编码单元的分割方法不限于上述方法,并且分割形状信息可以指示各种方法。下面将关于各种实施例详细描述分割正方形编码单元的预定分割方法。
图14示出了根据实施例的由图像解码设备200执行的通过分割非正方形编码单元来确定至少一个编码单元的过程。
根据实施例,图像解码设备200可以使用指示当前编码单元具有非正方形形状的块形状信息。图像解码设备200可以基于分割形状信息确定是否分割非正方形当前编码单元或者是否通过使用预定分割方法来分割非正方形当前编码单元。参考图14,当当前编码单元1400或1450的块形状信息指示非正方形形状时,图像解码设备200可以基于指示不执行分割的分割形状信息来确定与当前编码单元1400或1450具有相同尺寸的编码单元1410或1460不被分割,或者基于指示预定分割方法的分割形状信息来确定编码单元1420a和1420b、1430a至1430c、1470a和1470b或1480a至1480b被分割。下面将关于各种实施例详细描述分割非正方形编码单元的预定分割方法。
根据实施例,图像解码设备200可以通过使用分割形状信息来确定编码单元的分割方法,并且在这种情况下,分割形状信息可以指示通过分割编码单元生成的一个或多个编码单元的数量。参考图14,当分割形状信息指示将当前编码单元1400或1450分割成两个编码单元时,图像解码设备200可以通过基于分割形状信息分割当前编码单元1400或1450来确定当前编码单元1400或1450中所包括的两个编码单元1420a和1420b或1470a和1470b。
根据实施例,当图像解码设备200基于分割形状信息分割非正方形当前编码单元1400或1450时,可以考虑非正方形当前编码单元1400或1450的长边的位置。例如,图像解码设备200可以考虑当前编码单元1400或1450的形状而通过划分当前编码单元1400或1450的长边来确定多个编码单元。
根据实施例,当分割形状信息指示将编码单元分割成奇数个块时,图像解码设备200可以确定当前编码单元1400或1450中所包括的奇数个编码单元。例如,当分割形状信息指示将当前编码单元1400或1450分割成三个编码单元时,图像解码设备200可以将当前编码单元1400或1450分割成三个编码单元1430a、1430b和1430c或1480a、1480b和1480c。根据实施例,图像解码设备200可以确定当前编码单元1400或1450中所包括的奇数个编码单元,并且不是所有所确定的编码单元可以具有相同尺寸。例如,所确定的奇数个编码单元1430a、1430b和1430c或1480a、1480b和1480c中的预定编码单元1430b或1480b可以具有与其他编码单元1430a和1430c或1480a和1480c的尺寸不同的尺寸。也就是说,可以通过分割当前编码单元1400或1450来确定的编码单元可以具有多种尺寸,并且在一些情况下,所有奇数个编码单元1430a、1430b和1430c或1480a、1480b和1480c可以具有不同尺寸。
根据实施例,当分割形状信息指示将编码单元分割成奇数个块时,图像解码设备200可以确定当前编码单元1400或1450中所包括的奇数个编码单元,并且可以对通过分割当前编码单元1400或1450生成的奇数个编码单元中的至少一个编码单元施加预定限制。参考图14,图像解码设备200可以允许编码单元1430b或1480b的解码方法不同于其他编码单元1430a和1430c或1480a和1480c的解码方法,其中编码单元1430b或1480b位于通过分割当前编码单元1400或1450生成的三个编码单元1430a、1430b和1430c或1480a、1480b和1480c中的中心位置。例如,与其他编码单元1430a和1430c或1480a和1480c不同,图像解码设备200可以限制位于中心位置的编码单元1430b或1480b不再被分割或仅被分割预定次数。
图15示出了根据实施例的由图像解码设备200执行的基于块形状信息和分割形状信息中的至少一者来分割编码单元的过程。
根据实施例,图像解码设备200可以基于块形状信息和分割形状信息中的至少一者来确定是否将正方形第一编码单元1500分割成编码单元。根据实施例,当分割形状信息指示在水平方向上分割第一编码单元1500时,图像解码设备200可以通过在水平方向上分割第一编码单元1500来确定第二编码单元1510。根据实施例使用的第一编码单元、第二编码单元和第三编码单元是用于理解在分割编码单元之前和之后的关系的术语。例如,可以通过分割第一编码单元来确定第二编码单元,并且可以通过分割第二编码单元来确定第三编码单元。将理解,第一编码单元、第二编码单元和第三编码单元的结构遵循以上描述。
根据实施例,图像解码设备200可以基于块形状信息和分割形状信息中的至少一者来确定是否将所确定的第二编码单元1510分割成编码单元。参考图15,基于块形状信息和分割形状信息中的至少一者,图像解码设备200可以将通过分割第一编码单元1500确定的非正方形第二编码单元1510分割成一个或多个第三编码单元1520a或者1520b、1520c和1520d,或者或可以不进行分割。图像解码设备200可以获得块形状信息和分割形状信息中的至少一者,并且基于所获得的块形状信息和分割形状信息中的至少一者,通过分割第一编码单元1500来确定多个不同形状的第二编码单元(例如,1510),并且可以基于块形状信息和分割形状信息中的至少一者通过使用第一编码单元1500的分割方法来分割第二编码单元1510。根据实施例,当第一编码单元1500基于第一编码单元1500的块形状信息和分割形状信息中的至少一者被分割成第二编码单元1510时,第二编码单元1510也可以基于第二编码单元1510的块形状信息和分割形状信息中的至少一者被分割成第三编码单元1520a或者1520b、1520c和1520d。也就是说,编码单元可以基于每个编码单元的块形状信息和分割形状信息中的至少一者来递归分割。因此,可以通过分割非正方形编码单元来确定正方形编码单元,并且可以通过递归分割正方形编码单元来确定非正方形编码单元。参考图15,可以递归分割通过分割非正方形第二编码单元1510确定的奇数个第三编码单元1520b、1520c和1520d中的预定编码单元(例如,位于中心位置的编码单元或正方形编码单元)。根据实施例,奇数个第三编码单元1520b、1520c和1520d中的正方形第三编码单元1520c可以在水平方向上分割成多个第四编码单元。
下面将关于各种实施例描述可以用于递归分割编码单元的方法。
根据实施例,图像解码设备200可以基于块形状信息和分割形状信息中的至少一者来确定将第三编码单元1520a或者1520b、1520c和1520d中的每一者分割成编码单元或不分割第三编码单元。根据实施例,图像解码设备200可以将非正方形第二编码单元1510分割成奇数个第三编码单元1520b、1520c和1520d。图像解码设备200可以对奇数个第三编码单元1520b、1520c和1520d中的预定第三编码单元施加预定限制。例如,图像解码设备200可以将奇数个第三编码单元1520b、1520c和1520d中的位于中心位置的第三编码单元1520c限制为不再分割或者分割可设置的次数。参考图15,图像解码设备200可以将非正方形第二编码单元1510中所包括的奇数个第三编码单元1520b、1520c和1520d中的位于中心位置的第三编码单元1520c限制为不再分割、通过使用预定分割方法来分割(例如,仅分割成四个编码单元或者通过使用第二编码单元1510的分割方法来分割),或者仅分割预定次数(例如,仅分割n次(其中n>0))。然而,对位于中心位置处的第三编码单元1520c的限制不限于上述示例,并且可以包括用于与其他第三编码单元1520b和1520d不同地解码位于中心位置处的第三编码单元1520c的各种限制。
根据实施例,图像解码设备200可以从当前编码单元中的预定位置获得用于分割当前编码单元的块形状信息和分割形状信息中的至少一者。
图16示出了根据实施例的由图像解码设备200执行的从奇数个编码单元中确定预定编码单元的方法。参考图16,当前编码单元1600的块形状信息和分割形状信息中的至少一者可以从当前编码单元1600中所包括的多个样本中的预定位置的样本(例如,中心位置的样本1640)获得。然而,可以从中获得块形状信息和分割形状信息中的至少一者的当前编码单元1600中的预定位置不限于图16中的中心位置,并且可以包括当前编码单元1600中所包括的各种位置(例如,顶部、底部、左侧、右侧、左上、左下、右上和右下位置)。图像解码设备200可以从预定位置获得块形状信息和分割形状信息中的至少一者,并且确定是否将当前编码单元分割成各种形状和各种尺寸的编码单元。
根据实施例,当当前编码单元被分割成预定数量的编码单元时,图像解码设备200可以选择所述编码单元中的一者。可以使用各种方法来选择多个编码单元中的一者,如下面将关于各种实施例进行描述的。
根据实施例,图像解码设备200可以将当前编码单元分割成多个编码单元,并且可以确定位于预定位置的编码单元。
图16示出了根据实施例的由图像解码设备200执行的从奇数个编码单元中确定预定位置的编码单元的方法。
根据实施例,图像解码设备200可以使用指示奇数个编码单元的位置的信息来从奇数个编码单元中确定位于中心位置的编码单元。参考图16,图像解码设备200可以通过分割当前编码单元1600来确定奇数个编码单元1620a、1620b和1620c。图像解码设备200可以通过使用关于奇数个编码单元1620a至1620c的位置的信息来确定位于中心位置的编码单元1620b。例如,图像解码设备200可以通过基于指示编码单元1620a、1620b和1620c中所包括的预定样本的位置的信息确定编码单元1620a、1620b和1620c的位置来确定中心位置的编码单元1620b。详细地说,图像解码设备200可以通过基于指示编码单元1620a、1620b和1620c的左上样本1630a、1630b和1630c的位置的信息确定编码单元1620a、1620b和1620c的位置来确定位于中心位置的编码单元1620b。
根据实施例,指示分别包括在编码单元1620a、1620b和1620c中的左上样本1630a、1630b和1630c的位置的信息可以包括关于图片中的编码单元1620a、1620b和1620c的位置或坐标的信息。根据实施例,指示分别包括在编码单元1620a、1620b和1620c中的左上样本1630a、1630b和1630c的位置的信息可以包括指示包括在当前编码单元1600中的编码单元1620a、1620b和1620c的宽度或高度的信息,并且宽度或高度可以对应于指示图片中的编码单元1620a、1620b和1620c的坐标之间的差值的信息。也就是说,图像解码设备200可以通过直接使用关于图片中的编码单元1620a、1620b和1620c的位置或坐标的信息或者通过使用关于与坐标之间的差值相对应的编码单元的宽度或高度的信息来确定位于中心位置的编码单元1620b。
根据实施例,指示上部编码单元1620a的左上样本1630a的位置的信息可以包括坐标(xa,ya),指示中部编码单元1620b的左上样本1630b的位置的信息可以包括坐标(xb,yb),并且指示下部编码单元1620c的左上样本1630c的位置的信息可以包括坐标(xc,yc)。图像解码设备200可以通过使用分别包括在编码单元1620a、1620b和1620c中的左上样本1630a、1630b和1630c的坐标来确定中部编码单元1620b。例如,当左上样本1630a、1630b和1630c的坐标以升序或降序次序排序时,包括位于中心位置的样本1630b的坐标(xb,yb)的编码单元1620b可以被确定为通过分割当前编码单元1600确定的编码单元1620a、1620b和1620c中的位于中心位置的编码单元。然而,指示左上样本1630a、1630b和1630c的位置的坐标可以包括指示图片中的绝对位置的坐标,或者可以使用参考上部编码单元1620a的左上样本1630a的位置的指示中部编码单元1620b的左上样本1630b的相对位置的坐标(dxb,dyb)和指示下部编码单元1620c的左上样本1630c的相对位置的坐标(dxc,dyc)。通过使用编码单元中所包括的样本的坐标作为指示样本位置的信息来确定位于预定位置的编码单元的方法不限于上述方法,并且可以包括能够使用样本坐标的各种算术方法。
根据实施例,图像解码设备200可以将当前编码单元1600分割成多个编码单元1620a、1620b和1620c,并且可以基于预定标准选择编码单元1620a、1620b和1620c中的一者。例如,图像解码设备200可以从编码单元1620a、1620b和1620c中选择尺寸不同于其他编码单元的编码单元1620b。
根据实施例,图像解码设备200可以通过使用指示上部编码单元1620a的左上样本1630a的位置的坐标(xa,ya)、指示中部编码单元1620b的左上样本1630b的位置的坐标(xb,yb)和指示下部编码单元1620c的左上样本1630c的位置的坐标(xc,yc)来确定编码单元1620a、1620b和1620c的宽度或高度。图像解码设备200可以通过使用指示编码单元1620a、1620b和1620c的位置的坐标(xa,ya)、(xb,yb)和(xc,yc)来确定编码单元1620a、1620b和1620c的相应尺寸。
根据实施例,图像解码设备200可以将上部编码单元1620a的宽度确定为上部编码单元1620a的右上样本和左上样本的x坐标之差,并且将其高度确定为yb-ya。根据实施例,图像解码设备200可以将中部编码单元1620b的宽度确定为中部编码单元1620b的右上样本和左上样本的x坐标之差,并且将其高度确定为yc-yb。根据实施例,图像解码设备200可以通过使用当前编码单元1600的宽度或高度和上部和中部编码单元1620a和1620b的宽度或高度来确定下部编码单元1620c的宽度或高度。图像解码设备200可以基于所确定的编码单元1620a至1620c的宽度和高度来确定尺寸不同于其他编码单元的编码单元。参考图16,图像解码设备200可以将尺寸不同于上部和下部编码单元1620a和1620c的尺寸的中部编码单元1620b确定为预定位置的编码单元。然而,由图像解码设备200执行的确定尺寸不同于其他编码单元的编码单元的上述方法仅对应于通过使用基于样本坐标确定的编码单元尺寸来确定位于预定位置的编码单元的示例,并且因此可以使用通过比较基于预定样本的坐标确定的编码单元尺寸来确定位于预定位置的编码单元的各种方法。
然而,确定编码单元的位置所考虑的样本位置不限于上述左上位置,并且可以使用关于编码单元中所包括的样本的任意位置的信息。
根据实施例,图像解码设备200可以考虑当前编码单元的形状而从通过分割当前编码单元确定的奇数个编码单元中选择位于预定位置的编码单元。例如,当当前编码单元具有宽度长于高度的非正方形形状时,图像解码设备200可以在水平方向上确定位于预定位置的编码单元。也就是说,图像解码设备200可以在水平方向上确定位于不同位置的编码单元中的一者,并且对所述编码单元施加限制。当当前编码单元具有高度长于宽度的非正方形形状时,图像解码设备200可以在竖直方向上确定位于预定位置的编码单元。也就是说,图像解码设备200可以在竖直方向上确定位于不同位置的编码单元中的一者,并且可以对所述编码单元施加限制。
根据实施例,图像解码设备200可以使用指示偶数个编码单元的相应位置的信息来从偶数个编码单元中确定位于预定位置的编码单元。图像解码设备200可以通过分割当前编码单元来确定偶数个编码单元,并且可以通过使用关于偶数个编码单元的位置的信息来确定位于预定位置的编码单元。与之相关的操作可以对应于从奇数个编码单元中确定位于预定位置(例如,中心位置)的编码单元的操作,这已经在上面关于图16进行了详细描述,并且因此这里不提供其详细描述。
根据实施例,当非正方形当前编码单元被分割成多个编码单元时,关于位于预定位置的编码单元的预定信息可以在分割操作中使用以从多个编码单元中确定位于预定位置的编码单元。例如,图像解码设备200可以在分割操作中使用存储于包括在位于中心位置的编码单元中的样本中的块形状信息和分割形状信息中的至少一者来从通过分割当前编码单元确定的多个编码单元中确定位于中心位置的编码单元。
参考图16,图像解码设备200可以基于块形状信息和分割形状信息中的至少一者将当前编码单元1600分割成多个编码单元1620a、1620b和1620c,并且可以从多个编码单元1620a、1620b和1620c中确定位于中心位置的编码单元1620b。此外,图像解码设备200可以考虑从其中获得块形状信息和分割形状信息中的至少一者的位置而确定位于中心位置的编码单元1620b。也就是说,当前编码单元1600的块形状信息和分割形状信息中的至少一者可以从当前编码单元1600的位于中心位置的样本1640获得,并且当当前编码单元1600基于块形状信息和分割形状信息中的至少一者被分割成多个编码单元1620a、1620b和1620c时,包括样本1640的编码单元1620b可以被确定为位于中心位置的编码单元。然而,用于确定位于中心位置的编码单元的信息不限于块形状信息和分割形状信息中的至少一者,并且各种类型的信息可以用于确定位于中心位置的编码单元。
根据实施例,用于识别位于预定位置的编码单元的预定信息可以从包括在待确定的编码单元中的预定样本获得。参考图16,图像解码设备200可以使用从当前编码单元1600中的位于预定位置的样本(例如,当前编码单元1600的位于中心位置的样本)获得的块形状信息和分割形状信息中的至少一者来从通过分割当前编码单元1600确定的多个编码单元1620a、1620b和1620c中确定位于预定位置的编码单元(例如,多个分割编码单元中的位于中心位置的编码单元)。也就是说,图像解码设备200可以通过考虑当前编码单元1600的块形状来确定位于预定位置的样本,从通过分割当前编码单元1600确定的多个编码单元1620a、1620b和1620c中确定包括可以从其中获得预定信息(例如,块形状信息和分割形状信息中的至少一者)的样本的编码单元1620b,并且可以对编码单元1620b施加预定限制。参考图16,根据实施例,图像解码设备200可以将当前编码单元1600的位于中心位置的样本1640确定为可以从中获得预定信息的样本,并且可以在解码操作中对包括样本1640的编码单元1620b施加预定限制。然而,可以从中获得预定信息的样本的位置不限于上述位置,并且可以包括待针对限制确定的编码单元1620b中所包括的样本的任意位置。
根据实施例,可以基于当前编码单元1600的形状来确定可以从中获得预定信息的样本的位置。根据实施例,块形状信息可以指示当前编码单元是具有正方形形状还是非正方形形状,并且可以基于形状来确定可以从中获得预定信息的样本的位置。例如,图像解码设备200可以通过使用关于当前编码单元的宽度的信息和关于当前编码单元的高度的信息中的至少一者来确定位于用于将当前编码单元的宽度和高度中的至少一者对半分的边界上的样本作为可以从中获得预定信息的样本。作为另一示例,当当前编码单元的块形状信息指示非正方形形状时,图像解码设备200可以确定与用于将当前编码单元的长边对半分的边界相邻的样本之一作为可以从中获得预定信息的样本。
根据实施例,当当前编码单元被分割成多个编码单元时,图像解码设备200可以使用块形状信息和分割形状信息中的至少一者来从多个编码单元中确定位于预定位置的编码单元。根据实施例,图像解码设备200可以从编码单元中的位于预定位置的样本获得块形状信息和分割形状信息中的至少一者,并且通过使用从多个编码单元中的每一者中的预定位置的样本获得的分割形状信息和块形状信息中的至少一者来分割通过分割当前编码单元生成的多个编码单元。也就是说,可以基于从每个编码单元中的位于预定位置的样本获得的块形状信息和分割形状信息中的至少一者递归分割编码单元。上面已经关于图15描述了递归分割编码单元的操作,并且因此这里将不提供其详细描述。
根据实施例,图像解码设备200可以通过分割当前编码单元来确定一个或多个编码单元,并且可以基于预定块(例如,当前编码单元)来确定解码一个或多个编码单元的次序。
图17示出了根据实施例的当图像解码设备200通过分割当前编码单元来确定多个编码单元时处理多个编码单元的次序。
根据实施例,图像解码设备200可以基于块形状信息和分割形状信息,通过在竖直方向上分割第一编码单元1700来确定第二编码单元1710a和1710b,通过在水平方向上分割第一编码单元1700来确定第二编码单元1730a和1730b,或者通过在竖直和水平方向上分割第一编码单元1700来确定第二编码单元1750a至1750d。
参考图17,图像解码设备200可以确定以水平方向次序1710c处理第二编码单元1710a和1710b,所述第二编码单元1710a和1710b是通过在竖直方向上分割第一编码单元1700来确定的。图像解码设备200可以确定以竖直方向次序1730c处理第二编码单元1730a和1730b,所述第二编码单元1730a和1730b是通过在水平方向上分割第一编码单元1700来确定的。图像解码设备200可以确定以用于处理一行中的编码单元并且接着处理下一行中的编码单元的预定次序(例如,以栅格扫描次序或Z扫描次序1750e)处理第二编码单元1750a至1750d,所述第二编码单元1750a至1750d是通过在竖直和水平方向上分割第一编码单元1700来确定的。
根据实施例,图像解码设备200可以递归分割编码单元。参考图17,图像解码设备200可以通过分割第一编码单元1700来确定多个编码单元1710a、1710b、1730a、1730b、1750a、1750b、1750c和1750d,并且可以递归分割所确定的多个编码单元1710a、1710b、1730a、1730b、1750a、1750b、1750c和1750d中的每一者。多个编码单元1710a、1710b、1730a、1730b、1750a、1750b、1750c和1750d的分割方法可以对应于第一编码单元1700的分割方法。这样,多个编码单元1710a、1710b、1730a、1730b、1750a、1750b、1750c和1750d中的每一者可以独立地分割成多个编码单元。参考图17,图像解码设备200可以通过在竖直方向上分割第一编码单元1700来确定第二编码单元1710a和1710b,并且可以确定独立分割或不分割第二编码单元1710a和1710b中的每一者。
根据实施例,图像解码设备200可以通过在水平方向上分割左侧第二编码单元1710a来确定第三编码单元1720a和1720b,并且可以不分割右侧第二编码单元1710b。
根据实施例,编码单元的处理次序可以基于分割编码单元的操作来确定。换句话说,可以基于紧接在被分割之前的编码单元的处理次序来确定分割的编码单元的处理次序。图像解码设备200可以独立于右侧第二编码单元1710b确定通过分割左侧第二编码单元1710a确定的第三编码单元1720a和1720b的处理次序。因为第三编码单元1720a和1720b是通过在水平方向上分割左侧第二编码单元1710a来确定的,所以第三编码单元1720a和1720b可以以竖直方向次序1720c处理。因为左侧和右侧第二编码单元1710a和1710b以水平方向次序1710c处理,所以右侧第二编码单元1710b可以在包括于左侧第二编码单元1710a中的第三编码单元1720a和1720b以竖直方向次序1720c处理之后进行处理。基于被分割之前的编码单元确定编码单元的处理次序的操作不限于上述示例,并且可以使用各种方法来以预定次序独立地处理被分割并确定为各种形状的编码单元。
图18示出了根据实施例的由图像解码设备200执行的当编码单元不能以预定次序处理时确定当前编码单元将被分割成奇数个编码单元的过程。
根据实施例,图像解码设备200可以基于所获得的块形状信息和分割形状信息来确定当前编码单元是否被分割成奇数个编码单元。参考图18,正方形第一编码单元1800可以被分割成非正方形第二编码单元1810a和1810b,并且第二编码单元1810a和1810b可以被独立地分割成第三编码单元1820a和1820b以及1820c至1820e。根据实施例,图像解码设备200可以通过在水平方向上分割左侧第二编码单元1810a来确定多个第三编码单元1820a和1820b,并且可以将右侧第二编码单元1810b分割成奇数个第三编码单元1820c至1820e。
根据实施例,图像解码设备200可以通过确定第三编码单元1820a和1820b以及1820c至1820e是否能以预定次序处理来确定任何编码单元是否被分割成奇数个编码单元。参考图18,图像解码设备200可以通过递归分割第一编码单元1800来确定第三编码单元1820a和1820b以及1820c至1820e。图像解码设备200可以基于块形状信息和分割形状信息中的至少一者来确定第一编码单元1800、第二编码单元1810a和1810b以及第三编码单元1820a和1820b以及1820c、1820d和1820e中的任一者是否被分割成奇数个编码单元。例如,右侧第二编码单元1810b可以被分割成奇数个第三编码单元1820c、1820d和1820e。第一编码单元1800中所包括的多个编码单元的处理次序可以是预定次序(例如,Z扫描次序1830),并且图像解码设备200可以决定通过将右侧第二编码单元1810b分割成奇数个编码单元来确定的第三编码单元1820c、1820d和1820e是否满足用于以预定次序进行处理的条件。
根据实施例,图像解码设备200可以确定第一编码单元1800中所包括的第三编码单元1820a和1820b以及1820c、1820d和1820e是否满足用于以预定次序进行处理的条件,并且所述条件涉及第二编码单元1810a和1810b的宽度和高度中的至少一者是否沿着第三编码单元1820a和1820b以及1820c、1820d和1820e的边界对半分。例如,通过将非正方形左侧第二编码单元1810a的高度对半分来确定的第三编码单元1820a和1820b满足所述条件。然而,因为通过将右侧第二编码单元1810b分割成三个编码单元来确定的第三编码单元1820c、1820d和1820e的边界没有将右侧第二编码单元1810b的宽度或高度对半分,所以可以确定第三编码单元1820c、1820d和1820e不满足所述条件。当如上所述不满足所述条件时,图像解码设备200可以决定断开扫描次序,并且基于所述决定的结果,确定右侧第二编码单元1810b被分割成奇数个编码单元。根据实施例,当编码单元被分割成奇数个编码单元时,图像解码设备200可以对所分割的编码单元中的位于预定位置的编码单元施加预定限制。上面已经关于各种实施例描述了限制或预定位置,并且因此这里将不提供其详细描述。
图19示出了根据实施例的由图像解码设备200执行的通过分割第一编码单元1900来确定至少一个编码单元的过程。根据实施例,图像解码设备200可以基于由接收器210获得的块形状信息和分割形状信息中的至少一者来分割第一编码单元1900。正方形第一编码单元1900可以被分割成四个正方形编码单元,或者可以被分割成多个非正方形编码单元。例如,参考图19,当块形状信息指示第一编码单元1900具有正方形形状并且分割形状信息指示将第一编码单元1900分割成非正方形编码单元时,图像解码设备200可以将第一编码单元1900分割成多个非正方形编码单元。详细地说,当分割形状信息指示通过在水平方向或竖直方向上分割第一编码单元1900来确定奇数个编码单元时,图像解码设备200可以将正方形第一编码单元1900分割成奇数个编码单元,例如,通过在竖直方向上分割正方形第一编码单元1900来确定的第二编码单元1910a、1910b和1910c,或者通过在水平方向上分割正方形第一编码单元1900来确定的第二编码单元1920a、1920b和1920c。
根据实施例,图像解码设备200可以确定第一编码单元1900中所包括的第二编码单元1910a、1910b、1910c、1920a、1920b和1920c是否满足用于以预定次序进行处理的条件,并且所述条件涉及第一编码单元1900的宽度和高度中的至少一者是否沿着第二编码单元1910a、1910b、1910c、1920a、1920b和1920c的边界对半分。参考图19,因为通过在竖直方向上分割正方形第一编码单元1900来确定的第二编码单元1910a、1910b和1910c的边界没有将第一编码单元1900的宽度对半分,所以可以确定第一编码单元1900不满足用于以预定次序进行处理的条件。此外,因为通过在水平方向上分割正方形第一编码单元1900来确定的第二编码单元1920a、1920b和1920c的边界没有将第一编码单元1900的宽度对半分,所以可以确定第一编码单元1900不满足用于以预定次序进行处理的条件。当如上所述不满足所述条件时,图像解码设备200可以决定断开扫描次序,并且可以基于所述决定的结果确定第一编码单元1900被分割成奇数个编码单元。根据实施例,当编码单元被分割成奇数个编码单元时,图像解码设备200可以对所分割的编码单元中的位于预定位置的编码单元施加预定限制。上面已经关于各种实施例描述了限制或预定位置,并且因此这里将不提供其详细描述。
根据实施例,图像解码设备200可以通过分割第一编码单元来确定各种形状的编码单元。
参考图19,图像解码设备200可以将正方形第一编码单元1900或非正方形第一编码单元1930或1950分割成各种形状的编码单元。
图20示出了根据实施例,当通过分割第一编码单元2000来确定的具有非正方形形状的第二编码单元满足预定条件时,第二编码单元能由图像解码设备200分割成的形状受到限制。
根据实施例,图像解码设备200可以基于由接收器210获得的块形状信息和分割形状信息中的至少一者来确定将正方形第一编码单元2000分割成非正方形第二编码单元2010a、2010b、2020a和2020b。第二编码单元2010a、2010b、2020a和2020b可以独立地分割。这样,图像解码设备200可以基于第二编码单元2010a、2010b、2020a和2020b中的每一者的块形状信息和分割形状信息中的至少一者来确定是否将第二编码单元2010a、2010b、2020a和2020b分割成多个编码单元。根据实施例,图像解码设备200可以通过在水平方向上分割非正方形左侧第二编码单元2010a来确定第三编码单元2012a和2012b,所述非正方形左侧第二编码单元2010a是通过在竖直方向上分割第一编码单元2000确定的。然而,当左侧第二编码单元2010a在水平方向上进行分割时,图像解码设备200可以限制右侧第二编码单元2010b不在左侧第二编码单元2010a被分割的水平方向上进行分割。当通过沿相同方向分割右侧第二编码单元2010b来确定第三编码单元2014a和2014b时,因为左侧和右侧第二编码单元2010a和2010b在水平方向上独立地分割,所以可以确定第三编码单元2012a、2012b、2014a和2014b。然而,这种情况同样用作图像解码设备200基于块形状信息和分割形状信息中的至少一者将第一编码单元2000分割成四个正方形第二编码单元2030a、2030b、2030c和2030d的情况,并且在图像解码方面可能是低效的。
根据实施例,图像解码设备200可以通过在竖直方向上分割非正方形第二编码单元2020a或2020b来确定第三编码单元2022a、2022b、2024a和2024b,所述非正方形第二编码单元2020a或2020b是通过在水平方向上分割第一编码单元2000来确定的。然而,当一个第二编码单元(例如,上部第二编码单元2020a)在竖直方向上进行分割时,由于上文描述的原因,图像解码设备200可以限制另一个第二编码单元(例如,下部第二编码单元2020b)不在分割上部第二编码单元2020a的竖直方向上被分割。
图21示出了根据实施例的由图像解码设备200执行的当分割形状信息指示正方形编码单元不被分割成四个正方形编码单元时分割正方形编码单元的过程。
根据实施例,图像解码设备200可以通过基于块形状信息和分割形状信息中的至少一者分割第一编码单元2100来确定第二编码单元2110a、2110b、2120a、2120b等。分割形状信息可以包括关于分割编码单元的各种方法的信息,但是关于各种分割方法的信息可以不包括用于将编码单元分割成四个正方形编码单元的信息。根据此类分割形状信息,图像解码设备200可以不将正方形第一编码单元2100分割成四个正方形第二编码单元2130a、2130b、2130c和2130d。图像解码设备200可以基于分割形状信息确定非正方形第二编码单元2110a、2110b、2120a、2120b等。
根据实施例,图像解码设备200可以独立地分割非正方形第二编码单元2110a、2110b、2120a、2120b等。第二编码单元2110a、2110b、2120a、2120b等中的每一者可以以预定次序递归地分割,并且这种分割方法可以对应于基于块形状信息和分割形状信息中的至少一者分割第一编码单元2100的方法。
例如,图像解码设备200可以通过在水平方向上分割左侧第二编码单元2110a来确定正方形第三编码单元2112a和2112b,并且可以通过在水平方向上分割右侧第二编码单元2110b来确定正方形第三编码单元2114a和2114b。此外,图像解码设备200可以通过在水平方向上分割左侧和右侧第二编码单元2110a和2110b两者来确定正方形第三编码单元2116a、2116b、2116c和2116d。在这种情况下,可以确定与从第一编码单元2100分割的四个正方形第二编码单元2130a、2130b、2130c和2130d具有相同形状的编码单元。
作为另一个示例,图像解码设备200可以通过在竖直方向上分割上部第二编码单元2120a来确定正方形第三编码单元2122a和2122b,并且可以通过在竖直方向上分割下部第二编码单元2120b来确定正方形第三编码单元2124a和2124b。此外,图像解码设备200可以通过在竖直方向上分割上部和下部第二编码单元2120a和2120b两者来确定正方形第三编码单元2126a、2126b、2126c和2126d。在这种情况下,可以确定与从第一编码单元2100分割的四个正方形第二编码单元2130a、2130b、2130c和2130d具有相同形状的编码单元。
图22示出了根据实施例,多个编码单元之间的处理次序可以根据分割编码单元的过程而改变。
根据实施例,图像解码设备200可以基于块形状信息和分割形状信息分割第一编码单元2200。当块形状信息指示正方形形状并且分割形状信息指示在水平和竖直方向中的至少一者上分割第一编码单元2200时,图像解码设备200可以通过分割第一编码单元2200来确定第二编码单元2210a、2210b、2220a和2220b。参考图22,通过仅在水平方向或竖直方向上分割第一编码单元2200来确定的非正方形第二编码单元2210a、2210b、2220a和2220b可以基于每个编码单元的块形状信息和分割形状信息独立地分割。例如,图像解码设备200可以通过在水平方向上分割通过在竖直方向上分割第一编码单元2200生成的第二编码单元2210a和2210b来确定第三编码单元2216a、2216b、2216c和2216d,并且可以通过在竖直方向上分割通过在水平方向上分割第一编码单元2200生成的第二编码单元2220a和2226b来确定第三编码单元2226a、2226b、2226c和2226d。上面已经关于图20描述了分割第二编码单元2210a、2210b、2220a和2220b的操作,并且因此这里将不提供其详细描述。
根据实施例,图像解码设备200可以以预定次序处理编码单元。上面已经关于图17描述了以预定次序处理编码单元的操作,并且因此这里将不提供其详细描述。参考图22,图像解码设备200可以通过分割正方形第一编码单元2200来确定四个正方形第三编码单元2216a、2216b、2216c和2216d以及2226a、2226b、2226c和2226d。根据实施例,图像解码设备200可以基于第一编码单元2200的分割方法来确定第三编码单元2216a、2216b、2216c和2216d以及2226a、2226b、2226c和2226d的处理次序。
根据实施例,图像解码设备200可以通过在水平方向上分割通过在竖直方向上分割第一编码单元2200生成的第二编码单元2210a和2210b来确定第三编码单元2216a、2216b、2216c和2216d,并且可以以用于最初在竖直方向上处理左侧第二编码单元2210a中所包括的第三编码单元2216a和2216c并且接着在竖直方向上处理右侧第二编码单元2210b中所包括的第三编码单元2216b和2216d的处理次序2217处理第三编码单元2216a、2216b、2216c和2216d。
根据实施例,图像解码设备200可以通过在竖直方向上分割通过在水平方向上分割第一编码单元2200生成的第二编码单元2220a和2220b来确定第三编码单元2226a、2226b、2226c和2226d,并且可以以用于最初在水平方向上处理上部第二编码单元2220a中所包括的第三编码单元2226a和2226b并且接着在水平方向上处理下部第二编码单元2220b中所包括的第三编码单元2226c和2226d的处理次序2227处理第三编码单元2226a、2226b、22226c和2226d。
参考图22,正方形第三编码单元2216a、2216b、2216c和2216d以及2226a、2226b、2226c和2226d可以分别通过分割第二编码单元2210a、2210b、2220a和2220b来确定。虽然第二编码单元2210a和2210b是通过在竖直方向上分割第一编码单元2200来确定的,其不同于通过在水平方向上分割第一编码单元2200来确定的第二编码单元2220a和2220b,但是从中分割的第三编码单元2216a、2216b、2216c和2216d以及2226a、2226b、2226c和2226d最终示出了从第一编码单元2200分割的相同形状的编码单元。这样,通过基于块形状信息和分割形状信息中的至少一者以不同方式递归分割编码单元,即使当编码单元最终被确定为相同形状时,图像解码设备200也可以以不同次序处理多个编码单元。
图23示出了根据实施例的当编码单元被递归分割以确定多个编码单元时随着编码单元的形状和尺寸的改变来确定编码单元的深度的过程。
根据实施例,图像解码设备200可以基于预定标准来确定编码单元的深度。例如,预定标准可以是编码单元的长边的长度。当编码单元的长边的长度在分割之前是经过分割的当前编码单元的长边长度的2n倍(n>0)时,图像解码设备200可以确定当前编码单元的深度从在分割之前的编码单元的深度增加n。在以下描述中,具有增加深度的编码单元被表达为更深深度的编码单元。
参考图23,根据实施例,图像解码设备200可以通过基于指示正方形形状的块形状信息(例如,块形状信息可以表达为“0:正方形”)分割正方形第一编码单元2300来确定更深深度的第二编码单元2302和第三编码单元2304。假设正方形第一编码单元2300的尺寸是2N×2N,则通过将第一编码单元2300的宽度和高度划分为1/21来确定的第二编码单元2302可以具有N×N的尺寸。此外,通过将第二编码单元2302的宽度和高度划分为1/2来确定的第三编码单元2304可以具有N/2×N/2的尺寸。在这种情况下,第三编码单元2304的宽度和高度是第一编码单元2300的宽度和高度的1/22倍。当第一编码单元2300的深度是D时,第二编码单元2302(其宽度和高度是第一编码单元2300的宽度和高度的1/21倍)的深度可以是D+1,并且第三编码单元2304(其宽度和高度是第一编码单元2300的宽度和高度的1/22倍)的深度可以是D+2。
根据实施例,图像解码设备200可以通过基于指示非正方形形状的块形状信息(例如,块形状信息可以表达为指示高度长于宽度的非正方形形状的“1:NS_VER”,或者指示宽度长于高度的非正方形形状的“2:NS_HOR”)分割非正方形第一编码单元2310或2320来确定更深深度的第二编码单元2312或2322和第三编码单元2314或2324。
图像解码设备200可以通过划分尺寸为N×2N的第一编码单元2310的宽度和高度中的至少一者来确定第二编码单元2302、2312或2322。也就是说,图像解码设备200可以通过在水平方向上分割第一编码单元2310来确定尺寸为N×N的第二编码单元2302或尺寸为N×N/2的第二编码单元2322,并且可以通过在水平和竖直方向上分割第一编码单元2310来确定尺寸为N/2×N的第二编码单元2312。
根据实施例,图像解码设备200可以通过划分尺寸为2N×N的第一编码单元2320的宽度和高度中的至少一者来确定第二编码单元2302、2312或2322。也就是说,图像解码设备200可以通过在竖直方向上分割第一编码单元2320来确定尺寸为N×N的第二编码单元2302或尺寸为N/2×N的第二编码单元2312,并且可以通过在水平和竖直方向上分割第一编码单元2320来确定尺寸为N×N/2的第二编码单元2322。
根据实施例,图像解码设备200可以通过划分尺寸为N×N的第二编码单元2302的宽度和高度中的至少一者来确定第三编码单元2304、2314或2324。也就是说,图像解码设备200可以通过在竖直和水平方向上分割第二编码单元2302来确定尺寸为N/2×N/2的第三编码单元2304、尺寸为N/22×N/2的第三编码单元2314或尺寸为N/2×N/22的第三编码单元2324。
根据实施例,图像解码设备200可以通过划分尺寸为N/2×N的第二编码单元2312的宽度和高度中的至少一者来确定第三编码单元2304、2314或2324。也就是说,图像解码设备200可以通过在水平方向上分割第二编码单元2312来确定尺寸为N/2×N/2的第三编码单元2304或尺寸为N/2×N/22的第三编码单元2324,或者可以通过在竖直和水平方向上分割第二编码单元2312来确定尺寸为N/22×N/2的第三编码单元2314。
根据实施例,图像解码设备200可以通过划分尺寸为N×N/2的第二编码单元2322的宽度和高度中的至少一者来确定第三编码单元2304、2314或2324。也就是说,图像解码设备200可以通过在竖直方向上分割第二编码单元2322来确定尺寸为N/2×N/2的第三编码单元2304或尺寸为N/22×N/2的第三编码单元2314,或者可以通过在竖直和水平方向上分割第二编码单元2322来确定尺寸为N/2×N/22的第三编码单元2324。
根据实施例,图像解码设备200可以在水平或竖直方向上分割正方形编码单元2300、2302或2304。例如,图像解码设备200可以通过在竖直方向上分割尺寸为2N×2N的第一编码单元2300来确定尺寸为N×2N的第一编码单元2310,或者可以通过在水平方向上分割第一编码单元2300来确定尺寸为2N×N的第一编码单元2320。根据实施例,当基于编码单元的最长边的长度确定深度时,通过在水平或竖直方向上分割尺寸为2N×2N的第一编码单元2300来确定的编码单元2310或2320的深度可以与第一编码单元2300的深度相同。
根据实施例,第三编码单元2314或2324的宽度和高度可以是第一编码单元2310或2320的宽度和高度的1/22倍。当第一编码单元2310或2320的深度是D时,第二编码单元2312或2322(其宽度和高度是第一编码单元2310或2320的宽度和高度的1/2倍)的深度可以是D+1,并且第三编码单元2314或2324(其宽度和高度是第一编码单元2310或2320的宽度和高度的1/22倍)的深度可以是D+2。
图24示出了根据实施例的能够基于编码单元的形状和尺寸确定的深度以及用于区分编码单元的部分索引(PID)。
根据实施例,图像解码设备200可以通过分割正方形第一编码单元2400来确定各种形状的第二编码单元。参考图24,图像解码设备200可以通过基于分割形状信息在竖直和水平方向中的至少一者上分割第一编码单元2400来确定第二编码单元2402a和2402b、2404a和2404b以及2406a、2406b、2406c和2406d。也就是说,图像解码设备200可以基于第一编码单元2400的分割形状信息来确定第二编码单元2402a和2402b、2404a和2404b以及2406a、2406b、2406c和2406d。
根据实施例,基于正方形第一编码单元2400的分割形状信息来确定第二编码单元2402a和2402b、2404a和2404b以及2406a、2406b、2406c和2406d的深度可以基于其长边的长度来确定。例如,因为正方形第一编码单元2400的边的长度等于非正方形第二编码单元2402a和2402b以及2404a和2404b的长边的长度,所以第一编码单元2400和非正方形第二编码单元2402a和2402b以及2404a和2404b可以具有相同深度,例如,D。然而,当图像解码设备200基于分割形状信息将第一编码单元2400分割成四个正方形第二编码单元2406a、2406b、2406c和2406d时,因为正方形第二编码单元2406a、2406b、2406c和2406d的边长是第一编码单元2400的边长的1/2倍,所以第二编码单元2406a、2406b、2406c和2406d的深度可以是比第一编码单元2400的深度D深1的D+1。
根据实施例,图像解码设备200可以通过基于分割形状信息在水平方向上分割高度长于宽度的第一编码单元2410来确定多个第二编码单元2412a和2412b以及2414a、2414b和2414c。根据实施例,图像解码设备200可以通过基于分割形状信息在竖直方向上分割宽度长于高度的第一编码单元2420来确定多个第二编码单元2422a和2422b以及2424a、2424b和2424c。
根据实施例,基于非正方形第一编码单元2410或2420的分割形状信息确定的第二编码单元2412a、2412b、2414a、2414b和2414c或者2422a、2422b、2424a、2424b和2424c的深度可以基于其长边的长度来确定。例如,因为正方形第二编码单元2412a和2412b的边长是具有非正方形形状的第一编码单元2410的长边边长的1/2倍,第一编码单元2410的高度长于宽度,所以正方形第二编码单元2412a和2412b的深度是比非正方形第一编码单元2410的深度D深1的D+1。
此外,图像解码设备200可以基于分割形状信息将非正方形第一编码单元2410分割成奇数个第二编码单元2414a、2414b和2414c。奇数个第二编码单元2414a、2414b和2414c可以包括非正方形第二编码单元2414a和2414c以及正方形第二编码单元2414b。在这种情况下,因为非正方形第二编码单元2414a和2414c的长边的长度和正方形第二编码单元2414b的边长是第一编码单元2410的长边边长的1/2倍,所以第二编码单元2414a、2414b和2414c的深度可以是比非正方形第一编码单元2410的深度D深1的D+1。图像解码设备200可以通过使用上述确定从第一编码单元2410分割的编码单元的深度的方法来确定从宽度长于高度的具有非正方形形状的第一编码单元2420分割的编码单元的深度。
根据实施例,当奇数个分割编码单元不具有相等尺寸时,图像解码设备200可以基于编码单元之间的尺寸比率来确定用于识别分割编码单元的PID。参考图24,奇数个分割编码单元2414a、2414b和2414c中的中心位置的编码单元2414b可以具有与其他编码单元2414a和2414c的宽度相等的宽度以及是其他编码单元2414a和2414c的高度的两倍的高度。也就是说,在这种情况下,位于中心位置的编码单元2414b可以包括两个所述其他编码单元2414a或2414c。因此,当位于中心位置的编码单元2414b的PID基于扫描次序为1时,位于紧挨编码单元2414b处的编码单元2414c的PID可以增加2并且因此可以是3。也就是说,可以存在PID值的不连续性。根据实施例,图像解码设备200可以基于用于识别分割编码单元的PID是否存在不连续性来确定奇数个分割编码单元是否不具有相等尺寸。
根据实施例,图像解码设备200可以基于用于识别通过分割当前编码单元确定的多个编码单元的PID值来确定是否使用特定分割方法。参考图24,图像解码设备200可以通过分割具有高度长于宽度的矩形形状的第一编码单元2410来确定偶数个编码单元2412a和2412b或者奇数个编码单元2414a、2414b和2414c。图像解码设备200可以使用PID来识别相应编码单元。根据实施例,可以从每个编码单元的预定位置的样本(例如,左上样本)获得PID。
根据实施例,图像解码设备200可以通过使用用于区分编码单元的PID来从分割编码单元中确定位于预定位置的编码单元。根据实施例,当具有高度长于宽度的矩形形状的第一编码单元2410的分割形状信息指示将编码单元分割成三个编码单元时,图像解码设备200可以将第一编码单元2410分割成三个编码单元2414a、2414b和2414c。图像解码设备200可以向三个编码单元2414a、2414b和2414c中的每一者指派PID。图像解码设备200可以比较奇数个分割编码单元的PID以从编码单元中确定位于中心位置的编码单元。图像解码设备200可以从通过分割第一编码单元2410确定的编码单元中确定PID对应于编码单元的PID中的中间值的编码单元2414b作为位于中心位置的编码单元。根据实施例,当分割编码单元不具有相等尺寸时,图像解码设备200可以基于编码单元之间的尺寸比率来确定用于区分分割编码单元的PID。参考图24,通过分割第一编码单元2410生成的编码单元2414b可以具有与其他编码单元2414a和2414c的宽度相等的宽度以及是其他编码单元2414a和2414c的高度的两倍的高度。在这种情况下,当位于中心位置的编码单元2414b的PID为1时,位于紧挨编码单元2414b处的编码单元2414c的PID可以增加2并且因此可以为3。当如上所述PID没有均匀增加时,图像解码设备200可以确定编码单元被分割成多个编码单元,该多个编码单元包括尺寸不同于其他编码单元的尺寸的编码单元。根据实施例,当分割形状信息指示将编码单元分割成奇数个编码单元时,图像解码设备200可以以某种方式分割当前编码单元,使得奇数个编码单元中的预定位置的编码单元(例如,中心位置的编码单元)具有与其他编码单元的尺寸不同的尺寸。在这种情况下,图像解码设备200可以通过使用编码单元的PID来确定具有不同尺寸的中心位置的编码单元。然而,预定位置的编码单元的PID以及尺寸或位置不限于上述示例,并且可以使用编码单元的各种PID以及各种位置和尺寸。
根据实施例,图像解码设备200可以使用预定数据单元,在该处编码单元开始递归分割。
图25示出了根据实施例的基于图片中所包括的多个预定数据单元确定的多个编码单元。
根据实施例,预定数据单元可以被定义为某个数据单元,在该处编码单元开始通过使用块形状信息和分割形状信息中的至少一者进行递归分割。也就是说,预定数据单元可以对应于最上层深度的编码单元,其用于确定从当前图片分割的多个编码单元。在以下描述中,为了便于解释,预定数据单元被称为参考数据单元。
根据实施例,参考数据单元可以具有预定尺寸和预定形状。根据实施例,参考编码单元可以包括M×N个样本。这里,M和N可以彼此相等,并且可以是表达为2的幂的整数。也就是说,参考数据单元可以具有正方形或非正方形形状,并且可以被分割成整数个编码单元。
根据实施例,图像解码设备200可以将当前图片分割成多个参考数据单元。根据实施例,图像解码设备200可以通过使用关于每个参考数据单元的分割信息来分割从当前图片分割的多个参考数据单元。分割参考数据单元的操作可以对应于使用四叉树结构的分割操作。
根据实施例,图像解码设备200可以预先确定当前图片中所包括的参考数据单元允许的最小尺寸。因此,图像解码设备200可以确定尺寸等于或大于该最小尺寸的各种参考数据单元,并且可以参考所确定的参考数据单元通过使用块形状信息和分割形状信息来确定一个或多个编码单元。
参考图25,图像解码设备200可以使用正方形参考编码单元2500或非正方形参考编码单元2502。根据实施例,参考编码单元的形状和尺寸可以基于能够包括一个或多个参考编码单元的各种数据单元(例如,序列、图片、切片、切片段、最大编码单元等)来确定。
根据实施例,图像解码设备200的接收器210可以相对于各种数据单元中的每一者从比特流获得参考编码单元形状信息和参考编码单元尺寸信息中的至少一者。上面已经关于图13的分割当前编码单元的操作描述了将正方形参考编码单元2500分割成一个或多个编码单元的操作,并且上面已经关于图14的分割当前编码单元1400或1450的操作描述了将非正方形参考编码单元2502分割成一个或多个编码单元的操作,并且因此这里将不提供其详细描述。
根据实施例,图像解码设备200可以使用用于识别参考编码单元的尺寸和形状的PID,以根据先前基于预定条件确定的一些数据单元来确定参考编码单元的尺寸和形状。也就是说,接收器210可以仅从比特流获得用于相对于各种数据单元(例如,序列、图片、切片、切片段、最大编码单元等)中的作为满足预定条件的数据单元(例如,尺寸等于或小于切片的数据单元)的每个切片、切片段或最大编码单元来识别参考编码单元的尺寸和形状的PID。图像解码设备200可以通过使用PID来相对于满足预定条件的每个数据单元确定参考数据单元的尺寸和形状。当根据具有相对较小尺寸的每个数据单元从比特流中获得并使用参考编码单元形状信息和参考编码单元尺寸信息时,使用比特流的效率可能不高,并且因此,可以仅获得并使用PID来代替直接获得参考编码单元形状信息和参考编码单元尺寸信息。在这种情况下,可以预先确定与用于识别参考编码单元的尺寸和形状的PID对应的参考编码单元的尺寸和形状中的至少一者。也就是说,图像解码设备200可以通过基于PID选择先前确定的参考编码单元的尺寸和形状中的至少一者来确定用作用于获得PID的单元的数据单元中所包括的参考编码单元的尺寸和形状中的至少一者。
根据实施例,图像解码设备200可以使用最大编码单元中所包括的一个或多个参考编码单元。也就是说,从图片分割的最大编码单元可以包括一个或多个参考编码单元,并且编码单元可以通过递归地分割每个参考编码单元来确定。根据实施例,最大编码单元的宽度和高度中的至少一者可以是参考编码单元的宽度和高度中的至少一者的整数倍。根据实施例,参考编码单元的尺寸可以通过基于四叉树结构将最大编码单元分割n次来获得。也就是说,根据各种实施例,图像解码设备200可以通过基于四叉树结构将最大编码单元分割n次来确定参考编码单元,并且可以基于块形状信息和分割形状信息中的至少一者来分割参考编码单元。
图26示出了根据实施例的用作用于确定图片2600中所包括的参考编码单元的确定次序的标准的处理块。
根据实施例,图像解码设备200可以确定从图片分割的一个或多个处理块。处理块是包括从图片分割的一个或多个参考编码单元的数据单元,并且可以根据特定次序来确定处理块中所包括的一个或多个参考编码单元。也就是说,在每个处理块中确定的一个或多个参考编码单元的确定次序可以对应于用于确定参考编码单元的各种类型的次序中的一者,并且可以根据处理块而变化。相对于每个处理块确定的参考编码单元的确定次序可以是各种次序中的一者,例如栅格扫描次序、Z扫描、N扫描、右上对角线扫描、水平扫描和竖直扫描,但不限于上述扫描次序。
根据实施例,图像解码设备200可以获得处理块尺寸信息,并且可以确定图片中所包括的一个或多个处理块的尺寸。图像解码设备200可以从比特流获得处理块尺寸信息,并且可以确定图片中所包括的一个或多个处理块的尺寸。处理块的尺寸可以是由处理块尺寸信息指示的数据单元的预定尺寸。
根据实施例,图像解码设备200的接收器210可以根据每个特定数据单元从比特流获得处理块尺寸信息。例如,处理块尺寸信息可以以诸如图像、序列、图片、切片或切片段的数据单元从比特流获得。也就是说,接收器210可以根据各种数据单元中的每一者从比特流获得处理块尺寸信息,并且图像解码设备200可以通过使用所获得的处理块尺寸信息来确定从图片分割的一个或多个处理块的尺寸。处理块的尺寸可以是参考编码单元的整数倍。
根据实施例,图像解码设备200可以确定图片2600中所包括的处理块2602和2612的尺寸。例如,图像解码设备200可以基于从比特流获得的处理块尺寸信息来确定处理块的尺寸。参考图26,根据实施例,图像解码设备200可以将处理块2602和2612的宽度确定为参考编码单元的宽度的四倍,并且可以将处理块2602和2612的高度确定为参考编码单元的高度的四倍。图像解码设备200可以确定一个或多个处理块中的一个或多个参考编码单元的确定次序。
根据实施例,图像解码设备200可以基于处理块的尺寸来确定图片2600中所包括的处理块2602和2612,并且可以确定处理块2602和2612中的一个或多个参考编码单元的确定次序。根据实施例,参考编码单元的确定可以包括参考编码单元的尺寸的确定。
根据实施例,图像解码设备200可以从比特流获得一个或多个处理块中所包括的一个或多个参考编码单元的确定次序信息,并且可以基于所获得的确定次序信息来确定相对于一个或多个参考编码单元的确定次序。确定次序信息可以被定义为用于确定处理块中的参考编码单元的次序或方向。也就是说,参考编码单元的确定次序可以相对于每个处理块独立确定。
根据实施例,图像解码设备200可以从比特流获得根据每个特定数据单元的参考编码单元的确定次序信息。例如,接收器210可以根据每个数据单元(诸如图像、序列、图片、切片、切片段或处理块)从比特流获得参考编码单元的确定次序信息。因为参考编码单元的确定次序信息指示用于确定处理块中的参考编码单元的次序,所以可以相对于包括整数个处理块的每个特定数据单元获得确定次序信息。
根据实施例,图像解码设备200可以基于所确定的确定次序来确定一个或多个参考编码单元。
根据实施例,接收器210可以从比特流获得参考编码单元的确定次序信息作为与处理块2602和2612相关的信息,并且图像解码设备200可以确定处理块2602和2612中所包括的一个或多个参考编码单元的确定次序并且基于确定次序确定图片2600中所包括的一个或多个参考编码单元。参考图26,图像解码设备200可以分别确定处理块2602和2612中的一个或多个参考编码单元的确定次序2604和2614。例如,当相对于每个处理块获得参考编码单元的确定次序信息时,可以针对处理块2602和2612获得参考编码单元的不同类型的确定次序信息。当处理块2602中的参考编码单元的确定次序2604是栅格扫描次序时,可以根据栅格扫描次序确定处理块2602中所包括的参考编码单元。相反,当另一个处理块2612中的参考编码单元的确定次序2614是反向栅格扫描次序时,可以根据反向栅格扫描次序来确定处理块2612中所包括的参考编码单元。
根据实施例,图像解码设备200可以解码所确定的一个或多个参考编码单元。图像解码设备200可以基于如上所述确定的参考编码单元来解码图像。解码参考编码单元的方法可以包括各种图像解码方法。
根据实施例,图像解码设备200可以从比特流获得指示当前编码单元的形状的块形状信息或指示当前编码单元的分割方法的分割形状信息,并且可以使用所获得的信息。块形状信息或分割形状信息可以包括在与各种数据单元相关的比特流中。例如,图像解码设备200可以使用包括在序列参数集、图片参数集、视频参数集、切片报头或切片段报头中的块形状信息或分割形状信息。此外,图像解码设备200可以根据每个最大编码单元、每个参考编码单元或每个处理块从比特流获得对应于块形状信息或分割形状信息的语法,并且可以使用所获得的语法。
已经参考本公开的实施例具体示出并描述了本公开。然而,本领域的普通技术人员将理解,在不脱离由所附权利要求书限定的本公开的精神和范围的情况下,可以在形式和细节上做出各种改变。实施例应当仅被认为是描述性的,而不是限制性的。因此,本公开的范围不是由本公开的详细描述限定的,而是由所附权利要求书限定的,并且所述范围内的所有差异将被解释为包括在本公开中。
本公开的实施例可以被写成计算机程序,并且可以在使用计算机可读记录介质执行程序的通用数字计算机中实现。计算机可读记录介质的示例包括磁性存储介质(例如,只读存储器(ROM)、软盘或硬盘)、光学记录介质(例如,压缩光盘(CD)-ROM或数字多功能光盘(DVD))等。
Claims (13)
1.一种图像解码方法,包括:
接收编码图像的比特流;
通过重构所述编码图像来生成重构数据;
从所述比特流获得与所述编码图像的内容类型有关的信息以及与所述编码图像的量化参数有关信息;
从训练为执行环内滤波的第一多个深度神经网络过滤器模型候选者中,基于与所述内容类型有关的信息和与所述量化参数有关信息中的一个,选择第二多个深度神经网络过滤器模型候选者;
从所述第二多个深度神经网络过滤器模型候选者中,基于与所述内容类型有关的信息和与所述量化参数有关信息中的另一个,选择深度神经网络过滤器模型;以及
通过将所述重构数据应用于所选择的深度神经网络滤波器模型来执行所述环内滤波,
其中,与所述内容类型有关的信息包括指示所述编码图像的像素复杂度和运动程度的信息。
2.根据权利要求1所述的图像解码方法,其中,所述环内滤波包括解块滤波、样本自适应偏移和自适应环路滤波中的至少一种操作。
3.根据权利要求1所述的图像解码方法,其中,所述深度神经网络滤波器模型是被训练为根据基于构成所述深度神经网络滤波器模型的多个网络节点中的每一者的权重和所述多个网络节点之间的连接关系的操作来补偿所述重构数据的量化误差的网络模型。
4.根据权利要求1所述的图像解码方法,其中,确定所述深度神经网络滤波器模型包括:基于与所述内容类型有关的所述信息从所述第二多个深度神经网络滤波器模型候选者中确定与所述编码图像的内容类型对应的深度神经网络滤波器模型。
5.根据权利要求4所述的图像解码方法,其中,所述第一多个深度神经网络滤波器模型候选者中的每一者被训练为对预设的内容类型执行所述环内滤波。
6.根据权利要求4所述的图像解码方法,其中,确定所述深度神经网络滤波器模型还包括:从所述第二多个深度神经网络滤波器模型候选者中确定与所述编码图像的压缩强度对应的深度神经网络滤波器模型。
7.根据权利要求1所述的图像解码方法,其中,执行所述环内滤波包括:通过将所述重构数据和存储在重构图片缓冲器中的一个或多个参考图像应用于所选择的深度神经网络滤波器模型来执行所述环内滤波。
8.根据权利要求1所述的图像解码方法,其中,基于卷积神经网络学习模型来执行所述环内滤波。
9.一种图像解码设备,包括:
接收器,配置为接收编码图像的比特流;以及
解码器,配置为通过重构所述编码图像来生成重构数据;从所述比特流获得与所述编码图像的内容类型有关的信息以及与所述编码图像的量化参数有关信息;从训练为执行环内滤波的第一多个深度神经网络过滤器模型候选者中,基于与所述内容类型有关的信息和与所述量化参数有关信息中的一个,选择第二多个深度神经网络过滤器模型候选者;从所述第二多个深度神经网络过滤器模型候选者中,基于与所述内容类型有关的信息和与所述量化参数有关信息中的另一个,选择深度神经网络过滤器模型;以及通过将所述重构数据应用于所选择的深度神经网络滤波器模型来执行所述环内滤波,
其中,与所述内容类型有关的信息包括指示所述编码图像的像素复杂度和运动程度的信息。
10.一种图像编码方法,包括:
确定输入图像的内容类型以及所述输入图像的量化参数;
从训练为执行环内滤波的第一多个深度神经网络过滤器模型候选者中,基于所述内容类型和所述量化参数中的一个,选择第二多个深度神经网络过滤器模型候选者;
从所述第二多个深度神经网络过滤器模型候选者中,基于所述内容类型和所述量化参数中的另一个,选择深度神经网络过滤器模型;
通过向所选择的深度神经网络滤波器模型应用所述输入图像的从编码的残留数据重构的重构数据来生成经环内滤波的数据;
通过基于所述环内滤波数据预测所述输入图像来生成预测数据并且通过使用所述输入图像和所述预测数据来生成残留数据;
通过编码与所述内容类型有关的信息和所述残留数据来生成比特流;以及
传输所述比特流,
其中,与所述内容类型有关的信息包括指示所述输入图像的像素复杂度和运动程度的信息。
11.根据权利要求10所述的图像编码方法,其中,所述环内滤波包括解块滤波、样本自适应偏移和自适应环路滤波中的至少一种操作。
12.根据权利要求10所述的图像编码方法,其中,所述深度神经网络滤波器模型是被训练为根据基于构成所述深度神经网络滤波器模型的多个网络节点中的每一者的权重和所述多个网络节点之间的连接关系的操作来补偿所述重构数据的量化误差的网络模型。
13.根据权利要求10所述的图像编码方法,其中,确定所述深度神经网络滤波器模型包括:基于与所述内容类型有关的所述信息从所述第二多个深度神经网络滤波器模型候选者中确定与所述输入图像的内容类型对应的深度神经网络滤波器模型。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KRPCT/KR2017/007263 | 2017-07-06 | ||
PCT/KR2017/007263 WO2019009448A1 (ko) | 2017-07-06 | 2017-07-06 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
PCT/KR2018/001539 WO2019009488A1 (ko) | 2017-07-06 | 2018-02-06 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111052740A CN111052740A (zh) | 2020-04-21 |
CN111052740B true CN111052740B (zh) | 2024-04-09 |
Family
ID=64950160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880045117.8A Active CN111052740B (zh) | 2017-07-06 | 2018-02-06 | 用于编码或解码图像的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11218695B2 (zh) |
EP (1) | EP3621304A1 (zh) |
KR (1) | KR102553147B1 (zh) |
CN (1) | CN111052740B (zh) |
WO (2) | WO2019009448A1 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10999602B2 (en) | 2016-12-23 | 2021-05-04 | Apple Inc. | Sphere projected motion estimation/compensation and mode decision |
US11259046B2 (en) | 2017-02-15 | 2022-02-22 | Apple Inc. | Processing of equirectangular object data to compensate for distortion by spherical projections |
US10924747B2 (en) | 2017-02-27 | 2021-02-16 | Apple Inc. | Video coding techniques for multi-view video |
US11093752B2 (en) | 2017-06-02 | 2021-08-17 | Apple Inc. | Object tracking in multi-view video |
CN111373751B (zh) * | 2017-08-10 | 2023-02-28 | 夏普株式会社 | 图像滤波装置、图像解码装置以及图像编码装置 |
EP3451293A1 (en) * | 2017-08-28 | 2019-03-06 | Thomson Licensing | Method and apparatus for filtering with multi-branch deep learning |
EP3685577A4 (en) * | 2017-10-12 | 2021-07-28 | MediaTek Inc. | METHOD AND DEVICE OF A NEURAL NETWORK FOR VIDEO ENCODING |
US11889070B2 (en) * | 2018-03-23 | 2024-01-30 | Sharp Kabushiki Kaisha | Image filtering apparatus, image decoding apparatus, and image coding apparatus |
US20190351914A1 (en) * | 2018-05-15 | 2019-11-21 | Pony.ai, Inc. | System and method for identifying suspicious points in driving records and improving driving |
US10863206B2 (en) * | 2018-11-08 | 2020-12-08 | Alibaba Group Holding Limited | Content-weighted deep residual learning for video in-loop filtering |
US10999606B2 (en) * | 2019-01-08 | 2021-05-04 | Intel Corporation | Method and system of neural network loop filtering for video coding |
US11265580B2 (en) * | 2019-03-22 | 2022-03-01 | Tencent America LLC | Supplemental enhancement information messages for neural network based video post processing |
JP7141007B2 (ja) * | 2019-05-10 | 2022-09-22 | 日本電信電話株式会社 | 符号化装置、符号化方法及びプログラム |
US10785681B1 (en) * | 2019-05-31 | 2020-09-22 | Huawei Technologies Co., Ltd. | Methods and apparatuses for feature-driven machine-to-machine communications |
US11443057B2 (en) * | 2019-10-24 | 2022-09-13 | At&T Intellectual Property I, L.P. | Encoding and concealing information using deep learning |
CN110991201B (zh) * | 2019-11-25 | 2023-04-18 | 浙江大华技术股份有限公司 | 条码检测方法及相关装置 |
JP7479137B2 (ja) * | 2019-12-03 | 2024-05-08 | キヤノン株式会社 | 信号処理装置および信号処理方法、システム並びにプログラム |
CN113727106B (zh) * | 2020-05-25 | 2024-03-26 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、电子设备及存储介质 |
CN113727103B (zh) * | 2020-05-25 | 2022-08-12 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、电子设备及存储介质 |
CN113784146A (zh) * | 2020-06-10 | 2021-12-10 | 华为技术有限公司 | 环路滤波方法和装置 |
US11140393B1 (en) * | 2020-06-10 | 2021-10-05 | Novatek Microelectronics Corp. | Display device, encoder with adaptive quantization parameter and image processing method |
CN111711824B (zh) * | 2020-06-29 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 视频编解码中的环路滤波方法、装置、设备及存储介质 |
CN114066914A (zh) * | 2020-07-30 | 2022-02-18 | 华为技术有限公司 | 一种图像处理方法以及相关设备 |
CN112468826B (zh) * | 2020-10-15 | 2021-09-24 | 山东大学 | 一种基于多层gan的vvc环路滤波方法及系统 |
TWI806199B (zh) * | 2020-10-20 | 2023-06-21 | 大陸商華為技術有限公司 | 特徵圖資訊的指示方法,設備以及電腦程式 |
US11716469B2 (en) * | 2020-12-10 | 2023-08-01 | Lemon Inc. | Model selection in neural network-based in-loop filter for video coding |
US11599360B2 (en) * | 2020-12-14 | 2023-03-07 | Cognitive Science & Solutions, Inc. | AI synaptic coprocessor |
US20220201295A1 (en) * | 2020-12-21 | 2022-06-23 | Electronics And Telecommunications Research Institute | Method, apparatus and storage medium for image encoding/decoding using prediction |
CN116648906A (zh) * | 2020-12-24 | 2023-08-25 | 华为技术有限公司 | 通过指示特征图数据进行编码 |
CN112750094B (zh) * | 2020-12-30 | 2022-12-09 | 合肥工业大学 | 一种视频处理方法及系统 |
US20220222505A1 (en) * | 2021-01-11 | 2022-07-14 | Tencent America LLC | Multi-task neural network by micro-structured parameter sharing for multi-quality loop filter |
US11490085B2 (en) * | 2021-01-14 | 2022-11-01 | Tencent America LLC | Model sharing by masked neural network for loop filter with quality inputs |
JPWO2022210661A1 (zh) * | 2021-03-30 | 2022-10-06 | ||
US20220337824A1 (en) * | 2021-04-07 | 2022-10-20 | Beijing Dajia Internet Information Technology Co., Ltd. | System and method for applying neural network based sample adaptive offset for video coding |
US11647216B2 (en) * | 2021-04-12 | 2023-05-09 | Tencent America LLC | Techniques for signaling neural network topology, parameters, and processing information in video stream |
KR20220157147A (ko) * | 2021-05-20 | 2022-11-29 | 삼성전자주식회사 | 이미지를 처리하기 위한 방법 및 장치 |
CN117678221A (zh) * | 2021-07-20 | 2024-03-08 | Oppo广东移动通信有限公司 | 图像编解码及处理方法、装置及设备 |
WO2023014031A1 (ko) * | 2021-08-06 | 2023-02-09 | 삼성전자 주식회사 | 신경망 기반 디블로킹 필터링을 이용하는 영상 처리 방법 및 장치 |
WO2023014065A1 (ko) * | 2021-08-06 | 2023-02-09 | 삼성전자 주식회사 | 영상에 대한 ai 기반 필터링을 위한 장치 및 방법 |
US20230104702A1 (en) * | 2021-10-01 | 2023-04-06 | Disney Enterprises, Inc. | Transformer-based shape models |
WO2023059235A1 (en) * | 2021-10-08 | 2023-04-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Combining deblock filtering and another filtering for video encoding and/or decoding |
CN114173130B (zh) * | 2021-12-03 | 2023-02-10 | 电子科技大学 | 一种适用于低码率条件的深度神经网络的环路滤波方法 |
WO2024008814A1 (en) * | 2022-07-05 | 2024-01-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Filtering for video encoding and decoding |
CN117412040A (zh) * | 2022-07-06 | 2024-01-16 | 维沃移动通信有限公司 | 环路滤波方法、装置及设备 |
KR20240019638A (ko) * | 2022-08-04 | 2024-02-14 | 삼성전자주식회사 | 크로마 성분 예측을 수행하는 ai에 기반한 비디오 복호화 장치 및 방법, 및 비디오 부호화 장치 및 방법 |
CN116702876B (zh) * | 2023-04-27 | 2024-04-12 | 贵州大学 | 一种基于预处理的图像对抗防御方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017036370A1 (en) * | 2015-09-03 | 2017-03-09 | Mediatek Inc. | Method and apparatus of neural network based processing in video coding |
CN106716997A (zh) * | 2014-07-31 | 2017-05-24 | 三星电子株式会社 | 使用环路内滤波器参数预测的视频编码方法和设备以及相应视频解码方法和设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2638465A1 (en) | 2007-08-01 | 2009-02-01 | Jean-Yves Chouinard | Learning filters for enhancing the quality of block coded still and video images |
KR101070981B1 (ko) * | 2009-11-05 | 2011-10-06 | 홍익대학교 산학협력단 | 경계선 성분 분류 기반 신경회로망 모델을 이용한 영상 화질 개선방법 |
CN102792690B (zh) * | 2010-03-09 | 2016-06-15 | 汤姆森特许公司 | 基于分类环路滤波器的方法和装置 |
TWI674792B (zh) * | 2012-08-06 | 2019-10-11 | 美商Vid衡器股份有限公司 | 在多層視訊編碼中空間層取樣格網資訊 |
US9870598B2 (en) * | 2013-04-26 | 2018-01-16 | Nvidia Corporation | Low complexity adaptive filtering for mobile captures |
WO2016052836A1 (ko) | 2014-10-01 | 2016-04-07 | 엘지전자(주) | 향상된 예측 필터를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치 |
US11221990B2 (en) | 2015-04-03 | 2022-01-11 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
US9501724B1 (en) | 2015-06-09 | 2016-11-22 | Adobe Systems Incorporated | Font recognition and font similarity learning using a deep neural network |
CN107736027B (zh) * | 2015-06-12 | 2021-06-01 | 松下知识产权经营株式会社 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
US9734567B2 (en) | 2015-06-24 | 2017-08-15 | Samsung Electronics Co., Ltd. | Label-free non-reference image quality assessment via deep neural network |
KR102309910B1 (ko) * | 2015-11-19 | 2021-10-08 | 한국전자기술연구원 | 비디오 부호화기의 최적 모드 결정 장치 및 최적 모드 결정을 이용한 비디오 부호화 방법 |
US10382770B2 (en) * | 2017-02-06 | 2019-08-13 | Google Llc | Multi-level machine learning-based early termination in partition search for video encoding |
-
2017
- 2017-07-06 WO PCT/KR2017/007263 patent/WO2019009448A1/ko active Application Filing
-
2018
- 2018-02-06 KR KR1020197038236A patent/KR102553147B1/ko active IP Right Grant
- 2018-02-06 EP EP18828204.0A patent/EP3621304A1/en active Pending
- 2018-02-06 WO PCT/KR2018/001539 patent/WO2019009488A1/ko unknown
- 2018-02-06 US US16/622,139 patent/US11218695B2/en active Active
- 2018-02-06 CN CN201880045117.8A patent/CN111052740B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716997A (zh) * | 2014-07-31 | 2017-05-24 | 三星电子株式会社 | 使用环路内滤波器参数预测的视频编码方法和设备以及相应视频解码方法和设备 |
WO2017036370A1 (en) * | 2015-09-03 | 2017-03-09 | Mediatek Inc. | Method and apparatus of neural network based processing in video coding |
Also Published As
Publication number | Publication date |
---|---|
WO2019009488A1 (ko) | 2019-01-10 |
KR102553147B1 (ko) | 2023-07-07 |
US20200120340A1 (en) | 2020-04-16 |
EP3621304A4 (en) | 2020-03-11 |
EP3621304A1 (en) | 2020-03-11 |
US11218695B2 (en) | 2022-01-04 |
KR20200016885A (ko) | 2020-02-17 |
CN111052740A (zh) | 2020-04-21 |
WO2019009448A1 (ko) | 2019-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052740B (zh) | 用于编码或解码图像的方法和装置 | |
CN110832860B (zh) | 用于编码/解码图像的方法及其装置 | |
CN110892723B (zh) | 用于编码或解码图像的方法和装置 | |
CN110494892B (zh) | 用于处理多通道特征图图像的方法和装置 | |
CN110337813B (zh) | 用于对图像进行编码/解码的方法及其装置 | |
CN110059796B (zh) | 卷积神经网络的生成方法及装置 | |
CN113766228B (zh) | 点云压缩方法、编码器、解码器及存储介质 | |
US20230336758A1 (en) | Encoding with signaling of feature map data | |
US20230336759A1 (en) | Decoding with signaling of segmentation information | |
US20230353764A1 (en) | Method and apparatus for decoding with signaling of feature map data | |
CN110971901A (zh) | 卷积神经网络的处理方法及装置 | |
CN116648912A (zh) | 基于神经网络的码流的解码和编码 | |
JP2023543520A (ja) | 機械学習を基にしたピクチャコーディングにおけるクロマサブサンプリングフォーマット取り扱いのための方法 | |
Lange et al. | Video representation and coding using a sparse steered mixture-of-experts network | |
Wang et al. | Perceptually quasi-lossless compression of screen content data via visibility modeling and deep forecasting | |
Jeong et al. | An overhead-free region-based JPEG framework for task-driven image compression | |
Nami et al. | MTJND: Multi-task deep learning framework for improved JND prediction | |
EP4177822A1 (en) | Processing image data using a model of the human visual system | |
Jenab | VIDEO ENCODING QUALITY AND BIT RATE PREDICTION, AND ITS APPLICATION IN RESOLUTION, AND FRAME-RATE ADAPTIVE ENCODING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |