一种基于fpga的帧结构处理方法

文档序号:7702746阅读:306来源:国知局
专利名称:一种基于fpga的帧结构处理方法
技术领域
本发明属于通信领域,涉及一种采用FPGA对H.221帧结构数据进行处理 的方法。
背景技术
H,221协议是ITU國T (国际电信联盟,international telecommunication union)制定的关于视频电视会议系统H.200系列协议中的一个,它规定了声像 电信业务中64- 1920kb/s信道的帧结构。H.221视频会汉的信号传输方式是数 字信道时分复用方式,它的所有多々某体信息(包括4见频、音频、数据、控制信 号)必须按照特定的帧结构在收、发两终端之间同步进行传送。这个帧结构不 但包括单路B (64kb/s)或多路B (2 ~ 6B )、单路H。 ( 384kb/s)或多路H。 ( 2 ~ 5H0)、 H" (1536kb/s)种12 ( 1920kb/s)等,而且还能使多个B、 H。信道保 持同步复接。
单路B信道(或称为时隙TS)以8kHz的速率每次传送一个8比特组。每 一帧由80个8比特组所组成。8比特组中的每个比特由上至下构成了 一个8kb/s 的子信道。其中前7个子信道可传输音频、—见频或数据,第8个子信道称为公 务信道(SC),主要运载端到端的信令,如帧定位信号(FAS)、比特率分配信 号(BAS)及加密控制信号(ECS)等,第25~80比特组的SC可用于传送 数据或部分音频、视频信号。
单路Ho, Hn, H^信道由多个64kb/s的时隙(TS)所组成。最低时隙TS1 的结构与单路B信道相同,其余的TS则没有帧结构。
对于多路B或多路Ho信道来说,每个信道均有一个帧结构,其中初始信道 中的帧结构在整个传输过程中起主要的信令控制功能,其它信道中的帧结构则 主要用于同步、信道编号等相关控制。在H.221协议中除了单帧外,还存在复帧和子复帧,其中16个单帧组成 复帧,每一复帧又分成8个子复帧。对于传输的数据帧,可以按传输的顺序分 为奇帧和偶帧。在H.221协议中数据帧处理最小单位是一组子复帧。在B信道 上传输的是比特流,为了获取正确的数据,必须确定帧的起始位置,同时数据 帧也可能丢失,FAS就是为了帧的起始和判断帧丟失而设置的,而BAS用于 不同终端之间的通信控制,如能力和模式的传输。
基于H.221协议2路Ho (768kb/s)信道的单幅图像与双幅图像帧结构分别 如图1和图2所示,其中A/a表示填充的话音数据,V表示图像编码后的数据,FAS 为帧定位控制信号("1BH"时为偶帧,"4Fh,,时为奇帧),BAS为比特率分配 控制信号("OOH"时为传送单幅图像,"FFH"时为传送双幅图像)。
H.221帧结构能发挥现有建议所规定图像和话音编码算法的优点,利于在 现有的信道上进行远程传输。但是H.221帧结构处理起来比较复杂, 一般都是 采用纯软件实现。例如《计算机工程与应用》2002年第06期论文《ISDN可视 电话中H.221协议的设计与实现》提出了对H.221子复帧进行同步控制、緩冲管 理等方面的策略及实现方案。但其在具体实现过程中,由于采用软件实现,而 且Windows操作系统并非实时操作系统,因此要想获得严格的实时性将会非常 困难。考虑到音频数据与视频数据的不同特点,即音频数据必须严格保证连续 性和实时性,否则效果会使用户难以接受,而视频数据的要求相对宽松一些。 因此可以选择音频信号作为基准。具体来说,H.221模块在每次复用过程中, 必须确认Audio编码緩冲区有足够的数据用于复用,否则处于等待状态;而对于 视频数据则采用尽力传送的原则,即如果视频编码模块未能及时产生视频数据 流,贝'jH.221模块并不等待,而釆用填充数据进行填充。当然H.221模块本身的 复用/解复用速度应足够快,否则就会造成瓶颈效应,影响整个系统的效率。
专利申请号为CN00127685.9,名称为《帧定位查找及码流转换电路和方 法》的中国专利提出了一种多路H.221帧定位和复帧定位的搜索方法,但是该 发明的重点在于码流转换,并未涉及对H.221帧结构数据进行处理的内容。

发明内容
本发明的技术解决问题是克服现有技术的不足,提供了一种采用FPGA 实现、实时性好的帧结构处理方法。
本发明的技术解决方案是 一种基于FPGA的帧结构处理方法,步骤如下 (1 )接收H.221帧结构数据,包括单幅图像帧结构数据和双幅图像帧结 构数据;
(2)对接收到的H.221帧结构数据采用状态积4几制进行解码,分为奇帧 定位搜索态、单幅奇帧处理态、双幅奇帧处理态、单幅偶帧处理态和双幅偶帧 处理态五个状态;
a. 对接收到的比特流,首先进入奇帧定位搜索态,判断FAS= "4FH"是 否成立,若不成立则无操作,若成立则继续判断BAS的值;若BAS二 "00H", 则在下一个时钟周期进入单幅奇帧处理态,若BAS- "FFh",则在下一个时钟 周期进入双幅奇帧处理态,其它值时无操作;其中"4FH"代表奇帧,"00H" 代表传送单幅图像,"FFh"代表传送双幅图像;
b. 单幅奇帧处理态时,根据单幅图像的H.221帧结构分离图像与话音数 据,在处理完一整帧数据后,判断FAS= "1BH"及BAS- "00H"是否同时成 立,若成立则在下一个时钟周期进入单幅偶帧处理态,同时设置单向握手信号 有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位搜索态,单 向握手信号无效,其中"1BH"代表偶帧;
c. 双幅奇帧处理态时,根据双幅图像的H.221帧结构分离图像与话音数 据,在处理完一整帧数据后,判断FAS: "1BH"及BAS- "FFH"是否同时成 立,若成立则在下一个时钟周期进入双幅偶帧处理态,同时设置单向握手信号 有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位搜索态,单 向握手信号无效;
d. 单幅偶帧处理态时,根据单幅图像的H.221帧结构分离图像与话音数 据,在处理完一整帧数据后,判断FAS= "4FH"及BAS= "00H,,是否同时成立,若成立则在下一个时钟周期进入单幅奇帧处理态,同时设置单向握手信号 有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位^捷索态,单
向握手信号无效;
e. 双幅偶帧处理态时,根据双幅图像的H.221帧结构分离图像与话音数 据,在处理完一整帧数据后,判断FAS= "4FH"及BAS- "FFH"是否同时成 立,若成立则在下一个时钟周期ii7v双幅奇帧处理态,同时设置单向握手信号 有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位搜索态,单 向握手信号无效;
(3)当且仅当单向握手信号有效时,更新一次图像数据緩存区,开始图像 帧重组操作;
f. 图像数据緩存区分为高位移位操作区与低位更新数据区,默认处于等待 状态,在每个时钟周期上升沿检测单向握手信号是否有效,若有效则更新一次 低位更新数据区,并在下一个时钟周期进入下一步,期间不再检测单向握手信 号,不对低位更新数据区进行更新操作;否则无操作,继续等待;
g. 开始图像帧重组操作,对整个图像数据緩存区以字节为单位进行左向移 位,搜索帧同步字,当低位更新数据区的数据全部左向移位到高位移位操作区 时,仍未找到同步字则结束本次组帧4喿作,并在下一个时钟周期返回上一步, 等待低位更新数据区的再次更新,否则进入下一步;
h. 数据使能信号有效,对高位移位操作区进行左向比特移位,开始以SPI 方式串行输出图像数据,当输出一整帧图像帧数据后,数据使能信号无效,停 止图像数据输出,并在下一个时钟周期进入下一步;
i. 将高位移位操作区的剩余数据以字节为单位右向移位到高位移位操作区 的最低位,移位结束后在下一个时钟周期返回步骤f ;
在上述步骤中,应保证步骤f~i的工作时钟频率大于步骤a~e的工作时钟 频率。
本发明与现有4支术相比的优点在于(1 )本发明对H.221帧结构的处理方法全部采用FPGA实现,实时性好; (2)本发明方法通过引入状态机机制,能够同时满足不同H.221帧结构 数据(无论是单幅图像数据或者是双幅图像数据)的解码要求;
(3 )本发明方法将图像数据緩存区分为高位移位操作区与低位更新数据 区,利用不定长移位操作代替硬件难以实现的不定长緩存区拼接时序,H.221 帧结构中图像数据总长度可以不是图像数据帧长度的整数倍,更具有一般性。 而且可以推广到其它基于FPGA实现的数据处理应用中。


图1为单幅图像H.221帧结构图; 图2为双幅图像H.221帧结构图; 图3为本发明方法的流程框图; 图4为采用本发明方法进^t帧解码时的状态转移图; 图5为采用本发明方法进行图像帧重组操作后的图像数据帧格式。
具体实施例方式
如图3所示,为本发明方法的流程框图,本发明可以分为H.221帧解码和 图像帧重组两个操作过程,硬件上电后,并行工作。
本发明中,对于H.221帧解码的4喿作采用状态初4凡制进行,分为奇帧定位 搜索态、单幅奇帧处理态、双幅奇帧处理态、单幅偶帧处理态和双幅偶帧处理 态五个状态,各状态之间的转换操作过程如图4所示。图中FAS为帧定位控制 信号,"1BH,,时为偶帧,"4FH"时为奇帧,BAS为比特率分配控制信号,"00H" 时为传送单幅图像,"FFH"时为传送双幅图像。
当单幅奇帧处理态,或者双幅奇帧处理态,或者单幅偶帧处理态,或者双 幅偶帧处理态的条件满足时,单向握手信号有效,单向握手信号有效时间为一 个时钟周期,用于对对应状态的图像数据进行帧重组操作。
帧重组操作时,将图像数据緩存区分为高位移位操作区与低位更新数据区, 高位移位操作区用于移位操作,低位更新数据区用于緩存数据。默认处于等待状态,在每个时钟周期上升沿检测单向握手信号是否有效,若有效则更新一次 低位更新数据区。更新完毕后,将图像数据緩存区以字节为单位进行左向移位, 在此过程中需要找寻同步字,若找到同步字后,则数据使能信号有效,对图像
数据緩存区进行左向比特移位,开始以SPI方式串行输出图像数据,当输出一
整帧图像帧数据后,数据使能信号无效,停止图像数据输出。最后,将图像数 据緩存区的剩余数据以字节为单位右向移位(由高位到低位)到高位移位操作 区的最低位,以保证与下一次更新的新数据可以无缝拼接,移位结束后在下一 个时钟周期重复进行下一帧数据的重組操作。
需要注意的是,帧重组擁:作时的时钟工作频率应大于帧解码时的时钟工作 频率,以保证不会漏检单向握手信号。 实施例
选用ALTERA公司的Cyclone II系列的EP2C70F672旧芯片来实现。 H.221帧解码的工作时钟为768kHz,首先进入奇帧定位搜索态,接收 768kb/s的H.221帧结构数据并缓存,緩存区的大小选择为1536比特,对应 于H.221帧结构的16行数据16X96,这样就可以在每个时钟下降沿时检测 緩存区相应位置上FAS和BAS的值是否满足状态转移条件。
以单幅图像为例,当FAS= "4FH,,及BAS- "00H"时在下一个时钟周期 进入单幅奇帧处理态,开始根据单幅图像的H.221帧结构分离图像与话音数据。 为了节省硬件资源,每次只处理H.221帧结构的16行数据,这样就可以在整 个解码过程中重复利用奇帧定位搜索态时的緩存区,而且在所有的处理态緩存 分离的图像数据只占用整个緩存区的低1472比特,这也是单幅图像H.221帧 结构与双幅图像H.221帧结构16行数据中图像数据的最大值。每处理完16行 数据,单向握手信号有效一次,有效时间为一个时钟周期。当经历5个循环处 理完一整帧数据(80行)后,判断FAS= "1BH"及BAS= "00H"是否同时 成立,若成立则在下一个时钟周期进入单幅偶帧处理态,同时设置单向握手信 号有效,有效时间为一个时钟周期,否则返回奇帧定位搜索态,单向握手信号无效。单幅偶帧处理态时的处理过程与单幅奇帧处理态时基本类似,所不同在
于当处理完一整帧数据后,判断FAS- "4FH"及BAS: "00H"是否同时成立, 若成立则在下一个时钟周期进入单幅奇帧处理态,同时设置单向握手信号有效, 有效时间为一个时钟周期,否则返回奇帧定位搜索态,单向握手信号无效。如 此条件转移,子复帧相互校验,循环往复。双幅图像帧结构的处理过程同理。
图像帧重组操作的工作时钟为10MHz,设置内部緩存区深度为3512比特, 图像帧重组操作所涉及到的最大緩存区长度,其中低1472比特为更新数据区, 与解码相对应,高2040比特为不包括同步字的图像帧长度
1. 默认处于等待状态,每个时钟周期上升沿,都会检测单向握手信号是否 有效,若有效用H.221帧解码緩存区的低1472比特数据覆盖掉图像数据緩存 区的低位更新数据区数据,并在下一个时钟周期进入下一步,开始图像帧重组 操作,这期间不再4全测单向握手信号,不对图像数据緩存区进行更新操作,否 则无操作,继续等待;
2. 对整个图像数据緩存区以字节为单位进行左向移位,同时搜索帧同步字 B8H,当移位计数N^84时,也即低位更新数据区的新数据全部移位到高位移 位操作区时,仍未找到同步字,则结束本次组帧操作,并在下一个时钟周期返 回上一步,等待图像数据緩存区的再次更新,否则进入下一步;
3. 数据使能信号有效,对图像数据緩存区进行比特左向移位,开始以SPI 方式串行输出图像数据,如图5所示,当输出计数到255字节时,也即输出完 不包括同步字的一整帧图像帧数据后,数据使能信号无效,停止图像数据输出, 在下一个时钟周期进入下一步;
4. 对图像数据緩存区的剩余数据进行以字节为单位右向移位,直到高位移 位操作区的最低位,移位次数计算公式如下
第2~3步的字节移位次数总和减去低位更新数据区的字节长度,也即 (N+255) -184:N+71次,移位结束后,在下一个时钟周期返回第1步。 本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
权利要求
1、一种基于FPGA的帧结构处理方法,其特征在于步骤如下(1)接收H.221帧结构数据,包括单幅图像帧结构数据和双幅图像帧结构数据;(2)对接收到的H.221帧结构数据采用状态机机制进行解码,分为奇帧定位搜索态、单幅奇帧处理态、双幅奇帧处理态、单幅偶帧处理态和双幅偶帧处理态五个状态;a.对接收到的比特流,首先进入奇帧定位搜索态,判断FAS=“4FH”是否成立,若不成立则无操作,若成立则继续判断BAS的值;若BAS=“00H”,则在下一个时钟周期进入单幅奇帧处理态,若BAS=“FFH”,则在下一个时钟周期进入双幅奇帧处理态,其它值时无操作;其中“4FH”代表奇帧,“00H”代表传送单幅图像,“FFH”代表传送双幅图像;b.单幅奇帧处理态时,根据单幅图像的H.221帧结构分离图像与话音数据,在处理完一整帧数据后,判断FAS=“1BH”及BAS=“00H”是否同时成立,若成立则在下一个时钟周期进入单幅偶帧处理态,同时设置单向握手信号有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位搜索态,单向握手信号无效,其中“1BH”代表偶帧;c.双幅奇帧处理态时,根据双幅图像的H.221帧结构分离图像与话音数据,在处理完一整帧数据后,判断FAS=“1BH”及BAS=“FFH”是否同时成立,若成立则在下一个时钟周期进入双幅偶帧处理态,同时设置单向握手信号有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位搜索态,单向握手信号无效;d.单幅偶帧处理态时,根据单幅图像的H.221帧结构分离图像与话音数据,在处理完一整帧数据后,判断FAS=“4FH”及BAS=“00H”是否同时成立,若成立则在下一个时钟周期进入单幅奇帧处理态,同时设置单向握手信号有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位搜索态,单向握手信号无效;e.双幅偶帧处理态时,根据双幅图像的H.221帧结构分离图像与话音数据,在处理完一整帧数据后,判断FAS=“4FH”及BAS=“FFH”是否同时成立,若成立则在下一个时钟周期进入双幅奇帧处理态,同时设置单向握手信号有效,单向握手信号有效时间为一个时钟周期,否则返回奇帧定位搜索态,单向握手信号无效;(3)当且仅当单向握手信号有效时,更新一次图像数据缓存区,开始图像帧重组操作;f.图像数据缓存区分为高位移位操作区与低位更新数据区,默认处于等待状态,在每个时钟周期上升沿检测单向握手信号是否有效,若有效则更新一次低位更新数据区,并在下一个时钟周期进入下一步,期间不再检测单向握手信号,不对低位更新数据区进行更新操作;否则无操作,继续等待;g.开始图像帧重组操作,对整个图像数据缓存区以字节为单位进行左向移位,搜索帧同步字,当低位更新数据区的数据全部左向移位到高位移位操作区时,仍未找到同步字则结束本次组帧操作,并在下一个时钟周期返回上一步,等待低位更新数据区的再次更新,否则进入下一步;h.数据使能信号有效,对高位移位操作区进行左向比特移位,开始以SPI方式串行输出图像数据,当输出一整帧图像帧数据后,数据使能信号无效,停止图像数据输出,并在下一个时钟周期进入下一步;i.将高位移位操作区的剩余数据以字节为单位右向移位到高位移位操作区的最低位,移位结束后在下一个时钟周期返回步骤f;在上述步骤中,应保证步骤f~i的工作时钟频率大于步骤a~e的工作时钟频率。
全文摘要
一种基于FPGA的帧结构处理方法,引入状态机机制能够同时满足采用不同H.221帧结构的单幅和双幅图像的解码要求。设置单向握手信号,利用快慢时钟的特点实现了跨时钟域的数据交换。通过不定长移位操作代替硬件难以实现的不定长缓存区拼接时序,H.221帧结构中图像数据总长度可以不是图像数据帧长度的整数倍,更具有一般性。该方法全部采用FPGA实现,集成度高,实时性好,可推广应用。
文档编号H04N7/26GK101640796SQ20091009238
公开日2010年2月3日 申请日期2009年9月11日 优先权日2009年9月11日
发明者辉 国, 张宝薇, 易春宏, 婷 王, 猛 王, 王宏涛 申请人:航天恒星科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1