WO2019037533A1 - 一种处理视频数据的方法和装置 - Google Patents

一种处理视频数据的方法和装置 Download PDF

Info

Publication number
WO2019037533A1
WO2019037533A1 PCT/CN2018/092494 CN2018092494W WO2019037533A1 WO 2019037533 A1 WO2019037533 A1 WO 2019037533A1 CN 2018092494 W CN2018092494 W CN 2018092494W WO 2019037533 A1 WO2019037533 A1 WO 2019037533A1
Authority
WO
WIPO (PCT)
Prior art keywords
coding unit
motion information
information
current coding
sub
Prior art date
Application number
PCT/CN2018/092494
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 华为技术有限公司
Publication of WO2019037533A1 publication Critical patent/WO2019037533A1/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Abstract

本发明实施例提供一种处理视频数据的方法和装置,涉及数据处理领域,能够降低视频数据编解码的复杂度。该方法包括:确定当前编码单元的信息是否满足子编码单元编解码条件,若当前编码单元的信息满足子编码单元编解码条件,获取至少两个子编码单元各自的运动信息,并且根据该至少两个子编码单元各自的运动信息,确定当前编码单元的第一候选运动信息列表,以及根据第一候选运动信息列表,得到当前编码单元的预测信息,其中,至少两个子编码单元为当前编码单元经划分后获得的子编码单元,第一候选运动信息列表包括至少两个子编码单元各自的运动信息和当前编码单元的候选运动信息,该方法可应用于编码设备或解码设备。

Description

一种处理视频数据的方法和装置
本申请要求于2017年08月22日提交中国专利局、申请号为201710725341.9、申请名称为“一种处理视频数据的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及数据处理领域,尤其涉及一种处理视频数据的方法和装置。
背景技术
随着信息技术的发展,视频数据越来越成为日常生活中用户获取信息的主要方式,通常视频数据的数据量比较大(尤其是高清视频等),为了减小视频数据占用的存储空间,并且减少传输视频数据的过程中占用的传输带宽,可以将视频数据压缩编码后存储或者传输,在播放该视频数据时,再将视频数据解码并播放。
目前,在对视频数据编解码的过程中,视频数据的编码和解码为两个互逆的过程,以对视频数据编码为例,在一种编码方法中,可以以编码单元为单位对视频数据的每一帧进行编码。具体的,将一个视频帧(即一幅图像)分为至少两个图像块(每一个图像块可以称为一个编码单元),然后针对每一个编码单元,确定该编码单元的运动信息,并根据该编码单元的运动信息确定该编码单元的预测值(即该编码单元的像素值),以及将该编码单元预测信息,对该编码单元编码,如此,录像设备对视频数据的每一个视频帧的所有编码单元均按照上述的方法编码,从而完成对该视频数据的编码。在另一种编码方法中,由于上述基于编码单元的编码方法中,一个编码单元中的所有像素值都采用了同一个运动信息,而在该编码单元中,可能并不是所有的像素值具有相同的运动信息,在这种情况下,可以将一个编码单元再划分为至少两个子编码单元,然后采用子编码单元运动矢量预测(sub-coding unit based motion vector prediction,SMVP)技术、解码端运动矢量导出(decoder motion vector derivation,DMVD)技术,或非平动运动模型,得到该编码单元的每一个子编码单元的运动信息,进一步,根据每一个子编码单元的运动信息确定出每一个子编码单元的预测值,从而得到该编码单元的预测值,最后根据编码单元的预测值,对该编码单元编码,如此,录像设备对视频数据的每一个视频帧的所有编码单元均按照上述方法编码,从而完成对该视频数据的编码。
然而,在上述方法中,在编码单元的尺寸较小时,可能无需将编码单元划分为子编码单元进行编码或解码,而录像设备仍将编码单元划分为子编码单元,并对子编码单元编码或解码,以完成该编码单元的编解码,因此可能导致视频数据编解码比较复杂。
发明内容
本申请提供一种处理视频数据的方法和装置,能够降低视频数据编解码的复杂度。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种处理视频数据的方法,该方法可以包括:确定当前编码单元的信息是否满足子编码单元编解码条件;若当前编码单元的信息满足子编码单元编解码条件,则获取至少两个子编码单元各自的运动信息;并且根据该至少两个子编码单元各自的运动信息,确定当前编码单元的第一候选运动信息列表,以及根据第一候选运动信息列表,得到当前编码单元的预测信息。其中,当前编码单元的信息满足子编码单元编解码条件包括当前编码单元的信息满足下述条件中的至少一项:
当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
至少一个与当前编码单元相邻的编码单元的预测信息根据相邻的编码单元的子编码单元的运动信息得到。
当前编码单元包括编码块,编码块包括第一视频帧中的一个图像块,至少两个子编码单元为当前编码单元经划分后获得的子编码单元,子编码单元包括子编码块,第一候选运动信息列表包括至少两个子编码单元各自的运动信息和当前编码单元的候选运动信息。
本申请提供的处理视频数据的方法,由于可以根据当前编码单元的信息是否满足子编码单元编解码条件,根据当前编码单元的实际情况确定是否将当前编码单元分为子编码单元进行编码或解码,在当前编码单元的尺寸较小时,无需再将当前编码单元分为子编码单元,再进行编码或解码,因此,能够降低视频数据编解码的复杂度。
在第一方面的第一种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于解码设备,上述根据第一候选运动信息列表,得到当前编码单元的预测信息的方法可以包括:获取用于指示第一候选运动信息列表中的第一目标候选运动信息的指示信息,并且根据第一候选运动信息列表和第一目标候选运动信息的指示信息,确定第一目标候选运动信息,以及根据第一目标候选运动信息,确定当前编码单元的预测信息。
本申请中,解码设备获取第一候选运动信息列表之后,该解码设备可以从其接收的当前编码单元的码流中获取第一目标候选运动信息的指示信息,如此,解码设备可以根据第一候选运动信息列表和第一目标候选运动信息的指示信息准确地确定第一目标候选运动信息。
在第一方面的第二种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于解码设备,若当前编码单元的信息不满足子编码单元编解码条件,则本申请提供的处理视频数据的方法还可以包括:确定当前编码单元的第二候选运动信息列表,并且获取用于指示第二候选运动信息列表中的第二目标候选运动信息的指示信息,以及根据第二候选运动信息列表和第二目标候选运动信息的指示信息,确定第二目标候选运动信息,最后根据第二目标候选运动信息,确定当前编码单元的预测信息,该第二候选运动信息列表包括当前编码单元的候选运动信息,不包括至少两个子编码单元各自的运动信息。
本申请中,在当前编码单元的信息不满足子编码单元编解码条件的情况下,无需获取至少两个子编码单元各自的运动信息(即无需将当前编码单元划分为子编码单元编解码),可以直接根据第二候选运动信息列表中的第二目标候选运动信息确定当前编码单元的预测信息,如此,能够降低视频数据编解码的复杂度。
在第一方面的第二种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于解码设备,该方法还可以包括:解码设备解码其接收到当前编码单元编码之后的码流,得到第一残差信息,并且根据当前编码单元的预测信息和第一残差信息,确定当前编码单元的重建信息。
本申请中,解码设备根据当前编码单元的预测信息和第一残差信息,确定当前编码单元的重建信息,即该解码设备可以获取当前编码单元的完整信息,进而解码设备可以通过确定所有编码单元的重建信息,得到待解码的视频数据的完整信息,如此,解码设备可以顺利地播放视频数据。
在第一方面的第四种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于编码设备,上述根据第一候选运动信息列表,得到当前编码单元的预测信息的方法可以包括:在第一候选运动信息列表中确定第一目标候选运动信息,并且根据第一目标候选运动信息,确定当前编码单元的预测信息。
本申请中,编码设备可以根据至少两个子编码单元各自的运动信息,并结合当前编码单元的运动信息确定当前编码单元的候选运动信息列表,然后采用率失真优化技术,从候选运动信息列表中确定最优的运行信息,从而根据该最优的运动信息确定当前编码单元的预测信息,可以使得确定的当前编码单元的预测信息更加准确。
在第一方面的第五种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于编码设备,若当前编码单元的信息不满足子编码单元编解码条件,本申请提供的处理视频数据的方法还可以包括:确定当前编码单元的第二候选运动信息列表,并且在第二候选运动信息列表中确定第二目标候选运动信息,以及根据第二目标候选运动信息,确定当前编码单元的预测信息,该第二候选运动信息列表包括当前编码单元的候选运动信息,不包括至少两个子编码单元各自的运动信息。
本申请中,在当前编码单元的信息不满足子编码单元编解码条件的情况下,无需获取至少两个子编码单元各自的运动信息(即无需将当前编码单元划分为子编码单元编码),编码设备可以直接根据第二候选运动信息列表中的第二目标候选运动信息(该第二目标候选运动信息为当前编码单元的候选运动信息)直接确定当前编码单元的预测信息,如此,能够降低视频数据编解码的复杂度。
在第一方面的第六种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于编码设备,该方法还可以包括:将用于指示目标候选运动信息的指示信息编入当前编码单元的码流。
本申请中,编码设备完成对当前编码单元的编码后,编码设备可以将其确定的第一目标候选运动信息的指示信息或第二目标候选运动信息的指示信息编入码流,如此,在解码编码接收到当前编码单元编码后的码流时,解码设备可以从码流中获取当前编码单元的第一目标候选运动信息的指示信息或第二目标候选运动信息的指示信息。
在第一方面的第七种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于编码设备,该方法可以包括:编码设备获取当前编码单元的原始信息,并且根据当前编码单元的预测信息和当前编码单元的原始信息,对当前编码单元编码。
本申请中,根据当前编码单元的预测信息和当前编码单元的原始信息,对该当前编码单元编码,进而编码设备可以通过对所有编码单元编码,得到编码后的视频数据, 如此,编码设备可以将该视频数据压缩,从而存储该视频数据时,无需占用较大的存储空间,编码设备将该视频数据发送给其他设备时,无需占用较大的传输带宽,如此,对视频数据编码有利于视频数据的存储和快速传输。
第二方面,本申请提供一种处理视频数据的方法,该方法可以包括:确定当前编码单元的信息是否满足子编码单元编解码条件,若当前编码单元的信息满足子编码单元编解码条件,获取至少两个子编码单元各自的运动信息,至少两个子编码单元为当前编码单元经划分后获得的子编码单元,并且根据至少两个子编码单元各自的运动信息,得到当前编码单元的预测信息。
其中,当前编码单元的信息满足子编码单元编解码条件包括当前编码单元的信息满足下述条件中的至少一项:
当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
至少一个与当前编码单元相邻的编码单元的预测信息根据相邻的编码单元的子编码单元的运动信息得到。
本申请提供的处理视频数据的方法,由于可以确定当前编码单元的信息是否满足子编码单元编解码条件,并且根据当前编码单元的实际情况确定是否将当前编码单元分为子编码单元进行编解码,在当前编码单元的尺寸较小时,无需再将当前编码单元分为子编码单元,再进行编解码,因此,能够降低视频数据编解码的复杂度。
在第二方面的第一种可选的实现方式中,上述获取至少两个子编码单元各自的运动信息的方法可以包括:获取当前编码单元的运动信息,并且分别以当前编码单元的运动信息为至少两个子编码单元各自的初始运动信息进行运动搜索,从而得到至少两个子编码单元各自的运动信息。
本申请中,可以采用搜索算法,确定当前编码单元的运动信息,然后再确定至少两个子编码单元各自的运动信息,可以准确地确定至少两个子编码单元各自的运动信息。
在第二方面的第二种可选的实现方式中,若当前编码单元的信息不满足子编码单元编解码条件,本申请提供的视频数据的方法还可以包括:获取当前编码单元的运动信息,并且根据当前编码单元的运动信息,确定当前编码单元的预测信息。
本申请中,在当前编码单元的信息不满足子编码单元编解码条件的情况下,无需获取至少两个子编码单元各自的运动信息(即无需将当前编码单元划分为子编码单元编解码),可以直接根据当前编码单元的运动信息,确定当前编码单元的预测信息,如此,能够降低视频数据编解码的复杂度。
在第二方面的第三种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于解码设备,上述获取至少两个子编码单元各自的运动信息的方法可以包括:获取预测模式指示信息,该预测模式指示信息的值用于指示预测模式是否为仿射变换模式,若预测模式指示信息的值指示当前预测模式为仿射变换模式,获取当前编码单元的至少两个像素位置的运动信息,并且根据至少两个像素位置的运动信息,确定至少两个子编码单元各自的运动信息。
本申请中,由于编码设备可以将预测模式指示信息编入当前编码单元的码流,因此解码设备可以从其接收的当前编码单元编码之后的码流中获取当前编码单元的预测 模式指示信息,并根据预测模式指示信息确定是否采用非平动运动模型的仿射变换模式确定当前编码单元的预测信息。
在第二方面的第四种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于编码设备,上述获取至少两个子编码单元各自的运动信息的方法可以包括:获取当前编码单元的至少两个像素位置的运动信息,并且根据至少两个像素位置的运动信息,确定至少两个子编码单元各自的运动信息。
在第二方面的第五种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于编码设备,该方法还可以包括:根据当前编码单元的预测信息,确定当前编码单元的预测模式,并且将预测模式指示信息编入当前编码单元的码流,该预测模式指示信息的值用于指示预测模式是否为仿射变换模式。
本申请中,编码设备将当前编码单元的预测模式指示信息编入当前编码单元的码流,如此,解码设备接收到当前编码单元的码流之后,解码设备可以根据预测模式指示信息,获知当前编码单元的预测模式是否为仿射变换模式。
在第二方面的第六种可选的实现方式中,本申请提供的处理视频数据的方法可以应用于编码设备。若当前编码单元的信息不满足子编码单元编解码条件,本申请提供的处理视频数据的方法还可以包括:根据候选预测模式集合,确定当前编码单元的预测信息,该候选预测模式集合不包括仿射变换模式。
本申请中,由于非平动运动模型仅用于获取子编码单元的运动信息,因此,若当前编码单元的信息不满足子编码单元编解码条件,则编码设备不能采用非平动运动模型的方法确定当前编码单元的运动信息,该编码设备采用候选预测模式集合中的某一种方法,确定当前编码单元的预测信息。
第三方面,本申请提供一种处理视频数据的装置,该装置可以包括确定模块和获取模块。其中,确定模块可以用于确定当前编码单元的信息是否满足子编码单元编解码条件;获取模块可以用于在确定模块确定当前编码单元的信息满足子编码单元编解码条件的情况下,获取至少两个子编码单元各自的运动信息;该确定模块还可以用于根据获取模块获取的至少两个子编码单元各自的运动信息,确定当前编码单元的第一候选运动信息列表,并且根据第一候选运动信息列表,得到当前编码单元的预测信息。
其中,当前编码单元的信息满足子编码单元编解码条件包括当前编码单元的信息满足下述条件中的至少一项:
当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
至少一个与当前编码单元相邻的编码单元的预测信息根据相邻的编码单元的子编码单元的运动信息得到。
当前编码单元包括编码块,编码块包括第一视频帧中的一个图像块,至少两个子编码单元为当前编码单元经划分后获得的子编码单元,子编码单元包括子编码块,第一候选运动信息列表包括至少两个子编码单元各自的运动信息和当前编码单元的候选运动信息。
在第三方面的第一种可选的实现方式中,本申请提供的处理视频数据的装置可以为解码设备,上述获取模块,还可以用于获取用于指示第一候选运动信息列表中的第一目标候选运动信息的指示信息;上述确定模块,具体用于根据第一候选运动信息列 表和第一目标候选运动信息的指示信息,确定第一目标候选运动信息,以及根据第一目标候选运动信息,确定当前编码单元的预测信息。
在第三方面的第二种可选的实现方式中,本申请提供的处理视频数据的装置可以为解码设备,该解码设备还可以包括解码模块,该解码模块可以用于解码其接收到当前编码单元编码之后的码流,得到第一残差信息,上述确定模块还可以用于根据当前编码单元的预测信息和第一残差信息,确定当前编码单元的重建信息。
在第三方面的第三种可选的实现方式中,本申请提供的处理视频数据的装置可以为解码设备,上述确定模块,还可以用于在当前编码单元的信息不满足子编码单元编解码条件的情况下,确定当前编码单元的第二候选运动信息列表;上述获取模块,还可以用于获取用于指示第二候选运动信息列表中的第二目标候选运动信息的指示信息;上述确定模块,还可以用于根据第二候选运动信息列表和获取模块获取的第二目标候选运动信息的指示信息,确定第二目标候选运动信息,并且根据第二目标候选运动信息,确定当前编码单元的预测信息,该第二候选运动信息列表包括当前编码单元的候选运动信息,不包括至少两个子编码单元各自的运动信息。
在第三方面的第四种可选的实现方式中,本申请提供的处理视频数据的装置可以为编码设备,上述确定模块,具体用于在获取模块获取的第一候选运动信息列表中确定第一目标候选运动信息,并且根据第一目标候选运动信息,确定当前编码单元的预测信息。
在第三方面的第五种可选的实现方式中,本申请提供的处理视频数据的装置可以为编码设备,上述确定模块,还可以用于在当前编码单元的信息不满足子编码单元编解码条件的情况下,确定当前编码单元的第二候选运动信息列表,并且在第二候选运动信息列表中确定第二目标候选运动信息,以及根据第二目标候选运动信息,确定当前编码单元的预测信息,该第二候选运动信息列表包括当前编码单元的候选运动信息,不包括至少两个子编码单元各自的运动信息。
在第三方面的第六种可选的实现方式中,本申请提供的处理视频数据的装置可以为编码设备,该编码设备还包括编码模块,该编码模块可以用于将用于指示第一目标候选运动信息的指示信息或第二目标候选运动信息的指示信息编入当前编码单元的码流。
在第三方面的第六种可选的实现方式中,本申请提供的处理视频数据的装置可以为编码设备,上述获取模块,还可以用于获取当前编码单元的原始信息;上述编码模块,还可以用于根据当前编码单元的预测信息和当前编码单元的原始信息,对当前编码单元编码。
第三方面及其各种可选的实现方式的技术效果可以参见上述对第一方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
第四方面,本申请提供一种处理视频数据的装置,该装置可以包括确定模块和获取模块。其中,确定模块可以用于确定当前编码单元的信息是否满足子编码单元编解码条件;获取模块可以用于在确定模块确定当前编码单元的信息满足子编码单元编解码条件的情况下,获取至少两个子编码单元各自的运动信息;该确定模块,还可以用于根据获取模块获取的至少两个子编码单元各自的运动信息,得到当前编码单元的预 测信息。
其中,当前编码单元的信息满足子编码单元编解码条件包括当前编码单元的信息满足下述条件中的至少一项:
当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
至少一个与当前编码单元相邻的编码单元的预测信息根据相邻的编码单元的子编码单元的运动信息得到。
当前编码单元包括编码块,编码块包括第一视频帧中的一个图像块,至少两个子编码单元为当前编码单元经划分后获得的子编码单元,子编码单元包括子编码块。
在第四方面的第一种可选的实现方式中,上述获取模块,具体用于获取当前编码单元的运动信息,并且分别以当前编码单元的运动信息为至少两个子编码单元各自的初始运动信息进行运动搜索,从而得到至少两个子编码单元各自的运动信息。
在第四方面的第二种可选的实现方式中,上述获取模块,还可以用于在当前编码单元的信息不满足子编码单元编解码条件,获取当前编码单元的运动信息;上述确定模块,还可以用于根据获取模块获取的当前编码单元的运动信息,确定当前编码单元的预测信息。
在第四方面的第三种可选的实现方式中,本申请提供的处理视频数据的装置可以为解码设备,上述获取模块,具体用于获取预测模式指示信息,并且在预测模式指示信息的值指示当前预测模式为仿射变换模式的情况下,获取当前编码单元的至少两个像素位置的运动信息,以及根据至少两个像素位置的运动信息,确定至少两个子编码单元各自的运动信息,该预测模式指示信息的值用于指示预测模式是否为仿射变换模式。
在第四方面的第四种可选的实现方式中,本申请提供的处理视频数据的装置可以为编码设备,上述获取模块,还用于获取当前编码单元的至少两个像素位置的运动信息,并且根据至少两个像素位置的运动信息,确定至少两个子编码单元各自的运动信息。
在第四方面的第五种可选的实现方式中,本申请提供的处理视频数据的装置可以为编码设备,该编码设备还可以包括编码模块,上述确定模块,还用于根据当前编码单元的预测信息,确定当前编码单元的预测模式;该编码模块可以用于将确定模块确定的预测模式指示信息编入当前编码单元的码流,该预测模式指示信息的值用于指示预测模式是否为仿射变换模式。
在第四方面的第六种可选的实现方式中,本申请提供的处理视频数据的装置可以为编码设备;上述确定模块,还可以用于在当前编码单元的信息不满足子编码单元编解码条件的情况下,根据候选预测模式集合,确定当前编码单元的预测信息,该候选预测模式集合不包括仿射变换模式。
第四方面及其各种可选的实现方式的技术效果可以参见上述对第二方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
在第一方面至第四方面中,当前编码单元的尺寸信息满足子编码单元编解码尺寸条件包括当前编码单元的尺寸信息满足下述条件中的任意一项:
当前编码单元的像素数量大于或者等于第一阈值;
当前编码单元的像素数量与第一子编码单元的像素数量的比值大于或者等于第二阈值,第一子编码单元为至少两个子编码单元中的一个子编码单元;
当前编码单元的宽大于或者等于第三阈值,或当前编码单元的高大于或者等于第四阈值。
本申请中,解码设备或编码设备确定当前编码单元的信息满足上述子编码单元编解码条件,解码设备或编码设备即可确定采用将当前编码单元划分为子编码单元的方式解码或编码当前编码单元,上述子编码单元编解码条件可以包括多种,从而该解码设备或编码设备可以根据多种可选的子编码单元编解码条件确定是否将当前编码单元划分为子编码单元,并选择合适的解码方法或编码方法完成对当前编码单元的解码或编码。
第五方面,本申请提供一种处理视频数据的装置,该装置可以包括处理器和与该处理器耦合连接的存储器。该存储器用于存储计算机指令,当该装置运行时,处理器执行该存储器存储的计算机指令,以使得该装置执行上述第一方面及其各种可选的实现方式中任意之一所述的处理视频数据的方法。
第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中包括计算机指令,当该计算机指令在处理视频数据的装置上运行时,使得该装置执行第一方面及其各种可选的实现方式中任意之一所述的处理视频数据的方法。
第七方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在处理视频数据的装置上运行时,使得该装置执行第一方面及其各种可选的实现方式中任意之一所述的处理视频数据的方法。
第五方面至第七方面的相关内容和技术效果的描述可以参见上述对第一方面及其各种可选的实现方式的相关内容和技术效果的相关描述,此处不再赘述。
第八方面,本申请提供一种处理视频数据的装置,该装置包括处理器和与该处理器耦合连接的存储器。该存储器用于存储计算机指令,当处理视频数据的装置运行时,处理器执行该存储器存储的计算机指令,以使得该装置执行上述第二方面及其各种可选的实现方式中任意之一所述的处理视频数据的方法。
第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当该计算机指令在处理视频数据的装置上运行时,使得该装置执行第二方面及其各种可选的实现方式中任意之一所述的处理视频数据的方法。
第十方面,本申请提供一种包含指令的计算机程序产品,当该计算机程序产品在处理视频数据的装置上运行时,使得该装置执行第二方面及其各种可选的实现方式中任意之一所述的处理视频数据的方法。
第八方面至第十方面的相关内容和技术效果的描述可以参见上述对第二方面及其各种可选的实现方式的相关内容和技术效果的相关描述,此处不再赘述。
附图说明
图1为本发明实施例提供的一种将视频帧划分为编码单元的示意图一;
图2为本发明实施例提供的一种将编码单元划分为子编码单元的示意图;
图3为本发明实施例提供的一种将视频帧划分为编码单元的示意图二;
图4为本发明实施例提供的一种帧内预测的方法示意图;
图5(a)为本发明实施例提供的一种帧间预测的方法示意图一;
图5(b)为本发明实施例提供的一种帧间预测的方法示意图二;
图5(c)为本发明实施例提供的一种帧间预测的方法示意图三;
图6为本发明实施例提供的一种编码单元的运动矢量的示意图;
图7为本发明实施例提供的一种编码设备的硬件示意图;
图8为本发明实施例提供的一种解码设备的硬件示意图;
图9为本发明实施例提供的一种处理视频数据的方法示意图一;
图10为本发明实施例提供的一种获取子编码单元的运动信息的方法示意图一;
图11为本发明实施例提供的一种处理视频数据的方法示意图二;
图12为本发明实施例提供的一种处理视频数据的方法示意图三;
图13为本发明实施例提供的一种处理视频数据的方法示意图四;
图14为本发明实施例提供的一种处理视频数据的方法示意图五;
图15为本发明实施例提供的一种处理视频数据的方法示意图六;
图16为本发明实施例提供的一种处理视频数据的方法示意图七;
图17为本发明实施例提供的一种处理视频数据的方法示意图八;
图18为本发明实施例提供的一种处理视频数据的方法示意图九;
图19为本发明实施例提供的一种确定编码单元的运动信息的方法示意图一;
图20为本发明实施例提供的一种确定子编码单元的运动信息的方法示意图一;
图21为本发明实施例提供的一种处理视频数据的方法示意图十;
图22为本发明实施例提供的一种处理视频数据的方法示意图十一;
图23为本发明实施例提供的一种确定子编码单元的运动信息的方法示意图二;
图24为本发明实施例提供的一种处理视频数据的方法示意图十二;
图25为本发明实施例提供的一种处理视频数据的方法示意图十三;
图26为本发明实施例提供的一种处理视频数据的方法示意图十四;
图27本发明实施例提供的处理视频数据的装置的结构示意图一;
图28本发明实施例提供的处理视频数据的装置的结构示意图二。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本发明实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一阈值和第二阈值等是用于区别不同的阈值,而不是用于描述阈值的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个编码单元是指两个或两个以上的编码单元;多个处理单元是指两个或两个 以上的处理单元。
首先对本发明实施例提供的一种处理视频数据的方法和装置中涉及的一些概念做解释说明。
编码单元:包括编码块,指的是将待编码的一个视频帧(即一副图像),划分为多个图像块,一个编码块包括视频帧中的一个图像块,例如,如图1所示的视频帧,假设该视频帧的大小为128*128,将该视频帧平均分为64*64大小的4个图像块,则该视频帧可以包括4个编码块,例如,其中一个编码块包括图1中的图像块1。
子编码单元:包括子编码块,指的是将上述视频帧的一个编码单元划分为多个子块,每一个子块可以称为一个子编码块,例如,如图2所示,将该视频帧平均分为4个编码块,对于一个编码块,将该编码块再平均分为4个子块,每一个子块为一个子编码块(如图2中子编码块1和子编码块2为编码块1的子编码块)。
在视频数据编码过程中,以待编码的视频数据的一个编码单元为例,编码设备或可以首先确定该编码单元的预测信息,然后根据编码单元的预测信息对该编码单元编码。在视频数据解码的过程中,以待解码的视频数据的一个编码单元为例,解码设备可以首先确定该编码单元的预测信息,然后根据编码单元的预测信息确定编码单元的重建信息。综上,在视频数据编解码的过程中,确定编码单元的预测信息的方法可以包括帧内预测和帧间预测。下面分别说明帧内预测和帧间预测的。
编码单元的残差信息:指的是编码单元的真实信息(即原始信息)与编码单元的预测信息之间的差值,即编码单元的真实信息与编码单元的预测信息之间的区别。
编码单元的重建信息:指的是根据编码单元的预测信息与编码单元的残差信息确定的编码单元的像素值的重建值,具体的,编码单元的预测信息加上编码单元的残差信息,然后对二者之和做相关滤波操作,以消除块效应,得到编码单元的重建信息。
对于一个待编码的视频帧,在待编码的视频帧内,通常将该视频帧划分为多个编码单元之后,以编码单元为单位,按照从左到右,从上到下的顺序对该待编码的视频帧编码,例如,如图3所示的视频帧中,将该视频帧划分为9个编码单元,记为CU1-CU9,可以按照CU1-CU9的位置顺序,依次对CU1-CU9编码,完成第一视频帧的编码。
帧内预测:指的是对于当前的编码单元(可以称为当前编码单元)编码时,可以在当前编码单元所在的视频帧(可以称为第一视频帧)内,通过与该当前编码单元相邻(即空域相邻)的编码单元(该与当前编码单元相邻的编码单元已完成编码)的重建信息,确定当前编码单元的预测信息,即预测的当前编码单元的像素值,例如,如图4所示,在图4所示的第一视频帧中,CU5为待编码的一个图像块,可以通过CU5的上方的CU1、CU2、CU3,以及CU5左侧的CU4中的至少一个图像块预测CU5的像素值。
帧间预测:指的是对于当前编码单元(例如当前编码单元)编码时,可以根据与该当前编码单元所在的视频帧(可以称为第一视频帧)相邻的视频帧确定当前编码单元的预测信息(即与第一视频帧相邻的视频帧作为第一视频帧的参考帧,然后再在第二视频帧中确定与当前编码单元最相似的图像块(可以称为参考块),并将该参考块作为当前编码单元的预测信息)。具体的,帧间预测包括前向预测、后向预测和双向预测等预测模式,前向预测指的是在第一视频帧的前一帧中确定当前编码单元的预测 信息,例如,如图5(a)所示,第一视频帧记为F1,第一视频帧的前一帧记为F0,在F0中,图像块C0为当前编码单元C1的预测信息;后向预测指的是在第一视频帧的后一帧中确定当前编码单元的预测信息,例如,如图5(b)所示,第一视频帧记为F0,第一视频帧的后一帧记为F2中,在F2中,图像块C2为当前编码单元的预测信息;双向预测指的是在第一视频帧的前一帧中确定一个当前编码单元的预测信息,在当前编码单元的后一帧中也确定一个当前编码单元的预测信息,然后再根据这两个预测信息确定当前编码单元的预测信息,如图5(c)所示,第一视频帧记为F1,第一视频帧的前一帧记为F0,第一视频帧的后一帧记为F2,F0中的图像块C0为当前编码单元的一个预测信息,F2中的图像块C2也为当前编码单元的一个预测信息,最后,根据C0和C2确定当前编码单元的预测信息。
编码单元的运动矢量:在采用帧间预测的方法进行视频数据编码和解码的情况下,对于一个编码单元(例如当前编码单元),该当前编码单元所在的视频帧为第一视频帧,在第一视频帧的参考帧(第一视频帧的前一帧和\或第一视频帧的后一帧)中,若与当前编码单元对应位置的图像块(称为第一图像块),与当前编码单元最为匹配(即与当前编码单元最为相似)的图像块为第二图像块,则当前编码单元的运动矢量指的是从第一图像块移动至第二图像块的运动位移。如图6所示,F1表示第一视频帧,F2表示第一视频帧的参考帧,假设CU1为当前编码单元,CU1在F2中对应位置的图像块为CU2,F2中的CU3为与CU1最为匹配的图像块,以图像块的中心像素点的运动矢量作为该图像快的运动矢量,若CU2的运动矢量为(0,0),CU2左下方,距离CU2纵向距离为1,横向距离为1的左下方位置处为CU3,则CU2与CU3的相对运动位移为(-1,1),则CU1的运动矢量为(-1,1)。
基于背景技术中的视频数据编码和解码存在的问题,本发明实施例提供一种处理视频数据的方法和装置,编码设备可以根据编码单元的实际情况,即确定编码单元的信息是否满足子编码单元编解码条件,然后采用相应的编码方法对视频数据编码,同理,解码设备也可以确定编码单元的信息是否满足子编码单元编解码条件,然后采用相应的解码方法对视频数据解码,能够降低视频数据编解码的复杂度。
本发明实施例提供的处理视频数据的方法和装置可以应用于对视频数据编码或者对视频数据解码的场景中,该方法可以应用于具有编码和\或解码功能的设备,本发明实施例中,将对视频数据编码的设备称为编码设备,将对视频数据解码的设备称为解码设备,编码设备获取到视频数据之后,编码设备对该视频数据编码,可以将该视频数据压缩,从而存储该视频数据时,无需占用较大的存储空间,将该视频数据发送给其他设备时,无需占用较大的传输带宽,如此,对视频数据编码有利于视频数据的存储和快速传输;解码设备获取到编码后的视频数据,该编码设备可以对该视频数据解码,恢复该视频数据的完整信息,如此能够保证该视频数据的顺利播放。
本发明实施例提供的处理视频数据的方法可以应用于编码设备和解码设备中,编码设备和解码设备均可以为台式计算机、移动计算装置、笔记本(例如膝上型)计算机、平板计算机、机顶盒、智能电话等手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或其他类似的设备。
下面结合图7具体介绍本发明实施例提供的编码设备的各个构成部件。如图7所 示,本发明实施例提供的编码设备包括:视频源10、视频编码器11和输出接口12等部件。本领域技术人员可以理解,图7中示出的编码设备的结构并不构成对编码设备的限定,其可以包括比如图7所示的部件更多或更少的部件,或者可以组合如图7所示的部件中的某些部件,或者可以与如图7所示的部件布置不同。
视频源10可以包括视频俘获装置(例如视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器11可以根据编码标准(例如H.264)将编码设备获取的视频数据经过编码后转化为机器可以识别的代码,以将视频数据压缩,有利于视频数据的传输和存储。视频编码器11可以为中央处理器(central processing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;视频编码器11也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
输出接口12用于向其他设备发送数据的接口电路,输出接口12可以为收发器、收发电路等具有收发功能的结构,包括调制器/解调器(调制解调器)及/或发射器,在视频编解码系统中,输出接口12可以将编码后的视频数据发送给解码设备。
可选的,如图7所示的编码设备还可以包括无线保真(wireless fidelity,WiFi)模块、蓝牙模块等,在此不再赘述。
下面结合图8具体介绍本发明实施例提供的解码设备的各个构成部件。如图8所示,本发明实施例提供的解码设备包括:输入接口20、视频解码器21和显示装置22等部件。本领域技术人员可以理解,图8中示出的编码设备的结构并不构成对编码设备的限定,其可以包括比如图8所示的部件更多或更少的部件,或者可以组合如图8所示的部件中的某些部件,或者可以与如图8所示的部件布置不同。
输入接口20用于接收其他设备(例如编码设备)发送的数据,输入接口20可以为接收器及/或调制解调器。在视频编解码系统中,输入接口20可以接收编码设备发送的编码后的视频数据。
视频解码器21可以将其接收的编码后的视频数据还原解码,即解压缩,从而可以使得解码后的视频数据在显示装置中播放。视频解码器21可以为CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行本发明实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;视频解码器21也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
显示装置22用于显示解码后的视频数据,显示装置可以包括多种显示装置,例如液晶显示器(liquid crystal display,LCD)、等离子体显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。可选的,显示装置22可以整合在解码设备中,显示装置22也可以与解码设备独立,设置于解码设备外部。
结合上述应用场景和通信系统,本发明实施例提供一种处理视频数据的方法,该方法可以包括对视频数据编码和对视频数据解码,下面分别介绍视频数据编码的方法和视频数据解码的方法。
可选的,本发明实施例中,对当前编码单元编解码时,可以采用运动矢量预测方法(例如SMVP技术)、DMVD技术或非平动运动模型等不同的方法对当前编码单元编解码,下面分别以这三种方法为例,示例性的说明对当前编码单元的编解码过程。
方法一:采用SMVP技术编解码
本发明实施例中,分别描述采用SMVP技术编码和解码的方法,在采用SMVP技术编码时,本发明实施例提供的处理视频数据的方法可以应用于编码设备,在采用SMVP技术解码时,本发明实施例提供的处理视频数据的方法可以应用于解码设备。
首先,采用SMVP技术编码时,如图9所示,本发明实施例提供的处理视频数据的方法可以包括S101-S104:
S101、编码设备确定当前编码单元的信息是否满足子编码单元编解码条件。
其中,当前编码单元包括编码块,该编码块包括当前编码的视频帧中的一个图像块,当前编码的视频帧为待编码的视频数据的一帧。
本发明实施例中,编码设备获取视频数据之后,该编码设备对该视频数据编码,编码设备对视频数据编码是指对视频数据的每一帧进行编码,具体的,以待编码的视频数据(即编码设备获取的视频数据)中的一帧(例如第一视频帧)为例,编码设备将第一视频帧划分为多个编码单元,然后对每一个编码单元编码,以完成对第一视频帧编码。
需要说明的是,本发明实施例中,对于编码单元的相关描述,可以参见上述实施例对于本发明实施例涉及的一些概念的介绍中关于编码单元的相关描述,编码单元的大小可以根据实际情况确定,例如,对于256*256的视频帧,可以将该视频帧划分为4个大小为128*128的编码单元,也可以将该视频帧划分为16个64*64的编码单元,还可以将该视频帧划分为64个大小为32*32的编码单元,本发明实施例不作具体限定。
本发明实施例中,由于视频帧的尺寸通常比较大,编码设备直接处理视频帧的所有数据,可能占用编码设备较多的资源,可能导致该编码设备无法处理其他业务,因此,在对视频帧编码时,将每一个视频帧划分为多个编码单元之后,编码设备可以通过对每一个编码单元编码,完成对整个视频帧编码,如此,能够保证编码设备顺利完成视频数据的编码。
上述编码设备将一个视频帧划分的多个编码单元之后,编码设备对一个编码单元(例如上述的当前编码单元)编码的过程中,由于当前编码单元的各个像素点的运动方向可能不相同,如果直接对当前编码单元编码,可能会导致确定的当前编码单元的预测信息不准确,从而造成对当前编码单元的编码结果不准确,因此编码设备首先可以确定当前编码单元的信息是否满足子编码单元编解码条件,然后根据确定的结果,确定是否将当前编码单元再分为至少两个子编码单元,然后再选择合适的编码方法,对至少两个子编码单元编码,以完成对当前编码单元的编码。
本发明实施例中,上述当前编码单元的信息满足子编码单元编解码条件可以包括当前编码单元的信息满足下述条件A1和A2中的至少一项:
A1、当前编码单元的尺寸信息满足子编码单元编解码尺寸条件。
本发明实施例中,当前编码单元的尺寸信息满足子编码单元编解码尺寸条件,包括当前编码单元的尺寸信息满足下述条件B1-B3中的任意一项:
B1、当前编码单元的像素数量大于或者等于第一阈值。
本发明实施例中,当前编码单元的像素数量大于或者等于预设的第一阈值时,说明当前编码单元的尺寸比较大,编码设备对该编码单元编码可能占用较多该编码设备的资源。
B2、当前编码单元的像素数量与第一子编码单元的像素数量的比值大于或者等于第二阈值。
本发明实施例中,上述第一子编码单元为将当前编码单元划分为至少两个子编码单元之后,该至少两个子编码单元中的一个子编码单元,子编码单元的尺寸大小可以预先设置。当前编码单元的像素数量与第一子编码单元的像素数量的比值大于或者等于预设的第二阈值,同样,说明当前编码单元的尺寸比较大。
B3、当前编码单元的宽大于或者第三阈值,或当前编码单元的高大于或者等于第四阈值。
本发明实施例中,当前编码单元的宽大于预设的第三阈值,说明当前编码单元的尺寸较大,或者当前编码单元的高大于或者等于第四阈值,说明当前编码单元的尺寸较大。
需要说明的是,本发明实施例中,可以根据实际情况设置上述第一阈值、第二阈值、第三阈值和第四阈值,本发明实施例不作具体限定。其中,第三阈值可以与第四阈值相等。
A2、至少一个与当前编码单元相邻的编码单元的预测信息根据该相邻编码单元的子编码单元的运动信息得到。
本发明实施例中,录像设备对当前编码单元编码时,若该录像设备确定已经编码的编码单元中与该当前编码单元相邻的编码单元的预测信息是根据该相邻的编码单元的子编码单元的运动信息得到的,则该录像设备确定该当前编码单元的预测信息也可以根据该当前编码单元的子编码单元的运动信息得到。
S102、若当前编码单元的信息满足子编码单元编解码条件,编码设备获取至少两个子编码单元各自的运动信息。
其中,至少两个子编码单元为当前编码单元经划分后获得的子编码单元,子编码单元包括子编码块。
可以理解的是,由于运动信息可以表征当前的一个编码单元或者一个子编码单元可以由已经编码的编码单元或者子编码单元经过偏移得到,因此,只要确定出编码单元或者子编码单元的运动信息,就可以根据运动信息快速地确定当前编码单元的预测信息。
本发明实施例中,如果当前编码单元的信息满足上述A1和A2中的至少一项,则编码设备可以将当前编码单元划分为至少两个子编码单元,然后获取至少两个子编码单元各自的运动信息。
需要说明的是,本发明实施例中,编码设备可以根据实际情况确定子编码单元的 大小,例如,当前编码单元的大小为64*64,编码设备可以将当前编码单元划分为4个大小为32*32的子编码单元,编码设备也可以将当前编码单元划分为16个大小为16*16的子编码单元,还可以将当前编码单元划分为32个大小为8*8的子编码单元,本发明实施例不作具体限定。
本发明实施例中,上述一个子编码单元的运动信息包括该子编码单元的预测方向指示信息、该子编码单元的运动矢量和该子编码单元的参考块指示信息中的至少一项。
本发明实施例中,在编码当前编码单元时,确定该当前编码单元的预测信息的方法可以包括前向预测、后向预测或者双向预测等,则上述子编码单元的预测方向指示信息用于指示确定当前编码单元的预测信息的方法是前向预测、后向预测、双向预测或其他预测方向;关于子编码单元的运动矢量的描述可以参见上述实施例中对于编码单元的运动矢量的相关描述,此处不再赘述;子编码单元的参考块指示信息指的是与该子编码单元最相似的图像块(可以称为参考块)所在的视频帧的索引,可以根据该视频帧的索引可以获知该参考块为待编码的视频数据的哪一帧中的图像块。
示例性的,本发明实施例中,假设上述子编码单元的运动信息中,一个子编码单元(可以称为第一子编码单元)的预测指示方向为前向预测,第一子编码单元的运动矢量为(1,0),第一子编码单元的参考块指示信息为10,那么编码设备确定在该第一子编码单元所在的视频帧(即当前编码单元所在的视频帧,即第一视频帧)的前面,且索引为10的视频帧(可以称为第二视频帧)中,确定与该第一子编码单元的位置对应的子编码单元(可以称为第二子编码单元),然后在该第二视频帧中,与该第二子编码单元的距离为(1,0)的子编码单元(可以称为第三子编码单元)为与第一子编码单元最相似的子编码单元,则将第三子编码单元的像素值作为第一子编码单元的像素值,即将第三子编码单元作为第一子编码单元的预测信息。
需要说明的是,本发明实施例中,对于获取至少两个子编码单元各自的运动信息的方法,在下述S103中做详细介绍。
S103、编码设备根据至少两个子编码单元各自的运动信息,确定当前编码单元的第一候选运动信息列表。
其中,第一候选运动信息列表包括至少两个子编码单元各自的运动信息和当前编码单元。
本发明实施例中,S103具体可以通过S103a-S103e实现:
S103a、编码设备获取与该当前编码单元空域相邻的多个图像块的运动信息,并检查该多个图像块的运动信息的可用性和重复情况,以及根据检查结果向第一候选运动信息列表中添加运动信息。
本发明实施例中,编码设备获取与该当前编码单元空域相邻的多个图像块的运动信息,得到多个运动信息,将该多个运动信息作为当前编码单元的候选运动信息,由于当前编码单元的候选运动信息中可能存在不可用的运动信息,例如未编码的图像块不存在运动信息;当前编码单元的候选运动信息中也可能存在重复的运动信息,以编码设备确定了4个空域相邻的图像块的运动信息为例,在编码设备获取的4个运动信息中,其中有2个运动信息相同,则这2个运动信息重复。编码设备确定出不可用的运动信息和重复的运动信息之后,编码设备删除候选运动中不可用的运动信息和重复 的运动信息(重复的运动信息中保留一个运动信息,剩余的重复的运动信息均删除),然后编码设备将剩余的运动信息(候选运动信息中除不可用和重复的运动信息之外的运动信息)添加到第一候选运动信息列表中。
可选的,本发明实施例中,上述当前编码单元的空域相邻的图像块的数量可以包括多个,具体的,当前编码单元的空域相邻的图像块的数量可以根据实际情况确定,本发明实施例不作具体限定。
需要说明的是,本发明实施例中,上述当前编码单元的空域相邻的图像块的大小可以与当前编码单元的大小相同,也可以与当前编码单元的大小不同,即当前编码单元的空域相邻的图像块的大小可以小于当前编码单元的大小,也可以等于当前编码单元的大小,还可以大于当前编码单元的大小,本发明实施例不作具体限定。
S103b、编码设备获取至少两个子编码单元各自的运动信息,并检查至少两个子编码单元各自的运动信息的可用性和重复情况,以及根据检查结果向第一候选运动信息列表中添加子编码单元的运动信息。
本发明实施例中,对于至少两个子编码单元中的所有子编码单元均可以采用高级时域运动矢量预测(advanced temporal motion vector prediction,ATMVP)方法,获取每一个子编码单元的运动信息,以下均称为子编码单元的ATMVP运动信息,和\或采用空域时域运动矢量预测(spatial-temporal motion vector prediction,STMVP)方法获取每一个子编码单元的运动信息,以下均称为子编码单元的STMVP运动信息。
需要说明的是,下述实施例中,均以编码设备获取的子编码单元的运动信息为ATMVP运动信息和STMVP运动信息为例介绍确定当前编码单元的候选运动信息列表的方法。在实际应用中,可以根据实际情况选择获取ATMVP运动信息和\或STMVP运动信息,本发明实施例不作具体限定。
本发明实施例中,以至少两个子编码单元中的一个子编码单元(例如,称为第一子编码单元)为例,编码设备获取第一子编码单元的ATMVP运动信息的方法为:编码设备获取第一子编码单元所在的第一视频帧的参考帧中对应位置的图像块(简称为第一子编码单元的对应块)的运动信息,并进行缩放,得到第一子编码单元的运动信息。
示例性的,第一子编码单元所在的视频帧(即第一视频帧)的图序计数(picture order count,POC)记为D1,第一视频帧的参考帧的POC记为D2,第一子编码单元的对应块所在的视频帧(例如称为第二视频帧)的POC记为D3,第二视频帧(即第一子编码单元的对应块所在的视频帧)的参考帧的POC记为D4,第一子编码单元的对应块的运动信息记为MV,则第一子编码单元的运动信息MVs可以由公式(1)得到:
Figure PCTCN2018092494-appb-000001
其中,σ表示缩放因子,缩放因子可以表征MVs相对于MV来说,缩放的程度。
本发明实施例中,以至少两个子编码单元中的一个子编码单元(例如,上述第一子编码单元)为例,编码设备获取第一子编码单元的STMVP运动信息的方法为:编码设备获取第一子编码单元空域相邻(例如,第一子编码单元的上方和左方)的图像 块的运动信息,并获取第一子编码单元的时域相邻(例如,第一子编码单元左下角的时域相邻)的图像块的运动信息,然后将空域相邻的图像块的运动信息与时域相邻的图像块的运动信息求平均,得到该第一子编码单元的运动信息。
示例性的,如图10所示,图像块1表示第一子编码单元,图像块2和图像块3为第一子编码单元的空域相邻的图像块,图像块4为与第一子编码单元时域相邻的图像块,编码设备确定该图像块1的空域相邻的图像块2和图像块3的运动信息,和时域相邻的图像块3的运动信息,然后编码设备求图像块2、图像块3和图像块4的运动信息的平均值。
本发明实施例中,编码设备获取到当前编码单元的所有子编码单元的运动信息(即ATMVP运动信息和STMVP运动信息)之后,编码设备检查所有子编码单元的运动信息的可用性和重复情况,并删除不可用的运动信息和重复的运动信息,然后编码设备将剩余的运动信息(除不可用和重复的运动信息之外的运动信息)添加到第一候选运动信息列表中。
S103c、若第一候选运动信息列表中的运动信息的长度小于第一长度阈值,则编码设备继续获取当前编码单元的空域相邻的图像块的运动信息,并检查其可用性和重复情况,以及根据检查结果向第一候选运动信息列表中添加运动信息,否则直接执行S103d。
本发明实施例中,编码设备的第一候选运动信息列表中包括当前编码单元的候选运动信息,也包括当前编码单元的所有子编码单元的运动信息,第一候选运动信息列表中的运动信息的长度为该第一候选运动信息列表中运动信息的数量,第一长度阈值为在不考虑删除不可用和重复的运动信息的前提下,第一候选运动信息数量与子编码单元的运动信息的数量,例如,上述编码设备获取当前编码单元的4个空域相邻的图像块的运动信息,那么当前编码单元的候选运动信息数量为4,编码设备获取的子编码单元的运动信息包括ATMVP和STMVP,则子编码单元的运动信息的数量为2,如此,第一候选运动信息列表的第一长度阈值为6,如果在S103a中,编码设备将当前编码单元的4个候选运动信息中的一个运动信息删除,那么第一候选运动信息列表的长度为3,然后,在S103b中,编码设备未删除运动信息,将子编码单元的2个运动信息(即ATMVP运动信息和STMVP运动信息)加入第一候选运动信息列表中,那么第一候选运动信息列表的长度为5。
本发明实施例中,第一候选运动信息列表中的运动信息的长度小于第一长度阈值,表明第一候选运动信息列表中的运动信息的数量比较少,然后编码设备可以继续向第一候选运动信息列表中添加新的运动信息。
S103d、编码设备获取当前编码单元的时域相邻的图像块的运动信息,并将其进行缩放之后添加至第一候选运动信息列表。
可选的,本发明实施例中,上述S103d中当前编码单元的时域相邻的图像块(即第一视频帧的参考帧中的图像块)可以为具体某一个指定位置的图像块,若该图像块的运动信息不存在,可以在第一视频帧的参考帧中,选择与当前编码单元的位置对应的参考块中的一个图像块,并将该图像块的运动信息添加至第一候选运动信息列表。
需要说明的是,本发明实施例中,上述当前编码单元的时域相邻的图像块的大小 可以与当前编码单元的大小相同,也可以与当前编码单元的大小不同,本发明实施例不作限定。
S103e、若第一候选运动信息列表中的运动信息的长度小于第二长度阈值,则编码设备填充该第一候选运动信息列表。
本发明实施例中,第二长度阈值指的是在不考虑删除当前编码单元的候选运动信息和至少两个子编码单元各自的运动信息,在S103d之后,第一候选运动信息列表的长度。示例性的,在上述S103a中当前编码单元的候选运动信息的数量为4,在S103b中至少两个子编码单元各自的运动信息的数量为2,那么第二长度阈值为7。
本发明实施例中,编码设备确定第一候选运动信息列表中的运动信息的长度小于第二长度阈值,则编码设备向第一候选运动信息列表中填充新的运动信息,使得第一候选运动信息列表的长度等于第二长度阈值。
可选的,本发明实施例中,编码设备可以用运动矢量为(0,0)的运动信息填充第一候选运动信息列表,编码设备还可以根据当前编码单元的所在的第一视频帧的前后视频帧确定待填充的运动信息。对于运动信息的填充的方法是常用的现有技术,此处不再赘述。
至此,编码设备获取到当前编码单元的第一候选运动信息列表,从而该编码设备可以根据第一候选运动信息列表中的运动信息,确定当前编码单元的预测信息。
S104、编码设备根据第一候选运动信息列表,得到当前编码单元的预测信息。
可选的,结合图9,如图11所示,本发明实施例中,S104可以通过S104a-S104b实现:
S104a、编码设备在第一候选运动信息列表中确定第一目标候选运动信息。
本发明实施例中,编码设备获取到第一候选运动信息列表之后,该编码设备可以从该第一候选运动信息列表中,确定出最优的运动信息(称为第一目标候选运动信息),该第一目标候选运动信息为根据第一候选运动信息列表中的所有候选运动信息确定的当前编码单元的预测信息的残差(即上述的第一残差信息)最小的一个候选运动信息。
可选的,本发明实施例中,编码设备可以采用率失真优化的技术,从第一候选运动信息列表中确定出第一目标候选运动信息。具体的,编码设备可以根据第一候选运动列表中的所有候选运动信息,采用下面的公式(2),计算率失真代价,然后选择率失真代价最小的运动信息作为第一目标候选运动信息:
J=RAD+λR               (2)
其中,J表示率失真代价,RAD表示当前编码单元的预测信息与原始信息之间的绝对误差和,λ表示拉格朗日乘子(λ可以为预设的常量),R表示视频数据的码率。
本发明实施例中,编码设备根据第一候选运动信息列表中的每个候选运动信息,估计当前编码单元的预测信息。具体的,编码设备根据第一候选运动信息列表中的当前编码单元的候选运动信息,确定出当前编码单元的预测信息,并且编码设备根据第一候选运动信息中的子编码单元的运动信息,例如根据当前编码单元的所有子编码单元的运动该信息,确定出各个子编码单元的预测信息,从而得到当前编码单元的预测信息,然后编码设备根据公式(2)计算多个预测信息率失真代价,选择率失真代价最小的候选运动信息作为第一目标候选运动信息。
S104b、编码设备根据第一目标候选运动信息,确定当前编码单元的预测信息。
本发明实施例中,编码设备根据第一目标候选运动信息确定当前编码单元的预测信息具体可以为:编码设备将第一目标候选运动信息对应的图像块的像素值作为当前编码单元的预测信息。
可选的,本发明实施例中,结合图11,如图12所示,在上述S104之后,本发明实施例提供的处理视频数据的方法还可以包括S105:
S105、编码设备将用于指示第一目标候选运动信息的指示信息编入当前编码单元的码流。
本发明实施例中,编码设备完成对当前编码单元的编码后,编码设备可以将其确定的第一目标候选运动信息的指示信息编入码流,如此,在解码编码接收到当前编码单元编码后的码流时,解码设备可以从码流中获取当前编码单元的第一目标候选运动信息的指示信息。
可选的,本发明实施例中,上述第一目标候选运动信息的指示信息可以为该第一目标候选运动信息在第一候选运动信息列表中的索引,当然,第一目标候选运动信息的指示信息也设置为其他满足使用需求的指示信息,本发明实施例不作具体限定。
本发明实施例中,结合图9,在上述S104之后,本发明实施例提供的处理视频数据的方法还可以包括S106-S107:
S106、编码设备获取当前编码单元的原始信息。
S107、编码设备根据当前编码单元的预测信息和当前编码单元的原始信息,对当前编码单元编码。
本发明实施例中,在视频数据编码的过程中,当前编码单元的原始信息为已知的信息(即为当前编码单元中的真实像素值),编码设备获取到当前编码单元的原始信息之后,将当前编码单元的原始信息与当前编码单元的预测信息相减,得到当前编码单元的残差信息(以下均称为第一残差信息),然后编码设备对该第一残差信息编码,得到第二残差信息,即当前编码单元经编码之后的码流。
具体的,上述编码设备对第一残差信息编码包括对该第一残差信息进行变换(例如离散余弦变换(discrete cosine transformation,DCT)等)、量化以及熵编码,得到第二残差信息,即得到编码后的当前编码单元。
可选的,本发明实施例中,编码设备将编码后的当前编码单元的信息(即码流)发送给解码设备,如此,解码设备接收到编码设备发送的第二残差信息之后,解码设备可以解码该第二残差信息,恢复第二残差信息对应的当前编码单元的完整信息。
可选的,本发明实施例中,编码设备确定出当前编码单元的预测信息和第一残差信息之后,编码设备可以确定当前编码单元的重建信息。
本发明实施例中,编码设备将当前编码单元的预测信息与上述编码设备确定的第一残差信息相加,得到当前编码单元的重建信息,该当前编码单元的重建信息用于编码设备对其他待编码单元编码(例如待编码单元为第一编码单元),该第一编码单元为待编码的视频帧中的一个编码单元。例如,若第一编码单元为当前编码单元的下一个编码单元,编码设备对第一编码单元编码的过程中,编码设备确定第一编码单元的预测信息时,可以将当前编码单元的重建信息作为第一编码单元的参考信息。
本发明实施例中,在视频数据编码的过程中,通过上述S101,若编码设备确定当前编码单元的信息不满足子编码单元编解码条件,则说明当前编码单元的尺寸较小,编码设备无需将当前编码单元划分为至少两个子编码单元,再根据子编码单元的运动信息来确定当前编码单元的预测信息,编码设备可以根据当前编码单元的运动信息,确定该当前编码单元的预测信息,如此可以降低编码设备对视频数据编码的复杂度。
具体的,本发明实施例中,结合图9,如图13所示,若当前编码单元的信息不满足子编码单元编解码条件,则本发明实施例提供的处理视频数据的方法还可以包括S108-S110:
S108、若当前编码单元的信息不满足子编码单元编解码条件,编码设备确定当前编码单元的第二运动信息列表,该第二候选运动信息列表包括当前编码单元的候选运动信息。
其中,第二运动信息列表中不包括至少两个子编码单元各自的运动信息。
本发明实施例中,解码设备确定当前编码单元的信息满足子编码单元编解码条件,则解码设备可以获知当前解码单元的候选运动信息列表的长度,例如,通常,一个编码单元的信息满足子编码单元编解码条件时,其候选运动信息列表的长度可以为7,一个编码单元的信息不满足子编码单元编解码条件时,其候选运动信息列表的长度可以为5。
具体的,编码设备确定第二候选运动信息列表包括获取当前编码单元的至少一个候选运动信息,然后将该至少一个候选运动信息添加至第一候选运动信息列表,上述S108可以通过S108a-S108d实现:
S108a、编码设备获取与该当前编码单元空域相邻的多个图像块的运动信息,并检查该多个图像块的运动信息的可用性和重复情况,以及根据检查结果向当前编码单元的第二候选运动信息列表中添加运动信息。
对于S108a的具体描述可以参见上述实施例中对于S103a的相关描述,此处不再赘述。
S108b、若第二候选运动信息列表中的运动信息的长度小于第三长度阈值,则编码设备继续获取当前编码单元的空域相邻的图像块的运动信息,并检查其可用性和重复情况,以及根据检查结果向第二候选运动信息列表中添加运动信息,否则直接执行S108c。
本发明实施例中,第三长度阈值指的是在不考虑删除S108a中编码设备获取的候选运动信息中的运动信息的情况下,当前编码单元的候选运动信息的数量。
对于S108b的其他描述具体可以参见上述实施例中对于S103c的相关描述,此处不再赘述。
S108c、编码设备获取当前编码单元的时域相邻的图像块的运动信息,并进行缩放之后添加至第二候选运动信息列表。
对于S108c的具体描述可以参见上述实施例中对于S103d的相关描述,此处不再赘述。
S108d、若第二候选运动信息列表中的运动信息的长度小于第四长度阈值,则编码设备填充该第二候选运动信息列表。
本发明实施例中,第四长度阈值指的是在不考虑删除S108a和S108b中确定的当前编码单元的候选运动信息,在S108c之后,第二候选运动信息列表的长度。若编码设备确定第二候选运动信息列表中的运动信息的长度小于第四长度阈值,则编码设备向第二候选运动信息列表中填充新的运动信息,使得第二候选运动信息列表的长度等于第四长度阈值。
通过上述S108a-S108d可以获取到第二候选运动信息,从而该编码设备可以根据第二候选运动信息列表中的运动信息,确定当前编码单元的预测信息。
需要说明的是,本发明实施例中,S108d中第二候选运动信息列表与S103e中候选运动信息列表不同,S103e中描述的第一候选运动信息列表中包括S108d中第二候选运动信息列表的运动信息,S103e中的候选运动信息列表包括至少两个子编码单元各自的运动信息和当前编码单元的运动信息。
S109、编码设备在第二候选运动信息列表中确定第二目标候选运动信息。
S110、编码设备根据第二目标候选运动信息,确定当前编码单元的预测信息。
对于S109-S110的其他描述,具体可以参见上述实施例中对于S104中的104a-S104b的相关描述,此处不再赘述。
可选的,本发明实施例中,结合图13,在S110之后,本发明实施例提供的处理视频数据的方法还可以包括S111:
S111、编码设备将用于指示第二目标候选运动信息的指示信息编入当前编码单元的码流。
需要说明的是,本发明实施例中,在当前编码单元的信息不满足子编码单元编解码条件的情况下,通过S108-S110可以确定出当前编码单元的预测信息,并且可以执行上述S106-S107,以对当前编码单元编码。
本发明实施例中,编码设备将视频数据编码(即压缩)后发送解码设备,该解码设备在播放该视频数据时,先将编码后的视频数据解码,得到解码后的视频数据(即原始的视频数据),然后该解码设备可以播放该视频数据。
采用SMVP技术解码时,如图14所示,本发明实施例提供的处理视频数据的方法可以包括S201-S204:
S201、解码设备确定当前编码单元的信息是否满足子编码单元编解码条件。
需要说明的是,本发明实施例中,在解码视频数据的过程中,上述子编码单元编解码条件可以为与编码视频数据的过程中的子编码单元编解码条件相同,即与S101中的子编码单元编解码条件相同,因此,对于S201的具体描述可以参见上述实施例中对于S101的相关描述,此处不再赘述。
S202、若当前编码单元的信息满足子编码单元编解码条件,解码设备获取至少两个子编码单元各自的运动信息。
S203、解码设备根据至少两个子编码单元各自的运动信息,确定当前编码单元的第一候选运动信息列表。
本发明实施例中,对于S201-S203的具体描述可以参见上述实施例中对于S101-S102的相关描述,此处不再赘述。
S204、解码设备根据第一候选运动信息列表,得到当前编码单元的预测信息。
本发明实施例中,结合图14,如图15所示,S204具体可以通过S204a-S204c实现:
S204a、解码设备获取用于指示第一候选运动信息列表中第一目标候选运动信息的指示信息。
可以理解的是,在上述编码的过程中,编码设备从第一候选运动信息列表中确定出第一目标候选运动信息之后,编码设备可以将用于指示第一目标候选运动信息的指示信息编入当前编码单元的码流(即编入编码后的当前编码单元的码流),然后发送给解码设备,如此,解码设备接收到当前编码单元的码流之后,解码设备可以从当前编码单元的码流中获取第一目标候选运动信息的指示信息,以在该第一目标候选运动信息的指示信息的指示下,确定第一目标候选运动信息。
对于第一目标候选运动信息的指示信息的具体描述可以参见上述实施例中对于S105的相关描述,此处不再赘述。
S204b、解码设备根据第一候选运动信息列表和第一目标候选运动信息的指示信息,确定第一目标候选运动信息。
S204c、解码设备根据第一目标候选运动信息,确定当前编码单元的预测信息。
本发明实施例中,解码设备在第一目标候选运动信息的指示信息的指示下,可以在第一候选运动信息列表中确定第一目标候选运动信息,从而根据第一目标候选运动信息,确定当前编码单元的运动信息。
对于S204c的具体描述可以参见上述实施例中对于S104b的相关描述,此处不再赘述。
可选的,本发明实施例中,在上述S204之后,本发明实施例提供的处理视频数据的方法还可以包括S205-S206:
S205、解码设备解码其接收到当前编码单元编码之后的码流,得到第一残差信息。
本发明实施例中,在视频数据的编码过程中,编码设备对当前编码单元编码,即对上述S107中的第一残差信息编码,得到第二残差信息(即当前编码单元编码之后的码流),编码设备将当前编码单元编码之后的码流发送给解码设备,解码设备对该当前编码单元编码之后的码流解码,即对第二残差信息解码(包括对第二残差信息进行熵解码、反量化以及反变换),得到第一残差信息。
S206、解码设备根据当前编码单元的预测信息和第一残差信息,确定当前编码单元的重建信息。
本发明实施例中,解码设备将当前编码单元的预测信息与第一残差信息相加,然后再对二者之和进行相关滤波操作,即可获得当前编码单元的重建信息,即该解码设备可以获取当前编码单元的完整像素信息,进而解码设备可以通过确定所有编码单元的重建信息,得到待解码的视频数据的完整像素信息,如此,解码设备可以顺利地播放视频数据。
本发明实施例中,结合图15,如图16所示,通过上述S201,若解码设备确定当前编码单元的信息不满足子编码单元编解码条件,则本发明实施例提供的处理视频数据的方法还可以包括S207-S210:
S207、解码设备确定当前编码单元的第二候选运动信息列表,第二候选运动信息 列表包括当前编码单元的候选运动信息。
其中,第二候选运动信息列表不包括至少两个子编码单元各自的运动信息。
本发明实施例中,对于确定第二候选运动信息列表的方法,可以参见上述S108中对于确定第二候选运动信息列表的方法的相关描述,此处不再赘述。
S208、若当前编码单元的信息不满足子编码单元编解码条件,解码设备获取用于指示第二候选运动信息列表中的第二目标候选运动信息的指示信息。
可以理解的是,上述编码视频数据的过程中,编码设备从第二候选运动信息列表中确定出第二目标候选运动信息之后,编码设备可以将用于指示第二目标候选运动信息的指示信息编入当前编码单元的码流(即编入编码后的当前编码单元的码流),然后发送给解码设备,如此,解码设备接收到当前编码单元的码流之后,解码设备可以从当前编码单元的码流中获取第二目标候选运动信息的指示信息,以在该第二目标候选运动信息的指示信息的指示下,确定第二目标候选运动信息。
S209、解码设备根据第二候选运动信息列表和第二目标候选运动信息的指示信息,确定第二目标候选运动信息。
S210、解码设备根据第二目标候选运动信息,确定当前编码单元的预测信息。
本发明实施例中,由于解码设备确定第二目标候选运动信息,以及根据第二目标候选运动信息确定当前编码单元的预测信息与上述编码过程中,编码设备确定第二目标候选运动信息,以及根据第二目标候选运动信息确定当前编码单元的预测信息的方法类似,因此,对于S209-S210的具体描述可以参见上述实施例中对于S109-S110的相关描述,此处不再赘述。
需要说明的是,本发明实施例中,在当前编码单元的信息不满足子编码单元编解码条件的情况下,通过S207-210可以确定出当前编码单元的预测信息,并且可以执行上述S205-S206,以对当前编码单元解码。
本发明实施例中,在当前编码单元的信息满足子编码单元编解码条件的情况下,可以确定包括至少两个子编码单元各自的运动信息和当前编码单元的运动信息的第一候选运动信息列表,并根据第一候选运动信息列表确定当前编码单元的预测信息,已完成对当前编码单元的编解码;在当前编码单元的信息不满足子编码单元编解码条件的情况下,可以确定包括当前编码单元的运动信息的第一候选运动信息列表,并根据第一候选运动信息列表确定当前编码单元的预测信息,已完成对当前编码单元的编解码。
本发明实施例提供的处理视频数据的方法,可以应用于视频数据编解码的过程中,首先可以确定当前编码单元的信息是否满足子编码单元编解码条件,若当前编码单元的信息满足子编码单元编解码条件,则获取至少两个子编码单元各自的运动信息,然后根据至少两个子编码单元各自的运动信息,确定包括至少两个子编码单元各自的运动信息和当前编码单元的运动信息的第一候选运动信息列表,再根据第一候选运动信息列表,确定当前编码单元的预测信息。与现有技术相比,本发明实施例中,由于可以根据当前编码单元的信息是否满足子编码单元编解码条件,根据当前编码单元的实际情况确定是否将当前编码单元分为子编码单元进行编码或者解码,在当前编码单元的尺寸较小时,无需再将当前编码单元分为子编码单元,再进行编码或者解码,因此, 能够降低视频数据编解码的复杂度。
方法二:采用DMVD技术编解码
本发明实施例中,分别描述采用DMVD技术编码和解码的方法,在采用DMVD技术编码时,本发明实施例提供的处理视频数据的方法可以应用于编码设备,在采用DMVD技术解码时,本发明实施例提供的处理视频数据的方法可以应用于解码设备。
首先,采用DMVD技术编码时,如图17所示,若当前编码单元的信息满足子编码单元编解码条件,编码设备也可以采用DMVD技术,获取至少两个子编码单元各自的运动信息,以确定当前编码单元的预测信息。具体的,采用DMVD技术,确定当前编码单元的预测信息的方法可以包括S301-S303:
S301、编码设备确定当前编码单元的信息是否满足子编码单元编解码条件。
对于S301的具体描述,可以参见上述对于S101或S201的相关描述,此处不再赘述。
S302、若当前编码单元的信息满足子编码单元编解码条件,编码设备获取至少两个子编码单元各自的运动信息。
本发明实施例中,结合图17,如图18所示,S302具体可以通过S3021-S3022实现:
S3021、编码设备获取当前编码单元的运动信息。
S3021具体可以通过S3021a-S3021c实现:
S3021a、编码设备构建当前编码单元的初始搜索列表。
S3021b、编码设备根据当前编码单元的初始搜索列表确定初始搜索点。
本发明实施例中,编码设备可以将与当前编码单元相邻的一些图像块的运动信息作为当前编码单元的初始搜索列表,然后编码设备从初始搜索列表中确定一个运动信息作为当前编码单元的初始搜索点。
具体的,编码设备从初始搜索列表中确定一个运动信息作为当前编码单元的初始搜索点的方法可以包括:编码设备根据初始搜索列表中的所有运动信息和搜索模板,采用运动估计匹配的方法,选择匹配误差最小的模板对应的运动信息,并将该匹配误差最小的模板对应的运动信息作为初始搜索点。具体的,搜索起始列表中的每一个运动信息可以对应一个模板,并且根据所有模板估计地当前编码单元的信息,将估计的当前编码单元的信息与当前编码单元原始信息之间的误差最小的模板对应的运动信息作为初始搜索点。
S3021c、编码设备以初始搜索点为起点,采用相关的搜索算法,确定当前编码单元的运动信息。
本发明实施例中,编码设备可以采用相关搜索算法(例如菱形搜索算法),确定当前编码单元的运动信息。
示例性的,如图19所示,初始搜索点为O,以初始搜索点O为菱形的中心点,沿水平方向和竖直方向以预设的步长(包括水平方向的步长和竖直方向的步长)延伸,可以确定出四个点,分别为D1、D2、D3和D4,然后将这四个点依次连接起来,得到菱形D1D2D3D4,并且确定该菱形D1D2D3D4的四个边的中点,即边D1D2的中点D5,边D2D3的中点D6,边D3D4的中点D7和边D4D1的中点D8,如此,可以得到 D1、D2、D3、D4、D5、D6、D7、D8和O这9个点,这9个点表示9个运动信息,从而编码设备从这9个运动信息中确定一个运动信息,作为当前编码单元的运动信息。
需要说明的是,本发明实施例中,编码设备从上述菱形搜索算法中搜索到的运动信息(例如上述如图19所示的示例中确定搜索到的9个运动信息)中确定出一个运动信息的方法与上述编码设备从初始搜索列表中确定一个运动信息的方法相同,具体可以参见上述实施例中对于S3021b的相关描述,此处不再赘述。
S3022、编码设备分别以当前编码单元的运动信息为至少两个子编码单元各自的初始运动信息进行运动搜索,从而得到至少两个子编码单元各自的运动信息。
本发明实施例中,编码设备可以根据当前编码单元的运动信息,确定该当前编码单元的所有子编码单元各自的运动信息。以当前编码单元的一个子编码单元(例如第一子编码单元)为例,编码设备获取第一子编码单元的运动信息的方法可以包括:
S3022a、编码设备以当前编码单元的运动信息为初始搜索点,采用相关的搜索算法(例如正十字搜索算法),确定第一子编码单元的运动信息。
示例性的,如图20所示,初始搜索点为O1,以初始搜索点O1为中心点,沿水平方向和竖直方向以预设的步长(包括水平方向的步长和竖直方向的步长)延伸,可以确定出四个点,分别为E1、E2、E3和E4,如此,可以得到E1、E2、E3、E4和O这5个点,这5个点表示5个运动信息,从而编码设备从这5个运动矢量中确定一个运动矢量,作为第一子编码单元的运动矢量。
可以理解的是,编码设备可以通过上述S3022a确定当前编码单元的所有子编码单元各自的运动信息,即确定上述至少两个子编码单元各自的运动信息。
需要说明的是,本发明实施例中,编码设备采用某一个搜索算法,确定一个编码单元的运动信息,或者根据某一个搜索算法,确定一个子编码单元的运动信息,则解码设备也采用相应的搜索算法,确定编码单元的运动信息,或者确定子编码单元的运动信息。
S303、编码设备根据至少两个子编码单元各自的运动信息,确定当前编码单元的预测信息。
本发明实施例中,编码设备获取至少两个子编码单元各自的运动信息之后,编码设备可以根据当前编码单元的每一个子编码单元的运动信息,确定每一个子编码单元的预测信息,从而可以确定该当前编码单元的预测信息。
需要说明的是,本发明实施例中,编码设备确定出当前编码单元的预测信息之后,该编码设备可以执行上述S106-S107,以对当前编码单元编码。
本发明实施例中,结合图17,如图21所示,通过上述S301,若当前编码单元的信息不满足子编码单元编解码条件,则本发明实施例提供的处理视频数据的方法还可以包括S304-S305:
S304、若当前编码单元的信息不满足子编码单元编解码条件,编码设备获取当前编码单元的运动信息。
对于S304的具体描述可以参见上述实施例中对于S3021的相关描述,此处不再赘述。
S305、编码设备根据当前编码单元的运动信息,确定当前编码单元的预测信息。
同理,在当前编码单元的信息不满足子编码单元编解码条件的情况下,编码设备确定出当前编码单元的预测信息之后,可以执行上述S103-S107,以对当前编码单元编码。
采用DMVD技术解码时,本发明实施例提供的处理视频数据的方法可以包括S401-S403:
S401、解码设备确定当前编码单元的信息是否满足子编码单元编解码条件。
对于S401的具体描述可以参见上述实施例中对于S101、S201或S301的相关描述,此处不再赘述。
S402、若当前编码单元的信息满足子编码单元编解码条件,解码设备获取至少两个子编码单元各自的运动信息。
S403、解码设备根据至少两个子编码单元各自的运动信息,确定当前编码单元的预测信息。
本发明实施例中,在采用DMVD技术进行视频数据编码和解码的过程中,解码设备确定当前编码单元的预测信息的方法与编码设备确定当前编码单元预测信息的方法类似,因此,对于S401-S403的具体描述可以参见对于S301-S303的相关描述,此处不再赘述。
需要说明的是,本发明实施例中,通过S401-403可以确定出当前编码单元的预测信息,并且可以执行上述S205-S206,以对当前编码单元解码。
本发明实施例中,通过上述S401,若解码设备确定当前编码单元的信息不满足子编码单元编解码条件,则本发明实施例提供的处理视频数据的方法还可以包括S404-S405:
S404、解码设备获取当前编码单元的运动信息。
S405、解码设备根据当前编码单元的运动信息,确定当前编码单元的预测信息。
对于S404-S405的具体描述可以参见上述实施例中对于S304-305的相关描述,此处不再赘述。
同理,在当前编码单元的信息不满足子编码单元编解码条件的情况下,解码设备确定出当前编码单元的预测信息之后,可以执行上述S205-S206,以对当前编码单元解码。
方法三:采用非平动运动模型编解码
本发明实施例中,若当前编码单元的信息满足子编码单元编解码条件,则编码设备还可以采用非平动运动模型的方法获取至少两个子编码单元各自的运动信息,以确定当前编码单元的运动信息。常用的非平动运动模型包括6参数仿射变换型和4参数仿射变换模型,本发明实施例以4参数仿射变换模型为例说明确定当前编码单元的预测信息的方法。
本发明实施例中,采用非平动运动模型编码时,本发明实施例提供的处理视频数据的方法可以包括S501-S503:
S501、编码设备确定当前编码单元的信息是否满足子编码单元编解码条件。
对于S501的具体描述可以参见上述实施例中对于S101、S201、S301或S401的相关描述,此处不再赘述。
S502、若当前编码单元的信息满足子编码单元编解码条件,编码设备获取至少两个子编码单元各自的运动信息。
本发明实施例中,如图22所示,上述S502具体可以通过S502a-S502b实现:
S502a、编码设备获取当前编码单元的至少两个像素位置的运动信息。
本发明实施例中,编码设备可以根据与该当前编码单元相邻(空域相邻)的图像块所在的编码单元的运动信息确定该当前编码单元的每一个子编码单元的运动信息。具体的,编码单元首先根据与当前编码单元相邻的图像块所在的编码单元的运动信息,确定当前编码单元的至少两个像素位置的运动信息。下面以确定当前编码单元的左上角和右上角的两个像素位置的运动信息为例说明编码设备确定当前编码单元的至少两个像素位置的运动信息的方法。
示例性的,如图23所示,图23中图像块m1为当前编码单元的相邻图像块,M为图像块m1所在的已编码的编码单元,该M1的左上角的像素的坐标为(x 2,y 2),该像素点的运动矢量为(vx 2,vy 2),M1的右上角的像素的坐标为(x 3,y 3),该像素点的运动矢量为(vx 3,vy 3),M1的左下角的像素的坐标为(x 4,y 4),该像素点的运动矢量为(vx 4,vy 4);当前编码单元的编码单元左上角的像素的坐标为(x 0,y 0),当前编码单元的编码单元右上角的像素的坐标为(x 1,y 1),可以根据下面的公式(3)确定当前编码单元的左上角的像素的运动矢量(vx 0,vy 0)和根据公式(4)当前编码单元的右上角的像素的运动矢量(vx 1,vy 1):
Figure PCTCN2018092494-appb-000002
其中,h为M1的高,w为M1的宽。
Figure PCTCN2018092494-appb-000003
其中,W c为当前编码单元的宽。
S502b、编码设备根据当前编码单元的至少两个像素位置的运动信息,确定至少两个子编码单元各自的运动信息。
本发明实施例中,仍以当前编码单元的左上角和右上角的两个像素位置的运动信息为例,根据上述公式(3)和公式(4)确定出当前编码单元的左上角的像素点(x 0,y 0)的运动矢量和当前编码单元的右上角的像素点(x 1,y 1)的运动矢量之后,可以根据公式(5)确定至少两个子编码单元各自的运动矢量:
Figure PCTCN2018092494-appb-000004
其中,(x,y)为一个子编码单元的坐标。
可选的,本发明实施例中,可以将子编码单元的中心像素点的坐标作为该子编码单元的坐标。
可以理解的是,通过将至少两个子编码单元中每一个子编码单元的坐标分别代入到公式(5)中,可以确定出至少两个子编码单元各自的运动信息。
S503、编码设备根据至少两个子编码单元各自的运动信息,确定当前编码单元的预测信息。
对于S503的具体描述可以参见上述实施例中对于S303的相关描述,此处不再赘述。
可选的,本发明实施例中,结合图22,如图24所示,在上述S503之后,本发明实施例提供的处理视频数据的方法还可以包括S504-S505:
S504、编码设备根据当前编码单元的预测信息,确定当前编码单元的预测模式。
本发明实施例中,编码设备对视频数据编码时,当前编码单元的信息满足子编码单元编解码条件,该编码单元将当前编码单元划分为至少两个子编码单元之后,编码设备首先可以分别采用上述SMVP技术、DMVD技术和非平动运动模型等方法(可以称为预测模式)分别预测当前编码单元的预测信息,再根据率失真优化技术确定三种编码方法中哪一种方法的率失真代价最小,则采用率失真代价最小的一种编码方法编码视频数据,并将率失真代价最小的预测模式确定为当前编码单元的预测模式。
S505、编码设备将预测模式指示信息编入当前编码单元的码流,该预测模式指示信息的值用于指示当前编码单元的预测模式是否为仿射变换模式。
本发明实施例中,编码设备将当前编码单元的预测模式指示信息编入当前编码单元的码流,如此,解码设备接收到当前编码单元的码流之后,解码设备可以根据预测模式指示信息,获知当前编码单元的预测模式是否为仿射变换模式。
可以理解的是,本发明实施例中,编码设备确定出当前编码单元的预测信息之后,该编码设备可以执行上述S106-S107,以对当前编码单元编码。
需要说明的是,本发明实施例中,由于非平动运动模型仅用于获取子编码单元的运动信息,因此,若当前编码单元的信息不满足子编码单元编解码条件,则编码设备不能采用非平动运动模型的方法确定当前编码单元的运动信息,该编码设备可以采用其他的确定编码单元的运动信息的方法确定当前编码单元的运动信息。
可选的,结合图22,如图25所示,在当前编码单元的信息不满足子编码单元编解码条件的情况下,本发明实施例提供的处理视频数据的方法还可以包括S506:
S506、编码设备根据候选预测模式集合,确定当前编码单元的预测信息,该候选预测模式集合不包括仿射变换模式。
本发明实施例中,上述候选预测模式集合可以包括采用SMVP技术编码的预测模式、采用DMVD技术编码的预测模式,还以包括其他用于预测当前编码单元的预测信息的预测模式,本发明实施例不作具体限定。在当前编码单元的信息不满足子编码单元编解码条件的情况下,编码设备可以采用候选预测模式集合中的某一种方法,确定当前编码单元的预测信息,并且可以执行上述S106-S107,以对当前编码单元编码。
采用非平动运动模型解码时,本发明实施例提供的处理视频数据的方法可以包括S601-S603:
S601、解码设备确定当前编码单元的信息是否满足子编码单元编解码条件。
对于S601的具体描述可以参见上述实施例中,对于S101、S201、S301、S401或S501的相关描述,此处不再赘述。
S602、若当前编码单元的信息满足子编码单元编解码条件,解码获取至少两个子编码单元各自的运动信息。
本发明实施例中,如图26所示,上述S602具体可以通过S602a-S602c实现:
S602a、解码设备获取预测模式指示信息,该预测模式指示信息的值用于指示当前编码单元的预测模式是否为仿射变换模式。
本发明实施例中,在上述实施例中,由于编码设备可以将预测模式指示信息编入当前编码单元的码流,因此解码设备可以从其接收的当前编码单元编码之后的码流中获取当前编码单元的预测模式指示信息,并根据预测模式指示信息确定是否采用非平动运动模型的仿射变换模式确定当前编码单元的预测信息。
S602b、若预测模式指示信息的值指示当前预测模式为仿射变换模式,解码设备获取当前编码单元的至少两个像素位置的运动信息。
S602c、解码设备根据至少两个像素位置的运动信息,确定至少两个子编码单元各自的运动信息。
对于S602b-S602c的具体描述可以参见上述实施例中对于S502a-S502b的相关描述,此处不再赘述。
S603、解码设备根据至少两个子编码单元各自的运动信息,确定当前编码单元的预测信息。
对于S603的具体描述可以参见上述实施例中对于S403的相关描述,此处不再赘述。
需要说明的是,本发明实施例中,解码设备确定当前编码单元的信息不满足子编码单元编解码条件时,解码设备可以采用除非平动运动模型之外的其他方法(与编码设备编码过程相对应的解码方法),获取当前编码单元的运动信息,并确定当前编码单元的预测信息。
本发明实施例提供的处理视频数据的方法,可以应用于视频数据编解码的过程中,首先确定当前编码单元的信息是否满足子编码单元编解码条件,若该当前编码单元的信息满足子编码单元编解码条件,则获取至少两个子编码单元各自的运动信息,然后再根据至少两个子编码单元各自的运动信息,确定当前编码单元的预测信息,以及完成当前编码单元的编码或解码。与现有技术相比,本发明实施例中,由于可以确定当前编码单元的信息是否满足子编码单元编解码条件,并根据当前编码单元的实际情况确定是否将当前编码单元分为子编码单元进行编码或者解码,在当前编码单元的尺寸较小时,无需再将当前编码单元分为子编码单元,再进行编码或者解码,因此,能够降低视频数据编解码的复杂度。
上述主要从各个网元的角度对本发明实施例提供的方案进行了介绍。可以理解的是,各个网元,例如处理视频数据的装置等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计 算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对处理视频数据的装置等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图27示出了上述实施例中所涉及的处理视频数据的装置的一种可能的结构示意图,如图27所示,该装置可以包括:确定模块30和获取模块31。确定模块30可以用于支持处理视频数据的装置执行上述方法实施例中的S101、S103、S104(包括S104a-S104b)、S108、S109、S110、S201、S203、S204(包括S204b-S204c)、S206、S207、S209、210、S301、S303、S305、S401、S403、S405、S501、S503、S504、S506、S601和S603;获取模块31可以用于支持处理视频数据的装置执行上述方法实施例中的S102、S106、S202、S204a、S208、S302(包括S3021-S3022)、S304、S402、S404、S502(包括S502a-S502b)和S602(包括S602a-S602c)。可选的,如图27所示,该处理视频数据的装置还可以包括编码模块32和解码模块。编码模块32可以用于支持处理视频数据的装置执行上述方法实施例中的S105、S107、S111和S505。解码模块可以用于支持处理视频数据的装置执行上述方法实施例中的S205、S107和S111其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图28示出了上述实施例中所涉及的处理视频数据的装置的一种可能的结构示意图。如图28所示,该装置可以包括:处理模块40和通信模块41。处理模块40可以用于对处理视频数据的装置的动作进行控制管理,处理模块40可以用于支持处理视频数据的装置执行上述方法实施例中的各个编码设备或者解码设备执行的各个步骤,和/或用于本文所描述的技术的其它过程。通信模块41可以用于支持处理视频数据的装置与其他网络实体的通信。可选的,如图28所示,该处理视频数据的装置还可以包括存储模块42,用于存储编码设备的程序代码和数据。
其中,处理模块40可以是处理器或控制器(例如可以是上述如图7所示的视频编码器11和如图8所示的视频解码器21),例如可以是CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框、模块和电路。上述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块51可以是收发器、收发电路或通信接口等(例如可以是上述如图7所示的输出接口12和如图8所示的输入接口20)。存储模块42可以是存储器。
当处理模块40为处理器,通信模块41为收发器,存储模块42为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended Industry standard  architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本发明实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (30)

  1. 一种处理视频数据的方法,其特征在于,
    确定当前编码单元的信息是否满足子编码单元编解码条件,所述当前编码单元的信息满足所述子编码单元编解码条件包括所述当前编码单元的信息满足下述条件中的至少一项:
    所述当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
    至少一个与所述当前编码单元相邻的编码单元的预测信息根据所述相邻的编码单元的子编码单元的运动信息得到;
    若确定当前编码单元的信息满足所述子编码单元编解码条件,获取至少两个子编码单元各自的运动信息,所述至少两个子编码单元为所述当前编码单元经划分后获得的子编码单元;
    根据所述至少两个子编码单元各自的运动信息,确定所述当前编码单元的第一候选运动信息列表,所述第一候选运动信息列表包括至少两个子编码单元各自的运动信息和所述当前编码单元的候选运动信息;
    根据所述第一候选运动信息列表,得到所述当前编码单元的预测信息。
  2. 根据权利要求1所述的处理视频数据的方法,其特征在于,
    所述当前编码单元的尺寸信息满足子编码单元编解码尺寸条件包括所述当前编码单元的尺寸信息满足下述条件中的任意一项:
    所述当前编码单元的像素数量大于或者等于第一阈值;
    所述当前编码单元的像素数量与第一子编码单元的像素数量的比值大于或者等于第二阈值,所述第一子编码单元为所述至少两个子编码单元中的一个子编码单元;
    所述当前编码单元的宽大于或者等于第三阈值,或所述当前编码单元的高大于或者等于第四阈值。
  3. 根据权利要求1或2所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于解码设备,所述根据所述第一候选运动信息列表,得到所述当前编码单元的预测信息,包括:
    获取用于指示所述第一候选运动信息列表中的第一目标候选运动信息的指示信息;
    根据所述第一候选运动信息列表和所述第一目标候选运动信息的指示信息,确定第一目标候选运动信息;
    根据所述第一目标候选运动信息,确定所述当前编码单元的预测信息。
  4. 根据权利要求1至3任意一项所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于解码设备,若所述当前编码单元的信息不满足所述子编码单元编解码条件,所述处理视频数据的方法还包括:
    确定所述当前编码单元的第二候选运动信息列表,所述第二候选运动信息列表包括所述当前编码单元的候选运动信息;
    获取用于指示所述第二候选运动信息列表中的第二目标候选运动信息的指示信息;
    根据所述第二候选运动信息列表和所述第二目标候选运动信息的指示信息,确定第二目标候选运动信息;
    根据所述第二目标候选运动信息,确定所述当前编码单元的预测信息。
  5. 根据权利要求1或2所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于编码设备,所述根据所述第一候选运动信息列表,得到所述当前编码单元的预测信息,包括:
    在所述第一候选运动信息列表中确定所述第一目标候选运动信息;
    根据所述第一目标候选运动信息,确定所述当前编码单元的预测信息。
  6. 根据权利要求1或2或5所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于编码设备,若所述当前编码单元的信息不满足所述子编码单元编解码条件,所述处理视频数据的方法还包括:
    确定所述当前编码单元的第二候选运动信息列表,所述第二候选运动信息列表包括所述当前编码单元的候选运动信息;
    在所述第二候选运动信息列表中确定第二目标候选运动信息;
    根据所述第二目标候选运动信息,确定所述当前编码单元的预测信息。
  7. 根据权利要求5或6所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于编码设备,所述处理视频数据的方法还包括:
    将用于指示目标候选运动信息的指示信息编入所述当前编码单元的码流。
  8. 一种处理视频数据的方法,其特征在于,
    确定当前编码单元的信息是否满足子编码单元编解码条件,所述当前编码单元的信息满足所述子编码单元编解码条件包括所述当前编码单元的信息满足下述条件中的至少一项:
    所述当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
    至少一个与所述当前编码单元相邻的编码单元的预测信息根据所述相邻的编码单元的子编码单元的运动信息得到;
    若所述当前编码单元的信息满足所述子编码单元编解码条件,获取至少两个子编码单元各自的运动信息,所述至少两个子编码单元为所述当前编码单元经划分后获得的子编码单元;
    根据所述至少两个子编码单元各自的运动信息,得到所述当前编码单元的预测信息。
  9. 根据权利要求8所述的处理视频数据的方法,其特征在于,所述获取至少两个子编码单元各自的运动信息,包括:
    获取所述当前编码单元的运动信息;
    分别以所述当前编码单元的运动信息为所述至少两个子编码单元各自的初始运动信息进行运动搜索,从而得到所述至少两个子编码单元各自的运动信息。
  10. 根据权利要求8或9所述的处理视频数据的方法,其特征在于,若所述当前编码单元的信息不满足所述子编码单元编解码条件,所述处理视频数据的方法还包括:
    获取所述当前编码单元的运动信息;
    根据所述当前编码单元的运动信息,确定所述当前编码单元的预测信息。
  11. 根据权利要求8所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于解码设备,所述获取至少两个子编码单元各自的运动信息,包括:
    获取预测模式指示信息,所述预测模式指示信息的值用于指示所述预测模式是否 为仿射变换模式;
    若所述预测模式指示信息的值指示当前预测模式为仿射变换模式,获取所述当前编码单元的至少两个像素位置的运动信息;
    根据所述至少两个像素位置的运动信息,确定所述至少两个子编码单元各自的运动信息。
  12. 根据权利要求8所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于编码设备,所述获取至少两个子编码单元各自的运动信息,包括:
    获取所述当前编码单元的至少两个像素位置的运动信息;
    根据所述至少两个像素位置的运动信息,确定所述至少两个子编码单元各自的运动信息。
  13. 根据权利要求8或12所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于编码设备,所述处理视频数据的方法还包括:
    根据所述当前编码单元的预测信息,确定所述当前编码单元的预测模式;
    将所述预测模式指示信息编入所述当前编码单元的码流,所述预测模式指示信息的值用于指示所述预测模式是否为仿射变换模式。
  14. 根据权利要求8或12或13所述的处理视频数据的方法,其特征在于,所述处理视频数据的方法应用于编码设备,若所述当前编码单元的信息不满足所述子编码单元编解码条件,所述处理视频数据的方法还包括:
    根据候选预测模式集合,确定所述当前编码单元的预测信息,所述候选预测模式集合不包括所述仿射变换模式。
  15. 一种处理视频数据的装置,其特征在于,包括确定模块和获取模块;
    所述确定模块,用于确定当前编码单元的信息是否满足子编码单元编解码条件,所述当前编码单元的信息满足所述子编码单元编解码条件包括所述当前编码单元的信息满足下述条件中的至少一项:
    所述当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
    至少一个与所述当前编码单元相邻的编码单元的预测信息根据所述相邻的编码单元的子编码单元的运动信息得到;
    所述获取模块,用于在所述确定模块确定当前编码单元的信息满足所述子编码单元编解码条件的情况下,获取至少两个子编码单元各自的运动信息,所述至少两个子编码单元为所述当前编码单元经划分后获得的子编码单元;
    所述确定模块,还用于根据所述获取模块获取的所述至少两个子编码单元各自的运动信息,确定所述当前编码单元的第一候选运动信息列表,所述第一候选运动信息列表包括至少两个子编码单元各自的运动信息和所述当前编码单元的候选运动信息,并且根据所述第一候选运动信息列表,得到所述当前编码单元的预测信息。
  16. 根据权利要求15所述的处理视频数据的装置,其特征在于,所述当前编码单元的尺寸信息满足子编码单元编解码尺寸条件包括所述当前编码单元的尺寸信息满足下述条件中的任意一项:
    所述当前编码单元的像素数量大于或者等于第一阈值;
    所述当前编码单元的像素数量与第一子编码单元的像素数量的比值大于或者等于 第二阈值,所述第一子编码单元为所述至少两个子编码单元中的一个子编码单元;
    所述当前编码单元的宽大于或者等于第三阈值,或所述当前编码单元的高大于或者等于第四阈值。
  17. 根据权利要求15或16所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为解码设备;
    所述获取模块,还用于获取用于指示所述第一候选运动信息列表中的第一目标候选运动信息的指示信息;
    所述确定模块,具体用于根据所述第一候选运动信息列表和所述第一目标候选运动信息的指示信息,确定第一目标候选运动信息,以及根据所述第一目标候选运动信息,确定所述当前编码单元的预测信息。
  18. 根据权利要求15至17任意一项所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为解码设备;
    所述确定模块,还用于在所述当前编码单元的信息不满足所述子编码单元编解码条件的情况下,确定所述当前编码单元的第二候选运动信息列表,所述第二候选运动信息列表包括所述当前编码单元的候选运动信息;
    所述获取模块,还用于获取用于指示所述第二候选运动信息列表中的第二目标候选运动信息的指示信息;
    所述确定模块,还用于根据所述第二候选运动信息列表和所述获取模块获取的所述第二目标候选运动信息的指示信息,确定第二目标候选运动信息,并且根据所述第二目标候选运动信息,确定所述当前编码单元的预测信息。
  19. 根据权利要求15或16所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为编码设备;
    所述确定模块,具体用于在所述获取模块获取的第一候选运动信息列表中确定所述第一目标候选运动信息,并且根据所述第一目标候选运动信息,确定所述当前编码单元的预测信息。
  20. 根据权利要求15或16或19所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为编码设备;
    所述确定模块,还用于在所述当前编码单元的信息不满足所述子编码单元编解码条件的情况下,确定所述当前编码单元的第二候选运动信息列表,并且在所述第二候选运动信息列表中确定第二目标候选运动信息,以及根据所述第二目标候选运动信息,确定所述当前编码单元的预测信息,所述第二候选运动信息列表包括所述当前编码单元的候选运动信息。
  21. 根据权利要求19或20所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为编码设备,所述编码设备还包括编码模块;
    所述编码模块,用于将用于指示目标候选运动信息的指示信息编入所述当前编码单元的码流。
  22. 一种处理视频数据的装置,其特征在于,包括确定模块和获取模块;
    所述确定模块,用于确定当前编码单元的信息是否满足子编码单元编解码条件,所述当前编码单元的信息满足所述子编码单元编解码条件包括所述当前编码单元的信 息满足下述条件中的至少一项:
    所述当前编码单元的尺寸信息满足子编码单元编解码尺寸条件;
    至少一个与所述当前编码单元相邻的编码单元的预测信息根据所述相邻的编码单元的子编码单元的运动信息得到;
    所述获取模块,用于在所述确定模块确定所述当前编码单元的信息满足所述子编码单元编解码条件的情况下,获取至少两个子编码单元各自的运动信息,所述至少两个子编码单元为所述当前编码单元经划分后获得的子编码单元;
    所述确定模块,还用于根据所述获取模块获取的所述至少两个子编码单元各自的运动信息,得到所述当前编码单元的预测信息。
  23. 根据权利要求22所述的处理视频数据的装置,其特征在于,
    所述获取模块,具体用于获取所述当前编码单元的运动信息,并且分别以所述当前编码单元的运动信息为所述至少两个子编码单元各自的初始运动信息进行运动搜索,从而得到所述至少两个子编码单元各自的运动信息。
  24. 根据权利要求22或23所述的处理视频数据的装置,其特征在于,
    所述获取模块,还用于在所述当前编码单元的信息不满足所述子编码单元编解码条件,获取所述当前编码单元的运动信息;
    所述确定模块,还用于根据所述获取模块获取的所述当前编码单元的运动信息,确定所述当前编码单元的预测信息。
  25. 根据权利要求22所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为解码设备;
    所述获取模块,具体用于获取预测模式指示信息,并且在所述预测模式指示信息的值指示当前预测模式为仿射变换模式的情况下,获取所述当前编码单元的至少两个像素位置的运动信息,以及根据所述至少两个像素位置的运动信息,确定所述至少两个子编码单元各自的运动信息,所述预测模式指示信息的值用于指示所述预测模式是否为仿射变换模式。
  26. 根据权利要求22所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为编码设备;
    所述获取模块,还用于获取所述当前编码单元的至少两个像素位置的运动信息,并且根据所述至少两个像素位置的运动信息,确定所述至少两个子编码单元各自的运动信息。
  27. 根据权利要求22或26所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为编码设备,所述编码设备还包括编码模块;
    所述确定模块,还用于根据所述当前编码单元的预测信息,确定所述当前编码单元的预测模式;
    所述编码模块,用于将所述确定模块确定的所述预测模式指示信息编入所述当前编码单元的码流,所述预测模式指示信息的值用于指示所述预测模式是否为仿射变换模式。
  28. 根据权利要求22或26或27所述的处理视频数据的装置,其特征在于,所述处理视频数据的装置为编码设备;
    所述确定模块,还用于在所述当前编码单元的信息不满足所述子编码单元编解码条件的情况下,根据候选预测模式集合,确定所述当前编码单元的预测信息,所述候选预测模式集合不包括所述仿射变换模式。
  29. 一种处理视频数据的装置,其特征在于,包括处理器和与所述处理器耦合连接的存储器;
    所述存储器用于存储计算机指令,当所述处理视频数据的装置运行时,所述处理器执行所述存储器存储的所述计算机指令,以使得所述处理视频数据的装置执行如权利要求1至7任意一项所述的处理视频数据的方法,或使得所述处理视频数据的装置执行如权利要求8至14任意一项所述的处理视频数据的方法。
  30. 一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在处理视频数据的装置上运行时,使得所述处理视频数据的装置执行如权利要求1至7任意一项所述的处理视频数据的方法,或使得所述处理视频数据的装置执行如权利要求8至14任意一项所述的处理视频数据的方法。
PCT/CN2018/092494 2017-08-22 2018-06-22 一种处理视频数据的方法和装置 WO2019037533A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710725341.9A CN109429064B (zh) 2017-08-22 2017-08-22 一种视频数据的编解码方法、装置和介质
CN201710725341.9 2017-08-22

Publications (1)

Publication Number Publication Date
WO2019037533A1 true WO2019037533A1 (zh) 2019-02-28

Family

ID=65438407

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/092494 WO2019037533A1 (zh) 2017-08-22 2018-06-22 一种处理视频数据的方法和装置

Country Status (3)

Country Link
CN (1) CN109429064B (zh)
TW (1) TWI694713B (zh)
WO (1) WO2019037533A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112204973A (zh) * 2019-09-24 2021-01-08 北京大学 视频编解码的方法与装置
CN111314778B (zh) * 2020-03-02 2021-09-07 北京小鸟科技股份有限公司 基于多种压缩制式的编解码融合处理方法、系统及装置
CN112218092B (zh) * 2020-10-17 2022-09-06 浙江大华技术股份有限公司 串编码技术的编码方法、设备及存储介质
CN112532974A (zh) * 2020-11-24 2021-03-19 浙江大华技术股份有限公司 串编码技术的编码方法、设备及存储介质
WO2023220970A1 (zh) * 2022-05-18 2023-11-23 Oppo广东移动通信有限公司 视频编码方法、装置、设备、系统、及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103081473A (zh) * 2010-07-31 2013-05-01 吴秀美 预测块产生设备
CN103327327A (zh) * 2013-06-03 2013-09-25 电子科技大学 用于高性能视频编码hevc的帧间预测编码单元选择方法
GB2501517A (en) * 2012-04-27 2013-10-30 Canon Kk Scalable Encoding and Decoding of a Digital Image
CN103763570A (zh) * 2014-01-20 2014-04-30 华侨大学 一种基于satd的hevc快速帧内预测方法
CN104602000A (zh) * 2014-12-30 2015-05-06 北京奇艺世纪科技有限公司 一种编码单元的分割方法和装置
CN104602017A (zh) * 2014-06-10 2015-05-06 腾讯科技(北京)有限公司 视频编码器、方法和装置及其帧间模式选择方法和装置
JP2016213615A (ja) * 2015-05-01 2016-12-15 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101752418B1 (ko) * 2010-04-09 2017-06-29 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
US10244253B2 (en) * 2013-09-13 2019-03-26 Qualcomm Incorporated Video coding techniques using asymmetric motion partitioning
KR101519557B1 (ko) * 2013-12-27 2015-05-13 연세대학교 산학협력단 고속 화면 내 예측 부호화 방법 및 그 장치

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103081473A (zh) * 2010-07-31 2013-05-01 吴秀美 预测块产生设备
GB2501517A (en) * 2012-04-27 2013-10-30 Canon Kk Scalable Encoding and Decoding of a Digital Image
CN103327327A (zh) * 2013-06-03 2013-09-25 电子科技大学 用于高性能视频编码hevc的帧间预测编码单元选择方法
CN103763570A (zh) * 2014-01-20 2014-04-30 华侨大学 一种基于satd的hevc快速帧内预测方法
CN104602017A (zh) * 2014-06-10 2015-05-06 腾讯科技(北京)有限公司 视频编码器、方法和装置及其帧间模式选择方法和装置
CN104602000A (zh) * 2014-12-30 2015-05-06 北京奇艺世纪科技有限公司 一种编码单元的分割方法和装置
JP2016213615A (ja) * 2015-05-01 2016-12-15 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Also Published As

Publication number Publication date
TW201921934A (zh) 2019-06-01
CN109429064B (zh) 2021-03-30
TWI694713B (zh) 2020-05-21
CN109429064A (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
US11968386B2 (en) Picture prediction method and related apparatus
US20200244986A1 (en) Picture prediction method and related apparatus
JP7216351B2 (ja) 点群符号化構造
US11831902B2 (en) Picture prediction method and picture prediction apparatus
WO2019037533A1 (zh) 一种处理视频数据的方法和装置
US11330285B2 (en) Picture prediction method and related device
TWI622288B (zh) 視訊解碼方法
WO2016155576A1 (zh) 图像编解码方法和相关装置
KR101874100B1 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
CN113455007A (zh) 帧间点云属性编解码的方法和装置
KR102059066B1 (ko) 모션 벡터 필드 코딩 방법 및 디코딩 방법, 및 코딩 및 디코딩 장치들
WO2020140915A1 (zh) 视频处理方法和装置
WO2020140331A1 (zh) 视频图像处理方法与装置
BR112021004060A2 (pt) método e dispositivo de obtenção de quadro de referência aplicado a interpredição bidirecional, codificador / decodificador de vídeo, produto de programa de computador, meio de armazenamento legível por computador, e terminal
WO2019184489A1 (zh) 图像块编码中的变换方法、解码中的反变换方法及装置
WO2019233423A1 (zh) 获取运动矢量的方法和装置
JP7374999B2 (ja) 動き情報候補リストを構築するための方法、インター予測方法、および装置
WO2014005447A1 (zh) 双向预测图像片的编码、解码方法及设备
WO2020007093A1 (zh) 一种图像预测方法及装置
CN111357288B (zh) 视频图像处理方法与装置
CN116760986B (zh) 候选运动矢量生成方法、装置、计算机设备和存储介质
CN110971899B (zh) 一种确定运动信息的方法、帧间预测方法及装置
KR20210046777A (ko) 인터 예측 방법 및 장치, 비디오 인코더 및 비디오 디코더
CN110677645A (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: 18847851

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: 18847851

Country of ref document: EP

Kind code of ref document: A1