CN100394797C - 基于avs运动补偿的亮度插值器的vlsi实现方法 - Google Patents

基于avs运动补偿的亮度插值器的vlsi实现方法 Download PDF

Info

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
Application number
CNB2006100256704A
Other languages
English (en)
Other versions
CN1835587A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CNB2006100256704A priority Critical patent/CN100394797C/zh
Publication of CN1835587A publication Critical patent/CN1835587A/zh
Application granted granted Critical
Publication of CN100394797C publication Critical patent/CN100394797C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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(数字音视频编解码技术标准)运动补偿的亮度插值器的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,即并行计算的像素点的个数,从而调整具体实现时所使用的硬件资源数量。
CNB2006100256704A 2006-04-13 2006-04-13 基于avs运动补偿的亮度插值器的vlsi实现方法 Expired - Fee Related CN100394797C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 联合信源数字音视频技术(北京)有限公司 视频解码芯片分数像素滤波系统及其滤波方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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