WO2014003254A1 - 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 - Google Patents

움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 Download PDF

Info

Publication number
WO2014003254A1
WO2014003254A1 PCT/KR2012/008962 KR2012008962W WO2014003254A1 WO 2014003254 A1 WO2014003254 A1 WO 2014003254A1 KR 2012008962 W KR2012008962 W KR 2012008962W WO 2014003254 A1 WO2014003254 A1 WO 2014003254A1
Authority
WO
WIPO (PCT)
Prior art keywords
target block
range value
search
motion vector
search region
Prior art date
Application number
PCT/KR2012/008962
Other languages
English (en)
French (fr)
Inventor
홍민철
노진영
김명진
Original Assignee
숭실대학교산학협력단
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 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Publication of WO2014003254A1 publication Critical patent/WO2014003254A1/ko
Priority to US14/584,573 priority Critical patent/US10063881B2/en

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • 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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search

Definitions

  • Embodiments of the present invention relate to an apparatus and method for setting a search region for prediction of a motion vector, and more particularly, to predict a motion vector that can significantly reduce the amount of computation and the time required for the prediction of the motion vector.
  • An apparatus and method for setting a search area are provided.
  • Most video coding methods including the H.264 / AVC standard, predict motion vectors within a certain search area based on block matching.
  • 1 and 2 are diagrams for explaining the concept of a conventional general motion vector prediction.
  • a target block to which motion vector prediction is to be performed is block E
  • blocks A, B, and C are blocks (previous target block) on which motion vector prediction is performed before block E.
  • PMV predictive motion vector
  • median (.) I is a function for outputting an intermediate value of input values
  • MV A ( i ), MV B ( i ) and MV C ( i ) are the motion vectors predicted for Block A, Block B and Block C, respectively.
  • x denotes a horizontal component of the vector and y denotes a vertical component of the vector.
  • the origin of the search region is selected for the horizontal direction and the vertical direction, and the prediction of the motion vector of the target block is performed in the search region.
  • the search area is centered on the PMV, and the width is determined by the range value ⁇ of the search area preset in advance for each of the horizontal and vertical directions.
  • FIG. 2 is a diagram illustrating an example of a search region of a motion vector set for a target block, and the search region may be expressed by Equation 2 below.
  • the preset range value ⁇ is half the width of the search area in the horizontal direction and the vertical direction (that is, the half width value).
  • the prediction of the motion vector of the target block having the ( U , V ) th MN size in the search region set as shown in FIG. 2 and Equation 2 is SAD (Sum of Absolute Difference) defined as Equation 3 below. May be performed using a location having a minimum value.
  • C and R refer to a current picture and a reference picture for prediction of a motion vector.
  • MVD motion vector difference
  • MV ( i ) means a motion vector predicted for the target block.
  • An object of the present invention is to propose an apparatus and method for setting a search region for predicting a motion vector that can significantly reduce the amount of computation and the computation time required for predicting a motion vector.
  • a search region setting apparatus for predicting a motion vector, a predictive motion of an origin vector of a search region for a target block of motion vector prediction and a plurality of adjacent blocks adjacent to the target block
  • An operation unit for calculating differences between each vector, and calculating a sum of absolute values of the differences
  • a search region setting unit configured to set a range value of the search region for the target block by using at least one of the sum of absolute values of the differences and the directionality of the predicted motion vector for the plurality of adjacent blocks.
  • a search region setting method for predicting a motion vector an origin vector of a search region for a target block of motion vector prediction and a plurality of adjacent blocks adjacent to the target block Computing differences between each of the predicted motion vectors, and calculating a sum of absolute values of the differences; And setting a range value of a search region for the target block using at least one of the sum of absolute values of the differences and the directionality of the predicted motion vector for the plurality of adjacent blocks.
  • a search area setting method is provided.
  • 1 and 2 are diagrams for explaining the concept of a conventional general motion vector prediction.
  • FIG. 3 is a diagram illustrating a schematic configuration of an apparatus for setting a search region for prediction of a motion vector according to an embodiment of the present invention.
  • FIG. 4 illustrates an example of a cumulative distribution function representing an absolute value of an MVD of a target block according to a predicted motion vector for adjacent blocks.
  • FIG. 5 is a diagram illustrating a distribution of a difference (MVD) of a motion vector according to a broad motion characteristic of a CIF image.
  • FIG. 6 is a diagram illustrating an example of cumulative statistics of a difference MVD of motion vectors for a plurality of blocks in an image.
  • FIG. 7 shows an example of a variable step search method in the case where the search range range value in the horizontal direction is "17" and the search range range value in the vertical direction is "11".
  • FIG. 8 is a diagram illustrating an example of square and cross search when the step size ( Step _ Size ( i )) is 2.
  • FIG. 9 is a flowchart illustrating an overall flow of a method for setting a search region for predicting a motion vector according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a schematic configuration of a search area setting device (hereinafter, referred to as a search area setting device) for predicting a motion vector according to an embodiment of the present invention.
  • a search area setting device for predicting a motion vector according to an embodiment of the present invention.
  • the search region setting apparatus 300 may include a calculator 310 and a search region setter 320.
  • the search area setting apparatus 300 In order to predict the motion vector at high speed, the search area setting apparatus 300 according to an embodiment of the present invention first positions the block adjacent to a block (hereinafter, referred to as a "target block") to predict the motion vector at the present time.
  • a statistical characteristic for setting a search region of the target block is determined using a motion vector predicted for a plurality of blocks (hereinafter, referred to as “neighborhood blocks”).
  • CDF cumulative distribution function
  • the difference between the motion vector of adjacent blocks and the origin vector (ie, PMV) of the search region for the target block may be used as a statistical characteristic for determining the uniformity of the motion vector and determining the motion search region.
  • the calculator 310 calculates differences between each of the origin vector PMV of the search region for the target block and the predicted motion vectors for the plurality of adjacent blocks, and calculates a sum of absolute values of the differences.
  • the sum of the absolute values of the differences may be expressed as in Equation 5 below.
  • SDMV Sud of absolute Difference Motion Vector
  • MV k means the motion vector predicted for block k , respectively.
  • the calculator 310 may calculate the sum (SDMV) of the absolute values of the differences for each of the horizontal and vertical directions.
  • the operation unit 310 calculates the difference between the horizontal component of the origin vector and each of the horizontal components of the motion vectors of the plurality of adjacent blocks, and then calculates the sum (SDMV) of the absolute values of the differences of the horizontal components, or the origin.
  • the sum of absolute values (SDMV) of the differences of the vertical components may be calculated.
  • the SDMV representing the density of motion vectors of neighboring blocks has a very small value when the motions of the neighboring blocks are uniform and have a very large value when the motion vectors of the neighboring blocks are different or nonuniform. There is this.
  • the search region setting apparatus 300 may set the search region by using the characteristics of the SDMV.
  • the search area setting unit 320 may determine a range value of the search area for the target block by using at least one of the sum of absolute values (SDMV) of the differences and the directionality of the predicted motion vector for the plurality of adjacent blocks. Can be set.
  • SDMV sum of absolute values
  • the search region setting unit 320 may set a range value of the search region for the target block for each of the horizontal direction and the vertical direction.
  • the search area setting unit 320 may set the range value of the search area in the horizontal direction using at least one of the sum of the absolute values SDMV of the differences of the horizontal components and the directionality of the motion vectors of the plurality of adjacent blocks.
  • the range value of the search region in the horizontal direction may be set using at least one of the sum of absolute values (SDMV) of differences of vertical components and the directionality of motion vectors of a plurality of adjacent blocks.
  • the range value of the search region may be a half-width value of the search region for each of the horizontal and vertical directions centering on the origin vector PMV.
  • the search region setting unit 320 sets the minimum range value and the maximum range value of the search region for the target block for each of the horizontal direction and the vertical direction by dividing into a plurality of modes, and the minimum range value.
  • the value below the maximum range value may be set as the range value of the search region.
  • the target block belongs to any one of a plurality of modes, and the plurality of modes include a "first mode” in which the absolute value of the differences (SDMV) is 0, and the sum of the absolute values (SDMV) of the differences.
  • a “second mode” equal to or less than 1 and the same direction of the motion vector of adjacent blocks
  • the difference May include at least one of the "fourth mode” in which the direction of the motion vector of adjacent blocks is different from the sum of the absolute values (SDMV) is not zero.
  • the search region setting unit 320 may use the following Equation 6 in the minimum range value and the maximum range value of the search region. At least one can be set.
  • SR min is the minimum range value of the search area
  • SR max is the maximum range value of the search area, and is a range value preset for the search area.
  • the search region setting unit 320 may use Equation 7 below. At least one of the minimum range value and the maximum range value of the search area may be set.
  • the search region setting unit 320 may be represented by Equation 8 below. Using at least one of the minimum range value and the maximum range value of the search region can be set.
  • the search area setting unit 320 may use Equation 9 below. Using at least one of the minimum range value and the maximum range value of the search region can be set.
  • the search region setting unit 320 may set the minimum range value and the maximum range value of the search region according to Table 1 below.
  • the prediction of the motion vector may occur in some images according to the global motion characteristics of the image.
  • FIG. 5 is a diagram illustrating a distribution of a difference vector (MVD) of a motion vector according to a broad motion characteristic of a common intermediate format (CIF) image.
  • VMD difference vector
  • CIF common intermediate format
  • FIG. 6 is a diagram illustrating an example of cumulative statistics of a difference MVD of motion vectors for a plurality of blocks in an image.
  • points correspond to a difference MVD of a motion vector of each of at least one previous target block belonging to the same mode as that of the target block among two or more previous target blocks on which the prediction of the motion vector is performed before the target block. do.
  • the cumulative statistical distribution of the difference (MVD) of the motion vector represents a motion vector component to be actually encoded in the image, and may be used as a technique for representing a motion characteristic of the image. As the distribution of the difference MVD of the motion vector is closer to the origin, it may be predicted that the degree of motion in the image is smaller.
  • the search region setting unit 320 uses the statistics of the motion vector difference (MVD) for each of two or more previous target blocks on which the motion vector is predicted before the target block.
  • a temporary range value of the search range may be generated, and a middle range value of the minimum range value, the maximum range value, and the above-mentioned temporary range value of the search range may be set as the range value of the search range.
  • the motion vector difference MVD for each previous target block is a difference between the predicted motion vector for the previous target block and the origin vector of the search region for the previous target block.
  • the setting of the range value of the search region as described above may be expressed by Equation 10 below.
  • ⁇ cur ( i ) is the range value of the set search area
  • ⁇ case temp ( i ) is the temporary range value
  • max () is the function that outputs the maximum value among the input values
  • min () is the value of the input values. Each function outputs the minimum value.
  • the search region setting unit 320 uses the statistics of the difference (MVD) of the motion vector for each of at least one previous target block belonging to the same mode as that of the target block among the two or more previous target blocks.
  • a temporary range value is generated, using the range value of the search area (the previous search area range value) for the previous target block in which the prediction of the motion vector was performed immediately before the target block among at least one previous target block belonging to the same mode. You can set a temporary range value for the target block.
  • the search area setting unit 320 is a motion vector of at least one previous target block located in the temporary search area set by the value of the fraction multiple of the previous search area range value.
  • the value of the fractional multiple of the previous range value may be set as a temporary range value for the target block.
  • the first temporary search area is set as a solid line, the above-mentioned fractional multiple is 1/2, and is set by the value ( ⁇ case.prev / 2) of the fractional multiple (1/2) of the previous search range range value.
  • the search area setting unit 320 performs the following mathematical expression. As shown in Equation 11, a fractional multiple of the previous search range value (that is, ⁇ case.prev / 2) may be set as a temporary range value for the target block.
  • temp ( i ) means a temporary range value for the target block.
  • the search region setting unit 320 includes a motion vector difference (MVD) of at least one previous target block in the temporary search region set by the fractional multiple of the previous search region range value.
  • MMD motion vector difference
  • an integer multiple of the previous range value may be set as a temporary range value for the target block.
  • the search area setting unit 320 may be represented by Equation 12 below.
  • an integer multiple eg, twice the value of the previous search range range value may be set as a temporary range value for the target block.
  • the search region setting unit 320 is a motion vector difference (MVD) of at least one previous target block in the temporary search region set by the value of the fraction multiple of the previous search region range value.
  • VMD motion vector difference
  • the previous search range range value may be set as a temporary range value for the target block.
  • the search is performed.
  • the region setting unit 320 may set the previous search region range value as a temporary range value for the target block as shown in Equation 13 below.
  • the above descriptions are for correcting the motion search region by evaluating MVD density of blocks in which motion vector prediction (that is, encoding) has been performed in the same mode as the target block, and has many statistical characteristic modes in a predetermined size region.
  • the target block belongs to the first mode and the temporary range value due to the MVD cumulative statistical distribution is set to "0"
  • the range value of the final search area set through Equation 10 is "0". It may be determined that the previous search range range value for the target block and all blocks to which motion prediction is to be performed thereafter becomes 0, so that a temporary search region does not exist.
  • the search area setting unit 320 temporarily stores a relation as shown in Equation 14 below between the SAD (SAD prev ) of the target block and the SAD (SAD cur ) of the previous target block.
  • the range value can be forced to "1".
  • search region of the final motion vector may be expressed as in Equation 15 below.
  • the search region setting apparatus 300 may configure a motion vector search apparatus (not shown) together with a motion vector search unit (not shown).
  • the motion vector search unit uses a variable step search technique (VSS) in the search area set according to the above.
  • VSS variable step search technique
  • the motion vector can be searched in.
  • the conventional variable step search technique may be performed as follows.
  • step 1 the maximum search step (max step (i)) and step size ( Step _ Size ( i )) of the finally set search area are set as in Equation 16 below.
  • Step 2 you select 8 points located at the same distance as the step size ( Step _ Size ( i )) around the search Z origin, perform SAD operation on the search origin and the selected 8 points. The point where the SAD is minimized is set as the search origin in the next step (step 3).
  • Step 3 In Step 3, reduce the step size ( Step _ Size ( i )) in half, and then select eight points where the search origin set in Step 2 is located at the same distance as the Step size ( Step _ Size ( i )). And perform the SAD operation again on them. Again, the point where the SAD is minimum is set as the search origin in the next process.
  • FIG. 7 illustrates a variable step search technique in a case where the search range range ⁇ cur ( x ) in the horizontal direction is “17” and the search range range ⁇ cur ( y ) in the vertical direction is “11”. An example is shown.
  • FIG. 8 is a diagram illustrating an example of square and cross search when the step size ( Step _ Size ( i )) is 2.
  • FIG. 9 is a flowchart illustrating an overall flow of a method for setting a search region for predicting a motion vector according to an embodiment of the present invention.
  • step S910 differences between the original vector of the search region for the target block of motion vector prediction and the prediction motion vectors for the plurality of adjacent blocks adjacent to the target block are calculated, and the sum of the absolute values of the differences is calculated.
  • a range value of the search region for the target block is set using at least one of the sum of the absolute values of the differences and the directionality of the predicted motion vector for the plurality of adjacent blocks.
  • step S910 the calculation of the differences and the sum of the absolute values of the differences are performed for the horizontal and vertical directions of the vector, and in the step S920, for the horizontal and vertical directions, respectively.
  • the range value of the search region may be a half-width value of the search region for each of the horizontal direction and the vertical direction around the origin vector.
  • step S920 the minimum range value and the maximum range value of the search area for the target block are set for each of the horizontal direction and the vertical direction by dividing into a plurality of modes, and the minimum range value or more.
  • a value less than or equal to the maximum range value is set as a range value of the search area, wherein the target block belongs to any one of a plurality of modes, and in the plurality of modes, the first mode in which the absolute value of the differences is zero,
  • the second mode in which the absolute value of the motion blocks of adjacent blocks is equal to or less than 1 and the directions of motion vectors of adjacent blocks exceeds 1, and the sum of the absolute values of the differences in the third mode and the same value of motion vectors of adjacent blocks exceeds 0 is absolute.

Landscapes

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

Abstract

움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법이 개시된다. 개시된 움직임 벡터의 예측을 위한 탐색영역 설정 장치는 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 연산부; 및 상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 탐색영역 설정부를 포함한다. 본 발명에 따르면, 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 장점이 있다.

Description

움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
본 발명의 실시예들은 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법에 관한 것으로서, 더욱 상세하게는 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법에 관한 것이다.
H.264/AVC 표준을 포함한 대부분의 동영상 부호화 방식은 블록 매칭(Block Matching)을 기반으로 일정한 탐색영역 내에서 움직임 벡터를 예측한다.
도 1 및 도 2는 종래의 일반적인 움직임 벡터 예측의 개념을 설명하기 위한 도면이다.
먼저, 도 1을 참조하면, 움직임 벡터 예측을 수행하고자 하는 대상 블록이 블록 E이고, 블록 A, 블록 B 및 블록 C는 블록 E보다 이전에 움직임 벡터 예측이 수행된 블록(이전 대상 블록)인 경우, 블록 E에 대한 움직임 벡터 예측의 탐색영역의 원점은 예측 움직임 벡터(PMV: Predictive Motion Vector)로 정의되며, 이는 아래의 수학식 1과 같이 표현된다.
수학식 1
Figure PCTKR2012008962-appb-M000001
여기서, median(.)은 입력값 중 중간값을 출력하는 함수, MV A (i), MV B (i) 및 MV C (i)는 각각 블록 A, 블록 B 및 블록 C에 대해 예측된 움직임 벡터, x는 벡터의 수평 방향 성분, y는 벡터의 수직 방향 성분을 각각 의미한다.
즉, 탐색영역의 원점은 수평 방향 및 수직 방향 별로 선정되며, 대상 블록의 움직임 벡터의 예측은 탐색영역 내에서 수행된다. 그리고, 탐색 영역은 PMV를 중심으로 하고, 수평 방향 및 수직 방향 별로 사전에 미리 설정된 탐색영역의 범위값(ω)에 의해 폭이 결정된다.
도 2는 대상 블록에 대해 설정되는 움직임 벡터의 탐색영역의 일례를 도시한 도면으로서, 탐색영역은 아래의 수학식 2와 같이 표현될 수 있다.
수학식 2
Figure PCTKR2012008962-appb-M000002
여기서, dx는 수평 방향으로의 탐색영역, dy는 수직 방향으로의 탐색영역을 각각 의미한다. 따라서, 미리 설정된 범위값()은 수평 방향 및 수직 방향으로의 탐색영역의 폭의 반(즉, 반폭값(Half Width))이 된다.
한편, 도 2 및 수학식 2와 같이 설정된 탐색영역 내에서 (U, V)번째의 MN 크기를 가지는 대상 블록의 움직임 벡터의 예측은 아래의 수학식 3과 같이 정의되는 SAD(Sum of Absolute Difference)가 최소값을 가지는 위치를 이용하여 수행될 수 있다.
수학식 3
Figure PCTKR2012008962-appb-M000003
여기서, C 및 R은 움직임 벡터의 예측을 위한 현재 영상 및 참조 영상을 의미한다.
이 경우, 탐색영역 내에서 SAD가 가장 작은 (dx, dy)를 이용하여 아래의 수학식 4와 같이 표시되는 움직임 벡터의 차(MVD: Motion Vector Difference)가 생성되며, 이러한 MVD가 움직임 벡터 예측의 결과물로서 전송된다.
수학식 4
여기서, MV(i)는 대상 블록에 대해 예측된 움직임 벡터를 의미한다.
그러나, 상기에서 설명한 종래의 움직임 벡터 예측의 수행은 많은 연산량이 필요하므로, 다양한 응용 서비스로의 활용에 한계가 있다는 문제점이 있다.
본 발명에서는 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법을 제안하고자 한다.
본 발명의 다른 목적들은 하기의 실시예를 통해 당업자에 의해 도출될 수 있을 것이다.
본 발명의 일 실시예에 따르면, 움직임 벡터의 예측을 위한 탐색영역 설정 장치에 있어서, 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 연산부; 및 상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 탐색영역 설정부를 포함하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치가 제공된다.
또한, 본 발명의 다른 실시예에 따르면, 움직임 벡터의 예측을 위한 탐색영역 설정 방법에 있어서, 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 단계; 및 상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 단계를 포함하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법이 제공된다.
본 발명에 따르면, 움직임 벡터의 예측 시 소요되는 연산량 및 연산 시간을 현저하게 감소시킬 수 있는 장점이 있다.
도 1 및 도 2는 종래의 일반적인 움직임 벡터 예측의 개념을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 장치의 개략적인 구성을 도시한 도면이다.
도 4에서는 인접 블록들에 대해 예측된 움직임 벡터에 따른 대상 블록의 MVD의 절대값을 나타낸 누적 분포함수의 일례를 도시하고 있다.
도 5는 CIF 영상의 광역 움직임 특성에 따른 움직임 벡터의 차(MVD)의 분포를 도시한 도면이다.
도 6은 영상 내의 다수의 블록에 대한 움직임 벡터의 차(MVD)의 누적 통계의 일례를 도시한 도면이다.
도 7에서는 수평 방향의 탐색영역 범위값이 "17"이고, 수직 방향의 탐색영역 범위값이 "11"인 경우에서의 가변 단계별 검색 기법의 일례를 도시하고 있다.
도 8은 스텝 크기(Step_Size(i))가 2인 경우 정방형과 십자형 탐색의 예를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 방법의 전체적인 흐름을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 장치(이하, "탐색영역 설정 장치"라고 함)의 개략적인 구성을 도시한 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 연산부(310) 및 탐색영역 설정부(320)를 포함할 수 있다.
본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 고속으로 움직임 벡터를 예측하기 위하여, 먼저 현재 시점에서 움직임 벡터를 예측하고자 하는 블록(이하, "대상 블록"이라고 함)과 인접하여 위치하는 다수의 블록(이하, "인접 블록"이라고 함)에 대해 예측된 움직임 벡터를 이용하여 대상 블록의 탐색영역 설정을 위한 통계적 특성을 결정한다.
종래의 움직임 벡터 예측 기술들은 탐색영역에 대한 세분화가 이루어지지 않아서 인접 블록들의 움직임 벡터의 특성을 이용하여 대상 블록의 움직임 탐색영역을 결정하는데 한계가 존재하고, 이로 인해 불필요한 영역에까지 움직임 벡터의 예측을 위한 탐색이 수행되는 문제점이 있었다. 상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명에서는 인접 블록들의 통계적 특성을 세분화하고, 세분화된 특성에 따라 탐색영역을 적응적으로 설정한다.
도 4에서는 인접 블록들에 대해 예측된 움직임 벡터에 따른 대상 블록의 MVD의 절대값을 나타낸 누적 분포함수(CDF: Cumulative Distribution Function)의 일례를 도시하고 있다.
도 4를 참조하면, 인접 블록들의 움직임 벡터가 모두 "0"인 경우(MV_A=MV_B=MV_C=0), 대상 블록의 움직임 벡터가 상대적으로 작은 값을 가질 확률이 매우 높은 것을 확인할 수 있다. 또한, 인접 블록들의 움직임 벡터가 동일한 방향성을 가지는 경우(sgn(MV_A)=sgn(MV_B)= sgn(MV_C))에도 대상 블록의 움직임 벡터가 작은 값을 가질 확률이 높은 것을 확인할 수 있다.
이를 참조할 때, 인접 블록들의 움직임 벡터의 특성에 따라 대상 블록에 대한 움직임 탐색영역을 가변적으로 설정하여 불필요한 탐색 영역을 배제함으로써, 움직임 벡터의 예측 시 요구되는 연산량 및 연산 시간을 감소시킬 수 있음을 확인할 수 있다. 다시 말해, 인접 블록들의 움직임 벡터와 대상 블록에 대한 탐색영역의 원점 벡터(즉, PMV)와의 차이를 움직임 벡터의 균일 정도의 표현 및 움직임 탐색영역을 결정하는 통계 특성으로 활용할 수 있다.
이를 위해, 연산부(310)는 대상 블록에 대한 탐색영역의 원점 벡터(PMV) 및 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산한다. 이러한 상기 차들의 절대값의 합은 아래의 수학식 5와 같이 표현될 수 있다.
수학식 5
Figure PCTKR2012008962-appb-M000005
여기서, SDMV(Sum of absolute Difference Motion Vector)(i)는 상기 차들의 절대값의 합, MV k (i)는 블록 k에 대해 예측된 움직임 벡터를 각각 의미한다. (수학식 5에서는 앞서 도 1에서 설명한 바와 같이 대상 블록의 인접 블록이 3개(블록 A, 블록 B 및 블록 C)인 것으로 가정하였다.)
그리고, i는 앞서 설명한 바와 같이 벡터의 수평 방향 및 수직 방향을 의미한다. 즉, 연산부(310)는 수평 방향 및 수직 방향 별로 상기 차들의 절대값의 합(SDMV)을 연산할 수 있다. 다시 말해, 연산부(310)는 원점 벡터의 수평 성분과 다수의 인접 블록의 움직임 벡터의 수평 성분 각각 사이의 차들을 연산한 후 수평 성분의 차들의 절대값의 합(SDMV)을 연산하거나, 또는 원점 벡터의 수직 성분과 다수의 인접 블록의 움직임 벡터의 수직 성분 각각 사이의 차들을 연산한 후 수직 성분의 차들의 절대값의 합(SDMV)을 연산할 수 있다.
이와 같이, 인접 블록들의 움직임 벡터의 밀집 정도를 나타내는 SDMV는 인접 블록들의 움직임이 균일한 경우에는 매우 작은 값을 가지며, 인접 블록들의 움직임 벡터의 방향성이 상이하거나 불균일한 경우에는 매우 큰 값을 가지는 특성이 있다.
본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 이와 같은 SDMV의 특성을 이용하여 탐색영역을 설정할 수 있다. 다시 말해, 탐색영역 설정부(320)는 상기 차들의 절대값의 합(SDMV) 및 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 대상 블록에 대한 탐색영역의 범위값을 설정할 수 있다.
이 경우, 탐색영역 설정부(320) 역시 연산부(310)와 마찬가지로 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 범위값을 설정할 수 있다. 다시 말해, 탐색영역 설정부(320)는 수평 성분의 차들의 절대값(SDMV)의 합 및 다수의 인접 블록들의 움직임 벡터들의 방향성 중 적어도 하나를 이용하여 수평 방향의 탐색영역의 범위값을 설정하거나, 또는 수직 성분의 차들의 절대값의 합(SDMV) 및 다수의 인접 블록들의 움직임 벡터들의 방향성 중 적어도 하나를 이용하여 수평 방향의 탐색영역의 범위값을 설정할 수 있다.
또한, 탐색영역의 범위값은 앞서 설명한 바와 같이 원점 벡터(PMV)를 중심으로 하는 수평 방향 및 수직 방향 별로의 탐색영역의 반폭값일 수 있다.
본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 다수의 모드로 구분하여 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 최소 범위값 이상 최대 범위값 이하의 값을 탐색영역의 범위값으로 설정할 수 있다.
여기서, 대상 블록은 다수의 모드 중 어느 하나의 모드에 속하며, 다수의 모드는 상기 차들의 절대값의 합(SDMV)이 0인 "제1 모드", 상기 차들의 절대값의 합(SDMV)이 1 이하이면서 인접 블록들의 움직임 벡터의 방향이 동일한 "제2 모드", 상기 차들의 절대값의 합(SDMV)이 1을 초과하면서 인접 블록들의 움직임 벡터의 방향이 동일한 "제3 모드" 및 상기 차들의 절대값의 합(SDMV)이 0이 아니면서 인접 블록들의 움직임 벡터의 방향이 상이한 "제4 모드" 중에서 적어도 하나를 포함할 수 있다.
보다 상세하게, 본 발명의 일 실시예에 따르면, 대상 블록이 제1 모드에 속하는 경우, 탐색영역 설정부(320)는 아래의 수학식 6을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
수학식 6
Figure PCTKR2012008962-appb-M000006
여기서, SRmin은 탐색영역의 최소 범위값, SRmax은 탐색영역의 최대 범위값, 는 탐색영역에 대해 미리 설정된 범위값을 각각 의미함.
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 1 이하이면서 인접 블록들의 움직임 벡터의 방향이 동일한 경우, 탐색영역 설정부(320)는 아래의 수학식 7을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
수학식 7
Figure PCTKR2012008962-appb-M000007
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 1을 초과하면서 인접 블록들의 움직임 벡터의 방향이 동일한 경우, 탐색영역 설정부(320)는 아래의 수학식 8을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
수학식 8
Figure PCTKR2012008962-appb-M000008
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 0이 아니면서 인접 블록들의 움직임 벡터의 방향이 상이한 경우, 탐색영역 설정부(320)는 아래의 수학식 9를 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
수학식 9
Figure PCTKR2012008962-appb-M000009
정리하면, 탐색영역 설정부(320)는 아래의 표 1에 따라 탐색영역의 최소 범위값 및 최대 범위값을 설정할 수 있다.
표 1
모드 (k) SRmin SRmax
1. SDMV=0 0 ω/4
움직임 벡터의 방향이 동일 2. SDMV1 ω/16 ω/4
3. otherwise ω/8 ω/2
4. otherwise ω/8 ω
한편, 앞서 설명한 바와 같이 인접 블록들의 통계 특성을 이용하여 탐색영역을 설정하는 경우, 영상의 광역 움직임 특성에 따라 일부 영상에서는 움직임 벡터의 예측이 오류가 발생할 수도 있다.
도 5는 CIF(Common Intermediate Format) 영상의 광역 움직임 특성에 따른 움직임 벡터의 차(MVD)의 분포를 도시한 도면이다.
도 5를 참조하면, 인접 블록들의 통계 특성에 따라 모드를 구분하여 움직임 벡터의 예측이 수행된 경우라 하더라도, Stefan, mobile과 같은 움직임이 큰 영상은 MVD 분포가 크며, Akiyo, container같은 움직임이 작은 영상에서는 MVD 분포가 작음을 확인할 수 있다.
이와 같은 결과로부터, 보다 정확하게 움직임 벡터를 예측하기 위해서는, 영상 내의 움직임의 국부적인 통계뿐만 아니라, 영상 전체의 움직임 통계(즉, 영상 내의 움직임의 광역적인 통계) 역시 움직임 벡터의 예측을 위한 탐색영역의 설정에 반영되어야 함을 확인할 수 있다.
도 6은 영상 내의 다수의 블록에 대한 움직임 벡터의 차(MVD)의 누적 통계의 일례를 도시한 도면이다.
도 6에서, 점들은 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 중 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각의 움직임 벡터의 차(MVD)와 대응된다.
여기서, 움직임 벡터의 차(MVD)의 누적 통계 분포는 영상 내의 실제 부호화될 움직임 벡터 성분을 나타내는 것으로서, 영상의 움직임 특성을 나타낼 수 있는 기법으로 활용될 수 있다. 그리고, 움직임 벡터의 차(MVD)의 분포가 원점에 밀집될수록 영상 내의 움직임 정도가 적은 것으로 예측될 수 있다.
본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD)의 통계를 이용하여 탐색영역의 임시 범위값을 생성하고, 앞서 설정된 탐색영역의 최소 범위값, 최대 범위값 및 상기한 임시 범위값 중 중간 값을 탐색영역의 범위값으로 설정할 수 있다. 이 경우, 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD)는 이전 대상 블록에 대한 예측 움직임 벡터와 이전 대상 블록에 대한 탐색영역의 원점 벡터 간의 차이다. 또한, 상기와 같은 탐색영역의 범위값의 설정은 아래의 수학식 10과 같이 표현될 수 있다.
수학식 10
Figure PCTKR2012008962-appb-M000010
여기서, δ cur (i)는 설정된 탐색영역의 범위값, δ case,temp (i)는 임시 범위값, max( )는 입력값들 중 최대값을 출력하는 함수, min( )은 입력값들 중 최소값을 출력하는 함수를 각각 의미한다.
이 경우, 탐색영역 설정부(320)는 2 이상의 이전 대상 블록 중 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각에 대한 움직임 벡터의 차(MVD)의 통계를 이용하여 탐색영역의 임시 범위값을 생성하되, 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 중 대상 블록의 직전에 움직임 벡터의 예측이 수행된 이전 대상 블록에 대해 탐색영역의 범위값(직전 탐색영역 범위값)을 이용하여 대상 블록에 대한 임시 범위값을 설정할 수 있다.
보다 상세하게, 본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 적어도 하나의 이전 대상 블록의 움직임 벡터의 차(MVD)의 개수가 제1 임계값 이상인 경우, 상기한 직전 탐색영역 범위값의 분수배의 값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 도 6의 일례와 같이, 대상 블록과 동일한 모드에 속하며 대상 블록 직전에 움직임 벡터의 예측이 수행된 직전 대상 블록의 탐색영역 범위값(직전 탐색영역 범위값)(δcase.prev)에 의한 제1 임시 탐색영역이 실선과 같이 설정되고, 상기한 분수배가 1/2이며, 직전 탐색영역 범위값의 분수배(1/2)의 값(δcase.prev/2)에 의해 설정되는 제2 임시 탐색영역이 점선과 같이 설정되는 경우에 있어, 제2 임시 탐색영역 내에 제1 임계값(일례로, 90개) 이상의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 11과 같이 직전 탐색영역 범위값의 분수배의 값(즉, δcase.prev/2)을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
수학식 11
Figure PCTKR2012008962-appb-M000011
여기서, δ case,temp (i)는 대상 블록에 대한 임시 범위값을 의미한다.
또한, 본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 적어도 하나의 이전 대상 블록의 움직임 벡터 차(MVD)의 개수가 제2 임계값 이하인 경우, 직전 탐색영역 범위값의 정수배의 값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 상기한 도 6의 일례에서, 제2 임시 탐색영역 내에 제2 임계값(일례로, 70개) 이하의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 12와 같이 직전 탐색영역 범위값의 정수배의 값(일례로, 2배의 값)을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
수학식 12
Figure PCTKR2012008962-appb-M000012
또한, 본 발명의 다른 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 적어도 하나의 이전 대상 블록의 움직임 벡터 차(MVD)의 개수가 제1 임계값 보다 작고 제2 임계값 보다 큰 경우, 직전 탐색영역 범위값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 상기한 도 6의 일례에서, 제2 임시 탐색영역 내에 제2 임계값(일례로, 70개) 이상 제1 임계값(일례로, 90개) 이하의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 13과 같이 직전 탐색영역 범위값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
수학식 13
Figure PCTKR2012008962-appb-M000013
상기에서 설명한 내용들은 대상 블록과 동일한 모드로 움직임 벡터의 예측(즉, 부호화)이 수행된 블록들의 MVD 밀집도를 평가하여 움직임 탐색 영역을 보정하기 위한 것으로서, 일정 크기의 영역 내에서 통계 특성 모드가 많고 해당 블록의 MVD가 작은 값으로 밀집되어 있을수록 대상 블록의 MVD가 이미 움직임 벡터의 예측이 수행된 이전 대상 블록들의 값을 가질 확률이 높다는 특성을 이용한 것이다.
한편, 대상 블록이 제1 모드에 속하고, MVD 누적 통계 분포에 의한 임시 범위값이 "0"으로 설정되는 경우, 상기한 수학식 10을 통해 설정되는 최종적인 탐색영역의 범위값이 "0"으로 결정되어 대상 블록 및 이의 이후에 움직임 예측이 수행될 모든 블록에 대한 직전 탐색영역 범위값이 0이 되어 임시 탐색영역이 존재하지 않게 되는 오류가 발생할 수 있다.
이러한 오류 발생을 방지하기 위해, 탐색영역 설정부(320)는 대상 블록의 SAD(SADprev)와 직전 대상 블록의 SAD(SADcur) 사이에 아래의 수학식 14와 같은 관계가 성립되는 경우, 임시 범위값을 "1"로 강제 설정할 수 있다.
수학식 14
Figure PCTKR2012008962-appb-M000014
이에 따라, 최종적인 움직임 벡터의 탐색 영역은 아래의 수학식 15와 같이 표현될 수 있다.
수학식 15
Figure PCTKR2012008962-appb-M000015
한편, 본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 움직임 벡터 탐색부(미도시)와 함께 움직임 벡터 탐색장치(미도시)를 구성할 수도 있다.
이 경우, 움직임 벡터의 탐색 시 소요되는 연산량 및 연산 시간을 더욱 절감하기 위해, 움직임 벡터 탐색부(미도시)는 가변 단계별 탐색 기법(VSS: Variable Step Search)를 이용하여 상기에 따라 설정된 탐색영역 내에서 움직임 벡터의 탐색을 수행할 수 있다. 종래의 가변 단계별 탐색 기법은 아래와 같이 수행될 수 있다.
[과정 1] 최종적으로 설정된 탐색영역에 대해, 과정 1에서는 최대 탐색 단계(maxstep(i))와 스텝 크기(Step_Size(i))를 아래의 수학식 16과 같이 설정한다.
수학식 16
Figure PCTKR2012008962-appb-M000016
여기서,
Figure PCTKR2012008962-appb-I000001
A는 보다 크지 않은 최대 정수값을 의미한다.
[과정 2] 과정 2에서는 탐색Z 원점을 중심으로 스텝 크기(Step_Size(i))와 동일한 거리에 위치한 8개의 지점을 선택하고, 탐색 원점 및 선택된 8개 지점에 대한 SAD 연산을 수행 후, SAD가 최소가 되는 지점을 다음 과정(과정 3)에서의 탐색 원점으로 설정한다.
[과정 3] 과정 3에서는 스텝 크기(Step_Size(i))를 반으로 줄인 후 과정 2에서 설정된 탐색 원점을 스텝 크기(Step_Size(i))와 동일한 거리에 위치하는 8개의 지점을 선택하고, 이들을 대상으로 SAD 연산을 다시 수행한다. 역시 SAD가 최소가 되는 지점이 다음 과정에서의 탐색 원점으로 설정된다.
이와 같은 과정의 반복(즉, 가변 단계별 탐색 기법)은 스텝 크기(Step_Size(i))가 수평 방향 및 수직 방향에 대해 모두 "1"이 되는 경우 종료된다.
도 7에서는 수평 방향의 탐색영역 범위값(δ cur (x))이 "17"이고, 수직 방향의 탐색영역 범위값(δ cur (y))이 "11"인 경우에서의 가변 단계별 검색 기법의 일례를 도시하고 있다.
이 경우, 수평 방향 및 수직 방향 별 최대 탐색 단계는 각각 "max step (x)=5" 및 "max step (y)=4"이고, 수평 방향 및 수직 방향 별 초기 스텝 크기는 각각 "Step_Size(x))=16" 및 "Step_Size(y))=8"이다.
앞서 설명한 국부 통계 특성에 의한 모드 및 탐색 영역 설정에서 제1 모드에 해당되는 블록들은 탐색 원점을 기준으로 움직임 벡터가 작은 영역에서 결정될 확률이 매우 높을 것으로 예측된 블록이다. 따라서, 움직임이 작은 영상인 경우 많은 블록이 제1 모드에 속하게 되어 탐색 영역 내에서 연산량 절감을 위해 제1 모드에 속하는 블록에 대해 8개의 정방향 검색이 아닌 도 8에 도시된 십자형 검색 방식이 사용될 수 있다. 도 8은 스텝 크기(Step_Size(i))가 2인 경우 정방형과 십자형 탐색의 예를 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 움직임 벡터의 예측을 위한 탐색영역 설정 방법의 전체적인 흐름을 도시한 순서도이다.
먼저, 단계(S910)에서는 움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산한다.
그리고, 단계(S920)에서는 상기 차들의 절대값의 합 및 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 대상 블록에 대한 탐색영역의 범위값을 설정한다.
본 발명의 일 실시예에 따르면, 단계(S910)에서는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고, 단계(S920)에서는 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 범위값을 설정한다. 이 경우, 탐색영역의 범위값은 앞서 설명한 바와 같이 원점 벡터를 중심으로 하는 수평 방향 및 수직 방향 별로의 탐색영역의 반폭값일 수 있다.
또한, 본 발명의 일 실시예에 따르면, 단계(S920)에서는 다수의 모드로 구분하여 수평 방향 및 수직 방향 별로 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 최소 범위값 이상 최대 범위값 이하의 값을 탐색영역의 범위값으로 설정하되, 대상 블록을 다수의 모드 중 어느 하나의 모드에 속하고, 다수의 모드는 차들의 절대값의 합이 0인 제1 모드, 차들의 절대값이 1 이하이면서 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 차들의 절대값이 1을 초과하면서 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 차들의 절대값의 합이 0이 아니면서 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드를 포함할 수 있다.
지금까지 본 발명에 따른 움직임 벡터 예측을 위한 탐색영역 설정 방법의 실시예들에 대하여 설명하였고, 앞서 도 3에서 설명한 탐색영역 설정 장치(300)에 관한 구성이 본 실시예에도 그대로 적용 가능하다. 이에, 보다 상세한 설명은 생략하기로 한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (12)

  1. 움직임 벡터의 예측을 위한 탐색영역 설정 장치에 있어서,
    움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 연산부; 및
    상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 탐색영역 설정부를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  2. 제1항에 있어서,
    상기 연산부는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고,
    상기 탐색영역 설정부는 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 범위값을 설정하며,
    상기 탐색영역의 범위값은 상기 원점 벡터를 중심으로 하는 상기 수평 방향 및 상기 수직 방향 별로의 탐색영역의 반폭값(Half Width)인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  3. 제2항에 있어서,
    상기 탐색영역 설정부는 다수의 모드로 구분하여 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 상기 최소 범위값 이상 상기 최대 범위값 이하의 값을 상기 탐색영역의 범위값으로 설정하되,
    상기 대상 블록은 상기 다수의 모드 중 어느 하나의 모드에 속하고, 상기 다수의 모드는 상기 차들의 절대값의 합이 0인 제1 모드, 상기 차들의 절대값의 합이 1 이하이면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값의 합이 1을 초과하면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합이 0이 아니면서 상기 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드 중에서 적어도 하나를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  4. 제3항에 있어서,
    상기 탐색영역 설정부는 아래의 표에 따라 상기 최소 범위값 및 상기 최대 범위값 중 적어도 하나를 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
    Figure PCTKR2012008962-appb-I000002
    여기서, SDMV는 상기 차들의 절대값의 합, SRmin은 상기 최소 범위값, SRmax은 상기 최대 범위값, 는 상기 탐색영역에 대해 미리 설정된 범위값을 각각 의미함.
  5. 제3항에 있어서,
    상기 탐색영역 설정부는 상기 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD: Motion Vector Difference)의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하고, 상기 최소 범위값, 상기 최대 범위값 및 상기 임시 범위값 중 중간 값을 상기 탐색영역의 범위값으로 설정하되,
    상기 MVD는 상기 이전 대상 블록에 대한 예측 움직임 벡터와 상기 이전 대상 블록에 대한 탐색영역의 원점 벡터 간의 차인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  6. 제5항에 있어서,
    상기 탐색영역 설정부는
    상기 2 이상의 이전 대상 블록 중 상기 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각에 대한 상기 MVD의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하되,
    상기 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 중 상기 대상 블록의 직전에 움직임 벡터의 예측이 수행된 이전 대상 블록에 대해 설정된 탐색영역의 범위값(직전 탐색영역 범위값)을 이용하여 상기 대상 블록에 대한 임시 범위값을 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  7. 제6항에 있어서,
    상기 탐색영역 설정부는
    상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 이상인 경우, 상기 직전 탐색영역 범위값의 분수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  8. 제6항에 있어서,
    상기 탐색영역 설정부는
    상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제2 임계값 이하인 경우, 상기 직전 탐색영역 범위값의 정수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  9. 제6항에 있어서,
    상기 탐색영역 설정부는
    상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 보다 작고 제2 임계값 보다 큰 경우, 상기 직전 탐색영역 범위값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
  10. 움직임 벡터의 예측을 위한 탐색영역 설정 방법에 있어서,
    움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 단계; 및
    상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법.
  11. 제10항에 있어서,
    상기 연산하는 단계는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고,
    상기 탐색영역을 설정하는 단계는 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 범위값을 설정하며,
    상기 탐색영역의 범위값은 상기 원점 벡터를 중심으로 하는 상기 수평 방향 및 상기 수직 방향 별로의 탐색영역의 반폭값인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법.
  12. 제11항에 있어서,
    상기 탐색영역을 설정하는 단계는 다수의 모드로 구분하여 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 상기 최소 범위값 이상 상기 최대 범위값 이하의 값을 상기 탐색영역의 범위값으로 설정하되,
    상기 대상 블록을 상기 다수의 모드 중 어느 하나의 모드에 속하고, 상기 다수의 모드는 상기 차들의 절대값의 합이 0인 제1 모드, 상기 차들의 절대값이 1 이하이면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값이 1을 초과하면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합이 0이 아니면서 상기 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법.
PCT/KR2012/008962 2012-06-27 2012-10-29 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 WO2014003254A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/584,573 US10063881B2 (en) 2012-06-27 2014-12-29 Apparatus and method for setting search region for predicting motion vector

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0069112 2012-06-27
KR20120069112A KR101347062B1 (ko) 2012-06-27 2012-06-27 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/584,573 Continuation US10063881B2 (en) 2012-06-27 2014-12-29 Apparatus and method for setting search region for predicting motion vector

Publications (1)

Publication Number Publication Date
WO2014003254A1 true WO2014003254A1 (ko) 2014-01-03

Family

ID=49783370

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/008962 WO2014003254A1 (ko) 2012-06-27 2012-10-29 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법

Country Status (3)

Country Link
US (1) US10063881B2 (ko)
KR (1) KR101347062B1 (ko)
WO (1) WO2014003254A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101382367B1 (ko) * 2013-11-13 2014-04-09 주식회사 아나패스 움직임 추정 방법 및 이를 이용한 영상 처리 장치
JP6846651B2 (ja) * 2016-04-15 2021-03-24 パナソニックIpマネジメント株式会社 画像処理装置及び撮像装置
EP3264768A1 (en) 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
US10812810B2 (en) * 2018-02-06 2020-10-20 Tencent America LLC Method and apparatus for video coding in merge mode
WO2019177354A1 (ko) * 2018-03-14 2019-09-19 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020007291A1 (en) * 2018-07-02 2020-01-09 Huawei Technologies Co., Ltd. A video encoder, a video decoder and corresponding methods
CN113508595B (zh) * 2019-03-08 2023-11-28 华为技术有限公司 运动矢量细化的搜索区域
WO2021055126A1 (en) * 2019-09-19 2021-03-25 Alibaba Group Holding Limited Methods for constructing a merge candidate list

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070092481A (ko) * 2006-03-10 2007-09-13 (주)씨앤에스 테크놀로지 H.264 동영상 부호화기의 적응적 고속 움직임 추정 방법
KR20110024561A (ko) * 2009-09-02 2011-03-09 숭실대학교산학협력단 인접 블록의 움직임 벡터 및 인터모드간 상관관계를 이용한 고속 다중 참조 프레임 선택 방법
KR20110048243A (ko) * 2009-11-02 2011-05-11 중앙대학교 산학협력단 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법
KR20120055761A (ko) * 2010-11-22 2012-06-01 한국전자통신연구원 적응형 움직임 탐색 범위 결정 장치 및 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143609A (ja) * 2001-08-21 2003-05-16 Canon Inc 画像処理装置、画像処理方法、記録媒体及びプログラム
KR100455119B1 (ko) * 2002-01-26 2004-11-06 엘지전자 주식회사 움직임 벡터 영역의 적응적 결정 방법
KR100560843B1 (ko) * 2003-04-10 2006-03-13 에스케이 텔레콤주식회사 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치
US7609765B2 (en) * 2004-12-02 2009-10-27 Intel Corporation Fast multi-frame motion estimation with adaptive search strategies
US8599921B2 (en) * 2009-03-27 2013-12-03 Vixs Systems, Inc Adaptive partition subset selection module and method for use therewith
JP5163429B2 (ja) * 2008-11-05 2013-03-13 ソニー株式会社 動きベクトル検出装置、その処理方法およびプログラム
US20120076203A1 (en) * 2009-05-29 2012-03-29 Mitsubishi Electric Corporation Video encoding device, video decoding device, video encoding method, and video decoding method
US20110135001A1 (en) * 2009-12-07 2011-06-09 Silicon Integrated Systems Corp. Hierarchical motion estimation method using dynamic search range determination
US9449367B2 (en) * 2009-12-10 2016-09-20 Broadcom Corporation Parallel processor for providing high resolution frames from low resolution frames
TWI461066B (zh) * 2011-11-03 2014-11-11 Ind Tech Res Inst 彈性調整估算搜尋範圍的移動估算方法及視差估算方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070092481A (ko) * 2006-03-10 2007-09-13 (주)씨앤에스 테크놀로지 H.264 동영상 부호화기의 적응적 고속 움직임 추정 방법
KR20110024561A (ko) * 2009-09-02 2011-03-09 숭실대학교산학협력단 인접 블록의 움직임 벡터 및 인터모드간 상관관계를 이용한 고속 다중 참조 프레임 선택 방법
KR20110048243A (ko) * 2009-11-02 2011-05-11 중앙대학교 산학협력단 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법
KR20120055761A (ko) * 2010-11-22 2012-06-01 한국전자통신연구원 적응형 움직임 탐색 범위 결정 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIM, KI BEOM ET AL.: "Fast Motion Estimation Using Local Statistics of Neighboring Motion Vectors", JOURNAL OF BROADCAST ENGINEERING, vol. 13, no. 1, January 2008 (2008-01-01), pages 128 - 136 *

Also Published As

Publication number Publication date
US10063881B2 (en) 2018-08-28
KR101347062B1 (ko) 2014-01-10
US20150117543A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
WO2014003254A1 (ko) 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
WO2011010858A2 (en) Motion vector prediction method, and apparatus and method for encoding and decoding image using the same
WO2011155704A2 (ko) 깊이 전이 데이터를 이용한 3d 비디오 인코딩/디코딩 장치 및 방법
WO2012008790A2 (en) Method and apparatus for encoding and decoding image through intra prediction
WO2013105791A1 (ko) 움직임 벡터 정규화에 기초한 영상의 부호화 방법 및 장치, 영상의 복호화 방법 및 장치
WO2020241981A1 (ko) 포그 컴퓨팅 기반 무선 네트워크에서 태스크 우선순위별 연산량 오프로딩 장치 및 방법
CN114422781B (zh) 图像处理方法、智能终端及存储介质
WO2022015020A1 (ko) 혼합현실/증강현실을 지원하는 통신 시스템에서 3차원 미디어 데이터에 대해 지연 시간 보상 포즈 예측을 사용하는 렌더링을 수행하는 방법 및 장치
CN102075760A (zh) 快速运动估计方法及装置
WO2019203523A1 (ko) 포인트 클라우드에 관한 데이터를 프로세싱하기 위한 방법 및 장치
KR20030034271A (ko) 저전송율 동영상 부호화에 적합한 움직임 추정 방법
CN109510991B (zh) 一种运动矢量导出方法及装置
WO2014051309A1 (en) Stereo matching apparatus using image property
SE512171C2 (sv) Videoöverföring
US8705626B2 (en) Motion estimation method
Sowmyayani et al. Block based Motion Estimation using Octagon and Square Pattern
WO2011068330A2 (ko) 인터 예측 프레임 생성장치 및 그 생성방법, 및 거기에 이용되는 참조 프레임 보간장치 및 그 방법
Nguyen et al. Fast block-based motion estimation using integral frames
WO2017007047A1 (ko) 불규칙 비교를 이용하는 공간적 깊이 불균일성 보상 방법 및 장치
WO2016208806A1 (ko) 블록 구조를 이용한 적분 영상 생성 장치 및 그 방법
WO2011093688A2 (ko) 비디오 신호 처리 방법 및 장치
Mistry et al. Logarithmic search for motion estimation
Zupancic et al. Inter-prediction optimisations for fast HEVC encoding of ultra high definition content
Luo et al. An unsymmetrical diamond search algorithm for H. 264/AVC motion estimation
WO2023211253A1 (ko) 신경망 기반 움직임 벡터 필드 압축을 이용한 비디오 압축 방법

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: 12879930

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12879930

Country of ref document: EP

Kind code of ref document: A1