起因于几何运动划分的平滑重叠区域的制作方法

文档序号:7848160阅读:203来源:国知局
专利名称:起因于几何运动划分的平滑重叠区域的制作方法
技术领域
本发明涉及视频编码。
背景技术
数字视频能力可并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电传会议装置及其类似者。数字视频装置实施视频压缩技术(例如,在MPEG-2、MPEG-4、ITU-TH. 263或ITU-T H. 264/MPEG-4第10部分(高级视频编码(AVC))所定义的标准和此等标准的扩展中所描述的技术),以更有效率地发射和接收数字视频信息。视频压缩技术执行空间预测和/或时间预测以减少或移除为视频序列所固有的冗余。对于基于块的视频编码,可将视频帧或片段划分为多个宏块。可进一步划分每一宏块。使用关于相邻宏块的空间预测来编码经帧内编码(I)帧或片段中的宏块。经帧间编码(P或B)帧或片段中的宏块可使用关于同一帧或片段中的相邻宏块的空间预测,或关于其它参考帧的时间预测。

发明内容
一般来说,本发明描述用于支持视频块的几何运动划分的技术。即,本发明的技术实现使用任意划分区边界来划分矩形块(被称为几何运动划分),而非将所述块划分为两个或两个以上严格矩形划分区。为了支持几何运动划分,本发明提供用于在划分区边界处针对划分区的重叠部分执行运动补偿的技术。本发明还提供用于自适应性地选择经划分块的子块的变换尺寸的技术。此外,本发明提供用于个别地编码划分区的运动向量的技术。此夕卜,可使用固定点或浮点实施方案来执行本发明的技术。在一个实例中,一种方法包括使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值;以及输出所述像素的所述残余值。在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预 测值来计算所述块的所述过渡区域中的所述像素的残余值;且输出所述像素的所述残余值。在另一实例中,一种设备包括用于使用几何运动划分线将视频数据块划分为第一划分区和第二划分区的装置;用于使用滤波器来计算所述块的过渡区域中的像素的预测值的装置,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;用于基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值的装置;以及用于输出所述像素的所述残余值的装置。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值;且输出所述像素的所述残余值。在另一实例中,一种方法包括接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义,和所述块的过渡区域中的像素的残余值;使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值;以及输出所述像素的所述经重建构值。在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义,和所述块的过渡区域中的像素的残余值;使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值;且输出所述像素的所述经重建构值。在另一实例中,一种设备包括用于接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义和所述块的过渡区域中的像素的残余值的装置;用于使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值的装置,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;用于基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值的装置;以及用于输出所述像素的所述经重建构值的装置。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义,和所述块的过渡区域中的像素的残余值;使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值;且输出所述像素的所述经重建构值。在另一实例中,一种方法包括使用几何运动划分线将视频数据块划分为第一几何划分区和第二几何划分区,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;以及使用小于(N/2) X (N/2)的变换尺寸来编码所述 几何运动划分线所通过的所述子块中的至少一者。在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一几何划分区和第二几何划分区,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;且使用小于(N/2) X (N/2)的变换尺寸来编码所述几何运动划分线所通过的所述子块中的至少一者。在另一实例中,一种设备包括用于使用几何运动划分线将视频数据块划分为第一几何划分区和第二几何划分区的装置,其中所述块包含NXN像素;用于将所述视频数据块分割为四个相等尺寸的非重叠(N/2)X(N/2)子块的装置;以及用于使用小于(N/2) X (N/2)的变换尺寸来编码所述几何运动划分线所通过的所述子块中的至少一者的
>J-U装直。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器使用几何运动划分线将视频数据块划分为第一几何划分区和第二几何划分区,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;且使用小于(N/2) X (N/2)的变换尺寸来编码所述几何运动划分线所通过的所述子块中的至少一者。在另一实例中,一种方法包括接收通过几何运动划分线划分为第一几何划分区和第二几何划分区的经编码视频数据块,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;以及使用小于(N/2) X (N/2)的变换尺寸来反变换所述几何运动划分线所通过的所述子块中的至少一者。在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以接收通过几何运动划分线划分为第一几何划分区和第二几何划分区的经编码视频数据块,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;且使用小于(N/2)X(N/2)的变换尺寸来反变换所述几何运动划分线所通过的所述子块中的
至少一者。
在另一实例中,一种设备包括用于接收通过几何运动划分线划分为第一几何划分区和第二几何划分区的经编码视频数据块的装置,其中所述块包含NXN像素;用于将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块的装置;以及用于使用小于(N/2)X(N/2)的变换尺寸来反变换所述几何运动划分线所通过的所述子块中的至少一者的装置。在另一实例中,一种计算机程序产品包含计 算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器接收通过几何运动划分线划分为第一几何划分区和第二几何划分区的经编码视频数据块,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;且使用小于(N/2) X (N/2)的变换尺寸来反变换所述几何运动划分线所通过的所述子块中的至少一者。在另一实例中,一种方法包括使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;确定所述第一划分区的第一运动向量和所述第二划分区的第二运动向量;基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来编码所述第一运动向量;基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来编码所述第二运动向量,其中相邻于所述第二划分区的所述块独立于相邻于所述第一划分区的所述块予以确定;以及输出所述经编码的第一运动向量和所述经编码的第二运动向量。在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;确定所述第一划分区的第一运动向量和所述第二划分区的第二运动向量;基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来编码所述第一运动向量;基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来编码所述第二运动向量,其中相邻于所述第二划分区的所述块独立于相邻于所述第一划分区的所述块予以确定;且输出所述经编码的第一运动向量和所述经编码的第二运动向量。在另一实例中,一种设备包括用于使用几何运动划分线将视频数据块划分为第一划分区和第二划分区的装置;用于确定所述第一划分区的第一运动向量和所述第二划分区的第二运动向量的装置;用于基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来编码所述第一运动向量的装置;用于基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来编码所述第二运动向量的装置,其中相邻于所述第二划分区的所述块独立于相邻于所述第一划分区的所述块予以确定;以及用于输出所述经编码的第一运动向量和所述经编码的第二运动向量的装置。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器确定相邻于所述经划分块的块集合;确定包含相邻于所述第一划分区的块的所述块集合的第一子集;且独立于确定所述第一子集而确定包含相邻于所述第二划分区的块的所述块集合的第二子集。在另一实例中,一种方法包括接收通过几何运动划分线划分为第一划分区和第二划分区的视频数据块、所述第一划分区的第一经编码运动向量,和所述第二划分区的第二经编码运动向量;基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来解码所述第一经编码运动向量;基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来解码所述第二经编码运动向量,其中相邻于所述第二划分区的所述块独立于相邻于所述第一划分区的所述块予以确定;以及使用所述经解码的第一运动向量和所述经解码的第二运动向量来解码所述块。在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以接收通过几何运动划分线划分为第一划分区和第二划分区的视频数据块、所述第一划分区的第一经编码运动向量,和所述第二划分区的第二经编码运动向量;基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来解码所述第一经编码运动向量;基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来解码所述第二经编码运动向量,其中相邻于所述第二划分区的所述块独立于相 邻于所述第一划分区的所述块予以确定;且使用所述经解码的第一运动向量和所述经解码的第二运动向量来解码所述块。在另一实例中,一种设备包括用于接收通过几何运动划分线划分为第一划分区和第二划分区的视频数据块、所述第一划分区的第一经编码运动向量,和所述第二划分区的第二经编码运动向量的装置;用于基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来解码所述第一经编码运动向量的装置;用于基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来解码所述第二经编码运动向量的装置,其中相邻于所述第二划分区的所述块独立于相邻于所述第一划分区的所述块予以确定;以及用于使用所述经解码的第一运动向量和所述经解码的第二运动向量来解码所述块的装置。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器接收通过几何运动划分线划分为第一划分区和第二划分区的视频数据块、所述第一划分区的第一经编码运动向量,和所述第二划分区的第二经编码运动向量;基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来解码所述第一经编码运动向量;基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来解码所述第二经编码运动向量,其中相邻于所述第二划分区的所述块独立于相邻于所述第一划分区的所述块予以确定;且使用所述经解码的第一运动向量和所述经解码的第二运动向量来解码所述块。在另一实例中,一种方法包括使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;计算所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述y截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来编码所述第一划分区和所述第二划分区;以及输出所述经编码的第一划分区、所述经编码的第二划分区、所述斜率值和所述I截距值。在另一实例中,一种设备包括视频编码器,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;计算所述几何运动划分线的斜率值和y截距值,其中所述斜率值和所述y截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来编码所述第一划分区和所述第二划分区;且输出所述经编码的第一划分区、所述经编码的第二划分区、所述斜率值和所述I截距值。在另一实例中,一种设备包括用于使用几何运动划分线将视频数据块划分为第一划分区和第二划分区的装置;用于计算所述几何运动划分线的斜率值和y截距值的装置,其中所述斜率值和所述y截距值包含整数值;用于计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码的装置;用于基于所述掩码来编码所述第一划分区和所述第二划分区的装置;以及用于输出所述经编码的第一划分区、所述经编码的第二划分区、所述斜率值和所述y截距值的装置。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;计算所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述y截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来编码所述第一划分区和所述第二划分区;且输出所述经编码的第一划分区、所述经编码的第二划分区、所述斜率值和所述I截距值。在另一实例中,一种方法包括接收已通过几何运动划分线划分为第一划分区和 第二划分区的经编码视频数据块;接收定义所述几何运动划分线的斜率值和y截距值,其中所述斜率值和所述y截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来解码所述块的所述第一划分区和所述第二划分区;以及输出所述经解码块。在另一实例中,一种设备包括视频解码器,所述视频解码器经配置以接收已通过几何运动划分线划分为第一划分区和第二划分区的经编码视频数据块;接收定义所述几何运动划分线的斜率值和y截距值,其中所述斜率值和所述y截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来解码所述块的所述第一划分区和所述第二划分区;且输出所述经解码块。在另一实例中,一种设备包括用于接收已通过几何运动划分线划分为第一划分区和第二划分区的经编码视频数据块的装置;用于接收定义所述几何运动划分线的斜率值和y截距值的装置,其中所述斜率值和所述y截距值包含整数值;用于计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码的装置;用于基于所述掩码来解码所述块的所述第一划分区和所述第二划分区的装置;以及用于输出所述经解码块的装置。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体在其上存储有指令,所述指令在被执行时致使处理器接收已通过几何运动划分线划分为第一划分区和第二划分区的经编码视频数据块;接收定义所述几何运动划分线的斜率值和y截距值,其中所述斜率值和所述I截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来解码所述块的所述第一划分区和所述第二划分区;且输出所述经解码块。在附图和以下描述中阐述一个或一个以上实例的细节。其它特征、目标和优点将从所述描述和所述图式以及从权利要求书显而易见。


图I为说明可利用用于几何运动划分的技术的实例视频编码和解码系统的框图。图2为说明可实施用于几何运动划分的技术的视频编码器的实例的框图。图3为说明可解码包括经几何运动划分块的经编码视频序列的视频解码器的实例的框图。
图4为说明已使用几何运动划分线和用以定义几何运动划分线的参数划分的块的概念图。图5为说明已使用几何运动划分线和在几何运动划分线附近的过渡区域中的像素划分的块的概念图。图6为说明3 X 3像素阵列的概念图。图7为说明用于在计算通过几何运动划分线划分的块的残余值时执行平滑的实例方法的流程图。图8为说明待使用自适应性变换尺寸选择变换的实例块的概念图。图9为待使用自适应性变换尺寸选择变换的另一实例块的概念图。 图10为说明用于确定NXN块的子块的变换尺寸的实例方法的流程图。图11为说明经几何划分块和相邻子块的框图。图12为说明用于编码视频数据块的几何运动划分区的运动向量的实例方法的流程图。图13为说明用于使用固定点实施方案来编码视频数据块的实例方法的流程图。
具体实施例方式一般来说,本发明描述用于支持视频块的几何运动划分的技术。即,本发明的技术实现使用任意划分区边界来划分矩形块(被称为几何运动划分),而非将所述块划分为两个或两个以上严格矩形划分区。可使用两个参数来定义划分线垂直于划分线且发源于经划分块的中心点处的线段的长度P (rho),和垂直线相对于通过经划分块的中心点的水平线的角度9 (theta)。在一些实例中,可通过定界每一划分区的像素的阶式线来实现划分线,使得划分线不通过块的任何像素。出于实例和解释的目的,本发明描述用于宏块的几何运动划分的技术。然而,应理解,此等技术通常可应用于划分任何视频数据块。术语“宏块”指代用于使用二维像素阵列(通常具有16X16像素的尺寸)来编码数字图像和视频数据的数据结构。宏块可包括色度数据和亮度数据。通常,水平地和垂直地将色度数据相对于亮度数据缩小取样达原来的二分之一。因此,一宏块可包括四个亮度块和两个色度块。所述四个亮度块中的每一者可包含8X8像素,且所述宏块的每一转角可被所述亮度块中的恰好一者的转角触碰。所述两个色度块可为8X8像素块,使得所述色度块中的每一者的转角触碰所述宏块的相应转角。因此,色度块可彼此重叠且与亮度块重叠。视频编码标准通常提供用于编码视频数据块的各种预测模式。帧内预测涉及相对于片段或帧的其它块来编码所述同一片段或帧的块。帧间预测允许使用运动估计和运动补偿技术而相对于一个或一个以上其它片段或帧来编码片段或帧的块。本发明的技术(其大体上针对几何运动划分)可允许任意划分区尺寸和形状。即,使用上文所描述的P和e值所定义的划分线可允许使用非矩形划分区来编码宏块。特定来说,本发明的技术描述用于产生几何运动划分区的运动向量且用于基于几何运动划分区来执行运动补偿的技术。几何运动划分线不限于将块划分为矩形划分区。尽管在一些实例中,几何运动划分线可将NXN块划分为NXM块,但几何运动划分还提供将块划分为非矩形划分区(例如,三角形划分区)的能力。以此方式,几何运动划分线可与块的水平边界和所述块的垂直边界相交。在一些实例中,支持几何运动划分包括使用修改型运动补偿技术。特定来说,修改型运动补偿技术可提供用于在几何运动划分线附近的过渡区域中的像素的平滑滤波器。本发明的运动补偿技术可包括确定此等重叠像素的残余值。在一个实例中,本发明的技术定义低通滤波器(例如,平滑滤波器)以在此边界区域中执行运动补偿。即,可定义使在几何划分线处的划分区之间的过渡平滑的各种滤波器。如果一像素属于过渡区域,则通过应用此等滤波器中的一者来确定所述像素的预测值(其中所述滤波器施加来自通过划分区的 运动向量识别的预测块的值),且接着确定预测值与待编码像素的值之间的差,可执行针对所述像素的运动补偿。此差可表示像素的残余值。在另一实例中,为了在经几何划分块的边界区域处执行运动补偿,可使用加权平均值。即,为了确定像素的运动补偿值,可计算来自两个划分区的像素的值的加权平均值。与像素相对地较接近的划分区的值相较于另一划分区的值被加权得较重。可以此方式计算像素的预测值,接着使用预测值来计算残余值,或通过将经接收残余值施加到预测值来重建构经编码块。本发明还包括用于编码使用几何运动划分区所划分的块的残余部分的技术。为了编码具有几何划分区的块的残余部分,可基于划分线的位置来使用自适应性变换尺寸。一般来说,对于NXN像素的每一子块的块,如果划分区不穿过所述块,则可使用NXN变换尺寸来编码子块的残余部分;否则,可将NXN子块再分割为N/2XN/2子块,所述N/2XN/2子块中的每一者可关于划分线是否穿过所述子块予以再分析。举例来说,假设块尺寸为16X16。对于在内部的每一 8X8子块,如果在8X8块内部的所有像素属于同一划分区,则可使用8X8变换,否则,可使用四个4X4变换。作为另一实例,当块尺寸为32 X 32或64 X 64时,对于每一 32 X 32或16 X 16内部子块,如果在16 X 16块内部的所有像素属于同一划分区,则可使用16X16变换,否则,可针对每一 16X16子块
重复逻辑。本发明进一步提供用于编码使用几何运动划分线所划分的块的划分区的运动向量的技术。此等技术可包括选择运动向量的运动预测子,且运动预测子的候选者针对同一块的两个划分区的运动向量可不同。运动预测子的候选者还可包括多于针对常规编码标准的运动预测子的潜在运动预测子。本发明的技术还可应用于固定点实施方案中。特定来说,可使用表示几何运动划分线的斜率(m)和y截距(c)的固定点(例如,整数)值来定义所述线。编码器和解码器可各自经配置以使用固定点算术来评估几何运动划分区,使得编码器和解码器从固定点值产生相同掩码。编码器和解码器可经配置以如下计算掩码对于掩码的每一点(x,y),如果y-m*x〈c,则掩码中的(X,y)处的点的值为I,且如果y_m*x>=c,则掩码中的(x, y)处的点的值为O。以此方式,编码器和解码器可经配置以计算掩码(包含通过相应X值和y值定义的点集合),使得对于掩码中的每一点,将掩码中的点的值设定为指示以下两者之间的差是否大于线的y截距值的值点的y值;以及线的斜率值与点的X值的乘积。掩码中的每一点的值可包含I位值(one-bit value)。具有0值的掩码中的点对应于区域0,而具有I值的掩码中的点对应于区域I。区域0可为一划分区,且区域I可为另一划分区,如通过几何运动划分区所定义。因此,编码器和解码器可经配置以基于角度9 (theta)和中心点值而使用斜率111和7截距c的固定点整数值来计算掩码,而非使用浮点算术从所述角度和到几何运动划分区的中心点的距离P (rho)计算掩码。本发明的技术还可包括信令几何运动划分是否用于特定块或块集合,且如果几何运动划分用于特定块或块集合,则信令是固定点运算还是浮点运算待用于所述块或块集合。图I为说明可利用用于几何运动划分的技术的实例视频编码和解码系统10的框图。如图I所示,系统10包括源装置12,源装置12经由通信信道16将经编码视频发射到目的地装置14。源装置12和目的地装置14可包含广泛范围的装置中的任一者。在一些状况下,源装置12和目的地装置14可包含无线通信装置,例如,无线手持机、所谓的蜂窝式或卫星无线电电话,或可经由通信信道16传达视频信息的任何无线装置,在此状况下,通信信道16为无线的。然而,关于几何运动划分的本发明的技术未必限于无线应用或设定。举例来说,此等技术可应用于空中电视广播、有线电视发射、卫星电视发射、因特网视频发射、经编码到存储媒体上的经编码数字视频,或其它情境。因此,通信信道16可包含适于发射经编码视频数据的无线或有线媒体的任何组合。
在图I的实例中,源装置12包括视频源18、视频编码器20、调制器/解调器(调制解调器)22和发射器24。目的地装置14包括接收器26、调制解调器28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于几何运动划分的技术。在其它实例中,源装置和目的地装置可包括其它组件或配置。举例来说,源装置12可从外部视频源18(例如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置建立接口连接,而非包括集成式显示装置。图I的所说明系统10仅仅为一实例。可通过任何数字视频编码和/或解码装置来执行用于几何运动划分的技术。尽管通常通过视频编码装置来执行本发明的技术,但还可通过视频编码器/解码器(通常被称为“CODEC”)来执行所述技术。此外,还可通过视频预处理器来执行本发明的技术的特定方面。源装置12和目的地装置14仅仅为此等编码装置的实例,在所述编码装置中,源装置12产生用于发射到目的地装置14的经编码视频数据。在一些实例中,装置12、14可以实质上对称方式进行操作,使得装置12、14中的每一者包括视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单程或双程视频发射,例如,以用于视频流发射、视频播放、视频广播或视频电话。源装置12的视频源18可包括例如视频相机等视频俘获装置、含有经先前俘获视频的视频档案,和/或来自视频内容提供者的视频馈入。作为另一替代方案,视频源18可产生基于计算机图形的数据以作为源视频,或实况视频、经归档视频与经计算机产生视频的组合。在一些状况下,如果视频源18为视频相机,则源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明所描述的技术一般可适用于视频编码,且可应用于无线和/或有线应用。在每一状况下,可通过视频编码器20来编码经俘获视频、经预俘获视频或经计算机产生视频。可接着通过调制解调器22根据通信标准来调制经编码视频信息,且经由发射器24将经编码视频信息发射到目的地装置14。调制解调器22可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包括经设计以用于发射数据的电路,包括放大器、滤波器和一个或一个以上天线。目的地装置14的接收器26经由信道16接收信息,且调制解调器28解调所述信息。此外,视频编码过程可将本文所描述的技术中的一者或一者以上实施到几何运动划分。经由信道16所传达的信息可包括由视频编码器20定义的语法信息(其还由视频解码器30使用),所述语法信息包括描述宏块和其它经编码单元(例如,图像群组(GOP))的特性和/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。在图I的实例中,通信信道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。尽管图I中未图示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包括适当的MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在适用时,MUX-DEMUX单元可符合ITU H. 223多路复用器协议或例如用户数据报协议(UDP)等其它协议。ITU-T H. 264/MPEG-4(AVC)标准已由 ITU-T 视频编码专家团体(VCEG)连同 ISO/IEC动画专家团体(MPEG)制订为被称为联合视频小组(JVT)的集体合作关系的产品。在一些方面中,本发明所描述的技术可应用于通常符合a 264标准的装置。H. 264标准由ITU-T研究团体且在日期2005年3月描述于ITU-T国际标准H. 264 (用于通用视听服务的高级视频编码)中,其在本文中可被称为札264标准或H. 264规范或H. 264/AVC标准或规范。联合视频小组(JVT)继续致力于对H. 264/MPEG-4AVC的扩展。视频编码器20和视频解码器30可各自实施为多种合适编码器电路中的任一者,例如,一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包括于一个或一个以上编码器或解码器中,所述一个或一个以上编码器或解码器中的任一者可在相应相机、计算机、移动装置、用户装置、广播装置、机顶盒、服务器或其类似者中集成为组合式编码器/解码器(CODEC)的部分。视频序列通常包括一系列视频帧,也被称为视频图像。图像群组(GOP)通常包含一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头中或在别处包括语法数据,所述语法数据描述包括于GOP中的帧的数目。每一帧可包括描述相应帧的编码模式的帧语法数据。视频编码器20通常对个别视频帧内的视频块进行操作,以便编码视频数据。视频块可对应于宏块、宏块的划分区,或大于宏块的块。视频块可具有固定或变化的尺寸,且视频块的尺寸可根据指定编码标准而不同。每一视频帧可包括一个或一个以上片段。每一片段可包括多个宏块,所述多个宏块可经配置为划分区,也被称为子块。
作为一实例,ITU-T H. 264标准支持以下各者在各种块尺寸中的帧内预测,例如,针对亮度分量的16乘16、8乘8或4乘4,和针对色度分量的8X8;以及在各种块尺寸中的帧间预测,例如,针对亮度分量的16X16、16X8、8X16、8X8、8X4、4X8和4X4,和针对色度分量的相应经按比例调整尺寸。在本发明中,“NXN”和“N乘N”可互换地用以依据垂直尺度和水平尺度来指代块的像素尺度,例如,16X16像素或16乘16像素。一般来说,16 X 16块在垂直方向上将具有16个像素(y=16)且在水平方向上将具有16个像素(x=16)。同样地,NXN块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。可按行和列来布置块中的像素。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包含NXM像素,其中M未必等于N。小于16乘16的块尺寸可被称为16乘16宏块的划分区。视频块可包含在像素域中的像素数据块,或在变换域中的变换系数块,例如,遵循变换(例如,离散余弦变换(DCT)、整数变换、小波变换,或概念上类似变换)到表示经编码视频块与预测性视频块之间的像 素差的残余视频块数据的应用。在一些状况下,视频块可包含在变换域中的经量化变换系数块。较小视频块可提供较好分辨率,且可用于包括高细节等级的视频帧的位置。一般来说,可将宏块和各种划分区(有时被称为子块)视为视频块。另外,可将一片段视为多个视频块,例如,宏块和/或子块。每一片段可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或帧的其它部分可被定义为可解码单元。术语“经编码单元”或“编码单元”可指代视频帧的任何可独立解码单元,例如,整个帧、帧的片段、也被称为序列的图像群组(GOP),或根据适用编码技术所定义的另一可独立解码单元。根据本发明的技术,视频编码器20可经配置以在块(例如,宏块)的帧间模式编码期间使用几何运动划分。即,视频编码器20可确定可使用几何运动划分线(也被称为几何划分区)来最好地编码块。假定原点处于块的中心。接着,通过垂直于定义划分区边界的线的通过原点的线来定义每一几何运动划分线。即,视频编码器20可使用两个参数来定义几何运动划分线垂直于划分线且发源于经划分块的中心点处的线段的长度P (rho),和垂直线相对于通过经划分块的中心点的水平线的角度9 (theta)。换句话说,通过垂直线与X轴所对向的角度以及划分线与原点相隔的距离来定义几何运动划分线。视频编码器20可经配置以确定应将一块划分为两个划分区,和计算最好地拟合所述两个划分区之间的分割的根据(P,0)所定义的划分线。下文的等式(I)定义几何运动划分线
—Ipy-——I-- +=ToX十co (I)在各种实例中,视频编码器20可经配置以使用固定或可变尺寸的块,例如,16 X 16、32 X 32和/或64X 64块。一般来说,对于NXN块,视频编码器20可选择在
(包括在内)的范围内的P的值。因此,对于16X 16块,视频编码器20可经配置以选择在
(包括在内)的范围内的P的值。作为另一实例,对于32X32块,视频编码器20可经配置以选择在
(包括在内)的范围内的P的值。作为又一实例,对于64X64块,视频编码器20可经配置以选择在
(包括在内)的范围内的P的值。在一些实例中,视频编码器20可经配置以选择在
(包括在内)的范围内的0的值。因此,0的值的范围可具有11. 25度的步长。在此等实例中,可存在针对16X16的块尺寸的256个可能几何划分区、针对32X32的块尺寸的512个可能几何划分区,和针对64X64的块尺寸的1024个可能几何划分区。然而,块尺寸以及P与0的步长的选择未必限于上文所提及的值。视频编码器20和视频解码器30可经配置以确定特定像素对应于哪一几何运动划分区,且应经配置成使得所述编码器和所述解码器两者选择针对给定像素的同一划分区。在一些实例中,当使用几何运动划分区来划分块时,视频编码器20和视频解码器30可使用固定点计算。像素是对应于区域0还是对应于区域I的指示可被有效率地存储为二进制掩码,其中0指示像素属于区域0且I指示像素属于区域I。归因于可能几何划分区和块尺寸的数目,可能禁止将所有掩码存储于视频编码器20和视频解码器30处。因此,本发明包括用于在运作中计算掩码且在一些实例中使用固定点算术的技术。 公式(I)中的斜率m和y截距c含有三角函数,且因此,严格地基于此公式在运作中计算掩码将需要浮点实施方案。在一些状况下,难以或甚至不可能使两个装置具有匹配浮点实施方案。因此,可使用固定点算术来计算掩码。因此,计算过渡区域中的像素的预测值可包括计算指示在第一划分区中块的像素和在第二划分区中块的像素的掩码,以及使用固定点算术而基于掩码来定位第一划分区中相邻于过渡区域中的像素的至少一个相邻像素和第二划分区中的至少一个相邻像素。在使用固定点算术的实例中,可排除0=0和0=Ji的状况,这是因为几何运动划分区将为具有无限斜率和无限y截距的垂直线。对于剩余状况,可使用固定点值来表示I/tan 0和1/sin 0。可能已将另一参数P表达为整数。对于1/tan 0 , 0的剩余值的最大绝对值为5. 0273,且1/tan 0的两个相继值之间的最大绝对差可为0. 1989。类似地,对于I/sin 0,最大绝对值可为5. 1258,且1/sin 0的两个相继值之间的最大绝对差可为0. 0196。为了将掩码计算变换为固定点运算,视频编码器20可将1/tan 0和1/sin 0乘以2的合适幂,且将结果舍位到最近的整数。在一个实例中,对于固定点实施方案,视频编码器20可将1/tan 0和l/sin0乘以22°或1048576,且将1/tan 0和1/sin 0乘以22°或1048576舍位到最近的整数。由于P的最大值在高达64X64的块尺寸且步长为I的实例中为32,因此25位的带正负号的实施方案足以表示y截距值。因为在表达式“mx”中的X可取自-32到31的值,所以mx还可表示为25位的带正负号的整数。在一些实例中,对于0的32个值中的每一者,视频编码器20和视频解码器30可使用32位的带正负号的整数来存储1/tan 0和1/sin 0的值。归因于sin和tan函数的对称性质,视频编码器20和视频解码器30可经配置以仅存储斜率和截距的8个值以作为32位的带正负号的整数。如早先所指示,当9=0和0=^1时,无需使用此等经存储值。视频编码器20和视频解码器30可经配置以使用固定点运算来导出相同掩码。此情形可避免在视频编码器20与视频解码器30之间引起漂移误差,其原本可由几何运动划分引起。使区域0被定义,使得对于区域0中的任何点(Xci, y0), y0-m*x0>=c 类似地,使区域I被定义,使得对于区域I中的任何点(X1, Y1), yj-m^x^Co对于任何几何运动划分区和任何点(x,y),视频编码器20可以固定点计算y-m*x,且比较结果与y截距以确定所述点是属于区域0还是属于区域I。当0=0或0 =Ji时,几何运动划分区为通过X= P定义的垂直线。在所述状况下,在x〈P的情况下来自块的所有点均可被定义为属于划分区0,且剩余点(X>=P )可被定义为属于划分区I。视频编码器20和视频解码器30可经配置以逐一查看块中的每一点,以计算指示哪些点对应于区域0和哪些点对应于区域I的所述块的掩码。在使用固定点运算来计算块的掩码之后,针对基于几何的运动划分区的剩余计算可基于掩码。以此方式,视频编码器20可对应于如下视频编码器的实例,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;计算所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述I截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来编码所述第一划分区和所述第二划分区;且输出所述经编码的第一划分区、所述经编码的第二划分区、所述斜率值和所述I截距值。 使用几何运动划分区来划分块可产生所述块的两个非矩形划分区,所述两个非矩形划分区各自具有相应运动向量。所述划分区可对应于经编码块的预测值。视频编码器20还可编码几何运动划分区的运动向量。视频编码器20可相对于运动预测子来编码运动向量。视频编码器20可选择运动预测子以作为已被编码的相邻块(例如,在当前块上方、左侧和右上方的块)的运动向量的中值(当编码所述块时假定光栅扫描定序)。本发明的技术包括从广于常规编码标准中所使用的候选运动向量的候选运动向量集合选择中值,以及针对块的每一运动向量使用潜在不同的候选运动向量。即,视频编码器20可确定针对单一块的几何运动划分区的运动向量使用不同运动预测子。另外,视频编码器20计算块的残余值。一般来说,块的像素的残余值对应于块的像素的实际值与块的并置像素的预测值之间的差。在一个实例中,本发明的技术包括使横越几何运动划分线的过渡平滑。为此,视频编码器20可经配置有围绕划分线的特定过渡区域。作为一实例,视频编码器20可经配置以使用以当前像素为中心的3X3像素窗。作为一实例,如果紧接的上部、下部、左侧和右侧像素中的至少两者属于不同划分区,则视频编码器20可经配置以确定当前像素处于过渡区域中。作为另一实例,如果紧接的八个相邻像素中的至少两者属于不同划分区,则视频编码器20可经配置以确定当前像素处于过渡区域中。在其它实例中,此等方案可扩展到以当前像素为中心的窗的不同尺寸,在确定当前像素是否属于过渡区域中时考虑所述窗中的像素。为了使过渡平滑,视频编码器20可经配置以横越划分线应用低通滤波器。滤波器
可对应于以待滤波像素为中心的系数矩阵,例如,3X3系数矩阵。因此,滤波器可以过渡区
域中的像素为中心。低通滤波器可具有各种系数。低通滤波器的一实例可为
I 2I2 3 2
I 2 I,其中“3”系数对应于当前像素,且其它系数对应于相邻于当前像素的其它紧接相
邻像素。低通滤波器的另一实例可为
0 I0I 4I0 I 0,其中“4”系数对应于当前像素,且其它系数对应于相邻于当前像素的其它紧接相邻像素。为了计算过渡区域中的像素的预测值,视频编码器20可计算滤波器的系数与同所述系数并置的像素的值的乘积(当滤波器以过渡区域中的像素为中心时)、计算所述乘积的总和,且将所述乘积的总和除以所述系数的总和。以此方式,视频编码器20对应于如下视频编码器的实例,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值;且输出所述像素的所述残余值。在一些实例中,对于过渡区域中的平滑,视频编码器20基于以当前像素为中心的 各种条件来选择性地执行滤波。所述条件可包括沿着垂直于划分线的方向的像素值的差(或特定形式的梯度)、块的两个划分区之间的运动向量差、划分线方向、参考帧索引、量化参数,和两个划分区的像素的数目。还可分析其它条件以确定是否和如何滤波过渡区域中的像素。用于改进视觉质量的另一方法包括使在过渡区域内部的像素的两个预测重叠。视频编码器20可使用块的划分区的每一运动向量来产生属于过渡区域的像素的两个预测。视频编码器20可接着使用加权和来组合两个预测。举例来说,如果像素属于划分区I且还处于过渡区域中,则视频编码器20可使用2/3的权重来加权来自第一划分区值的预测值,且使用1/3的权重来加权来自另一划分区的预测值。在其它实例中,可施加例如(3/4,1/4)或(1/2,1/2)等其它权重值。在一些实例中,可能自适应性地确定权重值。在一些实例中,基于以当前像素为中心的各种条件来确定用于加权和运算的加权系数。所述条件可包括沿着垂直于划分线的方向的像素值的差(或特定形式的梯度)、块的两个划分区之间的运动向量差、划分线方向、参考帧索引、量化参数,和两个划分区的像素的数目。还可分析其它条件以确定是否和如何滤波过渡区域中的像素。视频编码器20可将变换(例如,离散余弦变换、4X4整数变换、8X8变换、16X16变换或其它变换)应用于残余值。在一个实例中,视频编码器20可基于几何运动划分线是否通过块的划分区而自适应性地选择所述划分区的残余部分的变换尺寸。在此例子中,术语“划分区”指代NXN块的(N/2)X(N/2)或更小划分区,此与几何运动划分区相对。作为一实例,假设使用几何运动划分线来划分NXN块。视频编码器20可将NXN块分割为四个非重叠(N/2) X (N/2)块。接着,对于每一(N/2) X (N/2)块,视频编码器20可确定几何运动划分区是否通过(N/2) X (N/2)。如果几何运动划分线不通过(N/2) X (N/2)块,则视频编码器20可使用块的(N/2)X(N/2)的变换尺寸。另一方面,如果几何运动划分线通过(N/2) X (N/2),则视频编码器20可递归地执行方法将(N/2)X(N/2)分割为四个非重叠(N/4) X (N/4)块,以及确定几何运动划分线是否通过(N/4) X (N/4)块中的任一者。视频编码器20可经配置有最小变换尺寸(例如,4X 4),此时,视频编码器20可选择所述最小变换尺寸以用于一子块,而不管几何运动划分线是否通过所述子块。以此方式,视频编码器20可对应于如下视频编码器的实例,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一几何划分区和第二几何划分区,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;且使用小于(N/2) X (N/2)的变换尺寸来编码所述几何运动划分线所通过的所述子块中的至少一者。在用以产生预测性数据和残余数据的帧内预测性或帧间预测性编码之后,且在用以产生变换系数的任何变换(例如,在H. 264/AVC中所使用的4X4或8X8整数变换,或离散余弦变换DCT)之后,可执行变换系数的量化。量化通常指代量化变换系数以可能地减少用以表示所述系数的数据的量的过程。所述量化过程可减小与所述系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值降值舍位到m位值,其中n大于m。在量化之后,可(例如)根据内容自适应性可变长度编码(CAVLC)、上下文自适应性二进制算术编码(CABAC)或另一熵编码方法来执行经量化数据的熵编码。经配置以用于熵编码的处理单元或另一处理单元可执行其它处理功能,例如,经量化系数的零游程长度编码,和/或语法信息(例如,编码块型样(CBP)值、宏块类型、编码模式、经编码单元(例如,帧、片段、宏块或序列)的最大宏块尺寸,或其类似者)的产生。视频编码器20可(例如)在帧标头、块标头、片段标头或GOP标头中进一步将语法数据(例如,基于块的语法数据、基于帧的语法数据,和基于GOP的语法数据)发送到视频解码器30。举例来说,在视频编码器20提供定义几何运动划分区的角度和长度值的整数的情况下,为了允许固定点算术,视频编码器20可信令整数的使用。视频编码器20可在序列参数集合或图像参数集合中信令此使用。或者,视频编码器20可使用重定义曲线和/或水平集合,且因此可选择指示整数值的使用的曲线指示符(profile_idC)或水平指示符(level_idc)值以允许关于几何运动划分区的固定点算术。视频编码器20还可信令是否针对一图像序列和/或个别图像启用几何运动划分区。此外,视频编码器20可信令是否已针对块启用平滑,且如果已针对块启用平滑,则信令如何实现平滑(例如,平滑滤波器的指示)。举例来说,视频编码器20可信令平滑滤波器的系数。视频编码器20还可信令是否启用自适应性变换尺寸选择。视频编码器20还可信令是否针对图像准许扩展型候选运动向量集合,以相对于运动预测子来编码运动向量。视频解码器30可经配置以在解码经接收视频数据时使用本发明的技术。视频解码器30所应用的技术可基本上与视频编码器20所应用的技术对称。举例来说,视频解码器30可接收定义经编码块的几何运动划分区的斜率和截距的固定点值,以便实现此等技术的固定点实施方案。因此,视频解码器30可基于几何运动划分区的斜率和截距而在运作中计算块的掩码,从而逐一查看所述块的每一像素位置以确定所述像素是属于区域0还是属于区域I。以此方式,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以接收已通过几何运动划分线划分为第一划分区和第二划分区的经编码视频数据块;接收定义所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述I截距值包含整数值;计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;基于所述掩码来解码所述块的所述第一划分区和所述第二划分区;且输出所述经解码块。作为另一实例,视频解码器30可实施平滑技术以使在块的几何运动划分线处块的过渡区域平滑。视频解码器30可接收块的每一几何运动划分区的运动向量,以确定块的像素的预测值。视频解码器30可将平滑滤波器应用于几何运动划分过渡区域中的像素,如上文所描述。因此,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义,和所述块的过渡区域中的像素的残余值;使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值;且输出所述像素的所述经重建构值。作为又一实例,视频解码器30可基于自适应性变换尺寸选择而接收各种尺寸的残余值的关键字。此等关键字(其可对应于可变长度码)可基于块的变换尺寸而对应于不同辞典。因此,视频解码器30可基于几何运动划分线是否通过特定块而确定所述块的 变换尺寸。以此方式,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以接收通过几何运动划分线划分为第一几何划分区和第二几何划分区的经编码视频数据块,其中所述块包含NXN像素;将所述视频数据块分割为四个相等尺寸的非重叠(N/2) X (N/2)子块;且使用小于(N/2) X (N/2)的变换尺寸来反变换所述几何运动划分线所通过的所述子块中的至少一者。作为再一实例,视频解码器30可相对于运动预测子来解码几何运动划分区的运动向量。根据本发明的技术,视频解码器30可从较大候选运动向量集合确定运动预测子,且可个别地确定每一几何划分区的运动预测子。以此方式,视频解码器30可对应于如下视频解码器的实例,所述视频解码器经配置以接收通过几何运动划分线划分为第一划分区和第二划分区的视频数据块、所述第一划分区的第一经编码运动向量,和所述第二划分区的第二经编码运动向量;基于选自相邻于所述第一划分区的块的运动向量的第一运动预测子来解码所述第一经编码运动向量;基于选自相邻于所述第二划分区的块的运动向量的第二运动预测子来解码所述第二经编码运动向量,其中相邻于所述第二划分区的所述块独立于相邻于所述第一划分区的所述块予以确定;且使用所述经解码的第一运动向量和所述经解码的第二运动向量来解码所述块。视频编码器20和视频解码器30可各自实施为多种合适编码器或解码器电路中的任一者(在适用时),例如,一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包括于一个或一个以上编码器或解码器中,所述一个或一个以上编码器或解码器中的任一者可集成为组合式视频编码器/解码器(CODEC)的部分。包括视频编码器20和/或视频解码器30的装置可包含集成电路、微处理器和/或无线通信装置(例如,蜂窝式电话)。视频编码器20和视频解码器30可经配置以执行本发明的技术的任何组合。即,视频编码器20和视频解码器30可经配置以按任何组合执行以下各者中的任何一者或一者以上用于几何运动划分的固定点实施方案、通过几何运动划分区边界定义的过渡区域的平滑、每一几何运动划分区的编码运动向量,和/或基于几何运动划分线是否通过子块的子块的自适应性变换尺寸选择。在一些实例中,尽管视频编码器20和视频解码器30可实施本发明所描述的特定技术,但可停用所述技术,或视频编码器20和视频解码器30中的一者可能不支持同一技术集合。因此,视频编码器20可信令哪些技术用于特定视频流,且视频解码器30可基于视频解码器30是否支持用以编码所述视频流的技术而选择是否检索或使用所述视频流。举例来说,视频编码器20可使用曲线指示符(profile_idc值)、水平指示符(level_idc值)、标头数据或其它描述性数据而信令哪些技术用于序列参数集合、图像参数集合中。图2为说明可实施用于几何运动划分的技术的视频编码器20的实例的框图。视频编码器20可执行视频帧内的块(包括宏块,或宏块的划分区或子划分区)的帧内和帧间编码。帧内编码依赖于空间预测以减少或移除给定视频帧内的视频的空间冗余。帧间编码依赖于时间预测以减少或移除视频序列的邻近帧内的视频的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。尽管图2中描绘用于帧间模式编码的组件,但应理解,视频编码器20可进一步包括用于帧内模式编码的组件。然而,为了简洁和清楚起见,未说明此等组件。如图2所示,视频编码器20接收待编码视频帧内的当前视频块。在图2的实例中,视频编码器20包括模式选择单元40、运动估计单元42、运动补偿单元44、帧内预测单元46、参考帧存储装置64、求和器50、变换单元52、量化单元54和熵编码单元56。对于视频块重建构,视频编码器20还包括反量化单元58、反变换单元60和求和器62。还可包括解块滤波器(图2中未图示)以滤波块边界,以从经重建构视频移除块效应假影。必要时,解块滤波器将通常滤波求和器62的输出。在编码过程期间,视频编码器20接收待编码视频帧或片段。可将所述帧或片段分割为多个视频块。运动估计单元42和运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块来执行经接收视频块的帧间预测性编码,以提供时间压缩。帧内预测单元还可相对于与待编码块相同的帧或片段中的一个或一个以上相邻块来执行经接收视频块的帧内预测性编码,以提供空间压缩。模式选择单元40可(例如)基于误差结果而选择编码模式(帧内或帧间)中的一者,且将所得经帧内编码块或经帧间编码块提供到求和器50以产生残余块数据,以及提 供到求和器62以重建构经编码块以用作参考帧。运动估计单元42和运动补偿单元44可为高度集成式的,但出于概念性目的而予以单独地说明。运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示预测性参考帧(或其它经编码单元)内的预测性块相对于当前帧(或其它经编码单元)内经编码的当前块的位移。预测性块为依据像素差被发现紧密地匹配于待编码块的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差量度予以确定。运动向量还可指示宏块的划分区的位移。运动补偿可涉及基于通过运动估计确定的运动向量来提取或产生预测性块。此外,在一些实例中,运动估计单元42和运动补偿单元44可为功能上集成式的。在一些实例中,运动估计单元42可确定应使用几何运动划分线来划分块。运动估计单元42可计算几何运动划分线的参数,例如,从经划分块的原点到几何运动划分线的中点的线的角度9和距离P。在一些实例中,运动估计单元42可确定作为几何运动划分线的斜率111和y截距c的参数,以便允许此等技术的固定点实施方案。另外,视频编码器20和视频解码器30(图I和3)可存储针对0的不同值的1/tan( 0 )和1/sin( 0 )的查找表的相同副本。对于几何模式,视频编码器20可在输出位流中信令0和P的值。视频解码器30可经配置以使用经信令值来执行固定点计算,以计算与通过视频编码器20计算的掩码相同的掩码。运动估计单元42通过比较经帧间编码帧的视频块与参考帧存储装置64中的参考帧的视频块(或划分区)而计算经帧间编码帧的视频块或其几何运动划分区的运动向量。运动补偿单元44还可内插参考帧(例如,I帧或P帧)的次整数(sub-integer)像素。ITU
H.264标准将参考帧称为“列表”(list)。因此,存储于参考帧存储装置64中的数据可存储于列表中。运动估计单元42比较来自参考帧存储装置64的一个或一个以上参考帧的块与当前帧(例如,P帧或B帧)的待编码块。当参考帧存储装置64中的参考帧包括次整数像素的值时,通过运动估计单元42计算的运动向量可指代参考帧的次整数像素位置。在一些实例中,运动估计单元42可计算运动向量与运动预测子之间的差,以便编码运动向量。运动估计单元42可选择运动预测子以作为在经编码的当前块上方、左侧、上方和左侧以及上方和右侧的块的运动向量的中值。运动估计单元42还可确定是否已划分在当前块的上方和左侧的块,且如果已划分在当前块的上方和左侧的块,则确定此等划分区是否具有相异运动向量。如果此等划分区具有相异运动向量,则运动估计单元42可从所有此等候选运动向量的中值选择运动预测子。在确定运动预测子之后,运动估计单元42可计算运动向量与运动预测子之间的差。运动估计单元42将所计算的差发送到熵编码单元56,且将所计算的运动向量发送到运动补偿单元44。运动补偿单元44可基于预测性块而计算预测数据。视频编码器20通过从经编码的原始视频块减去来自运动补偿单元44的预测数据而形成残余视频块。求和器50表示执行此减去运算的组件。在一些实例中,根据本发明的技术,运动补偿单元44可在通过块的几何运动划分线定义的过渡区域处滤波所述块的像素。举例来说,运动补偿单元44可使用3X3像素滤波器来计算过渡区域中的像素的预测值,所述滤波器考量来自区域0和区域I两者的值,其中区域0和区域I对应于几何运动划分区。作为另一实例,运动补偿单元44可通过计算区域0中的像素的值与区域I中的像素的值的加权和而计算过渡区域中的像素的预测值。在计算过渡区域中的像素的预测值之后,求和器50可计算像素的残余值以作为像素的预测值与实际值之间的差。以此方式,通过求和器50计算的残余值可基于通过运动补偿单元44计算的平滑预测值。变换单元52将变换(例如,离散余弦变换(DCT)或概念上类似变换)应用于残余块,从而产生包含残余变换系数值的视频块。变换单元52可执行其它变换,例如,H. 264标准所定义的变换,所述变换在概念上类似于DCT。还可使用小波变换、整数变换、次频带变换或其它类型的变换。在任何状况下,变换单元52将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素值域变换到变换域,例如,频域。在一些实例中,变换单元52可从运动补偿单元44接收各种尺寸的块。运动补偿单元44可经配置以基于块是否触碰几何运动划分线而选择块尺寸。举例来说,假设原始块为16X16块。运动补偿单元44可将原始块分割为四个8X8块。接着,运动补偿单元44可将触碰几何运动划分线的四个8X8块中的任一者分割为4X4块。变换单元52可经配置有针对每一潜在块尺寸的变换。以此方式,当计算经几何运动划分块的残余值时,视频编码器20可执行针对所述块的自适应性变换尺寸选择。尽管描述16X 16块的实例,但类似技术可应用于其它尺寸的块(例如,32X32、64X64,等等)。此外,运动补偿单元44可经配置有最小块尺寸(例如,4X4)。量化单元54量化残余变换系数以进一步减小位速率。量化过程可减小与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在量化之后,熵编码单元56熵编码经量化变换系数。举例来说,熵编码单元56可执行内容自适应性可变长度编码(CAVLC)、上下文自适应性二进制算术编码(CABAC)或另一熵编码技术。在通过熵编码单元56进行熵编码之后,可将经编码视频发射到另一装置或归档经编码视频以供稍后发射或检索。在上下文自适应性二进制算术编码的情况下,上下文可基于相邻宏块。在一些状况下,除了执行熵编码以外,熵编码单元56或视频编码器20的另一单元可经配置以还执行其它编码功能。举例来说,熵编码单元56可经配置以确定宏块和划分区的CBP值。并且,在一些状况下,熵编码单元56可执行宏块或其划分区中的系数的游程长度编码。特定来说,熵编码单元56可应用曲折扫描或其它 扫描型样来扫描宏块或划分区中的变换系数,且编码零游程以供进一步压缩。熵编码单元56还可通过适当语法元素来建构标头信息,以供在经编码视频位流中发射。反量化单元58和反变换单元60分别应用反量化和反变换,以在像素域中重建构残余块,例如,以供稍后用作参考块。运动补偿单元44可通过将残余块加到参考帧存储装置64的帧中的一者的预测性块而计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建构残余块,以计算次整数像素值以用于运动估计中。求和器62将经重建构残余块加到通过运动补偿单元44产生的经运动补偿预测块,以产生经重建构视频块以供存储于参考帧存储装置64中。运动估计单元42和运动补偿单元44可将经重建构视频块用作参考块,以帧间编码后续视频帧中的块。图3为说明解码经编码视频序列的视频解码器30的实例的框图。在图3的实例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考帧存储装置82和求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图2)所描述的编码遍次大体上互逆的解码遍次。帧内预测单元74可使用在位流中所接收的帧内预测模式从空间邻近块中形成预测块。运动补偿单元72可基于从熵解码单元70所接收的运动向量而产生预测数据。当使用几何运动划分线来划分经编码块时,运动补偿单元72可接收所述块的几何运动划分线的定义,以便确定所述块的哪些像素对应于哪一划分区。在一些实例中,所述线的定义可根据从块的原点到几何运动划分线的中心的线的角度0和长度P。在一些实例中,所述线的定义可根据几何运动划分线的斜率m和y截距C,使得运动补偿单元72可使用固定点算术来计算指示块的像素对应于哪一几何划分区的掩码。运动补偿单元72可使用在位流中所接收的运动向量来识别参考帧存储装置82中的参考帧中的预测块。在一些实例中,可相对于选自经先前编码块或其划分区的运动预测子来编码运动向量。因此,通过确定块或划分区的运动预测子,接着将所接收的差值加到运动预测子,运动补偿单元72可解码运动向量。
运动补偿单元72还可经配置以使用平滑滤波器来计算几何运动划分区之间的过渡区域中的像素的预测值。举例来说,运动补偿单元72可将3X3像素滤波器应用于此等像素,以便确定预测值。作为另一实例,运动补偿单元72可使用来自第一划分区的值与来自第二划分区的值的加权和来计算过渡区域中的像素的预测值。反量化单元76反量化(即,解量化)在位流中所提供且通过熵解码单元70解码的经量化块系数。反量化过程可包括常规过程,例如,如H. 264解码标准所定义。反量化过程还可包括针对每一宏块使用通过编码器50计算的量化参数QPY,以确定量化程度且同样地确定应被应用的反量化程度。反变换单元58将反变换(例如,反DCT、反整数变换或概念上类似反变换过程)应用于变换系数,以便在像素域中产生残余 块。运动补偿单元72产生经运动补偿块,从而可能地基于内插滤波器来执行内插。待以次像素精度用于运动估计的内插滤波器的识别符可包括于语法元素中。运动补偿单元72可在视频块的编码期间使用如通过视频编码器20使用的内插滤波器,以计算参考块的次整数像素的内插值。运动补偿单元72可根据经接收语法信息来确定通过视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。在一些实例中,反变换单元78可从运动补偿单元72接收经编码块的变换尺寸的指示。运动补偿单元72可确定块是否触碰几何运动划分区,且如果块触碰几何运动划分区,则将变换尺寸减小达一半,降到最小变换尺寸(例如,4X4像素)。在一些实例中,经变换块可包括描述待应用变换的尺寸的语法信息。运动补偿单元72可使用确定用以编码经编码视频序列的(多个)帧的宏块的尺寸的语法信息、描述如何划分经编码视频序列的帧的每一宏块的划分信息、指示如何编码每一划分区的模式、每一经帧间编码宏块或划分区的一个或一个以上参考帧,和解码经编码视频序列的其它信息。求和器80对残余块与通过运动补偿单元72或帧内预测单元产生的相应预测块进行求和,以形成经解码块。必要时,还可应用解块滤波器来滤波经解码块,以便移除块效应假影。接着将经解码视频块存储于参考帧存储装置82中,参考帧存储装置82提供参考块以用于后续运动补偿,且还产生经解码视频以用于呈现于显示装置(例如,图I的显示装置32)上。图4为说明已使用几何运动划分线116划分的块110的概念图。几何运动划分线116将块110划分为两个划分区区域112和区域114。在一些实例中,可根据垂直线120的特性来定义几何运动划分线116。特定来说,使X轴113与y轴111的相交点定义为块110的原点。垂直线120垂直于几何运动划分线116,且在点124处与几何运动划分线116相交。角度118对应于垂直线120相对于X轴113的角度。距离122对应于在块110的原点与几何运动划分线116的点124之间的距离,所述距离也为几何运动划分线116与块110的原点相隔的垂直距离。角度118也可被称为0 (theta),而距离122也可被称为P (rho), 0和P如上文所定义。以此方式,可使用角度118与距离122的组合而针对块110定义几何运动划分线116。或者,可根据斜率126和y截距128来定义几何运动划分线116。倾斜角126对应于几何运动划分线116的斜率。y截距128对应于几何运动划分线116与y轴111相交的点。还可使用m来表达斜率126,而可使用c来表达y截距128,如上文所定义。斜率126和y截距128可表达为整数值,以准许使用固定点算术来计算块110的掩码,所述掩码指示像素是处于区域112中还是处于区域114中。斜率126和y截距128通过上文的等式(I)而在数学上与角度118和距离120相关,为了方便起见,下文再现等式(I)
一 IP
权利要求
1.一种用于编码视频数据的方法,所述方法包含 使用几何运动划分线将视频数据块划分为第一划分区和第二划分区; 使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值; 基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值;以及 输出所述像素的所述残余值。
2.根据权利要求I所述的方法,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
3.根据权利要求I所述的方法,其中所述块的原点包含所述块的中心,且其中所述几何运动划分线是根据角度值和长度值予以定义,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
4.根据权利要求3所述的方法,其进一步包含基于所述角度值和所述长度值来计算所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述I截距值包含整数值。
5.根据权利要求3所述的方法,其进一步包含输出所述几何运动划分线的所述角度值和所述长度值。
6.根据权利要求I所述的方法,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中计算所述预测值包含 计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积; 计算所述乘积的总和;以及 将所述乘积的所述总和除以所述系数的总和。
7.一种用于编码视频数据的设备,所述设备包含视频编码器,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值;且输出所述像素的所述残余值。
8.根据权利要求7所述的设备,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
9.根据权利要求7所述的设备,其中所述块的原点包含所述块的中心,且其中所述几何运动划分线是根据角度值和长度值予以定义,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
10.根据权利要求9所述的设备,其中所述视频编码器经配置以基于所述角度值和所述长度值来计算所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述I截距值包含整数值。
11.根据权利要求9所述的设备,其中所述视频编码器经配置以输出所述几何运动划分线的所述角度值和所述长度值。
12.根据权利要求7所述的设备,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中为了计算所述预测值,所述视频编码器经配置以计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积,计算所述乘积的总和,且将所述乘积的所述总和除以所述系数的总和。
13.一种用于编码视频数据的设备,所述设备包含 用于使用几何运动划分线将视频数据块划分为第一划分区和第二划分区的装置; 用于使用滤波器来计算所述块的过渡区域中的像素的预测值的装置,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值; 用于基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值的装置;以及 用于输出所述像素的所述残余值的装置。
14.根据权利要求13所述的设备,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
15.根据权利要求13所述的设备,其中所述块的原点包含所述块的中心,且其中所述几何运动划分线是根据角度值和长度值予以定义,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
16.根据权利要求15所述的设备,其进一步包含用于基于所述角度值和所述长度值来计算所述几何运动划分线的斜率值和I截距值的装置,其中所述斜率值和所述I截距值包含整数值。
17.根据权利要求15所述的设备,其进一步包含用于输出所述几何运动划分线的所述角度值和所述长度值的装置。
18.根据权利要求13所述的设备,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中用于计算所述预测值的所述装置包含 用于计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积的装置; 用于计算所述乘积的总和的装置;以及 用于将所述乘积的所述总和除以所述系数的总和的装置。
19.一种计算机程序产品,其包含计算机可读存储媒体,所述计算机可读存储媒体在其上存储有指令,所述指令在被执行时致使处理器 使用几何运动划分线将视频数据块划分为第一划分区和第二划分区; 使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值;以及 输出所述像素的所述残余值。
20.根据权利要求19所述的计算机程序产品,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
21.根据权利要求19所述的计算机程序产品,其中所述块的原点包含所述块的中心,且其中所述几何运动划分线是根据角度值和长度值予以定义,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
22.根据权利要求21所述的计算机程序产品,其进一步包含致使所述处理器基于所述角度值和所述长度值来计算所述几何运动划分线的斜率值和y截距值的指令,其中所述斜率值和所述I截距值包含整数值。
23.根据权利要求21所述的计算机程序产品,其进一步包含致使所述处理器输出所述几何运动划分线的所述角度值和所述长度值的指令。
24.根据权利要求19所述的计算机程序产品,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中致使所述处理器计算所述预测值的所述指令包含致使所述处理器进行以下操作的指令 计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积; 计算所述乘积的总和;以及 将所述乘积的所述总和除以所述系数的总和。
25.一种解码视频数据的方法,所述方法包含 接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义,和所述块的过渡区域中的像素的残余值; 使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值; 基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值;以及 输出所述像素的所述经重建构值。
26.根据权利要求25所述的方法,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
27.根据权利要求25所述的方法,其中所述块的原点包含所述块的中心,且其中接收所述几何运动划分线的所述定义包含接收角度值和长度值,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
28.根据权利要求25所述的方法,其中接收所述几何运动划分线的所述定义包含接收所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述I截距值包含整数值。
29.根据权利要求28所述的方法,其中计算所述预测值包含 计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;以及 使用固定点算术基于所述掩码来定位所述第一划分区中的所述至少一个相邻像素和所述第二划分区中的所述至少一个相邻像素。
30.根据权利要求25所述的方法,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中计算所述预测值包含 计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积;计算所述乘积的总和;以及 将所述乘积的所述总和除以所述系数的总和。
31.一种用于解码视频数据的设备,所述设备包含视频解码器,所述视频解码器经配置以接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义,和所述块的过渡区域中的像素的残余值;使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值;且输出所述像素的所述经重建构值。
32.根据权利要求31所述的设备,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
33.根据权利要求31所述的设备,其中所述块的原点包含所述块的中心,且其中所述 几何运动划分线的所述定义包含角度值和长度值,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
34.根据权利要求31所述的设备,其中所述几何运动划分线的所述定义包含所述几何运动划分线的斜率值和I截距值,其中所述斜率值和所述I截距值包含整数值。
35.根据权利要求34所述的设备,其中为了计算所述预测值,所述视频解码器经配置以计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码,且使用固定点算术而基于所述掩码来定位所述第一划分区中的所述至少一个相邻像素和所述第二划分区中的所述至少一个相邻像素。
36.根据权利要求31所述的设备,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中为了计算所述预测值,所述视频解码器经配置以计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积,计算所述乘积的总和,且将所述乘积的所述总和除以所述系数的总和。
37.一种用于解码视频数据的设备,所述设备包含 用于接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义和所述块的过渡区域中的像素的残余值的装置; 用于使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值的装置,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值; 用于基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值的装置;以及 用于输出所述像素的所述经重建构值的装置。
38.根据权利要求37所述的设备,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
39.根据权利要求37所述的设备,其中所述块的原点包含所述块的中心,且其中所述用于接收所述几何运动划分线的所述定义的装置包含用于接收角度值和长度值的装置,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
40.根据权利要求37所述的设备,其中所述用于接收所述几何运动划分线的所述定义的装置包含用于接收所述几何运动划分线的斜率值和y截距值的装置,其中所述斜率值和所述y截距值包含整数值。
41.根据权利要求40所述的设备,其中所述用于计算所述预测值的装置包含 用于计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码的装置;以及 用于使用固定点算术基于所述掩码来定位所述第一划分区中的所述至少一个相邻像素和所述第二划分区中的所述至少一个相邻像素的装置。
42.根据权利要求37所述的设备,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中所述用于计算所述预测值的装置包含 用于计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积的装置; 用于计算所述乘积的总和的装置;以及 用于将所述乘积的所述总和除以所述系数的总和的装置。
43.一种计算机程序产品,其包含计算机可读存储媒体,所述计算机可读存储媒体在其上存储有指令,所述指令在被执行时致使处理器 接收经编码视频数据块、将所述经编码块划分为第一划分区和第二划分区的几何运动划分线的定义,和所述块的过渡区域中的像素的残余值; 使用滤波器来计算所述块的所述过渡区域中的所述像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值; 基于所述预测值和所述残余值来计算所述块的所述过渡区域中的所述像素的经重建构值;且 输出所述像素的所述经重建构值。
44.根据权利要求43所述的计算机程序产品,其中所述几何运动划分线穿过所述块的水平边界和所述块的垂直边界。
45.根据权利要求43所述的计算机程序产品,其中所述块的原点包含所述块的中心,且其中所述致使所述处理器接收所述几何运动划分线的所述定义的指令包含致使所述处理器接收角度值和长度值的指令,所述角度值包含垂直于所述几何运动划分线且穿过所述原点的线相对于X轴的角度,且所述长度值包含从所述原点到所述垂直线与所述几何运动划分线交会的点的距离。
46.根据权利要求43所述的计算机程序产品,其中所述致使所述处理器接收所述几何运动划分线的所述定义的指令包含致使所述处理器接收所述几何运动划分线的斜率值和y截距值的指令,其中所述斜率值和所述I截距值包含整数值。
47.根据权利要求46所述的计算机程序产品,其中所述致使所述处理器计算所述预测值的指令包含致使所述处理器进行以下操作的指令 计算指示在所述第一划分区中所述块的像素和在所述第二划分区中所述块的像素的掩码;以及 使用固定点算术基于所述掩码来定位所述第一划分区中的所述至少一个相邻像素和所述第二划分区中的所述至少一个相邻像素。
48.根据权利要求43所述的计算机程序产品,其中所述滤波器包含以所述过渡区域中的所述像素为中心的系数矩阵,且其中所述致使所述处理器计算所述预测值的指令包含致使所述处理器进行以下操作的指令 计算所述滤波器的所述系数与同所述系数并置的像素的值的乘积; 计算所述乘积的总和;以及 将所述乘积的所述总和除以所述系数的总和。
全文摘要
在一个实例中,一种设备包括视频编码器,所述视频编码器经配置以使用几何运动划分线将视频数据块划分为第一划分区和第二划分区;使用滤波器来计算所述块的过渡区域中的像素的预测值,所述滤波器施加来自所述第一划分区的至少一个相邻像素的值和来自所述第二划分区的至少一个相邻像素的值;基于所述过渡区域中的所述像素的所述预测值来计算所述块的所述过渡区域中的所述像素的残余值;且输出所述像素的所述残余值。在一个实例中,视频解码器可使用类似滤波器在接收到经编码块的残余值之后且使用所述几何运动划分线的定义来解码所述经编码块。
文档编号H04N7/36GK102763415SQ201180009797
公开日2012年10月31日 申请日期2011年2月16日 优先权日2010年2月18日
发明者王翔林, 陈培松, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1