CN114979619A - 用于视频数据的帧率上转换中的遮挡检测的系统和方法 - Google Patents

用于视频数据的帧率上转换中的遮挡检测的系统和方法 Download PDF

Info

Publication number
CN114979619A
CN114979619A CN202210176284.4A CN202210176284A CN114979619A CN 114979619 A CN114979619 A CN 114979619A CN 202210176284 A CN202210176284 A CN 202210176284A CN 114979619 A CN114979619 A CN 114979619A
Authority
CN
China
Prior art keywords
target block
block
target
motion vector
frame
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.)
Pending
Application number
CN202210176284.4A
Other languages
English (en)
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN114979619A publication Critical patent/CN114979619A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • 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/553Motion estimation dealing with occlusions
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Television Systems (AREA)

Abstract

提供了用于视频数据的帧率上转换中的遮挡检测的系统和方法。本公开的实施例提供了用于对包括图像帧序列的视频数据执行帧率上转换中的遮挡检测的系统和方法。所述方法包括由视频处理器基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定目标块是否是潜在遮挡块。目标帧将被生成并被插入到图像帧序列中。响应于目标块是潜在遮挡块,所述方法还包括由视频处理器检测目标块的遮挡类型。所述方法另外包括由视频处理器通过执行基于目标块的遮挡类型自适应地选择的运动补偿方法来生成目标块。

Description

用于视频数据的帧率上转换中的遮挡检测的系统和方法
相关申请的交叉引用
本申请要求于2021年02月25日提交的题为“OCCLUSION DETECTION FOR FRAMERATE UP CONVERSION(用于帧率上转换的遮挡检测)”的美国申请No.63/153,528的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及视频处理领域,并且更具体地涉及用于检测和处理视频的图像帧中的遮挡区域以用于视频的帧率上转换(FRUC)的方法和系统。
背景技术
FRUC可被应用于通过将具有较低帧率的输入视频转换为具有较高帧率的输出视频来提高视频数据的视觉质量。例如,具有30帧每秒(fps)的输入视频可被转换为具有60fps、120fps或另外更高帧率的输出视频。与输入视频相比,具有更高帧率的输出视频可为用户呈现更平滑的运动并提供更愉快的观看体验。
FRUC也可在低带宽应用中使用。例如,视频中的一些帧可在发送器侧的编码过程中被丢弃,使得可以以较低的带宽发送视频。之后,可在接收器侧的解码过程期间通过插值来重新生成被丢弃的帧。例如,可通过在发送器侧的编码过程中每隔一帧丢弃一帧将视频的帧率减半,然后在接收器侧,可使用FRUC通过帧插值来恢复帧率。
现有的FRUC方法可主要分类为三类。第一类方法在不考虑复杂的运动模型的情况下使用多个接收到的视频帧来插值出额外的帧。帧重复方法和帧平均方法是该类的两个典型示例。在帧重复方法中,通过简单地重复或复制接收到的帧来增加帧率。在帧平均方法中,通过对多个接收到的帧的加权平均来插值出额外的帧。考虑到这些方法的简单处理,这些方法的缺点也是明显的,这些缺点包括当视频内容包含具有复杂运动的运动对象时导致运动对象的运动抖动或模糊。第二类(所谓的运动补偿FRUC(MC-FRUC))更先进,这是因为它利用运动信息来执行运动补偿(MC)以生成插值帧。第三类利用神经网络。例如,通过神经网络和深度学习,可训练和开发合成网络以生成插值帧。也可将使用常规运动估计或基于深度学习的方法导出的运动场信息馈送到神经网络中以用于帧插值。
遮挡检测和处理可能是现有FRUC方法的最具挑战性的部分。在常规MC-FRUC中,当插值帧的像素和/或块处于遮挡区域中时,不能在先前参考帧与后续参考帧之间通过运动估计找到匹配的参考像素和/或块。因此,通过双向运动估计导出的运动矢量通常不准确,并且当此类不准确的运动矢量直接用于插值时可能出现伪影。准确地检测插值帧中的遮挡区域并确定针对这些遮挡区域的合适运动矢量使得可有效地对视频数据执行运动补偿会是一个挑战。
本公开提供用于视频数据的FRUC中的遮挡检测和遮挡处理的改进方法和系统。
发明内容
本公开的实施例提供了一种用于对包括图像帧序列的视频数据执行帧率上转换中的遮挡检测的方法。所述方法可包括由视频处理器基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定所述目标块是否是潜在遮挡块。所述目标帧将被生成并被插入到所述图像帧序列中。响应于所述目标块是所述潜在遮挡块,所述方法还可包括由所述视频处理器检测所述目标块的遮挡类型。所述方法可另外包括由所述视频处理器通过执行基于所述目标块的遮挡类型自适应地选择的运动补偿方法来生成所述目标块。
本公开的实施例还提供一种用于对包括图像帧序列的视频数据执行帧率上转换中的遮挡检测的系统。所述系统可包括被配置为存储所述图像帧序列的存储器。所述系统还可包括视频处理器,其被配置为基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定所述目标块是否是潜在遮挡块。所述目标帧将被生成并被插入到所述图像帧序列中。响应于所述目标块是所述潜在遮挡块,所述视频处理器还可被配置为检测所述目标块的遮挡类型。所述视频处理器可另外被配置为通过执行基于所述目标块的遮挡类型自适应地选择的运动补偿方法来生成所述目标块。
本公开的实施例还提供一种非暂时性计算机可读存储介质,被配置为存储指令,所述指令在由视频处理器执行时使所述视频处理器执行用于对包括图像帧序列的视频数据执行帧率上转换中的遮挡检测的过程。所述过程可包括基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定所述目标块是否是潜在遮挡块。所述目标帧将被生成并被插入到所述图像帧序列中。响应于所述目标块是所述潜在遮挡块,所述过程还可包括检测所述目标块的遮挡类型。所述过程可另外包括通过执行基于所述目标块的遮挡类型自适应地选择的运动补偿方法来生成所述目标块。
前述一般描述和以下详细描述都仅是示例性和说明性的,并不限制如所要求保护的本发明。
附图说明
图1示出根据本公开的实施例的用于执行视频数据的FRUC的示例性系统的框图。
图2A示出根据本公开的实施例的用于执行视频数据的FRUC的示例性过程的流程图。
图2B是示出根据本公开的实施例的基于多个参考帧的目标帧的插值过程的图形表示。
图3是根据本公开的实施例的用于执行视频数据的FRUC中的遮挡检测的示例性方法的流程图。
图4是根据本公开的实施例的用于确定与目标块相关联的运动矢量信息和失真度量信息的示例性方法的流程图。
图5是根据本公开的实施例的用于确定目标帧的目标块是否是潜在遮挡块的示例性方法的流程图。
图6是根据本公开的实施例的用于检测目标块的遮挡类型的示例性方法的流程图。
图7是示出根据本公开的实施例的双向运动估计过程的图形表示。
图8A是示出根据本公开的实施例的前向运动估计过程的图形表示。
图8B是示出根据本公开的实施例的后向运动估计过程的图形表示。
图9是示出根据本公开的实施例的用于检测潜在遮挡区域的示例性过程的图形表示。
图10A是示出根据本公开的实施例的目标帧中的示例性的被覆盖的块的图形表示。
图10B是示出根据本公开的实施例的用于确定投影参考块的运动矢量的示例性过程的图形表示。
具体实施方式
现在将详细参照示例性实施例,其示例在附图中示出。在任何可能的情况下,在整个附图中将使用相同的附图标记来指代相同或相似的部分。
MC-FRUC技术可包括使用运动对象的运动补偿将额外的帧插入到视频中。可利用运动对象的运动信息来执行运动补偿,使得可生成插值帧以更平滑地展示运动。一般来说,MC-FRUC系统可包括运动估计模块、遮挡检测器和运动补偿模块。运动估计模块可基于失真度量来确定插值帧(在本文中也被称作目标帧)相对于一个或多个参考帧的运动矢量。遮挡检测器可检测在目标帧中是否发生遮挡场景。响应于检测到发生遮挡场景,遮挡检测器可确定目标帧中的发生遮挡场景的遮挡区域。
在一些实施方式中,通过运动轨迹跟踪,遮挡检测器可检测目标帧中的正常(未被遮挡的)区域、遮挡区域或两者。运动补偿模块可通过参考先前帧(在目标帧之前的参考帧)和后续帧(在目标帧之后的参考帧)两者来生成针对未被遮挡的区域的图像内容(或像素值)。遮挡区域可包括例如被覆盖的遮挡区域、未被覆盖的遮挡区域或组合的遮挡区域。对于被覆盖的遮挡区域和未被覆盖的遮挡区域中的每一个,运动补偿模块可通过参考先前帧或后续帧来生成目标帧中的所述区域的图像内容(或像素值)。为了减少块效应并提高视觉质量,还可使用重叠块运动补偿(OBMC)技术。可认为,本文使用的术语“未被覆盖的区域”可指目标帧的新被显露的区域,而非未被覆盖的正常区域。目标帧中的目标块可指目标帧的包括目标帧中的多个像素的图像块。
例如,被后续帧中的一个或多个其他对象覆盖的区域(例如,包括目标帧中的多个像素或像素的一个或多个图像块)可被检测为“被覆盖的”区域。因此,不能在后续帧中使用双向运动估计找到针对该区域的匹配参考像素(或匹配参考像素块)。也就是说,对于该区域中的每个目标块,不能从后续帧中找到针对目标块的匹配参考块。然而,可从先前帧中找到针对该区域中的目标块的匹配参考块,并且匹配参考块可被用于目标块的运动补偿。
在另一示例中,目标帧中的在先前帧中被覆盖但在后续帧中被显露的区域可被检测为“未被覆盖的”区域。因此,不能在先前帧中使用双向运动估计找到针对该区域的匹配参考像素(或匹配参考像素块)。也就是说,对于该区域中的每个目标块,不能从先前帧中找到针对目标块的匹配参考块。然而,可从后续帧中找到针对该区域中的目标块的匹配参考块,并且匹配参考块可被用于目标块的运动补偿。
在又一示例中,在先前帧和后续帧两者中被覆盖(未显露)的区域可被检测为组合的区域(例如,“被覆盖和未被覆盖的”区域)。例如,该区域被先前帧中的一个或多个第一对象覆盖并且也被后续帧中的一个或多个第二对象覆盖,使得该区域在先前帧和后续帧中都不显露。因此,在先前帧或后续帧中都不能找到该区域的匹配参考像素(或匹配参考像素块)。也就是说,对于该区域中的每个目标块,不能从先前帧或后续帧中找到针对目标块的匹配参考块。在这种情况下,可能需要额外的处理来插值目标块中的像素。例如,可使用诸如空间插值(例如,图像修复)的孔填充方法来填充目标块。
在一些实施方式中,被覆盖的区域中的目标块可被称作被覆盖的目标块。未被覆盖的区域中的目标块可被称作未被覆盖的目标块。组合的区域中的目标块可被称为组合的(或“被覆盖和未被覆盖的”)目标块。在一些实施方式中,如果目标块具有来自先前帧的第一匹配参考块和来自后续帧的第二匹配参考块,则目标块的运动矢量可被称为双向运动矢量。如果目标块具有来自先前帧的匹配参考块,但是在后续帧中不能找到匹配参考块,则目标块的运动矢量可被称为单向运动矢量。类似地,如果目标块具有来自后续帧的匹配参考块,但是在先前帧中不能找到匹配参考块,则目标块的运动矢量也可被称为单向运动矢量。
预计可能需要检测和分类目标帧中的遮挡区域,使得可选择准确的运动矢量(以及准确的参考块)并将其用于遮挡区域中的目标块的运动补偿。例如,对于遮挡区域中的目标块,可选择单向运动矢量并将其应用于运动补偿以避免伪影。然而,准确地检测遮挡区域并确定针对遮挡区域的合适运动矢量很重要。例如,如果检测到的目标帧的遮挡区域不准确和/或确定的遮挡区域的运动矢量不合适,则可能在视频中引起移动对象的运动抖动或模糊。视频观看体验可能由于移动对象的运动抖动或模糊而下降。因此,对目标帧中的遮挡区域的合适处理会是FRUC中的一个挑战,以改善视频数据的视觉质量。
在本公开中,公开了用于在FRUC过程期间对目标帧的遮挡区域进行检测和分类的系统和方法。更具体地,可基于在运动估计过程中获得的运动矢量信息或失真度量信息中的至少一个来检测目标帧中的潜在遮挡区域。可基于运动矢量投影过程针对潜在遮挡区域中的每个目标块识别遮挡类型(例如,被覆盖的、未被覆盖的、组合的或正常)。对于每种遮挡类型,可使用自适应运动补偿方法来生成该遮挡类型的目标块,以避免插值伪影并增强视频质量。
例如,对于不同遮挡类型的目标块,可分别选择使用不同运动估计过程获得的运动矢量作为针对目标块的获胜者运动矢量。然后,基于目标块的获胜者运动矢量,可分别在先前帧、后续帧或两者中找到针对目标块的参考块。例如,可分别从先前帧和后续帧中找到针对未被遮挡的目标块的两个匹配参考块;可从先前帧中找到针对被覆盖的目标块的匹配参考块;可从后续帧中找到针对未被覆盖的目标块的匹配参考块;或者可分别从先前帧和后续帧中找到针对组合的目标块的两个同位参考块。结果,可分别基于目标块的参考块来生成目标块的图像内容(或像素)。结果,可在视频数据中减少或消除移动对象的潜在运动抖动或模糊。可提高视频数据的视觉质量。
与本公开一致,本文公开的系统和方法可改善视频处理器(或视频处理计算机)的视频呈现能力。因此,可增强通过视频处理器(或视频处理计算机)或通过耦接到视频处理器(或视频处理计算机)的显示器提供的视频观看体验。例如,通过减少可能在FRUC期间引起的移动对象的潜在运动抖动或模糊,可改善视频显示质量。可减少视频数据中的运动伪影,使得处理器(或计算机)可显示具有更平滑运动的视频。
与本公开一致,本文公开的系统和方法提供用于在应用FRUC时改善视频显示质量的特定、详细解决方案。具体地,通过包括(1)基于运动矢量信息或失真度量信息中的至少一个检测遮挡区域、(2)基于运动矢量投影执行遮挡区域分类以及(3)基于每个遮挡区域的遮挡类型执行自适应运动补偿的一系列操作,可改进(或改善)目标帧中的遮挡区域的检测和处理。下面更详细地提供用于在应用FRUC时改善视频显示质量的特定、详细解决方案的进一步描述。
与本公开一致,本文使用的与目标块的运动矢量相关联的失真度量可包括,但不限于,以下项:绝对差之和(SAD)度量、均方误差(MSE)度量或平均绝对失真(MAD)度量。然后,与目标块的运动矢量相关联的失真度量值(在本文中也称为“度量值”)可包括SAD值、MSE值或MAD值。例如,在运动估计处理期间,通过使用运动矢量将目标块投影到先前帧和后续帧上,可分别从先前帧和后续帧获得与目标块的运动矢量相关联的两个参考块。失真度量可被用于测量与运动矢量相关联的两个参考块之间的失真(或相似度),使得失真度量值可被计算为两个参考块之间的SAD值、MSE值或MAD值。失真度量(或失真度量值)可被用于指示从运动估计过程导出的目标块的运动矢量的准确度。例如,较小的失真度量值可指示两个参考块之间的较低失真(或两个参考块之间的较高相似度),这可指示从运动估计过程导出的目标块的运动矢量的较高精度。
图1示出根据本公开的实施例的用于执行视频数据的FRUC中的遮挡检测的示例性系统101的框图。在一些实施例中,系统101可被实施在用户112可与之交互的设备上。例如,系统101可在服务器(例如,本地服务器或云服务器)、工作站、游戏站、台式计算机、膝上型计算机、平板计算机、智能电话、游戏控制器、可穿戴电子设备、电视(TV)机或任何其他合适的电子设备上实现。
在一些实施例中,系统101可包括至少一个处理器(诸如处理器102)、至少一个存储器(诸如存储器103)和至少一个存储装置(诸如存储装置104)。被认为的,系统101还可包括用于执行本文描述的功能的任何其他合适的组件。
在一些实施例中,系统101可具有单个设备中的不同模块(诸如集成电路(IC)芯片)或具有专用功能的单独设备。例如,IC可被实现为专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,系统101的一个或多个组件可位于云计算环境中或者可选地可在一个位置或分布式位置中。系统101的组件可在集成设备中,或者分布在不同的位置,但是通过网络(图中未示出)彼此通信。
处理器102可包括适合于视频处理的任何合适类型的微处理器、图形处理器、数字信号处理器或微控制器。处理器102可包括被设计为与其他组件一起使用或被设计为执行一部分视频处理程序的一个或多个硬件单元(例如,集成电路中的一部分或多个部分)。程序可存储在计算机可读介质上,并且当由处理器102执行时,它可执行一个或多个功能。处理器102可被配置为专用于执行FRUC的单独处理器模块。可选地,处理器102可被配置为用于执行与执行FRUC无关的其它功能的共享处理器模块。
在一些实施例中,处理器102可以是针对视频处理定制的专用处理器(例如,视频处理器)。例如,处理器102可以是图形处理单元(GPU),其是被设计为快速操纵并改变存储器以加速对帧缓冲器中旨在输出到显示设备的图像的创建的专用电子电路。本文公开的功能可由GPU实现。在另一示例中,系统101可在片上系统(SoC)中实现,并且处理器102可以是被配置为运行视频编码器或解码器应用的媒体和像素处理(MPP)处理器。在一些实施例中,本文公开的功能可由MPP处理器实现。
处理器102可包括若干模块,诸如运动估计模块105、遮挡检测器107和运动补偿模块109。尽管图1示出了运动估计模块105、遮挡检测器107和运动补偿模块109在一个处理器102内,但是它们可在彼此靠近或远离的不同处理器上实现。
运动估计模块105、遮挡检测器107和运动补偿模块109(以及任何相应的子模块或子单元)可以是处理器102的被设计为与其他组件一起使用的硬件单元(例如,集成电路中的部分)或由处理器102通过执行程序的至少一部分实现的软件单元。程序可存储在诸如存储器103或存储装置104的计算机可读介质上,并且当由处理器102执行时,它可执行一个或多个功能。
存储器103和存储装置104可包括被设置为存储处理器102可能需要操作的任何类型的信息的任何合适类型的大容量存储装置。例如,存储器103和存储装置104可以是易失性或非易失性、磁性、基于半导体、基于磁带、光学、可移除、不可移除或其他类型的存储设备或有形(即,非暂态)计算机可读介质,包括但不限于ROM、闪存、动态RAM和静态RAM。存储器103和/或存储装置104可被配置为存储可由处理器102运行以执行本文公开的功能的一个或多个计算机程序。例如,存储器103和/或存储装置104可被配置为存储可由处理器102运行以执行FRUC的程序。存储器103和/或存储装置104还可被配置为存储由处理器102使用的信息和数据。
图2A示出根据本公开的实施例的用于执行视频数据的FRUC的示例性过程200的流程图。图2B是示出根据本公开的实施例的基于多个参考帧的目标帧的插值过程250的图形表示。视频数据可包括图像帧序列,并且目标帧204可以是要插入到图像帧序列中的插值帧。结合参照图2A至图2B,可使用多个参考帧202生成目标帧204。多个参考帧202可包括视频数据中的可用于目标帧204的生成和插值的多个原始图像帧。
例如,如图2B所示,多个参考帧202可包括在目标帧204之前的第一先前帧202a、在目标帧204之后的第一后续帧202b、在第一先前帧202a之前的第二先前帧202c以及在第一后续帧202b之后的第二后续帧202d。尽管在图2B中示出了四个参考帧,但是用于目标帧204的生成和插值的参考帧的数量可根据具体应用而变化。目标帧204可在时间上位于显示顺序(或时间戳)为i的位置处,其中i是正整数。第二先前帧202c、第一先前帧202a、第一后续帧202b和第二后续帧202d可分别位于显示顺序为i-3、i-1、i+1和i+3的位置处。尽管未在图2B中示出,但是还可分别在显示顺序为i-4、i-2、i+2、i+4等的位置处插值额外的目标帧。
在一些实施例中,目标帧204可被划分为具有每块N×M像素的尺寸的多个目标块,其中N和M是正整数。N指示目标块中沿垂直方向的像素的数量,并且M指示目标块中沿水平方向的像素的数量。在一些实施例中,多个目标块中的每个目标块可具有可变块尺寸(例如,块尺寸不是固定的,并且可根据具体应用而变化)。类似地,每个参考帧202可被划分为具有每块N×M像素的尺寸的多个参考块。
参照回图2A,运动估计模块105可被配置为接收多个参考帧202并且确定针对目标帧204相对于多个参考帧202的运动矢量集。具体地,对于目标帧204中的每个目标块,运动估计模块105可分别确定目标块相对于多个参考帧202的多个运动矢量。
例如,参照图2B,对于目标帧204的目标块212,运动估计模块105可使用下面参照图7、图8A或图8B描述的示例性运动估计过程来确定目标块212相对于第一先前帧202a的运动矢量222和目标块212相对于第一后续帧202b的运动矢量224。可选地或另外地,运动估计模块105还可确定目标块212相对于第二先前帧202c的运动矢量226和目标块212相对于第二后续帧202d的运动矢量228。
参照回图2A,对于目标帧204的每个目标块,运动估计模块105可确定与目标块相关联的运动矢量信息或失真度量信息中的至少一个。运动矢量信息可包括目标块的获胜者运动矢量,并且失真度量信息可包括与获胜者运动矢量相关联的获胜者度量值。获胜者度量值可包括例如与获胜者运动矢量相关联的SAD值、MSE值或MAD值。
具体来说,运动估计模块105可应用一组运动估计过程以分别确定目标块的运动矢量(例如,相对于先前帧和/或后续帧)候选集并且确定与运动矢量候选集相关联的度量值集。先前帧可以是例如在目标帧204之前的第一先前帧202a、第二先前帧202c或任何其他参考帧。后续帧可以是例如在目标帧204之后的第一后续帧202b、第二后续帧202d或任何其他参考帧。
例如,运动估计模块105可使用双向运动估计过程来确定目标块的第一运动矢量(例如,相对于先前帧和/或后续帧)和与第一运动矢量相关联的第一度量值。运动估计模块105还可使用前向运动估计过程来确定目标块的第二运动矢量(例如,相对于先前帧和/或后续帧)和与第二运动矢量相关联的第二度量值。运动估计模块105可另外使用后向运动估计过程来确定目标块的第三运动矢量(例如,相对于先前帧和/或后续帧)和与第三运动矢量相关联的第三度量值。运动矢量候选集可包括目标块的第一运动矢量、第二运动矢量和第三运动矢量。度量值集可包括分别与第一运动矢量、第二运动矢量和第三运动矢量相关联的第一度量值、第二度量值和第三度量值。
接下来,运动估计模块105可基于度量值集,识别来自运动矢量候选集的获胜者运动矢量以及与获胜者运动矢量相关联的获胜者度量值。例如,运动估计模块105可从度量值集中确定最小度量值。运动估计模块105可将获胜者运动矢量识别为来自运动矢量候选集的与最小度量值相关联的运动矢量。运动估计模块105还可将获胜者度量值识别为最小度量值。下面参照图9示出了用于确定与示例性目标块相关联的获胜者运动矢量和获胜者度量值的示例性过程。
在一些实施例中,运动估计模块105还可基于获胜者运动矢量确定与目标块相关联的双向度量值。具体来说,运动估计模块105可以以双向方式应用获胜者运动矢量以从先前帧中获得针对目标块的先前镜像块并从后续帧中获得针对目标块的后续镜像块。先前镜像块和后续镜像块可以是分别来自先前帧和后续帧的两个参考块,其中所述两个参考块沿着获胜者运动矢量的运动轨迹,使用目标块作为运动轨迹中的中心点。运动估计模块105可基于先前镜像块和后续镜像块来确定双向度量值。例如,双向度量值可被计算为先前镜像块与后续镜像块之间的度量值(例如,SAD值)。
在一些实施例中,与目标块相关联的失真度量信息还可包括与目标块相关联的双向度量值。下面参照图9示出了用于确定与示例性目标块相关联的双向度量值的示例性过程。
对于目标帧204的每个目标块,遮挡检测器107可被配置为接收与目标块相关联的运动矢量信息或失真度量信息中的至少一个。遮挡检测器107可基于每个目标块的运动矢量信息或失真度量信息中的至少一个来对目标帧204执行潜在遮挡检测,如下面更详细地描述的。
通常,目标帧中的遮挡区域在移动对象周围,其中被覆盖的区域位于移动对象的前面并且未被覆盖的区域位于移动对象的后面。在一些实施例中,遮挡检测器107可基于从运动估计获得的运动矢量和/或度量值来检测目标帧204中的潜在遮挡区域。具体地,可通过检查每个目标块的运动矢量和相关联度量值以找出它们是否与相邻块的运动矢量和相关联度量值不同来检测潜在的遮挡区域。相邻块可以是同一目标帧中围绕目标块的相邻图像块。运动矢量和相关联度量值可从双向运动估计过程、前向运动估计过程或后向运动估计过程中导出。这种方法背后的基本原理是遮挡区域的小邻域中的运动矢量可以与不同的对象相关联,例如,一些对象与表示前景运动的第一运动矢量相关联,一些对象与表示背景运动的第二运动矢量相关联,因此第一运动矢量和第二运动矢量可能不同。类似地,针对遮挡区域的相关联度量值可能大于非遮挡区域的相关联度量值,这是因为针对遮挡区域的真实匹配块可能不存在于参考帧中。
对于目标帧204的每个目标块,遮挡检测器107可被配置为基于与目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定目标块是否是潜在遮挡块。运动矢量信息可包括目标块的获胜者运动矢量,并且失真度量信息可包括与获胜者运动矢量相关联的获胜者度量值和双向度量值。
在一些实施例中,遮挡检测器107可以基于与目标块相关联的失真度量信息来确定目标块是否是潜在遮挡块。具体地,遮挡检测器107可确定双向度量值与获胜者度量值之间的度量差是否大于度量阈值。响应于度量差大于度量阈值,遮挡检测器107可确定目标块是潜在遮挡块。否则,遮挡检测器107可确定目标块是正常目标块(例如,未被遮挡的目标块)。
例如,当双向度量值和获胜者度量值之间存在大的差异时,目标块可能是遮挡块,如以下表达式(1)所示:
Figure BDA0003520388860000121
在上述表达式(1)中,TH1表示度量阈值的值,并且可由用户或图1的系统101预先确定。block_type表示目标块的分类。“遮挡”结果可表示可在先前帧或后续帧中找到目标块的匹配参考块但不能在先前帧和后续帧两者中找到的情况。可选地,“遮挡”结果可表示在先前帧或后续帧中都不能找到目标块的匹配参考块的情况。“正常”结果可表示可分别在先前帧和后续帧中找到目标块的两个匹配参考块的情况(即,不存在遮挡)。ctSAD表示双向度量值,并且winSAD表示获胜者度量值。
在一些实施例中,遮挡检测器107可基于与目标块相关联的运动矢量信息来确定目标块是否是潜在遮挡块。具体地,遮挡检测器107可确定与目标块相关联的一个或多个相邻块的一个或多个运动矢量。遮挡检测器107可分别确定目标块的获胜者运动矢量与一个或多个相邻块的一个或多个运动矢量之间的一个或多个距离值。遮挡检测器107可确定一个或多个距离值的最大值,并且可确定最大值是否大于距离阈值。响应于一个或多个距离值的最大值大于距离阈值,遮挡检测器107可确定目标块是潜在遮挡块。否则,遮挡检测器107可确定目标块是正常目标块。
例如,如果目标块的获胜者运动矢量基本上不同于相邻块的运动矢量,则目标块很可能属于遮挡区域。基于该基本原理,可使用以下表达式(2)将目标块分类为潜在遮挡块或正常块:
Figure BDA0003520388860000131
在上述表达式(2)中,dist表示两个运动矢量WinMV和MVi之间的距离函数。MVi表示相邻块i的运动矢量,并且winMV表示目标块的获胜者运动矢量。N表示相邻块的集合,其中1≤i≤N。TH2表示距离阈值的值,并且可由用户或图1的系统101预先确定。
在一些实施例中,运动矢量信息还可与失真度量信息一起使用以确定目标块是否是潜在遮挡块。例如,遮挡检测器107可使用以下表达式(3)基于运动矢量信息和失真度量信息来确定目标块是否是潜在遮挡块:
Figure BDA0003520388860000132
例如,如果双向度量值与获胜者度量值之间的度量差(例如,ctSAD-winSAD)大于度量阈值TH1,或者如果目标块的获胜者运动矢量与一个或多个相邻块的一个或多个运动矢量之间的一个或多个距离值的最大值(例如,maxi∈Ndist(winMV,MVi))大于距离阈值TH2,则遮挡检测器107可确定目标块是潜在遮挡块。否则,遮挡检测器107可确定目标块是正常目标块。
通过对目标帧204中的每个目标块执行类似的操作,遮挡检测器107可确定目标帧204的潜在遮挡区域。潜在遮挡区域可包括一个或多个潜在遮挡块。
对于潜在遮挡区域中的每个目标块(例如,对于每个潜在遮挡块),遮挡检测器107可被配置为基于目标块到先前帧和后续帧上的运动矢量投影来检测目标块的遮挡类型。例如,遮挡检测器107可确定目标块是被覆盖的目标块、未被覆盖的目标块、组合的目标块或正常目标块之一。
具体地,使用目标块的运动矢量,遮挡检测器107可将目标块投影到先前帧和后续帧上,以分别获得先前投影块和后续投影块。遮挡检测器107可基于目标块的运动矢量、先前投影块的运动矢量和后续投影块的运动矢量来检测目标块的遮挡类型。目标块的运动矢量可以是获胜者运动矢量或使用运动估计过程获得的目标块的任何其他合适的运动矢量。先前投影块的运动矢量可以是获胜者运动矢量或使用运动估计过程确定的先前投影块的任何其它合适的运动矢量。类似地,后续投影块的运动矢量可以是获胜者运动矢量或使用运动估计过程确定的后续投影块的任何其它合适的运动矢量。下文在图10B中示出了用于确定先前投影块和后续投影块的运动矢量的示例性过程。
例如,通过运动矢量投影,遮挡检测器107可将潜在遮挡区域中的每个目标块分类为被覆盖的目标块、未被覆盖的目标块、组合的(被覆盖和未被覆盖的)目标块或正常目标块。在运动矢量投影中,遮挡检测器107可使用目标块的运动矢量将目标块分别投影到先前帧和后续帧上,并且可分别获得先前帧中的先前投影块和后续帧中的后续投影块。遮挡检测器107可将目标块的运动矢量与先前投影块的运动矢量和后续投影块的运动矢量进行比较。遮挡检测器107可基于目标块的运动矢量、先前投影块的运动矢量和后续投影块的运动矢量的比较结果来检测关于目标块的遮挡类型。
预计不同图像帧中的相同对象可具有类似运动矢量。如果先前投影块或后续投影块具有与目标块的运动矢量类似的运动矢量,则先前投影块或后续投影块可被分类为与目标块相同的对象(即,前景或背景)。否则,先前投影块或后续投影块可被分类为与目标块不同的对象。
与本文描述的公开一致,如果两个运动矢量类似,则所述两个运动矢量之间的距离小于下限距离阈值。例如,两个运动矢量的角度差和幅度差分别小于预定下限角度阈值和预定下限幅度阈值。如果两个运动矢量基本上彼此不同,则所述两个运动矢量之间的距离大于上限距离阈值。例如,两个运动矢量的角度差和幅度差分别大于预定上限角度阈值和预定上限幅度阈值。预定下限角度阈值和预定下限幅度阈值分别小于预定上限角度阈值和预定上限幅度阈值。
在一些实施例中,如果先前帧中的先前投影块具有与目标块的运动矢量类似的运动矢量,并且后续帧中的后续投影块具有与目标块的运动矢量基本上不同的运动矢量,则遮挡检测器107可确定目标块是被覆盖的目标块。可选地,如果先前投影块具有与目标块的运动矢量基本上不同的运动矢量,并且后续投影块具有与目标块的运动矢量类似的运动矢量,则遮挡检测器107可确定目标块是未被覆盖的目标块。可选地,如果先前投影块和后续投影块两者具有与目标块的运动矢量类似的运动矢量,则遮挡检测器107可确定目标块是正常目标块。可选地,如果先前投影块和后续投影块两者具有与目标块的运动矢量基本上不同的运动矢量,则遮挡检测器107可确定目标块是组合的(被覆盖和未被覆盖)目标块。
具体地,遮挡检测器107可确定目标块的运动矢量与后续投影块的运动矢量之间的第一距离值。遮挡检测器107还可确定目标块的运动矢量与先前投影块的运动矢量之间的第二距离值。遮挡检测器107可基于第一距离值和第二距离值来检测目标块的遮挡类型。
例如,响应于第一距离值大于上限距离阈值并且第二距离值小于下限距离阈值(例如,当满足被覆盖的遮挡条件时),遮挡检测器107可确定目标块是被覆盖的目标块。在另一示例中,响应于第一距离值小于下限距离阈值并且第二距离值大于上限距离阈值(例如,当满足未被覆盖的遮挡条件时),遮挡检测器107可确定目标块是未被覆盖的目标块。在又一示例中,响应于第一距离值和第二距离值都大于上限距离阈值(例如,当满足组合的遮挡条件时),遮挡检测器107可确定目标块是组合的目标块。否则(例如,当没有满足被覆盖的遮挡条件、未被覆盖的遮挡条件和组合的遮挡条件时),遮挡检测器107可确定目标块是正常目标块。也就是说,遮挡检测器107可使用以下表达式(4)来检测目标块的遮挡类型:
Figure BDA0003520388860000151
在上述表达式(4)中,dist表示两个运动矢量(例如,CurMV和NextMV、或CurMV和PrevMV)之间的距离函数。CurMV表示目标块的运动矢量。PrevMV表示先前帧中的先前投影块的运动矢量。NextMV表示后续帧中的后续投影块的运动矢量。THL和THS分别表示上限距离阈值和下限距离阈值。
在上述表达式(4)中,“被覆盖的”结果指示目标块是被覆盖的目标块,并且表示在先前帧中能够找到目标块的匹配参考块而在后续帧中不能找到目标块的匹配参考块的情况。“未被覆盖的”结果指示目标块是未被覆盖的目标块,并且表示在后续帧中能够找到目标块的匹配参考块而在先前帧中不能找到目标块的匹配参考块的情况。“被覆盖和未被覆盖的”结果指示目标块是组合的目标块,并且表示在先前帧或后续帧中都不能找到目标块的匹配参考块的情况。“正常”结果指示目标块是正常目标块,并且表示能够分别在先前帧和后续帧中找到目标块的两个匹配参考块的情况(例如,目标块中没有遮挡)。
通过执行如上所述的操作,遮挡检测器107可从目标帧204中的多个目标块中检测每个目标块的遮挡类型。因此,遮挡检测器107可从多个目标块中确定一个或多个正常目标块、一个或多个被覆盖的目标块、一个或多个未被覆盖的目标块和/或一个或多个组合的目标块。然后,遮挡检测器107可确定目标帧204中的遮挡区域和/或未被遮挡的区域(例如,正常区域)。正常区域可包括一个或多个正常目标块。遮挡区域可包括:包含一个或多个被覆盖的目标块的被覆盖的遮挡区域、包含一个或多个未被覆盖的目标块的未被覆盖的遮挡区域和/或包含一个或多个组合的目标块的组合的遮挡区域。
运动补偿模块109可被配置为从遮挡检测器107接收针对目标帧204检测出的正常区域和/或遮挡区域。运动补偿模块109可基于目标帧204的检测出的正常区域和/或检测出的遮挡区域来生成目标帧204。例如,可在遮挡检测之后执行基于遮挡类型的自适应运动补偿以生成目标帧204。当发生遮挡(例如,被覆盖或未被覆盖的遮挡)时,可执行对来自先前帧和后续帧中的一个或多个帧的参考块的自适应选择,以用于遮挡区域的运动补偿。
在一些实施例中,对于目标帧204的每个目标块,运动补偿模块109可通过执行基于目标块的遮挡类型自适应地选择的运动补偿方法来生成目标块。具体地,基于目标块的遮挡类型,运动补偿模块109可分别从先前帧和后续帧中中的一个或多个帧确定针对目标块的一个或多个参考块。运动补偿模块109可基于一个或多个参考块执行运动补偿操作以生成目标块。
具体地,响应于目标块是被覆盖的目标块,运动补偿模块109可选择运动补偿操作,该运动补偿操作基于目标块的获胜者运动矢量从先前帧中确定匹配参考块。例如,可选择从前向运动估计过程导出的目标块的运动矢量fwdMV作为针对目标块的获胜者运动矢量winMV。可沿着来自目标块的获胜者运动矢量winMV的运动轨迹在先前帧中找到针对目标块的匹配参考块。例如,匹配参考块可以是来自先前帧的参考块,其通过使用获胜者运动矢量winMV将目标块投影到先前帧被获得。
运动补偿模块109可基于匹配参考块执行运动补偿操作以生成目标块。匹配参考块可被用于目标块的单向运动补偿。例如,运动补偿模块109可基于先前帧中的匹配参考块的图像内容来生成目标块的图像内容(例如,目标块的图像内容可与匹配参考块的图像内容相同)。通过对被覆盖的遮挡区域中的每个目标块执行类似的操作,运动补偿模块109可生成针对被覆盖的遮挡区域的图像内容。
可选地,响应于目标块是未被覆盖的目标块,运动补偿模块109可选择运动补偿操作,该运动补偿操作基于目标块的获胜者运动矢量从后续帧中确定匹配参考块。例如,对于目标帧204的未被覆盖的遮挡区域中的每个目标块,可选择从后向运动估计过程导出的运动矢量bwdMV作为针对目标块的获胜者运动矢量winMV。可沿着来自目标块的获胜者运动矢量winMV的运动轨迹在后续帧中找到针对目标块的匹配参考块。例如,匹配参考块可以是来自后续帧的参考块,其通过使用获胜者运动矢量winMV将目标块投影到后续帧被获得。
运动补偿模块109可基于匹配参考块执行运动补偿操作以生成目标块。匹配参考块可被用于目标块的单向运动补偿。例如,运动补偿模块109可基于后续帧中的匹配参考块的图像内容来生成目标块的图像内容。通过对未被覆盖的遮挡区域中的每个目标块执行类似的操作,运动补偿模块109可生成针对未被覆盖的遮挡区域的图像内容。
可选地,响应于目标块是组合的目标块,不能从先前帧或后续帧中找到针对目标块的匹配参考块。相反,运动补偿模块109可选择运动补偿操作,该运动补偿操作确定来自先前帧的先前同位块和来自后续帧的后续同位块。运动补偿模块109可基于先前同位块和后续同位块执行运动补偿操作以生成目标块。
例如,对于组合的遮挡区域中的每个目标块,可使用零运动矢量来执行双向运动补偿过程,使得来自先前帧的先前同位块和来自后续帧的后续同位块可被用于目标块的运动补偿。这表示对先前同位块和后续同位块进行平均的混合策略。例如,可通过对先前同位块和后续同位块的加权平均来导出目标块。通过对组合的遮挡区域中的每个目标块执行类似的操作,运动补偿模块109可生成针对组合的遮挡区域的图像内容。
与本文描述的公开一致,先前同位块和后续同位块可以是分别来自先前帧和后续帧的两个参考块,其通过使用零运动矢量将目标块分别投影到先前帧和后续帧被获得。先前(或后续)帧中的先前(或后续)同位块的位置与目标帧204中的目标块的位置相同。
可选地,响应于目标块是正常目标块,运动补偿模块109可基于目标块的获胜者运动矢量从先前帧中确定第一匹配参考块并从后续帧中确定第二匹配参考块。在此情况下,获胜者运动矢量可以是从双向运动估计过程导出的目标块的双向运动矢量。例如,对于目标帧204的正常区域中的每个目标块,可沿着双向运动矢量的运动轨迹分别从先前帧和后续帧中获得针对目标块的第一匹配参考块和第二匹配参考块(其中目标块位于运动轨迹的中间)。也就是说,第一匹配参考块和第二匹配参考块可以是分别来自先前帧和后续帧的两个参考块,其通过使用双向运动矢量将目标块分别投影到先前帧和后续帧被获得。
运动补偿模块109可基于第一匹配参考块和第二匹配参考块执行运动补偿操作以生成目标块。第一匹配参考块和第二匹配参考块可被用于目标块的双向运动补偿。例如,运动补偿模块109可通过对第一匹配参考块的图像内容和第二匹配参考块的图像内容的加权平均操作来生成目标块的图像内容。通过对正常区域中的每个目标块执行类似的操作,运动补偿模块109可生成针对正常区域的图像内容。
在一些实施方式中,运动补偿模块109可通过聚合针对被覆盖的遮挡区域的图像内容、针对未被覆盖的遮挡区域的图像内容、针对组合的遮挡区域的图像内容和/或针对正常区域的图像内容,来生成针对目标帧204的图像内容。结果,目标帧204可被生成并且在先前帧与后续帧之间的位置处被插入到视频的图像帧序列中。
图3是根据本公开的实施例的用于执行视频数据的FRUC中的遮挡检测的示例性方法300的流程图。方法300可由系统101(具体地,运动估计模块105、遮挡检测器107和运动补偿模块109)实现,并且可包括如下所述的步骤302至306。其中的一些步骤对于执行本文提供的公开内容来说可以是可选的。此外,其中的一些步骤可同时执行,或者以与图3所示不同的顺序执行。
在一些实施例中,视频数据可包括图像帧序列,并且目标帧将被生成并被插入到图像帧序列中。
在步骤302中,运动估计模块105基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定目标块是否是潜在遮挡块。例如,可实现类似于下面参照图5描述的那些操作的操作来执行图3的步骤302。
在步骤304中,响应于目标块是潜在遮挡块,遮挡检测器107可检测目标块的遮挡类型。例如,可实现类似于下面参照图6描述的那些操作的操作来执行图3的步骤304。
在步骤306中,运动补偿模块109可通过执行基于目标块的遮挡类型自适应地选择的运动补偿方法来生成目标块。例如,运动补偿模块109可基于目标块的遮挡类型,分别从一个或多个先前帧和后续帧中确定针对目标块的一个或多个参考块。运动补偿模块109可选择适合于所确定的目标块的遮挡类型的运动补偿操作。然后,运动补偿模块109可基于一个或多个参考块执行所选择的运动补偿操作,以生成目标块。
图4是根据本公开的实施例的用于确定与目标块相关联的运动矢量信息和失真度量信息的示例性方法400的流程图。方法400可由系统101(具体地,运动估计模块105)实现,并且可包括如下所述的步骤402至406。其中的一些步骤对于执行本文提供的公开内容来说可以是可选的。此外,其中的一些步骤可同时执行,或者以与图4所示不同的顺序执行。
在一些实施例中,运动矢量信息可包括目标块的获胜者运动矢量,并且失真度量信息可包括与获胜者运动矢量相关联的获胜者度量值。
在步骤402中,运动估计模块105可确定目标块的运动矢量候选集。
在步骤404中,运动估计模块105可分别确定与运动矢量候选集相关联的度量值集。
在步骤406中,运动估计模块105可基于度量值集,识别来自运动矢量候选集的获胜者运动矢量和与获胜者运动矢量相关联的获胜者度量值。
以上结合运动估计模块105的描述描述了用于执行步骤402至406的更多细节,并且这里将不再重复。
图5是根据本公开的实施例的用于确定目标帧的目标块是否为潜在遮挡块的示例性方法500的流程图。方法500可由系统101(具体地,遮挡检测器107)实现,并且可包括如下所述的步骤502至512。可执行方法500以实现图3的步骤302。其中的一些步骤对于执行本文提供的公开内容来说可以是可选的。此外,其中的一些步骤可同时执行,或者以与图5所示不同的顺序执行。
在步骤502中,遮挡检测器107可确定目标块的获胜者运动矢量与和目标块相关联的一个或多个相邻块的一个或多个运动矢量之间的一个或多个距离值。
在步骤504中,遮挡检测器107可确定一个或多个距离值的最大值是否大于距离阈值。响应于一个或多个距离值的最大值大于距离阈值(步骤504:是),方法500进行到步骤506。否则(步骤504:否),方法500进行到步骤508。
在步骤506中,遮挡检测器107可确定目标块是潜在遮挡块。
在步骤508中,遮挡检测器107可基于获胜者运动矢量确定与目标块相关联的双向度量值。
在步骤510中,遮挡检测器107可确定双向度量值与和获胜者运动矢量相关联的获胜者度量值之间的度量差是否大于度量阈值。响应于双向度量值与获胜者度量值之间的度量差大于度量阈值(步骤510:是),方法500进行到步骤506。否则(步骤510:否),方法500进行到步骤512。
在步骤512中,遮挡检测器107可确定目标块不是潜在遮挡块。
上面结合对遮挡检测器107的描述描述了用于执行步骤502至512的更多细节,并且这里将不再重复。
图6是根据本公开的实施例的用于检测目标块的遮挡类型的示例性方法600的流程图。方法600可由系统101(具体地,遮挡检测器107)实现,并且可包括如下所述的步骤602至608。可执行方法600以实现图3的步骤304.其中的一些步骤对于执行本文提供的公开内容来说可以是可选的。此外,其中的一些步骤可同时执行,或者以与图6中所示不同的顺序执行。
在步骤602中,遮挡检测器107可将目标块投影到先前帧和后续帧上,以分别获得先前投影块和后续投影块。
在步骤604中,遮挡检测器107可确定目标块的运动矢量与后续投影块的运动矢量之间的第一距离值。
在步骤606中,遮挡检测器107可确定目标块的运动矢量与先前投影块的运动矢量之间的第二距离值。
在步骤608中,遮挡检测器107可基于第一距离值和第二距离值来检测目标块的遮挡类型。
上面结合对遮挡检测器107的描述描述了用于执行步骤602至608的更多细节,并且这里将不再重复。
图7是示出根据本公开的实施例的双向运动估计过程700的图形表示。在一些实施例中,可使用块匹配方案以及光流方案来估计目标帧的运动矢量,并且可沿着运动矢量的运动轨迹来插值出目标帧。可以以低计算复杂度容易地设计块匹配方案。块匹配方案可包括双向运动估计过程、前向运动估计过程或后向运动估计过程等。
可针对目标帧中的每个目标块执行本文中所公开的双向运动估计过程以获得目标块相对于先前帧的运动矢量和目标块相对于后续帧的运动矢量。在一些实施例中,先前帧和后续帧可以是最接近目标帧的两个参考帧。例如,先前帧可以是相对于显示顺序(或时间顺序)紧接在目标帧之前的参考帧,并且后续帧可以是相对于显示顺序(或时间顺序)紧接在目标帧之后的参考帧。在一些其他实施例中,先前帧可以是目标帧之前的任何参考帧,并且后续帧可以是目标帧之后的任何参考帧,这在本文的公开中不受限制。
参照图7,运动估计模块105可使用双向运动估计过程来确定目标帧702的目标块712相对于先前帧704a和后续帧704b的运动矢量。具体地,运动估计模块105可在先前帧704a和后续帧704b中执行双向匹配搜索过程以确定针对目标块712的初步运动矢量集。初步运动矢量集可包括第一对初步运动矢量和第一对初步运动矢量周围的一个或多个第二对初步运动矢量。例如,第一对初步运动矢量可包括相对于先前帧704a的初始的初步运动矢量(iMV0)和相对于后续帧704b的初始的初步运动矢量(iMV1)。示例性的第二对初步运动矢量可包括相对于先前帧704a的初步运动矢量(cMV0)和相对于后续帧704b的初步运动矢量(cMV1)。
每对中的初步运动矢量可以是对称的。例如,在第一对中,指向先前帧704a的初始的初步运动矢量(iMV0)可与指向后续帧704b的初始的初步运动矢量(iMV1)相反。在第二对中,指向先前帧704a的初步运动矢量(cMV0)可与指向后续帧704b的初步运动矢量(cMV1)相反。初始的初步运动矢量iMV0和初步运动矢量cMV0之间的差可被称为运动矢量偏移并被表示为MV_offset。例如,可针对双向运动估计过程建立以下表达式(5)至(7):
cMV0=-CMV1, (5)
cMV0=iMV0+MV_offset, (6)
cMV1=iMV1-MV_offset。 (7)
对于每对初步运动矢量,两个相应的参考块(例如,相应的先前块和相应的后续块)可分别从先前帧704a和后续帧704b定位。例如,对于第一对初步运动矢量(iMV0和iMV1),可针对目标块712分别从先前帧704a和后续帧704b定位先前块704和后续块706。对于第二对初步运动矢量(cMV0和cMV1),可针对目标块712分别从先前帧704a和后续帧704b定位先前块703和后续块707。
接下来,对于每对初步运动矢量(iMV0和iMV1,或cMV0和cMV1),可确定两个相应参考块之间的度量值(例如,SAD值)。然后,可使用双向运动估计过程确定具有最低或最小度量值(例如,最低SAD值)的一对初步运动矢量,并且将该对初步运动矢量视为目标块712相对于先前帧704a和后续帧704b的运动矢量。
预计当确定目标块712相对于先前帧704a和后续帧704b的运动矢量时,本文使用失真度量,使得所确定的运动矢量可在先前帧704a和后续帧704b中的两个相应参考块之间具有最佳匹配。本文使用的失真度量的示例可包括但不限于以下:SAD度量、均方误差(MSE)度量或平均绝对失真(MAD)度量。
图8A是示出根据本公开的实施例的前向运动估计过程800的图形表示。图8B是示出根据本公开的实施例的后向运动估计过程850的图形表示。可针对目标帧中的每个目标块执行本文公开的前向运动估计过程或后向运动估计过程,以获得目标块相对于先前帧的运动矢量和目标块相对于后续帧的运动矢量。在前向运动估计过程和后向运动估计过程中的每个过程中,仅在两个参考帧之一(例如,先前帧或后续帧)中搜索不同的参考块,而在两个参考帧中的另一个中使用固定的参考块。
在一些实施例中,在图8A所示的前向运动估计过程中,后续帧804b中的与目标帧802中的目标块812同位的后续块818被用作针对目标块812的固定相应参考块,而先前帧804a中的不同的先前块(例如,包括先前块814、816)被选择为针对目标块812的相应参考块。可确定后续帧804b中的后续块818与先前帧804a中的不同的先前块中的每个先前块之间的度量值(例如,SAD值)。然后,可从不同的先前块中选择具有最低度量值的先前块,并且可确定从后续块818指向所选择的先前块的运动矢量并将其称为MVorig_FW。例如,如果先前块816与其他先前块相比时具有最低度量值,则运动矢量MVorig_FW可以是从后续块818指向先前块816的运动矢量840。
可基于先前帧804a与目标帧802之间的时间距离以及先前帧804a与后续帧804b之间的时间距离来对运动矢量MVorig_FW进行缩放以获得目标块812相对于先前帧804a的运动矢量。根据本文提供的公开,第一帧与第二帧之间的时间距离可被测量为第一帧的时间戳与第二帧的时间戳(或显示顺序)之间的时间距离。例如,目标块812相对于先前帧804a的运动矢量可通过表达式(8)至(9)来计算:
MVP1(x)=MVorig_FW(x)*(TP1-Ttarget)/(TP1-TN1), (8)
MVP1(y)=MVorig_FW(y)*(TP1-Ttarget)/(TP1-TN1)。 (9)
MVP1(x)和MVP1(y)分别表示目标块812相对于先前帧804a的运动矢量的x分量和y分量。MVorig_FW(x)和MVorig_FW(y)分别表示运动矢量MVorig_FW的x分量和y分量。TP1、TN1和Ttarget分别表示先前帧804a、后续帧804b和目标帧802的时间戳或显示顺序。(TP1-Ttarget)和(TP1-TN1)分别表示先前帧804a与目标帧802之间的时间距离和先前帧804a与后续帧804b之间的时间距离。
然后,还可基于后续帧804b与目标帧802之间的时间距离以及先前帧804a与后续帧804b之间的时间距离来对运动矢量MVorig_FW进行缩放,以获得目标块812相对于后续帧804b的运动矢量。例如,目标块812相对于后续帧804b的运动矢量可通过表达式(10)至(11)来计算:
MVN1(x)=MVorig_FW(x)*(TN1-Ttarget)/(TP1-TN1), (10)
MVN1(y)=MVorig_FW(y)*(TN1-Ttarget)/(TP1-TN1)。 (11)
MVN1(x)和MVN1(y)分别表示目标块812相对于后续帧804b的运动矢量的x分量和y分量。(TN1-Ttarget)表示后续帧804b与目标帧802之间的时间距离。
在一些实施例中,在图8B所示的后向运动估计过程中,先前帧804a中的与目标帧802的目标块852同位的先前块862被用作针对目标块812的固定相应参考块,而后续帧804b中的不同的后续块(例如,包括后续块864、866)被用作针对目标块812的相应参考块。可确定先前帧804a中的先前块862与后续帧804b中的不同的后续块中的每个后续块之间的度量值。然后,可从不同的后续块中选择具有最低度量值的后续块,并且可确定从先前块862指向所选择的后续块的运动矢量并将其称为MVorig_BW。例如,如果后续块866在与其他后续块相比时具有最低度量值,则运动矢量MVorig_BW可以是从先前块862指向后续块866的运动矢量880。
可基于后续帧804b与目标帧802之间的时间距离以及后续帧804b与先前帧804a之间的时间距离来对运动矢量MVorig_BW进行缩放,以获得目标块812相对于后续帧804b的运动矢量。例如,目标块812相对于后续帧804b的运动矢量可通过表达式(12)至(13)来计算:
MVN1(x)=MVorig_BW(x)*(TN1-Ttarget)/(TN1-TP1), (12)
MVN1(y)=MVorig_BW(y)*(TN1-Ttarget)/(TN1-TP1)。 (13)
MVorig_BW(x)和MVorig_BW(y)分别表示运动矢量MVorig_BW的x分量和y分量。接下来,还可基于先前帧804a与目标帧802之间的时间距离以及后续帧804b与先前帧804a之间的时间距离来对运动矢量MVorig_BW进行缩放,以获得目标块812相对于先前帧804a的运动矢量。例如,目标块812相对于先前帧804a的运动矢量可通过表达式(14)至(15)来计算:
MVP1(x)=MVorig_BW(x)*(TP1-Ttarget)/(TN1-TP1), (14)
MVP1(y)=MVorig_BW(y)*(TP1-Ttarget)/(TN1-TP1)。 (15)
预计当使用图7和图8A至图8B中描述的运动估计过程确定针对目标块的运动矢量时,除了上述失真度量之外,还可使用偏置值,使得可导出更一致的运动矢量场。例如,可考虑目标块与其邻近目标块之间的空间相关性以及目标块与其在参考帧中的同位参考块之间的时间相关性。可基于目标块的初步运动矢量与来自那些邻近目标块和同位参考块的运动矢量之间的差来计算偏置值。可将偏置值合并到度量值(例如,SAD值)中以确定总代价。可将具有最低总代价的初步运动矢量确定为针对目标块的运动矢量。
图9是示出根据本公开的实施例的用于检测目标帧的潜在遮挡区域的示例性过程900的图形表示。图9包括显示顺序为i的目标帧902、显示顺序为i-1的先前帧904a和显示顺序为i+1的后续帧904b。目标帧902、先前帧904a和后续帧904b中的每一个包括背景和前景。背景具有非零运动(例如,以一定速度从块(例如,910a)到另一块(例如,910b)向上移动)。前景具有零运动(例如,不移动)。
图9示出了遮挡的示例,其中先前帧904a的背景中的参考块908a(“R0”)被后续帧904b中的前景覆盖。在该示例中,目标帧902中的目标块906(“C”)在先前帧904a中具有匹配参考块,其为参考块908a。参考块908a属于向上移动的背景,并且参考块908a的内容被后续帧904b中的块908b(“R1”)处的前景覆盖。
对于目标块906,由于遮挡,双向运动估计过程和后向运动估计过程都不能用于定位针对该块的准确运动矢量。可使用后续帧904b中的目标块906的同位参考块910b(“CF”)通过前向运动估计过程来导出目标块906的正确运动矢量,并且可针对同位参考块910b找到先前帧904a中的真实匹配参考块910a(“RF”)。同位参考块910b在后续帧904b中的位置与目标块906在目标帧902中的位置相同。目标块906的准确运动矢量可以是目标块906的获胜者运动矢量。
例如,假设通过前向运动估计过程和后向运动估计过程导出的目标块906的运动矢量分别是fwdMV和bwdMV,并且它们的相关联的度量值(诸如SAD值)分别是SADfwd和SADbwd。由于后向运动估计过程中的遮挡,SADfwd可能小于SADbwd,在后向运动估计过程中,仅可定位出尽可能匹配(不是真实匹配)的块。通过比较两个SAD值(SADfwd和SADbwd),可针对目标块906选择提供更小SAD值的获胜者运动矢量。在此示例中,针对目标块906的获胜者运动矢量winMV和获胜者度量值winSAD可分别为fwdMV和SADfwd
接下来,通过按照双向方式将获胜者运动矢量winMV应用于目标块906,可针对目标块906计算双向度量值(例如,双向SAD值ctSAD)。例如,可使用目标块906作为中心点,沿着获胜者运动矢量winMV的运动轨迹,分别从先前帧904a和后续帧904b中确定两个镜像参考块908a和908b(“R0”和“R1”)。双向度量值(ctSAD)可被计算为镜像参考块908A和908B之间的SAD值。在这种情况下,双向度量值(ctSAD)在不同对象(背景块908A和前景块908B)之间,并且可大于获胜者度量值(winSAD)。可使用上述表达式(1)或(3)执行对ctSAD和winSAD的比较,以确定目标块906是否是潜在遮挡块。
通过分别对目标帧902中的多个目标块执行类似的操作,可在目标帧902中确定一个或多个潜在遮挡块。可确定目标帧902的潜在遮挡区域包括一个或多个潜在遮挡块。
图10A是示出根据本公开的实施例的目标帧中的示例性的被覆盖的块的图形表示。图10A包括显示顺序为i的目标帧1002、显示顺序为i-1的先前帧1004a和显示顺序为i+1的后续帧1004b。目标帧1002、先前帧1004a和后续帧1004b中的每一个包括背景和前景。背景具有非零运动(例如,以一定速度从块1010a(“M0”)到块1010b(“C1”)向上移动)。前景具有零运动(例如,不移动)。
目标帧1002中的目标块1006(“C”)可具有运动矢量CurMV。通过使用运动矢量CurMV将目标块1006分别投影到先前帧1004a和后续帧1004b上,可获得针对目标块1006的先前投影块1008a(“R0”)和后续投影块1008b(“R1”)。先前投影块1008a可具有运动矢量PrevMV,并且后续投影块1008b可具有运动矢量NextMV。可基于目标块1006的运动矢量CurMV、先前投影块1008a的运动矢量PrevMV和后续投影块1008b的运动矢量NextMV来确定目标块1006的遮挡类型。在图10A中所示的示例中,目标块1006可被确定为被覆盖的目标块。
图10B是示出根据本公开的实施例的用于确定投影参考块的运动矢量的过程1050的图形表示。图10B可包括与图10A的元素类似的元素,并且这里将不再重复类似的描述。图10B还可包括(1)在先前帧1004a之前的显示顺序为i-3的另一先前帧1005a、以及(2)在后续帧1004b之后的显示顺序为i+3的另一后续帧1005b。目标帧1002、先前帧1004a和先前帧1005a、后续帧1004b和后续帧1005b中的每一个包括背景和前景。背景具有非零运动(例如,以一定速度从块1010a到块1010b向上移动)。前景具有零运动(例如,不移动)。图10B中的目标块1006的投影参考块可包括先前投影块1008a和后续投影块1008b。
可使用各种运动估计方法导出每个投影参考块的运动矢量(例如,先前投影块1008a的运动矢量PrevMV或后续投影块1008b的运动矢量NextMV)。例如,可使用后向运动估计过程或前向运动估计过程导出每个投影参考块的运动矢量。
在一些实施例中,可使用先前帧1004a和后续帧1004b通过运动估计过程导出每个投影参考块的运动矢量。例如,如图10B中所示,可通过后向运动估计过程(例如,从先前帧1004a中的先前投影块1008a到后续帧1004b中的其最相似块1022(“M1”))估计先前投影块1008a的运动矢量PrevMV。可选地,可通过前向运动估计过程(例如,从后续帧1004b中的块1010b到先前帧1004a中的块1010b的真实匹配块1010a)估计先前投影块1008a的运动矢量PrevMV。块1010b可以是后续帧1004b中的先前投影块1008a的同位参考块。类似地,可通过前向运动估计过程(例如,从后续帧1004b中的后续投影块1008b到先前帧1004a中的后续投影块1008b的真实匹配块1014(“C0”))估计后续投影块1008b的运动矢量NextMV。
在一些实施例中,可使用多个先前帧和多个后续帧通过运动估计过程导出每个投影参考块的运动矢量。例如,如图10B中所示,可在运动估计过程中使用先前帧1004a和先前帧1005a以及后续帧1004b和后续帧1005b以确定每个投影参考块的运动矢量。在此情况下,可使用更多参考帧的信息更准确地导出每个影参考块的运动矢量。例如,可通过前向运动估计过程(例如,从先前帧1004a中的先前投影块1008a到先前帧1005a中的先前投影块1008a的真实匹配块1020(“M2”))估计先前投影块1008a的运动矢量PrevMV。
在一些实施例中,对于每个投影参考块,可使用与投影参考块的相邻块集相关联的运动矢量集来获得投影参考块的运动矢量的估计,使得可提高运动估计过程的鲁棒性。可对与相邻块集相关联的运动矢量集执行运算(例如,“平均”运算、“中值”运算等)以导出投影参考块的运动矢量。例如,如图10B中所示,先前帧1004a中的先前投影块1008a的相邻块的运动矢量可一起用于导出先前投影块1008a的运动矢量PrevMV。例如,先前投影块1008a的运动矢量PrevMV可以是先前投影块1008a的相邻块的运动矢量的平均值或中值。同样地,后续帧1004b中的后续投影块1008b的相邻块的运动矢量可一起用于导出后续投影块1008b的运动矢量NextMV。
预计用于导出投影参考块的运动矢量的方法不限于上文所描述的那些方法,并且可使用任何其它合适的运动估计方法。例如,还可使用各种基于光流的运动估计方法来导出运动矢量。无论使用什么运动估计方法来估计运动矢量,都可执行本文公开的目标帧中的遮挡区域的检测和处理。
本公开的另一方面涉及一种存储指令的非暂态计算机可读介质,所述指令在被执行时使得一个或多个处理器执行如上所述的方法。计算机可读介质可包括易失性或非易失性、磁性、基于半导体、基于磁带、光学、可移除、不可移除或其他类型的计算机可读介质或计算机可读存储设备。例如,计算机可读介质可以是如所公开的其上存储有计算机指令的存储设备或存储器模块。在一些实施例中,计算机可读介质可以是其上存储有计算机指令的磁盘或闪存驱动器。
对于本领域技术人员显而易见的是,可对所公开的系统和相关方法进行各种修改和变化。考虑到所公开的系统和相关方法的说明书和实践,其他实施例对于本领域技术人员将是显而易见的。
说明书和示例旨在仅被认为是示例性的,真实范围由所附权利要求及其等同物指示。

Claims (20)

1.一种计算机实现的用于对包括图像帧序列的视频数据执行帧率上转换中的遮挡检测的方法,包括:
由视频处理器基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定所述目标块是否是潜在遮挡块,其中,所述目标帧将被生成并被插入到所述图像帧序列中;
响应于所述目标块是所述潜在遮挡块,由所述视频处理器检测所述目标块的遮挡类型;以及
由所述视频处理器通过执行基于所述目标块的遮挡类型自适应地选择的运动补偿方法来生成所述目标块。
2.如权利要求1所述的计算机实现的方法,其中所述运动矢量信息包括所述目标块的获胜者运动矢量,并且所述失真度量信息包括与所述获胜者运动矢量相关联的获胜者度量值。
3.如权利要求2所述的计算机实现的方法,还包括确定与所述目标块相关联的所述运动矢量信息或所述失真度量信息中的所述至少一个。
4.如权利要求3所述的计算机实现的方法,其中确定所述运动矢量信息或所述失真度量信息中的所述至少一个,包括:
确定所述目标块的运动矢量候选集;
分别确定与所述运动矢量候选集相关联的度量值集;以及
基于所述度量值集,识别来自所述运动矢量候选集的所述获胜者运动矢量和与所述获胜者运动矢量相关联的所述获胜者度量值。
5.如权利要求4所述的计算机实现的方法,其中基于所述度量值集,识别来自所述运动矢量候选集的所述获胜者运动矢量和与所述获胜者运动矢量相关联的所述获胜者度量值,包括:
从所述度量值集中确定最小度量值;
将所述获胜者运动矢量识别为来自所述运动矢量候选集的与所述最小度量值相关联的运动矢量;以及
将所述获胜者度量值识别为所述最小度量值。
6.如权利要求2所述的计算机实现的方法,其中基于所述运动矢量信息或所述失真度量信息中的所述至少一个来确定所述目标块是否是潜在遮挡块,包括:
确定与所述目标块相关联的一个或多个相邻块的一个或多个运动矢量;
分别确定所述目标块的所述获胜者运动矢量与所述一个或多个相邻块的所述一个或多个运动矢量之间的一个或多个距离值;以及
响应于所述一个或多个距离值的最大值大于距离阈值,确定所述目标块是所述潜在遮挡块。
7.如权利要求2所述的计算机实现的方法,其中基于所述运动矢量信息或所述失真度量信息中的所述至少一个来确定所述目标块是否是潜在遮挡块,包括:
基于所述获胜者运动矢量确定与所述目标块相关联的双向度量值;
确定所述双向度量值与所述获胜者度量值之间的度量差是否大于度量阈值;以及
响应于所述度量差大于所述度量阈值,确定所述目标块是所述潜在遮挡块。
8.如权利要求7所述的计算机实现的方法,其中基于所述获胜者运动矢量确定与所述目标块相关联的双向度量值,包括:
按照双向方式应用所述获胜者运动矢量,以从所述目标帧之前的先前帧中获得针对所述目标块的先前镜像块并从所述目标帧之后的后续帧中获得针对所述目标块的后续镜像块;以及
基于所述先前镜像块和所述后续镜像块来确定所述双向度量值。
9.如权利要求2所述的计算机实现的方法,其中所述获胜者度量值包括绝对差之和SAD值、均方误差MSE值或平均绝对失真MAD值。
10.如权利要求1所述的计算机实现的方法,其中检测所述目标块的遮挡类型,还包括:确定所述目标块是被覆盖的目标块、未被覆盖的目标块或组合的目标块之一。
11.如权利要求10所述的计算机实现的方法,其中,检测所述目标块的遮挡类型,还包括:
将所述目标块投影到所述目标帧之前的先前帧和所述目标帧之后的后续帧上,以分别获得先前投影块和后续投影块;以及
基于所述目标块的运动矢量、所述先前投影块的运动矢量和所述后续投影块的运动矢量来检测所述目标块的所述遮挡类型。
12.如权利要求11所述的计算机实现的方法,其中基于所述目标块的运动矢量、所述先前投影块的运动矢量和所述后续投影块的运动矢量来检测所述目标块的所述遮挡类型,包括:
确定所述目标块的运动矢量与所述后续投影块的运动矢量之间的第一距离值;
确定所述目标块的运动矢量与所述先前投影块的运动矢量之间的第二距离值;以及
基于所述第一距离值和所述第二距离值来检测所述目标块的遮挡类型。
13.如权利要求12所述的计算机实现的方法,其中基于所述第一距离值和所述第二距离值来检测所述目标块的遮挡类型,包括:
响应于所述第一距离值大于上限距离阈值并且所述第二距离值小于下限距离阈值,确定所述目标块是所述被覆盖的目标块。
14.如权利要求12所述的计算机实现的方法,其中基于所述第一距离值和所述第二距离值来检测所述目标块的遮挡类型,包括:
响应于所述第一距离值小于下限距离阈值并且所述第二距离值大于上限距离阈值,确定所述目标块是所述未被覆盖的目标块。
15.如权利要求12所述的计算机实现的方法,其中基于所述第一距离值和所述第二距离值来检测所述目标块的遮挡类型,包括:
响应于所述第一距离值和所述第二距离值两者都大于上限距离阈值,确定所述目标块是所述组合的目标块。
16.如权利要求1所述的计算机实现的方法,其中通过执行基于所述目标块的遮挡类型自适应地选择的运动补偿方法来生成所述目标块,包括:
基于所述目标块的遮挡类型,分别从所述目标帧之前的先前帧和所述目标帧之后的后续帧中的一个或多个帧确定针对所述目标块的一个或多个参考块;以及
基于所述一个或多个参考块执行运动补偿操作以生成所述目标块。
17.如权利要求16所述的计算机实现的方法,其中,所述一个或多个参考块包括针对所述目标块的匹配参考块,基于所述目标块的遮挡类型来确定针对所述目标块的所述一个或多个参考块,包括:
响应于所述目标块是被覆盖的目标块,基于所述目标块的获胜者运动矢量从所述先前帧中确定所述匹配参考块;或者
响应于所述目标块是所述未被覆盖的目标块,基于所述目标块的所述获胜者运动矢量从所述后续帧中确定所述匹配参考块。
18.如权利要求16所述的计算机实现的方法,其中基于所述目标块的遮挡类型来确定针对所述目标块的所述一个或多个参考块,包括:
响应于所述目标块是组合的目标块,确定来自所述先前帧的先前同位块和来自所述后续帧的后续同位块,所述一个或多个参考块包括所述先前同位块和所述后续同位块。
19.一种用于对包括图像帧序列的视频数据执行帧率上转换中的遮挡检测的系统,包括:
存储器,被配置为存储所述图像帧序列;以及
视频处理器,被耦接到所述存储器并且被配置为:
基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定所述目标块是否是潜在遮挡块,其中,所述目标帧将被生成并被插入到所述图像帧序列中;
响应于所述目标块是所述潜在遮挡块,检测所述目标块的遮挡类型;以及
通过执行基于所述目标块的遮挡类型自适应地选择的运动补偿方法来生成所述目标块。
20.一种非暂时性计算机可读存储介质,被配置为存储指令,所述指令在由视频处理器执行时使所述视频处理器执行用于对包括图像帧序列的视频数据执行帧率上转换中的遮挡检测的过程,所述过程包括:
基于与目标帧的目标块相关联的运动矢量信息或失真度量信息中的至少一个来确定所述目标块是否是潜在遮挡块,其中,所述目标帧将被生成并被插入到所述图像帧序列中;
响应于所述目标块是所述潜在遮挡块,检测所述目标块的遮挡类型;以及
通过执行基于所述目标块的遮挡类型自适应地选择的运动补偿方法来生成所述目标块。
CN202210176284.4A 2021-02-25 2022-02-25 用于视频数据的帧率上转换中的遮挡检测的系统和方法 Pending CN114979619A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163153528P 2021-02-25 2021-02-25
US63/153,528 2021-02-25

Publications (1)

Publication Number Publication Date
CN114979619A true CN114979619A (zh) 2022-08-30

Family

ID=82899761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210176284.4A Pending CN114979619A (zh) 2021-02-25 2022-02-25 用于视频数据的帧率上转换中的遮挡检测的系统和方法

Country Status (2)

Country Link
US (1) US20220270267A1 (zh)
CN (1) CN114979619A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116723355A (zh) * 2023-08-11 2023-09-08 深圳传趣网络技术有限公司 视频插帧的处理方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116723355A (zh) * 2023-08-11 2023-09-08 深圳传趣网络技术有限公司 视频插帧的处理方法、装置、设备及存储介质
CN116723355B (zh) * 2023-08-11 2023-11-28 深圳传趣网络技术有限公司 视频插帧的处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20220270267A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
US9852513B2 (en) Tracking regions of interest across video frames with corresponding depth maps
US9148622B2 (en) Halo reduction in frame-rate-conversion using hybrid bi-directional motion vectors for occlusion/disocclusion detection
EP2180695B1 (en) Apparatus and method for improving frame rate using motion trajectory
US10412462B2 (en) Video frame rate conversion using streamed metadata
Huang et al. Correlation-based motion vector processing with adaptive interpolation scheme for motion-compensated frame interpolation
US9361699B2 (en) Imaging system and method
US20120113219A1 (en) Image conversion apparatus and display apparatus and methods using the same
US20090136146A1 (en) Image processing device and method, program, and recording medium
US7796191B1 (en) Edge-preserving vertical interpolation
KR102074555B1 (ko) 비디오 처리를 위한 블록 기반 정적 영역 검출
US20090060042A1 (en) System and method for motion vector collection based on k-means clustering for motion compensated interpolation of digital video
Kaviani et al. Frame rate upconversion using optical flow and patch-based reconstruction
US10410358B2 (en) Image processing with occlusion and error handling in motion fields
US8995755B2 (en) Two-dimensional to stereoscopic conversion systems and methods
Zhang et al. Interactive stereoscopic video conversion
CN114979619A (zh) 用于视频数据的帧率上转换中的遮挡检测的系统和方法
JP2009533887A (ja) 動きベクトル場修正装置及び方法
EP2525324B1 (en) Method and apparatus for generating a depth map and 3d video
KR20040078690A (ko) 오클루전을 고려하여 일군의 화소들의 움직임 벡터를 추정
US9106926B1 (en) Using double confirmation of motion vectors to determine occluded regions in images
KR101050135B1 (ko) 광류 정보를 이용한 중간 영상 생성 방법
US11533451B2 (en) System and method for frame rate up-conversion of video data
EP3418975A1 (en) Depth estimation for an image
US9894367B2 (en) Multimedia device and motion estimation method thereof
CN109788297B (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