CN101889405A - 用于执行运动估计的方法和装置 - Google Patents

用于执行运动估计的方法和装置 Download PDF

Info

Publication number
CN101889405A
CN101889405A CN2008801163850A CN200880116385A CN101889405A CN 101889405 A CN101889405 A CN 101889405A CN 2008801163850 A CN2008801163850 A CN 2008801163850A CN 200880116385 A CN200880116385 A CN 200880116385A CN 101889405 A CN101889405 A CN 101889405A
Authority
CN
China
Prior art keywords
motion vector
current block
vector
search
region
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
CN2008801163850A
Other languages
English (en)
Other versions
CN101889405B (zh
Inventor
克里特·帕努索波内
参查尔·查特吉
罗伯特·O·艾弗里格
阿杰伊·K·卢特拉
王利民
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.)
Iris International Intellectual Property Co ltd
Original Assignee
General Instrument 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 General Instrument Corp filed Critical General Instrument Corp
Publication of CN101889405A publication Critical patent/CN101889405A/zh
Application granted granted Critical
Publication of CN101889405B publication Critical patent/CN101889405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/567Motion estimation based on rate distortion criteria
    • 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/57Motion estimation characterised by a search window with variable size or shape

Landscapes

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

Abstract

本发明公开了一种系统和方法,用于执行与编码器相关联的运动估计,该编码器例如遵循H.264/MPEG-4AVC的编码器。例如,该方法在至少一个参考图片的搜索区域中选择用于当前块的运动矢量定心。该方法计算用于从该搜索区域得到的多个候选运动矢量中的每一个的匹配成本,并且基于与多个候选运动矢量中的每一个相关联的匹配成本向主编码回路输出多个候选运动矢量中的至少一个。

Description

用于执行运动估计的方法和装置
技术领域
本发明的实施例一般地涉及编码系统。更特定地,本发明涉及在运动补偿编码器中所采用的运动估计方法。
背景技术
对于更低比特速率和更高视频质量的需求要求带宽的有效使用。为了实现这些目标,运动图像专家组(MPEG)创建了ISO/IEC国际标准11172(1991)(通常称作MPEG-1格式)和13818(1995)(通常称作MPEG-2格式),其全部内容通过引用并入这里。虽然这些编码标准非常有效,但是已经开发了新的和改进的编码标准,例如H.264/MPEG-4AVC。
H.264/MPEG-4 AVC是一种通过利用各种编码工具来实现数据压缩的新的视频编码标准,所述编码工具诸如空间和时间预测、转换和量化、熵编码等。与其它现有的视频编码标准不同,H.264支持帧编码、字段编码以及图片自适应帧和字段编码。虽然H.264是强大的视频压缩标准,但是在例如实时应用的特定应用中使用H.264类的视频编码器可能是非常富有挑战性的。
发明内容
在一个实施例中,本发明公开了一种系统和方法,用于执行与例如遵循H.264/MPEG-4 AVC编码器的编码器相关联的运动估计。例如,所述方法在至少一个参考图片的搜索区域中选择用于当前块选择运动矢量定心。所述方法计算用于从所述搜索区域得到的多个候选运动矢量中的每一个的匹配成本,并且基于与所述多个候选运动矢量中的每一个相关联的匹配成本向主编码回路输出所述多个候选运动矢量中的至少一个。
附图说明
因此,可以通过参考实施例来获得以上简要概括的本发明的更为具体的描述的以其能够详细理解本发明以上所引用的特征的方式,一些实施例在附图中进行图示。然而,应当注意,附图仅图示了本发明的典型实施例,并且因此不被认为是对本发明的范围的限制,因为本发明可以允许其它等效的实施例。
图1图示了本发明的说明性运动补偿编码器的概况;
图2图示了说明性搜索区域;
图3图示了另一说明性搜索区域;
图4图示了相对于当前块的相邻块的位置的一个说明性实施例;
图5图示了相对于当前块对的相邻块的位置的另一个说明性实施例;
图6图示了差运动矢量计算中所使用的预测的运动矢量的位置的一个说明性实施例;
图7图示了差运动矢量计算中所使用的预测的运动矢量的位置的另一个说明性实施例;
图8图示了差运动矢量计算中所使用的预测的运动矢量的位置的另一个说明性实施例;
图9图示了差运动矢量计算中所使用的预测的运动矢量的位置的另一个说明性实施例;
图10图示了本发明一个实施例中的用于执行运动估计的方法;以及
图11图示了使用通用计算机实现的本发明。
为了促进理解,已经在可能处使用了相同的附图标记以指示各图共用的相同元素。
具体实施方式
应当注意,虽然在H.264/MPEG-4 AVC的上下文中对本发明进行了描述,但是本发明并不局限于此。也就是说,运动补偿编码器可以是遵循H.264/MPEG-4 AVC的编码器或者是遵循能够采用本运动估计方案的任何其它压缩标准的编码器。
图1描绘了本发明的示例性运动补偿编码器100的框图。在本发明的一个实施例中,装置100是编码器或更复杂的运动补偿编码系统的一部分。装置100可以包括时间或空间预测模块140(例如,包括可变块运动估计模块和运动补偿模块)、速率控制模块130、例如基于离散余弦变换(DCT)模块的变换模块160、量化(Q)模块170、上下文自适应可变长度编码(CAVLC)模块或上下文自适应二进制算术编码模块(CABAC)180、缓冲器(BUF)190、反量化(Q-1)模块175、反DCT(DCT-1)变换模块165、减法器115、加法器155、去块模块151和参考缓冲器150。虽然装置100包括多个模块,但是本领域技术人员将会意识到,不要求各个模块所执行的功能被分隔成如图1中所示的分立模块中。例如,包括时间或空间预测模块140、反量化模块175和反DCT模块165的模块集合通常被长作“嵌入式解码器”。
图1图示了根据MPEG标准的被数字化并且表示为亮度以及两个色差信号(Y,Cr,Cb)的路径110上的输入视频图像(图像序列)。这些信号能够进一步被分为多个层(序列、图片组、图片、条带和块),使得每个图片(帧)由具有不同大小的多个块来表示。将图片分为块单元提高了辨别两个连续图片之间的改变的能力,并且提高了通过低幅度变换系数的估计的图像压缩。数字化的信号可以可选地经历诸如格式转换的处理来选择适当的窗口、分辨率和输入格式。
路径110上的输入视频图像被接收到时间或空间预测模块140中,以供执行空间预测并且估计用于时间预测的运动矢量。在一个实施例中,时间或空间预测模块140包括可变块运动估计模块和运动补偿模块。来自可变块运动估计模块的运动矢量由运动补偿模块来接收以供提高样本值预测的效率。运动补偿涉及预测,该预测使用运动矢量来将偏移提供到包含用于形成预测误差的先前解码的样本值的过去和/或未来的参考帧中。也就是说,时间或空间预测模块140使用先前解码的帧和运动矢量来构成当前帧的估计。
时间或空间预测模块140还可以执行空间预测处理,例如,定向空间预测(DSP)。定向空间预测可以被实现用于帧内编码、用于推断当前图片的先前解码部分的边缘并且将其应用在帧内编码的图片的区域中。这提高了预测信号的质量,并且还允许从没有使用帧内编码的相邻区域进行预测。
此外,在执行对给定块的运动补偿预测之前,必须选择编码模式。在编码模式判定方面,MPEG提供了多种不同的编码模式。通常,这些编码模式被分组为两个大类,帧间模式编码和帧内模式编码。帧内模式编码涉及使用仅来自块或图片的信息来对所述块或图片进行编码。相反,帧间模式编码涉及使用来自自身以及在不同时间出现的块和图片的信息来对块和图片进行编码。
一旦选择了编码模式,时间或空间预测模块140就基于过去和/或未来的参考图片在块的内容的路径152上生成运动补偿预测(预测图像)。在当前块中经由减法器115从在路径110上的视频图像中减去路径152上的该运动补偿预测,以在路径153上形成误差信号或预测残差信号。预测残差信号的形成有效地移除了输入视频图像中的冗余信息。也就是说,作为经由传输信道来传送实际视频图像的代替,仅传送生成视频图像的预测以及这些预测的误差所需的信息,由此显著减少了需要传送的数据量。为了进一步降低比特速率,将路径153上的预测残差信号传递到变换模块160以供进行编码。
变换模块160然后应用变换,例如,基于DCT的变换。虽然H.264/MPEG-4 AVC中的变换仍然是基于DCT的,但是与其它现有视频编码标准相比,存在一些重要差异。首先,变换是整数变换,也就是说,所有运算都以整数算术来执行。第二,完整地指定反变换。因此,在编码器和解码器之间不存在失配。第三,变换不需要乘法,仅需要加法和移位运算。第四,作为完整变换的一部分的缩放乘法被集成到量化器中,减少乘法的总数目。
特定地,在H.264/MPEG-4 AVC中,将变换应用于4x4块,其中应用可分离整数变换。将另外的2x2变换应用于每个色度分量的四个DC系数。
得到的变换系数由量化模块170来接收,在量化模块170处对变换系数进行量化。H.264/MPEG-4 AVC使用标量量化。为每个宏块选择52个量化器或者量化参数(QP)中的一个。
然后,在反量化器模块175和反DCT模块165中解码该得到的量化的变换系数,以恢复将存储在参考缓冲器150中的参考帧(多个)或图片(多个)。在H.264/MPEG-4 AVC中,还采用环路去块(in-loopdeblocking)滤波器151来使得块效应最小化。
来自量化模块170的得到的量化变换的系数还经由信号连接171由上下文自适应可变长度编码模块(CAVLC)模块或上下文自适应的二进制算术编码模块(CABAC)180来接收,其中,使用例如“zig-zag(Z字形)”顺序的特定扫描模式来对量化系数的二维块进行扫描,以将其转换为量化变换的系数的一维串。在CAVLC中,根据已经传送的句法元素对用于各种句法元素的VLC表进行切换。由于VLC表被设计成匹配相应的有条件统计,所以与仅使用一个VLC表的方法相比,熵编码的性能有所提高。
替代地,能够采用CABAC。CABAC通过下述来实现良好压缩:a)根据元素的上下文为每个句法元素选择多个模型,b)基于局部统计采用概率估计,以及c)使用算术编码。
将数据流接收到“先进先出”(FIFO)缓冲器190中。使用不同图片类型和可变长度编码的结果是进入FIFO的整体比特速率是可变的。也就是说,用于对每个帧进行编码的比特数目可以有所不同。在涉及固定速率信道的应用中,FIFO缓冲器用于将编码器输出与用于平滑比特速率的信道相匹配。由此,FIFO缓冲器190的输出信号是输入视频图像110的压缩表示,其中,它被发送到路径195上的电信信道或者存储介质。
速率控制模块130用于监视和调整进入FIFO缓冲器190的数据流的比特速率,用于防止数据流传输之后在(接收器或目标存储设备内的,未示出)解码器侧的上溢(overflow)或下溢(underflow)。假设固定速率将信道将以恒定速率的比特放入解码器内的输入缓冲器中。在通过图片速率确定的规则间隔,解码器即刻从其输入缓冲器中移除用于下一图片的所有比特。如果输入缓冲器中的比特过少,即,没有接收到用于下一图片的所有比特,则输出缓冲器下溢导致错误。另一方面,如果输入缓冲器中的比特过多,即,在图像开始之间超出了输入缓冲器的容量,则输入缓冲器上溢导致上溢错误。因此,速率控制模块130的任务在于监视缓冲器190的状态,以控制编码器所生成的比特数目,由此防止上溢状况和下溢状况。速率控制算法在影响图像质量和压缩效率方面起到重要作用。
以上所描述的编码器可以被称作包含主编码回路。换句话说,主编码回路中的各个模块将能够共同地将输入像素编码为编码比特。应当注意,主编码回路的多种变化形式可以适用于本发明,并且本发明不限于主编码回路的特定实施方式。
在一个实施例中,本发明公开了一种处理模块135,例如,整像素运动估计(FPME)模块135。应当注意,运动估计过程由于其复杂性而在编码器中需要大量的计算周期。如此一来,对于例如实时应用的特定应用而言,运动估计过程可能成为瓶颈。
在一个实施例中,本发明通过将运动估计过程划分为两个部分,例如,整像素运动估计和改进(refinement)运动估计,来对运动估计过程进行优化。例如,在第一部分中,在独立于主编码回路进行操作的预处理模块中实现预处理模块135中的整像素运动估计过程。换句话说,在不从主编码回路接收与所编码的当前图片相关的输入的情况下,执行整像素运动估计过程。在一个实施例中,整像素运动估计过程在没有来自主编码回路的任何反馈的情况下从先验信息,例如,从半水平分辨率的原始视频序列确定用于图片的每个当前块的一个或多个候选运动矢量。例如,整像素运动估计过程没有接收到与相对于进行编码的当前图片的当前块的相邻块相关的实际编码信息。然而,如以下所讨论的,整像素运动估计过程可以使用先前编码的图片的编码信息。
在第二部分中,主编码回路的时间或空间预测模块140采用改进运动估计过程。例如,从整像素运动估计过程接收到的用于每个当前块(例如,当前宏块)的一个或多个候选运动矢量用于选择用于当前块的最终运动矢量。换句话说,改进运动估计过程例如以全分辨率来使用重构视频输出以最小化漂移来改进来自整像素运动估计过程的最佳候选运动矢量(多个)。应当注意,能够采用任何类型的改进运动估计过程。本发明的一个方面在于,在主编码回路外操作的外部整像素运动估计过程能够为要编码的当前块快速地提供一个或多个候选运动矢量。使用一个或多个候选运动矢量,改进运动估计过程能够扩展计算周期以更好地确定用于当前块的最终运动矢量,即,一个或多个候选运动矢量由改进运动估计过程来用作开始点。
在操作中,编码器通过计算与运动矢量和预测的运动矢量(PMV)之间的差相关的DMV成本来对用于当前块的运动矢量进行编码。由于运动矢量和PMV之间的差在大小上常常小于运动矢量本身,所以这是被编码和传送以提高编码效率的差。该差被称作差运动矢量(DMV)。
为了选择运动矢量,编码器可以在运动估计过程中使用块匹配技术。例如,块匹配过程可以将候选块与当前块进行比较,并且基于成本量度来计算匹配成本。应当注意,鉴于H.264标准,成本量度是非规范的,这意味着允许H.264类的编码器以任何方式对成本量度进行调整。例如,H.264类的编码器可以利用如下的说明匹配质量和估计的比特成本二者的基于拉格朗日的成本量度:
J=SAD+λ‖MV-PMV‖                等式1
其中,J为成本量度,SAD是当前块和预测块之间的绝对差之和,λ是常数,例如拉格朗日乘数,‖·‖是范数函数,MV是运动矢量,并且PMV是预测的运动矢量。应当注意,DMV=MV-PMV。
在一个实施例中,等式1的成本量度J被如下修改:
JFPME=2*SADHHR+λ′(selen(MVx′-PMVx′)-selen(MVy′-PMVy′))  等式2
其中,JFPME是例如运动估计模块135所采用的整像素运动估计的成本量度,SADHHR是当前块和预测的块之间在HHR水平的绝对差之和,λ′是常数,例如,拉格朗日乘数,其中DMV成本计算函数selen是输出如在编码的H.264比特流中表示的比特中的运动矢量分量的长度的函数,MV’x和MV’y分别是运动矢量候选的水平和垂直分量,并且PMV’x和PMV’y分别是估计预测的运动矢量的水平和垂直分量。应当注意,HHR代表半水平分辨率,例如,对于每个块而言,仅使用一半的水平像素。如此一来,SADHHR乘以常数2。此外,selen(MV’-PMV’)表示基于MV候选和PMV估计之间的差的大小所估计的比特数目。在一个实施例中,等式2的成本量度J由运动估计模块135所采用。由于诸如λ′和PMV’的参数都是估计值,而不是从主编码回路所推导出的实际参数,所以能够针对候选运动矢量MV’计算等式2的成本量度J。如此一来,给定搜索区域,运动估计模块135能够快速地应用任何块匹配技术,并且通过在所有候选运动矢量MV’上最小化J而使用等式2来计算一个或多个候选运动矢量。
在一个实施例中,本发明的FPME可以采用MV定心(centering)的多种不同方法。搜索区域设置用于运动估计的工作边界,并且由用于参考图片的大小和中心位置来限定。在一个实施例中,FPME对所有分割类型(即,1MB内16x16,、两个16x8、两个8x16、四个8x8)采用相同的搜索区域配置(例如,相同的中心位置),使得能够对所有分割类型同时执行搜索操作,例如,成本计算。替代地,FPME可以针对不同的分割类型采用不同搜索区域配置。MV定心将影响FPME性能。也就是说,不良的MV定心方法需要通过使用较大的搜索区域进行补偿以保持相同的搜索质量。
在一个实施例中,用于FPME的MV定心方法将参考图片中的搜索区域的中心与当前图片中的当前宏块(MB)的左上位置放置在一起,如图2中所示。特定地,图2图示了搜索区域200,其中,该搜索区域的中心被示为与当前宏块210的左上位置放置在一起。
在替代实施例中,用于FPME的MV定心方法在远离当前图片中的当前宏块(MB)的左上位置距离SACV(搜索区域中心矢量)处放置搜索区域的参考图片中的中心,如图3中所示。特定地,图3图示了搜索区域300,其中,该搜索区域的中心被示为远离当前宏块(MB)310的左上位置。在一个实施例中,SACV 305是计算机为来自当前块310的相邻块的运动矢量的中间值的矢量(例如,16x16MV的在最低到最高的幅度排名中的中间数值)。例如,图4图示了具有左邻块A 320、顶邻块B 330、右上相邻块C 340和左上相邻块D 350的当前块310。在一个实施例中,SACV被确定为来自相邻块A、B和的16x16MV的中间值。在一个替代实施例中,如果相邻块C不可用,则相邻块D可以替代相邻C。应当注意,为了使FPME独立于主编码回路,相邻宏块的MV是FPME所确定的MV而不是来自主编码回路的改进运动估计过程所生成的最终MV。
在替代实施例中,用于FPME的MV定心方法在远离当前图片中的具有顶MB 510a和底MB 510b的当前宏块对510的中心的共用矢量的距离处放置参考图片中的搜索区域的中心。换句话说,SACV(搜索区域中心矢量)远离当前图片中的当前宏块(MB)对510的中心位置,如图5中所示。在一个实施例中,SACV是从共用矢量计算的矢量,所述共用矢量是指来自当前图片中的当前MB对510的顶MB 510a的相邻块A 520的右侧8x16MV。再一次,应当注意,为了使FPME独立于主编码回路,相邻宏块的MV是FPME所确定的MV,而不是来自主编码回路的改进运动估计过程所生成的最终MV。
如以上所讨论的,基于当前块的最终MV和PMV之间的差来执行差运动矢量(DMV)成本计算。因为H.264类的编码器通过对MV关于PMV在比特上的差进行编码来编码用于当前块的MV,所以需要DMV。不幸的是,由于DMV的计算需要了解真实的MV(在比特流中编码的最终MV),所以运动估计过程然后必须等待编码器完成所有相邻块的模式判定。该方法产生了大量的延迟并且可能对于例如实时应用的一些应用是不实际的。
在一个实施例中,本发明采用在主编码回路外的模块135中的FPME。FPME不具有关于相邻块的真实MV的任何信息。换句话说,该FPME采用近似的PMV’。如此一来,FPME所执行的DMV成本计算仅是与编码用于当前块的MV相关联的多个比特的估计。因此,提高DMV成本计算的估计的准确度还将转化为编码器的处理速度和编码效率的提高。
在一个实施例中,可以以多种不同方式来近似或设置PMV’。概言之,以如下三种不同方法来设置用于DMV成本计算的PMV’:
1)左邻元素(PMVL)-在DMV成本计算中使用的PMV来自当前宏块的左邻元素(例如,图4中的宏块A);
2)顶邻元素(PMVT)-在DMV成本计算中使用的PMV来自当前宏块的顶邻元素(例如,图4中的宏块B);
3)三个相邻块(PMV3)-在DMV成本计算中使用的PMV是当前宏块的左邻元素(例如,图4中的宏块A)、上邻元素(例如,图4中的宏块B)和右上邻元素(例如,图4中的宏块C)或左上邻元素(例如,图4中的宏块D)的MV中的中间值。如此一来,如果宏块C不可用,则能够使用宏块D。
在一个实施例中,在DMV成本计算中使用的PMV从相邻块的8x8MV中得到。本发明允许当前块具有任何分割。图6-图9中图示了各种类型的分割。
图6图示了在用于当前块610的16x16分割的差运动矢量计算中所使用的预测的运动矢量的位置的一个说明性实施例。在PMVL方法下,PMV’将从相邻块A 620的子块A1 622的MV得到。在PMVT方法下,PMV’将从相邻块B 630的子块B1 632的MV得到。在PMV3方法下,PMV’将从三个MV的中间值得到:相邻块A 620的子块A1 622的MV、相邻块B 630的子块B1 632的MV以及相邻块C 640的子块C1 642的MV(或者如果相邻块C 640不可用,则为相邻块D 650的子块D1 652的MV)。
图7图示了在用于具有顶块712和底块714的当前块710的16x8分割的差运动矢量计算中所使用的预测的运动矢量的位置的一个说明性实施例。在用于顶块712的PMVL方法下,PMV’将从相邻块A 720的子块A1 722的MV得到。在用于底块714的PMVL方法下,PMV’将从相邻块A 720的子块A2 724的MV得到。
在用于顶块712的PMVT方法下,PMV’将从相邻块B 730的子块B1 732的MV得到。在用于底块714的PMVT方法下,PMV’将从相邻块B 730的子块B1 732的MV得到。
在用于顶块712的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块A 720的子块A1 722的MV、相邻块B 730的子块B1 732的MV以及相邻块C 740的子块C 742的MV(或者如果相邻块C 740不可用,则为相邻块D 750的子块D 752的MV)。在用于底块714的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块A 720的子块A1 722的MV、相邻块A 720的子块A2 724的MV以及相邻块B 730的子块B1 732的MV。
图8图示了在用于具有左块812和右块814的当前块810的8x16分割的差运动矢量计算中所使用的预测的运动矢量的位置的一个说明性实施例。在用于左块812的PMVL方法下,PMV’将从相邻块A 820的子块A1 822的MV得到。在用于右块814的PMVL方法下,PMV’将从相邻块A 820的子块A1 822的MV得到。
在用于左块812的PMVT方法下,PMV’将从相邻块B 830的子块B1 832的MV得到。在用于右块814的PMVT方法下,PMV’将从相邻块B 830的子块B2 834的MV得到。
在用于左块812的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块A 820的子块A1 822的MV、相邻块B 830的子块B1 832的MV以及相邻块C 840的子块C 842的MV(或者如果相邻块C 840不可用,则为相邻块D 850的子块D 852的MV)。在用于右块814的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块B 830的子块B1 832的MV、相邻块B 830的子块B2 834的MV以及相邻块C 840的子块C 842的MV。
图9图示了在用于具有左上块912、右上块914、左下块916和右下块918的当前块910的8x8分割的差运动矢量计算中所使用的预测的运动矢量的位置的一个说明性实施例。在用于左上块912的PMVL方法下,PMV’将从相邻块A 920的子块A1 922的MV得到。在用于右上块914的PMVL方法下,PMV’将从相邻块A 920的子块A1 922的MV得到。在用于左下块916的PMVL方法下,PMV’将从相邻块A920的子块A2 924的MV得到。在用于右下块918的PMVL方法下,PMV’将从相邻块A 920的子块A2 924的MV得到。
在用于左上块912的PMVT方法下,PMV’将从相邻块B 930的子块B1 932的MV得到。在用于右上块914的PMVT方法下,PMV’将从相邻块B 930的子块B2 934的MV得到。在用于左下块916的PMVT方法下,PMV’将从相邻块B 930的子块B1 932的MV得到。在用于右下块914的PMVT方法下,PMV’将从相邻块B 930的子块B2 934的MV得到。
在用于左上块912的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块A 920的子块A1 922的MV、相邻块B 930的子块B1 932的MV以及相邻块C 940的子块C 942的MV(或者如果相邻块C 940不可用,则为相邻块D 950的子块D 952的MV)。在用于右上块914的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块B 930的子块B1 932的MV、相邻块B 930的子块B2 934的MV以及相邻块C940的子块C 942的MV。在用于左下块916的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块A 920的子块A1 922的MV、相邻块A 920的子块A2 924的MV以及相邻块B 930的子块B1 932的MV。在用于右下块918的PMV3方法下,PMV’将从三个MV的中间值得到:相邻块A 920的子块A1 922的MV、相邻块A 920的子块A2924的MV以及相邻块C 940的子块C 942的MV。
应当注意,对于以上所讨论的方法的任何一个而言,如果块A、B、C或D的任何一个都不存在,则该方法可以将不存在的相邻元素的MV设置为零。应当注意,在不接收来自主编码回路的任何信息的情况下,PMV’近似中所需的所有信息都从FPME过程的局部信息得到。
如以上所讨论的,λ是成本量度中的拉格朗日乘数。λ可以如下定义:
λ ′ = 0.68 × ( QP ′ - 12 ) 6 × 2 ( QP ′ - 12 ) 3 等式3
其中,QP’是估计的量化参数。
应当注意,在固定比特速率的编码应用中,因为在作为主编码回路的一部分的速率控制过程中确定QP,所以量化参数(QP)信息不可用于FPME过程。如此一来,本发明在其成本量度中使用近似的QP’。
在一个实施例中,本发明依赖于过去的QP信息来近似当前QP。例如,可以通过增加更新频率(例如,每MB、每条带等)或者增加在QP近似中使用的信息量使得来自最近编码的相同类型图片中的所有MB的QP的平均值更为准确。在一个实施例中,QP近似可以使用以编码顺序相距M个图片的N个图片的QP的权重平均值。FPME过程对来自在时间距离上更加接近编码图片的图片的QP平均值指定较大的权重。
图10图示了在本发明的一个实施例中的用于执行运动估计的方法1000。例如,方法1000能够由运动估计模块135来执行。
方法1000在步骤1005中开始并且前进到步骤1010。在步骤1010中,方法1000选择搜索区域和用于当前块的运动矢量定心。例如,能够采用如上所讨论的三种运动矢量定心方法中的一种。
在步骤1020中,方法1000在搜索区域中执行用于当前块的块匹配,并且计算用于每个候选运动矢量的匹配成本(例如,成本量度)。例如,如以上所讨论的,在该步骤中能够使用等式2。
在步骤1030中,方法1000基于计算的用于每个候选运动矢量的匹配成本来输出至少一个候选矢量。例如,能够由方法1000输出与具有最低匹配成本的搜索区域中的匹配块相关联的候选运动矢量。例如,FPME能够将候选运动矢量转发到主编码回路的时间或空间预测模块140。应当注意,本发明不限于仅为每个当前块提供单个候选运动矢量。根据实施方式,能够提供一个或多个候选运动矢量,例如,具有最低匹配成本的两个候选运动矢量等。
在步骤1040中,方法1000查询是否存在要编码的下一个当前块。如果肯定回答了该查询,则方法1000返回步骤1010,并且针对下一个当前块再次重复该过程。如果否定回答了该查询,则方法1000在步骤1045中结束。
应当注意,虽然没有特别指定,但是方法1000的一个或多个步骤可以包括如特定应用所要求的存储、显示和/或输出步骤。换句话说,所述方法中所讨论的任何数据、记录、字段和/或中间结果都可以如特定应用所要求的被存储、显示和/或输出到另一设备。此外,引用确定操作或涉及判定的图10中的步骤或块并不必需要求所述确定操作的两个分支都被实践。换句话说,所述确定操作的分支的一个可以被视为可选步骤。
图11是利用通用计算机实现的本编码系统的框图。在一个实施例中,编码系统1100使用通用计算机或任何其它硬件等价物来实现。更特定地,编码系统1100包括处理器(CPU)1110、例如随机存取存储器(RAM)和/或只读存储器(ROM)的存储器1120、采用该外部FPME方法的编码器1122以及各种输入/输出设备1130(例如,存储设备,包括但不限于,磁带驱动器、软盘驱动器、硬盘驱动器或致密盘驱动器、接收器、发射器、扬声器、显示器、输出端口、用户输入设备(诸如,键盘、小键盘、鼠标等)或者用于捕捉话音命令的麦克风)。
应当理解,编码器1122能够被实施为通过通信信道耦合到CPU1110的物理设备或子系统。替代地,编码器1122能够由一个或多个软件应用程序来表示(或者甚至由软件和硬件的组合来表示,例如,使用应用特定集成电路(ASIC)),其中,软件从存储介质(例如,磁或光驱动器或者卡带)加载,并且由CPU在计算机的存储器1120中进行操作。如此一来,本发明的编码器1122(包括关联的数据结构和编码器内所采用的方法)能够存储在计算机可读介质或载体上,例如,RAM存储器、磁或光驱动器或者卡带等。
虽然以上内容针对本发明的实施例,但是在不背离本发明的基本范围的情况下,可以设想本发明的其它另外的实施例,并且其范围由以下权利要求所确定。
权利要求书(按照条约第19条的修改)
1.一种用于执行运动估计的方法,包括:
在至少一个参考图片的搜索区域中选择用于当前块的运动矢量定心;
计算用于从所述搜索区域得到的多个候选运动矢量中的每一个的匹配成本;以及
基于与所述多个候选运动矢量中的每一个相关联的所述匹配成本来向主编码回路输出所述多个候选运动矢量中的至少一个。
2.根据权利要求1所述的方法,其中,所述选择运动矢量定心包括:将所述搜索区域的中心与所述当前块的左上位置放置在一起。
3.根据权利要求1所述的方法,其中,所述选择运动矢量定心包括:在远离所述当前块的左上位置的距离处放置所述搜索区域的中心,其中,所述距离从搜索区域中心矢量(SACV)得到。
4.根据权利要求3所述的方法,其中,所述SACV是计算为来自所述当前块的多个相邻块的运动矢量的中间值的矢量。
5.根据权利要求3所述的方法,其中,所述当前块是具有顶块和底块的当前块对,并且其中,所述SACV是从共用矢量所计算的矢量,所述共用矢量是指来自所述当前块对的所述顶块的相邻块的运动矢量。
6.根据权利要求1所述的方法,其中,所述计算所述匹配成本包括:估计预测的运动矢量(PMV’)。
7.根据权利要求6所述的方法,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的左邻块选择的运动矢量。
8.根据权利要求6所述的方法,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的顶邻块选择的运动矢量。
9.根据权利要求6所述的方法,其中,所述估计所述预测的运动矢量(PMV’)包括:选择从所述当前块的多个相邻块选择的多个运动矢量的中间值。
10.根据权利要求1所述的方法,其中,所述计算所述匹配成本包括:估计拉格朗日乘数,其中,使用来自至少一个先前编码的图片的多个宏块的量化参数信息来估计所述拉格朗日乘数。
11.根据权利要求10所述的方法,其中,所述至少一个先前编码的图片包括:远离所述当前块的当前图片M个图片的N个先前编码的图片。
12.一种计算机可读介质,所述计算机可读介质具有存储在其上的多个指令,所述多个指令包括当由处理器执行时使得所述处理器执行用于执行运动估计的方法的步骤的指令,所述步骤包括:
在至少一个参考图片的搜索区域中选择用于当前块的运动矢量定心;
计算用于从所述搜索区域得到的多个候选运动矢量中的每一个的匹配成本;以及
基于与所述多个候选运动矢量中的每一个相关联的所述匹配成本来向主编码回路输出所述多个候选运动矢量中的至少一个。
13.根据权利要求12所述的计算机可读介质,其中,所述选择运动矢量定心包括:将所述搜索区域的中心与所述当前块的左上位置放置在一起。
14.根据权利要求12所述的计算机可读介质,其中,所述选择运动矢量定心包括:在远离所述当前块的左上位置的距离处放置所述搜索区域的中心,其中,所述距离从搜索区域中心矢量(SACV)得到。
15.根据权利要求12所述的计算机可读介质,其中,所述计算所述匹配成本包括估计预测的运动矢量(PMV’)。
16.一种编码系统,包括:
编码器,所述编码器具有主编码回路;以及
运动估计模块,所述运动估计模块耦合到所述编码器,其中,所述运动估计模块在至少一个参考图片的搜索区域中选择用于当前块的运动矢量定心,其中,所述运动估计模块计算用于从所述搜索区域得到的多个候选运动矢量中的每一个的匹配成本,并且其中,所述运动估计模块基于与所述多个候选运动矢量中的每一个相关联的所述匹配成本来向主编码回路输出所述多个候选运动矢量中的至少一个。
17.根据权利要求16所述的编码系统,其中,所述选择所述运动矢量定心包括:将所述搜索区域的中心与所述当前块的左上位置放置在一起。
18.根据权利要求16所述的编码系统,其中,所述选择所述运动矢量定心包括:在远离所述当前块的左上位置的距离处放置所述搜索区域的中心,其中,所述距离从搜索区域中心矢量(SACV)得到。
19.根据权利要求18所述的编码系统,其中,所述SACV是被计算为来自所述当前块的多个相邻块的运动矢量的中间值的矢量。
20.根据权利要求18所述的编码系统,其中,所述当前块是具有顶块和底块的当前块对,并且其中,所述SACV是从共用矢量计算的矢量,所述共用矢量是指来自所述当前块对的所述顶块的相邻块的运动矢量。
21.根据权利要求16所述的编码系统,其中,所述计算所述匹配成本包括:估计预测的运动矢量(PMV’)。
22.根据权利要求21所述的编码系统,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的左邻块选择的运动矢量。
23.根据权利要求21所述的编码系统,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的顶邻块选择的运动矢量。
24.根据权利要求21所述的编码系统,其中,所述估计所述预测的运动矢量(PMV’)包括:选择从所述当前块的多个相邻块所选择的多个运动矢量的中间值。
25.根据权利要求16所述的编码系统,其中,所述计算所述匹配成本包括:估计拉格朗日乘数,其中,使用来自至少一个先前编码的图片的多个宏块的量化参数信息来估计所述拉格朗日乘数。

Claims (30)

1.一种用于执行运动估计的方法,包括:
在至少一个参考图片的搜索区域中选择用于当前块的运动矢量定心;
计算用于从所述搜索区域得到的多个候选运动矢量中的每一个的匹配成本;以及
基于与所述多个候选运动矢量中的每一个相关联的所述匹配成本来向主编码回路输出所述多个候选运动矢量中的至少一个。
2.根据权利要求1所述的方法,其中,所述选择运动矢量定心包括:将所述搜索区域的中心与所述当前块的左上位置放置在一起。
3.根据权利要求1所述的方法,其中,所述选择运动矢量定心包括:在远离所述当前块的左上位置的距离处放置所述搜索区域的中心,其中,所述距离从搜索区域中心矢量(SACV)得到。
4.根据权利要求3所述的方法,其中,所述SACV是计算为来自所述当前块的多个相邻块的运动矢量的中间值的矢量。
5.根据权利要求3所述的方法,其中,所述当前块是具有顶块和底块的当前块对,并且其中,所述SACV是从共用矢量所计算的矢量,所述共用矢量是指来自所述当前块对的所述顶块的相邻块的运动矢量。
6.根据权利要求1所述的方法,其中,所述计算所述匹配成本包括:估计预测的运动矢量(PMV’)。
7.根据权利要求6所述的方法,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的左邻块选择的运动矢量。
8.根据权利要求6所述的方法,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的顶邻块选择的运动矢量。
9.根据权利要求6所述的方法,其中,所述估计所述预测的运动矢量(PMV’)包括:选择从所述当前块的多个相邻块选择的多个运动矢量的中间值。
10.根据权利要求6所述的方法,其中,所述当前块具有分割类型,所述分割类型包括下述中的至少一个:16x16分割、16x8分割、8x16分割或8x8分割。
11.根据权利要求1所述的方法,其中,所述计算所述匹配成本包括:估计拉格朗日乘数,其中,使用来自至少一个先前编码的图片的多个宏块的量化参数信息来估计所述拉格朗日乘数。
12.根据权利要求11所述的方法,其中,所述至少一个先前编码的图片包括:远离所述当前块的当前图片M个图片的N个先前编码的图片。
13.一种计算机可读载体,所述计算机可读载体具有存储在其上的多个指令,所述多个指令包括当由处理器执行时使得所述处理器执行用于执行运动估计的方法的步骤的指令,所述步骤包括:
在至少一个参考图片的搜索区域中选择用于当前块的运动矢量定心;
计算用于从所述搜索区域得到的多个候选运动矢量中的每一个的匹配成本;以及
基于与所述多个候选运动矢量中的每一个相关联的所述匹配成本来向主编码回路输出所述多个候选运动矢量中的至少一个。
14.根据权利要求13所述的计算机可读载体,其中,所述选择运动矢量定心包括:将所述搜索区域的中心与所述当前块的左上位置放置在一起。
15.根据权利要求13所述的计算机可读载体,其中,所述选择运动矢量定心包括:在远离所述当前块的左上位置的距离处放置所述搜索区域的中心,其中,所述距离从搜索区域中心矢量(SACV)得到。
16.根据权利要求15所述的计算机可读载体,其中,所述SACV是被计算为来自所述当前块的多个相邻块的运动矢量的中间值的矢量。
17.根据权利要求15所述的计算机可读载体,其中,所述当前块是具有顶块和底块的当前块对,并且其中,所述SACV是从共用矢量计算的矢量,所述共用矢量是指来自所述当前块对的所述顶块的相邻块的运动矢量。
18.根据权利要求13所述的计算机可读载体,其中,所述计算所述匹配成本包括估计预测的运动矢量(PMV’)。
19.根据权利要求18所述的计算机可读载体,其中,所述估计所述预测的运动矢量(PMV’)包括下述中的至少一个:使用从所述当前块的左邻块选择的运动矢量、使用从所述当前块的顶邻块选择的运动矢量,或者选择从所述当前块的多个相邻块选择的多个运动矢量的中间值。
20.一种编码系统,包括:
编码器,所述编码器具有主编码回路;以及
运动估计模块,所述运动估计模块被耦合到所述编码器,其中,所述运动估计模块在至少一个参考图片的搜索区域中选择用于当前块的运动矢量定心,其中,所述运动估计模块计算用于从所述搜索区域得到的多个候选运动矢量中的每一个的匹配成本,并且其中,所述运动估计模块基于与所述多个候选运动矢量中的每一个相关联的所述匹配成本来向主编码回路输出所述多个候选运动矢量中的至少一个。
21.根据权利要求20所述的编码系统,其中,所述选择所述运动矢量定心包括:将所述搜索区域的中心与所述当前块的左上位置放置在一起。
22.根据权利要求20所述的编码系统,其中,所述选择所述运动矢量定心包括:在远离所述当前块的左上位置的距离处放置所述搜索区域的中心,其中,所述距离从搜索区域中心矢量(SACV)得到。
23.根据权利要求22所述的编码系统,其中,所述SACV是被计算为来自所述当前块的多个相邻块的运动矢量的中间值的矢量。
24.根据权利要求22所述的编码系统,其中,所述当前块是具有顶块和底块的当前块对,并且其中,所述SACV是从共用矢量计算的矢量,所述共用矢量是指来自所述当前块对的所述顶块的相邻块的运动矢量。
25.根据权利要求20所述的编码系统,其中,所述计算所述匹配成本包括:估计预测的运动矢量(PMV’)。
26.根据权利要求25所述的编码系统,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的左邻块选择的运动矢量。
27.根据权利要求25所述的编码系统,其中,所述估计所述预测的运动矢量(PMV’)包括:使用从所述当前块的顶邻块选择的运动矢量。
28.根据权利要求25所述的编码系统,其中,所述估计所述预测的运动矢量(PMV’)包括:选择从所述当前块的多个相邻块所选择的多个运动矢量的中间值。
29.根据权利要求25所述的编码系统,其中,所述当前块具有分割类型,所述分割类型包括下述中的至少一个:16x16分割、16x8分割、8x16分割或8x8分割。
30.根据权利要求20所述的编码系统,其中,所述计算所述匹配成本包括:估计拉格朗日乘数,其中,使用来自至少一个先前编码的图片的多个宏块的量化参数信息来估计所述拉格朗日乘数。
CN200880116385.0A 2007-11-15 2008-10-29 用于执行运动估计的方法和装置 Active CN101889405B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/940,761 US8908765B2 (en) 2007-11-15 2007-11-15 Method and apparatus for performing motion estimation
US11/940,761 2007-11-15
PCT/US2008/081512 WO2009064615A1 (en) 2007-11-15 2008-10-29 Method and apparatus for performing motion estimation

Publications (2)

Publication Number Publication Date
CN101889405A true CN101889405A (zh) 2010-11-17
CN101889405B CN101889405B (zh) 2015-07-01

Family

ID=40639076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880116385.0A Active CN101889405B (zh) 2007-11-15 2008-10-29 用于执行运动估计的方法和装置

Country Status (5)

Country Link
US (1) US8908765B2 (zh)
EP (1) EP2213006B1 (zh)
KR (1) KR101228651B1 (zh)
CN (1) CN101889405B (zh)
WO (1) WO2009064615A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108178A (zh) * 2011-11-11 2013-05-15 华为技术有限公司 视频图像编解码的方法及装置
CN103959774A (zh) * 2011-11-18 2014-07-30 摩托罗拉移动有限责任公司 用于高效视频编码的运动信息的有效存储
CN104349164A (zh) * 2011-09-09 2015-02-11 株式会社Kt 用于对视频信号进行解码的方法和设备
CN104811584A (zh) * 2014-01-29 2015-07-29 晨星半导体股份有限公司 影像处理电路与方法
CN105812820A (zh) * 2011-01-07 2016-07-27 株式会社Ntt都科摩 预测解码方法、预测解码装置
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
CN108347609A (zh) * 2011-11-07 2018-07-31 英孚布瑞智有限私人贸易公司 利用合并模式的图像解码方法
CN108476318A (zh) * 2016-01-14 2018-08-31 三菱电机株式会社 编码性能评价辅助装置、编码性能评价辅助方法以及编码性能评价辅助程序
CN108592931A (zh) * 2018-04-27 2018-09-28 福州大学 一种根据人体舒适度提供导航路径的方法
WO2022262818A1 (en) * 2021-06-18 2022-12-22 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731045B2 (en) * 2007-11-28 2014-05-20 Orange Motion encoding and decoding
JP5422168B2 (ja) 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
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
TR200906020A2 (tr) 2009-08-04 2011-02-21 Vestel Elektroni̇k Sanayi̇ Ve Ti̇caret Anoni̇m Şi̇rketi̇@ Hareket alanlarının, kare interpolasyon çerçevelerine,belleğe etkin erişimli şekilde ayarlanması için metot ve aparat
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
JP5441803B2 (ja) * 2010-04-12 2014-03-12 キヤノン株式会社 動きベクトル決定装置及び動きベクトル決定方法、コンピュータプログラム
US9118939B2 (en) 2010-12-20 2015-08-25 Arris Technology, Inc. SVC-to-AVC rewriter with open-loop statistical multiplexer
AU2015215982B2 (en) * 2011-01-07 2016-05-05 Ntt Docomo, Inc. Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
JP5698541B2 (ja) * 2011-01-12 2015-04-08 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
KR20120088488A (ko) 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
HRP20230425T1 (hr) 2011-03-21 2023-07-07 Lg Electronics, Inc. Odabir prediktora vektora kretanja
US9313494B2 (en) 2011-06-20 2016-04-12 Qualcomm Incorporated Parallelization friendly merge candidates for video coding
GB2493755B (en) * 2011-08-17 2016-10-19 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of images
US9300975B2 (en) * 2011-09-11 2016-03-29 Texas Instruments Incorporated Concurrent access shared buffer in a video encoder
US9392235B2 (en) 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
CN103959791B (zh) 2011-11-18 2017-07-04 谷歌技术控股有限责任公司 针对高效率视频代码化(hevc)用信号发送并置图片的显式方式
US9467694B2 (en) 2011-11-21 2016-10-11 Google Technology Holdings LLC Implicit determination and combined implicit and explicit determination of collocated picture for temporal prediction
BR112014015790A2 (pt) 2011-12-26 2018-05-22 Motorola Mobility Llc determinação implícita de figura colocalizada para predição temporal
WO2013154673A1 (en) 2012-04-11 2013-10-17 Motorola Mobility Llc Signaling of temporal motion vector predictor (mvp) flag for temporal prediction
US9549177B2 (en) 2012-04-11 2017-01-17 Google Technology Holdings LLC Evaluation of signaling of collocated reference picture for temporal prediction
US9319681B2 (en) 2012-07-18 2016-04-19 Google Technology Holdings LLC Signaling of temporal motion vector predictor (MVP) enable flag
JP5726220B2 (ja) * 2013-02-01 2015-05-27 株式会社半導体理工学研究センター 動き推定装置及び動き推定プログラム
KR101454664B1 (ko) 2013-04-30 2014-10-28 삼성전자주식회사 움직임 벡터를 복호화하는 방법
WO2014190468A1 (en) 2013-05-27 2014-12-04 Microsoft Corporation Video encoder for images
US20150036747A1 (en) * 2013-07-30 2015-02-05 Electronics And Telecommunications Research Institute Encoding and decoding apparatus for concealing error in video frame and method using same
CN105359531B (zh) * 2014-03-17 2019-08-06 微软技术许可有限责任公司 用于针对屏幕内容编码的编码器侧判定的方法和系统
US10924743B2 (en) 2015-02-06 2021-02-16 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
US11503367B2 (en) * 2019-03-20 2022-11-15 Tencent America LLC Techniques and apparatus for weighted-median prediction for point-cloud attribute coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711211B1 (en) * 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US20050207494A1 (en) * 2003-11-06 2005-09-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding moving picture using fast motion estimation algorithm
US20060215758A1 (en) * 2005-03-23 2006-09-28 Kabushiki Kaisha Toshiba Video encoder and portable radio terminal device using the video encoder

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0897247A3 (de) * 1997-08-14 2001-02-07 Philips Patentverwaltung GmbH Verfahren zur Berechnung von Bewegungsvektoren
AU2002228884A1 (en) 2000-11-03 2002-05-15 Compression Science Video data compression system
KR101017770B1 (ko) * 2003-06-26 2011-02-28 톰슨 라이센싱 슬라이딩 윈도 채널 제약에 부합하는 멀티패스 비디오레이트 제어
BRPI0413988A (pt) * 2003-08-26 2006-11-07 Thomson Licensing método e aparelho para decodificar blocos intra-inter codificador hìbridos
EP1513350A1 (en) * 2003-09-03 2005-03-09 Thomson Licensing S.A. Process and arrangement for encoding video pictures
US7295612B2 (en) * 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
JP4470431B2 (ja) * 2003-10-01 2010-06-02 ソニー株式会社 データ処理装置およびその方法
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
US7804900B2 (en) * 2006-02-23 2010-09-28 Industrial Technology Research Institute Method for fast SATD estimation
US8326075B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711211B1 (en) * 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US20050207494A1 (en) * 2003-11-06 2005-09-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding moving picture using fast motion estimation algorithm
US20060215758A1 (en) * 2005-03-23 2006-09-28 Kabushiki Kaisha Toshiba Video encoder and portable radio terminal device using the video encoder

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878741A (zh) * 2011-01-07 2017-06-20 株式会社Ntt都科摩 预测解码方法
CN106878741B (zh) * 2011-01-07 2019-08-06 株式会社Ntt都科摩 预测解码方法
CN105812820A (zh) * 2011-01-07 2016-07-27 株式会社Ntt都科摩 预测解码方法、预测解码装置
CN105812820B (zh) * 2011-01-07 2019-03-15 株式会社Ntt都科摩 预测解码方法、预测解码装置
CN104349164B (zh) * 2011-09-09 2018-02-02 株式会社Kt 用于对视频信号进行解码的方法和设备
US11089333B2 (en) 2011-09-09 2021-08-10 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
CN104349164A (zh) * 2011-09-09 2015-02-11 株式会社Kt 用于对视频信号进行解码的方法和设备
US10805639B2 (en) 2011-09-09 2020-10-13 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
US10523967B2 (en) 2011-09-09 2019-12-31 Kt Corporation Method for deriving a temporal predictive motion vector, and apparatus using the method
CN108347609A (zh) * 2011-11-07 2018-07-31 英孚布瑞智有限私人贸易公司 利用合并模式的图像解码方法
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
CN103108178A (zh) * 2011-11-11 2013-05-15 华为技术有限公司 视频图像编解码的方法及装置
US9602816B2 (en) 2011-11-11 2017-03-21 Huawei Technologies Co., Ltd. Video image coding and decoding method and apparatus
WO2013067899A1 (zh) * 2011-11-11 2013-05-16 华为技术有限公司 视频图像编解码的方法及装置
CN103108178B (zh) * 2011-11-11 2016-03-30 华为技术有限公司 视频图像编解码的方法及装置
CN103959774B (zh) * 2011-11-18 2017-11-24 谷歌技术控股有限责任公司 用于高效视频编码的运动信息的有效存储
CN103959774A (zh) * 2011-11-18 2014-07-30 摩托罗拉移动有限责任公司 用于高效视频编码的运动信息的有效存储
CN104811584B (zh) * 2014-01-29 2018-03-27 晨星半导体股份有限公司 影像处理电路与方法
CN104811584A (zh) * 2014-01-29 2015-07-29 晨星半导体股份有限公司 影像处理电路与方法
CN108476318A (zh) * 2016-01-14 2018-08-31 三菱电机株式会社 编码性能评价辅助装置、编码性能评价辅助方法以及编码性能评价辅助程序
CN108592931A (zh) * 2018-04-27 2018-09-28 福州大学 一种根据人体舒适度提供导航路径的方法
WO2022262818A1 (en) * 2021-06-18 2022-12-22 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Also Published As

Publication number Publication date
CN101889405B (zh) 2015-07-01
KR101228651B1 (ko) 2013-01-31
WO2009064615A1 (en) 2009-05-22
US20090129472A1 (en) 2009-05-21
EP2213006A1 (en) 2010-08-04
EP2213006A4 (en) 2011-03-02
EP2213006B1 (en) 2016-05-04
KR20100082013A (ko) 2010-07-15
US8908765B2 (en) 2014-12-09

Similar Documents

Publication Publication Date Title
CN101889405B (zh) 用于执行运动估计的方法和装置
US10531117B2 (en) Sub-block transform coding of prediction residuals
JP5873536B2 (ja) 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
KR100750136B1 (ko) 영상의 부호화, 복호화 방법 및 장치
US8311095B2 (en) Method and apparatus for transcoding between hybrid video codec bitstreams
US7856053B2 (en) Image coding control method and device
KR100739281B1 (ko) 움직임 추정 방법 및 장치
KR100955396B1 (ko) 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체
US5610659A (en) MPEG encoder that concurrently determines video data encoding format and rate control
JP2010016454A (ja) 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
US20060120455A1 (en) Apparatus for motion estimation of video data
CN104284197A (zh) 视频编码器及其操作方法
KR20100079037A (ko) 비디오 영상 부호화 방법 및 장치
KR100961760B1 (ko) 이산코사인변환 계수를 참조하는 움직임 추정 방법 및 장치
KR100771640B1 (ko) 고속 모드 결정 기능을 구비한 h.264 인코더
JP4367354B2 (ja) 画像符号化装置
US20130170565A1 (en) Motion Estimation Complexity Reduction
JP4281667B2 (ja) 画像符号化装置
KR100900316B1 (ko) 실시간 비디오 신호 압축을 위한 인트라 모드 예측 검색방법 및 장치
KR102227680B1 (ko) 영상 압축을 위한 고속 영상 부호화 방법 및 그 장치
JP2002315006A (ja) 動き補償予測特異値展開符号化装置
KR20110074260A (ko) 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치
JP2006157214A (ja) 動画像符号化装置
JP2010288096A (ja) 動画像符号化方法、動画像符号化装置及び動画像符号化プログラム
KR20110058677A (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
CP03 Change of name, title or address

Address after: Georgia, USA

Patentee after: Ai Ruishi Technology Co.

Address before: American Pennsylvania

Patentee before: GENERAL INSTRUMENT Corp.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20180413

Address after: Georgia, USA

Patentee after: ARRIS ENTERPRISES LLC

Address before: Georgia, USA

Patentee before: Ai Ruishi Technology Co.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220708

Address after: London, England

Patentee after: Iris International Intellectual Property Co.,Ltd.

Address before: State of Georgia, US

Patentee before: ARRIS ENTERPRISES LLC

TR01 Transfer of patent right