矩阵编码方法与装置及解码方法与装置的制作方法

文档序号:7966645阅读:490来源:国知局
专利名称:矩阵编码方法与装置及解码方法与装置的制作方法
技术领域
本发明涉及视频编码技术,尤其涉及一种矩阵编码方法与装置及解码方法与装置。
背景技术
在视频编码中,需要将图像块经过预测后的残差变换系数如离散余弦变换(Discrete Cosine Transform ;简称为:DCT)系数进行量化后再编码,其中每个变换块的每个频率系数位置的量化权重即为量化矩阵(Quantization matrix ;简称为:QM)。QM的尺寸与DCT变换块大小相等,例如32x32大小的DCT变换块需要对应32x32的QM。同时,不同的信号分量及图像块的不同的预测方式(帧内/帧间)也需要不同的QM。QM的元素为O 255的整数,一般对于低频的系数QM中的量化权重较小,对于高频系数,QM中量化权重较大。使用QM可以提升编码视频的图像主观质量。目前,在JPEG (联合图象专家组),MPEGl (MPEG,运动图象专家组),MPEG2,MPEG4等图象编码标准中,均采用量化矩阵实现提升编码图像主观质量,其中,在JPEG图象编码标准中是将QM放在图象头,而在MPEG1、MPEG2、MPEG4等图象编码标准中则是将QM放在序列头中;因此,对于序列图象而言,MPEG图象编码标准的QM是每个序列拥有一个,即针对同一序列采用同一个固定的QM实现针对图象的量化处理。图像序列中的图象内容并不是完全相同,即在同一个图象序列中各图象的细节各不相同,因此,如果对于整个序列的所有图象均采用同一个QM实现量化处理,显然无法达到最佳的量化编码后的图象主观质量。为此,在H.264/高级视频编码(Advanced VideoCoding ;简称为:AVC)中,在序列头和图象头都提供用户自定义的QM,以便于可以在图象级改变QM,以更好地符合视频序 列图象之间的内容变化比较大的特点。下面对目前编码标准中常用的几种具有代表性质的QM实现方法进行描述:(I) JPEG中的量化矩阵在JPEG标准中,只有8x8 —种DCT (离散余弦变换)的变换尺寸,因此量化矩阵大小也是8x8,共有64个量化系数,对于图象的亮度分量和色度分量采用不同的量化矩阵,JPEG的量化矩阵的所有系数值均放在图象头中,每幅图象只有一个亮度量化矩阵和色度量化矩阵。当在编解码端使用标准中默认预定义的量化矩阵,则量化矩阵就不需要在码流中传输。(2)MPEG2在MPEG2标准中,只有8x8 —种DCT变换尺寸,因此量化矩阵大小也是8x8,共有64个量化系数。对于编码图象分别采用帧内量化矩阵与帧间量化矩阵。MPEG2只允许每个序列中的所有图象只拥有一个帧内量化矩阵和一个帧间量化矩阵,所有的量化矩阵的64个系数值都是放在序列头。MPEG2也允许用户自定义量化矩阵,自定义的量化矩阵在序列扩展头中。由于是每个序列的量化矩阵不能更改,量化矩阵直接编码在码流中的负载不大。(3) H.264/AVC 标准
在H.264/AVC标准中,有8x8和4x4两种DCT变换尺寸,因此也有与之对应的8x8和4x4两组量化矩阵。对8x8的量化矩阵,共64个系数对不同的频率分量进行量化的缩放;对4x4的矩阵,共16个系数对不同的频率分量进行量化的缩放。对于4x4的块和8x8的块都有与之对应的量化矩阵。因为在图象头语法中使用量化矩阵。目前,在H.264/AVC使用以下方法编码和在码流中传输QM:首先将QM扫描为一维,然后使用差分脉冲编码调制(Differential Pulse Code Modulation ;简称为:DPCM)进行调制,再使用变长码编码对调制后的数据进行编码后输出码流。该方法直接对QM进行无损压缩,但其压缩效率较低,QM编码比特所占用的码率仍较高。尤其是对较小图像尺寸的码流序列。因此为了限制量化矩阵在每帧编码图像码流中的负载,限制量化矩阵在图像头中使用只在H.264/AVC HighProfile标准中,用于高清图像编码。在高效视频编码(High Efficiency Video Coding ;简称为:HEVC)中,图像块的变换尺寸增加到4x4,8x8,16x16,32x32等多种变换尺寸,并且由于使用了较大的变换块,所以对应的QM也较大。如果不压缩或者采用H.264/AVC方法对QM编码,QM将占据较大码率,QM本身编码比特可占到码率的一半以上,甚至几倍。

发明内容
本发明提供一种矩阵编码方法及装置与解码方法及装置,用以提高量化矩阵的压缩率,降低传输量化矩阵时所占用的码率。本发明一个方面提供一种矩阵编码方法,包括:按照预设划分层数将矩阵进行分层,并将矩阵元素分组到不同分层中;根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理;如果当前层的层数小于或等于所述待编码层数,则根据当前层对应的原始矩阵元素值和当前层对应的矩阵元素预测值计算得到残差数据作为当前层的编码数据写入码流;如果当前层的层数大于所述待编码层数,在所述码流中不写入当前层的编码数据;其中,当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的;将所述待编码层数进行编码,并写入所述码流。本发明一个方面提供一种矩阵解码方法,包括:从码流中解码出矩阵的编码层数;根据所述编码层数和从所述码流中解码出的所述矩阵中层数小于或等于所述编码层数的各层的编码数据,按照层次顺序依次得到层数小于或等于所述编码层数的各层对应的矩阵元素重建值;由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值。本发明另一个方面提供一种矩阵编码方法,包括:根据矩阵集合中矩阵的大小,按照编码顺序依次对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并将所述矩阵的重建矩阵进行相应的采样处理得到采样矩阵;由当前矩阵的重建矩阵和当前矩阵得到第一误差,由按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵和当前矩阵得到第二误差;如果所述第一误差小于或等于所述第二误差,将当前矩阵的重建矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流;如果所述第一误差大于所述第二误差,将按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入所述码流。本发明另一个方面提供一种矩阵解码方法,包括:确定矩阵集合对应的解码顺序和相应的采样方法;从码流中解码出标识当前矩阵是否使用采样矩阵的标识比特;如果所述标识比特标识当前矩阵使用采样矩阵,将由按照所述解码顺序在当前矩阵之前已解码矩阵的解码重建矩阵进行采样处理得到的采样矩阵,作为当前矩阵的解码重建矩阵;如果所述标识比特标识当前矩阵不使用采样矩阵,直接从所述码流中解码出当前矩阵的解码重建矩阵;按照所述解码顺序,依次解码出所述矩阵集合中所有矩阵的解码重建矩阵。本发明一个方面提供一种矩阵编码装置,包括:分层模块,用于按照预设划分层数将矩阵进行分层,并将矩阵元素分组到不同的分层中;编码处理模块,用于根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理;如果当前层的层数小于或等于所述待编码层数,则根据当前层对应的原始矩阵元素值和当前层对应的矩阵元素预测值计算得到残差数据作为当前层的编码数据写入码流;如果当前层的层数大于所述待编码层数,在所述码流中不写入当前层的编码数据;其中,当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的;第一编码写入模块,用于将所述待编码层数进行编码,并写入所述码流。本发明一个方面提供一种矩阵解码装置,包括:层数解码模块,用于从码流中解码出矩阵的编码层数;第一重建模块,用于根据所述编码层数和从所述码流中解码出的所述矩阵中层数小于或等于所述编码层数的各层的编码数据,按照层次顺序依次得到层数小于或等于所述编码层数的各层对应的矩阵元素重建值;第二重建模块,用于由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值。本发明另一个方面提供一种矩阵编码装置,包括:预测编码模块,用于根据矩阵集合中矩阵的大小,按照编码顺序依次对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并将所述矩阵的重建矩阵进行相应的采样处理得到采样矩阵;误差获取模块,用于由当前矩阵的重建矩阵和当前矩阵得到第一误差,由按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵和当前矩阵得到第二误差;第一编码重建模块,用于在所述第一误差小于或等于所述第二误差,将当前矩阵的重建矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流;第二编码重建模块,用于在所述第一误差大于所述第二误差,将按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入所述码流。本发明另一个方面提供一种矩阵解码装置,包括:确定模块,用于确定矩阵集合对应的解码顺序和相应的采样方法;标识解码模块,用于从码流中解码出标识当前矩阵是否使用采样矩阵的标识比特;第一解码重建模块,用于在所述标识比特标识当前矩阵使用采样矩阵时,将由按照所述解码顺序在当前矩阵之前已解码矩阵的解码重建矩阵进行采样处理得到的采样矩阵,作为当前矩阵的解码重建矩阵;第二解码重建模块,用于在所述标识比特标识当前矩阵不使用采样矩阵,直接从所述码流中解码出当前矩阵的解码重建矩阵;触发模块,用于触发所述标识解码模块、所述第一解码重建模块和所述第二解码重建模块,按照所述解码顺序,依次解码出所述矩阵集合中所有矩阵的解码重建矩阵。本发明一个方面提供的矩阵编码方法及装置,通过采用分层结构将矩阵元素分组到不同分层中,然后根据确定的待编码层数对各层进行编码,或者将该层对应的原始矩阵元素值与矩阵元素预测值的残差数据作为编码数据写入码流,或者不在码流中写入该层对应的编码数据,提高了对矩阵的压缩比,降低了传输矩阵所占用的码率。本发明一个方面提供的矩阵解码方法及装置,与本发明一个方面提供的矩阵编码方法及装置相适应,从码流中解码出编码层数和层数小于或等于编码层数的层的编码数据,进而基于解码出的数据实现对矩阵的重构,使编码端可以使用分层架构对矩阵编码并传输,提高了对矩阵的压缩比,降低了传输矩阵所占用的码率。本发明另一个方面提供的矩阵编码方法及装置,通过按照编码顺序依次对矩阵集合中的多个矩阵进行编码处理,并从每个矩阵编码预测出的重建矩阵与之前已编码矩阵的重建矩阵采样得到的采样矩阵中,选择误差相对较小的矩阵作为编码重建矩阵,同时将编码结果写入码流,由于使用采样矩阵时,只需在码流中写入标识比特,而不需要写入整个矩阵,提高了对矩阵的压缩率,降低了传输矩阵所占用的码率。本发明另一个方面提供的矩阵解码方法及装置,与本发明另一个方面提供的矩阵编码方法及装置相适应,从码流中解码出每个矩阵对应的标识该矩阵是否使用采样矩阵的标识比特,并根据标识比特或者从之前已经解码出的矩阵的解码重建矩阵采样得到当前矩阵的解码重建矩阵,或者直接从码流中解码出当前矩阵的解码重建矩阵,并按照解码顺序解码出所有矩阵的解码重建矩阵,提高了对矩阵的压缩率,降低了传输矩阵所占用的码率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1A为本发明一实施例提供的矩阵编码方法的流程图;图1B为本发明一实施例提供的8x8矩阵分层结构示意图;图1C为本发明一实施例提供的4x4矩阵分层结构示意图;图2为本发明一实施例提供的矩阵解码方法的流程图;图3为本发明一实施例提供的矩阵编码方法的流程图;图4为本发明一实施例提供的矩阵解码方法的流程图;图5A为本发明一实施例提供的矩阵编码装置的结构示意图;图5B为本发明另一实施例提供的矩阵编码装置的结构示意图;图6A为本发明一实施例提供的矩阵解码装置的结构示意图;图6B为本发明另一实施例提供的矩阵解码装置的结构示意图;图7A为本发明又一实施例提供的矩阵编码装置的结构示意图;图7B为本发明再一实施例提供的矩阵编码装置的结构示意图;图8为本发明又一实施例提供的矩阵解码装置的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1A为本发明一实施例提供的矩阵编码方法的流程图。如图1A所示,本实施例的方法包括:步骤101、按照预设划分层数将矩阵进行分层,并将矩阵元素分组到不同分层中。在本发明各实施例中,所述矩阵是指在编码端需要进行编码压缩,然后传输到解码端的矩阵,例如,可以是QM、缩放矩阵、系数加权矩阵、QM经过变换后的变换域矩阵、缩放矩阵经过变换后的变换域矩阵、系数加权矩阵经过变换后的变换域矩阵、QM经过编码预测后的预测残差矩阵、缩放矩阵经过编码预测后的预测残差矩阵或系统加权矩阵经过预测编码后的预测残差矩阵中任意一种或其组合。其中,所述变换可以是Z变换、DCT变换、DFT(傅里叶变换)变换等。所述编码预测是指将QM、缩放矩阵、系数加权矩阵等进行编码,然后将编码后的矩阵和编码前的矩阵(即未编码的原始矩阵)进行求残差。其中,编码预测所使用的编码方法不做限制,例如DPCM。在本实施例中,编码架构为分层编码,即将矩阵所有元素分为若干层,每层包括不同的矩阵元素。其中,对于不同尺寸的矩阵,预先规定不同的划分层数。例如:对于大小为4x4的矩阵,可以预先定义其划分为4层,划分层数的取值范围为O 3 ;大小为8x8的矩阵,可以预先定义其划分为5层,划分层数取值范围为O 4 ;大小为16x16的矩阵,可以预先定义其划分为6层,划分层数取值范围为O 5 ;大小为32x32的矩阵,可以预先定义其划分为7层,划分层数取值范围为O 6。预先定义的划分层数具体数值不是固定的,可以根据矩阵大小进行调整和预先定义。如果将层中包含的矩阵元素个数增加,则划分矩阵所用的层数可以减少。在本实施例中,编码端根据预先设定的划分层数,将矩阵进行分层,例如,例如将4x4矩阵划分为4层,将8x8矩阵划分为5层等。其中,将矩阵进行分层所使用的划分方法可以是任意一种方法,在本实施例中不做限定。下面以将8x8矩阵划分为5层和将4x4矩阵划分为4层为例,举例说明所使用的划分方法。例如,对于8x8矩阵,可以以8x8矩阵的左上角和右下角为第O层,左下角和右上角为第I层,取8x8矩阵的中心和4个边的中点为第2层,接着划分出第3层,其余为第4层。该划分方法的划分结果如图1B所示,其中数字0、1、2、3、4分别表示第O层、第I层、第2层、第3层和第4层对应的矩阵元素位置。其中,划分层数的取值范围为O 4,共划分为5层。例如,对于4x4矩阵,可以以4x4矩阵的左上角和右下角为第O层,左下角和右上角为第I层,取4x4矩阵的中心和4个边的中点为第2层,其余为第3层。该划分方法的划分结果如图1C所示,其中数字0、1、2、3分别表示第O层、第I层、第2层和第3层对应的矩阵元素位置。其中,划分层数的取值范围为O 3,共划分为4层。其中,对于编码端和解码端可以预先约定所使用的划分层数和/或划分方法,这样编码端可以不用再对划分层数和/或划分方法进行编码并通过码流传输到解码端,有利于减轻编码端和解码端的编解码负担、复杂度等,并会降低传输的码流。例如,如果编码端和解码端仅预先约定了划分层数,则编码端需要将划分方法进行编码并写入码流传输给解码端,以使解码端进行正确解码。如果解码端和编码端仅预先约定了划分方法,但没有约定划分层数,则编码端需要将划分层数进行编码并写入码流传输到解码端,以使解码端进行正确解码。如果编码端和解码端预先约定了划分层数和划分方法,则编码端不需要再对划分层数和划分方法进行编码,且不需要写入码流中。另外,解码端和编码端也可以不预先约定所使用的划分层数和划分方法,这样编码端同时对划分层数和划分方法进行编码并写入码流传输到解码端,向解码端提供解码所需的信息,这种方式有利于改变划分层数和划分方法,具有一定的灵活性。步骤102、根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理。在将矩阵进行分层后,编码端按照层次顺序开始对每层进行编码处理。其中,所述层次顺序是按照先编低层次的,再编高层次的,即从第O层开始、按照层数依次增大的顺序对各层进行编码。在本实施例中,对于不同尺寸的矩阵,编码端可以确定对矩阵编码所使用的编码层数,即确定待编码层数,并根据所确定的待编码层数进行编码处理。其中,待编码层数的取值范围为大于或等于0,且小于预设的划分层数。编码端基于所确定的待编码层数对各层进行编码处理的方式如下:如果当前层的层数小于或等于所述确定的待编码层数,则根据当前层对应的原始矩阵元素值和当前层对应的矩阵元素预测值计算得到残差数据作为当前层的编码数据写入码流。相应地,在解码端,从码流中解码出该当前层的编码数据,并将当前层的编码数据与当前层对应的矩阵元素预测值进行相加处理,获取当前层对应的矩阵元素重建值。其中,解码端得到的当前层对应的矩阵元素重建值与当前层对应的原始矩阵元素值相同,这对该当前层来说,实现了无损编码。如果当前层的层数大于所述确定的待编码层数,则在码流中不写入当前层的编码数据。在解码端,将会使用当前层之前已经解码的层对应的矩阵元素重建值或者当前层中已重建的矩阵元素重建值进行插值计算得到当前层对应的矩阵元素重建值,这样当前层对应的矩阵元素重建值与当前层对应的原始矩阵元素值之间可能存在残差,属于有损编码。其中,在本实施例中,当前层是指当前要进行编码的一层。例如:假设确定的待编码层数为2,即将矩阵划分出的层中的第O 2层矩阵元素进行编码。如果当前层为第O层,则其层数为0,当前层的层数小于待编码层数;如果当前层为第2层,则其层数为2,当前层的层数等于待编码层数;如果当前层为第3层,则其层数为3,当前层的层数大于待编码层数。其中,当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的。也就是说,在本实施例中,是通过插值的方式获取每层对应的矩阵元素预测值的。其中,插值方式可以是根据当前待插值(或称为待编码)的矩阵元素之前已编码矩阵元素的矩阵元素重建值或矩阵元素预测值,插值得到当前待插值的矩阵元素的矩阵元素预测值。例如,根据第O层对应的矩阵元素预测值或矩阵元素重建值插值出第I层对应的矩阵元素预测值,根据第O层和第I层对应的矩阵元素预测值或矩阵元素重建值插值得到第2层的矩阵元素预测值。又例如:根据第O层对应的矩阵元素值插值出其他各层对应的矩阵元素预测值。再例如:根据第O层对应的矩阵元素预测值插值得到第I层和第2层对应的矩阵元素预测值,然后根第I层和/或据第2层对应的矩阵元素预测值或矩阵元素重建值插值得到其他各层对应的矩阵元素预测值。还例如:根据第O层对应的矩阵元素值插值出第I层中部分矩阵元素预测值,并根据第O层和第I层中已插值出的矩阵元素预测值插值得到第I层其他矩阵元素预测值。其中,对于层数小于或等于待编码层数的层来说,其对应的矩阵元素重建值等于所对应的原始矩阵元素值。对于层数大于待编码层数的层来说,其对应的矩阵元素重建值可由层数较低的层对应的矩阵元素重建值插值得到。其中,最低层对应的矩阵元素预测值可以为最低层对应的原始矩阵元素之,或者为一个或一组预设默认值,并作为初始值插值得到其他各层对应的矩阵元素预测值。其中,由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素重建值或者矩阵元素预测值插值得到当前层对应的矩阵元素预测值过程可以是由当所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素重建值或者矩阵元素预测值进行均匀插值计算或者加权插值计算得到当前层对应的矩阵元素预测值。下面将以图1B所示分层矩阵为例,并以均匀插值计算为例,举例说明对矩阵进行分层编码处理的过程。首先,假设编码端确定的待编码层数为2。对第O层进行编码处理。由于第O层是最低层,故第O层的矩阵元素预测值可以使用原始矩阵元素值或者默认值残差数据。假设以默认值作为第O层的A(0,0)元素的预测值,例如取A(0,0)元素对应的矩阵元素预测值为6,将该预测值作为A (O,O)的编码数据写入码流。对第O层的A(7,7)元素不做预测,即直接以该矩阵中的A(7,7)元素的原始值进行编码并写入码流。对第I层进行编码处理。首先,根据第O层对应的矩阵元素预测值(以矩阵元素预测值为例)得到第I层对应的矩阵元素预测值。假设采用均匀插值计算方法,则第I层的A(0,7)元素和A(7,0)元素均以(A(0,O)+A(7,7)+1)/2为预测值。其中,“/”表示整数除法。由于第I层的层数小于确定的待编码层数(即I < 2),故将第I层各矩阵元素对应的原始矩阵元素值与其对应的矩阵元素预测值的残差数据作为第I层的编码数据写入码流。对于第I层来说,在解码端得到的其对应的矩阵元素重建值与其对应的原始矩阵元素值相同,故对I层来说属于无损编码。对第2层进行编码处理。例如,假设根据第2层之前已编码的第O I层对应的矩阵元素预测值使用均匀插值计算方式得到第2层的矩阵元素预测值。其中,对每层中矩阵元素进行插值的顺序可以是先进行纵向插值再进行横向插值,也可以是先进行横向插值再进行纵向插值。其中,横向插值是指以矩阵元素的行角标为依据,用行角标相同的其他已插值出的矩阵元素预测值,按照一定的插值方法对该行中待插值的矩阵元素进行插值。纵向插值是指以矩阵元素的列角标为依据,用列角标相同的其他已插值出的矩阵元素预测值,按照一定的插值方法对该列中待插值的矩阵元素进行插值。例如,本实施例中以先横向插值再纵向插值的顺序对第2层进行插值计算,得到A(0,3)元素的预测值为(Α(0,0)+Α(0,7)+1)/2, A(7,3)元素的预测值为(A(7,O)+A(7,7)+1)/2,A(3,0)元素的预测值为(A(0,O)+A (7,0)+1)/2,A (3,3)元素的预测值为(A (0,3)+A (7,3)+1)/2,A (3,7)元素的预测值为(A (0,7)+Α(7,7)+1)/2。由于第2层的层数等于确定的待编码层数(即2 = 2),故将第2层各矩阵元素对应的原始矩阵元素值与其对应的矩阵元素预测值的残差数据作为第2层的编码数据写入码流。对于第2层来说,在解码端得到的其对应的矩阵元素重建值与其对应的原始矩阵元素值相同,故对2层来说属于无损编码。对第3层进行编码处理。例如,假设根据第3层之前已编码的第O 2层以及第3层中已经编码矩阵元素对应的矩阵元素预测值使用均匀插值计算方法得到第3层的矩阵元素预测值。其中,具体插值顺序可以是先进行纵向插值再进行横向插值,或者是先进行横向插值再进行纵向插值。本实施例假设采用先纵向插值再横向插值的顺序进行插值计算,得到A (O,I)元素的预测值为(A(0,0)+A(0,3)+1)/2,A(0,5)元素的预测值为(A(0,3)+A(0,7)+1)/2, A(3,I)元素的预测值为(A(3,O)+A(3,3)+1)/2,A(LO)元素的预测值为(A(0,O)+A(O, 3)+1)/2, A(l,3)元素的预测值为(A(0,3)+A(3,3)+1)/2,A(l,l)元素的预测值为(A(0,1)+A(3,1)+1)/2,A(0,5)元素的预测值为(A (0,3)+A (0,7)+1)/2,A (3,5)元素的预测值为(A(3,3)+A(3,7)+1)/2,A(1,7)元素的预测值为(A (0,7)+A (3,7)+1)/2,A (1,5)元素的预测值为(A (O, 5) +A (3,5) +1) /2等,在此不再一一列举。由于第3层的层数大于确定的待编码层数(即3 > 2),故在码流中不写入第3层的编码数据。对于第3层来说,在解码端得到的其对应的矩阵元素重建值与其对应的原始矩阵元素值可能不相同,故对3层来说属于有损编码。
对第4层进行编码处理。首先,假设根据第4层之前已编码的第O 3层以及第4层中已编码矩阵元素对应的矩阵元素预测值使用均匀插值计算方式得到第4层的矩阵元素预测值。在第4层中,同样可以先进行纵向插值再进行横向插值,或者先进行横向插值再进行纵向插值,得到第4层中各矩阵元素的预测值。由于第4层的层数大于确定的待编码层数(即4 > 2),故在码流中不写入第4层的编码数据。对于第4层来说,在解码端得到的其对应的矩阵元素重建值与其对应的原始矩阵元素值可能不相同,故对4层来说属于有损编码。其中,在上述过程中,编码端可以每获取一层的编码数据后就对该层的编码数据进行编码,并写入码流,但不限于这种方式。例如,编码端还可以在获取到所有层对应的编码数据后,进行统一编码,然后将编码结果写入码流。进一步,本实施例并不限制对每层的编码数据进行编码时所使用的编码方法。但是,在本实施例中,对于层数较小的层来说,其编码数据可能较大,一般是以O为均值的正态分布,故较为优选地是对其编码数据进行变长码编码后写入码流。而对于层数较的层来说,其编码数据可能以O居多,故较为优选地对其编码数据进行游程编码后写入码流。其中,在编码端设定一个层数阈值,编码层数的大小可以根据设定的层数阈值来区分。例如,设定层数阈值为4,如果该层的层数小于或等于4,则对该层的编码数据进行变长码编码后写入码流;如果该层的层数大于4,则对该层的编码数据进行游程编码后写入码流。进一步,在上述举例中,如果编码端需要将8x8矩阵的划分层数和所使用的划分方法进行编码并写入码流,则具体是指将划分层数和每层所包含的矩阵元素在矩阵中的位置进行编码并写入码流。步骤103、将所述确定的待编码层数进行编码,并写入码流。其中,待编码层数是由编码端确定的,表明对于划分为预设层数的矩阵元素,只对其中层数小于或等于待编码层的矩阵元素进行编码,并将编码结果写入码流,对其中层数大于待编码层的矩阵元素只预测,用矩阵元素预测值做重建值,不需将编码结果写入码流。故除了在码流中写入矩阵中各层的编码数据之外,还要对待编码层数进行编码并写入码流传输到解码端,以使解码端能够根据待编码层数进行相应地解码操作。另外,由上述编码方式可以看出,如果当前层的层数小于或等于待编码层数,则本实施例可以实现对该层的无损编码;如果当前层的层数大于待编码层数,则本实施例对该层的编码是有损的。也就是说,可以通过调整待编码层数来实现对矩阵的有损或无损编码的控制。在本实施例中,编码端通过采用分层架构对待编码矩阵进行编码,当需要对其中某层进行编码时,所要编码的数据(即该层的编码数据)仅为残差数据,其数据量相对较小,更有甚者不需要对某层编码,实现了对矩阵的编码压缩,与现有技术相比,提高了对矩阵的压缩效率,减少了传输矩阵时所占用的码率。其中,在小序列编码过程中采用本实施例的矩阵编码方法,尤其能够大幅提高压缩比。进一步,对于同一矩阵可以通过改变其划分层数来改变其压缩比,例如可以通过增大划分层数并减少待编码层数来提高压缩比,具有一定的灵活性。图2为本发明一实施例提供的矩阵解码方法的流程图。如图2所示,本实施例的方法包括:
步骤201、从接收到的码流中解码出矩阵的编码层数。本实施例的矩阵解码方法与图1A所示矩阵编码方法相适应,是对使用分层架构进行编码的码流进行解码,并对编码端所编码的矩阵进行重建。解码端接收编码端传输的码流,首先从码流中解码出矩阵的编码层数,为后续进行解码打下基础。其中,编码层数即为由编码端确定并在编码后写入码流中的待编码层数,用以表示码流中存在哪些层对应的编码数据。或者说,通过解码出编码层数可以确定从码流中可以直接解码出哪些层。步骤202、根据所述编码层数和从接收到的码流中解码出的矩阵中层数小于或等于编码层数的各层的编码数据,按照层次顺序依次得到层数小于或等于编码层数的各层的矩阵元素重建值。在本实施例中,解码端接收到的码流中包含有层数小于或等于所述编码层数的各层的编码数据。解码端根据解码出的编码层数、矩阵的划分层数(即将矩阵划分出的层数信息)以及划分方法等信息,从接收到的矩阵编码码流中解码出层数小于或等于编码层数的各层的编码数据。如果编码端根据设定的层数阈值对不同层的编码数据采用不同的编码方式时,解码端也要采用相应的方法对码流进行解码。如果当前层的层数小于或等于设定的层数阈值,编码端使用变长码编码对编码数据进行编码;相应地,解码端需要对当前层对应的码流进行变长码解码,获取当前层的编码数据。如果当前层的层数大于层数阈值,编码端使用游程编码对编码数据进行编码;相应地,解码端需要对当前层对应的码流进行游程码解码,获取当前层的编码数据。其中,对矩阵进行划分的划分层数和/或划分方法可以由编码端与解码端预先约定。例如,当编码端与解码端仅预先约定所使用的划分层数时,编码端可以将所使用的划分方法进行编码并写入码流传输给解码端。相应地,解码端在从码流中解码出矩阵中层数小于或等于所述编码层数的各层的编码数据之前,从码流中解码出所使用的划分方法,并根据约定的划分层数和划分方法从码流中解码出各层的编码数据。又例如:当编码端与解码端仅预先约定所使用的划分方法时,编码端可以将设定的划分层数进行编码并写入码流传输给解码端。相应地,解码端在从码流中解码出矩阵中层数小于或等于所述编码层数的各层的编码数据之前,从码流中解码出划分层数,并根据解码出的划分层数和约定的划分方法从码流中解码出各层的编码数据。再例如:当编码端与解码端同时预先约定所使用的划分层数和划分方法时,解码端可以直接根据约定的划分层数和约定的划分方法从码流中解码出各层的编码数据。当编码端与解码端未预先约定划分层数和划分方法时,编码端将划分层数和划分方法同时进行编码后写入码流传输给解码端。相应地,解码端在从码流中解码出矩阵中层数小于或等于所述编码层数的各层的编码数据之前,从接收到的码流中解码出划分层数和划分方法。其中,层数小于或等于编码层数的各层的编码数据是编码端将层数小于或等于待编码层数的各层对应的原始矩阵元素值与各自对应的矩阵元素预测值计算得到残差数据。并且每层对应的矩阵元素预测值是由当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的。故在获取层数小于或等于编码层数的各层的编码数据时,解码端将层数小于或等于编码层数的各层的编码数据分别与层数小于或等于编码层数的各层对应的矩阵元素预测值进行相加处理,从而获取层数小于或等于编码层数的各层对应的矩阵元素重建值。由此可见,在本步骤中解码出的层数小于或等于编码层数的各层对应的矩阵元素重建值与各自对应的原始矩阵元素值相同,属于无损编码,但其与直接传输原始矩阵元素值本身相比,所传输的数据量要小的多。其中,对解码端来说,也可以采用与编码端相同的插值方式得到层数小于或等于编码层数的各层对应的矩阵元素预测值,即使用较低层中已经插值得到的矩阵元素预测值,插值得到高层中的矩阵元素预测值,具体插值方法可以是均匀插值计算方法,也可以是加权插值计算方法。例如,可以根据第O层对应的矩阵元素预测值插值出第I层对应的矩阵元素预测值,根据第O层和第I层对应的矩阵元素预测值插值得到第2层的矩阵元素预测值。又例如:根据第O层对应的矩阵元素值插值出其他各层对应的矩阵元素预测值。再例如:根据第O层对应的矩阵元素预测值插值得到第I层和第2层对应的矩阵元素预测值,然后根据第I层和/或第2层对应的矩阵元素预测值插值得到其他各层对应的矩阵元素预测值。其中,在进行插值计算时,解码端根据预先获知的插值顺序进行插值操作,该插值顺序可以是先横向插值再纵向插值,或者先纵向插值再横向插值。在上述方式中,最低层对应的矩阵元素预测值可以为最低层对应的原始矩阵元素值,或者为一个或一组预设默认值,并作为初始值插值得到其他各层对应的矩阵元素预测值。并且,对于解码端来说,最低层对应的矩阵元素预测值是已知的。在此说明,解码端获取层数小于或等于所述编码层数的各层对应的矩阵元素重建值的过程可以是每解码出一层的编码数据,就获取该层对应的矩阵元素重建值。另外,解码端获取层数小于或等于所述编码层数的各层对应的矩阵元素重建值的过程还可以是在全部解码出层数小于或等于所述编码层数的各层的编码数据后,在一起获取层数小于或等于所述编码层数的各层对应的矩阵元素重建值。步骤203、由层数小于或等于所述编码层数的层的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值。在获取层数小于或等于编码层数的各层对应的矩阵元素重建值后,解码端由层数小于或等于待编码层数的层对应的矩阵元素重建值进行插值计算,获取层数大于所述编码层数的各层对应的矩阵元素重建值。其中,插值方法与编码端相适应,例如可以是均匀插值计算或者加权插值计算。而且具体的插值方式也与解码端相适应,例如可以使用层数小于或等于编码层数的各层中某一层对应的矩阵元素重建值进行插值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值;也可以使用其中几层对应的矩阵元素重建值进行插值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值。并且所使用的插值顺序也与编码端相适应,例如可以是先横向插值再纵向插值,还可以是先纵向插值再横向插值。其中,在该步骤中,解码端获取的层数大于所述编码层数的各层对应的矩阵元素重建值,与编码端获取的层数大于所述编码层数的各层对应的矩阵元素预测值相同,可能与原始矩阵元素值有一定误差,故属于有损编码。另外,如果没有层数大于编码层数的层,则该步骤的操作可以不执行,也就是说,编码端对该矩阵进行了无损编码。
当由矩阵划分出的各层对应的矩阵元素重建值都获取到后,就实现了对该矩阵的重建。在本实施例中,重建出的矩阵可以是QM、缩放矩阵、系数加权矩阵、QM经过变换后的变换域矩阵、缩放矩阵经过变换后的变换域矩阵、系数加权矩阵经过变换后的变换域矩阵、QM经过编码预测后的预测残差矩阵、缩放矩阵经过编码预测后的预测残差矩阵或系统加权矩阵经过预测编码后的预测残差矩阵中任意一种或其组合。其中,所述变换可以是Z变换、DCT变换、DFT变换等。所述编码预测是指将QM、缩放矩阵、系数加权矩阵等进行编码,然后将编码后的矩阵和编码前的矩阵(即未编码的原始矩阵)进行求残差。其中,编码预测所使用的编码方法不做限制,例如DPCM。本实施例的矩阵解码方法,与上述实施例提供的矩阵编码方法相适应,编码端使用分层架构进行编码,实现了对矩阵的大幅压缩,提高了压缩比,降低了传输矩阵所占用的码率,在解码端,相适应的进行分层解码实现矩阵的重建。图3为本发明一实施例提供的矩阵编码方法的流程图。如图3所示,本实施例的方法包括:步骤301、根据矩阵集合中矩阵的大小,按照编码顺序依次对矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并对所述矩阵的重建矩阵进行相应的采样处理得到采样矩阵。在本实施例中,矩阵集合中包括多个大小不同的矩阵,例如同时包括大小为4x4的矩阵、8x8的矩阵、16x16的矩阵、32x32的矩阵等。对于矩阵集合中的矩阵可以是QM、缩放矩阵、系数加权矩阵、QM经过变换后的变换域矩阵、缩放矩阵经过变换后的变换域矩阵、系数加权矩阵经过变换后的变换域矩阵、QM经过编码预测后的预测残差矩阵、缩放矩阵经过编码预测后的预测残差矩阵或系统加权矩阵经过预测编码后的预测残差矩阵。在本实施例中,按照矩阵大小对矩阵集合中的各矩阵进行编码排序,可以是从小到大的顺序,也可以是从大到小的顺序。并按照编码顺序对各矩阵进行编码预测,获取各矩阵的重建矩阵,并对各矩阵的重建矩阵进行采样处理得到采样矩阵。其中,采样处理的所使用的采样方法与编码顺序有关系,如果是按照从小到大的顺序,则采样处理是指上采样,得到的采样矩阵是比当前矩阵尺寸大的矩阵;如果是按照从大到小的顺序,则采样处理是指下采样,得到的采样矩阵是比当前矩阵尺寸小的矩阵。例如:对16x16矩阵的重建矩阵进行上采样得到32x32的采样矩阵;对16x16矩阵的重建矩阵进行下采样得到8x8的采样矩阵。在本实施例中,不限制对矩阵进行编码预测所使用的方式。步骤302、由当前矩阵的重建矩阵和当前矩阵得到第一误差,由按照编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵和当前矩阵得到第二误差。在获取当前矩阵的重建矩阵和由根据编码顺序在当前矩阵之前的已编码矩阵的重建矩阵进行采样处理得到的采样矩阵后,将当前矩阵的重建矩阵与当前矩阵本身进行比较,得到第一误差,并将采样矩阵与当前矩阵本身进行比较,得到第二误差。其中,两个矩阵进行比较获取误差的过程主要是指将两个矩阵对应位置的元素值进行比较,获取所有位置上元素值的差值,再对所有位置上元素值的差值进行平均,获取两个矩阵之间的误差。
步骤303、将第一误差和第二误差进行比较,判断第一误差是否小于或等于第二误差,如果判断结果为是,执行步骤304;如果判断结果为否,执行步骤305。本步骤主要是找出与当前矩阵本身的误差较小的一个矩阵。以按照由小到大的顺序,依次对4x4矩阵、8x8矩阵、16x16矩阵和32x32矩阵进行编码为例,当对8x8矩阵进行编码时,该8x8矩阵即为当前矩阵,而4x4矩阵是8x8矩阵的之前的一个已编码矩阵,8x8矩阵对应的采样矩阵可由4x4矩阵的重建矩阵进行上采样得到的。例如:假设4x4矩阵的重建矩阵A为
,则经上采样得到的8x8的采样矩阵B为
。在此以一维实例进行说明,但实际上重建矩阵和采样矩阵均为2维。步骤304、将当前矩阵的重建矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流。如果第一误差小于或等于第二误差,说明当前矩阵的重建矩阵与当前矩阵相比误差更小,故将当前矩阵的重建矩阵作为其编码重建矩阵,并对当前矩阵对应的编码数据进行编码,然后写入码流。步骤305、将由按照编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流。如果第一误差大于第二误差,说明由按照编码顺序在当前矩阵之前已编码矩阵的重建矩阵经过采样处理得到的采样矩阵与当前矩阵的误差更小,故将由按照编码顺序在当前矩阵之前已编码矩阵的重建矩阵经过采样处理得到的采样矩阵作为其编码重建矩阵,并对当前矩阵对应的编码数据进行编码,然后写入码流。其中,当前矩阵是指按照编码顺序编码到的某个矩阵,当对矩阵集合中所有矩阵都编码结束后,就对整个矩阵集合编码结束。在对各个矩阵进行编码时,可以在获取到各个矩阵的编码重建矩阵后,接着对其对应的编码数据进行编码并写入码流。另外,还可以先编码得到每个矩阵的编码重建矩阵,然后在一起对每个矩阵的编码数据进行编码并写入码流。在本实施例中,通过对矩阵集合中每个待编码矩阵进行编码预测,获取重建矩阵并和之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵进行比较,获取误差相对小的矩阵作为当前矩阵的编码重建矩阵并对当前矩阵的编码数据进行编码,一方面可以提高编码压缩率,另一方面还可以保证编码精确度。一种步骤301的具体实施方式
包括:按照矩阵由小到大的顺序对矩阵集合中的各矩阵进行编码处理。当编码到某个矩阵时,该矩阵即为当前矩阵。对矩阵集合中每个矩阵的编码处理包括:对矩阵集合中的矩阵进行编码预测,获取矩阵的重建矩阵,并对矩阵的重建矩阵进行上采样得到采样矩阵,其中,最小矩阵的编码重建矩阵为最小矩阵的重建矩阵。例如,对同时包括4x4矩阵、8x8矩阵、16x16矩阵和32x32矩阵的矩阵组进行编码,是指按照由小到大的顺序,依次对4x4矩阵、8x8矩阵、16x16矩阵和32x32矩阵进行编码。其中,最小矩阵为4x4矩阵,由于最小矩阵没有对应的采样矩阵,故直接将其重建矩阵作为其编码重建矩阵。对于8x8矩阵对应的采样矩阵为4x4矩阵的重建矩阵上采样得到,其大小为8x8。对于16x16矩阵对应的采样矩阵为8x8矩阵的重建矩阵上采样得到,其大小为16x16。对于32x32矩阵对应的采样矩阵为16x16矩阵的重建矩阵上采样得到,其大小为32x32。另一种步骤301的具体实施方式
包括:按照矩阵由大到小的顺序对矩阵集合中的各矩阵进行编码处理。当编码到某个矩阵时,该矩阵即为当前矩阵。对矩阵集合中每个矩阵的编码处理包括:对矩阵集合中的矩阵进行编码预测,获取矩阵的重建矩阵,并对矩阵的重建矩阵进行下采样得到采样矩阵。其中最大矩阵的编码重建矩阵为最大矩阵的重建矩阵。例如,对同时包括4x4矩阵、8x8矩阵、16x16矩阵和32x32矩阵的矩阵组进行编码,是指按照由大到小的顺序,依次对32x32矩阵、16x16矩阵、8x8矩阵和4x4矩阵进行编码。其中,最大矩阵为32x32矩阵,由于最大矩阵没有对应的采样矩阵,故直接将其重建矩阵作为其编码重建矩阵。对于16x16矩阵对应的采样矩阵为32x32矩阵的重建矩阵下采样得到,其大小为16x16。对于8x8矩阵对应的采样矩阵为16x16矩阵的重建矩阵下采样得到,其大小为8x8。对于4x4矩阵对应的采样矩阵为8x8矩阵的重建矩阵下采样得到,其大小为4x4。以8x8重建矩阵下采样到4x4采样矩阵为例说明下采样过程,假设8x8重建矩阵A为[O,I,2,3,4,5,6,7],下采样得到4x4采样矩阵B为[O,2,4,6]。在此以一维为例进行说明,但实际上重建矩阵和采样矩阵均为2维。进一步,本实施例提供一种对矩阵进行编码预测,获取重建矩阵的实施方式,包括:按照预设划分层数将矩阵进行分层,并将矩阵中的矩阵元素分组到不同分层中。然后,根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理,形成重建矩阵。其中,形成重建矩阵的过程也就是获取每层对应的矩阵元素重建值的过程,具体包括:如果当前层的层数小于或等于所述待编码层数,则根据当前层对应的原始矩阵元素值作为当前层对应的矩阵元素重建值。如果当前层的层数大于所述待编码层数,将当前层对应的矩阵元素预测值作为当前层对应的矩阵元素重建值。其中,当前层对应的矩阵元素预测值是由该矩阵当前层之前已编码层中和当前层中已编码矩阵元素的重建值或者预测值进行插值计算得到的。上述形成重建矩阵的实施方式使用分层架构实现重建,具体实现方式可参见图1A所示矩阵编码方法的描述。其区别在于,在该实施方式中是得到每层对应的矩阵元素重建值,而不是直接进行编码处理。基于上述,当获取到当前编码到的矩阵(即当前)的重建矩阵后,继续判断该重建矩阵是否就是当前矩阵的编码重建矩阵,即通过将重建矩阵与当前矩阵的误差,与当前矩阵之前已编码矩阵的重建矩阵采样得到的采样矩阵与当前矩阵的误差进行比较。如果确定当前矩阵的重建矩阵为其对应的编码重建矩阵,即第一误差小于或等于第二误差时,则将当前矩阵对应的编码结果写入码流的过程包括:在码流中写入标识当前矩阵是否使用采样矩阵的标识比特,且所述标识比特标识当前矩阵不使用采样矩阵,并将当前矩阵中层数小于或等于待编码层数的各层对应的矩阵元素重建值与层数小于或等于待编码层数的各层对应的矩阵元素预测值计算得到的残差数据作为层数小于或等于各层的O编码数据写入码流,且不在码流中写入当前矩阵中层数大于待编码层数的各层的编码数据,同时将待编码层数写入码流。通过对残差数据进行编码并写入码流或者不在码流中写入编码数据的方式,极大地提高了对矩阵的压缩比,可以降低传输矩阵时所占用的码率。进一步,在上述过程中,对于层数较小的层的编码数据可能较大,一般是以O为均值的正态分布,故可以对层数较小的层的编码数据进行变长码编码,然后写入码流;而对于层数较大的层的编码数据可能以O居多,故对层数较大的层的编码数据进行游程编码,并写入码流。本实施例预先设定了层数阈值,用于判断层数小于或等于待编码层数的各层是否属于层数较小的层。如果层数小于或等于待编码层数的各层中的某层小于或等于设定的层数阈值,则该层属于层数较小的层,则对该层的编码数据进行变长码编码后写入码流;如果层数小于或等于待编码层数的各层中的某层大于设定的层数阈值,则该层属于层数较大的层,则对该层的编码数据进行游程编码后写入码流。更进一步,在上述将当前矩阵对应的编码结果写入码流的过程中,可以首先判断该矩阵是否为对称模式,如果是,则确定只传输半个矩阵对应的编码结果,并在码流中写入标识当前矩阵是否为对称矩阵的标识比特,且该标识比特标识当前矩阵是对称矩阵。此时,在对各层进行编码时可以只对其中一半矩阵元素进行编码,进一步提高了对矩阵的压缩t匕,减少了所传输的码流量,降低了传输矩阵所占用的码率。如果确定由按照编码顺序在当前矩阵之前已编码矩阵的重建矩阵采样得到的采样矩阵为当前矩阵对应的编码重建矩阵,则将当前矩阵对应的编码结果写入码流的过程包括:在码流中写入标识当前矩阵是否使用采样矩阵的标识比特,且所述标识比特标识当前矩阵使用采样矩阵,且不在码流中写入当前矩阵对应的编码数据。通常该标识比特仅为I比特,数据量较小,提高了对矩阵的压缩比,也可以降低传输矩阵所占用的码率。进一步,考虑到HEVC块尺寸为4x4,8x8,16x16、32x32,帧内/帧间,亮度/色度U/色度V分量时,每帧数据对应的QM为24个,组成一个量化矩阵集合(QM Set)。当块尺寸更多时,量化矩阵集合中的QM数量可能更多。以帧内、帧间、亮度、色度U、色度V分别进行组合,可以得到6个均包括4x4,8x8,16x16,32x32的小矩阵集合,即该量化矩阵集合中包括6个小矩阵集合,每个小矩阵集合包括4种大小的矩阵。其中,对每个小矩阵集合的编码处理均采样上述实施例提供的编码方法。对于不同矩阵集合之间来说,首先根据各矩阵的大小进行编码处理,对于大小相同的矩阵,按照先帧内后帧间的顺序进行编码处理,对于同一帧内或帧间的矩阵按照先亮度后色度的顺序进行编码处理。也就是说,依次根据矩阵大小、先帧内后帧间、先亮度后色度的顺序对量化矩阵集合中的多个矩阵进行处理。例如,当按照由大到小的顺序进行编码处理时,先对帧内32x32的亮度矩阵进行编码处理。具体的,通过对帧内32x32的亮度矩阵进行编码预测,得到帧内32x32的亮度矩阵的重建矩阵,将该重建矩阵作为帧内32x32的亮度矩阵的编码重建矩阵,并对帧内32x32的亮度矩阵的重建矩阵进行下采样得到帧内16x16的亮度采样矩阵。然后,对帧内32x32的色度U矩阵进行编码处理。具体的,通过对帧内32x32的色度U矩阵进行编码预测,得到帧内32x32的色度U矩阵的重建矩阵,将该重建矩阵作为帧内32x32的色度U矩阵的编码重建矩阵,并对帧内32x32的色度U矩阵的重建矩阵进行下采样得到帧内16x16的色度U采样矩阵。同理,对帧内32x32的色度V矩阵进行编码处理。然后,依次对帧间32x32的亮度矩阵、32x32的色度U矩阵、32x32的色度V矩阵进行编码处理。接下来,对帧内16x16的亮度矩阵进行编码处理。具体的,通过对帧内16x16的亮度矩阵进行编码预测,得到帧内16x16的亮度矩阵的重建矩阵,将该重建矩阵与由帧内32x32的亮度矩阵的重建矩阵进行下采样得到的帧内16x16的亮度采样矩阵,分别与帧内16x16的亮度矩阵进行比较,获取两个误差,并将这两个误差进行比较,取其中误差较小的一个矩阵作为帧内16x16的亮度矩阵的编码重建矩阵,并对帧内16x16的亮度矩阵的重建矩阵进行下采样得到帧内8x8的亮度采样矩阵。然后,依次对帧内16x16的色度U矩阵、帧内16x16的色度V矩阵、帧间16x16的亮度矩阵、帧间16x16的色度U矩阵、帧间16x16的色度V矩阵进行编码处理。按照上述方式依次对量化矩阵中的每个矩阵进行编码,直到将所有矩阵都编码结束为止。对于按照由小到大的顺序进行编码处理时,先对帧内4x4的亮度矩阵进行编码处理。然后依次对帧内4x4的色度U矩阵、帧内4x4的色度V矩阵、帧间4x4的亮度矩阵、帧间4x4的色度U矩阵、帧间4x4的色度V矩阵进行编码处理。接着,依次对帧内8x8的亮度矩阵、帧内8x8的色度U矩阵、帧内8x8的色度V矩阵、帧间8x8的亮度矩阵、帧间8x8的色度U矩阵、帧间8x8的色度V矩阵进行编码处理。其中,帧内8x8的亮度矩阵对应的采样矩阵是由帧内4x4的亮度矩阵的重建矩阵进行上采样得到;帧内8x8的色度U矩阵对应的采样矩阵是由帧内4x4的色度U矩阵的重建矩阵进行上采样得到;帧内8x8的色度V矩阵对应的采样矩阵是由帧内4x4的色度V矩阵的重建矩阵进行上采样得到;帧间8x8的亮度矩阵对应的采样矩阵是由帧间4x4的亮度矩阵的重建矩阵进行上采样得到;帧间8x8的色度U矩阵对应的采样矩阵是由帧间4x4的色度U矩阵的重建矩阵进行上采样得到;帧间8x8的色度V矩阵对应的采样矩阵是由帧间4x4的色度V矩阵的重建矩阵进行上采样得到。接着,依次对帧内16x16的亮度矩阵、帧内16x16的色度U矩阵、帧内16x16的色度V矩阵、帧间16x16的亮度矩阵、帧间16x16的色度U矩阵、帧间16x16的色度V矩阵进行编码处理。最后,依次对帧内32x32的亮度矩阵、帧内32x32的色度U矩阵、帧内32x32的色度V矩阵、帧间32x32的亮度矩阵、帧间32x32的色度U矩阵、帧间32x32的色度V矩阵进行编码处理。图4为本发明一实施例提供的矩阵解码方法的流程图。如图4所示,本实施例的方法包括:步骤401、确定矩阵集合对应的解码顺序和相应的采样方法。其中,对于包括多个矩阵的矩阵集合进行解码时,解码端要先确定按照什么样的顺序对矩阵集合中的多个矩阵进行解码,例如按照矩阵由小到大的顺序,或按照矩阵由大到小的顺序。并且,解码端还需要确定与解码顺序相适应的采样方法,例如,如果按照矩阵由小到大的顺序进行解码,则采样方法为上采样;如果按照矩阵由大到小的顺序进行解码,则采样方法为下采样。对于解码端来说,可以预先与编码端约定对矩阵集合进行编解码时的编解码顺序和相应的采样方法。另外,如果编码端使用标识比特标识所使用的编码顺序和相应的采样方法,并将标识比特写入码流发送解码端,则解码端可以从码流中解码出标识解码顺序和相应的采样方法的标识比特,从而确定应该使用的解码顺序和相应的采样方法。例如:当解码到标识比特为I时,表示按照矩阵由小到大的顺序进行解码,并使用上采样方法;当解码到标识比特为O时,表示按照矩阵由大到小的顺序进行解码,并使用下采样方法。步骤402、从码流中解码出标识当前矩阵是否使用采样矩阵的标识比特。步骤403、判断所述标识比特是否标识当前矩阵使用采样矩阵;如果判断结果为是,执行步骤404 ;如果判断结果为否,执行步骤405。其中,解码端可以根据解码出的标识比特的取值来判断当前矩阵是否使用采样矩阵。例如:如果标识比特为1,则标识当前矩阵使用采样矩阵作为其解码重建矩阵;如果标识比特为0,则标识当前矩阵不使用采样矩阵作为其解码重建矩阵。步骤404、将由按照解码顺序在当前矩阵之前已解码矩阵的解码重建矩阵进行采样处理得到的采样矩阵,作为当前矩阵的解码重建矩阵,并执行步骤406。当当前矩阵使用采样矩阵时,解码端对按照解码顺序在当前矩阵之前已解码矩阵的解码重建矩阵进行采样处理,得到采样矩阵,然后将得到的采样矩阵作为当前矩阵的解码重建矩阵。例如:当按照矩阵由小到大的顺序解码时,解码端可以对已解码的4x4矩阵的解码重建矩阵进行上采样得到采样矩阵,并将得到的采样矩阵作为8x8矩阵的解码重建矩阵,但并不限于使用在当前矩阵之前已解码且与当前矩阵相邻的矩阵。步骤405、直接从码流中解码出当前矩阵的解码重建矩阵,并执行步骤406。当当前矩阵不使用采样矩阵时,解码端根据解码顺序,从码流中解码当前矩阵的编码数据,并根据解码出的编码数据获取当前矩阵的解码重建矩阵。其中,当编码端使用分层架构对当前矩阵进行编码时,解码端从码流中解码出当前矩阵的解码重建矩阵的过程为:解码端从码流中解码出当前矩阵的编码层数,并从当前矩阵对应的码流数据中解码出当前矩阵中层数小于或等于编码层数的各层的编码数据,然后根据解码出的编码层数和层数小于或等于编码层数的各层的编码数据,按照层次顺序(先解低层次再解高层次)依次得到当前矩阵中层数小于或等于编码层数的各层对应的矩阵元素重建值;接着,解码端由当前矩阵中层数小于或等于编码层数的层对应的矩阵元素重建值进行插值计算得到当前矩阵中层数大于编码层数的各层对应的矩阵元素重建值。其中,所使用的插值方法及插值顺序等均与编码端相适应。例如:插值方法可以是均匀插值方法或加权插值方法;插值顺序可以是先横向再纵向,也可以是先纵向再横向。当得到当前矩阵中各层对应的矩阵元素重建值后,就得到了当前矩阵的解码重建矩阵。在上述过程中,解码端从码流中解码出的当前矩阵中层数小于或等于编码层数的各层的编码数据的过程包括:对于层数小于或等于编码层数的各层,如果层数小于或等于设定的层数阈值,则对层数小于或等于编码层数的各层对应的码流进行变长码解码,获取层数小于或等于编码层数的各层的编码数据;如果层数大于层数阈值,则对层数小于或等于编码层数的各层对应的码流进行游程码解码,获取层数小于或等于编码层数的各层的编码数据。该解码过程与编码端相适应。步骤406、按照解码顺序,继续对码流进行解码处理,并转去执行步骤402,从而从码流中依次解码出矩阵集合中所有矩阵的解码重建矩阵。本实施例的矩阵解码方法,与图3所示矩阵编码方法相适应,首先确定解码顺序和相应的采样方法,并根据从码流中解码出的标识比特,确定获取矩阵集合中每个矩阵的解码重建矩阵的方式,其中,当标识比特标识当前矩阵使用采样矩阵时,在码流中不存在该当前矩阵的编码数据,提高了编码端对矩阵的压缩比,降低了传输矩阵所占用的码率。图5A为本发明一实施例提供的矩阵编码装置的结构示意图。如图5A所示,本实施例的装置包括:分层模块51、编码处理模块52和第一编码写入模块53。其中,分层模块51,用于按照预设划分层数将矩阵进行分层,并将矩阵元素分组到不同的分层中。编码处理模块52,与分层模块51连接,用于根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理。其中,编码到的层被称为当前层,如果当前层的层数小于或等于待编码层数,则编码处理模块52根据当前层对应的原始矩阵元素值和当前层对应的矩阵元素预测值计算得到残差数据作为当前层的编码数据写入码流;如果当前层的层数大于待编码层数,编码处理模块52在码流中不写入当前层的编码数据。其中,当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的。第一编码写入模块53,用于将待编码层数进行编码,并写入码流。本实施例的矩阵编码装置的各功能模块可用于执行图1A所示矩阵编码方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。在本实施例中,由矩阵编码装置编码的矩阵可以是QM、缩放矩阵、系数加权矩阵、QM经过变换后的变换域矩阵、缩放矩阵经过变换后的变换域矩阵、系数加权矩阵经过变换后的变换域矩阵、QM经过编码预测后的预测残差数据矩阵、缩放矩阵经过编码预测后的预测残差矩阵或系统加权矩阵经过预测编码后的预测残差矩阵中任意一种或其组合。其中,所述变换可以是Z变换、DCT变换、DFT变换等。所述编码预测是指将QM、缩放矩阵、系数加权矩阵等进行编码,然后将编码后的矩阵和编码前的矩阵(即未编码的原始矩阵)进行求残差。其中,编码预测所使用的编码方法不做限制,例如DPCM。本实施例的矩阵编码装置,通过将待编码的矩阵进行分层,并根据确定的待编码层数对各层要么获取残差数据作为编码数据写入码流,要么不在码流中写入编码数据,实现对矩阵的分层编码并传输,提高了对矩阵的压缩比,减少了传输矩阵所占用的码率。图5B为本发明另一实施例提供的矩阵编码装置的结构示意图。本实施例基于图5A所示实施例实现,如图5B所示,本实施例的矩阵编码装置还包括:第二编码写入模块54。第二编码写入模块54,用于对预设划分层数和将矩阵进行分层的划分方法进行编码,并写入码流。或者,第二编码写入模块54,用于对将矩阵进行分层的划分方法进行编码并写入码流。其中,所述划分方法为将矩阵的矩阵元素分组到不同分层中的分组方法。在本实施例中,编码处理模块52具体用于根据确定的待编码层数,按照先编码低层后编码高层的方式对矩阵元素进行分层编码。编码处理模块52具体用于由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行均匀插值计算或者加权插值计算得到当前层对应的矩阵元素预测值。另外,编码处理模块52还具体用于按照先横向再纵向的插值顺序,或者按照先纵向再横向的插值顺序,由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到当前层对应的矩阵元素预测值。进一步,编码处理模块52具体用于在当前层的层数小于或等于设定的层数阈值时,对当前层的编码数据进行变长码编码后写入码流,在当前层的层数大于层数阈值时,对当前层的编码数据进行游程编码后写入码流。上述编码处理模块52的具体工作流程可参见图1A所示方法实施例中的相应描述,在此不再赘述。本实施例的矩阵编码装置,通过第二编码写入模块将划分层数和/或划分方法写入码流,向解码端提供解码所需的信息,提高了划分矩阵时的灵活性。图6A为本发明一实施例提供的矩阵解码装置的结构示意图。如图6A所示,本实施例的装置包括:层数解码模块61、第一重建模块62和第二重建模块63。其中,层数解码模块61,用于从码流中解码出矩阵的编码层数。其中,编码层数即为编码端确定并写入码流的待编码层数。第一重建模块62,与层数解码模块61连接,用于根据编码层数和从码流中解码出的矩阵中层数小于或等于编码层数的各层的编码数据,按照层次顺序依次得到层数小于或等于编码层数的各层对应的矩阵元素重建值。第二重建模块63,与第一重建模块62连接,用于由层数小于或等于编码层数的层对应的矩阵元素重建值计算得到层数大于编码层数的各层对应的矩阵元素重建值。本实施例的矩阵解码装置的各功能模块可用于执行图2所示矩阵解码方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。在本实施例中,由矩阵解码装置解码出的矩阵可以是QM、缩放矩阵、系数加权矩阵、QM经过变换后的变换域矩阵、缩放矩阵经过变换后的变换域矩阵、系数加权矩阵经过变换后的变换域矩阵、QM经过编码预测后的预测残差矩阵、缩放矩阵经过编码预测后的预测残差矩阵或系统加权矩阵经过预测编码后的预测残差矩阵中任意一种或其组合。其中,所述变换可以是Z变换、DCT变换、DFT变换等。所述编码预测是指将QM、缩放矩阵、系数加权矩阵等进行编码,然后将编码后的矩阵和编码前的矩阵(即未编码的原始矩阵)进行求残差。其中,编码预测所使用的编码方法不做限制,例如DPCM。本实施例的矩阵解码装置,与图5A所示的矩阵编码装置相配合,从码流中获取编码层数后,根据编码层数和从码流中解码出的层数小于或等于编码层数的各层的编码数据依次解码出各层对应的矩阵元素重建值,实现对矩阵的重建,允许矩阵编码装置使用分层架构对矩阵进行编码,提高了对矩阵的压缩比,减少了传输矩阵所占用的码率。图6B为本发明另一实施例提供的矩阵解码装置的结构示意图。本实施例基于图6A所示实施例实现,如图6B所示,本实施例的装置还包括:划分信息解码模块64。划分信息解码模块64,用于从码流中解码出矩阵的划分层数和相应的划分方法,并提供给第一重建模块62和第二重建模块63。或者,划分信息解码模块64,用于从码流中解码出划分方法,并提供给第一重建模块62和第二重建模块63。或者,划分信息解码模块64,用于从码流中解码出划分层数,并提供给第一重建模块62和第二重建模块63。其中,所述划分方法为将矩阵的矩阵元素分组到不同分层中的分组方法。进一步,本实施例的第二重建模块63具体用于由层数小于或等于编码层数的层对应的矩阵元素重建值进行均匀插值计算或加权插值计算,得到层数大于编码层数的各层对应的矩阵元素重建值。本实施例的第二重建模块63还具体用于按照先横向再纵向的插值顺序,或者按照先纵向再横向的插值顺序,由层数小于或等于编码层数的层对应的矩阵元素重建值进行插值计算,得到层数大于编码层数的各层对应的矩阵元素重建值。第一重建模块62具体用于在解码到的当前层的层数小于或等于设定的层数阈值时,对当前层对应的码流进行变长码解码,获取当前层的编码数据,在解码到的当前层的层数大于层数阈值,对当前层对应的码流进行游程码解码,获取当前层的编码数据;然后根据编码层数和从码流中解码出的矩阵中层数小于或等于编码层数的各层的编码数据,按照层次顺序依次得到层数小于或等于编码层数的各层对应的矩阵元素重建值。上述各功能模块的具体工作原理可参见图2所示方法中的相应流程,在此不再赘述。本实施例的矩阵解码装置,与图5A或图5B所示的矩阵编码装置相配合,从码流中获取编码层数后,根据编码层数和从码流中解码出的层数小于或等于编码层数的各层的编码数据依次解码出各层对应的矩阵元素重建值,实现对矩阵的重建,允许矩阵编码装置使用分层架构对矩阵进行编码,提高了对矩阵的压缩比,减少了传输矩阵所占用的码率。图7A为本发明又一实施例提供的矩阵编码装置的结构示意图。如图7A所示,本实施例的装置包括:预测编码模块71、误差获取模块72、第一编码重建模块73和第二编码重建模块74。其中,预测编码模块71,用于根据矩阵集合中矩阵的大小,按照编码顺序依次对矩阵集合中的矩阵进行编码预测,获取矩阵的重建矩阵,并将矩阵的重建矩阵进行相应的采样处理得到采样矩阵。误差获取模块72,与预测编码模块71连接,用于由当前矩阵的重建矩阵和当前矩阵得到第一误差,由按照编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵和当前矩阵得到第二误差。第一编码重建模块73,与误差获取模块72连接,用于在误差获取模块72获取到的第一误差小于或等于第二误差时,将当前矩阵的重建矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流。第二编码重建模块74,与误差获取模块72连接,用于在误差获取模块72获取到的第一误差大于第二误差,将按照编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流。本实施例的矩阵编码装置的各功能模块可用于执行图3所示矩阵编码方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。本实施例的矩阵编码装置,以矩阵的大小为依据按照编码顺序依次对矩阵集合中各矩阵进行编码预测,得到重建矩阵,并对重建矩阵进行采样处理得到采样矩阵,从当前编码到的矩阵的重建矩阵和由之前已编码矩阵的重建矩阵采样得到的采样矩阵中选择一个误差小的矩阵作为当前矩阵的编码重建矩阵,并将当前矩阵的编码结果写入码流,实现对矩阵集合中每个矩阵的编码,提高了对每个矩阵的压缩比,减少了传输矩阵所占用的码率。图7B为本发明再一实施例提供的矩阵编码装置的结构示意图。本实施例基于图7A所示实施例实现,如图7B所示,本实施例的装置还包括:标识编码模块75。标识编码模块75,用于在码流中写入标识编码顺序和所使用的采样方法的标识比特,并提供给预测编码模块71。该标识比特用于标识编码顺序是按照矩阵由大到小的顺序,还是由小到大的顺序依次对多个矩阵进行编码,并且还会标识在按照矩阵由大到小的顺序进行编码时,所使用的采样方法为下采样方法,在按照矩阵由小到大的顺序进行编码时,所使用的采样方法为上采样方法。进一步,本实施例的预测编码模块71具体用于按照矩阵由小到大的顺序,对矩阵集合中的矩阵进行编码预测,获取矩阵的重建矩阵,并对矩阵的重建矩阵进行上采样得到采样矩阵,其中最小矩阵的编码矩阵为最小矩阵的重建矩阵。或者,预测编码模块71具体用于按照矩阵由大到小的顺序,对矩阵集合中的矩阵进行编码预测,获取矩阵的重建矩阵,并对矩阵的重建矩阵进行下采样得到采样矩阵,其中最大矩阵的编码矩阵为最大矩阵的重建矩阵。进一步,本实施例的预测编码模块71具体用于按照预设划分层数将矩阵进行分层,并将矩阵中的矩阵元素分组到不同分层中,根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理;如果当前层的层数小于或等于待编码层数,则将当前层对应的原始矩阵元素值作为当前层对应的矩阵元素重建值;如果当前层的层数大于待编码层数,将当前层对应的矩阵元素预测值作为当前层对应的矩阵元素重建值,实现对矩阵的编码预测,获取矩阵的重建矩阵。其中,当前层对应的矩阵元素预测值是由当前层之前已编码层对应的矩阵元素预测值进行插值计算得到的。基于上述,本实施例的第一编码重建模块73具体用于在码流中写入标识当前矩阵是否使用采样矩阵的标识比特,且所述标识比特标识当前矩阵不使用采样矩阵,并将当前矩阵中层数小于或等于待编码层数的各层对应的矩阵元素重建值和层数小于或等于待编码层数的各层对应的矩阵元素预测值计算得到的残差数据作为层数小于或等于待编码层数的各层的编码数据写入码流,且不在码流中写入当前矩阵中层数大于待编码层数的各层的编码数据,同时将待编码层数写入码流。更进一步,第一编码重建模块73更为具体的用于在层数小于或等于待编码层数的各层的层数小于或等于设定的层数阈值时,对层数小于或等于待编码层数的各层的编码数据进行变长码编码后写入码流,在层数小于或等于待编码层数的各层的层数大于层数阈值时,对层数小于或等于待编码层数的各层的编码数据进行游程编码后写入码流。进一步,第二编码重建模块74具体用于在码流中写入标识将当前矩阵是否使用采样矩阵的标识比特,且所述标识比特标识当前矩阵使用采样矩阵,且不在码流中写入当前矩阵对应的编码数据。其中,上述各功能模块的具体工作原理可参见图3所示实施例中的相应描述,在此不再赘述。本实施例的矩阵编码装置,在使用采样矩阵时,在码流中仅写入标识比特而不写入编码数据,在不使用采样矩阵时,在码流中写入原始矩阵元素和矩阵元素预测值的残差数据,提高了对矩阵的压缩比,降低了传输矩阵时所占用的码率,进一步降低了传输整个矩阵集合所占用的码率。图8为本发明又一实施例提供的矩阵解码装置的结构示意图。如图8所示,本实施例的矩阵解码装置包括:确定模块81、标识解码模块82、第一解码重建模块83、第二解码重建模块84和触发模块85。其中,确定模块81,用于确定矩阵集合对应的解码顺序和相应的采样方法。标识解码模块82,用于从码流中解码出标识当前矩阵是否使用采样矩阵的标识比特。第一解码重建模块83,与确定模块81和标识解码模块82连接,用于在标识比特标识当前矩阵使用采样矩阵时,将由按照解码顺序在当前矩阵之前已解码矩阵的解码重建矩阵进行采样处理得到的采样矩阵,作为当前矩阵的解码重建矩阵。第二解码重建模块84,与标识解码模块82连接,用于在标识比特标识当前矩阵不使用采样矩阵,直接从码流中解码出当前矩阵的解码重建矩阵。触发模块85,与标识解码模块82、第一解码重建模块83和第二解码重建模块84连接,用于触发标识解码模块82、第一解码重建模块83和第二解码重建模块84,按照解码顺序,依次解码出矩阵集合中所有矩阵的解码重建矩阵。本实施例的矩阵解码装置的各功能模块可用于执行图4所示矩阵解码方法的流程,其具体工作原理不再赘述,详见方法实施例的描述。进一步,本实施例的确定模块81具体用于预先约定解码顺序和相应的采样方法,或者具体用于从码流中解码出标识解码顺序和相应的采样方法的标识比特,从而确定出解码矩阵集合所使用的解码顺序和相应的采样方法。本实施例的第二解码重建模块84具体用于根据解码顺序,从码流中解码出当前矩阵的编码层数,根据编码层数和从码流中解码出的当前矩阵中层数小于或等于编码层数的各层的编码数据,按照层次顺序依次得到当前矩阵中层数小于或等于编码数据的各层对应的矩阵元素重建值;然后,由当前矩阵中层数小于或等于编码层数的层对应的矩阵元素重建值计算得到当前矩阵中层数大于所述编码层数的各层对应的矩阵元素重建值。更为具体的,第二解码重建模块84用于对于层数小于或等于编码层数的各层,如果层数小于或等于设定的层数阈值,对层数小于或等于编码层数的各层对应的码流进行变长码解码,获取层数小于或等于编码层数的各层的编码数据;如果层数大于层数阈值,对层数小于或等于编码层数的各层对应的码流进行游程码解码,获取层数小于或等于编码层数的各层的编码数据。上述功能模块具体可用于执行图4所示矩阵解码方法中的相应流程,其具体工作原理在此不再赘述。本实施例的矩阵解码装置,与图7A所示矩阵编码装置相配合,首先确定解码顺序和相应的采样方法,并根据从码流中解码出的标识比特,确定获取矩阵集合中每个矩阵的解码重建矩阵的方式,其中,当标识比特标识当前矩阵使用采样矩阵时,在码流中不存在该当前矩阵的编码数据,提高了矩阵编码装置对矩阵的压缩比,降低了传输矩阵所占用的码率。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种矩阵编码方法,其特征在于,包括: 按照预设划分层数将矩阵进行分层,并将矩阵元素分组到不同分层中; 根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理; 如果当前层的层数小于或等于所述待编码层数,则根据当前层对应的原始矩阵元素值和当前层对应的矩阵元素预测值计算得到的残差数据作为当前层的编码数据写入码流; 如果当前层的层数大于所述待编码层数,在所述码流中不写入当前层的编码数据; 其中,当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的; 将所述待编码层数进行编码,并写入所述码流。
2.根据权利要求1所述的矩阵编码方法,其特征在于,所述根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理包括: 根据所述确定的待编码层数,按照先编码低层后编码高层的方式对矩阵元素进行分层编码。
3.根据权利要求1所述的矩阵编码方法,其特征在于,所述矩阵为量化矩阵、缩放矩阵、系数加权矩阵、量化矩阵经过变换后的变换域矩阵、缩放矩阵经过变换后的变换域矩阵、系数加权矩阵经过变换后的变换域矩阵、量化矩阵经过编码预测后的预测残差矩阵、缩放矩阵经过编码预测后的 预测残差矩阵或系数加权矩阵经过编码预测后的预测残差矩阵。
4.根据权利要求1所述的矩阵编码方法,其特征在于,所述由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到当前层对应的矩阵元素预测值包括: 由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行均匀插值计算或者加权插值计算得到当前层对应的矩阵元素预测值。
5.根据权利要求1所述的矩阵编码方法,其特征在于,所述由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到当前层对应的矩阵元素预测值包括: 按照先横向再纵向的插值顺序,由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到当前层对应的矩阵元素预测值;或者 按照先纵向再横向的插值顺序,由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到当前层对应的矩阵元素预测值。
6.根据权利要求1所述的矩阵编码方法,其特征在于,最低层对应的矩阵元素预测值为最低层对应的原始矩阵元素值,或者为一个或者一组预设默认值。
7.根据权利要求1所述的矩阵编码方法,其特征在于,所述待编码层数小于所述预设划分层数。
8.根据权利要求1-7任一项所述的矩阵编码方法,其特征在于,还包括: 对所述预设划分层数和将所述矩阵进行分层的划分方法进行编码,并写入所述码流;或者 将所述预设划分层数在编码端预先约定,对将所述矩阵进行分层的划分方法进行编码并写入所述码流;或者 将所述预设划分层数和将所述矩阵进行分层的划分方法均在编码端预先预定; 所述划分方法为将所述矩阵的矩阵元素分组到不同分层中的分组方法。
9.根据权利要求1-7任一项所述矩阵编码方法,其特征在于,所述根据当前层对应的原始矩阵元素值和当前层对应的矩阵元素预测值计算得到残差数据作为当前层的编码数据写入码流包括: 如果当前层的层数小于或等于设定的层数阈值,对所述当前层的编码数据进行变长码编码后写入所述码流; 如果当前层的层数大于所述层数阈值,对所述当前层的编码数据进行游程编码后写入所述码流。
10.一种矩阵解码方法,其特征在于,包括: 从码流中解码出矩阵的编码层数; 根据所述编码层数和从所述码流中解码出的所述矩阵中层数小于或等于所述编码层数的各层的编码数据,按照层次顺序依次得到层数小于或等于所述编码层数的各层对应的矩阵元素重建值; 由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素 重建值。
11.根据权利要求10所述的矩阵解码方法,其特征在于,所述矩阵为量化矩阵、缩放矩阵、系数加权矩阵、量化矩阵经过变换后的变换域矩阵、缩放矩阵经过变换后的变换域矩阵、系数加权矩阵经过变换后的变换域矩阵、量化矩阵经过编码预测后的预测残差矩阵、缩放矩阵经过编码预测后的预测残差矩阵或系数加权矩阵经过编码预测后的预测残差矩阵。
12.根据权利要求10所述的矩阵解码方法,其特征在于,由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值包括: 由层数小于或等于所述编码层数的层对应的矩阵元素重建值进行均匀插值计算或加权插值计算,得到层数大于所述编码层数的各层对应的矩阵元素重建值。
13.根据权利要求10所述的矩阵解码方法,其特征在于,由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值包括: 按照先横向再纵向的插值顺序,由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值;或者 按照先纵向再横向的插值顺序,由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值。
14.根据权利要求10-13任一项所述的矩阵解码方法,其特征在于,还包括: 从所述码流中解码出所述矩阵的划分层数和相应的划分方法;或者 从所述码流中解码出所述划分方法;或者 从所述码流中解码出所述划分层数;所述划分方法为将所述矩阵的矩阵元素分组到不同分层中的分组方法。
15.根据权利要求10-13任一项所述的矩阵解码方法,其特征在于,所述根据所述待编码层数,从所述码流中解码出所述矩阵中层数小于或等于所述编码层数的各层的编码数据包括: 如果解码到的当前层的层数小于或等于设定的层数阈值,对所述当前层对应的码流进行变长码解码,获取所述当前层的编码数据; 如果解码到的当前层的层数大于所述层数阈值,对所述当前层对应的码流进行游程码解码,获取所述当前层的编码数据。
16.一种矩阵编码方法,其特征在于,包括: 根据矩阵集合中矩阵的大小,按照编码顺序依次对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并将所述矩阵的重建矩阵进行相应的采样处理得到采样矩阵; 由当前矩阵的重建矩阵和当前矩阵得到第一误差,由按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵和当前矩阵得到第二误差; 如果所述第一误差小于或等于所述第二误差,将当前矩阵的重建矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流; 如果所述第一误差大于所述第二误差,将按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入所述码流。
17.根据权利要求16所述的矩阵编码方法,其特征在于,所述根据矩阵集合中待编码矩阵的大小,按照编码顺序依次对矩阵集合中的矩阵进行编码预测,获取待编码矩阵的重建矩阵,并将所述待编码矩阵的重建矩阵进行相应的采样处理得到采样矩阵包括: 按照矩阵由小到大的顺序,对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并对所述矩阵的重建矩阵进行上采样得到采样矩阵,其中最小矩阵的编码重建矩阵为最小矩阵的重建矩阵;或者 按照矩阵由大到小的顺序,对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并对所述矩阵的重建矩阵进行下采样得到采样矩阵,其中最大矩阵的编码重建矩阵为最大矩阵的重建矩阵。
18.根据权利要求16或17所述的矩阵编码方法,其特征在于,所述对矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵包括: 按照预设划分层数将所述矩阵进行分层,并将所述矩阵中的矩阵元素分组到不同分层中; 根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理; 如果当前层的层数小于或等于所述待编码层数,则将当前层对应的原始矩阵元素值作为当前层对应的矩阵元素重建值; 如果当前层的层数大于所述待编码层数,将当前层对应的矩阵元素预测值作为当前层对应的矩阵元素重建值; 其中, 当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的。
19.根据权利要求18所述的矩阵编码方法,其特征在于, 如果所述第一误差大于或等于所述第二误差,所述将当前矩阵对应的编码结果写入码流包括: 在所述码流中写入标识当前矩阵是否使用采样矩阵的标识比特,所述标识比特标识当前矩阵不使用采样矩阵,并将当前矩阵中层数小于或等于所述待编码层数的各层对应的矩阵元素重建值和层数小于或等于所述待编码层数的各层对应的矩阵元素预测值计算得到的残差数据作为层数小于或等于所述待编码层数的各层的编码数据写入所述码流,且不在所述码流中写入当前矩阵中层数大于所述待编码层数的各层的编码数据,同时将所述待编码层数写入所述码流; 如果所述第一误差大于所述第二误差,所述将当前矩阵对应的编码结果写入所述码流包括: 在所述码流中写入标识将当前矩阵是否使用采样矩阵的标识比特,所述标识比特标识当前矩阵使用采样矩阵,且不在所述码流中写入当前矩阵对应的编码数据。
20.根据权利要求19所述的矩阵编码方法,其特征在于,所述将当前矩阵中层数小于或等于所述待编码层数的各层对应的矩阵元素重建值和所述各层对应的矩阵元素预测值计算得到的残差数据作为层数小于或等于所述待编码层数的各层的编码数据写入所述码流包括: 对于层数小于或等于所述待编码层数的各层,如果层数小于或等于设定的层数阈值,对层数小于或等于所述待编码层数的各层的编码数据进行变长码编码后写入所述码流; 对于层数小于或等于所述待编码层数的各层,如果层数大于所述层数阈值,对层数小于或等于所述待编码层数的 各层的编码数据进行游程编码后写入所述码流。
21.根据权利要求16或17所述的矩阵编码方法,其特征在于,还包括: 在同时存在由帧内/帧间、亮度/色度组合出的多个矩阵集合时,在矩阵的大小相同时,按照先帧内后帧间、先亮度后色度的顺序,依次对多个矩阵集合中的矩阵进行编码处理。
22.根据权利要求16或17所述的矩阵编码方法,其特征在于,还包括: 预先约定所述编码顺序和所使用的采样方法;或者, 在所述码流中写入标识所述编码顺序和所使用的采样方法的标识比特。
23.一种矩阵解码方法,其特征在于,包括: 确定矩阵集合对应的解码顺序和相应的采样方法; 从码流中解码出标识当前矩阵是否使用采样矩阵的标识比特; 如果所述标识比特标识当前矩阵使用采样矩阵,将由按照所述解码顺序在当前矩阵之前已解码矩阵的解码重建矩阵进行采样处理得到的采样矩阵,作为当前矩阵的解码重建矩阵; 如果所述标识比特标识当前矩阵不使用采样矩阵,直接从所述码流中解码出当前矩阵的解码重建矩阵; 按照所述解码顺序,依次解码出所述矩阵集合中所有矩阵的解码重建矩阵。
24.根据权利要求23所述的矩阵解码方法,其特征在于,所述确定矩阵集合对应的解码顺序和相应的采样方法包括: 预先约定所述解码顺序和相应的采样方法;或者 从所述码流中解码出标识所述解码顺序和相应的采样方法的标识比特。
25.根据权利要求23或24所述的矩阵解码方法,其特征在于,确定出的解码顺序和相应的采样方法包括: 所述解码顺序为按照矩阵由小到大的顺序,相应的采样方法为上采样方法;或者 所述解码顺序为按照矩阵由大到小的顺序,相应的采样方法为下采样方法。
26.根据权利要求23或24所述的矩阵解码方法,其特征在于,所述直接从所述码流中解码出当前矩阵的解码重建矩阵包括: 根据所述解码顺序,从所述码流中解码出当前矩阵的编码层数,根据所述编码层数和从所述码流中解码出的当前矩阵中层数小于或等于所述编码层数的各层的编码数据,按照层次顺序依次得到当前矩阵中层数小于或等于所述编码数据的各层对应的矩阵元素重建值; 由当前矩阵中层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到当前矩阵中层数大于所述编码层数的各层对应的矩阵元素重建值。
27.根据权利要求26所述的矩阵解码方法,其特征在于,从所述码流中解码出的当前矩阵中层数小于或等于所述编码层数的各层的编码数据包括: 对于层数小于或等于所述编码 层数的各层,如果层数小于或等于设定的层数阈值,对层数小于或等于所述编码层数的各层对应的码流进行变长码解码,获取层数小于或等于所述编码层数的各层的编码数据; 对于层数小于或等于所述编码层数的各层,如果层数大于所述层数阈值,对层数小于或等于所述编码层数的各层对应的码流进行游程码解码,获取层数小于或等于所述编码层数的各层的编码数据。
28.一种矩阵编码装置,其特征在于,包括: 分层模块,用于按照预设划分层数将矩阵进行分层,并将矩阵元素分组到不同的分层中; 编码处理模块,用于根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理;如果当前层的层数小于或等于所述待编码层数,则根据当前层对应的原始矩阵元素值和当前层对应的矩阵元素预测值计算得到残差数据作为当前层的编码数据写入码流;如果当前层的层数大于所述待编码层数,在所述码流中不写入当前层的编码数据; 其中,当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的; 第一编码写入模块,用于将所述待编码层数进行编码,并写入所述码流。
29.根据权利要求28所述的矩阵编码装置,其特征在于,所述编码处理模块具体用于根据所述确定的待编码层数,按照先编码低层后编码高层的方式对矩阵元素进行分层编码。
30.根据权利要求28所述的矩阵编码装置,其特征在于,所述编码处理模块具体用于由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行均匀插值计算或者加权插值计算得到当前层对应的矩阵元素预测值。
31.根据权利要求28所述的矩阵编码装置,其特征在于,所述编码处理模块具体用于按照先横向再纵向的插值顺序,或者按照先纵向再横向的插值顺序,由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到当前层对应的矩阵元素预测值。
32.根据权利要求28-31任一项所述的矩阵编码装置,其特征在于,还包括: 第二编码写入模块,用于对所述预设划分层数和将所述矩阵进行分层的划分方法进行编码,并写入所述码流 ,或者用于对将所述矩阵进行分层的划分方法进行编码并写入所述码流;所述划分方法为将所述矩阵的矩阵元素分组到不同分层中的分组方法。
33.根据权利要求28-31任一项所述的矩阵编码装置,其特征在于,所述编码处理模块具体用于在当前层的层数小于或等于设定的层数阈值时,对所述当前层的编码数据进行变长码编码后写入所述码流,在当前层的层数大于所述层数阈值时,对所述当前层的编码数据进行游程编码后写入所述码流。
34.一种矩阵解码装置,其特征在于,包括: 层数解码模块,用于从码流中解码出矩阵的编码层数; 第一重建模块,用于根据所述编码层数和从所述码流中解码出的所述矩阵中层数小于或等于所述编码层数的各层的编码数据,按照层次顺序依次得到层数小于或等于所述编码层数的各层对应的矩阵元素重建值; 第二重建模块,用于由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值。
35.根据权利要求34所述的矩阵解码装置,其特征在于,所述第二重建模块具体用于由层数小于或等于所述编码层数的层对应的矩阵元素重建值进行均匀插值计算或加权插值计算,得到层数大于所述编码层数的各层对应的矩阵元素重建值。
36.根据权利要求34所述的矩阵解码装置,其特征在于,所述第二重建模块具体用于按照先横向再纵向的插值顺序,或者按照先纵向再横向的插值顺序,由层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到层数大于所述编码层数的各层对应的矩阵元素重建值。
37.根据权利要求34-36任一项所述的矩阵解码装置,其特征在于,还包括: 划分信息解码模块,用于从所述码流中解码出所述矩阵的划分层数和相应的划分方法,或者用于从所述码流中解码出所述划分方法,或者用于从所述码流中解码出所述划分层数;所述划分方法为将所述矩阵的矩阵元素分组到不同分层中的分组方法。
38.根据权利要求34-36任一项所述的矩阵解码装置,其特征在于,所述第一重建模块具体用于在解码到的当前层的层数小于或等于设定的层数阈值时,对所述当前层对应的码流进行变长码解码,获取所述当前层的编码数据,在解码到的当前层的层数大于所述层数阈值,对所述当前层对应的码流进行游程码解码,获取所述当前层的编码数据。
39.一种矩阵编码装置,其特征在于,包括: 预测编码模块,用于根据矩阵集合中矩阵的大小,按照编码顺序依次对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并将所述矩阵的重建矩阵进行相应的采样处理得到采样矩阵;误差获取模块,用于由当前矩阵的重建矩阵和当前矩阵得到第一误差,由按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵和当前矩阵得到第二误差; 第一编码重建模块,用于在所述第一误差小于或等于所述第二误差,将当前矩阵的重建矩阵作为当前矩阵对应的编码重建矩阵,并将当前矩阵对应的编码结果写入码流; 第二编码重建模块,用于在所述第一误差大于所述第二误差,将按照所述编码顺序在当前矩阵之前已编码矩阵的重建矩阵进行采样处理得到的采样矩阵作为当前矩阵对应的编码重建矩阵, 并将当前矩阵对应的编码结果写入所述码流。
40.根据权利要求39所述的矩阵编码装置,其特征在于,所述预测编码模块具体用于按照矩阵由小到大的顺序,对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并对所述矩阵的重建矩阵进行上采样得到采样矩阵,其中最小矩阵的编码重建矩阵为最小矩阵的重建矩阵;或者具体用于按照矩阵由大到小的顺序,对所述矩阵集合中的矩阵进行编码预测,获取所述矩阵的重建矩阵,并对所述矩阵的重建矩阵进行下采样得到采样矩阵,其中最大矩阵的编码重建矩阵为最大矩阵的重建矩阵。
41.根据权利要求39或40所述的矩阵编码装置,其特征在于,所述预测编码模块具体用于按照预设划分层数将所述矩阵进行分层,并将所述矩阵中的矩阵元素分组到不同分层中,根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理;如果当前层的层数小于或等于所述待编码层数,则将当前层对应的原始矩阵元素值作为当前层对应的矩阵元素重建值;如果当前层的层数大于所述待编码层数,将当前层对应的矩阵元素预测值作为当前层对应的矩阵元素重建值; 其中,当前层对应的矩阵元素预测值是由所述矩阵当前层之前已编码层中和当前层中已编码矩阵元素的矩阵元素重建值或者矩阵元素预测值进行插值计算得到的。
42.根据权利要求41所述的矩阵编码装置,其特征在于,所述第一编码重建模块具体用于在所述码流中写入标识当前矩阵是否使用采样矩阵的标识比特,所述标识比特标识当前矩阵不使用采样矩阵,并将当前矩阵中层数小于或等于所述待编码层数的各层对应的矩阵元素重建值和层数小于或等于所述待编码层数的各层对应的矩阵元素预测值计算得到的残差数据作为层数小于或等于所述待编码层数的各层的编码数据写入所述码流,且不在所述码流中写入当前矩阵中层数大于所述待编码层数的各层的编码数据,同时将所述待编码层数写入所述码流; 所述第二编码重建模块具体用于在所述码流中写入标识将当前矩阵是否使用采样矩阵的标识比特,所述标识比特标识当前矩阵使用采样矩阵,且不在所述码流中写入当前矩阵对应的编码数据。
43.根据权利要求42所述的矩阵编码装置,其特征在于,所述第一编码重建模块更为具体的用于对于层数小于或等于所述待编码层数的各层,如果层数小于或等于设定的层数阈值时,对层数小于或等于所述待编码层数的各层的编码数据进行变长码编码后写入所述码流,如果层数大于所述层数阈值时,对层数小于或等于所述待编码层数的各层的编码数据进行游程编码后写入所述码流。
44.根据权利要求39或40所述的矩阵编码装置,其特征在于,还包括: 标识编码模块,用于在所述码流中写入标识所述编码顺序和所使用的采样方法的标识比特。
45.一种矩阵解码装置,其特征在于,包括: 确定模块,用于确定矩阵集合对应的解码顺序和相应的采样方法; 标识解码模块,用于从码流中解码出标识当前矩阵是否使用采样矩阵的标识比特; 第一解码重建模块,用于在所述标识比特标识当前矩阵使用采样矩阵时,将由按照所述解码顺序在当前矩阵之前已解码矩阵的解码重建矩阵进行采样处理得到的采样矩阵,作为当前矩阵的解码重建矩阵; 第二解码重建模块,用于在所述标识比特标识当前矩阵不使用采样矩阵,直接从所述码流中解码出当前矩阵的解码重建矩阵; 触发模块,用于触发所述标识解码模块、所述第一解码重建模块和所述第二解码重建模块,按照所述解码顺序,依次解码出所述矩阵集合中所有矩阵的解码重建矩阵。
46.根据权利要求45所述的矩阵解码装置,其特征在于,所述确定模块具体用于预先约定所述解码顺序和相应的采样方法,或者具体用于从所述码流中解码出标识所述解码顺序和相应的采样方法的标识比特。
47.根据权利要求45或46所述的矩阵解码装置,其特征在于,所述第二解码重建模块具体用于根据所述解码顺序,从所述码流中解码出当前矩阵的编码层数,根据所述编码层数和从所述码流中解码出的当前矩阵中层数小于或等于所述编码层数的各层的编码数据,按照层次顺序依次得到当前矩阵中层数小于或等于所述编码数据的各层对应的矩阵元素重建值;然后,由当前矩阵中层数小于或等于所述编码层数的层对应的矩阵元素重建值计算得到当前矩阵中层数大于所述编 码层数的各层对应的矩阵元素重建值。
48.根据权利要求47所述的矩阵解码装置,其特征在于,所述第二解码重建模块更为具体的用于对于层数小于或等于所述编码层数的各层,如果层数小于或等于设定的层数阈值,对层数小于或等于所述编码层数的各层对应的码流进行变长码解码,获取层数小于或等于所述编码层数的各层的编码数据;如果层数大于所述层数阈值,对层数小于或等于所述编码层数的各层对应的码流进行游程码解码,获取层数小于或等于所述编码层数的各层的编码数据。
全文摘要
本发明提供一种矩阵编码方法及装置与解码方法及装置。其中,一种编码方法包括按照预设划分层数将矩阵进行分层,并将矩阵元素分组到不同分层中;根据确定的待编码层数,按照层次顺序依次对待编码的每层中的矩阵元素进行编码处理;对于层数小于或等于待编码层数的层,将该层对应的原始矩阵元素值和对应的矩阵元素预测值的残差数据作写入码流;对于层数大于待编码层数的层,在码流中不写入该层的编码数据;将待编码层数进行编码,并写入码流。本发明技术方案提高了对矩阵的压缩比,减少了传输矩阵所占用的码率。
文档编号H04N7/50GK103096056SQ20111035045
公开日2013年5月8日 申请日期2011年11月8日 优先权日2011年11月8日
发明者王云飞, 郑建铧, 郑萧桢, 何芸 申请人:华为技术有限公司, 清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1