CN105704492B - 用于内插视频译码的子像素的值的自适应支持 - Google Patents
用于内插视频译码的子像素的值的自适应支持 Download PDFInfo
- Publication number
- CN105704492B CN105704492B CN201610134216.6A CN201610134216A CN105704492B CN 105704492 B CN105704492 B CN 105704492B CN 201610134216 A CN201610134216 A CN 201610134216A CN 105704492 B CN105704492 B CN 105704492B
- Authority
- CN
- China
- Prior art keywords
- integer pixel
- sub
- filter
- pixel positions
- interpolation
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及用于内插视频译码的子像素的值的自适应支持。本发明描述用于计算由编码器和解码器应用以对视频数据块进行编码的子整数像素的值的技术。在一个实例中,视频编码器经配置以接收参考样本的全整数像素位置的值,将内插滤波器应用于所述全整数像素位置的所述值的第一集合以计算所述全整数像素位置中的一者的第一子整数像素的值,将所述内插滤波器应用于所述全整数像素位置的所述值的第二不同集合以计算所述全整数像素位置中的所述一者的第二不同子整数像素的值,使用指向所述第一子整数像素和所述第二子整数像素中的一者的运动向量来对当前像素块进行编码。
Description
分案申请的相关信息
本案是分案申请。该分案的母案是申请日为2011年12月7日、申请号为201180058813.0、发明名称为“用于内插视频译码的子像素的值的自适应支持”的发明专利申请案。
本申请案主张2010年12月10日申请的第61/422,051号美国临时申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码(例如,对视频数据编码和解码)的领域。
背景技术
数字视频能力可并入到各种各样的装置中,包含数字电视、数字直播系统、例如无线电电话手持机等无线通信装置、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台等。数字视频装置实施例如MPEG-2、MPEG-4或H.264/MPEG-4第10部分高级视频译码(AVC)等视频压缩技术以更有效地发射和接收数字视频。视频压缩技术执行空间和时间预测以减少或移除视频序列中固有的冗余。
发明内容
本发明描述可由编码器和解码器在视频编码和/或解码过程的帧间预测阶段期间应用的滤波技术。所描述的滤波技术可增强在分数像素内插期间使用的预测数据的准确性,且在一些情况下,可增加译码增益。本发明存在若干方面,包含基于将内插滤波器应用于全像素位置的各种组合来内插子像素位置的值的技术。内插滤波器所应用于的值通常被称作“支持”。这些技术还包含基于例如先前经编码的帧或当前编码的帧等因素选择用于子像素位置的内插滤波器所应用于的支持。
在一个方面,一种编码视频数据的方法包括接收参考样本的全整数像素位置的值。所述方法还包含将内插滤波器应用于所述全整数像素位置的所述值的第一集合,以计算所述全整数像素位置中的一者的第一子整数像素的值。另外,所述方法还包含将所述内插滤波器应用于所述全整数像素位置的所述值的第二不同集合,以计算所述全整数像素位置中的所述一者的第二不同子整数像素的值。所述方法还包括使用指向所述第一子整数像素和所述第二子整数像素中的一者的运动向量来编码像素块。
在另一方面,一种装置包括视频译码器,所述视频译码器经配置以接收参考样本的全整数像素位置的值。所述视频译码器还经配置以将内插滤波器应用于所述全整数像素位置的所述值的第一集合,以计算所述全整数像素位置中的一者的第一子整数像素的值。类似地,所述视频译码器经配置以将所述内插滤波器应用于所述全整数像素位置的所述值的第二不同集合,以计算所述全整数像素位置中的所述一者的第二不同子整数像素的值。所述视频译码器经进一步配置以使用指向所述第一子整数像素和所述第二子整数像素中的一者的运动向量来编码像素块。
在另一方面,一种计算机可读媒体包括指令,所述指令在视频译码装置中执行时使所述装置译码视频块。明确地说,所述指令使所述装置接收参考样本的全整数像素位置的值,且将内插滤波器应用于所述全整数像素位置的所述值的第一集合,以计算所述全整数像素位置中的一者的第一子整数像素的值。所述指令还使所述装置将所述内插滤波器应用于所述全整数像素位置的所述值的第二不同集合,以计算所述全整数像素位置中的所述一者的第二不同子整数像素的值。所述指令进一步使所述装置使用指向所述第一子整数像素和所述第二子整数像素中的一者的运动向量来编码像素块。
在另一方面,提供一种装置,所述装置包括用于接收参考样本的全整数像素位置的值的装置。所述装置进一步包括用于将内插滤波器应用于所述全整数像素位置的所述值的第一集合以计算所述全整数像素位置中的一者的第一子整数像素的值的装置。而且,所述装置包括用于将所述内插滤波器应用于所述全整数像素位置的所述值的第二不同集合以计算所述全整数像素位置中的所述一者的第二不同子整数像素的值的装置及用于使用指向所述第一子整数像素和所述第二子整数像素中的一者的运动向量来编码像素块的装置。
在又一方面,一种解码视频数据的方法包括接收包括全像素位置的参考样本。所述方法还包含接收用以内插所述参考样本的子整数像素的值的所述参考样本的所述全整数像素位置的集合的指示。另外,所述方法还包含将内插滤波器应用于所述全整数像素位置的所述集合以计算所述参考样本的所述子整数像素的所述值。所述方法进一步包括相对于所述子整数像素的所述计算出的值解码像素块。
在另一方面,一种装置包括视频解码器,所述视频解码器经配置以接收包括全整数像素位置的参考样本。所述视频解码器还经配置以接收用以内插所述参考样本的子整数像素的值的所述参考样本的所述全整数像素位置的集合的指示。类似地,所述视频解码器经配置以将内插滤波器应用于所述全整数像素位置的所述集合以计算所述参考样本的所述子整数像素的所述值。所述视频解码器经进一步配置以相对于所述子整数像素的所述计算出的值解码像素块。
在另一方面,一种计算机可读媒体包括指令,所述指令在视频译码装置中执行时使所述装置译码视频块。明确地说,所述指令使所述装置接收包括全整数像素位置的参考样本,且接收用以内插所述参考样本的子整数像素的值的所述参考样本的所述全整数像素位置的集合的指示。所述指令还使所述装置将内插滤波器应用于所述全整数像素位置的所述集合以计算所述参考样本的所述子整数像素的所述值。所述指令进一步使所述装置相对于所述子整数像素的所述计算出的值解码像素块。
在另一方面,一种装置包括用于接收包括全像素位置的参考样本的装置,和用于接收用以内插所述参考样本的子整数像素的值的所述参考样本的所述全整数像素位置的集合的指示的装置。所述装置进一步包括用于使用所述全整数像素位置的所述集合计算所述参考样本的所述子整数像素的所述值的装置。所述装置进一步包含用于相对于所述子整数像素的所述计算出的值解码像素块的装置。
本发明中所描述的技术可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么软件可执行于处理器中,处理器可指一个或一个以上处理器,例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)或其它等效集成或离散逻辑电路。最初可将包括用以执行所述技术的指令的软件存储于计算机可读媒体中且由处理器加载及执行。
因此,本发明还预期包括指令的计算机可读媒体,所述指令用以使处理器执行如本发明中所描述的多种技术中的任一者。在一些情况下,计算机可读媒体可形成可销售给制造商和/或用于装置中的计算机程序产品的部分。所述计算机程序产品可包含计算机可读媒体,且在一些情况下,还可包含封装材料。
本发明还可适用于载运信息的电磁信号。举例来说,电磁信号可包括与用以内插参考样本的子整数像素的值的全像素支持有关的信息。在一些实例中,信号可从实施本文中所描述的技术的装置产生或由所述装置发射。在其它实例中,本发明可适用于可在实施本文中所描述的技术的装置处接收的信号。
本发明的一个或一个以上方面的细节在附图及以下描述中陈述。从描述和图式并从权利要求书将明白本发明中所描述的技术的其它特征、目的和优点。
附图说明
图1为可用以实施本发明的技术中的一者或一者以上的视频编码和解码系统的一个实例的框图。
图2为更详细地说明图1的视频编码器的实例的框图。
图3为说明与预测数据相关联的整数像素位置和与内插的预测数据相关联的子像素位置的实例的概念图。
图4为说明关于子整数像素位置的对角线六像素滤波器支持的实例的概念图。
图5为说明关于子整数像素位置的x形状十二像素滤波器支持的实例的概念图。
图6为说明关于三个水平子像素位置和三个垂直子像素位置的十二像素滤波器支持的实例的概念图。
图7为说明关于子像素位置的十二像素滤波器支持的实例的概念图。
图8为说明关于子整数像素位置的正方形四像素滤波器支持的实例的概念图。
图9为说明关于子整数像素位置的矩形六像素滤波器支持的实例的概念图。
图10为更详细地说明图1的视频解码器的实例的框图。
图11为说明与本发明一致的利用像素滤波器支持的视频编码器的实例操作的流程图。
图12为说明与本发明一致的利用像素滤波器支持的视频编码器的另一实例操作的流程图。
图13为说明与本发明一致的确定用于子整数像素的滤波器支持的实例方法的流程图。
图14为说明与本发明一致的确定用于子整数像素的滤波器支持的另一实例方法的流程图。
图15为说明与本发明一致的利用滤波器支持的视频解码器的实例操作的流程图。
图16为说明与本发明一致的利用滤波器支持的视频解码器的另一实例操作的流程图。
具体实施方式
本发明描述可由编码器和解码器在视频编码和/或解码过程的帧间预测阶段期间应用的滤波技术。所描述的滤波技术可增强在分数像素内插期间使用的预测数据的准确性,且在一些情况下,可增加译码增益。本发明可互换地使用术语“子像素”、“子整数像素”、“分数像素”和“子像元”。本发明存在若干方面,包含用以基于任何数目个全像素位置的任何组合来内插子像素位置的技术,以及用于基于经先前编码的帧或当前编码的帧来选择用于子像素位置的内插滤波器的支持的技术。下文详细描述这些和其它技术。
基于块的帧间译码为依赖于时间预测来减少或移除视频序列的经连续译码单元的视频块之间的时间冗余的译码技术。经译码单元可包括视频帧、视频帧的切片、图片组、或经编码视频块的另一定义单元。对于帧间译码,视频编码器执行运动估计和运动补偿来估计两个或两个以上邻近的经译码单元的视频块之间的运动。使用运动估计的技术,视频编码器产生运动向量,所述运动向量可指示视频块相对于一个或一个以上参考帧或其它经译码单元中的对应预测视频块的位移。使用运动补偿的技术,视频编码器可使用运动向量来从一个或一个以上参考帧或其它经译码单元产生预测视频块。在运动补偿之后,视频编码器可通过从正被译码的原始视频块减去预测视频块来计算残余视频块。
视频编码器还可应用变换、量化和熵译码过程来进一步降低与残余块的通信相关联的位速率。变换技术可包括离散余弦变换(DCT)或概念上类似的过程。或者,可使用小波变换、整数变换或其它类型的变换。作为实例,在DCT过程中,可将一组像素值转换为变换系数,所述变换系数可表示频域中的像素值的能量。视频编码器还可量化变换系数,其通常可涉及减少与对应变换系数相关联的位的数目的过程。熵译码可包含共同地压缩数据以用于输出到位流的一个或一个以上过程,其中经压缩数据可包含(例如)译码模式的序列、运动信息、译码块样式,和经量化的变换系数。熵译码的实例包含(但不限于)上下文自适应可变长度译码(CAVLC)和上下文自适应二进制算术译码(CABAC)。
经译码视频块可由可用以创建或识别预测块的预测信息,以及可应用于预测块以重建原始块的残余数据块表示。预测信息可包括用以识别预测数据块的一个或一个以上运动向量。使用运动向量,解码器可能够重构用以对残余块译码的预测块。因此,在给定一组残余块和一组运动向量(以及可能一些额外语法)的情况下,解码器可重构最初被编码的视频帧。基于运动估计和运动补偿的帧间译码可实现相对高的压缩量而无过度数据损耗,这是因为连续视频帧或其它类型的经译码单元经常为类似的。经编码视频序列可包括残余数据块、运动向量(在被帧间预测编码时)、用于帧内预测的帧内预测模式的指示,以及可能其它数据(例如,语法的类型)。
已开发子整数像素内插技术以便改进可在帧间译码中实现的压缩程度的预测准确性。在此情况下,在运动补偿期间产生的预测数据(其用以对视频块译码)可对应于子整数像素,子整数像素的值可从参考视频帧或运动向量所指代的其它经译码单元的视频块的全像素的值内插。视频编码器可使用内插技术来计算子整数像素位置的值,例如,通过将内插滤波器应用于支持集合,例如全整数像素的值和/或其它子整数像素位置的先前经译码的值。子整数像素位置在各种实例中可具有各种分辨度,例如二分之一像素、四分之一像素、八分之一像素、十六分之一像素或其它分辨率。因此,视频编码器可在运动估计期间计算具有子像素精度的运动向量。
图1为可用以实施本发明的技术中的一者或一者以上的视频编码和解码系统10的一个实例的框图。如图1中所示,系统10包含源装置12,其经由通信信道15将经编码的视频发射到目的地装置16。源装置12和目的地装置16可包括各种各样的装置中的任一者。在一些情况下,源装置12和目的地装置16中的任一者或两者可包括无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可经由通信信道15(在此情况下,通信信道15为无线的)传达视频信息的任何无线装置。然而,涉及在预测译码期间预测数据的滤波和产生的本发明的技术不必限于无线应用或设置。所述技术还可用于各种各样的其它设置和装置中,包含经由物理线、光纤或其它物理或无线媒体通信的装置。另外,编码或解码技术还可应用于不必与任何其它装置通信的独立装置中。
在图1的实例中,源装置12可包含视频源20、视频编码器22、调制器/解调器(调制解调器)23和发射器24。目的地装置16可包含接收器26、调制解调器27、视频解码器28和显示装置30。根据本发明,源装置12的视频编码器22可经配置以应用本发明的技术中的一者或一者以上以作为视频编码过程的一部分。类似地,目的地装置16的视频解码器28可经配置以应用本发明的技术中的一者或一者以上以作为视频解码过程的一部分。
再次,图1的所说明的系统10仅为一个实例。本发明的各种技术可由支持基于块的预测编码的任何编码装置或支持基于块的预测解码的任何解码装置执行。源装置12和目的地装置16仅为这些译码装置的实例,其中源装置12产生用于发射到目的地装置16的经译码的视频数据。在一些情况下,装置12、16可以大体上对称的方式操作,以使得装置12、16中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,例如用于视频串流传输、视频重放、视频广播或视频电话。
源装置12的视频源20可包含视频俘获装置,例如摄像机、含有先前所俘获的视频的视频存档,或来自视频内容提供者的视频馈入(video feed)。作为另一替代方案,视频源20可产生基于计算机图形的数据作为源视频,或直播视频、存档视频和/或计算机产生的视频的组合。在一些情况下,如果视频源20为摄像机,那么源装置12和目的地装置16可形成所谓的相机电话或视频电话,或经配置以操纵视频数据的其它移动装置(例如,平板计算装置)。在每一情况下,可由视频编码器22来编码经俘获的、经预先俘获的或计算机产生的视频。经编码的视频信息接着可由调制解调器23根据通信标准(例如,码分多址(CDMA)或另一通信标准)来调制,且经由发射器24和通信信道15发射到目的地装置16。调制解调器23可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。
目的地装置16的接收器26经由通信信道15接收信息,且调制解调器27解调制所述信息。类似于发射器24,接收器26可包含经设计以用于接收数据的电路,包含放大器、滤波器及一个或一个以上天线。在一些例子中,发射器24和/或接收器26可并入于包含接收和发射电路两者的单一收发器组件内。调制解调器27可包含各种混频器、滤波器、放大器或经设计以用于信号解调制的其它组件。在一些例子中,调制解调器23和27可包含用于执行调制和解调制两者的组件。
再次,由视频编码器22执行的视频编码过程可在帧间预测编码期间实施本文中描述的技术中的一者或一者以上,帧间预测编码可包含运动估计和运动补偿。由视频解码器28执行的视频解码过程也可在解码过程的运动补偿阶段期间执行此些技术。术语“译码器”在本文中用以指执行视频编码或视频解码的专用计算机装置或设备。术语“译码器”通常指任何视频编码器、视频解码器或组合式编码器/解码器(编解码器)。术语“译码”指编码或解码。显示装置30向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图1的实例中,通信信道15可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任一组合。通信信道15可形成例如局域网、广域网或例如因特网等全球网络的基于包的网络的部分。通信信道15通常表示用于将视频数据从源装置12发射到目的地装置16的任何合适的通信媒体或不同通信媒体的集合。通信信道15可包含可用于促进从源装置12到目的地装置16的通信的路由器、交换器、基站或任何其它设备。
视频编码器22和视频解码器28可根据视频压缩标准(例如,ITU-T H.264标准,或者被描述为MPEG-4第10部分高级视频译码(AVC))而操作。然而,本发明的技术不限于任何特定视频译码标准。尽管图1中未展示,但在一些方面中,视频编码器22和视频解码器28可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
视频编码器22和视频解码器28各自可实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当本发明的技术中的任一者或全部用软件实施时,实施装置可进一步包含用于存储和/或执行软件的指令的硬件,例如,用于存储指令的存储器和用于执行指令的一个或一个以上处理单元。视频编码器22和视频解码器28中的每一者可包含在一个或一个以上编码器或解码器中,视频编码器22和视频解码器28中的任一者可集成为组合式编解码器的一部分,组合式编解码器在相应移动装置、订户装置、广播装置、服务器等中提供编码和解码能力。
视频序列通常包含一系列视频帧,也称作视频图片。视频编码器22对个别视频帧内的视频块进行操作,以便对视频数据编码。所述视频块可具有固定或变化的大小,且可根据指定的译码标准而大小不同。每一视频帧包含一系列切片。举例来说,在ITU-T H.264标准中,每一切片可包含一系列宏块,其可布置成子块。H.264标准支持各种块大小的帧内预测,例如用于亮度分量的16乘16、8乘8或4乘4和用于色度分量的8乘8,以及各种块大小的帧间预测,例如用于亮度分量的16乘16、16乘8、8乘16、8乘8、8乘4、4乘8及4乘4和用于色度分量的对应的按比例缩放的大小。视频块可包括像素数据块,或(例如)在变换过程(例如,离散余弦变换(DCT)或概念上类似的变换过程)之后的变换系数块。
较小视频块可提供较佳分辨率,且可用于包含高细节级别的视频帧的定位。一般来说,可将宏块和各种子块视为视频块。另外,可将一切片视为一系列视频块,例如,宏块和/或子块。每一切片可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或可将帧的其它部分定义为可解码单元。术语“经译码单元”指视频帧的任何可独立解码单元,例如整个帧、帧的切片、视频数据块,或根据所使用的译码技术定义的另一可独立解码单元。
为了对视频块编码,视频编码器22执行帧内或帧间预测以产生预测块。视频编码器22从待编码的原始视频块减去预测块以产生残余块。因此,残余块可表示正被译码的块与预测块之间的逐像素差异。视频编码器22可对残余块执行变换以产生变换系数块。遵照基于帧内或帧间的预测译码和变换技术,视频编码器22可量化变换系数。量化通常指代系数经量化以可能减少用以表示所述系数的数据的量的过程。在量化之后,可根据例如上下文自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC)等熵译码方法来执行熵译码。下文参看图2描述由视频编码器22执行的编码过程的额外细节。
当前正努力开发新视频译码标准,当前称作高效视频译码(HEVC)。即将到来的标准也称作H.265。标准化努力基于视频译码装置的模型,称作HEVC测试模型(HM)。HM假设视频译码装置优于根据(例如)ITU-T H.264/AVC的装置的若干能力。举例来说,H.264提供九个帧内预测编码模式,而HM提供多达三十三个帧内预测编码模式。
HM将视频数据块称作译码单元(CU)。位流内的语法数据可定义最大译码单元(LCU),LCU为在像素数目方面的最大译码单元。一般来说,CU具有与H.264的宏块类似的目的,不同之处在于CU不具有大小差别。因此,CU可分裂为若干子CU。一般来说,本发明中对CU的参考可指图片的最大译码单元或LCU的子CU。LCU可分裂为若干子CU,且每一子CU可分裂为若干子CU。用于位流的语法数据可定义LCU可被分裂的最大次数,称作CU深度。因此,位流还可定义最小译码单元(SCU)。本发明还使用术语“块”来指CU、预测单元(PU)或变换单元(TU)中的任一者。
LCU可与四叉树数据结构相关联。一般来说,四叉树数据结构针对每一CU包含一个节点,其中根节点对应于LCU。如果将CU分裂为四个子CU,那么对应于所述CU的节点包含四个叶节点,所述叶节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,在四叉树中的节点可包含指示对应于节点的CU是否分裂为若干子CU的分裂旗标。用于CU的语法元素可递归地定义,且可取决于CU是否分裂为子CU。
未分裂的CU可包含一个或一个以上预测单元(PU)。一般来说,PU表示对应CU的全部或一部分,且包含用于检索用于所述PU的参考样本的数据。举例来说,当对CU进行帧内模式编码时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,当对PU进行帧间模式编码时,PU可包含定义用于PU的运动向量的数据。定义运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧和/或用于运动向量的参考列表(例如,列表0或列表1)。CU的定义PU的数据还可描述(例如)将CU分割成一个或一个以上PU。在CU未经译码、经帧内预测模式编码还是经帧间预测模式编码之间,分割模式可不同。
具有一个或一个以上PU的CU还可包含一个或一个以上变换单元(TU)。在使用PU进行预测之后,视频编码器可计算用于CU的对应于PU的部分的残余值。可变换、扫描和量化残余值。TU不必限于PU的大小。因此,TU可大于或小于用于相同CU的对应PU。在一些实例中,TU的最大大小可对应于对应CU的大小。
如上文所注明,帧内预测包含从图片的经先前译码的CU中预测同一图片的当前CU的PU。更具体来说,视频编码器可使用特定帧内预测模式来帧内预测图片的当前CU。HM编码器可配置有多达三十三个帧内预测模式。因此,为了支持定向帧内预测模式与定向变换之间的一对一映射,HM编码器和解码器将需要针对每一所支持的变换大小存储66个矩阵。此外,支持所有三十三个帧内预测模式的块大小可为相对大的块,例如32×32像素、64×64像素或甚至更大。
在目的地装置16中,视频解码器28接收经编码的视频数据。视频解码器28根据熵译码方法(例如,CAVLC或CABAC)对所接收的视频数据熵解码以获得经量化的系数。视频解码器28应用反量化(解量化)和反变换功能以在像素域中重构残余块。视频解码器28还基于经编码的视频数据中所包含的控制信息或语法信息(例如,译码模式、运动向量、定义滤波系数的语法等)来产生预测块。视频解码器28可计算预测块与经重构的残余块的总和以产生经重构的视频块以供显示。下文参看图10描述由视频解码器28执行的实例解码过程的额外细节。
如本文中所描述,Y可表示亮度,且Cb和Cr可表示三维YCbCr色空间的色度的两个不同值。对于三维色空间,每一像素位置可实际上定义三个像素值。然而,为了简单起见,本发明的技术可指代相对于一个维度的预测。就相对于一个维度中的像素值描述技术来说,可将类似技术扩展到其它维度。
根据本发明的技术,视频编码器22和视频解码器28可在运动补偿期间使用一个或一个以上内插滤波技术。明确地说,根据本发明的一个方面,视频编码器22和/或视频解码器28可获得像素块,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值。视频编码器22和/或视频解码器28可基于整数像素值来计算与像素块相关联的子像素位置的值,其中计算子像素值包括将内插滤波器应用于滤波器支持的各种集合,其中滤波器支持集合中的每一者对应于像素块中的一个或一个以上整数像素位置的集合。视频编码器22和/或视频解码器28还可基于子像素值中的至少一些来产生预测块以对像素块编码或解码。
根据本发明的方面,视频编码器22和/或视频解码器28可将内插滤波器应用于包括全整数像素位置的任何组合的滤波器支持。视频编码器22可确定用于与全整数像素位置相关联的数个(例如,十五个)不同子像素位置的滤波系数的多个集合,且将滤波系数的十五个集合作为经编码位流的部分而输出到另一装置。以此方式,滤波系数的多个集合可定义所有十五个二分之一像素和四分之一像素位置的所有滤波系数。在一些实例中,与全整数像素位置相关联的每一二分之一像素和四分之一像素的滤波系数的集合可为唯一的。在其它实例中,与全整数像素位置相关联的二分之一像元和四分之一像元的滤波系数集合中的一些或全部可为相同的。
目的地装置16的视频解码器28可接收滤波系数的一个或一个以上集合作为经编码的视频位流的部分,且基于滤波系数的一个或一个以上集合产生对应于十五个不同子像素位置的滤波系数的十五个集合。视频解码器28还可基于滤波系数的多个集合中的一者来产生用于视频解码的子像元值,其中内插的预测数据对应于十五个不同子像素位置中的一者,且基于内插的预测数据对一个或一个以上视频块解码。
根据本发明的另一方面,视频编码器22可接收参考样本的多个全整数像素位置的值,将内插滤波器应用于多个全整数像素位置的值的第一集合,以计算多个全整数像素位置中的一者的第一子整数像素的值,将同一内插滤波器应用于多个全整数像素位置的值的第二不同集合,以计算全整数像素位置中的一者的第二不同子整数像素的值,且使用指向第一子整数像素和第二子整数像素中的一者的运动向量来对当前像素块编码。在一些实例中,内插滤波器为第一内插滤波器,且视频编码器22可进一步将第二不同内插滤波器应用于多个全整数像素位置的值的第三集合,以计算多个全整数像素位置中的一者的第三子整数像素的值。在其它实例中,多个全整数像素位置的额外滤波器或值的集合用以计算子整数像素位置的额外值。
视频编码器22可提供用以计算第一子整数像素的值的内插滤波器的指示。指示可包括支持的明确指示。或者,当视频编码器22和视频解码器28预先配置有支持集合时,指示可对应于索引或其它识别符。指示可在预测单元层级、译码单元层级、帧层级、切片层级或序列层级中的一者中提供,其中每一层级与当前像素块有关。在一些实例中,指示可在序列参数集(SPS)或图片参数集(PPS)中提供。视频编码器22可将指示作为经编码的位流的部分输出到另一装置。在一些实例中,内插滤波器为ITU-T H.264内插滤波器、固定内插滤波器(例如,选自内插滤波器的集合)或自适应内插滤波器。此外,视频编码器22可使用与上文描述的技术类似的技术来提供用于全像素的子整数像素中的每一者的支持的指示。
内插滤波器可为可分滤波器或不可分滤波器。不可分滤波器为滤波器支持可经修改以直接产生子像元而不执行中间滤波步骤的内插滤波器。相比之下,可分滤波器为滤波可取决于另一滤波步骤的滤波器。举例来说,在双线性滤波中,可首先在水平方向上应用滤波器以产生第一子像元位置的值。接着,可转置滤波器且在垂直方向上越过第一子像元位置应用所述滤波器以产生第二子像元位置的值。
在另一实例中,方法可包括:接收包括多个全像素位置的参考样本,接收用以内插参考样本的子整数像素的值的参考样本的全整数像素位置的集合的指示,将内插滤波器应用于全整数像素位置的集合以计算参考样本的子整数像素的值,及相对于子整数像素的计算出的值来对当前像素块解码。
图2为更详细地说明图1的视频编码器22的实例的框图。视频编码器22可执行与本发明一致的帧间预测技术。视频编码器22为本文中被称作“译码器”的专用视频计算机装置或设备的一个实例。如图2所示,视频编码器22对应于装置20的视频编码器22。然而,在其它实例中,视频编码器22可对应于不同装置。在其它实例中,其它单元(例如,其它编码器/解码器(CODEC))也可执行与视频编码器22类似的技术。
视频编码器22可对视频帧内的块执行帧内和帧间译码,但为了易于说明,图2中未展示帧内译码组件。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧内的视频中的时间冗余。帧内模式(I模式)可指代基于空间的压缩模式。帧间模式(例如,预测(P模式)或双向(B模式))可指代基于时间的压缩模式。本发明的技术应用于帧间译码期间,且因此,为了说明的简单性及简易性起见而在图2中未说明例如空间预测单元等帧内译码单元。
如图2所示,视频编码器22接收视频帧内的待编码的视频块。在图2的实例中,视频编码器22包含预测译码单元(MCU)32、存储器34、加法器48、变换单元38、量化单元40和熵译码单元46。为了视频块重构,视频编码器22还包含反量化单元42、反变换单元44和加法器51。在一些实例中,还可包含解块滤波器以对块边界进行滤波以从经重构的视频移除成块性假影。必要时,解块滤波器通常将对加法器51的输出进行滤波。在一个实例中,如图2所示,根据HEVC,变换单元38可为功能块,而不是“TU”。
预测单元32可包含运动估计(ME)单元35和运动补偿(MC)单元37。根据本发明,一个或一个以上内插滤波器39(本文中称作“滤波器39”)可包含在预测单元32中且可由ME单元35和MC单元37中的一者或两者调用以执行内插作为运动估计和/或运动补偿的部分。可包含其它技术,其中基于相邻全像素的值和/或相邻子像素的先前计算出的值来计算子像素的值。滤波器39可实际上表示用以促进如本文中描述的众多不同类型的内插及内插型滤波的多个不同滤波器。因此,预测单元32可包含多个内插或内插类滤波器。在编码过程期间,视频编码器22接收待译码的视频块(图2中标注为“视频块”),且预测单元32执行帧间预测译码以产生预测块(图2中标注为“预测块”)。具体来说,ME单元35可执行运动估计以识别存储器34中的预测块,且ME单元37可执行运动补偿以产生预测块。
运动估计通常被视为产生运动向量的过程,运动向量估计视频块的运动。举例来说,运动向量可指示在预测或参考帧(或其它经译码单元,例如,切片)内的预测块相对于当前帧(或其它经译码单元)内待译码的块的位移。根据本发明的技术,运动向量可具有子整数像素精度。举例来说,运动向量的水平分量和垂直分量两者可具有相应全整数分量和子整数分量。参考帧(或帧的部分)可在时间上位于当前视频块所属于的视频帧(或视频帧的部分)之前或之后。运动补偿通常被视为从存储器34获取或产生预测块的过程,其可包含基于运动估计确定的运动向量来内插或以其它方式产生预测数据。
ME单元35通过比较待译码的视频块与一个或一个以上参考帧(例如,先前和/或后续帧)的参考块来计算所述视频块的运动向量。用于参考帧的数据可存储在存储器34中。ME单元35可执行具有分数像素精度的运动估计,有时称作分数像素、分数像元、子整数或子像素运动估计。因而,术语分数像素、分数像元、子整数和子像素运动估计可互换地使用。在分数像素运动估计中,ME单元35可计算指示与除整数像素位置以外的位置的位移的运动向量。因此,运动向量可具有分数像素精度,例如二分之一像素精度、四分之一像素精度、八分之一像素精度或其它分数像素精度。以此方式,分数像素运动估计允许预测单元32估计具有比整数像素(或全像素)位置高的精度的运动,且因此预测单元32可产生较准确的预测块。分数像素运动估计可具有二分之一像素精度、四分之一像素精度、八分之一像素精度或任何更精细子像素精度。ME单元35可调用滤波器39以用于在运动估计过程期间的任何必要的内插。在一些实例中,存储器34可存储用于子整数像素的内差值,所述内差值可由(例如)求和器51使用滤波器39来计算。举例来说,求和器51可应用滤波器39来重构待存储于存储器34中的块。
为了执行分数像素运动补偿,MC单元37可执行内插(有时称作内插滤波)以便产生子像素分辨率的数据(本文中称作子像素或分数像素值)。MC单元37可调用滤波器39以用于此内插。预测单元32可使用本文中描述的技术执行内插(或整数像素的内插类滤波)。以此方式,预测单元32可计算参考块的子整数像素位置的值,参考块可接着用以产生视频数据的预测块。
一旦通过ME单元35计算出待译码的视频块的运动向量,MC单元37就产生与所述运动向量相关联的预测视频块。MC单元37可基于MC单元35确定的运动向量来从存储器34获取预测块。在具有分数像素精度的运动向量的情况下,MC单元37可对来自存储器34的数据滤波以将此数据内插到子像素分辨率,例如调用滤波器39以用于此过程。在一些情况下,可将对应于用以将此数据内插到子像素分辨率的滤波系数的全整数像素位置作为一个或一个以上内插语法元素向熵译码单元46指示以用于包含在经译码的位流中。类似地,也可将用以产生子像素预测数据的内插滤波技术或模式作为一个或一个以上内插语法元素向熵译码单元46指示以用于包含在经译码的位流中。
一旦预测单元32已产生预测块,视频编码器22就通过从正被译码的原始视频块减去预测块来形成残余视频块(图2中标注为“残余块”)。加法器48表示执行此减法运算的一个或一个以上组件。变换单元38将变换(例如,离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括残余变换块系数的视频块。举例来说,变换单元38可执行其它变换,例如,通过H.264标准所定义的变换,其概念上类似于DCT。这些变换可包含(例如)定向变换(例如,卡洛(Karhunen-Loeve)定理变换)、小波变换、整数变换、子频带变换或其它类型的变换。在任何情况下,变换单元38将变换应用于残余块,从而产生残余变换系数块。变换可将残余信息从像素域转换为频域。
量化单元40量化残余变换系数以进一步降低位速率。量化过程可减少与系数中的一些或全部相关联的位深度。在量化之后,熵译码单元46对经量化的变换系数熵译码。举例来说,熵译码单元46可执行CAVLC、CABAC或另一熵译码方法。
熵译码单元46还可对从预测单元32或视频编码器22的其它组件获得的一个或一个以上运动向量以及支持信息译码。一个或一个以上预测语法元素可包含译码模式、用于一个或一个以上运动向量的数据(例如,水平和垂直分量、参考列表识别符、列表索引,和/或运动向量分辨率信令信息)、用以产生子像素数据的内插技术的指示、滤波系数的集合或子集、用作滤波器支持的全整数或子整数像素位置的集合,或与预测块的产生相关联的其它信息。在由熵译码单元46进行的熵译码之后,经编码的视频和语法元素可发射到另一装置或存档(例如,在存储器34中)以用于稍后发射或检索。
反量化单元42和反变换单元44分别应用反量化和反变换以重构像素域中的残余块,(例如)以用于稍后用作参考块。经重构的残余块(在图2中标注为“经重构的残余块”)可表示提供到变换单元38的残余块的经重构版本。经重构的残余块可不同于求和器48产生的残余块,这归因于由量化和反量化操作引起的细节的遗漏。求和器51将经重构的残余块加到由预测单元32产生的经运动补偿的预测块以产生用于存储于存储器34中的经重构的视频块。经重构的视频块可由预测单元32用作参考块,其可用以随后对后续视频帧或后续经译码单元中的块译码。
如上文所描述,预测单元32可执行具有分数像素(或子像素)精度的运动估计。当预测单元32使用分数像素运动估计时,预测单元32可使用本发明中描述的内插运算产生子像素分辨率的数据(例如,子像素或分数像素值)。换句话说,内插运算可用以计算整数像素位置之间的位置处的值。位于整数像素位置之间的距离一半处的子像素位置可称作二分之一像素(二分之一像元)位置,位于整数像素位置与二分之一像素位置之间的距离一半处的子像素位置可称作四分之一像素(四分之一像元)位置,位于整数像素位置(或二分之一像素位置)与四分之一像素位置之间的距离一半处的子像素位置称作八分之一像素(八分之一像元)位置,等等。
根据本发明的技术,内插滤波器39中的同一者可应用于支持的两个或两个以上不同集合,以计算相同全像素的两个子整数像素的值。如下文更详细地描述,例如,预测单元32可将滤波器39中的一者应用于支持的第一集合以计算全像素的第一子整数像素的值,且将同一内插滤波器应用于支持的第二不同集合以计算相同全像素的第二子整数像素的值。此外,支持的集合可具有各种形状,例如线性(水平、垂直、从左上向右下倾斜的对角线、从右上向左下倾斜的对角线等)、在全像素处交叉的X形状、圆形(例如,绕着全像素的圆形中的像素)、矩阵(例如,多行全像素中的两个或两个以上像素),或其它形状。
以此方式,视频编码器22表示经配置以执行以下操作的视频编码器的实例:接收参考样本的多个全整数像素位置的值,将内插滤波器应用于多个全整数像素位置的值的第一集合,以计算多个全整数像素位置中的一者的第一子整数像素的值,将同一内插滤波器应用于多个全整数像素位置的值的第二不同集合,以计算全整数像素位置中的一者的第二不同子整数像素的值,使用指向第一子整数像素和第二子整数像素中的一者的运动向量来对当前像素块编码。
图3为说明与预测数据相关联的整数像素(或全像素)位置和与内插的预测数据相关联的子像素(或分数像素)位置的概念图。在图3的概念说明中,不同框表示帧或帧的块内的像素和子像素位置。带数字的大写字母(在实线框中)表示整数像素位置,而小写字母(在点线框中)表示子像素位置。明确地说,像素位置A1-A6、B1-B6、C1-C6、D1-D6、E1-E6和F1-F6表示帧、切片或其它经译码单元内的整数像素位置的6乘6阵列。子像素位置“a”到“o”表示与整数像素C3相关联的(例如,整数像素位置C3、C4、D3与D4之间的)十五个子像素位置。对于每一整数像素位置,类似的子像素位置可存在。子像素位置“a”到“o”表示与整数像素C3相关联的二分之一像元和四分之一像元像素位置。如下文更详细地描述,同一内插滤波器可用以计算子像素a到o中的两者或两者以上的值,例如,通过将同一内插滤波器应用于支持的不同集合。
当最初产生视频数据时,整数像素位置可与物理传感器元件(例如,光电二极管)相关联。光电二极管可测量在传感器的位置处光源的强度且使像素强度值与整数像素位置相关联。再次,每一整数像素位置可具有十五个子像素位置(或可能更多或更少)的相关联的集合。与整数像素位置相关联的子像素位置的数目可取决于所要精度。在图3中说明的实例中,所要精度为四分之一像素精度,在这种情况下,整数像素位置中的每一者与十五个不同子像素位置有关。可基于所要精确度使更多或更少的子像素位置与每一整数像素位置相关联。举例来说,对于二分之一像素精度,每一整数像素位置可对应于三个子像素位置。作为另一实例,对于八分之一像素精度,整数像素位置中的每一者可对应于六十三个子像素位置。每一像素位置可定义一个或一个以上像素值,例如,一个或一个以上亮度及色度值。
在图3的实例中,针对四分之一像素精度说明与整数像素“C3”相关联的子像素位置。与像素C3相关联的十五个子像素位置标注为“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”和“o”。为了简单起见,未展示与其它整数像素位置相关联的其它分数位置中的大多数(除了如下文进一步详细描述的用以产生与像素位置C3相关联的15个不同分数位置中的一者或一者以上的像素位置以外)。子像素位置“b”、“h”和“j”可称作二分之一像素位置,且子像素位置“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”、“n”和“o”可称作四分之一像素位置。
视频编码器40的预测单元32可使用通过MC单元37进行的内插滤波来确定子像素位置“a”到“o”的像素值。预测单元32可使用36分接头内插滤波器来确定子像素位置“a”到“o”的像素值。预测单元32可针对子像素位置中的每一者将内插滤波器应用于所有36个全整数像素位置。在其它实例中,全整数像素位置的子集用作滤波器支持以内插子像素位置的值。
在一个实例中,视频编码器40的预测单元32可使用通过MCU 37使用与ITU-TH.264标准一致的内插滤波器进行的内插滤波来确定子像素位置“a”到“o”的像素值。与ITU-T H.264标准一致,例如,预测单元32可使用6分接头内插滤波器(例如维纳滤波器)来确定二分之一像素位置的像素值。在H.264标准的情况下,用于6分接头内插滤波器的滤波系数通常为[1,-5,20,20,-5,1],但可使用其它系数。预测单元32可将内插滤波器应用于六个全整数像素位置的任何集合。在一个实例中,对于二分之一像素位置“b”,6分接头滤波器的分接头可对应于B3、B4、C3、C4、D3和D4。在其它实例中,二分之一像素位置“b”的6分接头滤波器的分接头可为六个全整数像素位置的另一集合。同样,在一个实例中,对于二分之一像素位置“h”,6分接头滤波器的分接头可对应于C2、C3、C4、D2、D3和D4。举例来说,子像素位置“j”的像素值可使用等式(1)或(2)来计算:
j=((A1-5*B2+20*C3+20*D4-5*E5+F6)+16)/32 (1)
j=((A6-5*B5+20*C4+20*D3-5*E2+F1)+16)/32 (2)
上文展示的等式1和2说明全整数像素位置的值可如何与6分接头滤波器的不同系数相关联的一个实例。在其它实例中,全整数像素位置的值可对应于6分接头滤波器的不同系数。在一个实例中,用于子像素位置的滤波器支持中的最接近子像素位置的全整数像素位置被给予滤波器的较高加权系数,而距子像素位置较远的全整数像素位置被给予较低权重。在其它实例中,使用其它用于确定哪一全整数像素位置对应于哪些系数的方法。
同一全像元的不同子像元可使用不同支持来计算。举例来说,虽然一些子像素位置(例如上文所描述的与全像素位置C3相关联的“b”和“h”)可用全整数像素位置的相同或不同子集来计算,但子像素位置可基于其它子像素位置而确定。举例来说,也与全像素位置C3相关联的二分之一像素位置“j”可使用取决于子像素位置的双线性内插滤波器来计算。对于二分之一像素位置“j”,6分接头滤波器的分接头自身对应于水平地内插于位置C1-C6与D1-D6之间,或垂直地内插于位置A3-F3与A4-F4之间。可通过使用二分之一像素位置的先前内插的像素值的6分接头滤波器计算二分之一像素位置“j”,例如,根据等式(3)或(4)中的一者:
j=((aa-5*bb+20*b+20*hh-5*ii+jj)+16)/32 (3)
j=((cc-5*dd+20*h+20*ee-5*ff+gg)+16)/32 (4)
其中(如图3中所说明)aa对应于A3与A4之间的内插,bb对应于B3与B4之间的内插,b对应于C3与C4之间的内插,hh对应于D3与D4之间的内插,ii对应于E3与E4之间的内插,且jj对应于F3与F4之间的内插。在等式4中,cc对应于C1与D1之间的内插,dd对应于C2与D2之间的内插,h对应于C3与D3之间的内插,ee对应于C4与D4之间的内插,ff对应于C5与D5之间的内插,且gg对应于C6与D6之间的内插。
与H.264标准一致,预测单元32可使用周围的整数和二分之一像素位置的双线性内插滤波器和像素值来确定四分之一像素位置“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”、“n”和“o”处的一些像素值。举例来说,预测单元32可使用C3及“b”的像素值确定与子像素位置“a”相关联的像素值,使用“b”及C4的像素值确定与子像素位置“c”相关联的像素值,等等。
由MC单元37应用以产生子像素位置处的内插数据的实际滤波器可经受各种各样的实施方案。作为一个实例,预测单元32可使用如下文描述的自适应内插滤波(AIF)来定义经内插的值。ITU-T SG16/Q.6/VCEG(视频译码专家组)委员会已在探索提供比H.264高的译码效率的译码技术,且明确地说AIF。AIF提供优于H.264标准中使用的内插滤波的大译码增益,尤其在具有高分辨率(例如,720i/p或1080i/p)的视频序列方面。在AIF中,通过最小化预测误差能量来针对每一视频帧用分析方式计算用于每一子像素位置的内插滤波器。这有助于寻址混叠、量化和运动估计误差、相机噪声或原始和参考视频帧中含有的其它假影。可接着预测、量化、译码且在视频位流中发送用于每一帧的用分析方式得出的自适应滤波系数。本发明的技术中的一些可在AIF方案以及许多其它内插方案内起作用。
存在与本发明的方面一致的许多不同类型的AIF方案。举例来说,第一方案为二维不可分AIF(NS-AIF),第二方案为可分AIF(S-AIF),且第三方案为具有定向滤波器的AIF(D-AIF)。尽管这些AIF方案中的每一者使用不同内插技术和支持,但所有三种AIF方案可使用类似的分析过程来得出滤波系数,下文使用不可分AIF作为实例来对其进行解释。对于任何给定子像素位置,这些AIF方案中的任一者可供不同全整数像素位置使用。
假设6乘6二维不可分滤波器具有系数其中ij=0...5且SP表示图3中所示的15个子像素位置(“a”到“o”)中的一者。注意,15个子像素位置中的6个(即,“a”、“b”、“c”、“d”、“h”和“l”)为一维(1D)子像素位置,且预测单元32可使用6分接头内插滤波器来内插此数据。子像素位置“a”、“b”、“c”、“d”、“h”和“l”在其位于两个整数像素位置之间的水平或垂直线中的意思上来说是1D。而且,假设参考帧中的整数像素位置(图3中的A1到F6)处的预测像素取像素值Pi,j,其中i,j=0...5。也就是说,A1取值P0,0,……,A6取值P5,0,……,F1取值P5,0,……,且F6取值P5,5。接着,子像素位置SP,SP∈{a,…,o}处的经内插的值pSP可通过预测单元32使用以下等式来计算
使Sx,y为位置(x,y)处的当前视频帧中的像素值。
其中(mvx,mvy)为运动向量,为运动向量的整数分量,且FO为滤波器偏移。值为参考帧中的对应像素位置。举例来说,在6分接头滤波器的情况下,FO=6/2-1=2。对于每一子像素位置SP,当前帧中的实际像素值与经内插的值之间的预测误差能量(eSP)2可由预测单元32针对具有对应于子像素位置SP的运动向量精度的所有像素而累积。预测误差能量(eSP)2可由预测单元32使用以下等式计算:
对于子像素位置a到o中的每一者,MC单元37可通过相对于滤波系数计算(eSP)2的导数而建立等式的个别集合。在此情况下,等式的数目等于用于当前子像素位置SP的滤波系数的数目。对于每一子像素位置,预测单元32可使用6乘6分接头1D内插滤波器(例如,1D 6分接头滤波器)。在其它实例中,预测单元32可使用不同分接头内插滤波器(例如,1D12分接头滤波器)。在1D 6分接头滤波器的情况下,六个等式的系统可由MC单元37求解。
滤波器39可表示可由MC单元37使用以产生预测数据的一个滤波器或许多不同滤波器的集合。
因此,得出和应用AIF滤波器的一个实例过程可具有以下步骤,所述步骤可由预测单元32执行:
1.估计待译码的每一视频块的运动向量(mvx,mvy)。在运动估计期间,可应用固定内插滤波器(例如,H.264/AVC的内插过程)。
2.使用这些运动向量,针对当前视频帧上的每一子像素位置SP累积预测误差能量。接着,通过最小化如在以上两个预测能量等式中的预测误差能量来独立地计算每一子像素位置SP的自适应滤波系数
3.估计新运动向量。在此运动估计过程期间,可应用在步骤2中计算的自适应内插滤波器。使用自适应内插滤波器,可减少运动估计误差(由混叠、相机噪声等引起)且实现较佳运动预测。
不同AIF方案可使用如上文给出的相同分析过程。不同方案之间的差异主要在于所使用的唯一滤波系数的数目(无论内插滤波器是可分还是不可分的),以及所使用的滤波器支持(例如用以内插子像素位置的至少一部分的整数像素位置)。在这些方案中的每一者中,全整数像素位置的不同集合可用于不同子像素位置。
举例来说,对于NS-AIF,预测单元32的MC单元37可使用1D 6分接头内插滤波器(也称作6位置滤波器,因为每一分接头与整数像素位置相对应)来内插1D子像素位置“a”、“b”、“c”、“d”、“h”和“l”,所述1D 6分接头内插滤波器需要六个系数。用以内插子像素的6位置滤波器的六个系数各自对应于图3中说明的整数像素位置中的一者。举例来说,对于子像素位置“a”,对应于系数的六个整数像素位置可为C1、C2、C3、C4、C5和C6。在其它实例中,全整数像素位置的任何六个成员的子集可用以计算子像素位置“a”的值。这些整数像素位置表示内插滤波器的“滤波器支持”的实例。在一些实例中,滤波器支持可包含用于其它子整数像素的先前计算的值。
在另一AIF方案(即,S-AIF)中,预测单元32可使用可分内插滤波器(其使用全整数像素位置的任何子集),而不是如NS-AIF中使用的不可分内插滤波器。举例来说,对于1D子像素位置,预测单元32(例如,预测单元32的MC单元37)取决于子像素位置而应用仅水平定向滤波器、仅垂直定向滤波器、仅对角线滤波器(见图4和5)、仅组合式水平和垂直定向滤波器(见图5)、仅矩形滤波器(见图7和8),或滤波器支持的任何其它组合。在一个实例中,对角线滤波器包括6位置(或6分接头)滤波器。预测单元32针对子像素位置“e”、“j”和“o”与整数像素位置A1、B2、C3、D4、E5和F6应用对角线滤波器(见图4)作为滤波器支持,且针对子像素位置“d”、“h”和“l”与整数像素位置A3、B3、C3、D3、E3和F3应用垂直定向滤波器(见图6)作为滤波器支持。对于剩余子像素位置(即,2D子像素位置),预测单元32可应用对角线滤波,继之以垂直滤波,或应用垂直滤波,继之以对角线滤波。再次,在针对自适应内插滤波的实例中,用于可分对角线和垂直滤波器的滤波系数可根据上文的等式(7)计算。在其它实例中,滤波器支持的任何子集和形状可用以计算子像素位置的值。
预测单元32的MC单元37可使用本文中描述的内插技术中的一者或一者以上,所述技术可增加子像素位置的值的内插期间的译码增益和/或增加用于内插子像素位置的滤波器支持的可变性。本发明在下文更详细地描述可用于内插的滤波器支持(例如,对角线支持或具有放射状的十二像素滤波器支持)的集合的其它实例。另外,还描述了用于在内插滤波器之间进行选择的技术、用于选择滤波器支持的技术以及用于预测地对滤波系数编码的技术。
图4为说明关于子整数像素位置的对角线六像素滤波器支持的概念图。根据本发明,MC单元37可基于阴影整数像素值来计算子像素位置“a”到“o”中的任一者的子像素值。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器使用对应于与如图4中说明的子像素位置相关联的全整数像素位置成对角线的六个(或可能更多)整数像素位置的集合的滤波器支持位置的对角线阵列。滤波器支持位置用阴影和大写字母来展示,且子像素位置展示为具有点线和小写字母的框。MC单元37可针对仅视频块中的像素的子集以此方式内插像素,且可基于内插子像素值来产生预测块。在其它实例中,MC单元37可针对视频块的每一像素以此方式内插像素。
在此实例中,六位置滤波器支持具有对角线形状。然而,在其它实例中,任何其它六位置滤波器支持可具有任何其它形状。图4中用阴影展示对角线地延伸穿过子像素位置的六个或六个以上整数像素位置的集合。滤波器支持可包含在子像素位置周围的四个整数位置中的两者C3和D4,以及沿着对角线穿过C3和D4的四个整数像素位置A1、B2、E5和F6。此滤波可形成由视频编码器22(图2)进行的视频编码过程期间或由视频解码器28(图10)进行的视频解码过程期间的运动补偿的部分。在视频编码过程期间,预测单元32可将系数值的多个集合作为预测语法元素的部分转发到熵译码单元46。
如图4所示,在子像素位置周围的六个或六个以上整数像素位置的集合具有对角线形状。在另一实例中,滤波器支持可包含在子像素位置周围的四个整数位置中的两者C4和D3,以及沿着对角线穿过C4和D3的四个整数像素位置A6、B5、E2和F1。在一些实例中,使用对角线滤波器支持确定仅子像素位置“a”到“o”的子集。在其它实例中,使用对角线滤波器支持确定子像素位置“a”到“o”的全部。
熵译码单元46可对系数值的集合编码且将内插滤波器的系数值输出作为经编码的位流的部分,经编码的位流接着可发射到另一装置。相对于图4所示的每一不同子像素位置而定义的系数值的多个集合中的每一者可定义六个或六个以上整数像素位置的不同权重。熵译码单元46还可对滤波器支持的集合编码且将滤波器支持的集合输出作为经编码的位流的部分,经编码的位流接着可发射到另一装置。子整数像素位置的不同集合可具有滤波器支持的不同集合。此外,滤波器支持的不同集合可应用于相同或不同内插滤波器。
图5为说明关于子整数像素位置的x形状十二像素滤波器支持的概念图。根据本发明,MC单元37可基于阴影整数像素值来计算子像素位置“a”到“o”中的任一者的子像素值。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器定义对应于与如图5中说明的子像素位置周围的四个全整数像素位置成对角线的十二个(或可能更多)整数像素位置的集合的滤波器支持位置的x形状阵列。滤波器支持位置用阴影和大写字母来展示,且子像素位置展示为具有点线和小写字母的框。MC单元37可针对仅视频块中的像素的子集以此方式内插像素,且可基于内插子像素值来产生预测块。在其它实例中,MC单元37可针对视频块的每一像素以此方式内插像素。
十二位置滤波器支持具有x形状。然而,在其它实例中,用于子像素位置中的任一者的任何其它十二位置滤波器支持可具有任何其它形状。图5中用阴影展示以x形状延伸穿过子像素位置的十二个或十二个以上整数像素位置的集合。滤波器支持可包含在子像素位置周围的四个整数位置C3、C4、D3和D4,以及沿着对角线穿过C3和D4的四个整数像素位置A1、B2、E5和F6,和沿着对角线穿过C4和D3的四个整数像素位置A6、B5、E2和F1。此滤波可形成由视频编码器22(图2)进行的视频编码过程期间或由视频解码器28(图10)进行的视频解码过程期间的运动补偿的部分。在视频编码过程期间,预测单元32可将系数值的多个集合作为预测语法元素的部分转发到熵译码单元46。
在一些实例中,使用x形状滤波器支持确定仅子像素位置“a”到“o”的子集。在其它实例中,使用x形状滤波器支持确定子像素位置“a”到“o”的全部。
熵译码单元46可对系数值的集合编码且输出内插滤波器的系数值作为经编码的位流的部分,经编码的位流接着可发射到另一装置。相对于图5所示的每一不同子像素位置而定义的系数值的多个集合中的每一者可定义十二个或十二个以上整数像素位置的不同权重。熵译码单元46还可对滤波器支持的集合编码且输出滤波器支持的集合作为经编码的位流的部分,经编码的位流接着可发射到另一装置。
图6为说明关于至少一个子像素位置的十字形十二像素滤波器支持的概念图。根据本发明,MC单元37可基于阴影整数像素值来计算与全像素位置相关联的任何子像素位置的子像素值。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器定义对应于十二个(或可能更多)整数像素位置的集合的滤波器支持位置的t形阵列,所述整数像素位置可包含子像素位置周围的四个全整数像素位置(例如,C3、C4、D3和D4),以及垂直整数像素位置(例如,A3、B3、E3和F3)和水平整数像素位置(例如,C1、C2、C5和C6)。滤波器支持位置用阴影和大写字母来展示,且一些子像素位置被展示为具有点线和小写字母的框。MC单元37可仅针对视频块中的像素的子集以此方式内插像素,且可基于内插子像素值来产生预测块。在其它实例中,MC单元37可针对视频块的每一像素以此方式内插像素。
如图6所示,可用十二像素滤波器支持来预测三个水平子像素位置“a”、“b”和“c”以及三个垂直子像素位置“d”、“h”和“l”。然而,在其它实例中,可使用图6所示的十二像素滤波器支持来预测与全像素位置(例如,图6所示的C3)相关联的任何子像素位置。
同样,熵译码单元46可对系数值的集合编码且将内插滤波器的系数值输出作为经编码的位流的部分,经编码的位流接着可发射到另一装置。相对于图5所示的每一不同子像素位置而定义的系数值的多个集合中的每一者可定义十二个或十二个以上整数像素位置的不同权重。熵译码单元46还可对滤波器支持的集合编码且将滤波器支持的集合输出作为经编码的位流的部分,经编码的位流接着可发射到另一装置。
图7为说明关于子像素位置的圆形(也称作放射状)十二像素滤波器支持的概念图。类似于上文描述的不同滤波器支持的实例,MC单元37可基于阴影整数像素值计算任何子像素位置的子像素值。在此情况下,计算子像素值包括应用内插滤波器,所述内插滤波器定义对应于在如图7中说明的子像素位置周围的十二个(或可能更多或更少)整数像素位置的集合的滤波器支持位置的二维阵列。滤波器支持位置用阴影和大写字母来展示,且子像素位置展示为具有点线和小写字母的框。MC单元37可针对视频块的任何像素以此方式内插像素,且可基于内插的子像素值来产生预测块。12位置滤波器支持具有放射状,且具有与NS-AIF中使用的36位置滤波器支持类似的频率响应,但具有降低的内插复杂性。
子像素位置周围的十二个或十二个以上整数像素位置的集合在图4中用阴影展示,且可包含在十五个二分之一像元和四分之一像元值周围的四个整数像素位置C3、C4、D3和D4,以及在四个整数像素位置周围的八个整数像素位置B3、B4、C2、C5、D2、D5、E3和E4。图7所示的滤波器支持位置的二维阵列中的滤波器支持位置中的每一者相对于子像素位置在两个整数像素位置内。此滤波可形成由视频编码器22(图2)进行的视频编码过程期间或由视频解码器28(图16)进行的视频解码过程期间的运动补偿的部分。在视频编码过程期间,预测单元32将系数值的多个集合作为预测语法元素的部分转发到熵译码单元46。
如图4所示,子像素位置周围的十二个整数像素位置的集合具有放射状,且可包括空间上最靠近由内插滤波器(例如,图2中的滤波器39)定义的子像元值的整数像素位置的集合。在其它实例中,图7所示的放射状可(例如)向左或向右移动一个全像素。在又其它实例中,任何数目个全整数像素位置的任何集合用以用内插滤波器预测子像元位置。
图8为说明关于至少一个子整数像素位置的正方形四像素滤波器支持的概念图。根据本发明,MC单元37可基于阴影整数像素值来计算与全像素位置相关联的任何子像素位置的子像素值。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器定义对应于四个整数像素位置的集合的滤波器支持位置的正方形阵列。在图8所示的实例中,四个整数像素位置包含在子像素位置周围的四个全整数像素位置,即C3、C4、D3和D4。滤波器支持位置用阴影和大写字母来展示,且一些子像素位置展示为具有点线和小写字母的框。
MC单元37可针对仅视频块中的像素的子集以此方式内插像素,且可基于内插子像素值来产生预测块。在其它实例中,MC单元37可针对视频块的每一像素以此方式内插像素。MC单元37可使用任何适当类型的内插滤波器来使用这四个整数像素位置预测子像素位置。在其它实例中,MC单元37可使用四个全整数像素位置的任何集合来内插子像素位置。
图9为说明关于子整数像素位置的矩形六像素滤波器支持的概念图。在此实例中,MC单元37可基于阴影整数像素值来计算与全像素位置相关联的任何子像素位置的子像素值。滤波器支持位置用阴影和大写字母来展示,且一些子像素位置展示为具有点线和小写字母的框。在此情况下,计算子像素值中的任一者包括应用内插滤波器,所述内插滤波器定义对应于六个整数像素位置的集合的滤波器支持位置的矩形阵列。在图8所示的实例中,六个整数像素位置包含子像素位置周围的四个全整数像素位置,以及邻近子像素位置周围的四个全整数像素位置的两个额外全整数像素位置。当在图9中预测子像素位置“f”时,滤波器支持包含位于子像素位置“f”周围的四个全像素位置C3、C4、D3和D4,以及邻近的全像素位置B3和B4。
在其它实例中,邻近的全像素位置可包含C2和D2、C5和D5,或E3和E4。在其它实例中,MC单元37可使用六个全整数像素位置的任何集合来内插子像素位置。任何合适的六分接头内插滤波器可用以预测子整数像素位置。
熵译码单元46可对系数值的集合编码且将内插滤波器的系数值输出作为经编码的位流的部分,经编码的位流接着可发射到另一装置。相对于图9所示的每一不同子像素位置而定义的系数值的多个集合中的每一者可定义十二个或十二个以上整数像素位置的不同权重。熵译码单元46还可对滤波器支持的集合编码且将滤波器支持的集合输出作为经编码的位流的部分,经编码的位流接着可发射到另一装置。
再次参看图3,单一预测单元内的子整数像素位置的不同集合可能已将同一内插滤波器应用于来自同一图像帧的滤波器支持的不同集合。此外,相同或不同内插滤波器可应用于单一预测单元内的滤波器支持的不同集合。举例来说,可使用如图4所示的六个对角线支持来预测子像素位置“e”。用于子像素“e”的滤波器支持可包含全整数像素位置A1、B2、C3、D4、E5和F6。用于子像素“e”的内插滤波器可为六分接头维纳滤波器。在同一预测单元内,可使用如图5所示的具有x形状的十二个全整数像素位置的集合来预测子像素位置“j”。用于子像素“j”的滤波器支持可包含全整数像素位置A1、A6、B2、B5、C3、C4、D3、D4、E2、E5、F1和F6。用于子像素“e”的内插滤波器可为十二分接头维纳滤波器。
另外,可使用如图6所示的十字形支持来预测子整数像素位置“h”。用于子像素“h”的滤波器支持可包含十二个全整数像素位置,其包含A3、B3、C1、C2、C3、C4、C5、C6、D3、D4、E3和F3。用于预测子像素“h”的内插滤波器可为十二分接头可分或不可分滤波器。可如图7所示来预测另一子像元位置“k”。用于子像素“k”的圆形滤波器支持可包含十二个全整数像素位置,其包含B3、B4、C2、C3、C4、C5、D2、D3、D4、D5、E3和E4。用于预测子像素“h”的内插滤波器可为十二分接头滤波器。
此外,如图8所示,可使用最靠近子像素“m”的四个全整数像素位置来预测子整数像素位置“m”。对于子像素“m”,四分接头内插滤波器可与包含C3、C4、D3和D4的滤波器支持一起使用。作为另一实例,可使用如图9所示的矩形支持来预测子整数像素位置“f”。用于子像素“f”的滤波器支持可包含六个全整数像素位置,其包含B3、B4、C3、C4、D3和D4。用于预测子像素“f”的内插滤波器可为十二分接头可分或不可分滤波器。
上文描述的仅为用于预测用于预测单元的子像素位置的滤波器支持的不同集合的一些实例。如本文中描述,子像素位置“e”、“j”、“h”、“k”、“m”和“f”各自使用不同滤波器支持来预测。这些子像素位置中的一些可使用相同内插滤波器来预测。举例来说,子像素“e”和“f”都可使用六分接头维纳滤波器来预测。其它子像素位置可使用与其它子像素位置不同的内插滤波器来预测。
在其它实例中,可在计算子像素位置的值时重复一些全整数像素位置。举例来说,如果正在使用1D 6分接头内插滤波器,那么用于子像素位置的支持可包括少于六个全整数像素位置的集合。在此实例中,重复全整数像素位置中的一者或一者以上。在一个实例中,最靠近子像素位置的那些全整数像素位置为重复的全整数像素位置。同样,在一个实例中,对于二分之一像素位置“e”,6分接头滤波器的分接头可对应于B3、C3、C4、D3和D4。举例来说,子像素位置“e”的像素值可使用等式(8)来计算:
e=((B3-5*C4+20*C3+20*C3-5*D3+D4)+16)/32 (8)
如在这些特定实例中所描述,子像元位置不取决于另一子像元位置。然而,在其它实例中,子像元位置可取决于另一子像元位置。许多其它实例为可能的,包含滤波器支持和用于每一子像素位置的内插滤波器的任何选择的任何组合。根据子像元滤波,可使用许多其它滤波器大小和形状。
图10为说明视频解码器28的实例的框图,视频解码器28可解码以本文中所描述的方式来编码的视频序列。视频解码器28是本文中被称作“译码器”的专用视频计算机装置或设备的一个实例。如图10中所示,视频解码器28对应于装置20的视频解码器28。然而,在其它实例中,视频解码器28可对应于不同装置。在其它实例中,其它单元(例如其它编码器/解码器(CODEC))也可执行与视频解码器28类似的技术。
视频解码器28包含熵解码单元52,其熵解码所接收位流,以产生经量化的系数和预测语法元素。预测语法元素可包含译码模式、一个或一个以上运动向量、识别用以产生子像素数据的内插技术的信息、用于内插滤波的系数,和/或与预测块的产生相关联的其它信息。
预测语法元素(例如,系数)被转发到预测单元55。如果相对于固定滤波器的系数或相对于彼此使用预测来译码系数,那么系数预测和反量化单元53可解码语法元素以定义实际系数。而且,如果将量化应用于预测语法中的任一者,那么系数预测和反量化单元53还可移除此类量化。举例来说,可根据本发明预测性地译码及量化滤波系数,且在此情况下,系数预测和反量化单元53可由视频解码器28使用,以预测性地解码及解量化此些系数。
预测单元55可以与上文关于视频编码器22的预测单元32详细描述的方式大致相同的方式,基于预测语法元素和存储于存储器62中的一个或一个以上先前经解码的块产生预测数据。明确地说,预测单元55可在运动补偿期间执行本发明的内插滤波技术中的一者或一者以上,以产生具有特定精度(例如四分之一像素精度)的预测块。因此,本发明的技术中的一者或一者以上可由视频解码器28用于产生预测块。预测单元55可包含运动补偿单元,所述运动补偿单元包括用于本发明的内插和内插类滤波技术的滤波器。为了说明的简单性及简易性起见,运动补偿组件在图10中未展示。
反量化单元56反量化(即,解量化)经量化的系数。反量化过程可为经定义用于H.264解码或用于任何其它解码标准的过程。反变换单元58将反变换(例如,反DCT或概念上类似的反变换过程)应用于变换系数,以便在像素域中产生残余块。求和器64对残余块与由预测单元55产生的对应预测块求和,以形成由视频编码器22编码的原始块的经重构的版本。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块性假影。接着将经解码的视频块存储于存储器62中,存储器62提供用于后续运动补偿的参考块且还产生经解码的视频以驱动显示装置(例如,图1的装置28)。
使用本发明的内插滤波技术,视频解码器28可使用具有任何大小或形状滤波器支持的内插滤波器来计算子像素位置的像素值。在一个实例中,视频解码器28使用NS-AIF技术使用36位置滤波器支持(即,如图3中所示的2D 6×6滤波器支持)来计算子像素的像素值。作为另一实例,S-AIF可使用可分整数像素位置作为用于内插滤波的滤波器支持。在又一实例中,D-AIF使用具有六位置滤波器支持或十二位置对角线滤波器支持的内插滤波器来计算子像素位置。例如任何ITU-T H.264内插滤波器等其它内插滤波器可用以计算子像素位置。现在已知或稍后预期的任何合适的内插滤波器可用以译码或解码子像素位置。此外,视频解码器28可使用内插滤波器,所述内插滤波器是固定内插滤波器、切换式内插滤波器或自适应内插滤波器,或其组合。内插滤波器可进一步为可分的或不可分的。在一个实例中,视频解码器28可在所接收位流(例如,来自视频编码器22)中接收将应用的滤波器的指示,以及滤波器将应用于的滤波器支持的集合的指示。
在一些情况下,滤波器支持可基于其与给定子像素的可能相关来选择。举例来说,如在D-AIF中使用对角线滤波器支持的一个缺点在于用于滤波的整数像素位置远离待内插的当前位置。随着待内插的当前位置与用作滤波器支持的像素的位置之间的距离增加,空间像素相关减小。因此,用于D-AIF中的对角线滤波器支持较不适用于形成准确预测。
为了提供使用与待内插的位置(即,更靠近待内插的位置或与待内插的位置距离更短的像素位置)具有较高相关的像素同时维持由D-AIF提供的相同低复杂性的较佳预测,更合适的滤波器支持集合可用于子像素(例如,图8中所示的四位置滤波器支持可用于内插)。用于本发明中所描述的四位置滤波器支持中的整数像素位置包含在子像素位置周围的四个整数像素位置,即,整数像素位置C3、C4、D3和D4,所述整数像素位置可被称作“角落”整数像素位置,这是因为其位于子像素位置的角落附近。除了角落整数像素位置之外,紧邻于角落整数像素位置的一个或一个以上整数像素位置还可用于滤波器支持,如图9中所示。紧邻于角落整数像素位置的整数像素位置可包含在角落整数像素位置正上方(朝上或朝北)或正下方(朝下或朝南)的整数像素位置以及在角落整数像素位置的正左(或西)或正右(或东)的整数像素位置。在这些特定实例中,所有这些整数像素位置位于待内插的子像素的两个整数像素位置内。
然而,根据本发明技术的滤波器支持可包含额外整数像素位置。举例来说,滤波器支持可包含位于待内插的子像素位置的三个整数像素位置内的形成放射状的整数像素位置。另外,滤波器支持可包含位于子像素位置的四个或四个以上整数像素位置内的整数像素位置。在一些实例中,滤波器支持可包含给定经译码的块中的全整数像素位置的任何子集。
甚至四分之一像素位置或更精细分辨率可基于位于至少两个整数像素位置内的整数像素位置来内插。而且,滤波器支持可基于全整数像素位置与子像素位置的相关来选择。以此方式,本发明的滤波器支持技术提供使用与待内插的位置具有较高相关的整数像素的较佳内插预测。另外,可预测或解码任何子像元而不必预测或解码其所依附的另一子像元。
图11为说明与本发明一致的利用像素滤波器支持的视频编码器的实例操作的流程图。将从图2的视频编码器22的角度来描述图11的技术,但其它装置可执行类似技术。视频编码器22可接收参考样本的多个全整数像素位置的值(102)。
视频编码器22可将内插滤波器应用于多个全整数像素位置的值的第一集合,以计算多个全整数像素位置中的一者的第一子整数像素的值(104)。视频编码器22可将同一内插滤波器应用于多个全整数像素位置的值的第二不同集合,以计算全整数像素位置中的一者的第二不同子整数像素的值(106)。基于这些计算出的值,视频编码器22可使用指向第一子整数像素和第二子整数像素中的一者的运动向量来编码当前像素块。类似于关于图11所描述的视频编码器22的实例操作的技术将在图12和13中进一步解释。
图12为说明与本发明一致的利用像素滤波器支持的视频编码器的另一实例操作的流程图。将从图2的视频编码器22的角度来描述图12的技术,但其它装置也可执行类似技术。如图所示,在图12中,预测单元32的MC单元37从存储器34获得包含对应于整数像素位置的整数像素值的像素块(112)。对于每一子像素位置,编码器22确定包括像素块中的全整数像素位置的子集的滤波器支持(114)。下文关于图12和13描述用于确定滤波器支持的方法。用于确定滤波器支持的方法可取决于所使用的编码器(例如视频编码器22)的特定特性。
滤波器39基于包括在子像素位置周围的任何数目个全整数像素位置的滤波器支持的集合来计算子像素值(116)。如上文更详细所解释,滤波器支持可用以产生任何可能的子像素内插。
一旦确定滤波器支持,MC单元37便接着基于计算出的子像素值产生预测块(118)。明确地说,MC单元37可产生且输出包括内插的子像素值的内插的预测块。加法器48接着可基于内插的预测块来编码当前视频块(120),例如,通过从正被编码的视频块减去内插的预测块以产生残余块。残余块接着可分别由变换单元38和量化单元40变换及量化。在由熵译码单元46进行熵译码之后,视频编码器22可输出经编码的视频位流和滤波器信息(122)。如本文中所描述的滤波器信息可包括对使用何种滤波器支持来编码每一子像素位置的指示。滤波器信息还可包含对何种内插滤波器用于特定子像素位置的指示。每一经译码的单元可输出滤波器信息一次,或如果经译码的单元的不同区域使用不同类型的子像元内插,那么每一经译码的单元可能输出滤波器信息若干次。
图13为说明与本发明一致的确定用于子整数像素的滤波器支持的实例方法的流程图。将从图2的视频编码器22的角度来描述图13的技术,但其它装置也可执行类似技术。视频编码器22可使用多遍次技术来确定对于像素块中的每一子像素位置使用哪一滤波器支持。
如图所示,在图13中,视频编码器22基于使用全整数像素位置的第一集合来内插的子像素位置,计算像素块的第一运动向量(132)。对于帧可使用(例如)常规运动估计方法来计算运动向量。如上文所描述,任何形状或数目的全整数像素位置可用以预测子像元位置。视频编码器22可计算第一运动向量的第一误差值(134)。在一个实例中,编码器22可使用对子像元位置的预测的均方误差来计算第一误差值。
视频编码器22可基于使用全整数像素位置的第二集合来内插的子像素位置,计算像素块的第二运动向量(136)。全整数像素位置的第一集合可不同于全整数像素位置的第二集合。视频编码器22可计算第二运动向量的第二误差值(138)。类似地,第二误差值可使用均方误差计算来计算。
基于第一和第二误差值的比较,编码器22可选择全整数像素位置的第一和第二集合中的一者(140)。举例来说,全整数像素位置的集合可选择为用于子像素位置的滤波器支持,这是因为全整数像素位置的所述集合导致子像素位置的较小误差。对于像素块中的每一子像素位置可应用图13中所示的技术。在其它实例中,图13中所示的技术对于单一子像素位置可为每一像素块一次。
在一个实例中,可在逐子像素的基础上进行这个确定。另外,对于多个不同内插滤波器中的每一者可执行这个实例方法。在此类实例中,滤波器支持和内插滤波器可针对给定因素(例如提供最小误差)来选择。
对于指向子像元(例如,子像元“b”)的所有块,编码器22使用全整数像素位置的多个集合来预测子像元“b”。编码器22接着可计算子像元“b”的各种预测的均方误差,且选择对应于给予最小误差的子像元“b”的预测的全整数像素位置的集合。视频编码器22可针对每一子像素位置重复这个过程。在其它实例中,视频编码器22将滤波器支持的类似集合应用于类似定位的子像素位置。
图14为说明与本发明一致的确定用于子整数像素的滤波器支持的另一实例方法的流程图。在这个实例中,针对第一先前经编码的帧中的每一子像素位置确定滤波器支持(152)。在一个实例中,针对如关于图13所描述的第一帧确定滤波器支持。在将滤波器支持的集合应用于先前帧中的对应子像素时,视频编码器22可将滤波器支持的相同集合应用于第二后续帧中的每一子像素(154)。实例方法避免执行多遍次技术。
选择用于子像元位置的滤波器支持的其它方法可包含选择在子像素位置周围的任何数目个全整数像素位置的子集。全整数像素位置可基于任何数目个因素来选择,所述因素包含待预测的子像素位置的位置、全整数像素位置与子像素位置的相关或全整数像素位置与子像素位置的接近性。
用于子像素值的滤波器支持的一些实例集合可基于如图3和图7中所示的包括在子像素位置周围的十二个或十二个以上位置的滤波器支持的集合。在另一实例中,滤波器39基于如图4到7和9中所示的包括包含与子像素位置相关联的全整数像素位置的六个或六个以上位置的滤波器支持的集合,计算子像素值。在又一实例中,滤波器39基于如图8中所示的包括在子像素位置周围的四个全整数像素位置的滤波器支持的集合,计算子像素值。
图15为说明与本发明一致的利用滤波器支持的视频解码器的实例操作的流程图。因此,图15的过程可被视为与图11的编码过程互逆的解码过程。将从图10的视频解码器28的角度来描述图14,但其它装置也可执行类似技术。
视频解码器28可接收包括多个全整数像素位置的参考样本(172)。在一个实例中,视频解码器28从例如视频编码器22等视频编码器接收参考样本。视频解码器28可接收参考样本的全整数像素位置的集合的指示(174)。可已使用全整数像素位置的集合来内插参考样本的子整数像素的值。
内插滤波器可由视频编码器28应用于全整数像素位置的集合,以计算参考样本的子整数像素的值(176)。视频解码器28还可相对于子整数像素的计算出的值解码当前像素块(178)。类似于关于图15所描述的视频解码器28的实例操作的技术将在图16中进一步解释。
图16为说明与本发明一致的利用滤波器支持的视频解码器的另一实例操作的流程图。因此,图16的过程可被视为与图12的编码过程互逆的解码过程。将从图10的视频解码器28的角度来描述图14,但其它装置也可执行类似技术。
如图14中所示,视频解码器28接收经编码的视频块和滤波器信息(202)。熵解码单元52可熵解码这个所接收的信息。预测单元55根据本发明技术执行内插的运动补偿。明确地说,预测单元55从存储器62获得包含对应于整数像素位置的整数像素值的像素块(204)。预测单元55可使用所接收运动向量来确定如何执行内插。
基于运动向量,预测单元55可基于滤波器支持的集合和内插滤波器的类型来计算子像素(206)。在一些实例中,所保留的内插滤波器的类型对于一些子像素位置而言是相同的。在一个实例中,在预测单元层级、译码单元层级、帧层级、切片层级或当前像素块的序列层级中的至少一者中将用以编码当前像素块的全整数像素位置的集合的指示提供到解码器28。以此方式,预测单元55使用内插来产生预测块(208)。预测块可用以通过调用加法器64将预测块与残余块相加(210)来解码残余视频块。包含用于子像素位置的滤波器支持的不同集合的使用的本文中所描述的内插的各种方面可通过提供比常规技术更佳质量的内插数据来改进视频编码。
本发明中所描述的技术可以硬件、软件、固件或其任一组合来实施。被描述为单元或组件的任何特征可一起实施于集成逻辑装置中或单独实施为离散但可共同操作的逻辑装置。如果以软件来实施,那么可至少部分由包括当执行时执行上述方法中的一者或一者以上的指令的计算机可读媒体来实现所述技术。所述计算机可读媒体可形成可包含封装材料的计算机程序产品的部分。计算机可读媒体可包括例如同步动态随机存取存储器(SDRAM)等随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或或者,所述技术可至少部分由载运或传送呈指令或数据结构的形式的代码且可由计算机存取、读取和/或执行的计算机可读通信媒体来实现。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一个或一个以上处理器来执行所述代码。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。此外,在一些方面中,本文中所描述的功能性可提供于经配置以用于编码和解码的专用软件单元或硬件单元内,或并入于组合式视频编码器-解码器(CODEC)中。将不同特征描绘为单元希望突出所说明的装置的不同功能方面,且未必暗示此类单元必须由单独的硬件或软件组件实现。事实上,与一个或一个以上单元相关联的功能性可集成于共同或单独的硬件或软件组件内。
已描述本发明的各种实例。这些及其它实例属于所附权利要求书的范围内。
Claims (32)
1.一种用于解码视频数据的方法,所述方法包括:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
将残余块应用于所述预测块以重构原始块。
2.根据权利要求1所述的方法,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
3.根据权利要求1所述的方法,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
4.根据权利要求1所述的方法,还包括:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
5.一种用于编码视频数据的方法,所述方法包含:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
从正编码的视频块中减去所述预测块以产生残余块。
6.根据权利要求5所述的方法,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
7.根据权利要求5所述的方法,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
8.根据权利要求5所述的方法,还包括:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持的所述集合。
9.一种用于解码视频数据的装置,所述装置包含:
存储器,经配置以存储所述视频数据;及
一个或多个处理器,其经配置以:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,
与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中作为产生所述预测块的一部分,所述一个或多个处理器
根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
将残余块应用于所述预测块以重构原始块。
10.根据权利要求9所述的装置,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
11.根据权利要求9所述的装置,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
12.根据权利要求9所述的装置,其中所述一个或多个处理器经配置以:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
13.一种用于编码视频数据的装置,所述装置包含:
存储器,经配置以存储所述视频数据;以及
一个或多个处理器,其经配置以:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,
与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中作为产生所述预测块的一部分,所述一个或多个处理器
根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
从正编码的视频块中减去所述预测块以产生残余块。
14.根据权利要求13所述的装置,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
15.根据权利要求13所述的装置,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
16.根据权利要求13所述的装置,其中所述一个或多个处理器经配置以:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
17.一种用于解码视频数据的设备,所述设备包含:
用于基于内插子整数像素值产生预测块的装置,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
用于将残余块应用于所述预测块以重构原始块的装置。
18.根据权利要求17所述的设备,其中,针对与所述全整数像素有关的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
19.根据权利要求17所述的设备,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
20.根据权利要求17所述的设备,其进一步包含:
用于基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合的装置。
21.一种用于编码视频数据的设备,所述设备包含:
用于基于内插子整数像素值产生预测块的装置,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
用于从正编码的视频块中减去所述预测块以产生残余块的装置。
22.根据权利要求21所述的设备,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状置。
23.根据权利要求21所述的设备,其中与所述全整数像素相关的所述子整数像素位置中的每一者使用不同的内插滤波器。
24.根据权利要求21所述的设备,还包括:
用于基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合的装置。
25.一种其上存储有指令的非瞬时性计算机可读存储媒体,所述指令经执行以致使视频解码装置的处理器:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
将残余块应用于所述预测块以重构原始块。
26.根据权利要求25所述的非瞬时性计算机可读存储媒体,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
27.根据权利要求25所述的非瞬时性计算机可读存储媒体,其中与所述全整数像素相关联所述子整数像素位置中的每一者使用不同的内插滤波器。
28.根据权利要求27所述的非瞬时性计算机可读存储媒体,其中所述指令进一步致使所述处理器:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
29.一种其上存储有指令的非瞬时性计算机可读存储媒体,所述指令经执行以致使视频编码装置的处理器:
基于内插子整数像素值产生预测块,其中
给定子整数像素值是所述内插子整数像素值中之一,
所述给定子整数像素的子整数像素位置是与全整数像素相关联的子整数像素位置中的一者,与所述全整数像素相关联的所述子整数像素位置中的至少两个相应子整数像素位置具有相同的具有四个整数像素的滤波器支持集合,与所述全整数像素相关联的所述子整数像素位置中的至少一个相应子整数像素位置具有不同的具有六个整数像素的滤波器支持的相应集合,且
其中产生所述预测块包括根据运动向量而基于内插滤波器和针对所述子整数像素位置的滤波器支持的相应集合来计算所述给定子整数像素值;及
从正编码的视频块中减去所述预测块以产生残余块。
30.根据权利要求29所述的非瞬时性计算机可读存储媒体,其中,针对与所述全整数像素相关联的所述子整数像素位置中的每一相应子整数像素位置,针对相应子整数像素位置的滤波器支持集合具有水平或垂直的形状。
31.根据权利要求29所述的非瞬时性计算机可读存储媒体,其中与所述全整数像素相关联的所述子整数像素位置中的每一者使用不同的内插滤波器。
32.根据权利要求31所述的非瞬时性计算机可读存储媒体,其中所述指令进一步致使所述处理器:
基于先前经编码帧选择所述给定子整数像素值所基于的滤波器支持集合。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42205110P | 2010-12-10 | 2010-12-10 | |
US61/422,051 | 2010-12-10 | ||
US13/311,755 | 2011-12-06 | ||
US13/311,755 US10045046B2 (en) | 2010-12-10 | 2011-12-06 | Adaptive support for interpolating values of sub-pixels for video coding |
CN201180058813.0A CN103250414B (zh) | 2010-12-10 | 2011-12-07 | 用于内插视频译码的子像素的值的自适应支持 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180058813.0A Division CN103250414B (zh) | 2010-12-10 | 2011-12-07 | 用于内插视频译码的子像素的值的自适应支持 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105704492A CN105704492A (zh) | 2016-06-22 |
CN105704492B true CN105704492B (zh) | 2019-09-27 |
Family
ID=46199372
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610134216.6A Active CN105704492B (zh) | 2010-12-10 | 2011-12-07 | 用于内插视频译码的子像素的值的自适应支持 |
CN201180058813.0A Active CN103250414B (zh) | 2010-12-10 | 2011-12-07 | 用于内插视频译码的子像素的值的自适应支持 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180058813.0A Active CN103250414B (zh) | 2010-12-10 | 2011-12-07 | 用于内插视频译码的子像素的值的自适应支持 |
Country Status (15)
Country | Link |
---|---|
US (1) | US10045046B2 (zh) |
EP (2) | EP3203740A1 (zh) |
JP (3) | JP2014502800A (zh) |
KR (2) | KR101528989B1 (zh) |
CN (2) | CN105704492B (zh) |
AU (1) | AU2011338449B2 (zh) |
BR (1) | BR112013014415B1 (zh) |
CA (1) | CA2820061C (zh) |
HK (1) | HK1221101A1 (zh) |
IL (1) | IL226438B (zh) |
MY (1) | MY180273A (zh) |
RU (1) | RU2564245C2 (zh) |
SG (1) | SG190847A1 (zh) |
UA (1) | UA109923C2 (zh) |
WO (1) | WO2012078748A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10045046B2 (en) | 2010-12-10 | 2018-08-07 | Qualcomm Incorporated | Adaptive support for interpolating values of sub-pixels for video coding |
US20120163460A1 (en) * | 2010-12-23 | 2012-06-28 | Qualcomm Incorporated | Sub-pixel interpolation for video coding |
WO2013109867A1 (en) * | 2012-01-19 | 2013-07-25 | Futurewei Technologies, Inc. | Simplification of mode dependent intra smoothing |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
CN102665080B (zh) * | 2012-05-08 | 2015-05-13 | 开曼群岛威睿电通股份有限公司 | 用于移动补偿的电子装置及移动补偿方法 |
EP2853096A4 (en) * | 2012-05-21 | 2016-07-06 | Mediatek Singapore Pte Ltd | METHOD AND APPARATUS FOR FILTERING BETWEEN LAYERS FOR SCALABLE VIDEO CODING |
KR20160101994A (ko) * | 2013-12-20 | 2016-08-26 | 엘지전자 주식회사 | 적응적 샘플링을 이용한 비디오 신호의 인코딩, 디코딩 방법 및 그 장치 |
US9942560B2 (en) | 2014-01-08 | 2018-04-10 | Microsoft Technology Licensing, Llc | Encoding screen capture data |
US9774881B2 (en) * | 2014-01-08 | 2017-09-26 | Microsoft Technology Licensing, Llc | Representing motion vectors in an encoded bitstream |
US9749642B2 (en) | 2014-01-08 | 2017-08-29 | Microsoft Technology Licensing, Llc | Selection of motion vector precision |
WO2016072722A1 (ko) * | 2014-11-04 | 2016-05-12 | 삼성전자 주식회사 | 영상 특성을 반영한 보간 필터를 이용하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
CN104683819A (zh) * | 2015-01-31 | 2015-06-03 | 北京大学 | 一种自适应环路滤波方法及装置 |
US10291932B2 (en) | 2015-03-06 | 2019-05-14 | Qualcomm Incorporated | Method and apparatus for low complexity quarter pel generation in motion search |
JP6101722B2 (ja) | 2015-03-10 | 2017-03-22 | 富士重工業株式会社 | 車室前部用支持体 |
US20160345018A1 (en) * | 2015-05-19 | 2016-11-24 | Microsoft Technology Licensing, Llc | Video encoding and decoding |
JP6715467B2 (ja) * | 2015-07-01 | 2020-07-01 | パナソニックIpマネジメント株式会社 | 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置 |
US10341659B2 (en) * | 2016-10-05 | 2019-07-02 | Qualcomm Incorporated | Systems and methods of switching interpolation filters |
CN107959855B (zh) * | 2016-10-16 | 2020-02-14 | 华为技术有限公司 | 运动补偿预测方法和设备 |
BR112020008896A2 (pt) * | 2017-11-07 | 2020-10-20 | Huawei Technologies Co., Ltd. | filtro de interpolação para um aparelho e método de interpredição para codificação de vídeo |
JP7154957B2 (ja) | 2017-11-08 | 2022-10-18 | キヤノンメディカルシステムズ株式会社 | 磁気共鳴イメージング装置および電力供給方法 |
CN109961199A (zh) * | 2017-12-25 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 一种分析数据波动的方法和装置 |
JP7109558B2 (ja) * | 2018-02-14 | 2022-07-29 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 適応型補間フィルタ |
US10638137B2 (en) * | 2018-03-07 | 2020-04-28 | Tencent America LLC | Method and apparatus for video coding |
BR112020019740A2 (pt) * | 2018-03-29 | 2021-02-17 | Huawei Technologies Co., Ltd. | aparelho e método de processamento de imagem |
IL313311A (en) * | 2018-06-11 | 2024-08-01 | Samsung Electronics Co Ltd | An encoding method and device for it, and a decoding method and device for it |
CN108833916B (zh) * | 2018-06-20 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 视频编码、解码方法、装置、存储介质和计算机设备 |
PT3891980T (pt) * | 2018-12-21 | 2024-07-22 | Huawei Tech Co Ltd | Método e aparelho de filtragem de interpolação para codificação preditiva |
US11350108B2 (en) * | 2019-03-18 | 2022-05-31 | Tencent America LLC | Affine inter prediction refinement with optical flow |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889691A (zh) * | 2006-07-19 | 2007-01-03 | 四川长虹电器股份有限公司 | 一种像素插值方法 |
CN101242506A (zh) * | 2007-02-07 | 2008-08-13 | 扬智科技股份有限公司 | 滤波动态补偿的非反馈插值器 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020172288A1 (en) | 2001-03-08 | 2002-11-21 | Nyeongku Kwon | Device and method for performing half-pixel accuracy fast search in video coding |
GB2379820A (en) | 2001-09-17 | 2003-03-19 | Nokia Corp | Interpolating values for sub-pixels |
US6950469B2 (en) | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
HU228615B1 (en) * | 2002-01-14 | 2013-04-29 | Nokia Corp | Method of coding of digital video pictures |
MXPA05000335A (es) * | 2002-07-09 | 2005-03-31 | Nokia Corp | Metodo y sistema para seleccionar tipo de filtro de interpolacion en codificacion de video. |
KR100472476B1 (ko) | 2002-08-31 | 2005-03-10 | 삼성전자주식회사 | 움직임 보상을 위한 보간 방법 및 그 장치 |
EP1578137A2 (en) | 2004-03-17 | 2005-09-21 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding apparatus with multistep interpolation process |
KR20070030223A (ko) | 2004-06-23 | 2007-03-15 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 픽셀 보간 |
US7653132B2 (en) * | 2004-12-21 | 2010-01-26 | Stmicroelectronics, Inc. | Method and system for fast implementation of subpixel interpolation |
US7623575B2 (en) | 2005-01-05 | 2009-11-24 | Lsi Corporation | Method and apparatus for sub-pixel motion compensation |
WO2006108654A2 (en) * | 2005-04-13 | 2006-10-19 | Universität Hannover | Method and apparatus for enhanced video coding |
US8208564B2 (en) * | 2005-06-24 | 2012-06-26 | Ntt Docomo, Inc. | Method and apparatus for video encoding and decoding using adaptive interpolation |
CA2631336A1 (en) | 2005-11-30 | 2007-06-07 | Kabushiki Kaisha Toshiba | Image encoding/image decoding method, image encoding/image decoding apparatus |
KR100772390B1 (ko) | 2006-01-23 | 2007-11-01 | 삼성전자주식회사 | 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치 |
JP2007201880A (ja) | 2006-01-27 | 2007-08-09 | Victor Co Of Japan Ltd | 画像符号化装置および画像復号装置 |
WO2008084378A2 (en) | 2007-01-09 | 2008-07-17 | Nokia Corporation | Adaptive interpolation filters for video coding |
EP1983759A1 (en) | 2007-04-19 | 2008-10-22 | Matsushita Electric Industrial Co., Ltd. | Estimation of separable adaptive interpolation filters for hybrid video coding |
EP2208181A2 (en) | 2007-10-05 | 2010-07-21 | Nokia Corporation | Video coding with pixel-aligned directional adaptive interpolation filters |
CN101453646B (zh) | 2007-12-04 | 2012-02-22 | 华为技术有限公司 | 图像插值方法、装置及插值系数的获取方法 |
KR20090094595A (ko) | 2008-03-03 | 2009-09-08 | 삼성전자주식회사 | 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및장치, 그리고 복수 참조에 의한 움직임 예측을 이용한복호화 방법 및 장치 |
US8462842B2 (en) | 2008-04-10 | 2013-06-11 | Qualcomm, Incorporated | Symmetry for interpolation filtering of sub-pixel positions in video coding |
US8831086B2 (en) | 2008-04-10 | 2014-09-09 | Qualcomm Incorporated | Prediction techniques for interpolation in video coding |
US9077971B2 (en) | 2008-04-10 | 2015-07-07 | Qualcomm Incorporated | Interpolation-like filtering of integer-pixel positions in video coding |
US8804831B2 (en) | 2008-04-10 | 2014-08-12 | Qualcomm Incorporated | Offsets at sub-pixel resolution |
US8705622B2 (en) * | 2008-04-10 | 2014-04-22 | Qualcomm Incorporated | Interpolation filter support for sub-pixel resolution in video coding |
US9967590B2 (en) | 2008-04-10 | 2018-05-08 | Qualcomm Incorporated | Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter |
US20090257499A1 (en) | 2008-04-10 | 2009-10-15 | Qualcomm Incorporated | Advanced interpolation techniques for motion compensation in video coding |
US8811484B2 (en) | 2008-07-07 | 2014-08-19 | Qualcomm Incorporated | Video encoding by filter selection |
EP2157799A1 (en) * | 2008-08-18 | 2010-02-24 | Panasonic Corporation | Interpolation filter with local adaptation based on block edges in the reference frame |
US8750378B2 (en) | 2008-09-23 | 2014-06-10 | Qualcomm Incorporated | Offset calculation in switched interpolation filters |
US9078007B2 (en) | 2008-10-03 | 2015-07-07 | Qualcomm Incorporated | Digital video coding with interpolation filters and offsets |
US8634456B2 (en) | 2008-10-03 | 2014-01-21 | Qualcomm Incorporated | Video coding with large macroblocks |
US8831087B2 (en) | 2008-10-06 | 2014-09-09 | Qualcomm Incorporated | Efficient prediction mode selection |
WO2010063881A1 (en) | 2008-12-03 | 2010-06-10 | Nokia Corporation | Flexible interpolation filter structures for video coding |
US10045046B2 (en) | 2010-12-10 | 2018-08-07 | Qualcomm Incorporated | Adaptive support for interpolating values of sub-pixels for video coding |
-
2011
- 2011-12-06 US US13/311,755 patent/US10045046B2/en active Active
- 2011-12-07 WO PCT/US2011/063730 patent/WO2012078748A1/en active Application Filing
- 2011-12-07 UA UAA201308679A patent/UA109923C2/uk unknown
- 2011-12-07 MY MYPI2013001875A patent/MY180273A/en unknown
- 2011-12-07 KR KR1020137017983A patent/KR101528989B1/ko active IP Right Grant
- 2011-12-07 CN CN201610134216.6A patent/CN105704492B/zh active Active
- 2011-12-07 EP EP17162467.9A patent/EP3203740A1/en not_active Ceased
- 2011-12-07 SG SG2013039045A patent/SG190847A1/en unknown
- 2011-12-07 EP EP11801931.4A patent/EP2649800A1/en not_active Ceased
- 2011-12-07 JP JP2013543309A patent/JP2014502800A/ja active Pending
- 2011-12-07 KR KR1020147030817A patent/KR101784668B1/ko active IP Right Grant
- 2011-12-07 CA CA2820061A patent/CA2820061C/en active Active
- 2011-12-07 BR BR112013014415-7A patent/BR112013014415B1/pt active IP Right Grant
- 2011-12-07 AU AU2011338449A patent/AU2011338449B2/en active Active
- 2011-12-07 CN CN201180058813.0A patent/CN103250414B/zh active Active
- 2011-12-07 RU RU2013131778/08A patent/RU2564245C2/ru active
-
2013
- 2013-05-19 IL IL226438A patent/IL226438B/en active IP Right Grant
- 2013-10-22 HK HK16109089.5A patent/HK1221101A1/zh unknown
-
2014
- 2014-10-08 JP JP2014207232A patent/JP6254063B2/ja active Active
-
2016
- 2016-07-01 JP JP2016131619A patent/JP6301401B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1889691A (zh) * | 2006-07-19 | 2007-01-03 | 四川长虹电器股份有限公司 | 一种像素插值方法 |
CN101242506A (zh) * | 2007-02-07 | 2008-08-13 | 扬智科技股份有限公司 | 滤波动态补偿的非反馈插值器 |
Non-Patent Citations (2)
Title |
---|
Adaptive Interpolation with Directional Filters;Dmytro Rusanovskyy et al;《33.VCEG MEETING;82.MPEG MEETING》;20071020;第1-3页 * |
Video coding technology proposal by Qualcomm Inc;Marta Karczewicz et al;《JCT-VC MEETING》;20100423;第6页 * |
Also Published As
Publication number | Publication date |
---|---|
JP2015046907A (ja) | 2015-03-12 |
BR112013014415A2 (pt) | 2016-09-27 |
WO2012078748A1 (en) | 2012-06-14 |
US20120147967A1 (en) | 2012-06-14 |
AU2011338449A1 (en) | 2013-06-20 |
IL226438A0 (en) | 2013-07-31 |
MY180273A (en) | 2020-11-26 |
HK1221101A1 (zh) | 2017-05-19 |
EP2649800A1 (en) | 2013-10-16 |
KR101784668B1 (ko) | 2017-10-12 |
JP2016201814A (ja) | 2016-12-01 |
CN105704492A (zh) | 2016-06-22 |
US10045046B2 (en) | 2018-08-07 |
EP3203740A1 (en) | 2017-08-09 |
SG190847A1 (en) | 2013-07-31 |
CA2820061C (en) | 2019-12-03 |
KR20130086390A (ko) | 2013-08-01 |
CN103250414A (zh) | 2013-08-14 |
AU2011338449B2 (en) | 2015-03-12 |
CN103250414B (zh) | 2017-03-08 |
BR112013014415B1 (pt) | 2022-02-15 |
RU2564245C2 (ru) | 2015-09-27 |
IL226438B (en) | 2019-05-30 |
KR101528989B1 (ko) | 2015-06-15 |
UA109923C2 (uk) | 2015-10-26 |
RU2013131778A (ru) | 2015-01-20 |
CA2820061A1 (en) | 2012-06-14 |
JP6301401B2 (ja) | 2018-03-28 |
JP6254063B2 (ja) | 2017-12-27 |
JP2014502800A (ja) | 2014-02-03 |
KR20140140120A (ko) | 2014-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105704492B (zh) | 用于内插视频译码的子像素的值的自适应支持 | |
CN103460695B (zh) | 视频译码中基于单预测相邻者的双预测合并模式 | |
CN106878743B (zh) | 解码视频信号的方法 | |
CN104584550B (zh) | 用于可缩放视频译码的帧内预测改善 | |
CN103141105B (zh) | 用于分割块的方法和解码设备 | |
KR101202633B1 (ko) | 고정된 필터 또는 적응형 필터에 기초한 비디오 코딩을 위한 레이트 왜곡 정의된 보간 | |
CN109792531A (zh) | 用于视频译码的运动向量译码 | |
CN102342101B (zh) | 用于在视频译码中进行内插滤波、环路内滤波和环路后滤波的组合方案 | |
CN109792532A (zh) | 用于视频译码的适应性运动向量精准度 | |
KR101214021B1 (ko) | 비디오 코딩에서의 정수-픽셀 포지션들의 보간형 필터링 | |
CN103270754A (zh) | 对视频数据块的系数的模式相依扫描 | |
JPWO2012096150A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
CN101990759A (zh) | 用于在视频译码中进行内插的预测技术 | |
KR101646856B1 (ko) | 감소된 해상도 화소 보간 | |
CN109644277A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1221101 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |