[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115668935A - 基于卷绕运动补偿的图像编码/解码方法和设备及存储比特流的记录介质 - Google Patents

基于卷绕运动补偿的图像编码/解码方法和设备及存储比特流的记录介质 Download PDF

Info

Publication number
CN115668935A
CN115668935A CN202180036154.4A CN202180036154A CN115668935A CN 115668935 A CN115668935 A CN 115668935A CN 202180036154 A CN202180036154 A CN 202180036154A CN 115668935 A CN115668935 A CN 115668935A
Authority
CN
China
Prior art keywords
picture
wrap
current
information
motion compensation
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
CN202180036154.4A
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 CN115668935A publication Critical patent/CN115668935A/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

提供了一种图像编码/解码方法和设备。根据本公开的图像解码方法包括以下步骤:从比特流获得当前块的帧间预测信息和卷绕信息;以及基于帧间预测信息和卷绕信息来生成当前块的预测块,其中,卷绕信息包括指示卷绕运动补偿对于包括当前块的当前视频序列是否可用的第一标志,并且基于当前视频序列中存在一个或更多个子画面,该第一标志可以具有指示卷绕运动补偿不可用的第一值,其中,所述一个或更多个子画面被独立地编码并且具有与包括当前块的当前画面的宽度不同的宽度。

Description

基于卷绕运动补偿的图像编码/解码方法和设备及存储比特 流的记录介质
技术领域
本公开涉及图像编码/解码方法和设备,更具体地,涉及一种基于卷绕运动补偿的图像编码和解码方法和设备以及存储通过本公开的图像编码方法/设备生成的比特流的记录介质。
背景技术
最近,各个领域对高分辨率和高质量图像,例如高清(HD)图像和超高清(UHD)图像的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地传输、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
本公开的另一目的是提供一种基于卷绕运动补偿的图像编码/解码方法和设备。
本公开的另一目的是提供一种基于针对独立编码的子画面的卷绕运动补偿的图像编码/解码方法和设备。
本公开的另一目的是提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
本公开的另一目的是提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
本公开的另一目的是提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
技术方案
根据本公开的一方面的由图像解码设备执行的图像解码方法包括以下步骤:从比特流获得当前块的帧间预测信息和卷绕信息;以及基于帧间预测信息和卷绕信息来生成当前块的预测块。卷绕信息可以包括指定对于包括当前块的当前视频序列是否启用卷绕运动补偿的第一标志,并且基于当前视频序列中存在独立编码并具有与当前画面的宽度不同的宽度的一个或更多个子画面,第一标志可以具有指定卷绕运动补偿被禁用的第一值。
根据本公开的另一方面的图像解码设备包括存储器和至少一个处理器。至少一个处理器可以被配置为从比特流获得当前块的帧间预测信息和卷绕信息并且基于帧间预测信息和卷绕信息来生成当前块的预测块。卷绕信息可以包括指定对于包括当前块的当前视频序列是否启用卷绕运动补偿的第一标志,并且基于当前视频序列中存在独立编码并具有与当前画面的宽度不同的宽度的一个或更多个子画面,第一标志可以具有指定卷绕运动补偿被禁用的第一值。
根据本公开的另一方面的图像编码方法包括以下步骤:确定卷绕运动补偿是否应用于当前块;通过基于确定执行帧间预测来生成当前块的预测块;以及对当前块的帧间预测信息和卷绕运动补偿的卷绕信息进行编码。卷绕信息可以包括指定对于包括当前块的当前视频序列是否启用卷绕运动补偿的第一标志,并且基于当前视频序列中存在独立编码并具有与当前画面的宽度不同的宽度的一个或更多个子画面,第一标志可以具有指定卷绕运动补偿被禁用的第一值。
另外,根据本公开的另一方面的计算机可读记录介质可以存储由本公开的图像编码设备或图像编码方法生成的比特流。
另外,根据本公开的另一方面的传输方法可以发送由本公开的图像编码设备或图像编码方法生成的比特流。
以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,能够提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
此外,根据本公开,能够提供一种基于卷绕运动补偿的图像编码/解码方法和设备。
此外,根据本公开,能够提供一种基于针对独立编码的子画面的卷绕运动补偿的的图像编码/解码方法和设备。
此外,根据本公开,能够提供一种发送由根据本公开的图像编码方法或设备生成的比特流的方法。
此外,根据本公开,能够提供一种存储由根据本公开的图像编码方法或设备生成的比特流的记录介质。
此外,根据本公开,能够提供一种记录介质,其存储由根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
图1是示意性地例示本公开的实施方式适用于的视频编码系统的视图。
图2是示意性地例示本公开的实施方式适用于的图像编码设备的视图。
图3是示意性地例示本公开的实施方式适用于的图像解码设备的视图。
图4是本公开的实施方式适用于的解码过程的示意性流程图。
图5是本公开的实施方式适用于的编码过程的示意性流程图。
图6是例示了基于帧间预测的视频/图像解码方法的流程图。
图7是例示了根据本公开的帧间预测器260的配置的视图。
图8是示出子画面的示例的视图。
图9是示出包括关于子画面的信息的SPS的示例的视图。
图10是例示了根据本公开的实施方式的图像编码设备使用子画面对图像进行编码的方法的视图。
图11是例示了根据本公开的实施方式的图像解码设备使用子画面对图像进行解码的方法的视图。
图12是示出转换为二维画面的360度图像的示例的视图。
图13是示出水平卷绕运动补偿过程的示例的视图。
图14a是例示了包括关于卷绕运动补偿的信息的SPS的示例的视图。
图14b是例示了包括关于卷绕运动补偿的信息的PPS的示例的视图。
图15是例示了图像编码设备执行卷绕运动补偿的方法的流程图。
图16是例示了根据本公开的实施方式的图像编码设备确定是否启用卷绕运动补偿的方法的流程图。
图17是例示了根据本公开的实施方式的图像编码设备确定是否启用卷绕运动补偿的方法的流程图。
图18是例示了根据本公开的实施方式的图像编码设备执行卷绕运动补偿的方法的流程图。
图19是例示根据本公开的实施方式的图像编码方法的流程图。
图20是例示根据本公开的实施方式的图像解码方法的流程图。
图21是例示本公开的实施方式适用于的内容流系统的视图。
图22是示意性地例示了可以利用本公开的实施方式的用于提供三维图像/视频服务的架构的视图。
具体实施方式
以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(CTU)。
在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,M×N块可以包括M列N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
另外,在本公开中,除非明确说明为色度块,“当前块”可以意指包括亮度分量块和色度分量块二者的块或“当前块的亮度块”。当前块的亮度分量块可以通过包括诸如“亮度块”或“当前亮度块”的亮度分量块的明确描述来表示。另外,“当前块的色度分量块”可以通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来表示。
在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A/B/C”可以意指“A、B和/或C中的至少一个”。
在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,或3)“A和B”两者。换言之,在本公开中,“或”应被解释以指示“附加地或可替选地”。
视频编码系统的概述
图1是例示本公开的实施方式适用于的视频编码系统的示意图。
根据实施方式的视频编码系统可以包括编码设备10和解码设备20。编码设备10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到解码设备20。
根据实施方式的编码设备10可以包括视频源生成器11、编码单元12和发送器13。根据实施方式的解码设备20可以包括接收器21、解码单元22和渲染器23。编码单元12可以称为视频/图像编码单元,解码单元22可以称为视频/图像解码单元。发送器13可以被包括在编码单元12中。接收器21可以被包括在解码单元22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
编码单元12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,例如预测、变换和量化。编码单元12可以以比特流的形式输出编码数据(编码视频/图像信息)。
发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码视频/图像信息或数据传输到解码设备20的接收器21。数字存储介质可以包括各种存储介质,例如USB、SD、CD、DVD、蓝光、HDD、SSD等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络传输的元件。接收器21可以从存储介质或网络中提取/接收比特流并将比特流传输到解码单元22。
解码单元22可以通过执行与编码单元12的操作相对应的一系列过程,例如解量化、逆变换和预测来解码视频/图像。
渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
图像编码设备的概述
图2是示意性地示出本公开的实施方式可适用于的图像编码设备的视图。
如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测器180、帧内预测器185和熵编码器190。帧间预测器180和帧内预测器185可以统称为“预测器”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
在一些实施方式中,配置图像编码设备100的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器170可以包括解码画面缓冲器(DPB)并且可以由数字存储介质配置。
图像分割器110可将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分割编码树单元(CTU)或最大编码单元(LCU)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
预测器(帧间预测器180或帧内预测器185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测器可以在当前块或CU的基础上确定是应用帧内预测还是帧间预测。预测器可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
帧内预测器185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测器185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,帧间预测器180可基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测器可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测器可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。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、帧间预测器160或帧内预测器265中的至少一个。
解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
逆变换器230可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
预测器可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
与在图像编码设备100的预测器中描述的相同的是,预测器可以基于稍后描述的各种预测方法(技术)来生成预测信号。
帧内预测器265可以通过参考当前画面中的样本来预测当前块。帧内预测器185的描述同样适用于帧内预测器265。
帧间预测器260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测器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。
帧间预测的概述
在下文中,将描述根据本公开的帧间预测。
根据本公开的图像编码设备/图像解码设备的预测器可以以块为单位执行帧间预测以推导预测样本。帧间预测可以是以依赖于当前画面以外的画面的数据元素(例如,样本值、运动信息等)的方式推导的预测。当帧间预测应用于当前块时,可以基于由参考画面索引所指示的参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测的块(预测块或预测样本阵列)。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单元来预测当前块的运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测类型(L0预测、L1预测、双预测等)信息。当应用帧间预测时,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)或colBlock,并且包括时间邻近块的参考画面可以被称为并置画面(colPic)或colPicture。例如,可以基于当前块的邻近块来构建运动信息候选列表,并且可以用信号通知指示选择(使用)哪个候选的标志或索引信息以便推导当前块的运动向量和/或参考画面索引。
可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,当前块的运动信息可以等于所选邻近块的运动信息。在跳过模式的情况下,与合并模式不同,可以不发送残差信号。在运动信息预测(MVP)模式的情况下,所选邻近块的运动向量可以用作运动向量预测子,并且可以用信号通知运动向量差。在这种情况下,可以使用运动向量预测子和运动向量差之和来推导当前块的运动向量。在本公开中,MVP模式可以具有与高级运动向量预测(AMVP)相同的含义。
根据帧间预测类型(L0预测、L1预测、双预测等),运动信息可以包括L0运动信息和/或L1运动信息。L0方向上的运动向量可以被称为L0运动向量或MVL0,L1方向上的运动向量可以被称为L1运动向量或MVL1。基于L0运动向量的预测可以被称为L0预测,基于L1运动向量的预测可以被称为L1预测,基于L0运动向量和L1运动向量二者的预测可以被称为双预测。这里,L0运动向量可以指示与参考画面列表L0关联的运动向量(L0),L1运动向量可以指示与参考画面列表L1关联的运动向量(L1)。参考画面列表L0可以包括按输出顺序在当前画面之前的画面作为参考画面,参考画面列表L1可以包括按输出顺序在当前画面之后的画面。先前画面可以被称为前向(参考)画面,后续画面可以被称为反向(参考)画面。参考画面列表L0还可以包括按输出顺序在当前画面之后的画面作为参考画面。在这种情况下,在参考画面列表L0内,可以首先对先前画面进行索引,然后可以对后续画面进行索引。参考画面列表L1还可以包括按输出顺序在当前画面之前的画面作为参考画面。在这种情况下,在参考画面列表L1内,可以首先对后续画面进行索引,然后可以对先前画面进行索引。这里,输出顺序可以对应于画面顺序计数(POC)顺序。
图4是例示了基于帧间预测的视频/图像编码方法的流程图。
图5是例示了根据本公开的帧间预测器180的配置的视图。
图4的编码方法可以由图2的图像编码设备执行。具体地,步骤S410可以由帧间预测器180执行,并且步骤S420可以由残差处理器执行。具体地,步骤S420可以由减法器115执行。步骤S430可以由熵编码器190执行。步骤S430的预测信息可以由帧间预测器180推导,并且步骤S430的残差信息可以由残差处理器推导。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。如上所述,残差样本可以通过图像编码设备的变换器120被推导为变换系数,并且变换系数可以通过量化器130被推导为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编码过程来编码。
一起参照图4和图5,图像编码设备可以针对当前块执行帧间预测(S410)。图像编码设备可以推导当前块的帧间预测模式和运动信息并且生成当前块的预测样本。这里,可以同时地执行帧间预测模式确定、运动信息推导和预测样本生成过程或者可以在其它过程之前执行其任何一个。例如,如图5所示,图像编码设备的帧间预测器180可以包括预测模式确定单元181、运动信息推导单元182和预测样本推导单元183。预测模式确定单元181可以确定当前块的预测模式,运动信息推导单元182可以推导当前块的运动信息,并且预测样本推导单元183可以推导当前块的预测样本。例如,图像编码设备的帧间预测器180可以通过运动估计在参考画面的预定区域(搜索区域)内搜索与当前块相似的块,并且推导与当前块的差等于或小于预定准则或最小值的参考块。基于此,可以推导指示参考块位于其中的参考画面的参考画面索引,并且可以基于参考块与当前块之间的位置差来推导运动向量。图像编码设备可以在各种预测模式当中确定应用于当前块的模式。图像编码设备可以针对各种预测模式比较速率失真(RD)成本,并且确定当前块的最佳预测模式。然而,由图像编码设备确定当前块的预测模式的方法不限于上述示例,并且可以使用各种方法。
例如,当跳过模式或合并模式应用于当前块时,图像编码设备可以从当前块的邻近块推导合并候选,并且使用所推导的合并候选来构建合并候选列表。另外,图像编码设备可以在通过合并候选列表中包括的合并候选指示的参考块当中推导与当前块的差等于或小于预定准则或最小值的参考块。在这种情况下,可以选择与所推导的参考块关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其用信号通知给图像解码设备。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。
作为另一示例,当MVP模式应用于当前块时,图像编码设备可以从当前块的邻近块推导运动向量预测子(mvp)候选,并且使用所推导的mvp候选来构建mvp候选列表。另外,图像编码设备可以使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。在这种情况下,例如,指示通过上述运动估计推导的参考块的运动向量可以被用作当前块的运动向量,在mvp候选当中具有与当前块的运动向量的差最小的运动向量的mvp候选可以是所选择的mvp候选。可以推导作为通过从当前块的运动向量减去mvp所获得的差的运动向量差(MVD)。在这种情况下,可以将指示所选择的mvp候选的索引信息和关于MVD的信息用信号通知给图像解码设备。另外,当应用MVP模式时,可以将参考画面索引的值构建为参考画面索引信息并且单独地用信号通知给图像解码设备。
图像编码设备可以基于预测样本来推导残差样本(S420)。图像编码设备可以通过当前块的原始样本与预测样本之间的比较来推导残差样本。例如,可以通过从原始样本减去对应的预测样本来推导残差样本。
图像编码设备可以对包括预测信息和残差信息的图像信息进行编码(S430)。图像编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和运动信息作为与预测过程有关的信息。在预测模式信息当中,跳过标志指示跳过模式是否应用于当前块,而合并标志指示合并模式是否应用于当前块。另选地,预测模式信息可以指示多种预测模式中的一种,类似模式索引。当跳过标志和合并标志为0时,可以确定MVP模式应用于当前块。运动信息可以包括作为用于推导运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。在候选选择信息当中,合并索引可以在合并模式应用于当前块时用信号通知,并且可以是用于选择合并候选列表中包括的合并候选中的一个的信息。在候选选择信息当中,mvp标志或mvp索引可以在MVP模式应用于当前块时用信号通知,并且可以是用于选择mvp候选列表中的mvp候选中的一个的信息。另外,运动信息可以包括关于上述MVD的信息和/或参考画面索引信息。另外,运动信息可以包括指示是应用L0预测、L1预测还是双预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中并且被发送到图像解码设备或者可以经由网络被发送到图像解码设备。
如上所述,图像编码设备可以基于参考样本和残差样本来生成重构画面(包括重构样本和重构块的画面)。这是为了图像编码设备推导与由图像解码设备执行的预测结果相同的预测结果,从而提高编码效率。因此,图像编码设备可以将重构画面(或重构样本和重构块)存储在存储器中并且将其用作用于帧间预测的参考画面。如上所述,环路内滤波过程还适用于重构画面。
图6是例示了基于帧间预测的视频/图像解码方法的流程图,图7是例示了根据本公开的帧间预测器260的配置的视图。
图像解码设备可以执行与由图像编码设备执行的操作对应的操作。图像解码设备可以基于接收到的预测信息来针对当前块执行预测并且推导预测样本。
图6的解码方法可以由图3的图像解码设备执行。步骤S610至S630可以由帧间预测器260执行,并且步骤S610的预测信息和步骤S640的残差信息可以由熵解码器210从比特流获得。图像解码设备的残差处理器可以基于残差信息来推导当前块的残差样本(S640)。具体地,残差处理器的解量化器220可以基于根据残差信息而推导的解量化变换系数来执行解量化以推导变换系数,并且残差处理器的逆变换器230可以针对变换系数执行逆变换以推导当前块的残差样本。步骤S650可以由加法器235或重构器执行。
一起参照图6和图7,图像解码设备可以基于所接收到的预测信息来确定当前块的预测模式(S610)。图像解码设备可以基于预测信息中的预测模式信息来确定哪种帧间预测模式应用于当前块。
例如,可以基于跳过标志来确定跳过模式是否应用于当前块。另外,可以基于合并标志来确定是合并模式还是MVP模式应用于当前块。另选地,可以基于模式索引来选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或MVP模式或者可以包括将在下面描述的各种帧间预测模式。
图像解码设备可以基于所确定的帧间预测模式来推导当前块的运动信息(S620)。例如,当跳过模式或合并模式应用于当前块时,图像解码设备可以构建将在下面描述的合并候选列表,并且选择合并候选列表中包括的合并候选中的一个。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。例如,可以将所选择的合并候选的运动信息用作当前块的运动信息。
作为另一示例,当MVP模式应用于当前块时,图像解码设备可以构建mvp候选列表,并且使用从mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来推导当前块的MVD,并且可以基于当前块的mvp和MVD来推导当前块的运动向量。另外,可以基于参考画面索引信息来推导当前块的参考画面索引。可以将当前块的参考画面列表中通过参考画面索引指示的画面推导为被参考以进行当前块的帧间预测的参考画面。
图像解码设备可以基于当前块的运动信息来生成当前块的预测样本(S630)。在这种情况下,可以基于当前块的参考画面索引来推导参考画面,并且可以使用参考画面上通过当前块的运动向量指示的参考块的样本来推导当前块的预测样本。在一些情况下,还可以针对当前块的预测样本中的全部或一些执行预测样本滤波过程。
例如,如图7所示,图像解码设备的帧间预测器260可以包括预测模式确定单元261、运动信息推导单元262和预测样本推导单元263。在图像解码设备的帧间预测器260中,预测模式确定单元261可以基于所接收到的预测模式信息来确定当前块的预测模式,运动信息推导单元262可以基于所接收到的运动信息来推导当前块的运动信息(运动向量和/或参考画面索引等),并且预测样本推导单元263可以推导当前块的预测样本。
图像解码设备可以基于所接收到的残差信息来生成当前块的残差样本(S640)。图像解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且基于此来生成重构画面(S650)。此后,环路内滤波过程适用于如上所述的重构画面。
如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式来推导运动信息的步骤、以及基于所推导的运动信息来执行预测(生成预测样本)的步骤。如上所述,帧间预测过程可以由图像编码设备和图像解码设备执行。
子画面的概述
在下文中,将描述根据本公开的子画面。
一个画面可以以拼块为单位分割,并且各个拼块可以进一步以子画面为单位分割。各个子画面可以包括一个或更多个切片,并且在画面内构建矩形区域。
图8是示出子画面的示例的视图。
参照图8,一个画面可以被分割成18个拼块。12个拼块可以设置在画面的左手侧,并且各个拼块可以包括由16个CTU组成的一个子画面/切片。另外,6个拼块可以设置在画面的右手侧,并且各个拼块可以包括由四个CTU组成的两个子画面/切片。结果,画面可以被分割成24个子画面,并且各个子画面可以包括一个切片。
关于子画面的信息(例如,子画面的数量和大小等)可以通过诸如SPS、PPS和/或切片头的高级语法来编码/用信号通知。
图9是包括关于子画面的信息的SPS的示例的视图。
参照图9,SPS可以包括指定对于编码层视频序列(CLVS)是否存在子画面信息的语法元素subpic_info_present_flag。例如,具有第一值(例如,0)的subpic_info_present_flag可以指定对于CLVS不存在子画面信息并且在CLVS的各个画面中仅存在一个子画面。具有第二值(例如,1)的subpic_info_present_flag可以指定对于CLVS存在子画面信息并且在CLVS的各个画面中存在一个或一个以上子画面。在示例中,当在参考SPS的CLVS内画面空间分辨率可改变(例如,res_change_in_clvs_allowed_flag==1)时,subpic_info_present_flag的值应等于第一值(例如,0)。此外,当比特流是子比特流提取过程的结果并且仅包含子比特流提取过程的输入比特流的子画面子集时,subpic_info_present_flag的值应为第二值(例如,1)。
另外,SPS可以包括指示子画面的数量的语法元素sps_num_subpics_minus1。例如,sps_num_subpics_minus1加1可以指定CLVS中的各个画面中所包括的子画面的数量。在示例中,sps_num_subpics_minus1的值应在0至Ceil(pic_width_max_in_luma_samples÷CtbSizeY)×Ceil(pic_height_max_in_luma_samples/CtbSizeY)(含)的范围内。这里,Ceil(x)可以是用于输出大于或等于x的最小整数值的ceiling函数。另外,pic_width_max_in_luma_samples可以意指各个画面的亮度样本单元的最大宽度,pic_height_max_in_luma_samples可以意指各个画面的亮度样本单元的最大高度,CtbSizeY可以意指各个亮度分量编码树块(CTB)在宽度和高度二者上的阵列大小。此外,当sps_num_subpics_minus1不存在时,sps_num_subpics_minus1的值可以被推断为等于第一值(例如,0)。
另外,SPS可以包括指定子画面边界是否被视为画面边界的语法元素sps_independent_subpics_flag。例如,具有第二值(例如,1)的sps_independent_subpics_flag可以指定CLVS中的所有子画面边界均被视为画面边界并且不存在跨子画面边界的环路滤波。相比之下,具有第一值(例如,0)的sps_independent_subpics_flag可以指定不施加上述约束。此外,当sps_independent_subpics_flag不存在时,sps_independent_subpics_flag的值可以被推断为等于第一值(例如,0)。
另外,SPS可包括指定子画面的位置和大小的语法元素subpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]和subpic_height_minus1[i]。
subpic_ctu_top_left_x[i]可以以CtbSizeY为单位指定第i子画面的左上CTU的水平位置。在示例中,subpic_ctu_top_left_x[i]的长度可为Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。此外,当subpic_ctu_top_left_x[i]不存在时,subpic_ctu_top_left_x[i]的值可以被推断为等于第一值(例如,0)。
subpic_ctu_top_left_y[i]可以以CtbSizeY为单位指定第i子画面的左上CTU的垂直位置。在示例中,subpic_ctu_top_left_y[i]的长度可为Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。此外,当subpic_ctu_top_left_y[i]不存在时,subpic_ctu_top_left_y[i]的值可以被推断为等于第一值(例如,0)。
subpic_width_minus1[i]加1可以以CtbSizeY为单位指定第i子画面的宽度。在示例中,subpic_width_minus1[i]的长度可为Ceil(Log2((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。此外,当subpic_width_minus1[i]不存在时,subpic_width_minus1[i]的值可以被推断为等于((pic_width_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_x[i]-1。
subpic_height_minus1[i]加1可以以CtbSizeY为单位指定第i子画面的高度。在示例中,subpic_height_minus1[i]的长度可为Ceil(Log2((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY))比特。此外,当subpic_height_minus1[i]不存在时,subpic_height_minus1[i]的值可以被推断为等于((pic_height_max_in_luma_samples+CtbSizeY-1)>>CtbLog2SizeY)-subpic_ctu_top_left_y[i]-1。
另外,SPS可以包括指定子画面是否被视为画面的subpic_treated_as_pic_flag[i]。例如,具有第一值(例如,0)的subpic_treated_as_pic_flag[i]可以指定CLVS中的各个编码画面的第i子画面在除了环路内滤波操作之外的解码过程中不被视为画面。相比之下,具有第二值(例如,1)的subpic_treated_as_pic_flag[i]可以指定CLVS中的各个编码画面的第i子画面在除了环路内滤波操作之外的解码过程中被视为画面。当subpic_treated_as_pic_flag[i]不存在时,subpic_treated_as_pic_flag[i]的值可以被推断为等于上述sps_independent_subpics_flag。在示例中,仅当上述sps_independent_subpics_flag具有第一值(例如,0)时(即,当子画面边界不被视为画面边界时),才可以编码/用信号通知subpic_treated_as_pic_flag[i]。
此外,当subpic_treated_as_pic_flag[i]具有第二值(例如,1)时,比特流一致性的要求是对于包括包含第i子画面作为输出层的层的输出层集合(OLS)中的各个输出层及其参考层,所有以下条件为真。
(条件1)输出层及其参考层中的所有画面应具有相同值的pic_width_in_luma_samples和相同值的pic_height_in_luma_samples。
(条件2)输出层及其参考层所参考的所有SPS应具有相同值的sps_num_subpics_minus1,并且应具有相同值的subpic_ctu_top_left_x[j]、subpic_ctu_top_left_y[j]、subpic_width_minus1[j]、subpic_height_minus1[j]和loop_filter_across_subpic_enabled_flag[j]。这里,j在0至sps_num_subpics_minus1(含)的范围内。
另外,SPS可以包括指定是否跨子画面边界执行环路内滤波操作的语法元素loop_filter_across_subpic_enabled_flag[i]。例如,具有第一值(例如,0)的loop_filter_across_subpic_enabled_flag[i]可以指定不跨CLVS中的各个编码画面中的第i子画面的边界执行环路内滤波操作。具有第二值(例如,1)的loop_filter_across_subpic_enabled_flag[i]可以指定可跨CLVS中的各个编码画面中的第i子画面的边界执行环路内滤波操作。当loop_filter_across_subpic_enabled_flag[i]不存在时,loop_filter_across_subpic_enabled_flag[i]的值可以被推断为等于1-sps_independent_subpics_flag。在示例中,仅当上述sps_independent_subpics_flag具有第一值(例如,0)时(即,当子画面边界不被视为画面边界时),loop_filter_across_subpic_enabled_flag[i]才可以被编码/用信号通知。此外,比特流一致性的要求是子画面的形状应使得各个子画面在被解码时其整个左边界和整个上边界应由画面边界组成或由先前解码的子画面的边界组成。
图10是例示了根据本公开的实施方式的图像编码设备使用子画面对图像进行编码的方法的视图。
图像编码设备可以基于子画面结构对当前画面进行编码。另选地,图像编码设备可以对构建当前画面的至少一个子画面进行编码并且输出包括至少一个(编码)子画面的(编码)信息的(子)比特流。
参照图10,图像编码设备可以将输入画面分割成多个子画面(S1010)。另外,图像编码设备可以生成关于子画面的信息(S1020)。这里,关于子画面的信息可以包括例如关于子画面的面积和/或用于子画面中的网格间距的信息。另外,关于子画面的信息可以包括指示各个子画面是否被视为画面的信息和/或指示是否可跨各个子画面边界执行环路内滤波的信息。
图像编码设备可以基于关于子画面的信息对至少一个子画面进行编码。例如,各个子画面可以基于关于子画面的信息来独立地编码。另外,图像编码设备可以对包括关于子画面的信息的图像信息进行编码并且输出比特流(S1030)。这里,子画面的比特流可以被称为子流或子比特流。
图11是例示了根据本公开的实施方式的图像解码设备使用子画面对图像进行解码的方法的视图。
图像解码设备可以使用从(子)比特流获得的至少一个(编码)子画面的(编码)信息对包括在当前画面中的至少一个子画面进行解码。
参照图11,图像解码设备可以从比特流获得关于子画面的信息(S1110)。这里,比特流可以包括子画面的子流或子比特流。关于子画面的信息可以按比特流的高级语法来构建。另外,图像解码设备可以基于关于子画面的信息来推导至少一个子画面(S1120)。
图像解码设备可以基于关于子画面的信息来对至少一个子画面进行解码(S1130)。例如,当包括当前块的当前子画面被视为画面时,当前子画面可以独立地解码。另外,当可以跨当前子画面的边界执行环路内滤波时,可以针对当前子画面的边界和与上述边界相邻的邻近子画面的边界执行环路内滤波(例如,去块滤波)。另外,当当前子画面的边界与画面边界匹配时,不跨当前子画面的边界执行环路内滤波。图像解码设备可以基于CABAC方法、预测方法、残差处理方法(变换和量化)、环路内滤波方法等对子画面进行解码。另外,图像解码设备可以输出至少一个解码的子画面或者输出包括至少一个子画面的当前画面。解码的子画面可以按输出子画面集(OPS)的形式输出。例如,关于360度图像或全向图像,当仅渲染当前画面的一部分时,可以仅将当前画面中的所有子画面中的一些解码,并且可以根据用户的视口来渲染所有或一些解码的子画面。
卷绕的概述
当帧间预测应用于当前块时,可以基于当前块的运动向量所指定的参考块来推导当前块的预测块。在这种情况下,当参考块中的至少一个参考样本在参考画面的边界之外时,参考样本的样本值可以由存在于参考画面的最外侧或边界处的邻近样本的样本值代替。这可以称为填充,参考画面的边界可以通过填充来扩展。
此外,当从360度图像获得参考画面时,参考画面的左右边界之间可能存在连续性。因此,与参考画面的左边界(或右边界)相邻的样本可以具有与画面的右边界(或左边界)相邻的样本的样本值和/或运动信息相等/相似的样本值和/或运动信息。基于这些特性,参考块中在参考画面之外的至少一个参考样本可以由参考画面中与参考样本对应的邻近样本代替。这可以称为(水平)卷绕运动补偿,并且可以通过卷绕运动补偿调节当前块的运动向量以指示参考画面的内部。
卷绕运动补偿意指被设计为改进重构的图像/视频(例如,以等矩形投影(ERP)格式投影的360度图像/视频)的视觉质量的编码工具。根据现有运动补偿过程,当前块的运动向量参考参考画面的边界之外的样本,边界之外的样本的样本值可以通过经由重复填充复制边界上的最近邻近样本的样本值来推导。然而,由于360度图像/视频是在球体上捕获的并且固有地没有图像边界,所以投影域(二维域)中在参考画面的边界之外的参考样本可以始终从球形域(三维域)中与参考样本相邻的邻近样本获得。因此,重复填充不适合360度图像/视频,会在重构的视口图像/视频中导致称为“接缝伪影”的视觉伪影。
当应用一般投影格式时,可能难以在球形域中获得用于卷绕运动补偿的邻近样本,因为其涉及2D至3D和3D至2D坐标转换以及分数样本位置的样本插值。然而,当应用ERP投影格式时,在参考画面的左边界(或右边界)之外的球面邻近样本可相对容易地从参考画面的右边界(或左边界)内的样本获得。鉴于ERP投影格式的广泛使用和相对易于实现,对于以ERP投影格式编码的360度图像/视频,水平卷绕运动补偿可能更有效。
图12是示出转换为二维画面的360度图像的示例的视图。
参照图12,可以通过投影过程将360度图像1210转换为二维画面1230。根据应用于360度图像1210的投影方法,二维画面1230可以具有诸如等矩形投影(ERP)格式或填充ERP(PERP)的各种投影格式。
由于在所有方向上获得的图像的特性,360度图像1210不具有图像边界。然而,由于投影过程,从360度图像1210获得的二维画面1230具有图像边界。在这种情况下,二维画面1230的左边界LBd和右边界RBd在360度图像1210内构建一条线RL并且可能彼此接触。因此,二维画面1230内与左边界LBd和右边界RBd相邻的样本之间的相似度可能相对高。
此外,根据参考图像边界,360度图像1210中的预定区域可对应于二维画面1230的内部区域或外部区域。例如,基于二维画面1230的左边界LBd,360度图像1210中的区域A可对应于二维画面1230外部的区域A1。相比之下,基于二维画面1230的右边界RBd,360度图像1210中的区域A可对应于二维画面1230内部的区域A2。区域A1和A2基于360度图像1210对应于同一区域A,因此具有相同/相似的样本属性。
基于这些特性,在二维画面1230的左边界LBd之外的外部样本可以通过卷绕运动补偿由二维画面1230的在第一方向DIR 1上分离开预定距离的位置处的内部样本代替。例如,二维画面1230的包括在区域A1中的外部样本可以由二维画面1230的包括在区域A2中的内部样本代替。类似地,在二维画面1230的右边界RBd之外的外部样本可以通过卷绕运动补偿由二维画面1230的在第二方向DIR 2上分离开预定距离的位置处的内部样本代替。
图13是示出水平卷绕运动补偿过程的示例的视图。
参照图13,当帧间预测应用于当前块1310时,可以基于参考块1330推导当前块1310的预测块。
参考块1330可以由当前块1310的运动向量1320指定。在示例中,运动向量1320可以相对于与参考画面中的当前块1310存在于同一位置的相同位置块1315的左上位置指示参考块1330的左上位置。
如图13所示,参考块1330可以包括在参考画面的左边界之外的第一区域1335。第一区域1335无法用于当前块1310的帧间预测,因此可以通过卷绕运动补偿由参考画面中的第二区域1340代替。第二区域1340在球形域(三维域)中可以连同第一区域1335一起对应于同一区域,并且可以通过向第一区域1335的预定位置(例如,左上位置)添加卷绕偏移来指定第二区域1340的位置。
可以在当前画面的填充之前向ERP宽度设定卷绕偏移。这里,ERP宽度可以意指从360度图像获得的ERP格式的原始画面(即,ERP画面)的宽度。可以相对于ERP画面的左边界和右边界执行水平填充过程。因此,当前画面的宽度PicWidth可以被确定为通过将ERP宽度、ERP画面的左边界的左填充和ERP画面的右边界的右填充相加而获得的值。此外,可以使用高级语法中的预定语法元素(例如,pps_ref_wraparound_offset)来编码/用信号通知卷绕偏移。语法元素不受ERP画面的左边界和右边界的填充影响,结果,可支持原始画面的不对称填充。即,ERP画面的左边界的左填充和右边界的右填充可彼此不同。
可以通过诸如SPS和/或PPS的高级语法来编码/用信号通知关于上述卷绕运动补偿的信息(例如,启用、卷绕偏移等)。
图14a是例示了包括关于卷绕运动补偿的信息的SPS的示例的视图。
参照图14a,SPS可以包括指定是否在序列级别应用卷绕运动补偿的语法元素sps_ref_wraparound_enabled_flag。例如,具有第一值(例如,0)的sps_ref_wraparound_enabled_flag可以指定卷绕运动补偿不应用于包括当前块的当前视频序列。相比之下,具有第二值(例如,1)的sps_ref_wraparound_enabled_flag可以指定卷绕运动补偿应用于包括当前块的当前视频序列。在示例中,仅当画面宽度(例如,pic_width_in_luma_samples)和CTB宽度CtbSizeY满足以下条件时,当前视频序列的卷绕运动补偿才适用。
-(条件):(CtbSizeY/MinCbSizeY+1)≥(pic_width_in_luma_samples/MinCbSizeY-1)
当不满足上述条件时,例如,当(CtbSizeY/MinCbSizeY+1)的值大于(pic_width_in_luma_samples/MinCbSizeY-1)的值时,sps_ref_wraparound_enabled_flag应等于第一值(例如,0)。这里,CtbSizeY可以意指亮度分量CTB的宽度或高度,MinCbSizeY可以意指亮度分量编码块(CB)的最小宽度或高度。另外,pic_width_max_in_luma_samples可以意指各个画面的亮度样本单元的最大宽度。
图14b是例示了包括关于卷绕运动补偿的信息的PPS的示例的视图。
参照图14b,PPS可以包括指定是否在画面级别应用卷绕运动信息的语法元素pps_ref_wraparound_enabled_flag。
参照图14b,PPS可以包括指定是否在序列级别应用卷绕运动信息的语法元素pps_ref_wraparound_enabled_flag。例如,具有第一值(例如,0)的pps_ref_wraparound_enabled_flag可以指定对于包括当前块的当前画面不应用卷绕运动补偿。相比之下,具有第二值(例如,1)的pps_ref_wraparound_enabled_flag可以指定对于包括当前块的当前画面应用卷绕运动补偿。在示例中,仅当画面宽度(例如,pic_width_in_luma_samples)大于CTB宽度CtbSizeY时,对当前画面的卷绕运动补偿才适用。例如,当(CtbSizeY/MinCbSizeY+1)的值大于(pic_width_in_luma_samples/MinCbSizeY-1)的值时,pps_ref_wraparound_enabled_flag应等于第一值(例如,0)。在另一示例中,当sps_ref_wraparoud_enabled_flag具有第一值(例如,0)时,pps_ref_wraparound_enabled_flag的值应等于第一值(例如,0)。
另外,PPS可以包括指定卷绕运动补偿的偏移的语法元素pps_ref_wraparound_offset。例如,pps_ref_wraparound_offset加((CtbSizeY/MinCbSizeY)+2)可以指定用于以亮度样本为单位计算卷绕位置的卷绕偏移。pps_ref_wraparound_offset的值可以在0至((pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2)(含)的范围内。此外,变量PpsRefWraparoundOffset可以被设定为等于(pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2)。变量PpsRefWraparoundOffset可以用于裁剪在参考画面的边界之外的参考样本的过程。
此外,当当前画面被分割成多个子画面时,可以基于各个子画面的属性选择性地执行卷绕运动补偿。
图15是例示了图像编码设备执行卷绕运动补偿的方法的流程图。
参照图15,图像编码设备可以确定当前子画面是否独立地编码(S1510)。
当当前子画面独立地编码(S1510为“是”)时,图像编码设备可以确定针对当前块不执行卷绕运动补偿(S1520)。在这种情况下,图像编码设备可以基于子画面边界来裁剪当前块的参考样本位置并且使用裁剪位置处的参考样本来执行运动补偿。例如,上述操作可以使用亮度样本双线性插值过程、亮度样本插值过程、亮度整数样本提取过程或色度样本插值过程来执行。
当当前子画面未独立地编码(S1510为“否”),图像编码设备可以确定是否启用卷绕运动信息(S1530)。图像编码设备可以确定在序列级别是否启用卷绕运动补偿。例如,当当前视频序列中的所有子画面具有不连续的子画面边界时,对于当前视频序列不应启用卷绕运动补偿。当在序列级别禁用卷绕运动补偿时,在画面级别不应启用卷绕运动补偿。相比之下,当在序列级别启用卷绕运动补偿时,图像编码设备可以确定在画面级别是否启用卷绕运动补偿。
当卷绕运动补偿被启用(S1530为“是”)时,图像编码设备可以针对当前块执行卷绕运动补偿(S1540)。在这种情况下,图像编码设备可以通过使当前块的参考样本位置移位卷绕偏移,然后基于参考画面的边界裁剪移位的位置来执行卷绕运动补偿。
相比之下,当卷绕运动补偿被禁用(S1530为“否”)时,图像编码设备可不针对当前块执行卷绕运动补偿(S1550)。在这种情况下,图像编码设备可以基于参考画面的边界来裁剪当前块的参考样本位置并且使用裁剪位置处的参考样本执行运动补偿。
此外,图像解码设备可以基于从比特流获得的子画面相关信息(例如,subpic_treated_as_pic_flag)来确定当前子画面是否独立地编码。例如,当subpic_treated_as_pic_flag具有第一值(例如,0)时,当前子画面可不独立地编码。相比之下,当subpic_treated_as_pic_flag具有第二值(例如,1)时,当前子画面可独立地编码。
另外,图像解码设备可以基于从比特流获得的卷绕相关信息(例如,pps_ref_wraparound_enabled_flag)来确定是否启用卷绕运动补偿,并且基于该确定针对当前块执行卷绕运动补偿。例如,当pps_ref_wraparound_enabled_flag具有第一值(例如,0)时,图像解码设备可以确定对于当前画面禁用卷绕运动补偿并且不针对当前块执行卷绕运动补偿。相比之下,当pps_ref_wraparound_enabled_flag具有第二值(例如,1)时,图像解码设备可以确定对于当前画面启用卷绕运动补偿并且可针对当前块执行卷绕运动补偿。
根据图15的方法,仅当当前子画面未被视为画面时,才可执行卷绕运动补偿。结果,卷绕相关编码工具无法与基于子画面的独立编码的各种子画面相关编码工具一起使用。这可能使针对在边界之间具有连续性的画面(例如,ERP画面或PERP画面)的编码/解码性能劣化。
为了解决这种问题,根据本公开的实施方式,即使当当前子画面独立地编码时,也可以根据预定条件执行卷绕运动补偿。在下文中,将详细描述本公开的实施方式。
实施方式1
根据本公开的实施方式1,当当前视频序列中存在独立编码并且宽度与画面宽度不同的一个或更多个子画面时,对于当前视频序列不应启用卷绕运动补偿。在这种情况下,指定对于当前视频序列是否启用卷绕运动补偿的标志信息(例如,sps_ref_wraparound_enabled_flag)应具有第一值(例如,0)。
图16是例示了根据本公开的实施方式的图像编码设备确定是否启用卷绕运动补偿的方法的流程图。
参照图16,图像编码设备可以确定当前视频序列中是否存在一个或更多个独立编码的子画面(S1610)。
在确定当前视频序列中不存在一个或更多个独立编码的子画面(S1610为“否”)时,图像编码设备可以基于预定卷绕约束确定对于当前视频序列是否启用卷绕运动补偿(S1640)。在这种情况下,图像编码设备可以基于该确定将指定对于当前视频序列是否启用卷绕运动补偿的标志信息(例如,sps_wraparound_enabled_flag)编码为第一值(例如,0)或第二值(例如,1)。
作为卷绕约束的示例,当对于视频参数集(VPS)所指定的一个或更多个输出层集(OLS)约束卷绕运动补偿时,对于当前视频序列不应启用卷绕运动补偿。作为卷绕约束的另一示例,当当前视频序列中的所有子画面具有不连续的子画面边界时,对于当前视频序列不应启用卷绕运动补偿。
相比之下,在确定当前视频序列中存在独立编码的一个或更多个子画面(S1610为“是”)时,图像编码设备可以确定独立编码的子画面中的至少一个是否具有与画面宽度不同的宽度(S1620)。
在一个实施方式中,可以基于当前视频序列中的画面的最大宽度来推导画面宽度,如式1所示。
[式1]
(pic_width_max_in_luma_samples+CtbSizeY-1)》CtbLog2SizeY
其中,pic_width_max_in_luma_samples可以以亮度样本为单位指示最大画面宽度,CtbSizeY可以以亮度样本为单位指示画面中的编码树块(CTB)的宽度,CtbLog2SizeY可以指示CtbSizeY的对数标度值。
在确定独立编码的子画面中的至少一个具有与画面宽度不同的宽度(S1620为“是”)时,图像编码设备可以确定对于当前视频序列禁用卷绕运动补偿(S1630)。在这种情况下,图像编码设备可以将sps_ref_wraparound_enabled_flag编码为第一值(例如,0)。
相比之下,在确定独立编码的子画面中的至少一个具有与画面宽度相同的宽度(S1620为“否”)时,图像编码设备可以基于上述卷绕约束确定对于当前视频序列是否启用卷绕运动补偿(S1640)。在这种情况下,图像编码设备可以基于该确定将sps_ref_wraparound_enabled_flag编码为第一值(例如,0)或第二值(例如,1)。
尽管在图16中步骤S1610和S1620被示出为依次执行,但这仅是示例,本公开的实施方式不限于此。例如,步骤S1620可与步骤S1610同时执行或在步骤S1610之前执行。
此外,由图像编码设备编码的sps_ref_wraparound_enabled_flag可被存储在比特流中并用信号通知给图像解码设备。在这种情况下,图像解码设备可以基于从比特流获得的sps_ref_wraparound_enabled_flag来确定对于当前视频序列是否启用卷绕运动信息。
例如,当sps_ref_wraparound_enabled_flag具有第一值(例如,0)时,图像解码设备可以确定对于当前视频序列禁用卷绕运动补偿,并且可以不针对当前块执行卷绕运动补偿。在这种情况下,可以基于参考画面边界或子画面边界来裁剪当前块的参考样本位置,并且可以使用裁剪位置处的参考样本来执行运动补偿。
即,图像解码设备可以根据本公开执行正确的运动补偿,而无需单独地确定当前视频序列中是否存在独立地编码并且宽度与画面宽度不同的一个或更多个子画面。然而,图像解码设备的操作不限于此,例如,图像解码设备可以确定当前视频序列中是否存在独立地编码并且宽度与画面宽度不同的一个或更多个子画面,然后基于确定结果执行运动补偿。更具体地,图像解码设备可以确定当前视频序列中是否存在独立地编码并且宽度与画面宽度不同的一个或更多个子画面,并且当存在这些子画面时可通过将sps_ref_wraparound_enabled_flag视为第一值(例如,0)而不执行卷绕运动补偿。
相比之下,当sps_ref_wraparound_enabled_flag具有第二值(例如,1)时,图像解码设备可以确定对于当前视频序列启用卷绕运动补偿。在这种情况下,图像解码设备可以从比特流另外获得指定对于当前画面是否启用卷绕运动补偿的标志信息(例如,pps_ref_wraparound_enabled_flag),并且基于另外获得的标志信息来确定是否针对当前块执行卷绕运动补偿。
例如,当pps_ref_wraparound_enabled_flag具有第一值(例如,0)时,图像解码设备可以不针对当前块执行卷绕运动补偿。在这种情况下,可以基于参考画面边界或子画面边界来裁剪当前块的参考样本位置,并且可以使用裁剪位置处的参考样本来执行运动补偿。相比之下,当pps_ref_wraparound_enabled_flag具有第二值(例如,1)时,图像解码设备可以针对当前块执行卷绕运动补偿。
根据本公开的实施方式1,当当前视频序列中存在独立地编码并且宽度与画面宽度不同的一个或更多个子画面时,对于当前视频序列不应启用卷绕运动补偿。这可以意指当当前视频序列中所有独立编码的子画面具有与画面宽度相同的宽度时,不管是否执行独立编码,卷绕运动补偿适用于当前视频序列中的各个子画面。因此,由于子画面相关编码工具和卷绕运动补偿相关编码工具可以一起使用,所以可进一步改进编码/解码效率。
实施方式2
根据本公开的实施方式2,当当前视频序列中存在宽度与画面宽度不同的一个或更多个子画面时,对于当前视频序列不应启用卷绕运动补偿。在这种情况下,指定对于当前视频序列是否启用卷绕运动补偿的标志信息(例如,sps_ref_wraparound_enabled_flag)应具有第一值(例如,0)。
图17是例示了根据本公开的实施方式的图像编码设备确定是否启用卷绕运动补偿的方法的流程图。
参照图17,图像编码设备可以确定当前视频序列中是否存在宽度与画面宽度不同的一个或更多个子画面(S1610)。
在确定当前视频序列中存在宽度与画面宽度不同的一个或更多个子画面(S1710为“是”)时,图像编码设备可以确定对于当前视频序列禁用卷绕运动补偿(S1720)。在这种情况下,图像编码设备可以例如将sps_ref_wraparound_enabled_flag编码为第一值(例如,0)。
相比之下,当前视频序列中不存在宽度与画面宽度不同的一个或更多个子画面(S1710为“否”)(即,所有子画面的宽度与画面宽度相同),图像编码设备可以基于预定卷绕约束确定对于当前视频序列是否启用卷绕运动补偿(S1730)。卷绕约束的示例与参照图16描述的相同。在这种情况下,图像编码设备可以基于该确定将sps_ref_wraparound_enabled_flag编码为第一值(例如,0)或第二值(例如,1)。
此外,由图像编码设备编码的sps_ref_wraparound_enabled_flag可被存储在比特流中并用信号通知给图像解码设备。在这种情况下,图像解码设备可以基于从比特流获得的sps_ref_wraparound_enabled_flag来确定对于当前视频序列是否启用卷绕运动补偿。
例如,当sps_ref_wraparound_enabled_flag具有第一值(例如,0)时,图像解码设备可以确定对于当前视频序列禁用卷绕运动补偿,并且可以不针对当前块执行卷绕运动补偿。相比之下,当sps_ref_wraparound_enabled_flag具有第二值(例如,1)时,图像解码设备可以确定对于当前视频序列启用卷绕运动补偿。在这种情况下,图像解码设备可以从比特流另外获得指定对于当前画面是否启用卷绕运动补偿的标志信息(例如,pps_ref_wraparound_enabled_flag),并且基于另外获得的标志信息来确定是否针对当前块执行卷绕运动补偿。
根据本公开的实施方式2,当当前视频序列中存在宽度与画面宽度不同的一个或更多个子画面时,对于当前视频序列不应启用卷绕运动补偿。这可以意指当当前视频序列中的所有子画面具有与画面宽度相同的宽度时,不管是否执行独立编码,卷绕运动补偿适用于当前视频序列中的各个子画面。因此,由于子画面相关编码工具和卷绕运动补偿相关编码工具可以一起使用,所以可进一步改进编码/解码效率。
实施方式3
根据本公开的实施方式3,当当前子画面被独立地编码但具有与当前画面相同的宽度时或者当当前子画面未被独立地编码时,可以针对当前块执行卷绕运动补偿。
图18是例示了根据本公开的实施方式的图像编码设备执行卷绕运动补偿的方法的流程图。
参照图18,图像编码设备可以确定当前子画面是否被独立地编码(S1810)。
当当前子画面被独立地编码(S1810为“是”)时,图像编码设备可以确定当前子画面的宽度是否等于当前画面的宽度(S1820)。
当当前子画面的宽度等于当前画面的宽度(S1820为“是”)时,图像编码设备可以确定是否启用卷绕运动补偿(S1830)。
例如,当当前视频序列中独立编码的子画面中的至少一个具有与画面宽度不同的宽度时,图像编码设备可以确定禁用卷绕运动补偿。在这种情况下,图像编码设备可以基于该确定将指定对于当前视频序列是否启用卷绕运动补偿的标志信息(例如,sps_ref_wraparound_enabled_flag)编码为第一值(例如,0)。
相比之下,当当前视频序列中所有独立编码的子画面具有与画面宽度相同的宽度时,图像编码设备可以基于预定卷绕约束确定是否启用卷绕运动补偿。
作为卷绕约束的示例,当CTB宽度(例如,CtbSizeY)大于画面宽度(例如,pic_width_in_luma_samples)时,对于当前画面不应启用卷绕运动补偿。作为卷绕约束的另一示例,当对于视频参数集(VPS)所指定的一个或更多个输出层集(OLS)约束卷绕运动补偿时,对于当前画面不应启用卷绕运动补偿。作为卷绕约束的另一示例,当当前视频序列中的所有子画面具有不连续的子画面边界时,对于当前画面不应启用卷绕运动补偿。
在确定启用卷绕运动补偿(S1830为“是”)时,图像编码设备可以基于当前子画面的边界执行卷绕运动补偿(S1840)。例如,当当前块的参考样本位置在参考画面的左边界之外(例如,xInti<0)时,图像编码设备可以通过使参考样本的x坐标在正向上移位卷绕偏移(例如,PpsRefWraparoundOffset×MinCbSizeY),然后基于当前子画面的左右边界执行裁剪来执行卷绕运动补偿。另选地,当当前块的参考样本位置在参考画面的右边界之外(例如,xInti>picW-1)时,图像编码设备可以通过使参考样本的x坐标(在负向上)移位卷绕偏移,然后基于当前子画面的左右边界执行裁剪来执行卷绕运动补偿。
相比之下,当卷绕运动补偿被禁用(S1830为“否”)时,图像编码设备可以不针对当前块执行卷绕运动补偿(S1850)。在这种情况下,图像编码设备可以基于当前子画面的边界来裁剪当前块的参考样本位置,并且使用裁剪位置处的参考样本来执行运动补偿。
返回步骤S1810,当当前子画面未被独立地编码(S1810为“否”)时,图像编码设备可以确定是否启用卷绕运动补偿(S1860)。其详细确定方法上面在步骤S1830中进行了描述。
在确定卷绕运动补偿被启用(S1860为“是”)时,图像编码设备可以基于参考画面的边界来执行卷绕运动补偿(S1870)。在这种情况下,图像编码设备可以通过使当前块的参考样本位置移位卷绕偏移并基于参考画面的边界裁剪移位位置来执行卷绕运动补偿。
相比之下,当卷绕运动补偿被禁用(S1860为“否”)时,图像编码设备可以不针对当前块执行卷绕运动补偿(S1880)。在这种情况下,图像编码设备可以基于参考画面的边界来裁剪当前块的参考样本位置并且使用裁剪位置处的参考样本来执行运动补偿。
此外,图像解码设备可以基于从比特流获得的子画面相关信息(例如,subpic_treated_as_pic_flag)来确定当前子画面是否被独立地编码。例如,当subpic_treated_as_pic_flag具有第一值(例如,0)时,当前子画面可未被独立地编码。相比之下,当subpic_treated_as_pic_flag具有第二值(例如,1)时,当前子画面可被独立地编码。
另外,图像解码设备可以基于从比特流获得的卷绕相关信息(例如,pps_ref_wraparound_enabled_flag)来确定是否启用卷绕运动补偿,并且基于该确定针对当前块执行卷绕运动补偿。例如,当pps_ref_wraparound_enabled_flag具有第一值(例如,0)时,图像解码设备可以确定对于当前画面禁用卷绕运动补偿,并且可以不针对当前块执行卷绕运动补偿。相比之下,当pps_ref_wraparound_enabled_flag具有第二值(例如,1)时,图像解码设备可以确定对于当前画面启用卷绕运动补偿,并且针对当前块执行卷绕运动补偿。
图像解码设备可以根据本公开执行正确的运动补偿,而无需单独地确定当前子画面的宽度是否等于当前画面的宽度。然而,图像解码设备的操作不限于此,例如,如图18所示,图像解码设备可以确定独立编码的当前子画面的宽度是否等于当前画面的宽度,然后基于确定结果确定是否启用卷绕运动补偿。
根据本公开的实施方式3,当当前子画面被独立地编码但具有与当前画面相同的宽度时或者当当前子画面未被独立地编码时,可以针对当前画面执行卷绕运动补偿。因此,由于子画面相关编码工具和卷绕运动补偿相关编码工具可以一起使用,所以可进一步改进编码/解码效率。
在下文中,将参照图19和图20详细描述根据本公开的实施方式的图像编码/解码方法。
图19是例示了根据本公开的实施方式的图像编码方法的流程图。
图19的图像编码方法可以由图2的图像编码设备执行。例如,步骤S1910和步骤S1920可以由帧间预测器180执行,步骤S1930可以由熵编码器190执行。
参照图19,图像编码设备可以确定卷绕运动补偿是否应用于当前块(S1910)。
在一个实施方式中,基于包括当前块的当前视频序列中是否存在独立地编码并且宽度与画面宽度不同的一个或更多个子画面,图像编码设备可以确定是否启用卷绕运动补偿。例如,当当前视频序列中存在独立地编码并且宽度与画面宽度不同的一个或更多个子画面时,图像编码设备可以确定禁用卷绕运动补偿。相比之下,当当前视频序列中所有独立编码的子画面具有与画面宽度相同的宽度时,图像编码设备可以基于预定卷绕约束确定启用卷绕运动补偿。这里,卷绕约束的示例上面参照图16至图18进行了描述。
另外,图像编码设备可以基于该确定来确定卷绕运动补偿是否应用于当前块。例如,当对于当前画面禁用卷绕运动补偿时,图像编码设备可以确定不针对当前块执行卷绕运动补偿。相比之下,当对于当前画面启用卷绕运动补偿时,图像编码设备可以确定针对当前块执行卷绕运动补偿。
图像编码设备可以通过基于步骤S1910的确定结果执行帧间预测来生成当前块的预测块(S1920)。例如,当卷绕运动补偿应用于当前块时,图像编码设备可以将当前块的参考样本位置移位卷绕偏移并且基于参考画面边界或子画面边界裁剪移位的位置。另外,图像编码设备可以通过使用裁剪位置处的参考样本执行运动补偿来生成当前块的预测块。相比之下,当卷绕运动补偿不应用于当前块时,图像编码设备可以通过基于参考画面边界或子画面边界裁剪当前块的参考样本位置,然后使用裁剪位置处的参考样本执行运动补偿来生成当前块的预测块。
图像编码设备可以对当前块的帧间预测信息和卷绕运动补偿的卷绕信息进行编码以生成比特流(S1930)。
在实施方式中,卷绕信息可以包括指定对于包括当前块的视频序列是否启用卷绕运动补偿的第一标志(例如,sps_ref_wraparound_enabled_flag)。基于当前视频序列中存在独立地编码并且宽度与包括当前块的当前画面的宽度不同的一个或更多个子画面,第一标志可以具有指定对于当前视频序列禁用卷绕运动补偿的第一值(例如,0)。在这种情况下,可以基于关于当前视频序列中的画面的最大宽度的信息(例如,pic_width_max_in_luma_samples)来推导当前画面的宽度,如上面参照式1描述的。
在实施方式中,卷绕信息还可以包括指定对于当前画面是否启用卷绕运动补偿的第二标志(例如,pps_ref_wraparound_enabled_flag)。基于第一标志具有第一值(例如,0),第二标志可以具有指定对于当前画面禁用卷绕运动补偿的第一值(例如,0)。另外,基于关于当前画面中的编码树块(CTB)的宽度和当前画面的宽度的预定条件,第二标志可以具有指定对于当前画面禁用卷绕运动补偿的第一值(例如,0)。例如,当当前画面中的CTB的宽度(例如,CtbSizeY)大于画面的宽度(例如,pic_width_in_luma_samples)时,sps_ref_wraparound_enabled_flag应具有第一值(例如,0)。
在实施方式中,基于对于当前画面启用卷绕运动补偿,卷绕信息还可以包括卷绕偏移(例如,pps_ref_wraparound_offset)。图像编码设备可以基于卷绕偏移来执行卷绕运动补偿。
图20是例示了根据本公开的实施方式的图像解码方法的流程图。
图20的图像解码方法可以由图3的图像解码设备执行。例如,步骤S2010和S2020可以由帧间预测器260执行。
参照图20,图像解码设备可以从比特流获得当前块的帧间预测信息和卷绕信息(S2010)。这里,当前块的帧间预测信息可以包括当前块的运动信息,例如参考画面索引、差运动向量信息等。卷绕信息是关于卷绕运动补偿的信息,并且可以包括指定对于包括当前块的当前视频序列是否启用卷绕运动补偿的第一标志(例如,sps_ref_wraparound_enabled_flag)。基于当前视频序列中存在独立地编码并且宽度与包括当前块的当前画面的宽度不同的一个或更多个子画面,第一标志可以具有指定禁用卷绕运动补偿的第一值(例如,0)。在这种情况下,可以基于关于当前视频序列中的画面的最大宽度的信息(例如,pic_width_max_in_luma_samples)来推导当前画面的宽度,如上面参照式1描述的。
在实施方式中,卷绕信息还可以包括指定对于当前画面是否启用卷绕运动补偿的第二标志(例如,pps_ref_wraparound_enabled_flag)。基于第一标志具有第一值(例如,0),第二标志可以具有指定对于当前画面禁用卷绕运动补偿的第一值(例如,0)。另外,基于关于当前画面中的编码树块(CTB)的宽度和当前画面的宽度的预定条件,第二标志可以具有指定对于当前画面禁用卷绕运动补偿的第一值(例如,0)。例如,当当前画面中的CTB的宽度(例如,CtbSizeY)大于画面的宽度(例如,pic_width_in_luma_samples)时,sps_ref_wraparound_enabled_flag应具有第一值(例如,0)。
图像解码设备可以基于从比特流获得的帧间预测信息和卷绕信息来生成当前块的预测块(S2020)。
例如,当对于当前画面启用卷绕运动补偿(例如,pps_ref_wraparound_enabled_flag==1)时,可以针对当前块执行卷绕运动补偿。在这种情况下,图像解码设备可以使当前块的参考样本位置移位卷绕偏移,并且基于参考画面边界或子画面边界来裁剪移位的位置。另外,图像解码设备可以通过使用裁剪位置处的参考样本执行运动补偿来生成当前块的预测块。
相比之下,当对于当前画面禁用卷绕运动补偿(例如,pps_ref_wraparound_enabled_flag==0)时,图像编码设备可以通过基于参考画面边界或子画面边界裁剪当前块的参考样本位置,然后使用裁剪位置处的参考样本执行运动补偿来生成当前块的预测块。
依据根据本公开的实施方式的图像编码/解码方法,当当前视频序列中所有独立编码的子画面具有与画面宽度相同的宽度时,对于当前视频序列中的所有子画面可以启用卷绕运动补偿。因此,由于子画面相关编码工具和卷绕运动补偿相关编码工具可以一起使用,所以可进一步改进编码/解码效率。
本公开中描述的语法元素的名称可以包括关于用信号通知对应语法元素的位置的信息。例如,以“sps_”开始的语法元素可以意指在序列参数集(SPS)中用信号通知对应语法元素。另外,以“pps_”、“ph_”、“sh_”开始的语法元素可以意指对应语法元素分别在画面参数集(PPS)、画面头和切片头中用信号通知。
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以被包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、OTT视频(over the top video)装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板PC、数字录像机(DVR)等。
图21是示出本公开的实施方式适用于的内容流系统的视图。
如图21中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、石板PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
图22是示意性地例示可以利用本公开的实施方式的用于提供三维图像/视频服务的架构的视图。
图22可以例示360度或全向视频/图像处理系统。另外,图22的系统可以例如实现于扩展现实(XR)支持设备中。即,该系统可以提供一种向用户提供虚拟现实的方法。
扩展现实共同指虚拟现实(VR)、增强现实(AR)和混合现实(MR)。VR技术仅提供真实世界的对象或背景的CG图像,AR技术在真实对象的图像上提供虚拟创建的CG图像,MR技术是用于在真实世界中混合、组合和提供虚拟对象的计算机图形技术。
MR技术与AR技术的相似之处在于,真实对象和虚拟对象一起显示。然而,在AR技术中虚拟对象用于补充真实对象,而在MR技术中虚拟对象和真实对象以相等的特性使用。
XR技术适用于头戴式显示器(HMD)、平视显示器(HUD)、蜂窝电话、平板PC、膝上型计算机、台式机、TV、数字标牌等,应用了XR技术的装置可以被称为XR装置。XR装置可以包括第一数字装置和/或第二数字装置,这将在下面描述。
360内容意指用于实现和提供VR的整个内容,并且可以包括360度视频和/或360度音频。360度视频可以意指提供VR所需的在所有方向(360度或更小)上同时捕获或播放的视频或图像内容。在下文中,360视频可以意指360度视频。360度音频也是用于提供VR的音频内容,并且可以意指使得声源能够被识别为位于特定三维空间中的空间音频内容。360度内容可以被生成、处理并发送到用户,用户可以使用360度内容来消费VR体验。360度视频可以被称为全向视频,360度图像可以被称为全向图像。在下文中,将聚焦于360度视频,本公开的实施方式不限于VR,可以包括诸如AR或MR的视频/图像内容的处理。360度视频可以意指根据3D模型显示在具有各种形状的3D空间中的视频或图像,例如,360度视频可以显示在球面上。
具体地,本方法提出了一种有效地提供360度视频的方法。为了提供360度视频,首先,可以通过一个或更多个相机捕获360度视频。捕获的360度视频可以通过一系列过程发送,并且接收器所接收的数据可以被处理为原始360度视频并渲染。因此,可以向用户提供360度视频。
具体地,用于提供360度视频的整个过程可以包括捕获过程、准备过程、传送过程、处理过程、渲染过程和/或反馈过程。
捕获过程可以意指通过一个或更多个相机以多个视图捕获图像或视频的过程。图22的2210中所示的图像/视频数据可以通过捕获过程生成。图22的2210的各个平面可以意指各个视图的图像/视频。多个捕获的图像/视频可以被称为原始数据。可以在捕获过程中生成与捕获有关的元数据。
为了捕获,可以使用用于VR的特殊相机。在一些实施方式中,当提供由计算机生成的虚拟空间的360度视频时,可不执行通过真实相机的捕获。在这种情况下,捕获过程可以简单地由生成相关数据的过程代替。
准备过程可以是处理捕获的图像/视频和在捕获过程中生成的元数据的过程。捕获的图像/视频可以在准备过程中经历拼接过程、投影过程、逐区域打包过程和/或编码过程。
首先,各个图像/视频可以经历拼接过程。拼接过程可以是通过将捕获的图像/视频连接来生成一个全景图像/视频或球面图像/视频的过程。
此后,拼接的图像/视频可以经历投影过程。在投影过程中,拼接的图像/视频可以投影在2D图像上。根据上下文,该2D图像可以被称为2D图像帧。投影在2D图像上可以表达为映射到2D图像。投影的图像/视频数据可以具有图20的2220中所示的2D图像的形式。
投影在2D图像上的视频数据可以经历逐区域打包过程,以便增加视频编码效率。逐区域打包可以意指根据区域来划分投影在2D图像上的视频数据并处理视频数据的过程。这里,区域可以意指投影有360度视频数据的2D图像被划分成的区域。根据实施方式,这些区域可以通过等分或任意划分2D图像来获得。另外,在一些实施方式中,区域可以根据投影方案来划分。逐区域打包过程是可选的,在准备过程中可以省略。
在一些实施方式中,该处理过程可以包括在2D图像上旋转各个区域或重排各个区域以便增加视频编码效率的过程。例如,通过旋转区域,使得区域的特定侧彼此靠近,可增加编码效率。
在一些实施方式中,该处理过程可以包括增加或减小特定区域的分辨率,以便区分360度视频上的各个区域的分辨率的过程。例如,与360度视频上相对更重要的区域对应的区域的分辨率可以高于其它区域。投影在2D图像上的视频数据或逐区域打包视频数据可以通过视频编解码器经历编码过程。
在一些实施方式中,准备过程还可以包括编辑过程。在编辑过程中,可以进一步执行投影前/后的图像/视频数据的编辑。即使在准备过程中,类似地,可以生成关于拼接/投影/编码/编辑的元数据。另外,可以生成关于投影在2D图像上的视频数据的初始视图或感兴趣区域(ROI)的元数据。
传送过程可以是处理和传送经历准备过程的图像/视频数据和元数据的过程。为了传送,可以执行根据任意传送过程的处理。为传送而处理的数据可以通过广播网络和/或宽带来传送。该数据可以以按需方式传送至接收器。接收器可以通过各种路径接收数据。
处理过程可以意指将接收的数据解码并将投影的图像/视频数据重新投影在3D模型上的过程。在此过程中,投影在2D图像上的图像/视频数据可以被重新投影在3D空间中。根据上下文,此过程可以被称为映射或投影。在这种情况下,3D空间可以具有根据3D模型而变化的形状。例如,3D模型可以包括球体、立方体、圆柱体或锥体。
在一些实施方式中,处理过程还可以包括编辑过程、上缩放过程等。在该编辑过程中,可以进一步执行重新投影前/后的图像/视频数据的编辑。当图像/视频数据被缩小时,其尺寸可以在上缩放过程中通过样本的上缩放而增加。如果需要,可以执行通过下缩放减小尺寸的操作。
渲染过程可以意指渲染和显示重新投影在3D空间中的图像/视频数据的过程。在一些表达中,重新投影和渲染可以被共同表达为在3D模型上渲染。重新投影在3D模型上(或渲染在3D模型上)的图像/视频可以具有图22的2230中所示的形状。图22的2230例示了球形3D模型上的重新投影。用户可以通过VR显示器观看渲染的图像/视频的部分区域。在这种情况下,用户所观看的区域可以具有图22的2240所示的形状。
反馈过程可以意指向发送器传送在显示过程中能够获得的各种反馈信息的过程。通过反馈过程,可以在360度视频消费中提供交互性。在一些实施方式中,可以在反馈过程中向发送器传送指示用户当前观看的区域的头部取向信息和视口信息。在一些实施方式中,用户可以与VR环境中实现的那些交互。在这种情况下,可以在反馈过程中向发送器或服务提供商传送与交互有关的信息。在一些实施方式中,可以不执行反馈过程。
头部取向信息可以意指关于用户头部的位置、角度和运动的信息。基于该信息,可以计算关于360度视频中用户当前观看的区域的信息(即,视口信息)。
视口信息可以是关于360度视频中用户当前观看的区域的信息。由此,可以执行注视分析以确定用户如何消费360度视频或用户注视360度视频的特定区域的程度。注视分析可以由接收器执行并且通过反馈通道传送至发送器。诸如VR显示器的装置可以基于用户头部的位置/方向、装置所支持的垂直或水平视场(FOV)信息等提取视口区域。
此外,可以基于子画面来处理360度视频/图像。包括2D图像的投影画面或打包画面可以被划分成子画面并且以子画面为单位处理。例如,可以根据用户视口向特定子画面提供高分辨率,或者仅特定子画面可以被编码并用信号通知给接收装置(解码装置)。在这种情况下,解码装置可以接收子画面比特流,重构/解码特定子画面,并且根据用户视口执行渲染。
在一些实施方式中,上述反馈信息可以不仅传送至发送器,而是还可以在接收器中消费。即,可以使用上述反馈信息执行接收器的解码、重新投影和渲染过程。例如,可以使用头部取向信息和/或视口信息仅优先解码和渲染用户当前观看的区域的360度视频。
这里,视口或视口区域可以意指360度视频中用户所观看的区域。视点可以是360度视频中用户所观看的点,并且可以意指视口区域的中心点。即,视口是以视点为中心的区域,并且区域的尺寸和形状可以由视场(FOV)确定。
在用于提供360度视频的整个架构中,经历诸如捕获/投影/编码/传送/解码/重新投影/渲染的一系列过程的图像/视频数据可以被称为360度视频数据。术语360度视频数据可以包括与这种图像/视频数据有关的元数据或信令信息。
为了存储和发送诸如音频或视频的媒体数据,可以定义标准化媒体文件格式。在一些实施方式中,媒体文件可以具有基于ISO基本媒体文件格式(BMFF)的文件格式。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业实用性
本公开的实施方式可以被用于对图像进行编码或解码。

Claims (15)

1.一种由图像解码设备执行的图像解码方法,该图像解码方法包括以下步骤:
从比特流获得当前块的帧间预测信息和卷绕信息;以及
基于所述帧间预测信息和所述卷绕信息来生成所述当前块的预测块,
其中,所述卷绕信息包括指定对于包括所述当前块的当前视频序列是否启用卷绕运动补偿的第一标志,并且
其中,基于所述当前视频序列中存在独立地编码并且宽度与包括所述当前块的当前画面的宽度不同的一个或更多个子画面,所述第一标志具有指定禁用所述卷绕运动补偿的第一值。
2.根据权利要求1所述的图像解码方法,其中,所述当前画面的宽度是基于关于所述当前视频序列中的画面的最大宽度的信息来推导的。
3.根据权利要求1所述的图像解码方法,其中,所述卷绕信息还包括指定对于所述当前画面是否启用所述卷绕运动补偿的第二标志。
4.根据权利要求3所述的图像解码方法,其中,基于所述第一标志具有所述第一值,所述第二标志具有指定对于所述当前画面禁用所述卷绕运动补偿的第一值。
5.根据权利要求3所述的图像解码方法,其中,基于关于所述当前画面中的编码树块CTB的宽度和所述当前画面的宽度的预定条件,所述第二标志具有指定对于所述当前画面禁用所述卷绕运动补偿的第一值。
6.根据权利要求3所述的图像解码方法,其中,基于所述第二标志具有指定启用所述卷绕运动补偿的第二值,通过所述卷绕运动补偿生成所述当前块的所述预测块。
7.根据权利要求1所述的图像解码方法,其中,所述当前视频序列中的各个子画面是否独立地编码是基于从所述比特流获得的第三标志来确定的。
8.一种图像解码设备,该图像解码设备包括:
存储器;以及
至少一个处理器,
其中,所述至少一个处理器被配置为:
从比特流获得当前块的帧间预测信息和卷绕信息;并且
基于所述帧间预测信息和所述卷绕信息来生成所述当前块的预测块,
其中,所述卷绕信息包括指定对于包括所述当前块的当前视频序列是否启用卷绕运动补偿的第一标志,并且
其中,基于所述当前视频序列中存在独立地编码并且宽度与包括所述当前块的当前画面的宽度不同的一个或更多个子画面,所述第一标志具有指定禁用所述卷绕运动补偿的第一值。
9.一种由图像编码设备执行的图像编码方法,该图像编码方法包括以下步骤:
确定卷绕运动补偿是否应用于当前块;
通过基于确定所述卷绕运动补偿是否应用于所述当前块而执行帧间预测来生成所述当前块的预测块;以及
对所述当前块的帧间预测信息和所述卷绕运动补偿的卷绕信息进行编码,
其中,所述卷绕信息包括指定对于包括所述当前块的当前视频序列是否启用卷绕运动补偿的第一标志,并且
其中,基于所述当前视频序列中存在独立地编码并且宽度与包括所述当前块的当前画面的宽度不同的一个或更多个子画面,所述第一标志具有指定禁用所述卷绕运动补偿的第一值。
10.根据权利要求9所述的图像编码方法,其中,所述当前画面的宽度是基于关于所述当前视频序列中的画面的最大宽度的信息来推导的。
11.根据权利要求9所述的图像编码方法,其中,所述卷绕信息还包括指定对于所述当前画面是否启用所述卷绕运动补偿的第二标志。
12.根据权利要求11所述的图像编码方法,其中,基于所述第一标志具有所述第一值,所述第二标志具有指定对于所述当前画面禁用所述卷绕运动补偿的第一值。
13.根据权利要求11所述的图像编码方法,其中,基于关于所述当前画面中的编码树块CTB的宽度和所述当前画面的宽度的预定条件,所述第二标志具有指定对于所述当前画面禁用所述卷绕运动补偿的第一值。
14.根据权利要求9所述的图像编码方法,其中,基于对于所述当前画面启用所述卷绕运动补偿,通过所述卷绕运动补偿生成所述当前块的所述预测块。
15.一种非暂时性计算机可读记录介质,该非暂时性计算机可读记录介质存储通过根据权利要求9所述的图像编码方法生成的比特流。
CN202180036154.4A 2020-03-26 2021-03-26 基于卷绕运动补偿的图像编码/解码方法和设备及存储比特流的记录介质 Pending CN115668935A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063000473P 2020-03-26 2020-03-26
US63/000,473 2020-03-26
US202063009975P 2020-04-14 2020-04-14
US63/009,975 2020-04-14
PCT/KR2021/003790 WO2021194307A1 (ko) 2020-03-26 2021-03-26 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Publications (1)

Publication Number Publication Date
CN115668935A true CN115668935A (zh) 2023-01-31

Family

ID=77892034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180036154.4A Pending CN115668935A (zh) 2020-03-26 2021-03-26 基于卷绕运动补偿的图像编码/解码方法和设备及存储比特流的记录介质

Country Status (6)

Country Link
US (2) US11917194B2 (zh)
EP (1) EP4131959A4 (zh)
JP (3) JP7348411B2 (zh)
KR (1) KR20220159415A (zh)
CN (1) CN115668935A (zh)
WO (1) WO2021194307A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024002185A1 (en) * 2022-06-29 2024-01-04 Douyin Vision (Beijing) Co., Ltd. Method, apparatus, and medium for video processing
WO2024016955A1 (en) * 2022-07-22 2024-01-25 Mediatek Inc. Out-of-boundary check in video coding
CN118101964A (zh) * 2022-11-25 2024-05-28 京东方科技集团股份有限公司 视频数据处理方法及装置、显示装置和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2528460B (en) * 2014-07-21 2018-05-30 Gurulogic Microsystems Oy Encoder, decoder and method
WO2017051072A1 (en) * 2015-09-23 2017-03-30 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic video
WO2020050752A1 (en) * 2018-09-07 2020-03-12 Huawei Technologies Co., Ltd. Method and apparatus for interpolation filtering for intra- and inter-prediction in video coding
AU2020348394A1 (en) * 2019-09-19 2022-04-07 Vid Scale, Inc. Systems and methods for versatile video coding
US11375238B2 (en) * 2019-09-20 2022-06-28 Tencent America LLC Method for padding processing with sub-region partitions in video stream
US20210297704A1 (en) * 2020-03-20 2021-09-23 Qualcomm Incorporated Independent subpicture signaling in video coding
WO2021194308A1 (ko) * 2020-03-26 2021-09-30 엘지전자 주식회사 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
JP7507296B2 (ja) 2024-06-27
KR20220159415A (ko) 2022-12-02
JP7348411B2 (ja) 2023-09-20
JP2023519332A (ja) 2023-05-10
EP4131959A1 (en) 2023-02-08
JP2024123103A (ja) 2024-09-10
WO2021194307A1 (ko) 2021-09-30
JP2023162431A (ja) 2023-11-08
US20230012751A1 (en) 2023-01-19
US20240163473A1 (en) 2024-05-16
US11917194B2 (en) 2024-02-27
EP4131959A4 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
KR20220041897A (ko) 인루프 필터링 기반 영상 코딩 장치 및 방법
CN114600466A (zh) 基于交叉分量滤波的图像编码设备和方法
US11917194B2 (en) Image encoding/decoding method and apparatus based on wrap-around motion compensation, and recording medium storing bitstream
EP3849190A1 (en) Syntax design method and apparatus for performing coding by using syntax
KR102707059B1 (ko) Mpm 리스트를 사용하는 인트라 예측 기반 영상 코딩 방법 및 장치
US20240364915A1 (en) Image encoding/decoding method and device on basis of wrap-around motion compensation, and recording medium storing bitstream
KR20220041898A (ko) 적응적 루프 필터링 기반 영상 코딩 장치 및 방법
CN114208171A (zh) 用于推导用于生成预测样本的权重索引信息的图像解码方法和装置
CN114270835A (zh) 基于默认合并模式推导预测样本的图像解码方法及其装置
CN114258676A (zh) 当最终无法选择当前块的预测模式时执行帧间预测的图像解码方法及其装置
CN113475065A (zh) 使用统一mpm列表的基于帧内预测的图像编译方法和设备
CN114303375A (zh) 使用双向预测的视频解码方法和用于该方法的装置
CN114631318A (zh) 应用双向预测时推导用于加权平均的权重索引信息的图像解码方法和设备
US12047582B2 (en) Image encoding/decoding method and device using symmetric motion vector difference (SMVD), and method for transmitting bitstream
CN115104318A (zh) 基于子画面的图像编码设备和方法
CN114556949A (zh) 帧内预测装置和方法
CN114375573A (zh) 使用合并候选推导预测样本的图像解码方法及其装置
US20230156231A1 (en) Image encoding/decoding method and device signaling sps, and method for transmitting bitstream
CN114586354A (zh) 基于矩阵的帧内预测设备和方法
CN114342405A (zh) 图像解码方法和用于该图像解码方法的装置
CN114270821A (zh) 包括通过应用确定的预测模式来生成预测样本的图像解码方法及其装置
EP4422174A1 (en) Method and apparatus for coding intra prediction mode
KR20240128846A (ko) 인트라 예측 모드를 코딩하는 방법 및 장치
CN114982231A (zh) 图像解码方法及用于其的装置
CN115152237A (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