CN107409216B - 图像编码和解码方法、编码和解码设备以及相应的计算机程序 - Google Patents

图像编码和解码方法、编码和解码设备以及相应的计算机程序 Download PDF

Info

Publication number
CN107409216B
CN107409216B CN201680010713.3A CN201680010713A CN107409216B CN 107409216 B CN107409216 B CN 107409216B CN 201680010713 A CN201680010713 A CN 201680010713A CN 107409216 B CN107409216 B CN 107409216B
Authority
CN
China
Prior art keywords
block
prediction
prediction mode
predictor
type
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.)
Active
Application number
CN201680010713.3A
Other languages
English (en)
Other versions
CN107409216A (zh
Inventor
F.亨利
黄碧虹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of CN107409216A publication Critical patent/CN107409216A/zh
Application granted granted Critical
Publication of CN107409216B publication Critical patent/CN107409216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及一种用于对被划分成多个块的至少一个图像(ICj)进行编码的方法。所述方法针对有待编码的公共块(Bu)实现以下各项:‑确定(C31)所述公共块的第一预测类型;‑确定(C32)与所述第一预测类型相关联的预测程序;‑基于所述已确定的预测程序来获得预测子块(BP最优);以及‑对表示所述已获得的预测子块与所述公共块之间的差异的残差块(Bru)进行计算(C5a);C5b))。所述编码方法的特征在于,其包括:‑从不同于所述第一类型的第二类型的多个预测程序当中选择(C6b)预测程序;以及‑对借助于基于所述已选择的预测程序所确定的编码参数而计算的所述残差块进行编码(C7b)。

Description

图像编码和解码方法、编码和解码设备以及相应的计算机 程序
技术领域
本发明总体上涉及图像处理领域,并且更确切地,涉及对数字图像以及数字图像序列的编码和解码。
本发明可以具体但不排他地应用于在当前AVC和HEVC视频编码器及其扩展(MVC、3D-AVC、MV-HEVC、3D-HEVC等)中实施的视频编码,以及应用于相应的解码。
背景技术
当前视频编码器(MPEG、H.264、HEVC、……)使用对有待编码图像的分块表示。图像被细分为具有方形或矩形形状的多个块,这些块易于以递归的方式轮流被细分。
对于所获得的各种块中的所考虑的至少一个块,相对于属于相同图像(帧内预测)或者属于图像序列(帧间预测)中已经被解码的一个或多个先前的图像的预测像素而实施对所考虑的块的像素的预测。这种先前的图像常规地被称为参考图像并且在存储器中被保存在编码器处或者在解码器处。在这种预测的过程中,通过从预测像素中减去所考虑的块的像素来计算残差块。然后,在可能的数学变换(例如,离散余弦变换(DCT)型)之后对所计算的残差块的系数进行量化,并且然后由熵编码器对其进行编码。所述经编码数据被写入旨在被传输至解码器的数据信号中。
所述数据信号具体包括:
-预测类型(帧内预测、帧间预测、执行不向解码器传输信息的预测的默认预测(“跳过(skip)”));
-预测模式(预测方向、参考图像分量、……);
-子块细分类型;
-变换类型,例如,4×4DCT、8×8DCT等……;
-像素值、变换系数值、振幅、包含在所考虑的块或子块中的像素的量化系数的标记。
一旦数据信号已经被解码器接收,则通过逐图像地并且针对每个图像逐块地完成解码。针对每个块,读取数据信号的相应元素。执行块的系数的逆量化和逆变换以产生经解码的残差块。接下来,计算对块的预测并且通过将预测添加到经解码的残差块中来重构所述块。
更精确地:
-对当前图像的块的帧内预测在于相对于所述当前图像的已经被编码并且然后被解码并且可以位于不同的预定方向(例如在HEVC标准中为三十五个预测方向)上的像素来预测此块的像素,
-对当前图像的块的帧间预测在于预测与此块相关联的某种编码信息,如例如:
·当前块的关于与参考像素块相关联的时间运动向量的时间运动向量,
·当前块的关于参考像素块的像素的像素,所述参考像素块由时间运动向量来指向并且位于除了当前块所属于的当前图像之外的图像内。
这些预测类型彼此极不相同。有时,证明在这种编码/解码方案中所选择的预测类型(例如:帧间预测)不太适合有待编码/解码的当前块。
这导致不令人满意的压缩性能。
发明内容
本发明的目的之一是补救上述现有技术的缺点。
出于此目的,本发明的主题涉及一种用于对被分割成多个块的至少一个图像进行编码的方法,所述方法针对有待编码的当前块实现以下各项:
-确定所述当前块的第一预测类型,
-确定与所述第一预测类型相关联的预测模式,
-基于所述已确定的预测模式来获得预测子块,
-对表示所述已获得的预测子块与所述当前块之间的差异的残差块进行计算。
根据本发明的编码方法值得注意的地方在于,其包括:
-从根据不同于所述第一类型的第二类型的多种预测模式当中选择预测模式,
-对借助于基于所述已选择的预测模式所确定的编码参数而计算的所述残差块进行编码。
这种规定使得可以通过由与第二类型的当前块预测相关联的编码参数来限定此第一预测类型从而增大对诸如在实现第一预测类型之后已经获得的当前块压缩的优化。对当前块的预测因此更精确,这具有显著提高关于待传输至解码器的数据信号的压缩性能的优点。
根据本发明,预测类型将一组预测子分组在一起,每个预测子与同一个参数或者与同一组的参数相关联。
在为例如帧内类型的预测的情况下,所述预测参数为从一组预定的预测方向(例如,HEVC标准中的35个方向)当中所选择的预测方向。
在为例如帧间类型的预测的情况下,至少考虑以下两个预测参数:
-运动向量的索引,所述运动向量的索引描述当前块的像素与已经被编码的或者已经被编码并且然后被解码的并且属于除当前图像之外的图像的块的像素之间的运动,
-此另一图像的索引。
在具体实施例中,所述选择所述预测模式是根据基于与所述第一预测类型相关联的所述预测模式所获得的所述预测子块而实现的。
这种规定有利地使得可以考虑基于与第一预测类型相关联的预测模式所获得的预测子块,所述块为待编码的原始块的最佳预测子。因此,这种预测子块最适合于确定与从根据第二类型的多种预测模式中选择的预测模式相关联的候选块。
在另一具体实施例中,所述已选择的预测模式是基于其从其他候选预测子块当中获得预测子块的预测模式,所述预测子块将基于同所述第一预测类型相关联的所述预测模式所获得的所述预测子块与所述候选预测子块中的每个候选预测子块之间的失真最小化。
这种规定使得可以当在编码时实现特定预测类型时选择另一种预测类型,所述另一种预测类型能够生成与如根据所述特定预测类型所计算的残差块相近的残差块。这种规定使得可以将对一种预测类型的残差块的编码适配到另一预测类型。
在又另一具体实施例中,所述编码参数属于包括以下各项的组:
-变换操作,
-量化向量词典,
-熵编码器,
-标量量化操作。
上述各个实施例或实现的特性可以被独立地或者彼此组合地添加到在如以上定义的编码方法过程中实现的操作中。
相关地,本发明涉及一种用于对被分割成多个块的至少一个图像进行编码的设备,所述设备针对有待编码的当前块包括:
-用于确定以下各项的预测模块:
·所述当前块的第一预测类型,
·与所述第一预测类型相关联的预测模式,
所述预测模块基于所述已确定的预测模式来传递预测子块,
-用于对表示已传递的预测子块与所述当前块之间的差异的残差块进行计算的模块。
这种编码设备值得注意的地方在于,其包括:
-用于从根据不同于所述第一类型的第二类型的多种预测模式当中选择预测模式的模块,
-用于对借助于基于所述已选择的预测模式所确定的编码参数而计算的所述残差块进行编码的模块。
以相应的方式,本发明还涉及一种用于对表示已经被分割成多个块的至少一个图像的数据信号进行解码的方法,所述方法针对有待解码的当前块实现以下各项:
-在所述数据信号中确定与有待解码的所述当前块相关的残差块,
-确定所述当前块的第一预测类型,
-确定与所述第一预测类型相关联的预测模式,
-基于所述已确定的预测模式来获得预测子块。
这种解码方法值得注意的地方在于,其包括:
-从不同于所述第一类型的第二类型的多种预测模式当中选择预测模式,
-基于所述已确定的残差块、所述已获得的预测子块以及基于所述已选择的预测模式所确定的解码参数来重构所述当前块。
在具体实施例中,所述选择所述预测模式是根据基于与所述第一预测类型相关联的所述预测模式所获得的所述预测子块而实现的。
在另一具体实施例中,所述已选择的预测模式是基于其从其他候选预测子块当中获得预测子块的预测模式,所述预测子块将基于同所述第一预测类型相关联的所述预测模式所获得的所述预测子块与所述候选预测子块中的每个候选预测子块之间的失真最小化。
在又另一具体实施例中,所述解码参数属于包括以下各项的组:
-变换操作,
-量化向量词典,
-熵解码器,
-标量量化操作。
上述各个实施例或实现的特性可以被独立地或者彼此组合地添加到在如以上定义的解码方法过程中实现的操作中。
相关地,本发明涉及一种用于对表示已经被分割成多个块的至少一个图像的数据信号进行解码的设备,所述设备针对有待解码的当前块包括:
-用于在所述数据信号中确定与有待解码的所述当前块相关的残差块的模块,
-用于确定以下各项的预测模块:
·所述当前块的第一预测类型,
·与所述第一预测类型相关联的预测模式,
所述预测模块基于所述已确定的预测模式来传递预测子块。
这种解码设备值得注意的地方在于,其包括:
-用于从不同于所述第一类型的第二类型的多种预测模式当中选择预测模式的模块,
-用于基于所述已确定的残差块、所述已传递的预测子块以及基于所述已选择的预测模式所确定的解码参数来重构所述当前块的模块。
本发明进一步涉及一种计算机程序,所述计算机程序包括指令,当所述计算机程序在计算机上执行时,所述指令用于实现根据本发明的编码和解码方法之一。
这种程序可使用任何编程语言,并且可采用源代码、目标代码、或在源代码与目标代码之间的中间代码的形式,比如,采用部分编译的形式或者采用任何其他所期望的形式。
本发明的又另一主题还设想一种记录介质,所述记录介质可由计算机读取并且包括如以上所提及的计算机程序指令。
所述记录介质可以是能够存储程序的任何实体或设备。例如,所述介质可包括存储装置(如ROM(例如,CD ROM或微电子电路ROM))、或其他磁记录装置、数字记录装置(例如,USB密钥或硬盘)。
而且,这种记录介质可以是可经由电缆或光缆、通过无线电或通过其他手段输送的可传输介质(如电信号或光信号)。根据本发明的程序可以具体地从互联网类型的网络进行下载。
可替代地,这种记录介质可以是所述程序所并入的集成电路,所述电路被适配用于执行正在讨论的方法或者在所述方法执行时使用。
附图说明
其他特性和优点将在阅读参照附图所描述的优选实施例后变得明显,在附图中:
-图1A表示根据本发明的第一实施例的编码方法的步骤,
-图1B表示根据本发明的第二实施例的编码方法的第一替代方案,
-图1C表示根据本发明的第二实施例的编码方法的第二替代方案,
-图2A表示根据本发明的第一实施例的编码设备,
-图2B表示根据本发明的第二实施例的编码设备,
-图3A表示根据本发明的第一实施例的解码设备,
-图3B表示根据本发明的第二实施例的解码设备,
-图4A表示根据本发明的第一实施例的解码方法的步骤,
-图4B表示根据本发明的第二实施例的解码方法的第一替代方案,
-图4C表示根据本发明的第二实施例的解码方法的第二替代方案。
具体实施方式
编码部分的具体实施方式
现在将对本发明的第一实施例进行描述,在所述实施例中,根据本发明的编码方法用于根据二进制流对图像或图像序列进行编码,所述二进制流与通过在根据当前或未来视频编码标准中的任何一项的编码器中实施的编码而获得的二进制流相近。
在此第一实施例中,例如采用软件或硬件方式通过对这种编码器进行修改来实现根据本发明的编码方法。采用包括如图1A中所表示的步骤C1至步骤C8的算法的形式来表示根据本发明的编码方法。
根据本发明的第一实施例,根据本发明的编码方法在图2A中所表示的编码设备CO1中实现。
如图2A所示,这种编码设备包括包含缓冲存储器TAMP_CO1的存储器MEM_CO1、配备有例如微处理器μP并且由计算机程序PG_CO1驱动的处理单元UT_CO1,所述处理单元实现根据本发明的编码方法。在初始化时,计算机程序PG_CO1的代码指令在被处理单元UT_CO1的处理器执行之前,例如被加载到RAM存储器(被指示为RAM_CO1)中。
图1A中所表示的编码方法应用于任何当前图像ICj,所述当前图像是固定的或者形成待编码的L个图像IC1、……、ICj、……、ICL(1≤j≤L)的序列的一部分。
在图1A中所表示的步骤C1的过程中,以本身已知的方式将当前图像IGj分割成多个块B1、B2、……、Bu、……、BS(1≤u≤S)。这种分割步骤由图2A中所表示的分割软件模块MP_CO1来实现,所述模块由处理单元UT_CO1的微处理器μP驱动。应当注意的是,在本发明的含义内,术语“块”表示编码单元。在HEVC标准“ISO/IEC/23008-2推荐ITU-T H.265高效视频编码(HEVC)”中具体使用后一个术语。
具体地,这种编码单元将矩形或正方形形状的像素集(也被称为块或宏块)或展现其他几何形状的像素集分组在一起。
所述块B1、B2、……、Bu、……、BS旨在根据例如词典编辑类型的预定扫描顺序被编码。这表示这些块一个接一个、从左到右地被编码。
其他类型的遍历当然也是可能的。由此,有可能将图像ICj切割成若干个被称为切片的子图像并单独地针对每个子图像而应用这种类型的切割。如以上所解释的,还有可能不是逐行地而是逐列地进行编码。还有可能在任一方向上遍历行和列。
根据示例,块B1、B2、……、Bu、……、BS具有方形形状并且均包含K个像素,其中,K≥1。根据优选实施例,所述块的大小为4×4或8×8个像素。
根据其不必是块的大小的倍数的图像大小,左边的最后块和底部的最后块可能不是正方形。在替代性实施例中,这些块可以例如具有矩形大小和/或彼此并不对齐。
而且,每个块可以自己划分为多个子块,这些子块它们自己可以再被细分。
在图1A中所表示的步骤C2的过程中,编码器CO1将图像IGj的有待编码的第一块Bu(如,例如,第一块B1)选择作为当前块。
在图1A中所表示的步骤C3的过程中,对当前块Bu进行第一类型预测。步骤C3包括:
-确定当前块的第一预测类型(例如,帧内预测或帧间预测)的子步骤C31,
-确定与所述已确定的第一预测类型相关联的预测模式的子步骤C32。
在所述已确定的第一预测类型为帧内预测的情况下,所述预测模式包括至少一个预测参数,所述至少一个预测参数为从一组预定的预测方向(例如,HEVC标准中的35个方向)当中所选择的预测方向。
在所述已确定的第一预测类型为帧间预测的情况下,所述预测模式至少包括以下两个预测参数:
-运动向量的索引,所述运动向量的索引描述当前块的像素与已经被编码的或者已经被编码并且然后被解码的并且属于除当前图像之外的图像的块的像素之间的运动,
-此另一图像的索引。
根据优选实施例,所述已确定的第一预测类型为帧间预测。以本身已知的方式,然后关于多个候选预测子块对块Bu进行预测。所述候选预测子块中的每个候选预测子块为已经被编码或者已经被编码并且然后被解码的像素块。这种预测子块预先被存储在如图2A中所表示的编码器CO1的缓冲存储器TAMP_CO1中。
在完成预测步骤C3时,在将所述候选预测子块置于竞争状态之后,例如通过将本领域技术人员众所周知的失真比特率标准最小化而获得最优预测子块BP最优。块BP最优被认为是近似当前块Bu。与此预测相关的信息旨在被写入待传输至解码器的数据信号或流F1中,将在后续描述中对其进行更详细的描述。
步骤C3由图2A中所表示的预测编码软件模块或处理器PRED_CO1来实现,所述模块由处理单元UT_CO1的微处理器μP驱动。
在图1A中所表示的步骤C4的过程中,根据本发明,对在步骤C3期间应用于当前块Bu的第一预测类型进行验证。
步骤C4由图2A中所表示的计算软件模块或处理器CAL1_CO1来实现,所述模块由处理单元UT_CO1的微处理器μP驱动。
在所应用的第一类型的预测为帧内预测的情况下,在图1A中所表示的步骤C5a)的过程中,以常规方式地将与当前块Bu相关的数据与预测子块BP最优的数据进行比较。更确切地,在此步骤的过程中,对当前块Bu与所获得的预测子块BP最优之间的差异进行计算。
然后,在完成步骤C5a)时获得被称为残差块Bru的残差数据集合。
步骤C5a)由如图2A中所表示的用于计算残差数据的软件模块或处理器CAL2_CO1来实现,所述模块由处理单元UT_CO1的微处理器μP驱动。
在图1A中所表示的步骤C6a)的过程中,以常规方式对残差块Bru的数据进行编码。
以本身已知的方式,在步骤C6a)的过程中,在子步骤C61a)的过程中根据常规直接变换操作对残差块Bru进行变换以便产生经变换的块Btu
子步骤C61a)由图2A中所表示的变换软件模块或处理器MT_CO1来实现,所述模块由处理单元UT_CO1的微处理器μP驱动。
处理器MT_CO1能够实现直接变换,诸如例如DCT型离散余弦变换(代表“离散余弦变换(Discrete Cosine Transform)”的缩写)、DST型离散正弦变换(代表“离散正弦变换(Discrete Sine Transform)”的缩写)、DWT型离散小波变换(代表“离散小波变换(Discrete Wavelet Transform)”的缩写)。
以本身已知的方式,在步骤C6a)的过程中,在图1A中所表示的子步骤C62a)的过程中对经变换的块Btu的数据进行量化,以便产生由量化系数所组成的量化块Bqu。这种量化步骤例如是标量或向量类型。
子步骤C62a)借助于如图2A中所表示的量化软件模块或处理器MQ_CO1而被执行,所述模块由处理单元UT_CO1的微处理器μP驱动。
以本身已知的方式,在步骤C6a)的过程中,在图1A中所表示的子步骤C63a)的过程中对块Bqu的量化系数进行编码。这种编码例如为CABAC类型的熵编码(“上下文自适应二进制算术编码”)或者算术或哈夫曼类型的熵编码。
子步骤C63a)由图2A中所表示的编码软件模块或处理器MC_CO1来实现,所述模块由处理单元UT_CO1的微处理器μP驱动。
在所应用的第一预测类型为帧间预测的情况下,首先在图1A中所表示的步骤C5b)的过程中以常规方式将同当前块Bu相关的数据与预测子块BP最优的数据进行比较。更确切地,在此步骤的过程中,对当前块Bu与所获得的预测子块BP最优之间的差异进行计算。
然后,在完成步骤C5b)时获得被称为残差块Bru的残差数据集合。
步骤C5b)由图2A中所表示的用于计算残差数据的软件模块或处理器CAL2_CO1来实现。
接下来,根据本发明,在图1A中所表示的步骤C6b)的过程中选择与不同于所述前述第一类型的第二类型的预测相关联的预测模式。根据优选实施例,所述第二类型的预测为以本身已知的方式与多种预测模式相关联的帧内预测,每种预测模式由预定的预测方向来限定。在例如在HEVC标准中提出的帧内预测的情况下,存在三十五种可能的预测方向,由此总共用于确定可用于预测当前块Bu的三十五种候选预测子块。根据本发明,步骤C6b)在于从可用候选预测子块当中选择候选预测子,所述候选预测子将在完成第一类型的预测的前述步骤C3时获得的最优预测子块BP最优与所述可用候选预测子块中的每个候选预测子块之间的失真最小化。以与在前述第一类型的预测的情况下相同的方式,在步骤C6b)的过程中候选预测子块中的被置于竞争状态下的每个候选预测子块是已经被编码或者被编码并且然后被解码的像素块。这种预测子块预先被存储在如图2A中所表示的编码器CO1的缓冲存储器TAMP_CO1中。
在完成步骤C6b)时,获得最优预测子块BP’最优。这种最优预测子块BP’最优则与其最优预测模式MP’最优相关联,所述最优预测模式表示根据本发明所选择的第二类型的预测模式。
步骤C6b)由如图2A中所表示的计算软件模块或处理器CAL3_CO1来实现,所述模块由处理单元UT_CO1的微处理器μP驱动。
在图1A中所表示的步骤C7b)的过程中,根据本发明,借助于基于在步骤C6b中所选择的预测模式MP’最优所确定的至少一个编码参数对残差块Bru的数据进行编码。
在步骤C7b)的过程中,在子步骤C71b)的过程中根据常规直接变换操作对残差块Bru进行变换,以便产生经变换的块Btu
根据本发明的一个实施例,直接变换操作被选择作为特定于在步骤C6b)中所选择的预测模式的变换。根据第一示例,如果所选择的帧内预测模式为HEVC标准的模式0或1,最适合用于此模式的直接变换为DST变换,则所选择的是所述DST变换。根据第二示例,如果所选择的帧内预测模式为HEVC标准的模式2至34之一,最适合用于此模式的直接变换为DCT变换,则所选择的是所述DCT变换。
子步骤C71b)由图2A中所表示的变换软件模块或处理器MT_CO1来实现。
在步骤C7b)的过程中,进一步地在图1A中所表示的子步骤C72b)的过程中对经变换的块Btu的数据进行量化,以便产生由量化系数组成的量化块Bqu。这种量化步骤例如是标量或向量类型。
根据本发明的一个实施例,作为在子步骤C71b)中执行的变换的选择的替代或者结合此选择,将量化操作选择作为特定于在步骤C6b)中所选择的预测模式的量化。根据第一示例,如果所选择的帧内预测模式为HEVC标准的模式0、1或26,则被选择作为最适合用于此模式的是特定于HEVC标准的量化步骤。根据第二示例,如果所选择的帧内预测模式为HEVC标准的模式2至25、27至34之一,则最适合用于此模式的量化步骤是特定于HEVC标准的量化步骤的两倍。这种规定使得可以将量化适配到基于在步骤C3中获得的预测子块BP最优所计算的解码块BDu的比能。
子步骤C72b)借助于图2A中所表示的量化软件模块或处理器MQ_CO1而被执行。
在步骤C7b)的过程中,进一步地在图1A中所表示的子步骤C73b)的过程中对块Bqu的量化系数进行编码。这种编码例如为CABAC类型的熵编码(“上下文自适应二进制算术编码”)或者算术或哈夫曼类型的熵编码。
根据本发明的一个实施例,作为在子步骤C71b)中执行的变换的选择的替代和/或在子步骤C72b)中执行的量化的选择的替代、或者结合这些选择中的一种选择和/或另一种选择,将熵编码操作选择作为特定于在步骤C6b)中所选择的预测模式的编码操作。换言之,用于对块Bqu的系数进行编码的概率取决于在步骤C6b)中所选择的预测模式MP’最优。例如,如果所选择的帧内预测模式使得可以获得低振幅的残差块Bru,则低振幅系数的发生概率增大。相反地,如果所选择的帧内预测模式使得可以获得高振幅的残差块Bru,则低振幅系数的发生概率降低。
子步骤C73b)由图2A中所表示的编码软件模块或处理器MC_CO1来实现。
在图2A中所表示的步骤C8的过程中,在完成前述步骤C6a)或者步骤C7b)中任一步骤时构造包含经编码数据的数据信号或流F1。
步骤C8由如图2A中所表示的数据信号构造软件模块或处理器MCF1来实现。
在此之后,通过通信网络(未表示出)将数据信号F1传输至远程终端。所述远程终端包括图3A中所表示的解码器DO1。
以本身已知的方式,数据信号F1进一步包括由编码器CO1编码的某些信息,如在步骤C3中应用的第一预测类型(帧间或帧内)、以及所选择的预测模式(如果需要的话)、在完成步骤C3时获得的已获得的预测子块BP最优的索引(被指示为IBP最优)、当前块Bu的分割类型(如果所述当前块已经被分割的话)、参考图像索引以及在帧间预测模式中使用的运动向量。
以本身已知的方式,在此之后对残差块Bru进行解码。然后获得经解码的残差块BDru。然后,通过将解码残差块BDru添加到预测块BP最优来构造解码块BDu
应当注意的是,解码块BDu与在完成用于解码图像ICj的方法时获得的解码块是相同的,这将在说明书中进一步描述。由此,使得解码块BDu可供图2A中所表示的编码器CO1使用。
自此之后,针对所考虑的当前图像ICi的有待编码的块B1、B2、……、Bu……、Bs中的每个块来实现上文刚刚已经描述的编码步骤C1至步骤C8。
现在将参考图1B、图1C和图2B来描述本发明的第二实施例。在此第二实施例中,每个待编码的块经受通过标量量化的编码(如参考图1A所描述的),所述通过标量量化的编码有利地与通过向量量化的编码进行组合。
根据第二实施例,根据本发明的编码方法在图2B中所表示的编码设备CO2中实现。如图2B中所展示的,这种编码设备包括包含缓冲存储器TAMP_CO2的存储器MEM_CO2、配备有例如微处理器μP并且由计算机程序PG_CO2驱动的处理单元UT_CO2,所述处理单元实现根据本发明的编码方法。在初始化时,计算机程序PG_CO2的代码指令在被处理单元UT_CO2的处理器执行之前例如被加载到RAM存储器(被指示为RAM_CO2)中。
此外,编码器CO2包括分别与图2A中所表示的编码器CO1的软件模块或处理器MP_CO1、PRED_CO1、CAL1_CO1、CAL3_CO1完全相同的软件模块或处理器MP_CO2、PRED_CO2、CAL1_CO2、CAL3_CO2。出于此原因,将不再对软件模块或处理器MP_CO2、PRED_CO2、CAL1_CO2、CAL3_CO2进行详细描述。
图1B更确切地描述了在完成图1A的步骤C4时已经验证第一预测类型为帧内预测时如何实现向量量化。
以与第一实施例中相同的方式,对残差块Bru进行计算。这种步骤与图1A的步骤C5a)完全相同,将不再对其进行描述。
在计算残差块Bru之后,在图1B中所表示的步骤C110a)的过程中,将第一残差块Bru与多个量化向量进行比较。以本身已知的方式,这些量化向量属于编码器可用的一个或多个量化向量词典(被指示为CBK1、CBK2、……、CBKW)。这种词典预先被存储在如图2B中所表示的编码器CO2的缓冲存储器TAMP_CO2中。
更确切地,步骤C110a)在于从可用词典CBK1、CBK2、……、CBKW当中选择量化向量词典。
步骤C110a)由如图2B中所表示的计算软件模块或处理器CAL4_CO2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
根据本发明,根据以下要素中的一种要素和/或另一种要素来实现这种选择:
-在图1A的步骤C3中应用的预测的特性(例如,从HEVC标准的35种帧内模式当中选择的帧内模式),
-预测子块BP最优的频率特性,
-当前块Bu的大小,
-当前图像IGj的特性,诸如其大小或其能量。
在优选实施例中,W=70,也就是说:
-在当前块Bu的大小为4×4的情况下,存在针对在HEVC标准中所考虑的35种帧内模式中的每种帧内模式的不同词典,
-在当前块Bu的大小为8×8的情况下,存在针对在HEVC标准中所考虑的35种帧内模式中的每种帧内模式的不同词典。
根据此优选实施例,所选择的词典因此取决于当前块Bu的大小以及所选择的预测模式两者。
在完成步骤C110a)时所选择的词典被指示为CBK最优
在图1B中所表示的步骤C111a)的过程中,选择在步骤C110a)中所选择的词典CBK最优的量化向量之一。
在将词典CBK最优的所述量化向量置于竞争状态之后获得最优量化向量V最优,例如:
-通过将本领域技术人员众所周知的失真比特率标准最小化,
-或者通过将在残差块Bru的数据与词典CBK最优的量化向量中的每个量化向量的相应数据之间计算的均方错误最小化。
最优量化向量V最优被认为是近似残差块Bru。与此预测相关的信息旨在被写入前述数据信号F2中。
步骤C111a)由如图2B中所表示的计算软件模块或处理器CAL5_CO2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
在图1B中所表示的步骤C112a)的过程中,对在完成步骤C111a)时所选择的量化向量V最优进行编码。这种步骤在于以二进制形式表示量化向量V最优的索引(被指示为IV最优)。例如,如果量化向量V最优所属的词典CBK最优包含256个量化向量,则可以8比特来表示量化向量V最优,从而使得可以从词典CBK最优的所有其他量化向量当中精确地标识此向量。
步骤C112a)由如图2B中所表示的二进制编码软件模块或处理器CB_CO2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
在图1B中所表示的步骤C113a)的过程中,将同残差块Bru相关的数据与向量V最优的数据进行比较。更确切地,在此步骤的过程中,对残差块Bru与向量V最优之间的差异进行计算。
然后,在完成步骤C113a)时获得被称为二次残差块BSru的第二数据集合。
步骤C113a)由图2B中所表示的软件模块或处理器CAL6_CO2来实现。
在图1B中所表示的步骤C114a)的过程中,根据本发明对二次残差块BSru的数据进行编码。
在步骤C114a)的过程中,在子步骤C1141a)的过程中根据常规直接变换操作对二次残差块BSru进行变换,以便产生经变换的块BStu
子步骤C1141a)由图2B中所表示的变换软件模块或处理器MT_CO2来实现。
在步骤C114a)的过程中,进一步在图1B中所表示的子步骤C1142a)的过程中对经变换的块BStu的数据进行量化,以便产生由量化系数组成的量化块BSqu。这种量化步骤例如是标量或向量类型。
子步骤C1142a)借助于如图2B中所表示的量化软件模块或处理器MQ_CO2而被执行。
以本身已知的方式,在步骤C114a)的过程中,进一步在图1B中所表示的子步骤C1143a)的过程中对块BSqu的量化系数进行编码。这种编码例如为CABAC类型的熵编码(“上下文自适应二进制算术编码”)或者算术或哈夫曼类型的熵编码。
子步骤C1143a)由图2B中所表示的编码软件模块或处理器MC_CO2来实现。
在图1B中所表示的步骤C115a)的过程中,构造包含以下各项的数据信号或流F2:
-在完成前述步骤C114a)时经编码的数据,
-在前述步骤C112a)中确定的最优量化向量V最优的索引IV最优
步骤C115a)由如图2B中所表示的数据信号构造软件模块或处理器MCF2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
自此之后,通过通信网络(未表示出)将数据信号F2传输至远程终端。所述远程终端包括在图3B中所表示的解码器DO2。
以本身已知的方式,数据信号F2进一步包括由编码器CO2编码的某些信息,如在步骤C3中应用的第一预测类型(帧间或帧内)、以及所选择的预测模式(如果需要的话)、在完成步骤C3时获得的已获得的预测子块BP最优的索引(被指示为IBP最优)、当前块Bu的分割类型(如果所述当前块已经被分割的话)、参考图像索引以及在帧间预测模式中使用的位移向量。
以本身已知的方式,在此之后对残差块BSru进行解码。然后获得经解码的残差块BSDru。然后,通过将解码残差块BSDru添加到预测块BP最优来构造解码块BDu
应当注意的是,解码块BDu与在完成用于解码图像ICi的方法时获得的解码块是相同的,这将在说明书中进一步描述。由此,使得解码块BDu可供图2B的编码器CO2使用。
在图1B中所表示的步骤C116a)的过程中,根据本发明的第二实施例,进行一个测试,所述测试在于验证是否满足用于更新词典CBK1、CBK2、……、CBKW的标准。
根据第一变体,这种标准在于将残差块BSru中的非零系数的数量与预定阈值进行比较。例如,如果非零系数的数量大于3,则认为满足更新标准。
根据第二变体,这种标准在于将残差块BSru的编码比特率与预定阈值进行比较。例如,如果残差块BSru的编码比特率大于10比特,则认为满足更新标准。
步骤C116a)由如图2B中所表示的计算软件模块或处理器CAL7_CO2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
如果满足更新标准,则在图1B中所表示的步骤C117a)的过程中对词典CBK1、CBK2、……、CBKW中的至少一个词典进行更新。
步骤C117a)由如图2B中所表示的计算软件模块或处理器CAL8_CO2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
根据第一变体,步骤C117a)在于对当前词典CBK1、CBK2、……、CBKW的集合进行重新更新。
根据第二优选变体,仅对词典CBK最优进行更新。
在优选实施例中,用以下方式对词典CBK最优进行更新。
首选考虑向量V最优以及其包含在词典CBK最优中的相邻向量。所述相邻向量被指示为V最优-R、V最优-R+1、V最优-R+2、……、V最优-1、V最优、V最优+1、……、V最优+R-2、V最优+R-1、V最优+R
对向量V最优的之后和之前的相邻向量的数量进行限定的参数R是预先确定的,例如在值5处。根据此配置,考虑向量V最优之后和之前的5个相邻向量。
接下来,考虑到所述更新,用以下方式来构造属于<-R,+R>的向量W最优+n·
W最优+n=V最优+n+阿尔法*f(n)*((V最优+BSru)-V最优+n)
其中:
-阿尔法为预定参数,例如等于0.1,
-并且f(n)的值取决于索引n与索引“最优”之间的距离。
例如,在优选实施例中:
f(n)=0.2*(5-n)/5
向量W最优+n(其中n的范围从-5到+5)因此被计算,并且将对应地替代词典CBK最优中的向量V最优+n
由此,因此对当前词典集合CBK1、CBK2、……、CBKW进行重新更新。
在替代性实施例中,根据图像的大小,更新的参数可以不同。实际上,如果图像较小,则有必要快速学习当前图像IGj的统计数据。
例如:
-针对属于单清晰度SD视频(代表“标清(Standard Definition)”的缩写)的图像大小(即,高低于720像素且宽低于1280像素),采用等于0.3的参数阿尔法;
-针对属于高清晰度(HD)视频的图像大小(即,高在720像素与1080像素之间并且宽在1280像素与1920像素之间或者比1280×1920像素大得多),采用等于0.2的参数阿尔法;
-针对大于HD图像大小的图像大小,采用等于0.1的参数。
以其他方式来重新更新词典当然也是可能的。例如,可以应用与优选模式下相同类型的量化向量更新。然而,在感测失真时,更新被应用于接近V最优+BSDru的向量,而非应用于词典CBK最优中的量化向量V最优的相邻向量。作为变体,更新不仅被应用于词典CBK最优中接近V最优+BSDru的向量,也应用于当前词典集合CBK1、CBK2、……、CBKW中的向量。
在前述步骤C117a)之后,在图1B中所表示的步骤C118a)的过程中选择当前图像ICj的下一个块。接下来,针对此下一个块再次实现以上所述的块编码步骤。
如果在完成前述步骤C116a)时不满足更新标准,则在前述步骤C118a)的过程中选择当前图像ICj的下一个块。接下来,针对此下一个块再次实现以上所述的块编码步骤。
在图1B中所表示的步骤C119a)的过程中,图2B的编码器CO2测试根据以上所述的编码方法已经被编码的当前块是否为当前图像ICj的最后块。
如果情况并非如此,则实施前述步骤C118a)。
如果当前块为当前图像ICj的最后块,则在图1B中所表示的步骤C120a)的过程中图2B的编码器CO2测试下一个当前图像ICj+1是否为帧内类型的图像。
在下一个当前图像ICj+1为帧内类型的情况下,在按照根据本发明的编码方法对此图像的块进行编码之前实施更新词典的步骤C117a)。
在所表示的示例中,将词典CBK最优的量化向量各自初始化到预定的对应值。
在下一个当前图像ICj+1并非帧内类型的情况下,根据图1A的编码方法直接对此图像的块进行编码并且可选地通过图1B和图1C的向量量化来进行编码。
图1C更精确地描述了在完成图1A的步骤C4时当已经验证了第一预测类型为帧间预测时如何实施向量量化。
以与第一实施例中相同的方式,对残差块Bru进行计算。这种步骤与图1A的步骤C5b)完全相同,将不再对其进行描述。
在图1C中所表示的步骤C110b)的过程中在计算残差块Bru之后,选择最优预测模式MP’最优,所述最优预测模式表示根据本发明所选择的第二类型的预测模式。这种步骤在每个方面均与图1A的步骤C6b)完全相同,将不再对其进行详细描述。
步骤C110b)由如图2B中所表示的计算软件模块或处理器CAL3_CO2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
在图1C中所表示的步骤C111b)的过程中,选择量化向量词典CBK最优,所述量化向量词典属于对编码器可用的一个或多个量化向量词典(被指示为CBK1、CBK2、……、CBKW)。这种词典预先被存储在如图2B中所表示的编码器CO2的缓冲存储器TAMP_CO2中。
根据本发明的第二实施例,所选择的词典CBK最优是与在步骤C110b)中所选择的最优预测模式MP’最优相关联的词典。
步骤C111b)由如图2B中所表示的计算软件模块或处理器CAL4_CO2来实现,所述模块由处理单元UT_CO2的微处理器μP驱动。
在图1C中所表示的步骤C112b)的过程中,选择在步骤C111b)中所选择的词典CBK最优的量化向量之一。
这种步骤与图1B的步骤C111a)完全相同,将不再对其进行详细描述。
在完成步骤C112b)时,获得最优量化向量V最优
最优量化向量V最优被认为是近似残差块Bru。与此预测相关的信息旨在被写入前述数据信号F2中。
步骤C112b)由图2B的计算软件模块或处理器CAL5_CO2来实现。
在图1C中所表示的步骤C113b)的过程中,对在完成步骤C112b)时所选择的量化向量V最优进行编码。这种步骤与图1B的步骤C112a)完全相同,将不再对其进行详细描述。在完成步骤C113b)时,获得量化向量V最优的索引IV最优
步骤C113b)由如图2B中所表示的二进制编码软件模块或处理器CB_CO2来实现。
在图1C中所表示的步骤C114b)的过程中,将同残差块Bru相关的数据与向量V最优的数据进行比较。更确切地,在此步骤的过程中,对残差块Bru与向量V最优之间的差异进行计算。
然后,在步骤C114b)结束时获得被称为二次残差块BSru的第二数据集合。
步骤C114b)由图2B的软件模块或处理器CAL6_CO2来实现。
在图1C中所表示的步骤C115b)的过程中,根据本发明对二次残差块BSru的数据进行编码。
在步骤C115b)的过程中,在子步骤C1151b)的过程中根据常规直接变换操作对二次残差块BSru进行变换,以便产生经变换的块BStu
子步骤C1151b)由图2B的软件模块或处理器MT_CO2来实现。
在步骤C115b)的过程中,进一步在图1C中所表示的子步骤C1152b)的过程中对经变换的块BStu的数据进行量化,以便产生由量化系数组成的量化块BSqu。这种量化步骤例如是标量或向量类型。
子步骤C1152b)借助于图2B的量化软件模块或处理器MQ_CO2而被执行。
以本身已知的方式,在步骤C115b)的过程中,进一步在图1C中所表示的子步骤C1153b)的过程中对块BSqu的量化系数进行编码。这种编码例如为CABAC类型的熵编码(“上下文自适应二进制算术编码”)或者算术或哈夫曼类型的熵编码。
子步骤C1153b)由图2B的编码软件模块或处理器MT_CO2来实现。
在图1C中所表示的步骤C116b)的过程中,构造包含以下各项的数据信号或流F2:
-在完成前述步骤C115b)时经编码的数据,
-在前述步骤C113b)中确定的最优量化向量V最优的索引IV最优
步骤C116b)由图2B的软件模块或处理器MCF2来实现。
自此之后,通过通信网络(未表示出)将数据信号F2传输至远程终端。所述远程终端包括在图3B中所表示的解码器DO2。
以本身已知的方式,数据信号F2进一步包括由编码器CO2编码的某些信息,如在步骤C3中应用的第一预测类型(帧间或帧内)、以及所选择的预测模式(如果需要的话)、在完成步骤C3时获得的已获得的预测子块BP最优的索引(被指示为IBP最优)、当前块Bu的分割类型(如果所述当前块已经被分割的话)、参考图像索引以及在帧间预测模式中使用的位移向量。
以本身已知的方式,在此之后对残差块BSru进行解码。然后获得经解码的残差块BSDru。然后,通过将解码残差块BSDru添加到预测块BP最优来构造解码块BDu
应当注意的是,解码块BDu与在完成用于解码图像ICj的方法时获得的解码块是相同的,这将在说明书中进一步描述。由此,使得解码块BDu可供图2B的编码器CO2使用。
在图1C中所表示的步骤C117b)的过程中,根据本发明的第二实施例,进行一个测试,所述测试在于验证是否满足用于更新词典CBK1、CBK2、……、CBKW的标准。
这种步骤与图1B的步骤C116a)完全相同,将不再对其进行详细描述。
步骤C117b)由图2B的计算软件模块或处理器CAL7_CO2来实现。
如果满足更新标准,则在图1C中所表示的步骤C118b)的过程中对词典CBK1、CBK2、……、CBKW中的至少一个词典进行更新。
步骤C118b)由图2B的计算软件模块或处理器CAL8_CO2来实现。
这种步骤与图1B的步骤C117a)完全相同,将不再对其进行详细描述。
在前述步骤C118b)之后,在图1C中所表示的步骤C119b)的过程中选择当前图像ICj的下一个块。接下来,针对此下一个块再次实现以上所述的块编码步骤。
如果在完成前述步骤C117b)时不满足更新标准,则在前述步骤C118b)的过程中选择当前图像ICj的下一个块。接下来,针对此下一个块再次实现以上所述的块编码步骤。
在图1C中所表示的步骤C120b)的过程中,图2B的编码器CO2测试根据以上所述的编码方法已经被编码的当前块是否为图像ICj的最后块。
如果情况并非如此,则实施前述步骤C119b)。
如果当前块为当前图像ICj的最后块,则在图1C中所表示的步骤C121b)的过程中,图2B的编码器CO2测试下一个当前图像ICj+1是否为帧内类型的图像。
在下一个当前图像ICj+1为帧内类型的情况下,在按照根据本发明的编码方法对此图像的块进行编码之前实施更新词典的步骤C118b)。
在所表示的示例中,将词典CBK最优的量化向量各自初始化到预定的对应值。
在下一个当前图像ICj+1并非帧内类型的情况下,根据图1A的编码方法直接对此图像的块进行编码并且可选地通过图1B和图1C的向量量化来进行编码。
解码部分的具体实施方式
现在将对本发明的第一实施例进行描述,在所述实施例中,根据本发明的解码方法用于对数据信号或流进行解码,所述数据信号或流表示能够由根据当前或未来视频解码标准中的任何一项的解码器来解码的图像或图像序列。
在此第一实施例中,例如采用软件或硬件方式通过对这种解码器进行修改来实现根据本发明的解码方法。
采用包括如图4A中所表示的步骤D1至步骤D9的算法的形式来表示根据本发明的解码方法。
根据此第一实施列,在图3A中所表示的解码设备或解码器DO1中实现根据本发明的解码方法。
如图3A中所展示的,根据本发明的此第一实施例,解码器DO1包括存储器MEM_DO1(所述存储器本身包括缓冲存储器TAMP_DO1)、配备有例如微处理器μP并且由计算机程序PG_DO1驱动的处理单元UT_DO1,所述计算机程序实现根据本发明的解码方法。在初始化时,计算机程序PG_DO1的代码指令在被处理单元UT_DO1的处理器执行之前例如被加载到RAM存储器(被指示为RAM_DO1)中。
将图4A中所表示的解码方法应用于表示固定的或者属于待解码的图像序列的待解码当前图像IGj的数据信号或流。
出于此目的,在解码器DO1处接收的并且如在完成图1A的编码方法时传递的数据信号F1中标识表示待解码的当前图像IGj的信息。
参考图4A,在步骤D1的过程中,根据在图1A的步骤C6a)或C7b)中实现的编码替代方案,在信号F1中标识分别与之前根据前述词典编辑顺序编码的块B1、B2、……、Bu、……、BS相关联的量化残差块Bq1、Bq2、……、Bqu、……BqS(1≤u≤S)。
这种标识步骤由如图3A中所表示的流分析标识软件模块或处理器MI_DO1来实现,所述模块由处理单元UT_DO1的微处理器μP驱动。
除了以上刚刚已经描述的遍历类型之外的其他遍历类型当然也是可能的并且取决于在编码时所选择的遍历顺序。
在所展示的示例中,待解码的块B1、B2、……、Bu、……、BS具有方形形状并且均包含K个像素,其中,K≥1。根据优选实施例,所述待解码的块的大小为4×4或8×8个像素。
根据其不必是块大小的倍数的图像大小,左边的最后块和底部的最后块可能不是正方形。在替代性实施例中,这些块可以例如具有矩形大小和/或彼此并不对齐。
而且,待解码的每个块可自己划分为多个子块,这些子块它们自己可以再细分。
在图4A中所表示的步骤D2的过程中,图3A的解码器DO1将第一量化块Bqu选择作为当前块,所述第一量化块包含在图1A的子步骤C63a)或C73b)过程中已经被编码的量化数据。
在图4A中所表示的步骤D3的过程中,对与当前块Bu的第一预测类型相关的并且已经被写入数据信号F1中的信息进行解码(诸如在编码时在图1A的步骤C3的过程中实现的)。出于此目的,步骤D3包括:
-确定所述当前块的第一预测类型(例如,帧内预测或帧间预测)的子步骤D31,
-确定与所述已确定的第一预测类型相关联的预测模式的子步骤D32。
在所述已确定的第一预测类型为帧内预测的情况下,所述已确定的预测模式包括至少一个预测参数,所述至少一个预测参数为从一组预定的预测方向(例如,HEVC标准中的35个方向)当中所选择的预测方向。
在所述已确定的第一预测类型为帧间预测的情况下,所述预测模式至少包括以下两个预测参数:
-运动向量的索引,所述运动向量的索引描述当前块的像素与已经被解码的并且属于除当前图像之外的图像的块的像素之间的运动,
-此另一图像的索引。
根据优选实施例:
-在子步骤D31的过程中在数据信号F1中确定的是在步骤C3中应用的第一帧间预测类型,
-在子步骤D32的过程中在数据信号F1中确定的是在此帧间预测期间所使用的运动向量的索引以及参考图像的索引。
在步骤D3的过程中在数据信号F1中还确定的是在完成步骤C3时获得的已获得的预测子块BP最优的索引(被指示为IBP最优)以及当前块Bu的分割类型(如果所述当前块已经被分割的话)。
这种解码步骤D3由图3A中所表示的解码模块MD_DO1来实现。
在图4A中所表示的步骤D4的过程中,借助于在前述步骤D3的过程中已经被解码的预测子块BP最优的索引对有待解码的当前块进行预测性解码。出于此原因,以本身已知的方式,与预测子块BP最优的已解码的索引相关联地在图3A的解码器DO1的缓冲存储器TAMP_DO1中选择相应的预测子块BP最优,所述相应的预测子块出现在预先存储在缓冲存储器TAMP_DO1中的多个候选预测子块中。候选预测子块中的每个候选预测子块为已经被解码的像素块。
步骤D4由如图3A中所表示的逆预测软件模块或处理器PRED-1_DO1来实现,所述模块由处理单元UT_DO1的微处理器μP驱动。
在图4A中所表示的步骤D5的过程中,根据本发明,对在步骤C3期间应用于当前块Bu的第一预测类型进行验证。
步骤D5由图3A中所表示的计算软件模块或处理器CAL1_DO1来实现,所述模块由处理单元UT_DO1的微处理器μP驱动。
在应用于编码的第一预测类型为帧内预测的情况下,在图4A中所表示的步骤D6a)的过程中,以常规方式对量化残差块Bqu的数据进行解码。
以本身已知的方式,在步骤D6a)的过程中,在子步骤D61a)的过程中对当前量化系数集合Bqu进行解码。
这种解码为例如CABAC类型的熵解码或者算术或哈夫曼类型的熵解码。
在完成前述子步骤D61a)时,获得与当前量化系数集合Bqu相关联的数字信息集合BDqu
这种解码子步骤D61a)由图3A中所表示的熵解码模块MD_DO1来实现。
以本身已知的方式,在步骤D6a)的过程中,进一步地在图4A中所表示的子步骤D62a)的过程中根据常规去量化操作(其是在图1A的量化子步骤C62a)期间执行的量化的逆操作)对在子步骤D61a)之后获得的数字信息进行去量化。然后,在完成子步骤D62a)时获得当前去量化系数集合BDtu。这种去量化步骤例如为标量或向量类型。
子步骤D62a)借助于如图3A中所表示的逆量化软件模块或处理器MQ-1_DO1而被执行,所述模块由处理单元UT_DO1的微处理器μP驱动。
以本身已知的方式,在步骤D6a)的过程中,进一步在图4A中所表示的子步骤D63a)的过程中对当前去量化系数集合BDtu进行变换,这种变换为逆直接变换。此变换是在图1A的子步骤C61a)中执行的变换的逆操作。在完成子步骤D63a)时,获得当前经解码的残差块BDru
子步骤D63a)由如图3A中所表示的逆变换软件模块或处理器MT-1_DO1来实现,所述模块由处理单元UT_DO1的微处理器μP驱动。
处理器MT-1_DO1能够实现逆直接变换,诸如例如DCT-1类型的逆离散余弦变换、DST-1类型的逆离散正弦变换、DWT-1类型的逆离散小波变换。
在图4A中所表示的步骤D7a)的过程中,通过将在完成前述步骤D4时获得的预测子块BP最优添加到在完成子步骤D63a)时获得的经解码的残差块BDru来重构当前块Bu。在完成步骤D7a)时,获得当前解码块BDu
步骤D7a)由图3A中所表示的软件模块或处理器CAL2_DO1来实现,所述模块由处理单元UT_DO1的微处理器μP驱动。
在被应用于编码的第一预测类型为帧间预测的情况下,根据本发明,在图4A中所表示的步骤D6b)的过程中选择与不同于所述前述第一逆预测类型的第二类型的逆预测相关联的逆预测模式。根据优选实施例,所述第二类型的逆预测为以本身已知的方式与多种预测模式相关联的帧内预测,每种预测模式由预定的预测方向来限定。在例如在HEVC标准中提出的帧内预测的情况下,存在三十五种可能的预测方向,由此总共用于确定可用于预测当前块Bu的三十五种候选预测子块。根据本发明,步骤D6b)在于从可用候选预测子块当中选择候选预测子,所述候选预测子将在完成前述第一类型的逆预测步骤D4时获得的最优预测子块BP最优与所述可用候选预测子块中的每个候选预测子块之间的失真最小化。以与在前述第一类型的逆预测的情况下相同的方式,在步骤D6b)的过程中候选预测子块中的被置于竞争状态下的每个候选预测子块是已经被解码的像素块。这种预测子块预先被存储在如图3A中所表示的解码器DO1的缓冲存储器TAMP_DO1中。
在完成步骤D6b)时,获得最优预测子块BP’最优。这种最优预测子块BP’最优则与其最优逆预测模式MP′-1 最优相关联,所述最优逆预测模式表示根据本发明所选择的第二类型的逆预测模式。
步骤D6b)由如图3A中所表示的计算软件模块或处理器CAL3_DO1来实现,所述模块由处理单元UT_DO1的微处理器μP驱动。
在图4A中所表示的步骤D7b)的过程中,根据本发明,借助于基于在步骤D6b)中所选择的逆预测模式所确定的至少一个解码参数对量化残差块Bqu的数据进行解码。
在步骤D7b)的过程中,在图4A中所表示的子步骤D71b)的过程中对当前量化系数集合Bqu进行解码。
这种解码为例如CABAC类型的熵解码或者算术或哈夫曼类型的熵解码。
在完成前述述子步骤D71b)时,获得与当前量化系数集合Bqu相关联的数字信息集合BDqu
根据本发明的一个实施例,熵解码操作D71b)被选择作为特定于在步骤D6b)中所选择的逆预测模式的解码操作。换言之,用于对块Bqu的系数进行解码的概率取决于在步骤D6b)中所选择的预测模式。例如,如果所选择的帧内逆预测模式使得可以获得低振幅的解码残差块BDru,则低振幅系数的发生概率增大。相反地,如果所选择的帧内逆预测模式使得可以获得高振幅的解码残差块BDru,则低振幅系数的发生概率降低。
这种解码子步骤D71b)由图3A中所表示的熵解码模块MD_DO1来实现。
在步骤D7b)的过程中,在图4A中所表示的子步骤D72b)的过程中根据常规去量化操作(其是在图1A的量化子步骤C72b)期间执行的量化的逆操作)对在子步骤D71b)之后获得的数字信息进行去量化。然后,在完成子步骤D72b)时获得当前去量化系数集合BDtu。这种去量化步骤例如为标量或向量类型。
根据本发明的一个实施例,作为在子步骤D71b)中执行的熵解码的替代或者结合此熵解码,将去量化操作选择作为特定于在步骤D6b)中所选择的预测模式的去量化。根据第一示例,如果所选择的帧内逆预测模式为HEVC标准的模式0、1或26,则被选择作为最适合用于此模式的是特定于HEVC标准的逆量化步骤。根据第二示例,如果所选择的帧内逆预测模式为HEVC标准的模式2至25、27至34之一,则最适合用于此模式的逆量化步骤是特定于HEVC标准的逆量化步骤的两倍。这种规定使得可以将去量化适配用于基于在步骤D4中获得的预测子块BP最优所计算的解码块BDu的比能。
子步骤D72b)借助于图3A中所表示的量化软件模块或处理器MQ-1_DO1而被执行。
在步骤D7b)的过程中,在图4A中所表示的子步骤D73b)的过程中对当前去量化系数集合BDtu进行变换,这种变换为逆直接变换。此变换是与在图1A的子步骤C71b)中执行的变换的逆操作。在完成子步骤D73b)时,获得当前解码残差块BDru
子步骤D73b)由如图3A中所表示的逆变换软件模块或处理器MT-1_DO1来实现。
根据本发明的一个实施例,作为在子步骤D71b)中执行的熵解码的选择的替代和/或在子步骤D72b)中执行的逆量化的选择的替代、或者结合这些选择中的一种选择和/或另一种选择,将直接逆变换操作选择作为特定于在步骤D6b)中所选择的第二类型的预测模式的逆变换。根据第一示例,如果所选择的帧内逆预测模式为HEVC标准的模式0或1,最适合用于此模式的逆直接变换为DST-1变换,则所选择的是所述DST-1变换。根据第二示例,如果所选择的帧内逆预测模式为HEVC标准的模式2至34之一,最适合用于此模式的逆直接变换为DCT-1变换,则所选择的是所述DCT-1变换。
在图4A中所表示的步骤D8b)的过程中,通过将在完成前述步骤D4时获得的预测子块BP最优添加到在完成子步骤D73b)时获得的解码残差块BDru来重构当前块Bu。在完成步骤D8b)时,获得当前解码块BDu
步骤D8b)由图3A中所表示的软件模块或处理器CAL2_DO1来实现。
在图4A中所表示的步骤D9的过程中,将所述解码块BDu写入解码图像IDj中。
这种步骤由如图3A中所表示的图像重构软件模块或处理器URI1来实现,所述模块由处理模块UT_DO1的微处理器μP驱动。
对于所考虑的当前图像ICj的所有待解码的块B1、B2、……,Bu、……、BS,按预定顺序(所述预定顺序例如为词典编辑顺序)来实施以上刚刚已经描述的解码步骤。
现在将参考图3B、图4B和图4C来描述本发明的第二实施例。
在此第二实施例中,每个待解码的块经受通过标量量化的解码(如参考图3A所描述的),所述通过标量量化的解码有利地与通过向量量化的解码进行组合。
根据第二实施列,在图3B中所表示的解码设备或解码器DO2中实现根据本发明的解码方法。如图3B中所展示的,这种解码设备包括包含缓冲存储器TAMP_DO2的存储器MEM_DO2、配备有例如微处理器μP并且由计算机程序PG_DO2驱动的处理单元UT_DO2,所述处理单元实现根据本发明的解码方法。在初始化时,计算机程序PG_DO2的代码指令在被处理单元UT_DO2的处理器执行之前例如被加载到RAM存储器(被指示为RAM_DO2)中。
此外,解码器DO2包括分别与图3A中所表示的解码器DO1的软件模块或处理器MI_DO1、PRED-1_DO1、CAL1_DO1、CAL3_DO1完全相同的软件模块或处理器MI_DO2、PRED-1_DO2、CAL1_DO2、CAL3_DO2。出于此原因,将不再详细描述软件模块或处理器MI_DO2、PRED-1_DO2、CAL1_DO2、CAL3_DO2。
图4B更精确地描述了在完成图4A的步骤D5时当已经验证了第一逆预测类型为帧内时如何实施向量逆量化。
参考图4B,在步骤D110a)的过程中,对在完成图1B的步骤C611a)时所选择的最优量化向量V最优的索引IV最优进行解码。
这种解码步骤D110a)由图3B的解码模块DB_DO2来实现。
在图4B中所表示的步骤D111a)的过程中,确定与已解码的索引IV最优相关联的最优量化向量V最优
步骤D111a)由如图3B中所表示的计算软件模块或处理器CAL4_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
在图4B中所表示的步骤D112a)的过程中,选择量化向量词典(被指示为CBK最优),所述量化向量词典包含在步骤D111a)中确定的量化向量V最优。这种词典属于多个可用的量化向量词典(被指示为CBK1、CBK2、……、CBKW)。这种词典预先被存储在如图3B中所表示的解码器DO2的缓冲存储器TAMP_DO2中。
步骤D112a)由如图3B中所表示的计算软件模块或处理器CAL5_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
根据本发明,以与图1B的编码步骤C110a)相对应的方式,根据以下要素中的一种要素和/或另一种要素来实现这种选择:
-其索引已经在步骤D3中被解码的预测的特性(例如,从HEVC标准的35种帧内模式当中选择的帧内模式),
-其索引IB最优已经在步骤D3中被解码的预测子块BP最优的频率特性,
-待解码的当前块Bu的大小,
-待解码的当前图像IGj的特性,诸如其大小或其能量。
在优选实施例中,W=70,也就是说:
-在当前块Bu的大小为4×4的情况下,针对在HEVC标准中所考虑的35种帧内模式中的每种帧内模式存在不同的词典,
-在当前块Bu的大小为8×8的情况下,针对在HEVC标准中所考虑的35种帧内模式中的每种帧内模式存在不同的词典。
根据此优选实施例,所选择的词典因此取决于待解码的当前块Bu的大小以及其索引已经在步骤D3中被解码的预测的模式两者。
在图4B中所表示的步骤D113a的过程中,根据本发明的第二实施例对量化残差块BSqu的数据进行解码。
在步骤D113a)的过程中,在图4B中所表示的子步骤D1131a)的过程中对当前量化系数集合BSqu进行解码。
这种解码为例如CABAC类型的熵解码或者算术或哈夫曼类型的熵解码。
在完成前述子步骤D1131a)时,获得与当前量化系数集合BSqu相关联的数字信息集合BSDqu
这种解码子步骤D1131a)由图3B中所表示的熵解码模块MD_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
在步骤D113a)的过程中,在图4B中所表示的子步骤D1132a)的过程中根据常规去量化操作(其是在图1B的量化子步骤C1142a)期间执行的量化的逆操作)对在子步骤D1131a)之后获得的数字信息进行去量化。然后,在完成子步骤D1132a)时获得当前去量化系数集合BSDtu。这种去量化子步骤例如为标量或向量类型。
子步骤D1132a)借助于图3B中所表示的量化软件模块或处理器MQ-1_DO2而被执行,所述模块由处理单元UT_DO2的微处理器μP驱动。
在步骤D113a)的过程中,在图4B中所表示的子步骤D1133a)的过程中对当前去量化系数集合BSDtu进行变换,这种变换为逆直接变换。此变换是与在图1B的子步骤C1141a)中执行的变换的逆操作。在完成子步骤D1133a)时,获得当前解码残差块BSDru
子步骤D1133a)由如图3B中所表示的逆变换软件模块或处理器MT-1_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
处理器MT-1_DO2能够实现逆直接变换,诸如例如DCT-1类型的逆离散余弦变换、DST-1类型的逆离散正弦变换、DWT-1类型的逆离散小波变换。
在图4B中所表示的步骤D114a)的过程中,根据本发明通过将以下各项添加到在完成子步骤D1133a)时获得的解码残差块BSDru来重构当前块Bu:
-最优预测子块BP最优,所述最优预测子块在完成图4A的前述步骤D4时获得,
-以及最优量化向量V最优,所述最优量化向量在完成图4B的前述步骤D111a)时获得。
在完成步骤D114a)时,获得当前解码块BDu
步骤D114a)由图3B中所表示的计算软件模块或处理器CAL2_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
在图4B中所表示的步骤D115a)的过程中,将所述解码块BDu写入解码图像IDj中。
这种步骤由如图3B中所表示的图像重构软件模块或处理器URI2来实现,所述模块由处理模块UT_DO2的微处理器μP驱动。
在图4B中所表示的步骤D116a)的过程中,进行一个测试,所述测试在于验证是否满足用于更新词典CBK1、CBK2、……、CBKW的标准。
根据第一变体,这种标准在于将解码残差块BSDru中的非零系数的数量与预定阈值进行比较。例如,如果非零系数的数量大于3,则认为满足更新标准。
根据第二变体,这种标准在于将解码残差块BSDru的编码比特率与预定阈值进行比较。例如,如果解码残差块BSDru的编码比特率大于10比特,则认为满足更新标准。
步骤D116a)由如图3B中所表示的计算软件模块或处理器CAL7_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
如果满足更新标准,则在图4B中所表示的步骤D117a)的过程中对词典CBK1、CBK2、……、CBKW中的至少一个词典进行更新。
步骤D117a)由如图3B中所表示的计算软件模块或处理器CAL8_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
步骤D117a)与诸如参考图1B在编码时所实现的更新词典的步骤C117a)完全相同,将不对此步骤进行更加详细的描述。
在前述步骤D117a)之后,在图4B中所表示的步骤D118a)的过程中选择待解码的当前图像IGj的下一个量化残差块。接下来,再次实施以上所述的对下一个量化残差块进行解码的步骤。
如果在完成前述步骤D116a)时不满足更新标准,则在前述步骤D118a)的过程中选择待解码的当前图像ICj的下一个量化残差块。接下来,再次实施以上参考图4B所述的对下一个量化残差块进行解码的步骤。
在图4B中所表示的步骤D119a)的过程中,图3B的解码器DO2测试根据以上所述的解码方法被解码的当前块是否为待解码的当前图像ICj的最后块。
如果情况并非如此,则实施前述步骤D118a)。
如果当前块为待解码的当前图像ICj的最后块,则在图4B中所表示的步骤D120a)的过程中,图3B的解码器DO2测试待解码的下一个当前图像ICj+1是否为帧内类型的图像。
在待解码的下一个当前图像ICj+1为帧内类型的情况下,在根据图4A的解码方法对此图像的块进行解码并且可选地通过图4B和图4C的逆向量量化进行解码之前,实施更新词典的步骤D117a)。
在所表示的示例中,将词典CBK最优的量化向量各自初始化到预定的对应值。
在待解码的下一个当前图像ICj+1并非帧内类型的情况下,根据图4A的解码方法直接对此图像的块进行解码并且可选地通过图4B和图4C的逆向量量化来进行解码。
对于所考虑的当前图像ICj的所有待解码的块B1、B2、……,Bu、……、BS,按预定顺序(所述预定顺序例如为词典编辑顺序)来实施以上刚刚已经描述的解码步骤。
图4C更精确地描述了在完成图4A的步骤D5时当已经验证了第一逆预测类型为帧间时如何实施向量逆量化。
参考图4C,在步骤D110b)的过程中,对在完成图1C的步骤C612b)时所选择的最优量化向量V最优的索引IV最优进行解码。
这种解码步骤D110b)由图3B的解码模块DB_DO2来实现。
在图4C中所表示的步骤D111b)的过程中,确定与解码索引IV最优相关联的最优量化向量V最优
步骤D111b)由图3B的计算软件模块或处理器CAL4_DO2来实现。
在图4C中所表示的步骤D112b)的过程中,选择最优预测模式MP’最优,所述最优预测模式表示根据本发明所选择的第二类型的逆预测模式。如之前关于图1C的编码的第二实施例已经描述的,步骤D112b)在于从可用候选预测子块当中选择候选预测子,所述候选预测子块将在完成前述第一类型的逆预测步骤D4时获得的最优预测子块BP最优与所述可用候选预测子块中的每个候选预测子块之间的失真最小化。以与在前述第一类型的预测的情况下相同的方式,在步骤D112b)的过程中候选预测子块中的被置于竞争状态下的每个候选预测子块是已经被解码的像素块。这种预测子块预先被存储在图3B的解码器DO2的缓冲存储器TAMP_DO2中。
在完成步骤D112b)时,获得最优预测子块BP’最优。这种最优预测子块BP’最优则与其最优预测模式MP’最优相关联,所述最优预测模式表示根据本发明所选择的第二类型的逆预测模式。
步骤D112b)由如图3B中所表示的计算软件模块或处理器CAL3_DO2来实现,所述模块由处理单元UT_DO2的微处理器μP驱动。
在图4C中所表示的步骤D113b)的过程中,选择量化向量词典CBK最优,所述量化向量词典属于对解码器可用的一个或多个量化向量词典(被指示为CBK1、CBK2、……、CBKW)。这种词典预先被存储在如图3B中所表示的解码器DO2的缓冲存储器TAMP_DO2中。
根据本发明的第二实施例,所选择的词典CBK最优是与在步骤D112b)中所选择的最优预测模式MP’最优相关联的词典。
步骤D113b)由图3B的计算软件模块或处理器CAL5_DO2来实现。
在图4C中所表示的步骤D114b)的过程中,根据本发明的第二实施例对量化残差块BSqu的数据进行解码。
在步骤D114b)的过程中,在图4C中所表示的子步骤D1141b)的过程中对当前量化系数集合BSqu进行解码。
这种解码为例如CABAC类型的熵解码或者算术或哈夫曼类型的熵解码。
在完成前述子步骤D1141b)时,获得与当前量化系数集合BSqu相关联的数字信息集合BSDqu
这种解码子步骤D1141b)由图3B的熵解码模块MD_DO2来实现。
在步骤D114b)的过程中,在图4C中所表示的子步骤D1142b)的过程中根据常规去量化操作(其是在图1C的量化子步骤C1152b)期间执行的量化的逆操作)对在子步骤D1141b)之后获得的数字信息进行去量化。然后,在完成子步骤D1142b)时获得当前去量化系数集合BSDtu。这种去量化子步骤例如为标量或向量类型。
子步骤D1142b)借助于图3B的量化软件模块或处理器MQ-1_DO2而被执行。
在步骤D114b)的过程中,在图4C中所表示的子步骤D1143b)的过程中对当前去量化系数集合BSDtu进行变换,这种变换为逆直接变换。此变换是在图1C的子步骤C1151b)中执行的变换的逆操作。在完成子D1143b)时,获得当前解码残差块BSDru
子步骤D1143b)由图3B的逆变换软件模块或处理器MT-1_DO2来实现。
在图4C中所表示的步骤D115b)的过程中,根据本发明通过将以下各项添加到在完成子步骤D1143b)时获得的解码残差块BSDru来重构当前块Bu:
-最优预测子块BP最优,所述最优预测子块在完成图4A的前述步骤D4时获得,
-以及最优量化向量V最优,所述最优量化向量在完成图4C的前述步骤D111b)时获得。
在完成步骤D115b)时,获得当前解码块BDu
步骤D115b)由图3B的计算软件模块或处理器CAL2_DO2来实现。
在图4C中所表示的步骤D116b)的过程中,将所述解码块BDu写入解码图像IDj中。
这种步骤由图3B的图像重构软件模块或处理器URI2来实现。
在图4C中所表示的步骤D117b)的过程中,进行一个测试,所述测试在于验证是否满足用于更新词典CBK1、CBK2、……、CBKW的标准。
步骤D117b)与图4B的更新词典的步骤D116a)完全相同,将不对此步骤进行更加详细的描述。
步骤D117b)由图3B的计算软件模块或处理器CAL7_DO2来实现。
如果满足更新标准,则在图4C中所表示的步骤D118b)的过程中对词典CBK1、CBK2、……、CBKW中的至少一个词典进行更新。
步骤D118b)由图3B的计算软件模块或处理器CAL8_DO2来实现。
步骤D118b)与图4B的更新词典的步骤D117a)完全相同,将不对此步骤进行更加详细的描述。
在前述步骤D118b)之后,在图4C中所表示的步骤D119b)的过程中选择待解码的当前图像IGj的下一个量化残差块。接下来,再次实施以上所述的对下一个量化残差块进行解码的步骤。
如果在完成前述步骤D117b)时不满足更新标准,则在前述步骤D119b)的过程中选择待解码的当前图像IGj的下一个量化残差块。接下来,再次实施以上参考图4C所述的对下一个量化残差块进行解码的步骤。
在图4C中所表示的步骤D120b)的过程中,图3B的解码器DO2测试根据以上所述的解码方法被解码的当前块是否为待解码的当前图像ICj的最后块。
如果情况并非如此,则实施前述步骤D119b)。
如果当前块为待解码的当前图像IGj的最后块,则在图4C中所表示的步骤D121b)的过程中,图3B的解码器DO2测试待解码的下一个当前图像ICj+1是否为帧内类型的图像。
在待解码的下一个当前图像ICj+1为帧内类型的情况下,在根据图4A的解码方法对此图像的块进行解码并且可选地通过图4B和图4C的逆向量量化进行解码之前,实施更新词典的步骤D118b)。
在所表示的示例中,将词典CBK最优的量化向量各自初始化到预定的对应值。
在待解码的下一个当前图像ICj+1并非帧内类型的情况下,根据图4A的解码方法直接对此图像的块进行解码并且可选地通过图4B和图4C的逆向量量化来进行解码。
对于所考虑的当前图像ICi的所有待解码的块B1、B2、……,Bu、……、BS,按预定顺序(所述预定顺序例如为词典编辑顺序)来实施以上刚刚已经描述的解码步骤。
不言而喻,仅以完全非限制性指示的方式给出了上文中已经描述的实施例,然而,并且在不脱离本发明的范围的情况下,本领域的技术人员可以容易地进行许多修改。

Claims (10)

1.一种用于对被分割成多个块的至少一个图像(ICj)进行编码的编码方法,所述方法针对有待编码的当前块(Bu)实现以下各项:
-确定(C31)所述当前块的第一预测类型,
-确定(C32)与所述第一预测类型相关联的预测模式,
-基于所述已确定的预测模式来获得预测子块(BP最优),
-对表示所述已获得的预测子块与所述当前块之间的差异的残差块(Bru)进行计算,
所述编码方法的特征在于,其包括:
-从根据不同于所述第一预测类型的第二预测类型的多种预测模式当中选择预测模式,
-借助于基于所述已选择的预测模式所确定的编码参数,对计算的所述残差块进行编码,
其中,所述已选择的预测模式是这样的预测模式,基于该预测模式从可用候选预测子块当中获得候选预测子块,所述候选预测子块将基于同所述第一预测类型相关联的所述预测模式所获得的所述预测子块、与所述可用候选预测子块中的每个候选预测子块之间的失真最小化。
2.如权利要求1所述的编码方法,其中,所述选择所述预测模式是根据基于与所述第一预测类型相关联的所述预测模式所获得的所述预测子块而实现的。
3.如权利要求1所述的编码方法,其中,所述编码参数属于包括以下各项的组:
-变换操作,
-量化向量词典,
-熵编码器,
-标量量化操作。
4.一种用于对被分割成多个块的至少一个图像(ICj)进行编码的编码设备(CO1),所述编码设备针对有待编码的当前块(Bu)包括:
-用于确定以下各项的预测装置(PRED_CO1):
·所述当前块的第一预测类型,
·与所述第一预测类型相关联的预测模式,
所述预测装置基于所述已确定的预测模式来传递预测子块(BP最优),
-用于对表示所述已传递的预测子块与所述当前块之间的差异的残差块(Bru)进行计算的装置(CAL2_CO1),
所述编码设备的特征在于,其包括:
-用于从根据不同于所述第一预测类型的第二预测类型的多种预测模式当中选择预测模式的装置(CAL3_CO1),
-用于借助于基于所述已选择的预测模式所确定的编码参数对计算的所述残差块进行编码的装置(MT_CO1,MQ_CO1,MC_CO1),
其中,所述已选择的预测模式是这样的预测模式,基于该预测模式从可用候选预测子块当中获得候选预测子块,所述候选预测子块将基于同所述第一预测类型相关联的所述预测模式所获得的所述预测子块、与所述可用候选预测子块中的每个候选预测子块之间的失真最小化。
5.一种可由计算机读取的记录介质,所述记录介质上记录有计算机程序,所述计算机程序包括当所述程序由计算机执行时用于执行如权利要求1至3中任一项所述的编码方法的步骤的程序代码指令。
6.一种用于对表示被分割成多个块的至少一个图像(ICj)的数据信号(F1)进行解码的解码方法,所述方法针对有待解码的当前块(Bu)实现以下各项:
-在所述数据信号中确定(D2)与有待解码的所述当前块相关的残差块,
-确定(D31)所述当前块的第一预测类型,
-确定(D32)与所述第一预测类型相关联的预测模式,
-基于所述已确定的预测模式来获得(D4)预测子块(BP最优),
所述解码方法的特征在于,其包括:
-从不同于所述第一预测类型的第二预测类型的多种预测模式当中选择预测模式,
-基于所述已确定的残差块、所述已获得的预测子块以及基于所述已选择的预测模式所确定的解码参数来重构所述当前块,
其中,所述已选择的预测模式是这样的预测模式,基于该预测模式从可用候选预测子块当中获得候选预测子块,所述候选预测子块将基于同所述第一预测类型相关联的所述预测模式所获得的所述预测子块、与所述可用候选预测子块中的每个候选预测子块之间的失真最小化。
7.如权利要求6所述的解码方法,其中,所述选择所述预测模式是根据基于与所述第一预测类型相关联的所述预测模式所获得的所述预测子块而实现的。
8.如权利要求6所述的解码方法,其中,所述解码参数属于包括以下各项的组:
-变换操作,
-量化向量词典,
-熵解码器,
-标量量化操作。
9.一种用于对表示被分割成多个块的至少一个图像(ICj)的数据信号(F1)进行解码的解码设备,所述解码设备针对有待解码的当前块(Bu)而包括:
-用于在所述数据信号中确定与有待解码的所述当前块相关的残差块的装置(MI_DO1),
-用于确定以下各项的预测装置(PRED-1_DO1):
·-所述当前块的第一预测类型,
·与所述第一预测类型相关联的预测模式,
所述预测装置基于所述已确定的预测模式来传递预测子块(BP最优),
所述解码设备的特征在于,其包括:
-用于从不同于所述第一预测类型的第二预测类型的多种预测模式当中选择预测模式的装置(CAL1_DO1),
-用于基于所述已确定的残差块、所述已传递的预测子块以及基于所述已选择的预测模式所确定的解码参数来重构所述当前块的装置(MD_DO1,MQ-1_DO1,MT-1_DO1,CAL2_DO1),
其中,所述已选择的预测模式是这样的预测模式,基于该预测模式从可用候选预测子块当中获得候选预测子块,所述候选预测子块将基于同所述第一预测类型相关联的所述预测模式所获得的所述预测子块、与所述可用候选预测子块中的每个候选预测子块之间的失真最小化。
10.一种可由计算机读取的记录介质,所述记录介质上记录有计算机程序,所述计算机程序包括当所述程序由计算机执行时用于执行如权利要求6至8中任一项所述的解码方法的步骤的程序代码指令。
CN201680010713.3A 2015-02-19 2016-02-18 图像编码和解码方法、编码和解码设备以及相应的计算机程序 Active CN107409216B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1551425A FR3033115A1 (fr) 2015-02-19 2015-02-19 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR1551425 2015-02-19
PCT/FR2016/050374 WO2016132075A1 (fr) 2015-02-19 2016-02-18 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants

Publications (2)

Publication Number Publication Date
CN107409216A CN107409216A (zh) 2017-11-28
CN107409216B true CN107409216B (zh) 2021-01-05

Family

ID=52829175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680010713.3A Active CN107409216B (zh) 2015-02-19 2016-02-18 图像编码和解码方法、编码和解码设备以及相应的计算机程序

Country Status (6)

Country Link
US (1) US10750168B2 (zh)
EP (1) EP3259909B1 (zh)
CN (1) CN107409216B (zh)
ES (1) ES2875586T3 (zh)
FR (1) FR3033115A1 (zh)
WO (1) WO2016132075A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11012714B1 (en) * 2020-06-23 2021-05-18 Google Llc Image coding using lexicographic coding order with floating block-partitioning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1549074A1 (en) * 2002-07-22 2005-06-29 Institute of Computing Technology Chinese Academy of Sciences A bit-rate control method and device combined with rate-distortion optimization
CN101677400A (zh) * 2008-09-19 2010-03-24 华为技术有限公司 编码、解码方法和编码器、解码器及编解码系统
CN102333220A (zh) * 2011-10-21 2012-01-25 北京大学 一种选择在变换域完成预测编码的视频编解码方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100678911B1 (ko) * 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
US9172968B2 (en) * 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1549074A1 (en) * 2002-07-22 2005-06-29 Institute of Computing Technology Chinese Academy of Sciences A bit-rate control method and device combined with rate-distortion optimization
CN101677400A (zh) * 2008-09-19 2010-03-24 华为技术有限公司 编码、解码方法和编码器、解码器及编解码系统
CN102333220A (zh) * 2011-10-21 2012-01-25 北京大学 一种选择在变换域完成预测编码的视频编解码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Improved h.264 intra coding based on bi-directional intra prediction, directional transform, and adaptive coefficient scanning;Yan Ye 等;《2008 15th IEEE International Conference on Image Processing》;20081015;全文 *

Also Published As

Publication number Publication date
US10750168B2 (en) 2020-08-18
EP3259909A1 (fr) 2017-12-27
FR3033115A1 (fr) 2016-08-26
US20180070078A1 (en) 2018-03-08
WO2016132075A1 (fr) 2016-08-25
CN107409216A (zh) 2017-11-28
EP3259909B1 (fr) 2021-03-31
ES2875586T3 (es) 2021-11-10

Similar Documents

Publication Publication Date Title
CN109997361B (zh) 用于视频译码的低复杂度符号预测
CN107333134B (zh) 图像预测解码装置、图像预测解码方法
TWI524780B (zh) 在變換單元內之多符號位元隱藏
US11350106B2 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
US11825129B2 (en) Segmentation method and method for signaling segmentation of a coding tree unit
US10911784B2 (en) Method of coding and decoding images, device for coding and decoding images and computer programmes corresponding thereto
US20160269738A1 (en) Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes
US10469872B2 (en) Video encoding and decoding device and method including a texture block prediction with a group of pixel blocks each representing a predetermined texture
JP7242571B2 (ja) 画像をエンコーディング及びデコーディングする方法、エンコーディング及びデコーディング装置、並びに、対応するコンピュータプログラム
JP6038243B2 (ja) 画像予測復号方法及び画像予測復号装置
CN107409216B (zh) 图像编码和解码方法、编码和解码设备以及相应的计算机程序
JP7233363B2 (ja) 画像パラメータをコーディング及びデコーディングする方法、画像パラメータをコーディング及びデコーディングする装置、並びに、これらに対応するコンピュータプログラム
CN111034202B (zh) 图像编码和解码方法、编码和解码设备及对应计算机程序
WO2019225344A1 (ja) 符号化装置、画像補間システム及び符号化プログラム
CN108432254B (zh) 图像编码和解码方法、装置以及计算机存储介质
US20180070109A1 (en) Encoding of images by vector quantization
JP6486528B2 (ja) 画像予測復号方法及び画像予測復号装置
WO2019225337A1 (ja) 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム及び復号プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant