WO2014003254A1 - 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 - Google Patents
움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion 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과 같이 표현된다.
여기서, median(.)은 입력값 중 중간값을 출력하는 함수, MV
A (i), MV
B (i) 및 MV
C (i)는 각각 블록 A, 블록 B 및 블록 C에 대해 예측된 움직임 벡터, x는 벡터의 수평 방향 성분, y는 벡터의 수직 방향 성분을 각각 의미한다.
즉, 탐색영역의 원점은 수평 방향 및 수직 방향 별로 선정되며, 대상 블록의 움직임 벡터의 예측은 탐색영역 내에서 수행된다. 그리고, 탐색 영역은 PMV를 중심으로 하고, 수평 방향 및 수직 방향 별로 사전에 미리 설정된 탐색영역의 범위값(ω)에 의해 폭이 결정된다.
도 2는 대상 블록에 대해 설정되는 움직임 벡터의 탐색영역의 일례를 도시한 도면으로서, 탐색영역은 아래의 수학식 2와 같이 표현될 수 있다.
여기서, dx는 수평 방향으로의 탐색영역, dy는 수직 방향으로의 탐색영역을 각각 의미한다. 따라서, 미리 설정된 범위값()은 수평 방향 및 수직 방향으로의 탐색영역의 폭의 반(즉, 반폭값(Half Width))이 된다.
한편, 도 2 및 수학식 2와 같이 설정된 탐색영역 내에서 (U, V)번째의 MN 크기를 가지는 대상 블록의 움직임 벡터의 예측은 아래의 수학식 3과 같이 정의되는 SAD(Sum of Absolute Difference)가 최소값을 가지는 위치를 이용하여 수행될 수 있다.
여기서, 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와 같이 표현될 수 있다.
여기서, 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을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
여기서, SRmin은 탐색영역의 최소 범위값, SRmax은 탐색영역의 최대 범위값, 는 탐색영역에 대해 미리 설정된 범위값을 각각 의미함.
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 1 이하이면서 인접 블록들의 움직임 벡터의 방향이 동일한 경우, 탐색영역 설정부(320)는 아래의 수학식 7을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 1을 초과하면서 인접 블록들의 움직임 벡터의 방향이 동일한 경우, 탐색영역 설정부(320)는 아래의 수학식 8을 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 상기 차들의 절대값의 합(SDMV)이 0이 아니면서 인접 블록들의 움직임 벡터의 방향이 상이한 경우, 탐색영역 설정부(320)는 아래의 수학식 9를 이용하여 탐색영역의 최소 범위값 및 최대 범위값 중 적어도 하나를 설정할 수 있다.
정리하면, 탐색영역 설정부(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과 같이 표현될 수 있다.
여기서, δ 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)을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
여기서, δ case,temp (i)는 대상 블록에 대한 임시 범위값을 의미한다.
또한, 본 발명의 일 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 적어도 하나의 이전 대상 블록의 움직임 벡터 차(MVD)의 개수가 제2 임계값 이하인 경우, 직전 탐색영역 범위값의 정수배의 값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 상기한 도 6의 일례에서, 제2 임시 탐색영역 내에 제2 임계값(일례로, 70개) 이하의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 12와 같이 직전 탐색영역 범위값의 정수배의 값(일례로, 2배의 값)을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 탐색영역 설정부(320)는 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 적어도 하나의 이전 대상 블록의 움직임 벡터 차(MVD)의 개수가 제1 임계값 보다 작고 제2 임계값 보다 큰 경우, 직전 탐색영역 범위값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
예를 들어, 상기한 도 6의 일례에서, 제2 임시 탐색영역 내에 제2 임계값(일례로, 70개) 이상 제1 임계값(일례로, 90개) 이하의 MVD가 존재하는 경우, 탐색영역 설정부(320)는 아래의 수학식 13과 같이 직전 탐색영역 범위값을 대상 블록에 대한 임시 범위값으로 설정할 수 있다.
상기에서 설명한 내용들은 대상 블록과 동일한 모드로 움직임 벡터의 예측(즉, 부호화)이 수행된 블록들의 MVD 밀집도를 평가하여 움직임 탐색 영역을 보정하기 위한 것으로서, 일정 크기의 영역 내에서 통계 특성 모드가 많고 해당 블록의 MVD가 작은 값으로 밀집되어 있을수록 대상 블록의 MVD가 이미 움직임 벡터의 예측이 수행된 이전 대상 블록들의 값을 가질 확률이 높다는 특성을 이용한 것이다.
한편, 대상 블록이 제1 모드에 속하고, MVD 누적 통계 분포에 의한 임시 범위값이 "0"으로 설정되는 경우, 상기한 수학식 10을 통해 설정되는 최종적인 탐색영역의 범위값이 "0"으로 결정되어 대상 블록 및 이의 이후에 움직임 예측이 수행될 모든 블록에 대한 직전 탐색영역 범위값이 0이 되어 임시 탐색영역이 존재하지 않게 되는 오류가 발생할 수 있다.
이러한 오류 발생을 방지하기 위해, 탐색영역 설정부(320)는 대상 블록의 SAD(SADprev)와 직전 대상 블록의 SAD(SADcur) 사이에 아래의 수학식 14와 같은 관계가 성립되는 경우, 임시 범위값을 "1"로 강제 설정할 수 있다.
이에 따라, 최종적인 움직임 벡터의 탐색 영역은 아래의 수학식 15와 같이 표현될 수 있다.
한편, 본 발명의 일 실시예에 따른 탐색영역 설정 장치(300)는 움직임 벡터 탐색부(미도시)와 함께 움직임 벡터 탐색장치(미도시)를 구성할 수도 있다.
이 경우, 움직임 벡터의 탐색 시 소요되는 연산량 및 연산 시간을 더욱 절감하기 위해, 움직임 벡터 탐색부(미도시)는 가변 단계별 탐색 기법(VSS: Variable Step Search)를 이용하여 상기에 따라 설정된 탐색영역 내에서 움직임 벡터의 탐색을 수행할 수 있다. 종래의 가변 단계별 탐색 기법은 아래와 같이 수행될 수 있다.
[과정 1] 최종적으로 설정된 탐색영역에 대해, 과정 1에서는 최대 탐색 단계(maxstep(i))와 스텝 크기(Step_Size(i))를 아래의 수학식 16과 같이 설정한다.
[과정 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항에 있어서,상기 연산부는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고,상기 탐색영역 설정부는 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 범위값을 설정하며,상기 탐색영역의 범위값은 상기 원점 벡터를 중심으로 하는 상기 수평 방향 및 상기 수직 방향 별로의 탐색영역의 반폭값(Half Width)인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
- 제2항에 있어서,상기 탐색영역 설정부는 다수의 모드로 구분하여 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 상기 최소 범위값 이상 상기 최대 범위값 이하의 값을 상기 탐색영역의 범위값으로 설정하되,상기 대상 블록은 상기 다수의 모드 중 어느 하나의 모드에 속하고, 상기 다수의 모드는 상기 차들의 절대값의 합이 0인 제1 모드, 상기 차들의 절대값의 합이 1 이하이면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값의 합이 1을 초과하면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합이 0이 아니면서 상기 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드 중에서 적어도 하나를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
- 제3항에 있어서,상기 탐색영역 설정부는 상기 대상 블록 보다 이전에 움직임 벡터의 예측이 수행된 2 이상의 이전 대상 블록 각각에 대한 움직임 벡터 차(MVD: Motion Vector Difference)의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하고, 상기 최소 범위값, 상기 최대 범위값 및 상기 임시 범위값 중 중간 값을 상기 탐색영역의 범위값으로 설정하되,상기 MVD는 상기 이전 대상 블록에 대한 예측 움직임 벡터와 상기 이전 대상 블록에 대한 탐색영역의 원점 벡터 간의 차인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
- 제5항에 있어서,상기 탐색영역 설정부는상기 2 이상의 이전 대상 블록 중 상기 대상 블록의 모드와 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 각각에 대한 상기 MVD의 통계를 이용하여 상기 탐색영역의 임시 범위값을 생성하되,상기 동일한 모드에 속하는 적어도 하나의 이전 대상 블록 중 상기 대상 블록의 직전에 움직임 벡터의 예측이 수행된 이전 대상 블록에 대해 설정된 탐색영역의 범위값(직전 탐색영역 범위값)을 이용하여 상기 대상 블록에 대한 임시 범위값을 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
- 제6항에 있어서,상기 탐색영역 설정부는상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 이상인 경우, 상기 직전 탐색영역 범위값의 분수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
- 제6항에 있어서,상기 탐색영역 설정부는상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제2 임계값 이하인 경우, 상기 직전 탐색영역 범위값의 정수배의 값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
- 제6항에 있어서,상기 탐색영역 설정부는상기 직전 탐색영역 범위값의 분수배의 값에 의해 설정되는 임시 탐색영역 내에 위치하는 상기 적어도 하나의 이전 대상 블록의 MVD의 개수가 제1 임계값 보다 작고 제2 임계값 보다 큰 경우, 상기 직전 탐색영역 범위값을 상기 대상 블록에 대한 임시 범위값으로 설정하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 장치.
- 움직임 벡터의 예측을 위한 탐색영역 설정 방법에 있어서,움직임 벡터 예측의 대상 블록에 대한 탐색영역의 원점 벡터 및 상기 대상 블록과 인접한 다수의 인접 블록들에 대한 예측 움직임 벡터 각각 사이의 차들을 연산하고, 상기 차들의 절대값의 합을 연산하는 단계; 및상기 차들의 절대값의 합 및 상기 다수의 인접 블록들에 대한 예측 움직임 벡터의 방향성 중 적어도 하나를 이용하여 상기 대상 블록에 대한 탐색영역의 범위값을 설정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법.
- 제10항에 있어서,상기 연산하는 단계는 벡터의 수평 방향 및 수직 방향 별로 상기 차들의 연산 및 상기 차들의 절대값의 합 연산을 수행하고,상기 탐색영역을 설정하는 단계는 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 범위값을 설정하며,상기 탐색영역의 범위값은 상기 원점 벡터를 중심으로 하는 상기 수평 방향 및 상기 수직 방향 별로의 탐색영역의 반폭값인 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법.
- 제11항에 있어서,상기 탐색영역을 설정하는 단계는 다수의 모드로 구분하여 상기 수평 방향 및 상기 수직 방향 별로 상기 대상 블록에 대한 탐색영역의 최소 범위값 및 최대 범위값을 설정하고, 상기 최소 범위값 이상 상기 최대 범위값 이하의 값을 상기 탐색영역의 범위값으로 설정하되,상기 대상 블록을 상기 다수의 모드 중 어느 하나의 모드에 속하고, 상기 다수의 모드는 상기 차들의 절대값의 합이 0인 제1 모드, 상기 차들의 절대값이 1 이하이면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제2 모드, 상기 차들의 절대값이 1을 초과하면서 상기 인접 블록들의 움직임 벡터의 방향이 동일한 제3 모드 및 상기 차들의 절대값의 합이 0이 아니면서 상기 인접 블록들의 움직임 벡터의 방향이 상이한 제4 모드를 포함하는 것을 특징으로 하는 움직임 벡터의 예측을 위한 탐색영역 설정 방법.
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)
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)
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)
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 | 彈性調整估算搜尋範圍的移動估算方法及視差估算方法 |
-
2012
- 2012-06-27 KR KR20120069112A patent/KR101347062B1/ko active IP Right Grant
- 2012-10-29 WO PCT/KR2012/008962 patent/WO2014003254A1/ko active Application Filing
-
2014
- 2014-12-29 US US14/584,573 patent/US10063881B2/en active Active
Patent Citations (4)
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)
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 |