CN1882085A - 以提高的压缩效率将视频信号编码的方法和设备 - Google Patents
以提高的压缩效率将视频信号编码的方法和设备 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006835 compression Effects 0.000 title abstract description 17
- 238000007906 compression Methods 0.000 title abstract description 17
- 230000033001 locomotion Effects 0.000 claims abstract description 70
- 239000013598 vector Substances 0.000 claims abstract description 62
- 238000012821 model calculation Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000000205 computational method Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/47202—End-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
-
- 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/102—Methods 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
-
- 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/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- 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/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/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/17—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 an image region, e.g. an object
- H04N19/176—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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
- H04N21/2318—Data placement on disk arrays using striping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23602—Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling 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)]
A=[a ab c]
为了推导等式2,可用等式6来描述矢量矩阵。
[等式6]
可根据等式7来得到模型参数。
[等式7]
if b<0,
a=ε(-1)-ε(0)
otherwise
a=-ε(0)+ε(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)]
A=[a b c]
为了推导等式3,可用等式11来描述矢量矩阵。
[等式11]
可根据下面的等式12来得到模型参数。
[等式12]
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]
在当前位置选择具有最小差的模型,然后进行估计过程。
除了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所述的编码器,其中,当所述像素是半像素时,所述子像素是四分之一像素。
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)
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)
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)
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 | 삼성전자주식회사 | 움직임 추정 장치 및 방법 |
-
2006
- 2006-04-20 KR KR1020060035906A patent/KR100746022B1/ko not_active IP Right Cessation
- 2006-06-09 JP JP2006160458A patent/JP4467541B2/ja not_active Expired - Fee Related
- 2006-06-12 DE DE602006011537T patent/DE602006011537D1/de active Active
- 2006-06-12 EP EP06115313A patent/EP1734769B1/en not_active Expired - Fee Related
- 2006-06-13 CN CNA2006100871510A patent/CN1882085A/zh active Pending
- 2006-06-14 US US11/452,278 patent/US20060280252A1/en not_active Abandoned
Cited By (7)
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 |