WO2019227297A1 - 一种视频图像的帧间预测方法、装置及编解码器 - Google Patents

一种视频图像的帧间预测方法、装置及编解码器 Download PDF

Info

Publication number
WO2019227297A1
WO2019227297A1 PCT/CN2018/088763 CN2018088763W WO2019227297A1 WO 2019227297 A1 WO2019227297 A1 WO 2019227297A1 CN 2018088763 W CN2018088763 W CN 2018088763W WO 2019227297 A1 WO2019227297 A1 WO 2019227297A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
weighting factor
predictive
pixel
current
Prior art date
Application number
PCT/CN2018/088763
Other languages
English (en)
French (fr)
Inventor
朱策
杨敏捷
冉攀
林永兵
郑建铧
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2018/088763 priority Critical patent/WO2019227297A1/zh
Publication of WO2019227297A1 publication Critical patent/WO2019227297A1/zh

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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh

Definitions

  • the first weighting factor Is equal to the second weighting factor.
  • the first weighting factor Less than the second weighting factor
  • the inter-prediction data is coded into a code stream, where the inter-prediction data includes: a first identifier for instructing inter-prediction of a current image block by using a combined prediction mode.
  • a video decoder for decoding inter-frame prediction data including a first identifier from a bitstream, the first identifier being related to a currently decoded image block; and when the first identifier is used to indicate that a combination is used for the current decoded image block
  • the prediction mode performs inter prediction
  • performing inter prediction on the current decoded image block based on the combined prediction mode includes: obtaining at least two weights Factors, the values of the at least two weighting factors are used to reflect the spatial positional relationship between the current pixel block and the at least two neighborhood blocks in the current image block, and the at least two weighting factors include a first weighting factor and a first A second weighting factor, where the first weighting factor is used to weight the pixel value at a position in the first predictive block corresponding to the current pixel block (for example, the current pixel point) in the current image block, and the second weighting factor is Weighting pixel values in the second
  • the third predictive block is obtained by performing motion compensation prediction based on the motion information of the spatial neighboring block A0 located on the lower left side of the current image block or the motion information of the spatial neighboring block A1 located on the left side of the current image block;
  • the weighting factor of the upper left sub-block in the first predictive block, the weighting factor of the upper left sub-block in the second predictive block, and the third predictive block The sum of the weighting factor of the upper-left sub-block and the weighting factor of the upper-left sub-block in the fourth predictive block is one; or
  • FIG. 5 is a flowchart of a method for decoding an inter prediction of a video image according to an embodiment of the present application
  • FIG. 9B is another exemplary Euclidean distance diagram in the embodiment of the present application.
  • the one or more communication media may form part of a packet-based network, such as a local area network, a wide area network, or a global network (eg, the Internet).
  • the one or more communication media may include a router, a switch, a base station, or other devices that facilitate communication from the source device 10 to the destination device 20.
  • the storage device 40 may correspond to a file server or another intermediate storage device that may hold the encoded video produced by the source device 10.
  • the destination device 20 may access the stored video data from the storage device 40 via streaming or download.
  • the file server may be any type of server capable of storing encoded video data and transmitting the encoded video data to the destination device 20.
  • Example file servers include a web server (eg, for a website), an FTP server, a network attached storage (NAS) device, or a local disk drive.
  • the destination device 20 can access the encoded video data through any standard data connection, including an Internet connection.
  • the source device 10 includes a video source 120, a video encoder 100, and an output interface 140.
  • the output interface 140 may include a regulator / demodulator (modem) and / or a transmitter.
  • Video source 120 may include a video capture device (e.g., a video camera), a video archive containing previously captured video data, a video feed interface to receive video data from a video content provider, and / or a computer for generating video data Graphics systems, or a combination of these sources of video data.
  • the video encoder 100 includes a prediction processing unit 108, a filter unit 106, a decoded image buffer (DPB) 107, a summer 112, a transformer 101, a quantizer 102, and an entropy encoder 103.
  • the prediction processing unit 108 includes an inter predictor 110 and an intra predictor 109.
  • the video encoder 100 further includes an inverse quantizer 104, an inverse transformer 105, and a summer 111.
  • the filter unit 106 is intended to represent one or more loop filters, such as a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) filter.
  • the filter unit 106 is shown as an in-loop filter in FIG. 2A, in other implementations, the filter unit 106 may be implemented as a post-loop filter.
  • the video encoder 100 may further include a video data memory and a segmentation unit (not shown in the figure).
  • the inter predictor 110 may determine a combination prediction mode (a new inter prediction mode proposed in the present application) with the smallest code rate distortion cost of encoding the current image block in the candidate inter prediction mode set as a candidate for The inter prediction mode of the current image block for inter prediction.
  • the inter prediction process in the combined prediction mode will be described in detail below with reference to FIGS. 3, 4 and 10.
  • the network entity 42 may be, for example, a server, a MANE, a video editor / splicer, or other such device for implementing one or more of the techniques described above.
  • the network entity 42 may or may not include a video encoder, such as video encoder 100.
  • the network entity 42 may implement some of the techniques described in this application.
  • the network entity 42 and the video decoder 200 may be part of separate devices, while in other cases, the functionality described with respect to the network entity 42 may be performed by the same device including the video decoder 200.
  • the network entity 42 may be an example of the storage device 40 of FIG. 1.
  • the candidate list creation order becomes A1 ⁇ B1 ⁇ B0 ⁇ A0 ⁇ ATMVP ⁇ STMVP ⁇ (B2) ⁇ Time domain candidate list, where B2 is a substitute, that is, when one of A1, B1, B0, A0, ATMVP, and STMVP Or if there is no multiple, then the motion information of B2 is used.
  • the candidate list creation order becomes A1 ⁇ B1 ⁇ B0 ⁇ A0 ⁇ (B2) ⁇ Time domain candidate list, where B2 is a substitute, that is, when one or more of A1, B1, B0, and A0 do not exist , Then use B2's motion information.
  • multiple weighting factors are determined or set for the current pixel block.
  • the number of weighting factors is different from the available neighboring blocks (or predictive blocks). The number is the same.
  • the pixel values corresponding to the current pixel block position in multiple predictive blocks are weighted to obtain the predicted pixel value of the current pixel block in the current coding block, and then the current coding block is obtained. Predicting the pixel value improves the prediction accuracy of the pixel value of the coding block, thereby improving the encoding and decoding performance of the video image.
  • Step 1105 if the number of available neighborhood blocks is greater than or equal to 2, then use all of its available motion information to perform motion compensation on the current image block block to obtain corresponding motion compensation blocks (also known as predictive blocks). ).
  • a weighting factor obtaining unit 1301 is configured to obtain at least two weighting factors, and the values of the at least two weighting factors (that is, the size relationship of the at least two weighting factors) are used to reflect the current pixel block in the current image block.
  • the at least two weighting factors include a first weighting factor and a second weighting factor, and the first weighting factor is used for the first predictive block corresponding to the current image
  • the pixel value at the current pixel block position (for example, the current pixel point) within the block is weighted
  • the second weighting factor is used to weight the pixel value at the second predictive block corresponding to the current pixel block position.
  • a first predictive block is obtained by performing motion compensation prediction based on the motion information of the first neighborhood block
  • a second predictive block is obtained by performing motion compensation prediction based on the motion information of the second neighborhood block;
  • the factors include a first weighting factor and a second weighting factor, the first weighting factor is used for weighting pixel values in the first predictive block corresponding to the current pixel block position, and the second weighting factor is used for Weight the pixel values in the second predictive block corresponding to the current pixel block position, and the available neighborhood blocks of the current image block include a first neighborhood block and a second neighborhood block, the first predictive The block is obtained by performing motion compensation based on the motion information of the first neighborhood block, and the second predictive block is obtained by performing motion compensation based on the motion information of the second neighborhood block, where:
  • the weighting factor of the upper right sub-block in the second predictive block is greater than the weighting factor of the upper left sub-block in the second predictive block.
  • the weighting factor of the upper left sub-block in the second predictive block is equal to the right of the second predictive block.
  • the weighting factor of the lower subblock, and the weighting factor of the lower right subblock in the second predictive block is greater than the weighting factor of the lower left subblock in the second predictive block;

Landscapes

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

Abstract

一种视频图像的帧间预测方法,包括:获取至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,其中所述第一加权因子、第二加权因子分别用于对第一预测性块、第二预测性块内对应于当前图像块内的当前像素块位置处的像素值进行加权;基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值;基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值。从而提高了当前图像块内当前像素块的预测精度,进而提高了当前图像块像素值的的预测准确度和提高了视频图像的编解码性能。

Description

一种视频图像的帧间预测方法、装置及编解码器 技术领域
本申请涉及视频图像编解码技术领域,尤其涉及一种视频图像的帧间预测方法、装置、编码器以及解码器。
背景技术
通过视频压缩技术,例如MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频编解码(advanced video coding,AVC)、ITU-TH.265高效率视频编解码(high efficiency video coding,HEVC)标准和所述标准的扩展部分中所描述的那些视频压缩技术,设备之间可以实现高效地发射及接收数字视频信息。通常情况下,视频序列的图像被划分成图像块进行编码或解码。
视频压缩技术中,为了减少或去除视频序列中的冗余信息,引入了基于图像块的空间预测(帧内预测,intra prediction)和/或时间预测(帧间预测,inter prediction)。其中,帧间预测模式可以包括但不限于合并模式(Merge Mode)等,且是利用多运动信息竞争的方法进行帧间预测的,例如帧间预测过程中,引入了包括多个运动信息(亦称为候选运动信息)的候选列表。
然而,针对合并模式,是以当前图像块为一个整体,从候选列表中选择一个候选运动信息(例如运动矢量、参考帧信息)作为当前图像块的运动信息,进而获得当前图像块的预测像素值,此方法一定程度上造成当前图像块内的某些局部区域像素值预测不够准确,从而影响编解码性能。
发明内容
本申请实施例提供一种视频图像的帧间预测方法、装置及相应的编码器和解码器,以一定程度上提高当前图像块像素值的预测准确度,从而提高视频图像的编解码性能
第一方面,本申请实施例提供了一种视频图像的帧间预测方法,当前图像块的可用邻域块至少包括第一邻域块和第二邻域块,所述方法包括:
获取至少两个加权因子,所述至少两个加权因子的取值(亦称为所述至少两个加权因子的大小关系)用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的;
基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块;
基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块。
应当理解的是,为了便于描述,本申请实施例中以当前图像块内的当前像素块作为代表来描述当前像素块的预测像素值的预测过程,当前图像块内的每个像素块的预测像素值的预测过程可参见本实施例所述,在此不再赘述。
可见,相对于现有技术中,以当前图像块block为一个整体,根据其空域/时域相关性,选择一个最优的候选运动信息作为当前图像块block的运动信息,进而获得当前块的预测像素值而导致局部区域像素值预测不够准确的现象,本申请实施例中,针对当前图像块内的多个像素块中的当前像素块,在预测当前像素块的预测像素值的过程中,采用了多个加权因子,而多个加权因子的大小关系用于反映当前图像块内的当前像素块与不同位置的邻近块的运动相关性强弱的不同,进而基于多个加权因子对多个预测性块中对应于当前像素块位置处的像素块的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,其中预测性块是由邻近块的运动信息运动补偿得到的;换言之,本申请实施例中,每个像素块具有与之对应的预测像素值,从而提高了当前图像块内当前像素块的预测精度(换言之,提高当前图像块内各个像素块的预测精度),亦即提高了当前图像块像素值的预测准确度,进而提高了视频图像的编解码性能。
应当理解的是,本申请实施例的方法的执行主体可以是图像预测装置,例如可以是视频编码器或视频解码器或具有视频编解码功能的电子设备,具体例如可以是视频编码器中的帧间预测单元,或者视频解码器中的运动补偿单元。
此外,应当理解的是,这里的当前图像块(简称为当前块)可以理解为当前正在处理的图像块。例如在编码过程中,指当前正在编码的图像块(encoding block,简称为当前编码块);在解码过程中,指当前正在解码的图像块(decoding block,简称为当前解码块)。这里的当前像素块的尺寸小于当前图像块的尺寸,例如,当前像素块可以理解为当前图像块内的子块,又例如,像素块可以是当前图像块内的像素点;换言之,当前像素块可以包括一个或多个像素点。
此外,应当理解的是,当前图像块内的当前像素块与当前图像块的邻域块(例如某个方向邻近块)之间的距离,可以是当前像素块中心点像素坐标相对于当前图像块中该方向角落像素点的位置偏移;例如,以位于当前图像块左上侧的空域邻近块B2为例,当前图像块中某个像素块与空域邻近块B2的距离可以理解为,该像素块中心点像素坐标相对于当前图像块左上角像素点坐标的位置偏移。取像素块中心点像素坐标的原因是考虑加权因子和该像素块与四个方向的距离都有关。
需要说明的是,如果当前图像块的某个邻域块(亦称为邻近块)是帧间编码块且具有可用(available)的运动信息,则可以理解该邻域块为当前图像块的可用邻域块。在合成(Merge)模式下,首先要利用空域邻近块、时域邻近块为当前图像块建立候选运动信息列表,对于当前图像块的某个邻近块,若该邻近块的运动信息位于候选运动信息列表中,则认为该邻近块是可用的,否则该邻近块是不可用。不可用的意思就是邻域块的编码模式采用帧内编码或者邻域块不存在。例如,举个邻域块不存在的情况,如果当前图像块在该帧的最左侧,则左侧邻近块(L或A1)和左下角邻近块(LB或A0)不存在。
当前图像块的可用邻域块可以包括当前图像块的空域邻近块(可用)和/或当前图像块的时域邻近块(可用),相应地,所述第一邻域块和第二邻域块可以是当前图像块的空域邻近块(可用)和/或当前图像块的时域邻近块(可用)中的两个邻域块,例如所述第一邻域块和第二邻域块可以是位置不同的两个空域邻近块,又例如所述第一邻域块和第二邻域块可以是一个空域邻近块和一个时域邻近块,本申请对此不作限定。其中这里的空域邻近块指的是当前图像块所在图像中的、与所述当前图像块空域邻近的一个或多个已编码图像块或已解码图像块。这里的时域邻近块,指的是与当前图像块时域相关的已编码图像块或已解码图像块,可以包括参考图像中、与同位置块(co-located块)空域邻近的一个或多个已编码图像块或已解码图像块,和/或,所述同位置块中的一个或多个子块,其中,所述同位置块为参考图像中与所述当前图像块具有相同的大小、形状和坐标的图像块。这里的参考图像指的是已重建的图像,具体的,这里的参考图像指的是一个或多个参考图像列表中的参考图像,例如可以是指定参考图像列表中的指定参考图像索引对应的参考图像,也可以是默认的参考图像列表中的处于首位置的参考图像,本申请对此不作限定。在一种示例下,这里的空域邻近块和/或时域邻近块的尺寸可以是4*4。尤其需要说明的是,如果可用邻域块中包括的第二邻域块为时域邻近块,则在时域邻近块已映射到当前图像块的右下角位置的情况下,所述至少两个加权因子是基于至少两个空域距离确定的,所述至少两个空域距离包括当前图像块内的当前像素块距所述第一邻域块的第一(空域)距离和当前图像块内的当前像素块距所述第二邻域块(时域邻近块)的第二(空域)距离。
需要说明的是,每个邻域块的运动信息可包括运动矢量MV和参考图像指示信息。当然,运动信息也可以只包含两者之一或者全部包含,例如在编解码端共同约定参考图像的情况下,运动信息可以仅包含运动矢量MV。其中参考图像指示信息用于指示当前块(本段中以当前块指代当前可用参考块)使用到了哪一个或哪些重建图像作为参考图像,运动矢量表示在所用参考图像中参考块位置相对于当前块位置的位置偏移,一般包含水平分量偏移和竖直分量偏移。例如使用(x,y)表示MV,x表示水平方向的位置偏移,y表示竖直方向的位置偏移。使用当前块的位置加上MV偏移,便可以得到它的参考块在参考图像中的位置。其中参考图像指示信息可以包括参考图像列表和与参考图像列表对应的参考图像索引。参考图像索引用于识别指定参考图像列表(RefPicList0或RefPicList1)中的运动矢量所指向的参考图像。
此外,需要说明的是,所述第一预测性块是基于第一邻域块的运动信息而得到的预测性块;所述第二预测性块是基于第二邻域块的运动信息而得到的预测性块;以此类推,第三预测性块是基于第三邻域块的运动信息而得到的预测性块;应当理解的是,由第一邻域块的运动信息进行运动补偿预测得到预测性块称为第一预测性块,由第二邻域块的运动信息进行运动补偿预测得到预测性块称为第二预测性块。比如在编码端,在当前编码块的运动信息还没有确定的时候,通过预测得到当前编码块的预测像素值,即预测性块;比如在解码端,在当前解码块的运动信息已经确定的时候,利用当前解码块的运动信息进行运动补偿得到当前解码块的预测像素值,称为运动补偿块。但在本文中,无论是编码端还是解码端,为了方便描述,统一称为预测性块。
结合第一方面,在第一方面的某些实现方式中,当前像素块的尺寸小于当前图像块的尺寸;或者,当前像素块为当前图像块内的当前像素点或者当前像素块为当前图像块内的当前子块。
结合第一方面,在第一方面的某些实现方式中,所述至少两个加权因子的取值(亦称为所述至少两个加权因子的大小关系)用于反映当前图像块内的当前像素点与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素点位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素点位置处的像素值进行加权。
结合第一方面,在第一方面的某些实现方式中,所述至少两个加权因子的取值(亦称为所述至少两个加权因子的大小关系)用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,包括:
在当前图像块内的当前像素块距第一邻域块的第一距离小于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一距离大于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一距离等于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子等于所述第二加权因子。
结合第一方面,在第一方面的某些实现方式中,所述获取至少两个加权因子,包括:
基于当前图像块的当前像素块与不同位置的至少两个可用邻域块的空域距离,确定所述至少两个加权因子(例如所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,其中所述第一加权因子用于对第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
在当前图像块内的当前像素块距第一邻域块的第一空域距离小于当前图像块内的当前像素块距第二邻域块的第二空域距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一空域距离大于当前图像块内的当前像素块距第二邻域块的第二空域距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一空域距离等于当前图像块内的当前像素块距第二邻域块的第二空域距离的情况下,所述第一加权因子等于所述第二加权因子。
结合第一方面,在第一方面的某些实现方式中,所述获取至少两个加权因子,包括:
根据当前图像块内的当前像素块分别相距至少两个可用邻域块的切比雪夫距离,确定至少两个加权因子(例如所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离小于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离大于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离等于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子等于所述第二加权因子。
结合第一方面,在第一方面的某些实现方式中,所述第一加权因子是基于所述第一切比雪夫距离的反相关函数而得到的;所述第二加权因子是基于所述第二切比雪夫距离的反相关函数而得到的。
结合第一方面,在第一方面的某些实现方式中,所述获取至少两个加权因子,包括:
根据当前图像块内的当前像素块分别相距至少两个可用邻域块的曼哈顿距离,确定(或设置)至少两个加权因子(例如所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离小于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离大于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离等于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子等于所述第二加权因子。
结合第一方面,在第一方面的某些实现方式中,所述第一加权因子是基于所述第一曼哈顿距离的反相关函数而得到的;所述第二加权因子是基于所述第二曼哈顿距离的反相关函数而得到的。
结合第一方面,在第一方面的某些实现方式中,所述获取至少两个加权因子,包括:
根据当前图像块内的当前像素块分别相距至少两个可用邻域块的欧式距离,确定(或设置)至少两个加权因子(例如所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
在当前图像块内的当前像素块距第一邻域块的第一欧式距离小于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一欧式距离大于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一欧式距离等于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子等于所述第二加权因子。
结合第一方面,在第一方面的某些实现方式中,所述第一加权因子是基于所述第一欧式距离的反相关函数而得到的;所述第二加权因子是基于所述第二欧式距离的反相关函数而得到的。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:
确定所述当前图像块的候选运动信息列表中的多个候选运动信息中排在首位置的候选运动信息为当前图像块的运动信息。
其中,所述当前图像块的候选列表可以包括:当前图像块所在图像中的、与所述当前图像块邻近的一个或多个空域邻近块的运动信息和/或参考图像中、与当前图像块的同位置块(co-located块)邻近的一个或多个空域邻近块的运动信息。其中,所述当前图像块所在图像中的与所述当前图像块邻近的一个或多个空域邻近块包括:位于所述当前图像块左下侧的第四空域邻近块A0,位于所述当前图像块左侧的第一空域邻近块A1,位于所述当前图像块右上侧的第三空域邻近块B0,位于所述当前图像块上侧的第二空域邻近块B1,或位于所述当前图像块左上侧的第五空域邻近块B2。
可见,在获得当前图像块的预测像素值之后,本申请实施例还提供一种对该当前图像块进行运动信息的填充方法,以便于后续图像块可以使用当前图像块的重建块做参考,进而进一步提高视频图像的编解码性能。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:
按照预设顺序从当前图像块的可用邻域块中获取运动信息(例如运动矢量),并确定所述获取到的运动信息(例如运动矢量)为当前像素块的运动信息,在一种示例下,所述预设顺序满足如下条件:
当前图像块的可用邻域块中距离当前像素块较近的第一邻域块的顺序优于当前图像块的可用邻域块中距离当前像素块较远的第二邻域块的顺序;或,
当前图像块的第一邻域块的顺序优于当前图像块的第二邻域块的顺序,其中第一邻域块和第二邻域块分别距当前像素块相同距离,且在当前图像块的候选运动信息列表的构建顺序中第一邻域块先于第二邻域块。
可见,在获得当前图像块内每个像素块的预测像素值之后,本申请实施例还提供一种对每个像素块进行运动信息的填充方法,以便于后续图像块可以使用当前图像块的重建块做参考,进而进一步提高视频图像的编解码性能。
其中,作为一种示例,当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
结合第一方面,在第一方面的某些实现方式中,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,所述按照预设顺序从当前图像块的可用邻域块中获取运动信息,包括:
若当前像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;或
若当前像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;或
若当前像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;或
若当前像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
结合第一方面,在第一方面的某些实现方式中,所述方法用于解码视频图像,还包括:
解码码流,以得到包括第一标识的帧间预测数据,其中所述第一标识用于指示对当前图像块采用组合预测模式(例如组合merge预测模式)进行帧间预测;
确定所述第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式。
结合第一方面,在第一方面的某些实现方式中,所述方法用于编码视频图像,所述方法还包括:
确定多种帧间预测模式中编码所述当前图像块的率失真代价最小的组合预测模式为用于对当前图像块进行帧间预测的帧间预测模式。换言之,即根据率失真代价准则,确定用于对当前图像块进行帧间预测的帧间预测模式。
结合第一方面,在第一方面的某些实现方式中,所述方法用于编码视频图像,还包括:
将帧间预测数据编入码流,其中所述帧间预测数据包括:用于指示对当前图像块采用组合预测模式进行帧间预测的第一标识。
第二方面,本申请实施例提供一种视频图像的帧间预测装置,包括用于实施第一方面的任意一种方法的若干个功能单元。举例来说,视频图像的帧间预测装置可以包括:
加权因子获取单元,用于获取至少两个加权因子,所述至少两个加权因子的取值(例如所述至少两个加权因子的大小关系)用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的;
加权处理单元,用于基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块;
帧间预测处理单元,用于基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块。
其中,所述视频图像的帧间预测装置例如应用于视频编码装置(视频编码器)或视频解码装置(视频解码器)。
结合第二方面,在第二方面的某些实现方式中,所述至少两个加权因子的取值(例如所述至少两个加权因子的大小关系)用于反映当前图像块内的当前像素点与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素点位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素点位置处的像素值进行加权。
第三方面,本申请实施例提供一种视频编码器,其特征在于,所述视频编码器用于编码图像块,包括:
帧间预测器,其中所述帧间预测器包括如第二方面所述的帧间预测装置,所述帧间预测器用于基于当前编码图像块中的多个像素块的预测像素值,得到当前编码图像块的预测像素(例如采用组合预测模式得到当前待编码图像块中的多个像素块的预测像素值,进而得到当前待编码图像块的预测像素);
熵编码器,用于将第一标识编入码流,所述第一标识用于指示对当前待编码图像块采用组合预测模式进行帧间预测;
重建器,用于根据所述预测像素重建所述图像块,所述重建的图像块被所述视频编码器用于编码后续图像块。
第四方面,本申请实施例提供一种视频解码器,所述视频解码器用于从码流中解码出图像块,包括:
熵解码器,用于从码流中解码出第一标识,所述第一标识用于指示对当前解码图像块采用组合预测模式进行帧间预测;
帧间预测器,包括如第二方面所述的帧间预测装置,其中所述帧间预测器用于在组合预测模式下,基于当前解码图像块中的多个像素块的预测像素值得到当前解码图像块的预测像素值;
重建器,用于根据所述预测像素重建所述图像块,所述重建的图像块被所述视频解码器用于解码后续图像块
第五方面,本申请实施例提供一种用于解码视频数据的设备,所述设备包括:
存储器,用于存储码流形式的视频数据;
视频解码器,用于从码流中解码出包括第一标识的帧间预测数据,所述第一标识与当前解码图像块相关;当所述第一标识用于指示对当前解码图像块采用组合预测模式进行帧间预测时,基于组合预测模式对所述当前解码图像块执行帧间预测,其中所述基于组合预测模式对所述当前解码图像块执行帧间预测,包括:获取至少两个加权因子,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块(例如当前像素点)位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的;基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块;基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块。
第六方面,本申请实施例提供一种用于编码视频数据的设备,所述设备包括:
存储器,用于存储视频数据,所述视频数据包括一个或多个图像块;
视频编码器,用于将包括第一标识的帧间预测数据编入码流,所述第一标识与当前编码图像块相关;其中,所述第一标识用于指示对当前编码图像块采用组合预测模式进行帧间预测,
所述视频编码器还用于基于组合预测模式对所述当前编码图像块执行帧间预测,其中所述基于组合预测模式对所述当前编码图像块执行帧间预测包括:获取至少两个加权因子,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块(例如当前像素点)位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的;基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块;基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块。
第七方面,本申请实施例提供一种解码方法,所述方法包括:
解码码流,以得到包括第一标识的帧间预测数据,其中所述第一标识用于指示对当前图像块采用组合预测模式进行帧间预测;所述组合预测模式允许对所述当前图像块采用第一方面的任意一种方法进行帧间预测;
确定所述第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式。
第八方面,本申请实施例提供一种视频图像的帧间预测方法,当前图像块被划分为N(例如N=4)个像素块,所述方法包括:
基于当前图像块的M个可用邻近块的运动信息对当前图像块进行运动补偿预测,得到当前图像块的M个预测性块,每个预测性块被划分为N个子块,每个子块具有与之对应的加权因子;其中,所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,n为大于或等于1且小于或等于N的正整数,N为大于或等于2的正整数(例如N=4),M为大于或等于2的正整数(例如M为大于或等于2且小于或等于4的正整数);
基于M个加权因子对所述M个预测性块内的第n子块的像素值进行加权处理,得到当前图像块内的第n像素块的预测像素值,所述M个加权因子分别对应于所述M个预测性块内的第n子块,其中所述M个第n子块在所属预测性块内的位置均对应于第n像素块在当前图像块内的位置;
基于当前图像块内的N个像素块的预测像素值,得到当前图像块的预测像素值,所述N个像素块包括所述第n像素块。
应当理解的是,与所属预测性块具有关联关系的邻近块可以理解为提供用于预测所属预测性块的运动信息的来源(即邻近块),例如由邻近块A0的运动信息进行运动补偿预测得到预测块P2,则与该预测块P2具有关联关系的邻近块是A0。
可见,本申请实施例中,针对当前图像块内的多个像素块中的当前像素块(即第n像素块),在预测当前像素块的预测像素值的过程中,所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,M个加权因子分别对应于所述M个预测性块内的第n子块,换言之,M个加权因子的大小关系一定程度上用于反映当前图像块内的当前像素块与不同位置的邻近块的运动相关性强弱的不同,进而基于M个加权因子对所述M个预测性块内的第n子块的像素值进行加权处理,得到当前图像块内的第n像素块的预测像素值,其中预测性块是由邻近块的运动信息运动补偿得到的;换言之,本申请实施例中,每个像素块具有与之对应的预测像素值,从而提高了当前图像块内当前像素块的预测精度(换言之,提高当前图像块内各个像素块的预测精度),亦即提高了当前图像块像素值的预测准确度,进而提高了视频图像的编解码性能。
应当理解的是,本申请实施例的方法的执行主体可以是图像预测装置,例如可以是视频编码器或视频解码器或具有视频编解码功能的电子设备,具体例如可以是视频编码器中的帧间预测单元,或者视频解码器中的运动补偿单元。
此外,应当理解的是,这里的当前图像块(简称为当前块)可以理解为当前正在处理的图像块。例如在编码过程中,指当前正在编码的图像块(encoding block,简称为当前 编码块);在解码过程中,指当前正在解码的图像块(decoding block,简称为当前解码块)。这里的当前像素块的尺寸小于当前图像块的尺寸,例如,当前像素块可以理解为当前图像块内的子块。
结合第八方面,在第八方面的某些实现方式中,所述M个预测性块包括:第一预测性块、第二预测性块、第三预测性块和第四预测性块中的两个或以上;
其中,所述第一预测性块是基于位于当前图像块左上侧的空域相邻块B2的运动信息进行运动补偿预测得到的;
所述第二预测性块是基于位于当前图像块右上侧的空域相邻块B0的运动信息或者位于当前图像块上侧的空域相邻块B1的运动信息进行运动补偿预测得到的;
所述第三预测性块是基于位于当前图像块左下侧的空域相邻块A0的运动信息或者位于当前图像块左侧的空域相邻块A1的运动信息进行运动补偿预测得到的;
所述第四预测性块是基于位于当前图像块的同位块的右下侧的时域相邻块TMVP的运动信息进行运动补偿预测得到的。
结合第八方面,在第八方面的某些实现方式中,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
第一预测性块中的左上子块的加权因子大于第一预测性块中的右上子块的加权因子,第一预测性块中的右上子块的加权因子等于第一预测性块中的左下子块的加权因子,且,第一预测性块中的右上子块的加权因子大于第一预测性块中的右下子块的加权因子;
或者,
第二预测性块中的右上子块的加权因子大于第二预测性块中的左上子块的加权因子,第二预测性块中的左上子块的加权因子等于第二预测性块中的右下子块的加权因子,且,第二预测性块中的右下子块的加权因子大于第二预测性块中的左下子块的加权因子;
或者,
第三预测性块中的左下子块的加权因子大于第三预测性块中的左上子块的加权因子,第三预测性块中的左上子块的加权因子等于第三预测性块中的右下子块的加权因子,且,第三预测性块中的右下子块的加权因子大于第三预测性块中的右上子块的加权因子;
或者,
第四预测性块中的右下子块的加权因子大于第四预测性块中的左下子块的加权因子,第四预测性块中的左下子块的加权因子等于第四预测性块中的右上子块的加权因子,且,第四预测性块中的右上子块的加权因子大于第四预测性块中的左上子块的加权因子。
结合第八方面,在第八方面的某些实现方式中,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
第一预测性块中的左上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的左下子块的加权因子、第四预测性块中的右下子块的加权因子彼此相同;和/或,
第一预测性块中的右上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子、第四预测性块中的右上子块的加权因子彼此相同;和/或,
第一预测性块中的左下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子、第四预测性块中的左下子块的加权因子彼此相同;和/或,
第一预测性块中的右下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的右上子块的加权因子、第四预测性块中的左上子块的加权因子相同。
结合第八方面,在第八方面的某些实现方式中,第一预测性块中的左上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子和第四预测性块中的左上子块的加权因子之和为一;或
第一预测性块中的右上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的右上子块的加权因子和第四预测性块中的右上子块的加权因子之和为一;或
第一预测性块中的左下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的左下子块的加权因子和第四预测性块中的左下子块的加权因子之和为一;或
第一预测性块中的右下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子和第四预测性块中的右下子块的加权因子之和为一。
结合第八方面,在第八方面的某些实现方式中,所述方法还包括:
按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为第n像素块的运动信息,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
结合第八方面,在第八方面的某些实现方式中,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,所述按照预设顺序从当前图像块的可用邻域块中获取运动信息,包括:
若第n像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
第九方面,本申请实施例提供一种视频图像的帧间预测装置,当前图像块被划分为N个像素块(例如N=4),包括用于实施第八方面的任意一种方法的若干个功能单元。举例来说,视频图像的帧间预测装置可以包括:
帧间预测处理单元,用于基于当前图像块的M个可用邻近块的运动信息对当前图像块进行运动补偿预测,得到当前图像块的M个预测性块;
加权处理单元,用于基于M个加权因子对所述M个预测性块内的第n子块的像素值进行加权处理,得到当前图像块内的第n像素块的预测像素值,所述M个加权因子分别对应于所述M个预测性块内的第n子块,其中所述M个第n子块在所属预测性块内的位置均对应于第n像素块在当前图像块内的位置;其中,每个预测性块被划分为N个子块,每个子块具有与之对应的加权因子;所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,n为大于或等于1且小于或等于N的正整数,N为大于或等于2的正整数,M为大于或等于2的正整数;
所述帧间预测处理单元还用于基于当前图像块内的N个像素块的预测像素值,得到当前图像块的预测像素值,所述N个像素块包括所述第n像素块。
其中,所述视频图像的帧间预测装置例如应用于视频编码装置(视频编码器)或视频解码装置(视频解码器)。
第十方面,本申请实施例提供一种视频编码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第一或八方面的任意一种方法的部分或全部步骤。
第十一方面,本申请实施例提供一种视频解码设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第一或八方面的任意一种方法的部分或全部步骤。
第十二方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行第一或八方面的任意一种方法的部分或全部步骤的指令。
第十三方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一或八方面的任意一种方法的部分或全部步骤。
第十四方面,本申请实施例提供一种电子设备,包括上述第三方面所述的视频编码器,或上述第四方面所述的视频解码器,或上述第二或八方面所述的帧间预测装置。
应理解,各方面及对应的可实施的设计方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例中一种视频编码及解码系统的示意性框图;
图2A为本申请实施例中一种视频编码器的示意性框图;
图2B为本申请实施例中一种视频解码器的示意性框图;
图3为本申请实施例中一种视频图像的帧间预测方法的流程图;
图4为本申请实施例中一种用于编码视频图像的帧间预测的方法的流程图;
图5为本申请实施例中一种用于解码视频图像的帧间预测的方法的流程图;
图6为本申请实施例中一种用于构建合成(merge)模式的候选列表的一个或多个邻域块的示意图;
图7A为本申请实施例中一种示例性的切比雪夫距离示意图;
图7B为本申请实施例中另一种示例性的切比雪夫距离示意图;
图7C为本申请实施例中基于切比雪夫距离的帧间预测方法的性能增益的效果示意图;
图8A为本申请实施例中一种示例性的曼哈顿距离示意图;
图8B为本申请实施例中另一种示例性的曼哈顿距离示意图;
图8C为本申请实施例中基于曼哈顿距离的帧间预测方法的性能增益的效果示意图;
图9A为本申请实施例中一种示例性的欧式距离示意图;
图9B为本申请实施例中另一种示例性的欧式距离示意图;
图9C为本申请实施例中基于欧式距离的帧间预测方法的性能增益的效果示意图;
图10为本申请实施例中另一种用于编码视频图像的帧间预测的方法的流程图;
图11为本申请实施例中另一种用于解码视频图像的帧间预测的方法的流程图;
图12A为本申请实施例中另一种用于构建合成merge模式的候选列表的一个或多个邻域块的示意图;
图12B为本申请实施例中图10或11中的加权处理的原理示意图;
图13为本申请实施例中一种视频图像的帧间预测装置的示意性框图;
图14为本申请实施例中一种编码设备或解码设备的示意性框图;
图15为本申请实施例中另一种视频图像的帧间预测方法的流程图;
图16为本申请实施例中另一种视频图像的帧间预测装置的示意性框图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
编码视频流,或者其一部分,诸如视频帧或者图像块可以使用视频流中的时间和空间相似性以改善编码性能。例如,视频流的当前图像块可以通过基于视频流中的先前已编码块预测当前图像块的预测像素值(亦称为预测性块),并识别预测性块和当前图像块(即原始块)之间的差值(亦称为预测残差(Prediction Residual)),从而基于先前已编码块对当前图像块进行编码。以这种方法,仅仅将用于产生当前图像块的残差和一些参数包括于数字视频输出位流中,而不是将当前图像块的整体包括于数字视频输出位流。这种技术可以称为帧间预测。
为了提高当前图像块的预测像素值的准确性,改善编解码性能,例如尽可能地减少需传送的残差值,本申请提出了一种新的帧间预测模式(亦称为组合预测模式),基于组合预测模式对当前图像块执行帧间预测。
本申请实施例的基于组合预测模式对当前图像块执行帧间预测过程中,针对当前图像块内的多个像素块中的当前像素块,在预测当前像素块的预测像素值的过程中,采用了多个加权因子,而多个加权因子的大小关系用于反映当前图像块内的当前像素块与不同位置的邻近块的运动相关性强弱的不同,进而基于多个加权因子对多个邻近块的预测性块中对应于当前像素块位置处的像素块的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值;换言之,本申请实施例中,每个像素块具有与之对应的预测像素值,从而提高了当前图像块内当前像素块的预测精度(换言之,提高当前图像块内各个像素块的预测精度),进而提高了当前图像块像素值的的预测准确度和提高了视频图像的编解码性能。
图1为本申请实施例中所描述的一种实例的视频译码系统1的框图。如本文所使用,术语“视频译码器”一般是指视频编码器和视频解码器两者。在本申请中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。视频译码系统1的视频编码器100和视频解码器200用于根据本申请提出的多种新的帧间预测模式中的任一种所描述的各种方法实例来预测当前经译码图像块或其子块的运动信息,例如运动矢量,使得预测出的运动矢量最大程度上接近使用运动估算方法得到的运动矢量,从而编码时无需传送运动矢量差值,从而进一步的改善编解码性能。
如图1中所示,视频译码系统1包含源装置10和目的地装置20。源装置10产生经编码视频数据。因此,源装置10可被称为视频编码装置。目的地装置20可对由源装置10所产生的经编码的视频数据进行解码。因此,目的地装置20可被称为视频解码装置。源装置10、目的地装置20或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于RAM、ROM、EEPROM、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。
源装置10和目的地装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
目的地装置20可经由链路30从源装置10接收经编码视频数据。链路30可包括能够将经编码视频数据从源装置10移动到目的地装置20的一或多个媒体或装置。在一个实例中,链路30可包括使得源装置10能够实时将经编码视频数据直接发射到目的地装置20的一或多个通信媒体。在此实例中,源装置10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的地装置20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源装置10到目的地装置20的通信的其它设备。
在另一实例中,可将经编码数据从输出接口140输出到存储装置40。类似地,可通过输入接口240从存储装置40存取经编码数据。存储装置40可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。
在另一实例中,存储装置40可对应于文件服务器或可保持由源装置10产生的经编码视频的另一中间存储装置。目的地装置20可经由流式传输或下载从存储装置40存取所存储的视频数据。文件服务器可为任何类型的能够存储经编码的视频数据并且将经编码的视频数据发射到目的地装置20的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接式存储(NAS)装置或本地磁盘驱动器。目的地装置20可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置40的传输可为流式传输、下载传输或两者的组合。
本申请的运动矢量预测技术可应用于视频编解码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、用于存储于数据存储媒体上的视频数据的编码、存储在数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统1可用于支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
图1中所说明的视频译码系统1仅为实例,并且本申请的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
在图1的实例中,源装置10包含视频源120、视频编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
视频编码器100可对来自视频源120的视频数据进行编码。在一些实例中,源装置10经由输出接口140将经编码视频数据直接发射到目的地装置20。在其它实例中,经编码视频数据还可存储到存储装置40上,供目的地装置20以后存取来用于解码和/或播放。
在图1的实例中,目的地装置20包含输入接口240、视频解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码视频数据。显示装置220可与目的地装置20集成或可在目的地装置20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
尽管图1中未图示,但在一些方面,视频编码器100和视频解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器100和视频解码器200各自可实施为例如以下各项的多种电路中的任一者: 一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器100和视频解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
本申请可大体上将视频编码器100称为将某些信息“发信号通知”或“发射”到例如视频解码器200的另一装置。术语“发信号通知”或“发射”可大体上指代用以对经压缩视频数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
视频编码器100和视频解码器200可根据例如高效视频编码(HEVC)等视频压缩标准或其扩展来操作,并且可符合HEVC测试模型(HM)。或者,视频编码器100和视频解码器200也可根据其它业界标准来操作,所述标准例如是ITU-TH.264、H.265标准,或此类标准的扩展。然而,本申请的技术不限于任何特定编解码标准。
在一个实例中,一并参阅图3、图4和图10,视频编码器100用于:将与当前待编码的图像块相关的语法元素编码入数字视频输出位流(简称为位流或码流)(S408、S1008),这里将用于当前图像块帧间预测的语法元素简称为帧间预测数据,其中帧间预测数据可以包括用于指示对当前编码块采用组合预测模式(即本申请提出的一种新的帧间预测模式)进行帧间预测的第一标识;视频编码器100还用于获取至少两个加权因子,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的(S301);基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块(S303);以及基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块(S305);
应当理解的是,如果当前图像块的预测像素值(亦可称为预测性块predictive block)与当前编码图像块(即原始块)之间的差值(即残差)为0,则视频编码器100中只需要将与当前待编码的图像块相关的语法元素编入位流(亦称为码流);反之,除了语法元素外,还需要将相应的残差编入位流。
在另一实例中,一并参阅图3、图5和图11,视频解码器200用于:从位流中解码出与当前解码图像块相关的语法元素(S501),这里将用于当前解码图像块帧间预测的语法元素简称为帧间预测数据,所述帧间预测数据包括用于指示对当前解码图像块采用组合预测模式(即本申请提出的一种新的帧间预测模式)进行帧间预测的第一标识,并基于所述 组合预测模式对当前解码图像块执行帧间预测过程,其中帧间预测过程包括:获取至少两个加权因子,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的(S301);基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块(S303);以及基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块(S305)。
由上可见,本申请实施例中,相对于现有技术中以当前图像块block为一个整体,根据其空域/时域相关性,选择一个最优的候选运动信息作为当前图像块block的运动信息,进而获得当前块的预测像素值而导致局部区域像素值预测不够准确的现象,本申请实施例中,针对当前图像块内的多个像素块中的当前像素块,在预测当前像素块的预测像素值的过程中,采用了多个加权因子,而多个加权因子的大小关系用于反映当前图像块内的当前像素块与不同位置的邻近块的运动相关性强弱的不同,进而基于多个加权因子对多个邻近块的预测性块中对应于当前像素块位置处的像素块的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值;换言之,本申请实施例中,每个像素块具有与之对应的预测像素值,从而提高了当前图像块内当前像素块的预测精度(换言之,提高当前图像块内各个像素块的预测精度),进而提高了当前图像块像素值的的预测准确度和提高了视频图像的编解码性能。
图2A为本申请实施例中所描述的一种实例的视频编码器100的框图。视频编码器100用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器100的经编码视频数据的视频实体的实例,例如媒体感知网络元件(MANE)或拼接/编辑装置。在一些情况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器100可为单独装置的若干部分,而在其它情况下,相对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图1的存储装置40的实例。
视频编码器100可根据本申请提出的包括模式0,1,2…或10的候选帧间预测模式集合中的任一种新的帧间预测模式执行视频图像块的编码,例如执行视频图像块的帧间预测。
在图2A的实例中,视频编码器100包括预测处理单元108、滤波器单元106、经解码图像缓冲器(DPB)107、求和器112、变换器101、量化器102和熵编码器103。预测处理单元108包括帧间预测器110和帧内预测器109。为了图像块重构,视频编码器100还包含反量化器104、反变换器105和求和器111。滤波器单元106既定表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管在图2A中将滤波器单元106示出为环路内滤波器,但在其它实现方式下,可将滤波器单元106实施为环路后滤波器。在一种示例下,视频编码器100还可以包括视频数据存储器、分割单元(图中未示意)。
视频数据存储器可存储待由视频编码器100的组件编码的视频数据。可从视频源120获得存储在视频数据存储器中的视频数据。DPB 107可为参考图像存储器,其存储用于由视频编码器100在帧内、帧间译码模式中对视频数据进行编码的参考视频数据。视频数据存储器和DPB 107可由多种存储器装置中的任一者形成,例如包含同步DRAM(SDRAM)的动态随机存取存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器和DPB 107可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器可与视频编码器100的其它组件一起在芯片上,或相对于那些组件在芯片外。
如图2A中所示,视频编码器100接收视频数据,并将所述视频数据存储在视频数据存储器中。分割单元将所述视频数据分割成若干图像块,而且这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。此分割还可包含分割成条带(slice)、片(tile)或其它较大单元。视频编码器100通常说明编码待编码的视频条带内的图像块的组件。所述条带可分成多个图像块(并且可能分成被称作片的图像块集合)。预测处理单元108可选择用于当前图像块的多个可能的译码模式中的一者,例如多个帧内译码模式中的一者或多个帧间译码模式中的一者,其中所述多个帧间译码模式包括但不限于本申请提出的组合预测模式。预测处理单元108可将所得经帧内、帧间译码的块提供给求和器112以产生残差块,且提供给求和器111以重构用作参考图像的经编码块。
预测处理单元108内的帧内预测器109可相对于与待编码当前块在相同帧或条带中的一或多个相邻块执行当前图像块的帧内预测性编码,以去除空间冗余。预测处理单元108内的帧间预测器110可相对于一或多个参考图像中的一或多个预测块执行当前图像块的帧间预测性编码以去除时间冗余。
具体的,帧间预测器110可用于确定用于编码当前图像块的帧间预测模式。举例来说,帧间预测器110可使用速率-失真分析来计算候选帧间预测模式集合中的各种帧间预测模式的速率-失真值,并从中选择具有最佳速率-失真特性的帧间预测模式。速率失真分析通常确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。例如,帧间预测器110可确定候选帧间预测模式集合中编码所述当前图像块的码率失真代价最小的组合预测模式(本申请提出的一种新的帧间预测模式)为用于对当前图像块进行帧间预测的帧间预测模式。下文将结合图3、图4和图10详细介绍在组合预测模式下的帧间预测过程。
为了得到当前编码块内的多个像素块(例如子块或像素点)的预测像素值,这里以当前编码块内的当前像素块block(x,y)举例说明,帧间预测器110用于基于至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前编码块内的当前像素块的预测像素值,基于当前编码块中的多个像素块的预测像素值,得到当前编码块的预测像素值,其中,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,当前编码块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的,其中:在当前编码块内的当前像素块距第一邻域块的第一距离小于当前编码块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加 权因子大于所述第二加权因子;或,在当前编码块内的当前像素块距第一邻域块的第一距离大于当前编码块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子小于所述第二加权因子;或,在当前编码块内的当前像素块距第一邻域块的第一距离等于当前编码块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子等于所述第二加权因子。
帧间预测器110还用于预测或填充当前编码块的运动信息,下文将结合图4和图10详细介绍。
帧间预测器110还可产生与图像块和视频条带相关联的语法元素以供视频解码器200在对视频条带的图像块解码时使用。又或者,一种示例下,为了得到当前编码块的至少两个预测性块,帧间预测器110还用于基于第一邻域块的运动信息进行运动补偿过程得到第一预测性块,基于第二邻域块的运动信息进行运动补偿过程得到的第二预测性块,以此类推,以得到当前编码块的、包括第一预测性块和第二预测性块的多个预测性块;应当理解的是,这里的帧间预测器110执行运动估计和运动补偿过程。
具体的,在为当前图像块选择帧间预测模式之后,帧间预测器110可将指示当前图像块的所选帧间预测模式的信息提供到熵编码器103,以便于熵编码器103编码指示所选帧间预测模式的信息。在本申请中,视频编码器100可在所发射的位流中包含与当前图像块相关的帧间预测数据,其可包括第一标识(例如index=7或者block_based_flag=1),以表示对当前编码块采用本申请提出的新的帧间预测模式(即组合预测模式)进行帧间预测。
帧内预测器109可对当前图像块执行帧内预测。明确地说,帧内预测器109可确定用来编码当前块的帧内预测模式。举例来说,帧内预测器109可使用速率-失真分析来计算各种待测试的帧内预测模式的速率-失真值,并从待测试模式当中选择具有最佳速率-失真特性的帧内预测模式。在任何情况下,在为图像块选择帧内预测模式之后,帧内预测器109可将指示当前图像块的所选帧内预测模式的信息提供到熵编码器103,以便熵编码器103编码指示所选帧内预测模式的信息。
在预测处理单元108经由帧间预测、帧内预测产生当前图像块的预测性块之后,视频编码器100通过从待编码的当前图像块减去所述预测性块来形成残差图像块。求和器112表示执行此减法运算的一或多个组件。所述残差块中的残差视频数据可包含在一或多个TU中,并应用于变换器101。变换器101使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换器101可将残差视频数据从像素值域转换到变换域,例如频域。
变换器101可将所得变换系数发送到量化器102。量化器102量化所述变换系数以进一步减小位速率。在一些实例中,量化器102可接着执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码器103可执行扫描。
在量化之后,熵编码器103对经量化变换系数进行熵编码。举例来说,熵编码器103可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术。在由熵编码器103熵编码之后,可将经编码位流发射到视频解码器200,或经存档以供稍后发射或由视频解码器200检索。熵编码器103还可对待编码的当前图像块的语法元素进行熵编码。
反量化器104和反变化器105分别应用逆量化和逆变换以在像素域中重构所述残差块, 例如以供稍后用作参考图像的参考块。求和器111将经重构的残差块添加到由帧间预测器110或帧内预测器109产生的预测性块,以产生经重构图像块。滤波器单元106可以适用于经重构图像块以减小失真,诸如方块效应(block artifacts)。然后,该经重构图像块作为参考块存储在经解码图像缓冲器107中,可由帧间预测器110用作参考块以对后续视频帧或图像中的块进行帧间预测。
应当理解的是,视频编码器100的其它的结构变化可用于编码视频流。例如,对于某些图像块或者图像帧,视频编码器100可以直接地量化残差信号而不需要经变换器101处理,相应地也不需要经反变换器105处理;或者,对于某些图像块或者图像帧,视频编码器100没有产生残差数据,相应地不需要经变换器101、量化器102、反量化器104和反变换器105处理;或者,视频编码器100可以将经重构图像块作为参考块直接地进行存储而不需要经滤波器单元106处理;或者,视频编码器100中量化器102和反量化器104可以合并在一起。
图2B为本申请实施例中所描述的一种实例的视频解码器200的框图。在图2B的实例中,视频解码器200包括熵解码器203、预测处理单元208、反量化器204、反变换器205、求和器211、滤波器单元206以及经解码图像缓冲器207。预测处理单元208可以包括帧间预测器210和帧内预测器209。在一些实例中,视频解码器200可执行大体上与相对于来自图2A的视频编码器100描述的编码过程互逆的解码过程。
在解码过程中,视频解码器200从视频编码器100接收表示经编码视频条带的图像块和相关联的语法元素的经编码视频位流。视频解码器200可从网络实体42接收视频数据,可选的,还可以将所述视频数据存储在视频数据存储器(图中未示意)中。视频数据存储器可存储待由视频解码器200的组件解码的视频数据,例如经编码视频位流。存储在视频数据存储器中的视频数据,例如可从存储装置40、从相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。视频数据存储器可作为用于存储来自经编码视频位流的经编码视频数据的经解码图像缓冲器(CPB)。因此,尽管在图2B中没有示意出视频数据存储器,但视频数据存储器和DPB 207可以是同一个的存储器,也可以是单独设置的存储器。视频数据存储器和DPB 207可由多种存储器装置中的任一者形成,例如:包含同步DRAM(SDRAM)的动态随机存取存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。在各种实例中,视频数据存储器可与视频解码器200的其它组件一起集成在芯片上,或相对于那些组件设置在芯片外。
网络实体42可例如为服务器、MANE、视频编辑器/剪接器,或用于实施上文所描述的技术中的一或多者的其它此装置。网络实体42可包括或可不包括视频编码器,例如视频编码器100。在网络实体42将经编码视频位流发送到视频解码器200之前,网络实体42可实施本申请中描述的技术中的部分。在一些视频解码系统中,网络实体42和视频解码器200可为单独装置的部分,而在其它情况下,相对于网络实体42描述的功能性可由包括视频解码器200的相同装置执行。在一些情况下,网络实体42可为图1的存储装置40的实例。
视频解码器200的熵解码器203对位流进行熵解码以产生经量化的系数和一些语法元素。熵解码器203将语法元素转发到预测处理单元208。视频解码器200可接收在视频条 带层级和/或图像块层级处的语法元素。本申请中,在一种示例下,这里的语法元素可以包括与当前解码块相关的帧间预测数据,该帧间预测数据可以包括第一标识(例如index=7或者block_based_flag=1),以表示对当前解码块采用本申请提出的新的帧间预测模式(即组合预测模式)进行帧间预测)。
当视频条带被解码为经帧内解码(I)条带时,预测处理单元208的帧内预测器209可基于发信号通知的帧内预测模式和来自当前帧或图像的先前经解码块的数据而产生当前视频条带的当前解码块的预测块。当视频条带被解码为经帧间解码(即,B或P)条带时,预测处理单元208的帧间预测器210可基于从熵解码器203接收到的语法元素,确定用于对当前视频条带的当前解码块进行解码的帧间预测模式,基于确定的帧间预测模式,对所述当前解码块进行解码(例如执行帧间预测)。具体的,帧间预测器210可确定是否对当前视频条带的当前解码块采用新的帧间预测模式进行预测,如果语法元素指示采用新的帧间预测模式(即组合预测模式)来对当前图像块进行预测,基于新的帧间预测模式(例如通过语法元素指定的一种新的帧间预测模式或默认的一种新的帧间预测模式)预测当前视频条带的当前解码块内的多个像素块(例如像素点或者子块)的预测像素值,从而基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值(亦可称为预测块)。例如,为了得到当前解码块内的多个像素块(例如子块或像素点)的预测像素值,这里以当前解码块内的当前像素块block(x,y)举例说明,帧间预测器210用于基于至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,当前解码块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的,其中:在当前解码块内的当前像素块距第一邻域块的第一距离小于当前解码块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子大于所述第二加权因子;或,在当前解码块内的当前像素块距第一邻域块的第一距离大于当前解码块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子小于所述第二加权因子;或,在当前解码块内的当前像素块距第一邻域块的第一距离等于当前解码块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子等于所述第二加权因子。
下文将结合图3、图5和图11详细介绍在组合预测模式下的用于解码图像的帧间预测过程。
帧间预测器210还用于预测或填充当前解码块的运动信息,这里的运动信息可以包括参考图像信息和运动矢量,其中参考图像信息可以包括但不限于参考图像列表号和参考图像列表对应的参考图像索引。视频解码器200可基于存储在DPB 207中的参考图像来建构参考图像列表,即列表0和列表1。当前图像的参考帧索引可包含于参考帧列表0和列表1中的一或多者中。下文将结合图5和图11详细介绍。
为了得到当前解码块的至少两个预测性块,帧间预测器210还用于基于第一邻域块的运动信息进行运动补偿过程得到第一预测性块,基于第二邻域块的运动信息进行运动补偿 过程得到的第二预测性块,以此类推,以得到当前解码块的、包括第一预测性块和第二预测性块的多个预测性块。应当理解的是,这里的帧间预测器210执行运动补偿过程。
反量化器204将在位流中提供且由熵解码器203解码的经量化变换系数逆量化,即去量化。逆量化过程可包括:使用由视频编码器100针对视频条带中的每个图像块计算的量化参数来确定应施加的量化程度以及同样地确定应施加的逆量化程度。反变换器205将逆变换应用于变换系数,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残差块。
在帧间预测器210产生用于当前图像块或当前图像块的子块的预测块之后,视频解码器200通过将来自反变换器205的残差块与由帧间预测器210产生的对应预测性块求和以得到重建的块,即经解码图像块。求和器211表示执行此求和操作的组件。在需要时,还可使用环路滤波器(在解码环路中或在解码环路之后)来使像素转变平滑或者以其它方式改进视频质量。滤波器单元206可以表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)以及样本自适应偏移(SAO)滤波器。尽管在图2B中将滤波器单元206示出为环路内滤波器,但在其它实现方式中,可将滤波器单元206实施为环路后滤波器。在一种示例下,滤波器单元206适用于重建块以减小块失真,并且该结果作为经解码视频流输出。并且,还可以将给定帧或图像中的经解码图像块存储在经解码图像缓冲器207中,经解码图像缓冲器207存储用于后续运动补偿的参考图像。经解码图像缓冲器207可为存储器的一部分,其还可以存储经解码视频,以供稍后在显示装置(例如图1的显示装置220)上呈现,或可与此类存储器分开。
应当理解的是,视频解码器200的其它结构变化可用于解码经编码视频位流。例如,视频解码器200可以不经滤波器单元206处理而生成输出视频流;或者,对于某些图像块或者图像帧,视频解码器200的熵解码器203没有解码出经量化的系数,相应地不需要经反量化器204和反变换器205处理。
下文将详细的阐述本申请在新的帧间预测模式(即组合预测模式)下,预测当前图像块内当前像素块(例如当前像素点或者当前子块)的预测像素值的过程。
本申请实施例一:本实施例中给出了基于像素点的组合Merge预测模式下的帧间预测方法,根据当前编码块与邻域块存在的空域/时域相关性,且相关性的强弱与像素点和邻域块间的距离呈反相关,即距离越远,相关性越弱,反之,距离越近,相关性越强。
图4是示出根据本申请实施例一的用于编码视频图像的帧间预测过程400的流程图。过程400可由视频编码器100执行,具体的,可以由视频编码器100的帧间预测器110来执行。过程400描述为一系列的步骤或操作,应当理解的是,过程400可以以各种顺序执行和/或同时发生,不限于图4所示的执行顺序。假设具有多个视频帧的视频数据流正在使用视频编码器或者视频解码器,执行包括如下步骤的过程400来预测当前视频帧的当前图像块内的当前像素点的预测像素值,进而预测当前视频帧的当前图像块的预测像素值;
步骤401,开始;
步骤402,确定当前编码块600存在的邻域块的位置和个数;
如图6所示,构建当前编码块的Merge模式候选运动信息列表(简称候选列表),统计候选列表中各个邻域块的位置信息、可用邻域块个数和具体位置标号。如图6所示,A1表示当前编码块的左侧的最下方,B1表示当前编码块的上方最右侧,B0表示当前编码块 的右上方,A0表示当前编码块的左下方,B2表示当前编码块的左上方。TMVP表示当前编码块的同位图像块(co-located block 602)的右下方。P1-P6表示使用对应的邻域块的运动信息(例如MV)进行运动补偿得到的当前编码块的预测性块;例如,P1表示使用A1位置的空域邻近块的运动信息进行运动补偿得到的当前编码块的预测性块;P6表示使用邻近已编码图像中同位图像块的运动信息进行运动补偿而得到的当前编码块的预测性块。尤其需要说明的是,时域邻近块TMVP已映射到当前图像块的右下角位置。
步骤403,判断满足条件的邻域块(即可用邻近块)的个数是否大于或等于2;
在Merge模式下,首先要利用空、时域邻近块为当前编码块建立候选列表,对于当前编码块的某个邻近块,若该邻近块位于候选列表中,则可以认为该邻近块是可用的,否则不可用。不可用的意思,例如可以指邻近块的编码模式采用帧内编码或者邻近块不存在。举个不存在的情况,假设当前编码块在该帧的最左侧,则左侧(A1)和左下角(A0)不存在。
步骤404,如果可用邻域块个数大于或等于2,则对所有可用邻域块,分别利用其运动信息对当前图像块block进行运动补偿,得到对应的运动补偿块(亦称为预测性块)。分别标记为P 1、P 2、P 3、P 4、P 5、P 6。例如,假设图6中A1为可用的邻域块,使用A1块的运动信息进行运动补偿得到对应的运动补偿块P 1
步骤405,对上述得到的至少两个预测性块,基于当前编码块内当前像素点与至少两个邻域块的空域相对位置关系做加权处理,以得到当前编码块内当前像素点的预测像素值,进而基于当前编码块内多个像素点的预测像素值得到当前编码块的预测像素值;
其中,加权处理的公式如下:
Figure PCTCN2018088763-appb-000001
在一个示例下,公式(1)也可以表示为:
Figure PCTCN2018088763-appb-000002
其中归一化加权系数
Figure PCTCN2018088763-appb-000003
其中,P(x,y)表示当前图像块位置(x,y)处像素点的预测值(亦可称为预测像素值,Prediction sample value),W i(x,y)表示距离当前像素点(x,y)的不同位置邻域块对应的权值(亦称为加权因子或加权系数),P i(例如P 1、P 2、P 3、P 4、P 5、P 6)表示不同位置的邻域块所对应的预测性块(即,使用不同位置的邻域块的运动信息进行运动补偿得到的运动 补偿块,运动补偿块的size与当前图像块的size相同),若图6中邻域块A1存在,则利用邻域块A1的运动信息获得一个运动补偿块记为P 1,若图6中邻域块A0存在,则利用邻域块A0的运动信息获得一个运动补偿块记为P 2。P i(x,y)表示不同位置的邻域块所对应的预测性块内对应于像素点(x,y)位置处的像素值(即,不同位置的邻域块所对应的运动补偿块内处于(x,y)位置处的像素值),W表示当前编码块的宽度,H表示当前编码块的高度。
需要说明的是,这里的n表示可用邻域块的个数,尤其需要说明的是,n>=2的情况下使用本申请实施例。结合图6可知,在不同示例下,可以使用2个或3个或4个或5个或6个可用邻域块。
其中加权因子W i(x,y)可以通过以下几种方法来确定:
方法1:基于切比雪夫距离确定加权因子;
二维平面两点a(x 1,y 1)与b(x 2,y 2)间的切比雪夫距离为d ab=max(|x 1-x 2|,|y 1-y 2|),距离示意图如图7A所示,如图7A所示,实心黑圈表示a点,而周边的小方块表示b点,其中小方块中的数值表示a和b两点之间的切比雪夫距离。
根据当前编码块像素点距各个邻域块的切比雪夫距离来确定或设定权值,距离越远,权值越小;距离越近,权值越大。
切比雪夫距离:在数学中,切比雪夫距离或是L∞度量是向量空间中的一种度量,二个点之间的距离定义是其各坐标数值差绝对值的最大值。
在一种实现方式下,根据当前编码块的当前像素点与至少两个可用邻域块的切比雪夫距离,确定至少两个加权因子(所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,其中所述第一加权因子用于对第一预测性块内对应于当前像素点位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块内的对应于当前像素点位置处的像素值进行加权,当前图像块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于第一邻域块的运动信息进行运动补偿得到的,所述第二预测性块是基于第二邻域块的运动信息进行运动补偿得到的,其中:
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离小于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离大于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离等于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子等于所述第二加权因子。
如表-1所示,加权因子与切比雪夫距离的关系如下:
Figure PCTCN2018088763-appb-000004
表-1
其中,W为当前编码块的宽度,H为当前编码块的高度。如上表-1所示,加权因子是基于对应的切比雪夫距离的反相关函数而得到的。以左侧邻近块A1来解释说明,为了计算方便,可以将左侧邻近块A1当做左边一列来对待,即(-1,y),当前像素点即(x,y),即d ab=max(|x+1|,|y-y|)=x+1,故切比雪夫距离为x+1;以上侧邻近块B1来解释说明,为了计算方便,可以将上侧邻近块B1当做上边一行来对待,即(x,-1),当前像素点即(x,y),即d ab=max(|x-x|,|y-(-1)|)=y+1,故切比雪夫距离为y+1,同理可得,这里不再赘述。
在一种具体示例下,如果邻域块位置为B0,假设W=4,H=4,图7B中的(a)表示编码块内每个像素点的位置坐标(x,y),图7B中的(b)中每个方块示意邻近块B0距每个像素点位置(x,y)的切比雪夫距离,图7B中的(c)为依据切比雪夫距离为每个像素点确定或设定的权值。
方法2:基于曼哈顿距离(亦称为城市街区距离)确定加权因子;
二维平面两点a(x 1,y 1)与b(x 2,y 2)间的曼哈顿距离:d ab=|x 1-x 2|+|y 1-y 2|,距离示意图如图8A所示。
根据当前编码块像素点距各个邻域块的曼哈顿距离确定或设定权值(即加权因子或加权系数),距离越远,权值越小;距离越近,权值越大。
曼哈顿距离:出租车几何或曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。
在一种实现方式下,根据当前编码块的当前像素点与至少两个可用邻域块的曼哈顿距离,为不同预测性块中对应于当前像素点位置的像素值确定或设定对应的加权因子,其中该加权因子的个数与可用邻域块的个数相同,至少两个加权因子之和为1。所述当前编码块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于第一邻域块的运动矢量进行运动补偿得到的,所述第二预测性块是基于第二邻域块的运动矢量进行运动补偿得到的,所述至少两个加权因子包括第一加权因子和第二加权因子,其中所述第一加权因子用于对第一预测性块内对应于当前像素点位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块内的对应于当前像素点位置处的像素值进行加权,其中:
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离小于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离大于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离等于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子等于所述第二加权因子。
如表-2所示,加权因子与曼哈顿距离的关系如下:
Figure PCTCN2018088763-appb-000005
表-2
其中,W为当前编码块的宽度,H为当前编码块的高度。如上表-2所示,加权因子是基于对应的曼哈顿距离的反相关函数而得到的。以邻近块A1来解释说明,为了计算方便, 可以将左侧邻近块A1当做左边一列来对待,即(-1,y),当前像素点即(x,y),即d ab=|x-(-1)|+|H-y-1|=H+x-y,故曼哈顿距离为H+x-y,同理可得,这里不再赘述。
在一种示例下,如果邻域块位置为B1/B0,假设W=4,H=4;图8B中的(a)为编码块内每个像素点的位置坐标(x,y),图8B中的(b)为邻域块B1/B0距每个像素点位置(x,y)的曼哈顿距离,图8B中的(c)为依据曼哈顿距离为每个像素点确定或设定的权值。
方法3:基于欧式距离确定加权因子;
二维平面两点a(x 1,y 1)与b(x 2,y 2)间的欧式距离:
Figure PCTCN2018088763-appb-000006
距离示意图如图9A所示。
根据当前编码块像素点距各个邻域块的欧式距离确定或设定权值(即加权因子或加权系数),距离越远,权值越小;距离越近,权值越大。
欧式距离:欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
在一种实现方式下,根据当前编码块的当前像素点与至少两个可用邻域块的欧式距离,为不同预测性块中对应于当前像素点位置的像素值确定或设定对应的加权因子,其中该加权因子的个数与可用邻域块的个数相同,至少两个加权因子之和为1。其中当前图像块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于第一邻域块的运动矢量进行运动补偿得到的,所述第二预测性块是基于第二邻域块的运动矢量进行运动补偿得到的。所述至少两个加权因子包括第一加权因子和第二加权因子,其中所述第一加权因子用于对第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
在当前图像块内的当前像素块距第一邻域块的第一欧式距离小于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一欧式距离大于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一欧式距离等于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子等于所述第二加权因子。
如表-3所示,加权因子与欧式距离的关系如下:
Figure PCTCN2018088763-appb-000007
表-3
其中,W为当前编码块的宽度,H为当前编码块的高度。如上表-3所示,加权因子是基于对应的欧式距离d ab的反相关函数而得到的。以邻近块A1来解释说明,为了计算方便,可以将左侧邻近块A1当做左边一列来对待,即(-1,y),当前像素点即(x,y),即 故欧式距离为x+1,同理可得,这里不再赘述。
在一种示例下,如果邻域块位置为A1,假设W=4,H=4;图9B中的(a)用于示意编码块内每个像素点的位置坐标(x,y),图9B中的(b)用于示意邻域块A1距每个像素点位置(x,y)的欧氏距离距离,图9B中的(c)用于示意依据欧氏距离为每个像素点确定或设定的权值。
需要说明的是,上面表-1、表-2或表-3中示意的加权因子,在使用加权因子进行加权处理之前,可以先进行归一化处理,举例说明,针对三个加权因子(2,3,5),归一化处理是将它们按比例缩小到范围0到1之间,并且缩小后的各个数值之和为1,即(0.2,0.3,0.5)。
步骤406,获得编码块之后,为了便于后续编码块利用此编码块做参考,对此编码块填充运动信息。
在一种示例下,采用Merge模式候选列表中第一个可用的运动信息做填充,即确定当前编码块的候选列表中的多个候选运动信息中排在首位置的候选运动信息为当前编码块的运动信息;
例如,候选列表建立顺序变为A1→B1→B0→A0→ATMVP→STMVP→(B2)→时域候选列表,其中B2为替补,即当A1,B1,B0,A0,ATMVP和STMVP中有一个或者多个不存在时,则使用B2的运动信息。或者,例如,候选列表建立顺序变为A1→B1→B0→A0→(B2)→时域候选列表,其中B2为替补,即当A1,B1,B0,A0中有一个或者多个不存在时,则使用B2的运动信息。
步骤407,确定多种帧间预测模式中编码所述当前图像块的码率失真代价最小的组合预测模式为用于对当前编码块进行帧间预测的帧间预测模式;
在得到当前编码块的预测像素值(即预测块)后,使用Index=7表示该新模式(即组合预测模式),然后进行Merge模式候选列表率失真代价(RDC)比较,根据RDC比较结果选择编码所述当前图像块的率失真代价最小的组合预测模式为用于对当前编码块进行帧间预测的帧间预测模式;
步骤408,将帧间预测数据编入码流,其中所述帧间预测数据包括:用于指示对当前图像块采用组合预测模式进行帧间预测的第一标识;
采用现有标准中的熵编码方法把Index=7传至解码端。若使用现有标准中候选列表中的率失真代价为最小,则传送率失真代价最小的索引值,例如,为0-6中的某一个。
步骤409,结束。
由上可见,基于当前编码块内当前像素点与不同可用邻近块的相对位置关系,为当前像素点确定或设置多个加权因子,加权因子的个数与可用邻近块(或预测性块)的个数相同,基于多个加权因子对多个预测性块中对应于当前像素点的像素值进行加权处理,以得到当前编码块内当前像素点的预测像素值,进而得到当前编码块的预测像素值,提高了编码块像素值的预测准确度,从而提高了视频图像的编解码性能。如图7C、8C和9C所示,本申请实施例在参考软件JEM7.0和HM16.7的参考平台上实现,测试条件为JVET和HEVC的通测条件,采用BD-Rate做为编码性能(编码性能指在相同的编码重建视频质量下的比特节省)的评价指标,负值表示编码性提高,正值表示编码性能损失,测试序列为420的YUV格式,对应有三组数据,分别是亮度(Y)、色度(U、V)分量。
图5是示出根据本申请一种实施例的用于解码视频图像的帧间预测过程500的流程图。过程500可由视频解码器200执行,具体的,可以由视频解码器200的帧间预测器210来执行。过程500描述为一系列的步骤或操作,应当理解的是,过程500可以以各种顺序执行和/或同时发生,不限于图5所示的执行顺序。假设具有多个视频帧的视频数据流正在使用视频解码器,执行包括如下步骤的过程500来预测当前视频帧的当前解码图像块内的当前像素点的预测像素值,进而预测当前视频帧的当前解码图像块的预测像素值;
步骤501,开始;
步骤501,解码码流,以得到包括第一标识的帧间预测数据;确定所述第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式;
若解码端(例如视频解码器200)从码流中解析出Index=7,采用与编码端(例如视频编码器100)相似的方法得到当前解码图像块的预测像素值。
步骤503,确定当前解码块存在的邻域块的位置和个数;
一并参阅图6,构建当前解码块的Merge模式候选运动信息列表(简称候选列表),统计候选列表中各个邻域块的位置信息、可用邻域块个数和具体位置标号。如图6所示,A1表示当前解码块的左侧的最下方,B1表示当前解码块的上方最右侧,B0表示当前解码块的右上方,A0表示当前解码块的左下方,B2表示当前编码快的左上方。TMVP表示当前解码块的同位图像块(co-located block 602)的右下方。P1-P6表示使用对应的邻域块的运动信息进行运动补偿得到的当前解码块的预测性块;例如,P1表示使用A1位置的空域邻 近块的运动信息进行运动补偿得到的当前解码块的预测性块;P6表示使用邻近已编码图像中同位图像块的运动信息进行运动补偿而得到的当前解码块的预测性块。
步骤504,判断满足条件的邻域块(即可用邻近块)的个数是否大于或等于2;
步骤505,如果可用邻域块个数大于或等于2,则对所有可用邻域块,分别利用其运动信息对当前图像块block进行运动补偿,得到对应的运动补偿块(亦称为预测性块)。分别标记为P 1、P 2、P 3、P 4、P 5、P 6
步骤506,对上述得到的至少两个预测性块,基于当前解码块内当前像素点与至少两个邻域块的空域相对位置关系做加权处理,以得到当前解码块内当前像素点的预测像素值,进而基于当前解码块内多个像素点的预测像素值得到当前解码块的预测像素值;
其中,加权处理的公式如下:
Figure PCTCN2018088763-appb-000009
在一个示例下,公式(1)也可以表示为:
Figure PCTCN2018088763-appb-000010
其中归一化加权系数
Figure PCTCN2018088763-appb-000011
其中,P(x,y)表示当前解码块位置(x,y)处像素点的预测值(亦可称为预测像素值,Prediction sample value),W i(x,y)表示距离当前像素点(x,y)的不同位置邻域块对应的权值(亦称为加权因子或加权系数),P i(例如P 1、P 2、P 3、P 4、P 5、P 6)表示不同位置的邻域块所对应的预测性块(即,使用不同位置的邻域块的MV进行运动补偿得到的运动补偿块,运动补偿块的size与当前图像块的size相同),若图6中邻域块A1存在,则利用邻域块A1的运动信息获得一个运动补偿块记为P 1,若图6中邻域块A0存在,则利用邻域块A0的运动信息获得一个运动补偿块记为P 2。P i(x,y)表示不同位置的邻域块所对应的预测性块内对应于像素点(x,y)位置处的预测像素值(即,不同位置的邻域块所对应的运动补偿块内处于(x,y)位置处的预测像素值),W表示当前解码块的宽度,H表示当前解码块的高度,W*H表示块尺寸大小(blksize)。
应当理解的是,为了便于描述,本申请实施例中以当前图像块600中的当前像素点(x,y) 作为代表来描述当前像素点(x,y)的预测像素值的预测过程,当前图像块600中的每个像素点的预测像素值的预测过程可参见本实施例所述,在此不再赘述。
需要说明的是,这里的n表示可用邻域块的个数,尤其需要说明的是,n>=2的情况下使用本申请实施例。结合图6可知,在不同示例下,可以使用2个或3个或4个或5个或6个可用邻域块。
其中加权因子W i(x,y)的三种确定方法参见图4所示的实施例,这里不再赘述。
步骤507,获得解码块之后,为了便于后续解码块利用此解码块做参考,对此解码块填充运动信息。
在一种示例下,采用Merge模式候选列表中第一个可用的运动信息做填充,即确定当前解码块的候选列表中的多个候选运动信息中排在首位置的候选运动信息为当前解码块的运动信息;
例如,候选列表建立顺序变为A1→B1→B0→A0→ATMVP→STMVP→(B2)→时域候选列表,其中B2为替补,即当A1,B1,B0,A0,ATMVP和STMVP中有一个或者多个不存在时,则使用B2的运动信息。或者,例如,候选列表建立顺序变为A1→B1→B0→A0→(B2)→时域候选列表,其中B2为替补,即当A1,B1,B0,A0中有一个或者多个不存在时,则使用B2的运动信息。
步骤508,结束。
需要说明的是,本实施例中的步骤503-507分别对应于图4所示实施例的步骤402-406,这里不再赘述。
由上可见,基于当前解码块内当前像素点与不同可用邻近块的相对位置关系,为当前像素点确定或设置多个加权因子,加权因子的个数与可用邻近块(或预测性块)的个数相同,基于多个加权因子对多个预测性块中对应于当前像素点的像素值进行加权处理,以得到当前解码块内当前像素点的预测像素值,进而得到当前解码块的预测像素值,提高了解码块像素值的预测准确度,从而提高了视频图像的解码性能。
本申请实施例二:本实施例中给出了基于M×N像素块的Merge组合预测模式下的帧间预测方法,根据当前编码块与邻域块存在的空域/时域相关性,且相关性的强弱与像素块和邻域块间的距离呈反相关,即距离越远,相关性越弱,反之,距离越近,相关性越强。
“M×N”与“M乘N”可互换使用以指依照水平维度及垂直维度的图像块的像素尺寸,即在水平方向上具有M个像素,且在垂直方向上具有N个像素,其中M、N表示正整数值。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例说明,这里的M=N=4,当然当前图像块内像素块的大小也可以是8x8像素,8x4像素,或4x8像素。此外,本申请描述的图像块可以理解为包括但不限于:预测单元(prediction unit,PU)或者编码单元(coding unit,CU)或者变换单元(transform unit,TU)等。根据不同视频压缩编解码标准的规定,CU可包含一个或多个预测单元PU,或者CU和PU的尺寸相同。图像块可具有固定或可变的大小,且根据不同视频压缩编解码标准而在大小上不同。此外,当前图像块是指当前待编码或解码的图像块,例如待编码或解码的预测单元。
为了简化描述,下文以像素块表示M×N像素块。
图10是示出根据本申请实施例二的用于编码视频图像的帧间预测过程1000的流程图。过程1000可由视频编码器100执行,具体的,可以由视频编码器100的帧间预测器110来执行。过程1000描述为一系列的步骤或操作,应当理解的是,过程1000可以以各种顺序执行和/或同时发生,不限于图10所示的执行顺序。假设具有多个视频帧的视频数据流正在使用视频编码器,执行包括如下步骤的过程1000来预测当前视频帧的当前图像块内的当前像素块的预测像素值,进而预测当前视频帧的当前图像块的预测像素值;
步骤1001,开始;
步骤1002,确定当前编码块600存在的邻域块的位置和个数;
如图12A所示,构建当前编码块的Merge模式候选列表,构建候选列表的顺序和实施例一相同。统计候选列表中各个邻域块的位置信息,如图12A所示。块B2位于左上角;块B1,B0位于右上角;块A1,A0位于左下角;块TMVP位于当前图像块的同位块(co-located block)右下角。
步骤1003,判断满足条件的邻域块(即可用邻近块)的个数是否大于或等于2;
统计当前编码块四个角邻域块的使用情况,并根据邻域块的运动信息进行运动补偿得到对应位置的预测像素块P i(i=0,1,2,3分别表示左上、右上、左下和右下位置),各位置块的具体说明如下:
若块B2存在,则利用B2的运动信息获得P 0,否则P 0不可用;
若块B1存在,则利用B1的运动信息获得P 1,否则,若块B0存在,则利用B0的运动信息获得P 1,否则P 1不可用;
若块A1存在,则利用A1的运动信息获得P 2,否则,若块A0存在,则利用A0的运动信息获得P 2,否则P 2不可用;
若块TMVP存在,则利用TMVP的运动信息获得P 3,否则P 3不可用。
步骤1004,如果可用邻域块个数大于或等于2,则对所有可用邻域块,分别利用其运动信息对当前图像块block进行运动补偿,得到对应的运动补偿块(亦称为预测性块)。
对于P 0、P 1、P 2、P 3,若其中P 0、P 1、P 2、P 3有至少两个可用的,即可以理解为,四个方向的预测性块(亦称为运动补偿块)中不少于两个方向的预测性块可用,则对所有可用的预测性块进行基于方向的组合加权,得到一个新的预测性块。如图12B所示,在一种示意方式下,将当前编码块平均划分为四个部分:左上Block LT,右上Block RT,左下Block LB,右下Block RB,应当理解的是,如果图12B中的当前图像块被划分成4个子块,则P 0、P 1、P 2、P 3(若四个预测性块均可用)中的每个预测像素块也会被划分成4个子块;需要说明 的是,不同于实施例一,因为在实施例一中,如果仅仅A1和A0均可用的,是需要使用本申请实施例方法;但在实施例二中,即使A1和A0均可用,只取一个运动矢量进行运动补偿得到一个预测性块,因为只有一个可用预测性块,故不会使用本申请实施例方法。
例如,将P 0、P 1、P 2、P 3(若四个预测性块均可用)平均划分为四个部分,P i_LT、P i_RT、P i_LB、P i_RB(i=0,1,2,3);应当理解的是,如果只有P 0、P 1可用,则仅将P 0、P 1,平均划分为P i_LT、P i_RT、P i_LB、P i_RB(i=0,1,2,3);
步骤1005,对上述得到的至少两个预测性块,基于当前编码块内当前像素块与至少两个邻域块的空域相对位置关系做加权处理,以得到当前编码块内当前像素块的预测像素值,进而基于当前编码块内多个像素块的预测像素值得到当前编码块的预测像素值;
当前图像块block四个方向的每一个像素块(亦可称为子块或小块)的预测像素值由P 0、P 1、P 2、P 3(若存在)对应位置的像素块(亦可称为子块或小块)加权得到;应当理解的是,如果只有P 0、P 1,可用,当前图像块block四个方向的每一个像素块(亦可称为子块或小块)的预测像素值由P 0、P 1对应位置的像素块(亦可称为子块或小块)的像素值加权得到;
如图12B所示,P 0、P 1、P 2、P 3对应四个方向的小块标记为0,1,1,2,用于示意子块对应的加权因子;
P 0、P 1、P 2、P 3对应四个方向的小块有四组权值,见表-4:
W P 0 P 1 P 2 P 3
W LT 2 1 1 0
W RT 1 2 0 1
W LB 1 0 2 1
W RB 0 1 1 2
表-4
需要说明的是,也可以将当前编码块平均划分成16个子块,则P 0、P 1、P 2、P 3(若四个预测性块均可用)中的每个预测像素块也会被划分成16个子块;相应地,上表的加权因子列(即第一列)就有16个加权因子;换言之,即每个子块对应有一个加权因子(即权值)。而极限情况下,子块即为单个像素点,那就是每个像素点对应有一个加权因子(即权值),这在本申请实施例一中进行了描述。
例如,对于当前图像块block左上角的像素块Block LT,对应于P 0、P 1、P 2、P 3左上角像素块的权值分别是上表中第二行的四个加权因子(即权值),在一种示例下,Block LT的预测像素值通过如下算式计算得到:
Figure PCTCN2018088763-appb-000012
在一种示例下,公式2也可以表示为:
Figure PCTCN2018088763-appb-000013
其中归一化加权系数
Figure PCTCN2018088763-appb-000014
其中,LT表示的是当前图像块内左上角的子块。Block LT(x,y)表示当前图像块内左上角的子块(x,y)处像素点的预测值(亦可称为预测像素值,Prediction sample value),W TL  i_P表示用于对预测性块P i内左上角的子块的像素值进行加权的加权因子,P i表示不同位置的邻域块所对应的预测性块(亦称为运动补偿块,即使用不同位置的邻域块的运动信息进行运动补偿得到的运动补偿块,运动补偿块的size与当前图像块的size相同),P i_LT(x,y)中(x,y)是表示P i_LT子块中的像素点的位置;P i_LT(x,y)表示不同位置的邻域块所对应的预测性块(例如P 0、P 1、P 2、P 3)内的左上角子块P i_LT中对应于像素点(x,y)位置处的像素值。
应当理解的是,假设P 0、P 1、P 2、P 3四个预测性块均可用,则公式(2)中的i的取值为{0,1,2,3},即可获得四个方向的预测性块;假设P 0、P 1、P 2、P 3四个预测性块中仅P 0、P 1两个预测性块可用,则公式(2)中的i的取值为{0,1},即可获得两个方向的预测性块。
同理,可求得当前图像块block右上Block RT、左下Block LB、右下Block RB三个像素块的预测像素值。最后将这四个像素块的像素值组合起来得到当前图像块的预测块(即当前图像块的预测像素值),换言之,即将四个像素块按相对位置关系拼接起来得到当前图像块的预测块。
步骤1006,获得当前编码块的预测像素值(即当前编码块的预测块)之后,为了便于后续编码块利用此编码块做参考,对此编码块填充运动信息。
获得编码块之后,为了方便后续编码块利用此编码块做参考,对此编码块需做运动信息的填充。在一种示例下,运动信息的填充方法如下:
将当前编码块分为左上、右上、左下、右下四个部分(左上块Block LT,右上块Block RT,左下块Block LB,右下块Block RB),分别对每个部分回填MV信息,回填方式如下:
左上块Block LT:按顺序B2(TL)→A1(L)→B1(L)→B0(TR)→A0(LB)检测邻块的可用性,将第一个可用邻块的MV信息赋给左上块Block LT;其中,此顺序B2(TL)→A1(L)→B1(L)→B0(TR)→A0(LB)可以理解为:距离左上块Block LT较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如A1和B1距左上块Block LT的距离相同,但在候选列表的构建顺序中,A1排在B1的前面,故在检测可用性的排序里A1也排在B1的前面)。
右上块Block RT:按顺序B1→B0→B2→TMVP检测邻块的可用性,将第一个可用邻块的运动信息赋给右上块Block RT;其中,此顺序B1→B0→B2→TMVP可以理解为:距离右上块Block RT较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如B1和B0距右上Block RT的距离相同,但在候选列表的构建顺序中,B1排在B0的前面,故在检测可用性的排序里B1也排在B0的前面)。
左下块Block LB:按顺序A1→A0→B2→TMVP检测邻块的可用性,将第一个可用邻块的运动信息赋给左下块Block LB;其中,此顺序A1→A0→B2→TMVP可以理解为:距离左下块Block LB较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如A1和A0距左下块Block LB的距离相同,但在候选列表的构建顺序中,A1排在A0的前面,故在检测可用性的排序里A1也排在A0的前面)。
右下块Block RB:按顺序TMVP→A1→B1→B0→A0检测邻块的可用性,将第一个可用邻块的运动信息赋给右下块Block RB;其中,此顺序TMVP→A1→B1→B0→A0可以理解为:距离右下块Block RB较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如B0和A0距右下块Block RB的距离相同,但在候选列表的构建顺序中,B0排在A0的前面,故在检测可用性的排序里B0也排在A0的前面)。
步骤1007,确定多种帧间预测模式中编码所述当前图像块的码率失真代价最小的组合 预测模式为用于对当前编码块进行帧间预测的帧间预测模式;
在得到当前编码块的预测像素值(即预测块)后,在进行Merge模式候选列表率失真代价(RDC)比较时,将本申请提出的组合预测模式也纳入到RDC比较过程中,例如,针对现有帧间预测模式(例如Merge模式)计算率失真代价,把率失真代价最小的候选运动信息和利用本申请实施例方法得到的重建块做率失真代价比较,若本申请实施例方法得到的重建块的率失真代价最小,则确定多种帧间预测模式中编码所述当前图像块的率失真代价最小的组合预测模式为用于对当前图像块进行帧间预测的帧间预测模式。
步骤1008,将帧间预测数据编入码流,其中所述帧间预测数据包括:用于指示对当前图像块采用组合预测模式进行帧间预测的第一标识;
一种示例下,用一个标志位flag表示当前图像块是否使用该组合预测模式。若RDC比较后选择了该新模式,标志位设为1,否则为0。采用现有标准中的熵编码方法把flag=1传至解码端。若使用现有标准中候选列表中的率失真代价为最小,则传送率失真代价最小的索引值(对应于所选择的候选运动信息),例如,为0-6中的某一个。
步骤1009,结束。
由上可见,基于当前编码块内当前像素块与不同可用邻近块的相对位置关系,为当前像素块确定或设置多个加权因子,加权因子的个数与可用邻近块(或预测性块)的个数相同,基于多个加权因子对多个预测性块中对应于当前像素块位置处的像素值进行加权处理,以得到当前编码块内当前像素块的预测像素值,进而得到当前编码块的预测像素值,提高了编码块像素值的预测准确度,从而提高了视频图像的编解码性能。
图11是示出根据本申请另一种实施例的用于解码视频图像的帧间预测过程1100的流程图。过程1100可由视频解码器200执行,具体的,可以由视频解码器200的帧间预测器210来执行。过程1100描述为一系列的步骤或操作,应当理解的是,过程1100可以以各种顺序执行和/或同时发生,不限于图11所示的执行顺序。假设具有多个视频帧的视频数据流正在使用视频解码器,执行包括如下步骤的过程1100来预测当前视频帧的当前解码图像块内的当前像素块的预测像素值,进而预测当前视频帧的当前解码图像块的预测像素值;
步骤1101,开始;
步骤1102,解码码流,以得到包括第一标识的帧间预测数据;确定所述第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式;
若解码端(例如视频解码器200)从码流中解析出flag=1,采用与编码端(例如视频编码器100)相似的方法得到当前解码图像块的预测像素值。
步骤1103,确定当前解码块存在的邻域块的位置和个数;
一并参阅图12A,构建当前编码块的Merge模式候选列表,构建候选列表的顺序和实施例一相同。统计候选列表中各个邻域块的位置信息,如图12A所示。块B2位于左上角;块B1,B0位于右上角;块A1,A0位于左下角;块TMVP位于当前图像块的同位块(co-located block)右下角。
步骤1104,判断满足条件的邻域块(即可用邻近块)的个数是否大于或等于2;
步骤1105,如果可用邻域块个数大于或等于2,则对所有可用邻域块,分别利用其运动信息对当前图像块block进行运动补偿,得到对应的运动补偿块(亦称为预测性块)。
步骤1106,对上述得到的至少两个预测性块,基于当前解码块内当前像素块与至少两个邻域块的空域相对位置关系做加权处理,以得到当前解码块内当前像素块的预测像素值,进而基于当前解码块内多个像素块的预测像素值得到当前解码块的预测像素值;
例如,对于当前图像块block左上角的像素块Block LT,对应于P 0、P 1、P 2、P 3左上角像素块的权值分别是上表中第二行的四个加权因子(即权值),在一种示例下,Block LT的预测像素值通过如下算式计算得到:
Figure PCTCN2018088763-appb-000015
在一种示例下,公式2也可以表示为:
Figure PCTCN2018088763-appb-000016
其中归一化加权系数
Figure PCTCN2018088763-appb-000017
其中,LT表示的是当前图像块内左上角的子块。Block LT(x,y)表示当前图像块内左上角的子块(x,y)处像素点的预测值(亦可称为预测像素值,Prediction sample value),
Figure PCTCN2018088763-appb-000018
表示用于对预测性块P i内左上角的子块的像素值进行加权的加权因子,P i表示不同位置的邻域块所对应的预测性块(亦称为运动补偿块,即使用不同位置的邻域块的运动信息进行运动补偿得到的运动补偿块,运动补偿块的size与当前图像块的size相同),P i_LT(x,y)中(x,y)是表示P i_LT子块中的像素点的位置;P i_LT(x,y)表示不同位置的邻域块所对应的预测性块(例如P 0、P 1、P 2、P 3)内的左上角子块P i_LT中对应于像素点(x,y)位置处的像素值。
应当理解的是,假设P 0、P 1、P 2、P 3四个预测性块均可用,则公式(2)中的i的取值为{0,1,2,3},即可获得四个方向的预测性块;假设P 0、P 1、P 2、P 3四个预测性块中仅P 0、P 1两个预测性块可用,则公式(2)中的i的取值为{0,1},即可获得两个方向的预测性块。
同理,可求得当前图像块block右上Block RT、左下Block LB、右下Block RB三个像素块的预测像素值。最后将这四个像素块的像素值组合起来得到当前图像块的预测块(即当前 图像块的预测像素值),换言之,即将四个像素块按相对位置关系拼接起来得到当前图像块的预测块。
其中加权因子W i(x,y)的确定方法参见图10所示的实施例,这里不再赘述。
步骤1107,获得当前解码块的预测像素值(即当前解码码块的预测块)之后,为了便于后续解码块利用此解码块做参考,对此解码块填充运动信息。
获得编码块之后,为了方便后续编码块利用此编码块做参考,对此编码块需做运动信息的填充。在一种示例下,运动信息的填充方法如下:
将当前编码块分为左上、右上、左下、右下四个部分(左上块Block LT,右上块Block RT,左下块Block LB,右下块Block RB),分别对每个部分回填运动信息,回填方式如下:
左上块Block LT:按顺序B2(TL)→A1(L)→B1(T)→B0(TR)→A0(LB)检测邻块的可用性,将第一个可用邻块的运动信息赋给左上块Block LT;其中,此顺序B2(TL)→A1(L)→B1(T)→B0(TR)→A0(LB)可以理解为:距离左上块Block LT较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如A1和B1距左上块Block LT的距离相同,但在候选列表的构建顺序中,A1排在B1的前面,故在检测可用性的排序里A1也排在B1的前面)。
右上块Block RT:按顺序B1→B0→B2→TMVP检测邻块的可用性,将第一个可用邻块的运动信息赋给右上块Block RT;其中,此顺序B1→B0→B2→TMVP可以理解为:距离右上块Block RT较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如B1和B0距右上Block RT的距离相同,但在候选列表的构建顺序中,B1排在B0的前面,故在检测可用性的排序里B1也排在B0的前面)。
左下块Block LB:按顺序A1→A0→B2→TMVP检测邻块的可用性,将第一个可用邻块的运动信息赋给左下块Block LB;其中,此顺序A1→A0→B2→TMVP可以理解为:距离左下块Block LB较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如A1和A0距左下块Block LB的距离相同,但在候选列表的构建顺序中,A1排在A0的前面,故在检测可用性的排序里A1也排在A0的前面)。
右下块Block RB:按顺序TMVP→A1→B1→B0→A0检测邻块的可用性,将第一个可 用邻块的运动信息赋给右下块Block RB;其中,此顺序TMVP→A1→B1→B0→A0可以理解为:距离右下块Block RB较近的邻域块,则检测可用性的排序越靠前;在距离相同时,按照候选列表的构建顺序进行排序(比如B0和A0距右下块Block RB的距离相同,但在候选列表的构建顺序中,B0排在A0的前面,故在检测可用性的排序里B0也排在A0的前面)。
步骤1108,结束。
需要说明的是,本实施例中的步骤1103-1107的说明可以参见图10所示实施例的步骤1002-1006,这里不再赘述。
由上可见,基于当前解码块内当前像素块与不同可用邻近块的相对位置关系,为当前像素块确定或设置多个加权因子,加权因子的个数与可用邻近块(或预测性块)的个数相同,基于多个加权因子对多个预测性块中对应于当前像素块位置处的像素值进行加权处理,以得到当前解码块内当前像素块的预测像素值,进而得到当前解码块的预测像素值,提高了解码块像素值的预测准确度,从而提高了视频图像的解码性能。
在本申请的一个实例中,每个邻近块(例如空域邻近参考块,时域邻近参考块)的运动信息可包括运动矢量、参考图像列表和与参考图像列表对应的参考图像索引。参考图像索引用于识别指定参考图像列表(RefPicList0或RefPicList1)中的运动矢量所指向的参考图像。运动矢量(MV)是指水平和竖直方向的位置偏移,即运动向量的水平分量和运动向量的垂直分量。
为了提高帧间预测的有效性,在填充当前图像块的运动信息的过程中,视频编码器100或者视频解码器200(具体的,帧间预测器110、210)可进一步用于(或者本申请各个实施例的方法还可以包括):
确定当前图像块的、与指定参考图像列表对应的目标参考图像索引;这里的指定参考图像列表可以是参考图像列表0或列表1;这里的目标参考图像索引可以是0,1或其它,也可以是指定参考图像列表中使用频率最高的参考图像索引,例如是所有邻近块的运动矢量的运动矢量指向/使用次数最多的参考图像索引。
判断候选列表中候选运动信息(不同邻近块的运动信息)各自包括的与所述指定参考图像列表对应的参考图像索引是否与所述目标参考图像索引相同;
如果当前候选运动信息包括的与所述指定参考图像列表对应的参考图像索引不同于所述目标参考图像索引,则对当前候选运动信息包括的与所述指定参考图像列表对应的运动矢量进行基于时域距离的缩放处理,以得到指向所述目标参考图像索引的参考帧的运动矢量。
在一种实例中,基于当前图像与由当前候选运动信息的参考图像索引指示的参考图像之间的时间距离与当前图像与由目标参考图像索引指示的参考图像之间的时间距离,来按比例缩放运动矢量。
图13为本申请实施例中的帧间预测装置1300的一种示意性框图。需要说明的是,帧间预测装置1300既适用于解码视频图像的帧间预测,也适用于编码视频图像的帧间预测, 应当理解的是,这里的帧间预测装置1300可以对应于图2A中的帧间预测器110,或者可以对应于图2B中的帧间预测器210,该帧间预测装置1300可以包括:
加权因子获取单元1301,用于获取至少两个加权因子,所述至少两个加权因子的取值(亦即所述至少两个加权因子的大小关系)用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块(例如当前像素点)位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的;
在不同示例下,加权因子获取单元1301获取至少两个加权因子可以是采用查表的方式,其中对应关系表中的至少两个加权因子是基于至少两个空域距离设置的,或者可以是基于至少两个空域距离(实时)确定的。
加权处理单元1302,用于基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块;
帧间预测处理单元1303,用于基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块。
其中,当前像素块的尺寸小于当前图像块的尺寸;或者,当前像素块为当前图像块内的当前像素点或者当前像素块为当前图像块内的当前子块。需要说明的是,图13所示的实施例中的当前像素块可以由一个或多个像素点构成。
其中,在一种实现方式下,所述至少两个加权因子的取值用于反映当前图像块内的当前像素点与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素点位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素点位置处的像素值进行加权。
在一种示例实现方式下,加权因子获取单元1301用于:
基于当前图像块的当前像素块与不同位置的至少两个可用邻域块的相对位置关系,确定(设置)所述至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,其中所述第一加权因子用于对第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中当前图像块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于第一邻域块的运动信息进行运动补偿得到的,所述第二预测性块是基于第二邻域块的运动信息进行运动补偿得到的,其中:
在当前图像块内的当前像素块距第一邻域块的第一距离小于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一距离大于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一距离等于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子等于所述第二加权因子。
在一种示例实现方式下,加权因子获取单元1301用于:
根据当前图像块的当前像素块分别相距至少两个可用邻域块的切比雪夫距离,确定(设置)至少两个加权因子(所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,当前图像块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于第一邻域块的运动信息进行运动补偿得到的,所述第二预测性块是基于第二邻域块的运动信息进行运动补偿得到的,其中:
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离小于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离大于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离等于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子等于所述第二加权因子。
其中,所述第一加权因子是基于所述第一切比雪夫距离的反相关函数而得到的;所述第二加权因子是基于所述第二切比雪夫距离的反相关函数而得到的。
在另一种示例实现方式下,加权因子获取单元1301用于:
根据当前图像块的当前像素块分别相距至少两个可用邻域块的曼哈顿距离,确定(设置)至少两个加权因子(所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,当前图像块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于第一邻域块的运动信息进行运动补偿得到的,所述第二预测性块是基于第二邻域块的运动信息进行运动补偿得到的,其中:
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离小于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离大于当前图像块内的 当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离等于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子等于所述第二加权因子。
其中,所述第一加权因子是基于第一曼哈顿距离的反相关函数而得到的;所述第二加权因子是基于第二曼哈顿距离的反相关函数而得到的。
在再一种示例实现方式下,加权因子获取单元1301用于:
根据当前图像块的当前像素块分别相距至少两个可用邻域块的欧式距离,确定(设置)至少两个加权因子(所述至少两个加权因子之和为1),所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中对应于当前像素块位置处的像素值进行加权,当前图像块的可用邻域块包括第一邻域块和第二邻域块,所述第一预测性块是基于第一邻域块的运动信息进行运动补偿得到的,所述第二预测性块是基于第二邻域块的运动信息进行运动补偿得到的,其中:
在当前图像块内的当前像素块距第一邻域块的第一欧式距离小于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子大于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一欧式距离大于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子小于所述第二加权因子;或
在当前图像块内的当前像素块距第一邻域块的第一欧式距离等于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子等于所述第二加权因子。
其中,所述第一加权因子是基于所述第一欧式距离的反相关函数而得到的;所述第二加权因子是基于所述第二欧式距离的反相关函数而得到的。
在一种示例实现方式下,为了方便后续图像块利用此图像块做参考,对此图像块需做运动信息的填充,相应地,帧间预测装置1300中,帧间预测处理单元1303还用于确定所述当前图像块的候选运动信息列表中的多个候选运动信息中排在首位置的候选运动信息为当前图像块的运动信息。
在另一种示例实现方式下,为了方便后续图像块利用此图像块做参考,对此图像块需做运动信息的填充,相应地,帧间预测装置1300中,帧间预测处理单元1303还用于:
按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为当前像素块的运动信息,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于图像块左侧的空域相邻块A1,位于图像块右上侧的空域相邻块B0,位于图像块上侧的空域相邻块B1,位于图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,所述按照预设顺序从当前图像块的可用邻域块中获取运动信息的方面,帧间预测处理单元1303具体用于:
若当前像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;
若当前像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若当前像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若当前像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
当帧间预测装置1300用于编码视频图像,所述帧间预测装置1300还包括:
帧间预测模式确定单元(未示意),用于确定多种帧间预测模式中编码所述当前图像块的码率失真代价最小的组合预测模式为用于对当前图像块进行帧间预测的帧间预测模式。
当帧间预测装置1300用于解码视频图像,所述装置还包括:
帧间预测模式确定单元(未示意),用于确定第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式,其中所述第一标识用于指示对当前图像块采用组合预测模式进行帧间预测。
需要说明的是,本申请实施例的帧间预测装置中的各个模块为实现本申请帧间预测方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请帧间预测方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见本文中对帧间预测方法的介绍,为简洁起见,本文将不再赘述。
图14为本申请实施例的编码设备或解码设备(简称为译码设备1400)的一种实现方式的示意性框图。其中,译码设备1400可以包括处理器1410、存储器1430和总线系统1450。其中,处理器和存储器通过总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令。编码设备的存储器存储程序代码,且处理器可以调用存储器中存储的程序代码执行本申请描述的各种视频编码或解码方法,尤其是在各种新的帧间预测模式下的视频编码或解码方法,以及在各种新的帧间预测模式下预测运动信息的方法。为避免重复,这里不再详细描述。
在本申请实施例中,该处理器1410可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器1410还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1430可以包括只读存储器(ROM)设备或者随机存取存储器(RAM)设备。任何其他适宜类型的存储设备也可以用作存储器1430。存储器1430可以包括由处理器1410使用总线1450访问的代码和数据1431。存储器1430可以进一步包括操作系统1433和应用程序1435,该应用程序1435包括允许处理器1410执行本申请描述的视频编码或解码方法(尤其是本申请描述的各种帧间预测方法)的至少一个程序。例如,应用程序1435可以包括应用1至N,其进一步包括执行在本申请描述的视频编码或解码方法的视频编码或解码应用(简称视频译码应用)。
该总线系统1450除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1450。
可选的,译码设备1400还可以包括一个或多个输出设备,诸如显示器1470。在一个示例中,显示器1470可以是触感显示器,其将显示器与可操作地感测触摸输入的触感单元合并。显示器1470可以经由总线1450连接到处理器1410。
下面图15或16所示的实施例方案中提及的当前图像块内的像素块具体指当前图像块内的子块;
图15是示出根据本申请一种实施例的视频图像的帧间预测过程1500的流程图。过程1500可由视频编码器100或视频解码器200执行,具体的,可以由视频编码器100的帧间预测器110来执行,或者可以由视频解码器200的帧间预测器210来执行。过程1500描述为一系列的步骤或操作,应当理解的是,过程1500可以以各种顺序执行和/或同时发生,不限于图15所示的执行顺序。假设具有多个视频帧的视频数据流正在使用视频解码器,执行包括如下步骤的过程1500来预测当前视频帧的当前图像块内的当前像素块的预测像素值,进而预测当前视频帧的当前图像块的预测像素值;
本申请实施例的视频图像的帧间预测方法中,当前图像块被划分为N个像素块,所述方法包括:
步骤1501,基于当前图像块的M个可用邻近块的运动信息对当前图像块进行运动补偿预测,得到当前图像块的M个预测性块,每个预测性块被划分为N个子块,每个子块具有与之对应的加权因子;其中,所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,n为大于或等于1且小于或等于N的正整数,N为大于或等于2的正整数,M为大于或等于2的正整数;
步骤1503,基于M个加权因子对所述M个预测性块内的第n子块的像素值进行加权处理,得到当前图像块内的第n像素块的预测像素值,所述M个加权因子分别对应于所述M个预测性块内的第n子块,其中所述M个第n子块在所属预测性块内的位置均对应于第n像素块在当前图像块内的位置;
步骤1505,基于当前图像块内的N个像素块的预测像素值,得到当前图像块的预测像素值,所述N个像素块包括所述第n像素块。
在一种实现方式下,所述M个预测性块包括:第一预测性块、第二预测性块、第三预测性块和第四预测性块中的两个或以上;
其中,所述第一预测性块是基于位于当前图像块左上侧的空域相邻块B2的运动信息进行运动补偿预测得到的;
所述第二预测性块是基于位于当前图像块右上侧的空域相邻块B0的运动信息或者位于当前图像块上侧的空域相邻块B1的运动信息进行运动补偿预测得到的;
所述第三预测性块是基于位于当前图像块左下侧的空域相邻块A0的运动信息或者位于当前图像块左侧的空域相邻块A1的运动信息进行运动补偿预测得到的;
所述第四预测性块是基于位于当前图像块的同位块的右下侧的时域相邻块TMVP的运动信息进行运动补偿预测得到的。
在一种实现方式下,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
第一预测性块中的左上子块的加权因子大于第一预测性块中的右上子块的加权因子,第一预测性块中的右上子块的加权因子等于第一预测性块中的左下子块的加权因子,且,第一预测性块中的右上子块的加权因子大于第一预测性块中的右下子块的加权因子;
或者,
第二预测性块中的右上子块的加权因子大于第二预测性块中的左上子块的加权因子,第二预测性块中的左上子块的加权因子等于第二预测性块中的右下子块的加权因子,且,第二预测性块中的右下子块的加权因子大于第二预测性块中的左下子块的加权因子;
或者,
第三预测性块中的左下子块的加权因子大于第三预测性块中的左上子块的加权因子,第三预测性块中的左上子块的加权因子等于第三预测性块中的右下子块的加权因子,且,第三预测性块中的右下子块的加权因子大于第三预测性块中的右上子块的加权因子;
或者,
第四预测性块中的右下子块的加权因子大于第四预测性块中的左下子块的加权因子,第四预测性块中的左下子块的加权因子等于第四预测性块中的右上子块的加权因子,且,第四预测性块中的右上子块的加权因子大于第四预测性块中的左上子块的加权因子。
在一种实现方式下,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
第一预测性块中的左上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的左下子块的加权因子、第四预测性块中的右下子块的加权因子彼此相同;和/或,
第一预测性块中的右上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子、第四预测性块中的右上子块的加权因子彼此相同;和/或,
第一预测性块中的左下子块的加权因子、第二预测性块中的右下子块的加权因子、第 三预测性块中的右下子块的加权因子、第四预测性块中的左下子块的加权因子彼此相同;和/或,
第一预测性块中的右下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的右上子块的加权因子、第四预测性块中的左上子块的加权因子相同。
在一种实现方式下,第一预测性块中的左上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子和第四预测性块中的左上子块的加权因子之和为一;或
第一预测性块中的右上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的右上子块的加权因子和第四预测性块中的右上子块的加权因子之和为一;或
第一预测性块中的左下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的左下子块的加权因子和第四预测性块中的左下子块的加权因子之和为一;或
第一预测性块中的右下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子和第四预测性块中的右下子块的加权因子之和为一。
在一种实现方式下,所述方法还包括:
按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为第n像素块的运动信息,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
在一种实现方式下,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,所述按照预设顺序从当前图像块的可用邻域块中获取运动信息,包括:
若第n像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
应当理解的是,参见图12B,为了便于描述,本申请实施例中以当前图像块中的第n像素块(即当前像素块)作为代表来描述当前像素块的预测像素值的预测过程,当前图像块中的每个像素块的预测像素值的预测过程可参见本实施例所述,在此不再赘述。
需要说明的是,本申请实施例的帧间预测方法中的细节说明,具体请参见本文中对图10、图11、图12A和图12B中有关帧间预测方法的介绍,为简洁起见,本文将不再赘述。
图16为本申请实施例中的帧间预测装置1600的一种示意性框图。需要说明的是,该方法既适用于解码视频图像的帧间预测,也适用于编码视频图像的帧间预测,应当理解的是,这里的帧间预测装置1600可以对应于图2A中的帧间预测器110,或者可以对应于图2B中的帧间预测器210,当前图像块被划分为N个像素块(例如N=4),该帧间预测装置1600可以包括:
帧间预测处理单元1601,用于基于当前图像块的M个可用邻近块的运动信息对当前图像块进行运动补偿预测,得到当前图像块的M个预测性块;例如,M=4或3或2;
加权处理单元1603,用于基于M个加权因子对所述M个预测性块内的第n子块的像素值进行加权处理,得到当前图像块内的第n像素块的预测像素值,所述M个加权因子分别对应于所述M个预测性块内的第n子块,其中所述M个第n子块在所属预测性块内的位置均对应于第n像素块在当前图像块内的位置;其中,每个预测性块被划分为N个子块,每个子块具有与之对应的加权因子;所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,n为大于或等于1且小于或等于N的正整数,N为大于或等于2的正整数,M为大于或等于2的正整数;
所述帧间预测处理单元1601还用于基于当前图像块内的N个像素块的预测像素值,得到当前图像块的预测像素值,所述N个像素块包括所述第n像素块。
在一种实现方式下,所述M个预测性块包括:第一预测性块、第二预测性块、第三预测性块和第四预测性块中的两个或以上;
其中,所述第一预测性块是基于位于当前图像块左上侧的空域相邻块B2的运动信息进行运动补偿预测得到的;
所述第二预测性块是基于位于当前图像块右上侧的空域相邻块B0的运动信息或者位于当前图像块上侧的空域相邻块B1的运动信息进行运动补偿预测得到的;
所述第三预测性块是基于位于当前图像块左下侧的空域相邻块A0的运动信息或者位于当前图像块左侧的空域相邻块A1的运动信息进行运动补偿预测得到的;
所述第四预测性块是基于位于当前图像块的同位块的右下侧的时域相邻块TMVP的运动信息进行运动补偿预测得到的。
在一种实现方式下,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
第一预测性块中的左上子块的加权因子大于第一预测性块中的右上子块的加权因子,第一预测性块中的右上子块的加权因子等于第一预测性块中的左下子块的加权因子,且,第一预测性块中的右上子块的加权因子大于第一预测性块中的右下子块的加权因子;
或者,
第二预测性块中的右上子块的加权因子大于第二预测性块中的左上子块的加权因子,第二预测性块中的左上子块的加权因子等于第二预测性块中的右下子块的加权因子,且,第二预测性块中的右下子块的加权因子大于第二预测性块中的左下子块的加权因子;
或者,
第三预测性块中的左下子块的加权因子大于第三预测性块中的左上子块的加权因子,第三预测性块中的左上子块的加权因子等于第三预测性块中的右下子块的加权因子,且,第三预测性块中的右下子块的加权因子大于第三预测性块中的右上子块的加权因子;
或者,
第四预测性块中的右下子块的加权因子大于第四预测性块中的左下子块的加权因子,第四预测性块中的左下子块的加权因子等于第四预测性块中的右上子块的加权因子,且,第四预测性块中的右上子块的加权因子大于第四预测性块中的左上子块的加权因子。
在一种实现方式下,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
第一预测性块中的左上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的左下子块的加权因子、第四预测性块中的右下子块的加权因子彼此相同;和/或,
第一预测性块中的右上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子、第四预测性块中的右上子块的加权因子彼此相同;和/或,
第一预测性块中的左下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子、第四预测性块中的左下子块的加权因子彼此相同;和/或,
第一预测性块中的右下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的右上子块的加权因子、第四预测性块中的左上子块的加权因子相同。
在一种实现方式下,第一预测性块中的左上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子和第四预测性块中的左上子块的加权因子之和为一;或
第一预测性块中的右上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的右上子块的加权因子和第四预测性块中的右上子块的加权因子之和为一;或
第一预测性块中的左下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的左下子块的加权因子和第四预测性块中的左下子块的加权因子之和为一;或
第一预测性块中的右下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子和第四预测性块中的右下子块的加权因子之和为一。
在一种实现方式下,所述帧间预测处理单元1601还用于:
按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为第n像素块的运动信息,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
在一种实现方式下,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,在所述按照预设顺序从当前图像块的可用邻域块中获取运动信息的方面,所述帧间预测处理单元1601具体用于:
若第n像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
若第n像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
应当理解的是,参见图12B,为了便于描述,本申请实施例中以当前图像块中的第n像素块(即当前像素块)作为代表来描述当前像素块的预测像素值的预测过程,当前图像块中的每个像素块的预测像素值的预测过程可参见本实施例所述,在此不再赘述。以及有关本实施例与前述实施例相关的内容,请参见前述实施例的细节,这里不再赘述。
需要说明的是,本申请实施例的帧间预测装置中的各个模块为实现本申请帧间预测方法中所包含的各种执行步骤的功能主体,即具备实现完整实现本申请帧间预测方法中的各个步骤以及这些步骤的扩展及变形的功能主体,具体请参见本文中对帧间预测方法的介绍,为简洁起见,本文将不再赘述。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接 被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (40)

  1. 一种视频图像的帧间预测方法,其特征在于,当前图像块的可用邻域块至少包括第一邻域块和第二邻域块,所述方法包括:
    获取至少两个加权因子,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的;
    基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块;
    基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块。
  2. 根据权利要求1所述的方法,其特征在于,当前像素块的尺寸小于当前图像块的尺寸;或者,
    当前像素块为当前图像块内的当前像素点或者当前像素块为当前图像块内的当前子块。
  3. 根据权利要求1或2所述的方法,其特征在于,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,包括:
    在当前图像块内的当前像素块距第一邻域块的第一距离小于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一距离大于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一距离等于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子等于所述第二加权因子。
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述获取至少两个加权因子,包括:
    根据当前图像块内的当前像素块分别相距至少两个可用邻域块的切比雪夫距离,确定至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
    在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离小于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离大于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离等于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子等于所述第二加权因子。
  5. 根据权利要求1至3任一项所述的方法,其特征在于,所述获取至少两个加权因子,包括:
    根据当前图像块内的当前像素块分别相距至少两个可用邻域块的曼哈顿距离,确定至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
    在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离小于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离大于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离等于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子等于所述第二加权因子。
  6. 根据权利要求1至3任一项所述的方法,其特征在于,所述获取至少两个加权因子,包括:
    根据当前图像块内的当前像素块分别相距至少两个可用邻域块的欧式距离,确定至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
    在当前图像块内的当前像素块距第一邻域块的第一欧式距离小于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一欧式距离大于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一欧式距离等于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子等于所述第二加权因子。
  7. 根据权利要求1至6任一项所述的方法,其特征在于,如果当前图像块内的像素块具体为当前图像块内的像素点,则所述方法还包括:
    确定所述当前图像块的候选运动信息列表中的多个候选运动信息中排在首位置的候选运动信息为当前图像块的运动信息。
  8. 根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
    按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为当前像素块的运动信息,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
  9. 根据权利要求8所述的方法,其特征在于,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,所述按照预设顺序从当前图像块的可用邻域块中获取运动信息,包括:
    若当前像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;或
    若当前像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;或
    若当前像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;或
    若当前像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
  10. 根据权利要求1至9任一项所述的方法,其特征在于,所述方法用于解码视频图像,还包括:
    解码码流,以得到包括第一标识的帧间预测数据,其中所述第一标识用于指示对当前图像块采用组合预测模式进行帧间预测;
    确定所述第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式。
  11. 根据权利要求1至9任一项所述的方法,其特征在于,所述方法用于编码视频图像,所述方法还包括:
    确定多种帧间预测模式中编码所述当前图像块的率失真代价最小的组合预测模式为用于对当前图像块进行帧间预测的帧间预测模式。
  12. 根据权利要求1至9以及权11任一项所述的方法,其特征在于,所述方法用于编码视频图像,还包括:
    将帧间预测数据编入码流,其中所述帧间预测数据包括:用于指示对当前图像块采用组合预测模式进行帧间预测的第一标识。
  13. 一种视频图像的帧间预测装置,其特征在于,当前图像块的可用邻域块至少包括第一邻域块和第二邻域块,所述装置包括:
    加权因子获取单元,用于获取至少两个加权因子,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对第一预测性块内对应于当前图像块内的当前像素块位置处的像素值进行加权,所述第二加权因子用于对第二预测性块内对应于当前像素块位置处的像素值进行加权,所述第一预测性块是基于所述第一邻域块的运动信息进行运动补偿预测得到的,所述第二预测性块是基于所述第二邻域块的运动信息进行运动补偿预测得到的;
    加权处理单元,用于基于所述至少两个加权因子对至少两个预测性块中对应于当前像素块位置处的像素值进行加权处理,得到当前图像块内的当前像素块的预测像素值,所述至少两个预测性块包括所述第一预测性块和所述第二预测性块;
    帧间预测处理单元,用于基于当前图像块中的多个像素块的预测像素值,得到当前图像块的预测像素值,其中所述多个像素块包括当前像素块。
  14. 根据权利要求13所述的装置,其特征在于,当前像素块的尺寸小于当前图像块的尺寸;或者,
    当前像素块为当前图像块内的当前像素点或者当前像素块为当前图像块内的当前子块。
  15. 根据权利要求13或14所述的装置,其特征在于,所述至少两个加权因子的取值用于反映当前图像块内的当前像素块与至少两个邻域块的空域相对位置关系,包括:
    在当前图像块内的当前像素块距第一邻域块的第一距离小于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一距离大于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一距离等于当前图像块内的当前像素块距第二邻域块的第二距离的情况下,所述第一加权因子等于所述第二加权因子。
  16. 根据权利要求13至15任一项所述的装置,其特征在于,所述加权因子获取单元具体用于:
    根据当前图像块的当前像素块分别相距至少两个可用邻域块的切比雪夫距离,确定至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
    在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离小于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离大于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一切比雪夫距离等于当前图像块内的当前像素块距第二邻域块的第二切比雪夫距离的情况下,所述第一加权因子等于所述第二加权因子。
  17. 根据权利要求13至15任一项所述的装置,其特征在于,所述加权因子获取单元具体用于:
    根据当前图像块的当前像素块分别相距至少两个可用邻域块的曼哈顿距离,确定至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中的对应于当前像素块位置处的像素值进行加权,其中:
    在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离小于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离大于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一曼哈顿距离等于当前图像块内的当前像素块距第二邻域块的第二曼哈顿距离的情况下,所述第一加权因子等于所述第二加权因子。
  18. 根据权利要求13至15任一项所述的装置,其特征在于,所述加权因子获取单元具体用于:
    根据当前图像块的当前像素块分别相距至少两个可用邻域块的欧式距离,确定至少两个加权因子,所述至少两个加权因子包括第一加权因子和第二加权因子,所述第一加权因子用于对所述第一预测性块中对应于当前像素块位置处的像素值进行加权,所述第二加权因子用于对所述第二预测性块中对应于当前像素块位置处的像素值进行加权,其中:
    在当前图像块内的当前像素块距第一邻域块的第一欧式距离小于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子大于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一欧式距离大于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子小于所述第二加权因子;或
    在当前图像块内的当前像素块距第一邻域块的第一欧式距离等于当前图像块内的当前像素块距第二邻域块的第二欧式距离的情况下,所述第一加权因子等于所述第二加权因子。
  19. 根据权利要求13至18任一项所述的装置,其特征在于,
    所述帧间预测处理单元还用于确定所述当前图像块的候选运动信息列表中的多个候选运动信息中排在首位置的候选运动信息为当前图像块的运动信息。
  20. 根据权利要求13至18任一项所述的装置,其特征在于,所述帧间预测处理单元还用于:
    按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为当前像素块的运动矢量,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
  21. 根据权利要求20所述的装置,其特征在于,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,在所述按照预设顺序从当前图像块的可用邻域块中获取运动信息的方面,所述帧间预测处理单元具体用于:
    若当前像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;
    若当前像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
    若当前像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
    若当前像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
  22. 根据权利要求13至21任一项所述的装置,其特征在于,所述装置用于编码视频图像,所述装置还包括:
    帧间预测模式确定单元,用于确定多种帧间预测模式中编码所述当前图像块的率失真代价最小的组合预测模式为用于对当前图像块进行帧间预测的帧间预测模式。
  23. 根据权利要求13至21任一项所述的装置,其特征在于,所述装置用于解码视频图像,所述装置还包括:
    帧间预测模式确定单元,用于确定第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式,其中所述第一标识用于指示对当前图像块采用组合预测模式进行帧间预测。
  24. 一种视频编码器,其特征在于,所述视频编码器用于编码图像块,包括:
    如权利要求13至22任一项所述的帧间预测器,其中所述帧间预测器用于基于当前待编码图像块中的多个像素块的预测像素值,得到当前编码图像块的预测像素值;
    熵编码器,用于将第一标识编入码流,所述第一标识用于指示对当前编码图像块采用组合预测模式进行帧间预测;
    重建器,用于根据所述预测像素重建所述图像块。
  25. 一种视频解码器,其特征在于,所述视频解码器用于从码流中解码出图像块,包括:
    熵解码器,用于从码流中解析出第一标识,所述第一标识用于指示对当前解码图像块采用组合预测模式进行帧间预测;
    如权利要求13至21和23中任一项所述的帧间预测器,其中所述帧间预测器用于在组合预测模式下,基于当前解码图像块中的多个像素块的预测像素值得到当前解码图像块的预测像素值;
    重建器,用于根据所述预测像素值重建所述图像块。
  26. 一种解码方法,其特征在于,所述方法包括:
    解码码流,以得到包括第一标识的帧间预测数据,其中所述第一标识用于指示对当前图像块采用组合预测模式进行帧间预测;所述组合预测模式允许对所述当前图像块采用如权利要求1至10任一项所述方法进行帧间预测;
    确定所述第一标识指示的组合预测模式为用于对所述当前图像块进行帧间预测的帧间预测模式。
  27. 一种视频图像的帧间预测方法,其特征在于,当前图像块被划分为N个像素块,所述方法包括:
    基于当前图像块的M个可用邻近块的运动信息对当前图像块进行运动补偿预测,得到当前图像块的M个预测性块,每个预测性块被划分为N个子块,每个子块具有与之对应的加权因子;其中,所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,n为大于或等于1且小于或等于N的正整数,N为大于或等于2的正整数,M为大于或等于2的正整数;
    基于M个加权因子对所述M个预测性块内的第n子块的像素值进行加权处理,得到当前图像块内的第n像素块的预测像素值,所述M个加权因子分别对应于所述M个预测性块内的第n子块,其中所述M个第n子块在所属预测性块内的位置均对应于第n像素块在当前图像块内的位置;
    基于当前图像块内的N个像素块的预测像素值,得到当前图像块的预测像素值,所述N个像素块包括所述第n像素块。
  28. 根据权利要求27所述的方法,其特征在于,所述M个预测性块包括:第一预测性块、第二预测性块、第三预测性块和第四预测性块中的两个或以上;
    其中,所述第一预测性块是基于位于当前图像块左上侧的空域相邻块B2的运动信息进行运动补偿预测得到的;
    所述第二预测性块是基于位于当前图像块右上侧的空域相邻块B0的运动信息或者位于当前图像块上侧的空域相邻块B1的运动信息进行运动补偿预测得到的;
    所述第三预测性块是基于位于当前图像块左下侧的空域相邻块A0的运动信息或者位于当前图像块左侧的空域相邻块A1的运动信息进行运动补偿预测得到的;
    所述第四预测性块是基于位于当前图像块的同位块的右下侧的时域相邻块TMVP的运动信息进行运动补偿预测得到的。
  29. 根据权利要求27或28所述的方法,其特征在于,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
    所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
    第一预测性块中的左上子块的加权因子大于第一预测性块中的右上子块的加权因子,第一预测性块中的右上子块的加权因子等于第一预测性块中的左下子块的加权因子,且,第一预测性块中的右上子块的加权因子大于第一预测性块中的右下子块的加权因子;
    或者,
    第二预测性块中的右上子块的加权因子大于第二预测性块中的左上子块的加权因子,第二预测性块中的左上子块的加权因子等于第二预测性块中的右下子块的加权因子,且,第二预测性块中的右下子块的加权因子大于第二预测性块中的左下子块的加权因子;
    或者,
    第三预测性块中的左下子块的加权因子大于第三预测性块中的左上子块的加权因子,第三预测性块中的左上子块的加权因子等于第三预测性块中的右下子块的加权因子,且,第三预测性块中的右下子块的加权因子大于第三预测性块中的右上子块的加权因子;
    或者,
    第四预测性块中的右下子块的加权因子大于第四预测性块中的左下子块的加权因子,第四预测性块中的左下子块的加权因子等于第四预测性块中的右上子块的加权因子,且,第四预测性块中的右上子块的加权因子大于第四预测性块中的左上子块的加权因子。
  30. 根据权利要求27至29任一项所述的方法,其特征在于,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
    所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
    第一预测性块中的左上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的左下子块的加权因子、第四预测性块中的右下子块的加权因子彼此相同;和/或,
    第一预测性块中的右上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子、第四预测性块中的右上子块的加权因子彼此相同;和/或,
    第一预测性块中的左下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子、第四预测性块中的左下子块的加权因子彼此相同;和/或,
    第一预测性块中的右下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的右上子块的加权因子、第四预测性块中的左上子块的加权因子相同。
  31. 根据权利要求29或30所述的方法,其特征在于,第一预测性块中的左上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子和第四预测性块中的左上子块的加权因子之和为一;或
    第一预测性块中的右上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的右上子块的加权因子和第四预测性块中的右上子块的加权因子之和为一;或
    第一预测性块中的左下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的左下子块的加权因子和第四预测性块中的左下子块的加权因子之和为一;或
    第一预测性块中的右下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子和第四预测性块中的右下子块的加权因子之和为一。
  32. 根据权利要求27至31任一项所述的方法,其特征在于,所述方法还包括:
    按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为第n像素块的运动信息,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
  33. 根据权利要求32所述的方法,其特征在于,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,所述按照预设顺序从当前图像块的可用邻域块中获取运动信息,包括:
    若第n像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;
    若第n像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
    若第n像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
    若第n像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
  34. 一种视频图像的帧间预测装置,其特征在于,当前图像块被划分为N个像素块,所述装置包括:
    帧间预测处理单元,用于基于当前图像块的M个可用邻近块的运动信息对当前图像块进行运动补偿预测,得到当前图像块的M个预测性块;
    加权处理单元,用于基于M个加权因子对所述M个预测性块内的第n子块的像素值进行加权处理,得到当前图像块内的第n像素块的预测像素值,所述M个加权因子分别对应 于所述M个预测性块内的第n子块,其中所述M个第n子块在所属预测性块内的位置均对应于第n像素块在当前图像块内的位置;其中,每个预测性块被划分为N个子块,每个子块具有与之对应的加权因子;所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,n为大于或等于1且小于或等于N的正整数,N为大于或等于2的正整数,M为大于或等于2的正整数;
    所述帧间预测处理单元还用于基于当前图像块内的N个像素块的预测像素值,得到当前图像块的预测像素值,所述N个像素块包括所述第n像素块。
  35. 根据权利要求34所述的装置,其特征在于,所述M个预测性块包括:第一预测性块、第二预测性块、第三预测性块和第四预测性块中的两个或以上;
    其中,所述第一预测性块是基于位于当前图像块左上侧的空域相邻块B2的运动信息进行运动补偿预测得到的;
    所述第二预测性块是基于位于当前图像块右上侧的空域相邻块B0的运动信息或者位于当前图像块上侧的空域相邻块B1的运动信息进行运动补偿预测得到的;
    所述第三预测性块是基于位于当前图像块左下侧的空域相邻块A0的运动信息或者位于当前图像块左侧的空域相邻块A1的运动信息进行运动补偿预测得到的;
    所述第四预测性块是基于位于当前图像块的同位块的右下侧的时域相邻块TMVP的运动信息进行运动补偿预测得到的。
  36. 根据权利要求35所述的装置,其特征在于,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
    所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
    第一预测性块中的左上子块的加权因子大于第一预测性块中的右上子块的加权因子,第一预测性块中的右上子块的加权因子等于第一预测性块中的左下子块的加权因子,且,第一预测性块中的右上子块的加权因子大于第一预测性块中的右下子块的加权因子;
    或者,
    第二预测性块中的右上子块的加权因子大于第二预测性块中的左上子块的加权因子,第二预测性块中的左上子块的加权因子等于第二预测性块中的右下子块的加权因子,且,第二预测性块中的右下子块的加权因子大于第二预测性块中的左下子块的加权因子;
    或者,
    第三预测性块中的左下子块的加权因子大于第三预测性块中的左上子块的加权因子,第三预测性块中的左上子块的加权因子等于第三预测性块中的右下子块的加权因子,且,第三预测性块中的右下子块的加权因子大于第三预测性块中的右上子块的加权因子;
    或者,
    第四预测性块中的右下子块的加权因子大于第四预测性块中的左下子块的加权因子,第四预测性块中的左下子块的加权因子等于第四预测性块中的右上子块的加权因子,且,第四预测性块中的右上子块的加权因子大于第四预测性块中的左上子块的加权因子。
  37. 根据权利要求35或36所述的装置,其特征在于,每个预测性块被划分为左上子块、右上子块、左下子块和右下子块,其中;
    所述M个预测性块中的每个预测性块中的第n子块的加权因子是基于所述第n子块在所属预测性块内的位置以及与所属预测性块具有关联关系的邻近块的位置来确定的,包括:
    第一预测性块中的左上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的左下子块的加权因子、第四预测性块中的右下子块的加权因子彼此相同;和/或,
    第一预测性块中的右上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子、第四预测性块中的右上子块的加权因子彼此相同;和/或,
    第一预测性块中的左下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子、第四预测性块中的左下子块的加权因子彼此相同;和/或,
    第一预测性块中的右下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的右上子块的加权因子、第四预测性块中的左上子块的加权因子相同。
  38. 根据权利要求36或37所述的装置,其特征在于,第一预测性块中的左上子块的加权因子、第二预测性块中的左上子块的加权因子、第三预测性块中的左上子块的加权因子和第四预测性块中的左上子块的加权因子之和为一;或
    第一预测性块中的右上子块的加权因子、第二预测性块中的右上子块的加权因子、第三预测性块中的右上子块的加权因子和第四预测性块中的右上子块的加权因子之和为一;或
    第一预测性块中的左下子块的加权因子、第二预测性块中的左下子块的加权因子、第三预测性块中的左下子块的加权因子和第四预测性块中的左下子块的加权因子之和为一;或
    第一预测性块中的右下子块的加权因子、第二预测性块中的右下子块的加权因子、第三预测性块中的右下子块的加权因子和第四预测性块中的右下子块的加权因子之和为一。
  39. 根据权利要求34至38任一项所述的装置,其特征在于,所述帧间预测处理单元还用于:
    按照预设顺序从当前图像块的可用邻域块中获取运动信息,并确定所述获取到的运动信息为第n像素块的运动信息,其中当前图像块的可用邻域块包括:位于当前图像块左下侧的空域相邻块A0,位于当前图像块左侧的空域相邻块A1,位于当前图像块右上侧的空域相邻块B0,位于当前图像块上侧的空域相邻块B1,位于当前图像块左上侧的空域相邻块B2和位于当前图像块的同位块的右下侧的时域相邻块TMVP中的两个或以上。
  40. 根据权利要求39所述的装置,其特征在于,当前图像块被划分为左上像素块、右上像素块、左下像素块和右下像素块,在所述按照预设顺序从当前图像块的可用邻域块中获取运动信息的方面,所述帧间预测处理单元具体用于:
    若第n像素块为左上像素块,则按照相邻块B2、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息;
    若第n像素块为右上像素块,则按照相邻块B1、相邻块B0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
    若第n像素块为左下像素块,则按照相邻块A1、相邻块A0、相邻块B2、时域相邻块TMVP的顺序从第一个可用相邻块中获取运动信息;
    若第n像素块为右下像素块,则按照时域相邻块TMVP、相邻块A1、相邻块B1、相邻块B0、相邻块A0的顺序从第一个可用相邻块中获取运动信息。
PCT/CN2018/088763 2018-05-28 2018-05-28 一种视频图像的帧间预测方法、装置及编解码器 WO2019227297A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/088763 WO2019227297A1 (zh) 2018-05-28 2018-05-28 一种视频图像的帧间预测方法、装置及编解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/088763 WO2019227297A1 (zh) 2018-05-28 2018-05-28 一种视频图像的帧间预测方法、装置及编解码器

Publications (1)

Publication Number Publication Date
WO2019227297A1 true WO2019227297A1 (zh) 2019-12-05

Family

ID=68698523

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/088763 WO2019227297A1 (zh) 2018-05-28 2018-05-28 一种视频图像的帧间预测方法、装置及编解码器

Country Status (1)

Country Link
WO (1) WO2019227297A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017086738A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
CN107211157A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于视频译码的重叠运动补偿
WO2017204532A1 (ko) * 2016-05-24 2017-11-30 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
US20180041762A1 (en) * 2015-02-02 2018-02-08 Sharp Kabushiki Kaisha Image decoding apparatus, image coding apparatus, and prediction-vector deriving device
CN107690809A (zh) * 2015-06-11 2018-02-13 高通股份有限公司 使用空间及/或时间运动信息的子预测单元运动向量预测

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107211157A (zh) * 2015-01-26 2017-09-26 高通股份有限公司 用于视频译码的重叠运动补偿
US20180041762A1 (en) * 2015-02-02 2018-02-08 Sharp Kabushiki Kaisha Image decoding apparatus, image coding apparatus, and prediction-vector deriving device
CN107690809A (zh) * 2015-06-11 2018-02-13 高通股份有限公司 使用空间及/或时间运动信息的子预测单元运动向量预测
WO2017086738A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
WO2017204532A1 (ko) * 2016-05-24 2017-11-30 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체

Similar Documents

Publication Publication Date Title
US11252436B2 (en) Video picture inter prediction method and apparatus, and codec
TW201740730A (zh) 用於視訊寫碼之濾波器之幾何轉換
JP7148612B2 (ja) ビデオデータインター予測の方法、装置、ビデオエンコーダ、ビデオデコーダ及びプログラム
JP2015510357A (ja) Bスライス中の予測ユニットの単方向インター予測への制限
TW201316782A (zh) 用於視訊寫碼之運動向量預測符候選剪取移除
CN111492661A (zh) 视频解码的方法和装置、及存储介质
WO2020006969A1 (zh) 运动矢量预测方法以及相关装置
WO2020052534A1 (zh) 视频解码方法及视频解码器
WO2019154424A1 (zh) 视频解码方法、视频解码器以及电子设备
WO2020042604A1 (zh) 视频编码器、视频解码器及相应方法
KR20230145064A (ko) 인트라 블록 카피 스크래치 프레임 버퍼
TW201921938A (zh) 具有在用於視訊寫碼之隨機存取組態中之未來參考訊框之可調適圖像群組結構
WO2019010634A1 (zh) 一种基于模板匹配的解码方法及装置
WO2019227297A1 (zh) 一种视频图像的帧间预测方法、装置及编解码器
WO2020007093A1 (zh) 一种图像预测方法及装置
US12015780B2 (en) Inter prediction method and apparatus, video encoder, and video decoder
KR102566569B1 (ko) 인터 예측 방법 및 장치, 비디오 인코더 및 비디오 디코더
CN110677645B (zh) 一种图像预测方法及装置
WO2020007187A1 (zh) 图像块解码方法及装置
TWI841033B (zh) 視頻數據的幀間預測方法和裝置
WO2019237287A1 (zh) 视频图像的帧间预测方法、装置及编解码器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18921176

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18921176

Country of ref document: EP

Kind code of ref document: A1