CN1663280A

Motion estimation techniques for video encoding

Abstract

Describes a video coding technique. In one example, a video encoding technique includes identifying a pixel location associated with a video block in a search space based on a motion vector associated with a group of video blocks in a video frame to be encoded, wherein The video block is spatially located at a certain position relative to the current video block of the video frame to be encoded. Then, an initial motion estimation routine can be performed for the current video block at the identified pixel position. By identifying a pixel position associated with a video block in the search space based on a motion vector associated with a group of video blocks in a video frame, it is easier to take advantage of spatial redundancy to speed up and improve the encoding process.

CN1663280A, drawing sheet 1
Sheet 1 of 14

Term

Term ended

Projected expiry passed 18 June 2023, 3.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

54 claims: 12 independent, 42 dependent

  1. 1
    一种设备,其特征在于,它包括:一编码器,它使用一编码例程来编码视频帧,所述编码例程包括基于与一视频帧内的一组视频块相关联的计算运动矢量来标识一与搜索空间内的一视频块相关联的像素位置,所述组中的视频块位于相对于要编码的所述视频帧的当前视频块的确定位置上,以及对在所标识的像素位置上的所述当前视频块初始化一运动估计例程;以及一发送器,它发送所编码的视频帧。
  2. 2
    如权利要求1所述的设备,其特征在于,标识所述像素位置包括基于与位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块相关联的运动矢量来计算一组像素坐标。
  3. 3
    如权利要求2所述的设备,其特征在于,计算所述像素坐标组包括基于位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块的运动矢量来计算一中值。
  4. 4
    如权利要求2所述的设备,其特征在于,计算所述像素坐标组包括基于位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块的运动矢量来计算一平均值。
  5. 5
    如权利要求2所述的设备,其特征在于,计算所述像素坐标组包括基于位于相对于所述当前视频块的确定位置的所述视频块组中的视频块的运动矢量来计算一加权函数,其中,在所述加权函数中,向与空间上更邻近所述当前视频块的所述视频组中的视频块相关联的运动矢量给予比与空间上更远离所述当前视频块的所述视频块组中的视频块相关联的运动矢量更大的权值。
  6. 6
    如权利要求1所述的设备,其特征在于,所述编码器使用所述运动估计例程来编码所述当前视频块,所述运动估计例程包括:在所标识的像素位置周围定义一半径为(R)的圆;将所述当前块与同所述圆内的像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所述圆内标识产生最低差值的视频块的所标识的像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所标识的像素位置定义的运动矢量来编码所述当前视频块。
  7. 7
    如权利要求1所述的设备,其特征在于,所述编码器使用所述运动估计例程来编码所述当前视频块,所述运动估计例程包括基于可用于编码所述当前视频帧的确定的计算资源量动态地调整要执行的计算数量。
  8. 8
    一种设备,其特征在于,它包括:一编码器,它通过以下步骤编码视频帧:为编码视频帧的当前视频块,在搜索空间内的一像素位置上初始化一运动估计例程;在所述像素位置周围定义一半径为(R)的圆;将所述当前视频块与同所述圆内的一组像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所标识的像素位置对应于所述圆的圆心时,使用由所标识的像素位置所定义的运动矢量来编码所述当前视频块;以及一发送器,它发送所编码的视频帧。
  9. 9
    如权利要求8所述的设备,其特征在于,当所述半径为(R)的圆内标识产生最低差值的视频块的所标识的像素位置不对应于所述圆的圆心时,所述编码器通过以下步骤编码所述视频帧:在不对应于所述半径为(R)的圆的圆心的、标识产生最低差值的视频块的所述像素位置周围定义另一半径为(R′)的圆;标识所述半径为(R′)的圆内标识产生最低差值的视频块的像素位置;当所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置对应于所述半径为(R′)的圆的圆心时,使用所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  10. 10
    如权利要求9所述的设备,其特征在于,R近似等于R′。
  11. 11
    如权利要求9所述的设备,其特征在于,当所述半径为(R)的圆内标识产生最低差值的视频块的所述像素位置不对应于所述半径为(R′)的圆的圆心时,所述编码器通过以下步骤编码所述视频帧:在不对应于所述半径为(R′)的圆的圆心的、标识产生最低差值的视频块的所述像素位置周围定义另一半径为(R″)的圆;标识所述半径为(R″)的圆内标识最低差值的视频块的像素位置;以及当所述半径为(R″)的圆内标识产生最低差值的视频块的所述像素位置对应于所述半径为(R″)的圆的圆心时,使用由所述半径为(R″)的圆内标识产生最低差值的视频块的所述像素位置所定义的运动矢量来编码所述当前视频帧。
  12. 12
    如权利要求8所述的设备,其特征在于,所述设备选自以下组:数字电视机、无线通信设备、个人数字助理、膝上计算机、台式机、数码相机、数码记录设备、具有视频能力的蜂窝无线电话、以及具有视频能力的卫星无线电话。
  13. 13
    一种视频编码方法,其特征在于,它包括:基于一视频帧内一组视频块的运动矢量来标识搜索空间内的一像素位置,所述组中的视频块位于相对于要编码的所述视频帧的当前视频块的确定位置上;以及在所标识的像素位置上为所述当前视频块来初始化一运动估计例程。
  14. 14
    如权利要求13所述的方法,其特征在于,位于相对于所述当前视频块的确定位置上的所述组中的所述视频块包括与所述当前视频块相邻的视频块。
  15. 15
    如权利要求13所述的方法,其特征在于,标识所述像素位置包括基于为位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块所计算的运动矢量来计算一组像素坐标。
  16. 16
    如权利要求15所述的方法,其特征在于,计算所述像素坐标组包括基于为位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块计算的运动矢量来计算一中值。
  17. 17
    如权利要求15所述的方法,其特征在于,计算所述像素坐标组包括基于为位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块计算的运动矢量来计算一平均值。
  18. 18
    如权利要求15所述的方法,其特征在于,计算所述像素坐标组包括基于为位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块计算的运动矢量来计算一加权函数,其中,在所述加权函数中,对为空间上更邻近所述当前视频块的所述组中的视频块计算的运动矢量给予比为空间上更远离所述当前视频块的所述组中的视频块计算的运动矢量更大的权值。
  19. 19
    如权利要求13所述的方法,其特征在于,它还包括使用所述运动估计例程来编码所述当前视频帧。
  20. 20
    如权利要求29所述的方法,其特征在于,所述运动估计例程包括:在所标识的像素位置周围定义一半径为(R)的圆;将所述当前视频块与同所述圆内的像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所述圆内标识产生最低差值的视频块的所标识的像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所标识的像素位置定义的运动矢量来编码所述当前视频块。
  21. 21
    如权利要求20所述的方法,其特征在于,当所述圆内标识产生最低差值的所标识的像素位置不对应于所述圆的圆心时:在所述圆内标识产生最低差值的视频块的所标识的像素位置周围定义另一半径为(R′)的圆;标识所述半径为(R′)的圆内标识产生最低差值的视频块的像素位置;以及当所述半径为(R′)的圆内标识产生最低差值的视频块的所标识的像素位置对应于所述半径为(R′)的圆的圆心时,使用由所述半径为(R′)的圆内标识产生最低差值的视频块的所标识的像素位置定义的运动矢量来编码所述当前视频块。
  22. 22
    如权利要求19所述的方法,其特征在于,所述运动估计例程包括基于可用于编码所述当前视频块的确定的计算资源量动态地调整要执行的计算数量。
  23. 23
    一种方法,其特征在于,它包括:为编码视频帧的当前视频块,在搜索空间内的一像素位置上初始化一运动估计例程;在所述像素位置周围定义一半径为(R)的圆;将所述当前视频块与同所述圆内的一组像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所标识的像素位置对应于所述圆的圆心时,使用由所标识的像素位置定义的运动矢量来编码所述当前视频块。
  24. 24
    如权利要求23所述的方法,其特征在于,它还包括当所标识的像素位置不对应于所述圆的圆心时:在所标识的像素位置周围定义另一半径为(R′)的圆;标识所述半径为(R′)的圆内标识产生最低差值的视频块的像素位置;以及当所述半径为(R′)的圆内标识产生最低差值的视频块的所标识的像素位置对应于所述半径为(R′)的圆的圆心时,使用由所述半径为(R′)的圆内标识产生最低差值的视频块的所标识的像素位置定义的运动矢量来编码所述当前视频帧。
  25. 25
    如权利要求24所述的方法,其特征在于,R近似等于R′。
  26. 26
    如权利要求24所述的方法,其特征在于,它还包括当所述半径为(R′)的圆内标识产生最低差值的视频块的所标识的像素位置不对应于所述半径为(R′)的圆的圆心时:在所述半径为(R′)的圆内标识产生最低差值的视频块的所标识的像素位置周围定义另一半径为(R″)的圆;标识所述半径为(R″)的圆内标识产生最低差值的视频块的像素位置;以及当所述半径为(R″)的圆内标识产生最低差值的视频块的所标识的像素位置对应于所述半径为(R″)的圆的圆心时,使用由所述半径为(R″)的圆内标识产生最低差值的视频块的所标识的像素位置定义的运动矢量来编码所述当前视频块。
  27. 27
    一种装置,其特征在于,它包括:一存储器,它储存计算机可执行指令;以及一处理器,它执行所述指令,以便:基于与一视频帧内一组视频块相关联的计算的运动矢量来标识与搜索空间内一视频块相关联的一像素位置,所述组中的视频块位于相对于要编码的当前视频块的确定的位置上;以及在所标识的像素位置上为所述当前视频块初始化一运动估计例程。
  28. 28
    如权利要求27所述的装置,其特征在于,所述处理器基于位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块相关联的运动矢量来计算一中值,用于标识所述像素位置。
  29. 29
    如权利要求27所述的装置,其特征在于,所述处理器基于位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块的像素坐标来计算一平均值,用于标识所述像素位置。
  30. 30
    如权利要求27所述的装置,其特征在于,所述处理器基于位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块的运动矢量来计算一加权函数,用于标识所述像素位置,其中,在所述加权函数中,向所述组中与空间上更邻近所述当前视频块的视频块相关联的运动矢量给予比所述组中与空间上更远离所述当前视频块的视频块相关联的运动矢量更大的权值。
  31. 31
    如权利要求27所述的装置,其特征在于,所述处理器执行所述指令以执行所述运动估计例程,其中,所述运动估计例程包括:在所标识的像素位置周围定义一半径为(R)的圆;将所述当前视频块与同所述圆内的像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所述圆内标识产生最低差值的视频块的所述像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  32. 32
    如权利要求27所述的装置,其特征在于,所述处理器执行所述指令以执行所述运动估计例程,其中,所述运动估计例程包括基于可用于编码所述当前视频块的确定的计算资源量动态地调整要执行的计算的数量。
  33. 33
    一种装置,其特征在于,它包括:一存储器,它储存计算机可执行指令;以及一处理器,它执行所述指令,以便:为编码一视频帧的当前视频块,在搜索空间内的一像素位置上初始化一运动估计例程;在所述像素位置周围定义一半径为(R)的圆;将所述当前块与同所述圆内一组像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所述圆内标识产生最低差值的视频块的所述像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  34. 34
    如权利要求33所述的装置,其特征在于,当所述半径为(R)的圆内标识产生最低差值的视频块的所述像素位置不对应于所述圆的圆心时,所述处理器执行指令,以便:在不对应于所述半径为(R)的圆心的、标识产生最低差值的视频块的所述像素位置周围定义另一半径为(R′)的圆;标识所述半径为(R′)的圆内标识产生最低差值的视频块的像素位置;以及当所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置对应于所述半径为(R′)的圆的圆心时,使用由所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  35. 35
    一种依照MPEG-4标准编码视频块的装置,其特征在于,所述装置:基于与一视频帧内一组视频块相关联的计算的运动矢量来标识与搜索空间内一视频块相关联的一像素位置,所述视频块组位于相对于要编码的所述视频帧的当前视频块的确定位置上;以及在所标识的像素位置上为所述当前视频块初始化一运动估计例程。
  36. 36
    如权利要求35所述的装置,其特征在于,所述装置包括一数字信号处理器,它执行计算机可读指令以依照MPEG-4标准编码所述视频块。
  37. 37
    一种依照MPEG-4标准编码视频块的装置,其特征在于,所述装置:为编码一视频帧的当前视频块,在搜索空间中的一像素位置上初始化一运动估计例程;在所述像素位置周围定义一半径为(R)的圆;将所述当前视频块与同所述圆内一组像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所述圆内标识产生最低差值的视频块的所述像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  38. 38
    如权利要求37所述的装置,其特征在于,所述装置包括一数字信号处理器,它执行计算机可读指令以依照MPEG-4标准编码所述视频块。
  39. 39
    一种包括指令的计算机可读媒质,其特征在于,当在编码符合MPEG-4标准的视频序列的设备中执行所述指令时:基于与一视频帧内一组视频块相关联的计算的运动矢量来标识与搜索空间内一视频块相关联的一像素位置,所述组中的视频块位于相对于要编码的所述视频帧的当前视频块的确定位置上;以及在所标识的像素位置上为所述当前视频块初始化一运动估计例程。
  40. 40
    如权利要求29所述的计算机可读媒质,其特征在于,位于相对于所述当前视频块的确定位置上的所述视频块包括与所述当前视频块相邻的视频块。
  41. 41
    如权利要求39所述的计算机可读媒质,其特征在于,它还包括指令,当所述指令被执行时,通过基于与位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块相关联的运动矢量来计算一组像素坐标,用于标识所述像素位置。
  42. 42
    如权利要求41所述的计算机可读媒质,其特征在于,计算所述像素坐标组包括基于位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块的运动矢量来计算一中值。
  43. 43
    如权利要求41所述的计算机可读媒质,其特征在于,计算所述像素坐标组包括基于位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块的运动矢量计算一平均值。
  44. 44
    如权利要求41所述的计算机可读媒质,其特征在于,计算所述像素坐标组包括基于与位于相对于所述当前视频块的确定位置上的所述视频块组中的视频块相关联的运动矢量来计算一加权函数,其中,在所述加权函数中,对与空间上更邻近所述当前视频块的所述组中的视频块相关联的运动矢量给予比空间上更远离所述当前视频块的所述组中的视频块相关联的运动矢量更大的权值。
  45. 45
    如权利要求29所述的计算机可读媒质,其特征在于,它还包括指令,当所述指令被执行时,使用所述运动估计例程来编码所述当前视频块。
  46. 46
    如权利要求45所述的计算机可读媒质,其特征在于,所述运动估计例程包括:在所标识的像素位置周围定义一半径为(R)的圆;将所述当前视频块与同所述圆内的像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所述圆内标识产生最低差值的视频块的所述像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  47. 47
    如权利要求46所述的计算机可读媒质,其特征在于,所述运动估计例程还包括当所述半径为(R)的圆内标识产生最低差值的视频块的所述像素位置不对应于所述圆的圆心时:在不对应于所述半径为(R)的圆的圆心的、标识产生最低差值的视频块的所述像素位置周围定义另一半径为(R′)的圆;标识所述半径为(R′)的圆内标识产生最低差值的视频块的像素位置;以及当所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置对应于所述半径为(R′)的圆的圆心时,使用所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频帧。
  48. 48
    如权利要求45所述的计算机可读媒质,其特征在于,所述运动估计例程包括基于可用于编码所述当前视频块的确定的计算资源量动态地调整要执行的计算数量。
  49. 49
    一种包括指令的计算机可读媒质,其特征在于,当在编码符合MPEG-4的视频序列的设备中执行所述指令时:为编码一视频帧的当前视频块,在搜索空间内的一像素位置上初始化一运动估计例程;在所述像素位置周围定义一半径为(R)的圆;将所述当前视频块与同所述圆内的一组像素位置相关联的搜索空间的视频块相比较;标识所述圆内标识产生最低差值的视频块的像素位置;以及当所述圆内标识产生最低差值的视频块的所述像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  50. 50
    如权利要求49所述的计算机可读媒质,其特征在于,当所述半径为(R)的圆内标识产生最低差值的视频块的所述像素位置不对应于所述圆的圆心时,当所述指令被执行时:在不对应于所述半径为(R)的圆的圆心的、标识产生最低差值的视频块的所述像素位置周围定义另一半径为(R′)的圆;标识所述半径为(R′)的圆内标识产生最低差值的视频块的像素位置;以及当所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置对应于所述半径为(R′)的圆的圆心时,使用由所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频块。
  51. 51
    如权利要求50所述的计算机可读媒质,其特征在于,R近似等于R′。
  52. 52
    如权利要求50所述的计算机可读媒质,其特征在于,当所述半径为(R′)的圆内标识产生最低差值的视频块的所述像素位置不对应于所述半径为(R′)的圆的圆心时,当所述指令被执行时:在不对应于所述半径为(R′)的圆的圆心的、标识产生最低差值的视频块的所述像素位置的周围定义另一半径为(R″)的圆;标识所述半径为(R″)的圆内标识产生最低差值的视频块的像素位置;当所述半径为(R″)的圆内标识产生最低差值的视频块的所述像素位置对应于所述半径为(R″)的圆的圆心时,使用由所述半径为(R″)的圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述的当前视频帧。
  53. 53
    一种装置,其特征在于,它包括:用于基于与一视频帧内一组视频块相关联的计算的运动矢量来标识与搜索空间内一视频块相关联的一像素位置的装置,所述组中的视频块位于相对于要编码的所述视频帧的当前视频块的确定位置上;以及用于在所标识的像素位置上为所述当前视频块初始化一运动估计例程的装置。
  54. 54
    一种装置,其特征在于,它包括:用于为编码一视频帧的当前帧,在搜索空间内一像素位置上初始化一运动估计例程的装置;用于在所述像素位置周围定义一半径为(R)的圆的装置;用于将所述当前视频块与同所述圆内的一组像素位置相关联的搜索空间的视频块相比较的装置;用于标识所述圆内标识产生最低差值的视频块的像素位置的装置;以及用于当所述圆内标识产生最低差值的视频块的所述像素位置对应于所述圆的圆心时,使用由所述圆内标识产生最低差值的视频块的所述像素位置定义的运动矢量来编码所述当前视频帧的装置。
Independent claims54