CN101989254B - 离散余弦转换及其逆转换电路 - Google Patents
离散余弦转换及其逆转换电路 Download PDFInfo
- Publication number
- CN101989254B CN101989254B CN2009103052384A CN200910305238A CN101989254B CN 101989254 B CN101989254 B CN 101989254B CN 2009103052384 A CN2009103052384 A CN 2009103052384A CN 200910305238 A CN200910305238 A CN 200910305238A CN 101989254 B CN101989254 B CN 101989254B
- Authority
- CN
- China
- Prior art keywords
- computing
- module
- dct
- microcode
- result
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
一种DCT/IDCT电路,包括微码存储器、控制器、蝴蝶运算电路。微码存储器用于存储DCT/IDCT对应的微码列表。控制器用于读取微码并控制蝴蝶运算电路进行运算。蝴蝶运算电路包括系数寄存模块、选择输入模块、运算模块及结果寄存模块。系数寄存模块用于存储蝴蝶运算的运算系数。结果寄存模块用于存储蝴蝶运算的运算结果。选择输入模块用于根据微码选择系数寄存模块内存放的运算系数或结果寄存模块内存放的运算结果以输出。运算模块用于根据微码将选择输入模块输出的数据进行运算,并将运算结果存入结果寄存模块。本发明所提供的DCT/IDCT电路采用预先设计好的微码来指导蝴蝶运算,可以同时支援多种编解码协议。
Description
技术领域
本发明涉及视频编解码,尤其涉及一种离散余弦转换及其逆转换电路。
背景技术
离散余弦转换及其逆转换(Discrete Cosine Transform/Inverse Discrete CosineTransform,DCT/IDCT)分别用于数字影像数据的编码与解码过程。在数字影像编码过程中,影像通常被细分为许多8*8的像素(Pixel)的方块,再逐一对各方块进行离散余弦转换(DCT),以转换为频域(Frequency Domain)的数据形态,而解码过程则将所述频域数据进行逆离散余弦转换(IDCT),以还原为像素数据。通常,执行一个二维的DCT/IDCT,可先进行一维行或列的转换,之后再进行一维列或行转换来达成,这些运算过程包括了大量的蝴蝶运算。
目前,视频编解码协议类型多样,主流的如H.264、WMV9、MPEG-2等,其编码与解码过程皆需用到DCT/IDCT运算。但是,各种编解码协议所对应的具体运算方法不一样,由于实际完成这些运算的是底层硬件电路,所以也就相应的需要各种设计不同的底层硬件电路来配合各种不同的编解码协议。基于市场需求,目前市面上的各类视频产品皆需要支持多种编解码协议,这样就需要提供多种对应的运算电路,使得底层硬件电路具有设计复杂、体积庞大、成本高等缺点。
发明内容
有鉴于此,需提供一种离散余弦转换及其逆转换(Discrete Cosine Transform/Inverse Discrete Cosine Transform,DCT/IDCT)电路,用于实现各种类型的蝴蝶运算,以同时支持多种编解码协议,并进一步提升编解码效率。
本发明实施方式中的DCT/IDCT电路,用于实现多种类型的DCT/IDCT,每一DCT/IDCT包括多个蝴蝶运算,每一蝴蝶运算包括多个运算系数。DCT/IDCT电路包括微码存储器、控制器及蝴蝶运算电路。微码存储器用于存储多种类型DCT/IDCT对应的微码列表,其中,微码列表包括多组微码,每一类型DCT/IDCT对应一组微码。控制器用于从微码存储器内查找所要实现的DCT/IDCT对应的微码组,并依序读取其中的微码。蝴蝶运算电路用于根据控制器所读取的微码进行蝴蝶运算,以实现DCT/IDCT。蝴蝶运算电路包括系数寄存模块、选择输入模块、运算模块及结果寄存模块。系数寄存模块用于存储蝴蝶运算的运算系数。结果寄存模块用于存储蝴蝶运算的运算结果。选择输入模块用于根据控制器所读取的微码选择系数寄存模块内存放的运算系数或结果寄存模块内存放的运算结果以输出。运算模块用于根据控制器所读取的微码将选择输入模块输出的数据进行运算,并将运算结果存入结果寄存模块。
本发明所提供的DCT/IDCT电路采用预先设计好的微码来指导蝴蝶运算,可以同时支援多种编解码协议,而不需要更改硬件电路,从而大大降低了成本,提升了编解码效率。
附图说明
图1为本发明一实施方式的DCT/IDCT电路的模块图。
图2为WMV9协议的8*8的IDCT转换为多个蝴蝶运算后的示意图。
图3为图1所示的蝴蝶运算电路一实施方式的具体电路图。
图4为本发明一实施方式中根据蝴蝶运算编制微码及根据微码进行蝴蝶运算的示意图。
图5为图1所示的控制器控制蝴蝶运算电路进行蝴蝶运算的流程图。
图6为本发明一实施方式中完成的蝴蝶运算的类型示意图。
具体实施方式
请参阅图1,所示为本发明一实施方式中的离散余弦转换及其逆转换(Discrete CosineTransform/Inverse Discrete Cosine Transform,DCT/IDCT)电路10的模块图。
一般情况下,各种视频编解码协议所包括的DCT/IDCT皆可转换为多个蝴蝶运算(Butterfly Operation),且视频编解码协议对此都有详细规定,只是不同的视频编解码协议所对应的具体蝴蝶运算不同。因此,若增加蝴蝶运算的效率,DCT/IDCT的效率也将随之提升。请参阅图2,所示为WMV9协议的8*8的IDCT转换为多个蝴蝶运算的示意图。其中,C0、C1……C7等为DCT/IDCT的运算系数,-3、8、3、-5等为DCT/IDCT的运算常量,D0、D1……D7等为DCT/IDCT的运算结果。DCT/IDCT的运算系数根据像素方块的参数不同而不同,而DCT/IDCT的运算常量则针对每一种DCT/IDCT都是固定的。从图中可以看出,8*8的IDCT最终都可以转换为蝴蝶运算。其它视频编解码协议的各种IDCT也可以转换为类似的蝴蝶运算,因为此转换为现有技术,故在此不做赘叙。
需要说明的是,图2仅为示例,本发明所示的DCT/IDCT电路10并非仅针对图2所示的IDCT运算,而是可以解决所有的IDCT运算,如2*2、4*4等,且本发明所示的DCT/IDCT电路10能支援多种视频编解码协议,如H.264、MPEG-2等协议。
请再次参阅图1,在本实施方式中,DCT/IDCT电路10包括微码存储器12、控制器13及蝴蝶运算电路14。
微码存储器12用于存储多种类型的DCT/IDCT对应的微码列表。在本实施方式中,每一种视频协议对应不同大小的DCT/IDCT,如2*2、4*4、8*8等。每一种DCT/IDCT又对应一组微码。因每一种视频协议都规定了其对应的DCT/IDCT及其包括的蝴蝶运算,所以微码存储器12内存储了多组微码,形成微码列表,每一组微码包括多个微码。每一蝴蝶运算对应至少一个微码。在本实施方式中,微码列表根据视频协议预先设定好并存储于微码存储器12内。
控制器13用于从微码存储器12内读取微码并控制蝴蝶运算电路14进行蝴蝶运算,以实现DCT/IDCT。
在本实施方式中,蝴蝶运算电路14用于根据微码进行蝴蝶运算,包括系数寄存模块140、选择输入模块142、运算模块144及结果寄存模块146。
系数寄存模块140用于存储蝴蝶运算的系数。
结果寄存模块146用于存储蝴蝶运算的结果。
选择输入模块142用于根据微码选择系数寄存模块140内存放的蝴蝶运算的系数或结果寄存模块146内存放的蝴蝶运算的结果以输出。
运算模块144用于根据微码将从选择输入模块142接收的数据进行蝴蝶运算,并按照微码将运算结果存入结果寄存模块146。具体而言,控制器13控制选择输入模块142在特定的时钟周期输入特定的数据到运算模块144,以供运算模块144进行运算。
请参阅图3,所示为图1所示的蝴蝶运算电路14一实施方式的具体电路图。需说明的是,在本发明的附图中,为了简单清楚,若元件名称一致,则仅标识其中的一个,但用于指代所有名称相同的元件。且,因运算单元结构一致,所以省略了部分运算单元的详细电路。
在本实施方式中,选择输入模块142包括多个多工器1420与多个D触发器1422。
多工器1420用于选择输出系数寄存模块140内存放的蝴蝶运算的系数或结果寄存模块146内存放的蝴蝶运算的结果。在本实施方式中,多工器1420还用于在运算模块144进行新一轮运算时选择输出运算模块144的上一轮运算的运算结果。
D触发器1422用于控制多工器1420输出数据的时钟周期,以同步其输入到运算模块144的数据。在本实施方式中,控制器13先将特定的系数通过多工器1420送到D触发器1422,再在特定的时间周期通过D触发器1422送到运算模块144。
运算电路144包括至少二个运算单元145。在本实施方式中,每一运算单元145包括移位器1450与加减法器1452。
移位器1450与选择输入模块142相连,用于将选择输入模块142输入的数据进行移位运算。在本实施方式中,若移位器1450将所输入的数据向左移n位,表示将所输入的数据乘以2n,若向右移n位,表示将所输入的数据除以2n。如,向左移1位,表示将移位器1450将所输入的数据乘以2,若向左移2位,表示将所输入的数据乘以4,若向左移3位,表示将所输入的数据乘以8。
加减运算器1452的第一输入端与移位器1450的输出端相连,第二输入端与选择输入模块142相连,用于对移位器1450的输出端输出的数据、选择输入模块142输入的数据进行加减运算,并将结果存入结果寄存模块146。
请参阅图4,所示为本发明一实施方式中根据蝴蝶运算编制微码及根据微码进行蝴蝶运算的示意图。在本实施方式中,每一微码包括运算指令、结果存放地、多个数据来源及移位值。
结果存放地用于指示加减运算器1452输出的运算结果在结果寄存模块146中的存放位置。在本实施方式中,结果存放地预先设定好,加减运算器1452根据结果存放地的指示将结果存放到预先设定好的区域。举例而言,若需要将运算结果存入第一寄存器,则可设定结果存放地为r1,若需要将运算结果存入第二寄存器,则可设定结果存放地为r2。
多个数据来源用于指示运算模块144所进行运算的数据的来源。在本实施方式中,多个数据来源指示移位器1450与加减运算器1452从选择输入模块142获取的数据的来源。其中,选择输入模块142输入到运算模块144的数据包括两类,一类为需要进行运算的DCT/IDCT的运算系数,另一类为结果寄存模块146中所存放的运算结果。举例而言,若需要获取DCT/IDCT的运算系数,可以将数据来源设定为相应D触发器1422的输出端,再控制相应D触发器1422在特定的时钟周期输出所需的系数,若需要获取运算结果,可以将数据来源设定为运算结果的结果存放地,如第一寄存器。
移位值用于指示运算模块144中的移位器1450对选择输入模块142输入的数据进行移位的位数。
运算指令用于指示运算模块144进行运算的数据及对进行运算的数据进行的运算规则,包括移位方向、多个运算数据及多个运算规则。运算电路144根据移位值与移位方向将多个运算数据进行移位运算得到移位结果,根据多个运算规则将移位结果与多个运算数据进行运算。举例说明,运算指令可包括移位方向、第一运算数据、第二运算数据、第三运算数据、第四运算数据、第一运算规则、第二运算规则,此时,运算电路144可将第一运算数据先按照移位值与移位方向进行移位运算,再将移位运算的结果与第二运算数据按照第一运算规则进行运算,并将第三运算数据先按照移位值与移位方向进行移位运算,再将移位运算的结果与第四运算数据按照第二运算规则进行运算。
运算规则包括运算单元145可实现的运算,如加、减、求相反数后再加。
运算数据包括数据来源所指示的数据。在运算模块144进行新一轮运算时,运算数据还包括运算模块144的上一轮运算的运算结果。
在本实施方式中,一个蝴蝶运算对应至少一个微码,若运算模块144包括两个运算单元145,运行每一微码仅需一个时钟周期,则如果需要增加运算速度,则仅需要增加运算单元的数量。若如图3所示,运算模块144包括四个运算单元,则运行每两个微码才需要一个时钟周期,明显增加了运算速度。且,本发明运算单元145采用简单的移位器1450来代替复杂的乘法器来实现乘法运算,明显减少了电路的复杂度,大大降低了成本。
举例而言,参阅图4所示的第一个蝴蝶运算BF1,其需要计算的公式可表示为R2=5C0+16C4与R3=16C0-5C4,其中,C0与C4为DCT/IDCT的运算系数,5与16为DCT/IDCT的运算常量,R2与R3为该第一个蝴蝶运算BF1的运算结果,则其微码可编写为:“Asl_rA_add_rA_rB_add_rB,rD0,RH,RL,2”与“Asl_rA_add_DA_rB_sub DB,rD1,RL,RH,4”,其中,“Asl_rA_add_rA_rB_add_rB”与“Asl_rA_add_DA_rB_sub_DB”为运算指令,rD0与rD1为结果存放地,RH与RL分别为数据来源,2与4为移位值。在运算指令中,Asl表示移位器1450将接收的数据向左移,即对接收的数据进行乘法运算。rA、rB表示从数据来源获取的数据,DA与DB表示上一个时钟周期的运算结果。rA_add_rA表示先将rA向左移2位,再将移位结果与rA相加,rB_add_rB表示先将rB向左移2位,再将移位结果与rB相加,此时得出的运算结果为R0=(C0<<2)+C0=5C0、R1=(C4<<2)+C4=5C4。rA_add_DA表示先将rA向左移4位,再将移位结果与DA相加,rB_sub_DB表示先将rB向左移4位,再将移位结果与DB相减,其中DA与DB为上一个时钟周期的运算结果,此处为R0与R1,此时得出的运算结果为R2=(C4<<4)+5C0=16C4+5C0、R3=(C0<<4)-5C4=16C0-5C4。
图4所示的第二个蝴蝶运算BF2的编制原理与第一个蝴蝶运算BF1差不多,其中的rB_isub_DB表示先将rB向左移位后求相反数,再将结果与DB相加,此时得出的运算结果为R5=-(C4<<4)+R1=-16C4+4C0。
请参阅图5,所示为图1所示的控制器13控制蝴蝶运算电路14进行蝴蝶运算的流程图。在本实施方式中,该蝴蝶运算通过图3所示的具体电路完成。其中,将第一运算单元中的移位器与加减法器定义为第一移位器与第一加减法器,将第二运算单元中的移位器与加减法器定义为第二移位器与第二加减法器,在此以运算模块144包括这两个运算单元来举例说明蝴蝶运算电路14如何进行蝴蝶运算。
在步骤S500,控制器13根据所要进行的DCT/IDCT的类型从微码存储器12内找到对应的微码组,按顺序读取该微码组内的一个微码。在本实施方式中,所读取的微码包括运算指令、结果存放地、多个数据来源及移位值,运算指令包括移位方向、第一运算数据、第二运算数据、第三运算数据、第四运算数据、第一运算规则及第二运算规则。
在步骤S502,控制器13根据所读取的微码的运算指令控制选择输入模块142将第一运算数据送入第一移位器。
在步骤S504,控制器13控制第一移位器将第一运算数据按照移位值进行移位运算,并将运算结果送入第一加减法器的第一输入端。
在步骤S506,控制器13根据微码中的运算指令将第二运算数据送入第一加减法器的第二输入端。
在步骤S508,控制器13根据第一运算规则控制第一加减法器对第一输入端与第二输入端的数据进行运算,并将运算结果存入结果存放地。
在步骤S510,控制器13根据微码的运算指令控制选择输入模块将第三运算数据送入第二移位器。
在步骤S512,控制器13控制第二移位器将第三运算数据按照移位值进行移位运算,并将运算结果送入第二加减法器的第一输入端。
在步骤S514,控制器13根据微码的运算指令将第四运算数据送入第二加减法器的第二输入端。
在步骤S516,控制器13根据第二运算规则控制第二加减法器对第一输入端与第二输入端的数据进行运算,并将结果存入结果存放地。
这样,当控制器13控制蝴蝶运算电路14将该微码组内的所有微码都运算完,则该组微码对应的DCT/IDCT运算也就完成了。
由于运算模块144至少包括两个运算单元145,则上述两组运算S502-S508与S510-S516可以看作同步进行,所以根据一个微码所进行的运算可以看作在一个时钟周期内完成。此时,若能增加一倍的运算单元145的数量,则可以将两个微码同步运算,进一步减少运算时间,提升运算效能。
在本实施方式中,按照运算所需的时钟周期数量,根据DCT/IDCT的运算常量的取值不同可以将本发明实施方式实现的蝴蝶运算分为三个类型,具体请参阅图6,所示为所述的蝴蝶运算的类型示意图。其中,第一类为a与b分别或皆为1,此类蝴蝶运算对应一个微码,仅需两个运算单元145运算一个时钟周期。第二类为a为2n或1/2n,b为2n、1/2n、2n±1或1/2n±1,此类蝴蝶运算对应二个微码,需两个运算单元145运算两个时钟周期。其他的为第三类,对应三个微码,需两个运算单元145运算三个时钟周期。经过统计,若需要进行的IDCT运算对应WMV9视频协议所规定的8*8的IDCT运算,那么第一类蝴蝶运算的数量占总数的50%,第二类蝴蝶运算占总数的28%,第三类蝴蝶运算占总数的22%。若需要进行的IDCT运算对应H.264视频协议所规定的8*8的IDCT运算,那么第一类蝴蝶运算占总数的85%,第二类蝴蝶运算占总数的15%。由此可见,DCT/IDCT电路10能大大提高DCT/IDCT运算效率。
本发明实施方式所提供的DCT/IDCT电路10采用将不同的视频协议转换为不同的微码组,并根据微码组进行蝴蝶运算的方式,能实现支援所有类型的视频协议的所有DCT/IDCT,大大减少了DCT/IDCT所需的硬件电路的复杂度。且,由于本实施方式采用移位器来代替传统电路中的乘法器来实现乘法运算,且采用多个运算单元并行运算,所以不仅可以显著地降低电路成本,而且还能够大大增加运算速度,提升运算效能。
Claims (9)
1.一种离散余弦转换/逆转换DCT/IDCT电路,用于实现多种类型的DCT/IDCT,每一种类型的DCT/IDCT包括多个蝴蝶运算,每一蝴蝶运算包括多个运算系数,其特征在于,所述DCT/IDCT电路包括:
微码存储器,用于存储所述多种类型的DCT/IDCT对应的微码列表,其中,所述微码列表包括多组微码,每一类型的DCT/IDCT对应一组微码;
控制器,用于从所述微码存储器内查找所要实现的DCT/IDCT对应的微码组,并依序读取其中的微码;及
蝴蝶运算电路,用于根据所述控制器所读取的微码进行蝴蝶运算,以实现所述DCT/IDCT,所述蝴蝶运算电路包括:
系数寄存模块,用于存储所述蝴蝶运算的运算系数;
结果寄存模块,用于存储所述蝴蝶运算的运算结果;
选择输入模块,用于根据所述控制器所读取的微码选择所述系数寄存模块内存放的所述运算系数或所述结果寄存模块内存放的所述运算结果以输出;及
运算模块,用于根据所述控制器所读取的微码将所述选择输入模块输出的数据进行运算,并将运算结果存入所述结果寄存模块;
其中,每一所述微码包括运算指令、结果存放地、多个数据来源及移位值,所述运算指令用于指示所述运算模块进行运算的数据及对所述数据进行的运算规则,所述结果存放地用于指示所述运算模块输出的运算结果在所述结果寄存模块中的存放位置,所述数据来源用于指示所述选择输入模块选择输入所述运算模块的数据,所述移位值用于指示所述运算模块对所述选择输入模块所输入的数据进行移位的位数。
2.如权利要求1所述的DCT/IDCT电路,其特征在于,所述运算指令包括:
移位方向,用于指示所述运算模块对所述选择输入模块所输入的数据进行移位的方向;
多个运算数据,用于表示所述运算模块进行运算的数据;及
多个运算规则,用于指示运算模块进行的运算。
3.如权利要求2所述的DCT/IDCT电路,其特征在于,所述多个运算规则包括加、减、求相反数后再加。
4.如权利要求2所述的DCT/IDCT电路,其特征在于,所述多个运算数据包括所述多个数据来源所指示的数据。
5.如权利要求4所述的DCT/IDCT电路,其特征在于,所述多个运算数据还包括在所述运算模块进行新一轮运算时,所述运算模块的上一轮运算的运算结果。
6.如权利要求2所述的DCT/IDCT电路,其特征在于,所述运算模块还用于根据所述移位值与所述移位方向将所述多个运算数据进行移位运算得到移位结果,并根据所述多个运算规则将所述移位结果与所述多个运算数据进行运算,以得出所述运算结果。
7.如权利要求1所述的DCT/IDCT电路,其特征在于,所述运算模块包括至少二个运算单元,每一运算单元包括:
移位器,与所述选择输入模块相连,用于将选择输入模块输入的数据进行移位运算;及
加减运算器,其第一输入端与所述移位器的输出端相连,其第二输入端与所述选择输入模块相连,用于根据所述控制器所选择的微码对从所述移位器输入的数据与所述选择输入模块输入的数据进行加减运算,以得出所述运算结果。
8.如权利要求1所述的DCT/IDCT电路,其特征在于,所述选择输入模块包括:
多个多工器,用于选择输出所述系数寄存模块内存放的所述运算系数或所述结果寄存模块内存放的所述运算结果;及
多个D触发器,用于控制所述多工器输出数据的时钟周期,以同步其输入到所述运算模块的数据。
9.如权利要求8所述的DCT/IDCT电路,其特征在于,所述多工器还用于在所述运算模块进行新一轮运算时选择输出所述运算模块的上一轮运算的运算结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103052384A CN101989254B (zh) | 2009-08-05 | 2009-08-05 | 离散余弦转换及其逆转换电路 |
US12/613,658 US8296349B2 (en) | 2009-08-05 | 2009-11-06 | Discrete cosine (DCT) and inverse discrete cosine transform circuit (IDCT) that executes DCT/IDCT operations with bufferfly stages |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103052384A CN101989254B (zh) | 2009-08-05 | 2009-08-05 | 离散余弦转换及其逆转换电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101989254A CN101989254A (zh) | 2011-03-23 |
CN101989254B true CN101989254B (zh) | 2012-03-14 |
Family
ID=43535608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009103052384A Expired - Fee Related CN101989254B (zh) | 2009-08-05 | 2009-08-05 | 离散余弦转换及其逆转换电路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8296349B2 (zh) |
CN (1) | CN101989254B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160021369A1 (en) * | 2014-07-15 | 2016-01-21 | Shreyas HAMPALI | Video coding including a stage-interdependent multi-stage butterfly integer transform |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1149496C (zh) * | 1993-03-31 | 2004-05-12 | 索尼公司 | 自适应视频信号运算处理装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5831881A (en) * | 1994-12-02 | 1998-11-03 | Sican Gmbh | Method and circuit for forward/inverse discrete cosine transform (DCT/IDCT) |
JP3547972B2 (ja) * | 1998-01-30 | 2004-07-28 | 三洋電機株式会社 | 離散コサイン変換回路 |
CN1147155C (zh) * | 1998-12-14 | 2004-04-21 | 松下电器产业株式会社 | Dct运算装置 |
US7020671B1 (en) * | 2000-03-21 | 2006-03-28 | Hitachi America, Ltd. | Implementation of an inverse discrete cosine transform using single instruction multiple data instructions |
US6704759B2 (en) * | 2001-01-19 | 2004-03-09 | Motorola, Inc. | Method and apparatus for compression/decompression and filtering of a signal |
US6996595B2 (en) * | 2001-05-16 | 2006-02-07 | Qualcomm Incorporated | Apparatus and method for consolidating output data from a plurality of processors |
US6870885B2 (en) * | 2001-05-16 | 2005-03-22 | Qualcomm Incorporated | Apparatus and method for decoding and computing a discrete cosine transform using a butterfly processor |
KR100481067B1 (ko) * | 2001-09-28 | 2005-04-07 | 브이케이 주식회사 | 분산 산술 처리장치 및 그를 이용한 이차원 이산여현변환 처리장치 |
-
2009
- 2009-08-05 CN CN2009103052384A patent/CN101989254B/zh not_active Expired - Fee Related
- 2009-11-06 US US12/613,658 patent/US8296349B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1149496C (zh) * | 1993-03-31 | 2004-05-12 | 索尼公司 | 自适应视频信号运算处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101989254A (zh) | 2011-03-23 |
US8296349B2 (en) | 2012-10-23 |
US20110035425A1 (en) | 2011-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101465954B (zh) | 一种对图像进行缩放的方法和装置 | |
JP2001236496A (ja) | 絶対差分の合計および対称濾波用の再構成可能simdコプロセッサ構造 | |
CN1095286C (zh) | 从一个或两个预测数据块计算象素值的装置和方法 | |
CN103180853A (zh) | 使用热感知调度和绑定的硬件合成 | |
CN100531393C (zh) | 以管线架构应用于离散余弦变换与反离散余弦变换的方法 | |
WO2014013726A1 (ja) | Fft回路 | |
CN102035502A (zh) | 一种fir滤波器的实现结构 | |
CN102098509B (zh) | 基于Farrow结构的可重构插值滤波器 | |
CN101989254B (zh) | 离散余弦转换及其逆转换电路 | |
CN102932643B (zh) | 一种适用于hevc标准的扩展可变块运动估计电路 | |
CN104202016A (zh) | 一种基于查表法的任意倍可变的信号升采样实现方法及系统 | |
CN101188761A (zh) | Avs标准中基于并行处理来优化dct快速算法的方法 | |
CN103778086A (zh) | 一种基于粗粒度动态可重构系统的多模式数据访问装置及办法 | |
CN1703094A (zh) | 1/4像素插值应用于1/2像素插值结果的图象插值装置和方法 | |
CN110507353A (zh) | 超声波束形成器的延迟和变迹控制接口 | |
CN101646080A (zh) | 基于avs并行流水idct快速变换的方法和装置 | |
CN103237211B (zh) | 一种基于fpga的视频亚像素亮度插值的方法及其装置 | |
WO2016197393A1 (zh) | 并行多相位图像插值装置和方法 | |
TWI414186B (zh) | 離散余弦轉換及其逆轉換電路 | |
CN103067718B (zh) | 适用于数字视频编解码的一维离散余弦逆变换模块电路 | |
CN101500168B (zh) | 一种图像亮度1/3插值装置 | |
Pastuszak | Optimization of the Generative Multi-Symbol Architecture of the Binary Arithmetic Coder for UHDTV Video Encoders | |
CN103268619B (zh) | swf文件中图片数据批量压缩的方法及装置 | |
CN111368250B (zh) | 基于傅里叶变换/逆变换的数据处理系统、方法及设备 | |
CN101888558B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120314 Termination date: 20140805 |
|
EXPY | Termination of patent right or utility model |