CN110971899A - 一种确定运动信息的方法、帧间预测方法及装置 - Google Patents

一种确定运动信息的方法、帧间预测方法及装置 Download PDF

Info

Publication number
CN110971899A
CN110971899A CN201811163702.6A CN201811163702A CN110971899A CN 110971899 A CN110971899 A CN 110971899A CN 201811163702 A CN201811163702 A CN 201811163702A CN 110971899 A CN110971899 A CN 110971899A
Authority
CN
China
Prior art keywords
image block
motion information
current image
adjacent
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811163702.6A
Other languages
English (en)
Other versions
CN110971899B (zh
Inventor
徐巍炜
陈焕浜
杨海涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811163702.6A priority Critical patent/CN110971899B/zh
Publication of CN110971899A publication Critical patent/CN110971899A/zh
Application granted granted Critical
Publication of CN110971899B publication Critical patent/CN110971899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/124Quantisation
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

一种确定运动信息的方法、帧间预测方法及装置,涉及视频图像编解码技术领域,能够解决计算速度慢、编解码效率低的问题。该方法包括:获取第一图像块的运动信息和第二图像块的运动信息,第一图像块为第一像素归属的图像块,第一像素为当前图像块的空域相邻像素,第二图像块为第二像素归属的图像块,第二像素为当前图像块的空域相邻像素,第一像素与第二像素不同;若第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。

Description

一种确定运动信息的方法、帧间预测方法及装置
技术领域
本申请实施例涉及视频图像编解码技术领域,尤其涉及一种确定运动信息的方法、帧间预测方法及装置。
背景技术
子编码单元运动矢量预测(sub-CU based motion vector prediction,SMVP)技术是编解码端将当前编码单元划分为大小为M×N的多个子编码单元,并计算出每个子编码单元的运动信息,然后,编解码端利用各个子编码单元的运动信息进行运动补偿,得到当前编码单元的预测像素。
在帧间预测的合并(Merge)模式中,SMVP技术可以采用空域时域运动矢量平面预测(planar motion vector prediction,PLANAR)方式计算子编码单元的运动信息。但是,目前采用PLANAR方式计算子编码单元的运动信息的流程比较复杂,计算速度较慢,导致编解码速率较低。
发明内容
本申请实施例提供一种确定运动信息的方法、帧间预测方法及装置,能够解决计算速度慢、编解码效率低的问题。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种确定运动信息的方法,确定装置在获取到第一图像块的运动信息和第二图像块的运动信息后,判断第一图像块和第二图像块是否均可得,并判断第一图像块的运动信息和第二图像块的运动信息是否相同。若第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则确定装置采用空域临近运动信息的子块运动矢量预测技术,确定当前图像块中子图像块的运动信息。这里的第一图像块为第一像素归属的图像块,第一像素为当前图像块的空域相邻像素,第二图像块为第二像素归属的图像块,第二像素为当前图像块的空域相邻像素,第一像素与第二像素不同。
可以看出,本申请提供的方法中,确定装置根据第一图像块的运动信息和第二图像块的运动信息即可确定出是否采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。确定装置在确定当前图像块中子图像块的运动信息时,首先先确定是否空域临近运动信息的子块运动矢量预测技术是否可用。对当前图像块而言,在空域临近运动信息的子块运动矢量预测技术可用的情况下,才采用空域临近运动信息的子块运动矢量预测技术,确定当前图像块中子图像块的运动信息,有效的避免了不必要的计算,降低了计算复杂度,提高了计算速度,进而提高了编解码效率。
上述空域临近运动信息的子块运动矢量预测技术可以为PLANAR技术,也可以为其他空域临近运动信息的子块运动矢量预测技术,本申请对此不作具体限定。
可选的,在本申请的一种可能的实现方式中,上述“确定装置获取第一图像块的运动信息和第二图像块的运动信息”的方法为:确定装置获取第一运动信息组合和第二运动信息组合,并从第一运动信息组合中选取第一图像块的运动信息,以及从第二运动信息组合中选取第二图像块的运动信息。这里的,第一运动信息组合包括n个第一相邻图像块的运动信息,第一相邻图像块为当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,n个第一相邻图像块中的任意两个第一相邻图像块包括的当前图像块的空域相邻像素不同;第二运动信息组合包括m个第二相邻图像块的运动信息,第二相邻图像块为当前图像块在第二预设方向、预设位置的空域相邻像素归属的图像块,m个第二相邻图像块中的任意两个第二相邻图像块包括的当前图像块的空域相邻像素不同;c/k≥n≥1,c/k≥m≥1,其中,c表示当前图像块的宽度或高度;若c表示当前图像块的宽度,k则表示当前图像块中子图像块的宽度;若c表示当前图像块的高度,k则表示当前图像块中子图像块的高度。
本申请中确定装置获取图像块的运动信息和第二图像块的运动信息的方式可以有多种。可选的,确定装置可以直接获取第一图像块的运动信息和第二图像块的运动信息,也可以获取第一运动信息组合和第二运动信息组合,然后从运动信息组合中获取图像块的运动信息和第二图像块的运动信息。
可选的,在本申请的另一种可能的实现方式中,若当前图像块的左上顶点像素的坐标为(xP,yP),第一相邻图像块包括的当前图像块的空域相邻像素的坐标为(xP-1,yi),第二相邻图像块包括的当前图像块的空域相邻像素的坐标为(xj,yP-1),则(yP+2H)≥yi≥yP,(xP+2W)≥xj≥xP,其中,H表示当前图像块的高度,W表示当前图像块的宽度,n≥i≥1,m≥j≥1。
可选的,在本申请的另一种可能的实现方式中,上述“确定装置获取第一图像块的运动信息和第二图像块的运动信息”的方法为:确定装置获取第一运动信息组合,并从第一运动信息组合中选取第一图像块的运动信息以及第二图像块的运动信息第一运动信息组合包括n个第一相邻图像块的运动信息,第一相邻图像块为当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,n个第一相邻图像块中的任意两个第一相邻图像块包括的当前图像块的空域相邻像素不同;c/k≥n≥1,其中,c表示当前图像块的宽度或高度;若c表示当前图像块的宽度,k则表示当前图像块中子图像块的宽度;若c表示当前图像块的高度,k则表示当前图像块中子图像块的高度。
针对于当前图像块而言,第一图像块和第二图像块可以属于同一方向,也可以属于不同方向。
可选的,在本申请的另一种可能的实现方式中,若当前图像块的左上顶点像素的坐标为(xP,yP),第一相邻图像块包括的当前图像块的空域相邻像素的坐标为(xP-1,yi),则(yP+2H)≥yi≥yP,其中,H表示当前图像块的高度,n≥i≥1。
第二方面,提供一种确定运动信息的方法,确定装置获取第一图像块的运动信息和第二图像块的运动信息,并判断第一图像块和第二图像块是否可得,以及第一图像块的运动信息和第二图像块的运动信息是否相同,若第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。这里,第一图像块为当前图像块的空域相邻块,第二图像块为当前图像块的空域相邻块,第一图像块与第二图像块不同。
本申请提供的方法中,确定装置根据第一图像块的运动信息和第二图像块的运动信息即可确定出是否采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。确定装置在确定当前图像块中子图像块的运动信息时,首先先确定是否空域临近运动信息的子块运动矢量预测技术是否可用。对当前图像块而言,在空域临近运动信息的子块运动矢量预测技术可用的情况下,才采用空域临近运动信息的子块运动矢量预测技术,确定当前图像块中子图像块的运动信息,有效的避免了不必要的计算,降低了计算复杂度,提高了计算速度,进而提高了编解码效率。
上述空域临近运动信息的子块运动矢量预测技术可以为PLANAR技术,也可以为其他空域临近运动信息的子块运动矢量预测技术,本申请对此不作具体限定。
可选的,在本申请的一种可能的实现方式中,上述第一图像块为当前图像块左侧的空域相邻块,上述第二图像块为当前图像块上侧的空域相邻块。
可选的,在本申请的另一种可能的实现方式中,第一图像块为当前图像块在融合merge模式下的空域相邻图像块A1,第二图像块为当前图像块在merge模式下的空域相邻图像块B1。
可选的,在本申请的另一种可能的实现方式中,上述“确定装置获取第一图像块的运动信息和第二图像块的运动信息”的方法为:确定装置获取当前图像块左侧的n个空域相邻图像块的运动信息,和当前图像块的上侧的m个空域相邻图像块的运动信息,上述第一图像块为n个空域相邻图像块中的图像块,第二图像块为m个空域相邻图像块中的图像块,c/k≥n≥1,c/k≥m≥1,其中,c表示当前图像块的宽度或高度;若c表示当前图像块的宽度,k则表示当前图像块中子图像块的宽度;若c表示当前图像块的高度,k则表示当前图像块中子图像块的高度。
可选的,在本申请的另一种可能的实现方式中,上述“确定装置获取第一图像块的运动信息和第二图像块的运动信息”的方法为:确定装置获取当前图像块在融合merge模式下的空域相邻图像块,这里,当前图像块在融合merge模式下的空域相邻图像块包括:当前图像块在merge模式下的空域相邻图像块A1,当前图像块在merge模式下的空域相邻图像块A0,当前图像块在merge模式下的空域相邻图像块B1,当前图像块在merge模式下的空域相邻图像块B0以及当前图像块在merge模式下的空域相邻图像块B2;其中,第一图像块和第二图像块为当前图像块在merge模式下的空域相邻图像块中的图像块。
第三方面,提供一种帧间预测方法,帧间预测装置采用如第一方面、第二方面及其任意一种可能的实现方式中任意之一所述的方法,确定当前图像块中子图像块的运动信息,并根据确定出的该子图像块的运动信息,进行运动补偿预测,得到该子图像块的预测块。
由于本申请提供的确定运动信息的方法有效的降低了计算复杂度,因此,基于该确定运动信息的方法确定出的子图像块的运动信息进行运动补偿预测,也有效的降低了计算复杂度,提高了编解码效率。
第四方面,提供一种确定装置,该确定装置包括获取单元、判断单元和确定单元。
具体的,上述获取单元,用于获取第一图像块的运动信息和第二图像块的运动信息,第一图像块为第一像素归属的图像块,第一像素为当前图像块的空域相邻像素,第二图像块为第二像素归属的图像块,第二像素为当前图像块的空域相邻像素,第一像素与第二像素不同。上述判断单元,用于判断第一图像块和第二图像块是否均可得,且第一图像块的运动信息和第二图像块的运动信息是否相同。上述确定单元,用于若上述判断单元确定出第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。
可选的,在本申请的一种可能的实现方式中,上述获取单元具体用于:获取第一运动信息组合和第二运动信息组合;第一运动信息组合包括n个第一相邻图像块的运动信息,第一相邻图像块为当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,n个第一相邻图像块中的任意两个第一相邻图像块包括的当前图像块的空域相邻像素不同;第二运动信息组合包括m个第二相邻图像块的运动信息,第二相邻图像块为当前图像块在第二预设方向、预设位置的空域相邻像素归属的图像块,m个第二相邻图像块中的任意两个第二相邻图像块包括的当前图像块的空域相邻像素不同;c/k≥n≥1,c/k≥m≥1,其中,c表示当前图像块的宽度或高度;若c表示当前图像块的宽度,k则表示当前图像块中子图像块的宽度;若c表示当前图像块的高度,k则表示当前图像块中子图像块的高度;从第一运动信息组合中选取第一图像块的运动信息,以及从第二运动信息组合中选取第二图像块的运动信息。
可选的,在本申请的另一种可能的实现方式中,上述若当前图像块的左上顶点像素的坐标为(xP,yP),第一相邻图像块包括的当前图像块的空域相邻像素的坐标为(xP-1,yi),第二相邻图像块包括的当前图像块的空域相邻像素的坐标为(xj,yP-1),则(yP+2H)≥yi≥yP,(xP+2W)≥xj≥xP,其中,H表示当前图像块的高度,W表示当前图像块的宽度,n≥i≥1,m≥j≥1。
可选的,在本申请的另一种可能的实现方式中,上述获取单元具体用于:获取第一运动信息组合,该第一运动信息组合包括n个第一相邻图像块的运动信息,第一相邻图像块为当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,n个第一相邻图像块中的任意两个第一相邻图像块包括的当前图像块的空域相邻像素不同;c/k≥n≥1,其中,c表示当前图像块的宽度或高度;若c表示当前图像块的宽度,k则表示当前图像块中子图像块的宽度;若c表示当前图像块的高度,k则表示当前图像块中子图像块的高度;从第一运动信息组合中选取第一图像块的运动信息以及第二图像块的运动信息。
可选的,在本申请的另一种可能的实现方式中,若当前图像块的左上顶点像素的坐标为(xP,yP),第一相邻图像块包括的当前图像块的空域相邻像素的坐标为(xP-1,yi),则(yP+2H)≥yi≥yP,其中,H表示当前图像块的高度,n≥i≥1。
本申请中第四方面及其任意一种可能的实现方式的具体描述,可以参考第一方面及其任意一种可能的实现方式中任意之一的详细描述;并且,第四方面及其任意一种可能的实现方式中任意之一的有益效果,可以参考第一方面及其任意一种可能的实现方式中任意之一的有益效果分析,此处不再赘述。
第五方面,提供一种确定装置,该确定装置包括获取单元、判断单元、和确定单元。
具体的,上述获取单元,用于获取第一图像块的运动信息和第二图像块的运动信息,其中,第一图像块为当前图像块的空域相邻块,第二图像块为当前图像块的空域相邻块,第一图像块与第二图像块不同。上述判断单元,用于判断第一图像块和第二图像块是否可得,以及上述获取单元获取到的第一图像块的运动信息和第二图像块的运动信息是否相同。上述确定单元,用于若第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。
可选的,在本申请的一种可能的实现方式中,上述第一图像块为当前图像块左侧的空域相邻块,上述第二图像块为当前图像块上侧的空域相邻块。
可选的,在本申请的另一种可能的实现方式中,第一图像块为当前图像块在融合merge模式下的空域相邻图像块A1,第二图像块为当前图像块在merge模式下的空域相邻图像块B1。
可选的,在本申请的另一种可能的实现方式中,上述获取单元具体用于:获取当前图像块左侧的n个空域相邻图像块的运动信息,和当前图像块的上侧的m个空域相邻图像块的运动信息,上述第一图像块为n个空域相邻图像块中的图像块,第二图像块为m个空域相邻图像块中的图像块,c/k≥n≥1,c/k≥m≥1,其中,c表示当前图像块的宽度或高度;若c表示当前图像块的宽度,k则表示当前图像块中子图像块的宽度;若c表示当前图像块的高度,k则表示当前图像块中子图像块的高度。
可选的,在本申请的另一种可能的实现方式中,上述获取单元具体用于:获取当前图像块在融合merge模式下的空域相邻图像块,这里,当前图像块在融合merge模式下的空域相邻图像块包括:当前图像块在merge模式下的空域相邻图像块A1,当前图像块在merge模式下的空域相邻图像块A0,当前图像块在merge模式下的空域相邻图像块B1,当前图像块在merge模式下的空域相邻图像块B0以及当前图像块在merge模式下的空域相邻图像块B2;其中,第一图像块和第二图像块为当前图像块在merge模式下的空域相邻图像块中的图像块。
第六方面,提供一种帧间预测装置,该帧间预测装置包括确定单元和预测单元。
具体的,上述确定单元,用于采用如第一方面、第二方面及其任意一种可能的实现方式中任意之一所述的方法,确定当前图像块中子图像块的运动信息。上述预测单元,用于根据上述确定单元确定出的子图像块的运动信息,进行运动补偿预测,得到该子图像块的预测块。
第七方面,提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行如上述第一方面、第二方面及其任意一种可能的实现方式中任意之一所述的确定运动信息的方法或执行如上述第三方面所述的帧间预测方法。
第八方面,提供一种视频解码器,包括非易失性存储介质以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行如上述第一方面、第二方面及其任意一种可能的实现方式中任意之一所述的确定运动信息的方法或执行如上述第三方面所述的帧间预测方法。
第九方面,提供一种解码器,所述解码器包括上述第四方面、第五方面及其任意一种可能的实现方式中任意之一所述的确定装置、上述第六方面所述的帧间预测装置以及重建模块,其中,所述重建模块用于根据所述帧间预测装置得到的预测像素确定当前图像块的重建像素值,其中,所述重建模块用于根据所述帧间预测装置得到的预测像素确定当前图像块的重建像素值。
第十方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在上述第七方面所述的终端上运行时,使得终端执行如上述第一方面、第二方面及其任意一种可能的实现方式中任意之一所述的确定运动信息的方法或执行如上述第三方面所述的帧间预测方法。
第十一方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在上述第七方面所述的终端上运行时,使得终端执行如上述第一方面、第二方面及其任意一种可能的实现方式中任意之一所述的确定运动信息的方法或执行如上述第三方面所述的帧间预测方法。
在本申请中,上述确定装置、帧间预测装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请中第六方面到第十一方面及其各种实现方式的具体描述,可以参考第一方面、第二方面及其各种实现方式中任意之一的详细描述;并且,第六方面到第十一方面及其各种实现方式的有益效果,可以参考第一方面、第二方面及其各种实现方式中任意之一的有益效果分析,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1A为融合模式下当前图像块的空域相邻图像块的结构示意图;
图1B为本申请实施例中图像块的相邻像素的结构示意图;
图2为本申请实施例中视频编解码系统的结构示意图;
图3为本申请实施例中视频编码器的结构示意图;
图4为本申请实施例中视频解码器的结构示意图;
图5为本申请实施例提供的运动信息的计算方法流程示意图;
图6为本申请实施例中第一图像块和第二图像块的结构示意图;
图7为本申请实施例提供的确定装置的结构示意图一;
图8为本申请实施例提供的确定装置的结构示意图二;
图9为本申请实施例提供的帧间预测装置的结构示意图一;
图10为本申请实施例提供的帧间预测装置的结构示意图二。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,采用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于理解本申请实施例,首先在此介绍本申请实施例涉及到的相关要素。
图像编码(image encoding):将图像序列压缩成码流的处理过程。
图像解码(image decoding):将码流按照特定的语法规则和处理方法恢复成重建图像的处理过程。
目前,视频图像的编码过程为:编码端首先将一帧原始图像划分成互不重叠的多个部分,每一部分即可作为一个图像块;然后,编码端针对每个图像块执行预测(Prediction)、变换(Transform)和量化(Quantization)等操作,以得到该图像块对应的码流;其中,预测是为了得到图像块的预测块,从而可以仅对该图像块与其预测块之间的差值(或称为残差或残差块)进行编码和传输,进而节省传输开销;最后,编码端将该图像块对应的码流发送给解码端。
相应的,解码端在接收到该码流之后,执行视频解码过程。具体的,解码端对接收到的码流进行预测、反量化和反变换等操作,得到经重建的图像块(或称为重建图像块),该过程称为图像重建过程(或图像重构过程);然后,解码端对上述原始图像中的每个图像块的重建块进行组装,得到该原始图像的经重建的图像,并播放经重建的图像。
现有的视频图像编解码技术包括帧内预测与帧间预测。其中,帧间预测是指以编码图像块/解码图像块为单位,利用当前帧与其参考帧之间的相关性完成的预测。当前帧可以存在一个或多个参考帧。具体的,根据当前图像块的参考帧中的像素,生成当前图像块的预测图像块。
一般的,对于当前图像块而言,可以仅根据一个参考图像块生成当前图像块的预测图像块,也可以根据至少两个参考图像块生成当前图像块的预测图像块。上述根据一个参考图像块生成当前图像块的预测图像块称为单向预测,上述根据至少两个参考图像块生成当前图像块的预测图像块称为双向帧间预测。双向帧间预测中的至少两个参考图像块可来自于同一个参考帧或者不同的参考帧。也就是说,本申请涉及到的“方向”为一个广义的定义。本申请中的一个方向与一个参考图像块对应。
运动补偿(Motion Compensation,MC)为利用参考图像块对当前图像块进行预测的过程。
在大多数的编码框架中,视频序列包括一系列图像(picture),图像被划分为至少一个条带(slice),每个条带又被划分为图像块(block)。视频编码/解码以图像块为单位,可从图像的左上角位置开始从左到右、从上到下、一行一行进行编码/解码处理。这里,图像块可以为高效视频编码(High Efficiency Video Coding,HEVC)标准中的编码单元(Coding Unit,CU)。当然,图像块也可以为CU所包括的块。示例性的,图像块为CU中的亮度块,也可以为CU中的色度块,本申请实施例对此不作具体限定。
本申请中,正在进行编码/解码处理的图像块称为当前图像块(current block),当前图像块所在的图像称为当前帧。
在当前帧中,与当前图像块相邻的(例如位于当前块的左侧、上侧或右侧)的图像块可能已经完成了编码/解码处理,得到了重建图像,它们称为重建图像块;重建图像块的编码模式、重建像素等信息是可以获得的(available)。
在当前帧进行编码/解码之前已经完成编码/解码处理的帧称为重建帧。
运动矢量(Motion Vector,MV)是帧间预测过程中的一个重要参数,其表示已编码的图像块相对于当前图像块的空间位移。一般的,可以采用运动估计(Motion Estimation,ME)的方法,诸如运动搜索来获取运动矢量。初期的帧间预测技术,编码端在码流中传输当前图像块的运动矢量,以使得解码端再现当前图像块的预测像素,进而得到重建块。为了进一步的改善编码效率,后来又提出采用参考运动矢量差分地编码运动矢量,即仅仅编码运动矢量差(Motion Vector Difference,MVD)。
为了使得解码端与编码端采用相同的参考图像块,编码端需要在码流中向解码端发送各个图像块的运动信息。若编码端直接对每个图像块的运动矢量进行编码,则会消耗大量的传输资源。由于空间域相邻的图像块的运动矢量具有很强的相关性,因此,当前图像块的运动矢量可以根据邻近已编码图像块的运动矢量进行预测,预测所得到的运动矢量称为MVP,当前图像块的运动矢量和MVP之间的差值称为MVD。
视频编解码标准H.264在运动估计过程中采用了多参考帧预测来提高预测精度,即建立储存多个重建帧的缓存,并在缓存内的所有的重建帧中寻找最优的参考图像块进行运动补偿,以便更好地去除时间域的冗余度。视频编解码标准H.264的帧间预测采用两个缓存,即参考帧列表0(reference list0)和参考帧列表1(reference list1)。每一个列表中最优的参考块所在的参考帧用索引值标明,即ref_idx_l0和ref_idx_l1。每一参考帧列表中,参考图像块的运动信息包括参考帧的索引值(ref_idx_l0或ref_idx_l1)、MVP在候选运动信息列表中的索引值和MVD。解码端根据参考帧的索引值、MVP在候选运动信息列表中的索引值和MVD,即可以在选定的参考帧中找到正确的参考图像块。
目前,在HEVC标准中常采用帧间预测模式为高级运动矢量预测(advanced motionvector prediction,AMVP)模式和合并(merge)模式。
对于AMVP模式,编码端通过当前图像块空域或者时域相邻的已编码的图像块的运动矢量构建候选运动信息列表,并根据率失真代价从该候选运动信息列表中确定最优的运动矢量作为当前图像块的MVP。此外,编码端在以MVP为中心的邻域内进行运动搜索获取当前图像块的运动矢量。编码端将MVP在候选运动信息列表中的索引值、参考帧的索引值以及MVD传递到解码端。
对于merge模式,编码端通过当前图像块空域或者时域相邻的已编码图像块的运动矢量,构建候选运动信息列表,并根据率失真代价从该候选运动信息列表中确定最优的运动矢量作为当前图像块的MV。编码端将最优的运动矢量在候选运动信息列表中位置的索引值传递到解码端。
如图1A所示,在融合merge模式下,当前图像块的空域相邻图像块包括:图像块A1、图像块A0、图像块B1、图像块B0以及图像块B2。
结合上述图1A,一般的,图像块B2为当前图像块的左上侧图像块,图像块B0为当前图像块的右上侧图像块,图像块A0为当前图像块的左下侧图像块。
在HEVC标准的帧间预测中,编解码端对同一编码单元内的所有像素都采用相同的运动信息,并根据该运动信息进行运动补偿,以得到编码单元中每一像素的预测值。然而,在编码单元内,并不是所有的像素都有相同的运动特性,因此,编解码端对编码单元中的所有像素采用相同的运动信息进行运动补偿,可能会导致预测的不准确,进而增加了残差信息。
为了提高编码效率,未来视频编码联合探索组(joint exploration team onfuture video coding,JEVT)的参考软件联合探索模型(joint exploration model,JEM)中,采用子编码单元运动矢量预测(sub-CU based motion vector prediction,SMVP)技术、解码端运动矢量导出技术或非平动运动模型预测技术确定图像块的预测像素。
其中,SMVP技术是编解码端将当前编码单元划分为大小为M×N的多个子编码单元,并计算出每个子编码单元的运动信息,然后,编解码端利用各个子编码单元的运动信息进行运动补偿,得到当前编码单元的预测像素。
在合并模式中,SMVP技术可以包括高级时域运动矢量预测(advanced temporalmotion vector prediction,ATMVP)技术或空域时域运动矢量平面预测(planar motionvector prediction,PLANAR)技术计算子编码单元的运动信息。
PLANAR技术是指:编解码端获取当前子图像块的上侧空域相邻图像块、左侧空域相邻图像块、右侧相邻图像块和下侧相邻图像块的运动信息,求其平均值,并转化为当前每一个子图像块的运动信息。
本申请实施例中,当前子图像块的某一方向的相邻图像块是指当前图像块的该方向相邻像素所归属的图像块,其中,当前子图像块归属于当前图像块。
示例性的,如图1B所示,当前图像块的左上顶点像素的坐标为(0,0),相对于当前图像块的左上顶点像素,当前子图像块的坐标为(x,y),则当前子图像块的上侧空域相邻像素的坐标可以为(x,-1),当前子图像块的左侧空域相邻像素的坐标可以为(-1,y),当前子图像块的右侧相邻像素的坐标可以为(W,y),当前子图像块的下侧相邻像素的坐标可以为(x,H)。若采用P(x,y)表示当前子图像块的运动矢量,并采用L(-1,y)、R(W,y)、A(x,-1)以及B(x,H)分别表示当前子图像块的左侧空域相邻图像块、当前子图像块的右侧相邻图像块、当前子图像块的上侧空域相邻图像块、当前子图像块的下侧相邻图像块的运动矢量,则根据下述公式(1)得到当前子图像的运动矢量。下述公式(1)中的W为当前图像块的宽,H为当前图像块的高。
P(x,y)=(H×Ph(x,y)+W×Pv(x,y)+H×W)/(2×H×W) (1)
上述公式(1)中的Ph(x,y)和Pv(x,y)分别表示为:
Ph(x,y)=(W-1-x)×L(-1,y)+(x+1)×R(W,y)
Pv(x,y)=(H-1-y)×A(x,-1)+(y+1)×B(x,H)
一般的,编解码端可以根据当前子图像块的坐标(x,y),从当前图像块的空域相邻图像块得到L(-1,y)和A(x,-1)。
编解码端获取R(W,y)和B(x,H)的方法可以为:编解码端获取当前图像块的右下侧相邻图像块A3的时域运动信息BR;编解码端根据当前图像块的右上空域相邻图像块A2的运动矢量AR和BR,计算得到R(W,y);编解码端根据当前图像块的左下空域相邻图像块A4的运动矢量BL和BR,计算得到B(x,H)。
其中,编解码端可以采用下述公式(2)计算得到R(W,y)。
R(W,y)=((H-y-1)×AR+(y+1)BR)/H (2)
编解码端可以采用下述公式(3)计算得到B(x,H)。
B(x,H)=((W-x-1)×BL+(x+1)BR)/W (3)
传统技术中,采用PLANAR方式计算子编码单元的运动信息的流程比较复杂,计算速度较慢,导致编解码速率较低。
为此,本申请提供一种确定运动信息的方法。具体的,确定装置在获取到第一图像块的运动信息和第二图像块的运动信息后,判断第一图像块和第二图像块是否均可得,并判断第一图像块的运动信息和第二图像块的运动信息是否相同。若第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则确定装置采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。这里的第一图像块为第一像素归属的图像块,第一像素为当前图像块的空域相邻像素,第二图像块为第二像素归属的图像块,第二像素为当前图像块的空域相邻像素,第一像素与第二像素不同。
本申请提供的另一种确定运动信息的方法为:确定装置获取第一图像块的运动信息和第二图像块的运动信息,并判断第一图像块和第二图像块是否可得,以及第一图像块的运动信息和第二图像块的运动信息是否相同,若第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。这里,第一图像块为当前图像块的空域相邻块,第二图像块为当前图像块的空域相邻块,第一图像块与第二图像块不同。
可以看出,本申请提供的方法中,确定装置根据第一图像块的运动信息和第二图像块的运动信息即可确定出是否采用空域临近运动信息的子块运动矢量预测技术确定当前图像块中子图像块的运动信息。确定装置在确定当前图像块中子图像块的运动信息时,首先先确定是否空域临近运动信息的子块运动矢量预测技术是否可用。对当前图像块而言,在空域临近运动信息的子块运动矢量预测技术可用的情况下,才采用空域临近运动信息的子块运动矢量预测技术,确定当前图像块中子图像块的运动信息,有效的避免了不必要的计算,有效的降低了计算复杂度,提高了计算速度,进而提高了编解码效率。
此外,本申请还提供一种帧间预测方法,帧间预测装置采用上述确定运动信息的方法,确定当前图像块中子图像块的运动信息;并根据子图像块的运动信息,进行运动补偿预测,得到当前图像块的预测像素。
由于本申请提供的确定运动信息的方法有效的降低了计算复杂度,因此,基于该确定运动信息的方法确定出的子图像块的运动信息进行运动补偿预测,也有效的降低了计算复杂度,提高了编解码效率。
上述空域临近运动信息的子块运动矢量预测技术可以为PLANAR技术,也可以为其他空域临近运动信息的子块运动矢量预测技术,本申请实施例对此不作具体限定。
为了便于描述,后续均以PLANAR技术为例进行说明。
本申请提供的确定运动信息的方法可以由确定装置、视频编解码装置、视频编解码器以及其它具有视频编解码功能的设备来执行。本申请提供的方法可以由帧间预测装置、视频编解码装置、视频编解码器以及其它具有视频编解码功能的设备来执行。其中,确定装置和帧间预测装置可以置于同一设备中,也可以独立设置,本申请实施例对此不作具体限定。
本申请提供的确定运动信息的方法、帧间预测方法适用于视频编解码系统。视频编解码系统的视频编码器100和视频解码器200用于根据本申请提出的确定运动信息的方法实例实现候选运动信息列表的生成,以及对当前图像块的预测。
图2示出了视频编解码系统的结构。如图2所示,视频编解码系统包含源装置10和目的装置20。源装置10产生经过编码后的视频数据,源装置10也可以被称为视频编码装置或视频编码设备,目的装置20可以对源装置10产生的经过编码后的视频数据进行解码,目的装置20也可以被称为视频解码装置或视频解码设备。源装置10和/或目的装置20可包含至少一个处理器以及耦合到所述至少一个处理器的存储器。所述存储器可包含但不限于只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、带电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,本申请对此不作具体限定。
源装置10和目的装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
目的装置20可经由链路30从源装置10接收经编码视频数据。链路30可包括能够将经编码视频数据从源装置10移动到目的装置20的一个或多个媒体和/或装置。在一个实例中,链路30可包括使得源装置10能够实时地将编码后的视频数据直接发射到目的装置20的一个或多个通信媒体。在此实例中,源装置10可根据通信标准(例如:无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的装置20。上述一个或多个通信媒体可包含无线和/或有线通信媒体,例如:射频(radio frequency,RF)频谱、一个或多个物理传输线。上述一个或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置10到目的装置20的通信的其它设备。
在另一实例中,可将编码后的视频数据从输出接口140输出到存储装置40。类似地,可通过输入接口240从存储装置40存取编码后的视频数据。存储装置40可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(digital video disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,存储装置40可对应于文件服务器或存储由源装置10产生的编码后的视频数据的另一中间存储装置。在此实例中,目的装置20可经由流式传输或下载从存储装置40获取其存储的视频数据。文件服务器可为任何类型的能够存储经编码的视频数据并且将经编码的视频数据发射到目的装置20的服务器。例如,文件服务器可以包含全球广域网(world wide web,Web)服务器(例如,用于网站)、文件传送协议(file transferprotocol,FTP)服务器、网络附加存储(network attached storage,NAS)装置以及本地磁盘驱动器。
目的装置20可通过任何标准数据连接(例如,因特网连接)存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本申请的确定运动信息的方法、帧间预测方法不限于无线应用场景,示例性的,本申请的确定运动信息的方法、帧间预测方法可以应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
需要说明的是,图2示出的视频编解码系统仅仅是视频编解码系统的示例,并不是对本申请中视频编解码系统的限定。本申请提供的确定运动信息的方法还可适用于编码装置与解码装置之间无数据通信的场景。在其它实例中,待编码视频数据或编码后的视频数据可以从本地存储器检索,也可以在网络上流式传输等。视频编码装置可对待编码视频数据进行编码并且将编码后的视频数据存储到存储器,视频解码装置也可从存储器中获取编码后的视频数据并且对该编码后的视频数据进行解码。
在图2中,源装置10包含视频源101、视频编码器102和输出接口103。在一些实例中,输出接口103可包含调节器/解调器(调制解调器)和/或发射器。视频源101可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
视频编码器102可对来自视频源101的视频数据进行编码。在一些实例中,源装置10经由输出接口103将编码后的视频数据直接发射到目的装置20。在其它实例中,编码后的视频数据还可存储到存储装置40上,供目的装置20稍后存取来用于解码和/或播放。
在图2的实例中,目的装置20包含显示装置201、视频解码器202以及输入接口203。在一些实例中,输入接口203包含接收器和/或调制解调器。输入接口203可经由链路30和/或从存储装置40接收编码后的视频数据。显示装置201可与目的装置20集成或可在目的装置20外部。一般来说,显示装置201显示解码后的视频数据。显示装置201可包括多种显示装置,例如,液晶显示器、等离子显示器、有机发光二极管显示器或其它类型的显示装置。
可选的,视频编码器102和视频解码器202可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。
视频编码器102和视频解码器202可以包括至少一个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integratedcircuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。若本申请提供的确定运动信息的方法采用软件实现,则可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可采用至少一个处理器在硬件中执行所述指令从而实施本申请。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为至少一个处理器。视频编码器102可以包含在编码器中,视频解码器202可包含在解码器中,所述编码器或解码器可以为相应装置中组合编码器/解码器(编码解码器)中的一部分。
本申请中的视频编码器102和视频解码器202可以根据视频压缩标准(例如HEVC)操作,也可根据其它业界标准操作,本申请对此不作具体限定。
视频编码器102和视频解码器202均用于:获取第一图像块的运动信息和第二图像块的运动信息;若第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同,则确定采用PLANAR技术确定当前图像块中子图像块的运动信息。
此外,视频解码器202还用于:确定当前图像块中子图像块的运动信息;根据该子图像块的运动信息,进行运动补偿预测,得到该子图像块的预测块。
图3是本申请实施例中视频编码器102的结构示意图。如图3所示,视频编码器102用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器102的经编码视频数据的视频实体的实例,例如媒体感知网络元件(MANE)或拼接/编辑装置。在一些情况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器102可为单独装置的若干部分,而在其它情况下,相对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图3的存储装置40的实例。
如图3所示,视频编码器102包括变换器301、量化器302、熵编码器303、滤波器306、存储器307、预测处理单元308、求和器312。预测处理单元308包括帧内预测器309和帧间预测器310。为了图像块重构,视频编码器102还包含反量化器304、反变换器305以及求和器311。滤波器306既定表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器和样本自适应偏移滤波器。
存储器307可存储由视频编码器102的组件编码的视频数据。可从视频源101获得存储在存储器307中的视频数据。存储器307可为参考图像存储器,其存储用于由视频编码器102在帧内、帧间译码模式中对视频数据进行编码的参考视频数据。存储器307可以为同步DRAM(synchronous DRAM,SDRAM)的动态随机存取存储器(dynamic RAM,DRAM)、磁阻式RAM(magnetic RAM,MRAM)、电阻式RAM(resistive RAM,RRAM),或其它类型的存储器装置。
视频编码器102接收视频数据,并将所述视频数据存储在视频数据存储器中。分割单元将所述视频数据分割成若干图像块,而且这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。此分割还可包含分割成条带(slice)、片(tile)或其它较大单元。视频编码器102通常说明编码待编码的视频条带内的图像块的组件。所述条带可分成多个图像块(并且可能分成被称作片的图像块集合)。
预测处理单元308内的帧内预测器309可相对于与当前图像块在相同帧或条带中的一或多个相邻图像块执行当前图像块的帧内预测性编码,以去除空间冗余。预测处理单元308内的帧间预测器310可相对于一或多个参考图像中的一或多个预测图像块执行当前图像块的帧间预测性编码以去除时间冗余。
预测处理单元308可将所得经帧内、帧间译码的图像块提供给求和器310以产生残差块,且提供给求和器309以重建用作参考图像的编码块。
在预测处理单元308经由帧间预测、帧内预测产生当前图像块的预测图像块之后,视频编码器102通过从待编码的当前图像块减去所述预测图像块来形成残差图像块。求和器312表示执行此减法运算的一或多个组件。所述残差块中的残差视频数据可包含在一或多个变换单元(transform unit,TU)中,并应用于变换器301。变换器301采用例如离散余弦变换(discrete cosine transform,DCT)或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换器301可将残差视频数据从像素值域转换到变换域,例如频域。
变换器301可将所得变换系数发送到量化器302。量化器302量化所述变换系数以进一步减小位速率。在一些实例中,量化器302可接着执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码器303可执行扫描。
在量化之后,熵编码器303对经量化变换系数进行熵编码。举例来说,熵编码器303可执行上下文自适应可变长度编码(context adaptive variable length coding,CAVLC)、上下文自适应二进制算术编码(context based adaptive binary arithmeticcoding,CABAC)或另一熵编码方法或技术。在由熵编码器303熵编码之后,可将编码后的码流发送到视频解码器202,或经存档以供稍后发送或由视频解码器202检索。熵编码器303还可对待编码的当前图像块的语法元素进行熵编码。
反量化器304和反变化器305分别应用逆量化和逆变换以在像素域中重构所述残差块,例如以供稍后用作参考图像的参考块。求和器311将经重构的残差块添加到由帧间预测器310或帧内预测器309产生的预测图像块,以产生经重构图像块。其中,对一个图像块的参考图像块进行处理(例如插值等处理)可以得到该图像块的预测图像块。
应当理解的是,视频编码器102的其它的结构变化可用于编码视频流。例如,对于某些图像块或者图像帧,视频编码器102可以直接地量化残差信号而不需要经变换器301处理,相应地也不需要经反变换器305处理;或者,对于某些图像块或者图像帧,视频编码器102没有产生残差数据,相应地不需要经变换器301、量化器302、反量化器304和反变换器305处理;或者,视频编码器102可以将经重构图像块作为参考块直接地进行存储而不需要经滤波器306处理;或者,视频编码器102中量化器302和反量化器304可以合并在一起。
图4是本申请实施例中视频解码器202的结构示意图。如图4所示,视频解码器202包括熵解码器401、反量化器402、反变换器403、滤波器404、存储器405、预测处理单元406以及求和器409。预测处理单元406包括帧内预测器407和帧间预测器408。在一些实例中,视频解码器202可执行大体上与相对于来自图4的视频编码器102描述的编码过程互逆的解码过程。
在解码过程中,视频解码器202从视频编码器102接收码流。视频解码器202可从网络实体42接收视频数据,可选的,还可以将所述视频数据存储在视频数据存储器(图中未示意)中。视频数据存储器可存储待由视频解码器202的组件解码的视频数据,例如编码后的码流。存储在视频数据存储器中的视频数据,例如可从存储装置40、从相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。尽管在图4中没有示意出视频数据存储器,但视频数据存储器和存储器405可以是同一个的存储器,也可以是单独设置的存储器。视频数据存储器和存储器405可由多种存储器装置中的任一者形成,例如:包含同步DRAM(SDRAM)的动态随机存取存储器(DRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。在各种实例中,视频数据存储器可与视频解码器202的其它组件一起集成在芯片上,或相对于那些组件设置在芯片外。
网络实体42可例如为服务器、MANE、视频编辑器/剪接器,或用于实施上文所描述的技术中的一或多者的其它此装置。网络实体42可包括或可不包括视频编码器,例如视频编码器102。在网络实体42将码流发送到视频解码器202之前,网络实体42可实施本申请中描述的技术中的部分。在一些视频解码系统中,网络实体42和视频解码器202可为单独装置的部分,而在其它情况下,相对于网络实体42描述的功能性可由包括视频解码器202的相同装置执行。在一些情况下,网络实体42可为图3的存储装置40的实例。
视频解码器202的熵解码器401对码流进行熵解码以产生经量化的系数和一些语法元素。熵解码器401将语法元素转发到滤波器404。视频解码器202可接收在视频条带层级和/或图像块层级处的语法元素。
反量化器402将在码流中提供且由熵解码器401解码的经量化变换系数逆量化,即去量化。逆量化过程可包括:采用由视频编码器102针对视频条带中的每个图像块计算的量化参数来确定应施加的量化程度以及同样地确定应施加的逆量化程度。反变换器403将逆变换应用于变换系数,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残差块。
在预测处理单元406产生用于当前图像块或当前图像块的子图像块的预测图像块之后,视频解码器202通过将来自反变换器403的残差块与由预测处理单元406产生的对应预测图像块求和以得到重建的块,即经解码图像块。求和器409(亦称为重建器409)表示执行此求和操作的组件。在需要时,还可采用滤波器(在解码环路中或在解码环路之后)使像素转变平滑或者以其它方式改进视频质量。滤波器404可以为一或多个环路滤波器,例如去块效应滤波器、自适应环路滤波器(ALF)以及样本自适应偏移(SAO)滤波器等。
应当理解的是,视频解码器202的其它结构变化可用于码流的解码。例如,对于某些图像块或者图像帧,视频解码器202的熵解码器401没有解码出经量化的系数,相应地不需要经反量化器402和反变换器403处理。例如,视频解码器202中反量化器402和反变换器403可以合并在一起。
以下,结合上述图2示出的视频编解码系统、图3示出的视频编码器102以及图4示出的视频解码器202对本申请提供的确定运动信息的方法、帧间预测方法进行详细描述。
图5为本申请实施例中确定运动信息的方法的流程示意图。图5所示的方法由确定装置执行。该确定装置可以是图2中的视频解码器202或视频编码器102。
如图5所示,本申请实施例中确定运动信息的方法可以包括下述步骤:
S500、确定装置获取第一图像块的运动信息和第二图像块的运动信息。
其中,第一图像块为第一像素归属的图像块,第一像素为当前图像块的空域相邻像素,第二图像块为第二像素归属的图像块,第二像素为当前图像块的空域相邻像素,第一像素与第二像素不同。
可选的,第一像素和第二像素可以均为当前图像块在第一预设方向/第二预设方向的空域相邻像素,也可以第一像素为当前图像块在第一预设方向的空域相邻像素,第二像素为当前图像块在第二预设方向的空域相邻像素,也可以为第一像素为当前图像块在第二预设方向的空域相邻像素,第二像素为当前图像块在第一预设方向的空域相邻像素,本申请实施例对此不作具体限定。
可选的,第一预设方向为当前图像块的左侧,第二预设方向为当前图像块的上侧;或者,第一预设方向为当前图像块的上侧,第二预设方向为当前图像块的左侧。
其中,若当前图像块的左上顶点像素的坐标为(xP,yP),则本申请实施例中当前图像块的左侧空域相邻像素的坐标为(xP-1,y),当前图像块的左侧空域相邻像素的坐标为(x,yP-1),(yP+aH)≥y≥yP,(xP+aW)≥x≥xP,这里,H表示当前图像块的高度,W表示当前图像块的宽度,a为1或2。
示例性的,如图6所示,第一像素为当前图像块的左侧A1位置的像素,第二像素为当前图像块的左侧A2位置的像素。或者,第一像素为当前图像块的左侧A1位置的像素,第二像素为当前图像块的上侧B1位置的像素。其中,A1位置、A2位置以及B1位置均为预设的。
确定装置可以根据预设的位置,只获取第一图像块的运动信息和第二图像块的运动信息,也可以根据第一预设方向,获取第一运动信息组合,以及根据第二预设方向,获取第二运动信息组合,并从第一运动信息组合中选取第一图像块的运动信息,从第二运动信息组合中选取第二图像块的运动信息,还可以根据第一预设方向,获取第一运动信息组合,并从第一运动信息组合中选取第一图像块的运动信息和第二图像块的运动信息,本申请实施例对此不作具体限定。
上述第一运动信息组合包括n个第一相邻图像块的运动信息,第一相邻图像块为当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,n个第一相邻图像块中的任意两个第一相邻图像块包括的当前图像块的空域相邻像素不同。
示例性的,若第一预设方向为当前图像块的左侧,如图6所示,第一运动信息组合可以包括A1位置的像素归属的图像块的运动信息以及A2位置的像素归属的图像块的运动信息。
上述第二运动信息组合包括m个第二相邻图像块的运动信息,第二相邻图像块为当前图像块在第二预设方向、预设位置的空域相邻像素归属的图像块,m个第二相邻图像块中的任意两个第二相邻图像块包括的当前图像块的空域相邻像素不同。
示例性的,若第一预设方向为当前图像块的上侧,如图6所示,第二运动信息组合可以包括B1位置的像素归属的图像块的运动信息以及B2位置的像素归属的图像块的运动信息。
可选的,若当前图像块的左上顶点像素的坐标为(xP,yP),第一相邻图像块包括的当前图像块的空域相邻像素的坐标为(xP-1,yi),第二相邻图像块包括的所述当前图像块的空域相邻像素的坐标为(xj,yP-1),则(yP+2H)≥yi≥yP,(xP+2W)≥xj≥xP,其中,H表示当前图像块的高度,W表示当前图像块的宽度,n≥i≥1,m≥j≥1。
示例性的,如图6所示,若当前图像块的左上顶点像素的坐标为(xP,yP),A1位置的像素的坐标为(xP-1,y1),A2位置的像素的坐标为(xP-1,y2),B1位置的像素的坐标为(x1,yP-1),B2位置的像素的坐标为(x2,yP-1),则(yP+2H)≥y1≥yP,(yP+2H)≥y2≥yP,(xP+2W)≥x1≥xP,(xP+2W)≥x2≥xP。
S501、确定装置判断第一图像块和第二图像块是否均可得,且第一图像块的运动信息和第二图像块的运动信息是否相同。
本申请实施例中涉及到的“可得”指图像块为采用帧间编码得到的图像块,且该图像块与当前图像块不属于同一合并(merge)merge区域。关于“可得”的定义,具体可参见H.266标准协议中8.3.2.3的定义,此处不再进行详细赘述。
当第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不相同,则采用PLANAR技术确定当前图像块中子图像块的运动信息,即执行S502。反之,则采用除PLANAR技术以外的技术确定当前图像块中子图像块的运动信息,即执行S503。
本申请实施例中图像块的运动信息包括参考帧的索引值、运动矢量和方向标识,所述方向标识用于标识采用前向帧间预测、后向帧间预测或双向帧间预测;
第一图像块的运动信息和第二图像块的运动信息不同是指:第一图像块的运动信息所包括的第一参考帧的索引值与第二图像块的运动信息所包括的第二参考帧的索引值、第一图像块的运动信息所包括的第一运动矢量与第二图像块的运动信息所包括的第二运动矢量、第一图像块的运动信息所包括的第一方向标识与第二图像块的运动信息所包括的第二方向标识,中的至少一项不同。
这里,运动矢量也可以为被缩放后的运动矢量。
S502、当第一图像块和第二图像块均可得,且第一图像块的运动信息和第二图像块的运动信息不同时,确定装置采用PLANAR技术确定当前图像块中子图像块的运动信息。
具体的,确定装置生成参考运动信息列表,并利用参考运动信息列表中的参考运动信息,计算子图像块的运动信息。
其中,确定装置生成参考运动信息列表的方法为:确定装置获取当前图像块的空域相邻像素的运动信息,并生成包括获取到的运动信息的参考运动信息列表。在获取当前图像块的所有空域相邻像素的运动信息后,若参考运动信息列表中运动信息的数量小于预设长度值,则确定装置填充预设的运动信息,直至参考运动信息列表中运动信息的数量等于预设长度值。该预设长度值为参考运动信息列表的最大长度值。
示例性的,预设的运动信息可以为参考运动信息列表中已经存在的某一运动信息。
在一个示例中,确定装置获取当前图像块的左上相邻像素的运动信息,并将其加入到参考运动信息列表中,以及根据子图像块的大小,获取当前图像块上侧的所有相邻像素的运动信息,并将其加入到参考运动信息列表,以及获取当前图像块的右上相邻像素的运动信息,并将其加入到参考运动信息列表,以及根据子图像块大小,获取当前图像块的左侧的所有相邻像素的运动信息,并将其加入到参考运动信息列表,以及获取当前图像块的左下侧相邻像素的运动信息,并将其加入到参考运动信息列表。此时,如果确定装置获取到的运动信息的数量大于预设长度值,则该确定装置从获取到的所有运动信息中选取预设长度值的运动信息,并生成参考运动信息列表。如果确定装置获取到的运动信息的数量小于预设长度值,则该确定装置填充预设的运动信息,直至参考运动信息列表中运动信息的数量等于预设长度值。
在生成参考运动信息列表后,该确定装置利用参考运动信息列表中的参考运动信息,采用上述公式(1)确定子图像块的运动信息,此处不再进行详细赘述。
S503、确定装置采用除PLANAR技术之外的其他技术,确定当前图像块中子图像块的运动信息。
综上,确定装置根据第一图像块的运动信息和第二图像块的运动信息即可确定出是否采用PLANAR技术确定当前图像块中子图像块的运动信息。确定装置在确定当前图像块中子图像块的运动信息时,首先先确定是否PLANAR技术是否可用。对当前图像块而言,在PLANAR技术可用的情况下,才采用PLANAR技术,确定当前图像块中子图像块的运动信息,有效的避免了不必要的计算,有效的降低了计算复杂度,提高了计算速度,进而提高了编解码效率。
除了上述描述外,还可以直接将本申请实施例中的第一图像块和第二图像块理解为当前图像块的空域相邻块,且第一图像块与第二图像块不同。
在一种实现方式中,上述第一图像块为当前图像块左侧的空域相邻块,上述第二图像块为当前图像块上侧的空域相邻块。其中,左侧和上侧的定义可以参考上述描述,此处不再进行详细赘述。
在另一种实现方式中,第一图像块为当前图像块在merge模式下的空域相邻图像块A1,第二图像块为当前图像块在merge模式下的空域相邻图像块B1。
在另一种实现方式中,第一图像块为当前图像块左侧的n个空域相邻图像块中的图像块,第二图像块为当前图像块的上侧的m个空域相邻图像块中的图像块。其中,c/k≥n≥1,c/k≥m≥1,其中,c表示当前图像块的宽度或高度;若c表示当前图像块的宽度,k则表示当前图像块中子图像块的宽度;若c表示当前图像块的高度,k则表示当前图像块中子图像块的高度。
在另一种实现方式中,第一图像块和第二图像块为当前图像块在merge模式下的空域相邻图像块中的图像块,也就是说,第一图像块和第二图像块为:当前图像块在merge模式下的空域相邻图像块A1,当前图像块在merge模式下的空域相邻图像块A0,当前图像块在merge模式下的空域相邻图像块B1,当前图像块在merge模式下的空域相邻图像块B0以及当前图像块在merge模式下的空域相邻图像块B2中的图像块。
这里,当前图像块在merge模式下的空域相邻图像块可以参考上述图1A。
此外,本申请实施例还提供一种帧间预测方法。具体的,帧间预测装置采用如图5所示的确定运动信息的方法,确定当前图像块中子图像块的运动信息;并根据子图像块的运动信息,进行运动补偿预测,得到当前图像块的预测像素。
容易理解的是,该帧间预测方法实质上为基于本申请实施例提供的确定运动信息的方法确定当前图像块中每个子图像块的运动信息,进一步地,帧间预测装置根据每个子图像块的运动信息,获取当前图像块的预测像素。
当然,在实际应用中,还可以通过执行S500~S501确定是否可以采用PLANAR技术计算子图像块的运动信息,以进一步确定是否可以将PLANAR技术作为计算子图像块的运动信息的候选方法。一般的,在确定可以采用PLANAR技术计算子图像块的运动信息后,将PLANAR技术作为计算子图像块的运动信息的候选方法。
本申请实施例提供一种确定装置,该确定装置可以为视频解码器,也可以为视频编码器,还可以为解码器。具体的,确定装置用于执行以上确定运动信息的方法中的确定装置所执行的步骤。本申请实施例提供的确定装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对确定装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图7示出上述实施例中所涉及的确定装置的一种可能的结构示意图。如图7所示,确定装置7包括获取单元70、判断单元71和确定单元72。
获取单元70用于支持该确定装置执行上述实施例中的S500等,和/或用于本文所描述的技术的其它过程。
判断单元71用于支持该确定装置执行上述实施例中的S501等,和/或用于本文所描述的技术的其它过程。
确定单元72用于支持该确定装置执行上述实施例中的S502等,和/或用于本文所描述的技术的其它过程。
当然,本申请实施例提供的确定装置7包括但不限于上述模块,例如:确定装置7还可以包括存储单元73。
存储单元73可以用于存储该确定装置的程序代码和数据,也可以用于存储第一图像块的运动信息和第二图像块的运动信息。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,本申请实施例提供的确定装置的结构示意图如图8所示。在图8中,确定装置8包括:处理模块80和通信模块81。处理模块80用于对确定装置的动作进行控制管理,例如,执行上述获取单元70、判断单元71和确定单元72执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块81用于支持确定装置与其他设备之间的交互。如图8所示,确定装置还可以包括存储模块82,存储模块82用于存储确定装置的程序代码和数据,例如存储上述存储单元73所保存的内容。
其中,处理模块80可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块81可以是收发器、RF电路或通信接口等。存储模块82可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
上述确定装置7和确定装置8均可执行上述图5所示的确定运动信息的方法,确定装置7和确定装置8具体可以是视频解码装置或者其他具有视频编解码功能的设备。确定装置7和确定装置8可以用于在解码过程中进行图像预测。
本申请实施例提供一种帧间预测装置,该帧间预测装置可以为视频解码器,也可以为视频编码器,还可以为解码器。具体的,帧间预测装置用于执行以上帧间预测方法中的帧间预测装置所执行的步骤。本申请实施例提供的帧间预测装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对帧间预测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图9示出上述实施例中所涉及的帧间预测装置的一种可能的结构示意图。如图9所示,帧间预测装置9包括确定单元90和预测单元91。
确定单元90用于支持该帧间预测装置执行上述“确定当前图像块中子图像块的运动信息”等,和/或用于本文所描述的技术的其它过程。
预测单元91用于支持该帧间预测装置执行上述“根据确定出的子图像块的运动信息,进行运动补偿预测,得到当前图像块的预测像素”等,和/或用于本文所描述的技术的其它过程。
当然,本申请实施例提供的帧间预测装置包括但不限于上述模块,例如:确定装置9还可以包括存储单元92。
存储单元92可以用于存储该帧间预测装置的程序代码和数据。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,本申请实施例提供的帧间预测装置的结构示意图如图10所示。在图10中,帧间预测装置10包括:处理模块100和通信模块101。处理模块100用于对帧间预测装置的动作进行控制管理,例如,执行上述确定单元90和预测单元91执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块101用于支持帧间预测装置与其他设备之间的交互。如图10所示,帧间预测装置还可以包括存储模块102,存储模块102用于存储帧间预测装置的程序代码和数据,例如存储上述存储单元92所保存的内容。
其中,处理模块100可以是处理器或控制器,例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块101可以是收发器、RF电路或通信接口等。存储模块102可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
上述帧间预测装置9和帧间预测装置10均可执行上述帧间预测方法,帧间预测装置9和帧间预测装置10具体可以是视频解码装置或者其他具有视频编解码功能的设备。帧间预测装置9和帧间预测装置10可以用于在解码过程中进行图像预测。
本申请还提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行本申请实施例的确定运动信息的方法或帧间预测方法。
这里的终端可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的确定运动信息的方法或帧间预测方法。
本申请还提供一种解码器,所述解码器包括本申请实施例中的确定装置(确定装置7或确定装置8)、帧间预测装置(帧间预测装置9或帧间预测装置10)以及重建模块,其中,所述重建模块用于根据所述帧间预测装置得到的预测图像素确定当前图像块的重建像素值。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当终端中的处理器在执行该程序代码时,该终端执行如图5所示的确定运动信息的方法或执行上述帧间预测方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;终端的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得终端实施执行如图5所示的确定运动信息的方法或执行上述帧间预测方法。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当采用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种确定运动信息的方法,其特征在于,包括:
获取第一图像块的运动信息和第二图像块的运动信息,所述第一图像块为第一像素归属的图像块,所述第一像素为当前图像块的空域相邻像素,所述第二图像块为第二像素归属的图像块,所述第二像素为所述当前图像块的空域相邻像素,所述第一像素与所述第二像素不同;
若所述第一图像块和所述第二图像块均可得,且所述第一图像块的运动信息和所述第二图像块的运动信息不同,则采用空域临近运动信息的子块运动矢量预测技术,确定所述当前图像块中子图像块的运动信息。
2.根据权利要求1所述的方法,其特征在于,所述获取第一图像块的运动信息和第二图像块的运动信息,包括:
获取第一运动信息组合和第二运动信息组合;所述第一运动信息组合包括n个第一相邻图像块的运动信息,所述第一相邻图像块为所述当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,所述n个第一相邻图像块中的任意两个第一相邻图像块包括的所述当前图像块的空域相邻像素不同;所述第二运动信息组合包括m个第二相邻图像块的运动信息,所述第二相邻图像块为所述当前图像块在第二预设方向、预设位置的空域相邻像素归属的图像块,所述m个第二相邻图像块中的任意两个第二相邻图像块包括的所述当前图像块的空域相邻像素不同;c/k≥n≥1,c/k≥m≥1,其中,c表示所述当前图像块的宽度或高度;若c表示所述当前图像块的宽度,k则表示所述当前图像块中子图像块的宽度;若c表示所述当前图像块的高度,k则表示所述当前图像块中子图像块的高度;
从所述第一运动信息组合中选取所述第一图像块的运动信息,以及从所述第二运动信息组合中选取所述第二图像块的运动信息。
3.根据权利要求2所述的方法,其特征在于,
若所述当前图像块的左上顶点像素的坐标为(xP,yP),所述第一相邻图像块包括的所述当前图像块的空域相邻像素的坐标为(xP-1,yi),所述第二相邻图像块包括的所述当前图像块的空域相邻像素的坐标为(xj,yP-1),则(yP+2H)≥yi≥yP,(xP+2W)≥xj≥xP,其中,H表示所述当前图像块的高度,W表示所述当前图像块的宽度,n≥i≥1,m≥j≥1。
4.根据权利要求1所述的方法,其特征在于,所述获取第一图像块的运动信息和第二图像块的运动信息,包括:
获取第一运动信息组合,所述第一运动信息组合包括n个第一相邻图像块的运动信息,所述第一相邻图像块为所述当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,所述n个第一相邻图像块中的任意两个第一相邻图像块包括的所述当前图像块的空域相邻像素不同;c/k≥n≥1,其中,c表示所述当前图像块的宽度或高度;若c表示所述当前图像块的宽度,k则表示所述当前图像块中子图像块的宽度;若c表示所述当前图像块的高度,k则表示所述当前图像块中子图像块的高度;
从所述第一运动信息组合中选取所述第一图像块的运动信息以及所述第二图像块的运动信息。
5.根据权利要求4所述的方法,其特征在于,
若所述当前图像块的左上顶点像素的坐标为(xP,yP),所述第一相邻图像块包括的所述当前图像块的空域相邻像素的坐标为(xP-1,yi),则(yP+2H)≥yi≥yP,其中,H表示所述当前图像块的高度,n≥i≥1。
6.一种帧间预测方法,其特征在于,包括:
采用如权利要求1-5中任意一项所述的方法,确定当前图像块中子图像块的运动信息;
根据所述子图像块的运动信息,进行运动补偿预测,得到所述子图像块的预测块。
7.一种确定装置,其特征在于,包括:
获取单元,用于获取第一图像块的运动信息和第二图像块的运动信息,所述第一图像块为第一像素归属的图像块,所述第一像素为当前图像块的空域相邻像素,所述第二图像块为第二像素归属的图像块,所述第二像素为所述当前图像块的空域相邻像素,所述第一像素与所述第二像素不同;
判断单元,用于判断所述第一图像块和所述第二图像块是否均可得,且所述第一图像块的运动信息和所述第二图像块的运动信息是否相同;
确定单元,用于若所述判断单元确定出所述第一图像块和所述第二图像块均可得,且所述第一图像块的运动信息和所述第二图像块的运动信息不同,则采用空域临近运动信息的子块运动矢量预测技术确定所述当前图像块中子图像块的运动信息。
8.根据权利要求7所述的确定装置,其特征在于,所述获取单元具体用于:
获取第一运动信息组合和第二运动信息组合;所述第一运动信息组合包括n个第一相邻图像块的运动信息,所述第一相邻图像块为所述当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,所述n个第一相邻图像块中的任意两个第一相邻图像块包括的所述当前图像块的空域相邻像素不同;所述第二运动信息组合包括m个第二相邻图像块的运动信息,所述第二相邻图像块为所述当前图像块在第二预设方向、预设位置的空域相邻像素归属的图像块,所述m个第二相邻图像块中的任意两个第二相邻图像块包括的所述当前图像块的空域相邻像素不同;c/k≥n≥1,c/k≥m≥1,其中,c表示所述当前图像块的宽度或高度;若c表示所述当前图像块的宽度,k则表示所述当前图像块中子图像块的宽度;若c表示所述当前图像块的高度,k则表示所述当前图像块中子图像块的高度;
从所述第一运动信息组合中选取所述第一图像块的运动信息,以及从所述第二运动信息组合中选取所述第二图像块的运动信息。
9.根据权利要求7所述的确定装置,其特征在于,
若所述当前图像块的左上顶点像素的坐标为(xP,yP),所述第一相邻图像块包括的所述当前图像块的空域相邻像素的坐标为(xP-1,yi),所述第二相邻图像块包括的所述当前图像块的空域相邻像素的坐标为(xj,yP-1),则(yP+2H)≥yi≥yP,(xP+2W)≥xj≥xP,其中,H表示所述当前图像块的高度,W表示所述当前图像块的宽度,n≥i≥1,m≥j≥1。
10.根据权利要求7所述的确定装置,其特征在于,所述获取单元具体用于:
获取第一运动信息组合,所述第一运动信息组合包括n个第一相邻图像块的运动信息,所述第一相邻图像块为所述当前图像块在第一预设方向、预设位置的空域相邻像素归属的图像块,所述n个第一相邻图像块中的任意两个第一相邻图像块包括的所述当前图像块的空域相邻像素不同;c/k≥n≥1,c/k≥m≥1,其中,c表示所述当前图像块的宽度或高度;若c表示所述当前图像块的宽度,k则表示所述当前图像块中子图像块的宽度;若c表示所述当前图像块的高度,k则表示所述当前图像块中子图像块的高度;
从所述第一运动信息组合中选取所述第一图像块的运动信息以及所述第二图像块的运动信息。
11.根据权利要求10所述的确定装置,其特征在于,
若所述当前图像块的左上顶点像素的坐标为(xP,yP),所述第一相邻图像块包括的所述当前图像块的空域相邻像素的坐标为(xP-1,yi),则(yP+2H)≥yi≥yP,其中,H表示所述当前图像块的高度,n≥i≥1。
12.一种帧间预测装置,其特征在于,包括:
确定单元,用于采用如权利要求1-5中任意一项所述的方法,确定当前图像块中子图像块的运动信息;
预测单元,用于根据所述确定单元确定出的所述子图像块的运动信息,进行运动补偿预测,得到所述子图像块的预测块。
CN201811163702.6A 2018-10-01 2018-10-01 一种确定运动信息的方法、帧间预测方法及装置 Active CN110971899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811163702.6A CN110971899B (zh) 2018-10-01 2018-10-01 一种确定运动信息的方法、帧间预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811163702.6A CN110971899B (zh) 2018-10-01 2018-10-01 一种确定运动信息的方法、帧间预测方法及装置

Publications (2)

Publication Number Publication Date
CN110971899A true CN110971899A (zh) 2020-04-07
CN110971899B CN110971899B (zh) 2021-06-01

Family

ID=70028337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811163702.6A Active CN110971899B (zh) 2018-10-01 2018-10-01 一种确定运动信息的方法、帧间预测方法及装置

Country Status (1)

Country Link
CN (1) CN110971899B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140341291A1 (en) * 2011-11-11 2014-11-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Efficient multi-view coding using depth-map estimate for a dependent view
CN105163116A (zh) * 2015-08-29 2015-12-16 华为技术有限公司 图像预测的方法及设备
WO2016008157A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
CN107046645A (zh) * 2016-02-06 2017-08-15 华为技术有限公司 图像编解码方法及装置
CN107734335A (zh) * 2014-09-30 2018-02-23 华为技术有限公司 图像预测方法及相关装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140341291A1 (en) * 2011-11-11 2014-11-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Efficient multi-view coding using depth-map estimate for a dependent view
WO2016008157A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
CN107734335A (zh) * 2014-09-30 2018-02-23 华为技术有限公司 图像预测方法及相关装置
CN105163116A (zh) * 2015-08-29 2015-12-16 华为技术有限公司 图像预测的方法及设备
CN107046645A (zh) * 2016-02-06 2017-08-15 华为技术有限公司 图像编解码方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAN HUANG ET AL: "《Control-Point Representation and Differential Coding Affine-Motion Compensation》", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 *
唐浩漾等: "《一种HEVC帧内编码的快速算法》", 《计算机工程与应用》 *

Also Published As

Publication number Publication date
CN110971899B (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
US11363274B2 (en) Video data inter prediction method and apparatus
CN110876282B (zh) 运动矢量预测方法以及相关装置
CN112040244B (zh) 一种双向帧间预测方法及装置
WO2020048205A1 (zh) 应用于双向帧间预测中的参考帧获取方法及装置
US20230239494A1 (en) Video encoder, video decoder, and corresponding method
CN110876065A (zh) 候选运动信息列表的构建方法、帧间预测方法及装置
US11895319B2 (en) Method for constructing candidate motion information list, inter prediction method, and apparatus
CN110971899B (zh) 一种确定运动信息的方法、帧间预测方法及装置
CN110677645B (zh) 一种图像预测方法及装置
CN111355958B (zh) 视频解码方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant