视频编/解码方法、对应计算机程序及视频编/解码设备与流程

文档序号:18018493发布日期:2019-06-26 01:00阅读:227来源:国知局
视频编/解码方法、对应计算机程序及视频编/解码设备与流程

本发明涉及使用逐行式(progressive)视频编码/解码工具的视频编码和视频解码,具体针对交错(interlaced)视频。

交错视频包含交替的TOP和BOT场(field)的序列。每个TOP场包含想要显示为奇数行的行,并且每个BOT场包含想要显示为偶数行的行。该序列的每个场都想要在前一个之后显示,使得奇数行和偶数行在显示设备上交替地更新。

相反地,逐行视频包含帧的序列,每个帧都想要在前一个的位置处显示。

一帧或者场是像素的阵列,每个像素都包含一个或者若干分量。对于彩色视频,每个像素通常包含一个亮度分量和两个色度分量。通常,相同的色度分量用于若干像素,例如以4:2:0或者4:2:2格式。



背景技术:

MPEG-4部分10标准(也被称为H.264标准或者AVC标准)描述了一种用于对包含想要相继显示的帧的序列的逐行视频进行编码的方法。

MPEG-4部分10标准还描述了用于对交错视频进行编码的第一模式。该第一模式被称为MBAFF模式。在该模式下,每对宏块都使用两个宏块中交错或者在两个宏块间分开的两个场进行编码。针对每对宏块作出该选择。

MPEG-4部分10标准还描述了用于对交错视频进行编码的第二模式。该第二模式被称为PAFF模式。在该模式下,将两个连续的场编码为两个分开的帧或者在单个帧中交错。

对于MBAFF和PAFF这两种模式,需要交错式以及逐行式编码/解码工具,这增加了编码器和解码器的成本以及复杂度。

在被称为“场编码”的变型中,将所述场在编码之前分开,并且使用仅逐行式工具对其进行编码。该方案的复杂度更低,但是需要修改具体指示次序的GOP结构,帧必须根据该次序来进行编码。具体地,需要将想要用于逐行视频的GOP结构修改为想要用于交错视频的GOP结构。例如,在C.Auyeung的论文“GOP structures for Interlaced Video”(JCTVC-K0153,上海第11届JCTVC会议,2012年10月10日至19日)中对此进行了解释。

因此,需要克服至少部分前述缺点的新的编码/解码工具。



技术实现要素:

提出了一种用于对包含交替TOP和BOT场的序列的交错视频进行编码的方法,其特征在于:

-生成帧的序列,每个帧根据至少两个连续的场来确定,每个场形成所述帧的矩形区域,

-对所述序列的每个帧进行编码以生成所述帧的序列的编码视频。

可选地,对所述序列的每个帧进行编码包含,对于所述帧的至少一个部分:

-根据参考帧的像素确定预测部分,

-确定对应于所述帧中的部分的位置与所述参考帧中的预测部分的位置之间的以像素表示的距离的运动矢量的表示,

-从运动矢量表示的至少一个分量的绝对值中减去大于两个像素的像素偏移,

-确定包含该减法值的预测数据,所述编码视频包含所述预测数据。

可选地,如果从其确定预测部分的像素属于被称为预测场的不同于所述部分的所述场的场,则执行所述减法。

可选地,所述运动矢量表示是运动矢量预测符与所述运动矢量之间的运动矢量差分。

可选地,垂直或者水平分量的附加像素偏移分别等于所述预测场的中心与所述部分的所述场的中心之间的垂直或者水平距离。

可选地,通过将两个连续的场中的一个场放在另一个的顶部并且垂直对齐而将两个场放在一起来从两个连续的场生成每个帧,并且所述运动矢量差分的垂直分量的像素偏移等于所述两个场之一的高度。

还提出了一种计算机程序,该计算机程序包含在被计算机系统执行时使所述计算机系统执行根据本发明的视频编码方法的指令。

还提出了一种用于对包含交替TOP和BOT场的序列的交错视频进行编码的视频编码设备,其特征在于:

-场组合单元,被配置为生成帧的序列,每个帧根据至少两个连续的场来确定,每个场形成所述帧的矩形区域,

-帧编码器,用于对所述序列的每个帧进行编码以生成所述帧的序列的编码视频。

还提出了一种用于对帧的序列的编码视频进行解码的方法,其特征在于:

-对所述序列的每个帧进行解码,

-通过提取每个帧的至少两个矩形区域,并且将所提取的矩形区域定义为交错视频的连续的场来从所述帧的序列生成交错视频。

可选地,对所述序列的每个帧进行解码包含,对于至少一个帧的至少一个部分:

-根据编码视频确定运动矢量表示,其包含通过将大于两个像素的像素偏移添加到根据所述编码视频确定的值来确定所述运动矢量表示的至少一个分量的绝对值,

-根据所述运动矢量表示确定运动矢量,

-根据参考帧的像素确定预测部分,所述像素根据所述运动矢量来确定。

可选地,生成交错视频包含将所述帧水平地划分为被定义为第一场的顶部部分以及被称为第二场的底部部分。

可选地,对于垂直分量,所述像素偏移等于二加上附加像素偏移,所述附加像素偏移等于所述两个场之一的高度。

还提出了一种计算机程序,该计算机程序包含在被计算机系统执行时使所述计算机系统执行根据本发明的视频编码方法的指令。

还提出了一种视频解码设备,包含:

-帧解码器,被配置为对帧的序列的每个帧进行解码,

-帧划分单元,被配置为通过提取每个帧的至少两个矩形区域,并且将所提取的矩形区域定义为交错视频的连续的场来从所述帧的序列生成交错视频。

附图说明

现在将仅作为示例并且参考附图来说明本发明的实施例。

图1例示了根据本发明的视频编码设备。

图2例示了图1的视频编码设备的具体实现方式。

图3例示了要被图1的视频编码设备执行的视频编码方法。

图4例示了交错视频以及其要被如何显示。

图5例示了图3的视频编码方法的场组合步骤。

图6例示了图3的视频编码方法的运动矢量差分确定步骤。

图7例示了根据本发明的视频解码设备。

图8例示了图7的解码设备的具体实现方式。

图9例示了要被图7的视频解码设备执行的视频解码方法。

具体实施方式

参照图1,现在将说明视频编码设备100。

视频编码设备100包含场组合单元102,用于从交错视频V生成帧F的序列。

视频编码设备100还包含帧分割单元104,用于将每个帧F分割为多个部分。在使用HEVC标准的所述示例中,所述部分被称为预测单元PU。更准确地,将帧F分割为编码树单元CTU,CTU的每一个都被分割为一个或者若干编码单元CU,CU的每一个被分割为一个或者若干预测单元PU。在下文中,根据所述示例,所述部分将携带参考“PU”。每个部分PU优选为帧F的矩形区域,例如正方形区域。

视频编码设备100还包含通用控制单元106,用于生成关于视频编码的通用数据GD。

视频编码设备100还包含预测单元108,用于预测每个部分PU以便确定预测部分pred_PU并且生成预测数据PD。该预测是帧间预测或者帧内预测。在帧间预测的情况下,根据参考帧ref_F执行该预测。这意味着根据参考帧ref_F的像素来确定预测部分pred_PU。例如,预测部分pred_PU可以是参考帧ref_F的一部分PU。替代地,可以从参考帧ref_F的一个或者若干部分PU插入预测部分pred_PU。

视频编码设备100还包含比较单元110,用于比较每个部分PU与对应的预测部分pred_PU以便生成残差部分res_PU。

视频编码设备100还包含变换单元112,用于针对残差部分res_PU计算变换系数并且对这些变换系统进行量化以便生成表示这些量化系数的变换数据TD。

视频编码设备100还包含逆变换单元114,用于根据量化系数生成近似残差部分res_PU*。

视频编码设备100还包含重构单元116,用于组合每个预测部分pred_PU与对应的近似残差部分res_PU*以便生成重构部分rec_PU。另外,在对整个帧F确定了重构部分rec_PU时,将重构部分rec_PU放在一起以便生成该帧,该帧被称为重构帧rec_F。

可选地,视频编码设备还包含至少一个滤波器单元118,用于对重构帧rec_F进行滤波以便生成表示(多个)应用的滤波器的滤波器数据FD,并且生成滤波后的帧,它可以被缓冲以便变成可以用于随后帧F的帧间预测的参考帧ref_F。当未对重构帧rec_F应用滤波器时,替代地,重构帧rec_F可以被缓冲以便变成可以用于对随后帧F进行帧间预测的参考帧ref_F。

视频编码设备100还包含熵编码单元120,用于从变换数据TD、预测数据PD、通用数据GD和可选的滤波器数据FD生成比特流BS形式的帧的序列的编码视频。

单元104至120形成帧编码器。

参照图2,现在将说明视频编码设备100的具体实现方式。

在该具体实现方式中,视频编码设备100是包含计算机机箱202的计算机系统,该计算机机箱202包含存储器204和处理单元206。

视频编码设备100还包含存储在存储器204中的视频编码程序208。视频编码程序208包含用于由处理单元206执行以便实现将参考图3更详细地说明的视频编码方法的指令。

视频编码系统100还包含人机界面212,其包括例如显示器214以及诸如键盘216和指取设备218这样的输入设备。

参考图3,现在将说明在图1或者图2中说明的由视频编码设备100执行的交错视频V的视频编码方法300。

参考图4,交错视频V包含被称为T1、B2、T3、B4等的交替TOP和BOT场的序列。在所述示例中,TOP和BOT场具有相同的高度,亦即相同行数的像素。应当注意的是,每个场的行聚合在一起,但是想要与其他场的行交错以便显示。序列的每个场要在前一个之后显示,使得奇数行和偶数行交替地在显示设备上更新。例如,在时间t1,TOP场T1显示为奇数行并且BOT场B2显示为偶数行。这得到第一图像D1。在稍后的时间t2,TOP场T3显示为奇数行而BOT场B2保留在原处。这得到第二图像D2。在稍后的时间t3,BOT场B4显示为偶数行而TOP场T3保留在原处。这得到第三图像D3。交错视频V例如存储在存储器204中。

回到图3,在步骤302,场组合单元102生成帧F的序列,每个帧F根据至少两个连续的场来确定,每个场都形成该帧的矩形区域使得该场的行构成矩形区域的行。其导致矩形区域具有与该场相比相同的大小。在所述示例中,每个场只存在于一个帧中,使得第一帧根据前至少两个连续的场来生成,并且每个随后的帧根据跟随已经生成前一帧的场的场(在场的序列中)来生成。

参照图5,现在将说明对TOP场T1和连续的BOT场B2执行的先前步骤302的被称为A、B和C的三个实施例。

在实施例A中,通过将两个连续的场T1、B2的一个放在另一个的顶部并且垂直对齐而将两个场放在一起(例如,TOP场T1在BOT场B2的顶部)来根据两个连续的场T1、B2生成帧F1。

在实施例B中,通过将两个连续的场T1、B2的一个接着另一个放置并且水平对齐而将两个场放在一起来根据两个连续的场T1、B2生成帧F1。

在实施例C中,两个场与两个空白部分B一起并列显示。第一场T1位于帧F1的左上角,而第二场B2位于帧F1的右下角。

在所述示例中,执行实施例A。

回到图3,在使用HEVC标准的所述示例中,视频编码方法300还包含步骤304,在该步骤期间,通用控制单元106将每个场定义为不同的切片集合,亦即,由场形成的每个矩形区域被定义为切片集合。切片集合是可以共享某种高级别数据(例如,VPS(视频参数集合)、SPS(序列参数集合)、PPS(画面参数集合)和切片分段头部)的一个或者若干切片的集合。优选地,每个切片集合只包含一个切片,使得将每个场定义为一个切片。HEVC标准中将切片定义为就熵编码、信号预测以及残差信号重构而言可以独立于同一帧的其他切片来进行解码的数据结构。然而,对整个帧实现滤波(将在下文更详细地说明),而不考虑切片。

在步骤306,通用控制单元106生成通用数据GD。通用数据GD具体地包含每个帧的场构成,亦即关于场位于帧内的何处的指示。通用数据GD还包含水平附加像素偏移和/或垂直附加像素偏移。将在下文更详细地说明这些像素偏移。例如,这些像素偏移存储为两个变量:关于水平像素偏移的mvd_offset[0]以及关于垂直像素偏移的mvd_offset[1]。在所述示例中,正如将在下文解释的那样,没有水平像素偏移,使得通用数据GD只包含关于垂直附加像素偏移的变量mvd_offset[1]。在使用HEVC标准的所述示例中,在画面定时SEI消息的pic_struct指示符中指示每个帧的场构成。pic_struct指示符可以采用在下表中指示的若干预定义的值:

在所述示例中,通用控制单元106生成值为13的pic_struct指示符。

对于被称为目标帧F的序列的每个帧F,执行下面的步骤308至348。

在步骤308,帧分割单元104将目标帧F分割成部分PU。

在步骤310,预测单元108对目标帧F的每个部分PU确定是否必须对其进行帧内预测或帧间预测。在使用HEVC标准的所述示例中,在编码单元CU级别实现在帧内预测和帧间预测之间的决策。

如果必须对部分PU进行帧内预测,则执行下面的步骤312和314。

在步骤312,对被称为目标部分的每个部分PU,预测单元108根据一个或者若干已经编码并重构的部分rec_PU来确定类似目标部分PU的预测部分pred_PU。在所述示例中,在每个场内执行帧内编码。这具体地意味着,在目标部分PU所在的场的内部以及目标部分PU的近邻中查找用于确定预测部分pred_PU的(多个)重构部分rec_PU。作为示例,如果SAD(英语“Sum of Absolute Differences(绝对差值之和)”的首字母)低于阈值,则重构部分rec_PU类似目标部分。在目标部分PU的像素值和重构部分rec_PU中的对应像素值之间计算每个绝对差值。可以使用SAD之外的其他度量。

在步骤314,预测单元108根据对预测部分pred_PU的确定来确定预测数据PD。预测数据PD具体地指示全部或者部分地使用哪个(哪些)重构部分rec_PU来确定预测部分pred_PU以及如何使用整个或者部分的(多个)重构部分rec_PU来确定预测部分pred_PU。

如果必须对帧F的部分PU进行帧间预测,则执行下面的步骤316至336。

在步骤316,预测单元108根据参考帧ref_F(亦即,已经编码、重构并且缓冲的帧)的像素来确定预测部分pred_PU。预测部分pred_PU可以是与目标部分PU相比具有相同大小并且类似目标部分PU的参考帧ref_F的任何部分PU,或者可以是根据一个或者若干参考帧ref_F的一个或者若干部分PU确定的并且类似目标部分PU的插值。

在步骤318,预测单元108确定预测部分pred_PU和目标部分PU之间的运动矢量MV,其对应于目标帧F中的目标部分PU的位置和参考帧ref_F中的预测部分pred_PU的位置之间的以像素表示的距离。

在步骤320,预测单元108确定目标部分PU的运动矢量预测符MVP。例如根据用于对邻近已经编码的部分PU进行编码的运动矢量MV来得出运动矢量预测符MVP。

在步骤322,预测单元108确定作为运动矢量MV和运动矢量预测符MVP之间的差分的运动矢量差分MVD。运动矢量差分MVD是运动矢量MV的表示。“表示”意味着运动矢量差分MVD允许解码设备根据该表示得出运动矢量MV。运动矢量差分具有以下优点:其通常小于运动矢量MV,并且因此需要对更少的位进行编码。运动矢量差分MVD包含水平分量MVD[0]和垂直分量MVD[1]。下面,这两个分量将被称为MVD[c],其中,c对于水平分量等于0,对于垂直分量等于1。

参照图6,现在将说明执行步骤316至322的示例。如之前所解释的那样,每个帧F通过形成帧F的上半部分的TOP场T和形成帧F的下半部分的BOT场B形成。目标部分PU位于场T的内部。在参考帧ref_F的BOT场B中确定预测部分pred_PU。参考604例示了当帧F与帧ref_F叠加时的目标部分PU的位置。将运动矢量MV确定为预测部分pred_PU和目标部分PU之间的矢量。确定运动矢量预测符MVP,运动矢量差分MVD对应于运动矢量预测符MVP和运动矢量MV之间的差分。另外,将两个场T、B的中心之间距离称为d。在所述示例中,距离d还表示每个场T、B的高度。

回到图3,对运动矢量差分MVD的每个分量MVD[c]执行下面的步骤324至334。

在步骤324,预测单元108确定分量MVD[c]的符号。在所述示例中,将符号确定的结果存储在HEVC标准的两个标记中:关于水平分量MVD[0]的mvd_sign_flag[0]以及关于垂直分量MVD[1]的mvd_sign_flag[1]。

在步骤326,预测单元108确定分量MVD[c]的绝对值是否大于0,并且将确定的结果存储在大于零的值(greater-than-zero value)中。在所述示例中,大于零的值包含在HEVC标准中使用的标记:关于水平分量的abs_mvd_greater0_flag[0]以及关于垂直分量的abs_mvd_greater0_flag[1]。

在步骤328,如果分量MVD[c]的绝对值大于0,则预测单元108确定分量MVD[c]的绝对值是否大于一,并且将确定的结果存储在大于一的值(greater-than-one value)中。在所述示例中,大于一的值包含在HEVC标准中使用的标记:关于水平分量的abs_mvd_greater1_flag[0]以及关于垂直分量的abs_mvd_greater1_flag[1]。

在步骤330,如果分量MVD[c]的绝对值大于1,则预测单元108确定预测部分pred_PU的场是否不同于目标部分PU的场,该情况在图6上例示(在图6上,其对应于预测场为场B,而目标部分PU属于场T)。具体地,预测单元108确定预测部分pred_PU的场和目标部分PU的场是否为相同的奇偶性/类型。

在步骤332,如果从其确定预测部分pred_PU的像素属于被称为预测场的不同于目标部分PU的场的场,则预测单元108从分量MVD[c]的绝对值中减去像素偏移。至少对于一个分量,像素偏移等于两个像素加上附加像素偏移。在所述示例中,附加像素偏移是大于0的整数数量的(多个)像素。作为替代,附加像素偏移等于像素的一个或者若干预定分数。例如,在AVC标准中,附加像素偏移可以是像素的一个或者若干四分之一。对于水平分量,如果有的话,则水平附加像素偏移等于预测场的中心和目标部分PU的场的中心之间的水平距离。对于垂直分量,如果有的话,则垂直附加像素偏移等于预测场的中心和目标部分PU的场的中心之间的垂直距离。在所述示例中,将减法的结果存储在在HEVC标准中使用的两个变量中:关于水平分量的abs_mvd_minus2[0]以及关于垂直分量的abs_mvd_minus2[1]。应当注意的是,在HEVC标准中使用这两个变量来存储从分量MVD[c]的绝对值中减去二的减法,而不带有任何附加像素偏移。

如果预测场与目标部分PU的场相同(在图6上,其将对应于预测场为场T,而目标部分PU属于场T,亦即,预测场和目标部分PU的场具有相同的奇偶性),则预测单元108从分量MVD[c]的绝对值中只减去两个像素。在所述示例中,将被称为减法值的减法的结果存储在在HEVC标准中使用的两个变量中:关于水平分量的abs_mvd_minus2[0]以及关于垂直分量的abs_mvd_minus2[1]。

在步骤334,预测单元108生成指示是否已经减去附加像素偏移的附加像素偏移存在指示符。在所述示例中,对于每个分量MVD[c],附加像素偏移存在指示符包含一个标记:关于水平分量的mvd_offset_flag[0]以及关于垂直分量的mvd_offset_flag[1]。

在所述示例中,如图6所示,没有水平附加像素偏移,使得mvd_offset_flag[0]等于0。然而,存在垂直附加像素偏移,使得mvd_offset_flag[1]等于1。如上所述,垂直附加像素偏移等于距离d。在所述示例中,距离d还等于每个场的高度,并且等于帧的高度的一半。根据之前所述的,abs_mvd_minus2[0]存储水平分量MVD[0]的绝对值减去二,并且abs_mvd_minus2[1]存储垂直分量MVD[1]的绝对值减去二并且减去垂直附加像素偏移。

使用附加像素偏移可以提高编码的效率。实际上,在一些视频中,预测部分通常位于与目标部分相同的场的内部,使得运动矢量很小。从而,运动矢量预测符也通常很小。因此,当预测部分在另外的场中时,运动矢量很长,而运动矢量预测符可能很小。这种情况导致长的运动矢量差分。这是图6所示的情况。使用像素偏移减少了运动矢量差分的长度,并且因此需要对更少的数据进行编码。另外,当预测部分在不同于目标部分的另外的场中时,预测部分和目标部分通常仍然在它们各自的场的相同区域中。这是将附加像素偏移取为两个场的中心之间的距离将给出良好结果的原因。

在步骤336,预测单元210生成预测数据PD,具体包括,对于每个目标部分PU并且对于目标部分PU的运动矢量差分MVD的每个分量MVD[c]:其符号(步骤324)、大于零的值(步骤326)、大于一的值(步骤328)、附加像素偏移存在指示符(步骤334)以及减法值(步骤330和332)。

对经帧内和帧间编码的帧两者执行下面的步骤338至350。

在步骤338,比较单元110比较部分PU与预测部分pred_PU以便生成残差部分res_PU。

在步骤340,变换单元214确定残差部分res_PU的变换(例如DCT(“Discrete Cosine Transform(离散余弦变换)”的英文首字母))的系数。变换单元214还处理系数以便生成变换数据TD。该处理通常包含量化。

在步骤342,逆变换单元114根据变换数据TD来确定近似残差部分res_PU*。

在步骤344,重构单元116根据预测部分pred_PU和近似残差部分res_PU*来确定重构部分rec_PU。

当已确定了帧F的所有重构部分rec_PU时,生成重构帧rec_F。

在可选步骤346,滤波器单元118对重构帧rec_F进行滤波并且将结果帧存储在缓冲器(例如,存储器204的一部分)中,在该处,该帧变成参考帧ref_F。

在可选步骤348,滤波器单元118还生成表示所应用的(多个)滤波器的滤波器数据FD。在所述示例中,如在HEVC标准中所指出的,所应用的(多个)滤波器包含去块滤波器,继之以采样自适应偏移滤波器。

在步骤350,熵编码单元120以比特流BS的形式生成帧的序列的编码视频。编码视频包含通用数据GD、预测数据PD、变换数据TD以及可选地包含滤波器数据FD。在所述示例中,例如通过熵编码来得到编码视频。

应当注意的是,可以通过非常小的修改将步骤306至350应用于逐行视频。具体地,旨在用于逐行视频编码的GOP结构可以用在先前的视频编码方法300中。具体地,如前所述,可以通过小的修改来使用定义逐行视频编码的HEVC标准。

参照图7,现在将说明对以比特流BS形式的帧的序列的编码视频进行解码的视频解码设备700。

视频解码设备700包含通用控制单元702,被配置为接收编码视频并且根据编码视频确定数据。

视频解码设备700还包含变换单元704,被配置为对要解码的每个部分PU,根据变换数据确定残差部分res_PU。

视频解码设备700还包含解码单元706,被配置为对要解码的每个部分PU,根据预测数据PD,根据帧内预测方法或者帧间预测方法来确定预测部分pred_PU。

视频解码设备700还包含组合单元708,被配置为对要解码的每个部分PU,组合残差部分res_PU与预测的部分pred_PU以生成重构部分。组合单元708还被配置为根据重构部分生成重构帧rec_F。

视频解码设备700可选地还包含滤波器单元710,被配置为根据滤波器数据FD对重构帧rec_F进行滤波以生成解码帧F。

单元704至710形成帧解码器。

视频解码设备700还包含帧划分单元712,被配置为从每个帧F生成至少两个连续的场,以便生成包含场的序列的交错视频V。

参照图8,现在将说明视频解码设备700的具体实现方式。

视频解码设备700是包含计算机机箱802的计算机系统,计算机机箱802包含存储器804和处理单元806。计算机系统可以与如图2所示的计算机系统相同。

视频解码设备700还包含存储在存储器804中的视频解码程序808。视频解码程序808包含将要由处理单元806执行的指令以便执行将参照图9更详细地说明的视频解码方法。

视频解码设备700还包含人机界面812,其包括例如显示器814和诸如键盘816和指取设备818这样的输入设备。

参照图9,现在将说明由图7或8的视频编码设备700执行的视频解码方法900,该视频解码方法900用于对以比特流BS(例如,由图1的视频编码设备100生成的比特流)形式的帧的序列的编码视频进行解码。

在步骤902,通用控制单元702从编码视频确定通用数据GD。

在步骤904,通用控制单元702还从通用数据GD确定帧的场构成。在所述示例中,场构成包含pic_struct变量。

在步骤906,通用控制单元702根据通用数据GD确定(多个)附加像素偏移。在所述示例中,通用控制单元702确定存储垂直附加像素偏移的变量mvd_offset[1]。在不存在其他变量mvd_offset[0]时,通用控制单元702认为水平附加像素偏移等于零。

对被称为当前部分PU的编码在编码视频中的每个部分PU执行下面的步骤908至930。

在步骤908,通用控制单元702根据编码视频确定对应于当前部分PU的变换数据TD、预测数据PD以及可选的滤波器数据FD。

在步骤910,变换单元704根据变换数据TD确定残差部分res_PU。

在步骤912,解码单元706根据编码视频,更准确地根据预测数据PD,根据帧内预测方法或者帧间预测方法来确定预测部分pred_PU。

在帧间预测的情况下,在步骤912期间执行下面的步骤914至928。

在步骤914,解码单元706根据预测数据确定运动矢量差分MVD。对运动矢量差分MVD的确定包含,对于运动矢量差分MVD的每个分量MVD[c],进行以下步骤916至922(在括号中指示在所述示例中使用的变量和标记)。

在步骤916,解码单元706根据预测数据PD确定大于零的值(亦即,语法元素值abs_mvd_greater0_flag[c])。如果该值为假,则解码单元706认为分量MVD[c]等于0。

在步骤918,如果分量MVD[c]的绝对值大于0,则解码单元706根据预测数据PD确定大于一的值(亦即,语法元素值abs_mvd_greater1_flag[c])。如果该值为假,则分量MVD[c]等于1。

在步骤920,如果分量MVD[c]的绝对值大于0,则解码单元706根据预测数据PD确定分量MVD[c]的符号(mvd_sign_flag[c])、减法值(abs_mvd_minus2[c])以及附加像素偏移指示符(mvd_offset_flag[c])。

在步骤922,解码单元706根据从编码视频确定的数据来确定分量MVD[c]。具体地,如果附加像素偏移指示符(mvd_offset_flag[c])指示存在附加像素偏移,则解码单元706对减法值(abs_mvd_minus2[c])添加为二加上在步骤906从编码视频确定的附加像素偏移的像素偏移,以便确定分量MVD[c]的绝对值。然后,将在步骤920确定的符号应用于该绝对值以确定分量MVD[c]。

在使用HEVC标准的所述示例中,使用下面的语法来表示先前的步骤916至922。

在所述示例中,分量MVD[c]计算如下:

MVD[c]=

abs_mvd_greater0_flag[c]*

(mvd_offset_flag[c]*mvd_offset[c]+abs_mvd_minus2[c]+2)*

(1-2*mvd_sign_flag[c])

在步骤924,解码单元706根据预测数据PD确定运动矢量预测符MVP。

在步骤926,解码单元706根据运动矢量差分MVD和运动矢量预测符MVP确定运动矢量MV。

在步骤928,解码单元706根据参考帧ref_F(即,已经解码的帧)的像素确定预测部分pred_PU,这些像素根据运动矢量MV来确定。

在步骤930,组合单元708组合残差部分res_PU和预测部分pred_PU以生成重构部分。

在步骤932,在重构了帧的所有部分时,亦即,在已经生成帧的所有重构部分时,组合单元708组合重构部分,并且生成被称为重构帧rec_F的这个帧。

在可选的步骤934,滤波器单元710根据滤波器数据FD对重构帧rec_F进行滤波以生成解码帧F。至少将一些解码帧存储在缓冲器中以用作参考帧ref_F。

在步骤936,帧划分单元712通过提取每个帧F的至少两个矩形区域并且将所提取的矩形区域定义为交错视频V的连续的场来从帧F的序列生成交错视频V。在每个帧包含位于第二场的顶部的第一场的所述示例中,划分单元712水平地划分上半部分和下半部分之间的帧F,提取帧F的上半部分并且将其定义为第一场(TOP场),并且提取帧的下半部分并且将其定义为接着的场(BOT场)。这是图5所示的情况A的逆操作。

然后,将所生成的交错视频显示在诸如图8的那个显示设备上。

本发明不限于前述的实施例,而是通过所附的权利要求书来定义。实际上,对于本领域的技术人员明显的是,可以对前述的实施例施加修改。

例如,设备的单元可以全部或者部分地由旨在执行相同功能的硬件电路形成。本领域的技术人员将意识到,在本文中呈现的框图表示实施本发明原理的示例性系统组件和/或电路的概念图。类似地,将意识到,任何流程图、流程图表、状态转换图、伪代码等表示实际上可以表示在计算机可读存储介质中并且因此由计算机或者处理器(无论是否明确地示出了这种计算机或者处理器)执行的各种处理。

另外,运动矢量表示可以是运动矢量本身。

另外,在所附权利要求书中使用的术语不应当被理解为限于前述实施例的元件,而是相反地应当被理解为包含本领域技术人员能够使用他们的一般知识得出的所有等效的元件。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1