CN1455599A - 图像和视频编码的2-d变换 - Google Patents

图像和视频编码的2-d变换 Download PDF

Info

Publication number
CN1455599A
CN1455599A CN03124166A CN03124166A CN1455599A CN 1455599 A CN1455599 A CN 1455599A CN 03124166 A CN03124166 A CN 03124166A CN 03124166 A CN03124166 A CN 03124166A CN 1455599 A CN1455599 A CN 1455599A
Authority
CN
China
Prior art keywords
matrix
conversion
restriction
transformation
basic function
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
CN03124166A
Other languages
English (en)
Other versions
CN100379292C (zh
Inventor
S·斯里尼瓦桑
S·雷古纳塔恩
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 Technology Licensing LLC
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 CN1455599A publication Critical patent/CN1455599A/zh
Application granted granted Critical
Publication of CN100379292C publication Critical patent/CN100379292C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Television Systems (AREA)

Abstract

服从某些范围被限定的限制来构造一套一维和二维变换,以提供有计算效率的变换的实现,例如用于图像和视频编码中。这些限制可以包括:变换具有被换算的整数实施,提供完美的或接近完美的重建,具有类DCT基础,被局限于采用n位(例如,n是16个位)的表示的范围内的系数,具有接近范数的基础函数,并为超出该范围提供充分的溢出空间。利用这个程序来构造一套变换,该程序的实施在16位整数范围内,用于使用整数矩阵乘法运算来进行有效率的计算。

Description

图像和视频编码的2-D变换
                    相关的申请信息
该申请声明了于2002年5月2日提交的美国临时专利申请(序列号是60/377,298)的优点。
技术领域
本发明涉及对信号进行数字编码和处理的技术。本发明尤其涉及在信号的编码和解码的过程中的一种有计算效率的变换的构造和使用(例如,图像和视频)。
背景技术
变换编码是被用于许多音频、图像和视频压缩系统中的一种压缩技术。未被压缩的数字图像和视频通常被表现或记录为安排在二维网格中的一幅图像或一个视频帧中的各个位置处的象质或颜色的采样值。例如,图像的一种典型的格式包含被安排成一个网格的一连串24位颜色采样值图像元素的采样数据流。每个采样值是一个数字,代表其中一个颜色空间(例如,RGB或YIQ)内的网格中的某个像素位置处的颜色成分。各种不同的图像和视频系统可以使用取样的各种不同的颜色分辨率、空间分辨率和时间分辨率。
未被压缩的数字图像和视频信号会耗费相当大的存储和传送容量。通过将信号的空间域表示转换成频率域(或其他类似的变换域)表示,然后通过降低变换域表示的某些一般不太容易察觉的频率成分的分辨率,变换编码可以减小数字图像和视频的尺寸。与降低空间域中的图像或视频的颜色分辨率或空间分辨率相比较,这通常会使数字信号的退化更加不易被察觉。
尤其是,典型的变换编码技术将未被压缩的数字图像的像素分成尺寸固定的二维块,每个块可能与其他块重叠。对每个块应用执行空间频率分析的线性变换,这将块内分隔的采样值转换成一套频率(或变换)系数,这些系数通常代表闭区间上对应的频带中的数字信号的强度。关于压缩,变换系数可以有选择地被加以量化(即,降低分辨率,例如通过放弃系数值的一些最不重要的位或将较高分辨率数集中的值映射到较低的分辨率),并且还在平均信息量或可变长度方面被编码为一种压缩数据流。在解码的过程中,变换系数将进行逆向的转换,以近乎重建原来的颜色/空间取样的图像/视频信号。
其中许多图像和视频压缩系统(例如,MPEG和“视窗媒体”(Windows Media))利用基于“离散余弦变换”(DCT)的变换。众所周知,DCT具有可产生接近最佳的数据压缩的良好的能量压缩属性。在这些压缩系统中,逆向DCT(IDCT)被用于重建单独的图像块的压缩系统的编码器和解码器内的重建回路中。《8×8逆向离散余弦变换的实现的IEEE标准说明书》(IEEE标准,1180-1990,1990年12月6日)中描述了IDCT的一项示范实施。
IEEE标准1180-1990中所确定的IDCT变换的一个缺点是:该变换的计算涉及64位浮点数字的矩阵乘法,这在计算上有相当大的花费。这会限制图像或视频压缩系统的性能,尤其在流媒体和类似的媒体重放应用中更是如此,那时,在实时的基础上或在其他类似的时间限制下对大量被压缩的数据执行IDCT。
发明内容
这里描述了一种一维或二维变换、用于建立这种变换的技术,以及利用这种变换的媒体编码/解码系统。
出于计算效率考虑,所描述的变换具有基于有关整数的矩阵乘法运算的实施。在典型的通用图形处理器中,有关整数的矩阵乘法运算大大快于有关浮点数字的矩阵乘法运算。此外,在某个时间,一些32位处理器提供有关两个16位整数的乘法运算。在一项示范实施中,所描述的变换用16位整数矩阵乘法来加以执行。具有整数矩阵乘法的所述变换的实施加快了媒体编码/解码系统中的编码和解码性能。
可以经由这里所描述的结构程序来建立所述变换。该结构程序可建立基于选择一套服从某些限制的变换系数的变换种类的变换。这些限制可以包括:变换具有被换算的整数实施,提供完美或接近完美的重建,具有类DCT基础,局限于采用n位(例如,n是16个位)的表示的范围内的系数,具有接近范数的基本功能,并为超出该范围提供充分的溢出空间。
使用所描述的结构程序,具有4个和8个点成分的一套一维变换可导致二维的8×8、8×4、4×8和4×4块变换。基于这些变换的压缩系统(允许使用16位矩阵乘法的实施)可以提供在计算上更有效率的编码和解码。
通过以下关于实施例的详细描述并参考附图,本发明的额外的特点和优点将一目了然。
附图说明
图1是基于这里所描述的一种变换的视频编码器的方框图。
图2是基于所述种类的变换的一种视频解码器的方框图。
图3是展示一种二维变换的方框图。
图4是展示了变换编码的数据流程图,该变换编码使用具有图1和图2中的视频编码器和解码器的所述种类的变换。
图5是关于所述种类的变换的逆向变换的一项实施例的方框图。
图6是用于构造所述种类的变换之一的一种过程的流程图。
图7是关于所述种类的变换的前向变换的一项实施的方框图。
图8是基于图1和图2中所述种类的变换的视频编码器/解码器的合适的计算环境的方框图。
具体实施方式
下文针对考虑计算效率的一种一维和二维变换、用于构造服从某些标准的这种变换的技术、这种变换在信号处理中的运用,以及(特别是)基于这种变换的媒体压缩系统。该变换的一项示范应用在图像或视频编码器和解码器(例如,使用“微软视窗媒体视频(WMV)文件格式”的一种变体的编码器和解码器)中。但是,按这里的描述而构造的变换并不局限于这种格式,而可以被应用于其他的媒体编码格式。相应地,一般化的图像或视频编码器和解码器的上下文中描述了这些变换,但是,作为另一种选择,也可以将其并入各种类型的媒体信号编码器和解码器。
I.一般化的视频编码器和解码器
图1是一种一般化的视频编码器(100)的方框图,图2是一种一般化的视频解码器(200)的方框图。
该编码器与解码器内的各个模块之间的所示关系指出了该编码器和解码器中的主要信息流;为简单起见,没有示出其他关系。尤其是,图1和图2通常不示出表示用于视频序列、帧、宏块、块等的编码器设置、模式、表格等的附带信息。通常在对这类附带信息进行平均信息量编码之后,在输出位流中发送该附带信息。输出位流的格式可以是“视窗媒体视频”格式或另一种格式。
编码器(100)和解码器(200)是基于块的,它们使用4:2:0宏块格式,该格式所具有的每个宏块都包括4个亮度8×8亮度块(有时被当作一个16×16宏块)和2个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)对被重建的当前帧进行缓冲,供在预测下一个帧的过程中使用。在一些实施例中,编码器将分块滤波器应用于被重建的帧,以便用适应的方法消除该帧的各个块中的间断。
平均信息量编码器(180)压缩量化器(170)的输出以及某些附带信息(例如,运动信息(115)、量化步长)。典型的平均信息量编码技术包括算术编码、微分编码、Huffman编码、扫描宽度编码、LZ编码、词典编码,以及上述内容的组合。平均信息量编码器(180)通常为不同种类的信息(例如,DC系数、AC系数、不同种类的附带信息)采用不同的编码技术,并可以从一种特殊的编码技术内的多张编码表格中进行选择。
平均信息量编码器(180)将被压缩的视频信息(195)放在缓冲器(190)中。按一个恒定的或相对恒定的比特率(bitrate)将被压缩的视频信息(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)对平均信息量编码的量化数据以及平均信息量编码的附带信息(例如,运动信息、量化步长)进行平均信息量解码,通常应用在编码器中所执行的平均信息量编码的逆向内容。平均信息量解码技术包括算术解码、微分解码、Huffman解码、扫描宽度解码、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或其他尺寸的逆向频率变换。
II.变换纵览
图3展示了二维变换300,以及图1和图2的视频编码器100和解码器200中所用的逆向变换310。如下所述,变换300和逆向变换310来自一种服从某些限制构制而成的变换。
二维变换300将媒体内容的一个二维(n×m)块320(被表示为该媒体内容的有关空间的采样值)转换为一个变换域块。例如,该块可以是数字图像或数字视频帧的一个部分,比如可以被表示为安排在均一间隔的网格位置中的一排颜色采样值(像素)。这被称作媒体内容的空间域表示。变换块也包括n×m个采样值,在这里被称作媒体内容的一种变换域表示。
逆向变换320将来自变换域的一组采样值转换回到原来的域或空间域。
III.基于变换的编码
一般而言,媒体内容的基于变换的编码400(例如,在以上所描述的视频编码器和解码器中)利用变换300(图3)和逆向变换310(图3)以及量化来对采取压缩形式的媒体内容进行编码。基于变换的编码首先将处于变换阶段410的变换300应用于媒体内容的一个输入块,供转换到变换域。然后,基于变换的编码在量化阶段420对某些变换域的采样值(例如,它们所产生的媒体内容的退化不太容易察觉)执行量化(即,降低这些基于变换域的采样值的分辨率)。可以使用被量化的变换域采样值来产生媒体内容的压缩形式。
基于变换的编码400也具有逆向量化阶段430和逆向变换阶段440。在逆向量化阶段430中,基于变换的编码将被量化的变换域采样值映射回到其原来的分辨率,以便为逆向变换310做准备。基于变换的编码在逆向变换阶段中对被解除量化的变换域采样值执行逆向变换,以便随后重建媒体内容块。
可以在视频编码器和解码器中的各个不同的点处执行基于变换的编码400。例如,视频编码器也可以包括一个具有逆向量化和逆向变换阶段的重建回路,可用于微分编码和帧间编码技术中。
III.有计算效率的逆向变换的实现
现在参考图5,变换300和逆向变换310(图3)的执行较佳地作为:先乘法变换矩阵(T)进行的二维数据块(关于变换300,是空间域采样值的数据块;关于逆向变换,是变换域采样值的数据块)的先乘法510,以及后乘法变换矩阵(T’)进行的后乘法530。先乘法变换矩阵(T)的各行代表变换的基础函数,这些基础函数被应用于先乘法510中的数据块的各列。同样,后乘法矩阵(T’)的各列是变换基础函数,这些基础函数被应用于后乘法530中的数据块的各行。
关于计算效率,变换矩阵(T和T’)和数据块包括范围内的整数,这些范围允许使用计算机或图形处理器的整数乘法运算来执行矩阵乘法。例如,利用提供16位整数乘法运算的许多当前的处理器,矩阵较佳地包括一个范围内的整数,该范围允许使用16位整数乘法运算来执行矩阵乘法。或者,矩阵可以包括处理器的较小或较大范围中的整数,这些处理器提供对其他大小的整数进行整数乘法运算。
由包括整数的变换基本函数执行的数据块的先乘法和后乘法产生较大范围内所得到的数据块值。通过在先乘法和后乘法之后分别使用换算运算520、540的基础函数乘法,实施500对此项扩大进行补偿。关于计算效率,换算运算520、540较佳地是移位运算(有效地进行2的幂的除法),它们分别移动值——许多比特位置S1和S2
在所展示的实施500中,数据块中的值是整数,这些整数分别在先乘法510、换算520、后乘法530、换算540的输入处以及被表示为A-E的输出处具有位尺寸。例如,先乘法阶段510的输入处的数据块的值是尺寸属于A位的整数。
设计这种变换的根本原则是其作为前向和逆向变换对的实施500,后者在精确度有限的整数运算中加以执行,其中,保证逆向变换产生一个对于输入数据有意义的结果,该输入数据已由对应的前向变换程序(经历有效的量化和解除量化)生成。
IV.变换构造
通过选择服从某些限制的变换基础函数的系数值(即先乘法矩阵T和后乘法矩阵T’中的值),来构造有计算效率的变换,这在下文中加以描述。这种构造技术可以产生范围限定的正交或双边正交变换。
限制
被换算的整数实施。变换系数是可进行2的幂的换算的整数。这促进了标准计算机上的实施。
完美的重建。在没有量化(例如,图4中的量化和逆向量化阶段420、430)的条件下,逆向变换可以利用由变换产生的变换域数据来完美地重建原来的空间域数据。被用于压缩数据的变换的首要要求是:在没有量化和舍入的条件下,前向和逆向变换可形成一个完美的重建对。这一点可以通过正交归一性或双边正交归一性而得到保证。在前一种情况中,前向变换和逆向变换相同;而在后一种情况中,它们不同。
类DCT基础。变换和逆向变换具有类似于DCT的属性。众所周知,DCT具有可导致接近最佳的数据压缩的良好的能量压缩属性。DCT的DC基础函数是一个恒定的值。这将“零的”基础的变换系数限制为具有恒定的值。
范围。数据值和变换系数的范围允许在目标计算机或图形处理器上进行使用有计算效率的整数乘法运算的实施(例如,在16位整数运算中)。在一项较佳实施中,值被限制到一个范围,该范围允许进行逆向变换的16位实施。在这项实施中,16位整数运算是一种关于整数的算术运算,可以利用16位累加器和有符号的模数或计算转滚到基数216(即具有[-32768...32767]的数据范围的累加器)来加以执行。两个16位数字的乘法只产生正在被保存的乘积的较低的16个位。或者,范围可以根据支持另一种位尺寸的整数运算的其他目标平台而变化。
变换基础函数所执行的数据块中的采样值的乘法会使范围扩大,这在变换基础函数中的采样值(点)数量方面有变化。在视频压缩系统中,通常使用8×8、4×8、8×4和4×4点的二维(N×M个点)变换。在4点变换与8点变换之间,8点变换更加严格地限制了整数变换系数的范围。这是因为,当N>M时,有关N点变换的扩展大于有关M点变换的扩展。DC值扩展为N点变换的√N。相应地,由于8点变换表现了更加严格的限制,因此,我们首先考虑它。
例如,视频压缩系统中的空间域数据块采样值的普通范围是[-255...255],这是9位分辨率。关于对应于范围[-255...255]的这种9位输入,8×8变换可以呈现范围[-2047 2047]中的值,要求12位精确度。实际上,每个8点变换都会导致1.5位的扩展。关于二维8×8变换,可以两次应用8点变换——具有处于先乘法阶段510的行变换(图5)和处于后乘法阶段530的列变换(图5),以便所产生的变换域采样值扩展3个位(到12位分辨率)。
尤其参考图5,在一项示范实施中,用于逆向变换的输入A处的输入变换域数据块具有12个位的范围,而输出E处的被重建的空间域数据块具有9个位的范围。两个逆向变换运算(先乘法510和后乘法530)可引起|T|2的换算或范围扩展,这分别由两个移位s1和s2来进行补偿。这要求:这些变换所引起的范围扩展近似地等同于补偿性换算或|T|2≈2(s1+s2)。假设变换矩阵(T)是一种标准化矩阵(其中,T1=T/|T|),则先乘法之后所产生的数据块(B=T·A)的动态范围大约是10.5个位。所以,所产生的数据块(B)的范围是10.5+log2(|T|)个位。同样,后乘法数据块(D=C·T’)的范围是9+2·log2(|T|)-s1个位。关于使用16位整数运算的逆向变换的有计算效率的实施,要求以下的关系(用L表示log2(|T|)):
10.5+L<=16                                   (1)
9+2L-s1<=16                                 (2)
2L=s1+s2                                    (3)
所以,可以得到(9+m<=16),即m=6;以及,L<=5.5或|T|<=2048。
此外,用[d d d d d d d d]提供逆向变换的DC基础函数,范围限制要求8 d2<=2048或d<=16。
基础函数的标准。变换的基础函数非常接近范数。
在一般的正交和双边正交整数变换中,允许对应于不同基础函数的变换矩阵T的不同的行具有不同的范数。此灵活性的背后之意是:在量化和逆向量化期间,为前向和逆向变换取消各个范数之间失配的效果。在实践中,标准化表现出两个困难:(1)它尤其给解码器这方增加了复杂性,以及(2)除非标准化乘数是小整数,否则无法实行短的整数(16位)实施。
如果要求所有基础函数的范数都相同,那么,额外的重新标准化是不必要的。可以将任何标准化项因子分解入逆向量化。量化值的效果在这个过程中可以改变一些(即,某个量化点(QP)的比率-失真点可以移走,但要沿来自所计算的其原来的值的比率-失真(R-D)曲线,也就是说,使用一种标准化的完全精确变换)。
当来到4点变换和8点变换时,可以应用相同的逻辑。可以要求:(无论是4点还是8点)所有基础函数的范数都相同,以便可以离开标准化。在实践中,对于合理的小整数基数而言,不可能发现服从“基础函数的所有范数都相同”这个限制的一套变换系数。这里,该限制通过只允许使用非常接近范数的基础函数而虑及了较小程度的灵活性。
溢出空间。虽然有效输入(空间域数据块)到前向变换的范围在一项实施中是9个位,但是,量化之后被重建的数据块(图4中的阶段420)可能有机会向上超出+255、向下超出-255。要求短的整数实施通过为这类情况留出充分的溢出空间,来将这一点考虑进去。
总之,这里所描述的构造技术产生了服从一些限制的变换:(1)被换算的整数实施,(2)正交归一性或完美的重建,(3)能量压缩的类DCT基础,以及(4)基于整数的实施的有限的范围(例如,在16位整数运算中)。关于一种给定的范围限制,很难符合以上所有的限制。举一个特殊的例子,不可能构制一种既符合这些限制中的前三个限制又局限于16“位范围”的变换。以下所描述的结构程序通过稍微减少其中的一个或多个限制(例如,在所展示的变换的实现中,减少正交限制),来产生有效率的、范围被加以限定的变换。在所展示的变换的实现中,只要求变换对是正交的,而各个范数可以略有不同。增加的这项灵活性扩大的变换的搜索空间,这样,构造符合其他限制的有效率的、范围被加以限定的变换就变得可行了。下文将进一步讨论,在量化阶段期间,可以通过重新标准化来取消各个范数略微失配的效果。利用量化阶段中所执行的重新标准化,只在编码器处出现复杂性提高。这大大降低了总系统的复杂性,同时保持压缩效率。
构造
现在参考图6,构造服从这些限制的一种有计算效率的变换的程序600产生先乘法和后乘法变换矩阵(T和T’)的一套正交变换系数,用于图5中的变换的实现500。产生这项示范的有计算效率的变换的实现的这个结构程序中所用的一些公差门限是任意的,并可以被进一步放宽,以达到其他的解决方案。虽然由于这些门限很放松,但是,这种选择性变换的实现可能会具有较差的编码性能。
使用这个程序600而被构造的一套示范的有计算效率的变换包括使用4点基础函数和8点基础函数的二维变换。根据4点基础函数和8点基础函数来产生8×8、4×8、8×4和4×4变换的变换矩阵。但是,结构程序可以选择性地加以改变,以产生具有基础函数的变换,这些基础函数具有其他数量的点或外形尺度。
结构程序600中的第一个步骤610是发现DC基础函数的恒定乘数。关于4点和8点基础函数,这些恒定乘数分别被表示为d4和d8。按照以上所讨论的范数限制,这些恒定乘数被表示为: d 4 ≈ 2 d 8 ,以便d8≤16。只有符合大约1%内的这个范数限制的整数对{d4,d8}是{7,5}、{10,7}、{17,12}和{20,14}。关于8点变换,DC基础的平方范数是8d2 8。所以,具有这些整数对的DC基础的可允许的8点平方范数是200、392、1152和1568。
结构程序600中的第二个步骤620是:确定变换的奇数基础函数(也被称作奇数“频率”)。根据以上所讨论的“类DCT基础”限制,变换应该具有类似于DCT变换的属性,对于8点DCT变换而言,这具有以下的奇数基础函数: 0.4904 0.4157 0.2778 0.0975 - 0.0975 - 0.2778 - 0.4157 - 0.4904 0.4157 - 0.0975 - 0.4904 - 0.2778 0.2778 0.4904 0.0975 - 0.4157 0.2778 - 0.4904 0.0975 0.4157 - 0.4157 - 0.0975 0.4904 - 0.2778 0.0975 - 0.2778 0.4157 - 0.4904 0.4904 - 0.4157 0.2778 - 0.0975
四个恒定值确定8点DCT的这些奇数基础函数。由于基数的结构,可以用常数C1、C2、C3和C4来取代独特的绝对系数,所提供的基础是: C 1 C 2 C 3 C 4 - C 4 - C 3 - C 2 - C 1 C 2 - C 4 - C 1 - C 3 C 3 C 1 C 4 - C 2 C 3 - C 1 C 4 C 2 - C 2 - C 4 C 1 - C 3 C 4 - C 3 C 2 - C 1 C 1 - C 2 C 3 - C 4
构造继续进行,在具有以下条件的空间{C1,C2,C3,C4}上搜索。
1.基础的正交归一性。绝对为具有偶数频率项的奇数项的正交归一性提供偶数频率的补充结构。所以,这个条件减少到奇数基础函数的正交归一性。
2.类DCT基础。矢量[C1 C2 C3 C4]与对应的DCT系数矢量[0.4904 0.41570.2778 0.0975]“密切”关联。由各个矢量之间的角度的余弦来测度关联,并且,需要关联尽可能接近1。也可以使用关联的其他测度。
3.奇数基数的范数密切配合DC范数。这可以被表示为: C 1 2 + C 2 2 + C 3 2 + C 4 2 ≈ oneof { 100,196,576,784 }
在范数的5%的公差(条件3)和0.99的可允许的关联“余弦”(条件2)内,只有一套符合8点奇数基础函数的限制的整数系数。这套整数系数是[16 15 94],具有范数578,该范数无疑十分接近所需的576。关联是一个相当大的0.9984。
结构程序600的第三个步骤630是:确定变换的偶数基础函数或偶数频率。再次按照类DCT基础限制,这些偶数基础函数应该与DCT变换的偶数基础函数有密切的关联。关于8点DCT变换,偶数基础函数如下所示: 12 12 12 12 12 12 12 12 C 5 C 6 - C 6 - C 5 - C 5 - C 6 C 6 C 5 12 - 12 - 12 12 12 - 12 - 12 12 C 6 - C 5 C 5 - C 6 - C 6 C 5 - C 5 C 6 C2 5+C2 6≈288提供了关于频率2和6的范数限制。整数对{16,6}在符合这个范数限制到近似1%以内。
所产生的8点变换矩阵(使用在步骤2和3中所确定的整数系数)是:
结构程序600的第四个步骤640生成四点变换。关于如以上讨论所生成的8点变换(步骤610-630),DC基础函数的恒定乘数是d8=12。所以,4点变换的恒定乘数是d4=17。关于类DCT基础,这在以下将要生成的基础函数中留下系数D1和D2 17 17 17 17 D 1 D 2 - D 2 - D 1 17 - 17 - 17 17 D 2 - D 1 D 1 - D 2
对于D1和D2的任何选择而言,具有以上基础函数的矩阵本质上是正交的。但是,根据类DCT变换限制,系数由等于 的DCT波状线因数(即比率D1/D2)来表示。此外,系数服从范数限制D12+D22≈578。整数对{22,10}是符合正交归一性、类DCT基础和到近似1%以内的范数限制的一对整数。这产生四点变换的以下基础函数: T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10
V.变换的实现(续)
返回到图5,使用以上结构程序600的变换矩阵实质上对变换下了定义。关于二维变换,基础函数在每个尺度内被应用于采样值数据块。在所展示的变换的实现500中,基础函数被应用于先乘法510中的采样值数据块的各行,然后被应用于后乘法530中的采样值数据块的各列。由于变换被构造成正交,因此,前向300和逆向310变换使用相同的变换矩阵。利用具有非单一范数的变换基础函数,所展示的实施也包括逆向变换时的换算阶段520和540,以补偿由这些变换引入的范围扩展。这种范围有限的实施也可以被用于前向变换,但在视频编码的上下文中,关于前向变换的范围限制经常是多余的。由于编码程序比解码程序慢,编码器处可用的计算资源的数量经常大于解码器处可用的计算资源的数量,因此,可以在精确度更高(例如,32位)的整数或偶数双倍精确度浮点中执行编码器。相应地,下文首先考虑使用上述变换矩阵的逆向变换的一项示范实施。
逆向变换的实现
在如前所述的变换的实现500中,通过利用尺寸合适的变换矩阵(例如,8×8数据块的以上矩阵T8)来执行矩阵乘法,可以在先乘法阶段510中对变换域数据块(在下文中,我们将其表示为D)的各行进行逆向变换。通过也利用该变换矩阵来进行矩阵乘法,可以在后乘法阶段530中对变换域数据块的各列进行逆向变换。可以保存该处理,但可能会导致失配。先乘法阶段和后乘法阶段的变换矩阵是按以上所描述的内容而构造的变换矩阵。
关于换算阶段520和540,根据上述被换算的整数实施限制(即,采用2的幂进行换算,以促进标准系统和图形处理器上的计算)来确定示范的变换的实现中的换算。相应地,换算被选为2的幂,它最接近变换矩阵的基础函数的平方范数。
尤其是,逆向变换的正规公式可如下所示: R = ( T 8 ′ · D · T 8 ) s
其中,D表示在到逆向变换的输入(A)处的变换域数据块。在下文中,D1代表来自变换的实现500的第一个乘法阶段510的数据块,R代表在行和列-方式的逆向变换之后被重建的输出。分母s是换算因数。D、D1和R是同构的8×8、8×4或4×8矩阵。在滥用符号的情况下,涉及一个矩阵和一个标量的运算是有关矩阵的项-方式运算。同样,具有一个矩阵幅角的标量运算是有关矩阵的项-方式标量运算。
分母s被选为2的幂,它最接近基础函数的平方范数。关于8×8逆向变换,一维8点基础函数的平方范数的值是{1152,1156,1168}。所以,分母被选为1024,它是最接近这些平方范数值的2的幂。由于实际范数与这个分母之间的比率(即,范数/s≈1.12)接近1,因此,用于标准IDCT的量化参数与用于所示变换的实现的量化参数之间有紧密的对应。由于在以下所描述的前向变换程序中执行所有剩余的标准化(实质上利用基础函数的1024/平方范数),因此,这里没有引入额外的错误。
按照对以上范围限制的讨论,逆向变换的输入处的变换域数据块D具有所示实施中的12个位的范围。(由于标准化,从前向变换中产生的变换域数据块的范围实际上被减小到±2048/1.12。)(一维的逆向变换之后的)正规的中间矩阵是: D 1 = ( D · T 8 ) 32
并且具有略低于10.5个位的范围。
在一项逆向变换的实现500中,换算阶段520和540中的每个换算阶段可以下舍入或将数据块值移动5个比特位置(实际上是除以32的除法),这一共移动10个比特位置(关于除以1024的除法)。这将乘法阶段510和530处的范围限制保持在16“位范围”内。
通过减少换算数量或在第一个换算阶段520处进行舍入,一项选择性实施为第二个后乘法阶段保持计算精确度。由于结果数据块D在第一个乘法阶段之后使用10.5个位的范围,并且,8点变换扩大该范围4个位,因此,在第一个换算阶段至多可以允许1个位的换算,以便在两个乘法阶段处保留在16“位范围”限制内。所以,该选择性实施在第一个换算阶段520处可以移动4个位,在第二个换算阶段540处可以移动6个位。现在,变换的正规表达式是: D 1 = ( D · T 8 ) 16 R = ( T 8 ′ · D 1 ) 64
这项选择性实施允许在D1处额外保留一个位的精确度。4点变换可以使用同一种换算,因为4点变换矩阵中最大的乘数仍然在可用的溢出空间(4.5个位)内,虽然很少出现这种情况。
为了在中间数据块D1处额外保留第二个位的精确度,另一项选择性实施将变换矩阵分解为: T 8 = 2 · T 8 e + T 8 o T 4 = 2 · T 4 e + T 4 o
这里,只允许奇数成分矩阵To 8和To 4具有0、1和-1作为项目。由于T8的大多数项目是偶数,因此To 8是一个稀疏矩阵。同样,To 4所具有的结构与Te 4紧密关联。现在,这又一项选择性逆向变换的实现的正规表达式被定义为: D 1 = ( D · T 8 ) 8 R = ( T 8 ′ e · D 1 + T 8 ′ o · D 1 2 ) 64
现在,第一个换算阶段520只向下移动3个位,为第二个乘法阶段530保留了额外的精确度。由于偶数成分所具有的范围是T8的范围的一半,并且,由于将奇数成分To 8限制为具有项目0、1和-1,因此,变换的第二个阶段中所产生的分子在范围上被局限于16个位。对于D1处额外一个位的精确度,有一个较小的计算处罚。然而,变换矩阵的这种分解可用微不足道的代价获得被改进的计算精确度。
在其他选择性实施中,变换T通常可以被分解成成分变换矩阵Ta和Tb,它们与变换基础T的关系是:T=2x·Ta+Tb。该变换的计算是: D 1 = D · T 2 y
然后,可以将该计算定义为: R = ( D · T a + D · T b 2 x ) 2 y - x
可以使用矩阵乘法和移位运算来执行这项计算,如下所示:
(D·Ta+((D·Tb)>>x))>>(y-x)
回到变换T8的特殊的选择性实施,8点变换的奇数成分和偶数成分如下所示:
注意,To 8只具有两个独立的非零列。乘以To 8的后乘法仅仅相当于两次加法(和求反): 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
4点逆向变换的偶数成分和奇数成分是: 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
在这又一项选择性实施中,8×8逆向变换的行-方式或先乘法阶段510和第一个换算阶段520执行以下运算:
D1=(D·T8+4)>>3
首先通过观察T8的奇数成分以便计算8个元素的两个共同的行,来定义这项逆向变换的实现中的列-方式或后乘法阶段530和换算阶段540。在结果被下舍入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
D2a=D1a>>1
D2b=D1b>>1
Figure A0312416600334
关于另一项选择性实施中的4×8逆向变换(根据这里所用的转换,来参考具有4个列和8个行的一个阵列),行-方式或先乘法阶段510和换算阶段520执行一种4点运算,该运算被定义为:
D1=(D·T4+4)>>3
关于该变换的第二个部分,列-方式或后乘法阶段530和换算阶段540等同于刚刚描述的8×8逆向变换。
关于8×4逆向变换,另一项选择性实施根据以下公式对行-方式阶段510和换算阶段540的4行/8列变换域数据进行操作,该公式是:
D1=(D·T8+4)>>3
列-方式阶段530和换算阶段540的4点逆向变换被定义为以下公式: [ D 1 a D 1 b ] = D 1 ′ · 1 1 0 0 1 - 1 0 0
D2a=D1a>>1
D2b=D1b>>1 R = ( T 4 ′ e · D 1 + D 2 a D 2 b - D 2 b - D 2 a + 32 ) > > 6
关于4×4逆向变换,分别为4×8逆向变换的行-方式阶段510和8×4逆向变换的列-方式阶段530按以上描述来执行4×4逆向变换的阶段510、530。
前向变换的实现
范围被限制的实施(例如,图5中所示的,包括换算阶段)也可以被应用于前向变换,但是,这种程序在视频编码的上下文中经常是多余的。由于编码程序比解码程序慢,并且,编码器处可用的计算资源的数量经常大于解码器处可用的计算资源的数量,因此,可以在较高的精确度(例如,32位)整数或偶数双倍精确度浮点中执行编码器。换言之,可以省略前向变换的实现中的换算阶段520、540。
在图8所示的一项较佳的前向变换的实现中,(在行-方式乘法710和列-方式乘法730之后,)对前向变换这方执行重新标准化阶段740,以确保变换本身在重建过程中引入的错误数量最少。这补偿了基础函数的范数中的少量差别,并减轻了解码器(那里可用的计算资源很少)处的负担。或者,关于具有在解码器处所提供的充分的计算资源的系统,可以在解码器处执行补偿(变换数据的换算)。
在下文中,符号表示尺寸相等的矩阵的成分类乘积。原来的2-D信号(采样值数据块)被表示为X,它的变换是Y(X1表示行-方式变换之后的中间块)。矩阵X和Y的尺寸相同,包括8×8、8×4和4×8这几种情况。使用以下的换算因数: f 0 = 64 288 × 288 f 1 = 64 288 × 289 f 2 = 64 289 × 289 f 3 = 64 288 × 292 f 4 = 64 289 × 292 f 5 = 64 292 × 292
关于8×8前向变换,阶段710、730和740中的处理被描述如下:
Figure A0312416600357
关于4×8前向变换,这些阶段执行以下公式:
另一方面,8×4前向变换是以上4×8前向变换的转置。
4×4前向变换所执行的换算如下所示: Y = ( Y 4 · X · T 4 ′ ) ⊗ f 2 f 4 f 2 f 4 f 4 f 5 f 4 f 5 f 2 f 4 f 2 f 4 f 4 f 5 f 4 f 5
VI.合适的计算环境
可以对其中执行图像和视频信号处理的各种设备中的任何设备(在其他例子中包括:计算机;图像与视频记录设备,传输与接收设备;便携式视频播放机;电视会议等)执行以上所描述的变换。图像和视频编码技术可以在硬件电路中加以执行,也可以在图像和视频处理软件(在计算机或其他计算环境内执行)中加以执行(如图8中所示)。
图8展示了一种合适的计算环境(800)的一个一般化的例子,其中,可以执行所描述的实施例。该计算环境(800)不意在对本发明的运用或功能性的范围进行任何限制,因为本发明可以在各种不同的通用或具有特殊用途的计算环境中加以执行。
参考图8,计算环境(800)至少包括一个处理部件(810)和存储器(820)。在图8中,这个最基本的配置(830)被包括在一条虚线内。处理部件(810)执行计算机可执行的指令,并且可能是真实处理器或虚拟处理器。在多处理系统中,多处理部件执行计算机可执行的指令,以提高处理能力。存储器(820)可能是易失存储器(例如,寄存器、高速缓冲存储器、RAM)、非易失存储器(例如,ROM、EEPROM、快闪存储器等)或两者的某种组合。存储器(820)存储执行所述图像和/或视频编码器/解码器以及变换的软件(880)。
计算环境可以具有额外的特点。例如,计算环境(800)包括存储器(840)、一个或多个输入设备(850)、一个或多个输出设备(860),以及一个或多个通信连接(870)。互连机制(未示出)(例如,总线、控制器或网络)对计算环境(800)的各个部件进行互连。通常,操作系统软件(未示出)为在计算环境(800)中执行的其他软件提供一个操作环境,并且协调计算环境(800)的各个部件的活动。
存储器(840)可以是可移动的,也可以是不可移动的,它包括磁盘、磁带或盒式磁带、CD-ROMs、CD-RWs、DVDs或可以用于存储信息并可以在计算环境(800)内被存取的任何其他的介质。存储器(840)存储软件(880)的指令,该软件执行生成并压缩量化矩阵的音频编码器。
输入设备(850)可以是触摸输入设备(例如,键盘、鼠标、钢笔或跟踪球)、语音输入设备、扫描设备或将输入提供给计算环境(800)的另一种设备。在音频方面,输入设备(850)可以是声卡或接受采取模拟或数字形式的音频输入的类似设备,也可以是将声音采样值提供给计算环境的CD-ROM阅读器。输出设备(860)可以是显示器、打印机、扬声器、CD复写器或提供来自计算环境(800)的输出的另一种设备。
利用通信连接(870),可以在一种通信介质上与另一个计算实体进行通信。该通信介质传达诸如计算机可执行指令、被压缩的音频或视频信息或一个被调制的数据信号中的其他数据的信息。被调制的数据信号按一种方式对它的一个或多个特征进行设置或改变,以便对该信号中的信息实行编码。举例来讲(而不作限制),通信介质包括利用电载体、光载体、RF载体、红外线载体、声音载体或其他载体加以执行的有线或无线技术。
可以在计算机可读介质的一般上下文中描述这里的变换和编码/解码技术。计算机可读介质是可以在计算环境内被存取的任何可用的介质。举例来讲(而不作限制),利用计算环境(800),计算机可读介质包括存储器(820)、存储器(840)、通信介质,以及上述任何内容的组合。
可以在计算机可执行指令(例如,程序模块中所包括的指令、正在目标真实或虚拟处理器上的计算环境中被加以执行的指令)的一般上下文中描述这里的变换和编码/解码技术。通常,程序模块包括例行程序、程序、库、对象、种类、成分、数据结构等,它们执行特定的任务或执行特定的抽象数据类型。在各种实施例中,可以按需要在各个程序模块之间组合或分裂这些程序模块的功能性。可以在本地或分布式计算环境内执行程序模块的计算机可执行指令。
为呈现起见,详细的描述使用“确定”、“生成”、“调节”和“应用”之类的术语来描述计算环境中的计算机操作。这些术语是计算机所执行的操作的高级抽象概念,不应该与人所执行的动作相混淆。对应于这些术语的实际的计算机操作根据实施而变化。
VII.延伸
上述变换及其实施可以用各种方式得到延伸,包括以下内容:
变换的实现的变量可以包括交替的舍入、“蝶式”实施和双边正交公式。
此外,可以服从不同的“位范围”限制来遵循以上所描述的结构程序,以生成具有不同系数范围的变换变量。
结构程序中所用的限制的门限参数可以发生变化,以产生一套更大的控诉变换。
变换集可以被延伸,以包括其他的块尺寸(例如,4×4和其他块尺寸变换)。同样,所生成的变换集可能不一定要包括上述实施中的各种尺寸(即8×8、8×4和4×8变换)。变换可以被延伸到其他尺寸的块和更大(>2)的尺度。
位深度的选择是一个可变参数,可以为所示的例子(具有未加工像素值的8位分辨率和中间结果的16个位)而任意改变。
例如,通过使用所描述的用于对逆向变换的实现进行范围限制的程序,也可以在范围上限制前向变换的实施。
可以遵循以上所描述的结构程序,以生成近似其他非DCT基础函数的变换。例如,结构程序可以生成近似FFT、微波或其他重叠变换的变换,同时符合被换算的整数、完美的构造和范围限定方面的限制。
已参考所述实施例描述并展示了我们的发明的原则,将会认识到:在不脱离这些原则的前提下,可以在布置和细节方面对所描述的实施例进行修改。应该理解,除非另有指示,这里所描述的程序、过程或方法与任何特殊类型的计算环境无关,也不局限于任何特殊类型的计算环境。各种类型的通用或专用计算环境可以根据这里所描述的教导来加以运用或执行运算。可以在硬件中执行软件中所示的所述实施例的元素,反之亦然。
变换编码技术在这里被适当地描述为单一综合系统的一部分,但是,这些技术也可以被分开地、以潜在的方式与其他技术结合应用。在选择性实施例中,信号处理工具(而不是编码器或解码器)执行这些技术中的一项或多项技术。
所描述的变换和变换编码实施例执行各种不同的技术。虽然这些技术的操作通常为呈现起见而按一种特殊的连续顺序来加以描述,但是,不言而喻,除非要求特定的处理,这种描述方式包括对操作顺序进行较小的重新安排。例如,在一些情况下,连续描述的操作可以同时被重新安排或执行。而且,为简单起见,流程图通常不示出可以结合其他技术来使用特殊技术的各种方法。
鉴于可以应用我们的发明的原则的许多可能的实施例,我们声明:在以下权利要求书及其同等物的范围和精神内的所有这类实施例都属于我们的发明。

Claims (50)

1.一种对媒体数据进行编码的方法,其特征在于,包括:
关于媒体数据的一个二维块,执行该块的前向变换,以便将该块转换为一个变换域;
对变换域块进行量化;
为变换域块解除量化;以及,
执行变换域块的逆向变换,以产生一个被重建的块,逆向变换由包括整数的一个变换矩阵来执行,作为一个序列的矩阵乘法,这些整数在一个预定公差内符合某些限制,这些限制包括被换算的整数限制、完美重建的限制、类DCT基础限制和整数范围限定限制。
2.如权利要求1所述的方法,其特征在于,还包括:前向变换也由包括整数的一个变换矩阵来执行,作为一个序列的矩阵乘法,这些整数也在该预定公差内符合某些限制。
3.如权利要求1所述的方法,其特征在于:限制也包括变换的基础函数在范数上接近的一个限制,以及有充分的溢出空间的一个限制。
4.如权利要求3所述的方法,其特征在于:还包括对量化时的基础函数范数中的任何失配进行补偿。
5.如权利要求3所述的方法,其特征在于:还包括对解除量化时的基础函数范数中的任何失配进行补偿。
6.如权利要求3所述的方法,其特征在于:还包括对部分在量化时、部分在解除量化时的基础函数范数中的任何失配进行补偿。
7.一种提供媒体数据的变换编码的媒体系统,其特征在于,包括:
前向变换阶段,关于媒体数据的一个二维块,该阶段进行操作,以执行该块的前向变换,从而将该块转换为一个变换域;
量化阶段,用于进行操作,以便对变换域块进行量化;
解除量化阶段,用于进行操作,以便为变换域块解除量化;以及,
逆向变换阶段,用于执行变换域块的逆向变换,以产生一个被重建的块,逆向变换由包括整数的一个变换矩阵来执行,作为一个序列的矩阵乘法,这些整数在一个预定公差内符合某些限制,这些限制包括被换算的整数限制、完美重建的限制、类DCT基础限制和整数范围限定限制。
8.一种计算机可读存储介质,其上存储有计算机可执行程序指令,可在计算机系统上加以执行,以执行一种对媒体数据进行编码的方法,其特征在于包括:
关于媒体数据的一个二维块,执行该块的前向变换,以便将该块转换为一个变换域;
对变换域块进行量化;
为变换域块解除量化;以及,
执行变换域块的逆向变换,以产生一个被重建的块,逆向变换由包括整数的一个变换矩阵来执行,作为一个序列的矩阵乘法,这些整数在一个预定公差内符合某些限制,这些限制包括被换算的整数限制、完美重建的限制、类DCT基础限制和整数范围限定限制。
9.对被编码为一组被量化的变换域值的媒体数据进行解码的一种方法,其特征在于,包括:
为变换域块解除量化;以及,
执行变换域块的逆向变换,以产生一个被重建的块,逆向变换由包括整数的一个变换矩阵来执行,作为一个序列的矩阵乘法,这些整数在一个预定公差内符合某些限制,这些限制包括被换算的整数限制、完美重建的限制、类DCT基础限制和整数范围限定限制。
10.如权利要求9所述的方法,其特征在于:限制也包括一个接近的范数限制和一个充分的溢出空间限制。
11.如权利要求10所述的方法,其特征在于:被编码的媒体数据块是在量化时被加以补偿的范数失配。
12.如权利要求10所述的方法,其特征在于:还包括对解除量化时的变换的基础函数范数中的任何失配进行补偿。
13.如权利要求10所述的方法,其特征在于:还包括对部分在量化时、部分在解除量化时的变换的基础函数范数中的任何失配进行补偿。
14.对被编码为一组被量化的变换域值的数据进行解码的一种媒体解码器,其特征在于,包括:
解除量化阶段,用于为变换域块解除量化;以及,
逆向变换阶段,用于执行变换域块的逆向变换,以产生一个被重建的块,逆向变换由包括整数的一个变换矩阵来执行,作为一个序列的矩阵乘法,这些整数在一个预定公差内符合某些限制,这些限制包括被换算的整数限制、完美重建的限制、类DCT基础限制和整数范围限定限制。
15.一种计算机可读存储介质,其上存储有计算机可执行程序指令,可在计算机系统上加以执行,以执行对被编码为一组被量化的变换域值的媒体数据进行解码的一种方法,其特征在于,包括:
为变换域块解除量化;以及,
执行变换域块的逆向变换,以产生一个被重建的块,该逆向变换由包括整数的一个变换矩阵来执行,作为一个序列的矩阵乘法,这些整数在一个预定公差内符合某些限制,这些限制包括被换算的整数限制、完美重建的限制、类DCT基础限制和整数范围限定限制。
16.一种转换空间域表示与变换域表示之间的图像数据的一个二维块的方法,其中,该块的至少一个尺度是8个点,其特征在于,包括:
利用一个变换矩阵来执行图像数据块的至少一个矩阵乘法,该变换矩阵包括采取以下形式的整数变换系数,以及
对得到的矩阵乘积进行换算,以保留在一个“位范围”的限制内。
17.如权利要求16所述的方法,其特征在于:图像数据块是8×8块,至少执行一个矩阵乘法包括:利用变换矩阵来执行图像数据块的行-方式和列-方式矩阵乘法。
18.如权利要求17所述的方法,其特征在于:换算包括行-方式和列-方式矩阵乘法中的每个乘法之后的一项项-方式移位运算,以实现除以2的幂的除法。
19.如权利要求18所述的方法,其特征在于:矩阵乘法中的第一个乘法之后的项-方式移位运算是移动少于矩阵乘法中的第二个矩阵乘法之后的比特位置。
20.如权利要求18所述的方法,其特征在于:项-方式移位运算是移动每个这些矩阵乘法之后的相等数量的比特位置。
21.一种计算机可读存储介质,其上存储有计算机可执行程序指令,用于在计算机上加以执行,以执行转换空间域表示与变换域表示之间的图像数据的一个二维块的一种方法,其中,该块的至少一个尺度是8个点,其特征在于包括:
利用一个变换矩阵来执行图像数据块的至少一个矩阵乘法,该变换矩阵包括采取以下形式的整数变换系数,以及
对得到的矩阵乘积进行换算,以保留在一个“位范围”的限制内。
22.转换空间域表示与变换域表示之间的图像数据的一个二维块的一种方法,其中,该块的至少一个尺度是4个点,其特征在于,包括:
利用一个变换矩阵来执行图像数据块的至少一个矩阵乘法,该变换矩阵包括采取以下形式的整数变换系数, T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10 以及
对得到的矩阵乘积进行换算,以保留在一个“位范围”的限制内。
23.如权利要求22所述的方法,其特征在于:图像数据块是4×4块,至少执行一个矩阵乘法包括:利用变换矩阵来执行图像数据块的行-方式和列-方式矩阵乘法。
24.如权利要求23所述的方法,其特征在于:换算包括行-方式和列-方式矩阵乘法中的每个乘法之后的一项项-方式移位运算,以实现除以2的幂的除法。
25.如权利要求23所述的方法,其特征在于:矩阵乘法中的第一个乘法之后的项-方式移位运算是移动少于矩阵乘法中的第二个矩阵乘法之后的比特位置。
26.如权利要求23所述的方法,其特征在于:项-方式移位运算是移动每个这些矩阵乘法之后的相等数量的比特位置。
27.一种计算机可读存储介质,其上存储有计算机可执行程序指令,用于在计算机系统上加以执行,以执行转换空间域表示与变换域表示之间的图像数据的一个二维块的一种方法,其中,该块的至少一个尺度是4个点,其特征在于包括:
利用一个变换矩阵来执行图像数据块的至少一个矩阵乘法,该变换矩阵包括采取以下形式的整数变换系数, T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10 以及
对得到的矩阵乘积进行换算,以保留在一个“位范围”的限制内。
28.转换空间域表示与变换域表示之间的图像数据的一个二维块的一种方法,其中,该块的尺度是4个点和8个点,其特征在于,包括:
利用一些变换矩阵来执行图像数据块的行-方式和列-方式矩阵乘法,这些变换矩阵包括采取以下形式的整数变换系数,
Figure A0312416600072
T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10 以及
对得到的矩阵乘积进行换算,以保留在一个“位范围”的限制内。
29.如权利要求28所述的方法,其特征在于:数据块具有4×8个点的尺度,并根据关系Y=(T8·X·T’4)来执行矩阵乘法,其中,X代表数据块,Y是得到的矩阵乘积。
30.如权利要求28所述的方法,其特征在于:数据块具有8×4个点的尺度,并根据关系Y=(T4·X·T’8)来执行矩阵乘法,其中,X代表数据块,Y是得到的矩阵乘积。
31.一种计算机可读存储介质,其上存储有计算机可执行程序指令,用于在计算机系统上加以执行,以执行转换空间域表示与变换域表示之间的图像数据的一个二维块的一种方法,其中,该块的尺度是4个点和8个点,该方法的特征在于包括:
利用一些变换矩阵来执行图像数据块的行-方式和列-方式矩阵乘法,这些变换矩阵包括采取以下形式的整数变换系数,
Figure A0312416600081
T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10 以及
对得到的矩阵乘积进行换算,以保留在一个“位范围”的限制内。
32.一种二维媒体数据的变换编码器,它使用一种变换,该变换利用一个变换矩阵来执行,作为整数值的一个数据块的矩阵乘法,该变换矩阵包括整数系数,这些整数系数近似具有非整数系数基础函数的第二种变换,该数据块具有尺度n和m,该变换矩阵根据一种结构程序来加以构造,其特征在于包括:
确定在一个公差内服从一些限制的n和m点DC基础函数的一个恒定乘数,这些限制是:n和m点DC基础函数的范数相匹配,基础函数在整数值的被限制的范围内产生变换域数据;
确定在该公差内服从一些限制的较大的n或m个点的奇数基础函数的一套恒定乘数,这些限制是:这类奇数基础函数是正交的,与第二种变换的对应的基础函数恒定乘数有密切的关联,并在范数方面与DC基础函数相匹配;
确定在该公差内服从一些限制的较大的n或m个点的偶数基础函数的一套恒定乘数,这些限制是:这类偶数基础函数是正交的,与第二种变换的对应的基础函数恒定乘数有密切的关联,并在范数方面与DC及奇数基础函数相匹配;以及,
确定也在该公差内服从一些限制的较小的n或m个点的基础函数的一套乘数,这些限制是:这类基础函数是正交的,与第二种变换的对应的基础函数恒定乘数有密切的关联,并在范数方面与较大的n和m点基础函数相匹配。
33.如权利要求32的变换编码器,其特征在于:第二种变换是DCT变换。
34.如权利要求32的变换编码器,其特征在于:第二种变换是DCT、FFT、微波或重叠变换之一。
35.如权利要求32的变换编码器,其特征在于:尺度n和m相等。
36.如权利要求32的变换编码器,其特征在于:尺度n是4,尺度m是8。
37.一种二维媒体数据的变换解码器,它使用一种变换,该变换利用一个变换矩阵来执行,作为整数值的一个数据块的矩阵乘法,该变换矩阵包括整数系数,该数据块具有尺度n和m,该变换矩阵根据一种结构程序来加以构造,其特征在于包括:
确定在一个公差内服从一些限制的n和m点DC基础函数的一个恒定乘数,这些限制是:n和m点DC基础函数的范数相匹配,基础函数在整数值的被限制的范围内产生变换域数据;
确定在该公差内服从一些限制的较大的n或m个点的奇数基础函数的一套恒定乘数,这些限制是:这类奇数基础函数是正交的,与对应的DCT基础函数恒定乘数有密切的关联,并在范数方面与DC基础函数相匹配;
确定在该公差内服从一些限制的较大的n或m个点的偶数基础函数的一套恒定乘数,这些限制是:这类偶数基础函数是正交的,与对应的DCT基础函数恒定乘数有密切的关联,并在范数方面与DC及奇数基础函数相匹配;以及,
确定也在该公差内服从一些限制的较小的n或m个点的基础函数的一套乘数,这些限制是:这类基础函数是正交的,与对应的DCT基础函数恒定乘数有密切的关联,并在范数方面与较大的n和m点基础函数相匹配。
38.如权利要求37的变换解码器,其特征在于:尺度n和m相等。
39.如权利要求37的变换编码器,其特征在于:尺度n是4,尺度m是8。
40.一种对代表媒体内容的数据块进行变换编码所述的方法,其特征在于包括:
将变换应用于数据块,以产生代表媒体内容的一个变换域数据块,该变换包括一套具有失配的但近似相等的范数的变换基础函数;
根据各个变换基础函数的换算因数来对变换域数据块中的值进行换算,以补偿失配的范数。
41.如权利要求40所述的方法,其特征在于:在编码时执行补偿失配的范数的换算,以减少解码时的计算负载。
42.如权利要求40所述的方法,其特征在于:在解码时执行补偿失配的范数的换算,以减少编码时的计算负载。
43.如权利要求40所述的方法,其特征在于:应用变换包括使用一个矩阵的一项矩阵乘法,
其中,换算包括使用一个矩阵来执行一个成分类乘积,
Figure A0312416600111
其中, f 0 = 64 288 × 288 f 1 = 64 288 × 289 f 2 = 64 289 × 289 f 3 = 64 288 × 292 f 4 = 64 289 × 292 f 5 = 64 292 × 292
44.如权利要求40所述的方法,其特征在于:应用变换包括使用一个矩阵的一项矩阵乘法,
Figure A0312416600118
T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10 ; 以及
其中,换算包括使用一个矩阵来计算一个成分类乘积,其中, f 0 = 64 288 × 288 f 1 = 64 288 × 289 f 2 = 64 289 × 289 f 3 = 64 288 × 292 f 4 = 64 289 × 292 f 5 = 64 292 × 292
45.如权利要求40所述的方法,其特征在于:应用变换包括使用一些矩阵的矩阵乘法, T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10 ; 以及
其中,换算包括使用一个矩阵来计算一个成分类乘积, f 2 f 4 f 2 f 4 f 4 f 5 f 4 f 5 f 2 f 4 f 2 f 4 f 4 f 5 f 4 f 5
其中, f 2 = 64 289 × 289 f 4 = 64 289 × 292 . f 5 = 64 292 × 292
46.一种计算机可读存储介质,其上存储有计算机可执行程序指令,用于在计算机系统上加以执行,以执行一种对代表媒体内容的数据块进行变换编码的方法,其特征在于包括:
将变换应用于数据块,以产生代表媒体内容的一个变换域数据块,该变换包括一套具有失配的但近似相等的范数的变换基础函数;
根据各个变换基础函数的换算因数来对变换域数据块中的值进行换算,以补偿失配的范数。
47.一种对代表媒体内容的数据块D进行变换编码的方法,其特征在于,包括:
计算数据块的变换,用于在媒体块的空间域表示与变换域表示之间进行转换,其中,变换的结果R与数据块D的关系是 R = D · T 2 y ,其中,T是变换基础函数的一个矩阵,该计算的特征在于包括:
利用第一个和第二个变换子成分矩阵中的每个矩阵来执行数据块的矩阵乘法,其中,变换子成分矩阵(Ta和Tb)与变换基础函数矩阵的关系是T=2x·Ta+Tb
将数据块和第二个子成分矩阵的乘积移动x个比特位置;
将数据块和第一个子成分矩阵的乘积跟数据块和第二个子成分矩阵的移动乘积进行合计;以及,
将这些乘积的总和移动y个比特位置,以产生结果R,由此延伸变换的溢出空间。
48.如权利要求47所述的方法,其特征在于:其中,变换基础函数矩阵是
Figure A0312416600141
以及,其中,变换子成分矩阵是
Figure A0312416600143
49.如权利要求47所述的方法,其特征在于:其中变换基础函数矩阵是 T 4 = 17 17 17 17 22 10 - 10 - 22 17 - 17 - 17 17 10 - 22 22 - 10 ; 以及
其中,变换子成分矩阵是 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
50.一种计算机可读存储介质,其上存储有计算机可执行程序指令,用于在计算机系统上加以执行,以执行一种对代表媒体内容的数据块D进行变换编码的方法,其特征在于,包括:
计算数据块的变换,用于在媒体块的空间域表示与变换域表示之间进行转换,其中,变换的结果R与数据块D的关系是 R = D · T 2 y , 其中,T是变换基础函数的一个矩阵,该计算的特征在于包括:
利用第一个和第二个变换子成分矩阵中的每个矩阵来执行数据块的矩阵乘法,其中,变换子成分矩阵(Ta和Tb)与变换基础函数矩阵的关系是T=2x·Ta+Tb
将数据块和第二个子成分矩阵的乘积移动x个比特位置;
将数据块和第一个子成分矩阵的乘积跟数据块和第二个子成分矩阵的移动乘积进行合计;以及,
将这些乘积的总和移动y个比特位置,以产生结果R,由此延伸变换的溢出空间。
CNB031241662A 2002-05-02 2003-04-30 对具有n和m维数的媒体数据块进行转换的方法和装置 Expired - Lifetime CN100379292C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US37729802P 2002-05-02 2002-05-02
US60/377,298 2002-05-02
US10/376,147 2003-02-28
US10/376,147 US7242713B2 (en) 2002-05-02 2003-02-28 2-D transforms for image and video coding

Publications (2)

Publication Number Publication Date
CN1455599A true CN1455599A (zh) 2003-11-12
CN100379292C CN100379292C (zh) 2008-04-02

Family

ID=29273051

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031241662A Expired - Lifetime CN100379292C (zh) 2002-05-02 2003-04-30 对具有n和m维数的媒体数据块进行转换的方法和装置

Country Status (8)

Country Link
US (1) US7242713B2 (zh)
EP (1) EP1359546B1 (zh)
JP (1) JP4425561B2 (zh)
KR (1) KR100965704B1 (zh)
CN (1) CN100379292C (zh)
AT (1) ATE339744T1 (zh)
DE (1) DE60308255T2 (zh)
HK (1) HK1060205A1 (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034603A1 (en) * 2004-09-28 2006-04-06 Huawei Technologies Co., Ltd Video image encoding method
CN100461095C (zh) * 2007-11-20 2009-02-11 浙江大学 一种支持多模式的媒体增强流水线乘法单元设计方法
WO2009056006A1 (en) * 2007-10-30 2009-05-07 The Chinese University Of Hong Kong Processes and apparatus for deriving order-16 integer transforms
CN101977321A (zh) * 2010-11-04 2011-02-16 深圳市融创天下科技发展有限公司 一种视频编码的整数变换方法
CN1805548B (zh) * 2005-01-14 2011-05-25 微软公司 重叠双正交变换的可逆二维前置/后置滤波方法和装置
US8175165B2 (en) 2008-04-15 2012-05-08 The Chinese University Of Hong Kong Methods and apparatus for deriving an order-16 integer transform
CN101855909B (zh) * 2007-11-12 2012-07-18 思科系统国际公司 视频编码和解码的方法
CN102667757A (zh) * 2009-06-05 2012-09-12 高通股份有限公司 用于媒体编码的4x4变换
CN102713895A (zh) * 2009-06-05 2012-10-03 高通股份有限公司 用于媒体编码的4x4变换
US8483281B2 (en) 2008-04-15 2013-07-09 The Chinese University Of Hong Kong Generation of an order-2N transform from an order-N transform
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
CN106954070A (zh) * 2017-04-28 2017-07-14 河南工程学院 一种滑动像素块整数dct核心矩阵变换运动补偿器及方法
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
CN103634598B (zh) * 2005-08-26 2018-01-19 英特尔公司 视频处理的转置缓冲
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6882685B2 (en) 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
IL147370A (en) * 2001-12-27 2007-07-24 Itzhak Florentin Method and system for guiding a remote vehicle via a retarded communication channel
US7129962B1 (en) * 2002-03-25 2006-10-31 Matrox Graphics Inc. Efficient video processing method and system
US7242713B2 (en) 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US7760950B2 (en) * 2002-09-26 2010-07-20 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
US6831868B2 (en) * 2002-12-05 2004-12-14 Intel Corporation Byte aligned redundancy for memory array
US7471726B2 (en) * 2003-07-15 2008-12-30 Microsoft Corporation Spatial-domain lapped transform in digital media compression
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
US7369709B2 (en) * 2003-09-07 2008-05-06 Microsoft Corporation Conditional lapped transform
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7627187B2 (en) * 2003-09-24 2009-12-01 Ntt Docomo, Inc. Low complexity and unified transforms for video coding
KR20050075578A (ko) * 2004-01-16 2005-07-21 삼성전자주식회사 폐루프 최적화를 지원하는 스케일러블 비디오 엔코딩 방법및 장치
US7487193B2 (en) * 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US8045614B2 (en) 2005-05-11 2011-10-25 Dolby Laboratories Licensing Corporation Quantization control for variable bit depth
US7305139B2 (en) * 2004-12-17 2007-12-04 Microsoft Corporation Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform
US7428342B2 (en) * 2004-12-17 2008-09-23 Microsoft Corporation Reversible overlap operator for efficient lossless data compression
US7471850B2 (en) * 2004-12-17 2008-12-30 Microsoft Corporation Reversible transform for lossy and lossless 2-D data compression
US8311088B2 (en) * 2005-02-07 2012-11-13 Broadcom Corporation Method and system for image processing in a microprocessor for portable video communication devices
US7953161B2 (en) * 2005-04-27 2011-05-31 Broadcom Corporation System and method for overlap transforming and deblocking
US8422546B2 (en) * 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US8036274B2 (en) * 2005-08-12 2011-10-11 Microsoft Corporation SIMD lapped transform-based digital media encoding/decoding
EP1989876A2 (en) * 2005-08-31 2008-11-12 Micronas USA, Inc. Systems and methods for video transformation and in loop filtering
EP1947862B1 (en) * 2005-10-14 2016-04-27 NEC Corporation Method for re-encoding image blocks, device using the same, and computer program
JP2007195117A (ja) * 2006-01-23 2007-08-02 Toshiba Corp 動画像復号装置
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8059721B2 (en) * 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
JP4829019B2 (ja) * 2006-07-06 2011-11-30 株式会社東芝 通信端末装置
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8942289B2 (en) 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8369638B2 (en) 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform
US8447591B2 (en) * 2008-05-30 2013-05-21 Microsoft Corporation Factorization of overlapping tranforms into two block transforms
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
EP2373031A1 (en) * 2008-08-12 2011-10-05 Lg Electronics Inc. Method of decoding a video signal
US8275209B2 (en) * 2008-10-10 2012-09-25 Microsoft Corporation Reduced DC gain mismatch and DC leakage in overlap transform processing
US9183181B2 (en) * 2011-01-10 2015-11-10 Cisco Technology, Inc. Integer matrix transform video compression system, method and computer program product
WO2010143853A2 (ko) 2009-06-07 2010-12-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
US9635368B2 (en) 2009-06-07 2017-04-25 Lg Electronics Inc. Method and apparatus for decoding a video signal
US8817875B2 (en) * 2009-08-13 2014-08-26 The Johns Hopkins University Methods and systems to encode and decode sequences of images
MX2012004564A (es) 2009-10-20 2012-06-08 Fraunhofer Ges Forschung Codificador de audio, decodificador de audio, metodo para codificar informacion de audio y programa de computacion que utiliza una reduccion de tamaño de intervalo interactiva.
SG182464A1 (en) * 2010-01-12 2012-08-30 Fraunhofer Ges Forschung Audio encoder, audio decoder, method for encoding and decoding an audio information, and computer program obtaining a context sub-region value on the basis of a norm of previously decoded spectral values
TWI415474B (zh) * 2010-07-19 2013-11-11 Mstar Semiconductor Inc 視訊編/解碼器與其方法
EP2624556A4 (en) 2010-09-28 2016-08-24 Samsung Electronics Co Ltd VIDEO ENCODING METHOD AND DEVICE AND DECODING METHOD AND DEVICE
GB2492333B (en) * 2011-06-27 2018-12-12 British Broadcasting Corp Video encoding and decoding using transforms
CA2840939C (en) 2011-06-30 2018-08-07 Samsung Electronics Co., Ltd. Video encoding method with bit depth adjustment for fixed-point conversion and apparatus therefor, and video decoding method and aparatus therefor
JP5662887B2 (ja) * 2011-07-01 2015-02-04 日本放送協会 符号化装置、復号装置及びプログラム
US10452743B2 (en) * 2011-11-07 2019-10-22 Vid Scale, Inc. Video and data processing using even-odd integer transforms
US8719321B2 (en) * 2011-12-11 2014-05-06 Hong Kong Applied Science and Technology Research Institute Company Limited Adaptive block-size transform using LLMICT
JP6480186B2 (ja) * 2012-01-19 2019-03-06 ヴィド スケール インコーポレイテッド ビデオコーディング量子化およびダイナミックレンジ制御のシステムおよび方法
JP6102707B2 (ja) * 2013-12-05 2017-03-29 Nttエレクトロニクス株式会社 デジタル符号化装置
CN104901703B (zh) * 2015-04-08 2018-04-03 河海大学 一种整数序列快速压缩存储算法
WO2017020167A1 (en) * 2015-07-31 2017-02-09 Hewlett Packard Enterprise Development Lp Translate data structure to video frame structure
US10567800B2 (en) 2016-11-29 2020-02-18 Qualcomm Incorporated Transform hardware architecture for video coding
US11049219B2 (en) 2017-06-06 2021-06-29 Gopro, Inc. Methods and apparatus for multi-encoder processing of high resolution content
WO2019159696A1 (ja) * 2018-02-14 2019-08-22 ソニー株式会社 画像処理装置および方法
US11647214B2 (en) * 2018-03-30 2023-05-09 Qualcomm Incorporated Multiple transforms adjustment stages for video coding
US11228781B2 (en) 2019-06-26 2022-01-18 Gopro, Inc. Methods and apparatus for maximizing codec bandwidth in video applications
US11481863B2 (en) 2019-10-23 2022-10-25 Gopro, Inc. Methods and apparatus for hardware accelerated image processing for spherical projections
KR20220147339A (ko) 2021-04-27 2022-11-03 성균관대학교산학협력단 이미지의 암호화 방법

Family Cites Families (45)

* 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次元逆離散コサイン変換装置
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
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
JP2914226B2 (ja) 1995-06-16 1999-06-28 日本電気株式会社 可逆変換を可能にするディジタル信号の変換符号化方式
US5701263A (en) * 1995-08-28 1997-12-23 Hyundai Electronics America Inverse discrete cosine transform processor for VLSI implementation
US5970173A (en) * 1995-10-05 1999-10-19 Microsoft Corporation Image compression and affine transformation for image motion compensation
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の整数化法
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
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
CN1138420C (zh) * 1997-12-01 2004-02-11 松下电器产业株式会社 图象处理器、图象数据处理器和可变长度代码解码器
DE59813105D1 (de) * 1997-12-19 2006-02-23 Infineon Technologies Ag Vorrichtung zur multiplikation mit konstanten faktoren und deren verwendung zur videokompression (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
US6073153A (en) * 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6154762A (en) * 1998-06-03 2000-11-28 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
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
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
JP3593944B2 (ja) * 2000-03-08 2004-11-24 日本電気株式会社 画像データ処理装置及びそれに用いる動き補償処理方法
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
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

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100440978C (zh) * 2004-09-28 2008-12-03 华为技术有限公司 一种视频图像编码方法
WO2006034603A1 (en) * 2004-09-28 2006-04-06 Huawei Technologies Co., Ltd Video image encoding method
CN1805548B (zh) * 2005-01-14 2011-05-25 微软公司 重叠双正交变换的可逆二维前置/后置滤波方法和装置
CN103634598B (zh) * 2005-08-26 2018-01-19 英特尔公司 视频处理的转置缓冲
US8255445B2 (en) 2007-10-30 2012-08-28 The Chinese University Of Hong Kong Processes and apparatus for deriving order-16 integer transforms
WO2009056006A1 (en) * 2007-10-30 2009-05-07 The Chinese University Of Hong Kong Processes and apparatus for deriving order-16 integer transforms
CN101855909B (zh) * 2007-11-12 2012-07-18 思科系统国际公司 视频编码和解码的方法
CN100461095C (zh) * 2007-11-20 2009-02-11 浙江大学 一种支持多模式的媒体增强流水线乘法单元设计方法
US8483281B2 (en) 2008-04-15 2013-07-09 The Chinese University Of Hong Kong Generation of an order-2N transform from an order-N transform
US8175165B2 (en) 2008-04-15 2012-05-08 The Chinese University Of Hong Kong Methods and apparatus for deriving an order-16 integer transform
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
CN102667757A (zh) * 2009-06-05 2012-09-12 高通股份有限公司 用于媒体编码的4x4变换
CN102713895A (zh) * 2009-06-05 2012-10-03 高通股份有限公司 用于媒体编码的4x4变换
CN105491389B (zh) * 2009-06-05 2018-12-04 高通股份有限公司 用于实施用于媒体编码的4x4变换的设备
CN102713895B (zh) * 2009-06-05 2016-03-16 高通股份有限公司 用于媒体编码的4x4变换
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
CN105491389A (zh) * 2009-06-05 2016-04-13 高通股份有限公司 用于媒体编码的4x4变换
CN102667757B (zh) * 2009-06-05 2016-03-30 高通股份有限公司 用于媒体编码的4x4变换
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9319685B2 (en) 2009-06-24 2016-04-19 Qualcomm Incorporated 8-point inverse discrete cosine transform including odd and even portions for media data coding
CN101977321B (zh) * 2010-11-04 2014-03-12 深圳市融创天下科技股份有限公司 一种视频编码的整数变换方法
CN101977321A (zh) * 2010-11-04 2011-02-16 深圳市融创天下科技发展有限公司 一种视频编码的整数变换方法
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
CN106954070A (zh) * 2017-04-28 2017-07-14 河南工程学院 一种滑动像素块整数dct核心矩阵变换运动补偿器及方法
CN106954070B (zh) * 2017-04-28 2023-04-11 河南工程学院 一种滑动像素块整数dct核心矩阵变换运动补偿器及方法

Also Published As

Publication number Publication date
DE60308255D1 (de) 2006-10-26
JP2003333598A (ja) 2003-11-21
KR100965704B1 (ko) 2010-06-24
DE60308255T2 (de) 2006-12-28
CN100379292C (zh) 2008-04-02
KR20030086423A (ko) 2003-11-10
JP4425561B2 (ja) 2010-03-03
US7242713B2 (en) 2007-07-10
EP1359546A1 (en) 2003-11-05
HK1060205A1 (en) 2004-07-30
EP1359546B1 (en) 2006-09-13
US20030206582A1 (en) 2003-11-06
ATE339744T1 (de) 2006-10-15

Similar Documents

Publication Publication Date Title
CN1455599A (zh) 图像和视频编码的2-d变换
US7949196B2 (en) Low complexity and unified transforms for video coding
CN1697328A (zh) 快速视频编解码变换实现
CN1215439C (zh) 执行可缩放的分层运动估算的装置与方法
CN1791222A (zh) 对有损及无损的2-d数据压缩的可逆转换
JP5797774B2 (ja) メディアデータコーディングのための32点変換
CN1280709C (zh) 退色补偿的参数化
CN1126065C (zh) 压缩和解压缩图象
US7813574B2 (en) Low complexity and unified transforms for video coding
JP2005295540A (ja) データ処理装置及び方法
CN1627325A (zh) 色彩变换方法及装置
RU2518932C2 (ru) Уменьшенное рассогласование коэффициентов усиления постоянной состовляющей (dc) и dc-утечки при обработке преобразования с перекрытием
CN1518365A (zh) 噪声估计方法和设备、以及利用其编码视频的方法和设备
CN1471674A (zh) 使用比例项、早期中止和精度细算的更快速变换
CN1918563A (zh) 用于变换数字音频信号和逆变换已变换数字音频信号的方法及设备
CN1589015A (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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150424

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150424

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080402