CN109792534A - 视频解码方法及其装置以及视频编码方法及其装置 - Google Patents

视频解码方法及其装置以及视频编码方法及其装置 Download PDF

Info

Publication number
CN109792534A
CN109792534A CN201780056738.1A CN201780056738A CN109792534A CN 109792534 A CN109792534 A CN 109792534A CN 201780056738 A CN201780056738 A CN 201780056738A CN 109792534 A CN109792534 A CN 109792534A
Authority
CN
China
Prior art keywords
pixel
block
motion
pixel group
unit
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.)
Granted
Application number
CN201780056738.1A
Other languages
English (en)
Other versions
CN109792534B (zh
Inventor
艾琳娜·阿尔辛娜
亚历山大·阿尔辛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority to CN202310331744.0A priority Critical patent/CN116112687A/zh
Priority to CN202310329400.6A priority patent/CN117615147A/zh
Priority to CN202310331441.9A priority patent/CN116095342A/zh
Priority to CN202310333737.4A priority patent/CN116156200A/zh
Publication of CN109792534A publication Critical patent/CN109792534A/zh
Application granted granted Critical
Publication of CN109792534B publication Critical patent/CN109792534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

公开了一种视频解码方法,通过该视频解码方法进行以下操作:获取指示第一参考画面中的第一参考块的第一运动矢量和指示第二参考画面中的第二参考块的第二运动矢量;基于与按照像素组单位进行的补偿相关联的参数的信息以及与包括当前画面的图像相关联的参数中的至少一个来获取用于当前块的与根据像素组单位的运动补偿相关联的参数;对于当前块,执行基于第一运动矢量和第二运动矢量的根据块单位的运动补偿,并执行基于与按照像素组单位的运动补偿相关的参数的根据像素组单位的运动补偿,从而产生预测块,并因此恢复当前块。这里,像素组可包括至少一个像素。

Description

视频解码方法及其装置以及视频编码方法及其装置
技术领域
本公开涉及一种视频解码方法和视频编码。更具体地讲,本公开涉及在双向运动预测模式下执行帧间预测的视频解码和视频编码。
背景技术
随着用于再现和存储高分辨率或高质量视频内容的硬件正被开发和提供,对于用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需求已经增加。在传统的视频编解码器中,基于树结构的编码单元,根据受限的编码方法来对视频进行编码。
空间域的图像数据经由频率变换被变换为频域的系数。根据视频编解码器,将图像划分为具有预定尺寸的块,对每个块执行离散余弦变换(DCT),并以块为单位对频率系数进行编码,以进行频率变换的快速计算。与空间域的图像数据相比,频域的系数容易被压缩。具体地,由于根据经由视频编解码器的帧间预测或帧内预测的预测误差来表示空间域的图像像素值,因此当对预测误差执行频率变换时,大量数据可被变换为0。根据视频编解码器,可通过使用小量数据来代替连续并重复产生的数据,来减少数据量。
发明内容
技术问题
根据各种实施例,在双向运动预测模式下,不仅可通过使用第一参考画面的第一参考块的像素值和第二参考画面的第二参考块的像素值来产生当前块的预测像素值,还可以使用第一参考块的第一梯度值和第二参考块的第二梯度值来产生当前块的预测像素值。因此,由于与原始块相似的预测块可被产生,因此可提高编码和解码效率。
在像素组单位的运动补偿被执行时使用第一参考块的第一梯度值和第二参考块的第二梯度值,在像素组单位的运动补偿被执行时所使用的参数经由比特流被用信号传送或者通过使用与图像相关的参数被获得,因此,可对图像自适应地执行像素组单位的运动补偿。
提供一种记录有用于执行根据各种实施例的方法的程序的计算机可读记录介质。
这里,各种实施例的各方面不限于此,另外的方面将在下面的描述中被部分地阐述,并且部分地将从所述描述清楚,或者可通过实践呈现的实施例被获知。
技术方案
本公开的各个方面不限于此,另外的方面将在下面的描述中被部分地阐述,并且部分地将从所述描述清楚,或者可通过实践呈现的实施例被获知。
根据本公开的一方面,一种视频解码方法包括:从比特流获得关于当前画面中的当前块的运动预测模式信息;当获得的运动预测模式信息指示双向运动预测模式时,从比特流获得第一运动矢量和第二运动矢量,其中,第一运动矢量指示当前块的在第一参考画面中的第一参考块,第二运动矢量指示当前块的在第二参考画面中的第二参考块;基于从比特流获得的当前块的与像素组单位运动补偿相关的参数的信息以及与包括当前画面的图像相关的参数中的至少一个来获得当前块的与像素组单位运动补偿相关的参数;通过针对当前块基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组单位运动补偿相关的参数执行像素组单位运动补偿,来产生当前块的预测块;从比特流获得当前块的残差块;基于预测块和残差块来重建当前块,其中,像素组包括至少一个像素。
所述视频解码方法还可包括:基于标志信息、当前块的尺寸、预测方向、运动矢量的大小、在参考画面与当前画面之间的画面顺序计数(POC)差、以及预定编码/解码工具的可用性中的至少一个来确定是否执行像素组单位运动补偿,其中,所述标志信息是从比特流获得的并且与是否执行像素组单位运动补偿相关,其中,产生预测块的步骤可包括:通过基于所述确定执行像素组单位运动补偿来产生当前块的预测块。
获得与像素组单位运动补偿相关的参数的步骤可包括:基于样点的比特深度、用于插值运算或梯度运算的滤波器的输入范围、以及滤波器的系数中的至少一个来获得用于插值运算或梯度运算之后的去缩放的偏移值,并且,产生当前块的预测块的步骤可包括:通过使用用于去缩放的偏移值,在插值运算或梯度运算之后针对第一参考块和第二参考块中包括的像素执行去缩放。
获得与像素组单位运动补偿相关的参数的步骤可包括:基于从比特流获得的关于与水平方向或垂直方向上的每单位时间的位移矢量相关的参数的信息、样点的比特深度、画面组(GOP)的大小、运动矢量、与在参考画面和当前画面之间的时间距离相关的参数、帧率、与编码预测结构相关的设置参数、以及预测方向中的至少一个来获得与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,并且,产生当前块的预测块的步骤可包括:基于与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、第一窗口中的像素的像素值、以及第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
获得与像素组单位运动补偿相关的参数的步骤可包括:基于从比特流获得的关于窗口尺寸的信息、画面的分层深度、GOP的大小、图像分辨率、与在参考画面和当前画面之间的时间距离相关的参数、帧率、运动矢量、与编码预测结构相关的设置参数、以及预测方向中的至少一个获得与用于计算每单位时间的位移矢量的窗口的尺寸相关的参数,并且,产生当前块的预测块的步骤可包括:基于与窗口的尺寸相关的参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、第一窗口中的像素的像素值、以及第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
像素组可包括多个像素,获得与像素组单位运动补偿相关的参数的步骤可包括:基于从比特流获得的关于像素组的大小的信息、图像分辨率和帧率中的至少一个来获得与像素组的大小相关的参数,并且,产生当前块的预测块的步骤可包括:通过基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组的大小相关的参数执行像素组单位运动补偿来产生当前块的预测块。
根据本公开的另一方面,一种视频解码设备包括:获取器,被配置为:从比特流获得关于当前画面中的当前块的运动预测模式信息,当获得的运动预测模式信息指示双向运动预测模式时,从比特流获得指示当前块的在第一参考画面中的第一参考块的第一运动矢量和指示当前块的在第二参考画面中的第二参考块的第二运动矢量,基于从比特流获得的当前块的与像素组单位运动补偿相关的参数的信息以及与包括当前画面的图像相关的参数中的至少一个来获得当前块的与像素组单位运动补偿相关的参数,并从比特流获得当前块的残差块;帧间预测器,被配置为通过针对当前块基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组单位运动补偿相关的参数执行像素组单位运动补偿来产生当前块的预测块;解码器,被配置为基于预测块和残差块来重建当前块,其中,像素组包括至少一个像素。
帧间预测器还可被配置为:基于标志信息、当前块的尺寸、预测方向、运动矢量的大小、在参考画面与当前画面之间的画面顺序计数(POC)差、以及预定编码/解码工具的可用性中的至少一个来确定是否执行像素组单位运动补偿,其中,所述标志信息是从比特流获得的并且与是否执行像素组单位运动补偿相关;通过基于所述确定执行像素组单位运动补偿来产生当前块的预测块。
帧间预测器还可被配置为:基于样点的比特深度、用于插值运算或梯度运算的滤波器的输入范围、以及滤波器的系数中的至少一个,获得用于插值运算或梯度运算之后的去缩放的偏移值,并且通过使用用于去缩放的偏移值,在插值运算或梯度运算之后针对第一参考块和第二参考块中包括的像素执行去缩放。
帧间预测器还可被配置为:基于从比特流获得的关于与水平方向或垂直方向上的每单位时间的位移矢量相关的参数的信息、样点的比特深度、画面组(GOP)的大小、运动矢量、与在参考画面和当前画面之间的时间距离相关的参数、帧率、与编码预测结构相关的设置参数、以及预测方向中的至少一个,获得与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,并且基于与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、所述第一窗口中的像素的像素值、以及所述第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
获取器还可被配置为:基于从比特流获得的关于窗口尺寸的信息、画面的分层深度、GOP的大小、图像分辨率、与在参考画面和当前画面之间的时间距离相关的参数、帧率、运动矢量、与编码预测结构相关的设置参数、以及预测方向中的至少一个,获得与用于计算每单位时间的位移矢量的窗口的尺寸相关的参数,并且,帧间预测器还可被配置为:基于与窗口的尺寸相关的参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、第一窗口中的像素的像素值、以及第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
像素组可包括多个像素,并且,帧间预测器还可被配置为:基于从比特流获得的关于像素组的大小的信息、图像分辨率和帧率中的至少一个来获得与像素组的大小相关的参数,并通过基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组的大小相关的参数执行像素组单位运动补偿来产生当前块的预测块。
根据本公开的另一方面,一种视频编码方法包括:通过对当前块执行块单位运动补偿和像素组单位运动补偿来获得当前块的预测块、第一运动矢量、第二运动矢量、以及与像素组单位运动补偿相关的参数;产生比特流,该比特流包括与第一运动矢量和第二运动矢量相关的信息、以及指示关于当前块的运动预测模式是双向运动预测模式的运动预测模式信息,其中,像素组包括至少一个像素,第一运动矢量是从当前块指示第一参考画面的与当前画面中的当前块相应的第一参考块的运动矢量,第二运动矢量是从当前块指示第二参考画面的与当前画面中的当前块相应的第二参考块的运动矢量,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时从与包括当前画面的图像相关的参数获得的,或者,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时确定的,并且关于确定的与像素组单位运动补偿相关的参数的信息被包括在比特流中。
根据本公开的另一方面,一种视频编码设备包括:帧间预测器,被配置为通过对当前块执行块单位运动补偿和像素组单位运动补偿来获得当前块的预测块、第一运动矢量、第二运动矢量、以及与像素组单位运动补偿相关的参数;比特流产生器,被配置为:产生比特流,该比特流包括与第一运动矢量和第二运动矢量相关的信息、以及指示关于当前块的运动预测模式是双向运动预测模式的运动预测模式信息,其中,像素组包括至少一个像素,第一运动矢量是从当前块指示第一参考画面的与当前画面中的当前块相应的第一参考块的运动矢量,第二运动矢量是从当前块指示第二参考画面的与当前画面中的当前块相应的第二参考块的运动矢量,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时从与包括当前画面的图像相关的参数获得的,或者,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时确定的,并且关于确定的与像素组单位运动补偿相关的参数的信息被包括在比特流中。
根据本公开的另一方面,一种计算机可读介质记录有执行所述视频解码方法的程序。
有益效果
根据各种实施例,通过经由在双向运动预测模式下使用参考画面的参考块的梯度值对当前块执行帧间预测来预测与当前块的原始块的值相似的值,可提高编码和解码效率。
附图说明
图1a是根据各种实施例的视频解码设备的框图。
图1b是根据各种实施例的视频解码方法的流程图。
图1c是根据各种实施例的视频编码设备的框图。
图1d是根据各种实施例的视频编码方法的流程图。
图1e是根据各种实施例的图像解码器的框图。
图1f是根据各种实施例的图像编码器的框图。
图2是根据实施例的用于描述基于块的双向运动预测和补偿处理的参考图。
图3a至图3c是根据实施例的用于描述执行像素单位运动补偿的处理的参考图。
图4是根据实施例的用于描述计算水平方向上的梯度值和垂直方向上的梯度值的处理的参考图。
图5是根据另一实施例的用于描述计算水平方向上的梯度值和垂直方向上的梯度值的处理的参考图。
图6a和图6b是根据实施例的用于描述通过使用一维(1D)滤波器确定水平方向上的梯度值和垂直方向上的梯度值的处理的示图。
图7a至图7e是示出根据实施例的用于确定在分数像素单位的分数像素位置处的像素值以及水平方向上的梯度值和垂直方向上的梯度值的滤波器的滤波器系数的表。
图8a是根据实施例的用于描述确定关于像素的水平方向位移矢量和垂直方向位移矢量的处理的参考图。
图8b是根据实施例的用于描述确定关于像素组的水平方向位移矢量和垂直方向位移矢量的处理的参考图。
图9a是根据实施例的用于描述在滤波被执行之后添加偏移值的处理以及通过执行去缩放来确定水平方向或垂直方向上的梯度值的处理的示图。
图9b是用于描述在执行关于当前块的像素单位运动补偿的处理期间确定水平方向位移矢量和垂直方向位移矢量所需的范围的示图。
图9c和图9d是根据各种实施例的用于描述在以像素为单位执行运动补偿的处理期间使用的区域的范围的示图。
图9e是用于描述在不扩展参考块的情况下确定水平方向位移矢量和垂直方向位移矢量的处理的示图。
图9f是用于描述获得时间运动矢量预测因子候选的处理的示图,其中,在所述处理中考虑像素组单位运动补偿。
图10示出根据实施例的在当前编码单元被划分时确定至少一个编码单元的处理。
图11示出根据实施例的当具有非正方形形状的编码单元被划分时确定至少一个编码单元的处理。
图12示出根据实施例的基于块形状信息和划分形状信息中的至少一个对编码单元进行划分的处理。
图13示出根据实施例的从奇数数量的编码单元中确定特定编码单元的方法。
图14示出根据实施例的当在当前编码单元被划分时确定了多个编码单元时对所述多个编码单元进行处理的顺序。
图15示出根据实施例的当编码单元不能按照特定顺序被处理时确定当前编码单元被划分为奇数数量的编码单元的处理。
图16示出根据实施例的当第一编码单元被划分时确定至少一个编码单元的处理。
图17示出根据实施例的当在第一编码单元被划分时确定的具有非正方形形状的第二编码单元满足预定条件时,第二编码单元能够被划分成的形状被限定。
图18示出根据实施例的当划分形状信息未能指示将编码单元划分为四个正方形形状时对具有正方形形状的编码单元进行划分的处理。
图19示出根据实施例的对多个编码单元进行处理的顺序可根据对编码单元进行划分的处理而被改变。
图20示出根据实施例的当在编码单元被递归地划分时多个编码单元被确定时,当编码单元的形状和尺寸被改变时确定编码单元的深度的处理。
图21示出根据实施例的可根据编码单元的形状和尺寸确定的用于区分深度和编码单元的部分索引(PID)。
图22示出根据实施例的多个编码单元根据包括在画面中的多个特定数据单元而被确定。
图23示出根据实施例的作为确定包括在画面中的参考编码单元的确定顺序的步骤的标准的处理块。
具体实施方式
最优模式
根据本公开的一方面,一种视频解码方法包括:从比特流获得关于当前画面中的当前块的运动预测模式信息;当获得的运动预测模式信息指示双向运动预测模式时,从比特流获得第一运动矢量和第二运动矢量,其中,第一运动矢量指示当前块的在第一参考画面中的第一参考块,第二运动矢量指示当前块的在第二参考画面中的第二参考块;基于从比特流获得的当前块的与像素组单位运动补偿相关的参数的信息以及与包括当前画面的图像相关的参数中的至少一个来获得当前块的与像素组单位运动补偿相关的参数;通过针对当前块基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组单位运动补偿相关的参数执行像素组单位运动补偿,来产生当前块的预测块;从比特流获得当前块的残差块;基于预测块和残差块来重建当前块,其中,像素组包括至少一个像素。
根据本公开的另一方面,一种视频解码设备包括:获取器,被配置为:从比特流获得关于当前画面中的当前块的运动预测模式信息,当获得的运动预测模式信息指示双向运动预测模式时,从比特流获得指示当前块的在第一参考画面中的第一参考块的第一运动矢量和指示当前块的在第二参考画面中的第二参考块的第二运动矢量,基于从比特流获得的当前块的与像素组单位运动补偿相关的参数的信息以及与包括当前画面的图像相关的参数中的至少一个来获得当前块的与像素组单位运动补偿相关的参数,并从比特流获得当前块的残差块;帧间预测器,被配置为通过针对当前块基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组单位运动补偿相关的参数执行像素组单位运动补偿来产生当前块的预测块;解码器,被配置为基于预测块和残差块来重建当前块,其中,像素组包括至少一个像素。
根据本公开的另一方面,一种视频编码方法包括:通过对当前块执行块单位运动补偿和像素组单位运动补偿来获得当前块的预测块、第一运动矢量、第二运动矢量、以及与像素组单位运动补偿相关的参数;产生比特流,该比特流包括与第一运动矢量和第二运动矢量相关的信息、以及指示关于当前块的运动预测模式是双向运动预测模式的运动预测模式信息,其中,像素组包括至少一个像素,第一运动矢量是从当前块指示第一参考画面的与当前画面中的当前块相应的第一参考块的运动矢量,第二运动矢量是从当前块指示第二参考画面的与当前画面中的当前块相应的第二参考块的运动矢量,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时从与包括当前画面的图像相关的参数获得的,或者,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时确定的,并且关于确定的与像素组单位运动补偿相关的参数的信息被包括在比特流中。
根据本公开的另一方面,一种视频编码设备包括:帧间预测器,被配置为通过对当前块执行块单位运动补偿和像素组单位运动补偿来获得当前块的预测块、第一运动矢量、第二运动矢量、以及与像素组单位运动补偿相关的参数;比特流产生器,被配置为:产生比特流,该比特流包括与第一运动矢量和第二运动矢量相关的信息、以及指示关于当前块的运动预测模式是双向运动预测模式的运动预测模式信息,其中,像素组包括至少一个像素,第一运动矢量是从当前块指示第一参考画面的与当前画面中的当前块相应的第一参考块的运动矢量,第二运动矢量是从当前块指示第二参考画面的与当前画面中的当前块相应的第二参考块的运动矢量,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时从与包括当前画面的图像相关的参数获得的,或者,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时确定的,并且关于确定的与像素组单位运动补偿相关的参数的信息被包括在比特流中。
根据本公开的另一方面,一种计算机可读介质记录有执行所述视频解码方法的程序。
公开模式
在下文中,“图像”可表示视频的静止图像或运动图像(即,视频本身)。
在下文中,“样点”表示被分配给图像的采样位置并且将被处理的数据。例如,空间域的图像中的像素可以是样点。
在下文中,“当前块”可表示将被编码或解码的图像的块。
图1a是根据各种实施例的视频解码设备的框图。
根据各种实施例的视频解码设备100包括获取器105、帧间预测器110和重建器125。
获取器105接收比特流,该比特流包括关于当前块的预测模式的信息、指示当前块的运动预测模式的信息和关于运动矢量的信息。
获取器105可从接收到的比特流获得关于当前块的预测模式的信息、指示当前块的运动预测模式的信息以及关于运动矢量的信息。此外,获取器105可从比特流获得指示先前解码的画面之中的参考画面的参考画面索引。
在当前块的预测模式是帧间预测模式时,帧间预测器110对当前块执行帧间预测。换句话说,帧间预测器110可通过使用在包括当前块的当前画面之前被解码的画面中的至少一个画面来产生当前块的预测像素值。例如,在当前块的运动预测模式是双向运动预测模式时,帧间预测器110可通过使用在当前画面之前被解码的两个画面来产生当前块的预测像素值。换句话说,当从比特流获得的关于运动预测模式的信息指示双向运动预测模式时,帧间预测器110可通过使用在当前画面之前被解码的所述两个画面来产生当前块的预测像素值。
帧间预测器110可包括块单位运动补偿器115和像素组单位运动补偿器120。
块单位运动补偿器115可以以块为单位对当前块执行运动补偿。
块单位运动补偿器115可通过使用从比特流获得的参考画面索引从先前解码的画面中确定至少一个参考画面。这里,参考画面索引可表示针对包括L0方向和L1方向的预测方向中的每一个的参考画面索引。这里,针对L0方向的参考画面索引可表示指示在L0参考画面列表中包括的画面之中的参考画面的索引,针对L1方向的参考画面索引可表示指示在L1参考画面列表中包括的画面之中的参考画面的索引。
块单位运动补偿器115可通过使用从比特流接收的关于运动矢量的信息来确定当前块的参考块,其中,参考块位于所述至少一个参考画面之中。这里,在参考画面中的与当前画面中的当前块相应的相应块可以是参考块。换句话说,块单位运动补偿器115可通过使用从当前块指示参考块的运动矢量来确定当前块的参考块。这里,运动矢量表示指示当前块在当前画面中的参考坐标与参考块在参考画面中的参考坐标的位移的矢量。例如,在当前块的左上坐标是(1,1)并且参考块的左上坐标是(3,3)时,运动矢量可以是(2,2)。
这里,关于运动矢量的信息可包括运动矢量的差异值,块单位运动补偿器115可通过使用运动矢量的预测因子以及从比特流获得的运动矢量的差异值来重建运动矢量,并且可通过使用重建的运动矢量来确定当前块的位于所述至少一个参考画面中的参考块。这里,运动矢量的差异值可表示针对与包括L0方向和L1方向的预测方向中的每一个方向相关的参考画面的运动矢量的差异值。这里,针对L0方向的运动矢量的差异值可表示指示在L0参考画面列表中包括的参考画面中的参考块的运动矢量的差异值,针对L1方向的运动矢量的差异值可表示指示在L1参考画面列表中包括的参考画面中的参考块的运动矢量的差异值。
块单位运动补偿器115可通过使用参考块的像素值,以块为单位对当前块执行运动补偿。块单位运动补偿器115可通过使用参考块中的与当前块中的当前像素相应的参考像素的像素值,以块为单位对当前块执行运动补偿。这里,参考像素可以是参考块中包括的像素,与当前块中的当前像素相应的相应像素可以是参考像素。
块单位运动补偿器115可通过使用分别包括在多个参考画面中的多个参考块,以块为单位对当前块执行运动补偿。例如,在当前块的运动预测模式是双向运动预测模式时,块单位运动补偿器115可从先前编码的画面之中确定两个参考画面,并确定在所述两个参考画面中包括的两个参考块。
块单位运动补偿器115可通过使用所述两个参考块中的两个参考像素的像素值,以块为单位对当前块执行运动补偿。块单位运动补偿器115可通过使用所述两个参考像素的像素值的平均值或加权和以块为单位对当前块执行运动补偿来产生以块为单位的运动补偿值。
参考块的参考位置可以是整数像素的位置,但是不限于此,并且可以是分数像素的位置。这里,整数像素可表示位置分量是整数的像素,并且可以是整数像素位置处的像素。分数像素可表示位置分量是分数的像素,并且可以是分数像素位置处的像素。
例如,在当前块的左上坐标是(1,1)并且运动矢量是(2.5,2.5)时,参考画面中的参考块的左上坐标可以是(3.5,3.5)。这里,可以以1/4pel为单位或以1/16pel为单位来确定分数像素的位置,其中,pel表示像素元素。可选地,可以以各种分数pel为单位来确定分数像素的位置。
当参考块的参考位置是分数像素的位置时,块单位运动补偿器115可通过将插值滤波器应用于包括在由第一运动矢量指示的第一参考块的像素之中的第一像素的第一邻近区域和包括在由第二运动矢量指示的第二参考块的像素之中的第二像素的第二邻近区域,来产生在由第一运动矢量指示的第一参考块的像素中的第一像素的像素值、以及在由第二运动矢量指示的第二参考块的像素之中的第二像素的像素值。
换句话说,可通过使用在特定方向上的分量是整数的邻近像素的像素值来确定参考块中的参考像素的像素值。这里,所述特定方向可以是水平方向或垂直方向。
例如,块单位运动补偿器115可将通过经由使用插值滤波器对在特定方向上的分量是整数的像素的像素值执行滤波而获得的值确定为参考像素的像素值,并且通过使用参考像素的像素值针对当前块确定以块为单位的运动补偿值。通过使用参考像素的平均值或加权和来确定以块为单位的运动补偿值。这里,插值滤波器可以是基于离散余弦变换(DCT)的M抽头插值滤波器。可从DCT和逆DCT(IDCT)推导出基于DCT的M抽头插值滤波器的系数。这里,插值滤波器的系数可以是被缩放至整数系数以便减少滤波期间的实数运算的滤波器系数。这里,插值滤波器可以是水平方向或垂直方向上的一维(1D)插值滤波器。例如,当像素的位置以x、y正交坐标分量来表示时,水平方向可以是与x轴平行的方向。垂直方向可以是与y轴平行的方向。
块单位运动补偿器115可首先通过使用垂直方向上的1D插值滤波器针对整数位置处的像素的像素值执行滤波,然后通过使用水平方向上的1D插值滤波器针对经由所述滤波产生的值执行滤波以确定在分数像素位置处的参考像素的像素值。
同时,经由在缩放后的滤波器系数被使用时进行的滤波所产生的值可以高于经由在未被缩放的滤波器被使用时进行的滤波所产生的值。因此,块单位运动补偿器115可针对经由滤波所产生的值执行去缩放。
块单位运动补偿器115可在通过使用垂直方向的1D插值滤波器对整数位置处的像素的像素值执行滤波之后执行去缩放。这里,去缩放可包括按照去缩放比特数向右比特移位。可基于输入图像的样点的比特深度来确定去缩放比特数。例如,去缩放比特数可以是通过从样点的比特深度减去8而获得的值。
此外,块单位运动补偿器115可通过使用垂直方向上的1D插值滤波器针对整数位置处的像素的像素值执行滤波,并通过使用水平方向上的1D插值滤波器针对经由所述滤波产生的值执行滤波,然后执行去缩放。这里,去缩放可包括按照去缩放比特数向右比特移位。可基于垂直方向上的1D插值滤波器的缩放比特数、水平方向上的1D插值滤波器的缩放比特数、以及样点的比特深度来确定去缩放比特数。例如,当垂直方向上的1D插值滤波器的缩放比特数p是6,水平方向上的1D插值滤波器的缩放比特数q是6,并且样点的比特深度是b时,去缩放比特数可以是p+q+8-b,即,20-b。
当块单位运动补偿器115在通过使用1D插值滤波器针对特定方向上的分量是整数的像素执行滤波之后仅执行按照去缩放比特数向右比特移位时,可能产生舍入误差,并因此块单位运动补偿器115可在通过使用1D插值滤波器针对特定方向上的分量是整数的像素执行滤波然后加上偏移值之后执行去缩放。这里,偏移值可以是2^(去缩放比特数-1)。
像素组单位运动补偿器120可通过以像素组为单位对当前块执行运动补偿来产生像素组单位运动补偿值。在当前块的运动预测模式是双向运动预测模式时,像素组单位运动补偿器120可通过对当前块执行像素组单位运动补偿来产生像素组单位运动补偿值。
像素组单位运动补偿器120可基于第一参考画面的像素组和第二参考画面的像素组的光流通过对当前块执行像素组单位运动补偿来产生以像素组为单位的运动补偿值。稍后将参照图3a描述光流。
像素组单位运动补偿器120可通过针对在当前块的参考块中包括的像素组以像素组为单位执行运动补偿来产生以像素组为单位的运动补偿值。像素组可包括至少一个像素。例如,像素组可以是一个像素。可选择地,像素组可以是包括至少两个像素的多个像素。像素组可以是包括在尺寸为K×K(K是整数)的块中的多个像素。
像素组单位运动补偿器120可基于图像分辨率、帧率和从比特流获得的关于像素组的大小的信息中的至少一个来获得与像素组的大小相关的参数。像素组单位运动补偿器120可基于与像素组的大小相关的参数来确定像素组,并且可基于确定的像素组针对当前块执行像素组单位运动补偿。
像素组单位运动补偿器120可基于图像的分辨率确定像素组的大小。例如,当图像的分辨率高于特定分辨率时,所述像素组的大小可被确定为大于与所述特定分辨率相应的像素组的大小。
像素组单位运动补偿器120可基于帧率确定像素组的大小。例如,当帧率高于特定帧率时,像素组单位运动补偿器120可将像素组的大小确定为大于与所述特定帧率相应的像素组的大小。
像素组单位运动补偿器120可基于图像的分辨率和图像的帧率来确定像素组的大小。例如,当图像的分辨率高于所述特定分辨率并且帧率高于所述特定帧率时,像素组单位运动补偿器120可将像素组的大小确定为大于与所述特定分辨率和所述特定帧率相应的像素组的大小。
像素组单位运动补偿器120可以以包括多个像素的像素组为单位执行运动补偿,从而与在高图像分辨率以像素为单位执行运动补偿时相比,降低了编码/解码的复杂度。此外,像素组单位运动补偿器120可以以包括多个像素的像素组为单位执行运动补偿,从而与在高帧率以像素为单位执行运动补偿时相比,降低了编码/解码的复杂度。
获取器105可获得包括在比特流中的关于像素组的大小的信息。当像素组的大小是K×K时,关于像素组的大小的信息可以是指示高度或宽度K的信息。关于像素组的大小的信息可以被包括在高级语法载体中。
像素组单位运动补偿器120可确定至少一个像素组分区并对像素组分区执行运动补偿,其中,像素组分区包括像素组中包括的多个像素之中的具有相似像素值的像素。这里,包括具有相似像素值的像素的像素组分区很可能是同一对象,并且很可能具有相似的运动,像素组运动补偿器120能够执行像素组单位的更精确的运动补偿。
同时,当运动预测模式信息指示双向运动预测模式时,像素组单位运动补偿被执行,但是像素组单位运动补偿不总是被执行,而是可被选择性地执行。
像素组单位运动补偿器120可基于从比特流获得的像素组单位运动标志信息、当前块的尺寸、预测方向、运动矢量的大小、参考画面与当前画面之间的画面顺序计数(POC)差、以及特定编码/解码工具的可用性中的至少一个来确定是否以像素组为单位执行运动补偿。像素组单位运动补偿器120可基于以上确定来对当前块执行像素组单位运动补偿。
获取器105可从比特流获得指示是否执行像素组单位运动补偿的信息。这里,指示是否执行像素组单位运动补偿的信息可以是标志形式的开/关信息。指示是否执行像素组单位运动补偿的信息可被包括在块级别的语法元素中。像素组单位运动补偿器120可基于指示是否执行像素组单位运动补偿的信息来确定是否对当前块执行像素组单位运动补偿,其中,该信息是从比特流获得的。
可选地,像素组单位运动补偿器120可通过使用与包括当前画面的图像相关的参数来确定是否对当前画面中的当前块执行像素组单位运动补偿。
像素组单位运动补偿器120可基于特定编码/解码工具的可用性来确定是否对当前画面的当前块执行像素组单位运动补偿。像素组单位运动补偿器120可确定不同于与针对当前块的像素组单位运动补偿相关的编码/解码工具的特定编码/解码工具的可用性,并基于所述特定编码/解码工具的可用性来确定是否对当前画面中的当前块执行像素组单位运动补偿。
例如,当与重叠块运动补偿(OBMC)相关的编码/解码工具可用时,像素组单位运动补偿器120可确定是否对当前画面中的当前块执行像素组单位运动补偿。当与OBMC相关的编码/解码工具可用时,像素组单位运动补偿器120可确定针对当前块不使用像素组单位运动补偿。
OMBC是以块为单位的运动补偿,该运动补偿允许参考画面中的与当前画面中的邻近块相应的参考块彼此重叠,并且可防止块恶化现象。与一般的块单位运动补偿不同,OBMC通过允许参考块的重叠,考虑块中的像素的精确运动对运动进行补偿,因此当与OBMC相关的编码/解码工具可用时,像素组单位运动补偿器120可确定对当前块不使用像素组单位运动补偿。换句话说,由于两个或更多个预测方向针对重叠区域被组合,因此像素组单位运动补偿器120可确定通常不使用考虑两个预测方向的以像素组为单位的运动补偿。然而,实施例不限于此,当经由OBMC重叠的区域不大时,像素组单位运动补偿器120可在与OBMC相关的编码/解码工具可用时确定对当前块使用像素组单位运动补偿。
可选地,由于两个或更多个预测方向针对重叠区域被组合,因此像素组单位运动补偿器120可确定考虑两个预测方向的以像素组为单位的运动补偿不被限制性地用于重叠区域。由于针对不重叠的区域仅使用两个预测方向,因此像素组单位运动补偿器120可确定考虑两个预测方向的以像素组为单位的运动补偿被限制性地用于不重叠的区域。
当与照度补偿相关的编码/解码工具可用时,像素组单位运动补偿器120可确定是否对当前块执行像素组单位运动补偿。例如,当与照度补偿相关的编码/解码工具可用时,像素组单位运动补偿器120可确定对当前块执行像素组单位运动补偿。与像素组单位运动补偿相关的编码/解码工具和与照度补偿相关的编码/解码工具不矛盾,因此像素组单位运动补偿器120可一起执行对当前块的照度补偿以及以像素组为单位的对当前块的运动补偿。这里,照度补偿表示通过以块为单位使用线性系数和偏移将亮度像素值补偿为接近原始图像的亮度像素值的操作。
然而,由于当关于时间存在照度差△I时执行照度补偿,因此当基于光流的以像素组为单位的运动补偿(参见等式1)被执行时,实际对象的运动可能得不到恰当的补偿,这是因为光流中一侧的值具有非零值。因此,当照度补偿的程度大时,即,当△I足够大时,像素组单位运动补偿器120可以在与照度补偿相关的编码/解码工具可用时确定不对当前块执行像素组单位运动补偿。
当与加权预测相关的编码/解码工具可用时,像素组单位运动补偿器120可确定是否对当前块执行像素组单位运动补偿。例如,当与加权补偿相关的编码/解码工具可用时,像素组单位运动补偿器120可确定不对当前块执行像素组单位运动补偿。与加权补偿相关的编码/解码工具表示当双向运动预测被执行时将权重分配给每个参考画面的每个参考块并且将偏移分配给每个参考画面的每个参考块以产生与当前块相关的预测块的编码/解码工具。
当与仿射运动相关的编码/解码工具可用时,像素组单位运动补偿器120可确定是否对当前块执行像素组单位运动补偿。例如,当与仿射运动相关的编码/解码工具可用时,像素组单位运动补偿器120可确定不对当前块执行像素组单位运动补偿。由于与仿射运动相关的编码/解码工具是类似于与像素组单位运动补偿相关的编码/解码工具的用于补偿精确运动的编码/解码工具,因此这些编码/解码工具相矛盾,并因此不能对同一个块一起使用这些编码/解码工具。
像素组单位运动补偿器120可基于当前块的运动矢量确定是否对当前块执行像素组单位运动补偿。例如,像素组单位运动补偿器120可确定在与第一参考画面PICreference1相关的第一运动矢量MV1和在当前画面与第一参考画面之间的POC差POCreference1之间的比率(Ratioreference1=MV1/POCreference1)、以及在与第二参考画面PICreference2相关的第二运动矢量MV2和在当前画面与第二参考画面之间的POC差POCreference2之间的比率(Ratioreference2=MV2/POCreference2)是否在特定范围内,当这些比率在所述特定范围内时,确定以像素组为单位对当前块执行运动补偿。
当运动矢量的大小是特定大小时,像素组单位运动补偿器120可确定对当前块执行像素组单位运动补偿。例如,当运动矢量的大小大于所述特定大小时,像素组单位运动补偿器120可确定以像素组为单位对当前块执行运动补偿。这里,所述特定大小可以是0。
像素组单位运动补偿器120可根据第一预测方向和第二预测方向的时间方向确定是否以像素组为单位对当前块执行运动补偿。
例如,当与第一参考画面相关的第一预测方向和与第二参考画面相关的第二预测方向都面向在时间上在当前画面之前的参考画面或者都面向在时间上在当前画面之后的参考画面时,像素组单位运动补偿器120可确定不以像素组为单位对当前块执行运动补偿。这里,画面的时间顺序与显示顺序相关,即使当画面在时间上将在当前画面之后被显示时,该画面仍可被预先解码并被存储在缓冲器中,然后在当前画面之后被显示。
当第一预测方向和第二预测方向的时间方向彼此不同时,即,当预测单元中的一个预测单元面向在时间上在当前画面之前的参考画面并且另一个预测单元面向在时间上在当前画面之后的参考画面时,像素组单位运动补偿器120可确定以像素组为单位对当前块执行运动补偿。
在当前块的尺寸是特定尺寸时,像素组单位运动补偿器120可确定对当前块执行像素组单位运动补偿。例如,在当前块的尺寸等于或大于所述特定尺寸时,像素组单位运动补偿器120可确定对当前块执行像素组单位运动补偿。
像素组单位运动补偿器120可基于从高级语法载体(诸如条带头、画面参数集和序列参数集)获得的关于特定编码/解码工具的可用性的信息来确定特定编码/解码工具的可用性。此外,像素组单位运动补偿器120可基于从块级语法元素获得的关于特定编码/解码工具的可用性的信息来确定特定编码/解码工具的可用性。
然而,实施例不限于此,像素组单位运动补偿器120可从获得自比特流的块级语法元素获得针对当前块的关于特定编码/解码工具的可用性的信息,基于该信息确定是否对当前块使用特定编码/解码工具,并基于对是否使用特定编码/解码工具的确定来确定是否对当前块执行像素组单位运动补偿。
像素组单位运动补偿器120可确定参考块中的与当前块的当前像素组相应的参考像素组,并确定参考像素组的梯度值。
像素组单位运动补偿器120可通过经由使用参考像素组的梯度值针对当前块以像素组为单位执行运动补偿来以产生以像素组为单位的运动补偿值。
像素组单位运动补偿器120可通过将滤波器应用于在由第一运动矢量指示的第一参考块的像素组之中的第一像素组的第一周围区域(包括第一像素组)、以及在由第二运动矢量指示的第二参考块的像素组之中的第二像素组的第二周围区域(包括第二像素组)来产生第一像素的梯度值和第二像素的梯度值。
像素组单位运动补偿器120可确定在第一参考画面中的在第一像素组周围的具有特定尺寸并包括第一像素组的第一窗口中的像素的像素值和梯度值,并确定在第二参考画面中的在第二像素组周围的具有特定尺寸并包括第二像素组的第二窗口中的像素的像素值和梯度值。像素组单位运动补偿器120可基于从比特流获得的关于窗口尺寸的信息、画面的分层深度、画面组(GOP)的大小、图像分辨率、与参考画面和当前画面之间的时间距离相关的参数、帧率、运动矢量、与编码预测结构相关的设置参数、以及预测方向中的至少一个来获得与用于计算每单位时间的位移矢量的窗口的尺寸相关的参数,并基于与窗口的尺寸相关的参数以像素组为单位对当前块执行运动补偿。例如,窗口的尺寸M×N保证运动的一致性,并且在针对当前像素组计算每单位时间的位移矢量时的错误概率会被减小。当存在可能增加错误产生的可能性的因素时,像素组单位运动补偿器120可扩大窗口的尺寸来保证运动的一致性并减小计算期间的错误概率。
当GOP的大小较大时,当前画面与参考画面之间的距离可被增大,因此错误产生的可能性可被增加。因此,像素组单位运动补偿器120可通过扩大窗口的尺寸以像素组为单位对当前块执行运动补偿。
此外,例如,与像素组仅包括一个像素时相比,当像素组的尺寸为K×K尺寸时更能保证运动的一致性,因此像素组单位运动补偿器120可将针对K×K尺寸的像素组的窗口尺寸确定为小于针对仅包括一个像素的像素组的窗口尺寸。
可通过包括在比特流中并且包括在条带头、画面参数集、序列参数集或其它各种形式中的高级语法载体显式地用信号发送关于窗口(诸如第一窗口和第二窗口)的尺寸的信息。
可选地,可通过与包括当前画面的图像相关的参数推导出窗口的尺寸。例如,可基于当前画面的分层深度来确定窗口的尺寸。换句话说,误差随着当前画面的分层深度增加而积累,因此预测准确度降低。因此,可将窗口的尺寸确定为大。
这里,当前画面的分层深度的大小可大于被当前图像参考的图像的分层深度的大小。例如,帧内画面的分层深度可以是0,参考所述帧内画面的第一画面的分层深度可以是1,参考第一画面的第二画面的分层深度可以是2。
此外,像素组单位运动补偿器120可基于GOP的大小来确定窗口的尺寸。
可选地,像素组单位运动补偿器120可基于图像的分辨率来确定窗口尺寸。
像素组单位运动补偿器120可基于帧率确定窗口尺寸。此外,像素组单位运动补偿器120可基于当前块的运动矢量来确定窗口尺寸。具体地,像素组单位运动补偿器120可基于当前块的运动矢量的大小和角度中的至少一个来确定窗口尺寸。
像素组单位运动补偿器120可基于指示参考画面缓冲器中存储的多个画面之一的参考画面索引来确定窗口尺寸。
像素组单位运动补偿器120可基于从不同时间方向进行双向预测的可用性来确定窗口尺寸。此外,像素组单位运动补偿器120可基于与编码预测结构相关的设置参数来确定窗口尺寸。这里,与编码预测结构相关的设置参数可指示低延迟或随机访问。
像素组单位运动补偿器120可基于编码预测结构是低延迟还是随机访问来不同地确定窗口尺寸。
像素组单位运动补偿器120可通过使用像素的梯度值和像素值以像素组为单位执行运动补偿,其中,所述像素值与在窗口中包括的像素之中的当前像素组中所包括的像素的值之间的差不大于特定阈值。这是为了保证关于相同对象的区域的一致运动。
像素组单位运动补偿器120可通过使用第一窗口中的像素的像素值和梯度值、以及第二窗口中的像素的像素值和梯度值来确定针对当前像素组的每单位时间的位移矢量。这里,可通过正则参数来调整针对当前像素组的每单位时间的位移矢量的值。正则参数是这样的参数:该参数被引入以防止当针对不合适的当前像素组的每单位时间的位移矢量被确定从而以像素组为单位执行运动补偿时产生错误。像素组单位运动补偿器120可基于关于与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数的信息、从比特流获得的信息、样点的比特深度、GOP的大小、运动矢量、与在参考画面和当前画面之间的时间距离相关的参数、帧率、与编码预测结构相关的设置参数、以及预测方向中的至少一个来获得与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数。像素组单位运动补偿器120可基于与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数对当前块执行像素组单位运动补偿。随后将参照图8a来描述正则参数。
像素组单位运动补偿器120可基于从比特流获得的关于正则参数的信息来确定正则参数。关于正则参数的信息可被包括在条带头、画面参数集、序列参数集或其它各种形式中的高级语法载体中。
然而,实施例不限于此,像素组单位运动补偿器120可基于与图像相关的参数来确定正则参数。例如,像素组单位运动补偿器120可基于GOP的大小来确定正则参数。像素组单位运动补偿器120可基于从当前画面到参考画面的距离来确定正则参数。这里,到参考画面的距离可以是当前画面和参考画面之间的POC差。
像素组单位运动补偿器120可以基于当前块的运动矢量来确定正则参数。像素组单位运动补偿器120可基于当前块的运动矢量的大小和角度中的至少一个来确定正则参数。
像素组单位运动补偿器120可基于参考画面索引来确定正则参数。
像素组单位运动补偿器120可基于从不同时间方向进行双向预测的可用性来确定正则参数。此外,像素组单位运动补偿器120可基于与编码预测结构相关的设置参数来确定正则参数。与编码预测结构相关的设置参数可指示低延迟或随机访问。
像素组单位运动补偿器120可基于低延迟或随机访问来不同地确定正则参数。
像素组单位运动补偿器120可基于帧率来确定正则参数。像素组单位运动补偿器120可基于具有不同时间方向的双向预测的可用性来确定正则参数。
像素组单位运动补偿器120可通过使用针对当前像素的每单位时间的位移矢量以及参考像素的梯度值以像素组为单位对当前块执行运动补偿。
参考块的参考位置可以是整数像素位置,但是可选地,可以是分数像素位置。
当参考块的参考位置是分数像素位置时,可通过使用在特定方向上的分量是整数的邻近像素的像素值来确定参考块中的参考像素的梯度值。
例如,像素组单位运动补偿器120可将通过经由使用梯度滤波器对在特定方向上的分量是整数的邻近像素的像素值执行滤波而获得的结果值确定为参考像素的梯度值。这里,可通过使用针对基于DCT的插值滤波器预先确定的系数来确定梯度滤波器的滤波器系数。梯度滤波器的滤波器系数可以是被缩放至整数系数以便减少滤波期间的实数运算的滤波器系数。
这里,梯度滤波器可以是水平方向或垂直方向上的1D梯度滤波器。
像素组单位运动补偿器120可通过使用水平方向或垂直方向上的1D梯度滤波器对在相应方向上的分量是整数的邻近像素执行滤波,以便确定参考像素在水平方向或垂直方向上的梯度值。
例如,像素组单位运动补偿器120可通过经由使用水平方向上的1D梯度滤波器,从与参考像素相邻的多个像素之中的水平方向分量是整数的像素对位于水平方向上的像素执行滤波,来确定所述参考像素在水平方向上的梯度值。
当参考像素的位置是(x+α,y+β)(其中,x和y均是整数,α和β均是分数)时,像素组单位运动补偿器120可将通过经由使用1D插值滤波器对在(x,y)位置处的像素以及在从(x,y)位置处的像素起位于垂直方向上的多个像素之中的垂直分量是整数的像素执行滤波而获得的结果值确定为在(x,y+β)位置处的像素值。
像素组单位运动补偿器120可将通过经由使用水平方向的梯度滤波器对在(x,y+β)位置处的像素值以及在从(x,y+β)位置处的像素起位于水平方向上的多个像素之中的水平分量是整数的像素的像素值执行滤波而获得的结果值确定为在(x+α,y+β)位置处的水平方向上的梯度值。
使用1D梯度滤波器和1D插值滤波器的顺序不被限制。在以上描述中,首先通过经由使用垂直方向上的插值滤波器对整数位置处的像素执行滤波来产生垂直方向上的插值滤波值,然后通过使用水平方向上的1D梯度滤波器对所述垂直方向上的插值滤波值执行滤波,但是可选地,可首先通过经由使用水平方向上的1D梯度滤波器对整数位置处的像素执行滤波来产生水平方向上的插值滤波值,然后可通过使用垂直方向上的1D插值滤波器对所述水平方向上的插值滤波值执行滤波。
在上文中,已经详细描述了像素组单位运动补偿器120确定在(x+α,y+β)位置处的水平方向上的梯度值。由于像素组单位运动补偿器120按照与确定水平方向上的梯度值相似的方式确定在(x+α,y+β)位置处的垂直方向上的梯度值,因此不再提供其细节。
在上文中,已经详细描述了像素组单位运动补偿器120使用1D梯度滤波器和1D插值滤波器以便确定分数像素位置处的梯度值。然而,可选地,梯度滤波器和插值滤波器可被用于确定整数像素位置处的梯度值。然而,在整数像素的情况下,可在不使用插值滤波器的情况下确定像素值,但是,为了与分数像素中的处理一致的处理,可通过经由使用插值滤波器对整数像素以及在特定方向上的分量是整数的邻近像素执行滤波来确定整数像素的像素值。例如,整数像素处的插值滤波器系数可以是(0,0,64,0,0),由于与邻近整数像素相关的插值滤波器系数是0,因此可仅通过使用当前整数像素的像素值来执行滤波,并且作为结果,可通过使用插值滤波器对当前整数像素和邻近整数像素执行滤波来确定当前整数像素的像素值。
像素组单位运动补偿器120可在通过使用垂直方向上的1D插值滤波器对整数位置处的像素执行滤波之后执行去缩放。这里,去缩放可包括按照去缩放比特数向右比特移位。可基于样点的比特深度来确定去缩放比特数。例如,可基于块中的特定输入数据来确定去缩放比特数。
例如,去缩放比特数可以是通过从样点的比特深度减去8而获得的值。
像素组单位运动补偿器120可在通过使用水平方向上的梯度滤波器对通过执行去缩放而产生的值执行滤波之后执行去缩放。同样地,此处去缩放可包括按照去缩放比特数向右比特移位。可基于垂直方向上的1D插值滤波器的缩放比特数、水平方向上的1D梯度滤波器的缩放比特数、以及样点的比特深度来确定去缩放比特数。例如,当垂直方向上的1D插值滤波器的缩放比特数p是6,水平方向上的1D梯度滤波器的缩放比特数q是4,并且样点的比特深度是b时,去缩放比特数可以是p+q+8-b,即,18-b。
当像素组单位运动补偿器120在执行滤波之后对经由滤波产生的值仅执行按照去缩放比特数向右比特移位时,可能产生舍入误差,并因此像素组单位运动补偿器120可在将偏移值与经由滤波而产生的值相加之后执行去缩放。这里,偏移值可以是2^(去缩放比特数-1)。
帧间预测器110可通过使用针对当前块的以块为单位的运动补偿值和以像素组为单位的运动补偿值来产生当前块的预测像素值。例如,帧间预测器110可通过将针对当前块的以块为单位的运动补偿值和以像素组为单位的运动补偿值相加来产生当前块的预测像素值。这里,以块为单位的运动补偿值可表示通过以块为单位执行运动补偿而产生的值,以像素组为单位的运动补偿值表示通过以像素组为单位执行运动补偿而产生的值,其中,以块为单位的运动补偿值可以是参考像素的平均值或加权和,以像素组为单位的运动补偿值可以是基于与当前像素相关的每单位时间的位移矢量以及参考像素的梯度值而确定的值。
像素组单位运动补偿器120可基于样点的比特深度、用于插值运算或梯度运算的滤波器的输入的范围、以及滤波器的系数中的至少一个来获得用于在插值运算或梯度运算之后的去缩放的移位值。像素组单位运动补偿器120可通过使用用于去缩放的移位值在针对第一参考块和第二参考块中包括的像素的插值运算或梯度运算之后执行去缩放。
帧间预测器110可在执行块单位运动补偿时使用运动矢量,并且存储运动矢量。这里,运动矢量单元可以是具有4×4尺寸的块。同时,当运动矢量在块单位运动补偿之后被存储时,运动矢量存储单元可以是具有除4×4尺寸之外的各种尺寸的块(例如,具有R×R尺寸的块,其中,R是整数)。这里,运动矢量存储单元可以是大于4×4尺寸的块。例如,运动矢量存储单元可以是具有16×16尺寸的块。当运动矢量单元是具有4×4尺寸的块并且运动矢量存储单元是具有16×16尺寸的块时,帧间预测器110可存储根据等式(MVx,MVy)=fRXR(MVx,MVy)的运动矢量。这里,MVx和MVy分别是在块单位运动补偿中使用的运动矢量的x分量和y分量,fRXR(MVx,MVy)可表示考虑运动矢量存储单元的尺寸的运动矢量MVx、MVy的函数。例如,fRXR(MVx,MVy)可以是这样的函数:在R×R的运动矢量存储单元中包括的单元的运动矢量的x分量MVx的平均值被确定为按照R×R的运动矢量存储单元存储的x分量MVx,在R×R的运动矢量存储单元中包括的单元的运动矢量的y分量MVy的平均值被确定为按照R×R的运动矢量存储单元存储的y分量MVy。
换句话说,当存储运动矢量时,帧间预测器110可通过使用较大单元来执行存储压缩。帧间预测器110针对当前画面中包括的块不仅可执行以块为单位的运动补偿,还可以执行以像素组为单位的运动补偿。因此,可存储不仅考虑块单位运动补偿还考虑以像素组为单位的运动补偿的运动矢量。这里,可基于在以块为单位的运动补偿中使用的运动矢量、在以像素组为单位的运动补偿中使用的在水平方向或垂直方向上的每单位时间的位移矢量、针对在水平方向或垂直方向上的每单位时间的位移矢量的权重来确定存储的运动矢量。
这里,可基于运动矢量存储单元的尺寸、像素组的尺寸、以及在以像素组为单位的运动补偿中使用的梯度滤波器或插值滤波器的缩放因子来确定所述权重。
帧间预测器110可通过使用时间运动矢量预测因子候选来确定在当前画面之后被解码的画面中的块的运动矢量预测因子。时间运动矢量预测因子候选可以是包括在先前解码画面中的同位块的运动矢量,因此,可以是针对先前解码画面存储的运动矢量。这里,当存储的运动矢量是考虑以像素组为单位的运动补偿的运动矢量时,时间运动矢量预测因子候选可被确定为在更精确的运动补偿中使用的运动矢量,因此预测编码/解码效率可提高。
同时,当像素组单位运动补偿被执行时,用于执行像素组单位运动补偿的目标块的尺寸可基于窗口的尺寸和插值滤波器的长度与当前块的尺寸一起被扩大。由于基于位于当前块的边缘处的像素以及邻近像素在位于当前块的边缘处的像素处对当前块执行像素组单位运动补偿,因此目标块基于窗口的尺寸比当前块被扩大更大。
因此,像素组单位运动补偿器120可在通过使用窗口执行像素组单位运动补偿的过程期间,将在窗口中的像素之中的在当前块外部的像素的位置调整至与当前块的内部相邻的像素的位置并确定在调整后的像素的位置处的像素值和梯度值以便减少存储器访问次数和乘法运算次数,从而减少了存储器访问次数和乘法运算次数。
重建器125可从比特流获得当前块的残差块,并通过使用当前块的残差块和预测像素值来重建当前块。例如,重建器125可通过将当前块的残差块的像素值与当前块的预测块的像素值相加来从比特流产生重建块的像素值。
视频解码设备100可包括图像解码器(未示出),其中,图像解码器可包括获取器105、帧间预测器110和重建器125。下面将参照图1e描述图像解码器。
图1b是根据各种实施例的视频解码方法的流程图。
在操作S105,视频解码设备100可从比特流获得针对当前画面中的当前块的运动预测模式信息。视频解码设备100可接收包括针对当前画面中的当前块的运动预测模式信息的比特流,并从接收到的比特流获得针对当前块的运动预测模式信息。视频解码设备100可从比特流获得关于当前块的预测模式的信息,并且基于关于当前块的预测模式的信息确定当前块的预测模式。这里,在当前块的预测模式是帧间预测模式时,视频解码设备100可获得针对当前块的运动预测模式信息。
例如,视频解码设备100可基于关于当前块的预测模式的信息来确定当前块的预测模式是帧间预测模式。在当前块的预测模式是帧间预测模式时,视频解码设备100可从比特流获得针对当前块的运动预测模式信息。
在操作S110,当运动预测模式信息指示双向运动预测模式时,视频解码设备100可从比特流获得指示当前块的在第一参考画面中的第一参考块的第一运动矢量、以及指示当前块的在第二参考画面中的第二参考块的第二运动矢量。
换句话说,视频解码设备100可获得包括关于第一运动矢量和第二运动矢量的信息的比特流,并从接收到的比特流获得第一运动矢量和第二运动矢量。视频解码设备100可从比特流获得参考画面索引,并基于参考画面索引确定在先前解码画面之中的第一参考画面和第二参考画面。
在操作S115,视频解码设备100可基于从比特流获得的与像素组单位运动补偿相关的参数的信息以及包括当前画面的图像的参数中的至少一个来获得与当前块的像素组单位运动补偿相关的参数。这里,像素组可包括至少一个像素。
在操作S120,视频解码设备100可通过针对当前块执行基于第一运动矢量和第二运动矢量的运动补偿以及基于与像素组单位运动补偿相关的参数的像素组单位运动补偿,来产生当前块的预测块。
在操作S125,视频解码设备100可从比特流获得当前块的残差块。
在操作S130,视频解码设备100可基于预测块和残差块来重建当前块。换句话说,视频解码设备100可通过将预测块的预测像素值以及由与当前块相关的残差块所指示的残差块的像素值相加来产生当前块的重建块的像素值。
图1c是根据各种实施例的视频编码设备的框图。
根据各种实施例的视频编码设备150包括帧间预测器155和比特流产生器170。
帧间预测器155基于速率和失真代价,通过参考各种块对当前块执行帧间预测。换句话说,帧间预测器155可通过使用在包括当前块的当前画面之前被编码的画面中的至少一个画面来产生当前块的预测像素值。
帧间预测器155可包括块单位运动补偿器160和像素组单位运动补偿器165。
块单位运动补偿器160可通过以块为单位对当前块执行运动补偿来产生以块为单位的运动补偿值。
块单位运动补偿器160可在先前编码画面之中确定至少一个参考画面,并确定位于所述至少一个参考画面中的当前块的参考块。
块单位运动补偿器160可通过经由使用参考块的像素值以块为单位对当前块执行运动补偿来产生以块为单位的运动补偿值。块单位运动补偿器160可通过经由使用与当前块的当前像素相应的参考块的参考像素值以块为单位对当前块执行运动补偿来产生以块为单位的运动补偿值。
块单位运动补偿器160可以通过经由使用分别包括在多个参考画面中的多个参考块以块为单位对当前块执行运动补偿来产生以块为单位的运动补偿值。例如,在当前块的运动预测模式是双向预测模式时,块单位运动补偿器160可在先前编码画面之中确定两个参考画面,并确定包括在所述两个参考画面中的两个参考块。这里,双向预测不仅表示通过使用在当前画面之前被显示的画面和在当前画面之后被显示的画面来执行帧间预测,而且也可表示通过使用在当前画面之前被编码的两个画面而不管被显示的顺序如何来执行帧间预测。
块单位运动补偿器160可以通过经由使用两个参考块中的两个参考像素的像素值以块为单位对当前块执行运动补偿来产生以块为单位的运动补偿值。块单位运动补偿器160可通过经由使用两个参考像素的平均像素值或加权和以块为单位对当前块执行运动补偿来产生以块为单位的运动补偿值。
块单位运动补偿器160可输出指示在先前编码画面之中的用于对当前块进行运动补偿的参考画面的参考画面索引。
块单位运动补偿器160可确定将当前块作为起点并将当前块的参考块作为终点的运动矢量,并输出运动矢量。运动矢量可表示这样的矢量:该矢量指示当前块在当前画面中的参考坐标与参考块在参考画面中的参考坐标的位移。例如,在当前块的左上角的坐标是(1,1)并且参考画面中的参考块的左上坐标是(3,3)时,运动矢量可以是(2,2)。
参考块的参考位置可以是整数像素的位置,但是可选地,可以是分数像素的位置。这里,可以以1/4pel为单位或以1/16pel为单位来确定分数像素的位置。可选地,可以以各种分数pel为单位来确定分数像素的位置。
例如,当参考块的参考位置是(1.5,1.5)并且当前块的左上角的坐标是(1,1)时,运动矢量可以是(0.5,0.5)。当以1/4pel为单位或1/6pel为单位确定运动矢量来指示参考块的参考位置(即分数像素的位置)时,通过对该运动矢量进行缩放来确定整数的运动矢量,并且可通过使用向上缩放的运动矢量来确定参考块的参考位置。当参考块的参考位置是分数像素的位置时,参考块的参考像素的位置也可以是分数像素的位置。因此,可通过使用在特定方向上的分量是整数的邻近像素的像素值来确定在参考块中的分数像素位置处的像素值。
例如,块单位运动补偿器160可将通过经由使用插值滤波器对在特定方向上的分量是整数的邻近像素的像素值执行滤波而获得的值确定为在分数像素位置处的参考像素的像素值,并且可通过使用参考像素的像素值来针对当前块确定以块为单位的运动补偿值。这里,插值滤波器可以是基于DCT的M抽头插值滤波器。可从DCT和IDCT推导出基于DCT的M抽头插值滤波器的系数。这里,插值滤波器的系数可以是被缩放至整数系数以便减少滤波期间的实数运算的滤波器系数。
这里,插值滤波器可以是水平方向或垂直方向上的1D插值滤波器。
块单位运动补偿器160可首先通过使用垂直方向上的1D插值滤波器针对邻近整数像素执行滤波,然后可通过使用水平方向上的1D插值滤波器针对被执行了滤波的值执行滤波以确定在分数像素位置处的参考像素的像素值。当缩放后的滤波器系数被使用时,块单位运动补偿器160可在通过使用垂直方向上的1D插值滤波器对整数位置处的像素执行滤波之后对被执行了滤波的值执行去缩放。这里,去缩放可包括按照去缩放比特数向右比特移位。可基于样点的比特深度来确定去缩放比特数。例如,去缩放比特数可以是通过从样点的比特深度减去8而获得的值。
此外,块单位运动补偿器160可通过使用垂直方向上的1D插值滤波器对水平方向分量是整数的像素执行滤波,然后执行按照去缩放比特数向右比特移位。可基于垂直方向上的1D插值滤波器的缩放比特数、水平方向上的1D插值滤波器的缩放比特数、以及样点的比特深度来确定去缩放比特数。
当块单位运动补偿器160仅执行按照去缩放比特数向右比特移位时,可能产生舍入误差,并因此块单位运动补偿器160可通过使用特定方向上的1D插值滤波器对特定方向上的分量是整数的像素执行滤波,将偏移值与被执行了滤波的值相加,然后对增加了偏移值的值执行去缩放。这里,偏移值可以是2^(去缩放比特数-1)。
在上文中,已经描述了在使用垂直方向上的1D插值滤波器进行滤波之后基于样点的比特深度确定去缩放比特数,但是可选地,不仅可基于样点的比特深度,还可以基于针对插值滤波器系数被缩放的比特数来确定去缩放比特数。换句话说,当考虑滤波期间使用的寄存器的大小以及存储在滤波期间所产生的值的缓冲器的大小的同时,可在不发生溢出的范围内基于样点的比特深度以及针对插值系数被缩放的比特数来确定去缩放比特数。
像素组单位运动补偿器165可通过以像素组为单位对当前块执行运动补偿来产生以像素组为单位的运动补偿值。例如,当运动预测模式是双向运动预测模式时,像素组单位运动补偿器165可通过以像素组为单位对当前块执行运动补偿来产生以像素组为单位的运动补偿值。
像素组单位运动补偿器165可通过经由使用在当前块的参考块中包括的像素的梯度值以像素组为单位对当前块执行运动补偿来产生以像素组为单位的运动补偿值。
像素组单位运动补偿器165可通过向第一像素的第一周围区域和第二像素的第二周围区域应用滤波器来产生在第一参考画面中的第一参考块的像素之中的第一像素的梯度值以及在第二参考画面中的第二参考块的像素之中的第二像素的梯度值。
像素组单位运动补偿器165可确定在第一参考画面中的在第一参考像素周围的具有特定尺寸并包括第一参考像素的第一窗口中的像素的像素值和梯度值,并且确定在第二参考画面中的在第二参考像素周围的具有特定尺寸并包括第二参考像素的第二窗口中的像素的像素值和梯度值。像素组单位运动补偿器165可通过使用第一窗口中的像素的像素值和梯度值以及第二窗口中的像素的像素值和梯度值来针对当前像素确定每单位时间的位移矢量。
像素组单位运动补偿器165可通过经由使用每单位时间的位移矢量以及参考像素的梯度值以像素组为单位对当前块执行运动补偿来产生以像素组为单位的运动补偿值。
参考像素的位置可以是整数像素的位置,但是可选地,可以是分数像素的位置。
当参考块的参考位置是分数像素的位置时,可通过使用在特定方向上的分量是整数的邻近像素的像素值来确定在参考块中的参考像素的梯度值。
例如,像素组单位运动补偿器165可将通过经由使用梯度滤波器对在特定方向上的分量是整数的邻近像素的像素值执行滤波而获得的结果值确定为参考像素的梯度值。这里,可通过使用针对基于DCT的插值滤波器预先确定的系数来确定梯度滤波器的滤波器系数。
梯度滤波器的滤波器系数可以是被缩放至整数系数以便减少滤波期间的实数运算的滤波器系数。这里,梯度滤波器可以是水平方向或垂直方向上的1D梯度滤波器。
像素组单位运动补偿器165可通过使用水平方向或垂直方向上的1D梯度滤波器对在相应方向上的分量是整数的邻近像素执行滤波,以便确定参考像素在水平方向或垂直方向上的梯度值。
例如,像素组单位运动补偿器165可通过经由使用垂直方向上的1D插值滤波器对在从与参考像素相邻的整数像素起在垂直方向上的像素之中的垂直分量是整数的像素执行滤波,来确定垂直分量是分数的像素的像素值。
针对位于与相邻于参考像素的整数像素相邻的另一列中的像素,像素组单位运动补偿器165可通过经由使用垂直方向上的1D插值滤波器对垂直方向上的邻近整数像素执行滤波来确定位于所述另一列中的分数像素位置的像素值。这里,位于所述另一列中的像素的位置可以是垂直方向上的分数像素的位置和水平方向上的整数像素的位置。
换句话说,当参考像素的位置是(x+α,y+β)(其中,x和y均是整数,α和β均是分数)时,像素组单位运动补偿器165可通过经由使用垂直方向上的插值滤波器对从(x,y)位置起在垂直方向上的邻近整数像素执行滤波来确定在(x,y+β)位置处的像素值。
像素组单位运动补偿器165可通过经由使用水平方向上的梯度滤波器对在(x,y+β)位置处的像素值以及在从(x,y+β)位置处的像素值起位于水平方向上的多个像素之中的水平分量是整数的像素的像素值执行滤波来确定在(x+α,y+β)位置处的水平方向上的梯度值。
使用1D梯度滤波器和1D插值滤波器的顺序不被限制。如上所述,可首先通过经由使用垂直方向上的插值滤波器对整数位置处的像素执行滤波来产生垂直方向上的插值滤波值,然后可通过使用水平方向上的1D梯度滤波器对所述垂直方向上的插值滤波值执行滤波,但是可选地,可首先通过经由使用水平方向上的1D梯度滤波器对整数位置处的像素执行滤波来产生水平方向上的梯度滤波值,然后可通过使用垂直方向上的1D插值滤波器对所述水平方向上的梯度滤波值执行滤波。
在上文中,已经详细描述了像素组单位运动补偿器165确定在(x+α,y+β)位置处的水平方向上的梯度值。
像素组单位运动补偿器165可按照与确定水平方向上的梯度值相似的方式确定在(x+α,y+β)位置处的垂直方向上的梯度值。
像素组单位运动补偿器165可通过经由使用垂直方向上的1D梯度滤波器对与参考像素相邻的整数像素中的在垂直方向上的邻近整数像素执行滤波来确定参考像素在垂直方向上的梯度值。此外,针对与参考像素相邻并且位于另一列中的像素,像素组单位运动补偿器165可通过经由使用垂直方向上的1D梯度滤波器对垂直方向上的邻近整数像素执行滤波来确定针对与参考像素相邻并且位于所述另一列中的像素的在垂直方向上的梯度值。这里,该像素的位置可以是在垂直方向上的分数像素的位置和在水平方向上的整数像素的位置。
换句话说,当参考像素的位置是(x+α,y+β)(其中,x和y均是整数,α和β均是分数)时,像素组单位运动补偿器165可通过经由使用垂直方向上的梯度滤波器对从(x,y)位置起在垂直方向上的邻近整数像素执行滤波来确定在(x,y+β)位置处的垂直方向上的梯度值。
像素组单位运动补偿器165可通过经由使用水平方向上的插值滤波器对在(x,y+β)位置处的梯度值以及在从(x,y+β)位置处起位于水平方向上的邻近整数像素的梯度值执行滤波来确定在(x+α,y+β)位置处的水平方向上的的梯度值。
使用1D梯度滤波器和1D插值滤波器的顺序不被限制。如上所述,可首先通过经由使用垂直方向上的梯度滤波器对整数位置处的像素执行滤波来产生在垂直方向上的梯度滤波值,然后可通过使用水平方向上的1D插值滤波器对所述垂直方向上的梯度滤波值执行滤波,但是可选地,可首先通过经由使用水平方向上的1D插值滤波器对整数位置处的像素执行滤波来产生水平方向上的插值滤波值,然后可通过使用垂直方向上的1D梯度滤波器对所述水平方向上的插值滤波值执行滤波。
在上文中,已经详细描述了像素组单位运动补偿器165使用梯度滤波器和插值滤波器以便确定在分数像素位置处的梯度值。然而,可选地,梯度滤波器和插值滤波器可被用于确定在整数像素位置处的梯度值。
在整数像素的情况下,可在不使用插值滤波器的情况下确定像素值,但是为了与分数像素中的处理一致的处理,可通过使用插值滤波器对整数像素和邻近整数像素执行滤波。例如,整数像素处的插值滤波器系数可以是(0,0,64,0,0),由于与邻近整数像素相乘的插值滤波器系数是0,因此可仅通过使用当前整数像素的像素值来执行滤波,并且作为结果,当前整数像素的像素值可被相等地确定为通过经由使用插值滤波器对当前整数像素和邻近整数像素执行滤波而产生的值。
同时,当缩放后的滤波器系数被使用时,像素组单位运动补偿器165可通过使用水平方向上的1D梯度滤波器对整数位置处的像素执行滤波,然后对被执行了滤波的值执行去缩放。这里,去缩放可包括按照去缩放比特数向右比特移位。可基于样点的比特深度来确定去缩放比特数。例如,去缩放比特数可以是通过从样点的比特深度减去8而获得的值。
像素组单位运动补偿器165可通过使用垂直方向上的插值滤波器对在垂直方向上的分量是整数的像素执行滤波,然后执行去缩放。这里,去缩放可包括按照去缩放比特数向右比特移位。可基于垂直方向上的1D插值滤波器的缩放比特数、水平方向上的1D梯度滤波器的缩放比特数、以及样点的比特深度来确定去缩放比特数。
当像素组单位运动补偿器165仅执行按照去缩放比特数向右移位时,可能产生舍入误差。因此,像素组单位运动补偿器165可通过使用1D插值滤波器执行滤波,将偏移值与被执行了滤波的值相加,然后对增加了偏移值的值执行去缩放。这里,偏移值可以是2^(去缩放比特数-1)。
帧间预测器155可通过使用针对当前块的以块为单位的运动补偿值和以像素组为单位的运动补偿值来产生当前块的预测像素值。例如,帧间预测器155可通过将针对当前块的以块为单位的运动补偿值和以像素组为单位的运动补偿值相加来产生当前块的预测像素值。具体地,在当前块的运动预测模式是双向运动预测模式时,帧间预测器155可通过使用针对当前块的以块为单位的运动补偿值和以像素组为单位的运动补偿值来产生当前块的预测像素值。
在当前块的运动预测模式是单向运动预测模式时,帧间预测器155可通过使用针对当前块的以块为单位的运动补偿值来产生当前块的预测像素值。这里,单向表示使用先前编码画面之中的一个参考画面。所述一个参考画面可以是在当前画面之前被显示的画面,但是可选地,可以是在当前画面之后被显示的画面。
帧间预测器155可确定当前块的运动预测模式,并输出指示当前块的运动预测模式的信息。例如,帧间预测器155可确定当前块的运动预测模式是双向运动预测模式,并输出指示双向运动预测模式的信息。这里,双向运动预测模式表示通过使用在两个解码参考画面中的参考块来预测运动的模式。
像素组单位运动补偿器165可确定与像素组单位运动补偿相关的参数,并基于与像素组单位运动补偿相关的参数对当前块执行像素组单位运动补偿。这里,可从与包括当前画面的图像相关的参数获得与像素组单位运动补偿相关的参数。由于像素组单位运动补偿器165从与图像相关的参数获得与像素组单位运动补偿相关的参数的处理与像素组单位运动补偿器120从与图像相关的参数获得与像素组单位运动补偿相关的参数的处理相同,因此省略其描述。
可选地,像素组单位运动补偿器165可在执行像素组单位运动补偿的同时确定与像素组单位运动补偿相关的参数,并输出确定的与像素组单位运动补偿相关的参数。比特流产生器170可产生包括与像素组单位运动补偿相关的信息的比特流。由于像素组单位运动补偿器165通过对当前块执行像素组单位运动补偿来输出与像素组单位运动补偿相关的参数的处理和比特流产生器170产生包括关于与像素组单位运动补偿相关的参数的信息的比特流的处理是与获取器105从比特流获得与像素组单位运动补偿相关的参数信息的处理和像素组单位运动补偿器120从获得的与像素组单位运动补偿相关的参数信息确定与像素组单位运动补偿相关的参数并对当前块执行像素组单位运动补偿的处理相反的,因此省略其描述。
比特流产生器170可产生包括指示参考块的运动矢量的比特流。比特流产生器170可对指示参考块的运动矢量进行编码,并产生包括编码的运动矢量的比特流。比特流产生器170可对指示参考块的运动矢量的差异值进行编码,并产生包括编码的运动矢量的差异值的比特流。这里,运动矢量的差异值可表示运动矢量与运动矢量的预测因子之间的差。这里,运动矢量的差异值可表示针对与包括L0方向和L1方向的预测方向分别相关的参考画面的运动矢量的差异值。这里,针对L0方向的运动矢量的差异值可表示指示在L0参考画面列表中包括的参考画面中的参考画面的运动矢量的差异值,针对L1方向的运动矢量的差异值可表示指示在L1参考画面列表中包括的参考画面中的参考画面的运动矢量的差异值。
此外,比特流产生器170可产生还包括指示当前块的运动预测模式的信息的比特流。比特流产生器170可对指示先前编码画面之中的当前块的参考画面的参考画面索引进行编码,并产生包括编码的参考画面索引的比特流。这里,参考画面索引可表示针对包括L0方向和L1方向的预测方向中的每一个的参考画面索引。这里,针对L0方向的参考画面索引可表示指示L0参考画面列表中包括的画面之中的参考画面的索引,针对L1方向的参考画面索引可表示指示在L1参考画面列表中包括的画面之中的参考画面的索引。
视频编码设备150可包括图像编码器(未示出),图像编码器可包括帧间预测器155和比特流产生器170。随后将参照图1f描述视频编码器。
图1d是根据各种实施例的视频编码方法的流程图。
参照图1d,在操作S150,视频编码设备150可通过对当前块执行运动补偿和像素组单位运动补偿来获得当前块的预测块、第一运动矢量、第二运动矢量和与像素组单位运动补偿相关的参数。
在操作S155,视频编码设备150可产生比特流,该比特流包括关于第一运动矢量和第二运动矢量的信息以及指示当前块的运动预测模式是双向运动预测模式的运动预测模式信息。这里,第一运动矢量可以是从当前块指示第一参考画面的与当前画面中的当前块相应的第一参考块的运动矢量,第二运动矢量可以是从当前块指示第二参考画面的与当前画面中的当前块相应的第二参考块的运动矢量。
当对当前块执行像素组单位运动补偿时,可从与包括当前画面的图像相关的参数获得与当前块的像素组单位运动补偿相关的参数。然而,实施例不限于此,当像素组单位运动补偿被执行时,可确定与当前块的像素组单位运动补偿相关的参数,并且可将关于与确定的像素组单位运动补偿相关的参数的信息包括在比特流中。
视频编码设备150可对当前块的残差信号进行编码,并产生进一步包括编码的残差信号的比特流,其中,残差信号指示当前块的预测块的像素与当前块的原始块的像素之间的差。视频编码设备150可对关于当前块的预测模式的信息以及参考画面索引进行编码,并产生进一步包括编码的关于预测模式的信息以及编码的参考画面索引的比特流。例如,视频编码设备150可对指示当前块的预测模式是帧间预测模式的信息、以及指示先前解码画面中的至少一个画面的参考画面索引进行编码,并产生进一步包括编码的关于预测模式的信息以及编码的参考画面索引的比特流。
图1e是根据各种实施例的图像解码器600的框图。
根据各种实施例的图像解码设备600执行由视频解码设备100的图像解码器(未示出)执行的用于对图像数据进行解码的操作。
参照图1e,熵解码器615从比特流605解析将被解码的编码的图像数据、以及对于解码操作所需的编码信息。编码的图像数据是量化后的变换系数,反量化器620和逆变换器625从量化后的变换系数重建残差数据。
帧内预测器640执行每个块的帧内预测。帧间预测器635通过使用从重建画面缓冲器630获得的参考图像执行每个块的帧间预测。图1e的帧间预测器635可对应于图1a的帧间预测器110。
可通过将由帧内预测器640或帧间预测器635产生的每个块的预测数据和残差数据相加来重建关于当前图像605的块的空间域中的数据,去块单元645和SAO执行器650可通过对空间域中的重建数据执行环路滤波来输出滤波后的重建图像。此外,在重建画面缓冲器630中存储的重建图像可被输出为参考图像。
为了使视频解码设备100的解码器(未示出)对图像进行解码,可按照每个块执行根据各种实施例的图像解码器600的逐步操作。
图1f是根据各种实施例的图像编码器的框图。
根据各种实施例的图像编码器700执行由视频编码设备150的图像编码器(未示出)执行的用于对图像数据进行编码的操作。
换句话说,帧内预测器720对当前图像705执行每个块的帧内预测,帧间预测器715通过使用每个块的当前图像705以及从重建画面缓冲器710获得的参考图像来执行帧间预测。这里,图1e的帧间预测器可对应于图1c的帧间预测器155。
可通过从关于当前图像705的编码块的数据减去从帧内预测器720或帧间预测器715输出的关于每个块的预测数据来产生残差数据,变换器725和量化器730可通过对残差数据执行变换和量化来输出每个块被量化的变换系数。反量化器745和逆变换器750可通过对量化后的变换系数执行反量化和逆变换来重建空间域中的残差数据。可将重建的空间域中的残差数据与从帧内预测器720或帧间预测器715输出的关于每个块的预测数据相加来重建为关于当前图像705的块的空间域中的数据。去块单元755和SAO执行器760通过对重建的空间域中的数据执行环路滤波来产生滤波后的重建图像。可将产生的滤波后的重建图像存储在重建画面缓冲器710中。存储在重建画面缓冲器710中的重建图像可被用作用于对另一图像进行帧间预测的参考图像。熵编码器735可对量化后的变换系数进行熵编码,并且熵编码的系数可被输出为比特流740。
为了使根据各种实施例的图像编码器700应用于视频编码设备150,可按照每个块执行根据各种实施例的图像编码器700的逐步操作。
图2是根据实施例的用于描述基于块的双向运动预测和补偿处理的参考图。
参照图2,视频编码设备150执行双向运动预测,其中,在双向运动预测中,在第一参考画面210和第二参考画面220中搜索与将被编码的当前画面200的当前块201最相似的区域。这里,第一参考画面210可以是在当前画面200之前的画面,第二参考画面220可以是在当前画面200之后的画面。作为双向运动预测的结果,视频编码设备150从第一参考画面210中确定与当前块201最相似的第一相应区域212,并从第二参考画面220中确定与当前块201最相似的第二相应区域222。这里,第一相应区域212和第二相应区域222可以是当前块201的参考区域。
此外,视频编码设备150可基于第一相应区域212与第一参考画面210的与当前块201位于相同位置处的块211之间的位置差来确定第一运动矢量MV1,并基于第二相应区域222与第二参考画面220的与当前块201位于相同位置处的块221之间的位置差来确定第二运动矢量MV2。
视频编码设备150通过使用第一运动矢量MV1和第二运动矢量MV2对当前块201执行块单位双向运动补偿。
例如,当位于第一参考画面210的(i,j)处的像素值是P0(i,j),位于第二参考画面220的(i,j)处的像素值是P1(i,j),MV1=(MVx1,MVy1),并且MV2=(MVx2,MVy2)时,可根据等式P_BiPredBlock(i,j)={P0(i+MVx1,j+MVy1)+P1(i+MVx2,j+MVy2)}/2来计算在当前块201的(i,j)位置处的像素的块单位双向运动补偿值P_BiPredBlock(i,j),其中,i和j均是整数。结果,视频编码设备150可通过经由使用在由第一运动矢量MV1和第二运动矢量MV2指示的第一相应区域212和第二相应区域222中的像素的平均值或加权和以块为单位对当前块201执行运动补偿来产生以块为单位的运动补偿值。
图3a至图3c是根据实施例的用于描述执行像素单位运动补偿的处理的参考图。
在图3a中,第一相应区域310和第二相应区域320分别与图2的第一相应区域212和第二相应区域222相应,并且可已经通过使用双向运动矢量MV1和MV2移位以与当前块300重叠。
此外,P(i,j)表示被双向预测的在(i,j)位置处的当前块300的像素,P0(i,j)表示第一参考画面的与被双向预测的当前块300的像素P(i,j)相应的第一参考像素值,P1(i,j)表示第二参考画面的与被双向预测的当前块300的像素P(i,j)相应的第二参考像素值,其中,i和j均表示整数。
换句话说,第一参考像素值P0(i,j)是由指示第一参考画面的双向运动矢量MV1确定的与当前块300的像素P(i,j)相应的像素的像素值,第二参考像素值P1(i,j)是由指示第二参考画面的双向运动矢量MV2确定的与当前块300的像素P(i,j)相应的像素的像素值。
此外,表示第一参考像素在水平方向上的梯度值,表示第一参考像素在垂直方向上的梯度值,表示第二参考像素在水平方向上的梯度值,表示第二参考像素在垂直方向上的梯度值。此外,τ0表示当前块300所属于的当前画面与第一相应区域310所属于的第一参考画面之间的时间距离,τ1表示当前画面与第二相应区域320所属于的第二参考画面之间的时间距离。这里,画面之间的时间距离可表示画面的画面顺序计数(POC)的差。
当在视频序列中存在均匀的小运动时,第一参考画面的第一相应区域310中的与以像素组为单位被执行双向运动补偿的像素P(i,j)最相似的像素不是第一参考像素P0(i,j),而是第一参考像素P0(i,j)按照特定位移矢量被移动后的第一位移参考像素PA。如上所述,由于在视频序列中存在均匀的运动,因此第二参考画面的第二相应区域320中的与像素P(i,j)最相似的像素可以是第二参考像素P1(i,j)按照特定位移矢量被移动后的第二位移参考像素PB。
位移矢量可包括在x轴方向上的位移矢量Vx和在y轴方向上的位移矢量Vy。因此,像素组单位运动补偿器165计算在位移矢量中包括的在x轴方向上的位移矢量Vx和在y轴方向上的位移矢量Vy,并通过使用位移矢量以像素组为单位执行运动补偿。
光流表示由场景和观察者(眼睛或类似于相机的视频图像获取设备)之间的相对运动引起的在对象或表面上的明显运动的图案。在视频序列中,可通过计算在任意时间t和t+△t获得的帧之间的运动来表示光流。在时间t的帧中位于(x,y)处的像素值可以是I(x,y,t)。换句话说,I(x,y,t)可以是在时间上和空间上变化的值。I(x,y,t)可以根据等式1相对于时间t被求微分。
[等式1]
当针对块中的小运动,像素值根据运动而变化但是不根据时间而变化时,dI/dt是0。此外,当像素值根据时间的运动均匀时,dx/dt可表示在x轴方向上的像素值I(x,y,t)的位移矢量Vx,dy/dt可表示在y轴方向上的像素值I(x,y,t)的位移矢量Vy,并因此等式1可被表示为等式2。
[等式2]
这里,在x轴方向上的位移矢量Vx和在y轴方向上的位移矢量Vy的大小可具有比在双向运动预测中使用的像素精度小的值。例如,当在双向运动预测期间像素精度是1/4或1/16时,位移矢量Vx和Vy的大小可具有比1/4或1/16小的值。
像素组单位运动补偿器165根据等式2计算在x轴方向上的位移矢量Vx和在y轴方向上的位移矢量Vy,并通过使用位移矢量Vx和位移矢量Vy来以像素组为单位执行运动补偿。在等式2中,由于像素值I(x,y,t)是原始信号的值,因此当原始像素的值被使用时会在编码期间导致高开销。因此,像素组单位运动补偿器165可通过使用作为以块为单位执行双向运动预测的结果而被确定的第一参考画面和第二参考画面的像素,根据等式2计算位移矢量Vx和Vy。换句话说,像素组单位运动补偿器165确定在x轴方向上的位移矢量Vx和在y轴方向上的位移矢量Vy,其中,△在具有特定尺寸并包括在被执行双向运动补偿的像素P(i,j)周围的邻近像素的窗口Ωij中为最小。△可以是0,但是针对窗口Ωij中的所有像素而言满足△=0的在x轴方向上的位移矢量Vx和在y轴方向上的位移矢量Vy可不存在,因此,△为最小的在x轴方向上的位移矢量Vx和在y轴方向上的位移矢量Vy被确定。将参照图8a详细描述获得位移矢量Vx和Vy的处理。
为了确定当前像素的预测像素值,可根据等式3来确定关于t的函数P(t)。
[等式3]
P(t)=a3*t3+a2*t2+a1*t+a0
这里,在t=0时的画面是包括当前块的当前画面。因此,在当前块中包括的当前像素的预测像素值可被定义为在t为0时的P(t)的值。
在当前画面与第一参考画面(第一参考画面在时间上在当前画面之前)之间的时间距离是τ0并且当前画面与第二参考画面(第二参考画面在时间上在当前画面之后)之间的时间距离是τ1时,第一参考画面中的参考像素值等于P(-τ0),第二参考画面中的参考像素值等于P(τ1)。在下文中,为了便于计算,假设τ0和τ1均等于τ。
可根据等式4确定P(t)的每个等级的系数。这里,P0(i,j)可表示第一参考画面的(i,j)位置处的像素值,P1(i,j)可表示第二参考画面的(i,j)处的像素值。
[等式4]
因此,可根据等式5确定当前块中的当前像素的预测像素值P(0)。
[等式5]
考虑到等式2,等式5可被表示为等式6。
[等式6]
因此,可通过使用位移矢量Vx、位移矢量Vy、第一参考像素在水平方向上的梯度值和在垂直方向上的梯度值、以及第二参考像素在水平方向上的梯度值和在垂直方向上的梯度值来确定当前像素的预测像素值。这里,与位移矢量Vx和Vy不相关的部分(P0(i,j)+P1(i,j))/2)可以是以块为单位的运动补偿值,与位移矢量Vx和Vy相关的部分可以是以像素组为单位的运动补偿值。结果,可通过将以块为单位的运动补偿值和以像素组为单位的运动补偿值相加来确定当前像素的预测像素值。
在上文中,为了便于描述,描述了当第一参考画面与当前画面之间的时间距离以及第二参考画面与当前画面之间的时间距离均是τ并因此相同时确定当前像素的预测像素值的处理,但是第一参考画面与当前画面之间的时间距离可以是τ0,并且第二参考画面与当前画面之间的时间距离可以是τ1。这里,可根据等式7来确定当前像素的预测像素值P(0)。
[等式7]
考虑到等式2,等式7可被表示为等式8。
在上文中,第一参考画面在时间上在当前画面之后被显示,第二参考画面在时间上在当前画面之前被显示,但是可选地,第一参考画面和第二参考画面可在时间上均在当前画面之前被显示,或者在时间上均在当前画面之后被显示。
例如,如图3b中所示,包括第一相应区域310的第一参考画面和包括第二相应区域320的第二参考画面可在时间上均在包括当前块300的当前画面之前被显示。
在这种情况下,可根据等式9来确定当前像素的预测像素值P(0),其中,用-τ1替换在参照图3a示出的等式8中指示第二参考画面与当前画面之间的时间距离的τ1
[等式9]
例如,如图3c中所示,包括第一相应区域310的第一参考画面和包括第二相应区域320的第二参考画面可在时间上均在包括当前块300的当前画面之后被显示。
在这种情况下,可根据等式10来确定当前像素的预测像素值P(0),其中,用-τ0替换在参照图3a示出的等式8中指示第一参考画面与当前画面之间的时间距离的τ0
[等式10]
然而,如图3b和图3c中所示,当第一参考画面和第二参考画面在时间上均在当前画面之前被显示或在时间上均在当前画面之后被显示时,像素组单位运动补偿可在第一参考画面和第二参考画面不是同一参考画面时被执行。此外,在这种情况下,可仅在双向运动矢量MV1和MV2均具有非零分量时执行像素组单位运动补偿。此外,在这种情况下,可仅在运动矢量MV1和MV2的比率与第一参考画面和当前画面之间的时间距离与第二参考画面和当前画面之间的时间距离的比率相同时执行像素组单位运动补偿。例如,当运动矢量MV1的x分量和运动矢量MV2的x分量的比率与运动矢量MV1的y分量和运动矢量MV2的y分量的比率相同,并且跟第一参考画面和当前画面之间的时间距离τ0与第二参考画面和当前画面之间的时间距离τ1的比率相同时,可执行像素组单位运动补偿。
图4是根据实施例的用于描述计算水平方向上的梯度值和垂直方向上的梯度值的处理的参考图。
参照图4,可通过获得在水平方向上与第一参考画面的第一参考像素P0(i,j)410相邻的邻近分数像素位置处的像素值的变化、以及在垂直方向上与第一参考像素P0(i,j)410相邻的邻近分数像素位置处的像素值的变化来计算第一参考像素P0(i,j)410在水平方向上的梯度值和第一参考像素P0(i,j)410在垂直方向上的梯度值换句话说,根据等式11,可通过计算在水平方向上与像素P0(i,j)相距h的分数像素P0(i-h,j)460和分数像素P0(i+h,j)470的像素值的变化来计算水平方向上的梯度值其中,h是小于1的分数,可通过计算在垂直方向上与像素P0(i,j)相距h的分数像素P0(i,j-h)480和分数像素P0(i,j+h)490的像素值的变化来计算垂直方向上的梯度值
[等式11]
可通过使用一般插值来计算分数像素P0(i-h,j)460、P0(i+h,j)470、P0(i,j-h)480和P0(i,j+h)490的像素值。此外,也可与等式11类似地计算第二参考画面的第二参考像素在水平方向上的梯度值和垂直方向上的梯度值。
根据实施例,代替如等式11中通过计算在分数像素位置处的像素值的变化来计算梯度值,可通过使用特定滤波器来计算参考像素处的梯度值。考虑滤波器的线性度,可基于用于获得分数像素位置处的像素值的插值滤波器的系数来确定所述特定滤波器的滤波器系数。
图5是根据另一实施例的用于描述计算水平方向上的梯度值和垂直方向上的梯度值的处理的参考图。
根据另一实施例,可通过将特定滤波器应用于参考画面的像素来确定梯度值。参照图5,视频解码设备100可通过将特定滤波器应用于基于将被获得当前水平梯度值的参考像素P0 500的MMax个左侧像素520和|MMin|个右侧像素510,来计算参考像素P0 500在水平方向上的梯度值。如图7a至图7d中所示,可根据指示在用于确定窗口尺寸的MMax和MMin个整数像素之间的插值位置(分数pel位置)的值α来确定此处使用的滤波器系数。例如,参照图7a,当用于确定窗口尺寸的MMin和MMax分别是-2和3,并且MMax和MMin与参考像素P0 500相距1/4,即,α=1/4时,图7a的第二行中的滤波器系数{4,-17,-36,60,-15,4}被应用于邻近像素P-2、P-1、P0、P1、P2和P3。在这种情况下,可经由使用滤波器系数和邻近像素的加权和来计算参考像素P0500在水平方向上的梯度值诸如等式 类似地,也可通过根据插值位置、以及用于确定窗口尺寸的MMax和MMin,将图7a至图7e中示出的滤波器系数应用于邻近像素来计算垂直方向上的梯度值。
图6a和图6b是根据实施例的用于描述通过使用1D滤波器确定水平方向上的梯度值和垂直方向上的梯度值的处理的示图。
参照图6a,可通过针对整数像素使用多个1D滤波器来执行滤波,以便在参考画面中确定参考像素在水平方向上的梯度值。以像素组为单位的运动补偿是在以块为单位的运动补偿之后被执行的额外的运动补偿。因此,在以块为单位的运动补偿期间由运动矢量指示的当前块的参考块的参考位置可以是分数像素位置,并且,以像素组为单位的运动补偿可针对参考块中的在分数像素位置处的参考像素被执行。因此,考虑到在分数像素位置处的像素的梯度值被确定,可执行滤波。
参照图6a,首先,视频解码设备100可通过使用第一1D滤波器对从参考画面中的参考像素的邻近整数像素起位于水平方向或垂直方向上的像素执行滤波。类似地,视频解码设备100可通过使用第一1D滤波器对在与所述参考像素不同的行或列中的邻近整数像素执行滤波。视频解码设备100可通过经由使用第二1D滤波器对经由滤波产生的值执行滤波来产生所述参考像素在水平方向上的梯度值。
例如,当参考像素的位置是在(x+α,y+β)处的分数像素的位置(其中,x和y均是整数,α和β均是分数)时,可通过针对水平方向上的整数像素(x,y)、(x-1,y)、(x+1,y)、至(x+MMin,y)和(x+MMax,y)使用1D垂直插值滤波器,根据等式12执行滤波,其中,MMin和MMmax均是整数。
[等式12]
这里,fracFilterβ可表示用于确定垂直方向上的分数像素位置β处的像素值的插值滤波器,fracFilterβ[j']可表示被应用于(i,j')位置处的像素的插值滤波器的系数。I[i,j']可表示(i,j')位置处的像素值。
换句话说,第一1D滤波器可以是用于确定垂直方向上的分数像素值的插值滤波器。offset1可表示用于防止舍入误差的偏移,shift1可表示去缩放比特数。Temp[i,j+β]可表示分数像素位置(i,j+β)处的像素值。也可通过用i'替换i根据等式12来确定Temp[i',j+β],其中,i'是从i+Mmin到i+Mmax的不包括i的整数。
然后,视频解码设备100可通过使用第二1D滤波器对分数像素位置(i,j+β)处的像素值和分数像素位置(i',j+β)处的像素值执行滤波。
[等式13]
这里,gradFilterα可以是用于确定水平方向上的分数像素位置α处的梯度值的梯度滤波器。gradFilterα[i']可表示被应用于(i',j+β)位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定水平方向上的梯度值的梯度滤波器。offset2可表示用于防止舍入误差的偏移,shift2可表示去缩放比特数。
换句话说,根据等式13,视频解码设备100可通过经由使用梯度滤波器gradFilterα对像素位置(i,j+β)处的像素值(Temp[i,j+β])和从像素位置(i,j+β)起位于垂直方向上的像素值(Temp[i',j+β])执行滤波来确定在(i+α,j+β)处的水平方向上的梯度值
在上文中,通过首先应用插值滤波器然后应用梯度滤波器来确定水平方向上的梯度值,但是可选地,可通过首先应用梯度滤波器然后应用插值滤波器来确定水平方向上的梯度值。在下文中,将描述通过应用梯度滤波器然后应用插值滤波器来确定水平方向上的梯度值的实施例。
例如,当参考像素的位置是(x+α,y+β)处的分数像素的位置(其中,x和y均是整数,α和β均是分数)时,可通过针对水平方向上的整数像素(x,y)、(x-1,y)、(x+1,y)、至(x+MMin,y)和(x+MMax,y)使用第一1D滤波器,根据等式14执行滤波,其中,MMin和MMmax均是整数。
[等式14]
这里,gradFilterα可表示用于确定垂直方向上的分数像素位置α处的梯度值的梯度滤波器,gradFilterα[i']可表示被应用于(i',j)位置处的像素的梯度滤波器的系数。I[i',j]可表示(i',j)位置处的像素值。
换句话说,第一1D滤波器可以是用于确定水平方向上的像素的梯度值的插值滤波器,其中,像素位置的水平分量是分数位置。offset3可表示用于防止舍入误差的偏移,shift3可表示去缩放比特数。Temp[i+α,j]可表示水平方向上的像素位置(i+α,j)处的梯度值。也可通过用j'替换j根据等式14来确定Temp[i+α,j'],其中,j'是从j+Mmin到j+Mmax的不包括j的整数。
然后,视频解码设备100可根据等式15,通过使用第二1D滤波器对水平方向上的像素位置(i+α,j)处的梯度值和水平方向上的像素位置(i+α,j')处的梯度值执行滤波。
[等式15]
这里,fracFilterβ可以是用于确定垂直方向上的分数像素位置β处的像素值的插值滤波器。fracFilterβ[j']可表示被应用于(i+β,j')位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定垂直方向上的分数像素位置β处的像素值的插值滤波器。offset4可表示用于防止舍入误差的偏移,shift4可表示去缩放比特数。
换句话说,根据等式15,视频解码设备100可通过经由使用梯度滤波器fracFilterβ对水平方向上的像素位置(i+α,j)处的梯度值(Temp[i+α,j])和从像素位置(i+α,j)起位于垂直方向上的像素在水平方向上的梯度值(Temp[i+α,j'])执行滤波来确定(i+α,j+β)处的水平方向上的梯度值
参照图6b,可通过针对整数像素使用多个1D滤波器来执行滤波,以便在参考画面中确定参考像素在垂直方向上的梯度值。以像素组为单位的运动补偿是在以块为单位的运动补偿之后被执行的额外的运动补偿。因此,在以块为单位的运动补偿期间由运动矢量指示的当前块的参考块的参考位置可以是分数像素位置,并且,以像素组为单位的运动补偿可针对参考块中的在分数像素位置处的参考像素被执行。因此,考虑到在分数像素位置处的像素的梯度值被确定,可执行滤波。
参照图6b,首先,视频解码设备100可通过使用第一1D滤波器对从参考画面中的参考像素的邻近整数像素起位于水平方向或垂直方向上的像素执行滤波。类似地,视频解码设备100可通过使用第一1D滤波器对在与所述参考像素不同的行或列中的邻近整数像素执行滤波。视频解码设备100可通过经由使用第二1D滤波器对经由滤波产生的值执行滤波来产生所述参考像素在垂直方向上的梯度值。
例如,当参考像素的位置是在(x+α,y+β)处的分数像素的位置(其中,x和y均是整数,α和β均是分数)时,可通过针对水平方向上的整数像素(x,y)、(x-1,y-1)、(x+1,y+1)、至(x+MMin,y+MMin)和(x+MMax,y+MMax)使用第一1D滤波器,根据等式16执行滤波,其中,MMin和MMmax均是整数。
[等式16]
这里,fracFilterα可表示用于确定水平方向上的分数像素位置α处的像素值的插值滤波器,fracFilterα[i']可表示被应用于(i',j)位置处的像素的插值滤波器的系数。I[i',j]可表示(i',j)位置处的像素值。
换句话说,第一1D滤波器可以是用于确定水平方向上的分数像素位置α处的像素值的插值滤波器。offset5可表示用于防止舍入误差的偏移,shift5可表示去缩放比特数。
Temp[i+α,j]可表示分数像素位置(i+α,j)处的像素值。也可通过用j'替换j根据等式16来确定Temp[i+α,j'],其中,j'是从j+Mmin到j+Mmax的不包括j的整数。
然后,视频解码设备100可通过使用第二1D滤波器根据等式17对像素位置(i+α,j)处的像素值和像素位置(i+α,j')处的像素值执行滤波。
[等式17]
这里,gradFilterβ可以是用于确定垂直方向上的分数像素位置β处的梯度值的梯度滤波器。gradFilterβ[j']可表示被应用于(i+α,j')位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定在分数像素位置β处的垂直方向上的梯度值的梯度滤波器。offset6可表示用于防止舍入误差的偏移,shift6可表示去缩放比特数。
换句话说,根据等式17,视频解码设备100可通过经由使用梯度滤波器gradFilterβ对像素位置(i+α,j)处的像素值(Temp[i+α,j])和从像素位置(i+α,j)起位于垂直方向上的像素值(Temp[i+α,j'])执行滤波来确定在(i+α,j+β)处的垂直方向上的梯度值
在上文中,通过首先应用插值滤波器然后应用梯度滤波器来确定垂直方向上的梯度值,但是可选地,可通过首先应用梯度滤波器然后应用插值滤波器来确定垂直方向上的梯度值。在下文中,将描述通过应用梯度滤波器然后应用插值滤波器来确定垂直方向上的梯度值的实施例。
例如,当参考像素的位置是(x+α,y+β)处的分数像素的位置(其中,x和y均是整数,α和β均是分数)时,可通过针对垂直方向上的整数像素(x,y)、(x,y-1)、(x,y+1)、至(x,y+MMin)和(x,y+MMax)使用第一1D滤波器,根据等式18执行滤波,其中,MMin和MMmax均是整数。
[等式18]
这里,gradFilterβ可表示用于确定垂直方向上的分数像素位置β处的梯度值的梯度滤波器,gradFilterβ[j']可表示被应用于(i,j')位置处的像素的梯度滤波器的系数。I[i,j']可表示(i,j')位置处的像素值。
换句话说,第一1D滤波器可以是用于确定垂直方向上的像素的梯度值的插值滤波器,其中,像素位置的垂直分量是分数位置。offset7可表示用于防止舍入误差的偏移,shift7可表示去缩放比特数。
Temp[i,j+β]可表示垂直方向上的像素位置(i,j+β)处的梯度值。也可通过用i'替换i根据等式18来确定Temp[i',j+β],其中,i'是从i+Mmin到i+Mmax的不包括i的整数。
然后,视频解码设备100可根据等式19,通过使用第二1D滤波器对垂直方向上的像素位置(i,j+β)处的梯度值和垂直方向上的像素位置(i',j+β)处的梯度值执行滤波。
[等式19]
这里,fracFilterα可以是用于确定水平方向上的分数像素位置α处的像素值的插值滤波器。fracFilterα[i']可表示被应用于(i',j+β)位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定水平方向上的分数像素位置α处的像素值的插值滤波器。offset8可表示用于防止舍入误差的偏移,shift8可表示去缩放比特数。
换句话说,根据等式19,视频解码设备100可通过经由使用插值滤波器fracFilterα对垂直方向上的像素位置(i,j+β)处的梯度值(Temp[i,j+β])和从像素位置(i,j+β)起位于水平方向上的像素的在垂直方向上的梯度值(Temp[i',j+β)])执行滤波来确定(i+α,j+β)处的垂直方向上的梯度值
根据实施例,在视频解码设备100中,可根据以上描述的各种滤波器的组合来确定(i+α,j+β)处的水平方向和垂直方向上的梯度值。例如,为了确定水平方向上的梯度值,用于确定垂直方向上的像素值的插值滤波器可被用作第一1D滤波器,用于确定水平方向上的梯度值的梯度滤波器可被用作第二1D滤波器。可选地,用于确定垂直方向上的梯度值的梯度滤波器可被用作第一1D滤波器,用于确定水平方向上的像素值的插值滤波器可被用作第二1D滤波器。
图7a至图7e是示出根据实施例的用于确定在分数像素单位的分数像素位置处的像素值以及水平方向上的梯度值和垂直方向上的梯度值的滤波器的滤波器系数的表。
图7a和图7b是示出用于确定在水平方向或垂直方向上的1/4pel单位的分数像素位置处的梯度值的滤波器的滤波器系数的表。
如上所述,1D梯度滤波器和1D插值滤波器可被用于确定水平方向或垂直方向上的梯度值。参照图7a,示出了1D梯度滤波器的滤波器系数。这里,6抽头滤波器可被用作1D梯度滤波器。1D梯度滤波器的滤波器系数可以是按照2^4缩放的系数。Mmin表示中心整数像素的位置与在基于所述中心整数像素的被应用于滤波器的在负方向上的整数像素之中的最远像素的位置之间的差,Mmax表示所述中心整数像素的位置与在基于所述中心整数像素的被应用于滤波器的在正方向上的整数像素之中的最远像素的位置之间的差。例如,分数像素位置α在水平方向上是1/4的用于获得像素在水平方向上的梯度值的梯度滤波器系数可以是{4,-17,-36,60,-15,-4}。通过参照图7a,也可以确定分数像素位置α在水平方向上是0、1/2或3/4的用于获得像素在水平方向上的梯度值的梯度滤波器系数。
参照图7b,示出了1D插值滤波器的滤波器系数。这里,6抽头滤波器可被用作1D插值滤波器。1D插值滤波器的滤波器系数可以是按照2^6缩放的系数。Mmin表示中心整数像素的位置与在基于所述中心整数像素的被应用于滤波器的在负方向上的整数像素之中的最远像素的位置之间的差,Mmax表示所述中心整数像素的位置与在基于所述中心整数像素的被应用于滤波器的在正方向上的整数像素之中的最远像素的位置之间的差。
图7c是示出用于确定1/4pel单位的分数像素位置处的像素值的1D插值滤波器的滤波器系数的表。
如上所述,可在水平方向和垂直方向上使用两个相同的1D插值滤波器来确定分数像素位置处的像素值。
参照图7c,示出了1D插值滤波器的滤波器系数。这里,6抽头滤波器可被用作1D插值滤波器。1D插值滤波器的滤波器系数可以是按照2^6缩放的系数。Mmin表示中心整数像素的位置与在基于所述中心整数像素的被应用于滤波器的在负方向上的整数像素之中的最远像素的位置之间的差,Mmax表示所述中心整数像素的位置与在基于所述中心整数像素的被应用于滤波器的在正方向上的整数像素之中的最远像素的位置之间的差。
图7d是示出用于确定1/16pel单位的分数像素位置处的水平方向或垂直方向上的梯度值的滤波器的滤波器系数的表。
如上所述,1D梯度滤波器和1D插值滤波器可被用于确定水平方向或垂直方向上的梯度值。参照图7d,示出了1D梯度滤波器的滤波器系数。这里,6抽头滤波器可被用作1D梯度滤波器。1D梯度滤波器的滤波器系数可以是按照2^4缩放的系数。例如,分数像素位置α在水平方向上是1/16的用于获得像素在水平方向上的梯度值的梯度滤波器系数可以是{8,-32,-13,50,-18,5}。通过参照图7d,也可以确定分数像素位置α在水平方向上是0、1/8、3/16、1/4、5/16、3/8、7/16或1/2的用于获得像素在水平方向上的梯度值的梯度滤波器系数。同时,可通过使用基于α=1/2的滤波器系数的对称性来确定分数像素位置α在水平方向上是9/16、5/8、11/16、3/4、13/16、7/8或15/16的用于获得像素在水平方向上的梯度值的梯度滤波器系数。换句话说,可通过使用图7d中示出的基于α=1/2的在左侧分数像素位置处的滤波器系数来确定基于α=1/2的在右侧分数像素位置处的滤波器系数。例如,在α=15/16处的滤波器系数可通过使用在作为基于α=1/2的对称位置的α=1/16处的滤波器系数{8,-32,-13,50,-18,5}被确定。换句话说,可通过按照逆序对{8,-32,-13,50,-18,5}进行排列来将α=15/16处的滤波器系数确定为{5,-18,50,-13,-32,8}。
参照图7e,示出了1D插值滤波器的滤波器系数。这里,6抽头滤波器可用作1D插值滤波器。1D插值滤波器的滤波器系数可以是按照2^6缩放的系数。例如,分数像素位置α在水平方向是1/16的用于获得像素在水平方向上的像素值的1D插值滤波器系数可以是{1,-3,64,4,-2,0}。通过参照图7e,也可以确定分数像素位置α在水平方向上是0、1/8、3/16、1/4、5/16、3/8、7/16或1/2的用于获得像素在水平方向上的像素值的插值滤波器系数。同时,可通过使用基于α=1/2的滤波器系数的对称性来确定分数像素位置α在水平方向上是9/16、5/8、11/16、3/4、13/16、7/8或15/16的用于获得像素在水平方向上的像素值的插值滤波器系数。换句话说,可通过使用图7e中示出的基于α=1/2的在左侧分数像素位置处的滤波器系数来确定基于α=1/2的在右侧分数像素位置处的滤波器系数。例如,在α=15/16处的滤波器系数可通过使用在作为基于α=1/2的对称位置的α=1/16处的滤波器系数{1,-3,64,4,-2,0}被确定。换句话说,可通过按照逆序对{1,-3,64,4,-2,0}进行排列来将α=15/16处的滤波器系数确定为{0,-2,4,64,-3,1}。
图8a是根据实施例的用于描述确定关于像素的水平方向位移矢量和垂直方向位移矢量的处理的参考图。
参照图8a,具有特定尺寸的窗口Ωij 800的尺寸为基于当前块中的被双向预测的像素P(i,j)的(2M+1)*(2N+1),其中,M和N均是整数。
当P(i',j')表示窗口Ωij 800中被双向预测的当前块的像素(其中,i-M≤i'≤i+M并且j-N≤j'≤j+N,(i',j')∈Ωij),P0(i',j')表示第一参考画面810的与被双向预测的当前块的像素P(i',j')相应的第一参考像素的像素值,P1(i',j')表示第二参考画面820的与被双向预测的当前块的像素P(i',j')相应的第二参考像素的像素值,表示第一参考像素在水平方向上的梯度值,表示第一参考像素在垂直方向上的梯度值,表示第二参考像素在水平方向上的梯度值,并且表示第二参考像素在垂直方向上的梯度值时,可根据等式20来确定第一位移相应像素PA'和第二位移相应像素PB'。这里,可通过使用局部泰勒展开的第一线性项来确定PA'和PB'。
[等式20]
在等式20中,x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy可根据像素P(i,j)的位置被改变(即,依赖于(i,j)),位移矢量Vx和Vy可被表示为Vx(i,j)和Vy(i,j)。
可根据等式21来确定第一位移相应像素PA'和第二位移相应像素PB'之间的差值△i'j'。
[等式21]
可通过使用如等式22中的差值△i'j'的平方和Φ(Vx,Vy)来确定使第一位移相应像素PA'和第二位移相应像素PB'之间的差值△i'j'最小化的x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy。
[等式22]
换句话说,可通过使用Φ(Vx,Vy)的局部最大值或布局最小值来确定位移矢量Vx和Vy。Φ(Vx,Vy)表示将位移矢量Vx和Vy用作参数的函数,并且,可通过以下操作来确定局部最大值或局部最小值:计算通过根据等式23使关于τVx和τVy整理的Φ(Vx,Vy)相对于τVx和τVy进行偏微分而变为0的值。在下文中,为了便于计算,τ0和τ1两者相同,即,都是τ。
[等式23]
可通过使用等式和等式来获得如等式24所示的将Vx(i,j)和Vy(i,j)用作变量的两个线性等式。
[等式24]
τVx*s1+τVy(i,j)*s2=s3
τVx*s4+τVy(i,j)*s5=s6
在等式24中,s1至s6可根据等式25来计算。
[等式25]
通过对等式24的联立方程进行求解,可根据基于克莱默公式的τ*Vx(i,j)=-det1/det和τ*Vy(i,j)=-det2/det来获得Vx(i,j)和Vy(i,j)的值。这里,det1=s3*s5-s2*s6,det2=s1*s6-s3*s4,并且det=s1*s5-s2*s2。
通过首先在水平方向上执行最小化然后在垂直方向上执行最小化,可确定以上等式的简化解。换句话说,当仅水平方向上的位移矢量改变时,等式24的第一个等式中的Vy=0,因此可确定等式:τVx=s3/s1。
然后,当等式24的第二个等式通过使用等式τVx=s3/s1被整理时,可确定等式τVy=(s6-τVx*S2)/s5。
这里,可在不改变结果值Vx(i,j)和Vy(i,j)的情况下对梯度值 进行缩放。然而,它的前提是不发生溢出并且不产生舍入误差。
正则参数r和m被引入以防止在计算Vx(i,j)和Vy(i,j)时执行除以0或非常小的值的除法。
为了方便,认为Vx(i,j)和Vy(i,j)与图3a中示出的方向相反。例如,除了符号之外,由等式24基于图3a的Vx(i,j)和Vy(i,j)的方向推导出的Vx(i,j)和Vy(i,j)可具有与被确定为与图3a的方向相反的Vx(i,j)和Vy(i,j)相同的大小。
可根据等式26确定第一位移相应像素PA'和第二位移相应像素PB'。这里,可通过使用局部泰勒展开的第一线性项来确定第一位移相应像素PA'和第二位移相应像素PB'。
[等式26]
可根据等式27来确定在第一位移相应像素PA'和第二位移相应像素PB'之间的差值△i'j'。
[等式27]
可通过使用如等式28中的差值△的平方和Φ(Vx,Vy)来确定使第一位移相应像素PA'和第二位移相应像素PB'之间的差值△i'j'最小化的x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy。换句话说,当如等式29所示Φ(Vx,Vy)为最小时的位移矢量Vx和Vy可被确定,并且可通过使用Φ(Vx,Vy)的局部最大值或局部最小值被确定。
[等式28]
[等式29]
(Vx,Vy)=argminVx,Vyφ(Vx,Vy)
Φ(Vx,Vy)是将位移矢量Vx和Vy用作参数的函数,并且,可通过计算经由如等式30中所示的使Φ(Vx,Vy)相对于位移矢量Vx和Vy进行偏微分而变为0的值来确定局部最大值或局部最小值。
[等式30]
换句话说,可确定使Φ(Vx,Vy)最小化的位移矢量Vx和Vy。为了解决优化问题,可首先在垂直方向上执行最小化,然后在水平方向上执行最小化。根据最小化,位移矢量Vx可根据等式31被确定。
[等式31]
这里,函数clip3(x,y,z)是这样的函数:当z<x时输出x,当z>y时输出y,并且当x<z<y时输出z。根据等式31,当s1+r>m时,位移矢量Vx可以是clip3(-thBIO,thBIO,-s3/(s1+r)),当并非s1+r>m时,位移矢量Vx可以是0。
根据最小化,可根据等式32来确定位移矢量Vy。
[等式32]
这里,函数clip3(x,y,z)是这样的函数:当z<x时输出x,当z>y时输出y,并且当x<z<y时输出z。根据等式32,当s5+r>m时,位移矢量Vy可以是clip3(-thBIO,thBIO,-(s6-Vx*s2)/2/(s5+r),当并非s5+r>m时,位移矢量Vy可以是0。
这里,可根据等式33来确定s1、s2、s3和s5。
[等式33]
如上所述,r和m可以是被引入以避免除法结果值为0或小于0并且根据等式34基于输入视频的内部比特深度d被确定的正则参数。换句话说,正则参数m是最小允许分母,正则参数r可以是被引入以避免当梯度值为0时将0用作分母的除法。
[等式34]
r=500*4d-8
m=700*4d-8
位移矢量Vx和Vy可具有上限和下限±thBIO。由于可能存在以像素组为单位的运动补偿可能由于噪声或不规则运动而不可信的情况,因此位移矢量Vx和Vy可被特定阈值thBIO限幅。可基于所有参考画面的方向是否相同来确定正则参数thBIO。例如,当所有参考画面的方向相同时,正则参数thBIO可被确定为12^(d-8-1)或12*2^(14-d)。当所有参考画面的方向不同时,thBIO可被确定为12^(d-8-1)/2或12*2^(13-d)。
然而,实施例不限于此,可基于从比特流获得的关于正则参数的信息来确定正则参数r、m和thBIO的值。这里,关于正则参数的信息可被包括在条带头、画面参数集、序列参数集或其它各种形式中的高级语法载体中。
此外,可基于与图像相关的参数来确定正则参数r、m和thBIO。例如,可基于样点的比特深度、GOP的大小、到参考画面的距离、运动矢量、参考画面的索引、不同时间方向的双向预测的可用性、帧率、以及与编码预测结构相关的设置参数中的至少一个来确定正则参数r、m和thBIO。
例如,可基于GOP大小来确定正则参数。例如,当GOP大小是8并且编码预测结构是随机访问时,thBIO可以是12^(d-8-1)。当GOP大小是16(即8的两倍)时,thBIO可被确定为2*2^(d-8-1)。
此外,视频解码设备100可基于与参考画面的距离来确定正则参数。这里,与参考画面的距离可表示当前画面与参考画面之间的POC差。例如,当与参考画面的距离小时,thBIO可被确定为小,当与参考画面的距离大时,thBIO可被确定为大。
视频解码设备100可基于块的运动矢量来确定正则参数。例如,当块的运动矢量的大小小时,thBIO可被确定为小,当块的运动矢量的大小大时,thBIO可被确定为大。此外,例如,当块的运动矢量的角度接近于0并因此仅具有水平分量(通常,水平分量大于垂直分量)时,针对垂直位移矢量的thBIO可被确定为小,并且针对水平位移矢量的thBIO可被确定为大。
视频解码设备100可基于参考画面索引来确定正则参数。参考画面索引可指示当参考画面索引的值较小时位置更靠近当前画面的画面。因此,当参考画面索引小时,thBIO可被确定为小,当参考画面索引大时,thBIO可被确定为大。
此外,可根据时间上不同的双向预测的可用性来确定正则参数。例如,当时间上不同的双向预测为可用时的thBIOdiff可大于当时间上相同的双向预测为可用时的thBIOsame,并且thBIOdiff的大小可以是thBIOsame的大小的两倍。
视频解码设备100可基于帧率来确定正则参数。即使当GOP的大小相同时,帧之间的时间距离在帧率高时也短,因此视频解码设备100可确定thBIO具有较小值。
视频解码设备100可基于与编码预测结构相关的设置参数来确定正则参数。例如,与编码预测结构相关的设置参数可指示随机访问或低延迟,当与编码预测结构相关的设置参数指示低延迟时,由于时间上未来的画面不被参考,因此thBIO值可被确定为小的值。当与编码预测结构相关的设置参数指示随机访问时,thBIO值可被确定为相对大的值。
视频解码设备100可基于样点的比特深度来确定正则参数r和m。正则参数r和m可以与等式25的s1和s5成比例,由于正则参数r和m由梯度的乘法组成,因此当梯度值增加时,r和m也增加。例如,当样点的比特深度d增加时,梯度值可增加,因此正则参数r和m的大小可增加。图8b是根据实施例的用于描述确定关于像素组的水平方向位移矢量和垂直方向位移矢量的处理的参考图。
参照图8b,具有特定尺寸的窗口Ωij 800的尺寸为(2M+K+1)*(2N+K+1),其中,(2M+K+1)*(2N+K+1)基于像素组820而不是基于被执行双向预测的当前块的像素,其中,像素组820具有K×K尺寸并且包括多个像素,其中,M和N均是整数。
这里,与图8a的区别在于窗口的尺寸大,并且,除了该区别之外,关于像素组的水平方向位移矢量和垂直方向位移矢量可按照相同的方式被确定。
图9a是根据实施例的用于描述在滤波被执行之后添加偏移值的处理以及通过执行去缩放来确定水平方向或垂直方向上的梯度值的处理的示图。
参照图9a,视频解码设备100可通过经由使用第一1D滤波器和第二1D滤波器对在特定方向上的分量是整数位置的像素执行滤波来确定水平方向或垂直方向上的梯度值。然而,通过经由使用第一1D滤波器和第二1D滤波器对在特定方向上的分量是整数位置的像素执行滤波而获得的值可以超出特定范围。这种现象被称为溢出现象。1D滤波器的系数可被确定为用于整数运算而不是不准确且复杂的分数运算的整数。可将1D滤波器的系数缩放以被确定为整数。当通过使用缩放后的1D滤波器的系数来执行滤波时,能够执行整数运算,但是与通过使用未被缩放的1D滤波器的系数执行滤波相比,被执行滤波的值的大小可能高,并且溢出现象可能发生。因此,为了防止溢出现象,可在通过使用1D滤波器执行滤波之后执行去缩放。这里,去缩放可包括按照去缩放比特数向右比特移位。在使计算的准确度最大化的同时,可考虑用于滤波操作的寄存器的最大比特数以及存储滤波结果的临时缓冲器的最大比特数来确定去缩放比特数。具体地,可基于内部比特深度、插值滤波器的缩放比特数、以及用于梯度滤波器的缩放比特数来确定去缩放比特数。
在下文中,将描述通过首先使用垂直方向上的插值滤波器对整数位置处的像素执行滤波以确定水平方向上的梯度值来产生垂直方向上的插值滤波值,然后通过使用水平方向上的梯度滤波器对垂直方向上的插值滤波值执行滤波的处理期间执行去缩放的过程。
根据以上的等式12,视频解码设备100可首先通过使用垂直方向上的插值滤波器对整数位置处的像素执行滤波以确定水平方向上的梯度值。这里,shift1可以是b-8。这里,b可表示输入图像的内部比特深度。在下文中,将参照表1描述当基于shift1实际执行去缩放时寄存器的比特深度(Reg Bitdepth)和临时缓冲器的比特深度(Temp Bitdepth)。
[表1]
这里,可根据等式35来确定表1中的变量的值。
[等式35]
RegMin=Min(I)*FilterSumPos+Max(I)*FilterSumNeg
RegMax=Max(I)*FilterSumPos+Min(I)*FilterSumNeg
Reg BitDepth=ceiling(log2(RegMax-RegMin)+1)
TempMin=(RegMin+offset1)>>shift1
TempMax=(RegMax+offset1)>>shift1
Temp BitDepth=ceiling(log2(TempMax-TempMin)+1)
这里,Min(I)可表示根据内部比特深度确定的像素值I的最小值,Max(I)可表示根据内部比特深度确定的像素值I的最大值。FilterSumPos表示正滤波器系数之和的最大值,FilterSumNeg表示负滤波器系数之和的最小值。
例如,当使用图7c中的以1/4pel为单位的梯度滤波器FracFilter时,FilterSumPos可以是88,FilterSumNeg可以是-24。
函数Ceiling(x)可以是关于实数x的输出在等于或大于x的整数中的最小整数的函数。offset1是与被执行滤波的值相加以防止在使用shift1执行去缩放时可能产生的舍入误差的偏移值,并且offset1可被确定为2^(shift1-1)。
参照表1,当内部比特深度b是8时,寄存器的比特深度(Reg Bitdepth)可以是16,当内部比特深度b是9时,寄存器的比特深度可以是17,当内部比特深度b是10、11、12和16时,寄存器的比特深度可以是18、19、20和24。当被用于执行滤波的寄存器是32位寄存器时,由于图1中的所有寄存器的比特深度未超过32,所以溢出现象不会发生。
类似地,当内部比特深度b是8、9、10、11、12和16时,临时缓冲器的比特深度(TempBitDepth)全部是16。当用于存储被执行滤波然后被执行去缩放的值的临时缓冲器是16位缓冲器时,由于表1中的所有的临时缓冲器的比特深度是16并因此未超过16,因此溢出现象不会发生。
根据等式12,视频解码设备100可首先通过经由使用垂直方向上的插值滤波对整数位置处的像素执行滤波以确定水平方向上的梯度值来产生垂直方向上的插值滤波值,然后根据等式13通过使用水平方向上的梯度滤波器对垂直方向上的插值滤波值执行滤波。这里,shift2可被确定为p+q-shift1。这里,p可表示针对包括图7c中示出的滤波器系数的插值滤波器被缩放的比特数,q可表示针对包括图7a中示出的滤波器系数的梯度滤波器被缩放的比特数。例如,p可以是6,q可以是4,因此,shift2=18-b。
shift2被这样确定是因为:shift1+shift2(即,被缩放的比特数的总和)应该与针对滤波器被上缩放的比特数的sum(p+q)相同,使得最终滤波结果值在滤波器系数被向上缩放的情况下和在滤波器系数未被向上缩放的情况下相同。
在下文中,将参照表2描述当基于shift2实际执行去缩放时的寄存器的比特深度(Reg Bitdepth)和临时缓冲器的比特深度(Temp Bitdepth)。
[表2]
这里,可根据等式36来确定表2中的变量的值。
[等式36]
RegMin=TempMin*FilterSumPos+TempMax*FilterSumNeg
RegMax=TempMax*FilterSumPos+TempMin*FilterSumNeg
Reg BitDepth=ceiling(log2(RegMax-RegMin)+1)
TempMin=(RegMin+offset2)>>shift2
TempMax=(RegMax+offset2)>>shift2
Temp BitDepth=ceiling(log2(TempMax-TempMin)+1)
这里,TempMax可表示表1的TempMax,TempMin可表示表1的TempMin。FilterSumPos表示正滤波器系数之和的最大值,FilterSumNeg表示负滤波器系数之和的最小值。例如,当图7c中示出的以1/4pel为单位的梯度滤波器gradFilter被使用时,FilterSumPos可以是68,FilterSumNeg可以是-68。
offset2是与被执行滤波的值相加以防止在使用shift2执行去缩放时可能产生的舍入误差的偏移值,并且offset1可被确定为2^(shift2-1)。
shift1和shift2可被这样确定,但是可选地,shift1和shift2可被不同地确定,只要shift1和shift2之和等于去缩放比特数之和即可。这里,可基于不发生溢出现象的前提来确定shift1和shift2的值。可基于输入图像的内部比特深度和关于滤波器的缩放比特数来确定shift1和shift2
然而,shift1和shift2可不必被确定为使得shift1和shift2之和等于关于滤波器的去缩放比特数之和。例如,shift1可被确定为d-8,但是shift2可被确定为固定数。
当shift1与之前相同并且shift2是固定数7时,参照表2描述的OutMax、OutMin和Temp Bitdepth可被改变。在下文中,现在将参照表3描述临时缓冲器的比特深度(TempBitdepth)。
[表3]
b OutMax OutMin Temp Bitdepth
8 15173 -15174 16
9 15203 -15204 16
10 15218 -15219 16
11 15225 -15226 16
12 15229 -15230 16
16 15233 -15234 16
与表2不同,在表3中,临时缓冲器的比特深度(Temp Bitdepth)在所有b中是相同的,即16,并且当通过使用16位临时缓冲器存储结果数据时,临时缓冲器的比特深度(TempBitdepth)小于16,因此针对所有输入图像的内部比特深度不会发生溢出现象。同时,参照表2,当输入图像的内部比特深度是12和16,并且通过使用16位临时缓冲器存储结果数据时,临时缓冲器的比特深度(Temp Bitdepth)高于16,因此可能发生溢出现象。
当shift2是固定数时,缩放的滤波器系数不被使用,并且执行滤波的结果值以及执行滤波然后进行去缩放的结果值可不同。在这种情况下,对于本领域普通技术人员来说显而易见的是,需要另外执行去缩放。
在上文中,已经描述了通过首先使用垂直方向上的插值滤波器对整数位置处的像素执行滤波以确定水平方向上的梯度值来产生垂直方向上的插值滤波值,然后通过使用水平方向上的梯度滤波器对垂直方向上的插值滤波值执行滤波的处理期间执行去缩放的过程,但是对于本领域普通技术人员显而易见的是,当经由各种1D滤波器的组合对在特定方向上的分量是整数的像素执行滤波以便确定水平方向上的梯度值和垂直方向上的梯度值时,可按照类似的方式执行去缩放。
图9b是用于描述在执行针对当前块的像素单位运动补偿的处理期间确定水平方向位移矢量和垂直方向位移矢量所需的范围的示图。
参照图9b,在对与当前块相应的参考块910执行像素单位运动补偿时,视频解码设备100可通过使用位于参考块910的左上方的像素915附近的窗口920来确定在像素915处的水平方向上的每单位时间的位移矢量和垂直方向上的每单位时间的位移矢量。这里,可通过使用位于参考块910外部的范围内的像素的像素值和梯度值来确定在水平方向或垂直方向上的每单位时间的位移矢量。按照相同的方式,在确定关于位于参考块910的边界上的像素的水平方向位移矢量和垂直方向位移矢量时,视频解码设备100确定位于参考块910外部的范围内的像素的像素值和梯度值。因此,视频解码设备100可通过使用范围比参考块910大的块925来确定水平方向位移矢量和在垂直方向上的每单位时间的位移矢量。例如,在当前块的尺寸是A×B并且每个像素的窗口的尺寸是(2M+1)x(2N+1)时,用于确定水平方向位移矢量和垂直方向位移矢量的范围的大小可以是(A+2M)x(B+2N)。
图9c和图9d是根据各种实施例的用于描述在以像素为单位执行运动补偿的处理期间使用的区域的范围的示图。
参照图9c,在以像素为单位执行运动补偿时,视频解码设备100可基于在按照位于参考块930的边界上的像素的窗口的尺寸扩展的范围内的块935来确定在参考块930中包括的每个像素的水平方向位移矢量和每个像素的垂直方向上的每单位时间的位移矢量。然而,在确定水平方向上的每单位时间的位移矢量和垂直方向上的每单位时间的位移矢量时,视频解码设备100获得位于块935中的像素的像素值和梯度值,并且此时,插值滤波器或梯度滤波器可被用于获得所述像素值和梯度值。在对块935的边界像素使用插值滤波器或梯度滤波器时,邻近像素的像素值可被使用,因此,位于块边界外部的像素可被使用。因此,可通过使用被另外地扩展到通过从插值滤波器或梯度滤波器的抽头数减去1而获得的值的范围内的块940来执行像素单位运动补偿。因此,当块的尺寸是N×N,每个像素的窗口的尺寸是(2M+1)x(2M+1),并且插值滤波器或梯度滤波器的长度是T时,在扩展后的范围内的块的尺寸可以是(N+2M+T-1)x(N+2M+T-1)。
参照图9d,在以像素为单位执行运动补偿时,视频解码设备100可在不根据位于参考块945的边界上的像素的窗口的尺寸扩展参考块情况下,通过使用位于参考块945中的像素的像素值和梯度值来确定每个像素的水平方向位移矢量和垂直方向上的每单位时间的位移矢量。具体地,参照图9e描述视频解码设备100在不扩展参考块的情况下确定水平方向上的每单位时间的位移矢量和垂直方向上的每单位时间的位移矢量的处理。然而,参考块945的插值滤波器或梯度滤波器被用于获得像素的像素值或梯度值,并且像素组单位运动补偿可通过使用扩展的块950被执行。因此,当块的尺寸是N×N,每个像素的窗口的尺寸是(2M+1)x(2M+1),并且插值滤波器或梯度滤波器的长度是T时,扩展的块的尺寸可以是(N+T-1)x(N+T-1)。
图9e是用于描述在不扩展参考块的情况下确定水平方向位移矢量和垂直方向位移矢量的处理的示图。
参照图9e,对于位于参考块955的边界外部的像素,视频解码设备100可将该像素的位置调整至在位于参考块955的边界上的像素之中的最近位置处的可用像素的位置,以将位于参考块955的边界外部的像素的像素值和梯度值确定为在所述最近位置处的可用像素的像素值和梯度值。这里,视频解码设备100可根据等式i′=i′<0?0:i′;i′>H-1?H-1:i′和等式j′=j′<0?0:j′;j′>W-1?W-1:j′,将位于参考块955外部的像素的位置调整至所述最近位置处的可用像素的位置。
这里,i'表示像素的x坐标值,j'表示像素的y坐标值,H和W表示参考块的高度和宽度。这里,假设参考块的左上位置是(0,0)。当参考块的左上位置是(xP,yP)时,最终像素的位置可以是(i'+xP,j'+yP)。
参照图9c,在按照每个像素的窗口的尺寸扩展的块935中的位于参考块930的边界外部的像素的位置被调整至与参考块930的边界的内部相邻的像素的位置,视频解码设备100可通过使用如图9d中所示的参考块945的像素值和梯度值在块945中确定每个像素的水平方向位移矢量和每个像素的在垂直方向上的每单位时间的位移矢量。
因此,由于视频解码设备100在不根据每个像素的窗口的尺寸扩展参考块945的情况下执行像素单位运动补偿,因此减少了用于像素值参考的存储器访问次数并且减少了乘法运算次数,从而可减少运算复杂度。
视频解码设备100可根据视频解码设备100执行块单位运动补偿(根据HEVC标准操作)时、利用根据窗口尺寸的块扩展执行像素单位运动补偿时、以及在不进行块扩展的情况下执行像素单位运动补偿时,按照如下面的表4中示出的存储器访问次数和乘法运算次数执行存储器访问操作和乘法运算。这里,假设梯度滤波器的长度T是7,块的尺寸是N×N,每个像素的窗口的尺寸2M+1是5。
[表4]
在根据HEVC标准的块单位运动补偿中,由于针对一个样点使用8抽头的插值滤波器,因此需要8个邻近样点,从而当参考块的尺寸是N×N时,根据8抽头插值需要(N+7)x(N+7)个参考样点,并且,由于双向运动预测补偿被执行,因此使用两个参考块,从而如表4中所示,在根据HEVC标准的块单位运动补偿中,存储器访问被执行2x(N+7)x(N+7)次。当利用块扩展执行像素单位运动补偿,M=2,并且通过针对具有扩展后的尺寸(N+4)x(N+4)的块使用8抽头插值滤波器或梯度滤波器执行像素单位运动补偿时,需要(N+4+7)x(N+4+7)个参考样点,由于双向运动预测补偿被执行,因此两个参考块被使用,从而如表4中所示,在利用块扩展执行的像素单位运动补偿中,存储器访问被执行2x(N+4+7)x(N+4+7)次。
然而,当在不进行块扩展的情况下执行像素单位运动补偿时,由于块不被扩展,因此在根据HEVC标准的块单位运动补偿中需要(N+7)x(N+7)个参考样点,并且,由于双向运动预测补偿被执行,因此两个参考块被使用,从而如表4中所示,在不进行块扩展的情况下执行的像素单位运动补偿中,存储器访问被执行2x(N+7)x(N+7)次。
图9f是用于描述获得时间运动矢量预测因子候选的处理的示图,其中,在所述处理中考虑像素组单位运动补偿。
视频解码设备100可对当前画面960中的当前块965执行帧间预测。这里,视频解码设备100可获得先前解码画面970中的同位块975的运动矢量980作为当前块965的时间运动矢量预测因子候选,将获得的当前块的时间运动矢量预测因子候选和另一运动矢量预测因子候选中的一个确定为当前块965的运动矢量预测因子,并通过使用该运动矢量预测因子对当前块965执行帧间预测。
视频解码设备100可在对先前解码画面970中包括的同位块975执行帧间预测的同时对同位块975执行块单位运动补偿和像素组单位运动补偿。视频解码设备100可通过使用运动矢量980执行块单位运动补偿,并且可通过使用每个像素组的在水平方向上的每单位时间的位移矢量和在垂直方向上的每单位时间的位移矢量执行像素组单位运动补偿。
考虑到同位块975的运动矢量980可在先前解码画面970之后被用作时间运动矢量预测因子候选,视频解码设备100可存储同位块975的运动矢量980。这里,视频解码设备100可基于运动矢量存储单元存储运动矢量980。具体地,视频解码设备100可根据等式(MVx,MVy)=fRXR(MVx+μVx,MVy+μVy)来存储运动矢量980。
这里,MVx和MVy可分别表示在块单位运动补偿中使用的运动矢量的x分量和y分量,Vx和Vy可分别表示在像素组单位运动补偿中使用的每个像素的位移矢量的x分量和y分量。此外,μ指示权重。这里,基于运动矢量存储单元的大小R、像素组的大小K、以及在以像素组为单位的运动补偿中使用的梯度滤波器或插值滤波器的缩放因子来确定权重μ。例如,当像素组的大小K的值增大时,权重μ可减小,当运动矢量存储单元的大小R增大时,权重μ可减小。此外,当梯度滤波器或插值滤波器的缩放因子的值增大时,权重μ可减小。这里,fRXR(MVx,MVy)可表示考虑运动矢量存储单元的大小R×R的根据运动矢量MVx、MVy的函数。例如,fRXR(MVx,MVy)可以是这样的函数:在该函数中,在R×R的运动矢量存储单元中包括的单元的运动矢量的x分量MVx的平均值被确定为在R×R的运动矢量存储单元中存储的x分量MVx,并且在R×R的运动矢量存储单元中包括的单元的运动矢量的y分量MVy的平均值被确定为在R×R的运动矢量存储单元中存储的y分量MVy。
由于存储的运动矢量980是考虑以像素组为单位的运动补偿的运动矢量,因此当前块965的时间运动矢量预测因子候选可被确定为在对当前块965执行帧间预测时在更精确的运动补偿中使用的运动矢量,因此可提高预测编码/解码效率。
在下文中,将参照图10至图23描述确定在根据实施例的视频解码设备100对图像进行解码时可使用的数据单元的方法。视频编码设备150的操作可与下面描述的视频解码设备100的操作的各种实施例相似或相反。
图10示出根据实施例的当视频解码设备100对当前编码单元进行划分时确定至少一个编码单元的处理。
根据实施例,视频解码设备100可通过使用块形状信息确定编码单元的形状,并且可通过使用划分形状信息确定编码单元被划分成的形状。换句话说,可基于由视频解码设备100使用的块形状信息指示的块形状来确定由划分形状信息指示的编码单元的划分方法。
根据实施例,视频解码设备100可使用指示当前编码单元具有正方形形状的块形状信息。例如,视频解码设备100可根据划分形状信息来确定是否不对正方形编码单元进行划分,是否垂直地对正方形编码单元进行划分,是否水平地对正方形编码单元进行划分,或者是否将正方形编码单元划分为四个编码单元。参照图10,在当前编码单元1000的块形状信息指示正方形形状时,视频解码设备100可根据指示不进行划分的划分形状信息而不对与当前编码单元1000具有相同尺寸的编码单元1010a进行划分,或者可基于指示特定划分方法的划分形状信息确定编码单元1010b、1010c或1010d。
参照图10,根据实施例,视频解码设备100可基于指示按照垂直方向进行划分的划分形状信息通过按照垂直方向对当前编码单元1000进行划分来确定两个编码单元1010b。视频解码设备100可基于指示按照水平方向进行划分的划分形状信息通过按照水平方向对当前编码单元1000进行划分来确定两个编码单元1010c。视频解码设备100可基于指示按照垂直和水平方向进行划分的划分形状信息通过按照垂直和水平方向对当前编码单元1000进行划分来确定四个编码单元1010d。然而,正方形编码单元可被划分为的划分形状不限于上述形状,并可包括可由划分形状信息指示的任意形状。现在将通过各种实施例详细描述正方形编码单元被划分为的特定划分形状。
图11示出根据实施例的当图像解码设备100对具有非正方形形状的编码单元进行划分时确定至少一个编码单元的处理。
根据实施例,视频解码设备100可使用指示当前编码单元具有非正方形形状的块形状信息。视频解码设备100可根据划分形状信息确定是否不对非正方形的当前编码单元进行划分,或者是否经由特定方法对非正方形的当前编码单元进行划分。参照图11,在当前编码单元1100或1150的块形状信息指示非正方形形状时,视频解码设备100可根据指示不进行划分的划分形状信息而不对与当前编码单元1100或1150具有相同尺寸的编码单元1110或1160进行划分,或者可基于指示特定划分方法的划分形状信息确定编码单元1120a、1120b、1130a、1130b、1130c、1170a、1170b、1180a、1180b和1180c。现在将通过各种实施例详细描述对非正方形编码单元进行划分的特定划分方法。
根据实施例,视频解码设备100可通过使用划分形状信息确定编码单元被划分为的形状,在这种情况下,划分形状信息可指示当编码单元被划分时产生的至少一个编码单元的数量。参照图11,当划分形状信息指示当前编码单元1100或1150被划分为两个编码单元时,视频解码设备100可通过基于划分形状信息对当前编码单元1100或1150进行划分来确定包括在当前编码单元1100或1150中的两个编码单元1120a和1120b或者1170a和1170b。
根据实施例,当视频解码设备100基于划分形状信息对具有非正方形形状的当前编码单元1100或1150进行划分时,视频解码设备100可考虑具有非正方形形状的当前编码单元1100或1150的较长边的位置对当前编码单元1100或1150进行划分。例如,视频解码设备100可通过考虑当前编码单元1100或1150的形状按照对当前编码单元1100或1150的较长边进行划分的方向对当前编码单元1100或1150进行划分来确定多个编码单元。
根据实施例,当划分形状信息指示编码单元被划分为奇数数量的块时,视频解码设备100可确定包括在当前编码单元1100或1150中的奇数数量的编码单元。例如,当划分形状信息指示当前编码单元1100或1150被划分为三个编码单元时,视频解码设备100可将当前编码单元1100或1150划分为三个编码单元1130a至1130c或者1180a至1180c。根据实施例,视频解码设备100可确定包括在当前编码单元1100或1150中的奇数数量的编码单元,确定的编码单元的尺寸可不全部相同。例如,在确定的奇数数量的编码单元1130a至1130c或者1180a至1180c中的编码单元1130b或1180b的尺寸可不同于编码单元1130a和1130c或者1180a和1180c的尺寸。换句话说,可在当前编码单元1100或1150被划分时确定的编码单元可具有不同类型的尺寸,并且在一些情况下,编码单元1130a至1130c或者1180a至1180c可具有不同尺寸。
根据实施例,当划分形状信息指示编码单元被划分为奇数数量的块时,视频解码设备100可确定包括在当前编码单元1100或1150中的奇数数量的编码单元,并且此外,可对经由划分而产生的奇数数量的编码单元中的至少一个编码单元设置特定限定。参照图11,视频解码设备100可使对在当前编码单元1100或1150被划分时产生的三个编码单元1130a至1130c或者1180a至1180c之中位于中间的编码单元1130b或1180b执行的解码处理与对其它编码单元1130a和1130c或1180a和1180c执行的解码处理不同。例如,视频解码设备100可限定位于中间的编码单元1130b或1180b不像其它编码单元1130a和1130c或者1180a和1180c一样被进一步划分,或者仅被划分特定次数。
图12示出根据实施例的由视频解码设备100基于块形状信息和划分形状信息中的至少一个对编码单元进行划分的处理。
根据实施例,视频解码设备100可基于块形状信息和划分形状信息中的至少一个确定具有正方形形状的第一编码单元1200是否被划分为编码单元。根据实施例,当划分形状信息指示按照水平方向对第一编码单元1200进行划分时,视频解码设备100可通过按照水平方向对第一编码单元1200进行划分确定第二编码单元1210。根据实施例的使用的“第一编码单元”、“第二编码单元”和“第三编码单元”是用于指示在对编码单元进行划分之前和之后之间的关系的术语。例如,可通过对第一编码单元进行划分来确定第二编码单元,可通过对第二编码单元进行划分来确定第三编码单元。在下文中,应当理解,第一编码单元至第三编码单元之间的关系符合上面描述的特征。
根据实施例,视频解码设备100可基于块形状信息和划分形状信息中的至少一个确定所确定的第二编码单元1210是否被划分为编码单元。参照图12,视频解码设备100可基于块形状信息和划分形状信息中的至少一个将具有非正方形形状并且是通过对第一编码单元1200进行划分而确定的第二编码单元1210划分为至少一个第三编码单元1220a、1220b、1220c或1220d,或者可不对第二编码单元1210进行划分。视频解码设备100可获得块形状信息和划分形状信息中的至少一个,并且可通过基于获得的块形状信息和划分形状信息中的至少一个对第一编码单元1200进行划分以获得具有各种形状的多个第二编码单元(例如,第二编码单元1210),其中,第二编码单元1210可基于块形状信息和划分形状信息中的至少一个根据对第一编码单元1200进行划分的方法而被划分。根据实施例,当第一编码单元1200基于针对第一编码单元1200的块形状信息和划分形状信息中的至少一个而被划分为第二编码单元1210时,第二编码单元1210还可基于针对第二编码单元1210的块形状信息和划分形状信息中的至少一个而被划分为第三编码单元,例如,第三编码单元1220a至1220d。换句话说,编码单元可基于与每个编码单元有关的块形状信息和划分形状信息中的至少一个而被递归地划分。因此,正方形编码单元可从非正方形编码单元被确定,并且这样的正方形编码单元可被递归地划分使得非正方形编码单元被确定。参照图12,当具有非正方形形状的第二编码单元1210被划分时确定的奇数数量的第三编码单元1220b至1220d中的特定编码单元(例如,位于中间的编码单元或正方形编码单元)可被递归地划分。根据实施例,在第三编码单元1220b至1220d之中的具有正方形形状的第三编码单元1220c可按照水平方向被划分为多个第四编码单元。在多个第四编码单元之中的具有非正方形形状的第四编码单元1240可被再次划分为多个编码单元。例如,具有非正方形形状的第四编码单元1240可被划分为奇数数量的编码单元1250a至1250c。
下面将通过各种实施例描述可被用于对编码单元递归地进行划分的方法。
根据实施例,视频解码设备100可基于块形状信息和划分形状信息中的至少一个确定将第三编码单元1220a至1220d中的每一个划分为编码单元或者不对第二编码单元1210进行划分。根据实施例,视频解码设备100可将具有非正方形形状的第二编码单元1210划分为奇数数量的第三编码单元1220b至1220d。视频解码设备100可对第三编码单元1220b至1220d之中的特定第三编码单元设置特定限定。例如,视频解码设备100可限定第三编码单元1220b至1220d中的位于中间的第三编码单元1220c不再被划分或被划分为可设置的次数。参照图12,视频解码设备100可限定:包括在具有非正方形形状的第二编码单元1210中的第三编码单元1220b至1220d中的位于中间的第三编码单元1220c不再被划分,被划分为特定划分形状(例如,划分为四个编码单元或划分为与第二编码单元1210被划分为的形状相应的形状),或者仅被划分特定次数(例如,仅划分n次,其中,n>0)。然而,对位于中间的第三编码单元1220c的这样的限定仅是示例,并且不应被解释为受限于这些示例,而应被解释为包括各种限定,只要与其它的第三编码单元1220b和1220d不同地对位于中间的第三编码单元1220c进行解码即可。
根据实施例,视频解码设备100可从当前编码单元中的特定位置获得用于对当前编码单元进行划分的块形状信息和划分形状信息中的至少一个。
图13示出根据实施例的由视频解码设备100从奇数数量的编码单元中确定特定编码单元的方法。参照图13,可从包括在当前编码单元1300中的多个样点中的位于特定位置的样点(例如,位于中间的样点1340)获得当前编码单元1300的块形状信息和划分形状信息中的至少一个。然而,当前编码单元1300中的用来获得块形状信息和划分形状信息中的至少一个的特定位置不被限定为图13中示出的中间位置,而可以是当前编码单元1300中包括的任何位置(例如,最上方位置、最下方位置、左侧位置、右侧位置、左上方位置、左下方位置、右上方位置或右下方位置)。视频解码设备100可通过从特定位置获得块形状信息和划分形状信息中的至少一个来确定当前编码单元是被划分为具有各种形状和尺寸的编码单元还是不被划分。
根据实施例,在当前编码单元被划分为特定数量的编码单元时,视频解码设备100可选择一个编码单元。选择多个编码单元中的一个的方法可改变,并且下面将通过各种实施例描述其详情。
根据实施例,视频解码设备100可将当前编码单元划分为多个编码单元,并确定在特定位置的编码单元。
图13示出根据实施例的由视频解码设备100从奇数数量的编码单元中确定在特定位置的编码单元的方法。
根据实施例,视频解码设备100可使用指示奇数数量的编码单元中的每一个的位置的信息,以确定奇数数量的编码单元之中的位于中间的编码单元。参照图13,视频解码设备100可通过划分当前编码单元1300来确定奇数数量的编码单元1320a至1320c。视频解码设备100可通过使用关于奇数数量的编码单元1320a至1320c的位置的信息来确定中间的编码单元1320b。例如,视频解码设备100可通过基于指示包括在编码单元1320a至1320c中的特定样点的位置的信息确定编码单元1320a至1320c的位置,来确定位于中间的编码单元1320b。详细地,视频解码设备100可通过基于指示编码单元1320a至1320c的左上方样点1330a至1330c的位置的信息确定编码单元1320a至1320c的位置,来确定位于中间的编码单元1320b。
根据实施例,指示分别包括在编码单元1320a至1320c中的左上方样点1330a至1330c的位置的信息可包括关于编码单元1320a至1320c的在画面中的位置或坐标的信息。根据实施例,指示分别包括在编码单元1320a至1320c中的左上方样点1330a至1330c的位置的信息可包括指示包括在当前编码单元1300中的编码单元1320a至1320c的宽度或高度的信息,并且,这样的宽度或高度可与指示编码单元1320a至1320c的在画面中的坐标之间的差的信息相应。换句话说,视频解码设备100可通过直接使用关于编码单元1320a至1320c的在画面中的位置或坐标的信息或通过使用关于与坐标之间的差相应的编码单元1320a至1320c的宽度或高度的信息,来确定位于中间的编码单元1320b。
根据实施例,指示上方编码单元1320a的左上方样点1330a的位置的信息可指示(xa,ya)坐标,指示中间编码单元1320b的左上方样点1330b的位置的信息可指示(xb,yb)坐标,指示下方编码单元1320c的左上方样点1330c的位置的信息可指示(xc,yc)坐标。视频解码设备100可通过使用分别包括在编码单元1320a至1320c中的左上方样点1330a至1330c的坐标来确定中间编码单元1320b。例如,当左上方样点1330a至1330c的坐标按照升序或降序排列时,位于中间的包括样点1330b的坐标(xb,yb)的编码单元1320b可被确定为在当前编码单元1300被划分时确定的编码单元1320a至1320c中的位于中间的编码单元。然而,指示左上方样点1330a至1330c的位置的坐标可以是指示画面中的绝对位置的坐标,另外,可基于上方编码单元1320a的左上方样点1330a的位置来使用(dxb,dyb)坐标(即,指示中间编码单元1320b的左上方样点1330b的相对位置的信息)和(dxc,dyc)坐标(即,指示下方编码单元1320c的左上方样点1330c的相对位置的信息)。另外,通过将包括在编码单元中的样点的坐标用作指示样点的位置的信息来确定在特定位置的编码单元的方法不被限定为以上方法,并可使用能够使用样点的坐标的各种算术方法。
根据实施例,视频解码设备100可将当前编码单元1300划分为多个编码单元1320a至1320c,并根据特定标准从编码单元1320a至1320c中选择编码单元。例如,视频解码设备100可从编码单元1320a至1320c中选择具有不同尺寸的编码单元1320b。
根据实施例,视频解码设备100可通过分别使用(xa,ya)坐标(即,指示上方编码单元1320a的左上方样点1330a的位置的信息)、(xb,yb)坐标(即,指示中间编码单元1320b的左上方样点1330b的位置的信息)和(xc,yc)坐标(即,指示下方编码单元1320c的左上方样点1330c的位置的信息),来确定编码单元1320a至1320c的宽度或高度。视频解码设备100可通过分别使用指示编码单元1320a至1320c的位置的坐标(xa,ya)、(xb,yb)和(xc,yc)来确定编码单元1320a至1320c的尺寸。
根据实施例,视频解码设备100可将上方编码单元1320a的宽度确定为xb-xa,并将上方编码单元1320a的高度确定为yb-ya。根据实施例,视频解码设备100可将中间编码单元1320b的宽度确定为xc-xb,并将中间编码单元1320b的高度确定为yc-yb。根据实施例,视频解码设备100可通过使用当前编码单元1300的宽度和高度、以及上方编码单元1320a和中间编码单元1320b的宽度和高度来确定下方编码单元1320c的宽度或高度。视频解码设备100可基于确定的编码单元1320a至1320c的宽度和高度来确定具有与其他编码单元不同的尺寸的编码单元。参照图13,视频解码设备100可将具有与上方编码单元1320a和下方编码单元1320c的尺寸不同的尺寸的中间编码单元1320b确定为在特定位置的编码单元。然而,视频解码设备100确定具有与其他编码单元不同的尺寸的编码单元的处理仅是通过使用基于样点坐标确定的编码单元的尺寸来确定在特定位置的编码单元的示例,因此可使用通过将根据特定样点坐标而确定的编码单元的尺寸进行比较来确定在特定位置的编码单元的各种处理。
然而,被考虑以确定编码单元的位置的样点的位置不限定为如上所述的左上方,并且,关于包括在编码单元中的任意样点的位置的信息可被使用。
根据实施例,在考虑当前编码单元的形状的同时,视频解码设备100可从在当前编码单元被划分时确定的奇数数量的编码单元中选择在特定位置的编码单元。例如,在当前编码单元具有宽度长于高度的非正方形形状时,视频解码设备100可确定在水平方向上在特定位置的编码单元。换句话说,视频解码设备100可确定编码单元中的在水平方向上具有不同位置的一个编码单元,并对该一个编码单元设置限定。在当前编码单元具有高度长于宽度的非正方形形状时,视频解码设备100可确定在垂直方向上在特定位置的编码单元。换句话说,视频解码设备100可确定编码单元中的在垂直方向上具有不同位置的一个编码单元,并对该一个编码单元设置限定。
根据实施例,视频解码设备100可使用指示偶数数量的编码单元中的每一个的位置的信息,以从偶数数量的编码单元中确定在特定位置的编码单元。视频解码设备100可通过划分当前编码单元来确定偶数数量的编码单元,并通过使用关于偶数数量的编码单元的位置的信息来确定在特定位置的编码单元。其详细处理可与在图13描述的从奇数数量的编码单元中确定在特定位置(例如,中间位置)的编码单元的处理相应,因此不再提供其详情。
根据实施例,当具有非正方形形状的当前编码单元被划分为多个编码单元时,在划分处理期间的关于在特定位置的编码单元的特定信息可被用于确定多个编码单元之中的在特定位置的编码单元。例如,视频解码设备100可在划分处理期间使用存储在样点(该样点包括在中间编码单元中)中的块形状信息和划分形状信息中的至少一个,以从通过对当前编码单元进行划分而获得的多个编码单元中确定位于中间的编码单元。
参照图13,视频解码设备100可基于块形状信息和划分形状信息中的至少一个将当前编码单元1300划分为多个编码单元1320a至1320c,并从多个编码单元1320a至1320c中确定位于中间的编码单元1320b。此外,视频解码设备100可考虑用来获得块形状信息和划分形状信息中的至少一个的位置来确定位于中间的编码单元1320b。换句话说,当前编码单元1300的块形状信息和划分形状信息中的至少一个可从位于当前编码单元1300的中间的样点1340被获得,并在当前编码单元1300基于块形状信息和划分形状信息中的至少一个被划分为多个编码单元1320a至1320c时,包括样点1340的编码单元1320b可被确定为位于中间的编码单元。然而,用于确定位于中间的编码单元的信息不被限定为块形状信息和划分形状信息中的至少一个,并且各种类型的信息可在确定位于中间的编码单元时被使用。
根据实施例,用于识别在特定位置的编码单元的特定信息可从包括在将被确定的编码单元中的特定样点中被获得。参照图13,视频解码设备100可使用从位于当前编码单元1300中的特定位置的样点(例如,位于当前编码单元1300的中间的样点)获得的块形状信息和划分形状信息中的至少一个,以从在当前编码单元1300被划分时确定的多个编码单元1320a至1320c中确定在特定位置的编码单元(例如,多个编码单元中的位于中间的编码单元)。换句话说,视频解码设备100可考虑当前编码单元1300的块形状来确定在特定位置的样点,并且可从在当前编码单元1300被划分时确定的多个编码单元1320a至1320c中确定编码单元1320b并对其设置特定限定,其中,编码单元1320b包括这样的样点:从该样点能够获得特定信息(例如,块形状信息和划分形状信息中的至少一个)。参照图13,根据实施例,视频解码设备100可将位于当前编码单元1300的中间的样点1340确定为从其能够获得特定信息的样点,并且可在解码处理期间对包括这样的样点1340的编码单元1320b设置特定限定。然而,从其能够获得特定信息的样点的位置不被限定为以上的位置,并且该样点可以是包括在被确定为设置限定的编码单元1320b中的任意位置的样点。
根据实施例,从其能够获得特定信息的样点的位置可根据当前编码单元1300的形状而被确定。根据实施例,块形状信息可确定当前编码单元的形状是正方形还是非正方形,并且可确定从其能够根据该形状获得特定信息的样点的位置。例如,视频解码设备100可将位于通过使用关于当前编码单元的宽度的信息和关于当前编码单元的高度的信息中的至少一个将当前编码单元的宽度和高度中的至少一个划分为二等份的边界上的样点确定为从其能够获得特定信息的样点。作为另一示例,当与当前编码单元相关的块形状信息指示非正方形形状时,视频解码设备100可将与将当前编码单元的长边划分为二等份的边界相邻的样点中的一个确定为从其能够获得预定信息的样点。
根据实施例,在当前编码单元被划分为多个编码单元时,视频解码设备100可使用块形状信息和划分形状信息中的至少一个以从多个编码单元中确定在特定位置的编码单元。根据实施例,视频解码设备100可从包括在编码单元中的在特定位置的样点获得块形状信息和划分形状信息中的至少一个,并且可通过使用从在当前编码单元被划分时产生的多个编码单元中的每一个中所包括的在特定位置的样点获得的块形状信息和划分形状信息中的至少一个对所述多个编码单元进行划分。换句话说,可通过使用从每个编码单元中包括的在特定位置的样点获得的块形状信息和划分形状信息中的至少一个对编码单元递归地进行划分。由于已参照图12描述了对编码单元进行递归划分的处理,故不再提供其细节。
根据实施例,视频解码设备100可通过对当前编码单元进行划分来确定至少一个编码单元,并根据特定块(例如,当前编码单元)确定对所述至少一个编码单元进行解码的顺序。
图14示出根据实施例的当在视频解码设备100对当前编码单元进行划分时确定了多个编码单元时对所述多个编码单元进行处理的顺序。
根据实施例,视频解码设备100可根据块形状信息和划分形状信息通过按照垂直方向划分第一编码单元1400确定第二编码单元1410a和1410b、通过按照水平方向划分第一编码单元1400确定第二编码单元1430a和1430b或者通过按照水平和垂直方向划分第一编码单元1400确定第二编码单元1450a至1450d。
参照图14,视频解码设备100可将通过按照垂直方向划分第一编码单元1400而确定的第二编码单元1410a和1410b确定为按照水平方向1410c被处理。视频解码设备100可将通过按照水平方向对第一编码单元1400进行划分而确定的第二编码单元1430a和1430b确定为按照垂直方向1430c被处理。视频解码设备100可将通过按照垂直方向和水平方向对第一编码单元1400进行划分而确定的第二编码单元1450a至1450d确定为根据特定顺序(例如,光栅扫描顺序或z扫描顺序1450e)被处理,其中,在该特定顺序中,位于一行中的编码单元被处理,随后位于下一行中的编码单元被处理。
根据实施例,视频解码设备100可递归地对编码单元进行划分。参照图14,视频解码设备100可通过划分第一编码单元1400确定多个第二编码单元1410a和1410b、1430a和1430b、或者1450a至1450d,并递归地对多个第二编码单元1410a和1410b、1430a和1430b、或者1450a至1450d中的每一个进行划分。对多个第二编码单元1410a和1410b、1430a和1430b、或者1450a至1450d进行划分的方法可与对第一编码单元1400进行划分的方法相应。因此,多个编码单元1410a和1410b、1430a和1430b、或者1450a至1450d中的每一个可被独立地划分为多个编码单元。参照图14,视频解码设备100可通过按照垂直方向划分第一编码单元1400来确定第二编码单元1410a和1410b,此外,可确定独立地对或不对第二编码单元1410a和1410b中的每一个进行划分。
根据实施例,视频解码设备100可按照水平方向将左侧的第二编码单元1410a划分为第三编码单元1420a和1420b,并且可不对右侧的第二编码单元1410b进行划分。
根据实施例,对编码单元进行处理的顺序可基于编码单元的划分处理而被确定。换句话说,对被划分的编码单元进行处理的顺序可基于在被划分之前对编码单元进行处理的顺序而被确定。视频解码设备100可确定对当左侧的第二编码单元1410a独立于右侧的第二编码单元1410b被划分时确定的第三编码单元1420a和1420b进行处理的顺序。由于第三编码单元1420a和1420b在左侧的第二编码单元1410a按照水平方向被划分时被确定,故第三编码单元1420a和1420b可按照垂直方向1420c被处理。另外,由于对左侧的第二编码单元1410a和右侧的第二编码单元1410b进行处理的顺序对应于水平方向1410c,因此右侧的第二编码单元1410b可在包括在左侧的第二编码单元1410a中的第三编码单元1420a和1420b按照垂直方向1420c被处理之后被处理。以上的描述与根据被划分之前的编码单元来确定处理编码单元的顺序的处理相关,但是这样的处理不限于上述实施例,并且可使用按照特定顺序独立地处理被划分为各种形状的编码单元的任何方法。
图15示出根据实施例的当编码单元不能按照特定顺序被视频解码设备100处理时确定当前编码单元被划分为奇数数量的编码单元的处理。
根据实施例,视频解码设备100可基于获得的块形状信息和划分形状信息确定当前编码单元被划分为奇数数量的编码单元。参照图15,具有正方形形状的第一编码单元1500可被划分为具有非正方形形状的第二编码单元1510a和1510b,第二编码单元1510a和1510b可被独立地分别划分为第三编码单元1520a和1520b以及至1520c至1520e。根据实施例,视频解码设备100可按照水平方向对第二编码单元1510a和1510b中在左侧的第二编码单元1510a进行划分来确定多个第三编码单元1520a和1520b,并且将右侧的第二编码单元1510b划分为奇数数量的第三编码单元1520c至1520e。
根据实施例,视频解码设备100可通过确定第三编码单元1520a至1520e是否可按照特定顺序被处理来确定被划分为奇数数量的编码单元是否存在。参照图15,视频解码设备100可通过递归地对第一编码单元1500进行划分来确定第三编码单元1520a至1520e。视频解码设备100可基于块形状信息和划分形状信息中的至少一个确定在第一编码单元1500、第二编码单元1510a和1510b或者第三编码单元1520a至1520e将被划分为的形状之中,编码单元是否被划分为奇数数量。例如,第二编码单元1510a和1510b中的在右侧的编码单元1510b可被划分为奇数数量的第三编码单元1520c至1520e。对包括在第一编码单元1500中的多个编码单元进行处理的顺序可以是特定顺序(例如,z扫描顺序1530),并且视频解码设备100可确定当右侧的第二编码单元1510b被划分为奇数数量时确定的第三编码单元1520c至1520e是否满足可根据特定顺序被处理的条件。
根据实施例,视频解码设备100可确定包括在第一编码单元1500中的第三编码单元1520a至1520e是否满足可根据特定顺序被处理的条件,其中,所述条件与第二编码单元1510a和1510b中的每一个的宽度和高度中的至少一个是否根据第三编码单元1520a至1520e的边界被划分为二等份相关。例如,当具有非正方形形状的左侧的第二编码单元1510a的高度被划分为二等份时确定的第三编码单元1520a和1520b满足所述条件,但是由于当右侧的第二编码单元1510b被划分为三个编码单元时确定的第三编码单元1520c至1520e的边界未将右侧的第二编码单元1510b的宽度或高度划分为二等份,故第三编码单元1520c至1520e未满足所述条件。当所述条件未满足时,视频解码设备100可确定扫描顺序断裂,并基于确定结果确定右侧的第二编码单元1510b被划分为奇数数量的编码单元。根据实施例,视频解码设备100可对通过划分编码单元而获得的奇数数量的编码单元之中的在特定位置的编码单元设置特定限定,由于上面已经通过各种实施例描述了这样的限定或特定位置,故不再提供其细节。
图16示出根据实施例的当视频解码设备100划分第一编码单元1600时确定至少一个编码单元的处理。根据实施例,视频解码设备100可基于通过获取器105获得的块形状信息和划分形状信息中的至少一个对第一编码单元1600进行划分。具有正方形形状的第一编码单元1600可被划分为具有正方形形状的四个编码单元或具有非正方形形状的多个编码单元。例如,参照图16,当块形状信息指示第一编码单元1600是正方形并且划分形状信息指示划分为非正方形编码单元时,视频解码设备100可将第一编码单元1600划分为多个非正方形编码单元。详细地,当划分形状信息指示通过按照水平方向或垂直方向对第一编码单元1600进行划分确定奇数数量的编码单元时,视频解码设备100可通过按照垂直方向对具有正方形形状的第一编码单元1600进行划分来确定第二编码单元1610a至1610c,或者通过按照水平方向对第一编码单元1600进行划分来确定第二编码单元1620a至1620c,作为奇数数量的编码单元。
根据实施例,视频解码设备100可确定包括在第一编码单元1600中的第二编码单元1610a至1610c以及1620a至1620c是否满足可按照特定顺序被处理的条件,其中,所述条件与第一编码单元1600的宽度和高度中的至少一个是否根据第二编码单元1610a至1610c以及1620a至1620c的边界被划分为二等份相关。参照图16,由于当具有正方形形状的第一编码单元1600按照垂直方向被划分时确定的第二编码单元1610a至1610c的边界没有将第一编码单元1600的宽度划分为二等份,故可确定第一编码单元1600未满足可按照特定顺序被处理的条件。此外,由于当具有正方形形状的第一编码单元1600按照水平方向被划分时确定的第二编码单元1620a至1620c的边界没有将第一编码单元1600的高度划分为二等份,故可确定第一编码单元1600未满足可按照特定顺序被处理的条件。视频解码设备100可在所述条件未被满足时确定扫描顺序断裂,并可基于确定结果确定第一编码单元1600被划分为奇数数量的编码单元。根据实施例,视频解码设备100可对在通过对编码单元进行划分而获得的奇数数量的编码单元中的在特定位置的编码单元设置特定限定,由于上面已经通过各种实施例描述了这样的限定或特定位置,故不再提供其细节。
根据实施例,视频解码设备100可通过划分第一编码单元来确定具有各种形状的编码单元。
参照图16,视频解码设备100可将具有正方形形状的第一编码单元1600和具有非正方形形状的第一编码单元1630或1650划分为具有各种形状的编码单元。
图17示出根据实施例的在当第一编码单元1700被划分时所确定的具有非正方形形状的第二编码单元满足特定条件时,第二编码单元能够被视频解码设备100划分成的形状被限定。
根据实施例,视频解码设备100可基于通过获取器105获得的块形状信息和划分形状信息中的至少一个确定具有正方形形状的第一编码单元1700被划分为具有非正方形形状的第二编码单元1710a和1710b或者1720a和1720b。第二编码单元1710a和1710b或者1720a和1720b可被独立地划分。因此,视频解码设备100可基于与第二编码单元1710a和1710b或者1720a和1720b中的每一个相关的块形状信息和划分形状信息中的至少一个确定第二编码单元1710a和1710b或者1720a和1720b被划分为多个编码单元或者不被划分。根据实施例,视频解码设备100可通过按照水平方向对具有非正方形形状并当第一编码单元1700按照垂直方向被划分时确定的左侧的第二编码单元1710a进行划分来确定第三编码单元1712a和1712b。然而,当左侧的第二编码单元1710a按照水平方向被划分时,视频解码设备100可设置以下限定:右侧的第二编码单元1710b不像左侧的第二编码单元1710a那样按照水平方向被划分。当第三编码单元1714a和1714b在右侧的第二编码单元1710b按照相同方向(即水平方向)被划分时被确定时,第三编码单元1712a、1712b、1714a和1714b可在左侧的第二编码单元1710a和右侧的第二编码单元1710b按照水平方向分别被独立地划分时被确定。然而,这与基于块形状信息和划分形状信息中的至少一个将第一编码单元1700划分为具有正方形形状的四个第二编码单元1730a至1730d的结果相同,因此在图像解码方面效率可能低。
根据实施例,视频解码设备100可通过按照垂直方向对在第一编码单元1700按照水平方向被划分时确定的具有非正方形形状的第二编码单元1720a或1720b进行划分来确定第三编码单元1722a和1722b或者1724a和1724b。然而,当第二编码单元中的一个(例如,顶部的第二编码单元1720a)按照垂直方向被划分时,基于上述理由,视频解码设备100可设置以下限定:其它第二编码单元(例如,底部的第二编码单元1720b)不像顶部的第二编码单元1720a那样按照垂直方向被划分。
图18示出根据实施例的当划分形状信息未能指示编码单元被划分为四个正方形形状时视频解码设备100对具有正方形形状的编码单元进行划分的处理。
根据实施例,视频解码设备100可通过基于块形状信息和划分形状信息中的至少一个对第一编码单元1800进行划分来确定第二编码单元1810a和1810b或者1820a和1820b。划分形状信息可包括关于编码单元可被划分成的各种形状的信息,但这样的关于各种形状的信息可不包括用于将编码单元划分为四个正方形编码单元的信息。根据这样的划分形状信息,视频解码设备100不能将具有正方形形状的第一编码单元1800划分为具有正方形形状的四个第二编码单元1830a至1830d。基于划分形状信息,视频解码设备100可确定具有非正方形形状的第二编码单元1810a和1810b或者1820a和1820b。
根据实施例,视频解码设备100可独立地对具有非正方形形状的第二编码单元1810a和1810b或者1820a和1820b中的每一个进行划分。第二编码单元1810a和1810b或者1820a和1820b中的每一个可通过递归方法按照特定顺序被划分,其中,该递归方法可以是与基于块形状信息和划分形状信息中的至少一个对第一编码单元1800进行划分的方法相应的划分方法。
例如,视频解码设备100可通过按照水平方向对左侧的第二编码单元1810a进行划分来确定具有正方形形状的第三编码单元1812a和1812b,或者通过按照水平方向对右侧的第二编码单元1810b进行划分来确定具有正方形形状的第三编码单元1814a和1814b。此外,视频解码设备100可通过按照水平方向对左侧的第二编码单元1810a和右侧的第二编码单元1810b两者进行划分来确定具有正方形形状的第三编码单元1816a至1816d。在这种情况下,编码单元可按照与第一编码单元1810被划分为具有正方形形状的四个第二编码单元1830a至1830d时相同的方式被确定。
作为另一示例,视频解码设备100可通过按照垂直方向对顶部的第二编码单元1820a进行划分来确定具有正方形形状的第三编码单元1822a和1822b,并通过按照垂直方向对底部的第二编码单元1820b进行划分来确定具有正方形形状的第三编码单元1824a和1824b。此外,视频解码设备100可通过按照垂直方向对顶部的第二编码单元1820a和底部的第二编码单元1820b两者进行划分来确定具有正方形形状的第三编码单元1826a至1826d。在这种情况下,编码单元可按照与第一编码单元1800被划分为具有正方形形状的四个第二编码单元1830a至1830d时相同的方式被确定。
图19示出根据实施例的对多个编码单元进行处理的顺序可根据对编码单元进行划分的处理而被改变。
根据实施例,视频解码设备100可基于块形状信息和划分形状信息对第一编码单元1900进行划分。当块形状信息指示正方形形状并且划分形状信息指示第一编码单元1900按照水平方向和垂直方向中的至少一个被划分时,视频解码设备100可对第一编码单元1900进行划分以确定第二编码单元1910a和1910b或者1920a和1920b。参照图19,具有非正方形形状并当第一编码单元1900按照水平方向或垂直方向被划分时确定的第二编码单元1910a和1910b或者1920a和1920b可均基于块形状信息和划分形状信息而被独立地划分。例如,视频解码设备100可通过按照水平方向对第二编码单元1910a和1910b中的每一个进行划分来确定第三编码单元1916a至1916d,其中,第二编码单元1910a和1910b是在第一编码单元1900按照垂直方向被划分时被产生的,或者视频解码设备100可通过按照水平方向对第二编码单元1920a和1920b进行划分来确定第三编码单元1926a至1926d,其中,第二编码单元1920a和1920b是在第一编码单元1900按照水平方向被划分时被产生的。以上已经参照图17描述了对第二编码单元1910a和1910b或者1920a和1920b进行划分的处理,因此不再提供其细节。
根据实施例,视频解码设备100可根据特定顺序对编码单元进行处理。以上已经参照图14描述了关于根据特定顺序对编码单元的处理的特征,因此不再提供其细节。参照图19,视频解码设备100可通过对具有正方形形状的第一编码单元1900进行划分来确定具有正方形形状的四个第三编码单元1916a至1916d或1926a至1926d。根据实施例,视频解码设备100可基于第一编码单元1900被如何划分来确定对第三编码单元1916a至1916d或1926a至1926d进行处理的顺序。
根据实施例,视频解码设备100可通过按照水平方向对第二编码单元1910a至1910b进行划分来确定第三编码单元1916a至1916d,其中,第二编码单元1910a和1910b是在第一编码单元1900按照垂直方向被划分时被产生的,并且视频解码设备100可根据按照垂直方向对包括在左侧的第二编码单元1910a中的第三编码单元1916a和1916b首先进行处理并随后按照垂直方向对包括在右侧的第二编码单元1910b中的第三编码单元1916c和1916d进行处理的顺序1917来对第三编码单元1916a至1916d进行处理。
根据实施例,视频解码设备100可通过按照垂直方向对第二编码单元1920a至1920b进行划分来确定第三编码单元1926a至1926d,其中,第二编码单元1920a和1920b是在第一编码单元1900按照水平方向被划分时被产生的,并且视频解码设备100可根据按照水平方向对包括在顶部的第二编码单元1920a中的第三编码单元1926a和1926b首先进行处理并随后按照水平方向对包括在底部的第二编码单元1920b中的第三编码单元1926c和1926d进行处理的顺序1927来对第三编码单元1926a至1926d进行处理。
参照图19,具有正方形形状的第三编码单元1916a至1916d或者1926a至1926d可在第二编码单元1910a和1910b或者1920a和1920b均被划分时被确定。当第一编码单元1900按照垂直方向被划分时确定的第二编码单元1910a和1910b以及当第一编码单元1900按照水平方向被划分时确定的第二编码单元1920a和1920b被划分为不同形状,但是根据后面确定的第三编码单元1916a至1916d以及1926a至1926d,第一编码单元1900被划分为具有相同形状的编码单元。因此,即使当基于块形状信息和划分形状信息中的至少一个经由不同处理递归地对编码单元进行划分时进而确定出具有相同形状的编码单元时,视频解码设备100也可按照不同顺序对被确定为相同形状的多个编码单元进行处理。
图20示出根据实施例的当在编码单元被递归地划分时多个编码单元被确定时,当编码单元的形状和尺寸被改变时确定编码单元的深度的处理。
根据实施例,视频解码设备100可根据特定标准确定编码单元的深度。例如,特定标准可以是编码单元的长边的长度。在当前编码单元的长边的长度被划分成比被划分之前的编码单元的长边的长度短2n倍时,可确定当前编码单元的深度增大为被划分之前的编码单元的深度的n倍,其中,n>0。以下,具有增大后的深度的编码单元将被称为下层深度的编码单元。
参照图20,根据实施例,视频解码设备100可通过基于指示正方形形状的块形状信息(例如,块形状信息可指示“0:SQUARE”)对具有正方形形状的第一编码单元2000进行划分来确定下层深度的第二编码单元2002和第三编码单元2004。当具有正方形形状的第一编码单元2000的尺寸是2N×2N时,通过将第一编码单元2000的宽度和高度划分为1/2^1而确定的第二编码单元2002可具有尺寸N×N。此外,通过将第二编码单元2002的宽度和高度划分为1/2而确定的第三编码单元2004可具有尺寸N/2×N/2。在这种情况下,第三编码单元2004的宽度和高度与第一编码单元2000的宽度和高度的1/2^2倍相应。当第一编码单元2000的深度是D时,第二编码单元2002的深度可以是D+1,其中,第二编码单元2002的宽度和高度是第一编码单元2000的宽度和高度的1/2^1倍,第三编码单元2004的深度可以是D+2,其中,第三编码单元2004的宽度和高度是第一编码单元2000的宽度和高度的1/2^2倍。
根据实施例,视频解码设备100可通过基于指示非正方形形状的块形状信息(例如,块形状信息可指示表示高度比宽度长的非正方形的“1:NS_VER”,或指示表示宽度比高度长的非正方形的“2:NS_HOR”)对具有非正方形形状的第一编码单元2010或2020进行划分来确定第二编码单元2012或2022以及第三编码单元2014或2024。
视频解码设备100可通过对具有N×2N的尺寸的第一编码单元2010的高度和宽度中的至少一个进行划分来确定第二编码单元(例如,第二编码单元2002、2012或2022)。换句话说,视频解码设备100可通过按照水平方向对第一编码单元2010进行划分来确定具有N×N的尺寸的第二编码单元2002或具有N×N/2的尺寸的第二编码单元2022,或者通过按照水平和垂直方向对第一编码单元2010进行划分来确定具有N/2×N的尺寸的第二编码单元2012。
视频解码设备100可通过对具有2N×N的尺寸的第一编码单元2020的宽度和高度中的至少一个进行划分来确定第二编码单元(例如,第二编码单元2002、2012或2022)。换句话说,视频解码设备100可通过按照垂直方向对第一编码单元2020进行划分来确定具有N×N的尺寸的第二编码单元2002或具有N/2×N的尺寸的第二编码单元2012,或者通过按照水平和垂直方向对第一编码单元2010进行划分来确定具有N×N/2的尺寸的第二编码单元2022。
根据实施例,视频解码设备100可通过对具有N×N的尺寸的第二编码单元2002的宽度和高度中的至少一个进行划分来确定第三编码单元(例如,第三编码单元2004、2014或2024)。换句话说,视频解码设备100可通过按照水平和垂直方向对第二编码单元2002进行划分来确定具有N/2×N/2的尺寸的第三编码单元2004、具有N/22×N/2的尺寸的第三编码单元2014或具有N/2×N/22的尺寸的第三编码单元2024。
根据实施例,视频解码设备100可通过对具有N/2×N的尺寸的第二编码单元2022的宽度和高度中的至少一个进行划分来确定第三编码单元(例如,第三编码单元2004、2014或2024)。换句话说,视频解码设备100可通过按照水平方向对第二编码单元2022进行划分来确定具有N/2×N/2的尺寸的第三编码单元2004或具有N/2×N/22的尺寸的第三编码单元2024,或者通过按照垂直和水平方向对第二编码单元2012进行划分来确定具有N/22×N/2的尺寸的第三编码单元2014。
根据实施例,视频解码设备100可通过对具有N×N/2的尺寸的第二编码单元2022的宽度和高度中的至少一个进行划分来确定第三编码单元(例如,第三编码单元2004、2014或2024)。换句话说,视频解码设备100可通过按照垂直方向对第二编码单元2022进行划分来确定具有N/2×N/2的尺寸的第三编码单元2004或具有N/22×N/2的尺寸的第三编码单元2014,或者通过按照垂直和水平方向对第二编码单元2022进行划分来确定具有N/2×N/22的尺寸的第三编码单元2024。
根据实施例,视频解码设备100可按照水平或垂直方向对具有正方形形状的编码单元(例如,第一编码单元2000、第二编码单元2002、或第三编码单元2004)进行划分。例如,可通过按照垂直方向对具有2N×2N的尺寸的第一编码单元2000进行划分来确定具有N×2N的尺寸的第一编码单元2010,或者,通过按照水平方向对第一编码单元2000进行划分来确定具有2N×N的尺寸的第一编码单元2020。根据实施例,当深度基于编码单元的最长边的长度被确定时,当具有2N×2N的尺寸的第一编码单元2000按照水平或垂直方向被划分时确定的编码单元的深度可与第一编码单元2000的深度相同。
根据实施例,第三编码单元2014或2024的宽度和高度可以是第一编码单元2010或2020的宽度和高度的1/2^2。当第一编码单元2010或2020的深度是D时,第二编码单元2012或2022的深度可以是D+1,其中,第二编码单元2012或2022的宽度和高度是第一编码单元2010或2020的宽度和高度的1/2,第三编码单元2014或2024的深度可以是D+2,其中,第三编码单元2014或2024的宽度和高度是第一编码单元2010或2020的宽度和高度的1/2^2。
图21示出根据实施例的可根据编码单元的形状和尺寸确定的用于区分深度和编码单元的部分索引(PID)。
根据实施例,视频解码设备100可通过对具有正方形形状的第一编码单元1400进行划分来确定具有各种形状的第二编码单元。参照图21,视频解码设备100可通过根据划分形状信息按照水平方向和垂直方向中的至少一个对第一编码单元2100进行划分来确定第二编码单元2102a和2102b、2104a和2104b、或者2106a至2106d。换句话说,视频解码设备100可基于第一编码单元2100的划分形状信息确定第二编码单元2102a和2102b、2104a和2104b、或者2106a至2106d。
根据实施例,根据具有正方形形状的第一编码单元2100的划分形状信息确定的第二编码单元2102a和2102b、2104a和2104b、或者2106a至2106d的深度可基于长边的长度被确定。例如,由于具有正方形形状的第一编码单元2100的一条边的长度与具有非正方形形状的第二编码单元2102a和2102b或者2104a和2104b的长边的长度相同,因此第一编码单元2100以及具有非正方形形状的第二编码单元2102a和2102b或者2104a和2104b的深度可以相同,即D。另一方面,当视频解码设备100基于划分形状信息将第一编码单元2100划分为具有正方形形状的四个第二编码单元2106a至2106d时,具有正方形形状的第二编码单元2106a至2106d的一条边的长度是第一编码单元2100的一条边的长度的1/2,第二编码单元2106a至2106d的深度可以是D+1,即,比第一编码单元2100的深度D低的深度。
根据实施例,视频解码设备100可根据划分形状信息按照水平方向将高度长于宽度的第一编码单元2110划分为多个第二编码单元2112a和2112b或者2114a至2114c。根据实施例,视频解码设备100可根据划分形状信息按照垂直方向将长度长于高度的第一编码单元2120划分为多个第二编码单元2122a和2122b或者2124a至2124c。
根据实施例,根据具有非正方形形状的第一编码单元2110或2120的划分形状信息确定的第二编码单元2112a和2112b、2114a至2114c、2122a和2122b、或者2124a至2124c的深度可基于长边的长度被确定。例如,由于具有正方形形状的第二编码单元2112a和2112b的一条边的长度是具有非正方形形状的第一编码单元2110(高度比宽度长)的长边的长度的1/2,故第二编码单元2112a和2112b的深度是D+1,即,比具有非正方形形状的第一编码单元2110的深度D低的深度。
此外,视频解码设备100可基于划分形状信息将具有非正方形形状的第一编码单元2110划分为奇数数量的第二编码单元2114a至2114c。奇数数量的第二编码单元2114a至2114c可包括具有非正方形形状的第二编码单元2114a和2114c以及具有正方形形状的第二编码单元2114b。在这种情况下,由于具有非正方形形状的第二编码单元2114a和2114c的长边的长度以及具有正方形形状的第二编码单元2114b的一条边的长度是第一编码单元2110的一条边的长度的1/2,故第二编码单元2114a至2114c的深度可以为D+1,即,比第一编码单元2110的深度D低的深度。视频解码设备100可按照与确定与第一编码单元2110相关的编码单元的深度相同的方式来确定与具有非正方形形状的第一编码单元2120(其宽度比高度长)相关的编码单元的深度。
根据实施例,对于确定用于区分编码单元的PID的操作,当奇数数量的编码单元不具有相同尺寸时,视频解码设备100可基于编码单元的尺寸比率来确定PID。参照图21,位于奇数数量的第二编码单元2114a至2114c的中间的第二编码单元2114b可具有与第二编码单元2114a和2114c相同的宽度,但高度是第二编码单元2114a和2114c的高度的两倍。在这种情况下,位于中间的第二编码单元2114b可包括两个第二编码单元2114a和2114c。因此,当位于中间的第二编码单元2114b的PID根据扫描顺序是1时,位于下一顺序的第二编码单元2114c的PID可以是3,该PID增加了2。换句话说,PID的值可不连续。根据实施例,视频解码设备100可基于用于区分编码单元的PID的不连续性来确定奇数数量的编码单元是否具有相同尺寸。
根据实施例,视频解码设备100可基于PID的值来确定在当前编码单元被划分时确定的多个编码单元是否具有特定划分形状。参照图21,视频解码设备100可通过对具有高度比宽度长的矩形形状的第一编码单元2110进行划分来确定偶数数量的第二编码单元2112a和2112b或者奇数数量的第二编码单元2114a至2114c。视频解码设备100可使用指示每个编码单元的PID以区分多个编码单元。根据实施例,PID可从每个编码单元的在特定位置的样点(例如,左上方样点)获得。
根据实施例,视频解码设备100可通过使用用于区分编码单元的PID从确定的编码单元中确定在特定位置的编码单元。根据实施例,当具有高度比宽度长的矩形形状的第一编码单元2110的划分形状信息指示第一编码单元2110被划分为三个编码单元时,视频解码设备100可将第一编码单元2110划分为三个第二编码单元2114a至2114c。视频解码设备100可对三个第二编码单元2114a至2114c中的每一个分配PID。视频解码设备100可比较奇数数量的编码单元的PID以从奇数数量的编码单元之中确定中间编码单元。视频解码设备100可基于编码单元的PID将具有多个PID中的与中间值相应的PID的第二编码单元2114b确定为当第一编码单元2110被划分时确定的多个编码单元中的位于中间位置的编码单元。根据实施例,在确定用于区分编码单元的PID的同时,当编码单元不具有相同尺寸时,视频解码设备100可基于编码单元的尺寸比率来确定PID。参照图21,当第一编码单元2110被划分时产生的第二编码单元2114b可具有与第二编码单元2114a和2114c相同的宽度,但高度可以是第二编码单元2114a和2114c的高度的两倍。在这种情况下,当位于中间的第二编码单元2114b的PID是1时,位于下一顺序的第二编码单元2114c的PID可以是3,该PID增加了2。这样,当在PID一致地增加的同时PID的增加范围不同时,视频解码设备100可确定当前编码单元被划分为包括具有与其它编码单元不同的尺寸的编码单元的多个编码单元。根据实施例,当划分形状信息指示划分为奇数数量的编码单元时,视频解码设备100可将当前编码单元划分为多个编码单元,其中,在所述多个编码单元中的在特定位置的编码单元(例如,中间编码单元)具有与其它编码单元不同的尺寸。在这种情况下,视频解码设备100可通过使用编码单元的PID来确定具有不同尺寸的中间编码单元。然而,以上描述的在特定位置的编码单元的PID以及尺寸或位置被指定以描述实施例,因此不应被限制性地解释,并且可使用编码单元的各种PID以及各种位置和尺寸。
根据实施例,视频解码设备100可使用特定数据单元,其中,编码单元的递归划分从该特定数据单元开始。
图22示出根据实施例的多个编码单元根据包括在画面中的多个特定数据单元而被确定。
根据实施例,特定数据单元可被定义为以下数据单元:从该数据单元开始通过使用块形状信息和划分形状信息中的至少一个递归划分编码单元。换句话说,特定数据单元可与在通过划分当前画面确定多个编码单元的同时所使用的最高深度的编码单元相应。以下,为了描述方便,所述特定数据单元被称为参考数据单元。
根据实施例,参考数据单元可指示特定尺寸和形状。根据实施例,参考数据单元可包括M×N个样点。这里,M和N可以相同,并可以是表示为2的倍数的整数。换句话说,参考数据单元可指示正方形形状或非正方形形状,并可随后被划分为整数数量的编码单元。
根据实施例,视频解码设备100可将当前画面划分为多个参考数据单元。根据实施例,视频解码设备100可对通过使用关于通过划分当前画面而获得的多个参考数据单元中的每一个的划分形状信息对多个参考数据单元进行划分。这样的参考数据单元的划分处理可与使用四叉树结构的划分处理相应。
根据实施例,视频解码设备100可预先确定可用于包括在当前画面中的参考数据单元的最小尺寸。因此,视频解码设备100可确定具有等于或大于最小尺寸的各种尺寸的参考数据单元,并通过使用块形状信息和划分形状信息基于确定的参考数据单元确定至少一个编码单元。
参考图22,视频解码设备100可使用具有正方形形状的参考编码单元2200,或可使用具有非正方形形状的参考编码单元2202。根据实施例,参考编码单元的形状和尺寸可根据可包括至少一个参考编码单元的各种数据单元(例如,序列、画面、条带、条带段和最大编码单元)而被确定。
根据实施例,视频解码设备100的获取器105可根据各种数据单元从比特流获得关于参考编码单元的形状的信息和关于参考编码单元的尺寸的信息中的至少一个。上面已经通过对图10的当前编码单元1000进行划分的处理描述了确定包括在具有正方形形状的参考编码单元2200中的至少一个编码单元的处理,并且上面已经通过对图11的当前编码单元1100或1150进行划分的处理描述了确定包括在具有非正方形形状的参考编码单元2200中的至少一个编码单元的处理,因此将不再提供其细节。
根据实施例,为了根据基于预定条件预先确定的一些数据单元来确定参考编码单元的尺寸和形状,视频解码设备100可使用用于区分参考编码单元的尺寸和形状的PID。换句话说,获取器105可根据条带、条带段和最大编码单元从比特流仅获得用于区分参考编码单元的尺寸和形状的PID,其中,参考编码单元作为各种数据单元(例如,序列、画面、条带、条带段和最大编码单元)中满足预定条件的数据单元(例如,具有等于或小于条带的尺寸的数据单元)。视频解码设备100可通过使用PID,根据满足预定条件的数据单元确定参考数据单元的尺寸和形状。当关于参考编码单元的形状的信息和关于参考编码单元的尺寸的信息从比特流被获得并根据具有相对小尺寸的数据单元被使用时,比特流的使用效率会不充分,因此不直接获得关于参考编码单元的形状的信息和关于参考编码单元的尺寸的信息,而仅可获得并使用PID。在这种情况下,可预先确定与指示参考编码单元的尺寸和形状的PID相应的参考编码单元的尺寸和形状中的至少一个。换句话说,视频解码设备100可根据PID选择预先确定的参考编码单元的尺寸和形状中的至少一个以确定包括在作为用于获得PID的标准的数据单元中的参考编码单元的尺寸和形状中的至少一个。
根据实施例,视频解码设备100可使用包括在一个最大编码单元中的至少一个参考编码单元。换句话说,对图像进行划分的最大编码单元可包括至少一个参考编码单元,并且当参考编码单元中的每一个被递归地划分时可确定编码单元。根据实施例,最大编码单元的宽度和高度中的至少一个可以是参考编码单元的宽度和高度中的至少一个的整数倍。根据实施例,参考编码单元的尺寸可等于最大编码单元的尺寸,其中,最大编码单元根据四叉树结构被划分n次。换句话说,根据各种实施例,视频解码设备100可通过根据四叉树结构将最大编码单元划分n次来确定参考编码单元,并基于块形状信息和划分形状信息中的至少一个对参考编码单元进行划分。
图23示出根据实施例的作为确定包括在画面2300中的参考编码单元的确定顺序的标准的处理块。
根据实施例,视频解码设备100可确定对画面进行划分的至少一个处理块。处理块是包括对图像进行划分的至少一个参考编码单元的数据单元,包括在处理块中的至少一个参考编码单元可按照特定顺序被确定。换句话说,在每个处理块中确定的至少一个参考编码单元的确定顺序可与用于确定参考编码单元的各种顺序之一相应,并可根据处理块而改变。每个处理块确定的参考编码单元的确定顺序可以是各种顺序(诸如,光栅扫描顺序、Z扫描顺序、N扫描顺序、右上对角扫描顺序、水平扫描顺序和垂直扫描顺序)中的一种顺序,但不应关于所述扫描顺序被限制性地解释。
根据实施例,视频解码设备100可通过获得关于处理块的尺寸的信息来确定包括在图像中的至少一个处理块的尺寸。视频解码设备100可从比特流获得关于处理块的尺寸的信息以确定包括在图像中的所述至少一个处理块的尺寸。处理块的尺寸可以是由关于处理块的尺寸的信息指示的数据单元的特定尺寸。
根据实施例,视频解码设备100的获取器105可根据特定数据单元从比特流获得关于处理块的尺寸的信息。例如,关于处理块的尺寸的信息可按照图像、序列、画面、条带和条带段的数据单元从比特流被获得。换句话说,获取器105可根据这样的几个数据单元从比特流获得关于处理块的尺寸的信息,并且视频解码设备100可通过使用获得的关于处理块的尺寸的信息来确定对画面进行划分的至少一个处理块的尺寸,其中,处理块的尺寸可以是参考编码单元的尺寸的整数倍。
根据实施例,视频解码设备100可确定包括在画面2300中的处理块2302和2312的尺寸。例如,视频解码设备100可基于从比特流获得的关于处理块的尺寸的信息来确定处理块的尺寸。参照图23,根据实施例,视频解码设备100可将处理块2302和2312的水平尺寸确定为参考编码单元的水平尺寸的四倍,将处理块2302和2312的垂直尺寸确定为参考编码单元的垂直尺寸的四倍。视频解码设备100可确定至少一个处理块中的至少一个参考编码单元的确定顺序。
根据实施例,视频解码设备100可基于处理块的尺寸来确定包括在画面2300中的处理块2302和2312中的每一个,并可确定包括在处理块2302和2312中的每一个中的至少一个参考编码单元的确定顺序。根据实施例,参考编码单元的确定的步骤可包括确定参考编码单元的尺寸。
根据实施例,视频解码设备100可从比特流获得关于包括在至少一个处理块中的至少一个参考编码单元的确定顺序的信息,并基于获得的信息来确定至少一个参考编码单元的确定顺序。关于确定顺序的信息可被定义为确定处理块中的参考编码单元的顺序或方向。换句话说,确定参考编码单元的顺序可针对每个处理块被独立地确定。
根据实施例,视频解码设备100可根据特定数据单元从比特流获得关于参考编码单元的确定顺序的信息。例如,获取器105可根据数据单元(诸如,图像、序列、画面、条带、条带段和处理块)从比特流获得关于参考编码单元的确定顺序的信息。由于关于参考编码单元的确定顺序的信息指示处理块中的参考编码单元的确定顺序,故关于确定顺序的信息可针对每个特定数据单元(包括整数数量的处理块)被获得。
根据实施例,视频解码设备100可基于确定的顺序来确定至少一个参考编码单元。
根据实施例,获取器105可从比特流获得关于参考编码单元的确定顺序的信息作为与处理块2302和2312相关的信息,并且视频解码设备100可确定确定包括在处理块2302和2312中的至少一个参考编码单元的顺序,并根据编码单元的确定顺序来确定包括在画面2300中的至少一个参考编码单元。参照图23,视频解码设备100可确定分别与处理块2302和2312相关的至少一个参考编码单元的确定顺序2304和2314。例如,当关于参考编码单元的确定顺序的信息针对每个处理块被获得时,与处理块2302和2312相关的参考编码单元的确定顺序可彼此不同。当与处理块2302相关的确定顺序2304是光栅扫描顺序时,包括在处理块2302中的参考编码单元可根据光栅扫描顺序而被确定。另一方面,当与处理块2312相关的确定顺序2314是光栅扫描顺序的逆顺序时,包括在处理块2312中的参考编码单元可根据光栅扫描顺序的逆顺序而被确定。
根据实施例,视频解码设备100可对确定的至少一个参考编码单元进行解码。视频解码设备100可基于通过上面的实施例确定的参考编码单元来对图像进行解码。对参考编码单元进行解码的方法的示例可包括对图像进行解码的各种方法。
根据实施例,视频解码设备100可从比特流获得并使用指示当前编码单元的形状的块形状信息或指示对当前编码单元进行划分的方法的划分形状信息。块形状信息或划分形状信息可被包括在与各种数据单元相关的比特流中。例如,视频解码设备100可使用包括在序列参数集、画面参数集、视频参数集、条带头和条带段头中的块形状信息或划分形状信息。此外,视频解码设备100可根据最大编码单元、参考编码单元和处理块从比特流获得并使用与块形状信息或划分形状信息相应的语法。
虽然已经参照本公开的实施例具体示出和描述了本公开,但本领域普通技术人员将理解,可在不脱离由所附权利要求限定的本公开的精神和范围的情况下做出形式和细节上的各种改变。实施例应被理解为仅描述性的意义,而不是限制的目的。因此,本公开的范围不是由本公开的详细描述所限定,而是由所附权利要求所限定,并且所述范围内的所有区别将被解释为包括在本公开中。
本公开的实施例可被写为计算机程序并可被实施在使用计算机可读记录介质执行程序的通用数字计算机中。计算机可读记录介质的示例包括磁性存储介质(例如,ROM、软盘、硬盘等)、光学记录介质(例如,CD-ROM或DVD)等。

Claims (15)

1.一种视频解码方法,包括:
从比特流获得关于当前画面中的当前块的运动预测模式信息;
当获得的运动预测模式信息指示双向运动预测模式时,从比特流获得第一运动矢量和第二运动矢量,其中,第一运动矢量指示当前块的在第一参考画面中的第一参考块,第二运动矢量指示当前块的在第二参考画面中的第二参考块;
基于从比特流获得的当前块的与像素组单位运动补偿相关的参数的信息以及与包括当前画面的图像相关的参数中的至少一个来获得当前块的与像素组单位运动补偿相关的参数;
通过针对当前块基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组单位运动补偿相关的参数执行像素组单位运动补偿来产生当前块的预测块;
从比特流获得当前块的残差块;
基于预测块和残差块来重建当前块,
其中,像素组包括至少一个像素。
2.如权利要求1所述的视频解码方法,还包括:基于标志信息、当前块的尺寸、预测方向、运动矢量的大小、在参考画面与当前画面之间的画面顺序计数(POC)差、以及预定编码/解码工具的可用性中的至少一个来确定是否执行像素组单位运动补偿,其中,所述标志信息是从比特流获得的并且与是否执行像素组单位运动补偿相关,
其中,产生预测块的步骤包括:通过基于所述确定执行像素组单位运动补偿来产生当前块的预测块。
3.如权利要求1所述的视频解码方法,其中,获得与像素组单位运动补偿相关的参数的步骤包括:基于样点的比特深度、用于插值运算或梯度运算的滤波器的输入范围、以及滤波器的系数中的至少一个,获得用于插值运算或梯度运算之后的去缩放的偏移值,
产生当前块的预测块的步骤包括:通过使用用于去缩放的偏移值,在插值运算或梯度运算之后针对第一参考块和第二参考块中包括的像素执行去缩放。
4.如权利要求1所述的视频解码方法,其中,获得与像素组单位运动补偿相关的参数的步骤包括:基于从比特流获得的关于与水平方向或垂直方向上的每单位时间的位移矢量相关的参数的信息、样点的比特深度、画面组(GOP)的大小、运动矢量、与在参考画面和当前画面之间的时间距离相关的参数、帧率、与编码预测结构相关的设置参数、以及预测方向中的至少一个,获得与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,
产生当前块的预测块的步骤包括:基于与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、第一窗口中的像素的像素值、以及第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
5.如权利要求1所述的视频解码方法,其中,获得与像素组单位运动补偿相关的参数的步骤包括:
基于从比特流获得的关于窗口尺寸的信息、画面的分层深度、GOP的大小、图像分辨率、与在参考画面和当前画面之间的时间距离相关的参数、帧率、运动矢量、与编码预测结构相关的设置参数、以及预测方向中的至少一个,获得与用于计算每单位时间的位移矢量的窗口的尺寸相关的参数,
产生当前块的预测块的步骤包括:基于与窗口的尺寸相关的参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、第一窗口中的像素的像素值、以及第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
6.如权利要求1所述的视频解码方法,其中,像素组包括多个像素,
获得与像素组单位运动补偿相关的参数的步骤包括:基于从比特流获得的关于像素组的大小的信息、图像分辨率和帧率中的至少一个来获得与像素组的大小相关的参数,
产生当前块的预测块的步骤包括:通过基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组的大小相关的参数执行像素组单位运动补偿来产生当前块的预测块。
7.一种视频解码设备,包括:
获取器,被配置为:从比特流获得关于当前画面中的当前块的运动预测模式信息,当获得的运动预测模式信息指示双向运动预测模式时,从比特流获得指示当前块的在第一参考画面中的第一参考块的第一运动矢量和指示当前块的在第二参考画面中的第二参考块的第二运动矢量,基于从比特流获得的当前块的与像素组单位运动补偿相关的参数的信息以及与包括当前画面的图像相关的参数中的至少一个来获得当前块的与像素组单位运动补偿相关的参数,并从比特流获得当前块的残差块;
帧间预测器,被配置为通过针对当前块基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组单位运动补偿相关的参数执行像素组单位运动补偿来产生当前块的预测块;
解码器,被配置为基于预测块和残差块来重建当前块,
其中,像素组包括至少一个像素。
8.如权利要求7所述的视频解码设备,其中,帧间预测器还被配置为:
基于标志信息、当前块的尺寸、预测方向、运动矢量的大小、在参考画面与当前画面之间的画面顺序计数(POC)差、以及预定编码/解码工具的可用性中的至少一个来确定是否执行像素组单位运动补偿,其中,所述标志信息是从比特流获得的并且与是否执行像素组单位运动补偿相关,
通过基于所述确定执行像素组单位运动补偿来产生当前块的预测块。
9.如权利要求7所述的视频解码设备,其中,帧间预测器还被配置为:
基于样点的比特深度、用于插值运算或梯度运算的滤波器的输入范围、以及滤波器的系数中的至少一个,获得用于插值运算或梯度运算之后的去缩放的偏移值,
通过使用用于去缩放的偏移值,在插值运算或梯度运算之后针对第一参考块和第二参考块中包括的像素执行去缩放。
10.如权利要求7所述的视频解码设备,其中,帧间预测器还被配置为:
基于从比特流获得的关于与水平方向或垂直方向上的每单位时间的位移矢量相关的参数的信息、样点的比特深度、画面组(GOP)的大小、运动矢量、与在参考画面和当前画面之间的时间距离相关的参数、帧率、与编码预测结构相关的设置参数、以及预测方向中的至少一个,获得与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,
基于与水平方向或垂直方向上的每单位时间的位移矢量相关的正则参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、第一窗口中的像素的像素值、以及第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
11.如权利要求7所述的视频解码设备,其中,获取器还被配置为:基于从比特流获得的关于窗口尺寸的信息、画面的分层深度、GOP的大小、图像分辨率、与在参考画面和当前画面之间的时间距离相关的参数、帧率、运动矢量、与编码预测结构相关的设置参数、以及预测方向中的至少一个,获得与用于计算每单位时间的位移矢量的窗口的尺寸相关的参数,
帧间预测器还被配置为:基于与窗口的尺寸相关的参数,通过使用在具有特定尺寸并包括第一参考块中所包括的第一像素组的第一窗口中的像素的梯度值、在具有特定尺寸并包括第二参考块中所包括的第二像素组的第二窗口中的像素的梯度值、第一窗口中的像素的像素值、以及第二窗口中的像素的像素值来确定水平方向或垂直方向上的每单位时间的位移矢量。
12.如权利要求7所述的视频解码设备,其中,像素组包括多个像素,
帧间预测器还被配置为:基于从比特流获得的关于像素组的大小的信息、图像分辨率和帧率中的至少一个来获得与像素组的大小相关的参数,并通过基于第一运动矢量和第二运动矢量执行块单位运动补偿并基于与像素组的大小相关的参数执行像素组单位运动补偿来产生当前块的预测块。
13.一种视频编码方法,包括:
通过对当前块执行块单位运动补偿和像素组单位运动补偿来获得当前块的预测块、第一运动矢量、第二运动矢量、以及与像素组单位运动补偿相关的参数;
产生比特流,该比特流包括与第一运动矢量和第二运动矢量相关的信息、以及指示关于当前块的运动预测模式是双向运动预测模式的运动预测模式信息,
其中,像素组包括至少一个像素,
第一运动矢量是从当前块指示第一参考画面的与当前画面中的当前块相应的第一参考块的运动矢量,
第二运动矢量是从当前块指示第二参考画面的与当前画面中的当前块相应的第二参考块的运动矢量,
当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时从与包括当前画面的图像相关的参数获得的,或者,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时确定的,并且关于确定的与像素组单位运动补偿相关的参数的信息被包括在比特流中。
14.一种视频编码设备,包括:
帧间预测器,被配置为通过对当前块执行块单位运动补偿和像素组单位运动补偿来获得当前块的预测块、第一运动矢量、第二运动矢量、以及与像素组单位运动补偿相关的参数;
比特流产生器,被配置为:产生比特流,该比特流包括与第一运动矢量和第二运动矢量相关的信息、以及指示关于当前块的运动预测模式是双向运动预测模式的运动预测模式信息,
其中,像素组包括至少一个像素,
第一运动矢量是从当前块指示第一参考画面的与当前画面中的当前块相应的第一参考块的运动矢量,
第二运动矢量是从当前块指示第二参考画面的与当前画面中的当前块相应的第二参考块的运动矢量,
当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时从与包括当前画面的图像相关的参数获得的,或者,当前块的与像素组单位运动补偿相关的参数是在对当前块执行像素组单位运动补偿时确定的,并且关于确定的与像素组单位运动补偿相关的参数的信息被包括在比特流中。
15.一种记录有执行如权利要求1所述的视频解码方法的程序的计算机可读记录介质。
CN201780056738.1A 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置 Active CN109792534B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202310331744.0A CN116112687A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310329400.6A CN117615147A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310331441.9A CN116095342A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310333737.4A CN116156200A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662362172P 2016-07-14 2016-07-14
US62/362,172 2016-07-14
PCT/KR2017/007593 WO2018012933A1 (ko) 2016-07-14 2017-07-14 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치

Related Child Applications (4)

Application Number Title Priority Date Filing Date
CN202310329400.6A Division CN117615147A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310331441.9A Division CN116095342A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310331744.0A Division CN116112687A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310333737.4A Division CN116156200A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置

Publications (2)

Publication Number Publication Date
CN109792534A true CN109792534A (zh) 2019-05-21
CN109792534B CN109792534B (zh) 2023-04-18

Family

ID=60953177

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202310329400.6A Pending CN117615147A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310333737.4A Pending CN116156200A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310331441.9A Pending CN116095342A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310331744.0A Pending CN116112687A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN201780056738.1A Active CN109792534B (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN202310329400.6A Pending CN117615147A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310333737.4A Pending CN116156200A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310331441.9A Pending CN116095342A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置
CN202310331744.0A Pending CN116112687A (zh) 2016-07-14 2017-07-14 视频解码方法及其装置以及视频编码方法及其装置

Country Status (6)

Country Link
US (3) US11563952B2 (zh)
EP (1) EP3471417A4 (zh)
KR (4) KR102437110B1 (zh)
CN (5) CN117615147A (zh)
MX (2) MX2019000506A (zh)
WO (1) WO2018012933A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020258057A1 (zh) * 2019-06-25 2020-12-30 深圳市大疆创新科技有限公司 视频处理方法、装置和设备
WO2021056217A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频处理方法和装置
WO2021174396A1 (zh) * 2020-03-02 2021-09-10 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质
CN113411602A (zh) * 2019-06-21 2021-09-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
CN114208176A (zh) * 2019-08-16 2022-03-18 高通股份有限公司 用于使用与图像大小相关的缩放比例的译码视频的方法和装置
CN114402610A (zh) * 2019-09-13 2022-04-26 北京字节跳动网络技术有限公司 视频编解码中的加权样点双向预测

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7320352B2 (ja) * 2016-12-28 2023-08-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元モデル送信方法、三次元モデル受信方法、三次元モデル送信装置及び三次元モデル受信装置
US11438583B2 (en) * 2018-11-27 2022-09-06 Tencent America LLC Reference sample filter selection in intra prediction
EP3937488A3 (en) 2019-01-09 2022-04-13 Beijing Dajia Internet Information Technology Co., Ltd. System and method for improving combined inter and intra prediction
US11343525B2 (en) 2019-03-19 2022-05-24 Tencent America LLC Method and apparatus for video coding by constraining sub-block motion vectors and determining adjustment values based on constrained sub-block motion vectors
WO2020200235A1 (en) * 2019-04-01 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Half-pel interpolation filter in intra block copy coding mode
WO2020223552A1 (en) * 2019-04-30 2020-11-05 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of prediction refinement with optical flow
CN112135141A (zh) 2019-06-24 2020-12-25 华为技术有限公司 视频编码器、视频解码器及相应方法
BR112022002480A2 (pt) 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
EP4000267A4 (en) 2019-08-23 2023-02-22 Beijing Bytedance Network Technology Co., Ltd. CLIPPING IN A RE-SAMPLING REFERENCE IMAGE
US11936904B2 (en) 2019-09-20 2024-03-19 Telefonaktiebolaget Lm Ericsson (Publ) Methods of video encoding and/or decoding with bidirectional optical flow simplification on shift operations and related apparatus
US12114008B2 (en) * 2019-09-30 2024-10-08 Hyundai Motor Company Method and apparatus for inter-prediction of pictures with different resolutions
EP4029254B1 (en) * 2019-10-03 2023-11-15 Huawei Technologies Co., Ltd. Encoder, decoder and corresponding methods using interpolation filtering
CN112702603A (zh) * 2019-10-22 2021-04-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
JP7395727B2 (ja) * 2019-10-23 2023-12-11 北京字節跳動網絡技術有限公司 ビデオ・データを処理する方法、装置及び記憶方法
KR102708041B1 (ko) 2019-10-23 2024-09-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 참조 픽처 리샘플링을 위한 시그널링
WO2021129627A1 (en) * 2019-12-27 2021-07-01 Zhejiang Dahua Technology Co., Ltd. Affine prediction method and related devices
KR102421720B1 (ko) * 2020-05-29 2022-07-18 삼성전자주식회사 영상의 ai 부호화 및 ai 복호화를 위한 장치, 및 방법
US11223841B2 (en) 2020-05-29 2022-01-11 Samsung Electronics Co., Ltd. Apparatus and method for performing artificial intelligence encoding and artificial intelligence decoding on image
US11863786B2 (en) * 2021-05-21 2024-01-02 Varjo Technologies Oy Method of transporting a framebuffer
US20230101542A1 (en) * 2021-09-29 2023-03-30 Tencent America LLC Techniques for constraint flag signaling for range extension with coding for last significant coefficient
WO2024030926A1 (en) * 2022-08-02 2024-02-08 Bytedance Inc. Method, apparatus, and medium for video processing
US20240121404A1 (en) * 2022-10-07 2024-04-11 Tencent America LLC Directional nearest neighbor prediction mode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695136A (zh) * 2009-10-22 2010-04-14 北京交通大学 一种自动式视频颜色协调处理方法和处理系统
CN102763418A (zh) * 2009-12-20 2012-10-31 Lg电子株式会社 视频信号解码方法和设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101408698B1 (ko) 2007-07-31 2014-06-18 삼성전자주식회사 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치
KR101418116B1 (ko) 2007-10-24 2014-07-09 고려대학교 산학협력단 프레임 보간 장치 및 그를 포함한 프레임 속도 상향 변환장치
WO2011096770A2 (ko) 2010-02-02 2011-08-11 (주)휴맥스 영상 부호화/복호화 장치 및 방법
KR101529992B1 (ko) 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
CN102934444A (zh) * 2010-04-06 2013-02-13 三星电子株式会社 用于对视频进行编码的方法和设备以及用于对视频进行解码的方法和设备
KR20120090740A (ko) 2011-02-07 2012-08-17 (주)휴맥스 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
RU2595262C2 (ru) 2011-06-28 2016-08-27 Самсунг Электроникс Ко., Лтд. Способ для интерполяции изображений с использованием асимметричного интерполяционного фильтра и устройство для этого
MY168044A (en) 2011-06-30 2018-10-11 Samsung Electronics Co Ltd Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and apparatus therefor
KR20140089486A (ko) * 2013-01-04 2014-07-15 삼성전자주식회사 스케일러블 비디오의 부호화 및 복호화를 위한 움직임 보상 방법 및 장치
US10171821B2 (en) 2013-07-16 2019-01-01 Samsung Electronics Co., Ltd. Scalable video encoding method and apparatus and scalable video decoding method and apparatus using up-sampling filter accompanied by conversion of bit depth and color format
KR101626450B1 (ko) 2015-03-12 2016-06-01 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
CN114827599A (zh) 2016-02-03 2022-07-29 Oppo广东移动通信有限公司 运动图像解码装置、编码装置、以及预测图像生成装置
WO2017188566A1 (ko) * 2016-04-25 2017-11-02 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
US10931969B2 (en) * 2017-01-04 2021-02-23 Qualcomm Incorporated Motion vector reconstructions for bi-directional optical flow (BIO)
WO2019238008A1 (en) * 2018-06-11 2019-12-19 Mediatek Inc. Method and apparatus of bi-directional optical flow for video coding
EP3834416A4 (en) * 2018-08-17 2022-08-17 HFI Innovation Inc. METHODS AND APPARATUS FOR VIDEO PROCESSING WITH BIDIRECTIONAL PREDICTION IN VIDEO CODING SYSTEMS
WO2020184847A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 Dmvr 및 bdof 기반의 인터 예측 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101695136A (zh) * 2009-10-22 2010-04-14 北京交通大学 一种自动式视频颜色协调处理方法和处理系统
CN102763418A (zh) * 2009-12-20 2012-10-31 Lg电子株式会社 视频信号解码方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIANLE CHEN ET AL.: "Algorithm Description of Joint Exploration Test Model 3", 《JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 3RD MEETING: GENEVA, CH, 26 MAY–1 JUNE 2016,DOCUMENT: JVET-C1001_V3》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113411602A (zh) * 2019-06-21 2021-09-17 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US12075085B2 (en) 2019-06-21 2024-08-27 Hangzhou Hikvision Digital Technology Co., Ltd. Encoding and decoding method, apparatus, and device
WO2020258057A1 (zh) * 2019-06-25 2020-12-30 深圳市大疆创新科技有限公司 视频处理方法、装置和设备
CN114208176A (zh) * 2019-08-16 2022-03-18 高通股份有限公司 用于使用与图像大小相关的缩放比例的译码视频的方法和装置
CN114402610A (zh) * 2019-09-13 2022-04-26 北京字节跳动网络技术有限公司 视频编解码中的加权样点双向预测
US12063348B2 (en) 2019-09-13 2024-08-13 Beijing Bytedance Network Technology Co., Ltd Weighted sample bi-prediction in video coding
WO2021056217A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频处理方法和装置
CN112868236A (zh) * 2019-09-24 2021-05-28 北京大学 视频处理方法和装置
WO2021174396A1 (zh) * 2020-03-02 2021-09-10 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质

Also Published As

Publication number Publication date
KR102516067B1 (ko) 2023-03-30
CN116112687A (zh) 2023-05-12
KR102437110B1 (ko) 2022-08-26
US20230055060A1 (en) 2023-02-23
US20210281852A1 (en) 2021-09-09
KR20190018673A (ko) 2019-02-25
MX2019000506A (es) 2019-03-28
EP3471417A1 (en) 2019-04-17
US11563952B2 (en) 2023-01-24
MX2023000074A (es) 2023-02-09
KR20210144954A (ko) 2021-11-30
KR102332526B1 (ko) 2021-11-29
CN116156200A (zh) 2023-05-23
CN109792534B (zh) 2023-04-18
KR20220121918A (ko) 2022-09-01
US11909986B2 (en) 2024-02-20
CN117615147A (zh) 2024-02-27
CN116095342A (zh) 2023-05-09
US20240129492A1 (en) 2024-04-18
KR20230042424A (ko) 2023-03-28
EP3471417A4 (en) 2019-11-06
WO2018012933A1 (ko) 2018-01-18

Similar Documents

Publication Publication Date Title
CN109792534A (zh) 视频解码方法及其装置以及视频编码方法及其装置
JP7203881B2 (ja) ビデオ復号方法及びその装置、並びにビデオ符号化方法及びその装置
CN108496367B (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
GR01 Patent grant
GR01 Patent grant