CN101888556A - 编码、解码方法和编码、解码装置 - Google Patents
编码、解码方法和编码、解码装置 Download PDFInfo
- Publication number
- CN101888556A CN101888556A CN 201010233134 CN201010233134A CN101888556A CN 101888556 A CN101888556 A CN 101888556A CN 201010233134 CN201010233134 CN 201010233134 CN 201010233134 A CN201010233134 A CN 201010233134A CN 101888556 A CN101888556 A CN 101888556A
- Authority
- CN
- China
- Prior art keywords
- conversion
- data
- quantification
- parameter
- point
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例公开了一种编码方法,包括:接收待变换的数据;对所述待变换的数据进行第一变换,得到第一变换后的数据;对所述待变换的数据进行第二变换,得到第二变换后的数据;根据第一变换后的数据和第二变换后的数据确定调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据;将所述调整参数写入编码码流中。本发明实施例还公开了一种编码装置,以及解码方法和装置。应用本发明实施例,能够使图像数据经不同变换后的数值范围保持一致,从而在应用自适应块变换技术时,能够真实反映变换对数据的影响,来选择效果较优的变换,进而提高编码效率。
Description
本申请是申请日为2008年3月19日、申请号为200810087919.3、发明名称为“变换数据处理方法和装置以及编码、解码方法和装置”的中国申请(该中国申请要求了申请日为2007年6月13日、申请号为200710112378.0、发明名称为“一种图像编码中的变换数据处理方法和装置”的中国申请以及申请日为2008年1月31日、申请号为200810008671.7、发明名称为“变换数据处理方法和装置以及编码、解码方法和装置”的中国申请的优先权)的分案申请。
技术领域
本发明涉及视频压缩编码技术,特别涉及一种变换数据处理方法和装置,以及一种编码、解码方法及装置和***。
背景技术
为减小视频数据在传输或存储时的数据量,一般需要对视频数据进行压缩编码。在视频压缩编码领域,变换是一项重要技术,其作用是将一副图像、一个区域中的图像内容及信息经变换后集中于某一特定区域,以便视频压缩算法对这部分内容进行更有效的压缩。然后对变换后对数据进行量化、熵编码等处理后即形成压缩编码后的视频数据。
在视频编解码的标准中,如MPEG-2,H.264,AVS都使用了变换技术。在这些标准中,一幅图像或图像中的一个区域被划分成若干小块或子区域,称为子块,变换就是以子块为单位进行的。一般情况下,子块的大小可以为4x4或8x8,其中,4和8均是以图像像素为单位的。
一段视频文件是由多幅视频图像组成,并且一幅图像通常包含了丰富的内容,图像的不同部分所具有的特性也不同。因此,若将一段视频中所有图像或将一幅图像以同样尺寸(如8x8大小)的子块进行划分,然后对其进行变换,其效果不一定能达到最优,即不能有效的将所有子块中的内容经变换后有效的集中于某一特定区域。基于此,提出了自适应块变换技术,其原理是:将一个特定区域分别按照不同的子块大小进行划分,然后针对不同大小的子块进行不同的变换(例如,将图像分别划分为4x4和8x8的块,对4x4块使用4x4变换,对8x8块使用8x8变换),之后根据一定准则判断在不同变换情况下哪种变换能更有效的将块的信息集中于特定区域。最后将较优的变换结果存储起来。解码端在对经过上述方式变换后的图像进行解码时,根据码流中相应的信息获取变换尺度(如4x4或8x8)的信息,然后使用相应的逆变换(如4x4逆变换或8x8逆变换)对该区域进行处理,获取原始的视频数据。
上述自适应块变换技术在H.264中应用的具体方式为,定义一套4x4变换矩阵和8x8变换矩阵,并且根据其4x4变换和8x8变换的特点,分别制定了一套编解码端的量化表,将数据分别经过4x4变换及量化后的结果与经过8x8变换及量化后的结果相比较,确定较优的变换方式。其中,由于H.264中4x4变换和8x8变换具有相似的变换特征,加之各自配套制定的量化表,能够保证4x4块经4x4变换及量化后的数据数值范围与8x8块经8x8变换及量化后的数据数值范围基本一致。因此,H.264中的自适应块变换技术能有效的提高编码效率。
但是,在对视频的压缩编码过程中,出于各种目的可能需要融合不同的变换,例如,4x4变换矩阵是基于DCT的,8x8变换则是基于小波的,这两套变换矩阵很可能不具有太多的相同变换特征,相同的数据经过这些变换后数据的数值范围改变程度不一致。由于量化会导致数据信息受损,无论在量化过程中使用相同或不同的量化表进行量化,因相同的数据经不同的变换后其数值范围改变程度不一致,则会导致变换之后的数据经过量化后的损失程度不一致。在这种情况下,无法使用一定的判断准则确定较优的变换方式,从而无法有效的提高数据编码效率。
发明内容
有鉴于此,本发明实施例提供一种调整编码数据数值范围的方法和装置,以使数据经不同变换后的数值范围基本保持一致。相应地,还提供了一种编码方法、一种解码方法及装置和***,在编码端将调整参数写入码流中,在解码端可以根据接收到的调整参数对接收到的数据进行相应的调整。
为实现上述目的,本发明实施例采用如下的技术方案:
一种变换数据处理方法,包括:
根据预设两种变换所需的变换矩阵,估计图像数据分别经过两种变换后的数值范围;
根据所述两种变换后的数值范围,估计两种变换的数值范围特征差值;
接收待变换的数据,并对该数据应用所述两种变换中的第一种变换,并根据估计的数值范围特征差值补偿该第一种变换后的数据。
上述第一种变换为所述两种变换中的一种。同理,所述两种变换中的另外一种变换可称之为第二种变换。所述两种变换亦可分别称之为第一变换和第二变换,或变换A和变换B。
一种变换数据处理装置,包括第一数值范围估计单元、第二数值范围估计单元、数值范围差值单元和变换补偿单元,
所述第一数值范围估计单元,用于根据预设两种变换中的第一种变换所需的变换矩阵,估计图像数据经过第一种变换后的数值范围,并提供给所述数值范围差值单元;
所述第二数值范围估计单元,用于根据预设两种变换中的第二变换所需的变换矩阵,估计图像数据经过第二变换后的数值范围,并提供给所述数值范围差值单元;
所述数值范围差值单元,用于根据分别经过第一、第二变换后的数值范围,估计两种变换的数值范围特征差值,并提供给所述变换补偿单元;
所述变换补偿单元,用于接收待变换的数据,并对该数据应用所述两种变换中的第一种变换,并根据估计的所述数值范围特征差值补偿该第一种变换后的数据。
一种编码方法,包括:
接收待变换的数据;
对所述待变换的数据进行第一变换,得到第一变换后的数据;
对所述待变换的数据进行第二变换,得到第二变换后的数据;
根据第二变换的参数、第一变换后的数据和第二变换后的数据确定调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据;
将所述调整参数写入编码码流中。
一种解码方法,包括:
接收码流,对所述码流进行解码,获得第一变换后的数据和调整参数;
根据所述调整参数和第二变换的参数调整所述第一变换后的数据。
一种编码装置,包括:
数据接收单元,用于接收待变换的数据;
变换单元,用于对接收单元接收到的所述待变换的数据进行第一变换,得到第一变换后的数据;对所述待变换的数据进行第二变换,得到第二变换后的数据;
第一调整单元,根据第二变换的参数、第一变换后的数据和第二变换后的数据确定调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据;
写单元,用于将所述调整参数写入编码码流中。
一种解码装置,包括:
码流接收单元,用于接收码流;
解码单元,对所述码流进行解码,获得第一变换后的数据和调整参数;
第二调整单元,用于根据所述调整参数和第二变换的参数调整第一变换后的数据。
一种编解码***,包括:编码装置和解码装置;
所述编码装置包括:
数据接收单元,用于接收待变换的数据;
变换单元,用于对接收单元接收到的所述待变换的数据进行第一变换,得到第一变换后的数据;对所述待变换的数据进行第二变换,得到第二变换后的数据;
第一调整单元,根据第二变换的参数、第一变换后的数据和第二变换后的数据确定调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据;
写单元,用于将所述调整参数写入编码码流中。
所述解码装置包括:
码流接收单元,用于接收码流;
解码单元,对所述码流进行解码,获得第一变换后的数据和调整参数;
第二调整单元,用于根据所述调整参数和第二变换的参数调整第一变换后的数据。
一种编码方法,包括:
接收待变换的数据和已编码参数信息;
对所述待变换的数据进行第一变换,得到第一变换后的数据;
根据已编码参数信息和第二变换的参数确定调整参数,根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据;
将所述调整参数写入编码码流中。
一种编码装置,包括:
第三接收单元,用于接收待变换的数据和已编码参数信息;
第三变换单元,用于对所述第三接收单元接收的待变换的数据进行第一变换,得到第一变换后的数据;
第三调整单元,用于根据第三接收单元接收的已编码参数信息和第二变换的参数确定调整参数,根据所述调整参数和所述第二变换的参数调整所述第三变换单元得到的第一变换后的数据;
第三写单元,用于将所述第三调整单元得到的调整参数写入编码码流中。
由上述技术方案可见,在本发明实施例中,首先根据预设两种变换所需的变换矩阵,估计视频数据分别经过两种变换后的数值范围;然后,根据所述两种变换后的数值范围和两种变换各自对应的量化点,估计视频数据分别经过两种变换和对应量化后数值范围的差值。最后,将待变换数据应用其中一种变换后,利用估计的数值范围的差值补偿该第一种变换后的数据。由于进行数值范围的补偿时依据了两种变换和量化后数值范围的关系,因此,进行补偿后能够实现将使变换和量化后的数值范围与另一种变换和量化后的数值范围一致,从而在应用自适应块变换技术时,能够真实反映变换对数据的影响,来选择效果较优的变换,进而提高编码效率。本发明提供的编解码方法和装置,能够保证第一变换后的数据范围和第二变换后的数据范围保持一致,同时将调整参数写入码流中,这样在解码端可以根据调整参数,对接收到的数据进行相应的处理。
附图说明
图1为本发明实施例中变换数据处理方法的总体流程图;
图2为本发明实施例中变换数据处理装置的总体结构图;
图3为本发明实施例一中变换数据处理方法的具体流程图;
图4为本发明实施例一中变换数据处理装置的具体结构图;
图5为本发明实施例二中变换数据处理方法具体流程图;
图6为本发明实施例三中变换数据处理方法具体流程图;
图7为本发明实施例三中变换数据处理装置的具体结构图;
图8为本发明实施例四中变换数据处理方法具体流程图;
图9为本发明实施例四中变换数据处理装置的具体结构图;
图10为本发明实施例五提供的编码方法流程示意图;
图11为本发明实施例六提供的解码方法流程示意图;
图12为本发明实施例七提供的编码装置结构示意图;
图13是本发明实施例八提供的解码装置结构示意图;
图14是本发明实施例九提供的编码方法流程示意图;
图15是本发明实施例十提供的编码装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术手段和优点更加清楚明白,以下结合附图对本发明实施例作进一步详细说明。
在本发明实施例中,首先分析数据经两种不同变换后数据数值范围的变化,然后根据不同变换和量化后数据数值范围的变化,对其中一种变换后的数据进行补偿,以保证相同的待编码数据经该变换和量化后数据的数值范围与经另一种变换和量化后数据的数值范围保持基本一致,以提高编码效率。
图1为本发明实施例中变换数据处理方法的总体流程图。如图1所示,该方法包括:
步骤101,根据预设两种变换所需的变换矩阵,估计图像数据分别经过两种变换后的数值范围。
步骤102,根据所述两种变换后的数值范围,估计两种变换的数值范围特征差值。
根据不同的补偿方式,上述两种变换的数值范围特征差值取值也不同,可以为图像数据分别经过两种变换和对应量化后数值范围的差值,或者也可以为图像数据分别经过两种变换后数值范围的差值。当该特征差值为分别经过两种变换和对应量化后数值范围的差值时,在计算该特征差值时,还要进一步根据两种变换对应的量化步长。
步骤103,对待变换的数据应用所述两种变换中的一种,并根据估计的数值范围的差值补偿该变换后的数据。
图2为本发明实施例中变换数据处理装置的总体结构图。如图2所示,该装置包括第一数值范围估计单元、第二数值范围估计单元、数值范围差值单元和变换补偿单元。
其中,第一数值范围估计单元,用于根据预设两种变换中的第一种变换所需的变换矩阵,估计图像数据经过第一种变换后的数值范围,并提供给数值范围差值单元。
第二数值范围估计单元,用于根据预设两种变换中的第二变换所需的变换矩阵,估计图像数据经过第二变换后的数值范围,并提供给数值范围差值单元。
数值范围差值单元,用于根据分别经过第一、第二变换后的数值范围,估计两种变换的数值范围特征差值,并提供给变换补偿单元。
变换补偿单元,用于对待变换的数据应用第一种变换,并根据估计的所述数值范围特征差值补偿该第一种变换后的数据。
在上述方法和装置中,补偿变换后数据的方式可以是:根据两种变换后数据的数值范围间的关系,确定一个合适的调整因子,对经过其中一种变换所得的数据乘以该调整因子,再按照其对应的量化点进行量化,从而使经过该变换及量化后所得数据的数值范围与经过另外一种变换和量化后所得数据的数值范围一致。
或者,补偿变换后的数据的方式还可以是:根据两种变换后数据的数值范围间的关系,对其中一种变换对应的量化点进行调整,再按照调整后的量化点对该变换所得数据进行量化,从而也能实现使该变换及量化后所得数据的数值范围与经过另外一种变换和量化后所得数据的数值范围一致。
又或者,补偿变换后的数据的方式还可以是:根据两种变换后数据的数值范围间的关系,为其中一种变换重新建立量化表,再按照重建的量化表对该变换所得数据进行量化,从而同样能实现使该变换及量化后所得数据的数值范围与经过另外一种变换和量化后所得数据的数值范围一致。
以下通过不同的实施例,说明上述三种不同处理方式下本发明的具体实施方式。其中,实施例一~二针对第一种处理方式,实施例三针对第二种处理方式,实施例四针对第三种处理方式。
实施例一:
在本实施例中,假定有编码数据块C,及变换A和变换B。变换A的尺度为n×n,变换B的尺度为m×m。在对数据块C编码时使用量化点QPs,变换A及变换B在量化点为QPs时所查找到的量化步长分别为QTAB1[s]和QTAB2[s]。这里,在对数据进行量化时,每个不同的编码区域(例如,数据块C)对应一个量化点,根据该量化点查找到对应的量化步长,进行量化处理。调整经变换A和相应量化所得数据的数值范围,使之与变换B和相应量化后所得数据的数值范围一致。本实施例中,两种变换的数值范围特征差值为图像数据分别经过两种变换和对应量化后数值范围的差值。
图3为本发明实施例一中变换数据处理方法的具体流程图。如图3所示,该方法包括:
步骤301,根据预设两种变换所需的变换矩阵,估计图像数据分别经过两种变换后的数值范围。
本步骤中,将编码块C按照变换A、B的尺度划分成子块,将变换A、B分别应用到各子块上。根据变换A、B对应的变换矩阵,估计划分的子块中各个像素数据经变换后的数值范围。对于任意一种变换下,估计变换后数值范围的方式相同,下面以估计经变换A后子块内各个像素数据的数值范围为例,说明具体估计方法。
假定编码块C大小为MxN,T为变换A对应的变换矩阵,T’为T的转置矩阵,则对于编码块C应用变换A具体为:计算[T·C·T’]S,其中,S为缩放因子矩阵,该矩阵用于使[T·C·T’]之后的数据归一化,·为矩阵相乘符号,表示矩阵的各个对应元素相乘。根据矩阵乘法可以算得[T·C·T’]的数值范围增量。
首先估计[T·C·T’]相对于C的数值范围增量:T’中第j列系数绝对值之和为dj,则该列与C中第i行相乘后得到数据的数值范围,最大变为C中第i行第j列数据数值范围的dj倍。由于计算机及硬件处理器均以二进制为单位进行信息存储,故本文中以二进制形式表示数值范围,这里将该列与C中第i行相乘后数据的数值范围最大增量表示为log2(dj)。如上可以算出[T·C·T’]后C中每一个元素的最大数值范围增量。
然后估计[T·C·T’]S相对于[T·C·T’]的数值范围增量:若S中位于(k,h)的元素的绝对值为S(k,h),则[T·C·T’]S之后,相对于[T·C·T’],点(k,h)的数值范围增量为log2(S(k,h))。
经过上述方式估计得到的是编码块C经变换后的最大数值范围,而在实际编码中一个普通编码块C,由于编码块C中的数据服从一定的数学分布,而很难均达到自身的最大数值范围,因此经变换后的数值范围很可能达不到最大数值范围。因此,优选地,在进行数值范围估计时,进一步考虑编码块C的数学分布状况。
具体地,假设块C中的数值承一定数学分布,将变换A应用到该分布中,再通过上述方法可以计算得出C经变换后数据的数值范围最有可能出现的区域。例如,假设MxN大小数据块C的数据的数学分布模型为P(x,y),该数据块第i行各点最大可能数值范围表示为f(P(x,i)),(0<=x<=M),其中f(·)为根据数学分布模型P求得的映射关系,其含义为点(x,y),(0<=x<=M,0<=y<=N)所对应的最大可能出现的数值范围,即点(x,y)在编码时最有可能的数值为2f(P(x,y),将2f(P(x,y))设为vi。同时,假设变换T’第j列各点的系数值为T’(j,y),(0<=y<=N),则T’第j列与C中第i行相乘后,C第i行数据数值范围最大增量为:由此可计算得出经变换[T·C·T’]S后数据块C各点最大可能出现的数值范围。
经过上述方式进行数值范围的估计后,可以得到编码块C中的子块经变换A后各点数据的数值范围:
A11A12.........A1(n-1)A1n
A21A22........A2(n-1)A2n
.
.
.
.
An1An2..........An(n-1)Ann
而编码块C中的子块经变换B后各点数据的数值范围为:
B11B12B13.................B1(m-2)B1(m-1)B1mm
B21B22B23.................B2(m-2)B2(m-1)B2mm
B31B32B33.................B3(m-2)B3(m-1)B3mm
.
.
.
.
Bm1Bm2Bm3..............Bm(m-2)Bm(m-1)Bmm
步骤302,针对两种变换,分别计算变换后的平均数值范围。
本步骤中,对于两种变换的平均数值范围计算方法相同。仍以变换A为例,计算变换后的平均数值范围的方式可以为:其中,Aij为步骤301中得到的变换A后的子块内第i行第j列像素数据的数值范围。类似地,变换B后的平均数值范围计算方式为:其中,Bij为变换B后的子块内第i行第j列像素数据的数值范围。
步骤303,根据步骤302中得到的变换后平均数值范围,计算两种变换和相应量化后的数值范围差值。
本步骤中,首先计算经两种变换和相应量化后的数值范围。仍以变换A和相应量化为例说明。如前所述,对编码块C使用量化点QPs,对应于该量化点,变换A查找到的量化步长为QTAB1[s],利用步骤202中计算的AvrA表示经变换A后所得数据块各点平均的数值范围,数值范围以二进制形式表示,则编码数据经变换A后所得数值平均值为
通常在视频编解码中数据的量化过程可以表示为(X×QTAB[s])>>shift[s](1),其中X为待量化的数值,s为量化点,QTAB[n]为根据量化点n在量化表中查得的量化步长,shift[s]为量化点s所对应的移位。根据上述步骤可知,利用量化步长QTAB1[s]进行量化后所得数值平均值为以二进制的形式表示该数据的数值范围为(AvrA+log2QTAB1[s])>>shift[s]。同理,经过变换B和以QTAB2[s]为量化步长的量化后,所得数据的数值范围为(AvrB+log2QTAB2[s])>>shift[s]。
接下来,计算两种变换和相应量化后的数值范围差值。具体计算方式为:计算两种变换和相应量化后数值间的倍数关系,即将该倍数关系转化为二进制形式表示的数值范围间的差值为:也就是D′=(AvrB+log2QTAB2[s])-(AvrA+log2QTAB1[s])。
步骤304,根据步骤303中的差值,确定变换A的调整因子。
本步骤中,根据步骤303中得到的数值范围差值,确定的变换A的调整因子为q=2D′。
上述步骤计算过程中所需数据均为先验数据,即在编码之前可以获得的数据,因此上述步骤可以在编码前完成并将结果保存,无需在编码过程中计算。
在实际编码中变换A的调整因子可能会因编码数据的差异而做调整,故在编码时变换A的调整因子可以根据编码数据的特性做适当的调整。所述的编码数据特性可以为数据块经变换A之后的实际平均数值范围。并将变换A的调整因子写入编码码流中。变换A的调整因子可以写在码流的序列头或图像头或条带头或宏块头中。变换A的调整因子的使用方式与上述方法相同,这里不再赘述。
步骤305,对编码块C应用变换A,获得变换后的数据,并将所得数据均乘以变换A的调整因子。
本步骤中,对编码块C应用变换A,其具体过程与现有的方式相同,这里就不再赘述。将变换得到的数据乘以步骤204中的调整因子,即对于变换后所得的各个数据有:Cij′=Cij·2D′,其中,Cij为变换后第i行第j列的像素数据值,Cij′为调整后第i行第j列的像素数据的重建值。
步骤306,利用变换A查找到的量化步长对各个Cij′进行量化。
依照现有的方式对变换A后经过调整的各个Cij′进行量化。由于步骤205中利用调整因子对各个Cij进行了重建得到Cij′,并且该调整因子是根据两种变换和相应量化后数值范围的差值确定的,因此,本步骤对各个Cij′进行量化后得到数据的数值范围就能够与编码块C经过变换B和相应量化后得到数据的数值范围保持一致。
具体推导过程如下:由于量化过程中的移位对变换A和变换B对影响是相同的,以下就不再考虑移位的影响。
如前所述,编码块C应用变换A后的平均数值范围为AvrA,则编码数据经变换A后所得数值为那么乘以调整因子后的结果即为以二进制表示的数值范围为AvrB+log2QTAB2[s]-log2QTAB1[s];再利用量化步长QTAB1[s]进行量化后得到的结果为以二进制表示的数值范围为AvrB+log2QTAB2[s]。而编码块C应用变换B后的平均数值范围为AvrB,则编码数据经变换A后所得数值为再利用量化步长QTAB2[s]进行量化后得到的结果为以二进制表示的数值范围为AvrB+log2QTAB2[s]。可见,同样的编码块C经过步骤205和206的操作后,与经过变换B和相应量化后所得数据的数值范围相同。实现了使变换A和变换B最终数值范围一致的目的。
至此,本实施例提供的对变换数据处理方法流程结束。
依照上述方法进行编码侧的变换数据处理,从而选择变换A和变换B中较优的变换方式。若最终选择的变换方式为变换A,则发送给解码端的数据即为经变换A和相应量化及熵编码等处理后的数据。这时,在解码端对数据依照变换A对应的量化点进行反量化后,需要对反量化后的结果除以变换A的调整因子后再进行反变换,以重建编码端数据。其中,变换A的调整因子可以根据上述步骤301~304的过程在解码端获得。若解码端为避免使用除法,可让解码数据通过乘法及移位方式达到解码数据除以调整因子的目的。
若在编码时编码码流已包含变换A的调整因子,则解码端从码流中包含有调整因子的地方,如序列头、图像头、条带头、宏块头,得到变换A的调整因子。变换A的调整因子的使用方式与上述方法相同,这里不再赘述。
本实施例还提供了变换数据处理装置的一种具体实施方式,可以用于实施上述图3所示的方法。图4即为该实施方式下变换数据处理装置的具体结构图。如图4所示,该装置包括第一数值范围估计单元、第二数值范围估计单元、数值范围差值单元和变换补偿单元。其中,变换补偿单元包括调整因子确定子单元、变换子单元、变换后处理子单元和量化子单元。
第一数值范围估计单元,用于根据预设两种变换中的第一种变换所需的变换矩阵,估计图像数据经过第一种变换后的数值范围,并提供给数值范围差值单元。
第二数值范围估计单元,用于根据预设两种变换中的第二变换所需的变换矩阵,估计图像数据经过第二变换后的数值范围,并提供给数值范围差值单元。
数值范围差值单元,用于根据分别经过第一、第二变换后的数值范围和第一、第二变换各自对应第量化点,估计图像数据分别经过第一、第二变换和对应量化后数值范围的差值,并提供给变换补偿单元。
在变换补偿单元中,调整因子确定子单元,用于根据所述数值范围差值单元提供的数值范围的差值确定调整因子,并提供给变换后处理子单元。变换子单元,用于对待变换的数据应用第一种变换,并将变换结果提供给变换后处理子单元。变换后处理子单元,用于将经第一种变换后的数据乘以确定的调整因子,并将结果提供给量化子单元。量化子单元,根据图像数据对应的量化点对乘以调整因子后的结果进行量化。
若编码端将调整因子写入码流中,则相应的还需增加调整因子写入单元,用于将调整因子写入码流中。
在本实施例中,首先对变换A后的数据乘以一个调整因子,然后再进行量化处理。由公式(1)表示的量化过程可以看出,在量化处理时,首先要与量化步长相乘,然后再对相乘结果做右移位,也就是舍掉其中的低位信息。那么经变换A后的数据乘以该调整因子并对该结果乘以量化步长QTAB1[s]后,可能低位并不为0,而是仍然集中了部分信息,这时在进行移位时,就会造成数据精度的损失。基于此,为降低量化过程中数据精度的损失,在本实施例基础上还提出了一种演进处理方式,通过乘以变换A的调整因子并增加移位的方式改变经变换A后数据的数值范围。
具体地,对应图3所示的流程,步骤301~303的操作不变,在步骤304中,确定的变换A的调整因子变为q′=2D′×2n,将其称为调整系数,其中,n的取值根据编码端硬件存储范围而定,在保证变换A后的数据与调整因子q′相乘后,其后续操作的数据均不超出硬件存储范围的条件下,n的取值越大越好。这样能够将变换A后的数据中信息尽量集中于高位。
接下来,在步骤305中,将变换所得数据与上述调整因子q′相乘。
最后,在步骤306中对数据进行量化时,将量化点对应的移位位数再增加n位,也就是在执行完量化操作后,再将量化结果右移n位。这样,能够将由上面修改后的步骤304中因调整因子的改变而使数值范围扩大的2n倍补偿回来。
简单地讲,上述修改后的步骤305~306的操作即为:(2D′×2n×X×QTAB[s])>>shift[s]+n,其中,X表示变换后的数据。直观地看,该操作与原步骤305~306中的操作(2D′×X×QTAB[s])>>shift[s]相比,其结果相同,但是在硬件平台下实现时,前者的精度损失要比后者小。这是因为,在修改后的步骤305中,乘以调整因子q′后,数据X被扩大了2D′×2n倍,相对于原步骤305操作后的数据,其有用信息被放大了,更多地集中于高位,这样在修改后的步骤306中量化所涉及的移位过程中,被移位而损失的有用信息相对减少了。这样,便能够更有效地提高数据精度。
当编码端采用上述实施例一的演进方式后,在解码端对于经过变换A处理的数据进行反变换和反量化时,也要进行相应的逆操作。具体地,在反量化时,将移位位数减小n,并在反量化后反变换前,将反量化结果除以变换A的调整因子q′,然后进行反变换,以更准确地重建编码端数据。
当然,对应上述演进方式本发明也提供了对应的演进装置结构,该结构与图4所示的结构类似,区别在于该变换补偿单元包括调整系数及移位偏移量子单元、变换子单元、变换后处理子单元和量化子单元。而对于第一数值范围估计单元、第二数值范围估计单元和数值范围差值单元的结构与功能均与图4所示的装置相同。
在该演进装置的变换补偿子单元中,调整系数及移位偏移量子单元,用于根据估计的数值范围特征差值确定调整系数和量化时的移位偏移量,并分别提供给变换后处理子单元和量化子单元。变换子单元,用于对待变换的数据应用第一种变换,并将变换结果提供给变换后处理子单元。变换后处理子单元,用于将经第一种变换后的数据乘以确定的调整系数,并将结果提供给量化子单元。量化子单元,根据所述移位偏移量和第一种变换对应的量化步长对乘以调整因子后的结果进行量化。
在上述实施方式中,计算两种变换和相应量化后数值范围的差值时,利用的是两种变换后的平均数值范围。为使数值范围估计更加准确,还可以采用实施例二的方式进行。
实施例二:
本实施例中,与实施例一类似,两种变换的数值范围特征差值为图像数据分别经过两种变换和对应量化后数值范围的差值,但是该差值的具体计算方式与实施例一中不同。
图5为本实施例中提供的对变换数据处理方法具体流程图。如图5所示,该方法包括:
步骤501,根据预设两种变换所需的变换矩阵,估计图像数据分别经过两种变换后的数值范围。
本步骤的估计方式与实施例一中的步骤301相同,这里就不再赘述。
步骤502,计算变换B后的平均数值范围。
步骤503,根据步骤501中得到的经变换A后各个数据的数值范围和步骤502得到的经变换B后的平均数值范围,计算两种变换和相应量化后的数值范围差值。
本步骤中,计算数值范围的差值时的方法原理与实施例一中相同,区别在于,本实施例中的数据范围的差值,根据变换A后各个数据的数值范围和经变换B后的平均数值范围进行计算。具体地,对于编码块C按照变换A的尺度划分成子块后,该子块中第i行第j列的像素数据经变换A后对应与变换B后的数据范围差值为:d′(i,j)=(AvrB+log2QT4B2[n])-(Aij+log2QTAB1[n]),(1<=i<=m,1<=j<=m),其中,Aij为经变换A后的子块内第i行第j列像素数据的数值范围。
步骤504,根据步骤503中得到的数值范围差值,确定变换A的调整因子。
本步骤中,确定调整因子的方式与实施例一相同,且针对子块中第i行第j列的像素数据而定,具体为
这样,求得的调整因子是根据像素位置的变化而变化的。
步骤505,对编码块C应用变换A,获得变换后的数据,并将所得数据均对应乘以变换A的调整因子。
本步骤中,在与调整因子相乘时,将第i行第j列的像素数据变换后的结果与相应的调整因子qij相乘,即这样,将使得变换结果的调整更加准确。
步骤506,利用变换A查找到的量化步长对各个Cij′进行量化。
至此,即完成了对变换A的所得数据的补偿,其补偿原理与实施例一的推导过程相同,这里就不再赘述。其区别在于,在补偿过程中,调整因子的计算针对像素数据所在位置的变化而变化,使得补偿的结果更加准确,使最终两种变换和相应量化后所得数据的数值范围的一致程度更高,从而能够更加有效地选择较优的变换,进一步提高编码效率。
在实际编码中变换A的根据像素所在位置调整因子可能会因编码数据的差异而做调整,故在编码时变换A的调整因子可以根据编码数据的特性做适当的调整。所述的编码数据特性可以为数据块经变换A之后的各个像素位置的数值。并将变换A的调整因子写入编码码流中。变换A的调整因子可以写在码流的序列头或图像头或条带头或宏块头中。变换A的调整因子的使用方式与上述方法相同,这里不再赘述。
本实施例中的方法也可以采用实施例一中图4所示的装置来实现。
考虑到补偿准确性的问题,本实施例也提供了一种演进的补偿方式,具体为:根据获得的两种变换和相应量化后数值范围的差值,确定调整因子f(i,j)和系数偏移量s(i,j),在进行补偿时,首先利用f(i,j)与变换后的数据相乘,然后再将该乘积结果加上系数偏移量s(i,j),目的在于让以下关系成立f(i,j)×Aij+s(i,j)=AvrB,(1<=i<=n,1<=j<=n),从而保证补偿的准确性。最后再将加上偏移量后的结果按照变换A对应的量化步长进行量化。相应地,在解码端,与编码端相应设置f(i,j)和s(i,j),并对接收到的待反量化的数据进行反量化后,减去s(i,j)再除以f(i,j),然后再进行反变换,以准确重建编码端图像数据。
对于上述演进的补偿方式,本发明也提供了对应的演进装置结构,该结构与图4所示结构类似,区别在于,其中的变换补偿单元包括调整因子和偏移量子单元、变换子单元、变换后处理子单元和量化子单元。其它第一数值范围估计单元、第二数值范围估计单元、数值范围差值单元的结构和功能均与图4所示的装置相同。
在变换补偿单元中,调整因子和系数偏移量子单元,用于根据所述数值范围差值单元提供的数值范围差值确定调整因子和系数偏移量,并提供给变换后处理子单元。变换子单元,用于对待变换的数据应用第一种变换,并将变换结果提供给变换后处理子单元。变换后处理子单元,用于将经第一种变换后的数据乘以确定的调整因子再加上偏移量,并将结果提供给量化子单元。量化子单元,根据第一种变换对应的量化步长对乘以调整因子并加上系数偏移量后的结果进行量化。
与实施例一类似,在解码端可以预先计算变换A的调整因子,当变换A作为较优的变换方式时,解码端在进行反量化后,将反量化结果除以各自对应的变换A的调整因子,然后再进行反变换,从而重建编码端数据。
若在编码时编码码流已包含变换A的调整因子,则解码端从码流中包含有调整因子的地方,如序列头、图像头、条带头、宏块头,得到变换A的调整因子。变换A的调整因子的使用方式与上述方法相同,这里不再赘述。
实施例三:
本实施例中,对变换A所得数据的补偿方式与前两个实施例不同,采用的是调整量化点的方式进行补偿。另外,与实施例一类似,本实施例中两种变换的数值范围特征差值为图像数据分别经过两种变换和对应量化后数值范围的差值。具体地,图6为实施例三中提供的对变换数据处理方法具体流程图。如图6所示,该方法包括:
步骤601~603,根据预设两种变换所需的变换矩阵,估计图像数据分别经过两种变换后的数值范围;针对两种变换,分别计算变换后的平均数值范围;并计算两种变换和相应量化后的数值范围差值。
步骤601~603中的操作与实施例一中步骤301~303的操作相同,这里就不再赘述。
步骤604,根据步骤603中的差值确定量化点偏移量。
本实施例中,通过调整变换A对应的量化点,对变换A所得数据进行补偿,从而使其获得与变换B相一致的数值范围,为选择较优的变换方式作准备。
变换A对应的量化点可以为预先设定好的量化点,也可以为从变换B得到的量化点。
在视频标准中,相邻两个量化点所对应量化步长通常成一定的倍数关系,具体为:每隔k个量化点,其对应的量化步长在数值上变为原来的二分之一,因此可得相邻量化点所对应的量化步长间的倍数关系为于是相隔i个量化点所对应的量化步长间的倍数关系即为又由于量化步长与利用该量化步长进行量化后所得的数值呈正比,因此,通过调整量化点偏移量的方法亦可起到数据数值范围调整的目的。
根据步骤603中得到的变换A、B后的数值范围差值D′,可以得到补偿该数值范围的差值所需要的量化点偏移量。具体地,数值范围差值D′对应的具体数值倍数为2D′,而量化点加上偏移量ΔQP后,其对应的量化步长是原量化步长的数为倍,令二者相等,则可以得到量化点偏移量ΔQP=-|k×D’|,其中||为取整操作符。因为量化步长的大小会影响数据的实际编码效果,ΔQP可在上述计算公式基础上根据实验数据所得结果视量化步长的大小进行调整。
当然,量化点偏移量的计算也可以采用其它公式,只要能够反映步骤603中得到的数值范围的差值即可。
步骤605,对编码块C应用变换A获得变换后的数据,将变换A对应的量化点减去确定的量化偏移量,再根据调整后的量化点查找到的量化步长进行量化。
由步骤604中推导ΔQP=-|k×D’|的过程可见,将量化点调整后,调整后的量化步长与原量化步长的倍数关系为2D′,也就是调整后的量化步长变为2D′·QTAB1[s],其中,QTAB1[s]为原来的量化步长。那么,利用该修正后的量化步长进行量化后的结果为以二进制表示的数值范围为AvrB+log2QTAB2[s]。显然该数值范围与经变换B和相应量化后所得数据的数值范围相同,实现了使变换A和变换B最终数值范围一致的目的。
至此,本实施例提供的对变换数据处理方法流程结束。
依照上述方法进行编码侧的变换数据处理,从而选择变换A和变换B中较优的变换方式。若最终选择的变换方式为变换A,则发送给解码端的数据即为经变换A和相应量化及熵编码等处理后的数据。这时,在解码端需要预先根据步骤601~604计算变换A对应的量化点偏移量,并对该量化点偏移量进行补偿,具体为将变换A原对应的量化点基础上加上ΔQP,再利用该改变后的量化点对应的量化步长对数据进行反量化和反变换,以准确地重建编码端数据。
在上述解码端步骤中,对量化点偏移量进行补偿时,亦可在变换A原对应的量化点基础上减去ΔQP,再利用该改变后的量化点对应的量化步长对数据进行反量化和反变换。在变换A原对应的量化点基础上加上或减去ΔQP由量化表特性决定,为预先设定好的步骤,其目的在于编码端数据经变换A处理后在解码端能准确恢复。
在实际编码中变换A量化偏移量可能会因编码数据的差异而做调整,故在编码时变换A的调整因子可以根据编码数据的特性做适当的调整。所述的编码数据特性可以为数据块经变换A之后的实际平均数值范围。并将变换A的量化偏移量写入编码码流中。即变换A对应的量化点所减去的量化偏移量可取决于编码一个序列、一幅图像、一个条带或一个宏块时数据经变换A之后的数值范围,所减去的量化偏移量写入编码码流。变换A的量化偏移量可以写在码流的序列头或图像头或条带头或宏块头中。解码端端若获知编码端码流包含了量化点偏移量信息,则从码流中的序列头或图像头或条带头或宏块头中获取量化偏移量,在变换A原对应的量化点基础上减去量化偏移量。这里所述编码端变换A对应的量化点及解码端变换A原对应的量化点可以为预先设定好的量化点,也可以为与变换B相同的量化点。
本实施例还提供了变换数据处理装置的另一种具体实施方式,可以用于实施上述图6所示的方法。图7即为该实施方式下变换数据处理装置的具体结构图。如图7所示,该装置包括第一数值范围估计单元、第二数值范围估计单元、数值范围差值单元和变换补偿单元。其中,变换补偿单元包括量化点修正子单元、变换子单元和量化子单元。
第一数值范围估计单元,用于根据预设两种变换中的第一种变换所需的变换矩阵,估计图像数据经过第一种变换后的数值范围,并提供给数值范围差值单元。
第二数值范围估计单元,用于根据预设两种变换中的第二变换所需的变换矩阵,估计图像数据经过第二变换后的数值范围,并提供给数值范围差值单元。
数值范围差值单元,用于根据分别经过第一、第二变换后的数值范围和第一、第二变换各自对应第量化点,估计图像数据分别经过第一、第二变换和对应量化后数值范围的差值,并提供给变换补偿单元。
在变换补偿单元中,量化点修正子单元,用于根据数值范围差值单元提供的数值范围的差值确定量化点偏移量,并将第一种变换对应的量化点减去所述量化点偏移量,并将调整后的结果提供给量化子单元。变换子单元,用于对待变换的数据应用第一种变换,并将变换后的结果提供给量化子单元。量化子单元,用于根据所述量化点修正子单元提供的调整后的量化点对变换后的结果进行量化。
在上述本实施例的具体实施过程中,经变换A、B后的数值范围的差值是根据平均数值范围计算的。事实上,该差值的计算可以采用实施例二的方式进行,即针对经变换A后子块内各个像素,分别计算数值范围的差值。相应地,在步骤604中调整变换A对应的量化点时,也针对经变换A后子块内各个像素进行调整,具体地,ΔQPi,j=|n×Δd′(i,j)|。然后,在步骤605中根据不同的像素,按照调整后的量化点对应的量化步长进行量化。这样,能够使补偿的结果更加准确,使最终两种变换和相应量化后所得数据的数值范围的一致程度更高,从而能够更加有效地选择较优的变换,进一步提高编码效率。
相应地,当编码端选择变换A为较优的变换方式后,在解码端预先根据上述方法获得变换A后各个像素数据对应的量化点偏移量,并将待反量化的数据各自对应的量化点加上偏移量,再利用改变后的量化点对应的量化步长进行反量化和反变换,以准确地重建编码端数据。
当量化偏移量需要写入码流时,可仿照前述方法进行码流的写入、解析及量化点偏移量在编码端和解码端对变换A原对应的量化点的处理方法。
在上述三个实施例中,分别采用了两种不同的方式对变换后的数据进行补偿,从而达到调整其数值范围的目的,具体地,一种方式是将变换后的数据乘以一个调整因子,另一种方式是改变该变换对应的量化点。事实上,可以将上述两种方式结合起来进行变换后数据的补偿。例如,将变换后的数据乘以一个调整因子f,同时将量化点偏移s,目的在于让以下关系成立:f×AvrA+s=AvrB,(1<=i<=n,1<=j<=n)。由于AvrA和AvrB为先验数据,f和s可以为预先设定值,且值不唯一,具体f和s可以视AvrA和AvrB数据大小关系及编解码实现条件而设定。若f和s需要根据图像编码数据进行调整,则f和s可以写入编码码流中的序列头、图像头、条带头、宏块头等地方。若编码码流含有f和s,则解码端从编码码流的相应位置,例如序列头、图像头、条带头、宏块头等,解析得到f和s。
当然,也可以将子块变换后的所有像素数据分别乘以一个对应的调整因子,同时将量化点偏移s(i,j),目的在于让以下关系成立:f(i,j)×Aij+s(i,j)=AvrB,(1<=i<=n,1<=j<=n)。其中,f(i,j)和s(i,j)可以视AvrA和AvrB数据大小关系及编解码实现条件而设定。若f(i,j)和s(i,j)需要根据图像编码数据进行调整,则f(i,j)和s(i,j)可以写入编码码流中的序列头、图像头、条带头、宏块头等地方。
若经过上述方式对经变换A所得数据进行补偿,在解码端可以预先设置相同的f(i,j)和s(i,j)当接收到对应变换A的编码数据后,在对该数据进行反量化前,调整变换A对应的量化点,在原有量化点的基础上加上s(i,j),同时对待反量化的数据除以对应的调整因子f(i,j),再利用改变后的量化点对应的量化补偿对除以调整因子后的待反量化数据进行反量化,以准确重建编码端数据。
若编码码流含有f(i,j)和s(i,j),则解码端从编码码流的相应位置,例如序列头、图像头、条带头、宏块头等,解析得到f(i,j)和s(i,j)。
对应该上述两种补偿方式结合的方法,本发明也提供了对应的装置结构。该装置结构与图7所示的结构类似,区别在于,其中的变换补偿单元包括调整因子及量化点修正子单元、变换子单元、变换后处理子单元和量化子单元。其它第一数值范围估计单元、第二数值范围估计单元、数值范围差值单元的结构和功能均与图7所示的装置相同。
在该变换补偿单元中,调整因子及量化点修正子单元,用于根据数值范围差值单元提供的数值范围的差值确定调整因子和量化点偏移量,并将第一种变换对应的量化点减去所述量化点偏移量,将调整后的量化点提供给所述量化子单元,将确定的调整因子提供给变换后处理子单元。变换子单元,用于对待变换的数据应用第一种变换,并将变换结果提供给变换后处理子单元。变换后处理子单元,用于将经第一种变换后的数据乘以确定的调整因子,并将结果提供给量化子单元。量化子单元,根据所述调整后的量化点对应的量化步长对乘以调整因子后的结果进行量化。
在上述三个实施例中,变换A和变换B可以采用不同的量化表,也就是根据量化点查找到的量化步长是不同的,但是对于量化表相同的情况而言,采用上述方式对于数据精度的损失较大。
针对量化表相同的情况,本发明提出了实施例四的实施方式,对于其中的一种变换,重新设计一套量化表,从而使两种变换和相应量化后数据的数值范围相一致。
实施例四:
与前述三个实施例不同,本实施例中,两种变换的数值范围特征差值为图像数据分别经过两种变换后数值范围的差值。
图8为本发明实施例四中变换数据处理方法的具体流程图。如图8所示,该方法包括:
步骤801~802,根据预设两种变换所需的变换矩阵,估计图像数据分别经过两种变换后的数值范围;针对两种变换,分别计算变换后的平均数值范围;
步骤801~802中的操作与实施例一中步骤301~302的操作相同,区别在于,针对不同的量化点分别进行上述操作。也就是说,对于所有不同的宏块,分别计算该宏块经两种变换后的平均数值范围:AvrA(n)和AvrB(n),其中,n为量化点索引。
步骤803,计算两种变换后的数值范围差值。
针对不同的量化点计算两种变换后的数值范围差值,具体地,Δd(n)=AvrB(n)-AvrA(n)。
事实上,如前所述,由于在视频编解码理论中,通常使用均匀量化方法,也就是每隔若干个量化点,量化步长减小为原来一半,因此Δd(n)的数值也具有一定规律性。基于此,这里可以做一个简化。具体地,设每隔m个量化点,量化步长减小为原来一半,则可以选择计算连续的m个Δd(n),例如,本步骤仅计算Δd(1),Δd(2),L,Δd(m),下面即假定计算了这m个差值。
步骤804,设置各个量化点对应的量化步长和移位位数,并形成量化表。
本步骤中,设置量化步长时,根据步骤803中计算得到的差值进行。具体地,对应于步骤803中计算得到的m个差值,设置第1至第m个量化点所对应的量化步长为:2Δd(1)×R,..........2Δd(m)×R,其中R为一恒定系数值,目的在于让量化步长的值为一整数且提高计算精度(分子大了,自然可以保留更多信息),但是考虑到硬件存储范围的限制,该R值有其上限。根据均匀量化原理,由第1至第m个量化点所对应的量化步长就可以推出其它量化点的量化步长。
当然,在设置量化步长时,也可以对所有的量化步长进行设置,具体第n个量化点对应的量化步长为2Δd(n)×R。
在设置移位位数时将其设定为一固定值t。当该t较大时,编码效果较差,压缩编码率高;当该t较小时,编码效果较好,压缩编码率低。因此,t的具体取值需要综合考虑编码效果和压缩编码率,找到一个较佳平衡点对应的t。
根据上述设置的移位位数和量化步长形成量化表,该过程与现有的实现方式相同,这里就不再赘述。
步骤805,接收待变换的数据,并应用变换A获得变换后的数据,根据上述量化表对变换后的数据进行量化。
经上述处理后,编码端数据经变换A和上述量化表进行量化后数据的数值范围与经变换B和相应量化后的数值范围可达基本一致。
本实施例之所以实现发明目的的原理与实施例一相同,具体地,由于量化过程中,量化步长与量化后数据是成正比的,因此根据上述量化步长对变换A所得数据进行量化的过程事实上与实施例一中对变换A所得数据乘以一个调整因子的过程基本等价,都是乘以2Δd(n)的关系。因此,本实施例也可以实现调整数值范围,以使其与变换B和相应量化后数值范围一致的目的。
相应地,在解码端还要设计与编码端的量化表相应的反量化表。在反量化表中,考虑到在编码端根据均匀量化的方法,第n个量化点的量化步长为第(n+m)个量化点的量化步长的两倍,在反量化表中利用移位来补偿量化步长间的倍数关系,也就是在反量化时第n个量化点的移位位数=第(n+m)个量化点的移位位数+1。第1至m个反量化点的移位位数可设为k,那么第m+1至2m个反量化点的移位位数就相应为k-1。至于,k值的设定,也是考虑硬件的存储范围而定,原理与前述考虑硬件存储范围的情况相同。
下面,根据上述移位位数的设置,计算反量化表的反量化步长为IQ(n),其中n为量化点。IQ(n)需满足关系其中,反映的是移位位数的变化,即每隔m个量化点,移位位数增加1。根据该公式可知 其中h为一恒定常数,其取值越大越好,但是同样要受到硬件存储范围的限制。
按照上述方式建立反量化表,这样在解码端,使用变换A的数据在进行反变换后使用该建立的反量化表就可以恢复重建数据。
本实施例还提供了变换数据处理装置的一种具体实施方式,可以用于实施上述图8所示的方法。图9即为该实施方式下变换数据处理装置的具体结构图。如图9所示,该装置包括第一数值范围估计单元、第二数值范围估计单元、数值范围差值单元和变换补偿单元。其中,变换补偿单元包括量化表建立子单元、变换子单元和量化子单元。
第一数值范围估计单元,用于根据预设两种变换中的第一种变换所需的变换矩阵,估计图像数据经过第一种变换后的数值范围,并提供给数值范围差值单元。
第二数值范围估计单元,用于根据预设两种变换中的第二变换所需的变换矩阵,估计图像数据经过第二变换后的数值范围,并提供给数值范围差值单元。
所述数值范围差值单元,用于根据分别经过第一、第二变换后的数值范围,估计经过两种变换后数值范围的差值,并将该差值作为数值范围特征差值提供给所述变换补偿单元。
在变换补偿单元中,量化表建立子单元,用于根据所述数值范围特征差值为第一种变换建立对应的量化表,并提供给量化子单元。变换子单元,用于对待变换的数据应用第一种变换,并将变换结果提供给量化子单元。量化子单元,根据所述第一种变换对应的量化表对第一种变换后的结果进行量化。
在上述本发明的实施例中,均以对经变换A的数据进行补偿为例,说明本发明的具体实施方式,事实上,也可以对经变换B的数据进行补偿,其实施方式相同,只是在对应公式中将变换A和变换B所对应的参量进行互换即可,这里就不再赘述。
上述变换数据处理的方法可以用于编码方法中。
图10是本发明实施例五提供的编码方法流程示意图,该编码方法包括以下步骤:
A1、接收待变换的数据;
所述待变换的数据包括经过预测得到的图像块残差。
A2、对所述待变换的数据进行第一变换,得到第一变换后的数据;对所述待变换的数据进行第二变换,得到第二变换后的数据;
所述的第一变换在这里为4x4尺寸的变换;
所述的第二变换在这里为8x8尺寸的变换;
A3、根据第一变换后的数据和第二变换后的数据确定第一变换的调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据。
这里的第一变换后的数据和第二变换后的数据包括前述的第一变换后的数值范围和第二变换后的数值范围,为描述方便,采用第一变换后的数据和第二变换后的数据的叫法。
调整参数可以包括根据所述第一变换后的数据和第二变换后的数据确定调整因子,则所述根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据包括:将经第一变换后的数据乘以所述调整因子;根据对应的量化步长对乘以调整因子后的数据进行量化。
调整参数可以包括根据第一变换后的数据和第二变换后的数据确定的量化偏移量,所述第二变换的参数为第二变换的量化点,所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:将第二变换对应的量化点减去所述量化偏移量作为第一变换的量化点;利用调整后的第一变换的量化点对经第一变换后的数据进行量化。
调整参数可以包括根据第一变换后的数据和第二变换后的数据确定的量化偏移量和调整因子;所述第二变换的参数为第二变换对应的量化点,则所述根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据包括:将经第一变换后的数据乘以所述调整因子,并将第二变换对应的量化点减去所述量化偏移量作为第一变换的量化点;利用所述第一变换的量化点对乘以调整因子后的数据进行量化。
调整参数还可以包括根据第一变换后的数据和第二变换后的数据确定的调整系数和量化移位偏移量;所述第二变换的参数包括,对第二变换数据的量化点的移位数;则所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:将经第一变换后的数据乘以所述调整系数,并利用第一变换对应的量化点的移位位数对所述与调整系数相乘后的数据进行量化;所述第一变换对应的量化点的移位位数为第二变换对应的量化点的移位位数与所述量化移位偏移量之和。
所述调整参数可以包括根据第一变换后的数据和第二变换后的数据确定的调整因子和系数偏移量,则所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:将经第一变换后的数据乘以所述调整因子,再加上所述系数偏移量并进行量化。
A4、将所述调整参数写入编码码流中。
将所述调整参数写入编码码流中的序列头或图像头或条带头或宏块头中,供解码端使用。
经上述处理后第一变换后数据的数值范围和第二变换后数据的数值范围大致形同,在编码时能更有效的反映变换对数据的影响,来选择效果较优的变换,进而提高编码效率。
图11是本发明实施例六提供的解码方法流程示意图,该方法包括:
B1、接收码流,对所述码流进行解码,获得第一变换后的数据和调整参数;
第一变换后的数据是指若当前解码图像块判断为使用第一变换,则熵解码后所得图像块残差经第一变换反变换后的数据;
所述的第一变换在这里为4x4尺寸的反变换;
所述的第二变换在这里为8x8尺寸的反变换;
所述调整参数与在编码时写入码流的调整参数相应。
B2、根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据。
这个步骤包括多种方法,分别是:
(1)根据所述调整参数和所述第二变换的参数确定对第一变换后的数据的调整因子:根据第一变换对应的量化步长对第一变换后的数据进行反量化,并对反量化结果与所述调整因子之商进行反变换。
(2)若接收到的调整参数为量化偏移量,则所述第二变换的参数为第二变换对应的量化点,第一变换的量化点为所述第二变换对应的量化点减去所述量化偏移量,所述根据所述量化偏移量和第二变换对应的量化点对第一变换后的数据调整包括:利用所述第一变换对应的量化点对所述第一变换后的数据进行反量化,并对反量化结果进行反变换。
(3)若调整参数包括量化偏移量和对第一变换后的数据的调整因子;则所述第二变换的参数为第二变换对应的量化点,第一变换的量化点为所述第二变换的量化点减去所述量化偏移量;所述根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据包括:利用所述第一变换对应的量化点对第一变换后的数据进行反量化;对反量化结果与所述调整因子之商进行反变换。
(4)若所述调整参数包括第一变换的调整系数和对第一变换数据的量化移位偏移量;所述第二变换的参数包括,对第二变换数据的量化点的移位数;则所述根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据包括:将所述第二变换对应的量化点的移位位数减去所述量化移位偏移量作为第一变换对应的量化点的移位位数;利用所述第一变换对应的量化点的移位位数对接收到第一变换后的数据进行反量化;对反量化结果与所述调整系数之商进行反变换。
(5)根据所述调整参数和所述第二变换的参数确定对第一变换数据的调整因子;根据所述调整参数和所述第二变换的参数确定对第一变换数据的系数偏移量;所述根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据包括:根据所述第一变换对应的量化步长对接收到的数据进行反量化,并对反量化结果减去所述系数偏移量,将所述相减结果与所述调整因子之商进行反变换。
与编码端相应,所述调整参数从码流中的序列头或图像头或条带头或宏块头中获得。
图12是本发明实施例七提供的编码装置结构示意图,该编码装置包括:
数据接收单元,用于接收待变换的数据;
变换单元,用于对接收单元接收到的所述待变换的数据进行第一变换,得到第一变换后的数据;对所述待变换的数据进行第二变换,得到第二变换后的数据;
第一调整单元,根据第一变换后的数据和第二变换后的数据确定调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据;
写单元,用于将所述调整参数写入编码码流中。
图13是本发明实施例八提供的解码装置结构示意图,该解码装置包括:
码流接收单元,用于接收码流;
解码单元,对所述码流进行解码,获得第一变换后的数据和调整参数;
第二调整单元,用于根据所述调整参数和第二变换的参数调整第一变换后的数据。
上述编码装置和解码装置可以组成一套***使用,这里不在赘述。
实施例九:一种编码方法
实施例九提供了一种编码方法,可以在编码端自适应地求取量化偏移量(前述的调整参数),如图14所示,所述方法包括:
C1、接收待变换的数据和已编码参数信息;
C2、对所述待变换的数据进行第一变换,得到第一变换后的数据;
C3、根据已编码参数信息和第二变换的参数确定调整参数,根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据;
C4、将所述调整参数写入编码码流中。
下面加以详细介绍。
设变换A的尺度为4x4,变换B的尺度为8x8。
本实施例中首先接收待变换的数据和已编码参数信息。对所述待变换的数据进行第一变换,得到第一变换后的数据,根据已编码参数信息和第二变换参数确定调整参数。这里所述第二变换参数为第二变换所对应的量化点,所述调整参数为量化偏移量。
所述已编码参数信息包括使用第一变换的帧内预测图像块数目,使用第二变换的帧内预测图像块数目,所有使用帧内预测图像块的数目,P帧或B帧中使用第一变换的帧内预测图像块数目,P帧和B帧中使用第一变换的帧内预测图像块数目,P帧或B帧中使用第二变换帧内预测图像块的数目,P帧和B帧中使用第二变换帧内预测图像块的数目,P帧和B帧中使用帧内预测图像块的数目,P帧中使用跳过模式或直接模式的图像块的数目,P帧中使用跳过模式和直接模式的图像块的数目,B帧中使用跳过模式或直接模式的图像块的数目,B帧中使用跳过模式和直接模式的图像块的数目,P帧中使用帧间预测模式图像块的数目,或B帧中使用帧间预测模式图像块的数目中的一种或多种。其中跳过模式为视频编解码中常用技术,其含义为根据已编码或已解码图像块信息得到当前图像块运动矢量,并且该图像块中没有编码残差;直接模式含义为根据已编码或已解码图像块信息得到当前图像块运动矢量,但该图像块中含有编码残差。
记所述使用第一变换的帧内预测图像块数目为img->intra4x4num,所述使用帧内预测图像块的数目为img->intra_num,所述P帧中使用跳过模式和或直接模式的图像块的数目为img->pskip_num,所述P帧中使用帧内预测图像块的数目为img->p_intra,所述P帧中使用帧间预测模式图像块的数目为img->pnum,所述第二变换所对应的量化点为img->qp,所述量化偏移量img->qp_shift。
在本实施例中在编码端存储三张用于确定量化偏移量,每张表包含64个元素,这三张表记为QPshift_table[0]、QPshift_table[1]和QPshift_table[2]三个数组,每个数组中包含64个元素,表现形式如下:
QPshift_table[0]={0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,8,8,8,8,8,8,8,8,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}
QPshift_table[1]={0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6}
QPshift_table[2]={0,1,1,1,2,2,3,3,3,4,4,4,5,5,6,6,7,8,8,9,9,10,10,10,10,10,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13}
在使用自适应块变换技术时,若当前编码图像为I帧且为当前序列或当前图像组的第一幅图像,记img->intra4x4num、img->intra_num、img->pskip_num、img->p_intra和img->pnum值为0,使用QPshift_table[0]确定img->QP_shift,确定方法为:img->QP_shift=QPshift_table[0][img->qp]。这里所说图像组为包含了若干I帧、P帧、B帧或上述几种类型中的组合。
若当前编码图像为I帧且不为当前序列或当前图像组的第一幅图像但当前序列或当前图像组中还未有已经以P帧编码的图像,则设定两个参数,记为第一确定值v1和第二确定值v2,v1和v2的计算方法如下:
v1=img->intra4x4num*5.0/img->intra_num/(img->QP_shift+12)
v2=0.2
其中符号’*’代表乘法,符号’/’代表除法。
得到v1和v2之后根据以下逻辑判断得到量化偏移量img->QP_shift:
(1)如果v1小于0.3且v2小于0.4,或者v1小于0.4且v2小于0.15,或者v1小于0.5且v2小于0.1,则img->QP_shift的值以img->qp为索引值,在表QPshift_table[1]中查找获得;
若条件(1)不满足则进行以下判断:
(2)如果v1大于0.5或者v2大于0.5或者v1*v2大于0.2,则img->QP_shift的值以img->qp为索引值,在表QPshift_table[2]中查找获得;
若条件(1)、(2)都不满足则img->QP_shift的值以img->qp为索引值,在表QPshift_table[0]中查找获得。
若当前编码图像不为当前序列或当前图像组的第一幅图像且当前序列或当前图像组中已有以P帧编码的图像则设定两个参数,记为第一确定值v1和第二确定值v2,v1和v2的计算方法如下:
v1=img->intra4x4num*5.0/img->intra_num/(img->QP_shift+12);
v2=img->pskip_num*1.0/img->pnum
其中符号’*’代表乘法,符号’/’代表除法。
得到v1和v2之后根据以下逻辑判断得到量化偏移量img->QP_shift:
(1)如果v1小于0.3且v2小于0.4,或者v1小于0.4且v2小于0.15,或者v1小于0.5且v2小于0.1,则img->QP_shift的值以img->qp为索引值,在表QPshift_table[1]中查找获得;
若条件(1)不满足则进行以下判断:
(2)如果v1大于0.5或者v2大于0.5或者v1*v2大于0.2,则img->QP_shift的值以img->qp为索引值,在表QPshift_table[2]中查找获得;
若条件(1)、(2)都不满足则img->QP_shift的值以img->qp为索引值,在表QPshift_table[0]中查找获得。
得到量化偏移量img->QP_shift之后,再根据编码端预先存储好的表格得到率失真优化模型(rate-distortion optimization)中的第一变换所对应的权重系数lambda。该表格记为QP_lambda_table_4x4,在本实施例中包含有16个元素。第一种变换中使用帧内编码图像块的lambda记为img->lambda4x4I,使用帧间预测模式的图像块的lambda记为img->lambda4x4p,img->lambda4x4I和img->lambda4x4p的计算方法为:
img->lambda4x4I=QP_lambda_table_4x4[img->QP_shift]
img->lambda4x4p=img->lambda4x4I*0.9
QP_lambda_table_4x4的表现形式如下:
QP_lambda_table_4x4[16]=
{1.0,1.1,1.3,1.5,1.8,2.1,2.6,3.1,3.5,4.0,4.6,5.1,5.7,6.3,100,100}
若当前待编码图像为P帧,则img->QP_shift设为5,img->lambda4x4p设为1.6。
若当前待编码图像为B帧,则img->QP_shift设为5。
通过上述方法得到img->QP_shift后,根据第二变换的参数(即第二变换的量化点)计算得到第一变换的量化点,具体方法为将第二变换的量化点减去所述量化偏移量作为第一变换的量化点。利用计算所得的第一变换的量化点对经第一变换后的数据进行量化。将量化偏移量img->QP_shift写进编码码流中。
本实施例十还相应提供了一种编码装置,可以用于执行实施例九提供的编码方法,如图15所示,所述编码装置包括:
第三接收单元,用于接收待变换的数据和已编码参数信息;
第三变换单元,用于对所述第三接收单元接收的待变换的数据进行第一变换,得到第一变换后的数据;
第三调整单元,用于根据第三接收单元接收的已编码参数信息和第二变换的参数确定调整参数,根据所述调整参数和所述第二变换的参数调整所述第三变换单元得到的第一变换后的数据;
第三写单元,用于将所述第三调整单元得到的调整参数写入编码码流中。
本实施例中第三接收单元接收待变换的数据和已编码参数信息。第三变换单元对所述待变换的数据进行第一变换,得到第一变换后的数据,第三调整单元根据已编码参数信息和第二变换参数确定调整参数。这里所述第二变换参数为第二变换所对应的量化点,所述调整参数为量化偏移量。
所述已编码参数信息包括使用第一变换的帧内预测图像块数目,使用第二变换的帧内预测图像块数目,所有使用帧内预测图像块的数目,P帧或B帧中使用第一变换的帧内预测图像块数目,P帧和B帧中使用第一变换的帧内预测图像块数目,P帧或B帧中使用第二变换帧内预测图像块的数目,P帧和B帧中使用第二变换帧内预测图像块的数目,P帧和B帧中使用帧内预测图像块的数目,P帧中使用跳过模式或直接模式的图像块的数目,P帧中使用跳过模式和直接模式的图像块的数目,B帧中使用跳过模式或直接模式的图像块的数目,B帧中使用跳过模式和直接模式的图像块的数目,P帧中使用帧间预测模式图像块的数目,或B帧中使用帧间预测模式图像块的数目中的一种或多种。其中跳过模式为视频编解码中常用技术,其含义为根据已编码或已解码图像块信息得到当前图像块运动矢量,并且该图像块中没有编码残差;直接模式含义为根据已编码或已解码图像块信息得到当前图像块运动矢量,但该图像块中含有编码残差。
第三调整单元根据上述的已编码信息和第二变换的量化点计算得到量化偏移量,再根据量化偏移量和第二变换的量化点计算得到第一变换的量化点,并利用得到的第一变换的量化点对第一变换后的数据进行量化(根据所述调整参数和所述第二变换的参数调整所述第三变换单元得到的第一变换后的数据)。具体计算的步骤可以参考实施例九描述的内容。
第三写单元将量化偏移量写入编码码流中,以便解码的时候获得量化偏移量进行解码操作。
实施例九和实施例十根据已编码参数信息及第二变换参数得到了调整参数(量化偏移量),使得编码端具有较好的灵活性。由于编码端已将计算所得的调整参数写入编码码流中,因此解码端仅需从码流中获得此调整参数。此实施例所述方法兼顾了编码性能同时也不会额外增加解码端负担。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种编码方法,其特征在于,包括:
接收待变换的数据;
对所述待变换的数据进行第一变换,得到第一变换后的数据;
对所述待变换的数据进行第二变换,得到第二变换后的数据;
根据第一变换后的数据和第二变换后的数据确定调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据;
将所述调整参数写入编码码流中。
2.根据权利要求1所述的方法,其特征在于,所述调整参数包括根据第一变换后的数据和第二变换后的数据确定的量化偏移量,所述第二变换的参数为第二变换的量化点,所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:
将第二变换的量化点减去所述量化偏移量作为第一变换的量化点;
利用调整后的第一变换的量化点对经第一变换后的数据进行量化。
3.根据权利要求1所述的方法,其特征在于,所述调整参数包括根据第一变换后的数据和第二变换后的数据确定的量化偏移量和调整因子;所述第二变换的参数为第二变换的量化点,所述根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据包括:
将经第一变换后的数据乘以所述调整因子,并将第二变换的量化点减去所述量化偏移量作为第一变换的量化点;
利用所述第一变换的量化点对乘以调整因子后的数据进行量化。
4.根据权利要求1所述的方法,其特征在于,所述调整参数包括根据第一变换后的数据和第二变换后的数据确定的调整系数和量化移位偏移量;所述第二变换的参数包括对第二变换的量化点的移位数;
所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:
将经第一变换后的数据乘以所述调整系数,并利用第一变换的量化点的移位位数对所述与调整系数相乘后的数据进行量化;
所述第一变换的量化点的移位位数为第二变换的量化点的移位位数与所述量化移位偏移量之和。
5.根据权利要求1所述的方法,其特征在于,所述调整参数包括根据第一变换后的数据和第二变换后的数据确定的调整因子和系数偏移量,所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:
将经第一变换后的数据乘以所述调整因子,再加上所述系数偏移量并进行量化。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述调整参数写入编码码流中包括:将所述调整参数写入编码码流中的序列头或图像头或条带头或宏块头中。
7.一种解码方法,其特征在于,包括:
接收码流,对所述码流进行解码,获得第一变换后的数据和调整参数;
根据所述调整参数和第二变换的参数调整所述第一变换后的数据。
8.根据权利要求7所述的方法,其特征在于,所述调整参数为量化偏移量,所述第二变换的参数为第二变换的量化点,所述根据所述调整参数和所述第二变换的参数对第一变换后的数据调整包括:
利用第一变换的量化点对所述第一变换后的数据进行反量化,并对反量化结果进行反变换;
所述第一变换的量化点为所述第二变换的量化点减去所述量化偏移量。
9.根据权利要求7所述的方法,其特征在于,
所述调整参数包括量化偏移量和对第一变换后数据的调整因子;
所述第二变换的参数为第二变换的量化点;
所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:
利用第一变换对应的量化点对第一变换后的数据进行反量化,对反量化结果与所述调整因子之商进行反变换;
所述第一变换的量化点为所述第二变换的量化点减去所述量化偏移量。
10.根据权利要求7所述的方法,其特征在于,
所述调整参数包括第一变换的调整系数和对第一变换数据的量化移位偏移量;
所述第二变换的参数包括对第二变换数据的量化点的移位数;
所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:
将所述第二变换的量化点的移位位数减去所述量化移位偏移量作为第一变换的量化点的移位位数;
利用所述第一变换的量化点的移位位数对接收到第一变换后的数据进行反量化;
对反量化结果与所述调整系数之商进行反变换。
11.根据权利要求7-10任一项所述的方法,其特征在于,
所述调整参数包括系数偏移量和对第一变换后数据的调整因子;
所述根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据包括:
根据所述第一变换的量化步长对接收到的数据进行反量化,并对反量化结果减去所述系数偏移量,将所述相减结果与所述调整因子之商进行反变换。
12.根据权利要求7-10任一项所述的方法,其特征在于,所述调整参数从所述码流中的序列头或图像头或条带头或宏块头中获得。
13.根据权利要求7-10任一项所述的方法,其特征在于,所述第一变换为4x4变换,所述第二变换为8x8变换。
14.一种编码装置,其特征在于,包括:
数据接收单元,用于接收待变换的数据;
变换单元,用于对接收单元接收到的所述待变换的数据进行第一变换,得到第一变换后的数据;对所述待变换的数据进行第二变换,得到第二变换后的数据;
第一调整单元,根据第一变换后的数据和第二变换后的数据确定调整参数,根据所述调整参数和第二变换的参数调整所述第一变换后的数据;
写单元,用于将所述调整参数写入编码码流中。
15.如权利要求14所述的编码装置,其特征在于,
所述调整参数为根据第一变换后的数据和第二变换后的数据确定的量化偏移量,所述第二变换的参数为第二变换的量化点,
所述第一调整单元用于将第二变换的量化点减去所述量化偏移量作为第一变换的量化点,利用调整后的第一变换的量化点对经第一变换后的数据进行量化。
16.一种解码装置,其特征在于,包括:
码流接收单元,用于接收码流;
解码单元,对所述码流进行解码,获得第一变换后的数据和调整参数;
第二调整单元,用于根据所述调整参数和第二变换的参数调整第一变换后的数据。
17.如权利要求16所述的解码装置,其特征在于,
所述调整参数为量化偏移量,所述第二变换的参数为第二变换的量化点,所述第二调整单元用于利用第一变换的量化点对所述第一变换后的数据进行反量化,并对反量化结果进行反变换;
其中,所述第一变换的量化点为所述第二变换的量化点减去所述量化偏移量。
18.一种编码方法,其特征在于,包括:
接收待变换的数据和已编码参数信息;
对所述待变换的数据进行第一变换,得到第一变换后的数据;
根据已编码参数信息和第二变换的参数确定调整参数,根据所述调整参数和所述第二变换的参数调整所述第一变换后的数据;
将所述调整参数写入编码码流中。
19.根据权利要求18所述的方法,其特征在于,所述调整参数包括根据已编码参数信息和所述第二变换的参数确定的量化偏移量,所述第二变换的参数为第二变换的量化点,所述根据所述调整参数和第二变换的参数调整所述第一变换后的数据包括:
将第二变换的量化点减去所述量化偏移量作为第一变换的量化点;
利用调整后的第一变换的量化点对经第一变换后的数据进行量化。
20.根据权利要求18所述方法,其特征在于,所述已编码参数信息包括当前序列或当前图像组中编码当前图像之前已经得到的统计数据,所述统计数据包括使用第一变换的帧内预测图像块数目,使用第二变换的帧内预测图像块数目,所有使用帧内预测图像块的数目,P帧或B帧中使用第一变换的帧内预测图像块数目,P帧和B帧中使用第一变换的帧内预测图像块数目,P帧或B帧中使用第二变换帧内预测图像块的数目,P帧和B帧中使用第二变换帧内预测图像块的数目,P帧和B帧中使用帧内预测图像块的数目,P帧中使用跳过模式或直接模式的图像块的数目,P帧中使用跳过模式和直接模式的图像块的数目,B帧中使用跳过模式或直接模式的图像块的数目,B帧中使用跳过模式和直接模式的图像块的数目,P帧中使用帧间预测模式图像块的数目或B帧中使用帧间预测模式图像块的数目中的一种或多种。
21.一种编码装置,其特征在于,包括:
第三接收单元,用于接收待变换的数据和已编码参数信息;
第三变换单元,用于对所述第三接收单元接收的待变换的数据进行第一变换,得到第一变换后的数据;
第三调整单元,用于根据第三接收单元接收的已编码参数信息和第二变换的参数确定调整参数,根据所述调整参数和所述第二变换的参数调整所述第三变换单元得到的第一变换后的数据;
第三写单元,用于将所述第三调整单元得到的调整参数写入编码码流中。
22.如权利要求21所述的编码装置,其特征在于,
所述调整参数包括根据已编码参数信息和所述第二变换的参数确定的量化偏移量,所述第二变换的参数为第二变换的量化点,所述第三调整单元用于将第二变换的量化点减去所述量化偏移量作为第一变换的量化点,利用调整后的第一变换的量化点对经第一变换后的数据进行量化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010233134 CN101888556B (zh) | 2008-03-19 | 2008-03-19 | 编码、解码方法和编码、解码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010233134 CN101888556B (zh) | 2008-03-19 | 2008-03-19 | 编码、解码方法和编码、解码装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810087919 Division CN101325714B (zh) | 2007-06-13 | 2008-03-19 | 变换数据处理方法和装置以及编码、解码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101888556A true CN101888556A (zh) | 2010-11-17 |
CN101888556B CN101888556B (zh) | 2012-04-25 |
Family
ID=43074237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010233134 Active CN101888556B (zh) | 2008-03-19 | 2008-03-19 | 编码、解码方法和编码、解码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101888556B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104221378A (zh) * | 2012-04-16 | 2014-12-17 | 高通股份有限公司 | 在视频译码中用于量化矩阵的均匀粒度 |
CN104541506A (zh) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | 层间像素样本预测 |
CN105284110A (zh) * | 2013-07-31 | 2016-01-27 | 松下电器(美国)知识产权公司 | 图像编码方法及图像编码装置 |
CN105898299A (zh) * | 2015-12-14 | 2016-08-24 | 乐视云计算有限公司 | 基于变换块大小的自适应量化方法及装置 |
WO2016197898A1 (zh) * | 2015-06-09 | 2016-12-15 | 同济大学 | 图像编码及解码方法、图像处理设备、计算机存储介质 |
CN106254832A (zh) * | 2016-08-29 | 2016-12-21 | 合肥康胜达智能科技有限公司 | 一种闭路监控*** |
WO2018068239A1 (zh) * | 2016-10-12 | 2018-04-19 | 深圳市大疆创新科技有限公司 | 码率控制的方法、计算机***和装置 |
CN108063943A (zh) * | 2011-10-17 | 2018-05-22 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
US10257514B2 (en) | 2014-07-24 | 2019-04-09 | Huawei Technologies Co., Ltd. | Adaptive dequantization method and apparatus in video coding |
CN110708559A (zh) * | 2019-09-03 | 2020-01-17 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置及存储介质 |
US10575022B2 (en) | 2015-06-09 | 2020-02-25 | Zte Corporation | Image encoding and decoding method, image processing device and computer storage medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1187730A (zh) * | 1996-12-13 | 1998-07-15 | 松下电器产业株式会社 | 图像编码译码装置、方法及编码图像记录媒体、传送方法 |
JP4808634B2 (ja) * | 2004-11-19 | 2011-11-02 | パナソニック株式会社 | 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、および集積回路 |
CN100473161C (zh) * | 2005-09-09 | 2009-03-25 | 海信集团有限公司 | 基于avs的4×4离散余弦变换的快速并行装置及其方法 |
CN1825894A (zh) * | 2006-03-22 | 2006-08-30 | 天津大学 | 全相位余弦双正交变换及其对jpeg的改进方法 |
-
2008
- 2008-03-19 CN CN 201010233134 patent/CN101888556B/zh active Active
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108174212A (zh) * | 2011-10-17 | 2018-06-15 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108111850B (zh) * | 2011-10-17 | 2021-11-05 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108134935B (zh) * | 2011-10-17 | 2021-11-05 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108063943B (zh) * | 2011-10-17 | 2021-11-02 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108174212B (zh) * | 2011-10-17 | 2021-11-02 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108111849B (zh) * | 2011-10-17 | 2021-11-02 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108174211B (zh) * | 2011-10-17 | 2021-11-02 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108174211A (zh) * | 2011-10-17 | 2018-06-15 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108063943A (zh) * | 2011-10-17 | 2018-05-22 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108111850A (zh) * | 2011-10-17 | 2018-06-01 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108111849A (zh) * | 2011-10-17 | 2018-06-01 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN108134935A (zh) * | 2011-10-17 | 2018-06-08 | 株式会社Kt | 用解码装置对待解码的具有当前块的视频信号解码的方法 |
CN104221378B (zh) * | 2012-04-16 | 2017-12-05 | 高通股份有限公司 | 在视频译码中用于量化矩阵的均匀粒度 |
CN104221378A (zh) * | 2012-04-16 | 2014-12-17 | 高通股份有限公司 | 在视频译码中用于量化矩阵的均匀粒度 |
CN104541506A (zh) * | 2012-09-28 | 2015-04-22 | 英特尔公司 | 层间像素样本预测 |
CN105284110B (zh) * | 2013-07-31 | 2019-04-23 | 太阳专利托管公司 | 图像编码方法及图像编码装置 |
CN105284110A (zh) * | 2013-07-31 | 2016-01-27 | 松下电器(美国)知识产权公司 | 图像编码方法及图像编码装置 |
US10257514B2 (en) | 2014-07-24 | 2019-04-09 | Huawei Technologies Co., Ltd. | Adaptive dequantization method and apparatus in video coding |
WO2016197898A1 (zh) * | 2015-06-09 | 2016-12-15 | 同济大学 | 图像编码及解码方法、图像处理设备、计算机存储介质 |
US10575022B2 (en) | 2015-06-09 | 2020-02-25 | Zte Corporation | Image encoding and decoding method, image processing device and computer storage medium |
CN105898299A (zh) * | 2015-12-14 | 2016-08-24 | 乐视云计算有限公司 | 基于变换块大小的自适应量化方法及装置 |
CN106254832A (zh) * | 2016-08-29 | 2016-12-21 | 合肥康胜达智能科技有限公司 | 一种闭路监控*** |
WO2018068239A1 (zh) * | 2016-10-12 | 2018-04-19 | 深圳市大疆创新科技有限公司 | 码率控制的方法、计算机***和装置 |
US10917652B2 (en) | 2016-10-12 | 2021-02-09 | SZ DJI Technology Co., Ltd. | Data rate control method, computer system, and device |
CN110708559A (zh) * | 2019-09-03 | 2020-01-17 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置及存储介质 |
CN110708559B (zh) * | 2019-09-03 | 2022-03-25 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101888556B (zh) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101325714B (zh) | 变换数据处理方法和装置以及编码、解码方法和装置 | |
CN101888556B (zh) | 编码、解码方法和编码、解码装置 | |
US8086052B2 (en) | Hybrid video compression method | |
TWI516095B (zh) | 利用轉換操作之影音編碼及解碼方法 | |
CN104796714B (zh) | 使用平面表达的增强帧内预测编码 | |
RU2414093C2 (ru) | Способ и устройство, и программа кодирования/декодирования видео | |
CN103650496B (zh) | 用于在hevc中编码的基于像素的帧内预测 | |
KR101681353B1 (ko) | 이미지 시퀀스를 나타내는 코딩된 데이터의 스트림을 디코딩하는 방법 및 이미지 시퀀스를 코딩하는 방법 | |
TW202241130A (zh) | 使用具有鄰近取樣縮減的線性或仿射變換的內預測 | |
US5543843A (en) | Communication jack nose cleaning tool | |
EP2157799A1 (en) | Interpolation filter with local adaptation based on block edges in the reference frame | |
CN103299637A (zh) | 运动图像编码装置、运动图像译码装置、运动图像编码方法以及运动图像译码方法 | |
TW202315408A (zh) | 以區塊為基礎之預測技術 | |
CN101273641A (zh) | 运动图像编码装置以及运动图像译码装置 | |
CN104067623A (zh) | 运动图像解码装置、运动图像编码装置、运动图像解码方法以及运动图像编码方法 | |
CN102740077A (zh) | 基于h.264/avc标准的帧内预测模式选择方法 | |
KR100541623B1 (ko) | 움직임 보상을 이용한 예측 코딩 방법 및 장치 | |
JP5400133B2 (ja) | 線形形状の画素区画にスライスされた画像または画像シーケンスの符号化および復号 | |
JP7130708B2 (ja) | 画像の符号化及び復号方法、画像の符号化及び復号デバイス、及びこれに対応するコンピュータプログラム | |
KR20130045151A (ko) | 복원 블록을 생성하는 방법 및 장치 | |
KR100961760B1 (ko) | 이산코사인변환 계수를 참조하는 움직임 추정 방법 및 장치 | |
CN104937934A (zh) | 图像边界邻域中的自回归像素预测 | |
JP2011223068A (ja) | 符号化装置、復号装置及びプログラム | |
CN101001383A (zh) | 基于多层的视频编码/解码方法和编码器/解码器 | |
CN111355955B (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 |