CN100394797C - 基于avs运动补偿的亮度插值器的vlsi实现方法 - Google Patents
基于avs运动补偿的亮度插值器的vlsi实现方法 Download PDFInfo
- Publication number
- CN100394797C CN100394797C CNB2006100256704A CN200610025670A CN100394797C CN 100394797 C CN100394797 C CN 100394797C CN B2006100256704 A CNB2006100256704 A CN B2006100256704A CN 200610025670 A CN200610025670 A CN 200610025670A CN 100394797 C CN100394797 C CN 100394797C
- Authority
- CN
- China
- Prior art keywords
- input
- filter
- output
- data
- pixel
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种数字视频编解码技术领域的基于AVS运动补偿的亮度插值器的VLSI实现方法。本发明采用了一种级数可变的流水线结构,针对不同目标位置的插值需要,自动选择4到8级流水线,执行包括输入数据延迟、行方向滤波、列方向滤波、J点滤波、数据整理、1/4像素滤波、输出通路选择和限幅这些步骤的操作。该方法使得数据的输入、处理和输出能够同时执行,避免了空闲等待、数据转置和存放中间变量的开销,在提高运算速度的同时也有效减少了硬件资源的占用。使用该方法实现亮度插值器,在确保高清晰度视频实时解码的前提下,也能有效地控制芯片面积和系统时钟频率。
Description
技术领域
本发明涉及一种数字视频编解码技术领域的方法,具体是一种基于AVS(数字音视频编解码技术标准)运动补偿的亮度插值器的VLSI(超大规模集成电路)实现方法。
背景技术
数字音视频编解码技术标准工作组(AVS工作组)制定的AVS音视频编解码技术标准的视频部分于2006年2月22日被颁布为中华人民共和国国家标准,标准号GB/T 20090.2-2006,于2006年3月1日起实施。运动补偿作为运动估计的逆运算,是AVS解码算法最重要的组成部分之一。运动估计和运动补偿旨在消除视频数据帧与帧之间的时间冗余,从而达到视频数据压缩的目的。由于在实际情况下,画面运动的距离可以具有无限精度,因此整数精度的运动矢量已无法满足日益增长的对视频质量的要求。在AVS中,采用了分数精度的运动矢量来提高图像质量。AVS标准规定,亮度信息的运动矢量具有1/4像素的精度;相应地,色度信息运动矢量的精度达到1/8像素。对于亮度信息,AVS中定义了两种4抽头滤波器和一种双线性滤波器,使用插值滤波的方法来得到半像素和1/4像素位置的数据。具体细节可参考AVS标准的文档和参考软件。分数像素插值在提高图像质量的同时,也大大增加了计算的复杂度,这在VLSI实现时直接表现为成本的上升和功耗的增加。对于高清晰度视频的应用,这个问题就显得更加突出。例如在解码每秒30帧,1920×080像素点的高清码流时,为了保证视频播放的实时性,最坏情况下每秒种需要对1944000个8×8像素的亮度块进行插值操作。巨大的计算量给亮度插值器的VLSI实现带来了一个难题,即如何在保证视频解码实时性的前提下,尽可能缩小芯片的面积并降低系统的时钟频率。
根据对现有技术文献的检索,发现Deng Lei等人在Pacific Rim Conferenceon Multimedia 2004:Tokyo,Japan(一个多媒体技术领域的国际会议)上所发表的“An Efficient VLSI Implementation for MC Interpolation of AVSStandard”(AVS运动补偿中插值算法的高效VLSI实现)中,涉及到一种AVS亮度插值器的实现方法,该方法具有一定的流水线思想,但其缺点在于:1、其输入存储单元中使用了(n+1)*6个像素寄存器。其中n为并行计算的像素点个数。同时,为了使1/4像素滤波器获得同步的输入数据,该架构使用了总共12级延迟寄存器。这里存在着较大的资源冗余。2、其架构中使用的滤波器数量较多。例如,在n=1的情况下,需要用到30个各类滤波器。因此存在较大的计算冗余。3、使用该方法实现的插值器,其输入到输出的延迟时间将最多达到9个时钟周期,这里存在着一定的时间冗余。
发明内容
为了解决上述问题,本发明的目的在于,提供一种基于AVS运动补偿的亮度插值器的VLSI实现方法。本发明采用一种级数可变的流水线结构,使得数据的输入、处理和输出能够同时执行,避免了空闲等待、数据转置和存放中间变量的开销,在提高运算速度的同时也有效减少了硬件资源的占用。使用该方法实现亮度插值器,在确保高清晰度视频实时解码的前提下,也能有效地控制芯片面积和系统时钟频率。
本发明是通过以下技术方案实现的,本发明采用了一种级数可变的流水线结构,针对不同目标位置的插值需要,自动选择4到8级流水线,同时进行数据的输入、处理和输出,包括如下步骤:
(a)对输入数据做延迟操作;
(b)行方向滤波;
(c)列方向滤波;
(d)J点滤波;
(e)对(a)、(b)、(c)和(d)步骤的输出数据进行整理;
(f)四分之一像素滤波;
(g)输出通路选择、限幅输出。
以下对各个步骤进行进一步的说明:
(a)对输入数据做延迟操作
设并行计算的像素点个数为n,其中n可取1和8之间,数据按行输入输出,则每行的输入数据最多需要n+4个像素点,每个时钟周期输入一行数据,将其表示为{An+3,An+2,…A0},其中共n+4项,每一项代表一个8比特的像素点,对该数据进行三级延迟操作,得到三行输出数据,相对于输入数据,这三行数据分别具有1、2和3个时钟周期的延迟,表示为{Bn+3,Bn+2,…B0}、{Cn+3,Cn+2,…C0}和{Dn+3,Dn+2,…D0};
(b)行方向滤波
使用n+1个4抽头滤波器,抽头系数为[-1,5,5,-1],滤波器编号为n递减到0;其中n号滤波器的输入为{Cn+3,Cn+2,Cn+1,Cn},n-1号滤波器的输入为{Cn+2,Cn+1,Cn,Cn-1},依此类推,该组滤波器的输出表示为{bn,bn 1,…b0},输出比输入延迟一个时钟周期;
(c)列方向滤波
使用n+4个4抽头滤波器,抽头系数为[-1,5,5,-1],滤波器编号为n+3递减到0;其中n+3号滤波器的输入为{An+3,Bn+3 Cn+3,Dn+3},n+2号滤波器的输入为{An+2,Bn+2,Cn+2,Dn+2},依此类推;该组滤波器的输出表示为{hn+3,hn+2,…h0},输出比输入延迟一个时钟周期;
(d)J点滤波
使用n+1个4抽头滤波器,抽头系数为[-1,5,5,-1],滤波器编号为n递减到0;其中n号滤波器的输入为{hn+3,hn+2,hn+1,hn},n-1号滤波器的输入为{hn+2,hn+1,hn,hn-1},依此类推;该组滤波器的输出表示为{jn,jn-1,…j0};输出比输入延迟一个时钟周期;
(e)对(a)、(b)、(c)和(d)步骤的输出数据进行整理
该步骤的目的是为第(f)步提供输入数据;通过对(a)、(b)、(c)和(d)这四步的输出数据进行选择和延迟操作,针对不同位置的四分之一像素插值,得到n组输出数据,每组4个,用于四分之一像素滤波的输入;
(f)四分之一像素滤波
使用n个4抽头滤波器,抽头系数为[1,7,7,1],滤波器编号为n-1递减到0;其输入数据来自第(e)步的输出;该组滤波器的输出表示为{Qn 1,Qn-2,…Q0};输出比输入延迟一个时钟周期;
(g)输出通路选择、限幅输出
首先从(a)、(b)、(c)、(d)和(f)五步的输出中选择出n个数据;当目标位置为整数像素点,即分数坐标Y和X均为0时,选择{An+3,An+2,…A4};当目标位置为b点,即分数坐标Y=0、X=2时,选择{bn,bn-1,…b1};当目标位置为h点,即分数坐标X=2、Y=0时,选择{hn+3,hn+2,…h4};当目标位置为j点,即分数坐标Y=2、X=2时,选择{jn,jn-1,…j1};当目标位置为其他点时,选择{Qn 1,Qn-2,…Q0};随后使用n个限幅器分别处理这n个数据,将值域限制在0到255,每个长度为8比特;最后输出8*n比特的数据。
在上述方法中,步骤(a)到步骤(g)这7步操作是同时工作的,从输入到输出,形成一个流水线;从而该亮度插值器在每个时钟周期都能进行一次数据输入,经过一定周期数延迟后,每个时钟周期都能进行一次数据输出。
在上述方法中,亮度插值器的输入输出方式并不局限于按行进行;如果需要按列进行输入输出,只需将分数坐标Y和X对调,而不需要对插值器的结构做任何改动。
上述方法主要面向高清晰度视频解码,但又不局限于解码高清晰度视频;通过改变步骤(a)中定义的参数n,即并行计算的像素点的个数,就可以调整具体实现时所使用的硬件资源数量。
由上可知,本发明所述的一种基于AVS运动补偿的亮度插值器的VLSI实现方法,采用了一种级数可变的流水线结构,针对不同目标位置的插值需要,自动选择5到8级流水线,执行包括输入数据延迟、行方向滤波、列方向滤波、J点滤波、数据整理、1/4像素滤波、输出通路选择和限幅这些步骤的操作。该方法使得数据的输入、处理和输出能够同时执行,避免了空闲等待、数据转置和存放中间变量的开销,在提高运算速度的同时也有效减少了硬件资源的占用。使用该方法实现亮度插值器,在确保高清晰度视频实时解码的前提下,也能有效地控制芯片面积和系统时钟频率。
特别地,本发明与前文中所提到的Deng Lei等人提出的方法进行比较,可以得到如下的对比结果:(1)从寄存器数量上看,在n=1情况下,Deng Lei等人的架构中,用于输入存储和数据同步的像素寄存器数量为48个(6×6+12),而本发明的架构中,n=1的情况下,像素寄存器的数量仅为18个(5×3+3);(2)从滤波器数量上看,在n=1情况下,Deng Lei等人的架构中,总共使用了30个各类滤波器;而在本发明的架构中,只需要使用10个滤波器。而两中架构中单个的滤波器的大小是相仿的;(3)从计算速度上看,Deng Lei等人的架构中,输出和输入之间的最长延迟为9个时钟周期,而在本发明的架构中,最长延迟为8个时钟周期,略有改善。
综上所述,本发明在计算速度和硬件资源的节省上,都是具有优势的。
附图说明
图1是亮度插值器的总体结构图;
图2是AVS中亮度分数像素的位置分布;
其中含有大写字母的正方形表示整数像素点所在的位置,含有小写字母的圆形表示半像素和四分之一像素点所在的位置。
图3是流水线工作方式的示意图;
图4是约定的输入数据的格式(2点并行计算时的情况);
图5是延迟寄存器组模块的结构图;
图6是行滤波器组的结构图;
图7是列滤波器组的结构图;
图8是J点滤波器组的结构图;
图9是1/4滤波器组模块及其与数据整理模块的连接;
图10是数据整理模块的内部结构图;
图11是输出选择器与限幅器。
具体实现方式
结合本发明技术方案以及附图提供以下实施例:
如图1所示,为方便叙述,在本例中,规定并行计算的像素点个数为2,即令步骤(a)中所定义的参数n等于2。对于n不等于2的情况,只需对本例的结构进行简单的扩展(n大于2时)或精简(n等于1时)即可。
如图1,本发明的7个步骤分别对应于图中7个硬件模块。其对应关系如下:
步骤(a)对应延迟寄存器组。
步骤(b)对应行滤波器组。
步骤(c)对应列滤波器组。
步骤(d)对应J点滤波器组。
步骤(e)对应数据整理模块。
步骤(f)对应1/4滤波器组。
步骤(g)对应输出选择器和限幅器。
各个硬件模块同时工作,形成流水线,针对不同目标位置的插值需要,自动选择5到8级流水线,执行上述各步骤的操作(如图3)。以下分别阐述各个模块。
延迟寄存器组模块。如图5。由于n等于2,输入数据每行最多应有n+4=6个像素点的亮度数据。在进行不同位置的插值时,需要用到的输入数据数量也是不同的。例如对i位置插值时,需要用到每行n+4=6个像素点的数据;而对d位置插值时,只需要用到每行n=2个像素点的数据。因此有必要规定,数据输入时,有用数据从高位开始向低位排列,排完为止(参阅图4)。在AVS中,每个像素的亮度数据用8比特无符号数表示。因此,为了完成步骤(a)中要求的操作,需要使用3级寄存器,每级位宽应为6×8=48比特。更一般的情况下,每级位宽应为(n+3)×8比特。
行滤波器组模块。如图6。该模块的功能是计算处于位置b的半像素数据(参阅图2),其结果根据需要作为输出数据或1/4像素滤波器的输入。由于n等于2,行滤波器组应由n+1=3个滤波器构成。其中每个滤波器具有抽头系数(-1,5,5,-1)。每个滤波器的4个输入均为8比特的位宽。其中,滤波器R_FIR_2的输入为{C5,C4,C3,C2},R_FIR_1的输入为{C4,C3,C2,C1},R_FIR_O的输入为{C3,C2,C1,C0}。为了保持滤波后数据的精度,滤波器的输出为13比特有符号数,表示为{b2,b1,b0}。更一般的情况下,行滤波器组模块应由n+1个滤波器构成,其输出表示为{bn,bn-1,…b0}。由于采用了输出寄存器,数据输出将晚于输入一个时钟周期。
列滤波器组模块。如图7。该模块的功能是计算处于位置h的半像素数据(参阅图2),其结果根据需要作为输出数据或1/4像素滤波器的输入。由于n等于2,列滤波器组应由n+4=6个滤波器构成。其中每个滤波器具有抽头系数(-1,5,5,-1)。每个滤波器的4个输入均为8比特的位宽。其中,滤波器C_FIR_5的输入为{A5,B5,C5,D5},滤波器C_FIR_4的输入为{A4,B4 C4,D4}……依此类推。为了保持滤波后数据的精度,滤波器的输出为13比特有符号数,表示为{b5,b4,b3,b2,b1,b0}。更一般的情况下,列滤波器组模块应由n+4个滤波器构成,其输出表示为{bn+3,bn+2…b0}。由于采用了输出寄存器,数据输出将晚于输入一个时钟周期。
J点滤波器组模块。如图8。该模块的功能是计算处于位置j的半像素数据(如图2),其结果根据需要作为输出数据或1/4像素滤波器的输入。由于n等于2,J点滤波器组应由n+1=3个滤波器构成。其中每个滤波器具有抽头系数(-1,5,5,-1)。每个滤波器的4个输入均为13比特的位宽,这是因为J点滤波器组的输入来自列滤波器组的输出。滤波器J_FIR_2的输入为{h5,h4,h3,h2},J_FIR_1的输入为{h4,h3,h2,h1},J_FIR_0的输入为{h3,h2,h1,h0}。为了保持滤波后数据的精度,滤波器的输出为17比特有符号数,表示为{j2,j1,j0}。更一般的情况下,J点滤波器组模块应由n+1个滤波器构成,其输出表示为{jn,jn-1,…j0}。由于采用了输出寄存器,数据输出将晚于输入一个时钟周期。
1/4滤波器组模块。如图9。该模块的功能是计算处于1/4像素位置的数据,包括位置a,c,i,k,e,g,p,r,d,n,f和q(如图2)。该模块本身并不关心其输出的是哪个1/4位置的数据,而是由它的输入来决定,即由数据整理模块来完成1/4位置选择的功能。1/4滤波器组应由n=2个滤波器构成。其中每个滤波器具有抽头系数(1,7,7,1)。值得注意的是,本方法没有针对e,g,p和r这四个位置配备专门的双线性滤波器,而是使用1/4滤波器完成了此功能,实现方法见“数据整理模块”中的表格。为了使滤波器适用于所有的1/4位置,每个滤波器需要2个17比特的输入和2个13比特的输入。由于采用了不统一的输入宽度,每个滤波器实际上进行的计算是Y=X3+7*8*x2+7*X1+8*x0。式中Y为滤波结果,X3和X1是17比特输入,x2和x0是13比特输入,*代表乘号。Y是一个21比特的有符号数,滤波器将Y右移9比特后输出。输出表示为{Q1,Q0},每项12比特。更一般的情况下,1/4滤波器组模块应由n个滤波器构成,其输出表示为{Qn-1,Qn-2,…Q0}。由于采用了输出寄存器,数据输出将晚于输入一个时钟周期。
数据整理模块。如图10。该模块的功能是根据插值的目标位置,从延迟寄存器组、行滤波器组、列滤波器组和J点滤波器组这4个模块的所有输出中选择并整理出所需要的数据,用于1/4滤波器组模块的输入。以对位置a插值为例(如图2),需要用到的数据为ee,D,b,E。对应到本例中,计算Q0所需要的数据就是{b1,D2,b0,D1}。再以对位置d插值为例,需要用到的数据为ff,D,h,H。注意到在流水线中,ff是相对于h提前一个时钟周期的h位置数据。而H则是相对于D延迟一个时钟周期的D位置数据。而D和h是同步的。因此,在本例中,为了使1/4滤波器的输入同步,计算Q0所需要的数据就是{h4++,D4+,h4+,D4}。其中+表示将数据延迟一个时钟周期再输出,++表示延迟两个周期。根据这样的思路,得到一张表。下表表示了不同目标位置时计算Q0所需要的数据。要得到用于Qn的表,只需要将表中的下标都加上n即可。
位置 | 输入1 | 输入2 | 输入3 | 输入4 |
a | b<sub>1</sub> | D<sub>2</sub> | b<sub>0</sub> | D<sub>1</sub> |
c | b<sub>0</sub> | D<sub>2</sub> | b<sub>1</sub> | D<sub>3</sub> |
i | j<sub>1</sub> | h<sub>2</sub>+ | j<sub>0</sub> | h<sub>1</sub>+ |
k | j<sub>0</sub> | H<sub>2</sub>+ | j<sub>1</sub> | h<sub>3</sub>+ |
e | j<sub>1</sub> | D<sub>3</sub>+ | j<sub>1</sub> | D<sub>3</sub>+ |
g | j<sub>1</sub> | D<sub>2</sub>+ | j<sub>1</sub> | D<sub>2</sub>+ |
p | j<sub>1</sub> | D<sub>3</sub> | j<sub>1</sub> | D<sub>3</sub> |
r | j<sub>1</sub> | D<sub>2</sub> | j<sub>1</sub> | D<sub>2</sub> |
d | h<sub>4</sub>++ | D<sub>4</sub>+ | h<sub>4</sub>+ | D<sub>4</sub> |
n | h<sub>4</sub> | D<sub>4</sub> | h<sub>4</sub>+ | D<sub>4</sub>+ |
f | j<sub>1</sub>+ | b<sub>1</sub>+ | j<sub>1</sub> | b<sub>1</sub> |
q | j<sub>1</sub> | b<sub>1</sub>+ | j<sub>1</sub>+ | b<sub>1</sub>++ |
为了减少硬件资源占用,可以将表中所有需要延迟的数据分离出来,用专门的选择器选择后,统一进行延迟。于是得到以下两张表。
位置 | 输入1 | 输入2 | 输入3 | 输入4 |
a | b<sub>1</sub> | D<sub>2</sub> | b<sub>0</sub> | D<sub>1</sub> |
c | b<sub>0</sub> | D<sub>2</sub> | b<sub>1</sub> | D<sub>3</sub> |
i | j<sub>1</sub> | V | j<sub>0</sub> | U |
k | j<sub>0</sub> | V | j<sub>1</sub> | U |
e | j<sub>1</sub> | U | j<sub>1</sub> | U |
g | j<sub>1</sub> | U | j<sub>1</sub> | U |
p | j<sub>1</sub> | D<sub>3</sub> | j<sub>1</sub> | D<sub>3</sub> |
r | j<sub>1</sub> | D<sub>2</sub> | j<sub>1</sub> | D<sub>2</sub> |
d | V+ | U | V | D<sub>4</sub> |
n | h<sub>4</sub> | D<sub>4</sub> | V | U |
f | U | V | j<sub>1</sub> | b<sub>1</sub> |
q | j<sub>1</sub> | V | U | V+ |
位置 | U | V |
a | ||
c | ||
i | h<sub>1</sub>+ | h<sub>2</sub>+ |
k | h<sub>3</sub>+ | h<sub>2</sub>+ |
e | D<sub>3</sub>+ | |
g | D<sub>2</sub>+ | |
p | ||
r | ||
d | D<sub>4</sub>+ | h<sub>4</sub>+ |
n | D<sub>4</sub>+ | h<sub>4</sub>+ |
f | j<sub>1</sub>+ | b<sub>1</sub>+ |
q | j<sub>1</sub>+ | b<sub>1</sub>+ |
如图10,可以用硬件方法实现这两张表所描述的功能。
输出选择器和限幅器模块。如图11。该模块的功能分为两部分。第一部分功能是选择输出数据。当目标位置为整数像素点D时(参阅图2),选择{An+3,An+2,…A4}。当目标位置为b点时,选择{bn,bn-1,…b1}。当目标位置为h点时,选择{hn+3,hn+2,…h4}。当目标位置为1/4像素点时,选择{Qn-1,Qn-2,…Q0}。特别的,在本例中n=2。第二部分功能是限幅,即将输出数据限制在0到255的范围内:当限幅器输入为负时,输出为0;当限幅器输入大于255时,输出255;其他情况下输入与输出一致。特别的,在本例中n=2,则用到了两个限幅器。
至此,实现了一种基于AVS运动补偿的亮度插值器。在本例中,规定并行计算的像素点个数为n=2。对于n不等于2的情况,只需对本例的结构进行简单的扩展(n大于2时)或精简(n等于1时)即可。
Claims (9)
1.一种基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征在于,采用了一种级数可变的流水线结构,针对目标位置的插值需要,自动选择4到8级流水线,同时进行数据的输入、处理和输出,包括如下步骤:
(a)对输入数据做延迟操作;
(b)行方向滤波;
(c)列方向滤波;
(d)J点滤波;
(e)对(a)、(b)、(c)和(d)步骤的输出数据进行整理;
(f)四分之一像素滤波;
(g)输出通路选择、限幅输出;
在步骤(g)中,首先从(a)、(b)、(c)、(d)和(f)五步的输出中选择出n个数据;当目标位置为整数像素点,即分数坐标Y和X均为0时,选择{An+3,An+2,…A4};当目标位置为b点,即分数坐标Y=0、X=2时,选择{bn,bn-1,…b1};当目标位置为h点,即分数坐标X=2、Y=0时,选择{hn+3,hn+2,…h4};当目标位置为j点,即分数坐标Y=2、X=2时,选择{jn,jn-1,…j1};当目标位置为j点以外的点时,选择{Qn-1,Qn-2,…Q0};随后使用n个限幅器分别处理这n个数据,将值域限制在0到255,每个长度为8比特;最后输出8*n比特的数据;
设并行计算的像素点个数为n,其中n取1和8之间。
2.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,在步骤(a)中,设并行计算的像素点个数为n,其中n可取1和8之间,数据按行输入输出,则每行的输入数据最多需要n+4个像素点,每个时钟周期输入一行数据,将其表示为一组中间结果{An+3,An+2,…A0},其中共n+4项,每一项代表一个8比特的像素点,对该数据进行三级延迟操作,得到三行输出数据,相对于输入数据,这三行数据分别具有1、2和3个时钟周期的延迟,表示为一组中间结果{Bn+3,Bn+2,…B0}、一组中间结果{Cn+3,Cn+2,…C0}和一组中间结果{Dn+3,Dn+2,…D0}。
3.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,在步骤(b)中,使用n+1个4抽头滤波器,抽头系数为[-1,5,5,-1],滤波器编号为n递减到0;其中n号滤波器的输入为{Cn+3,Cn+2,Cn+1,Cn},n-1号滤波器的输入为{Cn+2,Cn+1,Cn,Cn-1},依此类推,该组滤波器的输出表示为{bn,bn-1,…b0},输出比输入延迟一个时钟周期。
4.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,在步骤(c)中,使用n+4个4抽头滤波器,抽头系数为[-1,5,5,-1],滤波器编号为n+3递减到0;其中n+3号滤波器的输入为{An+3,Bn+3 Cn+3,Dn+3},n+2号滤波器的输入为{An+2,Bn+2 Cn+2,Dn+2},依此类推;该组滤波器的输出表示为{hn+3,hn+2,…h0},输出比输入延迟一个时钟周期。
5.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,在步骤(d)中,使用n+1个4抽头滤波器,抽头系数为[-1,5,5,-1],滤波器编号为n递减到0;其中n号滤波器的输入为{hn+3,hn+2,hn+1,hn},n-1号滤波器的输入为{hn+2,hn+1,hn,hn-1},依此类推;该组滤波器的输出表示为{jn,jn-1,…j0};输出比输入延迟一个时钟周期。
6.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,在步骤(e)中,该步骤的目的是为第(f)步提供输入数据;通过对(a)、(b)、(c)和(d)这四步的输出数据进行选择和延迟操作,针对不同位置的四分之一像素插值,得到n组输出数据,每组4个,用于四分之一像素滤波的输入。
7.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,在步骤(f)中,使用n个4抽头滤波器,抽头系数为[1,7,7,1],滤波器编号为n-1递减到0;其输入数据来自第(e)步的输出;该组滤波器的输出表示为{Qn-1,Qn-2,…Q0};输出比输入延迟一个时钟周期。
8.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,如果需要按列进行输入输出,只需将分数坐标Y和X对调。
9.如权利要求1所述的基于AVS运动补偿的亮度插值器的VLSI实现方法,其特征是,通过改变步骤(a)中定义的参数n,即并行计算的像素点的个数,从而调整具体实现时所使用的硬件资源数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100256704A CN100394797C (zh) | 2006-04-13 | 2006-04-13 | 基于avs运动补偿的亮度插值器的vlsi实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100256704A CN100394797C (zh) | 2006-04-13 | 2006-04-13 | 基于avs运动补偿的亮度插值器的vlsi实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1835587A CN1835587A (zh) | 2006-09-20 |
CN100394797C true CN100394797C (zh) | 2008-06-11 |
Family
ID=37003166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100256704A Expired - Fee Related CN100394797C (zh) | 2006-04-13 | 2006-04-13 | 基于avs运动补偿的亮度插值器的vlsi实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100394797C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010117795A2 (en) * | 2009-03-30 | 2010-10-14 | Qualcomm Incorporated | Adaptive voltage scalers (avss), systems, and related methods |
CN101888554B (zh) * | 2010-07-09 | 2013-05-22 | 西安交通大学 | 并行流水运动补偿滤波器vlsi结构设计方法 |
CN103188487B (zh) * | 2011-12-28 | 2016-11-23 | 联芯科技有限公司 | 视频图像中的卷积方法及视频图像处理系统 |
CN112542142B (zh) | 2020-12-02 | 2022-04-01 | Tcl华星光电技术有限公司 | 显示面板的补偿方法及其补偿装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598214A (en) * | 1993-09-30 | 1997-01-28 | Sony Corporation | Hierarchical encoding and decoding apparatus for a digital image signal |
CN1481169A (zh) * | 2003-08-01 | 2004-03-10 | 中国科学院计算技术研究所 | 一种基于多级流水线结构的实时1/4插值方法 |
WO2004111796A2 (en) * | 2003-06-12 | 2004-12-23 | Trieu-Kien Truong | System and method for a direct computation of cubic spline interpolation for real-time image codec |
CN1589020A (zh) * | 2004-07-29 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 视频解码芯片分数像素滤波系统及其滤波方法 |
-
2006
- 2006-04-13 CN CNB2006100256704A patent/CN100394797C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5598214A (en) * | 1993-09-30 | 1997-01-28 | Sony Corporation | Hierarchical encoding and decoding apparatus for a digital image signal |
WO2004111796A2 (en) * | 2003-06-12 | 2004-12-23 | Trieu-Kien Truong | System and method for a direct computation of cubic spline interpolation for real-time image codec |
CN1481169A (zh) * | 2003-08-01 | 2004-03-10 | 中国科学院计算技术研究所 | 一种基于多级流水线结构的实时1/4插值方法 |
CN1589020A (zh) * | 2004-07-29 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 视频解码芯片分数像素滤波系统及其滤波方法 |
Non-Patent Citations (8)
Title |
---|
A VLSI Architecture for Motion Compensation Interpolation inH.264/AVC. Yang Song, zhengyu Liu, Satoshi Goto, Takeshi Ikenaga.Proceedings of the 6th IEEE international conference on ASIC,2005,Vol.1 . 2005 |
A VLSI Architecture for Motion Compensation Interpolation inH.264/AVC. Yang Song, zhengyu Liu, Satoshi Goto, Takeshi Ikenaga.Proceedings of the 6th IEEE international conference on ASIC,2005,Vol.1 . 2005 * |
An Efficient VLSI Implementation of MC Interpolation forMPEG-4. Deng Lei, Gao Wen, Hu Ming Zeng, Ji Zhen Zhou.Proceedings of the 4th IEEE International Workshop on System-on-Chip for Real-Time Application. 2004 |
An Efficient VLSI Implementation of MC Interpolation forMPEG-4. Deng Lei, Gao Wen, Hu Ming Zeng, Ji Zhen Zhou.Proceedings of the 4th IEEE International Workshop on System-on-Chip for Real-Time Application. 2004 * |
The High Throughput and Low Memory Access Design ofSub-pixel Interpolation for H.264/AVC HDTV Decoder. Mo Li, Ronggang Wang, Wuchen Wu.Proceedings of the IEEE Workshop on Signal Processing Systems Design and Implementation,2005. 2005 |
The High Throughput and Low Memory Access Design ofSub-pixel Interpolation for H.264/AVC HDTV Decoder. Mo Li, Ronggang Wang, Wuchen Wu.Proceedings of the IEEE Workshop on Signal Processing Systems Design and Implementation,2005. 2005 * |
适用于AVS的自适应环路滤波器硬件设计. 代建玮,黄晁,夏宇闻.微电子学与计算机,第22卷第12期. 2005 |
适用于AVS的自适应环路滤波器硬件设计. 代建玮,黄晁,夏宇闻.微电子学与计算机,第22卷第12期. 2005 * |
Also Published As
Publication number | Publication date |
---|---|
CN1835587A (zh) | 2006-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100394797C (zh) | 基于avs运动补偿的亮度插值器的vlsi实现方法 | |
CN101478785B (zh) | 资源池管理系统及信号处理方法 | |
CN1102026A (zh) | 可重组的可编程数字滤波器结构 | |
US20090016634A1 (en) | Half pixel interpolator for video motion estimation accelerator | |
CN102831576B (zh) | 一种视频图像缩放方法及系统 | |
CN104090737A (zh) | 一种改进型部分并行架构乘法器及其处理方法 | |
CN102170276B (zh) | 一种用于超声信号处理的升采样滤波方法 | |
Wang et al. | Low-resource hardware architecture for semi-global stereo matching | |
CN103092559B (zh) | 用于hevc标准下dct/idct电路的乘法器结构 | |
CN103237211B (zh) | 一种基于fpga的视频亚像素亮度插值的方法及其装置 | |
CN102073987A (zh) | 一种yuv420图像转换成rgb565图像的方法和系统 | |
CN201156248Y (zh) | 一种计算多数据排序序号的硬件结构 | |
CN102630014A (zh) | 一种基于前后两帧参考帧产生内插帧的双向运动估计器 | |
Chang et al. | Design and implementation of a low-cost guided image filter for underwater image enhancement | |
CN107862381A (zh) | 一种适用于多种卷积模式的fir滤波器实现 | |
CN108429546A (zh) | 一种混合型fir滤波器设计方法 | |
Lin et al. | Power-efficient FIR filter architecture design for wireless embedded system | |
CN110737869B (zh) | Dct/idct乘法器电路优化方法及应用 | |
CN104901651A (zh) | 一种数字滤波器的实现电路及方法 | |
CN107872657A (zh) | 基于fpga的色域空间转换的方法 | |
CN104811738A (zh) | 基于资源共享的低开销多标准8×8一维离散余弦变换电路 | |
CN101605258A (zh) | 一种加速视频解码的方法 | |
CN102457251A (zh) | 一种实现通用数字滤波器的方法及装置 | |
CN101076011B (zh) | 插值器串行处理装置及方法 | |
CN106505973A (zh) | 一种n抽头的fir滤波器 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080611 Termination date: 20110413 |