CN102611907B - 一种多分辨率视频原地滤波方法及其装置 - Google Patents

一种多分辨率视频原地滤波方法及其装置 Download PDF

Info

Publication number
CN102611907B
CN102611907B CN201210071651.0A CN201210071651A CN102611907B CN 102611907 B CN102611907 B CN 102611907B CN 201210071651 A CN201210071651 A CN 201210071651A CN 102611907 B CN102611907 B CN 102611907B
Authority
CN
China
Prior art keywords
video
row
data
synchronizing signal
ram
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
CN201210071651.0A
Other languages
English (en)
Other versions
CN102611907A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201210071651.0A priority Critical patent/CN102611907B/zh
Publication of CN102611907A publication Critical patent/CN102611907A/zh
Application granted granted Critical
Publication of CN102611907B publication Critical patent/CN102611907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种多分辨率视频原地滤波方法及其装置,该方法包括以下步骤:S01:输入视频同步信号及视频数据;S02:从输入视频同步信号中提取视频格式信息以对输入视频同步信号进行延迟处理,并输出延迟视频同步信号;S03:对视频数据中同一行的连续的2n+1个数据求取行平均值;S04:判断视频数据是否属于对应行的前n列或后n列,并对对应的RAM执行写操作;S05:对从2n个RAM中读取的视频数据中前2n行对应列的数据和行平均值数据求取列平均值;S06:判断所求列平均值是否属于对应列的前n行或后n行,并对对应的RAM执行读操作。通过从输入的视频同步信号中提取相关信息作用于整个滤波过程,减少存储空间的使用及运算规模,节约硬件资源。

Description

一种多分辨率视频原地滤波方法及其装置
技术领域
本发明涉及视频处理领域,特别涉及一种多分辨率视频原地滤波方法及其装置。
背景技术
立体视频通过双眼的视差产生立体效果。但是由于制作技术、成本问题等原因,立体视频源严重不足。而平面立体化转换技术能够将平面视频转换为立体视频,从而极大地解决这一供求关系间的矛盾。全自动平面立体化转换技术可以在不需要人工参与的条件下实时地将平面视频转换为立体视频,极大地提高了转换效率。
但是,由于硬件资源的限制,特别是硬件实时视频与软件视频的区别,当前的全自动平面立体化转换技术对深度图的优化处理还不太理想,从而影响了最终立体视频的观看效果。例如,均值滤波目前在软件和硬件均有相应的实现方法,但是,对于实时视频信号,要进行大范围的均值滤波算法,同时还要满足实时性要求及硬件资源的限制,尚且没有现成的方法可供使用;可编程器件具有体积小、成本低、速度快、并行度高等优点,利用可编程器件编程将平面视频立体化,可以获得高性能的立体视频,但是由于可编程器件编程的实现方法有别于软件方法,即使是简单的软件方法在可编程器件上也难以实现。
因此,需要一种将可编程器件编程与均值滤波算法相结合的技术,以实现对实时视频数据的均值滤波处理。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一,特别是解决现有的均值滤波算法处理实时视频数据的上述缺点。
为达到上述目的,本发明一方面提出了一种多分辨率视频原地滤波方法,包括以下步骤。S01:输入视频同步信号x0及视频数据;S02:从所述输入视频同步信号x0中提取视频格式信息以对所述输入视频同步信号x0进行延迟处理,并输出与输出视频数据相匹配的延迟视频同步信号xt;S03:对所述视频数据中的某一个数据以及与其相邻的前n个和后n个数据求取行平均值,其中,n由滤波方式确定;S04:根据所述输入视频同步信号x0判断,所述视频数据是否属于对应行的前n列或后n列,是,将所述视频数据写入对应的RAM,否,将所述行平均值数据写入对应的所述RAM;S05:对从2n个所述RAM中读取的所述视频数据中前2n行对应列的数据和所述行平均值数据求取列平均值;S06:根据所述延迟视频同步信号xt判断,所述列平均值是否属于对应列的前n行或后n行,是,从2n个所述RAM中挑选所述视频数据中对应行对应列的数据作为所述输出视频数据输出,否,将所述列平均值数据作为所述输出视频数据输出。
在本发明的一个实施例中,步骤S02进一步包括:从所述输入视频同步信号x0中提取包括视频数据行长和有效数据行长的视频格式信息;对所述输入视频同步信号x0中的行同步信号延迟m周期;基于所述视频格式信息,对所述输入视频同步信号x0中的帧同步信号重复n次延迟1行的操作,在此基础上再延迟m周期;基于所述视频格式信息,对所述输入视频同步信号x0中的使能信号重复n次延迟1行的操作,在此基础上再延迟m周期。其中m由算法流程确定。在31*31滤波方式中,m=27。
在本发明的一个实施例中,步骤S03进一步包括:所述视频数据中第i行第j列的输入数据aij的行平均值的求取公式包括:
b ij = [ 1 / ( 2 n + 2 ) * ( Σ p = 0 p = n a i , j - p + Σ p = 0 p = n a i , j + p ) ]
其中,aij为正的或负的整数,符号[x]表示取小于等于x的最大整数。
在本发明的一个实施例中,步骤S05进一步包括:所述第i行第j列的行平均值bij的列平均值的求取公式包括:
c ij = [ 1 / ( 2 n + 2 ) * Σ p = - n p = n b i - p , j ] + [ 1 / ( 2 n + 2 ) 2 * Σ p = - n p = n b i - p , j ]
其中,符号[x]表示取小于等于x的最大整数。
在本发明的一个实施例中,2n个所述RAM的读写操作信号由一个2n位的变量进行循环移位求得,2n个所述RAM的读写地址由两个具有差值的变量在行内累加求得。
在本发明的一个实施例中,步骤S04通过视频同步信号x1,求取所述前n列或后n列数据;步骤S06中通过计数寻找所述前n行数据,通过视频同步信号x2求取所述后n行数据。其中,从视频信号的延迟时间而言,有x0<x1<x2<xt(注:该关系式是反映视频信号x0、x1、x2、xt的时间延迟关系,而不可理解为大小关系),且从延迟时间而言,x1接近x0,x2接近xt。从而可以保证各种格式视频的兼容性。
本发明另一方面提供一种多分辨率视频原地滤波装置,包括:延迟模块,用于从输入视频同步信号x0中提取视频格式信息,对所述输入视频同步信号x0进行延迟处理,以输出与输出视频数据相匹配的延迟视频同步信号xt;行平均值求取模块,用于对输入的视频数据中的某一个数据以及与其相邻的前n个和后n个数据求取行平均值,其中,n由滤波方式确定;片上RAM操作模块,与所述延迟模块、所述行平均值求取模块的输出端、列平均值求取模块的输出端以及2n个片上RAM分别相连,用于根据所述输入视频同步信号判断:所述视频数据是否属于对应行的前n列或后n列,所求列平均值是否属于对应列的前n行或后n行,以及根据判断结果控制2n个所述片上RAM的读写操作信号和读写地址并输出滤波结果;所述2n个片上RAM,与所述片上RAM操作模块以及列平均值求取模块的输入端连接,每个所述片上RAM存储一行所述行平均值;列平均值求取模块,与所述行平均值求取模块的输出端、所述2n个片上RAM以及所述片上RAM操作模块分别相连,用于对从所述2n个片上RAM中读取的所述视频数据中前2n行对应列的数据和所述行平均值数据求取列平均值。
在本发明的一个实施例中,所述延迟模块:从所述输入视频同步信号x0中提取包括视频数据行长和有效数据行长的视频格式信息;对所述输入视频同步信号x0中的行同步信号延迟m周期;基于所述视频格式信息,对所述输入视频同步信号x0中的帧同步信号重复n次延迟1行的操作,在此基础上再延迟m周期;基于所述视频格式信息,对所述输入视频同步信号x0中的使能信号重复n次延迟1行的操作,在此基础上再延迟m周期。其中m由算法流程确定,在31*31滤波方式中,m=27。
在本发明的一个实施例中,所述行平均值求取模块求取所述视频数据中第i行第j列的输入数据aij的行平均值的公式包括:,
b ij = [ 1 / ( 2 n + 2 ) * ( Σ p = 0 p = n a i , j - p + Σ p = 0 p = n a i , j + p ) ]
其中,aij为正的或负的整数,符号[x]表示取小于等于x的最大整数。
在本发明的一个实施例中,所述列平均值求取模块求取所述第i行第j列的行平均值bij的列平均值的公式包括:
c ij = [ 1 / ( 2 n + 2 ) * Σ p = - n p = n b i - p , j ] + [ 1 / ( 2 n + 2 ) 2 * Σ p = - n p = n b i - p , j ]
其中,符号[x]表示取小于等于x的最大整数。
在本发明的一个实施例中,所述片上RAM操作模块通过一个2n位的变量进行循环移位以求得2n个所述片上RAM的读写操作信号,通过两个具有差值的变量在行内累加以求得2n个所述片上RAM的读写地址。从而可以保证各种格式视频的兼容性。
在本发明的一个实施例中,所述片上RAM操作模块:通过视频同步信号x1,求取所述前n列或后n列数据;通过计数寻找所述前n行数据,通过视频同步信号x2求取所述后n行数据。其中,x0<x1<x2<xt(注:该关系式是反映视频信号x0、x1、x2、xt的时间延迟关系,而不可理解为大小关系),且从延迟时间而言,x1接近x0,x2接近xt。从而可以保证各种格式视频的兼容性。
本发明提供一种多分辨率视频原地滤波方法和装置,其优点体现在:
(1)通过从输入的视频同步信号中提取相关信息作用于整个滤波过程,极大地减少存储空间的使用及运算规模,极大地节约了硬件资源;
(2)将可编程器件与滤波算法相结合,提高处理速度;
(3)既可以用于硬件系统中对实时视频数据进行均值滤波处理,又可用于平面视频立体化转换硬件系统对深度图进行滤波处理,改善深度图;
(4)兼容所有格式的实时视频,应用面广。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的多分辨率视频原地滤波方法的流程图;
图2为以DEN信号为例显示视频数据行长和有效数据行长的关系;
图3为本发明实施例的延迟视频同步信号的实现图;
图4为本发明实施例的求取行平均值的实现图;
图5为本发明实施例的RAM的操作时序图;
图6为本发明实施例的求取行平均值的实现图;
图7为根据本发明实施例的多分辨率视频原地滤波方法得到的实时视频的一帧图像滤波效果图;
图8所示为本发明实施例的多分辨率视频原地滤波装置结构图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
需说明的是,为描述方便起见,本发明各实施例均以31*31的滤波方式为例,对于其他模式的滤波方式,本领域技术人员可以参考本实施例实现本发明。图1所示为本发明实施例的多分辨率视频原地滤波方法的流程图。如图1所示,该方法包括以下步骤。
步骤S01:输入视频同步信号及视频数据。视频同步信号及视频数据包括所有格式的实时视频。
步骤S02:从输入视频同步信号x0中提取视频格式信息以对输入视频同步信号x0进行延迟处理,并输出与输出视频数据相匹配的延迟视频同步信号xt
在本实施例中,输入视频同步信号x0包括:使能信号DEN、行同步信号HSYNC、帧同步信号VSYNC,所提取的视频格式信息包括:视频数据行长和有效数据行长,图2所示以DEN信号为例显示视频数据行长和有效数据行长的关系。提取视频数据行长、有效数据行长信息的方法包括:在DEN数据有效(即DEN值为1)时累加并在DEN数据无效(即DEN值为0)时更新有效数据行长并将计数器归零,即可提取出有效数据行长信息;对DEN数据的两个上升沿时间间隔进行计数,若两上升沿间VSYNC信号没有跳变,则在DEN上升沿处更新视频数据行长并将计数器归零,否则只将计数器归零,即可提取出视频数据行长信息。
由于本实施例采用31*31的滤波方式,再加上数据处理需要占据的周期数,延迟视频同步信号xt相对输入视频同步信号x0共需要延迟15行27列。图3所示为本发明实施例的延迟视频同步信号xt的实现图。如图3所示,对于行同步信号HSYNC,可以直接延迟27周期。对于使能信号DEN,需要从DEN信号中提取视频数据行长、有效数据行长两个信息,对DEN信号延迟15行,在此基础上再延迟27周期,其中,延迟15行可以通过串联15个延迟1行的操作实现,即将延迟1行的操作重复15次。具体地,DEN延迟1行,在DEN上升沿处开始计数,当计数值达到有效数据行长时,将延迟信号DEN_DELAY的值设为有效(即1)并继续计数,当计数值达到视频数据行长时,将延迟信号DEN_DELAY的值设为无效(即0)并继续计数。对于帧同步信号VSYNC,需要从DEN信号中提取视频数据行长信息,对VSYNC信号延迟15行,在此基础上再延迟27周期,同理,延迟15行可以通过串联15个延迟1行的操作实现。具体地,VSYNC延迟1行,在VSYNC跳变处记下VSYNC跳变前后状态并开始计数,当计数值达到视频数据行长时,根据VSYNC跳变前后状态对延迟信号VSYNC_DELAY产生相同的跳变,并停止计数。
步骤S03:对视频数据中的某一个数据以及与其相邻的前n个和后n个数据求取行平均值,其中,n由滤波方式确定。在本实施例中由于采用31*31的滤波方式,即n=15,故对某数据前后共31个数据求取平均值。具体地,输入视频数据中第i行第j列的输入数据aij的行平均值可以通过求取公式:
b ij = [ 1 / ( 2 n + 2 ) * ( Σ p = 0 p = n a i , j - p + Σ p = 0 p = n a i , j + p ) ]
求得,其中,aij为正的或负的整数,符号[x]表示取小于等于x的最大整数。求出的平均值bij与第16个输入数据相对应,即对应于连续输入的ai,j-15~ai,j+15中的aij
图4所示为本发明实施例的求取行平均值的实现图。如图4所示,器件1~37是寄存器,输入数据的位宽是17bit,寄存器1~2的位宽是17bit,寄存器3~5的位宽是18bit,寄存器6~10的位宽是19bit,寄存器11~19的位宽是20bit,寄存器20~35的位宽是21bit,寄存器36的位宽是22bit,寄存器37的位宽是17bit。每个clk(周期)内,输入数据存入寄存器1,寄存器1~2、3~5、6~10、11~19、20~35内的数据顺序移位存储;将寄存器1与2、3与5、5与10、11与19、20与35的和分别存入寄存器3、6、11、20、36;寄存器36中的值即是32bij,取寄存器36的前17bit存入寄存器37,即对寄存器36截断低位,即得到行平均值结果。
需注意的是,图4中的加法是补码的加法。即两个16bit的数相加得到17bit的数,假设数字从低位到高位是1到17,首先把两个16bit加数的第17位用16位的数填补,然后将填补为17bit的两个数相加得到最后的结果,第18位的进位直接舍去。
步骤S04:根据输入视频同步信号x0判断,视频数据是否属于对应行的前n列或后n列:是,将视频数据写入对应的RAM;否,将行平均值数据写入对应的RAM。在本实施例中由于采用31*31的滤波方式,n=15,即将视频数据与输入视频同步信号x0比较,从而判断该视频数据是否属于对应行的前15列或后15列,本实施例共需30个RAM,优选为30个片上RAM。图5所示为本发明实施例的RAM的操作时序图。如图5所示,30个片上RAM的读写操作信号用一个30bit的变量WREN表示,在输入视频同步信号VSYNC的下降沿置为1,此后在每个输入视频同步信号HSYNC的上升沿从低位向高位循环移位。30个片上RAM的读地址在HSYNC的跳变沿或者值等于有效数据行长(见图5)时置为0,此后在每个clk累加。30个片上RAM的读写地址是完全一致的,且写地址相对读地址落后2个clk。在本实施例中,可以通过视频同步信号x1,求取前15列或后15列数据。其中x0<x1(注:该关系式是反映视频信号x0、x1的时间延迟关系,而不可理解为大小关系),且从延迟时间而言,x1为非常接近输入视频同步信号x0的视频信号,故为绘图方便起见,图1中以输入视频同步信号x0代表该视频同步信号x1。具体地,在本实施例中,利用相差30个clk的DEN延迟信号做与运算进行判断。通过上述方法寻找前后15列,可以保证各种格式视频的兼容性。如果属于前15列或后15列,将视频数据写入对应的RAM;否则,则将行平均值数据写入对应的RAM。在本实施例中,利用变量WREN确定需要写入的数据所在的RAM。
步骤S05:对从2n个RAM中读取的视频数据中前2n行对应列的数据和行平均值数据求取列平均值。在本实施中,即对前30行对应列的数据和行平均值数据求取列平均值。具体地,第i行第j列的行平均值bij的列平均值可以通过求取公式:
c ij = [ 1 / ( 2 n + 2 ) * Σ p = - n p = n b i - p , j ] + [ 1 / ( 2 n + 2 ) 2 * Σ p = - n p = n b i - p , j ]
求得。其中,符号[x]表示取小于等于x的最大整数。求出的平均值cij与连续31行的中间一行的数据相对应,即对应于连续行数据bi-15,j~bi+15,j中的bij。
图6所示为本发明实施例的求取行平均值的实现图。如图6所示,输入数据的位宽是17bit,寄存器1~16的位宽是18bit,寄存器17~24的位宽是19bit,寄存器25~28的位宽是20bit,寄存器29~30的位宽是21bit,寄存器31的位宽是22bit,寄存器32的位宽是17bit。输入数据1~31分别表示连续1~31行对应列的值,输入数据1~30由片上RAM读取,输入数据31是行平均值。每个clk内,输入各寄存器如图示进行相加,结果存入相应的寄存器中,输入数据31的第17位用16位的数填补再存入寄存器16,寄存器31中的值相当于31个输入数据的和,其截断后的17bit与12bit的两数相加存入32寄存器,即为列平均值结果。
需注意的是,图6中的加法是补码的加法。即两个16bit的数相加得到17bit的数,假设数字从低位到高位是1到17,首先把两个16bit加数的第17位用16位的数填补,然后将填补为17bit的两个数相加得到最后的结果,第18位的进位直接舍去。若17bit数与12bit数相加结果取17bit,则把12bit数的13至17位均用12位的值填补,再与另一个17bit数相加得到最后的结果,第18位的进位直接舍去。
步骤S06:根据延迟视频同步信号xt判断,所求列平均值是否属于对应列的前n行或后n行:是,从2n个RAM中挑选视频数据中对应行对应列的数据作为输出视频数据输出;否,将列平均值数据作为所述输出视频数据输出。在本实施例中,需判断是否属于对应列的前15行或后15行,即将列平均值与延迟视频同步信号xt比较,从而判断该列平均值是否属于对应列的前n行或后n行。在本实施例中,可以通过计数寻找前15行数据,通过视频同步信号x2求取后15行数据。其中,从视频信号的延迟时间而言,x0<x1<x2<xt(注:该关系式是反映视频信号x0、x1、x2、xt的时间延迟关系,而不可理解为大小关系),从延迟时间而言,x2为非常接近延迟视频同步信号xt的视频信号,故为绘图方便起见,图1中以延迟视频同步信号xt代表该视频同步信号x2。具体地,在本实施例中,判断所求列平均值是否属于前15行或后15行时,利用延迟15行的DEN与输入DEN做与运算消去后15行,再通过计数消去前15行,剩下的就是中间若干行。通过上述方法寻找前后15行,可以保证各种格式视频的兼容性。如果属于前后15行,需要从30个片上RAM输出中选出前第15行对应列的数据输出,否则,将列平均值数据输出。在本实施例中,利用变量WREN确定需要输出的数据所在的RAM。
图7所示为根据本发明实施例的多分辨率视频原地滤波方法得到的实时视频的一帧图像滤波效果图。
本发明实施例进一步提供一种多分辨率视频原地滤波装置,图8所示为本发明实施例的多分辨率视频原地滤波装置结构图,如图8所示,该装置包括:延迟模块100、行平均值求取模块200、片上RAM操作模块300、2n个片上RAM400、列平均值求取模块500。
延迟模块100用于用于从输入视频同步信号x0中提取视频格式信息,对输入视频同步信号x0进行延迟处理,以输出与输出视频数据相匹配的延迟视频同步信号xt
在本实施例中,输入视频同步信号x0包括所有格式的实时视频。输入视频同步信号x0包括:使能信号DEN、行同步信号HSYNC、帧同步信号VSYNC,所提取的视频格式信息包括:视频数据行长和有效数据行长,延迟模块100提取视频数据行长、有效数据行长信息的方法包括:在DEN数据有效(即DEN值为1)时累加并在DEN数据无效(即DEN值为0)时更新有效数据行长并将计数器归零,即可提取出有效数据行长信息;对DEN数据的两个上升沿时间间隔进行计数,若两上升沿间VSYNC信号没有跳变,则在DEN上升沿处更新视频数据行长并将计数器归零,否则只将计数器归零,即可提取出视频数据行长信息。
由于本实施例采用31*31的滤波方式,再加上数据处理需要占据的周期数,延迟视频同步信号xt相对输入视频同步信号x0共需要延迟15行27列。延迟模块100延迟视频同步信号的过程可以参考图3。对于行同步信号HSYNC,可以直接延迟27周期。对于使能信号DEN,需要从DEN信号中提取视频数据行长、有效数据行长两个信息,对DEN信号延迟15行,在此基础上再延迟27周期,其中,延迟15行可以通过串联15个延迟1行的操作实现,即将延迟1行的操作重复15次。具体地,DEN延迟1行,在DEN上升沿处开始计数,当计数值达到有效数据行长时,将延迟信号DEN_DELAY的值设为有效(即1)并继续计数,当计数值达到视频数据行长时,将延迟信号DEN_DELAY的值设为无效(即0)并继续计数。对于帧同步信号VSYNC,需要从DEN信号中提取视频数据行长信息,对VSYNC信号延迟15行,在此基础上再延迟27周期,同理,延迟15行可以通过串联15个延迟1行的操作实现。具体地,VSYNC延迟1行,在VSYNC跳变处记下VSYNC跳变前后状态并开始计数,当计数值达到视频数据行长时,根据VSYNC跳变前后状态对延迟信号VSYNC_DELAY产生相同的跳变,并停止计数。
行平均值求取模块200用于对输入的视频数据中的某一个数据以及与其相邻的前n个和后n个数据求取行平均值,其中,n由滤波方式确定。在31*31的滤波方式中,n为15。
在本实施例中由于采用31*31的滤波方式,故行平均值求取模块200对某数据前后共31个数据求取平均值。具体地,输入视频数据中第i行第j列的输入数据aij的行平均值可以通过求取公式:
b ij = [ 1 / ( 2 n + 2 ) * ( Σ p = 0 p = n a i , j - p + Σ p = 0 p = n a i , j + p ) ]
求得,其中,aij为正的或负的整数,符号[x]表示取小于等于x的最大整数。求出的平均值bij与第16个输入数据相对应,即对应于连续输入的ai,j-15~ai,j+15中的aij
行平均值求取模块200的工作流程图可以参考图4。如图4所示,在本实施例中,行平均值求取模块200可以包括37个寄存器(如图4中编号1~37所示),输入数据的位宽是17bit,寄存器1~2的位宽是17bit,寄存器3~5的位宽是18bit,寄存器6~10的位宽是19bit,寄存器11~19的位宽是20bit,寄存器20~35的位宽是21bit,寄存器36的位宽是22bit,寄存器37的位宽是17bit。每个clk(周期)内,输入数据存入寄存器1,寄存器1~2、3~5、6~10、11~19、20~35内的数据顺序移位存储;将寄存器1与2、3与5、5与10、11与19、20与35的和分别存入寄存器3、6、11、20、36;寄存器36中的值即是32bij,取寄存器36的前17bit存入寄存器37,即对寄存器36截断低位,即得到行平均值结果。
需注意的是,本实施例中,行平均值求取模块200采用的加法是补码的加法。即两个16bit的数相加得到17bit的数,假设数字从低位到高位是1到17,首先把两个16bit加数的第17位用16位的数填补,然后将填补为17bit的两个数相加得到最后的结果,第18位的进位直接舍去。
片上RAM操作模块300与延迟模块100、行平均值求取模块200的输出端、列平均值求取模块500的输出端以及2n个片上RAM400分别相连,用于根据输入视频同步信号x0判断:视频数据是否属于对应行的前n列或后n列,所求列平均值是否属于对应列的前n行或后n行,以及根据判断结果控制2n个片上RAM的读写操作信号和读写地址并输出滤波结果。
在本实施例中,该装置共有30个片上RAM400,片上RAM操作模块300需要判断:(1)行平均值求取模块200求出的行平均值应该写入哪一个片上RAM,即操作30个片上RAM的写控制,30个RAM最多有一个RAM处于写状态;(2)行平均值求取模块200求出的行平均值存入RAM哪个位置,从RAM哪个位置读取数据,即操作片上RAM的读写地址;(3)判断视频数据是否属于对应行的前n列或后n列:是,将视频数据写入对应的RAM;否,将行平均值数据写入对应的RAM;(4)判断所求列平均值是否属于对应列的前n行或后n行:是,从2n个RAM中挑选视频数据中对应行对应列的数据输出;否,将列平均值求取模块500求出的列平均值数据输出。
其中,片上RAM操作模块300对于(3)和(4)项的具体判断方法可以参考图5。如图5所示,30个片上RAM的读写操作信号用一个30bit的变量WREN表示,在输入视频同步信号VSYNC的下降沿置为1,此后在每个输入视频同步信号HSYNC的上升沿从低位向高位循环移位。30个片上RAM的读地址在HSYNC的跳变沿或者值等于有效数据行长(见图5)时置为0,此后在每个clk累加。30个片上RAM的读写地址是完全一致的,且写地址相对读地址落后2个clk。在本实施例中,可以通过视频同步信号x1,求取前15列或后15列数据。其中x0<x1,且x1为非常接近输入视频同步信号x0的视频信号,故为绘图方便起见,图8中以输入视频同步信号x0代表该视频同步信号x1。具体地,在本实施例中,判断延迟视频同步信号数据是否属于前15列或后15列时,利用相差30个clk的DEN延迟信号做与运算进行判断。通过上述方法寻找前后15列,可以保证各种格式视频的兼容性。如果属于前15列或后15列,将视频数据写入对应的RAM;否则,则将行平均值数据写入对应的RAM。在本实施例中,利用变量WREN确定需要写入的数据所在的RAM。在本实施例中,可以通过计数寻找前15行数据,通过视频同步信号x2求取后15行数据。其中x0<x1<x2<xt,x2为非常接近延迟视频同步信号xt的视频信号,故为绘图方便起见,图8中以延迟视频同步信号xt代表该视频同步信号x2。具体地,在本实施例中,判断所求列平均值是否属于前15行或后15行时,利用延迟15行的DEN与输入DEN做与运算消去后15行,再通过计数消去前15行,剩下的就是中间若干行。通过上述方法寻找前后15行,可以保证各种格式视频的兼容性。如果属于前后15行,需要从30个片上RAM输出中选出前第15行对应列的数据输出,否则,将列平均值数据输出。在本实施例中,利用变量WREN确定需要输出的数据所在的RAM。
2n个片上RAM400,与片上RAM操作模块300以及列平均值求取模块500的输入端连接,每个片上RAM存储一行的行平均值。
列平均值求取模块500与行平均值求取模块200的输出端、2n个片上RAM400以及片上RAM300操作模块分别相连,用于对从2n个片上RAM400中读取的视频数据中前2n行对应列的数据和行平均值数据求取列平均值。
在本实施例中,列平均值求取模块500对从30个片上RAM400中读取的视频数据中前30行对应列的数据和行平均值数据求取列平均值。具体地,第i行第j列的行平均值bij的列平均值可以通过求取公式:
c ij = [ 1 / ( 2 n + 2 ) * Σ p = - n p = n b i - p , j ] + [ 1 / ( 2 n + 2 ) 2 * Σ p = - n p = n b i - p , j ]
求得。其中,符号[x]表示取小于等于x的最大整数。求出的平均值cij与连续31行的中间一行的数据相对应,即对应于连续行数据bi-15,j~bi+15,j中的bij。
列平均值求取模块500的工作流程图可以参考图6。如图6所示,在本实施例中,列平均值求取模块500包括32个寄存器(如图6中编号1-32所示)。输入数据的位宽是17bit,寄存器1~16的位宽是18bit,寄存器17~24的位宽是19bit,寄存器25~28的位宽是20bit,寄存器29~30的位宽是21bit,寄存器31的位宽是22bit,寄存器32的位宽是17bit。输入数据1~31分别表示连续1~31行对应列的值,输入数据1~30由片上RAM读取,输入数据31是行平均值。每个clk内,输入各寄存器如图示进行相加,结果存入相应的寄存器中,输入数据31的第17位用16位的数填补再存入寄存器16,寄存器31中的值相当于31个输入数据的和,其截断后的17bit与12bit的两数相加存入32寄存器,即为列平均值结果。
需注意的是,列平均值求取模块500采用的加法是补码的加法。即两个16bit的数相加得到17bit的数,假设数字从低位到高位是1到17,首先把两个16bit加数的第17位用16位的数填补,然后将填补为17bit的两个数相加得到最后的结果,第18位的进位直接舍去。若17bit数与12bit数相加结果取17bit,则把12bit数的13至17位均用12位的值填补,再与另一个17bit数相加得到最后的结果,第18位的进位直接舍去。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (10)

1.一种多分辨率视频原地滤波方法,其特征在于,包括以下步骤:
S01:输入视频同步信号x0及视频数据,所述输入视频同步信号x0包括使能信号DEN、行同步信号HSYNC和帧同步信号VSYNC;
S02:从所述输入视频同步信号x0中提取视频格式信息以对所述输入视频同步信号x0进行延迟处理,并输出与输出视频数据相匹配的延迟视频同步信号xt,其中,所述视频格式信息包括:视频数据行长和有效数据行长,提取所述视频数据行长和所述有效数据行长的方法包括:在所述使能信号DEN有效时累加,并在所述使能信号DEN无效时更新所述有效数据行长并将计数器归零,提取所述有效数据行长;对所述使能信号DEN的两个上升沿时间间隔进行计数,若所述两个上升沿间所述帧同步信号VSYNC没有跳变,则在所述使能信号DEN上升沿处更新所述视频数据行长并将所述计数器归零,否则只将所述计数器归零,提取所述视频数据行长;
S03:对所述视频数据中的某一个数据以及与其相邻的前n个和后n个数据求取行平均值,其中,n由滤波方式确定,所述输入视频数据中第i行第j列的输入数据aij的行平均值的求取公式包括:
b ij = [ 1 / ( 2 n + 2 ) * ( Σ p = 0 p = n a i , j - p + Σ p = 0 p = n a i , j + p ) ]
其中,aij为正的或负的整数,符号[x]表示取小于等于x的最大整数;
S04:根据所述输入视频同步信号x0判断,所述视频数据是否属于对应行的前n列或后n列,
是,将所述视频数据写入对应的RAM,
否,将所述行平均值数据写入对应的所述RAM;
S05:对从2n个所述RAM中读取的所述视频数据中前2n行对应列的数据和所述行平均值数据求取列平均值,所述第i行第j列的行平均值bij的列平均值的求取公式包括:
c ij = [ 1 / ( 2 n + 2 ) * Σ p = - n p = n b i - p , j ] + [ 1 / ( 2 n + 2 ) 2 * Σ p = - n p = n b i - p , j ]
其中,符号[x]表示取小于等于x的最大整数;
S06:根据所述延迟视频同步信号xt判断,所述列平均值是否属于对应列的前n行或后n行,
是,从2n个所述RAM中挑选所述视频数据中对应行对应列的数据作为所述输出视频数据输出,
否,将所述列平均值数据作为所述输出视频数据输出。
2.如权利要求1所述的多分辨率视频原地滤波方法,其特征在于,步骤S02进一步包括:
从所述输入视频同步信号x0中提取包括视频数据行长和有效数据行长的视频格式信息;
对所述输入视频同步信号x0中的行同步信号延迟m周期;
基于所述视频格式信息,对所述输入视频同步信号x0中的帧同步信号重复n次延迟1行的操作,在此基础上再延迟m周期;
基于所述视频格式信息,对所述输入视频同步信号x0中的使能信号重复n次延迟1行的操作,在此基础上再延迟m周期,其中m由算法流程确定。
3.如权利要求2所述的多分辨率视频原地滤波方法,其特征在于,在31*31滤波方式中,m=27。
4.如权利要求1所述的多分辨率视频原地滤波方法,其特征在于,2n个所述RAM的读写操作信号由一个2n位的变量进行循环移位求得,2n个所述RAM的读写地址由两个具有差值的变量在行内累加求得。
5.如权利要求1所述的多分辨率视频原地滤波方法,其特征在于:
步骤S04通过视频同步信号x1,求取所述前n列或后n列数据,
步骤S06中通过计数寻找所述前n行数据,通过视频同步信号x2求取所述后n行数据,
其中,x0<x1<x2<xt,且x1接近x0,x2接近xt
6.一种多分辨率视频原地滤波装置,其特征在于,包括:
延迟模块,用于从输入视频同步信号x0中提取视频格式信息,所述输入视频同步信号x0包括使能信号DEN、行同步信号HSYNC和帧同步信号VSYNC,对所述输入视频同步信号x0进行延迟处理,以输出与输出视频数据相匹配的延迟视频同步信号xt,所述视频格式信息包括:视频数据行长和有效数据行长,提取所述视频数据行长和所述有效数据行长的方法包括:在所述使能信号DEN有效时累加,并在所述使能信号DEN无效时更新所述有效数据行长并将计数器归零,提取所述有效数据行长;对所述使能信号DEN的两个上升沿时间间隔进行计数,若所述两个上升沿间所述帧同步信号VSYNC没有跳变,则在所述使能信号DEN上升沿处更新所述视频数据行长并将所述计数器归零,否则只将所述计数器归零,提取所述视频数据行长;
行平均值求取模块,用于对输入的视频数据中的某一个数据以及与其相邻的前n个和后n个数据求取行平均值,其中,n由滤波方式确定,所述行平均值求取模块求取所述输入视频数据中第i行第j列的输入数据aij的行平均值的公式包括:
b ij = [ 1 / ( 2 n + 2 ) * ( &Sigma; p = 0 p = n a i , j - p + &Sigma; p = 0 p = n a i , j + p ) ]
其中,aij为正的或负的整数,符号[x]表示取小于等于x的最大整数;
片上RAM操作模块,与所述延迟模块、所述行平均值求取模块的输出端、列平均值求取模块的输出端以及2n个片上RAM分别相连,用于根据所述输入视频同步信号x0判断:所述视频数据是否属于对应行的前n列或后n列,所求列平均值是否属于对应列的前n行或后n行,以及根据判断结果控制2n个所述片上RAM的读写操作信号和读写地址并输出滤波结果;
所述2n个片上RAM,与所述片上RAM操作模块以及列平均值求取模块的输入端连接,每个所述片上RAM存储一行所述行平均值;
列平均值求取模块,与所述行平均值求取模块的输出端、所述2n个片上RAM以及所述片上RAM操作模块分别相连,用于对从所述2n个片上RAM中读取的所述视频数据中前2n行对应列的数据和所述行平均值数据求取列平均值,所述列平均值求取模块求取所述第i行第j列的行平均值bij的列平均值的公式包括:
c ij = [ 1 / ( 2 n + 2 ) * &Sigma; p = - n p = n b i - p , j ] + [ 1 / ( 2 n + 2 ) 2 * &Sigma; p = - n p = n b i - p , j ]
其中,符号[x]表示取小于等于x的最大整数。
7.如权利要求6所述的多分辨率视频原地滤波装置,其特征在于,所述延迟模块:
从所述输入视频同步信号x0中提取包括视频数据行长和有效数据行长的视频格式信息;
对所述输入视频同步信号x0中的行同步信号延迟m周期;
基于所述视频格式信息,对所述输入视频同步信号x0中的帧同步信号重复n次延迟1行的操作,在此基础上再延迟m周期;
基于所述视频格式信息,对所述输入视频同步信号x0中的使能信号重复n次延迟1行的操作,在此基础上再延迟m周期,其中m由算法流程确定。
8.如权利要求7所述的多分辨率视频原地滤波装置,其特征在于,在31*31滤波方式中,m=27。
9.如权利要求6所述的多分辨率视频原地滤波装置,其特征在于,所述片上RAM操作模块通过一个2n位的变量进行循环移位以求得2n个所述片上RAM的读写操作信号,通过两个具有差值的变量在行内累加以求得2n个所述片上RAM的读写地址。
10.如权利要求6所述的多分辨率视频原地滤波装置,其特征在于,所述片上RAM操作模块:
通过视频同步信号x1,求取所述前n列或后n列数据,
通过计数寻找所述前n行数据,通过视频同步信号x2求取所述后n行数据,
其中,x0<x1<x2<xt,且x1接近x0,x2接近xt
CN201210071651.0A 2012-03-16 2012-03-16 一种多分辨率视频原地滤波方法及其装置 Active CN102611907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210071651.0A CN102611907B (zh) 2012-03-16 2012-03-16 一种多分辨率视频原地滤波方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210071651.0A CN102611907B (zh) 2012-03-16 2012-03-16 一种多分辨率视频原地滤波方法及其装置

Publications (2)

Publication Number Publication Date
CN102611907A CN102611907A (zh) 2012-07-25
CN102611907B true CN102611907B (zh) 2014-04-09

Family

ID=46529024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210071651.0A Active CN102611907B (zh) 2012-03-16 2012-03-16 一种多分辨率视频原地滤波方法及其装置

Country Status (1)

Country Link
CN (1) CN102611907B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058101A (en) * 1997-06-11 2000-05-02 Industrial Technology Research Institute Synchronization method and system for a digital receiver
JP4624211B2 (ja) * 2005-08-16 2011-02-02 Necエンジニアリング株式会社 映像信号用フィルタ回路
JP4360379B2 (ja) * 2006-05-16 2009-11-11 ソニー株式会社 画像処理装置及び画像処理方法、プログラム及び記録媒体

Also Published As

Publication number Publication date
CN102611907A (zh) 2012-07-25

Similar Documents

Publication Publication Date Title
Rupnow et al. High level synthesis of stereo matching: Productivity, performance, and software constraints
CN110673794B (zh) 分布式数据的均衡处理方法、装置、计算终端和存储介质
CN102819820B (zh) 基于分块渲染的gpu中多管线渲染的实现方法
CN103760525B (zh) 一种补齐式原地矩阵转置方法
CN116894413B (zh) 一种基于硬件的逻辑映射方法、装置、设备及存储介质
CN102739195B (zh) 一种fir滤波器的处理方法、装置和系统
CN101261740A (zh) 一种图像的存储处理方法
CN101694649A (zh) 集群监控的报表生成系统及方法
CN112686379B (zh) 集成电路装置、电子设备、板卡和计算方法
CN106201778B (zh) 信息处理方法及存储设备
CN109902056A (zh) 一种串行传输的方法、装置、设备及计算机可读存储介质
CN106101712A (zh) 一种视频流数据的处理方法及装置
CN104407384A (zh) 地震剖面显示的方法
CN105488753A (zh) 一种对图像进行二维傅立叶变换或反变换的方法及装置
CN107861888A (zh) Fpga卡用ddr的方法、系统、装置及可读存储介质
CN102611907B (zh) 一种多分辨率视频原地滤波方法及其装置
CN105069747A (zh) 图像插值方法及装置
CN115758989B (zh) 用于修复数字芯片版图设计规则时序违例的方法及系统
Sane et al. Scalable in situ computation of Lagrangian representations via local flow maps
CN101562691A (zh) 图像处理装置及方法
CN103969484B (zh) 高刷新率波形合成器和高刷新率示波器
CN103533327B (zh) 一种基于硬件实现的dibr系统
CN115049782A (zh) 重建稠密三维模型的方法、装置及可读存储介质
CN105702233B (zh) 一种图像数据取窗方法及装置
CN209590838U (zh) 一种SoC系统

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