具有高编码效率的自适应图像滤波器的定点实现的制作方法

文档序号:7941597阅读:333来源:国知局
专利名称:具有高编码效率的自适应图像滤波器的定点实现的制作方法
技术领域
本申请一般涉及视频编码,更具体地,涉及具有高编码效率的自适应图像滤波器 的定点实现。
背景技术
视频编解码器包括将输入视频序列变换为适合于存储/传输的压缩表示的编码 器,以及可以将该压缩的视频表示解压缩回可视形式的解码器。通常,编码器丢弃原始输入 视频序列中的一些信息,以便以更紧凑的形式(例如,以更低的比特率)来表示视频。混合视频编解码器,例如ITU-T H. 263和H. 264,按两个阶段对视频信息进行编 码。首先,预测特定图片区域(例如,块)中的像素值,例如通过运动补偿方式,例如在之 前编码的视频帧之一中找到并指示对应于靠近正在编码的块的区域;或者通过空间方式, 例如按照指定方式使用待编码的块周围的已编码像素值。其次,对预测误差(例如预测像 素块与原始像素块之间的差)进行编码。这通常通过使用指定变换(例如,离散余弦变换 (DCT)或其变体)对像素值的差进行变换、对DCT系数进行量化以及对量化的系数进行熵编 码来实现。通过改变量化过程的逼真度,编码器可以控制像素表示的精确度(例如,图片质 量)与得到的编码视频表示的大小(例如,文件大小或传输比特率)之间的平衡。解码器通过应用与编码器类似的预测方式来重构输出视频序列。在待重构的当前 帧中,给定像素块的预测表示由解码器使用编码在压缩表示中的运动和空间信息以及来自 在给定像素块之前解码的图像块的像素值来形成。解码器还通过对编码在压缩表示中的 DCT系数应用熵解码、去量化和逆变换来弥补预测误差。在应用了预测和预测误差解码之 后,解码器对预测和预测误差信号(像素值)进行求和以形成输出视频帧。解码器和编码 器也可以在递送输出视频以供显示和/或存储为用于视频序列中后续帧的预测参考之前, 应用附加滤波以改善输出视频的质量。

发明内容
根据本发明的一个示例性实施方式,公开了一种方法,包括以二进制字来表示自 适应图像滤波器的系数,其中所述系数是受限制的,并且所述二进制字具有至少部分地由 精度指数定义的最大位数;计算自适应图像滤波器的卷积和与多个部分卷积和中的至少一 个,其中卷积和与多个部分卷积和中的所述至少一个具有受约束的值范围并且具有固定最 大位数的二进制表示;以及至少部分地基于卷积和与多个部分卷积和中的所述至少一个来 生成自适应图像滤波器的输出。根据本发明的另一示例性实施方式,公开了一种装置,包括自适应图像滤波器, 其特征在于自适应图像滤波器的系数是受限制的并且具有至少部分地由精度指数定义的 最大位数的二进制表示;具有固定最大位数的整数算术实现,其中所述实现包括至少使用 所述系数和图像数据采样来计算卷积和与多个部分卷积和中的至少一个,其中卷积和与多 个部分卷积和中的所述至少一个具有受约束的值范围;处理器;以及存储器单元,其可通信地连接到处理器,并且足以存储所述系数和多个图像数据采样。根据本发明的又一示例性实施方式,公开了一种实现在计算机可读介质上的计算 机程序产品,包括计算机代码,被配置用于利用具有固定最大位数的整数算术、基于自适 应滤波器的系数和图像数据采样来计算自适应滤波器的卷积和与多个部分卷积和中的至 少一个,其中所述系数是受限制的并且具有至少部分地由精度指数定义的最大位数的二进 制表示;以及至少部分地基于卷积和与多个部分卷积和中的所述至少一个来生成自适应图 像滤波器的输出,其中所述输出具有固定最大位数的二进制表示。


为了更全面地理解本发明的示例性实施方式及其目的和潜在优势,现在参考下文 结合附图的描述,其中图1是可以在其内实现本发明的实施方式的示例性系统的概览图;图2是可以在其内实现本发明的实施方式的示例性装置的透视图;图3是图2的装置的示例性电路的示意图;图4是示例性混合视频编码器的框图;图5是示例性混合视频解码器的框图;图6是按照本发明的一个示例性实施方式的用于滤波器输出生成的流程图;图7是浮点滤波器系数到整数滤波器系数的转换的示例性实现的框图;图8是按照本发明一个实施方式的自适应滤波器的示例性实现的框图;图9是按照本发明另一实施方式的自适应滤波器的示例性实现的框图;图10是按照本发明又一实施方式的自适应滤波器的示例性实现的框图;图11是按照本发明一个实施方式的示例性削减(clipping)操作的示意图;以及图12是按照本发明另一实施方式的自适应滤波器的示例性实现的框图。
具体实施例方式通过参考附图中的图1到图12可以最佳地理解本发明的示例性实施方式及其潜 在优势,附图中类似的标号用于各个附图中类似的和对应的部分。图1是本发明的实施方式可以在其中实现的示例性系统10的概览图。系统10可 以包括有线或无线网络的任意组合,其中这些网络包括但不限于移动电话网络、无线局域 网(LAN)、蓝牙个域网、以太网LAN、令牌环LAN、广域网、因特网等。系统10可以包括有线通 信设备和无线通信设备两者。例如,图1中所示系统10包括移动电话网络11和因特网28。通往因特网28的连 接可以包括但不限于远程无线连接、短程无线连接,以及各种有线连接,有线连接包括但不 限于电话线、线缆线路、电力线、TV广播等。系统10的示例性通信设备可以包括但不限于个人数字助理(PDA)和移动电话的 组合14、移动电话12、PDA 16、集成消息收发设备(IMD) 18、台式计算机20、笔记本计算机 22等。通信设备可以是固定的或者在由行进中的人携带时是移动的。通信设备还可以处 于交通模式中,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车 等。通信设备的一些或全部可以通过通往基站24的无线连接25来发送和接收呼叫和消息并且与服务提供商进行通信。基站24可以耦合至网络服务器26,该网络服务器26允许移 动电话网络11和因特网28之间的通信。系统10可以包括附加的通信设备和不同类型的 通信设备。通信设备可以使用各种传输技术进行通信,包括但不限于,码分多址(CDMA)、全球 移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输 控制协议/互联网协议(TCP/IP)、短消息收发服务(SMS)、多媒体消息收发服务(MMS)、电 子邮件、即时消息收发服务(IMS)、蓝牙、IEEE 802. 11等。在实现本发明的各种实施方式中 所涉及的通信设备可以使用各种介质进行通信,所述介质包括但不限于无线电、红外线、激 光、线缆连接等。图2是本发明的实施方式可以在其中实现的示例性装置的透视图,以及图3是图 2装置的示例性电路的示意图。然而,应当理解,本发明不旨在限于一种特定类型的移动设 备12或其他电子设备。图2和图3中绘出的部分特征或全部特征可以包括在图1中呈现 的任意或全部设备中。图2和图3的移动设备12包括外壳30、显示器32、小键盘34、麦克 风36、耳机38、电池40、红外端口 42、天线44、根据本发明一个实施例的智能卡46、读卡器 48、无线接口电路52、编解码器电路54、控制器56以及存储器58。单独的电路和元件可以 是本领域公知的所有类型,例如Nokia范围内的移动电话。图4是示例性混合视频编码器200的框图。编码器200可以是电子设备(例如, 移动设备12)的一部分。在编码器层,当前帧(例如,当前正由编码器进行编码的帧)中的 图像或帧块例如通过帧间预测器206进行帧间预测。备选地,图像或帧块可以例如通过帧 内预测器208进行帧内预测。在帧间预测中,图像或帧块基于由编码器存储的参考帧中的 另一图像块进行预测。描述两个图像块之间的位置差的运动矢量被编码在压缩表示中。在 帧内预测中,当前帧中在正被编码的图像或帧块之前编码的像素值被用于对正被编码的图 像或帧块的像素值进行预测。模式选择器210决定是使用帧间预测还是帧内预测。从实际 帧数据中减去预测的图像数据,得到残差。对残差应用诸如离散余弦变换DCT 222之类的 变换以生成DCT系数。该DCT系数可以通过量化器224进行量化并通过熵编码器226进行 熵编码。也可以对量化的系数应用去量化器228和逆变换器230以生成残差。将生成的残 差和预测的图像数据相加以重构参考帧。重构的参考帧可以进一步通过滤波器216进行滤 波以改善图像质量。经滤波的参考帧继而可以存储在参考帧存储器218中以用于在对后续 帧进行编码时的帧间预测。在编码器层,可以对图像或帧的区域应用插值。在所插值的区 域内,运动矢量的坐标可以具有带像素分数的值。例如,H. 264视频标准可以具有以半个像 素以及四分之一个像素来描述坐标的运动矢量。本发明的示例性实施方式教导了具有高编 码效率的自适应滤波器实现。在一个示例性实施方式中,自适应滤波器可以应用于插值以 便增强编码效率,并且滤波器系数可以在比特流内向解码器传输。如果从编码器200和解 码器已知的列表中选择滤波器系数,则其也可以在比特流中用信号发送,例如指示从该列 表中选择的滤波器系数。图5是示例性混合视频解码器300的框图。解码器300可以是电子设备(例如, 移动设备12)的一部分。在解码器处,比特流可以首先例如通过熵解码器304进行熵解码。 来自熵解码器304的DCT系数可以例如通过反向量化器306被反向量化。来自反向量化器 306的反向量化DCT系数可以通过逆DCT变换308进行逆变换以生成残差。例如可以由预测器312使用预测信息(例如运动矢量)来从存储的参考帧或当前帧中之前解码的像素生 成预测数据。预测器可以应用帧间预测或帧内预测。将要应用的帧间预测的类型通常在比 特流中用信号向解码器300发送。将预测数据与残差进行求和以生成初步重构图像。初步 重构图像可以由预测器312用于生成预测数据。可以由滤波器318对初步重构图像应用滤 波以便消除块状(blocking)和其他不期望的影响,并且生成对编码帧的最终重构。在解码 器300层,可以从比特流获得滤波器系数。解码器300继而可以使用滤波器系数来对图像 或帧的区域进行插值。在一个示例性实施方式中,所描述的自适应滤波器可以用于视频编 码标准,诸如H. 263、MPEG 4第2部分、H. 264、H. 265等等。本发明的各种实施方式提供了用于自适应图像滤波的定点实现的设备和方法。图 像或帧插值是视频编码或视频解码中自适应图像滤波的示例性应用。在运动矢量坐标用像 素的分数来定义的情况下,在这种位置处使用相邻像素值以及可能其他已经插值的值来对 图像值进行插值。在视频编解码器H. 264中,例如使用6抽头插值滤波器,例如具有6个系 数的滤波器。在视频压缩中,视频编码系统的编码效率,例如压缩表示的比特率或文件大小 对视频序列的可视质量,可以通过使用自适应插值滤波器来加以改善。自适应插值滤波器 具有可以在每个帧处或在每个宏块处变化的滤波器系数。在视频编码中,通过使用用于插 值的自适应滤波器,可以更精确地捕获视频信号的非静态属性。当使用自适应滤波器时,视 频编码器200例如可以在比特流中向解码器传输滤波器系数。编码器200可以通过分析视 频信号而在帧、片或宏块级别改变滤波器系数。解码器300使用所接收的滤波器系数,而不 是在帧间预测过程中的预定义滤波器。在自适应滤波器的定点整数实现中,为了确定提供η位实现的结构,其中η是整 数,即使滤波器系数可以取任何值。有可能滤波器系数可以利用低精确度来定义,使得以η 位整数算术执行插值而不会溢出η位累加器。然而,此方法并不理想,因为其由于滤波器系 数降低的精确度而导致明显的编码效率损失。本发明的实施方式描述可以实现高编码效率 的定点实现。本发明的各种实施方式可以在编码器以及在解码器层实现。在一个示例性实 施方式中,使用16位实现。尽管描述了示例性6抽头滤波器,但是本发明不限于6抽头滤波器。6抽头滤波器 的选择是用于阐释各种实施方式的示例,其不应当理解为对本发明的任何实施方式的约束 或要求。基于本文所描述的实施方式和/或教导,对任何抽头长度和/或两维非可分离滤 波器的概括对于本领域技术人员而言是很明显的。针对具有浮点滤波器系数(V,C/, ...,C5'的滤波器,对应于图像采样Xk, Xk-!, . . .,Xk-5的滤波器输出为
5=
Μ)(1)其中k,k_l,. . .,k_5是图像数据采样的索引。为了以整数算术来执行滤波,首先 将浮点滤波器系数映射为整数值,其为Ci - int(c; ν),(2)其中int(.)指示通过移除浮动部分将浮点数转换为整数的类型转换算子
7(casting operator),《指示左移算子,N是表示左移数目的正整数。整数N决定整数滤波 器系数的精确度,例如N的值越大,整数滤波器系数的精确度就越好。然而,在一个示例性 实施方式中,N应足够小以避免自适应滤波器的整数算术实现中的溢出。以整数算术的滤 波可以定义为



其中M等于2N,R是舍入偏移,在一个示例性实施方式中,R等于M/2。为了简化, 在下文中假设舍入偏移为0。这是因为所描述的实施方式中的结果不受R的值的影响。然 而,在其他实施方式中,如果舍入偏移影响结果则可以将其纳入考虑。在代替使用计算上昂 贵的除数算子的示例性实施方式中,使用右移算子。因此 图8描述了示例性6抽头滤波器的整数实现。为了以16位算术执行方程(4)中 的运算,卷积和的值 安置在16位寄存器中,而不考虑像素和系数值。避免16位运算中的正溢出和负 溢出是所期望的。在一个示例性实施方式中,可以通过将255x( ECi之和)安置在有符号 的16位寄存器中来避免正溢出,其中i = 0到5。在一个示例性实施方式中,可以通过将 255x(负Ci之和)安置在有符号的16位寄存器中来避免负溢出,其中i = 0到5。假设像 素采样以8位来定义,则像素可以取的最大值和最小值是255和0。为了防止正溢出,255x (正 Ci 之和)(215_1 (i = 0 到 5)(正Ci 之和)彡 128 (i = 0 到 5)Ci < 16 (假设所有系数都为正的最坏情况)。为了防止负溢出,255x (负 Ci 之和)彡-(215_1) (i = 0 到 5)(负 Ci 之和)彡-128 (i = 0 到 5)Ci > -16 (假设所有系数都为负的最坏情况)。如上所示,如果对于所有滤波器系数-16 < Ci < 16,则保证了 16位运算。如果N 的值是4,则滤波器系数的值可以是-15/16,-14/16... 14/16,15/16。这意味着滤波器系数 的精确度是1/16。1/16的滤波器系数精确度太低了,因为其降低了自适应插值方案的编码效率。图6是按照本发明的一个示例性实施方式的用于滤波器输出生成的流程图。在滤 波器系数具有浮点值的情况下,在框410中,可以将滤波器系数的值转换为整数。转换的 精确度可以由精度指数来定义。较高的精确度可以利用较大的精度指数来实现。在框420 中,整数值滤波器系数和图像数据采样可以用于计算卷积和或多个部分卷积和。大精度指 数在以η位算术计算卷积和或部分卷积和时可能导致正溢出或负溢出,其中η是整数。为了避免正溢出或负溢出,可以限制滤波器系数,例如通过可以防止正溢出和/或负溢出的 约束或上界和下界来限制滤波器系数。在框430中,生成滤波器输出。在示例性实施方式 中,基于在框420中计算的卷积和来生成滤波器输出。在另一示例性实施方式中,基于在框 420中计算的多个部分卷积和来生成滤波器输出。在框420中进行的运算可以取决于滤波 过程的实现。图7是浮点滤波器系数到整数滤波器系数的转换的示例性实现的框图。在此示例 性实施方式中,估计器510可以生成浮点滤波器系数(V,C/, ...,C5'0对于精度指数N, 浮点到整数值转换器520可以将浮点系数缩放2N,也即左移N。在一个示例性实施方式中, 整数值滤波器系数等于经缩放的或经左移的浮点系数的整数部分。尽管在图7中示出了多 个转换器520,但是在备选实施方式中,可以使用同一转换器来将不止一个浮点滤波器系数 转换为整数滤波器系数。在另一示例性实施方式中,从浮点系数到整数系数的转换可以在 估计器510内实现。例如,如果使用递归算法(例如,最小均方LMS算法)来估计滤波器系 数,则可以在该算法的每次迭代处应用转换。图9是按照本发明另一实施方式的自适应滤波器的示例性实现的框图。存储在寄 存器710中的图像数据采样Xk,Xlri,. . .,Xk_5和对应的整数系数Ctl,C1, ...,C5使用整数乘 法器720进行相乘。乘积的两个子集,例如整数乘法器的输出,被馈送到两个不同的累加器 730和730,。累加器730和730’分别生成部分卷积和Sl和S2。Sl和S2的每一个是与滤 波器系数的子集相关联的卷积和,例如Sl与Cc^C1和C2以及对应的像素值相关联,而S2与 C3, C4和C5以及对应的像素值相关联。Sl和S2都是经过移位算子740右移的,例如右移1 位。对移位后的结果求和,并且移位算子750将该和左移N,生成滤波器输出Y。滤波器输 出Y等于(S1+S2) >> N,其中N是决定整数滤波器系数的精确度的精度指数。在此示例性 实施方式中,精度指数基于对Sl和S2的约束来定义以避免溢出。在16位实现中,为了避 免溢出和下溢-(215-1) ^ S 1 ^ 215-1 且 _(215_1) ^ S2 ^ 215_1。由于图像像素值通常是正的并且具有整数范围W,255],因此255x(正Ci之和)彡215_1,对于i = 0到2或i = 3到5 ;并且255x(负 Ci 之和)彡 _(215_1),对于 i = 0 至Ij 2 或 i = 3 至Ij 5。也即,正Ci之和彡128且负Ci之和彡-128。因此,-32 < Ci < 32。如果N是5, 则滤波器系数的值可以是-31/32,-31/32. . . 30/32,31/32。这意味着滤波器系数的精确度 是1/32,这是按照图8中描述的实施方式且对滤波器系数没有限制而进行的插值所获得的 滤波器系数的精确度的两倍。换言之,与利用一个卷积和且无强制限制的自适应滤波器的 实现相比,通过限制正系数之和与负系数之和,图9中描述的实施方式提供了具有两倍的 滤波器系数精确度的滤波过程的16位实现。图8是按照本发明一个实施方式的自适应滤波器的示例性实现的框图。按照此示 例性实施方式,存储在寄存器610中的图像数据采样XpXk+...^!^以及对应的整数系数 C。,。...,C5使用整数乘法器620进行相乘。乘积,例如整数乘法器的输出,被馈送到累加 器630。累加器630计算对应于所有滤波器系数的卷积和,但是对系数有限制,例如255x(正 Ci 之和)彡 215_1,对于 i = 0 到 5 ;且255x(负Ci之和)彡_(215-1),对于i = 0到5。或者类似地
(正Ci之和)彡128,对于i=0到5;且
(负Ci之和)彡-128,对于i = 0到5。这种情况下,N可以大如6。对于N = 6,滤波器系数可以取 值-63/64,-62/64. . . 62/64,63/64。如果使用更高的精确度,例如N = 7,则例如具有至少 一个滤波器系数为负的滤波器可能导致溢出。针对N = 6所达到的精确度是N = 4时的精 确度的4倍。图10是按照本发明又一实施方式的自适应滤波器的示例性实现的框图。按照此 示例性实施方式,存储在寄存器810中的图像数据采样Xk,Xlri,. . .,Xk_5以及对应的整数 系数Ctl,C1, ...,C5使用整数乘法器820进行相乘。乘积的两个子集,例如整数乘法器的输 出,被馈送到两个不同的累加器830和830’。累加器830和830’分别生成部分卷积和Sl 和S2。Sl对应于由输入等于滤波器系数Ctl,C1和C2以及对应的数据采样(例如Xk,Xlri和 Xk_2)的乘法器820生成的乘积。部分和S2对应于由输入等于滤波器系数C3,C4和C5以及 对应的数据采样(例如Xk_3,Xk_4和Xk_5)的乘法器820生成的乘积。为了避免溢出正的Ctl-C1-C2之和彡128且负的Ctl-C1-C2之和彡-128,并且正的C3-C4-C5之和彡128且负的C3-C4-C5之和彡-128。部分卷积和Sl使用有符号的算术来计算,因为滤波器系数Ctl,C1和C2任一可以是 正的或者可以是负的。对于典型的图像滤波器,例如插值滤波器,滤波器输出通常是正的, 因为滤波器输出表示图像像素值。在部分卷积和Sl和S2通常为正的示例性实施方式中,例 如当滤波器对称时,其中Ctl = C5, C1 = C4且C2 = C3,部分卷积和Sl和/或部分卷积和S2可 以利用削减算子840或840,进行削减。也即,如果Sl是负的,则Sl被削减为0,和/或如 果S2是负的,则S2被削减为零。在将负的卷积和削减为0之后,用于Sl和S2的符号位通 常为0。在对部分卷积和进行削减之后,可以使用无符号的加法算子850来计算S1+S2。削 减以及使用无符号加法而不是有符号加法来计算S1+S2,使得有可能增加1位精确度。利用 此插值过程,N可以等于7且系数现在可以取值-127/128,-126/128. . . 126/128,127/128, 其精确度为1/128。图11是将有符号整数削减成无符号整数的示例性实现的示意图。如果存储在16 位寄存器841中的有符号整数是负的,则符号位842等于1。如果有符号整数是正的,则符 号位842为0。削减操作将符号位的值变为0并将所有其他位变为0。换言之,削减将负整 数变为0。因此在削减之后,已削减整数的符号位都是零。图12是按照本发明另一实施方式的自适应滤波器的示例性实现的框图。在此 示例性实现中,整数乘法器920将寄存器910中的图像数据采样Xk,Xk_1; . . .,Xk_5和对应 的整数系数Ctl,C1, ...,C5相乘以生成6个乘积,例如对于每个滤波器系数Ci生成乘积Ci Xk-i。累加器930使用对应于滤波器系数Ctl,C1, C2的乘积来计算部分卷积和Si,例如Sl = CciXfC1Xk-^C2Xkf另一累加器930’计算对应于系数C3,C4, C5的另一卷积和S2,例如S2 = C3Xk_3+C4Xk_4+C5Xk_5。分别对部分卷积和Sl和S2应用右移算子940和940,。累加器950计 算和(Si >> 1) + (S2>> 1)_(K<<N),其中K是整数,N是滤波器系数的精度指数。移 位算子 960 将和(Si > > 1) + (S2 > > 1) - (K < < N)移动 N。此结果[(Si > > 1) + (S2 > > 1)-(K<<N)] >> N增加K以生成滤波器输出。对于许多滤波器,例如插值滤波器,正 滤波器系数的幅度通常大于负滤波器系数的幅度。在此示例性实施方式中,部分卷积和的值范围被移位。对部分卷积和的值范围进行移位可以防止浪费二进制字,例如部分卷积和 的二进制表示,例如,对于典型的插值滤波器而言,负的部分卷积和可能不会发生。换言之, 为正的部分卷积和的值而分配的二进制字的数目大于为负的部分卷积和的值而分配的二 进制字的数目。滤波器输出是 Y = [ (C°. Xk+C” Xh+C2. Xk_2) >> 1+ (D. X3+E. X4+F. X5) >> 1-(K<<N)] >>N+K。在此示例性实施方式中,例如对于K= 128 = 27且N = 7,为了避 免正溢出和负溢出,255x (正 Q 之和)彡(215-1) +214 对于 i = 0 到 2 或 i = 3 至lj 5255x(负 Q 之和)彡 _(215-1)+214 对于 i = 0 到 2 或 i = 3 到 5。也即,(正Q 之和)彡 27+26 = 192 对于 i = 0 至lj 2 或 i = 3 至lj 5(负Q 之和)彡-27+26 = -64 对于 i = 0 至lj 2 或 i = 3 至lj 5。利用此插值过程,N可以给定为7,系数现在可以取 值-63/128,-62/128. .. 190/128,191/128,精确度为1/128。此方案的优势在于用于表示 正滤波器系数的值的数目大于用于表示负滤波器系数的值的数目,例如表示负滤波器系数 的值是-63/128,. . .,-1/128,而表示正滤波器系数的值是1/128,. . .,192/128。在另一示 例性实施方式中,值范围内的移位也可以应用于图8的卷积和S。在中间值(例如,卷积和、 部分卷积和或缩放的部分卷积和)的范围内应用移位对于本领域技术人员而言是很明显 的。按照自适应滤波器用作图像插值滤波器或包括图像插值滤波器的示例性实施方 式,对于不同的插值点,例如坐标被定义为分数个像素(其通常也称为子像素)的点,精度 指数N可以不同。例如,对于一个插值子像素点,其精度指数可以是4,而对于另一插值子像 素点,其精度指数可以是6。在又一实施方式中,精度指数可以基于滤波器系数的浮点值来 定义。例如,如果滤波器系数相对较小,则可以优选大的N用于整数表示。例如,如果滤波 器系数在范围[-1,1]内,则精度指数可以为7,而如果滤波器系数在范围[-0. 5,0. 5]内,则 精度指数可以是8。其他实现也可以使用不同的方式来决定用于不同插值点的N的值。本发明的示例性实施方式教导了具有高编码效率的自适应插值滤波器的16位算 术实现。通过对滤波器系数应用限制,例如上界和下界约束,获得了滤波器系数较高的精确 度。本发明的示例性实施方式不应当以限制性的意义进行解释。例如,本发明的实施方式的 教导可以应用于图像或帧插值中,也可以应用于其他视频编码、视频处理和图像处理应用 中,包括但不限于块分解(deblocking)滤波器、图像和视频增强以及视频和图像编辑。对 于本领域技术人员很明显的是,可以基于本发明的示例性实施方式和教导,将本发明中描 述的自适应滤波器的示例性16位实现扩展为更通用的自适应滤波器的n位算术实现。本发明的实施方式可以以软件、硬件、应用逻辑或软件、硬件和应用逻辑的组合来 实现。软件、应用逻辑和/或硬件可以驻留在芯片集、移动设备、桌上型计算机、膝上型计算 机或服务器上。应用逻辑、软件或指令集优选地维持在各种常规计算机可读介质的任意一 个上。在本文的上下文中,“计算机可读介质”可以是任何介质或装置,其可以包含、存储、传 送、传播或传输指令以便由指令执行系统、装置或设备使用或与其结合使用。若期望,此处所讨论的不同功能可以按任何顺序和/或相互并发地执行。而且,若 期望,上述功能的一个或多个可以是可选的或者可以组合。在没有以任何方式限制所附权利要求的范围、解释或应用的情况下,此处所公开的一个或多个示例性实施方式的技术优势可以是高编码效率。此处所公开的一个或多个示 例性实施方式的另一可能技术优势可以是具有低计算复杂度的自适应滤波器实现。此处所 公开的一个或多个示例性实施方式的另一技术优势可以是用于视频编码和图像处理的简 单而有效的自适应滤波。 此处还应注意,尽管上文描述了本发明的示例性实施方式,但是这些描述不应当 视为限制含义。而是,可以做出若干种变体和修改而不偏离所附权利要求所定义的本发明 的范围。
权利要求
一种装置,包括自适应图像滤波器,其中所述自适应图像滤波器的至少一个整数系数是受限制的,至少部分地基于所述至少一个整数系数确定所述自适应图像滤波器的卷积和与多个部分卷积和中的至少一个,卷积和与多个部分卷积和中的所述至少一个具有固定最大位数的二进制表示,并且所述至少一个整数系数具有由精度指数定义的位数的二进制表示。
2.如权利要求1的装置,其中所述自适应图像滤波器包括视频编码器的自适应插值滤 波器,并且所述精度指数和所述至少一个整数系数中的至少一个被编码到比特流中。
3.如权利要求1的装置,其中所述自适应图像滤波器包括视频解码器的自适应插值滤 波器,并且所述精度指数和所述至少一个整数系数中的至少一个从比特流中解码。
4.如权利要求1的装置,其中所述装置是芯片集。
5.如权利要求4的装置,进一步包括处理器,其被配置用于至少执行加法运算和二进 制移位运算。
6.如权利要求5的装置,进一步包括存储器单元,其可通信地连接到所述处理器并且 被配置用于存储所述至少一个整数系数。
7.如权利要求1的装置,其中所述自适应图像滤波器包括视频编码器的自适应插值滤 波器,并且所述精度指数针对不同的插值点是不同的。
8.如权利要求1的装置,其中所述自适应图像滤波器包括视频解码器的自适应插值滤 波器,并且所述精度指数针对不同的插值点是不同的。
9.一种方法,包括至少部分地基于自适应图像滤波器的至少一个受限制的整数系数来确定卷积和与多 个部分卷积和中的至少一个,卷积和与多个部分卷积和中的所述至少一个被限制为具有固 定最大位数的二进制表示;以及至少部分地基于卷积和与多个部分卷积和中的所述至少一个来生成所述自适应图像 滤波器的输出。
10.如权利要求9的方法,其中所述自适应图像滤波器包括插值滤波器。
11.如权利要求10的方法,其中所述至少一个受限制的整数系数针对不同的插值点具 有不同的算术精确度。
12.如权利要求9的方法,进一步包括将所述自适应图像滤波器的至少一个浮点系数 转换为所述自适应图像滤波器的至少一个对应的整数系数,所述至少一个对应的整数系数 具有第二固定最大位数的二进制表示,所述转换进一步包括限制所述至少一个对应的整数 系数。
13.如权利要求9的方法,其中所述生成包括对所述卷积和进行移位。
14.如权利要求9的方法,其中所述生成包括对所述多个部分卷积和进行右移;计算所述右移的多个部分卷积和之和;以及对所述右移的多个部分卷积和的所述计算和进行右移。
15.如权利要求9的方法,其中所述生成包括在将所述多个部分卷积和中任何负的部分卷积和削减为零之后,计算所述多个部分卷 积和之和;以及对所述多个部分卷积和的所述计算和进行右移。
16.如权利要求9的方法,其中所述生成包括对所述多个部分卷积和进行右移;计算所述右移的多个部分卷积和与负数之和;以及对所述右移的多个部分卷积和与所述负数的所述计算和进行右移。
17.如权利要求9的方法,其中所述至少一个受限制的整数系数被限制以使得所述至 少一个受限制的整数系数的至少一个子集中的一个或多个正的受限制的整数系数之和具 有上界,并且所述至少一个受限制的整数系数的至少一个子集中的一个或多个负的整数系 数之和具有下界。
18.如权利要求17的方法,其中所述生成包括对所述多个部分卷积和进行右移;计算所述右移的多个部分卷积和之和;以及对所述右移的多个部分卷积和的所述计算和进行右移。
19.如权利要求17的方法,其中所述生成包括在将所述多个部分卷积和中任何负的部分卷积和削减为零之后,计算所述多个部分卷 积和之和;以及对所述多个部分卷积和的所述计算和进行右移。
20.如权利要求9的方法,其中所述至少一个受限制的整数系数的至少一个子集具有 与所述至少一个受限制的整数系数的至少另一子集不同的值范围。
21.如权利要求9的方法,其中具有正值的所述至少一个受限制的整数系数之和具有 与具有负值的所述至少一个受限制的整数系数之和不同的值范围。
22.—种实现在计算机可读介质上的计算机程序产品,包括计算机代码,被配置用于至少部分地基于自适应图像滤波器的至少一个受限制的整数 系数来确定卷积和与多个部分卷积和中的至少一个,卷积和与多个部分卷积和中的所述至 少一个被限制为具有固定最大位数的二进制表示;以及计算机代码,被配置用于至少部分地基于卷积和与多个部分卷积和中的所述至少一个 来生成所述自适应图像滤波器的输出。
全文摘要
根据本发明的一个实施方式,公开了一种方法,包括以二进制字来表示自适应图像滤波器的系数,其中所述系数是受限制的,并且所述二进制字具有至少部分地由精度指数定义的最大位数;计算自适应图像滤波器的卷积和与多个部分卷积和中的至少一个,其中卷积和与多个部分卷积和中的所述至少一个具有受约束的值范围和具有带有固定最大位数的二进制表示;以及至少部分地基于卷积和与多个部分卷积和中的所述至少一个来生成自适应图像滤波器的输出。
文档编号H04N7/26GK101878648SQ200880117955
公开日2010年11月3日 申请日期2008年10月13日 优先权日2007年10月14日
发明者A·O·哈拉普罗, D·拉萨诺维斯基, J·莱纳玛, K·厄古尔 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1