CN115769579A - 基于子层的所需数目确定子层的图像编码/解码方法和装置以及比特流发送方法 - Google Patents

基于子层的所需数目确定子层的图像编码/解码方法和装置以及比特流发送方法 Download PDF

Info

Publication number
CN115769579A
CN115769579A CN202180041964.9A CN202180041964A CN115769579A CN 115769579 A CN115769579 A CN 115769579A CN 202180041964 A CN202180041964 A CN 202180041964A CN 115769579 A CN115769579 A CN 115769579A
Authority
CN
China
Prior art keywords
layer
layers
picture
sub
prediction
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
CN202180041964.9A
Other languages
English (en)
Inventor
亨得利·亨得利
S·帕鲁利
金昇焕
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 CN115769579A publication Critical patent/CN115769579A/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/187Methods 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 scalable video layer
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Landscapes

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

Abstract

提供了图像编码/解码方法和装置。根据本公开的供图像解码装置对图像进行解码的方法包括以下步骤:确定属于输出层集合(OLS)的至少一个层;以及确定所述至少一个层的子层的数目。

Description

基于子层的所需数目确定子层的图像编码/解码方法和装置 以及比特流发送方法
技术领域
本公开涉及图像编码/解码方法和设备,并且更具体地,涉及基于所需子层的数目(所需子层的数量)确定子层的图像编码和解码方法和设备,以及发送通过本公开的图像编码方法/设备生成的比特流的方法。
背景技术
最近,各个领域对高分辨率和高质量图像(诸如高清(HD)图像和超高清(UHD)图像)的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地发送、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开的目的是提供具有改进的编码/解码效率的图像编码/解码方法和设备。
本公开的另一目的是提供通过基于所需子层的数目确定子层来提高编码/解码效率的图像编码/解码方法和设备。
本公开的另一目的是提供发送通过根据本公开的图像编码方法或设备生成的比特流的方法。
本公开的另一目的是提供存储通过根据本公开的图像编码方法或设备生成的比特流的记录介质。
本公开的另一目的是提供一种记录介质,其存储通过根据本公开的图像解码设备接收、解码并用于重构图像的比特流。例如,用于使根据本公开的图像解码设备能够执行根据本公开的图像解码方法的比特流可以存储在记录介质中。
通过本公开解决的技术问题不限于上述技术问题,并且根据下面的描述,本文未描述的其它技术问题对于本领域技术人员将变得显而易见。
技术方案
根据本公开的一方面的由图像解码设备执行的图像解码方法可以包括以下步骤:确定输出层集合(OLS)中的至少一个层;以及确定所述至少一个层的子层的数目。
根据本公开的一方面的图像解码设备可以包括存储器和至少一个处理器。所述至少一个处理器可以被配置为:确定输出层集合(OLS)中的至少一个层;并且确定所述至少一个层的子层的数目。所述OLS中的当前层的子层的所述数目可以是基于直接参考层的所需子层的最大数目确定的,所述直接参考层是能够直接参考所述当前层的层。
根据本公开的一方面的由图像编码设备执行的图像编码方法可以包括以下步骤:确定输出层集合(OLS)中的至少一个层;以及确定所述至少一个层的子层的数目。所述OLS中的当前层的子层的所述数目可以是基于直接参考层的所需子层的最大数目确定的,所述直接参考层是能够直接参考所述当前层的层。
此外,根据本公开的另一方面的发送方法可以发送通过根据本公开的图像编码设备或方法生成的比特流。
此外,根据本公开的另一方面的计算机可读记录介质可以存储通过根据本公开的图像编码方法或设备生成的比特流。
此外,根据本公开的另一方面的计算机可读记录介质可以存储用于使解码设备能够执行根据本公开的图像解码方法的比特流。
上面关于本公开简要概述的特征仅仅是本公开的下面的详细描述的示例性方面,并且不限制本公开的范围。
有益效果
根据本公开,可以提供具有提高的编码/解码效率的图像编码/解码方法和设备。
此外,根据本公开,可以提供通过基于所需子层的数目确定子层来提高编码/解码效率的图像编码/解码方法和设备。
此外,根据本公开,可以提供发送通过根据本公开的图像编码方法或设备生成的比特流的方法。
此外,根据本公开,可以提供存储通过根据本公开的图像编码方法或设备生成的比特流的记录介质。
此外,根据本公开,可以提供存储通过根据本公开的图像解码设备接收、解码并用于重构图像的比特流的记录介质。
本领域技术人员将理解,通过本公开可以实现的效果不限于上文具体描述的效果,并且从具体实施方式将更清楚地理解本公开的其它优点。
附图说明
图1是示意性地示出本公开的实施方式适用于的视频编码系统的视图。
图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
图4和图5是示出根据实施方式的画面解码和编码过程的示例的视图。
图6是示出根据实施方式的用于编码的图像的层结构的视图。
图7至图8是例示基于多层的编码和解码的视图。
图9是例示根据本公开的实施方式的VPS的语法结构的视图。
图10至图14是例示根据本公开的实施方式的用于推导VPS相关变量的伪代码的视图。
图15是例示根据本公开的另一实施方式的VPS的语法结构的视图。
图16至图17是例示根据本公开的另一实施方式的用于推导VPS相关变量的伪代码的视图。
图18是例示根据本公开的实施方式的推导子比特流的方法的视图。
图19是例示根据本公开的另一实施方式的编码和/或解码方法的视图。
图20是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
以下,将参考附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于本文描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“联接”或“链接”到另一组件时,它不仅可以包括直接连接关系,还可以包括存在中间组件的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等可以仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。也就是说,多个组件可以集成和实施在一个硬件或软件单元中,或者一个组件可以在多个硬件或软件单元中分布和实施。因此,即使没有另外说明,组件是集成的或组件是分布式的这些实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。另外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
本公开中公开的方法/实施方式适用于在通用视频编码(VVC)标准中公开的方法。另外,本公开中公开的方法/实施方式适用于在基本视频编码(EVC)标准、AOMedia Video 1(AV1)标准、第二代音频视频编码标准(AVS2)或下一代视频/图像编码标准(例如,H.267或H.268)中公开的方法。
在本公开中,提供了视频/图像编码的各种实施方式,并且可以组合地执行本公开的未描述的实施方式。
在本公开中,“视频”可以意指随时间推移的一组图像。“画面”通常是指表示特定时间的一个图像的单元,并且切片/拼块(tile)是在编码中构成画面的一部分的编码单元。切片/拼块可以包括一个或更多个编码树单元(CTU)。CTU可以被分割成一个或更多个CU。
一个画面可以由一个或更多个切片/拼块组成。拼块是画面中的特定拼块行和特定拼块列内的矩形区域,并且可以由多个CTU组成。拼块列可以被定义为CTU的矩形区域,并且可以具有与画面的高度相等的高度以及由从诸如画面参数集的比特流部分用信号通知的语法元素指定的宽度。拼块行可以被定义为CTU的矩形区域,并且可以具有与画面的宽度相等的宽度以及由从诸如画面参数集的比特流部分用信号通知的语法元素指定的高度。
拼块扫描是分割画面的CTU的特定顺序排序。这里,CTU在拼块中以CTU光栅扫描连续排序,而画面中的拼块以画面的拼块的光栅扫描连续排序。切片包括画面的拼块内的整数数目的连续完整CTU行或整数数目的完整拼块。切片可以专有地包括在单个NAL单元中。
一个画面可以分割成两个或更多个子画面。子画面可以为画面中的一个或更多个切片的矩形区域。
一个画面可以包括一个或更多个拼块组。一个拼块组可以包括一个或更多个拼块。图块(birck)可以表示画面中的拼块内的CTU行的矩形区域。一个拼块可以包括一个或更多个图块。图块可以表示拼块中的CTU行的矩形区域。一个拼块可以分割成多个图块,并且每个图块可以包括属于拼块的一个或更多个CTU行。未分割成多个图块的拼块也可以被视为图块。
“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。另外,“样本”可以用作对应于像素的术语。样本通常可以表示像素或像素的值,并且可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。单元可以包括画面的特定区域和与该区域相关的信息中的至少一者。一个单元可以包括一个亮度块和两个色度块(例如,Cb和Cr)。在一些情况下,单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,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”两者。换言之,在本公开中,术语“或”应被解释为指示“另外地或另选地”。
在本公开中,“A和B中的至少一个”可以意指“仅A”、“仅B”或“A和B两者”。另外,在本公开中,“A或B中的至少一个”或“A和/或B中的至少一个”可以被解释为与“A和B中的至少一个”相同。
另外,在本公开中,“A,B和C中的至少一个”可以意指“仅A”、“仅B”、“仅C”或“A,B和C的任何组合”。另外,在本公开中,“A、B或C中的至少一个”或“A、B和/或C中的至少一个”可以被解释为与“A、B和C中的至少一个”相同。
另外,本公开中使用的圆括号可以意指“例如”。具体地,当描述“预测(帧内预测)”时,可以提出“帧内预测”作为“预测”的示例。换言之,本公开的“预测”不限于“帧内预测”,并且“帧内预测”可以作为“预测”的示例而提出。另外,即使当描述“预测(即,帧内预测)”时,也可以提出“帧内预测”作为“预测”的示例。
在本公开中,在一个附图中单独描述的技术特征可以单独地或同时地实现。
视频编码系统的概述
图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可以使用本公开中描述的帧间预测技术中的至少一种。
预测器生成的预测信号可以用于生成重构信号或生成残差信号。减法器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。
通用图像/视频编码过程
在图像/视频编码中,构成图像/视频的画面可以根据解码顺序被编码/解码。与解码画面的输出顺序相对应的画面顺序可以被设置为与解码顺序不同,并且基于此,在帧间预测期间,不仅可以执行前向预测而且可以执行后向预测。
图4示出本公开的实施方式适用于的示意性画面解码过程的示例。在图4中,S410可以在解码设备的熵解码器210中执行,S420可以在包括帧内预测器265和帧间预测器260的预测器中执行,S430可以在包括解量化器220和逆变换器230的残差处理器中执行,S440可以在加法器235中执行,并且S450可以在滤波器240中执行。S410可以包括本公开中描述的信息解码过程,S420可以包括本公开中描述的帧间/帧内预测过程,S430可以包括本公开中描述的残差处理过程,S440可以包括本公开中描述的块/画面重构过程,并且S450可以包括本公开中描述的环路内滤波过程。
参考图4,画面解码过程可以示意性地包括从比特流(通过解码)获得图像/视频信息的过程(S410)、画面重构过程(S420至S440)以及针对重构画面的环路内滤波过程(S450)。可以基于通过本公开中描述的帧间/帧内预测(S420)以及残差处理(S430)(量化变换系数的解量化和逆变换)获得的预测样本和残差样本执行画面重构过程。对于通过画面重构过程生成的重构画面,可以通过环路内滤波过程生成修改的重构画面,修改的重构画面可以作为解码画面输出、存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后解码画面时用作帧间预测过程中的参考画面。在一些情况下,可以省略环路内滤波过程。在这种情况下,重构画面可以作为解码画面输出、存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后解码画面时用作帧间预测过程中的参考画面。环路内滤波过程(S450)可以包括去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波器(ALF)过程和/或双边滤波器过程,如上所述,可以省略其中的一些或全部。另外,去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波器(ALF)过程和/或双边滤波器过程中的一个或一些可以顺序地应用,或者它们全部都可以顺序地应用。例如,在将去块滤波过程应用于重构画面之后,可以执行SAO过程。另选地,例如,在将去块滤波过程应用于重构画面之后,可以执行ALF过程。即使在编码设备中,这也可以类似地执行。
图5示出本公开的实施方式适用于的示意性画面编码过程的示例。在图5中,S510可以在以上参考图2描述的编码设备的包括帧内预测器185或帧间预测器180的预测器中执行,S520可以在包括变换器120和/或量化器130的残差处理器中执行,并且S530可以在熵编码器190中执行。S510可以包括本公开中描述的帧间/帧内预测过程,S520可以包括本公开中描述的残差处理过程,并且S530可以包括本公开中描述的信息编码过程。
参考图5,画面编码过程不仅可以示意性地包括用于对用于画面重构的信息(例如,预测信息、残差信息、分割信息等)进行编码并以比特流的形式输出该信息的过程,而且可以包括用于生成当前画面的重构画面的过程以及用于对重构画面应用环路内滤波的(可选的)过程,如关于图2所描述的。编码设备可以通过解量化器140和逆变换器150从量化变换系数推导(修改的)残差样本,并且基于作为S510的输出的预测样本和(修改的)残差样本生成重构画面。以这种方式生成的重构画面可以等于在解码设备中生成的重构画面。修改的重构画面可以通过针对重构画面的环路内滤波过程生成,可以存储在解码画面缓冲器或存储器170中,并且在稍后编码画面时可以用作帧间预测过程中的参考画面,这与解码设备中的情况类似。如上所述,在一些情况下,可以省略一些或全部的环路内滤波过程。当执行环路内滤波过程时,(环路内)滤波相关信息(参数)可以在熵编码器190中编码并以比特流的形式输出,并且解码设备可以使用与编码设备相同的方法基于滤波相关信息执行环路内滤波过程。
通过这种环路内滤波过程,可以减少在图像/视频编码期间产生的噪声(诸如,块状伪影和振铃伪影),并且可以改进主观/客观的视觉质量。另外,通过在编码设备和解码设备二者中执行环路内滤波过程,编码设备和解码设备可以推导相同的预测结果,可以增加画面编码的可靠性,并且可以减少传输用于画面编码的数据量。
如上所述,不仅可以在解码设备中还可以在编码设备中执行画面重构过程。可以基于以块为单位的帧内预测/帧间预测生成重构块,并且可以生成包括重构块的重构画面。在当前画面/切片/拼块组是I画面/切片/拼块组时,可以仅基于帧内预测重构包括在当前画面/切片/拼块组中的块。此外,在当前画面/切片/拼块组是P或B画面/切片/拼块组时,可以基于帧内预测或帧间预测重构包括在当前画面/切片/拼块组中的块。在这种情况下,可以将帧间预测应用于当前画面/切片/拼块组中的一些块,并且可以将帧内预测应用于剩余块。画面的颜色分量可以包括亮度分量和色度分量,除非本公开明确限定,否则本公开的方法和实施方式可以应用于亮度分量和色度分量。
编码层和结构的示例
可以例如根据下面将描述的编码层和结构来处理根据本公开的编码的视频/图像。
图6是示出编码的图像的层结构的视图。编码的图像可以分类为用于图像解码过程及其本身的处理的视频编码层(VCL)、用于发送和存储编码的信息的较低系统以及存在于VCL与较低系统之间并且负责网络自适应功能的网络抽象层(NAL)。
在VCL中,可以生成包括压缩图像数据(切片数据)的VCL数据,或者可以生成包括诸如画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)的信息的参数集或图像的解码过程另外需要的补充增强信息(SEI)消息。
在NAL中,可以将头信息(NAL单元头)添加到在VCL中生成的原始字节序列有效载荷(RBSP),以生成NAL单元。在这种情况下,RBSP指的是在VCL中生成的切片数据、参数集和SEI消息。NAL单元头可以包括根据包括在对应NAL单元中的RBSP数据指定的NAL单元类型信息。
如图所示,NAL单元可以根据在VCL中生成的RBSP分类为VCL NAL单元和非VCL NAL单元。VCL NAL单元可以指包括关于图像的信息(切片数据)的NAL单元,并且非VCL NAL单元可以指包括解码图像所需的信息(参数集或SEI消息)的NAL单元。
VCL NAL单元和非VCL NAL单元可以附有头信息,并且根据较低系统的数据标准通过网络发送。例如,可以将NAL单元修改为诸如H.266/VVC文件格式、RTP(实时传输协议)或TS(传输流)的预定标准的数据格式,并且通过各种网络发送。
如上所述,在NAL单元中,可以根据包括在对应NAL单元中的RBSP数据结构来指定NAL单元类型,并且关于NAL单元类型的信息可以存储在NAL单元头中并用信号通知。
例如,根据NAL单元是否包括关于图像的信息(切片数据),这可以主要分类为VCLNAL单元类型和非VCL NAL单元类型。VCL NAL单元类型可以根据包括在VCL NAL单元中的画面的特性和类型来分类,并且非VCL NAL单元类型可以根据参数集的类型来分类。
下面将列出根据包括在非VCL NAL单元类型中的参数集/信息的类型指定的NAL单元类型的示例。
-DCI(解码能力信息)NAL单元:包括DCI的NAL单元的类型
-VPS(视频参数集)NAL单元:包括VPS的NAL单元的类型
-SPS(序列参数集)NAL单元:包括SPS的NAL单元的类型
-PPS(画面参数集)NAL单元:包括PPS的NAL单元的类型
-APS(自适应参数集)NAL单元:包括APS的NAL单元的类型
-PH(画面头)NAL单元:包括PH的NAL单元的类型
上述NAL单元类型可以具有针对NAL单元类型的语法信息,并且语法信息可以存储在NAL单元头中并被用信号通知。例如,语法信息可以是nal_unit_type,并且NAL单元类型可以指定为nal_unit_type值。
此外,如上所述,一个画面可以包括多个切片,并且一个切片可以包括切片头和切片数据。在这种情况下,可以进一步将一个画面头添加到一个画面中的多个切片(切片头和切片数据集)。画面头(画面头语法)可以包括通常可应用于画面的信息/参数。
切片头(切片头语法)可以包括通常适用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括通常适用于一个或更多个切片或画面的信息/参数。SPS(SPS语法)可以包括通常适用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括通常适用于多个层的信息/参数。DCI(DCI语法)可以包括通常适用于整个视频的信息/参数。DCI可以包括与解码能力有关的信息/参数。在本公开中,高级语法(HLS)可以包括APS语法、PPS语法、SPS语法、VPS语法、DCI语法、画面头语法或切片头语法中的至少一者。此外,在本公开中,低级语法(LLS)可以例如包括切片数据语法、CTU语法、编码单元语法、变换单元语法等。
在本公开中,在编码设备中编码并以比特流的形式用信号通知给解码设备的图像/视频信息不仅可以包括画面内分割相关信息、帧内/帧间预测信息、残差信息、环路内滤波信息,而且可以包括关于切片头的信息、关于画面头的信息、关于APS的信息、关于PPS的信息、关于SPS的信息、关于VPS的信息和/或关于DCI的信息。另外,图像/视频信息还可以包括通用约束信息和/或关于NAL单元头的信息。
画面信息信令NAL单元
可以以NAL单元为单位用信号通知画面信息。例如,可以如在以下描述中用信号通知画面信息。子层是时间可缩放比特流的时间可缩放层,其由具有变量TemporalId的特定值的VCL NAL单元和相关联的非VCL NAL单元组成。变量TemporalId可以如下推导:
[等式1]
TemporalId=nuh_temporal_id_plus1-1
可以通过NAL单元的NAL单元头用信号通知用于用信号通知变量TemporalId的值的语法元素nuh_temproal_id_plus1。当NAL单元头中的nal_unit_type的值在IDR_W_RADL到RSV_IRAP_12(包括IDR_W_RADL和RSV_IRAP_12)的范围内时,TemporalId的值应等于0。当nal_unit_type的值等于STSA_NUT并且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]的值等于1时,TemporalId的值不应等于0。TemporalId的值对于AU的所有VCL NAL单元应是相同的。编码画面、PU或AU的TemporalId的值为编码画面、PU或AU的VCLNAL单元的TemporalId的值。子层表示的TemporalId的值是子层表示中的所有VCL NAL单元的TemporalId的最大值。
非VCL NAL单元的TemporalId的值可以如下约束:
如果nal_unit_type等于DCI_NUT、VPS_NUT或SPS_NUT,那么TemporalId应等于0,并且含有NAL单元的AU的TemporalId的值应等于0。
否则,如果nal_unit_type等于PH_NUT,那么TemporalId的值应等于含有NAL单元的PU的TemporalId。
否则,如果nal_unit_type等于EOS_NUT或EOB_NUT,那么TemporalId应等于0。
否则,如果nal_unit_type等于AUD_NUT、FD_NUT、PREFIX_SEI_NUT或SUFFIX_SEI_NUT,那么TemporalId应等于含有NAL单元的AU的TemporalId。
否则,当nal_unit_type等于PPS_NUT、PREFIX_APS_NUT或SUFFIX_APS_NUT时,TemporalId的值应大于或等于含有NAL单元的PU的TemporalId的值。
例如,当NAL单元是非VCL NAL单元时,TemporalId的值可以等于非VCL NAL单元应用于的所有AU的TemporalId值的最小值。当nal_unit_type的值等于PPS_NUT、PREFIX_APS_NUT或SUFFIX_APS_NUT时,TemporalId的值可以大于或等于含有AU的TemporalId的值,因为所有PPS和APS可以包括在比特流的开始中(例如,当它们在带外传输时,并且接收器将其放置在比特流的开始处)。这里,第一编码画面可以具有等于0的TemporalId。
在实施方式中,根据NAL单元信息从比特流获得的编码画面可以由编码设备用信号通知并且由解码设备如下标识。然而,这是示例,并且可以使用其它方法来标识画面。
帧内随机访问点(IRAP)画面是所有VCL NAL单元具有在IDR_W_RADL到CRA_NUT的范围(包含IDR_W_RADL和CRA_NUT)中的nal_unit_type的相同值的编码画面。在实施方式中,IRAP画面在其解码过程中不参考除了其自身之外的任何画面来进行帧间预测。IRAP画面可以是CRA画面或IDR画面。比特流中按解码顺序的第一画面必须是IRAP或GDR画面。如果当需要参考必要参数集时它们是可用的,那么可以正确地对按解码顺序在CVS中的IRAP画面和所有后续非RASL画面进行解码,而不执行按解码顺序在IRAP画面之前的任何画面的解码过程。
完全随机访问(CRA,clean random access)画面是每个VCL NAL单元具有等于CRA_NUT的nal_unit_type的IRAP画面。例如,CRA画面在其解码过程中不参考除了其自身之外的任何画面来进行帧间预测,并且可以是比特流中的按解码顺序的第一画面,或可以稍后显现于比特流中。CRA画面可以具有相关联的RADL或RASL画面。当CRA画面具有等于1的NoIncorrectPicOutputFlag时,相关联的RASL画面可以不由解码器输出,因为其可能不可解码,因为其可能包含对不存在于比特流中的画面的参考。在实施方式中,当在图像解码期间不输出不完整画面时,如果CRA画面是不完整画面,那么CRA画面可以具有等于1的NoIncorrectPicOutputFlag。
瞬时解码刷新(IDR)画面是每个VCLNAL单元具有等于IDR_W_RADL或IDR_N_LP的nal_unit_type的IRAP画面。例如,IDR画面在其解码过程中不参考除了其自身之外的任何画面进行帧间预测。另外,IDR画面可以是比特流中按解码顺序的第一画面,或可以稍后显现在比特流中。每个IDR画面是按解码顺序的CVS的第一画面。当每个VCL NAL单元具有等于IDR_W_RADL的nal_unit_type的IDR画面时,IDR画面可以具有相关联的RADL画面。当每个VCL NAL单元具有等于IDR_N_LP的nal_unit_type的IDR画面时,IDR画面不具有任何相关联的前导画面。IDR画面不具有相关联的RASL画面。
随机访问可解码前导(RADL)画面是每个VCL NAL单元具有等于RADL_NUT的nal_unit_type的编码画面。在实施方式中,所有RADL画面都是前导画面。RADL画面不用作同一相关联IRAP画面的拖尾画面(trailing picture)的解码过程的参考画面。当从比特流获得的语法元素field_seq_flag等于0时,所有RADL画面(当存在时)按解码顺序在同一相关联IRAP画面的所有非前导画面之前。
随机访问跳过前导(RASL)画面可以是每个VCL NAL单元具有等于RASL_NUT的nal_unit_type的编码画面。在实施方式中,所有RASL画面是相关联CRA画面的前导画面。当相关联CRA画面具有等于1的NoIncorrectPicOutputFlag时,RASL画面不输出并且不可正确解码,因为RASL画面可以包含对不存在于比特流中的画面的参考。RASL画面不用作非RASL画面的解码过程的参考画面。当field_seq_flag等于0时,所有RASL画面(当存在时)按解码顺序在同一相关联CRA画面的所有非前导画面之前。
尾随画面是按输出顺序在相关联IRAP画面之后并且不是STSA画面的非IRAP画面。与IRAP画面相关联的拖尾画面也按解码顺序在IRAP画面之后。不允许按输出顺序在相关联IRAP画面之后并且按解码顺序在相关联IRAP画面之前的画面。
逐渐解码刷新(GDR)画面是每个VCL NAL单元具有等于GDR_NUT的nal_unit_type的画面。
逐步时间子层访问(STSA)画面是每个VCL NAL单元具有等于STSA_NUT的nal_unit_type的编码画面。STSA画面可以不使用具有与STSA画面相同的TemporalId的画面进行帧间预测参考。具有与STSA画面相同的TemporalId的按解码顺序在STSA画面之后的画面可以不使用具有与STSA画面相同的TemporalId的按解码顺序在STSA画面之前的画面进行帧间预测参考。
STSA画面使得能够在STSA画面处从紧接的下部子层向上切换到包含STSA画面的子层。STSA画面必须具有大于0的TemporalId。
在实施方式中,对于单层或多层比特流,可以应用一个或更多个以下约束:
-按解码顺序在比特流中的第一画面之外的每个画面可以视为与按解码顺序的前一IRAP画面相关联。
-当画面是IRAP画面的前导画面时,其将是RADL或RASL画面。
-当画面是IRAP画面的拖尾画面时,其将不是RADL或RASL画面。
-在比特流中不应存在与IDR画面相关联的RASL画面。
-在比特流中不应存在与具有等于IDR_N_LP的nal_unit_type的IDR画面相关联的RADL画面。(例如,可能通过丢弃IRAP PU之前的所有PU来在IRAP PU的位置处执行随机访问并且正确地解码IRAP画面和按解码顺序的所有后续非RASL画面,前提是每个参数集在被参考时在比特流中可用或通过外部装置可获得。)
-按解码顺序在IRAP画面之前的任何画面应按输出顺序在IRAP画面之前,并且应按输出顺序在与IRAP画面相关联的任何RADL画面之前。
-与CRA画面相关联的任何RASL画面应按输出顺序在与CRA画面相关联的任何RADL画面之前。
-与CRA画面相关联的任何RASL画面将按输出顺序位于按解码顺序在CRA画面之前的任何IRAP画面之后。
-如果field_seq_flag等于0并且当前画面是与IRAP画面相关联的前导画面,那么其按解码顺序在与同一IRAP画面相关联的所有非前导画面之前。否则,令picA和picB分别是与IRAP画面相关联的按解码顺序的第一前导画面和最后前导画面,按解码顺序在picA之前将存在至多一个非前导画面,并且按解码顺序在picA与picB之间将不存在非前导画面。
基于多层的编码
根据本公开的图像/视频编码可以包括基于多层的图像/视频编码。基于多层的图像/视频编码可以包括可缩放编码。在基于多层的编码或可缩放编码中,可以针对每个层处理输入信号。根据所述层,输入信号(输入图像/视频)在分辨率、帧率、比特深度、颜色格式、纵横比或视角中的至少一者的方面可以具有不同值。在这种情况下,可以通过使用层之间的差(例如,基于可缩放性)执行层间预测来减少冗余信息传输/处理并且增加压缩效率。
图7是本公开的实施方式应用于的并且执行多层视频/图像信号的编码的多层编码设备700的示意性框图。
图7的多层编码设备700可以包括图2的编码设备。与图2相比,在图7的多层编码设备700中未示出图像分割器110和加法器155,多层编码设备700可以包括图像分割器110和加法器155。在实施方式中,图像分割器110和加法器155可以包括在层的单元中。在下文中,基于多层的预测将集中在图7的描述中。例如,除了以下描述之外,多层编码设备700可以包括上文参考图2所描述的编码设备的技术构思。
为了便于描述,在图7中示出了由两个层组成的多层结构。然而,本公开的实施方式不限于两个层,并且本公开的实施方式应用于的多层结构可以包括两个或更多个层。
参考图7,编码设备700包括层1的编码器700-1和层0的编码器700-0。层0可以为基础层、参考层或较低层,并且层1可以为增强层、当前层或较高层。
层1的编码器700-1可以包括预测器720-1、残差处理器730-1、滤波器760-1、存储器770-1、熵编码器740-1和复用器(MUX)770。在实施方式中,MUX可以作为外部组件被包括。
层0的编码器700-0可以包括预测器720-0、残差处理器730-0、滤波器760-0、存储器770-0和熵编码器740-0。
预测器720-0和720-1可以基于如上所述的各种预测方案针对输入图像执行预测。例如,预测器720-0和720-1可以执行帧间预测和帧内预测。预测器720-0和720-1可以在预定处理单元中执行预测。预测单元可以是编码单元(CU)或变换单元(TU)。可以根据预测的结果来生成预测块(包括预测样本),并且基于此,残差处理器可以推导残差块(包括残差样本)。
通过帧间预测,可以基于关于当前画面的前一前画面和/或下一画面中的至少一者的信息执行预测,从而生成预测块。通过帧内预测,可以基于当前画面中的邻近样本执行预测,由此生成预测块。
作为帧间预测模式或方法,可以使用上述各种预测模式或方法。在帧间预测中,可以针对待预测的当前块选择参考画面,并且可以从参考画面选择与当前块相对应的参考块。预测器720-0和720-1可以基于参考块生成预测块。
另外,预测器720-1可以使用关于层0的信息来执行针对层1的预测。在本公开中,为便于描述,使用关于另一层的信息预测关于当前层的信息的方法称作层间预测。
使用关于另一层的信息预测的(例如,通过层间预测而预测的)关于当前层的信息可以为纹理、运动信息、单元信息或预定参数(例如,滤波参数等)中的至少一者。
另外,用于当前层的预测(例如,用于层间预测)的关于另一层的信息可以为纹理、运动信息、单元信息或预定参数(例如,滤波参数等)中的至少一者。
对于层间预测,当前块可以为当前层(例如,层1)中的当前画面中的块,并且可以为待编码的块。参考块为当前块的预测所参考的层(参考层,例如,层0)上的、属于与当前块所属的画面(当前画面)相同的访问单元(AU)的画面(参考画面)中的块,并且可以为对应于当前块的块。
作为层间预测的示例,存在使用参考层的运动信息预测当前层的运动信息的层间运动预测。根据层间运动预测,可以使用参考块的运动信息来预测当前块的运动信息。也就是说,在根据下文将描述的帧间预测模式推导运动信息时,可以基于层间参考块而非时间邻近块的运动信息推导运动信息候选。
当应用层间运动预测时,预测器720-1可以缩放并使用参考层的参考块(也就是说,层间参考块)运动信息。
作为层间预测的另一示例,层间纹理预测可以使用重构参考块的纹理作为当前块的预测值。在这种情况下,预测器720-1可以通过上采样(up-scaling)来对参考块的纹理进行缩放。层间纹理预测可以称为层间(重构)样本预测或简单地称为层间预测。
在作为层间预测的另一示例的层间参数预测中,可以在当前层中重新使用参考层的推导参数,或可以基于在参考层中使用的参数推导用于当前层的参数。
在作为层间预测的另一示例的层间残差预测中,可以使用另一层的残差信息来预测当前层的残差信息,并且基于此,可以执行当前块的预测。
在作为层间预测的另一示例的层间差预测中,可以使用通过对当前层的重构画面和参考层的重构画面进行上采样或下采样获得的图像之间的差来执行当前块的预测。
在作为层间预测的另一示例的层间语法预测中,可以使用参考层的语法信息来预测或生成当前块的纹理。在这种情况下,参考的参考层的语法信息可以包括关于帧内预测模式的信息和运动信息。
当预测特定块时,可以利用使用上述层间预测的多种预测方法。
这里,作为层间预测的示例,尽管描述了层间纹理预测、层间运动预测、层间单元信息预测、层间参数预测、层间残差预测、层间差预测、层间语法预测等,但可应用于本公开的层间预测不限于此。
例如,层间预测可以应用为当前层的帧间预测的扩展。也就是说,通过在能够被参考用于当前块的帧间预测的参考画面中包括从参考层推导的参考画面,可以对当前块执行帧间预测。
在这种情况下,层间参考画面可以包括在当前块的参考画面列表中。预测器720-1可以使用层间参考画面对当前块执行帧间预测。
这里,层间参考画面可以为通过对参考层的重构画面进行采样以对应于当前层而构造的参考画面。因此,当参考层的重构画面对应于当前层的画面时,参考层的重构画面可以在无采样的情况下用作层间参考画面。例如,当样本的宽度和高度在参考层的重构画面和当前层的重构画面中相同并且参考层的画面中的左上端、右上端、左下端和右下端与当前层的画面中的左上端、右上端、左下端和右下端之间的偏移为0时,参考层的重构画面可以在不被再次采样的情况下用作当前层的层间参考画面。
另外,从中推导层间参考画面的参考层的重构画面可以为属于与待编码的当前画面相同的AU的画面。
当通过在参考画面列表中包括层间参考画面来执行当前块的帧间预测时,参考画面列表中的层间参考画面的位置可以在参考画面列表L0与L1之间不同。例如,在参考画面列表L0中,层间参考画面可以位于当前画面之前的短期参考画面之后,并且在参考画面列表L1中,层间参考画面可以位于参考画面列表的末尾。
这里,参考画面列表L0为用于P切片的帧间预测的参考画面列表或用作B切片的帧间预测中的第一参考画面列表的参考画面列表。参考画面列表L1可以为用于B切片的帧间预测的第二参考画面列表。
因此,参考画面列表L0可以按如下顺序由当前画面之前的短期参考画面、层间参考画面、当前画面之后的短期参考画面和长期参考画面组成。参考画面列表L1可以按如下顺序由当前画面之后的短期参考画面、当前画面之前的短期参考画面、长期参考画面和层间参考画面组成。
在这种情况下,预测(P)切片是使用最多每预测块一个运动向量和参考画面索引对其执行帧间预测或执行帧内预测的切片。双预测(B)切片是使用最多每预测块两个运动向量和参考画面索引对其执行预测或执行帧内预测的切片。在这点上,帧内(I)切片是仅应用帧内预测的切片。
另外,当基于包括层间参考画面的参考画面列表执行当前块的帧间预测时,参考画面列表可以包括从多个层推导的多个层间参考画面。
当包括多个层间参考画面时,层间参考画面可以交替地布置于参考画面列表L0和L1中。例如,假设两个层间参考画面(诸如,层间参考画面ILRPi和层间参考画面ILRPj)包括在用于当前块的帧间预测的参考画面列表中。在这种情况下,在参考画面列表L0中,ILRPi可以位于当前画面之前的短期参考画面之后,并且ILRPj可以位于列表的末尾。另外,在参考画面列表L1中,ILRPi可以位于列表的末尾并且ILRPj可以位于当前画面之后的短期参考画面之后。
在这种情况下,参考画面列表L0可以按如下顺序由当前画面之前的短期参考画面、层间参考画面ILRPi、当前画面之后的短期参考画面、长期参考画面和层间参考画面ILRPj组成。参考画面列表L1可以按如下顺序由当前画面之后的短期参考画面、层间参考画面ILRPj、当前画面之前的短期参考画面、长期参考画面和层间参考画面ILRPi组成。
另外,两个层间参考画面中的一者可以为从针对分辨率的可缩放层推导的层间参考画面,并且另一者可以为从用于提供另一视角的层推导的层间参考画面。在这种情况下,例如,如果ILRPi为从用于提供不同分辨率的层推导的层间参考画面并且ILRPj为从用于提供不同视角的层推导的层间参考画面,则在仅支持排除视角的可缩放性的可缩放视频编码的情况下,参考画面列表L0可以按如下顺序由当前画面之前的短期参考画面、层间参考画面ILRPi、当前画面之后的短期参考画面和长期参考画面组成,并且参考画面列表L1可以按如下顺序由当前画面之后的短期参考画面、当前画面之前的短期参考画面、长期参考画面和层间参考画面ILRPi组成。
此外,在层间预测中,作为关于层间参考画面的信息,可以仅使用样本值,可以仅使用运动信息(运动向量)或可以使用样本值和运动信息两者。当参考画面索引指示层间参考画面时,根据从编码设备接收的信息,预测器720-1可以仅使用层间参考画面的样本值,可以仅使用层间参考画面的运动信息(运动向量),或可以使用层间参考画面的样本值和运动信息两者。
当仅使用层间参考画面的样本值时,预测器720-1可以将由来自层间参考画面的运动向量指定的块的样本推导为当前块的预测样本。在不考虑视角的可缩放视频编码的情况下,可以将使用层间参考画面的帧间预测(层间预测)中的运动向量设定为固定值(例如,0)。
当仅使用层间参考画面的运动信息时,预测器720-1可以使用由层间参考画面指定的运动向量作为用于推导当前块的运动向量的运动向量预测子。另外,预测器720-1可以使用由层间参考画面指定的运动向量作为当前块的运动向量。
当使用层间参考画面的样本值和运动信息两者时,预测器720-1可以将层间参考画面中的对应于当前块的区域的样本和层间参考画面中指定的运动信息(运动向量)用于当前块的预测。
在应用层间预测时,编码设备可以将指示参考画面列表中的层间参考画面的参考索引发送到解码设备,并且可以将用于指定从层间参考画面使用哪些信息(样本信息、运动信息或样本信息和运动信息)的信息(也就是说,用于指定两个层之间的层间预测的依赖性的依赖性类型的信息)发送到解码设备。
图8是本公开的实施方式适用于的并且执行多层视频/图像信号的解码的解码设备的示意性框图。图8的解码设备可以包括图3的解码设备。图8中所示的重新对准器可以被省略或被包括在解量化器中。在该图的描述中,将集中于基于多层的预测。另外,可以包括图3的解码设备的描述。
在图8的示例中,为了便于描述,将描述由两个层组成的多层结构。然而,应注意,本公开的实施方式不限于此,并且本公开的实施方式应用于的多层结构可以包括两个或更多个层。
参考图8,解码设备800可以包括层1的解码器800-1和层0的解码器800-0。层1的解码器800-1可以包括熵解码器810-1、残差处理器820-1、预测器830-1、加法器840-1、滤波器850-1和存储器860-1。层0的解码器800-0可以包括熵解码器810-0、残差处理器820-0、预测器830-0、加法器840-0、滤波器850-0和存储器860-0。
当从编码设备接收到包括图像信息的比特流时,解复用器805可以解复用每个层的信息并且将所述信息发送到针对每个层的解码设备。
熵解码器810-1和810-0可以与编码设备中使用的编码方法对应地执行解码。例如,当在编码设备中使用CABAC时,熵解码器810-1和810-0可以使用CABAC执行熵解码。
在当前块的预测模式为帧内预测模式时,预测器830-1和830-0可以基于当前画面中的邻近重构样本对当前块执行帧内预测。
在当前块的预测模式为帧间预测模式时,预测器830-1和830-0可以基于包括在当前画面之前或之后的画面中的至少一者中的信息对当前块执行帧间预测。可以通过检查从编码设备接收的信息来推导帧间预测所必需的运动信息中的一些或全部。
当跳过模式被应用为帧间预测模式时,不从编码设备发送残差,并且预测块可以为重构块。
此外,层1的预测器830-1可以仅使用关于层1的信息执行帧间预测或帧内预测,并且使用关于另一层(层0)的信息执行层间预测。
作为使用关于另一层的信息预测的(例如,通过层间预测而预测的)关于当前层的信息,可以存在纹理、运动信息、单元信息、预定参数(例如,滤波参数等)中的至少一者。
作为用于当前层的预测(例如,用于层间预测)的关于另一层的信息,可以存在纹理、运动信息、单元信息、预定参数(例如,滤波参数等)中的至少一者。
在层间预测中,当前块可以为当前层(例如,层1)中的当前画面中的块,并且可以为待解码的块。参考块可以为当前块的预测所参考的层(参考层,例如,层0)上的、属于与当前块所属的画面(当前画面)相同的访问单元(AU)的画面(参考画面)中的块,并且可以为对应于当前块的块。
多层解码设备800可以执行层间预测,如多层编码设备700中所描述的。例如,多层解码设备800可以执行层间纹理预测、层间运动预测、层间单元信息预测、层间参数预测、层间残差预测、层间差预测、层间语法预测等,如多层编码设备700中所描述的,并且本公开中适用的层间预测不限于此。
当从编码设备接收的参考画面索引或从邻近块推导的参考画面索引指示参考画面列表中的层间参考画面时,预测器830-1可以使用层间参考画面执行层间预测。例如,当参考画面索引指示层间参考画面时,预测器830-1可以将层间参考画面中的由运动向量指定的区域的样本值推导为当前块的预测块。
在这种情况下,层间参考画面可以包括在针对当前块的参考画面列表中。预测器830-1可以使用层间参考画面对当前块执行帧间预测。
如上文在多层编码设备700中所描述的,在多层解码设备800的操作中,层间参考画面可以为通过对参考层的重构画面进行采样以对应于当前层而构造的参考画面。可以以与编码过程相同的方式执行针对参考层的重构画面对应于当前层的画面的情况的处理。
另外,如上文在多层编码设备700中所描述的,在多层解码设备800的操作中,从中推导层间参考画面的参考层的重构画面可以为属于与待编码的当前画面相同的AU的画面。
另外,如上文在多层编码设备700中所描述的,在多层解码设备800的操作中,当通过在参考画面列表中包括层间参考画面来执行当前块的帧间预测时,参考画面列表中的层间参考画面的位置可以在参考画面列表L0与L1之间不同。
另外,如上文在多层编码设备700中所描述的,在多层解码设备800的操作中,当基于包括层间参考画面的参考画面列表执行当前块的帧间预测时,参考画面列表可以包括从多个层推导的多个层间参考画面,并且层间参考画面的布置可以被执行成对应于在编码过程中所描述的层间参考画面的布置。
另外,如上文在多层编码设备700中所描述的,在多层解码设备800的操作中,作为关于层间参考画面的信息,可以仅使用样本值,可以仅使用运动信息(运动向量)或可以使用样本值和运动信息两者。
多层解码设备800可以从多层编码设备700接收指示参考画面列表中的层间参考画面的参考索引,并且基于所述参考索引执行层间预测。另外,多层解码设备800可以从多层编码设备700接收用于指定从层间参考画面使用哪些信息(样本信息、运动信息或样本信息和运动信息)的信息(也就是说,用于指定两个层之间的层间预测的依赖性的依赖性类型的信息)。
高级语法(HLS)信令和语义
如上文所述,可以对HLS进行编码和/或用信号通知以用于视频和/或图像编码。如上所述,本公开的视频/图像信息可以包括在HLS中。另外,可以基于这种图像/视频信息执行图像/视频编码方法。
视频参数集信令
视频参数集(VPS)是用于层信息的承载的参数集。层信息可以例如包括关于输出层集合(OLS)的信息、关于配置文件层级的信息、关于OLS与假想参考解码器之间的关系的信息以及关于OLS与解码画面缓冲器(DPB)之间的关系的信息。VPS对于比特流的解码可能不是必需的。VPS原始字节序列有效载荷(RBSP)在其被参考之前包括在具有等于0的TemporalId的至少一个访问单元(AU)中或通过外部装置提供,从而应可用于解码过程。编码视频序列(CVS)中的具有vps_video_parameter_set_id的特定值的所有VPS NAL单元将具有相同内容。
图9是例示根据本公开的实施方式的VPS的语法结构的视图。在下文中,将描述图9的语法元素。
vps_video_parameter_set_id提供针对VPS的标识符。其它语法元素可以参考使用vps_video_parameter_set_id的VPS。vps_video_parameter_set_id的值应大于0。
vps_max_layers_minus1可以指定参考VPS的每个CVS中的最大允许层数。例如,vps_max_layers_minus1加1可以指定参考VPS的每个CVS中的最大允许层数。
vps_max_sublayer_minus1加1可以指定可以存在于参考VPS的每个CVS中的层中的时间子层的最大数目。
等于1的vps_all_layers_same_num_sublayers_flag可以指定时间子层的数目针对参考VPS的每个CVS中的所有层是相同的。vps_all_layers_same_num_sublayers_flag等于0可以指定时间子层的数目针对参考VPS的每个CVS中的层可以相同或不同。当在比特流中未提供vps_all_layers_same_num_sublayers_flag的值时,vps_all_layers_same_num_sublayers_flag的值可以推断为等于1。
vps_all_independent_layers_flag等于1可以指定CVS中的所有层在不使用层间预测的情况下被独立地编码。vps_all_independent_layers_flag等于0可以指定CVS中的层中的一个或更多个可以使用层间预测被编码。
vps_layer_id[i]可以指定第i层的nuh_layer_id值。对于m和n的任何两个非负整数值,当m小于n时,vps_layer_id[m]的值应小于vps_layer_id[n]。这里,nuh_layer_id是在NAL单元头中用信号通知的语法元素,并且可以指定NAL单元的标识符。
等于1的vps_independent_layer_flag[i]可以指定具有索引i的层不使用层间预测。vps_independent_layer_flag[i]等于0可以指定具有索引i的层可以使用层间预测,并且可以从VPS获得语法元素vps_direct_ref_layer_flag[i][j]。这里,j可以在0至i-1的范围(包括0和i-1)内。当vps_independent_layer_flag[i]的值不存在于比特流中时,vps_independent_layer_flag[i]的值可以推断为等于1。
等于0的vps_direct_ref_layer_flag[i][j]可以指定具有索引j的层不是具有索引i的层的直接参考层。等于1的vps_direct_ref_layer_flag[i][j]可以指定具有索引j的层是具有索引i的层的直接参考层。当对于在0至vps_max_layers_minus1的范围(包括0和vps_max_layers_minus1)内的i和j,未从比特流中获得vps_direct_ref_layer_flag[i][j]的值时,其值可以推断为等于0。当vps_independent_layer_flag[i]等于0时,应存在在0至i-1的范围(包括0和i-1)内的至少一个j值,使得vps_direct_ref_layer_flag[i][j]的值等于1。
在实施方式中,使用图10的伪代码推导变量NumDirectRefLayers[i]、DirectRefLayerIdx[i][d]、NumRefLayers[i]、RefLayerIdx[i][r]和LayerUsedAsRefLayerFlag[j]。
可以推导指定nuh_layer_id等于vps_layer_id[i]的层的层索引的变量GeneralLayerIdx[i],如下式所示。
[等式2]
for(i=0;i<=vps_max_layers_minus1;i++)
GeneralLayerIdx[vps_layer_id[i]]=i
等于1的max_tid_ref_present_flag[i]可以指定从比特流提供语法元素max_tid_il_ref_pics_plus1[i]。等于0的max_tid_ref_present_flag[i]可以指定不从比特流提供语法元素max_tid_il_ref_pics_plus1[i]。
等于0的max_tid_il_ref_pics_plus1[i]可以指定层间预测不被第i层的非IRAP画面使用。大于0的max_tid_il_ref_pics_plus1[i]可以指定对于第i层的解码画面没有具有大于max_tid_il_ref_pics_plus1[i]-1的TemporalId的画面用作ILRP(层间参考画面)。当不从比特流获得max_tid_il_ref_pics_plus1[i]的值时,max_tid_il_ref_pics_plus1[i]的值可以推断为等于7。
等于1的语法元素each_layer_is_an_ols_flag可以指定每个OLS仅包含一个层,并且参考VPS的CVS中的每个层自身是OLS,其中单个所包括的层是唯一输出层。等于0的each_layer_is_an_ols_flag可以指定OLS可以包含超过一个的层。在实施方式中,如果vps_max_layers_minus1等于0,那么each_layer_is_an_ols_flag的值可以推断为等于1。否则,当vps_all_independent_layers_flag等于0时,each_layer_is_an_ols_flag的值可以推断为等于0。
等于0的ols_mode_idc可以指定由VPS指定的OLS的总数目等于vps_max_layers_minus1+1。第i OLS可以包括层索引从0到i(包括0和i)的层,并且对于每个OLS,可以仅输出OLS中的最高层。
等于1的ols_mode_idc可以指定由VPS指定的OLS的总数目等于vps_max_layers_minus1+1。第i OLS可以包括层索引从0到i(包括0和i)的层,并且对于每个OLS,可以输出OLS中的所有层。
等于2的ols_mode_idc可以指定由VPS指定的OLS的总数目明确地用信号通知,并且对于每个OLS,显式地用信号通知输出层,并且其它层是作为OLS的输出层的直接或间接参考层的层。
ols_mode_idc的值应在0到2的范围(包括0和2)内。ols_mode_idc的值3保留用于供将来使用。当vps_all_independent_layers_flag等于1并且each_layer_is_an_ols_flag等于0时,ols_mode_idc的值可以推断为等于2。
num_output_layer_sets_minus1加1可以指定当ols_mode_idc等于预定值(例如,2)时由VPS指定的OLS的总数目
如图11所示,推导指定由VPS指定的OLS的总数目的变量TotalNumOlss。
等于1的ols_output_layer_flag[i][j]可以指定当ols_mode_idc等于2时具有等于vps_layer_id[j]的nuh_layer_id的层是第i OLS的输出层。等于0的ols_output_layer_flag[i][j]可以指定当ols_mode_idc等于2时具有等于vps_layer_id[j]的nuh_layer_id的层不是第i OLS的输出层。
指定第i OLS中的输出层的数目的变量NumOutputLayersInOls[i]、指定第i OLS中的第j层中的子层的数目的变量NumSubLayersInLayerInOLS[i][j]、指定第i OLS中的第j输出层的nuh_layer_id值的变量OutputLayerIdInOls[i][j]和指定第k层是否用作至少一个OLS中的输出层的变量LayerUsedAsOutputLayerFlag[k]可以类似于图12的伪代码而推导。
对于在0到vps_max_layers_minus1的范围(包括0和vps_max_layers_minus1)中的i的每个值,LayerUsedAsRefLayerFlag[i]和LayerUsedAsOutputLayerFlag[i]的值不应都等于0。换句话说,将不存在既不是至少一个OLS的输出层也不是任何其它层的直接参考层的层。
对于每个OLS,将存在作为输出层的至少一个层。换句话说,对于在0到TotalNumOlss-1的范围(包括0和TotalNumOlss-1)中的i的任何值,NumOutputLayersInOls[i]的值应大于或等于1。
可以如图13所示推导指定第i OLS中的层的数目的变量NumLayersInOls[i]和指定第i OLS中的第j层的nuh_layer_id值的变量LayerIdInOls[i][j]。
在实施方式中,第0OLS仅包含最低层。最低层可以表示具有等于vps_layer_id[0]的nuh_layer_id的层。另外,对于第0OLS,可以输出仅包括的层。
可以如图14所示推导指定具有等于LayerIdInOls[i][j]的nuh_layer_id的层的OLS层索引的变量OlsLayerIdx[i][j]。
每个OLS中的最低层将是独立层。例如,对于在0到TotalNumOlss-1的范围(包括0和TotalNumOlss-1)中的每个i,vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOls[i][0]]]的值应等于1。
每个层将包括在由VPS指定的至少一个OLS中。
max_tid_il_ref_pics_plus1[i]的信令的限制
与上述语法元素max_tid_il_ref_pics_plus1[i]相关的信令在其语义和功能性方面具有问题。例如,max_tid_il_ref_pics_plus1[i]的语义表示当其值大于0时,意味着第i层中的画面仅在执行其层间预测时使用来自参考画面的至多max_tid_il_ref_ref_pics_plus1[i]-1个子层。
这意味着第i层中的画面仅将来自参考画面的至多max_tid_il_ref_ref_pics_plus1[i]-1个子层用于其层间预测。
语法元素max_tid_il_ref_pics_plus1[i]被设计为允许推导变量NumSubLayersInLayerInOLS[i][j],该变量可以指定第i OLS中的第j层中的子层的数目。这里,OLS是输出层集合的缩写,并且可以以意味着由输出层指定的至少一个层的集合。
变量NumSubLayersInLayerInOLS[i][j]可以用于比特流提取过程中,以移除不是所提取的输出层集合中的输出层的层内的子层中的画面。
当层使用超过1个参考层来进行层间预测并且从参考层中的每一者使用的子层的数目不相同时,该机制不是最佳的。
例如,假定层2参考用于层间预测的层0和层1。对于来自层0的层间预测,仅使用2个子层,而来自层1的层间预测使用3个子层。在该示例中,接着根据上文所描述的信令机制,层2使用3个子层进行层间预测,并且在这种方法中,子层3或以上子层不能从层0移除。
改进
以下实施方式提供了上述问题的解决方案。实施方式可以单独地或组合地应用。
改进1.对于用于层的层间预测的子层的最大数目的信令,代替用信号通知针对所有参考层的一个值,针对层的每个参考层,可以用信号通知从该参考层使用的子层的最大数目。
改进2:从针对层i的参考层j使用的子层的最大数目可以仅在层j是层i的直接参考层时存在。改进3:指定是否提供用于通过层进行层间预测的子层的最大数目的信令的标志可以针对VPS中提供的所有层被用信号通知一个。
语法元素max_tid_ref_present_flag[i]可以改变为max_tid_ref_present_flag。
当所有层是独立层时,max_tid_ref_present_flag可以不存在,并且当max_tid_ref_present_flag不存在时,max_tid_ref_present_flag可以推断为等于0。
改进4.max_tid_il_ref_pics_plus1[i][j]的信令可以用于推导数组NumSubLayersInLayerInOLS[m][n]的值,其中m在从0到TotalNumOlss-1的范围(包括0和TotalNumOlss-1)内,并且n在从0到vps_max_layers_minus1的范围(包括0和vps_max_layers_minus1)内。
改进5.直接参考层和间接参考层两者的NumSubLayersInLayerInOLS的推导被解决,尤其对于OLS模式0和OLS模式2。
a)当比特流中的第j层是第i OLS中的输出层时,NumSubLayersInLayerInOLS[i][j]的值可以设定成等于子层的最大允许数目。
b)对于OLS中的非输出层,可以执行用于推导NumSubLayersInLayerInOLS[i][j]的值的过程(即,在比特流中的第j层不是第i OLS中的输出层的示例中),并且可以从OLS中的最高非输出层开始朝向OLS中的最低层调用所述过程。当NumSubLayersInLayerInOLS[i][j]的值大于max_tid_il_ref_pics_plus1[k][j]与NumSubLayersInLayerInOLS[i][k]之间的较小值时,NumSubLayersInLayerInOLS[i][j]的值可以被更新,其中比特流中的第k层也包括在第i OLS中,并且第k层可以参考第j层。
实施方式1
在实施方式中,可以根据图15所示的改变后的VPS的语法来实施改进1、2、4和5。在下文中,将描述从上述VPS语法改变的图15的语法元素。
等于1的max_tid_ref_present_flag[i]可以指定在比特流中存在语法元素max_tid_il_ref_pics_plus1[i][j]。等于0的max_tid_ref_present_flag[i]可以指定在比特流中不存在语法元素max_tid_il_ref_pics_plus1[i][j]。
等于0的max_tid_il_ref_pics_plus1[i][j]可以指定第j层不用作通过第i层的非IRAP画面进行层间预测的参考层。大于0的max_tid_il_ref_pics_plus1[i][j]可以指定对于第i层的画面的解码,没有来自具有大于max_tid_il_ref_pics_plus1[i][j]-1的TemporalId的第j层的画面用作ILRP。当不从比特流获得max_tid_il_ref_pics_plus1[i][j]的值时,max_tid_il_ref_pics_plus1[i][j]的值可以推断为等于7。
另外,使用根据以上描述改变的语法元素和变量,可以类似于图16至图17的伪代码来确定变量NumOutputLayersInOls[i]、NumSubLayersInLayerInOLS[i][j]、OutputLayerIdInOls[i][j]和LayerUsedAsOutputLayerFlag[k]。此外,变量NumSubLayersInLayerInOLS[i][j]指定第i OLS中的第j层的子层的数目(数量),如上文所描述的。然而,根据图16和图17的推导,可以改变和使用定义,使得变量NumSubLayersInLayerInOLS[i][j]指定比特流中的第j层的子层的数目。
类似于上文所描述的方法,对于一个层的每个参考层,可以用信用通知用于参考层的子层的最大数目。另外,可以仅在层j是层i的直接参考层时才提供用于层i的参考层j使用的子层的最大数目。另外,max_tid_il_ref_pics_plus1[i][j]可以用于推导数组NumSubLayersInLayerInOLS[m][n]的值。另外,当OLS模式为0和2时,可以针对直接参考层和间接参考层推导NumSubLayersInLayerInOLS。
实施方式2
在实施方式中,可以基于根据实施方式1推导的子层的数目根据以下子比特流提取过程推导子比特流。子比特流提取过程可以是指定过程,通过该指定过程,从比特流移除不属于由目标OLS索引和目标最高TemporalId确定的目标集的比特流中的NAL单元,其中输出子比特流包含属于目标集的比特流中的NAL单元。
更具体地,子比特流提取过程可以接收指定输入比特流的变量inBitstream、目标OLS索引targetOlsIdx和目标TemporalId tIdTarget作为输入。可以如下推导指定输出子比特流的变量OutBitstream。
首先,子比特流可以由输入比特流的值确定(S1810)。例如,指定比特流的变量outBitstream可以被设定为与指定比特流的变量inBitstream相同。
接下来,可以从子比特流移除具有预定TemporalId的NAL单元(S1820)。例如,可以从outBitstream移除具有大于tIdTarget的TemporalId的所有NAL单元。
接下来,可以从子比特流移除具有预定nal_unit_type的NAL单元(S1830)。例如,可以从outBitstream移除nal_unit_type不等于VPS_NUT(VPS NAL单元类型)、DCI_NUT(解码能力信息NAL单元类型)和EOB_NUT(比特流NAL单元类型的结束)中的任一者并且具有不包括在LayerIdInOls[targetOlsIdx]中的nuh_layer_id的所有NAL单元。
接下来,可以基于NumSubLayersInLayerInOLS[][]从子比特流移除预定NAL单元(S1840)。例如,可以从outBitstream移除所有以下条件为真的所有NAL单元。这里,nal_unit_type、nuh_layer_id和TemporalId是待确定移除的NAL单元的值。
(条件1)nal_unit_type不等于IDR_W_RADL(具有可随机访问可解码前导的瞬时解码刷新)、IDR_N_LP(不具有前导的瞬时解码刷新)或CRA_NUT(完全随机访问NAL单元类型)。
(条件2)nuh_layer_id等于LayerIdInOls[targetOlsIdx][j],其中j在0到NumLayersInOls[targetOlsIdx]-1的范围(包括0和NumLayersInOls[targetOlsIdx]-1)内。
(条件3)TemporalId的值大于或等于NumSubLayersInLayerInOLS[targetOlsIdx][j]。
此外,条件3可以基于指定对应于nuh_layer_id的vps_layer_id的VPS层索引的GeneralLayerIdx[nuh_layer_id]替换为以下条件4,如上文等式2中所描述的。
(条件4)TemporalId的值大于或等于NumSubLayersInLayerInOLS[targetOlsIdx][GeneralLayerIdx[nuh_layer_id]]。
接下来,可以从子比特流移除预定SEI NAL单元(S1850)。例如,包含可缩放嵌套SEI消息的所有SEI NAL单元可以从outBitstream移除。这里,可缩放嵌套消息可以是nesting_ols_flag等于1并且不存在位于0到nesting_num_olss_minus1的范围(包括0和nesting_num_olss_minus1)中的i的值以使得NestingOlsIdx[i]等于targetOlsIdx的消息。
这里,nesting_ols_flag等于1可以指定可缩放嵌套SEI消息适用于特定OLS。nesting_ols_flag等于0可以指定可缩放嵌套SEI消息适用于特定层。变量NestingOlsIdx[i]可以指定当sn_ols_flag等于1时应用可扩展嵌套SEI消息的第i OLS的OLS索引。nesting_num_olss_minus1加1可以指定可缩放嵌套SEI消息应用于的OLS的数目。
编码和解码方法
在下文中,将描述根据实施方式的由图像编码设备和图像解码设备执行的图像编码方法和图像解码方法。图19是例示根据实施方式的确定当前层的子层数目以便图像编码设备对图像进行编码和/或图像解码设备对图像进行解码的方法的视图。
根据实施方式的图像解码设备包括存储器和处理器,并且解码设备可以通过处理器的操作根据下面描述的实施方式执行解码。根据实施方式的图像编码设备包括存储器和处理器,并且编码设备可以通过处理器的操作以与根据下面描述的实施方式的解码设备的解码相对应的方式执行编码。在下文中,为了便于描述,将描述解码设备的操作,但以下描述适用于编码设备。
根据实施方式的解码设备可以确定输出层集合(OLS)中的至少一个层(S1910)。接下来,解码设备可以确定所述至少一个层的子层的数目(S1920)。
例如,可以基于能够直接参考当前层的直接参考层的所需(需要)子层的最大数目确定OLS中的当前层的子层的数目(数量)。这里,OLS中的当前层的子层的数目可以是上述NumSubLayersInLayerInOLS[i][k]。在当前层的索引是k时,具有索引l的层是否能够直接参考当前层可以通过以下等式中所示的伪代码来标识,如图17所示。
[等式3]
for(l=k+1;l<=vps_max_layers_minus1;l++)
if(vps_direct_ref_layer_flag[l][k])
当条件为真时将执行过程;
另外,基于OLS模式确定当前层的子层的数目,并且可以基于从比特流获得的OLS模式索引信息(例如,ols_mode_idc)确定OLS模式。
另外,可以基于当前层是否是输出层确定当前层的子层的数目。例如,如图17所示,可以如图17所示基于根据以下等式的伪代码确定具有索引k的当前层是否是输出层。
[等式4]
if(!ols_output_layer_flag[i][k])
当条件为真时将执行过程;
例如,基于当前层是输出层,可以将当前层的子层的数目设定成等于子层的最大允许数目(例如,vps_max_sub_layers_minus1+1)。另选地,基于当前层不是输出层,可以将当前层的子层的数目设定为针对能够直接参考当前层的至少一个直接参考层确定的所需子层的最大数目(例如,maxSublayerNeeded)的最大值。这里,直接参考层的层索引(例如,图17的索引1)大于当前层的层索引(例如,图17的索引k),并且直接参考层的网络抽象层(NAL)单元标识符应大于当前层的NAL单元标识符。
此外,可以基于第一值和第二值中的任一者确定针对直接参考层确定的所需子层的最大数目,可以基于直接参考层的子层的数目(例如,图17的NumSubLayersInLayerInLayerInOLS[i][l])确定第一值,可以基于针对能够由直接参考层参考的当前层的至少一个画面指定的时间标识符当中的最大时间标识符(例如,图17的max_tid_il_ref_pics_plus1[l][k])确定第二值。例如,可以将所需子层的最大数目设定为第一值和第二值中的较小者。例如,可以执行图17的伪代码的maxSublayerNeeded=min(NumSubLayersInLayerInOLS[i][l],max_tid_il_ref_pics_plus1[l][k])。
另外,可以针对OLS中的所有非输出层确定子层的数目,并且可以按具有较低层索引的非输出层的顺序从具有最大层索引的非输出层开始来顺序地确定子层的数目。例如,可以执行根据以下等式的伪代码。
[等式5]
for(k=highestIncludedLayer-1;k>=0;k--)
if(layerIncludedInOlsFlag[i][k])
if(!ols_output_layer_flag[i][k])
用于确定对应于索引k的层的子层的数目的过程;
另外,还可以包括基于当前层的子层的数目从比特流获得子比特流的步骤。例如,可以通过从比特流移除预定网络抽象层(NAL)单元获得子比特流,并且可以基于预定NAL单元的时间标识符与针对对应于预定NAL单元的层确定的子层的数目之间的比较确定预定NAL单元。
这里,预定NAL单元是基于预定NAL单元的时间标识符(例如,S1840的描述中的TempotalId)的值是否等于或大于对应于针对预定OLS的层中的预定NAL单元的层确定的子层的数目(例如,S1840的描述中NumSubLayersInLayerInOLS[targetOlsIdx][GeneralLayerIdx[nuh_layer_id]])的值而确定的,并且OLS可以是由视频参数集(VPS)用信号通知的信息标识的OLS中的任一者。
例如,在实施方式中,图像解码方法可以包括以下步骤:从比特流获得指示当前视频参数集(VPS)的OLS模式的输出层集合(OLS)模式索引信息、指示当前VPS的层中的时间子层的最大可用数目的子层索引信息以及指示待解码的层的参考层的最大时间标识符的时间标识符信息;基于OLS模式索引信息确定当前VPS的OLS模式;确定当前VPS的至少一个OLS中的至少一个层;以及确定所述至少一个层的所需子层的数目。
基于当前OLS中的当前层是输出层,可以将当前层的子层的数目设定为当前VPS的层中的时间子层的最大可用数目。基于当前层不是输出层,可以将当前层的所需子层的数目设定为当前OLS中的至少一个直接参考层的子层的最大数目的最大值。
每个直接参考层的层索引可以大于当前层的层索引,并且每个直接参考层的网络抽象层(NAL)单元标识符可以大于当前层的NAL单元标识符。
直接参考层的所需子层的最大数目可以设定为第一数目和第二数目中的较小者,第一数目是直接参考层的子层的数目,并且第二数目可以是待由直接参考层参考的当前层的最大时间标识符。
另外,可以针对至少一个OLS中的所有非输出层确定子层的数目,并且可以针对从具有最高层索引的非输出层开始到最低层索引的非输出层顺序地确定子层的数目。
另外,所述解码方法还可以包括以下步骤:基于所述至少一个层的子层的数目从比特流获得子比特流。这里,子比特流可以通过从比特流移除目标网络抽象层(NAL)而获得,并且目标NAL单元可以具有时间标识符(例如,S1840的描述中的TempotalId),其具有等于或大于基于目标NAL单元的层标识符(例如,S1840的描述中的nuh_layer_id)标识的具有索引(例如,S1840的描述中的GeneralLayerIdx[nuh_layer_id])的层的子层的数目(例如,S1840的描述中的NumSubLayersInLayerInOLS[targetOlsIdx][GeneralLayerIdx[nuh_layer_id]])的值。
在实施方式中,图像编码方法可以包括以下步骤:确定当前视频参数集(VPS)的输出层集合(OLS)模式、当前VPS的层中的时间子层的最大可用数目、待解码层的参考层的最大时间标识符以及当前VPS的至少一个OLS中的至少一个层的子层的数目;以及生成包括指示当前VPS的OLS模式的OLS模式索引信息、指示当前VPS的层中的时间子层的最大可用数目的子层索引信息以及和指示待解码层的参考层的最大时间标识符的时间标识符信息的比特流。
基于当前OLS中的当前层是输出层,可以将当前层的子层的数目设定为当前VPS的层中的时间子层的最大可用数目。
基于当前层不是输出层,可以将当前层的子层的数目设定为当前OLS中的直接参考层的所需子层的最大数目的最大值。
这里,当前层可以是直接参考层中的一个直接参考层,每个直接参考层的层索引可以大于当前层的层索引,并且每个直接参考层的网络抽象层(NAL)单元标识符可以大于当前层的NAL单元标识符。
直接参考层的所需子层的最大数目可以设定为第一数目和第二数目中的较小者,第一数目可以是直接参考层的子层的数目,并且第二数目可以是待由直接参考层参考的当前层的最大时间标识符。
另外,在编码方法中,可以基于所述至少一个层的子层的数目通过从比特流移除目标网络抽象层(NAL)单元而获得子比特流。这里,目标NAL单元可以包括时间标识符(例如,S1840的描述中的TempotalId),其具有等于或大于具有基于目标NAL单元的层标识符标识的索引的层的子层的数目(例如,S1840的描述中的NumSubLayersInLayerInOLS[targetOlsIdx][GeneralLayerIdx[nuh_layer_id]])的值。
应用实施方式
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本公开的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
在本公开中,执行预定操作(步骤)的图像编码设备或图像解码设备可以执行确认对应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码设备或图像解码设备可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
另外,应用本公开的实施方式的图像解码设备和图像编码设备可以包括在多媒体广播发送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流装置、存储介质、摄像机、视频点播(VoD)服务提供装置、OTT视频(over the top video)装置、互联网流服务提供装置、三维(3D)视频装置、视频电话视频装置、医疗视频装置等中,并且可以用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板PC、数字录像机(DVR)等。
图20是示出可应用本公开的实施方式的内容流系统的视图。
如图20所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据,以生成比特流并将该比特流发送到流服务器。作为另一示例,当诸如智能电话、相机、摄像机等的多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备生成,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、石板PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业实用性
本公开的实施方式可以用于对图像进行编码或解码。

Claims (15)

1.一种由图像解码设备执行的图像解码方法,所述图像解码方法包括以下步骤:
确定输出层集合OLS中的至少一个层;以及
确定所述至少一个层的子层的数目,
其中,所述OLS中的当前层的子层的数目是基于直接参考层的所需子层的最大数目确定的,所述直接参考层是能够直接参考所述当前层的层。
2.根据权利要求1所述的图像解码方法,
其中,所述当前层的子层的数目是基于OLS模式确定的,并且
其中,所述OLS模式是基于从比特流获得的OLS模式索引信息确定的。
3.根据权利要求1所述的图像解码方法,其中,所述当前层的子层的数目是基于所述当前层是否是输出层而确定的。
4.根据权利要求3所述的图像解码方法,其中,基于所述当前层是输出层,所述当前层的子层的数目被设定为子层的最大可用数目。
5.根据权利要求3所述的图像解码方法,其中,基于所述当前层不是输出层,所述当前层的子层的数目被设定为针对能够直接参考所述当前层的至少一个直接参考层确定的所需子层的最大数目的最大值。
6.根据权利要求1所述的图像解码方法,
其中,所述直接参考层的层索引大于所述当前层的层索引,并且
其中,所述直接参考层的网络抽象层NAL单元标识符大于所述当前层的NAL单元标识符。
7.根据权利要求1所述的图像解码方法,
其中,针对所述直接参考层确定的所需子层的最大数目是基于第一值和第二值中的至少一者确定的,
其中,所述第一值是基于所述直接参考层的子层的数目确定的,并且
其中,所述第二值是基于针对待由所述直接参考层参考的当前层的至少一个画面指定的时间标识符中的最大时间标识符确定的。
8.根据权利要求7所述的图像解码方法,其中,所需子层的所述最大数目被设定为所述第一值和所述第二值中的较小者。
9.根据权利要求1所述的图像解码方法,
其中,子层的数目是针对所述OLS中的所有非输出层确定的,并且
其中,按具有较低层索引的非输出层的顺序从具有最大层索引的非输出层开始顺序地确定子层的数目。
10.根据权利要求1所述的图像解码方法,所述图像解码方法还包括以下步骤:基于所述当前层的子层的数目从比特流获得子比特流。
11.根据权利要求10所述的图像解码方法,
其中,所述子比特流是通过从所述比特流移除预定网络抽象层NAL单元而获得的,并且
其中,所述预定NAL单元是基于所述预定NAL单元的时间标识符与针对对应于所述预定NAL单元的层确定的子层的所述数目之间的比较而确定的。
12.根据权利要求11所述的图像解码方法,
其中,所述预定NAL单元是基于所述预定NAL单元的所述时间标识符的值是否等于或大于对应于针对预定OLS的层当中的对应于所述预定NAL单元的层确定的子层的数目的值而确定的,并且
其中,所述OLS是基于通过视频参数集VPS用信号通知的信息标识的。
13.一种图像解码设备,所述图像解码设备包括:
存储器;以及
至少一个处理器,
其中,所述至少一个处理器被配置为:
确定输出层集合OLS中的至少一个层;并且
确定所述至少一个层的子层的数目,
其中,所述OLS中的当前层的子层的数目是基于直接参考层的所需子层的最大数目确定的,所述直接参考层是能够直接参考所述当前层的层。
14.一种由图像编码设备执行的图像编码方法,所述图像编码方法包括以下步骤:
确定输出层集合OLS中的至少一个层;以及
确定所述至少一个层的子层的数目,
其中,所述OLS中的当前层的子层的数目是基于直接参考层的所需子层的最大数目确定的,所述直接参考层是能够直接参考所述当前层的层。
15.一种非暂时性计算机可读记录介质,所述非暂时性计算机可读记录介质存储用于使解码设备能够执行根据权利要求1所述的图像解码方法的比特流。
CN202180041964.9A 2020-04-15 2021-04-15 基于子层的所需数目确定子层的图像编码/解码方法和装置以及比特流发送方法 Pending CN115769579A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063010084P 2020-04-15 2020-04-15
US63/010,084 2020-04-15
PCT/KR2021/004771 WO2021210935A1 (ko) 2020-04-15 2021-04-15 서브 레이어 요구 개수에 기반하여 서브 레이어를 결정하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Publications (1)

Publication Number Publication Date
CN115769579A true CN115769579A (zh) 2023-03-07

Family

ID=78085290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180041964.9A Pending CN115769579A (zh) 2020-04-15 2021-04-15 基于子层的所需数目确定子层的图像编码/解码方法和装置以及比特流发送方法

Country Status (4)

Country Link
US (1) US20230156201A1 (zh)
KR (1) KR20230002715A (zh)
CN (1) CN115769579A (zh)
WO (1) WO2021210935A1 (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102294092B1 (ko) * 2014-01-02 2021-08-27 한국전자통신연구원 영상의 복호화 방법 및 이를 이용하는 장치

Also Published As

Publication number Publication date
WO2021210935A1 (ko) 2021-10-21
KR20230002715A (ko) 2023-01-05
US20230156201A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
JP2023516336A (ja) 混成nalユニットタイプに基づく画像符号化/復号化方法及び装置、並びにビットストリームを伝送する方法
KR20220101711A (ko) Nal 유닛 관련 정보 기반 영상 또는 비디오 코딩
KR20220147668A (ko) 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
KR20220101712A (ko) 슬라이스 또는 픽처에 대한 nal 유닛 타입 기반 영상 또는 비디오 코딩
US20230224469A1 (en) Image encoding/decoding method and apparatus for determining whether or not to refer to parameter set on basis of output layer set, and method for transmitting bitstream
KR20230023708A (ko) 영상/비디오 코딩 시스템에서 상위 레벨 신택스를 처리하는 방법 및 장치
CN116034581A (zh) 用信号通知aps标识符的图像编码/解码方法和设备及存储比特流的计算机可读记录介质
CN115699768A (zh) 在视频或图像编码系统中基于poc信息和非参考图片标志的图像编码方法
CN115769579A (zh) 基于子层的所需数目确定子层的图像编码/解码方法和装置以及比特流发送方法
US20230319302A1 (en) Image encoding/decoding method and apparatus for determining sublayer on basis of whether or not to make reference between layers, and method for transmitting bitstream
CN116325724A (zh) 基于最大时间标识符执行子比特流提取过程的图像编码/解码方法和设备及存储比特流的计算机可读记录介质
EP4329308A1 (en) Image encoding/decoding method and device based on sei message including layer identifier information, and method for transmitting bitstream
US20230156227A1 (en) Signaling-based image or video coding of information related to recovery point for gdr
KR20220163457A (ko) Gdr 또는 irap 픽처에 대한 가용 슬라이스 타입 정보에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN115702566A (zh) 基于子层级别信息的图像编码/解码方法和设备及存储比特流的记录介质
KR20230027158A (ko) Poc msb 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20230017236A (ko) 픽처 출력 관련 정보 기반 영상 또는 비디오 코딩
KR20220160043A (ko) 혼성 nal 유닛 타입에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
KR20230011990A (ko) 영상/비디오 코딩 시스템에서 단일 레이어 비트스트림 내 파라미터 세트의 참조를 처리하는 방법 및 장치
KR20220100710A (ko) Nal 유닛 타입 기반 영상 또는 비디오 코딩
CN115668944A (zh) 用信号通知dpb参数的视频编码/解码方法和设备及存储比特流的计算机可读记录介质
CN115702567A (zh) 用于用信号通知dpb相关信息和ptl相关信息的图像编码/解码方法和设备及存储比特流的计算机可读记录介质
CN115668951A (zh) 用信号通知关于dpb参数的数量的信息的图像编码/解码方法和设备及存储比特流的计算机可读记录介质
CN115668950A (zh) 用信号通知hrd参数的图像编码/解码方法和装置及存储比特流的计算机可读记录介质
CN116195247A (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