CN102113328B - 确定用于比较运动补偿视频编码中的图像块的度量的方法和系统 - Google Patents
确定用于比较运动补偿视频编码中的图像块的度量的方法和系统 Download PDFInfo
- Publication number
- CN102113328B CN102113328B CN2008801305832A CN200880130583A CN102113328B CN 102113328 B CN102113328 B CN 102113328B CN 2008801305832 A CN2008801305832 A CN 2008801305832A CN 200880130583 A CN200880130583 A CN 200880130583A CN 102113328 B CN102113328 B CN 102113328B
- Authority
- CN
- China
- Prior art keywords
- pixel
- mode matrix
- unit
- matrix
- motion
- 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.)
- Expired - Fee Related
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 177
- 238000000034 method Methods 0.000 title claims abstract description 71
- 239000011159 matrix material Substances 0.000 claims description 131
- 239000013598 vector Substances 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000003068 static effect Effects 0.000 claims description 8
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000005070 sampling Methods 0.000 description 5
- 238000005303 weighing Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003455 independent Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
描述了这样的方法和系统,其确定衡量用于景象的运动补偿视频编码中的两个图像块之间的区别的度量。仅处理所述景象中的块中的选择的像素以提高所述度量计算的速度。
Description
技术领域
本发明涉及运动补偿视频编码领域,具体地,涉及确定用于比较运动补偿视频编码中的图像块的度量的改进的方法和系统。
背景技术
对于网络运营商而言,包含各种内容类型(包括文本、音频和视频)的多媒体提供了巨大的商机和收入机会。高带宽的可用性和分组交换的因特网协议(IP)技术的使用使得传输丰富的内容(包括如下各种的组合:文本、话音、静止图片和动画、照片、视频剪辑以及音乐)成为可能。为了利用这种市场潜能,网络运营商必须满足客户对于质量和可靠性的期望。对于在现今的包括移动终端、蜂窝电话、计算机以及其它电子设备的异构网络中呈现多媒体应用而言,服务器级的媒体的转码是至关重要的。因为各种设备经常是资源受限的,并且很少能够自己改变媒体,所以必须在服务提供商级执行媒体的适配以及转换。这对于服务提供商而言是很重要的问题,因为他们将不得不在今后的几年中面对特别急剧的业务量增长;这种增长远超出可以单独从新的硬件获得的速度提升。使用增加服务器数量的硬办法(brute-force approach)是不够的。此外,服务器数量的增加将导致功耗、散热和空间方面成比例的增加。改善系统性能并处理业务量的大量增长的另外的方法是设计用于视频编码的智能技术,视频编码形成多媒体改变的重要的和资源密集的方面。
运动补偿视频编码处理包括块的景象,每个块包括多个像素。本质上所有的现代视频编解码器使用运动补偿编码,其中相对于多个先前帧来对帧进行编码,从而利用时间上的依赖性并获得更好的压缩。运动补偿视频编码的最密集的运算方面是运动估计方面。这通过估计景象的对象从一个帧到下一个帧的位移的运动估计算法来执行。这些估计用于创建合成帧,其中使得所述景象变形以匹配对象的估计的运动。这种合成帧用作差分编码的当前帧的预测器。这样的运动估计算法计算量巨大,占编码器的运行时间的绝大部分,分辨率也随之增加,从而是优化的自然目标。
相当大的努力涉及基于块的运动估计问题,该问题是对从参考帧复制的小矩形区域构造预测帧的一般问题的简化。下面将提供基于块的运动估计的讨论。对于在本文件中提供的说明,假定基本块是16×16像素。注意到相同的构思可应用于不同大小的块。系统的目的是产生用于正在被编码的当前帧的预测帧。通过根据给定参考帧来差分编码当前帧而生成该预测帧。对于当前帧中的每个16×16块,系统查寻参考帧中的最匹配的块。该搜索检查参考帧中的大量块(不必排列在16×16的边界上)并选择最小化与当前帧的区别的块。运动矢量(作为运动估计过程中的关键元素)是相对于(在当前帧中的)当前块的位置仅仅对(参考帧中的)最匹配的块的偏移。于是将最匹配的块复制到补偿帧或预测帧中的当前块的位置处。在这种处理之后,预测帧是考虑到仅允许复制块时可以从参考帧建立的最佳近似(根据选择的衡量图像块之间的区别的度量)。补偿帧用作差分编码当前帧的预测器。
现在将在下面简要讨论选择的现有技术文献。研究沿着不同的方向进行。S.Borman、M.Robertson、R.L Stevenson的“Block MatchingSub-pixel Motion Estimation from Noisy,Undersampled Frames”(SPIEVisual Communications and Image Processing Conference 1999)介绍了涉及在SAD、MSE和NCF中的噪音和采样误差的效果的实验研究。W.Li、E.Salari的文章“Successive Elimination Algorithm for Motion Estimation”(IEEE Transactions on Image Processing,Volume 4,Issue 1,January1995,第105-107页)探讨了用于设计针对快速运动估计的动态编程等的方法的SAD和MSE的属性。该作者致力于算法,该算法不需要在解空间中穷举搜索,并讨论将使用现有的度量的怎样的属性;它们并没有提出任何新的度量。F.Tombari、S.Mattocia、L.di Stefano的“TemplateMatching Based on Lp Norm Using Sufficient Conditions with IncrementalApproximation”(IEEE International Conference on Video and SignalBased Surveillance,November 2006,第20页)扩展了Li和Salari的工作。该文章使用类似的动态编程方法来计算快速版本的度量。
U.Koc和K.J.R.Liu的“Interpolation-free Subpixel MotionEstimation Technique in DCT Domain”(IEEE Transactions on Circuitsand Systems for Video Technology,Volume 8,lssue 4,August 1998,第460-487页)致力于子像素级,并通过使用DCT域中的技术试图来避免空间域中的子像素内插,DCT域中的技术至少和在空间域中使用的技术一样的复杂。适当地扩展度量以处理到DCT域的变换。S.Lee、Soo-lk Chae的另一篇文章“Two-step Motion Estimation Algorithm using LowResolution Quantization”(International Conference on Image Processing,Volume 3,September 1996,第795-798页)致力于运动估计技术。该文章介绍了SAD匹配的“失败的快速”方法。首先对图像进行量化,从而减少了每个像素的精度,例如从每个像素8位到每个像素4位。第一函数使用减少的精度版本比较两个块。如果结果是可接受的,进行到使用全精度度量。尽管该研究在概念上通过硬件实现来呈现,但是当运行代码的处理器提供这样的装置时它没有考虑有效利用包括SAD的单指令多数据(SIMD)指令集。本发明的重要方面是通过使用优化SIMD指令集的这种性能来减少在计算度量中所需的时间,该指令集设置在当今的市场中可用的商用处理器中。
在C.-K.Cheung、L.-M.Po的“A Hierarchical Block MotionEstimation Algorithm using Partial Distortion Measure”(InternationalConference on Image Processing,Volume 3,October 1997,第606-609页)中报告的研究通过使用规则网格采样来使用像素采样,其完全等同于普通的二次采样。他们使用(或者在五点形模式中的,或者一个在两列中的,一个在两行中的)1/2或1/4像素来计算SAD/MSE。对照1/4网格SAD来检验块。如果SAD/MSE是n个较好的中之一,它将保持到下一轮,在下一轮将使用1/2网格密度。如果属于从之前轮中获得的n个较好的,m将维持,并通过全SAD来彻底检验。不幸地,由Cheung和Po提出的方法不能有效利用SIMD类型并行操作。
在Y.-L.Chan、W.-C.Siu的“New Adaptive Pixel Decimation for BlockMotion Vector Estimation”(IEEE Transactions on Circuits and Systemsfor Video Technology,Volume 6,Issue 1,February 1996,第113-118页)中报告的研究与Cheung和Po的文章类似。然而,Chan和Siu使用不同的采样模式:规则的但排除五点形。他们考虑密度1/4和1/9的模式(1在2×2中或一个在3×3中),并且他们不考虑子像素估计。
因此,已经在用于块比较的现有编解码器中使用了衡量图像块之间的区别的各种类型的度量,在下面的讨论中也称为度量。无论使用什么具体的度量,其计算的结果都是计算量巨大。
因此,在业界需要一种改进和有效的方法和系统,用于快速计算衡量图像块之间的区别的度量。
发明内容
因此,本发明的目的是提供一种改进的方法和系统,用于计算衡量在运动补偿视频编码期间用于比较块的两个图像块之间的区别的度量。
根据本发明的一个方面,提供一种确定用于景象的运动补偿视频编码中的度量的方法,所述景象包括帧,所述度量衡量包含在参考帧中的第一图像块和包含在当前帧中的第二图像块之间的区别,所述第一和第二图像块包括相同数量的行和列的像素,所述方法包括:(a1)生成具有相同数量的行和列的模式矩阵作为所述第一和第二图像块,用于选择所述第一和第二图像块中的像素的子集;(b1)获得在步骤(a1)中生成的所述像素的子集中的每个像素的特性;以及(c1)处理所述像素的子集的所述特性以确定所述度量。
步骤(a1)进一步包括:(a2)生成所述景象的全局运动特性,其指示所述景象中的对象的运动方向;以及(b2)生成与CPU架构对应的所述模式矩阵,其用于所述运动补偿视频编码、在步骤(a2)中生成的所述全局运动特性和像素预算,所述像素预算是所述像素的子集中的像素数量的估计。
步骤(a2)进一步包括:
(a3)确定所述景象的平均运动矢量,所述平均运动矢量具有幅度和方向;以及(b3)将所述平均运动矢量的幅度与无运动的给定阈值比较,包括:(c3)当所述平均运动矢量的幅度小于所述阈值时,将所述全局运动特性确定为表示没有对象运动的静态;以及(d3)当所述平均运动矢量的幅度等于或大于所述阈值时,基于在步骤(a3)中确定的所述平均运动矢量的方向将所述全局运动特性确定为水平运动、垂直运动或斜线运动中的一种。
步骤(b2)进一步包括:(a4)基于用于所述运动补偿视频编码、所述全局运动特性和所述像素预算的所述CPU架构从一系列预定的模式矩阵中选择所述模式矩阵。
步骤(a4)进一步包括:(a5)在执行运动补偿之前生成模式矩阵的库,在所述库中的每个模式矩阵与用于所述运动补偿视频编码、所述全局运动特性和所述像素预算的所述CPU架构对应。
步骤(a5)进一步包括:对于所述模式矩阵的库中的每个模式矩阵:(a6)在所述模式矩阵的单元中存储布尔值,每个单元与在所述第一和第二图像块中占据相同的位置的像素对应;以及(b6)在所述模式矩阵的所述单元中存储“真”或“假”布尔值中的一个,其与来自所述第一和第二图像块的、包括在所述度量的计算中的所述像素对应,以及在所述模式矩阵的所述单元中存储另一个布尔值,其与所述第一和第二图像块中的、排除在所述度量的计算外的所述像素对应。
步骤(b1)包括:(a7)获得所述特性,其是亮度值;(b7)将所述第一图像块中的像素的亮度值存储在第一矩阵中的单元中;以及(c7)将所述第二图像块中的像素的亮度值存储在第二矩阵中的单元中。
步骤(c1)进一步包括:
(a8)使用所述模式矩阵选择所述第一和第二矩阵中的单元;以及
(b8)对存储在所述步骤(a8)中选择的所述单元中的所述亮度值施加绝对误差和函数(SAD)。步骤(c1)进一步包括:(a9)使用所述模式矩阵选择所述第一和第二矩阵中的单元;以及(b9)对存储在所述步骤(a9)中选择的所述单元中的所述亮度值施加平均平方误差函数。
还提供一种计算机可读介质,其上存储有计算机可读程序代码装置,当由计算机执行时所述计算机可读程序代码装置执行如上所述的方法的步骤。
根据本发明的另外的方面,提供一种快速计算用于景象的运动补偿视频编码的度量的方法,所述景象包括具有像素的块,所述度量衡量第一和第二图像块之间的区别,所述方法包括:(a17)生成用于选择所述第一和第二图像块中的像素的子集的模式矩阵;(b17)获得在所述像素的子集中的每个像素的特性;以及(c17)处理所述像素的子集的所述特性以确定所述度量。
步骤(a17)进一步包括:(a18)生成所述景象的全局运动特性,其指示所述景象中的对象的运动方向;以及(b18)生成与CPU架构对应的所述模式矩阵,其用于所述运动补偿视频编码和所述全局运动特性。
步骤(a18)进一步包括:(a19)确定所述景象的平均运动矢量,所述平均运动矢量具有幅度和方向;(b19)将所述平均运动矢量的幅度与无运动的给定阈值比较;(c19)当所述平均运动矢量的幅度小于所述阈值时,将所述全局运动特性确定为表示没有对象运动的静态;以及(d19)当所述平均运动矢量的幅度等于或大于所述阈值时,基于所述平均运动矢量的方向将所述全局运动特性确定为水平运动、垂直运动或斜线运动中的一种。
步骤(b18)进一步包括:(a20)从一系列预定模式矩阵中选择所述模式矩阵。步骤(b17)包括:(a21)获得所述特性,其是亮度值;(b21)将所述第一图像块中的像素的亮度值存储在第一矩阵中的单元中;以及(c21)将所述第二图像块中的像素的亮度值存储在第二矩阵中的单元中。例如,步骤(c17)可包括:(a22)使用所述模式矩阵选择第一和第二矩阵中的单元;以及(b22)对存储在所述步骤(a22)中选择的所述单元中的所述亮度值施加绝对误差和函数(SAD)。可替换地,步骤(c17)可包括:(a23)使用所述模式矩阵选择第一和第二矩阵中的单元;以及(b23)对存储在所述步骤(a8)中选择的所述单元中的所述亮度值施加平均平方误差函数。
所述像素的子集包括组,在所述第一和第二图像块中的所述组的位置最大化块覆盖的跨度。优选地,所述组是等距的,以及优选地每个组中的所述像素占据所述像素行中的一个的连续位置。
根据本发明的另外的方面,提供一种确定用于景象的运动补偿视频编码中的度量的系统,所述系统具有处理器和存储器,所述景象包括帧,所述度量衡量包含在参考帧中的第一图像块和包含在当前帧中的第二图像块之间的区别,所述第一和第二图像块包括相同数量的行和列的像素,所述系统包括:(a10)模式矩阵生成单元,产生用于选择所述第一和第二图像块中的像素的子集的模式矩阵,所述模式矩阵具有与第一和第二图像块相同的行和列的数目;(b10)图像取得单元,取得每个像素的特性;以及(c10)度量计算单元,通过处理所述像素的子集的所述特性来确定所述度量。
所述模式矩阵生成单元(a10)进一步包括:(a11)全局运动特性确定单元,计算所述景象的全局运动特性,其指示所述景象中的对象的运动方向;以及(b11)矩阵确定单元,基于所述景象的全局运动特性、所述运动补偿视频编码中使用的CPU架构和像素预算生成所述模式矩阵,所述像素预算是所述像素的子集中的像素数量的估计。
所述矩阵确定单元(b11)进一步包括:(a12)模式矩阵库,存储一系列预定的模式矩阵,所述模式矩阵库中的每个模式矩阵与用于运动补偿视频编码、所述景象的全局运动特性和像素预算的所述CPU架构对应;以及(b12)模式矩阵选择单元,从所述模式矩阵库选择所述模式矩阵。在所述系统中,所述特性是亮度值。
所述度量计算单元(c10)包括绝对误差和计算单元,所述绝对误差和计算单元对所述像素的子集中的所述亮度值施加绝对误差和函数。所述度量计算单元(c10)包括平均平方误差计算单元,所述平均平方误差计算单元对所述像素的子集中的所述亮度值施加平均平方误差函数。
所述像素的子集包括组,在所述第一和第二图像块中的所述组的位置最大化块覆盖的跨度。
因此,提供了确定用于运动补偿视频编码的度量的改进的系统和方法。
附图说明
仅通过实例并参考附图,根据下面的实施例的说明,本发明的另外的特征和优点将变得显而易见,其中:
图1例示了用于运动补偿视频编码的现有技术的系统;
图2更详细地呈现了图1中的核心子系统102a;
图3示出例示了在补偿视频编码中用于运动估计的现有技术的方法的步骤的流程图;
图4(a)呈现了根据本发明的实施例的例示基于CPU架构的连续的像素选择的实例,所述CPU架构用于减少确定度量的计算成本;
图4(b)呈现了本发明的实施例的改进的核心子系统102b;
图4(c)示出图4(b)的改进的度量确定模块214b中的单元;
图5示出例示了由本发明的实施例执行的方法的步骤的流程图,所述方法用于确定衡量图像块之间的区别的度量。
图6例示了用于在本发明的实施例中确定景象的全局运动特性的过程;以及
图7示出例示了图5的步骤“计算P-SAD”的流程图。
具体实施方式
因为基于块的运动估计算法基于这样的近似正确的假定,即,衡量两个图像块之间的区别(通常在文献中称为误差)的度量围绕最优区域呈凹形,它们仅宽松地取决于实际的度量,因此应该返回到有效的、低成本的、近似的度量。这个发明通过仅考虑正在比较的块中的选择的像素来减少与确定衡量图像块之间的区别的度量关联的计算成本。虽然用于确定度量所需的时间急剧地减少,但是不存在图像质量上的巨大下降。
在详细讨论本发明之前,通过图1示出的系统100来提供运动补偿编码的一般说明。核心子系统102a包括帧缓冲模块104,其连接到运动估计模块106和运动补偿模块108。而运动估计模块106连接到运动补偿模块108。帧缓冲模块104存储其他模块所需的大量的之前的帧,以创建运动补偿帧用作在处理的当前帧的预测器。在图2中详细说明生成运动补偿图像的核心子系统102a的另外的细节。
从当前图像(由图1中的减法运算符114所示)中减去来自运动补偿模块108的运动补偿帧,并将残差(图像区别)送到变换步骤以进行编码。
帧源110产生帧,帧源110可以是将图像帧馈送到编码器的任何设备(例如照相机或文件)。在帧源110中存储帧的过程取决于所选择的模式。模式选择模块112向编解码器指示是否将使用运动补偿对输入帧进行编码或是否将使用“内部模式”。内部模式与不能相对于其他帧来解码的帧(例如作为关键帧)一起使用。他们使用一些单独的编码,这些编码限于完全包含在该图像中的数据。模式选择在模式补偿之外,因为这是基于流级策略的特性。模式选择在内插的帧(运动补偿)和“关键帧”之间选择,“关键帧”可以凭借自己解码而无需补偿或引用其他帧。此外,使用关键帧,以寻求视频中的特定位置而无需解码之前的帧。解压缩可仅在关键帧处开始,而运动补偿帧取决于其他帧,因此不能作为初始解压缩点。当模式选择模块112选择内预测模块116,该模块116在当前帧中预测像素而无需利用其他帧。这准备了关键帧来进行编码。如前所述,码内帧(intra-codedframe)不依赖于其他帧以用于它的压缩/解压缩。内预测的其他细节超出了本讨论的范围。如果模式选择模块112选择执行变换操作,则根据模式补偿模块108的输出,处理后的帧馈送到变换模块118。变换是特定于编解码器的步骤,其中图像从空间(像素)域变换为频域。这种变换通常是离散余弦变换(DCT)或类似变换。变换编码是众所周知的,在本发明的情境中不需要进一步讨论。在将像素变换到频域后,通过量化模块128量化生成数据。量化基本是准确度降低(因此而不可逆)步骤,其在实践中意味着较少的位将用于代表该数据。量化的类型和粗度分别取决于编解码器和特定用户的目标质量/比特率。量化模块128的输出由逆量化模块126和熵编码模块130来处理,熵编码模块130也从运动估计模块106接收运动矢量。熵编码是特定于编解码器的步骤,在此通过使用可变长度代码和其他压缩技术来编码来自量化模块128的减少的精度的数据。在该级别上,没有损失精度,仅仅使用更有效的数据表示。典型地,其是霍夫曼编码的变型,并使用预先计算的静态码或一些自适应码(如同自己对数据进行编码),对于更先进的编解码器,例如H.264,使用更复杂的技术。
熵编码模块130的输出由传输编码模块132处理。这个模块基于该输出是否存储为存储模块136中的文件或作为数据由发送模块134发送来将熵编码的数据“包装”为传输格式。典型的传输文件格式是MPEG TS、AVI、3GP等。传输可以通过RTP/RTSP,其用于经由因特网流传输视频的实时传输协议。
逆量化模块126接收量化模块128的输出并恢复由量化模块128执行的步骤。然而,这并不是完全的逆操作,因为量化不可逆的去除信息;逆量化产生原始数据的简化精度的近似值。于是这个数据由逆变换模块124处理。这个模块执行变换步骤的逆操作,并将数据从频域变换到像素域。因此,具有在变换模块118中进行的图像的减少的精度的近似值。
在图1的上部中间,第二模式选择开关120(开关112的逆开关)决定增加到帧缓冲模块104的图像是否是内部帧或运动补偿帧。如果是内部帧,则逆变换模块124的输出已经是完全图像,因此可以如在帧缓冲模块104中那样来增加。如果是运动补偿帧,则将来自逆变换的差值加回运动补偿帧(该操作由图中的加法运算符122来表征),生成增加到帧缓冲模块104的最终的编码的图像。
核心子系统102a通过图2来解释。最后的编码图像202是由图1的逆变换模块124产生的图像,并被插入存储大量帧的帧缓冲模块104。典型地,帧缓冲模块104限于存储很少的缓冲帧208,其典型地包括最后一个或两个编码的图像。当增加新的帧时,最旧的帧(在缓冲器中最长时间的那个)就被丢弃,以确保缓冲器不会无限增长。然而,在某些编解码器中,例如H.264,帧的数量可以多达16个,但是一般而言它仅限于之前的帧。取决于来自运动估计算法216的帧选择输出,选择帧模块210选择合适的帧以用于下一模块。
到编码器212的当前图像和由选择帧模块210选择的帧由运动估计模块106处理,运动估计模块106采用执行实际运动估计的运动估计算法216。它使用度量确定模块214a,产生用于衡量两个图像块之间的区别的度量。取决于运动估计算法216的复杂度,帧选择可以与“获得最后的帧”一样简单,或者可以如在选择交织的模式中的半帧中一样更为复杂。帧选择还取决于支持的特定的编解码器。一些编解码器仅支持最后的帧作为参考帧,但是一些编解码器(例如H.264),允许补丁(patches)来自大量图像(在这个例子中直到16个)。这个模块返回运动矢量(其还可包括引用多个之前的帧)。
运动估计算法216的输出由运动补偿模块108来使用。这个模块应用由运动矢量描述的变换(以及引用之前的帧)。运动补偿模块108如运动矢量指定的那样根据部分参考帧来连接预测图像。
由典型的运动估计算法执行的方法的步骤通过图3中呈现的流程图300来说明。当开始(框302)时,过程300设置变量最佳度量为任意大的值(框304)并初始化搜索位置(框306)。搜索位置是块在参考帧中的位置,参考帧与当前块比较以在处理的当前帧中进行补偿。运动估计算法生成大量参考帧中的这样的位置,并通过将其与当前帧中的当前块进行比较来检验在这些位置的块。于是过程300检验搜索位置(框308)。通过对存储在两个矩阵a和b中的相应单元中的每个像素的亮度值施加绝对误差和函数来检验该搜索位置。来自参考帧的在检验的块称为第一块,其像素的亮度值存储在下面的公式中的符号a表示的第一矩阵中。在处理的、来自当前帧的块称为第二块,其像素的亮度值存储在由下面的公式中的符号b表示的第二矩阵中。这两个矩阵中行i和列j中的单元分别称为a[i,j]和b[i,j]。因此:
SAD=∑(i,j)|a[i,j]-b[i,j]|
将由该SAD函数计算的这两个块之间的结果差别的大小(也称为度量)与最佳度量比较(框310)。如果度量小于最佳度量,则过程300从框310的“是”退出并根据这个搜索位置计算运动矢量(框314)。否则,过程300从框310的“否”退出并检查是否需要生成附加的搜索位置(框312)。如果不,则过程300从框312的“否”退出并结束(框322)。否则,生成新的搜索位置(框315),过程300循环回到框308的入口。在框314计算运动矢量之后,过程300将度量的值存储在最佳度量中,将在框314计算的运动矢量存储在称为最佳矢量的变量中(框316)。接下来检查最佳度量是否小于预定的阈值(框318)。如果没有,则过程300从框318的“否”退出,并循环回到框312的入口。否则,过程300从框318的“是”退出,将最佳矢量增加到运动矢量缓冲器(框320)并结束(框322)。
例如,通过使用SAD函数来计算衡量两个图像块之间的区别的度量,是耗时的,因为其基于两个块中的每个像素。本发明通过使用两个不同的技术极大地减少计算复杂度。在计算度量中仅使用选择的像素的子集:
P-SAD=∑(i,j∈P)|a[i,j]-b[i,j]|。
P-SAD是基于优化的模式的SAD函数,其仅仅使用包括在P中的像素的子集,并基于用于选择该像素的子集的模式矩阵。P-SAD的计算复杂度直接与包括在计算中的i,j对的数量成正比。由i,j标识的像素以这样的方式来选择:结果图像中的失真是可忽略的小。P-SAD过程接受三种自变量:矩阵a、矩阵b和模式矩阵。
模式是布尔矩阵,并在特定i和j的组合包括“真”或“假”以指示像素亮度值a[i,j]和b[i,j]的特定集合是否包括在P-SAD计算中:模式[i,j]的“真”值指示相应的a[i,j]和b[i,j]对包括在P-SAD计算中,而“假”值意味着相应的a[i,j]和b[i,j]对排除在该计算外。通过减少使用在P-SAD计算中的项的数量,极大地减少了计算复杂度。通过选择行中的连续的像素(称为组)来进一步优化P-SAD计算的执行时间。大量可用的CPU可以通过单指令来操作这样的组。市场中可见的一些CPU1包括单指令多数据(SIMD)指令集来执行这样的操作。实例包括因特尔的Pentium(奔腾)Ill系列处理器,其包括对x86架构的流SIMD扩展(SSE)。3DNow!是对于AMD1K6处理器的多媒体扩展,其提供了从字节组成字的打包的SAD指令(PSADBW)。
在图4(a)中显示的图350示出具有5组的实例,其中灰度单元指示用于针对实例16x 16块的P-SAD计算中选择的像素。该实例中的每个组包括8个像素。请注意,模式矩阵以这样的方式来构造:组(在水平和垂直方向上)尽可能等距,并且块覆盖的跨度最大化(参见图4(a))。图4(a)的任意两个临近的组之间的垂直距离近似相等,而任意两个临近的组之间的水平距离彼此相等。通过在块中这样的位置,块覆盖的跨度被最大化。即,图4(a)的组没有集中在该块中的一个区域,而是以覆盖尽可能多的块的方式来放置。例如,具有其SSE的Pentium Ill处理器可以处理由8个连续灰度单元的集合表示的组,其在CPU指令中占据相同的行。
模式矩阵中的“真”值(可替换地,“假”值)的数量直接控制与P-SAD计算关联的成本,并基于像素预算。像素预算是由P-SAD处理的、所选的像素的子集中的像素的数量的估计。其可具有预定固定值或可由用户指定。基于该像素预算、CPU架构和在处理的景象的全局运动特性来选择模式矩阵。图4(a)的实例与像素预算40对应。假定具有其SSE的因特尔PentiumIll处理器用于在一个指令中操作包括8个像素的组,组的数量是40/8=5,因此5个组用于图4(a)的实例中。
通过改进度量确定模块214a,本发明的实施例减少度量确定的计算复杂度。在本发明的实施例的图4(b)的系统370中示出执行P-SAD函数的改进的核心子系统102b,其合并了改进的度量确定模块214b。注意到,改进的核心子系统的除了214b的所有组件与在图2中的核心子系统102a示出的组件相同。本发明的实施例的系统370包括具有CPU和计算机可读介质(例如存储器、DVD、CD-ROM或其他介质)的通用或专用计算机,计算机可读介质存储由该CPU执行的计算机可读指令。可选地,该系统可以固件实施,或固件和专用计算机的组合来实施。系统370的各种模块(包括改进的度量确定模块214b)实现为存储在计算机可读介质中的由该CPU执行的计算机可读指令。
通过图4(c)中呈现的图214来解释改进的度量确定模块214b。如上所述,改进的度量确定模块214b可以通过固件来实现,或可选择的,通过存储在计算机可读介质中的计算机软件代码来实现。
包括存储在计算机可读介质中的计算机可读指令的改进的度量确定模块214b包括三个单元:图像取得单元404、模式矩阵生成单元402和度量计算单元406。通过图像取得单元404取得在该景象中的所有像素的特性(例如其亮度值)以执行运动补偿视频编码。这些特性由模式矩阵生成单元402来使用以生成合适的模式矩阵,并由度量计算单元406来使用,该单元406确定衡量包含在参考帧中的第一图像块和包含在正在处理的当前帧中的第二图像块之间的区别。在本发明的一个实施例中,度量计算单元包括实施如上所述的PSAD函数的绝对误差和(SAD)计算单元。而包括存储在计算机可读介质中的计算机可读指令的模式矩阵生成单元402包括两个单元:全局运动特性确定单元408和矩阵确定单元409。全局运动特性确定单元408计算指示景象中的对象的运动方向的该景象的全局运动特性。这个信息由矩阵确定单元409使用以选择在该景象的运动补偿视频编码中使用的模式矩阵。模式矩阵确定单元409包括两个单元:存储在计算机可读介质中的模式矩阵库412和矩阵选择单元410。模式矩阵库412存储一系列预定的模式矩阵,其每个与CPU架构和景象的全局运动特性对应。模式矩阵选择单元410负责基于在运动补偿视频编码中使用的CPU架构、在处理的景象的全局运动特性和像素预算,从模式矩阵库412中选择模式矩阵。该模式矩阵库包括多个模式矩阵,其每个与如下的特定组合对应:在运动补偿视频编码中使用的CPU架构、景象的全局运动特性和像素预算。对于呈现在图4(a)的情境中的实例,该模式矩阵库将包括4个特定模式矩阵,其与具有其SSE扩展的因特尔Pentium Ill处理器和40个的像素预算对应。这四个模式矩阵中的每个与景象的特定全局运动特性对应:静态、水平运动、垂直运动和斜线运动。一旦已知对于所有这三个因素的值,则可找出并从该库中取得特定模式矩阵。接下来讨论用于实现这些单元的方法。
通过在图5中示出的流程图500来说明由度量计算单元406执行的、计算P-SAD的值的方法的步骤。当开始(框502)时,基于CPU架构来选择组中的像素的数量In-group(框504)。如上所述,组指的是由一个CPU指令处理的行中的连续像素。例如,如果CPU支持可以一次处理n个像素的指令,则In-group设置为n。于是计算使用的称为无组(no-group)的这样的组的数量(框506)。Floor函数产生等于或小于其自变量的最大整数。基于In-group、no-group和景象的全局运动特性,确定要使用的模式矩阵(框508)。在本发明的一个实施例中,从一组存储的矩阵中选择模式矩阵。一旦确定了模式矩阵,则过程500计算P-SAD值(框510)并退出(框512)。接下来讨论各种模式矩阵的存储器和在框508中选择模式矩阵。之后讨论用于计算P-SAD的方法。
通过模式矩阵生成矩阵单元402实现生成模式矩阵。简要地讨论选择模式矩阵。可以通过许多不同的方式表征景象。本发明的一个实施例使用景象的全局运动特性以将其表征为:静态、垂直运动、斜线运动或水平运动。注意到这种表征表达对象运动的近似方向,其静态是对应于不运动或几乎不运动的特殊的情况。图6中示出的图600用于解释在确定景象的全局运动特性中使用的过程。通过将该景象中的不同的块的运动矢量相加以及将该和除以块的数量来计算景象的平均运动矢量(具有幅度和方向)。将平均运动矢量的幅度(长度)与由用户设置的给定“没有运动的阈值”602相比较。如果该矢量幅度小于该阈值,则将该景象分类为静态。例如,平均运动矢量604具有小于没有运动的阈值的幅度,并被确定为静态。类似地,因为该平均运动矢量606的幅度大于没有运动的阈值,则考虑其方向。
在图6的实例中景象特征空间划分为8个区域:区域612和620对应水平运动,区域608和616对应垂直运动以及区域610、614、618和622对应斜线运动。取决于平均运动矢量属于的区域,该景象分类为水平运动、垂直运动或斜线运动(参见图6)。在图6中,由于平均运动矢量606的幅度大于没有运动的阈值,以及其落在该图的垂直运动区域608,因此该景象被分类为垂直运动。在本发明的一个实施例中,生成在P-SAD计算中要使用的大量模式矩阵,并在执行运动补偿视频编码之前将其存储在库中。每个这样的模式矩阵对应In-group、no-group和景象的全局运动特性的特定组合。在运行时间,分析正在处理的景象的平均运动矢量,于是从模式矩阵的库中取得合适的模式矩阵(框508),并将其使用在下面描述的P-SAD计算中。
通过图7中示出的流程图700来说明图5的框510中执行的方法的步骤。在使用具有16x 16像素的图像块的系统的情境中来进行说明,该系统容易扩展到具有其它块大小的图像。当开始(框702)时,过程700执行初始化步骤(框704)。在这个步骤中,存储当前行和列的索引的i和j的初始值分别设置为1,以及变量和初始化为0。在初始化步骤之后,过程700检查模式矩阵的第i行和第j列处的单元中存储的布尔值(框706)。如果其是“真”,过程700从框706的“是”退出,以及如框708所示a[i,j]和b[i,j]用于P-SAD计算中。否则,过程700从框706的“否”退出,以及将a[i,j]和b[i,j]值排除在P-SAD计算外。因此跳过框708中执行的操作,以及过程700检查是否考虑用于当前行的所有列(框710)。如果没有,则过程700从框710的“否”退出,将j的值加1(框712)以进行到下一列并循环回到框706的入口。否则,过程700从框710的“是”退出,并检查是否已经走完所有行(框716)。如果已经走完所有行,则过程700从框716的“是”退出,返回总和值(框718)以及结束(框720)。否则,过程700从框716的“否”退出,将i的值加1以及设置j的值为1(框714)以进行到下一行并循环回到框706的入口。
虽然已经详细描述了本发明的具体实施例,但是应该理解所述实施例旨在为例示性的而非限制性的。可以在所附权利要求的范围内对附图中示出和说明书中描述的实施例进行各种修改和改变而不偏离本发明更广泛意义的范围。例如,在确定度量中代替使用P-SAD函数,可以使用基于优化模式的平均平方误差(P-MSE)函数:
P-MSE=∑(i,j∈P)(a[i,j]-b[i,j])2。
正如在P-SAD实例中一样,在计算度量中仅使用选择的像素特性。在确定度量中需要时也可使用其他函数,例如分贝。当使用用户允许的、比像素预算稍大的数量的像素时,代替Floor函数,也可以在确定no-group(参见图5)中使用Ceiling函数。在某些实施例中,在改进的度量确定模块214b中可以使用与图4(c)中所示的那些不同的单元,以实现期望的功能。此外,这样的单元可以在一个计算机上执行,或者可分布在多个计算机上。
还提供一种计算机可读介质,其上存储有一样执行本发明的实施例的方法的步骤的指令,该介质包括计算机存储器、DVD,CD-ROM、软盘等。
在需要时可以进行各种其他修改。因此,可以理解在给定系统特性的范围内,可以通过与在此详述的不同方式来实施本发明。
虽然已经详细描述本发明的具体实施例,但是应该理解,所述实施例旨在为例示性的而非限制性的。可以在所附权利要求的范围内对附图中示出和说明书中描述的实施例进行各种修改和改变而不偏离本发明更广泛意义的范围。
Claims (25)
1.一种确定用于景象的运动补偿视频编码中的度量的方法,所述景象包括具有像素的块,所述度量衡量第一图像块和第二图像块之间的区别,所述方法包括:
生成模式矩阵,所述模式矩阵具有与所述第一和第二图像块相同数量的行和列,用于指定所述第一和第二图像块中要选择的像素的子集;
将像素的子集划分为连续像素的一个或多个组,连续像素的每个组包括行中的像素的不中断序列;
选择连续像素的每个组中的若干像素,使得能够在单指令多数据SIMD处理器的单指令中操作;
为所述第一和第二图像块获得所述像素的子集中的像素的特性;以及
处理所获得的特性以确定所述度量。
2.如权利要求1所述的方法,其中所述生成的步骤进一步包括:基于像素预算生成模式矩阵,所述像素预算是像素的子集中的像素的数量的估计。
3.如权利要求2所述的方法,其中所述生成的步骤进一步包括:从执行运动补偿之前生成的模式矩阵库选择模式矩阵。
4.如权利要求3所述的方法,其中选择的步骤进一步包括:
对于在所述的模式矩阵的库中的每个模式矩阵:
在所述模式矩阵的单元中存储布尔值,每个单元与在所述第一和第二图像块中占据相同的位置的像素对应;以及
在所述模式矩阵的所述单元中存储“真”或“假”布尔值中的一个,其与来自所述第一和第二图像块的、包括在所述度量的计算中的所述像素对应,以及在所述模式矩阵的所述单元中存储另一个布尔值,其与所述第一和第二图像块中的、排除在所述度量的计算外的所述像素对应。
5.如权利要求1至4中任一项所述的方法,其中每个模式矩阵对应于在运动补偿视频编码中使用的所述SIMD处理器架构、和指示景象中对象 的运动方向的景象的全局运动特性。
6.如权利要求1至4中任一项所述的方法,其中所述获得的步骤包括:获得每个像素的亮度值 。
7.如权利要求1所述的方法,其中所述生成的步骤进一步包括:
生成所述景象的全局运动特性,其指示所述景象中的对象的运动方向;以及
生成与所述SIMD处理器的架构对应的所述模式矩阵,其用于所述运动补偿视频编码和所述全局运动特性。
8.如权利要求7所述的方法,其中所述生成的步骤进一步包括基于像素预算生成所述模式矩阵,所述像素预算是所述像素的子集中的像素数量的估计。
9.如权利要求7所述的方法,其中所述生成全局运动特性步骤进一步包括:
确定所述景象的平均运动矢量,所述平均运动矢量具有幅度和方向;
将所述平均运动矢量的幅度与无运动的阈值比较,包括:
当所述平均运动矢量的幅度小于所述阈值时,将所述全局运动特性确定为表示没有对象运动的静态;以及
当所述平均运动矢量的幅度等于或大于所述阈值时,基于所述平均运动矢量的方向将所述全局运动特性确定为水平运动、垂直运动或斜线运动中的一种。
10.如权利要求7至9中任一项所述的方法,其中所述生成的步骤进一步包括:从执行运动补偿之前生成的模式矩阵库选择模式矩阵。
11.如权利要求10所述的方法,其中所述选择的步骤进一步包括:
对于在所述的模式矩阵的库中的每个模式矩阵:
在所述模式矩阵的单元中存储布尔值,每个单元与在所述第一和第二图像块中占据相同的位置的像素对应;以及
在所述模式矩阵的所述单元中存储“真”或“假”布尔值中的一个,其与来自所述第一和第二图像块的、包括在所述度量的计算中的所述像素 对应,以及在所述模式矩阵的所述单元中存储另一个布尔值,其与所述第一和第二图像块中的、排除在所述度量的计算外的所述像素对应。
12.如权利要求1、2、3、4、7、8、9中任一项所述的方法,其中所述获得的步骤包括:
获得所述特性,其是亮度值;
将所述第一图像块中的像素的亮度值存储在第一矩阵中的单元中;以及
将所述第二图像块中的像素的亮度值存储在第二矩阵中的单元中。
13.如权利要求12所述的方法,其中所述处理的步骤进一步包括:
使用所述模式矩阵选择所述第一和第二模式矩阵中的单元;以及
对存储在选择的所述单元中的所述亮度值施加绝对误差和函数或平均平方误差函数中之一。
14.如权利要求1、2、3、4、7、8、9中任一项所述的方法,其中选择连续像素的所述一个或多个组的位置以最大化块覆盖的跨度。
15.一种确定用于景象的运动补偿视频编码中的度量的系统,所述景象包括具有像素的块,所述度量衡量第一图像块和第二图像块之间的区别,所述系统包括:
模式矩阵生成单元,产生模式矩阵,所述模式矩阵具有与所述第一和第二图像块相同数量的行和列,用于指定所述第一和第二图像块中要选择的像素的子集;将像素的子集划分为连续像素的一个或多个组,连续像素的每个组包括行中的像素的不中断序列;
选择连续像素的每个组中的若干像素,使得能够在单指令多数据SIMD处理器的单指令中操作;
图像取得单元,为所述第一和第二图像块取得所述像素的子集中的像素的特性;以及
度量计算单元,通过处理所取得的特性来确定所述度量。
16.如权利要求15所述的系统,其中所述模式矩阵生成单元被配置为基于像素预算生成模式矩阵,所述像素预算是像素的子集中的像素的数量 的估计。
17.如权利要求16所述的系统,其中所述模式矩阵生成单元包括执行运动补偿之前生成的模式矩阵库。
18.如权利要求17所述的系统,其中所述模式矩阵库中的每个模式矩阵适用于:
在所述模式矩阵的单元中存储布尔值,每个单元与在所述第一和第二图像块中占据相同的位置的像素对应;以及
在所述模式矩阵的所述单元中存储“真”或“假”布尔值中的一个,其与来自所述第一和第二图像块的、包括在所述度量的计算中的所述像素对应,以及在所述模式矩阵的所述单元中存储另一个布尔值,其与所述第一和第二图像块中的、排除在所述度量的计算外的所述像素对应。
19.如权利要求15至18中任一项所述的系统,其中每个模式矩阵对应于在运动补偿视频编码中使用的所述SIMD处理器的架构、和指示景象中对象的运动方向的景象的全局运动特性。
20.如权利要求15至18中任一项所述的系统,其中所述特性是亮度值。
21.如权利要求15所述的系统,其中所述模式矩阵生成单元进一步包括:
全局运动特性确定单元,计算所述景象的全局运动特性,其指示所述景象中的对象的运动方向;以及
矩阵确定单元,基于所述景象的全局运动特性、所述运动补偿视频编码中使用的所述SIMD处理器的架构和像素预算生成所述模式矩阵,所述像素预算是所述像素的子集中的像素数量的估计。
22.如权利要求21所述的系统,其中所述矩阵确定单元进一步适用于基于像素预算生成模式矩阵,所述像素预算是像素的子集中的像素的数量的估计。
23.如权利要求22所述的系统,其中所述矩阵确定单元进一步包括:
模式矩阵库,存储一系列预定的模式矩阵,所述模式矩阵库中的每个 模式矩阵与用于运动补偿视频编码、所述景象的全局运动特性和像素预算的所述SIMD处理器架构对应;以及
模式矩阵选择单元,从所述模式矩阵库选择所述模式矩阵。
24.如权利要求15、16、17、18、21、22、23中任一项所述的系统,其中所述度量计算单元包括绝对误差和计算单元或平均平方误差计算单元中之一,所述绝对误差和计算单元对所述像素的子集中的所述特性的值施加绝对误差和函数,所述平均平方误差计算单元对所述像素的子集中的所述特性的值施加平均平方误差函数。
25.如权利要求15、16、17、18、21、22、23中任一项所述的系统,其中选择连续像素的所述一个或多个组的位置以最大化块覆盖的跨度。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/185,077 US8831101B2 (en) | 2008-08-02 | 2008-08-02 | Method and system for determining a metric for comparing image blocks in motion compensated video coding |
US12/185,077 | 2008-08-02 | ||
PCT/CA2008/001821 WO2010015066A1 (en) | 2008-08-02 | 2008-10-16 | Method and system for determining a metric for comparing image blocks in motion compensated video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102113328A CN102113328A (zh) | 2011-06-29 |
CN102113328B true CN102113328B (zh) | 2013-06-12 |
Family
ID=41608336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801305832A Expired - Fee Related CN102113328B (zh) | 2008-08-02 | 2008-10-16 | 确定用于比较运动补偿视频编码中的图像块的度量的方法和系统 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8831101B2 (zh) |
EP (1) | EP2304964A4 (zh) |
JP (2) | JP2011530199A (zh) |
KR (1) | KR101459397B1 (zh) |
CN (1) | CN102113328B (zh) |
CA (1) | CA2723910C (zh) |
IL (1) | IL209721A0 (zh) |
WO (1) | WO2010015066A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8363727B2 (en) * | 2008-09-30 | 2013-01-29 | Microsoft Corporation | Techniques to perform fast motion estimation |
US8411756B2 (en) * | 2009-05-21 | 2013-04-02 | Ecole De Technologie Superieure | Method and system for generating block mode conversion table for efficient video transcoding |
US9100656B2 (en) | 2009-05-21 | 2015-08-04 | Ecole De Technologie Superieure | Method and system for efficient video transcoding using coding modes, motion vectors and residual information |
WO2011122200A1 (ja) | 2010-03-29 | 2011-10-06 | ソニー株式会社 | データ処理装置およびデータ処理方法、画像処理装置および方法、並びに、プログラム |
US8620372B2 (en) * | 2010-09-30 | 2013-12-31 | Apple Inc. | Method and apparatus for transport format selection in a mobile wireless device |
FR2966679A1 (fr) * | 2010-10-25 | 2012-04-27 | France Telecom | Procedes et dispositifs de codage et de decodage d'au moins une image a partir d'un epitome, signal et programme d'ordinateur correspondants |
GB2484969B (en) * | 2010-10-29 | 2013-11-20 | Canon Kk | Improved reference frame for video encoding and decoding |
US8755438B2 (en) | 2010-11-29 | 2014-06-17 | Ecole De Technologie Superieure | Method and system for selectively performing multiple video transcoding operations |
US9143799B2 (en) * | 2011-05-27 | 2015-09-22 | Cisco Technology, Inc. | Method, apparatus and computer program product for image motion prediction |
CN113965814B (zh) * | 2021-08-30 | 2023-07-04 | 国网山东省电力公司信息通信公司 | 基于视频会议场景的多会场关键帧提取方法及系统 |
TWI801033B (zh) * | 2021-12-13 | 2023-05-01 | 大陸商星宸科技股份有限公司 | 視訊編碼方法、視訊編碼裝置及影像處理裝置 |
CN116013072B (zh) * | 2023-01-03 | 2024-02-13 | 深圳市易联联盟科技有限公司 | 一种基于深度学习应用的停车场出入车辆计数方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1381145A (zh) * | 2000-03-23 | 2002-11-20 | 皇家菲利浦电子有限公司 | 运动估计算法 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5983251A (en) | 1993-09-08 | 1999-11-09 | Idt, Inc. | Method and apparatus for data analysis |
JP3175914B2 (ja) * | 1995-12-25 | 2001-06-11 | 日本電信電話株式会社 | 画像符号化方法および画像符号化装置 |
US5764787A (en) * | 1996-03-27 | 1998-06-09 | Intel Corporation | Multi-byte processing of byte-based image data |
US6137837A (en) * | 1998-01-23 | 2000-10-24 | Motorola, Inc. | Motion estimation for digital video with reduced number of search window pixels |
JPH11239354A (ja) * | 1998-02-23 | 1999-08-31 | Mitsubishi Electric Corp | 動きベクトル検出器 |
JP2000134616A (ja) * | 1998-10-26 | 2000-05-12 | Sony Corp | 近似画像探索装置及び方法 |
US6518974B2 (en) | 1999-07-16 | 2003-02-11 | Intel Corporation | Pixel engine |
KR100778468B1 (ko) * | 2000-12-12 | 2007-11-21 | 엘지전자 주식회사 | 움직임 추정 최적화 방법 및 장치 |
US6687301B2 (en) * | 2001-03-19 | 2004-02-03 | Fulvio Moschetti | Method for block matching motion estimation in digital video sequences |
US7088780B2 (en) | 2001-05-11 | 2006-08-08 | Mitsubishi Electric Research Labs, Inc. | Video transcoder with drift compensation |
US6671322B2 (en) | 2001-05-11 | 2003-12-30 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoder with spatial resolution reduction |
AU2003280512A1 (en) | 2002-07-01 | 2004-01-19 | E G Technology Inc. | Efficient compression and transport of video over a network |
US6925123B2 (en) * | 2002-08-06 | 2005-08-02 | Motorola, Inc. | Method and apparatus for performing high quality fast predictive motion search |
JP2004129099A (ja) | 2002-10-07 | 2004-04-22 | Nec Corp | 動きベクトル探索方法および装置 |
JP4288461B2 (ja) | 2002-12-17 | 2009-07-01 | 日本電気株式会社 | 対称型画像フィルタ処理装置、プログラム、及びその方法 |
JP2004234407A (ja) * | 2003-01-31 | 2004-08-19 | Hitachi Ulsi Systems Co Ltd | データ処理装置 |
US20050175099A1 (en) | 2004-02-06 | 2005-08-11 | Nokia Corporation | Transcoder and associated system, method and computer program product for low-complexity reduced resolution transcoding |
KR20060135770A (ko) * | 2004-02-23 | 2006-12-29 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 이미지들의 내삽 및 외삽을 조합에 의한 이미지 신호들의스캔-레이트 변환의 아티팩트들의 감소 |
KR101196429B1 (ko) | 2004-03-12 | 2012-11-01 | 삼성전자주식회사 | 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법 |
KR20070028404A (ko) | 2004-06-11 | 2007-03-12 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 픽처를 저장하는 방법, 비디오 복호기, 비디오 부호기,휴대 장치 및 컴퓨터 프로그램 제품 |
US7447337B2 (en) * | 2004-10-25 | 2008-11-04 | Hewlett-Packard Development Company, L.P. | Video content understanding through real time video motion analysis |
JP5748935B2 (ja) * | 2004-11-03 | 2015-07-15 | インテル コーポレイション | Simd命令をサポートするプログラマブルデータ処理回路 |
US8913660B2 (en) * | 2005-04-14 | 2014-12-16 | Fastvdo, Llc | Device and method for fast block-matching motion estimation in video encoders |
US7912127B2 (en) | 2005-08-05 | 2011-03-22 | Lsi Corporation | H.264 to VC-1 and VC-1 to H.264 transcoding |
US8447121B2 (en) | 2005-09-14 | 2013-05-21 | Microsoft Corporation | Efficient integrated digital video transcoding |
US20070201554A1 (en) | 2006-02-24 | 2007-08-30 | Samsung Electronics Co., Ltd. | Video transcoding method and apparatus |
WO2007124163A2 (en) | 2006-04-21 | 2007-11-01 | Dilithium Networks Pty Ltd. | Method and apparatus for video mixing |
US20080002770A1 (en) | 2006-06-30 | 2008-01-03 | Nokia Corporation | Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices |
US20080019559A1 (en) | 2006-07-21 | 2008-01-24 | Xerox Corporation | Digital watermarking process |
US8428118B2 (en) | 2006-08-17 | 2013-04-23 | Ittiam Systems (P) Ltd. | Technique for transcoding MPEG-2/MPEG-4 bitstream to H.264 bitstream |
US8331448B2 (en) * | 2006-12-22 | 2012-12-11 | Qualcomm Incorporated | Systems and methods for efficient spatial intra predictabilty determination (or assessment) |
US8311120B2 (en) | 2006-12-22 | 2012-11-13 | Qualcomm Incorporated | Coding mode selection using information of other coding modes |
US20080205515A1 (en) | 2007-01-25 | 2008-08-28 | Florida Atlantic University | Video encoding with reduced complexity |
US8265157B2 (en) | 2007-02-07 | 2012-09-11 | Lsi Corporation | Motion vector refinement for MPEG-2 to H.264 video transcoding |
WO2009001255A1 (en) | 2007-06-26 | 2008-12-31 | Koninklijke Philips Electronics N.V. | Method and system for encoding a 3d video signal, enclosed 3d video signal, method and system for decoder for a 3d video signal |
US9197903B2 (en) | 2007-10-17 | 2015-11-24 | Stmicroelectronics S.R.L. | Method and system for determining a macroblock partition for data transcoding |
US8582652B2 (en) | 2007-10-30 | 2013-11-12 | General Instrument Corporation | Method and apparatus for selecting a coding mode |
JP4941273B2 (ja) | 2007-12-20 | 2012-05-30 | 株式会社Jvcケンウッド | 路車間通信システム |
WO2009133845A1 (ja) | 2008-04-30 | 2009-11-05 | 株式会社 東芝 | 動画像符号化/復号化装置及び方法 |
US8411756B2 (en) | 2009-05-21 | 2013-04-02 | Ecole De Technologie Superieure | Method and system for generating block mode conversion table for efficient video transcoding |
US20120027091A1 (en) | 2010-07-28 | 2012-02-02 | Wei-Lien Hsu | Method and System for Encoding Video Frames Using a Plurality of Processors |
JP2012034213A (ja) | 2010-07-30 | 2012-02-16 | Toshiba Corp | 画像処理装置、画像処理システムおよび画像処理方法 |
-
2008
- 2008-08-02 US US12/185,077 patent/US8831101B2/en active Active
- 2008-10-16 CN CN2008801305832A patent/CN102113328B/zh not_active Expired - Fee Related
- 2008-10-16 WO PCT/CA2008/001821 patent/WO2010015066A1/en active Application Filing
- 2008-10-16 CA CA2723910A patent/CA2723910C/en not_active Expired - Fee Related
- 2008-10-16 EP EP08876691.0A patent/EP2304964A4/en not_active Withdrawn
- 2008-10-16 JP JP2011520284A patent/JP2011530199A/ja active Pending
- 2008-10-16 KR KR1020117004596A patent/KR101459397B1/ko active IP Right Grant
-
2010
- 2010-12-02 IL IL209721A patent/IL209721A0/en unknown
-
2014
- 2014-07-28 JP JP2014152846A patent/JP2014239497A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1381145A (zh) * | 2000-03-23 | 2002-11-20 | 皇家菲利浦电子有限公司 | 运动估计算法 |
Also Published As
Publication number | Publication date |
---|---|
EP2304964A1 (en) | 2011-04-06 |
KR20110050480A (ko) | 2011-05-13 |
JP2011530199A (ja) | 2011-12-15 |
CA2723910A1 (en) | 2010-02-11 |
CA2723910C (en) | 2014-09-30 |
US20100027662A1 (en) | 2010-02-04 |
US8831101B2 (en) | 2014-09-09 |
EP2304964A4 (en) | 2015-11-11 |
JP2014239497A (ja) | 2014-12-18 |
CN102113328A (zh) | 2011-06-29 |
KR101459397B1 (ko) | 2014-11-10 |
IL209721A0 (en) | 2011-02-28 |
WO2010015066A1 (en) | 2010-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102113328B (zh) | 确定用于比较运动补偿视频编码中的图像块的度量的方法和系统 | |
Hu et al. | Improving deep video compression by resolution-adaptive flow coding | |
CN103999471B (zh) | 由视频描述长度引导的视频编码的速率-失真-复杂性优化 | |
CN108833923B (zh) | 视频编码、解码方法、装置、存储介质和计算机设备 | |
WO2021032205A1 (en) | System, method, codec device for intra frame and inter frame joint prediction | |
CN101842812B (zh) | 用于数字图像转码中的参数质量感知选择的系统和方法 | |
KR102059066B1 (ko) | 모션 벡터 필드 코딩 방법 및 디코딩 방법, 및 코딩 및 디코딩 장치들 | |
US20060012719A1 (en) | System and method for motion prediction in scalable video coding | |
CN101584215B (zh) | 综合空时预测 | |
CN118055253A (zh) | 用于视频代码化中的运动补偿预测的光流估计 | |
US9118927B2 (en) | Sub-pixel interpolation and its application in motion compensated encoding of a video signal | |
WO2022143215A1 (zh) | 一种帧间预测方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN102036067A (zh) | 运动图像编码设备及其控制方法 | |
CN105474642A (zh) | 使用频域差对图像集合进行重新编码 | |
US11115678B2 (en) | Diversified motion using multiple global motion models | |
JP7431752B2 (ja) | ビデオ符号化、ビデオ復号化方法、装置、コンピュータ装置及びコンピュータプログラム | |
CN1848960B (zh) | 使用非标准化矢量量化编码器的符合视频标准的残差编码 | |
KR20070000702A (ko) | 탐색영역 재설정을 이용한 고속 움직임 예측 장치 및 방법 | |
US11917128B2 (en) | Motion field estimation based on motion trajectory derivation | |
CN102948147A (zh) | 基于变换系数直方图的视频速率控制 | |
US10075691B2 (en) | Multiview video coding method using non-referenced view video group | |
Zhao et al. | DualEMC: energy efficient mobile multimedia communication with cloud | |
Wu et al. | Adaptive Coding for Compressed Video Sensing | |
JP5391466B2 (ja) | 品質制御パラメータの変更及びスケーリングによって変換される画像のファイルサイズを予想するシステム、方法及びプログラム | |
KR101786957B1 (ko) | 고속 움직임 추정을 위한 장치 및 방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130612 Termination date: 20191016 |
|
CF01 | Termination of patent right due to non-payment of annual fee |