视频编码中的运动预测的制作方法

文档序号:7989100阅读:146来源:国知局
视频编码中的运动预测的制作方法
【专利摘要】公开了用于在视频编码中利用运动预测的装置、方法和计算机程序。读取被编码在比特流中的视频表示的像素的块,并且确定块的类型。如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则确定第一参考块中的第一参考像素位置并且确定第二参考块中的第二参考像素位置。第一参考像素位置用来获得第一预测。所述第一预测具有高于第一精度的第二精度。第二参考像素位置用来获得第二预测,其也具有第二精度。对第一预测和第二预测进行组合以获得组合预测;以及将组合预测的精度降低到第一精度。
【专利说明】视频编码中的运动预测
【技术领域】
[0001]本发明涉及用于在视频编码和解码中产生和利用运动预测信息的装置、方法和计算机程序。
【背景技术】
[0002]视频编解码器可以包括将输入音频变换成适合于存储和/或压缩的压缩表示的编码器以及可以将压缩的视频表示解压缩回可观看的形式的解码器,或者两者中的任何一个。编码器可以丢弃原始视频序列中的一些信息以便以更紧凑的形式(例如以较低的比特率)表示视频。
[0003]许多混合视频编解码器(例如根据国际电信联盟的ITU-T H.263和H.264编码标准操作的)以两个阶段来编码视频信息。在第一阶段,预测某一图像区域或“块”中的像素值。可以例如通过运动补偿机制来预测这些像素值,该机制涉及查找并指示之前编码的视频帧(或之后编码的视频帧)之一中紧密对应于正在被编码的块的区域。此外,可以通过空间机制来预测像素值,该空间机制涉及例如通过以指定方式使用即将被编码的块周围的像素值来查找并指示空间区域关系。
[0004]使用来自在前的(或在后的)图像的图像信息的预测方法还可以被称为帧间预测方法,而使用同一图像内的图像信息的预测方法还可以被称为帧内预测方法。
[0005]第二阶段是对预测的像素的块与原始的像素的块之间的误差进行编码的阶段。这通常通过使用指定的变换对像素值的差进行变换来实现。该变换可以例如是离散余弦变换(DCT)或其变体。在对该差进行变换之后,变换的差可以被量化和熵编码。
[0006]通过改变量化过程的保真度,编码器可以控制像素表示的精度(换句话说,图像的质量)与产生的编码视频表示的尺寸(换句话说,文件尺寸或传输比特率)之间的平衡。
[0007]图1中图示了编码过程的示例。
[0008]解码器通过应用类似于编码器所使用的预测机制来重构输出视频,以便形成像素块的预测表示(使用由编码器创建并且以图像的压缩表示进行存储的运动或空间信息)和预测误差解码(预测误差编码的逆操作,以在空间域中恢复量化的预测误差信号)。
[0009]在应用像素预测和误差解码过程之后,解码器对预测和预测误差信号(像素值)进行组合以形成输出视频帧。
[0010]解码器(和编码器)还可以应用附加的滤波过程,以便在传送输出视频以用于显示和/或作为视频序列中即将到来的帧的预测参考进行存储之前提高其质量。
[0011]图2中图示了解码过程的示例。
[0012]运动补偿预测(MCP)是一种由视频压缩标准用于减小编码比特流的尺寸的技术。在MCP中,使用(多个)先前帧来形成对当前帧的预测,其中只有表示当前帧和预测帧的原始信号和预测信号之间的差值被编码并且发送到解码器。表示预测帧的预测信号通过如下方式形成:首先将当前帧划分为块(例如宏块),然后针对每个块在参考帧中搜索最佳匹配。以这样的方式,确定了块相对于参考帧的运动,并且该运动信息作为运动向量被编码在比特流中。解码器能够通过对在比特流中编码的运动向量数据进行解码来重构准确的预测帧。
[0013]图8中提出了预测结构的示例。框表示图像,框内大写字母表示编码类型,框内编号是图像编号(以解码顺序),并且箭头表示预测的依赖关系。在该示例中,I-图像是不使用任何参考图像并且因此可以不考虑其他图像的解码而被解码的帧内图像。P-图像是所谓的单预测图像,即其参考一个参考图像,而B-图像是使用两个其它图像作为参考图像或在一个参考图像内的两个预测块的双预测图像。换句话说,与B-图像相关的参考块可以在同一参考图像内(如图8中使用从图像P7到图像B8的两个箭头所图不的)或者在两个不同的参考图像内(如图8中例如使用从图像P2到图像B4和从图像B3到图像B4的箭头所图不的)。
[0014]这里还应当注意到,一个图像可以包括不同类型的块,即图像的块可以是帧内块、单预测块和/或双预测块。运动向量经常涉及其中对于一个图像而言可能存在多个运动向量的块。
[0015]在一些系统中,单预测图像也称为单向预测图像而双预测图像也称为双向预测图像。
[0016]运动向量不限于具有全像素的精度而也可能具有分数像素的精度。即,运动向量可以指向参考巾贞的分数像素的位置(position/location),其中分数像素的位置例如可以指的是在图像像素之间的位置。为了获得分数像素位置处的采样,可以在MCP过程中使用插值滤波器。常规的视频编码标准描述了解码器可以如何通过定义插值滤波器来以分数像素精度获得采样。例如,在MPEG-2中,运动向量可以具有至多半像素精度,其中通过对全像素位置处的相邻采样进行简单平均来获得半像素位置处的采样。H. 264/AVC视频编码标准支持具有多达四分之一像素精度的运动向量。此外,在H. 264/AVC视频编码标准中,通过使用对称的和可分离的六抽头滤波器来获得半像素采样,而通过对最近的半像素或全像素采样进行平均来获得四分之一像素的采样。
[0017]在典型的视频编解码器中,运动信息由与每个运动补偿图像块相关联的运动矢量来表示。这些运动向量中的每个表示即将被编码(在编码器中)或解码(在解码器处)的图像中的图像块以及之前编码或解码的图像(image/picture)之一中的预测源块的位移。为了有效地表示运动矢量,通常对运动矢量关于块特定预测运动矢量进行区别编码。在典型的视频编解码器中,以预先定义的方式(例如通过计算相邻块的编码运动矢量或解码运动矢量的中位数)创建预测运动矢量。
[0018]在典型的视频编解码器中,首先使用变换核(如DCT)对运动补偿后的预测残差进行变换然后编码。这样做的原因在于在残差之间经常仍然存在某些相关性,而在许多情况下变换可以帮助减少该相关性并且提供更有效的编码。
[0019]典型的视频编码器利用拉格朗日代价函数来寻找最优编码模式,例如所期望的宏块模式和相关联的运动矢量。这种类型的代价函数使用加权因子或X来将由于有损编码方法所引起的准确的或估计的图像失真与在图像区域表示像素值所要求的准确的或估计的信息量联系在一起。
[0020]这可以由式(I)来表示:
[0021]C=D+入 R (I)
[0022]其中C是待最小化的拉格朗日代价,D是当前考虑到模式和运动矢量的图像失真(例如,原始图像块中的像素值和编码图像块中的像素值之间的均方误差),λ是拉格朗日系数,以及R是表示在解码器中重构图像块所要求的数据所需的比特数(包括用于表示候选运动矢量的数据量)。
[0023]一些混合视频编解码器(诸如H. 264/AVC)利用双向运动补偿预测来提高编码效率。在双向预测中,可以通过组合(例如通过对两个运动补偿预测块进行平均)来形成块的预测信号。该平均运算可以进一步包括向上或向下舍入,这可能引入舍入误差。
[0024]双向预测中舍入误差的累积可以引起编码效率的退化。该舍入误差累积可以通过发信号通知当针对每个帧组合两个预测信号时使用了向上舍入还是向下舍入来去除或减小。备选地,舍入误差可以通过针对每个帧交替使用向上舍入和向下舍入来控制。例如,可以针对每个其它帧使用向上舍入,并且对应地,可以针对每个其它帧使用向下舍入。
[0025]在图9中图示了使用舍入对两个运动补偿预测块进行平均的示例。第一预测参考的采样值输入902到第一滤波器904,其中在滤波过程中使用运动向量参考的点附近的两个或更多全像素的值。舍入偏移可以加906到滤波值上。与舍入偏移相加的滤波值右移908χ比特,即除以2Χ以获得第一预测信号Ρ1。对于第二预测参考,执行如使用块912、914、916和918图示的相似运算以获得第二预测信号Ρ2。第一预测信号Pl和第二预测信号Ρ2例如通过对预测信号Ρ1、Ρ2求和来进行组合。舍入偏移可以与组合信号相加920,之后其结果右移y比特(即,除以2y)。如果舍入偏移是正的,则舍入可以是向上的,或者如果舍入偏移是负的,则舍入可以是向下的。舍入方向可以总是相同的,或者其可以例如对于每个帧不时地变化。可以在比特流中发信号通知舍入方向,以使得在解码过程中可以使用同一舍入方向。
[0026]然而,这些方法因为需要针对双向平均编写两个独立的代码分支而增加了些许复杂性。此外,对于舍入和截断的两种情况而言,编码器中的运动估计例程可能需要加倍。

【发明内容】

[0027]本发明介绍了一种方法,该方法使得能够减少双向和多向预测中的舍入误差的影响。根据本发明的一些实施例,在预测计算期间,预测信号保持在较高精度并且在两个或更多预测信号彼此组合之后降低该精度。
[0028]在一些示例实施例中,预测信号保持在较高精度直到该预测信号被组合以获得双向或多向预测信号。双向或多向预测信号的精度然后可以出于后处理的目的而被降档至适合的精度。因而,不需要在比特流中包括或者从比特流中读取舍入方向指示符。
[0029]根据本发明的第一方面,提供一种方法,该方法包括:
[0030]确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0031]确定块的类型;
[0032]如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则
[0033]确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置;
[0034]使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0035]使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;[0036]组合所述第一预测和所述第二预测以获得组合预测;以及
[0037]将所述组合预测的精度减小到所述第一精度。
[0038]根据本发明的第二方面,提供一种装置,该装置包括:
[0039]处理器;以及
[0040]存储器单元,操作地连接至处理器并且包括:
[0041]被配置为确定被编码在比特流中的视频表示的像素的块的计算机代码,所述像素的值具有第一精度;
[0042]被配置为确定块的类型的计算机代码;
[0043]计算机代码,被配置为如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则
[0044]确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置;
[0045]使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0046]使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0047]组合所述第一预测和所述第二预测以获得组合预测;以及
[0048]将所述组合预测的精度减小到所述第一精度。
[0049]根据本发明的第三方面,提供一种其上存储有供装置使用的代码的计算机可读存储介质,该代码当由处理器执行时使该装置执行:
[0050]确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0051]确定块的类型;
[0052]如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则
[0053]确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置;
[0054]使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0055]使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0056]组合所述第一预测和所述第二预测以获得组合预测;以及
[0057]将所述组合预测的精度减小到所述第一精度。
[0058]根据本发明的第四方面,提供至少一个处理器和至少一个存储器,所述至少一个存储器其上存储有代码,该代码当由所述至少一个处理器执行时,使装置执行:
[0059]确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0060]确定块的类型;
[0061]如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则
[0062]确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置;
[0063]使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0064]使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;[0065]组合所述第一预测和所述第二预测以获得组合预测;以及
[0066]将所述组合预测的精度减小到所述第一精度。
[0067]根据本发明的第五方面,提供一种装置,该装置包括:
[0068]输入,用于确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0069]确定器,用于确定块的类型;其中如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则所述确定器进一步用于确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置;
[0070]第一预测器,用于使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0071]第二预测器,用于使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0072]组合器,用于组合所述第一预测和所述第二预测以获得组合预测;以及
[0073]移位器,用于将所述组合预测的精度减小到所述第一精度。
[0074]根据本发明的第六方面,提供一种装置,该装置包括:
[0075]用于确定被编码在比特流中的视频表示的像素的块的装置,所述像素的值具有第一精度;
[0076]用于确定块的类型的装置;
[0077]用于如果该确定表明该块是通过使用两个或更多参考块而被预测的块则确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置的装置;
[0078]用于使用所述第一参考像素位置来获得第一预测的装置,所述第一预测具有高于所述第一精度的第二精度;
[0079]用于使用所述第二参考像素位置来获得第二预测的装置,所述第二预测具有高于所述第一精度的第二精度;
[0080]用于组合所述第一预测和所述第二预测以获得组合预测的装置;以及[0081 ] 用于将所述组合预测的精度减小到所述第一精度的装置。
[0082]本发明去除了发信号通知舍入偏移或者使用用于针对不同帧的舍入的不同方法的需要。本发明可以在插值后将每个预测的运动补偿预测信号尽可能保持在最高精度,并且在两个预测信号相加后执行对视频信号的比特深度范围的舍入。
【专利附图】

【附图说明】
[0083]为了更好地理解本发明,现在将通过示例参考附图,其中:
[0084]图I原理性地示出了使用本发明的一些实施例的电子设备;
[0085]图2原理性地示出了适合于使用本发明的一些实施例的用户设备;
[0086]图3进一步原理性地示出了使用无线和有线网络连接进行连接的使用本发明的实施例的电子设备;
[0087]图4a原理性地示出了如编码器内所包含的本发明的实施例;
[0088]图4b原理性地示出了根据本发明的一些实施例的帧间预测器的实施例;
[0089]图5示出了示出关于如图4a中所示的编码器的本发明的实施例的操作的流程图;
[0090]图6示出了根据本发明的一些实施例的解码器的原理图;
[0091]图7示出了示出关于图6中所示的解码器的本发明的实施例的操作的流程图;
[0092]图8图示了视频序列中预测结构的示例;
[0093]图9描述了图像的比特流的示例;
[0094]图10描述了使用舍入的双向预测的示例;
[0095]图11描述了根据本发明的示例实施例的双向预测的示例;以及
[0096]图12图示了针对运动向量的ー些可能的预测方向的示例。
【具体实施方式】
[0097]下面进ー步详细描述在ー些实施例中用于提供即将在视频编码系统中传送的信息和更优的代码字映射的合适的装置和可能的机制。在这方面,首先參考图1,其示出了示例装置或电子设备50 (其可以包含根据本发明的实施例的编解码器)的原理框图。
[0098]电子设备50例如可以是无线通信系统的移动终端或用户设备。然而,应当认识至IJ,本发明的实施例可以在任何可能需要编码和解码或者编码或解码视频图像的电子设备或装置内实现。
[0099]装置50可以包括用于包含和保护设备的外壳30。装置50还可以包括具有液晶显示器的形式的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或视频的任何合适的显示技木。装置50还可以包括小键盘34。在本发明的其它实施例中,可以使用任何合适的数据或用户接ロ机制。例如,用户接ロ可以实现为作为触敏显示器的一部分的虚拟键盘或数据输入系统。该装置可以包括麦克风36或可以是数字或模拟信号输入的任何合适的音频输入。装置50还可以包括音频输出设备,其在本发明的实施例中可以是以下各项中的任何ー项:耳机38、扬声器或者模拟音频或数字音频输出连接。装置50还可以包括电池40(或者在本发明的其它实施例中,该设备可以由任何合适的移动能量设备供电,例如太阳能电池、燃料电池或发条(clockwork)发电机)。该装置可以进一歩包括用于到其他设备的短距离视距通信的红外端ロ 42。在其他实施例中,装置50可以进一歩包括任何合适的短距离通信解决方案(例如蓝牙无线连接或USB/火线有线连接)。
[0100]装置50可以包括用于控制装置50的控制器56或处理器。控制器56可以连接到存储器58(其在本发明的实施例中可以存储图像形式的数据和音频数据以及/或者还可以存储用于在控制器56上实现的指令)。控制器56可以进ー步被连接到编解码器电路54,该编解码器电路适合于执行音频和/或视频数据的编码和解码或者协助由控制器56执行的编码和解码。
[0101]装置50可以进一歩包括读卡器48和智能卡46,例如用于提供用户信息和适于提供用于网络上的用户的认证和授权的认证信息的ncc和ncc读卡器。
[0102]装置50可以包括连接到控制器并且适于生成例如用干与蜂窝通信网络、无线通信系统或无线局域网通信的无线通信信号的无线电接ロ电路52。装置50可以进一歩包括天线44,该天线连接到无线电接ロ电路52以用于向其他(多个)装置传送在无线电接ロ电路52产生的射频信号以及用于接收来自其他(多个)装置的射频信号。
[0103]在本发明的一些实施例中,装置50包括能够记录或检测单个帧的相机,该单个帧然后被传递到编解码器54或控制器用于处理。在本发明的一些实施例中,该装置可以在传送和/或存储之前从另一设备接收用于处理的视频图像数据。在本发明的一些实施例中,装置50可以无线地或通过有线连接接收用于编码/解码的图像。
[0104]就图3而言,示出了一种系统的示例,可以在该系统内利用本发明的实施例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络(包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA网络等)、诸如由IEEE802. x标准中的任何标准所定义的无线局域网(WLAN)、蓝牙个人局域网、以太局域网、令牌环局域网、广域网和互联网)的任何组合。
[0105]系统10可以包括适于实现本发明的实施例的有线和无线通信设备或装置50。
[0106]例如,图3中所示的系统示出了移动电话网络11和互联网28的表示。到互联网28的连接可以包括但不限于远程无线连接、近程无线连接以及包括但不限于电话线路、电缆线路、电力线路和类似通信通路的各种有线连接。
[0107]系统10中所示的示例通讯设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)和移动电话的组合14、PDA16、集成通讯设备(MD) 18、台式计算机20、笔记本计算机22。装置50可以是静止的或者当由正在移动的个人携带时是移动的。装置50还可以位于一种运输方式(包括但不限于汽车、卡车、出租车、公共汽车、火车、轮船、飞机、自行车、摩托车或任何类似的合适的运输方式)中。
[0108]一些或进一步的装置可以发送和接收电话和信息并且通过到基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器允许移动电话网络11和互联网28之间的通信。该系统可以包括附加的通信设备和各种类型的通信设备。
[0109]通信设备可以使用各种传输技术(包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动通信系统(UMTS )、时分多址(TDMA )、频分多址(FDMA )、传输控制协议-互联网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(丽S)、电子邮件、即时消息服务(MS)、蓝牙、IEEE802. 11和任何类似的无线通信技术)进行通信。在实现本发明的各种实施例中所涉及的通信设备可以使用各种媒介(包括但不限于无线电、红外线、激光、电缆连接,以及任何适合的连接)进行通信。
[0110]各种实施例可以扩展常规的两级子像素插值算法(诸如H. 264/AVC视频编码标准中所使用的算法)而不必增加解码器的复杂性。这里应当指出的是,图11仅图示了最邻近像素的示例块的一些全像素值,但是在插值中,也可能使用位于距离考虑中的块较远位置的全像素值。而且,本发明并非仅限于使用一维插值来实现,还可以使用更复杂的插值或滤波来获得分数像素采样。
[0111]应当指出的是,可以通过和/或结合除H. 264/AVC视频编码标准之外的其它视频编码标准来实现各种实施例。
[0112]就图4a而言,示出了适于执行本发明的实施例的视频编码器的框图。而且,就图5而言,作为流程图示出了例示本发明尤其关于利用预测信号的较高精度计算的实施例的编码器的操作。
[0113]图4a将编码器示为包括像素预测器302、预测误差编码器303和预测误差解码器304。图4a还将像素预测器302的实施例示为包括帧间预测器306、帧内预测器308、模式选择器310、滤波器316和参考帧存储器318。模式选择器310包括块处理器381和代价评估器382。图4b还描述了包括块选择器360和运动向量定义器361的帧间预测器306的实施例,其可以例如在预测处理器362中实现。帧间预测器306还可以访问参数存储器404。模式选择器310还可以包括量化器384。
[0114]像素预测器302在帧间预测器306 (其确定图像和运动补偿参考帧318之间的差)和帧内预测器308 (其仅基于当前帧或图像的已经处理的部分确定对于图像块的预测)接收即将被编码的图像300。帧间预测器和帧内预测器两者的输出被传递到模式选择器310。帧内预测器308可以具有多于一种的帧内预测模式。因此,每种模式可以执行帧内预测并且向模式选择器310提供预测信号。模式选择器310还接收图像300的拷贝。
[0115]块处理器381确定使用哪种编码模式来对当前块进行编码。如果块处理器381决定使用帧间预测模式,则其将向模式选择器310的输出传递帧间预测器306的输出。如果块处理器381决定使用帧内预测模式,则其将向模式选择器310的输出传递帧内预测器模式之一的输出。
[0116]根据一些示例实施例,像素预测器302以如下方式操作。帧间预测器306和帧内预测模式308执行当前块的预测以获得当前块的预测像素值。预测器306和帧内预测模式308可以向块处理器381提供当前块的预测像素值以用于分析选择哪种预测。除当前块的预测值之外,在一些实施例中,处理器381可以从帧内预测模式接收定向的帧内预测模式的指示。
[0117]块处理器381检查选择了帧间预测模式还是帧内预测模式。块处理器381可以使用诸如式(I)之类的代价函数或一些其它方法来分析哪种编码方法就某一或某些准则而言给出了最有效的结果。所选择的准则可以包括编码效率、处理代价和/或一些其它准则。块处理器381可以检查针对每个方向性(S卩,对于每个帧内预测模式和帧间预测模式)的预测,并且计算每个帧内预测模式和帧间预测模式的代价值,或者块处理器381在预测模式的选择中可以仅检查所有可用预测模式的子集。
[0118]在一些实施例中,帧间预测器306以如下方式操作。块选择器360接收即将被编码的当前块(图5中的块504)并且检查先前编码图像是否包含可以用作当前块的参考的块(块505)。如果从参考帧存储器318找到了这样的块,则运动估计器365可以确定是否可以通过使用一个或两个(或更多)参考块来预测当前块(即,当前块可能是单预测块还是双预测块)(块506)。如果运动估计器365已经确定使用单预测,则运动估计器365可以向运动向量定义器361指示参考块。如果运动估计器365已经选择使用双预测,则运动估计器365可以向运动向量定义器361指示两个参考块(或者所有选择的参考块,如果已经选择了多于两个的参考块的话)。运动向量定义器361利用参考块信息并且定义运动向量(块507)以指示当前块与(多个)参考块的像素之间的对应关系。
[0119]在一些实施例中,帧间预测器306计算单向预测和双向预测这两者的代价值并且然后可以选择与当前块一起使用哪种预测。
[0120]在一些实施例中,运动向量可以指向全像素采样或者分数像素采样(即半像素、四分之一像素或八分之一像素)。运动向量定义器361可以检查当前块的类型以确定该块是双预测块还是另一种块(块508)。该类型可以通过块类型指示366来确定。该块类型指示可以由块选择器360或编码器的另一元件来提供。如果块的类型是双预测块,则由运动向量定义器361定义两个(或更多)运动向量(块509)。否则,如果块是单预测块,则将定义一个运动向量(块510)。
[0121 ] 在计算运动向量之前确定块的类型也是可能的。
[0122]运动向量定义器361向块处理器381提供运动向量信息,该块处理器使用该信息获得预测信号。
[0123]当已经就帧内预测模式并且可能就帧间预测模式计算了代价时,块处理器381选择一个帧内预测模式或帧间预测模式以用于对当前块进行编码。
[0124]当选择帧间预测模式时,预测像素值或者由可选的量化器384量化的预测像素值被作为模式选择器的输出来提供。
[0125]模式选择器的输出被传递到第一求和设备321。第一求和设备可以从图像300减去像素预测器302的输出以产生第一预测误差信号320,该第一预测误差信号输入到预测误差编码器303。
[0126]像素预测器302进一步从预重构器339接收图像块312的预测表示和预测误差解码器304的输出338的组合。预重构图像314可以被传递到帧内预测器308和滤波器316。接收预表示的滤波器316可以对该预表示进行滤波并且输出最终重构图像340,该最终重构图像可以存储在参考帧存储器318中。参考帧存储器318可以连接到帧间预测器306以用作参考图像,今后的图像300在帧间预测操作中与其进行比较。
[0127]像素预测器302的操作可以被配置为执行本领域已知的任何已知的像素预测算法。
[0128]像素预测器302还可以包括滤波器385以在从像素预测器302输出预测值之前对其进行滤波。
[0129]预测误差编码器303和预测误差解码器304的操作将在下文进一步详细地描述。在下面的示例中,编码器生成16X16像素宏块形式的图像,这些图像将形成完整的图像。因此,对于下面的示例,像素预测器302输出一系列具有16 X 16像素的尺寸的预测宏块,并且第一求和设备321输出一系列16X 16像素的残差数据宏块,其可以表不图像300中的第一宏块与预测宏块(像素预测器302的输出)之间的差异。应当认识到,可以使用其它尺寸的宏块。
[0130]预测误差编码器303包括变换块342和量化器344。变换块342将第一预测误差信号320变换到变换域。该变换例如是DCT变换。量化器344对变换域信号(例如DCT系数)进行量化,以形成量化系数。
[0131]熵编码器330接收预测误差编码器的输出并且可以对信号执行适当的熵编码/可变长度编码以提供误差检测和校正能力。可以使用任何适当的熵编码算法。
[0132]预测误差解码器304接收来自预测误差编码器303的输出并且执行预测误差编码器303的相反过程以产生解码预测误差信号338,其当在第二求和设备339与图像块312的预测表示组合时产生预重构图像314。预测误差解码器可以被认为包括解量化器346 (其解量化量化系数值,例如DCT系数,以重构变换信号)和逆变换块348 (其执行对重构变换信号的逆变换,其中逆变换块348的输出包含(多个)重构块)。预测误差解码器还可以包括宏块滤波器(未示出),其可以根据进一步的解码信息和滤波器参数对重构宏块进行滤波。
[0133]就图5而言,进一步详细地示出模式选择器310的操作和实现。基于来自帧间预测器306的输出、帧内预测器308的输出的预测信号和/或图像信号300,块处理器381确定使用哪种编码模式来对当前图像块进行编码。该选择被描述为图5中的块500。块处理器381可以计算被输入到模式选择器310的预测信号的率失真代价(RD)值或另一代价值,并且选择这样的编码模式503、504,其确定的代价是最小的。
[0134]模式选择器310提供当前块的编码的指示(501)。该指示可以被编码并且插入到比特流或者与图像信息一起存储进存储器。
[0135]如果选择了帧内预测模式,通过帧内预测方法预测该块(503)。分别地,如果选择了帧间预测模式,通过帧间预测方法预测该块(504-510)。
[0136]在图11中作为框图图示了当选择帧间预测模式并且块的类型是双预测块时模式选择器的操作的示例。由运动向量定义器361提供的运动向量信息包含第一參考块和第二參考块的指示。在多预测应用中,运动向量信息可以包含多于两个參考块的指示。块处理器381使用运动向量信息来确定哪个块被用作当前块的第一參考块以及哪个块被用作当前块的第二參考块。块处理器381然后使用第一參考块的一些像素值来获得第一预测值并且使用第二參考块的一些像素值来获得第二预测值。例如,如果第一运动向量指向由图12的示例中的方块b所图示的部分像素(子像素),则块处理器381可以使用例如同一排上除所述部分像素之外的若干全像素的像素值来获得參考像素值。块处理器381可以例如使用诸如六抽头滤波器之类的P抽头滤波器,其中參考块的P个像素值用来计算预测值。在图12的示例中,这些像素值可以是像素E、F、G、H、I和J。滤波器的抽头可以例如是整数值。这样的六抽头滤波器的示例是[1-52020-51]/32。因此,滤波器1102将接收1101像素E、F、G、
H、I和J的像素值并且通过式Pl= ^「5^,20*6,20*4-5*1,1)对这些值进行滤波,其中E1是第一參考块中的像素E的值,F1是第一參考块中的像素F的值,G1是第一參考块中的像素G的值,H1是第一參考块中的像素H的值,I1是第一參考块中的像素I的值,以及J1是第一參考块中的像素J的值。在第一舍入偏移插入块1103中,第一舍入偏移可以加到值Pl(即,Pl+舍入偏移)。然后,可 以由第一移位块1104向右对该和进行移位,以使得该和的精度变为M比持。精度M高于期望的预测值的精度。例如,像素值和预测值可以由N比特来表示,其中M > N。在ー些示例实现中,N为8比特且M为16比特,但是,很明显,还可以与本发明一起使用其它比特长度。
[0137]类似地由第二滤波器1106可以获得第二预测,该第二滤波器接收1105第二參考块的ー些像素值。这些像素值基于第二运动向量来确定。第二运动向量可以指向第二參考块中第一运动向量在第一參考块中(使用以上像素是子像素b的示例)所指向的同一像素(或一分数像素),或者指向第二參考块中的另ー全像素或子像素。第二滤波器1106使用与第一滤波器1102相似的滤波器并且输出第二滤波结果P2。根据以上滤波器是六抽头滤波器[1-52020-51]/32 的示例,其中 P2= (E2_5*F2+20*G2+20*H2_5*I2+J2),其中 E2 是第二參考块中的像素E的值,F2是第二參考块中的像素F的值,G2是第二參考块中的像素G的值,H2是第二參考块中的像素H的值,I2是第二參考块中的像素I的值,以及J2是第二參考块中的像素J的值。在第二舍入偏移插入块1107中,第一舍入偏移可以加到值P2 (即,P2+舍入偏移)。然后,可以由第二移位块1108向右对该和进行移位,以使得该和的精度变为M比特。
[0138]在组合块1109中,两个预测值Pl、P2例如通过求和进行组合,并且该组合值在第三舍入值插入块1110与第二舍入值相加。例如通过在第三移位块1111中将结果的比特向右移位y次来把该结果转换为较小精度。这与将结果除以2y相对应。转换之后,预测信号的精度与输入像素值的精度相对应。然而,中间结果处于较高精度,其中与诸如图10中所图示的方法之类的现有方法相比,可能的舍入误差对于预测信号具有较小的影响。
[0139]在备选实施例中,舍入偏移不是分别加到第一滤波器1102和第二滤波器1106的结果上,而是在对组合块1110中的结果进行组合之后。在这种情况下,舍入偏移的值是第一舍入偏移的值的两倍,因为在图11的实施例中,第一舍入偏移实际上被加了两次,一次到P1,一次到P2。
[0140]在还有一些实施例中,当存储滤波结果的寄存器的精度足够时,不需要第一移位块1105和第二移位块1109而不降低滤波结果的精度。在该情况下,第三移位块可能需要将预测结果向右移动多于I比特,以使得右移的值P具有与输入像素值相同的预测,例如8比特。
[0141]在某个其它示例中,实施例可以部分地不同于上文。例如,如果预测方向之一的运动向量指向整数采样,则具有整数精度的预测采样的比特深度可以通过将采样向左移位来增加,以使得可以使用具有相同精度的值来执行滤波。
[0142]预测方向中的每个方向的采样可以在中间步骤舍入到仍然大于输入比特深度的比特深度以确保所有中间值适应具有一定长度的寄存器(例如16比特寄存器)。例如,考虑以上相同示例但是使用滤波器抽头:{3,-17,78,78,-17,3}。则获得如下的Pl和P2 :
[0143]Pl= (3E「17*F1+78*G1+78*H1-17*I1+3J1) ?1
[0144]P2= (3E2-17*F2+78*G2+78*H2-17*I2+3J2) ?1
[0145]双向预测信号然后可以使用下式获得:
[0146]P= (P1+P2+32) ?6。
[0147]当运动向量指向两个全像素之间(即,指向部分像素)时,可以以若干方式获得该参考像素值的值。以上公开了一些可能性,但是下面将参考图12提供一些进一步的非限制性示例。
[0148]如果运动向量指向标有j的块,则通过使用除j以外的相同对角线上的全像素值或者通过两阶段过程(其中例如块j周围的排的像素值用来计算一组中间结果,然后可以对这些中间结果进行滤波以获得参考像素值)可以获得对应的参考像素值。在示例实施例中,全像素值A和B可以用来计算用于表示分数像素值aa的第一中间结果,全像素值C和D可以用来计算用于表示分数像素值bb的第二中间结果,并且全像素值E到J可以用来计算用于表示分数像素值b的第三中间结果。类似地,可以基于全像素值K到Q ;R,S ;以及T,U来计算用于表示分数像素值s、gg、hh的第四中间值、第五中间值和第六中间值。这些中间结果然后可以通过例如六抽头滤波器进行滤波。
[0149]由上述操作获得的预测信号P不需要提供给解码器,但是编码器使用该信息来获得预测块和预测误差。预测误差可以提供给解码器,以使得解码器可以使用相应的操作通过预测来获得预测块并且基于预测误差来校正预测结果。编码器还可以向解码器提供运动向量信息。
[0150]在示例实施例中,如图9中所描述的,图像的比特流包括图像开始的指示910、图像的每个块的图像信息920、图像结束的指示930。图像的每个块的图像信息920可以包括块类型指示符932和运动向量信息933。显而易见,比特流还可以包括其它信息。进一步地,这仅是比特流的简化图像,并且在实际实现中,比特流的内容可以不同于图9中所描述的那样。
[0151]比特流可以进一步由熵编码器330进行编码。
[0152]尽管已经关于宏块的尺寸是16X16像素对以上实施例进行了描述,但是应当认识到,所描述的方法和装置可以被配置为处理具有不同像素尺寸的宏块。
[0153]在下文中,参考图6更详细地描述了解码器600的示例实施例的操作。
[0154]在解码器侧,执行相似操作以重构图像块。图6示出了适于使用本发明的实施例的视频解码器的框图,并且图7示出了在该视频解码器中的一种方法的示例的流程图。该解码器示出了对接收的信号执行熵解码的熵解码器600。熵解码器因此对上述编码器的熵编码器330执行逆操作。熵解码器600向预测误差解码器602和像素预测器604输出熵解码的结果。
[0155]像素预测器604接收熵解码器600的输出。熵解码器600的输出可以包括对于在编码当前块中使用的预测模式的指示。像素预测器604内的预测器选择器614确定帧内预测、帧间预测或插值运算即将被执行。预测器选择器此外可以向第一组合器613输出图像块616的预测表示。图像块616的预测表示与重构预测误差信号612结合使用以生成预重构图像618。预重构图像618可以在预测器614中使用或者可以被传递给滤波器620。滤波器620应用滤波,该滤波输出最终重构信号622。最终重构信号622可以存储在参考帧存储器624中,参考帧存储器624进一步被连接到预测器614以用于预测操作。
[0156]预测误差解码器602接收熵解码器600的输出。预测误差解码器602的解量化器692可以对熵解码器600的输出进行解量化,并且逆变换块693可以对由解量化器692输出的解量化信号执行逆变换操作。熵解码器600的输出还可以指示不应用预测误差信号,并且在这种情况下,预测误差解码器产生全零输出信号。
[0157]解码器选择用于重构的16X16像素残差宏块。在步骤700示出用于被重构的16X16像素残差宏块的选择。
[0158]解码器接收关于在对当前块进行编码时所使用的编码模式的信息。该指示必要时被解码,并且被提供给预测选择器614的重构处理器691。重构处理器691检查该指示(图7中的块701),并且如果该指示表明使用帧内预测对块进行编码,则选择帧内预测模式之一(块703),或者如果该指示表明使用帧间预测对块进行编码,则选择帧间预测模式(块704-块 711)。
[0159]如果已经使用帧间预测对当前块进行编码,则像素预测器604可以以如下方式操作。像素预测器604接收运动向量信息(块704)。像素预测器604还接收(块705)块类型信息并且检查该块是否为双预测块(块706)。如果块类型是双预测块,则像素预测器604检查运动向量信息以确定哪些参考巾贞和参考巾贞中的哪个参考块被用于构建运动向量信息。重构处理器691计算运动向量(709)并且使用运动向量指向的参考块的(部分)像素的值来获得运动补偿预测(710),并且将预测误差与该值进行组合以获得当前块的像素的重构值(块711)。
[0160]如果块类型是单预测块,则像素预测器604检查运动向量信息以确定哪个参考帧和参考帧中的哪个参考块被用于构建运动向量信息。重构处理器691计算运动向量(707)并且使用运动向量指向的参考块的(部分)像素的值来获得运动补偿预测(708),并且将预测误差与该值进行组合以获得当前块的像素的重构值(块711)。
[0161]当运动向量不指向參考块中的全像素采样时,重构处理器691使用例如单向插值或P抽头滤波(例如六抽头滤波)进行计算以获得分数像素的值。基本上,可以以与编码器相同的方式来执行操作,即,在滤波期间保持较高的精度值,直到在最終的舍入操作中精度可以下降到输入像素的精度。因此,可能的舍入误差对预测值的影响可能不如已知方法中的那么大。
[0162]可以对当前块的每个像素重复上述过程以获得用于当前块的所有重构像素值。
[0163]在一些实施例中,重构处理器691使用插值器694来执行分数像素值的计算。
[0164]在一些实施例中,重构处理器691向预测器695提供分数像素值,该预测器将分数像素值与预测误差进行组合以获得当前块的像素的重构值。
[0165]在一些实施例中,还可以通过使用全像素值、半像素值和/或四分之一像素值来执行插值,上述像素值可以被存储进參考帧存储器。例如,编码器或解码器可以包括參考帧存储器,其中可以存储全像素采样、半像素值和四分之一像素值。
[0166]此外,在一些实施例中,块的类型还可以是多预测块,其中块的预测可以基于多于两个的參考块。
[0167]上述本发明的实施例依据单独的编码器和解码器装置描述了编解码器,以便帮助理解所涉及的过程。然而,应当认识到,装置、结构和操作可以实现为单个编码器-解码器装置/结构/操作。此外,在本发明的一些实施例中,编码器和解码器可以共享ー些或所有共用元件。
[0168]虽然以上示例描述了在电子设备内的编解码器内操作的本发明的实施例,但是应当认识到,如下所述的发明可以实现为任何视频编解码器的一部分。因此,例如,本发明的实施例可以在视频编解码器中实现,该视频编解码器可以通过固定或有线通信路径实现视频编码。
[0169]因此,用户设备可以包括诸如本发明的以上实施例中所描述的视频编解码器之类的视频编解码器。
[0170]应当认识到,术语“用户设备” g在涵盖任何合适类型的无线用户设备,诸如移动电话、便携式数据处理设备或便携式网页浏览器。
[0171]此外,公共陆地移动网络(PLMN)的元件还可以包括如上所述的视频编解码器。
[0172]一般来说,本发明的各个实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。例如,ー些方面可以以硬件来实现,而其他方面可以以固件或软件来实现,该固件或软件可以由控制器、微处理器或其他计算设备来执行,虽然本发明并不限于此。虽然本发明的各个方面可以作为框图、流程图或者使用某个其他图形表示来进行图示和描述,但是容易理解的是,作为非限制性示例,本文所述的这些块、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或者其某ー组合来实现。
[0173]本发明的实施例可以通过可由移动设备的数据处理器执行的计算机软件(诸如在处理器的实体中),或者通过硬件,或者通过软件和硬件的组合来实现。进ー步地,在这方面,应当指出的是,如附图中的任何逻辑流程的块可以表示程序步骤,或者相互连接的逻辑电路、块和函数,或者程序步骤与逻辑电路、块和函数的组合。该软件可以存储在如存储器芯片、或者在处理器内实现的存储器块、诸如硬盘或软盘之类的磁介质以及诸如DVD及其数据变体(⑶)之类的光介质等这些物理介质上。
[0174]存储器可以是适合于当地技术环境的任何类型并且可以使用任何合适的数据存储技术(诸如基于半导体的存储器设备、磁存储器设备和系统、光存储器设备和系统、固定存储器和可移动存储器)来实现。数据处理器可以是适合于当地技术环境的任何类型,并且作为非限制性示例,可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个。
[0175]本发明的实施例可以以各种组件(诸如集成电路模块)来实践。集成电路的设计总的来说是高度自动化的过程。复杂和强大的软件工具可用于将逻辑电平设计转换为准备好蚀刻和形成在半导体衬底上的半导体电路设计。
[0176]程序(诸如由Mountain View, California 的 Synopsys, Inc.和 San Jose,California的Cadence Design提供的那些程序)使用建立好的设计规则和预先存储的设计模块库在半导体芯片上自动地对导体进行布线和对组件进行定位。一旦完成半导体电路的设计,具有标准化电子格式(例如Opus、GDSII等)的结果设计可以被传送到半导体制造设施或“晶圆厂”以用于制造。
[0177]前述描述已经通过示例性和非限制性示例提供了本发明的示例实施例的完整而翔实的描述。然而,当结合附图和所附权利要求阅读时,鉴于前述描述,各种修改和适应对于相关领域技术人员而言可以变得显而易见。然而,本发明的教导的所有这些和类似修改仍将落入本发明的范围内。
[0178]—种根据第一实施例的方法,包括:
[0179]确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0180]确定块的类型;
[0181]如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则
[0182]确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置;
[0183]使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0184]使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0185]组合所述第一预测和所述第二预测以获得组合预测;以及
[0186]将所述组合预测的精度减小到所述第一精度。
[0187]在根据第一实施例的一些方法中,第一舍入偏移被插入到所述第一预测和所述第
二预测。
[0188]在根据第一实施例的一些方法中,所述第一预测和所述第二预测的精度在加上所述第一舍入偏移后降低到中间预测,所述中间预测高于所述第一精度。
[0189]在根据第一实施例的一些方法中,第二舍入偏移在所述减小之前被插入到组合预测。
[0190]在根据第一实施例的一些方法中,块的所述类型是双向块。
[0191]在根据第一实施例的一些方法中,块的所述类型是多向块。
[0192]在根据第一实施例的一些方法中,第一舍入偏移是2y,并且所述减小包括将组合预测右移y+1个比特。
[0193]在根据第一实施例的一些方法中,第一精度是8比特。
[0194]在根据第一实施例的一些方法中,y的值是5。
[0195]在根据第一实施例的一些方法中,通过对所述参考块的像素值进行滤波来获得所述第一预测和所述第二预测。
[0196]在根据第一实施例的一些方法中,由P抽头滤波器来执行滤波。
[0197]一种根据第二实施例的装置,包括:
[0198]处理器;以及
[0199]存储器单元,操作地连接至处理器并且包括:
[0200]被配置为确定被编码在比特流中的视频表示的像素的块的计算机代码,所述像素的值具有第一精度;
[0201]被配置为确定块的类型的计算机代码;
[0202]计算机代码,被配置为如果该确定表明该块是通过使用两个或更多参考块而被预测的块,则
[0203]确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置;
[0204]使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0205]使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0206]组合所述第一预测和所述第二预测以获得组合预测;以及
[0207]将所述组合预测的精度减小到所述第一精度。
[0208]在根据第二实施例的一些装置中,计算机代码进一步被配置为将第一舍入偏移插入到所述第一预测和所述第二预测。
[0209]在根据第二实施例的一些装置中,计算机代码进一步被配置为在加上所述第一舍入偏移后将所述第一预测和所述第二预测的精度降低到中间预测,所述中间预测高于所述
第一精度。
[0210]在根据第二实施例的一些装置中,计算机代码进一步被配置为在所述减小之前将第二舍入偏移插入到组合预测。
[0211]在根据第二实施例的一些装置中,块的所述类型是双向块。
[0212]在根据第二实施例的一些装置中,块的所述类型是多向块。
[0213]在根据第二实施例的一些装置中,第一舍入偏移是2%并且所述减小包括将组合预测右移y+Ι个比特。
[0214]在根据第二实施例的一些装置中,第一精度是8比特。
[0215]在根据第二实施例的一些装置中,y的值是5。
[0216]在根据第二实施例的一些装置中,计算机代码进一步被配置为通过对所述参考块的像素值进行滤波来获得所述第一预测和所述第二预测。
[0217]在根据第二实施例的一些装置中,所述滤波包括P抽头滤波器。
[0218]根据第三实施例,提供一种其上存储有供装置使用的代码的计算机可读存储介质,该代码当由处理器执行时使该装置:[0219]确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0220]确定块的类型;
[0221]如果该确定表明该块是通过使用两个或更多參考块而被预测的块,则
[0222]确定第一參考块中的第一參考像素位置和第二參考块中的第二參考像素位置;
[0223]使用所述第一參考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0224]使用所述第二參考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0225]组合所述第一预测和所述第二预测以获得组合预测;以及
[0226]将所述组合预测的精度减小到所述第一精度。
[0227]根据第四实施例,提供至少ー个处理器和至少ー个存储器,所述至少一个存储器其上存储有代码,该代码当由所述至少一个处理器执行吋,使装置执行:
[0228]确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0229]确定块的类型;
[0230]如果该确定表明该块是通过使用两个或更多參考块而被预测的块,则
[0231]确定第一參考块中的第一參考像素位置和第二參考块中的第二參考像素位置;
[0232]使用所述第一參考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0233]使用所述第二參考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0234]组合所述第一预测和所述第二预测以获得组合预测;以及
[0235]将所述组合预测的精度减小到所述第一精度。
[0236]根据ー些示例实施例,该装置是编码器。
[0237]根据ー些示例实施例,该装置是解码器。
[0238]一种根据第五实施例的装置,包括:
[0239]输入,用于确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度;
[0240]确定器,用于确定块的类型;其中如果该确定表明该块是通过使用两个或更多參考块而被预测的块,则所述确定器进ー步用于确定第一參考块中的第一參考像素位置和第ニ參考块中的第二參考像素位置;
[0241]第一预测器,用于使用所述第一參考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;
[0242]第二预测器,用于使用所述第二參考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的第二精度;
[0243]组合器,用于组合所述第一预测和所述第二预测以获得组合预测;以及
[0244]移位器,用于将所述组合预测的精度减小到所述第一精度。
[0245]一种根据第六实施例的装置,包括:
[0246]用于确定被编码在比特流中的视频表示的像素的块的装置,所述像素的值具有第一精度;[0247]用于确定块的类型的装置;
[0248]用于如果该确定表明该块是通过使用两个或更多参考块而被预测的块则确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置的装置;
[0249]用于使用所述第一参考像素位置来获得第一预测的装置,所述第一预测具有高于所述第一精度的第二精度;
[0250]用于使用所述第二参考像素位置来获得第二预测的装置,所述第二预测具有高于所述第一精度的第二精度;
[0251]用于组合所述第一预测和所述第二预测以获得组合预测的装置;以及
[0252]用于将所述组合预测的精度减小到所述第一精度的装置。
【权利要求】
1.一种方法,包括: 确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度; 确定所述块的类型; 如果所述确定表明所述块是通过使用两个或更多参考块而被预测的块,则 确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置; 使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度; 使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的所述第二精度; 组合所述第一预测和所述第二预测以获得组合预测;以及 将所述组合预测的精度减小到所述第一精度。
2.根据权利要求1所述的方法,进一步包括: 将第一舍入偏移插入到所述第一预测和所述第二预测。
3.根据权利要求1或2所述的方法,进一步包括: 在加上所述第一舍入偏移后将所述第一预测和所述第二预测的精度降低到中间预测,所述中间预测高于所述第一精度。
4.根据权利要求1、2或3所述的方法,进一步包括: 在所述减小之前将第二舍入偏移插入到所述组合预测。
5.根据权利要求1至4中任一项所述的方法,其中所述块的所述类型是双向块。
6.根据权利要求1至4中任一项所述的方法,其中所述块的所述类型是多向块。
7.根据权利要求2所述的方法,其中所述第一舍入偏移是T,并且所述减小包括将所述组合预测右移y+1个比特。
8.根据权利要求1至7中任一项所述的方法,其中所述第一精度是8比特。
9.根据权利要求7中任一项所述的方法,其中I的值是5。
10.根据权利要求1至9中任一项所述的方法,进一步包括: 通过对所述参考块的像素值进行滤波来获得所述第一预测和所述第二预测。
11.根据权利要求10所述的方法,进一步包括: 由P抽头滤波器来执行所述滤波。
12.一种装置,包括: 处理器;以及 存储器单元,操作地连接至所述处理器并且包括: 被配置为确定被编码在比特流中的视频表示的像素的块的计算机代码,所述像素的值具有第一精度; 被配置为确定所述块的类型的计算机代码; 计算机代码,被配置为如果所述确定表明所述块是通过使用两个或更多参考块而被预测的块,则 确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置; 使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度;使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的所述第二精度; 组合所述第一预测和所述第二预测以获得组合预测;以及 将所述组合预测的精度减小到所述第一精度。
13.根据权利要求12所述的装置,其中计算机代码进一步被配置为: 将第一舍入偏移插入到所述第一预测和所述第二预测。
14.根据权利要求12或13所述的装置,其中计算机代码进一步被配置为: 在加上所述第一舍入偏移后将所述第一预测和所述第二预测的精度降低到中间预测,所述中间预测高于所述第一精度。
15.根据权利要求12、13或14所述的装置,其中计算机代码进一步被配置为: 在所述减小之前将第二舍入偏移插入到所述组合预测。
16.根据权利要求12至15中任一项所述的装置,其中所述块的所述类型是双向块。
17.根据权利要求12至15中任一项所述的装置,其中所述块的所述类型是多向块。
18.根据权利要求13所述的装置,其中所述第一舍入偏移是2y,并且所述减小包括将所述组合预测右移y+Ι个比特。
19.根据权利要求12至18中任一项所述的装置,其中所述第一精度是8比特。
20.根据权利要求18中任一项所述的装置,其中y的值是5。
21.根据权利要求12至20中任一项所述的装置,其中计算机代码进一步被配置为: 通过对所述参考块的像素值进行滤波来获得所述第一预测和所述第二预测。
22.根据权利要求21所述的装置,其中所述滤波包括P抽头滤波器。
23.一种其上存储有供装置使用的代码的计算机可读存储介质,所述代码当由处理器执行时使所述装置: 确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度; 确定所述块的类型; 如果所述确定表明所述块是通过使用两个或更多参考块而被预测的块,则 确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置; 使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度; 使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的所述第二精度; 组合所述第一预测和所述第二预测以获得组合预测;以及 将所述组合预测的精度减小到所述第一精度。
24.至少一个处理器和至少一个存储器,所述至少一个存储器其上存储有代码,所述代码当由所述至少一个处理器执行时,使装置执行: 确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度; 确定所述块的类型; 如果所述确定表明所述块是通过使用两个或更多参考块而被预测的块,则 确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置; 使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度; 使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的所述第二精度; 组合所述第一预测和所述第二预测以获得组合预测;以及 将所述组合预测的精度减小到所述第一精度。
25.一种装置,包括: 输入,用于确定被编码在比特流中的视频表示的像素的块,所述像素的值具有第一精度; 确定器,用于确定所述块的类型;其中如果所述确定表明所述块是通过使用两个或更多参考块而被预测的块,则所述确定器进一步用于确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置; 第一预测器,用于使用所述第一参考像素位置来获得第一预测,所述第一预测具有高于所述第一精度的第二精度; 第二预测器,用于使用所述第二参考像素位置来获得第二预测,所述第二预测具有高于所述第一精度的所述第二精度; 组合器,用于组合所述第一预测和所述第二预测以获得组合预测;以及 移位器,用于将所述组合预测的精度减小到所述第一精度。
26.一种装置,包括: 用于确定被编码在比特流中的视频表示的像素的块的装置,所述像素的值具有第一精度; 用于确定所述块的类型的装置; 用于如果所述确定表明所述块是通过使用两个或更多参考块而被预测的块则确定第一参考块中的第一参考像素位置和第二参考块中的第二参考像素位置的装置; 用于使用所述第一参考像素位置来获得第一预测的装置,所述第一预测具有高于所述第一精度的第二精度; 用于使用所述第二参考像素位置来获得第二预测的装置,所述第二预测具有高于所述第一精度的所述第二精度; 用于组合所述第一预测和所述第二预测以获得组合预测的装置;以及 用于将所述组合预测的精度减小到所述第一精度的装置。
【文档编号】H04N19/42GK103503458SQ201280009695
【公开日】2014年1月8日 申请日期:2012年1月6日 优先权日:2011年1月7日
【发明者】K·雨居尔, J·莱内玛, A·O·哈拉普罗 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1