CN102497558B - 编码和解码图像 - Google Patents

编码和解码图像 Download PDF

Info

Publication number
CN102497558B
CN102497558B CN201210024769.8A CN201210024769A CN102497558B CN 102497558 B CN102497558 B CN 102497558B CN 201210024769 A CN201210024769 A CN 201210024769A CN 102497558 B CN102497558 B CN 102497558B
Authority
CN
China
Prior art keywords
pixel
image
group
contact pin
spelling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210024769.8A
Other languages
English (en)
Other versions
CN102497558A (zh
Inventor
R·库马尔
T·本
H-J·吴
C·迪维维耶
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102497558A publication Critical patent/CN102497558A/zh
Application granted granted Critical
Publication of CN102497558B publication Critical patent/CN102497558B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to 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/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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or 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
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了用于在第一图像中通过参考视频序列中的第二图像编码第一组像素的方法。在第二图像内的第一搜索窗口中,该方法搜索以识别与第一图像中的第一组像素最匹配的第二图像中的第一特定部分。在第二图像中的第一搜索窗口中,该方法识别对应于第一特定部分的第一位置。在第二图像中的第二搜索窗口中,该方法接下来搜索以识别与在第一图像中的第一组像素最匹配的第二图像中的第二特定部分,其中第二搜索窗口关于第一位置定义。

Description

编码和解码图像
本申请是于2005年6月27日提交的题为“编码和解码图像”的专利申请第200510092222.1号的分案申请。
技术领域
本发明针对于一种用于编码和解码图像的方法。
背景技术
视频编解码是设计为编码(即,压缩)和解码(即,解压缩)视频数据流的压缩算法,用来减小流的大小,从而加快传送速度和减小存储空间。尽管有损失,现在的视频编解码试图在压缩视频流的二进制数据的同时保持视频质量。
视频流典型地由视频帧的序列组成。视频编码器通常将每个帧分割成若干宏块,每个宏块为一组16×16的像素。视频编码器典型地使用帧内编码或帧间编码来编码视频帧或视频帧中的宏块。帧内编码的帧或宏块独立于其它帧或独立于在其它帧中的宏块来编码。
帧间编码的帧或宏块通过参考一个或若干其它帧或其它帧中的宏块来编码。由于编码不得不将特定帧的宏块或宏块内的分区与另一参考帧的宏块或宏块内的分区比较,因此典型地块间编码是耗时的。由此,本领域需要更有效的块间编码方法。理想地,该编码方法可以加速编码和解码操作。
发明内容
一些实施方式提供了一种通过参考视频序列中的第二图像对在第一图像中的第一组像素编码的方法。在第二图像的第一搜索窗口中,该方法搜索以识别与第一图像中的第一组像素最匹配的第二图像中的第一特定部分。在第二图像中第一搜索窗口中,该方法识别相应于第一特定部分的第一位置。在第二图像中的第二搜索窗口中,该方法接下来搜索以识别与在第一图像中的第一组像素最匹配的第二图像中的第二特定部分,其中第二搜索窗口被定义在第一位置周围。
一些实施方式提供了一种用于在视频序列中块间编码图像的方法。视频序列中的每个图像具有若干整数像素位置,每个整数像素位置具有至少一个图像值(例如,亮度值)。该方法通过参考第二图像选择用于编码的第一图像。该方法接下来识别与第一图像中一组像素匹配的第二图像中的一组非整数像素位置。该标识需要将第二图像中的若干整数像素位置的图像值内插到与第二图像中非整数像素位置相关联的图像值中。该方法存储非整数像素位置的内插的图像值,用于在此后的通过参考第二图像的第三图像的编码期间使用。
一些实施方式提供了一种用于在视频序列中块间解码图像的方法。视频序列中每个图像具有若干整数像素位置,每个整数像素位置具有至少一个图像值(例如,亮度值)。该方法通过参考第二图像选择用于解码的第一图像。该方法接下来在第二图像中识别与第一图像中的一组像素对应的一组非整数像素位置。该方法接下来将第二图像中的若干整数像素位置的图像值内插到与第二图像中的非整数像素位置相关联的图像值中。该方法存储内插的非整数像素位置的图像值,用于在此后通过参考第二图像在第三图像的解码期间使用。
一些实施方式提供了一种用于通过参考在视频图像的序列中的第二图像来块间处理第一图像中的第一部分的方法。该方法将第二图像分割成一组拼接片(tilt)并且将拼接片存储在第一非高速缓冲存储器中。只要子组拼接片需要将第一图像的第一部分与第二图像的一部分相匹配时,该方法就从第一非高速缓冲存储器中检索该子组拼接片,并将检索到的子组拼接片存储在第二高速缓冲存储器中,以在第一部分和作为检索到的子组拼接片的一部分的第二图像的部分之间进行快速比较。该检索到的子组拼接片比整组拼接片小。
在一些实施方式中,当该方法识别第二图像中的位置来搜索以识别与第一部分匹配的第二图像中的部分时,该方法确定其需要检索子组拼接片并将其存储在第二高速缓冲存储器中,其中,该识别的位置对应于子组拼接片。在一些实施方式中,该高速缓冲存储器为计算机的随机存取存储器,而非高速缓冲存储器为计算机的非易失性存储设备。同时,在一些实施方式中,块间处理方法为块间编码方法,而在其它实施方式中,块间处理方法为块间解码方法。此外,一些实施方式中的拼接片组包括至少两个水平相邻的拼接片和至少两个垂直相邻的拼接片。
一些实施方式提供了一种块间编码方法,其通过从一组搜索方式中选择第一搜索方式,对第一视频图像中的第一组像素进行编码,每个搜索方式定义用于检查可能与第一组像素匹配的第二图像的部分的方式。该编码方法基于一组标准,在该组搜索方式中自适应地选择第一搜索方式。在一些实施方式中,该组标准包括视频图像的媒体类型。
附图说明
本发明的新的特征在所附的权利要求中阐明。然而,为了说明,在下图中阐明了本发明的一些实施方式。
图1示出了概念性地说明利用各种新颖的裁减技术来简化其编码处理的编码器的流程的处理。
图2说明了执行两级运动估计操作来识别指定在一个或两个参考帧和当前帧之间的宏块的运动的运动向量的处理。
图3说明了一些实施方式如何定位与在当前帧中宏块的位置相对应的参考帧的位置周围的第一搜索窗口。
图4说明了基于与当前帧宏块关联的预测的运动向量标识第一搜索窗口位置的一种方法。
图5说明了在第一搜索窗口中多个起始点的例子。
图6说明了第二级搜索窗口的例子。
图7说明了执行精细的运动估计处理,该处理在参考帧中识别一组像素的分区,其与当前帧宏块的一组像素的分区最匹配。
图8在概念上说明了具有若干位置点的搜索窗口。
图9在概念上说明了在多像素级上为参考帧宏块搜索像素分区的处理。
图10在概念上说明了若干可能的分区(即,块)的尺寸。
图11在概念上说明了用于不同像素级的若干搜索位置。
图12在概念上说明了与参考帧中子像素位置对准的当前帧宏块。
图13在概念上说明了包括指向同一帧的运动向量的若干帧。
图14在概念上说明了与一组像素(例如,整数、非整数)相关的数据如何被存储在高速缓存中。
图15示出了在搜索窗口中的低密度搜索方式。
图16示出了在搜索窗口中的高密度搜索方式。
图17示出了偏向于垂直方向上的搜索方式的例子。
图18示出了偏向于水平方向上的搜索方式的例子。
图19示出了选择地检查运动估计方案的子组,以便标识计算RD成本需要的方案的处理。
图20示出了实现本发明的一些实施方式的计算机系统。
具体实施方式
在本发明的下述详细描述中,提出并描述了本发明的各种细节、示例及实施方式。但本领域技术人员可以清楚并明白本发明并不局限于提出的实施方式,并且本发明可以不需要一些特定的细节和讨论的示例而实现。
I.综述
本发明的一些实施方式提供新的块间编码和解码处理。这些新的处理包括:(1)多级运动估计处理,(2)用于缓存参考帧的非整数像素位置值的插值缓存处理,(3)用于缓存参考帧的拼接片的子组的拼接片缓存处理,和(4)为用于在参考帧中的搜索来自适应地选择搜索方式的运动估计处理。
A.多级运动估计
一些实施方式的多级运动估计处理通过参考在视频序列里的第二图像来编码第一图像中的第一组像素。在第二图像中的第一搜索窗口中,运动估计处理搜索以在第二图像中识别与第一图像中第一组像素最匹配的第一特定部分。在第二图像中的第一搜索窗口中,运动估计处理识别对应于第一特定部分的第一位置。在第二图像中的第二搜索窗口中,运动估计处理接着搜索以在第二图像中识别与在第一图像中第一组像素最匹配的第二特定部分,其中第二搜索窗口被定义在第一位置周围。在一些实施方式中,第一搜索为粗略的运动估计处理,而第二搜索为精细的运动估计处理。此外,在一些实施方式中,精细的运动估计处理用于可变块尺寸的搜索。
B.插值缓存
本发明的一些实施方式的编码器在视频序列中块间编码图像。视频序列中的每个图像具有若干整数像素位置,每个整数像素位置具有至少一个图像值(例如,亮度值)。该编码器通过参考第二图像选择用于编码的第一图像。该编码器然后识别与在第一图像中的一组像素匹配的第二图像中的一组非整数像素位置。该识别需要将来自第二图像中若干整数像素的图像值内插到与第二图像的非整数像素位置相关的图像值中。该编码器将非整数像素位置的内插的图像值存储至插值高速缓存中,用于在稍后通过参考第二图像的第三图像编码期间使用。
本发明一些实施方式的解码器使用类似的插值高速缓存。具体地,该解码器选择用于通过参考第二图像解码的第一图像。该解码器然后在第二图像中识别一组对应于第一图像中一组像素的非整数像素位置。该解码器然后将来自第二图像的一些整数像素位置的图像值内插到与第二图像的非整数像素位置相关的图像值中。该解码器存储非整数像素位置的内插的图像值,用于在稍后的通过参考第二图像的第三图像解码期间使用。
C.拼接片缓存处理
一些实施方式在其块间处理中使用拼接片缓存处理,该处理通过参考视频图像的序列中的第二图像在第一图像中处理第一部分。该缓存处理将第二图像分割成一组拼接片,并将这些拼接片存储至第一非高速缓冲存储器。只要当需要一子组拼接片以将第一图像的第一部分与第二图像中的一部分匹配时,该缓存处理从第一非高速缓冲存储器中检索拼接片子组,并将检索到的拼接片的子组存储至第二高速缓冲存储器,用于在第一位置和作为检索到的拼接片子组的部分的第二图像的部分之间进行快速比较。该检索到的拼接片的子组比整组拼接片小。
在一些实施方式中,当该缓存处理标识第二图像中的位置来搜索以识别与第一部分匹配的第二图像中的一部分时,该缓存处理确定其需要一子组拼接片被检索并存储在第二高速缓冲存储器中,其中该识别的位置对应于拼接片的子组。在一些实施方式中,高速缓冲存储器为计算机的随机存取存储器,而非高速缓冲存储器为计算机的非易失性存储设备。同样,在一些实施方式中,块间处理为块间编码处理,而在另一些实施方式中,块间处理为块间解码处理。此外,在一些实施方式中,该组拼接片包括至少两个水平地相邻的拼接片和至少两个垂直地相邻的拼接片。
D.自适应搜索方式
本发明的一些实施方式的运动估计处理通过从一组搜索方式中选择第一搜索方式来对第一视频图像中的第一组像素编码,该一组搜索方式中的每一个定义了用于检查可能与第一组像素匹配的部分第二图像的方式。该运动估计处理在该组搜索方式中,基于一组标准,自适应地选择第一搜索方式。在一些实施方式中的该组标准包括视频图像的媒体类型。
在描述上述新的块间编码和解码处理之前,下面首先描述包括本发明的块间编码处理的编码处理的总体流程。
II.总体流程
图1示出了处理100,该处理100在概念上说明了使用各种新的裁减技术来简化其编码处理的编码器的流程。一些实施方式中没有使用这一部分描述的全部裁减技术。同样,一些实施方式结合将在下面第II部分中描述的多级运动估计操作来使用这些裁减技术。
如图1中所示,该处理100通过确定(在步骤105)是否放弃将宏块编码为帧间编码块而开始。在一些实施方式中,在特定情况下,该处理放弃块间编码。这些情况包括在请求每一个帧编码为帧内编码块来的调试模式中的解码器的布置、请求将若干宏块编码为帧内编码块的块内刷新的指定、最终选择块内编码的实现、太少的宏块被块内编码的实现或一些其它请求将宏块编码为帧内编码块的指定。
当处理100确定不需要将宏块编码为帧内编码块时,则它转移至110。在110,该处理将宏块编码为帧内编码块。各种新的用于执行块内编码的方案在题为“Selecting Encoding Types and PredictiveModes for EncodingVideo Data”(“选择编码类型和预测模式用于编码视频数据”),代理卷号为APLE.P0078(“块内编码申请”)的美国专利申请中进行描述。这里引入该美国专利申请作为参考。
一个处理将宏块编码为帧内编码块(在步骤110),该处理转移至步骤150来指定编码方案。在这个实例中,该处理指定其在步骤110的内部编码的结果,因为这是处理步骤110在该流程的这一路径中经历的唯一编码。在步骤150后,处理100结束。
可选地,当处理100确定它不应该放弃(即,裁减)块间编码(在步骤105)时,该处理执行该宏块的跳过模式编码(在步骤115),并且,如果需要,执行该宏块的直接模式编码。在跳过模式编码中,该宏块作为跳过的宏块被编码;在解码端,该宏块将参考周围的宏块的运动向量和/或周围的宏块的分区来解码。跳过模式编码在同时提交的题为“视频编码中的裁减”(“Pruning During Video Ecoding”),代理卷号为APLE.P0073(“裁减申请”)的美国专利申请中进一步描述。该美国专利申请在此引入作为参考。直接模式编码类似于跳过模式编码,只是在直接模式编码中,宏块的一些纹理数据被量化并在编码的位流中发送。在一些实施方式中,进行直接模式编码以用于宏块的B-模式编码。一些实施方式也可以在P-模式编码期间执行直接模式编码。
在步骤115后,处理100确定(在步骤120)跳过模式编码是否在步骤115导致最好的编码方案。这样将明确地作为没有在步骤115执行直接模式编码时的情况。相反,当直接模式编码在步骤115被执行并且该编码得到比跳过模式编码更好的结果时,则该处理转移至步骤135来执行下面描述的块间编码。
然而,当该处理确定(在步骤120)在步骤115跳过模式编码导致最好的结果时,该处理确定(在步骤125)跳过模式编码是否足够好而终止编码。进行这种确定的一个方法已经在上述引入的裁减申请中描述。
如果处理确定(在步骤125)跳过模式编码足够好,该处理100转移至步骤130,在步骤130中确定该跳过模式编码方案是否应被放弃。一些实施方式基于编码成本,称为失真率成本(RD成本)判断方案。如在第II部分中进一步描述的,编码方案的RD成本经常说明在编码宏块中的失真并计算为该编码方案生成的实际位的数量。跳过模式方案有时具有巨大的RD成本,但还是很好的方案。这是由于这种方法具有非常小的速率成本(rate cost),这种速率成本有时通过足够的大小来使总RD成本畸变,使不好的方法看似为最好的方法。
由此,即使在步骤125选择跳过模式编码方案后,该处理100确定(在步骤125)是否应当移除跳过模式方案。在一些实施方式中,做出该决定的标准为当前宏块的跳过模式编码的失真是否大于当前宏块的相邻宏块的最大失真的二倍。
如果该处理确定(在步骤130)跳过模式方案不应当被移除,它转移至指定编码方案。在这个示例中,该处理指定跳过模式编码的结果。在步骤150后,该处理100结束。另一方面,当该处理100确定(在步骤130)跳过模式编码方案应当被移除时,它转移至步骤135。当该处理确定(在步骤125)跳过模式方案用来终止该编码不是足够好时,该处理也转移至步骤135。
在步骤135,该处理检查各种块间编码。在一些实施方式中,处理100可能研究各种宏块和子宏块编码(例如,16×16、8×16、16×8、8×8、8×4、4×8、和4×4B-模式和P-模式编码),这在下面第II部分中将进一步描述。然而,如上结合的裁减申请所述,一些实施方式通过裁减(即,放弃)一些宏块或子宏块编码模式的研究和/或分析,加快了块间编码处理。
在步骤135执行了块间编码后,该处理确定(在步骤140)宏块的块间编码是否足够好以放弃宏块的块内编码。不同的实施方式做出不同的决定。这些方法中的一些将在下面的第II部分中进一步描述。
如果该处理100确定(在步骤140)应当执行块内编码,则它转移至步骤145,在这时它执行该编码。如上所述,该处理的块内编码的若干新的特征在上面引入的块内编码申请中描述。在步骤145后,该处理转移至步骤150。当该处理确定(在步骤140)应当放弃块内编码时,该处理也转移至步骤150。
如上所述,该处理为宏块指定编码方案(在步骤150)。当该处理100在其先于步骤150的操作期间识别了多个编码方案时,该处理选择这些方案中的一个(在步骤150)。在一些实施方式中,该处理100选择具有最佳RD成本的方案。下面提供了一些RD成本的例子。在步骤150后,该处理结束。
III.块间编码
A.多级运动估计
如上所述,一些实施方式结合如图1中示出的处理100使用多级运动估计操作。在一些实施方式中,当宏块为块间编码时,执行多级运动估计操作。如下面将描述的,一些多级运动估计操作包括粗略的和精确的运动估计。在一些实施方式中,处理100在初始的粗略的运动估计操作后被执行。然而,一个本领域技术人员将认识到该初始的粗略的运动估计操作也可以在处理100期间被执行(例如,在步骤105和115之间,在步骤140)。
1、整体流程
图2说明了执行多级运动估计操作来识别指定在一个或两个参考帧和当前帧之间的宏块的运动的运动向量的处理。为了不模糊本发明的多级运动估计操作的讨论,下面按照在单个参考帧中找到当前帧宏块的一个位置来描述处理200。然而,本领域技术人员将认识到该处理经常研究两个参考帧来确定宏块的最好的运动估计编码。
该处理的第一级为粗略的搜索(例如,粗略运动估计),其在参考帧中识别当前帧的宏块的位置的粗略的近似值,而第二级为更精确的搜索(例如,精确运动估计),其在参考帧中识别当前帧的宏块的位置的更精确的近似值。
该处理最初执行宏块的参考帧的第一搜索(在步骤210),以搜索与当前帧宏块最匹配的宏块。该第一搜索在参考帧的第一搜索窗口中执行。不同的实施方式确定不同的第一搜索窗口。例如,如图3所示,一些实施方式定位与当前帧的宏块330的位置320对应的参考帧的位置310的周围为第一搜索窗口300。
其它实施方式在参考帧中当前帧宏块的预测位置定位第一搜索窗口。图4示出了基于与当前帧宏块关联的预测运动向量识别第一搜索窗口位置的一种方法。图4示出了在当前帧400中的当前帧宏块410。该图同时示出了与当前帧宏块410关联的预测运动向量420。该预测运动向量420可以基于在当前帧中临近当前帧宏块410的宏块的运动向量被计算出来。如图4所示,该预测运动向量420指向对应于参考帧430的位置440的当前帧400中的位置点460。由此,进一步如图4所示,一些实施方式在参考帧430中关于位置点440定位第一搜索窗口450。
处理200在第一搜索窗口中执行粗略搜索(在步骤210),为了试图识别指定当前帧宏块从在参考帧中出现后运动了多少的运动向量。该处理可以通过在第一搜索窗口中搜索与当前帧宏块最接近地匹配的参考帧宏块而确定该运动向量。该处理不需要查看搜索窗口中的全部参考帧宏块,而是仅需足够确定落在某一预定的参数内的宏块。
一旦该处理识别了足够的参考帧宏块,它识别在粗略搜索期间遇到的最好的参考帧宏块(在步骤210)。然后它使用所识别的最好的参考帧宏块,来指定指示参考帧中当前帧宏块的位置的粗略近似值的运动向量(在步骤210)。
在步骤210后,该处理确定是否在第一搜索窗口执行了足够的粗略搜索的反复(在步骤220)。一些实施方式在该窗口中仅执行一次搜索。在这样的实施方式中,该处理200不需要在步骤220做出确定,而是直接从步骤210进入步骤230。可选地,其它实施方式执行开始于该窗口中的多个不同点的多个搜索。
当处理200确定应该在第一搜索窗口中执行另一个粗略搜索时(在步骤220),该处理循环回步骤210来执行另一个搜索(在该窗口中),该搜索开始于与其它在先的在步骤210执行的对宏块的粗略搜索不同的位置。
图5示出了在第一搜索窗口中多个起始点的例子。特别地,该图示出了在第一搜索窗口500中的四个起始点510-540。每个起始点510-540导致该搜索标识出不同参考帧宏块。在一些实施方式中,不同的起始点可以识别同一参考帧宏块。
一旦该处理确定已经在第一搜索窗口中执行了足够的粗略搜索的反复(在220),它识别最可能的粗略级方案(在230),其通过步骤210通过其一个或多个反复来识别。如图6所示,这个方案识别运动向量620,该运动向量标识与在参考帧中的位置630对应的当前帧中的对宏块410的位置610。
接下来,该处理为与当前帧宏块匹配的参考帧宏块执行第二精细运动估计搜索(在步骤240)。该第二搜索在参考帧的第二搜索窗口中执行。在一些实施方式中,该第二搜索窗口小于在步骤210的粗略第一级搜索期间使用的第一搜索窗口。同样,在一些实施方式中,该第二搜索窗口被定义为围绕由第一级搜索产生的运动向量(即,在步骤230中选择的运动向量)所标识的参考帧中的位置。图6示出了这种第二级搜索窗口的例子。具体地,该图示出了关于在第一搜索中指定的位置点630的第二搜索窗口640。
在一些实施方式中,在第二搜索级(在步骤240)期间使用的搜索处理比在第一搜索级期间使用的搜索处理更全面。例如,一些实施方式在第二级期间使用利用失真率优化的彻底的子宏块搜索,而在第一搜索级期间使用更简单的三步搜索。
在步骤240第二搜索级结束时,该处理200提供指定当前帧宏块自其出现在参考帧中运动了多少的运动向量。在步骤240后,该处理结束。
2.精细的运动估计
图7示出了执行用来标识参考帧中与一组当前帧宏块像素的分区最匹配的一组像素的分区的精确运动估计处理700。在一些实施方式中,该处理700在处理200的第二搜索(在步骤240)期间实现。
如该图所示,处理700在搜索窗口中选择(在步骤705)位置点。在一些实施方式中,该搜索窗口最初被定义为在处理200的步骤230所标识的参考帧宏块周围。
图8在概念上示出了具有若干位置点的搜索窗口800。如该图所示,该搜索窗口800包括九个位置点805-845。在一些实施方式中,这些位置点805-845可以随机地生成。在其它实施方式中,这些位置点805-845预先地由一组标准确定。这些位置点805-845中的每一个在整数像素级对应于参考帧宏块。而且,图8示出了在非整数像素级的位置点(即,子像素级),例如在二分之一或四分之一像素级的位置点。这些子像素级位置点的使用将进一步通过参考图9描述。
接下来,对每个在当前帧宏块的像素的可能的分区,处理700检查(在步骤710)在选择的位置点的像素的特定分区与当前帧宏块的像素的分区有多精密的匹配。图10在概念上示出了一些可能的分区(即,块)尺寸。具体地,该图示出了九个可能的块尺寸,其中每个块尺寸代表像素的特定块。例如,块尺寸1代表包括16×16像素阵列的像素块。块尺寸2代表包括16×8像素阵列的像素块。尽管该图仅示出了九个块尺寸,处理700可以搜索具有其它像素配置的块尺寸。一些实施方式搜索全部这些块尺寸,而其它实施方式仅搜索这些块尺寸中的一些。
一旦检查已经被执行(在步骤710),该处理700为每个块尺寸更新(在步骤715)参考帧宏块的最好位置。处理700确定(在步骤720)是否还有另一个位置点。如果是,处理700进行至705来选择另一个位置点并执行步骤710-720的另一重复。
一旦处理700确定(在步骤720)没有更多的位置点,处理700确定(在步骤725)对特定块尺寸的搜索结果是否足够好。在一些实施方式中,如果具有更新位置的块尺寸满足一特定标准(例如,SAD低于特定阈值),则搜索结果足够好。在一些实施方式中,如果与特定块尺寸关联的成本和与具有最低成本块尺寸关联的成本之间的差异比阈值大,则搜索结果不够好。在一些实施方式中,该阈值在搜索期间动态地定义。如果处理700确定(在步骤725)对特定块尺寸的搜索结果不够好,处理700在任何随后的搜索中排除(在步骤730)这些块尺寸。
在排除(在步骤730)这些块尺寸或确定(在步骤725)所有搜索结果都足够好后,处理700执行(在步骤735)另一个搜索。在该搜索期间,对每个块尺寸,处理700搜索与当前帧宏块的分区最匹配的参考帧中的像素的分区。该搜索包括在子像素级搜索像素的分区。该子像素级搜索将在下面详细描述。在搜索后(在步骤735),处理700结束。
3.在子像素级的搜索
图9在概念上示出了用于在多像素级为参考帧宏块搜索像素的分区的处理900。在一些实施方式中,处理900在处理700的搜索步骤735期间执行。如该图所示,处理900为当前帧宏块选择(在步骤905)像素的分区(即,选择块尺寸)。处理900通过步骤905重复几次。在其通过步骤905重复期间,一些实施方式中的处理顺序地基于由图10示出它们的的数字名称,重复地选择没有在步骤730丢弃的分区(即,块)。例如,在步骤730没有分区被丢弃时,处理900顺序地选择块1至9。
步骤905后,处理900定义(在步骤910)搜索的初始像素分辨率(例如,像素级)(即,定义搜索粒度)。例如,处理900可以初始地定义像素分辨率为在整数像素的每隔一个位置(即,整数像素级分辨率的一半分辨率)。接下来,处理900定义(在步骤915)搜索位置为对当前帧宏块的所选择的分区在当前标识为最好的位置。该标识的最好的位置可以在图7的处理700的像素级搜索期间标识,或如下进一步描述的,可以在图9的处理900的任意像素分辨率搜索期间标识。
对每个没有在步骤730被丢弃的特定当前帧分区,处理900(在步骤920)(1)检查围绕在所定义的像素级分辨率(即,搜索粒度)在步骤915标识的搜索位置的参考帧分区,及(2)标识与当前帧分区最匹配的特定检查的参考帧分区。
接下来,对每个没有在步骤730被丢弃的特定的当前帧分区,处理900(在步骤925)确定在步骤920为特定当前帧分区标识的特定参考帧分区是否比先前为特定当前帧分区标识的最匹配的分区更匹配。如果是,该处理定义(在步骤925)在步骤920标识的特定参考帧分区的位置为特定当前帧分区的最好位置。
接下来,处理900确定(在步骤930)是否已经为选择的分区检查过具有最大像素级分辨率的参考帧。如果没有,处理900增加(在步骤935)像素级分辨率至下一个像素级分辨率(例如,一半,四分之一)并转移回上面所述的步骤915。这样,在随后的步骤915-935的重复中,处理900检查在子像素级(例如,一半,四分之一)的当前帧宏块的分区。
当处理900确定(在步骤930)已经为选择的分区检查在最大像素级分辨率的参考帧时,处理900确定(在步骤940)是否其已经检查了所有没有在步骤730被丢弃的当前帧分区。如果没有,处理900返回至905来选择下一个当前帧分区并接下来对该分区重复910-935。一旦确定(在步骤940)已经检查了所有没有在步骤730被丢弃的像素的分区,处理900结束。
图11在概念上示出了一些对不同像素级的搜索位置。具体地,该图示出了以四个整数像素级位置825-830和840-845为边界的搜索区域860。在一些实施方式中,该限定的搜索区域860位于搜索窗口800内,如图8所示。
在限定的搜索区域860中,有五个半像素级位置。进一步地,在该限定的搜索区域860中,有十六个四分之一像素级位置。不同的实施方式可以指定不同的界定的搜索区域,其包括更多或更少的整数和非整数的位置。当处理900定义(在步骤915)搜索位置为位置850时,一些实施方式可以在步骤920的搜索期间在限定的区域860内或周围搜索。
在一些实施方式中,一些上述步骤被重复执行。如上所述,一些实施方式对每个像素级执行单独的搜索。然而,本领域技术人员将认识到一些实施方式可以对每个搜索位置同时搜索不同像素级的若干块尺寸(即,对每个位置,为所有块尺寸在整数、一半和四分之一像素级同时搜索)。尽管子像素级被描述为一半或四分之一像素级,本领域技术人员将认识到子像素级可以为任意非整数像素级。
此外,处理700描述了确定(在步骤725)对特定块尺寸的搜索结果是否足够好。在一些实施方式中,该确定725可以在处理900期间作出。进一步,本领域技术人员将认识到该确定725可以在处理700和900的不同步骤期间作出。例如,该确定处理725可以在找到每个块尺寸的最好位置后作出。
此外,一些实施方式可以在处理700期间在步骤735不执行搜索。此外,上述处理700和900描述了对参考帧宏块执行的搜索,然而,本领域技术人员将认识到处理700和900可以被用于搜索其它类型的像素阵列(例如,16×8子宏块)。
B.缓存插值
图12在概念地上示出了参考帧中的若干像素和子像素位置。这些子像素位置包括一半和四分之一像素位置。进一步如该图所示,当前帧宏块1200与四分之一子像素位置1205对准(即,当前帧宏块的像素位置与参考帧的四分之一子像素位置排成行列)。
如上所述,在一些实施方式的运动估计操作期间,编码器检查与参考帧中的子像素位置对准的(即,不与像素位置对准的)宏块或宏块分区。从参考帧,一些实施方式的解码器在一些情况下可能也必须在与子像素位置对准的(即,不与像素位置对准的)宏块或宏块分区中检索。
与子像素位置对准的宏块或宏块分区的检查和检索要求编码器或解码器为在子像素位置的参考帧生成图像值(例如,亮度值),其中该子像素位置对应于在解码操作期间在当前帧中的像素位置,并需要与在编码操作期间当前帧中的像素位置比较。
在一些实施方式中,生成对应于子像素位置的图像值需要对图像值内插来自临近像素位置的图像值(即,从像素位置的图像值派生的子像素位置的图像值)。在许多示例中,为子像素位置内插图像值是困难的操作(例如,在计算上花费的操作),这需要超出两个最近的像素位置的图像值的简单平均。由此,一些实施方式将子像素位置的内插图像值存储在高速缓存中,当另一当前帧分区的随后搜索试图为该子像素位置检查上述内插的图像值时可以被容易地检索。一些实施方式将所有的内插值存储在高速缓存内,而其它实施方式仅将一些内插值存储在高速缓存内。
在编码和/或解码操作期间,一组当前帧宏块的许多运动向量将指向同一参考帧。例如,如图13所示,帧1310具有通过参考帧1305和1325定义的运动向量。进一步,帧1315和1320具有通过参考帧1305定义的运动向量。由此,在一些示例中,参考帧可以被用来编码或解码不止一个其它帧。由此,为参考帧缓存所有或一些内插的子像素值是有利的,因为它们可以被用于其它帧的编码。
C.高速缓存拼接片
图14在概念上示出了在高速缓存中存储参考帧的方法。在一些实施方式中,该方法与上述内插操作结合实现。如该图所示,参考帧1305被分割成一些拼接片1430。在一些实施方式中,帧1305被以这种方式分割来包括两列或多列拼接片和两行或多行拼接片。
图14进一步示出了像素块1450,该像素块可以与或可以不与参考帧的像素位置对准。该像素块1450代表在编码操作期间(即,在运动估计期间)被检查的或在解码操作期间将被检索的参考帧的一部分。
如图14所示,拼接片1430a-1430d的部分需要检查或检索像素块1450。由此,为了便于在编码或解码操作期间像素块(例如,像素块1450)的检查,一些实施方式根据它的拼接片高速缓存参考帧1305。换句话说,代替高速缓存跨越参考帧1305的像素的行(例如,包括像素块1450的像素行1401-1425),一些实施方式仅高速缓存参考帧中的拼接片。
当特定像素块的分析需要一组拼接片时,这些实施方式的编码器或解码器确定是否所有的特定像素块重叠的拼接片都在高速缓存中。如果是,则编码器或解码器使用高速缓存的拼接片来处理特定的像素块。如果不是,则编码器或解码器(1)从非高速缓冲存储器中检索期望的拼接片(即,与特定像素块重叠但当前不在高速缓存中的拼接片),(2)将这些拼接片存储在高速缓存中,并且然后(3)使用这些拼接片来处理特定的像素块。例如,当试图处理像素块1450时,编码器或解码器确定该块重叠拼接片1430a-1430d。由此,编码器或解码器将这些拼接片1430a-1430d存入高速缓存中(如果它们还没有存在那里),然后使用这些拼接片处理块1450。
在一些实施方式中,高速缓冲存储器为用于执行编码或解码操作的计算机系统的处理器的高速缓存。在其它实施方式中,高速缓冲存储器为用于执行编码或解码操作的计算机系统的非易失性存储器(例如,随机存取存储器)的专用部分。同样,尽管通过图14示出了用于高速缓存的方形的拼接片,但一些实施方式中可以为其拼接片使用其它形状,例如矩形。
D.用于运动估计的自适应搜索方式
一些实施方式使用不同的搜索标准来在上述多级运动估计操作期间执行搜索。一些实施方式在执行搜索时使用固定的搜索方式。其它实施方式可以使用不同的搜索方式。例如,一些实施方式基于特定标准自适应地选择搜索方式。
一个例子是在低密度和高密度搜索方式间选择。图15示出了在搜索窗口1500中的低密度搜索方式。该图示出了按照黑圆圈的搜索方式,黑圆圈表示该方式为搜索指定的位置。如图15所示,该搜索方式在四十九个可以被检查的潜在的宏块位置(由黑的和白的圆圈标识)中仅指定十六个位置用于搜索。图16示出了在搜索窗口1500中更高密度的搜索方式。在该图中的搜索方式在四十九个可以被检查的潜在的宏块位置(由黑的和白的圆圈标识)中指定二十五个位置用于搜索。
一些实施方式可以基于期望的编码结果在图15和16中示出的搜索方式间自适应地选择。例如,一些实施方式可以使用图16中示出的更高密度方式进行更高分辨率编码(例如,HD电视编码),而其它实施方式可以使用图15示出的更低密度方式用于通过网络传送流数据,实时视频。
可选地,一些实施方式使用强调垂直搜索运动的搜索方式,而另一些实施方式使用强调水平搜索运动的搜索方式。图17示出了在以预测宏块位置为中心的搜索窗口中的搜索方式的例子。该搜索方式偏向垂直方向。假定可以研究有限数量的位置,图17中示出的方式消耗了编码器的有限搜索预算,来检查关于在搜索窗口1500中心的预测宏块位置的垂直列中的位置。
图18示出了在以预测宏块位置为中心的搜索窗口中的搜索方式的例子。该搜索方式偏向水平方向。假定可以研究有限数量的位置,图18中示出的方式消耗编码器的有限搜索预算,来检查关于在搜索窗口1500中心的预测宏块位置的水平行中的位置。
一些实施方式基于相邻宏块的向量在图17和18中示出的两种搜索方式间自适应地选择。如果大部分或全部向量指向特定的方向(例如,垂直或水平方向),那么这些实施方式选择图17或18中示出的方式。一些实施方式通过确定沿一个方向(例如,y轴)的运动向量的绝对值是否比沿其它方向(例如,x轴)的运动向量的绝对值大,来确定相邻宏块的运动向量是否指向特定方向。一些实施方式不仅考虑相邻宏块的运动向量的方向,还考虑这些向量的大小。一些实施方式还考虑在自适应地选择搜索方式中的一组图像的运动域(motionfield)(例如,这组图像是否示出了在特定方向中的运动)。
E.RD成本计算
如上所述,本发明的一些实施方式在运动估计操作期间为特定宏块计算成本,例如失真率(“RD”)成本。在运动估计期间为所有可能的模式生成失真率成本在计算上是集中的。尤其是假定该成本经常需要测量失真和计算将被生成的实际位。因此,一些实施方式不为所有可能的模式计算RD成本。作为代替,这些实施方式通过对运动估计方案排序并选择前N个运动估计方案,然后为这些选择的方案计算RD成本来削减可能模式的数量。
图19示出了本发明一些实施方式的处理1900。该处理选择性地检查运动估计方案的子组以便标识计算RD成本需要的方法。在一些实施方式中,在该处理开始前,若干编码方案已经被计算。其它实施方式与编码方案结合执行该处理。
处理1900最初基于从最低至最高估计的误差来排列(在步骤1910)编码方案。在一些实施方式中,每个编码方案不仅生成运动向量而且生成估计错误。不同的实施方式使用不同量度的计算来量化该错误。例如,一些实施方式使用平均绝对差(“MAD”)的量度计分,而其它的实施方式使用绝对差值和(“SAD”)的量度计分,这些都在上面结合的精简申请中描述。然而其它实施方式使用两种或更多的量度计分的组合。
接下来,该处理在排序表中选择(在步骤1920)前N个编码方案。在一些实施方式中,N的值为预定数字,而在其它实施方式中为动态生成的数字。接下来,该处理为选择的前N个结果计算(在步骤1930)RD成本,选择(在步骤1940)具有最低RD成本的编码方案,并随后终止。
一些实施方式将编码方案的RD成本表示为:
RdCost=失真成本+(λ×NB),
其中λ为权重因子,而NB为由于编码生成的位数。该RdCost量化已经被传送的数据的数量和与该数据关联的失真的量值。
代替计算简单的RD成本,一些实施方式计算(在步骤2330)不仅将RD成本作为因子而且将生成编码方案的给定模式的解码复杂度作为因子的成本。该成本可以被表示为:
复杂RD=RdCost+α(cf),
其中RdCost如上述指定等式计算,α为与解码复杂度关联的重要因子,并且cf为量化在数据上被执行的解码的数量的复杂度因子。
在步骤1930后,该处理选择(在步骤1940)在步骤1930中计算出来的得到最低成本的运动估计方案,并且随后结束。通过最初通过初始量度计分排序运动估计操作和仅对那些具有最低初始量度计分的编码方案量化成本量度,处理1900保证以最快的可能方法找到可接受的结果。
IV.计算机系统
图20在概念上示出了本发明的一些实施方式被实现的计算机系统。计算机系统2000包括总线2005、处理器2010、系统存储器2015、只读存储器2020、永久存储设备2025、输入设备2030和输出设备2035。
总线2005总体地代表全部系统、外围设备及提供计算机系统2000的内部设备间通信的芯片组总线。例如,总线2005通信地将处理器2010和只读存储器2020、系统存储器2015及永久存储设备2025连接。
处理器2010为了执行本发明的处理在这些多种存储单元中检索执行的指令和处理的数据。只读存储器(ROM)2020存储处理器2020和其它计算机系统模块需要的静态数据和指令。另一方面,永久存储设备2025为读写存储器设备。该设备为即使在计算机系统2000关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施方式使用海量存储设备(例如,磁或光盘和其相应的磁盘驱动器)作为永久存储设备2025。其它实施方式使用可移除存储设备(例如软盘或盘及其相应的磁盘驱动器)作为永久存储设备。
类似永久存储设备2025,系统存储器2015为读写存储器设备。然而,与存储设备2025不同,该系统存储器为易失性的读写存储器,例如随机存取存储器。该系统存储器存储处理器在运行时需要的指令和数据。在一些实施方式中,本发明的处理被存储在系统存储器2015、永久存储设备2025和/或只读存储器2020中。
总线2005也连接至输入和输出设备2030和2035。该输入设备允许用户传递信息和选择命令至计算机系统。该输入设备2030包括字母数字键盘和光标控制器。该输出设备2035显示由计算机系统生成的图像。输出设备包括打印机和显示设备,例如阴极射线管(CRT)或液晶显示器(LCD)。
最后,如图20所示,总线2005也通过网络适配器(未示出)将计算机2000连接至网络2065。通过这种方式,计算机可以成为计算机网络(例如局域网(“LAN”),广域网(“WAN”),或企业内部互联网)的一部分或多个网络中的一个网络(例如,因特网)。计算机系统2000的任何或所有部分都可以结合本发明使用。然而,本领域技术人员可以认识到任何其它的系统配置也可以与本发明结合使用。
尽管已经参照不同的特定细节描述了本发明,本领域技术人员可以认识到本发明可以不脱离本发明的精神而以其它特定方式实施。例如,本发明的许多实施方式通过参考宏块描述。本领域技术人员可以认识到这些实施方式可以与其它任何像素值阵列结合使用。

Claims (32)

1.一种用于处理包括第一图像和第二图像的流的方法,该方法包括:
将所述第一图像分割成一组非重叠的拼接片以包括多行拼接片和多列拼接片;
将所述一组拼接片存储在非高速缓冲存储器中;
当需要存储的所述一组拼接片中的特定子组拼接片以用于将所述第一图像中的第一组像素和所述第二图像中的第二组像素相比较时,从所述非高速缓冲存储器中检索所述特定子组拼接片,其中第一组像素与所述特定子组拼接片中的每个拼接片的一部分相重叠,其中所述特定子组拼接片不包括第一图像的整行拼接片或整列拼接片;并且
将所述特定子组拼接片存储到高速缓冲存储器中以用于将所述第一图像中的第三组像素和所述第二图像中的第二组像素相比较,其中所述第三组像素也与所述特定子组拼接片的一部分相对应。
2.如权利要求1所述的方法,还包括:当在所述第一图像中的位置被识别来搜索以识别与所述第二图像中的第二组像素匹配的在第一图像中的一组像素时,确定需要检索特定子组拼接片并将其存储在所述高速缓冲存储器中,其中,该识别的位置对应于所述特定子组拼接片。
3.如权利要求1所述的方法,其中所述高速缓冲存储器为计算机的随机存取存储器。
4.如权利要求1所述的方法,其中所述高速缓冲存储器为计算机的易失性存储设备。
5.如权利要求1所述的方法,其中该处理方法为编码方法。
6.如权利要求1所述的方法,其中该处理方法为解码方法。
7.如权利要求1所述的方法,其中所述一组拼接片包括至少两个水平相邻的拼接片和至少两个垂直相邻的拼接片。
8.如权利要求1所述的方法,其中所述特定子组拼接片被顺序地存储在所述高速缓冲存储器中。
9.一种用于处理图像的方法,其中该图像被分割成包括多行拼接片和多列拼接片的多个非重叠拼接片,该方法包括:
识别所述图像中的一组像素;
识别与所识别的所述一组像素相关联的一组拼接片,其中所述一组拼接片不包括该图像的整行拼接片或整列拼接片,其中所识别的所述一组像素与所述一组拼接片中的每个拼接片的一部分相重叠;以及
对所识别的所述一组拼接片中的每个拼接片,在高速缓存中存储与所识别的拼接片相关联的像素分组,以用于处理识别的所述一组像素。
10.如权利要求9所述的方法,其中识别与所识别的所述一组像素相关联的一组拼接片包括从非高速缓冲存储器检索与所识别的所述一组拼接片相关联的像素分组。
11.如权利要求9所述的方法,还包括识别所述图像中的另一组像素。
12.如权利要求11所述的方法,其中所述另一组像素包括在识别的所述一组像素中的至少一个像素。
13.如权利要求11所述的方法,其中所识别的所述一组像素中的至少一个像素包括至少一个非整数像素。
14.如权利要求13所述的方法,其中所述非整数像素从插值操作导出。
15.如权利要求9所述的方法,其中所述处理方法包括解码操作。
16.如权利要求9所述的方法,其中所述处理方法包括编码操作。
17.一种用于处理包括第一图像和第二图像的流的设备,该设备包括:
将所述第一图像分割成一组非重叠的拼接片以包括多行拼接片和多列拼接片的装置;
将所述一组拼接片存储在非高速缓冲存储器中的装置;
当需要存储的所述一组拼接片中的特定子组拼接片以用于将所述第一图像中的第一组像素和所述第二图像中的第二组像素相比较时从所述非高速缓冲存储器中检索所述特定子组拼接片的装置,其中第一组像素与所述特定子组拼接片中的每个拼接片的一部分相重叠,其中所述特定子组拼接片不包括第一图像的整行拼接片或整列拼接片;并且
将所述特定子组拼接片存储到高速缓冲存储器中以用于将所述第一图像中的第三组像素和所述第二图像中的第二组像素相比较的装置,其中所述第三组像素还与所述特定子组拼接片的一部分相对应。
18.如权利要求17所述的设备,还包括:当在所述第一图像中的位置被识别来搜索以识别与所述第二图像中的第二组像素匹配的在第一图像中的一组像素时确定需要检索特定子组拼接片并将其存储在所述高速缓冲存储器中的装置,其中,该识别的位置对应于所述特定子组拼接片。
19.如权利要求17所述的设备,其中所述高速缓冲存储器为随机存取存储器。
20.如权利要求17所述的设备,其中所述高速缓冲存储器为易失性存储设备。
21.如权利要求17所述的设备,其中该设备用于编码所述流。
22.如权利要求17所述的设备,其中该设备用于解码所述流。
23.如权利要求17所述的设备,其中所述一组拼接片包括至少两个水平相邻的拼接片和至少两个垂直相邻的拼接片。
24.如权利要求17所述的设备,其中所述特定子组拼接片被顺序地存储在所述高速缓冲存储器中。
25.一种用于处理图像的设备,其中该图像被分割成包括多行拼接片和多列拼接片的多个非重叠拼接片,该设备包括:
识别所述图像中的一组像素的装置;
识别与所识别的所述一组像素相关联的一组拼接片的装置,其中所述一组拼接片不包括该图像的整行拼接片或整列拼接片,其中所识别的所述一组像素与所述一组拼接片中的每个拼接片的一部分相重叠;以及
对所识别的所述一组拼接片中的每个拼接片在高速缓存中存储与所识别的拼接片相关联的像素分组以用于处理识别的所述一组像素的装置。
26.如权利要求25所述的设备,其中识别与所识别的所述一组像素相关联的一组拼接片包括从非高速缓冲存储器检索与所识别的所述一组拼接片相关联的像素分组。
27.如权利要求25所述的设备,还包括识别所述图像中的另一组像素的装置。
28.如权利要求27所述的设备,其中所述另一组像素包括在识别的所述一组像素中的至少一个像素。
29.如权利要求27所述的设备,其中所识别的所述一组像素中的至少一个像素包括至少一个非整数像素。
30.如权利要求29所述的设备,其中所述非整数像素从插值操作导出。
31.如权利要求25所述的设备,其中所述设备用于解码图像。
32.如权利要求25所述的设备,其中所述设备用于编码图像。
CN201210024769.8A 2004-06-27 2005-06-27 编码和解码图像 Expired - Fee Related CN102497558B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US58344704P 2004-06-27 2004-06-27
US60/583,447 2004-06-27
US64391705P 2005-01-09 2005-01-09
US60/643,917 2005-01-09
US11/119,414 US20050286777A1 (en) 2004-06-27 2005-04-28 Encoding and decoding images
US11/119,414 2005-04-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN 200510092222 Division CN1750656B (zh) 2004-06-27 2005-06-27 编码和解码图像

Publications (2)

Publication Number Publication Date
CN102497558A CN102497558A (zh) 2012-06-13
CN102497558B true CN102497558B (zh) 2015-03-04

Family

ID=34942452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210024769.8A Expired - Fee Related CN102497558B (zh) 2004-06-27 2005-06-27 编码和解码图像

Country Status (6)

Country Link
US (2) US20050286777A1 (zh)
EP (1) EP1610561A3 (zh)
JP (4) JP4885486B2 (zh)
CN (1) CN102497558B (zh)
TW (1) TWI265735B (zh)
WO (1) WO2006004667A2 (zh)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US7742525B1 (en) 2002-07-14 2010-06-22 Apple Inc. Adaptive motion estimation
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US8964830B2 (en) * 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US9108107B2 (en) * 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
US8111752B2 (en) 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
KR100907847B1 (ko) * 2004-07-20 2009-07-14 퀄컴 인코포레이티드 순간적 비디오 압축으로 이동 벡터 예측을 위한 방법 및장치
US7697610B2 (en) * 2004-09-13 2010-04-13 Microsoft Corporation Variable block size early termination for video coding
US7983341B2 (en) * 2005-02-24 2011-07-19 Ericsson Television Inc. Statistical content block matching scheme for pre-processing in encoding and transcoding
JP5053275B2 (ja) * 2005-07-28 2012-10-17 トムソン ライセンシング 階層的キャッシュを使うビデオ動き処理最適化のための方法および装置
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
TWI326433B (en) * 2006-09-19 2010-06-21 Ind Tech Res Inst Method for saving interpolation data
KR100842557B1 (ko) 2006-10-20 2008-07-01 삼성전자주식회사 동영상 처리 장치에서 메모리 액세스 방법
US9204149B2 (en) * 2006-11-21 2015-12-01 Vixs Systems, Inc. Motion refinement engine with shared memory for use in video encoding and methods for use therewith
US9794561B2 (en) * 2006-11-21 2017-10-17 Vixs Systems, Inc. Motion refinement engine with selectable partitionings for use in video encoding and methods for use therewith
US8218636B2 (en) 2006-11-21 2012-07-10 Vixs Systems, Inc. Motion refinement engine with a plurality of cost calculation methods for use in video encoding and methods for use therewith
US8265136B2 (en) * 2007-02-20 2012-09-11 Vixs Systems, Inc. Motion refinement engine for use in video encoding in accordance with a plurality of sub-pixel resolutions and methods for use therewith
FR2919412A1 (fr) 2007-07-24 2009-01-30 Thomson Licensing Sas Procede et dispositif de reconstruction d'une image.
US8184696B1 (en) * 2007-09-11 2012-05-22 Xilinx, Inc. Method and apparatus for an adaptive systolic array structure
US8165209B2 (en) * 2007-09-24 2012-04-24 General Instrument Corporation Method and apparatus for providing a fast motion estimation process
EP2708268A3 (en) * 2007-12-05 2014-05-14 OL2, Inc. Tile-based system and method for compressing video
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
CN101645964B (zh) * 2008-08-08 2013-06-05 深圳富泰宏精密工业有限公司 移动终端及其快速显示图形的方法
WO2010036995A1 (en) * 2008-09-29 2010-04-01 Dolby Laboratories Licensing Corporation Deriving new motion vectors from existing motion vectors
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US8320454B2 (en) * 2009-02-12 2012-11-27 Ceva D.S.P. Ltd. Fast sub-pixel motion estimation
CN104270635B (zh) 2009-05-29 2018-12-11 三菱电机株式会社 图像解码装置以及图像解码方法
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) * 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US20110002387A1 (en) * 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
WO2011094871A1 (en) * 2010-02-05 2011-08-11 Sensio Technologies Inc. Method and apparatus of frame interpolation
NO332189B1 (no) * 2010-02-17 2012-07-23 Cisco Systems Int Sarl Fremgangsmate for videokoding
US8712173B2 (en) * 2010-03-12 2014-04-29 Mediatek Singapore Pte. Ltd. Methods for processing 2Nx2N block with N being positive integer greater than four under intra-prediction mode and related processing circuits thereof
JP5479225B2 (ja) * 2010-05-27 2014-04-23 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
WO2012083487A1 (en) 2010-12-21 2012-06-28 Intel Corporation System and method for enhanced dmvd processing
KR20170129967A (ko) 2010-09-13 2017-11-27 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버를 포함하는 컴퓨터 게임 시스템에서 통신 네트워크를 통해 클라이언트들 간에 게임 세션을 이송하는 방법
KR102000618B1 (ko) 2010-09-13 2019-10-21 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 부가기능의 관리
US9143799B2 (en) * 2011-05-27 2015-09-22 Cisco Technology, Inc. Method, apparatus and computer program product for image motion prediction
WO2013069974A1 (ko) * 2011-11-08 2013-05-16 주식회사 케이티 영상의 부호화 방법 및 장치, 그리고 영상의 복호화 방법 및 장치
US20140071146A1 (en) * 2012-09-07 2014-03-13 Texas Instruments Incorporated Methods and systems for multimedia data processing
US10631005B2 (en) * 2014-04-21 2020-04-21 Qualcomm Incorporated System and method for coding in block prediction mode for display stream compression (DSC)
US10757437B2 (en) * 2014-07-17 2020-08-25 Apple Inc. Motion estimation in block processing pipelines
US9769494B2 (en) 2014-08-01 2017-09-19 Ati Technologies Ulc Adaptive search window positioning for video encoding
JP6390275B2 (ja) * 2014-09-01 2018-09-19 株式会社ソシオネクスト 符号化回路、符号化方法
CN105791866B (zh) * 2014-12-24 2018-10-30 北京数码视讯科技股份有限公司 视频编码中间数据获取方法、设备及系统
CN104811716B (zh) * 2015-04-29 2018-09-25 深圳市振华微电子有限公司 宏块搜索方法
WO2016206748A1 (en) * 2015-06-25 2016-12-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Refinement of a low-pel resolution motion estimation vector
CN106101701B (zh) * 2016-08-08 2019-05-14 传线网络科技(上海)有限公司 基于h.264的帧间编码模式选择方法及装置
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) * 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
CN110557642B (zh) * 2018-06-04 2023-05-12 华为技术有限公司 一种视频帧编码运动搜索方法及图像编码器
CN110662087B (zh) 2018-06-30 2021-05-11 华为技术有限公司 点云编解码方法和编解码器
CN110800301A (zh) * 2018-09-30 2020-02-14 深圳市大疆创新科技有限公司 编码设备的控制方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1130455A (zh) * 1993-09-08 1996-09-04 汤姆森多媒体公司 使用块匹配进行运动估算的方法和装置
CN1163542A (zh) * 1996-03-22 1997-10-29 大宇电子株式会社 半象素运动估算器
CN1418437A (zh) * 2000-01-21 2003-05-14 诺基亚有限公司 视频编码器的运动估计方法及系统

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US811752A (en) * 1904-10-06 1906-02-06 Gen Electric Steam or gas turbine.
US5060285A (en) * 1989-05-19 1991-10-22 Gte Laboratories Incorporated Hierarchical variable block size address-vector quantization using inter-block correlation
JPH04150284A (ja) * 1990-10-09 1992-05-22 Olympus Optical Co Ltd 動ベクトル検出方法およびその装置
JP3006107B2 (ja) * 1991-02-25 2000-02-07 三菱電機株式会社 動き補償予測回路
US5200820A (en) * 1991-04-26 1993-04-06 Bell Communications Research, Inc. Block-matching motion estimator for video coder
JP2636622B2 (ja) * 1992-03-13 1997-07-30 松下電器産業株式会社 ビデオ信号の符号化方法及び復号化方法ならびにビデオ信号の符号化装置及び復号化装置
JPH06189291A (ja) * 1992-12-21 1994-07-08 Sharp Corp 画像の動き検出装置
WO1994018799A1 (en) * 1993-02-03 1994-08-18 Qualcomm Incorporated Interframe video encoding and decoding system
US5508744A (en) * 1993-03-12 1996-04-16 Thomson Consumer Electronics, Inc. Video signal compression with removal of non-correlated motion vectors
JP3598526B2 (ja) * 1993-12-29 2004-12-08 ソニー株式会社 動きベクトル検出方法及び画像データの符号化方法
FR2719398B1 (fr) * 1994-04-27 1996-07-19 Sgs Thomson Microelectronics Dispositif et procédé d'adressage d'une mémoire cache d'un circuit de compression d'images mobiles.
US5676767A (en) * 1994-06-30 1997-10-14 Sensormatic Electronics Corporation Continuous process and reel-to-reel transport apparatus for transverse magnetic field annealing of amorphous material used in an EAS marker
US5706059A (en) * 1994-11-30 1998-01-06 National Semiconductor Corp. Motion estimation using a hierarchical search
US5757668A (en) * 1995-05-24 1998-05-26 Motorola Inc. Device, method and digital video encoder of complexity scalable block-matching motion estimation utilizing adaptive threshold termination
US5731850A (en) * 1995-06-07 1998-03-24 Maturi; Gregory V. Hybrid hierarchial/full-search MPEG encoder motion estimation
US5577181A (en) * 1995-06-07 1996-11-19 E-Systems, Inc. Method for autonomous determination of tie points in imagery
US5929940A (en) * 1995-10-25 1999-07-27 U.S. Philips Corporation Method and device for estimating motion between images, system for encoding segmented images
US6192081B1 (en) * 1995-10-26 2001-02-20 Sarnoff Corporation Apparatus and method for selecting a coding mode in a block-based coding system
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
JP3175914B2 (ja) * 1995-12-25 2001-06-11 日本電信電話株式会社 画像符号化方法および画像符号化装置
US5912676A (en) * 1996-06-14 1999-06-15 Lsi Logic Corporation MPEG decoder frame memory interface which is reconfigurable for different frame store architectures
JP3455635B2 (ja) * 1996-09-17 2003-10-14 株式会社東芝 動きベクトル検出装置
JP4294743B2 (ja) * 1996-12-13 2009-07-15 富士通株式会社 動きベクトル探索装置および動画像符号化装置
JPH10336668A (ja) * 1997-06-02 1998-12-18 Sharp Corp 動きベクトル検出装置
US6212237B1 (en) * 1997-06-17 2001-04-03 Nippon Telegraph And Telephone Corporation Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program
US6462791B1 (en) * 1997-06-30 2002-10-08 Intel Corporation Constrained motion estimation and compensation for packet loss resiliency in standard based codec
DE69803639T2 (de) * 1997-08-07 2002-08-08 Matsushita Electric Industrial Co., Ltd. Vorrichtung und Verfahren zur Detektion eines Bewegungsvektors
US6014181A (en) * 1997-10-13 2000-01-11 Sharp Laboratories Of America, Inc. Adaptive step-size motion estimation based on statistical sum of absolute differences
JPH11182444A (ja) * 1997-10-17 1999-07-06 Takumina:Kk ソレノイド駆動ポンプの制御回路
DE69901525T2 (de) * 1998-02-13 2003-01-09 Koninklijke Philips Electronics N.V., Eindhoven Verfahren und vorrichtung zur videokodierung
JPH11328369A (ja) * 1998-05-15 1999-11-30 Nec Corp キャッシュシステム
KR100325253B1 (ko) * 1998-05-19 2002-03-04 미야즈 준이치롯 움직임벡터 검색방법 및 장치
US6128047A (en) * 1998-05-20 2000-10-03 Sony Corporation Motion estimation process and system using sparse search block-matching and integral projection
US6081209A (en) * 1998-11-12 2000-06-27 Hewlett-Packard Company Search system for use in compression
US6363117B1 (en) * 1998-12-31 2002-03-26 Sony Corporation Video compression using fast block motion estimation
GB2348559B (en) 1999-03-31 2001-06-06 Samsung Electronics Co Ltd High speed motion estimating method for real time moving image coding and apparatus therefor
FR2796778B1 (fr) * 1999-07-20 2001-10-19 Canon Kk Procede et dispositif de compression par bloc de donnees numeriques
US6529634B1 (en) * 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
JP2001251632A (ja) * 1999-12-27 2001-09-14 Toshiba Corp 動きベクトル検出方法および装置並びに動きベクトル検出プログラム
US6483876B1 (en) * 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
KR100619377B1 (ko) * 2000-02-22 2006-09-08 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
US6567469B1 (en) * 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
US6876703B2 (en) * 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
US6842483B1 (en) * 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation
KR100727910B1 (ko) * 2000-10-11 2007-06-13 삼성전자주식회사 하이브리드형 고속 움직임 추정 방법 및 그 장치
US6668020B2 (en) * 2000-11-04 2003-12-23 Vivotek Inc. Method for motion estimation in video coding
US20020131500A1 (en) * 2001-02-01 2002-09-19 Gandhi Bhavan R. Method for determining a motion vector for a video signal
DE60141961D1 (de) * 2001-09-10 2010-06-10 Texas Instruments Inc Verfahren und Vorrichtung zur Bewegungsvektorenabschätzung
JP4923368B2 (ja) * 2001-09-17 2012-04-25 富士通株式会社 追跡型動きベクトル探索方法及び装置
JP2003169338A (ja) * 2001-09-18 2003-06-13 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び装置並びに方法プログラムを記録した媒体
KR100833228B1 (ko) * 2002-02-21 2008-05-28 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
KR100492127B1 (ko) * 2002-02-23 2005-06-01 삼성전자주식회사 적응형 움직임 추정장치 및 추정 방법
KR101108661B1 (ko) * 2002-03-15 2012-01-25 노키아 코포레이션 비디오 시퀀스에서의 움직임 부호화 방법
JP2003284091A (ja) * 2002-03-25 2003-10-03 Toshiba Corp 動画像符号化方法及び動画像符号化装置
JP4120301B2 (ja) * 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
US7170937B2 (en) * 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
JP2003324743A (ja) * 2002-05-08 2003-11-14 Canon Inc 動きベクトル探索装置及び動きベクトル探索方法
JP4318019B2 (ja) * 2002-05-28 2009-08-19 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US7239721B1 (en) * 2002-07-14 2007-07-03 Apple Inc. Adaptive motion estimation
US7742525B1 (en) * 2002-07-14 2010-06-22 Apple Inc. Adaptive motion estimation
FR2844131B1 (fr) * 2002-09-03 2004-11-12 St Microelectronics Sa Procede et dispositif d'interpolation d'images avec compensation du mouvement
JP3977716B2 (ja) * 2002-09-20 2007-09-19 株式会社東芝 動画像符号化/復号化方法及び装置
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
GB2395778A (en) * 2002-11-29 2004-06-02 Sony Uk Ltd Face detection
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US7280597B2 (en) * 2003-06-24 2007-10-09 Mitsubishi Electric Research Laboratories, Inc. System and method for determining coding modes, DCT types and quantizers for video coding
JP2005020294A (ja) * 2003-06-25 2005-01-20 Sony Corp ブロック歪低減装置
US7646437B1 (en) * 2003-09-03 2010-01-12 Apple Inc. Look-ahead system and method for pan and zoom detection in video sequences
KR100596706B1 (ko) * 2003-12-01 2006-07-04 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
JP4127818B2 (ja) * 2003-12-24 2008-07-30 株式会社東芝 動画像符号化方法及びその装置
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
US8467447B2 (en) * 2004-05-07 2013-06-18 International Business Machines Corporation Method and apparatus to determine prediction modes to achieve fast video encoding
US7792188B2 (en) * 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1130455A (zh) * 1993-09-08 1996-09-04 汤姆森多媒体公司 使用块匹配进行运动估算的方法和装置
CN1163542A (zh) * 1996-03-22 1997-10-29 大宇电子株式会社 半象素运动估算器
CN1418437A (zh) * 2000-01-21 2003-05-14 诺基亚有限公司 视频编码器的运动估计方法及系统

Also Published As

Publication number Publication date
JP5836625B2 (ja) 2015-12-24
US20050286777A1 (en) 2005-12-29
TW200610413A (en) 2006-03-16
WO2006004667A8 (en) 2007-09-27
JP2014150568A (ja) 2014-08-21
US20130297875A1 (en) 2013-11-07
WO2006004667A2 (en) 2006-01-12
WO2006004667A3 (en) 2007-07-19
CN102497558A (zh) 2012-06-13
TWI265735B (en) 2006-11-01
EP1610561A3 (en) 2010-07-21
WO2006004667A9 (en) 2006-04-20
JP2006014343A (ja) 2006-01-12
JP4885486B2 (ja) 2012-02-29
EP1610561A2 (en) 2005-12-28
JP2011091838A (ja) 2011-05-06
JP2011160470A (ja) 2011-08-18

Similar Documents

Publication Publication Date Title
CN102497558B (zh) 编码和解码图像
CN1750656B (zh) 编码和解码图像
KR101208863B1 (ko) 비디오 데이터의 인코딩을 위한 인코딩 유형 및 예측 모드 선택
JP4338654B2 (ja) 動きベクトル検出装置及び方法、及びその動きベクトル検出装置を利用可能な画像符号化装置
US7580456B2 (en) Prediction-based directional fractional pixel motion estimation for video coding
US7924918B2 (en) Temporal prediction in video coding
Montrucchio et al. New sorting-based lossless motion estimation algorithms and a partial distortion elimination performance analysis
US20050276330A1 (en) Method and apparatus for sub-pixel motion estimation which reduces bit precision
CN101540911A (zh) 产生图像数据流的方法和设备及重建图像的方法和设备
US8059722B2 (en) Method and device for choosing a mode of coding
US20240031576A1 (en) Method and apparatus for video predictive coding
JP7494403B2 (ja) 復号方法、符号化方法、装置、デバイスおよび記憶媒体
KR100984953B1 (ko) 데이터 검색 방법과 장치 및 이를 포함하는 비디오 재생장치
CN111901590B (zh) 一种用于帧间预测的细化运动矢量存储方法及装置
US20130195190A1 (en) Method for deciding motion partition mode and encoder
KR100780124B1 (ko) 이미지들의 인코딩 및 디코딩
CN101841701B (zh) 基于宏块对的编解码方法及装置
JP4438949B2 (ja) 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
JPH11136674A (ja) 画像符号化方法及び記憶媒体
CN115396671A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150304

Termination date: 20180627

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