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

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

Info

Publication number
CN105794208A
CN105794208A CN201480064962.1A CN201480064962A CN105794208A CN 105794208 A CN105794208 A CN 105794208A CN 201480064962 A CN201480064962 A CN 201480064962A CN 105794208 A CN105794208 A CN 105794208A
Authority
CN
China
Prior art keywords
block
computing
data
arrangement
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480064962.1A
Other languages
English (en)
Other versions
CN105794208B (zh
Inventor
P.菲利普
H.福维克
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.)
Ao Lanzhi
Orange SA
Original Assignee
Ao Lanzhi
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 Ao Lanzhi filed Critical Ao Lanzhi
Publication of CN105794208A publication Critical patent/CN105794208A/zh
Application granted granted Critical
Publication of CN105794208B publication Critical patent/CN105794208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及一种对被切割成多个块的至少一张图像(ICj)进行编码的方法。根据本发明,该编码方法针对有待编码的当前块(Bu)实现以下步骤:借助于至少一个预测子块(BP最优)对该当前块进行预测(C3),确定(C4)表示该预测子块与该当前块之差的残差数据块,根据预定标准从多个排列运算(OP0,OP1,…,OPm,…,OPK1,其中,0≤m≤K1并且0≤m*≤K1)以及多个变换运算(OT0,OT1,…,OTn,…,OTL1,其中,0≤n≤L1并且0≤n*≤L1)中选择(C5)包括排列运算(OPm*)和变换运算(OTn*)的数学运算对,将所述选择的对中的该排列运算(OPm*)应用于(C6)该确定的残差块的数据上,将所述选择的对中的该变换运算(OTn*)应用于(C7)该经排列的数据上,根据所述应用的变换运算对该数据进行编码(C9)。

Description

编码解码图像方法、编码解码图像设备及相应计算机程序
技术领域
本发明总体上涉及图像处理领域,并且更精确地涉及对数字图像和数字图像序列的编码和解码。
对数字图像的编码/解码尤其适用于来自至少一个视频序列的图像,该至少一个视频序列包括以下各项:
-来自同一相机并且彼此时间上连续的图像(2D编码/解码),
-来自沿着不同视角定向的不同相机的图像(3D编码/解码),
-相应的纹理和深度分量(3D编码/解码),
-等。
本发明以类似的方式适用于对2D或3D图像的编码/解码。
本发明可以尤其但不排他地应用在当前AVC和HEVC视频编码器中所实现的视频编码及其扩展(MVC、3D-AVC、MV-HEVC、3D-HEVC等),并且应用在相应的解码上。
背景技术
当前视频编码器(MPEG、H.264、HEVC等)使用视频序列的分块表示。图像被切割成多个块,这些块可以递归地被再次切割。然后,通过帧间图像或帧内图像预测对每个块进行编码。因此,借助于本领域技术人员已知的运动补偿法,通过空间预测(帧内预测)对一些图像进行编码,还通过时间预测(帧间预测)关于一张或多张经编解码的参考图像对其他图像进行编码。
针对每个块编码残差块,也被称为预测残差,对应于原始块减去预测。借助于数学变换运算对残差块进行变换,然后借助于(例如,标量类型的)数学量化运算对其进行量化。在量化步骤结束时获得多个系数。然后按照读取顺序对这些系数进行扫描,该读取顺序取决于已经选择的编码模式。例如,在HEVC标准中,读取顺序取决于所做出的预测并且可以按照“水平的”、“竖直的”或“对角的”顺序执行。
在上述扫描结束时,获得一维系数列表。这个列表的系数然后通过熵编码以位形式被编码,其目的在于对这些系数进行无损耗编码。
关于上述数学变换运算,块变换被使用得最多,因为其满足三个重要的标准:
-这些是块变换,因此易于彼此独立地操纵这些块,
-它们对于在频域中压缩信息是有效的,其中,比特率降低的运算起作用,
-它们借助于快速算法被实现以确保有限的算法复杂度。
在视频编码领域中,离散余弦变换(英文缩写为DCT)或者离散正弦变换(英文缩写为DST)由于其执行速度而被优选。具体地,它们以可分离成几项运算的方式被实现并且具有很好地适于在定点处理器上进行处理的实现方式。
在熵编码之后获得的这些位被包括于旨在被传输至解码器的信号或数据流中。
按照本身已知的方式,这种信号包括:
-包含在上述列表中的量化系数,
-表示所使用的编码模式的信息,具体地:
·预测模式(帧内预测、帧间预测、进行不向解码器传输信息的预测的默认预测(“跳过(skip)”));
·指定预测类型的信息(定向、参考图像等);
·块切割类型;
·变换类型,例如,DCT 4×4、DCT 8×8等。
·运动信息(需要的话);
·等。
一旦该流已经被解码器接收,那么通过逐图像地并且针对每张图像逐块地完成解码。针对每个块,读取该流中的相应元素。执行块的系数的逆量化和逆变换以产生经解码的预测残差。然后,计算对块的预测并且通过将预测添加到经解码的预测残差上来重构该块。
刚刚已经描述的常规编码/解码技术当然使得有可能改进编码性能。根据视频上下文,尤其使得有可能:
-针对用于传输图像的给定网络速率改进图像质量,
-针对之前设置的图像质量标准降低图像传输速率。
然而,这些编码性能目前不是最优的并且应当被进一步改进,具体地从将比特率/失真代价最小化或选择最佳的效率/复杂度折衷的角度来看,这些都是本领域技术人员所熟知的标准。
发明内容
本发明的目的之一是克服上述现有技术的缺点。
为此目的,本发明的一个目的涉及一种用于对被切割成多个块的至少一张图像进行编码的方法。
根据本发明的编码方法的特征在于,针对有待编码的当前块,该方法实现以下步骤:
-借助于至少一个预测子块对当前块进行预测,
-确定表示预测子块与当前块之差的残差数据块,
-根据预定标准从多个排列运算以及多个变换运算中选择包括排列运算和变换运算的数学运算对,
-将所选择的对的排列运算应用于确定的残差块的数据上,
-将所选择的对的变换运算应用于经排列的数据上,
-根据所应用的变换运算对数据进行编码。
这种安排具有通过更好地选择效率/复杂度折衷而显著地改进有待传输至解码器的数据信号的压缩性能的优点。换言之,通过编码步骤的实现方式的简化和解码中有限的复杂度两者,该编码性能优于在现有技术中所获得的编码性能。
根据一个具体实施例,该多个变换运算包含离散正弦变换。
选择DST变换有利地使得有可能优化编码性能,但是也减少了计算资源。
根据第一变体,在编码过程中从该多个可用变换运算中选择DST变换,这简化了选择变换的步骤。
根据第二变体,该多个变换运算包含单个变换运算,该单个变换运算是DST变换。这个第二变体具有优点使得该编码器不一定必须将与DST变换相关联的索引传输到解码器(当然是在解码器已经可获得索引的情况下)。因此,用信号发送编码信息的代价由此有效地降低了。
根据另一个具体实施例,预定标准是有待编码的当前块的比特率失真代价的最小化。
选择这种标准使得对排列变换对的选择最优。
根据另一个具体实施例,所选择的排列运算在于根据对所述残差块的数据进行转置的运算逐渐地移动该确定的残差块的数据。
从计算角度来看,这种类型的排列具有特别简单的优点。
上述各个实施例或特征可以被单独或者彼此组合地添加到如以上定义的编码方法的步骤中。
本发明还涉及一种对被切割成多个块的至少一张图像进行编码的设备。
这种编码设备的特征在于,针对有待编码的当前块,该设备包括:
-用于借助于至少一个预测子块对当前块进行预测的模块,
-用于确定表示预测子块与当前块之差的残差数据块的模块,
-用于根据预定标准从多个排列运算以及多个变换运算中选择包括排列运算和变换运算的数学运算对的模块,
-用于将所选择的对的排列运算应用于确定的残差块的数据上的排列模块,
-用于将所选择的对的变换运算应用于经排列的数据上的变换模块,
-用于对由变换模块传递的数据进行编码的编码模块。
这种编码设备尤其能够实现上述编码方法。
本发明还涉及一种用于对表示被切割成多个块的至少一张图像的数据信号进行解码的方法。
这种解码方法的特征在于,其针对有待解码的当前块包括以下步骤:
-在数据信号中确定表示与有待解码的当前块相关联的当前残差块的数据,
-确定有待解码的当前块的至少一个预测子块,
-确定包括变换运算和排列运算的数学运算对,
-将所确定的运算对的变换运算应用于表示当前残差块的数据上,
-将所确定的对的排列运算应用于由于应用变换运算而获得的数据上,
-借助于所确定的预测子块和来自所应用的排列运算的数据重构当前块。
根据一个具体实施例,确定数学运算对的步骤实现以下步骤:
-在数据信号中读取表示在有待解码的当前块的编码过程中选择的排列运算和变换运算对的信息,
-确定与所读取的信息相关联的对的排列运算和变换运算的逆排列运算和逆变换运算。
当将传输的排列和变换运算对以信号形式发出的数据量减少时实现这个实施例,其结果是不允许解码器自己检索在编码过程中已经选择的排列和变换运算对。
根据另一个具体实施例,确定数学运算对的步骤在于:
-将包括变换运算接着是排列运算的多个数学运算对应用于表示当前残差块的数据上,该变换和排列运算是从多个预定的变换运算以及多个预定的排列运算中选择的,
-根据所应用的多个对重构多个块,
-通过使应用于该多个重构块上的一致性标准最大化来从该多个重构块中选择重构块。
当解码器自己能够检索在编码过程中已经选择的排列和变换运算对时实现另外的这种实施例。
这个其他实施例允许信令代价比在前一个实施例中获得的信令代价降低得更多,因为在编码过程中已经选择的排列运算的索引和/或变换运算的索引不一定以在解码器处接收到的数据信号的形式被传输。
根据另一个具体实施例,该确定的或选择的变换运算是离散正弦变换。
根据另一个具体实施例,所确定的运算对的排列运算在于根据对由于应用该确定的对的变换运算而获得的数据进行转置的运算逐渐地移动这些数据。
上述各个实施例或特征可以被单独或者彼此组合地添加到如以上定义的解码方法的步骤中。
相应地,本发明还涉及一种用于对表示被切割成多个块的至少一张图像的数据信号进行解码的设备。
这种解码设备的特征在于,针对有待解码的当前块,该设备包括:
-用于在数据信号中确定表示与有待解码的当前块相关联的当前残差块的数据的模块,
-用于确定有待解码的当前块的至少一个预测子块的模块,
-用于确定包括变换运算和排列运算的数学运算对的模块,
-用于将所确定的对的变换运算应用于表示当前残差块的数据上的变换模块,
-用于将所确定的对的排列运算应用于经变换的数据上的排列模块,
-用于借助于所确定的预测子块和由排列模块传递的数据重构当前块的排列模块。
这种解码设备尤其能够实现上述解码方法。
本发明还涉及一种包括多条指令的计算机程序,当该计算机程序在计算机上执行时,这些指令用于实现根据本发明的编码方法和解码方法之一。
此程序可以使用任何编程语言,并且可以是源代码、目标代码、或在源代码与目标代码之间的中间代码的形式,如呈部分编译的形式或呈任何其他令人期望的形式。
本发明还涉及一种可由计算机读取的记录介质,在该记录介质上记录有计算机程序,这种程序包括适用于实现如以上所描述的根据本发明的编码方法或解码方法之一的指令。
本发明还涉及一种可由计算机读取的记录介质,在该记录介质上记录有计算机程序,这种程序包括适用于实现如以上所描述的根据本发明的编码方法或解码方法的指令。
该记录介质可以是能够存储程序的任何实体或设备。例如,该介质可以包括存储装置,如ROM(例如CD ROM或微电子电路ROM)、或磁记录装置(例如USB插入设备或硬盘)。
其次,该记录介质可以是可经由电缆或光缆、通过无线电或通过其他手段输送的可传输介质(如电信号或光信号)。根据本发明的程序可以具体在互联网类型的网络上被下载。
可替代地,该记录介质可以是并入该程序的集成电路,该电路适用于执行或用于执行上述编码或解码方法。
解码方法、编码设备、解码设备、计算机程序以及上述相应的记录介质至少具有与由根据本发明的编码方法所赋予的优点相同的优点。
附图说明
在阅读参照附图描述的优选实施例后,其他特征和优点将显现,在附图中:
-图1表示根据本发明的编码方法的步骤,
-图2表示根据本发明的编码设备的实施例,
-图3A表示包含在4×4的块的情况中所使用的各排列变换对的表,
-图3B和图3C表示包含在8×8的块的情况中所使用的各排列变换对的表,
-图4表示根据本发明的解码设备的实施例,
-图5表示根据本发明的解码方法的主要步骤,
-图6A表示确定在图5的解码方法中实现的排列和变换运算对的步骤的第一实施例,
-图6B表示确定在图5的解码方法中实现的排列和变换运算对的步骤的第二实施例。
具体实施方式
现在将对本发明的一个实施例进行描述,在该实施例中,根据本发明的编码方法用于根据二进制流对图像或图像序列进行编码,该二进制流与通过符合例如HEVC标准的编码获得的二进制流相近。
在本实施例中,例如采用软件或硬件通过对初始符合HEVC标准的编码器进行修改来实现根据本发明的编码方法。根据本发明的编码方法采用包括图1中所表示的步骤C1到步骤C15的算法的形式来表示。
根据本发明的实施列,根据本发明的编码方法在图2中所表示的编码设备CO中实现。
如图2所示,这种编码设备包括包含缓冲存储器MT_CO的存储器MEM_CO、配备有例如微处理器μP并且由计算机程序PG_CO控制的处理单元UT_CO,该处理单元实现根据本发明的编码方法。在初始化时,在处理单元UT_CO的处理器执行计算机程序PG_CO的代码指令之前,这些代码指令被例如加载到RAM存储器(未表示出)中。
将图1中所表示的编码方法应用到有待编码的图像序列SQ中的任何当前图像。
在图1中表示的步骤C1的过程中,以本身已知的方式将属于图像序列SQ(IC1,…,ICj,…,ICN(1≤j≤N))的当前图像ICj划分成多个给定大小的块B1,B2,…,Bu,…,BS(1≤u≤S),大小的典型值为64×64、32×32或16×16像素。这种划分步骤由图2中所表示的划分软件模块MP_CO实现,该模块由处理单元UT_CO的微处理器μP控制。
应注意的是,在本发明的含义内,术语“块”是指“编码单元”(来自英语术语)。后面的术语尤其用于HEVC标准中,例如,在文件“ITU-T建议H.265/标准ISO/IEC 23008-2”中。
具体地,这种编码单元将矩形或正方形形状(也被称为块、宏块)的像素集合或呈现其他几何形状的像素集合分组在一起。
优选地,在本发明中,有待编码的块具体地具有2的多次幂的大小,例如,4×4和8×8类型的大小。然而,本发明还更一般地应用于大小为M×M(M=16,32或64)的块。P×M和M×P块也是可用的,其中,P和M在集合2,4,8,16,32和64中取其值。
所述块B1,B2,…,Bu,…,BS旨在根据预定的其例如具有光栅扫描类型的扫描顺序被编码。这意味着这些块是一个接一个地、从左到右然后向下被编码的。
其他类型的扫描当然也是可以的。因此,可以将图像ICj切割成多个被称为切片的子图像并单独地在每张子图像上应用这种类型的切割。如以上解释的,还有可能不是逐行地而是逐列地进行编码。还有可能在一个方向上或在另一个方向上扫描行或列。
每个块可以自己进一步被划分为多个子块,这些子块它们自己可以再细分。
在图1中所表示的步骤C2的过程中,编码器CO将图像ICj的有待编码的第一块Bu(如,例如,第一块B1)选择为当前块。
在图1中所表示的步骤C3过程中,通过已知的帧内和/或帧间预测技术对当前块Bu执行预测。为此目的,根据从多个预定的预测模式中选择的预测模式关于至少一个预测子块对块Bu进行预测。
这种预测子块例如是已经被编码或者已经被编码然后被解码或未被解码的像素块。这种预测子块先存储在如在图2中表示的编码器CO的缓冲存储器MT_CO中。
在预测步骤C3结束时,在已经将所述预定预测模式置于竞争状态之后,例如通过将本领域技术人员众所周知的比特率失真标准最小化而获得最优预测子块BP最优。块BP最优被认为是近似当前块Bu。与此预测有关的信息项旨在被包括于有待传输至解码器的信号或数据流中。这类信息项尤其包括预测类型(帧间或帧内)以及所选的预测模式(如果适用的话)、当前块的划分类型(如果当前块已经被细分的话)、参考图像索引以及在已经选择帧间预测模式的情况中使用的运动向量。这些信息项由编码器CO压缩。
在图1中所表示的步骤C4的过程中,将与当前块Bu相关的数据与预测子块BP最优的数据进行比较。更确切地,在这个步骤过程中,以常规方式计算获得的预测子块BP最优与当前块Bu之差。
然后,在步骤C4结束时获得被称为残差块Bru的残差数据集合。
步骤C3和C4由图2中所表示的预测编码软件模块PRED_CO实现,该模块由处理单元UT_CO的微处理器μP控制。
在图1中所表示的步骤C5的过程中,根据预定标准从多个排列运算(OP0,OP1,…,OPm,…,OPK-1,其中,0≤m≤K-1并且0≤m*≤K-1)以及多个变换运算(OT0,OT1,…,OTn,…,OTL-1,其中,0≤n≤L-1并且0≤n*≤L-1)中选择包括排列运算(OPm*)和变换运算(OTn*)的数学运算对。该多个排列和变换运算被存储在图2中的编码器CO的专用存储器MD_CO中。
这个步骤C5是由图2中所表示的计算软件模块CAL_CO实现的,该模块由处理单元UT_CO的微处理器μP控制。
该多个变换运算OT0,OT1,…,OTn,…,OTL-1包括一个或多个1D变换。
1D变换意味着在大小为M的向量上运算的大小为M×M的离散变换。为此目的:
-第一变换运算被逐向量地应用于大小为M×M的块上,
-转置运算被应用于经变换的块上,
-第二变换运算被应用于在转置之后获得的块上,也是逐向量地。
此1D变换取决于以三角函数形式表示的基,该三角函数是离散正弦(DST)或离散余弦(DCT)变换的形式。优选地,属于该多个变换OT0,OT1,…,OTn,…,OTL-1的变换是DCT II、III和IV变换以及DST IV、VI和VII变换,这些变换在文件“DCT-II、DCT-VI和DST-VII之间的关系(Relationship between DCT-II,DCT-VI,and DST-VII transforms)”,列兹尼克(Reznik),ICASSP 2013中被描述。
其中,DCT II、III以及DST VII和IV变换针对它们使残差信号在频域中压缩的能力是特别有用的。
这种变换的大小例如为4×4、8×8等。
如以下将在说明书中描述的,作为变体,所使用的变换可以是交替的,即,第一类型的变换和第二类型的变换分别应用于当前残差块Bru的其数据已经被提前排列好了的行和列上。
根据这个变体,上述变换还可以是矩形的。针对矩形的当前残差块Bru,行变换将具有与列变换不同的大小。
应注意的是,行变换和列变换的组合可以直接应用于当前残差块Bru
在视频编码/解码领域中,考虑到使实现方式在定点处理器上是有可能的,对这些变换进行近似,即,这些实值近似为有理数。因此,这些变换不是在严格意义上被准确地检索而是以近似的形式被检索。
因此,例如,在大小为4的DST VII变换的情况中,后者可以根据下式被表达为:
其中,0≤t<4并且0≤k<4
然后获得以下4×4的系数矩阵,其中,i沿着列演变而k沿着行演变:
以上所述系数值还可以按照以下方式以分数的形式表示,这使得有效的定点实现方式成为可能:
该多个排列运算OP0,OP1,…,OPm,…,OPK-1包括一个或多个排列运算。在本发明的含义内,其示例被表示于下的排列运算以仅包含1和0的矩阵的形式被定义。在以下所表示的示例中,这种排列矩阵应用于连续系数的集合EEN上,例如,针对大小为4×4的块的16个数,具有对应的索引I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15
在以上排列运算结束时,获得排列索引I3,I2,I1,I0,I7,I6,I5,I4,I11,I10,I9,I8,I15,I14,I13,I12的集合ESO。这种排列运算具有不在图2的编码器CO中生成计算复杂度的优点,因为其仅涉及这些索引的重新定向。
更确切地,在上述步骤C5的过程中,选择有待使用的排列变换对,该排列变换对优化有待编码的当前块Bu的编码性能。可以通过若干种方式作出这种选择。
根据一个实施例,在步骤C5中所使用的预定的选择标准是本领域技术人员众所周知的比特率失真标准,该标准在于在量化之后用经量化的样本的传输代价测量失真的权重。通常,针对所考虑的排列OPm-变换OTn对,标准Jm,n被表示成以下形式:
其中:
-Lambda是管理传输率约束的拉格朗日加权算子,
-()t是转置矩阵算子,
-OT-1 n表示逆变换,
-|Xm,n|表示根据量化算子执行的Xm,n的近似,Xm,n是有待编码的当前块Bu根据所考虑的运算对OTn,OPm的变换结果。
-R()是计算传输这些经量化的值所需要的比特率的函数。
函数R可以通过对信息项进行完整编码而获得,即,通过对传输经量化且经编码的值所需要的信息项进行计数,或者通过对比特率进行估计,例如,该估计可以是基于对经量化的值的绝对值的求和计算或者是基于对被量化为零的值的计数。
在针对Jm,n获得的各值之间进行比较之后,由图2中的计算模块CAL_CO计算的最低值被保留。这个值由Jm*,n*指示并且与所考虑的排列OPm*-变换OTn*运算对相关联。
在本发明的简化实施例中,该多个排列运算包括例如两个排列OP0和OP1,而该多个变换运算包括单个变换OT0,例如,DST VII。为此目的,在上述步骤C5的过程中,仅两个比特率失真标准被计算,即:
-取决于排列OP0和变换OT0的标准J0,0
-以及取决于排列OP1和变换OT0的标准J1,0
图2中的计算模块CAL_CO对两个标准J0,0和J1,0进行比较,保留具有最低值的那个标准并且将这个值与索引m*,n*进行关联。因此,如果J0,0<J1,0,那么m*,n*=0,否则m*,n*=1。
根据上述选择步骤C5的实施例的一个变体,该变体可以在上述预测步骤C3过程中连同搜索最优预测子块B最优一起执行。更确切地,针对所考虑的每个预测模式,随着将上述比特率失真标准Jm,n最小化确定一个排列变换对。以此方式,在估计标准Jm,n的过程中,比特率信息项将预测模式的传输考虑在内。因此,所有预测/排列变换组合被评估,以保留使比特率失真标准最小化的排列变换组合。
可以通过将当前块的各种可能的大小考虑在内来进一步扩展这种变体。可以通过将比特率失真标准考虑在内、将可用的排列变换对考虑在内来决定将当前块划分成多个子块的效用。
参照图3A、图3B和图3C表示变换排列对的示例。
在图3A的示例中,表T1包含旨在应用于大小为4×4并且连续像素索引为I0至I15的当前残差块Bru上的变换排列对。
在图3B和图3C的示例中,表T2包含旨在应用于大小为8×8并且连续像素索引为I0至I63的当前残差块Bru上的变换排列对。
参照图3A,表T1包括例如28种排列(P0至P27)。表T1的被命名为“像素索引”的第一列指示在当前残差块Bru中考虑的像素索引号(在0与15之间)。跟随的列各自与特定的排列(P0至P27)相关联,排列P0被称为“标识”排列,因为其对像素索引的顺序没有影响。针对给定的列,由“像素索引”列指示的每个像素索引被由所选列中的相应值指示的像素索引号替换。
每个列(P0至P27)与根据所考虑的排列的特定的DST或DCT变换相关联,所述特定的变换在表T1的末行中被指示。
参照图3B和图3C,表T2包括例如29种排列(P0至P28)。表T2的被命名为“像素索引”的第一列指示在当前残差块Bru中考虑的像素索引号(在0与63之间)。跟随的列各自与特定的排列(P0至P28)相关联,排列P0被称为“标识”排列,因为其对像素索引的顺序没有影响。针对给定的列,由“像素索引”列指示的每个像素索引被由所选列中的相应值指示的像素索引号替换。
在图3B和图3C的示例中,每个排列与相同的DCT变换相关联。
在表T1和表T2中指示的排列是通过学习建立的。为此目的,排列源自简单的几何变换:列/行的顺序倒置、块的移动、行或列的移动。
一些排列为了其实现方式的简易性而被确定,在该意义上使得当像素间关系不被修改时所考虑的变换受些微影响,即,在排列之后,每个像素保持接近其排列之前的邻像素。例如,优选的排列是转置算子,该转置算子在预定的方向上逐渐地移动像素块的数据。设想了其他排列。
例如,在图3A中表示的表T1中:
-排列P1是像素块的镜像算子,像素索引借助于竖直对称性关于彼此反转,
-排列P4使得有可能通过转置(即,对角对称性)关于划分残差块Bru的45°角反转像素索引。
已经通过对残差块的固有属性的研究学习了各排列。根据每个像素的平均残差的发光能力,这些像素被重新排序从而使得它们与特定的变换兼容。在现有技术中已知的是,DCT适合用于对具有恒定亮度的特征曲线的残差进行编码,即,残差块的每个像素具有相对均匀的亮度。DST具有针对在块的顶部(例如,图3A中的索引I0至I3)和左部(例如,图3A中的索引I0至I12)处定位的像素中具有较低亮度的残差块的适当的特征曲线。
因此,具体地在图3A的表T1中,排列是根据在末行中指示的变换建立的。
当残差块Bru具有与相关联的变换兼容的形状时,该“标识”排列P0形成所保留的排列的一部分。另一方面,当残差块与相关联的变换兼容时,那么上述比特率失真标准Jm,n将用除了排列P0之外的排列具有更低的值。
当然,排列变换对的其他配置也是可能的并且一些配置将在说明书中被更进一步地提及。
在图1中表示的步骤C6的过程中,所选运算的所述对的排列运算OPm*被应用于当前残差块Bru的数据上,以产生经排列的块Bpu
步骤C6是由图2中所表示的排列软件模块MPER_CO实现的,该模块由处理单元UT_CO的微处理器μP控制。
在图1中表示的步骤C7的过程中,所选运算的所述对的变换运算OTn*被应用于经排列的块Bpu的数据上,以产生经变换的块Btu
步骤C7是由图2中所表示的变换软件模块MT_CO实现的,该模块由处理单元UT_CO的微处理器μP控制。
变换运算OTn*在于按照以下形式将经排列的块Bpu从空间域变换到频域:
X Bt u = B &CenterDot; ( Ax Bp u ) t
其中:
-以矩阵形式在空间域中表示当前经排列的块Bpu,
-以矩阵形式表示在变换域中获得的块,
-B和A表示来自以上呈现的族中的1D变换。
注意,变换结果还可以写成数学等效形式:
X=Sx
其中:
-X和x然后以向量的形式出现,
-S表示变换矩阵,该变换矩阵包含在x中包含的元素数的平方。矩阵S被写成1D矩阵B与A的广义乘积。换言之,矩阵S是通过构建M×M矩阵(M是1D变换的大小)形成的,通过逐块地重复矩阵A并且使这些矩阵A中的每个矩阵乘以矩阵B的项而构建的。如以下展示的,针对M=4的情况,然后获得16×16类型的矩阵S:
B0,0*A B0,1*A B0,2*A B0,3*A
B1,0*A B1,1*A B1,2*A B1,3*A
B2,0*A B2,1*A B2,2*A B2,3*A
B3,0*A B3,1*A B3,2*A B3,3*A
在优选实施例中,所述矩阵S是表示DST的矩阵。
排列运算OPm*在于按照以下所示的方式将排列应用于表示被应用于像素上的当前残差块Bru的矩阵的条目上:
关系然后被获得,
其中,Pm表示索引为x的排列矩阵,该矩阵具有像素位置反转的效果。
在图1中所表示的步骤C8过程中,根据常规量化运算(例如,像标量或向量量化)来量化变换块Btu。然后获得量化系数块Bqu。这个步骤是借助于图2中所表示的量化软件模块MQ_CO执行的,该模块由处理单元UT_CO的微处理器μP控制。
在图1中所表示的步骤C9过程中,对量化系数块Bqu的数据进行编码。在优选实施例中,所执行的编码是众所周知的算术或哈夫曼熵编码。步骤C9然后在于:
-读取与所述当前块相关联的一个或多个符号,
-将数字信息(如位)与读取的符号进行关联。
这种熵编码步骤由图2中所表示的熵编码软件模块MCE实现的,该模块由处理单元UT_CO的微处理器μP控制。熵编码模块MCE例如是CABAC(“英文是Context Adaptive Binary Arithmetic Coder(上下文自适应二进制算术编码器)”)类型。其也可以是众所周知的哈夫曼编码器。
在所述步骤C9的过程中,可选地对在上述步骤C5中保留的标准Jm*,n*的索引m*,n*进行编码。当解码器不能够检索此信息时,这个步骤是必需的。
例如,如果m*,n*必须被传输至解码器,那么其以固定长度的二进制代码表示。
例如,如果排列变换对的四个值:0、1、2、3必须用信号发送,
-值0例如与代码00相关联,
-值1例如与代码01相关联,
-值2例如与代码10相关联,
-值3例如与代码11相关联。
作为变体,索引m*,n*可以借助于可变长度的代码表示。
例如,在排列变换对的四个值:0、1、2、3有待用信号发送的情况下,
-值0例如与代码0相关联,
-值1例如与代码10相关联,
-值2例如与代码110相关联,
-值3例如与代码111相关联。
根据优选实施例,索引m*,n*的传输被分成两个指示符:
-将以上代码的第一比特用信号发送的标志位,
-以及以二进制形式指示较不可能的排列变换对的补偿语法元素。
该标志位有利地借助于算术编码器与所保留的对数字的编码分开地被编码。根据当前块的细分的大小优选地与特定的上下文一起使用CABAC编码器。因此,当标志位在给定的状态下被采用得非常频繁时(即,其成为‘0’或‘1’的概率非常高),有可能获得此标志位的显著的成本降低。
因此,根据这个优选模式:
-值0例如与被设置为0的标志位相关联,
-值1例如与被设置为1的标志位、与补数位0相关联,
-值2例如与被设置为1的标志位以及补数位10相关联,
-值3例如与被设置为1的标志位以及补数位11相关联,
根据另一个优选实施例,索引m*,n*仅借助于标志位传输。此优选模式在应用单个变换(例如,DST)的情况中以及在可以与DST组合地应用两个排列运算OP0和OP1的情况中是可应用的。然后将用一比特将在上述步骤C5中选择的排列变换对SOP0或SOP1用信号发送。举例来讲,根据给定的惯例:
-选择对SOP0是通过被设置为‘1’的一比特表示的,
-选择对SOP1是通过被设置为‘0’的一比特表示的。
在这个优选实施例中,根据当前块的细分的大小优选地与特定的上下文一起使用CABAC编码器。因此,当标志位在给定的状态下被采用得非常频繁时(即,其成为‘0’或‘1’的概率非常高),有可能获得此标志位的显著的成本降低。
在可以选择多于两个的排列变换对的情况下,将使用固定或可变长度的代码。
根据另一个可能的实施例,在步骤C9的过程中,对索引m*,n*的值执行部分编码。如将在本说明书中更进一步描述的,当解码器自己能够检索索引m*,n*的所有或部分时,这种实施例是可能的。
作为变体,这个其他实施例还可以与在较早前描述的优选实施例中实现的信号发送相组合。
举例来讲,根据给定的特定配置:
-在应用单个变换S(例如,DST)的情况中以及在与DST组合地应用排列运算OP0的情况中,然后将通过被设置为‘0’的一比特将在上述步骤C5中选择的排列变换对SOP0用信号发送,
-在应用单个变换S(例如,DST)的情况中以及在可以与DST组合地应用多个排列运算的情况中,然后将通过被设置为‘1’的一比特将在上述步骤C5中选择的排列变换对信号发送。
在编码步骤C9结束时,然后传递包含量化系数块Bqu的经编码的数据集合以及可选地经编码的索引m*,n*的全部或一部分的信号或数据流F。这种流然后经由通信网络(未示出)传输到远程终端。该远程终端包括图4中所表示的解码器DO。以本身已知的方式,流F进一步包括由编码器CO编码的某些信息项,如预测类型(帧间或帧内)以及所选择的预测模式(如果合适的话)、块的划分类型(如果块已经被划分的话)、参考图像索引以及在帧间预测模式中使用的运动向量。
在图1中所表示的步骤C10过程中,根据常规去量化操作来对块Bqu进行去量化,该去量化操作是在步骤C8中执行的量化的逆运算。然后,获得去量化系数块BDtu
这个去量化步骤是由图2中所表示的逆量化软件模块MQ-1_CO执行的,所述模块由处理单元UT_CO的微处理器μP控制。
在图1中表示的步骤C11的过程中,变换运算OT-1 n*、逆变换运算OTn*被应用于去量化系数块BDtu的数据上,以产生经解码的排列块BDpu
步骤C11是由图2中所表示的变换软件模块MT-1_CO实现的,该模块由处理单元UT_CO的微处理器μP控制。
在图1中表示的步骤C12的过程中,排列运算OP-1 m*、逆排列运算OPm*被应用于经解码的排列块BDpu的数据上,以产生经解码的残差块BDru
步骤C12是由图2中所表示的排列软件模块MPER- 1_CO实现的,该模块由处理单元UT_CO的微处理器μP控制。
在图1中所表示的步骤C13的过程中,通过将在上述步骤C3中获得的预测子块BP最优添加至经解码的残差块BDru中来重构经解码的块BDu。应注意的是,这个最后的块与在用于对图像ICj进行解码的方法结束时获得的经解码的块是相同的,这将在说明书中更进一步描述。经解码的块BDu然后存储在图2的缓冲存储器MT_CO中,以便被编码器CO用作下一个有待编码的块的预测子块。
这个步骤是由图2中所表示的逆预测编码软件模块PRED-1_CO执行的,该模块由处理单元UT_CO的微处理器μP控制。
在图1中表示的步骤C14的过程中,编码器CO测试刚刚被编码的当前块Bu是否是图像ICj的最后块。
如果当前块是图像ICj的最后块,那么在图1中表示的步骤C15的过程中,该编码方法被终止。
如果情况并非如此,那么根据上述光栅扫描顺序重复选择有待编码的下一个块的步骤C2,然后针对这下一个选择的块重复步骤C3至C14。
针对所考虑的当前图像ICj的所有的有待解码的块B1、B2、…、Bu、…、BS来实现以上刚刚描述的编码步骤。
排列变换对的具体配置
排列变换对的其他可能的配置现在将借助于附加的示例于以下被提及。
根据一个实施例(尤其是与图3A至图3C有关),而不是使用以上呈现的排列和变换集合,假设这个集合被限制了。
因此,例如,针对大小为4×4的块,根据排列变换对的数量的各种折衷被提供在下面。
为此目的,确定1+Y模式,该模式定义了有待使用的不同的排列变换对的数量。
针对Y=0,1+0模式定义了包括一个变换和一个“标识”排列P0的对。
针对Y>0,1+Y模式定义了由多个变换与多个排列的组合形成的多个对。
举例来讲:
-针对Y=1,1+1模式是定义了两个可能的变换和排列对的模式,其中,提供两种不同的变换:由一个“标识”排列P0与一个DST变换形成的一个对以及由一个“标识”排列P0与一个DCT变换形成的另一个对,
-针对Y=2,1+2模式是定义了三个可能的变换和排列对的模式,其中,提供两种不同的变换和三种不同的排列P0、P1、P2以便构建以下三个排列变换对:P0-DST、P1-DST、P2-DCT。
上述1+0、1+1和1+2模式提供各种复杂度折衷,用于减少有待使用的变换的数量,由此在编码过程中减少有待测试的对的数量以选择最佳的排列变换对。
因此,在1+1模式中,在图1中所表示的选择步骤C5的过程中,根据比特率失真标准Jm,n仅需要对DCT和DST变换进行比较,因为仅提供单个可能的排列。
在1+2模式中,在上述选择步骤C5的过程中,仅需要对三个比特率失真标准进行比较,因为在这种模式中存在三个排列变换对。
在排列变换对的数量受限的情况中,还可以减少排列的存储。
根据在编码器CO中可用的排列变换对的数量与根据块的大小的折衷的集合表示如下。
例如,P0+dst模式(即,纯粹的dst方法)被置于与基于其他变换(如DCT)的排列变换对集合的竞争状态中。
针对大小为4×4的块的排列变换对的数量
针对大小为8×8的块的排列变换对的数量
因此,通过为编码器CO配备多个不同的排列变换对有效地改进了对当前块的编码。
还有可能将排列变换对的大小进行组合。例如,可以通过保留针对4×4块的1+2模式以及针对8×8块的1+8模式而实现复杂度与质量的非常好的折衷。编码器CO然后通过使比特率失真标准最小化从所提供的那些变换中选择最佳的4×4变换,针对8×8的大小同样如此。当选择当前块的划分时,可以作出组合选择。举例来讲,以下用其在降低针对给定图像质量的传输率方面的相关联的性能呈现了下面的组合:
组合 4×4模式 8×8模式 性能
0 1+2 P0+dct -0.76%
1 1+4 P0+dct -0.78%
2 1+8 P0+dct -0.86%
3 1+16 P0+dct -0.80%
4 1+2 1+2 -0.72%
5 1+2 1+4 -0.78%
6 1+2 1+8 -1.09%
7 1+2 1+16 -0.92%
8 P0+dst 1+2 -0.10%
9 P0+dst 1+4 -0.24%
10 P0+dst 1+8 -0.37%
11 P0+dst 1+16 -0.41%
具体地,使用针对4×4块的1+2模式以及针对8×8块的1+8模式借助于组合6获得1.09%的比特率下降。此比特率下降在视频编码中相当显著,尤其是针对具有低复杂度的技术。
在图2中的编码器CO不需要传输标准Jm*,n*的全部索引m*,n*的情况下,如以下所表示的获得增加的编码性能:
4×4模式 性能
1+2 -4.36%
1+4 -6.13%
1+8 -8.28%
1+16 -10.35%
解码部分的详细说明
现在将描述根据本发明的解码方法的一个实施例,在该实施例中,在软件或硬件中通过对初始符合HEVC标准的解码器的修改来实现该解码方法。根据本发明的解码方法采用包括图5中所表示的步骤D1到步骤D12的算法的形式来表示。
如图4所示,根据本发明的这个实施例的解码器DO包括包含缓冲存储器MT_DO的存储器MEM_DO、配备有例如微处理器μP并且由计算机程序PG_DO控制的处理单元UT_DO,该处理单元实现根据本发明的解码方法。在初始化时,在处理单元UT_DO的处理器执行计算机程序PG_DO的代码指令之前,这些代码指令被加载到例如RAM存储器中。
将图5中所表示的解码方法应用到有待解码的图像序列SQ中的任何当前图像。
为此目的,在解码器处接收的信号或数据流F(如由于图1的编码方法传递的)中对表示有待解码的当前图像ICj的信息项进行标识。
参照图5,在步骤D1的过程中,根据图1中的编码方法,根据上述光栅扫描在与之前编码的块B1,B2,…,Bu,…,BS相关联的所述流F中对量化残差Bq1,Bq2,…,Bqu,…BqS(1≤u≤S)进行标识。
这个标识步骤是由图4中所表示的流分析标识模块MI_DO实现的,所述模块由处理单元UT_DO的微处理器μP控制。
所述量化残差Bq1,Bq2,…,Bqu,…,BqS旨在根据例如顺序的预定扫描顺序被解码,即,所述残差旨在一个接一个地根据它们已经被编码的光栅扫描顺序被解码。
除了以上刚刚已经描述的扫描类型之外的扫描类型当然也是可以的并且取决于在编码过程中选择的扫描顺序,以上已经提及了其示例。
优选地,在本发明中,有待解码的块具体地具有其为2的多次幂的大小,例如,4×4和8×8。然而,本发明还更一般地应用于大小为M×M(M=16,32或64)的块。P×M和M×P块也是可用的,其中,P和M在集合2,4,8,16,32和64中取其值。
每个块可以自己进一步被划分为多个子块,这些子块它们自己可以再细分。
在图5中所表示的步骤D2的过程中,图4中的解码器DO将第一量化残差块Bqu选择作为当前块。
在图5中所表示的步骤D3过程中,通过已知的帧内和/或帧间预测技术对有待解码的当前块Bu执行预测。为此目的,根据从多个预定的预测模式中选择的预测模式关于至少一个预测子块对有待解码的块Bu进行预测。
具体地,在图2的编码器CO已经将所选的预测模式用信号发送至图4的解码器DO的情况下,直接在流F中读取此模式。
这种预测子块例如是已经被编码或者还未被编码的像素块。这种预测子块先存储在如在图4中表示的解码器DO的缓冲存储器MT_DO中。
在预测步骤D3结束时,获得符合所选择的预测模式的最优预测子块BP最优。块BP最优近似于有待解码的当前块Bu。与此预测相关的信息项在数据流F中被读取。这类信息项尤其包括预测类型(帧间或帧内)、当前块的划分类型(如果当前块已经被划分的话)、参考图像索引以及在已经选择帧间预测模式的情况中使用的运动向量。这些信息项稍后将以常规方式被解码。
步骤D3由图4中所表示的预测解码软件模块PRED_DO实现,该模块由处理单元UT_DO的微处理器μP控制。
在图5中所表示的步骤D4的过程中,对量化残差块Bqu的数据进行解码,以产生经解码的量化残差块BDqu。在优选实施例中,所执行的解码是众所周知的算术或哈夫曼熵解码。步骤D4然后在于:
-读取与所述有待解码的当前块相关联的一个或多个符号,
-将数字信息(如位)与所读取的符号进行关联。
这种熵解码步骤由图4中所表示的熵解码软件模块MDE实现的,该模块由处理单元UT_DO的微处理器μP控制。熵解码模块MDE例如是CABAC型。其也可以是众所周知的哈夫曼解码器。
在图5中所表示的步骤D5过程中,根据常规去量化操作来对量化残差块Bqu进行去量化,该去量化操作是在图1中的步骤C7中执行的量化运算的逆运算。然后,获得经解码的去量化块BDtu
这个去量化步骤是由图4中所表示的逆量化软件模块MQ-1_DO执行的,所述模块由处理单元UT_DO的微处理器μP控制。
在图5中表示的步骤D6的过程中,确定包括分别为变换OTn*和排列OPm*运算的逆运算的变换运算OT-1 n*和排列运算OP-1 m*的数学运算对,所述对符合在图1的上述选择步骤C5中保留的预定标准Jm*,n*
这个步骤D6是由图4中所表示的确定软件模块MDT_DO实现的,该模块由处理单元UT_DO的微处理器μP控制。
如在图6A中表示的,在保留于上述步骤C5中的标准Jm*,n*的索引m*,n*由于图1中的编码步骤C9已经以其全部内容在流F中被传输的情况下,确定步骤D6在于:
-在图6A中表示的子步骤D610的过程中,读取在数据信号F中的这个索引以检索与所读取的索引相关联的排列OPm*和变换OTn*运算对,
-在图6A中表示的子步骤D611的过程中,确定与所读取的索引相关联的该对的排列OPm*和变换OTn*运算的逆排列OP-1 m*和逆变换OT-1 n*运算。
当图4的解码器DO自己不能够检索全部索引m*,n*时,这些步骤是必要的。
子步骤D610和D611是由图4中表示的软件子模块SMDT1_DO实现的。
在所述步骤D6的过程中,索引m*,n*被解码。
更确切地,例如,解码器DO读取用于检索与标准Jm*,n*相关联的排列变换对的值并且将相应的逆排列逆变换与其进行关联的固定长度的二进制代码。
例如,在已经结合上述步骤C9进行描述的情况中,其中,排列变换对的四个值:0、1、2、3有可能在流F中用信号发送。
-如果解码器DO读取代码00,则将值0分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取代码01,则将值1分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取代码10,则将值2分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取代码11,则将值3分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对。
在已经结合上述步骤C9进行描述的变体中,借助于可变长度的代码表示旨在由解码器DO读取的索引m*,n*。
例如,在已经结合上述步骤C9进行描述的情况中,其中,排列变换对的四个值:0、1、2、3有可能在流F中用信号发送。
-如果解码器DO读取代码0,则将值0分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取代码10,则将值1分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取代码110,则将值2分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取代码111,则将值3分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对。
根据结合上述步骤C9描述的优选实施例,旨在由解码器DO读取的索引m*,n*包括两个指示符:
-将与在编码过程中选择的排列变换对OPm*,OTn*相关联的代码的第一比特用信号发送的标志位,以及
-以二进制形式指示较不可能的排列变换对的补偿语法元素。
例如,在已经结合上述步骤C9进行描述的情况中,其中,排列变换对的四个值:0、1、2、3有可能在流F中用信号发送。
-如果解码器DO读取标志位‘0’,则将值0分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取标志位‘1’和二进制补数位‘0’,则将值1分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取标志位‘1’和二进制补数位‘10’,则将值2分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对,
-如果解码器DO读取标志位‘1’和二进制补数位‘11’,则将值3分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对。
根据结合上述步骤C9描述的另一个优选实施例,旨在由解码器DO读取的索引m*,n*仅由一个标志位组成。这个另外的优选模式在编码过程中应用单个变换(例如,DST)的情况中以及在有可能与DST组合地应用两个排列运算OP0和OP1的情况中是可应用的。
为此目的,
-如果解码器DO读取被设置为‘1’的比特,则将此比特的值分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对SOP0
-如果解码器DO读取被设置为‘0’的比特,则将此比特的值分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对SOP1
在多于两个的排列变换对有可能在流F中用信号发送的情况中,解码器DO适用于读取固定或可变长度的代码。
根据结合上述步骤C9描述的另一个可能的实施例,索引m*,n*不在流F中以信号的形式被发送或者索引m*,n*的仅一部分在流F中以信号的形式被发送。
如在图6B中表示的,在保留于上述步骤C5中的标准Jm*,n*的索引m*,n*由于图1中的编码步骤C9已经还未在流F中被传输的情况下,确定步骤D6在于:
-在图6B中所表示的子步骤D620的过程中,将包括变换运算接着是排列运算的多个数学运算对应用于表示经解码的量化块BDtu的数据上,所述变换和排列运算分别是从多个预定的变换运算(OT-1 0,OT-1 1,…,OT-1 n,…,OT-1 L-1,其中,0≤n≤L-1)以及多个预定的排列运算(OP-1 0,OP-1 1,…,OP-1 m,…,OP-1 K-1,其中,0≤m≤K-1)中选择的,其在图4的解码器DO的存储器MT_DO中可用。
-在图6B中所表示的子步骤D621的过程中,根据应用的所述多个对重构多个块,
-在图6B中所表示的子步骤D622的过程中,通过使应用于该多个重构块上的一致性标准最大化来从该多个重构块中选择重构块。
在子步骤D622结束时,与重构块相关联的变换和排列运算对然后被标识。
当图4的解码器DO自己不能够检索全部索引m*,n*时,实现这些子步骤D620至D622。
这些子步骤是由图4中表示的软件子模块SMDT2_DO实现的。
上述一致性标准在于测量所考虑的重构块的像素关于其邻像素的一致性。一致性测量可以是通过计算差的绝对值之和对重构块的像素与其邻像素之间的连续性的测量。
举例来讲,根据给定的另一个具体配置以及已经结合上述步骤C9描述的配置:
-在单个变换(例如,DST)有可能应用于编码或解码过程的情况中以及在排列运算OP0与DST组合应用的情况中,如果解码器DO读取被设置为‘0’的比特,则将此比特的值分配给在编码过程中已经与标准Jm*,n*进行关联的排列变换对SOP0
-在单个变换(例如,DST)有可能被应用的情况中以及在多个排列运算可以与DST组合应用的情况中,如果解码器DO读取被设置为‘1’的比特,则将此比特的值分配给可能被应用于解码过程中的多个可能的排列变换对,并且借助于一致性测量自己推导出哪个对已经实际上被用信号发送出去了。
该多个逆排列运算OP-1 0,OP-1 1,…,OP-1 m,…,OP-1 K-1对应于其示例已经在该编码方法的以上描述中被例举的该多个排列运算OP0,OP1,…,OPm,…,OPK-1的逆运算。
该多个变换运算OT-1 0,OT-1 1,…,OT-1 n,…,OT-1 L-1对应于其示例已经在该编码方法的以上描述中被例举的该多个变换运算OT0,OT1,…,OTn,…,OTL-1的逆运算。在图5中表示的步骤D7的过程中,变换运算OT-1 n*、逆变换运算OTn*被应用于去量化系数块BDtu的数据上,以产生经解码的排列块BDpu
步骤D7是由图4中所表示的变换软件模块MT-1_DO实现的,该模块由处理单元UT_DO的微处理器μP控制。
在图5中表示的步骤D8的过程中,排列运算OP-1 m*、逆排列运算OPm*被应用于经解码的排列块BDpu的数据上,以产生经解码的残差块BDru
步骤D8是由图4中所表示的排列软件模块MPER-1_DO实现的,该模块由处理单元UT_DO的微处理器μP控制。
在图5中所表示的步骤D9的过程中,通过将在步骤D3中获得的预测子块BP最优添加至经解码的当前残差块BDru来重构当前块Bu
所述步骤D9是由图4中所表示的逆预测软件模块PRED-1_DO实现的,该模块由处理单元UT_DO的微处理器μP控制。
然后获得经解码的块BDu并且将其存储在图4的缓冲存储器MT_DO中,以便由解码器DO用作下一个有待解码的块的预测子块。
在图5中所表示的步骤D10的过程中,所述经解码的块BDu被写到当前经解码的图像IDCj中。这个步骤是由图4中所表示的图像重构软件模块URI实现的,所述模块由处理模块UT_DO的微处理器μP控制。
在图5中所表示的步骤D11的过程中,解码器DO测试刚刚被解码的当前块BDu是否是包含在流F中的最后块。
如果是这种情况,那么在图5中所表示的步骤D12的过程中,该解码方法被终止。
如果情况并非如此,那么在步骤D2的过程中,根据上述光栅扫描顺序执行对后面有待解码的残差块的选择。
针对所考虑的当前图像ICj的所有的有待解码的块B1、B2、…、Bu、…、BS来实现以上刚刚描述的解码步骤。
不言而喻,仅指示性地并且决非限制性地给出了以上已经描述的实施例,然而,并且在不脱离本发明的范围的情况下,本领域的技术人员可以容易地进行许多修改。
因此,根据本发明的编码和/或解码方法还可以应用于具有不同可能大小(如,例如,16×16和32×32)的当前块,而不是应用于大小为4×4或8×8的当前块。

Claims (13)

1.一种用于对被切割成多个块的至少一张图像(ICj)进行编码的方法,其特征在于,针对有待编码的当前块(Bu),该方法包括以下步骤:
-借助于至少一个预测子块(BP最优)对该当前块进行预测(C3),
-确定(C4)表示该预测子块与该当前块之差的残差数据块,
-根据预定标准从多个排列运算(OP0,OP1,…,OPm,…,OPK-1,其中,0≤m≤K-1并且0≤m*≤K-1)以及多个变换运算(OT0,OT1,…,OTn,…,OTL-1,其中,0≤n≤L-1并且0≤n*≤L-1)中选择(C5)包括排列运算(OPm*)和变换运算(OTn*)的数学运算对,
-将所述选择的对中的该排列运算(OPm*)应用于(C6)该确定的残差块的数据上,
-将所述选择的对中的该变换运算(OTn*)应用于(C7)该经排列的数据上,
-根据所述应用的变换运算对该数据进行编码(C9)。
2.如权利要求1所述的编码方法,其中,所述多个变换运算(OT0,OT1,…,OTn,…,OTL-1)包含离散正弦变换。
3.如权利要求1或权利要求2所述的编码方法,其中,所述预定标准是有待编码的该当前块的比特率失真代价的最小化。
4.如权利要求1至3中任一项所述的编码方法,其中,所选择的排列运算在于根据对所述残差块的数据进行转置的运算逐渐地移动该确定的残差块的数据。
5.一种用于对被切割成多个块的至少一张图像(ICj)进行编码的设备(CO),该设备针对有待编码的当前块包括:
-用于借助于至少一个预测子块(BP最优)对该当前块进行预测的装置(PRED_CO),
-用于确定表示该预测子块与该当前块之差的残差数据块的装置(PRED_CO),
-用于根据预定标准从多个排列运算(OP0,OP1,…,OPm,…,OPK-1,其中,0≤m≤K-1并且0≤m*≤K-1)以及多个变换运算(OT0,OT1,…,OTn,…,OTL-1,其中,0≤n≤L-1并且0≤n*≤L-1)中选择包括排列运算(OPm*)和变换运算(OTn*)的数学运算对的装置(CAL_CO),
-用于将所述选择的对中的该排列运算(OPm*)应用于该确定的残差块的数据上的排列装置(MPER_CO),
-将所述选择的对中的该变换运算(OTn*)应用于该经排列的数据上的变换装置(MT_CO),
-用于对由所述变换装置(MT_CO)传递的数据进行编码的编码装置(MCE)。
6.一种包括多条程序代码指令的计算机程序,当所述程序在计算机上执行时,这些程序代码指令用于执行如权利要求1至4中任一项所述的编码方法的步骤。
7.一种用于对表示被切割成多个块的至少一张图像(ICj)的数据信号(F)进行解码的方法,其特征在于,该方法针对有待解码的当前块(Bu)包括以下步骤:
-在所述数据信号中确定(D1)表示与有待解码的该当前块相关联的当前残差块的数据,
-确定(D3)有待解码的该当前块的至少一个预测子块(BP最优),
-确定(D6)包括变换运算(OT-1 n*)和排列运算(OP-1 m*)的数学运算对,
-将所述确定的运算对中的该变换运算(OT-1 n*)应用于表示当前残差块的该数据上(D7),
-将所述确定的对中的该排列运算(OP-1 m*)应用于由于应用所述变换运算而获得的数据上(D8),
-借助于所述确定的预测子块和来自所应用的排列运算的该数据重构(D9)该当前块(Bu)。
8.如权利要求7所述的解码方法,其中,所述确定(D6)所述数学运算对的步骤实现以下步骤:
-在所述数据信号中读取(D610)表示在有待解码的该当前块的编码过程中选择的排列运算和变换运算对的信息,
-确定(D611)与所读取的信息相关联的该对中的该排列运算和该变换运算的逆排列运算和逆变换运算。
9.如权利要求7所述的解码方法,其中,所述确定(D6)所述数学运算对的步骤在于:
-将包括变换运算接着是排列运算的多个数学运算对应用于(D620)表示该当前残差块的所述数据上,所述变换和排列运算是从多个预定的变换运算(OT-1 0,OT-1 1,…,OT-1 n,…,OT-1 L-1,其中,0≤n≤L-1)以及多个预定的排列运算(OP-1 0,OP-1 1,…,OP-1 m,…,OP-1K-1,其中,0≤m≤K-1)中选择的,
-根据所应用的所述多个对重构(D621)多个块,
-通过使应用于该多个重构块上的一致性标准最大化来从该多个重构块中选择(D622)重构块。
10.如在权利要求8或权利要求9中所述的解码方法,其中,所述确定的或选择的变换运算是离散正弦变换。
11.如权利要求7至10中任一项所述的解码方法,其中,所述确定的运算对中的该排列运算在于根据对由于应用该确定的对中的该变换运算而获得的所述数据进行转置的运算逐渐地移动所获得的所述数据。
12.一种用于对表示被切割成多个块的至少一张图像(ICj)的数据信号(F)进行解码的设备(DO),该设备针对有待解码的当前块包括:
-用于在所述数据信号中确定表示与有待解码的该当前块相关联的当前残差块的数据的装置(MI_DO),
-用于确定有待解码的该当前块的至少一个预测子块(BP最优)的装置(PRED_DO),
-用于确定包括变换运算(OT-1 n*)和排列运算(OP-1 m*)的数学运算对的装置(MDT_DO),
-用于将所述确定的对中的该变换运算(OT-1 n*)应用于表示该当前残差块的该数据上的装置(MT-1_DO),
-用于将所述确定的对中的该排列运算(OP-1 m*)应用于该经变换的数据上的排列装置(MPER-1_DO),
-用于借助于所述确定的预测子块和由所述排列装置(MPER-1_DO)传递的该数据重构该当前块(Bu)的预测装置(PRED-1_DO)。
13.一种包括多条指令的计算机程序,当所述解码方法在计算机上执行时,这些指令用于实现如权利要求7至11中任一项所述的解码方法。
CN201480064962.1A 2013-11-29 2014-11-27 编码解码图像方法、编码解码图像设备及相应计算机可读介质 Active CN105794208B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1361822A FR3014278A1 (fr) 2013-11-29 2013-11-29 Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR1361822 2013-11-29
PCT/FR2014/053069 WO2015079179A1 (fr) 2013-11-29 2014-11-27 Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants

Publications (2)

Publication Number Publication Date
CN105794208A true CN105794208A (zh) 2016-07-20
CN105794208B CN105794208B (zh) 2019-02-22

Family

ID=50729526

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480064962.1A Active CN105794208B (zh) 2013-11-29 2014-11-27 编码解码图像方法、编码解码图像设备及相应计算机可读介质

Country Status (8)

Country Link
US (2) US10616586B2 (zh)
EP (1) EP3075155B1 (zh)
KR (2) KR102391402B1 (zh)
CN (1) CN105794208B (zh)
BR (1) BR112016011972B1 (zh)
ES (1) ES2721023T3 (zh)
FR (1) FR3014278A1 (zh)
WO (1) WO2015079179A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111034202A (zh) * 2017-07-05 2020-04-17 奥兰治 图像编码和解码方法、编码和解码设备及对应计算机程序

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015172337A1 (en) * 2014-05-14 2015-11-19 Mediatek Singapore Pte. Ltd. Alternative transforms for data compression
FR3038196A1 (fr) * 2015-06-29 2016-12-30 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
FR3040578A1 (fr) * 2015-08-31 2017-03-03 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
FR3044507A1 (fr) * 2015-11-30 2017-06-02 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2899744A1 (fr) * 2006-04-07 2007-10-12 France Telecom Procede et dispositif de codage et de decodage d'une image, notamment d'une sequence d'images video, signal correspondant et produit programme d'ordinateur
CN103096068A (zh) * 2011-11-04 2013-05-08 吴秀美 产生量化块的方法
CN103141101A (zh) * 2010-09-30 2013-06-05 富士通株式会社 动态图像加密装置、动态图像加密方法、动态图像加密用计算机程序、动态图像解密装置、动态图像解密方法及动态图像解密用计算机程序

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376280B2 (en) * 2002-07-14 2008-05-20 Apple Inc Video encoding and decoding
US7496196B2 (en) * 2004-06-30 2009-02-24 Intel Corporation Method apparatus and system of performing one or more encryption and/or decryption operations
US8115804B2 (en) * 2006-01-12 2012-02-14 Lg Electronics Inc. Processing multiview video
KR101675116B1 (ko) * 2009-08-06 2016-11-10 삼성전자 주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP5656575B2 (ja) 2010-11-11 2015-01-21 三菱電機株式会社 画像符号化装置
US10257520B2 (en) * 2012-06-26 2019-04-09 Velos Media, Llc Modified coding for transform skipping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2899744A1 (fr) * 2006-04-07 2007-10-12 France Telecom Procede et dispositif de codage et de decodage d'une image, notamment d'une sequence d'images video, signal correspondant et produit programme d'ordinateur
CN103141101A (zh) * 2010-09-30 2013-06-05 富士通株式会社 动态图像加密装置、动态图像加密方法、动态图像加密用计算机程序、动态图像解密装置、动态图像解密方法及动态图像解密用计算机程序
CN103096068A (zh) * 2011-11-04 2013-05-08 吴秀美 产生量化块的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ICHIGAYA A ET AL: "CE7.5: Performance analysis of adaptive DCT/DST selection", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111034202A (zh) * 2017-07-05 2020-04-17 奥兰治 图像编码和解码方法、编码和解码设备及对应计算机程序
CN111034202B (zh) * 2017-07-05 2023-08-22 奥兰治 图像编码和解码方法、编码和解码设备及对应计算机程序

Also Published As

Publication number Publication date
CN105794208B (zh) 2019-02-22
BR112016011972B1 (pt) 2023-03-21
BR112016011972A2 (zh) 2017-08-08
US11350106B2 (en) 2022-05-31
KR20160091392A (ko) 2016-08-02
US20160309158A1 (en) 2016-10-20
EP3075155A1 (fr) 2016-10-05
EP3075155B1 (fr) 2019-02-06
KR102279101B1 (ko) 2021-07-16
US20200195933A1 (en) 2020-06-18
KR20210090738A (ko) 2021-07-20
WO2015079179A1 (fr) 2015-06-04
ES2721023T3 (es) 2019-07-26
US10616586B2 (en) 2020-04-07
FR3014278A1 (fr) 2015-06-05
KR102391402B1 (ko) 2022-04-26

Similar Documents

Publication Publication Date Title
CN110024393A (zh) 用于视频译码的低复杂度符号预测
CN105723709B (zh) 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序
CN103797800B (zh) 推导参考模式值以及编码和解码表示预测模式的信息
CN105681794B (zh) 运动图像解码装置以及运动图像解码方法
CN104735454B (zh) 通过使用大变换单元对图像进行编码和解码的方法和设备
TWI496438B (zh) Image coding apparatus, method and program, and image decoding apparatus, method and program
CN108141605A (zh) 帧内块复制合并模式及不可用帧内块复制参考区域的填充
CN107787582A (zh) 使用用于自适应加权预测的语法信令对图像进行编码或解码的方法和设备
CN101836455A (zh) 用于处理视频信号的方法和装置
CN108702517A (zh) 使用优化的紧凑多遍变换的高效变换编码
CN101828405A (zh) 图像编码装置、图像解码装置、图像编码方法以及图像解码方法
CN105794208A (zh) 编码解码图像方法、编码解码图像设备及相应计算机程序
CN104704826B (zh) 两步量化和编码方法和装置
CN108028945A (zh) 通过使用单例系数更新执行变换的设备和方法
CN105745928A (zh) 用于对图像进行编码和解码的方法、用于对图像进行编码和解码的设备以及相应的计算机程序
CN103262539A (zh) 运动图像编码装置、运动图像解码装置、运动图像编码方法以及运动图像解码方法
CN107925757A (zh) 对图像进行编码和解码的方法、用于对图像进行编码和解码的设备及其相应的计算机程序
CN106576166A (zh) 图像编码和解码方法、图像编码和解码设备以及相应的计算机程序
CN109845259A (zh) 编码和解码图像参数的方法、编码和解码图像参数的设备及其相应的计算机程序
EP2938077B1 (en) Motion video predict coding method, motion video predict coding device, motion video predict coding program, motion video predict decoding method, motion video predict decoding device and motion video predict decoding program
CN104769945A (zh) 编码和解码图像的方法、编码和解码装置、以及与其对应的计算机程序
WO2012128209A1 (ja) 画像符号化装置、画像復号装置、プログラムおよび符号化データ
CN107343391A (zh) 通过向量量化对图像进行编码
CN107409216A (zh) 图像编码和解码方法、编码和解码设备以及相应的计算机程序
CN108432254A (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
GR01 Patent grant
GR01 Patent grant