[go: up one dir, main page]

CN114450943B - 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法 - Google Patents

用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法 Download PDF

Info

Publication number
CN114450943B
CN114450943B CN202080066881.0A CN202080066881A CN114450943B CN 114450943 B CN114450943 B CN 114450943B CN 202080066881 A CN202080066881 A CN 202080066881A CN 114450943 B CN114450943 B CN 114450943B
Authority
CN
China
Prior art keywords
picture
sub
block
current block
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202080066881.0A
Other languages
English (en)
Other versions
CN114450943A (zh
Inventor
张炯文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202411781791.6A priority Critical patent/CN119450036A/zh
Priority to CN202411781792.0A priority patent/CN119583795A/zh
Priority to CN202411781787.XA priority patent/CN119324985A/zh
Priority to CN202411781793.5A priority patent/CN119363974A/zh
Publication of CN114450943A publication Critical patent/CN114450943A/zh
Application granted granted Critical
Publication of CN114450943B publication Critical patent/CN114450943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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

Landscapes

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

Abstract

提供了一种用于图像编码/解码的方法和装置。根据本公开的图像解码方法对应于由图像解码装置执行的图像解码方法,并且该方法可以包括以下步骤:确定BDOF或PROF是否应用于当前块;当BDOF或PROF应用于当前块时,基于当前块的运动信息从当前块的参考画面提取当前块的预测样本;以及通过基于所提取的预测样本对当前块应用BDOF或PROF来推导当前块的改进的预测样本。

Description

用于基于子画面的图像编码/解码的方法和装置及发送比特 流的方法
技术领域
本公开涉及图像编码/解码方法和设备以及发送比特流的方法,更具体地,涉及一种用于执行子画面编码/解码的图像编码/解码方法和设备以及发送通过本公开的图像编码方法/设备生成的比特流的方法。
背景技术
最近,各个领域对高分辨率和高质量图像,例如高清(HD)图像和超高清(UHD)图像的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
本公开的另一个目的是提供一种用于基于子画面对图像进行编码/解码的图像编码/解码方法和设备。
本公开的另一个目的是提供一种用于基于当前子画面是否被当作画面的确定来执行BDOF或PROF的图像编码/解码方法和设备。
本公开的另一个目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
本公开的另一个目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
本公开的另一个目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
技术方案
根据本公开的一方面的图像解码方法可以包括:确定双向光流(BDOF)或光流预测细化(PROF)是否应用于当前块;基于BDOF或PROF应用于当前块,基于当前块的运动信息来从当前块的参考画面提取当前块的预测样本;以及通过基于所提取的预测样本对当前块应用BDOF或PROF,推导当前块的细化预测样本。
在本公开的图像解码方法中,提取当前块的预测样本的步骤可以基于包括当前块的当前子画面是否被当作画面来执行。
在本公开的图像解码方法中,当前子画面是否被当作画面可以基于通过比特流用信号通知的标志信息来确定。
在本公开的图像解码方法中,可以通过序列参数集(SPS)用信号通知标志信息。
在本公开的图像解码方法中,提取当前块的预测样本的步骤可以基于要提取的预测样本的位置来执行,并且其中,预测样本的位置可以被限幅在预定范围内。
在本公开的图像解码方法中,基于当前子画面被当作画面,预定范围可以由当前子画面的边界位置指定。
在本公开的图像解码方法中,要提取的预测样本的位置可以包括x坐标和y坐标,x坐标可以被限幅在当前子画面的左边界位置和右边界位置的范围内,并且y坐标可以被限幅在当前子画面的上边界位置和下边界位置的范围内。
在本公开的图像解码方法中,当前子画面的左边界位置可以被推导为指定当前子画面的左位置的预定单元的位置信息与预定单元的宽度的乘积,当前子画面的右边界位置可以通过对指定当前子画面的右位置的预定单元的位置信息与预定单元的宽度的乘积执行“-1”运算来推导,当前子画面的上边界位置可以被推导为指定当前子画面的上位置的预定单元的位置信息与预定单元的高度的乘积,并且当前子画面的下边界位置可以通过对指定当前子画面的下位置的预定单元的位置信息与预定单元的高度的乘积执行“-1”运算来推导。
在本公开的图像解码方法中,预定单元可以是网格或CTU。
在本公开的图像解码方法中,基于当前子画面不被当作画面,预定范围可以是包括当前块的当前画面的范围。
根据本公开的另一方面的图像解码设备可以包括存储器和至少一个处理器。所述至少一个处理器可以确定双向光流(BDOF)或光流预测细化(PROF)是否应用于当前块;基于BDOF或PROF应用于当前块,基于当前块的运动信息来从当前块的参考画面提取当前块的预测样本;并且通过基于所提取的预测样本对当前块应用BDOF或PROF,推导当前块的细化预测样本。
在本公开的图像解码设备中,所述至少一个处理器可以基于包括当前块的当前子画面是否被当作画面来提取当前块的预测样本。
根据本公开的另一方面的图像编码方法可以包括:确定双向光流(BDOF)或光流预测细化(PROF)是否应用于当前块;基于BDOF或PROF应用于当前块,基于当前块的运动信息来从当前块的参考画面提取当前块的预测样本;并且通过基于所提取的预测样本对当前块应用BDOF或PROF,推导当前块的细化预测样本。
在本公开的图像编码方法中,提取当前块的预测样本的步骤可以基于包括当前块的当前子画面是否被当作画面来执行。
根据本公开的另一方面的传输方法可以向图像解码设备发送通过本公开的图像编码方法和/或图像编码设备生成的比特流。
此外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
此外,根据本公开,能够提供一种用于基于子画面对图像进行编码/解码的图像编码/解码方法和设备。
此外,根据本公开,能够提供一种用于基于当前子画面是否被当作画面的确定来执行BDOF或PROF的图像编码/解码方法和设备。
此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
图1是示意性地例示本公开的实施方式适用于的视频编码系统的视图。
图2是示意性地例示本公开的实施方式适用于的图像编码设备的视图。
图3是示意性地例示本公开的实施方式适用于的图像解码设备的视图。
图4是例示基于帧间预测的视频/图像编码方法的流程图。
图5是例示根据本公开的帧间预测单元180的配置的视图。
图6是例示基于帧间预测的视频/图像解码方法的流程图。
图7是例示根据本公开的帧间预测单元260的配置的视图。
图8是例示在仿射模式下可表达的运动的视图。
图9是例示仿射模式的参数模型的视图。
图10是例示生成仿射合并候选列表的方法的视图。
图11是例示从邻近块推导的CPMV的视图。
图12是例示用于推导继承仿射合并候选的邻近块的视图。
图13是例示用于推导构建仿射合并候选的邻近块的视图。
图14是例示生成仿射MVP候选列表的方法的视图。
图15是例示基于子块的TMVP模式的邻近块的视图。
图16是例示根据基于子块的TMVP模式推导运动向量场的方法的视图。
图17是例示扩展以执行BDOF的CU的视图。
图18是例示Δv(i,j)、v(i,j)和子块运动向量之间的关系的视图。
图19是例示用于在SPS中用信号通知子画面语法元素的语法的实施方式的视图。
图20是例示用于推导诸如SubPicTop的预定变量的算法的实施方式的视图。
图21是例示根据实施方式的由编码设备使用子画面对图像进行编码的方法的视图。
图22是例示根据实施方式的由解码设备使用子画面对图像进行解码的方法的视图。
图23是例示通过应用BDOF来推导当前块的预测样本的处理的视图。
图24是例示根据本公开的实施方式的BDOF处理的输入和输出的视图。
图25是例示根据本公开的实施方式的用于BDOF处理的变量的视图。
图26是例示根据本公开的实施方式的基于是否应用BDOF生成当前CU中的各个子块的预测样本的方法的视图。
图27是例示根据本公开的实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。
图28是例示根据本公开的实施方式的推导运动细化(vx,vy),推导BDOF偏移并生成当前子块的预测样本的方法的视图。
图29是例示通过应用PROF来推导当前块的预测样本的处理的视图。
图30是例示根据本公开的PROF处理的示例的视图。
图31是例示要跨子画面的边界提取参考样本的情况的视图。
图32是图31的提取区域的放大图。
图33是例示根据本公开的实施方式的参考样本提取处理的视图。
图34是例示根据本公开的参考样本提取处理的流程图。
图35是例示根据本公开的分数样本插值过程的一部分的视图。
图36是例示根据本公开的sbTMVP推导方法的一部分的视图。
图37是例示根据本公开的推导子画面边界位置的方法的视图。
图38是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“联接”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(CTU)。
在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,M×N块可以包括M列N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A/B/C”可以意指“A、B和/或C中的至少一个”。
在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,或3)“A和B”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
视频编码系统的概述
图1是示意性地示出根据本公开的视频编码系统的视图。
根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如USB、SD、CD、DVD、蓝光、HDD、SSD等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
图像编码设备的概述
图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(DPB)并且可以由数字存储介质配置。
图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分割编码树单元(CTU)或最大编码单元(LCU)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或CU的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测单元180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,帧间预测单元180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测单元可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。
预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器120。
变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT是指当像素之间的关系信息由图形表示时从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号获取的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有可变大小而不是正方形的块。
量化器130可以对变换系数进行量化并且将它们传输到熵编码器190。熵编码器190可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可基于系数扫描顺序将块形式的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
熵编码器190可以执行各种编码方法,例如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(NAL)为单位进行传输或存储。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括USB、SD、CD、DVD、蓝光、HDD、SSD等各种存储介质。可以包括传输从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
从量化器130输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,例如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
此外,如下所述,亮度映射与色度缩放(LMCS)适用于画面编码处理。
滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储器170的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器190编码并以比特流的形式输出。
传输到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100和图像解码设备之间的预测失配并且可以提高编码效率。
存储器170的DPB可以存储修改的重构画面以用作帧间预测单元180中的参考画面。存储器170可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
图像解码设备的概述
图3是示意性地示出本公开的实施方式可适用的图像解码设备的视图。
如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
根据实施方式,配置图像解码设备200的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器250可以包括解码画面缓冲器(DPB)或者可以由数字存储介质配置。
已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,例如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。此外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),并且在熵解码器210中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260或帧内预测单元265中的至少一个。
解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
帧间预测单元260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。加法器155的描述同样适用于加法器235。
此外,如下所述,亮度映射与色度缩放(LMCS)适用于画面解码处理。
滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
存储在存储器250的DPB中的(修改的)重构画面可以用作帧间预测单元260中的参考画面。存储器250可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测单元265。
在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。
帧间预测的概述
图像编码设备/图像解码设备可以以块为单位执行帧间预测以推导预测样本。帧间预测可以意指以依赖于当前画面以外的画面的数据元素的方式推导的预测。当帧间预测应用于当前块时,可以基于参考画面上由运动向量指定的参考块来推导当前块的预测块。
在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性来推导当前块的运动信息,并且可以以块、子块或样本为单位推导运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测类型信息。这里,帧间预测类型信息可以意指帧间预测的方向信息。帧间预测类型信息可以指示使用L0预测、L1预测或双预测之一来预测当前块。
当对当前块应用帧间预测时,当前块的邻近块可以包括存在于当前画面中的空间邻近块和存在于参考画面中的时间邻近块。包括当前块的参考块的参考画面和包括时间邻近块的参考画面可以是相同或不同的。时间邻近块可以被称为并置参考块或并置CU(colCU),并且包括时间邻近块的参考画面可以被称为并置画面(colPic)。
此外,可以基于当前块的邻近块来构建运动信息候选列表,并且在这种情况下,可以用信号通知指示使用哪个候选的标志或索引信息以便推导当前块的运动向量和/或参考画面索引。
根据帧间预测类型,运动信息可以包括L0运动信息和/或L1运动信息。L0方向上的运动向量可以被定义为L0运动向量或MVL0,L1方向上的运动向量可以被定义为L1运动向量或MVL1。基于L0运动向量的预测可以被定义为L0预测,基于L1运动向量的预测可以被定义为L1预测,基于L0运动向量和L1运动向量二者的预测可以被定义为双预测。这里,L0运动向量可以意指与参考画面列表L0关联的运动向量,L1运动向量可以意指与参考画面列表L1关联的运动向量。
参考画面列表L0可以包括按输出顺序在当前画面之前的画面作为参考画面,参考画面列表L1可以包括按输出顺序在当前画面之后的画面。先前画面可以被定义为前向(参考)画面,后续画面可以被定义为后向(参考)画面。此外,参考画面列表L0还可以包括按输出顺序在当前画面之后的画面作为参考画面。在这种情况下,在参考画面列表L0内,可以首先对先前画面进行索引,然后可以对后续画面进行索引。参考画面列表L1还可以包括按输出顺序在当前画面之前的画面作为参考画面。在这种情况下,在参考画面列表L1内,可以首先对后续画面进行索引,然后可以对先前画面进行索引。这里,输出顺序可以对应于画面顺序计数(POC)顺序。
图4是例示了基于帧间预测的视频/图像编码方法的流程图。
图5是例示了根据本公开的帧间预测器180的配置的视图。
图6的编码方法可以由图2的图像编码设备执行。具体地,步骤S410可以由帧间预测器180执行,并且步骤S420可以由残差处理器执行。具体地,步骤S420可以由减法器115执行。步骤S430可以由熵编码器190执行。步骤S630的预测信息可以由帧间预测器180推导,并且步骤S630的残差信息可以由残差处理器推导。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,残差样本可以通过图像编码设备的变换器120被推导为变换系数,并且变换系数可以通过量化器130被推导为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编码过程来编码。
图像编码设备可以针对当前块执行帧间预测(S410)。图像编码设备可以推导当前块的帧间预测模式和运动信息并且生成当前块的预测样本。这里,可以同时地执行帧间预测模式确定、运动信息推导和预测样本生成过程或者可以在其它过程之前执行其任何一个。例如,如图5所示,图像编码设备的帧间预测单元180可以包括预测模式确定单元181、运动信息推导单元182和预测样本推导单元183。预测模式确定单元181可以确定当前块的预测模式,运动信息推导单元182可以推导当前块的运动信息,并且预测样本推导单元183可以推导当前块的预测样本。例如,图像编码设备的帧间预测单元180可以通过运动估计在参考画面的预定区域(搜索区域)内搜索与当前块相似的块,并且推导其与当前块的差等于或小于预定准则或最小值的参考块。基于此,可以推导指示参考块位于其中的参考画面的参考画面索引,并且可以基于参考块与当前块之间的位置差来推导运动向量。图像编码设备可以在各种帧间预测模式当中确定应用于当前块的模式。图像编码设备可以针对各种预测模式比较速率失真(RD)成本,并且确定当前块的最优帧间预测模式。然而,由图像编码设备确定当前块的帧间预测模式的方法不限于上述示例,并且可以使用各种方法。
例如,当前块的帧间预测模式可以被确定为合并模式、合并跳过模式、运动向量预测(MVP)模式、对称运动向量差(SMVD)模式、仿射模式、基于子块的合并模式、自适应运动向量分辨率(AMVR)模式、基于历史的运动向量预测子(HMVP)模式、成对平均合并模式、以运动向量差的合并模式(MMVD)模式、解码器侧运动向量细化(DMVR)模式、组合帧间和帧内预测(CIIP)模式或几何分割模式(GPM)中的至少一种。
例如,当跳过模式或合并模式应用于当前块时,图像编码设备可以从当前块的邻近块推导合并候选,并且使用所推导的合并候选来构建合并候选列表。另外,图像编码设备可以在通过合并候选列表中包括的合并候选指示的参考块当中推导其与当前块的差等于或小于预定准则或最小值的参考块。在这种情况下,可以选择与所推导的参考块关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其用信号通知给图像解码设备。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。
作为另一示例,当MVP模式应用于当前块时,图像编码设备可以从当前块的邻近块推导运动向量预测子(MVP)候选,并且使用所推导的MVP候选来构建MVP候选列表。另外,图像编码设备可以使用从MVP候选列表中包括的MVP候选当中选择的MVP候选的运动向量作为当前块的MVP。在这种情况下,例如,指示通过上述运动估计推导的参考块的运动向量可以被用作当前块的运动向量,在MVP候选当中具有与当前块的运动向量的差最小的运动向量的MVP候选可以是所选择的MVP候选。可以推导作为通过从当前块的运动向量减去MVP所获得的差的运动向量差(MVD)。在这种情况下,可以将指示所选择的MVP候选的索引信息和关于MVD的信息用信号通知给图像解码设备。另外,当应用MVP模式时,可以将参考画面索引的值构建为参考画面索引信息并且单独地用信号通知给图像解码设备。
图像编码设备可以基于预测样本来推导残差样本(S420)。图像编码设备可以通过当前块的原始样本与预测样本之间的比较来推导残差样本。例如,可以通过从原始样本减去对应的预测样本来推导残差样本。
图像编码设备可以对包括预测信息和残差信息的图像信息进行编码(S430)。图像编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和关于运动信息的信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指示跳过模式是否应用于当前块,而合并标志指示合并模式是否应用于当前块。另选地,预测模式信息可以指示多种预测模式中的一种,例如模式索引。当跳过标志和合并标志为0时,可以确定MVP模式应用于当前块。关于运动信息的信息可以包括作为用于推导运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在合并模式应用于当前块时用信号通知,并且可以是用于选择合并候选列表中包括的合并候选中的一个的信息。在候选选择信息当中,MVP标志或MVP索引可以在MVP模式应用于当前块时用信号通知,并且可以是用于选择MVP候选列表中的MVP候选中的一个的信息。具体地,MVP标志可以使用语法元素mvp_10_flag或mvp_11_flag来用信号通知。另外,关于运动信息的信息可以包括关于上述MVD的信息和/或参考画面索引信息。另外,关于运动信息的信息可以包括指示是应用L0预测、L1预测还是双预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中并且被发送到图像解码设备或者可以经由网络被发送到图像解码设备。
如上所述,图像编码设备可以基于参考样本和残差样本来生成重构画面(包括重构样本和重构块的画面)。这是为了图像编码设备推导与由图像解码设备执行的预测结果相同的预测结果,从而提高编码效率。因此,图像编码设备可以将重构画面(或重构样本和重构块)存储在存储器中并且将其用作用于帧间预测的参考画面。如上所述,环路内滤波过程还适用于重构画面。
图6是例示了基于帧间预测的视频/图像解码方法的流程图。
图7是例示了根据本公开的帧间预测单元260的配置的视图。
图像解码设备可以执行与由图像编码设备执行的操作对应的操作。图像解码设备可以基于接收到的预测信息来针对当前块执行预测并且推导预测样本。
图6的解码方法可以由图3的图像解码设备执行。步骤S610至S630可以由帧间预测单元260执行,并且步骤S610的预测信息和步骤S640的残差信息可以由熵解码器210从比特流获得。图像解码设备的残差处理器可以基于残差信息来推导当前块的残差样本(S640)。具体地,残差处理器的解量化器220可以基于根据残差信息而推导的量化变换系数来执行解量化以推导变换系数,并且残差处理器的逆变换器230可以针对变换系数执行逆变换以推导当前块的残差样本。步骤S650可以由加法器235或重构器执行。
具体地,图像解码设备可以基于所接收到的预测信息来确定当前块的预测模式(S610)。图像解码设备可以基于预测信息中的预测模式信息来确定哪种帧间预测模式应用于当前块。
例如,可以基于跳过标志来确定跳过模式是否应用于当前块。另外,可以基于合并标志来确定是合并模式还是MVP模式应用于当前块。另选地,可以基于模式索引来选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或MVP模式或者可以包括将在下面描述的各种帧间预测模式。
图像解码设备可以基于所确定的帧间预测模式来推导当前块的运动信息(S620)。例如,当跳过模式或合并模式应用于当前块时,图像解码设备可以构建将在下面描述的合并候选列表,并且选择合并候选列表中包括的合并候选中的一个。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。例如,可以将所选择的合并候选的运动信息用作当前块的运动信息。
作为另一示例,当MVP模式应用于当前块时,图像解码设备可以构建MVP候选列表,并且使用从MVP候选列表中包括的MVP候选当中选择的MVP候选的运动向量作为当前块的MVP。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来推导当前块的MVD,并且可以基于当前块的MVP和MVD来推导当前块的运动向量。另外,可以基于参考画面索引信息来推导当前块的参考画面索引。可以将当前块的参考画面列表中通过参考画面索引指示的画面推导为被参考以进行当前块的帧间预测的参考画面。
图像解码设备可以基于当前块的运动信息来生成当前块的预测样本(S630)。在这种情况下,可以基于当前块的参考画面索引来推导参考画面,并且可以使用参考画面上通过当前块的运动向量指示的参考块的样本来推导当前块的预测样本。在一些情况下,还可以针对当前块的预测样本中的全部或一些执行预测样本滤波过程。
例如,如图7所示,图像解码设备的帧间预测单元260可以包括预测模式确定单元261、运动信息推导单元262和预测样本推导单元263。在图像解码设备的帧间预测单元260中,预测模式确定单元261可以基于所接收到的预测模式信息来确定当前块的预测模式,运动信息推导单元262可以基于所接收到的运动信息来推导当前块的运动信息(运动向量和/或参考画面索引等),并且预测样本推导单元263可以推导当前块的预测样本。
图像解码设备可以基于所接收到的残差信息来生成当前块的残差样本(S640)。图像解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且基于此来生成重构画面(S650)。此后,环路内滤波过程适用于如上所述的重构画面。
如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式来推导运动信息的步骤、以及基于所推导的运动信息来执行预测(生成预测样本)的步骤。如上所述,帧间预测过程可以由图像编码设备和图像解码设备执行。
在下文中,将更详细地描述根据预测模式来推导运动信息的步骤。
如上所述,可以使用当前块的运动信息来执行帧间预测。图像编码设备可以通过运动估计过程来推导当前块的最优运动信息。例如,图像编码设备可以按分数像素单元使用当前块的原始画面中的原始块来在参考画面中在预定搜索范围内搜索具有高相关性的相似参考块,并且使用其来推导运动信息。可以基于当前块与参考块之间的绝对差之和(SAD)来计算块的相似度。在这种情况下,可以基于搜索区域中具有最小SAD的参考块来推导运动信息。可以根据基于帧间预测模式的各种方法将所推导的运动信息用信号通知给图像解码设备。
当合并模式应用于当前块时,不直接发送当前块的运动信息,并且使用邻近块的运动信息来推导当前块的运动信息。因此,可以通过发送指示合并模式被使用的标志信息和指示哪个邻近块被用作合并候选的候选选择信息(例如,合并索引)来指示当前预测块的运动信息。在本公开中,由于当前块是预测执行单元,所以当前块可以被用作与当前预测块相同的含义,并且邻近块可以被用作与邻近预测块相同的含义。
图像编码设备可以搜索用于推导当前块的运动信息的合并候选块以执行合并模式。例如,可以使用最多五个合并候选块,但不限于此。可以在切片头或拼块组头中发送合并候选块的最大数量,但不限于此。在找到合并候选块之后,图像编码设备可以生成合并候选列表并且选择具有最小RD成本的合并候选块作为最终合并候选块。
合并候选列表可以使用例如五个合并候选块。例如,可以使用四个空间合并候选和一个时间合并候选。
仿射模式的概述
以下,将详细描述作为帧间预测模式的示例的仿射模式。在传统视频编码/解码系统中,仅使用一个运动向量来表达当前块的运动信息(平移运动模型)。然而,在传统方法中,仅以块为单位来表达最优运动信息,但是最优运动信息无法以像素为单位来表达。为了解决此问题,已提出了以像素为单位定义块的运动信息的仿射运动模式。根据仿射模式,可以使用与当前块关联的两个至四个运动向量来确定块的各个像素和/或子块单元的运动向量。
与使用像素值的平移(或位移)表达的现有运动信息相比,在仿射模式下,各个像素的运动信息可以使用平移、缩放、旋转或剪切中的至少一种来表达。
图8是例示在仿射模式下可表达的运动的视图。
在图8所示的运动当中,使用位移、缩放或旋转来表达各个像素的运动信息的仿射模式可以是相似或简化仿射模式。以下描述中的仿射模式可以意指相似或简化仿射模式。
仿射模式下的运动信息可以使用两个或更多个控制点运动向量(CPMV)来表达。可以使用CPMV来推导当前块的特定像素位置的运动向量。在这种情况下,当前块的各个像素和/或子块的运动向量的集合可以被定义为仿射运动向量场(仿射MVF)。
图9是例示仿射模式的参数模型的视图。
当仿射模式应用于当前块时,可以使用4参数模型和6参数模型之一来推导仿射MVF。在这种情况下,4参数模型可以意指使用两个CPMV的模型类型,6参数模型可以意指使用三个CPMV的模型类型。图9的(a)和图9的(b)分别示出4参数模型和6参数模型中使用的CPMV。
当当前块的位置为(x,y)时,可以根据下式1或式2来推导根据像素位置的运动向量。例如,根据4参数模型的运动向量可以根据式1来推导,根据6参数模型的运动向量可以根据式2来推导。
[式1]
[式2]
在式1和式2中,mv0={mv_0x,mv_0y}可以是当前块的左上角位置处的CPMV,mv1={mv_1x,mv_1y}可以是当前块的右上位置处的CPMV,mv2={mv_2x,mv_2y}可以是当前块的左下位置处的CPMV。在这种情况下,W和H分别对应于当前块的宽度和高度,mv={mv_x,mv_y}可以意指像素位置{x,y}的运动向量。
在编码/解码处理中,可以以像素和/或预定义子块为单位来确定仿射MVF。当以像素为单位来确定仿射MVF时,可以基于各个像素值来推导运动向量。此外,当以子块为单位来确定仿射MVF时,可以基于子块的中心像素值来推导对应块的运动向量。中心像素值可以意指存在于子块的中心的虚拟像素或存在于中心的四个像素当中的右下像素。另外,中心像素值可以是子块中的特定像素并且可以是表示子块的像素。在本公开中,将描述以4×4子块为单位确定仿射MVF的情况。然而,这仅是为了描述方便,子块的大小可以不同地改变。
即,当仿射预测可用时,适用于当前块的运动模型可以包括三个模型,即,平移运动模型、4参数仿射运动模型和6参数仿射运动模型。这里,平移运动模型可以表示由现有块单元运动向量使用的模型,4参数仿射运动模型可以表示由两个CPMV使用的模型,6参数仿射运动模型可以表示由三个CPMV使用的模型。仿射模式可以根据运动信息编码/解码方法被分成详细模式。例如,仿射模式可以被再分成仿射MVP模式和仿射合并模式。
当仿射合并模式应用于当前块时,可以从以仿射模式编码/解码的当前块的邻近块推导CPMV。当当前块的至少一个邻近块以仿射模式编码/解码时,仿射合并模式可以应用于当前块。即,当仿射合并模式应用于当前块时,当前块的CPMV可以使用邻近块的CPMV来推导。例如,邻近块的CPMV可以被确定为当前块的CPMV,或者可以基于邻近块的CPMV来推导当前块的CPMV。当基于邻近块的CPMV来推导当前块的CPMV时,可以使用当前块或邻近块的至少一个编码参数。例如,邻近块的CPMV可以基于邻近块的大小和当前块的大小来修改并用作当前块的CPMV。
此外,以子块为单位来推导MV的仿射合并可以被称为子块合并模式,其可以由具有第一值(例如,1)的merge_subblock_flag指定。在这种情况下,下面描述的仿射合并候选列表可以被称为子块合并候选列表。在这种情况下,被推导为下述SbTMVP的候选可以被进一步包括在子块合并候选列表中。在这种情况下,被推导为sbTMVP的候选可以用作子块合并候选列表的索引#0的候选。换言之,被推导为sbTMVP的候选可以位于子块合并候选列表中下面描述的继承仿射候选和构建仿射候选的前面。
例如,可以定义指定仿射模式是否适用于当前块的仿射模式标志,其可以在当前块的至少一个更高级别(例如,序列、画面、切片、拼块、拼块组、图块等)用信号通知。例如,仿射模式标志可以命名为sps_affine_enabled_flag。
当应用仿射合并模式时,仿射合并候选列表可以被配置为推导当前块的CPMV。在这种情况下,仿射合并候选列表可以包括继承仿射合并候选、构建仿射合并候选或零合并候选中的至少一个。当当前块的邻近块以仿射模式编码/解码时,继承仿射合并候选可以意指使用邻近块的CPMV推导的候选。构建仿射合并候选可以意指基于各个控制点(CP)的邻近块的运动向量推导各个CPMV的候选。此外,零合并候选可以意指由大小为0的CPMV组成的候选。在以下描述中,CP可以意指用于推导CPMV的块的特定位置。例如,CP可以是块的各个顶点位置。
图10是例示生成仿射合并候选列表的方法的视图。
参照图10的流程图,可以按照继承仿射合并候选(S1210)、构建仿射合并候选(S1220)和零合并候选(S1230)的顺序将仿射合并候选添加到仿射合并候选列表。当即使所有继承仿射合并候选和构建仿射合并候选被添加到仿射合并候选列表,包括在候选列表中的候选的数量仍不满足最大候选数量时,可以添加零合并候选。在这种情况下,可以添加零合并候选直至仿射合并候选列表的候选数量满足最大候选数量。
图11是例示从邻近块推导的控制点运动向量(CPMV)的视图。
例如,可以推导最多两个继承仿射合并候选,其各自可以基于左邻近块和上邻近块中的至少一个来推导。
图12是例示用于推导继承仿射候选的邻近块的视图。
基于左邻近块推导的继承仿射合并候选基于图12的邻近块A0或A1中的至少一个来推导,基于上邻近块推导的继承仿射合并候选可以基于图12的邻近块B0、B1或B2中的至少一个来推导。在这种情况下,邻近块的扫描顺序可为A0至A1和B0、B1和B2,但不限于此。对于左和上中的每一个,可以基于扫描顺序中可用的第一邻近块来推导继承仿射合并候选。在这种情况下,在从左邻近块和上邻近块推导的候选之间可以不执行冗余检查。
例如,如图11所示,当左邻近块A以仿射模式编码/解码时,可以推导与邻近块A的CP对应的运动向量v2、v3和v4中的至少一个。当邻近块A通过4参数仿射模型编码/解码时,继承仿射合并候选可以使用v2和v3来推导。相比之下,当邻近块A通过6参数仿射模型编码/解码时,继承仿射合并候选可以使用v2、v3和v4来推导。
图13是例示用于推导构建仿射合并候选的邻近块的视图。
构建仿射候选可以意指具有使用邻近块的一般运动信息的组合推导的CPMV的候选。各个CP的运动信息可以使用当前块的空间邻近块或时间邻近块来推导。在以下描述中,CPMVk可以意指表示第k CP的运动向量。例如,参照图13,CPMV1可以被确定为B2、B3和A2的运动向量中可用的第一运动向量,并且在这种情况下,扫描顺序可为B2、B3和A2。CPMV2可以被确定为B1和B0的运动向量中可用的第一运动向量,并且在这种情况下,扫描顺序可为B1和B0。CPMV3可以被确定为A1和A0的运动向量之一,并且在这种情况下,扫描顺序可为A1和A0。当TMVP适用于当前块时,CPMV4可以被确定为时间邻近块T的运动向量。
在推导各个CP的四个运动向量之后,可以基于此来推导构建仿射合并候选。可以通过包括从所推导的各个CP的四个运动向量当中选择的至少两个运动向量来配置构建仿射合并候选。例如,构建仿射合并候选可以由按此顺序的{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}或{CPMV1,CPMV3}中的至少一个组成。由三个运动向量组成的构建仿射候选可以是6参数仿射模型的候选。相比之下,由两个运动向量组成的构建仿射候选可以是4参数仿射模型的候选。为了避免运动向量的缩放过程,当CP的参考画面索引彼此不同时,相关CPMV的组合可以被忽略而不用于推导构建仿射候选。
当仿射MVP模式应用于当前块时,编码/解码设备可以推导当前块的两个或更多个CPMV预测子和CPMV并且基于它们来推导CPMV差。在这种情况下,可以将CPMV差从编码设备用信号通知给解码设备。图像解码设备可以推导当前块的CPMV预测子,重构用信号通知的CPMV差,然后基于CPMV预测子和CPMV差来推导当前块的CPMV。
此外,当仿射合并模式或基于子块的TMVP不应用于当前块(例如,仿射合并标志或merge_subblock_flag的值为0)时,仿射MVP模式可以应用于当前块。另选地,当inter_affine_flag的值为1时,仿射MVP模式可以应用于当前块。此外,仿射MVP模式可以被表示为仿射CP MVP模式。下面描述的仿射mvp候选列表可以被称为控制点运动向量预测子候选列表。
当仿射MVP模式应用于当前块时,仿射MVP候选列表可以被配置为推导当前块的CPMV。在这种情况下,仿射MVP候选列表可以包括继承仿射MVP候选、构建仿射MVP候选、平移运动仿射MVP候选或零MVP候选中的至少一个。例如,仿射MVP候选列表可以包括最多n(例如,n=2)个候选。
在这种情况下,继承仿射MVP候选可以意指当当前块的邻近块以仿射模式编码/解码时基于邻近块的CPMV推导的候选。构建仿射MVP候选可以意指通过基于CP邻近块的运动向量生成CPMV组合而推导的候选。零MVP候选可以意指由值为0的CPMV组成的候选。推导方法以及继承仿射MVP候选和构建仿射MVP候选的特性与上述继承仿射候选和构建仿射候选相同,因此将省略其描述。
当仿射MVP候选列表的最大候选数量为2时,当当前候选数量小于2时可以添加构建仿射MVP候选、平移运动仿射MVP候选和零MVP候选。具体地,平移运动仿射MVP候选可以按以下顺序来推导。
例如,当包括在仿射MVP候选列表中的候选数量小于2并且构建仿射MVP候选的CPMV0有效时,CPMV0可以用作仿射MVP候选。即,CP0、CP1、CP2的所有运动向量均为CPMV0的仿射MVP候选可以被添加到仿射MVP候选列表。
接下来,当仿射MVP候选列表的候选数量小于2并且构建仿射MVP候选的CPMV1有效时,CPMV1可以用作仿射MVP候选。即,CP0、CP1、CP2的所有运动向量均为CPMV1的仿射MVP候选可以被添加到仿射MVP候选列表。
接下来,当仿射MVP候选列表的候选数量小于2并且构建仿射MVP候选的CPMV2有效时,CPMV2可以用作仿射MVP候选。即,CP0、CP1、CP2的所有运动向量均为CPMV2的仿射MVP候选可以被添加到仿射MVP候选列表。
不管上述条件,当仿射MVP候选列表的候选数量小于2时,当前块的时间运动向量预测子(TMVP)可以被添加到仿射MVP候选列表。不管上述内容,当仿射MVP候选列表的候选的数量小于2时,零MVP候选可以被添加到仿射MVP候选列表。
图14是例示生成仿射MVP候选列表的方法的视图。
参照图14的流程图,可以按照继承仿射MVP候选(S1610)、构建仿射MVP候选(S1620)、平移运动仿射MVP候选(S1630)和零MVP候选(S1640)的顺序将候选添加到仿射MVP候选列表。如上所述,步骤S1620至S1640可以根据在各个步骤中包括在仿射MVP候选列表中的候选数量是否小于2来执行。
继承仿射MVP候选的扫描顺序可以等于继承仿射合并候选的扫描顺序。然而,在继承仿射MVP候选的情况下,可以仅考虑参考与当前块的参考画面相同的参考画面的邻近块。当继承仿射MVP候选被添加到仿射MVP候选列表时,可以不执行冗余检查。
为了推导构建仿射MVP候选,可以仅考虑图13所示的空间邻近块。另外,构建仿射MVP候选的扫描顺序可以等于构建仿射合并候选的扫描顺序。另外,为了推导构建仿射MVP候选,可以检查邻近块的参考画面索引,并且在扫描顺序中,可以使用被帧间编码并参考与当前块的参考画面相同的参考画面的第一邻近块。
基于子块的时间运动向量预测(SbTMVP)模式的概述
以下,将详细描述作为帧间预测模式的示例的基于子块的TMVP模式。根据基于子块的TMVP模式,可以推导当前块的运动向量场(MVF)并且可以以子块为单位来推导运动向量。
与以编码单元为单位执行的传统TMVP模式不同,对于应用基于子块的TMVP模式的编码单元,运动向量可以以子编码单元为单位来编码/解码。另外,根据传统TMVP模式,可以从并置画面中的并置块来推导时间运动向量,但是在基于子块的TMVP模式下,可以从由从当前块的邻近块推导的运动向量指定的并置画面中的参考块来推导运动向量场。以下,从邻近块推导的运动向量可以被称为当前块的运动移位或代表性运动向量。
图15是例示基于子块的TMVP模式的邻近块的视图。
当基于子块的TMVP模式应用于当前块时,可以确定用于确定运动移位的邻近块。例如,可以按照图15的A1、B1、B0和A0的块的顺序对用于确定运动移位的邻近块执行扫描。作为另一示例,用于确定运动移位的邻近块可以被限制为当前块的特定邻近块。例如,用于确定运动移位的邻近块可以始终被确定为块A1。当邻近块具有参考col画面的运动向量时,对应运动向量可以被确定为运动移位。被确定为运动移位的运动向量可以被称为时间运动向量。此外,当无法从邻近块推导上述运动向量时,运动移位可以被设定为(0,0)。
图16是例示根据基于子块的TMVP模式来推导运动向量场的方法的视图。
接下来,可以确定运动移位所指定的并置画面上的参考块。例如,可以通过将运动移位与当前块的坐标相加来从col画面获得基于子块的运动信息(运动向量或参考画面索引)。在图16所示的示例中,假设运动移位是A1块的运动向量。通过对当前块应用运动移位,可以指定col画面中与配置当前块的各个子块对应的子块(col子块)。此后,使用col画面中的对应子块(col子块)的运动信息,可以推导当前块的各个子块的运动信息。例如,可以从对应子块的中心位置获得对应子块的运动信息。在这种情况下,中心位置可以是位于对应子块的中心的四个样本当中的右下样本的位置。当与当前块对应的col块的特定子块的运动信息不可用时,col块的中心子块的运动信息可以被确定为对应子块的运动信息。当推导对应子块的运动向量时,类似于上述TMVP过程,可以切换至参考画面索引和当前子块的运动向量。即,当推导基于子块的运动向量时,可以考虑参考块的参考画面的POC来执行运动向量的缩放。
如上所述,可以使用基于子块推导的当前块的的运动向量场或运动信息来推导当前块的基于子块的TMVP候选。
以下,以子块为单位配置的合并候选列表被定义为子块单元合并候选列表。上述仿射合并候选和基于子块的TMVP候选可以被合并以配置子块单元合并候选列表。
此外,可以定义指定基于子块的TMVP模式是否适用于当前块的基于子块的TMVP模式标志,其可以在当前块的较高级别(例如,序列、画面、切片、拼块、拼块组、图块等)当中的至少一个级别用信号通知。例如,基于子块的TMVP模式标志可以命名为sps_sbtmvp_enabled_flag。当基于子块的TMVP模式适用于当前块时,基于子块的TMVP候选可以首先被添加到子块单元合并候选列表,然后仿射合并候选可以被添加到子块单元合并候选列表。此外,可以用信号通知子块单元合并候选列表中可以包括的最大候选数量。例如,子块单元合并候选列表中可以包括的最大候选数量可为5。
用于推导子块单元合并候选列表的子块的大小可以用信号通知或预设为M×N。例如,M×N可为8×8。因此,仅当当前块的大小为8×8或更大时,仿射模式或基于子块的TMVP模式才适用于当前块。
以下,将描述本公开的预测执行方法的实施方式。可以在图4的步骤S410或图6的步骤S630中执行以下预测执行方法。
可以基于根据预测模式推导的运动信息来生成当前块的预测块。预测块(预测的块)可以包括当前块的预测样本(预测样本阵列)。当当前块的运动向量指定部分样本单元时,可以执行插值过程,并且由此,可以基于参考样本以参考画面内的部分样本为单位来推导当前块的预测样本。当仿射帧间预测应用于当前块时,可以基于样本/子块单元MV来生成预测样本。当应用双预测时,通过基于L0预测(即,使用MVL0和参考画面列表L0内的参考画面的预测)推导的预测样本和基于L1预测(即,使用MLV1和参考画面列表L1内的参考画面的预测)推导的预测样本的加权和或加权平均(根据相位)推导的预测样本可以用作当前块的预测样本。当应用双预测并且用于L0预测的参考画面和用于L1预测的参考画面相对于当前画面位于不同的时间方向上时(即,如果其对应于双预测和双向预测),这可被称为真双预测。
在图像解码设备中,可以基于推导的预测样本来生成重构样本和重构画面,然后可以执行环路内滤波过程。另外,在图像编码设备中,可以基于推导的预测样本来推导残差样本,并且可以执行包括预测信息和残差信息的图像信息的编码。
具有CU级别权重的双预测(BCW)
当双预测如上所述应用于当前块时,可以基于加权平均来推导预测样本。传统上,双预测信号(即,双预测样本)能够通过L0预测信号(L0预测样本)和L1预测信号(L1预测样本)的简单平均来推导。即,双预测样本通过基于L0参考画面和MVL0的L0预测样本与基于L1参考画面和MVL1的L1预测样本的平均来推导。然而,根据本公开,当应用双预测时,双预测信号(双预测样本)可以如下通过L0预测信号和L1预测信号的加权平均来推导。
[式3]
Pbi-pred=((8-w)*P0+w*P1+4)>>3
在上式3中,Pbi-pred表示通过加权平均推导的双预测信号(双预测块),P0和P1分别表示L0预测样本(L0预测块)和L1预测样本(L1预测块)。另外,(8-w)和w分别表示应用于P0和P1的权重。
在通过加权平均生成双预测信号时,可以允许五个权重。例如,权重w可以选自{-2,3,4,5,10}。对于各个双预测CU,权重w可以通过两种方法之一来确定。作为这两种方法中的第一种方法,当当前CU不是合并模式(非合并CU)时,权重索引可以连同运动向量差一起用信号通知。例如,比特流可以在关于运动向量差的信息之后包括关于权重索引的信息。作为这两种方法中的第二种方法,当当前CU是合并模式(合并CU)时,可以基于合并候选索引(合并索引)从邻近块推导权重索引。
通过加权平均生成双预测信号可以被限制为仅应用于具有包括256个或更多的样本(亮度分量样本)的大小的CU。即,可以仅针对当前块的宽度和高度的乘积为256或更大的CU执行通过加权平均的双预测。另外,权重w可以用作如上所述的五个权重之一,并且可以使用不同数量的权重之一。例如,根据当前图像的特性,五个权重可以用于低延迟画面,三个权重可以用于非低延迟画面。在这种情况下,三个权重可以是{3,4,5}。
通过应用快速搜索算法,图像编码设备可以确定权重索引而不显著增加复杂度。在这种情况下,快速搜索算法可以总结如下。以下,不等权重可以意指应用于P0和P1的权重不相等。另外,等权重可以意指应用于P0和P1的权重可以相等。
-在运动向量的分辨率自适应地改变的AMVR模式一起应用的情况下,当当前画面是低延迟画面时,可以仅为1像元运动向量分辨率和4像元运动向量分辨率中的每一个有条件地检查不等权重。
-在仿射模式一起应用并且仿射模式被选为当前块的最优模式的情况下,图像编码设备可以针对各个不等权重执行仿射运动估计(ME)。
-当用于双预测的两个参考画面相等时,可以仅有条件地检查不等权重。
-当满足预定条件时,可以不检查不等权重。预定画面可以基于当前画面和参考画面之间的POC距离、量化参数(QP)、时间级别等。
BCW的权重索引可以使用一个上下文编码bin以及一个或更多个后续旁路编码bin来编码。第一上下文编码bin指定是否使用等权重。当使用不等权重时,附加bin可以被旁路编码并用信号通知。可以用信号通知附加bin以指定使用哪一权重。
加权预测(WP)是用于高效地编码包括褪色的图像的工具。根据加权预测,可以为包括在参考画面列表L0和L1中的每一个中的各个参考画面用信号通知加权参数(权重和偏移)。然后,当执行运动补偿时,权重和偏移可以应用于对应参考画面。加权预测和BCW可以用于不同类型的图像。为了避免加权预测和BCW之间的交互,对于使用加权预测的CU,可以不用信号通知BCW权重索引。在这种情况下,权重可以被推断为4。即,可以应用等权重。
在应用合并模式的CU的情况下,可以基于合并候选索引从邻近块推断权重索引。这可以应用于一般合并模式和继承仿射合并模式二者。
在构建仿射合并模式的情况下,可以基于最多三个块的运动信息来配置仿射运动信息。使用构建仿射合并模式的CU的BCW权重索引可以被设定为组合中的第一CP的BCW权重索引。即,BCW可以不应用于以CIIP模式编码的CU。例如,以CIIP模式编码的CU的BCW权重索引可以被设定为指定等权重的值。
双向光流(BDOF)
根据本公开,BDOF可以用于细化双预测信号。当双预测应用于当前块(例如,CU)时,BDOF通过计算细化运动信息来生成预测样本。因此,通过应用BDOF来计算细化运动信息的处理可以被包括在上述运动信息推导步骤中。
例如,可以在4×4子块级别应用BDOF。即,可以在当前块内以4×4子块为单位执行BDOF。
例如,BODF可以应用于满足以下条件中的至少一个或所有的CU。
-CU以真正的双预测模式编码,即,两个参考画面之一按显示顺序在当前画面之前,另一个按显示顺序在当前画面之后
-CU不处于仿射模式或ATMVP合并模式
-CU具有超过64个亮度样本
-CU的高度和宽度为8个或更多个亮度样本
-BCW权重索引指定等权重,即,对L0预测样本和L1预测样本应用等权重
-加权预测(WP)不应用于当前CU
-CIIP模式用于当前CU
另外,BDOF可以仅应用于亮度分量。然而,本公开不限于此,BDOF可以应用于色度分量或亮度分量和色度分量二者。
BDOF模式基于光流的概念。即,假设对象的运动平滑。当应用BDOF时,对于各个4×4子块,可以计算运动细化(vx,vy)。可以通过使L0预测样本和L1预测样本之间的差最小化来计算运动细化。运动细化可以用于调节4×4子块内的双预测样本值。
在下文中,将更详细地描述执行BDOF的处理。
首先,可以计算两个预测信号的水平梯度和垂直梯度在这种情况下,k可为0或1。可以通过直接计算两个相邻样本之间的差来计算梯度。例如,梯度可以如下计算。
[式4]
在上式4中,I(k)(i,j)表示列表k(k=0,1)中的预测信号的坐标(i,j)的样本值。例如,I(0)(i,j)可以表示L0预测块中的位置(i,j)处的样本值,I(1)(i,j)可以表示L1预测块中的位置(i,j)处的样本值。在上式4中,可以基于亮度分量的比特深度来确定第一移位shift1。例如,当亮度分量的比特深度为bitDepth时,shift1可以被确定为max(6,bitDepth-6)。
如上所述,在计算梯度之后,梯度之间的自相关和互相关S1、S2、S3、S5和S6可以如下计算。
[式5]
S1=∑(i,j)∈ΩAbs(ψx(i,j)),S3=∑(i,j)∈Ωθ(i,j)·Sign(ψx(i,j))
其中
θ(i,j)=(I(1)(i,j)>>nb)-(I(0)(i,j)>>nb)
其中,Ω是4×4子块周围的6×6窗口。
在上式5中,na和nb可以分别被设定为min(1,bitDepth-11)和min(4,bitDepth-8)。
运动细化(vx,vy)可以使用梯度之间的上述自相关和互相关如下推导。
[式6]
其中S_(2,s)=S_2&(2^(n_(S_2))-1),th′BIO=213-BD。并且是floor函数。
在上式6中,nS2可为12。基于推导的运动细化和梯度,可以针对4×4子块中的各个样本执行以下调节。
[式7]
最后,可以通过如下调节CU的双预测样本来计算应用BDOF的CU的预测样本predBDOF
[式8]
predBDOF(x,y)=(I(0)(x,y)+I(1)(x,y)+b(x,y)+ooffset)>>shift
在上式中,na、nb和nS2可分别为3、6和12。这些值可以被选择为使得在BDOF处理中乘数不超过15比特并且中间参数的比特宽度维持在32比特内。
为了推导梯度值,可以生成列表k(k=0,1)中存在于当前CU之外的预测样本I(k)(i,j)。图17是例示扩展以执行BDOF的CU的视图。
如图17所示,为了执行BDOF,可以使用围绕CU的边界扩展的行/列。为了控制生成边界之外的预测样本的计算复杂度,扩展区域(图17中的白色区域)中的预测样本可以使用双线性滤波器来生成,CU(图17中的灰色区域)中的预测样本可以使用正常8抽头运动补偿插值滤波器来生成。扩展位置处的样本值可以仅用于梯度计算。当需要位于CU边界之外的样本值和/或梯度值以执行BDOF处理的剩余步骤时,可以填充(重复)并使用最近的邻近样本值和/或梯度值。
当CU的宽度和/或高度大于16个亮度样本时,对应CU可以被划分为具有16个亮度样本的宽度和/或高度的子块。子块的边界可以按照与BDOF处理中的上述CU边界相同的方式处理。执行BDOF处理的最大单元大小可以被限制为16×16。
对于各个子块,可以确定是否执行BDOF。即,可以跳过对各个子块的BDOF处理。例如,当初始L0预测样本与初始L1预测样本之间的SAD值小于预定阈值时,BDOF处理可以不应用于对应子块。在这种情况下,当对应子块的宽度和高度为W和H时,预定阈值可以被设定为(8*W*(H>>1)。考虑到附加SAD计算的复杂度,可以重用在DMVR处理中计算的初始L0预测样本与初始L1预测样本之间的SAD。
当对于当前块BCW可用时,例如,当BCW权重索引指定不等权重时,可以不应用BDOF。类似地,当对于当前块WP可用时,例如,当两个参考画面中的至少一个的luma_weight_lx_flag为1时,可以不应用BDOF。在这种情况下,luma_weight_lx_flag可以是指定用于lx预测(x为0或1)的亮度分量的WP的加权因子是否存在于比特流中的信息或指定WP是否应用于lx预测的亮度分量的信息。当CU以对称MVD(SMVD)模式或CIIP模式编码时,可以不应用BDOF。
光流预测细化(PROF)
以下,将描述通过应用光流来细化基于子块的仿射运动补偿预测块的方法。通过执行基于子块的仿射运动补偿而生成的预测样本可以基于由光流方程推导的差来细化。在本公开中这些预测样本的细化可以被称为光流预测细化(PROF)。通过PROF,可以实现像素级别粒度的帧间预测而无需增加存储器访问的带宽。
仿射运动模型的参数可以用于推导CU中的各个像素的运动向量。然而,由于基于像素的仿射运动补偿预测导致高复杂度以及存储器访问带宽的增加,所以可以执行基于子块的仿射运动补偿预测。当执行基于子块的仿射运动补偿预测时,CU可以被划分成4×4子块,并且可以为各个子块确定运动向量。在这种情况下,可以从CU的CPMV推导各个子块的运动向量。基于子块的仿射运动补偿在编码效率与复杂度和存储器访问带宽之间具有折衷关系。由于以子块为单位推导运动向量,所以复杂度和存储器访问带宽降低,但是预测准确性降低。
因此,可以通过对基于子块的仿射运动补偿预测应用光流来通过细化实现细化粒度的运动补偿。
如上所述,可以通过在执行基于子块的仿射运动补偿之后与由光流方程推导的差相加来细化亮度预测样本。更具体地,可以按以下四个步骤执行PROF。
步骤1)通过执行基于子块的仿射运动补偿来生成预测子块I(i,j)。
步骤2)在各个样本位置计算预测子块的空间梯度gx(i,j)和gy(i,j)。在这种情况下,可以使用3抽头滤波器,并且滤波器系数可为[-1,0,1]。例如,可如下计算空间梯度。
[式9]
gx(i,j)=I(i+1,j)-I(i-1,j)
gy(i,j)=I(i,j+1)-I(i,j-1)
为了计算梯度,预测子块可以在每一侧扩展一个像素。在这种情况下,为了降低存储器带宽和复杂度,扩展边界的像素可以从参考画面中的最近整数个像素复制。因此,可以跳过填充区域的附加插值。
步骤3)可以通过光流方程来计算亮度预测细化(ΔI(i,j))。例如,可以使用下式。
[式10]
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j)
在上式中,Δv(i,j)表示在样本位置(i,j)处计算的像素运动向量(像素MV,v(i,j))与样本(i,j)所属的子块的子块MV之间的差。
图18是例示Δv(i,j)、v(i,j)和子块运动向量之间的关系的视图。
在图18所示的示例中,例如,当前子块的左上样本位置处的运动向量v(i,j)与当前子块的运动向量vSB之间的差可以由粗虚线箭头表示,并且由粗虚线箭头表示的向量可以对应于Δv(i,j)。
从子块的中心的仿射模型参数和像素位置不改变。因此,Δv(i,j)可以仅针对第一子块计算并且可重用于同一CU中的其它子块。假设从像素位置到子块的中心的水平偏移和垂直偏移分别为x和y,Δv(x,y)可以如下推导。
[式11]
对于4参数仿射模型,
对于6参数仿射模型,
在上文中,(v0x,v0y)、(v1x,v1y)和(v2x,v2y)分别对应于左上CPMV、右上CPMV和左下CPMV,并且w和h分别表示CU的宽度和高度。
步骤4)最后,可以基于计算的亮度预测细化ΔI(i,j)和预测子块I(i,j)来生成最终预测块I’(i,j)。例如,最终预测块I’可以如下生成。
[式12]
I′(i,j)=I(i,j)+ΔI(i,j)
子画面的概述
如上所述,可以基于量化参数执行亮度分量和色度分量的量化和解量化。另外,要编码的一个画面可以以多个CTU、切片、拼块或图块为单位划分,此外,画面可以以多个子画面为单位划分。
在画面内,子画面可以被编码或解码而不管其前面的子画面是否被编码或解码。例如,不同的量化或不同的分辨率可以应用于多个子画面。
此外,可以像单独的画面一样处理子画面。例如,要编码的画面可以是360度图像/视频或全向图像/视频中的投影画面或打包画面。
在此实施方式中,可以基于用户终端(例如,头戴式显示器)的视口来渲染或显示画面的一部分。因此,为了实现低延迟,构建一个画面的子画面当中覆盖视口的至少一个子画面可以优先或独立于剩余子画面被编码或解码。
子画面的编码结果可以被称为子比特流、子流或简称为比特流。解码设备可以从子比特流、子流或比特流解码子画面。在这种情况下,诸如PPS、SPS、VPS和/或DPS(解码参数集)的高级语法(HLS)可以用于对子画面进行编码/解码。
在本公开中,高级语法(HLS)可以包括APS语法、PPS语法、SPS语法、VPS语法、DPS语法或切片头语法中的至少一个。例如,APS(APS语法)或PPS(PPS语法)可以包括共同适用于一个或更多个切片或画面的信息/参数。SPS(SPS语法)可以包括共同适用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括共同适用于多个层的信息/参数。DPS(DPS语法)可以包括共同适用于整个视频的信息/参数。例如,DPS可以包括与编码视频序列(CVS)的级联有关的信息/参数。
子画面的定义
子画面可以构建编码画面的矩形区域。子画面的大小可以在画面内不同地设定。对于属于一个序列的所有画面,特定单独的子画面的大小和位置可以同等地设定。单独的子画面序列可以被独立地解码。拼块和切片(和CTB)可以被限制为不跨越子画面边界。为此,编码设备可以执行编码,使得子画面被独立地解码。为此,可能需要比特流中的语义约束。另外,对于一个序列中的各个画面,子画面中的拼块、切片和图块的布置可以不同地构建。
子画面设计目的
子画面设计旨在小于画面级别或大于切片或拼块组级别的范围的抽象或封装。因此,运动常数拼块集(MCTS)子集的VCL NAL单元可以从一个VVC比特流提取,并且被重定向至另一VVC比特流而没有诸如VCL级别的修改的困难。这里,MCTS是允许拼块之间的空间和时间独立性的编码技术。当应用MCTS时,无法参考关于当前拼块所属的MCTS中不包括的拼块的信息。当图像被划分成MCTS并编码时,可进行MCTS的独立传输和解码。
这种子画面设计的优点在于改变混合分辨率视口相关360°流方案中的观察方向。
子画面使用情况
在视口上提供扩展真实空间分辨率的视口相关360°方案中需要使用子画面。例如,从6K(6144×3072)ERP(等矩形投影)画面或具有与其等效的4K解码性能(HEVC级别5.1)的立方体图投影(CMP)分辨率衍生的覆盖视口的拼块中的方案包括在OMAF的D.6.3和D.6.4节中并在VR行业论坛指南采用。已知这种分辨率适合于使用四倍HD(2560×1440)显示面板的头戴式显示器。
编码:内容可以利用包括具有1656×1536立方体面大小的分辨率和具有768×768立方体面大小的分辨率的两个空间分辨率编码。在两个比特流中,可以使用6×4拼块网格,并且MCTS可以在各个拼块位置处编码。
流式MCTS选择:可以从高分辨率比特流选择12个MCTS,并且可以从低分辨率比特流获得12个附加MCTS。因此,可以从高分辨率比特流生成流式内容的半球(180°×180°)。
使用MCTS和比特流的合并解码:接收单个时间实例的MCTS,其可以被合并成具有符合HEVC级别5.1的1920×4608分辨率的编码画面。在合并画面的另一选项中,四个拼块列具有768的宽度值,两个拼块列具有384的宽度值,三个拼块行具有768的高度值,从而构建由3840×2304亮度样本组成的画面。这里,宽度和高度单位可以是亮度样本数量的单位。
子画面信令
可以如图19所示在SPS级别执行子画面的信令。图19示出用于在SPS中用信号通知子画面语法元素的语法。以下,将描述图19的语法元素。
语法元素pic_width_max_in_luma_samples可以参考SPS以亮度样本为单位指定各个解码画面的最大宽度。pic_width_max_in_luma_samples的值大于0并且可以具有andMinCbSizeY的整数倍的值。这里,MinCbSizeY是指定亮度分量编码块的最小大小的变量。
语法元素pic_height_max_in_luma_samples可以参考SPS以亮度样本为单位指定各个解码画面的最大高度。pic_height_max_in_luma_samples大于0并且可具有MinCbSizeY的整数倍的值。
语法元素subpic_grid_col_width_minus1可以用于指定子画面标识符网格的各个元素的宽度。例如,subpic_grid_col_width_minus1可以以4个样本为单位指定子画面标识符网格的各个元素的宽度,并且通过将1与subpic_grid_col_width_minus1相加而获得的值可以以4个样本为单位指定子画面标识符网格的各个元素的宽度。语法元素的长度可为Ceil(Log2(pic_width_max_in_luma_samples/4))比特长度。
因此,指定子画面网格中的列数的变量NumSubPicGridCols可以如下推导。
NumSubPicGridCols=(pic_width_max_in_luma_samples+subpic_grid_col_width_minus1*4+3)/(subpic_grid_col_width_minus1*4+4)
语法元素subpic_grid_row_height_minus1可以用于指定子画面标识符网格的各个元素的高度。例如,subpic_grid_row_height_minus1可以以4个样本为单位指定子画面标识符网格的各个元素的高度。通过将1与subpic_grid_row_height_minus1相加而获得的值可以以4个样本为单位指定子画面标识符网格的各个元素的高度。语法元素的长度可为Ceil(Log2(pic_height_max_in_luma_samples/4))比特长度。
因此,指定子画面网格中的行数的变量NumSubPicGridRows可以如下推导。
NumSubPicGridRows=(pic_height_max_in_luma_samples+subpic_grid_row_height_minus1*4+3)/(subpic_grid_row_height_minus1*4+4)
语法元素subpic_grid_idx[i][j]可以指定网格位置(i,j)的子画面索引。语法元素的长度可为Ceil(Log2(max_subpics_minus1+1))比特。
变量SubPicTop[subpic_grid_idx[i][j]]、SubPicLeft[subpic_grid_idx[i][j]]、SubPicWidth[subpic_grid_idx[i][j]]、SubPicHeight[subpic_grid_idx[i][j]]和NumSubPics可以如图20的算法中那样推导。
语法元素subpic_treated_as_pic_flag[i]可以指定在环路内滤波处理以外的解码处理中子画面是否被当作与正常画面相同。例如,subpic_treated_as_pic_flag[i]的第一值(例如,0)可以指定在环路内滤波处理以外的解码处理中CVS中的各个编码画面的第i子画面不被当作画面。subpic_treated_as_pic_flag[i]的第二值(例如,1)可以指定在环路内滤波处理以外的解码处理中CVS中的各个编码画面的第i子画面被当作画面。当未从比特流获得subpic_treated_as_pic_flag[i]的值时,subpic_treated_as_pic_flag[i]的值可以被推导为第一值(例如,0)。
语法元素loop_filter_across_subpic_enabled_flag[i]可以指定是否跨属于CVS的各个编码画面的第i子画面的边界执行环路内滤波。例如,loop_filter_across_subpic_enabled_flag[i]的第一值(例如,0)可以指定不跨属于CVS的各个编码画面的第i子画面的边界执行环路内滤波。loop_filter_across_subpic_enabled_flag[i]的第二值(例如,1)可以指定可以跨属于CVS的各个编码画面的第i子画面的边界执行环路内滤波。当未从比特流获得loop_filter_across_subpic_enabled_flag[i]的值时,loop_filter_across_subpic_enabled_flag[i]的值可以被推导为第二值。
此外,为了比特流一致性,可以应用以下约束。对于任两个子画面subpicA和subpicB,当subpicA的索引小于subpicB的索引时,subpicA的所有编码NAL单元可具有低于subpicB的所有编码NAL单元的解码顺序。另选地,在执行解码之后,子画面的形状需要具有构建画面边界的完美左边界和完美上边界或者先前解码的子画面的边界。
基于子画面的编码和解码的概述
以下公开涉及上述画面和/或子画面的编码/解码。编码设备可以基于子画面结构对当前画面进行编码。另选地,编码设备可以对构建当前画面的至少一个子画面进行编码并且输出包括关于至少一个(编码)子画面的(编码)信息的(子)比特流。
解码设备可以基于包括关于至少一个子画面的(编码)信息的(子)比特流至少对属于当前画面的子画面进行解码。
图21是例示根据实施方式的编码设备使用子画面对图像进行编码的方法的视图。编码设备可以将输入画面划分成多个子画面(S2110)。编码设备可以使用关于子画面的信息对至少一个子画面进行编码(S2110)。例如,各个子画面可以使用关于子画面的信息独立地分离并编码。接下来,编码设备可以通过对包括关于子画面的信息的图像信息进行编码来输出比特流(S2130)。这里,子画面的比特流可以被称为子流或子比特流。
关于子画面的信息将在本公开中不同地描述,例如,可存在关于是否可以跨子画面的边界执行环路内滤波的信息、关于子画面区域的信息、关于使用子画面的网格间距的信息等。
图22是例示根据实施方式的解码设备使用子画面对图像进行解码的方法的视图。解码设备可以从比特流获得关于子画面的信息(S2210)。接下来,解码设备可以推导至少一个子画面(S2220)并且对至少一个子画面进行解码(S2230)。
这样,解码设备可以对至少一个子画面进行解码,因此输出至少一个解码的子画面或包括至少一个子画面的当前画面。比特流可以包括子画面的子流或子比特流。
如上所述,关于子画面的信息可以在比特流的HLS中构建。解码设备可以基于关于子画面的信息来推导至少一个子画面。解码设备可以基于CABAC方法、预测方法、残差处理方法(变换、量化)、环路内滤波方法等对子画面进行解码。
当输出解码的子画面时,解码的子画面可以按照OPS(输出子画面集)的形式一起输出。例如,当当前画面与360°或全向图像/视频有关并被部分地渲染时,仅一些子画面可以被解码,并且一些或所有解码的子画面可以根据用户的视口来渲染。
当指定跨子画面边界的环路内滤波是否可用的信息指定可用性时,解码设备可以对位于两个子画面之间的子画面边界执行环路内滤波(例如,去块滤波器)。此外,当子画面边界等于画面边界时,可以不应用对子画面边界的环路内滤波处理。
本公开涉及基于子画面的编码/解码。以下,将更详细地描述本公开的实施方式适用于的BDOF和PROF。
如上所述,通过在帧间预测处理中应用BDOF以在运动补偿处理中细化参考样本,可增加图像的压缩性能。BDOF可以在正常模式下执行。即,在仿射模式、GPM模式或CIIP模式的情况下不执行BDOF。
图23是例示通过应用BDOF来推导当前块的预测样本的处理的视图。
图23的基于BDOF的帧间预测过程可以由图像编码设备和图像解码设备执行。
首先,在步骤S2310中,可以推导当前块的运动信息。当前块的运动信息可以通过本公开中描述的各种方法来推导。例如,当前块的运动信息可以通过常规合并模式、MMVD模式或AMVP模式来推导。运动信息可以包括双预测运动信息(L0运动信息和L1运动信息)。例如,L0运动信息可以包括MVL0(L0运动向量)和refIdxL0(L0参考画面索引),L1运动信息可以包括MVL1(L1运动向量)和refIdxL1(L1参考画面索引)。
此后,可以基于当前块的推导运动信息来推导当前块的预测样本(S2320)。具体地,当前块的L0预测样本可以基于L0运动信息来推导。另外,当前块的L1预测样本可以基于L1运动信息来推导。
此后,可以基于所推导的预测样本来推导BDOF偏移(S2330)。步骤S2330的BDOF可以根据本公开中描述的方法来执行。例如,可以基于L0预测样本的梯度(根据相位)和L1预测样本的梯度(根据相位)来推导BDOF偏移。
此后,基于LX(X=0或1)预测样本和BDOF偏移,可以推导当前块的细化预测样本(S2340)。细化预测样本可以用于生成当前块的最终预测块。
图像编码设备可以基于根据图23的方法生成的当前块的预测样本通过与原始样本的比较来推导残差样本。如上所述,关于残差样本的信息(残差信息)可以被包括在图像/视频信息中并编码并且以比特流的形式输出。另外,如上所述,图像解码设备可以基于根据图23的方法生成的当前块的预测样本和基于比特流中的残差信息获得的残差样本来生成重构的当前块。
图24是例示根据本公开的实施方式的BDOF处理的输入和输出的视图。
如图24所示,BDOF处理的输入可以包括当前块的宽度nCbW、高度CbH、边界区域扩展预定长度(例如,2)的预测子块predSamplesL0和predSamplesL1、预测方向索引predFlagL0和predFlagL1以及参考画面索引refIdxL0和refIdxL1。另外,BDOF处理的输入还可以包括BDOF利用标志bdofUtilizationFlag。在这种情况下,BDOF利用标志可以是以当前块内的子块为单位指定BDOF是否应用于对应子块的输入。
另外,BDOF处理可以通过基于输入信息应用BDOF来生成细化预测块pbSamples。
图25是例示根据本公开的实施方式的用于BDOF处理的变量的视图。图25可以是图24之后的处理。
如图25所示,为了执行BDOF处理,当前块的输入比特深度bitDepth可以被设定为BitDepthY。在这种情况下,BitDepthY可以基于通过比特流用信号通知的关于比特深度的信息来推导。另外,可以基于比特深度来设定各种右移。例如,第一移位shift1、第二移位shift2、第三移位shift3和第四移位shift4可以如图24所示基于比特深度来推导。另外,可以基于shift4来设定偏移offset4。另外,可以基于比特深度来设定用于指定运动细化的限幅范围的变量mvRefineThres。下面将描述图24中描述的各种变量的用途。
图26是例示根据本公开的实施方式的基于是否应用BDOF来生成当前CU中的各个子块的预测样本的方法的视图。图26可以是图25之后的处理。
可以对当前CU中的各个子块执行图26所示的处理,并且在这种情况下,子块的大小可为4×4。当当前子块的BDOF利用标志bdofUtilizationFlag为第一值(假,“0”)时,BDOF可不应用于当前子块。在这种情况下,当前子块的预测样本由L0预测样本和L1预测样本的加权和推导,并且在这种情况下,应用于L0预测样本的权重和应用于L1预测样本的权重可以相同。图26的式(1)中使用的shift4和offset4可以是图17中设定的值。当当前子块的BDOF利用标志bdofUtilizationFlag为第二值(真,“1”)时,BDOF可应用于当前子块。在这种情况下,可以通过根据本公开的BDOF处理来生成当前子块的预测样本。
图27是例示根据本公开的实施方式的推导当前子块的梯度、自相关和互相关的方法的视图。图27可以是图26之后的处理。
对当前CU中的各个子块执行图27所示的处理,并且在这种情况下,子块的大小可为4×4。
根据图27,根据式(1)和式(2),可以推导当前子块中的各个样本位置(x,y)的位置(hx,hy)。此后,可以根据式(3)至式(6)推导各个样本位置的水平梯度和垂直梯度。此后,可以根据式(7)至式(9)推导用于推导自相关和互相关的变量(第一中间参数diff以及第二中间参数tempH和tempV)。例如,可以使用通过对当前块的预测样本predSamplesL0和predSamplesL1应用右移第二移位shift2而获得的值来推导第一中间参数diff。例如,可以通过如式(8)和式(9)中对L0方向上的梯度与L1方向上的梯度之和应用右移第三移位shift3来推导第二中间参数tempH和tempV。此后,可以根据式(10)至式(16)基于所推导的第一中间参数和第二中间参数来推导自相关和互相关。
图28是例示根据本公开的实施方式的推导运动细化(vx,vy),推导BDOF偏移并生成当前子块的预测样本的方法的视图。图28可以是图27之后的处理。
对当前CU中的各个子块执行图28所示的处理,并且在这种情况下,子块的大小可为4×4。
根据式28,可以根据式(1)和式(2)推导运动细化(vx,vy)。运动细化可以被限幅在由mvRefineThres指定的范围内。另外,基于运动细化和梯度,可以根据式(3)推导BDOF偏移bdofOffset。可以根据式(4)使用所推导的BDOF偏移生成当前子块的预测样本pbSamples。
通过连续地执行参照图24至图28描述的方法,可以实现根据本公开的第一实施方式的BDOF处理。在根据图24至图28的实施方式中,第一移位shift1被设定为Max(6,bitDepth-6),mvRefineThres被设定为1<<Max(,bitDepth-7)。因此,predSample的比特宽度和根据BitDepth的BDOF的各个参数可以如下表所示推导。
[表1]
如上所述,通过在帧间预测处理中应用BDOF以在运动补偿处理中细化参考样本,可增加图像的压缩性能。可以在正常模式下执行BDOF。即,在仿射模式、GPM模式或CIIP模式的情况下不执行BDOF。
作为与BDOF类似的方法,可以对以仿射模式编码的块执行PROF。如上所述,通过经由PROF细化各个4×4子块中的参考样本,可增加图像的压缩性能。
根据本公开,可以推导当前块的上述仿射运动(子块运动)信息,并且可以通过上述PROF处理细化仿射运动信息或者可以细化基于仿射运动信息推导的预测样本。
图29是例示通过应用PROF来推导当前块的预测样本的处理的视图。
图29的基于PROF的帧间预测过程可以由图像编码设备和图像解码设备执行。
首先,在步骤S2910中,可以推导当前块的运动信息。当前块的运动信息可以通过本公开中描述的各种方法来推导。例如,当前块的运动信息可以通过在上述仿射模式或基于子块的TMVP模式中描述的方法来推导。运动信息可以包括当前块的子块运动信息。子块运动信息可以包括双预测子块运动信息(L0子块运动信息和L1子块运动信息)。例如,L0子块运动信息可以包括sbMVL0(L0子块运动向量)和refIdxL0(L0参考画面索引),L1子块运动信息可以包括sbMVL1(L1子块运动向量)和refIdxL1(L1参考画面索引)。
此后,可以基于当前块的推导的运动信息来推导当前块的预测样本(S2920)。具体地,可以基于L0子块运动信息来推导当前块的各个子块的L0预测样本。另外,可以基于L1子块运动信息来推导当前块的各个子块的L1预测样本。
此后,可以基于推导的预测样本来推导PROF偏移(S2930)。步骤S2930的PROF可以根据本公开中描述的方法来执行。例如,可以计算LX(X=0或1)预测样本的差分运动向量diffMv和梯度,并且基于这些,可以根据本公开中描述的方法来推导PROF偏移dI或ΔI。本公开的各种示例涉及差分运动向量推导、梯度推导和/或PROF偏移推导。
此后,基于LX(X=0或1)预测样本和PROF偏移,可以推导当前块的细化预测样本(S2940)。细化预测样本可以用于生成当前块的最终预测块。例如,可以通过对细化L0预测样本和细化L1预测样本加权求和来生成当前块的最终预测块。
图像编码设备可以基于根据图29的方法生成的当前块的预测样本通过与原始样本的比较来推导残差样本。关于残差样本的信息(残差信息)可以被包括在图像/视频信息中并被编码并且如上所述以比特流的形式输出。另外,图像解码设备可以如上所述基于根据图29的方法生成的当前块的预测样本以及基于比特流中的残差信息获得的残差样本来生成重构的当前块。
图30是例示根据本公开的PROF处理的示例的视图。
根据图30的示例,可以使用当前子块的宽度sbWidth、高度sbHeight、边界区域延伸预定长度borderExtention的预测子块predSamples和差分运动向量diffMv作为输入来执行PROF处理。在这种情况下,例如,预测子块可以是通过执行仿射运动补偿而生成的预测子块。作为执行PROF处理的结果,可以生成细化预测子块pbSamples。
为了执行PROF处理,可以计算预定第一移位shift1。第一移位可以基于亮度分量的比特深度BitDepthY来推导。例如,第一移位可以被推导为6和(BitDepthY-6)的最大值。
此后,可以针对输入预测子块的各个样本位置(x,y)计算水平梯度gradientH,gx和垂直梯度gradientV,gy。水平梯度和垂直梯度可分别根据图30的式(1)和式(2)来计算。
此后,基于水平梯度、垂直梯度和差分运动向量diffMv,可以计算各个样本位置的PROF偏移dI或ΔI。例如,PROF偏移可以根据图30的式(3)来计算。在式(3)中,用于计算PROF偏移的差分运动向量diffMv可以意指参照图18描述的Δv。在这种情况下,可以通过dmvLimit如下对diffMv进行限幅,并且可以基于BitDepthY如下计算dmvLimit。
[式13]
dmvLimit=1<<Max(5,BitDepthY-7),
diffMv[x][y][i]=Clip3(-dmvLimit,dmvLimit-1,diffMv[x][y][i])
此后,可以基于计算的PROF偏移和预测子块predSamples来推导细化预测子块pbSamples。例如,细化预测子块可以根据图30的式(4)来推导。
根据图30的示例,第一移位shift1)可以被设定为Max(6,bitDepth-6),dmvLimit可以被设定为1<<Max(5,bitDepth-7)。另外,diffMv可被限幅在[-dmvLimit,dmvLimit-1]的范围内。因此,predSample的比特宽度和根据BitDepthY的PROF的各个参数可以如下表所示推导。
[表2]
本公开可以提供在执行基于子画面的编码/解码时子画面被当作画面(例如,subpic_treated_as_pic_flag==1)的情况的各种实施方式。例如,在BDOF或PROF处理中,参考样本提取处理可以被约束为不参考与当前块所属的子画面不同的子画面中所包括的参考样本。另外,在时间运动向量预测子推导处理、亮度样本的双线性插值处理、亮度样本的8抽头插值滤波处理和/或色度样本插值处理中,可以添加根据子画面被当作画面的约束。
如上所述,在BDOF和/或PROF处理中,为了计算梯度,可以使用围绕当前块的边界延伸预定长度的参考样本。然而,当当前块所属的当前子画面被当作画面时,用于计算梯度的参考样本的范围需要被限制在与当前子画面相同的子画面内。
如上所述,预测样本在BDOF的情况下可以通过bdofOffset修改,在PROF的情况下可以通过dI修改。bdofOffset和dI可以基于梯度来获得。梯度可以基于参考画面中的参考样本之间的差来推导。为了推导梯度,可以执行从参考画面提取参考样本的参考样本提取处理和8抽头插值滤波处理。参考样本提取处理的输出可以是整数像素位置处的亮度样本。
图31是例示要跨子画面的边界提取参考样本的情况的视图。
在图31中,参考画面中要提取的区域(提取区域)可以根据当前画面中的当前子画面[1]中所包括的当前块的运动向量来指定。在这种情况下,提取区域可以横跨参考画面中的子画面[1]的边界存在。即,要提取的参考样本可以包括在与当前子画面[1]不同的子画面中。
图32是图31的提取区域的放大图。
如图32所示,要提取的参考样本可以包括在与当前子画面[1]不同的子画面(子画面[0]、子画面[2]、子画面[3])中。考虑图32所示的情况,当子画面被当作画面时,要提取的参考样本的范围需要被限制在与当前子画面相同的子画面内。
图33是例示根据本公开的实施方式的参考样本提取处理的视图。
在图33的参考样本提取处理中,可以输入关于当前块的运动向量的信息和参考画面refPicLXL。关于当前块的运动向量的信息指定提取区域并且可以是从当前块的运动向量推导的整数样本位置(xIntL,yIntL)。
图33的参考样本提取处理的输出可以是当前块的预测块。在这种情况下,预测块可以是要通过BDOF或PROF细化的预测块。
如图33所示,可以确定当前子画面是否被当作画面。例如,当subpic_treated_as_pic_flag为1时,可以确定当前子画面被当作画面并且提取区域可以被限制在与当前子画面相同的子画面内。
当当前子画面被当作画面时,如图33的式(1)所示,指定要提取的样本的位置的x坐标xInt可以被限幅在[SubPicLeftBoundaryPos,SubPicRightBoundaryPos]的范围内。SubPicLeftBoundaryPos可以指定当前子画面的左边界的位置。另外,SubPicRightBoundaryPos可以指定当前子画面的右边界的位置。根据上式(1),由于要提取的参考样本的x坐标存在于SubPicLeftBoundaryPos至SubPicRightBoundaryPos的范围内,所以不提取位于子画面的左边界或右边界之外的参考样本。推导SubPicLeftBoundaryPos和SubPicRightBoundaryPos的方法将稍后描述。
类似地,当当前子画面被当作画面时,如图33的式(2)所示,指定要提取的样本的位置的y坐标yInt可以被限幅在[SubPicTopBoundaryPos,SubPicBotBoundaryPos]的范围内。SubPicTopBoundaryPos可以指定当前子画面的上边界的位置。另外,SubPicBotBoundaryPos可以指定当前子画面的下边界的位置。根据上式(2),要提取的参考样本的y坐标存在于SubPicTopBoundaryPos至SubPicBotBoundaryPos的范围内,不提取存在于子画面的上边界或下边界之外的参考样本。推导SubPicTopBoundaryPos和SubPicBotBoundaryPos的方法将稍后描述。
当当前子画面不被当作画面时,例如,当subpic_treated_as_pic_flag为0时,要提取的参考样本的坐标可以根据式(3)和式(4)来推导。根据上式(3)和式(4),要提取的参考样本的坐标没有被子画面的边界位置限幅。根据上式(3)和式(4),要提取的参考样本的坐标可以被限幅在当前画面的范围内。
此后,根据式(5),从参考画面提取参考样本可以基于要提取的参考样本的坐标(xInt,yInt)来执行。
图34是例示根据本公开的参考样本提取处理的流程图。
图33和图34的参考样本提取处理可以由用于执行BDOF和/或PROF的图像编码设备和图像解码设备来执行。
参照图34,首先,可以确定当前子画面是否被当作画面(S3410)。步骤S3410的确定可以基于subpic_treated_as_pic_flag来执行。
当当前子画面被当作画面(例如,subpic_treated_as_pic_flag==1)时,可以推导提取位置(S3420),并且可以对推导的提取位置进行限幅(S3430)。提取位置的推导和限幅可以根据图33的式(1)和式(2)来执行。步骤S3430的限幅可以是当推导的提取位置在当前子画面的边界之外时将对应提取位置改变为当前子画面中的位置(例如,当前子画面的边界位置)的处理。
当当前子画面未被当作画面(例如,subpic_treated_as_pic_flag==0)时,可以推导提取位置(S3440)。例如,提取位置的推导可以根据图33的式(3)和式(4)来执行。
此后,可以基于步骤S3430或步骤S3440中推导的提取位置来执行参考样本提取(S3450)。例如,参考样本提取可以根据图33的式(5)来执行。
根据图34所示的实施方式,当子画面被当作画面时,在参考样本提取处理中可以不提取当前子画面的边界之外的参考样本。即,可以不参考参考画面中属于与当前子画面不同的子画面的参考样本。
以下,将描述根据本公开的另一实施方式的分数样本插值过程。
如上所述,当当前块的运动向量指定分数样本单元时,可以执行插值过程,并且可以相应地基于参考画面中的分数样本单元的参考样本来推导当前块的预测样本。
图35是例示根据本公开的分数样本插值过程的一部分的视图。
为了执行分数样本插值过程,可以推导变量fRefWidth和fRefHeight。如图35所示,fRefWidth和fRefHeight可以根据当前子画面是否被当作画面(subpic_treated_as_pic_flag)而不同地推导。
当当前子画面被当作画面时,例如,当subpic_treated_as_pic_flag为1时,fRefWidth和fRefHeight可以如下推导。
fRefWidth=(SubPicWidth[SubPicIdx]*(subpic_grid_col_width_minus1+1)*4)
fRefHeight=(SubPicHeight[SubPicIdx]*(subpic_grid_row_height_minus1+1)*4)
在上文中,SubPicWidth[SubPicIdx]和SubPicHeight[SubPicIdx]可以分别意指当前子画面的宽度和高度。在这种情况下,子画面的宽度和高度可以由配置子画面的网格数表示。例如,子画面的宽度为4可以意指对应子画面在水平方向上包括四个网格。另外,subpic_grid_col_width_minus1和subpic_grid_row_height_minus1可以分别意指配置子画面的网格的宽度和高度。在这种情况下,网格的宽度和高度可以以4像素为单位表示。例如,网格的宽度为4可以意指网格的宽度为16(4×4)像素。
当当前子画面未被当作画面时,例如,当subpic_treated_as_pic_flag为0时,fRefWidth和fRefHeight可以分别被推导为参考画面的输出图像的宽度PicOutputWidthL和高度PicOutputHeightL。
如上所述推导的fRefWidth和fRefHeight可以用于根据图35的式(1)和式(2)推导缩放因子hori_scale_fp和vert_scale_fp。此后,根据式(3)至式(6),可以推导由运动向量指定的参考样本的位置(refxL,refyL)。基于参考样本的推导的位置,可以推导整数位置(xIntL,yIntL)和分数位置(xFracL,yFracL)。上述参考样本提取处理或8抽头插值滤波处理可以基于推导的整数位置和/或分数位置来执行。
以下,将描述根据本公开的另一实施方式的sbTMVP推导方法。
如参照图16描述的,运动移位可以被推导并应用于当前块,从而指定col画面中与配置当前块的各个子块对应的子块(col子块)。此后,使用col画面的对应子块(col子块)的运动信息,可以推导当前块的各个子块的运动信息。基于子块的推导的运动信息,可以推导sbTMVP。
图36是例示根据本公开的sbTMVP推导方法的一部分的视图。
图36示出在sbTMVP推导处理期间推导当前块的运动移位之后的一部分处理。具体地,图36所示的处理包括为配置当前块的各个子块推导对应col子块的位置的处理。
根据图36,首先,根据式(1)和式(2),可以推导当前子块的右下中心样本的位置(xSb,ySb)。此后,可以根据当前子画面是否被当作画面(例如,subpic_treated_as_pic_flag)来推导col子块的位置(xColSb,yColSb)。
具体地,当subpic_treated_as_pic_flag为1时,可以根据式(3)来推导col子块的y坐标yColSb。在这种情况下,由ySb和运动移位tempMv推导的yColSb可以被限幅为由SubPicTopBoundaryPos和SubPicBotBoundaryPos以及当前CTB的y坐标yCtb指定的位置。通过式(3),col子块的y坐标存在于当前CTB和当前子画面中。另外,当subpic_treated_as_pic_flag为0时,根据式(4),可以推导col子块的y坐标yColSb。在这种情况下,由ySb和运动移位tempMv推导的yColSb可以被限幅为由当前CTB的y坐标yCtb和当前画面的高度指定的位置。通过式(4),col子块的y坐标存在于当前CTB和当前画面中。
类似地,当subpic_treated_as_pic_flag为1时,根据式(5),可以推导col子块的x坐标xColSb。在这种情况下,由xSb和运动移位tempMv推导的xColSb可以被限幅为由SubPicLeftBoundaryPos和SubPicRightBoundaryPos以及当前CTB的x坐标xCtb指定的位置。通过式(5),col子块的x坐标存在于当前CTB和当前子画面中。另外,当subpic_treated_as_pic_flag为0时,根据式(6),可以推导col子块的x坐标yColSb。在这种情况下,由xSb和运动移位tempMv推导的xColSb可以被限幅为由当前CTB的x坐标xCtb和当前画面的宽度指定的位置。通过式(6),col子块的x坐标存在于当前CTB和当前画面中。
根据本公开,当当前子画面被当作画面时,用于推导sbTMVP的当前子块的col子块存在于与当前子画面相同的子画面中。
以下,将描述根据本公开的另一实施方式的子画面边界位置推导方法。
图37是例示根据本公开的推导子画面边界位置的方法的视图。
根据本公开,可以推导子画面左边界位置SubPicLeftBoundaryPos、子画面右边界位置SubPicRightBoundaryPos、子画面上边界位置SubPicTopBoundaryPos和子画面下边界位置SubPicBotBoundaryPos。在本公开中,SubPicIdx可以是用于识别当前画面中的各个子画面的索引。
当由SubPicIdx指定的当前子画面被当作画面时,可以基于指定当前子画面的左位置的预定单元的位置信息SubPicLeft和对应单元的宽度信息subpic_grid_col_width_minus1来推导SubPicLeftBoundaryPos。预定单元可以是网格。然而,本公开不限于此,例如,预定单元可以是CTU。当预定单元是CTU时,当前子画面的左位置可以被推导为指定当前子画面的左位置的CTU单元的位置信息与CTU的大小的乘积。
当当前子画面被当作画面时,可以基于指定当前子画面的左位置的预定单元的位置信息、指定当前子画面的宽度的预定单元的宽度信息以及对应单元的宽度信息来推导SubPicRightBoundaryPos。例如,可以通过将当前子画面的左位置和当前子画面的宽度相加来推导指定当前子画面的右位置的预定单元的位置信息。可以通过对最终计算的值执行“-1”运算来推导SubPicRightBoundaryPos。预定单元可以是网格。然而,本公开不限于此,例如,预定单元可以是CTU。当预定单元是CTU时,可以通过对指定当前子画面的右位置的CTU单元的位置信息与CTU的大小的乘积执行“-1”运算来推导当前子画面的右位置。指定当前子画面的右位置的CTU单元的位置信息可以被推导为指定当前子画面的左位置的CTU单元的位置信息与指定当前子画面的宽度的CTU单元的宽度信息之和。
类似地,可以基于指定当前子画面的上位置的预定单元的位置信息SubPicTop和对应单元的高度信息subpic_grid_low_height_minus1来推导SubPicTopBoundaryPos。预定单元可以是网格。然而,本公开不限于此,例如,预定单元可以是CTU。当预定单元是CTU时,当前子画面的上位置可以被推导为指定当前子画面的上位置的CTU单元的位置信息与CTU的大小的乘积。
当当前子画面被当作画面时,可以基于指定当前子画面的上位置的预定单元的位置信息、指定当前子画面的高度的预定位置的高度信息和对应单元的高度来推导SubPicBotBoundaryPos。例如,可以通过将当前子画面的上位置与当前子画面的高度相加来推导指定当前子画面的下位置的预定单元的位置信息。可以通过对最终计算的值执行“-1”运算来推导SubPicBotBoundaryPos。预定单元可以是网格。然而,本公开不限于此,例如,预定单元可以是CTU。当预定单元是CTU时,可以通过对指定当前子画面的下位置的CTU单元的位置信息与CTU的大小的乘积执行“-1”运算来推导当前子画面的下位置。指定当前子画面的下位置的CTU单元的位置信息可以被推导为指定当前子画面的上位置的CTU单元的位置信息与指定当前子画面的高度的CTU单元的高度信息之和。
本公开中描述的各种实施方式可以单独实现或与其它实施方式组合实现。另选地,一些实施方式可以被添加到另一实施方式,或者一些实施方式可以被替换为另外一些实施方式。
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、OTT视频(over the top video)装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板PC、数字录像机(DVR)等。
图38是示出可应用本公开的实施方式的内容流系统的视图。
如图38中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、石板PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业实用性
本公开的实施方式可以被用于对图像进行编码或解码。

Claims (7)

1.一种由图像解码设备执行的图像解码方法,该图像解码方法包括以下步骤:
确定双向光流BDOF或光流预测细化PROF是否应用于当前块;
基于BDOF或PROF应用于所述当前块,基于所述当前块的运动信息来从所述当前块的参考画面生成所述当前块的预测样本;以及
通过基于所生成的预测样本对所述当前块应用BDOF或PROF,推导所述当前块的细化预测样本,
其中,生成所述当前块的所述预测样本的步骤是基于包括所述当前块的当前子画面是否被当作画面来执行的,
其中,生成所述当前块的所述预测样本的步骤是基于用于生成所述预测样本的所述参考画面内的位置来执行的,
其中,所述参考画面内的所述位置被限幅在预定范围内,
其中,基于所述当前子画面被当作所述画面,所述预定范围是由所述当前子画面的边界位置指定的,
其中,所述参考画面内的所述位置包括x坐标和y坐标,
其中,所述x坐标被限幅在所述当前子画面的左边界位置和右边界位置的范围内,
其中,所述y坐标被限幅在所述当前子画面的上边界位置和下边界位置的范围内,
其中,所述当前子画面的所述左边界位置被推导为指定所述当前子画面的左位置的预定单元的位置信息与所述预定单元的宽度的乘积,
其中,所述当前子画面的所述右边界位置是通过对指定所述当前子画面的右位置的预定单元的位置信息与所述预定单元的宽度的乘积执行“-1”运算来推导的,
其中,所述当前子画面的所述上边界位置被推导为指定所述当前子画面的上位置的预定单元的位置信息与所述预定单元的高度的乘积,并且
其中,所述当前子画面的所述下边界位置是通过对指定所述当前子画面的下位置的预定单元的位置信息与所述预定单元的高度的乘积执行“-1”运算来推导的。
2.根据权利要求1所述的图像解码方法,其中,所述当前子画面是否被当作所述画面是基于通过比特流用信号通知的标志信息来确定的。
3.根据权利要求2所述的图像解码方法,其中,通过序列参数集SPS用信号通知所述标志信息。
4.根据权利要求1所述的图像解码方法,其中,所述预定单元是网格或CTU。
5.根据权利要求1所述的图像解码方法,其中,基于所述当前子画面不被当作所述画面,所述预定范围是包括所述当前块的当前画面的范围。
6.一种由图像编码设备执行的图像编码方法,该图像编码方法包括以下步骤:
确定双向光流BDOF或光流预测细化PROF是否应用于当前块;
基于BDOF或PROF应用于所述当前块,基于所述当前块的运动信息来从所述当前块的参考画面生成所述当前块的预测样本;以及
通过基于所生成的预测样本对所述当前块应用BDOF或PROF,推导所述当前块的细化预测样本,
其中,生成所述当前块的所述预测样本的步骤是基于包括所述当前块的当前子画面是否被当作画面来执行的,
其中,生成所述当前块的所述预测样本的步骤是基于用于生成所述预测样本的所述参考画面内的位置来执行的,
其中,所述参考画面内的所述位置被限幅在预定范围内,
其中,基于所述当前子画面被当作所述画面,所述预定范围是由所述当前子画面的边界位置指定的,
其中,所述参考画面内的所述位置包括x坐标和y坐标,
其中,所述x坐标被限幅在所述当前子画面的左边界位置和右边界位置的范围内,
其中,所述y坐标被限幅在所述当前子画面的上边界位置和下边界位置的范围内,
其中,所述当前子画面的所述左边界位置被推导为指定所述当前子画面的左位置的预定单元的位置信息与所述预定单元的宽度的乘积,
其中,所述当前子画面的所述右边界位置是通过对指定所述当前子画面的右位置的预定单元的位置信息与所述预定单元的宽度的乘积执行“-1”运算来推导的,
其中,所述当前子画面的所述上边界位置被推导为指定所述当前子画面的上位置的预定单元的位置信息与所述预定单元的高度的乘积,并且
其中,所述当前子画面的所述下边界位置是通过对指定所述当前子画面的下位置的预定单元的位置信息与所述预定单元的高度的乘积执行“-1”运算来推导的。
7.一种发送通过根据权利要求6所述的图像编码方法生成的比特流的方法。
CN202080066881.0A 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法 Active CN114450943B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202411781791.6A CN119450036A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781792.0A CN119583795A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781787.XA CN119324985A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781793.5A CN119363974A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962905302P 2019-09-24 2019-09-24
US62/905,302 2019-09-24
US201962905393P 2019-09-25 2019-09-25
US62/905,393 2019-09-25
PCT/KR2020/012874 WO2021060834A1 (ko) 2019-09-24 2020-09-23 서브픽처 기반 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Related Child Applications (4)

Application Number Title Priority Date Filing Date
CN202411781787.XA Division CN119324985A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781792.0A Division CN119583795A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781793.5A Division CN119363974A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781791.6A Division CN119450036A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法

Publications (2)

Publication Number Publication Date
CN114450943A CN114450943A (zh) 2022-05-06
CN114450943B true CN114450943B (zh) 2024-12-27

Family

ID=75165111

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202080066881.0A Active CN114450943B (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781787.XA Pending CN119324985A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781793.5A Pending CN119363974A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781791.6A Pending CN119450036A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781792.0A Pending CN119583795A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法

Family Applications After (4)

Application Number Title Priority Date Filing Date
CN202411781787.XA Pending CN119324985A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781793.5A Pending CN119363974A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781791.6A Pending CN119450036A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN202411781792.0A Pending CN119583795A (zh) 2019-09-24 2020-09-23 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法

Country Status (4)

Country Link
US (3) US11616948B2 (zh)
KR (1) KR20220044843A (zh)
CN (5) CN114450943B (zh)
WO (1) WO2021060834A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2022004332A (es) * 2019-10-09 2022-04-26 Beijing Dajia Internet Information Tech Co Ltd Metodos y aparatos para el refinamiento de prediccion con flujo optico, flujo optico bidireccional, y refinamiento del vector de movimiento del lado del decodificador.
US11973955B2 (en) * 2019-12-20 2024-04-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video coding in relation to subpictures
CN115280768A (zh) * 2020-01-13 2022-11-01 抖音视界有限公司 视频编解码中的子图片边界滤波
WO2021187604A1 (ja) * 2020-03-19 2021-09-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像処理装置、画像処理方法、ビットストリーム送信装置、および、非一時的記憶媒体

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100846512B1 (ko) 2006-12-28 2008-07-17 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
EP3998775B1 (en) 2009-05-29 2023-08-02 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, and image decoding method
CN115002455B (zh) * 2015-06-05 2025-03-25 杜比实验室特许公司 图像编码和解码方法和图像解码设备
US10554968B2 (en) * 2015-06-10 2020-02-04 Lg Electronics Inc. Method and apparatus for inter prediction on basis of virtual reference picture in video coding system
CN107925775A (zh) * 2015-09-02 2018-04-17 联发科技股份有限公司 基于双向预测光流技术的视频编解码的运动补偿方法及装置
KR102715635B1 (ko) * 2016-03-28 2024-10-11 로즈데일 다이나믹스 엘엘씨 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102275420B1 (ko) * 2016-07-12 2021-07-09 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
CN116708773A (zh) * 2016-07-18 2023-09-05 韩国电子通信研究院 图像编码/解码方法和装置以及存储比特流的记录介质
CN117201775A (zh) * 2016-09-13 2023-12-08 韩国电子通信研究院 视频编码/解码方法和装置以及存储比特流的记录介质
CN116156162A (zh) 2017-01-04 2023-05-23 三星电子株式会社 视频解码方法和设备以及视频编码方法和设备
US10523964B2 (en) * 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
KR20240044549A (ko) 2017-07-03 2024-04-04 브이아이디 스케일, 인크. 양방향 광학 흐름에 기반한 모션 보상 예측
EP3673655A1 (en) * 2017-08-22 2020-07-01 Google LLC Optical flow estimation for motion compensated prediction in video coding
KR102580910B1 (ko) * 2017-08-29 2023-09-20 에스케이텔레콤 주식회사 양방향 옵티컬 플로우를 이용한 움직임 보상 방법 및 장치
CN118158436A (zh) * 2017-09-29 2024-06-07 英迪股份有限公司 对图像进行解码的方法、对图像进行编码的方法以及用于发送通过对图像进行编码的方法生成的比特流的方法
KR102595689B1 (ko) * 2017-09-29 2023-10-30 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN111279695B (zh) 2017-10-26 2024-03-29 韩国电子通信研究院 用于基于非对称子块的图像编码/解码的方法及装置
WO2019117659A1 (ko) * 2017-12-14 2019-06-20 엘지전자 주식회사 움직임 벡터 도출을 기반으로 하는 영상 코딩 방법 및 그 장치
PL3931748T3 (pl) * 2019-03-11 2024-08-12 Huawei Technologies Co. Ltd. Oparte na podobrazach adresy wycinków w kodowaniu wideo
CN115002454B (zh) * 2019-07-10 2024-11-15 北京达佳互联信息技术有限公司 关于利用光流的预测细化的方法和装置
CN117336468A (zh) * 2019-08-10 2024-01-02 北京字节跳动网络技术有限公司 视频比特流中的子图片相关信令通知
KR20230026550A (ko) * 2019-09-17 2023-02-24 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 광학 흐름을 사용한 예측 미세조정을 위한 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AHG12: Sub-picture based motion-constrained independent regions;Ye-Kui Wang;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothernburg, SE, 3–12 July 2019, JVET-O0141-v2》;20190712;正文第1-2部分 *
CE4-related: Alignment and simplification of PROF and BDOF;Han Huang等;《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3-12 July 2019, JVET-O0252》;20190712;摘要以及正文第1-2部分 *
Han Huang等.CE4-related: Alignment and simplification of PROF and BDOF.《Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 15th Meeting: Gothenburg, SE, 3-12 July 2019, JVET-O0252》.2019,摘要以及正文第1-2部分. *

Also Published As

Publication number Publication date
US12166969B2 (en) 2024-12-10
KR20220044843A (ko) 2022-04-11
CN119324985A (zh) 2025-01-17
WO2021060834A1 (ko) 2021-04-01
CN114450943A (zh) 2022-05-06
US11616948B2 (en) 2023-03-28
CN119450036A (zh) 2025-02-14
US20250055980A1 (en) 2025-02-13
US20220279165A1 (en) 2022-09-01
CN119363974A (zh) 2025-01-24
US20230199175A1 (en) 2023-06-22
CN119583795A (zh) 2025-03-07

Similar Documents

Publication Publication Date Title
JP7564323B2 (ja) インター予測に基づいて、ビデオ信号を処理するための方法及び装置
CN114731428B (zh) 用于执行prof的图像编码/解码方法和装置及发送比特流的方法
CN114503563B (zh) 用于执行加权预测的图像编码/解码方法和装置及发送比特流的方法
CN113491124A (zh) 基于dmvr的帧间预测方法和设备
CN114450943B (zh) 用于基于子画面的图像编码/解码的方法和装置及发送比特流的方法
CN111247805B (zh) 在图像编码系统中基于以子块为单元进行的运动预测的图像解码方法和设备
CN115244928B (zh) 使用包括关于合并候选的最大数量的信息的序列参数集的图像编码/解码方法和设备及发送比特流的方法
CN114258674A (zh) 使用ibc的图像编码/解码方法和装置,以及发送比特流的方法
CN114208171A (zh) 用于推导用于生成预测样本的权重索引信息的图像解码方法和装置
JP2024125405A (ja) Bdofを行う画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
CN114586345B (zh) 执行prof的图像编码/解码方法和设备以及发送比特流的方法
CN114342377B (zh) 用于执行双向预测的图像编码/解码方法和设备及发送比特流的方法
RU2833007C2 (ru) Способ и устройство для кодирования/декодирования изображений на основе субкадров и способ для передачи потока битов
RU2833007C9 (ru) Способ кодирования изображений, способ декодирования изображений и энергонезависимый машиночитаемый носитель записи
CN114342375B (zh) 用于推导双向预测的权重索引的图像编码/解码方法和装置以及发送比特流的方法
RU2803197C1 (ru) Способ и устройство для кодирования/декодирования изображений на основе субкадров и способ для передачи потока битов
CN119732053A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240321

Address after: No. 18 Wusha Haibin Road, Chang'an Town, Dongguan City, Guangdong Province

Applicant after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Country or region after: China

Address before: Seoul, South Kerean

Applicant before: LG ELECTRONICS Inc.

Country or region before: Republic of Korea

GR01 Patent grant
GR01 Patent grant