对图像进行编码/解码的方法和设备的制造方法_4

文档序号:9251230阅读:来源:国知局
码端可基于插入比特流的编码的结果来确定当前块的运动矢量。现将参照图12a和图12b来描述这样的方法。
[0129]图12a和图12b是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。
[0130]参照图12a,图9的运动矢量确定器910可基于与当前块邻近的先前编码块的运动矢量来产生多个运动矢量候选。所述多个运动矢量候选可以是与当前块的上侧邻近的块中的最左侧块%的运动矢量、与当前块的左侧邻近的最上侧块Idci的运动矢量、与当前块的右上侧邻近的块c的运动矢量、与当前块的左上侧邻近的块d的运动矢量以及与当前块的右下侧邻近的块e的运动矢量。
[0131]最左侧块Btl、最上侧块Idc1、块c和块d的运动矢量中的第一方向运动矢量之一可被确定为当前块的第一方向运动矢量。最左侧块Stl、最上侧块k、块C和块d的运动矢量中的第二方向运动矢量之一可被确定为当前块的第二方向运动矢量。例如,如果最左侧块Btl、最上侧块K、块C和块d中的最左侧块Btl和最上侧块b C1的运动矢量是第一方向运动矢量,则最左侧块Btl和最上侧块b ^的运动矢量之一可被确定为当前块的第一方向运动矢量,块C和块d的运动矢量之一可被确定为当前块的第二方向运动矢量。
[0132]各种方法可被用于将所述多个运动矢量候选之一确定为当前块的运动矢量,但是,通常可按照这样的方法来选择当前块的运动矢量:当前块可基于运动矢量被更精确地预测。如果当在用为第一方向运动矢量的最左侧块%和最上侧块b C1的运动矢量中使用最左侧块Btl的运动矢量时当前块被更精确地预测,则最左侧块Bci的运动矢量可被确定为当前块的第一方向运动矢量。可从当前块减去通过分别使用所述多个运动矢量候选的运动矢量来预测当前块而获得的预测块以产生残差块,所述残差块中的每一个的绝对值和(SAD)可被计算,然后,在所述多个运动矢量候选中具有最小SAD的运动矢量可被确定为当前块的运动矢量。
[0133]参照图12b,与当前块邻近的所有块的运动矢量可被用作多个运动矢量候选。换句话说,不仅与当前块的上侧邻近的块(包括最左侧块%)的运动矢量,而且与当前块的左侧邻近的块(包括最上侧块K)的运动矢量都可被用作所述多个运动矢量候选。
[0134]如以上参照图12b所述,与当前块邻近的所有块的多个运动矢量候选中的第一方向运动矢量之一和第二方向运动矢量之一可分别被确定为当前块的第一方向运动矢量和第二方向运动矢量。
[0135]因此,参照图11a、图11b、图12a和图12b,运动矢量确定器910可通过使用以下等式来将多个运动矢量候选之一确定为当前块的运动矢量:
[0136]C = {median (mv_a0, mv_b0, mv_c) , mv_a0, mv_al..., mv_aN, mv_b0, mv_bl,..., mv_bN, mv_c, mv_d, mv_e, mv_L0A, mv_LlA},
[0137]其中,“mv_L0A”和“mv_LlA”可表示根据图1 la的方法而获得的运动矢量,“median (mv_a0, mv_b0, mv_c) ”可表示根据图1lb的方法获得的运动矢量。如以上参照图12a和图12b描述了其它运动矢量。
[0138]可从包括在以上描述的C集中的第一方向运动矢量确定当前块的第一方向运动矢量,可从包括在C集中的第二方向运动矢量确定当前块的第二方向运动矢量。
[0139]根据本发明的另一实施例,运动矢量候选的总数量可被确定为小,并且当前块的运动矢量可基于以下等式从运动矢量候选中被确定:
[0140]C = {median (mv_a,, mv_b’, mv_c’), mv_a’, mv_b’, mv_c’, mv_L0A, mv_LlA},
[0141]其中,“mv_x”表示块X的运动矢量,“median () ”表示中值,“mv_a”表示运动矢量mv_a0、mv_al、…、mv_aN中的第一有效运动矢量。例如,如果使用帧间预测对块a0进行编码,则块a0的运动矢量mv_a0无效,因此mv_a’ = mv_al。如果块al的运动矢量mv_al也无效,则 mv_a’ = mv_a2。
[0142]同样,“mv_b”表示运动矢量mv_b0、mv_bl、…、mv_bN中的第一有效运动矢量,“mv_c”表示运动矢量mv_c、mv_d、…、mv_e中的第一有效运动矢量。
[0143]“mv_L0A”和“mv_LlA”可表示根据图1la的方法获得的运动矢量。根据本发明的另一实施例,取代于运动矢量mv_L0A和mv_LlA,使用邻近图像之间的时间距离产生的运动矢量可被用作运动矢量候选。将参照图13a和图13b详细描述该实施例。
[0144]图13a和图13b是示出根据本发明的实施例的基于先前编码块的运动矢量确定当前块的运动矢量的方法的示图。
[0145]参照图13a,基于时间距离的运动矢量候选可与根据现有技术的时间直接预测模式不同地被确定。
[0146]包括在当前图像1110中的当前块1010的运动矢量候选可从块1320的运动矢量产生,其中,块1320包括在当前图像1110之前的先前图像1112中并与当前块1010并置。例如,如果与当前块1010并置的块1320的运动矢量mv_colB针对从后续图像1114检测的块1322被产生,则可使用以下等式来产生当前块1010的运动矢量候选mv_L0B和mv_LlB:
[0147]mv_LlB = (t3/t4) Xmv_colB
[0148]mv_L0B = mv_LlB_mv_colB,
[0149]其中,“mv_L0B”表示当前块1010的第一方向运动矢量候选,“mv_LlB”表示当前块1010的第二方向运动矢量候选。
[0150]参照图13b,可使用块1330的运动矢量mv_colC来确定包括在当前图像1110中的当前块1010的运动矢量候选mv_L0C,其中,块1330包括在先前图像1112中,并与当前块1010并置。例如,当与当前块1010并置的块1330的运动矢量mv_ColC针对从另一先前图像1116检测的块1332被产生时,可使用以下等式来产生当前块1010的运动矢量候选mv_LOC:
[0151]mv_L0C = (t6/t5) Xmv_colC。
[0152]以上参照图13a和图13b描述的运动矢量候选mv_L0B和mv_LlB可被包括在上述的当前块1010的运动矢量候选的上述C集中。也就是说,取代于运动矢量候选mv_L0A和mv_LlA,运动矢量候选mv_L0B和mv_LlB可被包括在C集中,或者运动矢量候选mv_L0B和mv_LlB可被附加地包括在C集中。
[0153]返回参照图9,如果运动矢量确定器910基于先前编码块的运动矢量确定当前块的运动矢量,则编码器920对关于当前块的信息进行编码。
[0154]如果当前块的第一方向运动矢量和第二方向运动矢量被确定,则编码器920基于第一方向运动矢量和第二方向运动矢量来执行第一方向预测、第二方向预测和双向预测。随后,当前块可被最精确地预测的预测方向被确定。通过执行第一方向预测、第二方向预测和双向预测而获得的预测块可与当前块进行比较,可产生具有最小SAD的残差块的方向可被确定为预测方向。否则,可通过执行第一方向预测、第二方向预测和双向预测,对执行的结果进行编码并基于RD代价对编码的结果互相比较,来确定预测方向。
[0155]在预测方向被确定之后,关于预测方向的信息和关于像素值的信息被编码。关于预测方向的信息可被编码为序列参数、像条参数或块参数。预定二进制数可被分配给第一方向、第二方向和双向,与当前块被编码的预测方向相应的二进制数可被熵编码,随后熵编码的结果可被插入比特流。
[0156]与关于像素值的信息一样,关于残差块的信息(例如,直接预测模式)可被附加地编码。可通过从当前块减去通过按照确定的预测方向执行预测而产生的预测块来获得残差块,可通过对残差块执行变换来产生频域系数,随后,频域系数可被量化和熵编码。所述变换可以是DCT变换或KLT变换。
[0157]此外,与关于像素值的信息一样,仅根据现有技术的跳过模式以及指示预测块和当前块相同的标志信息可被编码。也就是说,由于通过按照确定的预测方向执行预测而获得的预测块被视为与当前块相同,因此可仅对跳过模式和标志信息进行编码。
[0158]可基于先前编码块的参考索引来推断用于预测当前块的参考图像。如上参照图1lb所述,可基于先前编码块的参考索引来确定当前块的参考索引和与当前块相应的参照图像。此外,与由运动矢量确定器910确定的运动矢量相应的参考图像可被确定为当前块的参考图像。例如,如以上参照图1la所述,如果运动矢量mv_L0A被确定为当前块的第一方向运动矢量,则根据运动矢量mv_L0A的先前图像1112可被自动确定为当前块的参考图像。
[0159]如果运动矢量确定器910如以上参照图12a、图12b、图13a和图13b所述在多个运动矢量候选中明确地确定第一方向运动矢量和第二方向运动矢量,则编码器920可对指示第一方向运动矢量和第二方向运动矢量中的至少一个的信息进行编码。
[0160]如果预测方向被确定为第一方向,则指示所述多个运动矢量候选中的仅第一方向运动矢量的信息被编码。如果预测方向被确定为第二方向,则仅指示第二方向运动矢量的信息可被编码。然而,如果预测方向被确定为双向执行,则指示所述多个运动矢量候选中的第一方向运动矢量和第二方向运动矢量的信息可被编码。
[0161]二进制数可被分别分配给包括在上述的C集中的所有运动矢量,分配给被确定为当前块的运动矢量的第一方向运动矢量和/或第二方向运动矢量的二进制数可被编码。然而,由于如上所述C集中的第一方向运动矢量之一被确定为当前块的第一方向运动矢量,因此分配给C集中的第一方向运动矢量的二进制数中的分配给当前块的第一方向运动矢量的二进制数可被编码为指示第一方向运动矢量的信息。同样,分配给C集中的第二方向运动矢量的二进制数中的分配给当前块的第二方向运动矢量的二进制数可被编码为指示第二方向运动矢量的信息。
[0162]图14是根据本发明的另一实施例的图像解码设备1400的框图。图像解码设备1400可被包括在图2的图像解码设备200或图5的图像解码设备500中,并可通过执行帧间预测来对当前块进行解码。
[0163]参照图14,图像解码设备1400包括解码器1410、运动矢量确定器1420和恢复单元 1430.
[0164]解码器1410接收包含关于当前块的数据的比特流,并对关于当前块被预测的预测方向的信息进行解码。图像解码设备1400基于在当前块被解码之前已被先前解码的至少一个块的运动矢量来确定当前块的运动矢量,并在用于恢复当前块的解码模式下基于确定的运动矢量来对当前块进行解码。因此,在当前块的运动矢量被确定之前对关于预测方向的信息进行解码。关于预测方向的信息可以是例如包括在比特流中的序列参数、像条参数或块参数。
[0165]在基于先前编码/解码块的运动矢量确定当前块的运动矢量的编码/解码模式(例如,直接预测模式或跳过模式)下,仅基于按照特定方向执行的预测来对当前块进行编码/解码。然而,在根据本发明的实施例的编码/解码方向中,可基于按照第一方向、第二方向和双向执行预测的结果,在直接预测模式或跳过模式下对当前块进行编码/解码。为此,图9的图像编码设备900对关于预测方向的信息进行编码,将编码的结果插入比特流。解码器1410对通过使用图像编码设备900被插
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1