CN103650495B - 分辨率减小的像素内插 - Google Patents
分辨率减小的像素内插 Download PDFInfo
- Publication number
- CN103650495B CN103650495B CN201280032424.5A CN201280032424A CN103650495B CN 103650495 B CN103650495 B CN 103650495B CN 201280032424 A CN201280032424 A CN 201280032424A CN 103650495 B CN103650495 B CN 103650495B
- Authority
- CN
- China
- Prior art keywords
- value
- pixel
- pixel value
- video
- block
- 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.)
- Expired - Fee Related
Links
- 238000001914 filtration Methods 0.000 claims abstract description 66
- 230000000875 corresponding Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 description 45
- 238000000034 method Methods 0.000 description 41
- 101700002690 CLIP3 Proteins 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 21
- 239000000203 mixture Substances 0.000 description 9
- 238000006073 displacement reaction Methods 0.000 description 8
- 230000001131 transforming Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000051 modifying Effects 0.000 description 5
- 241001442055 Vipera berus Species 0.000 description 4
- 230000003044 adaptive Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 210000003660 Reticulum Anatomy 0.000 description 2
- XCCTYIAWTASOJW-XVFCMESISA-N Uridine-5'-Diphosphate Chemical compound O[C@@H]1[C@H](O)[C@@H](COP(O)(=O)OP(O)(O)=O)O[C@H]1N1C(=O)NC(=O)C=C1 XCCTYIAWTASOJW-XVFCMESISA-N 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 210000003127 Knee Anatomy 0.000 description 1
- 210000002381 Plasma Anatomy 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking Effects 0.000 description 1
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 239000003365 glass fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Abstract
可将偏移应用于在执行内插滤波操作时获得的中间值,使得应用所述偏移减小所述中间值的位深。可用所述减小的位深存储所述中间值,且当被检索时,可加回所述偏移,使得可使用具有所述原始位深的所述中间值来执行未来计算。
Description
本申请案主张以下美国临时申请案的优先权:2011年7月1日申请的第61/504,149号美国临时申请案;2011年7月8日申请的第61/506,016号美国临时申请案;2011年7月9日申请的第61/506,059号美国临时申请案;2011年7月13日申请的第61/507,564号美国临时申请案;以及2011年10月19日申请的第61/549,131号美国临时申请案;所述美国临时申请案中的每一者的全部内容特此以引用的方式并入。
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、智能电话及其类似者。数字视频装置实施视频压缩技术,例如在由MPEG-2、MPEG-4或ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)定义的标准中描述的技术,以更有效率地发射及接收数字视频信息。视频压缩技术可执行空间预测和/或时间预测以减小或移除视频序列中固有的冗余。
块基于块的帧间译码为一种极有用的译码技术,其依赖于时间预测来减少或移除视频序列的连续经译码单元的视频块之间的时间冗余。所述经译码单元可包括视频帧、视频帧的切片、图片群组,或经编码视频块的另一定义单元。对于帧间译码,视频编码器执行运动估计及运动补偿以跟踪两个或两个以上邻近经译码单元的对应视频块的移动。运动估计产生运动向量,其指示视频块相对于一个或一个以上参考帧或其它经译码单元中的对应预测视频块的位移。运动补偿使用所述运动向量来从一个或一个以上参考帧或其它经译码单元产生预测视频块。在运动补偿之后,通过从正被译码的原始视频块减去预测视频块而形成残余视频块。
视频编码器还可应用变换、量化和熵译码过程以进一步减小与残余块的传达相关联的位速率。变换技术可包括离散余弦变换(DCT)或概念上类似的过程。或者,可使用小波变换、整数变换或其它类型的变换。在DCT过程中,作为一实例,将一组像素值转换为变换系数,其可表示在频域中像素值的能量。将量化应用于变换系数,且量化通常涉及减小与任何给定变换系数相关联的位的数目的过程。熵译码包括共同地压缩译码模式序列、运动信息、经译码块图案和经量化变换系数的一个或一个以上过程。熵译码的实例包含(但不限于)内容自适应可变长度译码(CAVLC)及内容自适应二进制算术译码(CABAC)。
经译码的视频块可由可用于产生或识别预测性块的预测信息及指示正被译码的块与预测性块之间的差异的残余数据块表示。预测信息可包括用以识别预测数据块的一个或一个以上运动向量。如果给定运动向量,则解码器能够重建用以译码所述残余的预测性块。因此,给定一组残余块和一组运动向量(以及可能的一些额外语法),解码器可重建最初编码的视频帧。基于运动估计及运动补偿的帧间译码可实现很好的压缩,因为连续的视频帧或其它类型的经译码单元通常非常类似。经编码的视频序列可包括残余数据的块、运动向量及可能其它类型的语法。
已开发内插技术以便改善可在帧间译码中实现的压缩水平。举例来说,在运动补偿期间产生的预测性数据(其用以对视频块进行译码)可从视频帧或用于运动估计的其它经译码单元的视频块的像素进行内插。常常执行内插以产生预测性半像素(half pixel、half-pel)值和预测性四分之一像素(quarter pixel、quarter-pel)值。半像素值和四分之一像素值与子像素位置相关联。分数运动向量可用以在子像素分辨率下识别视频块以便俘获视频序列中的分数移动,且由此提供比整数视频块更类似于正译码的视频块的预测性块。
发明内容
本发明描述由编码器和解码器在视频编码和/或解码过程的预测阶段期间所应用的滤波技术。像素数据通常表示为一系列像素值(例如,明度值和/或色度值)。这些像素值常常为8位值或10位值,但还可使用其它位深。内插滤波通常涉及使用像素值执行一系列乘法和加法操作。归因于这些乘法和加法操作,在一些情况下,用10位像素值进行的内插滤波导致17位的中间值。然而,17位值可能不合需要,因为寄存器和其它计算机组件通常以16或32位为单位进行操作。尽管这些中间值可为17位,但由这些17位值覆盖的值范围可能仍然仅为16位。因此,本发明描述用将偏移应用于中间像素值以减小所述中间值的位深的技术。可接着用所述减小的位深存储所述中间值。当被检索以用于未来计算时,可将所述偏移加回到所述中间值,使得使用较高精度值执行所述计算,尽管存储了较低精度值。因此,在一些情况下,本发明的技术可通过维持可有效地存储的中间值同时最小化与减小中间值的位深相关联的精度的损失来改善译码系统的效率。
在一个实例中,一种方法包含:获得像素块,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值;将第一滤波操作应用于一群整数像素值以产生第一中间像素值;将第一偏移相加到所述第一中间像素值以产生第二中间像素值,其中相加所述第一偏移致使所述第二中间值具有比所述第一中间像素值小的位深;存储所述第二中间像素值;检索所述第二中间像素值;将第二偏移相加到所述所检索的第二中间值;将第二滤波操作应用于包括具有所述经相加的第二偏移的所述所检索的第二中间像素值的一群中间像素值,以计算用于子像素位置的第一像素值;以及至少基于用于所述子像素位置的所述第一像素值产生预测块。
在另一实例中,一种视频译码装置包含视频译码器,所述视频译码器经配置以:获得像素块,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值;将第一滤波操作应用于一群整数像素值以产生第一中间像素值;将第一偏移相加到所述第一中间像素值以产生第二中间像素值,其中相加所述第一偏移致使所述第二中间值具有比所述第一中间像素值小的位深;存储所述第二中间像素值;检索所述第二中间像素值;将第二偏移相加到所述所检索的第二中间值;将第二滤波操作应用于包括具有所述经相加的第二偏移的所述所检索的第二中间像素值的一群中间像素值,以计算用于子像素位置的第一像素值;以及至少基于用于所述子像素位置的所述第一像素值产生预测块。
在另一实例中,一种设备包含:用于获得像素块的装置,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值;用于将第一滤波操作应用于一群整数像素值以产生第一中间像素值的装置;用于将第一偏移相加到所述第一中间像素值以产生第二中间像素值的装置,其中相加所述第一偏移致使所述第二中间值具有比所述第一中间像素值小的位深;用于存储所述第二中间像素值的装置;用于检索所述第二中间像素值的装置;用于将第二偏移相加到所述所检索的第二中间值的装置;用于将第二滤波操作应用于包括具有所述经相加的第二偏移的所述所检索的第二中间像素值的一群中间像素值,以计算用于子像素位置的第一像素值的装置;以及用于至少基于用于所述子像素位置的所述第一像素值产生预测块的装置。
在另一实例中,一种计算机可读存储媒体存储指令,所述指令在执行时致使一个或一个以上处理器:获得像素块,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值;将第一滤波操作应用于一群整数像素值以产生第一中间像素值;将第一偏移相加到所述第一中间像素值以产生第二中间像素值,其中相加所述第一偏移致使所述第二中间值具有比所述第一中间像素值小的位深;存储所述第二中间像素值;检索所述第二中间像素值;将第二偏移相加到所述所检索的第二中间值;将第二滤波操作应用于包括具有所述经相加的第二偏移的所述所检索的第二中间像素值的一群中间像素值,以计算用于子像素位置的第一像素值;以及至少基于用于所述子像素位置的所述第一像素值产生预测块。
本发明的一个或一个以上方面的细节在附图及以下描述中陈述。从描述和图式且从权利要求书将明白本发明中所描述的技术的其它特征、目的和优点。
附图说明
图1是说明可实施本发明的技术的一个示范性视频编码和解码系统的框图。
图2是说明可执行符合本发明的技术的视频编码器的实例的框图。
图3是说明与预测数据相关联的整数像素位置和与经内插预测数据相关联的子像素位置的概念图。
图4是说明与预测数据相关联的整数像素位置以及与经内插预测数据相关联的垂直子像素位置和水平子像素位置的概念图。
图5是说明与预测数据相关联的整数像素位置以及与经内插预测数据相关联的非垂直和非水平子像素2L子像素位置的概念图。
图6是说明相对于子像素位置具有系数对称性的水平8像素滤波器支持的概念图。
图7是说明相对于子像素位置不具有系数对称性的水平8像素滤波器支持的概念图。
图8是说明相对于子像素位置具有系数对称性的垂直8像素滤波器支持的概念图。
图9是说明相对于子像素位置不具有系数对称性的垂直8像素滤波器支持的概念图。
图10是说明可对以本文中所描述的方式编码的视频序列进行解码的视频解码器的实例的框图。
图11是说明本发明的技术的流程图。
图12是说明与预测数据相关联的整数像素位置和与经内插预测数据相关联的子像素位置的概念图。
图13是说明与预测数据相关联的整数像素位置和与经内插预测数据相关联的子像素位置的概念图。
具体实施方式
本发明描述由编码器和解码器在视频编码和/或解码过程的预测阶段期间所应用的滤波技术。像素数据通常表示为一系列像素值(例如,明度值和/或色度值)。这些像素值常常为8位值或10位值,但还可使用其它位深。内插滤波通常涉及使用像素值执行一系列乘法和加法操作。归因于这些乘法和加法操作,在一些情况下,用10位像素值进行的内插滤波导致17位的中间值。然而,17位值可能不合需要,因为寄存器和其它计算机组件通常以16或32位为单位进行操作。尽管这些中间值可为17位,但本发明描述用于将这些17位值保持在仅为16位的值范围内的技术。本发明还描述用将偏移应用于中间像素值以减小所述中间值的位深的技术。可接着用所述减小的位深存储所述中间值。当被检索以用于未来计算时,可将所述偏移加回到所述中间值,使得使用较高精度值执行所述计算,尽管存储了较低精度值。因此,在一些情况下,本发明的技术可通过维持可有效地存储的中间值同时最小化与减小中间值的位深相关联的精度的损失来改善译码系统的效率。
图1是说明可用以实施本发明的方面的一个示范性视频编码和解码系统10的框图,本发明的方面大体上涉及用于处理像素内插过程期间的中间值的技术。如图1中所示,系统10包含经由通信信道15将经编码视频数据发射到目的地装置16的源装置12。源装置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)单元或其它硬件及软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,多路复用器-多路分用器单元可符合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可对10位值执行内插滤波,且将偏移应用于17位值,使得中间值减小到16位而具有极少的精度损失。举例来说,应用偏移可包含相加舍入因数且对中间值执行右移位运算。
图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可基于由MC模块35确定的运动向量从存储器34提取预测块。在具有分数像素精度的运动向量的情况下,MC单元37对来自存储器34的数据进行滤波以将此数据内插到子像素分辨率,例如,调用滤波器39以用于此过程。在一些情况下,可将用以产生子像素预测数据的内插滤波技术或模式作为一个或一个以上内插语法元素向熵译码单元46指示以包含于经译码位流中。
一旦预测模块32已产生预测块,视频编码器50就通过从经译码的原始视频块减去所述预测块而形式残余视频块(在图2中标记为“残余块”)。加法器48表示执行此减法运算的组件。变换单元38将变换(例如,离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包括残余变换块系数的视频块。举例来说,变换模块38可执行其它变换,例如通过H.264标准定义的变换,其概念上类似于DCT。还可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换模块38将变换应用于残余块,从而产生残余变换系数块。变换可将残余信息从像素域转换到频域。
量化模块40对残余变换系数进行量化以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。在量化之后,熵译码模块46对经量化的变换系数进行熵译码。举例来说,熵译码模块46可执行CAVLC、CABAC或另一熵译码方法。
熵译码模块46还可对从预测模块32或视频编码器50的其它组件获得的一个或一个以上预测语法元素进行译码。所述一个或一个以上预测语法元素可包含译码模式、一个或一个以上运动向量、用以产生子像素数据的内插技术、滤波器系数的组或子组,或与预测块的产生相关联的其它信息。根据本发明的一些方面,系数预测和量化模块41可预测性地编码和量化预测语法,例如滤波器系数。在熵译码模块46的熵译码之后,可将经编码视频和语法元素发射到另一装置,或将所述视频和语法元素存档用于稍后发射或检索。
逆量化模块42和逆变换模块44分别应用逆量化和逆变换以在像素域中重建残余块,例如以供稍后用作参考块。重建的残余块(在图2中标记为“重建的残余块”)可表示提供到变换模块38的残余块的经重建版本。归因于由量化和逆量化操作引起的细节的丢失,重建的残余块可不同于由求和器48产生的残余块。求和器51将重建的残余块相加到由预测模块32产生的运动补偿预测块以产生经重建视频块用于存储在存储器34中。重建的视频块可由预测模组32用作参考块,其可用以随后对后续视频帧或后续经译码单元中的块进行译码。
如上所述,预测模块32可执行具有分数像素(或子像素)精度的运动估计。当预测模块32使用分数像素运动估计时,预测模块32可使用本发明中描述的内插操作而按子像素分辨率产生数据(例如,子像素或分数像素值)。换句话说,使用内插运算来计算在整数像素位置之间的位置处的值。位于整数像素位置之间的距离一半处的子像素位置可称作半像素位置,位于整数像素位置与半像素位置之间的距离一半处的子像素位置可称作四分之一像素位置,位于整数像素位置(或半像素位置)与四分之一像素位置之间的距离一半处的子像素位置可称作八分之一像素位置,等等。
图3是说明与预测数据相关联的整数像素(或全像素)位置以及与经内插预测数据相关联的子像素(或分数像素)位置的概念图。在图3的概念说明中,不同的框表示在帧或帧的块内的像素及子像素位置。大写字母(在具有实线的框中)表示整数像素位置,而小写字母(在具有虚线的框中)表示子像素位置。明确地说,像素位置A1-A6、B1-B6、C1-C6、D1-D6、E1-E6及F1-F6表示帧、切片或其它经译码单元中的整数像素位置的6乘6阵列。额外整数像素位置G3和H3也展示于图3中以与稍后在本发明中描述的实例一起使用。子像素位置“a”到“o”表示与整数像素C3相关联的十五个子像素位置,例如,在整数像素位置C3、C4、D3与D4之间。对于每个整数像素位置,可存在类似的子像素位置。子像素位置“a”到“o”表示与整数像素C3相关联的每个半像素及四分之一像素位置。
当最初产生视频数据时,整数像素位置可与物理传感器元件(例如光电二极管)相关联。光电二极管可测量在传感器的位置处光源的强度且使像素强度值与整数像素位置相关联。再者,每一整数像素位置可具有相关联的十五个子像素位置(或可能更多)的组。与整数像素位置相关联的子像素位置的数目可取决于所要的精度。在图3中说明的实例中,所要的精度为四分之一像素精度,在所述情况下,整数像素位置中的每一者与十五个不同的子像素位置对应。可基于所要的精度使更多或更少的子像素位置与每一整数像素位置相关联。举例来说,对于半像素精度,每一整数像素位置可与三个子像素位置对应。作为另一实例,对于八分之一像素精度,整数像素位置中的每一者可与六十三个子像素位置对应。每一像素位置可定义一个或一个以上像素值,例如,一个或一个以上明度及色度值。
Y可表示明度,且Cb和Cr可表示三维YCbCr色彩空间的两个不同色度值。对于三维色彩空间,每一像素位置可实际上界定三个像素值。然而,为了简单起见,本发明的技术可提及相对于一个维度的预测。就相对于一个维度中的像素值描述技术来说,可将类似技术扩展到其它维度。在一些情况下,色度值在预测之前经子取样,但预测通常出现在明度空间中而无需任何子抽样,因为人类视力对于像素强度比对像素色彩更敏感。
在图3的实例中,针对四分之一像素精度说明也称子像素位置的与整数像素“C3”相关联的子像素位置。与像素C3相关联的15个子像素位置标记为“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”,也称为抽头(tap)的每一滤波器系数可分别对应于水平和垂直方向中的整数像素位置。明确地说,对于半像素位置“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)+偏移) (1)
h=((-3*G3+12*A3-39*B3+158*C3+158*D3-39*E3+12*F3-3*H3)+偏移) (2)
如同位置“b”,对于四分之一像素位置“a”和“c”,8抽头滤波器的抽头可对应于C0、C1、C2、C3、C4、C5、C6和C7,但不同于位置“b”,滤波器系数可能为非对称的且不同于位置“b”。举例来说,用于子像素位置“a”和“c”的像素值可使用方程式(3)和(4)来计算:
a=((-3*C0+12*C1-37*C2+229*C3+71*C4-21*C5+6*C6-C7)+偏移) (3)
c=((-C0+6*C1-21*C2+71*C3+229*C4-37*C5+12*C6-3*C7)+偏移) (4)
如同位置“h”,对于四分之一像素位置“d”和“l”,8抽头滤波器的抽头可对应于G3、A3、B3、C3、D3、E3、F3和H3,但不同于位置“h”,滤波器系数可能为非对称的且不同于位置“h”。举例来说,用于子像素位置“d”和“l”的像素值可使用方程式(5)和(6)来计算:
d=((-3*G3+12*A3-37*B3+229*C3+71*D3-21*E3+6*F3-H3)+偏移) (5)
l=((-3*G3+6*A3-21*B3+71*C3+229*D3-37*E3+12*F3-3*H3)+偏移) (6)
尽管上文对于方程式(1)到(6)给出的实例系数大体上对于水平子像素和垂直子像素两者使用相同系数,但并不需要用于水平与垂直子像素的系数相同。举例来说,方程式(1)和(2)、(3)和(5)以及(4)和(6)在以上实例中分别具有相同系数,但在一些实施方案中,每一者可具有不同系数。
视频编码器40的预测模块32还可通过滤波器模块39使用内插滤波确定用于2L子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”和“o”的像素值。对于2L子像素位置,水平滤波后为垂直滤波,或反之亦然。第一滤波操作确定中间值,且第二滤波操作利用所述中间值来确定用于子像素位置的像素值。举例来说,为确定用于“j”的值,可使用8抽头水平滤波器来使用以下方程式确定用于“aa”、“bb”、“b”、“hh”、“ii”和“jj”的中间值:
aa=((-1*A0+4*A1-11*A2+40*A3+40*A4-11*A5+4*A6-1*A7)+偏移) (7)
bb=((-1*B0+4*B1-11*B2+40*B3+40*B4-11*B5+4*B6-1*B7)+偏移) (8)
b=((-1*C0+4*C1-11*C2+40*C3+40*C4-11*C5+4*C6-1*C7)+偏移) (9)
hh=((-1*D0+4*D1-11*D2+40*D3+40*D4-11*D5+4*D6-1*D7)+偏移) (10)
ii=((-1*E0+4*E1-11*E2+40*E3+40*E4-11*E5+4*E6-1*E7)+偏移) (11)
jj=((-1*F0+4*F1-11*F2+40*F3+40*F4-11*F5+4*F6-1*F7)+偏移) (12)
kk=((-1*G0+4*G1-11*G2+40*G3+40*G4-11*G5+4*G6-1*G7)+偏移) (13)
ll=((-1*H0+4*H1-11*H2+40*H3+40*H4-11*H5+4*H6-1*H7)+偏移) (14)
归因于方程式(7)到(14)中所执行的乘法和加法操作,用于“aa”、“bb”、“b”、“hh”、“ii”、“jj”、“kk”和“ll”的中间值在一些情况下可为17位值。举例来说,如果“aa”、“bb”、“b”、“hh”、“ii”、“jj”、“kk”和“ll”为范围在0到1023之间的10位值,则在与正滤波器系数相乘的像素值为1023且与负滤波器系数相乘的像素值为零的情形中,使用以上实例系数,方程式(7)到(14)可导致高达90024的值。然而,由方程式(7)到(14)产生的17位值仅覆盖16位值范围。因此,本发明的技术包含将偏移相加到17位值以将中间值减小到16位值。可使用右移位运算应用偏移。另外,偏移可包含致使方程式(7)到(14)的值在减小到16位时被上舍入的舍入因数。
通过将8抽头垂直滤波器应用于以上确定的16位中间值,可使用以下方程式确定用于“j”的值:
j=((3*kk+8*aa-40*bb+160*c3+160*hh-40*ii+8*jj+3*ll)+偏移) (15)
归因于方程式(15)中所执行的乘法和加法操作,用于j的值可为21位值。因此,为将21位值减小到10位值,本发明的技术包含对21位值执行右移位运算以将中间值减小到10位值。方程式(15)的偏移值可包含致使方程式15的值在减小到10位时被上舍入的舍入项。
以上实例已描述了其中首先应用水平滤波随后应用垂直滤波的技术。然而,在一些实施方案中,可首先应用垂直滤波随后应用水平滤波。举例来说,可使用8抽头垂直滤波器来找出用于“cc”、“dd”、“h”、“ee”、“ff”和“gg”加上图3中未展示的两个额外值的中间值,且可将8抽头水平滤波器应用于那些中间值以确定用于“j”的像素值。
类似于上文针对子像素“j”所描述的程序,用于子像素位置“e”、“f”、“g”、“i”、“k”、“m”、“n”和“o”的像素值可通过首先执行水平滤波操作以确定中间值且接着将垂直滤波器应用于那些中间值来确定,或通过首先执行垂直滤波操作以确定中间值且接着将水平滤波器应用于由所述垂直滤波确定的中间值来确定。当上文针对子像素“j”用作实例的水平和垂直滤波器两者使用对称系数时,用以确定其它2D子像素值的像素值的水平或垂直滤波器中的一者或两者可不对称。举例来说,在一个示范性实施方案中,用于子像素位置“e”、“g”、“m”和“o”的水平和垂直滤波器两者可使用非对称系数。子像素位置“f”和“n”可使用具有对称系数的水平滤波器和具有非对称系数的垂直滤波器,且子像素位置“i”和“k”可使用具有非对称系数的水平滤波器和具有对称滤波器系数的垂直滤波器。
由滤波器模块39应用以产生子像素位置处的内插数据的实际滤波器可经受广泛多种实施方案。作为一个实例,预测模块32可利用AIF,其中滤波器系数由视频编码器22计算且在位流中发射到视频解码器28。作为另一实例,预测模块32可利用切换式滤波,其中视频编码器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抽头滤波器。
图10是说明可对以本文中所描述的方式编码的视频序列进行解码的视频解码器的实例的框图。视频解码器60为在本文中称为“译码器”的专门视频计算机装置或设备的一个实例。视频解码器60包含熵解码模块52,其对所接收的位流进行熵解码以产生经量化系数和预测语法元素。预测语法元素可包含译码模式、一个或一个以上运动向量、识别用以产生子像素数据的内插技术的信息、用于内插滤波中的系数,和/或与产生预测块相关联的其它信息。
预测语法元素(例如系数)转发到预测模块55。如果使用预测来相对于固定滤波器的系数或相对于彼此对系数进行译码,则系数预测和逆量化模块53可对语法元素进行解码以界定实际系数。此外,如果量化应用于预测语法中的任一者,则系数预测和逆量化模块53还可移除此量化。举例来说,滤波器系数可根据本发明而经预测性译码和量化,且在此情况下,系数预测和逆量化模块53可由视频解码器60使用以对此些系数进行预测性地解码和去量化。
预测模块5可基于预测语法元素和存储在存储器62中的一个或一个以上先前经解码块以与如上文相对于视频编码器50的预测模块32详细描述的方式大致相同的方式产生预测数据。明确地说,预测模块55可在运动补偿期间执行本发明的内插滤波技术中的一者或一者以上以按特定精度(例如四分之一像素精度)产生预测块。由此,本发明的技术中的一者或一者以上可由视频解码器60在产生预测块时使用。预测模块55可包含运动补偿模块,其包括用于本发明的内插和内插式滤波技术的滤波器。为说明的简单和容易起见未在图10中展示运动补偿组件。
逆量化模块56对经量化系数进行逆量化,即去量化。逆量化过程可为针对H.264解码界定的过程。逆变换模块58将逆变换(例如,逆DCT或概念上类似的逆变换过程)应用于变换系数,以便在像素域中产生残余块。求和器64对残余块与由预测模块55产生的对应预测块进行求和以形成由视频编码器50编码的原始块的重建版本。如果需要,还可应用解块滤波器以对经解码块进行滤波,以便移除成块假影。接着将经解码的视频块存储于参考帧存储装置62中,所述参考帧存储装置62提供用于后续运动补偿的参考块且还产生经解码的视频以驱动显示装置(例如图1的装置28)。
图11是说明本发明的技术的流程图。举例来说,图11的技术可通过视频编码器50的预测模块32或视频解码器60的预测模块55来执行。预测模块获得像素块,所述像素块包含对应于像素块内的整数像素位置的整数像素值(1101)。预测模块将第一滤波操作应用于一群整数像素值以产生第一中间像素值(1102)。所述群整数像素值可例如为10位值。预测模块将第一偏移应用于中间像素值以产生第二中间像素值(1103)。第一中间像素值可例如为17位值,且第一偏移可将第一中间像素值减小到16位第二中间像素值。预测模块存储所述第二中间像素值(1104)。由于所述第二中间像素值为16位,因此第二中间像素值可例如有效地存储在16位暂存器中。预测模块可检索所述第二中间像素值(1105)。预测模块可将第二偏移相加到所检索的第二中间值。预测模块可将第二滤波操作应用于具有经相加第二偏移值的所检索的第二中间像素值以计算用于子像素位置的第一像素值(1107)。预测模块可至少基于用于子像素位置的第一像素值而产生预测块(1108)。
图12和图13是说明与预测数据相关联的整数像素位置和与经内插预测数据相关联的子像素位置的概念图。图12和图13说明本发明中描述的技术的实例。这些技术可例如由视频编码器50、视频解码器60或其它类型的视频译码器执行。在图12中,阴影块内用大写字母标记的位置Ai,j表示在明度样本的给定二维阵列refPicLXL内侧的全样本位置处的明度样本。在图12中,整数样本展示为具有大写字母的阴影块,且分数样本位置展示为具有小写字母的非阴影块(对于四分之一样本明度内插)。
这些样本可用于产生预测明度样本值predSampleLXL[xL,yL]。用于明度样本的给定阵列refPicLXL内侧的对应明度样本Ai,j中的每一者的位置(xAi,j,yAi,j)可如下导出:
xAi,j=Clip3(0,PicWidthInSamplesL-1,xIntL+i) (16)
yAi,j=Clip3(0,PicHeightInSamplesL-1,yIntL+j) (17)
其中(xIntL,yIntL)为全样本单元中的明度位置。
变量shift1、shift2、shift3、offset1和offset2可如下导出:
·变量shift1可设定为等于BitDepthY-8。变量shift2可设定为等于BitDepthY-2,且变量shift3可设定为等于14-BitDepthY。BitDepthY可设定为等于8+bit_depth_luma_minus8,其中bit_depth_luma_minus8+8指定明度阵列的样本的位深。
·如果变量shift1等于0,则变量offset1设定为等于0。否则,变量offset1可设定为等于1<<(shift1-1)。
·变量offset2可设定为等于1<<(shift2-1)。
给定全样本位置(xAi,j,yAi,j)处的明度样本Ai,j,可通过以下规则导出分数样本位置处的明度样本“a0,0”到“r0,0”。标记为a0,0、b0,0、c0,0、d0,0、h0,0和n0,0的样本可通过将8抽头滤波器应用于最靠近的整数位置样本并对经滤波值进行限幅来导出:
a0,0=(-A-3,0+4*A-2,0-10*A-1,0+57*A0,0+19*A1,0-7*A2,0+3*A3,0-A4,0+offset1)>>shift1 (18)
b0,0=(-A-3,0+4*A-2,0-11*A-1,0+40*A0,0+40*A1,0-11*A2,0+4*A3,0-A4,0+offset1)>>shift1 (19)
c0,0=(-A-3,0+3*A-2,0-7*A-1,0+19*A0,0+57*A1,0-10*A2,0+4*A3,0-A4,0+offset1)>>shift1 (20)
d0,0=(-A0,-3+4*A0,-2-10*A0,-1+57*A0,0+19*A0,1-7*A0,2+3*A0,3-A0,4+offset1)>>shift1 (21)
h0,0=(-A0,-3+4*A0,-2-11*A0,-1+40*A0,0+40*A0,1-11*A0,2+4*A0,3-A0,4+offset1)>>shift1 (22)
n0,0=(-A0,-3+3*A0,-2-7*A0,-1+19*A0,0+57*A0,1-10*A0,2+4*A0,3-A0,4+0ffset1)>>shift1 (23)
标记为e0,0、f0,0、g0,0、i0,0、j0,0、k0,0、p0,0、q0,0和r0,0的样本可通过首先通过在垂直方向上将8抽头滤波器应用于最靠近的整数位置样本来计算指示为d1i,0、h1i,0和n1i,0(其中i=-3..4)的中间值而导出:
d1i,0=-Ai,-3+4*Ai,-2-10*Ai,-1+57*Ai,0+19*Ai,1-7*Ai,2+3*Ai,3-Ai,4 (24)
h1i,0=-Ai,-3+4*Ai,-2-11*Ai,-1+40*Ai,0+40*Ai,1-11*Ai,2+4*Ai,3-Ai,4 (25)
n1i,0=-Ai,-3+3*Ai,-2-7*Ai,-1+19*Ai,0+57*Ai,1-10*Ai,2+4*Ai,3-Ai,4 (26)
最终预测值e0,0、f0,0、g0,0、i0,0、j0,0、k0,0、p0,0、q0,0和r0,0可通过在水平方向上将8抽头滤波器应用于中间值d1i,0、h1i,0和n1i,0(其中i=-3..4)而导出:
e0,0=(-d1-3,0+4*d1-2,0-10*d1-1,0+57*d10,0+19*d11,0-7*d12,0+3*d13,0-d14,0+offset2)>>shift2 (27)
f0,0=(-d1-3,0+4+d1-2,0-11*d1-1,0+40*d10,0+40*d11,0-11*d12,0+4*d13,0-d14,0+offset2)>>shift2 (28)
g0,0=(-d1-3,0+3*d1-2,0-7*d1-1,0+19*d10,0+57*d11,0-10*d12,0+4*d13,0-d14,0+offset2)>>shift2 (29)
i0,0=(-h1-3,0+4*h1-2,0-10*h1-1,0+57*h10,0+19*h11,0-7*h12,0+3*h13,0-h14,0+offset2)>>shift2 (30)
j0,0=(-h1-3,0+4*h1-2,0-11*h1-1,0+40*h10,0+40*h11,0-11*h12,0+4*h13,0-h14,0+offset2)>>shift2 (31)
k0,0=(-h1-3,0+3*h1-2,0-7*h1-1,0+19*h10,0+57*h11,0-10*h12,0+4*h13,0-h14,0+offset2)>>shift2 (32)
p0,0=(-n1-3,0+4*n1-2,0-10*n1-1,0+57*n10,0+19*n11,0-7*n12,0+3*n13,0-n14,0+offset2)>>shift2 (33)
q0,0=(-n1-3,0+4*n1-2,0-11*n1-1,0+40*n10,0+40*n11,0-11*n12,0+4*n13,0-n14,0+offset2)>>shift2 (34)
t0,0=(-n1-3,0+3*n1-2,0-7*n1-1,0+19*n10,0+57*n11,0-10*n12,0+4*n13,0-n14,0+offset2)>>shift2 (35)
在非阴影块内用小写字母标记的位置表示四分之一像素样本分数位置处的明度样本。分数样本单元(xFracL,yFracL)中的明度位置偏移指定将全样本和分数样本位置处所产生的明度样本中的哪一者指派给预测明度样本值predSampleLXL[xL,yL]。predSampleLXL[xL,yL]的值可为输出。
本发明的技术还可应用于色度样本内插过程。到此过程的实例输入为:
-全样本单元中的色度位置(xIntC,yIntC),
-分数样本单元中的色度位置(xFracC,yFracC),
-色度参考样本阵列refPicLXC。
此过程的输出可为预测色度样本值predSampleLXC[xC,yC]。
图13展示用于第八样本色度内插的整数样本(具有大写字母的阴影块)和分数样本位置(具有小写字母的非阴影块)。在图13中,阴影块内用大写字母标记的位置Bi,j表示色度样本的给定二维阵列refPicLXC内侧的全样本位置处的色度样本。这些样本可用于产生预测色度样本值predSampleLXC[xC,yC]。用于色度样本的给定阵列refPicLXC内侧的对应色度样本Bi,j中的每一者的位置(xBi,j,yBi,j)如下导出:
xBi,j=Clip3(0,PicWidthInSamplesC-1,xIntC+i) (36)
yBi,j=Clip3(0,PicHeightInSamplesC-1,yIntC+j) (37)
变量shift1、shift2、shift3、offset1和offset2如下导出。
-变量shift1设定为等于BitDepthC-8,变量shift2设定为等于BitDepthC-2,且变量shift3设定为等于14-BitDepthC。
-如果变量shift1等于0,则变量offset1设定为等于0,否则,变量offset1设定为等于1<<(shift1-1)。
-变量offset2设定为等于1<<(shift2-1)。
给定全样本位置(xBi,j,yBi,j)处的色度样本Bi,j,通过以下规则导出分数样本位置处的色度样本“ab0,0”到“hh0,0”。
标记为ab0,0、ac0,0、ad0,0、ae0,0、af0,0、ag0,0和ah0,0的样本可通过将4抽头滤波器应用于最靠近的整数位置样本并对经滤波值进行限幅来导出:
ab0,0=Clip3(0,(1<<14)-1,(-3+B-1,0+60*B0,0+8*B1,0-B2,0+offset1)>>shift1) (38)
ac0,0=Clip3(0,(1<<14)-1,(-4*B-1,0+54*B0,0+16*B1,0-2*B2,0+offset1)>>shift1) (39)
ad0,0=Clip3(0,(1<<14)-1,(-5*B-1,0+46*B0,0+27*B1,0-4*B2,0+offset1)>>shift1) (40)
ae0,0=C1ip3(0,(1<<14)-1,(-4*B-1,0+36*B0,0+36*B1,0-4*B2,0+offset1)>>shift1) (41)
af0,0=Clip3(0,(1<<14)-1,(-4*B-1,0+27*B0,0+46*B1,0-5*B2,0+offset1)>>shift1) (42)
ag0,0=Clip3(0,(1<<14)-1,(-2*B-1,00+16*B0,0+54*B1,0-4*B2,0+offset1)>>shift1) (43)
ah0,0=Clip3(0,(1<<14)-1,(-B-1,0+8*B0,0+60*B1,0-3*B2,0+offset1)>>shift1) (44)
标记为ba0,0、ca0,0、da0,0、ea0,0、fa0,0、ga0,0和ha0,0的样本可通过将4抽头滤波器应用于最靠近的整数位置样本并对经滤波值进行限幅来导出:
ba0,0=Clip3(0,(1<<14)-1,(-3*B0,-1+60*B0,0+8*B0,1-B0,2+offset1)>>shift1) (45)
ca0,0=Clip3(0,(1<<14)-1,(-4*B0,-1+54*B0,0+16*B0,1-2*B0,2+offset1)>>shift1) (46)
da0,0=Clip3(0,(1<<14)-1,(-5*B0,-1+46*B0,0+27*B0,1-4*B0,2+offset1)>>shift1) (47)
ea0,0=Clip3(0,(1<<14)-1,(-4*B0,-1+36*B0,0+36*B0,1-4*B0,2+offset1)>>shift1) (48)
fa0,0=Clip3(0,(1<<14)-1,(-4*B0,-1+27*B0,0+46*B0,1-5*B0,2+offset1)>>shift1) (49)
ga0,0=Clip3(0,(1<<14)-1,(-2*B0,-1+16*B0,0+54*B0,1-4*B0,2+offset1)>>shift1) (50)
ha0,0=Clip3(0,(1<<14)-1,(-B0,-1+8*B0,0+60*B0,1-3*B0,2+offset1)>>shift1) (51)
标记为Xb0,0、Xco0,0、Xd0,0、Xe0,0、Xf0,0、Xg0,0和Xh0,0(X分另由b、c、d、e、f、g和h替换)的样本可通过首先通过在垂直方向上将4抽头滤波器应用于最靠近的整数位置样本来计算指示为bai,0、cai,0、dai,0、eai,0、fai,0、gai,0和hai,0(其中i=-1..2)的中间值而导出:
bai,0=-3*B0,-1+60*B0,0+8*B0,1-B0,2 (52)
cai,0=-4*B0,-1+54*B0,0+16*B0,1-2*B0,2 (53)
dai,0=-5*B0,-1+46*B0,0+27*B0,1-4*B0,2 (54)
eai,0=-4*B0,-1+36*B0,0+36*B0,1-4*B0,2 (55)
fai,0=-4*B0,-1+27*B0,0+46*B0,1-5*B0,2 (56)
gai,0=-2*B0,-1+16*B0,0+54*B0,1-4*B0,2 (57)
hai,0=-B0,-1+8*B0,0+60*B0,1-3*B0,2 (58)
最终预测值Xb0,0、Xc0,0、Xd0,0、Xe0,0、Xf0,0、Xg0,0和Xh0,0(X分别由b、c、d、e、f、g和h替换)可通过在水平方向上将4抽头滤波器应用于中间值Xai,0(其中i=1..2)来导出:
Xb0,0=Clip3(0,(1<<14)-1,(-3*Xa-1,0+60*Xa0,0+8*Xa1,0-Xa2,0+offset2)>>shift2) (59)
Xc0,0=Clip3(0,(1<<14)-1,(-4*Xa-1,0+54*Xa0,0+16*Xa1,0-2*Xa2,0+offset2)>>shift2) (60)
Xd0,0=Clip3(0,(1<<14)-1,(-5*Xa-1,0+46*Xa0,0+27*Xa1,0-4*Xa2,0+offset2)>>shift2) (61)
Xe0,0=Clip3(0,(1<<14)-1,(-4*Xa-1,0+36*Xa0,0+36*Xa1,0-4*Xa2,0+offset2)>>shift2) (62)
Xf0,0=Clip3(0,(1<<14)-1,(-4*Xa-1,0+27*Xa0,0+46*Xa1,0-5*Xa2,0+offset2)>>shift2) (63)
Xg0,0=Clip3(0,(1<<14)-1,(-2*Xa-1,0+16*Xa0,0+54*Xa1,0-4*Xa2,0+offset2)>>shift2) (64)
Xh0,0=Clip3(0,(1<<14)-1,(-Xa-1,0+8*Xa0,0+60*Xa1,0-3*Xa2,0+offset2)>>shift2) (65)
根据本发明的技术,为内插e0,0、f0,0、g0,0、i0,0、j0,0、k0,0、p0,0、q0,0和r0,0,预测模块可执行两阶段内插滤波(即,垂直方向上的一个滤波操作和水平方向上的一个滤波操作)。为了更有效地存储中间值,可能需要使在所述两个阶段之间确定的中间值保持在16位。假定出于解释的目的,第一阶段内插滤波如下:
x=C1A1+C2A2+C3A3+C4A4+C5A5+C6A6+C7A7+C8A8,
其中C1到C8表示内插滤波器系数,且A1到A8表示全样本值。在系数-1、4、-11、40、40、-11、4、-1用于C1到C8时,当前HEVC内插滤波器通常产生7位增益。还可使用其它系数,且其它系数可类似地导致7位增益。当输入值对于10位值具有0到1023的正值时,经滤波系数值偏向正值。本发明的技术可限制动态范围,且同时还将值变为16位值。在潜在地不影响译码增益的情况下实现此的一种方式是将中间值通过舍入而右移位1以使值进入16位范围。如果实施方案需要使用16位值,则这些16位范围值可通过偏移移位以使所述值拟合到带正负号的16值,如由以下伪码所示。
如果(BitDepthY-8)等于0,则x为16位值,且不存在溢位。
如果(BitDepthY-8)等于1,
在此实例中,x具有16位范围,但x的值可能大于16位(例如17位)。为将17位x值变为16位,可从x值减去适当偏移(以上方程式中的offset2)以使得x值可存储为16位值。稍后,当x值将要重新使用时,可将此偏移加回到x以获得原始值。x值的范围由x的最大值与最小值的差异界定。因此,即使最大值为17位值,最大值与最小值之间的值范围仍可仅为16位。
以此方式,偏移的值可为足以将17位值减小到16位值的值。偏移可为非标准化的,这意味着可由译码装置实施特定偏移而与译码标准或位流配置无关。在对相同的经编码视频数据进行解码时,一个视频解码器可例如使用与第二视频解码器不同的偏移值。
当经滤波值移位了移位量时,在第二阶段滤波中,第二阶段的移位量可减小一移位量,且可相应地调整其对应的舍入偏移。
在数据为17位且范围为16位时保持16位的精度而不需要偏移的另一替代方案是再向右移一位。因此,上文介绍的在具有或不具有舍入偏移的情况下右移位1可由在具有或不具有舍入的情况下右移位2来替换。滤波的排序可为首先垂直随后水平,或反之亦然。对于其中在第一阶段滤波之后,不具有右移位的中间值可能溢位16位的2D滤波情况,当前中间值右移位2。因此,第二阶段将具有小1的右移位以补偿此额外移位。所有此描述是针对其中输入样本有效地为10位(位深+位增量)的情况。
本发明的技术还可应用于使用高精度双向预测的内插。在此些情况下,对于每一预测方向,执行水平滤波随后为垂直滤波(或反之亦然),且两阶段滤波的输出保持在较高精度,直到最终两个预测的最终平均化。为在第一阶段滤波之后保持数据为16位,经滤波数据可向右移位2位(具有或不具有舍入)。在第二阶段之后,数据可向右移位7位以实现最终的16位值。可在具有或不具有舍入的情况下进行向下移位。此为上文所描述的其中在第一阶段中应用1位移位而在第二阶段中应用7位移位且使用偏移来将17位数据移动到16位整数值的情况的替代方案。最终,可通过用舍入向上与向下移位4对其进行求和来对两个预测方向求平均。
对于8位输入数据,也可能对于双向预测情况出现数据值大于16位的问题。在此情况下,在第一阶段滤波之后,可能不需要应用偏移(或右移位运算),但在第二阶段滤波之后,数据可向下移位6位。最终结果可为具有16位范围的17位值。如上所述,可将偏移相加到17位值以将其减小到16位值用于存储。当被检索以用于未来计算时,可将所述偏移加回到16位值以使其返回到原始17位值。在一些情况下,代替使用偏移,可将中间值向下移位7位(具有或不具有舍入偏移)。可执行一种与在10位情况(通过用舍入向上与向下移位4而对其进行求和)中类似的对两个预测方向求平均。
保持中间数据值在16位范围内的另一方式可为在第一阶段滤波之后,如下对经滤波结果进行右移位:
移位=BitDepthY-8,
x=x>>移位,
其中不存在舍入偏移。
接着,对于第二阶段滤波,为将结果保持在16位范围内,在不使用舍入偏移的情况下将值向右移位7而非6。
类似论断对于色度成立。用于色度样本的2D滤波,色度内插滤波器的最大增益为27+46=73。此係对于以下滤波器:
dai,0=-5*B0,-1+46*B0,0+27*B0,1-4*B0,2 (66)
因此,对于10位输入,最大值将为1023*73。将此值向下变为16位范围值的一种方式是在具有或不具有舍入偏移的情况下向右移位1。或者,可通过在具有或不具有舍入的情况下向右移位2而将其向下变为16位值。此额外右移位将通过在第二阶段滤波之后移位小1来加以补偿。
色度双向预测情况可类似于上文所描述的明度情况。为了对于每一列表预测值具有16位值,在第二阶段滤波之后,样本值可再移位1位,因此变成7位。此额外位移位将在双向预测平均化阶段加以补充。
当使用双向预测时,可能存在混合不同种类的预测以形成最终预测样本的可能性。举例来说,可使用1D双向预测执行一个预测,而可使用2D双向预测执行其它预测。通过引入额外的1位移位以使2D双向预测值保持在16位值中,2D双向预测与1D双向预测的分辨率不同。1D双向预测具有1额外位精度(存在4位增益(6位滤波器增益-2位右移位)。2D双向预测具有来自2D滤波的6+6增益-2位右移位-7位右移位=3位增益。为使所有增加保持相等,可能需要向下移位1额外位以使其具有类似于2D双向预测情况的3位增益。因此,将通过右移位3而非2(对于10位输入)来获得1D双向预测样本。类似情况适用于8位输入样本。在此情况下,1D双向预测样本可移位1位。
本发明的技术可实施于各种各样的装置或设备中,包含无线手持机及集成电路(IC)或一组IC(即,芯片组)。提供已描述的任何组件、模块或单元是为了强调功能方面,且未必要求通过不同硬件单元来实现。
因此,本文中所描述的技术可实施于硬件、软件、固件或其任何组合中。如果在硬件中实施,则描述为模块、单元或组件的任何特征可一起实施于集成逻辑装置中或单独作为离散但能共同操作的逻辑装置而实施。如果在软件中实施,则所述技术可至少部分地由包括指令的计算机可读媒体实现,当在处理器中执行时,所述指令实施上述方法中的一者或一者以上。计算机可读媒体可包括非暂时性计算机可读存储媒体,且可形成可包含封装材料的计算机程序产品的部分。计算机可读存储媒体可包括例如同步动态随机存取存储器(SDRAM)等随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或替代地,所述技术可至少部分由载运或传送呈指令或数据结构的形式的代码且可由计算机存取、读取和/或执行的计算机可读通信媒体来实现。
所述代码可由一个或一个以上处理器执行,例如,一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散的逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置以用于编码及解码的专用软件模块或硬件模块内,或并入组合式视频编解码器中。此外,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
已经描述了本发明的各种方面。这些及其它方面均处于所附权利要求书的范围内。
Claims (24)
1.一种对像素块进行译码的方法,其包括:
由视频译码装置获得像素块,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值;
由所述视频译码装置将第一内插滤波操作应用于与所述像素块相关联的一群整数像素值以产生具有第一位深的第一中间像素值,其中所述第一中间像素值限制在与第二位深相关联的值范围内,以及其中所述第二位深包括的位深值小于与所述第一位深相关联的位深值;
由所述视频译码装置至少部分地通过执行右移位操作将第一偏移值相加到所述第一中间像素值以产生第二中间像素值,其中相加所述第一偏移值致使所述第二中间像素值成为在与所述第二位深相关联的所述值范围内的值;
由所述视频译码装置存储所述第二中间像素值;
由所述视频译码装置检索所述第二中间像素值;
由所述视频译码装置将第二偏移值相加到所述所检索的第二中间值;
由所述视频译码装置将第二内插滤波操作应用于包括具有所述经相加第二偏移值的所述所检索的第二中间像素值的一群中间像素值以计算用于子像素位置的第一像素值;
由所述视频译码装置至少基于用于所述子像素位置的所述第一像素值而产生预测块。
2.根据权利要求1所述的方法,其中由所述视频译码装置将所述第二偏移值相加到所述所检索第二中间值而产生所述第一中间值。
3.根据权利要求1所述的方法,其中执行所述右移位操作包括执行1位右移位操作。
4.根据权利要求1所述的方法,其中所述第二偏移值在量值上等于所述第一偏移值。
5.根据权利要求1所述的方法,其中所述第一中间像素值的所述第一位深等于17位。
6.根据权利要求1所述的方法,其中所述第二中间像素值的所述第二位深等于16位。
7.根据权利要求1所述的方法,其中所述第一像素值具有17位的位深。
8.根据权利要求7所述的方法,其进一步包括:
由所述视频译码装置将所述第一像素值的所述位深减小到10位。
9.根据权利要求1所述的方法,所述群整数像素值中每一整数像素值为10位整数值。
10.根据权利要求1所述的方法,其中所述视频译码装置包括视频解码器。
11.根据权利要求1所述的方法,其中所述视频译码装置包括视频编码器。
12.一种用于对像素块进行译码的视频译码装置,由所述视频译码装置包括:
存储器,其经配置以存储视频数据;以及
视频处理器,其经配置以:
获得像素块,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值;
将第一内插滤波操作应用于与所述像素块相关联的一群整数像素值以产生具有第一位深的第一中间像素值,其中所述第一中间像素值限制在与第二位深相关联的值范围内,以及其中所述第二位深包括的位深值小于与所述第一位深相关联的位深值;
至少部分地通过执行右移位操作将第一偏移值相加到所述第一中间像素值以产生第二中间像素值,其中相加所述第一偏移致使所述第二中间像素值成为在与所述第二位深相关联的所述值范围内的值;
存储所述第二中间像素值;
检索所述第二中间像素值;
将第二偏移值相加到所述所检索的第二中间值;
将第二内插滤波操作应用于包括具有所述经相加第二偏移值的所述所检索的第二中间像素值的一群中间像素值以计算用于子像素位置的第一像素值;以及
至少基于用于所述子像素位置的所述第一像素值而产生预测块。
13.根据权利要求12所述的视频译码装置,其中所述视频处理器经配置以将所述第二偏移值相加到所述所检索的第二中间值从而该相加产生所述第一中间值。
14.根据权利要求12所述的视频译码装置,其中所述视频处理器进一步经配置以执行1位右移位操作。
15.根据权利要求12所述的视频译码装置,其中所述第二偏移值在量值上等于所述第一偏移值。
16.根据权利要求12所述的视频译码装置,其中所述第一中间像素值的所述第一位深等于17位。
17.根据权利要求12所述的视频译码装置,其中所述第二中间像素值的所述第二位深等于16位。
18.根据权利要求12所述的视频译码装置,其中所述第一像素值具有17位的位深。
19.根据权利要求18所述的视频译码装置,其中所述视频处理器进一步经配置以将所述第一像素值的所述位深减小到10位。
20.根据权利要求12所述的视频译码装置,其中所述群整数像素值中每一整数像素值为10位整数值。
21.根据权利要求12所述的视频译码装置,其中所述视频处理器包括视频解码器。
22.根据权利要求12所述的视频译码装置,其中所述视频处理器包括视频编码器。
23.根据权利要求12所述的视频译码装置,其中所述视频译码装置包括以下各者中的至少一者:
微处理器;以及
包含所述视频处理器的无线通信装置。
24.一种用于对像素块进行译码的设备,其包括:
用于获得像素块的装置,其中所述像素块包含对应于所述像素块内的整数像素位置的整数像素值;
用于将第一内插滤波操作应用于与所述像素块相关联的一群整数像素值以产生具有第一位深的第一中间像素值的装置,其中所述第一中间像素值限制在与第二位深相关联的值范围内,以及其中所述第二位深包括的位深值小于与所述第一位深相关联的位深值;
用于至少部分地通过执行右移位操作将第一偏移值相加到所述第一中间像素值以产生第二中间像素值的装置,其中相加所述第一偏移致使所述第二中间像素值成为在与所述第二位深相关联的所述值范围内的值;
用于存储所述第二中间像素值的装置;
用于检索所述第二中间像素值的装置;
用于将第二偏移值相加到所述所检索的第二中间值的装置;
用于将第二内插滤波操作应用于包括具有所述经相加第二偏移值的所述所检索的第二中间像素值的一群中间像素值以计算用于子像素位置的第一像素值的装置;
用于至少基于用于所述子像素位置的所述第一像素值而产生预测块的装置。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161504149P | 2011-07-01 | 2011-07-01 | |
US61/504,149 | 2011-07-01 | ||
US201161506016P | 2011-07-08 | 2011-07-08 | |
US61/506,016 | 2011-07-08 | ||
US201161506059P | 2011-07-09 | 2011-07-09 | |
US61/506,059 | 2011-07-09 | ||
US201161507564P | 2011-07-13 | 2011-07-13 | |
US61/507,564 | 2011-07-13 | ||
US201161549131P | 2011-10-19 | 2011-10-19 | |
US61/549,131 | 2011-10-19 | ||
US13/536,484 US9055304B2 (en) | 2011-07-01 | 2012-06-28 | Reduced resolution pixel interpolation |
US13/536,484 | 2012-06-28 | ||
PCT/US2012/045044 WO2013006473A1 (en) | 2011-07-01 | 2012-06-29 | Reduced resolution pixel interpolation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103650495A CN103650495A (zh) | 2014-03-19 |
CN103650495B true CN103650495B (zh) | 2016-11-30 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0560577A2 (en) * | 1992-03-13 | 1993-09-15 | Matsushita Electric Industrial Co., Ltd. | Video compression coding and decoding with automatic sub-pixel frame/field motion compensation |
CN1455349A (zh) * | 2002-04-10 | 2003-11-12 | 微软公司 | 在运动估计与补偿中的次像素插值 |
US20090097561A1 (en) * | 2007-10-15 | 2009-04-16 | Yi-Jen Chiu | Bit depth enhancement for scalable video coding |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0560577A2 (en) * | 1992-03-13 | 1993-09-15 | Matsushita Electric Industrial Co., Ltd. | Video compression coding and decoding with automatic sub-pixel frame/field motion compensation |
CN1455349A (zh) * | 2002-04-10 | 2003-11-12 | 微软公司 | 在运动估计与补偿中的次像素插值 |
US20090097561A1 (en) * | 2007-10-15 | 2009-04-16 | Yi-Jen Chiu | Bit depth enhancement for scalable video coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101990759B (zh) | 用于在视频译码中进行内插的预测技术 | |
CN103339939B (zh) | 具有自适应分接头大小的低复杂性内插滤波 | |
CN101999230B (zh) | 子像素分辨率下的偏移 | |
TWI542222B (zh) | 用於基於固定濾波器或適應性濾波器用於視訊編碼之由率失真定義之內插之方法、裝置、器件及電腦可讀儲存媒體 | |
CN102017629B (zh) | 用于视频译码中的子像素分辨率的内插滤波器支持 | |
CN105704492B (zh) | 用于内插视频译码的子像素的值的自适应支持 | |
CN103703781B (zh) | 使用自适应运动向量分辨率的视频译码 | |
CN102835108B (zh) | 混合分接头滤波器 | |
CN102017630B (zh) | 用于视频译码中的子像素位置的内插滤波的对称性 | |
CN103004196B (zh) | 在经压缩位流中包含切换式内插滤波器系数 | |
CN105103550B (zh) | 用于视频编码的帧内速率控制方法和设备 | |
TWI523528B (zh) | 用於視訊編碼中整體像素位置之似內插濾波之方法、裝置、器件及電腦可讀儲存媒體 | |
CN109792531A (zh) | 用于视频译码的运动向量译码 | |
KR101646856B1 (ko) | 감소된 해상도 화소 보간 | |
CN105723707A (zh) | 用于视频译码的色彩残差预测 | |
CN103748882A (zh) | 支持内侧视图运动预测模式的以多重视图译码为基础的三维视频译码编解码器 | |
CN107251556A (zh) | 用于运动搜索中低复杂度四分之一像素产生的方法及设备 | |
CN103650495B (zh) | 分辨率减小的像素内插 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161130 Termination date: 20190629 |