CN101855911A - 处理视频信息 - Google Patents

处理视频信息 Download PDF

Info

Publication number
CN101855911A
CN101855911A CN200880115862.1A CN200880115862A CN101855911A CN 101855911 A CN101855911 A CN 101855911A CN 200880115862 A CN200880115862 A CN 200880115862A CN 101855911 A CN101855911 A CN 101855911A
Authority
CN
China
Prior art keywords
frame
scene
classification
video information
coding
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
CN200880115862.1A
Other languages
English (en)
Other versions
CN101855911B (zh
Inventor
A·莱昂塔瑞斯
A·多拉佩斯
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Dolby Laboratories Licensing Corp
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 Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Priority to CN201310046871.2A priority Critical patent/CN103124354B/zh
Publication of CN101855911A publication Critical patent/CN101855911A/zh
Application granted granted Critical
Publication of CN101855911B publication Critical patent/CN101855911B/zh
Expired - Fee Related 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/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/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/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/142Detection of scene cut or scene change
    • 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
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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/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

Landscapes

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

Abstract

描述了用于处理视频信息的系统、方法和技术。在一个实现中,方法包括接收视频信息;将接收的视频信息中的一个或更多个帧分类为场景;基于帧的分类调整一个或更多个编码参数;和根据调整的编码参数将视频信息编码。

Description

处理视频信息
相关申请的交叉引用
本申请要求2007年9月28日提交的、申请号为60/976241发明名称为“TREATING VIDEO INFORMATION”的美国临时申请的优先权,其内容通过引用被并入。
技术领域
本发明涉及视频信息的处理。
背景技术
视频信息代表动态视觉影像。一般地,通过使用依次向观察者呈现的静止图像(例如,帧、图片和场图片(交错)等)的集合表现视觉影像。连续的呈现可代表诸如电视屏幕、电影屏幕、计算机监视器等的显示装置上的动态视场。
发明内容
以下的段落给出用于提供本发明的示例性实施例的一些方面的基本理解的简单的概要。应当注意,该概要不是示例性实施例的各方面的广泛的综述。并且,应当注意,该概要意图不在于被理解为识别任何特别明显的方面或要素,不是特别地描绘示例性实施例的任何范围,也不是一般描绘本发明的任何范围。以下的概要仅以精简的形式给出涉及示例性实施例的一些概念。该概要因此应被理解为仅是以下的示例性实施例中的一个的更详细的描述的概念性的序言。
描述用于处理视频信息的系统和技术。在一个实现中,一种方法包括:接收视频信息;将接收的视频信息中的一个或更多个帧分类为场景;基于帧的分类调整一个或更多个编码参数;和根据调整的编码参数将视频信息编码。
该方面和其它方向包括以下的特征中的一个或更多个。可以将帧分类为照相机变焦场景或褪变(fade)场景中的一个或更多个。例如,可以将帧分类为交叉褪变场景或闪光(flash)场景。可以通过识别闪光场景前面的帧和闪光场景随后的帧之间的低预测误差将帧分类为闪光场景。调整一个或更多个编码参数可包含规定将某些帧编码为内部编码帧。
将一个或更多个帧分类可包含识别场景的开始帧和结束帧中的至少一个。调整一个或更多个编码参数可包含规定将开始帧和结束帧中的至少一个编码为内部编码帧,和/或参照开始帧和结束帧中的至少一个规定场景中的内部帧被编码。
在另一方面中,一种方法包括:接收视频信息;对于视频信息执行运动估计和补偿以产生运动估计和补偿参数的集合;和基于运动估计和补偿参数将视频信息中的一个或更多个帧分类为场景。
该方面和其它的方面可包含以下的特征中的一个或更多个。可基于代表性的运动估计和补偿参数的分量将一个或更多个帧分类为摇摄场景。
将一个或更多个帧分类可包含:识别两个或更多个帧中的块的运动矢量;确定块的运动矢量的大小相对较小;确定布置的块的运动矢量在方向上相关并且在相继的帧上是连续的;和将两个或更多个帧分类为照相机变焦场景。
将一个或更多个帧分类为场景可包含:将当前帧的预测误差度量与阈值相比较;和基于超过阈值的当前帧的预测误差度量识别场景变化。例如,将当前帧的预测误差度量与阈值相比较可通过:将当前帧的预测误差度量与涉及相对大量的帧上的预测误差度量的长期阈值相比较;和将当前帧的预测误差度量与涉及相对少量的帧上的预测误差度量的短期阈值相比较。将当前帧的预测误差度量与阈值相比较可包含将当前帧和相邻帧的预测误差度量的差值与阈值相比较。
可基于视频编码模块对于运动模型的支持的缺失改变用于将帧编码的位速率。改变运动估计和补偿参数可包含排除某些帧用作基准帧、改变最终预测帧中的初步预测帧的权重和/或将附加的计算资源分配给预测运动估计。
该方法还可包括:基于场景分类调整一个或更多个编码参数;和根据调整的编码参数将场景中的帧编码。例如,可以规定将某些帧编码为内部编码帧。作为另一例子,可以增加用于将场景编码的位分配。
在另一方面中,一种方法包括:接收视频信息;将接收的视频信息中的一个或更多个帧中的区域分类;基于区域的分类调整一个或更多个编码参数;和根据调整的编码参数将区域编码。该区域比出现该区域的帧小。
该方面和其它的方面包括以下的特征中的一个或更多个。
可通过增加用于将区域编码的位分配和/或减少区域的过滤调整一个或更多个编码参数。可以将区域分类为暗区域,并且,可以增加用于将暗区域编码的位分配。
在另一方面中,一种方法包括:接收视频信息;识别接收的视频信息中的场景变化;基于具有加权预测的预测误差和没有加权预测的预测误差之间的差异将场景分类;和使得场景的分类可用。
在另一方面中,一种方法包括:接收视频信息;识别接收的视频信息中的场景变化;基于场景变化的位置将场景分类;和使得场景的分类可用。
该方面和其它的方面可包含以下的特征中的一个或更多个。可通过使用场景的分类制作视频信息的指纹。可基于场景的分类调整在将视频信息编码中使用的编码参数。可基于来自编码模块的反馈将场景分类。
识别场景变化可包含:识别褪变场景;和将褪变场景结尾处的帧分类为场景变化。识别场景变化还可包含基于来自当前帧前面的基准帧的加权预测参数和来自当前帧随后的基准帧的加权预测参数检测褪变场景。识别场景变化还可包含:识别当前场景包含闪光;和基于当前场景包含闪光的识别排除当前场景被识别为场景变化。
在另一方面中,一种方法可包括:接收视频信息的一系列的帧中的亮度的表征;基于亮度的表征将一系列的帧中的一个或更多个帧分类为场景;和使得一个或更多个场景分类可用。
该方面和其它的方面可包含以下的特征中的一个或更多个。可基于一个或更多个帧之间的亮度的变化量将一个或更多个帧分类为快速褪变和慢速褪变。该方法还可包括基于场景分类调整一个或更多个编码参数和根据调整的编码参数将视频信息编码。该方法还可包括将一个或更多个帧分类为暗场景,并且,将视频信息编码包含对于基于的暗场景增加位分配。
在另一方面中,一种方法包括:接收视频信息的一系列的帧;确定系列中的帧中的每一个的主导运动矢量;和基于系列中的帧的主导运动矢量识别场景变化。
该方面和其它的方面可包含以下的特征中的一个或更多个。可通过形成体现运动矢量出现的频率的多维运动矢量直方图并基于运动矢量在直方图中出现的频率选择主导运动矢量确定主导运动矢量。
在另一方面中,一种方法包括:接收视频信息的一系列的帧中的亮度的表征;基于亮度的表征,将系列中的帧中的一个或更多个识别为包含闪光;和排除包含闪光的帧用作运动补偿基准帧。
在另一方面中,一种系统包括:产生表征视频信息的集合中的运动的参数的集合的运动估计和运动预测模块;和至少部分基于表征视频信息的集合中的运动的参数的集合将视频信息的集合中的一个或更多个场景分类的决定模块。
该方面和其它的方面可包含以下的特征中的一个或更多个。系统还可包括产生表征视频信息的集合中的亮度的参数的集合的亮度模块。决定模块可至少部分基于表征视频信息的集合中的亮度的参数将一个或更多个场景分类。系统还可包括产生表征视频信息的集合中的质地(texture)和边缘效果的参数的集合的空间分析模块。决定模块可至少部分基于表征视频信息的集合中的质地和边缘效果的参数将一个或更多个场景分类。系统还可包括将反馈从决定模块运送到运动估计运动预测模块的数据路径。
系统还可包括至少部分基于一个或更多个场景的分类产生视频信息的集合的视频指纹的视频指纹化模块和/或至少部分基于一个或更多个场景的分类产生编码视频信息的编码模块。系统还可包括将反馈从编码模块运送到运动估计运动预测模块的数据路径。
术语“算法”可指的是步骤、方法、工艺、方案、过程、操作、程序、指南、技术、次序和/或一组指令规则。例如,算法可以是用于硬件和/或软件视频处理器的一组视频处理指令。可通过一个或更多个计算设备和/或机器(例如,在没有人交互作用的情况下)存储、产生和处理这些算法。公开的算法可与视频有关,并且,可在视频相关的系统和/或用于在任意的组合中对于视频数据进行处理、压缩、存储、传送、接收、测试、校准、显示和/或任意的改善的任何装置、机器、硬件和/或制造物品中产生、实现、关联和/或使用这些公开的算法。这些算法和技术不限于特定的编码标准,而是可以在编码标准之外或除了编码标准以外被使用。并且,可以在视频编码系统中在编码方案之间调查编码依赖性以提高编码性能。
术语“图像特征”可指的是场内的一个或更多个图片元素(例如,一个或更多个像素)。术语“源场”可指的是可从中确定或得到涉及图像特征的信息的场。术语“中间场”可指的是可在时间上跟随或引导可参照源场描述涉及图像特征的信息的视频序列中的源场的场。术语“不均衡(disparity)估计”可指的是用于计算运动矢量或其它的参数值的技术,通过该技术,可有效预测、模型化或描述例如视频序列的两个或更多个场之间的运动、或者图像、图像的区域、块或像素与预测信号之间的其它差异。不均匀估计的例子可以是运动估计。术语“不均衡估算”可指的是运动矢量或另一估计的与参数预测相关的值。术语“不均衡补偿”可指的是可以使用运动估计或另一参数以计算源场中的图像特征的位置的空间偏移的技术,以描述视频序列的一个或更多个中间场中的图像特征的运动或一些参数。不均衡补偿的例子可以是运动补偿。可以结合其它的视频编码概念使用以上的术语(例如,内预测和照度补偿)。
也可在具有一个或更多个部件的系统、装置或设备、机器、计算机程序产品中、在软件中、在硬件中或在它们的任何组合中实现这里描述的方法和技术中的任一个。例如,计算机程序产品可被有形地编码到计算机可读介质上,并且可包含导致数据处理装置(例如,数据处理器)执行这里描述的方法中的任一个的一个或更多个操作的指令。
在以下的附图和描述中阐述一个或更多个实现的细节。从描述和附图以及从权利要求,其它的特征和优点将变得清晰。
附图说明
图1是视频表征系统的例子的示意图。
图2是运动估计和运动补偿(MEMC)构架模块的例子的示意图。
图3和图4示意性表示误差预测模块的误差预测的例子。
图5是视频表征系统的例子的示意图。
图6是涉及8×8离散余弦变换的频率内容的基本矢量的例子的图示。
图7是视频表征系统的例子的示意图。
图8是视频表征系统的例子的示意图。
图9示意性表示可用于产生场景分类的缓冲器的实现的例子。
图10是用于产生场景分类的过程的例子的流程图。
图11、图12、图13是用于识别场景变化的过程的例子的流程图。
图14是用于将褪变(fade)场景分类的过程的例子的流程图。
图15是用于识别淡入转变(fade-in transition)的结束的过程的例子的流程图。
图16是用于将照相机摇摄场景分类的过程的例子的流程图。
图17、图18是用于识别照相机变焦场景的过程的例子的流程图。
图19示意性表示使用两个或更多个先前帧或两个或更多个随后帧作为预测基准的例子。
图20是视频指纹化系统的例子的示意图。
图21是用于视频指纹化的过程的例子的流程图。
图22是视频编码系统的例子的示意图。
图23~32是视频编码的示例性过程的流程图。
图33是视频编码系统的例子的示意图。
图34~40是视频编码的示例性过程的流程图。
图41是速率控制的示例性过程的流程图。
图42是系统的例子。
各附图中的类似的附图标记表示类似的要素。
具体实施方式
图1是视频表征系统100的示意图。视频表征系统100包含运动估计和运动补偿构架(MEMC)模块105和决定模块110。视频表征系统100接收视频信息115并且产生场景分类125。如以下进一步讨论的那样,场景是共享特性的一系列的帧、图片和场图片。图片可以是连续的或交错的(场模式)。在该公开中,术语“帧”和“图片”可被交换地用于指帧、图片和/或场图片。如下面进一步讨论的那样,场景分类125可被用于诸如视频指纹化和视频编码的活动。
MEMC模块105是产生表征视频信息的帧的信息120的视频信息处理器件。MEMC模块105可根据一组机器可读指令的逻辑处理视频信息。机器可读指令可被有形地体现于硬件和/或软件中。例如,MEMC模块105可包含根据运动估计和运动补偿软件的逻辑动作的计算机。
运动补偿基于关于一些基准帧的帧中的一个或更多个块的运动表征一组视频信息中的帧。运动估计是代表用于表征帧的这种运动的过程。运动估计可包含先前或将来帧的分析以通过使用例如运动矢量识别改变(或不改变)位置的块与任何位置变化的表现。块可包含整个帧(例如,全局运动补偿)和/或帧的离散区域。块的尺寸也可以是可见的(例如,可变块尺寸运动补偿)。块的形状可以是任意的(例如,基于网的运动补偿)。
可通过MEMC模块105输出各种信息120。例如,可通过MEMC模块105输出块的描述和块的任何位置变化的表现(例如,运动矢量)。在一些实现中,运动补偿块的预测像素值和实际像素值之间的误差的量化也可被输出。这种预测误差可被表达为例如均方误差(MSE)、总绝对差(SAD)、总方误差(SSE)、总绝对变换差(SATD)、明可夫斯基范数(Minkowski norm)和/或平均绝对差(MAD)。
决定模块110是产生场景分类125的数据处理器件。决定模块110可根据一组机器可读指令的逻辑处理诸如帧表征信息的处理,以产生场景分类125。机器可读指令可有形地体现于硬件和/或软件中。例如,决定模块110可包含根据运动估计和运动补偿软件的逻辑动作的计算机。
如上面讨论的那样,场景是共享特性的一系列的帧。可基于在一系列的帧中出现的特性运动将场景分类。在一些实现中,可在系列中基于对于照相机的调整将一系列的帧中的运动分类。这种场景分类的例子包含照相机摇摄场景、变焦拉入(zoom-in)场景和变焦推出(zoom-out)场景。以下提供关于这些和其它场景的分类的其它的细节。
由决定模块110输出的场景分类125可包含场景类的识别以及一个或更多个场景的开始和/或结束时间的描述。在一些实现中,也可提供关于分类的场景的其它细节,诸如在照相机摇摄场景中摇动照相机的速率、变焦推出场景中的倍率变化的估计等。
图2是MEMC模块105的一个实现的示意图。MEMC模块105的代表的实现包含双预测运动估计模块205的集合、单一预测运动估计模块210的集合、双预测运动补偿模块215的集合、单一预测运动补偿模块220的集合、缓冲器225的集合、乘法器230的集合、加法器235和误差预测模块240。
双预测运动估计模块205代表当前帧中的一个或更多个块从多个(例如,两个)基准帧的运动。在示出的实现中,一个基准帧在当前帧前面(例如,帧-1、-M),并且,一个基准帧在当前帧后面(例如帧+1、+M)。各双预测运动估计模块205中的下标由此表示基准帧和当前帧的相对定位。双预测运动估计模块205可通过使用包括加权预测、平移、仿射或抛物线运动模型和重叠块运动估计技术的各种不同的估计技术中的任一种动作。
单一预测运动估计模块210代表当前帧中的一个或更多个块从单一基准帧的运动。在示出的实现中,基准帧在当前帧前面(例如,帧-1、-M、-N)或后面(例如,帧+1、+M、+N)。各单一预测运动估计模块210中的下标由此表示基准帧和当前帧的相对定位。单一预测运动估计模块210可通过使用包括加权预测、平移、仿射或抛物线运动模型和重叠块运动估计技术的各种不同的估计技术中的任一种动作。
双预测运动补偿模块215分别通过使用从各双预测运动估计模块205接收的运动矢量执行双预测运动补偿。特别地,在以下的式1中表示的集合Bn包含两个基准帧-一个在当前帧前面,一个在当前帧后面。
p ~ n ( i , j ) = Σ ∀ k ∈ B n ( α k × p k ( i + v x , k , j + v y , k ) ) + o 式1
这里,
Figure GPA00001137521200092
表示位置(i,j)上的帧n的当前像素的预测。集合Bn包含帧n的所有可用基准帧的指数。假定仅平移模型,通过使用像素pk(i+vx,k,j+vy,k)从可用基准k产生各预测。术语(vx,k,vy,k)表示帧k到位置(i,j)的位移,并且,可以取分数(fractional)值。术语ak分别与基准k的加权因子对应。参数αk和o被统称为照度变化或加权参数,并且分别表示反映场景内的照度变化的加权因子和偏移。在一些实现中,照度变化参数不被表征,并且,o=0并且
Figure GPA00001137521200093
而αk=ai
Figure GPA00001137521200094
Figure GPA00001137521200095
单一预测运动补偿模块220分别通过使用从各单一预测运动估计模块210接收的运动矢量执行单一预测运动补偿。特别地,在式1中表示的集合Bn包含单一基准帧。
缓冲器225是包含先前和将来的空间和时间过滤帧的临时数据存储器。各乘法器230将双预测运动补偿模块215和单一预测运动补偿模块220的初步预测帧输出乘以权重w。加权的预测表征被加法器235组合以产生最终预测帧238。最终预测帧238被提供给误差预测模块240。误差预测模块240被配置为提供预测误差度量。在一些实现中,为了使由误差预测模块240(未示出)提供的预测误差最小化,通过来自误差预测模块240的反馈调整权重w。
在动作中,基于一个或更多个基准帧在双预测运动估计模块205和单一预测运动估计模块210中估计各输入帧中的运动,以产生输入帧的运动补偿预测。特别地,输入帧被分为像素的重叠或非重叠块。这种块一般是矩形的,并且可具有任意的尺寸。例如,块的尺寸可以是16×16像素或8×8像素。在一些实现中,输入帧基于输入帧中的图像的特性和对象被分成变化和/或任意的尺寸和形状的区域。
当前输入帧n中的块可以与从一个或更多个基准帧产生的一个或更多个预测块匹配。双预测运动估计模块205和单一预测运动估计模块210可基于当前输入帧n中的块和预测块的相对位置确定运动参数。
一般地,可以从不同的帧k内的块,即,
Figure GPA00001137521200101
预测帧m内的块bn m。在一系列的帧内,帧k可以在帧m前面或后面。多个基准帧,即基准缓冲器Bm内的所有帧可被用于产生bn m的最终预测作为
Figure GPA00001137521200102
该预测过程与式1中的帧预测类似。所有预测块可被组合,以形成接近帧m的运动补偿帧。作为替代方案,可通过仅使用来自从基准帧k的预测产生多个运动补偿预测帧。在任何情况下,这些初步预测帧可被组合以产生最终预测帧238。
在一些实现中,通过组合来自不同的基准帧的组的块产生多个初步预测帧。初步预测帧然后可被组合以产生最终预测帧238。例如,可通过使用基准帧k1~ko的组产生第一初步预测帧,可通过使用基准帧ko~ks的组产生第二最终预测帧,等等。这些初步预测帧可被线性或非线性组合以产生单一的初步预测帧。在一些实现中,一个或更多个基准帧可在多组的基准帧中出现,并且被用于产生多个初步预测帧。在一些实现中,在双预测运动估计模块205和/或单一预测运动估计模块210中使用的运动模型中的一个或更多个可以是仿射和/或平移运动模型。在一些实现中,它们中的一个或更多个可考虑模型化运动中的照度变化。并且,请注意各双预测运动估计模块205和各单一预测运动估计模块210可使用不同的运动模型。
图3和图4示意性表示通过诸如误差预测模块240的误差预测模块的平均绝对差(MAD)误差预测度量的计算300、400的不同的例子。可对于包含MEMC模块105的一个或更多个MEMC模块确定MAD误差预测度量计算300、400。
特别地,图3示意性地表示使用单一先前基准帧305的误差MAD计算。当前帧310和前基准帧305被输入到运动估计模块315中。运动估计模块315通过使用被提供到运动补偿模块325的一组运动矢量320表示一个或更多个块的运动。运动补偿模块325对于前基准帧305中的一个或更多个块应用运动矢量320以产生预测帧330。预测帧330是基于运动矢量320和前基准帧305的当前帧310所示的图像的表征。误差预测模块240确定预测帧330和当前帧310之间的差值,并且将其表达为平均绝对差。
图4示意性地表示使用多个随后基准帧405、410的误差MAD计算。当前帧310、第一随后基准帧405和第二随后基准帧410被输入到运动估计模块415中。运动估计模块415通过使用被提供到运动补偿模块425的一组运动矢量420表示一个或更多个块的运动。运动补偿模块425对于第一和第二随后基准帧405、410中的块应用运动矢量420以产生预测帧430。预测帧430是基于运动矢量420和第一和第二随后基准帧405、410的当前帧310所示的图像的表征。误差预测模块240确定预测帧430和当前帧310之间的差值,并且将其表达为平均绝对差。
在其它的实现中,可直接从通过运动估计模块输出的一个或更多个块的运动的表示(例如,一组运动矢量)计算诸如MAD、SAD或SSE等的误差预测。换句话说,未必执行运动补偿。
在一些实现中,MEMC构架模块105可产生表征视频信息115中的帧的各种信息120。MEMC构架模块105不需要产生这里描述的每种类型的信息120。而是,可以产生结果有效的子集。表征帧n的信息120的例子包含但不限于:
1.帧n中的块m和基准帧k中的块m的运动补偿预测之间的差值。帧k可以是先前的帧n-N或随后的帧n+N。在一些实现中,差值可包含亮度(luma)成分、颜色(色度)成分和/或运动矢量成本(cost)。运动矢量成本可被定义为当前块的运动(或运动矢量)与其邻居中的块的运动的差异的度量。
2.帧n中的块m和帧k、l、m等的线性或非线性加权组合中的块m的运动补偿预测之间的差值,这里,k、l和m在n-N和n+N之间。
3.帧n中的块m和最终预测帧中的块m的运动补偿预测之间的差值。在一些实现中,最终预测帧中的块m的预测可以是来自不同的基准帧的多个预测假设的组合和/或解块(de-blocking)的结果。
4.描述一个或更多个各基准帧中的一个或更多个块m的运动的运动矢量。可通过使用包括例如平移运动模型、仿射运动模型和抛物线运动模型等的任意的或大量的不同的运动模型确定这些运动矢量。
5.被施加到初步预测帧的权重和偏移。
6.量化诸如不同的块和帧的预测误差的平均和变化的预测误差的参数。
7.整个帧的平均全局运动矢量或帧中的大多数“主导(dominant)”区域的一组代表性的运动矢量。
8.可通过使用多维运动矢量直方图获得的整个帧的大多数的主导运动矢量。主导运动矢量可被表示为这种直方图的峰值(直方图的模)以及直方图中的M-1个最大值。在一些实现中,M可等于5。
9.可通过使用施加于初步单一预测或双预测帧的权重和偏移的二维直方图确定的主导加权预测参数。
图5是视频表征系统500的示意图。除了决定模块110以外,视频表征系统500还包括空间分析模块505。视频表征系统500接收视频信息115并且基于由空间分析模块505产生的空间信息510的集合产生场景分类125。
空间分析模块505是产生表征视频信息的帧的空间信息510的视频信息处理装置。空间分析模块505可根据一组机器可读指令的逻辑处理视频信息。机器可读指令可有形地体现于硬件和/或软件中。例如,可以在根据空间分析软件的逻辑动作的计算机上实现空间分析模块505。
在可通过空间分析模块505产生的空间信息510中,存在质地信息和边缘强度信息。质地信息是表征帧中的块、帧中的区域或整个帧的视觉或触觉表面特性和外观的信息。可以关于块、区域或帧的空间频率内容表达质地信息。可通过向块、区域或帧施加频率分析变换确定空间频率。这种频率分析变换的例子包括小波变换和离散余弦变换(DCT)。还可通过使用各种过滤方法确定空间频率。例如,如果向源块施加8×8DCT变换,那么得到的DCT系数可被用于表征源块的质地内容。例如,如果所有DCT系数位置上的平均能量比预定的阈值小或者如果DCT系数仅在某些位置上为非零数,那么源块可被分类为低空间频率块。
图6是8×8离散余弦变换的基本函数的示图,并且表示各DCT系数对于8×8块的空间表现的影响(impact)。左上块605涉及作为低通系数的“DC系数”,并且表示8×8块中的像素的平均值。剩余的块涉及更高频率DCT系数(即,“AC系数”),并且,随着远离DC系数,捕获更多的水平和垂直频率。
图6由此涉及给定的频率系数对于空间域中的块的特性的影响。如果例如某值x0在DC系数中并且x1在某AC系数中,那么空间域中的最终表示会是x0*DCbasis+x1*ACbasis
可通过向帧施加一个或更多个基于梯度的边缘滤波器的边缘分析器产生边缘强度信息。示例性的边缘滤波器包含Sobel滤波器和Prewitt滤波器算子。在一些实现中,边缘分析器可向帧施加Canny边缘检测器。
例如,在包含一个或更多个像素的区域周围施加Sobel滤波器可产生该区域中的主导边缘的方向和大小。边缘的存在一般与区域中的高空间频率内容的存在相关,并且可被用于表征这种高空间频率内容。边缘的存在还可被用于编码工具的选择中。例如,边缘的存在可被用于H.264/AVC视频编码标准中的方向性内部预测模式的选择、运动估计和补偿的内部预测块类型的选择和子像素运动估计简化等中。
在一些实现中,质地信息和边缘强度信息可被加权和组合以将块、区域或帧分类为高度织构(textured)、中度织构或平滑。也可使用其它和/或更细的分类。在一些实现中,在进行这种分类时,可以使用块、区域或帧的颜色。
图7是视频表征系统700的示意图。除了决定模块110以外,视频表征系统700还包含亮度/颜色分析模块705。视频表征系统500接收视频信息115并且基于由亮度/颜色分析模块705产生的亮度/颜色信息710的集合产生场景分类125。
亮度/颜色分析模块705是产生表征视频信息的帧的亮度/颜色信息710的视频信息处理装置。亮度/颜色分析模块705可根据一组机器可读指令的逻辑处理视频信息。机器可读指令可被有形地体现于硬件和/或软件中。例如,可以在根据亮度分析软件的逻辑动作的计算机上实现亮度/颜色分析模块705。
亮度/颜色分析模块705可产生各种不同的亮度/颜色信息710。例如,在一些实现中,亮度/颜色信息710可表征块、区域或帧的色度和亮度成分的平均值的参数。可在诸如YUV和RGB颜色面的颜色面上计算这些参数。这些参数的例子可包含亮度和色度成分的局部(用于各单个块或区域)和全局(用于各单个帧)平均DC值、各块或区域的局部变化和整个源帧的全局变化。
在一些实现中,帧可基于亮度/颜色信息710被分类为:a)亮,并由此可能遮蔽由过滤或压缩导致的伪像;b)暗,并由此可能强调由过滤或压缩导致的伪像;或c)正常,并由此具有平均的亮度。在其它的实现中,可以使用帧或区域的其它和/或更细的分类。
图8是视频表征系统800的示意图。如图所示,视频表征系统800包含MEMC模块105、空间分析模块505、亮度/颜色分析模块705以及决定模块110。视频表征系统800接收视频信息115并且基于分别由模块105、505、705产生的信息120、空间信息510和亮度/颜色信息710的集合产生场景分类125。
如上面讨论的那样,决定模块110可根据一组机器可读指令的逻辑处理信息以产生场景分类125。在视频表征系统800中,决定模块110集成信息120、510、710以产生场景分类125。
图9示意性地表示可用于产生场景分类的缓冲器900的实现。例如,缓冲器900可以是由诸如决定模块110使用的系统的FIFO缓冲器。
缓冲器900包含表征帧的号码nref的信息905的集合。信息905可包含信息120、510、710中的一个或更多个(图1、图5、图7、图8)。缓冲器900还包含由信息905表征的帧的nref内的ndec.w.帧的滑动决定窗口910。滑动决定窗口910的ndec.w.帧被一起评价。滑动决定窗口910由此对于每ndec.w.帧步进(step forward)ndec.w.帧,并且,决定窗口中的场景分类从FIFO缓冲器中的nref帧的考虑受益。评价可包含场景的分类和/或滑动决定窗口910内的ndec.w.帧的复杂性的表征。
缓冲器900还包含决定偏移915(表示为“doff”)。决定偏移915跨过(span)已由缓冲器900接收、但还没有进入滑动决定窗口910的帧。因此,如果最后添加到FIFO缓冲器的帧是帧nref-1,那么决定窗口910跨过帧m-doff-ndec.w.+1~m-doff
在一些实现中,新帧以视频源的帧速率进入缓冲器900中。在其它的实现中,新帧以比视频源的帧速率低的速率进入缓冲器900中。例如,新帧可以以视频源的帧速率的一半的速率进入缓冲器900中,使得缓冲器900中的帧0、1和2与视频源中的帧0、2和4对应。在一些实现中,帧进入缓冲器900中的速率和视频源的帧速率之间的关系可改变。在一些实现中,帧可以以低的分辨率被存储在缓冲器900中(并随后被处理)以减少处理开销(overhead)。
图10是用于产生场景分类的过程1000的流程图。可以通过一个或更多个数据处理装置执行过程1000。例如,可通过使用诸如缓冲器900(图9)的数据存储装置由系统100、500、700、800(图1、图5、图7、图8)中的决定模块110执行过程1000。
执行过程1000的系统可在1005处接收表征一系列的帧的信息的集合。在一些实现中,接收的信息可包含运动估计信息、亮度/色度信息、空间信息和/或它们的混合中的一个或更多个。例如,接收的信息可包含120、510、710中的一个或更多个。可以从诸如模块105、505、705中的一个或更多个的模块接收信息。
基于接收的信息,执行过程1000的系统可在1010处识别该系列的帧内的场景变化。场景变化是第一场景的结束和第二场景的开始之间的划界(demarcation)。如上面讨论的那样,场景是共享特性的一系列的帧。在场景变化上,第一组的这些特性可过渡到第二组的这些特性。
由此可基于当前帧的一个或更多个特性与一个或更多个基准帧的一个或更多个特性之间的相关关系(correlation)识别场景变化。在一些实现中,可基于当前帧和当前帧的运动补偿预测之间的预测误差的大小确定相关性的缺少。
执行过程1000的系统可在1015处将场景分类。如以下进一步讨论的那样,可基于场景中的帧的一个或更多个特性将场景分类。
执行过程1000的系统可在1020处使得场景分类可用。场景分类可包含视频信息的集合中的场景的不同的类别的名称和其它的标识符以及用视频信息的集合描述场景的布置的信息。例如,可通过场景出现的序列和/或序列的开始和停止时间描述场景的布置。
场景变化
图11是用于识别场景变化的过程1100的流程图。可以独立地执行过程1100,或者可与其它的活动一起执行过程1100。例如,可以在1010上通过执行过程1000的系统(图10)执行过程1100。
执行过程1100的系统可在1110处接收当前帧的预测误差度量。预测误差度量可体现从一个或更多个先前或随后的基准帧的内容可多好地预测当前帧的内容。可以从作为初始帧的实际内容和该帧的预测内容之间的实际差异的预测误差确定预测误差度量。例如,预测的内容可包含一个或更多个块的运动、一个或更多个块的质地、一个或更多个块的质地的表征、一个或更多个块的照度和/或色度、一个或更多个块的照度和/或色度的表征等。例如,接收的预测误差度量可以是通过使用计算300、400(图3、图4)中的一个或更多个确定的平均绝对差MAD。作为另一例子,接收的预测误差度量可以是运动预测帧和实际帧之间的总绝对差(SAD)。
执行过程1100的系统可在1115处存储用于当前帧的预测误差度量。可以在随后的用于识别场景变化的处理中使用存储的用于当前帧的预测误差度量。例如,如下面讨论的那样,可以使用从同一先前帧对于不同的帧n、n+1计算的SAD,以例如识别包含闪光的帧。
执行过程1100的系统可在1120处确定当前帧的预测误差度量是否超过阈值。在一些实现中,阈值为一系列的帧的平均预测误差度量的两倍。在一些实现中,确定了平均预测误差度量的一系列的帧可排除不与当前帧相关的帧。例如,如以下讨论的那样,可以从平均预测误差度量的确定排除被识别为包含闪光的帧。作为另一例子,被分类为属于交叉褪变或属于具有明显不同的空间(例如,质地)特性的场景可被排除。
当从帧m中的块预测帧n中的块时,可以计算块-水平总绝对差SADm(n)的平均值(或和值)作为块-水平SAD误差的和。如果用指数i=0索引图像次序中的第一帧,那么当前帧具有指数i=k。已被先前输入的所有帧的序列的SAD的平均值由式2给出。
SAD ave = 1 k Σ l = 0 k SAD i - 1 ( i ) 式2
在一些实现中,阈值为缓冲器900(图9)中的ndec.w.帧的滑动决定窗口910中的一系列的帧中的先前帧的平均SAD的两倍。当前帧的预测误差度量超过这种阈值的确定可被表达为式3。
SADj-1(j)>2×SADave
这里,
Figure GPA00001137521200181
式3
如果当前帧的系统预测误差度量超过阈值,那么系统可在1125处将当前帧分类为场景变化。例如,可通过向视频信息的集合中的当前帧添加标记或其它标号并且/或者建立由帧号、时间和/或其它的识别特性识别场景变化帧的单独的数据结构,将当前帧分类为场景变化。可使得分类对于用户或其它的数据处理活动的集合可用。
如果执行过程1100的系统确定当前帧的预测误差度量不超过阈值,那么系统可通过块1130前进到下一帧。
执行过程1100的系统还可在1135处确定是否存在预测误差度量可用的附加的帧。例如,系统可确定是否在缓冲器900的滑动决定窗口910中存在附加的帧(图9)。如果执行过程1100的系统确定存在预测误差度量可用的附加的帧,那么执行过程1100的系统可在1140处将帧指数增大(increment)。将帧指数增大会改变当前帧,使得系统可返回1110并且接收对于(不同)当前帧的预测误差度量。
图12是用于识别场景变化的另一过程1200的流程图。可以独立地执行过程1200,或者可与其它的活动一起执行过程1200。例如,可以在1010处通过执行过程1000的系统(图10)执行过程1200。
执行过程1200的系统可在1210处接收对于当前帧的预测误差度量并且在1215处存储对于当前帧的预测误差度量。执行过程1200的系统可在1220处确定当前帧的预测误差度量是否超过短期阈值和长期阈值的加权平均。短期阈值是基于相对少量的帧的特性的阈值。长期阈值是基于相对大量的帧的特性的阈值。例如,短期阈值可基于60个先前帧的平均预测误差度量,而长期阈值可基于200个先前帧的平均预测误差度量。
在一个实现中,短期阈值和长期阈值基于的预测误差度量是运动预测帧和实际帧之间的总绝对差(SAD)。如果如下式给出的那样当前帧和先前帧的SAD的绝对差比相对大量的基准帧上的平均SAD和相对少量的基准帧上的平均SAD的加权平均大,那么帧可被分类为场景变化:
| SAD j - 1 ( j ) - SAD j - 2 ( j - 1 ) | > ( α × SAD ave long - term + β × SAD ave short - term ) 式3
式3中的条件使用同时基于短期和长期平均SAD阈值的阈值。在一些实现中,短期平均SAD阈值可基于表示缓冲器900(图9)的滑动决定窗口910中的帧的SAD信息的集合被计算并可由下式给出:
SAD ave short - term = Σ i = j - n ref + 1 j SAD j - 1 ( j ) 式4
在一些实现中,长期平均SAD阈值可以是所有先前处理的帧的SAD的平均值,并可由下式给出:
SAD ave long - term = Σ i = 0 j SAD j - 1 ( j ) 式5
在一些实现中,可以使用紧前的基准帧以外的帧。例如,可以使用SADi-1(i+1)预测误差度量或任何SADi-m(i+m)预测误差度量(这里,m≥1并且n≥1)以将不同的场景中的帧分类。如果这些预测误差度量与SAD误差相比大,这里,n≥m并且n≤0,那么帧i更可能是场景变化。
如果执行过程1200的系统确定当前帧的预测误差度量不超过短期阈值和长期阈值的加权平均,那么系统可在1225处表示在当前帧上不存在场景变化。系统可表示场景变化肯定不存在(例如,通过使标记或其它的标号与当前帧相关)或者通过省略不存在(例如,通过不向包含场景变化的帧的集合添加当前帧或通过省略用表示场景变化的标记或其它标号标记当前帧)。可使得该表示对于用户或其它的数据处理活动的集合可用。
如果执行过程1200的系统确定当前帧的预测误差度量不超过加权平均,那么系统可在1230处确定当前帧和先前帧的预测误差度量的差值是否超过预定的阈值。预测误差度量可以是运动预测帧和用于预测的基准帧之间的块-水平绝对差(SAD)之和。例如,在一些实现中,确定基于的预测误差度量的差值由下式给出:
|SADj-1(j)-SADj-2(j-1)|>Tmin
式6
在一个实现中,α=0.5,β=0.5并且Tmin=20。预测误差度量的这种差值(在式4中被表达)可检测非常低的活动内容中的错误肯定(positives)。
如果执行过程1200的系统确定当前帧和先前帧的预测误差度量的差值超过预定的阈值,那么系统可在1235处表示存在场景变化。系统可通过例如使标记或其它的标号与当前帧相关联或通过向包含场景变化的帧的集合添加当前帧表示存在场景变化。如果执行过程1200的系统确定当前帧和先前帧的预测误差度量的差值不超过预定的阈值,那么系统可在1225处表示在当前帧中不存在场景变化。在任一种情况下,可使得该表示对于用户或其它的数据处理活动的集合可用。
不管在当前帧中场景变化是被表示为存在还是不存在,执行过程1200的系统都可更新长期阈值和短期阈值以解释当前帧的特性。例如,当长期阈值和短期阈值基于一定数量的先前基准帧的平均预测误差度量时,长期阈值和短期阈值可被更新以解释当前帧的预测误差度量。
执行过程1200的系统还可在1245处确定是否存在预测误差度量可用的附加的帧。例如,系统可确定是否在缓冲器900(图9)的滑动决定窗口910中存在附加的帧。如果执行过程1200的系统确定存在预测误差度量可用的附加的帧,那么执行过程1200的系统可在1250处将帧指数增大。将帧指数增大会改变当前帧,使得系统可返回1210并且接收(不同)当前帧的预测误差度量。
在一些实现中,视频信息的附加的特性可被用于识别场景变化。例如,可以将当前帧的特性与一个或更多个阈值相比较,以识别场景变化。在一些实现中,这些阈值基于一系列的帧中的其它帧的特性。可以使用以下的特性中的一个或更多个:
1.亮度和色度分量的局部(每个块)和/或全局(每个帧)平均DC值。
2.各块的局部变化和/或整个源帧的全局变化。
3.运动补偿预测误差度量的变化。与属于不同的场景的先前帧相比,属于场景变化的帧可具有不同的预测误差变化。
4.一个或更多个主导运动矢量、平均运动矢量和基准帧的运动矢量变化的大小。一般地,运动预测不能从属于不同的场景的其它帧精确地预测帧。事实上,异常大的、空间上不相关的、空间上不一致的、时间上不相关的和时间上不一致的运动矢量可被用于识别场景变化。
5.用于基于一个或更多个基准帧中的照度预测当前帧中的照度的照度变化参数。这种照度变化参数的高易失性(volatility),特别是在小区域内,可被用于识别场景变化。
在一些实现中,执行过程1100、1200(图11、图12)中的一个或更多个的系统对于场景变化的识别可被双重检查以避免场景变化的错误肯定识别。例如,在一些实现中,如果帧i被识别为场景变化,那么可进行以下的确定:
|SADi-1(i)-SADi-2(i)|>0.25×SADi-1(i)    式7
如果来自基准帧i-1以及来自基准帧i-2的SAD预测误差度量的绝对差比来自基准帧i-1的SAD预测误差度量的四分之一大,那么该帧不需要被视为场景变化。这种双重检查可帮助防止SAD预测误差度量中的临时尖峰(例如,突然运动或物体阻塞)被错误分类为场景变化。
在一些实现中,可以执行双重检查以排除照度的迅速变化被分类为场景变化。例如,当视频信息的一个或更多个帧包含闪光时,出现这种照度的变化。在排除照度的迅速变化时,系统可评价可疑照度变化之前的一个或更多个帧和可疑照度变化之后的帧的一个或更多个预测误差度量。例如,可以评价SADi-1(i+1)预测误差度量或另一SADi-m(i+n)预测误差度量,这里,m≥1并且n≥1。如果与可适当通过一个或更多个因子加权的先前帧的SAD预测误差度量相比评价的预测误差度量相对较小,那么这可归因于照度的变化而不是场景变化。相反,如果对于增加的n,SAD预测误差度量增加,那么预测误差度量可归因于场景变化。
在一些实现中,可基于一系列的帧中的场景的识别和/或分类隐含地识别场景变化。例如,淡入和交叉褪变常常在场景变化之前出现。如以下进一步讨论的那样,可以使用淡入场景、交叉褪变场景或另一场景的检测以识别场景变化。
图13是用于识别场景变化的过程1300的流程图。可以独立地执行过程1300,或者可与其它的活动一起执行过程1300。例如,可以在1010处通过执行过程1000的系统(图10)执行过程1300。作为另一例子,如以下进一步讨论的那样,过程1300可包含过程1100、1200(图11、图12)中的一个或更多个。
执行过程1300的系统可在1305处执行过程1100、1200(图11、图12)中的一个或更多个。执行过程1300的系统可在1310处确定在1305处执行的过程是否识别当前帧为场景变化。
如果执行过程1300的系统识别在1305处执行的过程识别当前帧是场景变化,那么执行过程1300的系统可在1315处确定当前帧中的运动是否被阻塞(occluded)。当在一系列的视频信息中一个或更多个块的运动从视野消失时,出现运动阻塞。例如,当运动的块在固定的块前面或后面穿过时,或者,当具有不同的运动矢量的两个块的路径相交时,会出现运动阻塞。可例如通过检查帧内的某些区域与其它区域相比是否由明显更大的预测误差表征,识别运动阻塞。
如果执行过程1300的系统识别在1305处执行的过程不将当前帧分类为场景变化,那么执行过程1300的系统可在1320处确定是否在淡入结束时出现当前帧。褪变场景由帧与先前帧相比的平均照度的相对大的变化表征。如场景变化那样,平均照度的这些变化不是瞬时的。而是,平均照度的这些变化是逐渐的。淡入在场景开始时出现并且一般与平均照度的逐渐增加相关。淡出在场景结束时出现并且一般与平均照度的逐渐减小相关。如以下进一步讨论的那样,可通过使用过程1400(图14)识别淡入。
如果执行过程1300的系统在1320处确定在淡入结束时出现当前帧,那么系统可在1325处确定当前帧是否包含闪光或照度的其它迅速变化。可通过使用上述的双重检查方法识别诸如闪光的照度的迅速变化。
如果1)执行过程1300的系统在1325处确定当前帧不包含照度的迅速变化,或者如果2)执行过程1300的系统在1315处确定当前帧的运动不被阻塞,那么执行过程1300的系统可在1330处表明存在场景变化。系统可通过例如使标记或其它的标号与当前帧相关联或通过向包含场景变化的帧的集合添加当前帧表明存在场景变化。可使得该表明对于用户或数据处理活动的其它集合可用。
如果1)执行过程1300的系统在1320处确定在淡入结束时不出现当前帧,或者,如果2)执行过程1300的系统在1325处确定当前帧不包含照度的迅速变化,或者,如果3)执行过程1300的系统已在1330处识别存在场景变化,那么执行过程1300的系统可在1335处确定是否存在预测误差度量可用的附加的帧。例如,系统可确定是否在缓冲器900中存在附加的帧(图9)。如果执行过程1300的系统确定存在预测误差度量可用的附加的帧,那么执行过程1300的系统可在1340处将帧指数增大。将帧指数增大会改变当前帧,使得系统可返回1305。
褪变场景
如上所述,当与先前帧相比时,褪变场景由当前帧的平均照度的相对大的逐渐的变化表征。除了被分类为淡入和淡出以外,褪变场景还可被分类为向/从黑色褪变、向/从白色褪变和向/从纯色(solid color)褪变。并且,交叉褪变是从一个场景向下一场景的褪变过渡。
在时间上展开的褪变场景检测器可被用于捕获相对长持续时间褪变的慢的过渡。在一些实现中,这种检测器可处理将来的帧以捕获慢的过渡。这种处理可将延迟引入褪变场景的识别中。在一些实现中,可跨过小的图片窗口施加褪变场景检测器。滑动窗口帧缓冲器的帧决定偏移doff>1可帮助解决这种延迟。与识别褪变场景的偏移相比,加权系数会是更重要的。
一般地,褪变场景检测可包含以下方面:
-通过使用照度分量分析进行检测。对于大量的N个连续的图片,亮度分量的平均(DC)必须增加或减小。照度DC的变化必须超过阈值。如果计算DC差的绝对值,那么该检测器不能区分淡入、淡出和交叉褪变。该检测器更好地适于淡入和淡出检测。
-通过使用MEMC构架模块基于块计算的照度变化参数。照度变化参数可包含权重和偏移。可以通过加权参数的二维直方图从图片提取M个主导参数对。这种权重偏移对可然后被检查以确定它们是否满足某些褪变检测准则。在一些实现中,双预测运动估计可提高这种过渡的检测的可靠性。
可通过使用参照紧前的帧(n-1)或一些其它的先前的帧(例如,n-2)的加权预测参数实现褪变场景检测。对于随后的帧也是同样如此。例如,假定当前帧n在淡入内。通过使用过去的基准n-k获得的加权参数沿相同的预测方向一致地增加或一致地减小,这里,k≥1。对于通过使用将来的基准n+k获得的加权参数同样如此,这里,k≥1。对于淡出和交叉褪变也同样如此。特别地,对于淡入,加权参数对于更过去的基准减小,并且对于更将来的基准增加。对于淡出,加权参数对于更过去的基准增加,并且对于更将来的基准减小。对于交叉褪变,加权参数对于更过去和更将来的基准增加。
在一些实现中,淡入和淡出的检测也可基于空间变化。例如,可基于具有减小的源变化的一系列的帧检测淡出。作为另一例子,可基于具有增大的源变化的一系列的帧检测淡入。
在一些实现中,可基于具有和没有加权预测的运动补偿MAD预测误差之间的差确定用于检测褪变的照度变化的重要性。
图14是用于将褪变场景分类的过程1400的流程图。可以独立地执行过程1400,或者可与其它的活动一起执行过程1400。例如,可以在1015处通过执行过程1000的系统(图10)执行过程1400。
执行过程1400的系统可在1405处接收当前帧的照度的表征。可以与先前和/或随后的帧中的照度的表征一起接收当前帧中的照度的表征。例如,可以在缓冲器900(图9)中访问照度的表征。
执行过程1400的系统可在1410处确定当前帧是否是快速褪变的一部分。快速褪变是一系列的帧的平均照度相对迅速地变化的褪变。在一些实现中,可在一系列的帧上基于照度的变化的本性(nature)识别快速褪变。
可被用于确定当前帧是否是快速褪变的一部分的这种照度变化的一个例子要求当前帧的照度变化和随后的帧的照度变化超过阈值并具有相同的符号。例如,假定8位内容,使DCluma(i)表示帧i的照度分量的平均DC值并使术语
Figure GPA00001137521200251
Figure GPA00001137521200253
Figure GPA00001137521200254
Figure GPA00001137521200255
Figure GPA00001137521200256
表示六个阈值。帧m的DC照度ΔDCluma的变化是帧m的DC照度减去帧m-1的DC照度。如果满足以下的条件则可识别快速褪变:
1. | DC luma ( i ) - DC luma ( i - 1 ) | > t 1 fast ; 式8
2. | DC luma ( i + 1 ) - DC luma ( i ) | > t 1 fast ; 式9
3. ( DC luma ( i ) - DC luma ( i - 1 ) ) × ( DC luma ( i + 1 ) - DC luma ( i ) ) ≥ t 0 fast . 式10
式10确保帧m和m-1的照度的变化沿相同的方向(即,两个帧均具有增加的照度或减小的照度)。
可被用于确定当前帧是否是快速褪变的一部分的照度变化的另一例子要求当前帧和先前帧的DC照度变化超过阈值并具有相同的符号。如果满足以下的条件则也可识别快速褪变:
1. | DC luma ( i ) - DC luma ( i - 1 ) | > t 1 fast ; 式11
2. | DC luma ( i - 1 ) - DC luma ( i - 2 ) | > t 1 fast ; 式12
3. ( DC luma ( i ) - DC luma ( i - 1 ) ) × ( DC luma ( i - 1 ) - DC luma ( i - 2 ) ) ≥ t 0 fast . 式13
式13确保帧m和m-1的照度的变化沿相同的方向(即,两个帧均具有增加的照度或减小的照度)。在一些实现中,如果满足式8、式9、式10的设定或式11、式12、式13的设定,那么系统可确定当前帧是快速褪变的一部分。
如果执行过程1400的系统在1410处确定当前帧是快速褪变的一部分,那么系统可在1415处表明存在褪变场景。系统可通过例如使标记或其它的标号与当前帧相关联或通过向褪变场景中的帧的帧标识符的集合添加当前帧的标识符表明存在场景变化。可使得该表明对于用户或数据处理活动的其它集合可用。
如果执行过程1400的系统在1410处确定当前帧不是快速褪变的一部分,那么系统可在1420处确定当前帧是否是慢速褪变的一部分。慢速褪变是一系列的帧的平均照度相对慢速变化的褪变。在一些实现中,可在一系列的帧上基于照度的变化的本性识别慢速褪变。
可被用于确定当前帧是否是慢速褪变的一部分的这种照度变化的另一例子要求三个或更多个相继的帧上的照度变化超过阈值并具有相同的符号。例如,相继的帧可以是当前帧n和帧n+1、n+2。在这种情况下,当前帧是慢速褪变的一部分的肯定确定的条件由以下条件给出:
1. | DC luma ( i ) - DC luma ( i - 1 ) | > t 1 , A slow ; 式14
2. | DC luma ( i + 1 ) - DC luma ( i ) | > t 1 , A slow ; 式15
3. | DC luma ( i + 2 ) - DC luma ( i + 1 ) | > t 1 , A slow ; 式16
4. ( DC luma ( i ) - DC luma ( i - 1 ) ) × ( DC luma ( i + 1 ) - DC luma ( i ) ) ≥ t 0 , A slow ; 式17
5. ( DC luma ( i + 2 ) - DC luma ( i + 1 ) ) × ( DC luma ( i + 1 ) - DC luma ( i ) ) ≥ t 0 , A slow . 式18
式17和式18确保帧n、n+1和n+2的照度的变化沿相同的方向(即,所有三个帧均具有增加的照度或减小的照度)。
作为另一例子,相继的帧可以是当前帧n和帧n-1、n-2。在这种情况下,当前帧是慢速褪变的一部分的肯定确定的条件由以下条件给出:
1. | DC luma ( i ) - DC luma ( i - 1 ) | > t 1 , B slow ; 式19
2. | DC luma ( i - 1 ) - DC luma ( i - 2 ) | > t 1 , B slow ;
式20
3. | DC luma ( i - 2 ) - DC luma ( i - 3 ) | > t 1 , B slow ; 式21
4. ( DC luma ( i ) - DC luma ( i - 1 ) ) × ( DC luma ( i - 1 ) - DC luma ( i - 2 ) ) ≥ t 0 , B slow ; 式22
5. ( DC luma ( i - 1 ) - DC luma ( i - 2 ) ) × ( DC luma ( i - 2 ) - DC luma ( i - 3 ) ) ≥ t 0 , B slow . 式23
式22和式23确保帧n和帧n-1、n-2的照度的变化沿相同的方向(即,所有三个帧均具有增加的照度或减小的照度)。
如果执行过程1400的系统在1420处确定当前帧是慢速褪变的一部分,那么系统可在1415处表明存在褪变场景并且随后在1425处进行双重检查并且确定是否存在褪变。在一些实现中,如果系统在1420处确定当前帧不是慢速褪变的一部分,那么系统可在1425处进行双重检查以确定是否存在褪变。
执行过程1400的系统可在1425处确定是否在褪变场景中嵌套(nested)当前帧。该确定可基于紧前帧和紧后帧中的褪变的存在。例如,如果在紧前帧i-1和紧后帧i+1中均识别褪变,那么帧i可被确定为包含褪变。
不管1425处的双重检查是否确定是否存在褪变,执行过程1400的系统都可在1435处确定是否存在照度信息可用的附加的帧。例如,系统可确定是否在缓冲器900中存在附加的帧(图9)。如果执行过程1400的系统确定存在照度信息可用的附加的帧,那么执行过程1400的系统可在1440处将帧指数增大。将帧指数增大会改变当前帧使得系统可返回1405。
在一些实现中,用于将褪变场景分类的系统还可将褪变场景分类为淡入、淡出和/或交叉衰落。例如,图15是用于识别淡入过渡的结束的过程1500的流程图。可以独立地执行过程1500,或者可与其它的活动一起执行过程1500。例如,如以下进一步讨论的那样,过程1500可包括在1510处的过程1400的执行(图14)。
执行过程1500的系统可在1505处接收当前帧的照度的表征。可以与先前和/或随后帧中的照度的表征一起接收当前帧中的照度的表征。例如,可以在缓冲器900(图9)中访问照度的表征。
执行过程1500的系统可在1510处确定当前帧是否是褪变的一部分。例如,系统可执行过程1400(图14)以确定当前帧是否是褪变的一部分。作为另一例子,系统可检查识别褪变的标记或信息的集合以确定当前帧是否为褪变的一部分。
如果执行过程1500的系统在1510处确定当前帧是褪变的一部分,那么系统可在1515处确定当前帧的DC照度的变化是否比零大。在淡入和淡出之间区分当前帧的DC照度的变化的方向(即,增加还是减小DC照度)。
如果执行过程1500的系统在1515处确定当前帧的DC照度的变化比零大,那么系统可在1520处将计数器Cfade-in增大并在1525处确定被初始化为零的该计数器现在是否等于1。换句话说,系统确定计数器是否是第一次增大。如果执行过程1500的系统在1525处确定计数器Cfade-in等于1并由此刚第一次增大,那么系统可在1530处存储代表当前帧的照度的变化的值。这具有存储淡入的初始帧的照度成分的变化
Figure GPA00001137521200281
的效果,这里,var(i)是当前帧i的照亮分量的变化。然后,如以下进一步讨论的那样,系统可在1570处确定是否存在照度信息可用的附加的帧。
如果1)执行过程1500的系统在1510处确定当前帧不是褪变的一部分,或者,如果2)执行过程1500的系统在1515处确定当前帧的DC照度的变化不比零大,那么执行过程1500的系统可在1540处确定当前帧是否可能在淡入结尾处。在一些实现中,系统可基于计数器Cfade-in确定当前帧是否可能在淡入结尾处。例如,如果计数器Cfade-in比阈值数量(例如,三个)大并且当前帧指数比计数器Cfade-in大,那么系统可确定当前帧是否可能在淡入结尾处。
如果执行过程1500的系统在1540处确定当前帧可能在淡入结尾处,那么系统可在1545处确定当前帧是否满足合格(quality)作为淡入结尾的一个或更多个严格条件。更严格的条件的一个例子要求淡入中的初始帧和可能处于淡入结尾处的当前帧之间的DC照度的变化的大小超过阈值。例如,在一些实现中,要求当前帧i的DC照度减去帧i-Cfade-in的DC照度的差值比12*2^(bit_depth-8)大,这里,bit_depth是内容的当前bit_depth。在一些实现中,bit_depth可等于8。以下,除非另外注明,否则,数值阈值与8位输入数据位深对应。
更严格的条件的另一例子要求当前帧的照度的变化超过淡入中的初始帧的照度的变化。例如,在一些实现中,要求当前帧的照度的变化比淡入中的初始帧的变化的1.5倍大。
更严格的条件的另一例子要求连续先前帧的集合均不被分类为照相机摇摄。例如,可以使用过程1600(图16)以识别连续先前帧是否是照相机摇摄场景的一部分。例如,在一些实现中,如果当前帧合格作为淡入结尾,那么先前三个帧均不能被分类为照相机摇摄的一部分。
更严格的条件的另一例子要求连续随后帧的集合均不被分类为场景变化。例如,可通过使用上述的过程1100、1200、1300(图11、图12、图13)中的一个或更多个执行将帧分类为场景变化。例如,在一些实现中,如果当前帧合格作为淡入结尾,那么随后的12个帧均不能被分类为场景变化。
在一些实现中,当前帧合格作为淡入结尾的确定要求满足所有的这四个更严格的条件。
如果执行过程1500的系统在1545处确定当前帧满足严格条件并且合格作为淡入结尾,那么系统可在1550处表明存在淡入场景变化。根据被系统使用的方式(notation),系统可表示在当前帧中或在当前帧紧前的帧中存在淡入场景变化。在任一情况下,系统可例如通过使标记或其它的标号与紧前帧相关联或通过向包含淡入场景变化的帧的标识符的集合添加标识符表示存在淡入场景变化。可使得该表示对于用户或数据处理活动的另一集合可用。
不管当前帧是否合格用作淡入场景变化,执行过程1500的系统都在1555处确定当前帧是否满足合格用作淡入结尾的一个或更多个最终条件。最终条件的一个例子要求淡入中的初始帧的DC照度不小于阈值。在一些实现中,该阈值为50。
最终条件的另一例子要求淡入中的最终和初始帧的DC照度之间的差值大于阈值。在一些实现中,该阈值为12。
最终条件的另一例子要求褪变中的最终帧的照度的变化比淡入中的第一帧的变化的一些倍数大。在一些实现中,该变化倍数为1.5。
在一些实现中,当前帧满足合格用作淡入结尾的最终条件的确定要求满足所有这三个最终条件。
如果执行过程1500的系统在1540处确定当前帧不可能处于淡入结尾处,或者在1555处无法满足更严格的条件(由此在任一情况下不合格作为淡入结尾),那么系统可在1560处表明当前帧不是淡入的一部分。系统可通过例如向视频信息的集合中的当前帧添加标记或其它的标号并且/或者从识别淡入的数据结构排除当前帧的标识符表明当前帧不是淡入的一部分。在系统已在1550处识别存在淡入场景变化的情况下,任何这种识别可被擦除或颠倒。可使得该表示对于用户或数据处理活动的其它集合可用。
在一些实现中,系统还可在1560处表明先前Vfade-in-1帧不是淡入的一部分。例如,与前面表明先前帧是淡入的一部分的先前帧相关的标记可被切换以阐明这些帧不是淡入的一部分。
如果执行过程1500的系统在1555处确定当前帧不满足作为淡入的结尾的最终条件,那么系统可在1565处将计数器Cfade-in复位为零。执行过程1500的系统还可在1570处确定是否存在照度信息可用的附加的帧。例如,系统可确定是否在缓冲器900中存在附加的帧(图9)。如果执行过程1500的系统确定存在照度信息可用的附加的帧,那么执行过程1500的系统可在1575处将帧指数增大。将帧指数增大会改变当前帧,使得系统可返回1505。
在一些实现中,用于将褪变场景分类为淡出的系统可通过使用类似过程1500(图15)的过程动作。一种例外是,将褪变场景识别为淡出可要求当前帧的DC照度的变化小于零。因此,不是确定当前帧的DC照度的变化是否比零大(如在过程1500(图15)的1515处完成的那样),而是,用于将褪变场景分类为淡出的系统可确定当前帧的DC照度的变化是否比零小。
将褪变场景分类为淡出和将场景分类为淡入之间的类似性的另一例外是用于合格作为淡出场景变化的更严格的条件。不是使用在过程1500(图15)中的1545处施加的更严格条件,而是,用于将褪变场景分类为淡出的系统可使用其它的条件。
例如,在一些实现中,用于将褪变场景分类为淡出的系统可要求淡出中的当前帧和淡出中的初始帧之间的DC照度的变化的大小超过阈值。例如,在一些实现中,要求帧i-Cfade-out的DC照度减去当前帧的DC照度的差值大于12*2^(bit_depth-8),这里,bit_depth是内容的当前的bit_depth。
更加严格的条件的另一例子要求当前帧的照度的变化比淡出中的初始帧的照度的变化低。例如,在一些实现中,要求当前帧的照度的变化比淡出中的初始帧的变化的0.66倍低。
更加严格的条件的另一例子要求连续先前帧的集合均不被分类为照相机摇摄场景的一部分。例如,可以使用过程1600(图16)以识别连续先前帧是否是照相机摇摄场景的一部分。例如,在一些实现中,如果当前帧合格作为淡出结尾,那么先前三个帧均不能被分类为照相机摇摄。
更严格的条件的另一例子要求考虑照度变化参数的SAD误差预测和不考虑照度变化参数的SAD误差预测之间的差值比阈值低。可以从诸如MEMC构架模块105(图1)的MEMC模块接收这种SAD误差预测并将其与照度信息相关联地存储在诸如缓冲器900(图9)的存储器中。当尝试从先前基准帧预测照度和/或色度时,可以确定这些照度变化参数。
在一些实现中,当前帧满足合格作为淡出场景变化的更严格的条件的确定要求满足所有这四个更严格的条件。
将褪变场景分类为淡出和将场景分类为淡入之间的类似性的另一例外是用于合格作为淡出结尾的最终条件。不是使用在过程1500的1555处施加的最终条件(图15),用于将褪变场景分类为淡出的系统可使用其它的最终条件。
例如,在一些实现中,用于将褪变场景分类为淡出的系统可要求淡出中的初始帧的DC照度比阈值小。在一些实现中,该阈值为50*2^(bit_depth-8),这里,bit_depth是内容的当前的bit_depth。
最终条件的另一例子要求淡出中的最终和初始帧之间的照度DC差值小于阈值。在一些实现中,该阈值为12*2^(bit_depth-8)。
最终条件的另一例子要求最终帧的照度的变化小于淡出中的第一帧的变化的一些倍数。在一些实现中,该变化倍数为0.67。
在一些实现中,当前帧满足合格作为淡出结尾的最终条件的确定要求满足所有这三个最终条件。
在一些实现中,用于将褪变场景分类为淡入或淡出的系统还可仅依赖于空间信息。例如,可至少部分地基于具有减小的空间变化的一系列的帧的存在识别淡出,而可至少部分地基于具有增加的空间变化的一系列的帧的存在识别淡入。
在一些实现中,可以使用加权预测/照度变化参数和诸如SAD的预测误差度量以识别褪变场景。例如,如果帧n+1属于褪变,那么从基准帧n预测帧n+1的加权预测参数WPn(n+1)应大致与从基准帧n+1预测帧n的加权预测参数WPn+1(n)相反。例如,如果从一个方向的主导照度缩放(scaling)参数是0.2,那么从另一方向的主导照度缩放参数应为约5.0。识别还可基于对偏移参数的类似的观察。并且,沿相同的预测方向的诸如SAD的预测误差度量应相对接近。系统由此可通过比较参照帧n+1的帧n的加权预测参数和该相同运动矢量的预测误差度量与参照帧n的帧n+1的加权预测参数和该相同加权预测参数的预测误差度量识别褪变场景。如果这些加权预测参数和预测误差度量不指示褪变,那么当前帧可被排除被识别为褪变的一部分。
照相机摇摄场景
一般地,照相机摇摄场景由视频信息集合中的视场的扫描表征。视场可被水平、对角或垂直扫描。摇摄指的是常规上用于扫描视场的视频照相机的旋转或其它移动。一般地,在相对大量(例如,大于5~10)的连续帧上出现照相机摇摄。
在一实现中,照相机摇摄场景的识别可基于连续帧的集合的以下特征中的一个或更多个。例如,可基于由具有相同的一般方向并超过阈值的运动参数表征的连续帧的集合识别照相机摇摄场景。可通过诸如由诸如MEMC构架模块105(图1)的MEMC模块执行的运动估计技术的运动估计技术获得这种运动参数。在一些实现中,可以使用诸如像素回归算法、相位相关等的其它运动估计技术。
作为另一例子,可基于由具有相同的一般方向并且超过阈值的主导运动参数表征的连续帧的集合识别照相机摇摄场景。可通过对于一系列的帧中的多个块分析运动参数的频率分布获得主导运动参数。例如,可从运动参数的直方图获得主导运动参数。可通过运动估计技术获得这种运动参数。
作为另一例子,可基于当前帧和一组其它的帧之间的运动关系识别照相机摇摄场景。可通过使用单一块、一个或更多个块区域或整个帧导出运动关系。特别地,如果与不同的基准图片相关的运动矢量以随时间预测距离(即,帧指数不同)的增加而增加的大小指向相同的一般方向,那么可以识别照相机摇摄场景。基准图片可在当前图片前面或后面,并且不需要紧邻当前图片。如果使用先前基准图片和随后基准图片两者,那么可以解决运动的方向。
作为另一例子,可基于可从来自多个基准帧的平移运动参数导出的仿射全局参数识别照相机摇摄场景。
作为另一例子,上述的用于识别照相机摇摄场景的方法中的一个或更多个可被修改以应对照相机摇摄的本性。特别地,在照相机摇摄中,照相机的运动逐渐揭示先前处于视场外面的新块。这些新块可被排除用于识别照相机摇摄场景。为了识别这些块,帧中的所有运动矢量可被确定。可例如基于帧边缘处的块的运动矢量和帧内部的块的运动矢量之间的相关性的检查识别与新块相关的运动矢量的子集。可基于不同的块的SAD预测误差度量和/或运动参数的方向和大小确定这种相关性。
图16是用于将照相机摇摄场景分类的过程1600的流程图。可以独立地执行过程1600,或者可与其它的活动一起执行过程1600。例如,可以在1015处通过执行过程1000的系统(图10)执行过程1600。作为另一例子,可在过程1500(图15)中的1545处执行过程1600。
执行过程1600的系统可在1605处接收表征当前帧和邻近当前帧的帧中的块的运动的运动矢量。相邻的帧可在当前帧前面或后面,并且不需要紧邻当前帧。可通过访问诸如缓冲器900的存储器接收运动矢量。可通过诸如MEMC构架模块105(图1)的MEMC模块确定运动矢量。
执行过程1600的系统可在1610处确定当前帧和相邻帧的代表性的运动矢量。代表性的运动矢量代表帧中的运动。例如,在一些实现中,可通过对于帧中的块产生平移运动矢量的二维直方图并且选择在直方图中出现最多的平移运动矢量(直方图的模)作为代表性的运动矢量,确定代表性的运动矢量。作为另一例子,在一些实现中,代表性的运动矢量可以是体现帧的区域的运动矢量的平均水平或/和平均垂直分量的平均运动矢量。
在一些实现中,可从由MEMC模块提供的运动矢量的子集提取用于确定代表性的运动矢量的运动矢量。例如,可通过阈值处理(thresholding)、量子化、二次抽样、边界值和/或界外值(outliers)的排除或初始的运动矢量组的空间-时间过滤获得该子集。
执行过程1600的系统可在1615处确定当前帧和邻接帧的代表性的运动矢量的水平分量是否超过阈值。如果系统确定当前帧和邻接帧的代表性的运动矢量的水平分量超过阈值,那么系统可在1620处将当前帧分类为水平照相机摇摄。系统可例如通过向视频信息的集合中的当前帧添加标记或其它的标号并且/或者向识别水平照相机摇摄的数据结构添加当前帧的标识符将当前帧分类为水平照相机摇摄。
如果系统确定当前帧和邻接帧的代表性的运动矢量的水平分量超过阈值,那么系统可在1625处确定当前帧和邻接帧的代表性的运动矢量的垂直分量是否超过阈值。如果系统确定当前帧和邻接帧的代表性的运动矢量的垂直分量超过阈值,那么系统可在1630处将当前帧分类为垂直照相机摇摄。系统可例如通过向视频信息的集合中的当前帧添加标记或其它的标号并且/或者向识别垂直照相机摇摄的数据结构添加当前帧的标识符将当前帧分类为垂直照相机摇摄。
可以用以下的伪代码表达将当前帧分类为水平或垂直照相机摇摄,这里,DMVref(i,x)表示从基准帧ref的帧i的代表性的运动矢量的水平分量,tpan表示阈值。
if(((|DMVi-1(i,x)|>tpan|||DMVi-1(i,y)|>tpan)&&
(|DMVi(i+1,x)|>tpan|||DMVi(i+1,y)|>tpan))||
((|DMVi-1(i,x)|>tpan|||DMVi-1(i,y)|>tpan)&&
(|DMVi-2(i-1,x)|>tpan|||DMVi-2(i-1,y)|>tpan)))
{
 camera_pan[i]=1;
}
else
{
 camera_pan[i]=0;
}
在一些实现中,在四分之一像素单位中,阈值tpan可以为例如10。
执行过程1600的系统还可在1635处确定是否存在运动矢量可用的附加的帧,并且,如果是,那么在1640处将帧指数增大。将帧指数增大会改变当前帧,使得系统可返回1605。
在其它的实现中,可以使用诸如仿射的高次运动模型,并且/或者,可以使用其它和/或附加的帧的代表性的运动矢量。例如,可以使用来自远离的帧(i-k,这里,k≥1)的运动矢量以精确识别与相对较慢的照相机摇摄相关的精细(subtle)运动。在这些实现中的一些中,阈值可被修改以反映帧之间的增加的距离。并且,来自附加的先前和/或随后的基准帧的运动参数之间的相关性可在当前帧的分类中被用作照相机摇摄。
照相机变焦场景
一般地,通过视频信息的集合中的视场的放大倍数的变化表征照相机变焦场景。视场可被变焦拉入或变焦推出。在一些实现中,可通过使用仿射运动模型识别照相机变焦场景。
图17是用于识别照相机变焦场景的过程1700的流程图。可以独立地执行过程1700,或者可与其它的活动一起执行过程1700。例如,可以在1015处通过执行过程1000的系统(图10)执行过程1700。
执行过程1100的系统可在1705处接收表征当前帧和两个或更多个相邻帧中的块的运动的运动矢量。相邻的帧可在当前帧前面或后面,并且不需要紧邻当前帧。可在诸如缓冲器900(图9)的存储器中访问运动矢量。可通过诸如MEMC构架模块105(图1)的MEMC模块确定运动矢量。
执行过程1700的系统可在1710处识别用于当前和邻接帧中的配置的块的运动矢量。执行过程1700的系统还可在1715处确定所有或大多数的运动矢量的平均大小是否相对地小。原则上,如果存在变焦次序,那么对于到中心的距离相等的像素,像素可望以大致相等的位移从图像的中心开始沿所有的方向运动。运动的方向强烈指示变焦方向(即,变焦拉入或变焦推出)。通过计算运动矢量的水平和垂直分量的平均大小并确定这些分量是否接近零,平均大小可被确定为相对地小。
如果执行过程1700的系统确定识别的块运动矢量的平均大小相对地小,那么系统还在1720处确定配置的块的运动矢量是否相关。当一般指向同一方向时,这些运动矢量相关。
如果执行过程1700的系统确定配置的块的运动矢量相关(即,指向类似的方向),那么系统还在1725处确定配置的块的运动矢量的大小的变化是否是连续的。当随着当前帧和基准帧之间的时间距离(或帧指数的差)增加而大小均匀增加或均匀减小时,出现大小的连续的变化。在一些实现中,执行过程1700的系统可通过使用配置的块的运动矢量的绝对大小的和确定配置的块的运动矢量的大小的变化是否是连续的。
如果执行过程1700的系统确定配置的块的运动矢量的大小的变化是连续的,那么系统可在1730处将当前帧分类为变焦场景的一部分。可通过例如向视频信息的集合中的当前帧添加标记或其它的标号并且/或者通过帧号、时间和/或其它的识别特性建立将当前帧识别为变焦场景的单独的数据结构将当前帧分类为变焦场景。可使得识别对于用户或数据处理活动的其它集合可用。
执行过程1700的系统还可在1735处确定是否存在运动矢量可用的附加的帧,并且,如果是,那么在1740处将帧指数增大。将帧指数增大会改变当前帧,使得系统可返回1705。
图18是用于识别照相机变焦场景的另一过程1800的流程图。可以独立地执行过程1800,或者可与其它的活动一起执行过程1800。例如,可以在1015处通过执行过程1000的系统(图10)执行过程1800。作为另一例子,可以与过程1700(图17)结合执行过程1800,以确保照相机变焦场景被适当地识别。
执行过程1800的系统可在1805处接收表征当前帧中、先前的基准帧中和随后基准帧中的块的运动的运动矢量。可在诸如缓冲器900(图9)的存储器中访问运动矢量。可通过诸如MEMC构架模块105(图1)的MEMC模块确定运动矢量。
执行过程1800的系统可在1810处识别位于这些帧的边缘上的配置块的运动矢量。执行过程1800的系统还可在1815处确定参照先前和随后的基准帧的运动矢量的方向是否指向相反的方向。换句话说,在变焦拉入时,当前帧的边缘上的块位于先前帧的内部和随后帧的外面。但是,假定同心的布置,那么所有三个帧中的块位于连接三个帧的中心与过去帧中的所述块的中心的假想线上。类似地,在缩小时,当前帧的边缘上的块位于先前帧的外面和随后的帧的内部。因此,参照先前和随后基准帧的运动矢量在变焦场景中指向相反的方向。
如果执行过程1800的系统确定来自先前和随后基准帧的运动矢量指向相反的方向,那么系统可在1820处将当前帧分类为变焦场景的一部分。可通过例如向视频信息的集合中的当前帧添加标记或其它的标号并且/或者通过帧号、时间和/或其它的识别特性建立将当前帧识别为变焦场景的单独的数据结构将当前帧分类为变焦场景。可使得识别对于用户或数据处理活动的其它集合可用。
执行过程1800的系统还可在1825处确定是否存在运动矢量可用的附加的帧,并且,如果是,那么在1830上将帧指数增大。将帧指数增大会改变当前帧,使得系统可返回1805。
在其它的实现中,系统可基于仿射运动参数的系数识别照相机变焦场景。特别地,系统可将块水平运动参数(诸如由MEMC构架模块105提供的那些)转换成仿射全局运动参数。这些仿射全局运动参数的系数可被分析以识别照相机变焦场景。
在一些实现中,运动矢量和诸如SAD的预测误差度量均可被用于识别照相机变焦场景。例如,如图19所示,诸如MEMC构架模块105的MEMC模块可使用两个或更多个先前帧和两个或更多个随后帧作为预测基准。
如果帧n+1属于变焦,那么从基准帧n预测帧n+1的运动矢量应大致与从基准帧n+1预测帧n的运动矢量相反。例如,如果一个运动矢量是0.2,那么另一运动矢量应为约5.0。并且,沿相同的预测方向的诸如SAD的预测误差度量应相对接近。系统由此可通过比较参照帧n+k的帧n的运动矢量和该相同运动矢量的预测误差度量与参照帧n的帧n+k的运动矢量和该相同运动矢量的预测误差度量识别照相机变焦场景。如果这些运动矢量和预测误差度量不指示照相机变焦场景,那么当前帧可被排除被识别为照相机变焦场景。
旋转场景
一般地,旋转场景是旋转视场的场景。可通过与用于表征变焦场景的过程类似的过程将旋转场景分类。作为上述的特性的替代,可基于在到旋转中心的相当距离处相当的运动矢量的大小和改变以限定旋转中心周围的圆的运动矢量的方向表征旋转场景。
静止场景
一般地,通过视频信息的集合中的视场的很少变化或不变化表征静止场景。由此可基于例如低于一个或更多个阈值的运动矢量和/或预测误差度量的大小识别静止场景。阈值可低于视频信息的集合的运动矢量和预测误差度量的平均大小。
活动场景
一般地,通过视频信息的集合中的视场的大量或明显的变化表征活动场景。由此可基于高于一个或更多个阈值的运动矢量和/或预测误差度量的大小识别活动场景。在一些实现中,可以汇集运动矢量的直方图并且可选择直方图的峰值。通过使用这种直方图,可基于对于相当的块成员数的大量的峰值的存在识别多个物体的运动。在任何情况下,阈值可高于视频信息的集合的运动矢量和预测误差度量的平均大小。
闪光场景
一般地,闪光场景是出现照度明显增加的一个或更多个帧。可基于相对于短期阈值或长期阈值的大的预测误差、具有加权预测和没有预测的预测误差之间的大的差值和/或帧n-k和n+m之间的低预测误差检测闪光场景中的帧,这里,帧k>0和m>0是闪光场景的一部分。
帧区域分割
一般地,帧区域分割是识别具有共同的特性的一系列的帧中的区域的过程。在一些实现中,可基于不同的区域中的运动矢量的类似性识别不同的帧中的区域。例如,可以使用K手段算法以识别区域的数量和尺寸。在一些实现中,帧区域分割还可基于以下方面中的一个或更多个识别区域:(a)区域的运动补偿预测误差度量;(b)照度和色度DC和变化值;(c)区域的区域源变化;(d)区域的空间特性,包括质地和频率分析;和(e)来自其它的帧的区域分类(即,回归)。
在一些实现中,识别的区域可被标注(lable)表征例如区域的复杂性或重要性的度量。这种度量可代表区域的视觉显著性并且可基于区域的运动、质地和照度特性。例如,在一些实现中,各区域可具有表征最主导的N个运动矢量、平均照度或/和色度DC值、整个区域的质地的表征、其变化和转变系数的能量等的一个或更多个度量。例如,N可等于1。
图20是视频指纹化系统2000的示意图。视频指纹化系统2000包含决定模块110和视频指纹化模块2005。决定模块110可以是系统100、500、700、800(图1、图5、图7、图8)中的任一个的一部分,并且从视频信息产生场景分类125。视频指纹化模块2005可从决定模块化1100接收场景分类125以产生视频指纹2010。
一般地,视频指纹化是在非视觉语义学中表征视频信息的过程。例如,可通过使用语言描述视频信息的集合的视觉特征(例如,诸如视觉参数的变化、运动、场景过渡、以及时间和空间相关性)。视频指纹化可被应用以实现大量的不同的结尾,例如,诸如搜索和检索、水印、音频-视频同步化、以及用于识别具有版权的作品的内容分类和表征和/或将目标广告插入视频信息的集合中。
图21是用于视频指纹化的过程2100的流程图。可通过一个或更多个数据处理装置执行过程2100。例如,可通过系统2000(图20)中的视频指纹化模块2005执行过程2100。可以独立地执行过程2100,或者可与其它的活动一起执行过程2100。例如,可以在执行过程1000(图10)之后执行过程2100。
执行过程2100的系统可在2105处接收场景分类。例如,系统可接收识别一个或更多个场景的分类以及分类的场景在视频信息的源集合中的设置(disposition)的信息。场景的示例性的分类包含场景变化、照相机摇摄、照相机变焦、交叉褪变、淡入、淡出、闪光场景、高运动、活动分割、低运动、静止分割、质地分类、以及块的数量和尺寸的分类。
在一些实现中,可以与表征源视频信息的其它信息一起接收场景分类。例如,可以与表征以下方面中的一个或更多个的参数一起接收场景分类:
(a)亮度和色度分量的DC或变化;
(b)通过一种或更多种边缘过滤技术(例如,Sobel)获得的边缘大小和取向信息;
(c)诸如一个或更多个变换的系数的视频信息中的频率的表征;
(d)平均和主导局部和全局运动矢量,包括过滤的运动矢量的集合、量子化的运动矢量的集合或已从中排除界外值的运动矢量的集合;
(e)平均和主导局部和全局加权预测参数,包括过滤的加权预测参数的集合、量子化的加权预测参数的集合或已从中排除界外值的加权预测参数的集合;
(f)变换系数的能量,包括小波(wavelet)、DCT或傅立叶变换系数;
(g)反映初始和运动补偿预测之间的相关性的相关性系数;
(h)源视频信息中的帧的空间尺寸和数量;
(i)从运动补偿的预测误差度量;
(j)预测误差度量的组合与使用一个或更多个基准帧的运动补偿之间的差值;和/或
(k)全局运动模型参数。
执行过程2100的系统可在2110处将场景分类组装成视频指纹并且在2115处使视频指纹与源视频信息相关联。作为一个例子,系统可通过用源视频信息的名称或其它的标识符标注视频指纹使视频指纹与源视频信息相关联。作为另一例子,系统可通过存储具有源视频信息的视频指纹使视频指纹与源视频信息相关联。在一些实现中,以压缩的格式存储源视频信息。例如,可通过使用基于MPEG-7XML的描述符格式与源视频信息并排地存储视频指纹。在一些实现中,可以在视频指纹中包含表征源视频信息的一些或全部的其它的信息。
图22是视频编码系统2200的示意图。视频编码系统2200包含决定模块110和视频编码模块2205。决定模块110可以是系统100、500、700、800(图1、图5、图7、图8)中的任一个的一部分,并且从视频信息产生场景分类125。视频编码模块2205可从决定模块110接收场景分类125以产生编码视频信息2210。并且,在一些实现中,视频编码模块2205可向决定模块110提供反馈2215以帮助产生场景分类125。
一般地,视频编码是出于某种目的将视频信息格式化的过程。例如,可对于使用视频编码的存储和/或传送将视频信息格式化。在带宽和/或存储空间被限制的情况下,视频编码可压缩用于传送和/或存储的视频信息。用于视频编码的技术的例子包含诸如MPEG-2、MPEG-4AVC/H.264和MPEG-4SP/ASP的运动图片专家组(MPEG)标准以及诸如VC-1、On-2的VP6和VP7以及AVS的其它编解码和标准中的许多个。
图23~32是用于视频编码的过程2300、2400、2500、2600、2700、2800、2900、3000、3100、3200的流程图。可通过一个或更多个数据处理装置执行过程2300、2400、2500、2600、2700、2800、2900、3000、3100、3200中的一个或更多个。例如,可通过系统2200(图22)中的视频编码模块2205执行过程2300、2400、2500、2600、2700、2800、2900、3000、3100、3200中的一个或更多个。可以独立地执行过程2300、2400、2500、2600、2700、2800、2900、3000、3100、3200,或者相互和/或与其它的活动一起执行过程2300、2400、2500、2600、2700、2800、2900、3000、3100、3200。例如,可以在执行过程1000(图10)之后执行过程2300、2400、2500、2600、2700、2800、2900、3000、3100、3200中的一个或更多个。
图23是涉及场景变化的视频编码的过程2300的流程图。执行过程2300的系统在2305处接收一系列的帧和这些帧的分类。可以从诸如决定模块1100的决定模块接收一系列的帧和它们的分类。在一些实现中,分类是与帧自身有关的标记或其它的标号,例如,作为标题。在其它的实现中,分类被存储在通过指数号、时间等识别系列中的帧的单独的数据结构中。
执行过程2300的系统在2310处确定一系列的帧中的一个或更多个帧是否被分类为场景变化。如果系统确定一个或更多个帧被分类为场景变化,那么执行过程2300的系统在2315处将被分类为场景变化的那些帧编码为内部编码图片,这避免参照系列中的其它帧。可以在不参照另一先前编码帧的情况下将内部编码图片解码。例如,内部帧和IDR帧(在H.264/AVC中)是内部编码帧。
执行过程2300的系统还可在2320处任选地将一个或更多个场景变化帧存储为长期基准帧。长期基准帧是被用作其它帧的运动补偿预测的基准的帧,并且,除了有明确的去除指令以外,不必从基准缓冲器中被去除。
图24是涉及场景变化的视频编码的另一过程2400的流程图。执行过程2400的系统在2305处接收一系列的帧和这些帧的分类,并且在2310处确定一系列的帧中的一个或更多个帧是否被分类为场景变化。如果系统确定一个或更多个帧被分类为场景变化,那么执行过程2400的系统在2405处确保一个或更多个相邻的最高优先水平帧被编码为内部编码帧。在这点上,一些视频编码器将优先水平比其它帧高的某些帧编码。例如,分层编码结构可将优先水平比其它帧高的某些帧编码。
执行过程2400的系统由此可识别将在最高优先水平上被编码的随后相邻帧,并保证该帧被优选编码为内部编码图片。这保证场景变化附近的最高优先帧被内部编码。
图25是涉及淡入过渡的视频编码的另一过程2500的流程图。执行过程2500的系统在2305处接收一系列的帧和这些帧的分类,并且在2505处识别一系列的帧中的一个或更多个淡入过渡。可通过使用系列中的帧的接收的分类识别淡入过渡。执行过程2500的系统可在2510处增加将属于识别的淡入过渡的帧编码的位分配。可通过改变对于识别的淡入过渡的速率分配分配这些位。当照度变化补偿对于视频编码器不可用时,这是特别有用的。
执行过程2500的系统还可在2515处识别淡入过渡的开始帧和结束帧并将它们编码。可从一系列的帧的接收的分类识别开始帧和结束帧。执行过程2500的系统可在2520处参照开始帧和结束帧中的一个或两个将淡入过渡中的内部帧(即,开始帧和结束帧之间的帧)编码。在一些实现中,使用双预测(即,参照开始帧和结束帧将内部帧编码)。
执行过程2500的系统还可在2525处将紧随淡入过渡的结束帧的帧编码为内部编码图片。由于该帧是场景变化,因此这与过程2300(图23)的2315处将场景变化帧编码为内部编码帧一致。执行过程2500的系统还可任选地在2530处将开始帧和紧随结束帧的帧存储为长期基准帧。
在将淡入过渡编码的系统将优先水平比其它帧高的某些帧编码的实现中(例如,在分层编码中),不是执行在2525和2530处描述的活动,而是,执行过程2500的系统可保证邻近紧随结束帧的帧的一个或更多个最高优先水平帧被编码为内部编码帧。
在编码器可以访问照度变化补偿(加权预测)的实现中,紧随淡入的结束帧的帧可以从先前编码帧被预测,并且不需要被编码为内部图片。这同时适用于具有单一优先水平的实现和具有多个优先水平的实现。
图26是涉及淡出过渡的视频编码的过程2600的流程图。执行过程2600的系统在2305处接收一系列的帧和这些帧的分类,并且在2605处识别一系列的帧中的一个或更多个淡出过渡。可通过使用接收的系列中的帧的分类识别淡出过渡。执行过程2600的系统可在2610处增加将属于识别的淡出过渡的帧编码的位分配。可通过改变对于识别的淡出过渡的速率分配来分配这些位。当照度变化补偿对于视频编码器不可用时,这是特别有用的。
执行过程2600的系统还可在2615处识别淡出过渡的开始帧和结束帧并将它们编码。可从一系列的帧的接收的分类识别开始帧和结束帧。执行过程2600的系统可在2620处参照开始帧和结束帧中的一个或两个将淡出过渡中的内部帧(即,开始帧和结束帧之间的帧)编码。在一些实现中,使用双预测(即,参照开始帧和结束帧两者将内部帧编码)。执行过程2600的系统还可任选地在2625处将开始帧和结束帧存储为长期基准帧。
图27是涉及交叉褪变过渡的视频编码的过程2700的流程图。执行过程2700的系统在2305处接收一系列的帧和这些帧的分类,并且在2705处识别一系列的帧中的一个或更多个交叉褪变过渡。可通过使用接收的系列中的帧的分类识别交叉褪变过渡。执行过程2700的系统可在2710处识别交叉褪变过渡的开始帧和结束帧并将它们编码。可从一系列的帧的接收的分类识别开始帧和结束帧。执行过程2700的系统可在2715处参照开始帧和结束帧中的一个或两个将交叉褪变过渡的内部帧(即,开始帧和结束帧之间的帧)编码。在一些实现中,使用双预测(即,参照开始帧和结束帧两者将内部帧编码)。执行过程2700的系统还可在2720处将开始帧和结束帧存储为长期基准帧,并且在2725处对于交叉褪变过渡使用具有多次迭代的高复杂性结合双预测运动估计。
图28是涉及静止场景的视频编码的过程2800的流程图。执行过程2800的系统在2305处接收一系列的帧和这些帧的分类,并且在2805处识别一系列的帧中的一个或更多个静止场景。可通过识别接收的系列中的帧的分类识别静止场景。当在2810处将静止场景编码时,执行过程2800的系统可增加视觉质量。并且,执行过程2800的系统可在2815处增加分层编码结构的长度并由此增加编码延迟。在这一点上,如果n表示一系列的帧中的最后的编码帧,那么分层编码结构可被用于压缩帧n+N并且通过使用双预测运动补偿将帧n+1~n+N-1编码,这里,N>1。
图29是涉及活动场景的视频编码的过程2900的流程图。执行过程2900的系统在2305处接收一系列的帧和这些帧的分类,并且在2905处识别一系列的帧中的一个或更多个活动场景。可通过使用接收的系列中的帧的分类识别活动场景。执行过程2900的系统可在2910处对活动场景进行低通过滤。特别地,可从活动场景对在显示中不可觉察的细节进行低通过滤。
执行过程2900的系统可在2915处调整对于活动场景施加的解块过滤参数。特别地,在一些实现中,如果在更好地减少块化的努力中场景是活动的,那么可以使用更强的解块过滤。但是,如果场景由高质地区域表征以避免引入其它的伪像,那么解块强度可降低。增加或减少可依赖于当前帧或区域的位速率目标或使用的量子化参数。在一些实现中,特别是当较高的位速率和/或较低的量子化器导致较少的块化伪像时,解块过滤参数不需要被调整。事实上,在一些实现中,解块过滤参数可减小以保持场景的质地特性。
执行过程2900的系统还可在2920处对于活动场景使用具有多次迭代的高复杂性结合双预测运动估计。并且,执行过程2900的系统可在2925处减少对于活动场景分配的位速率。特别地,可通过增加用于场景的量子化或拉格朗日参数、调整在变换和量子化过程中使用的阈值处理考虑和适应性修约(rounding)系数、优化诸如跳跃的具有低位成本的不同的模式等降低分配的位速率并因此降低质量。这种变化可固有地减少用于将活动场景编码的位的数量。
图30是涉及照相机摇摄场景的视频编码的过程3000的流程图。执行过程3000的系统在2305处接收一系列的帧和这些帧的分类,并且在3005处识别一系列的帧中的一个或更多个照相机摇摄场景。可通过使用接收的系列中的帧的分类识别照相机摇摄场景。执行过程3000的系统可在3010处增加将属于识别的照相机摇摄场景的帧编码的位分配。可通过改变对于识别的照相机摇摄场景的速率分配来分配这些位。执行过程3000的系统可在3015处识别照相机摇摄场景的开始帧和结束帧并将它们编码。可从一系列的帧的接收的分类识别开始帧和结束帧。在一些实现中,开始帧和结束帧可被编码为内部编码图片。
执行过程3000的系统可在3020处参照开始帧和结束帧中的一个或两个将照相机摇摄场景中的内部帧(即,开始帧和结束帧之间的帧)编码。在一些实现中,使用双预测(即,参照开始帧和结束帧两者将内部帧编码)。执行过程3000的系统还可在3025处将开始帧和结束帧存储为长期基准帧。
图31是涉及照相机变焦场景的视频编码的过程3100的流程图。执行过程3100的系统在2305处接收一系列的帧和这些帧的分类,并且在3105处识别一系列的帧中的一个或更多个照相机变焦场景。可通过使用接收的系列中的帧的分类识别照相机变焦场景。执行过程3100的系统可在3110处确定是否在最佳地表征识别的照相机变焦场景中的运动的两个或更多个运动模型和被视频编码模块支持的运动模型之间存在差异。运动模型的例子包括仿射运动模型、平移运动模型和较高次运动模型。在一些实现中,可通过使用例如不能被视频编码模块支持的仿射运动模型最佳地表征识别的摇摄变焦场景中的运动。
如果执行过程3100的系统确定存在差异,那么系统可在3115处改变对于编码照相机变焦场景分配的位速率。例如,如果视频编码模块支持可更好地表征诸如变焦的照相机过渡的仿射运动模型,那么可对于变焦过渡分配较少的位。另一方面,如果视频编码模块仅支持当对变焦过渡进行编码时会较低效的平移运动模型,那么可以分配更多的位。一般地,当视频编码模块支持较好地支持复杂的运动的高次运动模型并且一般导致较好的运动补偿预测性能时,可对于向照相机变焦场景编码分配较少的位。
执行过程3100的系统还可在3120处识别照相机变焦场景的开始帧和结束帧并将它们编码。可从一系列的帧的接收的分类识别开始帧和结束帧。在一些实现中,可以将开始帧和结束帧编码为内部编码图片。
执行过程3100的系统还可在3125处参照开始帧和结束帧中的一个或两个将照相机变焦场景中的内部帧(即,开始帧和结束帧之间的帧)编码。在一些实现中,使用双预测(即,参照开始帧和结束帧两者将内部帧编码)。执行过程3100的系统还可在3130处将开始帧和结束帧存储为长期基准帧。
图32是涉及闪光场景的视频编码的过程3200的流程图。执行过程3200的系统在2305处接收一系列的帧和这些帧的分类,并且在3205处识别一系列的帧中的一个或更多个闪光场景。可通过使用接收的系列中的帧的分类识别闪光场景。执行过程3200的系统可在3210处排除闪光场景中的帧用作基准帧。执行过程3200的系统还可在3215处增加将属于识别的闪光场景的帧编码的位分配。可通过改变对于识别的闪光场景的速率分配来分配这些位。当照度变化补偿对于视频编码器不可用时,这是特别有用的。
图33是视频编码系统3300的示意图。视频编码系统3300包含决定模块110和视频编码模块3305。决定模块110可以是系统100、500、700、800(图1、图5、图7、图8)中的任一个的一部分,并且从视频信息产生场景分类125。除了场景分类125以外,视频编码模块2205还可从决定模块110接收视频表征信息3305。视频编码模块2205可使用视频表征信息3305和/或场景分类125以产生编码的视频信息2210。例如,视频编码模块2205可使用过程3400、3500、3600、3700、3800、3900、4000(图34~40)中的一个或更多个以产生编码的视频信息2210。在一些实现中,视频编码器2205可向决定模块110提供反馈2215以帮助产生场景分类125。
图34是用于视频编码的过程3400的流程图。执行过程3400的系统在3405处接收一系列的帧、这些帧的分类和表征这些帧的视频表征信息。视频表征信息可包含表征系列中的帧的运动补偿预测误差度量和源变化的信息。在一些实现中,可通过诸如空间分析模块505(图5、图8)的空间分析模块确定这种信息。
执行过程3400的系统可在3410处基于视频表征信息计算帧的复杂性度量。复杂性度量是体现系列中的帧的复杂性的参数。可基于例如系列中的帧的运动补偿预测误差度量和源变化计算复杂性度量。例如,在一些实现中,复杂性度量是与最近的先前基准的运动补偿预测误差度量相比较的当前帧的运动补偿预测误差度量(例如,SAD)。在其它的实现中,复杂性度量是与当前图片的所有基准的运动补偿预测误差度量相比较的当前图片的运动补偿预测误差度量的加权平均。
执行过程3400的系统可在3415处基于帧的复杂性度量改变帧的位分配。特别地,可以向较复杂的帧分配较多的位数,并且向较不复杂的帧分配较少的位数。
图35是用于视频编码的过程3500的流程图。执行过程3500的系统在3405处接收一系列的帧、这些帧的分类和表征这些帧的视频表征信息。视频表征信息可包含表征系列中的区域和帧的照度的照度参数。在一些实现中,可通过诸如照度/颜色分析模块705(图7、图8)的照度/颜色分析模块确定这种信息。
执行过程3500的系统可在3505处基于视频表征信息识别一个或更多个暗区域和帧。暗区域是帧内的比阈值暗或比帧的其余部分暗的区域。暗帧是比阈值暗或比系列内的其余的帧暗的帧。可基于照度参数识别暗区域和帧。执行过程3500的系统可在3510处对于任何识别的暗区域和帧增加位分配。
图36是用于视频编码的过程3600的流程图。执行过程3600的系统在3405处接收一系列的帧、这些帧的分类和表征这些帧的视频表征信息。视频表征信息可包含系列中的帧的SAD或其它的预测误差度量。在一些实现中,可通过诸如MEMC构架模块105(图1、图8)的MEMC构架模块确定这些预测误差度量。
执行过程3600的系统可在3605处基于视频表征信息识别帧系列中的一个或更多个闭塞(occlusion)帧。闭塞帧是一个或更多个物体暂时闭塞帧内的一个或更多个其它的物体或区域的帧。例如,当在一系列的帧中不同的物体具有不同的运动矢量时,会出现闭塞帧。如上所述,可基于例如与闭塞相关的SAD或其它预测误差度量的增加识别闭塞帧。
执行过程3600的系统可在3610处排除闭塞帧用作基准帧,并且在3615处增加用于将闭塞帧编码的位分配。
图37是用于视频编码的过程3700的流程图。执行过程3700的系统在3405处接收一系列的帧、这些帧的分类和表征这些帧的视频表征信息。视频表征信息可包含可基于各种运动和空间分析模型计算的系列内的帧的诸如SAD的各种预测误差度量。在一些实现中,可通过诸如MEMC构架模块105(图1、图8)的MEMC构架模块确定这些预测误差度量。在其它的实现中,可通过诸如元数据的外部机构预先计算和提供预测误差度量。在其它的实现中,代码转换基础结构可包含用于将先前编码视频重新编码的第二视频编码模块。在这些实现中,可例如通过分析位流内的运动和残余信息直接从位流或与由MEMC构架模块提供的元数据和/或附加信息组合地导出预测误差度量。
执行过程3700的系统可在3705处确定是否在最佳地表征帧系列中的运动的两个或更多个运动模型和被视频编码模块支持的运动模型之间存在差异。运动模型的例子包括仿射运动模型、平移运动模型和高次运动模型。
如果执行过程3700的系统确定存在差异,那么系统可在3710处改变对于将帧的系列编码分配的位速率。
图38是视频编码的过程3800的流程图。执行过程3800的系统在3405处接收一系列的帧、这些帧的分类和表征这些帧的视频表征信息。视频表征信息可包含系列内的帧的SAD或其它的预测误差度量。在一些实现中,可通过诸如MEMC构架模块105(图1、图8)的MEMC构架模块确定这些预测误差度量。
执行过程3800的系统可在3805处基于视频表征信息识别包含一个或更多个新出现的物体的帧的系列中的一个或更多个帧。可基于例如与物体的出现相关的SAD或其它预测误差度量的增加识别包含新出现的物体的帧。
执行过程3800的系统可在3810处对于包含新出现物体的帧以及对于这些帧前面的邻接帧增加位分配。在一些实现中,先前邻接帧在包含新出现的物件的帧紧前。执行过程3800的系统可在3815处参照包含新出现物体的帧对物体出现之后的帧进行编码。执行过程3800的系统可在3820处参照先前邻接帧对出现物体之前的帧进行编码。
执行过程3800的系统还可任选地在3830处将包含新出现的物体的帧存储为长期基准帧。在一些实现中,由于先前邻接帧可提供关于可被新物体覆盖的背景的信息,因此它们也可被存储为长期基准帧。
图39是视频编码的过程3900的流程图。执行过程3900的系统在3405处接收一系列的帧、这些帧的分类和表征这些帧的视频表征信息。视频表征信息可包含质地信息。在一些实现中,可以通过诸如空间分析模块505(图5)的空间分析模块确定质地信息。
执行过程3900的系统可在3805处基于视频表征信息确定系列中的帧中的一个或更多个区域是否属于某些类型的区域。例如,系统可确定系列中的帧中的一个或更多个区域是否是平滑区域、织构区域和噪声区域。例如,如果块具有低变化或仅包含低振幅、低频率系数(可通过使用基于DCT的频率分析确定),那么块可被分类为平滑区域。另一方面,空间活动的、织构区域是由一致的和一般结构的质地图案表征的区域,并且可被分类为具有中到高变化和频率特性。噪声区域是由看起来与场景内的实际信号(即,真空物体)无关的随机、噪声图案表征的区域。噪声区域的分类可通过使用诸如Wiener和Kalman过滤的技术,但也可通过使用运动补偿预测。特别地,与平滑区域不同并在一定程度上与质地区域不同,噪声区域趋于不在时间上相关。因此,具有高运动补偿预测误差的区域更可能属于噪声区域,因此,给定它们的空间特性,可被同样地分类。
如果执行过程3900的系统确定帧中的一个或更多个区域是平滑区域,那么该系统可在3910处减少这些区域的过滤。过滤的减少可包含增加类似105的运动补偿时间过滤基础结构中的初始帧的加权或者通过使用更高带宽滤波器。
如果执行过程3900的系统确定帧中的一个或更多个区域是织构区域,那么系统可在3915处调整织构区域的过滤。例如,织构区域的过滤可被调整,使得这些织构区域的细节被保存。可通过增加类似105的运动补偿时间过滤基础结构中的初始帧的加权或者通过使用更高带宽滤波器完成这一点。可被调整的滤波器的例子包含线性滤波器(例如,Gaussian平滑化)、非线性(例如,中间)滤波器和诸如基于小波形态处理等的滤波器的其它滤波器。
执行过程3900的系统还可在3925处增加用于将织构区域编码的位分配并在3930处对于织构区域的预测运动估计分配附加的计算资源。
如果执行过程3900的系统确定帧中的一个或更多个区域是噪声区域,那么系统可在3935处确定噪声是否超过阈值。如果系统确定噪声超过阈值,那么系统可在3940处调整变换系数阈值处理和量子化偏移。变换系数阈值处理是确定如果保存起来成本太高则是否调整或降低(即,设为0)变换系数的过程。量子化偏移是在变换和量子化过程中考虑的确定量子化过程中的系数是应被入位还是舍掉(roundedup or down)的参数。变换系数阈值处理和量子化偏移可根据场景或区域类型和诸如质量或位速率目标的其它参数增加或减小。例如,如果块被表征为高质地,那么会希望在增加该块的可压缩性的努力中增加阈值处理参数和/或降低量子化偏移。另一方面,会希望尽可能精确地保持平滑块的细节,并因此在提高该块的主观/觉察质量的努力中减小或禁用阈值处理参数和/或增加量子化偏移。
执行过程3900的系统还可在3945处执行过滤基准的运动估计。过滤的基准是已被过滤以减少噪声的视频信息的集合。可通过使用线性滤波器(例如,Gaussian平滑化)或非线性滤波器(例如,中间过滤)过滤过滤的基准。在通过诸如MEMC构架模块105(图1)的远程MEMC构架模块执行运动估计的实现中,过滤的基准的运动估计的执行可包含从视频编码模块2205向决定模块110提供反馈2215。决定模块110又可指示MEMC构架模块105在执行运动估计之前过滤视频信息。
图40是用于视频编码的过程4000的流程图。执行过程4000的系统在3405处接收一系列的帧、这些帧的分类和表征这些帧的视频表征信息。视频表征信息可包含块的质地或运动特性、包括运动和照度变化特性、照度和色度强度、变化、质地特性等的描述。在一些实现中,可以通过诸如MEMC构架模块105(图1、图8)的MEMC构架模块确定这些块描述符。
执行过程4000的系统可在4005处基于视频表征信息将来自一系列的帧的一个或更多个帧内的一个或更多个识别为感兴趣的区域。感兴趣的区域是从观察者的观点看比其它的区域更与帧的视觉质量相关的帧内区域。可基于例如区域用作运动补偿预测块的频率识别感兴趣的区域。
执行过程4000的系统可在4010处增加用于将感兴趣的区域编码的位分配。执行过程4000的系统还可在4015处向感兴趣的区域应用计算上昂贵的编码工具。计算上昂贵的编码工具是需要更多的计算资源但会导致更高的编码效率/性能的编码技术。计算上昂贵的编码工具的例子包括具有多次迭代的加权预测和双预测运动估计。
在通过诸如MEMC构架模块105(图1)的远程MEMC构架模块执行预测和运动估计的实现中,计算上昂贵的编码工具的应用可包含从视频编码模块2205向决定模块110提供反馈2215。决定模块110又可指示MEMC构架模块105向感兴趣的区域应用计算上昂贵的编码工具。
执行过程4000的系统还可在4020处减少感兴趣的区域的过滤。过滤的减少可包含在预处理段中使用更高带宽滤波器和/或降低诸如视频编码模块2205(图22)的视频编码模块中的环内解块滤波器的强度。
在一些实现中,可以与速率控制方案结合使用这里描述的系统和技术。速率控制是在帧的编码过程中实现位目标的机制。特别地,压缩的位流会能够通过速率控制满足由传送或目标介质强加的特定的带宽约束。速率控制算法可尝试改变对于各帧分配的位数,使得在维持视觉质量的同时实现目标位速率。
使Padapt表示适应周期。如果一系列的帧或区域是静止的,那么可对于每个padapt图片临时增加向图片分配的位。例如,在一些实现中,可对于每个Padapt图片用具有负值的修改量QPadapt init修改量子化参数(QP)值。来自各系列的剩余Padapt-1帧可比适应性调整的图片(adaptedpictures)接收更少的位。例如,在一些实现中,可使用可等于或大于QPadapt init的QP0 init的QP修改量,由此压缩效率可对于静止或低运动场景得到提高并可专有地被应用于感兴趣的区域。例如,图片系列可被分割成高运动和低运动区域。该技术可被用于改善低运动区域的位分配。但是,在高运动场景或区域中使用该方法可降低性能。特别地,由于第一帧很少被随后的帧参照,因此连续图片之间的有限的相关性可浪费向系列中的第一帧分配的任何附加位。
为了解决该问题,帧和/或区域可被分析以确定某些帧和/或区域是否应被分配附加位。因此,可使得周期值和进行分类决定的图片的数量之和保持小于滑动窗口图片缓冲长度padapt+ndec.w.nref。这保证滑动窗口足够大,使得是否在窗口内分配附加的位的决定可基于padapt帧的预见(look-ahead)。如果分层编码结构被用于将图像序列编码,那么周期padapt可被约束为最高优先水平的帧之间的周期(分层周期phier)的倍数。如果所有的帧具有相同的优先水平,那么phier=1。相同的约束也可被应用于参数ndec.w.。并且,通过用QPadapt init的修改它们的QP被分配附加位的帧可被约束为位于最高优先水平上。
图41是用于速率控制的过程4100的流程图。执行过程4100的系统可在4105处在图像序列的开始将计数器cntadapt设为零。并且,每当向帧分配的位暂时增加,就可重复将计数器cntadapt清零(zero out)。在一些实现中,通过用QPadapt init值修改帧的QP增加位分配。每当系统在4110处确定运动补偿SAD的绝对差小于阈值,执行过程4100的系统可在4115处将cntadapt计数器加上phier。例如,阈值可以是常数和短期和长期SAD平均的加权组合的积。
| SAD ( j ) - SAD ( j - p hier ) | < t static &times; ( &alpha; &times; SAD ave long - term + &beta; &times; SAD ave short - term ) 式24
在一些实现中,α=0.5并且β=0.5。但是,这些值可基于分层编码结构的使用改变。在向区域分配位的实现中,SAD包含属于特定区域的块。
如果执行过程4100的系统确定式24的条件不被满足,那么cntadapt计数器可在4120处被清零以在考虑(j-padapt)的条件下反映跟随帧的时间相关图片或区域的不够的数量。如果执行过程4100的系统确定式24的条件被满足,那么系统可在4115处将计数器cntadapt加上phier
执行过程4100的系统还可在4125处确定计数器是否达到值padapt。如果执行过程4100的系统确定计数器达到值padapt,那么系统可在4130处暂时增加向帧j-padapt分配的位数(例如,通过用QPadapt init修改帧j-padapt的QP值)并且在4135处将计数器cntadapt清零。否则,执行过程4100的系统可在4140处分配更少的位(例如,通过向该帧分配QP修改量值QP0 init)。可通过使用诸如MEMC构架模块105的MEMC构架模块导出运动补偿SAD。也可使用其它的误差度量。短期平均可被用于使决定阈值适应局部场景统计并由下式给出:
SAD ave short - term = &Sigma; i = j - n ref + 1 j SAD j - p hier ( j ) 式25
这里,长期MAD由下式给出:
SAD ave short - term = &Sigma; i = 0 j SAD j - p hier ( j ) . 式26
阈值tstatic是浮点数。在一些实现中,tstatic具有约0.15的值。在一些实现中,QP修改量QPadapt init可被适应于局部区域或场景统计。例如,适应性算法可考虑时间、空间和照度信息。例如,
(a)可通过评价SAD误差大小考虑时间相关性。误差大小越大,则分配越少的附加位。在一些实现中,由于大的SAD表示大的运动,因此修改量QPadapt init变小。
(b)可通过评价空间变化考虑空间复杂性。并且,误差大小越大,则分配越少的附加位。在一些实现中,修改量QPadapt init变小。
(c)高的照度遮蔽压缩伪像,并且,可通过例如减小修改量减少附加位的数量。然而,较暗的场景易于出现更多的压缩伪像,并且,可通过例如增加修改量的值增加附加位的数量。
示例性系统
图42示出可使用这里描述的技术中的任一种(或任意组合)的系统的例子。可以在一个或更多个计算机4205A、4205B上使用这些技术。可以用计算机和/或视频显示器4220、传送、处理和重放系统实现或在其中使用这里的一种或更多方法(例如,算法/过程)。这里描述的计算机可以是任意类型的计算机,包括通用型或诸如工作站的一些特定用途计算机。计算机4205B可以为例如运行Windows XPTM、VistaTM或LinuxTM的基于Intel或AMD的计算机,或者可以是Macintoch计算机。例如,实施例可涉及诸如PDA 4215、手机4215的手持计算机或膝上型计算机4205A。计算机还可指的是用于图像记录或接收4225、4230、4235、处理、存储4240和数据、特别是视频数据的分配的机器或机器的部分。
这里描述的实施例的任何组合可以是视频系统及其部件的一部分。实施例的任意组合可以是在附图中的任一个中示出的视频编码器的一部分和/或示例性视频的一部分和/或部件/模块的一部分。可以在硬件和/或软件中实现实施例的任意组合。例如,可以用计算机程序实现实施例中的任一个。
可以以C或Python或Java、Brew或任何其它的编程语言书写计算机和/或图形程序。程序可驻留于例如计算机硬盘驱动器、诸如记忆棒或SD介质的可去除盘或介质的例如磁学或光学的存储介质、基于有线或无线网络或基于蓝牙(或其它)的网络固定存储器(NAS)或其它的固定或可去除介质上。例如,程序还可在网络4250上运行,使得服务器或其它的机器向本地机器发送允许本地机器实施这里描述的的操作的通信。网络可包含存储区域网络(SAN)。
虽然以上仅详细描述几个实施例,但其它的实施例是可能的。应当理解,本发明的实施例可包含这里描述的示例性技术的一个或更多个的等同物或替代。本说明书说明特定的例子从而以另一方式实现更一般的目标。该描述应被理解为代表示例性实施例,并且,后面的权利要求意图在于包含任何的等同物、修改或替代方式。
可以在数字电子电路中或在包含在本说明书中公开的结构和它们的结构等同物的计算机软件、固件或软件中或在它们中的一个或更多个的组合中实现在本说明书中描述的主题和功能操作的实施例。可以作为一个或更多个计算机程序产品实现在本说明书中描述的主题的实施例,例如,一个或更多个计算机程序产品为在计算机可读介质上编码的由数据处理装置执行或控制其操作的计算机程序指令的一个或更多个模块。计算机可读介质可以是机器可读存储装置4240、机器可读存储基板、存储装置、实现机器可读传播、处理通信的物质成分或它们中的一个或更多个的组合。术语“数据处理装置”包含所有的用于处理数据的装置、设备和机器,作为例子包括可编程处理器、计算机或多个处理器或计算机。除了硬件以外,装置可包含产生讨论的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、图形系统、数据库管理系统、操作系统或它们中的一个或更多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以包括编译或解释语言的任意形式的编程语言被书写,并且它可以以任何形式被展开,包括展开为适用于计算环境中的单机程序或模块、部件、子程序或其它的单元。计算机程序未必与文件系统中的文件对应。程序可被存储于保持其它的程序或数据的文件(例如,存储于标记语言文档中的一个或更多个脚本)的一部分中、存储于专用于讨论中的程序的单一文件中、或存储于多个协同文件(例如,存储一个或更多个模块、子程序或代码的多个部分的文件)中。计算机程序可被展开以在一个计算机上或在位于一个地点或位于分布的多个地点并且通过通信网络互连的多个计算机上被执行。
可以由通过在输入数据上操作并且产生输出执行一个或更多个计算机程序以执行功能的一个或更多个可编程处理器执行在本说明书中说明和描述的处理和逻辑流程和示图。还可通过例如FPGA(场可编程门阵列)或诸如微控制器的另一可编程逻辑器件(PLD)或ASIC(应用特定集成电路)的特定用途逻辑电路执行处理和逻辑流程,并且,也可作为该特定用途逻辑电路实现装置。
作为例子,适用执行计算机程序的处理器包含通用或特定用途微处理器以及任何类型的数字计算机的任意一个或更多个处理器。一般地,处理器可从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行指令的处理器和用于存储指令和数据的一个或更多个存储器装置。一般地,计算机还可包含一个或更多个用于存储数据的例如磁盘、磁光盘或光盘的大规模存储装置,或者可操作地与其耦合以从和/或向其接收和/或传送数据。但是,计算机不需要具有这种装置。并且,计算机可被嵌入另一装置中,作为该装置的几种例子,可以举出移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器。适于存储计算机程序指令和数据的计算机可读介质包含所有形式的非易失性存储器、介质和存储装置,作为例子包含半导体存储装置,例如EPROM、EEPROM和闪存装置;磁盘,例如,内部硬盘或可去除盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可由特定用途逻辑电路补充或被加入其中。
为了提供与用户的交互作用,可以在具有用于向用户显示信息的例如CRT(阴极射线管)、LCD(液晶显示器)或等离子显示监视器的显示装置4220和用户可借由向计算机提供输入的键盘和例如指示装置、鼠标或跟踪球的选择器的计算机上实现在本说明书中描述的主题的一些实施例。也可以使用其它的类型的装置,以提供与用户的交互作用:例如,向用户提供的反馈可以是任何形式的传感器反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且,来自用户的输入可以以任何形式被接收,包括声学、语音或触觉输入。
可以在包含例如作为数据服务器的后端部件、或包含例如应用服务器的中端部件或包含例如具有用户可借由与在本说明书中描述的主题的实施例交互作用的图形用户界面或网络浏览器的客户计算机的前端部件或一个或更多个这种后端、中端或前端部件的任意组合的计算系统中实现在本说明书中描述的主题的一些实施例。系统的部件可以通过例如通信网络的数字数据通信的任意形式或介质互连。通信网络的例子包含局域网(“LAN”)和例如因特网的广域网(“WAN”)。
计算系统可包含客户机和服务器。客户机和服务器一般相互远离并且一般通过通信网络交互作用。客户机和服务器借由在各计算机上运行并且相互具有客户机-服务器关系的计算机程序发生关系。
虽然本公开包含许多的细节,但是它们不应被解释为对可要求保护的权利的限制,而应被解释为本发明的特定实施例的特定特征的描述。还可在单个实施例中组合实现在各单独的实施例的上下文中在本说明书中描述的某些特征。相反,还可单独地或在任何适当的子组合中在多个实施例中实现在单个实施例的上下文中描述的各种特征。并且,虽然以上特征可被描述为在某些组合中起作用并且甚至因而要求如此保护,但是,在一些情况下可以从组合去除来自要求保护的组合的一个或更多个特征,并且,要求保护的组合可针对子组合或子组合的变更方式。
类似地,虽然以特定的次序在附图中示出操作,但这不应被理解为要求以示出的特定次序或依次执行这些操作或者执行所有示出的操作以实现希望的结果。在某些情况下,多任务和并行的处理会是有利的。并且,以上描述的实施例中的各种系统部件的分开不应被理解为在所有的实施例中需要这种分开,并且,应当理解,描述的程序部件和系统一般可在单一的软件或硬件产品中被集成在一起,或者被封装到多个软件或硬件产品中。
已描述了大量的实现。然而,应当理解,可进行各种修改。例如,可通过使用基于诸如与当前帧的类似性的时间距离以外的准则选择的基准帧执行运动估计。例如,在一些实现中,可以在先前过滤帧上执行运动估计和/或运动补偿。基准帧可被空间过滤或空间-时间过滤。在一些实现中,帧可在被用作基准帧之前被过滤多次。可通过使用串联的连续的滤波器过滤输入的一系列的帧。在一些实现中,解块滤波器可后跟低通滤波器和增强滤波器。第一滤波器可减少块化伪像,第二个可减少噪声,最后的一个可增强可能由于前两个滤波器衰减的细节。在一些实现中,滤波器可被并联施加,并且,它们的输出以线性或非线性的方式被组合。在一些实现中,可以使用并联和串联的滤波器的组合。在这些情况下,一个过滤配置的输出可被用作另一过滤配置的输入。
作为另一例子,在一些实现中,解块滤波器可被应用于预测帧。例如,解块滤波器可被应用以减少块化伪像(即,不希望的边界伪像)。在一些实现中,仅向最后的预测帧施加解块滤波器。在其它的实现中,向一个或更多个初步预测帧施加解块滤波器。如果使用不同的运动模型以到达初步预测帧,那么对于初步预测帧应用解块滤波器会是特别有益的。
作为另一例子,视频编码模块2205可从决定模块110以外的一个或更多个器件接收视频表征信息3305。例如,在一些实现中,视频编码模块2205可直接从模块105、505、705中的一个或更多个接收视频表征信息3305。
因此,其它的实现在以下的权利要求的范围内。

Claims (89)

1.一种方法,包括:
接收视频信息;
将接收的视频信息中的一个或更多个帧分类为场景;
基于帧的分类调整一个或更多个编码参数;和
根据调整的编码参数将视频信息编码。
2.根据权利要求1的方法,其中,将帧分类包含将帧分类为照相机变焦场景或褪变场景中的一个或更多个。
3.根据权利要求2的方法,其中,将帧分类包含将帧分类为交叉褪变场景。
4.根据权利要求1的方法,其中,将帧分类包含将帧分类为闪光场景。
5.根据权利要求3的方法,其中,将帧分类为闪光场景包含识别闪光场景前面的帧和闪光场景随后的帧之间的低预测误差。
6.根据权利要求1的方法,其中,调整一个或更多个编码参数包含规定将某些帧编码为内部编码帧。
7.根据权利要求1的方法,其中,
将一个或更多个帧分类包含识别场景的开始帧和结束帧中的至少一个;并且,
调整一个或更多个编码参数包含规定将开始帧和结束帧中的至少一个编码为内部编码帧。
8.根据权利要求1的方法,其中,调整一个或更多个编码参数还包含参照开始帧和结束帧中的至少一个规定场景中的内部帧被编码。
9.一种方法,包括:
接收视频信息;
对于视频信息执行运动估计和补偿以产生运动估计和补偿参数的集合;和
基于运动估计和补偿参数将视频信息中的一个或更多个帧分类为场景。
10.根据权利要求9的方法,其中,将一个或更多个帧分类包含基于代表性的运动估计和补偿参数的分量将一个或更多个帧分类为摇摄场景。
11.根据权利要求9的方法,其中,将一个或更多个帧分类包含:
识别两个或更多个帧中的块的运动矢量;
确定块的运动矢量的大小相对地小;
确定块的运动矢量在方向上相关并且在相继的帧上是连续的;和
将两个或更多个帧分类为照相机变焦场景。
12.根据权利要求9的方法,其中,将一个或更多个帧分类为场景包含:
将当前帧的预测误差度量与阈值相比较;和
基于超过阈值的当前帧的预测误差度量识别场景变化。
13.根据权利要求12的方法,其中,将当前帧的预测误差度量与阈值相比较包含:
将当前帧的预测误差度量与涉及相对大量的帧上的预测误差度量的长期阈值相比较;和
将当前帧的预测误差度量与涉及相对少量的帧上的预测误差度量的短期阈值相比较。
14.根据权利要求12的方法,其中,将当前帧的预测误差度量与阈值相比较包含将当前帧和相邻帧的预测误差度量的差值与阈值相比较。
15.根据权利要求9的方法,还包括基于视频编码模块对于运动模型的支持的缺失改变用于将帧编码的位速率。
16.根据权利要求15的方法,其中,改变运动估计和补偿参数包含排除某些帧用作基准帧。
17.根据权利要求15的方法,其中,改变运动估计和补偿参数包含改变最终预测帧中的初步预测帧的权重。
18.根据权利要求15的方法,其中,改变运动估计和补偿参数包含将附加的计算资源分配给预测运动估计。
19.根据权利要求9的方法,还包括:
基于场景分类调整一个或更多个编码参数;和
根据调整的编码参数将场景中的帧编码。
20.根据权利要求19的方法,其中,调整一个或更多个编码参数包含规定将某些帧编码为内部编码帧。
21.根据权利要求19的方法,其中,调整一个或更多个编码参数包含增加用于将场景编码的位分配。
22.一种方法,包括:
接收视频信息;
将接收的视频信息中的一个或更多个帧中的区域分类,其中,所述区域比出现所述区域的帧小;
基于所述区域的分类调整一个或更多个编码参数;和
根据调整的编码参数将所述区域编码。
23.根据权利要求22的方法,其中,调整一个或更多个编码参数包含增加用于将所述区域编码的位分配。
24.根据权利要求22的方法,其中,调整一个或更多个编码参数包含减少所述区域的过滤。
25.根据权利要求22的方法,其中,将区域分类包含将区域分类为暗区域。
26.根据权利要求25的方法,还包括增加用于将暗区域编码的位分配。
27.一种方法,包括:
接收视频信息;
识别接收的视频信息中的场景变化;
基于具有加权预测的预测误差和没有加权预测的预测误差之间的差异将场景分类;和
使得场景的分类可用。
28.一种方法,包括:
接收视频信息;
识别接收的视频信息中的场景变化;
基于场景变化的位置将场景分类;和
使得场景的分类可用。
29.根据权利要求28的方法,还包括通过使用场景的分类制作视频信息的指纹。
30.根据权利要求28的方法,还包括基于场景的分类调整在将视频信息编码时使用的编码参数。
31.根据权利要求28的方法,其中,将场景分类包含基于来自编码模块的反馈将场景分类。
32.根据权利要求28的方法,其中,识别场景变化包含:
识别褪变场景;和
将褪变场景结尾处的帧分类为场景变化。
33.根据权利要求28的方法,其中,识别场景变化包含基于来自当前帧前面的基准帧的加权预测参数和来自当前帧随后的基准帧的加权预测参数检测褪变场景。
34.根据权利要求28的方法,识别场景变化包含:
识别当前场景包含闪光;和
基于当前场景包含闪光的识别排除当前场景被识别为场景变化。
35.一种方法,包括:
接收视频信息的一系列的帧中的亮度的表征;
基于亮度的表征将一系列的帧中的一个或更多个帧分类为场景;和
使得一个或更多个场景分类可用。
36.根据权利要求35的方法,其中,将一个或更多个帧分类包含基于一个或更多个帧之间的亮度的变化量将一个或更多个帧分类为快速褪变或慢速褪变。
37.根据权利要求35的方法,还包括:
基于场景分类调整一个或更多个编码参数;和
根据调整的编码参数将视频信息编码。
38.根据权利要求37的方法,其中,
将一个或更多个帧分类包含将一个或更多个帧分类为暗场景;以及
将视频信息编码包含对于基于的暗场景增加位分配。
39.一种方法,包括:
接收视频信息的一系列的帧;
确定系列中的帧中的每一个的主导运动矢量;和
基于系列中的帧的主导运动矢量识别场景变化。
40.根据权利要求39的方法,其中,确定主导运动矢量包含:
形成体现运动矢量出现的频率的多维运动矢量直方图;和
基于运动矢量在直方图中出现的频率选择主导运动矢量。
41.一种方法,包括:
接收视频信息的一系列的帧中的亮度的表征;
基于亮度的表征,将系列中的帧中的一个或更多个识别为包含闪光;和
排除包含闪光的帧用作运动补偿基准帧。
42.一种系统,包括:
产生表征视频信息的集合中的运动的参数的集合的运动估计和运动预测模块;和
至少部分基于表征视频信息的集合中的运动的参数将视频信息的集合中的一个或更多个场景分类的决定模块。
43.根据权利要求42的系统,其中,
所述系统还包括产生表征视频信息的集合中的亮度的参数的集合的亮度模块,并且,
所述决定模块要至少部分基于表征视频信息的集合中的亮度的参数将一个或更多个场景分类。
44.根据权利要求42的系统,其中,
所述系统还包括产生表征视频信息的集合中的质地和边缘效果的参数的集合的空间分析模块;并且,
所述决定模块要至少部分基于表征视频信息的集合中的质地和边缘效果的参数将一个或更多个场景分类。
45.根据权利要求42的系统,还包括将反馈从决定模块运送到运动估计运动预测模块的数据路径。
46.根据权利要求42的系统,还包括至少部分基于所述一个或更多个场景的分类产生视频信息的集合的视频指纹的视频指纹化模块。
47.根据权利要求42的系统,还包括至少部分基于一个或更多个场景的分类产生编码视频信息的编码模块。
48.根据权利要求47的系统,还包括将反馈从编码模块运送到运动估计运动预测模块的数据路径。
49.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息;
将接收的视频信息中的一个或更多个帧分类为场景;
基于帧的分类调整一个或更多个编码参数;和
根据调整的编码参数将视频信息编码。
50.根据权利要求49的产品,其中,将帧分类包含用于将帧分类为照相机变焦场景或褪变场景中的一个或更多个的指令。
51.根据权利要求50的产品,其中,将帧分类包含用于将帧分类为交叉褪变场景的指令。
52.根据权利要求49的产品,其中,将帧分类包含用于将帧分类为闪光场景的指令。
53.根据权利要求52的产品,其中,将帧分类为闪光场景包含用于识别闪光场景前面的帧和闪光场景随后的帧之间的低预测误差的指令。
54.根据权利要求49的产品,其中,调整一个或更多个编码参数包含用于规定将某些帧编码为内部编码帧的指令。
55.根据权利要求49的产品,其中,
将一个或更多个帧分类包含用于识别场景的开始帧和结束帧中的至少一个的指令;并且,
调整一个或更多个编码参数包含用于规定将开始帧和结束帧中的至少一个编码为内部编码帧的指令。
56.根据权利要求49的产品,其中,用于调整一个或更多个编码参数的指令还包含用于参照开始帧和结束帧中的至少一个规定场景中的内部帧被编码的指令。
57.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息;
对于视频信息执行运动估计和补偿以产生运动估计和补偿参数的集合;和
基于运动估计和补偿参数将视频信息中的一个或更多个帧分类为场景。
58.根据权利要求57的产品,其中,将一个或更多个帧分类包含用于基于代表性的运动估计和补偿参数的分量将一个或更多个帧分类为摇摄场景的指令。
59.根据权利要求57的产品,其中,将一个或更多个帧分类包含用于以下步骤的指令:
识别两个或更多个帧中的块的运动矢量;
确定块的运动矢量的大小相对地小;
确定块的运动矢量在方向上相关并且在相继的帧上是连续的;和
将两个或更多个帧分类为照相机变焦场景。
60.根据权利要求57的产品,其中,将一个或更多个帧分类为场景包含用于以下步骤的指令:
将当前帧的预测误差度量与阈值相比较;和
基于超过阈值的当前帧的预测误差度量识别场景变化。
61.根据权利要求60的产品,其中,用于将当前帧的预测误差度量与阈值相比较的指令包含以下操作:
将当前帧的预测误差度量与涉及相对大量的帧上的预测误差度量的长期阈值相比较;和
将当前帧的预测误差度量与涉及相对少量的帧上的预测误差度量的短期阈值相比较。
62.根据权利要求60的产品,其中,将当前帧的预测误差度量与阈值相比较包含用于将当前帧和相邻帧的预测误差度量的差值与阈值相比较的指令。
63.根据权利要求57的产品,还包括用于基于视频编码模块对于运动模型的支持的缺失改变用于将帧编码的位速率的指令。
64.根据权利要求63的产品,其中,改变运动估计和补偿参数包含用于排除某些帧用作基准帧的指令。
65.根据权利要求63的产品,其中,改变运动估计和补偿参数包含用于改变最终预测帧中的初步预测帧的权重的指令。
66.根据权利要求63的产品,其中,改变运动估计和补偿参数包含用于将附加的计算资源分配给预测运动估计的指令。
67.根据权利要求57的产品,还包括用于以下步骤的指令:
基于场景分类调整一个或更多个编码参数;和
根据调整的编码参数将场景中的帧编码。
68.根据权利要求67的产品,其中,调整一个或更多个编码参数包含规定将某些帧编码为内部编码帧。
69.根据权利要求67的产品,其中,调整一个或更多个编码参数包含增加用于将场景编码的位分配。
70.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息;
将接收的视频信息中的一个或更多个帧中的区域分类,其中,所述区域比出现所述区域的帧小;
基于所述区域的分类调整一个或更多个编码参数;和
根据调整的编码参数将所述区域编码。
71.根据权利要求70的产品,其中,调整一个或更多个编码参数包含增加用于将所述区域编码的位分配。
72.根据权利要求70的产品,其中,调整一个或更多个编码参数包含减少所述区域的过滤。
73.根据权利要求70的产品,其中,将所述区域分类包含将所述区域分类为暗区域。
74.根据权利要求73的产品,还包括用于增加用于将暗区域编码的位分配的指令。
75.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息;
识别接收的视频信息中的场景变化;
基于具有加权预测的预测误差和没有加权预测的预测误差之间的差异将场景分类;和
使得场景的分类可用。
76.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息;
识别接收的视频信息中的场景变化;
基于场景变化的位置将场景分类;和
使得场景的分类可用。
77.根据权利要求76的产品,还包括用于通过使用场景的分类制作视频信息的指纹的指令。
78.根据权利要求76的产品,还包括用于基于场景的分类调整在将视频信息编码时使用的编码参数的指令。
79.根据权利要求76的产品,其中,将场景分类包含用于基于来自编码模块的反馈将场景分类的指令。
80.根据权利要求76的产品,其中,识别场景变化包含以下指令:
识别褪变场景;和
将褪变场景结尾处的帧分类为场景变化。
81.根据权利要求76的产品,其中,识别场景变化包含用于基于来自当前帧前面的基准帧的加权预测参数和来自当前帧随后的基准帧的加权预测参数检测褪变场景的指令。
82.根据权利要求76的产品,其中,识别场景变化包含:
识别当前场景包含闪光;和
基于当前场景包含闪光的识别排除当前场景被识别为场景变化。
83.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息的一系列的帧中的亮度的表征;
基于亮度的表征将一系列的帧中的一个或更多个帧分类为场景;和
使得一个或更多个场景分类可用。
84.根据权利要求83的产品,其中,将一个或更多个帧分类包含用于基于一个或更多个帧之间的亮度的变化量将一个或更多个帧分类为快速褪变或慢速褪变的指令。
85.根据权利要求83的产品,还包括以下的指令:
基于场景分类调整一个或更多个编码参数;和
根据调整的编码参数将视频信息编码。
86.根据权利要求85的产品,其中,
将一个或更多个帧分类包含将一个或更多个帧分类为暗场景;以及
将视频信息编码包含对于基于的暗场景增加位分配。
87.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息的一系列的帧;
确定系列中的帧中的每一个的主导运动矢量;和
基于系列中的帧的主导运动矢量识别场景变化。
88.根据权利要求87的产品,其中,确定主导运动矢量包含用于以下步骤的指令:
形成体现运动矢量出现的频率的多维运动矢量直方图;和
基于运动矢量在直方图中出现的频率选择主导运动矢量。
89.一种可触知地编码于计算机可读介质上的计算机程序产品,包括导致数据处理装置执行视频编码操作的指令,这些操作包括:
接收视频信息的一系列的帧中的亮度的表征;
基于亮度的表征,将系列中的帧中的一个或更多个识别为包含闪光;和
排除包含闪光的帧用作运动补偿基准帧。
CN200880115862.1A 2007-09-28 2008-09-08 处理视频信息 Expired - Fee Related CN101855911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310046871.2A CN103124354B (zh) 2007-09-28 2008-09-08 处理视频信息

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US97624107P 2007-09-28 2007-09-28
US60/976,241 2007-09-28
PCT/US2008/075600 WO2009045682A2 (en) 2007-09-28 2008-09-08 Treating video information

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201310046871.2A Division CN103124354B (zh) 2007-09-28 2008-09-08 处理视频信息

Publications (2)

Publication Number Publication Date
CN101855911A true CN101855911A (zh) 2010-10-06
CN101855911B CN101855911B (zh) 2013-06-19

Family

ID=40508274

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310046871.2A Expired - Fee Related CN103124354B (zh) 2007-09-28 2008-09-08 处理视频信息
CN200880115862.1A Expired - Fee Related CN101855911B (zh) 2007-09-28 2008-09-08 处理视频信息

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201310046871.2A Expired - Fee Related CN103124354B (zh) 2007-09-28 2008-09-08 处理视频信息

Country Status (6)

Country Link
US (2) US8243790B2 (zh)
EP (1) EP2193663B1 (zh)
JP (2) JP5524063B2 (zh)
CN (2) CN103124354B (zh)
HU (1) HUE037450T2 (zh)
WO (1) WO2009045682A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572424A (zh) * 2010-12-28 2012-07-11 索尼公司 图像处理设备、方法和程序
CN104754356A (zh) * 2011-11-08 2015-07-01 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
US9307240B2 (en) 2011-08-29 2016-04-05 Ntt Electronics Corporation Fade type determination device
WO2016154816A1 (zh) * 2015-03-27 2016-10-06 华为技术有限公司 数据处理方法及装置
CN106101706A (zh) * 2016-06-30 2016-11-09 华为技术有限公司 一种图像编码方法及装置
CN113676729A (zh) * 2021-07-12 2021-11-19 杭州未名信科科技有限公司 一种视频编码的方法、装置、计算机设备及存储介质
CN115630191A (zh) * 2022-12-22 2023-01-20 成都纵横自动化技术股份有限公司 基于全动态视频的时空数据集检索方法、装置及存储介质

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI401944B (zh) * 2007-06-13 2013-07-11 Novatek Microelectronics Corp 用於視訊處理系統之雜訊消除裝置
CN101803363B (zh) * 2007-09-10 2013-09-18 英属开曼群岛商泰鼎微系统股份有限公司 用于视频图像数据中的基于行的运动估计的方法和装置
CN105898312A (zh) * 2007-10-05 2016-08-24 汤姆逊许可公司 用于视频编解码中速率控制精度的方法和装置
KR101336951B1 (ko) * 2007-11-02 2013-12-04 삼성전자주식회사 휴대 단말기 및 그 파노라마 이미지 촬영 모드 수행 방법
US8570375B1 (en) * 2007-12-04 2013-10-29 Stoplift, Inc. Method and apparatus for random-access review of point of sale transactional video
JP5191240B2 (ja) * 2008-01-09 2013-05-08 オリンパス株式会社 シーン変化検出装置およびシーン変化検出プログラム
WO2009093472A1 (ja) * 2008-01-24 2009-07-30 Panasonic Corporation 動画像圧縮装置
BRPI0910822A2 (pt) * 2008-03-10 2015-10-06 Koninkl Philips Electronics Nv método e aparelho para reproduzir um fluxo de dados de vídeo, e, produto de programa de computador
JP4963680B2 (ja) * 2008-03-27 2012-06-27 株式会社メガチップス 画像処理装置
US8195001B2 (en) 2008-04-09 2012-06-05 Intel Corporation In-loop adaptive wiener filter for video coding and decoding
TW201004361A (en) * 2008-07-03 2010-01-16 Univ Nat Cheng Kung Encoding device and method thereof for stereoscopic video
US8175161B1 (en) * 2008-09-12 2012-05-08 Arecont Vision, Llc. System and method for motion estimation
EP2345258A4 (en) * 2008-11-12 2012-04-25 Thomson Licensing ELIMINATION OF FRAME SCINTILLE I FOR MULTIPHREAD VIDEO CODING PARALLEL TO THE GOP
WO2010056315A1 (en) * 2008-11-13 2010-05-20 Thomson Licensing Multiple thread video encoding using gop merging and bit allocation
US8665326B2 (en) * 2009-01-30 2014-03-04 Olympus Corporation Scene-change detecting device, computer readable storage medium storing scene-change detection program, and scene-change detecting method
US8269885B2 (en) * 2009-04-03 2012-09-18 Samsung Electronics Co., Ltd. Fade in/fade-out fallback in frame rate conversion and motion judder cancellation
GB2469528B (en) * 2009-04-18 2011-10-05 Saffron Digital Ltd Transcoding video data
US8537175B1 (en) * 2009-05-07 2013-09-17 Google Inc. Video enhancement for large scale applications
US9001889B2 (en) * 2009-05-16 2015-04-07 Thomson Licensing Methods and apparatus for improved quantization rounding offset adjustment for video encoding and decoding
US9179161B2 (en) * 2009-05-20 2015-11-03 Nissim Nissimyan Video encoding
US8498330B2 (en) * 2009-06-29 2013-07-30 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus for coding mode selection
US8588296B2 (en) * 2009-07-02 2013-11-19 Dialogic Corporation Bitrate control algorithm for video transcoding systems
JP2011029987A (ja) * 2009-07-27 2011-02-10 Toshiba Corp 圧縮歪除去装置
DK2476255T3 (en) 2009-09-10 2018-08-06 Guangdong Oppo Mobile Telecommunications Corp Ltd ACCELERATION TECHNIQUES FOR DISTORTION GRADE OPTIMIZED QUANTIZATION
EP2514207A2 (en) * 2009-12-14 2012-10-24 Thomson Licensing Object-aware video encoding strategies
US20160182971A1 (en) * 2009-12-31 2016-06-23 Flickintel, Llc Method, system and computer program product for obtaining and displaying supplemental data about a displayed movie, show, event or video game
JP2011227153A (ja) * 2010-04-15 2011-11-10 Canon Inc 画像表示装置、画像表示方法
KR101791078B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
JP2011259204A (ja) * 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号装置およびその方法とプログラム
EP2424243B1 (en) * 2010-08-31 2017-04-05 OCT Circuit Technologies International Limited Motion estimation using integral projection
JP5509390B2 (ja) 2010-09-03 2014-06-04 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ符号化および処理のための照明補償および遷移のための方法およびシステム
US20120069895A1 (en) * 2010-09-17 2012-03-22 David Frederique Blum High Quality Video Encoder
US9055305B2 (en) 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
WO2012072402A1 (en) * 2010-11-29 2012-06-07 Thomson Licensing Method and device for reconstructing a self-similar textured region of an image
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
US9161041B2 (en) 2011-01-09 2015-10-13 Mediatek Inc. Apparatus and method of efficient sample adaptive offset
US9071851B2 (en) 2011-01-10 2015-06-30 Qualcomm Incorporated Adaptively performing smoothing operations
JP6327435B2 (ja) 2011-03-03 2018-05-23 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、及び、画像復号装置
WO2012126627A1 (en) * 2011-03-22 2012-09-27 Panasonic Corporation Classifications in cascaded filtering
CN102740106B (zh) * 2011-03-31 2014-12-03 富士通株式会社 在视频中检测摄像机运动类型的方法及装置
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
US8804820B2 (en) * 2011-04-21 2014-08-12 Dialogic Corporation Rate control with look-ahead for video transcoding
US9232233B2 (en) * 2011-07-01 2016-01-05 Apple Inc. Adaptive configuration of reference frame buffer based on camera and background motion
KR101175597B1 (ko) * 2011-09-27 2012-08-21 (주)올라웍스 아다부스트 학습 알고리즘을 이용하여 얼굴 특징점 위치를 검출하기 위한 방법, 장치, 및 컴퓨터 판독 가능한 기록 매체
JP2014241457A (ja) * 2011-10-04 2014-12-25 シャープ株式会社 シーンチェンジ検出装置、表示装置、シーンチェンジ検出方法およびシーンチェンジ検出プログラム
US10051289B2 (en) 2011-11-04 2018-08-14 Qualcomm Incorporated Adaptive center band offset filter for video coding
US8774146B2 (en) * 2011-12-19 2014-07-08 Alcatel Lucent Large-scale antenna method and apparatus of wireless communication with suppression of intercell interference
US10536726B2 (en) * 2012-02-24 2020-01-14 Apple Inc. Pixel patch collection for prediction in video coding system
US9326008B2 (en) 2012-04-10 2016-04-26 Google Inc. Noise reduction for image sequences
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
JP6046923B2 (ja) * 2012-06-07 2016-12-21 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
US9451288B2 (en) 2012-06-08 2016-09-20 Apple Inc. Inferred key frames for fast initiation of video coding sessions
US9270993B2 (en) 2012-09-10 2016-02-23 Apple Inc. Video deblocking filter strength derivation
EP2952003B1 (en) * 2013-01-30 2019-07-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US8731282B1 (en) * 2013-02-28 2014-05-20 Sonic Ip, Inc. Systems and methods for region of interest background smoothing and compression enhancement
US9813706B1 (en) * 2013-12-02 2017-11-07 Google Inc. Video content analysis and/or processing using encoding logs
US20150172680A1 (en) * 2013-12-16 2015-06-18 Arris Enterprises, Inc. Producing an Output Need Parameter for an Encoder
CN104980677B (zh) * 2014-04-02 2018-12-14 联想(北京)有限公司 一种在视频中添加标签的方法及装置
FR3022724A1 (fr) * 2014-06-19 2015-12-25 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
CN104202604B (zh) * 2014-08-14 2017-09-22 深圳市腾讯计算机系统有限公司 视频增强的方法和装置
US20160057428A1 (en) * 2014-08-21 2016-02-25 Facebook, Inc. Systems and methods for blurriness bounding for videos
US9799376B2 (en) * 2014-09-17 2017-10-24 Xiaomi Inc. Method and device for video browsing based on keyframe
DE102014220809A1 (de) * 2014-10-14 2016-04-14 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Detektieren eines sich bewegenden Objekts
MX2017008666A (es) * 2015-01-05 2017-11-17 Arris Entpr Llc Uso de estadisticas del filtro temporal de movimiento compensado (mctf) para deteccion de cambio de escena cuando ocurre una atenuacion, disolucion o corte.
JP6496166B2 (ja) * 2015-03-13 2019-04-03 日本放送協会 予測符号化判定装置、符号化装置、及びプログラム
US10735773B2 (en) * 2015-06-04 2020-08-04 Apple Inc. Video coding techniques for high quality coding of low motion content
CN107409211B (zh) * 2015-07-30 2019-10-22 华为技术有限公司 一种视频编解码方法及装置
KR20170054900A (ko) * 2015-11-10 2017-05-18 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN105898106A (zh) * 2015-12-11 2016-08-24 乐视云计算有限公司 场景切换帧判断方法及装置
JP6789682B2 (ja) * 2016-06-13 2020-11-25 キヤノン株式会社 撮像装置、その制御方法、及びプログラム
WO2018028615A1 (en) * 2016-08-12 2018-02-15 Mediatek Inc. Methods and apparatuses of predictor-based partition in video processing system
CN107071577A (zh) * 2017-04-24 2017-08-18 安徽森度科技有限公司 一种视频传送签名方法
US20190045213A1 (en) * 2017-08-03 2019-02-07 Intel Corporation Reference frame reprojection for improved video coding
US10623744B2 (en) * 2017-10-04 2020-04-14 Apple Inc. Scene based rate control for video compression and video streaming
US10681374B2 (en) * 2017-11-16 2020-06-09 Google Llc Diversified motion using multiple global motion models
US11093788B2 (en) * 2018-02-08 2021-08-17 Intel Corporation Scene change detection
JP7014041B2 (ja) * 2018-05-11 2022-02-01 株式会社デンソー レーダ装置
CN109120934B (zh) * 2018-09-25 2020-06-23 杭州电子科技大学 一种适用于hevc视频编码的帧级量化参数计算方法
US20200169760A1 (en) * 2018-11-28 2020-05-28 Ati Technologies Ulc Scene change detection and handling
CN109685036B (zh) * 2019-01-07 2020-10-27 哈尔滨工业大学(深圳) 一种结构响应缓变和瞬变成分分离方法
US11310496B2 (en) * 2019-03-27 2022-04-19 Ati Technologies Ulc Determining quality values for blocks of encoded video
CN110248195B (zh) * 2019-07-17 2021-11-05 北京百度网讯科技有限公司 用于输出信息的方法和装置
US11128688B2 (en) * 2019-10-16 2021-09-21 Disney Enterprises, Inc. Transcoder conditioning for segment fluidity
CN113518227B (zh) * 2020-04-09 2023-02-10 于江鸿 数据处理的方法和系统
US20210325508A1 (en) * 2021-06-24 2021-10-21 Intel Corporation Signal-to-Noise Ratio Range Consistency Check for Radar Ghost Target Detection
US11599605B1 (en) * 2021-11-09 2023-03-07 Hidden Pixels, LLC System and method for dynamic data injection

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US646310A (en) * 1899-06-26 1900-03-27 Nathan Goldtree Device for convenient filling of lamps.
JPH0422A (ja) 1990-04-13 1992-01-06 Viscodrive Japan Kk ビスカスカップリング
JPH042276A (ja) * 1990-04-19 1992-01-07 Fuji Photo Film Co Ltd 画像信号圧縮符号化装置
US6178265B1 (en) * 1994-09-22 2001-01-23 Intel Corporation Method and apparatus for motion vector compression
JP3517455B2 (ja) 1994-09-30 2004-04-12 キヤノン株式会社 画像符号化方法及び装置
EP0837608B1 (en) * 1996-10-15 2005-12-28 Matsushita Electric Industrial Co., Ltd. Video and audio coding method and coding apparatus
KR100582856B1 (ko) * 1997-09-23 2006-05-24 코닌클리케 필립스 일렉트로닉스 엔.브이. 움직임 추정 및 움직임 보상된 보간법
KR100243430B1 (ko) * 1997-12-31 2000-02-01 구자홍 적응형 양자화 제어방법
WO1999045713A1 (en) 1998-03-05 1999-09-10 Matsushita Electric Industrial Co., Ltd. Image coding method, image coding / decoding method, image coder, or image recording/reproducing apparatus
US6580829B1 (en) * 1998-09-25 2003-06-17 Sarnoff Corporation Detecting and coding flash frames in video data
JP2002010270A (ja) * 2000-06-27 2002-01-11 Mitsubishi Electric Corp 画像符号化装置及び画像符号化方法
JP4328000B2 (ja) * 2000-08-02 2009-09-09 富士通株式会社 動画像符号化装置および動画像の特殊効果シーン検出装置
JP2002084544A (ja) * 2000-09-06 2002-03-22 Mitsubishi Electric Corp 動画像符号化装置および動画像符号化方法
US7038736B2 (en) * 2000-09-21 2006-05-02 Canon Kabushiki Kaisha Moving image processing apparatus and method, and computer readable memory
US7068722B2 (en) * 2002-09-25 2006-06-27 Lsi Logic Corporation Content adaptive video processor using motion compensation
JP4036328B2 (ja) * 2002-09-30 2008-01-23 株式会社Kddi研究所 動画像データのシーン分類装置
EP1657923A4 (en) * 2004-03-04 2008-04-09 Seiko Epson Corp PROCESSING MOBILE IMAGE DATA
US20060271947A1 (en) * 2005-05-23 2006-11-30 Lienhart Rainer W Creating fingerprints
FR2887731A1 (fr) * 2005-06-23 2006-12-29 Nextream France Sa Methode et dispositif de detection de fondus dans une sequence d'images
JP4236654B2 (ja) * 2005-09-13 2009-03-11 株式会社東芝 動画像符号化装置及びその方法
US8879856B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572424A (zh) * 2010-12-28 2012-07-11 索尼公司 图像处理设备、方法和程序
US9307240B2 (en) 2011-08-29 2016-04-05 Ntt Electronics Corporation Fade type determination device
CN104796724B (zh) * 2011-11-08 2017-07-07 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
CN104754356A (zh) * 2011-11-08 2015-07-01 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
CN104768010A (zh) * 2011-11-08 2015-07-08 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
CN104796724A (zh) * 2011-11-08 2015-07-22 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
US9332273B2 (en) 2011-11-08 2016-05-03 Samsung Electronics Co., Ltd. Method and apparatus for motion vector determination in video encoding or decoding
US9451282B2 (en) 2011-11-08 2016-09-20 Samsung Electronics Co., Ltd. Method and apparatus for motion vector determination in video encoding or decoding
CN104768010B (zh) * 2011-11-08 2017-07-07 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
WO2016154816A1 (zh) * 2015-03-27 2016-10-06 华为技术有限公司 数据处理方法及装置
CN106101706A (zh) * 2016-06-30 2016-11-09 华为技术有限公司 一种图像编码方法及装置
CN106101706B (zh) * 2016-06-30 2019-11-19 华为技术有限公司 一种图像编码方法及装置
CN110769255A (zh) * 2016-06-30 2020-02-07 华为技术有限公司 一种图像编码方法及装置
CN110769255B (zh) * 2016-06-30 2022-04-22 华为技术有限公司 一种图像编码方法及装置
CN113676729A (zh) * 2021-07-12 2021-11-19 杭州未名信科科技有限公司 一种视频编码的方法、装置、计算机设备及存储介质
CN115630191A (zh) * 2022-12-22 2023-01-20 成都纵横自动化技术股份有限公司 基于全动态视频的时空数据集检索方法、装置及存储介质
CN115630191B (zh) * 2022-12-22 2023-03-28 成都纵横自动化技术股份有限公司 基于全动态视频的时空数据集检索方法、装置及存储介质

Also Published As

Publication number Publication date
JP2013138489A (ja) 2013-07-11
EP2193663B1 (en) 2017-11-08
JP5524063B2 (ja) 2014-06-18
CN103124354B (zh) 2016-01-20
EP2193663A2 (en) 2010-06-09
JP5714042B2 (ja) 2015-05-07
US20120275514A1 (en) 2012-11-01
WO2009045682A3 (en) 2010-09-16
US8750372B2 (en) 2014-06-10
CN103124354A (zh) 2013-05-29
WO2009045682A2 (en) 2009-04-09
HUE037450T2 (hu) 2018-09-28
US8243790B2 (en) 2012-08-14
JP2011507314A (ja) 2011-03-03
CN101855911B (zh) 2013-06-19
US20090086814A1 (en) 2009-04-02

Similar Documents

Publication Publication Date Title
CN101855911B (zh) 处理视频信息
CN104885455B (zh) 一种用于视频编码的计算机实现的方法及装置
CN102165772B (zh) 自适应视频编码器控制
EP1639829B1 (en) Optical flow estimation method
CN107925775A (zh) 基于双向预测光流技术的视频编解码的运动补偿方法及装置
CN104159060B (zh) 预处理器方法及设备
KR20120114263A (ko) 객체-인식 비디오 인코딩 전략
Ndjiki-Nya et al. Perception-oriented video coding based on image analysis and completion: A review
Muhit et al. Video coding using fast geometry-adaptive partitioning and an elastic motion model
Chen et al. Improving video coding quality by perceptual rate-distortion optimization
Philip et al. A comparative study of block matching and optical flow motion estimation algorithms
Chen et al. Rough mode cost–based fast intra coding for high-efficiency video coding
Yoneyama et al. MPEG encoding algorithm with scene adaptive dynamic GOP structure
Bachu et al. Adaptive order search and tangent-weighted trade-off for motion estimation in H. 264
Chen et al. Multisource surveillance video coding with synthetic reference frame
Liu et al. Hierarchical motion-compensated deep network for video compression
Hill et al. Sub-pixel motion estimation using kernel methods
Gu et al. Low complexity Bi-Partition mode selection for 3D video depth intra coding
Cai et al. Object-based video coding with dynamic quality control
Roitzsch et al. Video quality and system resources: Scheduling two opponents
Fan et al. Spatiotemporal segmentation based on two-dimensional spatiotemporal entropic thresholding
US7706440B2 (en) Method for reducing bit rate requirements for encoding multimedia data
Lin et al. Coding unit partition prediction technique for fast video encoding in HEVC
JP2008072608A (ja) 画像符号化装置及び画像符号化方法
Fu et al. Fast global motion estimation based on local motion segmentation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20180703

Address after: No. 18, Wu Sha seashore road, Changan Town, Dongguan, Guangdong

Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: American California

Patentee before: DOLBY LABORATORIES LICENSING Corp.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130619

CF01 Termination of patent right due to non-payment of annual fee