CN103237211A - 一种基于fpga的视频亚像素亮度插值的方法及其装置 - Google Patents

一种基于fpga的视频亚像素亮度插值的方法及其装置 Download PDF

Info

Publication number
CN103237211A
CN103237211A CN2013101171737A CN201310117173A CN103237211A CN 103237211 A CN103237211 A CN 103237211A CN 2013101171737 A CN2013101171737 A CN 2013101171737A CN 201310117173 A CN201310117173 A CN 201310117173A CN 103237211 A CN103237211 A CN 103237211A
Authority
CN
China
Prior art keywords
interpolation
pixel
fpga
sram
data
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.)
Granted
Application number
CN2013101171737A
Other languages
English (en)
Other versions
CN103237211B (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.)
Fujian Star Net eVideo Information Systems Co Ltd
Original Assignee
Fujian Star Net eVideo Information Systems Co Ltd
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 Fujian Star Net eVideo Information Systems Co Ltd filed Critical Fujian Star Net eVideo Information Systems Co Ltd
Priority to CN201310117173.7A priority Critical patent/CN103237211B/zh
Publication of CN103237211A publication Critical patent/CN103237211A/zh
Application granted granted Critical
Publication of CN103237211B publication Critical patent/CN103237211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Television Systems (AREA)

Abstract

一种基于FPGA的视频亚像素亮度插值的方法及装置,包括:从FPGA片内SRAM中读取整数像素点数据,进行1/2水平插值,并将插值结果存储回SRAM中;从FPGA片内SRAM中读取整数像素点数据,进行1/2垂直插值,并将插值结果存储回SRAM中;从FPGA片内SRAM中读取1/2水平插值像素点或1/2垂直插值像素点数据,进行1/2中心插值,并将插值结果存储回SRAM中;在进行运动估计时根据目标像素点的位置读取整数像素点或1/2插值像素点进行1/4插值,插值结果直接用于计算1/4插值像素点的运动矢量,或直接使用1/2插值像素点用于计算1/2像素点的运动矢量。本发明可节约硬件成本。

Description

一种基于FPGA的视频亚像素亮度插值的方法及其装置
【技术领域】
本发明涉及一种视频图像亮度插值的方法及其装置,具体是指一种基于FPGA的视频亚像素亮度插值的方法及其装置。
【背景技术】
目前数字视频已经得到了广泛应用,但是数字视频的信息量大,传输时需要的带宽高,存储时需要的存储容量大,所以一般需要先将数字视频进行压缩。在数字视频的压缩标准中,H.264/AVC标准,简称H.264,由于其同等图像质量下两倍于MEPG2的压缩效率得到了越来越广泛的应用。
帧间编码是H.264/AVC标准中的的一项关键技术,其中高精度的亚像素补偿是帧间编码的一项核心算法,H.264高精度的亚像素补偿对图像亮度进行1/4插值,并使用插值的结果进行运动估计,对运动估计后的残差进行编码,相对于H.263视频压缩标准使用亮度1/2像素插值(也称为分像素),H.264能够取得更小的运行估计后的残差,编码的码率更小,压缩效率更高。
亮度1/4插值算法为先对整数像素点1/2像素插值,然后根据1/2插值后的结果和原始的整数像素点进行1/4像素插值。
图1是H.264高精度的亚像素补偿算法中显示的亮度的分像素插值,图中标有大写字母的阴影表示整数像素,标有小写字母的非阴影块表示亚像素(1/2像素和1/4像素点)。1/2像素点的值(图1中标示为b,h,s,m,j,其中b,s称为水平半像素点,而h,m称为垂直半像素点,j称为中心半像素点)而6抽头FIR滤波器的计算出中间值再把取值范围取为0~255,半像素点可以有以下公式计算得到:
b=Clip1(((E一5×F+20×G+2O×H-5×I+J)+16)/32)   (1)
h=CliP1(((A-5×C+20×G+20×M-5×R+T)+16)/32)   (2)
m=Clip1(((B-5×D+20×H+20×N-5×S+U)+16)/32)   (3)
s=Clip1(((K-5×L+20×M+20×N-5×P+Q)+16)/32)   (4)
j=Clip1(((aa-5×bb+20×b1+20×s1-5×gg+hh)+512)/1024)   (5)
其中aa、bb、b1、s1、gg、hh中间值的求解需要6抽头的滤波器,例如,b1=E–5*F+20*G+20*H–5*I+J,其他类推。
Figure BDA00003015574600021
然后,在图1中表示为a、c、d、n、f、i、k和q的1/4位置的分像素值由双线性滤波器对最邻近的两个整数像素和半像素求平均得到。在图1中表示为e、g、p和r的1/4像素由双线性滤波器对对角的两个最邻近的半像素点求平均得到。这12个1/2像素值由以下公式计算得到:
a=(G+b+1)/2   (6)      c=(H+b+1)/2   (7)
d=(G+h+1)/2  (8)      n=(M+h+1)/2   (9)
f=(b+j+1)/2  (10)     i=(h+j+1)/2   (11)
k=(j+m+1)/2   (12)     q=(j+s+1)/2  (13)
e=(b+h+1)/2  (14)     g=(b+m+1)/2  (15)
p=(h+s+1)/2   (16)     r=(m+s+1)/2  (17)
宏块是H.264标准编码的基本单位,每个宏块为16×16的图像块。
目前已经有一些亮度插值的方法和装置被提出,但这些装置普遍使用4×4大小的图像进行插值,根据H.264标准为插值一块大小为M×N(意为水平方向M个像素点,垂直方向N个像素点)的亮度块,最多需要从片外存储器中去除一块(M+5)*(N+5)的参考块。对于4×4的窗口则需要从片外存储器中取得9*9个像素数据,需要从外部存储器读取的数据量为图像块大小的5倍以上。同时这些方法和装置中在使用的6抽头的滤波器是普遍采用独立的水平和垂直的滤波器,其缺点是需要占用大量的外部存储器带宽,并且需要的滤波器数量多,增加了硬件成本。
【发明内容】
本发明所要解决的技术问题在于提供一种节约硬件成本的基于FPGA的视频亚像素亮度插值的方法及其装置。
本发明是这样实现的:
一种基于FPGA的视频亚像素亮度插值的方法,包括如下步骤:
步骤一:从FPGA片内SRAM中读取整数像素点数据,进行1/2水平插值,并将插值结果存储回SRAM中;
步骤二:从FPGA片内SRAM中读取整数像素点数据,进行1/2垂直插值,并将插值结果存储回SRAM中;
以上步骤一与步骤二无先后顺序,但是不同时进行;
步骤三:从FPGA片内SRAM中读取1/2水平插值像素点或1/2垂直插值像素点数据,进行1/2中心插值,并将插值结果存储回SRAM中;
步骤四:在进行运动估计时根据目标像素点的位置读取整数像素点或1/2插值像素点进行1/4插值,插值结果直接用于计算1/4插值像素点的运动矢量,或直接使用1/2插值像素点用于计算1/2像素点的运动矢量。
所述SRAM大小为32Kbit。
所述SRAM由四个8Kbit的存储区构成,四个存储区分别用于存储整数像素点、水平分像素插值像素、垂直分像素插值像素、和中心分像素插值像素。
所述步骤四中,在进行运动估计时,运动估计装置从所述SRAM中读取整数像素数据或1/2插值像素数据,根据像素位置确定是否进行1/4插值,由1/4像素插值装置完成1/4像素插值,插值结果直接用于分像素运动估计。
所述步骤三中,中心插值是指,
将中心插值公式由
j=Clip1(((aa-5×bb+20×b1+20×s1-5×gg+hh)+512)/1024)
修改为:
aat=Clip1((aa+16)/32)
bbt=Clip1((bb+16)/32)
b1t=Clip1((b1+16)/32)
s1t=Clip1((s1+16)/32)
ggt=Clip1((gg+16)/32)
hht=Clip1((hh+16)/32)
j=Clip1((aat-5×bbt+20×b1t+20×s1t+5×ggt+hht+16)/32)
其中aat,bbt,b1t,s1t,ggt,hht为对滤波器中间计算值aa,bb,b1,s1,gg,hh进行限幅操作所的结果,该结果即为1/2像素水平插值的结果。
一种基于FPGA的视频亚像素亮度插值的装置,包括:
一个插值控制装置,用于控制滤波器输入控制装置依次进行水平、垂直和中心像素点插值;
一个SRAM装置,用于存储整数像素点数据和插值后分像素点的数据;
一个滤波器输入配置装置,用于根据所述插值控制装置的状态从所述SRAM装置中读取插值所需的整数点像素数据,将整数点像素数据分配到4个插值滤波器的输入端,并将4个输出限度单元的输出数据存储至所述SRAM装置中;
一组4个六抽头的四阶流水线的插值滤波器,用于水平、垂直、中心像素点的插值。
4个输出限幅单元,用于对滤波器的输出数据进行限幅;
若干个1/4插值滤波器,用于在运动估计前进行1/4像素插值。
所述SRAM装置大小为32Kbit。
所述SRAM装置由四个8Kbit的存储区构成,四个存储区分别用于存储整数像素点、水平分像素插值像素、垂直分像素插值像素、和中心分像素插值像素。
所述插值控制装置由一个状态机控制,该状态机有4种状态,除空闲状态外其他三种状态分别对应三种像素点的插值操作,状态机依次为水平、垂直、中心像素的插值状态。
所述插值滤波器包括采用移位加法运算代替乘法计算的移位加法器。
本发明的优点在于:针对安防领域,图像长期静止或运动物体变化缓慢特点,提出了适用于小范围搜索窗的亮度插值装置,该装置对搜索窗内的像素进行插值,搜索窗的大小为27×27,当对27×27大小的图像进行插值时,需要从外部存储器读取32*32个像素的数据,需要从外部存储器读取的数据量最多为插值图像块大小的的1.4倍,利用FPGA内部的SRAM,作为图像数据存储,极大程度降低了片外存储器访问带宽,并且通过时分复用将水平滤波器和垂直滤波器合并为同一种滤波器,降低了逻辑资源的使用量同时保证了插值效率,在只用4个6抽头的滤波器时就可满足标清数字视频的插值效率要求。
【附图说明】
下面参照附图结合实施例对本发明作进一步的描述。
图1是H.264高精度的亚像素补偿算法中分像素插值像素位置分布图。
图2是本发明分像素运动估计系统结构图。
图3是本发明滤波器输入配置装置数据配置图。
图4是本发明6抽头4阶流水线插值滤波器结构图。
图5是本发明中1/2插值装置结构图。
图6是本发明中插值控制装置状态转移示意图。
图7是本发明中32×32个整数像素点的名称及排列示意图。
图8是本发明中限幅逻辑处理流程示意图。
图9是本发明中1/4像素的插值滤波器的结构图。
【具体实施方式】
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
随着高容量低成本的FPGA的推出,目前已经可以使用FPGA进行视频压缩。
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据,目前SRAM已经在FPGA中普遍存在,使用FPGA内部的SRAM可以有效提高FPGA资源利用效率,为构造高效的系统创造条件。
本发明针对真实环境场景对公式:
j=Clip1(((aa-5×bb+20×b1+20×s1-5×gg+hh)+512)/1024)   (5)
进行了简化,直接采用水平插值的的结果作为中心插值的数据源,具体是指,将中心插值公式由
j=Clip1(((aa-5×bb+20×b1+20×s1-5×gg+hh)+512)/1024)
修改为:
aat=Clip1((aa+16)/32)
bbt=Clip1((bb+16)/32)
b1t=Clip1((b1+16)/32)
s1t=Clip1((s1+16)/32)
ggt=Clip1((gg+16)/32)
hht=Clip1((hh+16)/32)
j=Clip1((aat-5×bbt+20×b1t+20×s1t+5×ggt+hht+16)/32)
其中aat,bbt,b1t,s1t,ggt,hht为对滤波器中间计算值aa,bb,b1,s1,gg,hh进行限幅操作所的结果,该结果即为1/2像素水平插值的结果。
这样中心插值所使用的滤波器也与水平和垂直滤波器相同,使用这种方法后只需要在解码端也使用同样的方法进行插值即可保证完全不失真,并且即使使用标准的解码器也不会带来视觉影响。但是使用这种方法后会将滤波器的比特位宽由13位减小为8位大幅减小,并且可以达到共用同一种滤波器,并且不再需要使用单独的SRAM用于存储13bit的aa,bb,…hh这几个数据,节约了大量的逻辑资源及SRAM资源。
同时本发明对6抽头滤波器针对FPGA进行了优化,使用移位加法器代替乘法器,并使用了多级流水线技术,提高了滤波器的工作频率,使整个插值装置能够处理标清的数字视频。
图2显示了本发明中分像素运动估计的系统结构图,在亚像素插值系统中,插值所需的整数像素数据存储在片外大容量存储器中,在需要插值时由整数像素加载装置将整数像素数据存储到32Kbit的SRAM中,1/2亮度插值装置从上述SRAM中读取整数像素数据或1/2插值像素数据进行1/2像素插值,插值完成后将1/2插值结果存储回上述SRAM中,在进行运动估计时,运动估计装置从上述SRAM中读取整数像素数据或1/2插值像素数据,根据像素位置确定是否进行1/4插值。由1/4像素插值装置完成1/4像素插值,插值结果直接用于分像素运动估计。其中本发明涉及FPGA中的SRAM、1/2亮度插值装置和1/4插值装置。其中1/2插值装置是本发明的核心,其结构图如图5所示。其中插值控制装置根据所述插值方法控制滤波器输入控制装置依次进行水平、垂直和中心像素点插值,滤波器输入装置根据所述插值控制装置的状态从所述32kbit-SRAM中读取插值所需的整数点像素数据,将整数点像素数据分配到4个插值滤波器的输入端,4个六抽头的四阶流水线的插值滤波器进行1/2像素插值,1/2插值结果通过4个输出限幅单元限幅后由滤波器输入装置将结果存储回32kbit-SRAM中。
本发明中含有一个插值控制装置。插值控制装置是本插值装置的核心部分,它由一个状态机控制,该状态机的转移状态转移图如图6所示,该状态机有4种状态,除空闲状态外其他三种状态分别对应三种像素点的插值操作,状态机依次为水平、垂直、中心像素的插值状态。
本发明装置含有一个32kbit-SRAM装置,该装置为一个容量为32kbit的SRAM,在FPGA中可以由多个块SRAM构成。32kbit-SRAM装置可以由4个8Kbit的存储区构成,这四个存储区分别用于存储整数像素点、水平分像素插值像素、垂直分像素插值像素、和中心分像素插值像素。其中整数像素点数据由整数像素点加载装置从FPGA外部的大容量存储器写入。
本发明含有4个6抽头的插值滤波器,本发明中使用4级流水线六抽头的滤波器,滤波器使用移位加法运算代替乘法计算有效降低逻辑资源使用率,并使用4级流水线结构可以在FPGA中取得较高的运行频率,该滤波器的计算公式为:
DOUT=A–B*5+C*20+D*20–E*5+F
图4显示了6抽头滤波器的结构。图4中所有方块均表示寄存器,圆圈表示逻辑运算,加0至加6都是加法器。寄存器的位宽与其前部逻辑运算或寄存器的位宽相同。本发明中采用了四级流水线,相对其他专利中使用3级流水线可以在FPGA中获得更高的运行速度,从而获得更高的插值效率。
如图4所示该亮度插值装置含有四个6抽头的滤波器,每个6抽头的滤波器含有6个输入端,所以总共有24个滤波器数据输入端,这四个滤波器分别命名为滤波器0至滤波器3,每个滤波器的输入端分别命名为A到F,与图4中的输入端相对应,对24个输入端命名为FIM-N,其中M=0~3N=A~F,例如FI0-A即表示滤波器0的A输入端。
本发明含有一个滤波器输入配置装置,用于根据插值控制装置的状态从32kbit-SRAM中读取插值所需的整数点像素数据,将整数点像素数据分配到4个插值滤波器的输入端,并将4个输出限度单元的输出数据存储至32kbit-SRAM中。
其中整数像素点的数量为32×32个,图7表示了32×32个整数像素点的名称及排列,每个像素命名为PM-N,其中M表示像素所在行号,N表示像素所在列号。将同一行的相邻的四个像素合并为一32bit的数据存储在32bit宽的SRAM中,即将PM-N,N=4k至N=4k+3,0<=k<8合并为一32bit的数据,同时将该数据命名为PM-(4k-4k+3)。
其中整数像素点可以根据以下方法分配至4个插值滤波器.数据配置方法如图3所示:
1.当在水平插值时从32kbit-SRAM中依次读出整数像素P0-(0-3)P0-(4-7)...P0-(28-31)P1-(0-3)。。。。P31-(28-31)(各像素的位置参见图7),在每个时钟周期将PM-(4k-4k+3)送入FIM-N,并对FIM-N的数据进行调整,其配置方式在图3中用带箭头的虚线表示,其关系如下:
FIO-A<=PM-4K+3
FIO-B<=PM-4K+2
FIO-C<=PM-4K+1
FIO-D<=PM-4K
FI1-A<=PM-4K+2
FI1-B<=PM-4K+1
FI1-C<=PM-4K
FI1-D<=FIO-A
FI2-A<=PM-4K+1
FI2-B<=PM-4K
FI2-C<=FIO-A
FI2-D<=FIO-B
FI3-A<=PM-4K
FI3-B<=FIO-A
FI3-C<=FIO-B
FI3-D<=FIO-C
FIM-E<=FIM-A
FIM-F<=FIM-B
2.当在垂直插值时从32kbit-SRAM中依次读出P0-(0-3)P1-(0-3)...P31-(0-3)P0-(4-7)。。。。P31-(28-31)在每个时钟周期将PM-(4k-4k+3)送入FIM-N,并对FIM-N的数据进行调整,其配置方式在图3中用带箭头的实线表示,其关系如下:
FI0-A<=PM-4k+3
FI1-A<=PM-4k+2
FI2-A<=PM-4k+1
FI3-A<=PM-4k
FIM-B<=FIM-A
FIM-C<=FIM-B
FIM-D<=FIM-C
FIM-E<=FIM-D
FIM-F<=FIM-E
3.当在中心插值时与垂直插值数据读出顺序相同,并且数据调整方法也与垂直插值的调整方法相同,但是中心插值时从32kbit-SRAM中读取的数据是水平插值后的像素数据。
本发明含有4个输出限幅单元,用于对滤波器的输出数据进行限幅。限幅的逻辑处理流程如图8所示,每个滤波器的输出结果是16位的,首先先最后4位舍弃得到数据D1,然后进行进位操作得到数据D2,进位后根据最高比特D2[12]是否为1,确定结果是否为负值,如果D2[12]为1则限幅结果为0,然后根据次高位D2[11]、D2[10]和D2[9]判断结果是否会超过255,如果D2[11]、D2[10]或D2[9]其中一个为1,则输出数据会大于255,限幅结果为255,其他情况去D[8:1]作为最终的限幅结果.
本发明中含有若干个1/4插值滤波器,1/4插值滤波器的结构图如图9所示,该装置只是将输入的数据A、B和1相加,再右移一位,并将结果存储在寄存器中。1/4像素插值装置位于运动估计装置内部,当需要进行1/4像素运动估计时需要从32kbit-SRAM中同时读取两个像素,这两个像素可以为整数像素也可为1/2插值像素,将这两个像素使用1/4插值滤波器后得到1/4插值像素。
本发明使用世界一流的FPGA厂商ALTERA公司的FPGA编译软件QUARTUS进行编译,在EP2C35上可以稳定工作在150MHZ,在150MHZ下对1280*72030fps的标清视频进行处理,则每个宏块的处理时间不应超过1388个时钟周期,本装置插值一个27*27大小的搜索窗只需要900个时钟周期,假如在视频压缩时处理每个宏块都需要插值一个27*27大小的搜索窗,则本装置能够完全满足压缩标清视频的处理能力。
本发明的有益效果在于:1、本发明适用于FPGA,能够有效利用FPGA内部的SRAM,降低逻辑单元的使用量,并提高运行频率,降低外部内存带宽,而其他专利都是针对ASIC,如果用于FPGA上则需要大量的逻辑单元,和几倍于本发明的内存带宽,并只具有相对本专利较低的性能。2、本发明中水平插值垂直插值中心插值是依次进行的,所以只需要1组滤波器即可完成滤波,而现有技术是同时进行的,至少需要两组滤波器才可同时进行滤波。本发明所使用的滤波器数量少,降低了逻辑单元使用量。3、本发明中1/4插值是在运动估计前通过从SRAM中读取整数像素点和1/2像素点进行插值得到的的,其他现有技术1/4插值是在1/2插值后直接进行的,本发明将亚像素运动估计与亚像素插值分离,使运动估计不再受亚像素插值速率影响,解决了运动估计与亚像素插值性能互相制约的问题。

Claims (10)

1.一种基于FPGA的视频亚像素亮度插值的方法,其特征在于:包括如下步骤:
步骤一:从FPGA片内SRAM中读取整数像素点数据,进行1/2水平插值,并将插值结果存储回SRAM中;
步骤二:从FPGA片内SRAM中读取整数像素点数据,进行1/2垂直插值,并将插值结果存储回SRAM中;
以上步骤一与步骤二无先后顺序,但是不同时进行;
步骤三:从FPGA片内SRAM中读取1/2水平插值像素点或1/2垂直插值像素点数据,进行1/2中心插值,并将插值结果存储回SRAM中;
步骤四:在进行运动估计时根据目标像素点的位置读取整数像素点或1/2插值像素点进行1/4插值,插值结果直接用于计算1/4插值像素点的运动矢量,或直接使用1/2插值像素点用于计算1/2像素点的运动矢量。
2.如权利要求1所述的一种基于FPGA的视频亚像素亮度插值的方法,其特征在于:所述SRAM大小为32Kbit。
3.如权利要求2所述的一种基于FPGA的视频亚像素亮度插值的方法,其特征在于:所述SRAM由四个8Kbit的存储区构成,四个存储区分别用于存储整数像素点、水平分像素插值像素、垂直分像素插值像素、和中心分像素插值像素。
4.如权利要求1所述的一种基于FPGA的视频亚像素亮度插值的方法,其特征在于:所述步骤四中,在进行运动估计时,运动估计装置从所述SRAM中读取整数像素数据或1/2插值像素数据,根据像素位置确定是否进行1/4插值,由1/4像素插值装置完成1/4像素插值,插值结果直接用于分像素运动估计。
5.如权利要求1所述的一种基于FPGA的视频亚像素亮度插值的方法,其特征在于:所述步骤三中,中心插值是指,
将中心插值公式由
j=Clip1(((aa-5×bb+20×b1+20×s1-5×gg+hh)+512)/1024)
修改为:
aat=Clip1((aa+16)/32)
bbt=Clip1((bb+16)/32)
b1t=Clip1((b1+16)/32)
s1t=Clip1((s1+16)/32)
ggt=Clip1((gg+16)/32)
hht=Clip1((hh+16)/32)
j=Clip1((aat-5×bbt+20×b1t+20×s1t+5×ggt+hht+16)/32)
其中aat,bbt,b1t,s1t,ggt,hht为对滤波器中间计算值aa,bb,b1,s1,gg,hh进行限幅操作所的结果,该结果即为1/2像素水平插值的结果。
6.一种基于FPGA的视频亚像素亮度插值的装置,其特征在于:包括:
一个插值控制装置,用于控制滤波器输入控制装置依次进行水平、垂直和中心像素点插值;
一个SRAM装置,用于存储整数像素点数据和插值后分像素点的数据;
一个滤波器输入配置装置,用于根据所述插值控制装置的状态从所述SRAM装置中读取插值所需的整数点像素数据,将整数点像素数据分配到4个插值滤波器的输入端,并将4个输出限度单元的输出数据存储至所述SRAM装置中;
一组4个六抽头的四阶流水线的插值滤波器,用于水平、垂直、中心像素点的插值。
4个输出限幅单元,用于对滤波器的输出数据进行限幅;
若干个1/4插值滤波器,用于在运动估计前进行1/4像素插值。
7.如权利要求6所述的一种基于FPGA的视频亚像素亮度插值的装置,其特征在于:所述SRAM装置大小为32Kbit。
8.如权利要求7所述的一种基于FPGA的视频亚像素亮度插值的装置,其特征在于:所述SRAM装置由四个8Kbit的存储区构成,四个存储区分别用于存储整数像素点、水平分像素插值像素、垂直分像素插值像素、和中心分像素插值像素。
9.如权利要求6所述的一种基于FPGA的视频亚像素亮度插值的装置,其特征在于:所述插值控制装置由一个状态机控制,该状态机有4种状态,除空闲状态外其他三种状态分别对应三种像素点的插值操作,状态机依次为水平、垂直、中心像素的插值状态。
10.如权利要求6所述的一种基于FPGA的视频亚像素亮度插值的装置,其特征在于:所述插值滤波器包括采用移位加法运算代替乘法计算的移位加法器。
CN201310117173.7A 2013-04-07 2013-04-07 一种基于fpga的视频亚像素亮度插值的方法及其装置 Active CN103237211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310117173.7A CN103237211B (zh) 2013-04-07 2013-04-07 一种基于fpga的视频亚像素亮度插值的方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310117173.7A CN103237211B (zh) 2013-04-07 2013-04-07 一种基于fpga的视频亚像素亮度插值的方法及其装置

Publications (2)

Publication Number Publication Date
CN103237211A true CN103237211A (zh) 2013-08-07
CN103237211B CN103237211B (zh) 2016-04-20

Family

ID=48885224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310117173.7A Active CN103237211B (zh) 2013-04-07 2013-04-07 一种基于fpga的视频亚像素亮度插值的方法及其装置

Country Status (1)

Country Link
CN (1) CN103237211B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106791881A (zh) * 2016-12-28 2017-05-31 北京奇艺世纪科技有限公司 一种滤波方法及装置
CN108322759A (zh) * 2018-02-24 2018-07-24 北京奇艺世纪科技有限公司 一种像素值获取方法及装置
CN111787333A (zh) * 2020-07-03 2020-10-16 北京博雅慧视智能技术研究院有限公司 一种用于视频编码的运动搜索方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374236A (zh) * 2007-07-09 2009-02-25 模拟装置公司 用于视频运动估计加速器的半像素插值器
CN101783947A (zh) * 2010-02-05 2010-07-21 合肥工业大学 基于插值算法对称性h.264解码器的亮度插值方法
CN201639716U (zh) * 2009-11-06 2010-11-17 杭州士兰微电子股份有限公司 H.264高速亮度插值装置
CN101938644A (zh) * 2009-07-03 2011-01-05 哈尔滨工业大学深圳研究生院 视频压缩1/2像素精度运动估计硬件实现方法
CN102724512A (zh) * 2012-06-29 2012-10-10 豪威科技(上海)有限公司 环路滤波器及环路滤波方法
CN102857758A (zh) * 2012-09-03 2013-01-02 上海算芯微电子有限公司 可复用像素处理方法及视频处理芯片
CN203206399U (zh) * 2013-04-07 2013-09-18 福建星网视易信息系统有限公司 一种基于fpga的视频亚像素亮度插值的装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374236A (zh) * 2007-07-09 2009-02-25 模拟装置公司 用于视频运动估计加速器的半像素插值器
CN101938644A (zh) * 2009-07-03 2011-01-05 哈尔滨工业大学深圳研究生院 视频压缩1/2像素精度运动估计硬件实现方法
CN201639716U (zh) * 2009-11-06 2010-11-17 杭州士兰微电子股份有限公司 H.264高速亮度插值装置
CN101783947A (zh) * 2010-02-05 2010-07-21 合肥工业大学 基于插值算法对称性h.264解码器的亮度插值方法
CN102724512A (zh) * 2012-06-29 2012-10-10 豪威科技(上海)有限公司 环路滤波器及环路滤波方法
CN102857758A (zh) * 2012-09-03 2013-01-02 上海算芯微电子有限公司 可复用像素处理方法及视频处理芯片
CN203206399U (zh) * 2013-04-07 2013-09-18 福建星网视易信息系统有限公司 一种基于fpga的视频亚像素亮度插值的装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谈力立: "基于H.264的自适应环路滤波器的硬件设计与FPGA验证", 《万方学位论文》, 31 December 2010 (2010-12-31), pages 1 - 54 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106791881A (zh) * 2016-12-28 2017-05-31 北京奇艺世纪科技有限公司 一种滤波方法及装置
CN106791881B (zh) * 2016-12-28 2019-09-17 北京奇艺世纪科技有限公司 一种滤波方法及装置
CN108322759A (zh) * 2018-02-24 2018-07-24 北京奇艺世纪科技有限公司 一种像素值获取方法及装置
CN108322759B (zh) * 2018-02-24 2021-02-05 北京奇艺世纪科技有限公司 一种像素值获取方法、装置及电子设备
CN111787333A (zh) * 2020-07-03 2020-10-16 北京博雅慧视智能技术研究院有限公司 一种用于视频编码的运动搜索方法及装置

Also Published As

Publication number Publication date
CN103237211B (zh) 2016-04-20

Similar Documents

Publication Publication Date Title
CN106875011B (zh) 二值权重卷积神经网络加速器的硬件架构及其计算流程
US5684538A (en) System and method for performing video coding/decoding using motion compensation
CN100471275C (zh) 用于h.264/avc编码器的运动估计方法
US8761261B1 (en) Encoding using motion vectors
CN109495743B (zh) 一种基于异构多处理平台的并行化视频编码方法
CN105933708B (zh) 一种数据压缩和解压缩的方法和装置
CN103237211B (zh) 一种基于fpga的视频亚像素亮度插值的方法及其装置
CN203206399U (zh) 一种基于fpga的视频亚像素亮度插值的装置
CN101179721A (zh) 支持多编解码器的运动补偿的方法和设备
US20040105497A1 (en) Encoding device and method
CN102088610B (zh) 视频编解码器及运动估计方法
CN113436057B (zh) 数据处理方法及双目立体匹配方法
CN101778280B (zh) 一种基于avs运动补偿亮度插值运算的电路及方法
CN102801982B (zh) 一种应用于视频压缩且基于块积分的快速运动估计方法
CN102831571B (zh) 用流水线方式单步实现图形图像缩放、旋转的5阶滤波器的设计方法
CN102073987A (zh) 一种yuv420图像转换成rgb565图像的方法和系统
WO2012065447A1 (zh) 一种亚像素插值方法及系统
CN103533327B (zh) 一种基于硬件实现的dibr系统
CN103092559A (zh) 用于hevc标准下dct/idct电路的乘法器结构
CN101005619B (zh) 一种环路滤波的方法
CN104754363A (zh) 用于hevc的环路滤波方法及装置、编码器及解码器
Woo et al. A cache-aware motion estimation organization for a hardware-based H. 264 encoder
CN103731674A (zh) 一种h.264二维并行后处理去块滤波器硬件实现方法
CN117440168B (zh) 一种实现并行螺旋搜索算法的硬件架构
CN106791881A (zh) 一种滤波方法及装置

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