CN1237465C - 编码 - Google Patents
编码 Download PDFInfo
- Publication number
- CN1237465C CN1237465C CNB01809256XA CN01809256A CN1237465C CN 1237465 C CN1237465 C CN 1237465C CN B01809256X A CNB01809256X A CN B01809256XA CN 01809256 A CN01809256 A CN 01809256A CN 1237465 C CN1237465 C CN 1237465C
- Authority
- CN
- China
- Prior art keywords
- coefficient
- calculate
- calculating
- group
- coefficients
- 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
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 71
- 238000004364 calculation method Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 70
- 230000009466 transformation Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 30
- 238000006243 chemical reaction Methods 0.000 description 26
- 239000011159 matrix material Substances 0.000 description 11
- 238000013139 quantization Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 239000012141 concentrate Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 102000003712 Complement factor B Human genes 0.000 description 1
- 108090000056 Complement factor B Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
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)
- Complex Calculations (AREA)
Abstract
本发明用于利用给定算法、通过从能在给定一组输入值的情况下利用给定算法计算的总的一组可能的系数中选择(201)要计算的系数并且通过计算(201)这些选择的系数以获得此组系数,将此组输入值(S1)编码(20)为一组系数,其中选择较高优先级给予与其他系数相比要求较低计算成本的系数。优选地,对于给定的系数来说,计算成本至少部分地基于计算此给定系数所要求的计算步骤的数量减去能与其他选择系数的计算共享的计算量,而且其中在计算步骤中,在计算(201)共享这些共享计算步骤的其他系数时重复使用这些共享计算步骤的结果。
Description
技术领域
本发明涉及利用给定算法将一组输入值编码为一组系数,此算法可以是离散余弦变换(DCT),此算法广泛用于图象与视频编码领域中。
背景技术
Pao和Sun[5]公开了,诸如H.263与MPEG的数字视频编码标准对于多媒体应用正变得越来越重要。由于所要求的巨大的计算量,已有极大的努力来加速视频编码器的处理。以前,这些努力主要集中在快速运动估算算法上。然而,随着运动估算算法变得优化,为了加速视频编码器,还必须优化诸如离散余弦变换(DCT)和逆DCT(IDCT)的其他函数。Pao和Sun提议用于DCT系数的一种理论模型。根据此模型,表明DCT系数的方差在运动补偿预测之后能表示为最小平均绝对误差(MMAE)的函数。从此统计模型中推导出具有多门限的自适应方法来减少DCT、IDCT的计算、量化和逆量化。Pao和Sun还提出在量化步骤大时能够进一步加速DCT计算的DCT近似算法。利用可忽略的视频质量降低能实现处理速度的提高。
发明内容
本发明的一个目的是支持给定算法的可换算性(scalability)。为此,本发明提供了用于将一组输入值编码为一组系数的方法与设备、用于逆变换的方法与设备、视频***、信号、存储媒体、用于确定给定算法的计算成本的方法与设备、数据库和计算机程序。
具体地,本发明提供利用给定算法将一组输入值编码为一组系数的一种方法,此方法包括:在给定此组输入值的情况下,从能够利用此给定算法计算的总的一组可能系数中选择要计算的系数,其中选择优先级取决于各个可能系数的计算成本,和计算这些选择的系数,以获得此组系数。
本发明还提供用于利用给定算法将一组输入值编码为一组系数的一种设备,此设备包括:用于在给定此组输入值的情况下从能够利用此给定算法计算的总的一组可能系数中选择要计算的系数的装置,其中选择优先级取决于各个可能系数的计算成本,和用于计算这些选择的系数以获得此组系数的装置。
本发明又提供利用给定算法将一组系数反向变换为一组输出值的一种方法,此方法包括:从在利用给定算法计算这些值时用作输入的总的一组可利用系数中选择各个系数,其中选择优先级取决于各个可利用系数的计算成本,从这些选择的系数中计算这些值。
本发明仍提供一种设备,用于利用给定算法将一组系数反向变换为一组输出值,此设备包括:用于从在利用给定算法计算这些值时用作输入的总的一组可利用系数中选择各个系数的装置,其中选择优先级取决于各个可利用系数的计算成本,用于从这些选择的系数中计算这些值的装置。
本发明还提供用于解码信号的一种方法,其中根据利用计算的系数确定的扫描顺序提供计算的系数,该信号进一步包括有关扫描顺序的信息,此方法包括:从此信号中获得有关利用计算的系数确定的扫描顺序的信息,利用获得的扫描顺序,从此信号中获得这些系数,和计算这些系数。
本发明又提供用于解码信号的一种设备,其中根据利用计算的系数确定的扫描顺序提供计算的系数,该信号进一步包括有关扫描顺序的信息,此设备包括:用于从此信号中获得有关利用计算的系数确定的扫描顺序的信息的装置,用于利用获得的扫描顺序从此信号中获得这些系数的装置,和用于计算这些系数的装置。
特别地,可换算性表示质量能利用算法复杂性或计算能力来交换:为了降低算法复杂性或计算能力,能以质量的损耗为代价,反之亦然。
本发明的第一实施例用于利用给定算法将一组输入值编码为一组系数,此方法包括:从在给定此组输入值的情况下能够利用此给定算法计算的总的一组可能系数中选择要计算的系数,其中选择较高优先级给予与其他系数相比要求较低计算成本的系数;并且计算这些选择的系数以获得此组系数。通过选择要求较低计算成本的系数,在给定有限数量的计算步骤或有限的时间周期的情况下计算较高数量的系数。计算的系数的数量与质量有关。
本发明对于将第一域(例如,时间或空间域)中的输入值变换为第二域(例如,频域)中的系数的算法特别有益。第二域中的系数可以包含有关第一域中所有值的信息,但只在不同于其他系数的给定电平上给出此信息。在这种情况中,如果可获得更多的系数,能给出第一域中这些值更准确的表示。编码有益地为视频编码,其中输入值形成一组像素值,并且这些系数是从一组可能的变换系数中选择的变换系数。
在本发明的有益实施例中,对于给定系数来说,计算成本至少部分地基于计算此给定系数所要求的计算步骤的数量减去能与其他选择系数的计算共享的计算量,并且其中在计算步骤中,在计算共享这些共享计算步骤的其他系数时重复使用这些共享计算步骤的结果。通过在考虑能共享的计算步骤的数量的同时选择要求较低计算成本的那些系数得到更优化的选择。在给定有限资源的情况下,以这种方式能计算更多的系数。在一个实际的实施例中,在选择系数的计算中,将共享计算步骤的中间结果存储在存储器中并进行检索以便在需要时在计算其他系数时重复使用。
在该选择步骤中,在给定最大的总计算成本的情况下能使计算的系数的数量最大。在此实施例中,在给定有限计算能力的情况下获得最大的质量。在此实施例中,选择之后的计算顺序可以是任意的。另外,如果给定要计算的系数的希望数量,能够确定最低要求的计算成本。这对与其他算法或应用相关的给定算法分配计算资源时可能是有用的。
根据有益的实施例,除了已经计算的系数之外,还执行下一个系数的重复选择,直至满足这下一个系数的计算成本与还未计算的其他可能的系数相比是最低的停止准则。在此实施例中,“飞击式(on-the-fly)”计算是可能的,其中在达到计算限制或某一时间周期时,停止计算。此算法能够重新编程为以此特定顺序来处理这些计算步骤,直至达到(时间)限制。在此(时间)限制内,能随时更新结果。此算法现在与能具有任意计算能力的所使用的计算机***无关。此算法将在给定(时间)限制和可能的其他限制内尽可能计算多的系数。在此实施例中,计算成本也优选至少部分地基于计算下一个系数所要求的计算步骤的数量减去能够在这下一个系数的计算与对于已计算的系数来说已执行的计算步骤之间共享的计算步骤的数量。
可将本发明有益地应用于可编程的视频结构中。在此实施例中,提供以相对可获得的计算能力可换算视频质量为特征的可换算(MPEG)编码算法,其计算能力可以取决于希望的应用。在给定有限的计算能力的情况下,此实施例仍然尽可能好地保持质量。视频处理应用的耗时基本算法之一是离散余弦变换(DCT)的计算,但本发明也可应用于其他的算法。在变换算法的情况中,在给定的计算限制上,在此给定的计算限制内计算最大数量的变换系数。
在本发明的优选实施例中,使用至少部分地利用计算哪些系数确定的扫描顺序。这样的扫描顺序可以例如每帧发送给解码器,这允许每帧改变扫描顺序,这在编码器处理和比特率方面是有益的。每帧发送特定的扫描顺序并因此此特定的扫描顺序表示在发送信号中。如果所有计算的系数出现在发送的信号中,则可以在发送的信号中***块结束(EOB)来表示对于此给定块不再发送其他的系数。
在本发明的另一个实施例中,使用预定的扫描顺序,诸如MPEG中定义的Z形扫描或交替扫描,其中将预定值放置在用于未计算的变换系数的结果比特流中。此预定值在实际的实施例中为零。根据本发明的此实施例的信号因此根据在给定计算能力的情况下已经计算的变换系数的数量具有特定的零模式。在低比特率的情况中,许多零是非最佳的。在此实施例中,符合MPEG的解码器也能解码发送的信号。因为计算可能的变换系数的特定选择,所以本发明的此实施例的结果在发送的信号中是可识别的。
对于给定的变换算法可以脱机确定有利的计算和/或扫描顺序,此有利的顺序存储在编码器的数据库(例如,查找表)中。计算顺序不一定与扫描顺序相同,但为了节省存储器,计算顺序与扫描顺序相同是优选的。在使用非标准的扫描顺序的情况中,应***已使用哪个扫描顺序的指示。然而,在同一数据库也存储在解码器中时,优选但不是必须将这些系数的顺序或数据库/查找表发送给解码器。在这种情况中,表示在编码器中已使用一组扫描顺序之中的哪个扫描顺序的索引就足够了。在只使用一种预定的扫描顺序的情况中,不必发送扫描顺序。
在编码器中,根据可获得的计算变换系数,可以确定在解码器中使用为最有益的这些系数的扫描顺序。根据在解码器中能缓存多少系数,有益的是以近似于解码器中最有效的计算顺序的顺序来发送这些变换系数。解码器有益地以发送信号中所示的顺序单独地飞击式解码这些系数或每组系数。
有益地,在选择要计算的变换值时使用至少一个附加准则。因为一些系数对于图象质量比其他系数更重要,所以系数之间的优先级设置是有用的。例如能通过将数据库中的计算成本与任何排序的优先级函数相乘或通过将这些系数排序为不同的优先级组(每组给予一个处理顺序)能设置优先级。根据不同类型的图象块,对于算法输出能选择不同的优先级,以查找输入依赖的计算式样。
最好,一个优先级准则可以基于系数值为零(在量化之后)的次数。时常为零的系数应获得较低的优先级。在解码器中,改变这些系数的计算顺序取决于接收的系数和能缓存这些系数之中的多少系数。
逆变换操作在本发明的情形中也构造为变换操作。在这种情况中,利用这些系数形成输入值并且在例如像素值的可能输出值之间进行选择。未计算的像素值可以利用预定值来填充或可以例如通过平均从周围的像素值中推导出。可选择地,在可以输入给此算法以计算输出值的系数中进行选择。在这种情况中,也不通过选择要计算的输出值而通过选择使用哪些可获得/接收的变换值作为此算法的输入以计算像素值来使计算成本最低。如果由于能够执行的计算步骤中的限制不能使用所有可获得的变换值,输出值将不太准确,但在图象的情况中对于此图象(块)的任何一个像素仍然获得一个值。
本发明还涉及视频***,此视频***至少包括根据本发明的一个实施例的编码设备和解码设备。这样的视频***的一个示例是用于在硬磁盘驱动器(HDD)上存储视频材料的闭合***。其他的示例为电视会议***、数字手持照相机等。在视频材料为模拟的情况中,此视频***还包括模拟-数字变换器。如果此视频***中的编码器生成符合MPEG的比特流,则可以使用标准的解码器。有益地,此视频***中的解码器是根据本发明的一个实施例的解码器。
本发明还涉及分析算法的计算成本的方法。此分析生成将计算成本作为系数的函数的数据库。利用此数据库,可推导出提供有关在给定的计算限制内能计算哪些系数的信息的系数表,这样的数据库根据本发明的实施例能用于编(解)码中。
附图说明
从下面参考实施例的描述将使本发明的上述和其他方面变得更加清楚。
在附图中:
图1表示余弦函数的周期性;
图2表示在H.263与MPEG中使用的Z形扫描顺序;
图3表示根据本发明的一个实施例的从输入A至输入B的计算;
图4表示根据本发明的一个实施例的DCT矩阵中系数的计算顺序;
图5表示考虑此矩阵的左上角的附加优先级的根据本发明的一个实施例的DCT矩阵中系数的计算顺序;和
图6表示根据本发明的一个实施例的视频***。
这些附图只表示理解本发明所必需的那些单元。
具体实施方式
为了更好地理解本发明,首先给出有关DCT变换的一些基本理论。DCT将图象的小方块的亮度与色度值变换到变换域。此后,量化所有的系数,并且集中在少量的系数中的信号保证利用少于原始的数据保存整个图象。
对于表示为2D(二维)数据矩阵{x[i,j];i,j=0,1,…,N-1}的给定图象块,利用下式(1)给出2D DCT矩阵{x[i,j];i,j=0,1,...,N-1}:
其中
为了降低等式(1)的复杂性,时常使用行-列方法。利用此方法,利用1D-DCT单独变换图象块的每行与列。对于给定的1D数据矢量{x[i];i=0,1,...,N-1},利用下式(2)定义1D-DCT矢量{x[i];i=0,1,…,N-1}:
等式(1)与(2)都具有如下的形式:
Output=Const*InputMatrix*CosMatrix (3)
等式(3)的常量部分能够合并在后一量化步骤中,在此量化步骤中为了数据压缩目的而除去变换的系数。当然,不能修改输入数据。有用的第三部分是余弦矩阵。此矩阵的变换基于余弦函数的周期性。余弦函数是周期性的,这表示此函数的结果每个2π:cos(α)=cos(n*2π+α);n∈Z重复一次。而且,此余弦函数对于π为反周期性的,这表示此函数的结果每个π重复一次,但符号改变:cos(α)=(-1)n*cos(n*π+α);n∈Z。图1表示此余弦函数的图表,其中标记具有相同绝对值的四个箭头。
大多数公知的DCT算法为最高视频质量而设计。能够找到不同的策略来利用等式(1)或(2)的数学变换减少DCT计算的复杂性:Lee与Huang[1]将余弦矩阵的计算减为相当的较低复杂度的小问题,他们将余弦矩阵的每个角度归一化为0≤|α|<0.5π,并因此将2n×2n-DCT减为较低复杂度的2n-1×2n-1-DCT’。Cho与Lee[2]发现等式(1)中给出的两个余弦矩阵之间的数据依赖性,从而将一个矩阵表示为另一矩阵的函数。因此,将2D变换减为1D变换,其中1D-DCT算法的选择是不必的。Arai、Agui与Nakajima[3]从离散傅立叶变换(DFT)中推断出DCT,其中在后一量化步骤中能合并几个乘法。
还有,公知降低DCT的计算复杂度以加速计算时间的算法,从而视频质量的损耗是可接受:Merhav与Vasudev[4]研制一种计算方案用于DCT与逆DCT(IDCT),主要想法是以移位运算来替换所有的乘法并且在后一量化步骤中尽可能好地补偿结果误差而无附加成本。Pao与Sun[5]统计分析利用视频编码标准H.263编码不同的视频序列,此编码标准在以图2所示的Z形顺序计算DCT之后保存图象块,直至已保存所有的非零值。其余的零利用块结束(EOB)符号来替代。从此分析中,DCT系数的方差能表示为最小平均绝对误差(MMAE)的函数,这在运动补偿预测之后采用。根据此函数和视频标准H.263的量化参数,测量门限以便以不同的方式来处理图象块。对于全部64个系数或对于大约4*4低频DCT或只对左上的系数值,计算DCT,或完全不执行DCT。
在下面,描述本发明的一个实施例,其中根据DCT算法使用DCT系数的特定计算顺序。在计算步骤之后,排序其余系数的列表,以便在下一步骤中计算具有最低计算成本的系数。在这种情况中,计算顺序给出DCT算法的设计规则,以便在给定的降低的计算能力内使系数的数量最大化。虽然此部分集中在计算DCT,但所述的方面也可应用于类似于逆离散余弦变换(IDCT)的其他算法。
Merhav与Vasudev[4]以及Pao与Sun[5]的方案为了节省计算而已经接受质量的损耗。然而,这两个方案认为基本的DCT算法未考虑在计算各个变换系数时共享的计算。
了解基本的DCT算法对于查找最佳策略以便在给定计算努力和/或时间限制内将其换算为较低视频质量是重要的。结果,通过消除几个计算并因而消除系数来修改特定算法。此算法的结果则在给定限制内将具有可能的最佳质量,这是因为尽可能计算多的系数。找到能消除哪些计算以便为了最佳可能的视频质量而保持最大数量的系数,这是重要的。因为DCT算法以不同的方式处理视频数据,所以应仔细分析用于某一应用的算法。
分析DCT算法以找到获得特定的DCT系数所必需的计算量。此分析探究此算法内计算节点之间的数据依赖性。对于每个计算步骤、什么时候输入值成为最后变换的系数和为了获得另一系数仍需要什么计算,能建立一个数据库。如果设置计算限制,最好计算共享计算步骤的系数,随后利用最少的努力使系数的数量最大化。
此方法的分析步骤和优点利用图3中给出的简短计算的示例来解释,此示例表示具有三个中间结果t1、t2、t3的计算。通过计数从输入值开始计算每个系数所需要的所有运算来确定用于系数B1、B1与B3的计算成本。例如,B1利用B1=t1*C1=(A1+A2)*C1来计算并因此包括一次加法(t1内)和一次乘法,将此信息存储在表1给出的数据库中,其中例如将一次乘法设置为等效于三次加法。
总的计算 | t1 | t2 | t3 | B1 | B2 | B3 |
加法 | 1 | 1 | 1 | t1+0=1 | t1+t2+1=3 | t3+0=1 | ||
乘法 | 0 | 0 | 0 | t1+1=1 | t1+t2+0=0 | t3+1=1 | ||
运算计数 | 1 | 1 | 1 | 1+1*3=4 | 3+0*3=3 | 1+1*3=4 |
表1:根据本发明的一个实施例的计算成本。一次加法计数为一次运算,一次乘法计数为三次运算。
利用此数据库,根据已经进行的计算,我们能集中查找需要最少运算的下一个DCT系数,这将给出这些系数的算法依赖的计算顺序。在图3所示的示例中,将在第一步骤中计算B2,这是因为它只需要三次运算。系数B1与B3具有相同的计算成本,因此看起来是首先计算B1还是首先计算B3没有不同。然而,系数B1与B2共享节点t1,这在第二步骤中对B1来说导致比B3更少的剩余计算成本,这能在表2中看到,其中表1的数据库已经利用已计算B2的信息进行更新了。
剩余计算 | t1 | t2 | t3 | B1 | B2 | B3 | ||
加法 | 0 | 0 | 1 | 0 | 0 | 1 | ||
乘法 | 0 | 0 | 0 | 1 | 0 | 1 | ||
运算计数 | 0 | 0 | 1 | 3 | 0 | 4 |
表2:在计算B2之后的剩余计算成本
因此,最好以这样的顺序来计算给定系数:B2、B1、B3。如果对于此示例来说计算能力减至六次运算,能计算系数B2和B1。利用B2、B3、B1的计算顺序,将只计算B2,这是因为前两个系数B2和B3一起需要七次运算。
在此部分中解释的方案已用于查找Cho与Lee[2]的2D-DCT算法的计算顺序,此2D-DCT算法包括Arai、Agui与Nakajima[3]的1D-DCT算法,结果表示在图4中。
如果考虑DCT计算之后的量化步骤,能改善计算顺序。在大多数情况中,在变换的图象块的左上角上能找到此变换图象块的重要值。量化步骤为了数据压缩目的而除去不太重要的值。因此,这些系数能够与优先级函数进行组合以选择左上角中的系数。通过将(存储在生成的数据库中)系数C[i,j]的运算次数乘以优先级函数p(i,j)=i*2+|i-j|+1找到图5中给出的计算顺序。函数p利用一些实验来查找并且看起来适于第一实施例。
表3表示此改变如何得到另一计算顺序。在这儿,将一次乘法设置为等效于三次加法并且已计算前面两个系数C00和C44。显然在不使用优先级函数时要计算的下一个系数为C04,而在使用优先级函数p时此下一个系数为C22。
C04 | C22 | |
计算系数剩下的加法 | 7 | 9 |
计算系数剩下的乘法 | 4 | 4 |
运算计数-不利用优先级函数 | 19 | 22 |
优先级函数p(i,j) | 13 | 9 |
运算计数-利用优先级函数换算 | 247 | 189 |
表3:要计算的下一个系数的确定。在不使用优先级函数时优选C04,在使用优先级函数p时优选C22。
还一增进是利用设计用于图象块的某些内容的优先级函数能够优化计算顺序。例如,将图象块分类为三个不同的组:包含水平行的图象块、包含垂直行的图象块或没有空白结构的块。在这三组之中的每个组中,DCT将选择特定的系数来描述原始图象块,这能利用优先级函数来表示。能执行每个图象块的简短的预先分析或从进行类似分析的其他函数中获取每个图象块的简短的预先分析,以保证首先计算最重要的系数。
在MPEG标准内,图2所示的Z形顺序用于编码DCT系数,这是因为通常在量化块的左上角中找到最重要的值。通过将此Z形顺序用作计算顺序,在计算开始时为了获得前面的系数必须进行耗时计算,这是因为这些值取决于不同的输入并且内部能使用中间结果。对于减少的计算能力,这将得到较少的系数在以后使用。因而找到最佳的计算顺序是有用的。
将Z形顺序的给定数量的系数的运算计数与此部分中所述的计算优化顺序进行比较。能够注意到,计算优化的顺序得到显然更多的系数,这获得更好的视频质量。SNR提高在1-5dB之间。
所述的方法以许多方式实际用于可换算算法。不提供要计算的特定数量的系数,此数量能够用于自动质量换算。例如,因为具有低计算能力的PC不能实时完成所有的计算,所以在此具有低计算能力的PC上运行实时视频应用可能失败。在这种情况中,视频处理将被放弃或表示中断(hick-up)。为了解决这个问题,视频处理软件能更新已经计算的系数的列表,直至得处理下一块或达到用户定义的时间限制。利用此解决方案,能保证全屏幕和全时间可观看视频。
本发明的这个实施例提供用于以特定顺序计算DCT以支持可换算性的一种有益方法,这通过分析DCT算法的每个计算步骤以查找接下来应以最少的努力计算的系数来实现。此方法通过获得考虑的最高数量的DCT系数在计算期间使此图象的SNR最大。
利用诸如优先级函数的各种特性能增强此计算方法,这有利于低频率系数的计算,因此此方法更适于在执行DCT之后的MPEG编码。此技术也能成功地用于IDCT。
图6表示包括视频源1、发射机2、通信信道或存储媒体3、接收机4和显示设备5的一种视频***。此视频源1可以是照相机等并且提供视频源信号S1给发射机2。发射机2包括视频编码器20。此视频编码器包括计算单元201、存储器202和输出单元203。此计算单元从此视频源信号S1的输入样值中计算能够包括在通过通信信道3发送或在通信信道3是存储媒体时选择地存储的编码的输出信号S2中的一组变换系数。视频编码器20还包括存储器202,用于存储计算单元201中计算的中间结果。这些中间结果一般来源于在计算单元201中计算的各个变换系数的计算之间共享的计算。存储器202还能用于存储变换系数的扫描顺序或计算顺序。输出单元203将这些变换值格式化为适于传输的格式。在诸如MPEG编码器的视频编码器中,通常量化变换系数以减少表示变换值所需要的比特的数量。在图6中,假定在计算单元201中执行必要的量化操作。虽然未在图6中表示出,但MPEG编码器通常也包括用于执行运动估算与补偿以便预测编码图象的单元。输出单元203可以执行类似于可变长度编码、多路复用和信道编码的操作。
根据本发明的一个实施例,计算顺序是依赖于算法的,虽然如前所述另外可以利用优先级函数来确定计算顺序,这考虑其他情况。扫描顺序可以与计算顺序相同,但这不是一定的。在任何一种情况中,解码器在扫描顺序上应与编码器同步。解码器可以使用不同于编码器的另一计算顺序,这是因为对于解码算法来说另一计算可能更有效。
接收机4包括解码器40。视频解码器40包括输入单元403、计算单元401和存储器402。输入单元从通信信道或存储媒体3中接收视频信号S2’。编码的视频信号S2’通常与信号S2相同,尽管S2’可能包含由于通信信道或存储媒体3而引入的差错。输入单元403可以执行类似于可变长度编码、多路分用和信道解码的操作,这些操作通常与输出单元203中执行的操作相反。计算单元401执行逆变换,以便从接收的变换系数中计算像素值,这些像素值包含在是降低质量版本的视频源信号S1的输出信号S1’中。输出信号S1’显示在显示单元5上。
解码器40可以是标准的解码器。有益地,解码器40是根据本发明的一个实施例的解码器。如前所述,可以在是逆变换输入的可利用变换系数之间进行选择,也根据选择的变换系数所要求的计算步骤的数量和能共享的计算步骤的数量,在此选择中将较高优先级给予比其他系数要求较低计算成本的变换系数。为此,存储器402可以包含数据库,这表示在给定最大计算能力的情况中可以计算哪些可利用变换系数。在还一实施例中,存储器402根据本发明的一个实施例存储编码器使用的扫描顺序,此扫描顺序利用计算哪些系数或哪个扫描顺序甚至近似于编码器中的计算顺序来确定。
本发明有益地应用于一方面需要实时视频编码但另一方面具有其他限制的应用中,诸如:
电视会议***,具有低视频分辨率并且时常通过窄带宽连接来传送视频流,这导致会议参与者之间的通信延迟,此延迟必须进行最小化。而且,电视会议是具有足够的时间分辨率的视频比高空间视频质量更重要的一个示例。
数字手持照相机应是手持、便宜并且具有被客户接受的好质量。这些照相机具有中间分辨率并因此需要比电视会议***更复杂的视频处理算法。为了限制照相机的成本,这些算法在软件方面应是可编程的或应得到简单的硬件方案。
电视机具有通用计算能力。通过将用于视频应用的给定算法变换为较低复杂性能节省一部分可利用的计算能力,因此使电视机能够并行执行其他的任务。否则,视频应用能阻碍有用的其他应用。
本发明还可应用于参数编码方案,其中将输入值编码为一组参数。在权利要求书中,应认为系数在这些编码方案中为参数。
应注意,上述实施例表示不限制本发明,并且本领域技术人员将能设计许多替换实施例而不脱离所附的权利要求书的范畴。在权利要求书中,放置在括号之间的标号不应认为限制权利要求。字“包括”不排除权利要求中所列之外的其他单元或步骤的存在。本发明能利用包括几个不同单元的硬件来实施和利用合适编程的计算机来实施。在列举表示几个装置的设备权利要求中,利用同一硬件能实施这些装置之中的几个装置。在相互不同的从属权利要求中引用某些测量的纯粹事实不表示这些测量的组合不能用于获益。
Claims (19)
1.利用给定算法将一组输入值(S1)编码为一组系数的一种方法,此方法包括:
在给定此组输入值的情况下,从能够利用此给定算法计算的总的一组可能系数中选择要计算的系数,其中选择优先级取决于各个可能系数的计算成本,和
计算这些选择的系数,以获得此组系数。
2.根据权利要求1的方法,其中对于至少所述选择的系数之一来说,计算成本至少部分地基于计算至少所述选择的系数之一所要求的计算步骤的数量减去能与其他选择的系数的计算共享的计算量,并且其中在计算步骤中,在计算共享这些共享计算步骤的其他系数中,重复使用共享计算步骤的结果。
3.根据权利要求1的方法,其中在选择步骤中,在给定最大的总计算成本的情况下,使要计算的系数的数量最大。
4.根据权利要求1的方法,其中在选择步骤中,选择预定数量的系数。
5.根据权利要求1的方法,此方法包括重复选择要计算的下一个系数,直至满足对于下一个系数来说与还未计算的其他可能的系数相比其计算成本是最小的停止准则。
6.根据权利要求5的方法,其中计算成本至少部分地基于计算下一个系数所要求的计算步骤的数量减去能够在下一个系数的计算与对于已计算的系数来说已执行的计算步骤之间共享的计算步骤数量。
7.根据权利要求1的方法,其中在选择要计算的系数时,使用至少一个附加准则。
8.根据权利要求7的方法,其中利用代表至少一个附加准则的优先级函数来加权计算成本。
9.根据权利要求1的方法,此方法还包括:
根据至少部分地利用计算的系数确定的扫描顺序,在输出信号(S2)中包含此组系数,和
在此输出信号(S2)中包含有关此扫描顺序的信息。
10.根据权利要求1的方法,其中根据预定的扫描顺序在输出信号(S2)中包含此组系数,并且其中对于此预定的扫描顺序中未计算的系数,使用预定值。
11.根据权利要求10的方法,其中此预定值为零。
12.根据权利要求1的方法,其中从包含有关各个可能系数的计算成本的信息的数据库中获得要计算的系数。
13.根据权利要求12的方法,其中以表示哪些系数能计算为给定最大数量的可利用计算步骤的函数的表的形式可获得此数据库中的计算成本信息。
14.用于利用给定算法将一组输入值(S1)编码为一组系数的一种设备,此设备包括:
用于在给定此组输入值的情况下从能够利用此给定算法计算的总的一组可能系数中选择要计算的系数的装置,其中选择优先级取决于各个可能系数的计算成本,和
用于计算这些选择的系数以获得此组系数的装置。
15.利用给定算法将一组系数(S2)反向变换为一组输出值(S1’)的一种方法,此方法包括:
从在利用给定算法计算这些值时用作输入的总的一组可利用系数中选择各个系数,其中选择优先级取决于各个可利用系数的计算成本,
从这些选择的系数中计算这些值。
16.根据权利要求15的方法,其中对于至少所述选择的系数之一来说,计算成本至少部分地基于通过将至少所述选择的系数之一用作此算法的输入计算这些值所要求的计算步骤的数量减去能与根据用作此算法的输入的其他系数的计算共享的计算量,并且在计算中,在共享这些共享计算步骤的其他计算中,重复使用这些共享计算步骤的结果。
17.一种设备,用于利用给定算法将一组系数(S2’)反向变换为一组输出值(S1’),此设备包括:
用于从在利用给定算法计算这些值时用作输入的总的一组可利用系数中选择各个系数的装置,其中选择优先级取决于各个可利用系数的计算成本,
用于从这些选择的系数中计算这些值的装置。
18.用于解码信号的一种方法,其中根据利用计算的系数确定的扫描顺序提供计算的系数,该信号进一步包括有关扫描顺序的信息,此方法包括:
从此信号中获得有关利用计算的系数确定的扫描顺序的信息,
利用获得的扫描顺序,从此信号中获得这些系数,和
计算这些系数。
19.用于解码信号的一种设备,其中根据利用计算的系数确定的扫描顺序提供计算的系数,该信号进一步包括有关扫描顺序的信息,此设备包括:
用于从此信号中获得有关利用计算的系数确定的扫描顺序的信息的装置,
用于利用获得的扫描顺序从此信号中获得这些系数的装置,和
用于计算这些系数的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP01200052 | 2001-01-10 | ||
EP01200052.7 | 2001-01-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1474980A CN1474980A (zh) | 2004-02-11 |
CN1237465C true CN1237465C (zh) | 2006-01-18 |
Family
ID=8179731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB01809256XA Expired - Fee Related CN1237465C (zh) | 2001-01-10 | 2001-12-12 | 编码 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20020173952A1 (zh) |
EP (1) | EP1368748A2 (zh) |
JP (1) | JP2004518199A (zh) |
KR (1) | KR20030005222A (zh) |
CN (1) | CN1237465C (zh) |
WO (1) | WO2002056250A2 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
EP1480170A1 (en) * | 2003-05-20 | 2004-11-24 | Mitsubishi Electric Information Technology Centre Europe B.V. | Method and apparatus for processing images |
KR100763182B1 (ko) | 2005-05-02 | 2007-10-05 | 삼성전자주식회사 | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 |
US7548727B2 (en) * | 2005-10-26 | 2009-06-16 | Broadcom Corporation | Method and system for an efficient implementation of the Bluetooth® subband codec (SBC) |
KR101019936B1 (ko) * | 2005-12-02 | 2011-03-09 | 퀄컴 인코포레이티드 | 음성 파형의 정렬을 위한 시스템, 방법, 및 장치 |
US9497472B2 (en) | 2010-11-16 | 2016-11-15 | Qualcomm Incorporated | Parallel context calculation in video coding |
US9049444B2 (en) | 2010-12-22 | 2015-06-02 | Qualcomm Incorporated | Mode dependent scanning of coefficients of a block of video data |
US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69225365T2 (de) * | 1991-08-30 | 1998-11-19 | Fuji Xerox Co Ltd | Bildsignalkodierungsvorrichtung |
US5262855A (en) * | 1992-03-25 | 1993-11-16 | Intel Corporation | Method and apparatus for encoding selected images at lower resolution |
TW284869B (zh) * | 1994-05-27 | 1996-09-01 | Hitachi Ltd | |
US5654759A (en) * | 1995-02-15 | 1997-08-05 | Hitachi America Ltd. | Methods and apparatus for reducing blockiness in decoded video |
US5953506A (en) * | 1996-12-17 | 1999-09-14 | Adaptive Media Technologies | Method and apparatus that provides a scalable media delivery system |
KR100373331B1 (ko) * | 1997-07-02 | 2003-04-21 | 주식회사 팬택앤큐리텔 | 스캔 인터리빙 방법을 이용한 신축형 모양정보 부호화/복호화장치 및 방법 |
SG77650A1 (en) * | 1998-09-07 | 2001-01-16 | Victor Company Of Japan | A scalable delivery scheme of compressed video |
US6584154B1 (en) * | 1998-11-26 | 2003-06-24 | Oki Electric Industry Co., Ltd. | Moving-picture coding and decoding method and apparatus with reduced computational cost |
US6658059B1 (en) * | 1999-01-15 | 2003-12-02 | Digital Video Express, L.P. | Motion field modeling and estimation using motion transform |
US6167092A (en) * | 1999-08-12 | 2000-12-26 | Packetvideo Corporation | Method and device for variable complexity decoding of motion-compensated block-based compressed digital video |
US6684187B1 (en) * | 2000-06-30 | 2004-01-27 | At&T Corp. | Method and system for preselection of suitable units for concatenative speech |
-
2001
- 2001-12-12 JP JP2002556836A patent/JP2004518199A/ja not_active Abandoned
- 2001-12-12 CN CNB01809256XA patent/CN1237465C/zh not_active Expired - Fee Related
- 2001-12-12 WO PCT/IB2001/002545 patent/WO2002056250A2/en not_active Application Discontinuation
- 2001-12-12 KR KR1020027011884A patent/KR20030005222A/ko not_active Application Discontinuation
- 2001-12-12 EP EP01273147A patent/EP1368748A2/en not_active Withdrawn
-
2002
- 2002-01-08 US US10/042,447 patent/US20020173952A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP1368748A2 (en) | 2003-12-10 |
KR20030005222A (ko) | 2003-01-17 |
WO2002056250A2 (en) | 2002-07-18 |
US20020173952A1 (en) | 2002-11-21 |
WO2002056250A3 (en) | 2003-10-02 |
CN1474980A (zh) | 2004-02-11 |
JP2004518199A (ja) | 2004-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6923677B2 (ja) | ビデオ圧縮におけるエントロピーコーディングのための選択的ミキシング | |
US6873734B1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
US6754394B2 (en) | Compression and decompression system with reversible wavelets and lossy reconstruction | |
US6195465B1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
CN1596422A (zh) | 用于估算压缩视频数据客观质量的方法和*** | |
US20060222254A1 (en) | Method and apparatus for compression using reversible wavelet transforms and an embedded codestream | |
CN1126065C (zh) | 压缩和解压缩图象 | |
CN1157080A (zh) | 用于编码视频图像的装置和方法 | |
CN1697328A (zh) | 快速视频编解码变换实现 | |
CN1237465C (zh) | 编码 | |
CN1144469C (zh) | 编码和解码图像中的像素的运动向量的方法 | |
KR101370288B1 (ko) | 이미지 신호의 압축 방법 및 장치 | |
CN1157079A (zh) | 用于编码视频图像的装置和方法 | |
US8218882B2 (en) | Image coding method, image coding apparatus, image coding circuit, information recording medium, and computer program | |
CN107666472B (zh) | 混合的数字-模拟编解码的方法和设备 | |
CN1471674A (zh) | 使用比例项、早期中止和精度细算的更快速变换 | |
CN102447903A (zh) | 基于边缘强度的i帧大小估计 | |
US9407918B2 (en) | Apparatus and method for coding image, and non-transitory computer readable medium thereof | |
CN101159869A (zh) | 提供代表性图像信息 | |
CN106664099A (zh) | 使用统计特性编码脉冲矢量的方法 | |
JP3966507B2 (ja) | 符号量制御方法、符号量制御装置及び符号量制御プログラム | |
WO2022257528A1 (zh) | 点云属性的预测方法、装置及相关设备 | |
CN1268004A (zh) | 数字数据压缩器,特别是图象压缩器流量或质量调节装置 | |
Kong et al. | Progressive image compression for Gaussian mixture model quartile intervals | |
US10455247B2 (en) | Method and apparatus for performing arithmetic coding on basis of concatenated ROM-RAM table |
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |