使用自适应运动向量分辨率的视频译码的制作方法

文档序号:7990890阅读:230来源:国知局
使用自适应运动向量分辨率的视频译码的制作方法
【专利摘要】在一个实例中,一种视频译码装置包含视频译码器,所述视频译码器经配置以:对表示视频数据的当前块的运动向量差值的x分量的绝对值是否大于零的信息进行译码;对表示所述运动向量差值的y分量的绝对值是否大于零的信息进行译码;在所述x分量的所述绝对值大于零时,对表示所述x分量的所述绝对值的信息进行译码;在所述y分量的所述绝对值大于零时,对表示所述y分量的所述绝对值的信息进行译码;在所述x分量的所述绝对值大于零时,对所述x分量的正负号进行译码;以及在所述y分量的所述绝对值大于零时,对所述y分量的正负号进行译码。
【专利说明】使用自适应运动向量分辨率的视频译码
[0001]本申请案主张2011年7月I日申请的第61/504,150号美国临时申请案以及2011年11月I日申请的第61/554,398号美国临时申请案的权益,所述申请案中的每一者的全部内容以引用的方式并入本文中。
【技术领域】
[0002]本发明涉及视频译码,且更特定来说,涉及用于视频译码中的运动补偿的对视频数据的译码。
【背景技术】
[0003]数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频会议装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)界定的标准和所述标准的扩展部分中所描述的那些视频压缩技术,以更有效地发射和接收数字视频信息。
[0004]视频压缩技术执行空间预测和/或时间预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,可将一视频帧或切片分割成若干宏块。可进一步分割每一宏块。使用关于相邻宏块的空间预测来编码经帧内译码的(I)帧或切片中的宏块。经帧间译码的(P或B)帧或切片中的宏块可使用关于同一帧或切片中的相邻宏块的空间预测或关于其它参考帧的时间预测。

【发明内容】

[0005]一股来说,本发明提供用于对运动向量的X分量和y分量的运动向量差值进行联合译码的技术。对运动向量差值进行联合译码涉及一个过程,其中在译码过程期间(例如)通过内插X分量或I分量的值或者通过对表示运动向量差值的X分量和I分量的单个值进行译码,来共同译码或解码表示运动向量差值的X分量和I分量的信息。在一些实例中,表示运动向量差的X分量和I分量的信息可包含表示运动向量差的X分量和/或I分量是否大于零的信息,以及表示运动向量差值的X分量和/或I分量的正负号的信息。基于运动向量差值的X分量或I分量的量值是否大于零,可有条件地用信号通知某些信息,例如X分量和/或y分量的正负号和量值。本发明还提供用于用信号通知运动向量的精度的技术。运动向量可具有子像素精度,例如四分之一子像素精度或八分之一子像素精度。
[0006]在一个实例中,一种对视频数据进行译码的方法包含:对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码;对表示所述运动向量差值的I分量的绝对值是否大于零的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对表示所述运动向量差值的X分量的绝对值的信息进行译码;在所述运动向量差值的I分量的绝对值大于零时,对表示所述运动向量差值的I分量的绝对值的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对所述运动向量差值的X分量的正负号进行译码;以及在所述运动向量差值的y分量的绝对值大于零时,对所述运动向量差值的y分量的正负号进行译码。
[0007]在另一实例中,一种设备包含视频译码器,所述视频译码器经配置以:对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码;对表示所述运动向量差值的I分量的绝对值是否大于零的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对表示所述运动向量差值的X分量的绝对值的信息进行译码;在所述运动向量差值的?分量的绝对值大于零时,对表示所述运动向量差值的?分量的绝对值的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对所述运动向量差值的X分量的正负号进行译码;以及在所述运动向量差值的I分量的绝对值大于零时,对所述运动向量差值的y分量的正负号进行译码。
[0008]在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体具有存储于其上的指令,所述指令在被执行时致使用于对视频数据进行译码的装置的处理器:对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码;对表示所述运动向量差值的I分量的绝对值是否大于零的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对表示所述运动向量差值的X分量的绝对值的信息进行译码;在所述运动向量差值的y分量的绝对值大于零时,对表示所述运动向量差值的y分量的绝对值的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对所述运动向量差值的X分量的正负号进行译码;以及在所述运动向量差值的I分量的绝对值大于零时,对所述运动向量差值的I分量的正负号进行译码。
[0009]在另一实例中,一种装置包含用于对表示视频数据的当前块的运动向量是具有第一子像素精度还是第二子像素精度的值进行译码,其中所述第二子像素精度大于所述第一子像素精度,且在所述运动向量具有所述第二子像素精度时,在所述运动向量差值的X分量不等于零时,且在所述运动向量差值的I分量不等于零时,其中对表示运动向量差值的X分量的绝对值的信息进行译码以及对表示运动向量差值的y分量的绝对值的信息进行译码包括对表示运动向量差值的X分量和运动向量差值的y分量两者的经联合译码的值进行译码。
[0010]一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。
【专利附图】

【附图说明】
[0011]图1是说明与本发明的技术一致的视频编码和解码系统的一个实例的框图。
[0012]图2是说明与本发明的技术一致的视频编码器的一个实例的框图。
[0013]图3是说明与本发明的技术一致的视频解码器的一个实例的框图。
[0014]图4是说明用于对运动向量差值的X分量和y分量进行联合编码且对当前块进行熵译码的实例方法的流程图。
[0015]图5是说明根据HEVC测试模型3.0(HM3.0)单独地用信号通知运动向量差值的实例方法的流程图。
[0016]图6是说明用于对运动向量差值的X分量和y分量进行联合编码的实例方法的流程图。
[0017]图7是说明用于对运动向量差值的X分量和y分量进行联合编码且对运动向量差值的X分量和I分量的分辨率进行编码的实例方法的流程图。
[0018]图8是说明用于对运动向量差值的X分量和y分量进行联合解码且对经熵译码的数据进行解码以产生当前块的实例方法的流程图。
[0019]图9是说明用于对运动向量差值的X分量和y分量进行联合解码的实例方法的流程图。
【具体实施方式】
[0020]一股来说,本发明描述用于在视频译码期间对运动向量差值的数据进行译码的技术。视频数据包含快速连续播放以模拟运动的一连串帧(或图片)。可将视频数据的每一帧分割为若干块。在视频译码期间,且更具体来说在帧间预测期间,例如视频编码器或视频解码器等装置可预测块的像素值。视频编码器或解码器可将对块的预测基于来自另一帧的块的像素值或相邻块的像素值。
[0021]对于帧内预测,视频编码器可使用运动向量来指示参考块的移位。运动向量可具有X分量和I分量。运动向量的X分量和I分量可用子像素精度来指示移位,例如二分之一像素精度、四分之一像素精度或八分之一像素精度。为了实现子像素精度,视频编码器或解码器可使用例如内插等技术来确定在由运动向量指示的位置处的子像素值。在确定运动向量的X分量和I分量之后,视频编码器可相对于运动向量预测符来计算运动向量分量的运动向量差(MVD)值。
[0022]本发明一股提供用于对运动MVD值进行联合译码的技术。在本发明中,联合译码涉及若干译码技术,其中将与运动向量差值的X分量和y分量相关的信息进行交错,这与对与X分量或I分量中的一者相关的所有信息进行译码,之后对与运动向量差值的第二分量相关的任何信息进行译码相对。联合译码还可涉及使用一个值来表示X分量和y分量两者的值。另外,本发明还描述用于对可具有各种子像素精度(例如,四分之一像素精度或八分之一像素精度)的运动向量差进行译码以及指示运动向量差的精度和与运动向量相关联的运动向量的技术。
[0023]视频序列包含一个或一个以上帧或图片。可将所述图片中的每一者划分为一个或一个以上块,可对所述块中的每一者进行个别译码。正在努力制定新的编码标准,所述编码标准当前被称作高效率视频译码(HEVC),且有时被称作ITU H.265。这个即将出现的标准涉及作为包含亮度数据和色度数据的像素的特定块的译码单元(CU),其中亮度数据具有2NX 2N的分辨率,且色度数据具有NXN的分辨率。可将译码单元划分为四个同等大小的正方形非重叠子译码单元。
[0024]还可以此方式将子译码单元中的每一者划分为进一步的子译码单元。未被划分为子译码单元的译码单元被称作叶节点译码单元。叶节点译码单元可包含预测单元(PU)和变换单元(TU),其中表示预测数据,且TU表示残余数据,即,用于对应于TU的像素的预测数据与原始未经译码数据之间的经译码的逐像素的差。作为一实例,可使用帧间预测模式对PU进行译码,其中视频编码器可使用运动估计过程来计算的运动向量。视频编码器可进一步用信号通知PU的编码模式以及所计算的运动向量的运动向量差值,如本发明中所描述。
[0025]同样,视频解码器可使用指示经译码位流中所包含的预测模式的信息来形成经译码块的预测数据。所述数据可进一步包含运动向量的精度以及运动向量指向的分数像素位置的指示(例如,参考帧或参考切片的八分之一像素位置)。
[0026]例如视频编码器或视频解码器等视频译码装置可确定译码单元(例如帧、切片或块)的预测性运动向量。所述视频译码装置可使用预测性运动向量(还被称作运动向量预测符)的X分量和y分量来计算当前块的运动向量的运动向量差值。视频译码装置可实施本发明的技术对运动向量的可具有子像素精度的运动向量差值进行联合译码。
[0027]如上文所论述,用于形成预测性块的的预测数据可基于空间上相邻的CU或先前已被译码的时间上相邻的帧的CU的先前经译码数据。视频编码器可计算指示时间上单独的先前经译码帧中的对应CU的预测性块的位置的PU的运动向量。视频编码器可进一步计算运动向量的运动向量差值以编码运动向量。所述运动向量差值可一股对应于所计算的运动向量与运动向量预测符之间的差。当前块的运动向量可具有用于水平偏移的X分量(MV_x)和用于垂直偏移的y分量(MV_y)。运动向量预测符可具有x分量p_x和y分量p_I。随后,可将运动向量预测符确定为< MV_x_p_x, MV_y-p_y >。
[0028]本发明提供用于对运动向量差值的X分量和y分量进行联合译码的技术。在本发明中,联合译码可涉及其中将与运动向量差值的X分量和I分量相关的信息进行交错的译码技术。与运动向量差相关的信息可包含(作为一些实例)表示运动向量差的分量是否为零的值、表示X分量和/或I分量的正负号值的一个或一个以上值,以及表示运动向量差值的X分量和y分量的绝对值的一个或一个以上值。
[0029]根据本发明的技术,可以交替的方式对与运动向量差值的一个或两个分量相关的信息进行译码,使得在对与运动向量差的其它分量相关的信息进行译码之前,不需要对与运动向量差的一个分量相关的所有信息进行译码。换句话说,X分量的元素(例如,X分量是否具有大于零的量值)可与I分量的对应元素进行交错。对运动向量差的X分量和I分量进行联合译码与对与运动向量差值的X分量或y分量中的一者相关的所有信息进行单独译码(例如,根据ITU-T H.264中的惯例)形成对比。对运动向量差值的X分量和y分量进行联合译码可减小视频译码位流的复杂度,其可导致经译码视频的较低位速率以及本文中所描述的其它潜在优势。
[0030]在根据常规的ITU-T H.264标准的视频译码中,运动向量可具有四分之一像素(即,像素的四分之一)精度。在一些情况下,八分之一像素(即,八分之一像素)精度可提供某些优势。高效率视频译码测试模型(HM)具有用以使用具有八分之一像素精度的运动向量来形成预测单元的能力。具体来说,HM提供用以自适应地选择四分之一像素精度或八分之一像素精度的能力。以此方式,运动向量可具有自适应精度(还被称作运动向量分辨率)。此分数或子整数像素精度可用于相对于先前经译码帧中的经内插像素值的块来界定运动向量。
[0031]本发明还提供用于选择其中可使用四分之一或八分之一像素精度运动向量的特定实例以及如何针对特定运动向量来用信号通知运动向量精度的技术。具体来说,本发明的技术针对于选择运动向量分辨率,且在一些实例中使用运动分辨率旗标来用信号通知所述分辨率。本发明还提供用于联合地用信号通知特定运动向量的X分量和y分量的技术。[0032]本发明描述与运动向量译码相关的若干技术,例如对运动向量差值进行联合译码且用信号通知一个或一个以上运动向量差值的精度、振幅以及正负号。可在由例如视频编码器或视频解码器等视频译码装置执行的译码过程期间执行本发明的技术。在本发明中,术语“译码”是指在编码器处发生的编码或者在解码器处发生的解码。类似地,术语译码器是指编码器、解码器,或组合式编码器/解码器(CODEC)。术语译码器、编码器、解码器和CODEC全部是指与本发明一致的经设计以用于对视频数据进行译码(编码和/或解码)的特定机器。
[0033]图1为说明可利用用于联合地用信号通知运动向量的技术的实例性视频编码和解码系统10的框图。所述运动向量可具有子像素精度。如图1中所示,系统10包含源装置12,源装置12经由通信信道16将经编码视频发射到目的地装置14。源装置12及目的地装置14可包括各种各样的装置中的任一者。在一些情况下,源装置12和目的地装置14可包括无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可在通信信道16上(在此情况下,通信信道16为无线的)传送视频信息的任何无线装置。然而,关注于联合译码(例如,联合地用信号通知和/或解译联合地用信号通知的值、可具有子像素精度的运动向量差值)的本发明的技术不一定受限于无线应用或环境。举例来说,这些技术可适用于空中电视广播、有线电视发射、卫星电视发射、因特网视频发射、经编码到存储媒体上的经编码的数字视频,或其它情况。因此,通信信道16可包括适合于发射或存储经编码的视频数据的无线、有线或存储媒体的任何组合。
[0034]在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器(调制解调器)22和发射器24。目的地装置14包含接收器26、调制解调器28、视频解码器30,和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于用信号通知可具有子像素精度的运动向量差的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样,目的地装置14可与外部显示装置介接,而不是包含集成式显示装置。
[0035]图1的所说明的系统10仅为一个实例。可通过任何数字视频编码和/或解码装置来执行用于联合地用信号通知运动向量差精度的技术。尽管一股来说,本发明的技术是由视频编码装置来执行,但所述技术还可由视频编码器/解码器(通常被称作“CODEC”)来执行。另外,本发明的技术还可由视频预处理器来执行。源装置12及目的地装置14仅为此些译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频回放、视频广播或视频电话。
[0036]源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前所俘获的视频的视频存档,和/或来自视频内容提供者的视频馈入(video feed)。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(live video)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,一股来说,本发明中所描述的技术可适用于视频译码,且可适用于无线及/或有线应用。在每一情况下,可由视频编码器20来编码经俘获的、经预先俘获的或计算机产生的视频。经编码的视频信息可接着由调制解调器22根据通信标准来调制,且经由发射器24而发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。
[0037]目的地装置14的接收器26经由信道16接收信息,且调制解调器28解调所述信息。再次地,视频编码过程可实施本文中所描述的用以用信号通知可具有子像素精度的运动向量差的技术中的一者或一者以上。经验信道16传送的信息可包含由视频编码器20界定的语法信息,所述语法信息还由视频解码器30使用,所述语法信息包含描述宏块和其它经译码单元(例如,G0P)的特性和/或处理的语法元素。显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0038]在图1的实例中,通信信道16可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络的基于包的网络的部分。通信信道16 —股表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。在其它实例中,源装置12可将经编码数据存储到存储媒体上,而不是发射所述数据。同样,目的地装置14可经配置以从存储媒体检索经编码数据。
[0039]视频编码器20和视频解码器30可根据视频压缩标准来操作,例如即将到来的ITU-T高效率视频译码(HEVC)标准,还被称作“H.265”。HEVC尚未定案,因此编码器20和解码器30可根据HEVC的最新草案(被称作高效率视频译码测试模型(HM))来操作。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263以及ITU-T
H.264。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件及软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU
H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
[0040]HEVC标准当前由ITU-T视频译码专家组(VCEG)连同IS0/IEC运动图片专家组(MPEG)制定以作为被称为联合合作视频译码小组(JCT-VC)的集体伙伴关系的产品。HM假设优于根据例如ITU-T H.264/AVC等先前译码标准的视频译码装置的若干能力。举例来说,尽管H.264提供九种帧内预测编码模式,但HM提供多达三十四种帧内预测编码模式。
[0041]视频编码器20和视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器20和视频解码器30中的任一者可作为组合式编码器/解码器(CODEC)的一部分而集成于相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器等中。
[0042]一视频序列通常包含一系列视频帧。图片群组(GOP) —股包括一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头或其它地方中包含语法数据,所述语法数据描述包含于GOP中的帧的数目。每一帧可包含帧语法数据,所述帧语法数据描述相应帧的编码模式。频编码器20通常对个别视频帧内的视频块(还被称作CU)进行操作以便编码视频数据。视频块可对应于LCU或LCU的分区。所述视频块可具有固定的或变化的大小,且可根据指定的译码标准而大小不同。每一视频帧可包含多个切片。每一切片可包含多个IXU,所述多个IXU可布置在若干分区(还被称作子⑶)中。
[0043]作为一实例,ITU-T H.264标准支持各种块大小(例如,针对亮度分量的16乘16、8乘8或4乘4,和针对色度分量的8X8)的帧内预测,以及各种块大小(例如,针对亮度分量的16X16、16X8、8X16、8X8、8X4、4X8和4X4,和针对色度分量的对应缩放的大小)的帧间预测。在本发明中,“NXN”与“N乘N”可以可互换地使用,以在垂直和水平尺寸方面指代块的像素尺寸,例如16X 16像素或16乘16像素。一股来说,16X16块将具有在垂直方向上的16个像素(y=16)和在水平方向上的16个像素(x=16)。同样地,NXN块一股具有在垂直方向上的N个像素和在水平方向上的N个像素,其中N表示非负整数值。一块中的像素可布置在若干行和若干列中。此外,块无需一定在水平方向上具有与在垂直方向上相同数目的像素。举例来说,块可包括NXM个像素,其中M不一定等于N。
[0044]HEVC将视频数据块称作译码单元(⑶),所述译码单元可包含一个或一个以上预测单元(PU)和/或一个或一个以上变换单元(TU)。位流内的语法数据可界定最大译码单元(LCU),其为在像素数目方面的最大译码单元。一股来说,CU具有与H.264的宏块类似的目的,只不过⑶不具有大小区别。因此,⑶可被分裂为若干子⑶。一股来说,在本发明中对CU的参考可涉及图片的最大译码单元或LCU的子CU。LCU可被分裂成若干子CU,且每一子CU可进一步被分裂成若干子CU。位流的语法数据可界定LCU可被分裂的最大倍数,被称作CU深度。因此,位流还可界定最小译码单元(SCU)。本发明还使用术语“块”来指代CU、I3U或TU中的任一者。
[0045]IXU可与四叉树数据结构相关联。一股来说,四叉树数据结构每个⑶包含一个节点,其中根节点对应于LCU。如果将CU分裂为四个子CU,那么对应于CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于子CU中的一者。所述四叉树数据结构的每一节点可提供对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,从而指示对应于所述节点的CU是否被分裂为子CU。可递归地界定CU的语法元素,且所述语法元素可取决于CU是否被分裂为子CU。如果CU未进一步分裂,那么其被称作叶CU。在本发明中,叶CU的4个子CU也将被称作叶CU,虽然不存在对原始叶CU的明确分裂。举例来说,如果16 X 16
大小的⑶未进一步分裂,那么四个8X8子⑶也将被称作叶⑶,虽然16X 16的⑶从未分
m
? ο
[0046]另外,叶⑶的TU还可与相应的四叉树数据结构相关联。也就是说,叶⑶可包含指示叶CU如何被分割为TU的四叉树。本发明涉及指示LCU如何被分割为CU四叉树的四叉树以及指示叶CU如何被分割为TU以作为TU四叉树的四叉树。TU的根节点一股对应于叶CU,而⑶四叉树的根节点一股对应于IXU。TU四叉树的未分裂的TU被称作叶TU。
[0047]叶⑶可包含一个或一个以上预测单元(PU)。一股来说,PU表示对应⑶的全部或一部分,且可包含用于检索PU的参考样本的数据。举例来说,在对PU进行帧间模式编码时,PU可包含界定PU的运动向量的数据。界定运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或运动向量的参考列表(例如,列表O或列表I)。界定I3U的叶CU的数据还可描述(例如)将CU分割为一个或一个以上ro。分割模式可取决于CU是未被译码、被帧内预测模式编码还是被帧间预测模式编码而不同。对于帧内译码,可将PU视为与下文所描述的叶变换单元相同。
[0048]叶⑶可包含一个或一个以上变换单元(TU)。可使用TU四叉树结构来指定变换单元,如上文所论述。也就是说,分裂旗标可指示叶CU是否被分裂为四个变换单元。随后,每一变换单元可进一步分裂为4个子TU。当TU不进一步分裂时,其可被称作叶TU。一股来说,对于帧内译码,属于叶CU的所有叶TU共享同一帧内预测模式。也就是说,一股应用同一帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可使用帧内预测模式来计算每一叶TU的残余值以作为对应于TU和原始块的预测性值的部分之间的差。可变换、量化和扫描所述残余值。对于帧间译码,视频编码器可在PU层级处执行预测且可计算每一 PU的残差。可变换、量化和扫描对应于叶CU的残余值。对于帧间译码,叶TU可大于或者小于W。对于帧内译码,PU可与对应的叶TU并置。在一些实例中,叶TU的最大大小可为对应的叶CU的大小。
[0049]一股来说,本发明使用术语⑶和TU来分别指代叶⑶和叶TU,除非另有注释。一股来说,本发明的技术涉及变换、量化、扫描以及熵编码CU的数据。作为一实例,本发明的技术包含基于用于预测块的帧内预测模式来选择用以变换经帧内预测块的残余值的变换。本发明还使用术语“方向性变换”或“所设计的变换”来指代取决于帧内预测模式方向的此类变换。也就是说,视频编码器可选择方向性变换来应用于变换单元(TU)。如上文所述,帧内预测包含从同一图片的先前经译码CU和TU来预测图片的当前CU的TU。更具体来说,视频编码器可使用特定帧内预测模式来对图片的当前TU进行帧内预测。
[0050]在帧间预测模式期间,视频编码器20可确定PU的特定运动向量的分辨率,例如1/4(四分之一)或1/8(八分之一)像素分辨率。可使用试图使CU的PU的运动向量预测符与所计算的运动向量(其可为用于预测先前经译码帧的移位的运动向量)之间的误差量最小化的技术来确定此分辨率。
[0051]视频编码器20可确定运动向量预测符的精度以及向量的移位,所述移位可包含X分量p_x、以及y分量p_y。视频编码器20可计算对应于运动向量预测符与所计算的运动向量之间的差的运动向量差。运动向量差(被称作“MVD”)也可具有X分量mvd_x和y分量mvd_y。基于mvd_x和mvd_y的量值、向量的精度(即,四分之一或八分之一像素精度)以及阈值,视频编码器20可经配置以对与运动向量差值的X分量和I分量相关的一个或一个以上值进行联合译码。
[0052]根据本发明的技术,视频编码器20和/或视频解码器30可经配置以对与块的运动向量差相关的信息进行联合译码。联合译码可指代其中将与运动向量差值的X分量和y分量相关的信息进行交错的译码技术。所述信息可包含指示所述分量的量值(例如,绝对值)是否大于零的信息、在对应分量的绝对值大于零时的分量的正负号以及指示在所述绝对值大于零时的分量的绝对值的信息。对运动向量差的一个或一个以上值进行联合译码可减小视频译码位流的复杂度,其可提供本文中所描述的优势。类似于视频编码器20,视频解码器30可接收经编码视频位流且可以与视频编码器20实质上互逆的方式操作。举例来说,视频解码器30可接收MVD的经译码值、解码经联合译码的值,且将块的运动向量计算为块的MVD和运动向量预测符的总和。[0053]—股来说,运动向量差值的X分量可被称作“MVD_x”,而运动向量差值的y分量可被称作“MVD_y”。可通过<MVD_x,MVD_y >来描述视频数据块(例如,PU)的运动向量差值。一股来说,MVD_x对应于块的运动向量的X分量与为所述块选择的运动向量预测符的X分量之间的差。同样,MVD_y对应于块的运动向量的y分量与为所述块选择的运动向量预测符的I分量之间的差。以此方式,视频编码器20可通过计算块的运动向量的X分量与所述块的运动向量预测符的X分量之间的差来计算MVD_x,且通过计算块的运动向量的y分量与所述块的运动向量预测符的I分量之间的差来计算MVD_y。类似地,视频解码器30可通过将MVD_x加到运动向量预测符的X分量且通过将MVD_y加到运动向量预测符的y分量来重构块的运动向量。换句话说,分别让MV_x和MV_y表示运动向量的X分量和I分量:
[0054]MVD_x=MV_x_p_x ;以及(I)
[0055]MVD_y=MV_x_p_y。(2)
[0056]在一些实例中,视频编码器20可联合地译码(例如,用信号通知)块的运动向量差值的信息。举例来说,视频编码器20可对指示MVD_x的绝对值(即,IMVD_xl)是否大于零的信息紧接着对指示MVD_y的绝对值(即,IMVD_yl)是否大于零的信息进行译码。此信息可包含(例如)表示MVD值的X分量和y分量是否分别大于零的旗标。假设表示MVD_x是否大于零的旗标指示MVD_x实际上大于零,视频编码器20还可在用信号通知表示MVD_y是否大于零的旗标之后用信号通知表示MVD_x的正负号的值。在IMVD_xl等于零时,视频编码器20不需要用信号通知MVD_x的正负号。
[0057]再次假设IMVD_yl大于零,在指示MVD_x的正负号的值(在用信号通知时)或指示IMVD_yl是否大于零的信息(在未用信号通知MVD_x的正负号时)之后,视频编码器20可用信号通知MVD_y的正负号。另外,取决于MVD_x和MVD_y中的任一者或两者是否具有大于零的绝对值,视频编码器20可随后用信号通知指示MVD_x和/或MVD_y的绝对值的信息。再次地,在先前用信号通知的值指示MVD_x和MVD_y中的任一者或两者的绝对值等于零时,不需要用信号通知表示MVD_x和MVD_y的绝对值的信息。
[0058]以类似方式,视频解码器30可对表示MVD_x是否具有大于零的绝对值的数据紧接着对表示MVD_y是否具有大于零的绝对值的数据进行译码(例如,解码和解译)。在所述数据指示MVD_x的绝对值大于零时,视频解码器30可经配置以随后解析表示MVD_x的正负号的信息。在解析表示MVD_x的正负号的信息之后,或在确定IMVD_xl等于零之后,在所述数据指示MVD_y的绝对值大于零时,视频解码器30可经配置以解析表示MVD_y的正负号的信息。类似地,再次假设MVD_x和MVD_y的绝对值大于零,视频解码器30可随后分别解析表示MVD_x和MVD_y的绝对值的信息。
[0059]视频解码器30可经配置以不期望与数据指示分量具有不大于零(即,等于零)的绝对值的任何分量的正负号和绝对值相关的信息。也就是说,视频解码器30可经配置以解析其它视频数据,例如块的其它数据,而不接收或译码如由早先用信号通知的信息所指示的具有等于零的绝对值的MVD分量的正负号和绝对值的数据。
[0060]以此方式对X分量和y分量进行联合译码可实现优于单独地译码X分量和I分量的数据的某些优势。举例来说,对X分量和I分量进行联合译码可增加熵译码期间的处理量。作为一个特定实例,在视频编码器20或解码器30使用CABAC来执行熵译码时,对运动向量差值进行联合译码可增加熵译码处理量。在对表示运动向量差值的X分量和y分量的绝对值的信息进行联合译码时,视频编码器20或视频解码器30可能够使用CABAC的绕过模式对运动向量差值的X分量和I分量一起进行熵译码。CABAC绕过模式可提高熵译码处理量。对表示X分量和y分量的经联合译码的信息进行熵译码可使得视频编码器20或解码器30能够使用CABAC的绕过模式连续地对两个语法元素进行熵译码,其相对于单独地对X分量和I分量进行熵译码可提高熵译码性能。虽然在前面的实例中关于CABAC进行描述,但在使用其它熵译码技术(例如VLC和CAVLC)时,对运动向量差值的X分量和y分量进行联合译码还可增加熵译码效率和/或处理量。
[0061]在用以产生预测数据和残余数据的帧内预测或帧间预测译码之后,且在用以产生变换系数的任何变换(例如,H.264/AVC中所使用的4X4或8X8整数变换或离散余弦变换DCT)之后,可执行对变换系数的量化。量化一股指代其中将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,η位值可在量化期间下舍入到m位值,其中η大于m。
[0062]在量化之后,可(例如)根据内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码方法来执行经量化数据的熵译码。经配置以用于熵译码的处理单元,或其它处理单元可执行其它处理功能,例如经量化系数的零游程长度译码和/或语法信息的产生,所述语法信息例如为经译码块模式(CBP)值、宏块类型、译码模式、经译码单元(例如,帧、切片、宏块或序列)的最大宏块大小,等等。
[0063]视频编码器20可进一步例如在帧标头、块标头、切片标头或GOP标头中将例如基于块的语法数据、基于帧的语法数据和基于GOP的语法数据等语法数据发送到视频解码器30。所述GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用于编码对应帧的编码/预测模式。
[0064]视频编码器20和视频解码器30各自可在可适用时经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合等多种合适的编码器或解码器电路中的任一者。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器20和视频解码器30中的任一者可被集成为组合式视频编码器/解码器(CODEC)的一部分。包含视频编码器20和/或视频解码器30的设备可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。
[0065]图2是说明可实施用于联合地用信号通知可具有子像素精度的运动向量的技术的视频编码器20的实例的框图。视频编码器20可执行对视频帧内的块(包含CU或CU的子CU)的帧内译码和帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的相邻帧内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指代若干基于时间的压缩模式中的任一者。虽然在图2中描绘用于帧间模式编码的组件,但应理解,视频编码器20可进一步包含用于帧内模式编码的组件。然而,出于简明和清楚起见而未说明此些组件。
[0066]如图2所示,视频编码器20接收视待编码的频帧内的当前视频块。在图2的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、参考帧存储器64、求和器50、变换处理单元52、量化单元54以及熵译码单元56。对于视频块重构,视频编码器20还包含反量化单元58、反变换单元60,和求和器62。还可包含解块滤波器(图2中未展示)以将块边界滤波,以从经重构的视频移除成块性假影。在需要时,解块滤波器将通常对求和器62的输出进行滤波。
[0067]在编码过程期间,视频编码器20接收待译码的视频帧、切片或CU。可将帧或切片划分为多个视频块。运动估计单元42和运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块执行对所接收的视频块的帧间预测译码以提供时间压缩。帧内预测单元46可相对于在与待译码的块相同的帧或切片中的一个或一个以上相邻块执行对所接收视频块的帧内预测译码,以提供空间压缩。根据下文所描述的技术,运动估计单元42可确定运动向量预测符的精度,其可基于模式选择单元40先前已确定的帧内预测模式或帧间预测模式来确定。运动估计单元42或视频编码器20的另一单元(例如,熵译码单元56)可进一步确定对应于所接收的帧、切片或CU的PU的运动向量预测符与所计算的运动向量之间的差的运动向量差。熵译码单兀56可进一步对与运动向量差的分辨率、正负号和振幅相关的信息以及与如下文所描述的联合译码的运动向量相关的其它信息进行译码。
[0068]模式选择单元40可(例如)基于误差结果而选择译码模式(帧内或帧间)中的一者,且将所得的经帧内译码或经帧间译码的块提供到求和器50以产生残余块数据,且提供至IJ求和器62以重构经编码块以用作参考巾贞。另外,模式选择单元40可选择运动向量的运动向量精度。举例来说,模式选择单元40可基于与四分之一子像素和八分之一子像素精度运动向量相关联的速率失真优化(RDO)来选择运动向量的运动向量精度。相对于具有八分之一像素精度的运动向量,具有四分之一像素精度的运动向量可需要较少的位来译码。然而,与以八分之一子像素精度译码的预测块相比,使用以四分之一像素精度译码的运动向量而指示的预测块可导致更高量的残余信息。视频编码器20可执行RDO以便相对于与由运动向量指示的预测块和当前被译码的块之间的差相关联的残余信息(失真)来优化用于对特定运动向量进行译码的位数(即,位速率)。基于RDO的结果,模式选择单元40可选择优化速率-失真权衡的运动向量精度,例如四分之一或八分之一子像素精度。
[0069]可需要运动补偿单元44以各种精度(例如,八分之一和四分之一子像素)来计算子像素(例如,参考帧的子像素)。为了内插子像素,运动补偿单元44可利用多种技术。作为实例,运动补偿单元44可利用双线性内插或利用N分接头有限响应滤波器(FIR)来内插子像素。在例如运动补偿单元44等装置通过对两个像素或子像素求平均而计算出分数像素的值时,其可四舍五入和/或缩放所得的值。在一些情况下,运动补偿单元44可对作为平均到子整数像素的结果的两个子像素的值求平均。
[0070]运动补偿单元44可通过将内插滤波器应用于多组支持来计算更多子整数像素位置(例如八分之一像素位置)的值。支持一股是指一个或一个以上参考像素(例如,共同线或区中的像素)的值。所述像素可对应于先前计算的全像素位置或子整数像素位置。在一些实例中,运动补偿单元44可使用双线性内插来计算子整数像素的值,且可使用类似的双线性内插滤波器通过将所述双线性内插滤波器中的一者或一者以上应用于相应的子整数像素位置的不同组支持来计算两个或两个以上不同子整数像素位置的值。
[0071]在一些其它情况下,运动补偿单元44可利用N分接头有限响应滤波器(FIR)来内插子像素值。例如6分接头或12分接头维纳滤波器等FIR可利用附近的支持像素值来内插子整数像素值。支持像素是用作到FIR的输入的像素或子像素值。FIR可具有一个或一个以上维度。在一维FIR中,例如运动补偿单元44等装置可将滤波器(例如)水平地、垂直地或以一角度应用于一条线中的若干支持像素或子像素。与可使用直线中的支持像素的一维FIR相比,二维FIR可使用附近的支持像素或子像素,所述支持像素或子像素形成正方形或矩形以计算经内插的像素值。
[0072]运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。运动估计是产生估计视频块的运动的运动向量的过程。运动向量(例如)可指示预测参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正被译码的当前块的移位。预测块是被发现在像素差异方面紧密地匹配待译码的块的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。运动向量还可指示宏块的分区的移位。运动补偿可涉及基于运动估计所确定的运动向量来获取或产生预测块。再次地,在一些实例中,运动估计单元42与运动补偿单元44可在功能上集成。
[0073]运动估计单元42通过将经帧间译码帧的视频块与参考帧存储器64中的参考帧的视频块进行比较来计算所述视频块的运动向量。运动补偿单元44还可内插参考帧(例如,I帧或P帧)的子整数像素。作为一实例,可从两个参考帧列表来预测运动向量:列表0,其包含具有比正被编码的当前帧早的显示次序的参考帧;以及列表1,其包含具有比正被编码的当前帧晚的显示次序的参考帧。因此,存储于参考帧存储器64中的数据可根据这些列表进行组织。
[0074]运动估计单元42将来自参考帧存储器64的一个或一个以上参考帧的块与当前帧(例如,P帧或B帧)的待编码的块进行比较。当参考帧存储器64中的参考帧包含子整数像素的值时,由运动估计单元42计算出的运动向量可指代参考帧存储器64中所存储的参考帧中的一者的子整数像素位置。运动估计单元42和/或运动补偿单元44还可经配置以在没有子整数像素位置的值存储于参考帧存储器64中时计算存储于参考帧存储器64中的参考帧的子整数像素位置的值。运动估计单元42将所计算的运动向量发送到熵译码单元56和运动补偿单元44。由运动向量识别的参考帧块可被称作预测块。指示预测块相对于当前巾贞中正被译码的当前块的移位的运动向量可具有X分量mvd_x和y分量mvd_y。
[0075]运动补偿单元44可基于预测块计算预测数据。视频编码器20通过从正被译码的原始视频块减去来自运动补偿单元44的预测数据而形成残余视频块。求和器50表示执行此减法运算的组件。变换处理单元52可对残余块应用变换(例如,离散余弦变换(DCT)或概念上类似的变换),从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换,例如由H.264标准界定的变换。也可使用子波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换处理单元52对残余块应用所述变换,从而产生残余变换系数块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。量化单元54量化残余变换系数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。
[0076]在量化之后,熵译码单元56对经量化变换系数进行熵译码。举例来说,熵译码单元56可执行内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC),或另一熵译码技术。对运动向量差值的X分量和y分量进行联合译码可允许熵译码单元56在使用CABAC时实现更高的熵译码处理量。相对于对运动向量差值的经单独译码的X分量和y分量进行熵译码,熵译码单元56可使用CABAC的绕过模式来增加对运动向量差值的经联合译码的X分量和I分量进行熵译码的处理量。在熵译码单元56进行的熵译码之后,可将经编码视频发射到另一装置或进行存档以用于稍后发射或检索。在上下文自适应二进制算术译码的情况下,上下文可基于相邻宏块。
[0077]在一些情况下,除熵译码之外,视频编码器20的熵译码单元56或另一单元可经配置以执行其它译码功能。举例来说,熵译码单元56可经配置以确定宏块和分区的CBP值。而且,在一些情况下,熵译码单元56可执行对其宏块或分区中的系数的游程长度译码。具体来说,熵译码单元56可应用z形扫描或其它扫描模式以扫描宏块或分区中的变换系数,且编码零的游程以用于进一步压缩。熵译码单元56还可用适当的语法元素建构标头信息以用于在经编码视频位流中进行发射。
[0078]根据本发明的技术量化单元54和熵译码单元56可对运动向量进行联合译码,所述运动向量可具有子像素精度,如下文所描述。在一些实例中,量化单元45和熵译码单元56可用信号通知表示运动向量差值的X分量和/或y分量是否为零的一个或一个以上旗标值、在所述分量具有不等于零的绝对值时表示X分量和/或I分量的正负号的一个或一个以上值,以及在所述分量具有不等于零的绝对值时表示运动向量差值的X分量和I分量的量值的绝对值的信息。量化单元45和熵译码单元56还可用信号通知可表示运动向量的子像素分辨率的运动分辨率旗标以及与运动向量的量值和精度两者相关的阈值。
[0079]反量化单元58和反变换单元60分别应用反量化和反变换,以在像素域中重构残余块,(例如)以用于稍后用作参考块。运动补偿单元44可通过将残余块添加到参考帧存储器64的帧中的一者的预测块而计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重构的残余块以计算子整数像素值以在运动估计中使用。求和器62将经重构的残余块添加到由运动补偿单元44产生的经运动补偿的预测块以产生经重构的视频块以供存储在参考帧存储器64中。经重构的视频块可由运动估计单元42和运动补偿单元44用作用于对后续视频帧中的块进行帧间译码的参考块。
[0080]视频编码器20表示一种视频编码器的实例,所述视频编码器经配置以编码表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的视频数据,且编码表示所述运动向量差值的I分量的绝对值是否大于零的视频数据。视频编码器20可经配置以在运动向量差值的X分量的绝对值大于零时编码表示所述运动向量差值的X分量的绝对值的视频数据,且在运动向量差值的y分量的绝对值大于零时编码表示所述运动向量差值的y分量的绝对值的视频数据。视频编码器20还可经配置以在运动向量差值的X分量的绝对值大于零时编码表示所述运动向量差值的X分量的正负号的视频数据,且在运动向量差值的I分量的绝对值大于零时编码所述运动向量差值的I分量的正负号。
[0081]图3是说明对经编码视频序列进行解码的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考帧存储器82以及求和器80。视频解码器30在一些实例中可执行一股与关于视频编码器20(图2)所描述的编码回合互逆的解码回合。运动补偿单元72可基于从熵解码单元70接收的运动向量而产生预测数据。
[0082]运动补偿单元72可使用位流中所接收的运动向量(包含根据本文中所描述的技术而用信号通知的运动向量)来识别存储于参考帧存储器82中的参考帧中的一者中的预测块。帧内预测单元74可使用在位流中所接收的帧内预测模式以从空间上邻近的块形成预测块。反量化单元76将提供于位流中且由熵解码单元70解码的经量化的块系数反量化(即,解量化)。反量化过程可包含例如由H.264解码标准界定的常规过程。反量化过程还可包含使用由编码器50针对每一宏块计算的用以确定量化的程度且同样应该应用的反量化的程度的量化参数QPY。
[0083]熵解码单元70和反量化单元76还可通过将包含经编码位流中的旗标和其它值的各种语法元素进行解译来重构经联合译码的运动向量差值。作为一实例,熵解码单元70和反量化单元76可接收表示运动向量差的X分量和/或y分量是否大于零的一个或一个以上值、可指示运动向量的子像素分辨率的运动分辨率旗标,以及可指示运动向量差值的最大量值和/或分辨率的阈值。在一个实例中,熵解码单元70可使用CABAC在绕过模式中对运动向量差值的经联合译码的X分量和y分量进行解码。相对于单独地对运动向量差值的X分量和I分量进行熵解码,使用CABAC的绕过模式可允许熵译码单元70以增加的处理量来解码经联合译码的运动向量差值。熵解码单元70和反量化单元76还可接收表示运动向量差值的X分量和/或I分量的正负号的一个或一个以上值,以及表示运动向量差值的每一分量的量值的绝对值的值。熵解码单元70和反量化单元76可使用表示运动向量差值的X分量和y分量是否大于零的值以及表示运动向量差值的每一分量的量值的绝对值的值来重构运动向量差值的振幅、正负号、精度、X分量和I分量。
[0084]反变换单元58对变换系数应用反变换(例如,反DCT、反整数变换,或概念上类似的反变换过程),以便在像素域中产生残余块。运动补偿单元72产生经运动补偿的块,可能执行基于内插滤波器的内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含在语法元素中。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。
[0085]运动补偿单元72使用语法信息中的一些来确定用于对经编码视频序列的帧进行编码的宏块的大小、描述经编码视频序列的帧的每一宏块如何被分割的分区信息、指示如何对每一分区进行编码的模式、用于每一经巾贞间编码宏块或分区的一个或一个以上参考中贞(以及参考帧列表),以及用以对经编码视频序列进行解码的其它信息。作为一实例,运动补偿单元72可接收MVD值和运动向量预测符。运动补偿单元72可进一步确定当前块的所计算的向量以作为当前块的MVD值和运动向量预测符的总和。当前块的所计算的运动向量可进一步指示预测块的位置。在一些实例中,例如当运动向量具有子像素精度(例如,四分之一或八分之一像素精度)时,运动补偿单元72可计算预测块的像素值。
[0086]求和器80对残余块与由运动补偿单元72或帧内预测单元产生的对应预测块求和以形成经解码的块。如果需要的话,还可应用去块滤波器以对经解码块进行滤波,以便移除成块性假影。经解码视频块随后被存储在参考帧存储器82中,参考帧存储器82提供用于后续运动补偿的参考块且还产生经解码视频以用于在显示装置(例如,图1的显示装置32)上呈现。
[0087]基于当前块的运动向量,运动补偿单元可从存储于参考帧存储器82中的一个或一个以上帧确定预测块。可需要运动补偿单元72计算运动补偿单元72产生的预测块的子像素。例如参考帧的子像素等预测块处于各种精度下,例如八分之一和四分之一子像素。为了内插子像素,运动补偿单元72可利用多种技术。作为实例,运动补偿单元72可利用双线性内插或利用N分接头有限响应滤波器(FIR)来内插子像素。在例如运动补偿单元72等装置通过对两个像素或子像素求平均而计算出分数像素的值时,其可四舍五入和/或缩放所得的值。在一些情况下,运动补偿单元72可对作为平均到子整数像素的结果的两个子像素的值求平均。
[0088]运动补偿单元72可通过将内插滤波器应用于多组支持来计算子整数像素位置(例如八分之一像素位置)的值。支持一股是指一个或一个以上参考像素(例如,共同线或区中的像素)的值。所述像素可对应于先前计算的全像素位置或子整数像素位置。在一些实例中,运动补偿单元72可使用双线性内插来计算子整数像素的值,且可使用类似的双线性内插滤波器通过将所述双线性内插滤波器中的一者或一者以上应用于相应的子整数像素位置的不同组支持来计算两个或两个以上不同子整数像素位置的值。
[0089]在一些其它情况下,运动补偿单元42可利用N分接头有限响应滤波器(FIR)来内插子像素值。例如6分接头或12分接头维纳滤波器等FIR可利用附近的支持像素值来内插子整数像素值。支持像素是用作到FIR的输入的像素或子像素值。FIR可具有一个或一个以上维度。在一维FIR中,例如运动补偿单元72等装置可将滤波器(例如)水平地、垂直地或以一角度应用于一条线中的若干支持像素或子像素。与可使用直线中的支持像素的一维FIR相比,二维FIR可使用附近的支持像素或子像素,所述支持像素或子像素形成正方形或矩形以计算经内插的像素值。
[0090]视频解码器30表示一种视频编码器的实例,所述视频编码器经配置以解码表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的视频数据,且解码表示所述运动向量差值的I分量的绝对值是否大于零的视频数据。视频解码器30可经配置以在运动向量差值的X分量的绝对值大于零时解码表示所述运动向量差值的X分量的绝对值的视频数据,且在运动向量差值的y分量的绝对值大于零时解码表示所述运动向量差值的y分量的绝对值的视频数据。视频解码器30还可经配置以在运动向量差值的X分量的绝对值大于零时解码表示所述运动向量差值的X分量的正负号的视频数据,且在运动向量差值的I分量的绝对值大于零时解码所述运动向量差值的I分量的正负号。
[0091]图4是说明用于对运动向量差值的X分量和y分量进行联合编码且对当前块进行熵译码的实例方法的流程图。在方法150中,视频编码器20的运动补偿单元42可预测当前块(152)。作为预测当前块的一部分,运动补偿单元42可计算运动向量。所述运动向量可指示预测块相对于当前块的移位。所述运动向量的移位可具有X分量MV_x和y分量MV_y。预测块在像素差异方面与当前块紧密匹配,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在其中当前帧被帧间预测的情况下,预测块可包括不同帧的块,例如图2的参考帧存储器64中的一个或一个以上参考帧中的一者。
[0092]运动补偿单元44或视频编码器20的另一单元可随后确定当前块的运动向量的运动向量预测符(154)。运动向量预测符是运动补偿单元44用来计算当前块的运动向量差值的运动向量。在一些实例中,运动向量预测符可以是与当前块的PU相邻的多个块中的一者的运动向量。运动补偿单元44还可从存储于参考帧存储器64中的参考帧中的一者的位于同一地点的块来确定运动向量预测符。运动向量预测符可具有X分量P_x和I分量P_
I。视频编码器20可确定运动向量预测符,使得运动向量预测符使当前块的运动向量与运动向量预测符的差异最小化。
[0093]基于运动向量预测符,视频编码器20的运动补偿单元44,或视频编码器20的另一单元(例如,熵译码单元56)可计算当前块的运动向量差值(156)。运动补偿单元44可计算当前块的运动向量差以作为当前块的运动向量与当前块的运动向量预测符的差。因此,运动补偿单元44可将当前块的运动向量预测符计算为< p_x-MV_x,p_y-MV_y >,其中p_x和P_y是运动向量预测符的X分量和I分量,且MV_x和MV_y是当前块的运动向量的X分量和I分量。
[0094]熵译码单元56可随后对当前块的运动向量差值的元素进行联合译码(158)。举例来说,熵译码单元56可对包含运动向量差的X分量和y分量的运动向量差值的元素进行联合译码,如下文关于图6和7更详细地阐释。作为一些非限制性实例,运动向量差的元素还可包含表示运动向量差的X分量和I分量是否为零的一个或一个以上值、表示运动向量差值的X分量和/或I分量的正负号值的值,以及表示运动向量差值的分量的绝对值的值。
[0095]变换处理单元52或运动补偿单元44可计算当前块的残余块(160)。残余块可包括由当前块的运动向量指示的预测性视频块与当前视频块之间的像素差。变换处理单元52可随后将例如离散余弦变换(DCT)等变换应用于当前块的残余块,同时量化单元54可量化来自变换处理单元52的变换系数(162)。
[0096]熵译码单元56可扫描由162的变换得到的经变换系数。在一些情况下,熵译码单元56可应用z形扫描或其它扫描模式来扫描经变换残余块的变换系数(164)。熵译码单元56可例如使用游程长度译码对包括由164的扫描得到的零游程的系数进行熵编码,以用于进一步压缩(166)。熵译码单元56可随后输出经熵译码的系数和经联合译码的MVD值
(168)。也就是说,除了经熵译码的经量化变换系数之外,熵译码单元56可输出MVD值的x分量和I分量的经联合译码的数据。
[0097]图4的技术可一股由任何处理单元或处理器来执行,无论实施于硬件、软件、固件还是其组合中,且当实施于软件或固件中时,可提供对应的硬件来执行软件或固件的指令。出于实例的目的,关于视频译码装置来描述图4的技术,所述视频译码装置可包含大体上类似于视频编码器20(图1和2)的组件的组件,但应理解,其它装置可经配置以执行类似技术。另外,可以不同次序或并行地执行图4中所说明的步骤,且可添加额外步骤且省略某些步骤,而不脱离本发明的技术。
[0098]图5是说明根据HEVC测试模型3.0(HM3.0,还被称作HM3)中所描述的技术来单独地用信号通知运动向量运动向量差值的方法的流程图。HEVC的技术还描述于布洛斯(Bross)等人的文献HCTVC-11003 “高效率视频译码(HEVC)文本规范草案7 (HighEfficiency Video Coding(HEVC)Text Specification Draft7)’’,ITU-T SG16WP3 和 ISO/IEC JTC1/SC29/WG11的联合合作视频译码小组(JCT-VC)第九次会议:日内瓦,瑞士,2012年4月27日至2012年5月7日,其至2102年6月7日为止可从http://phenix.1t-sudparis.eu/ict/doc end user/documents/9Geneva/wgll/.TCTVC-11003-v3.zip.下载。根据HM3中所提出且在图5中所说明的方法,单独地用信号通知对应于运动向量差值的X分量和y分量的mvd_x和mvd_y值。方法180说明可如何用信号通知与mvd_x相关的一个或一个以上语法元素,且方法192说明可如何用信号通知与mvd_y相关的一个或一个以上语法元素。[0099]在方法180中,例如运动补偿单元44或熵译码单元56等视频编码器20的单元可用信号通知mvd_x==0旗标(182)。mvd_x==0旗标表示CU的PU的所计算的运动向量的X分量与运动向量的运动向量预测符之间的差是否为零,且相应地,两个X分量之间的对应差是否等于零。
[0100]如果设定了 mvd_x==0旗标,那么MVD的x分量mvd_x等于零(184的“是”分支),且方法结束(190)。然而,如果mvd_X是非零(184的“否”分支),那么视频编码器20可用信号通知abs_mvd_x_l (186)。abs_mvd_x_l可表示mvd_x值的绝对值减去一。视频编码器20可进一步用信号通知表示mvd_x的正负号的值(188)。所述正负号可例如为正或负。
[0101]类似地,在方法192中,例如图1的视频编码器20等视频编码器可用信号通知mvd_y==0旗标(194)。mvd_y==0旗标表示⑶的PU的所计算的运动向量的y分量与运动向量的运动向量预测符之间的差是否为零,且相应地,两个I分量之间的对应差是否等于零。
[0102]如果设定了 mvd_y==0旗标,那么MVD的y分量mvd_y等于零(196的“是”分支),且方法结束(202)。然而,如果mvd_y是非零(196的“否”分支),那么视频编码器20可用信号通知abs_mvd_y_l (198)。abs_mvd_y_l可为表示mvd_y值的绝对值减去一的值。视频编码器20可进一步用信号通知表示mvd_y的正负号的值(200)。所述正负号可例如为正或负。
[0103]图6是说明用于对运动向量差值的X分量和y分量进行联合编码的联合编码运动向量差值的实例方法220的流程图。一股来说,图6的方法220对应于图4的步骤158。因此,图6的方法220表示用于对运动向量差值的X分量和y分量的数据进行联合译码的实例方法。另外,假设在执行图6的实例方法之前,视频编码器20的运动补偿单元44或视频编码器20的另一单元(例如,视频编码器20的熵译码单元56)可计算视频数据的当前块的运动向量且计算运动向量差值以作为视频数据的当前块的运动向量与针对视频数据的当前块所确定的运动向量预测符之间的差,例如,如关于图4的步骤156所论述。为了对运动向量差值的X分量和I分量的数据进行联合译码,熵译码单元56可编码表示运动向量差值的X分量mvd_X的绝对值是否大于零的信息(222)。熵译码单元56可随后编码表示运动向量差值的y分量(mvd_y)的绝对值是否大于零的信息(224)。
[0104]当运动向量差值的X分量的绝对值大于零时,熵译码单元56可编码表示运动向量差值的X分量的绝对值的信息(226)。且当运动向量差值的y分量的绝对值大于零时,熵译码单元56可编码表示运动向量差值的y分量的绝对值的信息(228)。在一些实例中,熵译码单元56可编码表示运动向量差值的X分量和y分量的绝对值的信息以分别作为mvd_x/2-l和mvd_y/2_l的绝对值。
[0105]当运动向量差值的X分量的绝对值大于零时,熵译码单元56可编码运动向量差值的X分量的正负号(230)。当运动向量差值的y分量的绝对值大于零时,熵译码单元56可编码运动向量差值的I分量的正负号(232)。
[0106]图6的技术可一股由任何处理单元或处理器来执行,无论实施于硬件、软件、固件还是其组合中,且当实施于软件或固件中时,可提供对应的硬件来执行软件或固件的指令。出于实例的目的,关于视频译码装置来描述图6的技术,所述视频译码装置可包含大体上类似于视频编码器20(图1和2)的组件的组件,但应理解,其它装置可经配置以执行类似技术。另外,可以不同次序或并行地执行图6中所说明的步骤,且可添加额外步骤且省略某些步骤,而不脱离本发明的技术。
[0107]以此方式,图6的方法表示一种方法的实例,所述方法包含:对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码;对表示所述运动向量差值的I分量的绝对值是否大于零的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对表示所述运动向量差值的X分量的绝对值的信息进行译码;在所述运动向量差值的I分量的绝对值大于零时,对表示所述运动向量差值的I分量的绝对值的信息进行译码;在所述运动向量差值的X分量的绝对值大于零时,对所述运动向量差值的X分量的正负号进行译码;以及在所述运动向量差值的I分量的绝对值大于零时,对所述运动向量差值的I分量的正负号进行译码。因此,图6的方法表示对针对视频数据的当前块的运动向量所计算的运动向量差值的X分量和I分量的元素进行联合译码的实例。
[0108]图7是说明用于用信号通知mvd_x和mvd_y值的值的方法的流程图。不同于说明单独地对MVD的X分量和y分量进行译码的图5的方法180和192,且类似于图6的方法,图7的方法还可允许编码器对运动向量差值的X分量和I分量(即,mvd_x和mvd_y)进行联合编码。在此实例中,由例如图1和2的视频编码器20等编码器在位流中用信号通知的一个语法兀素可含有与运动向量差值的X分量和I分量相关的量值、正负号和/或其它信肩、O
[0109]在图7的实例中,如下文所阐释,视频编码器20可编码运动分辨率旗标,所述运动分辨率旗标是表示视频数据的当前块的运动向量是具有第一子像素精度(例如,四分之一像素精度)还是第二子像素精度(例如,八分之一像素精度)的值。在此实例中,运动分辨率旗标具有值I以指示当前块的运动向量具有四分之一像素精度,且具有值2以指示运动分辨率旗标具有八分之一像素精度。视频编码器20还可编码值“abS_mvd_equal_2”,所述值表示运动向量差的分量中的一者或两者的量值是否具有绝对值2。视频编码器20可基于下表I的实例而将值指派给abs_mvd_equal_2。
[0110]在图7的方法240的实例中,运动补偿单元44或视频编码器20的另一单元可用信号通知mvd_x==0旗标(242)和mvd_y==0旗标(244)。在对应的mvd_x或mvd_y值等于零时,可设定这些旗标。如果mvd_X和mvd_y是零(246的“是”分支),那么不需要用信号通知其它数据,且方法240结束(266)。
[0111]如果mvd_x或mvd_y是非零(246的“否”分支),那么运动补偿单元44可用信号通知或编码运动分辨率旗标(246)。运动分辨率旗标(mvres_flag)是可指示对应于运动向量差值的运动向量的运动向量分辨率(还被称作运动向量精度)的语法元素的实例。运动分辨率旗标可指示视频数据的当前块的运动向量是具有第一子像素精度还是第二子像素精度,例如,四分之一像素精度或八分之一像素精度。
[0112]视频编码器20还可确定当前帧的阈值,所述阈值也与当前块的运动向量相关联,且所述阈值可在切片标头或另一数据结构(例如,切片参数组(SPS)或图片参数组(PPS))中用信号通知。当运动向量差值的X分量(mvd_x)和运动向量差值的y分量(mvd_y)大于阈值时,视频编码器20可使用所述阈值来约束八分之一像素运动向量差值的振幅且可指示所述运动向量具有第一子像素精度。举例来说,如下文关于下表I所示,视频编码器(例如,视频编码器20)可将八分之一像素精度运动向量差值的X分量和y分量的量值约束到值I或2。所述视频编码器可使用阈值旗标来用信号通知阈值的值。[0113]如果针对PU的运动向量的X分量或y分量所计算的MVD大于所确定的阈值,那么可将运动分辨率旗标设定为真。如果将运动分辨率旗标设定为真,那么所述旗标表示运动向量具有四分之一像素精度。如果MVD值小于或等于选定阈值,那么视频编码器可设定运动分辨率旗标的值以指示对应的运动向量是具有四分之一像素精度还是八分之一像素精度。
[0114]方法240可进一步包括视频编码器20确定运动分辨率旗标是否等于I (250)。例如,如果运动向量精度是四分之一精度,那么运动分辨率旗标可等于I。如果将运动分辨率旗标设定为1,如果mvd_X是非零,那么视频编码器20可用信号通知或编码表示值abs_mvd_x/2-l的值,其中abs_mvd_x是表示MVD的x分量的绝对值的值(252)。如果mvd_x是非零,那么视频编码器20可类似地编码表示值abs_mvd_y/2_l的值,其中abs_mvd_y是靈0的y分量的绝对值(254)。在一些实例中,如果mvd_y是非零,而不是如果mvd_x是非零,那么视频编码器20可用信号通知abs_mvd_y/2_l。
[0115]如果运动分辨率旗标不等于I (250的“否”分支),那么视频编码器20可确定所述阈值等于I。在此实例中,所述阈值可具有值I或2。在一实例中,所述阈值可具有值2。在此实例中,因为运动向量可仅在mvd_x和mvd_y的值不超过阈值时具有八分之一像素精度,所以mvd_x和mvd_y的值被约束为I或2。另外,如果阈值等于I (256的“是”分支),且运动向量具有四分之一像素精度(如运动分辨率旗标所指示,所述运动分辨率旗标在此实例中在步骤250之后必定为真),那么视频编码器不需要用信号通知mvd值的任何额外信息。也就是说,可使用其它信息将mvd_x和mvd_y的值确定为O或I。具体来说,可基于在步骤248和264中是否用信号通知正负号值来指示mvd_x和mvd_y是O还是I。如果阈值等于
2(256的“否”分支),那么视频编码器20可确定mvd_X或mvd_y值中的任一者等于O。如果mvd_x或mvd_y等于O (260的“是”分支),那么视频编码器20可继续用信号通知mvd_x和mvd_y的非零I的正负号(258、264)。在一些实例中,视频编码器20可另外用信号通知mvd_x和mvd_y的非零I的值,且因此,替代地可继续进行到步骤252,而不是258。
[0116]然而,如果mvd_x和mvd_y两者是非零,即,mvd_x和mvd_y都不具有值O (260的“否”分支),那么视频编码器20可用信号通知abs_mvd_equal_2旗标。abs_mvd_equal_2旗标是mvd_X和mvd_y的经联合译码的值的实例。视频编码器可基于下表1将值指派给abs_mvd_equal_2。
[0117]表1
[0118]
【权利要求】
1.一种译码视频数据的方法,所述方法包括: 对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码; 对表示所述运动向量差值的y分量的绝对值是否大于零的信息进行译码; 在所述运动向量差值的所述X分量的所述绝对值大于零时,对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码; 在所述运动向量差值的所述y分量的所述绝对值大于零时,对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码; 在所述运动向量差值的所述X分量的所述绝对值大于零时,对所述运动向量差值的所述X分量的正负号进行译码;以及 在所述运动向量差值的所述y分量的所述绝对值大于零时,对所述运动向量差值的所述y分量的正负号进行译码。
2.根据权利要求1所述的方法,其中译码包括编码,所述方法进一步包括: 计算视频数据的所述当前块的运动向量;以及 将所述运动向量差值 计算为视频数据的所述当前块的所述运动向量与针对视频数据的所述当前块所确定的运动向量预测符之间的差。
3.根据权利要求1所述的方法,其中译码包括解码,所述方法进一步包括: 确定视频数据的所述当前块的运动向量预测符;以及 将视频数据的所述当前块的运动向量计算为所述运动向量差值与所述运动向量预测符的总和。
4.根据权利要求1所述的方法,其进一步包括: 对表示视频数据的所述当前块的运动向量是具有第一子像素精度还是第二子像素精度的值进行译码,其中所述第二子像素精度大于所述第一子像素精度;以及 在所述运动向量具有所述第二子像素精度时,在所述运动向量差值的所述X分量不等于零时,且在所述运动向量差值的所述y分量不等于零时,其中对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码以及对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码包括对表示所述运动向量差值的所述X分量和所述运动向量差值的所述y分量两者的经联合译码的值进行译码。
5.根据权利要求4所述的方法,其进一步包括确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度,其包括: 确定与所述运动向量相关联的阈值;以及 在所述运动向量差值的所述X分量和所述运动向量差值的所述y分量两者大于所述阈值时,确定所述运动向量具有所述第一子像素精度。
6.根据权利要求5所述的方法,其中确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度包括,在所述运动向量差值的所述X分量以及所述运动向量差值的所述y分量中的至少一者小于或等于所述阈值时,基于运动向量分辨率旗标的值来确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度。
7.根据权利要求4所述的方法,其中对表示所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的所述值进行译码包括:对运动向量分辨率旗标的值进行译码。
8.根据权利要求1所述的方法, 其中对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码包括将所述运动向量差值的所述X分量的所述绝对值译码为mvd_x/2-l,其中mvd_x包括所述运动向量差值的所述X分量;且 其中对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码包括将所述运动向量差值的所述I分量的所述绝对值译码为mvd_y/2-l ,其中mvd_y包括所述运动向量差值的所述y分量。
9.一种用于译码视频数据的设备,所述设备包括视频译码器,所述视频译码器经配置以:对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码;对表示所述运动向量差值的I分量的绝对值是否大于零的信息进行译码;在所述运动向量差值的所述X分量的所述绝对值大于零时,对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码;在所述运动向量差值的所述y分量的所述绝对值大于零时,对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码;在所述运动向量差值的所述X分量的所述绝对值大于零时,对所述运动向量差值的所述X分量的正负号进行译码;以及在所述运动向量差值的所述y分量的所述绝对值大于零时,对所述运动向量差值的所述I分量的正负号进行译码。
10.根据权利要求9所述的设备,其中所述视频译码器包括视频编码器,且其中所述视频编码器进一步经配置以计算视频数据的所述当前块的运动向量且将所述运动向量差值计算为视频数据的所述当前块的所述运动向量与针对视频数据的所述当前块所确定的运动向量预测符之间的差。
11.根据权利要求9所述的设备,其中所述视频译码器包括视频解码器,且其中所述视频解码器进一步经配置以确定视频数据的所述当前块的运动向量预测符且将视频数据的所述当前块的运动向量计算为所述运动向量差值与所述运动向量预测符的总和。
12.根据权利要求9所述的设备,其中所述视频译码器经配置以对表示视频数据的所述当前块的运动向量是具有第一子像素精度还是第二子像素精度的值进行译码,其中所述第二子像素精度大于所述第一子像素精度;且其中所述视频译码器经配置以在所述运动向量具有所述第二子像素精度时,在所述运动向量差值的所述X分量不等于零时,且在所述运动向量差值的所述I分量不等于零时,对表示所述运动向量差值的所述X分量和所述运动向量差值的所述y分量两者的经联合译码的值进行译码。
13.根据权利要求12所述的设备,其中为了确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度,所述视频译码器经配置以确定与所述运动向量相关联的阈值,且在所述运动向量差值的所述X分量和所述运动向量差值的所述I分量两者大于所述阈值时,确定所述运动向量具有所述第一子像素精度。
14.根据权利要求13所述的设备,其中为了确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度,所述视频译码器经配置以在所述运动向量差值的所述X分量以及所述运动向量差值的所述y分量中的至少一者小于或等于所述阈值时,基于运动向量分辨率旗标的值来确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度。
15.根据权利要求12所述的设备,其中为了确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度,所述视频译码器经配置以基于运动向量分辨率旗标的值来确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度。
16.根据权利要求9所述的设备, 其中为了对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码,所述视频译码器经配置以将所述运动向量差值的所述X分量的所述绝对值译码为mvd_X/2-l,其中mvd_X包括所述运动向量差值的所述X分量;且 其中为了对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码,所述视频译码器经配置以将所述运动向量差值的所述I分量的所述绝对值译码为mvd_y/2-l,其中mvd_y包括所述运动向量差值的所述y分量。
17.根据权利要求9所述的设备,其中所述设备包括以下各者中的至少一者: 集成电路; 微处理器;以及 包含所述视频译码器的无线通信装置。
18.一种用于译码视频数据的设备,所述设备包括: 用于对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码的装置; 用于对表示所述运动向量差值的y分量的绝对值是否大于零的信息进行译码的装置;用于在所述运动向量差值的所述X分量的所述绝对值大于零时对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码的装置; 用于在所述运动向量差值的所述y分量的所述绝对值大于零时对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码的装置; 用于在所述运动向量差值的所述X分量的所述绝对值大于零时对所述运动向量差值的所述X分量的正负号进行译码的装置;以及 用于在所述运动向量差值的所述y分量的所述绝对值大于零时对所述运动向量差值的所述y分量的正负号进行译码的装置。
19.根据权利要求18所述的设备,其中所述用于译码的装置包括用于编码的装置,所述设备进一步包括: 用于计算视频数据的所述当前块的运动向量的装置;以及 用于将所述运动向量差值计算为视频数据的所述当前块的所述运动向量与针对视频数据的所述当前块所确定的运动向量预测符之间的差的装置。
20.根据权利要求18所述的设备,其中所述用于译码的装置包括用于解码的装置,所述设备进一步包括: 用于确定视频数据的所述当前块的运动向量预测符的装置;以及用于将视频数据的所述当前块的运动向量计算为所述运动向量差值与所述运动向量预测符的总和的装置。
21.根据权利要求18所述的设备,其进一步包括: 用于对表示视频数据的所述当前块的运动向量是具有第一子像素精度还是第二子像素精度的值进行译码的装置,其中所述第二子像素精度大于所述第一子像素精度;以及用于在所述运动向量具有所述第二子像素精度时在所述运动向量差值的所述X分量不等于零时且在所述运动向量差值的所述y分量不等于零时对表示所述运动向量差值的所述X分量和所述运动向量差值的所述y分量两者的经联合译码的值进行译码的装置。
22.根据权利要求21所述的设备,其进一步包括用于确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的装置,其包括: 用于确定与所述运动向量相关联的阈值的装置;以及 用于在所述运动向量差值的所述X分量和所述运动向量差值的所述y分量两者大于所述阈值时确定所述运动向量具有所述第一子像素精度的装置。
23.根据权利要求22所述的设备,其中所述用于确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的装置包括用于在所述运动向量差值的所述X分量以及所述运动向量差值的所述y分量中的至少一者小于或等于所述阈值时基于运动向量分辨率旗标的值来确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的装置。
24.根据权利要求21所述的设备,其中所述用于对表示所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的所述值进行译码的装置包括用于对运动向量分辨率旗标的值进行译码的装置。
25.根据权利要求18所述的设备, 其中所述用于对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码的装置包括用于将所述运动向量差值的所述X分量的所述绝对值译码为mvd_x/2-l的装置,其中mvd_X包括所 述运动向量差值的所述X分量;且 其中所述用于对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码的装置包括用于将所述运动向量差值的所述I分量的所述绝对值译码为mvd_y/2-l的装置,其中mvd_y包括所述运动向量差值的所述y分量。
26.—种包括计算机可读存储媒体的计算机程序产品,所述计算机可读存储媒体具有存储于其上的指令,所述指令在被执行时致使用于译码视频数据的装置的一个或一个以上处理器: 对表示视频数据的当前块的运动向量差值的X分量的绝对值是否大于零的信息进行译码; 对表示所述运动向量差值的y分量的绝对值是否大于零的信息进行译码; 在所述运动向量差值的所述X分量的所述绝对值大于零时,对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码; 在所述运动向量差值的所述y分量的所述绝对值大于零时,对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码; 在所述运动向量差值的所述X分量的所述绝对值大于零时,对所述运动向量差值的所述X分量的正负号进行译码;以及 在所述运动向量差值的所述y分量的所述绝对值大于零时,对所述运动向量差值的所述y分量的正负号进行译码。
27.根据权利要求26所述的计算机程序产品,其中所述致使所述一个或一个以上处理器进行译码的指令包括在被执行时致使所述一个或一个以上处理器进行编码的指令,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令:计算视频数据的所述当前块的运动向量;以及 将所述运动向量差值计算为视频数据的所述当前块的所述运动向量与针对视频数据的所述当前块所确定的运动向量预测符之间的差。
28.根据权利要求26所述的计算机程序产品,其中所述致使所述一个或一个以上处理器进行译码的指令包括在被执行时致使所述一个或一个以上处理器进行解码的指令,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令: 确定视频数据的所述当前块的运动向量预测符;以及 将视频数据的所述当前块的运动向量计算为所述运动向量差值与所述运动向量预测符的总和。
29.根据权利要求26所述的计算机程序产品,其进一步包括致使一个或一个以上可编程处理器进行以下操作的指令: 对表示视频数据的所述当前块的运动向量是具有第一子像素精度还是第二子像素精度的值进行译码,其中所述第二子像素精度大于所述第一子像素精度;且 其中所述致使所述一个或一个以上处理器对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码且对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码的指令包括在被执行时致使所述一个或一个以上处理器在所述运动向量具有所述第二子像素精度时在所述运动向量差值的所述X分量不等于零时且在所述运动向量差值的所述y分量不等于零时对表示所述运动向量差值的所述X分量和所述运动向量差值的所述y分量两者的值进行联合译码的指令。
30.根据权利要求29所述的计算机程序产品,其进一步包括致使所述一个或一个以上可编程处理器确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的指令,其包括致使所述一个或一个以上可编程处理器进行以下操作的指令: 确定与所述运动向量相关联的阈值;以及 在所述运动向量差值的所述X分量和所述运动向量差值的所述y分量两者大于所述阈值时,确定所述运动向量具有所述第一子像素精度。
31.根据权利要求30所述的计算机可编程产品,其中所述致使所述一个或一个以上可编程处理器确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的指令包括在被执行时致使所述一个或一个以上可编程处理器在所述运动向量差值的所述X分量以及所述运动向量差值的所述y分量中的至少一者小于或等于所述阈值时基于运动向量分辨率旗标的值来确定所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的指令。
32.根据权利要求29所述的计算机可编程产品,其中所述致使所述一个或一个以上可编程处理器对表示所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的所述值进行译码的指令包括在被执行时致使所述一个或一个以上可编程处理器对运动向量分辨率旗标的值进行译码的指令。
33.根据权利要求26所述的计算机可编程产品, 其中所述致使所述一个或一个以上可编程处理器对表示所述运动向量差值的所述X分量的所述绝对值的信息进行译码的指令包括在被执行时致使所述一个或一个以上处理器将所述运动向量差值的所述X分量的所述绝对值译码为mvd_x/2-l的指令,其中mvd_x包括所述运动向量差值的所述X分量;且 其中所述致使所述一个或一个以上处理器对表示所述运动向量差值的所述y分量的所述绝对值的信息进行译码的指令包括致使所述一个或一个以上处理器将所述运动向量差值的所述I分量的所述绝对值译码为mvd_y/2-l的指令,其中mvd_y包括所述运动向量差值的所述y分量。
【文档编号】H04N19/52GK103703781SQ201280032854
【公开日】2014年4月2日 申请日期:2012年6月29日 优先权日:2011年7月1日
【发明者】钱威俊, 陈培松, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1