具有执行重叠滤波以及核心转换的运算方法及其装置的制作方法

文档序号:7691061阅读:124来源:国知局
专利名称:具有执行重叠滤波以及核心转换的运算方法及其装置的制作方法
技术领域
本发明涉及一种数据处理装置与其运算方法,且特别是涉及一种同时实 现重叠滤波以及核心转换的装置及其运算方法。
背景技术
静态影像压缩通常包括了三大步骤转换(transform),量化 (quantization),和熵编码(entropy coding)。在传统的JPEG标准中,请 参考图1,使用了以8乘8区块为独立转换单位的离散余弦转换(Discrete Cosine Transform, DCT)。 虽然DCT的转换具有良好的能量压缩特性,其 可得到近似最佳数据的压缩。但是仍然无法避免切割成区块的边缘转换后产 生的区块效应(Block Effect)。
美国微软(Microsoft)公司针对此点推出了一个新的静态影像压缩格 式,称为HD Photo格式,目前已进入JPEG国际标准制订过程中,目前名称 为JPEG-XR。此HD Photo冲各式为了减少独立区块转换带来的区块效应, >使用 了以4乘4区块为单位的重叠转换(Lapped Transform, LT),其中先对4 乘4区块交接处的4乘4区块进行重叠滤波(Overlap Filter),再对4乘4 区块进行核心转换(Core Transform),重叠滤波与核心转换都使用了提升式 结构(Lif t)来确保无失真压缩的可能性。
请参考图2,其为美国专利申请2006/013682公开文件r Reversible Overlap Operator For Efficient Lossless Data Compress ion J, jt匕为美 国微软(Microsoft)公司所推出的HD Photo格式,先将例如图示的2维(2-D) 输入数据进行分割(Tiling),而后为了减少独立区块转换带来的区块效应, 因此先进行重叠转换,如图所示的向前重叠(Forward Over lap)滤波转换。 而后再对原切割的区块进行区块转换,也就是HD Photo格式的核心转换(HD Photo Core Transform, PCT),可以取得一个DC参数(DC coeff icient)与 十五个AC参数(AC coefficients)。而此HD Photo格式采用两阶式的转换, 因此再将DC值集合成区块,并再次进行重叠滤波转换与区块转换。上述重叠滤波转换与核心转换都使用了提升式(Li f Ung)结构来确保无 失真(Lossless)压缩的可能性。由于提升式结构每一步骤都是完全可逆 (Reversible),若编码过程采取无失真的压缩转换领域的信号,则在解码时 先进行逆核心转换,再进行逆重叠滤波转换,就可得到一模一样的原图。在 HD Photo格式可自行选择是否进行第一阶的重叠滤波转换与第二阶的重叠 滤波转换。得到的DC参数与AC参数经过量化(Quantization)与熵编码 (Entropy Coding)处理后,经过分组化(Packetization)后即可得到压缩比 特流(Compressed Bitstream)。
请参考图3A,其为说明根据HD Photo格式的重叠滤波转换示意图。将 独立区块使用了 4x4区块为单位的重叠转换,先将图像分割为4乘4的区块, 如标号310所标示的实心线部分。接着再对各4x4区块的交接处进行重叠滤 波(0verlap Filter)转换,例如在图像边缘处进行4乘1的滤波转换(如图 中标号330所示的4xl filter),而图像的内部则进行4乘4的滤波转换, 如图中标号320所示的4x4 filter。
接着如图3B所示,经过重叠滤波转换后,再对原切割出的4乘4区块 进行核心转换(如图所示的4x4 PCT),每4乘4区块可得出一个DC值和十五 个AC值。HD Photo采用两阶式的转换,因此将DC值再集合成4乘4区块, 并再进行一次重叠滤波。在HD Photo格式可自行选择是否进行第一阶的重 叠滤波与第二阶的重叠滤波。
此提升式重叠转换比传统离散余弦转换需要更复杂并多次的数据读取 与写入,为解决此问题,中华民国专利申请95128032 (对应美国专利公开案 2007/0036225A1)提出将信号顺序重排以方便单一指令多重数据处理器 (SIMD)运算的方法,如图3A和图3B所示,不同区块的4乘4重叠滤波和4 乘4核心转换之间会有2乘2的重叠处,但此方法较适合用于以单一指令多 重数据(SIMD)运算的处理器为主的实现方法。
上述传统的结构中,都是必须先完成重叠滤波后,再接着进行核心转换。 如图3A与3B所示,先经4乘4与4乘1的重叠滤波转换后,再对原切割出 的4乘4区块进行核心转换。对于处理所需时间与效率上,存在可以改善的 空间
发明内容
本发明提供一种具有重叠滤波以及核心转换的装置,包括第一选择多路 复用器、转换运算模块阵列、第二选择多路复用器、寄存器阵列与控制信号 产生器。此第一选择多路复用器用以接收多端口输入数据。此转换运算模块 阵列连接到第 一选择多路复用器,用以接收第 一选择多路复用器的多端口输 出。第二选择多路复用器连接到转换运算模块阵列,用以接收转换运算模块 阵列的多端口运算结果的输出与多端口输入数据。而寄存器阵列具有多个寄 存器,此寄存器阵列连接到第二选择多路复用器,用以接收第二选择多路复 用器的多端口输出,并将接收的数据寄存在部分寄存器中,而此第一选择多 路复用器与第二选择多路复用器都用以读取寄存器阵列的寄存器的储存值。 而上述控制信号产生器,根据重叠滤波与核心转换的调度产生多个控制信 号,用以控制第一选择多路复用器、转换运算模块阵列、第二选择多路复用 器与寄存器阵列。此控制信号产生器控制第 一选择多路复用器选择多端口输 入数据与寄存器阵列的部分寄存器的储存值,其中的部分数据输入转换运算 模块阵列。另外,控制信号产生器控制第二选择多路复用器选择多端口输入 数据、转换运算模块阵列输出的多端口运算结果、以及寄存器阵列的部分寄 存器的储存值,并据以输出到寄存器阵列储存。
本发明提供一种执行重叠滤波以及核心转换的运算方法,适用于多端口 数据处理装置。此多端口数据处理装置包括转换运算模块阵列,用以接收多 端口输入数据,并经由转换运算模块阵列计算后寄存到寄存器阵列。此方法 包括根据重叠滤波与核心转换的调度产生多个控制信号。根据这些控制信号 控制选择部分多端口输入数据与寄存器阵列的部分储存值,输入转换运算模 块计算。根据控制信号控制,选择部分多端口输入数据、转换运算模块阵列 输出的多端口运算结果、以及寄存器阵列的部分储存值,输出到寄存器阵列 储存。根据重叠滤波与核心转换的调度,将转换运算模块阵列输出的部分多 端口运算结果,以多端口方式输出。
为使本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并 结合附图详细说明如下。


图1是使用了以8乘8区块为独立转换单位的离散余弦转换(Discrete Cosine Transform, DCT)。图2为说明对2维(2-D)输入数据,以提升式结构进行重叠滤波转换与
核心转换示意图。
图3A为说明根据HD Photo格式的重叠滤波转换示意图。
图3B为说明经过重叠滤波转换后,再对原切割出的4乘4区块进行核
心转换(如图所示的4x4 PCT)。
图4为本发明实施例的有效实现同时进行重叠滤波转换与核心转换的
硬件结构示意图。
图5为说明本发明实施例的转换运算模块阵列的电路结构示意图。 图6为说明4乘4重叠滤波运算与4乘4核心转换运算数据示意图。 图7为说明进行4乘4重叠滤波和4乘4核心转换的输入数据。 图8和图9为说明重叠滤波与核心转换函式运算内容实施例。 图IO为说明重叠滤波中T-h的运算内容示意图。
图11A~图11D为实现4乘4重叠滤波和4乘4核心转换的详细调度示意图。
图12为说明本发明另一实施例的转换运算模块阵列的电路结构示意图。
图13为说明本发明又一实施例的转换运算模块阵列的电路结构示意图。
附图符号说明400硬件结构
402多端口输入的数据输入端
404多端口输出的数据输出端
410、 430;多路复用选择器(MUX)420多端口数据输出入的转换运算模块阵列
440多端口数据输出入的寄存器阵列
450控制信号产生器
500电路结构
502多端口输入的数据输入端
504多端口输出的数据输出端
510、 530:多路复用选择器(MUX)540: 8端口 4x4寄存器阵列 550:控制信号产生器 1200:电路结构
1202:多端口输入的数据输入端 1204:多端口输出的数据输出端
1210、 1230:多路复用选择器(MUX)
1240: 4端口 4x4寄存器阵列 1250:控制信号产生器 1300:电路结构
1 302:多端口输入的数据输入端 1 304:多端口输出的数据输出端
1310、 1 330:多路复用选择器(MUX)
1340: 8端口 4x4寄存器阵列 1 350:控制信号产生器
具体实施例方式
本发明提供了一个可同时实现重叠滤波以及核心转换的硬件实现方法, 并且可以依不同的规格、工艺、和操作频率等等做出相对应的变化。本发明 利用转换层级的硬件共享(Transform-level Hardware Sharing),以及多端 口进出的寄存器阵列,有效率地实现重叠滤波与核心转换。
本发明提供了 一个有效实现提升式重叠转换与核心转换的硬件结构,在 其中一个实施例中,可依照图4所示的硬件结构加以实现。此硬件结构400 为可同时实现重叠滤波以及核心转换的硬件装置,包括多端口输入的数据输 入端402、多路复用选择器(MUX)410与430、多端口数据输出入的转换运算 模块阵列420、多端口数据输出入的寄存器阵列440、多端口输出的数据输 出端404、与一个控制信号产生器450。上述的转换运算模块阵列420包括 了重叠转换中所需要的运算,可充分重复使用重叠滤波和核心转换间相同或 类似的运算,其中的寄存器阵列440则提供极具弹性的寄存数据读取与存入 的功能,以利于完成整个复杂的重叠转换。
上述可充分重复使用重叠滤波和核心转换间相同或类似的运算的转换 运算模块阵列420,可用以完成符合HD Photo格式中的重叠转换的所有运算,包括了重叠滤波运算、边缘的重叠滤波运算、核心转换、用于DC值的核心
转换、以及所有相对应的逆转换运算。上述的运算均符合HD Photo格式, 也就是JPEG-XR格式所需要的重叠滤波运算以及核心转换运算,是以硬件的 方式实现,并可以同时实现,而依不同的规格、工艺、和操作频率等等做出 相对应的变化。
在实施例中,例如图5所示,其为转换运算模块阵列的一种较佳实施例 的电路结构示意图。而此电路结构500除了包括多端口输入的数据输入端 502、多路复用选4奪器(MUX)510与530、 8端口 4x4寄存器阵列540、多端口 输出的数据输出端504与控制信号产生器550之外,还包括了多端口数据输 出入的转换运算模块阵列520。而此转换运算模块阵列520内含多个运算单 元,例如子函式如 T-hl 、 T-odd2 —pipe、 Ovp—scale、 T-h2 、 T—odd 与 0vp-4xl-pipe等等子函式运算单元。这些子函式运算单元代表对于四个或两 个输入信号的一连串运算。以此4x4重叠滤波运算与4x4核心转换运算为例, 由于其中有许多很类似但非完全相同的运算,因此可利用数据的处理顺序而 重复使用重叠滤波和核心转换间相同或类似的运算,达到节省运算单元的成 本。
请参考图6,其为4乘4重叠滤波运算与4乘4核心转换运算数据示意 图,其中包括数据D、 E、 F、 G虛线区域62Q的重叠滤波运算,以及数据A、 B、 C、 D实线区域610的核心转换运算。利用图5的电路结构500对图6的 重叠滤波运算与核心转换运算,可以控制在17个运算周期(Cycle)即可完成。
上述4乘4重叠滤波和4乘4核心转换的输入都如图7所示的4乘4信 号,包括"a, b, c, d, e, f, g, h, i, j, k, 1, m, n, o, p"等数据。而 详细函式运算内容分别如图8和图9所示,其中每一个子函式如T_h、 T_h_pre、 Ovp—rotate和Ovp—scale等等,都代表对上述输入数据其中四个 或是两个的一连串运算,如T-h—pre(a, d, m, p, 0)就是对"a, d, m, p"四 个输入数据进行运算,而Ovp —scale (a, p)就是对"a, p"两个输入数据进行 运算。而上述运算子函式的详细运算内容,可参照如美国专利申请 2006/013683公开文件r Reversible Transform for lossy and lossless 2-D Data Compression」内所提到不同的运算子函式内容。或是参照美国专利申 请2006/013684公开文件「 Reversible 2_Dimensional Pre-/Post-FiUering For Lapped Biorthogonal Transform J内所4是到不同的运算子函式内容。而上述的运算均符合HD Photo格式,也就是JPEG-XR格式所需要的重 叠滤波运算以及核心转换运算,例如T_h的运算如图10所示,4乘4重叠滤 波和4乘4核心转换中有一些很类似但非完全相同的运算,如T_h和T_h_pre 以及T—odd2和T_odd2_pre。
以下将根据本发明实施例图5的电路结构500,说明针对图6所示的输 入信号所进行的运算。
图5中的T_hl运算单元和T—h2运算单元可用一个周期完成T_h或 T—h—pre所需的运算,T_odd2 —pipe运算单元可用两个周期完成T—odd2或 T_odd2_pre所需的运算,Ovp—scale运算单元可用一个周期完成Ovp — scale 所需的运算,T_odd运算单元可用一个周期完成T_odd所需的运算, 0vp-4xl-pipe运算单元可用四个周期完成边缘的4乘1重叠滤波或用一个周 期完成0vp —rotate所需的运算,如上所述,使用17个周期就可以完成如图 6的一个4乘4重叠滤波和4乘4核心转换的调度,其中,由于输出入端口 的数量为8端口,因此,传输数据在一个周期内可以输入达到8个信号,可 以同时有两个运算单元进行运算,在一个周期内寄存8个信号,在一个周期 内输出8个信号,而其它重叠转换和逆重叠转换的运算都可用同样的调度概 念完成。
以下将具体说明第o个周期到第16个周期,总共17个周期完成4乘4 重叠滤波和4乘4核心转换的详细调度,并请对应参考图11A 图IID。
首先,请参考图IIA,在第0个周期(Cycle)时,在输入端输入如图8 中4x4重叠滤波运算所需的数据a、 d、 m、 p、 b、 c、 n与o,而由图5的电 路结构500中具有多端口数据输出入的转换运算模块阵列520,以T_hl运算 单元或T_h2运算单元在此周期内,完成T_h或T_h—pre所需的运算,例如 T一hl运算单元计算T_h_pre(a, d, m, p, 0),而T_h2运算单元进行 T_h—pre(b, c, n, o, O)的计算。此时,T—hi运算单元的计算结果将储存在 寄存器阵列中的寄存器位置0, 3, 12, 15之处,而T丄2运算单元的计算结 果将储存在寄存器阵列中的寄存器位置1, 2, 13, 14的处。目前输出端的 多端口输出并没有任何结果。
在第1个周期(Cycle)时,输入端输入数据e、 h、 i、 1、 f、 g、 j与k, 而由转换运算模块阵列520,以T—hl运算单元进行T_h_pre(e, h, i, 1, 0) 的运算,而由T—h2运算单元进行T_h_pre(f, g, j, k, 0)的运算。此时,T-hl运算单元的计算结果将储存在寄存器阵列中的寄存器位置5, 6, 9, 10 之处,而T—h2运算单元的计算结果将储存在寄存器阵列中的寄存器位置4, 7, 8, ll之处。目前输出端的多端口输出并没有任何结果。
在第2个周期(Cycle)时,并不需要输入任何数据,而转换运算模块阵 列520的Ovp一scale运算单元进行Ovp—Scale (R
, R[15])的运算,而 Ovp-4xl-pipe运算单元进行Ovp—Rotate(R[13], R[12])的运算,其中R[O], R[15] , R[13], R[12]分别为寄存器阵列中寄存器的值。此时,0vp-scale 运算单元的运算结果将储存在寄存器阵列中的寄存器位置0, 15之处,而
0vp-4xl-pipe运算单元的运算结果将储存在寄存器位置13, 12之处。目前 输出端的多端口输出并没有任何结果。
在第3个周期(Cycle)时,并不需要输入任何数据,而转换运算模块阵 列520的0vp-scale运算单元进行0vp-Scale (R [5] , R[10])的运算,而 0vp-4xl —pipe运算单元则进行0vp-Rotate(R[9], R[8])的运算。此时, 0vp-scale运算单元的运算结果将储存在寄存器阵列中的寄存器位置5, 10 之处,而Ovp—4xl_pipe运算单元的运算结果将储存在寄存器位置9, 8之处。 目前输出端的多端口输出并没有任何结果。
在第4个周期(Cycle)时,并不需要输入任何数据,而转换运算模块阵 列520的0vp—scale运算单元进行0vp一Scale (R [1] , R[14])的运算,而 0vp-4xl —pipe运算单元则进行0vp-Rotate(R[7], R[3])的运算。此时, 0vp_scale运算单元的运算结果将储存在寄存器阵列中的寄存器位置1, 14 之处,而0vp-4xl-pipe运算单元的运算结果将储存在寄存器位置7, 3之处。 目前输出端的多端口输出并没有任何结果。
请参考图11B,在第5个周期(Cycle)时,并不需要输入任何数据,而 转换运算模块阵列520的0vp_scale运算单元进行Ovp —Scale (R [4], R[ll]) 的运算,而Ovp—4x1 —pipe运算单元则进行0vp—Rotate(R[6], R[2])的运算。 此时,Ovp-scale运算单元的运算结果将储存在寄存器阵列中的寄存器位置 4, ll之处,而0vp-4xl —pipe运算单元的运算结果将储存在寄存器位置6, 2 之处。目前输出端的多端口输出并没有任何结果。
在第6个与第7个周期(Cycle)时,并不需要输入任何数据,而 T—odd2-pipe运算单元可用此两个周期完成T_odd2所需的运算,例如在第6 周期,进行T-odd2(R[10], R[ll], R[14], R [15])第一周期的运算,并将结果存在寄存器位置10, 11, 14, 15之处,而在第7周期,则接着进行 T—odd2(R[10], R[ll], R[14], R [15])第二周期的运算,并将结果存在寄存 器位置IO, 11, 14, 15之处。目前输出端的多端口输出并没有任何结果。
接着,在第8个周期(Cycle)时,并不需要输入任何数据,而以T—hl运 算单元进行T_h (R[O], R[3], R[12], R[15], O)的运算,而由T—h2运算 单元进行T_h (R[l], R[2], R[13], R[14],0)的运算。此时,T_hl运算单 元的计算结果将储存在寄存器阵列中的寄存器位置0, 3, 12, 15之处,而 T-h2运算单元的计算结果将储存在寄存器阵列中的寄存器位置1, 2, 13, 14 之处。目前输出端的多端口输出并没有任何结果。
请参考图11C,在第9个周期(Cycle)时,并不需要输入任何数据,而 以T—hi运算单元进行T—h (R[5], R[6], R[9], R[IO], O)的运算,而由T一h2 运算单元进行T一h (R[4], R[7], R[8], R[ll], 0)的运算。此时,T_hl运 算单元的计算结果将储存在寄存器阵列中的寄存器位置5, 6, 9, IO之处, 而T—h2运算单元的计算结果将储存在寄存器阵列中的寄存器位置4, 7, 8, 11之处。目前输出端的多端口输出并没有任何结果。
在第10个周期(Cycle)时,输入端输入如图6的4x4PCT核心转换所需 B与C部分的8个信号。此时不需要进行运算单元的运算,而在寄存器阵列 中,寄存B部分4个信号于位置2, 3, 6, 7,寄存C部分4个信号于位置 8, 9, 12, 13。此时,输出端同时输出R[2], R[3], R[6]' R[7]到外部寄存 对应于图6中E部分的地方,输出R[8], R[9], R[12], R[13]于外部寄存对 应于图6中F部分的地方。
接着在第11个周期(Cycle)时,输入端输入如图6的4x4PCT核心转换 所需A部分的4个信号。此时不需要进行运算单元的运算,而在寄存器阵列 中,寄存A部分4个信号于位置0, 1, 4, 5,寄存原来的R[O], R[l], R[4], R[5]于位置10, 11, 14,15之处。此时输出端则输出R[IO], R[ll], R[14], R[15]于外部对应于寄存图6中G部分的地方。
接着在第12个周期(Cycle)时,并不需要输入任何数据,而以T_hl运 算单元进行T_h (R[O], R[3], R[12], R[15], O)的运算,而由T—h2运算 单元进行T—h (R[l], R[2], R[13], R[14],0)的运算。此时,T—hi运算单 元的计算结果将储存在寄存器阵列中的寄存器位置0, 3, 12, 15之处,而 T-h2运算单元的计算结果将储存在寄存器阵列中的寄存器位置1, 2, 13, 14之处。目前输出端的多端口输出并没有任何结果。
请接着参考图11D,在第13个周期(Cycle)时,并不需要输入任何数据, 而以T—hi运算单元进行T_h (R[5], R[6], R[9], R[IO], O)的运算,而由 T一h2运算单元进行T_h (R[4], R[7], R[8], R[ll], 0)的运算。此时,T_hl 运算单元的计算结果将储存在寄存器阵列中的寄存器位置5, 6, 9, IO之处, 而T-h2运算单元的计算结果将储存在寄存器阵列中的寄存器位置4, 7, 8, 11之处。目前输出端的多端口输出并没有任何结果。
在第14个周期(Cycle)时,并不需要输入任何数据,而以T_hl运算单 元进行T_h (R[O], R[l], R[4], R[5], 1)的运算,而由T—odd运算单元进 行T—odd (R[2], R[3], R[6], R[7])的运算。此时,寄存器阵列并无任何 操作,而输出端则输出T-hl和T—odd的结果(PCT运算结果)至后续处理单 元。
接着在第15个与第16个周期(Cycle)时,并不需要输入任何数据,而 T_odd2 —pipe运算单元可用此两个周期完成T—odd2所需的运算,例如在第 15周期,进行T一odd2(R[10], R[ll], R[14], R [15])第一周期的运算,并 将结果存在寄存器位置10, 11, 14, 15之处,而在第16周期,则接着由 T一odd2 —pipe运算单元进行T-odd2(R[10], R[ll], R[14], R[15])第二周期 的运算,并且同时由T—odd运算单元进行T一odd(R[8], R[12]' R[9], R[13]) 的运算,接着由输出端将T_odd2_pipe运算单元和T_odd运算单元的运算结 果(PCT运算结果)输出并传送到后续处理单元。
以上具体说明利用图5的电路结构500中,具有多端口数据输出入的转 换运算模块阵列520,其所具有的T—hl、 T—odd2一pipe、 0vp一scale、 T_h2、 T_odd与0vP_4xl-pipe函式运算单元,即可利用17个周期,完成4乘4重 叠滤波和4乘4核心转换的详细调度。此实施例充分说明,可同时实现重叠 滤波以及核心转换的硬件实现方法,并且可以依不同的规格、工艺、和操作 频率等等做出相对应的变化。本发明利用转换层级的硬件共享 (Transform-level Hardware Sharing),以及多端口进出的寄存器阵列,有 效率地实现重叠滤波与核'"、转换。
如图6的数据D、 E、 F、 G虚线区域620的重叠滤波运算,以及数据A、 B、 C、 D实线区域610的核心转换运算,若是采用传统的结构,都是必须先 完成重叠滤波后,再接着进行核心转换。但是,如上述以图5的电路结构500,对图6的重叠滤波运算与核心转换运算,可先完成数据D的重叠滤波运算, 以及数据A、 B、 C的核心转换运算,再接着进行数据D的核心转换运算,如 此,可以控制在17个运算周期即可完成,也就是只需调整转换运算模块阵 列520内多个函式运算单元的数据处理调度,并且搭配多端口进出的寄存器 阵列,以及多端口输入端与输出端的数据传送,即可达到上述同时实现重叠 滤波以及核'^转换的硬件实现方法。
上述实施例中的电路结构,包括多个运算单元,是用以完成HD Photo 格式中,编码时所需要的重叠滤波转换运算或解码所需要的逆重叠转换运 算。而提到的第一选择多路复用器、转换运算模块阵列、第二选择多路复用 器与寄存器阵列的数据输出或是输入端口的数量至少为4个。
而若是用于HD Photo格式的编码时,多端口输入数据为欲压缩的原始 图像数据、或是第一阶核心转换的DC参数值,或已进行重叠滤波转换,但 未经核心转换的信号。
而若是用于HD Photo格式的解码时,多端口输入数据为欲进行第一阶 或第二阶逆转换的重叠转换信号或已进行逆核心转换但未经逆重叠滤波转 换的信号。
本发明的另一种实施例,为合并图5中的运算单元至一个周期最多只有 一个运算单元运算、最多在一个周期内输入4个信号、最多在一个周期内寄 存4个信号、最多在一个周期内输出4个信号,如此可以减少硬件成本,但 会增加运算的周期数。此具体实施例可参考图12所示所示,并参考图5 — 并说明。如上所述,将图5具有多端口数据输出入的转换运算模块阵列520 中的运算单元T—hl和T-odd2_pipe运算单元合并,而将T—h2和T一odd运算 单元合并,将0vp-scale和0vp—4xl —pipe运算单元合并。因此,此电3各结 构1200除了包括多端口输入的数据输入端1202 、多路复用选择器(MUX) 1210 与1230、多端口输出的数据输出端1204与控制信号产生器1250之外,还包 括了只需要4端口的4x4寄存器阵列1240,以及多端口数据输出入的转换运 算模块阵列1220。而此转换运算模块阵列1220内含的运算单只需要三个, 包括具有处理T_hl和T_odd2-pipe运算功能的运算单元、具有处理 Ovp—scale和0vp_4xl_pipe运算功能的运算单元、以及具有处理T_h2和 T_odd运算功能的运算单元。
而图11完成4乘4重叠滤波和4乘4核心转换的详细调度则可以直接改成一个周期内最多只输出和输入四个信号, 一个周期内最多只有一个运算
单元在运算,例如第0周期可输入a, d, m, p,而T-hl进行 T_h_pre(a,d,m,p,0),寄存T—hi结果于寄存器阵列位置0, 3, 12, 15;而 第l周期输入b, c, n, o, T_h2进行T—h一pre(b, c, n, o ,0),寄存T_h2 结果于寄存器阵列位置l, 2, 13, 14,如此类推可得出全部的调度。
本发明的另一种实施例,为合并图5中的某些运算单元以共享之间的硬 件,如加法器或减法器等,如此可以减少硬件成本,但共享所带来的多路复 用选择器也会增加硬件成本,而且会增加硬件的临界路径(Critical Path)。 例如图ll的调度中图5里的T_odd2—pipe和T—hi都没有在同一个周期一起 动作过,所以可如图13所示,此电路结构1300除了包括多端口输入的数据 输入端1302、多路复用选择器(MUX) 1310与1330、 8端口 4x4寄存器阵列 1340、多端口输出的数据输出端1304与控制信号产生器1350之外,还包括 了多端口数据输出入的转换运算模块阵列1320。而此转换运算模块阵列1320 内含多个运算单元,例如具有处理T_hl或T-odd2 —pipe运算功能的运算单 元、具有处理Ovp-scale运算功能的运算单元、具有处理T_h2运算功能的 运算单元、具有处理T-odd运算功能的运算单元、与具有处理Ovp —4xl_pipe 运算功能的运算单元等。
上述的电路结构1300,主要是将运算单元T-hl和T—odd2-pipe合并成 一个运算单元, 一样可用图11的调度完成所有运算,然而合并的动作必需 在T—hi和T_odd2-pipe原有的加减法器间安插多个多路复用选择器,如此 会让该运算单元的临界路径变长,也就可能造成频率一个周期的时间也必需 变长。
虽然本发明已以较佳实施例披露如上,但其并非用以限定本发明,本领 域技术人员,在不脱离本发明的精神和范围的前提下,当可作若干的更改与 修饰,因此本发明的保护范围应以本发明的权利要求为准。
权利要求
1.一种具有重叠滤波以及核心转换的装置,包括第一选择多路复用器,用以接收多端口输入数据;转换运算模块阵列,该转换运算模块阵列连接到该第一选择多路复用器,用以接收该第一选择多路复用器的多端口输出;第二选择多路复用器,连接到该转换运算模块阵列,用以接收该转换运算模块阵列的多端口运算结果的输出与该多端口输入数据;寄存器阵列,具有多个寄存器,该寄存器阵列连接到该第二选择多路复用器,用以接收该第二选择多路复用器的多端口输出,并将接收的数据寄存在部分所述寄存器中,而该第一选择多路复用器与该第二选择多路复用器都用以读取该寄存器阵列的所述寄存器的储存值;以及控制信号产生器,根据重叠滤波与核心转换的调度产生多个控制信号,用以控制该第一选择多路复用器、该转换运算模块阵列、该第二选择多路复用器与该寄存器阵列,其中该控制信号产生器控制该第一选择多路复用器选择所述多端口输入数据与该寄存器阵列的部分所述寄存器的储存值,其中的部分数据输入该转换运算模块阵列,其中该控制信号产生器控制该第二选择多路复用器选择所述多端口输入数据、该转换运算模块阵列输出的所述多端口运算结果、以及该寄存器阵列的部分所述寄存器的储存值,并据以输出到该寄存器阵列的所述寄存器储存。
2. 如权利要求1所述的具有重叠滤波以及核心转换的装置,其中该转换 运算模块阵列具有多个运算单元,所述运算单元用以完成HD Photo格式中, 编码时所需要的重叠滤波转换运算或解码所需要的逆重叠滤波转换运算。
3. 如权利要求2所述的具有重叠滤波以及核心转换的装置,其中该第一 选择多路复用器、该转换运算模块阵列、该第二选择多路复用器与该寄存器 阵列的数据输出或是输入端口的数量至少为4个。
4. 如权利要求2所述的具有重叠滤波以及核心转换的装置,用于该HD Pho t o格式的编码时,该多端口输入数据为欲压缩的原始图像数据。
5. 如权利要求2所述的具有重叠滤波以及核心转换的装置,用于该HD Photo格式的编码时,该多端口输入数据为第一阶核心转换的DC参数值,或已进行重叠滤波转换,但未经核心转换的信号。
6. 如权利要求2所述的具有重叠滤波以及核心转换的装置,用于该HD Pho t o格式的解码时,该多端口输入数据为欲进行第 一阶或第二阶逆转换的 重叠转换信号或已进行逆核心转换但未经逆重叠滤波转换的信号。
7. 如权利要求1所述的具有重叠滤波以及核心转换的装置,其中该转换 运算模块阵列具有多个运算单元,其中当该重叠滤波与核心转换的调度为进 行HD Photo格式的编码时,所述运算单元部分用以重叠滤波的运算,部分 用以核心转换的运算。
8. 如权利要求7所述的具有重叠滤波以及核心转换的装置,其中所述运 算单元包括重叠滤波运算单元、边缘的重叠滤波运算单元、核心转换单元以 及用于DC值的核心转换单元。
9. 如权利要求1所述的具有重叠滤波以及核心转换的装置,其中该转换 运算模块阵列具有多个运算单元,其中当该重叠滤波与核心转换的调度为进 行HD Photo格式的解码时,所述运算单元部分用以逆重叠滤波的运算,部 分用以逆核心转换的运算。
10. 如权利要求9所述的具有重叠滤波以及核心转换的装置,其中所述 运算单元包括逆重叠滤波运算单元、边缘的逆重叠滤波运算单元、逆核心转 换单元以及用于DC值的逆核心转换单元。
11. 一种执行重叠滤波以及核心转换的运算方法,适用于多端口数据处 理装置,其中该多端口数据处理装置包括转换运算模块阵列,用以接收多端 口输入数据,并经由该转换运算模块阵列计算后寄存到寄存器阵列,该方法 包括根据重叠滤波与核心转换的调度产生多个控制信号;根据所述控制信号控制选择所述部分多端口输入数据与该寄存器阵列 的部分储存值,输入该转换运算模块计算;根据所述控制信号控制,选择所述部分多端口输入数据、该转换运算模 块阵列输出的所述多端口运算结果、以及该寄存器阵列的部分所述储存值, 输出到该寄存器阵列储存;以及根据该重叠滤波与核心转换的调度,将该转换运算模块阵列输出的部分 所述多端口运算结果,以多端口方式输出。
12. 如权利要求11所述的方法,其中该转换运算模块阵列具有多个运算单元,所述运算单元用以完成HD Photo格式中,编码时所需要的重叠滤波 转换运算或解码所需要的逆重叠滤波转换运算。
13. 如权利要求12所述的方法,用于该HD Photo格式的编码时,该多 端口输入数据为欲压缩的原始图像数据。
14. 如^l利要求13所述的方法,用于该HD Photo才各式的编码时,该多 端口输入数据为第一阶核心转换的DC参数值,或已进行重叠滤波转换,但 未经核心转换的信号。
15. 如权利要求12所述的方法,用于该HD Photo格式的解码时,该多 端口输入数据为欲进行第 一阶或第二阶逆转换的重叠转换信号或已进行逆 核心转换但未经逆重叠滤波转换的信号。
16. 如权利要求11所述的方法,其中该转换运算模块阵列具有多个运算 单元,其中当该重叠滤波与核心转换的调度为进行HD Photo格式的编码时, 所述运算单元部分用以重叠滤波的运算,部分用以核心转换的运算。
17. 如权利要求16所述的方法,其中所述运算单元包括重叠滤波运算单 元、边缘的重叠滤波运算单元、核心转换单元以及用于DC值的核心转换单 元。
18. 如权利要求11所述的方法,其中该转换运算模块阵列具有多个运算 单元,其中当该重叠滤波与核心转换的调度为进行HD Photo格式的解码时, 所述运算单元部分用以逆重叠滤波的运算,部分用以逆核心转换的运算。
19. 如权利要求18所述的方法,其中所述运算单元包括逆重叠滤波运算 单元、边缘的逆重叠滤波运算单元、逆核心转换单元以及用于DC值的逆核 心转换单元。
全文摘要
本发明关于具有执行重叠滤波以及核心转换的运算方法及其装置,并提出一种可同时实现重叠滤波以及核心转换的硬件实现方法及其运算方法,并且可以依不同的规格、工艺、和操作频率等等做出相对应的变化。此硬件实现方法及其运算方法利用转换层级的硬件共享(Transform-level HardwareSharing),以及多端口进出的寄存器阵列,有效率地实现重叠滤波与核心转换。
文档编号H04N7/26GK101552919SQ200810091109
公开日2009年10月7日 申请日期2008年4月2日 优先权日2008年4月2日
发明者黄朝宗 申请人:联咏科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1