CN114128292A - 用邻近运动信息对运动信息进行编码和解码的装置和方法 - Google Patents

用邻近运动信息对运动信息进行编码和解码的装置和方法 Download PDF

Info

Publication number
CN114128292A
CN114128292A CN202080048180.4A CN202080048180A CN114128292A CN 114128292 A CN114128292 A CN 114128292A CN 202080048180 A CN202080048180 A CN 202080048180A CN 114128292 A CN114128292 A CN 114128292A
Authority
CN
China
Prior art keywords
block
reference picture
current block
motion vector
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080048180.4A
Other languages
English (en)
Inventor
朴慜祐
郑丞洙
朴缗茱
崔棋镐
崔雄一
朴银姬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN114128292A publication Critical patent/CN114128292A/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/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/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/186Methods 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 colour or a chrominance component
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks

Landscapes

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

Abstract

根据实施例的一种对运动信息进行解码的方法包括:从比特流获得指示改变或不改变邻近块的运动信息的改变信息;当所述改变信息指示改变所述运动信息时,改变所述邻近块的预测方向,以将所述邻近块的预测方向确定为所述当前块的预测方向;当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,通过考虑当前画面与包括在第一参考画面列表中的所述邻近块的参考画面之间的距离从第二参考画面列表选择所述当前块的参考画面;通过将差分运动矢量应用于从所述邻近块的运动矢量缩放得到的运动矢量来获得所述当前块的运动矢量;并且通过使用所述当前块的参考画面中的由所述当前块的运动矢量指示的参考块来重建所述当前块。

Description

用邻近运动信息对运动信息进行编码和解码的装置和方法
技术领域
本公开涉及一种图像编码和解码领域。更具体地,本公开涉及一种用于通过使用邻近运动信息对当前运动信息进行编码和解码的设备和方法。
背景技术
在图像编码和解码中,图像被划分为块,并且通过帧间预测或帧内预测对每个块进行预测编码和预测解码。
帧间预测是一种通过去除图像之间的时间冗余来压缩图像的方法。帧间预测的代表性示例是运动估计编码。运动估计编码通过使用至少一个参考图像来预测当前图像的块。通过使用预设评估函数在预设搜索范围内搜索与当前块最相似的参考块。基于参考块预测当前块,并且从当前块减去作为预测结果而生成的预测块以生成残差块。然后对残差块进行编码。为了更准确地执行预测,对参考图像执行插值以生成比整数像素(pel)单位更小的子pel单位的像素,并且基于子pel单位的像素执行帧间预测。
在诸如H.264高级视频编码(AVC)和高效视频编码(HEVC)的编解码器中,与当前块相邻的先前编码的块或包括在先前编码的图像中的块的运动矢量被用于预测当前块的运动矢量。通过预设方法将作为当前块的运动矢量与先前编码的块的运动矢量之间的差的差分运动矢量用信号发送到解码器侧。
发明内容
技术问题
根据技术目的,根据实施例的一种用于对运动信息进行编码的设备和方法以及用于对运动信息进行解码的设备和方法可通过改变邻近运动信息而以少量比特对当前运动信息进行编码和解码。
问题的解决方案
根据实施例,一种对运动信息进行解码的方法,包括:从比特流获得指示是否改变与当前块相关的邻近块的运动信息的改变信息;当所述改变信息指示改变所述运动信息时,通过改变所述邻近块的预测方向来确定所述当前块的预测方向;当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,通过考虑当前画面与包括在第一参考画面列表中的所述邻近块的第一单向的参考画面之间的距离,从第二参考画面列表选择所述当前块的第二单向的参考画面;通过将差分运动矢量应用于从所述邻近块的第一单向的运动矢量缩放得到的运动矢量来获得所述当前块的第二单向的运动矢量;并且通过使用所述当前块的第二单向的参考画面中的由所述当前块的第二单向的运动矢量指示的参考块来重建所述当前块。
公开的有益效果
根据实施例,一种用于对运动信息进行编码的设备和方法以及用于对运动信息进行解码的设备和方法可通过改变邻近运动信息而以少量比特对当前运动信息进行编码和解码。
应注意,可由根据实施例的用于对运动信息进行编码的设备和方法以及用于对运动信息进行解码的设备和方法实现的效果不限于上述那些效果,并且根据以下描述,未提及的其他效果对于本领域普通技术人员而言将是显而易见的。
附图说明
提供每个附图的简要描述以更好地理解这里引用的附图。
图1是根据实施例的图像解码设备的框图。
图2是根据实施例的图像编码设备的框图。
图3示出根据实施例的通过对当前编码单元进行划分来确定至少一个编码单元的处理。
图4示出根据实施例的通过对非正方形编码单元进行划分来确定至少一个编码单元的处理。
图5示出根据实施例的基于块形状信息和划分形状模式信息中的至少一个对编码单元进行划分的处理。
图6示出根据实施例的从奇数个编码单元中确定预设编码单元的方法。
图7示出根据实施例的当通过对当前编码单元进行划分而确定了多个编码单元时对所述多个编码单元进行处理的顺序。
图8示出根据实施例的当编码单元不能按预设顺序处理时确定当前编码单元将被划分为奇数个编码单元的处理。
图9示出根据实施例的通过对第一编码单元进行划分来确定至少一个编码单元的处理。
图10示出根据实施例的当通过划分第一编码单元而确定的具有非正方形形状的第二编码单元满足预设条件时第二编码单元可被划分为的形状受到限制。
图11示出根据实施例的当划分形状模式信息指示正方形编码单元将不被划分为四个正方形编码单元时对正方形编码单元进行划分的处理。
图12示出根据实施例的可根据对编码单元进行划分的处理来改变多个编码单元之间的处理顺序。
图13示出根据实施例的当编码单元被递归地划分使得多个编码单元被确定时,在编码单元的形状和尺寸改变时确定编码单元的深度的处理。
图14示出根据实施例的可基于编码单元的形状和尺寸确定的深度以及用于将编码单元区分开的部分索引(PID)。
图15示出根据实施例的基于画面中包括的多个预设数据单元来确定多个编码单元。
图16示出根据实施例的当画面具有编码单元可被划分为的形状的不同组合时可针对各个画面确定的编码单元。
图17示出根据实施例的基于用二进制码表示的划分形状模式信息可确定的编码单元的各种形状。
图18示出根据实施例的基于用二进制码表示的划分形状模式信息可确定的编码单元的其他形状。
图19是图像编码和解码***的框图。
图20是示出根据实施例的图像解码设备的配置的框图。
图21是示出在时间上或空间上与当前块相关的邻近块的位置的示例性示图。
图22是表示邻近块的预测方向根据由改变信息指示的值而改变为哪些方向的示例性表格。
图23是表示包括在参考画面列表0和参考画面列表1中的画面的示例性表格。
图24示出邻近块的参考画面、当前画面和当前块的参考画面之间的位置关系。
图25示出邻近块的参考画面、当前画面和当前块的参考画面之间的位置关系。
图26示出在坐标平面上显示的差分运动矢量。
图27是表示与变化距离信息的值对应的变化距离的示例性表格。
图28是表示与变化方向信息的值对应的变化方向的示例性表格。
图29是表示根据由改变信息指示的值和包括在参考画面列表中的画面的数量来选择当前块的参考画面的方法的表格。
图30是用于描述当邻近块的参考画面与当前块的参考画面相同时改变邻近块的运动矢量的方法的示图。
图31是表示根据实施例的对运动信息进行解码的方法的流程图。
图32是表示根据另一实施例的对运动信息进行解码的方法的流程图。
图33是示出根据实施例的图像编码设备的框图。
图34是示出根据实施例的对运动信息进行编码的方法的流程图。
图35是示出根据实施例的获得当前块的运动信息的处理的示图。
图36是示出根据实施例的获得当前块的运动信息的处理的示图。
图37是示出根据实施例的获得当前块的运动信息的处理的示图。
图38是示出根据实施例的获得当前块的运动信息的处理的示图。
最佳模式
根据实施例,一种对运动信息进行解码的方法包括:从比特流获得指示是否改变与当前块相关的邻近块的运动信息的改变信息;当所述改变信息指示改变所述运动信息时,通过改变所述邻近块的预测方向来确定所述当前块的预测方向;当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,通过考虑当前画面与包括在第一参考画面列表中的所述邻近块的第一单向的参考画面之间的距离,从第二参考画面列表选择所述当前块的第二单向的参考画面;通过将差分运动矢量应用于从所述邻近块的第一单向的运动矢量缩放得到的运动矢量来获得所述当前块的第二单向的运动矢量;并且通过使用所述当前块的第二单向的参考画面中的由所述当前块的第二单向的运动矢量指示的参考块来重建所述当前块。
选择所述当前块的第二单向的参考画面的步骤可包括:当包括在第二参考画面列表中的画面的数量大于n(n为自然数),并且所述当前画面与所述邻近块的第一单向的参考画面之间的距离等于所述当前画面与具有索引n且包括在第二参考画面列表中的画面之间的距离时,选择所述具有索引n的画面作为所述当前块的第二单向的参考画面。
选择所述当前块的第二单向的参考画面的步骤可包括:当包括在第二参考画面列表中的画面的数量小于或等于n时,选择具有索引0且包括在第二参考画面列表中的画面作为所述当前块的第二单向的参考画面。
选择所述当前块的第二单向的参考画面的步骤可包括:当所述当前画面与所述邻近块的第一单向的参考画面之间的距离不等于所述当前画面与所述具有索引n的画面之间的距离时,选择具有索引0且包括在第二参考画面列表中的画面作为所述当前块的第二单向的参考画面。
当所述当前块的预测方向为双向时,获得所述当前块的第二单向的运动矢量的步骤可包括:通过将差分运动矢量应用于所述邻近块的第一单向的运动矢量来获得所述当前块的第一单向的运动矢量,并且重建所述当前块的步骤可包括:通过进一步使用所述当前块的第一单向的参考画面中的由所述当前块的第一单向的运动矢量指示的参考块来重建所述当前块。
根据所述当前画面与所述当前块的第一单向的参考画面之间的距离和所述当前画面与所述当前块的第二单向的参考画面之间的距离之间的比较的结果,缩放后的差分运动矢量可被应用于所述邻近块的第一单向的运动矢量或从所述邻近块的第一单向的运动矢量缩放得到的运动矢量。
当所述当前画面的POC具有在所述当前块的第一单向的参考画面的POC与所述当前块的第二单向的参考画面的POC之间的值时,缩放后的差分运动矢量的符号可被确定为与未被缩放的差分运动矢量的符号不同。
所述对运动信息进行解码的方法还可包括:当所述邻近块的预测方向为双向并且所述当前块的预测方向为第一单向时,通过将所述差分运动矢量应用于所述邻近块的第一单向的运动矢量来获得所述当前块的第一单向的运动矢量,并且通过使用所述邻近块的第一单向的参考画面中的由所述当前块的第一单向的运动矢量指示的参考块来重建所述当前块。
当所述改变信息指示不改变所述运动信息时,所述当前块可通过使用所述邻近块的参考画面中的由所述当前块的运动矢量指示的参考块而被重建,其中,所述当前块的运动矢量是通过将所述差分运动矢量应用于所述邻近块的运动矢量而获得的。
根据实施例,一种对运动信息进行解码的设备包括:比特流获得器,被配置为从比特流获得指示是否改变与当前块相关的邻近块的运动信息的改变信息;运动信息获得器,被配置为当所述改变信息指示改变所述运动信息时,通过改变所述邻近块的预测方向来确定所述当前块的预测方向,当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,通过考虑当前画面与包括在第一参考画面列表中的所述邻近块的第一单向的参考画面之间的距离从第二参考画面列表选择所述当前块的第二单向的参考画面,并且通过将差分运动矢量应用于从所述邻近块的第一单向的运动矢量缩放得到的运动矢量来获得所述当前块的第二单向的运动矢量;以及预测解码器,被配置为通过使用所述当前块的第二单向的参考画面中的由所述当前块的第二单向的运动矢量指示的参考块来重建所述当前块。
根据实施例,一种对运动信息进行编码的方法包括:确定是否改变与当前块相关的邻近块的运动信息;并且生成比特流,其中,所述比特流包括指示所述邻近块的信息、指示是否改变运动信息的改变信息和指示差分运动矢量的信息,其中,当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,所述当前块的第二单向的参考画面被选为第二参考画面列表中的与当前画面间隔开所述当前画面与包括在第一参考画面列表中的所述邻近块的第一单向的参考画面之间的距离的画面,并且所述差分运动矢量对应于从所述邻近块的第一单向的运动矢量缩放得到的运动矢量与所述当前块的运动矢量之间的差。
具体实施方式
由于本公开允许各种改变和许多实施例,因此将在附图中示出并在书面描述中详细描述具体实施例。然而,这并不旨在将实施例限制于实践的特定模式,并且应理解,本公开包括不脱离实施例的精神和技术范围的所有改变、等同和替代。
在实施例的描述中,当认为相关技术的特定详细解释可能不必要地使本公开的本质模糊时,省略相关技术的特定详细解释。此外,在说明书的描述中使用的编号(例如,第一、第二等)仅仅是用于将一个组件与另一组件区分开的标识符码。
此外,在本说明书中,将理解,当组件彼此“连接”或“耦接”时,所述组件可彼此直接连接或耦接,但是可以可选择地在所述组件之间具有中间组件的情况下彼此连接或耦接,除非另有说明。
此外,在本说明书中,关于表示为“部分(单元)”或“模块”的组件,可将两个或更多个组件组合为一个组件,或者可根据细分的功能将一个组件划分为两个或更多个组件。此外,在下文中描述的每个组件除了其自身的主要功能之外,还可另外执行由另一组件执行的功能中的一些或全部,并且每个组件的主要功能中的一些可完全由另一组件执行。
此外,在本说明书中,“图像”或“画面”可表示视频的静止图像或者运动画面,即,视频本身。
此外,在本说明书中,“样点”或“信号”表示作为分配给图像的采样位置的数据的将被处理的数据。例如,空间域图像上的像素值和变换域上的变换系数可以是样点。包括这样的至少一个样点的单元可被定义为块。
在下文中,将参照图1至图19公开根据实施例的基于树结构的编码单元和变换单元的图像编码方法和设备以及图像解码方法和设备。
图1是根据实施例的图像解码设备100的框图。
图像解码设备100可包括比特流获得器110和解码器120。比特流获得器110和解码器120可包括至少一个处理器。此外,比特流获得器110和解码器120可包括存储由所述至少一个处理器执行的指令的存储器。
比特流获得器110可接收比特流。比特流可包括由稍后将描述的图像编码设备200进行图像编码而得到的信息。此外,可从图像编码设备200发送比特流。图像解码设备100可通过有线或无线方式被连接到图像编码设备200,并且比特流获得器110可通过有线或无线方式接收比特流。比特流获得器110可从诸如光学介质、硬盘等的存储介质接收比特流。解码器120可基于从接收到的比特流获得的信息重建图像。解码器120可从比特流获得用于重建图像的语法元素。解码器120可基于所述语法元素重建图像。
下面将详细描述图像解码设备100的操作。比特流获得器110可接收比特流。
图像解码设备100可执行从比特流获得与编码单元的划分形状模式对应的二进制位串的操作。然后,图像解码设备100可执行确定编码单元的划分规则的操作。此外,图像解码设备100可执行基于与划分形状模式对应的二进制位串和划分规则中的至少一个来将编码单元划分为多个编码单元的操作。图像解码设备100可根据编码单元的高宽比来确定作为编码单元的可允许尺寸范围的第一范围,以便确定划分规则。图像解码设备100可根据编码单元的划分形状模式来确定作为编码单元的可允许尺寸范围的第二范围,以便确定划分规则。
在下文中,将根据本公开的实施例详细描述编码单元的划分。
首先,一个画面可被划分为一个或更多个条带或者一个或更多个并行块。一个条带或一个并行块可以是一个或更多个最大编码单元(编码树单元(CTU))的序列。根据实施示例,条带可包括一个或更多个并行块,并且条带可包括一个或更多个最大编码单元。可在画面中确定包括一个或更多个并行块的条带。
存在在概念上与最大编码单元(CTU)相比的最大编码块(编码树块(CTB))。最大编码块(CTB)表示包括N×N个样点(其中,N为整数)的N×N的块。每个颜色分量可被划分为一个或更多个最大编码块。
当画面具有三个样点阵列(针对Y分量、Cr分量和Cb分量的样点阵列)时,最大编码单元(CTU)包括亮度样点的最大编码块、色度样点的两个对应最大编码块以及用于对亮度样点和色度样点进行编码的语法结构。当画面为单色画面时,最大编码单元包括单色样点的最大编码块以及用于对单色样点进行编码的语法结构。当画面是在根据颜色分量而分离的颜色平面中编码的画面时,最大编码单元包括用于对画面进行编码的语法结构以及画面的样点。
一个最大编码块(CTB)可被划分为包括M×N个样点(M和N为整数)的M×N的编码块。
当画面具有针对Y分量、Cr分量和Cb分量的样点阵列时,编码单元(CU)包括亮度样点的编码块、色度样点的两个对应编码块以及用于对亮度样点和色度样点进行编码的语法结构。当画面为单色画面时,编码单元包括单色样点的编码块以及用于对单色样点进行编码的语法结构。当画面是在根据颜色分量而分离的颜色平面中编码的画面时,编码单元包括用于对画面进行编码的语法结构以及画面的样点。
如上所述,最大编码块和最大编码单元在概念上彼此区分开,并且编码块和编码单元在概念上彼此区分开。也就是说,(最大)编码单元是指包括包含对应样点的(最大)编码块和与(最大)编码块对应的语法结构的数据结构。然而,因为本领域普通技术人员理解(最大)编码单元或(最大)编码块是指包括预设数量的样点的预设尺寸的块,所以除非另有描述,否则在以下说明书中在不进行区分的情况下提及最大编码块和最大编码单元或者编码块和编码单元。
图像可被划分为最大编码单元(CTU)。可基于从比特流获得的信息来确定每个最大编码单元的尺寸。每个最大编码单元的形状可以是相同尺寸的正方形形状。然而,实施例不限于此。
例如,可从比特流获得关于亮度编码块的最大尺寸的信息。例如,由关于亮度编码块的最大尺寸的信息指示的亮度编码块的最大尺寸可以是4×4、8×8、16×16、32×32、64×64、128×128和256×256中的一个。
例如,可从比特流获得关于亮度块尺寸差和可被一分为二的亮度编码块的最大尺寸的信息。关于亮度块尺寸差的信息可指亮度最大编码单元与可被一分为二的最大亮度编码块之间的尺寸差。因此,当从比特流获得的关于可被一分为二的亮度编码块的最大尺寸的信息和关于亮度块尺寸差的信息被彼此组合时,可确定亮度最大编码单元的尺寸。可通过使用亮度最大编码单元的尺寸来确定色度最大编码单元的尺寸。例如,当Y:Cb:Cr比率根据颜色格式为4:2:0时,色度块的尺寸可以是亮度块的尺寸的一半,并且色度最大编码单元的尺寸可以是亮度最大编码单元的尺寸的一半。
根据实施例,因为关于可二元划分的亮度编码块的最大尺寸的信息是从比特流获得的,所以可以可变地确定可二元划分的亮度编码块的最大尺寸。相反,可三元划分的亮度编码块的最大尺寸可以是固定的。例如,I画面中的可三元划分的亮度编码块的最大尺寸可以是32×32,并且P画面或B画面中的可三元划分的亮度编码块的最大尺寸可以是64×64。
此外,可基于从比特流获得的划分形状模式信息将最大编码单元分层地划分为编码单元。可从比特流获得指示是否执行四元划分的信息、指示是否执行多划分的信息、划分方向信息和划分类型信息中的至少一个作为划分形状模式信息。
例如,指示是否执行四元划分的信息可指示当前编码单元是被四元划分(QUAD_SPLIT)还是不被四元划分。
当当前编码单元不被四元划分时,指示是否执行多划分的信息可指示当前编码单元是不再被划分(NO_SPLIT)还是被二元划分/三元划分。
当当前编码单元被二元划分或三元划分时,划分方向信息指示当前编码单元在水平方向和垂直方向中的一个方向上被划分。
当当前编码单元在水平方向或垂直方向上被划分时,划分类型信息指示当前编码单元被二元划分或三元划分。
可根据划分方向信息和划分类型信息来确定当前编码单元的划分模式。当前编码单元在水平方向上被二元划分时的划分模式可被确定为二元水平划分模式(SPLIT_BT_HOR),当前编码单元在水平方向上被三元划分时的划分模式可被确定为三元水平划分模式(SPLIT_TT_HOR),当前编码单元在垂直方向上被二元划分时的划分模式可被确定为二元垂直划分模式(SPLIT_BT_VER),并且当前编码单元在垂直方向上被三元划分时的划分模式可被确定为三元垂直划分模式(SPLIT_TT_VER)。
图像解码设备100可从比特流获得来自一个二进制位串的划分形状模式信息。由图像解码设备100接收到的比特流的形式可包括固定长度二进制码、一元码、截断一元码、预定二进制码等。二进制位串是二进制数的信息。二进制位串可包括至少一个比特。图像解码设备100可基于划分规则获得与二进制位串对应的划分形状模式信息。图像解码设备100可基于一个二进制位串确定是否对编码单元进行四元划分、是否不对编码单元进行划分、划分方向和划分类型。
编码单元可小于或等于最大编码单元。例如,因为最大编码单元是具有最大尺寸的编码单元,所以最大编码单元是编码单元之一。当关于最大编码单元的划分形状模式信息指示不执行划分时,在最大编码单元中确定的编码单元与该最大编码单元具有相同的尺寸。当关于最大编码单元的划分形状模式信息指示执行划分时,可将最大编码单元划分为编码单元。此外,当关于编码单元的划分形状模式信息指示执行划分时,可将编码单元划分为更小的编码单元。然而,图像的划分不限于此,并且最大编码单元和编码单元可不被区分开。将参照图3至图16详细描述编码单元的划分。
此外,可从编码单元确定用于预测的一个或更多个预测块。预测块可等于或小于编码单元。此外,可从编码单元确定用于变换的一个或更多个变换块。变换块可等于或小于编码单元。
变换块和预测块的形状和尺寸可彼此不相关。
在另一实施例中,可通过将编码单元用作预测单元来执行预测。此外,可通过将编码单元用作变换块来执行变换。
将参照图3至图16详细描述编码单元的划分。本公开的当前块和相邻块可指示最大编码单元、编码单元、预测块和变换块中的一个。此外,当前编码单元的当前块是当前正被解码或编码的块或者当前正被划分的块。相邻块可以是在当前块之前重建的块。相邻块可在空间上或时间上与当前块相邻。相邻块可位于当前块的左下方、左侧、左上方、上方、右上方、右侧、右下方中的一处。
图3示出根据实施例的由图像解码设备100执行的通过对当前编码单元进行划分来确定至少一个编码单元的处理。
块形状可包括4N×4N、4N×2N、2N×4N、4N×N、N×4N、32N×N、N×32N、16N×N、N×16N、8N×N或N×8N。这里,N可以是正整数。块形状信息是指示编码单元的形状、方向、宽高比或尺寸中的至少一个的信息。
编码单元的形状可包括正方形和非正方形。当编码单元的宽度长度和高度长度相同时(即,当编码单元的块形状为4N×4N时),图像解码设备100可将编码单元的块形状信息确定为正方形。图像解码设备100可将编码单元的形状确定为非正方形。
当编码单元的宽度和高度彼此不同时(即,当编码单元的块形状为4N×2N、2N×4N、4N×N、N×4N、32N×N、N×32N、16N×N、N×16N、8N×N或N×8N时),图像解码设备100可将编码单元的块形状信息确定为非正方形形状。当编码单元的形状是非正方形时,图像解码设备100可将编码单元的块形状信息中的宽高比确定为1:2、2:1、1:4、4:1、1:8、8:1、1:16、16:1、1:32和32:1中的至少一个。此外,图像解码设备100可基于编码单元的宽度长度和高度长度来确定编码单元是沿水平方向还是沿垂直方向。此外,图像解码设备100可基于编码单元的宽度长度、高度长度或面积中的至少一个来确定编码单元的尺寸。
根据实施例,图像解码设备100可通过使用块形状信息来确定编码单元的形状,并且可通过使用划分形状模式信息来确定编码单元的划分方法。也就是说,可基于由图像解码设备100使用的块形状信息所指示的块形状来确定由划分形状模式信息指示的编码单元划分方法。
图像解码设备100可从比特流获得划分形状模式信息。然而,实施例不限于此,并且图像解码设备100和图像编码设备200可基于块形状信息确定预先约定的划分形状模式信息。图像解码设备100可确定针对最大编码单元或最小编码单元的预先约定的划分形状模式信息。例如,图像解码设备100可将针对最大编码单元的划分形状模式信息确定为四元划分。此外,图像解码设备100可将关于最小编码单元的划分形状模式信息确定为“不执行划分”。具体地,图像解码设备100可确定最大编码单元的尺寸为256×256。图像解码设备100可将预先约定的划分形状模式信息确定为四元划分。四元划分是编码单元的宽度和高度均被二等分的划分形状模式。图像解码设备100可基于划分形状模式信息从256×256尺寸的最大编码单元获得128×128尺寸的编码单元。此外,图像解码设备100可确定最小编码单元的尺寸为4×4。图像解码设备100可获得针对最小编码单元的指示“不执行划分”的划分形状模式信息。
根据实施例,图像解码设备100可使用指示当前编码单元具有正方形形状的块形状信息。例如,图像解码设备100可基于划分形状模式信息来确定是否不对正方形编码单元进行划分、是否对正方形编码单元进行垂直划分、是否对正方形编码单元进行水平划分、或者是否将正方形编码单元划分为四个编码单元。参照图3,当当前编码单元300的块形状信息指示正方形形状时,解码器120可基于指示不执行划分的划分形状模式信息而不对与当前编码单元300具有相同尺寸的编码单元310a进行划分,或者可确定基于指示预设划分方法的划分形状模式信息而划分出的编码单元310b、310c、310d、310e或310f。
参照图3,根据实施例,图像解码设备100可基于指示在垂直方向上执行划分的划分形状模式信息来确定通过在垂直方向上划分当前编码单元300而获得的两个编码单元310b。图像解码设备100可基于指示在水平方向上执行划分的划分形状模式信息来确定通过在水平方向上划分当前编码单元300而获得的两个编码单元310c。图像解码设备100可基于指示在垂直方向和水平方向上执行划分的划分形状模式信息来确定通过在垂直方向和水平方向上划分当前编码单元300而获得的四个编码单元310d。根据实施例,图像解码设备100可基于指示在垂直方向上执行三元划分的划分形状模式信息来确定通过在垂直方向上划分当前编码单元300而获得的三个编码单元310e。图像解码设备100可基于指示在水平方向上执行三元划分的划分形状模式信息来确定通过在水平方向上划分当前编码单元300而获得的三个编码单元310f。然而,正方形编码单元的划分方法不限于上述方法,并且划分形状模式信息可指示各种方法。下面将关于各种实施例详细描述对正方形编码单元进行划分的预设划分方法。
图4示出根据实施例的由图像解码设备100执行的通过对非正方形编码单元进行划分来确定至少一个编码单元的处理。
根据实施例,图像解码设备100可使用指示当前编码单元具有非正方形形状的块形状信息。图像解码设备100可基于划分形状模式信息来确定是否不对非正方形当前编码单元进行划分或者是否通过使用预设划分方法来对非正方形当前编码单元进行划分。参照图4,当当前编码单元400或450的块形状信息指示非正方形形状时,图像解码设备100可基于指示不执行划分的划分形状模式信息来确定与当前编码单元400或450具有相同的尺寸的编码单元410或460,或者可确定基于指示预设划分方法的划分形状模式信息而划分出的编码单元420a和420b、430a至430c、470a和470b或者480a至480c。下面将关于各种实施例详细描述对非正方形编码单元进行划分的预设划分方法。
根据实施例,图像解码设备100可通过使用划分形状模式信息来确定编码单元的划分方法,并且在这种情况下,划分形状模式信息可指示通过划分编码单元而生成的一个或更多个编码单元的数量。参照图4,当划分形状模式信息指示将当前编码单元400或450划分为两个编码单元时,图像解码设备100可通过基于划分形状模式信息对当前编码单元400或450进行划分来确定当前编码单元400或450中包括的两个编码单元420a和420b或者470a和470b。
根据实施例,当图像解码设备100基于划分形状模式信息来对非正方形当前编码单元400或450进行划分时,图像解码设备100可考虑非正方形当前编码单元400或450的长边的位置以对当前编码单元进行划分。例如,图像解码设备100可考虑当前编码单元400或450的形状,通过在划分当前编码单元400或450的长边的方向上对当前编码单元400或450进行划分来确定多个编码单元。
根据实施例,当划分形状模式信息指示将编码单元划分(三元划分)为奇数个块时,图像解码设备100可确定当前编码单元400或450中包括的奇数个编码单元。例如,当划分形状模式信息指示将当前编码单元400或450划分为三个编码单元时,图像解码设备100可将当前编码单元400或450划分为三个编码单元430a、430b和430c或者480a、480b和480c。
根据实施例,当前编码单元400或450的宽度和高度的比率可以是4:1或1:4。当宽度和高度的比率为4:1时,因为宽度长度长于高度长度,所以块形状信息可以指示水平方向。当宽度和高度的比率为1:4时,因为宽度长度短于高度长度,所以块形状信息可指示垂直方向。图像解码设备100可基于划分形状模式信息来确定将当前编码单元划分为奇数个块。此外,图像解码设备100可基于当前编码单元400或450的块形状信息来确定当前编码单元400或450的划分方向。例如,当当前编码单元400沿垂直方向时,图像解码设备100可通过在水平方向上划分当前编码单元400来确定编码单元430a、430b和430c。此外,当当前编码单元450沿水平方向时,图像解码设备100可通过在垂直方向上划分当前编码单元450来确定编码单元480a、480b和480c。
根据实施例,图像解码设备100可确定当前编码单元400或450中包括的奇数个编码单元,并且不是所有确定的编码单元可具有相同的尺寸。例如,所确定的奇数个编码单元430a、430b和430c或者480a、480b和480c中的预设编码单元430b或480b可具有与其他编码单元430a和430c或者480a和480c的尺寸不同的尺寸。也就是说,可通过划分当前编码单元400或450而确定的编码单元可具有多个尺寸,并且在一些情况下,全部奇数个编码单元430a、430b和430c或者480a、480b和480c可具有不同的尺寸。
根据实施例,当划分形状模式信息指示将编码单元划分为奇数个块时,图像解码设备100可确定当前编码单元400或450中包括的奇数个编码单元,并且此外,可对通过划分当前编码单元400或450而生成的奇数个编码单元中的至少一个编码单元施加预设限制。参照图4,图像解码设备100可将关于编码单元430b或480b的解码处理设置为与其他编码单元430a和430c或者480a和480c的解码处理不同,其中,编码单元430b或480b位于对当前编码单元400或450进行划分而生成的三个编码单元430a、430b和430c或者480a、480b和480c中的中心。例如,与其他编码单元430a和430c或者480a和480c不同,图像解码设备100可限制中心位置处的编码单元430b或480b不再被划分或仅被划分预设次数。
图5示出根据实施例的由图像解码设备100执行的基于块形状信息或划分形状模式信息中的至少一个对编码单元进行划分的处理。
根据实施例,图像解码设备100可基于块形状信息和划分形状模式信息中的至少一个,确定将正方形的第一编码单元500划分为编码单元或不对正方形的第一编码单元500进行划分。根据实施例,当划分形状模式信息指示在水平方向上划分第一编码单元500时,图像解码设备100可通过在水平方向上划分第一编码单元500来确定第二编码单元510。根据实施例使用的第一编码单元、第二编码单元和第三编码单元是用于理解在划分编码单元之前和在划分编码单元之后的关系的术语。例如,可通过划分第一编码单元来确定第二编码单元,并且可通过划分第二编码单元来确定第三编码单元。将理解,第一编码单元、第二编码单元和第三编码单元的关系遵循以上描述。
根据实施例,图像解码设备100可基于划分形状模式信息确定将所确定的第二编码单元510划分为编码单元或不对所确定的第二编码单元510进行划分。参照图5,图像解码设备100可基于划分形状模式信息和划分形状模式信息中的至少一个将通过划分第一编码单元500而确定的非正方形的第二编码单元510划分为一个或更多个第三编码单元520a、520b、520c和520d,或者可不对非正方形的第二编码单元510进行划分。图像解码设备100可获得划分形状模式信息,并且可基于获得的划分形状模式信息通过划分第一编码单元500来获得多个各种形状的第二编码单元(例如,510),并且可基于划分形状模式信息通过使用第一编码单元500的划分方法来划分第二编码单元510。根据实施例,当基于第一编码单元500的划分形状模式信息将第一编码单元500划分为第二编码单元510时,也可基于第二编码单元510的划分形状模式信息将第二编码单元510划分为第三编码单元(例如,520a、或者520b、520c和520d)。也就是说,可基于每个编码单元的划分形状模式信息来递归地划分编码单元。因此,可通过划分非正方形编码单元来确定正方形编码单元,并且可通过递归地划分正方形编码单元来确定非正方形编码单元。
参照图5,可递归地划分通过划分非正方形的第二编码单元510而确定的奇数个第三编码单元520b、520c和520d中的预设编码单元(例如,位于中心位置的编码单元或正方形编码单元)。根据实施例,奇数个第三编码单元520b、520c和520d中的非正方形的第三编码单元520b可在水平方向上被划分为多个第四编码单元。多个第四编码单元530a、530b、530c和530d中的非正方形的第四编码单元530b或530d可再次被划分为多个编码单元。例如,非正方形的第四编码单元530b或530d可再次被划分为奇数个编码单元。下面将关于各种实施例描述可用于递归地划分编码单元的方法。
根据实施例,图像解码设备100可基于划分形状模式信息将第三编码单元520a、或者520b、520c和520d中的每一个划分为编码单元。此外,图像解码设备100可基于划分形状模式信息确定不对第二编码单元510进行划分。根据实施例,图像解码设备100可将非正方形的第二编码单元510划分为奇数个第三编码单元520b、520c和520d。图像解码设备100可对奇数个第三编码单元520b、520c和520d中的预设第三编码单元施加预设限制。例如,图像解码设备100可限制奇数个第三编码单元520b、520c和520d中的中心位置处的第三编码单元520c不再被划分或被划分可设置的次数。
参照图5,图像解码设备100可将非正方形的第二编码单元510中所包括的奇数个第三编码单元520b、520c和520d中的中心位置处的第三编码单元520c限制为不再被划分、限制为通过使用预设划分方法被划分(例如,仅被划分为四个编码单元或通过使用第二编码单元510的划分方法被划分)或者限制为仅被划分预设次数(例如,仅被划分n次(其中,n>0))。然而,对中心位置处的第三编码单元520c的限制不限于上述示例,并且可包括用于与其他第三编码单元520b和520d不同地对中心位置处的第三编码单元520c进行解码的各种限制。
根据实施例,图像解码设备100可从当前编码单元中的预设位置获得用于对当前编码单元进行划分的划分形状模式信息。
图6示出根据实施例的由图像解码设备100执行的从奇数个编码单元中确定预设编码单元的方法。
参照图6,可从当前编码单元600或650中包括的多个样点中的预设位置的样点(例如,中心位置的样点640或690)获得当前编码单元600或650的划分形状模式信息。然而,当前编码单元600中的可获得划分形状模式信息中的至少一条的预设位置不限于图6中的中心位置,并且可包括当前编码单元600中包括的各种位置(例如,上方、下方、左侧、右侧、左上方、左下方、右上方、右下方位置等)。图像解码设备100可从预设位置获得划分形状模式信息,并且可确定将当前编码单元划分为各种形状和各种尺寸的编码单元或者不对当前编码单元进行划分。
根据实施例,在当前编码单元被划分为预设数量的编码单元时,图像解码设备100可选择编码单元中的一个编码单元。如下面将关于各种实施例描述的,各种方法可被用于选择多个编码单元中的一个编码单元。
根据实施例,图像解码设备100可将当前编码单元划分为多个编码单元,并且可确定预设位置处的编码单元。
根据实施例,图像解码设备100可使用指示奇数个编码单元的位置的信息来确定奇数个编码单元中的中心位置处的编码单元。参照图6,图像解码设备100可通过划分当前编码单元600或当前编码单元650来确定奇数个编码单元620a、620b和620c或奇数个编码单元660a、660b和660c。图像解码设备100可通过使用关于奇数个编码单元620a、620b和620c或奇数个编码单元660a、660b和660c的位置的信息来确定中间编码单元620b或中间编码单元660b。例如,图像解码设备100可通过基于指示编码单元620a、620b和620c中包括的预设样点的位置的信息确定编码单元620a、620b和620c的位置来确定中心位置的编码单元620b。详细地,图像解码设备100可通过基于指示编码单元620a、620b和620c的左上样点630a、630b和630c的位置的信息确定编码单元620a、620b和620c的位置来确定中心位置处的编码单元620b。
根据实施例,指示分别包括在编码单元620a、620b和620c中的左上样点630a、630b和630c的位置的信息可包括关于编码单元620a、620b和620c在画面中的位置或坐标的信息。根据实施例,指示分别包括在编码单元620a、620b和620c中的左上样点630a、630b和630c的位置的信息可包括指示当前编码单元600中包括的编码单元620a、620b和620c的宽度或高度的信息,并且所述宽度或高度可与指示编码单元620a、620b和620c在画面中的坐标之间的差的信息对应。也就是说,图像解码设备100可通过直接使用关于编码单元620a、620b和620c在画面中的位置或坐标的信息或者通过使用关于编码单元的与坐标之间的差值对应的宽度或高度的信息来确定中心位置处的编码单元620b。
根据实施例,指示上方编码单元620a的左上样点630a的位置的信息可包括坐标(xa,ya),指示中心编码单元620b的左上样点630b的位置的信息可包括坐标(xb,yb),并且指示下方编码单元620c的左上样点630c的位置的信息可包括坐标(xc,yc)。图像解码设备100可通过使用分别包括在编码单元620a、620b和620c中的左上样点630a、630b和630c的坐标来确定中间编码单元620b。例如,当左上样点630a、630b和630c的坐标按照升序或降序被排序时,可将包括中心位置处的样点630b的坐标(xb,yb)的编码单元620b确定为通过划分当前编码单元600而确定的编码单元620a、620b和620c中的中心位置处的编码单元。然而,指示左上样点630a、630b和630c的位置的坐标可包括指示画面中的绝对位置的坐标,或者可使用指示中间编码单元620b的左上样点630b相对于上方编码单元620a的左上样点630a的位置的相对位置的坐标(dxb,dyb)和指示下方编码单元620c的左上样点630c相对于上方编码单元620a的左上样点630a的位置的相对位置的坐标(dxc,dyc)。通过将包括在编码单元中的样点的坐标用作指示样点的位置的信息来确定预设位置处的编码单元的方法不限于上述方法,并且可包括能够使用样点的坐标的各种算术方法。
根据实施例,图像解码设备100可将当前编码单元600划分为多个编码单元620a、620b和620c,并且可基于预设标准选择编码单元620a、620b和620c中的一个编码单元。例如,图像解码设备100可从编码单元620a、620b和620c中选择尺寸与其他编码单元的尺寸不同的编码单元620b。
根据实施例,图像解码设备100可通过使用作为指示上方编码单元620a的左上样点630a的位置的信息的坐标(xa,ya)、作为指示中间编码单元620b的左上样点630b的位置的信息的坐标(xb,yb)以及作为指示下方编码单元620c的左上样点630c的位置的信息的坐标(xc,yc)来确定编码单元620a、620b和620c中的每一个的宽度或高度。图像解码设备100可通过使用指示编码单元620a、620b和620c的位置的坐标(xa,ya)、(xb,yb)和(xc,yc)来确定编码单元620a、620b和620c各自的尺寸。根据实施例,图像解码设备100可将上方编码单元620a的宽度确定为当前编码单元600的宽度。图像解码设备100可将上方编码单元620a的高度确定为yb-ya。根据实施例,图像解码设备100可将中间编码单元620b的宽度确定为当前编码单元600的宽度。图像解码设备100可将中间编码单元620b的高度确定为yc-yb。根据实施例,图像解码设备100可通过使用当前编码单元600的宽度或高度或者上方编码单元620a和中间编码单元620b的宽度或高度来确定下方编码单元620c的宽度或高度。图像解码设备100可基于所确定的编码单元620a、620b和620c的宽度和高度来确定具有与其他编码单元的尺寸不同的尺寸的编码单元。参照图6,图像解码设备100可将具有与上方编码单元620a和下方编码单元620c的尺寸不同的尺寸的中间编码单元620b确定为预设位置的编码单元。然而,由图像解码设备100执行的确定具有与其他编码单元的尺寸不同的尺寸的编码单元的上述方法仅与通过使用基于样点的坐标确定的编码单元的尺寸来确定预设位置处的编码单元的示例对应,并且因此,可使用通过对基于预设样点的坐标确定的编码单元的尺寸进行比较来确定预设位置处的编码单元的各种方法。
图像解码设备100可通过使用作为指示左侧编码单元660a的左上样点670a的位置的信息的坐标(xd,yd)、作为指示中间编码单元660b的左上样点670b的位置的信息的坐标(xe,ye)以及作为指示右侧编码单元660c的左上样点670c的位置的信息的坐标(xf,yf)来确定编码单元660a、660b和660c中的每一个的宽度或高度。图像解码设备100可通过使用指示编码单元660a、660b和660c的位置的坐标(xd,yd)、(xe,ye)和(xf,yf)来确定编码单元660a、660b和660c各自的尺寸。
根据实施例,图像解码设备100可将左侧编码单元660a的宽度确定为xe-xd。图像解码设备100可将左侧编码单元660a的高度确定为当前编码单元650的高度。根据实施例,图像解码设备100可将中间编码单元660b的宽度确定为xf-xe。图像解码设备100可将中间编码单元660b的高度确定为当前编码单元650的高度。根据实施例,图像解码设备100可通过使用当前编码单元650的宽度或高度或者左侧编码单元660a和中间编码单元660b的宽度或高度来确定右侧编码单元660c的宽度或高度。图像解码设备100可基于所确定的编码单元660a、660b和660c的宽度和高度来确定尺寸与其他编码单元的尺寸不同的编码单元。参照图6,图像解码设备100可将尺寸与左侧编码单元660a和右侧编码单元660c的尺寸不同的中间编码单元660b确定为预设位置的编码单元。然而,由图像解码设备100执行的确定尺寸与其他编码单元的尺寸不同的编码单元的上述方法仅与通过使用基于样点的坐标确定的编码单元的尺寸来确定预设位置处的编码单元的示例对应,并且因此,可使用通过对基于预设样点的坐标确定的编码单元的尺寸进行比较来确定预设位置处的编码单元的各种方法。
然而,确定编码单元的位置所考虑的样点的位置不限于上述左上位置,并且可使用关于包括在编码单元中的样点的任意位置的信息。
根据实施例,图像解码设备100可考虑当前编码单元的形状,从通过划分当前编码单元确定的奇数个编码单元中选择预设位置处的编码单元。例如,在当前编码单元具有宽度长于高度的非正方形形状时,图像解码设备100可确定沿水平方向的预设位置处的编码单元。也就是说,图像解码设备100可确定沿水平方向的不同位置处的编码单元中的一个编码单元并且可对该编码单元施加限制。在当前编码单元具有高度长于宽度的非正方形形状时,图像解码设备100可确定沿垂直方向的预设位置处的编码单元。也就是说,图像解码设备100可确定沿垂直方向的不同位置处的编码单元中的一个编码单元,并且可对该编码单元施加限制。
根据实施例,图像解码设备100可使用指示偶数个编码单元的各个位置的信息,以确定偶数个编码单元中的预设位置处的编码单元。图像解码设备100可通过划分(二元划分)当前编码单元来确定偶数个编码单元,并且可通过使用关于偶数个编码单元的位置的信息来确定预设位置处的编码单元。与其相关的操作可与已经在上面关于图6详细描述的确定奇数个编码单元中的预设位置(例如,中心位置)处的编码单元的操作对应,因此这里不提供其详细描述。
根据实施例,当非正方形的当前编码单元被划分为多个编码单元时,可在划分操作中使用关于预设位置处的编码单元的预设信息来确定多个编码单元中的预设位置处的编码单元。例如,图像解码设备100可在划分操作中使用中间编码单元中包括的样点中所存储的块形状信息和划分形状模式信息中的至少一个来确定通过划分当前编码单元所确定的多个编码单元中的中心位置处的编码单元。
参照图6,图像解码设备100可基于划分形状模式信息将当前编码单元600划分为多个编码单元620a、620b和620c,并且可确定多个编码单元620a、620b和620c中的中心位置处的编码单元620b。此外,图像解码设备100可考虑获得划分形状模式信息的位置来确定中心位置处的编码单元620b。也就是说,可从当前编码单元600的中心位置处的样点640获得当前编码单元600的划分形状模式信息,并且当基于划分形状模式信息将当前编码单元600划分为多个编码单元620a、620b和620c时,可将包括样点640的编码单元620b确定为中心位置处的编码单元。然而,用于确定中心位置处的编码单元的信息不限于划分形状模式信息,并且可使用各种类型的信息确定中心位置处的编码单元。
根据实施例,可从包括在将被确定的编码单元中的预设样点获得用于标识预设位置处的编码单元的预设信息。参照图6,图像解码设备100可使用从当前编码单元600中的预设位置处的样点(例如,当前编码单元600的中心位置处的样点)获得的划分形状模式信息来确定通过划分当前编码单元600而确定的多个编码单元620a、620b和620c中的预设位置处的编码单元(例如,划分出的多个编码单元中的中心位置处的编码单元)。也就是说,图像解码设备100可通过考虑当前编码单元600的块形状来确定预设位置处的样点,可从通过划分当前编码单元600确定的多个编码单元620a、620b和620c中确定包括可获得预设信息(例如,划分形状模式信息)的样点的编码单元620b,并且可对编码单元620b施加预设限制。参照图6,根据实施例,在解码操作中,图像解码设备100可将当前编码单元600的中心位置处的样点640确定为可获得预设信息的样点,并且可对包括样点640的编码单元620b施加预设限制。然而,可获得预设信息的样点的位置不限于上述位置,并且可包括将被确定为进行限制的编码单元620b中所包括的样点的任意位置。
根据实施例,可基于当前编码单元600的形状确定可获得预设信息的样点的位置。根据实施例,块形状信息可指示当前编码单元是具有正方形形状还是具有非正方形形状,并且可基于该形状确定可获得预设信息的样点的位置。例如,图像解码设备100可通过使用关于当前编码单元的宽度的信息和关于当前编码单元的高度的信息中的至少一个,将位于用于将当前编码单元的宽度和高度中的至少一个对半划分的边界上的样点确定为可获得预设信息的样点。作为另一示例,当当前编码单元的块形状信息指示非正方形形状时,图像解码设备100可将与用于将当前编码单元的长边对半划分的边界相邻的样点中的一个样点确定为可获得预设信息的样点。
根据实施例,在当前编码单元被划分为多个编码单元时,图像解码设备100可使用划分形状模式信息来确定多个编码单元中的预设位置处的编码单元。根据实施例,图像解码设备100可从编码单元中的预设位置处的样点获得划分形状模式信息,并且可通过使用划分形状模式信息对通过划分当前编码单元生成的多个编码单元进行划分,其中,所述划分形状模式信息是从所述多个编码单元中的每个编码单元中的预设位置处的样点获得的。也就是说,可基于划分形状模式信息递归地划分编码单元,其中,所述划分形状模式信息是从每个编码单元中的预设位置处的样点获得的。上面已经关于图5描述了递归地划分编码单元的操作,因此这里将不提供其详细描述。
根据实施例,图像解码设备100可通过划分当前编码单元确定一个或更多个编码单元,并且可基于预设块(例如,当前编码单元)确定对所述一个或更多个编码单元进行解码的顺序。
图7示出根据实施例的当图像解码设备100通过划分当前编码单元确定多个编码单元时对所述多个编码单元进行处理的顺序。
根据实施例,基于划分形状模式信息,图像解码设备100可通过在垂直方向上划分第一编码单元700来确定第二编码单元710a和710b,可通过在水平方向上划分第一编码单元700来确定第二编码单元730a和730b,或者可通过在垂直方向和水平方向上划分第一编码单元700来确定第二编码单元750a、750b、750c和750d。
参照图7,图像解码设备100可确定按照水平方向顺序710c对通过在垂直方向上划分第一编码单元700而确定的第二编码单元710a和710b进行处理。图像解码设备100可确定按照垂直方向顺序730c对通过在水平方向上划分第一编码单元700而确定的第二编码单元730a和730b进行处理。图像解码设备100可根据预设顺序(例如,光栅扫描顺序或Z字形扫描顺序750e)确定通过在垂直方向和水平方向上划分第一编码单元700而确定的第二编码单元750a、750b、750c和750d,其中,根据所述预设顺序对一行中的编码单元进行处理然后对下一行中的编码单元进行处理。
根据实施例,图像解码设备100可递归地划分编码单元。参照图7,图像解码设备100可通过划分第一编码单元700来确定多个编码单元710a和710b、730a和730b、或者750a、750b、750c和750d,并且可递归地划分所确定的多个编码单元710a、710b、730a、730b、750a、750b、750c和750d中的每一个。多个编码单元710a和710b、730a和730b、或者750a、750b、750c和750d的划分方法可对应于第一编码单元700的划分方法。因此,多个编码单元710a和710b、730a和730b、或者750a、750b、750c和750d中的每一个可被独立地划分为多个编码单元。参照图7,图像解码设备100可通过在垂直方向上划分第一编码单元700来确定第二编码单元710a和710b,并且可确定独立地划分或者不划分第二编码单元710a和710b中的每一个。
根据实施例,图像解码设备100可通过在水平方向上对左侧第二编码单元710a进行划分来确定第三编码单元720a和720b,并且可不对右侧第二编码单元710b进行划分。
根据实施例,可基于划分编码单元的操作来确定编码单元的处理顺序。换言之,可基于紧接在被划分之前的编码单元的处理顺序来确定划分后的编码单元的处理顺序。图像解码设备100可独立于右侧第二编码单元710b来确定通过划分左侧第二编码单元710a而确定的第三编码单元720a和720b的处理顺序。因为通过在水平方向上划分左侧第二编码单元710a来确定第三编码单元720a和720b,所以可按照垂直方向顺序720c对第三编码单元720a和720b进行处理。因为左侧第二编码单元710a和右侧第二编码单元710b按照水平方向顺序710c被处理,所以可在按照垂直方向顺序720c对左侧第二编码单元710a中包括的第三编码单元720a和720b进行处理之后对右侧第二编码单元710b进行处理。基于划分之前的编码单元来确定编码单元的处理顺序的操作不限于上述示例,并且可使用各种方法按照预设顺序独立地处理被划分并被确定为各种形状的编码单元。
图8示出根据实施例的当编码单元不能按照预设顺序进行处理时,由图像解码设备100执行的确定当前编码单元将被划分为奇数个编码单元的处理。
根据实施例,图像解码设备100可基于获得的划分形状模式信息确定当前编码单元将被划分为奇数个编码单元。参照图8,正方形的第一编码单元800可被划分为非正方形的第二编码单元810a和810b,第二编码单元810a和810b可被独立地划分为第三编码单元820a和820b以及820c、820d和820e。根据实施例,图像解码设备100可通过在水平方向上划分左侧第二编码单元810a来确定多个第三编码单元820a和820b,并且可将右侧第二编码单元810b划分为奇数个第三编码单元820c、820d和820e。
根据实施例,图像解码设备100可通过确定第三编码单元820a和820b以及820c、820d和820e是否能够按照预设顺序进行处理来确定任意编码单元是否被划分为奇数个编码单元。参照图8,图像解码设备100可通过递归地划分第一编码单元800来确定第三编码单元820a和820b以及820c、820d和820e。图像解码设备100可基于块形状信息和划分形状模式信息中的至少一个确定以下编码单元中的任意一个是否被划分为奇数个编码单元:第一编码单元800、第二编码单元810a和810b、或者第三编码单元820a和820b及820c、820d和820e。例如,第二编码单元810a和810b中的位于右侧的编码单元可被划分为奇数个第三编码单元820c、820d和820e。第一编码单元800中包括的多个编码单元的处理顺序可以是预设顺序(例如,Z字形扫描顺序830),图像解码设备100可确定通过将右侧第二编码单元810b划分为奇数个编码单元所确定的第三编码单元820c、820d和820e是否满足用于按照预设顺序进行处理的条件。
根据实施例,图像解码设备100可确定第一编码单元800中包括的第三编码单元820a和820b以及820c、820d和820e是否满足用于按照预设顺序进行处理的条件,并且该条件与第二编码单元810a和810b的宽度或高度中的至少一个是否将沿着第三编码单元820a和820b以及820c、820d和820e的边界被对半划分有关。例如,当非正方形形状的左侧第二编码单元810a的高度被对半划分时所确定的第三编码单元820a和820b可满足所述条件。因为当将右侧第二编码单元810b划分为三个编码单元时所确定的第三编码单元820c、820d和820e的边界未能将右侧第二编码单元810b的宽度或高度对半划分,所以可确定第三编码单元820c、820d和820e不满足所述条件。当如上所述不满足所述条件时,图像解码设备100可确定扫描顺序不连续,并且可基于确定结果确定右侧第二编码单元810b将被划分为奇数个编码单元。根据实施例,当编码单元被划分为奇数个编码单元时,图像解码设备100可对划分出的编码单元中的预设位置处的编码单元施加预设限制。上面已经关于各种实施例描述了所述限制或所述预设位置,因此这里将不提供其详细描述。
图9示出根据实施例的由图像解码设备100执行的通过对第一编码单元900进行划分来确定至少一个编码单元的处理。
根据实施例,图像解码设备100可基于通过比特流获得器110获得的划分形状模式信息对第一编码单元900进行划分。正方形的第一编码单元900可被划分为四个正方形编码单元,或者可被划分为多个非正方形编码单元。例如,参照图9,当第一编码单元900具有正方形形状并且划分形状模式信息指示将第一编码单元900划分为非正方形编码单元时,图像解码设备100可将第一编码单元900划分为多个非正方形编码单元。详细地,当划分形状模式信息指示通过在水平方向或垂直方向上划分第一编码单元900来确定奇数个编码单元时,图像解码设备100可将正方形的第一编码单元900划分为奇数个编码单元(例如,通过在垂直方向上划分正方形的第一编码单元900而确定的第二编码单元910a、910b和910c,或者通过在水平方向上划分正方形的第一编码单元900而确定的第二编码单元920a、920b和920c)。
根据实施例,图像解码设备100可确定包括在第一编码单元900中的第二编码单元910a、910b、910c、920a、920b和920c是否满足用于按照预设顺序进行处理的条件,并且该条件与第一编码单元900的宽度和高度中的至少一个是否将沿着第二编码单元910a、910b、910c、920a、920b和920c的边界被对半划分有关。参照图9,因为通过在垂直方向上划分正方形的第一编码单元900所确定的第二编码单元910a、910b和910c的边界未将第一编码单元900的宽度对半划分,所以可确定第一编码单元900不满足用于按照预设顺序进行处理的条件。此外,因为通过在水平方向上划分正方形的第一编码单元900所确定的第二编码单元920a、920b和920c的边界未将第一编码单元900的高度对半划分,所以可确定第一编码单元900不满足用于按照预设顺序进行处理的条件。当如上所述不满足所述条件时,图像解码设备100可确定扫描顺序不连续,并且可基于确定结果确定第一编码单元900将被划分为奇数个编码单元。根据实施例,当编码单元被划分为奇数个编码单元时,图像解码设备100可对划分出的编码单元中的预设位置处的编码单元施加预设限制。上面已经关于各种实施例描述了所述限制或所述预设位置,因此这里将不提供其详细描述。
根据实施例,图像解码设备100可通过划分第一编码单元来确定各种形状的编码单元。
参照图9,图像解码设备100可将正方形的第一编码单元900或非正方形的第一编码单元930或950划分为各种形状的编码单元。
图10示出根据实施例的当图像解码设备100对第一编码单元1000进行划分而确定的具有非正方形形状的第二编码单元满足预设条件时第二编码单元可被划分为的形状受到限制。
根据实施例,图像解码设备100可基于由比特流获得器110获得的划分形状模式信息确定将正方形的第一编码单元1000划分为非正方形的第二编码单元1010a和1010b、或者1020a和1020b。第二编码单元1010a和1010b、或者1020a和1020b可被独立地划分。如此,图像解码设备100可基于第二编码单元1010a和1010b、或者1020a和1020b中的每一个的划分形状模式信息,确定将第二编码单元1010a和1010b、或者1020a和1020b中的每一个划分为多个编码单元或者不对第二编码单元1010a和1010b、或者1020a和1020b中的每一个进行划分。根据实施例,图像解码设备100可通过在水平方向上对通过在垂直方向上划分第一编码单元1000而确定的非正方形的左侧第二编码单元1010a进行划分,来确定第三编码单元1012a和1012b。然而,当左侧第二编码单元1010a在水平方向上被划分时,图像解码设备100可将右侧第二编码单元1010b限制为不在左侧第二编码单元1010a被划分的水平方向上被划分。当通过在同一方向上划分右侧第二编码单元1010b来确定第三编码单元1014a和1014b时,因为左侧第二编码单元1010a和右侧第二编码单元1010b在水平方向上被独立地划分,所以可确定第三编码单元1012a和1012b、或者1014a和1014b。然而,这种情况与图像解码设备100基于划分形状模式信息将第一编码单元1000划分为四个正方形的第二编码单元1030a、1030b、1030c和1030d的情况作用相同,并且在图像解码方面可能是低效的。
根据实施例,图像解码设备100可通过在垂直方向上对通过在水平方向上划分第一编码单元1000而确定的非正方形的第二编码单元1020a或1020b进行划分,来确定第三编码单元1022a和1022b、或者1024a和1024b。然而,当第二编码单元(例如,上方第二编码单元1020a)在垂直方向上被划分时,出于上述原因,图像解码设备100可将另一第二编码单元(例如,下方第二编码单元1020b)限制为不在上方第二编码单元1020a被划分的垂直方向上被划分。
图11示出根据实施例的当划分形状模式信息指示正方形编码单元将不被划分为四个正方形编码单元时由图像解码设备100执行的对正方形编码单元进行划分的处理。
根据实施例,图像解码设备100可通过基于划分形状模式信息划分第一编码单元1100来确定第二编码单元1110a和1110b、或者1120a和1120b等。划分形状模式信息可包括关于划分编码单元的各种方法的信息,但是关于各种划分方法的信息可不包括用于将编码单元划分为四个正方形编码单元的信息。根据这样的划分形状模式信息,图像解码设备100可不将正方形的第一编码单元1100划分为四个正方形编码单元1130a、1130b、1130c和1130d。图像解码设备100可基于划分形状模式信息确定非正方形的第二编码单元1110a和1110b、或者1120a和1120b等。
根据实施例,图像解码设备100可独立地划分非正方形的第二编码单元1110a和1110b、或者1120a和1120b等。第二编码单元1110a和1110b、或者1120a和1120b等中的每一个可按照预设顺序被递归地划分,并且该划分方法可与基于划分形状模式信息来划分第一编码单元1100的方法对应。
例如,图像解码设备100可通过在水平方向上划分左侧第二编码单元1110a来确定正方形的第三编码单元1112a和1112b,并且可通过在水平方向上划分右侧第二编码单元1110b来确定正方形的第三编码单元1114a和1114b。此外,图像解码设备100可通过在水平方向上划分左侧第二编码单元1110a和右侧第二编码单元1110b两者来确定正方形的第三编码单元1116a、1116b、1116c和1116d。在这种情况下,可确定与从第一编码单元1100划分出的四个正方形的第二编码单元1130a、1130b、1130c和1130d具有相同形状的编码单元。
作为另一示例,图像解码设备100可通过在垂直方向上划分上方第二编码单元1120a来确定正方形的第三编码单元1122a和1122b,并且可通过在垂直方向上划分下方第二编码单元1120b来确定正方形的第三编码单元1124a和1124b。此外,图像解码设备100可通过在垂直方向上划分上方第二编码单元1120a和下方第二编码单元1120b两者来确定正方形的第三编码单元1126a、1126b、1126c和1126d。在这种情况下,可确定与从第一编码单元1100划分出的四个正方形的第二编码单元1130a、1130b、1130c和1130d具有相同形状的编码单元。
图12示出根据实施例的多个编码单元之间的处理顺序可根据对编码单元进行划分的处理而改变。
根据实施例,图像解码设备100可基于划分形状模式信息来划分第一编码单元1200。当块形状指示正方形形状并且划分形状模式信息指示在水平方向和垂直方向中的至少一个方向上划分第一编码单元1200时,图像解码设备100可通过划分第一编码单元1200来确定第二编码单元1210a和1210b、或者1220a和1220b等。参照图12,通过仅在水平方向或垂直方向上划分第一编码单元1200而确定的非正方形的第二编码单元1210a和1210b、或者1220a和1220b可基于每个编码单元的划分形状模式信息被独立地划分。例如,图像解码设备100可通过在水平方向上对通过在垂直方向上划分第一编码单元1200而生成的第二编码单元1210a和1210b进行划分来确定第三编码单元1216a、1216b、1216c和1216d,并且可通过在垂直方向上对通过在水平方向上划分第一编码单元1200而生成的第二编码单元1220a和1220b进行划分来确定第三编码单元1226a、1226b、1226c和1226d。上面已经关于图11描述了划分第二编码单元1210a和1210b、或者1220a和1220b的操作,因此这里将不提供其详细描述。
根据实施例,图像解码设备100可按照预设顺序处理编码单元。上面已经关于图7描述了按照预设顺序处理编码单元的操作,因此这里将不提供其详细描述。参照图12,图像解码设备100可通过划分正方形的第一编码单元1200来确定四个正方形的第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d。根据实施例,图像解码设备100可基于划分第一编码单元1200的划分形状来确定第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d的处理顺序。
根据实施例,图像解码设备100可通过在水平方向上对通过在垂直方向上划分第一编码单元1200而生成的第二编码单元1210a和1210b进行划分来确定第三编码单元1216a、1216b、1216c和1216d,并且可按照如下处理顺序1217处理第三编码单元1216a、1216b、1216c和1216d:首先在垂直方向上处理左侧第二编码单元1210a中包括的第三编码单元1216a和1216c,然后在垂直方向上处理右侧第二编码单元1210b中包括的第三编码单元1216b和1216d。
根据实施例,图像解码设备100可通过在垂直方向上对通过在水平方向上划分第一编码单元1200而生成的第二编码单元1220a和1220b进行划分来确定第三编码单元1226a、1226b、1226c和1226d,并且可按照如下处理顺序1227处理第三编码单元1226a、1226b、1226c和1226d:首先在水平方向上处理上方第二编码单元1220a中包括的第三编码单元1226a和1226b,然后在水平方向上处理下方第二编码单元1220b中包括的第三编码单元1226c和1226d。
参照图12,可通过分别划分第二编码单元1210a和1210b、以及1220a和1220b来确定正方形的第三编码单元1216a、1216b、1216c和1216d以及1226a、1226b、1226c和1226d。尽管通过在垂直方向上划分第一编码单元1200而确定的第二编码单元1210a和1210b与通过在水平方向上划分第一编码单元1200而确定的第二编码单元1220a和1220b不同,但是从第二编码单元1210a和1210b以及第二编码单元1220a和1220b划分出的第三编码单元1216a、1216b、1216c和1216d以及第三编码单元1226a、1226b、1226c和1226d最终示出从第一编码单元1200划分出的相同形状的编码单元。如此,通过基于划分形状模式信息以不同的方式递归地划分编码单元,即使最终将编码单元确定为相同的形状,图像解码设备100也可按照不同顺序对多个编码单元进行处理。
图13示出根据实施例的当编码单元被递归划分从而确定多个编码单元时在编码单元的形状和尺寸改变时确定编码单元的深度的处理。
根据实施例,图像解码设备100可基于预设标准确定编码单元的深度。例如,所述预设标准可以是编码单元的长边的长度。当被划分之前的编码单元的长边的长度是划分后的当前编码单元的长边的长度的2n(n>0)倍时,图像解码设备100可确定当前编码单元的深度比划分之前的编码单元的深度增大n。在下面的描述中,具有增大的深度的编码单元被表示为更低深度的编码单元。
参照图13,根据实施例,图像解码设备100可通过基于指示正方形形状的块形状信息(例如,块形状信息可被表示为“0:SQUARE”)划分正方形的第一编码单元1300来确定更低深度的第二编码单元1302和第三编码单元1304。假设正方形的第一编码单元1300的尺寸是2N×2N,通过将第一编码单元1300的宽度和高度划分为1/2而确定的第二编码单元1302可具有N×N的尺寸。此外,通过将第二编码单元1302的宽度和高度划分为1/2而确定的第三编码单元1304可具有N/2×N/2的尺寸。在这种情况下,第三编码单元1304的宽度和高度是第一编码单元1300的宽度和高度的1/4。当第一编码单元1300的深度为D时,宽度和高度是第一编码单元1300的宽度和高度的1/2的第二编码单元1302的深度可以是D+1,并且宽度和高度是第一编码单元1300的宽度和高度的1/4的第三编码单元1304的深度可以是D+2。
根据实施例,图像解码设备100可通过基于指示非正方形形状的块形状信息(例如,块形状信息可被表示为指示高度长于宽度的非正方形形状的“1:NS_VER”,或者可被表示为指示宽度长于高度的非正方形形状的“2:NS_HOR”)划分非正方形的第一编码单元1310或1320,来确定更低深度的第二编码单元1312或1322、以及第三编码单元1314或1324。
图像解码设备100可通过划分尺寸为N×2N的第一编码单元1310的宽度和高度中的至少一个来确定第二编码单元1302、1312或1322。也就是说,图像解码设备100可通过在水平方向上划分第一编码单元1310来确定尺寸为N×N的第二编码单元1302或尺寸为N×N/2的第二编码单元1322,或者可通过在水平方向和垂直方向上划分第一编码单元1310来确定尺寸为N/2×N的第二编码单元1312。
根据实施例,图像解码设备100可通过划分尺寸为2N×N的第一编码单元1320的宽度和高度中的至少一个来确定第二编码单元1302、1312或1322。也就是说,图像解码设备100可通过在垂直方向上划分第一编码单元1320来确定尺寸为N×N的第二编码单元1302或尺寸为N/2×N的第二编码单元1312,或者可通过在水平方向和垂直方向上划分第一编码单元1320来确定尺寸为N×N/2的第二编码单元1322。
根据实施例,图像解码设备100可通过划分尺寸为N×N的第二编码单元1302的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码设备100可通过在垂直方向和水平方向上划分第二编码单元1302来确定尺寸为N/2×N/2的第三编码单元1304、尺寸为N/4×N/2的第三编码单元1314或尺寸为N/2×N/4的第三编码单元1324。
根据实施例,图像解码设备100可通过划分尺寸为N/2×N的第二编码单元1312的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码设备100可通过在水平方向上划分第二编码单元1312来确定尺寸为N/2×N/2的第三编码单元1304或尺寸为N/2×N/4的第三编码单元1324,或者可通过在垂直方向和水平方向上划分第二编码单元1312来确定尺寸为N/4×N/2的第三编码单元1314。
根据实施例,图像解码设备100可通过划分尺寸为N×N/2的第二编码单元1322的宽度和高度中的至少一个来确定第三编码单元1304、1314或1324。也就是说,图像解码设备100可通过在垂直方向上划分第二编码单元1322来确定尺寸为N/2×N/2的第三编码单元1304或尺寸为N/4×N/2的第三编码单元1314,或者可通过在垂直方向和水平方向上划分第二编码单元1322来确定尺寸为N/2×N/4的第三编码单元1324。
根据实施例,图像解码设备100可在水平方向或垂直方向上划分正方形编码单元1300、1302或1304。例如,图像解码设备100可通过在垂直方向上划分尺寸为2N×2N的第一编码单元1300来确定尺寸为N×2N的第一编码单元1310,或者可通过在水平方向上划分第一编码单元1300来确定尺寸为2N×N的第一编码单元1320。根据实施例,当基于编码单元的最长边的长度确定深度时,通过在水平方向或垂直方向上划分尺寸为2N×2N的第一编码单元1300而确定的编码单元的深度可与第一编码单元1300的深度相同。
根据实施例,第三编码单元1314或1324的宽度和高度可以是第一编码单元1310或1320的宽度和高度的1/4。当第一编码单元1310或1320的深度为D时,宽度和高度是第一编码单元1310或1320的宽度和高度的1/2的第二编码单元1312或1322的深度可以是D+1,并且宽度和高度是第一编码单元1310或1320的宽度和高度的1/4的第三编码单元1314或1324的深度可以是D+2。
图14示出根据实施例的可基于编码单元的形状和尺寸确定的深度以及用于将编码单元区分开的部分索引(PID)。
根据实施例,图像解码设备100可通过划分正方形的第一编码单元1400来确定各种形状的第二编码单元。参照图14,图像解码设备100可通过基于划分形状模式信息在垂直方向和水平方向中的至少一个方向上划分第一编码单元1400来确定第二编码单元1402a和1402b、第二编码单元1404a和1404b、以及第二编码单元1406a、1406b、1406c和1406d。也就是说,图像解码设备100可基于第一编码单元1400的划分形状模式信息来确定第二编码单元1402a和1402b、1404a和1404b以及1406a、1406b、1406c和1406d。
根据实施例,基于正方形的第一编码单元1400的划分形状模式信息确定的第二编码单元1402a和1402b、第二编码单元1404a和1404b以及第二编码单元1406a、1406b、1406c和1406d的深度可基于它们的长边的长度而被确定。例如,因为正方形的第一编码单元1400的边的长度等于非正方形的第二编码单元1402a和1402b以及1404a和1404b的长边的长度,所以第一编码单元1400和非正方形的第二编码单元1402a和1402b以及1404a和1404b可具有相同的深度,例如D。然而,当图像解码设备100基于划分形状模式信息将第一编码单元1400划分为四个正方形的第二编码单元1406a、1406b、1406c和1406d时,因为正方形的第二编码单元1406a、1406b、1406c和1406d的边的长度是第一编码单元1400的边的长度的1/2,所以第二编码单元1406a、1406b、1406c和1406d的深度可以是比第一编码单元1400的深度D深1的D+1。
根据实施例,图像解码设备100可通过基于划分形状模式信息在水平方向上划分高度长于宽度的第一编码单元1410来确定多个第二编码单元1412a和1412b以及1414a、1414b和1414c。根据实施例,图像解码设备100可通过基于划分形状模式信息在垂直方向上划分宽度长于高度的第一编码单元1420来确定多个第二编码单元1422a和1422b以及1424a、1424b和1424c。
根据实施例,基于非正方形的第一编码单元1410或1420的划分形状模式信息确定的第二编码单元1412a和1412b以及1414a、1414b和1414c、或者1422a和1422b以及1424a、1424b和1424c的深度可基于它们的长边的长度而被确定。例如,因为正方形的第二编码单元1412a和1412b的边的长度是高度长于宽度的具有非正方形形状的第一编码单元1410的长边的长度的1/2,所以正方形的第二编码单元1412a和1412b的深度是比非正方形的第一编码单元1410的深度D深1的D+1。
此外,图像解码设备100可基于划分形状模式信息将非正方形的第一编码单元1410划分为奇数个第二编码单元1414a、1414b和1414c。奇数个第二编码单元1414a、1414b和1414c可包括非正方形的第二编码单元1414a和1414c以及正方形的第二编码单元1414b。在这种情况下,因为非正方形的第二编码单元1414a和1414c的长边的长度以及正方形的第二编码单元1414b的边的长度是第一编码单元1410的长边的长度的1/2,所以第二编码单元1414a、1414b和1414c的深度可以是比非正方形的第一编码单元1410的深度D深1的D+1。图像解码设备100可通过使用上述确定从第一编码单元1410划分出的编码单元的深度的方法,确定从宽度长于高度的具有非正方形形状的第一编码单元1420划分出的编码单元的深度。
根据实施例,当奇数个划分出的编码单元不具有相等的尺寸时,图像解码设备100可基于编码单元之间的尺寸比率来确定用于标识划分出的编码单元的PID。参照图14,奇数个划分出的编码单元1414a、1414b和1414c中的中心位置的编码单元1414b的宽度可等于其他编码单元1414a和1414c的宽度并且其高度是其他编码单元1414a和1414c的高度的两倍。也就是说,在这种情况下,中心位置处的编码单元1414b可包括两个其它编码单元1414a或1414c。因此,当中心位置处的编码单元1414b的PID基于扫描顺序而为1时,位于与编码单元1414b相邻位置的编码单元1414c的PID可增加2并且因此可以是3。也就是说,可能存在PID值不连续。根据实施例,图像解码设备100可基于用于标识划分出的编码单元的PID是否存在不连续,确定奇数个划分出的编码单元是否不具有相等的尺寸。
根据实施例,图像解码设备100可基于用于标识通过划分当前编码单元确定的多个编码单元的PID值来确定是否使用特定划分方法。参照图14,图像解码设备100可通过划分具有高度长于宽度的矩形形状的第一编码单元1410来确定偶数个编码单元1412a和1412b或奇数个编码单元1414a、1414b和1414c。图像解码设备100可使用指示相应编码单元的PID,以便识别相应编码单元。根据实施例,可从每个编码单元的预设位置的样点(例如,左上样点)获得PID。
根据实施例,图像解码设备100可通过使用用于区分编码单元的PID来确定划分出的编码单元中的预设位置处的编码单元。根据实施例,当具有高度长于宽度的矩形形状的第一编码单元1410的划分形状模式信息指示将编码单元划分为三个编码单元时,图像解码设备100可将第一编码单元1410划分为三个编码单元1414a、1414b和1414c。图像解码设备100可将PID分配给三个编码单元1414a、1414b和1414c中的每一个。图像解码设备100可对奇数个划分出的编码单元的PID进行比较,以确定编码单元中的中心位置处的编码单元。图像解码设备100可将PID与编码单元的PID中的中间值对应的编码单元1414b确定为通过划分第一编码单元1410确定的编码单元中的中心位置处的编码单元。根据实施例,当划分出的编码单元不具有相等的尺寸时,图像解码设备100可基于编码单元之间的尺寸比率确定用于区分划分出的编码单元的PID。参照图14,通过划分第一编码单元1410生成的编码单元1414b的宽度可等于其他编码单元1414a和1414c的宽度,并且其高度可以是其他编码单元1414a和1414c的高度的两倍。在这种情况下,当中心位置处的编码单元1414b的PID是1时,位于与编码单元1414b相邻位置的编码单元1414c的PID可增加2并且因此可以是3。当如上所述PID未均匀地增大时,图像解码设备100可确定编码单元被划分为多个编码单元,其中,所述多个编码单元包括尺寸与其他编码单元的尺寸不同的编码单元。根据实施例,当划分形状模式信息指示将编码单元划分为奇数个编码单元时,图像解码设备100可按照奇数个编码单元中的预设位置的编码单元(例如,中心位置的编码单元)具有与其他编码单元的尺寸不同的尺寸这样的方式来划分当前编码单元。在这种情况下,图像解码设备100可通过使用编码单元的PID来确定具有不同尺寸的中心位置的编码单元。然而,预设位置的编码单元的PID以及尺寸或位置不限于上述示例,并且可使用编码单元的各种PID以及各种位置和尺寸。
根据实施例,图像解码设备100可使用预设数据单元,其中,在该预设数据单元中开始递归地划分编码单元。
图15示出根据实施例的基于画面中包括的多个预设数据单元确定多个编码单元。
根据实施例,预设数据单元可被定义为通过使用划分形状模式信息开始递归地划分编码单元的数据单元。也就是说,预设数据单元可与用于确定从当前画面划分出的多个编码单元的最高深度的编码单元对应。在下面的描述中,为了便于解释,预设数据单元被称为参考数据单元。
根据实施例,参考数据单元可具有预设尺寸和预设形状。根据实施例,参考数据单元可包括M×N个样点。这里,M和N可彼此相等,并且可以是被表示为2的幂的整数。也就是说,参考数据单元可具有正方形形状或非正方形形状,并且可被划分为整数个编码单元。
根据实施例,图像解码设备100可将当前画面划分为多个参考数据单元。根据实施例,图像解码设备100可通过使用每个参考数据单元的划分形状模式信息来对从当前画面划分出的多个参考数据单元进行划分。划分参考数据单元的操作可与使用四叉树结构的划分操作对应。
根据实施例,图像解码设备100可预先确定当前画面中包括的参考数据单元所允许的最小尺寸。因此,图像解码设备100可确定具有等于或大于最小尺寸的尺寸的各种参考数据单元,并且可参考确定的参考数据单元通过使用划分形状模式信息来确定一个或更多个编码单元。
参照图15,图像解码设备100可使用正方形的参考编码单元1500或非正方形的参考编码单元1502。根据实施例,可基于能够包括一个或更多个参考编码单元的各种数据单元(例如,序列、画面、条带、条带片段、并行块、并行块组、最大编码单元等)来确定参考编码单元的形状和尺寸。
根据实施例,图像解码设备100的比特流获得器110可从比特流获得针对各种数据单元中的每个数据单元的参考编码单元形状信息和参考编码单元尺寸信息中的至少一个。上面已经关于图3的划分当前编码单元300的操作描述了将正方形的参考编码单元1500划分为一个或更多个编码单元的操作,并且上面已经关于图4的划分当前编码单元400或450的操作描述了将非正方形的参考编码单元1502划分为一个或更多个编码单元的操作。因此,这里将不提供其详细描述。
根据实施例,图像解码设备100可根据基于预设条件预先确定的一些数据单元,使用用于标识参考编码单元的尺寸和形状的PID来确定参考编码单元的尺寸和形状。也就是说,比特流获得器110可从比特流仅获得针对每个条带、条带片段、并行块、并行块组或最大编码单元的用于标识参考编码单元的尺寸和形状的PID,其中,所述条带、条带片段、并行块、并行块组或最大编码单元是各种数据单元(例如,序列、画面、条带、条带片段、并行块、并行块组、最大编码单元等)中的满足预设条件的数据单元(例如,尺寸等于或小于条带的数据单元)。图像解码设备100可通过使用PID确定针对满足预设条件的每个数据单元的参考数据单元的尺寸和形状。当根据具有相对小尺寸的每个数据单元从比特流获得并使用参考编码单元形状信息和参考编码单元尺寸信息时,使用比特流的效率可能不高,并且因此,可仅获得并使用PID,而不是直接获得参考编码单元形状信息和参考编码单元尺寸信息。在这种情况下,可预先确定与用于标识参考编码单元的尺寸和形状的PID对应的参考编码单元的尺寸和形状中的至少一个。也就是说,图像解码设备100可通过选择基于PID预先确定的参考编码单元的尺寸和形状中的至少一个,确定包括在用作用于获得PID的单元的数据单元中的参考编码单元的尺寸和形状中的至少一个。
根据实施例,图像解码设备100可使用最大编码单元中包括的一个或更多个参考编码单元。也就是说,从画面划分出的最大编码单元可包括一个或更多个参考编码单元,并且可通过递归地划分每个参考编码单元来确定编码单元。根据实施例,最大编码单元的宽度和高度中的至少一个可以是参考编码单元的宽度和高度中的至少一个的整数倍。根据实施例,可通过基于四叉树结构将最大编码单元划分n次来获得参考编码单元的尺寸。也就是说,根据各种实施例,图像解码设备100可通过基于四叉树结构将最大编码单元划分n次来确定参考编码单元,并且可基于块形状信息和划分形状模式信息中的至少一个来划分参考编码单元。
根据实施例,图像解码设备100可从比特流获得指示当前编码单元的形状的块形状信息或指示当前编码单元的划分方法的划分形状模式信息,并且可使用所获得的信息。划分形状模式信息可被包括在与各种数据单元相关的比特流中。例如,图像解码设备100可使用包括在序列参数集、画面参数集、视频参数集、条带头、条带片段头、并行块头或并行块组头中的划分形状模式信息。此外,图像解码设备100可针对每个最大编码单元或每个参考编码单元从比特流获得与块形状信息或划分形状模式信息对应的语法元素,并使用所述语法元素。
在下文中,将详细描述根据本公开的实施例的确定划分规则的方法。
图像解码设备100可确定图像的划分规则。可在图像解码设备100和图像编码设备200之间预先确定划分规则。图像解码设备100可基于从比特流获得的信息来确定图像的划分规则。图像解码设备100可基于从序列参数集、画面参数集、视频参数集、条带头、条带片段头、并行块头和并行块组头中的至少一个获得的信息来确定划分规则。图像解码设备100可根据帧、条带、并行块、时间层、最大编码单元或编码单元来不同地确定划分规则。
图像解码设备100可基于编码单元的块形状来确定划分规则。块形状可包括编码单元的尺寸、形状、宽高比和方向。图像编码设备200和图像解码设备100可预先确定基于编码单元的块形状来确定划分规则。然而,实施例不限于此。图像解码设备100可基于从自图像编码设备200接收到的比特流获得的信息来确定划分规则。
编码单元的形状可包括正方形和非正方形。当编码单元的宽度长度和高度长度相同时,图像解码设备100可确定编码单元的形状为正方形。此外,当编码单元的宽度长度和高度长度不相同时,图像解码设备100可确定编码单元的形状为非正方形。
编码单元的尺寸可包括各种尺寸,诸如4×4、8×4、4×8、8×8、16×4、16×8、并且直到256×256。可基于编码单元的长边长度、短边长度或面积对编码单元的尺寸进行分类。图像解码设备100可将相同的划分规则应用于被分类为同一组的编码单元。例如,图像解码设备100可将具有相同长边长度的编码单元分类为具有相同尺寸。此外,图像解码设备100可将相同的划分规则应用于具有相同长边长度的编码单元。
编码单元的宽高比可包括1:2、2:1、1:4、4:1、1:8、8:1、1:16、16:1、32:1、1:32等。此外,编码单元的方向可包括水平方向和垂直方向。水平方向可指示编码单元的宽度长度比编码单元的高度长度长的情况。垂直方向可指示编码单元的宽度长度比编码单元的高度长度短的情况。
图像解码设备100可基于编码单元的尺寸自适应地确定划分规则。图像解码设备100可基于编码单元的尺寸不同地确定可允许的划分形状模式。例如,图像解码设备100可基于编码单元的尺寸来确定是否允许划分。图像解码设备100可根据编码单元的尺寸来确定划分方向。图像解码设备100可根据编码单元的尺寸来确定可允许的划分类型。
基于编码单元的尺寸确定的划分规则可以是在图像编码设备200与图像解码设备100之间预先确定的划分规则。此外,图像解码设备100可基于从比特流获得的信息来确定划分规则。
图像解码设备100可基于编码单元的位置自适应地确定划分规则。图像解码设备100可基于编码单元在图像中的位置自适应地确定划分规则。
此外,图像解码设备100可确定划分规则,使得经由不同划分路径生成的编码单元不具有相同的块形状。然而,实施例不限于此,并且经由不同划分路径生成的编码单元具有相同的块形状。经由不同划分路径生成的编码单元可具有不同的解码处理顺序。因为上面参照图12描述了解码处理顺序,所以不再提供其细节。
图16示出根据实施例的当各个画面具有编码单元的不同划分形状组合时各个画面的编码单元。
参照图16,图像解码设备100可针对各个画面确定编码单元的不同划分形状组合。例如,图像解码设备100可通过使用图像中包括的至少一个画面中的可被划分为4个编码单元的画面1600、可被划分为2个或4个编码单元的画面1610以及可被划分为2、3或4个编码单元的画面1620来对图像进行解码。图像解码设备100可仅使用指示划分为4个正方形编码单元的划分形状信息,以便将画面1600划分为多个编码单元。图像解码设备100可仅使用指示划分为2或4个编码单元的划分形状信息,以便划分画面1610。图像解码设备100可仅使用指示划分为2、3或4个编码单元的划分形状信息,以便划分画面1620。上述划分形状组合是用于描述图像解码设备100的操作的实施例,并且因此,上述划分形状组合不应被解释为限于上述实施例。应解释的是,各种划分形状组合可被用于每个预设数据单元。
根据实施例,图像解码设备100的比特流获得器110可获得包括索引的比特流,其中,所述索引表示针对每个预设数据单元(例如,序列、画面、条带、条带片段、并行块、并行块组等)的划分形状信息的组合。例如,比特流获得器110可从序列参数集、画面参数集、条带头、并行块头或并行块组头获得表示划分形状信息的组合的索引。图像解码设备100的比特流获得器110可使用所获得的索引来确定针对每个预设数据单元编码单元可被划分为的划分形状组合,并且因此,比特流获得器110可针对各个预设数据单元使用不同的划分形状组合。
图17示出根据实施例的基于可被表示为二进制码的划分形状模式信息可确定的编码单元的各种形状。
根据实施例,图像解码设备100可通过使用通过比特流获得器110获得的块形状信息和划分形状模式信息来将编码单元划分为各种形状。编码单元可被划分为的形状可以是包括以上通过所述实施例描述的形状的各种形状。
参照图17,图像解码设备100可基于划分形状模式信息在水平方向和垂直方向中的至少一个方向上划分具有正方形形状的编码单元并且在水平方向或垂直方向上划分具有非正方形形状的编码单元。
根据实施例,当图像解码设备100可在水平方向和垂直方向上对具有正方形形状的编码单元进行划分以确定4个正方形编码单元时,针对正方形编码单元的划分形状模式信息可表示4个划分形状。根据实施例,划分形状模式信息可被表示为2位的二进制码,并且可为每个划分形状分配二进制码。例如,当编码单元不被划分时,划分形状模式信息可被表示为(00)b,当编码单元在水平方向和垂直方向上被划分时,划分形状模式信息可被表示为(01)b,当编码单元在水平方向上被划分时,划分形状模式信息可被表示为(10)b,并且当编码单元在垂直方向上被划分时,划分形状模式信息可被表示为(11)b。
根据实施例,当图像解码设备100在水平方向或垂直方向上划分具有非正方形形状的编码单元时,可由划分形状模式信息表示的划分形状的种类可取决于编码单元将被划分为的多个编码单元的数量。参照图17,根据实施例,图像解码设备100可将具有非正方形形状的编码单元划分为至多三个编码单元。此外,图像解码设备100可将编码单元划分为两个编码单元。在这种情况下,划分形状模式信息可被表示为(10)b。图像解码设备100可将编码单元划分为三个编码单元。在这种情况下,划分形状模式信息可被表示为(11)b。图像解码设备100可确定不对编码单元进行划分。在这种情况下,划分形状模式信息可被表示为(0)b。也就是说,图像解码设备100可使用可变长度编码(VLC)而不是固定长度编码(FLC),以便使用表示划分形状模式信息的二进制码。
根据实施例,参照图17,表示编码单元未被划分的划分形状模式信息的二进制码可被表示为(0)b。在表示编码单元未被划分的划分形状模式信息的二进制码被设置为(00)b的情况下,尽管不存在被设置为(01)b的划分形状模式信息,但是2个比特的划分形状模式信息的二进制码可能需要被全部使用。然而,如图17中所示,在3种划分形状被用于具有非正方形形状的编码单元的情况下,图像解码设备100可通过使用1比特的二进制码(0)b作为划分形状模式信息来确定编码单元未被划分,从而高效地使用比特流。然而,由划分形状模式信息表示的具有非正方形形状的编码单元的划分形状不应被解释为限于图17中所示的3种形状,而应被解释为包括上述实施例的各种形状。
图18示出根据实施例的基于可被表示为二进制码的划分形状模式信息可确定的编码单元的其他形状。
参照图18,图像解码设备100可基于划分形状模式信息在水平方向或垂直方向上划分具有正方形形状的编码单元并且在水平方向或垂直方向上划分具有非正方形形状的编码单元。也就是说,划分形状模式信息可指示在一个方向上划分具有正方形形状的编码单元。在这种情况下,表示具有正方形形状的编码单元未被划分的划分形状模式信息的二进制码可被表示为(0)b。在表示编码单元未被划分的划分形状模式信息的二进制码被设置为(00)b的情况下,尽管没有被设置为(01)b的划分形状模式信息,2个比特的划分形状模式信息的二进制码可能也需要被全部使用。然而,如图18中所示,在三种划分形状被用于具有正方形形状的编码单元的情况下,图像解码设备100可通过使用1个比特的二进制码(0)b作为划分形状模式信息来确定编码单元未被划分,从而高效地使用比特流。然而,由划分形状模式信息表示的具有正方形形状的编码单元的划分形状不应被解释为限于图18中所示的三种形状,而应被解释为包括上述实施例的各种形状。
根据实施例,可通过使用二进制码来表示块形状信息或划分形状模式信息,并且块形状信息或划分形状模式信息可被直接生成为比特流。此外,可被表示为二进制码的块形状信息或划分形状模式信息可被用作上下文自适应二进制算术编码(CABAC)中的输入二进制码,而不是被直接生成为比特流。
将描述根据实施例的图像解码设备100通过CABAC获得针对块形状信息或划分形状模式信息的语法的处理。图像解码设备100可通过比特流获得器110获得包括用于所述语法的二进制码的比特流。图像解码设备100可对包括在所获得的比特流中的二进制位串进行反二值化,以检测表示块形状信息或划分形状模式信息的语法元素。根据实施例,图像解码设备100可获得与将被解码的语法元素对应的一组二进制位串,并通过使用概率信息对各个二进制位进行解码。图像解码设备100可重复所述操作,直到利用经过解码的二进制位配置的二进制位串与先前获得的二进制位串之一相同为止。图像解码设备100可对所述二进制位串执行反二值化以确定语法元素。
根据实施例,图像解码设备100可执行自适应二进制算术编码的解码处理以确定用于二进制位串的语法,并且图像解码设备100可更新针对通过比特流获得器110获得的二进制位的概率模型。参照图17,根据实施例,图像解码设备100的比特流获得器110可获得表示二进制码的比特流,其中,所述二进制码表示划分形状模式信息。图像解码设备100可通过使用所获得的大小为1个比特或2个比特的二进制码来确定针对划分形状模式信息的语法。图像解码设备100可更新针对2个比特的二进制码的每个比特的概率,以便确定针对划分形状模式信息的语法。也就是说,图像解码设备100可根据2个比特的二进制码的第一个二进制位的值为0或1中的哪一个来更新下一个二进制位在解码时将具有值0或1的概率。
根据实施例,在确定所述语法的处理中,图像解码设备100可更新针对在对针对所述语法的二进制位串的二进制位进行解码的处理中使用的二进制位的概率,并且图像解码设备100可确定二进制位串的特定比特有相同概率,而不更新所述特定比特的概率。
参照图17,在通过使用表示针对具有非正方形形状的编码单元的划分形状模式信息的二进制位串来确定语法的处理中,图像解码设备100可在具有非正方形形状的编码单元未被划分的情况下通过使用具有值0的二进制位来确定针对划分形状模式信息的语法。也就是说,当块形状信息表示当前编码单元具有非正方形形状时,在具有非正方形形状的编码单元未被划分的情况下,针对划分形状模式信息的二进制位串的第一个二进制位可以是0,并且在该编码单元被划分为两个或三个编码单元的情况下,针对划分形状模式信息的二进制位串的第一个二进制位可以是1。因此,针对具有非正方形形状的编码单元的划分形状模式信息的二进制位串的第一个二进制位将为0的概率可以是1/3,并且所述第一个二进制位将为1的概率可以是2/3。如上所述,因为表示具有非正方形形状的编码单元未被划分的划分形状模式信息可被表示为值为0的1个比特的二进制位串,所以图像解码设备100可仅在划分形状模式信息的第一个二进制位为1的情况下确定第二个二进制位是0还是1,以确定针对划分形状模式信息的语法。根据实施例,当针对划分形状模式信息的第一个二进制位为1时,图像解码设备100可确定第二个二进制位将为0的概率等于第二个二进制位将为1的概率,并且对第二个二进制位进行解码。
因此,图像解码设备100可在确定针对划分形状模式信息的二进制位串的二进制位的处理中使用针对各个二进制位的各种概率。根据实施例,图像解码设备100可根据非正方形块的延伸方向来确定针对划分形状模式信息的二进制位的不同概率。根据实施例,图像解码设备100可根据当前编码单元的宽度或当前编码单元的较长边的长度来确定针对划分形状模式信息的二进制位的不同概率。根据实施例,图像解码设备100可根据当前编码单元的形状和当前编码单元的较长边的长度中的至少一个来确定针对划分形状模式信息的二进制位的不同概率。
根据实施例,图像解码设备100可确定针对划分形状模式信息的二进制位的概率对于等于或大于预设尺寸的编码单元是相同的。例如,图像解码设备100可确定针对划分形状模式信息的二进制位的概率对于较长边的长度等于或大于64个样点的编码单元是相同的。
根据实施例的图像解码设备100可基于条带类型(例如,I条带、P条带或B条带)来确定针对构建划分形状模式信息的二进制位串的二进制位的初始概率。
图19是图像编码和解码***的框图。
图像编码和解码***的编码器1900可发送图像的经过编码的比特流,并且解码器1950可接收比特流,对比特流进行解码,并输出重建图像。解码器1950可具有与图像解码设备100相似的配置。
在编码器1900中,当当前块的预测模式是帧间预测模式时,帧间预测器1905可生成当前块的运动信息,其中,所述运动信息指示在时间上与当前画面相邻的参考画面的参考块。帧间预测器1905可通过使用参考块的样点来确定当前块的预测样点。帧内预测器1910可确定表示与当前块相似的邻近样点所在的方向的帧内预测信息以及确定预测样点的方法,以通过使用在空间上与当前块相邻的邻近样点来确定当前块的预测样点。
帧间预测器1905可从存储在解码画面缓冲器(DPB)1948中且预先重建的样点中确定被用于对当前块进行预测的参考样点。
变换器1920可对通过从当前块的原始样点减去由帧间预测器1905或帧内预测器1910生成的预测样点而获得的残差样点值执行变换,并输出变换系数。量化器1925可对从变换器1920输出的变换系数进行量化,并输出量化的变换系数。熵编码器1930可将量化的变换系数编码为包括级值的残差语法元素,并以比特流的形式输出该残差语法元素。
可通过反量化器1933和逆变换器1935对从量化器1925输出的量化的变换系数进行反量化和逆变换,使得可再次生成残差样点值。
加法器1915可将残差样点值与预测样点值相加以输出重建样点值。重建后滤波器(post-reconstruction filter)1940可对重建样点值执行重建后滤波,并且通过重建后滤波更新的重建样点值可被用作用于将由帧内预测器1910执行的帧内预测的参考样点值。重建后滤波器1940可对重建样点值执行哈达玛(Hadamard)变换域滤波或双边滤波。
环内滤波器1945可对通过重建后滤波更新的重建样点值执行去块滤波和自适应环路滤波中的至少一个。通过环内滤波器1945进行滤波而更新的重建样点值可被存储在DPB 1948中,并且可被用作用于将由帧间预测器1905执行的帧间预测的参考样点值。
解码器1950的熵解码器1955可对接收到的比特流执行熵解码以解析包括级值的残差语法元素。可从残差语法元素重建量化的变换系数。反量化器1960可对量化的变换系数执行反量化以输出变换系数,并且逆变换器1965可对变换系数执行逆变换以输出残差样点值。
解码器1950的帧间预测器1970可通过使用由熵解码器1955解析出的当前块的运动信息来确定在时间上与当前画面相邻的参考画面,并确定参考画面中的参考块。帧间预测器1970可通过使用参考块的样点来确定当前块的预测样点。解码器1950的帧内预测器1975可通过使用帧内预测信息和由熵解码器1955解析出的当前块的运动信息来确定在空间上与当前块相邻的参考样点,并且通过使用邻近参考样点来确定当前块的预测样点。
帧间预测器1970可从存储在DPB 1990中且预先重建的样点中确定将被用于对当前块进行预测的参考样点。
解码器1950的加法器1995可将残差样点值与预测样点值相加以输出当前块的重建样点值。解码器1950的重建后滤波器1980可对重建样点值执行哈达玛变换域滤波或双边滤波。通过重建后滤波器1980的滤波而更新的重建样点值可被用作用于将由帧内预测器1975执行的帧内预测的参考样点值。
解码器1950的环内滤波器1985可对通过重建后滤波更新的重建样点值执行去块滤波和自适应环路滤波中的至少一个。通过环内滤波器1985进行滤波而更新的重建样点值可被存储在DPB 1990中,并被用作用于将由帧间预测器1970执行的帧间预测的参考样点值。
上述各种实施例描述了与由图像解码器100执行的图像解码方法相关的操作。在下文中,将通过各种实施例描述执行与图像解码方法的相反顺序对应的图像编码方法的图像编码设备200的操作。
图2是根据实施例的能够基于块形状信息和划分形状模式信息中的至少一个对图像进行编码的图像编码设备200的框图。
图像编码设备200可包括编码器220和比特流生成器210。编码器220可接收输入图像并对输入图像进行编码。编码器220可对输入图像进行编码以获得至少一个语法元素。所述语法元素可包括跳过标志、预测模式、运动矢量差、运动矢量预测方法(或索引)、变换量化系数、编码块样式、编码块标志、帧内预测模式、直接标志、合并标志、差量QP、参考索引、预测方向和变换索引中的至少一个。编码器220可基于包括编码单元的形状、方向、高宽比或尺寸中的至少一个的块形状信息来确定上下文模型。
比特流生成器210可基于经过编码的输入图像生成比特流。例如,比特流生成器210可通过基于上下文模型对语法元素执行熵编码来生成比特流。此外,图像编码设备200可将比特流发送到图像解码设备100。
根据实施例,图像编码设备200的编码器220可确定编码单元的形状。例如,编码单元可具有正方形形状或非正方形形状,并且表示这样的形状的信息可被包括在块形状信息中。
根据实施例,编码器220可确定编码单元将被划分为的形状。编码器220可确定包括在编码单元中的至少一个编码单元的形状,并且比特流生成器210可生成包括划分形状模式信息的比特流,该划分形状模式信息包括关于编码单元的形状的信息。
根据实施例,编码器220可确定是否划分编码单元。当编码器220确定编码单元仅包括一个编码单元或者编码单元未被划分时,比特流生成器210可生成包括表示编码单元未被划分的划分形状模式信息的比特流。此外,编码器220可将编码单元划分为包括在该编码单元中的多个编码单元,并且比特流生成器210可生成包括表示编码单元将被划分为多个编码单元的划分形状模式信息的比特流。
根据实施例,表示编码单元被划分为多少数量的编码单元或编码单元被划分的方向的信息可被包括在划分形状模式信息中。例如,划分形状模式信息可表示在垂直方向和水平方向中的至少一个方向上进行划分或者可表示不划分。
图像编码设备200可基于编码单元的划分形状模式来确定划分形状模式信息。图像编码设备200可基于编码单元的形状、方向、宽高比或尺寸中的至少一个来确定上下文模型。此外,图像编码设备200可基于上下文模型将关于用于对编码单元进行划分的划分形状模式的信息生成为比特流。
为了确定上下文模型,图像编码设备200可获得用于将编码单元的形状、方向、宽高比或尺寸中的至少一个对应至针对上下文模型的索引的布置。图像编码设备200可从所述布置基于编码单元的形状、方向、宽高比或尺寸中的至少一个来获得针对上下文模型的索引。图像编码设备200可基于针对上下文模型的索引来确定上下文模型。
为了确定上下文模型,图像编码设备200还可基于包括与编码单元相邻的周围编码单元的形状、方向、宽高比或尺寸中的至少一个的块形状信息来确定上下文模型。此外,所述周围编码单元可包括位于编码单元的左下侧、左侧、左上侧、上侧、右上侧、右侧或右下侧的编码单元中的至少一个。
此外,为了确定上下文模型,图像编码设备200可将上方周围编码单元的宽度长度与编码单元的宽度长度进行比较。此外,图像编码设备200可将左侧周围编码单元和右侧周围编码单元的高度长度与编码单元的高度长度进行比较。此外,图像编码设备200可基于比较的结果来确定上下文模型。
图像编码设备200的操作包括与上面参照图3至图19描述的图像解码设备100的操作相似的内容,因此将省略其详细描述。
图20是示出根据实施例的图像解码设备2000的配置的框图。
参照图20,图像解码设备2000可包括比特流获得器2010、运动信息获得器2030和预测解码器2050。
图20中所示的比特流获得器2010可对应于图1中所示的比特流获得器110,并且运动信息获得器2030和预测解码器2050可对应于图1中所示的解码器120。
根据实施例的比特流获得器2010、运动信息获得器2030和预测解码器2050可被实现为至少一个处理器。图像解码设备2000可包括存储比特流获得器2010、运动信息获得器2030和预测解码器2050的输入/输出数据的至少一个存储器(未示出)。此外,图像解码设备2000可包括控制输入到存储器(未示出)/从存储器(未示出)输出的数据的存储器控制器(未示出)。
比特流获得器2010可获得作为图像的编码的结果而生成的比特流。比特流获得器2010可从比特流获得用于对图像进行解码的语法元素。与所述语法元素对应的二进制值可根据图像的分层结构被包括在比特流中。比特流获得器2010可通过对包括在比特流中的二进制值执行熵解码来获得所述语法元素。
比特流可包括关于当前画面中的当前块的预测模式的信息。当前块可表示从将被解码的当前画面划分出的最大编码单元、编码单元或变换单元的块。
当前块的预测模式可包括帧内预测模式或帧间预测模式。如上所述,帧间预测模式可以是用于从由当前块的运动信息指示的参考画面中的参考块重建当前块的模式。
运动信息可包括预测方向、参考画面索引和运动矢量。
预测方向可以是列表0方向、列表1方向或双向中的任意一个。预测方向为列表0方向表示包括在参考画面列表0中的画面被用作列表0方向的参考画面,并且预测方向为列表1方向表示包括在参考画面列表1中的画面被用作列表1方向的参考画面。此外,预测方向为双向表示包括在参考画面列表0中的画面被用作列表0方向的参考画面,并且包括在参考画面列表1中的画面被用作列表1方向的参考画面。
参考画面索引可指示参考画面列表0和/或参考画面列表1中包括的画面中的用作当前块的参考画面的画面。根据列表0方向的参考画面索引,可从参考画面列表0中包括的画面中指定用作列表0方向的参考画面的画面。此外,根据列表1方向的参考画面索引,可从参考画面列表1中包括的画面中指定用作列表1方向的参考画面的画面。
运动矢量可指定参考画面中的参考块的位置。列表0方向的运动矢量表示指示列表0方向的参考画面中的参考块的运动矢量,并且列表1方向的运动矢量表示指示列表1方向的参考画面中的参考块的运动矢量。
当当前块的预测方向为列表0方向时,当前块的运动信息可包括指示当前块的预测方向为列表0方向的信息、列表0方向的参考画面索引和列表0方向的运动矢量中的至少一个。此外,当当前块的预测方向为列表1方向时,当前块的运动信息可包括指示当前块的预测方向为列表1方向的信息、列表1方向的参考画面索引和列表1方向的运动矢量中的至少一个。此外,当当前块的预测方向为双向时,当前块的运动信息可包括指示当前块的预测方向为双向的信息、列表0方向的参考画面索引、列表1方向的参考画面索引、列表0方向的运动矢量和列表1方向的运动矢量中的至少一个。
作为帧间预测模式之一的合并模式(或直接模式)可使用比当前块更早被解码的先前块的运动信息作为当前块的运动信息。通过仅将指示先前块的信息包括在比特流中,而不是将当前块的运动信息包括在比特流中,可减小比特率。
通常,在包括邻近块的运动信息作为候选的候选列表中,候选的数量可能已经被预先限制,并且邻近块的运动信息可能与当前块的运动信息具有低相似度。因此,尽管从候选列表选择最佳候选,但所选的候选的运动信息可能不同于当前块的运动信息。在这种情况下,重建块的质量可能难免降低。
根据本公开的实施例,可建立包括邻近块的运动信息作为候选的候选列表,邻近块的运动信息可根据预定义标准而改变,并且改变后的邻近块的运动信息可被用作当前块的运动信息。也就是说,根据本公开,作为照原样使用包括在候选列表中的运动信息的替代,候选列表中的运动信息可根据预定义标准而改变,使得重建块与原始块之间的差最小化。
当当前块的预测模式是通过使用邻近块的运动信息推导当前块的运动信息的模式时,比特流获得器2010可从比特流获得指示是否改变邻近块的运动信息的改变信息。所述改变信息可表示邻近块的运动信息是否需要改变以及当邻近块的运动信息需要改变时如何改变邻近块的运动信息。
根据本公开的实施例,当从当前块的上级(例如,比特流的序列参数集、画面参数集、视频参数集、条带头、条带片段头、并行块头或并行块组头)获得的信息表示改变模式未被应用时,比特流获得器2010可不从比特流获得当前块的改变信息,并且当对应信息表示改变模式可应用时,比特流获得器2010可从比特流获得当前块的改变信息。
根据本公开的实施例,当当前块的尺寸小于或等于预设尺寸时,尽管从当前块的上级获得的信息表示改变模式可应用,但比特流获得器2010可不从比特流获得改变信息。原因可能是因为当当前块的尺寸小时,通过改变邻近块的运动信息来获得当前块的运动信息可能导致与复杂度相比质量改进的程度小。可通过将当前块的宽度乘以当前块的高度或通过对当前块的宽度与当前块的高度求和来计算当前块的尺寸。
当改变信息指示改变邻近块的运动信息时,运动信息获得器2030可通过改变邻近块的运动信息来获得当前块的运动信息。反之,当改变信息指示不改变邻近块的运动信息时,运动信息获得器2030可在不改变邻近块的运动信息的情况下获得当前块的运动信息。尽管改变信息指示改变,但邻近块的运动信息(更具体地,预测方向、参考画面和运动矢量中的至少一个)可不改变,这将在下面被描述。此外,尽管改变信息指示不改变,但邻近块的运动信息(更具体地,运动矢量)可根据从比特流获得的差分运动矢量而改变。
在描述改变邻近块的运动信息的方法之前,将描述在空间上或时间上与当前块相关的邻近块。
图21是示出在时间上或空间上与当前块2100相关的邻近块的位置的示例性示图。
参照图21,当前块2100的邻近块可包括在空间上与当前块2100相关的空间块A0、A1、B0、B1和B2以及在时间上与当前块2100相关的时间块Col、Br0和Br1。
空间块可包括当前块2100的左下角块A0、左下方块A1、右上角块B0、右上方块B1和左上角块B2中的至少一个。如图21中所示,左下方块A1可位于左下角块A0上方,并且右上方块B1可位于右上角块B0的左侧。
时间块可包括具有与包括当前块2100的当前画面的画面顺序计数(POC)不同的POC的同位画面中的与当前块2100位于相同点处的块Co1以及在空间上与位于所述相同点处的块Co1相邻的块Br0和Br1中的至少一个。块Br0和Br1可位于与当前块2100位于相同点的块Co1的右下侧。块Br1可位于块Br0的右上侧。与当前块2100位于相同点处的块Co1可以是包括同位画面中所包括的像素之中的与当前块2100中的中心像素对应的像素的块。
图22中所示的时间块和空间块的位置可以是示例,并且根据实现示例,时间块和空间块的位置和数量可以不同地改变。
运动信息获得器2030可根据预设顺序确定邻近块的可用性,并根据确定的结果将邻近块的运动信息依次包括在候选列表中。运动信息获得器2030可确定经过帧内预测的邻近块不可用。
当当前块的预测模式是通过使用邻近块的运动信息推导当前块的运动信息的模式时,运动信息获得器2030可从候选列表选择特定邻近块的运动信息,并基于改变信息确定邻近块的运动信息是否需要改变以及如何改变邻近块的运动信息。
当改变信息指示改变时,邻近块的运动信息可根据包括当前块的上级块(例如,画面、并行块、条带、最大编码单元等)的类型而不同地改变。例如,当上级块是能够使用参考画面列表0和参考画面列表1两者的块(例如,双预测(B)条带)时,改变信息可表示邻近块的预测方向需要改变为哪个方向。作为另一示例,当上级块是能够仅使用参考画面列表0的块(例如,预测(P)条带)时,因为当前块的预测方向不能被选为与邻近块的预测方向不同的预测方向,所以改变信息可表示如何改变邻近块的参考画面和/或运动矢量。
在下文中,将描述当上级块是能够使用参考画面列表0和参考画面列表1两者的块时基于改变信息获得当前块的运动信息的方法。
I.上级块是能够使用参考画面列表0和参考画面列表1两者的块的情况
图22是表示当上级块是能够使用参考画面列表0和参考画面列表1两者的块时邻近块的预测方向根据由改变信息指示的值而改变为哪些方向的示例性表格。
参照图22,当改变信息mmvd_group_idx具有值0时,邻近块的运动信息可不改变。也就是说,邻近块的预测方向和参考画面可被确定为当前块的预测方向和参考画面。此外,通过将下面将描述的差分运动矢量应用于邻近块的运动矢量,可获得当前块的运动矢量。当改变信息mmvd_group_idx未被包括在比特流中时,邻近块的运动信息可不改变。也就是说,邻近块的预测方向和参考画面可被确定为当前块的预测方向和参考画面。此外,通过将差分运动矢量应用于邻近块的运动矢量,可获得当前块的运动矢量。
当改变信息mmvd_group_idx具有值1或2时,邻近块的运动信息可改变。
更具体地,当邻近块的预测方向是列表0方向并且改变信息mmvd_group_idx具有值1时,当前块的预测方向可被确定为双向,并且当改变信息mmvd_group_idx具有值2时,当前块的预测方向可被确定为列表1方向。
此外,当邻近块的预测方向是列表1方向并且改变信息mmvd_group_idx具有值1时,当前块的预测方向可被确定为双向,并且当改变信息mmvd_group_idx具有值2时,当前块的预测方向可被确定为列表0方向。
此外,当邻近块的预测方向是双向并且改变信息mmvd_group_idx具有值1时,当前块的预测方向可被确定为列表0方向,并且当改变信息mmvd_group_idx具有值2时,当前块的预测方向可被确定为列表1方向。
如图22中所示,可不同地确定根据改变信息mmvd_group_idx的值改变的邻近块的预测方向。
在下文中,将描述当邻近块的预测方向改变时选择当前块的参考画面的方法。
1、邻近块的预测方向是双向并且当前块的预测方向是单向的情况
当邻近块的预测方向是双向且当前块的预测方向是列表0方向时,邻近块的列表0方向的参考画面可被选为当前块的列表0方向的参考画面。邻近块的列表1方向的参考画面可不被用于当前块的帧间预测。
当邻近块的预测方向为双向并且当前块的预测方向为列表1方向时,邻近块的列表1方向的参考画面可被选为当前块的列表1方向的参考画面。邻近块的列表0方向的参考画面可不被用于当前块的帧间预测。
2、邻近块的预测方向是列表0方向并且当前块的预测方向是列表1方向的情况
可基于当前画面与邻近块的列表0方向的参考画面之间的距离将包括在参考画面列表1中的画面中的任意一个画面选为当前块的列表1方向的参考画面。画面之间的距离可以是两个画面的POC之间的差。POC可以是画面的本征值,表示画面的输出顺序。
根据实施例,运动信息获得器2030可将参考画面列表1中的与当前画面间隔开当前画面与邻近块的列表0方向的参考画面之间的距离的画面选为当前块的列表1方向的参考画面。当当前画面与邻近块的列表0方向的参考画面之间的距离等于当前画面与当前块的列表1方向的参考画面之间的距离时,可省略将在下面描述的缩放运动矢量的处理。
参照图23,当当前画面的POC为5并且邻近块的列表0方向的参考画面的POC为3时,参考画面列表1中包括的画面之中的POC 7的画面可被选为当前块的列表1方向的参考画面。当与当前画面间隔开当前画面与邻近块的列表0方向的参考画面之间的距离的画面未被包括在参考画面列表1中时,运动信息获得器2030可将参考画面列表1中的画面之中的具有最小值(例如,0)的索引的画面选为当前块的列表1方向的参考画面。
根据另一实施例,当包括在参考画面列表1中的画面的数量大于n(n为大于或等于1的自然数,并且例如,n为1)并且当前画面与邻近块的列表0方向的参考画面之间的距离等于当前画面与参考画面列表1中的具有索引n的画面之间的距离时,运动信息获得器2030可将包括在参考画面列表1中的具有索引n的画面选为当前块的列表1方向的参考画面。当包括在参考画面列表1中的画面的数量不大于1时,运动信息获得器2030可将参考画面列表1中的具有索引0的画面选为当前块的列表1方向的参考画面。此外,尽管包括在参考画面列表1中的画面的数量大于n,但是当当前画面与邻近块的列表0方向的参考画面之间的距离不等于当前画面与参考画面列表1中的具有索引n的画面之间的距离时,运动信息获得器2030可将包括在参考画面列表1中的具有索引0的画面选为当前块的列表1方向的参考画面。因为不必检查包括在参考画面列表1中的画面的所有POC,所以可简化选择参考画面的处理。在运动信息获得器2030确定当前画面与邻近块的列表0方向的参考画面之间的距离是否等于当前画面与参考画面列表1中的具有索引n的画面之间的距离之前,运动信息获得器2030可确定包括在参考画面列表1中的画面的数量是否大于n。原因可能是因为当包括在参考画面列表1中的画面的数量为n时,具有索引n的画面不能被包括在参考画面列表1中。换言之,当包括在参考画面列表1中的画面的数量为n时,包括在参考画面列表1中的画面可具有0到n-1的索引。
3、邻近块的预测方向是列表1方向并且当前块的预测方向是列表0方向的情况
可基于当前画面与邻近块的列表1方向的参考画面之间的距离将包括在参考画面列表0中的画面中的任意一个画面选为当前块的列表0方向的参考画面。
根据实施例,运动信息获得器2030可将参考画面列表0中的与当前画面间隔开当前画面与邻近块的列表1方向的参考画面之间的距离的画面选为当前块的列表0方向的参考画面。
参照图23,当当前画面的POC为5并且邻近块的列表1方向的参考画面的POC为7时,可将参考画面列表0中包括的画面之中的POC 3的画面选为当前块的列表0方向的参考画面。当与当前画面间隔开当前画面与邻近块的列表1方向的参考画面之间的距离的画面未被包括在参考画面列表0中时,运动信息获得器2030可将参考画面列表0中包括的画面之中的具有最小值(例如,0)的索引的画面选为当前块的列表0方向的参考画面。
根据另一实施例,当包括在参考画面列表0中的画面的数量大于n(n为大于或等于1的自然数,并且例如,n为1)并且当前画面与邻近块的列表1方向的参考画面之间的距离等于当前画面与包括在参考画面列表0中的具有索引n的画面之间的距离时,运动信息获得器2030可将具有索引n且包括在参考画面列表0中的画面选为当前块的列表0方向的参考画面。当包括在参考画面列表0中的画面的数量不大于n时,运动信息获得器2030可将参考画面列表0中的具有索引0的画面选为当前块的列表0方向的参考画面。此外,尽管包括在参考画面列表0中的画面的数量大于n,但是当当前画面与邻近块的列表1方向的参考画面之间的距离不等于当前画面与参考画面列表0中的具有索引n的画面之间的距离时,运动信息获得器2030可将参考画面列表0中的具有索引0的画面选为当前块的列表0方向的参考画面。在这种情况下,因为不必检查包括在参考画面列表0中的画面的所有POC,所以可简化选择参考画面的处理。在运动信息获得器2030确定当前画面与邻近块的列表1方向的参考画面之间的距离是否等于当前画面与参考画面列表0中的具有索引n的画面之间的距离之前,运动信息获得器2030可确定包括在参考画面列表0中的画面的数量是否大于n。原因可能是因为当包括在参考画面列表0中的画面的数量为n或更少时,具有索引n的画面不能被包括在参考画面列表0中。
4、邻近块的预测方向是列表0方向并且当前块的预测方向是双向的情况
可将邻近块的列表0方向的参考画面选为当前块的列表0方向的参考画面。此外,可基于当前画面与邻近块的列表0方向的参考画面之间的距离将参考画面列表1中包括的画面中的任意一个画面选为当前块的列表1方向的参考画面。上面已经在“2、邻近块的预测方向是列表0方向并且当前块的预测方向是列表1方向的情况”中描述了基于当前画面与邻近块的列表0方向的参考画面之间的距离将参考画面列表1中包括的画面中的任意一个画面选为当前块的列表1方向的参考画面的方法,因此将省略其详细描述。
5、邻近块的预测方向是列表1方向并且当前块的预测方向是双向的情况
可将邻近块的列表1方向的参考画面选为当前块的列表1方向的参考画面。此外,可基于当前画面与邻近块的列表1方向的参考画面之间的距离将参考画面列表0中包括的画面中的任意一个画面选为当前块的列表0方向的参考画面。上面已经在“3、邻近块的预测方向是列表1方向并且当前块的预测方向是列表0方向的情况”中描述了基于当前画面与邻近块的列表1方向的参考画面之间的距离将参考画面列表0中包括的画面中的任意一个画面选为当前块的列表0方向的参考画面的方法,因此将省略其详细描述。
当当前块的参考画面与邻近块的参考画面相同时,可将差分运动矢量应用于邻近块的运动矢量,从而获得当前块的运动矢量。更具体地,当改变信息未被包括在比特流中时或者当改变信息指示不改变时,可将差分运动矢量应用于邻近块的运动矢量,从而获得当前块的运动矢量。当邻近块的预测方向为双向并且当前块的预测方向为列表0方向或列表1方向时,可将差分运动矢量应用于邻近块的列表0方向的运动矢量或列表1方向的运动矢量,从而获得当前块的列表0方向或列表1方向的运动矢量。
当当前块的参考画面与邻近块的参考画面不相同时,可缩放邻近块的运动矢量,并且可将差分运动矢量应用于缩放后的运动矢量,从而获得当前块的运动矢量。例如,当邻近块的预测方向为列表0方向并且当前块的预测方向为列表1方向或双向时,可缩放邻近块的列表0方向的运动矢量,并且可将差分运动矢量应用于缩放后的运动矢量,从而获得当前块的列表1方向的运动矢量。此外,当邻近块的预测方向是列表1方向,并且当前块的预测方向是列表0方向或双向时,可缩放邻近块的列表1方向的运动矢量,并且可将差分运动矢量应用于缩放后的运动矢量,从而获得当前块的列表0方向的运动矢量。
在下文中,将描述缩放邻近块的运动矢量的处理。
运动信息获得器2030可将当前画面与邻近块的参考画面之间的距离和当前画面与当前块的参考画面之间的距离之比乘以邻近块的运动矢量,从而对邻近块的运动矢量进行缩放。通过将差分运动矢量应用于缩放后的运动矢量,可获得当前块的运动矢量。
运动信息获得器2030可根据邻近块的参考画面、当前画面和当前块的参考画面之间的位置关系来转换缩放后的运动矢量的符号,这将参照图24和图25进行描述。
图24和图25示出邻近块的参考画面、当前画面和当前块的参考画面之间的位置关系。
在图24和图25中,当前画面2140或2510与邻近块的参考画面2430或2530之间的距离被称为d1,并且当前画面2410或2510与当前块的参考画面2450或2550之间的距离被称为d2。两个画面之间的距离可表示两个画面的POC值之间的差。
参照图24,当前画面2410可具有POC B,并且邻近块的参考画面2430和当前块的参考画面2450可分别具有POC A和POC C。当POC B具有在POC A与POC C之间的值时,可根据d1与d2之比来缩放邻近块的运动矢量,并且可将运动矢量的符号转换为相反符号。也就是说,如图24中所示,当当前画面2410位于当前块的参考画面2450与邻近块的参考画面2430之间时,邻近块的缩放后的运动矢量可被转换为相反符号。当d1和d2具有相同的值时,仅邻近块的运动矢量的符号可被转换为相反符号。
然后,参照图25,当前画面2510具有POC A,并且邻近块的参考画面2530和当前块的参考画面2550分别具有POC B和POC C。当POC A小于POC B和POC C或者POC A大于POC B和POC C时,可根据d1与d2之比缩放邻近块的运动矢量,并且可照原样保持该运动矢量的符号。也就是说,如图25中所示,当当前块的参考画面2550不同于邻近块的参考画面2530,并且当前画面2510的POC在当前块的参考画面2550和邻近块的参考画面2530的POC之前或者当前画面2510的POC在当前块的参考画面2550和邻近块的参考画面2530的POC之后时,可照原样保持邻近块的缩放后的运动矢量的符号。
运动信息获得器2030可将差分运动矢量应用于邻近块的运动矢量或邻近块的缩放后的运动矢量,从而获得当前块的运动矢量。
根据实施例,可根据从比特流获得的变化距离信息和变化方向信息来计算差分运动矢量。比特流获得器2010可从比特流获得变化距离信息和变化方向信息,并且运动信息获得器2030可将基于变化距离信息和变化方向信息计算出的差分运动矢量应用于邻近块的运动矢量或邻近块的缩放后的运动矢量。
变化距离信息可表示差分运动矢量距原点的距离。此外,变化距离信息可表示差分运动矢量的幅度。这里,变化距离可以是子pel单位的距离。例如,当参考画面***值为具有1/4像素单位的子像素并且变化距离信息表示变化距离2时,这可表示差分运动矢量具有2/4像素单位的幅度。
变化方向信息可表示差分运动矢量从原点起的方向。可选地,变化方向信息可表示差分运动矢量的符号。
图26示出在坐标平面上显示的差分运动矢量。
差分运动矢量可具有根据从原点起的变化距离和变化方向的各种值。例如,当变化距离是1并且变化方向是+x轴方向时,差分运动矢量可以是(1,0),并且当变化距离是1并且变化方向是-x轴方向时,差分运动矢量可以是(-1,0)。此外,当变化距离是2并且变化方向是+y轴方向时,差分运动矢量可以是(0,2),并且当变化距离是2并且变化方向是-y轴方向时,差分运动矢量可以是(0,-2)。
图27是表示与变化距离信息的值对应的变化距离的示例性表格,并且图28是表示与变化方向信息的值对应的变化方向的示例性表格。
参照图27,随着由变化距离信息mmvd_distance_idx指示的值增加,变化距离可以以对数尺度增加。也就是说,当由变化距离信息mmvd_distance_idx指示的值是n时,变化距离可以是2n
参照图28,可根据由变化方向信息mmvd_direction_idx指示的值来确定差分运动矢量的符号。当由变化方向信息mmvd_direction_idx指示的值为0时,差分运动矢量可在x轴方向上具有+号,并且当由变化方向信息mmvd_direction_idx指示的值为1时,差分运动矢量可在x轴方向上具有-号。此外,当由变化方向信息mmvd_direction_idx指示的值是2时,差分运动矢量可在y轴方向上具有+号,并且当由变化方向信息mmvd_direction_idx指示的值是3时,差分运动矢量可在y轴方向上具有-号。
可根据实现示例不同地确定根据由变化距离信息指示的值的变化距离(如图27中所示)和根据由变化方向信息指示的值的变化方向(如图28中所示)。
根据实施例,当当前块的预测方向是双向时,从变化距离信息和变化方向信息推导出的差分运动矢量可被缩放,并且然后被应用于列表0方向的运动矢量或列表1方向的运动矢量。更具体地,当当前画面与当前块的列表0方向的参考画面之间的距离大于当前画面与当前块的列表1方向的参考画面之间的距离时,差分运动矢量可被缩放并且然后被应用于列表0方向的运动矢量,并且差分运动矢量可在不被缩放的情况下被应用于列表1方向的运动矢量。反之,当当前画面与当前块的列表1方向的参考画面之间的距离大于当前画面与当前块的列表0方向的参考画面之间的距离时,差分运动矢量可被缩放并且然后被应用于列表1方向的运动矢量,并且差分运动矢量可在不被缩放的情况下被应用于列表0方向的运动矢量。
可基于当前画面与列表0方向的参考画面之间的距离和当前画面与列表1方向的参考画面之间的距离之比来缩放差分运动矢量。例如,当当前画面与列表0方向的参考画面之间的距离为d0并且当前画面与列表1方向的参考画面之间的距离为d1时,可将差分运动矢量乘以与d0和d1之比对应的值。当当前画面的POC具有列表0方向的参考画面的POC与列表1方向的参考画面的POC之间的值时,未被缩放的差分运动矢量的符号可与缩放后的差分运动矢量的符号相反。当当前画面与列表0方向的参考画面之间的距离d0等于当前画面与列表1方向的参考画面之间的距离d1,并且当前画面的POC具有列表0方向的参考画面的POC与列表1方向的参考画面的POC之间的值时,可将从变化距离信息和变化方向信息推导出的差分运动矢量应用于列表0方向的运动矢量,可将符号已经被转换为相反符号的差分运动矢量应用于列表1方向的运动矢量。
根据实施例,差分运动矢量的缩放可被表示为下面的等式1。
[等式1]
mMvdL=Clip3(-32767,32767,((distScaleFactor*mMvdL+16)>>5))
在等式1中,distScaleFactor是当前画面与列表0方向的参考画面之间的距离和当前画面与列表1方向的参考画面之间的距离之比,并且可根据下面的等式2来计算distScaleFactor。
[等式2]
distScaleFactor=(Abs(currPocDiffL1)<<5)/Abs(currPocDiffL0)
在等式2中,currPocDiffL1是当前画面的POC与列表1方向的参考画面的POC之间的差,并且currPocDiffL0表示当前画面的POC与列表0方向的参考画面的POC之间的差。
在等式1中,剪裁操作的上限和下限分别被设置为32767和-32767,并且32767是能够用15个比特的数字部分和1个比特的符号部分表示的最大数。用15个比特的数字部分和1个比特的符号部分表示的实际下限应为-32768。然而,当差分运动矢量通过剪裁操作而被确定为下限-32768并且当前画面的POC具有列表0方向的参考画面的POC与列表1方向的参考画面的POC之间的值时,-32768的符号应被转换为相反符号。在这种情况下,32768可能超过作为能够用15个比特的数字部分和1个比特的符号部分表示的上限的32767。因此,在等式1中,剪裁操作的下限被设置为-32767。根据实现示例,等式1的剪裁操作的下限可被设置为-32768。
另外,将描述当当前块的上级块的类型可仅使用参考画面列表0时通过考虑改变信息来获得当前块的运动信息的方法。
II.上级块是能够使用参考画面列表0的块的情况
当上级块是能够仅使用参考画面列表0的块(例如,预测(P)条带)时,可将当前块的预测方向确定为列表0方向。改变信息表示如何确定当前块的参考画面,这将参照图29进行描述。
图29是表示根据由改变信息指示的值和包括在参考画面列表中的画面的数量来选择当前块的参考画面的方法的表格。
参照图29,当改变信息mmvd_group_idx为0时,即,当改变信息指示不改变邻近块的运动信息时,邻近块的参考画面ref_idx_curr可被确定为当前块的参考画面ref_idx。此外,差分运动矢量可被应用于邻近块的运动矢量,从而获得当前块的运动矢量。
当改变信息mmvd_group_idx为1或2时,即,当改变信息指示改变邻近块的运动信息时,可根据包括在参考画面列表0中的画面的数量自适应地选择当前块的参考画面。
更具体地,当改变信息mmvd_group_idx为1并且包括在参考画面列表0中的画面的数量Active reference number为1时,当前块的参考画面ref_idx可被选为与邻近块的参考画面ref_idx_curr相同。当包括在参考画面列表0中的画面的数量Active referencenumber不为1(例如,2或3)时,当前块的参考画面ref_idx可被选为与邻近块的参考画面ref_idx_curr不同。例如,当包括在参考画面列表0中的画面的数量Active referencenumber为2并且两个画面中的任意一个画面为邻近块的参考画面时,其余一个画面可被选为当前块的参考画面ref_idx。在图29中,当包括在参考画面列表0中的画面的数量不是1(例如,2或3)时,当前块的参考画面ref_idx可被确定为!ref_idx_curr。根据否定运算符,当邻近块的参考画面ref_idx_curr是索引为0的画面时,当前块的参考画面ref_idx可被选为索引为1的画面,并且当邻近块的参考画面ref_idx_curr是具有除了索引0之外的索引的画面时,当前块的参考画面ref_idx可被选为索引为0的画面。
然后,当改变信息为2并且包括在参考画面列表0中的画面的数量Activereference number小于3(例如,2)时,当前块的参考画面ref_idx可被选为与邻近块的参考画面ref_idx_curr相同。当改变信息为1并且包括在参考画面列表0中的画面的数量Activereference number为2时,当前块的参考画面ref_idx可被选为与邻近块的参考画面ref_idx_curr不同。因此,当改变信息为2时,当前块的参考画面ref_idx可被选为与邻近块的参考画面ref_idx_curr相同。
当改变信息为2,包括在参考画面列表0中的画面的数量Active referencenumber为3或更多,并且邻近块的参考画面ref_idx_curr的索引为2或更小时,当前块的参考画面ref_idx可被选为参考画面列表0中包括的画面之中的索引为2的画面。也就是说,当前块的参考画面ref_idx可被选为与邻近块的参考画面ref_idx_curr不同。
当改变信息为2,包括在参考画面列表0中的画面的数量Active referencenumber为3或更多,并且邻近块的参考画面ref_idx_curr的索引为2或更大时,当前块的参考画面ref_idx可被选为参考画面列表0中包括的画面之中的索引为1的画面。也就是说,当邻近块的参考画面ref_idx_curr的索引为2、3、4等时,当前块的参考画面ref_idx可被选为索引为1的画面。
当改变信息指示改变,并且与邻近块的参考画面不同的画面被包括在参考画面列表0中时,当前块的参考画面可被优先选为与邻近块的参考画面不同。另外,当没有与邻近块的参考画面不同的画面被包括在参考画面列表0中时,邻近块的参考画面可被选为当前块的参考画面。
当改变信息指示改变,并且根据改变信息选择的当前块的参考画面与邻近块的参考画面不同时,可缩放邻近块的运动矢量,并且可将差分运动矢量应用于缩放后的运动矢量,从而获得当前块的运动矢量。上面已经描述了当当前块的参考画面不同于邻近块的参考画面时通过考虑当前画面与当前块的参考画面之间的距离和当前画面与邻近块的参考画面之间的距离之比来缩放邻近块的运动矢量的方法,因此将省略其详细描述。
当改变信息指示改变,并且根据改变信息选择的当前块的参考画面与邻近块的参考画面相同时,运动信息获得器2030可将偏移应用于邻近块的运动矢量,以与改变信息指示不改变的情况区分开,并且然后将差分运动矢量应用于已经应用了偏移的运动矢量。
将参照图30描述当改变信息指示改变并且当前块的参考画面与邻近块的参考画面相同时通过将偏移应用于邻近块的运动矢量来改变邻近块的运动矢量的方法。
图30是用于描述当邻近块的参考画面与当前块的参考画面相同时改变邻近块的运动矢量的方法的示图。
根据实施例,运动信息获得器2030可通过将预设偏移与邻近块的运动矢量mv的x分量和y分量中的至少一个分量相加来改变邻近块的运动矢量mv。所述偏移可以是预定义实数。
根据实施例,所述偏移可以是奇数,例如,3。如上所述,随着由变化距离信息mmvd_distance_idx指示的值增加,变化距离可以以对数尺度增加。在这种情况下,变化距离可具有2n的值。当偏移被设置为奇数时,通过将任意差分运动矢量与邻近块的未被应用偏移的运动矢量相加而获得的结果将不同于通过将差分运动矢量与邻近块的已经被应用偏移的运动矢量相加而获得的结果。也就是说,通过应用奇数的偏移,能够被选为当前块的运动矢量的候选可以变化。
如图30中所示,运动信息获得器2030可将+3或-3的偏移应用于邻近块的运动矢量mv的x分量。将+3或-3的偏移应用于邻近块的运动矢量mv的x分量可表示在将参考画面插值为1/4像素单位时使邻近块的运动矢量移动3/4像素单位。根据实施实例,运动信息获得器2030可将+3或-3的偏移应用于邻近块的运动矢量mv的y分量,或者将+3或-3的偏移应用于邻近块的运动矢量mv的x分量和y分量。
当包括在参考画面列表0中的画面的数量为1并且改变信息具有值1时,运动信息获得器2030可将+3与邻近块的运动矢量的x分量相加,并且当改变信息具有值2时,运动信息获得器2030可将-3与邻近块的运动矢量的x分量相加。
此外,因为当包括在参考画面列表0中的画面的数量为2并且改变信息具有值1时,当前块的参考画面被选为与邻近块的参考画面不同,所以运动信息获得器2030可缩放邻近块的运动矢量。当改变信息具有值2时,运动信息获得器2030可将+3与邻近块的运动矢量的x分量相加。
当包括在参考画面列表0中的画面的数量为3或更多并且改变信息为1或2时,因为邻近块的参考画面与当前块的参考画面不同,所以运动信息获得器2030可缩放邻近块的运动矢量。
运动信息获得器2030可根据包括在参考画面列表0中的画面的数量或由改变信息指示的值,缩放邻近块的运动矢量或将偏移应用于邻近块的运动矢量,并且然后应用差分运动矢量,从而获得当前块的运动矢量。
在获得了当前块的运动信息之后,预测解码器2050可根据当前块的运动信息对当前块进行帧间预测。预测解码器2050可将与当前块的预测方向对应的参考画面列表中包括的画面之中的由参考画面索引指示的画面选为当前块的参考画面,并从该参考画面中的由当前块的运动矢量指示的参考块获得当前块的预测块。
当前块的预测块可被确定为当前块的重建块,并且根据实现示例,当残差数据被包括在比特流中时,可将残差数据应用于预测块以获得当前块的重建块。
另外,如上所述,当当前块的尺寸小于或等于预设尺寸时,尽管从当前块的上级获得的信息表示改变模式可应用,但是比特流获得器2010可不从比特流获得改变信息。在这种情况下,当邻近块的预测方向为双向时,运动信息获得器2030可将当前块的预测方向确定为列表0方向(或列表1方向),以便防止小块的双向预测。因此,运动信息获得器2030可将邻近块的列表0方向的参考画面(或邻近块的列表1方向的参考画面)确定为当前块的参考画面,并将差分运动矢量应用于邻近块的列表0方向的运动矢量(邻近块的列表1方向的运动矢量)以获得当前块的运动矢量。也就是说,根据实施例,当当前块的尺寸小时,尽管邻近块的预测方向是双向,但是可对当前块进行单向预测。
根据另一实施例,当当前块的尺寸小于或等于预设尺寸时,运动信息获得器2030可在根据预定义顺序扫描与当前块相关的邻近块时仅将经过单向预测的邻近块的运动信息包括在候选列表中。
根据另一实施例,当当前块的尺寸小于或等于预设尺寸时,运动信息获得器2030可在将与当前块相关的邻近块中的经过双向预测的邻近块的运动信息添加在候选列表中时,仅将对应邻近块的列表0方向的运动信息(例如,表示邻近块的预测方向是否为列表0方向的标志、邻近块的列表0方向的参考画面索引、以及邻近块的列表0方向的运动矢量)添加在候选列表中。
图31是表示根据实施例的对运动信息进行解码的方法的流程图。
在操作S3110,图像解码设备2000可从比特流获得指示改变或不改变在时间上或空间上与当前块相关的邻近块的运动信息的改变信息。
根据实施例,当从当前块的上级(例如,比特流的序列参数集、画面参数集、视频参数集、条带头、条带片段头、并行块头或并行块组头)获得的信息表示改变模式不可应用时,图像解码设备2000可不从比特流获得当前块的改变信息,并且当对应信息表示改变模式可应用时,图像解码设备2000可从比特流获得当前块的改变信息。
根据实施例,当当前块的尺寸小于或等于预设尺寸时,尽管从当前块的上级获得的信息表示改变模式可应用,但是图像解码设备2000可不从比特流获得改变信息。在这种情况下,当邻近块的预测方向是双向时,图像解码设备2000可将当前块的预测方向确定为列表0方向(或列表1方向)。此外,图像解码设备2000可将邻近块的列表0方向的参考画面(或邻近块的列表1方向的参考画面)确定为当前块的参考画面,并将差分运动矢量应用于邻近块的列表0方向的运动矢量(或邻近块的列表1方向的运动矢量),以获得当前块的运动矢量。
在操作S3120,当改变信息指示改变运动信息并且当前块的上级块能使用一个参考画面列表时,换言之,当当前块的上级块不能使用两个参考画面列表时,图像解码设备2000可识别包括在参考画面列表中的画面的数量。
在操作S3130,图像解码设备2000可根据包括在参考画面列表中的画面的数量从邻近块的运动信息获得当前块的运动信息。
更具体地,图像解码设备2000可根据参考画面列表中的画面的数量将邻近块的参考画面或与邻近块的参考画面不同的画面选为当前块的参考画面。此外,当邻近块的参考画面被选为当前块的参考画面时,可将偏移应用于邻近块的运动矢量的x分量和y分量中的至少一个分量以获得当前块的运动矢量。图像解码设备2000可将差分运动矢量应用于已经应用了偏移的运动矢量以获得当前块的运动矢量。
当包括在参考画面列表中的画面的数量为1时,图像解码设备2000可将邻近块的参考画面选为当前块的参考画面。当改变信息指示第一类型的改变时(例如,当改变信息具有值1时),图像解码设备2000可将+号的偏移应用于邻近块的运动矢量。当改变信息指示第二类型的改变时(例如,当改变信息具有值2时),图像解码设备2000可将-号的偏移应用于邻近块的运动矢量。
当参考画面列表中的画面的数量为2并且改变信息指示第一类型的改变时,图像解码设备2000可将当前块的参考画面确定为与邻近块的参考画面不同,并缩放邻近块的运动矢量。当参考画面列表中的画面的数量为2并且改变信息指示第二类型的改变时,图像解码设备2000可将当前块的参考画面确定为与邻近块的参考画面相同,并将偏移应用于邻近块的运动矢量的x分量和y分量中的至少一个分量。
当参考画面列表中的画面的数量为3或更多,并且改变信息指示第一类型的改变或第二类型的改变时,图像解码设备2000可将当前块的参考画面确定为与邻近块的参考画面不同,并缩放邻近块的运动矢量。此时,当改变信息指示第一类型的改变时选择的当前块的参考画面可与当改变信息指示第二类型的改变时选择的当前块的参考画面不同。
图像解码设备2000可将差分运动矢量应用于邻近块的运动矢量、邻近块的缩放后的运动矢量或邻近块的已经应用了偏移的运动矢量,以获得当前块的运动矢量。
在操作S3140,图像解码设备2000可通过使用当前块的运动信息来重建当前块。
图像解码设备2000可从与当前块的预测方向对应的参考画面列表中所包括的画面中将由参考画面索引指示的画面选为当前块的参考画面,并从参考画面中的由当前块的运动矢量指示的参考块获得当前块的预测块。
根据实施例,可将当前块的预测块确定为当前块的重建块,并且根据实施示例,当残差数据被包括在比特流中时,可将残差数据应用于预测块,从而获得当前块的重建块。
图32是表示根据另一实施例的对运动信息进行解码的方法的流程图。
在操作S3210,图像解码设备2000可从比特流获得指示改变或不改变在时间上或空间上与当前块相关的邻近块的运动信息的改变信息。
根据实施例,当从当前块的上级(例如,比特流的序列参数集、画面参数集、视频参数集、条带头、条带片段头、并行块头或并行块组头)获得的信息表示改变模式未被应用时,图像解码设备2000可不从比特流获得当前块的改变信息,并且当对应信息表示改变模式不可应用时,图像解码设备2000可不从比特流获得当前块的改变信息,并且当对应信息表示改变模式可应用时,图像解码设备2000可从比特流获得当前块的改变信息。
根据实施例,当当前块的尺寸小于或等于预设尺寸时,尽管从当前块的上级获得的信息表示改变模式可应用,但是图像解码设备2000可不从比特流获得改变信息。在这种情况下,当邻近块的预测方向是双向时,图像解码设备2000可将当前块的预测方向确定为列表0方向(或列表1方向)。此外,图像解码设备2000可将邻近块的列表0方向的参考画面(或邻近块的列表1方向的参考画面)确定为当前块的参考画面,并将差分运动矢量应用于邻近块的列表0方向的运动矢量(邻近块的列表1方向的运动矢量)以获得当前块的运动矢量。
在操作S3220,当改变信息指示改变运动信息并且当前块的上级块能使用两个参考画面列表时,图像解码设备2000可改变邻近块的预测方向,并将改变后的预测方向确定为当前块的预测方向。
根据实施例,图像解码设备2000可通过考虑由改变信息指示的值和邻近块的预测方向来确定从邻近块的预测方向改变的当前块的预测方向。更具体地,当邻近块的预测方向是列表0方向或列表1方向,并且改变信息具有值1时,当前块的预测方向可被确定为双向。当邻近块的预测方向是列表0方向并且改变信息具有值2时,当前块的预测方向可被确定为列表1方向。当邻近块的预测方向是列表1方向并且改变信息具有值2时,当前块的预测方向可被确定为列表0方向。此外,当邻近块的预测方向是双向并且改变信息具有值1时,当前块的预测方向可被确定为列表0方向,并且当改变信息具有值2时,当前块的预测方向可被确定为列表1方向。
在操作S3230,当邻近块的预测方向是作为列表0方向和列表1方向中的任意一个方向的第一单向,并且当前块的预测方向是作为列表0方向和列表1方向中的另一个方向的第二单向或者双向时,图像解码设备2000可通过考虑当前画面与包括在与第一单向对应的第一参考画面列表中的邻近块的第一单向的参考画面之间的距离,从与第二单向对应的第二参考画面列表选择当前块的第二单向的参考画面。上面已经在“2、邻近块的预测方向是列表0方向并且当前块的预测方向是列表1方向的情况”、“3、邻近块的预测方向是列表1方向并且当前块的预测方向是列表0方向的情况”、“4、邻近块的预测方向是列表0方向并且当前块的预测方向是双向的情况”以及“5、邻近块的预测方向是列表1方向并且当前块的预测方向是双向的情况”中描述了选择当前块的第二单向的参考画面的方法,因此将省略其详细描述。
当邻近块的预测方向是双向并且当前块的预测方向是列表0方向时,图像解码设备2000可将邻近块的列表0方向的参考画面选为当前块的列表0方向的参考画面,并且当当前块的预测方向是列表1方向时,图像解码设备2000可将邻近块的列表1方向的参考画面选为当前块的列表1方向的参考画面。
在操作S3240,图像解码设备2000可缩放邻近块的运动矢量以获得当前块的运动矢量。
当邻近块的预测方向是第一单向并且当前块的预测方向是第二单向时,图像解码设备2000可根据当前画面与邻近块的第一单向的参考画面之间的距离和当前画面与当前块的第二单向的参考画面之间的距离之比来缩放邻近块的第一单向的运动矢量。图像解码设备2000可将差分运动矢量应用于缩放后的运动矢量以获得当前块的第二单向的运动矢量。
当邻近块的预测方向是第一单向并且当前块的预测方向是双向时,图像解码设备2000可根据当前画面与邻近块的第一单向的参考画面之间的距离和当前画面与当前块的第二单向的参考画面之间的距离之比来缩放邻近块的第一单向的运动矢量,从而获得当前块的第二单向的运动矢量。图像解码设备2000可缩放邻近块的第一单向的运动矢量,并将差分运动矢量应用于缩放结果以获得当前块的第二单向的运动矢量。此外,图像解码设备2000可在不缩放邻近块的第一单向的运动矢量的情况下将差分运动矢量应用于邻近块的第一单向的运动矢量,从而获得当前块的第一单向的运动矢量。
当邻近块的预测方向是双向并且当前块的预测方向是列表0方向时,图像解码设备2000可将差分运动矢量应用于邻近块的列表0方向的运动矢量,以获得当前块的列表0方向的运动矢量。此外,当邻近块的预测方向是双向并且当前块的预测方向是列表1方向时,图像解码设备2000可将差分运动矢量应用于邻近块的列表1方向的运动矢量,以获得当前块的列表1方向的运动矢量。
在操作S3250,图像解码设备2000可通过使用当前块的运动信息来重建当前块。
图像解码设备2000可将与当前块的预测方向对应的参考画面列表中包括的画面中的由参考画面索引指示的画面选为当前块的参考画面,并从该参考画面中的由当前块的运动矢量指示的参考块获得当前块的预测方向。
根据实施例,可将当前块的预测块确定为当前块的重建块,并且根据实施示例,当残差数据被包括在比特流中时,可将残差数据应用于预测方向,从而获得当前块的重建块。图33是示出根据实施例的图像编码设备3300的框图。
参照图33,图像编码设备3300可包括预测编码器3310和比特流生成器3330。预测编码器3310可对应于图2的编码器220,并且比特流生成器3330可对应于图2的比特流生成器210。
根据实施例的预测编码器3310和比特流生成器3330可被实现为至少一个处理器。图像编码设备3300可包括存储预测编码器3310和比特流生成器3330的输入/输出数据的至少一个存储器(未示出)。此外,图像编码设备3300可包括用于控制输入到存储器(未示出)/从存储器(未示出)输出的数据的存储器控制器(未示出)。
预测编码器3310可根据预测模式对图像进行编码,并且比特流生成器3330可生成包括作为对图像进行编码的结果而生成的信息的比特流。
预测编码器3310可确定当前图像中的当前块的预测模式。当当前块的预测模式被确定为帧间预测模式时,比特流生成器3330可将表示当前块的运动信息的信息包括在比特流中。
当当前块的预测模式是从邻近块的运动信息推导当前块的运动信息的模式时,预测编码器3310可建立包括在时间上或空间上与当前块相关的邻近块的运动信息作为候选的候选列表。预测编码器3310可从候选列表中包括的运动信息中选择任意一条信息以推导当前块的运动信息。
预测编码器3310可确定改变模式对于包括在当前块的上级块(例如,画面序列、画面、视频、条带、条带片段或并行块)中的下级块是否可应用。当改变模式对于包括在上级块中的下级块可应用时,预测编码器3310可确定是否改变邻近块的运动信息,以便推导当前块的运动信息。
当当前块的尺寸小于或等于预设尺寸时,尽管改变模式对于包括在上级块中的下级块可应用,但是预测编码器3310可确定不改变邻近块的运动信息。
当预测编码器3310确定不改变邻近块的运动信息时,预测编码器3310可获得邻近块的运动矢量与当前块的运动矢量之间的差作为差分运动矢量。此外,比特流生成器3330可生成包括指示不改变邻近块的运动信息的改变信息、指示候选列表中包括的候选中的任意一个候选的信息和指示差分运动矢量的信息的比特流。
当当前块的尺寸小于或等于预设尺寸时,预测编码器3310可获得邻近块的运动矢量与当前块的运动矢量之间的差作为差分运动矢量。此外,比特流生成器3330可生成包括指示候选列表中包括的候选中的任意一个候选的信息和指示差分运动矢量的信息的比特流。
当预测编码器3310确定改变邻近块的运动矢量时,预测编码器3310可通过考虑包括当前块的上级块可使用的参考画面列表的数量是1还是2来确定如何改变邻近块的运动信息。
如上所述,当上级块可仅使用参考画面列表0时,预测编码器3310可通过考虑包括在参考画面列表0中的画面的数量来选择当前块的参考画面。
此外,当上级块可使用参考画面列表0和参考画面列表1时,预测编码器3310可确定邻近块的预测方向将改变为哪个方向,并且通过考虑邻近块的预测方向、从邻近块的预测方向改变的方向和邻近块的参考画面来选择当前块的参考画面。
在上面关于图像解码设备2000的描述中已经详细描述了当上级块可仅使用参考画面列表0时以及当上级块可使用参考画面列表0和参考画面列表1时选择当前块的参考画面的方法,因此将省略其描述。
当上级块可仅使用参考画面列表0并且当前块的参考画面与邻近块的参考画面相同时,预测编码器3310可将偏移应用于邻近块的运动矢量的x分量和y分量中的至少一个分量。
当上级块可仅使用参考画面列表0并且当前块的参考画面与邻近块的参考画面不同时,预测编码器3310可根据当前画面和邻近块的参考画面之间的距离与当前画面和当前块的参考画面之间的距离之比来缩放邻近块的运动矢量。
此外,当上级块可使用参考画面列表0和参考画面列表1,并且当前块的参考画面与邻近块的参考画面不同时,预测编码器3310可根据当前画面和邻近块的参考画面之间的距离与当前画面和当前块的参考画面之间的距离之比来缩放邻近块的运动矢量。
预测编码器3310可获得差分运动矢量,其中,所述差分运动矢量是当前块的运动矢量与邻近块的运动矢量、与邻近块的缩放后的运动矢量或与邻近块的已经应用了偏移的运动矢量之间的差。
比特流生成器3330可生成作为当前块的运动信息的比特流,其中,所述比特流包括表示邻近块的信息、表示邻近块的运动信息是否需要改变及当邻近块的运动信息需要改变时如何改变邻近块的运动信息的改变信息、以及表示差分运动矢量的信息。当当前块的尺寸小于或等于预设尺寸时,改变信息可不被包括在比特流中。
根据实施例,表示差分运动矢量的信息可包括变化距离信息和变化方向信息。
图34是示出根据实施例的对运动信息进行编码的方法的流程图。
在操作S3410,图像编码设备3300可确定在时间上或空间上与当前块相关的邻近块的运动信息是否需要改变,以便推导当前块的运动矢量。
根据实施例,图像编码设备3300可确定改变模式在当前块的上级(例如,画面序列、画面视频、条带、条带片段或并行块)是否可应用,并且当图像编码设备3300确定改变模式在上级可应用时,图像编码设备3300可确定邻近块的运动信息是否需要改变,以便获得当前块的运动信息。
根据实施例,当当前块的尺寸小于或等于预设尺寸时,尽管图像编码设备3300确定改变模式在当前块的上级可应用,但是图像编码设备3300可确定不改变邻近块的运动信息。
在操作S3420,图像编码设备3300可生成比特流,其中,所述比特流包括指示邻近块中的被用于推导当前块的运动信息的邻近块的信息、表示改变或不改变邻近块的运动信息的信息和指示差分运动矢量的信息。
当改变模式被确定为在上级不可应用时或者当当前块的尺寸小于或等于预设尺寸时,改变信息可不被包括在比特流中。
图像编码设备3300可获得当前块的运动矢量与邻近块的运动矢量、与邻近块的缩放后的运动矢量或与邻近块的已经应用了偏移的运动矢量之间的差作为差分运动矢量。图像编码设备3300可将表示差分运动矢量的变化距离信息和变化方向信息包括在比特流中。
上面已经描述了当指示改变的改变信息被生成时根据包括当前块的上级块可使用的参考画面列表的数量从邻近块的运动信息推导当前块的运动信息的方法,因此将省略其详细描述。
图35至图38是示出根据实施例的获得当前块的运动信息的处理的示图。
参照图35,在操作S3510,邻近块的列表0方向的运动矢量mvL0可被设置为当前块的列表0方向的运动矢量mMvL0,并且邻近块的列表1方向的运动矢量mvL1可被设置为当前块的列表1方向的运动矢量mMvL1。
尽管图35中未示出,但邻近块的列表0方向的参考画面索引和邻近块的列表1方向的参考画面索引可分别被设置为当前块的列表0方向的参考画面索引refIdxL0和当前块的列表1方向的参考画面索引refIdxL1。此外,表示邻近块的预测方向是否为列表0方向的标志的值和表示邻近块的预测方向是否为列表1方向的标志的值可分别被设置为表示当前块的预测方向是否为列表0方向的predFlagL0的值和表示当前块的预测方向是否为列表1方向的predFlagL1的值。
可根据改变信息来更新mMvL0、mMvL1、refIdxL0、refIdxL1、predFlagL0和predFlagL1中的至少一个,这将在下面检查。
在操作S3520,当变化信息mmvd_group_idx的值为1,并且表示当前块的预测方向是否为列表0方向的predFlagL0和表示当前块的预测方向是否为列表1方向的predFlagL1都为1时(即,当邻近块的预测方向为双向时),当前块的列表1方向的参考画面索引refIdx1可被确定为1,predFlagL1可被确定为0,并且当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1])可被确定为0。也就是说,当改变信息mmvd_group_idx的值为1并且邻近块的预测方向为双向时,邻近块的列表1方向的运动信息可不被用于当前块的帧间预测。
在操作S3530,当改变信息mmvd_group_idx的值为2,并且当前块的predFlagL0和predFlagL1都为1时(即,当邻近块的预测方向为双向时),当前块的列表0方向的参考画面索引refIdx0可被确定为-1,predFlagL0可被确定为0,并且当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])可被确定为0。也就是说,当改变信息mmvd_group_idx的值为2并且邻近块的预测方向为双向时,邻近块的列表0方向的运动信息可不被用于当前块的帧间预测。
然后,参照图36,在操作S3610,当改变信息mmvd_group_idx的值是1且包括当前块的条带是B条带,并且当前块的predFlagL0是1时(即,当邻近块的预测方向是列表0方向时),当前块的predFlagL1可被设置为1。也就是说,邻近块的预测方向(为列表0方向)可改变为双向,并且当前块的预测方向可被确定为双向。
在操作S3620,当包括在参考画面列表1中的画面的数量NumRefIdxActive[1]大于1,并且当前画面currPic与参考画面列表1中的具有索引1的画面RefPicList[1]之间的距离DiffPicOrderCnt等于当前画面currPic与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离DiffPicOrderCnt时,当前块的列表1方向的参考画面索引refIdxL1可被选为1。当包括在参考画面列表1中的画面的数量NumRefIdxActive[1]不大于1时,或者当当前画面currPic与参考画面列表1中的具有索引1的画面RefPicList1[1]之间的距离DiffPicOrderCnt不等于当前画面currPic与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离DiffPicOrderCnt时,当前块的列表1方向的参考画面索引refIdxL1可被选为0。DiffPicOrderCnt(picA,picB)可以是表示画面A和画面B的POC之间的差(即,POC(picA)-POC(picB))的运算符。
在操作S3630,可获得当前画面与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离currPocDiffL0以及当前画面与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离currPocDiffL1。包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]可与包括在参考画面列表0中的邻近块的参考画面相同。
根据currPocDiffL0与currPocDiffL1之间的比率,可获得缩放因子distScaleFactor,并且可根据缩放因子distScaleFactor缩放当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1]),从而获得当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1])。当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])可与邻近块的列表0方向的运动矢量相同。也就是说,可在不缩放邻近块的列表0方向的运动矢量的情况下获得当前块的列表0方向的运动矢量,并且可通过缩放邻近块的列表0方向的运动矢量来获得当前块的列表1方向的运动矢量。
在操作S3640,当改变信息mmvd_group_idx的值是1,包括当前块的条带是P条带,并且当前块的预测方向是列表0方向(predFlagL0=1)时,可检查包括在参考画面列表0中的画面的数量NumRefIdxActive[0]。当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]为1时,可将当前块的列表0方向的参考画面索引refIdxL0(即,邻近块的列表0方向的参考画面索引)分配给targetrefIdxL0,并且当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]不为1时,可将参考画面索引refIdxL0(即,与当前块的列表0方向的参考画面索引不同的索引!refIdxL0)分配给targetrefIdxL0。targetrefIdxL0可以是用于推导当前块的列表0方向的参考画面索引的中间变量。
在操作S3650中,当targetrefIdx0与当前块的列表0方向的参考画面索引refIdxL0相同时,当前块的列表0方向的运动矢量的x分量mMvL0[0](与邻近块的列表0方向的运动矢量的x分量相同)可与3相加以更新当前块的列表0方向的运动矢量的x分量mMvL0[0],并且当前块的列表0方向的运动矢量的y分量mMvL0[1]可照原样被保持。
当targetrefIdxL0与当前块的列表0方向的参考画面索引refIdx0不相同时,可获得当前画面currPic与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离currPocDiffL0以及当前画面currPic与参考画面列表0中的由targetrefIdxL0指示的画面RefPicList0[targetrefIdxL0]之间的距离currPocDiffL1。此外,可根据currPocDiffL0与currPocDiffL1之间的比率来获得缩放因子distScaleFactor。当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])(与邻近块的列表0方向的运动矢量相同)可根据缩放因子distScaleFactor而被缩放,并且因此被更新。
在操作S3660,targetrefIdxL0可被设置为当前块的列表0方向的参考画面索引refIdxL0。
在操作S3670,当改变信息mmvd_group_idx的值是1并且当前块的预测方向是列表1方向(predFlagL1=1,predFlagL0=0)时,predFlagL0可被设置为1。也就是说,predFlagL0为0且predFlagL1为1的邻近块的预测方向可改变为predFlagL0和predFlagL1都为1的双向,并且当前块的预测方向可改变为双向。
在操作S3680中,当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]大于1并且当前画面currPic与参考画面列表0中的具有索引1的画面RefPicList0[1]之间的距离DiffPicOrderCnt等于当前画面currPic与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离DiffPicOrderCnt时,1可被选为当前块的列表0方向的参考画面索引refIdxL0。当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]不大于1时,或者当当前画面currPic与参考画面列表0中的具有索引1的画面RefPicList0[1]之间的距离DiffPicOrderCnt不等于当前画面currPic与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离DiffPicOrderCnt时,0可被选为当前块的列表0方向的参考画面索引refIdxL0。
在操作S3690,可获得当前画面与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离currPocDiffL0以及当前画面与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离currPocDiffL1。包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]可与包括在参考画面列表1中的邻近块的参考画面相同。
可根据currPocDiffL0与currPocDiffL1之间的比率获得缩放因子distScaleFactor,并且可根据缩放因子distScaleFactor缩放当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1]),以获得当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])。当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1])可与邻近块的列表1方向的运动矢量相同。也就是说,可在不缩放邻近块的列表1方向的运动矢量的情况下获得当前块的列表1方向的运动矢量,并且可通过缩放邻近块的列表1方向的运动矢量来获得当前块的列表0方向的运动矢量。
然后,参照图37,在操作S3710,当改变信息mmvd_group_idx的值是2,包括当前块的条带是B条带,并且当前块的predFlagL0是1(即,当邻近块的预测方向是列表0方向时)时,当前块的predFlagL1可被设置为1。
在操作S3720,当包括在参考画面列表1中的画面的数量NumRefIdxActive[1]大于1,并且当前画面currPic与参考画面列表1中的具有索引1的画面RefPicList1[1]之间的距离DiffPicOrderCnt等于当前画面currPic与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离DiffPicOrderCnt时,当前块的列表1方向的参考画面索引refIdxL1可被选为1。当包括在参考画面列表1中的画面的数量NumRefIdxActive[1]不大于1时,或者当当前画面currPic与参考画面列表1中的具有索引1的画面RefPicList1[1]之间的距离DiffPicOrderCnt不等于当前画面currPic与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离DiffPicOrderCnt时,当前块的列表1方向的参考画面索引refIdxL1可被选为0。
在操作S3730,可获得当前画面与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离currPocDiffL0以及当前画面与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离currPocDiffL1。包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]可与包括在参考画面列表0中的邻近块的参考画面相同。
可根据currPocDiffL0与currPocDiffL1之间的比率获得缩放因子distScaleFactor,并且可根据缩放因子distScaleFactor缩放当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1]),以获得当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1]。当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])可与邻近块的列表0方向的运动矢量相同。
在操作S3740,当前块的列表0方向的参考画面索引refidxL0可被设置为-1,并且表示当前块的预测方向是否是列表0方向的predFlagL0和当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])可被设置为0。因此,仅当前块的列表1方向的运动信息可被用于当前块的帧间预测。
在操作S3750,当改变信息的值是2,包括当前块的条带是P条带,当前块的预测方向是列表0方向(predFlagL0=1)时,可检查包括在参考画面列表0中的画面的数量NumRefIdxActive[0]。当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]小于3时,可将当前块的列表0方向的参考画面索引refIdxL0(即,邻近块的列表0方向的参考画面索引)分配给targetrefIdxL0。当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]为3或更多时,在当前块的列表0方向的参考画面索引refIdxL0(即,邻近块的列表0方向的参考画面索引)小于2时,可将2分配给targetrefIdxL0,并且在当前块的列表0方向的参考画面索引refIdxL0不小于2时,可将1分配给targetrefIdxL0。targetrefIdxL0可以是用于推导当前块的列表0方向的参考画面索引的中间变量。
在操作S3760,当targetrefIdxL0与当前块的列表0方向的参考画面索引refIdxL0相同时,可通过从当前块的列表0方向的运动矢量的x分量mMvL0[0]减去3来更新当前块的列表0方向的运动矢量的x分量mMvL0[0](与邻近块的列表0方向的运动矢量的x分量相同),并且可照原样保持当前块的列表0方向的运动矢量的y分量mMvL0[1]。
当targetrefIdxL0与当前块的列表0方向的参考画面索引refIdxL0不相同时,可获得当前画面currPic与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离currPocDiffL0以及当前画面currPic与参考画面列表0中的由targetrefIdxL0指示的画面RefPicList0[targetrefIdxL0]之间的距离currPocDiffL1。然后,可根据currPocDiffL0与currPocDiffL1之间的比率来获得缩放因子distScaleFactor。可根据缩放因子distScaleFactor来缩放当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])(与邻近块的列表0方向的运动矢量相同),从而更新当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])。
在操作S3770,targetrefIdxL0可被设置为当前块的列表0方向的参考画面refIdxL0。
在操作S3780,当改变信息mmvd_group_idx的值为2,并且当前块的预测方向是列表1方向(predFlagL1=1且predFlagL0=0)时,predFlagL0可被设置为1。
在操作S3790,当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]大于1,并且当前画面currPic与参考画面列表0中的具有索引1的画面RefPicList0[1]之间的距离DiffPicOrderCnt等于当前画面currPic与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离DiffPicOrderCnt时,1可被选为当前块的列表0方向的参考画面索引refIdxL0。当包括在参考画面列表0中的画面的数量NumRefIdxActive[0]不大于1时,或者当当前画面currPic与参考画面列表0中的具有索引1的画面RefPicList0[1]之间的距离DiffPicOrderCnt不等于当前画面currPic与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离DiffPicOrderCnt时,0可被选为当前块的列表0方向的参考画面索引refIdxL0。
在操作S3795,可获得当前画面与包括在参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离currPocDiffL0以及当前画面与包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离currPocDiffL1。包括在参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]可与包括在参考画面列表1中的邻近块的参考画面相同。
可根据currPocDiffL0与currPocDiffL1之间的比率获得缩放因子distScaleFactor,并且可根据缩放因子distScaleFactor缩放当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1]),从而获得当前块的列表0方向的运动矢量(mMvL0[0],mMvL0[1])。当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1])可与邻近块的列表1方向的运动矢量相同。
当前块的列表1方向的参考画面索引refIdxL1可被设置为-1,并且表示当前块的预测方向是否是列表1方向的predFlagL1和当前块的列表1方向的运动矢量(mMvL1[0],mMvL1[1])可被设置为0。因此,仅当前块的列表0方向的运动信息可被用于当前块的帧间预测。
图38示出将差分运动矢量应用于当前块的运动矢量的处理。
在操作S3810,当predFlagL0和predFlagL1都为1时(即,当当前块的预测方向为双向时),可获得当前画面currPic与参考画面列表0中的当前块的参考画面RefPicList0[refIdxL0]之间的距离currPocDiffL0以及当前画面currPic与参考画面列表1中的当前块的参考画面RefPicList1[refIdxL1]之间的距离currPocDiffL1。
MmvdOffset可以是从比特流中包括的变化距离信息和变化方向信息计算出的值,并且当currPocDiffL0的绝对值Abs(currPocDiffL0)等于currPocDiffL1的绝对值Abs(currPocDiffL1)时,当前块的列表0方向的差分运动矢量mMvdL0和当前块的列表1方向的差分运动矢量mMvdL1都可被设置为MmvdOffset。
在操作S3820,当Abs(currPocDiffL0)大于Abs(currPocDiffL1)时,当前块的列表1方向的差分运动矢量mMvdL1可被设置为MmvdOffset。此外,可获得和Abs(currPocDiffL0)与Abs(currPocDiffL1)之间的比率对应的缩放因子distScaleFactor,并且可根据缩放因子distScaleFactor来缩放当前块的列表1方向的差分运动矢量mMvdL1,从而获得当前块的列表0方向的差分运动矢量mMvdL0。
在操作S3830,当Abs(currPocDiffL0)小于Abs(currPocDiffL1)时,当前块的列表0方向的差分运动矢量mMvdL0可被设置为MmvdOffset。然后,可获得和Abs(currPocDiffL0)与Abs(currPocDiffL1)之间的比率对应的缩放因子distScaleFactor,并且可根据缩放因子缩放当前块的列表0方向的差分运动矢量mMvdL0,从而获得当前块的列表1方向的差分运动矢量mMvdL1。
在操作S3840,当由currPocDiffL0乘以currPocDiffL1得到的值小于0时,即,当当前画面的POC具有在参考画面列表1中的当前块的参考画面的POC与参考画面列表0中的当前块的参考画面的POC之间的值时,列表1方向的差分运动矢量mMvdL1的符号可被转换为相反符号。
在操作S3850,当当前块的预测方向是列表0方向时,列表0方向的差分运动矢量mMvdL0可被设置为MmvdOffset,并且当当前块的预测方向是列表1方向时,列表1方向的差分运动矢量mMvdL1可被设置为MmvdOffset。
在操作S3860,可将列表0方向的差分运动矢量mMvdL0与当前块的列表0方向的运动矢量mMvL0相加,从而更新当前块的列表0方向的运动矢量mMvL0。然后,可将列表1方向的差分运动矢量mMvdL1与当前块的列表1方向的运动矢量mMvL1相加,从而更新当前块的列表1方向的运动矢量mMvL1。如上所述,当当前块的预测方向为列表0方向时,当前块的列表1方向的运动矢量mMvL1和列表1方向的差分运动矢量mMvdL1都可具有值0,并且当当前块的预测方向为列表1方向时,当前块的列表0方向的运动矢量mMvL0和列表0方向的差分运动矢量mMvdL0可具有值0。
另外,本公开的实施例可被编写为可在计算机上执行的程序,并且所述程序可被存储在介质中。
介质可持续地存储计算机可执行程序或者临时存储计算机可执行程序以供执行或下载。此外,介质可以是将单件或多件硬件进行组合的各种记录介质或存储介质中的任意一种,并且介质或计算机程序产品不限于直接连接到特定计算机***的那些介质或计算机程序产品,而是可被分布在网络上。介质的示例包括被配置为存储程序指令的磁性介质(例如,硬盘、软盘和磁带)、光学记录介质(例如,光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光介质(例如,软光盘)、只读存储器(ROM)、随机存取存储器(RAM)、闪存等。此外,介质的其他示例包括由分发应用的应用商店或者由提供或分发其他各种类型的软件的网站、服务器等管理的记录介质和存储介质。
到目前为止,已经基于优选实施例详细描述了本公开的技术构思,然而,本公开的技术构思不限于上述实施例,并且本领域普通技术人员可在本公开的技术构思的范围内进行各种修改和改变。

Claims (11)

1.一种由解码设备执行的对运动信息进行解码的方法,所述方法包括:
从比特流获得指示是否改变与当前块相关的邻近块的运动信息的改变信息;
当所述改变信息指示改变所述运动信息时,通过改变所述邻近块的预测方向来确定所述当前块的预测方向;
当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,通过考虑当前画面与包括在第一参考画面列表中的所述邻近块的第一单向的参考画面之间的距离,从第二参考画面列表选择所述当前块的第二单向的参考画面;
通过将差分运动矢量应用于从所述邻近块的第一单向的运动矢量缩放得到的运动矢量来获得所述当前块的第二单向的运动矢量;并且
通过使用所述当前块的第二单向的参考画面中的由所述当前块的第二单向的运动矢量指示的参考块来重建所述当前块。
2.如权利要求1所述的方法,其中,选择所述当前块的第二单向的参考画面的步骤包括:当包括在第二参考画面列表中的画面的数量大于n,并且所述当前画面与所述邻近块的第一单向的参考画面之间的距离等于所述当前画面与具有索引n且包括在第二参考画面列表中的画面之间的距离时,选择所述具有索引n的画面作为所述当前块的第二单向的参考画面,其中,n为自然数。
3.如权利要求2所述的方法,其中,选择所述当前块的第二单向的参考画面的步骤包括:当包括在第二参考画面列表中的画面的数量小于或等于n时,选择具有索引0且包括在第二参考画面列表中的画面作为所述当前块的第二单向的参考画面。
4.如权利要求2所述的方法,其中,选择所述当前块的第二单向的参考画面的步骤包括:当所述当前画面与所述邻近块的第一单向的参考画面之间的距离不等于所述当前画面与所述具有索引n的画面之间的距离时,选择具有索引0且包括在第二参考画面列表中的画面作为所述当前块的第二单向的参考画面。
5.如权利要求1所述的方法,其中,当所述当前块的预测方向为双向时,获得所述当前块的第二单向的运动矢量的步骤包括:通过将差分运动矢量应用于所述邻近块的第一单向的运动矢量来获得所述当前块的第一单向的运动矢量,并且
重建所述当前块的步骤包括:通过进一步使用所述当前块的第一单向的参考画面中的由所述当前块的第一单向的运动矢量指示的参考块来重建所述当前块。
6.如权利要求5所述的方法,其中,根据所述当前画面与所述当前块的第一单向的参考画面之间的距离和所述当前画面与所述当前块的第二单向的参考画面之间的距离之间的比较的结果,缩放后的差分运动矢量被应用于所述邻近块的第一单向的运动矢量或从所述邻近块的第一单向的运动矢量缩放得到的运动矢量。
7.如权利要求6所述的方法,其中,当所述当前画面的POC具有在所述当前块的第一单向的参考画面的POC与所述当前块的第二单向的参考画面的POC之间的值时,缩放后的差分运动矢量的符号被确定为与未被缩放的差分运动矢量的符号不同。
8.如权利要求1所述的方法,还包括:当所述邻近块的预测方向为双向并且所述当前块的预测方向为第一单向时,通过将所述差分运动矢量应用于所述邻近块的第一单向的运动矢量来获得所述当前块的第一单向的运动矢量,并且通过使用所述邻近块的第一单向的参考画面中的由所述当前块的第一单向的运动矢量指示的参考块来重建所述当前块。
9.如权利要求1所述的方法,其中,当所述改变信息指示不改变所述运动信息时,所述当前块是通过使用所述邻近块的参考画面中的由所述当前块的运动矢量指示的参考块而被重建的,其中,所述当前块的运动矢量是通过将所述差分运动矢量应用于所述邻近块的运动矢量而获得的。
10.一种对运动信息进行解码的设备,所述设备包括:
比特流获得器,被配置为从比特流获得指示是否改变与当前块相关的邻近块的运动信息的改变信息;
运动信息获得器,被配置为当所述改变信息指示改变所述运动信息时,通过改变所述邻近块的预测方向来确定所述当前块的预测方向,当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,通过考虑当前画面与包括在第一参考画面列表中的所述邻近块的第一单向的参考画面之间的距离从第二参考画面列表选择所述当前块的第二单向的参考画面,并且通过将差分运动矢量应用于从所述邻近块的第一单向的运动矢量缩放得到的运动矢量来获得所述当前块的第二单向的运动矢量;以及
预测解码器,被配置为通过使用所述当前块的第二单向的参考画面中的由所述当前块的第二单向的运动矢量指示的参考块来重建所述当前块。
11.一种对运动信息进行编码的方法,所述方法包括:
确定是否改变与当前块相关的邻近块的运动信息;并且
生成比特流,其中,所述比特流包括指示所述邻近块的信息、指示是否改变运动信息的改变信息和指示差分运动矢量的信息,
其中,当所述邻近块的预测方向为第一单向并且所述当前块的预测方向为第二单向或双向时,所述当前块的第二单向的参考画面被选为第二参考画面列表中的与当前画面间隔开所述当前画面与包括在第一参考画面列表中的所述邻近块的第一单向的参考画面之间的距离的画面,并且
所述差分运动矢量对应于从所述邻近块的第一单向的运动矢量缩放得到的运动矢量与所述当前块的运动矢量之间的差。
CN202080048180.4A 2019-07-01 2020-07-01 用邻近运动信息对运动信息进行编码和解码的装置和方法 Pending CN114128292A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962869097P 2019-07-01 2019-07-01
US62/869,097 2019-07-01
US202062956689P 2020-01-03 2020-01-03
US62/956,689 2020-01-03
PCT/KR2020/008596 WO2021002673A1 (ko) 2019-07-01 2020-07-01 주변 움직임 정보를 이용하여 움직임 정보를 부호화 및 복호화하는 장치, 및 방법

Publications (1)

Publication Number Publication Date
CN114128292A true CN114128292A (zh) 2022-03-01

Family

ID=74100233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080048180.4A Pending CN114128292A (zh) 2019-07-01 2020-07-01 用邻近运动信息对运动信息进行编码和解码的装置和方法

Country Status (4)

Country Link
EP (1) EP3996371A4 (zh)
KR (4) KR102230265B1 (zh)
CN (1) CN114128292A (zh)
WO (1) WO2021002673A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202106027A (zh) * 2019-06-21 2021-02-01 南韓商三星電子股份有限公司 用於解碼動作資訊的裝置及方法和用於編碼動作資訊的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8855205B2 (en) * 2010-05-26 2014-10-07 Newratek Inc. Method of predicting motion vectors in video codec in which multiple references are allowed, and motion vector encoding/decoding apparatus using the same
WO2012128540A2 (ko) * 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
KR101960761B1 (ko) * 2011-11-24 2019-03-22 에스케이텔레콤 주식회사 모션 벡터의 예측 부호화/복호화 방법 및 장치
US20130272409A1 (en) * 2012-04-12 2013-10-17 Qualcomm Incorporated Bandwidth reduction in video coding through applying the same reference index
CN105637871B (zh) * 2013-10-17 2018-08-10 联发科技股份有限公司 三维或多视图视频编码方法
WO2016085231A1 (ko) * 2014-11-27 2016-06-02 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3355578B1 (en) * 2015-09-24 2020-12-09 LG Electronics Inc. Motion vector predictor derivation and candidate list construction

Also Published As

Publication number Publication date
KR20210003059A (ko) 2021-01-11
KR102230265B1 (ko) 2021-03-19
KR20210031886A (ko) 2021-03-23
KR102427330B1 (ko) 2022-07-29
KR20220110461A (ko) 2022-08-08
US20220124316A1 (en) 2022-04-21
KR102546695B1 (ko) 2023-06-22
EP3996371A1 (en) 2022-05-11
KR102427329B1 (ko) 2022-07-29
WO2021002673A1 (ko) 2021-01-07
KR20210031887A (ko) 2021-03-23
EP3996371A4 (en) 2023-08-02

Similar Documents

Publication Publication Date Title
CN111095926A (zh) 用于对运动信息进行编码和解码的方法以及用于对运动信息进行编码和解码的装置
KR102349457B1 (ko) 움직임 벡터 차분의 부호화 방법 및 부호화 장치, 및 움직임 벡터 차분의 복호화 방법 및 복호화 장치
CN111108750A (zh) 用于对运动信息进行编码和解码的方法以及用于对运动信息进行编码和解码的设备
CN111386705A (zh) 用于对运动信息进行编码的设备和方法以及解码设备和方法
CN113228648A (zh) 使用三角形预测模式的图像编码装置和图像解码装置及其执行的图像编码方法和图像解码方法
CN113056919A (zh) 使用双向预测的图像编码和解码方法以及图像编码和解码设备
CN114641999A (zh) 使用工具集的图像解码装置及其图像解码方法、和图像编码装置及其图像编码方法
KR102332529B1 (ko) 주변 움직임 정보를 이용하여 움직임 정보를 부호화 및 복호화하는 장치, 및 방법
KR102546695B1 (ko) 주변 움직임 정보를 이용하여 움직임 정보를 부호화 및 복호화하는 장치, 및 방법
CN111095925A (zh) 通过使用基本运动矢量对运动矢量进行编码的设备和方法以及解码设备和方法
KR102302201B1 (ko) 서브 블록 기반으로 영상을 복호화하는 방법 및 장치, 부호화 방법 및 장치
EP4135327A1 (en) Device and method for encoding motion vector, and device and method for decoding motion vector
EP3972250A1 (en) Method and device for encoding video on basis of video size, and method and device for decoding video on basis of video size
CN114073080A (zh) 通过考虑编码顺序来执行基于仿射模型的预测的视频编码方法及其装置以及通过考虑解码顺序来执行基于仿射模型的预测的视频解码方法及其装置
CN113508590A (zh) 用于对图像进行编码和解码的设备及其用于对图像进行编码和解码的方法
KR102677426B1 (ko) 움직임 벡터의 부호화 장치 및 방법, 및 움직임 벡터의 복호화 장치 및 방법
RU2818966C2 (ru) Устройство и способ для кодирования вектора движения и устройство и способ для декодирования вектора движения

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