一种面向视频标准应用的编解码器的制作方法

文档序号:7655456阅读:269来源:国知局
专利名称:一种面向视频标准应用的编解码器的制作方法
技术领域
本发明属于视频通信领域,特别涉及一种面向视频标准应用的编解码器。具体说是基于可配置数字信号处理器核的可以在码率比较低的情况下得到比较高的图象质量。应用于视频手机等低码率视频通信,符合低码率视频编码标准。
背景技术
H.263是一种低码率视频编码标准;Gingko专用处理器结构是清华大学开发的可配置的处理器结构,图1为该可配置处理器结构的框图。如图所示,为了提高处理器的性能,该处理器结构的核心部分是一个基于超长指令字结构的可配置处理器核,处理器设计人员通过分析目标应用的特点,可以有针对性地对可配置处理器核进行配置,从而得到满足应用需求的处理器核。由于在多媒体信号处理算法中存在部分不适合采用数字信号处理器完成的功能模块(如可变长编码、可变长解码等),该处理器结构中还设计了用户自定义的专用功能单元接口,处理器设计人员可以自行设计实现这些功能的专用模块,通过该结构中的专用模块接口集成到目标处理器中。
可配置数字信号处理器核是整个结构的核心部分。为了满足多媒体信号处理应用的大运算量的需求,该处理器核采用了超长指令字(VLIW)结构。整个处理器核主要由指令存储器、数据存储器、指令读取单元、指令分发单元、指令执行单元(可配置功能单元)、通用寄存器堆、中断控制逻辑、控制寄存器以及外部设备访问端口(用户定制功能单元)等部分组成。为了能够灵活地设计出针对各种应用的目标处理器,该结构中的各个部分都采取了可配置的设计,处理器设计人员可以根据目标应用的特点合理地选择目标处理器的各个部分的实现方式。
用户定制功能单元由用户根据目标应用的特点专门设计,主要用于实现目标应用中不适合采用数字信号处理器完成的功能。数字信号处理器核通过控制寄存器对用户定制功能单元进行控制,并通过数据存储器完成与用户定制功能单元之间的数据交换。
处理器核采用控制寄存器和状态寄存器实现对用户自定义功能单元的控制。每个专用功能单元都有一些接收处理器核控制指令的控制寄存器,控制寄存器的个数由设计人员根据自定义功能单元的要求确定。处理器核通过改写相应控制寄存器中的内容对自定义功能单元进行控制。用户自定义功能单元的状态返回有两种模式,一种是通过状态寄存器的方式,每个用户自定义单元可以申请一个状态寄存器,该寄存器只能由其对应的用户自定义单元改写,对于处理器核来说,该状态寄存器为只读寄存器,处理器核可以通过读取状态寄存器中的内容来确定用户自定义单元的状态。另一种状态返回方式是用户自定义单元采用处理器核的外部中断来触发处理器核。采用这种方式时,用户自定义模块每次完成处理器核分发的任务以后就触发一次外部中断,告知处理器核分发下一个任务。

发明内容
本发明的目的提供是一种面向视频标准应用的编解码器。通过合理配置Gingko处理器结构,并设计一些面向H.263的专用硬件单元,实现一个高性能的H.263码流编解码处理器。其特征在于,该编解码器是一个可配置超长指令THUMchip数字信号处理器核,包括指令存储器(程序存储器)、指令读取单元、指令分发单元、可配置功能单元(指令执行单元)、全局寄存器堆、中断控制模块、控制状态寄存器、数据存储器以及用户定制功能单元(外部设备访问端口)。
所述可配置功能单元为THUMchip核心处理单元,THUMchip数据通路配置了八个数据通路,按照Gingko结构的分簇管理方案,八个功能单元分成A、B、C、D四个簇,每个簇包含两个功能单元及对应的本地寄存器堆,八个功能单元均选自Gingko结构提供的可配置功能单元。
所述数据存储器,在THUMchip中采用了专用存储器模式,在视频编解码过程中,主要需要存储的数据有以下几个部分视频的原始数据和重构数据、经过离散余弦变换或量化以后的数据、图像的运动矢量数据等。并根据H.263标准的特点,为视频编解码过程中的不同阶段设计了专用的数据存储单元,包括主存储器用于存放视频图像的原始数据和重构数据,在H.263编码算法中,编码对象为一个宏块,对当前宏块的编码需要以前一帧数据作为参考。在THUMchip中采用主存储器保存需要编码的视频图像的原始数据和前一帧图像的重构数据。
中间结果存储器主要用于存放当前正在处理的宏块的中间结果,宏块编解码过程中需要经过离散余弦变换、量化、反量化、反离散余弦变换等运算。在这些运算过程中,运算的中间结果都将保存于中间结果存储器中,为了保持数据处理的精度,中间结果采用16比特数据保存。
运动矢量存储器用于保存每一个宏块的运动矢量(motion vection,MV),运动矢量包含四个部分x向量整数部分、y向量整数部分、x向量小数部分和y向量小数部分;在THUMchip中开辟了专用的存储空间存储每个宏块的运动向量。
所述中间结果存储器的大小与一个宏块的数据量相等。每个宏块由四个亮度(Y)信号和两个色度(U和V)信号构成。
所述每部分向量采用8比特空间存放,每个宏块需要一个32比特的空间存放其运动向量,在H.263标准中,需要存放一个块组中所有宏块的运动向量。
所述用户定制功能单元包括可变长编码模块、可变长解码模块专用DMA单元;在H.263标准的编码过程中主要包含DCT变换、运动估计与预测、量化、可变长编码等部分,解码过程主要有IDCT变换、运动补偿、反量化以及可变长解码等部分。在THUMchip设计过程中,DCT、IDCT、运动估计与补偿以及量化和反量化等运算均采用处理器核完成;THUMchip中,可变长编码和可变长解码采用专用单元的方式实现,设计了针对H.263标准的专用DMA单元来进行数据的传送。
所述专用DMA单元,THUMchip中采用专用DMA单元进行数据传送。THUMchip工作在编码模式时,DMA的主要作用是将待编码的信号源数据传送到编码器的相应存储器中,并将编码以后的数据传送至片外;THUMchip工作在解码模式时,DMA的主要作用是将已编码的码流传送至解码器的相应存储器中,并将解码以后的数据传送至片外。
所述可变长编码模块的结构包含存储器地址产生模块,有限状态机、编码、复接单元及缓存;在H.263编码标准中,视频数据经过离散余弦变换、运动估计以及量化以后,需要进行可变长编码以减少输出码流的码率;在THUMchip中,处理器核根据存储器地址产生模块产生片内存储器地址以及有限状态机发送的读存储器请求输出数据,编码单元对该数据编码以后送给复接单元,复接单元将有限状态机产生的码流指示信号和编码后的数据按照标准复接产生符合H.263标准的码流。
所述可变长解码模块包含存储器地址产生模块,有限状态机、解码、分接单元及缓存;用于THUMchip的解码过程,可变长解码的工作过程可以看作可变长编码的逆过程,它将待解码的数据分接、解码以后送给处理器核,处理器核再进行反量化、运动补偿、反离散余弦变换等操作以后,就可以得到解码以后的码流。
本发明的有益效果是本发明是符合H.263低码率视频编码标准的基于可配置数字信号处理器核的编解码器;可以在码率比较低的情况下得到比较高的图象质量。应用于视频手机等低码率视频通信,符合低码率视频编码标准。


图1为Gingko处理器整体结构示意图。
图2为THUMchip处理器结构示意图。
图3为中间结果存储器格式。
图4为可变长编码模块结构。
图5为可变长解码模块结构。
具体实施例方式
本发明提供一种面向视频标准应用的编解码器。通过图1所示可配置Gingko处理器结构,并设计一些面向H.263的专用硬件单元,实现一个高性能的H.263码流编解码处理器。该编解码器是一个可配置超长指令THUMchip数字信号处理器核(如图2所示),包括指令存储器(程序存储器)、指令读取单元、指令分发单元、可配置功能单元(指令执行单元)、全局寄存器堆、中断控制模块、控制状态寄存器、数据存储器以及用户定制功能单元(外部设备访问端口)。
所述可配置功能单元为THUMchip核心处理单元,THUMchip数据通路配置了八个数据通路,按照Gingko结构的分簇管理方案,八个功能单元分成A、B、C、D四个簇,每个簇包含两个功能单元及对应的本地寄存器堆,八个功能单元均选自Gingko结构提供的可配置功能单元。
所述数据存储器,在THUMchip中采用了专用存储器模式,在视频编解码过程中,主要需要存储的数据有以下几个部分视频的原始数据和重构数据、经过离散余弦变换或量化以后的数据、图像的运动矢量数据等。并根据H.263标准的特点,为视频编解码过程中的不同阶段设计了专用的数据存储单元,包括主存储器用于存放视频图像的原始数据和重构数据,在H.263编码算法中,编码对象为一个宏块,对当前宏块的编码需要以前一帧数据作为参考。在THUMchip中采用主存储器保存需要编码的视频图像的原始数据和前一帧图像的重构数据。
中间结果存储器主要用于存放当前正在处理的宏块的中间结果,宏块编解码过程中需要经过离散余弦变换、量化、反量化、反离散余弦变换等运算。在这些运算过程中,运算的中间结果都将保存于中间结果存储器中,为了保持数据处理的精度,中间结果采用16比特数据保存。
运动矢量存储器用于保存每一个宏块的运动矢量(motion vection,MV),运动矢量包含四个部分x向量整数部分、y向量整数部分、x向量小数部分和y向量小数部分;在THUMchip中开辟了专用的存储空间存储每个宏块的运动向量。
所述中间结果存储器的大小与一个宏块的数据量相等。每个宏块由四个亮度(Y)信号和两个色度(U和V)信号构成(如图3所示)。上述每部分向量采用8比特空间存放,每个宏块需要一个32比特的空间存放其运动向量,在H.263标准中,需要存放一个块组中所有宏块的运动向量。在THUMchip中,为了提高数据的吞吐率,当一个宏块的数据正在进行编码时,专用DMA模块将为处理器准备下一个宏块的数据,因此,在THUMchip中设计了两块中间结果存储器DM1和DM2,当处理器处理某一个存储器中数据的时候,专用DMA模块将下一个需要编码的宏块的数据保存到另一个存储器模块中。
所述用户定制功能单元包括可变长编码模块、可变长解码模块专用DMA单元;在H.263标准的编码过程中主要包含DCT变换、运动估计与预测、量化、可变长编码等部分,解码过程主要有IDCT变换、运动补偿、反量化以及可变长解码等部分。在THUMchip设计过程中,DCT、IDCT、运动估计与补偿以及量化和反量化等运算均采用处理器核完成;THUMchip中,可变长编码和可变长解码采用专用单元的方式实现,设计了针对H.263标准的专用DMA单元来进行数据的传送。
所述专用DMA单元,THUMchip中采用专用DMA单元进行数据传送。THUMchip工作在编码模式时,DMA的主要作用是将待编码的信号源数据传送到编码器的相应存储器中,并将编码以后的数据传送至片外;THUMchip工作在解码模式时,DMA的主要作用是将已编码的码流传送至解码器的相应存储器中,并将解码以后的数据传送至片外。专用DMA单元由处理器核通过控制寄存器进行控制,当需要进行数据传送时,处理器核将需要传送的数据的起始地址以及需要传送数据的个数通过控制寄存器发送给专用DMA单元,专用DMA单元接收指令以后开始进行数据传送,并通过状态寄存器将DMA单元的当前状态返回给处理器核。专用DMA模块采用请求应答的方式访问存储器。当专用DMA模块需要从存储器中读取数据时,首先发送存储器的地址和读请求信号,处理器核中的存储器管理单元接收到请求信号时判断存储器的状态,如果存储器处于空闲状态,就将存储器中的数据读取出来送给DMA单元,并给出应答信号。当专用DMA模块需要向存储器中写数据时,首先给出写请求信号,并准备好存储器的地址和需要写入的数据,存储器管理单元将在存储器空闲状态将数据写入相应的存储器地址。
所述可变长编码模块的结构包含存储器地址产生模块,有限状态机、编码、复接单元及缓存;在H.263编码标准中,视频数据经过离散余弦变换、运动估计以及量化以后,需要进行可变长编码以减少输出码流的码率;在THUMchip中,处理器核根据存储器地址产生模块产生片内存储器地址以及有限状态机发送的读存储器请求输出数据,编码单元对该数据编码以后送给复接单元,复接单元将有限状态机产生的码流指示信号和编码后的数据按照标准复接产生符合H.263标准的码流。
所述可变长解码模块包含存储器地址产生模块,有限状态机、解码、分接单元及缓存;用于THUMchip的解码过程,可变长解码的工作过程可以看作可变长编码的逆过程,它将待解码的数据分接、解码以后送给处理器核,处理器核再进行反量化、运动补偿、反离散余弦变换等操作以后,就可以得到解码以后的码流。
另外,在视频编解码过程中,处理器需要从外部读取编码前的数据流,并将解码后的数据流传送至显示模块,这些数据传送任务如果采用处理器核来完成,必将降低处理器核的效率,在THUMchip中设计了针对H.263标准的专用DMA单元来进行数据的传送。
权利要求
1.一种面向视频标准应用的编解码器,通过合理配置Gingko处理器结构,并设计一些面向H.263的专用硬件单元,实现一个高性能的H.263码流编解码处理器;其特征在于,该编解码器是一个可配置超长指令THUMchip数字信号处理器核,包括程序存储器、指令读取单元、指令分发单元、可配置功能单元、全局寄存器堆、中断控制模块、控制状态寄存器、数据存储器以及用户定制功能单元。
2.根据权利要求1所述面向视频标准应用的编解码器,其特征在于,所述可配置功能单元为THUMchip核心处理单元,THUMchip数据通路配置了八个数据通路,按照Gingko结构的分簇管理方案,八个功能单元分成A、B、C、D四个簇,每个簇包含两个功能单元及对应的本地寄存器堆,八个功能单元均选自Gingko结构提供的可配置功能单元。
3.根据权利要求1所述面向视频标准应用的编解码器,其特征在于,所述数据存储器,在THUMchip中采用了专用存储器模式,在视频编解码过程中,主要需要存储的数据有以下几个部分视频的原始数据和重构数据、经过离散余弦变换或量化以后的数据、图像的运动矢量数据等。并根据H.263标准,为视频编解码过程中的不同阶段设计了专用的数据存储单元,包括主存储器用于存放视频图像的原始数据和重构数据,在H.263编码算法中,编码对象为一个宏块,对当前宏块的编码需要以前一帧数据作为参考;在THUMchip中采用主存储器保存需要编码的视频图像的原始数据和前一帧图像的重构数据;中间结果存储器主要用于存放当前正在处理的宏块的中间结果,宏块编解码过程中需要经过离散余弦变换、量化、反量化、反离散余弦变换等运算;在这些运算过程中,运算的中间结果都将保存于中间结果存储器中,为了保持数据处理的精度,中间结果采用16比特数据保存;运动矢量存储器用于保存每一个宏块的运动矢量(motion vection,MV),运动矢量包含四个部分x向量整数部分、y向量整数部分、x向量小数部分和y向量小数部分;在THUMchip中开辟了专用的存储空间存储每个宏块的运动向量。
4.根据权利要求1所述面向视频标准应用的编解码器,其特征在于,所述中间结果存储器的大小与一个宏块的数据量相等,每个宏块由四个亮度信号Y和两个色度信号U、V构成。
5.根据权利要求1所述面向视频标准应用的编解码器,其特征在于,所述每部分向量采用8比特空间存放,每个宏块需要一个32比特的空间存放其运动向量,在H.263标准中,需要存放一个块组中所有宏块的运动向量。
6.根据权利要求1所述面向视频标准应用的编解码器,其特征在于,所述用户定制功能单元包括可变长编码模块、可变长解码模块专用DMA单元;在H.263标准的编码过程中主要包含DCT变换、运动估计与预测、量化、可变长编码等部分,解码过程主要有IDCT变换、运动补偿、反量化以及可变长解码等部分;在THUMchip设计过程中,DCT、IDCT、运动估计与补偿以及量化和反量化等运算均采用处理器核完成;THUMchip中,可变长编码和可变长解码采用专用单元的方式实现,设计了针对H.263标准的专用DMA单元来进行数据的传送。
7根据权利要求6所述面向视频标准应用的编解码器,其特征在于,所述专用DMA单元,THUMchip中采用专用DMA单元进行数据传送;THUMchip工作在编码模式时,DMA的主要作用是将待编码的信号源数据传送到编码器的相应存储器中,并将编码以后的数据传送至片外;THUMchip工作在解码模式时,DMA的主要作用是将已编码的码流传送至解码器的相应存储器中,并将解码以后的数据传送至片外。
8.根据权利要求6所述面向视频标准应用的编解码器,其特征在于,所述可变长编码模块的结构包含存储器地址产生模块,有限状态机、编码、复接单元及缓存;在H.263编码标准中,视频数据经过离散余弦变换、运动估计以及量化以后,需要进行可变长编码以减少输出码流的码率;在THUMchip中,处理器核根据存储器地址产生模块产生片内存储器地址以及有限状态机发送的读存储器请求输出数据,编码单元对该数据编码以后送给复接单元,复接单元将有限状态机产生的码流指示信号和编码后的数据按照标准复接产生符合H.263标准的码流。
9.根据权利要求1所述面向视频标准应用的编解码器,其特征在于,所述可变长解码模块包含存储器地址产生模块,有限状态机、解码、分接单元及缓存;用于THUMchip的解码过程,可变长解码的工作过程可以看作可变长编码的逆过程,它将待解码的数据分接、解码以后送给处理器核,处理器核再进行反量化、运动补偿、反离散余弦变换等操作以后,就可以得到解码以后的码流。
全文摘要
本发明公开了属于视频通信领域的一种面向视频标准应用的编解码器。该编解码器是一个可配置超长指令THUMchip数字信号处理器核,包括指令存储器、指令读取单元、指令分发单元、可配置功能单元、全局寄存器堆、中断控制模块、控制状态寄存器、数据存储器以及用户定制功能单元。本发明是符合H.263低码率视频编码标准的基于可配置数字信号处理器核的编解码器;可以在码率比较低的情况下得到比较高的图象质量。应用于视频手机等低码率视频通信,符合低码率视频编码标准。
文档编号H04N7/26GK101090504SQ20071011932
公开日2007年12月19日 申请日期2007年7月20日 优先权日2007年7月20日
发明者孙义和, 张延军 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1