CN102835108B - 混合分接头滤波器 - Google Patents

混合分接头滤波器 Download PDF

Info

Publication number
CN102835108B
CN102835108B CN201180018697.XA CN201180018697A CN102835108B CN 102835108 B CN102835108 B CN 102835108B CN 201180018697 A CN201180018697 A CN 201180018697A CN 102835108 B CN102835108 B CN 102835108B
Authority
CN
China
Prior art keywords
sub
filter
interpolation filter
pixel
pixel position
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
Application number
CN201180018697.XA
Other languages
English (en)
Other versions
CN102835108A (zh
Inventor
拉詹·L·乔希
马尔塔·卡切维奇
钱威俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102835108A publication Critical patent/CN102835108A/zh
Application granted granted Critical
Publication of CN102835108B publication Critical patent/CN102835108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

在视频编码及/或解码过程的预测阶段期间,视频译码器可将相对较长的滤波器用于指向特定子像素位置的特定运动向量且将相对较短的滤波器用于指向其它子像素位置的运动向量,其中较长的滤波器大体上指代具有较大数目的滤波器系数(也称为分接头)的内插滤波器,而较短的滤波器大体上指代具有较少分接头的内插滤波器。

Description

混合分接头滤波器
本申请案主张以下申请案的权益:2010年4月12日申请的第61/323,250号美国临时申请案;2010年6月2日申请的第61/350,743号美国临时申请案;及2010年7月2日申请的第61/361,188号美国临时申请案,所述申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及数字视频编码及解码,且更特定来说,涉及经应用以产生视频编码及解码中所使用的预测性数据的滤波技术。
背景技术
数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板型计算机、数字相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、智能电话及其类似者。数字视频装置实施视频压缩技术,例如在由MPEG-2、MPEG-4、或ITU-TH.264/MPEG-4第10部分(高级视频译码(AVC))定义的标准中所描述的视频压缩技术,以较有效地发射及接收数字视频信息。视频压缩技术可执行空间预测及/或时间预测以减少或移除视频序列中所固有的冗余。
基于块的帧间译码为非常有用的译码技术,其依赖于时间预测以减少或移除视频序列的连续经译码的单元的视频块之间的时间冗余。所述经译码的单元可包含视频帧、视频帧的片段(slice)、图片的群组或经编码的视频块的另一经定义的单元。对于帧间译码来说,视频编码器执行运动估计及运动补偿以追踪两个或两个以上邻近经译码的单元的对应视频块的移动。运动估计产生运动向量,其指示视频块相对于一个或一个以上参考帧或其它经译码的单元中的对应预测视频块的位移。运动补偿使用所述运动向量以从所述一个或一个以上参考帧或其它经译码的单元产生预测视频块。在运动补偿后,通过从正译码的原始视频块减去预测视频块来形成残余视频块。
视频编码器还可应用变换、量化及熵译码过程来进一步减少与残余块的通信相关联的位率。变换技术可包含离散余弦变换(DCT)或概念上类似的过程。或者,可使用小波变换、整数变换或其它类型的变换。在DCT过程中,作为实例,将一组像素值转换成变换系数,其可表示所述像素值在频域中的能量。将量化应用于变换系数,且量化大体上涉及减少与任何给定变换系数相关联的位的数目的过程。熵译码包含共同地压缩一序列译码模式、运动信息、经译码的块模式及经量化的变换系数的一个或一个以上过程。熵译码的实例包括(但不限于)内容自适应可变长度译码(CAVLC)及上下文自适应二进制算术译码(CABAC)。
经译码的视频块可通过可用以产生或识别预测性块的预测信息及指示正译码的块与所述预测性块之间的差异的残余数据块来表示。所述预测信息可包含用以识别预测性数据块的一个或一个以上运动向量。在给定运动向量的情况下,解码器能够重建构用以将残余译码的预测性块。因此,在给定残余块的集合及运动向量的集合(且可能给定一些额外语法)的情况下,解码器可重建构原始编码的视频帧。基于运动估计及运动补偿的帧间译码可实现极好的压缩,这是因为连续视频帧或其它类型的经译码的单元通常非常类似。经编码的视频序列可包含残余数据块、运动向量且可能包含其它类型的语法。
已开发出内插技术以便改良可在帧间译码中实现的压缩的等级。在此种状况下,可从运动估计中所使用的视频帧或其它经译码的单元的视频块的像素来内插在运动补偿期间所产生的预测性数据(其用以将视频块译码)。通常执行内插以产生预测性半像素(半pel)值及预测性四分之一像素(四分之一pel)值。半像素及四分之一像素值与子像素位置相关联。可使用分数运动向量以子像素分辨率来识别视频块以便俘获视频序列中的分数移动,且借此提供比整体视频块更类似于正译码的视频块的预测性块。
发明内容
大体来说,本发明描述在视频编码及/或解码过程的预测阶段期间由编码器及解码器应用的滤波技术。所描述的滤波技术的方面可增强在分数内插期间所使用的预测性数据的准确度,且在一些状况下,可改良像素的整体块的预测性数据。存在针对本发明的若干方面,包括使用用于指向特定子像素位置的特定运动向量的相对较长滤波器及用于指向其它子位置位置的运动向量的相对较短滤波器。
为了设计具有良好频率响应的滤波器以实现内插目的,可能需要使用相对较长滤波器(例如,替代6个系数或分接头而使用8个系数或分接头)。所述较长滤波器可以较大计算复杂性为代价来改良视频译码器的压缩效率。为了获得较长滤波器情况下的较佳性能的益处而无计算复杂性的大的增加,本发明中所描述的技术包括使用长滤波器与短滤波器的混合体。举例来说,如果运动向量指向需要单一滤波的位置,则可使用8分接头滤波器。对于需要两个滤波操作的位置来说,可使用6分接头滤波器。因此,最坏状况下的复杂性仍由6分接头滤波器进行的两个滤波操作限制,此情形与在H.264标准的状况下相同,但与H.264标准相比,使用8分接头滤波器可产生经改良的预测性数据。
本发明的其它方面涉及用于将位串流中的信息编码以传达滤波器的类型及可能所使用的滤波器系数的技术。本发明的这些及其它方面将通过以下描述而变得显而易见。
在一个实例中,本发明提供一种方法,所述方法包括:获得一像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;计算第一子像素位置的第一子像素值,其中计算所述第一子像素值包含应用第一内插滤波器,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列;计算第二子像素位置的第二子像素值,其中计算所述第二子像素值包含应用第二内插滤波器及应用第三内插滤波器,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列,其中:所述第一一维阵列包含比所述第二一维阵列多的滤波器系数;所述第一一维阵列包含比所述第三一维阵列多的滤波器系数;及基于至少所述第一子像素值及所述第二子像素值来产生预测块。
在另一实例中,本发明提供一种设备,所述设备包括预测单元,所述预测单元经配置以进行以下操作:获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;计算第一子像素值及第二子像素值,其中第一子像素值是通过应用第一内插滤波器而计算,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列;第二子像素值是通过应用第二内插滤波器及应用第三内插滤波器来计算,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列;所述第一一维阵列包含比所述第二一维阵列多的滤波器系数;所述第一一维阵列包含比所述第三一维阵列多的滤波器系数;及基于至少所述第一子像素值及所述第二子像素值来产生预测块。
在另一实例中,本发明提供一种设备,所述设备包括:用于获得像素块的装置,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;用于计算第一子像素位置的第一子像素值的装置,其中计算所述第一子像素值包含应用第一内插滤波器,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列;用于计算第二子像素位置的第二子像素值的装置,其中计算所述第二子像素值包含应用第二内插滤波器及应用第三内插滤波器,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列,其中:所述第一一维阵列包含比所述第二一维阵列多的滤波器系数;所述第一一维阵列包含比所述第三一维阵列多的滤波器系数;及用于基于至少所述第一子像素值及所述第二子像素值来产生预测块的装置。
本发明中所描述的技术可以硬件、软件、固件、或其任何组合来实施。如果以软件实施,则可在一个或一个以上处理器(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP))中执行软件。执行所述技术的软件可最初存储于计算机可读媒体中且加载于处理器中且在处理器中执行。
因此,本发明还预期一种有形地存储一个或一个以上指令的非暂时性计算机可读存储媒体,所述一个或一个以上指令在由一个或一个以上处理器执行时使所述一个或一个以上处理器进行以下操作:获得一像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;计算第一子像素位置的第一子像素值,其中计算所述第一子像素值包含应用第一内插滤波器,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列;计算第二子像素位置的第二子像素值,其中计算所述第二子像素值包含应用第二内插滤波器及应用第三内插滤波器,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列,其中:所述第一一维阵列包含比所述第二一维阵列多的滤波器系数;所述第一一维阵列包含比所述第三一维阵列多的滤波器系数;及基于至少所述第一子像素值及所述第二子像素值来产生预测块。
本发明的一个或一个以上方面的细节阐述于随附图式及以下描述中。所述技术的其它特征、目标及优势将通过所述描述及图式且通过权利要求书显而易见。
附图说明
图1为说明可实施本发明的技术的一个示范性视频编码及解码系统的框图。
图2为说明与本发明一致的可执行滤波技术的视频编码器的实例的框图。
图3为说明与预测数据相关联的整数像素位置及与经内插的预测数据相关联的子像素位置的概念图。
图4为说明与预测数据相关联的整数像素位置及与经内插的预测数据相关联的垂直子像素位置及水平子像素位置的概念图。
图5为说明与预测数据相关联的整数像素位置及与经内插的预测数据相关联的非垂直且非水平子像素2L子像素位置的概念图。
图6为说明关于子像素位置的具有系数对称性的水平8像素滤波器支持的概念图。
图7为说明关于子像素位置的不具有系数对称性的水平8像素滤波器支持的概念图。
图8为说明关于子像素位置的具有系数对称性的垂直8像素滤波器支持的概念图。
图9为说明关于子像素位置的不具有系数对称性的垂直8像素滤波器支持的概念图。
图10为说明视频解码器的实例的框图,所述视频解码器可解码以本文中所描述的方式编码的视频序列。
图11为用于说明与本发明一致的用于滤波器发信号的技术的流程图。
图12为用于说明与本发明一致的用于滤波器发信号的技术的流程图。
图13为用于说明与本发明一致的用于滤波器发信号的技术的流程图。
图14为用于说明与本发明一致的用于滤波器发信号的技术的流程图。
图15为用于说明与本发明一致的用于内插滤波的技术的流程图。
具体实施方式
本发明描述在视频编码及/或解码过程的预测阶段期间由编码器及解码器应用的滤波技术。所描述的滤波技术可改良分数内插期间所使用的预测性数据的准确度,且在一些状况下,可改良整体像素块的预测性数据。存在针对本发明的若干方面,包括用于指向特定子像素位置的特定运动向量的相对较长滤波器及用于指向其它子像素位置的运动向量的相对较短滤波器的使用。较长滤波器大体上指代具有较大数目个滤波器系数(也称为分接头)的内插滤波器,而较短滤波器大体上指代具有较少分接头的内插滤波器。大体来说,词组“较长滤波器”及“较短滤波器”为意味着较长滤波器比较短滤波器长且较短滤波器比较长滤波器短的相对术语。然而,这些词组并不另外需要任何特定长度,只要较长滤波器比较短滤波器长且较短滤波器比较长滤波器短即可。举例来说,如果参考8分接头滤波器及6分接头滤波器,则8分接头滤波器将为较长滤波器,且6分接头滤波器将为较短滤波器。然而,如果参考8分接头滤波器及10分接头滤波器,则8分接头滤波器将为较短滤波器。
与具有较少分接头的滤波器相比,具有较多分接头的滤波器大体上提供较佳频率响应以实现内插目的。举例来说,具有8个分接头的滤波器大体上产生比具有6个分接头的滤波器好的频率响应。与较短滤波器相比,较长滤波器可以较大计算复杂性为代价来改良视频译码器的压缩效率。为了获得在较长滤波器情况下的较佳性能的益处而无计算复杂性的大的增加,本发明的方面包括使用长滤波器与短滤波器的混合体。举例来说,如果运动向量指向需要单一滤波操作的子像素位置,则可使用8分接头滤波器。对于需要两个滤波操作的子像素位置来说,可使用较短滤波器(例如,两个6分接头滤波器)。因此,只要较短滤波器与较长滤波器之间的分接头数目的差异不会过大,则最坏状况下的复杂性仍大体上由较短滤波器进行的两个滤波器操作来限制。
图1为说明可用以实施本发明的方面的一个示范性视频编码及解码系统10的框图。如图1中所展示,系统10包括源装置12,所述源装置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可包括例如摄像机的视频俘获装置、含有先前所俘获视频的视频档案或来自视频内容提供者的视频馈送。作为另一替代例,视频源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对个别视频帧内的视频块操作,以便将视频数据编码。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小方面不同。每一视频帧包括一系列片段。每一片段可包括可布置成子块的一系列宏块。作为一实例,ITU-T H.264标准支持各种块大小(例如,针对明度分量的16×16、8×8、4×4,及针对色度分量的8×8)的帧内预测,以及各种块大小(例如,针对明度分量的16×16、16×8、8×16、8×8、8×4、4×8及4×4及针对色度分量的对应按比例调整的大小)的帧间预测。举例来说,视频块可包含像素数据的块或在变换过程(例如,离散余弦变换(DCT)或概念上类似的变换过程)后的变换系数的块。
较小视频块可提供较佳分辨率,且可用于包括高层级细节的视频帧的定位。大体来说,可将宏块及各种子块视为视频块。另外,可将一片段视为一系列视频块(例如,宏块及/或子块)。每一片段可为视频帧的可独立解码的单元。或者,帧自身可为可解码单元,或帧的其它部分可被定义为可解码单元。术语“经译码的单元”指代视频帧的任何可独立解码的单元,例如,整个帧、帧的片段或根据所使用的译码技术定义的另一可独立解码的单元。
为了将视频块编码,视频编码器22执行帧内预测或帧间预测以产生预测块。视频编码器22从待编码的原始视频块减去预测块以产生残余块。因此,残余块指示正译码的块与预测块之间的差异。视频编码器22可对残余块执行变换以产生变换系数的块。在基于帧内或基于帧间的预测性译码及变换技术之后,视频编码器22执行量化。量化大体上指代将系数量化以可能地减少用以表示所述系数的数据的量的过程。在量化之后,可根据熵译码方法(例如,上下文自适应可变长度译码(CAVLC)或上下文自适应二进制算术译码(CABAC))来执行熵译码。以下将在图2中更详细地描述由视频编码器22执行的编码过程的每一步骤的更多细节。
在目的地装置16中,视频解码器28接收经编码的视频数据。视频解码器28根据熵译码方法(例如,CAVLC或CABAC)对所接收视频数据进行熵解码以获得经量化的系数。视频解码器28应用逆量化(解量化)及逆变换功能以在像素域中重建构残余块。视频解码器28还基于经编码的视频数据中所包括的控制信息或语法信息(例如,译码模式、运动向量、定义滤波器系数的语法及其类似者)来产生预测块。视频解码器28对预测块与经重建构的残余块求和以产生经重建构的视频块以供显示。下文将参看图10更详细地描述由视频解码器28执行的解码过程的每一步骤的更多细节。
根据本发明的方面,视频编码器22及视频解码器28可在运动补偿期间使用一种或一种以上内插滤波技术。确切地说,根据本发明的一个方面,视频编码器22及/或视频解码器28可获得含有对应于整数像素位置的整数像素值的像素块且使用较长滤波器及较短像素的混合体来确定所述像素块的子像素值。
图2为说明与本发明一致的可执行滤波技术的视频编码器50的实例的框图。视频编码器50为本文中称为“译码器”的专用视频计算机装置或设备的一个实例。视频编码器50可对应于装置20的视频编码器22,或不同装置的视频编码器。视频编码器50可执行视频帧内的块的帧内及帧间译码,但为了说明的容易性起见未在图2中展示帧内译码组件。帧内译码依赖于空间预测来减少或移除给定视频帧内的视频的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧内的视频的时间冗余。帧内模式(I模式)可指代基于空间的压缩模式,且例如预测(P模式)或双向(B模式)的帧间模式可指代基于时间的压缩模式。本发明的技术在帧间译码期间应用,且因此为了说明的简单及容易性起见,未在图2中说明例如空间预测单元等帧内译码单元。
如图2中所展示,视频编码器50接收视频帧内的待编码的视频块。在图2的实例中,视频编码器50包括预测单元32、存储器34、加法器48、变换单元38、量化单元40及熵译码单元46。对于视频块重建构来说,视频编码器50还包括逆量化单元42、逆变换单元44及加法器51。还可包括解块滤波器(图中未绘示)来对块边界进行滤波,从而从经重建构的视频移除块效应假影。如果需要,解块滤波器通常将对加法器51的输出进行滤波。
预测单元32可包括运动估计(ME)单元35及运动补偿(MC)单元37。根据本发明,滤波器单元39可包括于预测单元32中且可由ME单元35及MC单元37中的一者或两者调用以执行内插或类内插滤波作为运动估计及/或运动补偿的部分。滤波器单元39可实际上表示多个不同滤波器以促进如本文中所描述的众多不同类型的内插及内插类型的滤波。因此,预测单元32可包括多个内插或类内插滤波器。另外,滤波器单元39可包括用于多个子像素位置的多个滤波器索引。滤波器索引使位模式及子像素位置与特定内插滤波器相关联。在编码过程期间,视频编码器50接收待译码的视频块(在图2中标记为“视频块”),且预测单元32执行帧间预测译码以产生预测块(在图2中标记为“预测块”)。具体来说,ME单元35可执行运动估计以识别存储器34中的预测块,且MC单元37可执行运动补偿以产生预测块。
通常将运动估计视为产生运动向量的过程,所述运动向量估计视频块的运动。运动向量(例如)可指示预测或参考帧(或其它经译码的单元,例如,片段)内的预测块相对于当前帧(或其它经译码的单元)内的待译码块的位移。参考帧(或所述帧的部分)在时间上可位于当前视频块所属的视频帧(或所述视频帧的部分)之前或之后。通常将运动补偿视为从存储器34获取或产生预测块或可能基于由运动估计所确定的运动向量来内插或以其它方式产生经滤波的预测性数据的过程。
ME单元35通过比较待译码的视频块与一个或一个以上参考帧(例如,先前帧及/或后续帧)的视频块来选择用于所述视频块的适当运动向量。ME单元35可以分数像素精度执行运动估计,分数像素精度有时被称为分数像素、分数像素或子像素运动估计。因而,可互换地使用术语分数像素、分数像素及子像素运动估计。在分数像素运动估计中,ME单元35可选择指示相对于除了整数像素位置以外的位置的位移的运动向量。以此方式,分数像素运动估计允许预测单元32以比整数像素(或全像素)位置高的精度来追踪运动,因此产生更准确的预测块。分数像素运动估计可具有半像素精度、四分之一像素精度、八分之一像素精度或任何更精细的精度。ME单元35可调用滤波器39以用于运动估计过程期间的任何必要内插。
为了执行分数像素运动补偿,MC单元37可执行内插(有时被称为内插滤波)以便以子像素分辨率产生数据(本文中称为子像素或分数像素值)。MC单元37可调用滤波器39以用于此内插。预测单元32可使用本文中所描述的技术来执行所述内插(或整数像素的类内插滤波)。
一旦通过ME单元35选择了待译码的视频块的运动向量,则MC单元37产生与所述运动向量相关联的预测视频块。MC单元37可基于由ME单元35所确定的运动向量从存储器34获取预测块。在具有分数像素精度的运动向量的状况下,MC单元37对来自存储器34的数据进行滤波以将此数据内插到子像素分辨率(例如,调用滤波器39用于此过程)。在一些状况下,可将用以产生子像素预测数据的内插滤波技术或模式指示为用于包括于经译码的位串流中的用于熵译码单元46的一个或一个以上内插语法元素。
一旦预测单元32已产生了预测块,则视频编码器50通过从正译码的原始视频块减去预测块而形成残余视频块(在图2中标记为“残余块”)。加法器48表示执行此减法运算的组件。变换单元38将变换(例如,离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包含残余变换块系数的视频块。举例来说,变换单元38可执行概念上类似于DCT的其它变换,例如,由H.264标准定义的变换。也可使用小波变换、整数变换、子频带变换或其它类型的变换。在任何状况下,变换单元38均将变换应用于残余块,从而产生残余变换系数的块。所述变换可将残余信息从像素域转换到频域。
量化单元40量化残余变换系数以进一步减小位率。所述量化过程可减小与所述系数中的一些或所有相关联的位深度。在量化之后,熵译码单元46对经量化的变换系数进行熵译码。举例来说,熵译码单元46可执行CAVLC、CABAC或另一熵译码方法。
熵译码单元46还可将从预测单元32或视频编码器50的其它组件获得的一个或一个以上预测语法元素译码。所述一个或一个以上预测语法元素可包括译码模式、一个或一个以上运动向量、用以产生子像素数据的内插技术、滤波器系数的集合或子集,或与预测块的产生相关联的其它信息。根据本发明的一些方面,系数预测与量化单元41可预测性地将预测语法(例如,滤波器系数)编码及量化。在通过熵译码单元46进行的熵译码之后,可将经编码的视频及语法元素发射到另一装置或经存档以供稍后发射或检索。
逆量化单元42及逆变换单元44分别应用逆量化及逆变换,以在像素域中重建构残余块(例如)以供稍后用作参考块。所述经重建构的残余块(在图2中标记为“经重建构的残余块”)可表示提供到变换单元38的残余块的经重建构的版本。归因于由量化及逆量化运算造成的细节损失,所述经重建构的残余块可不同于由求和器48所产生的残余块。求和器51将所述经重建构的残余块加到由预测单元32所产生的经运动补偿的预测块以产生经重建构的视频块以供存储于存储器34中。所述经重建构的视频块可由预测单元32用作可用以随后将后续视频帧或后续经译码的单元中的块译码的参考块。
如以上所描述,预测单元32可以分数像素(或子像素)精度执行运动估计。当预测单元32使用分数像素运动估计时,预测单元32可使用本发明中所描述的内插运算来以子像素分辨率产生数据(例如,子像素或分数像素值)。换句话说,使用所述内插运算来计算在整数像素位置之间的位置处的值。可将位于整数像素位置之间的一半距离处的子像素位置称为半像素(半pel)位置,可将位于整数像素位置与半像素位置之间的一半距离处的子像素位置称为四分之一像素(四分之一pel)位置,将位于整数像素位置(或半像素位置)与四分之一像素位置之间的一半距离处的子像素位置称为八分之一像素(八分之一pel)位置,等等。
图3为说明与预测数据相关联的整数像素(或全像素)位置及与经内插的预测数据相关联的子像素(或分数像素)位置的概念图。在图3的概念性说明中,不同方框表示帧或帧的块内的像素及子像素位置。大写字母(在具有实线的方框中)表示整数像素位置,而小写字母(在具有虚线的方框中)表示子像素位置。确切地说,像素位置A1-A6、B1-B6、C1-C6、D1-D6、E1-E6及F1-F6表示帧、片段或其它经译码的单元内的整数像素位置的6乘6阵列。在图3中还展示了额外整数像素位置G3及H3以供本发明中稍后所描述的实例使用。子像素位置“a”到“o”表示与整数像素C3相关联的十五个子像素位置(例如,在整数像素位置C3、C4、D3与D4之间)。对于每个整数像素位置,可存在类似子像素位置。子像素位置“a”到“o”表示与整数像素C3相关联的每个半像素及四分之一像素像素位置。
在最初产生视频数据时,整数像素位置可与物理传感器元件(例如,光电二极管)相关联。所述光电二极管可测量在所述传感器的位置处的光源的强度且使像素强度值与所述整数像素位置相关联。此外,每一整数像素位置可具有十五个子像素位置(或可能更多)的相关联集合。与整数像素位置相关联的子像素位置的数目可取决于所要精度。在图3中所说明的实例中,所要精度为四分之一像素精度,在此种状况下,整数像素位置中的每一者与十五个不同子像素位置相对应。可基于所要精度使更多或更少子像素位置与每一整数像素位置相关联。举例来说,对于半像素精度来说,每一整数像素位置可与三个子像素位置相对应。作为另一实例,对于八分之一像素精度来说,整数像素位置中的每一者可与六十三个子像素位置相对应。每一像素位置可定义一个或一个以上像素值(例如,一个或一个以上照度及色度值)。
Y可表示照度,且Cb及Cr可表示三维YCbCr色彩空间的两个不同色度值。对于三维色彩空间来说,每一像素位置可实际上定义三个像素值。然而,出于简单性的目的,本发明的技术可指代关于一维的预测。就关于一维中的像素值来描述技术来说,可将类似技术扩展到其它维度。在一些状况下,在预测之前对色度值进行子取样,但预测通常在照度空间中发生而无任何子取样,这是因为人类视觉对像素强度比对像素色彩更敏感。
在图3的实例中,针对四分之一像素精度说明与整数像素“C3”相关联的子像素位置(location)(也称为子像素位置(position))。将与像素C3相关联的十五个子像素位置标记为“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子像素。图4为展示关于整数像素(C1-C6、A3、B3、C3、D3、E3及F3)的群组的1L子像素(a、b、c、d、h、1)的概念图。
本发明的方面包括使用两个线性内插滤波器(一个应用于垂直方向上且一个应用于水平方向上)来确定非垂直、非水平子像素(例如,子像素“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”)的像素值。因此,本发明可将非垂直、非水平子像素(例如,子像素“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”)称为2L子像素。图5为展示关于整数像素(C1-C6、A3、B3、C3、D3、E3及F3)的群组的2L子像素(e、f、g、i、j、k、m、n、o)的概念图。
图6为说明关于子像素位置“b”的八个水平线性像素支持位置C0-C7的概念图,其中阴影展示系数对称性。在此状况下,系数对称性意味着仅需要四个滤波器系数用于C0、C1、C2及C3,以便定义滤波器支持位置C0-C7的系数的整个集合。C0与C7对称,C1与C6对称,C2与C5对称,且C3与C4对称。因此,仅需要传达四个系数作为经编码的视频位串流的部分,或仅需要由滤波器单元39存储四个系数,以便定义内插子像素位置“b”所需的八个系数的集合。剩余系数可在解码器处基于经传达的系数而产生。确切地说,解码器可经编程以知晓应用了对称性,且对称性可定义如何基于经传达系数而产生任何剩余系数。
图7为说明关于子像素的八个水平线性像素支持位置的概念图,其中阴影展示缺乏任何系数对称性。因此,需要所有八个系数以便定义关于子像素位置“a”的滤波器支持的系数的集合。然而,像素对称性意味着也可使用关于子像素位置“a”的这些相同系数来导出子像素位置“c”的滤波器支持。如果将关于子位置“a”的滤波器支持的八个系数视为一维阵列,则可通过翻转所述阵列来得到用于子像素“c”的八个系数,以使得在确定子像素“a”的值时用于C7的系数可为在确定子像素“c”的值时用于C0的系数,用于C6的系数可为用于C1的系数,等等。因此,例如,如果使用自适应内插滤波(AIF)(其中在视频编码器22处计算滤波器系数),则仅需要在位串流中将八个系数传达到视频解码器28以便定义内插子像素位置“a”及“c”所需的八个系数的两个不同集合。
图8为说明关于子像素“h”的八个垂直线性像素支持位置G3、A3、B3、C3、D3、E3、F3及H3的概念图,其中阴影展示系数对称性。在此状况下,系数对称性意味着仅需要四个滤波器系数用于G3、A3、B3及C3,以便定义滤波器支持位置G3、A3、B3、C3、D3、E3、F3及H3的系数的整个集合。G3与H3对称,A3与F3对称,B3与E3对称,且C3与D3对称。归因于对称性,与G3相关联的系数也可供H3使用,与A3相关联的系数也可供F3使用,等等。因此,例如,如果使用AIF,则仅需要传达四个系数作为经编码的视频位串流的部分以便定义内插子像素位置“h”所需的八个系数的集合。
图9为说明关于子像素的八个垂直线性像素支持位置的概念图,其中阴影展示缺乏任何系数对称性。因此,需要所有八个系数以便定义关于子像素位置“d”的滤波器支持的系数的集合。然而,如以上关于图7所提,像素对称性意味着也可使用关于子像素位置“d”的这些相同系数来导出子像素位置“l”的滤波器支持。因此,例如,如果使用AIF,则仅需要在位串流中将八个系数传达到视频解码器28以便定义内插子像素位置“d”及“l”所需的八个系数的两个不同集合。
视频编码器40的预测单元32可使用由滤波单元39进行的内插滤波来确定子像素位置“a”到“o”的像素值。对于半像素位置“b”及“h”来说,每一滤波器系数(也称为分接头)可分别对应于水平方向及垂直方向上的整数像素位置。确切地说,对于半像素位置“b”来说,8分接头滤波器的分接头对应于C0、C1、C2、C3、C4、C5、C6及C7。子像素位置C0及C7未展示于图3中,但可见于(例如)图6及7中。同样,对于半像素位置“h”来说,8分接头滤波器的分接头对应于G3、A3、B3、C3、D3、E3、F3及H3。举例来说,可使用方程式(1)及(2)来计算子像素位置“b”及“h”的像素值:
b=((-3*C0+12*C1-39*C2+158*C3+158*C4-39*C5+12*C6-3*C7)+128)/256
                                   (1)
h=((-3*G3+12*A3-39*B3+158*C3+158*D3-39*E3+12*F3-3*H3)+128)/256
                                   (2)
在一些实施方案中,可通过8个位的向右移位来实施除以256。与位置“b”一样,对于四分之一像素位置“a”及“c”来说,8分接头滤波器的分接头可对应于C0、C1、C2、C3、C4、C5、C6及C7,但不同于位置“b”,滤波器系数可为非对称的且可不同于位置“b”的滤波器系数。举例来说,可使用方程式(3)及(4)来计算子像素位置“a”及“c”的像素值:
a=((-3*C0+12*C1-37*C2+229*C3+71*C4-21*C5+6*C6-C7)+128)/256    (3)
c=((-C0+6*C1-21*C2+71*C3+229*C4-37*C5+12*C6-3*C7)+128)/256       (4)
在一些实施方案中,可通过8个位的向右移位来实施除以256。与位置“h”一样,对于四分之一像素位置“d”及“l”来说,8分接头滤波器的分接头可对应于G3、A3、B3、C3、D3、E3、F3及H3,但不同于位置“h”,滤波器系数可为非对称的且可不同于位置“h”的滤波器系数。举例来说,可使用方程式(5)及(6)来计算子像素位置“d”及“l”的像素值:
d=((-3*G3+12*A3-37*B3+229*C3+71*D3-21*E3+6*F3-H3)+128)/256         (5)
l=((-G3+6*A3-21*B3+71*C3+229*D3-37*E3+12*F3-3*H3)+128)/256         (6)
在一些实施方案中,可通过8个位的向右移位来实施除以256。尽管以上针对方程式(1)到(6)给出的实例系数大体上针对水平子像素及垂直子像素两者使用相同系数,但水平子像素及垂直子像素的系数并不需要相同。举例来说,方程式(1)与(2)、(3)与(5)及(4)与(6)在以上实例中分别具有相同系数,但在一些实施方案中,各自可具有不同系数。
视频编码器40的预测单元32还可使用由滤波单元39进行的内插滤波来确定2L子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”的像素值。对于2L子像素位置来说,水平滤波之后为垂直滤波,或垂直滤波之后为水平滤波。第一滤波操作确定中间值,且第二滤波器操作利用所述中间值来确定子像素位置的像素值。举例来说,为了确定“j”的值,可使用6分接头水平滤波器使用以下方程式来确定“aa”、“bb”、“b”、“hh”、“ii”及“jj”的中间值:
aa=((8*A1-40*A2+160*A3+160*A4-40*A5+8*A6)+128)/256        (7)
bb=((8*B1-40*B2+160*B3+160*B4-40*B5+8*B6)+128)/256        (8)
b=((8*C1-40*C2+160*C3+160*C4-40*C5+8*C6)+128)/256v        (9)
hh=((8*D1-40*D2+160*D3+160*D4-40*D5+8*D6)+128)/256        (10)
ii=((8*E1-40*E2+160*E3+160*E4-40*E5+8*E6)+128)/256        (11)
jj=((8*F1-40*F2+160*F3+160*F4-40*F5+8*F6)+128)/        (12)
在一些实施方案中,可通过8个位的向右移位来实施除以256。将6分接头垂直滤波器应用于以上中间值,可使用以下方程式来确定“j”的值:
j=((8*aa-40*bb+160*c3+160*hh-40*ii+8*jj)+128)/256。    (13)
在一些实施方案中,可通过8个位的向右移位来实施除以256。或者,可使用6分接头垂直滤波器来得到“cc”、“dd”、“h”、“ee”、“ff”及“gg”的中间值,且可将6分接头水平应用于这些中间值以确定“j”的像素值。
类似于以上针对子像素“j”所描述的程序,可通过以下操作来确定子像素位置“e”、“f”、“g”、“i”、“k”、“m”、“n”及“o”的像素值:首先执行垂直滤波操作以确定中间值且接着将6分接头水平滤波器应用于由垂直滤波所确定的中间值;或首先执行水平滤波操作以确定中间值且接着将6分接头垂直滤波器应用于由水平滤波所确定的中间值。虽然以上针对子像素“j”而用作实例的水平滤波器及垂直滤波器两者均使用对称系数,但用以确定其它2D子像素值的像素值的水平滤波器或垂直滤波器中的一者或两者可不为对称的。举例来说,在一个示范性实施方案中,用于子像素位置“e”、“g”、“m”及“o”的水平滤波器及垂直滤波器两者可使用非对称系数。子像素位置“f”及“n”可使用具有对称系数的水平滤波器及具有非对称系数的垂直滤波器,且子像素位置“i”及“k”可使用具有非对称系数的水平滤波器及具有对称滤波器系数的垂直滤波器。
由滤波单元39应用以在子像素位置处产生经内插的数据的实际滤波器可经受广泛多种实施方案。作为一个实例,预测单元32可利用AIF,其中滤波器系数由视频编码器22计算且在位串流中发射到视频解码器28。作为另一实例,预测单元32可利用切换滤波(switched filtering),其中视频编码器22及视频解码器28两者均已知多个滤波器,且在位串流中将待使用的特定滤波器从视频编码器22用信号发送到视频解码器28。在切换滤波的实例中,视频编码器22及视频解码器28可针对每一子像素位置存储四个唯一滤波器,且可使用两个位将待用于子像素位置的特定滤波器从视频编码器22用信号发送到视频解码器28。
预测单元32可在水平方向上及在垂直方向上使用可分离的内插滤波器。对于1L子像素位置来说,预测单元32(例如,预测单元32的MC单元37)取决于子像素位置而仅应用水平方向性滤波器或仅应用垂直方向性滤波器。在一个实例中,水平方向性滤波器及垂直方向性滤波器包含8位置(或8分接头)滤波器。预测单元32针对子像素位置“a”、“b”及“c”应用水平方向性滤波器,其中将整数像素位置C0、C1、C2、C3、C4、C5、C6及C7(C0及C7未展示于图3中)作为滤波器支持;且针对子像素位置“d”、“h”及“l”应用垂直方向性滤波器,其中将整数像素位置G3、A3、B3、C3、D3、E3、F3及H3(参见图3)作为滤波器支持。对于剩余子像素位置(即,2L子像素位置)来说,预测单元32首先应用水平滤波,随后是垂直滤波,或首先应用垂直滤波,随后是水平滤波。用于2L子像素位置的水平滤波器及垂直滤波器可各自为6分接头滤波器。
尽管本发明使用8分接头滤波器及6分接头滤波器作为实例,但重要的是应注意,也可使用其它滤波器长度且其它滤波器长度在本发明的范畴内。举例来说,6分接头滤波器可用于确定1L子像素位置的值,而4分接头滤波器用于确定2L子像素位置的值,或10分接头滤波器可用于确定1L子像素位置的值,而8分接头滤波器或6分接头滤波器用于确定2L子像素位置的值。
图10为说明可将以本文中所描述的方式编码的视频序列解码的视频解码器的实例的框图。视频解码器60为本文中称为“译码器”的专用视频计算机装置或设备的一个实例。视频解码器60包括熵解码单元52,熵解码单元52对所接收的位串流进行熵解码以产生经量化的系数及预测语法元素。所述预测语法元素可包括译码模式、一个或一个以上运动向量、识别用以产生子像素数据的内插技术的信息、供在内插滤波中使用的系数及/或与预测块的产生相关联的其它信息。
将预测语法元素(例如,系数)转发到预测单元55。如果使用预测来相对于固定滤波器的系数或相对于彼此来将所述系数译码,则系数预测与逆量化单元53可将语法元素解码以定义实际系数。又,如果将量化应用于预测语法中的任一者,则系数预测与逆量化单元53也可移除此量化。根据本发明,可(例如)预测性地将滤波器系数译码及量化,且在此状况下,系数预测与逆量化单元53可由视频解码器60用来预测性地将这些系数解码及解量化。
预测单元55可基于预测语法元素及存储于存储器62中的一个或一个以上先前经解码的块以与以上关于视频编码器50的预测单元32所详细描述的方式几乎相同的方式产生预测数据。确切地说,预测单元55可在运动补偿期间执行本发明的内插滤波技术中的一者或一者以上,从而以特定精度(例如,四分之一像素精度)产生预测块。因而,本发明的技术中的一者或一者以上可由视频解码器60用于产生预测块。预测单元55可包括运动补偿单元,所述运动补偿单元包含用于本发明的内插及类内插滤波技术的滤波器。为了说明的简单及简易性起见,运动补偿组件未展示于图10中。
逆量化单元56将经量化的系数逆量化(即,解量化)。逆量化过程可为针对H.264解码所定义的过程。逆变换单元58将逆变换(例如,逆DCT或概念上类似的逆变换过程)应用于变换系数以便在像素域中产生残余块。求和器64对残余块与由预测单元55产生的对应预测块求和以形成由视频编码器50所编码的原始块的经重建构的版本。如果需要,则也可将解块滤波器应用于经解码的块以便移除块效应假影。接着将经解码的视频块存储于参考帧存储器62中,参考帧存储器62为后续运动补偿提供参考块且还产生经解码的视频以驱动显示装置(例如,图1的装置28)。
举例来说,可基于在经编码的视频位串流中从源装置12所接收的预测语法元素来确定由预测单元55所使用的特定内插滤波器。图11展示用于基于在位串流中所接收的语法元素来确定内插滤波器的方法。图11的方法可(例如)用以确定用于P片段的子像素位置的滤波器。视频解码器60接收来自源装置12的经编码的位串流。从译码单元的语法元素(例如,帧标头或片段标头内的语法元素),预测单元55读取识别限制集合的位(1101)。所述限制集合向预测单元55识别将滤波器索引的哪一集合用于所述译码单元的子像素位置。每一子像素位置可具有其自身的滤波器索引,或子像素位置的一群组可共享一滤波器索引。所述滤波器索引使特定滤波器与特定位模式相关联。举例来说,如果每子像素位置使用两个位来用信号发送滤波器选择,则位模式00可对应于第一滤波器,01可对应于第二滤波器,10可对应于第三滤波器,且11可对应于第四滤波器。因为每一子像素位置可具有其自身的唯一滤波器索引及唯一滤波器,所以(例如)位模式00针对子像素位置“j”可对应于与其针对子像素位置“e”所对应于的滤波器不同的滤波器。
图11的实例使用三个限制集合。如果经译码的单元的标头含有到预测单元55的待使用第一限制集合的信号(1102),则对于针对经译码的单元而确定的所有子像素值来说,可单独地使用垂直信令位及水平信令位来用信号发送用于每一子像素值的水平滤波器及垂直滤波器两者。因此,如果使用各自用于垂直信令位及水平信令位的两个位,则使用总计两个位来用信号发送用于1L子像素位置的滤波器,且使用总计四个位(两个用于垂直信令位且两个用于水平信令位)来用信号发送用于2L位置的滤波器。
对于除位置“a”、“b”及“c”以外的子像素位置来说,位串流中的两个垂直信令位可识别四个垂直滤波器中待使用的一者(1103)。对于位置“a”、“b”及“c”来说,无垂直信令位可存在于位串流中,且无垂直滤波器可被选定。根据本发明,针对子像素位置“d”、“h”及“l”选定的垂直滤波器可比针对“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的垂直滤波器长。举例来说,针对子像素位置“d”、“h”及“l”选定的垂直滤波器可包含8分接头滤波器,而针对子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的垂直滤波器可包含6分接头滤波器。
对于除位置“d”、“h”及“l”以外的子像素位置来说,两个水平信令位可识别四个水平滤波器中待使用的一者(1104)。对于位置“d”、“h”及“l”来说,无水平信令位可存在于位串流中,且无水平滤波器可被选定。根据本发明,针对子像素位置“a”、“b”及“c”选定的水平滤波器可比针对“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的水平滤波器长。举例来说,针对子像素位置“a”、“b”及“c”选定的水平滤波器可包含8分接头滤波器,而针对子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的水平滤波器可包含6分接头滤波器。
一旦选定水平滤波器及垂直滤波器,则如以上所描述,可使用所述滤波器来确定子像素位置的值。如果一子像素位于位置“a”、“b”或“c”处,则如以上关于方程式1、3及4所描述,可使用单一水平滤波器来确定子像素值。如果所述子像素位于“d”、“h”或“l”处,则如以上关于方程式2、5及6所描述,可使用单一垂直滤波器来确定子像素值。如果所述子像素位于“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”处,则如以上关于方程式7到13所描述,可使用垂直滤波器及水平滤波器两者来确定子像素位置的值。
如果经译码的单元的标头含有到预测单元55的待使用第二限制集合的信号(1107),则对于针对经译码的单元而确定的所有子像素值来说,可每子像素位置使用两个信令位一起用信号发送用于每一子像素值的水平滤波器及垂直滤波器两者。基于所述信令位,可选择一滤波器或一对滤波器(1108)。对于子像素位置“a”、“b”或“c”来说,可使用两个信令位来识别四个水平滤波器中与所述特定子像素位置相关联的一者。对于子像素位置“d”、“h”或“l”来说,可使用两个信令位来识别四个垂直滤波器中与所述特定子像素位置相关联的一者。对于“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”处的子像素位置来说,可使用两个信令位来识别四对水平滤波器及垂直滤波器中的一者。因此,虽然限制集合1使得两个水平信令位能够识别四个水平滤波器中的一者且使得两个垂直信令位能够识别四个垂直滤波器中的一者(总计十六个水平-垂直组合),但限制集合2仅允许四个水平-垂直组合。然而,限制集合2减少了用信号发送滤波器选择所需的位的总数目。基于由信令位所识别的滤波器或滤波器组合,以与以上所描述的方式类似的方式确定子像素位置的值(1109)。如果经译码的单元的标头含有到预测单元55的待使用第三限制集合的信号(1111),则对于针对经译码的单元而确定的所有子像素值来说,可仅基于子像素位置且不基于与所述子像素位置相关联的任何信令位来使用一固定滤波器或滤波器组合(1112)。举例来说,不同于限制集合1及2(其中子像素位置“a”、“b”及“c”可各自具有四个可能的对应水平滤波器),对于限制集合3,子像素位置“a”、“b”及“c”各自具有一个对应水平滤波器。不同于限制集合1及2(其中子像素位置“d”、“h”及“l”可各自具有四个可能的对应垂直滤波器),对于限制集合3,子像素位置“d”、“h”或“l”各自具有一个对应垂直滤波器。不同于限制集合1及2(其中子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自分别具有16个及4个可能的水平滤波器-垂直滤波器组合),对于限制集合3,子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自具有单一水平滤波器-垂直滤波器组合。虽然限制集合3可能会减少可用滤波器,但限制集合3也可减少用信号发送滤波器选择所需的位的总数目。
图12展示用于基于在位串流中所接收的语法元素来确定内插滤波器的方法。图12的方法可(例如)用以确定用于B片段的子像素位置的滤波器。不同于包括用于P片段的三个限制集合的图11,图12的实例仅包括两个限制集合。如关于图11所描述,当使用B片段以便改良译码效率时,可排除限制集合1。通常通过比P片段少的位来将B片段编码。针对P片段及B片段使用相同限制集合可导致使用相同数目个位来用信号发送用于每一分数像素位置的内插滤波器的选择,但针对B片段发信号给内插滤波器的开销(作为全部位的百分比)可远高于针对P片段发信号给内插滤波器的开销。归因于此较高开销,在B片段的状况下,位率失真取舍可能不如P片段情形下的位率失真取舍有利。因此,在一些实施方案中,限制集合1可能不用于B片段。
如果经译码的单元的标头含有到预测单元55的待将第二限制集合用于B片段的信号(1207),则对于针对经译码的单元而确定的所有子像素值来说,可每子像素位置使用两个信令位一起用信号发送用于每一子像素值的水平滤波器及垂直滤波器两者。基于所述信令位,可选择一滤波器或一对滤波器(1208)。对于子像素位置“a”、“b”或“c”来说,可使用两个信令位来识别四个水平滤波器中与所述特定子像素位置相关联的一者。对于子像素位置“d”、“h”或“l”来说,可使用两个信令位来识别四个垂直滤波器中与所述特定子像素位置相关联的一者。对于“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”处的子像素位置来说,可使用两个信令位来识别四对水平滤波器及垂直滤波器中的一者。基于由信令位所识别的滤波器或滤波器组合,以与以上所描述的方式类似的方式确定子像素位置的值(1209)。如果经译码的单元的标头含有到预测单元55的待使用第三限制集合的信号(1211),则对于针对经译码的单元而确定的所有子像素值来说,可仅基于子像素位置且不基于与所述子像素位置相关联的任何信令位来使用一固定滤波器或滤波器组合(1212)。举例来说,不同于限制集合2(其中子像素位置“a”、“b”及“c”可各自具有四个可能的对应水平滤波器),对于限制集合3,子像素位置“a”、“b”及“c”各自具有一个对应水平滤波器。不同于限制集合2(其中子像素位置“d”、“h”及“l”可各自具有四个可能的对应垂直滤波器),对于限制集合3,子像素位置“d”、“h”或“l”各自具有一个对应垂直滤波器。不同于限制集合2(其中子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自分别具有4个可能的水平滤波器-垂直滤波器组合),对于限制集合3,子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自具有单一水平滤波器-垂直滤波器组合。虽然与限制集合2相比限制集合3可能会减少可用滤波器,但限制集合3还减少用信号发送滤波器选择所需的位的总数目。
图13为说明用于基于在位串流中所接收的语法元素来确定内插滤波器的方法的流程图。图13的方法为关于图11针对P片段所描述的方法的修改。如果经译码的单元的标头含有到预测单元55的可使用第一限制集合的信号(1302),则对于针对经译码的单元而确定的所有子像素值来说,还可在位串流中发射旗标。所述旗标为告知预测单元55使用先前用于所述子像素位置的相同滤波器选择或使用不同滤波器的1位信号。如果所述旗标指示针对特定子像素位置应使用先前滤波器(1314,是),则可再次使用最近用于所述特定子像素位置的水平滤波器、垂直滤波器或水平滤波器及垂直滤波器的组合来确定所述特定子像素位置的值(1315)。如果所述旗标指示应使用相同滤波器,则不需要发射在其它情况下用以用信号发送水平滤波器及/或垂直滤波器的两个或四个位,从而使得所发射的位减少。然而,如果所述旗标指示针对所述特定子像素位置应使用一不同滤波器(1314,否),则如以上关于图11所描述,可使用垂直信令位及水平信令位单独地用信号发送用于所述子像素位置的水平滤波器及垂直滤波器两者。
对于除位置“a”、“b”及“c”以外的子像素位置来说,位串流中的两个垂直信令位可识别四个垂直滤波器中待使用的一者(1303)。对于位置“a”、“b”及“c”来说,无垂直信令位可存在于位串流中,且无垂直滤波器可被选定。根据本发明,针对子像素位置“d”、“h”及“l”选定的垂直滤波器可比针对“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的垂直滤波器长。举例来说,针对子像素位置“d”、“h”及“l”选定的垂直滤波器可包含8分接头滤波器,而针对子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的垂直滤波器可包含6分接头滤波器。
对于除位置“d”、“h”及“l”以外的子像素位置来说,两个水平信令位可识别四个水平滤波器中待使用的一者(1304)。对于位置“d”、“h”及“l”来说,无水平信令位可存在于位串流中,且无水平滤波器被选定。根据本发明,针对子像素位置“a”、“b”及“c”选定的水平滤波器可比针对“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的水平滤波器长。举例来说,针对子像素位置“a”、“b”及“c”选定的水平滤波器可包含8分接头滤波器,而针对子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的水平滤波器可包含6分接头滤波器。
一旦选定水平滤波器及垂直滤波器,则如以上所描述,可应用所述滤波器来确定子像素位置的值。如果一子像素位于位置“a”、“b”或“c”处,则可使用单一水平滤波器来确定子像素值。如果所述子像素位于“d”、“h”或“l”处,则可使用单一垂直滤波器来确定子像素值。如果所述子像素位于“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”处,则可使用垂直滤波器及水平滤波器两者来确定子像素位置的值。
如果经译码的单元的标头含有到预测单元55的可使用第三限制集合的信号(1311),则对于针对经译码的单元而确定的所有子像素值来说,可仅基于子像素位置且不基于与所述子像素位置相关联的任何信令位来选择一固定滤波器或滤波器组合(1312)。举例来说,不同于限制集合1及2(其中子像素位置“a”、“b”及“c”可各自具有四个可能的对应水平滤波器),对于限制集合3,子像素位置“a”、“b”及“c”各自具有一个对应水平滤波器。不同于限制集合1及2(其中子像素位置“d”、“h”及“l”)可各自具有四个可能的对应垂直滤波器,对于限制集合3,子像素位置“d”、“h”或“l”各自具有一个对应垂直滤波器。不同于限制集合1(其中子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自分别具有16个及4个可能的水平滤波器-垂直滤波器组合),对于限制集合3,子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自具有单一水平滤波器-垂直滤波器组合。虽然限制集合3可能会减少可用滤波器,但限制集合3也减少用信号发送滤波器选择所需的位的总数目。
图14为说明用于基于在位串流中所接收的语法元素来确定内插滤波器的方法的流程图。图14的方法可包含关于图12针对B片段所描述的方法的修改。如果经译码的单元的标头含有到预测单元55的可使用第二限制集合的信号(1407),则对于针对经译码的单元而确定的所有子像素值来说,可在位串流中发射一旗标。所述旗标为告知预测单元55使用先前用于所述子像素位置的相同滤波器选择或使用不同滤波器的1位信号。如果所述旗标指示针对一特定子像素位置应使用先前滤波器(1414,是),则可再次使用最近用于所述特定子像素位置的水平滤波器、垂直滤波器或水平滤波器及垂直滤波器的组合来确定所述特定子像素位置的值(1415)。然而,如果所述旗标指示针对所述特定子像素位置应使用一不同滤波器(1414,否),则如以上关于图12所描述,可使用信令位用信号发送用于所述子像素位置的水平滤波器及垂直滤波器两者。
基于所述信令位,可选择一滤波器或一对滤波器(1408)。对于子像素位置“a”、“b”或“c”来说,可使用两个信令位来识别与所述特定子像素位置相关联的四个水平滤波器中的一者。对于子像素位置“d”、“h”或“l”来说,可使用两个信令位来识别与所述特定子像素位置相关联的四个垂直滤波器中的一者。对于“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”处的子像素位置来说,可使用两个信令位来识别四对水平滤波器及垂直滤波器中的一者。基于由信令位所识别的滤波器或滤波器组合,以与以上所描述的方式类似的方式确定子像素位置的值(1409)。
如果经译码的单元的标头含有到预测单元55的可使用第三限制集合的信号(1411),则对于针对经译码的单元而确定的所有子像素值来说,可仅基于子像素位置且不基于与所述子像素位置相关联的任何信令位来使用一固定滤波器或滤波器组合(1412)。举例来说,不同于限制集合2(其中子像素位置“a”、“b”及“c”可各自具有四个可能的对应水平滤波器),对于限制集合3,子像素位置“a”、“b”及“c”各自具有一个对应水平滤波器。不同于限制集合2(其中子像素位置“d”、“h”及“l”可各自具有四个可能的对应垂直滤波器),对于限制集合3,子像素位置“d”、“h”或“l”各自具有一个对应垂直滤波器。不同于限制集合2(其中子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自分别具有4个可能的水平滤波器-垂直滤波器组合),对于限制集合3,子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”或“o”各自具有单一水平滤波器-垂直滤波器组合。虽然与限制集合2相比限制集合3可能会减少可用滤波器,但限制集合3也减少用信号发送滤波器选择所需的位的总数目。
根据本发明,在图11、12、13及14的实例中,针对子像素位置“a”、“b”及“c”选定的水平滤波器及针对子像素位置“d”、“h”及“l”选定的垂直滤波器可比针对“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”及“o”选定的水平滤波器及垂直滤波器长。此外,尽管图11、12、13及14的实例大体上论述了使用两个信令位来选择四个滤波器中的一者,但也可使用更多或更少的信令位。举例来说,可使用一个信令位来选择两个滤波器中的一者,或可使用三个信令位来选择八个可能滤波器中的一者。
虽然本发明已大体上论述了用于基于四分之一像素运动向量精度将较长滤波器用于1L位置且将较短滤波器用于2L位置的技术,但本发明的技术也可应用于例如八分之一像素或半像素精度的其它运动向量精度。举例来说,当使用八分之一像素精度时,可存在7个水平像素位置及7个垂直像素位置(即,14个1L位置)以及49个2L位置。
另外,在一些实施方案中,运动向量精度可在译码期间自适应地切换,例如,在四分之一像素精度与八分之一像素精度之间切换。在此实施方案中,本发明的技术可应用于四分之一像素位置及八分之一像素位置两者处。在其它实施方案中,本发明的技术仅可(例如)应用于四分之一像素位置,而在八分之一像素位置处使用不同滤波器选择技术(例如,使用固定、不可切换的滤波器)。在将固定、不可切换的滤波器用于八分之一像素位置的实例中,可针对四分之一像素位置而非针对八分之一像素位置来将滤波器选择用信号发送到解码器。
另外,尽管大体上已使用用于2L位置的可分离滤波器描述了图11到14的实例及本发明中的其它实例,但预期在一些实施方案中,可使用用于2L位置的信令位来识别一个或一个以上不可分离滤波器。作为一实例,可使用以上针对限制集合2所描述的两个信令位来在包括两个不可分离滤波器及两个可分离滤波器的四个滤波器之间进行选择。
图15为展示实施本发明的方面的方法的流程图。图15的技术可(例如)由图1、2及10中所展示的装置执行。将从图2的角度来描述图15的方法,但其它装置(包括图1的视频编码器22及视频解码器28两者及图10的视频解码器60)也可执行图15的方法的方面。预测单元32的MC单元37从存储器34获得一像素块,所述像素块包括对应于所述像素块内的整数像素位置的整数像素值(1501)。滤波单元39计算对应于与所述像素块相关联的子像素位置的子像素值。滤波单元39通过应用第一内插滤波器来计算处于与整数像素位置共同的垂直轴或与整数像素位置共同的水平轴上的子像素位置(例如,图4的1L子像素位置)的第一子像素值,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列(1502)。所述第一内插滤波器可(例如)包含一8分接头滤波器,其中第一内插滤波器的滤波器支持位置对应于整数像素位置的一集合。滤波单元39通过应用第二内插滤波器及应用第三内插滤波器来计算第二子像素值,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列(1503)。第二子像素值对应于不处于与整数像素位置共同的垂直轴上且不处于与整数像素位置共同的水平轴上的子像素位置(例如,见图5的2L子像素位置)。第二及第三内插滤波器可(例如)各自为6分接头滤波器。根据本发明的一个方面,第一一维阵列包括比第二一维阵列多的滤波器系数且包括比第三一维阵列多的滤波器系数。
基于子像素值(例如,第一子像素值及第二子像素值),MC单元37产生预测块(1504)。确切地说,作为视频编码过程的部分,MC单元37可产生并输出具有经内插的子像素值的经内插的预测块。预测单元32也可连同预测块输出识别待用于子像素位置的特定内插滤波器的信令位(1505)。所述信令位可单独地识别第二内插滤波器及第三内插滤波器或识别第二内插滤波器及第三内插滤波器的组合。预测单元32还可输出一旗标,所述旗标指示待用于子像素位置的内插滤波器为先前用于所述子像素位置的内插滤波器(1506)。
可在包括无线手持机及集成电路(IC)或集成电路的集合(即,芯片组)的广泛多种装置或设备中实施本发明的技术。已描述了经提供以强调功能方面的任何组件、模块或单元且未必需要由不同硬件单元来实现。
因此,本文中所描述的技术可以硬件、软件、固件或其任何组合来实施。如果以硬件来实施,则描述为模块、单元或组件的任何特征可一起实施于集成逻辑装置中或单独地实施为离散但可交互操作的逻辑装置。如果以软件来实施,则可至少部分地通过包含指令的计算机可读媒体来实现所述技术,当在处理器中执行时,所述指令执行以上所描述的方法中的一者或一者以上。所述计算机可读媒体可包含非暂时性计算机可读存储媒体且可形成计算机程序产品的部分,所述计算机程序产品可包括封装材料。所述计算机可读存储媒体可包含随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁性或光学数据存储媒体,及其类似者。或者或另外,所述技术可至少部分地通过携载或传达呈指令或数据结构的形式的代码且可由计算机存取、读取及/或执行的计算机可读通信媒体来实现。
可通过例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成逻辑电路或离散逻辑电路的一个或一个以上处理器来执行所述代码。因此,如本文中所使用,术语“处理器”可指代上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置以用于编码及解码的专用软件模块或硬件模块内,或并入于组合的视频编解码器中。又,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
已描述了本发明的各种方面。这些及其它实例在所附权利要求书的范畴内。

Claims (28)

1.一种预测视频信号的方法,其包含:
获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;
计算所述像素块的第一子像素位置的第一子像素值,其中计算所述第一子像素值包含应用第一内插滤波器,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列;
计算所述像素块的第二子像素位置的第二子像素值,其中计算所述第二子像素值包含应用第二内插滤波器及应用第三内插滤波器,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列,其中:
所述第一一维阵列包含比所述第二一维阵列多的滤波器系数;
所述第一一维阵列包含比所述第三一维阵列多的滤波器系数;及
基于至少所述第一子像素值及所述第二子像素值来产生预测块,
其中所述第一子像素位置处于与整数像素位置共同的垂直轴或与整数像素位置共同的水平轴上;
其中所述第二子像素位置不处于与整数像素位置共同的垂直轴上且不处于与整数像素位置共同的水平轴上。
2.根据权利要求1所述的方法,其中:
所述第一内插滤波器包含8分接头滤波器;
所述第二内插滤波器包含6分接头滤波器;且,
所述第三内插滤波器包含6分接头滤波器。
3.根据权利要求1所述的方法,其中所述第一内插滤波器的所述滤波器支持位置对应于整数像素位置的集合。
4.根据权利要求1所述的方法,其中所述方法形成视频编码过程的部分,所述方法进一步包含:
将信令位编码,其中所述信令位识别待用于子像素位置的特定内插滤波器。
5.根据权利要求4所述的方法,其中所述信令位单独地识别所述第二内插滤波器及所述第三内插滤波器。
6.根据权利要求4所述的方法,其中所述信令位识别包含所述第二内插滤波器及所述第三内插滤波器的组合。
7.根据权利要求1所述的方法,其中所述方法形成视频编码过程的部分,所述方法进一步包含:
将旗标编码,其中所述旗标指示待用于子像素位置的内插滤波器为先前用于所述子像素位置的所述内插滤波器。
8.根据权利要求1所述的方法,其中所述方法形成视频解码过程的部分,所述方法进一步包含:
将信令位解码,其中所述信令位识别待用于子像素位置的特定内插滤波器。
9.一种用于预测视频信号的设备,其包含:
预测单元,其经配置以进行以下操作:
获得像素块,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;
计算所述像素块的第一子像素位置的第一子像素值及所述像素块的第二子像素位置的第二子像素值,其中
第一子像素值是通过应用第一内插滤波器来计算,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列;
第二子像素值是通过应用第二内插滤波器及应用第三内插滤波器来计算,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列;
所述第一一维阵列包含比所述第二一维阵列多的滤波器系数;
所述第一一维阵列包含比所述第三一维阵列多的滤波器系数;及
基于至少所述第一子像素值及所述第二子像素值来产生预测块,
其中所述第一子像素值对应于处于与整数像素位置共同的垂直轴或与整数像素位置共同的水平轴上的子像素位置;
其中所述第二子像素值对应于不处于与整数像素位置共同的垂直轴上且不处于与整数像素位置共同的水平轴上的子像素位置。
10.根据权利要求9所述的设备,其中:
所述第一内插滤波器包含8分接头滤波器;
所述第二内插滤波器包含6分接头滤波器;且,
所述第三内插滤波器包含6分接头滤波器。
11.根据权利要求9所述的设备,其中所述第一内插滤波器的所述滤波器支持位置对应于整数像素位置的集合。
12.根据权利要求9所述的设备,其中所述预测单元经进一步配置以产生信令位,其中所述信令位识别待用于子像素位置的特定内插滤波器。
13.根据权利要求12所述的设备,其中所述信令位单独地识别所述第二内插滤波器及所述第三内插滤波器。
14.根据权利要求12所述的设备,其中所述信令位识别包含所述第二内插滤波器及所述第三内插滤波器的组合。
15.根据权利要求9所述的设备,其中所述预测单元经进一步配置以产生旗标以供发射,其中所述旗标指示待用于子像素位置的内插滤波器为先前用于所述子像素位置的所述内插滤波器。
16.根据权利要求9所述的设备,其中所述预测单元经进一步配置以将信令位解码,其中所述信令位识别待用于子像素位置的特定内插滤波器。
17.根据权利要求9所述的设备,其中所述预测单元经进一步配置以将旗标解码,其中所述旗标指示待用于子像素位置的内插滤波器为先前用于所述子像素位置的所述内插滤波器。
18.根据权利要求9所述的设备,其中所述设备为视频编码装置的组件。
19.根据权利要求9所述的设备,其中所述设备为视频解码装置的组件。
20.一种用于预测视频信号的设备,其包含:
用于获得像素块的装置,其中所述像素块包括对应于所述像素块内的整数像素位置的整数像素值;
用于计算所述像素块的第一子像素位置的第一子像素值的装置,其中计算所述第一子像素值包含应用第一内插滤波器,所述第一内插滤波器定义对应于滤波器支持位置的滤波器系数的第一一维阵列;
用于计算所述像素块的第二子像素位置的第二子像素值的装置,其中计算所述第二子像素值包含应用第二内插滤波器及应用第三内插滤波器,所述第二内插滤波器定义对应于水平滤波器支持位置的滤波器系数的第二一维阵列,所述第三内插滤波器定义对应于垂直滤波器支持位置的滤波器系数的第三一维阵列,其中:
所述第一一维阵列包含比所述第二一维阵列多的滤波器系数;
所述第一一维阵列包含比所述第三一维阵列多的滤波器系数;及
用于基于至少所述第一子像素值及所述第二子像素值来产生预测块的装置,
其中所述第一子像素位置处于与整数像素位置共同的垂直轴或与整数像素位置共同的水平轴上;
其中所述第二子像素位置不处于与整数像素位置共同的垂直轴上且不处于与整数像素位置共同的水平轴上。
21.根据权利要求20所述的设备,其中:
所述第一内插滤波器包含8分接头滤波器;
所述第二内插滤波器包含6分接头滤波器;且,
所述第三内插滤波器包含6分接头滤波器。
22.根据权利要求20所述的设备,其中所述第一内插滤波器的所述滤波器支持位置对应于整数像素位置的集合。
23.根据权利要求20所述的设备,其进一步包含:
用于将信令位编码的装置,其中所述信令位识别待用于子像素位置的特定内插滤波器。
24.根据权利要求23所述的设备,其中所述信令位单独地识别所述第二内插滤波器及所述第三内插滤波器。
25.根据权利要求23所述的设备,其中所述信令位识别包含所述第二内插滤波器及所述第三内插滤波器的组合。
26.根据权利要求20所述的设备,其进一步包含:
用于将旗标编码的装置,其中所述旗标指示待用于子像素位置的内插滤波器为先前用于所述子像素位置的所述内插滤波器。
27.根据权利要求20所述的设备,其进一步包含:
用于将信令位解码的装置,其中所述信令位识别待用于子像素位置的特定内插滤波器。
28.根据权利要求20所述的设备,其进一步包含:
用于将旗标解码的装置,其中所述旗标指示待用于子像素位置的内插滤波器为先前用于所述子像素位置的所述内插滤波器。
CN201180018697.XA 2010-04-12 2011-04-11 混合分接头滤波器 Active CN102835108B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US32325010P 2010-04-12 2010-04-12
US61/323,250 2010-04-12
US35074310P 2010-06-02 2010-06-02
US61/350,743 2010-06-02
US36118810P 2010-07-02 2010-07-02
US61/361,188 2010-07-02
US13/012,583 2011-01-24
US13/012,583 US9219921B2 (en) 2010-04-12 2011-01-24 Mixed tap filters
PCT/US2011/031998 WO2011130187A1 (en) 2010-04-12 2011-04-11 Mixed tap filters

Publications (2)

Publication Number Publication Date
CN102835108A CN102835108A (zh) 2012-12-19
CN102835108B true CN102835108B (zh) 2015-07-01

Family

ID=44760908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180018697.XA Active CN102835108B (zh) 2010-04-12 2011-04-11 混合分接头滤波器

Country Status (17)

Country Link
US (1) US9219921B2 (zh)
EP (2) EP4060989A1 (zh)
JP (2) JP5607236B2 (zh)
KR (1) KR101469338B1 (zh)
CN (1) CN102835108B (zh)
AU (1) AU2011240766B2 (zh)
BR (1) BR112012026153A2 (zh)
CA (1) CA2795204C (zh)
HK (1) HK1177078A1 (zh)
IL (1) IL222338A (zh)
MX (1) MX2012011882A (zh)
MY (1) MY154574A (zh)
RU (1) RU2543953C2 (zh)
SG (1) SG184313A1 (zh)
TW (1) TWI437888B (zh)
WO (1) WO2011130187A1 (zh)
ZA (1) ZA201208137B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120134425A1 (en) * 2010-11-29 2012-05-31 Faouzi Kossentini Method and System for Adaptive Interpolation in Digital Video Coding
US9172972B2 (en) 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
US9313519B2 (en) 2011-03-11 2016-04-12 Google Technology Holdings LLC Interpolation filter selection using prediction unit (PU) size
US9264725B2 (en) 2011-06-24 2016-02-16 Google Inc. Selection of phase offsets for interpolation filters for motion compensation
JP5727673B2 (ja) 2011-07-01 2015-06-03 モトローラ モビリティ エルエルシーMotorola Mobility Llc 時間予測のためのジョイントサブピクセル補間フィルタ
US20140078394A1 (en) * 2012-09-17 2014-03-20 General Instrument Corporation Selective use of chroma interpolation filters in luma interpolation process
US11122262B2 (en) 2014-06-27 2021-09-14 Samsung Electronics Co., Ltd. System and method for motion compensation in video coding
US10009622B1 (en) 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
KR20180042899A (ko) * 2016-10-19 2018-04-27 디지털인사이트 주식회사 적응적 보간 필터를 사용하는 비디오 코딩 방법 및 장치
US10841610B2 (en) * 2017-10-23 2020-11-17 Avago Technologies International Sales Pte. Limited Block size dependent interpolation filter selection and mapping
GB2574380A (en) * 2018-05-30 2019-12-11 Realvnc Ltd Processing image data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232622A (zh) * 2001-09-17 2008-07-30 诺基亚有限公司 用于子像素值内插的方法
CN101632306A (zh) * 2006-12-01 2010-01-20 法国电信公司 用于运动补偿预测视频编码和解码的自适应内插方法和系统
WO2010039288A1 (en) * 2008-10-03 2010-04-08 Qualcomm Incorporated Digital video coding with interpolation filters and offsets

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421698B1 (en) * 1998-11-04 2002-07-16 Teleman Multimedia, Inc. Multipurpose processor for motion estimation, pixel processing, and general processing
WO2003030556A1 (en) 2001-09-18 2003-04-10 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
BR0304545A (pt) * 2002-01-14 2004-11-03 Nokia Corp Método de codificação das imagens em uma sequência de vìdeo digital para fornecer os dados de vìdeo codificados, codificador de vìdeo, método de decodificação dos dados indicativos de uma sequência de vìdeo digital, decodificador de vìdeo, e, sistema de decodificação de vìdeo
JP3861698B2 (ja) * 2002-01-23 2006-12-20 ソニー株式会社 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
US7620109B2 (en) 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US20040076333A1 (en) 2002-10-22 2004-04-22 Huipin Zhang Adaptive interpolation filter system for motion compensated predictive video coding
EP1617672A1 (en) 2004-07-13 2006-01-18 Matsushita Electric Industrial Co., Ltd. Motion estimator/compensator including a 16-bit 1/8 pel interpolation filter
US7623575B2 (en) 2005-01-05 2009-11-24 Lsi Corporation Method and apparatus for sub-pixel motion compensation
KR20080044874A (ko) 2005-08-15 2008-05-21 노키아 코포레이션 비디오 코딩 시의 갱신 연산을 위한 서브 픽셀 보간 방법및 장치
US20080075165A1 (en) 2006-09-26 2008-03-27 Nokia Corporation Adaptive interpolation filters for video coding
EP2127391A2 (en) * 2007-01-09 2009-12-02 Nokia Corporation Adaptive interpolation filters for video coding
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8416861B2 (en) * 2007-10-14 2013-04-09 Nokia Corporation Fixed-point implementation of an adaptive image filter with high coding efficiency
EP2106136A1 (en) 2008-03-28 2009-09-30 Sony Corporation Motion compensated temporal interpolation for frame rate conversion of video signals
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
US9077971B2 (en) 2008-04-10 2015-07-07 Qualcomm Incorporated Interpolation-like filtering of integer-pixel positions in video coding
US20090257499A1 (en) 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
JP4977094B2 (ja) 2008-06-25 2012-07-18 株式会社東芝 画像符号化方法
JP5158003B2 (ja) 2009-04-14 2013-03-06 ソニー株式会社 画像符号化装置と画像符号化方法およびコンピュータ・プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232622A (zh) * 2001-09-17 2008-07-30 诺基亚有限公司 用于子像素值内插的方法
CN101632306A (zh) * 2006-12-01 2010-01-20 法国电信公司 用于运动补偿预测视频编码和解码的自适应内插方法和系统
WO2010039288A1 (en) * 2008-10-03 2010-04-08 Qualcomm Incorporated Digital video coding with interpolation filters and offsets

Also Published As

Publication number Publication date
US20110249737A1 (en) 2011-10-13
CN102835108A (zh) 2012-12-19
TW201220854A (en) 2012-05-16
WO2011130187A1 (en) 2011-10-20
JP2013524731A (ja) 2013-06-17
CA2795204A1 (en) 2011-10-20
SG184313A1 (en) 2012-11-29
IL222338A (en) 2016-06-30
ZA201208137B (en) 2013-06-26
IL222338A0 (en) 2012-12-31
JP5607236B2 (ja) 2014-10-15
MY154574A (en) 2015-06-30
RU2012147772A (ru) 2014-05-27
BR112012026153A2 (pt) 2020-08-18
AU2011240766A1 (en) 2012-11-01
KR20130029077A (ko) 2013-03-21
EP4060989A1 (en) 2022-09-21
HK1177078A1 (zh) 2013-08-09
TWI437888B (zh) 2014-05-11
RU2543953C2 (ru) 2015-03-10
CA2795204C (en) 2015-12-08
US9219921B2 (en) 2015-12-22
KR101469338B1 (ko) 2014-12-24
EP2559249A1 (en) 2013-02-20
MX2012011882A (es) 2012-11-30
JP2014222902A (ja) 2014-11-27
AU2011240766B2 (en) 2014-02-13

Similar Documents

Publication Publication Date Title
CN102835108B (zh) 混合分接头滤波器
CN101990758B (zh) 基于固定滤波器或自适应滤波器的用于视频译码的由速率失真定义的内插
CN101990759B (zh) 用于在视频译码中进行内插的预测技术
CN102017630B (zh) 用于视频译码中的子像素位置的内插滤波的对称性
CN102017629B (zh) 用于视频译码中的子像素分辨率的内插滤波器支持
CN102265619B (zh) 切换式内插滤波器中的偏移计算方法
CN103262541B (zh) 使用四叉树来编码/解码块信息的方法、和使用该方法的装置
CN102017631B (zh) 视频译码中的整数像素位置的似内插滤波
CN102369731B (zh) 基于视频译码中的活动度量的滤波预测
CN103141100B (zh) 用于视频译码的帧内平滑滤波器
CN103250414A (zh) 用于内插视频译码的子像素的值的自适应支持
CN109716774A (zh) 用于视频译码的可变数目的帧内模式
CN104429072B (zh) 自适应差域空间和时间参考重构及平滑
CN103339939A (zh) 具有自适应分接头大小的低复杂性内插滤波
CN103270754A (zh) 对视频数据块的系数的模式相依扫描
CN104012096A (zh) 执行视频译码的运动向量预测
CN103597832A (zh) 用于使用相邻模式的视频译码的增强的帧内预测模式信令
CN103748882A (zh) 支持内侧视图运动预测模式的以多重视图译码为基础的三维视频译码编解码器
CN101999230A (zh) 子像素分辨率下的偏移
CN104365106A (zh) 发信用于视频译码的长期参考图片的数据
KR101646856B1 (ko) 감소된 해상도 화소 보간
CN105075263A (zh) 3d视频译码中的相邻块视差向量导出
CN103004196A (zh) 在经压缩位流中包含切换式内插滤波器系数
CN104429076A (zh) 用于可缩放视频译码和3d视频译码的一般化残差预测
CN113491132B (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: 1177078

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1177078

Country of ref document: HK