CN103202016A - 用于视频译码的自适应运动向量分辨率信令 - Google Patents

用于视频译码的自适应运动向量分辨率信令 Download PDF

Info

Publication number
CN103202016A
CN103202016A CN2011800534709A CN201180053470A CN103202016A CN 103202016 A CN103202016 A CN 103202016A CN 2011800534709 A CN2011800534709 A CN 2011800534709A CN 201180053470 A CN201180053470 A CN 201180053470A CN 103202016 A CN103202016 A CN 103202016A
Authority
CN
China
Prior art keywords
motion vector
difference
decoding
vector difference
subpixel accuracy
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.)
Granted
Application number
CN2011800534709A
Other languages
English (en)
Other versions
CN103202016B (zh
Inventor
钱威俊
陈培松
马尔塔·卡切维奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103202016A publication Critical patent/CN103202016A/zh
Application granted granted Critical
Publication of CN103202016B publication Critical patent/CN103202016B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

一种视频编码器可经配置以自适应地为用以编码视频数据的运动向量选择子像素精度。所述视频编码器可进一步使用上下文自适应二进制算术译码来对所述子像素精度的指示进行熵编码,其中所述上下文可对应于用于所述运动向量的视频数据块的大小。举例来说,所述大小可对应于译码单元的深度、所述译码单元的预测单元的大小,和/或所述预测单元的类型。所述视频编码器还可使用双线性内插来内插用于色度数据的十六分之一像素位置的值。所述视频编码器可进一步使用对应于所述运动向量的所述子像素精度的编码方案来编码所述运动向量的运动向量差值。一种视频解码器可使用类似的互逆技术来解码所述视频数据。

Description

用于视频译码的自适应运动向量分辨率信令
技术领域
本发明涉及视频译码,且更明确地说,涉及帧间预测视频译码。
背景技术
数字视频能力可并入到较宽范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)界定的标准和所述标准的扩展部分中所描述的那些视频压缩技术,以更有效地发射和接收数字视频信息。
视频压缩技术执行空间预测和/或时间预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将一视频帧或切片分割成若干宏块。可进一步分割每一宏块。使用相对于相邻宏块的空间预测来对经帧内译码(I)帧或切片中的宏块进行编码。经帧间译码(P或B)帧或切片中的宏块可使用相对于同一帧或切片中的相邻宏块的空间预测或相对于其它参考帧的时间预测。
发明内容
一般来说,本发明描述用于支持视频译码期间的自适应运动向量分辨率(例如用于运动估计和运动补偿的自适应运动向量分辨率选择)的技术。举例来说,视频编码器可经配置以在编码视频数据块时为运动向量选择子整数像素精度的不同等级,例如八分之一像素精度或四分之一像素精度。就是说,基于所述选择,由视频编码器产生的块的运动向量可具有八分之一像素精度或四分之一像素精度。所述视频编码器可使用本发明的技术用信号通知针对运动向量的八分之一像素精度或四分之一像素精度的选择。
举例来说,视频编码器可使用上下文自适应二进制算术译码(CABAC)来对表示运动向量具有四分之一像素精度还是八分之一像素精度的值进行熵编码。为了对所述值进行熵编码,所述视频编码器可基于与视频数据块的大小有关的上下文来选择概率模型。可基于译码单元的深度、译码单元的预测单元的大小和/或预测单元的类型中的任一者或全部来确定上下文,其中所述类型可相对于译码单元的大小指定预测单元的形状。视频编码器可进一步经配置以基于运动向量的子整数像素精度(例如四分之一或八分之一像素精度)使用各种方案来对运动向量本身进行熵编码。当视频编码器计算具有八分之一像素精度的译码单元的亮度数据的运动向量时,视频编码器还可经配置以使用双线性内插来计算译码单元的色度数据的十六分之一像素位置的值。
在一个实例中,一种编码视频数据的方法包含:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码。
在另一实例中,一种编码视频数据的方法包含:使用针对亮度数据具有八分之一像素精度的运动向量来编码视频数据的译码单元的亮度数据;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及基于参考块的经双线性内插的值对译码单元的色度数据进行编码。
在另一实例中,一种编码视频数据的方法包含:在编码视频数据的第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来编码第一运动向量差值,其中第一运动向量差编码方案与第一子像素精度相关联;在编码视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量具有第二不同子像素精度;以及使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与第二子像素精度相关联。
在另一实例中,一种用于编码视频数据的设备包含视频编码器,其经配置以:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码。
在另一实例中,一种用于编码视频数据的设备包含:用于使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元的装置;用于确定用于使用上下文自适应二进制算术译码来编码运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文的装置,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及用于根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码的装置。
在另一实例中,一种计算机程序产品包含上面存储有指令的计算机可读存储媒体,所述指令在被执行时致使用于编码视频数据的装置的处理器:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码。
在另一实例中,一种解码视频数据的方法包含:接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元;接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示;确定用于解码所述指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码。
在另一实例中,一种解码视频数据的方法包含:接收针对视频数据的译码单元的亮度数据具有八分之一像素精度的运动向量;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及基于参考块的经双线性内插的值对译码单元的色度数据进行解码。
在另一实例中,一种解码视频数据的方法包含:接收视频数据的第一预测单元的第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来解码第一运动向量差值,其中第一运动向量差解码方案与第一子像素精度相关联;接收视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;以及使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与第二子像素精度相关联。
在另一实例中,一种用于解码视频数据的设备包含视频解码器,所述视频解码器经配置以:接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元;接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示;确定用于解码所述指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码。
在另一实例中,一种用于解码视频数据的设备包含:用于接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元的装置;用于接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示的装置;用于确定用于解码所述指示的上下文的装置,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及用于根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码的装置。
在另一实例中,一种计算机程序产品包含上面存储有指令的计算机可读存储媒体,所述指令在被执行时致使用于解码视频数据的装置的处理器:接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元;接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示;确定用于解码所述指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码。
附图说明
图1是说明可利用本发明的技术来支持自适应运动向量分辨率的实例视频编码和解码系统的框图。
图2是说明可实施用于支持自适应运动向量分辨率的技术的视频编码器的实例的框图。
图3是说明对经编码视频序列进行解码的视频解码器的实例的框图。
图4是说明全像素位置的分数像素位置的概念图。
图5A到5C是说明对应的色度和亮度像素位置的概念图。
图6是说明用于根据本发明的技术对视频数据进行编码的实例方法的流程图。
图7是说明用于对运动向量的子整数像素精度的指示进行熵编码的实例方法的流程图。
图8是说明用于在运动向量对于对应亮度数据具有八分之一像素精度时计算色度数据的十六分之一像素位置的值的实例方法的流程图。
图9是说明用于使用基于运动向量的子像素精度的熵译码方案对运动向量的运动向量差值进行熵编码的实例方法的流程图。
图10是说明用于根据本发明的技术对视频数据进行解码的实例方法的流程图。
具体实施方式
一般来说,本发明描述用于自适应地为用以编码视频数据块的运动向量选择运动向量精度且用信号通知为所述运动向量选择的运动向量精度的技术。所述技术可包含在子整数像素精度(有时称为分数像素精度)的不同等级之间自适应地选择。举例来说,所述技术可包含针对用以编码视频数据块的运动向量在四分之一像素精度与八分之一像素精度之间自适应地选择。本发明中的术语“八分之一像素”精度意在指代像素的八分之一(1/8)的精度,例如以下各项中的一者:全像素位置(0/8)、像素的八分之一(1/8)、像素的八分之二(2/8,也是像素的四分之一)、像素的八分之三(3/8)、像素的八分之四(4/8,也是像素的一半以及像素的四分之二)、像素的八分之五(5/8)、像素的八分之六(6/8,也是像素的四分之三),或像素的八分之七(7/8)。
常规的H.264编码器和解码器支持具有四分之一像素精度的运动向量。在一些例子中,八分之一像素精度可提供优于四分之一像素精度的某些优点。然而,将每个运动向量编码到八分之一像素精度可能需要过多的译码位,其可超过八分之一像素精度运动向量的益处。本发明的技术包含在适当时使用八分之一像素精度运动向量,否则使用四分之一像素精度运动向量,以及用信号通知运动向量是具有八分之一像素精度还是四分之一像素精度,使得解码器可确定编码器针对特定块所使用的精度。
为了避免将全位添加到用于每一运动向量的位流,作为指示运动向量是具有(例如)四分之一还是八分之一像素精度的旗标,本发明提出使用二进制算术译码方案(例如,上下文自适应二进制算术译码(CABAC))来编码运动向量的子像素精度的指示。CABAC提供用于基于使用上下文信息(例如,附近元素)来优化概率估计的概率模型来编码分数信息位的技术。根据本发明的技术,用于编码用于视频数据块(例如译码单元的预测单元)的运动向量的子像素精度的指示的上下文可对应于所述块的大小信息。
可从一个或一个以上来源得出用于译码单元的预测单元(PU)的大小信息。根据高效视频译码(HEVC),视频数据图片包含多个最大译码单元(LCU),其在概念上类似于ITU-TH.264/AVC中的宏块。可将LCU分割为四个子CU(子译码单元),其各自还可进一步分割为四个子CU。假定CU具有2Nx2N像素的大小,可将CU分割为若干子CU,其各自具有NxN像素的大小,且使得子CU不重叠。CU的一个属性是CU的“深度”,其大体上对应于到达当前CU所进行的分割次数。举例来说,假定LCU具有2Nx2N的大小,且当前CU(包括LCU的子CU)具有N/4的大小,则当前CU的深度将为3。
以此方式,可根据以下公式来确定译码单元的深度:
Figure BDA00003147879000061
其中假定LCU和CU在水平上和垂直上具有相等数目的像素,大小(CU)返回用于CU的水平像素的数目,且CU形成LCU的子CU。此外,假定包含所述CU作为子CU的LCU的大小是已知的,可根据以下公式基于CU的深度确定CU的大小:
Figure BDA00003147879000062
用于预测单元的大小信息也可包含预测单元自身的大小信息。举例来说,大小信息可对应于预测单元的水平和/或垂直像素的数目。大小信息还可包含预测单元的类型的指示。所述类型可对应于预测单元相对于包含预测单元的CU的大小的形状和大小。举例来说,假定CU具有2Nx2N像素的大小,对称预测单元类型可包含2Nx2N、2NxN、Nx2N或NxN,而不对称预测单元类型可包含2NxnU、2NxnD、nLx2N和nRx2N。
在不对称类型中,“nX”指代沿对应于X的方向的0.5N和1.5N的分裂,其中X=U指代PU的具有0.5N的高度的上部部分,X=D指代PU的具有0.5N的高度的下部部分,X=L指代PU的具有0.5N的宽度的左部部分,且X=R指代PU的具有0.5N的宽度的右部部分。举例来说,对于具有作为2NxnU类型分裂的PU的2Nx2N像素的CU,CU的上部不对称PU将具有2Nx0.5N像素的大小,而CU的下部不对称PU将具有2Nxl.5N像素的大小。
以此方式,用于编码用于CU的PU的运动向量的子像素精度的指示的上下文可包含CU的大小(其可描述为CU相对于包含所述CU的LCU的深度)以及PU的大小的任一部分或全部,PU的大小可依据PU的像素尺寸和/或相对于CU的大小来描述(例如,使用预测单元的类型)。举例来说,用于PU的运动向量可具有八分之一像素精度或四分之一像素精度,且所述指示可包括指示运动向量是具有八分之一像素精度还是四分之一像素精度的一位旗标。在其它实例中,其它精度可为可用的。
可相对于CU的亮度数据来指示运动向量的子像素精度。一般来说,CU的色度数据具有比CU的亮度数据低的空间分辨率。举例来说,色度数据可具有亮度数据的分辨率的一半,水平方向和垂直方向均如此。然而,为亮度数据计算的运动向量可再用以编码色度数据。因此,运动向量可对于CU的色度数据具有比CU的亮度数据高的精度。举例来说,如果运动向量对于亮度数据具有八分之一像素精度,且色度数据具有亮度数据的水平和垂直分辨率的一半,那么运动向量对于色度数据可具有十六分之一像素精度。本发明提出使用双线性内插来计算色度数据的十六分之一像素位置的值。
除使用运动向量来编码亮度和色度数据之外,还可编码运动向量本身。举例来说,视频编码器可通过计算运动向量与运动预测符之间的差来编码运动向量。视频编码器可选择运动预测符作为附近视频数据块的运动向量。举例来说,视频编码器可选择运动向量的中值作为运动预测符,且接着计算运动向量差作为用于预测单元的运动向量与运动预测符之间的差。本发明进一步提供用于基于预测单元的运动向量的子像素精度来编码预测单元的运动向量差值的技术。
举例来说,可为运动向量的潜在子像素精度界定不同的运动向量差编码方案。举例来说,当运动向量可具有八分之一像素精度或四分之一像素精度时,可为八分之一像素精度界定第一运动向量差编码方案,且可为四分之一像素精度界定第二运动向量差编码方案。以此方式,视频编码器可使用第一运动向量差编码方案来编码八分之一像素精度运动向量的运动向量差值,且使用第二运动向量差编码方案来编码四分之一像素精度运动向量的运动向量差值。
作为一个实例,可界定运动向量差编码方案以包含对编码方案特定的阈值。当运动向量差值低于阈值时,可使用第一类型的熵编码(例如,一元译码)来编码运动向量差值,而当运动向量差等于或大于阈值时,可使用第二类型的熵编码(例如,哥伦布(golomb)译码)来编码运动向量差值。阈值可基于对应于运动向量差值的运动向量的子像素精度(例如,四分之一像素精度或八分之一像素精度)而变化。
图1是说明可利用本发明的技术来支持自适应运动向量分辨率的实例视频编码和解码系统10的框图。举例来说,系统10可基于包含对应于运动向量的视频数据块的大小的上下文信息来编码和解码运动向量的子像素精度的指示。系统10还可使用双线性内插来内插用于色度数据的十六分之一子像素位置的值。系统10还可利用对应于用于与运动向量差对应的运动向量的子像素精度的不同运动向量差译码方案。
如图1中所示,系统10包含源装置12,其经由通信信道16将经编码的视频发射到目的地装置14。源装置12及目的地装置14可包括各种各样的装置中的任一者。在一些情况下,源装置12和目的地装置14可包括无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可在通信信道16上传送视频信息(在此情况下,通信信道16为无线的)的任何无线装置。然而,本发明的技术(其大体上涉及用于支持运动向量的自适应子像素精度的技术)不一定限于无线应用或设定。举例来说,这些技术可适用于空中电视广播、有线电视发射、卫星电视发射、因特网视频发射、经编码到存储媒体上的经编码的数字视频,或其它情况。因此,通信信道16可包括适合于发射经编码的视频数据的无线媒体或有线媒体的任何组合。
在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器(调制解调器)22以及发射器24。目的地装置14包含接收器26、调制解调器28、视频解码器30以及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于支持运动向量的自适应子像素精度的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而不是包含集成显示装置。
图1所说明的系统10仅为一个实例。用于支持运动向量的自适应子像素精度的技术可由任何数字视频编码和/或解码装置执行。尽管通常本发明的技术由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常称为“CODEC”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅为此些译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频重放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置,例如摄像机、含有先前捕获的视频的视频档案,和/或来自视频内容提供者的视频馈入。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(live video)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提到,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器20来编码经俘获的、经预先俘获的或计算机产生的视频。经编码的视频信息可接着由调制解调器22根据通信标准来调制,且经由发射器24而发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。
目的地装置14的接收器26经由信道16接收信息,且调制解调器28对所述信息进行解调。并且,视频编码过程可实施本文所述的用于支持运动向量的自适应子像素精度的技术中的一者或一者以上。经由信道16传送的信息可包含由视频编码器20界定的语法信息,其还由视频解码器30使用,所述语法信息包含描述宏块和其它经译码单元(例如,图片群组(GOP))的特性和/或处理的语法元素。显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图1的实例中,通信信道16可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网等全球网络的基于包的网络的部分。通信信道16一般表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。
视频编码器20和视频解码器30可根据视频压缩标准来操作,例如ITU-T H.264标准,或者称为MPEG-4第10部分高级视频译码(AVC)。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
ITU-T H.264/MPEG-4(AVC)标准是由ITU-T视频译码专家组(Video Coding ExpertsGroup,VCEG)连同ISO/IEC动画专家组(MPEG)制定以作为被称为联合视频小组(JointVideo Team,JVT)的集体伙伴关系的产品。在一些方面中,本发明中所描述的技术可应用于通常符合H.264标准的装置。ITU-T研究组在2005年3月在ITU-T推荐H.264“用于通用视听服务的高级视频译码(Advanced Video Coding for generic audiovisualservices)”中描述了H.264标准,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于H.264/AVC的扩展,且开发新的标准,例如针对HEVC。
视频编码器20和视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合等多种合适编码器电路中的任一者。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器20和视频解码器30中的任一者可作为组合式编码器/解码器(CODEC)的一部分而集成于相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器等中。
视频序列通常包含一系列视频帧。图片群组(GOP)通常包括一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头或其它地方中包含语法数据,其描述包含于GOP中的帧的数目。每一帧可包含帧语法数据,其描述相应帧的编码模式。视频编码器20通常对个别视频帧内的视频块进行操作以便对视频数据进行编码。一视频块可对应于一宏块或一宏块的一分区。所述视频块可具有固定的或变化的大小,且可根据指定的译码标准而大小不同。每一视频帧可包含多个切片。每一切片可包含多个宏块,所述多个宏块可布置成若干分区,所述分区还被称作子块。
举例来说,ITU-T H.264标准支持各种块大小(例如,针对亮度分量的16乘16、8乘8或4乘4,和针对色度分量的8×8)的帧内预测,以及各种块大小(例如,针对亮度分量的16×16、16×8、8×16、8×8、8×4、4×8和4×4,和针对色度分量的对应缩放的大小)的帧间预测。在本发明中,“NxN”与“N乘N”可互换使用,以指代依据垂直和水平尺寸的块的像素尺寸,例如16x16像素或16乘16像素。一般来说,16x16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样地,NxN块通常在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。一块中的像素可布置成若干行和若干列。此外,块无需必定在水平方向上与在垂直方向上具有相同数目的像素。举例来说,块可包括NxM个像素,其中M不一定等于N。
小于16乘16的块大小可称为16乘16宏块的分区。视频块可包括像素域中的像素数据块,或(例如)在对表示经译码的视频块与预测视频块之间的像素差异的残余视频块数据应用例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换等变换之后的在变换域中的变换系数的块。在一些情况下,视频块可包括变换域中的经量化变换系数的块。
较小视频块可提供较佳分辨率,且可用于包含较高细节水平的视频帧的定位。一般来说,宏块和各种分区(有时称为子块)可称为视频块。另外,可将切片视为多个视频块,例如宏块和/或子块。每一切片可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或可将帧的其它部分定义为可解码单元。术语“经译码单元”可指代例如整个帧、帧的切片、图片群组(GOP)等视频帧的任何可独立解码的单元(也称为序列),或根据适用的译码技术界定的另一可独立解码的单元。
当前正在进行努力来开发新的视频译码标准,当前称为高效视频译码(HEVC)。即将出现的标准也通俗地称为H.265。标准化努力是基于视频译码装置的模型,称为HEVC测试模型(HM)。HM假定视频译码装置优于根据例如ITU-T H.264/AVC的装置的若干能力。举例来说,H.264提供九种帧内预测编码模式,而HM提供多达三十三种帧内预测编码模式。
HM将视频数据的块称作译码单元(CU)。位流中的语法数据可界定最大译码单元(LCU),其为依据像素数目的最大译码单元。一般来说,CU具有与H.264的宏块类似的目的,只是CU不具有大小差别。因此,CU可分裂为若干子CU。一般来说,本发明中对CU的参考可指代图片的最大译码单元或LCU的子CU。可将LCU分裂为若干子CU,且每一子CU可分裂为若干子CU。用于位流的语法数据可界定LCU可分裂的最大次数,称为CU深度。因此,位流还可界定最小译码单元(SCU)。本发明还使用术语“块”来指代CU、PU或TU中的任一者。此外,在本发明提到涉及译码单元或CU的实例的情况下,应理解,可相对于代替译码单元的宏块来提供其它实例。
LCU可与四叉树数据结构相关联。一般来说,四叉树数据结构的每CU包含一个节点,其中根节点对应于LCU。如果CU分裂为四个子CU,那么对应于CU的节点包含四个叶节点,其各自对应于子CU中的一者。四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,指示对应于所述节点的CU是否被分裂为子CU。CU的语法元素可递归地界定,且可取决于CU是否分裂为子CU。
未分裂的CU(例如,对应于四叉树数据结构中的叶节点)可包含一个或一个以上预测单元(PU)。一般来说,PU表示对应CU的全部或一部分,且包含用于检索PU的参考样本的数据。举例来说,当PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含界定PU的运动向量的数据。界定运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或运动向量的参考列表(例如,列表0或列表1)。界定PU的CU的数据还可描述(例如)将CU分割为一个或一个以上PU。分割模式可在CU是否未经译码、经帧内预测模式编码或经帧间预测模式编码之间不同。
具有一个或一个以上PU的CU还可包含一个或一个以上变换单元(TU)。在使用PU的预测后,视频编码器可计算CU的对应于PU的部分的残余值。可变换、量化和扫描残余值。TU不一定限于PU的大小。因此,TU可大于或小于同一CU的对应PU。在一些实例中,TU的最大大小可对应于包含TU的CU的大小。
根据本发明的技术,视频编码器20可使用具有不同子整数像素精度的运动向量的一个或一个以上PU对CU进行帧间模式编码。举例来说,视频编码器20可在使用针对PU具有四分之一像素精度或八分之一像素精度的运动向量之间选择。视频编码器20还可提供PU的运动向量的子像素精度的指示。视频编码器20可使用CABAC来编码指示,且可选择使用CABAC来编码子像素精度的指示的上下文。所述上下文可对应于PU的大小信息,例如包含PU的CU的深度、PU的大小,和/或PU的类型。
上下文可因此对应于PU的大小信息。这些技术认识到PU可在不同CU深度具有不同大小。对不同运动向量分辨率(即,运动向量的子整数像素精度)的使用的统计可针对不同大小的PU而不同。举例来说,使用具有四分之一像素精度的运动向量的可能性可在不同CU大小、PU大小和PU类型之间不同。同样地,使用具有八分之一像素精度的运动向量的可能性可在不同CU大小、PU大小和PU类型之间不同。因此,本发明提供用于依据PU的大小信息来使用独立上下文建模的技术。视频编码器20可使用一个或一个以上上下文来编码运动向量的子整数像素精度的指示(例如,自适应运动向量分辨率(AMVRES)旗标)。上下文可取决于CU深度(且可由若干CU深度共享)、PU大小(且可由若干PU大小共享),和/或PU类型(且可由若干PU类型共享)。
以此方式,源装置12为包含经配置以使用针对亮度数据具有八分之一像素精度的运动向量来编码视频数据的译码单元的亮度数据、使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值,且基于参考块的经双线性内插的值对译码单元的色度数据进行编码的视频编码器的设备的实例。
视频编码器20还可编码运动向量,例如通过计算运动向量相对于运动向量预测符(也称为运动预测符)的运动向量差值。视频编码器20可基于运动向量的子像素精度来不同地编码运动向量差(MVD)值。就是说,视频编码器20可用不同MVD值编码方案来配置,所述方案各自对应于运动向量的不同可能子像素精度。举例来说,如果视频编码器20能够在运动向量的四分之一像素精度与八分之一像素精度之间选择,那么视频编码器20可用用于编码对应于四分之一像素精度运动向量的MVD值的第一MVD译码方案以及用于编码对应于八分之一像素精度运动向量的MVD值的第二MVD译码方案来配置。以此方式,视频编码器20可使用第一MVD译码方案来编码对应于具有四分之一像素精度的运动向量的MVD值,且可使用第二MVD译码方案来编码对应于具有八分之一像素精度的运动向量的MVD值。
举例来说,一般MVD译码方案可包含阈值。当MVD值小于阈值时,视频编码器20可使用一元码来编码MVD值。另一方面,当MVD值大于阈值时,视频编码器20可使用哥伦布码来编码MVD值。具有八分之一像素精度的运动向量的MVD值大约是具有四分之一像素精度的类似运动向量的MVD值的两倍大。举例来说,如果在八分之一像素精度中运动向量的垂直分量为10,且运动预测符为20,那么MVD值将为10。另一方面,四分之一像素精度中的同一运动向量将具有垂直分量5和运动预测符10,且因此,MVD值将为5。运动向量差的统计将可能针对四分之一像素精度对八分之一像素精度而不同。因此,在此实例中,视频编码器20可依据正编码的运动向量的子整数像素精度而包含不同阈值。
为了计算子整数像素位置的值,视频编码器20可包含多种内插滤波器。举例来说,可使用双线性内插来计算子整数像素位置的值。视频编码器20可经配置以执行相对于PU的亮度数据的运动搜索,以使用PU的亮度数据来计算运动向量。视频编码器20可接着再用运动向量来编码PU的色度数据。通常,色度数据具有比对应的亮度数据低的分辨率,例如亮度数据的分辨率的四分之一。因此,色度数据的运动向量可具有比亮度数据高的精度。举例来说,亮度数据的四分之一像素精度运动向量可具有针对色度数据的八分之一像素精度。类似地,亮度数据的八分之一像素精度运动向量可具有针对色度数据的十六分之一像素精度。在一些实例中,视频编码器20可例如在位流中提供MVD值是否超过MVD译码方案的阈值的指示。
以此方式,源装置12为包含视频编码器的设备的实例,所述视频编码器经配置以:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码运动向量是具有第一子像素精度还是第二子像素精度的指示的上下文,其中所述上下文包括译码单元的深度、预测单元的大小以及预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所确定的上下文来对指示进行熵编码。
HM已经配置以在编码色度数据时将亮度数据的八分之一像素精度运动向量量化为四分之一像素精度。因此,HM针对色度数据总是使用具有八分之一像素精度的运动向量。HM的设计者相信,使用具有十六分之一像素精度的运动向量将显著较复杂。另一方面,本发明的技术提出在运动向量针对对应亮度数据具有八分之一像素精度时,使用十六分之一像素精度运动向量来编码色度数据。为了在亮度数据的运动向量具有八分之一像素精度时编码色度数据,本发明提出使用双线性内插来内插十六分之一像素位置的值。用于产生本发明的技术的经验测试显示意外的结果,即,使用十六分之一像素精度运动向量的复杂性与使用八分之一像素精度运动向量来计算色度数据的值的复杂性相同。
以此方式,源装置12为包含视频编码器的设备的实例,所述视频编码器经配置以:在编码视频数据的第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来编码第一运动向量差值,其中第一运动向量差编码方案与第一子像素精度相关联;在编码视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;且使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与第二子像素精度相关联。
在用于产生预测数据和残余数据的帧内预测或帧间预测译码之后,且在用于产生变换系数的任何变换(例如,H.264/AVC中所使用的4×4或8×8整数变换或离散余弦变换DCT)之后,可执行对变换系数的量化。量化一般指代将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,在量化期间,可将n位值向下舍入到m位值,其中n大于m。
在量化之后,可(例如)根据内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码方法来执行经量化数据的熵译码。经配置以用于熵译码的处理单元或另一处理单元可执行其它处理功能,例如经量化系数的零游程长度译码,和/或例如经译码块样式(CBP)值、宏块类型、译码模式、LCU大小等语法信息的产生。
目的地装置14的视频解码器30可经配置以执行与本发明的视频编码器20的任何或所有技术类似且大体上对称的技术。举例来说,视频解码器30可经配置以接收界定其中CU的PU的运动向量的子像素精度的指示曾被编码的上下文的信息。视频编码器20可提供且视频解码器30可接收包含CU和PU的LCU的四叉树中的上下文信息。所述上下文信息可对应于CU和/或PU的大小信息,例如CU的深度、PU的大小,和/或PU的类型。视频解码器30可使用上下文信息来解码运动向量的子像素精度的指示,例如以确定运动向量是具有四分之一像素精度还是八分之一像素精度。举例来说,视频解码器30可使用上下文信息来执行逆熵译码过程,以对运动向量的子像素精度的指示进行熵解码。
以此方式,目的地装置14为包含视频解码器的设备的实例,所述视频解码器经配置以:接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元;接收所述运动向量是具有第一子像素精度还是第二子像素精度的经上下文自适应二进制算术译码的指示;确定用于解码所述指示的上下文,其中所述上下文包括译码单元的深度、预测单元的大小以及预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所确定的上下文来对指示进行熵解码。
如上文所述,可使用计算为运动向量与运动预测符之间的差的MVD值来编码运动向量。视频解码器30可用与用于选择运动预测符的视频编码器20的那些技术大体上并行的技术来配置。举例来说,视频编码器20和视频解码器30均可经配置以为当前PU选择运动预测符,作为相邻的先前译码PU的运动向量的中值。因此,视频解码器30可通过将运动向量的MVD值与运动预测符相加来解码运动向量。
此外,根据本发明的技术,视频解码器30可基于运动向量的子像素精度用不同MVD解码方案来配置。因此,视频解码器30可基于运动向量的子像素精度来选择要应用的MVD解码方案,如从上文所论述的子像素精度的所接收指示确定。举例来说,当第一MVD值对应于八分之一像素精度的指示时,视频解码器30可将第一MVD译码方案应用于第一MVD值,且当第二MVD值对应于四分之一像素精度的指示时,视频解码器30可将第二MVD译码方案应用于第二MVD值。在其它实例中,其它MVD译码方案可对应于运动向量的其它子像素精度。
以此方式,目的地装置14为包含视频解码器的设备的实例,所述视频解码器经配置以:接收视频数据的第一预测单元的第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来解码第一运动向量差值,其中第一运动向量差解码方案与第一子像素精度相关联;接收视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;且使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与第二子像素精度相关联。
此外,视频解码器30可经配置以再用针对CU的亮度数据而接收的运动向量来解码CU的色度数据。并且,如果亮度数据的运动向量具有(例如)八分之一像素精度,且CU的色度数据被下取样四分之一(水平和垂直上的二分之一分辨率),那么运动向量针对色度数据可具有十六分之一像素精度。视频解码器30可经配置以使用双线性内插来内插十六分之一像素精度位置的值,而不是将八分之一像素精度运动向量(针对亮度数据)量化到四分之一像素精度。
以此方式,目的地装置14为包含视频解码器的设备的实例,所述视频解码器经配置以:接收针对视频数据的译码单元的亮度数据具有八分之一像素精度的运动向量;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;且基于参考块的经双线性内插的值对译码单元的色度数据进行解码。
视频编码器20和视频解码器30各自可实施为多种合适编码器或解码器电路中的任一者(如适用),例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包含在一个或一个以上编码器或解码器中,其中的任一者可集成为组合式视频编码器/解码器(CODEC)的部分。包含视频编码器20和/或视频解码器30的设备可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。
图2是说明可实施用于支持自适应运动向量分辨率的技术的视频编码器20的实例的框图。视频编码器20可执行视频帧内的块(包含LCU、CU和PU)的帧内和帧间预测,且计算可编码为TU的残余值。帧内译码依靠空间预测来减少或去除给定视频帧内的视频中的空间冗余。帧间译码依靠时间预测来减少或去除视频序列的邻近帧内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。运动估计单元42和运动补偿单元44可执行帧间预测译码,而帧内预测单元46可执行帧内预测译码。
如图2中所示,视频编码器20接收待编码视频帧内的当前视频块。在图2的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、帧内预测单元46、参考帧存储装置64、求和器50、变换单元52、量化单元54以及熵译码单元56。对于视频块重建,视频编码器20还包含逆量化单元58、逆变换单元60以及求和器62。还可包含解块滤波器(图2中未展示)以对块边界进行滤波,以从经重建的视频去除成块假象。在需要时,解块滤波器将通常对求和器62的输出进行滤波。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。可将帧或切片划分为多个视频块(例如,LCU)。运动估计单元42和运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块执行所接收的视频块的帧间预测译码以提供时间压缩。帧内预测单元46可相对于与待译码的块在同一帧或切片中的一个或一个以上相邻块执行所接收视频块的帧内预测译码以提供空间压缩。
模式选择单元40可例如基于误差结果选择译码模式(帧内或帧间)中的一者,且将所得经帧内译码或帧间译码块提供给求和器50以产生残余块数据,且提供给求和器62以重建经编码块以用作参考帧。当模式选择单元40为块选择帧间模式编码时,分辨率选择单元48可为所述块的运动向量选择分辨率。举例来说,分辨率选择单元48可为所述块的运动向量选择八分之一像素精度或四分之一像素精度。
举例来说,分辨率选择单元48可经配置以比较使用四分之一像素精度运动向量来编码块与使用八分之一像素精度运动向量来编码块之间的误差差异。运动估计单元42可经配置以在第一译码遍次中使用一个或一个以上四分之一像素精度运动向量且在第二译码遍次中使用一个或一个以上八分之一像素精度运动向量来编码块。运动估计单元42可进一步在第三编码遍次中针对所述块使用一个或一个以上四分之一像素精度运动向量和一个或一个以上八分之一像素精度运动向量的多种组合。分辨率选择单元48可针对块的每一编码遍次计算速率失真值,且计算所述速率失真值之间的差。
当所述差超过阈值时,分辨率选择单元48可选择八分之一像素精度运动向量来编码所述块。分辨率选择单元48还可评估速率失真信息,分析位预算,且/或分析其它因素以确定当在帧间模式预测过程期间编码块时对运动向量是使用八分之一像素精度还是四分之一像素精度。在为待帧间模式编码的块选择八分之一像素精度或四分之一像素精度之后,模式选择单元40或运动估计可将指示为运动向量选择的精度的消息(例如,信号)发送到运动估计单元42。
运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。运动估计是产生估计视频块的运动的运动向量的过程。运动向量(例如)可指示预测参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测块是被发现在像素差方面密切地匹配待译码的块的块,像素差可由绝对差和(SAD)、平方差和(SSD)或其它差量度确定。运动向量还可指示宏块的分区的位移。运动补偿可涉及基于运动估计所确定的运动向量来获取或产生预测块。并且,在一些实例中,运动估计单元42和运动补偿单元44可在功能上集成。
运动估计单元42通过将视频块与参考帧存储装置64中的参考帧的视频块进行比较来计算经帧间译码帧的视频块的运动向量。运动补偿单元44还可内插参考帧(例如,I帧或P帧)的子整数像素。举例来说,ITU H.264标准描述两个列表:列表0,其包含具有比正编码的当前帧早的显示次序的参考帧;以及列表1,其包含具有比正编码的当前帧迟的显示次序的参考帧。因此,可根据这些列表来组织存储在参考帧存储装置64中的数据。
根据本发明的技术,运动补偿单元44可经配置以在CU的亮度数据的运动向量具有八分之一像素精度时内插CU的色度数据的十六分之一像素位置的值。为了内插色度数据的十六分之一像素位置的值,运动补偿单元44可利用双线性内插。因此,求和器50可相对于参考块的十六分之一像素位置的经双线性内插值来计算CU的色度数据的残余。以此方式,当译码单元的亮度数据是使用针对亮度数据具有八分之一像素精度的运动向量来编码时,视频编码器20可使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值,且基于参考块的经双线性内插值来编码译码单元的色度数据。
运动估计单元42将来自参考帧存储装置64的一个或一个以上参考帧的块与当前帧(例如P帧或B帧)的待编码块进行比较。当参考帧存储装置64中的参考帧包含子整数像素的值时,由运动估计单元42计算的运动向量可指代参考帧的子整数像素位置。如果没有用于子整数像素位置的值存储在参考帧存储装置64中,那么运动估计单元42和/或运动补偿单元44还可经配置以计算存储在参考帧存储装置64中的参考帧的子整数像素位置的值。运动估计单元42将所计算的运动向量发送到熵译码单元56和运动补偿单元44。由运动向量识别的参考帧块可称作预测块。
运动估计单元42、运动补偿单元44、模式选择单元40或视频编码器20的另一单元还可用信号通知用以编码块的运动向量的四分之一像素精度或八分之一像素精度的使用。举例来说,运动估计单元42可将运动向量的子整数像素精度的指示发送到熵译码单元56。运动估计单元42还可将与对应于运动向量的PU的大小信息有关的上下文信息提供给熵译码单元56,其中所述大小信息可包含包括PU的CU的深度、PU的大小和/或PU的类型中的任一者或全部。
运动补偿单元44可基于预测块计算预测数据。视频编码器20通过从正译码的原始视频块减去来自运动补偿单元44的预测数据而形成残余视频块。求和器50表示执行此减法运算的组件。变换单元52对残余块应用例如离散余弦变换(DCT)或概念上类似的变换等变换,从而产生包括残余变换系数值的视频块。
变换单元52可执行其它变换,例如由H.264标准界定的那些变换,其概念上类似于DCT。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换单元52均将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。量化单元54量化残余变换系数以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。
在量化之后,熵译码单元56对经量化变换系数进行熵译码。举例来说,熵译码单元56可执行内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC),或另一熵译码技术。在熵译码单元56进行的熵译码之后,可将经编码视频发射到另一装置或加以存档以供以后发射或检索。在上下文自适应二进制算术译码的情况下,上下文可基于相邻宏块。
在一些情况下,熵译码单元56或视频编码器20的另一单元可经配置以执行除熵译码之外的其它译码功能。举例来说,熵译码单元56可经配置以确定宏块和分区的CBP值。并且,在一些情况下,熵译码单元56可执行其宏块或分区中的系数的游程长度译码。明确地说,熵译码单元56可应用曲折扫描或其它扫描模式来扫描宏块或分区中的变换系数,且编码若干零的游程以用于进一步压缩。熵译码单元56还可用适当的语法元素建构标头信息以用于在经编码视频位流中进行发射。
根据本发明的技术,熵译码单元56可经配置以编码运动向量的子像素精度的指示,例如以指示运动向量是具有四分之一像素精度还是八分之一像素精度(或在各种实例中,其它子像素精度)。熵译码单元56可使用CABAC来编码指示。此外,熵译码单元56可使用上下文信息来执行CABAC以编码指示对应于运动向量的PU的大小信息的指示,其中所述大小信息可包含包括PU的CU的深度、PU的大小和/或PU的类型中的任一者或全部。
运动估计单元42可进一步计算运动向量的运动向量差(MVD)值,并将MVD值而不是运动向量本身传递到熵译码单元56。熵译码单元56可以多种MVD译码方案配置,各自与运动向量的子像素精度有关。因此,熵译码单元56可使用对应于与MVD值对应的运动向量的子像素精度的MVD译码方案来编码运动向量的MVD值。
作为一个实例,熵译码单元56可以用于四分之一像素精度的第一MVD译码方案以及用于八分之一像素精度的第二MVD译码方案配置。第一MVD译码方案可包括在MVD值小于阈值时使用一元码字且在MVD值大于或等于阈值时使用哥伦布码字来译码MVD值。用于第一编码方案的阈值可包括值(例如)十。第二MVD译码方案可包括在MVD值小于阈值时使用一元码字且在MVD值大于或等于阈值时使用哥伦布码字来译码MVD值,其中所述阈值对于第二MVD译码方案可包括值(例如)五。基于为对应于四分之一像素精度和八分之一像素精度运动向量的MVD值搜集的不同统计,第一和第二MVD译码方案中的一元码字和哥伦布码字可为不同的。熵译码单元56可输出MVD值的经译码(例如,一元或哥伦布)表示。在一些实例中,熵译码单元56可提供MVD值是否超过其对应阈值的指示(例如,一位旗标),且因此隐含地可提供经译码表示是否包括一元或哥伦布码字的指示。
逆量化单元58和逆变换单元60分别应用逆量化和逆变换,以在像素域中重建残余块,例如以供稍后用作参考块。运动补偿单元44可通过将残余块加到参考帧存储装置64的帧中的一者的预测块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建的残余块,以计算子整数像素值以供运动估计中使用。求和器62将经重建残余块加到由运动补偿单元44所产生的经运动补偿预测块以产生经重建视频块以供存储于参考帧存储装置64中。经重建的视频块可由运动估计单元42和运动补偿单元44用作用以对后续视频帧中的块进行帧间译码的参考块。
以此方式,图2表示经配置以进行以下动作的视频编码器的实例:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码运动向量是具有第一子像素精度还是第二子像素精度的指示的上下文,其中所述上下文包括译码单元的深度、预测单元的大小以及预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所确定的上下文来对指示进行熵编码。
同样地,图2表示经配置以进行以下动作的视频编码器的实例:使用针对亮度数据具有八分之一像素精度的运动向量来编码视频数据的译码单元的亮度数据;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及基于参考块的经双线性内插的值对译码单元的色度数据进行编码。
此外,图2表示经配置以进行以下动作的视频编码器的实例:在编码视频数据的第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来编码第一运动向量差值,其中第一运动向量差编码方案与第一子像素精度相关联;在编码视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;且使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与第二子像素精度相关联。
图3是说明对经编码视频序列进行解码的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考帧存储装置82和求和器80。视频解码器30在一些实例中可执行一般与关于视频编码器20(图2)所描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据。
熵解码单元70可例如经由网络、广播或从物理媒体接收经编码位流。经编码位流可包含经熵译码的视频数据。根据本发明的技术,经熵译码的视频数据可包含CU的PU的运动向量的子整数像素精度的经熵译码指示。所述经熵译码的视频数据还可包含包括CU和PU的LCU的四叉树数据结构。所述四叉树数据结构可包含描述PU的大小信息的数据,例如包含PU的CU的深度、PU的大小和/或PU的类型。当对运动向量的子像素精度的指示进行熵解码时,熵解码单元70可使用所述大小信息作为上下文信息。以此方式,熵解码单元70可解码运动向量的子整数像素精度的指示,且将所述指示发送到运动补偿单元72。
熵解码单元70还可接收PU的经编码运动向量差(MVD)值。熵解码单元70可使用为运动向量确定的子整数像素精度来确定将应用于PU的MVD值的熵解码方案。明确地说,熵解码单元70可以多种不同MVD解码方案配置,所述方案各自与运动向量的相应子像素精度相关联。熵解码单元70可选择与由所述指示(如上文所论述而解码)指示的子像素精度相关联的MVD解码方案来解码MVD值。熵解码单元70可将经解码的MVD值发送到运动补偿单元72,其可例如相对于运动预测符来解码PU的运动向量,所述运动预测符可对应于相邻的先前译码PU的运动向量的中值。
运动补偿单元72可使用在位流中接收到的运动向量来识别参考帧存储装置82中的参考帧中的预测块。帧内预测单元74可使用在位流中所接收的帧内预测模式以从空间上邻近的块形成预测块。逆量化单元76将提供于位流中且由熵解码单元70解码的经量化的块系数逆量化(即,解量化)。逆量化过程可包含(例如)如通过H.264解码标准界定的常规过程。逆量化过程还可包含使用视频编码器20针对每一宏块计算的量化参数QPY来确定量化的程度,且同样地确定应当应用的逆量化的程度。
逆变换单元58对变换系数应用逆变换(例如,逆DCT、逆整数变换,或概念上类似的逆变换过程),以便产生像素域中的残余块。运动补偿单元72产生经运动补偿的块,可能执行基于内插滤波器的内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含在语法元素中。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。根据本发明的技术,当运动向量针对亮度数据具有八分之一像素精度时,运动补偿单元72可内插参考块的色度数据的十六分之一像素位置的值。举例来说,运动补偿单元72可使用双线性内插来内插所述参考块的十六分之一像素位置的值。
运动补偿单元72使用语法信息中的一些来确定用于编码经编码视频序列的帧和/或切片的LCU和CU的大小、描述经编码视频序列的帧的每一宏块如何分割的分区信息、指示如何编码每一分区的模式、用于每一经帧间编码的CU的一个或一个以上参考帧(以及参考帧列表),以及用以解码经编码视频序列的其它信息。
求和器80将残余块与由运动补偿单元72或帧内预测单元产生的对应预测块进行求和以形成经解码块。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块假象。接着将经解码的视频块存储于参考帧存储装置82中,参考帧存储装置82提供用于后续运动补偿的参考块且还产生用于在显示装置(例如,图1的显示装置32)上呈现的经解码视频。
以此方式,图3表示经配置以进行以下动作的视频解码器的实例:接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元;接收所述运动向量是具有第一子像素精度还是第二子像素精度的经上下文自适应二进制算术译码的指示;确定用于解码所述指示的上下文,其中所述上下文包括译码单元的深度、预测单元的大小以及预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所确定的上下文来对指示进行熵解码。
图3还表示经配置以进行以下动作的视频解码器的实例:接收针对视频数据的译码单元的亮度数据具有八分之一像素精度的运动向量;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;且基于参考块的经双线性内插的值对译码单元的色度数据进行解码。
图3进一步表示经配置以进行以下动作的视频解码器的实例:接收视频数据的第一预测单元的第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来解码第一运动向量差值,其中第一运动向量差解码方案与第一子像素精度相关联;接收视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;且使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与第二子像素精度相关联。
图4是说明全像素位置的分数像素位置的概念图。明确地说,图4说明全像素(像素)100的分数像素位置。全像素100对应于半像素位置102A到102C(半像素102)、四分之一像素位置104A到104L(四分之一像素104),以及八分之一像素位置106A到106AV(八分之一像素106)。
图4说明使用虚线轮廓来指示这些位置可任选地包含的块的八分之一像素位置106。就是说,如果运动向量具有八分之一像素精度,那么所述运动向量可指向全像素位置100、半像素位置102、四分之一像素位置104或八分之一像素位置106中的任一者。然而,如果运动向量具有四分之一像素精度,那么所述运动向量可指向全像素位置100、半像素位置102或四分之一像素位置104中的任一者,但将不指向八分之一像素位置106。应进一步理解,在其它实例中,可使用其它精度,例如十六分之一像素精度、三十二分之一像素精度等。
全像素位置100处的像素的值可包含于对应的参考帧中。就是说,全像素位置100处的像素的值通常对应于参考帧中的像素的实际值,例如其在显示参考帧时最终被再现和显示。可使用自适应内插滤波器或固定内插滤波器(例如各种数目的“分接头”(系数)的滤波器,例如各种维纳(Wiener)滤波器、双线性滤波器或其它滤波器)来内插半像素位置102、四分之一像素位置104和八分之一像素位置106(统称为分数像素位置)的值。一般来说,分数像素位置的值可从一个或一个以上相邻像素内插,所述相邻像素对应于相邻全像素位置或先前确定的分数像素位置的值。
根据本发明的技术,视频编码器(例如视频编码器20)可自适应地为运动向量选择子像素精度,例如八分之一像素精度与四分之一像素精度之间。视频编码器20可针对每一运动向量、每一CU、每一LCU、每一切片、每一帧、每一GOP或视频数据的其它经译码单元作出此选择。当视频编码器20为运动向量选择四分之一像素精度时,运动向量可指代全像素位置100、半像素位置102或四分之一像素位置104中的任一者。当视频编码器20为运动向量选择八分之一像素精度时,运动向量可指代全像素位置100、半像素位置102、四分之一像素位置104或八分之一像素位置106中的任一者。
图5A到5C是说明对应的色度和亮度像素位置的概念图。图5A到5C还说明为亮度数据计算的运动向量可如何再用于色度数据。作为初步事项,图5A到5C说明像素位置的局部行。应理解,在实践中,全像素位置可具有相关联分数像素位置的矩形网格,例如图4中所说明。图5A到5C的实例意在说明本发明中所描述的概念,且无意作为分数色度像素位置与分数亮度像素位置之间的对应性的详尽列举。
图5A到5C说明亮度块的像素位置,包含全亮度像素位置110、半亮度像素位置116、四分之一像素位置112以及八分之一亮度像素位置114A、114B。图5A到5C还说明色度块的对应像素位置,包含全色度像素位置120、四分之一色度像素位置122、八分之一色度像素位置124以及十六分之一色度像素位置126A、126B。在此实例中,全色度像素120对应于全亮度像素110。另外,在此实例中,色度块相对于亮度块在水平上和垂直上以因子二下取样。因此,四分之一色度像素122对应于半亮度像素116。类似地,八分之一色度像素124对应于四分之一亮度像素112,十六分之一色度像素126A对应于八分之一亮度像素114A,且十六分之一色度像素126B对应于八分之一亮度像素114B。
图5A说明指向全亮度像素位置110的亮度运动向量118A的实例。例如视频编码器20或视频解码器30等视频译码单元可在执行对色度块的运动补偿时再用亮度运动向量118A。因此,归因于全色度像素120与全亮度像素110之间的对应性,色度运动向量128A可指向全色度像素120。色度运动向量128A所指向的像素的值可等于全色度像素120的值。因此,可将预测色度块中的每一像素设定为等于参考帧中的对应像素。
图5B说明指向四分之一亮度像素位置112的亮度运动向量118B的实例。色度运动向量128B又指向八分之一色度像素位置124。视频译码单元可使用与八分之一色度像素位置124相关联的内插滤波器来内插用于八分之一色度像素位置124的值。
图5C说明指向八分之一亮度像素位置114A的亮度运动向量118C的实例。色度运动向量128C又指向十六分之一色度像素位置126A。视频译码单元可根据本发明的技术,使用双线性内插来内插用于十六分之一色度像素位置126A的值。举例来说,视频编码器20可在为亮度数据计算的运动向量(例如,亮度运动向量118C)指代亮度数据的八分之一像素位置114A时,使用双线性内插来内插用于十六分之一像素位置126A的值,以编码CU的色度数据。同样地,视频解码器30可在为亮度数据接收的运动向量(例如,亮度运动向量118C)指代亮度数据的八分之一像素位置114A时,使用双线性内插来内插用于十六分之一像素位置126A的值,以解码CU的色度数据。
图6是说明用于根据本发明的技术对视频数据进行编码的实例方法的流程图。尽管出于实例目的关于视频编码器20(图1和2)来描述,但应理解,图6的技术可由任何视频译码单元来执行。此外,在不脱离本发明的技术的情况下,图6中所说明的步骤可以不同次序执行,可省略某些步骤,且可添加额外步骤。
最初,视频编码器20可接收视频数据的块(例如,CU)(150)。分辨率选择单元48可确定是使用八分之一像素精度还是四分之一像素精度运动向量来编码CU的PU(152)。举例来说,视频编码器20可执行两个编码遍次:一个使用八分之一像素精度,且另一个使用四分之一像素精度,且分辨率选择单元48可比较从所述两个编码遍次得出的速率失真值,以确定是使用八分之一像素精度还是四分之一像素精度运动向量来编码PU。
在一些实例中,例如在分辨率选择单元48确定应使用八分之一像素精度运动向量的情况下,视频编码器20可双线性地内插用于存储在参考帧存储装置64中的色度参考帧的十六分之一像素位置的值(154)。视频编码器20无需总是内插用于十六分之一像素位置的值,且因此,将步骤154说明为具有虚线轮廓以指示此步骤是任选的。
在任一情况下,视频编码器20可接着使用选定精度的运动向量来编码所述块(例如,CU)(156)。举例来说,运动估计单元42可执行对CU的PU的运动搜索,从而将PU的亮度数据与参考帧的亮度数据进行比较,以计算具有为亮度数据选择的精度的运动向量。运动补偿单元44可接着使用所述运动向量来检索PU的亮度数据,以及使用同一运动向量检索PU的色度数据。运动补偿单元44可再次使用双线性内插来计算参考块的十六分之一像素位置的值。运动补偿单元44可将参考块作为PU的预测值提供给求和器50,致使求和器50计算PU的残余,例如所述预测值与PU的实际值之间的差。
以此方式,图6的方法表示包含以下各项的方法的实例:使用针对亮度数据具有八分之一像素精度的运动向量来编码视频数据的译码单元的亮度数据;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及基于参考块的经双线性内插的值对译码单元的色度数据进行编码。
运动估计单元42或分辨率选择单元48可将运动向量的选定子像素精度的指示以及PU的大小信息提供给熵译码单元56。PU的大小信息可包含(例如)包括PU的CU的深度、PU的大小和/或PU的类型。熵译码单元56可基于大小信息确定PU的上下文(158)。熵译码单元56可基于所确定的PU的上下文对运动向量的子整数像素精度的指示进行熵编码(160)。
以此方式,图6表示包含以下各项的方法的实例:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码运动向量是具有第一子像素精度还是第二子像素精度的指示的上下文,其中所述上下文包括译码单元的深度、预测单元的大小以及预测单元的类型中的至少一者;以及根据上下文自适应二进制算术译码使用所确定的上下文来对指示进行熵编码。
运动估计单元42还可计算运动向量例如相对于运动预测符的运动向量差值(162)。在一些实例中,熵译码单元56、运动补偿单元44或视频编码器20的另一单元可计算所述运动向量差值。在任何情况下,视频编码器20可将运动预测符例如选择为相邻的先前编码的PU的运动向量的中值。视频编码器20可接着计算当前PU的运动向量与运动预测符之间的差。
熵译码单元56可接着基于当前PU的运动向量的子整数像素精度来选择用以编码运动向量差值的运动向量差编码方案。熵译码单元56可接着基于运动向量的子像素精度使用运动向量差译码方案来编码运动向量差值(164)。
图6的方法可执行多次,且所述方法的每次执行可对应于不同子整数像素精度的运动向量。因此,执行图6的方法可包括包含以下各项的方法的实例:在编码视频数据的第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来编码第一运动向量差值,其中第一运动向量差编码方案与第一子像素精度相关联;在编码视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;以及使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与第二子像素精度相关联。
在编码运动向量差值(以形成经编码运动向量)以及所述运动向量的子整数像素精度的指示之后,熵译码单元56可输出经编码的运动向量以及运动向量的精度的指示(166)。在一些实例中,例如当各种运动向量编码方案包含对应于相应子整数像素精度的不同阈值时,熵译码单元56还可输出运动向量差是否超过相应阈值(例如,一位旗标)的指示。
图7是说明用于对运动向量的子整数像素精度的指示进行熵编码的实例方法的流程图。尽管出于实例目的相对于视频编码器20(图1和2)来描述,但应理解,图7的技术可由任何视频译码单元来执行。此外,在不脱离本发明的技术的情况下,图7中所说明的步骤可以不同次序执行,可省略某些步骤,且可添加额外步骤。
最初,视频编码器20可接收视频数据的块(例如,CU)(200)。分辨率选择单元48可确定是使用八分之一像素精度还是四分之一像素精度运动向量来编码CU的PU(202)。举例来说,视频编码器20可执行两个编码遍次:一个使用八分之一像素精度,且另一个使用四分之一像素精度,且分辨率选择单元48可比较从所述两个编码遍次得出的速率失真值,以确定是使用八分之一像素精度还是四分之一像素精度运动向量来编码PU。
视频编码器20可接着使用选定精度的运动向量来编码CU(204)。举例来说,运动估计单元42可执行对CU的PU的运动搜索,从而将PU的亮度数据与参考帧的亮度数据进行比较,以计算具有为亮度数据选择的精度的运动向量。运动补偿单元44可接着使用所述运动向量来检索PU的亮度数据,以及使用同一运动向量检索PU的色度数据。
熵译码单元56可接收运动向量的选定精度的指示以及CU的PU的大小信息(206)。大小信息可包含CU的深度、PU的大小和/或PU的类型中的任一者或全部。熵译码单元56可基于大小信息确定用于编码运动向量的选定精度的指示的上下文(208)。
在一些实例中,熵译码单元56可收集上下文与上下文中的运动向量的精度的每一配对的统计。以此方式,熵译码单元56可确定特定上下文中的运动向量的特定子像素精度的可能性。基于这些统计,熵译码单元56可基于运动向量的上下文对运动向量的精度的指示进行熵编码(210)。举例来说,熵译码单元56可执行上下文自适应二进制算术译码以使用分数位来编码所述指示。
以此方式,图7表示包含以下各项的方法的实例:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码运动向量是具有第一子像素精度还是第二子像素精度的指示的上下文,其中所述上下文包括译码单元的深度、预测单元的大小以及预测单元的类型中的至少一者;以及根据上下文自适应二进制算术译码使用所确定的上下文来对指示进行熵编码。
图8是说明用于在运动向量对于对应亮度数据具有百分之一像素精度时计算色度数据的十六分之一像素位置的值的实例方法的流程图。尽管出于实例目的相对于视频编码器20(图1和2)来描述,但应理解,图8的技术可由任何视频译码单元来执行。此外,在不脱离本发明的技术的情况下,图8中所说明的步骤可以不同次序执行,可省略某些步骤,且可添加额外步骤。
最初,视频编码器20可接收视频数据的块(例如,CU)(220)。在图8的实例中,分辨率选择单元48可确定使用PU的运动向量的八分之一像素精度来编码CU的PU(222)。基于此确定,运动补偿单元44可计算参考帧存储装置64所存储的参考帧中的亮度数据的八分之一像素位置的值(224)。
运动估计单元42可接着相对于参考帧的亮度数据执行对PU的运动搜索(226)。举例来说,运动估计单元42可计算PU的亮度数据与参考帧的亮度数据之间的误差,从而分析参考帧的八分之一像素位置以及全像素位置。运动估计单元42可接着为PU选择参考块(228),例如得出最低误差的参考块。
视频编码器20可接着相对于参考块的亮度数据编码PU的亮度数据(230)。举例来说,求和器50可计算参考块的亮度数据与正编码的PU之间的逐像素差以形成残余块。视频编码器20可接着例如通过变换残余块、量化经变换的块且扫描并编码经量化经变换块的系数来编码残余块以形成变换单元(TU)。
运动补偿单元44还可内插参考块的色度数据的值。根据本发明的技术,因为由运动估计单元42产生的运动向量具有八分之一像素精度,所以运动补偿单元44可使用双线性内插来内插参考块的色度数据的十六分之一像素位置的值(232)。视频编码器20可接着相对于经内插的参考块来编码PU的色度数据(234)。举例来说,求和器50可将残余块计算为参考块与PU的色度部分之间的逐像素差。并且,可以与亮度块类似的方式来变换、量化、扫描和熵编码此残余块。
以此方式,图8表示包含以下各项的方法的实例:使用针对亮度数据具有八分之一像素精度的运动向量来编码视频数据的译码单元的亮度数据;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及基于参考块的经双线性内插的值对译码单元的色度数据进行编码。
图9是说明用于使用基于运动向量的子像素精度的熵译码方案对运动向量的运动向量差值进行熵编码的实例方法的流程图。尽管出于实例目的相对于视频编码器20(图1和2)来描述,但应理解,图9的技术可由任何视频译码单元来执行。此外,在不脱离本发明的技术的情况下,图9中所说明的步骤可以不同次序执行,可省略某些步骤,且可添加额外步骤。
最初,视频编码器20可接收视频数据的块(例如,CU)(250)。分辨率选择单元48可确定是使用八分之一像素精度还是四分之一像素精度运动向量来编码CU的PU(252)。举例来说,视频编码器20可执行两个编码遍次:一个使用八分之一像素精度,且另一个使用四分之一像素精度,且分辨率选择单元48可比较从所述两个编码遍次得出的速率失真值,以确定是使用八分之一像素精度还是四分之一像素精度运动向量来编码PU。
视频编码器20可接着使用选定精度的运动向量来编码CU(254)。举例来说,运动估计单元42可执行对CU的PU的运动搜索,从而将PU的亮度数据与参考帧的亮度数据进行比较,以计算具有为亮度数据选择的精度的运动向量。运动补偿单元44可接着使用所述运动向量来检索PU的亮度数据,以及使用同一运动向量检索PU的色度数据。
熵译码单元56可接着编码运动向量本身。举例来说,熵译码单元56可为运动向量选择运动预测符(256),例如为相邻的先前编码的PU的运动向量的中值。熵译码单元56可接着计算所接收PU的运动向量与运动预测符之间的运动向量差(MVD)(258)。
熵译码单元56可接着选择与当前PU的运动向量的选定精度相关联的MVD译码方案(260)。熵译码单元56可接着使用选定MVD译码方案来编码MVD(262)。
举例来说,熵译码单元56可包含用于编码对应于四分之一像素精度运动向量的MVD值的第一MVD译码方案,以及用于编码对应于八分之一像素精度运动向量的MVD值的第二MVD译码方案。如果熵译码单元56接收到运动向量具有四分之一像素精度的指示,那么熵译码单元56可使用第一MVD编码方案来编码运动向量的MVD值。另一方面,如果熵译码单元56接收到运动向量具有八分之一像素精度的指示,那么熵译码单元56可使用第二MVD编码方案来编码运动向量的MVD值。
第一MVD编码方案可包括在MVD值低于阈值时使用一元码字来编码MVD值,否则使用哥伦布码字来编码MVD值。第一MVD译码方案的阈值可对应于运动向量的四分之一像素精度。同样地,一元和哥伦布码字可对应于运动向量的四分之一像素精度。因此,当熵译码单元56接收到具有四分之一像素精度的第一运动向量时,熵译码单元56可确定第一运动向量的MVD值是否大于或等于第一MVD译码方案的阈值,且相应地使用一元码字或哥伦布码字来编码MVD值。熵译码单元56还可提供MVD值是否超过阈值的指示。
第二MVD编码方案可包括在MVD值低于阈值时使用一元码字来编码MVD值,否则使用哥伦布码字来编码MVD值。第二MVD译码方案的阈值可对应于运动向量的八分之一像素精度。同样地,一元和哥伦布码字可对应于运动向量的八分之一像素精度。因此,当熵译码单元56接收到具有八分之一像素精度的第二运动向量时,熵译码单元56可确定第二运动向量的MVD值是否大于或等于第二MVD译码方案的阈值,且相应地使用一元码字或哥伦布码字来编码MVD值。熵译码单元56还可提供MVD值是否超过阈值的指示。
以此方式,图9表示在执行两次或两次以上时可包含以下各项的方法的实例:在编码视频数据的第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来编码第一运动向量差值,其中第一运动向量差编码方案与第一子像素精度相关联;在编码视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;以及使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与第二子像素精度相关联。
图10是说明用于根据本发明的技术对视频数据进行解码的实例方法的流程图。尽管出于实例目的相对于视频解码器30(图1和3)来描述,但应理解,图10的技术可由任何视频译码单元来执行。此外,在不脱离本发明的技术的情况下,图10中所说明的步骤可以不同次序执行,可省略某些步骤,且可添加额外步骤。
最初,视频解码器30可接收视频数据的经编码块(例如,CU的PU)(280)。CU可对应于LCU,其可与四叉树数据结构相关联。四叉树数据结构可描述CU的特性,例如CU的大小信息。所述大小信息可包含(例如)CU的深度、PU的大小和/或PU的类型。以此方式,视频解码器30可接收CU的PU的大小信息(282)。
出于实例的目的,假定PU对应于CU的经帧间预测值。因此,PU可与具有特定子整数像素精度的运动向量相关联。因此,视频解码器30可另外接收PU的运动向量的子像素精度的经编码指示(284)。可将运动向量本身编码为(例如)运动向量差(MVD)值,且因此,视频解码器30可进一步接收运动向量的经编码MVD值(286)。
视频解码器30可根据(例如)CABAC且使用PU的大小信息作为上下文数据来解码运动向量的子整数像素精度的经编码指示(288)。视频解码器30还可使用与运动向量的所指示子像素精度相关联的MVD解码方案来解码MVD值(290)。视频解码器30可接着使用与编码器所应用的技术类似的技术来为运动向量选择运动预测符,且将运动向量差值与运动预测符相加以再生所述运动预测符。
视频解码器30可使用经解码的运动向量来相对于运动向量所参考的参考块来解码所接收CU的亮度数据(292)。视频解码器30可基于运动向量的子整数像素精度来内插参考块的子整数像素位置的值。视频解码器30可使用参考块作为亮度数据的预测值。视频解码器30可例如通过逆扫描、逆量化和逆变换TU来进一步解码CU的TU,以再生CU的残余块。视频解码器30可将残余块与预测值进行组合以解码CU的对应于PU的部分。
当运动向量具有八分之一像素精度时,视频解码器30可双线性内插参考块的色度数据的十六分之一像素位置的值(294)。以此方式,视频解码器30可产生CU的色度部分的预测值。类似于亮度数据,视频解码器30可相对于运动向量所参考的参考块来解码CU的色度数据,针对其可能已计算了十六分之一像素位置的值(296)。视频解码器30可接着输出经解码的CU,包含经解码的色度数据和亮度数据(298)。
以此方式,图10表示包含以下各项的方法的实例:接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元;接收所述运动向量是具有第一子像素精度还是第二子像素精度的经上下文自适应二进制算术译码的指示;确定用于解码所述指示的上下文,其中所述上下文包括译码单元的深度、预测单元的大小以及预测单元的类型中的至少一者;以及根据上下文自适应二进制算术译码使用所确定的上下文来对指示进行熵解码。
图10还表示包含以下各项的方法的实例:接收针对视频数据的译码单元的亮度数据具有八分之一像素精度的运动向量;使用双线性内插来计算由运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及基于参考块的经双线性内插的值对译码单元的色度数据进行解码。
图10进一步表示包含以下各项的方法的实例:接收视频数据的第一预测单元的第一运动向量差值,所述第一运动向量差值具有第一子像素精度;使用第一运动向量差编码方案来解码第一运动向量差值,其中第一运动向量差解码方案与第一子像素精度相关联;接收视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;以及使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与第二子像素精度相关联。
在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果实施于软件中,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体而传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体,或包含例如根据通信协议促进计算机程序从一处到另一处的传送的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码和/或数据结构以供实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例(而非限制),所述计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置,或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬态媒体,而是针对非瞬态有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。以上各项的组合也应包含在计算机可读媒体的范围内。
指令可由一个或一个以上处理器执行,例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文所述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元,以强调经配置以执行所揭示技术的装置的功能方面,但不一定要求由不同硬件单元来实现。相反,如上文所述,各种单元可组合在编解码器硬件单元中,或由互操作硬件单元的集合(包含如上文所述的一个或一个以上处理器)结合合适的软件和/或固件来提供。

Claims (55)

1.一种编码视频数据的方法,所述方法包括:
使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;
确定用于使用上下文自适应二进制算术译码来编码所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小和所述预测单元的类型中的至少一者;以及
根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码。
2.根据权利要求1所述的方法,其中所述第一子像素精度包括四分之一像素精度,且其中所述第二子像素精度包括八分之一像素精度。
3.根据权利要求1所述的方法,其中所述译码单元具有2Nx2N像素的大小,且其中所述预测单元的所述类型对应于具有2Nx2N像素、2NxN像素、Nx2N像素和NxN像素中的一者的大小的所述预测单元,其中N为大于零的整数值。
4.根据权利要求1所述的方法,其中编码所述预测单元包括计算所述译码单元的亮度数据的所述运动向量,所述亮度数据对应于所述预测单元,且其中所述运动向量针对所述亮度数据具有八分之一像素精度,所述方法进一步包括:
使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及
基于所述参考块的所述经双线性内插值来编码所述译码单元的色度数据。
5.根据权利要求1所述的方法,其中所述预测单元包括第一预测单元,所述方法进一步包括:
当编码所述第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有所述第一子像素精度;
使用第一运动向量差编码方案来编码所述第一运动向量差值,其中所述第一运动向量差编码方案与所述第一子像素精度相关联;
当编码所述视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有所述第二子像素精度;以及
使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与所述第二子像素精度相关联。
6.根据权利要求5所述的方法,
其中使用所述第一运动向量差编码方案来编码所述第一运动向量差值包括:
将所述第一运动向量差值与由所述第一编码方案界定的第一阈值进行比较;
当所述第一运动向量差值小于所述第一阈值时,使用第一一元码字来编码所述第一运动向量差值;以及
当所述第一运动向量差值大于或等于所述第一阈值时,使用第一哥伦布码字来编码所述第一运动向量差值,且
其中使用所述第二运动向量差编码方案来编码所述第二运动向量差值包括:
将所述第二运动向量差值与由所述第二编码方案界定的第二阈值进行比较;
当所述第二运动向量差值小于所述第二阈值时,使用第二一元码字来编码所述第二运动向量差值;以及
当所述第二运动向量差值大于或等于所述第二阈值时,使用第二哥伦布码字来编码所述第二运动向量差值。
7.根据权利要求5所述的方法,其中所述第一运动向量差编码方案与四分之一像素精度相关联,且其中所述第二运动向量差编码方案与八分之一像素精度相关联。
8.根据权利要求5所述的方法,
其中使用所述第一运动向量差编码方案来编码所述第一运动向量差值包括选择第一上下文模型来使用以对所述第一运动向量差值进行熵编码,其中所述第一上下文模型与所述第一子像素精度相关联,且
其中使用所述第二运动向量差编码方案来编码所述第二运动向量差值包括选择第二上下文模型来使用以对所述第二运动向量差值进行熵编码,其中所述第二上下文模型与所述第二子像素精度相关联。
9.一种编码视频数据的方法,所述方法包括:
使用针对视频数据的译码单元的亮度数据具有八分之一像素精度的运动向量来编码所述亮度数据;
使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及
基于所述参考块的所述经双线性内插值来编码所述译码单元的色度数据。
10.一种编码视频数据的方法,所述方法包括:
当编码视频数据的第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有第一子像素精度;
使用第一运动向量差编码方案来编码所述第一运动向量差值,其中所述第一运动向量差编码方案与所述第一子像素精度相关联;
当编码所述视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;以及
使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与所述第二子像素精度相关联。
11.一种用于编码视频数据的设备,所述设备包括视频编码器,所述视频编码器经配置以:使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;确定用于使用上下文自适应二进制算术译码来编码所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码。
12.根据权利要求11所述的设备,其中所述视频编码器经配置以计算所述译码单元的亮度数据的所述运动向量,所述亮度数据对应于所述预测单元,且其中所述运动向量针对所述亮度数据具有八分之一像素精度,且其中所述视频编码器经配置以使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值,且基于所述参考块的所述经双线性内插值来编码所述译码单元的色度数据。
13.根据权利要求11所述的设备,其中所述预测单元包括第一预测单元,且其中所述视频编码器经配置以:在编码所述第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有所述第一子像素精度;使用第一运动向量差编码方案来编码所述第一运动向量差值,其中所述第一运动向量差编码方案与所述第一子像素精度相关联;当编码所述视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有所述第二子像素精度;且使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与所述第二子像素精度相关联。
14.根据权利要求13所述的设备,其中为了使用所述第一运动向量差编码方案来编码所述第一运动向量差值,所述视频编码器经配置以:将所述第一运动向量差值与由所述第一编码方案界定的第一阈值进行比较;当所述第一运动向量差值小于所述第一阈值时,使用第一一元码字来编码所述第一运动向量差值;且当所述第一运动向量差值大于或等于所述第一阈值时,使用第一哥伦布码字来编码所述第一运动向量差值,且其中为了使用所述第二运动向量差编码方案来编码所述第二运动向量差值,所述视频编码器经配置以:将所述第二运动向量差值与由所述第二编码方案界定的第二阈值进行比较;当所述第二运动向量差值小于所述第二阈值时,使用第二一元码字来编码所述第二运动向量差值;且当所述第二运动向量差值大于或等于所述第二阈值时,使用第二哥伦布码字来编码所述第二运动向量差值。
15.根据权利要求13所述的设备,其中所述第一运动向量差编码方案与四分之一像素精度相关联,且其中所述第二运动向量差编码方案与八分之一像素精度相关联。
16.根据权利要求13所述的设备,其中为了使用所述第一运动向量差编码方案来编码所述第一运动向量差值,所述视频编码器经配置以选择第一上下文模型来使用以对所述第一运动向量差值进行熵编码,其中所述第一上下文模型与所述第一子像素精度相关联,且其中为了使用所述第二运动向量差编码方案来编码所述第二运动向量差值,所述视频编码器经配置以选择第二上下文模型来使用以对所述第二运动向量差值进行熵编码,其中所述第二上下文模型与所述第二子像素精度相关联。
17.根据权利要求11所述的设备,其中所述设备包括以下各项中的至少一者:
集成电路;
微处理器;以及
无线通信装置,其包含所述视频编码器。
18.一种用于编码视频数据的设备,所述设备包括:
用于使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元的装置;
用于确定用于使用上下文自适应二进制算术译码来编码所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文的装置,其中所述上下文包括所述译码单元的深度、所述预测单元的大小和所述预测单元的类型中的至少一者;以及
用于根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码的装置。
19.根据权利要求18所述的设备,其中所述用于编码所述预测单元的装置包括用于计算所述译码单元的亮度数据的所述运动向量的装置,所述亮度数据对应于所述预测单元,且其中所述运动向量针对所述亮度数据具有八分之一像素精度,所述设备进一步包括:
用于使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值的装置;以及
用于基于所述参考块的所述经双线性内插值来编码所述译码单元的色度数据的装置。
20.根据权利要求18所述的设备,其中所述预测单元包括第一预测单元,所述设备进一步包括:
用于在编码所述第一预测单元时计算第一运动向量差值的装置,所述第一运动向量差值具有所述第一子像素精度;
用于使用第一运动向量差编码方案来编码所述第一运动向量差值的装置,其中所述第一运动向量差编码方案与所述第一子像素精度相关联;
用于在编码所述视频数据的第二预测单元时计算第二运动向量差值的装置,所述第二运动向量差值具有所述第二子像素精度;以及
用于使用第二运动向量差编码方案来编码所述第二运动向量差值的装置,其中所述第二运动向量差编码方案与所述第二子像素精度相关联。
21.根据权利要求20所述的设备,
其中所述用于使用所述第一运动向量差编码方案来编码所述第一运动向量差值的装置包括:
用于将所述第一运动向量差值与由所述第一编码方案界定的第一阈值进行比较的装置;
用于在所述第一运动向量差值小于所述第一阈值时使用第一一元码字来编码所述第一运动向量差值的装置;以及
用于在所述第一运动向量差值大于或等于所述第一阈值时使用第一哥伦布码字来编码所述第一运动向量差值的装置,且
其中所述用于使用所述第二运动向量差编码方案来编码所述第二运动向量差值的装置包括:
用于将所述第二运动向量差值与由所述第二编码方案界定的第二阈值进行比较的装置;
用于在所述第二运动向量差值小于所述第二阈值时使用第二一元码字来编码所述第二运动向量差值的装置;以及
用于在所述第二运动向量差值大于或等于所述第二阈值时使用第二哥伦布码字来编码所述第二运动向量差值的装置。
22.根据权利要求20所述的设备,
其中所述用于使用所述第一运动向量差编码方案来编码所述第一运动向量差值的装置包括用于选择第一上下文模型来使用以对所述第一运动向量差值进行熵编码的装置,其中所述第一上下文模型与所述第一子像素精度相关联,且
其中所述用于使用所述第二运动向量差编码方案来编码所述第二运动向量差值的装置包括用于选择第二上下文模型来使用以对所述第二运动向量差值进行熵编码的装置,其中所述第二上下文模型与所述第二子像素精度相关联。
23.一种包括上面存储有指令的计算机可读存储媒体的计算机程序产品,所述指令在被执行时致使用于编码视频数据的装置的处理器:
使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码视频数据的译码单元的预测单元;
确定用于使用上下文自适应二进制算术译码来编码所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小和所述预测单元的类型中的至少一者;以及
根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵编码。
24.根据权利要求23所述的计算机程序产品,其中所述致使所述处理器编码所述预测单元的指令包括致使所述处理器计算所述译码单元的亮度数据的所述运动向量的指令,所述亮度数据对应于所述预测单元,且其中所述运动向量针对所述亮度数据具有八分之一像素精度,所述计算机程序产品进一步包括致使所述处理器进行以下动作的指令:
使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及
基于所述参考块的所述经双线性内插值来编码所述译码单元的色度数据。
25.根据权利要求23所述的计算机程序产品,其中所述预测单元包括第一预测单元,所述计算机程序产品进一步包括致使所述处理器进行以下动作的指令:
当编码所述第一预测单元时计算第一运动向量差值,所述第一运动向量差值具有所述第一子像素精度;
使用第一运动向量差编码方案来编码所述第一运动向量差值,其中所述第一运动向量差编码方案与所述第一子像素精度相关联;
当编码所述视频数据的第二预测单元时计算第二运动向量差值,所述第二运动向量差值具有所述第二子像素精度;以及
使用第二运动向量差编码方案来编码所述第二运动向量差值,其中所述第二运动向量差编码方案与所述第二子像素精度相关联。
26.根据权利要求25所述的计算机程序产品,
其中所述致使所述处理器使用所述第一运动向量差编码方案来编码所述第一运动向量差值的指令包括致使所述处理器进行以下动作的指令:
将所述第一运动向量差值与由所述第一编码方案界定的第一阈值进行比较;
当所述第一运动向量差值小于所述第一阈值时,使用第一一元码字来编码所述第一运动向量差值;以及
当所述第一运动向量差值大于或等于所述第一阈值时,使用第一哥伦布码字来编码所述第一运动向量差值,且
其中所述致使所述处理器使用所述第二运动向量差编码方案来编码所述第二运动向量差值的指令包括致使所述处理器进行以下动作的指令:
将所述第二运动向量差值与由所述第二编码方案界定的第二阈值进行比较;
当所述第二运动向量差值小于所述第二阈值时,使用第二一元码字来编码所述第二运动向量差值;以及
当所述第二运动向量差值大于或等于所述第二阈值时,使用第二哥伦布码字来编码所述第二运动向量差值。
27.根据权利要求25所述的计算机程序产品,
其中所述致使所述处理器使用所述第一运动向量差编码方案来编码所述第一运动向量差值的指令包括致使所述处理器选择第一上下文模型来使用以对所述第一运动向量差值进行熵编码的指令,其中所述第一上下文模型与所述第一子像素精度相关联,且
其中所述致使所述处理器使用所述第二运动向量差编码方案来编码所述第二运动向量差值的指令包括致使所述处理器选择第二上下文模型来使用以对所述第二运动向量差值进行熵编码的指令,其中所述第二上下文模型与所述第二子像素精度相关联。
28.一种解码视频数据的方法,所述方法包括:
接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码的视频数据的译码单元的经编码预测单元;
接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示;
确定用于解码所述指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及
根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码。
29.根据权利要求28所述的方法,其中所述第一子像素精度包括四分之一像素精度,且其中所述第二子像素精度包括八分之一像素精度。
30.根据权利要求28所述的方法,其中所述译码单元具有2Nx2N像素的大小,且其中所述预测单元的所述类型对应于具有2Nx2N像素、2NxN像素、Nx2N像素和NxN像素中的一者的大小的所述预测单元,其中N为大于零的整数值。
31.根据权利要求28所述的方法,其中所述指示指示所述运动向量针对所述译码单元的亮度数据具有八分之一像素精度,所述亮度数据对应于所述预测单元,所述方法进一步包括:
使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及
基于所述参考块的所述经双线性内插值来解码所述译码单元的色度数据。
32.根据权利要求28所述的方法,其中所述预测单元包括第一预测单元,所述方法进一步包括:
接收所述第一预测单元的第一运动向量差值,所述第一运动向量差值具有所述第一子像素精度;
使用第一运动向量差解码方案来解码所述第一运动向量差值,其中所述第一运动向量差解码方案与所述第一子像素精度相关联;
接收所述视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有所述第二子像素精度;以及
使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与所述第二子像素精度相关联。
33.根据权利要求32所述的方法,
其中使用所述第一运动向量差解码方案来解码所述第一运动向量差值包括:
接收表示所述第一运动向量差值的第一码字;
确定所述第一运动向量差值是否小于用于所述第一运动向量差解码方案的第一阈值;
当所述第一运动向量差值小于所述第一阈值时,将所述第一码字解码为第一一元码字;以及
当所述第一运动向量差值大于或等于所述第一阈值时,将所述第一码字解码为第一哥伦布码字,且
其中使用所述第二运动向量差解码方案来解码所述第二运动向量差值包括:
接收表示所述第二运动向量差值的第二码字;
确定所述第二运动向量差值是否小于用于所述第二运动向量差解码方案的第二阈值;
当所述第二运动向量差值小于所述第一阈值时,将所述第二码字解码为第二一元码字;以及
当所述第二运动向量差值大于或等于所述第一阈值时,将所述第二码字解码为第二哥伦布码字。
34.根据权利要求33所述的方法,
其中确定所述第一运动向量差值是否小于用于所述第一运动向量差解码方案的所述第一阈值包括接收指示所述第一运动向量差值是否小于所述第一阈值的信息,且
其中确定所述第二运动向量差值是否小于用于所述第二运动向量差解码方案的所述第二阈值包括接收指示所述第二运动向量差值是否小于所述第二阈值的信息。
35.根据权利要求32所述的方法,其中所述第一运动向量差解码方案与四分之一像素精度相关联,且其中所述第二运动向量差解码方案与八分之一像素精度相关联。
36.根据权利要求32所述的方法,
其中使用所述第一运动向量差解码方案来解码所述第一运动向量差值包括选择第一上下文模型来使用以对所述第一运动向量差值进行熵解码,其中所述第一上下文模型与所述第一子像素精度相关联,且
其中使用所述第二运动向量差解码方案来解码所述第二运动向量差值包括选择第二上下文模型来使用以对所述第二运动向量差值进行熵解码,其中所述第二上下文模型与所述第二子像素精度相关联。
37.一种解码视频数据的方法,所述方法包括:
接收针对视频数据的译码单元的亮度数据具有八分之一像素精度的运动向量;
使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及
基于所述参考块的所述经双线性内插值来解码所述译码单元的色度数据。
38.一种解码视频数据的方法,所述方法包括:
接收视频数据的第一预测单元的第一运动向量差值,所述第一运动向量差值具有第一子像素精度;
使用第一运动向量差编码方案来解码所述第一运动向量差值,其中第一运动向量差解码方案与所述第一子像素精度相关联;
接收所述视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有第二不同子像素精度;以及
使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与所述第二子像素精度相关联。
39.一种用于解码视频数据的设备,所述设备包括视频解码器,所述视频解码器经配置以:接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量编码的视频数据的译码单元的经编码预测单元;接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示;确定用于解码所述指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;且根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码。
40.根据权利要求39所述的设备,其中所述指示指示所述运动向量针对所述译码单元的亮度数据具有八分之一像素精度,所述亮度数据对应于所述预测单元,其中所述视频解码器进一步经配置以使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值,且基于所述参考块的所述经双线性内插值来解码所述译码单元的色度数据。
41.根据权利要求39所述的设备,其中所述预测单元包括第一预测单元,其中所述视频解码器经配置以:接收所述第一预测单元的第一运动向量差值,所述第一运动向量差值具有所述第一子像素精度;使用第一运动向量差解码方案来解码所述第一运动向量差值,其中所述第一运动向量差解码方案与所述第一子像素精度相关联;接收所述视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有所述第二子像素精度;且使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与所述第二子像素精度相关联。
42.根据权利要求41所述的设备,其中为了使用所述第一运动向量差解码方案来解码所述第一运动向量差值,所述视频解码器经配置以:接收表示所述第一运动向量差值的第一码字;确定所述第一运动向量差值是否小于所述第一运动向量差解码方案的第一阈值;当所述第一运动向量差值小于所述第一阈值时,将所述第一码字解码为第一一元码字;且当所述第一运动向量差值大于或等于所述第一阈值时,将所述第一码字解码为第一哥伦布码字,且其中为了使用所述第二运动向量差解码方案来解码所述第二运动向量差值,所述视频解码器经配置以:接收表示所述第二运动向量差值的第二码字;确定所述第二运动向量差值是否小于用于所述第二运动向量差解码方案的第二阈值;当所述第二运动向量差值小于所述第一阈值时,将所述第二码字解码为第二一元码字;且当所述第二运动向量差值大于或等于所述第一阈值时,将所述第二码字解码为第二哥伦布码字。
43.根据权利要求41所述的设备,其中所述第一运动向量差解码方案与四分之一像素精度相关联,且其中所述第二运动向量差解码方案与八分之一像素精度相关联。
44.根据权利要求41所述的设备,其中为了使用所述第一运动向量差解码方案来解码所述第一运动向量差值,所述视频解码器经配置以选择第一上下文模型来使用以对所述第一运动向量差值进行熵解码,其中所述第一上下文模型与所述第一子像素精度相关联,且其中为了使用所述第二运动向量差解码方案来解码所述第二运动向量差值,所述视频解码器经配置以选择第二上下文模型来使用以对所述第二运动向量差值进行熵解码,其中所述第二上下文模型与所述第二子像素精度相关联。
45.根据权利要求39所述的设备,其中所述设备包括以下各项中的至少一者:
集成电路;
微处理器;以及
无线通信装置,其包含所述视频解码器。
46.一种用于解码视频数据的设备,所述设备包括:
用于接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码的视频数据的译码单元的经编码预测单元的装置;
用于接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示的装置;
用于确定用于解码所述指示的上下文的装置,其中所述上下文包括所述译码单元的深度、所述预测单元的大小以及所述预测单元的类型中的至少一者;以及
用于根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码的装置。
47.根据权利要求46所述的设备,其中所述指示指示所述运动向量针对所述译码单元的亮度数据具有八分之一像素精度,所述亮度数据对应于所述预测单元,所述设备进一步包括:
用于使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值的装置;以及
用于基于所述参考块的所述经双线性内插值来解码所述译码单元的色度数据的装置。
48.根据权利要求46所述的设备,其中所述预测单元包括第一预测单元,所述设备进一步包括:
用于接收所述第一预测单元的第一运动向量差值的装置,所述第一运动向量差值具有所述第一子像素精度;
用于使用第一运动向量差解码方案来解码所述第一运动向量差值的装置,其中所述第一运动向量差解码方案与所述第一子像素精度相关联;
用于接收所述视频数据的第二预测单元的第二运动向量差值的装置,所述第二运动向量差值具有所述第二子像素精度;以及
用于使用第二运动向量差解码方案来解码所述第二运动向量差值的装置,其中所述第二运动向量差解码方案与所述第二子像素精度相关联。
49.根据权利要求48所述的设备,
其中所述用于使用所述第一运动向量差解码方案来解码所述第一运动向量差值的装置包括:
用于接收表示所述第一运动向量差值的第一码字的装置;
用于确定所述第一运动向量差值是否小于用于所述第一运动向量差解码方案的第一阈值的装置;
用于在所述第一运动向量差值小于所述第一阈值时将所述第一码字解码为第一一元码字的装置;以及
用于在所述第一运动向量差值大于或等于所述第一阈值时将所述第一码字解码为第一哥伦布码字的装置,且
其中所述用于使用所述第二运动向量差解码方案来解码所述第二运动向量差值的装置包括:
用于接收表示所述第二运动向量差值的第二码字的装置;
用于确定所述第二运动向量差值是否小于用于所述第二运动向量差解码方案的第二阈值的装置;
用于在所述第二运动向量差值小于所述第一阈值时将所述第二码字解码为第二一元码字的装置;以及
用于在所述第二运动向量差值大于或等于所述第一阈值时将所述第二码字解码为第二哥伦布码字的装置。
50.根据权利要求48所述的设备,
其中所述用于使用所述第一运动向量差解码方案来解码所述第一运动向量差值的装置包括用于选择第一上下文模型来使用以对所述第一运动向量差值进行熵解码的装置,其中所述第一上下文模型与所述第一子像素精度相关联,且
其中所述用于使用所述第二运动向量差解码方案来解码所述第二运动向量差值的装置包括用于选择第二上下文模型来使用以对所述第二运动向量差值进行熵解码的装置,其中所述第二上下文模型与所述第二子像素精度相关联。
51.一种包括上面存储有指令的计算机可读存储媒体的计算机程序产品,所述指令在被执行时致使用于解码视频数据的装置的处理器:
接收曾使用具有第一子像素精度或第二不同子像素精度中的一者的运动向量来编码的视频数据的译码单元的经编码预测单元;
接收所述运动向量是具有所述第一子像素精度还是所述第二子像素精度的经上下文自适应二进制算术译码的指示;
确定用于解码所述指示的上下文,其中所述上下文包括所述译码单元的深度、所述预测单元的大小和所述预测单元的类型中的至少一者;且
根据上下文自适应二进制算术译码使用所述所确定上下文来对所述指示进行熵解码。
52.根据权利要求51所述的计算机程序产品,其中所述指示指示所述运动向量针对所述译码单元的亮度数据具有八分之一像素精度,所述亮度数据对应于所述预测单元,所述计算机程序产品进一步包括致使所述处理器进行以下动作的指令:
使用双线性内插来计算由所述运动向量识别的参考块的色度数据的十六分之一像素位置的值;以及
基于所述参考块的所述经双线性内插值来解码所述译码单元的色度数据。
53.根据权利要求51所述的计算机程序产品,其中所述预测单元包括第一预测单元,所述计算机程序产品进一步包括致使所述处理器进行以下动作的指令:
接收所述第一预测单元的第一运动向量差值,所述第一运动向量差值具有所述第一子像素精度;
使用第一运动向量差解码方案来解码所述第一运动向量差值,其中所述第一运动向量差解码方案与所述第一子像素精度相关联;
接收所述视频数据的第二预测单元的第二运动向量差值,所述第二运动向量差值具有所述第二子像素精度;以及
使用第二运动向量差解码方案来解码所述第二运动向量差值,其中所述第二运动向量差解码方案与所述第二子像素精度相关联。
54.根据权利要求53所述的计算机程序产品,
其中所述致使所述处理器使用所述第一运动向量差解码方案来解码所述第一运动向量差值的指令包括致使所述处理器进行以下动作的指令:
接收表示所述第一运动向量差值的第一码字;
确定所述第一运动向量差值是否小于用于所述第一运动向量差解码方案的第一阈值;
当所述第一运动向量差值小于所述第一阈值时,将所述第一码字解码为第一一元码字;以及
当所述第一运动向量差值大于或等于所述第一阈值时,将所述第一码字解码为第一哥伦布码字,且
其中所述致使所述处理器使用所述第二运动向量差解码方案来解码所述第二运动向量差值的指令包括致使所述处理器进行以下动作的指令:
接收表示所述第二运动向量差值的第二码字;
确定所述第二运动向量差值是否小于用于所述第二运动向量差解码方案的第二阈值;
当所述第二运动向量差值小于所述第一阈值时,将所述第二码字解码为第二一元码字;以及
当所述第二运动向量差值大于或等于所述第一阈值时,将所述第二码字解码为第二哥伦布码字。
55.根据权利要求53所述的计算机程序产品,
其中所述致使所述处理器使用所述第一运动向量差解码方案来解码所述第一运动向量差值的指令包括致使所述处理器选择第一上下文模型来使用以对所述第一运动向量差值进行熵解码的指令,其中所述第一上下文模型与所述第一子像素精度相关联,且
其中所述致使所述处理器使用所述第二运动向量差解码方案来解码所述第二运动向量差值的指令包括致使所述处理器选择第二上下文模型来使用以对所述第二运动向量差值进行熵解码的指令,其中所述第二上下文模型与所述第二子像素精度相关联。
CN201180053470.9A 2010-10-13 2011-10-03 用于视频译码的自适应运动向量分辨率信令 Active CN103202016B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US39289210P 2010-10-13 2010-10-13
US61/392,892 2010-10-13
US201161499956P 2011-06-22 2011-06-22
US61/499,956 2011-06-22
US13/247,785 US10327008B2 (en) 2010-10-13 2011-09-28 Adaptive motion vector resolution signaling for video coding
US13/247,785 2011-09-28
PCT/US2011/054629 WO2012051000A1 (en) 2010-10-13 2011-10-03 Adaptive motion vector resolution signaling for video coding

Publications (2)

Publication Number Publication Date
CN103202016A true CN103202016A (zh) 2013-07-10
CN103202016B CN103202016B (zh) 2016-06-22

Family

ID=45934127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180053470.9A Active CN103202016B (zh) 2010-10-13 2011-10-03 用于视频译码的自适应运动向量分辨率信令

Country Status (6)

Country Link
US (1) US10327008B2 (zh)
EP (1) EP2628300B1 (zh)
JP (1) JP5823526B2 (zh)
KR (1) KR101513379B1 (zh)
CN (1) CN103202016B (zh)
WO (1) WO2012051000A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015113510A1 (en) * 2014-01-29 2015-08-06 Mediatek Inc. Method and apparatus for adaptive motion vector precision
CN105635734A (zh) * 2014-11-03 2016-06-01 掌赢信息科技(上海)有限公司 基于视频通话场景的自适应视频编码方法及装置
CN107211115A (zh) * 2015-01-15 2017-09-26 巴科股份有限公司 用于色度重构的方法和装置
CN109792531A (zh) * 2016-09-29 2019-05-21 高通股份有限公司 用于视频译码的运动向量译码
CN109792532A (zh) * 2016-10-04 2019-05-21 高通股份有限公司 用于视频译码的适应性运动向量精准度
CN110099278A (zh) * 2014-01-08 2019-08-06 微软技术许可有限责任公司 选择运动向量精度
CN110460861A (zh) * 2014-01-08 2019-11-15 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
CN111052744A (zh) * 2017-09-01 2020-04-21 交互数字Vc控股公司 比运动矢量差分更精细的精度下的运动补偿
WO2020098780A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Reference size for inter prediction interpolation
CN111226439A (zh) * 2019-01-02 2020-06-02 北京大学 视频处理方法和装置
CN111818334A (zh) * 2014-09-30 2020-10-23 寰发股份有限公司 用于视频编码的自适应运动向量分辨率的方法
WO2021190465A1 (en) * 2020-03-23 2021-09-30 Beijing Bytedance Network Technology Co., Ltd. Prediction refinement for affine merge and affine motion vector prediction mode
CN113647112A (zh) * 2019-03-11 2021-11-12 交互数字Vc控股公司 用于视频编码和解码的熵编解码
CN113796076A (zh) * 2019-03-26 2021-12-14 Vid拓展公司 用于视频译码的内容自适应变换精度
US11277624B2 (en) 2018-11-12 2022-03-15 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for inter prediction
US11509923B1 (en) 2019-03-06 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
US11838539B2 (en) 2018-10-22 2023-12-05 Beijing Bytedance Network Technology Co., Ltd Utilization of refined motion vector
US11956465B2 (en) 2018-11-20 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Difference calculation based on partial position
US11956432B2 (en) 2019-10-18 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Interplay between subpictures and in-loop filtering

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090080788A1 (en) * 2003-04-17 2009-03-26 Droplet Technology, Inc. Multiple Technique Entropy Coding System And Method
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
WO2011126277A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Low complexity entropy-encoding/decoding method and apparatus
US8873617B2 (en) * 2010-07-15 2014-10-28 Sharp Laboratories Of America, Inc. Method of parallel video coding based on same sized blocks
JP5883431B2 (ja) * 2011-02-25 2016-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法および画像復号化方法
RS64604B1 (sr) * 2011-06-16 2023-10-31 Ge Video Compression Llc Entropijsko kodiranje razlika vektora kretanja
US8798139B1 (en) 2011-06-29 2014-08-05 Zenverge, Inc. Dual-pipeline CABAC encoder architecture
US9258565B1 (en) * 2011-06-29 2016-02-09 Freescale Semiconductor, Inc. Context model cache-management in a dual-pipeline CABAC architecture
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
CN103391433B (zh) * 2012-05-09 2017-07-18 腾讯科技(深圳)有限公司 视频编码帧内预测扫描方法及视频编码方法
WO2014005248A1 (en) * 2012-07-02 2014-01-09 Qualcomm Incorporated Intra-coding of depth maps for 3d video coding
US9979960B2 (en) * 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
US9247271B2 (en) * 2012-10-08 2016-01-26 Inria Institut National De Recherche En Informatique Et En Automatique Method and device for motion information prediction in multi-view video coding
US9661340B2 (en) 2012-10-22 2017-05-23 Microsoft Technology Licensing, Llc Band separation filtering / inverse filtering for frame packing / unpacking higher resolution chroma sampling formats
WO2014107029A1 (ko) * 2013-01-02 2014-07-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
EP2984825A4 (en) * 2013-04-12 2016-09-07 Intel Corp SIMPLIFIED DEPTH CODING WITH MODIFIED INTRA-CODING FOR 3D VIDEO CODING
US9497485B2 (en) 2013-04-12 2016-11-15 Intel Corporation Coding unit size dependent simplified depth coding for 3D video coding
US9445132B2 (en) * 2013-09-09 2016-09-13 Qualcomm Incorporated Two level last significant coefficient (LSC) position coding
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
US10142636B2 (en) * 2014-06-09 2018-11-27 Sony Corporation Communication system with coding mechanism and method of operation thereof
US10531113B2 (en) 2014-10-31 2020-01-07 Samsung Electronics Co., Ltd. Method and device for encoding/decoding motion vector
US9749646B2 (en) 2015-01-16 2017-08-29 Microsoft Technology Licensing, Llc Encoding/decoding of high chroma resolution details
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
CN106331703B (zh) 2015-07-03 2020-09-08 华为技术有限公司 视频编码和解码方法、视频编码和解码装置
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
KR20240000649A (ko) * 2015-08-24 2024-01-02 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017052009A1 (ko) * 2015-09-24 2017-03-30 엘지전자 주식회사 영상 코딩 시스템에서 amvr 기반한 영상 코딩 방법 및 장치
JP2018538515A (ja) 2015-10-08 2018-12-27 ポルテ・コーポレイションPoLTE Corporation 物体の追跡のための到来角測位システム
WO2017082443A1 (ko) * 2015-11-13 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
KR102201604B1 (ko) 2016-08-04 2021-01-12 후아웨이 테크놀러지 컴퍼니 리미티드 예측 파라미터들에서의 데이터 숨김을 위한 방법 및 장치
CN116567216A (zh) * 2016-08-11 2023-08-08 Lx 半导体科技有限公司 图像编码/解码方法以及图像数据的发送方法
US10827186B2 (en) 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置
CN109905714B (zh) * 2017-12-08 2022-12-27 华为技术有限公司 帧间预测方法、装置及终端设备
WO2019209050A1 (ko) * 2018-04-25 2019-10-31 엘지전자 주식회사 변환 타입에 기초하여 비디오 신호를 처리하는 방법 및 장치
CN116347099A (zh) 2018-06-19 2023-06-27 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
TW202025737A (zh) 2018-09-19 2020-07-01 大陸商北京字節跳動網絡技術有限公司 仿射模式中自適應運動矢量分辨率的快速算法
EP3895429A4 (en) * 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
CN110677676B (zh) * 2019-09-27 2024-02-09 腾讯科技(深圳)有限公司 视频编码方法和装置、视频解码方法和装置及存储介质
CN111654723B (zh) * 2020-05-14 2022-04-12 北京百度网讯科技有限公司 视频质量提升方法、装置、电子设备和存储介质
CN113242427B (zh) * 2021-04-14 2024-03-12 中南大学 一种基于vvc中自适应运动矢量精度的快速方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1396774A (zh) * 2002-07-12 2003-02-12 清华大学 基于预测方向校正/统计预判的快速亚象素运动估计方法
EP1469682A1 (en) * 2002-01-24 2004-10-20 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
CN1984336A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种二进制化方法及装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737022A (en) 1993-02-26 1998-04-07 Kabushiki Kaisha Toshiba Motion picture error concealment using simplified motion compensation
JP2897763B2 (ja) 1997-07-28 1999-05-31 日本ビクター株式会社 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
US6968008B1 (en) 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
US8175159B2 (en) 2002-01-24 2012-05-08 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
JP4120301B2 (ja) 2002-04-25 2008-07-16 ソニー株式会社 画像処理装置およびその方法
JP2003319400A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置、復号装置、画像処理装置、それらの方法およびプログラム
KR100462789B1 (ko) 2002-06-12 2004-12-20 한국과학기술원 이진 산술 부호화를 이용한 다중 부호 데이터 압축 방법및 장치
CN1245031C (zh) 2002-07-12 2006-03-08 清华大学 基于预测方向校正/统计预判的快速亚象素运动估计方法
JP4724351B2 (ja) 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
JP4144339B2 (ja) 2002-11-29 2008-09-03 富士通株式会社 動画像符号化方法及び動画像複号化方法
US8073048B2 (en) 2003-08-26 2011-12-06 Thomson Licensing Method and apparatus for minimizing number of reference pictures used for inter-coding
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US20050105621A1 (en) 2003-11-04 2005-05-19 Ju Chi-Cheng Apparatus capable of performing both block-matching motion compensation and global motion compensation and method thereof
KR100994768B1 (ko) 2003-12-08 2010-11-16 삼성전자주식회사 동영상 부호화를 위한 움직임 추정 방법 및 이를 구현하기위한 프로그램이 기록된 기록 매체
JP4685636B2 (ja) 2004-02-03 2011-05-18 パナソニック株式会社 復号化装置、符号化装置、補間フレーム生成システム、集積回路装置、復号化プログラムおよび符号化プログラム
US7720148B2 (en) 2004-03-26 2010-05-18 The Hong Kong University Of Science And Technology Efficient multi-frame motion estimation for video compression
DE102004019339A1 (de) 2004-04-21 2005-11-24 Siemens Ag Prädiktionsverfahren, sowie zugehöriges Verfahren zur Decodierung eines Prädiktionsverfahrens, zugehörige Encodiervorrichtung und Decodiervorrichtung
US20060133507A1 (en) 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
US7728878B2 (en) 2004-12-17 2010-06-01 Mitsubishi Electric Research Labortories, Inc. Method and system for processing multiview videos for view synthesis using side information
EP1962514A4 (en) 2005-12-05 2012-02-15 Huawei Tech Co Ltd BINARIZATION METHOD AND ASSOCIATED DEVICE
CN1794821A (zh) 2006-01-11 2006-06-28 浙江大学 可分级视频压缩中插值的方法与装置
CN100566413C (zh) 2006-06-05 2009-12-02 华为技术有限公司 一种自适应插值处理方法及编解码模块
CA2681210C (en) 2007-04-09 2021-03-02 Nokia Corporation High accuracy motion vectors for video coding with low encoder and decoder complexity
JP2009089332A (ja) 2007-10-03 2009-04-23 Sony Corp 動き予測方法及び動き予測装置
WO2009088038A1 (ja) 2008-01-09 2009-07-16 Mitsubishi Electric Corporation 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
KR101456487B1 (ko) 2008-03-04 2014-10-31 삼성전자주식회사 부화소 단위의 움직임 예측을 이용한 영상 부호화, 복호화방법 및 그 장치
JP2009230537A (ja) 2008-03-24 2009-10-08 Olympus Corp 画像処理装置、画像処理プログラム、画像処理方法、および、電子機器
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
JP5012647B2 (ja) 2008-04-30 2012-08-29 ソニー株式会社 画像処理装置およびその方法、並びにプログラム
JP2010016453A (ja) 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
JP2010028221A (ja) 2008-07-15 2010-02-04 Sony Corp 動きベクトル検出装置、動きベクトル検出方法、画像符号化装置及びプログラム
TW201041404A (en) 2009-03-06 2010-11-16 Sony Corp Image processing device and method
KR101792041B1 (ko) 2009-10-14 2017-11-02 톰슨 라이센싱 움직임 정보의 적응적 코딩 방법 및 장치
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US20120051431A1 (en) 2010-08-25 2012-03-01 Qualcomm Incorporated Motion direction based adaptive motion vector resolution signaling for video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1469682A1 (en) * 2002-01-24 2004-10-20 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
CN1396774A (zh) * 2002-07-12 2003-02-12 清华大学 基于预测方向校正/统计预判的快速亚象素运动估计方法
CN1984336A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种二进制化方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AMONUOU I ET AL: "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *
AMONUOU I ET AL: "Description of video coding technology proposal by France Telecom, NTT, NTT DOCOMO, Panasonic and Technicolor", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》, 23 April 2010 (2010-04-23) *
LIM J ET AL: "Description of video coding technology proposal by SK telecom, Sejong Univ. and Sungkyunkwan Univ.", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *
LIM J ET AL: "Description of video coding technology proposal by SK telecom, Sejong Univ. and Sungkyunkwan Univ.", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》, 23 April 2010 (2010-04-23) *

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177274A (zh) * 2014-01-08 2019-08-27 微软技术许可有限责任公司 选择运动向量精度
CN110149513B (zh) * 2014-01-08 2022-10-14 微软技术许可有限责任公司 选择运动向量精度
CN110099278B (zh) * 2014-01-08 2022-10-14 微软技术许可有限责任公司 选择运动向量精度
CN110460861B (zh) * 2014-01-08 2022-11-18 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
US11546629B2 (en) 2014-01-08 2023-01-03 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US11638016B2 (en) 2014-01-08 2023-04-25 Microsoft Technology Licensing, Llc Selection of motion vector precision
CN110460861A (zh) * 2014-01-08 2019-11-15 微软技术许可有限责任公司 表示经编码的比特流中的运动向量
CN110099278A (zh) * 2014-01-08 2019-08-06 微软技术许可有限责任公司 选择运动向量精度
CN110149513A (zh) * 2014-01-08 2019-08-20 微软技术许可有限责任公司 选择运动向量精度
US10924746B2 (en) 2014-01-29 2021-02-16 Mediatek Inc. Method and apparatus for adaptive motion vector precision
CN105874789B (zh) * 2014-01-29 2019-10-29 联发科技股份有限公司 利用自适应运动向量精度的方法
CN105874789A (zh) * 2014-01-29 2016-08-17 联发科技股份有限公司 利用自适应运动向量精度的方法和装置
CN110572643A (zh) * 2014-01-29 2019-12-13 联发科技股份有限公司 利用自适应运动向量精度的方法和装置
CN110572643B (zh) * 2014-01-29 2021-11-16 联发科技股份有限公司 利用自适应运动向量精度的方法和装置
WO2015113510A1 (en) * 2014-01-29 2015-08-06 Mediatek Inc. Method and apparatus for adaptive motion vector precision
US11546613B2 (en) 2014-01-29 2023-01-03 Hfi Innovation Inc. Method and apparatus for adaptive motion vector precision
CN114554199A (zh) * 2014-09-30 2022-05-27 寰发股份有限公司 用于视频编码的自适应运动向量分辨率的方法
CN111818334A (zh) * 2014-09-30 2020-10-23 寰发股份有限公司 用于视频编码的自适应运动向量分辨率的方法
CN114554199B (zh) * 2014-09-30 2023-11-10 寰发股份有限公司 用于视频编码的自适应运动向量分辨率的方法
CN111818334B (zh) * 2014-09-30 2022-04-01 寰发股份有限公司 用于视频编码的自适应运动向量分辨率的方法
CN105635734B (zh) * 2014-11-03 2019-04-12 掌赢信息科技(上海)有限公司 基于视频通话场景的自适应视频编码方法及装置
CN105635734A (zh) * 2014-11-03 2016-06-01 掌赢信息科技(上海)有限公司 基于视频通话场景的自适应视频编码方法及装置
US10552876B2 (en) 2015-01-15 2020-02-04 Barco N.V. Method and apparatus for chroma reconstruction
CN107211115A (zh) * 2015-01-15 2017-09-26 巴科股份有限公司 用于色度重构的方法和装置
CN109792531B (zh) * 2016-09-29 2023-04-04 高通股份有限公司 一种编解码视频数据的方法、设备及存储介质
CN109792531A (zh) * 2016-09-29 2019-05-21 高通股份有限公司 用于视频译码的运动向量译码
CN109792532B (zh) * 2016-10-04 2023-07-14 高通股份有限公司 用于视频译码的适应性运动向量精准度
CN109792532A (zh) * 2016-10-04 2019-05-21 高通股份有限公司 用于视频译码的适应性运动向量精准度
CN111052744B (zh) * 2017-09-01 2024-04-16 交互数字Vc控股公司 比运动矢量差分更精细的精度下的运动补偿
CN111052744A (zh) * 2017-09-01 2020-04-21 交互数字Vc控股公司 比运动矢量差分更精细的精度下的运动补偿
US11838539B2 (en) 2018-10-22 2023-12-05 Beijing Bytedance Network Technology Co., Ltd Utilization of refined motion vector
US11889108B2 (en) 2018-10-22 2024-01-30 Beijing Bytedance Network Technology Co., Ltd Gradient computation in bi-directional optical flow
US11277624B2 (en) 2018-11-12 2022-03-15 Beijing Bytedance Network Technology Co., Ltd. Bandwidth control methods for inter prediction
US11956449B2 (en) 2018-11-12 2024-04-09 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
US11516480B2 (en) 2018-11-12 2022-11-29 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
US11284088B2 (en) 2018-11-12 2022-03-22 Beijing Bytedance Network Technology Co., Ltd. Using combined inter intra prediction in video processing
US11843725B2 (en) 2018-11-12 2023-12-12 Beijing Bytedance Network Technology Co., Ltd Using combined inter intra prediction in video processing
WO2020098780A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Reference size for inter prediction interpolation
US11956465B2 (en) 2018-11-20 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Difference calculation based on partial position
CN111226439A (zh) * 2019-01-02 2020-06-02 北京大学 视频处理方法和装置
US11930165B2 (en) 2019-03-06 2024-03-12 Beijing Bytedance Network Technology Co., Ltd Size dependent inter coding
US11509923B1 (en) 2019-03-06 2022-11-22 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
CN113647112A (zh) * 2019-03-11 2021-11-12 交互数字Vc控股公司 用于视频编码和解码的熵编解码
US11962807B2 (en) 2019-03-11 2024-04-16 Interdigital Vc Holdings, Inc. Entropy coding for video encoding and decoding
CN113796076A (zh) * 2019-03-26 2021-12-14 Vid拓展公司 用于视频译码的内容自适应变换精度
US11956432B2 (en) 2019-10-18 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Interplay between subpictures and in-loop filtering
US11962771B2 (en) 2019-10-18 2024-04-16 Beijing Bytedance Network Technology Co., Ltd Syntax constraints in parameter set signaling of subpictures
WO2021190465A1 (en) * 2020-03-23 2021-09-30 Beijing Bytedance Network Technology Co., Ltd. Prediction refinement for affine merge and affine motion vector prediction mode

Also Published As

Publication number Publication date
KR101513379B1 (ko) 2015-04-21
JP2013543713A (ja) 2013-12-05
US10327008B2 (en) 2019-06-18
KR20130084296A (ko) 2013-07-24
WO2012051000A1 (en) 2012-04-19
US20120093226A1 (en) 2012-04-19
CN103202016B (zh) 2016-06-22
EP2628300A1 (en) 2013-08-21
JP5823526B2 (ja) 2015-11-25
EP2628300B1 (en) 2017-09-13

Similar Documents

Publication Publication Date Title
CN103202016B (zh) 用于视频译码的自适应运动向量分辨率信令
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
CN103339936B (zh) 用于视频译码的单一参考图片列表建构
CN102783149B (zh) 用于视频译码的适应性运动分辨率
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
CN104272742B (zh) 加权预测参数译码
TW201813386A (zh) 用於視訊寫碼之樹型寫碼
CN103141100A (zh) 用于视频译码的帧内平滑滤波器
CN103703781A (zh) 使用自适应运动向量分辨率的视频译码
CN103238323A (zh) 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码
CN103597832A (zh) 用于使用相邻模式的视频译码的增强的帧内预测模式信令
CN104205830A (zh) 用于在视频译码中的参考索引译码的旁路二进制位
CN103891279A (zh) 用于帧内预测译码的最大概率变换
CN103238322A (zh) 在视频译码中单独地译码视频块的最后有效系数的位置
CN105474641A (zh) 视频译码过程中用于系数层级译码的莱斯(rice)参数初始化
CN103262533A (zh) 指示用于视频译码的帧内预测模式选择
CN103181170A (zh) 用于视频译码的变换系数的自适应扫描
CN103181169A (zh) 使用联合上下文模型对系数进行熵译码
CN103329525A (zh) 用于视频译码的组合参考图片列表建构
CN103140877A (zh) 使用帧内预测的视频译码
CN103299628A (zh) 指示使用cabac用于视频译码的帧内预测模式选择
CN103339935A (zh) 运动向量预测
CN103535034A (zh) 用于视频译码的对块效应假影的滤波
CN104221380A (zh) 用于并行运动估计的共同空间候选块
CN103975597A (zh) 纹理及深度视图分量当中的内部视图运动预测

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant