CN112673631A - 利用运动矢量进行空间块级像素活动提取优化 - Google Patents

利用运动矢量进行空间块级像素活动提取优化 Download PDF

Info

Publication number
CN112673631A
CN112673631A CN201980059492.2A CN201980059492A CN112673631A CN 112673631 A CN112673631 A CN 112673631A CN 201980059492 A CN201980059492 A CN 201980059492A CN 112673631 A CN112673631 A CN 112673631A
Authority
CN
China
Prior art keywords
block
video frame
pixel activity
estimate
threshold
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
CN201980059492.2A
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.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
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 ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of CN112673631A publication Critical patent/CN112673631A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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

Landscapes

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

Abstract

公开了用于利用运动矢量实施空间块级像素活动提取优化的系统、设备和方法。耦合至编码器的控制逻辑基于来自参考帧的先前计算的块级像素活动数据生成新帧的块级像素活动度量。针对新帧的每个块相对于所述参考帧的相应块计算成本。如果所述成本小于第一阈值,则所述控制逻辑生成对所述块的像素活动度量的估计,所述像素活动度量等于所述参考帧的相应块的先前计算的像素活动度量。如果所述成本大于所述第一阈值但小于第二阈值,则通过从所述先前计算的像素活动度量外推来生成对所述像素活动度量的估计。

Description

利用运动矢量进行空间块级像素活动提取优化
背景技术
相关技术的描述
各种应用程序执行图像或视频内容的编码和解码。例如,视频转码、桌面共享、云游戏和游戏观看是包括对内容的编码和解码的支持的一些应用程序。通常在不同的视频处理和分析算法中执行块内的像素活动计算。例如,对于某些应用程序,可以使用块级像素活动来确定图像中的纹理类型。块的实例包括用于高效视频译码(HEVC)标准的译码树块(CTB)或用于H.264标准的宏块。与其它类型的标准一起使用的其它类型的块也是可能的。
可以使用不同的方法来计算图像或视频帧的块的像素活动。例如,在一个实施方案中,为帧的每个块计算灰度共现矩阵(GLCM)。GLCM数据显示像素亮度在一个块中发生不同变化的频率。可以为距离为d和角度为θ的像素计算GLCM数据。在另一实施方案中,为给定块计算二维(2D)空间平均梯度。此梯度可以捕获垂直和水平边缘。在其它实施方案中,使用小波变换或其它类型的变换来测量给定块的活动参数。因此,如本文所使用的,术语“像素活动度量”、“像素活动”或“多个像素活动”被定义为块的GLCM、梯度、小波变换或其它度量或汇总统计。注意,术语“像素活动”和“块级像素活动”在本文中可以互换使用。在某些情况下,像素活动使用矩阵表示。在其它情况下,像素活动使用一个或多个值表示。
根据将要使用的活动度量的类型,为视频的每一帧的每个块计算块级像素活动可能是耗时的和/或不必要的功耗操作。例如,从头开始计算像素共现需要评估块内所有像素的像素对。这种类型的计算需要处理整个帧。尽管在某些情况下可以执行并行计算,但是处理需求仍然很高。
附图说明
通过结合附图参考以下描述,可更好地理解本文中描述的方法和机制的优点,在附图中:
图1是用于对内容进行编码和解码的系统的一个实施方案的框图。
图2是服务器的一个实施方案的框图。
图3是用于一系列视频帧的一组运动矢量的一个实施方案的框图。
图4是示出了用于利用运动矢量来实施空间块级像素活动提取优化的方法的一个实施方案的通用流程图。
图5是示出了用于为新帧的块生成块级像素活动的方法的另一实施方案的通用流程图。
图6是示出了用于确定像素活动度量生成方案的方法的一个实施方案的通用流程图。
图7是视频序列和对应运动矢量的连续帧的一个实施方案的框图。
图8是具有不同块度量粒度级别的帧的一个实施方案的框图。
图9是示出了以不同的粒度计算像素活动度量的方法的一个实施方案的通用流程图。
具体实施方式
在以下描述中,阐述了众多具体细节以提供对本文中呈现的方法和机制的透彻理解。然而,本领域的普通技术人员应认识到,可在没有这些具体细节的情况下实践各种实施方案。在一些情况下,并未详细示出所熟知的结构、组件、信号、计算机程序指令以及技术,以避免混淆本文中描述的方法。应了解,为了使说明简单且清楚,附图中所示的元件未必按比例绘制。例如,一些元件的尺寸可相对于其它元件被放大。
本文公开了用于实施空间块级像素活动提取优化技术的系统、设备和方法。在一个实施方案中,一种系统包括编码器和耦合至编码器的控制逻辑。在一个实施方案中,控制逻辑利用运动估计数据来避免不必要且昂贵的像素活动计算。在此实施方案中,控制逻辑计算像素活动的近似值。例如,在一个实施方案中,控制逻辑使用为参考帧计算的局部运动矢量和块级像素活动来生成对新帧的块的像素活动的估计。如本文中所使用,术语“参考帧”被定义为视频流的帧,其用于对视频流的一个或多个未来帧进行定义和/或编码。在一个实施方案中,控制逻辑在逐块的基础上处理新帧。在一个实施方案中,像素活动是针对新帧的块计算的梯度。在另一实施方案中,像素活动包括对新帧的块的纹理分析。在其它实施方案中,像素活动包括各种汇总统计或其它数学量(例如,平均值、最大值、方差)中的任何一个。
在一个实施方案中,控制逻辑计算新帧的块与参考帧的相应块之间的差(即,差异成本之和),其中参考帧的相应块由运动矢量标识。如果差(或“误差”)低于第一阈值,则控制逻辑从参考帧的相应块复制像素活动,而不是重新计算新帧的块的像素活动。如果误差大于或等于第一阈值但小于第二阈值,则控制逻辑使用运动估计数据从参考帧的相应块的像素活动外推来生成对新帧的块的像素活动的估计。否则,如果误差大于或等于第二阈值,则控制逻辑使用常规方法来计算新帧的块的像素活动。
现在参考图1,示出了用于对内容进行编码和解码的系统100的一个实施方案的框图。系统100包括服务器105、网络110、客户端115和显示器120。在其它实施方案中,系统100包括经由网络110连接到服务器105的多个客户端,其中多个客户端接收由服务器105生成的相同位流或不同位流。系统100还可包括用于为多个客户端生成多个位流的一个以上服务器105。
在一个实施方案中,系统100实施视频内容的编码和解码。在各种实施方案中,系统100实施例如视频游戏应用程序、云游戏应用程序、虚拟桌面基础设施应用程序或屏幕共享应用程序的不同应用程序。在其它实施方案中,系统100执行其它类型的应用程序。在一个实施方案中,服务器105渲染视频或图像帧,生成帧块的像素活动度量,将帧编码为位流,然后经由网络110将编码的位流传送到客户端115。客户端115对编码的位流进行解码,并生成视频或图像帧以驱动到显示器120或到显示合成器。
在一个实施方案中,服务器105生成针对帧的块的像素活动度量的估计,而不是从头开始计算像素活动度量。例如,帧f中的块(i,j)由块(f,i,j)表示。在一个实施方案中,像素活动度量可用于参考帧(f1)中的块(f1,i,j)。在一个实施方案中,针对当前帧f内的所有块计算运动矢量。一种计算运动估计数据的方法是确定参考图像中参考块与当前图像中另一候选块的像素样本之间的绝对差之和(SAD)。当前块的候选者是“搜索区域”中的多个位置—每个位置具有水平位移dx和垂直位移dy。运动估计会在搜索区域中找到具有最小SAD的矢量(dx,dy)。在这种情况下,SAD称为“成本”。其它成本函数也是可能的。参考图像可以不同于当前图像(时间),或者参考图像可以是相同图像(空间)。运动矢量MV(dx,dy,i,j,C)表示块i和j的位移为dx和dy且成本为C的运动矢量。基于块(i-dx,j-dy,f1)的像素活动度量计算块(i,j,f)的像素活动度量,其中f1是具有运动矢量(dx,dy,i,j,C)的参考帧。
在一个实施方案中,如果C<Threshold1,则两个块相似,并且将新块的像素活动度量估计为参考帧中相关块的像素活动度量。如果C≥Threshold1且C<Threshold2,则两个块相似,但有所不同。在这种情况下,根据要求,使用传递函数将成本C映射到校正因子。使用校正因子更新参考块的像素活动度量,以生成当前块的像素活动度量的估计。替代地,使用机器学习解决方案来收集一些信息,包括运动估计成本和参考块像素活动度量,以计算新块的像素活动度量。如果C>Threshold2,则两个块不同,并且从头开始计算所述块的像素活动度量。
网络110代表任何类型的网络或网络的组合,包括无线连接、直接局域网(LAN)、城域网(MAN)、广域网(WAN)、内联网、互联网、有线网络、分组交换网络、光纤网络、路由器、存储区域网络,或其它类型的网络。LAN的实例包括以太网、光纤分布式数据接口(FDDI)网络和令牌环网络。在各种实施方案中,网络110包括远程直接存储器访问(RDMA)硬件和/或软件、传输控制协议/互联网协议(TCP/IP)硬件和/或软件、路由器、转发器、交换机、网格和/或其它组件。
服务器105包括用于渲染视频/图像帧并将帧编码成位流的软件和/或硬件的任何组合。在一个实施方案中,服务器105包括在一个或多个服务器的一个或多个处理器上执行的一个或多个软件应用程序。服务器105还包括网络通信能力、一个或多个输入/输出装置和/或其它组件。服务器105的处理器包括任何数量和类型的处理器(例如,图形处理单元(GPU)、中央处理单元(CPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC))。处理器耦合至存储可由处理器执行的程序指令的一个或多个存储器装置。类似地,客户端115包括用于对位流进行解码并将帧驱动到显示器120的软件和/或硬件的任何组合。在一个实施方案中,客户端115包括在一个或多个计算装置的一个或多个处理器上执行的一个或多个软件应用程序。在各种实施方案中,客户端115是计算装置、游戏控制台、移动装置、流媒体播放器或其它类型的装置。
现在转向图2,示出了用于对视频帧进行编码的服务器200的软件组件的一个实施方案的框图。注意,在其它实施方案中,服务器200包括其它组件和/或以不同于图2所示的其它合适方式布置。服务器200在接口208上接收视频的新帧205,并且所述帧耦合至运动矢量单元210、控制逻辑220和编码器230。取决于实施方案,接口208是总线接口、存储器接口或到通信结构和/或其它类型的装置的互连。运动矢量单元210、控制逻辑220和编码器230中的每一者使用硬件和/或软件的任何适当组合来实施。运动矢量单元210基于新帧205与参考帧207的比较而为新帧205的块生成运动矢量215。在一个实施方案中,参考帧207存储在存储器240中。存储器240代表用于存储与编码过程相关联的数据和/或指令的任何数量和类型的存储器或高速缓存装置。
运动矢量215被提供给控制逻辑220和编码器230。控制逻辑220基于运动矢量215根据参考帧计算的像素活动222生成估计的像素活动225。例如,在一个实施方案中,控制逻辑220在逐块的基础上处理新帧205。对于每个块,控制逻辑220检索块与参考帧207中由对应运动矢量215标识的相应块之间的计算出的差异成本之和。如果块的差异成本之和小于第一阈值,则控制逻辑220将所述块的估计的像素活动225生成为参考帧207的相应块的先前计算的像素活动222。
如果块的差异成本之和大于或等于第一阈值但小于第二阈值,则控制逻辑220通过基于块的运动矢量215从参考帧207中相应块的像素活动222外推来生成块的估计的像素活动225。例如,在一个实施方案中,控制逻辑220使用传递函数将差异成本之和映射到校正因子,所述校正因子用于根据参考帧207更新相应块的像素活动222。然后,来自参考帧207的相应块的此更新的像素活动用作新帧205的块的估计的像素活动225。在一个实施方案中,使用查找表来应用传递函数。如果块的差异成本之和大于或等于第二阈值,则控制逻辑220使用常规技术从头开始生成所述块的像素活动。
现在参考图3,示出了用于一系列视频帧305A-D的一组运动矢量315A-C的一个实施方案的框图。帧305A-D表示视频序列的连续帧。框310A表示帧305A内的各个像素块。框310A也可称为宏块。箭头315A表示随着视频序列从帧305A移动到305B,框310A内的图像的已知运动。箭头315A所示出的已知运动可通过运动矢量来定义。应注意,尽管运动矢量315A-C指向后续帧中的框310的运动方向,但在另一个实施方案中,可将运动矢量定义为指向与图像的运动相反的方向。例如,在一些压缩标准中,与宏块相关联的运动矢量指向参考帧中的所述块的源。参考帧可以在时间上向前或向后。还应注意,在某些实施方案中,运动矢量可以表示熵。
在一个实施方案中,可使用运动矢量315A-C来在后续帧中跟踪框310B-D。例如,运动矢量315A指示帧305B中的框310B与帧305A中的框310A相比的位置变化。类似地,运动矢量315B指示帧310C中的框310C与帧305B中的框310B相比的位置变化。另外,运动矢量315C指示帧310D中的框310D与帧305C中的框310C相比的位置变化。在另一实施方案中,定义运动矢量以跟踪块从给定帧回到先前帧的反向运动。
在一个实施方案中,当编码器需要为新帧的块生成各种像素活动度量时,编码器基于先前帧中的相应块的先前计算的像素活动度量来生成对像素活动度量的估计。在一个实施方案中,编码器使用运动矢量315A-C来识别先前帧中的哪个相应块与新帧中的给定块匹配。然后,编码器将先前计算的像素活动度量用于先前帧中的已识别块,以帮助生成对新帧中块的像素活动度量的估计。在一个实施方案中,编码器将先前计算的像素活动度量未加修改地用作新帧中的块的像素活动度量的估计。在另一实施方案中,编码器通过使用传递函数将差异成本之和或块之间的任何其它成本之和映射到校正因子,从先前计算的像素活动度量外断。然后将校正因子应用于先前计算的像素活动,以生成对新帧中块的像素活动度量的估计。
现在转向图4,示出了利用运动矢量来实施空间块级像素活动提取优化的方法400的一个实施方案。出于论述的目的,按顺序次序示出此实施方案中的步骤和图5至图6的那些步骤。然而,应注意,在所描述的方法的各种实施方案中,所描述的要素中的一者或多者同时地执行,以与所示不同的次序执行,或者完全地被省略。还可视需要执行其它附加要素。本文中描述的各种系统或设备中的任一者都被配置成实施方法400。
相比一个或多个参考帧的相应块,运动矢量单元计算视频流中的新帧的块的绝对差异成本之和(框405)。在一个实施方案中,成本是绝对差异成本之和。在其它实施方案中,成本是根据新帧的块和一个或多个参考帧的相应块计算出的其它类型的成本或误差。在一个实施方案中,运动矢量单元是编码器的一部分,其中编码器还包括控制逻辑。在一个实施方案中,在具有耦合至至少一个存储器装置的至少一个处理器的系统上实施编码器。在一个实施方案中,在作为云计算环境的一部分的服务器上实施编码器。运动矢量单元基于与参考帧的相应块的比较而生成新帧的块的运动矢量(框410)。编码器控制逻辑接收新帧的块的成本和运动矢量(框415)。
控制逻辑还接收参考帧的块的先前计算的块级像素活动(框420)。然后,控制逻辑基于新帧的块的成本和运动矢量以及基于参考帧的块的先前计算的块级像素活动,生成对新帧的块的块级像素活动的估计(框425)。在框425之后,方法400结束。下面在图5的讨论中进一步详细描述用于执行框425的实施方案的一个实例。在各种实施方案中,用于新帧的块的块级像素活动有助于对新帧的编码,用于对新帧进行分类和/或用于执行对新帧的进一步分析。在一个实施方案中,用于新帧的块的块级像素活动用于将新帧分类为多个类别之一,以识别在新帧中存在什么类型的对象,和/或执行其它动作。
现在转向图5,示出了用于为新帧的块生成块级像素活动的方法500的一个实施方案。编码器控制逻辑接收要进行编码的新帧(框505)。编码器控制逻辑使用硬件和/或软件的任何合适的组合来实施。控制逻辑在逐块的基础上分析新帧(框510)。出于讨论的目的,假设当控制逻辑接收到要进行编码的新帧时,已经针对新帧的块计算了运动估计数据(例如,运动矢量)和成本。在尚未计算运动估计数据或成本的实施方案中,控制逻辑响应于接收到要进行编码的新帧来计算这些值。可以根据实施方案来计算任何类型的成本。
对于新帧的每个块,如果块的成本小于第一阈值(条件框515,“是”分支),则控制逻辑将对块的像素活动的估计生成为等于一个或多个参考帧中相应块的先前计算的像素活动(框520)。如果块的成本大于或等于第一阈值(条件框515,“否”分支),则控制逻辑确定块的成本是否小于第二阈值(条件框525)。如果块的成本小于第二阈值(条件框525,“是”分支),则控制逻辑通过基于块的运动估计数据从参考帧中相应块的先前计算的像素活动外推来生成对块的像素活动的估计(框530)。如果块的成本大于或等于第二阈值(条件框525,“否”分支),则控制逻辑将独立于参考帧中相应块的先前计算的像素活动和块的运动估计数据来计算块的像素活动(框535)。换句话说,在框535中,控制逻辑以常规方式从头开始计算块的像素活动。在框520、530和535之后,方法500结束。
现在转向图6,示出了用于确定像素活动度量生成方案的方法600的一个实施方案。编码器生成与一个或多个参考帧的相应块相比新帧的块的成本直方图(框605)。如果至少给定百分比的块具有大于阈值的成本(条件框610,“是”分支),则编码器以常规方式计算新帧的块的像素活动度量(框615)。给定百分比和阈值的值可以根据实施方案而变化。如果少于给定百分比的块具有大于阈值的成本(条件框610,“否”分支),则编码器基于参考帧的块的先前计算的像素活动度量、成本和新帧的块的运动矢量来生成对新帧的块的像素活动度量的估计(框620)。在与图5相关的讨论中描述了执行框620的一个实例。在框615和620之后,方法600结束。
现在参考图7,示出了视频流和相应运动矢量的连续帧的一个实施方案的框图。在一些实施方案中,像素活动度量可能不可用于任意参考块。例如,活动可能仅在宏块粒度下可用,这可能意味着仅位置(16*i,16*j)处的引用块可用,其中i和j为整数。注意,16像素乘16像素的块大小的实例仅指示一个实施方案。在其它实施方案中,宏块或编码单元可以具有其它大小。对于其它运动矢量,如果误差是可接受的,则可以基于像素来源的块来估计对像素活动度量值的估计。在特定情况下,像素可以来自一个块,而在其它情况下,像素可以来自多达四个块。在图7所示的示例中,像素来自两个块。
图7中分别示出了在时间‘t-2’和‘t-1’的两个连续的视频帧705和710。在时间‘t-2’的视频帧705内,块(0,2,t-2)具有像素活动度量A0,2,而块(1,2,t-2)具有像素活动度量A1,2。在时间‘t-1’的视频帧710内,块(1,2,t-1)具有像素活动度量N1,2。在一个实施方案中,如果与帧705的匹配像素相比的块(1,2,t-1)的成本小于第一阈值,则运动矢量715匹配被认为是密切匹配,因此可使用以下估计方法。出于讨论目的,假设块(0,2,t-2)将其像素的w0的百分比贡献给块(1,2,t-1)并且块(1,2,t-2)将其像素的w1百分比贡献给块(1,2,t-1)。可能的误差与w0和w1的最大值成反比。基于此可能的误差,可以确定需要计算活动而不只是生成估计的块。在一个实施方案中,估计可以是A0,2或A1,2或内插值中的较高者,例如N1,2=w0*A0,2+w1*A1,2,其中w0+w1=1。
在某些情况下,可以不考虑可能的误差而偶尔计算候选估计区域。例如,当随机生成的值x大于随机阈值时,可以计算候选估计区域。这是为了确保估计的像素活动度量不会偏离实际信号太远。在一种情形下,如果随机阈值设置为.9,则这意味着90%的时间将跳过像素活动度量的实际计算。如果需要更高的精度,则可以减小随机阈值的值。
现在转向图8,示出了具有不同块度量粒度级别的帧的一个实施方案的框图。许多像素活动度量(例如离散梯度)在区域内累积。在一个实施方案中,通过以更细的粒度存储度量,通过存储求和的面积表或使用允许快速计算具有特定数学属性(例如,均质、加性)的度量的其它加速度数据结构,将这些像素活动度量构建为快速估计。通过将这些数据结构中的适当值进行汇总,可以快速计算出估计值。例如,通过将高度量粒度帧805的区域815A-D的像素活动度量相加在一起,估计低度量粒度帧810的区域830的像素活动度量。此估计值被认为是可接受的,因为区域815B和815D所包含的额外区域被认为无关紧要(即,误差计算为可接受的)。类似地,紧邻区域815A和815C错过的区域也被认为是微不足道的。如果需要更高的精度,则可以通过计算和调整度量在额外需要和不需要区域的贡献来进行校正。
如果高度量粒度帧805的估计被认为不够精确,则可以校正估计。例如,在一个实施方案中,针对在相应标记区域中的度量的贡献,计算在扩展视图820中示出的校正825A。针对度量在相应标记的区域中的贡献计算另一个校正825B。然后,通过将区域815A-D的度量一起相加再加上校正825A和减去校正825B,估计参考块的像素活动量度。在此实例中,所需的校正归因于水平偏移引起的误差。在不同的对齐下,可能需要进行校正以处理垂直偏移误差;或者对于其它对齐,可能需要进行校正以针对垂直和水平偏移两者进行调整。
现在参考图9,示出了用于以不同的粒度计算像素活动度量的方法900的一个实施方案。编码器以第一粒度为参考帧的块计算像素活动度量(框905)。编码器以第二粒度为新帧的块生成像素活动度量的估计,其中第一粒度是比第二粒度更精细的粒度,并且其中基于参考帧的块的像素活动度量来生成估计(框910)。作为以第二粒度为新帧的块生成像素活动度量的估计的一部分,编码器基于运动矢量识别参考帧中与新帧的每个块相对应的多个块(框915)。然后,编码器通过对来自参考帧的多个块的像素活动度量求和,生成对新帧的每个块的像素活动度量的累积估计(框920)。在框920之后,方法900结束。
在各种实施方案中,使用软件应用程序的程序指令来实施本文所述的方法和/或机制。例如,预期可由通用或专用处理器执行的程序指令。在各种实施方案中,此类程序指令可由高级编程语言表示。在其它实施方案中,程序指令可从高级编程语言编译成二进制形式、中间形式或其它形式。替代地,可以写入描述硬件的行为或设计的程序指令。此类程序指令可以由例如C的高级编程语言表示。替代地,可以使用例如Verilog的硬件设计语言(HDL)。在各种实施方案中,程序指令存储在多种非暂时性计算机可读存储介质中的任一种上。在使用期间,计算系统可访问存储介质,以将程序指令提供到计算系统以用于程序执行。一般来讲,此类计算系统至少包括一个或多个存储器和被配置为执行程序指令的一个或多个处理器。
应当强调的是,上述实施方案仅是实施方案的非限制性实例。一旦充分地了解以上公开内容,众多变化和修改对于本领域的技术人员而言就将变得显而易见。以下权利要求意图被解释为涵盖所有此类变化和修改。

Claims (20)

1.一种系统,其包括:
接口,所述接口被配置成接收视频流的新视频帧;
耦合至所述接口的控制逻辑,其中所述控制逻辑被配置成基于以下项生成对所述新视频帧的块级像素活动的估计:
所述新视频帧的运动估计数据;以及
来自参考视频帧的先前计算的块级像素活动;
编码器,所述编码器被配置成基于所述估计生成编码的视频帧,其中所述编码的视频帧表示所述新视频帧。
2.如权利要求1所述的系统,其中对于所述新视频帧的每个块,所述控制逻辑被配置成:
将所述新视频帧的所述块相对于所述参考视频帧的相应块的成本与第一阈值进行比较;以及
生成对所述块的像素活动的估计,其中如果所述成本小于所述第一阈值,则所述估计等于所述参考视频帧中相应块的先前计算的像素活动。
3.如权利要求2所述的系统,其中对于所述新视频帧的每个块,所述控制逻辑还被配置成:
将所述块的所述成本与第二阈值进行比较;
响应于确定所述成本大于或等于所述第一阈值且小于所述第二阈值:
使用传递函数将所述成本映射到校正因子;以及
通过将所述校正因子应用于所述参考视频帧中所述相应块的所述先前计算的像素活动,生成对所述块的所述像素活动的估计。
4.如权利要求3所述的系统,其中所述控制逻辑还被配置成:如果所述成本大于或等于所述第二阈值,则独立于所述先前计算的像素活动来计算所述块的所述像素活动。
5.如权利要求1所述的系统,其中所述控制逻辑被配置成基于所述估计来对所述新视频帧进行分类,并且其中所述块级像素活动表示梯度、共现矩阵或任何其它度量,其中在相对于第一像素值定义的相对位移处对所述第一像素值和第二像素值进行的数学运算的结果汇总于所述新视频帧的块上。
6.如权利要求1所述的系统,其中所述先前计算的块级像素活动处于第一粒度,并且其中所述编码器被配置成以第二粒度生成对所述新视频帧的块级像素活动的估计,其中所述第一粒度是比所述第二粒度更精细的粒度。
7.如权利要求6所述的系统,其中所述编码器被配置成通过对来自所述参考视频帧的多个块的像素活动进行求和来生成对所述新视频帧的每个块的所述块级像素活动的累积估计。
8.一种方法,其包括:
通过服务器接收视频流的新视频帧;以及
通过控制逻辑基于以下项生成对所述视频流的新视频帧的块级像素活动的估计:
所述新视频帧的运动估计数据;以及
来自参考视频帧的先前计算的块级像素活动;以及
通过编码器基于所述估计生成编码的视频帧,其中所述编码的视频帧表示所述新视频帧。
9.如权利要求8所述的方法,还包括:
将所述新视频帧的所述块相对于所述参考视频帧的相应块的成本与第一阈值进行比较;以及
生成对所述块的像素活动的估计,其中如果所述成本小于所述第一阈值,则所述估计等于所述参考视频帧中相应块的先前计算的像素活动。
10.如权利要求9所述的方法,还包括:
将所述块的所述成本与第二阈值进行比较;
响应于确定所述成本大于或等于所述第一阈值且小于所述第二阈值:
使用传递函数将所述成本映射到校正因子;以及
通过将所述校正因子应用于所述参考视频帧中所述相应块的所述先前计算的像素活动,生成对所述块的所述像素活动的估计。
11.如权利要求10所述的方法,还包括:如果所述成本大于或等于所述第二阈值,则独立于所述先前计算的像素活动来计算所述块的所述像素活动。
12.如权利要求8所述的方法,还包括基于所述估计来对所述新视频帧进行分类,并且其中所述块级像素活动表示梯度、共现矩阵或任何其它度量,其中在相对于第一像素值定义的相对位移处对所述第一像素值和第二像素值进行的数学运算的结果汇总于所述新视频帧的块上。
13.如权利要求8所述的方法,其中所述先前计算的块级像素活动处于第一粒度,并且其中所述方法还包括以第二粒度生成对所述新视频帧的块级像素活动的估计,其中所述第一粒度是比所述第二粒度更精细的粒度。
14.如权利要求13所述的方法,还包括通过对来自所述参考视频帧的多个块的像素活动进行求和来生成对所述新视频帧的每个块的所述块级像素活动的累积估计。
15.一种设备,其包括:
存储器;
耦合至所述存储器的编码器;以及
耦合至所述编码器的控制逻辑,其中所述控制逻辑被配置成基于以下项生成对所述新视频帧的块级像素活动的估计:
所述新视频帧的运动估计数据;以及
来自存储在所述存储器中的参考视频帧的先前计算的块级像素活动;
其中所述编码器被配置成基于所述估计生成编码的视频帧,其中所述编码的视频帧表示所述新视频帧。
16.如权利要求15所述的设备,其中对于所述新视频帧的每个块,所述控制逻辑被配置成:
将所述新视频帧的所述块相对于所述参考视频帧的相应块的成本与第一阈值进行比较;以及
生成对所述块的像素活动的估计,其中如果所述成本小于所述第一阈值,则所述估计等于所述参考视频帧中相应块的先前计算的像素活动。
17.如权利要求16所述的设备,其中对于所述新视频帧的每个块,所述控制逻辑还被配置成:
将所述块的所述成本与第二阈值进行比较;
响应于确定所述成本大于或等于所述第一阈值且小于所述第二阈值:
使用传递函数将所述成本映射到校正因子;以及
通过将所述校正因子应用于所述参考视频帧中所述相应块的所述先前计算的像素活动,生成对所述块的所述像素活动的估计。
18.如权利要求17所述的设备,其中所述控制逻辑还被配置成:如果所述成本大于或等于所述第二阈值,则独立于所述先前计算的像素活动来计算所述块的所述像素活动。
19.如权利要求15所述的设备,其中所述控制逻辑被配置成基于所述估计来对所述新视频帧进行分类,并且其中所述块级像素活动表示梯度、共现矩阵或任何其它度量,其中在相对于第一像素值定义的相对位移处对所述第一像素值和第二像素值进行的数学运算的结果汇总于所述新视频帧的块上。
20.如权利要求15所述的设备,其中所述先前计算的块级像素活动处于第一粒度,并且其中编码器被配置成以第二粒度生成对所述新视频帧的块级像素活动的估计,其中所述第一粒度是比所述第二粒度更精细的粒度。
CN201980059492.2A 2018-09-28 2019-09-19 利用运动矢量进行空间块级像素活动提取优化 Pending CN112673631A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/147,172 US10992938B2 (en) 2018-09-28 2018-09-28 Spatial block-level pixel activity extraction optimization leveraging motion vectors
US16/147,172 2018-09-28
PCT/IB2019/057945 WO2020065468A1 (en) 2018-09-28 2019-09-19 Spatial block-level pixel activity extraction optimization leveraging motion vectors

Publications (1)

Publication Number Publication Date
CN112673631A true CN112673631A (zh) 2021-04-16

Family

ID=69946245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980059492.2A Pending CN112673631A (zh) 2018-09-28 2019-09-19 利用运动矢量进行空间块级像素活动提取优化

Country Status (6)

Country Link
US (2) US10992938B2 (zh)
EP (1) EP3857887A4 (zh)
JP (2) JP7087195B2 (zh)
KR (1) KR20210057167A (zh)
CN (1) CN112673631A (zh)
WO (1) WO2020065468A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468627B1 (en) * 2019-11-08 2022-10-11 Apple Inc. View dependent content updated rates

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130202036A1 (en) * 2009-03-31 2013-08-08 Texas Instruments Incorporated Intra/Inter Mode Decision for Predictive Frame Encoding
KR20140085300A (ko) * 2012-12-26 2014-07-07 삼성전자주식회사 프레임간 인터 예측에서 로컬 조도 불일치의 적응적 보상을 기초로 다시점 비디오 시퀀스를 인코딩/디코딩하는 방법
US20140334547A1 (en) * 2013-05-13 2014-11-13 Snell Limited Refining motion vectors in video motion estimation
US20140376624A1 (en) * 2013-06-25 2014-12-25 Vixs Systems Inc. Scene change detection using sum of variance and estimated picture encoding cost
US20150055706A1 (en) * 2013-08-23 2015-02-26 Google Inc. Video coding using reference motion vectors
US20150256850A1 (en) * 2014-03-10 2015-09-10 Euclid Discoveries, Llc Continuous Block Tracking For Temporal Prediction In Video Encoding
CN106688232A (zh) * 2014-09-11 2017-05-17 欧几里得发现有限责任公司 基于模型的视频编码的感知优化
US20170339390A1 (en) * 2016-05-20 2017-11-23 Gopro, Inc. On-camera image processing based on image activity data
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
US20180109804A1 (en) * 2016-10-13 2018-04-19 Ati Technologies Ulc Determining variance of a block of an image based on a motion vector for the block

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050047504A1 (en) * 2003-09-03 2005-03-03 Sung Chih-Ta Star Data stream encoding method and apparatus for digital video compression
KR100621005B1 (ko) * 2003-12-24 2006-09-08 엘지전자 주식회사 영상 오류 복구장치 및 방법
JP5318561B2 (ja) * 2005-03-10 2013-10-16 クゥアルコム・インコーポレイテッド マルチメディア処理のためのコンテンツ分類
US8644386B2 (en) * 2005-09-22 2014-02-04 Samsung Electronics Co., Ltd. Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method
US8477848B1 (en) * 2008-04-22 2013-07-02 Marvell International Ltd. Picture rate conversion system architecture
US9071842B2 (en) * 2012-04-19 2015-06-30 Vixs Systems Inc. Detection of video feature based on variance metric
WO2014137175A1 (ko) * 2013-03-06 2014-09-12 삼성전자 주식회사 선택적인 노이즈제거 필터링을 이용한 스케일러블 비디오 부호화 방법 및 그 장치, 선택적인 노이즈제거 필터링을 이용한 스케일러블 비디오 복호화 방법 및 그 장치
US9998750B2 (en) * 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
JP5719410B2 (ja) 2013-07-25 2015-05-20 日本電信電話株式会社 画像符号化方法、画像符号化装置及び画像符号化プログラム
US10091507B2 (en) * 2014-03-10 2018-10-02 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
US10097851B2 (en) * 2014-03-10 2018-10-09 Euclid Discoveries, Llc Perceptual optimization for model-based video encoding
JP7027044B2 (ja) * 2017-04-27 2022-03-01 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
US10904552B2 (en) * 2018-02-15 2021-01-26 Intel Corporation Partitioning and coding mode selection for video encoding

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130202036A1 (en) * 2009-03-31 2013-08-08 Texas Instruments Incorporated Intra/Inter Mode Decision for Predictive Frame Encoding
KR20140085300A (ko) * 2012-12-26 2014-07-07 삼성전자주식회사 프레임간 인터 예측에서 로컬 조도 불일치의 적응적 보상을 기초로 다시점 비디오 시퀀스를 인코딩/디코딩하는 방법
US20140334547A1 (en) * 2013-05-13 2014-11-13 Snell Limited Refining motion vectors in video motion estimation
US20140376624A1 (en) * 2013-06-25 2014-12-25 Vixs Systems Inc. Scene change detection using sum of variance and estimated picture encoding cost
US20150055706A1 (en) * 2013-08-23 2015-02-26 Google Inc. Video coding using reference motion vectors
US20150256850A1 (en) * 2014-03-10 2015-09-10 Euclid Discoveries, Llc Continuous Block Tracking For Temporal Prediction In Video Encoding
CN106688232A (zh) * 2014-09-11 2017-05-17 欧几里得发现有限责任公司 基于模型的视频编码的感知优化
US20170339390A1 (en) * 2016-05-20 2017-11-23 Gopro, Inc. On-camera image processing based on image activity data
US20170339389A1 (en) * 2016-05-20 2017-11-23 Gopro, Inc. On-camera image processing based on image luminance data
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
US20180109804A1 (en) * 2016-10-13 2018-04-19 Ati Technologies Ulc Determining variance of a block of an image based on a motion vector for the block

Also Published As

Publication number Publication date
WO2020065468A1 (en) 2020-04-02
JP7311680B2 (ja) 2023-07-19
US20200107024A1 (en) 2020-04-02
KR20210057167A (ko) 2021-05-20
EP3857887A4 (en) 2022-07-06
EP3857887A1 (en) 2021-08-04
US10992938B2 (en) 2021-04-27
JP7087195B2 (ja) 2022-06-20
JP2022120054A (ja) 2022-08-17
JP2022501893A (ja) 2022-01-06
US20210243450A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
CN110741640B (zh) 用于视频代码化中的运动补偿预测的光流估计
CN110249628B (zh) 用于预测分区的视频编码器和解码器
JP6232076B2 (ja) 映像符号化方法、映像復号方法、映像符号化装置、映像復号装置、映像符号化プログラム及び映像復号プログラム
KR20120000485A (ko) 예측 모드를 이용한 깊이 영상 부호화 장치 및 방법
KR20160067032A (ko) 프레임들의 시퀀스를 비디오 인코딩하기 위한 방법 및 인코더
US10542277B2 (en) Video encoding
JP7311680B2 (ja) 動きベクトルを活用した空間ブロックレベルのピクセルアクティビティ抽出の最適化
JP6232075B2 (ja) 映像符号化装置及び方法、映像復号装置及び方法、及び、それらのプログラム
CN105612748A (zh) 活动图像编码方法、活动图像解码方法、活动图像编码装置、活动图像解码装置、活动图像编码程序、以及活动图像解码程序
US10979704B2 (en) Methods and apparatus for optical blur modeling for improved video encoding
Hojati et al. Error concealment with parallelogram partitioning of the lost area
WO2019191717A1 (en) Template refined bi-prediction for video coding
JPWO2012121211A1 (ja) 量子化制御装置及び方法、及び量子化制御プログラム
US11234004B2 (en) Block type prediction leveraging block-based pixel activities
US10075691B2 (en) Multiview video coding method using non-referenced view video group
US11831900B2 (en) Video encoding/decoding using detected pattern of pixel intensity differences
US20170019683A1 (en) Video encoding apparatus and method and video decoding apparatus and method
US11089308B1 (en) Removing blocking artifacts in video encoders
KR101074919B1 (ko) 분산 비디오 부호화 영상의 복호화 장치 및 그 방법
CN115499647A (zh) 多变换核选择方法、编码解码方法、电子设备及存储介质
EP3024236A1 (en) Method and device for transmission of a video
CN116320443A (zh) 视频图像处理方法、装置、计算机设备和存储介质
Zhang Distortion Estimation and Graph-based Transform for Visual Communications
JP2014179918A (ja) 動画像符号化装置、その制御方法、及び撮像装置
US20170064322A1 (en) Video Coding Apparatus

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