CN103339939A - 具有自适应分接头大小的低复杂性内插滤波 - Google Patents
具有自适应分接头大小的低复杂性内插滤波 Download PDFInfo
- Publication number
- CN103339939A CN103339939A CN2012800075755A CN201280007575A CN103339939A CN 103339939 A CN103339939 A CN 103339939A CN 2012800075755 A CN2012800075755 A CN 2012800075755A CN 201280007575 A CN201280007575 A CN 201280007575A CN 103339939 A CN103339939 A CN 103339939A
- Authority
- CN
- China
- Prior art keywords
- filter
- pixel
- sub
- block
- supporting location
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
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
-
- 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
- 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/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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/177—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 group of pictures [GOP]
-
- 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/179—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 scene or a shot
-
- 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/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/184—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 bits, e.g. of the compressed video stream
-
- 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/188—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 video data packet, e.g. a network abstraction layer [NAL] unit
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
-
- 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/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
-
- 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/513—Processing of motion vectors
-
- 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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- 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/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
在视频译码的预测阶段期间,视频译码器可使用相对较长内插滤波器来使用视频数据的参考块(其相对于与所述块相关联的扫描次序而平行定位)的参考整数像素的值产生预测子像素值,且可使用相对较短内插滤波器来使用相对于所述扫描次序垂直定位的所述块的参考整数像素的值产生预测子像素值,其中较长内插滤波器通常指代具有相对较多滤波器系数或“分接头”的滤波器,且较短滤波器通常指代具有相对较少分接头的滤波器。
Description
本申请案主张2011年1月5日申请的第61/430,101号美国临时申请案的权益,所述美国临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及数字视频编码和解码,且更特定来说涉及应用于产生视频编码和解码过程中使用的预测数据的滤波技术。
背景技术
数字视频能力可并入到广泛装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电传会议装置、视频串流装置等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、当前在发展中的高效视频译码(HEVC)标准所定义的标准和此类标准的扩展版中描述的技术。视频装置可通过实施此类视频压缩技术而更有效地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块,视频块也可称为树块、译码单元(CU)和/或译码节点。图片的经帧内译码(I)切片中的视频块使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可称为帧,且参考图片可称为参考帧。
空间或时间预测产生针对待译码的块的预测块,残余数据表示待译码的原始块与预测块之间的像素差。根据指向形成预测块的参考样本的块的运动向量以及指示经译码块与预测块之间的差的残余数据来编码经帧间译码块。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,所述残余变换系数接着可经量化。经量化的变换系数(初始以二维阵列布置)可经扫描以便产生变换系数的一维向量,且可应用熵译码来实现更多压缩。
已开发内插滤波技术以便改进可在视频数据块的帧间预测译码中实现的压缩水平。根据这些技术,正译码的特定视频数据块的运动补偿期间产生的预测数据(例如,预测块)可通过内插参考视频帧的视频数据的参考块或针对所述块的运动估计中使用的另一参考经译码单元的像素的值来产生。内插滤波(或简称为“内插”)通常经执行以产生界定预测块的预测二分之一像素(例如,“二分之一pel”和四分之一像素(例如,“四分之一pel”)值。二分之一和四分之一pel值对应于参考块内的子像素位置。分数运动向量可用于以此子像素分辨率识别参考块内的预测块以便俘获视频序列中的分数移动,且借此提供比原始参考块(即,整数像素分辨率下的参考块)更加类似于正译码块的预测块。
发明内容
大体来说,本发明描述由视频译码系统在视频译码过程的预测阶段期间执行的内插滤波技术。在一些例子中,所描述的技术可减小视频译码系统的复杂性,且减少当产生视频数据块的预测数据时系统执行的存储器存取的次数,同时仍提供合乎需要的视频压缩和经重建视频质量。存在本发明的若干方面,包含使用相对较长(即,包含较多滤波器系数或“分接头”)内插滤波器来当使用视频数据的参考块(其相对于与所述参考块相关联的扫描次序而平行定位)的参考整数像素的值时产生预测子像素值,且使用相对较短内插滤波器(即,包含较少分接头)来当使用相对于所述扫描次序垂直定位的所述参考块的参考整数像素的值时产生预测子像素值。
在一个实例中,一种对视频数据块进行译码的方法包含:获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;以及计算对应于与所述块相关联的子像素位置的子像素值。计算子像素值包含通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值;以及通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值,其中第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比第二一维阵列多的滤波器系数。所述方法进一步包含基于所计算的子像素值中的一者或一者以上产生预测像素块。
在另一实例中,一种用于对视频数据块进行译码的设备包含视频译码器,其经配置以:获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;且计算对应于与所述块相关联的子像素位置的子像素值。为计算子像素值,视频译码器经配置以通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值,且通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比第二一维阵列多的滤波器系数。视频译码器进一步配置以基于所计算的子像素值中的一者或一者以上产生预测像素块。
在另一实例中,一种用于对视频数据块进行译码的装置包含:用于获得像素块的装置,所述像素块包括对应于所述块内的整数像素位置的整数像素值;以及用于计算对应于与所述块相关联的子像素位置的子像素值的装置。所述用于计算子像素值的装置包含用于通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值的装置,以及用于通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值的装置,其中第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比第二一维阵列多的滤波器系数。所述装置进一步包含用于基于所计算的子像素值中的一者或一者以上产生预测像素块的装置。
本发明中所描述的技术可以硬件、软件、固件或其组合来实施。如果以硬件实施,那么设备可作为集成电路、处理器、离散逻辑或其任何组合而实现。如果以软件来实施,则可在例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)等一个或一个以上处理器中执行软件。可最初将执行所述技术的软件存储于有形计算机可读媒体中且在处理器中加载并执行。
因此,本发明还预期一种包含指令的计算机可读存储媒体,所述指令当执行时致使处理器对视频数据块进行译码,其中所述指令致使所述处理器:获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;且计算对应于与所述块相关联的子像素位置的子像素值。所述致使处理器计算子像素值的指令包含致使所述处理器进行以下操作的指令:通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值;以及通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值,其中第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比第二一维阵列多的滤波器系数。所述指令进一步致使处理器基于所计算的子像素值中的一者或一者以上产生预测像素块。
一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。
附图说明
图1是说明根据本发明的技术可实施用于使用具有自适应分接头大小的低复杂性内插滤波器对视频数据块进行译码的技术的视频编码和解码系统的实例的框图。
图2是说明根据本发明的技术可实施用于使用具有自适应分接头大小的低复杂性内插滤波器编码视频数据块的技术的视频编码器的实例的框图。
图3是说明根据本发明的技术可实施用于使用具有自适应分接头大小的低复杂性内插滤波器解码视频数据块的技术的视频解码器的实例的框图。
图4是说明针对视频数据块的与参考数据相关联的参考整数像素以及与经内插预测数据相关联的预测子像素的概念图。
图5是说明针对视频数据块的与参考数据相关联的参考整数像素以及与经内插预测数据相关联的水平和垂直“1L”预测子像素的概念图。
图6是说明针对视频数据块的与参考数据相关联的参考整数像素以及与经内插预测数据相关联的非水平和非垂直“2L”预测子像素的概念图。
图7是说明具有系数对称性的8分接头内插滤波器以及相对于子像素位置的对应的水平滤波器支持位置的概念图。
图8是说明不具有系数对称性的8分接头内插滤波器以及相对于子像素位置的对应的水平滤波器支持位置的概念图。
图9是说明具有系数对称性的6分接头内插滤波器以及相对于子像素位置的对应的垂直滤波器支持位置的概念图。
图10是说明不具有系数对称性的6分接头内插滤波器以及相对于子像素位置的对应的垂直滤波器支持位置的概念图。
图11是说明根据本发明的技术使用具有自适应分接头大小的低复杂性内插滤波器编码视频数据块的方法的实例的流程图。
图12是说明根据本发明的技术使用具有自适应分接头大小的低复杂性内插滤波器解码视频数据块的方法的实例的流程图。
具体实施方式
本发明大体描述由视频译码系统在视频译码过程的预测阶段期间执行的内插滤波技术。所描述的技术可减小视频译码系统的复杂性,且减少当产生视频数据块的预测数据时系统执行的存储器存取的次数,同时提供合乎需要的视频压缩和经重建视频质量。存在本发明的若干方面,包含使用相对较长内插滤波器(即,包含较多滤波器系数或“分接头”)来当使用视频数据的参考块(其相对于与所述参考块相关联的扫描次序而平行定位)的参考整数像素的值时产生预测子像素值,且使用相对较短内插滤波器(即,包含较少分接头)来当使用相对于所述扫描次序垂直定位的所述参考块的参考整数像素的值时产生预测子像素值。
在本发明中,术语“译码”指代编码器处发生的编码或解码器处发生的解码。类似地,术语译码器指代编码器、解码器或组合式编码器/解码器(CODEC)。在一些例子中,视频编码器可包含用于解码视频的能力。术语译码器、编码器、解码器和CODEC全部指代根据本发明经设计用于对视频数据进行译码(编码和/或解码)的特定机器。
大体来说,当出于产生经译码视频数据块的预测数据的目的设计内插滤波器时,可能需要使用相对较长内插滤波器,即包括相对较多滤波器系数的内插滤波器(例如,具有8个滤波器系数或“分接头”而非6个分接头的滤波器)。特定内插滤波器的每一滤波器系数可对应于视频数据的参考块的参考整数像素,也称为滤波器支持位置。因此,内插滤波器的每一滤波器系数(例如,表示为某一值)可与充当内插滤波器的滤波器支持位置的参考块的其相应参考整数像素的值相关联。因此,使用具有较多滤波器系数的较长内插滤波器来产生经译码视频数据块的预测子像素值可导致使用相对较多参考整数像素值。以此方式使用较长内插滤波器可导致产生经译码块的较好预测数据,即更加类似于经译码块的预测数据。块的较好预测数据可导致较好经重建视频质量,且还可导致产生块的较少残余数据,且因此可改进经译码块的压缩。
然而,如上所述使用较长内插滤波器还可导致使用内插滤波器的视频译码系统的较大复杂性。举例来说,因为较长内插滤波器包括相对较多滤波器系数,所以使用所述内插滤波器计算预测子像素值可能较复杂。举例来说,译码过程可需要较多输入(例如,参考整数像素的值)、项(例如,滤波器系数的值乘以参考整数像素的值)和/或运算(例如,较多乘法和加法)。另外,因为如先前描述较长内插滤波器包括相对较多滤波器系数,所以检索参考整数像素值以计算预测子像素值所需的存储器存取的次数也可能增加,从而可能不利地影响视频译码系统的总体性能。
此外,在一些情况下,视频数据的参考块的参考整数像素值可根据与参考块相关联的扫描次序存储在系统存储器(例如,高速缓冲存储器或缓冲器存储器)中。举例来说,与参考块相关联的扫描次序可对应于用于存储视频译码系统内的各种类型的视频数据块(例如,参考块和预测块)的整数像素和子像素值的扫描次序。在这些情况下,从系统存储器检索根据扫描次序定位(例如,针对光栅扫描次序在参考块内水平定位)的参考块的邻近参考整数像素的值可需要比检索未根据扫描次序定位(例如,针对光栅扫描次序在参考块内垂直定位)的参考块的邻近参考整数像素的值少的存储器存取(即,“读取”循环)。举例来说,对于包含32位数据总线的视频译码系统(其中使用8位码字表示每一参考整数像素值),可使用单一读取循环从系统存储器检索根据扫描次序定位(例如,相对于扫描次序平行)的四个邻近参考整数像素的值。另一方面,对于同一视频译码系统,可使用多达四个单独读取循环从系统存储器检索未根据扫描次序定位(例如,相对于扫描次序垂直)的四个邻近参考整数像素的值,其中所述参考整数像素值中的每一者是使用单独读取循环来检索的。
在本发明中,短语“相对于扫描次序平行”和“相对于扫描次序垂直”通常用于指明内插滤波器使用水平滤波器支持位置还是垂直滤波器支持位置。“水平滤波器支持位置”通常指代在视频数据的参考块内的像素数据的共同行中的一组滤波器支持位置。“垂直滤波器支持位置”通常指代在像素数据的共同列中的一组滤波器支持位置。依据扫描次序,短语“相对于扫描次序平行”可对应于水平滤波器支持位置或垂直滤波器支持位置。同样,依据扫描次序,短语“相对于扫描次序垂直”可对应于水平滤波器支持位置或垂直滤波器支持位置。作为一个实例,当指代水平(即,逐行)扫描次序时,短语“相对于扫描次序平行”可指代水平滤波器支持位置,而术语“相对于扫描次序垂直”可指代垂直滤波器支持位置。典型的光栅扫描次序(即,从左向右,自上而下)是水平或逐行扫描次序的实例。在另一实例中,当指代垂直(即,逐列)扫描次序时,短语“相对于扫描次序平行”可指代垂直滤波器支持位置,而短语“相对于扫描次序垂直”可指代水平滤波器支持位置。经旋转光栅扫描次序是垂直或逐列扫描次序的实例。另外,在本发明中,短语“根据扫描次序定位”可通常用于表示相对于扫描次序平行,且短语“未根据扫描次序定位”可通常用于表示相对于扫描次序垂直。
如上文论述,因为较长内插滤波器包括相对较多滤波器系数,所以检索参考整数像素值以使用滤波器计算预测子像素值所需的存储器存取的次数可增加。此增加可取决于参考整数像素相对于与参考块相关联的扫描次序的位置。因此,存储器存取的次数可依据与参考块内的特定内插滤波器(对应于参考整数像素)相关联的滤波器支持位置相对于扫描次序的定向而增加。举例来说,检索参考整数像素的值所需的存储器存取的次数可在检索相对于扫描次序垂直布置的参考整数像素的给定数目的值时比当检索相对于扫描次序平行布置的参考整数像素的相同数目的值时更大。即,存储器存取的次数可在与特定内插滤波器相关联的滤波器支持位置相对于扫描次序垂直布置时比当相同滤波器支持位置相对于扫描次序平行布置时更大。
为潜在获得较长内插滤波器的益处而无复杂性的不合需要的增加或上文描述的存储器存取的次数的不合需要的增加,本发明的技术包含依据与特定内插滤波器相关联的滤波器支持位置相对于扫描次序平行布置还是相对于扫描次序垂直布置而以自适应方式使用相对较长与相对较短内插滤波器的混合。举例来说,如果将使用相对于扫描次序平行定位的视频数据的参考块的参考整数像素的值来产生预测子像素值,那么可使用较长内插滤波器。然而,如果将使用相对于扫描次序垂直定位的参考块的参考整数像素的值来产生预测子像素值,那么可使用较短内插滤波器。
在此实例中,与参考块相关联的扫描次序再次可对应于用于存储视频译码系统内的各种类型的视频数据块的整数像素和子像素值的扫描次序。如此,从系统存储器检索相对于扫描次序平行定位的参考块的邻近参考整数像素的值可比检索相对于扫描次序垂直定位的参考块的邻近参考整数像素的值需要更少存储器存取或读取循环。因此,在一些情况下可通过使用包括较少滤波器系数且因此较少对应的参考整数像素值来产生预测子像素值的内插滤波器减小视频译码系统复杂性。另外,在一些情况下可通过从视频译码系统存储器检索较少参考整数像素的值或使用较少存储器存取或读取循环检索参考整数像素的值以产生预测子像素值,来减少视频译码系统执行的存储器存取的次数。因此,本发明的技术可对于例如蜂窝式电话、PDA等具有有限资源(例如,硬件和/或软件资源)的视频译码系统具有特别的益处。
如本发明中使用,术语“较长”和“较短”通常希望为相对术语。举例来说,较长内插滤波器可视为包含比较短内插滤波器多的滤波器系数。类似地,较短内插滤波器可视为包含比较长内插滤波器少的滤波器系数。然而,术语“较长”和“较短”不希望表示特定内插滤波器的任何种类的最大或最小滤波器系数数目。如将借助实例展示,本发明的技术与众多形状和大小的内插滤波器兼容。
本发明的其它方面包含用于编码位流中的信息以传达包含在特定内插滤波器内的若干滤波器系数中的一者或一者以上以及所述滤波器系数中的每一者的值的技术。本发明的这些和其它方面将从下文的描述变得显而易见。因此,本发明的技术可使得能够当产生正译码的一个或一个以上视频数据块的预测数据时使用具有自适应分接头大小的低复杂性内插滤波器。
图1是说明根据本发明的技术可实施用于使用具有自适应分接头大小的低复杂性内插滤波器对视频数据块进行译码的技术的视频编码和解码系统10的实例的框图。如图1中所示,系统10包括源装置12,其经由通信信道16将经编码的视频发射到目的地装置14。源装置12及目的地装置14可包括各种各样的装置中的任一者。在一些情况下,源装置12和目的地装置14可包括无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可在通信信道16上(在此情况下,通信信道16为无线的)传送视频信息的任何无线装置。
然而,关于使用具有自适应分接头大小的低复杂性内插滤波器对视频数据块进行译码的本发明的技术不一定限于无线应用或设置。这些技术可通常适用于其中执行编码或解码的任何情境,包含空中电视广播、有线电视发射、卫星电视发射、串流因特网视频发射、编码到存储媒体上或从存储媒体检索和解码的经编码数字视频,或其它情境。因此,不需要通信信道16,且本发明的技术可适用于其中应用编码或其中应用解码的设置,例如无编码与解码装置之间的任何数据通信。
在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器(调制解调器)22和发射器24。目的地装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20和/或目的地装置14的视频解码器30可经配置以应用用于使用具有自适应分接头大小的低复杂性内插滤波器对视频数据块进行译码的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置14可与外部显示装置介接,而非包含集成显示装置。
图1的所说明的系统10仅为一个实例。用于使用具有自适应分接头大小的低复杂性内插滤波器对视频数据块进行译码的技术可由任何数字视频编码和/或解码装置执行。尽管通常本发明的技术由视频编码装置执行,但所述技术也可由视频编码器/解码器(通常称为“CODEC”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅为这些译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频重放、视频广播或视频电话。
源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前所俘获的视频的视频存档,和/或来自视频内容提供者的视频馈入(video feed)。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(live video)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文提及,本发明中描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器20来编码经俘获的、经预先俘获的或计算机产生的视频。经编码的视频信息可接着由调制解调器22根据通信标准来调制,且经由发射器24而发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包括放大器、滤波器及一个或一个以上天线。
目的地装置14的接收器26经由信道16接收信息,且调制解调器28解调所述信息。再次,上文描述的视频编码过程可实施本文描述的技术中的一者或一者以上以使用具有自适应分接头大小的低复杂性内插滤波器对视频数据块进行译码。在信道16上传送的信息可包含由视频编码器20界定的语法信息,所述语法信息也由视频解码器30使用,其包含描述视频数据块(例如,宏块或译码单元)的特性和/或处理的语法元素,例如识别所述块的预测数据的运动向量数据,以及其它信息。显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
在图1的实例中,通信信道16可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络的基于包的网络的部分。通信信道16一般表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。在其它实例中,编码或解码装置可在无此类装置之间的任何通信的情况下实施本发明的技术。举例来说,编码装置可根据本发明的技术编码和存储经编码位流。或者,解码装置可根据本发明的技术接收或检索经编码位流,且解码所述位流。
视频编码器20及视频解码器30可根据视频压缩标准(例如ITU-T H.264标准,或者称为MPEG-4(第10部分:高级视频译码(AVC)))而操作。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2、ITU-T H.263和当前在发展中的高效视频译码(HEVC)标准。一般来说,本发明的技术相对于HEVC描述,但应理解,这些技术也可结合其它视频译码标准使用。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器和解码器电路中的任一者。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器20和视频解码器30中的任一者可作为组合式编码器/解码器(CODEC)的一部分而集成于相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器等中。
视频序列通常包含一系列视频帧。图片群组(GOP)通常包括一系列一个或一个以上视频帧。GOP可在GOP的标头中、GOP的一个或一个以上帧的标头或其它地方包含语法数据,其描述GOP中包含的帧的数目。每一帧可包含描述相应帧的编码模式的帧语法数据。视频编码器(例如,视频编码器20)通常对个别视频帧内的视频块操作以编码视频数据。根据ITU-T H.264标准,视视频块可对应于宏块或宏块的分区。根据其它标准,例如下文更详细描述的HEVC,视频块可对应于译码单元(例如,最大译码单元)、或译码单元的分区。所述视频块可具有固定的或变化的大小,且可根据指定的译码标准而大小不同。每一视频帧可包含多个切片,即视频帧的部分。每一切片可包含多个视频块,其可布置成分区,也称为子块。
依据指定的译码标准,视频块可分割为各种“NxN”子块大小,例如16x16、8x8、4x4、2x2等。在本发明中,“NxN”和“N乘N”可互换使用以指代依据垂直和水平维度的块的像素尺寸,例如16x16像素或16乘16像素。一般来说,16x16块将具有垂直方向(y=16)上的十六个像素以及水平方向(x=16)上的十六个像素。同样,NxN块通常具有垂直方向上的N个像素以及水平方向上的N个像素,其中N表示非负整数值。块中的像素可布置成若干行和若干列。此外,块无须一定具有在水平方向上与在垂直方向上相同数目的像素。举例来说,块可包括NxM个像素,其中M不一定等于N。作为一个实例,在ITU-T H.264标准中,大小为16乘16像素的块可称为宏块,且小于16乘16像素的块可称为16乘16宏块的分区。在其它标准(例如,HEVC)中,块可更一般地相对于其大小界定为例如译码单元和其分区,每一者具有可变而非固定的大小。
视频块可包括像素域中的像素数据的块,或(例如)在对给定视频块的残余数据应用例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换等变换之后的在变换域中的变换系数的块,其中残余数据表示块的视频数据与针对所述块产生的预测数据之间的像素差。在一些情况下,视频块可包括变换域中的经量化的变换系数的块,其中在将变换应用于给定视频块的残余数据之后,所得变换系数也经量化。
块分割在基于块的视频译码技术中充当重要作用。使用较小块来对视频数据译码可产生包含高细节水平的视频帧的位置的数据的较好预测,且可因此减少表示为残余数据的所得误差(即,预测数据与源视频数据的偏差)。虽然潜在减少残余数据,然而此类技术可需要额外语法信息来指示较小块如何相对于视频帧分割,且可导致增加的经译码视频位速率。因此,在一些技术中,块分割可取决于残余数据中的合乎需要的减少与归因于额外语法信息的经译码视频数据的位速率的所引起的增加的平衡。
一般来说,块及其各个分区(即,子块)可视为视频块。另外,切片可视为多个视频块(例如,宏块或译码单元)和/或子块(宏块的分区或子译码单元)。每一切片可为视频帧的可独立解码单元,有时称为“经译码单元”。或者,帧本身可为可独立解码单元,或帧的其它部分可界定为可独立解码单元。此外,GOP(也称为序列)可界定为可独立解码单元。
当前正作出努力来开发新的视频译码标准,当前称为高效视频译码(HEVC)。新兴的HEVC标准也可称为H.265。标准化努力是基于称为HEVC测试模型(HM)的视频译码装置的模型。HM假设视频译码装置胜于根据例如ITU-T H.264/AVC的装置的若干能力。举例来说,尽管H.264提供九个帧内预测编码模式,但HM例如基于正经帧内预测译码的块的大小提供多达三十五个帧内预测编码模式。
HM将视频数据块称为译码单元(CU)。CU可指代充当各个译码工具应用于压缩所针对的基本单元的矩形图像区。在H.264中,其也可称为宏块。位流中的语法数据可界定最大译码单元(LCU),其是依据像素数目的最大CU。一般来说,CU具有与H.264的宏块类似的作用,只是CU不具有大小区分。因此,CU可分割或“分裂”为子CU。
LCU可与指示LCU如何分割的四叉树数据结构相关联。一般来说,四叉树数据结构包含LCU的每CU一个节点,其中根节点对应于LCU,且其它节点对应于LCU的子CU。如果给定CU分裂为四个子CU,那么对应于分裂CU的四叉树中的节点包含四个子节点,其每一者对应于子CU中的一者。四叉树数据结构的每一节点可提供对应CU的语法信息。举例来说,四叉树中的节点可包含CU的分裂旗标,从而指示对应于节点的CU是否分裂为四个子CU。给定CU的语法信息可以递归方法界定,且可取决于CU是否分裂为子CU。
不分裂的CU(即,对应于给定四叉树中的端子或“叶”节点的CU)可包含一个或一个以上预测单元(PU)。一般来说,PU表示对应CU的全部或一部分,且包含出于执行针对CU的预测的目的用于检索PU的参考样本的数据。举例来说,当对CU进行帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当对CU进行帧间模式编码时,PU可包含界定PU的运动向量的数据。界定运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素或“四分之一pel”精度,或八分之一像素或“八分之一pel”精度)、运动向量所指向的参考帧,和/或运动向量的参考列表(例如,列表0或列表1)。界定CU的一个或一个以上PU的CU的数据还可描述(例如)CU分割为所述一个或一个以上PU。分割模式可依据CU是未经译码、经帧内预测模式编码还是经帧间预测模式编码而不同。
具有一个或一个以上PU的CU还可包含一个或一个以上变换单元(TU)。在使用一个或一个以上PU的CU的预测之后,如上所述,视频编码器可计算CU的对应于所述一个或一个以上PU的相应部分的一个或一个以上残余块。所述残余块可表示CU的视频数据与所述一个或一个以上PU的所预测数据之间的像素差。一组残余值可经变换、扫描和量化以界定一组经量化变换系数。TU可界定指示大体类似于上文参考CU描述的四叉树数据结构的变换系数的分区信息的分区数据结构。TU不一定限于PU的大小。因此,TU可比同一CU的对应PU大或小。在一些实例中,TU的最大大小可对应于对应CU的大小。在一个实例中,对应于CU的残余样本可使用称为“残余四叉树”(RQT)的四叉树结构再分为较小单元。在此情况下,RQT的叶节点可称为TU,对应残余样本可针对其而变换和量化。
在用于产生预测数据和残余数据的帧内预测或帧间预测编码之后,且在用于产生变换系数的任何变换(例如,H.264/AVC中所使用的4×4或8×8整数变换或离散余弦变换DCT)之后,可执行对变换系数的量化。量化一般指代将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间下舍入为m位值,其中n大于m。
量化之后,可执行经量化数据(即,经量化变换系数)的熵译码。熵译码可遵循若干熵译码技术中的任一者,例如上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE),或另一熵译码方法。举例来说,可使用熵译码技术编码经量化变换系数的系数值(表示为量值和对应正负号(例如,“+1”或“-1”))。
应注意,上文描述的预测、变换和量化可依据指定译码标准针对任何视频数据块(例如,针对CU的PU和/或TU,或针对宏块)执行。因此,关于使用具有自适应分接头大小的低复杂性内插滤波器对视频数据块进行译码的本发明的技术可适用于任何视频数据块,例如适用于经量化变换系数的任何块,包含宏块,或CU的TU。此外,视频数据块(例如,宏块,或CU的TU)可包含对应视频数据的亮度分量(Y)、第一色度分量(U)和第二色度分量(V)中的每一者。如此,本发明的技术可针对给定视频数据块的Y、U和V分量中的每一者执行。
如先前描述,较长内插滤波器(即,包括较多滤波器系数的内插滤波器)可产生与较短内插滤波器相比经译码视频数据块的较好预测数据。较长内插滤波器可产生比使用较短内插滤波器产生的预测块更类似或更紧密匹配于经译码块的预测块。然而,使用较长内插滤波器来产生经译码块的预测数据还可导致增加的复杂性,且需要较大数目的存储器存取,如先前描述。
本发明描述可使得能够使用相对于其它系统具有较低复杂性且需要较少存储器存取的译码系统对视频数据块进行译码的技术。作为一个实例,可通过在使用根据与视频数据的参考块相关联的扫描次序定位(即,相对于扫描次序平行)的所述参考块的参考整数像素的值产生预测子像素值时使用较长内插滤波器且当使用未根据扫描次序定位(即,相对于扫描次序垂直定位)的所述参考块的参考整数像素的值产生预测子像素值时使用较短内插滤波器,来减少译码系统复杂性和存储器存取的次数。因此,可使用较不复杂的计算来产生预测子像素值,且可通过从存储器检索较少参考整数像素的值且/或通过使用较少读取循环来检索所述值而减少存储器存取的次数。
在一些实例中,源装置12的视频编码器20可经配置以编码某些视频数据块(例如,一个或一个以上宏块,或CU的TU),且目的地装置14的视频解码器30可经配置以从视频编码器20(例如,从调制解调器28和接收器26)接收经编码视频数据。在任何情况下,视频编码器20和/或视频解码器30可经配置以通过使用视频数据的参考块产生正译码块的预测块来对特定视频数据块进行译码。
根据本发明的技术,作为一个实例,视频编码器20和/或视频解码器30可经配置以获得包括对应于块内的整数像素位置的整数像素值的像素块,且计算对应于与所述块相关联的子像素位置的子像素值。举例来说,为了计算子像素值,视频编码器20和/或视频解码器30可经配置以通过应用界定对应于块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值,且通过应用界定对应于块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。在此实例中,第一一维阵列可基于与块相关联的扫描次序经选择为包括比第二一维阵列多的滤波器系数。视频编码器20和/或视频解码器30可进一步经配置以基于所计算的子像素值中的一者或一者以上产生预测像素块。
在此实例中,第一组滤波器支持位置可包含相对于与块相关联的扫描次序平行布置的滤波器支持位置,且第二组滤波器支持位置可包含相对于扫描次序垂直布置的滤波器支持位置。
如本发明中使用,术语“滤波器系数的一维阵列”通常用于描述在视频数据的参考块内的像素数据的单一行或像素数据的单一列中具有对应滤波器支持位置的滤波器系数。术语“滤波器系数的二维阵列”通常用于描述在参考块内的像素数据的两个或两个以上行以及像素数据的两个或两个以上列中具有对应滤波器支持位置的滤波器系数。
在以上文描述的方式使用具有自适应分接头大小的低复杂性内插滤波器产生预测像素块或“预测块”之后,视频编码器20和/或视频解码器30可使用预测块对视频数据块进行译码。
以此方式,视频编码器20和/或视频解码器30可在使用根据与视频数据的参考块相关联的扫描次序定位(即,相对于扫描次序平行)的所述参考块的参考整数像素的值时使用相对较长内插滤波器来产生预测子像素值,且当使用未根据扫描次序定位(即,相对于扫描次序垂直定位)的所述参考块的参考整数像素的值时使用相对较短内插滤波器来产生预测子像素值。举例来说,如先前描述,与参考块相关联的扫描次序可对应于用于存储视频译码系统内的各种类型的视频数据块的整数像素和子像素值的扫描次序。在一些实例中,与参考块相关联的扫描次序可包括水平(例如,“光栅”)扫描次序或垂直(例如“旋转光栅”)扫描次序。在其它实例中,与参考块相关联的扫描次序可包括其它扫描次序。
在任何情况下,根据本发明的技术,当使用根据扫描次序定位的参考块的参考整数像素的值产生预测子像素值时,可使用较长内插滤波器,因为检索内插滤波器使用的参考整数像素值通常需要相对较少存储器读取循环。在此实例中,从系统存储器检索参考整数像素值通常需要比检索未根据扫描次序定位的相同数目的参考整数像素值少的存储器读取循环。以此方式,较长内插滤波器可包含相对较多滤波器系数,从而可能产生相对于使用相对较短内插滤波器产生的预测子像素值更好的预测子像素值。
对比之下,当使用未根据扫描次序定位(即,相对于扫描次序垂直)的参考块的参考整数像素的值产生预测子像素值时,可使用较短内插滤波器,因为检索内插滤波器使用的参考整数像素值通常需要较多存储器存取。在此实例中,从系统存储器检索参考整数像素值通常需要比检索根据扫描次序定位的相同数目的参考整数像素值多的存储器读取循环。因此,可使用包含相对较少滤波器系数的较短内插滤波器。使用较短内插滤波器可表示减小视频译码系统的复杂性和存储器存取次数与产生良好预测数据之间的合乎需要的折衷。举例来说,通过在此实例中使用包含较少滤波器系数的内插滤波器,本发明的技术使得能够使用具有减小的复杂性和减少的存储器存取次数的视频译码系统,同时产生充分良好的预测子像素值,如先前也描述。
根据本发明的技术,与较长内插滤波器相关联的参考块内的滤波器支持位置可相对于扫描次序平行布置,且与较短内插滤波器相关联的参考块内的滤波器支持位置可相对于扫描次序垂直布置。作为一个实例,当扫描次序包括水平(即,逐行)扫描次序时,与参考块内的水平滤波器支持位置相关联的内插滤波器可包括具有较多滤波器系数的相对较长内插滤波器,而与参考块内的垂直滤波器支持位置相关联的内插滤波器可包括具有较少滤波器系数的相对较短滤波器。类似地,作为另一实例,当扫描次序包括垂直(即,逐列)扫描次序时,与参考块内的垂直滤波器支持位置相关联的内插滤波器可包括具有较多滤波器系数的相对较长内插滤波器,而与参考块内的水平滤波器支持位置相关联的内插滤波器可包括具有较少滤波器系数的相对较短内插滤波器。
作为一个实例,当基于视频数据的正方形NxN参考块针对视频数据的经译码块产生预测块时,可使用较长内插滤波器来使用根据与参考块相关联的扫描次序定位的参考块的参考整数像素的值产生预测块的预测子像素值。此外,在此实例中,可使用较短内插滤波器来使用未根据扫描次序定位的参考块的参考整数像素的值产生预测块的预测子像素值。
如此实例说明,尽管使用相对较长内插滤波器可通常对于产生视频数据的经译码块的较好预测数据是有利的,但如先前描述,根据本发明的技术,在一些例子中可使用相对较长和相对较短内插滤波器来产生预测数据。换句话说,代替于始终使用最长可能内插滤波器(例如,具有对应于参考块的尺寸的长度的内插滤波器,或“N分接头”内插滤波器),本发明的技术提议在使用未根据扫描次序定位的参考块的参考整数像素的值产生预测块的预测子像素值时使用较短内插滤波器(例如,“(N-2)分接头”内插滤波器)。
举例来说,当NxN参考块包括视频数据的8x8块时,且当与参考块相关联的扫描次序包括水平扫描次序时,用于产生预测子像素值的水平内插滤波器可包含8个滤波器系数,而用于产生预测子像素的垂直内插滤波器可包含6个而非8个滤波器系数,作为一个实例。因此,垂直维度上的参考块的一些参考整数像素可不用于内插滤波以产生预测块的目的。作为另一实例,当基于视频数据的非正方形NxM参考块针对视频数据的经译码块产生预测块时,再次,可使用较长内插滤波器来使用根据与参考块相关联的扫描次序定位的参考块的参考整数像素的值产生预测块的预测子像素值。类似地,可使用较短内插滤波器来使用未根据扫描次序定位的参考块的参考整数像素的值产生预测块的预测子像素值。
如此实例说明,代替于始终使用最长可能内插滤波器(例如,具有对应于参考块的对应尺寸的长度的内插滤波器,即“N分接头”或“M分接头”内插滤波器),本发明的技术提议在使用未根据扫描次序定位或相对于扫描次序垂直定位的参考块的参考整数像素的值产生预测块的预测子像素值时使用较短内插滤波器。
以此方式,水平内插滤波器是否使用比垂直内插滤波器多的滤波器系数(或反之亦然)可基于参考块的扫描次序与例如块的形状对比来选择。此选择可例如经界定为视频译码标准的一部分,其中视频编码器和视频解码器两者根据所述标准执行内插滤波。在此实施方案中,视频编码器可确定且用信号发送针对相对于扫描次序平行的内插滤波器比针对相对于扫描次序垂直的内插滤波器多的滤波器系数。然而,在其它实施方案中,视频解码器可独立于标准操作,或可实施对标准的优化。在此实施方案中,视频编码器可确定且用信号发送针对相对于扫描次序垂直的内插滤波器的特定数目的滤波器系数,但视频解码器可能不应用所有用信号发送的滤波器系数。举例来说,对于相对于扫描次序垂直的内插滤波器,视频编码器可用信号发送8个滤波器系数,但视频解码器可仅存储和/或应用所述8个滤波器系数中的6个。
视频编码器20和视频解码器30各自可视需要实施为多种适宜的编码器或解码器电路的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包含在一个或一个以上编码器或解码器中,其任一者可集成作为组合式视频编码器/解码器(CODEC)的一部分。包含视频编码器20和/或视频解码器30的设备可包括集成电路、微处理器和/或无线通信装置(例如,蜂窝式电话)。
图2是说明根据本发明的技术可实施用于使用具有自适应分接头大小的低复杂性内插滤波器编码视频数据块的技术的视频编码器20的实例的框图。视频编码器20可执行视频帧内的块(包含宏块、CU和分区,或其子分区)的帧内和帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧内的视频中的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指代若干基于时间的压缩模式中的任一者。
如图2所示,视频编码器20接收待编码的视频帧内的当前视频数据块。在图2的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、存储器64、求和器50、变换模块52、量化单元54和熵编码单元56。对于视频块重建,视频编码器20还包含逆量化单元58、逆变换模块60和求和器62。还可包含解块滤波器(图2中未展示)以将块边界滤波,以从经重建的视频移除成块性假象。在需要时,解块滤波器将通常对求和器62的输出进行滤波。
在编码过程期间,视频编码器20接收待译码的视频帧或切片。帧或切片可划分为多个视频块。运动估计单元42和运动补偿单元44可执行给定所接收视频块相对于一个或一个以上参考帧中的一个或一个以上块的帧间预测译码以提供时间压缩。帧内预测模块46可执行给定所接收视频块相对于与待译码块相同的帧或切片中的一个或一个以上相邻块的帧内预测译码以提供空间压缩。
模式选择单元40可基于译码结果(例如,所得译码速率和失真水平)且基于包含正译码的给定所接收块的帧或切片的帧或切片类型选择译码模式中的一者(即,一个模式或多个帧内或帧间译码模式),且将所得帧内或帧间译码块提供到求和器50以产生残余块数据,并提供到求和器62以重建用于参考帧或参考切片中的经编码块。一般来说,帧内预测涉及相对于相邻先前译码块预测当前块,而帧间预测涉及运动估计和运动补偿以在时间上预测当前块。
运动估计单元42和运动补偿单元44表示视频编码器20的帧间预测元件。运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。运动估计是产生估计视频块的运动的运动向量的过程。运动向量(例如)可指示预测参考帧(或其它经译码单元)内的预测块相对于当前帧(或其它经译码单元)内正被译码的当前块的位移。预测块是经发现在像素差方面密切地匹配待译码的块的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定。运动向量还可指示块的分区的位移。运动补偿可涉及基于运动估计所确定的运动向量来获取或产生预测块。再次,在一些实例中,运动估计单元42和运动补偿单元44可功能上集成。
运动估计单元42可通过将经帧间译码帧的视频块与存储器64中的参考帧的视频块进行比较来计算所述视频块的运动向量。运动补偿单元44还可出于此比较的目的内插参考帧(例如,I帧或P帧)的子整数像素。作为一实例,ITU H.264标准描述两个列表:列表0,其包含具有早于正编码的当前帧的显示次序的参考帧;以及列表1,其包含具有迟于正编码的当前帧的显示次序的参考帧。因此,存储在存储器64中的数据可根据这些列表来组织。
运动估计单元42可将来自存储器64的一个或一个以上参考帧的块与当前帧(例如,P帧或B帧)的待编码块进行比较。当存储器64中的参考帧包含子整数像素的值时,运动估计单元42计算的运动向量可指代参考帧的子整数像素位置。运动估计单元42和/或运动补偿单元44还可经配置以在无子整数像素位置的值存储在存储器64中的情况下计算存储在存储器64中的参考帧的子整数像素位置的值。运动估计单元42可将所计算的运动向量发送到熵编码单元56和运动补偿单元44。运动向量识别的参考帧块可称为帧间预测块,或更一般地称为预测块。运动补偿单元44可基于预测块计算预测数据。
帧内预测模块46可对当前块进行帧内预测,作为对运动估计单元42和运动补偿单元44执行的帧间预测的替代,如上文描述。特定来说,帧内预测模块46可确定将用于编码当前块的帧内预测模式。在一些实例中,帧内预测模块46可例如在单独编码编次期间使用各种帧内预测模式编码当前块,且帧内预测模块46(或在一些实例中,模式选择单元40)可从所测试模式选择将使用的适当帧内预测模式。举例来说,帧内预测模块46可针对各种所测试帧内预测模式使用速率-失真分析计算速率-失真值,且在所测试模式中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析通常确定经编码块与曾经编码以产生经编码块的原始未经编码块之间的失真(或误差)量,以及用于产生经编码块的位速率(即,位数目)。帧内预测模块46可计算各个经编码块的失真与速率的比率以确定哪一帧内预测模式展现所述块的最佳速率-失真值。
在例如使用帧内预测或帧间预测预测当前块之后,视频编码器20可通过从正译码的原始视频块减去由运动补偿单元44或帧内预测模块46计算的预测数据来形成残余视频块。求和器50表示可执行此减法运算的组件。变换模块52可将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换模块52可执行其它变换,例如由H.264标准界定的变换(其概念上类似于DCT)。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换模块52可将所述变换应用于残余块,从而产生残余变换系数的块。所述变换可将残余信息从像素域转换到变换域(例如,频域)。量化单元54可量化残余变换系数以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。量化的程度可通过调整量化参数来修改。
量化之后,熵编码单元56可对经量化变换系数进行熵编码,这可包含使用CAVLC、CABAC、PIPE或另一熵译码方法。在由熵编码单元56熵译码之后,可将经编码的视频发射到另一装置或存档以供日后发射或检索。
在一些情况下,熵编码单元56或视频编码器20的另一单元可经配置以除如上所述对经量化变换系数进行熵译码外还执行其它译码功能。举例来说,熵编码单元56可用用于在经编码视频位流中发射的适当语法元素构成所述块(例如,宏块、CU或LCU)或含有所述块的视频帧的标头信息。根据一些译码标准,此类语法元素可包含用于产生块的预测数据的所述块的运动向量数据,如先前描述。同样如先前描述,运动向量数据可用于使用内插滤波器产生预测数据,这可增加在产生预测数据的过程中视频编码器20的复杂性和存储器存取次数。如此,本发明描述可在使用运动向量数据产生预测数据时减小视频编码器20的复杂性和存储器存取次数的技术。
如上所述,运动估计单元42可以分数像素(或“子像素”)精度执行视频数据块的运动估计。当运动估计单元42使用分数像素运动估计时,运动估计单元42可使用本发明描述的内插滤波技术以子像素分辨率(例如,对应于子像素的运动向量数据,或分数像素值)产生运动向量数据。换句话说,内插滤波技术可用于计算视频数据的参考块内的整数像素位置之间的位置处的值。位于参考块内的两个邻近整数像素位置中间的子像素位置可称为二分之一像素(或“二分之一pel”)位置,位于参考块内的整数像素位置与半像素位置中间的子像素位置可称为四分之一像素(或“四分之一pel”)位置,位于整数像素位置或二分之一像素位置与四分之一像素位置中间的子像素位置可称为八分之一像素(或“八分之一pel”)位置,等等。运动补偿单元44可又使用运动估计单元42产生的运动向量数据来产生预测块以执行正译码的视频数据块的运动补偿。运动估计单元42还可向待用于解码视频数据的经编码块的视频解码器(例如,视频解码器30)用信号发送运动向量数据。
在一些实例中,视频编码器20可经配置以编码某些视频数据块(例如,一个或一个以上宏块,或CU的TU)。举例来说,视频编码器20可经配置以通过使用视频数据的参考块产生正编码的特定视频数据块的预测块来编码所述特定视频数据块。
根据本发明的技术,作为一个实例,视频编码器20可经配置以获得包括对应于像素块内的整数像素位置的整数像素值的所述像素块,且计算对应于与所述块相关联的子像素位置的子像素值。举例来说,为了计算子像素值,视频编码器20可经配置以通过应用界定对应于块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值,且通过应用界定对应于块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。在此实例中,第一一维阵列可基于与块相关联的扫描次序经选择为包括比第二一维阵列多的滤波器系数。视频编码器20可进一步经配置以基于所计算的子像素值中的一者或一者以上产生预测像素块。在此实例中,第一组滤波器支持位置可包含相对于与块相关联的扫描次序平行布置的滤波器支持位置,且第二组滤波器支持位置可包含相对于扫描次序垂直布置的滤波器支持位置。
在一些实例中,第一组滤波器支持位置和第二组滤波器支持位置中的一者可包括布置在块内的共同行中的一组水平滤波器支持位置,且第一组滤波器支持位置和第二组滤波器支持位置中的另一者可包括布置在块内的共同列中的一组垂直滤波器支持位置。
在一个实例中,滤波器系数的第一一维阵列可包括8个系数,且滤波器系数的第二一维阵列可包括6个系数。类似地,在另一实例中,滤波器系数的第一一维阵列可包括8个系数,且滤波器系数的第二一维阵列可包括7个系数。
在其它实例中,第一组滤波器支持位置和第二组滤波器支持位置中的至少一者可对应于块内的一组整数像素位置。
在另外其它实例中,第一子像素和第二子像素中的至少一者可位于与块内的整数像素位置共同的水平轴以及与块内的整数像素位置共同的垂直轴中的一者上。
在另外其它实例中,可满足以下条件中的一者:(1)第一组滤波器支持位置中的滤波器支持位置的一者对应于块内对应于第二子像素值的子像素位置,以及(2)第二组滤波器支持位置中的滤波器支持位置的一者对应于块内对应于第一子像素值的子像素位置。
在一些实例中,视频编码器20可进一步经配置以编码一个或一个以上信令位,所述一个或一个以上信令位识别包含在第一和第二一维阵列的每一者内的若干滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
另外,为了计算对应于与块相关联的子像素位置的子像素值,视频编码器20可进一步经配置以通过应用界定对应于块内的一组二维滤波器支持位置的滤波器系数的二维阵列的第三内插滤波器来计算第三子像素值。滤波器系数的二维阵列的水平维度和垂直维度中的一者可基于与块相关联的扫描次序经选择为包括比二维阵列的水平维度和垂直维度中的另一者多的滤波器系数。在此实例中,经选择为包括较多滤波器系数的水平维度和垂直维度中的所述一者可相对于扫描次序平行。
在一个实例中,滤波器系数的二维阵列的水平维度和垂直维度中的所述一者可包括8个系数,且二维阵列的水平维度和垂直维度中的另一者可包括6个系数。类似地,在另一实例中,滤波器系数的二维阵列的水平维度和垂直维度中的所述一者可包括8个系数,且二维阵列的水平维度和垂直维度中的另一者可包括7个系数。
在一些实例中,视频编码器20可进一步经配置以编码一个或一个以上信令位,所述一个或一个以上信令位识别包含在二维阵列内的若干滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
最后,在以上文描述的方式使用具有自适应分接头大小的低复杂性内插滤波器产生预测像素块或“预测块”之后,视频编码器20可使用预测块编码视频数据块。举例来说,视频编码器20可进一步经配置以接收待编码的像素块,从待编码的像素块减去预测块以产生残余像素块,且编码所述残余块。
根据本发明的技术,逆量化单元58和逆变换模块60分别应用逆量化和逆变换来在像素域中重建残余块,例如以供稍后用作参考块。运动补偿单元44可通过将经重建残余块加上经运动补偿的预测块来计算参考块,且将所得参考块存储作为存储器64的帧中的一者。运动估计单元42和运动补偿单元44可随后例如通过将一个或一个以上内插滤波器应用于参考块以计算子整数像素值而使用所述参考块,以供以上文描述的方式进行运动估计和运动补偿。举例来说,求和器62将经重建残余块加上由运动补偿单元44产生的经运动补偿的预测块以产生用于存储在存储器64中的经重建视频块(即,参考块)。经重建的视频块可由运动估计单元42和运动补偿单元44用作用于对后续视频帧中的块进行帧间译码的参考块。
因此,本发明的技术可使视频编码器20能够在产生用于编码所述块的一个或一个以上视频数据块的预测数据时使用具有自适应分接头大小的低复杂性内插滤波器。以此方式,当使用本发明的技术时可存在视频编码器20的复杂性以及存储器存取次数的相对减小。
以此方式,视频编码器20表示视频译码器的实例,所述视频译码器经配置以获得包括对应于块内的整数像素位置的整数像素值的像素块,且计算对应于与所述块相关联的子像素位置的子像素值。为了计算子像素值,视频译码器经配置以通过应用界定对应于块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值,且通过应用界定对应于块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。第一一维阵列可基于与块相关联的扫描次序经选择为包括比第二一维阵列多的滤波器系数。视频编码器进一步经配置以基于所计算的子像素值中的一者或一者以上产生预测像素块。
图3是说明根据本发明的技术可实施用于使用具有自适应分接头大小的低复杂性内插滤波器解码视频数据块的技术的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测模块74、逆量化单元76、逆变换模块78、存储器82和求和器80。视频解码器30在一些实例中可执行一般与关于视频编码器20(图2)所描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据。
运动补偿单元72可使用位流中接收的运动向量来识别存储器82中的参考帧中的预测或“预测”块。帧内预测模块74可使用位流中接收的帧内预测模式来由空间上邻近的块形成预测块。
帧内预测模块74可使用经编码块的帧内预测模式的指示来例如使用相邻先前经解码块的像素对经编码块进行帧内预测。对于其中所述块经帧内预测模式编码的实例来说,运动补偿单元72可接收界定运动向量的信息以便检索经编码块的经运动补偿预测或“预测”数据。在任何情况下,运动补偿单元72或帧内预测模块74可将界定预测块的信息提供到求和器80。
逆量化单元76将提供于位流中且由熵解码单元70解码的经量化的块系数逆量化(即,解量化)。逆量化过程可包含例如由H.264解码标准界定或由HEVC测试模型执行的常规过程。逆量化过程还可包含使用每一块的由视频编码器20计算的量化参数QPY来确定量化程度以及同样确定应当应用的逆量化的程度。
逆变换单元78对变换系数应用逆变换(例如,逆DCT、逆整数变换,或概念上类似的逆变换过程),以便产生像素域中的残余块。根据本发明的技术,运动补偿单元72产生经运动补偿块,从而可能基于内插滤波器执行内插。在一些实例中,待用于以子像素精度进行运动估计的内插滤波器的识别符(例如,一个或一个以上信令位)可包含在语法元素中。在其它实例中,内插滤波器可具有视频编码器20和视频解码器30两者可用的静态特性。运动补偿单元72可使用如视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值,如先前描述。再次,在一些实例中,运动补偿单元72可根据所接收的语法信息确定视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测块。
运动补偿单元72使用经编码块的一些语法信息来确定用于编码经编码视频序列的帧的块的大小、描述经编码视频序列的帧或切片的每一块如何分割的分区信息、指示每一分区如何编码的模式、每一经帧间编码块或分区的一个或一个以上参考帧(和参考帧列表),以及用以解码经编码视频序列的其它信息。帧内预测模块74也可使用经编码块的语法信息来例如使用相邻的先前经解码块对经编码块进行帧内预测,如上文描述。
求和器80将残余块与运动补偿单元72或帧内预测模块74产生的对应预测块求和以形成经解码块。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块性假象。经解码视频块接着存储在存储器82中,其提供用于后续运动补偿的参考块且还产生用于呈现在显示装置(例如,图1的显示装置32)上的经解码视频。
在一些实例中,视频解码器30可经配置以解码特定视频数据块(例如,一个或一个以上宏块,或CU的TU)。举例来说,视频解码器30可经配置以通过使用视频数据的参考块产生正解码的特定视频数据块的预测块来解码所述特定视频数据块。根据本发明的技术,作为一个实例,视频解码器30可经配置以获得包括对应于像素块内的整数像素位置的整数像素值的所述像素块,且计算对应于与所述块相关联的子像素位置的子像素值。举例来说,为了计算子像素值,视频解码器30可经配置以通过应用界定对应于块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值,且通过应用界定对应于块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。在此实例中,第一一维阵列可基于与块相关联的扫描次序经选择为包括比第二一维阵列多的滤波器系数。视频解码器30可进一步经配置以基于所计算的子像素值中的一者或一者以上产生预测像素块。在此实例中,第一组滤波器支持位置可包含相对于与块相关联的扫描次序平行布置的滤波器支持位置,且第二组滤波器支持位置可包含相对于扫描次序垂直布置的滤波器支持位置。
在一些实例中,第一组滤波器支持位置和第二组滤波器支持位置中的一者可包括布置在块内的共同行中的一组水平滤波器支持位置,且第一组滤波器支持位置和第二组滤波器支持位置中的另一者可包括布置在块内的共同列中的一组垂直滤波器支持位置。
在一个实例中,滤波器系数的第一一维阵列可包括8个系数,且滤波器系数的第二一维阵列可包括6个系数。类似地,在另一实例中,滤波器系数的第一一维阵列可包括8个系数,且滤波器系数的第二一维阵列可包括7个系数。
在其它实例中,第一组滤波器支持位置和第二组滤波器支持位置中的至少一者可对应于块内的一组整数像素位置。
在另外其它实例中,第一子像素和第二子像素中的至少一者可位于与块内的整数像素位置共同的水平轴以及与块内的整数像素位置共同的垂直轴中的一者上。
在另外其它实例中,可满足以下条件中的一者:(1)第一组滤波器支持位置中的滤波器支持位置的一者对应于块内对应于第二子像素值的子像素位置,以及(2)第二组滤波器支持位置中的滤波器支持位置的一者对应于块内对应于第一子像素值的子像素位置。
在一些实例中,视频解码器30可进一步经配置以解码一个或一个以上信令位,所述一个或一个以上信令位识别包含在第一和第二一维阵列中的每一者内的若干滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
另外,为了计算对应于与块相关联的子像素位置的子像素值,视频解码器30可进一步经配置以通过应用界定对应于块内的一组二维滤波器支持位置的滤波器系数的二维阵列的第三内插滤波器来计算第三子像素值。滤波器系数的二维阵列的水平维度和垂直维度中的一者可基于与块相关联的扫描次序经选择为包括比二维阵列的水平维度和垂直维度中的另一者多的滤波器系数。在此实例中,经选择为包括较多滤波器系数的水平维度和垂直维度中的所述一者可相对于扫描次序平行。
在一个实例中,滤波器系数的二维阵列的水平维度和垂直维度中的所述一者可包括8个系数,且二维阵列的水平维度和垂直维度中的另一者可包括6个系数。类似地,在另一实例中,滤波器系数的二维阵列的水平维度和垂直维度中的所述一者可包括8个系数,且二维阵列的水平维度和垂直维度中的另一者可包括7个系数。
在一些实例中,视频解码器30可进一步经配置以解码一个或一个以上信令位,所述一个或一个以上信令位识别包含在二维阵列内的若干滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
最后,在以上文描述的方式使用具有自适应分接头大小的低复杂性内插滤波器产生预测像素块或“预测块”之后,视频解码器30可使用预测块解码视频数据块。举例来说,视频解码器30可进一步经配置以接收经编码的残余像素块,解码残余块,将经解码残余块加上预测块以产生经解码像素块。
以此方式,视频解码器30表示视频译码器的实例,所述视频译码器经配置以获得包括对应于块内的整数像素位置的整数像素值的像素块,且计算对应于与所述块相关联的子像素位置的子像素值。为了计算子像素值,视频译码器经配置以通过应用界定对应于块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值,且通过应用界定对应于块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。第一一维阵列可基于与块相关联的扫描次序经选择为包括比第二一维阵列多的滤波器系数。视频编码器进一步经配置以基于所计算的子像素值中的一者或一者以上产生预测像素块。
图4是说明针对视频数据块的与参考数据相关联的参考整数像素以及与经内插预测数据相关联的预测子像素的概念图。在图4的实例中,具有实线边界的框表示视频数据的参考块内的整数像素位置,且具有虚线边界的框表示视频数据的参考块内的预测子像素位置。大写字母(具有实线边界的框中)指示参考整数像素,而小写字母(具有虚线边界的框中)指示预测子像素。特定来说,像素A1-A8、B1-B8、C1-C8、D1-D8、E1-E8和F1-F8表示参考帧、片段或另一经译码单元的参考块内的整数像素的8X6(即,水平方向上8个像素且垂直方向上6个像素)阵列。子像素“a”到“o”表示与整数像素C4相关联的十五个子像素(即,位于整数像素C4、C5、D4与D5之间的十五个子像素)。可针对图4的其它整数像素位置以与上文描述但为简单起见未展示的大体类似的方式存在类似的子像素。在图4的实例中,子像素“a”到“o”表示与整数像素C4相关联的每个二分之一pel和四分之一pel像素。同样在图4中描绘的子像素“aa”到“ll”将在下文详细论述。
一般来说,每一整数像素可与物理传感器元件(例如,光电二极管)相关联,所述物理传感器元件用于产生相关联视频数据。光电二极管可测量传感器的对应于整数像素的位置的位置处的光源的强度,且使像素强度值(例如,像素值)与整数像素相关联。再次,每一整数像素可具有一组相关联的十五个(或可能更多)子像素。与特定整数像素相关联的子像素的数目可取决于用于产生预测数据的所要精度。在图4的实例中,所要精度为四分之一像素或四分之一pel精度,在此情况下,整数像素中的每一者对应于十五个子像素。更多或更少子像素可依据所要精度而与每一整数像素相关联,如先前描述。作为一个实例,对于二分之一像素或二分之一pel精度,每一整数像素可对应于三个子像素。举例来说,整数像素C4可对应于子像素“b”、“h”和“j”。作为另一实例,对于八分之一像素或八分之一pel精度,每一整数像素可对应于六十三个子像素(未图示)。
此外,每一整数像素和子像素可与一个或一个以上像素值(例如,一个或一个以上亮度和色度值)相关联。举例来说,如先前描述,在三维YCbCr彩色空间内,视频数据块的Y分量可表示亮度数据,且块的Cb和Cr分量可各自表示色度数据。因此,对于所述三维彩色空间,每一整数像素和子像素可与三个像素值(例如,Y、Cb和Cr值)相关联。然而,为简单起见,本发明的技术可提及产生相对于特定视频数据块的单一分量或“维度”的预测数据。在相对于一个分量或维度的像素值描述所述技术的程度上,类似技术可延伸到其它分量或维度。在一些情况下,视频数据块的色度数据可相对于块的亮度数据进行子取样。然而,本文描述的内插滤波技术可同等适用于视频数据块的亮度和色度数据,而不管相应数据如何取样。
在图4的实例中,针对四分之一像素精度的情况说明与整数像素C4相关联的子像素“a”到“o”。与整数像素C4相关联的十五个子像素标记为为“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”和“o”,如先前描述。为简单起见未展示与其它整数像素相关联的大多数其它分数位置。子像素“b”、“h”和“j”可称为二分之一像素,且子像素“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”和“o”可称为四分之一像素。此外,在本发明中,沿着与整数像素相同的水平轴定向的子像素可称为水平子像素。子像素“a”、“b”和“c”是水平子像素的实例。在与整数像素相同的垂直轴上定向的子像素可称为垂直子像素。子像素“d”、“h”和“l”是垂直子像素的实例。本发明的方面包含使用具有自适应分接头大小的低复杂性内插滤波器确定水平子像素和垂直子像素的像素值,且因此本发明可将水平子像素和垂直子像素统称为1L子像素。在本发明中,术语“1L”指示使用具有自适应分接头大小的单一低复杂性线性内插滤波器确定水平和垂直子像素的每一像素值。
类似地,在本发明中,与特定整数像素相关联的所有其它子像素可称为2L子像素。子像素“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”和“o”是2L子像素的实例。本发明的方面包含同样使用具有自适应分接头大小的低复杂性内插滤波器确定2L子像素的像素值。举例来说,使用两个可分离的具有自适应分接头大小的低复杂性线性内插滤波器确定2L子像素的每一像素值,一个在垂直方向上应用且一个在水平方向上应用,或使用具有自适应分接头大小的二维低复杂性线性内插滤波器。
视频编码器20的运动补偿单元44和/或视频解码器30的运动补偿单元72可使用本发明的内插滤波技术确定子像素“a”到“o”的像素值。对于二分之一像素“b”和“h”,也称为分接头的每一滤波器系数可分别对应于位于水平和垂直方向上的整数像素。特定来说,对于二分之一像素“b”,8分接头滤波器的分接头对应于整数像素C1-C8。同样,对于二分之一像素“h”,6分接头滤波器的分接头对应于整数像素A4、B4、C4、D4、E4和F4。举例来说,子像素“b”和“h”的像素值可使用等式(1)和(2)计算:
b=((-3*C1+12*C2-39*C3+158*C4+158*C5-39*C6+12*C7-3*C8)+128)/256 (1)
h=((12*A4-39*B4+158*C4+158*D4-39*E4+12*F4)+128)/256 (2)
在一些实施方案中,除以256可通过右移8位实施。与子像素“b”一样,对于四分之一像素“a”和“c”,8分接头滤波器的分接头对应于C1-C8,但不同于子像素“b”,滤波器系数可能非对称且与针对子像素“b”不同,如先前描述。举例来说,子像素“a”和“c”的像素值可使用等式(3)和(4)计算:
a=((-3*C1+12*C2-37*C3+229*C4+71*C5-21*C6+6*C7-C8)+128)/256 (3)
c=((-C1+6*C2-21*C3+71*C4+229*C5-37*C6+12*C7-3*C8)+128)/256 (4)
在一些实施方案中,除以256可通过右移8位实施。与子像素“h”一样,对于四分之一像素“d”和“l”,6分接头滤波器的分接头可对应于A4、B4、C4、D4、E4和F4,但不同于子像素“h”,滤波器系数可能非对称且与针对子像素“h”不同。举例来说,子像素“d”和“l”的像素值可使用等式(5)和(6)计算:
d=((12*A4-37*B4+229*C4+71*D4-21*E4+6*F4)+128)/256 (5)
l=((6*A4-21*B4+71*C4+229*D4-37*E4+12*F4)+128)/256 (6)
在一些实施方案中,除以256可通过右移8位实施。尽管针对以上等式(1)-(6)给定的实例系数通常针对水平子像素和垂直子像素两者使用相同系数,但不要求针对水平和垂直子像素的系数相同。举例来说,等式(1)和(2)、(3)和(5)以及(4)和(6)在以上实例中分别具有相同系数,但在一些实施方案中,各自可具有不同系数。
运动补偿单元44和运动补偿单元72还可使用本发明的内插滤波技术确定2L子像素“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”和“o”的像素值。对于2L子像素,水平滤波之后是垂直滤波,或反之亦然。第一滤波操作确定中间子像素值,且第二滤波操作利用中间子像素值来确定经内插子像素的像素值。举例来说,为确定子像素“j”的值,可使用六个8分接头水平滤波器来使用以下等式确定子像素“aa”、“bb”、“b”、“jj”、“kk”和“ll”的中间值:
aa=((A1+8*A2-40*A3+160*A4+160*A5-40*A6+8*A7+A8)+128)/256 (7)
bb=((B1+8*B2-40*B3+160*B4+160*B5-40*B6+8*B7+B8)+128)/256 (8)
b=((C1+8*C2-40*C3+160*C4+160*C5-40*C6+8*C7+C8)+128)/256 (9)
jj=((D1+8*D2-40*D3+160*D4+160*D5-40*D6+8*D7+D8)+128)/256 (10)
kk=((E1+8*E2-40*E3+160*E4+160*E5-40*E6+8*E7+E8)+128)/256 (11)
ll=((F1+8*F2-40*F3+160*F4+160*F5-40*F6+8*F7+F8)+128)/256 (12)
在一些实施方案中,除以256可通过右移8位实施。将6分接头垂直滤波器应用于以上中间值,可使用以下等式确定子像素“j”的值:
j=((8*aa-40*bb+160*b+160*jj-40*kk+8*ll)+128)/256 (13)
在一些实施方案中,除以256可通过右移8位实施。或者可使用八个6分接头垂直滤波器来找到子像素“cc”、“dd”、“ee”、“h”、“ff”、“gg”、“hh”和“ll”的中间值,且可将8分接头水平滤波器应用于那些中间值以确定子像素“j”的像素值。
类似于上文针对子像素“j”描述的程序,可通过首先执行六个8分接头水平滤波操作以确定子像素的中间值且接着将6分接头垂直滤波器应用于通过水平滤波确定的中间值,或通过首先执行八个6分接头垂直滤波操作以确定子像素的中间值且接着将8分接头水平滤波器应用于通过垂直滤波确定的中间值,来确定子像素“e”、“f”、“g”、“i”、“k”、“m”、“n”和“o”的像素值。虽然上文针对子像素“j”用作实例的水平和垂直滤波器两者使用对称系数,但用于确定其它2D子像素的像素值的水平或垂直滤波器中的一者或两者可能不是对称的。作为一个实例,针对子像素“e”、“g”、“m”和“o”的水平和垂直滤波器两者可能使用非对称系数。子像素“f”和“n”可使用具有对称系数的水平滤波器和具有非对称系数的垂直滤波器,且子像素“i”和“k”可使用具有非对称系数的水平滤波器和具有对称滤波器系数的垂直滤波器。
返回参看图2和3,由运动补偿单元42和/或运动补偿单元72应用以产生子像素位置处的经内插数据的实际滤波器可经受广泛种类的实施方案。作为一个实例,视频编码器20可将位流中的各种滤波器参数发射到视频解码器30,所述滤波器参数界定由视频编码器20向视频解码器30使用的滤波器的确切特性。作为另一实例,视频编码器20和视频解码器30两者可利用切换式滤波,其中视频编码器20和视频解码器30两者已知多个滤波器,且在位流中从视频编码器20向视频解码器30用信号发送待使用的特定滤波器的指示。作为又一实例,视频编码器20和视频解码器30两者可利用视频编码器20和视频解码器30两者已知的固定数目的滤波器,且基于语法信息或视频编码器20和视频解码器30中的相应一者的特性独立选择待使用的适当滤波器。在任何情况下,视频编码器20和/或视频解码器30可以符合本发明的技术的方式选择待使用的适当滤波器,即具有适当长度的滤波器。
运动补偿单元44和/或运动补偿单元72可在水平方向上以及垂直方向上使用可分离内插滤波器。对于1L子像素,运动补偿单元44和/或运动补偿单元72可依据子像素的位置仅应用水平方向滤波器或仅应用仅垂直方向滤波器。在一个实例中,水平方向滤波器包括8位置(或8分接头)滤波器,且垂直方向滤波器包括6位置(或6分接头)滤波器。运动补偿单元44和/或运动补偿单元72可使用整数像素C1-C8作为滤波器支持位置而针对子像素“a”、“b”和“c”应用水平方向滤波器,且使用整数像素A4、B4、C4、D4、E4和F4作为滤波器支持位置而针对子像素“d”、“h”和“l”应用垂直方向滤波器。对于剩余子像素(即,2L子像素),运动补偿单元44和/或运动补偿单元72可首先应用水平滤波,随后是垂直滤波,或首先应用垂直滤波,随后是水平滤波。针对2L子像素使用的水平滤波器中的每一者可能为8分接头滤波器,且针对2L子像素使用的垂直滤波器中的每一者可能为6分接头滤波器。
另外,运动补偿单元44和/或运动补偿单元72可使用单一二维“不可分离”内插滤波器来确定2L子像素的像素值。在此情况下,滤波器的水平维度可包括8个滤波器系数,且滤波器的垂直维度可包括6个滤波器系数。
尽管本发明描述8分接头滤波器和6分接头滤波器以及8和6系数滤波器维度(作为实例),但应注意,也可使用其它滤波器长度和维度且其在本发明的范围内。举例来说,8分接头滤波器可用于使用水平滤波器支持位置确定1L和2L子像素的像素值,而7分接头滤波器可用于使用垂直滤波器支持位置确定1L和2L子像素的像素值,或反之亦然,其中具有较长长度的滤波器对应于相对于与所述块相关联的扫描次序平行布置的滤波器支持位置。
此外,包括8个滤波器系数的具有水平维度的二维滤波器可用于使用水平滤波器支持位置确定2L子像素的像素值,而包括7个滤波器系数的具有垂直维度的滤波器可用于使用垂直滤波器支持位置确定2L子像素的像素值,或反之亦然,其中具有较长长度的滤波器的维度(或换句话说,包含最多滤波器系数的滤波器的维度)对应于相对于与所述块相关联的扫描次序平行布置的滤波器支持位置。类似地,具有较短长度的滤波器以及具有较短长度的滤波器的维度对应于相对于扫描次序垂直布置的滤波器支持位置。或者,在其它实例中,6分接头滤波器或6系数滤波器维度可用于使用水平滤波器支持位置确定1L和/或2L子像素的值,而4分接头滤波器和4系数滤波器维度可用于使用垂直滤波器支持位置确定1L和/或2L子像素的值,或反之亦然(以相同方式)。
图5是说明针对视频数据块的与参考数据相关联的参考整数像素以及与经内插预测数据相关联的水平和垂直“1L”预测子像素的概念图。如先前参看图4描述,子像素“a”、“b”、“c”、“d”、“h”和“i”可称为1L子像素。另外,子像素“a”、“b”和“c”可称为水平1L子像素,且子像素“d”、“h”和“l”可称为垂直1L子像素。
图6是说明针对视频数据块的与参考数据相关联的参考整数像素以及与经内插预测数据相关联的非水平和非垂直“2L”预测子像素的概念图。如先前参看图4描述,子像素“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”和“o”可称为2L子像素。
图7是说明具有系数对称性的8分接头内插滤波器的概念图。图7展示相对于子像素位置(子像素“b”)的八个水平滤波器支持位置(整数像素C1-C8)。在图7中,整数像素的阴影指示对应系数与对应于其它非阴影整数像素的系数之间的对称性。特定来说,子像素“b”左侧的整数像素的阴影指示对应系数相对于对应于子像素“b”右侧的非阴影整数像素的系数为对称的。在图7的实例中,系数对称性意味着仅需要对应于整数像素C1-C4的四个滤波器系数以便使用整数像素C1-C8作为滤波器支持位置界定用于内插子像素“b”的内插滤波器的一组完整滤波器系数。举例来说,对应于整数像素C1的系数相对于对应于整数像素C8的系数对称,对应于整数像素C2的系数相对于对应于整数像素C7的系数对称,对应于整数像素C3的系数相对于对应于整数像素C6的系数对称,且对应于整数像素C4的系数相对于对应于整数像素C5的系数对称。因此,仅四个系数需要由视频编码器20用信号发送到视频解码器30作为经编码视频位流的一部分,或存储在视频编码器20和视频解码器30本地,以便界定内插子像素“b”所需的所述组完整八个滤波器系数。剩余系数可基于所传送或存储的系数在视频解码器30处(且在一些情况下在视频编码器20处)产生。特定来说,视频编码器20和/或视频解码器30可经编程以检测系数对称性是存在的,且基于所传送或存储的系数产生任何剩余系数。
图8是说明不具有系数对称性的8分接头内插滤波器的概念图。图8展示相对于子像素位置(子像素“a”)的八个水平滤波器支持位置(整数像素C1-C8)。归因于缺乏系数对称性,需要传送对应于整数像素C1-C8的八个滤波器系数以便使用整数像素C1-C8作为滤波器支持位置界定用于内插子像素“a”的内插滤波器的一组完整滤波器系数。然而,系数对称性仍可适用,因为经导出用于内插子像素“a”的相同滤波器系数可用于内插子像素“c”(如图4和5所示)。举例来说,对应于整数像素C1-C8的用于内插子像素“a”的八个滤波器系数可用于通过“翻转”所述系数而内插子像素“c”,使得当内插子像素“a”时对应于整数像素C1的系数可为当内插子像素“c”时对应于整数像素C8的系数,当内插子像素“a”时对应于整数像素C2的系数可为当内插子像素“c”时对应于整数像素C7的系数,当内插子像素“a”时对应于整数像素C3的系数可为当内插子像素“c”时对应于整数像素C6的系数,且当内插子像素“a”时对应于整数像素C4的系数可为当内插子像素“c”时对应于整数像素C5的系数。因此,再次,仅八个系数需要由视频编码器20传送到视频解码器30作为经编码视频位流的一部分,或存储在视频编码器20和视频解码器30本地,以便界定内插子像素“a”和子像素“c”的每一者所需的所述组完整八个滤波器系数。剩余系数可基于所传送或存储的系数在视频解码器30处(且在一些情况下在视频编码器20处)产生。特定来说,视频编码器20和/或视频解码器30可经编程以检测系数对称性是存在的,且基于所传送或存储的系数例如通过如所描述那样翻转系数而产生任何剩余系数。
图7和8的实例说明水平内插滤波器的实例。图7和8的内插滤波器各自包含相对于子像素位置(即,子像素“b”或“a”)对应于视频数据的参考块(例如,图4中描绘的参考块)内的八个水平滤波器支持位置(整数像素C1-C8)的八个滤波器系数。
图9是说明具有系数对称性的6分接头内插滤波器的概念图。图9展示相对于子像素位置(子像素“h”)的六个垂直滤波器支持位置(整数像素A4、B4、C4、D4、E4和F4)。再次,在图9的实例中,系数对称性意味着仅需要对应于整数像素A4、B4和C4的三个滤波器系数以便使用整数像素A4、B4、C4、D4、E4和F4作为滤波器支持位置界定用于内插子像素“h”的内插滤波器的一组完整滤波器系数。举例来说,对应于整数像素A4的系数相对于对应于整数像素F4的系数对称,对应于整数像素B4的系数相对于对应于整数像素E4的系数对称,且对应于整数像素C4的系数相对于对应于整数像素D4的系数对称。因此,仅三个系数需要由视频编码器20传送到视频解码器30作为经编码视频位流的一部分,或存储在视频编码器20和视频解码器30本地,以便界定内插子像素“h”所需的所述组完整六个滤波器系数。剩余系数可基于所传送或存储的系数在视频解码器30处(且在一些情况下在视频编码器20处)产生。特定来说,视频编码器20和/或视频解码器30可经编程以检测系数对称性是存在的,且基于所传送或存储的系数产生任何剩余系数。
图10是说明不具有系数对称性的6分接头内插滤波器的概念图。图10展示相对于子像素位置(子像素“d”)的六个垂直滤波器支持位置(整数像素A4、B4、C4、D4、E4和F4)。再次,需要对应于整数像素A4、B4、C4、D4、E4和F4的所有六个滤波器系数以便使用整数像素A4、B4、C4、D4、E4和F4作为滤波器支持位置界定用于内插子像素“d”的内插滤波器的一组完整滤波器系数。然而,系数对称性仍可适用,因为经导出用于内插子像素“d”的相同滤波器系数可用于内插子像素“l”(如图4和5所示)。举例来说,对应于整数像素A4、B4、C4、D4、E4和F4的用于内插子像素“d”的六个滤波器系数可用于通过“翻转”所述系数而内插子像素“l”,使得当内插子像素“d”时对应于整数像素A4的系数可为当内插子像素“l”时对应于整数像素F4的系数,当内插子像素“d”时对应于整数像素B4的系数可为当内插子像素“l”时对应于整数像素E4的系数,且当内插子像素“d”时对应于整数像素C4的系数可为当内插子像素“l”时对应于整数像素D4的系数。因此,再次,仅六个系数需要由视频编码器20传送到视频解码器30作为经编码视频位流的一部分,或存储在视频编码器20和视频解码器30本地,以便界定内插子像素“d”和子像素“l”的每一者所需的所述组完整六个滤波器系数。剩余系数可基于所传送或存储的系数在视频解码器30处(且在一些情况下在视频编码器20处)产生。特定来说,视频编码器20和/或视频解码器30可经编程以检测系数对称性是存在的,且基于所传送或存储的系数例如通过如所描述那样翻转系数而产生任何剩余系数。
图9和10的实例说明垂直内插滤波器的实例。图9和10的内插滤波器各自包含相对于子像素位置(即,子像素“h”或“d”)对应于视频数据的参考块(例如,图4中描绘的参考块)内的六个垂直滤波器支持位置(整数像素A4、B4、C4、D4、E4和F4)的六个滤波器系数。
图11是说明根据本发明的技术使用具有自适应分接头大小的低复杂性内插滤波器编码视频数据块的方法的实例的流程图。图11的技术可通常由任何处理单元或处理器执行,不论实施在硬件、软件、固件还是其组合中,且当实施在软件或固件中时,可提供对应的硬件来执行针对软件或固件的指令。出于实例的目的,参考视频编码器20(图1和2)描述图11的技术,但应理解,其它装置可经配置以执行类似技术。此外,图11中说明的步骤可以不同次序或并行执行,且可添加额外步骤以及省略某些步骤,而不脱离本发明的技术。
视频编码器20可编码一个或一个以上视频数据块。初始地,在一些实例中,视频编码器20可获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值(1100)。举例来说,所述块可为宏块,或CU的TU,如先前描述。同样如先前描述,像素块可包括用于产生用于编码特定视频数据块的预测块的视频数据的参考块。
视频编码器20可进一步通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值(1102)。另外,视频编码器20可进一步通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。第一一维阵列可基于与所述块相关联的扫描次序而经选择以包括比第二一维阵列多的滤波器系数(1104)。
视频编码器20可进一步基于所计算的子像素值中的一者或一者以上产生预测像素块(1106)。举例来说,预测像素块可称为“预测块”,且可用于编码如上所述的视频数据块。
在一些实例中,视频编码器20可进一步接收待编码的像素块,从所述待编码的像素块减去预测块以产生残余像素块,且编码所述残余块(1108)。举例来说,所述待编码的像素块也可为宏块,或CU的TU,同样如先前描述。
最后,在一些实例中,视频编码器20可编码一个或一个以上信令位,所述一个或一个以上信令位识别包含在所述第一和第二一维阵列的每一者内的若干滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值(1110)。
以此方式,图11的方法表示一种对视频数据块进行译码的方法的实例,其包含:获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;计算对应于与所述块相关联的子像素位置的子像素值,其中计算所述子像素值包含:通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值;以及通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值,其中所述第一一维阵列基于与所述块相关联的扫描次序而经选择以包括比所述第二一维阵列多的滤波器系数;以及基于所计算的子像素值中的一者或一者以上产生预测像素块。
图12是说明根据本发明的技术使用具有自适应分接头大小的低复杂性内插滤波器解码视频数据块的方法的实例的流程图。图12的技术可通常由任何处理单元或处理器执行,不论实施在硬件、软件、固件还是其组合中,且当实施在软件或固件中时,可提供对应的硬件来执行针对软件或固件的指令。出于实例的目的,参考视频解码器30(图1和3)描述图12的技术,但应理解,其它装置可经配置以执行类似技术。此外,图12中说明的步骤可以不同次序或并行执行,且可添加额外步骤以及省略某些步骤,而不脱离本发明的技术。
视频解码器30可解码一个或一个以上视频数据块。初始地,在一些实例中,视频解码器30可解码一个或一个以上信令位,所述一个或一个以上信令位识别包含在滤波器系数的所述第一和第二一维阵列中的每一者内的若干滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值(1200)。
视频解码器30可进一步获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值(1202)。举例来说,所述块可为宏块,或CU的TU,如先前描述。同样如先前描述,像素块可包括用于产生用于解码特定视频数据块的预测块的视频数据的参考块。
视频解码器30可进一步通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值(1204)。另外,视频解码器30可进一步通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值。第一一维阵列可基于与所述块相关联的扫描次序而经选择以包括比第二一维阵列多的滤波器系数(1206)。
视频解码器30可进一步基于所计算的子像素值中的一者或一者以上产生预测像素块(1208)。举例来说,预测像素块可称为“预测块”,且可用于解码如上所述的视频数据块。
最后,在一些实例中,视频解码器30可接收经编码的残余像素块,解码所述残余块,且将所述经解码残余块加上所述预测块以产生经解码像素块(1210)。举例来说,所述经解码像素块也可为宏块,或CU的TU,同样如先前描述。
以此方式,图12的方法表示一种对视频数据块进行译码的方法的实例,其包含:获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;计算对应于与所述块相关联的子像素位置的子像素值,其中计算所述子像素值包含:通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值;以及通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值,其中所述第一一维阵列基于与所述块相关联的扫描次序而经选择以包括比所述第二一维阵列多的滤波器系数;以及基于所计算的子像素值中的一者或一者以上产生预测像素块。
在一个或一个以上实例中,所描述的功能可实施在硬件、软件、固件或其任何组合中。如果实施于软件中,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或在计算机可读媒体上发射且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体;或通信媒体,其包含促进例如根据通信协议将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM,或其它光盘存储装置、磁盘存储装置,或其它磁性存储装置、快闪存储器,或可用于存储指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是改为针对非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常利用磁性再现数据,而光盘使用激光以光学方式再现数据。上文的组合也应包含在计算机可读媒体的范围内。
指令可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器执行。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供在经配置以用于编码和解码的专门硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可实施在广泛种类的装置或设备中,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,而不必要求由不同硬件单元实现。事实上,如上所述,各个单元可组合在编解码器硬件单元中,或由包含如上文描述的一个或一个以上处理器的互操作硬件单元的集合与适宜的软件和/或固件结合而提供。
已描述各个实例。这些及其它实例属于所附权利要求书的范围内。
Claims (65)
1.一种对视频数据块进行译码的方法,所述方法包括:
获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;
计算对应于与所述块相关联的子像素位置的子像素值,其中计算所述子像素值包括:
通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值;以及
通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值,
其中所述第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比所述第二一维阵列多的滤波器系数,以及
基于所述所计算的子像素值中的一者或一者以上产生预测像素块。
2.根据权利要求1所述的方法,其中所述第一组滤波器支持位置包括相对于所述扫描次序平行布置的滤波器支持位置,且其中所述第二组滤波器支持位置包括相对于所述扫描次序垂直布置的滤波器支持位置。
3.根据权利要求1所述的方法,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的一者包括布置在所述块内的共同行中的一组水平滤波器支持位置,且所述第一组滤波器支持位置和所述第二组滤波器支持位置的另一者包括布置在所述块内的共同列中的一组垂直滤波器支持位置。
4.根据权利要求1所述的方法,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括6个系数。
5.根据权利要求1所述的方法,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括7个系数。
6.根据权利要求1所述的方法,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的至少一者对应于所述块内的一组整数像素位置。
7.根据权利要求1所述的方法,其中所述第一子像素和所述第二子像素中的至少一者位于与所述块内的整数像素位置共同的水平轴以及与所述块内的整数像素位置共同的垂直轴中的一者上。
8.根据权利要求1所述的方法,其中满足以下条件中的一者:
所述第一组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第二子像素值的子像素位置;以及
所述第二组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第一子像素值的子像素位置。
9.根据权利要求1所述的方法,其进一步包括:
对一个或一个以上信令位进行译码,所述一个或一个以上信令位识别包含在所述第一和第二一维阵列中的每一者内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
10.根据权利要求1所述的方法,其中计算对应于与所述块相关联的所述子像素位置的所述子像素值进一步包括:
通过应用界定对应于所述块内的一组二维滤波器支持位置的滤波器系数的二维阵列的第三内插滤波器来计算第三子像素值,
其中滤波器系数的所述二维阵列的水平维度和垂直维度中的一者是基于与所述块相关联的所述扫描次序经选择为包括比所述二维阵列的所述水平维度和所述垂直维度中的另一者多的滤波器系数。
11.根据权利要求10所述的方法,其中经选择为包括较多滤波器系数的所述水平维度和所述垂直维度中的所述一者相对于所述扫描次序平行。
12.根据权利要求10所述的方法,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括6个系数。
13.根据权利要求10所述的方法,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括7个系数。
14.根据权利要求10所述的方法,其进一步包括:
对一个或一个以上信令位进行译码,所述一个或一个以上信令位识别包含在所述二维阵列内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
15.根据权利要求1所述的方法,其中所述方法形成视频编码过程的一部分,其中所述像素块包括参考像素块,且其中所述方法进一步包括:
接收待编码的像素块,其中所述待编码的像素块不同于所述参考像素块;
从所述待编码的像素块减去所述预测块以产生残余像素块;以及
编码所述残余块。
16.根据权利要求1所述的方法,其中所述方法形成视频解码过程的一部分,其中所述像素块包括参考像素块,且其中所述方法进一步包括:
接收经编码的残余像素块;
解码所述残余块;以及
将所述经解码残余块加上所述预测块以产生经解码像素块,其中所述经解码像素块不同于所述参考像素块。
17.一种用于对视频数据块进行译码的设备,所述设备包括视频译码器,所述视频译码器经配置以:
获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;
计算对应于与所述块相关联的子像素位置的子像素值,其中为了计算所述子像素值,所述视频译码器经配置以:
通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值;以及
通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值,
其中所述第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比所述第二一维阵列多的滤波器系数,以及
基于所述所计算的子像素值中的一者或一者以上产生预测像素块。
18.根据权利要求17所述的方法,其中所述第一组滤波器支持位置包括相对于与所述块相关联的扫描次序平行布置的滤波器支持位置,且所述第二组滤波器支持位置包括相对于所述扫描次序垂直布置的滤波器支持位置。
19.根据权利要求17所述的设备,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的一者包括布置在所述块内的共同行中的一组水平滤波器支持位置,且所述第一组滤波器支持位置和所述第二组滤波器支持位置的另一者包括布置在所述块内的共同列中的一组垂直滤波器支持位置。
20.根据权利要求17所述的设备,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括6个系数。
21.根据权利要求17所述的设备,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括7个系数。
22.根据权利要求17所述的设备,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的至少一者对应于所述块内的一组整数像素位置。
23.根据权利要求17所述的设备,其中所述第一子像素和所述第二子像素中的至少一者位于与所述块内的整数像素位置共同的水平轴以及与所述块内的整数像素位置共同的垂直轴中的一者上。
24.根据权利要求17所述的设备,其中满足以下条件中的一者:
所述第一组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第二子像素值的子像素位置;以及
所述第二组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第一子像素值的子像素位置。
25.根据权利要求17所述的设备,其中所述视频译码器进一步经配置以:
对一个或一个以上信令位进行译码,所述一个或一个以上信令位识别包含在所述第一和第二一维阵列中的每一者内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
26.根据权利要求17所述的设备,其中为了计算对应于与所述块相关联的所述子像素位置的所述子像素值,所述视频译码器进一步经配置以:
通过应用界定对应于所述块内的一组二维滤波器支持位置的滤波器系数的二维阵列的第三内插滤波器来计算第三子像素值,
其中滤波器系数的所述二维阵列的水平维度和垂直维度中的一者是基于与所述块相关联的所述扫描次序经选择为包括比所述二维阵列的所述水平维度和所述垂直维度中的另一者多的滤波器系数。
27.根据权利要求26所述的设备,其中经选择为包括较多滤波器系数的所述水平维度和所述垂直维度中的所述一者相对于所述扫描次序平行。
28.根据权利要求26所述的设备,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括6个系数。
29.根据权利要求26所述的设备,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括7个系数。
30.根据权利要求26所述的设备,其中所述视频译码器进一步经配置以:
对一个或一个以上信令位进行译码,所述一个或一个以上信令位识别包含在所述二维阵列内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
31.根据权利要求17所述的设备,其中所述视频译码器包括视频编码器,其中所述像素块包括参考像素块,且其中所述视频编码器进一步经配置以:
接收待编码的像素块,其中所述待编码的像素块不同于所述参考像素块;
从所述待编码的像素块减去所述预测块以产生残余像素块;以及
编码所述残余块。
32.根据权利要求17所述的设备,其中所述视频译码器包括视频解码器,其中所述像素块包括参考像素块,且其中所述视频解码器进一步经配置以:
接收经编码的残余像素块;
解码所述残余块;以及
将所述经解码残余块加上所述预测块以产生经解码像素块,其中所述经解码像素块不同于所述参考像素块。
33.根据权利要求17所述的设备,其中所述设备包括以下至少一者:
集成电路;
微处理器;以及
包含所述视频译码器的无线通信装置。
34.一种用于对视频数据块进行译码的装置,所述装置包括:
用于获得像素块的装置,所述像素块包括对应于所述块内的整数像素位置的整数像素值;
用于计算对应于与所述块相关联的子像素位置的子像素值的装置,其中所述用于计算所述子像素值的装置包括:
用于通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值的装置;以及
用于通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值的装置,
其中所述第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比所述第二一维阵列多的滤波器系数,以及用于基于所述所计算的子像素值中的一者或一者以上产生预测像素块的装置。
35.根据权利要求34所述的装置,其中所述第一组滤波器支持位置包括相对于所述扫描次序平行布置的滤波器支持位置,且其中所述第二组滤波器支持位置包括相对于所述扫描次序垂直布置的滤波器支持位置。
36.根据权利要求34所述的装置,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的一者包括布置在所述块内的共同行中的一组水平滤波器支持位置,且所述第一组滤波器支持位置和所述第二组滤波器支持位置的另一者包括布置在所述块内的共同列中的一组垂直滤波器支持位置。
37.根据权利要求34所述的装置,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括6个系数。
38.根据权利要求34所述的装置,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括7个系数。
39.根据权利要求34所述的装置,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的至少一者对应于所述块内的一组整数像素位置。
40.根据权利要求34所述的装置,其中所述第一子像素和所述第二子像素中的至少一者位于与所述块内的整数像素位置共同的水平轴以及与所述块内的整数像素位置共同的垂直轴中的一者上。
41.根据权利要求34所述的装置,其中满足以下条件中的一者:
所述第一组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第二子像素值的子像素位置;以及
所述第二组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第一子像素值的子像素位置。
42.根据权利要求34所述的装置,其进一步包括:
用于对一个或一个以上信令位进行译码的装置,所述一个或一个以上信令位识别包含在所述第一和第二一维阵列中的每一者内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
43.根据权利要求34所述的装置,其中所述用于计算对应于与所述块相关联的所述子像素位置的所述子像素值的装置进一步包括:
用于通过应用界定对应于所述块内的一组二维滤波器支持位置的滤波器系数的二维阵列的第三内插滤波器来计算第三子像素值的装置,
其中滤波器系数的所述二维阵列的水平维度和垂直维度中的一者是基于与所述块相关联的所述扫描次序经选择为包括比所述二维阵列的所述水平维度和所述垂直维度中的另一者多的滤波器系数。
44.根据权利要求43所述的装置,其中经选择为包括较多滤波器系数的所述水平维度和所述垂直维度中的所述一者相对于所述扫描次序平行。
45.根据权利要求43所述的装置,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括6个系数。
46.根据权利要求43所述的装置,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括7个系数。
47.根据权利要求43所述的装置,其进一步包括:
用于对一个或一个以上信令位进行译码的装置,所述一个或一个以上信令位识别包含在所述二维阵列内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
48.根据权利要求34所述的装置,其中所述装置用作视频编码过程的一部分,其中所述像素块包括参考像素块,且其中所述装置进一步包括:
用于接收待编码的像素块的装置,其中所述待编码的像素块不同于所述参考像素块;
用于从所述待编码的像素块减去所述预测块以产生残余像素块的装置;以及
用于编码所述残余块的装置。
49.根据权利要求34所述的装置,其中所述装置用作视频解码过程的一部分,其中所述像素块包括参考像素块,且其中所述装置进一步包括:
用于接收经编码的残余像素块的装置;
用于解码所述残余块的装置;以及
用于将所述经解码残余块加上所述预测块以产生经解码像素块的装置,其中所述经解码像素块不同于所述参考像素块。
50.一种包括指令的计算机可读存储媒体,所述指令当执行时致使处理器对视频数据块进行译码,其中所述指令致使所述处理器:
获得像素块,所述像素块包括对应于所述块内的整数像素位置的整数像素值;
计算对应于与所述块相关联的子像素位置的子像素值,其中所述致使所述处理器计算所述子像素值的指令包括致使所述处理器进行以下操作的指令:
通过应用界定对应于所述块内的第一组滤波器支持位置的滤波器系数的第一一维阵列的第一内插滤波器来计算第一子像素值;以及
通过应用界定对应于所述块内的第二组滤波器支持位置的滤波器系数的第二一维阵列的第二内插滤波器来计算第二子像素值,
其中所述第一一维阵列是基于与所述块相关联的扫描次序而经选择以包括比所述第二一维阵列多的滤波器系数,以及
基于所述所计算的子像素值中的一者或一者以上产生预测像素块。
51.根据权利要求50所述的计算机可读存储媒体,其中所述第一组滤波器支持位置包括相对于所述扫描次序平行布置的滤波器支持位置,且所述第二组滤波器支持位置包括相对于所述扫描次序垂直布置的滤波器支持位置。
52.根据权利要求50所述的计算机可读存储媒体,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的一者包括布置在所述块内的共同行中的一组水平滤波器支持位置,且所述第一组滤波器支持位置和所述第二组滤波器支持位置的另一者包括布置在所述块内的共同列中的一组垂直滤波器支持位置。
53.根据权利要求50所述的计算机可读存储媒体,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括6个系数。
54.根据权利要求44所述的计算机可读存储媒体,其中:
滤波器系数的所述第一一维阵列包括8个系数;且
滤波器系数的所述第二一维阵列包括7个系数。
55.根据权利要求50所述的计算机可读存储媒体,其中所述第一组滤波器支持位置和所述第二组滤波器支持位置的至少一者对应于所述块内的一组整数像素位置。
56.根据权利要求50所述的计算机可读存储媒体,其中所述第一子像素和所述第二子像素中的至少一者位于与所述块内的整数像素位置共同的水平轴以及与所述块内的整数像素位置共同的垂直轴中的一者上。
57.根据权利要求50所述的计算机可读存储媒体,其中满足以下条件中的一者:
所述第一组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第二子像素值的子像素位置;以及
所述第二组滤波器支持位置中的所述滤波器支持位置的一者对应于所述块内对应于所述第一子像素值的子像素位置。
58.根据权利要求50所述的计算机可读存储媒体,其进一步包括致使所述处理器进行以下操作的指令:
对一个或一个以上信令位进行译码,所述一个或一个以上信令位识别包含在所述第一和第二一维阵列中的每一者内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
59.根据权利要求50所述的计算机可读存储媒体,其中所述致使所述处理器计算对应于与所述块相关联的所述子像素位置的所述子像素值的指令进一步包括致使所述处理器进行以下操作的指令:
通过应用界定对应于所述块内的一组二维滤波器支持位置的滤波器系数的二维阵列的第三内插滤波器来计算第三子像素值,
其中所述二维阵列的水平维度和垂直维度中的一者是基于与所述块相关联的所述扫描次序经选择为包括比所述二维阵列的所述水平维度和所述垂直维度中的另一者多的滤波器系数。
60.根据权利要求59所述的计算机可读存储媒体,其中经选择为包括较多滤波器系数的所述水平维度和所述垂直维度中的所述一者相对于所述扫描次序平行。
61.根据权利要求59所述的计算机可读存储媒体,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括6个系数。
62.根据权利要求59所述的计算机可读存储媒体,其中:
滤波器系数的所述二维阵列的所述水平维度和所述垂直维度中的所述一者包括8个系数;且
所述二维阵列的所述水平维度和所述垂直维度中的所述另一者包括7个系数。
63.根据权利要求59所述的计算机可读存储媒体,其进一步包括致使所述处理器进行以下操作的指令:
对一个或一个以上信令位进行译码,所述一个或一个以上信令位识别包含在所述二维阵列内的若干所述滤波器系数中的一者或一者以上,以及所述滤波器系数中的每一者的值。
64.根据权利要求50所述的计算机可读存储媒体,其中所述计算机可读存储媒体用作视频编码过程的一部分,且其中所述像素块包括参考像素块,所述计算机可读存储媒体进一步包括致使所述处理器进行以下操作的指令:
接收待编码的像素块,其中所述待编码的像素块不同于所述参考像素块;
从所述待编码的像素块减去所述预测块以产生残余像素块;以及
编码所述残余块。
65.根据权利要求50所述的计算机可读存储媒体,其中所述计算机可读存储媒体用作视频解码过程的一部分,且其中所述像素块包括参考像素块,所述计算机可读存储媒体进一步包括致使所述处理器进行以下操作的指令:
接收经编码的残余像素块;
解码所述残余块;以及
将所述经解码残余块加上所述预测块以产生经解码像素块,其中所述经解码像素块不同于所述参考像素块。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161430101P | 2011-01-05 | 2011-01-05 | |
US61/430,101 | 2011-01-05 | ||
US13/342,901 | 2012-01-03 | ||
US13/342,901 US9172972B2 (en) | 2011-01-05 | 2012-01-03 | Low complexity interpolation filtering with adaptive tap size |
PCT/US2012/020217 WO2012094414A1 (en) | 2011-01-05 | 2012-01-04 | Low complexity interpolation filtering with adaptive tap size |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103339939A true CN103339939A (zh) | 2013-10-02 |
CN103339939B CN103339939B (zh) | 2016-08-24 |
Family
ID=46380765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280007575.5A Active CN103339939B (zh) | 2011-01-05 | 2012-01-04 | 具有自适应分接头大小的低复杂性内插滤波 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9172972B2 (zh) |
EP (1) | EP2661888A1 (zh) |
JP (1) | JP5805787B2 (zh) |
KR (1) | KR101547742B1 (zh) |
CN (1) | CN103339939B (zh) |
BR (1) | BR112013017273A2 (zh) |
WO (1) | WO2012094414A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106464863A (zh) * | 2014-04-01 | 2017-02-22 | 联发科技股份有限公司 | 视频编码中自适应内插滤波的方法 |
CN113228637A (zh) * | 2018-12-17 | 2021-08-06 | 北京字节跳动网络技术有限公司 | 依赖于形状的插值滤波器 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9503750B2 (en) | 2011-11-04 | 2016-11-22 | Futurewei Technologies, Inc. | Binarization of prediction residuals for lossless video coding |
KR20130050149A (ko) | 2011-11-07 | 2013-05-15 | 오수미 | 인터 모드에서의 예측 블록 생성 방법 |
AU2011253779A1 (en) * | 2011-12-01 | 2013-06-20 | Canon Kabushiki Kaisha | Estimation of shift and small image distortion |
GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
WO2014178563A1 (ko) * | 2013-04-29 | 2014-11-06 | 인텔렉추얼 디스커버리 주식회사 | 인트라 예측 방법 및 장치 |
US20150016533A1 (en) * | 2013-07-12 | 2015-01-15 | Qualcomm Incorporated | Intra motion compensation extensions |
GB2516426B (en) * | 2013-07-17 | 2015-10-07 | Gurulogic Microsystems Oy | Encoder, decoder and method of operation using interpolation |
GB201318087D0 (en) * | 2013-10-11 | 2013-11-27 | Canon Kk | Video encoding and decoding |
US10461980B2 (en) * | 2015-04-02 | 2019-10-29 | Lg Electronics Inc. | Method for processing signal in wireless communication system and device therefor |
KR102402671B1 (ko) | 2015-09-09 | 2022-05-26 | 삼성전자주식회사 | 보간 필터의 연산 복잡도를 조절할 수 있는 영상 처리 장치, 영상 보간 방법 및 영상 부호화 방법 |
EP3348058B1 (en) | 2015-09-25 | 2021-09-15 | Huawei Technologies Co., Ltd. | Adaptive sharpening filter for predictive coding |
WO2017052409A1 (en) * | 2015-09-25 | 2017-03-30 | Huawei Technologies Co., Ltd. | Apparatus and method for video motion compensation with selectable interpolation filter |
MX2018003688A (es) | 2015-09-25 | 2018-08-01 | Huawei Tech Co Ltd | Aparato y metodo para compensacion de movimiento de video. |
MY197611A (en) | 2015-09-25 | 2023-06-28 | Huawei Tech Co Ltd | Apparatus and method for video motion compensation |
CN108141603B (zh) | 2015-09-25 | 2020-12-15 | 华为技术有限公司 | 视频编解码方法及视频编解码器 |
US10116957B2 (en) * | 2016-09-15 | 2018-10-30 | Google Inc. | Dual filter type for motion compensated prediction in video coding |
US10455253B1 (en) * | 2017-02-28 | 2019-10-22 | Google Llc | Single direction long interpolation filter |
EP3879826B1 (en) * | 2017-05-31 | 2022-08-03 | LG Electronics Inc. | Method and device for performing image decoding on basis of intra prediction in image coding system |
US10841610B2 (en) * | 2017-10-23 | 2020-11-17 | Avago Technologies International Sales Pte. Limited | Block size dependent interpolation filter selection and mapping |
KR102357142B1 (ko) * | 2017-11-07 | 2022-02-08 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터 |
KR102683411B1 (ko) | 2018-10-05 | 2024-07-10 | 삼성전자주식회사 | 복조 대비 성능을 향상시키기 위한 픽셀 구조를 포함하는 이미지 센서 및 이미지 처리 시스템 |
CA3115194C (en) * | 2018-10-06 | 2024-03-05 | Huawei Technologies Co., Ltd. | Method and apparatus for intra prediction using an interpolation filter |
WO2020115355A1 (en) * | 2018-12-04 | 2020-06-11 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
US11363306B2 (en) * | 2019-04-05 | 2022-06-14 | Comcast Cable Communications, Llc | Methods, systems, and apparatuses for processing video by adaptive rate distortion optimization |
US20220224925A1 (en) | 2019-07-09 | 2022-07-14 | Alibaba Group Holding Limited | Resolution-adaptive video coding |
JP7448641B2 (ja) | 2019-09-27 | 2024-03-12 | オッポ広東移動通信有限公司 | 現在のブロックの予測方法及び予測装置、デバイス、記憶媒体 |
WO2021126017A2 (en) * | 2020-04-29 | 2021-06-24 | Huawei Technologies Co., Ltd. | Method and apparatus of subsample interpolation filtering |
CN112540635B (zh) * | 2020-12-03 | 2021-08-17 | 华润三九(枣庄)药业有限公司 | 一种基于人工智能的中药生产智能质量控制系统 |
US11562460B1 (en) | 2021-06-25 | 2023-01-24 | Meta Platforms, Inc. | High performance hardware scaler |
US11968356B2 (en) * | 2022-03-16 | 2024-04-23 | Qualcomm Incorporated | Decoder-side motion vector refinement (DMVR) inter prediction using shared interpolation filters and reference pixels |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1666429A (zh) * | 2002-07-09 | 2005-09-07 | 诺基亚有限公司 | 用于在视频编码中选择插值滤波器类型的方法和系统 |
CN101179726A (zh) * | 2007-12-12 | 2008-05-14 | 北京中星微电子有限公司 | 一种运动估计方法及装置 |
CN101663898A (zh) * | 2007-04-19 | 2010-03-03 | 松下电器产业株式会社 | 二维自适应内插滤波器的滤波系数决定方法 |
US20100123824A1 (en) * | 2008-10-10 | 2010-05-20 | Noriaki Wada | Signal processing apparatus, signal processing method, and program for signal processing |
CN101822061A (zh) * | 2007-10-11 | 2010-09-01 | 松下电器产业株式会社 | 视频编码方法以及视频解码方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4120301B2 (ja) | 2002-04-25 | 2008-07-16 | ソニー株式会社 | 画像処理装置およびその方法 |
EP1746839A1 (en) | 2005-07-22 | 2007-01-24 | Thomson Licensing | Method and apparatus for encoding video data |
WO2007072644A1 (ja) * | 2005-12-19 | 2007-06-28 | Matsushita Electric Industrial Co., Ltd. | 2次元フィルタ演算装置及び方法 |
JP2008113106A (ja) | 2006-10-30 | 2008-05-15 | Victor Co Of Japan Ltd | 動きベクトル検出装置及び動きベクトル検出プログラム |
CN101543081B (zh) | 2006-11-30 | 2012-02-22 | 株式会社Ntt都科摩 | 动态图像编码装置、动态图像编码方法、动态图像解码装置、动态图像解码方法 |
AU2008306503A1 (en) * | 2007-10-05 | 2009-04-09 | Nokia Corporation | Video coding with pixel-aligned directional adaptive interpolation filters |
US9077971B2 (en) | 2008-04-10 | 2015-07-07 | Qualcomm Incorporated | Interpolation-like filtering of integer-pixel positions in video coding |
US8831086B2 (en) | 2008-04-10 | 2014-09-09 | Qualcomm Incorporated | Prediction techniques for interpolation in video coding |
US20090257499A1 (en) | 2008-04-10 | 2009-10-15 | Qualcomm Incorporated | Advanced interpolation techniques for motion compensation in video coding |
US8462842B2 (en) | 2008-04-10 | 2013-06-11 | Qualcomm, Incorporated | Symmetry for interpolation filtering of sub-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 |
EP2136565A1 (en) | 2008-06-19 | 2009-12-23 | Thomson Licensing | Method for determining a filter for interpolating one or more pixels of a frame, method for encoding or reconstructing a frame and method for transmitting a frame |
US8811484B2 (en) | 2008-07-07 | 2014-08-19 | Qualcomm Incorporated | Video encoding by filter selection |
ES2568503T3 (es) | 2008-10-31 | 2016-04-29 | Orange | Método y sistema de predicción de imagen |
WO2010063881A1 (en) | 2008-12-03 | 2010-06-10 | Nokia Corporation | Flexible interpolation filter structures for video coding |
US20120069906A1 (en) | 2009-06-09 | 2012-03-22 | Kazushi Sato | Image processing apparatus and method (as amended) |
EP2262267A1 (en) | 2009-06-10 | 2010-12-15 | Panasonic Corporation | Filter coefficient coding scheme for video coding |
KR101682147B1 (ko) | 2010-04-05 | 2016-12-05 | 삼성전자주식회사 | 변환 및 역변환에 기초한 보간 방법 및 장치 |
US9219921B2 (en) | 2010-04-12 | 2015-12-22 | Qualcomm Incorporated | Mixed tap filters |
-
2012
- 2012-01-03 US US13/342,901 patent/US9172972B2/en active Active
- 2012-01-04 BR BR112013017273A patent/BR112013017273A2/pt not_active IP Right Cessation
- 2012-01-04 CN CN201280007575.5A patent/CN103339939B/zh active Active
- 2012-01-04 EP EP12700584.1A patent/EP2661888A1/en not_active Ceased
- 2012-01-04 WO PCT/US2012/020217 patent/WO2012094414A1/en active Application Filing
- 2012-01-04 KR KR1020137020268A patent/KR101547742B1/ko active IP Right Grant
- 2012-01-04 JP JP2013548486A patent/JP5805787B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1666429A (zh) * | 2002-07-09 | 2005-09-07 | 诺基亚有限公司 | 用于在视频编码中选择插值滤波器类型的方法和系统 |
CN101663898A (zh) * | 2007-04-19 | 2010-03-03 | 松下电器产业株式会社 | 二维自适应内插滤波器的滤波系数决定方法 |
CN101822061A (zh) * | 2007-10-11 | 2010-09-01 | 松下电器产业株式会社 | 视频编码方法以及视频解码方法 |
CN101179726A (zh) * | 2007-12-12 | 2008-05-14 | 北京中星微电子有限公司 | 一种运动估计方法及装置 |
US20100123824A1 (en) * | 2008-10-10 | 2010-05-20 | Noriaki Wada | Signal processing apparatus, signal processing method, and program for signal processing |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106464863A (zh) * | 2014-04-01 | 2017-02-22 | 联发科技股份有限公司 | 视频编码中自适应内插滤波的方法 |
US10321151B2 (en) | 2014-04-01 | 2019-06-11 | Mediatek Inc. | Method of adaptive interpolation filtering in video coding |
CN106464863B (zh) * | 2014-04-01 | 2019-07-12 | 联发科技股份有限公司 | 视频编码中自适应内插滤波的方法 |
US10986365B2 (en) | 2014-04-01 | 2021-04-20 | Mediatek Inc. | Method of adaptive interpolation filtering in video coding |
CN113228637A (zh) * | 2018-12-17 | 2021-08-06 | 北京字节跳动网络技术有限公司 | 依赖于形状的插值滤波器 |
Also Published As
Publication number | Publication date |
---|---|
KR101547742B1 (ko) | 2015-08-26 |
EP2661888A1 (en) | 2013-11-13 |
WO2012094414A1 (en) | 2012-07-12 |
US20120170650A1 (en) | 2012-07-05 |
JP2014502822A (ja) | 2014-02-03 |
CN103339939B (zh) | 2016-08-24 |
KR20130105904A (ko) | 2013-09-26 |
BR112013017273A2 (pt) | 2016-10-25 |
US9172972B2 (en) | 2015-10-27 |
JP5805787B2 (ja) | 2015-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103339939A (zh) | 具有自适应分接头大小的低复杂性内插滤波 | |
CN103190147B (zh) | 用于视频译码的语法元素的联合译码方法及设备 | |
CN104937936B (zh) | 用于视频译码的方法和装置 | |
CN103141100B (zh) | 用于视频译码的帧内平滑滤波器 | |
CN103039074B (zh) | Gpb帧中的双向运动向量的联合译码 | |
CN103299620B (zh) | 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码 | |
CN104272742B (zh) | 加权预测参数译码 | |
CN103238322A (zh) | 在视频译码中单独地译码视频块的最后有效系数的位置 | |
CN103238323A (zh) | 在视频译码中基于视频块的扫描次序对块内的最后有效系数的位置进行译码 | |
CN105359532A (zh) | 帧内运动补偿延伸 | |
CN104509113A (zh) | 视频压缩中的变换跳过模式 | |
CN104969552A (zh) | 存储减少的帧内预测模式决策 | |
CN103202016A (zh) | 用于视频译码的自适应运动向量分辨率信令 | |
CN103262533A (zh) | 指示用于视频译码的帧内预测模式选择 | |
CN103959775A (zh) | 帧内模式视频译码 | |
CN103597832A (zh) | 用于使用相邻模式的视频译码的增强的帧内预测模式信令 | |
CN103329523A (zh) | 使用经映射变换和扫描模式的视频译码 | |
CN104025603A (zh) | 最后有效系数的位置的渐进式译码 | |
CN104221380A (zh) | 用于并行运动估计的共同空间候选块 | |
CN103999460A (zh) | 在变换跳过模式中译码有效系数信息 | |
CN104012096A (zh) | 执行视频译码的运动向量预测 | |
CN104509111A (zh) | 样本自适应偏移(sao)译码 | |
CN105075259A (zh) | 用于视频译码预测的存储器减少 | |
CN104137546A (zh) | 用信号发送用于视频译码的量化矩阵 | |
CN103299628A (zh) | 指示使用cabac用于视频译码的帧内预测模式选择 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |