CN101990760B - 用于视频译码中的运动补偿的高级内插技术 - Google Patents

用于视频译码中的运动补偿的高级内插技术 Download PDF

Info

Publication number
CN101990760B
CN101990760B CN200980112683.7A CN200980112683A CN101990760B CN 101990760 B CN101990760 B CN 101990760B CN 200980112683 A CN200980112683 A CN 200980112683A CN 101990760 B CN101990760 B CN 101990760B
Authority
CN
China
Prior art keywords
interpolation
video
value
data
predefine
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
CN200980112683.7A
Other languages
English (en)
Other versions
CN101990760A (zh
Inventor
玛尔塔·卡切维奇
叶琰
陈培松
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 CN101990760A publication Critical patent/CN101990760A/zh
Application granted granted Critical
Publication of CN101990760B publication Critical patent/CN101990760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/169Methods 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/182Methods 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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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
    • 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)

Abstract

本发明描述由编码器和解码器在视频译码的运动补偿过程期间执行的各种内插技术。在一个实例中,编码器基于多个不同的预定义内插滤波器而内插参考视频数据的像素值。在此实例中,所述解码器接收识别内插滤波器的语法元素,且基于由所述语法元素识别的所述内插滤波器而内插参考视频数据的像素值。在另一实例中,一种内插预测性视频数据的方法包括:基于整数像素值而产生半像素值;舍入所述半像素值以产生半像素内插值;存储所述半像素值以作为所述半像素值的未舍入版本;以及基于所述半像素值的所述未舍入版本和所述整数像素值而产生四分之一像素值。

Description

用于视频译码中的运动补偿的高级内插技术
本申请案主张2008年4月10日申请的第61/044,023号美国临时申请案、2008年4月11日申请的第61/044,240号美国临时申请案和2008年5月30日申请的第61/057,373号美国临时申请案的权益,所述申请案的全文以引用的方式并入本文中。
技术领域
本发明涉及数字视频译码,且更特定来说,涉及用于视频译码中的预测性数据的分数内插。
背景技术
可将数字视频能力并入到许多装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话等。数字视频装置实施视频压缩技术,例如,MPEG-2、MPEG-4或ITU-T H.264/MPEG-4第十部分、高级视频译码(AVC),以更有效地发射和接收数字视频信息。视频压缩技术可执行空间预测和/或时间预测以减少或移除视频序列中固有的冗余。
基于块的帧间译码为非常有用的译码技术,其依赖于时间预测来减少或移除在视频序列的连续经译码单元的视频块之间的时间冗余。经译码单元可包含视频帧、视频帧的切片、图片的群组或视频块的另一定义单元。对于帧间译码,视频编码器执行运动估计和运动补偿以追踪两个或两个以上相邻经译码单元的对应视频块的移动。运动估计产生运动向量,其指示视频块相对于一个或一个以上参考帧或其它经译码单元中的对应预测视频块的移位。运动补偿使用运动向量以从参考帧或其它经译码单元产生预测视频块。在运动补偿之后,残余视频块由从正经译码的原始视频块减去预测视频块而形成。
视频编码器还可应用变换、量化和熵译码过程以进一步降低与残余块的通信相关联的位速率。变换技术可包含离散余弦变换(DCT)或概念上类似的过程。或者,可使用小波变换、整数变换或其它类型的变换。在DCT过程中,例如,一组像素值经转换为变换系数,其可表示频域中的像素值的能量。将量化应用于变换系数,且量化通常涉及限制与任何给定变换系数相关联的位数目的过程。熵译码包含共同压缩经量化变换系数的序列的一个或一个以上过程。熵译码的实例包括(但不限于)内容自适应可变长度译码(CAVLC)和上下文自适应二进制算术译码(CABAC)。
经译码的视频块可由可用于产生或识别预测性块的预测信息和指示正经译码块与预测性块之间的差异的数据的残余块来表示。预测信息可包含一个或一个以上运动向量,所述一个或一个以上运动向量用于识别数据的预测性块。给定运动向量,解码器能够重新建构用于译码残余块的预测性块。因此,给定一组残余块和一组运动向量(和可能的一些额外语法),解码器可能够重新建构最初经编码的视频帧。基于运动估计和运动补偿的帧间译码可实现非常好的压缩,因为连续视频帧或其它类型的经译码单元通常非常类似。经编码的视频序列可包含残余数据块、运动向量和可能的其它类型的语法。
已开发内插技术以便改进可在帧间译码中实现的压缩级别。在此情况下,在运动补偿期间所产生的预测性数据(其用于译码视频块)可从视频帧或用于运动估计中的其它经译码单元的视频块的像素进行内插。内插通常经执行以产生预测性半像素值(半像素)和预测性四分之一像素值(四分之一像素)。此内插通常产生比预测性帧或用于视频译码中的其它经译码单元的实际视频块更类似于正经译码视频块的预测性块。
发明内容
一般来说,本发明描述在视频译码的运动补偿过程期间由编码器和解码器执行的内插技术。根据本发明的技术,编码器可应用多个预定义的内插滤波器以便产生多个不同的经内插预测数据。可选择实现最高级别的压缩的经内插预测数据,且可将所使用的内插滤波器译码为语法且传送到解码装置以作为经译码视频数据的部分。内插滤波器可每预测性单元定义一次(例如,每预测帧一次),或可在块基础上加以定义(例如,不同滤波可应用于预测性单元内的不同视频块)。或者,可在样本基础上定义内插滤波器,或可在子样本基础上定义内插滤波器。
解码器接收经译码的视频数据,且可解译语法以便识别曾由编码器使用的内插滤波器。以此方式,解码器可在其运动补偿过程期间识别且使用在编码过程期间所使用的相同内插滤波器。通过考虑在编码器处的多个不同的内插滤波器,可相对于具有固定内插滤波器的技术而改进压缩。同时,所述技术可比常规自适应内插滤波显著不复杂,常规自适应内插滤波自适应地定义内插滤波器系数以作为译码过程的部分。根据本发明的一些方面,可通过对测试视频序列实施自适应内插滤波或其它技术以便预定义将可能导致良好压缩的内插滤波器系数的集合而预定义不同内插滤波器。或者,不同数目的滤波器系数(不同数目的分接头)或不同类型的滤波器可一起经预定义,且接着在编码和解码过程期间选择并使用。
另外,本发明还认识到归因于半像素值的常规舍入的译码低效,且提供可通过减小或消除中间舍入来改进内插的技术。在此情况下,可为半像素内插的目的而舍入经内插半像素值。然而,可基于经内插的半像素值中的一者或一者以上而产生的四分之一像素值可依赖于半像素值的未舍入版本。此可消除从半像素值到四分之一像素值的舍入不准确性的传播。在一些情况下,在不牺牲最终值的准确性的情况下的轻微舍入可应用于一个特定半像素值,以便确保16位存储元件可用于存储半像素的任何中间值。具体来说,当15个可能的子像素位置经定义以用于每一像素位置时,特定半像素值中的一者可能需要基于其它半像素值而产生(即,需要二级半像素内插),且此特定半像素值可能需要舍入以确保16位存储元件可用于存储所有内插值。
在任何情况下,中间舍入任务的消除可在实施或不实施多个预定义内插滤波器的情况下进行,如本文中所描述。举例来说,可在使用多个预定义内插滤波器的实施方案的情形中执行中间舍入的消除,如本文中所描述。或者,可在更常规内插的情形中,例如,在自适应内插滤波(AIF)的情形中执行中间舍入的消除。
在一个实例中,本发明提供一种编码视频数据的方法。所述方法包含产生预测数据,其中产生预测数据包括基于多个不同的预定义内插滤波器而内插参考视频数据的像素值。所述方法还包含基于预测数据来编码视频数据。
在另一实例中,本发明提供一种解码视频数据的方法。所述解码方法包含接收语法元素,所述语法元素识别来自多个不同的预定义内插滤波器的内插滤波器;产生预测数据,其中产生预测数据包括基于由语法元素识别的内插滤波器而内插参考视频数据的像素值;以及基于所述预测数据而解码视频数据。
在另一实例中,本发明提供一种内插用于视频译码的预测性视频数据的方法。所述方法包含基于整数像素值而产生半像素值,舍入所述半像素值以产生半像素内插值,存储半像素值以作为半像素值的未舍入版本,和基于半像素值的未舍入版本和整数像素值而产生四分之一像素值。
在另一实例中,本发明提供一种编码视频数据的设备,所述设备包含视频编码器,所述视频编码器包括产生预测数据的运动补偿单元。运动补偿单元基于多个不同的预定义内插滤波器而内插参考视频数据的像素值,且视频编码器基于所述预测数据而编码视频数据。
在另一实例中,本发明提供一种解码视频数据的设备,所述设备包含视频解码器,所述视频解码器包括运动补偿单元。所述视频解码器接收语法元素,所述语法元素识别来自多个不同的预定义内插滤波器的内插滤波器。所述运动补偿单元产生预测数据,其中产生预测数据包括基于由语法元素识别的内插滤波器而内插参考视频数据的像素值。视频解码器接着基于预测数据而解码视频数据。
在另一实例中,本发明提供一种内插用于视频译码的预测性视频数据的设备,其中所述设备包括运动补偿单元,所述运动补偿单元基于整数像素值而产生半像素值,舍入半像素值以产生半像素内插值,存储半像素值以作为半像素值的未舍入版本,和基于半像素值的未舍入版本和整数像素值而产生四分之一像素值。
在另一实例中,本发明提供一种编码视频数据的装置,所述装置包含用于产生预测数据的装置,其中用于产生预测数据的装置包括用于基于多个不同的预定义内插滤波器而内插参考视频数据的像素值的装置和用于基于预测数据而编码视频数据的装置。
在另一实例中,本发明提供一种解码视频数据的装置,所述装置包含用于接收语法元素的装置,所述语法元素识别来自多个不同的预定义内插滤波器的内插滤波器;用于产生预测数据的装置,其中用于产生预测数据的装置包括用于基于由语法元素识别的内插滤波器而内插参考视频数据的像素值的装置;以及用于基于预测数据而解码视频数据的装置。
在另一实例中,本发明提供一种内插用于视频译码的预测性视频数据的装置,所述装置包含用于基于整数像素值而产生半像素值的装置,用于舍入半像素值以产生半像素内插值的装置,用于存储半像素值以作为半像素值的未舍入版本的装置,和用于基于半像素值的未舍入版本和整数像素值而产生四分之一像素值的装置。
在另一实例中,本发明提供一种编码视频数据的装置,所述装置包含视频编码器,所述视频编码器包括运动补偿单元,所述运动补偿单元通过基于多个不同的预定义内插滤波器而内插参考视频数据的像素值来产生预测数据,且基于所述预测数据而编码视频数据;以及无线发射器,其将视频数据发射到另一装置。
在另一实例中,本发明提供一种解码视频数据的装置,所述装置包含:无线接收器,其接收视频数据;以及视频解码器,其包括运动补偿单元,所述运动补偿单元接收识别来自多个不同的预定义内插滤波器的内插滤波器的语法元素,产生预测数据,其中产生预测数据包括基于由语法元素识别的内插滤波器而内插参考视频数据的像素值,和基于预测数据而解码视频数据。
在另一实例中,本发明提供一种编码视频数据的装置,所述装置包含:视频编码器,所述视频编码器包括运动补偿单元,所述运动补偿单元基于整数像素值而产生半像素值,舍入半像素值以产生半像素内插值,存储半像素值以作为半像素值的未舍入版本,和基于半像素值的未舍入版本和整数像素值而产生四分之一像素值;以及无线发射器,其将由运动补偿单元编码的视频数据发射到另一装置。
在另一实例中,本发明提供一种解码视频数据的装置,所述装置包含:无线接收器,其接收视频数据;以及包括运动补偿单元的视频解码器,其解码视频数据。在解码视频数据中,运动补偿单元基于整数像素值而产生半像素值,舍入半像素值以产生半像素内插值,存储半像素值以作为半像素值的未舍入版本,且基于半像素值的未舍入版本和整数像素值而产生四分之一像素值。
本发明中所描述的技术可以硬件、软件、固件或其任何组合实施。如果以软件实施,则软件可执行于一个或一个以上处理器(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP))中。执行所述技术的软件最初可存储于计算机可读媒体中且加载并执行于处理器中。
因此,本发明还涵盖一种包含指令的计算机可读存储媒体,所述指令在执行后即刻致使装置编码视频数据,其中所述指令致使所述装置产生预测数据,其中产生预测数据包括基于多个不同的预定义内插滤波器而内插参考视频数据的像素值,和基于预测数据而编码视频数据。
本发明还涵盖一种包含指令的计算机可读存储媒体,所述指令在执行后即刻致使装置解码视频数据,其中所述指令致使所述装置在接收到识别来自多个不同的预定义内插滤波器的内插滤波器的语法元素后即刻产生预测数据,其中产生预测数据包括基于由语法元素识别的内插滤波器而内插参考视频数据的像素值,和基于预测数据而解码视频数据。
另外,本发明还涵盖一种包含指令的计算机可读存储媒体,所述指令在执行后即刻致使装置内插用于视频译码的预测性视频数据,其中所述指令致使所述装置基于整数像素值而产生半像素值,舍入半像素值以产生半像素内插值,存储半像素值以作为半像素值的未舍入版本,和基于半像素值的未舍入版本和整数像素值而产生四分之一像素值。
在附图和以下描述中陈述本发明的一个或一个以上方面的细节。本发明中所描述的技术的其它特征、目标和优点将从所述描述和图式以及从权利要求书中而显而易见。
附图说明
图1为说明视频编码和解码系统的示范性框图。
图2为说明与本发明一致的视频编码器的一实例的框图。
图3为说明与本发明一致的视频解码器的一实例的框图。
图4A到图4D为说明整数像素和可包含预测性视频块的像素的经内插像素的概念图。
图5到图8为说明与本发明一致的技术的流程图。
具体实施方式
本发明描述在视频译码的运动补偿过程期间由编码器和解码器执行的各种内插技术。根据本发明的一个方面,编码器可应用多个预定义内插滤波器以便产生多个不同的经内插预测数据。可在编码器处选择实现最高级别的压缩的经内插预测数据,且可将曾使用的内插滤波器译码为语法且传送到解码装置以作为经译码视频数据的部分。经内插预测数据包含参考数据。可从经内插预测数据(例如,内插预测性参考块)中减去待译码的视频数据(例如,视频块)以便定义经编码数据的残余块,所述残余块接着可经变换、量化和熵译码。
内插滤波器可每预测单元定义一次(例如,每预测帧一次),或可在样本基础上加以定义(例如,不同滤波可应用于预测性单元内的不同视频块或不同样本位置)。不同内插滤波器(例如)可由不同组的滤波器系数、不同数目的滤波器系数或可能不同的滤波器类型来定义。在任何情况下,通过提供多个预定义内插滤波器,经内插数据可提供改进的数据压缩。
解码器接收经译码的视频数据,且可解译语法以便识别由编码器使用的内插滤波器。以此方式,解码器可在其运动补偿过程期间识别且使用在编码过程期间曾使用的相同内插滤波器。而且,通过考虑在编码器处的多个不同的内插滤波器,可相对于具有单一经定义内插滤波器的技术而改进压缩。同时,所述技术可比常规自适应内插滤波显著不复杂,其中常规自适应内插滤波自适应地定义内插滤波器(通过选择滤波器系数)以作为译码过程的一部分。在一个实例中,内插滤波器可通过对测试视频序列实施自适应内插滤波或其它技术以便预定义将可能导致良好压缩的内插滤波器系数的集合而加以预定义。
在本发明的另一方面中,描述内插技术,其消除或显著减小用于四分之一像素内插的半像素值的中间舍入。消除或显著减小中间舍入的技术可在具有或不具有使用预定义内插滤波器的以上所提及技术的情况下使用。换句话说,可根据一个或一个以上预定义内插滤波器在内插期间使用消除或显著减小中间舍入的技术,但还可与使用固定内插滤波器的内插或可能与自适应精细化内插技术一起使用。
本发明认识到可归因于半像素值的常规舍入而出现的译码低效,且提出通过消除或减小中间舍入来改进内插的技术。在此情况下,可为半像素内插的目的而舍入经内插的半像素值。然而,可基于经内插半像素值中的一者或一者以上而产生的四分之一像素值可依赖于半像素值的未舍入版本。此可消除从半像素值到四分之一像素值的舍入不准确性的传播。在一些情况下,轻微舍入可应用于一些半像素值以便确保16位数据结构可用于存储任何中间值。在一些情况下,轻微舍入对最终准确性的影响可通过适当地执行舍入而为零。在任何情况下,中间舍入的消除或减小可在实施或不实施多个预定义内插滤波器的情况下进行,如本文中所描述。
图1为说明可实施本发明的技术的一个示范性视频编码和解码系统10的框图。如图1中所示,系统10包括源装置12,其将经编码的视频经由通信信道15发射到目的地装置16。源装置12和目的地装置16可包含许多装置中的任一者。在一些情况下,源装置12和目的地装置16包含例如无线手持机、所谓的蜂窝式或卫星无线电话等无线通信装置,或可经由通信信道15传送视频信息的任何无线装置,在所述情况下,通信信道15为无线的。然而,关于运动补偿内插的本发明的技术不必限于无线应用或设定。
在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23和发射器24。目的地装置16可包括接收器26、调制解调器27、视频解码器28和显示装置30。根据本发明,源装置12的视频编码器22可经配置以应用本发明的内插技术中的一者或一者以上以作为视频编码过程的部分。类似地,目的地装置16的视频解码器28可经配置以应用本发明的内插技术中的一者或一者以上以作为视频解码过程的部分。
图1的所说明系统10仅为示范性的。本发明的内插技术可由支持运动补偿内插到子像素分辨率的任何编码装置来执行。源装置12和目的地装置16仅为此些译码装置的实例。在此情况下,源装置12产生用于发射到目的地装置16的经译码视频数据。装置12、16可以实质上对称的方式操作以使得装置12、16中的每一者包括(例如)在组合的编码器-解码器(CODEC)中的视频编码和解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,例如,以用于视频串流、视频回放、视频广播或视频电话。
源装置12的视频源20可包括例如视频摄像机等视频俘获装置、含有先前俘获的视频的视频档案或来自视频内容提供者的视频馈送。作为另一替代情况,视频源20可产生基于计算机图形的数据以作为源视频,或现场直播视频、所存档的视频与计算机产生的视频的组合。在一些情况下,如果视频源20为视频摄像机,则源装置12和目的地装置16可形成所谓的相机电话或视频电话。在每一情况下,经俘获、预先俘获或计算机产生的视频可由视频编码器22编码。经编码的视频信息接着可根据通信标准(例如,码分多址(CDMA)或另一通信标准)由调制解调器23调制,且经由发射器24发射到目的地装置16。调制解调器23可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。对于无线应用,发射器24可包括经设计以用于发射数据的电路,其包括放大器、滤波器和一个或一个以上天线。
目的地装置16的接收器26经由信道15接收信息,且调制解调器27解调所述信息。而且,视频编码过程可实施本文中所述技术中的一者或一者以上以在运动补偿期间改进内插。由视频解码器28执行的视频解码过程还可在解码过程的其运动补偿阶段期间执行内插。显示装置30向用户显示经解码的视频数据,且可包含例如阴极射线管、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置等多种显示装置中的任一者。
在图1的实例中,通信信道15可包含任何无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线,或无线与有线媒体的任何组合。通信信道15可形成例如局域网、广域网或例如因特网的全球网络的基于包的网络的部分。通信信道15通常表示用于将视频数据从源装置12发射到目的地装置16的任何适合的通信媒体,或不同通信媒体的集合。
视频编码器22和视频解码器28可根据视频压缩标准(例如ITU-T H.264标准(或者描述为MPEG-4第十部分、高级视频译码(AVC)))来操作。然而,本发明的技术不限于任何特定译码标准。尽管在图1中未展示,但在一些方面中,视频编码器22和视频解码器28可各自与音频编码器和解码器集成,且可包括适当的MUX-DEMUX单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频与视频的编码。如果适用,则MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)的其它协议。
由ITU-T视频译码专家组(VCEG)与ISO/IEC运动图片专家组(MPEG)一起将ITU H.264/MPEG-4(AVC)标准制定为被称作联合视频小组(JVT)的集体合作伙伴的产品。在一些方面中,本发明中所描述的技术可应用于通常符合H.264标准的装置。ITU-T研究组在2005年3月在ITU-T推荐H.264“用于通用音视频服务的高级视频译码(Advanced Video Coding for generic audiovisual services)”中描述了H.264标准,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
视频编码器22和视频解码器28各自可实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器22和视频解码器28中的每一者可包括于一个或一个以上编码器或解码器中,其任一者可集成为相应移动装置、订户装置、广播装置、服务器等中的组合的CODEC的部分。
视频序列通常包括一系列视频帧。视频编码器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,且对于色度分量来说为对应的经缩放的大小)。视频块可(例如)在例如离散余弦变换或概念上类似的变换过程的变换过程之后包含像素数据的块或变换系数的块。
较小视频块可提供较佳分辨率,且可用于定位包括高细节水平的视频帧。一般来说,宏块(MB)和各种子块可视作视频块。另外,一切片可视作一系列视频块,例如MB和/或子块。每一切片可为视频帧的可独立解码的单元。视频编码器22和视频解码器28执行基于帧间的预测性译码,其涉及产生预测性参考数据和从预测性参考数据减去待译码的视频块以产生残余数据,所述残余数据接着可经变换、量化和熵译码。基于帧间的预测性译码可包括根据本发明的预测性数据的内插。
在基于帧间的预测性译码(其包括本发明的内插技术)之后且在任何变换(例如用于H.264/AVC中的4×4或8×8整数变换或离散余弦变换DCT)之后,可执行量化。量化大体上指代其中系数经量化以可能减少用于表示系数的数据量的过程。量化过程可减小与一些或所有系数相关联的位深度。举例来说,16位值在量化期间可下舍入为15位值。在量化之后,可(例如)根据内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码方法来执行熵译码。
根据本发明的技术,视频编码器22可应用多个预定义内插滤波器以便产生多个不同的经内插预测数据。可由视频编码器22选择实现最高级别的压缩的经内插预测数据,且可将曾用于所选的经内插预测数据的内插滤波器译码为语法且传送到目的地装置16以作为经译码视频数据的部分。在此情况下,视频解码器28接收经译码的视频数据,且可解译语法以便识别曾由视频编码器22使用的内插滤波器。因此,视频解码器28可在其运动补偿解码过程期间识别且使用在编码过程期间曾使用的相同内插滤波器。不同的预定义内插滤波器可包含具有滤波器系数(滤波器分接头)的不同集合的类似滤波器。或者,不同的预定义内插滤波器可包含具有不同数目的滤波器分接头或可能完全不同类型的滤波器配置的滤波器。
而且,根据本发明的另一方面,视频编码器22和视频解码器28可应用内插技术,其消除或显著减小用于四分之一像素内插的半像素值的中间舍入。在此情况下,视频编码器22和视频解码器28可为了半像素内插的目的而舍入经内插的半像素值。然而,对于四分之一像素内插,视频编码器22和视频解码器28可存储且使用半像素值的未舍入版本以便减小或消除从半像素值到四分之一像素值的舍入不准确性的传播。在一些情况下,轻微舍入可应用于需要二级内插的一个特定半像素值以便确保固定大小的存储元件(例如,16位寄存器)可用于存储任何中间值。在一些情况下,可通过适当地执行舍入而使轻微舍入对最终准确性的影响为零,如本文中所描述。
图2为说明与本发明一致的可执行运动补偿内插的视频编码器50的一实例的框图。视频编码器50可对应于装置20的视频编码器22或不同装置的视频编码器。视频编码器50可执行视频帧内的块的帧内译码和帧间译码,但不说明帧内编码。帧内译码依赖于空间预测来减小或移除给定视频帧帧内的视频中的空间冗余。帧间译码依赖于时间预测来减小或移除视频序列的邻近帧内的视频中的时间冗余。帧内模式(I模式)可指基于空间的压缩模式,且例如预测(P模式)或双向(B模式)的帧间模式可指基于时间的压缩模式。本发明的技术通常可在帧间译码期间应用,且因此为说明的简单性和简易性起见而未在图2中说明例如空间预测单元的帧内译码单元。然而,本发明的舍入技术还可应用于空间预测和帧内译码技术。
如图2中所示,视频编码器50接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器50包括运动估计单元32、运动补偿单元35、参考帧存储装置34、加法器48、变换单元38、量化单元40和熵译码单元46。对于视频块重新建构,视频编码器50还包括逆量化单元42、逆变换单元44、加法器51。还可包括解块滤波器(deblockingfilter)(未图示)以对块边界进行滤波,以从重新建构的视频移除块假影(blockinessartifact)。需要时,解块滤波器通常将对加法器51的输出进行滤波。
在编码过程期间,视频编码器50接收待译码的视频块,且运动估计单元32和运动补偿单元35执行帧间预测性译码。运动估计单元32和运动补偿单元35可高度集成,但为概念目的而单独说明。运动估计通常视为产生运动向量的过程,其估计视频块的运动。运动向量(例如)可指示预测性帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内的正经译码的当前块的移位。运动补偿通常视为基于由运动估计确定的运动向量而获取或产生预测性块的过程。而且,运动估计单元32和运动补偿单元35可功能上集成。本发明中所述的内插技术经描述为由运动补偿单元35执行。然而,可在运动估计期间执行内插以便促进最佳运动向量的选择。
根据本发明,运动估计32通过比较待译码视频块与预测性经译码单元(例如,先前帧)的视频块来选择用于待译码视频块的适当运动向量。此时,运动补偿单元35可执行内插以便产生子像素分辨率下的预测性数据。在一些情况下,在运动估计期间,内插可基于固定内插滤波器。在其它情况下,在运动补偿(如下文概述)期间所应用的不同内插滤波器还可为了运动向量选择的目的而在运动估计过程期间使用。
一旦运动估计单元32已选择用于待译码视频块的运动向量,运动补偿单元35便产生与那个运动向量相关联的预测性视频块。然而,根据本发明,运动补偿单元35可考虑具有子像素分辨率的任何预测性视频块的若干版本。在此情况下,运动补偿单元35可应用多个预定义内插滤波器以便产生用于待译码视频块的多个不同的经内插预测数据。运动补偿单元35接着选择实现最高级别的压缩的经内插预测数据(例如,与内插滤波器中的一者相关联的经内插视频块)。曾用于产生经内插数据的内插滤波器可经译码为内插语法且传送到熵译码单元46以用于包括于经译码位流中。一旦运动补偿单元35已选择且应用最佳内插滤波器,运动补偿单元35便使用内插滤波器产生预测性数据,且视频编码器应用加法器48以从正经译码的视频块减去那个预测性数据以产生残余数据。
而且,根据本发明的另一方面,视频编码器22和视频解码器28可应用内插技术,其消除或显著减小用于四分之一像素内插的半像素值的中间舍入。在此情况下,视频编码器22和视频解码器28可为了半像素内插的目的而舍入经内插的半像素值。然而,对于四分之一像素内插,视频编码器22和视频解码器28可存储且使用半像素值的未舍入版本,以便减小或消除从半像素值到四分之一像素值的舍入不准确性的传播。在一些情况下,轻微舍入可应用于需要二级内插的一个特定半像素值以便确保固定大小的存储元件(例如,16位寄存器)可用于存储任何中间值。
如所述,一旦运动补偿单元35产生预测数据(例如,经内插的预测性视频块),视频编码器50便通过从正经译码的原始视频块减去预测数据来形成残余视频块。加法器48表示执行此减法运算的一个或一个以上组件。变换单元38将例如离散余弦变换(DCT)的变换或概念上类似的变换应用于残余块,从而产生包含残余变换块系数的视频块。举例来说,变换单元38可执行例如由H.264标准定义的其它变换,其概念上类似于DCT。还可使用小波变换、整数变换、副频带变换或其它类型的变换。在任何情况下,变换单元38将变换应用于残余块,从而产生残余变换系数的块。变换可将残余信息从像素域转换到频域。
量化单元40量化残余变换系数以进一步降低位速率。量化过程可减小与一些或所有系数相关联的位深度。举例来说,16位值在量化期间可下舍入为15位值。在量化之后,熵译码单元46熵译码经量化的变换系数。举例来说,熵译码单元46可执行内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码方法。在通过熵译码单元46进行的熵译码之后,可将经编码的视频发射到另一装置或经存档以供稍后发射或检索。经译码的位流可包括经熵译码的残余块、用于此些块的运动向量和包括识别曾由运动补偿单元35应用的内插滤波器的内插语法的其它语法。
逆量化单元42和逆变换单元44分别应用逆量化和逆变换来在像素域中重新建构残余块(例如)以供稍后用作参考块。求和器51将重新建构的残余块加到由运动补偿单元35所产生的运动补偿预测块以产生重新建构的视频块以供存储于参考帧存储装置34中。重新建构的视频块可由运动估计单元32和运动补偿单元35用作参考块以帧间编码后续视频帧中的块。
图3为说明视频解码器60的一实例的框图,所述视频解码器60解码以本文中所述的方式编码的视频序列。视频解码器60包括运动补偿单元55,所述运动补偿单元55执行本发明的内插技术以用于解码。具体来说,在解码侧,运动补偿单元55可从熵解码单元52接收语法元素,所述语法元素识别来自多个不同的预定义内插滤波器的内插滤波器。运动补偿单元55可产生预测数据,其包括基于由语法元素识别的内插滤波器而内插参考视频数据的像素值。特定来说,运动补偿单元55可基于从熵解码单元52接收的运动向量和如由语法元素定义的内插(图3中标记为内插语法)而产生预测数据。基于此经内插预测数据,可解码视频数据(例如,重新建构的残余视频块)。
熵解码单元52熵解码所接收的位流以产生量化系数和语法(例如,发送到运动补偿单元55的内插语法和运动向量)。逆量化单元56逆量化(即,解量化)经量化的块系数。逆量化过程可为如由H.264解码定义的常规过程。逆变换单元58将逆变换(例如,逆DCT或概念上类似的逆变换过程)应用于变换系数以便在像素域中产生残余块。运动补偿单元55以本文中所述的方式产生经运动补偿块,(例如)包括基于由语法元素识别的内插滤波器系数的集合(即,内插语法)的内插。
求和器64通过对残余块与由运动补偿单元55产生的对应预测块求和来解码残余块以形成经解码的块。需要时,还可应用解块滤波器以对经解码的块进行滤波以便移除块假影。接着将经解码的视频块存储于参考帧存储装置62中,其为提供用于后续运动补偿的参考块且还产生到驱动显示装置(例如图1的装置30)的经解码视频的存储元件。
而且,本发明的技术涉及经运动补偿的内插,其中预测性视频块的像素值经内插到子像素分辨率。编码器使用本发明的技术以识别来自多个预定义内插滤波器的合意内插滤波器。不同滤波器的特征可在于滤波器系数的不同集合、不同数目的滤波器系数或不同滤波器类型。解码器解译从编码器发送的语法元素以便识别由编码器使用的内插滤波器系数的相同合意集合。
图4A到图4D为说明整数像素和可包含预测性视频块的像素的经内插像素的概念图。在图4的概念性说明中,不同框表示像素。大写字母(在具有实线的框中)表示整数像素位置,而小写字母(在具有虚线的框中)表示经内插像素位置。字母标记在本文中可用于描述像素位置或像素定位,或可指代与各种位置相关联的像素值。像素位置“aa”、“bb”、“cc”、“dd”、“ee”、“ff”、“gg”、“hh”、“ii”和“jj”为用于与像素位置“C3”相关联的各种分数位置的分数内插中的半像素位置。
每一像素位置可具有相关联的15个不同分数位置(例如,依照顺从ITU H.264/AVC标准的内插)。在图4A到图4D的实例中,说明与像素“C3”相关联的这15个不同分数位置。为说明的简单性和简易性起见,未展示大部分其它分数位置(不同于以上所提及的那些位置,其用于产生与像素“C3”相关联的15个不同分数位置中的一者或一者以上)。
在ITU H.264/AVC标准中,为了获得在半像素位置处的亮度信号,通常使用具有系数[1,-5,20,20,5,1]的6分接头维纳滤波器(Wiener filter)。接着,为了获得在四分之一像素位置处的亮度信号,使用双线性滤波器。双线性滤波器还可用于色度分量的分数像素内插中,所述色度分量在H.264/AVC中可具有高达1/8像素精度。
在图4B中分别在水平和垂直方向上示范像素位置“b”和“h”的半像素内插。在此情况下,可基于整数像素“C1”、“C2”、“C3”、“C4”、“C5”和“C6”而内插像素位置“b”。类似地,可基于整数像素“A3”、“B3”、“C3”、“D3”、“E3”和“F3”而内插像素位置“h”。可应用不同内插滤波器(例如,滤波器分接头的不同集合)以产生像素位置“b”和“h”的不同内插值,如本文中所描述。在图4B中,内插像素位置“b”和“h”以阴影展示,且整数像素位置“C1”、“C2”、“C3”、“C4”、“C5”、“C6”、“A3”、“B3”、“C3”、“D3”、“E3”和“F3”以交叉阴影展示。
图4C说明可能需要二级内插的一种特殊情况。具体来说,像素位置“j”不同于其它半像素位置,因为像素位置“j”本身基于其它半像素值而经内插。举例来说,像素位置“j”可基于在水平方向上的半像素内插值“cc”、“dd”、“h”、“ee”、“ff”和“gg”而经内插。或者,像素位置“j”可基于在垂直方向上的半像素内插值“aa”、“bb”、“b”、“hh”、“ii”和“jj”而经内插。在图4C中,内插像素位置“j”以阴影展示,在垂直方向上的半像素内插值“aa”、“bb”、“b”、“hh”、“ii”和“jj”以右到左交叉阴影展示,且半像素内插值“cc”、“dd”、“h”、“ee”、“ff”和“gg”以左到右交叉阴影展示。
图4D以阴影说明四分之一像素位置“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”、“n”和“o”,且以交叉阴影说明用于此四分之一像素内插的整数和半像素位置(例如,“C3”、“b”、“C4”、“h”、“j”、“ee”、“D3”、“hh”和“D4”)。
在运动估计之后,可识别给定视频块的最佳运动向量,例如,可能使用速率失真模型来平衡译码速率与质量。接着,在运动补偿期间使用最佳运动向量形成预测视频块。如上概述,通过从原始视频块减去预测视频块来形成残余视频块。接着将变换应用于残余块,且变换系数经量化和熵译码以进一步降低位速率。
而且,图4A到图4D用大写字母以实线框展示整数像素样本(还称为全像素)。对于任何给定整数像素样本,总共存在15个子像素位置,其在图4A到图4D中经展示为用于整数像素样本“C3”且标记为“a”到“o”。在H.264/AVC中,可首先使用一维6分接头维纳滤波器来计算半像素位置“b”、“h”和“j”。如所述,半像素位置“j”可能需要使用6分接头滤波的二级此内插。在此情况下,对于像素位置“j”,内插滤波器首先应用于水平方向且接着应用于垂直方向,其中可能在一个维度上内插之后中间舍入经内插的像素值以便确保数据可存储于16位存储元件内。其余四分之一像素位置接着经由使用双线性滤波器和已计算的半像素样本的滤波而经内插。
ITU-T SG16/Q.6/VCEG(视频译码专家群)委员会一直在探索提供比H.264/AVC更高的译码效率的译码技术。此探索在KTA(关键技术领域)论坛中进行。已在KTA中采用的译码工具中的一者被称为自适应内插滤波器(AIF)。AIF提供优于H.264/AVC的大译码增益,对具有高分辨率(例如,720p)的视频序列尤其如此。在AIF中,每一子像素位置的内插滤波器通过最小化预测误差能量而以分析的方式经计算用于每一视频帧。每一帧的以分析的方式导出的自适应滤波器系数接着经预测、量化、译码且发送于视频位流中。
本发明的技术可实现与那些由AIF实现的相当的译码改进,同时相对于AIF降低实施复杂性。所描述的技术可不需要分析过程以导出每一视频帧的滤波器系数。而是,在一个实例中,滤波器系数的不同集合经预先计算和预定义以用于实时应用。在此情况下,滤波器系数的预定义可基于应用于测试序列的AIF或其它选择准则。
三种不同类型的AIF方案已采用于KTA中。第一者为二维不可分AIF(NS-AIF),第二者为可分AIF(S-AIF),且第三者为具有方向滤波器的AIF(DAIF)。然而,所有三个AIF方案使用相同的分析过程以导出滤波器系数,其在下文使用不可分AIF作为实例来进行阐释。
假定6×6二维不可分滤波器具有系数
Figure BPA00001234523800151
其中i,j=0...5且SP表示图4A到图4D中所示的15个子像素位置(a到o)中的一者。应注意,15个子像素位置中的6者“a”、“b”、“c”、“d”、“h”和“l”为一维子像素位置,其可使用6分接头滤波器进行内插。而且假定参考帧中的整数像素位置(图4A到图4D中的A1到F6)处的预测像素采取像素值Pi,j,其中i,j=0...5。即,A1采取值P0,0,...,A6采取值P5,0,...,F1采取值P5,0,...,且F6采取值P5,5。接着,在子像素位置SP,SP∈{a,...,o}处的内插值psp可使用以下等式来计算。
p SP = Σ i = 0 5 Σ j = 0 5 P i , j h i , j SP
使Sx,y为在位置(x,y)处的当前视频帧中的像素值。
Figure BPA00001234523800153
Figure BPA00001234523800154
其中(mvx,mvy)为运动向量,([mvx],[mvy])为运动向量的整数分量,且FO为滤波器偏移。举例来说,在6分接头滤波器的情况下,FO=6/2-1=2。对于每一子像素位置SP,在当前帧中的实际像素值与内插值之间的预测误差能量(esp)2可经累积用于具有对应于子像素位置SP的运动向量精度的所有像素。使用以下等式来计算预测误差能量(eSP)2
( e SP ) 2 = Σ x Σ y ( S x , y - p x , y SP ) 2 = Σ x Σ y ( s x , y - Σ i = 0 5 Σ j = 0 5 h i , j SP P x ~ + i , y ~ + j ) 2 - - - ( 2 )
对于子像素位置“a”...“o”中的每一者,等式的个别集合可通过相对于滤波器系数计算(esp)2的导数来设置。在此情况下,等式的数目等于用于当前子像素位置SP的滤波器系数的数目。对于使用6×6分接头二维滤波器的每个二维子像素位置“e”、“f”、“g”、“i”、“j”、“k”、“m”、“n”和“o”,可求解具有36个未知数的36个等式的系统。对于可仅需要一维滤波器的其余子像素位置“a”、“b”、“c”、“d”、“h”和“l”,可求解6个等式的系统。
0 = ( ∂ e SP ) 2 ∂ h k , l SP
= ∂ ∂ h k , l SP ( Σ x Σ y ( s x , y - Σ i Σ j h i , j SP P x ~ + i , y ~ + j ) 2 ) - - - ( 3 )
= Σ x Σ y ( s x , y - Σ i Σ j h i , j SP P x ~ + i , y ~ + j ) P x ~ + k , y ~ + l
Figure BPA00001234523800164
l∈{0;5}
总之,导出和应用AIF滤波器的实例过程可具有以下步骤:
1.可针对待译码的每一视频帧估计运动向量(mvx,mvy)。在运动估计期间,可应用固定内插滤波器(例如,H.264/AVC的内插过程)。
2.使用这些运动向量,可在当前视频帧上累积每一子像素位置SP的预测误差能量。接着,可针对每一子像素位置SP通过最小化如在以上两个预测能量等式中的预测误差能量来独立地计算自适应滤波器系数
Figure BPA00001234523800165
3.接着可估计新的运动向量。在此运动估计过程期间,可应用在步骤2中所计算的自适应内插滤波器。通过使用自适应内插滤波器,减少由混叠、相机噪声等引起的运动估计误差且可实现较佳运动预测。
所有三个现有AIF方案使用如上给定的相同的分析过程。这些方案之间的差异主要在于所使用的唯一滤波器系数的数目,无论内插滤波器可分或不可分,和使用什么滤波器支持(即,用于内插的整数像素位置)。在这些方案中的每一者中,强加对AIF滤波器的某些对称性约束以减少需要在视频位流中发送的滤波器系数的数目。
如上所提及,在H.264/AVC中,使用中间舍入运算执行内插。常规上,半像素位置(“b”、“h”和“j”)在其用于获得四分之一像素位置之前经滤波且舍入。此外,在用于获得四分之一像素值的双线性滤波期间,可使用上舍入(即,(a+b+l)>>l可用于常规双线性滤波器中)。此频繁且经偏置的舍入运算可降低内插滤波器的精度。具体来说,模拟已展示从用于H.264/AVC中的6分接头维纳滤波器和双线性滤波器直接导出的高精度内插滤波器提供优于H.264/AVC的显著增益,对于例如720p序列的高清晰度视频序列尤其如此。由AIF方案(NS-AIF、S-AIF和DAIF)实现的增益的显著部分可来自这些AIF方案使用比H.264/AVC更高精度滤波器的事实。
根据本发明,可使用相对简单的具有偏移的切换内插滤波器(SIFO)方案。代替自适应地导出每一帧的滤波器系数(其为编码器侧的成本很高的过程),SIFO方案在多个固定滤波器之间进行选择,所述多个固定滤波器(例如)可分别由内插滤波器系数的多个不同预定义集合定义。内插滤波器的选择可在帧级或在子像素位置级上进行,其可分别称为基于帧的选择或基于样本的选择。需要时,还可在预测之后添加DC偏移,且还可在帧基础或样本基础上添加DC偏移。因此,一个或一个以上DC偏移可经定义用于每一帧,不同DC偏移(或DC偏移的集合)可经定义用于帧的不同视频块。不同的DC偏移可经定义用于每一像素和内插子像素的位置。帧为经译码单元的一个实例,且短语“基于帧的选择”更广泛地指代基于经译码单元的选择。在某种情况下,帧的切片或部分(例如)可分别经译码为个别经译码单元。
固定滤波器的不同集合可分别由图2和图3的运动补偿单元35和55使用。实例包括标准H.264滤波器集合、基于H.264/AVC但具有较高精度的滤波器集合(不具有用于半像素位置的中间舍入和用于四分之一像素位置的经偏置的舍入),或经定制内插滤波器的一个或一个以上集合。所述经定制内插滤波器的一个或一个以上集合可通过使用训练视频序列的集合而获得。可通过将用于AIF方案中的分析过程应用于训练视频集合来导出最小化预测误差能量的自适应滤波器。接着,每一子像素位置的平均滤波器可经计算且用作由运动补偿单元35和55应用的经定制内插滤波器,如本文中所描述。
用于特定子像素位置的平均滤波器还可经规格化以使得所有滤波器系数总计为1.0。平均滤波器还可经量化到某定点精度(例如,13位精度)。滤波器系数中的定点精度的使用确保跨越不同平台的实施将不具有漂移。此外,真实定点实施可由此些预定义滤波器系数导出。任何经定制滤波器可具有不同的特征。特定来说,不同滤波器可为不可分滤波器或可分滤波器,且不同滤波器可定义不同滤波器支持(例如,6×6或4×4)。
在任何情况下,可在编码过程期间由运动补偿单元35选择在任何给定情况下均提供最佳预测(例如,最小预测误差能量)的滤波器集合。而且,滤波器集合选择可为基于帧或基于样本的,其意味着可针对每一帧(或其它经译码单元)或可针对每一帧的不同视频块来选择滤波器。当使用多个参考帧时,不同滤波器集合可经选择以用于不同参考帧。此外,一些参考帧可具有基于帧的滤波器选择,而其它参考帧可具有基于样本的滤波器选择。当使用基于帧的滤波器选择时且当选择经定制滤波器集合时,标准滤波器仍可应用于半像素位置(例如,位置“b”、“h”和“j”)上,而经定制滤波器集合可应用于其它子像素位置上。
还可在内插期间添加偏移。将DC偏移添加到预测值可帮助俘获在不同视频帧之间的照明改变,例如,闪光、变暗的天空等。在本发明的方案中,可在帧级上(帧中的所有像素使用相同DC偏移)或在样本位置级上应用(不同像素位置具有不同DC偏移)DC偏移。当使用基于样本的DC偏移时,可能需要在视频位流中发送总共16个DC偏移以使得整数像素位置和15个可能的非整数像素位置可各自定义不同的偏移。基于样本的DC偏移的应用可为有益的,因为其可用作简单但有效的运动分段工具。举例来说,将含有变暗天空的视频帧作为静止背景且将移动对象作为前景。在此情况下,背景与前景可具有不同程度的照明改变,且使用基于样本的DC偏移可帮助俘获前景和背景中的不同程度的照明改变。
当使用多个参考帧时,可针对不同的参考帧计算且发送不同DC偏移。此外,一些参考帧可具有基于帧的DC偏移,而其它参考帧可具有基于样本的DC偏移。一个特定方案为将基于样本的DC偏移仅用于在时间距离上最接近当前帧的参考帧上,且将基于帧的DC偏移用于所有其它参考帧。信息可经译码于位流中以向解码器通知所使用偏移的类型,和此些偏移在不同像素位置处的量值。
子像素运动向量指代需要内插的参考图片中的子像素位置。H.264定义用于子像素的一个内插过程,其中可如下通过以具有分接头值(1,-5,20,20,-5,1)的6分接头滤波器进行的水平和垂直滤波来计算子像素b和h(见图4A到图4D):
bl=C1-5*C2+20*C3+20*C4-5*C5+C6
其中“C1”、“C2”、“C3”、“C4”、“C5”和“C6”表示在水平方向上围绕“b”的六个最接近的整数像素,其中像素“C3”和“C4”最接近,“C2”和“C5”其次最接近且“C1”和“C6”其次最接近。
h1=A3-5*B3+20*C3+20*D3-5*E3+F3
其中“A3”、“B3”、“C3”、“D3”、“E3”和“F3”表示在垂直方向上围绕“h”的六个最接近的整数像素,其中像素“C3”和“D3”最接近,“B3”和“E3”其次最接近且“A3”和“F3”其次最接近。
在此情况下,“b”和“h”的值可经定义为:
b=max(0,min(255,(bl+16)>>5))
h=max(0,min(255,(hl+16)>>5))
其中“>>”为右移运算。在本发明中,“>>”表示右移运算且“<<”表示左移运算。
为了内插子像素“j”,中间值“j1”首先导出为:
j1=aa1-5*bb1+20*b1+20*hh1-5*ii1+jj1,
其中通过在位置“aa”、“bb”、“hh”、“ii”和“jj”处以与bl的计算相同的方式水平地应用6分接头滤波器而导出表示为“aal”、“bbl”、“hhl”、“iil”和“jjl”的中间值。最终值j可经计算为:
j=max(0,min(255,(j1+512)>>10))。
可根据表1通过对整数和半像素位置处的两个最近像素求平均且接着应用上舍入而导出在标记为“a”、“c”、“d”、“l”、“f”、“i”、“k”和“n”的四分之一像素位置处的像素。
表1
a=(C3+b+l)>>1
c=(C4+b+l)>>1
d=(C3+h+l)>>1
l=(D3+h+l)>>1
f=(j+b+l)>>1
i=(j+h+l)>>1
k=(j+ee+l)>>1
n=(j+hh+l)>>1
根据表2通过对对角方向上的半像素位置处的两个最近像素求平均且接着应用上舍入而计算在标记为“e”、“g”、“m”和“o”的四分之一像素位置处的像素。
表2
e=(b+h+l)>>1
g=(b+ee+l)>>1
m=(h+hh+l)>>1
o=(ee+hh+l)>>1
那些四分之一像素的最终值可最终被修剪到范围(0,255)中的值。
为了保持贯穿中间步骤的最高可能精度,可避免任何移位、舍入和修剪运算直到内插过程的最后步骤。不同于在H.264标准定义的实施方案中,根据表3通过对整数和半像素位置“b”、“h”、“j”、“ee”和“hh”处的两个最近像素求平均而通过上舍入而导出在标记为“a”、“c”、“d”、“l”、“f”、“i”、“k”和“n”的四分之一像素位置处的像素。
表3
a=(C3<<5+bl+32)>>6
c=(C4<<5+bl+32)>>6
d=(C3<<5+hl+32)>>6
l=(D3<<5+hl+32)>>6
f=(jl>>5+bl+32)>>6
i=(jl>>5+hl+32)>>6
k=(jl>>5+eel+32)>>6
n=(jl>>5+hhl+32)>>6
在此情况下,通过以与以上列出的“hl”和“bl”的计算相同的方式但在位置“ee”和“hh”处垂直且水平地应用6分接头滤波器而导出表示为“eel”和“hhl”的中间值。在此阶段在产生“eel”和“hhl”中可避免舍入,如本文中所描述。
可根据表4通过对对角方向上的半像素位置处的两个最近像素求平均而通过上舍入来计算在标记为“e”、“g”、“m”和“o”的四分之一像素位置处的像素。
表4
e=(bl+hl+32)>>6
g=(bl+eel+32)>>6
m=(hl+hhl+32)>>6
o=(eel+hhl+32)>>6
那些四分之一像素的最终值可被修剪到范围(0,255)中的值。通过保留中间值的全精度,内插的子像素将更准确。具体来说,为四分之一像素产生的目的,在位置“b”、“h”、“ee”和“hh”处的半像素值可为表示为“bl”、“hl”、“eel”和“hhl”的未舍入值。
遗憾的是,值“j”的内插可更复杂,因为位置j处的内插需要二级的半像素内插。具体来说,为了内插“j”,可能需要20个位以表示中间值“j1”。在此情况下,“j”的中间版本“j1”可经舍入以在16位内。在此情况下,以上所论述的运算可以较小修改来实施以使得所有运算可在不牺牲精度的情况下配合于16位数据结构内。“b”和“h”的内插可与以上所定义的内插相同,不同之处在于其中间版本“bl”和“hl”可经存储以用于其它子像素内插。下表展示16位存储元件中的其它子像素的内插过程。在下表中,每一列中所定义的运算贯穿相应表而循序地执行。阴影行含有在过程结束时所执行的运算,且不用于其它子像素位置的内插。
表5
图4A到图4D的位置{a,c,d,l}
Figure BPA00001234523800211
表6
图4A到图4D的位置{e,g,m,o}
Figure BPA00001234523800212
以下表7说明在像素位置“j”处的导出像素值的16位实施方案。所有1-D半像素“aal”、“bbl”、“bl”、“hhl”、“iil”和“jjl”在无任何下移的情况下获得的。用以避免溢出的修剪范围为(-2372,18640)。而且,表中的阴影行指示仅在内插过程结束时执行的运算,且这些结果不用于其它子像素位置的内插。中间值“j1”将经保存用于“f”、“i”、“k”和“n”的内插。
表7
图4A到图4D的位置{j}
Figure BPA00001234523800221
以下表8示范可采取以用于内插{f,i,k,n}(其为用于内插中间值“j1”的位置)的16位实施方案的步骤。
表8
图4A到图4D的位置{f,i,k,n}
Figure BPA00001234523800231
简而言之,以上论述示范用于在不超过16位存储元件的情况下内插每一可能子像素位置“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”、“k”、“l”、“m”、“n”和“o”的完整技术,其实施起来是合意的。为了四分之一像素内插的目的,大部分中间半像素值保持不舍入。然而,像素位置“j”为特殊情况,其可能为了产生其半像素值的目的而需要舍入中间结果,因为像素位置“j”需要二级半像素内插。然而,根据本发明,像素位置“j”的舍入将不影响依赖于“j”的四分之一像素的最终值的准确性。
图5为与和本发明一致的视频编码的一个或一个以上方面一致的流程图。将从图2中所示的视频编码器50的角度来论述图5。具体来说,运动补偿单元35产生预测数据(101),其包括基于多个预定义内插滤波器进行内插。运动补偿单元35接着基于与预定义内插滤波器中的每一者相关联的预测数据而编码例如视频块的视频数据(102)。举例来说,运动补偿单元35可调用加法器48以产生与预定义内插滤波器中的每一者相关联的残余块,以使得不同残余块可彼此比较以找到最佳残余块。运动补偿单元35选择实现最高级别的压缩的视频数据(103)。具体来说,将所选视频数据说明为加法器48的“残余块”输出,其为最终输出。加法器48的此最终输出由变换单元38变换,由量化单元40量化且由熵译码单元46熵译码。
运动补偿单元35还识别曾与实现最高级别的压缩的所选残余视频数据相关联的特定内插滤波器(104)。运动补偿单元35将内插语法元素转发到熵译码单元46。内插语法元素识别曾使用的特定内插滤波器。熵译码单元46编码语法元素(105)以形成输出位流的部分。以此方式,在编码器50处所使用的内插滤波器(例如,所使用的滤波器系数或其它滤波器设计或参数)可被传送到目的地装置,以使得目的地装置可在视频重新建构期间执行适当的内插滤波。
可在逐帧基础上定义内插滤波,或可在逐视频块基础上定义内插滤波。在其它情况下,可在逐样本基础上定义内插滤波,或可在逐子样本基础上定义内插滤波。术语“视频单元”可指代视频帧、视频块、视频样本或视频子样本。在任何情况下,视频编码器50可编码不同语法元素以识别用于产生视频数据的不同经译码单元的预测性数据的不同参考视频单元的不同内插滤波器。或者,视频编码器可编码不同语法元素以识别用于参考视频数据的不同视频块的不同内插滤波器。在任何情况下,可使用测试视频序列来预定义内插滤波器。在此情况下,例如,自适应内插滤波(AIF)可应用于视频序列以便定义实现合意结果的不同内插滤波器,且这些内插滤波器可经编程到运动补偿单元35中。
图6为与和本发明一致的视频解码的一个或一个以上方面一致的流程图。将从图2中所示的视频编码器50的角度来论述图6。具体来说,视频解码器60接收经编码的视频数据(111),且接收识别来自多个内插滤波器的内插滤波器的语法元素(112)。经编码的位流可包括经编码的残余视频数据与识别在编码器处曾使用的内插滤波器的语法元素两者。熵解码单元52可熵解码所接收的位流以剖析出经变换且经量化的残余块,经变换且经量化的残余块被发送到逆变换量化单元56和逆变换单元58;且剖析出内插语法元素和运动向量,内插语法元素和运动向量被发送到运动补偿单元55。
运动补偿单元55产生预测数据(113),其包括基于由语法元素识别的内插滤波器的内插。视频解码器60基于预测数据解码视频数据(114)。具体来说,由运动补偿单元55产生的预测数据可经由加法器64与残余数据组合以在像素域中重新建构视频数据。经解码的视频接着可存储于参考帧存储装置62中以供随后用于预测,且还可输出以用于(例如)经由显示器或其它输出装置呈现给用户。
如同编码,可在逐帧基础上定义,或可在逐视频块基础上、逐样本基础上或逐子样本基础上定义在解码过程期间的内插滤波。具体来说,视频解码器60可解码不同语法元素以识别用于产生视频数据的不同经译码单元的预测性数据的不同参考视频单元的不同内插滤波器,或者,视频解码器60可解码不同语法元素以识别用于参考视频数据的不同视频块的不同内插滤波器。在任何情况下,可使用测试视频序列预定义内插滤波器,且这些内插滤波器可被编程到运动补偿单元55中,以使得语法可用于识别且调用运动补偿单元55内的适当内插滤波器。
图7说明内插技术,其可在编码过程期间由运动补偿单元35执行,或在解码过程期间由运动补偿单元55执行。如图7中所示,运动补偿单元35或55基于整数像素值而产生半像素值(121)。举例来说,这些半像素值可对应于图4A到图4D的位置“b”和“h”处的像素值。运动补偿单元35或55舍入这些半像素值以产生半像素内插值(122),但还存储半像素值的未舍入版本(123)。运动补偿单元35和55可具有存储元件以促进对应于半像素值的未舍入版本的中间值的临时存储。运动补偿单元35或55接着可基于未舍入的半像素值和整数像素值而产生四分之一像素值(124)。这些四分之一像素值(例如)可对应于图4A到图4D中所示的位置“a”、“c”、“d”和“l”。
如上所阐释,在图4A到图4D中的位置“j”处的半像素值可能需要中间值的一些舍入,因为位置“j”可能需要二级半像素内插。图8说明内插技术,其可在编码过程期间由运动补偿单元35执行,或在解码过程期间由运动补偿单元55执行以便产生在例如16位的固定位实施方案内的所有内插值(图4A到图4D中所示的“a到o”)。
如同图7的过程,图8的过程开始于运动补偿单元35或55基于整数像素值而产生半像素值(131),例如所述半像素值可对应于图4A到图4D的位置“b”和“h”处的像素值。运动补偿单元35或55接着舍入这些半像素值以产生半像素内插值(132),但还存储半像素值的未舍入版本(133)。
接下来,运动补偿单元35或55基于未舍入的半像素值而产生额外半像素值(例如,对应于图4A到图4D中的位置“j”的值)。运动补偿单元35或55在必要时舍入额外半像素值(例如,对应于图4A到图4D中的位置“j”的值),以确保此值在不牺牲依赖于“j”的四分之一像素的准确性的情况下处于固定位深度(例如,16位)内(135)。运动补偿单元35或55接着可基于未舍入的半像素值、额外半像素值和整数像素值而产生四分之一像素值(136)。以此方式,可产生在图4D中以阴影(例如,位置“a”、“c”、“d”、“e”、“f”、“g”、“i”、“k”、“l”、“m”、“n”和“o”)展示的所有四分之一像素值。以上表和论述提供关于可在此过程中执行的运算的更特定细节。
图7和图8的技术可应用于许多不同的内插环境。具体来说,可在具有或不具有使用预定义内插滤波器的本文中所描述的其它技术的情况下使用这些技术。换句话说,消除或显著减小中间舍入的图7和图8的技术可根据一个或一个以上预定义内插滤波器而在内插期间使用,但还可与使用固定内插滤波器的内插或可能与自适应精细化内插技术一起使用。因此,本文中所描述的不同技术没有必要需要一同执行,而是可具有在许多不同内插设定或情形下的合意应用。
本发明的技术可体现于多种装置或设备中,包括无线手持机和集成电路(IC)或一组IC(即,芯片组)。已描述经提供以强调功能方面的任何组件、模块或单元,且其未必需要通过不同硬件单元等来实现。
因此,本文中所描述的技术可以硬件、软件、固件或其任何组合来实施。如果以硬件实施,则描述为模块、单元或组件的任何特征可一起实施于集成逻辑装置中或单独作为离散但可相互操作的逻辑装置而实施。如果以软件实施,则可至少部分地通过包含指令的计算机可读媒体来实现所述技术,所述指令在处理器中执行时执行上文所描述的方法中的一者或一者以上。计算机可读媒体可包含计算机可读存储媒体且可形成计算机程序产品的部分,所述计算机程序产品可包括封装材料。计算机可读存储媒体可包含随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或替代地,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体载运或传送呈指令或数据结构的形式的代码且可由计算机存取、读取和/或执行。
代码可由一个或一个以上处理器(例如,一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路)来执行。因此,术语“处理器”在本文中使用时可指代适合于实施本文中所描述的技术的前述结构中的任一者或任何其它结构。另外,在一些方面中,本文中所描述的功能性可提供于为编码和解码而配置的专用软件模块或硬件模块内,或并入于经组合的视频编码器-解码器(CODEC)中。而且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
已描述本发明的各种方面。这些和其它方面在所附权利要求书的范围内。

Claims (38)

1.一种编码视频数据的方法,所述方法包含:
产生包含可用于编码所述视频数据的像素值的预测数据的多个不同集合,其中产生预测数据的所述多个不同集合包括基于参考视频数据的一个或一个以上集合内的整数像素值并基于多个不同的预定义内插滤波器而内插所述像素值;
基于预测数据的所述多个不同集合而编码所述视频数据的多个版本;
识别所述视频数据的多个经编码版本中实现最高级别的数据压缩的一个经编码版本;
识别与所述视频数据的多个经编码版本中识别为具有最高级别的数据压缩的经编码版本相关联的特定内插滤波器,其中,与识别所述预定义内插滤波器中的所述特定内插滤波器相关联的选择是在子像素位置级上执行的;
在所述子像素位置级上编码语法元素以识别所述预定义内插滤波器中的特定一者。
2.根据权利要求1所述的方法,其中内插所述像素值包含:基于预定义内插滤波器系数的多个不同集合而内插所述像素值。
3.根据权利要求1所述的方法,其进一步包含:
编码不同语法元素以识别将相对于用于产生所述视频数据的不同经译码单元的所述预测性数据的不同参考视频单元而应用的用于内插的不同内插滤波器。
4.根据权利要求1所述的方法,其进一步包含:
编码不同语法元素以识别将相对于用于所述参考视频数据的不同视频块而应用的用于内插的不同内插滤波器。
5.根据权利要求1所述的方法,其中基于应用于测试视频序列的视频译码而预定义所述预定义内插滤波器中的至少一些。
6.根据权利要求1所述的方法,其中内插与所述预定义内插滤波器中的至少一者相关联的像素值包括:
基于整数像素值而产生半像素值;
舍入所述半像素值以产生半像素内插值;
存储所述半像素值以作为所述半像素值的未舍入版本;以及
基于所述半像素值的所述未舍入版本和所述整数像素值而产生四分之一像素值。
7.根据权利要求6所述的方法,其中所述值中的每一者可存储于16位数据结构内,
所述方法进一步包含:
基于所述半像素值的多个所述未舍入版本而产生另一半像素值;
舍入所述另一半像素值以使得所述另一半像素值可存储于所述16位数据结构内;
将所述另一半像素值的所述舍入版本存储于所述16位数据结构内;以及
基于所述另一半像素值的所述舍入版本和所述半像素值的所述未舍入版本而产生额外四分之一像素值。
8.一种解码视频数据的方法,所述方法包含:
在子像素位置级上接收语法元素,所述语法元素识别来自多个不同的预定义内插滤波器的内插滤波器,其中,与识别所述内插滤波器相关联的选择是在子像素位置级上执行的;
产生包含可用于解码所述视频数据的像素值的预测数据,其中产生所述预测数据包括基于参考视频数据内的整数像素值并基于由所述语法元素识别的来自所述多个不同的预定义内插滤波器的所述内插滤波器而内插所述像素值;以及
基于所述预测数据而解码所述视频数据。
9.根据权利要求8所述的方法,其中内插所述像素值包含:基于由所述语法元素识别的内插滤波器系数的预定义集合而内插所述像素值。
10.根据权利要求8所述的方法,其中基于应用于测试视频序列的视频译码而预定义所述预定义内插滤波器中的至少一些。
11.根据权利要求8所述的方法,其中内插像素值包括:
基于整数像素值而产生半像素值;
舍入所述半像素值以产生半像素内插值;
存储所述半像素值以作为所述半像素值的未舍入版本;以及
基于所述半像素值的所述未舍入版本和所述整数像素值而产生四分之一像素值。
12.根据权利要求11所述的方法,其中所述值中的每一者可存储于16位数据结构内,
其中内插像素值包括:
基于所述半像素值的多个所述未舍入版本而产生另一半像素值;
舍入所述另一半像素值以使得所述另一半像素值可存储于所述16位数据结构内;
将所述另一半像素值的所述舍入版本存储于所述16位数据结构内;以及
基于所述另一半像素值的所述舍入版本和所述半像素值的所述未舍入版本而产生额外四分之一像素值。
13.根据权利要求8所述的方法,其进一步包含接收用于产生所述预测性数据的不同参考视频单元的不同语法元素,和基于由所述不同语法元素识别的不同内插滤波器而内插用于所述不同参考视频单元的像素值。
14.根据权利要求8所述的方法,其进一步包含接收用于产生所述预测性数据的参考视频单元的不同视频块的不同语法元素,和基于由所述不同语法元素识别的不同内插滤波器而内插用于所述不同视频块的像素值。
15.一种编码视频数据的设备,所述设备包含视频编码器,所述视频编码器包括运动补偿单元,所述运动补偿单元产生包含可用于编码所述视频数据的像素值的预测数据的多个不同集合,
其中所述运动补偿单元基于参考视频数据的一个或一个以上集合内的整数像素值并基于多个不同的预定义内插滤波器而内插所述像素值,且
其中所述视频编码器还用于基于预测数据的所述多个不同集合而编码所述视频数据的多个版本;
其中,所述视频编码器还用于识别所述视频数据的多个经编码版本中实现最高级别的数据压缩的一个经编码版本;
其中,所述视频编码器还用于识别与所述视频数据的多个经编码版本中识别为具有最高级别的数据压缩的经编码版本相关联的特定内插滤波器,其中,与识别所述预定义内插滤波器中的所述特定内插滤波器相关联的选择是在子像素位置级上执行的;
其中,所述视频编码器还用于在所述子像素位置级上编码语法元素以识别所述预定义内插滤波器中的所述特定一者。
16.根据权利要求15所述的设备,其中所述多个不同的预定义内插滤波器是由预定义内插滤波器系数的多个不同集合来定义。
17.根据权利要求15所述的设备,其中所述视频编码器:
编码不同语法元素以识别将相对于用于产生所述视频数据的不同经译码单元的所述预测性数据的不同参考视频单元而应用的用于内插的不同内插滤波器。
18.根据权利要求17所述的设备,其中所述视频编码器:
编码不同语法元素以识别将相对于用于所述参考视频数据的不同视频块而应用的用于内插的不同内插滤波器。
19.根据权利要求15所述的设备,其中所述预定义内插滤波器中的至少一些是基于应用于测试视频序列的视频译码而经预定义。
20.根据权利要求15所述的设备,其中所述运动补偿单元:
基于整数像素值而产生半像素值;
舍入所述半像素值以产生半像素内插值;
存储所述半像素值以作为所述半像素值的未舍入版本;以及
基于所述半像素值的所述未舍入版本和所述整数像素值而产生四分之一像素值。
21.根据权利要求20所述的设备,其中所述值中的每一者可存储于16位数据结构内,
其中所述运动补偿单元:
基于所述半像素值的多个所述未舍入版本而产生另一半像素值;
舍入所述另一半像素值以使得所述另一半像素值可存储于所述16位数据结构内;
将所述另一半像素值的所述舍入版本存储于所述16位数据结构内;以及
基于所述另一半像素值的所述舍入版本和所述半像素值的所述未舍入版本而产生额外四分之一像素值。
22.根据权利要求15所述的设备,其中所述设备包含集成电路。
23.根据权利要求15所述的设备,其中所述设备包含微处理器。
24.一种解码视频数据的设备,所述设备包含视频解码器,所述视频解码器包括运动补偿单元,其中:
所述视频解码器用于在子像素位置级上接收语法元素,所述语法元素识别来自多个不同的预定义内插滤波器的内插滤波器,其中,与识别所述内插滤波器相关联的选择是在子像素位置级上执行的;
所述运动补偿单元用于产生包含可用于解码所述视频数据的像素值的预测数据,其中产生所述预测数据包括基于参考视频数据内的整数像素值并基于由所述语法元素识别的来自所述多个不同的预定义内插滤波器的所述内插滤波器而内插所述像素值;以及
所述视频解码器用于基于所述预测数据而解码所述视频数据。
25.根据权利要求24所述的设备,其中所述多个不同的预定义内插滤波器是由预定义内插滤波器系数的多个不同集合来定义。
26.根据权利要求24所述的设备,其中所述预定义内插滤波器中的至少一些是基于应用于测试视频序列的视频译码而经预定义。
27.根据权利要求24所述的设备,其中所述运动补偿单元:
基于整数像素值而产生半像素值;
舍入所述半像素值以产生半像素内插值;
存储所述半像素值以作为所述半像素值的未舍入版本;以及
基于所述半像素值的所述未舍入版本和所述整数像素值而产生四分之一像素值。
28.根据权利要求27所述的设备,其中所述值中的每一者可存储于16位数据结构内,其中所述运动补偿单元:
基于所述半像素值的多个所述未舍入版本而产生另一半像素值;
舍入所述另一半像素值以使得所述另一半像素值可存储于所述16位数据结构内;
将所述另一半像素值的所述舍入版本存储于所述16位数据结构内;以及
基于所述另一半像素值的所述舍入版本和所述半像素值的所述未舍入版本而产生额外四分之一像素值。
29.根据权利要求24所述的设备,其中所述视频解码器接收用于产生所述预测性数据的不同参考视频单元的不同语法元素,且所述运动补偿单元基于由所述不同语法元素识别的不同内插滤波器而内插用于所述不同参考视频单元的像素值。
30.根据权利要求24所述的设备,其中所述视频解码器接收用于产生所述预测性数据的参考视频单元的不同视频块的不同语法元素,且所述运动补偿单元基于由所述不同语法元素识别的不同内插滤波器而内插用于所述不同视频块的像素值。
31.根据权利要求24所述的设备,其中所述设备包含集成电路。
32.根据权利要求24所述的设备,其中所述设备包含微处理器。
33.一种编码视频数据的装置,所述装置包含:
用于产生包含可用于编码所述视频数据的像素值的预测数据的多个不同集合的装置,其中用于产生预测数据的所述多个不同集合的装置包括用于基于参考视频数据的一个或一个以上集合内的整数像素值基于多个不同的预定义内插滤波器而内插所述像素值的装置;
用于基于预测数据的所述多个不同集合而编码所述视频数据的多个版本的装置;
用于识别所述视频数据的多个经编码版本中实现最高级别的数据压缩的一个经编码版本的装置;
用于识别与所述视频数据的多个经编码版本中识别为具有最高级别的数据压缩的经编码版本相关联的特定内插滤波器,其中,与识别所述预定义内插滤波器中的所述特定内插滤波器相关联的选择是在子像素位置级上执行的装置;
用于在所述子像素位置级上编码语法元素以识别所述预定义内插滤波器中的所述特定一者的装置。
34.一种解码视频数据的装置,所述装置包含:
用于在子像素位置级上接收语法元素的装置,所述语法元素识别来自多个不同的预定义内插滤波器的内插滤波器,其中,与识别所述内插滤波器相关联的选择是在子像素位置级上执行的;
用于产生包含可用于解码所述视频数据的像素值的预测数据的装置,其中用于产生所述预测数据的装置包括用于基于参考视频数据内的整数像素值并基于由所述语法元素识别的来自所述多个不同的预定义内插滤波器的所述内插滤波器而内插所述像素值的装置;以及
用于基于所述预测数据而解码所述视频数据的装置。
35.一种编码视频数据的装置,所述装置包含:
视频编码器,其包括运动补偿单元,所述运动补偿单元用于通过基于参考视频数据的一个或一个以上集合内的整数像素值并基于多个不同的预定义内插滤波器而内插可用于编码所述视频数据的像素值来产生包含所述像素值的预测数据的多个不同集合,其中所述视频编码器还用于基于预测数据的所述多个不同集合而编码所述视频数据的多个版本,其中,所述视频编码器还用于识别所述视频数据的多个经编码版本中实现最高级别的数据压缩的一个经编码版本并识别与所述视频数据的多个经编码版本中识别为具有最高级别的数据压缩的经编码版本相关联的特定内插滤波器,其中,与识别所述预定义内插滤波器中的所述特定内插滤波器相关联的选择是在子像素位置级上执行的,其中,所述视频编码器还用于在所述子像素位置级上编码语法元素以识别所述预定义内插滤波器中的所述特定一者;以及
无线发射器,其将所述语法元素和所述经编码视频数据的所述选定版本发射到另一装置。
36.根据权利要求35所述的装置,其中所述装置包含无线通信手持机。
37.一种解码视频数据的装置,所述装置包含:
无线接收器,其接收所述视频数据和识别来自多个不同的预定义内插滤波器的内插滤波器的语法元素;以及
视频解码器,其包括运动补偿单元,所述视频解码器:
在子像素位置级上接收所述语法元素,所述语法元素识别来自所述多个不同的预定义内插滤波器的所述内插滤波器,其中,与识别所述内插滤波器相关联的选择是在子像素位置级上执行的;
产生包含可用于解码所述视频数据的像素值的预测数据,其中产生所述预测数据包括基于参考视频数据内的整数像素值并基于由所述语法元素识别的来自所述多个不同的预定义内插滤波器的所述内插滤波器而内插所述像素值;以及
基于所述预测数据而解码所述视频数据。
38.根据权利要求37所述的装置,其中所述装置包含无线通信手持机。
CN200980112683.7A 2008-04-10 2009-04-10 用于视频译码中的运动补偿的高级内插技术 Active CN101990760B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US4402308P 2008-04-10 2008-04-10
US61/044,023 2008-04-10
US4424008P 2008-04-11 2008-04-11
US61/044,240 2008-04-11
US5737308P 2008-05-30 2008-05-30
US61/057,373 2008-05-30
US12/420,235 US20090257499A1 (en) 2008-04-10 2009-04-08 Advanced interpolation techniques for motion compensation in video coding
US12/420,235 2009-04-08
PCT/US2009/040278 WO2009126936A1 (en) 2008-04-10 2009-04-10 Advanced interpolation techniques for motion compensation in video coding

Publications (2)

Publication Number Publication Date
CN101990760A CN101990760A (zh) 2011-03-23
CN101990760B true CN101990760B (zh) 2014-04-23

Family

ID=40786653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980112683.7A Active CN101990760B (zh) 2008-04-10 2009-04-10 用于视频译码中的运动补偿的高级内插技术

Country Status (9)

Country Link
US (2) US20090257499A1 (zh)
EP (3) EP2947885A1 (zh)
JP (2) JP2011517241A (zh)
KR (1) KR101208383B1 (zh)
CN (1) CN101990760B (zh)
BR (1) BRPI0910640A2 (zh)
CA (1) CA2720128A1 (zh)
TW (1) TW201004363A (zh)
WO (1) WO2009126936A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US8804831B2 (en) * 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
CN104184567B (zh) 2009-01-24 2019-11-22 华为技术有限公司 Ack/nack信道资源分配及确认信息处理的方法及装置
CN102687511B (zh) * 2009-10-14 2016-04-20 汤姆森特许公司 运动信息的自适应编解码的方法和装置
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
US9219921B2 (en) * 2010-04-12 2015-12-22 Qualcomm Incorporated Mixed tap filters
EP2398240A1 (en) 2010-06-16 2011-12-21 Canon Kabushiki Kaisha A method and device for encoding and decoding a video signal
JP5977235B2 (ja) * 2010-07-09 2016-08-24 サムスン エレクトロニクス カンパニー リミテッド 映像補間方法
US10045046B2 (en) 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
US9172972B2 (en) 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
EP4250732B1 (en) 2011-01-07 2024-03-20 Nokia Technologies Oy Motion prediction in video coding
US9049454B2 (en) 2011-01-19 2015-06-02 Google Technology Holdings Llc. High efficiency low complexity interpolation filters
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
JP5886953B2 (ja) 2011-06-28 2016-03-16 サムスン エレクトロニクス カンパニー リミテッド 非対称形の補間フィルタを利用して、映像を補間する方法及びその装置
WO2013006573A1 (en) 2011-07-01 2013-01-10 General Instrument Corporation Joint sub-pixel interpolation filter for temporal prediction
US9055304B2 (en) 2011-07-01 2015-06-09 Qualcomm Incorporated Reduced resolution pixel interpolation
US9521409B2 (en) 2011-11-24 2016-12-13 Nec Corporation Video encoding device, video encoding method, and program
CN103139561A (zh) * 2011-12-05 2013-06-05 朱洪波 半像素与四分之一像素插值滤波器
US9325991B2 (en) 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
WO2017052405A1 (en) 2015-09-25 2017-03-30 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation
RU2696309C1 (ru) 2015-09-25 2019-08-01 Хуавэй Текнолоджиз Ко., Лтд. Устройство и способ компенсации движения видео
AU2015410095C1 (en) 2015-09-25 2020-01-16 Huawei Technologies Co., Ltd. Adaptive sharpening filter for predictive coding
CN108028937B (zh) 2015-09-25 2020-07-24 华为技术有限公司 视频运动补偿装置和方法
CN107925772B (zh) * 2015-09-25 2020-04-14 华为技术有限公司 利用可选插值滤波器进行视频运动补偿的装置和方法
US10009622B1 (en) 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
JP7094076B2 (ja) * 2016-08-19 2022-07-01 沖電気工業株式会社 映像符号化装置、プログラム及び方法、並びに、映像復号装置、プログラム及び方法、並びに、映像伝送システム
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
SG11202003260WA (en) * 2017-11-07 2020-05-28 Huawei Tech Co Ltd Interpolation filter for an inter prediction apparatus and method for video coding
GB2577339A (en) * 2018-09-24 2020-03-25 Sony Corp Image data encoding and decoding
CN113491114A (zh) * 2019-02-20 2021-10-08 北京达佳互联信息技术有限公司 用于帧间预测的运动向量舍入、截取和存储的方法和装置
WO2021061322A1 (en) * 2019-09-24 2021-04-01 Alibaba Group Holding Limited Motion compensation methods for video coding
US20210176486A1 (en) * 2019-12-09 2021-06-10 Alibaba Group Holding Limited Methods and apparatuses for motion compensation
US11523112B2 (en) * 2020-04-09 2022-12-06 Tencent America LLC Intra coding with L-type partitioning tree

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529638B1 (en) * 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
CN1671209A (zh) * 2004-03-17 2005-09-21 松下电器产业株式会社 运动图像编码装置
CN1717056A (zh) * 2004-07-02 2006-01-04 三菱电机株式会社 用于小波视频编码中的高通时间滤波帧的帧内预测
CN1738435A (zh) * 2004-07-13 2006-02-22 微软公司 Sdmctf编码的视频的3d子带解码中的空间可伸缩性

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8007A (en) * 1851-04-01 crosby
ES2128168T3 (es) * 1995-05-02 1999-05-01 Innovision Ltd Filtraje de movimiento compensado.
DE10120395A1 (de) * 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
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
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
WO2005104564A1 (ja) * 2004-04-21 2005-11-03 Matsushita Electric Industrial Co., Ltd. 動き補償装置
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
JP2008536414A (ja) * 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US8942505B2 (en) * 2007-01-09 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter representation
EP2127391A2 (en) * 2007-01-09 2009-12-02 Nokia Corporation Adaptive interpolation filters for video coding
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529638B1 (en) * 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
CN1671209A (zh) * 2004-03-17 2005-09-21 松下电器产业株式会社 运动图像编码装置
CN1717056A (zh) * 2004-07-02 2006-01-04 三菱电机株式会社 用于小波视频编码中的高通时间滤波帧的帧内预测
CN1738435A (zh) * 2004-07-13 2006-02-22 微软公司 Sdmctf编码的视频的3d子带解码中的空间可伸缩性

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Overview of the H.264/AVC Video Coding Standard;ThomasWiegand,et al.;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》;20030731;第13卷(第7期);第562页左栏倒数第3-4行,第569页右栏,图13 *
ThomasWiegand,et al..Overview of the H.264/AVC Video Coding Standard.《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》.2003,第13卷(第7期),

Also Published As

Publication number Publication date
WO2009126936A1 (en) 2009-10-15
EP3454560A1 (en) 2019-03-13
EP2286594A1 (en) 2011-02-23
JP2013243739A (ja) 2013-12-05
CN101990760A (zh) 2011-03-23
KR20100130644A (ko) 2010-12-13
EP2947885A1 (en) 2015-11-25
US20190028736A1 (en) 2019-01-24
KR101208383B1 (ko) 2012-12-05
BRPI0910640A2 (pt) 2018-01-16
CA2720128A1 (en) 2009-10-15
US20090257499A1 (en) 2009-10-15
JP2011517241A (ja) 2011-05-26
TW201004363A (en) 2010-01-16
JP5654091B2 (ja) 2015-01-14

Similar Documents

Publication Publication Date Title
CN101990760B (zh) 用于视频译码中的运动补偿的高级内插技术
CN101999229B (zh) 用于视频译码中的运动补偿的高级内插技术
CN101999230B (zh) 子像素分辨率下的偏移
CN101990758B (zh) 基于固定滤波器或自适应滤波器的用于视频译码的由速率失真定义的内插
CN102017629B (zh) 用于视频译码中的子像素分辨率的内插滤波器支持
CN102017630B (zh) 用于视频译码中的子像素位置的内插滤波的对称性
CN101990759B (zh) 用于在视频译码中进行内插的预测技术
CN102783150B (zh) 视频译码中的块类型信令
CN102017631B (zh) 视频译码中的整数像素位置的似内插滤波
CN102172022B (zh) 使用内插滤波器及偏移的数字视频译码
CN102783149B (zh) 用于视频译码的适应性运动分辨率
CN102172027B (zh) 有效率的预测模式选择
CN102265619B (zh) 切换式内插滤波器中的偏移计算方法
KR101553850B1 (ko) 동영상 부호화/복호화 장치 및 그를 위한 적응적 가중치를 사용하는 적응 중첩 블록 움직임 보상 방법 및 장치
CN102474621B (zh) 视频编码中的非零舍入与预测模式选择技术
CN103250414A (zh) 用于内插视频译码的子像素的值的自适应支持
CN109076225A (zh) 用于变换系数编码的系统和方法
CN103004196A (zh) 在经压缩位流中包含切换式内插滤波器系数
CN102474622A (zh) 用于视频译码的模板匹配
KR101646856B1 (ko) 감소된 해상도 화소 보간
RU2477576C2 (ru) Поддержка интерполяционного фильтра для субпиксельного разрешения в видеокодировании
RU2481727C2 (ru) Усовершенствованные технологии интерполяции для компенсации движения при кодировании видео

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