WO2016176849A1 - 一种自适应运动估计方法和模块 - Google Patents

一种自适应运动估计方法和模块 Download PDF

Info

Publication number
WO2016176849A1
WO2016176849A1 PCT/CN2015/078429 CN2015078429W WO2016176849A1 WO 2016176849 A1 WO2016176849 A1 WO 2016176849A1 CN 2015078429 W CN2015078429 W CN 2015078429W WO 2016176849 A1 WO2016176849 A1 WO 2016176849A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion
image block
current image
intensity
motion estimation
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.)
Ceased
Application number
PCT/CN2015/078429
Other languages
English (en)
French (fr)
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.)
Peking University Shenzhen Graduate School
Original Assignee
Peking University Shenzhen Graduate School
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 Peking University Shenzhen Graduate School filed Critical Peking University Shenzhen Graduate School
Priority to CN201580000246.1A priority Critical patent/CN104995917B/zh
Priority to US15/567,155 priority patent/US20180109791A1/en
Priority to PCT/CN2015/078429 priority patent/WO2016176849A1/zh
Publication of WO2016176849A1 publication Critical patent/WO2016176849A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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

Definitions

  • the present application relates to the field of video coding and decoding, and in particular, to an adaptive motion estimation method and module.
  • motion estimation is the most important part of interframe prediction. In some video coding standards. It even takes up more than half of the coding time. In video compression coding, motion estimation is an effective means to reduce the temporal redundancy of video sequences, and its computational efficiency has a significant impact on the performance of the entire coding system.
  • Motion estimation algorithms generally have two methods: pixel recursion and block matching. Block matching is the most commonly used method. The highest precision of block matching method is also the full search (Full Search, FS) algorithm. In order to speed up the search speed, many fast algorithms have been proposed to reduce the computational complexity at the cost of losing certain search precision, such as Three Step Search (TSS), Diamond Search (DS), and six sides. Hexagon-based Search (HEXBS) and so on.
  • TSS Three Step Search
  • DS Diamond Search
  • HEXBS Hexagon-based Search
  • the present application provides an adaptive motion estimation method and module, which can improve the search speed of motion estimation as much as possible without affecting the accuracy of motion estimation.
  • the present application provides an adaptive motion estimation method, including:
  • the motion intensity is used to represent the motion amplitude of the object in the video image frame and/or Or the frequency of movement;
  • Motion estimation is performed on the current image block according to the selected motion estimation method.
  • determining whether the motion intensity of the current image block meets a preset condition If not satisfied, determining that the motion intensity of the current image block is high, selecting a first motion estimation method; if it is satisfied, determining that the motion intensity of the current image block is low, selecting a second motion estimation method; the second motion estimation method It is faster than the first motion estimation method.
  • the motion intensity of the current image block is determined based on motion information of the current image block and its adjacent encoded image blocks.
  • the motion strength of the current image block is determined based on the predicted motion vector of the current image block and the motion vector difference of the adjacent encoded image block.
  • the preset condition is:
  • TH1 and TH2 are respectively two preset threshold values
  • f is a vector operation function
  • PMV is a predicted motion vector of the current image block
  • MVD is a motion vector difference of adjacent coded image blocks of the current image block.
  • an adaptive motion estimation module including:
  • a macroblock dividing unit configured to divide a video frame to be encoded into macroblocks
  • a macroblock selecting unit configured to sequentially select an image block in a video frame as a current image block
  • a motion intensity determining unit configured to determine a motion intensity of the current image block, and adaptively select a motion estimation method for performing motion estimation on the current image block according to the motion intensity of the current image block; the motion intensity is used to represent the video image frame The amplitude of motion and/or the frequency of motion of the medium object;
  • the motion estimating unit performs motion estimation on the current image block according to the motion estimation method selected by the motion intensity determining unit.
  • the exercise intensity determining unit is configured to determine whether the motion intensity of the current image block satisfies a preset condition, and if it is not satisfied, determining that the motion intensity of the current image block is high, selecting the first motion estimation method; If it is satisfied, it is determined that the motion intensity of the current image block is low, then the second motion estimation method is selected; the second motion estimation method is faster than the first motion estimation method.
  • the exercise intensity determination unit is configured to determine the exercise intensity of the current image block based on the motion information of the current image block and its adjacent encoded image block.
  • the exercise intensity determining unit is configured to determine the motion intensity of the current image block according to the predicted motion vector of the current image block and the motion vector difference of the adjacent encoded image block.
  • the preset condition is:
  • TH1 and TH2 are respectively two preset threshold values
  • f is a vector operation function
  • PMV is a predicted motion vector of the current image block
  • MVD is a motion vector difference of adjacent coded image blocks of the current image block.
  • the adaptive motion estimation method and module provided by the present application determine the motion intensity of the image block before performing motion estimation on the image block, and adaptively select the motion for motion estimation of the current image block according to the motion intensity of the current image block. Estimation methods to improve the efficiency of motion estimation in video codecs.
  • 1 is a schematic diagram of selection of adjacent coded image blocks for dividing a macroblock and a current image block in video coding
  • FIG. 2 is a coding block diagram used in a video coding standard
  • FIG. 3 is a schematic diagram of an adaptive motion estimation module according to an embodiment of the present application.
  • FIG. 4 is a schematic flow chart of an adaptive motion estimation method according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of selection of adjacent coded image blocks of a current image block in an embodiment of the present application.
  • a frame image is divided into macroblocks (image blocks) of 16*16 pixels, each macroblock has a fixed size, and each macroblock has a size of 16*16 pixels, and the processing order of the images is First, the image block of the first line is processed from left to right, and then the second line is processed in sequence until the entire frame image is processed.
  • the motion vector of the current image block is processed with the motion vector of its reference image block as a reference value when processing the current image block P. Due to each image block in the frame image and its adjacent coded picture The image blocks have the highest similarity, so in general, the reference image block uses the adjacent coded image blocks of the current image block. As shown in FIG. 1, the reference image blocks of the current image block P are A, B, C, and D.
  • the upper block, the upper right block, and the left block image block adjacent to the current image block may also be selected as the reference image block, such as the reference image block of the current image block P in FIG. A, B, C; if the upper right block image block of the current image block does not exist (the current image block is located in the first column on the right) or the image block C does not have a motion vector, then the upper left block image block of the current image block is used.
  • the reference image block of the current image block P in FIG. 1 is selected as A, B, and D.
  • adjacent image blocks of the current image block may be defined according to actual needs.
  • Figure 2 Please refer to Figure 2 for the coding block diagram used by the current mainstream video coding standards.
  • the input frame image is divided into a plurality of macroblocks (image blocks), and then the current image block is subjected to intra prediction (intra coding) or motion compensation (interframe coding), and the coding mode with the least coding cost is selected by the mode decision process.
  • intra prediction intra prediction
  • interframe coding motion compensation
  • a prediction block of the current image block is obtained, and the current image block is compared with the prediction block to obtain a residual value, and the residual is transformed, quantized, scanned, and entropy encoded to form a code stream sequence output.
  • the code block diagram shown in Figure 2 is well known to those skilled in the art and will not be described in detail herein.
  • the inventive concept of the present application is to propose a context-based adaptive motion estimation method, which uses the motion information of a current image block and its adjacent image blocks to determine the motion intensity of the current image block. If the exercise intensity is low, a motion estimation method with a fast search speed can be used; otherwise, a more complicated motion method is used to improve the accuracy. Commonly used motion information includes predicted motion vectors, motion vectors, motion vector differences, and the like of image blocks.
  • This embodiment provides an adaptive motion estimation method and module for video coding.
  • the adaptive motion estimation module includes a macroblock dividing unit 101, a macroblock selecting unit 104, an exercise intensity judging unit 102, and a motion estimating unit 103.
  • the adaptive motion estimation method includes the following steps:
  • Step 1.1 The macroblock dividing unit 101 divides the video frame to be encoded into macroblocks.
  • Step 1.2 The macroblock selecting unit 104 sequentially selects an image block in the video frame as the current image block for processing.
  • the processing order of the image blocks may be in a manner from left to right and top to bottom.
  • the exercise intensity determining unit 102 determines the motion intensity of the current image block. In this embodiment, it is determined whether the motion intensity of the current image block satisfies a preset condition. If not, the motion of the current image block is determined. If the intensity is high, the first motion estimation method is selected; if it is satisfied, it is determined that the motion intensity of the current image block is low, then the second motion estimation is selected. method.
  • the intensity of motion is used to characterize the magnitude of motion and/or the frequency of motion of objects in a video image frame. For example, in a video image frame, if the motion amplitude and/or the motion frequency of the object is large, the motion of the object is severe, and the motion intensity of the current image is large.
  • motion estimation is performed; on the contrary, motion estimation of the current image (block) can be performed using a motion estimation method with a faster search speed. Therefore, under the premise of ensuring the accuracy of motion estimation, the search speed of motion estimation can be improved as much as possible to improve the overall efficiency of motion estimation.
  • the second motion estimation method is faster than the first motion estimation method.
  • the first motion estimation method may be a TZ (Test Zone) search algorithm, which has a slow search speed but high accuracy and is suitable for an image with high exercise intensity;
  • the second motion estimation method may be a hexagonal search algorithm. Its accuracy is poor, but the search speed is slow, suitable for images with low exercise intensity.
  • the first motion estimation method and the second motion estimation method may be other search algorithms.
  • only the TZ search algorithm and the hexagon search algorithm are taken as an example for description.
  • the first motion estimation method and the second motion estimation method may respectively include multiple search algorithms. In the video coding process, after the first motion estimation method and the second motion estimation method are selected, Some conditions select a better algorithm from a variety of search algorithms to perform motion estimation on the image.
  • the exercise intensity determining unit 102 determines the motion intensity of the current image block according to the motion information of the current image block and its adjacent coded image block. Further, the exercise intensity determination unit 102 determines the exercise intensity of the current image block based on the predicted motion vector (PMV) of the current image block and the motion vector difference (MVD) of the adjacent encoded image block. That is, in the embodiment, when the motion intensity determining unit 102 determines the motion intensity of the current image block according to the motion information of the current image block and its adjacent coded image block, the motion information of the current image block selects the motion vector of the current image block. The motion information of the adjacent coded image block selects a motion vector difference of the adjacent coded image block. In other embodiments, the motion information of the current image block and the adjacent coded image block may also select other parameters, such as motion information of adjacent coded image blocks, and motion vectors of adjacent coded image blocks.
  • the predicted motion vector of the current image block is PMV, and the motion vector difference (MVD1, MVD2, MVD3, respectively) of the adjacent coded image blocks of the left, upper, and upper right is selected as a reference to the current image. The strength of the block is judged.
  • the motion vector difference of the adjacent coded image block in the upper left position may be selected as a reference; when the current image block does not exist on the left side
  • only the motion vector difference of the upper and upper right adjacent coded image blocks may be selected as a reference; when the current image block does not exist or only the adjacent coded image block of the left position exists,
  • the motion intensity determination may not be performed on the current image block, and a motion estimation method may be directly determined to perform motion estimation on the current image block.
  • the exercise intensity determination unit 102 determines whether the current image block satisfies the following condition. If it is satisfied, it determines that the current image block has a low exercise intensity, and if not, determines that the current image block has a high exercise intensity.
  • TH1 and TH2 are respectively two preset threshold values, and their values can be selected according to needs;
  • f is a vector operation function, for example, f is a function representing the square of the modulus of the obtained vector, to simplify the operation and avoid the complexity.
  • the square root operation is a vector operation function, for example, f is a function representing the square of the modulus of the obtained vector, to simplify the operation and avoid the complexity. The square root operation.
  • the predicted motion vector of the current image block is calculated from known information. Commonly used calculation methods include moving the motion vector of the image block at the current position of the previous frame, the median or mean value of the motion vector of the coded image block around the current image block, or directly using the motion vector of an adjacent coded image block. As the predicted motion vector of the current image block. After the motion vector is obtained, the motion estimation process is used, that is, the TZ search algorithm or the hexagon search algorithm is used to find a more accurate motion vector, which is worse than the motion vector. When the video is encoded, the code stream is actually recorded. That is, the difference between the motion vector obtained by the motion estimation and the motion vector predicted (motion vector difference), the value of the motion vector difference is small, even 0, so that the code rate can be saved, and the code stream required for transmitting the video is smaller.
  • Step 1.3 The exercise intensity judgment unit 102 determines whether the current image block satisfies the condition:
  • step 1.4 If yes, go to step 1.4; if not, it means that the current image block has high intensity of motion, then go to step 1.6.
  • Step 1.4 The exercise intensity judgment unit 102 determines whether the current image block satisfies the condition:
  • step 1.5 If yes, go to step 1.5; if not, it means that the current image block has high intensity of motion, then go to step 1.6.
  • Step 1.5 At this time, the exercise intensity judging unit 102 judges that the exercise intensity of the current image block is low. Therefore, the hexagon search algorithm with a faster search speed is selected to perform motion estimation on the current image block.
  • Step 1.6 At this time, the exercise intensity judging unit 102 judges that the exercise intensity of the current image block is high. Therefore, the hexagon search algorithm with high search accuracy is selected to perform motion estimation on the current image block.
  • Step 1.7 Determine whether to process the full frame image. If no, go to step 1.2 and select The next image block is selected as the current image block, and processing continues; if so, the processing of the current frame image is ended.
  • the adaptive motion estimation method and module for video coding uses context information (motion information of adjacent coded image blocks) to calculate the motion intensity of the current image block, thereby adaptively adjusting the motion used.
  • the estimation method is implemented to reduce the overall complexity and improve the search speed without affecting the accuracy of motion estimation.

Landscapes

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

Abstract

一种自适应运动估计方法和模块,该模块包括宏块划分单元、宏块选择单元、运动强度判断单元和运动估计单元。宏块划分单元待编码的视频帧划分宏块。宏块选择单元用于依次选择视频帧中的图像块作为当前图像块。运动强度判断单元用于判断当前图像块的运动强度,并根据当前图像块的运动强度自适应选择用于对当前图像块进行运动估计的运动估计方法。运动估计单元根据运动强度判断单元所选择的运动估计方法对当前图像块进行运动估计。在对图像块进行运动估计之前,先判断图像块的运动强度,根据当前图像块的运动强度自适应选择用于对当前图像块进行运动估计的运动估计方法,以提高视频编解码中运动估计的效率。

Description

一种自适应运动估计方法和模块 技术领域
本申请涉及视频编解码领域,具体涉及一种自适应运动估计方法和模块。
背景技术
随着众多如数字电视、互联网高清视频、数码相机、数码摄像机等高清数码产品的逐渐普及,人们对视频清晰度的要求越来越高,视频的分辨率也越来越高。因此,新一代高效视频编码标准的开发迫在眉睫。
大多数主流的视频编解码标准为了充分利用视频的时间冗余性,都采用帧间预测的方法来提高压缩的效率,而运动估计是帧间预测中最重要的环节,在某些视频编码标准中甚至占用了一半以上的编码时间。在视频压缩编码中,运动估计作为减少视频序列时间冗余度的有效手段,其运算效率对整个编码系统的性能有着重大影响。运动估计算法一般有像素递归法和块匹配法两种,其中块匹配法是现在最常用的方法。块匹配法中精度最高运算复杂度也最大的是全搜索(Full Search,FS)算法。为加快搜索速度人们提出了许多快速算法,以损失一定的搜索精度为代价来降低运算复杂度,如三步搜索法(Three Step Search,TSS)、菱形搜索法(Diamond Search,DS)、六边形搜索法(Hexagon-based Search,HEXBS)等。
然而,随着分辨率的不断提高,运动估计的准确性与高效性越来越受到重视。现有的运动估计方法要么速度快但不适合快速运动的场景;要么性能好但设计得很复杂,搜索速度慢。
发明内容
本申请提供了一种自适应运动估计方法和模块,能够在不影响运动估计准确性的情况下,尽可能提高运动估计的搜索速度。
根据本申请的第一方面,本申请提供了一种自适应运动估计方法,包括:
将待编码的视频帧划分宏块;
依次选择视频帧中的图像块作为当前图像块;
判断当前图像块的运动强度,并根据当前图像块的运动强度自适应选择用于对当前图像块进行运动估计的运动估计方法;所述运动强度用于表征视频图像帧中物体的运动幅度和/或运动频率;
根据所选择的运动估计方法对当前图像块进行运动估计。
在某些实施例中,判断当前图像块的运动强度是否满足预设条件, 如果不满足,判断为当前图像块的运动强度高,则选择第一运动估计方法;如果满足,判断为当前图像块的运动强度低,则选择第二运动估计方法;所述第二运动估计方法比第一运动估计方法的搜索速度快。
在某些实施例中,根据当前图像块及其相邻已编码图像块的运动信息判断当前图像块的运动强度。
在某些实施例中,根据当前图像块的预测运动矢量和相邻已编码图像块的运动矢量差判断当前图像块的运动强度。
在某些实施例中,所述预设条件为:
f(PMV)<TH1且
Figure PCTCN2015078429-appb-000001
其中,TH1和TH2分别为两个预设的门限值,f为矢量运算函数,PMV为当前图像块的预测运动矢量,MVD为当前图像块的相邻已编码图像块的运动矢量差。
根据本申请的第二方面,本申请提供了一种自适应运动估计模块,包括:
宏块划分单元,用于将待编码的视频帧划分宏块;
宏块选择单元,用于依次选择视频帧中的图像块作为当前图像块;
运动强度判断单元,用于判断当前图像块的运动强度,并根据当前图像块的运动强度自适应选择用于对当前图像块进行运动估计的运动估计方法;所述运动强度用于表征视频图像帧中物体的运动幅度和/或运动频率;
运动估计单元,根据运动强度判断单元所选择的运动估计方法对当前图像块进行运动估计。
在某些实施例中,所述运动强度判断单元用于判断当前图像块的运动强度是否满足预设条件,如果不满足,判断为当前图像块的运动强度高,则选择第一运动估计方法;如果满足,判断为当前图像块的运动强度低,则选择第二运动估计方法;所述第二运动估计方法比第一运动估计方法的搜索速度快。
在某些实施例中,运动强度判断单元用于根据当前图像块及其相邻已编码图像块的运动信息判断当前图像块的运动强度。
在某些实施例中,运动强度判断单元用于根据当前图像块的预测运动矢量和相邻已编码图像块的运动矢量差判断当前图像块的运动强度。
在某些实施例中,所述预设条件为:
f(PMV)<TH1且
Figure PCTCN2015078429-appb-000002
其中,TH1和TH2分别为两个预设的门限值,f为矢量运算函数,PMV为当前图像块的预测运动矢量,MVD为当前图像块的相邻已编码图像块的运动矢量差。
本申请提供的自适应运动估计方法和模块,在对图像块进行运动估计之前,先判断图像块的运动强度,根据当前图像块的运动强度自适应选择用于对当前图像块进行运动估计的运动估计方法,以提高视频编解码中运动估计的效率。
附图说明
图1为视频编码中划分宏块及当前图像块的相邻已编码图像块的选择示意图;
图2为一种视频编码标准采用的编码框图;
图3为本申请一种实施例中自适应运动估计模块的示意图;
图4为本申请一种实施例中自适应运动估计方法的流程示意图;
图5为本申请一种实施例中当前图像块的相邻已编码图像块的选择示意图。
具体实施方式
在目前主流视频编解码标准(如MPEG4、H.264/AVC、H.264/AVS)和相关视频处理应用(如超分辨率及帧率上采样)中,大多数的运动估计方法都按照从上到下从左往右的扫描顺序对二维视频帧中的图像块进行扫描来搜索对应的运动矢量。同时,在对每一个图像块进行估计时,一般用其左侧和上方区域中的相邻块的运动矢量作为空间参考运动矢量,用前一帧对应图像块右下方的图像块的运动矢量作为时间参考运动矢量,然后采用某种策略在参考运动矢量中选择最准确的作为当前图像块的初始运动矢量。运用这一种方法,先估计出的运动矢量能够按照从上到下从左往右的扫描顺序从左上的图像块传递到右下角的图像块,起到逐步细化运动矢量的目的。
请参考图1,例如将一帧图像划分为16*16像素的宏块(图像块),每个宏块具有固定大小,每一宏块的大小为16*16像素,对图像的处理顺序为,先从左到右处理第一行的图像块,然后再依次处理第二行,直到整帧图像被处理完毕。
假设图像块P为待编码的当前图像块,在某些实施例中,在对当前图像块P进行处理时,以其参考图像块的运动矢量作为参考值来计算当前图像块的运动矢量。由于帧图像中的每一个图像块与其相邻已编码图 像块具有最高的相似性,因此,一般的,参考图像块采用当前图像块的相邻已编码图像块。如图1中,当前图像块P的参考图像块为A、B、C、D。
在某些实施例中,参考图像块在选择时,也可以选择当前图像块相邻的上块、右上块和左块图像块作为参考图像块,例如图1中当前图像块P的参考图像块为A、B、C;如果当前图像块的右上块图像块不存在(当前图像块位于右边第一列时)或者图像块C不具有运动矢量时,则用当前图像块的左上块图像块来代替,例如图1中当前图像块P的参考图像块选为A、B、D。
所以,在具体实施例中,当前图像块的相邻图像块可以根据实际需求进行定义。
请参考图2,为当前主流的视频编码标准采用的编码框图。对输入的帧图像划分成若干宏块(图像块),然后对当前图像块进行帧内预测(帧内编码)或运动补偿(帧间编码),通过模式决策过程选择编码代价最小的编码模式,从而得到当前图像块的预测块,当前图像块与预测块相差得到残差值,并对残差进行变换、量化、扫描和熵编码,形成码流序列输出。图2所示编码框图为本领域技术人员所熟知,此处不对其进行细述。
为解决现有技术存在的缺陷,本申请的发明构思在于:提出一种基于上下文的自适应运动估计方法,通过利用当前图像块以及其相邻图像块的运动信息来判断当前图像块的运动强度,如果运动强度低,就可以采用搜索速度快的运动估计方法;否则,采用较复杂的运动方法来提高准确性。常用的运动信息有图像块的预测运动矢量、运动矢量、运动矢量差等。
下面通过具体实施方式结合附图对本申请作进一步详细说明。
本实施例提供了一种用于视频编码的自适应运动估计方法和模块。
请参考图3,自适应运动估计模块包括宏块划分单元101、宏块选择单元104、运动强度判断单元102和运动估计单元103。
请参考图4,自适应运动估计方法包括下面步骤:
步骤1.1:宏块划分单元101将待编码的视频帧划分宏块。
步骤1.2:宏块选择单元104依次选择视频帧中的图像块作为当前图像块,以进行处理。本实施例中,图像块的处理顺序可以按照从左往右、从上到下的方式。
在步骤1.2后,运动强度判断单元102便对当前图像块的运动强度进行判断,本实施例中,判断当前图像块的运动强度是否满足预设条件,如果不满足,判断为当前图像块的运动强度高,则选择第一运动估计方法;如果满足,判断为当前图像块的运动强度低,则选择第二运动估计 方法。运动强度用于表征视频图像帧中物体的运动幅度和/或运动频率。例如在视频图像帧中,物体运动幅度和/或运动频率较大,则说明物体运动剧烈,当前图像的运动强度较大,有必要采用搜索准确率更高的运动估计方法对当前图像(块)进行运动估计;相反,则可以采用搜索速度更快的运动估计方法对当前图像(块)进行运动估计。从而可以在保证运动估计准确性的前提下,尽可能提高运动估计的搜索速度,以提高运动估计的整体效率。
本实施例中,第二运动估计方法比第一运动估计方法的搜索速度快。具体的,第一运动估计方法可以为TZ(Test Zone)搜索算法,其搜索速度较慢,但准确性高,适用于运动强度高的图像;第二运动估计方法可以为六边形搜索算法,其准确性较差,但搜索速度较慢,适用于运动强度低的图像。
在其他实施例中,第一运动估计方法和第二运动估计方法可以为其他搜索算法,本实施例只是以TZ搜索算法和六边形搜索算法为例进行说明。并且,在某些实施例中,第一运动估计方法和第二运动估计方法分别可以包括多种搜索算法,视频编码过程中,选择好第一运动估计方法和第二运动估计方法后,再根据某些条件从多种搜索算法中选择一种较优的算法对图像进行运动估计。
进一步,本实施例中,运动强度判断单元102根据当前图像块及其相邻已编码图像块的运动信息判断当前图像块的运动强度。进一步,运动强度判断单元102根据当前图像块的预测运动矢量(PMV)和相邻已编码图像块的运动矢量差(MVD)判断当前图像块的运动强度。即,本实施例中,运动强度判断单元102根据当前图像块及其相邻已编码图像块的运动信息判断当前图像块的运动强度时,当前图像块的运动信息选当前图像块的预测运动矢量,相邻已编码图像块的运动信息选相邻已编码图像块的运动矢量差。在其他实施例中,当前图像块和相邻已编码图像块的运动信息还可以选择其他参数,例如相邻已编码图像块的运动信息选相邻已编码图像块的运动矢量。
如图5所示,当前图像块的预测运动矢量为PMV,选择其左、上、右上的相邻已编码图像块的运动矢量差(分别为MVD1、MVD2、MVD3)作为参考,来对当前图像块的运动强度进行判断。需要说明的是,当当前图像块不存在上位于右上位置的相邻已编码图像块时,可选择其左上位置的相邻已编码图像块的运动矢量差作为参考;当当前图像块不存在左边位置的相邻已编码图像块时,可只选择上、右上的相邻已编码图像块的运动矢量差作为参考;当当前图像块不存在或仅存在左边位置的相邻已编码图像块时,可以不对当前图像块进行运动强度判断,直接确定一种运动估计方法对当前图像块进行运动估计。
本实施例中,运动强度判断单元102判断当前图像块是否满足下面条件,如果满足,则判断为当前图像块的运动强度低,如果不满足,则判断为当前图像块的运动强度高。
f(PMV)<TH1且
Figure PCTCN2015078429-appb-000003
其中,TH1和TH2分别为两个预设的门限值,其值可以根据需要选取;f为矢量运算函数,例如,f为表示求取矢量的模的平方的函数,以简化运算,避免复杂的开平方运算。
当前图像块的预测运动矢量是通过已知的信息计算出来的。常用的计算方法有,将前一帧当前位置的图像块的运动矢量,当前图像块周围已编码图像块的运动矢量的中值或者均值,或者直接用某个相邻已编码图像块的运动矢量作为当前图像块的预测运动矢量。得到预测运动矢量后,会再通过运动估计的过程,即运用TZ搜索算法或者六边形搜索算法找出一个较准确的运动矢量,与预测运动矢量做差,视频编码时,码流真正记录的便是运动估计得到的运动矢量与预测运动矢量的差(运动矢量差),运动矢量差的值较小,甚至为0,因此可以节省码率,使传输视频所需要的码流更小。
下面,为运动强度判断单元102判断当前图像块运动强度的具体步骤。
步骤1.3:运动强度判断单元102判断当前图像块是否满足条件:
f(PMV)<TH1
如果满足,则转到步骤1.4;如果不满足,表示当前图像块的运动强度高,则转到步骤1.6。
步骤1.4:运动强度判断单元102判断当前图像块是否满足条件:
Figure PCTCN2015078429-appb-000004
如果满足,则转到步骤1.5;如果不满足,表示当前图像块的运动强度高,则转到步骤1.6。
步骤1.5:此时,运动强度判断单元102判断到当前图像块的运动强度低,因此,选择搜索速度较快的六边形搜索算法对当前图像块进行运动估计。
步骤1.6:此时,运动强度判断单元102判断到当前图像块的运动强度高,因此,选择搜索准确性较高的六边形搜索算法对当前图像块进行运动估计。
步骤1.7:判断是否处理完整帧图像,如果否,则转到步骤1.2,选 择下一个图像块作为当前图像块,继续进行处理;如果是,则结束对本帧图像的处理。
本实施例提供的用于视频编码的自适应运动估计方法和模块,利用上下文信息(相邻已编码图像块的运动信息)来计算当前图像块的运动强度,从而自适应得调整所使用的运动估计方法,以实现在不影响运动估计准确性的情况下,降低了整体的复杂度,提高了搜索速度。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分步骤可以通过程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存取存储器、磁盘或光盘等。
以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请发明构思的前提下,还可以做出若干简单推演或替换。

Claims (10)

  1. 一种自适应运动估计方法,其特征在于,包括:
    将待编码的视频帧划分宏块;
    依次选择视频帧中的图像块作为当前图像块;
    判断当前图像块的运动强度,并根据当前图像块的运动强度自适应选择用于对当前图像块进行运动估计的运动估计方法;所述运动强度用于表征视频图像帧中物体的运动幅度和/或运动频率;
    根据所选择的运动估计方法对当前图像块进行运动估计。
  2. 如权利要求1所述的方法,其特征在于,判断当前图像块的运动强度是否满足预设条件,如果不满足,判断为当前图像块的运动强度高,则选择第一运动估计方法;如果满足,判断为当前图像块的运动强度低,则选择第二运动估计方法;所述第二运动估计方法比第一运动估计方法的搜索速度快。
  3. 如权利要求1或2所述的方法,其特征在于,根据当前图像块及其相邻已编码图像块的运动信息判断当前图像块的运动强度。
  4. 如权利要求3所述的方法,其特征在于,根据当前图像块的预测运动矢量和相邻已编码图像块的运动矢量差判断当前图像块的运动强度。
  5. 如权利要求4所述的方法,其特征在于,所述预设条件为:
    f(PMC)<TH1且
    Figure PCTCN2015078429-appb-100001
    其中,TH1和TH2分别为两个预设的门限值,f为矢量运算函数,PMV为当前图像块的预测运动矢量,MVD为当前图像块的相邻已编码图像块的运动矢量差。
  6. 一种自适应运动估计模块,其特征在于,包括:
    宏块划分单元,用于将待编码的视频帧划分宏块;
    宏块选择单元,用于依次选择视频帧中的图像块作为当前图像块;
    运动强度判断单元,用于判断当前图像块的运动强度,并根据当前图像块的运动强度自适应选择用于对当前图像块进行运动估计的运动估计方法;所述运动强度用于表征视频图像帧中物体的运动幅度和/或运动频率;
    运动估计单元,根据运动强度判断单元所选择的运动估计方法对当前图像块进行运动估计。
  7. 如权利要求6所述的模块,其特征在于,所述运动强度判断单元用于判断当前图像块的运动强度是否满足预设条件,如果不满足,判断为当前图像块的运动强度高,则选择第一运动估计方法;如果满足,判 断为当前图像块的运动强度低,则选择第二运动估计方法;所述第二运动估计方法比第一运动估计方法的搜索速度快。
  8. 如权利要求6或7所述的模块,其特征在于,运动强度判断单元用于根据当前图像块及其相邻已编码图像块的运动信息判断当前图像块的运动强度。
  9. 如权利要求8所述的模块,其特征在于,运动强度判断单元用于根据当前图像块的预测运动矢量和相邻已编码图像块的运动矢量差判断当前图像块的运动强度。
  10. 如权利要求9所述的模块,其特征在于,所述预设条件为:
    f(PMV)<TH1且
    Figure PCTCN2015078429-appb-100002
    其中,TH1和TH2分别为两个预设的门限值,f为矢量运算函数,PMV为当前图像块的预测运动矢量,MVD为当前图像块的相邻已编码图像块的运动矢量差。
PCT/CN2015/078429 2015-05-07 2015-05-07 一种自适应运动估计方法和模块 Ceased WO2016176849A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201580000246.1A CN104995917B (zh) 2015-05-07 2015-05-07 一种自适应运动估计方法和模块
US15/567,155 US20180109791A1 (en) 2015-05-07 2015-05-07 A method and a module for self-adaptive motion estimation
PCT/CN2015/078429 WO2016176849A1 (zh) 2015-05-07 2015-05-07 一种自适应运动估计方法和模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/078429 WO2016176849A1 (zh) 2015-05-07 2015-05-07 一种自适应运动估计方法和模块

Publications (1)

Publication Number Publication Date
WO2016176849A1 true WO2016176849A1 (zh) 2016-11-10

Family

ID=54306448

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/078429 Ceased WO2016176849A1 (zh) 2015-05-07 2015-05-07 一种自适应运动估计方法和模块

Country Status (3)

Country Link
US (1) US20180109791A1 (zh)
CN (1) CN104995917B (zh)
WO (1) WO2016176849A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040756B (zh) * 2018-07-02 2021-01-15 广东工业大学 一种基于hevc图像内容复杂度的快速运动估计方法
CN111462170B (zh) 2020-03-30 2023-08-25 Oppo广东移动通信有限公司 运动估计方法、运动估计装置、存储介质与电子设备
CN119629426B (zh) * 2024-11-29 2026-03-20 支付宝(杭州)数字服务技术有限公司 图生视频模型的训练方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030053543A1 (en) * 2001-07-24 2003-03-20 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
CN101547359A (zh) * 2009-04-17 2009-09-30 西安交通大学 一种基于运动复杂度的快速运动估计自适应选择方法
CN102170567A (zh) * 2010-06-22 2011-08-31 上海盈方微电子有限公司 一种基于预测运动矢量搜索的自适应运动估计算法
CN103220488A (zh) * 2013-04-18 2013-07-24 北京大学 一种视频帧率上转换装置及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004004359A1 (en) * 2002-07-01 2004-01-08 E G Technology Inc. Efficient compression and transport of video over a network
TWI274509B (en) * 2005-02-22 2007-02-21 Sunplus Technology Co Ltd Method and system for dynamically adjusting motion estimation
US20070268964A1 (en) * 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
CN101754022A (zh) * 2008-12-01 2010-06-23 三星电子株式会社 低复杂度的运动估计方法
CN101888546B (zh) * 2010-06-10 2016-03-30 无锡中感微电子股份有限公司 一种运动估计的方法及装置
US20130107960A1 (en) * 2011-11-02 2013-05-02 Syed Ali Scene dependent motion search range adaptation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030053543A1 (en) * 2001-07-24 2003-03-20 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
CN101547359A (zh) * 2009-04-17 2009-09-30 西安交通大学 一种基于运动复杂度的快速运动估计自适应选择方法
CN102170567A (zh) * 2010-06-22 2011-08-31 上海盈方微电子有限公司 一种基于预测运动矢量搜索的自适应运动估计算法
CN103220488A (zh) * 2013-04-18 2013-07-24 北京大学 一种视频帧率上转换装置及方法

Also Published As

Publication number Publication date
US20180109791A1 (en) 2018-04-19
CN104995917A (zh) 2015-10-21
CN104995917B (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
US11336915B2 (en) Global motion vector video encoding systems and methods
CN110087087B (zh) Vvc帧间编码单元预测模式提前决策及块划分提前终止方法
TW202044834A (zh) 用於處理視訊內容的方法及系統
CN108419082B (zh) 一种运动估计方法及装置
RU2628259C1 (ru) Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
WO2016008284A1 (zh) 帧内像素预测方法、编码方法、解码方法及其装置
JP6943482B2 (ja) フレーム内予測方法、装置、ビデオ符号化装置、及び記憶媒体
JP5306485B2 (ja) 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム
US11006143B2 (en) Motion vector candidate pruning systems and methods
CN108134939A (zh) 一种运动估计方法及装置
KR20130130695A (ko) 복수의 프로세서를 사용하여 비디오 프레임을 인코딩하는 방법 및 시스템
WO2019109906A1 (zh) 一种视频编码方法、编码器、电子设备及介质
CN114040209B (zh) 运动估计方法、装置、电子设备及存储介质
US11330296B2 (en) Systems and methods for encoding image data
JP2011239365A (ja) 動画像符号化装置及びその制御方法、コンピュータプログラム
WO2016176849A1 (zh) 一种自适应运动估计方法和模块
KR20130055773A (ko) 부호화 방법 및 장치
JP2010278519A (ja) 動きベクトル検出装置
WO2019120255A1 (zh) 一种运动矢量选择方法、装置、电子设备及介质
WO2018205781A1 (zh) 一种实现运动估计的方法及电子设备
CN112313950A (zh) 视频图像分量的预测方法、装置及计算机存储介质
US9948932B2 (en) Image processing apparatus and control method of image processing apparatus
WO2018205780A1 (zh) 一种运动估计实现方法及电子设备
TWI871596B (zh) 幾何分割模式及合併候選重排
WO2020258052A1 (zh) 图像分量预测方法、装置及计算机存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15891101

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15567155

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 16.04.2018)

122 Ep: pct application non-entry in european phase

Ref document number: 15891101

Country of ref document: EP

Kind code of ref document: A1