CN1882085A - 以提高的压缩效率将视频信号编码的方法和设备 - Google Patents

以提高的压缩效率将视频信号编码的方法和设备 Download PDF

Info

Publication number
CN1882085A
CN1882085A CNA2006100871510A CN200610087151A CN1882085A CN 1882085 A CN1882085 A CN 1882085A CN A2006100871510 A CNA2006100871510 A CN A2006100871510A CN 200610087151 A CN200610087151 A CN 200610087151A CN 1882085 A CN1882085 A CN 1882085A
Authority
CN
China
Prior art keywords
model
pixel
estimation
sub
motion vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2006100871510A
Other languages
English (en)
Inventor
权宁圭
白贤基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1882085A publication Critical patent/CN1882085A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23602Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种在子像素的运动估计中利用模型切换来提高压缩效率的编码方法和编码设备。该编码方法包括:得到在块上存在的像素的运动矢量;利用运动矢量的值来产生多个运动估计模型;将多个运动估计模型的估计误差相互做比较;根据估计误差的比较来选择具有较小的估计误差的一个运动估计模型;利用所选择的运动估计模型来进行子像素运动估计。

Description

以提高的压缩效率将视频信号编码的方法和设备
本申请要求于2006年4月20日在韩国知识产权局提交的第10-2006-0035906号韩国专利申请以及于2005年6月14日在美国专利商标局提交的第60/690,131号美国临时专利申请的优先权,其内容通过引用完全包含于此。
                            技术领域
根据本发明的设备和方法涉及将视频信号编码,更具体地讲,涉及在子像素的运动估计中利用模型切换(model switching)以提高的压缩效率将视频信号编码的设备和方法。
                            背景技术
在视频压缩技术中,为了利用相邻帧的时间相似性来压缩当前帧的宏块,在前面的帧中搜索最相似的区域。这个过程称作运动估计过程。在与运动估计过程相关联的前面的帧中,指向通过运动估计过程得到的最相似区域的矢量被称作运动矢量。为了确定在当前图像的块与相邻块之间的区域相似性,检测区域之间的差异,该差异被称作块匹配误差(block match error)。在检测块匹配误差的过程中,运用各种技术,包括绝对差和(SAD)技术、平均绝对差(MAD)技术、均方差(MSE)技术等。当两个块之间的差变小时,这两个块被认为越相似。
同时,为了提高视频压缩效率,采用以子像素比如半像素或四分之一像素为单位的运动矢量。图1示出了用于各整像素(integer pixel)的半像素计算方法。
图1示出了传统的整像素和半像素。可根据如下给出的等式1利用整像素(A、B、C、D)来得到半像素(e、f、g、h)。
[等式1]
e=A
f=(A+B+1)/2
g=(A+C+1)/2
h=(A+B+C+D+2)/4
半像素值可通过相邻整像素的值来估计,四分之一像素值可通过搜索相邻半像素或相邻整像素的值来估计。随着半像素运动矢量或四分之一像素运动矢量的精度提高,运动估计所需的搜索点的数目增加。因此,计算量急剧增大。
为了解决这种问题,已经提出了基于模型的子像素运动矢量估计技术,在该技术中,利用与整像素运动矢量对应的块的模型来计算与子像素运动矢量对应的相邻点之间的误差,而不是计算子像素运动矢量的块误差。
然而,这种基于模型的子像素运动矢量估计技术根据所压缩的视频而表现出不同的精度。因此,为了获得较高的压缩效率应该使用合适的模型。由于模型之间的误差根据视频信号的特性而不同,所以使用单个模型受到限制。因此,为了提高压缩效率,需要使用精度较高的模型。
                            发明内容
本发明提供了一种方法和设备,用于通过选择将被用于子像素运动估计中的多个模型中的一个模型来以提高的压缩效率将视频信号编码。
本发明还提供了一种用于通过根据视频信号特性自适应性地选择模型来提高比特率的方法和设备。
根据下面的描述,本发明的上述方面和其他方面对于本领域的技术人员将变得清楚。
根据本发明的一方面,提供了一种在子像素的运动估计中利用模型切换来提高压缩效率的编码方法,该编码方法包括:得到块上存在的像素的运动矢量;利用运动矢量的值来产生多个运动估计模型;将多个运动估计模型的估计误差相互做比较;根据对估计误差的比较来选择多个运动估计模型中的一个模型,并利用所选择的运动估计模型来进行子像素运动估计。
根据本发明的另一方面,提供了一种在子像素的运动估计中利用模型切换来提高压缩效率的编码器,该编码器包括:像素计算器,得到在块上存在的像素的运动矢量;模型计算器,利用从像素计算器得到的运动矢量的值来产生多个运动估计模型;模型选择器,将多个运动估计模型的估计误差相互做比较,并根据对估计误差的比较来选择多个运动估计模型中的一个模型;运动估计器,利用所选择的运动估计模型来进行子像素运动估计。
                            附图说明
通过参照附图的对本发明优选实施例的详细描述,本发明的以上和其它特征和优点将变得更清楚,在附图中:
图1示出了传统的整像素和半像素;
图2A和图2B示出了用于利用整像素的半像素运动估计或四分之一像素运动估计的示例性模型;
图3是示出了根据本发明示例性实施例的利用估计模型来计算子像素的运动矢量的过程的示例的流程图;
图4是示出了根据本发明示例性实施例的视频编码器的方框图;
图5示出了根据本发明示例性实施例的通过计算整像素运动矢量而得到的线性(LIN)模型和二次(QUAD)模型;
图6示出了根据本发明示例性实施例的基于比特率的提高的视频的压缩性能。
                          具体实施方式
通过参照下面对示例性实施例和附图的详细描述,本发明的优点和特征以及实现本发明的方法会更容易理解。然而,本发明可以许多不同的形式来实施,并不应该被理解为受限于这里提出的示例性实施例。相反地,提供这些示例性实施例使得本公开将是彻底和完全的,并将本发明的构思充分传达给本领域的技术人员,本发明将仅由权利要求来限定。在整个说明书中,相同的标号表示相同的元件。
在下文中,参照根据本发明示例性实施例的方法的流程图来描述本发明。应该理解,流程图的每一个方框和在流程图中的方框的组合可由计算机程序指令来实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或者其他可编程数据处理设备的处理器以产生设备,从而经计算机或者其他可编程数据处理设备的处理器执行的指令创建用于实现在一个流程图方框或多个流程图方框中指定的功能的手段。这些计算机程序指令也可被存储在可指导计算机或者其他可编程数据处理设备以特定方式工作的计算机可用存储器或计算机可读存储器中,以便存储在计算机可用存储器或计算机可读存储器中的指令生产包括执行在一个流程图方框或多个流程图方框中指定的功能的指令手段的产品。计算机程序指令也可被下载到计算机或其他可编程数据处理设备以使得一系列操作步骤在计算机或其他可编程设备上被执行以产生计算机执行的过程,从而在计算机或其他可编程设备上执行的指令提供用于实现在一个流程图方框或多个流程图方框中指定的功能的步骤。
流程图中的各方框可表示模块、程序段或代码的一部分,各方框包括用于实现特定逻辑功能的一个或多个可执行的指令。同时应该注意的是,在一些可选的实施中,在方框中表示的功能可能次序颠倒地发生。例如,根据所包含的功能性,连续示出的两个方框实际上会几乎同时地进行或者这些方框有时会以相反地顺序执行。
图2A和图2B示出了用于利用整像素的半像素运动估计或四分之一像素运动估计的示例性模型。
在图2A中示出的线性(LIN)模型是用于利用等式2中提供的线性(LIN)等式模型来估计子像素之间的误差的模型。
[等式2]
ε(x)=a|x-b|+c,a>0,|b|<0.5,c>0,
然而,图2B中示出的二次模型是用于利用等式3中提供的二阶或二次(QUAD)等式模型来估计子像素之间的误差的模型。
[等式3]
ε(x)=ax2+bx+c,(a>0)。
由于图2A或图2B中示出的基于模型的估计方法根据被压缩的视频而具有不同的精度,所以需要自适应性地采用合适的模型来获得较高的压缩效率。例如,图2A示出了被估计为最优值的运动矢量1.5,而图2B示出了被估计为最优值的运动矢量1.0。此时,如果各模型的误差值被估计,那么利用具有较高精度的模型来提高压缩效率将是可能的。
为了计算半像素的运动矢量,可以通过内插全像素(整像素)的误差标准值来检测半像素的误差标准值。由于运动矢量通常存在于水平方向和竖直方向,所以可以在这两个方向都进行运动矢量估计。
例如,可使用图2A中示出的LIN模型或和图2B中示出的QUAD模型。虽然可以在数学上明了这样的估计模型,但是这样的估计模型的压缩效率会根据编码的条件而不同。参照图2A和图2B,可基于0、1、2的值来实现模型。因此,估计模型值被编码,随后被发送到解码器。
当利用模型来计算子像素比如半像素或四分之一像素的值时,子像素精度会取决于所选择的模型。此外,由于精度也取决于输入数据,所以选择哪一个模型是十分重要的。
因此,如图3中所示,为了搜索子像素运动矢量,自适应性地进行模型切换。然后,从较高精度的模型得到的子像素运动矢量被编码。
图3是示出了根据本发明示例性实施例的利用估计模型来计算子像素运动矢量的过程的示例的流程图。
在操作S310中,得到参考像素的运动矢量。例如,在得到半像素的运动矢量的情况下,得到环绕作为参考像素的整像素的运动矢量。在得到四分之一像素的运动矢量的情况下,得到环绕作为参考像素的半像素或整像素的运动矢量。由于运动矢量可以由x方向上的分量和y方向上的分量来表示,所以图3中示出的程序可分别被应用到x和y。
在操作S320中,利用x值和y值,即得到的参考像素的运动矢量来产生估计模型,即第一模型和第二模型。如图2A和图2B中所示,估计模型可以是LIN模型和QUAD模型。为了产生估计模型,利用可以被检索的整像素的x和y矢量值可以应用用于各个模型的等式。
可以以广泛的各种方式来使用估计模型,并且可以产生两个或更多个估计模型。同时,如果单个的估计模型通过被设置两个或更多个参数来产生略微不同的两个或更多个模型,那么,即使是单个的估计模型也可以被认为是独立的两个估计模型。
在产生两个或更多个模型之后,将在各个模型中被搜索的子像素运动矢量被估计。参照图2A和图2B中示出的曲线图,利用整像素运动矢量0、1、2可以计算运动矢量0.5和1.5的误差。然后,在操作S330中,将第一模型的估计误差和第二模型的估计误差相互做比较。在操作S340中,确定第一模型的估计误差是否小于第二模型的估计误差。如果确定了第一模型的估计误差小于第二模型的估计误差,那么在操作S350中在进行子像素运动估计的过程中选择第一模型,其中,第一模型的估计误差小于第二模型的估计误差表明第一模型具有较高的精度。
如果确定了第一模型的估计误差大于第二模型的估计误差,那么在操作S360中在进行子像素运动估计的过程中选择第二模型,其中,第一模型的估计误差大于第二模型的估计误差表明第二模型具有较高的精度。
对模型选择的确定可以针对各子像素、宏块或子块来进行。然而,如果对模型选择的确定经常用来提高精度,那么计算量将过度增大。因此,编码条件的优化折衷(trade-off)取决于计算量和精度。
在图3中,描述了模型的示例性过程。例如,处理或产生模型意味着根据给定的x值来计算等式2和等式3中的参数并得到可应用的等式。所以,需要计算等式2和等式3中的参数a、b和c。
首先,可根据等式2来实现LIN模型。在等式2中,x表示值0、1或-1,而整数位置的MAD误差值ε(-1)、ε(0)、ε(1)可以在等式4中表达。
[等式4]
ε(-1)=a+ab+c
ε(0)=ab+c,ifb<0;
    -ab+c,otherwise
ε(1)=a-ab+c
矢量E、X、A是计算a、b、c所必需的。在下面的等式5中定义这些矢量。用具有为-1、0、1的x值的MAD误差值来表示矢量E,用参数a、ab、c的矩阵来表示矢量A。矩阵的关系可通过E=XA来表达。
[等式5]
E=[ε(-1) ε(0) ε(1)]
X = 1 1 1 0 1 1 1 - 1 1
A=[a ab c]
为了推导等式2,可用等式6来描述矢量矩阵。
[等式6]
A = X - 1 E = INV ( X ) E
= 1 - 1 0 1 2 0 - 1 2 1 2 1 1 2 &epsiv; ( - 1 ) &epsiv; ( 0 ) &epsiv; ( 1 ) , ifb < 0
0 - 1 1 1 2 0 1 2 1 2 1 - 1 2 &epsiv; ( - 1 ) &epsiv; ( 0 ) &epsiv; ( 1 ) , otherwise
可根据等式7来得到模型参数。
[等式7]
if b<0,
    a=ε(-1)-ε(0)
b = { 1 2 &epsiv; ( - 1 ) - 1 2 &epsiv; ( ( 1 ) } / a
c = 1 2 &epsiv; ( - 1 ) + &epsiv; ( 0 ) + 1 2 &epsiv; ( ( 1 )
otherwise
    a=-ε(0)+ε(1)
b = { 1 2 &epsiv; ( - 1 ) - 1 2 &epsiv; ( ( 1 ) } / a
c = 1 2 &epsiv; ( - 1 ) + &epsiv; ( 0 ) - 1 2 &epsiv; ( ( 1 )
由于利用等式7来计算a、b和c的值,所以可产生LIN模型。此外,在其他位置的误差值比如ε(-2)、ε(2)也可根据等式8利用LIN模型来计算。
[等式8]
ε(-2)=2a+ab+c
ε(2)=2a-ab+c
可以以与上述过程类似的方式来得到QUAD模型。也就是说,可通过在等式3中将-1、0、1应用到x值来得到整数位置处的误差值,如等式9所给出。
[等式9]
ε(-1)=a-b+c
ε(0)=c
ε(1)=a+b+c
在等式5中给出的矢量E、X和A在等式10中被定义。
[等式10]
E=[ε(-1) ε(0) ε(1)]
X = 1 - 1 1 0 0 1 1 1 1
A=[a b c]
为了推导等式3,可用等式11来描述矢量矩阵。
[等式11]
A = X - 1 E = INV ( X ) E
= 1 2 - 1 1 2 - 1 2 0 1 2 0 1 0 &epsiv; ( - 1 ) &epsiv; ( 0 ) &epsiv; ( 1 )
可根据下面的等式12来得到模型参数。
[等式12]
a = 1 2 &epsiv; ( - 1 ) - &epsiv; ( 0 ) + 1 2 &epsiv; ( 1 )
b = - 1 2 &epsiv; ( - 1 ) + 1 2 &epsiv; ( ( 1 )
c=ε(0)
被计算的a、b、c值用于得到等式3中所表达的QUAD模型,而其他位置处的误差值比如ε(-2)、ε(2)也可以根据下面的等式13利用QUAD模型来产生。
[等式13]
ε(-2)=4a-2b+c
ε(2)=4a+2b+c
上述的过程只是被作为得到LIN模型和QUAD模型的示例性实施例来提供,根据所使用的模型,可以对该过程进行改变或更改。
图4是示出了根据本发明实施例的视频编码器400的方框图。
将不给出对视频信号进行编码和量化的图4中示出的视频编码器400和其构造的详细解释。视频编码器400包括:整像素计算器410,作为示例性像素计算器,计算块中存在的像素的运动矢量;多个模型计算器421、422...、429,利用整像素计算器410的运动矢量值来计算模型;模型选择器430,比较由模型计算器421、422...、429计算出的各个模型之间的估计误差,并选择具有较小的估计误差的模型;运动估计器450,根据所选择的模型来进行运动估计。
整像素计算器410从输入的视频信号计算整像素的运动矢量。然后,整像素的运动矢量被用于估计子像素运动矢量。当然,整像素计算器410也计算半像素的运动矢量,并根据子像素的类型来产生用于估计四分之一像素运动矢量的数据。也就是说,整像素计算器410是提供估计较小单位的子像素运动矢量所必需的数据的整像素计算器的示例。
第一模型计算器421、第二模型计算器422...、第N模型计算器429利用来自整像素计算器410的计算结果产生估计模型。此外,第一模型计算器421、第二模型计算器422...、第N模型计算器429利用估计模型来计算将得到的半像素的误差。可通过编码器内的模型来单独地实现各个模型计算器。此外,可以存在能够利用输入的整像素信息来计算多个模型的模型计算器。
模型选择器430将来自计算出的多个模型的运动矢量中的每个之间的误差相互比较,并选择具有最小误差的模型。随后当估计半像素运动矢量和四分之一像素运动矢量时,将采用具有最小误差的所选择的模型。
运动估计器450根据所选择的模型来估计子像素比如半像素或四分之一像素的运动矢量。根据所选择的模型,运动估计器450可以按帧、宏块或子块来进行运动估计。
图5示出了根据本发明示例性实施例的通过计算整像素运动矢量得到的线性(LIN)模型和二次(QUAD)模型。在本发明的示例性实施例中,可选择两个模型中具有较小误差的一个。dm表示估计的值与通过实际模型的整像素搜索计算出的值之间的差,m表示各模型。这里,满足条件m∈{1=LIN,2=QUAD}。
如图5中所示,可以在下面的等式14中表示差dm、dm-和dm+
[等式14]
dm=abs(dm-)+abs(dm+)
  =|y(-2)- y(-2)|+|y(2)- y(2)|
模型切换可以如等式15所表示的。
[等式15]
m = arg m &Element; { 1 = LIN , 2 = QUAD } min ( d m )
在当前位置选择具有最小差的模型,然后进行估计过程。
除了LIN模型和QUAD模型之外,多个模型中具有最小差的任意一个可用于运动估计。此外,可以按帧、宏块或子块来进行处理时间内的运动估计。
图6示出了根据本发明示例性实施例的基于比特率的提高的视频的压缩性能。参照图6,对于LIN模型和QUAD模型中的每个,视频数据分别具有不同的比特率。例如,虽然与当利用QUAD模型时的情况相比,当利用LIN模型时的情况下foreman视频和carephone视频表现出较高的比特率,但是,与当利用LIN模型时的情况相比,当利用QUAD模型时的情况下mobile视频和container视频表现出较高的比特率。因此,根据本发明的示例性实施例,可保持恒定的比特率。
如上所述,本发明提供了一种用于通过在估计子像素运动矢量的多个模型中选择一个模型来将视频信号编码的设备和方法。
此外,本发明使得根据视频信号的特性来自适应性地选择模型,从而提高压缩效率。
虽然已经示出和描述了本发明的示例性实施例,但是本发明不限于所描述的实施例。本领域的技术人员应该理解,在不脱离本发明的原理和精神的情况下可以对所述实施例做改变,其中,本发明的范围由权利要求及其等同物来限定。

Claims (12)

1、一种在子像素的运动估计中利用模型切换的编码方法,所述编码方法包括:
得到块上存在的像素的运动矢量;
利用所述运动矢量的值来产生多个运动估计模型;
将所述多个运动估计模型的估计误差相互做比较;
根据对所述估计误差的比较来选择所述多个运动估计模型中的一个模型,并利用所选择的运动估计模型来进行子像素运动估计。
2、如权利要求1所述的编码方法,其中,在所述多个运动估计模型中,所选择的运动估计模型具有最小的估计误差。
3、如权利要求1所述的编码方法,其中,所述块是宏块或子块。
4、如权利要求1所述的编码方法,其中,所述多个运动估计模型包括线性模型和二次模型中的至少一个。
5、如权利要求1所述的编码方法,其中,当所述像素是整像素时,所述子像素是半像素或四分之一像素。
6、如权利要求1所述的编码方法,其中,当所述像素是半像素时,所述子像素是四分之一像素。
7、一种在子像素的运动估计中利用模式切换的编码器,所述编码器包括:
像素计算器,得到在块上存在的像素的运动矢量;
模型计算器,利用从所述像素计算器得到的运动矢量的值来产生多个运动估计模型;
模型选择器,将所述多个运动估计模型的估计误差相互做比较,并根据对所述估计误差的比较来选择所述多个运动估计模型中的一个模型;
运动估计器,利用所选择的运动估计模型来进行子像素运动估计。
8、如权利要求7所述的编码器,其中,在所述多个运动估计模型中,所选择的运动估计模型具有最小的估计误差。
9、如权利要求7所述的编码器,其中,所述块是宏块或子块。
10、如权利要求7所述的编码器,其中,所述多个运动估计模型包括线性模型和二次模型中的至少一个。
11、如权利要求7所述的编码器,其中,当所述像素是整像素时,所述子像素是半像素或四分之一像素。
12、如权利要求7所述的编码器,其中,当所述像素是半像素时,所述子像素是四分之一像素。
CNA2006100871510A 2005-06-14 2006-06-13 以提高的压缩效率将视频信号编码的方法和设备 Pending CN1882085A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US69013105P 2005-06-14 2005-06-14
US60/690,131 2005-06-14
KR1020060035906 2006-04-20
KR1020060035906A KR100746022B1 (ko) 2005-06-14 2006-04-20 서브픽셀 움직임 추정시 모델 스위칭을 통한 압축 효율을증가시키는 인코딩 방법 및 장치

Publications (1)

Publication Number Publication Date
CN1882085A true CN1882085A (zh) 2006-12-20

Family

ID=36829763

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100871510A Pending CN1882085A (zh) 2005-06-14 2006-06-13 以提高的压缩效率将视频信号编码的方法和设备

Country Status (6)

Country Link
US (1) US20060280252A1 (zh)
EP (1) EP1734769B1 (zh)
JP (1) JP4467541B2 (zh)
KR (1) KR100746022B1 (zh)
CN (1) CN1882085A (zh)
DE (1) DE602006011537D1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841356A (zh) * 2012-09-21 2012-12-26 中国航空无线电电子研究所 用于北斗发送通用航空器经纬位置数据的多模型压缩方法
CN110858904A (zh) * 2018-08-26 2020-03-03 北京字节跳动网络技术有限公司 基于多运动模型的视频编码和解码
US11310521B2 (en) 2018-07-02 2022-04-19 Huawei Technologies Co., Ltd. Error surface based sub-pixel accurate refinement method for decoder side motion vector refinement

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7953152B1 (en) 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
US20080062322A1 (en) * 2006-08-28 2008-03-13 Ortiva Wireless Digital video content customization
US8606966B2 (en) * 2006-08-28 2013-12-10 Allot Communications Ltd. Network adaptation of digital content
US7743161B2 (en) * 2006-10-10 2010-06-22 Ortiva Wireless, Inc. Digital content buffer for adaptive streaming
KR100843403B1 (ko) 2006-12-19 2008-07-03 삼성전기주식회사 렌즈 이송장치
TW200838321A (en) * 2007-03-02 2008-09-16 X8 Technology Inc Motion estimation method and system with dual search windows for high resolution video coding
EP2227785B1 (en) 2007-11-30 2013-09-18 Dolby Laboratories Licensing Corp. Temporally smoothing a motion estimate
US8213515B2 (en) * 2008-01-11 2012-07-03 Texas Instruments Incorporated Interpolated skip mode decision in video compression
FR2933520B1 (fr) * 2008-07-04 2011-02-11 Canon Kk Procede et dispositif de restauration d'une sequence video
KR101505815B1 (ko) * 2009-12-09 2015-03-26 한양대학교 산학협력단 서브 픽셀 정밀도를 갖는 모션 추정 방법 및 장치, 이를 이용한 비디오 인코더
FR2980068A1 (fr) 2011-09-13 2013-03-15 Thomson Licensing Procede de codage et de reconstruction d'un bloc de pixels et dispositifs correspondants
CN104837027B (zh) * 2015-04-20 2018-04-27 北京奇艺世纪科技有限公司 一种分像素的运动估计方法和装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812199A (en) * 1996-07-11 1998-09-22 Apple Computer, Inc. System and method for estimating block motion in a video image sequence
FR2779257B1 (fr) * 1998-05-27 2000-08-11 France Telecom Procede de detection de la profondeur relative entre objets dans une image a partir d'un couple d'images
EP1228645B1 (en) * 1999-08-11 2003-05-28 Nokia Corporation Adaptive motion vector field coding
WO2001054418A1 (en) * 2000-01-21 2001-07-26 Nokia Corporation A motion estimation method and a system for a video coder
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
FR2814312B1 (fr) * 2000-09-07 2003-01-24 France Telecom Procede de segmentation d'une surface image video par objets elementaires
US6782054B2 (en) * 2001-04-20 2004-08-24 Koninklijke Philips Electronics, N.V. Method and apparatus for motion vector estimation
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US7116831B2 (en) 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
KR20040106202A (ko) * 2003-06-11 2004-12-17 학교법인 대양학원 움직임 벡터 탐색 방법 및 그 장치
KR20050062836A (ko) * 2003-12-18 2005-06-28 학교법인 대양학원 트랜스코딩 방법 및 장치
WO2006010276A1 (en) * 2004-07-30 2006-02-02 Algolith Inc Apparatus and method for adaptive 3d artifact reducing for encoded image signal
JP4612825B2 (ja) 2004-09-21 2011-01-12 キヤノン株式会社 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
KR100692600B1 (ko) * 2005-02-22 2007-03-13 삼성전자주식회사 움직임 추정 장치 및 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102841356A (zh) * 2012-09-21 2012-12-26 中国航空无线电电子研究所 用于北斗发送通用航空器经纬位置数据的多模型压缩方法
US11310521B2 (en) 2018-07-02 2022-04-19 Huawei Technologies Co., Ltd. Error surface based sub-pixel accurate refinement method for decoder side motion vector refinement
US12003754B2 (en) 2018-07-02 2024-06-04 Huawei Technologies Co., Ltd. Error surface based sub-pixel accurate refinement method for decoder side motion vector refinement
CN110858904A (zh) * 2018-08-26 2020-03-03 北京字节跳动网络技术有限公司 基于多运动模型的视频编码和解码
CN110858904B (zh) * 2018-08-26 2023-04-18 北京字节跳动网络技术有限公司 基于多运动模型的视频编码和解码
US11805269B2 (en) 2018-08-26 2023-10-31 Beijing Bytedance Network Technology Co., Ltd Pruning in multi-motion model based skip and direct mode coded video blocks
US11871023B2 (en) 2018-08-26 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Multi-motion model based video coding and decoding

Also Published As

Publication number Publication date
KR20060130488A (ko) 2006-12-19
DE602006011537D1 (de) 2010-02-25
JP4467541B2 (ja) 2010-05-26
US20060280252A1 (en) 2006-12-14
EP1734769A1 (en) 2006-12-20
EP1734769B1 (en) 2010-01-06
KR100746022B1 (ko) 2007-08-06
JP2006352863A (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
CN1882085A (zh) 以提高的压缩效率将视频信号编码的方法和设备
CN1247028C (zh) 运动检测装置及搜索区域形状可变运动检测器
CN1264333C (zh) 视频编码方法及设备、视频译码方法及设备
CN1610410A (zh) 帧内预测方法及装置
CN1229975C (zh) 在嵌入式***中按比例缩放数字图像的方法
CN1134991C (zh) 数字视频信号块间内插预测编码/解码装置及高效编码方法
CN1645907A (zh) 考虑水平和垂直图形的全局运动补偿的顺序扫描方法
CN1581982A (zh) 基于模式分析的运动矢量补偿装置和方法
CN1992789A (zh) 运动估计器和运动估计方法
CN1678074A (zh) 用于在分层运动估计中产生运动矢量的方法和装置
CN1893658A (zh) 运动估计器及其运动估计方法
CN1882089A (zh) 动态矢量编码方法和动态矢量编码装置
CN1235412C (zh) 对视频数据进行运动补偿编码的方法
RU2011133831A (ru) Способ кодирования многоракурсных изображений, способ декодирования многоракурсных изображений, устройство кодирования многоракурсных изображений, устройство декодирования многоракурсных изображений, программа кодирования многоракурсных изображений и программа декодирования многоракурсных изображений
CN101031029A (zh) 一种视频图像处理的方法及其装置
JP2010016454A5 (zh)
CN101068353A (zh) 图形处理单元与计算巨图块的绝对差值加总值的方法
JP2008011269A5 (zh)
CN101035291A (zh) 动态图像编码方法及动态图像解码方法
CN1144469C (zh) 编码和解码图像中的像素的运动向量的方法
CN1750656A (zh) 编码和解码图像
CN1744674A (zh) 一种视频电子防抖的方法
CN1311409C (zh) 用于分割的***和方法
CN101056398A (zh) 一种多视编码过程中获取视差矢量的方法及编解码方法
CN101056410A (zh) 视频信号处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20061220