CN102598670B - 参考多个帧对图像进行编码/解码的方法和设备 - Google Patents

参考多个帧对图像进行编码/解码的方法和设备 Download PDF

Info

Publication number
CN102598670B
CN102598670B CN201080049348.XA CN201080049348A CN102598670B CN 102598670 B CN102598670 B CN 102598670B CN 201080049348 A CN201080049348 A CN 201080049348A CN 102598670 B CN102598670 B CN 102598670B
Authority
CN
China
Prior art keywords
frame
current block
block
motion vector
coding unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201080049348.XA
Other languages
English (en)
Other versions
CN102598670A (zh
Inventor
李泰美
闵正惠
韩宇镇
李善一
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN102598670A publication Critical patent/CN102598670A/zh
Application granted granted Critical
Publication of CN102598670B publication Critical patent/CN102598670B/zh
Expired - Fee Related 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

提供了用于对图像进行编码和解码的方法和设备。对图像进行编码的方法包括:通过对先前编码的帧进行修改来产生参考帧;基于包括先前编码的帧和参考帧的组来对当前帧的当前块进行编码,其中,在对当前块进行编码的步骤中,参考包括在所述组中的第一帧被视为与参考包括在所述组中的任何其他帧相同。

Description

参考多个帧对图像进行编码/解码的方法和设备
技术领域
示例性实施例涉及用于对图像进行编码和解码的方法和设备,更具体地讲,涉及用于参考多个帧对图像进行编码和解码的方法和设备。
背景技术
在图像压缩方法(诸如运动图像专家组(MPEG-1)、MPEG-2、MPEG-4H.264/MPEG-4先进视频编码(AVC)等)中,图像被划分为具有预定大小的块以对所述图像进行编码,并通过使用帧间预测或帧内预测对每个块进行预测编码。
帧间预测包括在至少一个参考帧中搜索与当前块相同或相似的块,估计当前块的运动,对像素值以及作为估计运动的结果而产生的运动矢量进行编码,并将所述运动数量和所述像素值插入比特流。
发明内容
解决方案
一个或多个示例性实施例提供了用于对图像进行编码的方法和设备,用于对图像进行解码的方法和设备以及存储用于执行所述方法的计算机可读程序的计算机可读记录介质。
有益效果
根据本发明,可在不产生开销的情况下,使用多个参考帧来对图像进行编码。
附图说明
通过参照附图对示例性实施例进行详细描述,上述和/或其他方面将会变得更加清楚,其中:
图1是根据示例性实施例的用于对图像进行编码的设备的框图;
图2是根据示例性实施例的用于对图像进行解码的设备的框图;
图3示出根据示例性实施例的分层编码单元;
图4是根据示例性实施例的基于编码单元的图像编码器的框图;
图5是根据示例性实施例的基于编码单元的图像解码器的框图;
图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元;
图7示出根据示例性实施例的编码单元和变换单元;
图8a至图8d示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状;
图9a是根据另一示例性实施例的用于对图像进行编码的设备的框图;
图9b是根据示例性实施例的图像编码器的框图;
图10示出根据示例性实施例的参考帧;
图11a至图11d示出根据一个或多个示例性实施例的当前块以及与当前块邻近的先前编码的块;
图12示出根据示例性实施例的参考帧的参考索引组;
图13示出根据示例性实施例的去块滤波方法;
图14是根据示例性实施例的对图像进行编码的方法的流程图;
图15a是根据另一示例性实施例的用于对图像进行解码的设备的框图;
图15b是根据示例性实施例的图像解码器的框图;
图16是根据示例性实施例的对图像进行解码的方法的流程图。
最佳实施方式
根据示例性实施例的一方面,提供了一种对图像进行编码的方法,所述方法包括:通过对先前编码的帧进行修改来产生参考帧;基于包括先前编码的帧和参考帧的组来对当前块进行编码,其中,在当前块被编码时,参考包括在所述组中的第一帧被视为与参考包括在所述组中的任何其他帧相同。
第一帧可以是参考帧或先前编码的帧。
对当前块进行编码的步骤可包括:通过搜索第一帧来估计当前块的运动矢量;在与当前块邻近的至少一个先前编码的块中,基于参考包括在所述组中的帧的块的运动矢量来预测当前块的运动矢量;基于预测的结果对当前块的运动矢量进行编码。
预测运动矢量的步骤可包括:在与当前块邻近的至少一个先前编码的块中,基于参考包括在所述组中的帧的多个块的运动矢量的中值来预测当前块的运动矢量。
对当前块进行编码的步骤可包括:基于运动矢量对当前块进行预测编码。
对当前块进行编码的步骤可包括:确定当前块和与当前块邻近的块两者是否参考包括在所述组中的一个或多个帧;基于确定的结果设置用于去块滤波的边界强度(Bs);基于边界强度(Bs)对当前块和与当前块邻近的块之间的边界进行去块滤波。
设置边界强度(Bs)的步骤可包括:作为确定的结果,在当前块和与当前块邻近的块两者参考包括在所述组中的帧时,认为当前块和与当前块邻近的块参考相同帧,并相应地设置用于去块滤波的边界强度(Bs)。
可通过以下处理中的至少一种来产生参考帧:将预定值与先前编码的帧的像素值相加和将先前解码的帧与预定值相乘。
可通过对先前编码的帧执行几何变换来产生参考帧,其中,所述几何变换包括齐次变换、透视变换和仿射变换中的至少一种。
根据另一示例性实施例的一方面,提供了一种对图像进行解码的方法,所述方法包括:通过对先前解码的帧进行修改来产生参考帧;基于包括先前解码的帧和参考帧的组来对当前块进行解码,其中,在当前块被解码时,参考包括在所述组中的第一帧被视为与参考包括在所述组中的任何其他帧相同。
根据另一示例性实施例的一方面,提供了一种用于对图像进行编码的设备,所述设备包括:参考帧产生器,通过对先前编码的帧进行修改来产生参考帧;图像编码器,基于包括先前编码的帧和参考帧的组来对当前块进行编码,其中,在当前块被编码时,参考包括在所述组中的第一帧被视为与参考包括在所述组中的任何其他帧相同。
根据另一示例性实施例的一方面,提供了一种用于对图像进行解码的设备,所述设备包括:参考帧产生器,通过对先前解码的帧进行修改来产生参考帧;图像解码器,基于包括先前解码的帧和参考帧的组来对当前块进行解码,其中,在当前块被解码时,参考包括在所述组中的第一帧被视为与参考包括在所述组中的任何其他帧相同。
根据另一示例性实施例的一方面,提供了一种存储计算机可读程序的计算机可读记录介质,所述计算机可读程序用于执行编码方法或解码方法。
根据另一示例性实施例的一方面,提供了一种用于对图像进行解码的方法,所述方法包括:基于包括多个参考帧的组来对当前帧的当前块进行解码,其中,在对当前块进行解码的步骤中,参考所述多个参考帧中的第一帧被视为与参考所述多个参考帧中的任何其他帧相同。
根据另一示例性实施例的一方面,提供了一种用于对图像进行编码的方法,所述方法包括:基于包括多个参考帧的组来对当前帧的当前块进行编码,其中,在对当前块进行编码的步骤中,参考所述多个参考帧中的第一帧被视为与参考所述多个参考帧中的任何其他帧相同。
具体实施方式
现在将参照附图更充分地描述示例性实施例,在附图中,相同的参考标号始终表示相同的元件。当诸如“...中的至少一个”的表述在一列元件之后时,所述表述修饰整列元件而不是修饰各个列出的元件。在本说明书,“图像”可表示视频的静止图像或运动图像(即,视频本身)。
图1是根据示例性实施例的用于对图像进行编码的设备100的框图。参照图1,设备100包括最大编码单元划分器110、编码深度确定器120、图像数据编码器130以及编码信息编码器140。
最大编码单元划分器110可基于作为最大大小的编码单元的最大编码单元对当前帧或像条进行划分。也就是说,最大编码单元划分器110可对当前帧或像条进行划分以获得至少一个最大编码单元。
根据示例性实施例,可使用最大编码单元和深度来表示编码单元。如上所述,最大编码单元指示在当前帧的编码单元中具有最大大小的编码单元,深度指示分层地减小编码单元的程度。随着深度增大,编码单元可从最大编码单元减小到最小编码单元,其中,最大编码单元的深度被定义为最小深度,最小编码单元的深度被定义为最大深度。由于编码单元的大小随着深度增大从最大编码单元减小,所以第k深度的子编码单元可包括多个第(k+n)深度的子编码单元(其中,k和n是等于或大于1的整数)。
根据将被编码的帧的大小的增加,按照更大的编码单元对图像进行编码可引起更高的图像压缩率。然而,如果更大的编码单元被固定,则可能不能通过反映连续改变的图像特性来有效地对图像进行编码。
例如,当对诸如海洋或天空的平滑区域进行编码时,编码单元越大,压缩率会增加得越多。然而,当对诸如人或建筑物的复杂区域进行编码时,编码单元越小,压缩率会增加得越多。
因此,根据示例性实施例,可针对每个帧或像条设置具有不同大小的最大图像编码单元以及具有不同大小的不同最大深度。由于最大深度表示编码单元可减小的最大次数,所以包括在最大图像编码单元中的每个最小编码单元的大小可根据最大深度被可变地设置。
编码深度确定器120确定最大深度。可基于率失真(RD)代价的计算来确定最大深度。可针对每个帧或像条或针对每个最大编码单元不同地确定最大深度。确定的最大深度被提供给编码信息编码器140,根据最大编码单元的图像数据被提供给图像数据编码器130。
最大深度表示可包括在最大编码单元中的具有最小大小的编码单元,即,最小编码单元。也就是说,可根据不同的深度将最大编码单元划分为具有不同大小的子编码单元,以下将参照图8a至图8d对此进行详细描述。另外,包括在最大编码单元中的具有不同大小的子编码单元可基于具有不同大小的处理单元被预测或变换。也就是说,设备100可基于具有多种大小和多种形状的处理单元执行多个处理操作以进行图像编码。为了对图像数据进行编码,执行诸如预测、变换和熵编码中的至少一种的处理操作,其中,可针对每个操作使用具有相同大小的处理单元,或者可针对每个操作使用具有不同大小的处理单元。
例如,设备100可选择与编码单元不同的处理单元,以预测预定编码单元。
当编码单元的大小是2N×2N(其中,N是正整数)时,用于预测的处理单元可以是2N×2N、2N×N、N×2N和N×N。也就是说,可基于具有以下形状的处理单元来执行运动预测:按照所述形状,编码单元的高度和宽度中的至少一个被二等分。在下文中,作为预测的基础的处理单元被定义为预测单元。
预测模式可以是帧内模式、帧间模式和跳过模式中的至少一个,并且可仅对具有特定大小或形状的预测单元执行特定的预测模式。例如,可仅对大小为2N×2N和N×N的预测单元(其形状为方形)执行帧内模式。此外,可仅对大小为2N×2N的预测单元执行跳过模式。如果在编码单元中存在多个预测单元,则在对每个预测单元执行预测之后,可选择具有最小编码误差的预测模式。
根据另一示例性实施例,设备100可基于具有与编码单元不同大小的处理单元对图像数据执行频率变换。对于编码单元中的频率变换,可基于大小等于或小于编码单元的大小的处理单元来执行频率变换。在下文中,作为频率变换的基础的处理单元被定义为变换单元。频率变换可以是离散余弦变换(DCT)或KarhunenLoeve变换(KLT)。
编码深度确定器120可使用基于拉格朗日乘子的RD最优化来确定包括在最大编码单元中的子编码单元。也就是说,编码深度确定器120可确定从最大编码单元划分的多个子编码单元具有哪种形状,其中,所述多个子编码单元根据子编码单元的深度而具有不同大小。图像数据编码器130通过基于由编码深度确定器120确定的划分形状对最大编码单元进行编码来输出比特流。
编码信息编码器140对关于由编码深度确定器120确定的最大编码单元的编码模式的信息编码。也就是说,编码信息编码器140通过对关于最大编码单元的划分形状的信息、关于最大深度的信息以及关于针对每个深度的子编码单元的编码模式的信息进行编码来输出比特流。关于子编码单元的编码模式的信息可包括关于子编码单元的预测单元的信息、关于每个预测单元的预测模式的信息以及关于子编码单元的变换单元的信息。
关于最大编码单元的划分形状的信息可指示每个编码单元是否被划分。例如,当最大编码单元被划分并被编码时,指示最大编码单元是否被划分的信息被编码。此外,当通过划分最大编码单元而产生的子编码单元被划分并被编码时,指示每个子编码单元是否被划分的信息被编码。指示最大编码单元是否被划分的信息以及指示子编码单元是否被划分的信息可以分别是指示最大编码单元是否被划分的标记信息和指示子编码单元是否被划分的标记信息。
由于对于每个最大编码单元存在具有不同大小的子编码单元,并且将针对每个子编码单元确定关于编码模式的信息,所以可针对一个最大编码单元确定关于至少一个编码模式的信息。
设备100可根据深度的增加,通过将最大编码单元的高度和宽度两者二等分来产生子编码单元。也就是说,当第k深度的编码单元的大小是2N×2N时,第(k+1)深度的编码单元的大小是N×N。
因此,根据示例性实施例的设备100可考虑图像特性,基于最大编码单元的大小和最大深度,确定每个最大编码单元的最佳划分形状。通过考虑图像特性来可变地调整最大编码单元的大小并通过将最大编码单元划分为不同深度的子编码单元对图像进行编码,具有各种分辨率的图像可以被更有效地编码。
图2是根据示例性实施例的用于对图像进行解码的设备200的框图。参照图2,设备200包括图像数据获取单元210、编码信息提取器220和图像数据解码器230。
图像数据获取单元210通过解析由设备200接收的比特流获取根据最大编码单元的图像数据,并将图像数据输出到图像数据解码器230。图像数据获取单元210可从当前帧或像条的头提取关于当前帧或像条的最大编码单元的信息。因此,图像数据获取单元210可按最大编码单元划分比特流,从而图像数据解码器230可根据最大编码单元来对图像数据进行解码。
编码信息提取器220通过解析由设备200接收的比特流,从当前帧的头提取关于最大编码单元、最大深度、最大编码单元的划分形状、子编码单元的编码模式的信息。关于划分形状的信息和关于编码模式的信息被提供给图像数据解码器230。
关于最大编码单元的划分形状的信息可包括关于包括在最大编码单元中的子编码单元的信息,其中,所述子编码单元根据深度具有不同大小。此外,关于划分形状的信息可包括指示每个编码单元是否被划分的信息(例如,标记信息)。
关于编码模式的信息可包括关于根据子编码单元的预测单元的信息、关于预测模式的信息以及关于变换单元的信息。
图像数据解码器230通过基于由编码信息提取器220提取的信息对每个最大编码单元的图像数据解码来恢复当前帧。
图像数据解码器230可基于关于最大编码单元的划分形状的信息对包括在最大编码单元中的子编码单元进行解码。解码处理可包括预测处理(包括帧内预测和运动补偿)以及逆变换处理。
图像数据解码器230可基于关于预测单元的信息和关于预测模式的信息执行帧内预测或帧间预测,以便预测出预测单元。图像数据解码器230还可基于关于子编码单元的变换单元的信息对每个子编码单元执行逆变换。
图3示出根据示例性实施例的分层编码单元。
参照图3,分层编码单元可包括宽度×高度为64×64、32×32、16×16、8×8和4×4等的编码单元。此外,可存在不具有方形形状的编码单元(例如,宽度×高度为64×32、32×64、32×16、16×32、16×8、8×16、8×4和4×8等的编码单元)。
参照图3,对于分辨率为1920×1080的第一图像数据310,最大编码单元的大小被设置为64×64,最大深度被设置为2。
对于分辨率为1920×1080的第二图像数据320,最大编码单元的大小被设置为64×64,最大深度被设置为3。对于分辨率为352×288的第三图像数据330,最大编码单元的大小被设置为16×16,最大深度被设置为1。
当分辨率高或者数据量大时,编码单元的最大大小可相对大,以增加压缩率并反映图像特性。因此,对于具有比第三图像数据330更高分辨率的第一图像数据310和第二图像数据320,64×64可被选为最大编码单元的大小。
最大深度指示分层编码单元中层的总数。由于第一图像数据310的最大深度为2,所以第一图像数据310的编码单元315根据深度的增加可包括较长轴大小为64的最大编码单元以及较长轴大小为32和16的子编码单元。
相比之下,由于第三图像数据330的最大深度为1,所以第三图像数据330的编码单元335根据深度的增加可包括较长轴大小为16的最大编码单元以及较长轴大小为8的编码单元。
然而,由于第二图像数据320的最大深度为3,所以第二图像数据320的编码单元325根据深度的增加可包括较长轴大小为64的最大编码单元以及较长轴大小为32、16、8和4的子编码单元。由于随着深度增加基于更小的子编码单元来对图像进行编码,所以本示例性实施例可被实施以用于对包括更多小场景的图像进行编码。
图4是根据示例性实施例的基于编码单元的图像编码器400的框图。
参照图4,帧内预测器410对当前帧405中的帧内模式的预测单元执行帧内预测,运动估计器420和运动补偿器425通过使用当前帧405以及参考帧495对帧间模式的预测单元执行帧间预测和运动补偿。
基于从帧内预测器410、运动估计器420和运动补偿器425输出的预测单元产生残差值,产生的残差值经过变换器430和量化器440被输出为量化的变换系数。
量化的变换系数经过反量化器460和逆变换器470被恢复为残差值。此外,恢复的残差值经过去块单元480和环路滤波单元490被后处理并作为参考帧495被输出。量化的变换系数经过熵编码器450可被输出为比特流455。
为了基于根据示例性实施例的编码方法执行编码,图像编码器400的组件(即,帧内预测器410、运动估计器420、运动补偿器425、变换器430、量化器440、熵编码器450、反量化器460、逆变换器470、去块单元480和环路滤波单元490)基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像编码处理。
图5是示出根据示例性实施例的基于编码单元的图像解码器500的框图。
参照图5,比特流505经过解析器510,从而将被解码的编码的图像数据和用于解码的编码信息被解析。编码的图像数据经过熵解码器520和反量化器530被输出为反量化的数据,并经过逆变换器540被恢复为残差值。通过将残差值与帧内预测器550的帧内预测结果或运动补偿器560的运动补偿结果相加,根据编码单元来恢复残差值。恢复的编码单元经过去块单元570和环路滤波单元580被用于预测下一编码单元或下一帧。
为了基于根据示例性实施例的解码方法执行解码,图像解码器500的组件(即,解析器510、熵解码器520、反量化器530、逆变换器540、帧内预测器550、运动补偿器560、去块单元570和环路滤波单元580)基于最大编码单元、根据深度的子编码单元、预测单元和变换单元执行图像解码处理。
在本示例性实施例中,帧内预测器550和运动补偿器560通过考虑最大编码单元和深度来确定子编码单元的预测单元和预测模式,并且逆变换器540通过考虑变换单元的大小来执行逆变换。
图6示出根据示例性实施例的最大编码单元、子编码单元和预测单元。
根据示例性实施例的编码设备100和解码设备200考虑到图像特性,使用分层编码单元来执行编码和解码。可根据图像特性自适应地设置最大编码单元和最大深度,或者可根据用户的需求以不同方式设置最大编码单元和最大深度。
参照图6,根据示例性实施例的示例性的分层编码单元结构600示出最大编码单元610,其中,最大编码单元610的高度和宽度为64并且最大深度为4。深度沿着分层编码单元结构600的纵轴增加,并且随着深度增加,子编码单元620到650的高度和宽度减小。最大编码单元610和子编码单元620到650的预测单元沿着分层编码单元结构600的横轴被示出。
最大编码单元610深度为0且编码单元的大小(即,高度和宽度)为64×64。深度沿着纵轴增加,并且存在大小为32×32且深度为1的子编码单元620、大小为16×16且深度为2的子编码单元630、大小为8×8且深度为3的子编码单元640以及大小为4×4且深度为4的子编码单元650。大小为4×4且深度为4的子编码单元650是最小编码单元,并且最小编码单元可被划分为预测单元,每个预测单元小于最小编码单元。
参照图6,根据每个深度沿着横轴示出预测单元的示例。也就是说,深度为0的最大编码单元610的预测单元可以是大小等于编码单元610(即,64×64)的预测单元,或者可以是大小小于编码单元610(其大小为64×64)的大小为64×32的预测单元612、大小为32×64的预测单元614或大小为32×32的预测单元616。
深度为1且大小为32×32的编码单元620的预测单元可以是大小等于编码单元620(即,32×32)的预测单元,或者可以是大小小于编码单元620(其大小为32×32)的大小为32×16的预测单元622、大小为16×32的预测单元624或大小为16×16的预测单元626。
深度为2且大小为16×16的编码单元630的预测单元可以是大小等于编码单元630(即,16×16)的预测单元,或者可以是大小小于编码单元630(其大小为16×16)的大小为16×8的预测单元632、大小为8×16的预测单元634或大小为8×8的预测单元636。
深度为3且大小为8×8的编码单元640的预测单元可以是大小等于编码单元640(即,8×8)的预测单元,或者可以是大小小于编码单元640(其大小为8×8)的大小为8×4的预测单元642、大小为4×8,的预测单元644或大小为4×4的预测单元646。
深度为4且大小为4×4的编码单元650是最小编码单元和最大深度的编码单元,编码单元650的预测单元可以是大小为4×4的预测单元650、大小为4×2的预测单元652、大小为2×4的预测单元654或大小为2×2的预测单元656。
图7示出根据示例性实施例的编码单元和变换单元。
根据示例性实施例的编码设备100和解码设备200使用最大编码单元自身来执行编码,或者使用从最大编码单元划分的等于或小于最大编码单元的子编码单元来执行编码。在编码处理中,用于频率变换的变换单元的大小被选择为不大于相应编码单元的大小。例如,参照图7,在当前编码单元710大小为64×64时,可使用大小为32×32的变换单元720来执行频率变换。
图8a至图8d示出根据示例性实施例的编码单元、预测单元和变换单元的划分形状。
图8a示出根据示例性实施例的编码单元810,图8b示出根据示例性实施例的预测单元860。
图8a示出由根据示例性实施例的编码设备100选择的用于对最大编码单元810进行编码的划分形状。设备100将最大编码单元810划分为各种形状,执行编码,并通过基于RD代价将各种划分形状的编码结果彼此进行比较来选择最佳划分形状。当确定最大编码单元810将被原样编码时,可在没有如图8a至图8d中所示划分最大编码单元810的情况下,对最大编码单元810进行编码。
参照图8a,通过将深度为0的最大编码单元810划分为深度等于或大于1的子编码单元来对最大编码单元810进行编码。也就是说,最大编码单元810被划分为四个深度为1的子编码单元,所有或部分深度为1的子编码单元被划分为深度为2的子编码单元。
在深度为1的子编码单元中位于右上方的子编码单元和位于左下方的子编码单元被划分为深度等于或大于2的子编码单元。一些深度等于或大于2的子编码单元可被划分为深度等于或大于3的子编码单元。
此外,图8b示出最大编码单元810的预测单元860的划分形状。
最大编码单元810的预测单元860可以与最大编码单元810不同地被划分。也就是说,每个子编码单元的预测单元可小于相应的子编码单元。
例如,在深度为1的子编码单元中位于右下方的子编码单元854的预测单元可小于子编码单元854。此外,深度为2的子编码单元814、816、818、828、850和852中的一些子编码单元(814、816、850和852)的预测单元可分别小于子编码单元814、816、850和852。
此外,深度为3的子编码单元822、832和848的预测单元可分别小于子编码单元822、832和848。预测单元可具有以下形状:按照所述形状,各个子编码单元沿着高度或宽度的方向被二等分,或者预测单元可具有以下形状:按照所述形状,各个子编码单元沿着高度和宽度的方向被四等分。
图8c示出根据示例性实施例的预测单元860,图8d示出根据示例性实施例的变换单元870。应该注意,图8b和图8c为了方便解释和与编码单元810和变换单元870相比较而示出相同的预测单元860。
图8c示出图8a中示出的最大编码单元810的预测单元的划分形状,图8d示出最大编码单元810的变换单元870的划分形状。
参照图8d,变换单元870的划分形状可与预测单元860不同地被设置。
例如,即使深度为1的编码单元854的预测单元被选择为具有以下形状:按照所述形状,编码单元854的高度被二等分,变换单元也可被选择为具有与编码单元854相同的大小。同样地,即使深度为2的编码单元814和850的预测单元被选择为具有以下形状:按照所述形状,编码单元814和850中的每一个的高度被二等分,变换单元也可被选择为具有与编码单元814和850中的每一个的原始大小相同的大小。
变换单元可以被选择为具有比预测单元更小的大小。例如,当深度为2的编码单元852的预测单元被选择为具有以下形状时:按照所述形状,编码单元852的宽度被二等分,变换单元可被选择为具有大小比预测单元的形状更小的以下形状:按照所述形状,编码单元852沿着高度和宽度的方向被四等分。
图9a是根据另一示例性实施例的用于对图像进行编码的设备900的框图。
参照图9a,设备900包括参考帧产生器910、图像编码器920和组信息编码器930。
参考帧产生器910产生将用于对当前块进行编码的至少一个参考帧。当前块可以是具有图8a中示出的各种大小的编码单元中的任意编码单元。
设备900参考至少一帧以对当前块进行编码。例如,当对当前块执行帧间预测时,设备900参考在当前块之前被编码的至少一帧以进行单向预测或双向预测,从而对当前块进行编码。
根据另一示例性实施例,如以下参照图10详细描述的,设备900可参考从在当前块之间编码的帧产生的帧。
图10示出根据示例性实施例的参考帧。
参照图9a和图10,设备900可产生列表0的帧(即,先于包括当前块的当前帧的参考帧)以及列表1的帧(即,晚于所述当前帧的参考帧)中的至少一个。在列表0和列表1的帧中,帧1010至1030是在当前帧之前被编码的帧。
如果作为在当前块之前被编码的帧的帧1010到帧1030是帧Ref01010、Ref11020和Ref21030,则参考帧产生器910基于帧Ref01010、Ref11020和Ref21030中的至少一个产生帧1040和帧1050(在下文中,称为帧Ref31040和帧Ref41050)中的至少一个。
在图10中,参考帧产生器910通过将帧Ref01010的像素值与预定权重相乘来产生帧Ref31040,并产生通过将预定值与帧Ref01010的像素值相加而被改进的(refined)帧Ref41050。
图10示出产生参考帧的示例性方法,然而本领域普通技术人员将容易理解:在一个或多个其他示例性实施例中,可使用除图10中示出的方法以外的各种方法来产生参考帧。例如,根据另一示例性实施例,可通过将帧Ref01010与帧Ref11020进行组合来产生参考画面。可通过将帧Ref01010的像素值与权重w(其中,w等于或大于0,且等于或小于1)相乘,将Ref1帧1020的像素值与权重1-w相乘并将两个加权的帧相加,来产生参考帧。此外,可通过对在当前帧之前编码的帧执行几何变换来产生参考帧。所述几何变换可包括齐次变换、透视变换和仿射变换中的至少一个。
参照回图9a,图像编码器920参考在当前帧之前编码的帧以及由参考帧产生器910产生的至少一帧来对当前块进行编码。
图像编码器920基于预定组(在下文中,称为参考索引组)对当前块进行编码,其中,所述预定组包括在当前帧之前编码的帧以及由参考帧产生器910产生的至少一帧中的至少一个。
更详细地,当参考相同参考索引组中包括的帧对当前块进行编码时,参考所述帧被视为相同参考。例如,如果Ref0帧1010和Ref3帧1040被包括在相同参考索引组中,则在当前块的运动矢量被编码时或者边界强度(Bs)被确定时,参考Ref3帧1040被视为与参考Ref0帧1010相同,从而对当前块进行编码。以下参照图12详细描述设置参考索引组的示例性方法。以下参照图11a至图11d详细描述根据一个或多个示例性实施例的基于参考索引组对当前块进行编码的方法。
组信息编码器930对关于由图像编码器920设置的参考索引组的信息进行编码。可对以下信息中的至少一个进行编码:指示由参考帧产生器910产生的参考帧是否被用于进行编码的信息、关于包括在参考索引组中的帧的信息、以及关于通过对在当前帧之前编码的帧进行修改来产生参考帧的方法的信息。
关于包括在参考索引组中的帧的信息可包括指示图10的帧Ref01010、Ref11020、Ref21030、Ref31040和Ref41050中的哪些帧被组合为参考索引组的信息。
关于产生参考帧的方法的信息可包括指示权重乘法、改进(refinement)和几何变换中的哪种方法被用于产生参考帧的信息。当权重乘法被用于产生参考帧时,关于参考索引组的信息可包括关于权重的信息。当改进被用于产生参考帧时,关于参考索引组的信息可包括关于在改进中使用的预定值的信息。当仿射变换被用于产生参考帧时,关于参考索引组的信息可包括关于仿射变换的参数(例如,指示二维(2D)运动的矢量、指示旋转运动的旋转角度、指示放大或缩小程度的缩放值等)的信息。
关于参考索引组的信息可被编码为序列参数、像条参数或块参数。
根据另一示例性实施例,可基于由编码侧和解码侧共享的规则来产生参考帧并设置参考索引组,而不对关于参考索引组的信息明确地进行编码。也就是说,在不对关于包括在参考索引组中的帧的信息以及关于产生参考帧的方法的信息明确地进行编码的情况下,可基于由编码侧和解码侧共享的规则来产生参考帧并设置参考索引组。
图9b是根据示例性实施例的图像编码器920的框图。
参照图9b,图像编码器920包括运动估计器921、运动矢量编码器922、运动补偿器923、帧内预测器924、图像数据产生器925和去块滤波单元926。
运动估计器921参考在当前块之前编码的帧Ref01010、Ref11020、Ref21030以及产生的帧Ref31040和Ref41050中的至少一个来估计当前块的运动矢量。运动估计器921在帧Ref01010、Ref11020、Ref21030、Ref31040和Ref41050中搜索与当前块相似的块,并根据搜索结果计算当前块的运动矢量。例如,运动估计器921可搜索相对于当前块的像素值的绝对差和(SAD)最小的块,并可计算找出的块与当前块之间的相对位置差。
运动矢量编码器922基于运动估计器921的运动估计结果对运动矢量进行编码。运动矢量编码器922对基于运动估计结果产生的运动矢量进行预测编码。
运动矢量编码器922通过将与当前块邻近的先前编码的区域中包括的块的运动矢量用作运动矢量预测因子(该运动矢量预测因子是运动矢量的预测值),来对当前块的运动矢量进行预测编码。可基于在当前块之前编码的块的运动矢量的中值来预测当前块的运动矢量,并可基于预测结果对所述运动矢量进行预测编码。
然而,在当前块参考多个帧时,被当前块参考的帧会与被与当前块邻近的先前编码的块所参考的帧不同。在这种情况下,可基于参考帧与当前块相同的块的运动矢量来估计当前块的运动矢量。以下将参照图11a至图11c对此进行详细描述。
图11a至图11d示出根据一个或多个示例性实施例的当前块以及与当前块邻近的先前编码的块。
参照图11a,运动矢量编码器922使用与当前块邻近的先前编码的区域中包括的块A、B、C和D的运动矢量以预测当前块的运动矢量。在这种情况下,块A、B、C和D的运动矢量的中值可以是当前块的运动矢量预测因子。可选择地,块A、B和C(不包括块D)的中值可以是当前块的运动矢量预测因子。
参照图11b,在当前块参考图10的帧Ref01010时,作为运动估计器921的运动估计结果,参考与当前块的参考帧相同的帧的块A的运动矢量被用作当前块的运动矢量预测因子。
参照图11c,在当前块参考参考帧Ref01010时,在与当前块邻近的块A、B、C和D中不存在与当前块参考相同帧的块。然而,根据示例性实施例,当在与当前块邻近的先前编码的块A、B、C和D中存在参考包括当前块的参考帧的组中所包括的帧的块时,可基于参考包括当前块的参考帧的组中所包括的帧的块的运动矢量来预测当前块的运动矢量。将参照图12对此进行描述。
图12示出根据示例性实施例的参考帧的参考索引组1200.
参照图12,运动矢量编码器922通过使用参考索引组1200来对当前块的运动矢量进行预测编码,其中,通过将多个参考帧组合为单个组而产生所述参考索引组1200。
在图11b中,当参考所述帧Ref31040来估计当前块的运动矢量时,与当前块邻近的块中的参考包括在参考索引组1200中的帧Ref01010的块A的运动矢量可被用作当前块的运动矢量预测因子,其中,所述参考索引组1200包括Ref3帧1040。
在图11c中,当参考所述帧Ref01010来估计当前块的运动矢量时,与当前块邻近的块中的参考包括在参考索引组1200中的帧Ref31040的块A的运动矢量可被用作当前块的运动矢量预测因子,其中,所述参考索引组1200包括帧Ref01010。
在图11d中,当参考所述帧Ref01010来估计当前块的运动矢量时,与当前块邻近的块参考包括在参考帧组1200中的参考帧。也就是说,与当前块的左侧邻近的块A参考包括在包括有帧Ref01010的组中的帧Ref01010,与当前块的上方邻近的块B参考包括在包括有帧Ref01010的组中的帧Ref41050,分别与当前块的右上方和左上方邻近的块C和块D参考包括在包括有帧Ref01010的组中的帧Ref31040。因此,如图11d中所示,当与当前块邻近的先前编码的块参考包括在包括有帧Ref01010的组中的帧时,可基于块A、B、C和D的运动矢量的中值来预测当前块的运动矢量。
在现有技术中,如果与当前块邻近的块的参考帧与当前块不同,则可能不基于与当前块邻近的块的运动矢量来预测当前块的运动矢量。然而,根据示例性实施例,多个参考帧被组合为相同的参考索引组,并且当预测当前块的运动矢量时包括在相同参考索引组中的参考帧被视为相同帧。具体地,由于帧Ref01010与基于预定参考帧产生的帧Ref31040或Ref41050相同或相似,因此基于该相似性,帧Ref01010、Ref31040和Ref41050被组合为单个参考索引组,并且帧Ref01010、Ref31040和Ref41050被用于预测当前块的运动矢量。因此,当参考帧的数量增加时,运动矢量可被有效地压缩编码。
如果忽视参考帧之间的相似性,并且当参考帧的索引不同时参考帧不被用于预测当前块的运动矢量,则运动矢量被错误地预测。因此,用于对图像进行编码的压缩率会降低。然而,根据示例性实施例,可防止压缩率的降低。
此外,如图8a中所示,在当前块是根据深度而减小的编码单元时,与当前块的左下方邻近的块的运动矢量,以及与当前块的左侧、左上方、上方和右上方邻近的块的运动矢量可被用于预测当前块。也就是说,当根据图8a中示出的编码单元执行编码时,当前块的左下方的编码单元也可在当前块之前被编码。
应理解,图12中示出的参考索引组1200是示例性的,因此,在另一示例性实施例中,帧Ref01010以及通过修改帧Ref01010而产生的帧Ref31040和Ref41050可不被组合为相同的组。例如,帧Ref01010以及帧Ref11020和Ref21030中的至少一个可被设置为单个参考索引组,而不是如图12中所示设置参考帧。
此外,可设置多个参考索引组。例如,参照图12,帧Ref01010、帧Ref31040和帧Ref41050可被组合为参考索引组1200,剩余的帧(即,帧Ref11020和帧Ref21030)可被组合为另一参考索引组。
参照回图9b,运动补偿器923基于由运动估计器921估计的运动矢量对当前块执行帧间预测。基于参考帧的块来产生预测块,其中,基于估计的运动矢量来找出所述参考帧的块。
帧内预测器924通过使用包括在与当前块邻近的先前编码的区域中的当前帧的像素值,来产生当前块的预测块。
图像数据产生器925基于运动补偿器923的帧间预测结果或帧内预测器924的帧内预测结果,对当前块进行预测编码。通过从当前块减去基于帧间预测结果或帧内预测结果产生的预测块来产生残差块。通过变换(例如,使用DCT)产生的残差块并对作为变换的结果而产生的频域系数进行量化和熵编码,来产生比特流。
量化的频域系数被解码,从而被用于对下一个块或下一帧进行编码。通过对量化的频域系数进行反量化和逆变换(例如,使用离散余弦逆变换(IDCT))来恢复残差块,并通过将恢复的残差块与预测块相加来恢复当前块。通过用于在相邻块之间进行去块的去块滤波单元926来对恢复的当前块进行去块滤波,并且所述恢复的当前块被用于对下一个块或下一帧进行编码。
如参照图13详细描述的,根据示例性实施例,去块滤波单元926可使用参考索引组1200以设置边界强度(Bs)。
图13示出根据示例性实施例的去块滤波方法。
在现有技术中,在当前块1300和与当前块邻近的邻近块1310之间的边界强度(Bs)被设置时,考虑当前块1300和邻近块1310是否参考相同帧。在当前块1300和邻近块1310参考不同帧时,由于在当前块1300和邻近块1310之间的边界上可能形成块效应(blockingartifact),因此以高边界强度(Bs)执行去块滤波。然而,在当前块1300与邻近块1310参考相同帧时,由于在所述边界可能不形成块效应,因此以低边界强度(Bs)执行去块滤波。
然而,如参照图12所描述的,根据示例性实施例,相似的帧被组合为参考索引组1200,参考包括在参考索引组1200中的帧被视为与参考包括在参考索引组1200中的其他帧相同。因此,即使当前块1300和邻近块1310参考不同帧,但如果所述不同帧包括在相同的参考索引组中,则当前块1300和邻近块1310被视为参考相同帧的块,并且边界强度(Bs)被相应设置。
例如,当参考索引组1200如图12中所示被设置时,如果当前块1300参考所述帧Ref01010,邻近块1310参考所述帧Ref31040,则由于当前块1300和邻近块1310参考包括在相同参考索引组1200中的帧,因此以低边界强度(Bs)在当前块1300和邻近块1310之间执行去块滤波。
尽管图13示出在水平边界执行去块滤波的情况,但应该理解,其他示例性实施例不限于此,例如,其他示例性实施例可使用与图13中相同或相似的方法来在垂直边界执行去块滤波。
图14是根据示例性实施例的对图像进行编码的方法的流程图。
参照图14,在操作1410,根据示例性实施例的图像编码设备通过对在当前帧之前编码的至少一帧进行修改来产生至少一帧。
在操作1420,图像编码设备基于参考索引组对当前块进行编码,其中,所述参考索引组包括以下帧中的至少一帧:在当前帧之前编码的至少一帧以及在操作1410产生的至少一帧。在当前块被编码时,参考包括在参考索引组中的第一帧被视为与参考包括在参考索引组中的其他帧相同。因此,当前块的运动矢量可被预测编码,或者用于在当前块和邻近块之间的边界进行去块滤波的边界强度(Bs)可基于参考索引组而被设置。
单个参考索引组可包括第二帧(例如,图12的帧Ref01010)以及通过修改第二帧而产生的至少一帧(例如,图12的帧Ref31040和帧Ref41050)。被参考以对当前块进行编码的第一帧可以是第二帧或通过修改第二帧而产生的帧。
如参照图10所述,产生的帧可以是通过将第二帧的像素值乘以预定权重而产生的帧、通过将预定值与第二帧的像素值相加而产生的帧、或通过对第二帧执行几何变换而产生的帧。
现在将描述根据示例性实施例的对运动矢量进行编码的方法。图像编码设备搜索第一帧以估计当前块的运动矢量。例如,图像编码设备可在第一帧中搜索具有最小SAD的块,并根据搜索的结果估计运动矢量。第一帧可以是帧Ref01010、Ref11020、Ref21030、Ref31040和Ref41050中的任意一个,其中,可搜索帧Ref01010、Ref11020、Ref21030、Ref31040和Ref41050以对当前块执行帧间预测。
此外,图像编码设备基于与当前块邻近的至少一个先前编码的块中的另一块的运动矢量来预测当前块的运动矢量,其中,所述另一块参考包括在与第一帧相同的索引组中的其他帧。当运动矢量被预测时,包括在图12的参考索引组1200中的帧Ref01010、Ref11020、Ref21030、Ref31040和Ref41050被视为相同帧。以上已参照图11a至图11d和图12描述了根据一个或多个示例性实施例的预测运动矢量的方法。
当运动矢量被预测时,根据运动矢量的预测结果对当前块的运动矢量进行编码。通过从当前块的运动矢量减去运动矢量预测因子来产生差值并对所述差值进行编码。所述差值被熵编码以产生比特流。
此外,图像编码设备可基于估计运动矢量对当前块执行运动补偿以产生当前块的预测块,并从当前块减去产生的预测块以产生残差块。通过对产生的残差块进行变换(例如,DCT)并对频域系数进行量化和熵编码,来对当前块的像素值进行编码。
现在将描述根据示例性实施例的去块滤波方法。图像编码设备确定当前块和邻近块是否参考包括在相同组中的帧。根据确定结果,用于去块滤波的边界强度(Bs)被设置。当参考第一帧对当前块进行编码,并且邻近块参考包括在与第一帧相同的组中的帧时,当前块和邻近块被视为参考相同帧的块,并且边界强度(Bs)被相应设置。根据设置的边界强度(Bs),对当前块和邻近块之间的边界执行去块滤波。此外,在操作1420,图像编码设备可对关于参考索引组的信息进行编码。以上已参照图9a的组信息编码器930描述了根据示例性实施例的编码的关于参考索引组的信息。关于参考索引组的信息可包括指定包括在参考索引组中的帧的信息。然而,应该理解,其他示例性实施例不限于此。例如,根据另一示例性实施例,当根据由编码侧和解码侧共享的规则来设置参考索引组时,可不对关于包括在参考索引组中的帧的信息进行编码。
图15a是根据另一示例性实施例的用于对图像进行解码的设备1500的框图。
参照图15a,设备1500包括组信息解码器1510、参考帧产生器1520和图像解码器1530。
组信息解码器1510对关于参考索引组的信息进行解码。可被以上参照图9a描述的根据示例性实施例的组信息编码器930编码的关于参考索引组的信息被解码。
指示由参考帧产生器910产生的帧是否被用于进行编码的信息、关于包括在参考索引组中的帧的信息以及关于通过对在当前帧之前编码的帧进行修改来产生参考帧的方法的信息可被解码。
如以上参照图9a所描述的,当关于参考索引组的信息没有包括在比特流中时,组信息解码器1510可不对关于参考索引组的信息进行解码。
参考帧产生器1520通过使用在当前帧之前解码的至少一帧来产生参考帧。如参照图10所述,可通过将先前解码的帧的像素值与预定权重相乘或者通过将预定值与先前解码的帧相加,来产生参考帧。此外,可通过对先前解码的帧执行几何变换来产生参考帧。所述几何可包括齐次变换、透视变换和仿射变换中的至少一个。
图像解码器1530基于包括以下帧中的至少一帧的参考索引组对当前块进行解码:先前解码的帧以及由参考帧产生器1520产生的至少一帧。如参照图15b详细描述的,在当前块被解码时,参考包括在参考索引组中的第一帧被视为与参考包括在参考索引组中的其他帧相同。
图15b是根据示例性实施例的图像解码器1530的框图。
参照图15b,图像解码器1530包括运动矢量解码器1531、运动补偿器1532、帧内预测器1533、图像数据解码器1534和去块滤波单元1535。
运动矢量解码器1531对当前块的运动矢量和运动矢量预测因子之间的差值进行解码。来自比特流的关于运动矢量的数据被解码。通过对关于运动矢量的数据进行熵解码来对运动矢量和运动矢量预测因子之间的差值进行解码。
运动矢量解码器1531基于与当前块邻近的先前解码的块的运动矢量来预测当前块的运动矢量。如以上参照图10、图11a至11d以及图12所描述的,可基于邻近块中参考包括有第一帧的组中所包括的帧的块的运动矢量来预测当前块的运动矢量,其中,所述第一帧是当前块的参考帧。
可通过对相同或相似的帧(例如,第二帧和通过修改第二帧产生的帧)进行组合来设置参考索引组。即使为了对邻近块进行帧间预测而参考的帧与第一帧不同,但当所述帧与第一帧包括在相同的组中时,邻近块的运动矢量可被用于预测当前块的运动矢量。如上所述,第一帧可以是第二帧或通过修改第二帧而产生的帧。
当通过预测当前块的运动矢量产生运动矢量预测因子时,运动矢量解码器1531通过将解码的运动矢量与运动矢量预测因子之间的差值与运动矢量预测因子相加来恢复当前块的运动矢量。
运动补偿器1532基于由运动矢量解码器1531恢复的当前块的运动矢量来产生当前块的预测块。根据恢复的运动矢量来搜索参考帧,并基于搜索的结果来产生预测块。
帧内预测器1533通过使用包括在与当前块邻近的先前解码的区域中的像素值来产生当前块的预测块。图像数据解码器1534通过对关于当前块的数据进行解码来恢复当前块。通过对关于当前块的数据进行熵解码和反量化来产生频域系数。通过对所述频域系数进行逆变换(例如,IDCT)来恢复像素域的残差块。
通过将恢复的残差块与由运动补偿器1532或帧内预测器1533产生的预测块相加来恢复当前块。
由图像数据解码器1534恢复的当前块通过去块滤波单元1535被去块滤波,并被用于对下一个块或下一帧进行解码。
根据示例性实施例,去块滤波单元1535可使用参考索引组以设置去块滤波的边界强度(Bs)。以上已参照图13描述了设置边界强度(Bs)的方法。
图16是根据示例性实施例的对图像进行解码的方法的流程图。
参照图16,在操作1610,根据示例性实施例的图像解码设备通过对在当前帧之前解码的至少一帧进行修改来产生参考帧。如以上参照图10所述,可通过将先前解码的帧的像素值与预定权重相乘,或者通过将预定值与先前解码的帧相加,来产生参考帧。可通过对先前解码的帧执行几何变换来产生参考帧。
当图像被编码时,如果关于参考索引组的信息被单独编码,则关于参考索引组的信息被解码并且参考帧被产生。例如,关于包括在参考索引组中的帧的信息可被解码,并且可基于关于包括在参考索引组中的帧的信息来产生参考帧。然而,如上所述,当根据由编码侧和解码侧共享的规则来设置参考索引组时,可在不对关于参考索引组的信息进行解码的情况下,根据所述规则产生参考索引组中包括的帧。
在操作1620,图像解码设备基于参考索引组来对当前块进行解码,其中,所述参考索引组包括以下帧中的至少一帧:先前解码的帧和在1610产生的至少一帧。在当前块被解码时,包括在参考索引组中的第一帧被视为与包括在所述参考索引组中的其他帧相同。因此,当前块的运动矢量被预测编码,或者用于在当前块和邻近块之间的边界进行去块滤波的边界强度(Bs)基于参考索引组被设置。
现在将描述根据示例性实施例的对运动矢量进行解码的方法。图像解码设备对当前块的运动矢量和运动矢量预测因子之间的差值进行解码。通过对关于所述差值的比特流进行熵解码来恢复所述差值。
此外,图像解码设备基于与当前块邻近的至少一个先前解码的块中的另一块的运动矢量来预测当前块的运动矢量,其中,所述另一块参考包括在与被当前块参考以执行帧间预测的块(例如,第一块)相同的组中的其他帧。如以上参照图11a至11d以及图12所描述的,基于与当前块邻近的块中的另一块的运动矢量来预测当前块的运动矢量,其中,所述另一块参考包括在以下组中的帧:所述组包括第二帧和通过修改第二帧而产生的至少一个参考帧。
当运动矢量被预测时,通过将运动矢量预测因子与当前块的运动矢量和运动矢量预测因子之间的差值相加来恢复所述运动矢量。
如以上参照图15b所描述的,图像解码设备基于参考索引组设置用于去块滤波的边界强度(Bs),并根据设置的边界强度(Bs)对当前块和与当前块邻近的块之间的边界执行去块滤波。
尽管不限于此,但可使用计算机可读记录介质中的计算机可读代码实现示例性实施例。
例如,根据示例性实施例的用于对图像进行编码的设备和用于对图像进行解码的设备可包括连接到图1、2、4、5、9a、9b、15a和15b中示出的装置中的至少一个装置的单元的总线、以及连接到所述总线的至少一个处理器。此外,连接到用于执行如上所述的命令的至少一个处理器的存储器可被包括,并被连接到总线以存储所述命令以及接收的消息或产生的消息。
计算机可读记录介质是任何可存储随后可由计算机系统读取的数据的数据存储装置。计算机可读记录介质的示例包括:只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光学数据存储装置。计算机可读记录介质还可分布在联网的计算机系统上,从而计算机可读代码以分布式方式被存储和执行。
尽管已具体显示和描述了示例性实施例,但本领域的普通技术人员将理解,在不脱离权利要求所限定的本发明构思的精神和范围的情况下,可在此做出形式和细节上的各种改变。

Claims (13)

1.一种对图像进行编码的方法,所述方法包括:
通过对先前编码的帧进行修改来产生参考帧;
基于包括先前编码的帧和参考帧的组来对当前帧的当前块进行编码,
其中,在对当前块进行编码的步骤中,
通过搜索包括在所述组中的第一帧来估计当前块的运动矢量;
在与当前块邻近的至少一个先前编码的块中,基于参考包括在所述组中的第二帧的块的运动矢量来预测当前块的运动矢量;
基于预测的结果对当前块的运动矢量进行编码,
其中,参考包括在所述组中的第一帧被视为与参考包括在所述组中的任何其他帧相同。
2.一种对图像进行解码的方法,所述方法包括:
通过对先前解码的帧进行修改来产生参考帧;
基于包括先前解码的帧和参考帧的组来对当前帧的当前块进行解码,
其中,在对当前块进行解码的步骤中,
对当前块的运动矢量与运动矢量预测因子之间的差值进行解码;
在与当前块邻近的至少一个先前解码的块中,基于参考包括在所述组中的第二帧的块的运动矢量来预测当前块的运动矢量;
基于所述差值和预测的结果来恢复当前块的运动矢量,
其中,参考包括在所述组中的第一帧被视为与参考包括在所述组中的任何其他帧相同。
3.如权利要求2所述的方法,其中,第一帧是参考帧或先前解码的帧。
4.如权利要求2所述的方法,其中,预测运动矢量的步骤包括:在与当前块邻近的至少一个先前解码的块中,基于参考包括在所述组中的一个或多个帧的多个块的运动矢量的中值,来预测当前块的运动矢量。
5.如权利要求2所述的方法,其中,对当前块进行解码的步骤还包括:基于恢复的运动矢量对当前块进行预测解码。
6.如权利要求2所述的方法,其中,对当前块进行解码的步骤还包括:
确定当前块和与当前块邻近的块两者是否参考包括在所述组中的一个或多个帧;
基于确定的结果设置用于去块滤波的边界强度(Bs);
基于边界强度(Bs)对当前块和与当前块邻近的块之间的边界进行去块滤波。
7.如权利要求6所述的方法,其中,设置边界强度(Bs)的步骤包括:当设置用于去块滤波的边界强度(Bs)时,在当前块被确定为参考所述组中包括的第一帧,并且与当前块邻近的块被确定为参考所述组中包括的与第一帧不同的第二帧时,认为当前块和与当前块邻近的块参考相同帧。
8.如权利要求2所述的方法,其中,产生参考帧的步骤包括:通过以下处理中的至少一种来产生参考帧:将预定值与先前解码的帧的像素值相加以及将先前解码的帧与预定值相乘。
9.如权利要求2所述的方法,其中,产生参考帧的步骤包括:通过对先前解码的帧执行几何变换来产生参考帧,其中,所述几何变换包括齐次变换、透视变换和仿射变换中的至少一种。
10.如权利要求2所述的方法,其中,产生参考帧的步骤包括:对关于包括在所述组中的帧的信息进行解码。
11.如权利要求2所述的方法,其中,根据在编码侧和解码侧之间共享的预定规则设置所述组的帧。
12.一种用于对图像进行编码的设备,所述设备包括:
参考帧产生器,通过对先前编码的帧进行修改来产生参考帧;
图像编码器,基于包括先前编码的帧和参考帧的组来对当前帧的当前块进行编码,
其中,图像编码器包括:
运动估计器,通过搜索包括在所述组中的第一帧来估计当前块的运动矢量;
运动矢量编码器,在与当前块邻近的至少一个先前编码的块中,基于参考包括在所述组中的第二帧的块的运动矢量来预测当前块的运动矢量,并基于预测的结果对当前块的运动矢量进行编码,
其中,在当前块被编码时,图像编码器认为参考包括在所述组中的第一帧与参考包括在所述组中的任何其他帧相同。
13.一种用于对图像进行解码的设备,所述设备包括:
参考帧产生器,通过对先前解码的帧进行修改来产生参考帧;
图像解码器,基于包括先前解码的帧和参考帧的组来对当前帧的当前块进行解码,
其中,图像解码器包括:
运动矢量解码器,对当前块的运动矢量与运动矢量预测因子之间的差值进行解码;
运动矢量预测器,在与当前块邻近的至少一个先前解码的块中,基于参考包括在所述组中的第二帧的块的运动矢量来预测当前块的运动矢量,并基于所述差值和预测的结果来恢复当前块的运动矢量,
其中,在当前块被解码时,图像解码器认为参考包括在所述组中的第一帧与参考包括在所述组中的任何其他帧相同。
CN201080049348.XA 2009-10-28 2010-10-28 参考多个帧对图像进行编码/解码的方法和设备 Expired - Fee Related CN102598670B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2009-0102719 2009-10-28
KR1020090102719A KR101611437B1 (ko) 2009-10-28 2009-10-28 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치
PCT/KR2010/007488 WO2011053022A2 (en) 2009-10-28 2010-10-28 Method and apparatus for encoding/decoding image with reference to a plurality of frames

Publications (2)

Publication Number Publication Date
CN102598670A CN102598670A (zh) 2012-07-18
CN102598670B true CN102598670B (zh) 2015-11-25

Family

ID=43898493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080049348.XA Expired - Fee Related CN102598670B (zh) 2009-10-28 2010-10-28 参考多个帧对图像进行编码/解码的方法和设备

Country Status (4)

Country Link
US (1) US9055300B2 (zh)
KR (1) KR101611437B1 (zh)
CN (1) CN102598670B (zh)
WO (1) WO2011053022A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101457396B1 (ko) 2010-01-14 2014-11-03 삼성전자주식회사 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치
KR101444691B1 (ko) * 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
DK3657798T3 (da) * 2010-10-06 2022-10-31 Ntt Docomo Inc Biforudsigelsesbilledafkodningsfremgangsmåde
KR101929026B1 (ko) 2011-01-07 2018-12-13 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치
JP2012151576A (ja) * 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
JP5485969B2 (ja) * 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
CN104604232A (zh) * 2012-04-30 2015-05-06 数码士控股有限公司 用于编码多视点图像的方法及装置,以及用于解码多视点图像的方法及装置
CN104641649B (zh) * 2012-09-20 2018-01-30 索尼公司 图像处理装置和方法
CN108322761B (zh) 2012-09-28 2020-08-07 杜比国际公司 图像解码装置
JP6271888B2 (ja) * 2013-07-12 2018-01-31 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
WO2016008157A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
CN115134608A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
CN108965871B (zh) 2015-09-29 2023-11-10 华为技术有限公司 图像预测的方法及装置
CN107027040B9 (zh) 2016-01-29 2020-08-28 华为技术有限公司 一种去除块效应的滤波方法及装置
US11638027B2 (en) * 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
WO2019089864A1 (en) * 2017-11-01 2019-05-09 Vid Scale, Inc. Overlapped block motion compensation
US11368702B2 (en) 2018-06-04 2022-06-21 Lg Electronics, Inc. Method and device for processing video signal by using affine motion prediction
WO2020073904A1 (en) * 2018-10-08 2020-04-16 Huawei Technologies Co., Ltd. An image processing device and method for performing deblocking

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650633A (zh) * 2002-04-29 2005-08-03 皇家飞利浦电子股份有限公司 用于小波编码的基于多参考帧的运动补偿时间过滤

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033797T2 (de) * 1989-10-14 2002-04-18 Sony Corp Verfahren und Anordnung zum Kodieren/Dekodieren eines Videosignales
GB9512565D0 (en) * 1995-06-21 1995-08-23 Sgs Thomson Microelectronics Video signal processor
US6438165B2 (en) * 1998-03-09 2002-08-20 Lg Electronics Method and apparatus for advanced encoder system
US6546049B1 (en) * 1998-10-05 2003-04-08 Sarnoff Corporation Parameterized quantization matrix adaptation for video encoding
US7929610B2 (en) * 2001-03-26 2011-04-19 Sharp Kabushiki Kaisha Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
JP2003299103A (ja) 2002-03-29 2003-10-17 Toshiba Corp 動画像符号化方法と装置及び動画像復号化方法と装置
US20030128754A1 (en) * 2002-01-09 2003-07-10 Hiroshi Akimoto Motion estimation method for control on the basis of scene analysis in video compression systems
KR100628489B1 (ko) 2002-01-18 2006-09-26 가부시끼가이샤 도시바 동화상 부호화방법 및 장치와 컴퓨터 독출가능 매체
US7023923B2 (en) 2002-04-29 2006-04-04 Koninklijke Philips Electronics N.V. Motion compensated temporal filtering based on multiple reference frames for wavelet based coding
US20030202599A1 (en) 2002-04-29 2003-10-30 Koninklijke Philips Electronics N.V. Scalable wavelet based coding using motion compensated temporal filtering based on multiple reference frames
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
JP4363326B2 (ja) * 2002-07-15 2009-11-11 株式会社日立製作所 動画像復号化方法
US7492387B2 (en) * 2002-08-05 2009-02-17 Chih-Lung Yang Implementation of MPCP MCU technology for the H.264 video standard
US8384790B2 (en) * 2002-08-20 2013-02-26 Hewlett-Packard Development Company, L.P. Video image enhancement method and apparatus using reference and auxiliary frames
JP3977716B2 (ja) * 2002-09-20 2007-09-19 株式会社東芝 動画像符号化/復号化方法及び装置
JP4841101B2 (ja) * 2002-12-02 2011-12-21 ソニー株式会社 動き予測補償方法及び動き予測補償装置
JP4373702B2 (ja) * 2003-05-07 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
KR100713400B1 (ko) * 2004-04-30 2007-05-04 삼성전자주식회사 평균 히스토그램 오차 방식을 이용한 h.263/mpeg비디오 인코더 및 그 제어 방법
WO2005109899A1 (en) * 2004-05-04 2005-11-17 Qualcomm Incorporated Method and apparatus for motion compensated frame rate up conversion
KR100714689B1 (ko) * 2005-01-21 2007-05-04 삼성전자주식회사 다 계층 구조 기반의 스케일러블 비디오 코딩 및 디코딩방법, 이를 위한 장치
KR100755689B1 (ko) * 2005-02-14 2007-09-05 삼성전자주식회사 계층적 시간적 필터링 구조를 갖는 비디오 코딩 및 디코딩방법, 이를 위한 장치
JP5090158B2 (ja) * 2005-04-22 2012-12-05 パナソニック株式会社 映像情報記録装置、映像情報記録方法、映像情報記録プログラム、及び映像情報記録プログラムを記録した記録媒体
US7660354B2 (en) * 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
KR100714696B1 (ko) * 2005-06-24 2007-05-04 삼성전자주식회사 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
US9258519B2 (en) * 2005-09-27 2016-02-09 Qualcomm Incorporated Encoder assisted frame rate up conversion using various motion models
KR100728031B1 (ko) 2006-01-23 2007-06-14 삼성전자주식회사 가변 블록 크기 움직임 예측을 위한 부호화 모드 결정 방법및 장치
US8139877B2 (en) * 2006-03-09 2012-03-20 Pioneer Corporation Image processing apparatus, image processing method, and computer-readable recording medium including shot generation
US8750387B2 (en) * 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8634463B2 (en) * 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
JP2008193410A (ja) * 2007-02-05 2008-08-21 Matsushita Electric Ind Co Ltd 画像符号化装置、録画装置、動画像符号化方法、動画像符号化プログラム
TWI342714B (en) * 2007-05-16 2011-05-21 Himax Tech Ltd Apparatus and method for frame rate up conversion
US8811484B2 (en) * 2008-07-07 2014-08-19 Qualcomm Incorporated Video encoding by filter selection
US8374240B1 (en) * 2008-07-10 2013-02-12 Marvell International Ltd. Image frame management
US7714754B2 (en) * 2008-07-14 2010-05-11 Vixs Systems, Inc. Entropy decoder with pipelined processing and methods for use therewith
KR101563554B1 (ko) * 2008-08-01 2015-10-27 퀄컴 테크놀로지스, 인크. 잡음 제거를 위한 통합 시간 필터를 구비한 비디오 인코더
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8406569B2 (en) * 2009-01-19 2013-03-26 Sharp Laboratories Of America, Inc. Methods and systems for enhanced dynamic range images and video from multiple exposures
US8588536B2 (en) * 2010-02-22 2013-11-19 Texas Instruments Incorporated Guaranteed-rate tiled image data compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650633A (zh) * 2002-04-29 2005-08-03 皇家飞利浦电子股份有限公司 用于小波编码的基于多参考帧的运动补偿时间过滤

Also Published As

Publication number Publication date
KR20110045950A (ko) 2011-05-04
US9055300B2 (en) 2015-06-09
US20110097004A1 (en) 2011-04-28
WO2011053022A3 (en) 2011-08-25
CN102598670A (zh) 2012-07-18
WO2011053022A2 (en) 2011-05-05
KR101611437B1 (ko) 2016-04-26

Similar Documents

Publication Publication Date Title
CN102598670B (zh) 参考多个帧对图像进行编码/解码的方法和设备
US9749653B2 (en) Motion vector encoding/decoding method and device and image encoding/decoding method and device using same
RU2608264C2 (ru) Способ и устройство для кодирования/декодирования вектора движения
CN102835111B (zh) 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备
RU2604998C2 (ru) Способ и устройство для кодирования и декодирования вектора движения
CN102640492B (zh) 对图像边界的编码单元进行编码和解码的方法和设备
CN103079069A (zh) 解码方法
KR102027474B1 (ko) 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치
CN102474611A (zh) 通过控制运动矢量的精度对图像编码/解码的方法和设备
CN113873257A (zh) 一种运动信息候选列表的构建方法、装置及其设备
CN105025301A (zh) 对图像进行编码/解码的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20211028