CN108496367B - 用于对视频进行解码的方法和设备以及用于对视频进行编码的方法和设备 - Google Patents

用于对视频进行解码的方法和设备以及用于对视频进行编码的方法和设备 Download PDF

Info

Publication number
CN108496367B
CN108496367B CN201680079512.9A CN201680079512A CN108496367B CN 108496367 B CN108496367 B CN 108496367B CN 201680079512 A CN201680079512 A CN 201680079512A CN 108496367 B CN108496367 B CN 108496367B
Authority
CN
China
Prior art keywords
pixel
value
gradient
pixels
block
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.)
Active
Application number
CN201680079512.9A
Other languages
English (en)
Other versions
CN108496367A (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 CN202210728048.9A priority Critical patent/CN115278229A/zh
Priority to CN202210728052.5A priority patent/CN115278230A/zh
Priority to CN202210724630.8A priority patent/CN115278228A/zh
Priority to CN202210728053.XA priority patent/CN115278231A/zh
Priority to CN202210738017.1A priority patent/CN115278232A/zh
Publication of CN108496367A publication Critical patent/CN108496367A/zh
Application granted granted Critical
Publication of CN108496367B publication Critical patent/CN108496367B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/537Motion estimation other than block-based
    • 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

Abstract

提供的是一种视频解码方法,所述视频解码方法包括:获得有关当前画面中的当前块的运动预测模式信息;当双向运动预测模式被指示时,获得分别指示所述当前块在第一参考画面中的第一参考块和所述当前块在第二参考画面中的第二参考块的第一运动矢量和第二运动矢量;通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成通过所述第一运动矢量指示的所述第一参考块的第一像素的像素值和通过所述第二运动矢量指示的所述第二参考块的第二像素的像素值;通过对所述第一邻近区域和所述第二邻近区域应用滤波器来生成所述第一像素和所述第二像素的梯度值;以及通过使用所述第一像素和所述第二像素的像素值和梯度值来生成所述当前块的预测像素值。

Description

用于对视频进行解码的方法和设备以及用于对视频进行编码 的方法和设备
技术领域
本公开涉及视频解码方法和视频编码方法。更具体地,本公开涉及在双向运动预测模式下执行帧间预测的视频解码和视频编码。
背景技术
因为正在开发和供应用于再现和存储高分辨率或高质量视频内容的硬件,所以对用于有效地对高分辨率或高质量视频内容进行编码或解码的视频编解码器的需要已增加。在常规的视频编解码器中,视频根据基于树结构的编码单元的有限编码方法被编码。
空间域的图像数据经由频率变换被变换成频域的系数。根据视频编解码器,图像被分割成具有预定尺寸的块,对每个块执行离散余弦变换(DCT),并且按照块单元对频率系数进行编码,以进行频率变换的快速计算。与空间域的图像数据相比,频域的系数容易被压缩。特别地,因为空间域的图像像素值是根据经由视频编解码器的帧间预测或帧内预测的预测误差来表达的,所以当对该预测误差执行频率变换时,大量数据可以被变换为0。根据视频编解码器,可以通过用小型数据代替被连续地且重复地生成的数据来减少数据量。
发明内容
技术问题
根据各种实施例,可以在双向运动预测模式下通过不仅使用第一参考画面的第一参考块的像素值和第二参考画面的第二参考块的像素值而且使用所述第一参考块的第一梯度值和所述第二参考块的第二梯度值来生成当前块的预测像素值。因此,可以提高编码和解码效率,因为可以生成与原始块类似的预测块。
提供的是一种计算机可读记录介质,所述计算机可读记录介质在其上记录有用于执行根据各种实施例的方法的程序。
这里,各种实施例的各方面不限于此,并且附加方面将部分地在下面的描述中进行阐述,并且部分地,将从说明书中显而易见,或者可以通过实践所呈现的实施例来学习。
问题的解决方案
本公开的各方面不限于此,并且附加方面将部分地在下面的描述中进行阐述,并且部分地,将从说明书中显而易见,或者可以通过实践所呈现的实施例来学习。
根据本公开的一个方面,一种视频解码方法包括:从比特流获得有关当前画面中的当前块的运动预测模式信息;当所获得的运动预测模式信息指示双向运动预测模式时,从所述比特流获得指示所述当前块在第一参考画面中的第一参考块的第一运动矢量和指示所述当前块在第二参考画面中的第二参考块的第二运动矢量;通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成所述第一像素的像素值和所述第二像素的像素值,其中,所述第一像素来自通过所述第一运动矢量指示的所述第一参考块的像素当中,所述第二像素来自通过所述第二运动矢量指示的所述第二参考块的像素当中;通过对所述第一邻近区域和所述第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值;以及通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值。
所述生成所述当前块的预测像素值可以包括:通过使用具有特定尺寸并且包括所述第一像素的第一窗口中的像素的梯度值、具有特定尺寸并且包括所述第二像素的第二窗口中的像素的梯度值、所述第一窗口中的所述像素的像素值和所述第二窗口中的所述像素的像素值来确定水平方向和垂直方向上的每单位时间的位移矢量;以及通过进一步使用所述水平方向和所述垂直方向上的每单位时间的位移矢量、所述当前画面与所述第一参考画面之间的第一时间距离以及所述当前画面与所述第二参考画面之间的第二时间距离来生成所述当前块的预测像素值。
所述第一运动矢量可以是指示在分数像素位置(i+α,j+β)处的所述第一像素的矢量,其中,i和j各自是整数而α和β各自是分数,并且所述生成所述第一像素的梯度值和所述第二像素的梯度值可以包括:通过对像素位置(i,j)处的像素值和从所述像素位置(i,j)处的像素起定位在垂直方向上的整数像素的像素值应用梯度滤波器来生成像素位置(i,j+β)处的梯度值;以及通过对所述像素位置(i,j+β)处的所述梯度值和水平分量的位置是整数像素位置的像素的梯度值应用插值滤波器来生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述垂直方向上的梯度值,其中,所述水平分量的位置是整数像素位置的像素来自从所述像素位置(i,j+β)起定位在所述水平方向上的像素当中。
所述第一运动矢量可以是在分数像素位置(i+α,j+β)处指示所述第一像素的矢量,其中,i和j各自是整数而α和β各自是分数,并且所述生成所述第一像素的梯度值和所述第二像素的梯度值可以包括:通过对像素位置(i,j)处的像素值和从所述像素位置(i,j)处的像素起定位在垂直方向上的整数像素的像素值应用插值滤波器来生成像素位置(i,j+β)处的像素值;以及通过对所述像素位置(i,j+β)处的所述像素值和水平分量的位置是整数像素位置的像素的像素值应用梯度滤波器来生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述水平方向上的梯度值,其中,所述水平分量的位置是整数像素位置的像素来自从所述像素位置(i,j+β)起定位在所述水平方向上的像素当中。
所述生成像素位置(i,j+β)处的梯度值可以包括:通过针对所述像素位置(i,j)处的所述像素和从所述像素位置(i,j)处的所述像素起定位在所述垂直方向上的M-1个邻近整数像素应用M抽头梯度滤波器来生成所述像素位置(i,j+β)处的所述梯度值,其中,M是整数,并且所述生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述垂直方向上的梯度值可以包括通过针对所述像素位置(i,j+β)处的所述梯度值和水平分量的位置是整数像素位置的N-1个像素的梯度值应用N抽头插值滤波器来生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述垂直方向上的梯度值,其中,N是整数,所述水平分量的位置是整数像素位置的N-1个像素来自从所述像素位置(i,j+β)起定位在所述水平方向上的像素当中。
所述生成所述像素位置(i,j+β)处的所述像素值可以包括:通过针对所述像素位置(i,j+β)处的所述像素值和预定方向上的分量是整数的N-1个邻近像素的像素值应用N抽头插值滤波器来生成所述像素位置(i,j+β)处的所述像素值,所述N-1个邻近像素从所述像素位置(i,j+β)起被定位在所述垂直方向上,其中,N是整数,并且所述生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述水平方向上的梯度值可以包括通过针对所述像素位置(i,j+β)处的所述像素值和水平分量的位置是整数像素位置的M-1个像素的像素值应用M抽头梯度滤波器来生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述水平方向上的梯度值,其中,M是整数,所述水平分量的位置是整数像素位置的M-1个像素来自从所述像素位置(i,j+β)起定位在所述水平方向上的所述像素当中。
所述N抽头插值滤波器可以是用于水平方向上的分数像素位置处的像素值的基于离散余弦变换的插值滤波器,并且N可以是6。
所述M抽头梯度滤波器可以是用于垂直方向上的分数像素位置处的梯度值的插值滤波器,其中滤波器系数是通过使用在所述垂直方向上的基于离散余弦变换的插值滤波器来预先确定的,并且M可以是6。
所述通过应用所述M抽头梯度滤波器来生成所述像素位置(i,j+β)处的所述梯度值可以包括通过基于去缩放比特数对应用了所述M抽头梯度滤波器的值执行去缩放来生成所述像素位置(i,j+β)处的所述梯度值,其中,所述去缩放比特数可以基于采样点的比特深度,并且所述去缩放可以包括向右移位所述去缩放比特数。
当所述M抽头梯度滤波器的滤波器系数被按2^x缩放并且所述N抽头插值滤波器的滤波器系数被按2^y缩放时,其中,x和y各自是整数,所述通过应用所述N抽头插值滤波器来生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述垂直方向上的梯度值可以包括通过基于去缩放比特数对应用了所述N抽头插值滤波器的值执行去缩放来生成所述分数像素位置(i+α,j+β)处的所述第一像素在所述垂直方向上的梯度值,所述去缩放比特数可以基于采样点的比特深度、x和y,并且所述去缩放可以包括向右移位所述去缩放比特数。
根据本公开的另一方面,一种视频解码设备包括:获得器,所述获得器被配置为从比特流获得有关当前画面中的当前块的运动预测模式信息,并且当所获得的运动预测模式信息指示双向运动预测模式时,从所述比特流获得指示所述当前块在第一参考画面中的第一参考块的第一运动矢量和指示所述当前块在第二参考画面中的第二参考块的第二运动矢量;以及帧间预测器,所述帧间预测器被配置为通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成所述第一像素的像素值和所述第二像素的像素值,通过对所述第一邻近区域和所述第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值,并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值,其中,所述第一像素来自通过所述第一运动矢量指示的所述第一参考块的像素当中,所述第二像素来自通过所述第二运动矢量指示的所述第二参考块的像素当中。
根据本公开的另一方面,一种视频编码方法包括:确定与当前画面中的当前块相对应的第一参考画面的第一参考块和与所述当前块相对应的第二参考画面的第二参考块,并且确定指示所述第一参考块的第一运动矢量和指示所述第二参考块的第二运动矢量;通过对来自所述第一参考块的像素当中的第一像素的第一邻近区域和来自所述第二参考块的像素当中的第二像素的第二邻近区域应用插值滤波器来生成所述第一像素的像素值和所述第二像素的像素值;通过对所述第一像素的第一邻近区域和所述第二像素的第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值,并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值;以及生成包括关于所述第一运动矢量和所述第二运动矢量的信息以及指示所述当前块的运动预测模式是双向运动预测模式的运动预测模式信息的比特流。
根据本公开的另一方面,一种视频编码设备包括:帧间预测器,所述帧间预测器被配置为确定与当前画面中的当前块相对应的第一参考画面的第一参考块和与所述当前块相对应的第二参考画面的第二参考块,确定指示所述第一参考块的第一运动矢量和指示所述第二参考块的第二运动矢量,通过对来自所述第一参考块的像素当中的第一像素的第一邻近区域和来自所述第二参考块的像素当中的第二像素的第二邻近区域应用插值滤波器来生成所述第一像素的像素值和所述第二像素的像素值,通过对所述第一像素的第一邻近区域和所述第二像素的第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值,并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值;以及比特流生成器,所述比特流生成器被配置为生成包括关于所述第一运动矢量和所述第二运动矢量的信息以及指示所述当前块的运动预测模式是双向运动预测模式的运动预测模式信息的比特流。
根据本公开的另一方面,一种计算机可读记录介质在其上记录有用于执行根据各种实施例的方法的程序。
公开的有益效果
根据各种实施例,可以通过在双向运动预测模式下通过使用参考画面的参考块的梯度值来对当前块执行帧间预测以预测与该当前块的原始块的值类似的值,从而提高编码和解码效率。
附图说明
图1a是根据各种实施例的视频解码设备的框图。
图1b是根据各种实施例的视频解码方法的流程图。
图1c是根据各种实施例的视频编码设备的框图。
图1d是根据各种实施例的视频编码方法的流程图。
图1e是根据各种实施例的图像解码器的框图。
图1f是根据各种实施例的图像编码器的框图。
图2是用于描述根据实施例的基于块的双向运动预测和补偿过程的参考图。
图3a至图3c是用于描述根据实施例的执行像素单元运动补偿的过程的参考图。
图4是用于描述根据实施例的计算水平和垂直方向上的梯度值的过程的参考图。
图5是用于描述根据另一实施例的计算水平和垂直方向上的梯度值的过程的参考图。
图6a和图6b是用于描述根据实施例的通过使用一维(1D)滤波器来确定水平和垂直方向上的梯度值的过程的图。
图7a至图7e是示出了根据实施例的用于确定分数像素单元的分数像素位置处的像素值以及水平和垂直方向上的梯度值的滤波器的滤波器系数的表。
图8是用于描述根据实施例的确定水平方向位移矢量和垂直方向位移矢量的过程的参考图。
图9是用于描述根据实施例的在执行滤波之后加上偏移值并且通过执行逆缩放来确定水平或垂直方向上的梯度值的过程的图。
图10例示了根据实施例的随着当前编码单元被分割而确定至少一个编码单元的过程。
图11例示了根据实施例的当具有非正方形形状的编码单元被分割时确定至少一个编码单元的过程。
图12例示了根据实施例的基于块形状信息和分割形状信息中的至少一种来分割编码单元的过程。
图13例示了根据实施例的从奇数个编码单元当中确定特定编码单元的方法。
图14例示了根据实施例的当在当前编码单元被分割时确定多个编码单元时处理多个编码单元的顺序。
图15例示了根据实施例的当编码单元不能以特定顺序处理时确定当前编码单元被分割成奇数个编码单元的过程。
图16例示了根据实施例的当第一编码单元被分割时确定至少一个编码单元的过程。
图17例示了根据实施例的当在第一编码单元被分割时确定的具有非正方形形状的第二编码单元满足特定条件时第二编码单元可分割成的形状被限制。
图18例示了根据实施例的当分割形状信息不能指示编码单元被分割成四个正方形形状时分割具有正方形形状的编码单元的过程。
图19例示了根据实施例的可以根据分割编码单元的过程来改变处理多个编码单元的顺序。
图20例示了根据实施例的当在编码单元被递归地分割时确定多个编码单元时的随着编码单元的形状和尺寸被改变而确定编码单元的深度的过程。
图21例示了根据实施例的用于区分可以根据编码单元的形状和尺寸来确定的深度和编码单元的部分索引(PID)。
图22例示了根据实施例的根据包括在画面中的多个特定数据单元来确定多个编码单元。
图23例示了根据实施例的用作确定包括在画面中的参考编码单元的确定顺序的准则的处理块。
最佳模式
根据本公开的一个方面,一种视频解码方法包括:从比特流获得有关当前画面中的当前块的运动预测模式信息;当所获得的运动预测模式信息指示双向运动预测模式时,从所述比特流获得指示所述当前块在第一参考画面中的第一参考块的第一运动矢量和指示所述当前块在第二参考画面中的第二参考块的第二运动矢量;通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成来自通过所述第一运动矢量指示的所述第一参考块的像素当中的第一像素的像素值和来自通过所述第二运动矢量指示的所述第二参考块的像素当中的第二像素的像素值;通过对所述第一邻近区域和所述第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值;以及通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值。
根据本公开的另一方面,一种视频解码设备包括:获得器,所述获得器被配置为从比特流获得有关当前画面中的当前块的运动预测模式信息,并且当所获得的运动预测模式信息指示双向运动预测模式时,从所述比特流获得指示所述当前块在第一参考画面中的第一参考块的第一运动矢量和指示所述当前块在第二参考画面中的第二参考块的第二运动矢量;以及帧间预测器,所述帧间预测器被配置为通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成来自通过所述第一运动矢量指示的所述第一参考块的像素当中的第一像素的像素值和来自通过所述第二运动矢量指示的所述第二参考块的像素当中的第二像素的像素值,通过对所述第一邻近区域和所述第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值,并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值。
根据本公开的另一方面,一种视频编码方法包括:确定与当前画面中的当前块相对应的第一参考画面的第一参考块和与所述当前块相对应的第二参考画面的第二参考块,并且确定指示所述第一参考块的第一运动矢量和指示所述第二参考块的第二运动矢量;通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成来自所述第一参考块的像素当中的第一像素的像素值和来自所述第二参考块的像素当中的第二像素的像素值;通过对所述第一像素的第一邻近区域和所述第二像素的第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值,并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值;以及生成包括关于所述第一运动矢量和所述第二运动矢量的信息以及指示所述当前块的运动预测模式是双向运动预测模式的运动预测模式信息的比特流。
根据本公开的另一方面,一种视频编码设备包括:帧间预测器,所述帧间预测器被配置为确定与当前画面中的当前块相对应的第一参考画面的第一参考块和与所述当前块相对应的第二参考画面的第二参考块,确定指示所述第一参考块的第一运动矢量和指示所述第二参考块的第二运动矢量,通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成来自所述第一参考块的像素当中的第一像素的像素值和来自所述第二参考块的像素当中的第二像素的像素值,通过对所述第一像素的第一邻近区域和所述第二像素的第二邻近区域应用滤波器来生成所述第一像素的梯度值和所述第二像素的梯度值,并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值和所述第二像素的梯度值来生成所述当前块的预测像素值;以及比特流生成器,所述比特流生成器被配置为生成包括关于所述第一运动矢量和所述第二运动矢量的信息以及指示所述当前块的运动预测模式是双向运动预测模式的运动预测模式信息的比特流。
根据本公开的另一方面,一种计算机可读记录介质在其上记录有用于执行根据各种实施例的方法的程序。
具体实施方式
在下文中,“图像”可以表示视频的静止图像或运动图像,即,视频本身。
在下文中,“采样点”表示被指派给图像的采样位置并且将被处理的数据。例如,空间域的图像中的像素可以是采样点。
在下文中,“当前块”可以表示要编码或解码的图像的块。
图1a是根据各种实施例的视频解码设备的框图。
根据各种实施例的视频解码设备100包括获得器105和帧间预测器110。
获得器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可以针对经由滤波生成的值执行去缩放(de-scaling)。
块单元运动补偿器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可以通过针对包括在当前块的参考块中的像素按照像素单元执行运动补偿来按照像素单元生成运动补偿值。
像素单元运动补偿器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可以将通过使用水平方向上的1D梯度滤波器来对(x,y+β)位置处的像素以及水平分量是整数的像素的像素值执行滤波而获得的结果值确定为水平方向上的(x+α,y+β)位置处的梯度值,所述水平分量是整数的像素来自从(x,y+β)位置处的像素起定位在水平方向上的像素当中。
使用1D梯度滤波器和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可以通过将关于当前块的按照块单元的运动补偿值和按照像素单元的运动补偿值相加来生成当前块的预测像素值。这里,按照块单元的运动补偿值可以表示通过按照块单元执行运动补偿所生成的值,并且按照像素单元的运动补偿值表示通过按照像素单元执行运动补偿所生成的值,其中按照块单元的运动补偿值可以是参考像素的平均值或加权和,并且按照像素单元的运动补偿值可以是基于与当前像素有关的位移矢量和参考像素的梯度值而确定的值。
视频解码设备100可以从比特流获得当前块的残差块,并且通过使用当前块的残差块和预测像素值来重建当前块。例如,视频解码设备100可以通过将当前块的残差块的像素值和当前块的预测像素值相加来从比特流中确定重建块的像素值。
视频解码设备100可以包括图像解码器(未示出),其中图像解码器可以包括获得器105和帧间预测器110。将在下面参考图1e描述图像解码器。
图1b是根据各种实施例的视频解码方法的流程图。
在操作S105中,视频解码设备100可以从比特流获得关于当前画面中的当前块的运动预测模式信息。视频解码设备100可以接收包括关于当前画面中的当前块的运动预测模式信息的比特流,并且从所接收到的比特流获得关于当前块的运动预测模式信息。
视频解码设备100可以从比特流获得关于当前块的预测模式的信息,并且基于关于当前块的预测模式的信息确定当前块的预测模式。这里,当当前块的预测模式是帧间预测模式时,视频解码设备100可以获得关于当前块的运动预测模式信息。
例如,视频解码设备100可以基于关于当前块的预测模式的信息将当前块的预测模式确定为帧间预测模式。当当前块的预测模式是帧间预测模式时,视频解码设备100可以从比特流获得关于当前块的运动预测模式信息。
在操作S110中,当运动预测模式信息指示双向运动预测模式时,视频解码设备100可以从比特流获得指示当前块在第一参考画面中的第一参考块的第一运动矢量和指示当前块在第二参考画面中的第二参考块的第二运动矢量。
换句话说,视频解码设备100可以获得包括关于第一运动矢量和第二运动矢量的信息的比特流,并且从所接收到的比特流获得第一运动矢量和第二运动矢量。视频解码设备100可以从比特流获得参考画面索引,并且基于参考画面索引从先前解码的画面当中确定第一参考画面和第二参考画面。
在操作S115中,视频解码设备100可以通过对第一像素的第一邻近区域和第二像素的第二邻近区域应用插值滤波器来生成来自通过第一运动矢量指示的第一参考块的像素当中的第一像素的像素值以及来自通过第二运动矢量指示的第二参考块的像素当中的第二像素的像素值。
在操作S120中,视频解码设备100可以通过对第一邻近区域和第二邻近区域应用滤波器来生成第一像素的梯度值和第二像素的梯度值。这里,滤波器可以是1D滤波器,并且可以包括梯度滤波器和插值滤波器。
在操作S125中,视频解码设备100可以通过使用第一像素的像素值、第二像素的像素值、第一像素的梯度值和第二像素的梯度值来生成当前块的预测像素值。
视频解码设备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/4或1/16pel单位确定运动矢量以指示作为分数像素的位置的参考块的参考位置时,整数的运动矢量是通过缩放运动矢量来确定的,并且可以通过使用经放大的运动矢量来确定参考块的参考位置。当参考块的参考位置是分数像素的位置时,参考块的参考像素的位置也可以是分数像素的位置。因此,可以通过使用特定方向上的分量是整数的邻近像素的像素值来确定参考块中的分数像素位置处的像素值。
例如,块单元运动补偿器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梯度滤波器来对整数位置处的像素执行滤波,从而生成水平方向上的梯度滤波值,然后可以通过使用垂直方向上的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插值滤波器来对整数位置处的像素执行滤波,从而生成水平方向上的插值滤波值,然后可以通过使用垂直方向上的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可以将当前块的运动预测模式确定为双向运动预测模式,并且输出指示该双向运动预测模式的信息。这里,双向运动预测模式表示通过使用两个解码的参考画面中的参考块来预测运动的模式。
比特流生成器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可以通过对第一参考块的像素当中的第一像素的第一邻近区域和第二参考块的像素当中的第二像素的第二邻近区域应用插值滤波器来生成第一像素的像素值和第二像素的像素值。
在操作S160中,视频编码设备150可以通过对第一参考块的像素当中的第一像素的第一邻近区域和第二参考块当中的第二像素的第二邻近区域应用滤波器来生成第一像素的梯度值和第二像素的梯度值,并且通过使用第一像素的像素值、第二像素的像素值、第一像素的梯度值和第二像素的梯度值来生成当前块的预测像素值。
在操作S165中,视频编码设备150可以生成包括关于第一运动矢量和第二运动矢量的信息以及指示当前块的运动预测模式是双向运动预测模式的运动预测模式信息的比特流。
视频编码设备150可以对当前块的残差信号进行编码,所述残差信号指示当前块的预测像素值与当前块的原始块之间的差,并且生成进一步包括经编码的残差信号的比特流。视频编码设备150可以对关于当前块的预测模式的信息和参考画面索引进行编码,并且生成进一步包括经编码的关于预测模式的信息和经编码的参考画面索引的比特流。例如,视频编码设备150可以对指示当前块的预测模式是帧间预测模式的信息和指示来自先前解码的画面当中的至少一个画面的参考画面索引进行编码,并且生成进一步包括经编码的关于预测模式的信息和经编码的参考画面索引的比特流。
图1e是根据各种实施例的图像解码器600的框图。
根据各种实施例的图像解码器600执行由视频解码设备100的图像解码器(未示出)执行的操作以对图像数据进行解码。
参考图1e,熵解码器615从比特流605中解析要解码的经编码的图像数据和解码所需要的编码信息。编码图像数据是量化变换系数,并且反量化器620和逆变换器625从量化后的变换系数重建残差数据。
帧内预测器640按每块执行帧内预测。帧间预测器635按块通过使用从重建画面缓冲器630获得的参考图像来执行帧间预测。图1e的帧间预测器635可以对应于图1a的帧间预测器110。
关于当前图像的块的空间域中的数据可以通过将预测数据和由帧内预测器640或帧间预测器635生成的每个块的残差数据相加来重建,并且去块单元645和SAO执行器650可以通过在空间域中对重建数据执行环路滤波来输出滤波后的重建图像。另外,存储在重建画面缓冲器630中的重建图像可以作为参考图像被输出。
为让视频解码设备100的解码器(未示出)对图像数据进行解码,可以按块执行根据各种实施例的图像解码器600的逐步操作。
图1f是根据各种实施例的图像编码器的框图。
根据各种实施例的图像编码器700执行由视频编码设备150的图像编码器(未示出)执行的操作以对图像数据进行编码。
换句话说,帧内预测器720按块对当前图像705执行帧内预测,并且帧间预测器715通过使用每块的当前图像705和从重建画面缓冲器710获得的参考图像来执行帧间预测。这里,图1e的帧间预测器715可以对应于图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与在与当前块201相同的位置处的第一参考画面210的块211之间的位置差确定第一运动矢量MV1,并且基于第二对应区域222与在与当前块201相同的位置处的第二参考画面220的块221之间的位置差确定第二运动矢量MV2。
视频编码设备150通过使用第一运动矢量MV1和第二运动矢量MV2来对当前块201执行块单元双向运动补偿。
例如,当定位在第一参考画面210的(i,j)处的像素值是P0(i,j),定位在第二参考画面220的(i,j)处的像素值是P1(i,j),MV1=(MVx1,MVy1)并且MV2=(MVx2,MVy2)(其中i和j各自是整数)时,可以根据等式:P_BiPredBlock(i,j)={P0(i+MVx1,j+MVy1)+P1(i+MVx2,j+MVy2)}/2来计算当前块201的(i,j)位置处的像素的块单元双向运动补偿值P_BiPredBlock(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)相对应的像素的像素值。
另外,
Figure BDA0001727259330000301
表示第一参考像素在水平方向上的梯度值,
Figure BDA0001727259330000311
表示第一参考像素在垂直方向上的梯度值,
Figure BDA0001727259330000312
表示第二参考像素在水平方向上的梯度值,并且
Figure BDA0001727259330000313
表示第二参考像素在垂直方向上的梯度值。
另外,τ0表示当前块300所属于的当前画面与第一对应区域310所属于的第一参考画面之间的时间距离,并且τ1表示当前画面与第二对应区域320所属于的第二参考画面之间的时间距离。这里,画面之间的时间距离可以表示画面的画面顺序计数(POC)的差。
当在视频序列中存在均匀小运动时,在第一参考画面的第一对应区域310中的与按照像素单元执行了双向运动补偿的像素P(i,j)最类似的像素不是第一参考像素P0(i,j),而是第一位移参考像素PA,其中第一参考像素P0(i,j)被移动了特定位移矢量。如上所述,因为在视频序列中存在均匀运动,所以在第二参考画面的第二对应区域320中的与像素P(i,j)最类似的像素可以是第二位移参考像素PB,其中第二参考像素P1(i,j)被移动了特定位移矢量。
位移矢量可以包括x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy。因此,像素单元运动补偿器165计算包括在位移矢量中的x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy,并且通过使用该位移矢量来按照像素单元执行运动补偿。
光流表示通过场景与观察者(眼睛或像相机一样的视频图像获得设备)之间的相对运动引发的物体或表面上的视在运动的图案。在视频序列中,可以通过计算在任意时间t和t+Δt获得的帧之间的运动来表示光流。在时间t的帧中定位在(x,y)处的像素值可以是I(x,y,t)。换句话说,I(x,y,t)可以是在时间上且在空间上改变的值。可以对于时间t根据式1求I(x,y,t)的微分。
[式1]
Figure BDA0001727259330000314
当像素值根据运动改变但是相对于块中的小运动不根据时间改变时,dI/dt是0。另外,当根据时间的像素值的运动均匀时,dx/dt可以表示x轴方向上的像素值I(x,y,t)的位移矢量Vx并且dy/dt可以表示y轴方向上的像素值I(x,y,t)的位移矢量Vy,并且因此,可以将式1表达为式2。
[式2]
Figure BDA0001727259330000321
这里,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被确定。将参考图8详细地描述获得位移矢量Vx和Vy的过程。
为了确定当前像素的预测像素值,可以根据式3来确定对于t的函数P(t)。
[式3]
P(t)=a3*t3+a2*t2+a1*t+a0
这里,当t=0时的画面是包括当前块的当前画面。因此,可以将包括在当前块中的当前像素的预测像素值定义为P(t)在t为0时的值。
当当前画面与第一参考画面(第一参考画面在时间上在当前画面之前)之间的时间距离是τ0并且当前画面与第二参考画面(第二参考画面在时间上在当前画面之后)之间的时间距离是τ1时,第一参考画面中的参考像素值等于P(-τ0),并且第二参考画面中的参考像素值等于P(τ1)。在下文中,为了计算的方便,假定了τ0和τ1皆等于τ。
可以根据式4来确定P(t)的每个次数的系数。这里,P0(i,j)可以表示在第一参考画面的(i,j)位置处的像素值,并且P1(i,j)可以表示在第二参考画面的(i,j)处的像素值。
[式4]
Figure BDA0001727259330000331
Figure BDA0001727259330000332
Figure BDA0001727259330000333
Figure BDA0001727259330000334
因此,可以根据式5来确定当前块中的当前像素的预测像素值P(0)。
[式5]
Figure BDA0001727259330000335
可以考虑式2将式5表达为式6。
[式6]
Figure BDA0001727259330000336
因此,可以通过使用位移矢量Vx、位移矢量Vy、第一参考像素在水平和垂直方向上的梯度值以及第二参考像素在水平和垂直方向上的梯度值来确定当前像素的预测像素值。这里,与位移矢量Vx和Vy无关的一部分(P0(i,j)+P1(i,j))/2)可以是按照块单元的运动补偿值,而与位移矢量Vx和Vy有关的一部分可以是按照像素单元的运动补偿值。结果,可以通过将按照块单元的运动补偿值和按照像素单元的运动补偿值相加来确定当前像素的预测像素值。
在上文中,描述了在第一参考画面与当前画面之间的时间距离和第二参考画面与当前画面之间的时间距离皆是τ时确定当前像素的预测像素值的过程,并且因此相同是为了描述的方便而描述的,但是第一参考画面与当前画面之间的时间距离可以是τ0并且第二参考画面与当前画面之间的时间距离可以是τ1。这里,可以根据式7来确定当前像素的预测像素值P(0)。
[式7]
Figure BDA0001727259330000341
考虑式2,可以将式7表达为式8。
[式8]
Figure BDA0001727259330000342
在上文中,第一参考画面在时间上在当前画面之后被显示并且第二参考画面在时间上在当前画面之前被显示,但是可替代地,第一参考画面和第二参考画面皆可以在时间上在当前画面之前或者在当前画面之后被显示。
例如,如图3b中所示,包括第一对应区域310的第一参考画面和包括第二对应区域320的第二参考画面皆可以在时间上在包括当前块300的当前画面之前被显示。
在这种情况下,可以根据式9来确定当前像素的预测像素值P(0),其中在参考图3a指示的式8中指示第二参考画面与当前画面之间的时间距离的τ1被-τ1代替。
[式9]
Figure BDA0001727259330000343
例如,如图3c中所示,包括第一对应区域310的第一参考画面和包括第二对应区域320的第二参考画面皆可以在时间上在包括当前块300的当前画面之后被显示。
在这种情况下,可以根据式10来确定当前像素的预测像素值P(0),其中在参考图3a指示的式8中指示第一参考画面与当前画面之间的时间距离的τ0被-τ0代替。
[式10]
Figure BDA0001727259330000351
然而,当如图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在水平方向上的梯度值
Figure BDA0001727259330000352
和第一参考像素P0(i,j)410在垂直方向上的梯度值
Figure BDA0001727259330000353
换句话说,根据式11,可以通过计算在水平方向上与P0(i,j)相距h的分数像素P0(i-h,j)460和分数像素P0(i+h,j)470的像素值的变化来计算水平方向上的梯度值
Figure BDA0001727259330000361
其中h是小于1的分数,并且可以通过计算在垂直方向上与P0(i,j)相距h的分数像素P0(i,j-h)480和分数像素P0(i,j+h)490的像素值的变化来计算垂直方向上的梯度值
Figure BDA0001727259330000362
[式11]
Figure BDA0001727259330000363
Figure BDA0001727259330000364
可以通过使用一般插值来计算分数像素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在水平方向上的梯度值。可以根据指示用于确定窗口尺寸的MMax和MMin个整数像素之间的插值位置(分数pel位置)的值α来确定这里所使用的滤波器系数,如图7a至图7d中所示。例如,参考图7a,当用于确定窗口尺寸的MMin和MMax分别是-2和3并且与参考像素P0 500相距1/4即α=1/4时,图7a的第二行中的滤波器系数{4,-17,-36,60,-15,4}被应用于邻近像素P-2、P-1、P0、P1、P2和P3。在这种情况下,可以经由使用滤波器系数和邻近像素的加权和来计算参考像素P0 500在水平方向上的梯度值
Figure BDA0001727259330000365
诸如等式:
Figure BDA0001727259330000366
4*P-2-17*P-1+-36*P0+60*P1-15*P2+4*P3+32>>6。类似地,也可以通过根据插值位置以及用于确定窗口尺寸的MMin和MMax对邻近像素应用图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]
Figure BDA0001727259330000371
这里,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的从i+Mmin到i+M的整数。
然后,视频解码设备100可以通过使用第二1D滤波器来对分数像素位置(i,j+β)处的像素值和分数像素位置(i',j+β)处的像素值执行滤波。
[式13]
Figure BDA0001727259330000381
这里,gradFilterα可以是用于确定水平方向上的分数像素位置α处的梯度值的梯度滤波器。gradFilterα[i']可以表示应用于(i',j+β)位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定水平方向上的梯度值的梯度滤波器。offset2可以表示用于防止舍入误差的偏移,并且shift2可以表示去缩放比特数。
换句话说,根据式13,视频解码设备100可以通过使用梯度滤波器gradFilterα来对像素位置(i,j+β)处的像素值(Temp[i,j+β])和从像素位置(i,j+β)起定位在垂直方向上的像素值(Temp[i',j+β])执行滤波来确定(i+α,j+β)处的水平方向上的梯度值
Figure BDA0001727259330000382
在上文中,水平方向上的梯度值是通过首先应用插值滤波器并且然后应用梯度滤波器来确定的,但是可替代地,可以通过首先应用梯度滤波器并且然后应用插值滤波器来确定水平方向上的梯度值。在下文中,将描述通过应用梯度滤波器并且然后应用插值滤波器来确定水平方向上的梯度值的实施例。
例如,当参考像素的位置是(x+α,y+β)处的分数像素的位置,其中x和y各自是整数而α和β各自是分数时,可以通过针对在水平方向上的整数像素(x,y)、(x-1,y)、(x+1,y)至(x+MMin,y)和(x+MMax,y)使用第一1D滤波器来根据式14执行滤波,其中MMin和MMmax各自是整数。
[式14]
Figure BDA0001727259330000391
这里,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的从j+Mmin到j+Mmax的整数。
然后,视频解码设备100可以根据式15通过使用第二1D滤波器来对水平方向上的像素位置(i+α,j)处的梯度值和水平方向上的像素位置(i+α,j')处的梯度值执行滤波。
[式15]
Figure BDA0001727259330000392
这里,fracFilterβ可以是用于确定垂直方向上的分数像素位置β处的像素值的插值滤波器。fracFilterβ[j']可以表示应用于(i+β,j')位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定垂直方向上的分数像素位置β处的像素值的插值滤波器。offset4可以表示用于防止舍入误差的偏移,并且shift4可以表示去缩放比特数。
换句话说,根据式15,视频解码设备100可以通过使用梯度滤波器fracFilterβ来对水平方向上的像素位置(i+α,j)处的梯度值(Temp[i+α,j])和从像素位置(i+α,j)起定位在垂直方向上的像素的水平方向上的梯度值(Temp[i+α,j'])执行滤波来确定(i+α,j+β)处的水平方向上的梯度值
Figure BDA0001727259330000401
参考图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]
Figure BDA0001727259330000402
这里,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的从j+Mmin到j+Mmax的整数。
然后,视频解码设备100可以通过使用第二1D滤波器来根据式17对像素位置(i+α,j)处的像素值和像素位置(i+α,j')处的像素值执行滤波。
[式17]
Figure BDA0001727259330000411
这里,gradFilterβ可以是用于确定垂直方向上的分数像素位置β处的梯度值的梯度滤波器。gradFilterβ[j']可以表示应用于(i+α,j')位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定分数像素位置β处的垂直方向上的梯度值的梯度滤波器。offset6可以表示用于防止舍入误差的偏移,并且shift6可以表示去缩放比特数。
换句话说,根据式17,视频解码设备100可以通过使用梯度滤波器gradFilterβ来对像素位置(i+α,j)处的像素值(Temp[i+α,j])和从像素位置(i+α,j)起定位在垂直方向上的像素值(Temp[i+α,j'])执行滤波来确定(i+α,j+β)处的垂直方向上的梯度值
Figure BDA0001727259330000412
在上文中,垂直方向上的梯度值是通过首先应用插值滤波器并且然后应用梯度滤波器来确定的,但是可替代地,可以通过首先应用梯度滤波器并且然后应用插值滤波器来确定垂直方向上的梯度值。在下文中,将描述通过应用梯度滤波器并且然后应用插值滤波器来确定垂直方向上的梯度值的实施例。
例如,当参考像素的位置是(x+α,y+β)处的分数像素的位置,其中x和y各自是整数而α和β各自是分数时,可以通过针对在垂直方向上的整数像素(x,y)、(x,y-1)、(x,y+1)至(x,y+MMin)和(x,y+Mmax)使用第一1D滤波器来根据式18执行滤波,其中,MMin和MMmax各自是整数。
[式18]
Figure BDA0001727259330000421
这里,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的从i+Mmin到i+Mmax的整数。
然后,视频解码设备100可以根据式19通过使用第二1D滤波器来对垂直方向上的像素位置(i,j+β)处的梯度值和垂直方向上的像素位置(i',j+β)处的梯度值执行滤波。
[式19]
Figure BDA0001727259330000422
这里,fracFilterα可以是用于确定水平方向上的分数像素位置α处的像素值的插值滤波器。fracFilterα[i']可以表示应用于(i',j+β)位置处的像素的插值滤波器的系数。换句话说,第二1D滤波器可以是用于确定水平方向上的分数像素位置α处的像素值的插值滤波器。offset8可以表示用于防止舍入误差的偏移,并且shift8可以表示去缩放比特数。
换句话说,根据式19,视频解码设备100可以通过使用梯度滤波器fracFilterα来对垂直方向上的像素位置(i,j+β)处的梯度值(Temp[i,j+β])和从像素位置(i,j+β)起定位在水平方向上的像素的垂直方向上的梯度值(Temp[i',j+β])执行滤波来确定(i+α,j+β)处的垂直方向上的梯度值
Figure BDA0001727259330000423
根据实施例,在视频解码设备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的右部分数像素位置处的滤波器系数。例如,可以通过使用作为基于α=1/2的对称位置的α=1/16处的滤波器系数{8,-32,-13,50,-18,5}来确定α=15/16处的滤波器系数。换句话说,可以通过以相反顺序排列{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的右部分数像素位置处的滤波器系数。例如,可以通过使用作为基于α=1/2的对称位置的α=1/16处的滤波器系数{1,-3,64,4,-2,0}来确定α=15/16处的滤波器系数。换句话说,可以通过以相反顺序排列{1,-3,64,4,-2,0}来将α=15/16处的滤波器系数确定为{0,-2,4,64,-3,1}。
图8是用于描述根据实施例的确定水平方向位移矢量和垂直方向位移矢量的过程的参考图。
参考图8,具有特定尺寸的窗口Ωij 800基于从当前块双向预测的像素P(i,j)具有(2M+1)*(2N+1)的尺寸,其中M和N各自是整数。
当P(i',j')表示在窗口Ωij800中双向预测的当前块的像素时,其中,当i-M≤i'≤i+M并且j-N≤j'≤j+N,(i',j')∈Ωij时,P0(i',j')表示与双向预测的当前块的像素P(i',j')相对应的第一参考画面810的第一参考像素的像素值,P1(i',j')表示与双向预测的当前块的像素P(i',j')相对应的第二参考画面820的第二参考像素的像素值,
Figure BDA0001727259330000451
表示第一参考像素在水平方向上的梯度值,
Figure BDA0001727259330000452
表示第一参考像素在垂直方向上的梯度值,
Figure BDA0001727259330000453
表示第二参考像素在水平方向上的梯度值,并且
Figure BDA0001727259330000454
表示第二参考像素在垂直方向上的梯度值,可以根据式20来确定第一位移对应像素PA'和第二位移对应像素PB'。这里,可以通过使用局部泰勒展开的第一线性项来确定PA'和PB'。
[式20]
Figure BDA0001727259330000461
Figure BDA0001727259330000462
在式20中,可以根据像素P(i,j)的位置来改变x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy,即,依赖于(i,j),可以将位移矢量Vx和Vy表达为Vx(i,j)和Vy(i,j)。
可以根据式21来确定第一位移对应像素PA'与第二位移对应像素PB'之间的差值Δi'j'。
[式21]
Figure BDA0001727259330000463
可以通过像在式22中一样使用差值Δi'j'的平方和Φ(Vx,Vy)来确定使第一位移对应像素PA'与第二位移对应像素PB'之间的差值Δi'j'最小化的x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy。
[式22]
Figure BDA0001727259330000464
换句话说,可以通过使用Φ(Vx,Vy)的局部最大值或局部最小值来确定位移矢量Vx和Vy。Φ(Vx,Vy)表示使用位移矢量Vx和Vy作为参数的函数,并且可以通过根据式23来计算通过针对τVx和τVy对为τVx和τVy排列的Φ(Vx,Vy)进行偏微分而变成0的值来确定局部最大值或局部最小值。在下文中,为了计算的方便,τ0和τ1皆是相同的,即,皆为τ。
[式23]
Figure BDA0001727259330000471
可以通过使用等式:
Figure BDA0001727259330000472
和等式:
Figure BDA0001727259330000473
来获得如同式24的使用Vx(i,j)和Vy(i,j)作为变量的两个线性等式。
[式24]
τVx*s1+τVy(i,j)*s2=s3
τVx*s4+τVy(i,j)*s5=s6
在式24中,可以根据式25来计算s1至s6。
[式25]
Figure BDA0001727259330000474
Figure BDA0001727259330000475
Figure BDA0001727259330000476
Figure BDA0001727259330000477
Figure BDA0001727259330000478
通过求解式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。
然后,当通过使用等式:τVx=s3/s1来排列式24的第二等式时,可以确定等式:τVy=(s6-τVx*S2)/s5。
这里,可以在不改变结果值Vx(i,j)和Vy(i,j)的情况下对梯度值
Figure BDA0001727259330000479
Figure BDA00017272593300004710
进行缩放。然而,前提是不会发生溢出并且不会生成舍入误差。
可以引入归一化参数r和m以便在计算Vx(i,j)和Vy(i,j)的同时防止除以0或非常小值被执行。
为了方便,我们认为Vx(i,j)和Vy(i,j)与图3a中所示的方向相反。例如,基于图3a的Vx(i,j)和Vy(i,j)的方向通过式24导出的Vx(i,j)和Vy(i,j)可以除了符号之外具有与被确定为与图3a的方向相反的Vx(i,j)和Vy(i,j)相同的大小。
可以根据式26来确定第一位移对应像素PA'和第二位移对应像素PB'。这里,可以通过使用局部泰勒展开的第一线性项来确定第一位移对应像素PA'和第二位移对应像素PB'。
[式26]
Figure BDA0001727259330000481
Figure BDA0001727259330000482
可以根据式27来确定第一位移对应像素PA'与第二位移对应像素PB'之间的差值Δi'j'。
[式27]
Figure BDA0001727259330000483
Figure BDA0001727259330000484
可以通过像在式28中一样使用差值Δ的平方和Φ(Vx,Vy)来确定使第一位移对应像素PA'与第二位移对应像素PB'之间的差值Δi'j'最小化的x轴方向上的位移矢量Vx和y轴方向上的位移矢量Vy。换句话说,当Φ(Vx,Vy)像在式29中一样为最小值时的位移矢量Vx和Vy可以被确定,并且可以通过使用Φ(Vx,Vy)的局部最大值或局部最小值来确定。
[式28]
Figure BDA0001727259330000491
[式29]
(Vx,Vy)=argminvx,vyΦ(Vx,Vy)
Φ(Vx,Vy)是使用位移矢量Vx和Vy作为参数的函数,并且可以通过像在式30中一样通过针对位移矢量Vx和Vy对Φ(Vx,Vy)进行偏微分而计算变成0的值来确定局部最大值或局部最小值。
[式30]
Figure BDA0001727259330000492
换句话说,可以确定使Φ(Vx,Vy)最小化的位移矢量Vx和Vy。为了解决优化问题,可以首先在垂直方向上然后在水平方向上执行最小化。根据最小化,可以根据式31来确定位移矢量Vx。
[式31]
Figure BDA0001727259330000493
这里,函数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]
Figure BDA0001727259330000494
这里,函数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]
Figure BDA0001727259330000501
Figure BDA0001727259330000502
Figure BDA0001727259330000503
Figure BDA0001727259330000504
Figure BDA0001727259330000505
如上所述,r和m可以是被引入来避免除法结果值为0或更小并且基于输入视频的内部比特深度d根据式34来确定的归一化参数。
[式34]
r=500*4d-8
m=700*4d-8
位移矢量Vx和Vy可以具有±thBIO的上限和下限。因为可能存在按照像素单元的运动补偿可能由于噪声或不规则运动而不可信的情况,所以位移矢量Vx和Vy可能被特定阈值thBIO修剪。可以基于所有参考画面的方向是否相同来确定thBIO。例如,当所有参考画面的方向相同时,可以将thBIO确定为12*2^(14-d)。当所有参考画面的方向不同时,可以将thBIO确定为12*2^(13-d)。
图9是用于描述根据实施例的在执行滤波之后加上偏移值并且通过执行逆缩放来确定水平或垂直方向上的梯度值的过程的图。
参考图9,视频解码设备100可以通过使用第一1D滤波器和第二1D滤波器来对特定方向上的分量是在整数位置处的像素执行滤波,从而确定水平或垂直方向上的梯度值。然而,通过使用第一1D滤波器或第二1D滤波器来对特定方向上的分量是在整数位置处的像素执行滤波所获得的值可以在特定范围外。这种现象被称为溢出现象。可以将1D滤波器的系数确定为用于整数运算而不是不准确且复杂的分数运算的整数。1D滤波器的系数可以被缩放以被确定为整数。当通过使用1D滤波器的经缩放的系数来执行滤波时,能够执行整数运算,但是与当通过使用1D滤波器的未缩放系数来执行滤波时相比,执行了滤波的值的大小可能是高的并且可能发生溢出现象。因此,为了防止溢出现象,可以在通过使用1D滤波器来执行滤波之后执行去缩放。这里,去缩放可以包括向右移位去缩放比特数。在使计算的准确度最大化的同时,可以考虑用于滤波操作的寄存器的最大比特数和存储滤波结果的暂时缓存器的最大比特数来确定去缩放比特数。特别地,可以基于内部比特深度、插值滤波器的缩放比特数和用于梯度滤波器的缩放比特数来确定去缩放比特数。
在下文中,将描述在通过首先通过使用垂直方向上的插值滤波器来对整数位置处的像素执行滤波以便确定水平方向上的梯度值而生成垂直方向上的插值滤波值并且然后通过使用水平方向上的梯度滤波器来对垂直方向上的插值滤波值执行滤波的过程期间去缩放的执行。
根据以上式12,视频解码设备100可以首先通过使用垂直方向上的插值滤波器来对整数位置处的像素执行滤波以便确定水平方向上的梯度值。这里,shift1可以是b-8。这里,b可以表示输入图像的内部比特深度。在下文中,将参考表1描述当基于shift1实际地执行去缩放时的寄存器的比特深度(Reg BitDepth)和暂时缓存器的比特深度(TempBitDepth)。
[表1]
Figure BDA0001727259330000511
这里,可以根据式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。
函数Celing(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和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(即,去缩放比特数的总和)应当与针对滤波器上缩放的比特数之和(p+q)相同,使得最终滤波结果值在当滤波器系数被上缩放时的情况下并且在当滤波器系数未被上缩放时的情况下是相同的。
在下文中,将参考表2描述当基于shift2实际地执行去缩放时的寄存器的比特深度(Reg BitDepth)和暂时缓存器的比特深度(Temp BitDepth)。
[表2]
Figure BDA0001727259330000531
这里,可以根据式36来确定表2中的变量的值。
[式36]
RegMin=TempMin*FilterSumPos+TempMax*FilterSumNeg
RegMax=TempMax*FilterSumPos+TempMin*FilterSumNeg
RegBitDepth=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比特暂时缓存器来存储结果数据时,暂时缓冲器的比特深度(Temp BitDepth)小于16,并且因此针对所有输入图像的内部比特深度不会发生溢出现象。同时,参考表2,当输入图像的内部比特深度是12和16并且通过使用16比特暂时缓存器来存储结果数据时,暂时缓存器的比特深度(Temp BitDepth)高于16,并且因此可能发生溢出现象。
当shift2是固定数时,不使用经缩放的滤波器系数,并且执行滤波的结果值和执行滤波然后去缩放的结果值可以是不同的。在这种情况下,对于本领域的普通技术人员而言将显然的是,需要附加地执行去缩放。
在上文中,已经描述了在通过首先通过使用垂直方向上的插值滤波器来对整数位置处的像素执行滤波以便确定水平方向上的梯度值而生成垂直方向上的插值滤波值并且然后通过使用水平方向上的梯度滤波器来对垂直方向上的插值滤波值执行滤波的过程期间去缩放的执行,但是对于本领域的普通技术人员而言将显然的是,可以以当经由各种1D滤波器的组合对特定方向上的分量是整数的像素执行滤波以便确定水平和垂直方向上的梯度值时的类似方式执行去缩放。
在下文中,将参考图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可以区分对位于中心处的编码单元1130b或1180b执行的解码过程,其中,编码单元1130b或1180b来自随着从其它编码单元1130a和1130c或1180a和1180c分割当前编码单元1100或1150而生成的三个编码单元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分割成至少一个第三编码单元1210a、1220b、1220c或1220d,或者可以基于块形状信息和分割形状信息中的至少一种不分割第二编码单元1210。视频解码设备100可以获得块形状信息和分割形状信息中的至少一种,并且通过基于所获得的块形状信息和分割形状信息中的至少一种分割第一编码单元1200来获得具有各种形状的多个第二编码单元(例如,第二编码单元1210),其中可以根据基于块形状信息和分割形状信息中的至少一种分割第一编码单元1200的方法来分割第二编码单元1210。根据实施例,当基于关于第一编码单元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的此类限制仅仅是示例,而不应当被解释为受那些示例限制,而是应当被解释为包括各种限制,只要位于中心处的第三编码单元1220c被与其它第三编码单元1220b和1220d不同地解码即可。
根据实施例,视频解码设备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至1320b的位置,来确定位于中心处的编码单元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,并且将高度确定为yb-ya。根据实施例,视频解码设备100可以将中心编码单元1320b的宽度确定为xc-xb,并且将高度确定为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的中心处的采样点1340获得当前编码单元1300的块形状信息和分割形状信息中的至少一种,并且当当前编码单元1300基于块形状信息和分割形状信息中的至少一种被分割成多个编码单元1320a至1320c时,可以将包括采样点1340的编码单元1320b确定为位于中心处的编码单元。然而,用于确定位于中心处的编码单元的信息不限于块形状信息和分割形状信息中的至少一种,并且可以在确定位于中心处的编码单元时使用各种类型的信息。
根据实施例,可以从包括在要确定的编码单元中的特定采样点获得用于识别特定位置处的编码单元的特定信息。参考图13,视频解码设备100可以使用从当前编码单元1300中的特定位置处的采样点(例如,位于当前编码单元1300的中心处的采样点)获得的块形状信息和分割形状信息中的至少一种,以便从在当前编码单元1300被分割时确定的多个编码单元1320a至1320c当中确定特定位置处的编码单元(例如,来自多个编码单元当中的位于中心处的编码单元)。换句话说,视频解码设备100可以考虑当前编码单元1300的块形状来确定特定位置处的采样点,并且从在当前编码单元1300被分割时确定的多个编码单元1320a至1320c当中确定包括可获得特定信息(例如,块形状信息和分割形状信息中的至少一种)的采样点的编码单元1320b并且对其设置特定限制。参考图13,根据实施例,视频解码设备100可以将位于当前编码单元1300的中心处的采样点1340(所述采样点1340位于当前编码单元1300的中心处)确定为可获得特定信息的采样点,并且在解码过程期间对包括这种采样点1340的编码单元1320b设置特定限制。然而,可获得特定信息的采样点的位置不限于以上所述,并且可以是包括在被确定为设置限制的编码单元1320b中的任意位置处的采样点。
根据实施例,可以根据当前编码单元1300的形状来确定可获得特定信息的采样点的位置。根据实施例,块形状信息可以确定当前编码的形状单位是正方形还是非正方形,并且根据形状来确定可获得特定信息的采样点的位置。例如,视频解码设备100可以将位于这样的边界上的采样点确定为可获得特定信息的采样点,其中,所述边界是通过使用关于当前编码单元的宽度的信息和关于当前编码单元的高度的信息中的至少一种来将当前编码单元的宽度和高度中的至少一个分割成两半的边界。作为另一示例,当与当前编码单元有关的块形状信息指示非正方形形状时,视频解码设备100可以将与将当前编码单元的长边分割成两半的边界相邻的采样点中的一个确定为可获得特定信息的采样点。
根据实施例,当当前编码单元被分割成多个编码单元时,视频解码设备100可以使用块形状信息和分割形状信息中的至少一种以便从所述多个编码单元当中确定特定位置处的编码单元。根据实施例,视频解码设备100可以从包括在编码单元中的特定位置处的采样点获得块形状信息和分割形状信息中的至少一种,并且可以通过使用从包括在多个编码单元中的每一个中的特定位置处的采样点获得的分割形状信息和块形状信息中的至少一种来分割随着当前编码单元被分割而生成的多个编码单元。换句话说,可以通过使用从包括在每个编码单元中的特定位置处的采样点获得的块形状信息和分割形状信息中的至少一种来递归地分割编码单元。因为已经在上面参考图12描述了递归地分割编码单元的过程,所以不再提供其细节。
根据实施例,视频解码设备100可以通过分割当前编码单元来确定至少一个编码单元,并且确定根据特定块(例如,当前编码单元)来对该至少一个编码单元进行解码的顺序。
图14例示了根据实施例的当在视频解码设备100分割当前编码单元时确定多个编码单元时处理多个编码单元的顺序。
根据实施例,视频解码设备100可以根据块形状信息和分割形状信息通过在垂直方向上分割第一编码单元1400来确定第二编码单元1410a和1410b,通过在水平方向上分割第一编码单元1400来确定第二编码单元1430a和1430b,或者通过在水平和垂直方向上分割第一编码单元140来确定第二编码单元1450a至1450d。
参考图14,视频解码设备100可以将通过在垂直方向上分割第一编码单元1400而确定的第二编码单元1410a和1410b确定为在水平方向1410c上被处理。视频解码设备100可以将通过在水平方向上分割第一编码单元1400而确定的第二编码单元1430a和1430b确定为在垂直方向1430c上被处理。视频解码设备100可以根据位于一行中的编码单元被处理并且然后位于下一行中的编码单元被处理的特定顺序(例如,光栅扫描顺序或z扫描顺序1450e)来第二编码单元1450a至1450d,其中,第二编码单元1450a至1450d是确定通过在垂直和水平方向上分割第一编码单元1400而确定的。
根据实施例,视频解码设备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时确定的,所以可以在垂直方向1420c上处理第三编码单元1420a和1420b。另外,因为处理在左部的第二编码单元1410a和在右部的第二编码单元1410b的顺序对应于水平方向1410c,所以在包括在在左部的第二编码单元1410a中的第三编码单元1420a和1420b在垂直方向1420c上被处理之后,可以处理在右部的第二编码单元1410b。以上描述是根据被分割之前的编码单元来处理编码单元的顺序的相关过程,但是此类过程不限于以上实施例,并且可以使用以特定顺序独立地处理被分割成各种形状的编码单元的任何方法。
图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满足条件,但是可以确定的是第三编码单元1520c至1520e不满足条件,因为当在右部的第二编码单元1510b被分割成三个编码单元时确定的第三编码单元1520c至1520e的边界未将在右部的第二编码单元1510b的宽度或高度分割成两半。视频解码设备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可以设置不像在左部的第二编码单元1710a一样在水平方向上分割在右部的第二编码单元1710b的限制。当第三编码单元1714a和1714b当在右部的第二编码单元1710b在相同方向即水平方向上被分割时被确定时,第三编码单元1712a、1712b、1714a和1714b是当在左部的第二编码单元1710a和在右部的第二编码单元1710b各自在水平方向上被独立地分割时确定的。然而,这是与基于块形状信息和分割形状信息中的至少一种将第一编码单元1700分割成具有正方形形状的四个第二编码单元1730a至1730d相同的结果,并且因此在图像解码方面可能是效率低的。
根据实施例,视频解码设备100可以通过在垂直方向上分割当在水平方向上分割第一编码单元1700时确定的具有非正方形形状的第二编码单元1720a或1720b来确定第三编码单元1722a和1722b或1724a和1724b。然而,当在垂直方向上分割第二编码单元中的一个(例如,在顶部的第二编码单元1720a)时,视频解码设备100可以设置由于上述原因而不像在上部的第二编码单元1720a那样在垂直方向上分割另一第二编码单元(例如,在底部的第二编码单元1720b)的限制。
图18例示了根据实施例的当分割形状信息不能指示编码单元被分割成四个正方形形状时视频解码设备100分割具有正方形形状的编码单元的过程。
根据实施例,视频解码设备100可以通过基于块形状信息和分割形状信息中的至少一种分割第一编码单元1800来确定第二编码单元1810a和1810b或1820a和1820b。分割形状信息可以包括关于编码单元可以被分割成的各种形状的信息,但是这种关于各种形状的信息可以不包括用于将编码单元分割成四个正方形编码单元的信息。根据这种分割形状信息,视频解码设备100不能将具有正方形形状的第一编码单元1800分割成具有正方形形状的四个第二编码单元1830至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。在这种情况下,可以以与当第一编码单元1800被分成具有正方形的四个第二编码单元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可以通过在水平方向上分割随着在垂直方向上分割第一编码单元1900而生成的第二编码单元1910a和1910b中的每一个来确定第三编码单元1916a至1916d,或者通过在水平方向上分割随着在水平方向上分割第一编码单元1900而生成的第二编码单元1920a和1920b来确定第三编码单元1926a至1926d。已经在上面参考图17描述了分割第二编码单元1910a和1910b或1920a和1920b的过程,并且因此不再提供其细节。
根据实施例,视频解码设备100可以根据特定顺序来处理编码单元。已经在上面参考图14描述了关于根据特定顺序来处理编码单元的特征,并且因此不再提供其细节。参考图19,视频解码设备100可以通过分割具有正方形形状的第一编码单元1900来确定具有正方形形状的四个第三编码单元1916a至1916d或1926a至1926d。根据实施例,视频解码设备100可以基于第一编码单元1900如何被分割确定处理第三编码单元1916a至1916d或1926a至1926d的顺序。
根据实施例,视频解码设备100可以通过在水平方向上分割随着在垂直方向上分割第一编码单元1900而生成的第二编码单元1910a和1910b来确定第三编码单元1916a至1916d,并且根据首先在垂直方向上处理包括在在左部的第二编码单元1910a中的第三编码单元1916a和1916b并且然后在垂直方向上处理包括在在右部的第二编码单元1910b中的第三编码单元1916c和1916d的顺序1917来处理第三编码单元1916a至1916d。
根据实施例,视频解码设备100可以通过在垂直方向上分割随着在水平方向上分割第一编码单元1900而生成的第二编码单元1920a和1920b来确定第三编码单元1926a至1926d,并且根据首先在水平方向上处理包括在在顶部的第二编码单元1920a中的第三编码单元1926a和1926b并且然后在水平方向上处理包括在在底部的第二编码单元1920b中的第三编码单元1926c和1926d的顺序1927来处理第三编码单元1926a至1926d。
参考图19,当第二编码单元1910a和1910b或1920a和1920b均被分割时,可以确定具有正方形形状的第三编码单元1916a至1916d或1926a至1926d。当在垂直方向上分割第一编码单元1900时确定的第二编码单元1910a和1910b以及当在水平方向上分割第一编码单元1900时确定的第二编码单元1920a和1920b是按照不同形状但是根据此后确定的第三编码单元1916a至1916d和1926a至1926d来分割时,第一编码单元1900是按照具有相同形状的编码单元来分割的。因此,即使当在基于块形状信息和分割形状信息中的至少一种通过不同的过程来递归地分割编码单元时因此确定了具有相同形状的编码单元时,视频解码设备100也可以以不同顺序处理按照相同形状确定的多个编码单元。
图20例示了根据实施例的当在编码单元被递归地分割时确定多个编码单元时的随着编码单元的形状和尺寸被改变而确定编码单元的深度的过程。
根据实施例,视频解码设备100可以根据特定标准来确定编码单元的深度。例如,特定标准可以是编码单元的长边的长度。当当前编码单元的长边的长度被分割为比编码单元长边的在被分割之前的长度短2n倍时,可以确定的是当前编码单元的深度增加了编码单元在被分割之前的深度的n倍,其中n>0。在下文中,具有增加深度的编码单元被称为较低深度的编码单元。
参考图20,视频解码设备100可以通过根据实施例基于指示正方形形状的块形状信息(例如,块形状信息可以指示“0:正方形”)分割具有正方形形状的第一编码单元2000来确定较低深度的第二编码单元2002和第三编码单元2004。当具有正方形形状的第一编码单元2000的尺寸是2N×2N时,通过按1/2^1分割第一编码单元2000的宽度和高度而确定的第二编码单元2002可以具有N×N的尺寸。另外,通过按1/2分割第二编码单元2002的宽度和高度而确定的第三编码单元2004可以具有N/2×N/2的尺寸。在这种情况下,第三编码单元2004的宽度和高度对应于第一编码单元2000的1/2^2。当第一编码单元2000的深度是D时,具有第一编码单元2000的宽度和高度的1/2^2的第二编码单元2002的深度可以是D+1,并且具有第一编码单元2000的宽度和高度1/2^2的第三编码单元2004的深度可以是D+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可以通过在水平方向上分割第二编码单元2012来确定尺寸为N/2×N/2的第三编码单元2004,或者通过在垂直和水平方向上分割第二编码单元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时,作为第一编码单元2010或2020的宽度和高度的1/2的第二编码单元2012或2022的深度可以是D+1,并且作为第一编码单元2010或2020的宽度和高度的1/2^2的第三编码单元2014或2024的深度可以是D+2。
图21例示了根据实施例的用于区分可以根据编码单元的形状和尺寸来确定的深度和编码单元的部分索引(PID)。
根据实施例,视频解码设备100可以通过分割具有正方形形状的第一编码单元2100来确定具有各种形状的第二编码单元。参考图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至2114b的深度可以是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的增加范围不同时,视频解码设备100可以确定当前编码单元被分割成包括具有与其它编码单元不同的尺寸的编码单元的多个编码单元。根据实施例,当分割形状信息指示分割成奇数个编码单元时,视频解码设备100可以将当前编码单元分割成多个编码单元,其中特定位置处的编码单元(例如,中心编码单元)具有与其它编码单元不同的尺寸。在这种情况下,视频解码设备100可以通过使用编码单元的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的水平尺寸确定为是参考编码单位的水平尺寸的四倍,并且将其垂直尺寸确定为是参考编码单元的垂直尺寸的四倍。视频解码设备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 (14)

1.一种视频解码方法,所述视频解码方法包括:
从比特流获得有关当前画面中的当前块的运动预测模式信息;
当所获得的运动预测模式信息指示双向运动预测模式时,从所述比特流获得关于第一运动矢量的信息和关于第二运动矢量的信息,所述第一运动矢量指示所述当前块在第一参考画面中的第一参考块,所述第二运动矢量指示所述当前块在第二参考画面中的第二参考块;
通过对由所述第一运动矢量指示的第一参考画面中像素位置的第一邻近区域的像素应用插值滤波器来生成第一像素的像素值,通过对由所述第二运动矢量指示的第二参考画面中像素位置的第二邻近区域应用插值滤波器来生成第二像素的像素值,其中,所述第一像素来自由所述第一参考块的像素当中,所述第二像素来自由所述第二参考块的像素当中;
通过利用在所述第一像素的第一邻近区域中包括的像素和在所述第二像素的第二邻近区域中包括的像素来生成所述第一像素的梯度值和所述第二像素的梯度值;
确定水平方向和垂直方向上的位移矢量;以及
通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值、所述第二像素的梯度值、以及所述位移矢量来生成所述当前块的预测像素值,
其中,当用于确定所述位移矢量中的至少一者的中间值大于预定值时,所述位移矢量中的至少一者是基于阈值被修剪的,并且
其中,当用于确定所述位移矢量中的至少一者的中间值小于或等于所述预定值时,所述位移矢量中的至少一者是0,
其中,所述双向运动预测模式是通过使用在当前画面之前解码的两个画面来执行帧间预测,而不管被显示的顺序如何的模式。
2.根据权利要求1所述的视频解码方法,其中,
所述当前块的预测像素值是通过进一步使用所述当前画面与所述第一参考画面之间的第一时间距离以及所述当前画面与所述第二参考画面之间的第二时间距离而生成的。
3.根据权利要求1所述的视频解码方法,其中,所述第一运动矢量是在分数像素位置(i+α, j+β)处指示所述第一像素的矢量,其中,i和j都是整数而α和β都是分数,并且
所述生成所述第一像素的梯度值和所述第二像素的梯度值包括:
通过对像素位置(i, j)处的像素值和从所述像素位置(i, j)处的像素起定位在垂直方向上的整数像素的像素值应用梯度滤波器来生成像素位置(i, j+β)处的梯度值;以及
通过对所述像素位置(i, j+β)处的所述梯度值和水平分量的位置是整数像素位置的像素的梯度值应用插值滤波器来生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述垂直方向上的梯度值,其中,所述水平分量的位置是整数像素位置的像素来自从所述像素位置(i, j+β)起定位在所述水平方向上的像素当中。
4.根据权利要求1所述的视频解码方法,其中,所述第一运动矢量是指示在分数像素位置(i+α, j+β)处的所述第一像素的矢量,其中,i和j都是整数而α和β都是分数,并且
所述生成所述第一像素的梯度值和所述第二像素的梯度值包括:
通过对像素位置(i, j)处的像素值和从所述像素位置(i, j)处的像素起定位在垂直方向上的整数像素的像素值应用插值滤波器来生成像素位置(i, j+β)处的像素值;以及
通过对所述像素位置(i, j+β)处的所述像素值和水平分量的位置是整数像素位置的像素的像素值应用梯度滤波器来生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述水平方向上的梯度值,其中,所述水平分量的位置是整数像素位置的像素来自从所述像素位置(i, j+β)起定位在所述水平方向上的像素当中。
5.根据权利要求3所述的视频解码方法,其中,所述生成像素位置(i, j+β)处的梯度值包括通过针对所述像素位置(i, j)处的所述像素和从所述像素位置(i, j)处的所述像素起定位在所述垂直方向上的M-1个邻近整数像素应用M抽头梯度滤波器来生成所述像素位置(i, j+β)处的所述梯度值,其中,M是整数,并且
所述生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述垂直方向上的梯度值包括通过针对所述像素位置(i, j+β)处的所述梯度值和水平分量的位置是整数像素位置的N-1个像素的梯度值应用N抽头插值滤波器来生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述垂直方向上的梯度值,其中,N是整数,其中,所述水平分量的位置是整数像素位置的N-1个像素来自从所述像素位置(i, j+β)起定位在所述水平方向上的像素当中。
6.根据权利要求4所述的视频解码方法,其中,所述生成所述像素位置(i, j+β)处的所述像素值包括通过针对所述像素位置(i, j+β)处的所述像素值和预定方向上的分量是整数的N-1个邻近像素的像素值应用N抽头插值滤波器来生成所述像素位置(i, j+β)处的所述像素值,所述N-1个邻近像素被从所述像素位置(i, j+β)起定位在所述垂直方向上,其中,N是整数,并且
所述生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述水平方向上的梯度值包括通过针对所述像素位置(i, j+β)处的所述像素值和水平分量的位置是整数像素位置的M-1个像素的像素值应用M抽头梯度滤波器来生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述水平方向上的梯度值,其中,M是整数,其中,所述水平分量的位置是整数像素位置的M-1个像素来自从所述像素位置(i, j+β)起定位在所述水平方向上的所述像素当中。
7.根据权利要求5所述的视频解码方法,其中,所述N抽头插值滤波器是用于水平方向上的分数像素位置处的像素值的基于离散余弦变换的插值滤波器,并且
N是6。
8.根据权利要求5所述的视频解码方法,其中,所述M抽头梯度滤波器是用于垂直方向上的分数像素位置处的梯度值的插值滤波器,其中滤波器系数是通过使用在所述垂直方向上的基于离散余弦变换的插值滤波器来预先确定的,并且
M是6。
9.根据权利要求7所述的视频解码方法,其中,所述通过应用所述M抽头梯度滤波器来生成所述像素位置(i, j+β)处的所述梯度值包括通过基于去缩放比特数对应用了所述M抽头梯度滤波器的值执行去缩放来生成所述像素位置(i, j+β)处的所述梯度值,
其中,所述去缩放比特数基于采样点的比特深度,并且
所述去缩放包括向右移位所述去缩放比特数。
10.根据权利要求7所述的视频解码方法,其中,当所述M抽头梯度滤波器的滤波器系数被按2^x缩放并且所述N抽头插值滤波器的滤波器系数被按2^y缩放时,其中,x和y各自是整数,
所述通过应用所述N抽头插值滤波器来生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述垂直方向上的梯度值包括通过基于去缩放比特数对应用了所述N抽头插值滤波器的值执行去缩放来生成所述分数像素位置(i+α, j+β)处的所述第一像素在所述垂直方向上的梯度值,
所述去缩放比特数基于采样点的比特深度、x和y,并且
所述去缩放包括向右移位所述去缩放比特数。
11.一种视频编码方法,所述视频编码方法包括:
确定与当前画面中的当前块相对应的第一参考画面的第一参考块和与所述当前块相对应的第二参考画面的第二参考块,并且确定指示所述第一参考块的第一运动矢量和指示所述第二参考块的第二运动矢量;
通过对由所述第一运动矢量指示的第一参考画面中像素位置的的第一邻近区域的像素应用应用插值滤波器来生成第一像素的像素值,通过对由所述第二运动矢量指示的第二参考画面中像素位置的第二邻近区域的像素应用应用插值滤波器来生成第二像素的像素值,其中,所述第一像素来自由所述第一参考块的像素当中,所述第二像素来自由所述第二参考块的像素当中;
通过利用在所述第一像素的第一邻近区域中包括的像素和在所述第二像素的第二邻近区域中包括的像素来生成所述第一像素的梯度值和所述第二像素的梯度值;
确定水平方向和垂直方向上的位移矢量;以及
通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值、所述第二像素的梯度值、以及所述位移矢量来生成所述当前块的预测像素值;以及
生成包括关于所述第一运动矢量和所述第二运动矢量的信息以及指示所述当前块的运动预测模式是双向运动预测模式的运动预测模式信息的比特流,
其中,当用于确定所述位移矢量中的至少一者的中间值大于预定值时,所述位移矢量中的至少一者是基于阈值被修剪的,并且
其中,当用于确定所述位移矢量中的至少一者的中间值小于或等于所述预定值时,所述位移矢量中的至少一者是0,
其中,所述双向运动预测模式是通过使用在当前画面之前编码的两个画面来执行帧间预测,而不管被显示的顺序如何的模式。
12.一种视频解码设备,所述视频解码设备包括:
获得器,所述获得器被配置为从比特流获得有关当前画面中的当前块的运动预测模式信息,并且当所获得的运动预测模式信息指示双向运动预测模式时,从所述比特流获得关于第一运动矢量的信息和关于第二运动矢量的信息,所述第一运动矢量指示所述当前块在第一参考画面中的第一参考块,所述第二运动矢量指示所述当前块在第二参考画面中的第二参考块;以及
帧间预测器,所述帧间预测器被配置为:通过对由所述第一运动矢量指示的第一参考画面中像素位置的第一邻近区域的像素应用插值滤波器来生成第一像素的像素值,通过对由所述第二运动矢量指示的第二参考画面中像素位置的第二邻近区域应用插值滤波器来生成第二像素的像素值;通过利用在所述第一像素的所述第一邻近区域中包括的像素和在所述第二像素的所述第二邻近区域中包括的像素来生成所述第一像素的梯度值和所述第二像素的梯度值;确定水平方向和垂直方向上的位移矢量;并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值、所述第二像素的梯度值、以及所述位移矢量来生成所述当前块的预测像素值,其中,所述第一像素来自所述第一参考块的像素当中,所述第二像素来自所述第二参考块的像素当中,
其中,当用于确定所述位移矢量中的至少一者的中间值大于预定值时,所述位移矢量中的至少一者是基于阈值被修剪的,并且
其中,当用于确定所述位移矢量中的至少一者的中间值小于或等于所述预定值时,所述位移矢量中的至少一者是0,
其中,所述双向运动预测模式是通过使用在当前画面之前解码的两个画面来执行帧间预测,而不管被显示的顺序如何的模式。
13.一种视频编码设备,所述视频编码设备包括:
帧间预测器,所述帧间预测器被配置为确定与当前画面中的当前块相对应的第一参考画面的第一参考块和与所述当前块相对应的第二参考画面的第二参考块,确定指示所述第一参考块的第一运动矢量和指示所述第二参考块的第二运动矢量;通过对由所述第一运动矢量指示的第一参考画面中像素位置的的第一邻近区域的像素应用应用插值滤波器来生成第一像素的像素值,通过对由所述第二运动矢量指示的第二参考画面中像素位置的第二邻近区域的像素应用应用插值滤波器来生成第二像素的像素值,其中,所述第一像素来自由所述第一参考块的像素当中,所述第二像素来自由所述第二参考块的像素当中;通过利用在所述第一像素的第一邻近区域中包括的像素和在所述第二像素的第二邻近区域中包括的像素来生成所述第一像素的梯度值和所述第二像素的梯度值;确定水平方向和垂直方向上的位移矢量;并且通过使用所述第一像素的像素值、所述第二像素的像素值、所述第一像素的梯度值、所述第二像素的梯度值、以及所述位移矢量来生成所述当前块的预测像素值;以及
比特流生成器,所述比特流生成器被配置为生成包括关于所述第一运动矢量和所述第二运动矢量的信息以及指示所述当前块的运动预测模式是双向运动预测模式的运动预测模式信息的比特流,
其中,当用于确定所述位移矢量中的至少一者的中间值大于预定值时,所述位移矢量中的至少一者是基于阈值被修剪的,并且
其中,当用于确定所述位移矢量中的至少一者的中间值小于或等于所述预定值时,所述位移矢量中的至少一者是0,
其中,所述双向运动预测模式是通过使用在当前画面之前编码的两个画面来执行帧间预测,而不管被显示的顺序如何的模式。
14.一种记录有程序的非暂时性计算机可读记录介质,所述程序当由计算机执行时,执行根据权利要求1所述的视频解码方法。
CN201680079512.9A 2015-11-11 2016-11-11 用于对视频进行解码的方法和设备以及用于对视频进行编码的方法和设备 Active CN108496367B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202210728048.9A CN115278229A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210728052.5A CN115278230A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210724630.8A CN115278228A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法
CN202210728053.XA CN115278231A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210738017.1A CN115278232A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562253816P 2015-11-11 2015-11-11
US62/253,816 2015-11-11
PCT/KR2016/013043 WO2017082698A1 (ko) 2015-11-11 2016-11-11 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치

Related Child Applications (5)

Application Number Title Priority Date Filing Date
CN202210728053.XA Division CN115278231A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210738017.1A Division CN115278232A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法
CN202210728052.5A Division CN115278230A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210724630.8A Division CN115278228A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法
CN202210728048.9A Division CN115278229A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备

Publications (2)

Publication Number Publication Date
CN108496367A CN108496367A (zh) 2018-09-04
CN108496367B true CN108496367B (zh) 2022-07-12

Family

ID=58695893

Family Applications (6)

Application Number Title Priority Date Filing Date
CN202210728052.5A Pending CN115278230A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN201680079512.9A Active CN108496367B (zh) 2015-11-11 2016-11-11 用于对视频进行解码的方法和设备以及用于对视频进行编码的方法和设备
CN202210728048.9A Pending CN115278229A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210728053.XA Pending CN115278231A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210738017.1A Pending CN115278232A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法
CN202210724630.8A Pending CN115278228A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210728052.5A Pending CN115278230A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备

Family Applications After (4)

Application Number Title Priority Date Filing Date
CN202210728048.9A Pending CN115278229A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210728053.XA Pending CN115278231A (zh) 2015-11-11 2016-11-11 对视频进行解码的设备和对视频进行编码的设备
CN202210738017.1A Pending CN115278232A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法
CN202210724630.8A Pending CN115278228A (zh) 2015-11-11 2016-11-11 对视频进行解码的方法和对视频进行编码的方法

Country Status (6)

Country Link
US (2) US11153601B2 (zh)
EP (1) EP3364655A4 (zh)
JP (1) JP2018533871A (zh)
KR (4) KR102437109B1 (zh)
CN (6) CN115278230A (zh)
WO (1) WO2017082698A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10728572B2 (en) * 2016-09-11 2020-07-28 Lg Electronics Inc. Method and apparatus for processing video signal by using improved optical flow motion vector
WO2018113658A1 (en) * 2016-12-22 2018-06-28 Mediatek Inc. Method and apparatus of motion refinement for video coding
JP6860676B2 (ja) * 2017-01-04 2021-04-21 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号方法及びその装置、並びにビデオ符号化方法及びその装置
US11284076B2 (en) * 2017-03-22 2022-03-22 Electronics And Telecommunications Research Institute Block form-based prediction method and device
WO2018199050A1 (ja) * 2017-04-27 2018-11-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN116761001A (zh) * 2017-08-29 2023-09-15 Sk电信有限公司 视频编码装置、视频解码装置和存储比特流的方法
EP3454556A1 (en) * 2017-09-08 2019-03-13 Thomson Licensing Method and apparatus for video encoding and decoding using pattern-based block filtering
WO2019066523A1 (ko) * 2017-09-29 2019-04-04 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102595689B1 (ko) * 2017-09-29 2023-10-30 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN109756737B (zh) * 2017-11-07 2020-11-17 华为技术有限公司 图像预测方法和装置
CN117376586A (zh) 2018-09-07 2024-01-09 华为技术有限公司 用于视频译码中帧内预测和帧间预测的插值滤波方法和装置
US11653016B2 (en) * 2018-12-12 2023-05-16 Sharp Kabushiki Kaisha Prediction image generation device, moving image decoding device, moving image encoding device, and prediction image generation method
US11044473B2 (en) * 2018-12-21 2021-06-22 Qualcomm Incorporated Adaptive loop filtering classification in video coding
CN117294842A (zh) * 2019-01-09 2023-12-26 北京达佳互联信息技术有限公司 视频编解码方法、设备和非暂时性计算机可读存储介质
CN113396592B (zh) 2019-02-02 2023-11-14 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区管理
CN113383541B (zh) 2019-02-02 2024-02-20 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的缓冲区访问方法
CN117395439A (zh) * 2019-03-01 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的基于方向的预测
KR20210125506A (ko) 2019-03-04 2021-10-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 복사를 위한 버퍼 관리
CN112954326B (zh) 2019-03-11 2022-09-30 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
WO2020200159A1 (en) * 2019-03-29 2020-10-08 Beijing Bytedance Network Technology Co., Ltd. Interactions between adaptive loop filtering and other coding tools
US11962796B2 (en) 2019-04-01 2024-04-16 Qualcomm Incorporated Gradient-based prediction refinement for video coding
CN114885177B (zh) * 2019-04-25 2023-06-27 北京达佳互联信息技术有限公司 对视频数据编码的利用光流的预测细化方法、设备和介质
JP7431253B2 (ja) * 2019-05-16 2024-02-14 北京字節跳動網絡技術有限公司 動き情報精緻化のサブ領域に基づいた決定
KR20230170800A (ko) 2019-07-06 2023-12-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 가상 예측 버퍼
KR102635519B1 (ko) 2019-07-10 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 인트라 블록 카피를 위한 샘플 식별
CN114097221B (zh) 2019-07-11 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的比特流一致性约束
ES2967903T3 (es) * 2019-10-03 2024-05-06 Huawei Tech Co Ltd Codificador, decodificador y métodos correspondientes utilizando filtrado por interpolación
KR20220003812A (ko) * 2020-07-02 2022-01-11 삼성전자주식회사 호 채널의 상태에 기반하여 필터를 사용하여 전처리된 컨텐츠를 전송하는 전자 장치 및 전자 장치의 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110112240A (ko) * 2010-04-06 2011-10-12 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
CN102934443A (zh) * 2010-04-05 2013-02-13 三星电子株式会社 用于对视频进行编码和解码的方法和设备

Family Cites Families (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2648254B2 (fr) * 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
GB9321372D0 (en) * 1993-10-15 1993-12-08 Avt Communications Ltd Video signal processing
JP3207739B2 (ja) * 1996-01-19 2001-09-10 松下電器産業株式会社 画像再生装置
US5764374A (en) * 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
US5737451A (en) * 1996-04-10 1998-04-07 Eastman Kodak Company Method and apparatus for suppressing blocking artifacts in block-transform coded images
US6341144B1 (en) * 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
EP1874060A3 (en) * 1997-02-14 2010-06-23 AT&T Corp. Video coder using implicit or explicit prediction for image coding
KR100253304B1 (ko) * 1997-07-29 2000-04-15 김영환 레터박스필터링회로및방법
JP4186242B2 (ja) * 1997-12-26 2008-11-26 ソニー株式会社 画像信号処理装置及び画像信号処理方法
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
US6717698B1 (en) * 2000-02-02 2004-04-06 Eastman Kodak Company Tone scale processing based on image modulation activity
US8005145B2 (en) * 2000-08-11 2011-08-23 Nokia Corporation Method and apparatus for transferring video frame in telecommunication system
EP1209624A1 (en) * 2000-11-27 2002-05-29 Sony International (Europe) GmbH Method for compressed imaging artefact reduction
WO2004006587A1 (en) * 2000-12-06 2004-01-15 Realnetworks, Inc. Intra coding video data methods and apparatuses
JP4203707B2 (ja) * 2001-01-31 2009-01-07 日本電気株式会社 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。
US7184066B2 (en) * 2001-05-09 2007-02-27 Clairvoyante, Inc Methods and systems for sub-pixel rendering with adaptive filtering
WO2003001814A1 (en) * 2001-06-26 2003-01-03 Koninklijke Philips Electronics N.V. Video coding method
DE60141961D1 (de) * 2001-09-10 2010-06-10 Texas Instruments Inc Verfahren und Vorrichtung zur Bewegungsvektorenabschätzung
US20030053637A1 (en) * 2001-09-14 2003-03-20 Michael Rodemer Audio distributor
US7248737B2 (en) * 2001-10-02 2007-07-24 Siemens Corporate Research, Inc. Page decomposition using local orthogonal transforms and a map optimization
US20030122961A1 (en) * 2001-12-28 2003-07-03 Motorola, Inc. Method for de-interlacing video information
US7170937B2 (en) * 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
KR20050105268A (ko) * 2003-03-03 2005-11-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 인코딩
CN100541535C (zh) * 2004-01-06 2009-09-16 索尼株式会社 图像处理设备和方法
JP4626158B2 (ja) * 2004-03-01 2011-02-02 ソニー株式会社 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
US8165389B2 (en) * 2004-03-15 2012-04-24 Microsoft Corp. Adaptive interpolation with artifact reduction of images
US20050206741A1 (en) * 2004-03-19 2005-09-22 Raber Gregory W Law enforcement vehicle surveillance system
EP1583367A1 (en) * 2004-03-30 2005-10-05 Matsushita Electric Industrial Co., Ltd. Motion estimation employing line and column vectors
JP4692845B2 (ja) * 2004-04-09 2011-06-01 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US7667778B2 (en) * 2004-04-09 2010-02-23 Sony Corporation Image processing apparatus and method, and recording medium and program used therewith
CN101189882B (zh) * 2004-07-20 2012-08-01 高通股份有限公司 用于视频压缩的编码器辅助帧率上变换(ea-fruc)的方法和装置
US8085846B2 (en) * 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
TWI245539B (en) * 2004-09-22 2005-12-11 Sony Taiwan Ltd Spatial domain pre-processing to reduce the intra-coding computation complexity
US7751478B2 (en) * 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
KR100703748B1 (ko) * 2005-01-25 2007-04-05 삼성전자주식회사 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치
US7941006B2 (en) * 2005-02-25 2011-05-10 Panasonic Corporation Pixel interpolating method and device
US20060193386A1 (en) * 2005-02-25 2006-08-31 Chia-Wen Lin Method for fast mode decision of variable block size coding
JP2006254349A (ja) * 2005-03-14 2006-09-21 Toshiba Corp 動きベクトル検出方法、動きベクトル検出装置およびコンピュータ上で動きベクトル検出処理を実行するコンピュータプログラム
KR100896279B1 (ko) * 2005-04-15 2009-05-07 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
US8228994B2 (en) * 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
US8018998B2 (en) * 2005-05-20 2011-09-13 Microsoft Corporation Low complexity motion compensated frame interpolation method
CN101218829A (zh) * 2005-07-05 2008-07-09 株式会社Ntt都科摩 动态图像编码装置、动态图像编码方法、动态图像编码程序、动态图像解码装置、动态图像解码方法以及动态图像解码程序
KR101088375B1 (ko) * 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
WO2007020569A2 (en) * 2005-08-12 2007-02-22 Nxp B.V. Method and system for digital image stabilization
US20070064809A1 (en) * 2005-09-14 2007-03-22 Tsuyoshi Watanabe Coding method for coding moving images
JP2007110461A (ja) * 2005-10-14 2007-04-26 Sony Corp 画像処理装置および方法、プログラム、並びに記録媒体
US7916796B2 (en) * 2005-10-19 2011-03-29 Freescale Semiconductor, Inc. Region clustering based error concealment for video data
JP2007180981A (ja) * 2005-12-28 2007-07-12 Victor Co Of Japan Ltd 画像符号化装置、画像符号化方法、及び画像符号化プログラム
WO2007077116A1 (en) * 2006-01-05 2007-07-12 Thomson Licensing Inter-layer motion prediction method
US8582905B2 (en) * 2006-01-31 2013-11-12 Qualcomm Incorporated Methods and systems for rate control within an encoding device
US8013895B2 (en) * 2006-08-07 2011-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Optical motion sensing
JP4027398B1 (ja) * 2006-08-24 2007-12-26 三菱電機株式会社 動きベクトル検出装置
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
FR2908007A1 (fr) * 2006-10-31 2008-05-02 Thomson Licensing Sas Procede de codage d'une sequence d'images
JP5271271B2 (ja) * 2006-11-03 2013-08-21 サムスン エレクトロニクス カンパニー リミテッド 動きベクトル・トラッキングを利用した映像の符号化、復号化方法及び装置
US8126062B2 (en) * 2007-01-16 2012-02-28 Cisco Technology, Inc. Per multi-block partition breakpoint determining for hybrid variable length coding
JP2008199252A (ja) * 2007-02-13 2008-08-28 Toshiba Corp 動画像復号装置
WO2008156548A1 (en) * 2007-06-12 2008-12-24 Thomson Licensing Methods and apparatus supporting multi-pass video syntax structure for slice data
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
KR101403343B1 (ko) * 2007-10-04 2014-06-09 삼성전자주식회사 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
US8462842B2 (en) * 2008-04-10 2013-06-11 Qualcomm, Incorporated Symmetry for interpolation filtering of sub-pixel positions in video coding
JP4697275B2 (ja) * 2008-07-30 2011-06-08 ソニー株式会社 動きベクトル検出装置、動きベクトル検出方法及びプログラム
US8326075B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
CN102273216A (zh) * 2009-01-08 2011-12-07 日本电气株式会社 分发系统、方法以及变换装置
US8719913B2 (en) * 2009-02-02 2014-05-06 Tt Government Solutions, Inc. Redundancy detection and resolution and partial order dependency quantification in access control lists
WO2010102935A1 (en) * 2009-03-09 2010-09-16 Thomson Licensing Estimation of the prediction mode for the intra coding mode
US8537175B1 (en) * 2009-05-07 2013-09-17 Google Inc. Video enhancement for large scale applications
KR101678968B1 (ko) 2009-08-21 2016-11-25 에스케이텔레콤 주식회사 참조 픽처 보간 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP5321426B2 (ja) * 2009-11-26 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び画像復号化方法
TW201121335A (en) * 2009-12-02 2011-06-16 Sunplus Core Technology Co Ltd Method and apparatus for adaptively determining compression modes to compress frames
JP5321439B2 (ja) * 2009-12-15 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び、画像復号化方法
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
KR101773012B1 (ko) * 2009-12-31 2017-08-30 톰슨 라이센싱 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치
US8559511B2 (en) * 2010-03-30 2013-10-15 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for video coding by ABT-based just noticeable difference model
EP2375751A1 (en) * 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge-detection based spatial interpolation
EP2375750A1 (en) * 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge detection for edge based spatial prediction
KR101462959B1 (ko) * 2010-05-14 2014-11-20 삼성전자주식회사 확장 블록 필터링을 이용한 비디오 부호화, 복호화 방법 및 장치
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
EP2897365B1 (en) * 2010-07-09 2017-02-01 Samsung Electronics Co., Ltd Apparatus for decoding video by using block merging
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
JP5524762B2 (ja) * 2010-08-12 2014-06-18 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
EP2606648A1 (en) * 2010-10-05 2013-06-26 General instrument Corporation Coding and decoding utilizing adaptive context model selection with zigzag scan
CN102771127B (zh) * 2010-12-22 2016-11-09 松下电器产业株式会社 图像编码装置、图像解码装置、图像编码方法及图像解码方法
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
KR101532665B1 (ko) * 2011-03-14 2015-07-09 미디어텍 인크. 시간적 움직임 백터 예측을 도출하기 위한 방법 및 장치
US20120236936A1 (en) * 2011-03-14 2012-09-20 Segall Christopher A Video coding based on edge determination
WO2013002716A2 (en) * 2011-06-30 2013-01-03 Telefonaktiebolaget L M Ericsson (Publ) A method a decoder and encoder for processing a motion vector
KR101444675B1 (ko) * 2011-07-01 2014-10-01 에스케이 텔레콤주식회사 영상 부호화 및 복호화 방법과 장치
JP2013041387A (ja) * 2011-08-15 2013-02-28 Sony Corp 画像処理装置、画像処理方法、撮像装置、電子機器、及び、プログラム
JP5762243B2 (ja) * 2011-10-18 2015-08-12 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
US9282344B2 (en) * 2011-11-04 2016-03-08 Qualcomm Incorporated Secondary boundary filtering for video coding
JP5711098B2 (ja) * 2011-11-07 2015-04-30 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
WO2013069976A1 (ko) * 2011-11-08 2013-05-16 주식회사 케이티 영상의 부호화 방법 및 장치, 그리고 영상의 복호화 방법 및 장치
WO2013074365A1 (en) * 2011-11-18 2013-05-23 Dolby Laboratories Licensing Corporation Subjective based post-filter optimization
WO2013128010A2 (en) * 2012-03-02 2013-09-06 Canon Kabushiki Kaisha Method and devices for encoding a sequence of images into a scalable video bit-stream, and decoding a corresponding scalable video bit-stream
WO2014107074A1 (ko) 2013-01-04 2014-07-10 삼성전자 주식회사 스케일러블 비디오의 부호화 및 복호화를 위한 움직임 보상 방법 및 장치
WO2014115283A1 (ja) * 2013-01-24 2014-07-31 シャープ株式会社 画像復号装置、および画像符号化装置
US9288507B2 (en) * 2013-06-21 2016-03-15 Qualcomm Incorporated More accurate advanced residual prediction (ARP) for texture coding
US9967592B2 (en) * 2014-01-11 2018-05-08 Qualcomm Incorporated Block-based advanced residual prediction for 3D video coding
EP2938073A1 (en) * 2014-04-24 2015-10-28 Thomson Licensing Methods for encoding and decoding a picture and corresponding devices
US9898286B2 (en) * 2015-05-05 2018-02-20 Intel Corporation Packed finite impulse response (FIR) filter processors, methods, systems, and instructions
US10332239B2 (en) * 2015-06-12 2019-06-25 Institute Of Automation Chinese Academy Of Sciences Apparatus and method for parallel polyphase image interpolation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934443A (zh) * 2010-04-05 2013-02-13 三星电子株式会社 用于对视频进行编码和解码的方法和设备
KR20110112240A (ko) * 2010-04-06 2011-10-12 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Also Published As

Publication number Publication date
US11153601B2 (en) 2021-10-19
US20220078482A1 (en) 2022-03-10
JP2018533871A (ja) 2018-11-15
KR102525033B1 (ko) 2023-04-24
KR20210144953A (ko) 2021-11-30
CN115278230A (zh) 2022-11-01
CN115278229A (zh) 2022-11-01
KR102331898B1 (ko) 2021-11-26
WO2017082698A1 (ko) 2017-05-18
EP3364655A4 (en) 2018-10-10
US20180376165A1 (en) 2018-12-27
KR20220121919A (ko) 2022-09-01
CN108496367A (zh) 2018-09-04
CN115278231A (zh) 2022-11-01
KR20230057479A (ko) 2023-04-28
CN115278228A (zh) 2022-11-01
CN115278232A (zh) 2022-11-01
EP3364655A1 (en) 2018-08-22
KR20180071350A (ko) 2018-06-27
KR102437109B1 (ko) 2022-08-26

Similar Documents

Publication Publication Date Title
CN108496367B (zh) 用于对视频进行解码的方法和设备以及用于对视频进行编码的方法和设备
CN109792534B (zh) 视频解码方法及其装置以及视频编码方法及其装置
JP7450698B2 (ja) ビデオ復号方法及びその装置、並びにビデオ符号化方法及びその装置

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