CN1750656B - 编码和解码图像 - Google Patents
编码和解码图像 Download PDFInfo
- Publication number
- CN1750656B CN1750656B CN 200510092222 CN200510092222A CN1750656B CN 1750656 B CN1750656 B CN 1750656B CN 200510092222 CN200510092222 CN 200510092222 CN 200510092222 A CN200510092222 A CN 200510092222A CN 1750656 B CN1750656 B CN 1750656B
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- group
- search
- level position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了用于在第一图像中通过参考视频序列中的第二图像编码第一组像素的方法。在第二图像内的第一搜索窗口中,该方法搜索以识别与第一图像中的第一组像素最匹配的第二图像中的第一特定部分。在第二图像中的第一搜索窗口中,该方法识别对应于第一特定部分的第一位置。在第二图像中的第二搜索窗口中,该方法接下来搜索以识别与在第一图像中的第一组像素最匹配的第二图像中的第二特定部分,其中第二搜索窗口关于第一位置定义。
Description
技术领域
本发明针对于一种用于编码和解码图像的方法。
背景技术
视频编解码是设计为编码(即,压缩)和解码(即,解压缩)视频数据流的压缩算法,用来减小流的大小,从而加快传送速度和减小存储空间。尽管有损失,现在的视频编解码试图在压缩视频流的二进制数据的同时保持视频质量。
视频流典型地由视频帧的序列组成。视频编码器通常将每个帧分割成若干宏块,每个宏块为一组16×16的像素。视频编码器典型地使用帧内编码或帧间编码来编码视频帧或视频帧中的宏块。帧内编码的帧或宏块独立于其它帧或独立于在其它帧中的宏块来编码。
帧间编码的帧或宏块通过参考一个或若干其它帧或其它帧中的宏块来编码。由于编码不得不将特定帧的宏块或宏块内的分区与另一参考帧的宏块或宏块内的分区比较,因此典型地块间编码是耗时的。由此,本领域需要更有效的块间编码方法。理想地,该编码方法可以加速编码和解码操作。
发明内容
一些实施方式提供了一种用于通过参考视频序列中的第二图像编码第一图像中的第一组像素的方法,该方法包括:a)在第二图像内的第一搜索窗口中,搜索以识别与所述第一图像中的所述第一组像素最匹配的所述第二图像中的第一特定部分,其中搜索以识别与所述第一图像中的所述第一组像素最匹配的所述第二图像中的第一特定部分包括从多个开始位置搜索;b)在所述第二图像内的所述第一搜索窗口中,识别对应于所述第一特定部分的第一位置;以及c)在所述第二图像内的第二搜索窗口中,搜索以识别与在所述第一图像中的所述第一组 像素最匹配的所述第二图像中的第二特定部分,其中所述第二搜索窗口在所述第一位置周围定义。
一些实施方式提供了一种用于在视频序列中块间编码图像的方法,其中所述视频序列中的每个图像具有多个整数像素位置,每个整数像素位置具有至少一个图像值,该方法包括:a)通过参考第二图像选择用于编码的第一图像;b)识别所述第二图像中与所述第一图像中的一组像素匹配的第一组非整数像素位置,其中所述识别包括将所述第二图像中的多个整数像素位置的图像值内插到与所述第二图像中的所述非整数像素位置关联的图像值中;以及c)存储所述非整数像素位置的内插的图像值,以供此后在通过参考所述第二图像来编码第三图像期间使用。
一些实施方式提供了一种用于在视频序列中块间解码图像的方法,其中所述视频序列中的每个图像具有多个整数像素位置,每个整数像素位置具有至少一个图像值,该方法包括:a)通过参考第二图像选择用于解码的第一图像;b)在所述第二图像中识别与所述第一图像中的一组像素对应的一组非整数像素位置;c)将所述第二图像中的多个整数像素位置的图像值内插到与所述第二图像中的非整数像素位置关联的图像值中;并且d)存储所述非整数像素位置的内插的图像值,以供此后在通过参考所述第二图像来解码第三图像期间使用。
一些实施方式提供了一种用于块间处理包括第一图像和第二图像的流的方法,该方法包括:将所述第一图像分割成一组拼接片;将该组拼接片存储在非高速缓冲存储器中;无论何时需要存储的拼接片中的特定子组拼接片,都从所述非高速缓冲存储器中检索存储的拼接片中的子组拼接片;并且将检索到的子组拼接片存储到高速缓冲存储器中,其中所述检索到的子组拼接片比所述整组拼接片小。
一些实施方式提供了一种对第一视频图像和第二视频图像进行编码的块间编码方法,该方法包括:a)基于一组标准,从一组搜索方式中选择第一搜索方式,每种搜索方式定义一种用于检查第一图像中可能与第二图像中的一组像素匹配的部分的方式;并且b)使用所选择的第一搜索方式来识别第一图像中与所述第二图像中的所述一组像素最匹配的一组像素。
一些实施方式提供了一种用于通过参考图像序列中的第二图像编码第一图像中的第一组像素的方法,该方法包括:a)在第二图像中识别多个第二组像素;b)为每个所述第二组像素计算第一量度计分;c)基于所述第一量度计分识别第二组像素的子组;d)从识别的第二组像素的子组中:i.为每个识别的第二组像素计算第二量度计分;以及ii.选择具有最好的第二量度计分的所识别的第二组像素,其中所选择的识别的第二组像素与所述第一组像素最匹配。
一些实施方式提供了一种用于对包括第一图像和第二图像的流进行编码的方法,该方法包括:a.通过使用第一窗口和第二窗口搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置,其中搜索第一图像包括在第一图像的不同像素级搜索;以及b.基于所述第一图像中所识别的所述一组像素级位置对所述第二图像中的所述一组像素级位置进行编码。
一些实施方式提供了一种用于对包括第一图像和第二图像的流进行编码的方法,所述方法包括:通过使用第一窗口和第二窗口搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置,其中搜索第一图像包括:a、通过使用所述第一窗口执行对所述第一图像的第一搜索;以及b、通过使用所述第二窗口执行对所述第一图像的第二搜索,其中执行搜索包括在第一图像中与第二窗口关联的区域内的多个位置进行搜索;基于第一图像中识别的所述一组像素级位置对第二图像中的所述一组像素级位置进行编码。
一些实施方式提供了一种对包括第一图像和第二图像的流进行编码的方法,所述方法包括:a、执行所述第一图像的粗略搜索以识别第一组像素;b、执行所述第一图像的精细搜索以在所述第一图像中识别与所述第二图像中的一组像素最匹配的第二组像素,其中所述精细搜索围绕所识别的第一组像素执行;和c、基于所述第一图像中所识别的第二组像素对所述第二图像中的所述一组像素进行编码。一些实施方式提供了一种对包括第一图像、第二图像和第三图像的流进行编码的方法,所述方法包括:a.搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置,其中所识别的所述一组 像素级位置包括通过执行插值操作而计算的一组非整数像素级位置;以及b.基于在所述搜索所述第一图像以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置期间计算的所述一组非整数像素级位置,对所述第三图像中的一组像素级位置进行编码。
一些实施方式提供了一种对包括第一图像、第二图像和第三图像的比特流进行解码的方法,所述方法包括:a.基于所述第一图像中的一组非整数像素级位置对所述第二图像中的一组像素级位置进行解码,其中所述一组非整数像素级位置是通过执行插值操作而计算的;以及b.基于在所述第二图像的解码期间计算的所述一组非整数像素级位置对所述第三图像中的一组像素级位置进行解码。
一些实施方式提供了一种用于处理图像的方法,其中该图像与至少包括两行和两列拼接片的多个拼接片关联,每个拼接片包括像素的子组,该方法包括:a.在第一处理操作期间识别所述图像中的一组像素;b.识别与所识别的所述一组像素关联的一组拼接片;以及c.对每一识别的拼接片,在高速缓存中存储与识别的拼接片关联的像素子组,以用于第二处理操作。
一些实施方式提供了一种用于对第一图像和第二图像进行编码的方法,所述方法包括:a.从一组搜索方式中选择一种搜索方式;以及b.通过使用所选择的搜索方式搜索所述第一图像,其中搜索所述第一图像包括识别在所述第一图像中与所述第二图像中的第二组像素最匹配的第一组像素。
一些实施方式提供了一种通过参考第二视频图像中的一组像素来编码第一视频图像中的一组像素的方法,每个视频图像包括多组像素,每组像素包括多个像素,所述方法包括:基于所述第二视频图像中的多个候选组像素中的每个候选组像素的第一误差量度对所述第二视频图像中的多个候选组像素进行排序,每个第一误差度量代表在第一视频图像中的所述一组像素和在第二视频图像中的所述候选组像素之间的误差;对已排序的候选组像素的子组计算第二非误差量度,其中第二度量量化使用第二视频图像中的所述候选组像素编码第一视频图像中的所述组图像的成本;以及基于所述第二视频图像中具有最好第二量度的候选组像素 对所述第一视频图像中的所述组像素进行编码。
本发明的新的特征在所附的权利要求中阐明。然而,为了说明,在下图中阐明了本发明的一些实施方式。
附图说明
图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 Predictive Modes 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轴)的运动向量的绝对值大,来确定相邻宏块的运动向量是否指向特定方向。一些实施方式不仅考虑相邻宏块的运动向量的方向,还考虑这些向量的大小。一些实施方式还考虑在自适应地选择搜索方式中的一组图像的运动域(motion field)(例如,这组图像是否示出了在特定方向中的运动)。
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 (96)
1.一种用于通过参考视频序列中的第二图像编码第一图像中的第一组像素的方法,该方法包括:
a)在第二图像内的第一搜索窗口中,
搜索以识别与所述第一图像中的所述第一组像素最匹配的所述第二图像中的第一特定部分,其中搜索以识别与所述第一图像中的所述第一组像素最匹配的所述第二图像中的第一特定部分包括从多个开始位置搜索;
b)在所述第二图像内的所述第一搜索窗口中,识别对应于所述第一特定部分的第一位置;以及
c)在所述第二图像内的第二搜索窗口中,搜索以识别与在所述第一图像中的所述第一组像素最匹配的所述第二图像中的第二特定部分,其中所述第二搜索窗口在所述第一位置周围定义。
2.如权利要求1所述的方法,其中,所述第二图像中的所述第二搜索窗口比所述第二图像中的第一搜索窗口小。
3.根据权利要求1所述的方法,其中在所述第一搜索窗口中搜索包括粗略搜索,在所述第二搜索窗口中搜索包括精细搜索。
4.根据权利要求1所述的方法,其中在所述第二搜索窗口中搜索还包括:
在第一图像中识别多个第一像素分组;
a)在所述第二搜索窗口内识别多个搜索点;
b)对每个特定搜索点,迭代地执行以下步骤:
i.在第二图像中识别多个第二像素分组;
ii.针对每个特定的第一像素分组,为每个识别的第二像素分组计算运动向量量度;
iii.为每个第一像素分组指定最佳匹配第二像素分组;
iv.如果标准被满足则放弃剩余搜索点。
5.如权利要求4所述的方法,进一步包括:
a)确定与特定第一像素分组最匹配的指定的第二像素分组是否具有不满足阈值的所计算的运动向量量度;并且
b)在确定与所述特定的第一像素分组最匹配的所述指定的第二像素分组具有大于所述阈值的所计算的运动向量量度之后,在随后的搜索中排除所述特定的第一组像素。
6.如权利要求5所述的方法,其中所述阈值是在所述第二搜索窗口中进行搜索的期间动态定义的。
7.如权利要求4所述的方法,其中在所述第二搜索窗口中搜索包括在第一像素级搜索。
8.如权利要求7所述的方法,其中在所述第二搜索窗口中搜索进一步包括在第二像素级搜索,其中所述第一像素级为整数像素级,所述第二像素级为非整数像素级。
9.一种用于在视频序列中块间编码图像的方法,其中所述视频序列中的每个图像具有多个整数像素位置,每个整数像素位置具有至少一个图像值,该方法包括:
a)通过参考第二图像选择用于编码的第一图像;
b)识别所述第二图像中与所述第一图像中的一组像素匹配的第一组非整数像素位置,其中所述识别包括将所述第二图像中的多个整数像素位置的图像值内插到与所述第二图像中的所述非整数像素位置关联的图像值中;以及
c)存储所述非整数像素位置的内插的图像值,以供此后在通过参考所述第二图像来编码第三图像期间使用。
10.如权利要求9所述的方法,进一步包括:在识别出所述第二图像中的第一组非整数像素位置后,内插所述第二图像中一个分组的其它非整数像素位置的图像值。
11.如权利要求10所述的方法,其中所述分组的其它非整数像素位置被定位在所述第一组非整数像素位置的周围。
12.一种用于在视频序列中块间解码图像的方法,其中所述视频序列中的每个图像具有多个整数像素位置,每个整数像素位置具有至少一个图像值,该方法包括:
a)通过参考第二图像选择用于解码的第一图像;
b)在所述第二图像中识别与所述第一图像中的一组像素对应的一组非整数像素位置;
c)将所述第二图像中的多个整数像素位置的图像值内插到与所述第二图像中的所述一组非整数像素位置关联的图像值中;并且
d)存储所述一组非整数像素位置的内插的图像值,以供此后在通过参考所述第二图像来解码第三图像期间使用。
13.如权利要求12所述的方法,进一步包括:在内插与所述一组非整数像素位置关联的图像值后,内插所述第二图像中的一个分组的其它非整数像素位置的图像值。
14.如权利要求13所述的方法,其中所述分组的其它非整数像素位置被定位在所述一组非整数像素位置的周围。
15.一种对第一视频图像和第二视频图像进行编码的块间编码方法,该方法包括:
a)基于一组标准,从一组搜索方式中选择第一搜索方式,每种搜索方式定义一种用于检查第一图像中可能与第二图像中的一组像素匹配的部分的方式;并且
b)使用所选择的第一搜索方式来识别第一图像中与所述第二图像中的所述一组像素最匹配的一组像素。
16.如权利要求15所述的方法,其中所述一组标准包括在媒体中图像序列的编码分辨率。
17.如权利要求15所述的方法,其中所述一组标准包括一组相邻宏块的运动向量的方向。
18.如权利要求15所述的方法,其中所述一组标准包括一组视频图像中的运动域。
19.一种用于对包括第一图像和第二图像的流进行编码的方法,该方法包括:
a.通过使用第一窗口和第二窗口搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置,其中搜索第一图像包括在第一图像的不同像素级搜索;以及
b.基于所述第一图像中所识别的所述一组像素级位置对所述第二图像中的所述一组像素级位置进行编码。
20.如权利要求19所述的方法,其中搜索所述第一图像包括为多个像素分区中的至少一个像素分区计算运动向量量度。
21.如权利要求20所述的方法,进一步包括:当为特定的像素分区计算的运动向量量度少于标准时,排除至少一个特定的像素分区。
22.如权利要求19所述的方法,其中所述第二窗口与所述第一窗口重叠。
23.如权利要求19所述的方法,其中所述第二窗口是所述第一窗口的子组。
24.如权利要求19所述的方法,其中搜索所述第一图像包括:
a、基于所述第一窗口指定所述第一图像的第一像素级位置子组;
b、识别所述第一图像的所述第一像素级位置子组中与所述第二图像中的所述像素级位置组最匹配的第一组像素级位置;
c、基于所述第二窗口指定所述第一图像的第二像素级位置子组,其中所述第二窗口基于所识别的第一组像素级位置;以及
d、识别所述第一图像的所述第二像素级位置子组中与所述第二图像中的所述一组像素级位置最匹配的的第二组像素级位置,其中所述第二图像中的所述一组像素级位置的编码基于所述第一图像中所识别的第二组像素级位置。
25.一种用于对包括第一图像和第二图像的流进行编码的方法,所述方法包括:
通过使用第一窗口和第二窗口搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置,其中搜索第一图像包括:
a、通过使用所述第一窗口执行对所述第一图像的第一搜索;以及
b、通过使用所述第二窗口执行对所述第一图像的第二搜索,其中执行搜索包括在第一图像中与第二窗口关联的区域内的多个位置进行搜索;
基于第一图像中识别的所述一组像素级位置对第二图像中的所述一组像素级位置进行编码。
26.如权利要求25所述的方法,其中所述第一搜索是粗略搜索,所述第二搜索是比所述粗略搜索更精确的精细搜索。
27.如权利要求25所述的方法,其中所述第一搜索在第一像素级执行。
28.如权利要求25所述的方法,其中所述第二搜索在第一像素级和第二像素级执行。
29.如权利要求25所述的方法,其中所述第二搜索进一步在第三像素级执行。
30.如权利要求25所述的方法,其中所述第一搜索从第一窗口内的多个开始位置执行多于一次。
31.如权利要求25所述的方法,其中所述第二搜索从基于在所述第一搜索期间识别的第一组像素级位置的开始位置执行。
32.一种对包括第一图像和第二图像的流进行编码的方法,所述方法包括:
a、执行所述第一图像的粗略搜索以识别第一组像素;
b、执行所述第一图像的精细搜索以在所述第一图像中识别与所述第二图像中的一组像素最匹配的第二组像素,其中所述精细搜索围绕所识别的第一组像素执行;和
c、基于所述第一图像中所识别的第二组像素对所述第二图像中的所述一组像素进行编码。
33.如权利要求32所述的方法,其中所述精细搜索比所述粗略搜索更精确。
34.如权利要求32所述的方法,其中执行所述粗略搜索包括在所述第一图像的第一像素级的搜索,其中执行所述精细搜索包括在所述第一图像的第二像素级的搜索。
35.如权利要求32所述的方法,其中执行所述精细搜索包括从所述第一图像的区域中的多个开始位置进行搜索。
36.一种对包括第一图像、第二图像和第三图像的流进行编码的方法,所述方法包括:
a.搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置,其中所识别的所述一组像素级位置包括通过执行插值操作而计算的一组非整数像素级位置;
b.在高速缓存中存储所述一组非整数像素级位置的内插图像值;以及
c.基于在所述搜索所述第一图像以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置期间计算的所述一组非整数像素级位置,对所述第三图像中的一组像素级位置进行编码。
37.如权利要求36所述的方法,其中对第三图像中的所述一组像素级位置进行编码包括:识别所述第一图像中特定的一组像素级位置,其中所识别的所述特定的一组像素级位置包括在所述搜索所述第一图像以识别所述第一图像中与所述第二图像中的所述一组像素级位置最匹配的所述一组像素级位置期间计算的非整数像素级位置。
38.如权利要求36所述的方法,其中所述非整数像素级位置包括在第一像素级的至少一个像素级位置以及在不同于第一像素级的第二像素级的至少一个像素级位置。
39.一种对包括第一图像、第二图像和第三图像的比特流进行解码的方法,所述方法包括:
a.基于所述第一图像中的一组非整数像素级位置对所述第二图像中的一组像素级位置进行解码,其中所述一组非整数像素级位置是通过执行插值操作而计算的;
b.在高速缓存中存储与所述一组非整数像素级位置的内插图像值;以及
c.基于在所述第二图像的解码期间计算的所述一组非整数像素级位置对所述第三图像中的一组像素级位置进行解码。
40.如权利要求39所述的方法,其中所述一组非整数像素级位置包括在第一像素级的至少一个像素级位置以及在第二像素级的至少一个像素级位置。
41.一种用于通过从一组搜索方式中选择一种搜索方式来对第一图像中的一组像素进行编码的方法,所述一组搜索方式中的每种搜索方式定义了用于检查与所述第一图像中的所述一组像素匹配的部分第二图像的方式,所述方法包括:
a.从所述一组搜索方式中选择一种搜索方式,所述一组搜索方式在具有不同密度水平和强调不同方向搜索运动的布置中的至少一个方面彼此不同;以及
b.通过使用所选择的搜索方式搜索所述第二图像,其中搜索所述第二图像包括识别在所述第二图像中与所述第一图像中的所述一组像素最匹配的一组像素。
42.如权利要求41所述的方法,其中选择所述搜索方式包括基于标准从所述一组搜索方式中自适应地进行选择。
43.如权利要求42所述的方法,其中所述标准是用于一组邻近像素的一组运动向量的方向,其中当所述一组运动向量处于垂直方向时选择垂直偏置的搜索方式,而当所述一组运动向量处于水平方向时选择水平偏置的搜索方式。
44.如权利要求41所述的方法,其中搜索所述第二图像还包括所述第二图像的第一和第二搜索。
45.如权利要求44所述的方法,其中第一搜索方式用于所述第一搜索,第二搜索方式用于所述第二搜索。
46.如权利要求41所述的方法,其中所选搜索方式具有水平运动偏置。
47.如权利要求41所述的方法,其中所选搜索方式具有垂直运动偏置。
48.如权利要求41所述的方法,其中所述一组搜索方式包括高密度搜索方式和低密度搜索方式。
49.一种用于通过参考视频序列中的第二图像编码第一图像中的第一组像素的设备,该设备包括:
用于在第二图像内的第一搜索窗口中搜索以识别与所述第一图像中的所述第一组像素最匹配的所述第二图像中的第一特定部分的装置,其中搜索以识别与所述第一图像中的所述第一组像素最匹配的所述第二图像中的第一特定部分包括从多个开始位置搜索;
用于在所述第二图像内的所述第一搜索窗口中识别对应于所述第一特定部分的第一位置的装置;以及
用于在所述第二图像内的第二搜索窗口中搜索以识别与在所述第一图像中的所述第一组像素最匹配的所述第二图像中的第二特定部分的装置,其中所述第二搜索窗口在所述第一位置周围定义。
50.如权利要求49所述的设备,其中,所述第二图像中的所述第二搜索窗口比所述第二图像中的第一搜索窗口小。
51.根据权利要求49所述的设备,其中在所述第一搜索窗口中搜索包括粗略搜索,在所述第二搜索窗口中搜索包括精细搜索。
52.根据权利要求49所述的设备,其中在所述第二搜索窗口中搜索还包括:
在第一图像中识别多个第一像素分组;
a)在所述第二搜索窗口内识别多个搜索点;
b)对每个特定搜索点,迭代地执行以下步骤:
i.在第二图像中识别多个第二像素分组;
ii.针对每个特定的第一像素分组为每个识别的第二像素分组计算运动向量量度;
iii.为每个第一像素分组指定最佳匹配第二像素分组;
iv.如果标准被满足则放弃剩余搜索点。
53.如权利要求52所述的设备,进一步包括:
用于确定与特定第一像素分组最匹配的指定的第二像素分组是否具有不满足阈值的所计算的运动向量量度的装置;并且
用于在确定与所述特定的第一像素分组最匹配的所述指定的第二像素分组具有大于所述阈值的所计算的运动向量量度之后,在随后的搜索中排除所述特定的第一组像素的装置。
54.如权利要求53所述的设备,其中所述阈值是在所述第二搜索窗口中进行搜索的期间动态定义的。
55.如权利要求52所述的设备,其中在所述第二搜索窗口中搜索包括在第一像素级搜索。
56.如权利要求55所述的设备,其中在所述第二搜索窗口中搜索进一步包括在第二像素级搜索,其中所述第一像素级为整数像素级,所述第二像素级为非整数像素级。
57.一种用于在视频序列中块间编码图像的设备,其中所述视频序列中的每个图像具有多个整数像素位置,每个整数像素位置具有至少一个图像值,该设备包括:
用于通过参考第二图像选择用于编码的第一图像的装置;
用于识别所述第二图像中与所述第一图像中的一组像素匹配的第一组非整数像素位置的装置,其中所述识别包括将所述第二图像中的多个整数像素位置的图像值内插到与所述第二图像中的所述非整数像素位置关联的图像值中;以及
用于存储所述非整数像素位置的内插的图像值,以供此后在通过参考所述第二图像来编码第三图像期间使用的装置。
58.如权利要求57所述的设备,进一步包括:用于在识别出所述第二图像中的第一组非整数像素位置后,内插所述第二图像中一个分组的其它非整数像素位置的图像值的装置。
59.如权利要求58所述的设备,其中所述分组的其它非整数像素位置被定位在所述第一组非整数像素位置的周围。
60.一种用于在视频序列中块间解码图像的设备,其中所述视频序列中的每个图像具有多个整数像素位置,每个整数像素位置具有至少一个图像值,该设备包括:
用于通过参考第二图像选择用于解码的第一图像的装置;
用于在所述第二图像中识别与所述第一图像中的一组像素对应的一组非整数像素位置的装置;
用于将所述第二图像中的多个整数像素位置的图像值内插到与所述第二图像中的所述一组非整数像素位置关联的图像值中的装置;并且
用于存储所述一组非整数像素位置的内插的图像值,以供此后在通过参考所述第二图像来解码第三图像期间使用的装置。
61.如权利要求60所述的设备,进一步包括:用于在内插与所述一组非整数像素位置关联的图像值后,内插所述第二图像中的一个分组的其它非整数像素位置的图像值的装置。
62.如权利要求61所述的设备,其中所述分组的其它非整数像素位置被定位在所述一组非整数像素位置的周围。
63.一种对第一视频图像和第二视频图像进行编码的块间编码设备,该设备包括:
用于基于一组标准,从一组搜索方式中选择第一搜索方式的装置,每种搜索方式定义一种用于检查第一图像中可能与第二图像中的一组像素匹配的部分的方式;并且
用于使用所选择的第一搜索方式来识别第一图像中与所述第二图像中的所述一组像素最匹配的一组像素的装置。
64.如权利要求63所述的设备,其中所述一组标准包括在媒体中图像序列的编码分辨率。
65.如权利要求63所述的设备,其中所述一组标准包括一组相邻宏块的运动向量的方向。
66.如权利要求63所述的设备,其中所述一组标准包括一组视频图像中的运动域。
67.一种用于对包括第一图像和第二图像的流进行编码的设备,该设备包括:
用于通过使用第一窗口和第二窗口搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置的装置,其中搜索第一图像包括在第一图像的不同像素级搜索;以及
用于基于所述第一图像中所识别的所述一组像素级位置对所述第二图像中的所述一组像素级位置进行编码的装置。
68.如权利要求67所述的设备,其中搜索所述第一图像包括为多个像素分区中的至少一个像素分区计算运动向量量度。
69.如权利要求68所述的设备,进一步包括:用于当为特定的像素分区计算的运动向量量度少于标准时,排除至少一个特定的像素分区的装置。
70.如权利要求67所述的设备,其中所述第二窗口与所述第一窗口重叠。
71.如权利要求67所述的设备,其中所述第二窗口是所述第一窗口的子组。
72.如权利要求67所述的设备,其中搜索所述第一图像包括:
a、基于所述第一窗口指定所述第一图像的第一像素级位置子组;
b、识别所述第一图像的所述第一像素级位置子组中与所述第二图像中的所述像素级位置组最匹配的第一组像素级位置;
c、基于所述第二窗口指定所述第一图像的第二像素级位置子组,其中所述第二窗口基于所识别的第一组像素级位置;以及
d、识别所述第一图像的所述第二像素级位置子组中与所述第二图像中的所述一组像素级位置最匹配的的第二组像素级位置,其中所述第二图像中的所述一组像素级位置的编码基于所述第一图像中所识别的第二组像素级位置。
73.一种用于对包括第一图像和第二图像的流进行编码的设备,所述设备包括:
用于通过使用第一窗口和第二窗口搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置的装置,其中搜索第一图像包括:
a、通过使用所述第一窗口执行对所述第一图像的第一搜索;以及
b、通过使用所述第二窗口执行对所述第一图像的第二搜索,其中执行搜索包括在第一图像中与第二窗口关联的区域内的多个位置进行搜索;
用于基于第一图像中识别的所述一组像素级位置对第二图像中的所述一组像素级位置进行编码的装置。
74.如权利要求73所述的设备,其中所述第一搜索是粗略搜索,所述第二搜索是比所述粗略搜索更精确的精细搜索。
75.如权利要求73所述的设备,其中所述第一搜索在第一像素级执行。
76.如权利要求73所述的设备,其中所述第二搜索在第一像素级和第二像素级执行。
77.如权利要求73所述的设备,其中所述第二搜索进一步在第三像素级执行。
78.如权利要求73所述的设备,其中所述第一搜索从第一窗口内的多个开始位置执行多于一次。
79.如权利要求73所述的设备,其中所述第二搜索从基于在所述第一搜索期间识别的第一组像素级位置的开始位置执行。
80.一种对包括第一图像和第二图像的流进行编码的设备,所述设备包括:
用于执行所述第一图像的粗略搜索以识别第一组像素的装置;
用于执行所述第一图像的精细搜索以在所述第一图像中识别与所述第二图像中的一组像素最匹配的第二组像素的装置,其中所述精细搜索围绕所识别的第一组像素执行;和
用于基于所述第一图像中所识别的第二组像素对所述第二图像中的所述一组像素进行编码的装置。
81.如权利要求80所述的设备,其中所述精细搜索比所述粗略搜索更精确。
82.如权利要求80所述的设备,其中执行所述粗略搜索包括在所述第一图像的第一像素级的搜索,其中执行所述精细搜索包括在所述第一图像的第二像素级的搜索。
83.如权利要求80所述的设备,其中执行所述精细搜索包括从所述第一图像的区域中的多个开始位置进行搜索。
84.一种对包括第一图像、第二图像和第三图像的流进行编码的设备,所述设备包括:
用于搜索所述第一图像,以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置的装置,其中所识别的所述一组像素级位置包括通过执行插值操作而计算的一组非整数像素级位置;
用于在高速缓存中存储与所述一组非整数像素级位置的内插图像值的装置;以及
用于基于在所述搜索所述第一图像以识别所述第一图像中与所述第二图像中的一组像素级位置最匹配的一组像素级位置期间计算的所述一组非整数像素级位置,对所述第三图像中的一组像素级位置进行编码的装置。
85.如权利要求84所述的设备,其中对第三图像中的所述一组像素级位置进行编码包括:识别所述第一图像中特定的一组像素级位置,其中所识别的所述特定的一组像素级位置包括在所述搜索所述第一图像以识别所述第一图像中与所述第二图像中的所述一组像素级位置最匹配的所述一组像素级位置期间计算的非整数像素级位置。
86.如权利要求84所述的设备,其中所述非整数像素级位置包括在第一像素级的至少一个像素级位置以及在不同于第一像素级的第二像素级的至少一个像素级位置。
87.一种对包括第一图像、第二图像和第三图像的比特流进行解码的设备,所述设备包括:
用于基于所述第一图像中的一组非整数像素级位置对所述第二图像中的一组像素级位置进行解码的装置,其中所述一组非整数像素级位置是通过执行插值操作而计算的;
用于在高速缓存中存储与所述一组非整数像素级位置的内插图像值的装置;以及
用于基于在所述第二图像的解码期间计算的所述一组非整数像素级位置对所述第三图像中的一组像素级位置进行解码的装置。
88.如权利要求87所述的设备,其中所述一组非整数像素级位置包括在第一像素级的至少一个像素级位置以及在第二像素级的至少一个像素级位置。
89.一种用于通过从一组搜索方式中选择一种搜索方式来对第一图像中的一组像素进行编码的设备,所述一组搜索方式中的每种搜索方式定义了用于检查与所述第一图像中的所述一组像素匹配的部分第二图像的方式,所述设备包括:
用于从所述一组搜索方式中选择一种搜索方式的装置,所述一组搜索方式在具有不同密度水平和强调不同方向搜索运动的布置中的至少一个方面彼此不同;以及
用于通过使用所选择的搜索方式搜索所述第二图像的装置,其中搜索所述第二图像包括识别在所述第二图像中与所述第一图像中的所述一组像素最匹配的一组像素。
90.如权利要求89所述的设备,其中选择所述搜索方式包括基于标准从所述一组搜索方式中自适应地进行选择。
91.如权利要求90所述的设备,其中所述标准是用于一组邻近像素的一组运动向量的方向,其中当所述一组运动向量处于垂直方向时选择垂直偏置的搜索方式,而当所述一组运动向量处于水平方向时选择水平偏置的搜索方式。
92.如权利要求89所述的设备,其中搜索所述第二图像还包括所述第二图像的第一和第二搜索。
93.如权利要求92所述的设备,其中第一搜索方式用于所述第一搜索,第二搜索方式用于所述第二搜索。
94.如权利要求89所述的设备,其中所选搜索方式具有水平运动偏置。
95.如权利要求89所述的设备,其中所选搜索方式具有垂直运动偏置。
96.如权利要求89所述的设备,其中所述多种搜索方式包括高密度搜索方式和低密度搜索方式。
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 Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210024769.8A Division CN102497558B (zh) | 2004-06-27 | 2005-06-27 | 编码和解码图像 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1750656A CN1750656A (zh) | 2006-03-22 |
CN1750656B true CN1750656B (zh) | 2012-04-18 |
Family
ID=36605881
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910132798 Active CN101540912B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
CN 200510092222 Expired - Fee Related CN1750656B (zh) | 2004-06-27 | 2005-06-27 | 编码和解码图像 |
CN 200510079996 Active CN1809161B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
CN 200510079995 Active CN1812579B (zh) | 2004-06-27 | 2005-06-27 | 在视频数据流的编码和解码中存储设备的有效使用 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910132798 Active CN101540912B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510079996 Active CN1809161B (zh) | 2004-06-27 | 2005-06-27 | 对编码视频数据选择编码类型和预测模式 |
CN 200510079995 Active CN1812579B (zh) | 2004-06-27 | 2005-06-27 | 在视频数据流的编码和解码中存储设备的有效使用 |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN101540912B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009073828A1 (en) * | 2007-12-05 | 2009-06-11 | Onlive, Inc. | Tile-based system and method for compressing video |
US20090274211A1 (en) * | 2008-04-30 | 2009-11-05 | Omnivision Technologies, Inc. | Apparatus and method for high quality intra mode prediction in a video coder |
HUE025960T2 (en) | 2010-04-13 | 2016-04-28 | Ge Video Compression Llc | Video coding using multi-tree subdivisions of images |
CN106067983B (zh) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
KR101529842B1 (ko) | 2010-04-13 | 2015-06-17 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 샘플 배열 멀티트리 세부분할에서 계승 |
TWI713356B (zh) | 2010-04-13 | 2020-12-11 | 美商Ge影像壓縮有限公司 | 樣本區域合併技術 |
US20120027091A1 (en) * | 2010-07-28 | 2012-02-02 | Wei-Lien Hsu | Method and System for Encoding Video Frames Using a Plurality of Processors |
FR2969456A1 (fr) * | 2010-12-15 | 2012-06-22 | France Telecom | Procedes et dispositifs de codage et de decodage d'au moins une image mettant en œuvre une selection des pixels a predire, programme d'ordinateur correspondant |
US8675731B2 (en) * | 2012-08-13 | 2014-03-18 | Gurulogic Microsystems Oy | Encoder and method |
US10333547B2 (en) | 2012-08-13 | 2019-06-25 | Gurologic Microsystems Oy | Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations |
CN105491376B (zh) * | 2014-10-06 | 2020-01-07 | 同济大学 | 图像编码、解码方法及装置 |
CN116781925A (zh) | 2018-08-28 | 2023-09-19 | 鸿颖创新有限公司 | 编码视频数据的方法 |
CN109587485A (zh) * | 2018-10-26 | 2019-04-05 | 西安科锐盛创新科技有限公司 | 视频压缩编码方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060285A (en) * | 1989-05-19 | 1991-10-22 | Gte Laboratories Incorporated | Hierarchical variable block size address-vector quantization using inter-block correlation |
AU6099594A (en) * | 1993-02-03 | 1994-08-29 | Qualcomm Incorporated | Interframe video encoding and decoding system |
JP3844490B2 (ja) * | 1993-07-19 | 2006-11-15 | ブリテイッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | ビデオ画像におけるエラー検出検出方法および検出装置 |
KR0171143B1 (ko) * | 1995-03-20 | 1999-03-20 | 배순훈 | 육각그리드에서의 삼각구조 형성 장치 |
US6529634B1 (en) * | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
-
2005
- 2005-06-27 CN CN 200910132798 patent/CN101540912B/zh active Active
- 2005-06-27 CN CN 200510092222 patent/CN1750656B/zh not_active Expired - Fee Related
- 2005-06-27 CN CN 200510079996 patent/CN1809161B/zh active Active
- 2005-06-27 CN CN 200510079995 patent/CN1812579B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN1812579A (zh) | 2006-08-02 |
CN1812579B (zh) | 2010-04-21 |
CN1809161A (zh) | 2006-07-26 |
CN101540912B (zh) | 2011-05-18 |
CN1809161B (zh) | 2010-11-17 |
CN101540912A (zh) | 2009-09-23 |
CN1750656A (zh) | 2006-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1750656B (zh) | 编码和解码图像 | |
CN102497558A (zh) | 编码和解码图像 | |
US6983018B1 (en) | Efficient motion vector coding for video compression | |
US7580456B2 (en) | Prediction-based directional fractional pixel motion estimation for video coding | |
CN101389025B (zh) | 用于根据多个子像素分辨率进行视频编码的运动细化引擎及其使用方法 | |
KR101152576B1 (ko) | 비디오 데이터의 인코딩을 위한 인코딩 유형 및 예측 모드 선택 | |
US9066099B2 (en) | Methods for efficient implementation of skip/direct modes in digital video compression algorithms | |
US20150222922A1 (en) | Motion prediction method | |
US20060114997A1 (en) | Temporal prediction in video coding | |
US20060133511A1 (en) | Method to speed up the mode decision of video coding | |
CN113794877B (zh) | 解码方法、编码方法、装置、设备及机器可读存储介质 | |
CN100401779C (zh) | 用于分级运动估计的方法 | |
CN113709458A (zh) | 视频编解码中的位移矢量预测方法、装置及设备 | |
KR100984953B1 (ko) | 데이터 검색 방법과 장치 및 이를 포함하는 비디오 재생장치 | |
CN111901590B (zh) | 一种用于帧间预测的细化运动矢量存储方法及装置 | |
US20050053139A1 (en) | Method and apparatus for determining reference data unit for predictive video data coding | |
CN114640856B (zh) | 解码方法、编码方法、装置及设备 | |
JP4516088B2 (ja) | 動き探索方法、動き探索装置、動き探索プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
KR100780124B1 (ko) | 이미지들의 인코딩 및 디코딩 | |
Wong | An efficient heuristic-based motion estimation algorithm | |
CN111698507B (zh) | 运动信息候选者列表构建方法及列表中索引编码方法 | |
Yu et al. | Mode activity based adaptive fast intra mode decision for HEVC/H. 265 |
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: 20120418 Termination date: 20180627 |
|
CF01 | Termination of patent right due to non-payment of annual fee |