CN1663278A

Techniques for video encoding and decoding

Abstract

The present invention describes a video coding technique that can reduce the processing cycle and the number of storage transfers necessary for coding a video sequence. In this manner, the disclosed video encoding technology can increase the video encoding speed and reduce power consumption. Generally, video coding techniques use candidate memories for storing columnar video blocks corresponding to the search space of the motion estimation program. The memory control unit addresses the candidate memory to retrieve multiple pixels in parallel for comparison with the pixels in the video block to be encoded at the same time, for example, using Sum of Absolute Difference (SAD) or Sum of Square Difference (SSD) technology. A difference processor can perform parallel calculations. In addition, for subsequent video blocks to be encoded, the candidate memory can be gradually updated by loading a new list of video blocks instead of reloading the entire search space.

CN1663278A, drawing sheet 1
Sheet 1 of 16

Term

Term ended

Projected expiry passed 18 June 2023, 3.3 years ago.

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

35 claims: 8 independent, 27 dependent

  1. 1
    一种方法,其特征在于,包括以下步骤:将一组像素值载入存储器以定义第一搜索空间,第一搜索空间定义第一多列候选视频块,第一多列候选视频块在运动估计程序的第一迭代期间与待编码的第一视频块比较;执行第一迭代,将第一视频块与第一搜索空间中的候选视频块比较;和重新载入多列的一个子集以定义第二搜索空间,第二搜索空间定义第二多列候选视频块,第二多列候选视频块在运动估计程序的第二迭代期间与待编码的第二视频块比较。
  2. 2
    如权利要求1所述的方法,其特征在于,还包括执行第二迭代,将第二视频块与第二搜索空间中的候选视频块比较。
  3. 3
    如权利要求2所述的方法,其特征在于,还包括:重新载入多列的另一个子集以定义第三搜索空间,第三搜索空间定义第三多列候选视频块,第三多列候选视频块在运动估计程序的第三迭代期间与待编码的第三视频块比较;和执行第三迭代,将第三视频块与第三搜索空间中的候选视频块比较。
  4. 4
    如权利要求3所述的方法,其特征在于,还包括:重新载入多列的另一个子集以定义第四搜索空间,第四搜索空间定义第四多列候选视频块,第四多列候选视频块在运动估计程序的第四迭代期间与待编码的第四视频块比较;和执行第四迭代,将第四视频块与第四搜索空间中的候选视频块比较。
  5. 5
    如权利要求1所述的方法,其特征在于,执行第一迭代的步骤包括:在待编码的第一视频块的像素值和第一搜索空间中候选视频块之一的像素值之间并行地执行多个差值计算。
  6. 6
    一种方法,其特征在于,包括以下步骤:在待编码的宏块的像素和搜索空间中候选宏块的像素之间执行差值计算;根据所述计算,产生一组微块差值,微块差值分别表示形成待编码宏块的多个微块中的每个与形成候选宏块的微块之间的差别;和根据所述计算产生宏块差值,宏块差值表示待编码的宏块与候选宏块之间的差别。
  7. 7
    如权利要求6所述的方法,其特征在于,执行差值计算的步骤包括:并行地执行多个差值计算。
  8. 8
    如权利要求7所述的方法,其特征在于,并行地执行的多个差值计算对应于微块中之一的一行。
  9. 9
    一种装置,其特征在于,包括:根据运动估计程序对视频帧编码的编码器,编码器被构造成将一组像素值载入存储器以定义第一搜索空间,第一搜索空间定义第一多列候选视频块,第一多列候选视频块在运动估计程序的第一迭代期间与待编码的第一视频块比较,执行第一迭代将第一视频块与第一搜索空间中的候选视频块比较,和重新载入多列的一个子集以定义第二搜索空间,第二搜索空间定义第二多列候选视频块,第二多列候选视频块在运动估计程序的第二迭代期间与待编码的第二视频块比较;和发射机,用于发送经编码的视频帧。
  10. 10
    如权利要求9所述的装置,其特征在于,所述编码器还被构造成执行第二迭代,将第二视频块与第二搜索空间中的候选视频块比较。
  11. 11
    如权利要求10所述的装置,其特征在于,所述编码器还被构造成重新载入多列的另一个子集以定义第三搜索空间,第三搜索空间定义第三多列候选视频块,第三多列候选视频块在运动估计程序的第三迭代期间与待编码的第三视频块比较,并执行第三迭代,将第三视频块与第三搜索空间中的候选视频块比较。
  12. 12
    如权利要求11所述的装置,其特征在于,所述编码器还被构造成重新载入多列的另一个子集以定义第四搜索空间,第四搜索空间定义第四多列候选视频块,第四多列候选视频块在运动估计程序的第四迭代期间与待编码的第四视频块比较,并执行第四迭代,将第四视频块与第四搜索空间中的候选视频块比较。
  13. 13
    如权利要求9所述的装置,其特征在于,所述编码器被构造成在待编码的第一视频块的像素值和第一搜索空间中候选视频块之一的像素值之间并行地执行多个差值计算。
  14. 14
    如权利要求9所述的装置,其特征在于,所述装置选自以下装置:数字电视,无线通信装置,个人数字助理,手提电脑,台式电脑,数码相机,数字记录装置,具有视频功能的蜂窝无线电电话,和具有视频功能的卫星无线电电话。
  15. 15
    如权利要求9所述的装置,其特征在于,还包括视频捕获装置,用于实时地捕获视频帧,所述编码器被构造成实时地对视频帧编码,发射机被构造成实时地发送经编码的视频帧。
  16. 16
    一种装置,其特征在于,包括:对视频帧编码的编码器,编码器被构造成在待编码的宏块的像素和搜索空间中候选宏块的像素之间执行差值计算,根据所述差值计算产生一组微块差值,微块差值分别表示形成待编码宏块的多个微块中的每个与形成候选宏块的微块之间的差别,并根据所述计算产生宏块差值,宏块差值表示待编码的宏块与候选宏块之间的差别;和发射机,用于发送经编码的视频帧。
  17. 17
    如权利要求16所述的装置,其特征在于,所述编码器被构造成并行地执行多个差值计算。
  18. 18
    如权利要求16所述的装置,其特征在于,并行执行的多个差值计算对应于微块中之一的一行。
  19. 19
    如权利要求16所述的装置,其特征在于,还包括视频捕获装置,用于实时地捕获视频帧,所述编码器被构造成实时地对视频帧编码,发射机被构造成实时地发送经编码的视频帧,其中根据运动图像专家组4(MPEG-4)标准对视频帧编码。
  20. 20
    如权利要求16所述的装置,其特征在于,所述装置是电池供电的无线装置。
  21. 21
    一种装置,其特征在于,包括:存储器;存储器控制单元,它将一组像素值载入存储器以定义第一搜索空间,第一搜索空间定义第一多列候选视频块,第一多列候选视频块在运动估计程序的第一迭代期间与待编码的第一视频块比较,并重新载入多列的一个子集以定义第二搜索空间,第二搜索空间定义第二多列候选视频块,第二多列候选视频块在运动估计程序的第二迭代期间与待编码的第二视频块比较;和处理器,它执行第一迭代将第一视频块与第一搜索空间中的候选视频块比较并执行第二迭代将第二视频块与第二搜索空间中的候选视频块比较。
  22. 22
    如权利要求21所述的装置,其特征在于,所述存储器控制单元重新载入多列的另一个子集以定义第三搜索空间,第三搜索空间定义第三多列候选视频块,第三多列候选视频块在运动估计程序的第三迭代期间与待编码的第三视频块比较;所述处理器执行第三迭代,将第三视频块与第三搜索空间中的候选视频块比较。
  23. 23
    如权利要求22所述的装置,其特征在于,所述存储器控制单元重新载入多列的另一个子集以定义第四搜索空间,第四搜索空间定义第四多列候选视频块,第四多列候选视频块在运动估计程序的第四迭代期间与待编码的第四视频块比较;所述处理器执行第四迭代,将第四视频块与第四搜索空间中的候选视频块比较。
  24. 24
    如权利要求21所述的装置,其特征在于,所述处理器被构造成在待编码的视频块之一和一个搜索空间中的候选视频块之一之间并行地执行多个差值计算。
  25. 25
    一种装置,其特征在于,包括:存储器,它存储计算机可读指令;和处理器,用于执行所述指令以实现:在待编码的宏块的像素和搜索空间中候选宏块的像素之间执行差值计算;根据所述计算产生一组微块差值,微块差值分别表示形成待编码宏块的多个微块中的每个与形成候选宏块的微块之间的差别;和根据所述计算产生宏块差值,宏块差值表示待编码的宏块与候选宏块之间的差别。
  26. 26
    如权利要求25所述的装置,其特征在于,所述处理器被构造成并行地执行多个差值计算。
  27. 27
    如权利要求26所述的装置,其特征在于,并行执行的多个差值计算对应于微块中之一的一行。
  28. 28
    一种根据运动图像专家组(MPEG)标准对视频块进行编码的装置,其特征在于,所述装置被构造成:将一组像素值载入存储器以定义第一搜索空间,第一搜索空间定义第一多列候选视频块,第一多列候选视频块在运动估计程序的第一迭代期间与待编码的第一视频块比较;执行第一迭代将第一视频块与第一搜索空间中的候选视频块比较;和重新载入多列的一个子集以定义第二搜索空间,第二搜索空间定义第二多列候选视频块,第二多列候选视频块在运动估计程序的第二迭代期间与待编码的第二视频块比较。
  29. 29
    如权利要求28所述的装置,其特征在于,所述装置被构造成执行第二迭代将第二视频块与第二搜索空间中的候选视频块比较。
  30. 30
    如权利要求29所述的装置,其特征在于,所述装置还被构造成:重新载入多列的另一个子集以定义第三搜索空间,第三搜索空间定义第三多列候选视频块,第三多列候选视频块在运动估计程序的第三迭代期间与待编码的第三视频块比较;并执行第三迭代,将第三视频块与第三搜索空间中的候选视频块比较。
  31. 31
    如权利要求30所述的装置,其特征在于,所述装置还被构造成:重新载入多列的另一个子集以定义第四搜索空间,第四搜索空间定义第四多列候选视频块,第四多列候选视频块在运动估计程序的第四迭代期间与待编码的第四视频块比较;并执行第四迭代,将第四视频块与第四搜索空间中的候选视频块比较。
  32. 32
    如权利要求28所述的装置,其特征在于,所述装置被构造成在待编码的第一视频块的像素值和第一搜索空间中候选视频块之一的像素值之间并行地执行多个差值计算。
  33. 33
    一种根据运动图像专家组(MPEG)标准对视频块进行编码的装置,其特征在于,所述装置被构造成:在待编码的宏块的像素和搜索空间中候选宏块的像素之间执行差值计算;根据所述计算,产生一组微块差值,微块差值分别表示形成待编码宏块的多个微块中的每个与形成候选宏块的微块之间的差别;和根据所述计算产生宏块差值,宏块差值表示待编码的宏块与候选宏块之间的差别。
  34. 34
    如权利要求33所述的装置,其特征在于,所述装置被构造成并行地执行多个差值计算。
  35. 35
    如权利要求34所述的装置,其特征在于,并行执行的多个差值计算对应于微块中之一的一行。
Independent claims35