CN1697328A - 快速视频编解码变换实现 - Google Patents

快速视频编解码变换实现 Download PDF

Info

Publication number
CN1697328A
CN1697328A CNA2005100688953A CN200510068895A CN1697328A CN 1697328 A CN1697328 A CN 1697328A CN A2005100688953 A CNA2005100688953 A CN A2005100688953A CN 200510068895 A CN200510068895 A CN 200510068895A CN 1697328 A CN1697328 A CN 1697328A
Authority
CN
China
Prior art keywords
variable
butterfly operation
value
matrix
transformation
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.)
Granted
Application number
CNA2005100688953A
Other languages
English (en)
Other versions
CN1697328B (zh
Inventor
S·斯里尼瓦桑
J·梁
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1697328A publication Critical patent/CN1697328A/zh
Application granted granted Critical
Publication of CN1697328B publication Critical patent/CN1697328B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Abstract

使用一连串蝶式运算和矩阵乘法,来实现8点WMV9/VC-9变换的快速实现。通过以逆向流应用蝶式运算的逆运算以及矩阵乘法可实现反变换的快速实现。这些快速实现许可或者在两个维度的过滤结束时的变换阶段、或者分开地在每个阶段并入比例缩放。该变换的快速实现可以被用于基于图像压缩与其它信号处理系统内的这个变换的编码器和解码器中。

Description

快速视频编解码变换实现
技术领域
本发明涉及用于数字地对信号进行编码和处理的技术。更具体地说,本发明涉及信号(例如,图像和视频)的编码和解码过程中的一类在计算上有效率的变换的快速实现。
背景技术
变换编码是一种被用于许多音频、图像和视频压缩系统中的压缩技术。未被压缩的数字图像和视频通常被表现或捕捉,作为被排列在二维格栅中的图像或视频帧内的各个位置处的图元或颜色的样值。例如,关于图像的典型格式包括被排列为格栅的24位彩色图元样值流。每个样值是表示色彩空间(例如,RGB或YIQ等)内的格栅中的像素位置处的彩色成分的数字。各种图像和视频系统可以使用采样的各种不同的颜色、空间和时间分辨率。
未被压缩的数字图像和视频信号会消耗相当大的存储和传输容量。通过将该信号的空间域表示转换成频域(或其它相似的变换域)表示,然后降低该变换域表示的某些一般不太能察觉的频率分量的分辨率,变换编码可以减小数字图像和视频的尺寸。与降低空间域中的图像或视频的颜色或空间分辨率相比,这一般会产生该数字信号的不太能察觉的。
更明确地说,典型的变换编码技术将该未被压缩的数字图像的像素划分成有固定尺寸的二维块,每个块可能与其它块重叠。执行空间频率分析的线性变换被应用于每个块,这将那个块内的这些彼此间隔的样值转换成一组频率(或变换)系数,该组频率(或变换)系数通常表示闭塞间隔上的对应的频带内的数字信号的强度。对于压缩,这些变换系数可以被选择性地量化(即,降低分辨率,例如,通过丢弃这些系数值的最低位或者将较高分辨率数集中的值映射到较低分辨率),并且,熵或可变长度也被编码成被压缩的数据流。在解码时,这些变换系数将进行逆变换,以便差不多重建该原始颜色/空间采样的图像/视频信号。
许多图像和视频压缩系统(例如,MPEG和Windows Media等)利用基于“离散余弦变换”(DCT)的变换。已知该DCT具有导致几乎最佳的数据压缩的有利的能量压缩属性。在这些压缩系统中,在用于重建单独的图像块的压缩系统的编码器和解码器中的这些重建回路内使用逆向DCT(IDCT)。在“关于8×8逆向离散余弦变换的实现的IEEE标准规范(IEEE Standard Specification for theImplementations of 8×8 Inverse Discrete Consine Transform)”(IEEE标准1180-1990,1990年12月6日)中,描述了该IDCT的示例性实现。
该IEEE标准1180-1990中所定义的IDCT变换的缺点是:该变换的计算涉及64位浮点数的矩阵乘法,这在计算上花费昂贵。这会限制该图像或视频压缩系统的性能,尤其在流媒体和相似的媒体重放应用程序中——其中,在实时的基础上或在其它相似的时间约束下,对大量压缩数据执行该IDCT。
Windows Media Video 9编解码(WMV9)标准(已被提议以通过“电影与电视工程师学会”(SMPTE)C24技术委员会标准化为视频编解码9(VC-9))定义四种类型的二维数据变换——它们是8×8、8×4、4×8和4×4变换。这些VC-9标准变换具有类似于DCT的能量压缩属性,但具有基于对整数的矩阵乘法运算的实现,用于获得计算上的效率。在2003年2月28日提交的序列号为10/376,147的美国专利申请(其揭示说明被包括于此,用作参考)中,更充分地描述了这些WMV9/VC-9变换的矩阵实现。该WMV9规范要求这些逆变换的位精确(bit-exact)实现。
线性变换的快速实现具有漫长的历史。快速变换的一个众所周知的例子是J.W.Cooley和J.W.Tukey的《关于综合傅立叶级数的机器计算的算法(An AlgorithmFor The Machine Calculation Of Complex Fourier Series)》(数学计算第19卷,第297-301页,1965年)中所描述的“快速傅立叶变换”(FFT)。该FFT使用O(NlogN)运算来实现N点傅立叶变换。傅立叶变换定义的固有对称性允许这个简化。通过W.Chen、C.H.Smith和S.C.Fralick的《关于离散余弦变换的快速计算算法(A FastComputational Algorithm For The Discrete Consines Transfrom)》(IEEE Trans.Commun.,第25卷,第1004-1009页,1977年9月)以及H.Malvar的《离散余弦变换和离散哈特利变换的快速计算(Fast Computation Of The Discrete ConsineTransform And The Discrete Hartly Transform)》(IEEE Trans.Acoust.,语音、信号处理,第ASSP-35卷,第1484-1485页,1987年10月),类似的快速实现已被示出存在,用于“离散余弦变换”(DCT)。
快速变换已将变换的矩阵乘法定义分解成涉及“蝶式”运算的一系列步骤。该蝶式运算是两个变量之间的加权数据交换,这两个变量要么是空间域、频域,要么是中间变量。例如,图3中示出对应于该矩阵乘法的蝶式运算。
y = c s - s c x
这对应于原始二维矢量x在绕原点的旋转,具有可能的比例因数。如果c2+s2=1,那么,该比例因数是单位元素。具有实值输入的蝶式运算可以只利用三个实值乘法来加以实现。一般而言,矩阵不需要对应于纯旋转——可能存在比例缩放和剪切,而无额外的复杂性。
如刚刚所描述的,经由该蝶式运算的直接应用,四点WMV9/VC-9变换许可快速实现。
如上所述,已知8点DCT具有快速变换实现。但是,它无法容易地转化为8点WMV9/VC-9变换。WMV9/VC-9变换类似于DCT,但位精确性的整数实现和要求使从任何已知快速实现的直接映射成为不可能。
如2003年2月28日提交的序列号为10/376,147的美国专利申请中所描述的,8点WMV9/VC-9变换可以由使用一对偶数和奇数矩阵的运算来实现。已知:在其后跟随四点DCT的输入处,可以由一系列蝶式运算来平凡地实现DCT的这些偶基函数(即基函数0、2、4和8)。DCT的这个已知快速实现可很好地转化为8点WMV9/VC-9变换的偶数矩阵。
但是,这些已知的快速实现没有提供方法来导出8点WMV9/VC-9变换的奇数矩阵的快速实现。尽管WMV9/VC-9变换类似于DCT,但WMV9/VC-9中的位精确性的整数实现和要求使从任何已知快速变换实现的直接映射成为不可能。无法参照这些已知的快速变换实现来解决这些变换的各个奇基函数的分析与合成。
发明内容
这里描述了8点WMV9/VC-9变换的快速实现。所描述的实现包括8点WMV9/VC-9变换的快速前向与逆向变换实现,以及每一项的替换实现。这些快速实现许可将缩放比例并入过滤的两个维度结束时的阶段,或分开地并入每个阶段。这些快速实现也可以用于使用WMV9/VC-9变换、以及图像压缩和其它信号处理系统的编解码器的编码器和解码器侧上。
通过以下参照附图而进行的对实施例的详细说明,本发明的额外的特点和优点将变得一目了然。
附图说明
图1是使用这里所描述的WMV9/VC-9变换的快速实现的视频编码器的框图。
图2是使用这里所描述的WMV9/VC-9变换的快速实现的视频解码器的框图。
图3是对应于标准正交旋转的现有技术的蝶式运算的图表。
图4是无比例缩放的4点WMV9/VC-9前向变换的快速实现的框图。
图5是无比例缩放的4点WMV9/VC-9反变换的快速实现的框图。
图6是无比例缩放的8点WMV9/VC-9前向变换的快速实现的框图。
图7是无比例缩放的8点WMV9/VC-9反变换的快速实现的框图。
图8是无比例缩放的8点WMV9/VC-9反变换的替换快速实现的框图。
图9是无比例缩放的8点WMV9/VC-9前向变换的替换快速实现的框图。
图10是关于图1和图2中的视频编码器/解码器的合适的计算环境的框图。
具体实施方式
以下说明针对WMV9和VC-9编解码中所定义的一组变换的快速实现,并且,它可以被应用于服从WMV9/VC-9的编解码以及其它二维媒体(例如,视频和图像)编解码中。这些媒体编码变换的快速实现的示例性应用是在图像或视频编码器和解码器中。但是,如这里所描述的那样来构造的这些变换不局限于图像或视频编解码,并且可以被应用于其它媒体处理系统。因此,这些变换的快速实现可以在概括的图像或视频编码器和解码器的环境中加以描述,但作为选择,可以被并入使用这些变换的各种类型的媒体信号处理系统中。
1.概括的视频编码器和解码器
图1是概括的视频编码器(100)的框图;并且,图2是概括的视频解码器(200)的框图,其中,可以并入WMV9/VC-9变换。
编码器和解码器内的各个模块之间所示的各种关系指出编码器和解码器中的主要信息流;为简单起见,没有示出其它关系。特别是,图1和图2通常不示出指出用于视频序列、帧、宏块、块等的编码器设置、模式、表格等的辅助信息。通常在该辅助信息的熵编码之后,在该输出位流中发送这类辅助信息。该输出位流的格式可以是Windows Media Video格式或另一格式。
编码器(100)和解码器(200)是基于块的,并且使用4:2:0宏块格式——每个宏块包括4个8×8的亮度块(有时被视作一个16×16宏块)和两个8×8的色度块。作为选择,编码器(100)和解码器(200)是基于对象的,并且使用不同的宏块或块格式,或者对不同于8×8块和16×16宏块的尺寸或配置的像素集执行运算。
根据所需压缩的实现和类型,编码器或解码器的模块可以被添加、省略、分成多个模块、与其它模块结合、并且/或者用相似的模块来取代。在替换实现例中,具有不同的模块和/或其它模块配置的编码器或解码器执行所描述的技术中的一项或多项技术。
A.视频编码器
图1是一般的视频编码器系统(100)的框图。该编码器系统(100)接收包括当前帧(105)的视频帧序列,并且产生作为输出的被压缩的视频信息(195)。视频编码器的特定实施例通常使用该概括的编码器(100)的变更或补充版本。
编码器系统(100)压缩预测帧和关键帧。为呈现起见,图1示出了关键帧通过编码器系统(100)的路径、以及前向预测帧的路径。编码器系统(100)的许多组件被用于压缩关键帧和预测帧两者。由那些组件执行的精确运算可以根据正在被压缩的信息类型而变化。
预测帧[也被称作“p帧”、“对于双向预测的b帧”或“帧间编码帧”]在从一个或多个其它的帧的预测(或差异)方面被加以表现。预测残余是预测帧与原始帧之间的差异。相反,不参考其它帧来压缩关键帧[也被称作“i帧”、“帧内编码帧”]。
如果当前帧(105)是前向预测帧,那么,运动估计器(110)估计该当前帧(105)的宏块或其它像素集相对于参考帧的运动,该参考帧是在该帧存储(120)中被缓冲的被重建的前一帧(125)。在替换实施例中,参考帧是后一帧,或者,当前帧被进行双向预测。运动估计器(110)输出运动信息(115)(例如,运动矢量),作为辅助信息。运动补偿器(130)将运动信息(115)应用于重建的前一帧(125),以形成经运动补偿的当前帧(135)。但是,该预测很少是完美的,经运动补偿的当前帧(135)与原始当前帧(105)之间的差异是预测残余(145)。作为选择,运动估计器和运动补偿器应用另一种类型的运动估计/补偿。
频率变换器(160)将该空间域视频信息转换成频域(即频谱)数据。对于基于块的视频帧,频率变换器(160)应用以下各个章节中所描述的变换,这些变换具有类似于离散余弦变换[“DCT”]的属性。在某些实施例中,频率变换器(160)将频率变换应用于关键帧的空间预测残余的块。频率变换器(160)可以应用8×8、8×4、4×8或其它尺寸频率变换。
然后,量化器(170)对频谱数据系数块进行量化。量化器将统一的标量量化应用于具有步长的频谱数据,该步长在逐帧的基础或其它基础上变化。作为选择,量化器将另一种类型的量化应用于频谱数据系数(例如,非均匀矢量或非自适应量化),或者在不使用频率变换的编码器系统中直接量化空间域数据。除自适应量化以外,编码器(100)还可以使用帧丢弃、自适应过滤、或关于速率控制的其它技术。
当随后的运动估计/补偿需要被重建的当前帧时,反量化器(176)对这些被量化的频谱数据系数执行反量化。然后,反频率变换器(166)执行频率变换器(160)的运算的逆运算,从而产生被重建的预测残余(对于被预测的帧)或被重建的关键帧。如果当前帧(105)是关键帧,那么,被重建的关键帧被视作该被重建的当前帧(未示出)。如果当前帧(105)是被预测的帧,那么,将被重建的预测残余加入经运动补偿的当前帧(135),以形成被重建的当前帧。帧存储(120)缓冲被重建的当前帧,用于预测下一个帧。在某些实施例中,编码器将分块滤波器(deblockingfilter)应用于被重建的帧,以便自适应地平滑帧块中的不连续性。
熵编码器(180)压缩量化器(170)的输出、以及某些辅助信息(例如,运动信息(115)、量化步长)。典型的熵编码技术包括算术编码、差分编码、霍夫曼编码技术、运行长度编码、LZ编码、词典编码、以及以上编码的组合。熵编码器(180)通常对不同种类信息(例如,DC系数、AC系数、不同种类的辅助信息)使用不同的编码技术,并且可以从特定编码技术内的多个码表之中进行选择。
熵编码器(180)将被压缩的视频信息(195)放入缓冲器(190)中。缓冲水平指示器被反馈给比特率自适应模块。被压缩的视频信息(195)按恒定或相对恒定的比特率来从缓冲器(190)中被放空,并且被存储,用于按那个比特率的随后的流传送。作为选择,编码器系统(100)在压缩之后立即流传送被压缩的视频信息。
在缓冲器(190)前面或后面,被压缩的视频信息(195)可以进行信道编码,用于通过网络传输。信道编码可以将误差检测和纠正数据应用于被压缩的视频信息(195)。
B.视频解码器
图2是一般的视频解码器系统(200)的框图。解码器系统(200)接收被压缩的视频帧序列的信息(295),并产生包括被重建的帧(205)的输出。视频解码器的特定实施例通常使用该概括的解码器(200)的变更或补充版本。
解码器系统(200)解压被预测的帧和关键帧。为呈现起见,图2示出了关键帧通过解码器系统(200)的路径、以及前向预测帧的路径。解码器系统(200)的许多组件用于压缩关键帧和预测帧两者。由那些组件执行的精确运算可以根据正在被压缩的信息类型而变化。
缓冲器(290)接收被压缩的视频序列的信息(295),并且使接收的信息对熵解码器(280)可用。缓冲器(290)通常按随时间推移而相当恒定的速率来接收信息,并且包括抖动缓冲器,以平滑带宽或传输中的短期变更。缓冲器(290)也可以包括重放缓冲器和其它缓冲器。作为选择,缓冲器(290)按变化的速率来接收信息。在缓冲器(290)前面或后面,被压缩的视频信息可以进行信道解码和处理,用于误差检测和纠正。
熵解码器(280)对经熵编码的量化数据以及经熵编码的辅助信息(例如,运动信息、量化步长)进行熵解码,它通常应用编码器中所执行的熵编码的逆晕眩。熵解码技术包括算术解码、差分解码、霍夫曼解码、运行长度解码、LZ解码、词典解码、以及以上解码的组合。熵解码器(280)通常对不同种类的信息(例如,DC系数、AC系数、不同种类的辅助信息)使用不同的解码技术,并且可以从特定解码技术内的多个代表之中进行选择。
如果将要被重建的帧(205)是前向预测帧,那么,运动补偿器(230)将运动信息(215)应用于参考帧(225),以形成正在被重建的帧(205)的预测(235)。例如,运动补偿器(230)使用宏块运动矢量来发现参考帧(225)中的宏块。帧缓冲器(220)存储先前被重建的帧,用作参考帧。作为选择,运动补偿器应用另一种类型的运动补偿。运动补偿器所执行的预测很少是完美的,所以,解码器(200)也重建预测残余。
当解码器需要被重建的帧用于随后的运动补偿时,帧存储器(220)缓冲被重建的帧,用于预测下一个帧。在某些实施例中,编码器将分块滤波器应用于被重建的帧,以便自适应地平滑帧块中的不连续性。
反量化器(270)对经熵解码的数据进行反量化。一般而言,反量化器将均匀的标量反量化应用于具有步长的经熵解码的数据,该步长在逐帧的基础或其它基础上变化。作为选择,反量化器将另一种类型的反量化应用于数据(例如,非均匀矢量或非自适应量化),或者在不使用反频率变换的解码器系统中直接反量化空间域数据。
反频率变换器(260)将经量化的频域数据转换成空间域视频信息。对于基于块的视频帧,反频率变换器(260)应用以下各个章节中所描述的反变换。在某些实施例中,反频率变换器(260)将反频率变换应用于关键帧的空间预测残余块。反频率变换器(260)可以应用8×8、8×4、4×8或其它尺寸反频率变换。
2.WMV9/VC-9变换
WMV9/VC-9标准定义了可以被用作视频编码器100(图1)和视频解码器200(图2)中的频率变换160和反频率变换260的变换。WMV9/VC-9标准定义了四种类型的二维数据变换——它们是8×8、8×4、4×8和4×4变换。按照以下概括的定义,该规范要求这些反变换的位精确实现。
A.WMV9/VC-9变换定义
WMV9/VC-9中所使用的这些2D变换是可分离的,并且,使用被适当定义的经比例缩放的接近标准正交的乘数矩阵而在每个方向上执行变换。两个矩阵(一个矩阵用于4点一维变换,另一个矩阵用于8点一维变换)被定义如下。所有变量被假设为整数。
T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4
在格式说明中详细解释反变换,因为所有服从解码器被要求提供位精确输出。该变换被定义如下:首先,对解除量化的变换矩阵的各行进行反变换。此后是列的反变换。
设D表示被解除量化的变换矩阵,D1表示变换的第一阶段的输出,R表示行和列范围反变换之后的被重建的输出。D、D1和R是与所需的变换尺寸相同的同构8×8、8×4、4×8和4×4矩阵。在对符号的滥用中,涉及矩阵和标量的运算在这个文档中被定义为该矩阵的条目范围(entrywise)运算。同样,具有矩阵自变量的标量运算被定义为对矩阵的条目范围标量运算。矩阵和矢量的和是对矩阵和标量的条目范围和的简化符号,该标量的值从矢量的协同定位(co-located)的行或列中被导出(根据该矢量是否分别是列矢量或行矢量)。
m×n反变换的正则公式是:
R = ( T n ′ · D · T m ) 1024
分母被选择是最接近于1D变换(它是{4×288,4×289,4×292}之一)的基函数的平方范数的2的幂。由于实际范数与分母之间的比率(大约是1.12)接近于1,因此,在用于IDCT的量化参数与用于WMV9/VC-9变换的量化参数之间有紧密的对应性。这里没有引入额外的误差,因为在前向变换过程中执行所有剩余的归一化(本质上通过1024/基函数的平方范数)——这一点在该文档的后面有进一步的描述。
在实践中,除以1024的除法被实现为舍入运算,该舍入运算跨越两个1D变换过程而被分开。另外,通过将第二阶段矩阵分成偶分量和奇分量,可以利用最大精确度保持力来实现16位反变换,如以下定义:
T 8 = 2 · T 8 e + T 8 o
T 4 = 2 · T 4 e + T 4 o
这些奇分量T8 o和T4 o只被许可具有0、1和-1作为条目。由于T8的大多数条目是偶数,因此,T8 o是稀疏矩阵。同样,T4 o具有与T4 e高度相关的结构。该反变换过程的WMV9/VC-9正则表示现在被定义如下:
D 1 = ( D · T m ) 8
D = ( T n ′ e · D 1 + T n ′ o · D 1 2 ) 64
由于奇分量具有该Tn范围的一半,并且由于奇分量Tn o局限于具有0、1和-1条目,因此,变换的第二阶段中的所得的分子可以被示出在范围上局限于16个比特。有较小的计算性能损失,来偿还这个额外的比特。然而,该变换矩阵的分解以微不足道的代价而导致改善的算术精确度。
以下示出4和8点变换的这些奇、偶分量:
T 4 e = 8 8 8 8 11 5 - 5 - 11 8 - 8 - 8 8 5 - 11 11 - 5
T 4 o = 1 1 1 1 0 0 0 0 1 - 1 - 1 1 0 0 0 0
T 8 e = 6 6 6 6 6 6 6 6 8 7 4 2 - 2 - 4 - 7 - 8 8 3 - 3 - 8 - 8 - 3 3 8 7 - 2 - 8 - 5 5 8 2 - 7 6 - 6 - 6 6 6 - 6 - 6 6 4 - 8 2 7 - 7 - 2 8 - 4 3 - 8 8 - 3 - 3 8 - 8 3 2 - 5 7 - 8 8 - 7 5 - 2
T 8 o = 0 0 0 0 0 0 0 0 0 1 1 0 0 - 1 - 1 0 0 0 0 0 0 0 0 0 1 0 0 1 - 1 0 0 - 1 0 0 0 0 0 0 0 0 1 0 0 1 - 1 0 0 - 1 0 0 0 0 0 0 0 0 0 1 1 0 0 - 1 - 1 0
以T4 o的自右乘可以被简化为:
W · T 4 o = W 1 W 2 W 2 W 1
其中
W 1 W 2 = W · 1 1 0 0 1 - 1 0 0
它是平凡的蝶式运算。同样,以T8 o的自右乘相当于仅仅两个加法(和求反):
W · T 8 o = W 1 W 2 W 2 W 1 - W 1 - W 2 - W 2 - W 1
其中
W 1 W 2 = W · 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1
B.8×8反变换
行范围的反变换首先被如下执行:
                   D1=(D·T8+4)>>3
通过查看T8的奇分量来计算8个元素的这两个共同的行,可以定义列范围的反变换。在该结果被下舍入6个比特之前,这些被右移一个比特,然后添加到偶分量乘积(或从偶分量乘积中减去)。该运算如下所示:
D 1 a D 1 b = D 1 ′ · 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1
                   D′2a=D1a>>1
                   D′2b=D1b>>1
R = ( T 8 ′ e · D 1 + D 2 a D 2 b D 2 b D 2 a - D 2 a - D 2 b - D 2 b - D 2 a + 32 ) > > 6 - - - ( 1 )
C.4×8反变换
根据WMV9/VC-9约定,“4×8”指的是具有4列和8行的数组。行范围的反变换是4点运算,它被定义如下:
                   D1=(D·T4+4)>>3
沿这些列的变换的第二部分等同于8×8变换的第二部分,并且在以上的方程式(1)中被加以定义。
D.8×4反变换
根据WMV9/VC-9约定,“8×4”指的是具有8列和4行的数组。8×4变换的第一阶段根据以下公式来在这4行的8个条目中的每个条目上运算:
                    D1=(D·T8+4)>>3
关于第二阶段的列范围的4点反变换被定义如下:
D 1 a D 1 b = D 1 ′ · 1 1 0 0 1 - 1 0 0
                    D′2a=D1a>>1
                    D′2b=D1b>>1                       (2)
R = ( T 4 ′ e · D 1 + D 2 a D 2 b D 2 b D 2 a + 32 ) > > 6
E.4×4反变换
4×4反变换的第一阶段是行范围的运算,它是4点反变换,被定义如下:
                    D1=(D·T4+4)>>3
沿这些列的变换的第二部分等同于8×4变换的第二部分,并且在以上的方程式(2)中被加以定义。
F.反变换的替换实现
使用变换矩阵的奇分量和偶分量的反变换的第二阶段的定义被要求用最大精确度保持力来达到16位实现。如果16位字长不是问题(例如,在专用集成电路或ASIC上),那么,可以使用17位中间结果来简化部分的基础算术。可以导出与前一章节中的这些定义相比较的产生位精确结果的变换的替换定义。由于这些实现的第一阶段等同于原始定义的第一阶段,因此,只有第二阶段被定义如下:
8×8和4×8反变换具有第二阶段:
R = ( T 8 t · D 1 + 64 64 64 64 65 65 65 65 ) > > 7
8×4和4×4反变换具有第二阶段:
R = ( T 4 t · D 1 + 64 64 64 64 ) > > 7
G.前向变换定义
前向变换通过类似的过程来获得,除了以下两点以外:(i)变换矩阵被转置;以及(ii)比例因数是不同的。由于前向变换不需要在编码器侧上按位精确方式来加以执行,因此,不再要求整数变量的假定——确实可以使用浮点或经缩放的定点算术来执行前向变换。以下所示的前向变换的矩阵乘法表示纯粹是分析表示,与反变换不同——在反变换中,矩阵乘法明确地指具有16位寄存器的整数乘法。可以在必要时执行各个阶段之间的舍入,并且,这个选择留给该编码器。以下给出前向变换的各个原型定义:
可以使用以下关于这四种情况的方程式组,来计算数据矩阵D的4×4、4×8、8×4和8×8变换:
Figure A20051006889500222
Figure A20051006889500223
Figure A20051006889500224
其中,算子°是分量范围(componentwise)乘法。该归一化矩阵Nij由以下公式给出:
                        Nij=cjc′i
其中,列矢量c是:
c 4 = 8 289 8 292 8 289 8 292 ′
c 8 = 8 288 8 289 8 292 8 289 8 288 8 289 8 292 8 289 ′
再有,可以在所有乘法的结尾处一次执行归一化,或者可以在每个阶段分开地执行归一化。这是编码器的选择。可以通过2的幂来按比例增加输出,以提高前矢量化过程中的精确度。
3.WMV9/VC-9变换的快速实现
本章节描述上述WMV9/VC-9变换的快速实现。本质上,由于每个变换阶段是这个形式的矩阵乘法,因此,可以通过加速矩阵乘法T4D和T8D,来实现前向变换过程的加速。同样,通过加速矩阵乘法T4D和T8D,可以加速反变换。
四点WMV9/VC-9变换(它是矩阵乘法T4D)许可经由如图4所示的蝶式运算的直接应用的快速实现。图5示出了4点反变换(即矩阵乘法T4D)的快速实现。如所预期的,从前向变换的流向图翻转该信号流向图。在这些图中忽视比例缩放——如果在前向变换中使用浮点运算,则可以将比例缩放合为乘数。另外,如果需要整数实现,那么,较佳地在前向变换的两个阶段的结尾处(若不在量化阶段中)执行比例缩放。对于反变换,必须如在这个文档的较前面的各个章节中所定义的那样来执行比例缩放,以便成为服从WMV9/VC-9的。
虽然已知8点DCT具有快速变换实现,但是,它没有容易地转化为8点WMV9/VC-9变换。WMV9/VC-9变换类似于DCT,但位精确性的整数实现和要求使从任何已知快速实现的直接映射成为不可能。也已知:DCT的偶基函数(即基函数0、2、4和8)可以在其后跟随四点DCT的输入处通过一系列蝶式来平凡地实现——这个事实也转化为8点WMV9/VC-9变换。所以,在获得8点WMV9变换的快速实现的过程中,实际难题是奇基函数的分析与合成。以下解决这个难题。
图6示出了8点前向WMV9/VC-9变换的快速实现。(空间域)输入在左边,而(变换域)输出在右边。右上角的四个输出对应于偶底数,它们具有与图4中的4点变换的相似性。对应于奇底数的矩阵乘数如下所示:
T 8 odd = 16 15 9 4 - 4 - 9 - 15 - 16 15 - 4 - 16 - 9 9 16 4 - 15 9 - 16 5 15 - 15 - 4 16 - 9 4 - 9 15 - 16 16 - 15 9 - 4
可见,这些行关于中心奇对称,这被第一蝶式阶段利用。四个蝶式的这些“差异”项的所得的矩阵乘法采用以下公式:
T odd = 16 15 9 4 15 - 4 - 16 - 9 9 - 16 4 15 4 - 9 15 - 16
该4×4矩阵可以被分解如下:
T odd = 1 0 0 0 0 1 1 0 0 1 - 1 0 0 0 0 1 · 4 3 0 0 3 - 2 0 0 0 0 - 2 3 0 0 3 4 · 4 0 0 1 0 5 3 0 0 - 3 5 0 1 0 0 - 4
以上分解产生图6中所示的蝶式表示。由于这些分量矩阵也是整数值,因此,维持位精确性。
反变换通过两种方法中的一种来加以分解。第一种替换方案是:翻转前向变换的流向图。倒置蝶式运算。特别是,类型
Figure A20051006889500241
的蝶式是其自己的逆,而形式
Figure A20051006889500242
的蝶式是 的逆——在这两种情况中都忽视比例缩放。所以,通过翻转前向变换的流向图,获得图7中所示的快速反变换实现。
第二种替换方案是:指出“Todd是对称矩阵”。所以,反变换也涉及与前向变换相同的矩阵乘法,即,可以为关于前向变换的奇基函数维持相同的蝶式和排序。图8中示出这项实现。
也可以生成基于以上内容的翻转的前向变换。这提供了图9中所示的前向变换的替换快速实现。
5.计算环境
WMV9/VC-9变换的上述快速实现可以在其中执行图像与视频信号处理的各种设备上执行,包括:计算机;图像与视频记录、传输和接收设备;便携式视频播放器;视频会议;Web视频流应用程序等等,以及其它例子。图像与视频编码技术可以在硬件电路中(例如,在ASIC、FPGA等的电路中)加以执行,也可以在图像与视频处理软件中加以执行,该图像与视频处理软件在如图10中所示的计算机或其它计算环境内执行(不管是在中央处理单元(CPU)上执行,还是在专用图形处理器、视频卡或类似物上执行)。
图10展示了可以在其中实现所描述的快速WMV9/VC-9变换的合适的计算环境(1000)的概括例子。计算环境(1000)并不意在对本发明的使用范围或功能提出任何限制,因为本发明可以在各种不同的通用或专用计算环境中加以执行。
参照图10,计算环境(1000)包括至少一个处理单元(1010)和存储器(1020)。在图10中,这个最基本的配置(1030)被包括在虚线内。处理单元(1010)执行计算机可执行指令,并且可能是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令,以提高处理能力。存储器(1020)可以是易失存储器(例如,寄存器、高速缓存、RAM)、非易失存储器(例如,ROM、EEPROM、闪存等)、或两者的某个组合。存储器(1020)存储实现所描述的快速WMV9/VC-9变换的软件(1080)。
计算环境可以具有额外的特点。例如,计算环境(1000)包括存储(1040)、一个或多个输入设备(1050)、一个或多个输出设备(1060)、以及一个或多个通信连接(1070)。诸如总线、控制器或网络等互连机制(未示出)对计算环境(1000)的各个组件进行互连。通常,操作系统软件(未示出)为在计算环境(1000)中执行的其它软件提供操作环境,并协调计算环境(1000)的各个组件的活动。
存储(1040)可以是可移动的或不可移动的,它包括磁盘、磁带或盒式磁带、CD-ROM、CD-RW、DVD、或可以被用来存储信息并且可以在计算环境(1000)内被存取的任何其它的介质。存储(1040)储存用于实现生成并压缩量化矩阵的音频编码器的软件(1080)的指令。
(多个)输入设备(1050)可以是触摸式输入设备(例如,键盘、鼠标、笔或跟踪球)、语音输入设备、扫描设备、或为计算环境(1000)提供输入的另一设备。对于音频,(输入)输入设备(1050)可以是接受模拟或数字形式的音频输入的声卡或类似的设备、或为计算环境提供音频样值的CD-ROM阅读器。(多个)输出设备(1060)可以是显示器、打印机、扬声器、CD刻录机、或提供来自计算环境(1000)的输出的另一设备。
(多个)通信连接(1070)启用通过通信介质与另一计算实体的通信。通信介质传达信息(例如,计算机可执行指令、被压缩的音频或视频信息、或已调制数据信号中的其它数据)。已调制数据信号是一种信号,其一个或多个特征按为该信号中的信息编码的这样一种方式来加以设置或更改。举例来讲(不作限制),通信介质包括利用电、光学、RF、红外、声学或其它载波来实现的有线或无线技术。
可以在计算机可读介质的一般上下文中描述本发明的变换和编码/解码技术。计算机可读介质是可以在计算环境内被存取的任何可用介质。举例来讲(不作限制),对于计算环境(1000),计算机可读介质包括存储器(1020)、存储(1040)、通信介质、以及以上任何内容的组合。
可以在诸如正在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令(例如,程序模块中所包括的指令)的一般上下文中描述本发明的快速WMV9/VC-9变换。通常,程序模块包括执行特定任务或实现特定的抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。这些程序模块的功能可以如各种实现例中所需的在各个程序模块之间加以结合或分割。可以在本地或分布式计算环境内执行关于程序模块的计算机可执行指令。
为呈现起见,本详细说明使用如同“确定”、“生成”、“调整”和“应用”等术语来描述计算环境中的计算机操作。这些术语是对于计算机所执行的操作的高级抽象概念,不应该与人类执行的动作混淆。对应于这些术语的实际计算机操作根据实现而变化。
鉴于可以对其应用本发明的原理的许多可能的实施例,将本发明要求保护为可以归入所附权利要求书及其等效技术方案的范围和精神以内的所有这类实施例。

Claims (13)

1.一种方法,使用基于变换矩阵的块维度中的至少一个内的8点块变换的快速变换实现来对二维块中的媒体数据进行变换编码,所述变换矩阵被表示为
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 , 所述方法包括:
执行一蝶式运算的多个阶段,所述蝶式运算在空间域系数的8点集合与至少一个8点维度中的8点变换域系数之间进行转换,所述多个阶段包括奇变换域系数,并执行与矩阵
Figure A2005100688950002C2
的矩阵乘法。
2.一种提供媒体数据的变换编码的媒体系统,其特征在于,包括:
前向变换阶段,对于所述媒体数据的二维块,它用于执行所述块的前向变换,以将所述块转换到变换域;
量化阶段,它用于量化所述变换域块;
解除量化阶段,它用于对所述变换域块解除量化;以及
反变换阶段,用于执行所述变换域块的反变换,以产生形式 R = ( T n ′ · D · T m ) 1024 的重建块,其中,所述反变换的至少一个维度Tn或Tm是8点矩阵
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 , 所述反变换被实现为一连串蝶式运算,以及与矩阵 的矩阵乘法。
3.一种在其上携带用于实现一种方法的计算机可执行软件指令的计算机可读介质,所述方法使用基于变换矩阵的块维度中的至少一个维度内的8点块变换的快速变换实现来对二维块中的媒体数据进行变换编码,所述变换矩阵被表示为
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 , 所述方法包括:
执行一蝶式运算的多个阶段,所述蝶式运算在空间域系数的8点集合与所述至少一个8点维度中的8点变换域系数之间进行转换,所述多个阶段包括奇变换域系数,并执行与矩阵
Figure A2005100688950003C2
的矩阵乘法。
4.一种快速变换方法,用于变换空间域表示与变换域表示之间的图像数据的二维块,其中,所述块的至少一个维度是8个点,对于前向变换,包括:
对变量0~7的集合执行类型
Figure A2005100688950003C3
的一连串蝶式运算,至少包括,
变量0和7的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量5和6的蝶式运算,其中,值c和s是5和3,随后对变量6进行求反;
变量5和6的第二蝶式运算,其中,值c和s是1;以及
在变量5和6的第二蝶式运算之前,执行变量4和5以及变量7和6与矩阵的矩阵乘法;
由此,变量0~3产生偶系数,并且,变量4~7产生该变换域内的奇系数。
5.如权利要求4的快速变换方法,其特征在于,对于反变换,包括:
以前向变换的逆流执行所述蝶式运算的逆运算。
6.一种快速变换方法,用于变换空间域表示与变换域表示之间的图像数据的二维块,其中,所述块的至少一个维度是8个点,对于反变换,包括:
对变量0~7的集合执行类型
Figure A2005100688950004C1
的一连串蝶式运算,其中,变量0~3是偶变换系数,变量4~7是奇变换系数,至少包括,
变量5和6的蝶式运算,其中,值c和s是1;
变量6和5的第二蝶式运算,其中,值c和s是5和3,随后对变量5进行求反;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量0和7的蝶式运算,其中,值c和s是1;以及
在变量5和6的第二蝶式运算之前,执行变量4和5以及变量7和6与矩阵的矩阵乘法。
7.一种快速变换方法,用于变换空间域表示与变换域表示之间的图像数据的二维块,其中,所述块的至少一个维度是8个点,对于反变换,包括:
对变量0~7的集合执行类型
Figure A2005100688950004C3
的一连串蝶式运算,其中,变量0~3是偶变换系数,变量4~7是奇变换系数,至少包括:
变量5和6的蝶式运算,其中,值c和s是5和3,随后对变量6进行求反;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量5和6的第二蝶式运算,其中,值c和s是1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量0和7的蝶式运算,其中,值c和s是1;以及
在变量4和7的蝶式运算之后和在变量5和6的第二蝶式运算之前,执行变量4和5以及变量7和6与矩阵 的矩阵乘法。
8.如权利要求7所述的快速变换方法,其特征在于,对于前向变换,包括:
以所述前向变换的逆向流执行所述蝶式运算的逆运算。
9.一种快速变换方法,用于变换空间域表示与变换域表示之间的图像数据的二维块,其中,所述块的至少一个维度是8个点,对于前向变换,包括:
对变量0~7的集合执行类型 的一连串蝶式运算,至少包括,
变量0和7的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量5和6的第一蝶式运算,其中,值c和s是1;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量6和5的第二蝶式运算,其中,值c和s是5和3,随后对变量5进行求反;以及
在变量5和6的第一蝶式运算之后和在变量4和7的蝶式运算之前,执行变量4和5以及变量7和6与矩阵 的矩阵乘法;
由此,变量0~3产生偶系数,并且,变量4~7产生变换域内的奇系数。
10.一种用于执行二维媒体块的基于变换的压缩/解压的二维媒体压缩处理器,其中,所述块的至少一个8点维度中的变换基于变换矩阵 T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 所述处理器包括:
用于对变量0~7的集合执行类型 的一连串蝶式运算的装置,其中,变量0~3是偶变换系数,变量4~7是奇变换系数,至少包括,
变量0和7的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量5和6的蝶式运算,其中,值c和s是5和3,随后对变量6进行求反;
变量5和6的第二蝶式运算,其中,值c和s是1;以及
用于在变量5和6的第二蝶式运算之前执行变量4和5以及变量7和6与矩阵 的矩阵乘法的装置。
11.一种用于执行二维媒体块的基于变换的压缩/解压的二维媒体压缩处理器,其中,所述块的至少一个8点维度中的变换基于变换矩阵
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 , 所述处理器包括:
用于对变量0~7的集合执行类型 的一连串蝶式运算的装置,其中,变量0~3是偶变换系数,变量4~7是奇变换系数,至少包括,
变量5和6的蝶式运算,其中,值c和s是1;
变量6和5的第二蝶式运算,其中,值c和s是5和3,随后对变量5进行求反;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量0和7的蝶式运算,其中,值c和s是1;以及
用于在变量5和6的第二蝶式运算之前执行变量4和5以及变量7和6与矩阵
Figure A2005100688950007C4
的矩阵乘法的装置。
12.一种用于执行二维媒体块的基于变换的压缩/解压的二维媒体压缩处理器,其中,所述块的至少一个8点维度中的变换基于变换矩阵
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 , 所述处理器包括:
用于对变量0~7的集合执行类型 的一连串蝶式运算的装置,其中,变量0~3是偶变换系数,变量4~7是奇变换系数,至少包括,
变量5和6的蝶式运算,其中,值c和s是5和3,随后对变量6进行求反;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量5和6的第二蝶式运算,其中,值c和s是1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量0和7的蝶式运算,其中,值c和s是1;以及
用于在变量4和7的蝶式运算之后和在变量5和6的第二蝶式运算之前执行变量4和5以及变量7和6与矩阵 的矩阵乘法的装置。
13.一种用于执行二维媒体块的基于变换的压缩/解压的二维媒体压缩处理器,其中,所述块的至少一个8点维度中的变换基于变换矩阵
T 8 = 12 12 12 12 12 12 12 12 16 15 9 4 - 4 - 9 - 15 - 16 16 6 - 6 - 16 - 16 - 6 6 16 15 - 4 - 16 - 9 9 16 4 - 15 12 - 12 - 12 12 12 - 12 - 12 12 9 - 16 4 15 - 15 - 4 16 - 9 6 - 16 16 - 6 - 6 16 - 16 6 4 - 9 15 - 16 16 - 15 9 - 4 , 所述处理器包括:
用于对变量0~7的集合执行类型 的一连串蝶式运算的装置,其中,变量0~3是偶变换系数,变量4~7是奇变换系数,至少包括,
变量0和7的蝶式运算,其中,值c和s是1;
变量1和6的蝶式运算,其中,值c和s是1;
变量2和5的蝶式运算,其中,值c和s是1;
变量3和4的蝶式运算,其中,值c和s是1;
变量0和3的蝶式运算,其中,值c和s是1;
变量1和2的蝶式运算,其中,值c和s是1;
变量0和1的蝶式运算,其中,值c和s是1,按12来进行比例缩放;
变量3和2的蝶式运算,其中,值c和s是16和6;
变量5和6的第一蝶式运算,其中,值c和s是1;
变量4和7的蝶式运算,其中,值c和s是4和1;
变量6和5的第二蝶式运算,其中,值c和s是5和3,随后对变量5进行求反;以及
用于在变量5和6的第一蝶式运算之后和在变量4和7的蝶式运算之前执行变量4和5以及变量7和6与矩阵 的矩阵乘法的装置。
CN2005100688953A 2004-05-14 2005-05-13 快速视频编解码变换实现 Expired - Fee Related CN1697328B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/845,808 2004-05-14
US10/845,808 US7487193B2 (en) 2004-05-14 2004-05-14 Fast video codec transform implementations

Publications (2)

Publication Number Publication Date
CN1697328A true CN1697328A (zh) 2005-11-16
CN1697328B CN1697328B (zh) 2010-04-28

Family

ID=34939513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100688953A Expired - Fee Related CN1697328B (zh) 2004-05-14 2005-05-13 快速视频编解码变换实现

Country Status (5)

Country Link
US (1) US7487193B2 (zh)
EP (1) EP1596309A3 (zh)
JP (1) JP4425824B2 (zh)
KR (1) KR101153105B1 (zh)
CN (1) CN1697328B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572426A (zh) * 2011-12-11 2012-07-11 香港应用科技研究院有限公司 一种数据处理的方法和装置
CN104067621A (zh) * 2011-11-07 2014-09-24 Vid拓展公司 使用偶数-奇数整数变换后台的视频和数据处理
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
CN108432254A (zh) * 2015-11-30 2018-08-21 奥兰治 用于对图像进行编码和解码的方法、用于对图像进行编码和解码的设备以及相应的计算机程序

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070200738A1 (en) * 2005-10-12 2007-08-30 Yuriy Reznik Efficient multiplication-free computation for signal and data processing
US20070147496A1 (en) * 2005-12-23 2007-06-28 Bhaskar Sherigar Hardware implementation of programmable controls for inverse quantizing with a plurality of standards
US8595281B2 (en) * 2006-01-11 2013-11-26 Qualcomm Incorporated Transforms with common factors
US8849884B2 (en) * 2006-03-29 2014-09-30 Qualcom Incorporate Transform design with scaled and non-scaled interfaces
US8228983B2 (en) * 2007-12-04 2012-07-24 Hong Kong Applied Science And Technology Research Method and device for order-16 integer transform from order-8 integer cosine transform
US8438036B2 (en) * 2009-09-03 2013-05-07 Texas Instruments Incorporated Asynchronous sampling rate converter for audio applications
EP2985700A3 (en) * 2010-09-28 2016-08-17 Samsung Electronics Co., Ltd. Video encoding method and device and decoding method and device
US9378185B2 (en) * 2010-09-30 2016-06-28 Texas Instruments Incorporated Transform and quantization architecture for video coding and decoding
JP5678593B2 (ja) * 2010-11-12 2015-03-04 沖電気工業株式会社 符号化支援装置、符号化装置、復号支援装置、復号装置、符号化支援プログラム、及び復号支援プログラム
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
US9069726B2 (en) * 2012-12-12 2015-06-30 Microsoft Technology Licensing, Llc Iteratively calculating standard deviation for streamed data
US10275488B1 (en) * 2014-12-09 2019-04-30 Cloud & Stream Gears Llc Incremental covariance calculation for big data or streamed data using components

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63219066A (ja) 1987-03-06 1988-09-12 Matsushita Electric Ind Co Ltd 直交変換装置
US5357594A (en) * 1989-01-27 1994-10-18 Dolby Laboratories Licensing Corporation Encoding and decoding using specially designed pairs of analysis and synthesis windows
US5379351A (en) * 1992-02-19 1995-01-03 Integrated Information Technology, Inc. Video compression/decompression processing and processors
US5319724A (en) 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
JP2945487B2 (ja) * 1990-12-26 1999-09-06 株式会社日立製作所 行列乗算器
JPH04282988A (ja) 1991-03-12 1992-10-08 Sony Corp データ変換装置及び方法
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
JPH0645949A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0645948A (ja) 1992-07-27 1994-02-18 Victor Co Of Japan Ltd 直交変換装置及び逆直交変換装置
JPH0654307A (ja) 1992-07-29 1994-02-25 Casio Comput Co Ltd データ圧縮装置
JP3069455B2 (ja) * 1992-12-22 2000-07-24 富士写真フイルム株式会社 画像データ圧縮伸張装置における量子化・逆量子化回路
US5995539A (en) * 1993-03-17 1999-11-30 Miller; William J. Method and apparatus for signal transmission and reception
JP3697717B2 (ja) * 1993-09-24 2005-09-21 ソニー株式会社 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
US5864637A (en) * 1995-04-18 1999-01-26 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selective reduction of spatial resolution
US6002801A (en) * 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
JP2778622B2 (ja) 1995-06-06 1998-07-23 日本電気株式会社 2次元dct回路
JP2914226B2 (ja) 1995-06-16 1999-06-28 日本電気株式会社 可逆変換を可能にするディジタル信号の変換符号化方式
JP3274593B2 (ja) * 1995-09-27 2002-04-15 日本電気株式会社 可逆変換可能な変換装置及び逆変換装置
US5959673A (en) * 1995-10-05 1999-09-28 Microsoft Corporation Transform coding of dense motion vector fields for frame and object based video coding applications
US6957350B1 (en) * 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
JPH1091614A (ja) 1996-09-13 1998-04-10 Hitachi Ltd Idctの整数化法
SG54383A1 (en) * 1996-10-31 1998-11-16 Sgs Thomson Microelectronics A Method and apparatus for decoding multi-channel audio data
US5883823A (en) 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
CN1064507C (zh) * 1997-03-06 2001-04-11 华邦电子股份有限公司 可巡回执行的离散余弦转换及其逆转换集成电路处理器
US6058215A (en) * 1997-04-30 2000-05-02 Ricoh Company, Ltd. Reversible DCT for lossless-lossy compression
US6134270A (en) * 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
US6057855A (en) * 1997-07-02 2000-05-02 Hewlett-Packard Company Method and apparatus for providing polygon pixel sub-sample information using incremental means
JPH11122624A (ja) * 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US6006179A (en) * 1997-10-28 1999-12-21 America Online, Inc. Audio codec using adaptive sparse vector quantization with subband vector classification
CN1216337C (zh) * 1997-11-17 2005-08-24 索尼电子有限公司 用于采用离散变换进行数字视频数据压缩的方法和系统
US6137916A (en) * 1997-11-17 2000-10-24 Sony Electronics, Inc. Method and system for improved digital video data processing using 8-point discrete cosine transforms
WO1999029112A1 (en) * 1997-12-01 1999-06-10 Matsushita Electric Industrial Co., Ltd. Image processor, image data processor and variable length encoder/decoder
KR100441466B1 (ko) * 1997-12-19 2004-07-23 인피니언 테크놀로지스 아게 상수 팩터 승산을 위한 장치와 비디오 압축(mpeg)을 위한 상기 장치의 사용방법
US6029126A (en) * 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6115689A (en) * 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6154762A (en) * 1998-06-03 2000-11-28 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6073153A (en) * 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6301304B1 (en) * 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
GB9819648D0 (en) * 1998-09-10 1998-11-04 Nds Ltd Determining visually noticeable differences between two images
EP1065884A4 (en) * 1998-12-14 2004-06-16 Matsushita Electric Ind Co Ltd DEVICE FOR DCT ARITHMETICS
US6363117B1 (en) * 1998-12-31 2002-03-26 Sony Corporation Video compression using fast block motion estimation
US6473534B1 (en) 1999-01-06 2002-10-29 Hewlett-Packard Company Multiplier-free implementation of DCT used in image and video processing and compression
US6496795B1 (en) * 1999-05-05 2002-12-17 Microsoft Corporation Modulated complex lapped transform for integrated signal enhancement and coding
US6487574B1 (en) 1999-02-26 2002-11-26 Microsoft Corp. System and method for producing modulated complex lapped transforms
JP4027011B2 (ja) * 1999-04-28 2007-12-26 キヤノン株式会社 画像形成装置
US6370502B1 (en) * 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6507614B1 (en) * 1999-10-19 2003-01-14 Sony Corporation Efficient de-quantization in a digital video decoding process using a dynamic quantization matrix for parallel computations
WO2001040985A2 (en) 1999-12-06 2001-06-07 Hrl Laboratories, Llc Method and apparatus for calculating wavelet transform using variable precision
JP3593944B2 (ja) * 2000-03-08 2004-11-24 日本電気株式会社 画像データ処理装置及びそれに用いる動き補償処理方法
US6606725B1 (en) * 2000-04-25 2003-08-12 Mitsubishi Electric Research Laboratories, Inc. MAP decoding for turbo codes by parallel matrix processing
US8374237B2 (en) * 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
JP4063508B2 (ja) * 2001-07-04 2008-03-19 日本電気株式会社 ビットレート変換装置およびビットレート変換方法
US20030112873A1 (en) 2001-07-11 2003-06-19 Demos Gary A. Motion estimation for video compression systems
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
CN1225904C (zh) 2002-04-12 2005-11-02 精工爱普生株式会社 在压缩域视频处理中降低存储器要求和实施有效的逆运动补偿的方法和设备
US7242713B2 (en) * 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US6944224B2 (en) * 2002-08-14 2005-09-13 Intervideo, Inc. Systems and methods for selecting a macroblock mode in a video encoder
US20050213835A1 (en) * 2004-03-18 2005-09-29 Huazhong University Of Science & Technology And Samsung Electronics Co., Ltd. Integer transform matrix selection method in video coding and related integer transform method
JP4074868B2 (ja) * 2004-12-22 2008-04-16 株式会社東芝 画像符号化制御方法及びその装置
CN100539437C (zh) * 2005-07-29 2009-09-09 上海杰得微电子有限公司 一种音频编解码器的实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104067621A (zh) * 2011-11-07 2014-09-24 Vid拓展公司 使用偶数-奇数整数变换后台的视频和数据处理
CN104067621B (zh) * 2011-11-07 2018-03-27 Vid拓展公司 使用偶数‑奇数整数变换后台的视频和数据处理的设备和方法
US10452743B2 (en) 2011-11-07 2019-10-22 Vid Scale, Inc. Video and data processing using even-odd integer transforms
CN102572426A (zh) * 2011-12-11 2012-07-11 香港应用科技研究院有限公司 一种数据处理的方法和装置
CN102572426B (zh) * 2011-12-11 2014-04-23 香港应用科技研究院有限公司 一种数据处理的方法和装置
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
CN108432254A (zh) * 2015-11-30 2018-08-21 奥兰治 用于对图像进行编码和解码的方法、用于对图像进行编码和解码的设备以及相应的计算机程序

Also Published As

Publication number Publication date
KR101153105B1 (ko) 2012-06-04
EP1596309A2 (en) 2005-11-16
JP2005327298A (ja) 2005-11-24
CN1697328B (zh) 2010-04-28
KR20060047898A (ko) 2006-05-18
US20050256916A1 (en) 2005-11-17
JP4425824B2 (ja) 2010-03-03
US7487193B2 (en) 2009-02-03
EP1596309A3 (en) 2013-12-04

Similar Documents

Publication Publication Date Title
CN1697328A (zh) 快速视频编解码变换实现
CN1455599A (zh) 图像和视频编码的2-d变换
US7949196B2 (en) Low complexity and unified transforms for video coding
CN1280709C (zh) 退色补偿的参数化
JP5797774B2 (ja) メディアデータコーディングのための32点変換
CN1791222A (zh) 对有损及无损的2-d数据压缩的可逆转换
CN1231068C (zh) 图像和视频编码用的改进的块变换和量化
US8369638B2 (en) Reducing DC leakage in HD photo transform
CN1805548A (zh) 用于重叠双正交变换的可逆二维前置/后置滤波
CN1262916C (zh) 退色估计/补偿
US7813574B2 (en) Low complexity and unified transforms for video coding
CN1565083A (zh) 减少位深的量子化方法
CN1805547A (zh) 用于高效无损数据压缩的可逆重叠算子
CN1575546A (zh) 变换及后续量化的实现
US20140010284A1 (en) Image transform and inverse transform method, and image encoding and decoding device using same
KR20090115726A (ko) 변환-기반 디지털 미디어 코덱에서의 계산 복잡도 및 정밀도 제어
CN103947206A (zh) 基于区域的图像压缩
CN1320830C (zh) 噪声估计方法和设备、以及利用其编码视频的方法和设备
CN1193621C (zh) 调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器
CN1225904C (zh) 在压缩域视频处理中降低存储器要求和实施有效的逆运动补偿的方法和设备
JP2014146988A (ja) 動画像符号化装置
KR20040044253A (ko) 고속 역 이산 여현 변환 방법 및 장치
CN1589015A (zh) 视频或图像压缩中准能量守恒变换的方法和装置
CN1503573A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100428

Termination date: 20130513