CN115244937A - 用于发信号通知与子画面和画面头有关的信息的图像编码/解码方法和装置以及用于发送比特流的方法 - Google Patents

用于发信号通知与子画面和画面头有关的信息的图像编码/解码方法和装置以及用于发送比特流的方法 Download PDF

Info

Publication number
CN115244937A
CN115244937A CN202180019325.2A CN202180019325A CN115244937A CN 115244937 A CN115244937 A CN 115244937A CN 202180019325 A CN202180019325 A CN 202180019325A CN 115244937 A CN115244937 A CN 115244937A
Authority
CN
China
Prior art keywords
picture
flag
slice
header
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180019325.2A
Other languages
English (en)
Inventor
亨得利·亨得利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN115244937A publication Critical patent/CN115244937A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Abstract

提供了一种用于发信号通知与子画面和画面头有关的信息的图像编码/解码方法和装置以及用于发送比特流的方法。根据本公开的图像解码方法可以包括以下步骤:获取指示比特流中是否存在与子画面有关的信息的第一标志;获取指示切片头中是否存在画面头信息的第二标志;以及基于第一标志和第二标志对比特流进行解码。如果第一标志指示比特流中存在与子画面有关的信息,则第二标志可具有指示切片头中不存在画面头信息的值。

Description

用于发信号通知与子画面和画面头有关的信息的图像编码/ 解码方法和装置以及用于发送比特流的方法
技术领域
本公开涉及图像编码/解码方法和设备,更具体地,涉及一种用于发信号通知关于子画面和画面头的信息的图像编码和解码方法和设备以及发送通过本公开的图像编码方法/设备生成的比特流的方法。
背景技术
最近,各个领域对高分辨率和高质量图像,例如高清(HD)图像和超高清(UHD)图像的需求正在增加。随着图像数据的分辨率和质量的提高,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
本公开的另一目的是提供一种通过高效地发信号通知关于子画面和画面头的信息来改进编码/解码效率的图像编码/解码方法和设备。
本公开的另一目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
本公开的另一目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
本公开的另一目的是提供一种存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流的记录介质。
本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
技术方案
由根据本公开的一方面的图像解码设备执行的图像解码方法可以包括:获取指定比特流中是否存在关于子画面的信息的第一标志;获取指定切片头中是否存在画面头信息的第二标志;以及基于第一标志和第二标志对比特流进行解码。当第一标志指定比特流中存在关于子画面的信息时,第二标志可以具有指定切片头中不存在画面头信息的值。
在根据本公开的图像解码方法中,当第一标志指定比特流中存在关于子画面的信息时,切片头可以包括子画面的标识符,该子画面包括与切片头有关的切片。
根据本公开的图像解码方法还可以包括:当第二标志指定切片头中存在画面头信息时,从切片头获取画面头信息。
在根据本公开的图像解码方法中,第二标志可以相对于编码层视频序列(CLVS)中的所有切片具有相同的值。
在根据本公开的图像解码方法中,当第二标志指定切片头中存在画面头信息时,在编码层视频序列(CLVS)中可不存在用于发送画面头信息的网络抽象层(NAL)单元。
在根据本公开的图像解码方法中,当第二标志指定切片头中不存在画面头信息时,可以从网络抽象层(NAL)单元类型等于PH_NUT的NAL单元获取画面头信息。
在根据本公开的图像解码方法中,第一标志可以在切片的更高级别发信号通知,并且第二标志可以被包括在切片头中并发信号通知。
根据本公开的另一方面的图像解码设备可以包括存储器和至少一个处理器。所述至少一个处理器可以被配置为:获取指定比特流中是否存在关于子画面的信息的第一标志;获取指定切片头中是否存在画面头信息的第二标志;以及基于第一标志和第二标志对比特流进行解码。当第一标志指定比特流中存在关于子画面的信息时,第二标志可以具有指定切片头中不存在画面头信息的值。
根据本公开的另一方面的图像编码方法可以包括:对指定比特流中是否存在关于子画面的信息的第一标志进行编码;对指定切片头中是否存在画面头信息的第二标志进行编码;以及基于第一标志和第二标志对比特流进行编码。当第一标志指定比特流中存在关于子画面的信息时,第二标志可具有指定切片头中不存在画面头信息的值。
在根据本公开的图像编码方法中,当第一标志指定比特流中存在关于子画面的信息时,切片头可以包括子画面的标识符,该子画面包括与切片头有关的切片。
根据本公开的图像编码方法还可以包括:当第二标志指定切片头中存在画面头信息时,将画面头信息编码在切片头中。
在根据本公开的图像编码方法中,第二标志可以相对于编码层视频序列(CLVS)中的所有切片具有相同的值。
在根据本公开的图像编码方法中,当第二标志指定切片头中不存在画面头信息时,可以通过NAL单元类型等于PH_NUT的网络抽象层(NAL)单元来发信号通知画面头信息。
在根据本公开的图像编码方法中,第一标志可以在切片的更高级别发信号通知,并且第二标志可以被包括在切片头中并发信号通知。
另外,根据本公开的另一方面的传输方法可以发送由本公开的图像编码设备或图像编码方法生成的比特流。
另外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,可提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
另外,根据本公开,可提供一种通过高效地发信号通知关于子画面的信息和画面头来改进编码/解码效率的图像编码/解码方法和设备。
另外,根据本公开,可提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
另外,根据本公开,可提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
另外,根据本公开,可提供一种存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流的记录介质。
本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
图1是示意性地示出本公开的实施方式适用的视频编码系统的视图。
图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
图4是示出根据实施方式的图像的分割结构的视图。
图5是示出根据多类型树结构的块的分割类型的实施方式的视图。
图6是示出根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信令机制的视图。
图7是示出将CTU分割成多个CU的示例的视图。
图8是例示根据本公开的实施方式的图像编码设备使用切片/拼块对图像进行编码的方法的流程图。
图9是例示根据本公开的实施方式的图像解码设备使用切片/拼块对图像进行解码的方法的流程图。
图10是示出画面头中的信令和语法元素的本公开的示例的视图。
图11是示出根据本公开的实施方式的切片头的语法结构的视图。
图12是例示解析和解码图11的切片头的方法的流程图。
图13是例示对图11的切片头进行编码的方法的流程图。
图14是示出根据本公开的另一实施方式的切片头的语法结构的视图。
图15是例示解析和解码图14的切片头的方法的流程图。
图16是例示对图14的切片头进行编码的方法的流程图。
图17是示出根据本公开的另一实施方式的切片头的语法结构的视图。
图18是例示解析和解码图17的切片头的方法的流程图。
图19是例示对图17的切片头进行编码的方法的流程图。
图20是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“联接”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其他组件时,除非另有说明,否则是指还可以包括其他组件,而不是排除其他组件。
在本公开中,术语第一、第二等仅用于将一个组件与其他组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一部件在另一实施方式中可以被称为第二部件,类似地,一个实施方式中的第二部件在另一实施方式中可以被称为第一部件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其他组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码(encoding)和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码(coding)单元,一个画面可以由一个或多个切片/拼块组成。此外,切片/拼块可以包括一个或多个编码树单元(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预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,帧间预测器180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来导出当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测器可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测器可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。IBC基本上在当前画面中执行预测,但是可以类似于帧间预测来执行,因为在当前画面内导出参考块。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。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可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
滤波器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预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测器260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息导出当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
加法器235可以通过将获得的残差信号与从预测器(包括帧间预测器260和/或内预测器265)输出的预测信号(预测块、预测样本阵列)相加生成重构块。如果要处理的块没有残差,诸如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储器250的DPB中。各种滤波方法可以包括,例如,去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
存储在存储器250的DPB中的(修改的)重构画面可以用作帧间预测器260中的参考画面。存储器250可以存储从其中导出(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测器260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测器265。
在本公开中,在图像编码装置100的滤波器160、帧间预测器180和帧内预测器185中描述的实施方式可以同等地或对应地应用于图像解码装置200的滤波器240、帧间预测器260和帧内预测器265。
图像分割的概述
可以基于图像分割结构来执行根据本公开的视频/图像编码方法如下。具体地,可以基于根据图像分割结构而推导的CTU、CU(和/或TU、PU)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码和滤波的过程。可以以块为单位对图像进行分割并且可以在编码设备的图像分割器110中执行块分割过程。分割相关信息可以由熵编码器190编码并且以比特流的形式发送到解码设备。解码设备的熵解码器210可以基于从比特流获得的分割相关信息来推导当前画面的块分割结构,并且基于此,可以执行一系列的过程(例如,预测、残差处理、块/画面重构、环路内滤波等)以进行图像解码。CU大小和TU大小可以相同,或者在CU区域中可以存在多个TU。同时,CU大小通常可以表示亮度分量(样本)CB大小。TU大小通常可以表示亮度分量(样本)TB大小。可以根据画面/图像的色度格式(颜色格式,例如4:4:4、4:2:2、4:2:0等)根据分量比基于亮度分量(样本)CB或TB大小来推导色度分量(样本)CB或TB大小。可以基于指定可用最大TB大小的maxTbSize来推导TU大小。例如,当CU大小大于maxTbSize时,可以从CU推导maxTbSize的多个TU(TB),并且可以以TU(TB)为单位执行变换/逆变换。另外,例如,当应用帧内预测时,可以以CU(或CB)为单位推导帧内预测模式/类型,并且可以以TU(或TB)为单位执行邻近参考样本推导和预测样本生成过程。在这种情况下,在一个CU(或CB)区域中可以存在一个或多个TU(或TB),并且在这种情况下,多个TU(或TB)可以共享相同的帧内预测模式/类型。
画面可以被分割成编码树单元(CTU)的序列。图4示出画面被分割成CTU的示例。CTU可以对应于编码树块(CTB)。另选地,CTU可以包括亮度样本的编码树块和对应色度样本的两个编码树块。例如,对于包含三个样本阵列的画面,CTU可以包括亮度样本的N×N块和色度样本的两个对应块。
CTU分割的概述
如上所述,可以通过根据四叉树/二叉树/三叉树(QT/BT/TT)结构递归地对编码树单元(CTU)或最大编码单元(LCU)进行分割来获取编码单元。例如,CTU可以被首先分割成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分割。
根据四叉树的分割意味着当前CU(或CTU)被同等地分割成四个。通过根据四叉树的分割,可以将当前CU分割成具有相同宽度和相同高度的四个CU。在当前CU不再被分割成四叉树结构时,当前CU对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的CU可以不再被分割并且可以被用作上述最终编码单元。另选地,可以通过多类型树结构对与四叉树结构的叶节点对应的CU进一步进行分割。
图5是示出了根据多类型树结构的块的分割类型的实施方式的视图。根据多类型树结构的分割可以包括根据二叉树结构的两种类型的划分和根据三叉树结构的两种类型的划分。
根据二叉树结构的两种类型的划分可以包括垂直二叉划分(SPLIT_BT_VER)和水平二叉划分(SPLIT_BT_HOR)。垂直二叉划分(SPLIT_BT_VER)意味着当前CU被在垂直方向上同等地划分成两个。如图5所示,通过垂直二叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的一半的两个CU。水平二叉划分(SPLIT_BT_HOR)意味着当前CU被在水平方向上同等地划分成两个。如图5所示,通过水平二叉划分,可以生成高度为当前CU的高度的一半并且宽度与当前CU相同的两个CU。
根据三叉数结构的两种类型的划分可以包括垂直三叉划分(SPLIT_TT_VER)和水平三叉划分(SPLIT_TT_HOR)。在垂直三叉划分(SPLIT_TT_VER)中,当前CU被以1:2:1的比率在垂直方向上划分。如图5所示,通过垂直三叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的1/4的两个CU,以及高度与当前CU相同并且宽度为当前CU的宽度的一半的CU。在水平三叉划分(SPLIT_TT_HOR)中,当前CU被以1:2:1的比率在水平方向上划分。如图5所示,通过水平三叉划分,可以生成高度为当前CU的高度的1/4并且宽度与当前CU相同的两个CU,以及高度为当前CU的高度的一半并且宽度与当前CU相同的CU。
图6是示出了根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信令机制的视图。
这里,CTU被视为四叉树的根节点,并且被首次分割成四叉树结构。指定是否对于当前CU(四叉树的CTU或节点(QT_node))执行四叉树划分的信息(例如,qt_split_flag)被发信号通知。例如,当qt_split_flag具有第一值(例如,“1”)时,当前CU可以被四叉树分割。另外,当qt_split_flag具有第二值(例如,“0”)时,当前CU不四叉树分割,而是变成四叉树的叶节点(QT_leaf_node)。然后可以将每个四叉树叶节点进一步分割成多类型树结构。也就是说,四叉树的叶节点可以变成多类型树的节点(MTT_node)。在多类型树结构中,第一标志(例如,Mtt_split_cu_flag)被发信号通知以指示当前节点是否被附加地分割。如果对应节点被附加地分割(例如,如果第一标志为1),则可以发信号通知第二标志(例如,Mtt_split_cu_vertical_flag)以指示划分方向。例如,划分方向在第二标志为1的情况下可以是垂直方向,而在第二标志为0的情况下可以是水平方向。然后,可以发信号通知第三标志(例如,Mtt_split_cu_binary_flag)以指示划分类型是二叉划分类型还是三叉划分类型。例如,划分类型在第三标志为1时可以是二叉划分类型,而在第三标志为0时可以是三叉划分类型。通过二叉划分或三叉划分获取的多类型树的节点可以被进一步分割成多类型树结构。然而,可以不将多类型树的节点分割成四叉树结构。如果第一标志为0,则多类型树的对应节点不再被划分,而是变成多类型树的叶节点(MTT_leaf_node)。与多类型树的叶节点对应的CU可以被用作上述最终编码单元。
基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下表1所示导出CU的多类型树划分模式(MttSplitMode)。在以下描述中,多类型树划分模式可以被称为多树划分类型或划分类型。
[表1]
MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
SPLIT_TT_HOR 0 0
SPLIT_BT_HOR 0 1
SPLIT_TT_VER 1 0
SPLIT_BT_VER 1 1
图7是示出了在应用四叉树之后通过应用多类型树来将CTU分割成多个CU的示例的视图。在图7中,粗体块边710表示四叉树分割,而剩余边720表示多类型树分割。CU可以对应于编码块(CB)。在实施方式中,CU可以包括亮度样本的编码块和与亮度样本对应的色度样本的两个编码块。
可以基于根据画面/图像的颜色格式(色度格式,例如,4:4:4、4:2:2、4:2:0等)的分量比率基于亮度分量(样本)CB或TB大小来导出色度分量(样本)CB或TB大小。在4:4:4颜色格式的情况下,可以将色度分量CB/TB大小设置为等于亮度分量CB/TB大小。在4:2:2颜色格式的情况下,可以将色度分量CB/TB的宽度设置为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设置为亮度分量CB/TB的高度。在4:2:0颜色格式的情况下,可以将色度分量CB/TB的宽度设置为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设置为亮度分量CB/TB的高度的一半。
在实施方式中,当CTU的大小基于亮度样本单元为128时,CU的大小可以具有从128x128至4x4的大小,其是与CTU相同的大小。在一个实施方式中,在4:2:0颜色格式(或色度格式)的情况下,色度CB大小可以具有从64x64至2x2的大小。
同时,在实施方式中,CU大小和TU大小可以是相同的。另选地,在CU区域中可以有多个TU。TU大小通常表示亮度分量(样本)变换块(TB)大小。
可以基于作为预定值的最大允许TB大小maxTbSize来导出TU大小。例如,当CU大小大于maxTbSize时,可以从CU导出具有maxTbSize的多个TU(TB),并且可以以TU(TB)为单元执行变换/逆变换。例如,最大允许亮度TB大小可以是64x64并且最大允许色度TB大小可以是32x32。如果根据树结构分割的CB的宽度或高度大于最大变换宽度或高度,则CB可以被自动地(或隐式地)分割,直到满足水平和垂直方向上的TB大小极限为止。
另外,例如,当应用帧内预测时,可以以CU(或CB)为单元导出帧内预测模式/类型,并且可以以TU(或TB)为单元执行邻近参考样本导出和预测样本生成过程。在这种情况下,在一个CU(或CB)区域中可以有一个或多个TU(或TB),并且在这种情况下,多个TU或(TB)可以共享相同的帧内预测模式/类型。
同时,对于具有嵌套多类型树的四叉树编码树方案,可以将以下参数作为SPS语法元素从编码装置发信号通知给解码装置。例如,作为表示四叉树的根节点大小的参数的CTU大小、作为表示最小允许四叉树叶节点大小的参数的MinQTSize、作为表示最大允许二叉树根节点大小的参数的MaxBtSize、作为表示最大允许三叉树根节点大小的参数的MaxTtSize、作为表示从四叉树叶节点起进行多类型树划分的最大允许层次深度的参数的MaxMttDepth、作为表示最小允许二叉树树叶节点大小的参数的MinBtSize、或作为表示最小允许三叉数叶节点大小的参数的MinTtSize中的至少一个被发信号通知。
作为使用4:2:0色度格式的实施方式,可以将CTU大小设置为128x128亮度块和与这些亮度块对应的两个64x64色度块。在这种情况下,可以将MinOTSize设置为16x16,可以将MaxBtSize设置为128x128,可以将MaxTtSzie设置为64x64,可以将MinBtSize和MinTtSize设置为4x4,并且可以将MaxMttDepth设置为4。四叉树分割可以被应用于CTU以生成四叉树叶节点。四叉树叶节点可以被称作叶QT节点。四叉树叶节点的大小可以从16x16大小(例如,MinOTSize)至128x128大小(例如,CTU大小)。如果叶QT节点是128x128,则它可能未被附加地分割成二叉树/三叉树。这是因为,在这种情况下,即使被分割,它也超过MaxBtsize和MaxTtszie(例如,64x64)。在其它情况下,叶QT节点可以被进一步分割成多类型树。因此,叶QT节点是多类型树的根节点,并且叶QT节点可以具有多类型树深度(mttDepth)0值。如果多类型树深度达到MaxMttdepth(例如4),则可以不考虑进一步分割。如果多类型树节点的宽度等于MinBtSize并且小于或等于2xMinTtSize,则可以不考虑进一步水平分割。如果多类型树节点的高度等于MinBtSize并且小于或等于2xMinTtSize,则可以不考虑进一步垂直分割。当不考虑分割时,编码装置可以跳过分割信息的信令。在这种情况下,解码装置可以导出具有预定值的分割信息。
同时,一个CTU可以包括亮度样本的编码块(在下文中称为“亮度块”)和与其对应的色度样本的两个编码块(在下文中称为“色度块”)。上述编码树方案可以被同等地或单独地应用于当前CU的亮度块和色度块。具体地,可以将一个CTU中的亮度块和色度块分割成相同的块树结构,并且在这种情况下,树结构被表示为SINGLE_TREE。另选地,可以将一个CTU中的亮度块和色度块分割成单独的块树结构,并且在这种情况下,可以将树结构表示为DUAL_TREE。也就是说,当CTU被划分成双树时,用于亮度块的块树结构和用于色度块的块树结构可以分别存在。在这种情况下,可以将用于亮度块的块树结构称作DUAL_TREE_LUMA,并且可以将用于色度分量的块树结构称DUAL_TREE_CHROMA。对于P和B切片/拼块组,可以将一个CTU中的亮度块和色度块限制为具有相同的编码树结构。然而,对于I切片/拼块组,亮度块和色度块可以具有彼此分开的块树结构。如果应用单独的块树结构,则可以基于特定编码树结构来将亮度CTB划分成CU,并且可以基于另一编码树结构来将色度CTB分割成色度CU。也就是说,这意味着应用单独的块树结构的I切片/拼块组中的CU可以包括亮度分量的编码块或两个色度分量的编码块并且P或B切片/拼块组的CU可以包括三个颜色分量(一个亮度分量和两个色度分量)的块。
尽管已经描述了具有嵌套多类型树的四叉树编码树结构,但是对CU进行分割的结构不限于此。例如,可以将BT结构和TT结构解释为多分割树(MPT)结构中包括的概念,并且可以将CU解释为通过QT结构和MPT结构被分割。在通过QT结构和MPT结构对CU进行分割的示例中,可以发信号通知包括关于QT结构的叶节点被分割成多少块的信息的语法元素(例如MPT_split_type)以及包括关于QT结构的叶节点被分割成垂直方向和水平方向中的那个的信息的语法元素(例如MPT_split_mode),以确定分割结构。
在另一示例中,可以以与QT结构、BT结构或TT结构不同的方式对CU进行分割。也就是说,不同于根据QT结构将较低深度的CU分割成较高深度的CU的1/4,根据BT结构将较低深度的CU分割成较高深度的CU的1/2,或者根据TT结构将较低深度的CU分割成较高深度的CU的1/4或1/2,在一些情况下可以将较低深度的CU分割成较高深度的CU的1/5、1/3、3/8、3/5、2/3或5/8,并且对CU进行分割的方法不限于此。
具有多类型树的四叉树编码块结构可以提供非常灵活的块分割结构。由于在多类型树中支持的分割类型,在一些情况下不同的分割图案可以潜在地产生相同的编码块结构。在编码装置和解码装置中,通过限制此类冗余分割图案的出现,可以减少分割信息的数据量。
基于子画面的图像编码/解码
一个编码目标画面可以多个CTU、切片、拼块或图块为单位来分割,并且画面可以多个子画面为单位来分割。
在画面内,子画面可以被编码或解码而不管前面的子画面是否被编码或解码。例如,可以针对多个子画面应用不同的量化或不同的分辨率。
此外,各个子画面可以像单独的画面一样被处理。例如,编码目标画面可以是全向图像/视频或360度图像/视频中的投影画面或打包画面。
在这种实施方式中,画面的一部分可以基于用户终端(例如,头戴式显示器)的视口来渲染或显示。因此,为了实现低延迟,在配置一个画面的子画面当中,覆盖视口的至少一个子画面可以优先于或独立于剩余子画面而被编码或解码。
子画面的编码结果可以被称为子比特流、子流或简称为比特流。解码设备可以从子比特流、子流或比特流将子画面解码。在这种情况下,诸如PPS、SPS、VPS和/或解码参数集(DPS)的高级语法(HLS)可以用于对子画面进行编码/解码。
在本公开中,高级语法(HLS)可以包括APS语法、PPS语法、SPS语法、VPS语法、DPS语法或SH语法中的至少一种。例如,APS(APS语法)或PPS(PPS语法)可以包括可以共同应用于一个或更多个切片或画面的信息/参数。SPS(SPS语法)可以包括可以共同应用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括可以共同应用于多个层的信息/参数。DPS(DPS语法)可以包括可以共同应用于整个视频的信息/参数。例如,DPS可以包括与编码视频序列(CVS)的级联有关的信息/参数。
子画面可以配置编码画面的矩形区域。子画面的大小可以在画面内不同地设定。对于属于一个序列的所有画面,特定单独子画面的大小和位置可以相等地设定。单独的子画面序列可被独立地解码。拼块和切片(和CTB)可以被限制为不跨越子画面边界。为此,编码设备可以执行编码,使得子画面被独立地解码。为此,可能需要比特流中的语义限制。另外,对于一个序列中的各个画面,子画面中的拼块、切片和图块的布置可以不同地配置。
子画面设计旨在范围小于画面级别但大于切片或拼块组级别的抽象或封装。因此,可以从一个VVC比特流提取运动约束拼块集(MCTS)子集的VCL NAL单元,并且可以没有困难地执行诸如重新布置到另一VVC比特流的处理(例如,VCL级别的修改)。这里,MCTS是允许拼块之间的空间和时间独立性的编码技术。当应用MCTS时,无法参考关于当前拼块所属的MCTS中未包括的拼块的信息。当图像被分割成MCTS并被编码时,可进行MCTS的独立传输和编码。
这种子画面设计的优点在于以混合分辨率视口依赖360°流方案改变观看取向。
在下文中,将参照图8和图9描述使用切片/拼块的图像编码/解码方法。
图8是例示根据本公开的实施方式的图像编码设备使用切片/拼块对图像进行编码的方法的流程图。
图像编码设备可以通过分割当前画面来导出当前画面中的切片/拼块(S810)。
图像编码设备可以基于在步骤S810中导出的切片/拼块对当前画面进行编码(S820)。
图9是例示根据本公开的实施方式的图像解码设备使用切片/拼块对图像进行解码的方法的流程图。
图像解码设备可以从比特流获取关于视频/图像的信息(S910)。
另外,图像解码设备可以基于在步骤S910中获取的关于视频/图像的信息来导出当前画面中的切片/拼块(S920)。这里,关于视频/图像的信息可以包括关于切片/拼块的信息。
接下来,图像解码设备可以基于在步骤S920中导出的切片/拼块对当前画面进行解码(S930)。
在图8和图9中,关于切片/拼块的信息可以包括本公开中描述的各种信息和/或语法元素。视频/图像信息可以包括高级语法,并且高级语法可以包括关于切片的信息和/或关于拼块的信息。高级语法可以包括画面头,并且关于画面头的信息可以包括在本公开中描述的切片头中。关于切片的信息可以包括指定一个或更多个切片的信息,并且关于拼块的信息可以包括指定一个或更多个拼块的信息。画面中可以存在包括一个或更多个拼块的切片。
高级语法(HLS)信令
如上所述,高级语法可以被编码/发信号通知以用于视频/图像编码。在下文中,将描述根据本公开的画面头和切片头中的信令和语法元素。
画面头和切片头
编码画面可以由一个或多个切片组成。编码画面的参数在画面头(PH)内发信号通知,切片的参数在切片头(SH)内发信号通知。PH在其自己的NAL单元类型中承载。SH可以存在于包含切片的有效载荷(即,切片数据)的NAL单元的开头。在下文中,将参照图10和图11描述PH和SH的语法元素以及语法元素的语义。
图10是示出画面头中的信令和语法元素的本公开的示例的视图。
picture_header_rbsp()包含与画面头(PH)关联的编码画面的所有切片共同的信息。例如,picture_header_rbsp()可以包括参考画面标志(non_reference_picture_flag)、GDR画面识别信息(gdr_pic_flag)、no_output_of_prior_pics_flag、recovery_poc_cnt、ph_pic_parameter_set_id等。这里,当gdr_pic_flag为1时,在picture_header_rbsp()中发信号通知recovery_poc_cnt。
non_reference_picture_flag的第一值(例如,1)指定与PH关联的画面不用作参考画面。non_reference_picture_flag的第二值(例如,0)指定与PH关联的画面可以用作参考画面或可以不用作参考画面。
gdr_pic_flag的第一值(例如,1)指定与PH关联的画面是GDR画面。gdr_pic_flag的第二值(例如,0)指定与PH关联的画面不是GDR画面。
no_output_of_prior_pics_flag影响在比特流中不是第一画面的编码层视频序列(CLVSS)画面的解码之后DPB中先前解码的画面的输出。
recovery_poc_cnt按输出顺序指定解码画面的恢复点。
ph_pic_parameter_set_id为使用中的画面参数集(PPS)指定pps_pic_parameter_set_id的值。pps_pic_parameter_set_id是用于标识另一语法要参考的PPS的值。
包括在图10的picture_header_rbsp()语法结构中的语法元素可以被包括在picture_header_structure()语法结构中并发信号通知。在这种情况下,picture_header_structure()语法结构可以被包括在picture_header_rbsp()语法结构中并发信号通知。
图11是示出根据本公开的实施方式的切片头的语法结构的视图。
如图11所示,picture_header_in_slice_header_flag、picture_header_structure()、slice_subpic_id,slice_address、num_tiles_in_slice_minus1等可以通过切片头发信号通知。
在图11所示的示例中,picture_header_in_slice_header_flag指定切片头语法结构中是否存在画面头语法结构。picture_header_in_slice_header_flag的第一值(例如,1或真)指定切片头中存在画面头,picture_header_in_slice_header_flag的第二值(例如,0或假)指定切片头中不存在画面头。
picture_header_structure()可以基于picture_header_in_slice_header_flag获取。例如,当picture_header_in_slice_header_flag具有第一值时,可以发信号通知picture_header_structure()。当picture_header_in_slice_header_flag具有第二值时,picture_header_structure()可以不包括在切片头中,但是可以被包括在单独的NAL单元中并发信号通知。
slice_subpic_id可以是关于用于标识包括当前切片的子画面的子画面标识符的信息。slice_subpic_id可以基于subpics_present_flag来获取。例如,当subpics_present_flag为1时,可以发信号通知slice_subpic_id。subpics_present_flag可以指定当前画面中是否存在子画面或者比特流中是否存在关于子画面的信息。例如,subpics_present_flag的第一值(例如,1或真)可以指定比特流中存在关于子画面的信息或者当前画面中存在一个或更多个子画面。subpics_present_flag的第二值(例如,0或假)可以指定比特流中不存在关于子画面的信息或者当前画面中不存在子画面。
slice_address可以指定当前切片的当前画面中的地址。slice_address可以基于rect_slice_flag和/或NumTilesInPic来获取。例如,当rect_slice_flag为第一值(例如,1或真)或者NumTilesInPic大于1时,可以在切片头中发信号通知slice_address。此时,rect_slice_flag可以指示包括在当前画面中的切片是否为矩形切片的指示符。例如,rect_slice_flag可以以画面级别(PPS或画面头)发信号通知。另外,NumTilesInPic可以指定包括在当前画面中的拼块数量。
num_tiles_in_slice_minus1可以指定包括在当前切片中的拼块数量。num_tiles_in_slice_minus1可以基于rect_slice_flag和NumTilesInPic来获取。例如,当rect_slice_flag为第二值(例如,0或假)并且NumTilesInPic大于1时,可以在切片头中发信号通知num_tiles_in_slice_minus1。
在图11所示的实施方式中,作为与picture_header_in_slice_header_flag关联的比特流一致性的要求,可以包括以下内容。
为了满足比特流一致性,要求picture_header_in_slice_header_flag的值在CLVS的所有切片中相同。
另外,当picture_header_in_slice_header_flag为第一值(例如,1)时,为了满足比特流一致性,要求CLVS中不存在NAL单元类型等于PH_NUT的NAL单元。
另外,当picture_header_in_slice_header_flag为第二值(例如,0)时,为了满足比特流一致性,要求在PU中在PU的第一VCL NAL单元之前存在NAL单元类型等于PH_NUT的NAL单元。
图12是例示解析和解码图11的切片头的方法的流程图。
首先,图像解码设备可以获取包括在切片头中的第一标志(picture_header_in_slice_header_flag)(S1210)。
第一标志可以指定切片头中是否存在画面头。另外,第一标志可以指定当前画面是否仅包括一个切片。
当第一标志为第一值(例如,1或真)(步骤S1220-是)时,图像解码设备可以从切片头获取画面头(S1230)。当第一标志为第二值(例如,0或假)(步骤S1220-否)时,可以从画面头NAL单元而非切片头(未示出)获取画面头。
此后,可以在步骤S1240中确定subpics_present_flag是否为第一值(例如,1或真)。subpics_present_flag可以指定当前画面是否包括子画面。另外,subpics_present_flag可以指定比特流中是否包括关于子画面的信息。subpics_present_flag可以以切片的更高级别发信号通知。例如,subpics_present_flag可以被包括在序列参数集中并发信号通知。
当subpics_present_flag为第一值(例如,1或真)(步骤S1240-是)时,图像解码设备可以从切片头获取slice_subpic_id(S1250)。当subpics_present_flag为第二值(例如,0或假)(步骤S1240-否)时,图像解码设备可以省略(跳过)从切片头解析slice_subpic_id。
此后,在步骤S1260中,可以确定rect_slice_flag是否为第一值(例如,1或真)和/或NumTilesInPic是否大于1。rect_slice_flag可以是指示包括在当前画面中的切片是否为矩形切片的指示符。例如,rect_slice_flag可以以画面级别(PPS或画面头)发信号通知。另外,NumTilesInPic可以指定包括在当前画面中的拼块数量。
当rect_slice_flag为第一值(例如,1或真)或者NumTilesInPic大于1(步骤S1260-是)时,图像解码设备可以从切片头获取slice_address(S1270)。当rect_slice_flag为第二值(例如,0或假)并且NumTilesInPic不大于1(步骤S1260-否)时,图像解码设备可以省略(跳过)从切片头解析slice_address。
此后,在步骤S1280中,可以确定rect_slice_flag是否为第一值(例如,1或真)和/或whether NumTilesInPic是否大于1。
当rect_slice_flag为第一值(例如,1或真)或者NumTilesInPic不大于1(步骤S1280-否)时,图像解码设备可以省略(跳过)从切片头解析num_tiles_in_slice_minus1。当rect_slice_flag为第二值(例如,0或假)并且NumTilesInPic大于1(步骤S1280-是)时,图像解码设备可以从切片头获取num_tiles_in_slice_minus1(S1290)。
此后,图像解码设备可以通过从切片头解析后续语法元素(未示出)来对切片头进行解码。
图13是例示对图11的切片头进行编码的方法的流程图。
首先,图像编码设备可以确定第一标志(picture_header_in_slice_header_flag)的值并且将第一标志编码在切片头中(S1310)。
当第一标志为第一值(例如,1或真)(步骤S1320-是)时,图像编码设备可以将画面头编码在切片头中(S1330)。当第一标志为第二值(例如,0或假)(步骤S1320-否)时,画面头不被编码在切片头中,而是可以被包括在画面头NAL单元(未示出)中并发信号通知。
此后,在步骤S1340中,可以确定subpics_present_flag是否为第一值(例如,1或真)。subpics_present_flag可以以切片的更高级别确定并发信号通知。例如,subpics_present_flag可以被包括在序列参数集中并发信号通知。
当subpics_present_flag为第一值(例如,1或真)(步骤S1340-是)时,图像编码设备可以将slice_subpic_id编码在切片头中(S1350)。当subpics_present_flag为第二值(例如,0或假)(步骤S1340-否)时,图像编码设备可以省略(跳过)将slice_subpic_id编码在切片头中。
此后,在步骤S1360中,可以确定rect_slice_flag是否为第一值(例如,1或真)和/或NumTilesInPic是否大于1。
当rect_slice_flag为第一值(例如,1或真)时或者当NumTilesInPic大于1时(步骤S1360-是),图像编码设备可以将slice_address编码在切片头中(S1370)。当rect_slice_flag为第二值(例如,0或假)并且NumTilesInPic不大于1(步骤S1360-否)时,图像编码设备可以省略(跳过)将slice_address编码在切片头中。
此后,在步骤S1380中,可以确定rect_slice_flag是否为第一值(例如,1或真)和/或NumTilesInPic是否大于1。
当rect_slice_flag为第一值(例如,1或真)时或者当NumTilesInPic不大于1(步骤S1380-否)时,图像编码设备可以省略(跳过)将num_tiles_in_slice_minus1编码在切片头中。当rect_slice_flag为第二值(例如,0或假)并且NumTilesInPic大于1(步骤S1380-是)时,图像编码设备可以将num_tiles_in_slice_minus1编码在切片头中(S1390)。
此后,图像编码设备可以通过将后续语法元素(未示出)编码在切片头中来对切片头进行编码。
在参照图12和图13描述的示例中,可以改变或省略一些步骤。例如,可以改变与slice_address和/或num_tiles_in_slice_minus1的编码/解码有关的条件。
在下文中,将描述考虑基于子画面的图像编码/解码改进参照图11至图13描述的实施方式的方法。
图像编码设备可以基于子画面对当前画面进行编码。另选地,图像编码设备可以对配置当前画面的至少一个子画面进行编码并且生成包括编码的至少一个子画面的编码信息的比特流。
图像解码设备可以基于包括至少一个子画面的编码信息的比特流来对包括在当前画面中的至少一个子画面进行解码。
如上所述,picture_header_in_slice_header_flag可以指定切片头中是否存在画面头。另外,picture_header_in_slice_header_flag可以用于指定当前画面是仅包括一个切片还是多个切片。当当前画面仅包括一个切片时,由于切片是当前画面中的仅有切片,所以切片头中的一些语法元素具有固定值。在这种情况下,不发信号通知具有固定值的一些语法元素可能是高效的。
在下文中,将描述用于执行高效信令的本公开的各种配置。以下配置可以单独或组合应用于本公开的实施方式。
配置1
当当前画面仅包括一个切片时,可以跳过(省略)一些语法元素在切片头中的信令。省略信令的语法元素的值可以由图像编码设备和/或图像解码设备导出或推断。
当前画面是否仅包括一个切片可以由预定指示符指示。因此,当指示符指示当前画面仅包括一个切片时,一些语法元素可不包括在切片头中,并且其值可以推断或导出。此时,指示符可以用作指示一些语法元素是否包括在切片头中的条件。
配置2
例如,配置1中描述的指示符可以是picture_header_in_slice_header_flag。
配置3
切片头中可以根据picture_header_in_slice_header_flag的值省略其信令的语法元素可以包括以下(a)或(b)中的至少一个。
指定包括切片的子画面的语法元素
可以省略语法元素(a)的信令的原因是因为当每画面仅包括一个切片时,显然不指定子画面。例如,当picture_header_in_slice_header_flag指示当前画面仅包括一个切片时,由于当前画面不基于子画面来编码/解码,所以可以省略关于子画面的信息的信令。
指定切片的地址的语法元素
可以省略语法元素(b)的信令的原因是因为显然切片是画面中的仅有第一切片。例如,当picture_header_in_slice_header_fla指示当前画面仅包括一个切片时,由于当前切片是当前画面中的仅有切片,所以可以省略当前切片的地址的信令。
配置4
当序列中的各个画面仅具有一个切片时,也不使用子画面。例如,作为子画面的语法元素的subpics_present_flag或subpic_info_present_flag可被限制为第二值(例如,0或假)。subpics_present_flag或subpic_info_present_flag可以指定当前画面中是否存在子画面或者比特流中是否存在关于子画面的信息。例如,subpics_present_flag或subpic_info_present_flag可以被包括在序列参数集中并发信号通知。
类似地,当subpics_present_flag或subpic_info_present_flag为第一值(例如,1或真)时,指示序列中的各个画面是否仅包括一个切片的标志或者指示切片头中是否存在画面头的标志(例如,picture_header_in_slice_header_flag)可不指示当前画面仅包括一个切片,并且可不指示切片头中存在画面头。因此,例如,当subpics_present_flag或subpic_info_present_flag为第一值(例如,1或真)时,picture_header_in_slice_header_flag可以被约束为具有第二值(例如,0或假)。
配置5
当画面头不存在于画面头NAL单元中,但存在于切片头中时,在特定层(层A)的CLVS中,参考层A的所有层(即,层A的依赖层)和层A所参考的所有层的画面头可以被约束为存在于切片头中,而非画面头NAL单元中。施加上述约束以简化多层比特流情况下访问单元内的画面边界检测。
图14是示出根据本公开的另一实施方式的切片头的语法结构的视图。
由于在根据图14的实施方式的切片头结构和根据图11的实施方式的切片头结构中相同语法元素和相同信令条件的描述是相同的,所以将省略重复的描述。
根据图14的实施方式,可以改变发信号通知slice_subpic_id的条件。具体地,切片头可以基于subpics_present_flag和picture_header_in_slice_header_flag包括slice_subpic_id。例如,当subpics_present_flag为第一值(例如,1或真)并且picture_header_in_slice_header_flag为第二值(例如,0或假)时,可以在切片头中发信号通知slice_subpic_id。这是因为,如上所述,当picture_header_in_slice_header_flag具有第一值时,当前画面仅包括一个切片并且不执行基于子画面的编码/解码,关于子画面的信息的信令是不必要的。
另外,根据图14的实施方式,可以改变发信号通知slice_address的条件。具体地,切片头可以基于rect_slice_flag、NumTilesInPic和picture_header_in_slice_header_flag包括slice_address。例如,当rect_slice_flag为第一值(例如,1或真)或者NumTilesInPic大于1,并且picture_header_in_slice_header_flag为第二值(例如,0或假)时,可以在切片头中发信号通知slice_address。这是因为,如上所述,当picture_header_in_slice_header_flag具有第一值时,由于当前画面仅包括一个切片,所以关于切片的地址的信息的信令是不必要的。
在图14的实施方式中,picture_header_in_slice_header_flag的比特流一致性的要求可以如下改进。
首先,要求picture_header_in_slice_header_flag的值在CLVS中的所有切片中相同。
另外,当picture_header_in_slice_header_flag为第一值(例如,1)时,要求NAL单元类型等于PH_NUT的NAL单元不存在于CLVS中。这是因为画面头被包括在切片头中并发信号通知,因此不需要用于发送画面头的单独NAL单元。
另外,当picture_header_in_slice_header_flag为第二值(例如,0)时,要求NAL单元类型等于PH_NUT的NAL单元存在于PU中,PU的第一VCL NAL单元前面。即,要求当前PU具有PH NAL单元。这是因为需要用于发送画面头的单独NAL单元。
另外,当subpics_present_flag或subpic_info_present_flag为第一值(例如,1)时,要求picture_header_in_slice_header_flag不为第一值(例如,1)。在这种情况下,picture_header_in_slice_header_flag可以被约束为具有第二值(例如,0)。
在图14的示例中,slice_subpic_id指示包括切片的子画面的标识符。当slice_subpic_id存在时,导出变量SubPicIdx,使得SubpicIdList[SubPicIdx]等于slice_subpic_id。当slice_subpic_id不存在时,变量SubPicIdx可以被导出为等于0。
在图14的示例中,slice_subpic_id的长度(比特长度)可以如下导出。
如果sps_subpic_id_signalling_present_flag等于1,则slice_subpic_id的长度被导出为等于sps_subpic_id_len_minus1+1。这里,sps_subpic_id_signalling_present_flag可以指定是否在序列参数集中发信号通知子画面的标识符。sps_subpic_id_len_minus1是子画面标识符的长度信息,并且可以被包括在序列参数集中并发信号通知。
否则(如果sps_subpic_id_signalling_present_flag不为1),如果ph_subpic_id_signalling_present_flag为1,则slice_subpic_id的长度可以被导出为等于ph_subpic_id_len_minus1+1。这里,ph_subpic_id_signalling_present_flag可以指定是否在画面头中发信号通知子画面的标识符。ph_subpic_id_len_minus1是子画面标识符的长度信息并且可以被包括在画面头中并发信号通知。
否则(如果sps_subpic_id_signalling_present_flag和ph_subpic_id_signalling_present_flag二者不为1),如果pps_subpic_id_signalling_present_flag为1,则slice_subpic_id的长度可以被导出为等于pps_subpic_id_len_minus1+1。这里,pps_subpic_id_signalling_present_flag可以指定是否在画面参数集中发信号通知子画面的标识符。pps_subpic_id_len_minus1是子画面标识符的长度信息并且可以被包括在画面参数集中并发信号通知。
否则(如果所有sps_subpic_id_signalling_present_flag、ph_subpic_id_signalling_present_flag和pps_subpic_id_signalling_present_flag不为1),slice_subpic_id的长度可以被导出为等于Ceil(Log2(Sps_num_subpics_minus1+1))。sps_num_subpics_minus1是CLVS中的各个画面的子画面的数量并且可以被包括在序列参数集中并发信号通知。
slice_address指定当前切片的切片地址。当slice_address不存在时,slice_address的值被推断为等于0。
picture_header_structure()可以包括参照图10描述的picture_header_rbsp()中所包括的至少一个语法元素。
图15是例示解析和解码图14的切片头的方法的流程图。
图15的步骤S1510至S1530分别等于图12的步骤S1210至S1230,因此将省略其重复的描述。
图15的步骤S1540至S1570可以分别对应于图12的步骤S1240至S1270。因此,将省略共同部分的重复描述。
根据图15的实施方式,在步骤S1540中,可以确定subpics_present_flag是否为第一值(例如,1或真)以及第一标志是否为第二值(例如,0或假)。
当subpics_present_flag为第一值并且第一标志为第二值(步骤S1540-是)时,图像解码设备可以从切片头获取slice_subpic_id(S1550)。当subpics_present_flag为第二值(例如,0或假)或者第一标志为第一值(例如,1或真)(步骤S1540-否)时,图像解码设备可以省略(跳过)从切片头解析slice_subpic_id。
此后,在步骤S1560中,可以确定rect_slice_flag是否为第一值(例如,1或真)或者NumTilesInPic是否大于1以及第一标志是否为第二值(例如,0或假)。
当rect_slice_flag为第一值或者NumTilesInPic大于1并且第一标志为第二值(步骤S1560-是)时,图像解码设备可以从切片头获取slice_address(S1570)。当rect_slice_flag为第二值(例如,0或假)并且NumTilesInPic不大于1或者第一标志为第一值(例如,1或真)(步骤S1560-否)时,图像解码设备可以省略(跳过)从切片头解析slice_address。
图15的步骤S1580至S1590分别等于图12的步骤S1280至S1290,因此将省略其重复的描述。
如参照图12所述,图像解码设备可以通过从切片头解析后续语法元素(未示出)来对切片头进行解码。
图16是例示对图14的切片头进行编码的方法的流程图。
图16的步骤S1610至S1630分别等于图13的步骤S1310至S1330,因此将省略其重复的描述。
图16的步骤S1640至S1670可以分别对应于图16的步骤S1340至S1370。因此,将省略共同部分的重复描述。
根据图16的实施方式,在步骤S1640中,可以确定subpics_present_flag是否为第一值(例如,1或真)以及第一标志是否为第二值(例如,0或假)。
当subpics_present_flag为第一值并且第一标志为第二值(步骤S1640-是)时,图像编码设备可以将slice_subpic_id编码在切片头中(S1650)。当subpics_present_flag为第二值(例如,0或假)或者第一标志为第一值(例如,1或真)(步骤S1640-否)时,图像编码设备可以省略(跳过)将slice_subpic_id编码在切片头中。
此后,在步骤S1660中,可以确定rect_slice_flag是否为第一值(例如,1或真)或者NumTilesInPic是否大于1以及第一标志是否为第二值(例如,0或假)。
当rect_slice_flag为第一值或者NumTilesInPic大于1并且第一标志为第二值(步骤S1660-是)时,图像编码设备可以将slice_address编码在切片头中(S1670)。当rect_slice_flag为第二值(例如,0或假)并且NumTilesInPic不大于1或者第一标志为第一值(例如,1或真)(步骤S1660-否)时,图像编码设备可以省略(跳过)将slice_address编码在切片头中。
图16的步骤S1680至S1690分别等于图13的步骤S1380至S1390,因此将省略其重复的描述。
如参照图13所述,图像编码设备可以通过将后续语法元素(未示出)编码在切片头中来对切片头进行编码。
在参照图15和图16描述的示例中,可以改变或省略一些步骤。例如,可以改变与slice_address和/或num_tiles_in_slice_minus1的编码/解码有关的条件。
作为参照图14至图16描述的实施方式的修改示例,对picture_header_in_slice_header_flag的改进约束适用于图11所示的实施方式。在这种情况下,可以解决传统方法的至少一些问题。具体地,例如,可以基于以切片头的更高级别发信号通知的关于子画面的信息(subpics_present_flag或subpic_info_present_flag)来约束picture_header_in_slice_header_flag的值。更具体地,当subpics_present_flag或subpic_info_present_flag为第一值时,picture_header_in_slice_header_flag可以被约束为具有第二值。因此,当subpics_present_flag(或subpic_info_present_flag)为第一值时(当关于子画面的信息存在于比特流中或者当前画面包括子画面时),picture_header_in_slice_header_flag可以指示画面头不存在于切片头中或者当前画面不仅包括一个切片。在图14所示的实施方式中,当subpics_present_flag为第一值并且picture_header_in_slice_header_flag为第二值时,可以从切片头获取slice_subpic_id。然而,当subpics_present_flag为第一值时,由于picture_header_in_slice_header_flag被约束为具有第二值,所以检查subpics_present_flag作为slice_subpic_id的解析条件可能就足够了。即,根据该修改示例,在步骤S1540和步骤S1640中,可以省略关于第一标志是否为第二值的确定。根据该修改示例,当subpics_present_flag或subpic_info_present_flag为第一值时,图像编码设备可以对具有第二值的picture_header_in_slice_header_flag进行编码。另外,当subpics_present_flag或subpic_info_present_flag为第一值时,图像解码设备可以获取具有第二值的picture_header_in_slice_header_flag。
图17是示出根据本公开的另一实施方式的切片头的语法结构的视图。
由于在根据图17的实施方式的切片头结构和根据图14的实施方式的切片头结构中相同语法元素和相同信令条件的描述是相同的,所以将省略重复的描述。
根据图17的实施方式,可以改变发信号通知picture_header_in_slice_header_flag的条件。具体地,切片头可以基于subpics_present_flag包括picture_header_in_slice_header_flag。例如,当subpics_present_flag为第一值(例如,1或真)时,可以不在切片头中发信号通知picture_header_in_slice_header_flag。例如,当subpics_present_flag为第二值(例如,0或假)时,可以在切片头中发信号通知picture_header_in_slice_header_flag。这是因为,如上所述,当subpics_present_flag具有第一值时,由于当前画面无法仅包含一个切片,所以picture_header_in_slice_header_flag具有固定值(第二值)。因此,picture_header_in_slice_header_flag的信令是不必要的。在这种情况下,在picture_header_in_slice_header_flag为第一值的情况下发信号通知的画面头可不通过切片头发信号通知。
另外,根据图17的实施方式,当subpics_present_flag为第一值时,可以在切片头中发信号通知slice_subpic_id。
在下文中,对于slice_address和num_tiles_in_slice_minus1的描述,参考图14。
在图17的实施方式中,picture_header_in_slice_header_flag的比特流一致性的要求可以与参照图14描述的那些相同。
图18是例示解析和解码图17的切片头的方法的流程图。
根据图18的方法和根据图15的方法在解析语法元素的一些条件和顺序方面不同,并且共同公开的语法元素的描述可以相同。
根据图18的实施方式,图像解码设备可以在步骤S1810中确定subpics_present_flag的值是否为第二值(例如,0或假)。
当在步骤S1810中subpics_present_flag的值为第一值(例如,1或真)时,由于执行基于子画面的编码/解码,所以当前画面不仅包括一个切片。因此,在这种情况下,图像解码设备可不从切片头获取picture_header_in_slice_header_flag和画面头,而是可以获取slice_subpic_id(S1850)。
当在步骤S1810中subpics_present_flag的值为第二值时,图像解码设备从切片头获取第一标志(picture_header_in_slice_header_flag)(S1820)。图像解码设备可以确定第一标志是否为第一值(S1830),并且当第一标志为第一值时从切片头获取画面头(S1840)。当第一标志为第二值时,图像解码设备不从切片头获取画面头,并且在这种情况下,图像解码设备可以通过单独的NAL单元获取画面头。当在步骤S1810中subpics_present_flag的值为第二值时,由于不执行基于子画面的编码/解码,所以图像解码设备可不获取关于子画面的信息(slice_subpic_id)。
图18的步骤S1860至S1890分别等于图15的步骤S1560至S1590,因此将省略其重复的描述。
如参照图12所述,图像解码设备可以通过从切片头解析后续语法元素(未示出)来对进切片头行解码。
图19是例示对图17的切片头进行编码的方法的流程图。
根据图19的方法和根据图16的方法在对语法元素进行编码的一些条件和顺序方面不同,并且共同公开的语法元素的描述可以相同。
根据图19的实施方式,图像编码设备可以在步骤S1910中确定subpics_present_flag的值是否为第二值(例如,0或假)。
当在步骤S1910中subpics_present_flag的值为第一值(例如,1或真)时,由于执行基于子画面的编码/解码,所以当前画面不仅包括一个切片。因此,在这种情况下,图像编码设备可以不将picture_header_in_slice_header_flag和画面头编码在切片头中,而是可以对slice_subpic_id进行编码(S1950)。
当在步骤S1910中subpics_present_flag的值为第二值时,图像编码设备可以确定第一标志(picture_header_in_slice_header_flag)的值并且将第一标志编码在切片头中(S1920)。图像编码设备可以确定第一标志是否为第一值(S1930),并且当第一标志为第一值时将画面头编码在切片头中(S1940)。当第一标志为第二值时,图像编码设备可不将画面头编码在切片头中,并且在这种情况下,图像编码设备可以通过单独的NAL单元来发信号通知画面头。当在步骤S1910中subpics_present_flag的值为第二值时,由于不执行基于子画面的编码/解码,所以图像编码设备可不将关于子画面的信息(slice_subpic_id)编码在切片头中。
图19的步骤S1960至S1990分别等于图16的步骤S1660至S1690,因此将省略其重复的描述。
如参照图13所述,图像编码设备可以通过将后续语法元素(未示出)编码在切片头中来对切片头进行编码。
在参照图18和图19所述的示例中,可以改变或省略一些步骤。例如,可以改变与slice_address和/或num_tiles_in_slice_minus1的编码/解码有关的条件。
根据本公开的实施方式,可更高效地发信号通知关于画面头是否存在于切片头的信息和/或关于画面是否仅包括一个切片的信息。
另外,根据本公开的实施方式,由于基于是否执行基于子画面的编码/解码来发信号通知关于画面头是否存在于切片头中的信息,所以可防止发信号通知不必要的信息。
本公开中描述的语法元素的名称可以包括关于发信号通知对应语法元素的位置的信息。例如,以“sps_”开始的语法元素可以意指在序列参数集(SPS)中发信号通知对应语法元素。另外,以“pps_”、“ph_”、“sh_”等开始的语法元素意指分别在画面参数集(PPS)、画面头和切片头中发信号通知对应语法元素。
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本公开的方法,所描述的步骤可以进一步包括其他步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其他附加步骤。
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
此外,应用本公开的实施方式的图像解码装置和图像编码装置可以包括在多媒体广播传送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控摄像头、视频聊天设备、诸如视频通信的实时通信设备、移动流传输设备、存储介质、摄像机、视频点播(VoD)服务提供设备、OTT视频(over the top video)设备、互联网流传输服务提供设备、三维(3D)视频设备、视频电话视频设备、医疗视频设备等,并且可用于处理视频信号或数据信号。例如,OTT视频设备可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能手机、平板PC、数字录像机(DVR)等。
图20是示出可应用本公开的实施方式的内容流传输系统的视图。
如图20中所示,应用本公开的实施方式的内容流传输系统可以主要包括编码服务器、流传输服务器、网络服务器、媒体存储、用户设备和多媒体输入设备。
编码服务器将从诸如智能手机、相机、便携式摄像机等多媒体输入设备输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能手机、相机、摄像机等多媒体输入设备直接生成码流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码装置产生,并且流传送服务器可以在发送或接收比特流的过程中临时存储比特流。
流传输服务器基于用户通过网络服务器的请求将多媒体数据发送到用户设备,并且网络服务器用作向用户通知服务的媒介。当用户从网络服务器请求所需的服务时,网络服务器可以将其递送到流传输服务器,并且流传输服务器可以向用户发送多媒体数据。在这种情况下,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用作控制内容流系统中设备之间的命令/响应。
流传输服务器可以从媒体存储和/或编码服务器接收内容。例如,当从编码服务器接收到内容时,可以实时接收内容。在这种情况下,为了提供平滑的流传输服务,流传输服务器可以在预定时间内存储比特流。
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、平板PC、平板计算机、超级本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流传输系统中的每个服务器都可以作为分布式服务器运行,在这种情况下,从每个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在装置或计算机上执行的软件或者可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并可在装置或计算机上执行的此类软件或命令的一种非暂时性计算机可读介质。
工业适用性
本公开的实施方式可以被用于对图像进行编码或解码。

Claims (15)

1.一种图像解码方法,该图像解码方法包括以下步骤:
获取指定比特流中是否存在关于子画面的信息的第一标志;
获取指定切片头中是否存在画面头信息的第二标志;以及
基于所述第一标志和所述第二标志对所述比特流进行解码,
其中,当所述第一标志指定所述比特流中存在关于所述子画面的信息时,所述第二标志具有指定所述切片头中不存在所述画面头信息的值。
2.根据权利要求1所述的图像解码方法,其中,当所述第一标志指定所述比特流中存在关于所述子画面的信息时,所述切片头包括子画面的标识符,所述子画面包括与所述切片头有关的切片。
3.根据权利要求1所述的图像解码方法,该图像解码方法还包括:当所述第二标志指定所述切片头中存在所述画面头信息时,从所述切片头获取所述画面头信息。
4.根据权利要求1所述的图像解码方法,其中,所述第二标志相对于编码层视频序列CLVS中的所有切片具有相同的值。
5.根据权利要求1所述的图像解码方法,其中,当所述第二标志指定所述切片头中存在所述画面头信息时,在编码层视频序列CLVS中不存在用于发送所述画面头信息的网络抽象层NAL单元。
6.根据权利要求1所述的图像解码方法,其中,当所述第二标志指定所述切片头中不存在所述画面头信息时,从网络抽象层NAL单元类型等于PH_NUT的NAL单元获取所述画面头信息。
7.根据权利要求1所述的图像解码方法,
其中,所述第一标志以切片的更高级别发信号通知,并且
其中,所述第二标志被包括在所述切片头中并发信号通知。
8.一种包括存储器和至少一个处理器的图像解码设备,其中,所述至少一个处理器被配置为:
获取指定比特流中是否存在关于子画面的信息的第一标志;
获取指定切片头中是否存在画面头信息的第二标志;以及
基于所述第一标志和所述第二标志对所述比特流进行解码,
其中,当所述第一标志指定所述比特流中存在关于所述子画面的信息时,所述第二标志具有指定所述切片头中不存在所述画面头信息的值。
9.一种图像编码方法,该图像编码方法包括以下步骤:
对指定比特流中是否存在关于子画面的信息的第一标志进行编码;
对指定切片头中是否存在画面头信息的第二标志进行编码;以及
基于所述第一标志和所述第二标志对所述比特流进行编码,
其中,当所述第一标志指定所述比特流中存在关于所述子画面的信息时,所述第二标志具有指定所述切片头中不存在所述画面头信息的值。
10.根据权利要求9所述的图像编码方法,其中,当所述第一标志指定所述比特流中存在关于所述子画面的信息时,所述切片头包括子画面的标识符,所述子画面包括与所述切片头有关的切片。
11.根据权利要求9所述的图像编码方法,该图像编码方法还包括:当所述第二标志指定所述切片头中存在所述画面头信息时,将所述画面头信息编码在所述切片头中。
12.根据权利要求9所述的图像编码方法,其中,所述第二标志相对于编码层视频序列CLVS中的所有切片具有相同的值。
13.根据权利要求9所述的图像编码方法,其中,当所述第二标志指定所述切片头中不存在所述画面头信息时,通过网络抽象层NAL单元类型等于PH_NUT的NAL单元来发信号通知所述画面头信息。
14.根据权利要求9所述的图像编码方法,
其中,所述第一标志以切片的更高级别发信号通知,并且
其中,所述第二标志被包括在所述切片头中并发信号通知。
15.一种发送通过根据权利要求9所述的图像编码方法生成的比特流的方法。
CN202180019325.2A 2020-01-14 2021-01-14 用于发信号通知与子画面和画面头有关的信息的图像编码/解码方法和装置以及用于发送比特流的方法 Pending CN115244937A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062961188P 2020-01-14 2020-01-14
US62/961,188 2020-01-14
PCT/KR2021/000515 WO2021145687A1 (ko) 2020-01-14 2021-01-14 서브 픽처 및 픽처 헤더에 관한 정보를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Publications (1)

Publication Number Publication Date
CN115244937A true CN115244937A (zh) 2022-10-25

Family

ID=76863252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180019325.2A Pending CN115244937A (zh) 2020-01-14 2021-01-14 用于发信号通知与子画面和画面头有关的信息的图像编码/解码方法和装置以及用于发送比特流的方法

Country Status (8)

Country Link
US (2) US11758172B2 (zh)
EP (1) EP4093030A4 (zh)
JP (2) JP7440644B2 (zh)
KR (1) KR20220112289A (zh)
CN (1) CN115244937A (zh)
BR (1) BR112022013931A2 (zh)
MX (1) MX2022008664A (zh)
WO (1) WO2021145687A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AR121126A1 (es) 2020-02-29 2022-04-20 Beijing Bytedance Network Tech Co Ltd Señalización de elementos de sintaxis para indicación de imagen de referencia
GB2614453B (en) * 2020-03-20 2024-02-21 Canon Kk High level syntax for video coding and decoding
GB2593222A (en) 2020-03-20 2021-09-22 Canon Kk High level syntax for video coding and decoding
US20230145618A1 (en) * 2020-03-20 2023-05-11 Canon Kabushiki Kaisha High level syntax for video coding and decoding

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654794B2 (en) * 2014-01-03 2017-05-16 Qualcomm Incorporated Methods for coding an inter-layer reference picture set (RPS) and coding end of bitstream (EOB) network access layer (NAL) units in multi-layer coding
BR112022013803A2 (pt) * 2020-01-12 2022-09-13 Huawei Tech Co Ltd Método e aparelho de harmonização de predição ponderada com modos de mesclagem não retangulares

Also Published As

Publication number Publication date
EP4093030A1 (en) 2022-11-23
EP4093030A4 (en) 2023-12-27
US20220394286A1 (en) 2022-12-08
JP2023510576A (ja) 2023-03-14
KR20220112289A (ko) 2022-08-10
BR112022013931A2 (pt) 2022-10-04
JP2024040459A (ja) 2024-03-25
US11758172B2 (en) 2023-09-12
WO2021145687A1 (ko) 2021-07-22
US20230370628A1 (en) 2023-11-16
MX2022008664A (es) 2022-10-20
JP7440644B2 (ja) 2024-02-28

Similar Documents

Publication Publication Date Title
CN114402597B (zh) 应用自适应环路滤波器的视频或图像编码
EP4093030A1 (en) Image encoding/decoding method and device for signaling information related to sub picture and picture header, and method for transmitting bitstream
EP4002843A1 (en) Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream
CN114651441B (zh) 使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法
EP3941046A1 (en) Image encoding/decoding method and apparatus for performing intra prediction, and method for transmitting bitstream
CN115280782A (zh) 基于混合nal单元类型的视频编码/解码方法和设备及发送比特流的方法
EP4120681A1 (en) Image encoding/decoding method and apparatus for selectively encoding size information of rectangular slice, and method for transmitting bitstream
EP3941048A1 (en) Image encoding/decoding method and device, and method for transmitting bitstream
CA3134688A1 (en) Image coding method using candidates from intra-prediction types to perform intra-prediction
KR20230024340A (ko) Aps에 대한 식별자를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
CN115244936A (zh) 基于混合nal单元类型的图像编码/解码方法和装置及发送比特流的方法
CN114402598A (zh) 使用滤波的图像编码/解码方法和装置及发送比特流的方法
CN114175648A (zh) 用于限制色度块的分割条件的图像编码和解码方法和设备以及用于传送比特流的方法
CN113574876A (zh) 对色度块使用分段限制的视频编码/解码方法和设备,以及发送比特流的方法
CN114747223B (zh) 基于子画面结构执行环路内滤波的图像编码/解码方法和装置及发送比特流的方法
CN114731442B (zh) 使用加权预测的图像编码/解码方法和装置以及发送比特流的方法
KR20220161427A (ko) 픽처 분할 정보 및 서브픽처 정보에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
AU2020354148A1 (en) Image encoding/decoding method and apparatus for signaling residual coding method used for encoding block to which BDPCM is applied, and method for transmitting bitstream
KR20220041924A (ko) 서브 픽쳐를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN115176465A (zh) 基于叶节点的重新配置的预测模式类型来执行预测的图像编码/解码方法和设备以及比特流传输方法
CN114731405A (zh) 使用量化矩阵的图像编码/解码方法和设备以及发送比特流的方法
CN115668950A (zh) 用信号通知hrd参数的图像编码/解码方法和装置及存储比特流的计算机可读记录介质

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