KR101796192B1 - Transcoding method and apparatus according to prediction motion vector selection - Google Patents

Transcoding method and apparatus according to prediction motion vector selection Download PDF

Info

Publication number
KR101796192B1
KR101796192B1 KR1020110129721A KR20110129721A KR101796192B1 KR 101796192 B1 KR101796192 B1 KR 101796192B1 KR 1020110129721 A KR1020110129721 A KR 1020110129721A KR 20110129721 A KR20110129721 A KR 20110129721A KR 101796192 B1 KR101796192 B1 KR 101796192B1
Authority
KR
South Korea
Prior art keywords
motion vector
optimal
center value
selecting
candidate
Prior art date
Application number
KR1020110129721A
Other languages
Korean (ko)
Other versions
KR20130063285A (en
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 연세대학교 산학협력단
Priority to KR1020110129721A priority Critical patent/KR101796192B1/en
Publication of KR20130063285A publication Critical patent/KR20130063285A/en
Application granted granted Critical
Publication of KR101796192B1 publication Critical patent/KR101796192B1/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/567Motion estimation based on rate distortion criteria

Landscapes

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

Abstract

본 발명은 움직임 벡터 예측을 위한 연산량 감소에 따른 움직임 벡터의 정확도 저하 및 움직임 벡터 정확도 저하에 의한 변환 부호화 효율 감소의 문제점을 해결할 수 있는 예측 움직임 벡터 선택에 따른 변환 부호화 방법 및 장치를 개시하고 있다. 변환 부호화 방법은 고해상도에서 저해상도로의 변환 부호화 방법에 있어서, 하위 해상도 블록에 매칭되는 상위 해상도 블록의 후보 예측 움직임 벡터들을 공간적 위치를 고려하여 결집시키고, 상기 결집된 후보 예측 움직임 벡터들을 기반으로 공간을 분할하는 단계; 상기 분할된 공간의 후보 예측 움직임 벡터들 중 상기 분할된 공간의 중심값에서 가장 거리가 가까운 후보 예측 움직임 벡터를 대표 후보 예측 움직임 벡터로 선정하는 단계; 상기 대표 예측 움직임 벡터들 중에서 최적 예측 움직임 벡터를 선정하는 단계; 및 상기 최적 예측 움직임 벡터를 기반으로 상기 하위 해상도의 블록의 움직임 벡터를 예측하여 변환 부호화를 수행하는 단계를 포함한다. 따라서, 현재 블록의 움직임 벡터의 부호화 성능을 크게 향상시켜 비디오 변환 부호화 장치의 수행 속도를 증가시키고 복원 영상의 화질을 크게 개선할 수 있다.The present invention discloses a transcoding method and apparatus for selecting a predictive motion vector that can solve the problem of a decrease in the accuracy of a motion vector and a decrease in a transcoding efficiency due to a decrease in the accuracy of a motion vector due to a decrease in the amount of calculation for motion vector prediction. A transcoding method is a transcoding method of converting a high resolution to a low resolution, comprising: collecting candidate prediction motion vectors of an upper resolution block matching a lower resolution block in consideration of spatial positions; Dividing; Selecting a candidate prediction motion vector that is closest to a center value of the divided space among candidate prediction motion vectors of the divided space as a representative candidate prediction motion vector; Selecting an optimal predicted motion vector from the representative predicted motion vectors; And performing a transform coding by predicting a motion vector of the lower resolution block based on the best predicted motion vector. Therefore, the coding performance of the motion vector of the current block can be greatly improved, thereby increasing the performance of the video transcoding device and greatly improving the quality of the reconstructed image.

Description

예측 움직임 벡터 선택에 따른 변환 부호화 방법 및 장치{TRANSCODING METHOD AND APPARATUS ACCORDING TO PREDICTION MOTION VECTOR SELECTION}TECHNICAL FIELD [0001] The present invention relates to a transcoding method and apparatus for selecting a predictive motion vector,

본 발명은 변환 부호화 방법 및 장치에 관한 것으로, 보다 상세하게는 고해상도에서 저해상도로의 변환시에 예측 움직임 벡터를 효율적으로 선택하여 변환 부호화를 수행하는 방법 및 장치에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a transcoding method and apparatus, and more particularly, to a method and apparatus for efficiently performing a transcoding by selecting a predictive motion vector efficiently at a high-resolution to low-resolution transcoding.

고해상도의 비디오 압축 스트림을 저해상도의 비디오 압축 스트림으로 변환 부호화(transcoding)를 수행할 때, 블록 기반 움직임 예측시, 고해상도의 블록의 다수의 움직임 벡터를 하나의 하위 해상도 매크로블록에 매칭시켜야 하는 문제가 발생한다. When transcoding a high-resolution video compression stream to a low-resolution video compression stream, a problem arises in that a plurality of motion vectors of a high-resolution block must be matched to one low-resolution macroblock in block-based motion prediction do.

도 1은 움직임 벡터의 다운 샘플링(down sampling) 모습을 나타낸 도면이다. 도 1에 도시된 바와 같이, 상위 해상도의 4개의 매크로블록에 해당하는 사이즈의 영상을 하나의 매크로 블록 크기로 줄일 때, 상위 해상도에 속하는 4개의 움직임 벡터를 하나의 움직임 벡터로 병합해야 하는 상황이 발생할 수 있다. 하위 해상도의 매크로 블록에 가장 최적인 움직임 벡터는 실제 움직임 기반 예측을 수행하여 찾을 수 있지만, 그 경우 필요한 막대한 연산량은 변환 부호화의 필수 요건인 빠른 처리 속도에 위배된다.1 is a diagram illustrating a down-sampling of a motion vector. As shown in FIG. 1, when an image having a size corresponding to four macroblocks of a higher resolution is reduced to one macroblock size, a situation in which four motion vectors belonging to a higher resolution are merged into one motion vector Lt; / RTI > Although motion vectors that are optimal for macroblocks of lower resolution can be found by performing actual motion based prediction, the enormous amount of computation required in this case is in violation of the fast processing speed, which is an essential requirement of transcoding.

상기의 문제점을 해결하기 위해, 하위 해상도 영상과 매칭되는 상위 해상도 영상의 블록들의 움직임 벡터를 움직임 벡터 후보군으로 삼고, 이로부터 하나의 대표 움직임 벡터를 찾아내는 방법이 기존의 변환 부호화 방법에서 다양하게 제안되었다.In order to solve the above problem, a method of finding a representative motion vector from a motion vector candidate block of a block of an upper resolution image matching a lower resolution image is proposed in various conventional encoding methods .

Random 방법은 여러 개의 입력 움직임 벡터들 중에서 하나의 움직임 벡터를 랜덤하게 선택하는 방법으로 변환 부호화의 연산 속도가 빠르지만, 부호화 성능 측면에서 비효율적이다(비특허문헌 1).The Random method is a method of randomly selecting one motion vector among a plurality of input motion vectors, and the operation speed of the transcoding is high, but it is inefficient in terms of encoding performance (Non-Patent Document 1).

Mean 방법은 일부 후보 움직임 벡터들의 평균치를 대표 움직임 벡터로 선택하는 방법으로서, 후보 움직임 벡터를 찾는 방법에는 원본 영상에서 하위 해상도와 매칭되는 움직임 벡터들을 후보로 삼는 방법, 또는 동일한 방향을 가지는 움직임 벡터들을 후보군에 포함시키는 방법(비특허문헌 2)(비특허문헌 3), 또는 주변 매크로블록과 correlation을 고려하여 후보군을 선택하는 방법(비특허문헌 4) 등이 있다. 이 기술은 후보 움직임 벡터중 하나의 움직임 벡터의 magnitude가 다른 움직임 벡터에 비해 큰 경우 선택되는 움직임 벡터의 결과에 큰 영향을 미치는 단점이 있다.The mean method is a method of selecting a mean value of some candidate motion vectors as a representative motion vector. As a method of finding a candidate motion vector, a method of using motion vectors matching the lower resolution in the original image as candidates, (Non-Patent Document 2) (Non-Patent Document 3), or a method of selecting a candidate group in consideration of correlation with neighboring macroblocks (Non-Patent Document 4). This technique has a disadvantage in that the magnitude of one of the candidate motion vectors greatly affects the result of the motion vector selected when the magnitude of the motion vector is larger than that of the other motion vectors.

Weighted Average(WA) 방법은 입력 움직임 벡터들에 대한 weighted average를 통해 대표 움직임 벡터를 선택하는 방법으로서, 각 움직임 벡터에 대한 weight를 perspective prediction error의 spatial activity(비특허문헌 2),(비특허문헌 5)에 의해 결정한다. 이 방법은 후보 움직임 벡터군의 노이즈에 약하고, original 움직임 벡터들이 다양한 방향을 가질 때, 움직임 벡터가 편향될 수도 있다는 단점이 있다.The weighted average (WA) method is a method for selecting a representative motion vector through a weighted average of input motion vectors. The weight for each motion vector is determined by the spatial activity of the perspective prediction error (non-patent document 2) 5). This method is weak against the noise of the candidate motion vector group, and when the original motion vectors have various directions, the motion vector may be deflected.

Weighted Median(WM) 방법은 움직임 벡터들 간의 Euclidean distance를 구하여 중간값을 가지는 움직임 벡터로 대푯값을 선택한다(비특허문헌 1)(비특허문헌 4)(비특허문헌 6). 이 방법은 높은 부호화 효율을 보이지만, 중간값 계산에 많은 연산량을 필요로 한다. The Weighted Median (WM) method obtains Euclidean distance between motion vectors and selects a representative value as a motion vector having an intermediate value (Non-Patent Document 1) (Non-Patent Document 4) (Non-Patent Document 6). This method shows a high coding efficiency, but requires a large amount of computation in calculating the intermediate value.

DCmax 방법은 후보 움직임 벡터군 중에서 DC residual coefficient가 최대인 블록의 움직임 벡터로 대표 움직임 벡터를 택하는 방법(비특허문헌 7)이다. 이 방법은 mean 방법에 비해 약간의 연산량 증가가 필요하지만, mean 방법 또는 WA 방법에 비해서는 개선된 부호화 성능을 보여준다.
The DCmax method is a method of selecting a representative motion vector as a motion vector of a block having a maximum DC residual coefficient among the candidate motion vectors (Non-Patent Document 7). This method requires a slight increase in computation compared to the mean method, but shows improved coding performance compared to the mean method or the WA method.

N. Bjork and C. Christopoulos, "Transcoder architecture for video coding," IEEE Trans. Consumer Electron., vol. 44, pp. 88-98, Feb. 1998. N. Bjork and C. Christopoulos, "Transcoder architecture for video coding," IEEE Trans. Consumer Electron., Vol. 44, pp. 88-98, Feb. 1998. B. Shen, I. K. Sethi, and B. Vasudev, "Adaptive motion-vector resamplingfor compressed video down scaling," IEEE Trans. Circuits Syst. Video Technol., vol. 9, no. 6, pp. 929-936, Sep. 1999. B. Shen, I. K. Sethi, and B. Vasudev, "Adaptive motion-vector resampling for compressed video down scaling," IEEE Trans. Circuits Syst. Video Technol., Vol. 9, no. 6, pp. 929-936, Sep. 1999. P. Yin and M. Wu, "Video transcoding by reducing spatial resolution," in Proc. IEEE Int. Conf. Image Processing, vol. 1, 2000, pp. 972-975. P. Yin and M. Wu, "Video transcoding by reducing spatial resolution," in Proc. IEEE Int. Conf. Image Processing, vol. 1, 2000, pp. 972-975. T. Shanableh and M. Ghanbari, "Heterogeneous video transcoding to lower spatial-temporal resolutions and different encoding formats," IEEE Trans. Multimedia, vol. 2, no. 2, pp. 101-110, Jun. 2000. T. Shanableh and M. Ghanbari, "Heterogeneous video transcoding to lower spatial-temporal resolutions and different encoding formats," IEEE Trans. Multimedia, vol. 2, no. 2, pp. 101-110, Jun. 2000. G. Shen, B. Zeng, Y.-Q. Zhang, and M. L. Liou, "Transcoder with arbitrarily resizing capability," in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS) 2001, vol. 5, Sydney, NSW, Australia, May 2001, pp. 25-28. G. Shen, B. Zeng, Y.-Q. Zhang, and M. L. Liou, "Transcoder with arbitrarily resizing capability," in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS) 2001, vol. 5, Sydney, NSW, Australia, May 2001, pp. 25-28. J. Xin, M.-T. Sun, K. Chun, and B. S. Choi, "Motion re-estimation for HDTV to SDTV transcoding," in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS) 2002, vol. 4, Geneva, Switzerland, May 2002, pp.715-718. J. Xin, M.-T. Sun, K. Chun, and B. S. Choi, "Motion re-estimation for HDTV to SDTV transcoding," in Proc. IEEE Int. Symp. Circuits and Systems (ISCAS) 2002, vol. 4, Geneva, Switzerland, May 2002, pp. 715-718. M.-J. Chen, M.-C. Chu, and C.-W. Pan, "Efficient motion-estimation algorithm for reduced frame-rate video transcoder," IEEE Trans. Circuits Syst. Video Technol., vol. 12, no. 4, pp. 269-275, Apr. 2002. M.-J. Chen, M.-C. Chu, and C.-W. Pan, "Efficient motion-estimation algorithm for reduced frame-rate video transcoder," IEEE Trans. Circuits Syst. Video Technol., Vol. 12, no. 4, pp. 269-275, Apr. 2002.

본 발명의 목적은 움직임 벡터 예측을 위한 연산량 감소에 따른 움직임 벡터의 정확도 저하 및 움직임 벡터 정확도 저하에 의한 변환 부호화 효율(transcoding efficiency) 감소의 문제점을 해결할 수 있는 예측 움직임 벡터 선택에 따른 변환 부호화 방법 및 장치를 제공하는 것이다.It is an object of the present invention to provide a transcoding method based on a predictive motion vector selection method capable of solving the problem of degradation of accuracy of a motion vector and reduction of transcoding efficiency due to degradation of accuracy of a motion vector due to a decrease in computation amount for motion vector prediction, Device.

본 발명의 다른 목적은 종래의 방법들과 비슷한 수준의 복잡도를 유지하면서 더 높은 정확도의 최적 움직임 벡터를 선택하기 위해, 높은 해상도 영상 블록의 후보 예측 움직임 벡터들을 수 개의 공간으로 분할하고, 각 공간으로부터 대표 후보 움직임 벡터를 선정하여 현재 블록의 움직임 벡터와의 차이를 최소화하는 최적 후보 움직임 벡터를 선택함으로써 변환 부호화 효율을 높일 수 있는 예측 움직임 벡터 선택에 따른 변환 부호화 방법 및 장치를 제공하는 것이다.
Another object of the present invention is to divide candidate prediction motion vectors of a high resolution image block into several spaces in order to select an optimal motion vector of higher accuracy while maintaining a level of complexity similar to that of the conventional methods, And selecting a representative candidate motion vector and selecting a best candidate motion vector that minimizes a difference between the representative candidate motion vector and a motion vector of the current block.

상기한 목적을 달성하기 위한 본 발명의 변환 부호화 방법은 고해상도에서 저해상도로의 변환 부호화시, 하위 해상도 블록에 매칭되는 상위 해상도 블록의 후보 예측 움직임 벡터들을 공간적 위치를 고려하여 결집시키고, 상기 결집된 후보 예측 움직임 벡터들을 기반으로 공간을 분할하는 단계; 상기 분할된 공간의 후보 예측 움직임 벡터들 중 하나를 대표 후보 예측 움직임 벡터로 선정하는 단계; 상기 대표 예측 움직임 벡터들 중에서 최적 예측 움직임 벡터를 선정하는 단계; 및 상기 최적 예측 움직임 벡터를 기반으로 상기 하위 해상도의 블록의 움직임 벡터를 예측하여 변환 부호화를 수행하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a transform coding method for transforming candidate prediction motion vectors of an upper resolution block matched to a lower resolution block into high-resolution low-resolution blocks by taking spatial positions into account, Dividing the space based on the predicted motion vectors; Selecting one of the candidate prediction motion vectors in the divided space as a representative candidate prediction motion vector; Selecting an optimal predicted motion vector from the representative predicted motion vectors; And performing a transform coding by predicting a motion vector of the block having the lower resolution based on the best predicted motion vector.

상기 대표 예측 움직임 벡터 선정 단계는 상기 분할된 공간의 중심값에서 가장 거리가 가까운 후보 예측 움직임 벡터를 상기 대표 예측 움직임 벡터로 선정하는 단계를 포함할 수 있다.The representative predictive motion vector selection step may include selecting a candidate predictive motion vector that is closest to the center value of the divided space as the representative predictive motion vector.

상기 최적 예측 움직임 벡터 선정 단계는 상기 최적 예측 움직임 벡터의 정확도를 향상시키기 위해, 상기 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역에서 더 적은 왜곡이 발생하는 움직임 벡터를 새로운 최적 예측 움직임 벡터로 선정하는 단계를 포함할 수 있다.The optimal predictive motion vector selection step may include a step of selecting a new optimal predictive motion vector as a motion vector for which less distortion occurs in a neighboring area of a block indicated by the best predictive motion vector, . ≪ / RTI >

상기 최적 움직임 벡터 선정 단계는 상기 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역에서 더 적은 왜곡이 발생하는 움직임 벡터를 상기 새로운 최적 예측 움직임 벡터로 선정할 때, 상기 주변 영역을 상기 최적 예측 움직임 벡터로부터 수 화소 이내의 근접한 영역으로 한정하는 단계를 포함할 수 있다.Wherein the optimal motion vector selection step selects the optimal predicted motion vector from the optimal predicted motion vector when the motion vector having less distortion occurs in the surrounding area of the block indicated by the best predicted motion vector, Pixel to a near area within a pixel.

상기 최적 움직임 벡터 선정 단계는 상기 주변 영역을 영상의 특성에 따라 적응적으로 조절하는 단계를 포함할 수 있다.The optimal motion vector selection step may include adaptively adjusting the peripheral region according to the characteristics of the image.

상기 최적 움직임 벡터 선정 단계는 상기 최적 움직임 벡터가 클 경우, 상기 주변 영역의 범위를 넓은 범위로 조절하고, 상기 최적 움직임 벡터가 작을 경우, 상기 주변 영역의 범위를 좁은 범위로 조절하는 단계를 포함할 수 있다.Wherein the optimal motion vector selection step includes adjusting a range of the surrounding area to a wide range when the optimal motion vector is large and adjusting the range of the surrounding area to a narrow range when the optimal motion vector is small .

상기 최적 예측 움직임 벡터 선정 단계는 상기 대표 예측 움직임 벡터들 중에서 율-왜곡(rate-distortion) 관점에서 가장 좋은 성능을 나타내는 움직임 벡터를 상기 최적 예측 움직임 벡터로 선정하는 단계를 포함할 수 있다.The optimal predictive motion vector selection step may include a step of selecting a best predictive motion vector as a motion vector having the best performance in terms of rate-distortion among the representative predictive motion vectors.

상기 공간 분할 단계는 상기 분할된 공간의 중심값과 상기 후보 예측 움직임 벡터들의 거리의 차이의 분산을 최소화하는 방식을 통해 상기 공간을 분할하는 단계를 포함할 수 있다.The spatial division step may include dividing the space by a method of minimizing dispersion of a difference between a center value of the divided space and a distance of the candidate prediction motion vectors.

상기 공간 분할 단계는 상기 후보 예측 움직임 벡터들 중에서 임의의 K 개를 선택하여 중심값을 설정하는 제 1 단계; 상기 K개의 중심값을 기반으로 K 개의 그룹으로 분할하고, 상기 후보 예측 움직임 벡터 중 어느 하나와 상기 K 개 그룹의 중심 값 사이의 거리를 최소화시키는 새로운 중심 값을 찾고 상기 새로운 중심 값과 매칭되는 그룹에 상기 하나의 후보 예측 움직임 벡터를 소속시키는 제 2 단계; 상기 새롭게 바뀐 각 그룹 내의 모든 후보 예측 움직임 벡터들의 평균값으로 상기 각 그룹의 중심값을 다시 찾는 제 3 단계; 및 상기 제 2 및 제 3 단계의 반복을 통해 더이상 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 공간 분할 및 중심값으로 선정하는 제 4 단계를 포함할 수 있다.Wherein the spatial division step comprises: a first step of setting a center value by selecting any K among the candidate prediction motion vectors; A group of K groups which are matched with the new center value by finding a new center value that minimizes a distance between any one of the candidate predicted motion vectors and a center value of the K groups based on the K center values, A second step of assigning the one candidate predictive motion vector to the candidate motion vector; A third step of searching for the center value of each group as an average value of all candidate prediction motion vectors in each of the newly changed groups; And a fourth step of selecting a result of the clustering result which is no longer changed through the repetition of the second and third steps as an optimal space division and a center value.

상기 최적 예측 움직임 벡터 선정 단계는 SATD(Sum of Absolute Transformed Differences)를 사용하여 상기 최적 예측 움직임 벡터를 선정하는 단계를 포함할 수 있다.The optimal predicted motion vector selection step may include selecting the best predicted motion vector using a Sum of Absolute Transformed Differences (SATD).

상기한 목적을 달성하기 위한 본 발명의 변환 부호화 장치는 고해상도에서 저해상도로의 변환 부호화시, 하위 해상도 블록에 매칭되는 상위 해상도 블록의 후보 예측 움직임 벡터들을 공간적 위치를 고려하여 결집시키고, 상기 결집된 후보 예측 움직임 벡터들을 기반으로 공간을 분할하는 공간 분할부; 상기 분할된 공간의 후보 예측 움직임 벡터들 중 하나를 대표 후보 예측 움직임 벡터로 선정하는 대표 예측 움직임 벡터 선정부; 상기 대표 예측 움직임 벡터들 중에서 최적 예측 움직임 벡터를 선정하는 최적 예측 움직임 벡터 선정부; 및 상기 최적 예측 움직임 벡터를 기반으로 상기 하위 해상도의 블록의 움직임 벡터를 예측하여 변환 부호화를 수행하는 변환 부호화부를 포함할 수 있다.According to an aspect of the present invention, there is provided a transcoding apparatus for converging candidate motion vectors of an upper resolution block matching a lower resolution block in consideration of a spatial position, A spatial divider for dividing a space based on the predicted motion vectors; A representative predicted motion vector selecting unit for selecting one of the candidate predicted motion vectors in the divided space as a representative candidate predicted motion vector; An optimal predicted motion vector selecting unit for selecting an optimal predicted motion vector from among the representative predicted motion vectors; And a transform coding unit for performing a transform coding by predicting a motion vector of the block having the lower resolution based on the best predicted motion vector.

상기 대표 예측 움직임 벡터 선정부는 상기 분할된 공간의 중심값에서 가장 거리가 가까운 후보 예측 움직임 벡터를 상기 대표 예측 움직임 벡터로 선정할 수 있다.The representative predictive motion vector selection unit may select the candidate predictive motion vector having the closest distance from the center value of the divided space as the representative predictive motion vector.

상기 최적 예측 움직임 벡터 선정부는 상기 최적 예측 움직임 벡터의 정확도를 향상시키기 위해, 상기 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역에서 더 적은 왜곡이 발생하는 움직임 벡터를 새로운 최적 예측 움직임 벡터로 선정할 수 있다.In order to improve the accuracy of the optimal predictive motion vector, the optimal predictive motion vector selection unit may select, as a new optimal predictive motion vector, a motion vector that generates less distortion in the surrounding region of the block indicated by the best predictive motion vector .

상기 최적 움직임 벡터 선정부는 상기 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역에서 더 적은 왜곡이 발생하는 움직임 벡터를 상기 새로운 최적 예측 움직임 벡터로 선정할 때, 상기 주변 영역을 상기 최적 예측 움직임 벡터로부터 수 화소 이내의 근접한 영역으로 한정할 수 있다.Wherein the optimal motion vector selection unit selects the optimal predicted motion vector from the optimal predicted motion vector when the motion vector having less distortion occurs in the peripheral region of the block indicated by the best predicted motion vector, Of the area.

상기 최적 움직임 벡터 선정부는 상기 주변 영역을 영상의 특성에 따라 적응적으로 조절할 수 있다.The optimal motion vector selection unit may adaptively adjust the peripheral region according to the characteristics of the image.

상기 최적 움직임 벡터 선정 단계는 상기 최적 움직임 벡터가 클 경우, 상기 주변 영역의 범위를 넓은 범위로 조절하고, 상기 최적 움직임 벡터가 작을 경우, 상기 주변 영역의 범위를 좁은 범위로 조절할 수 있다.The optimal motion vector selection step adjusts the range of the surrounding area to a wide range when the optimal motion vector is large and adjusts the range of the surrounding area to a narrow range when the optimal motion vector is small.

상기 최적 예측 움직임 벡터 선정부는 상기 대표 예측 움직임 벡터들 중에서 율-왜곡(rate-distortion) 관점에서 가장 좋은 성능을 나타내는 움직임 벡터를 상기 최적 예측 움직임 벡터로 선정할 수 있다.The optimal predicted motion vector selection unit may select a best predicted motion vector as a best predicted motion vector in terms of rate-distortion among the representative predicted motion vectors.

상기 공간 분할부는 상기 분할된 공간의 중심값과 상기 후보 예측 움직임 벡터들의 거리의 차이의 분산을 최소화하는 방식을 통해 상기 공간을 분할할 수 있다.The space division unit may divide the space by a method of minimizing dispersion of a difference between a center value of the divided space and a distance of the candidate prediction motion vectors.

상기 공간 분할부는 상기 후보 예측 움직임 벡터들 중에서 임의의 K 개를 선택하여 중심값을 설정하는 제 1 중심값 설정부; 상기 K 개의 중심값을 기반으로 K 개의 그룹으로 분할하고, 상기 후보 예측 움직임 벡터 중 어느 하나와 K 개 그룹의 중심 값 사이의 거리를 최소화시키는 새로운 중심 값을 찾고 상기 새로운 중심 값과 매칭되는 그룹에 상기 하나의 후보 예측 움직임 벡터를 소속시키는 그룹 생성부; 상기 새롭게 바뀐 각 그룹 내의 모든 후보 예측 움직임 벡터들의 평균값으로 각 그룹의 중심값을 다시 찾는 제 2 중심값 생성부; 및 상기 제 2 및 제 3 단계의 반복을 통해 더이상 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 공간 분할 및 중심값으로 선정하는 최적 공간 분할부를 포함할 수 있다.Wherein the spatial divider comprises: a first center value setting unit for setting a center value by selecting any K among the candidate predicted motion vectors; A new center value that minimizes a distance between any one of the candidate predicted motion vectors and a center value of K groups is searched for and a group matching with the new center value is found A group generating unit that belongs to the one candidate prediction motion vector; A second center value generation unit for searching again the center value of each group as an average value of all candidate prediction motion vectors in each of the newly changed groups; And an optimal space division unit for selecting a result of the point of time at which the clustering result is no longer changed through the repetition of the second and third steps as the optimum space division and center value.

상기 최적 예측 움직임 벡터 선정부는 SATD(Sum of Absolute Transformed Differences)를 사용하여 상기 최적 예측 움직임 벡터를 선정할 수 있다.
The optimal predicted motion vector selection unit may select the best predicted motion vector using a Sum of Absolute Transformed Differences (SATD).

본 발명의 예측 움직임 벡터 선택에 따른 변환 부호화 방법 및 장치에 따르면, 상위 해상도 블록으로부터 얻은 후보 움직임 벡터의 공간 분할을 통해 하위 해상도 블록에 대한 대표 움직임 벡터를 선정하고, 율-왜곡 관점에서 최적인 후보 움직임 벡터를 선택함으로써, 실제 움직임 벡터 예측보다 연산량을 크게 줄이는 동시에, 선택된 움직임 벡터가 실제 움직임 벡터 예측에 매우 근접하게 선정되기 때문에 현재 블록의 움직임 벡터의 부호화 성능을 크게 향상시켜 비디오 변환 부호화 장치의 수행 속도를 증가시키고 복원 영상의 화질을 크게 개선할 수 있는 효과가 있다.
According to the transform coding method and apparatus according to the predictive motion vector selection method of the present invention, a representative motion vector for a lower resolution block is selected through spatial division of a candidate motion vector obtained from an upper resolution block, Since the motion vector is selected to be smaller than the actual motion vector prediction and the selected motion vector is selected in close proximity to the actual motion vector prediction, the coding performance of the motion vector of the current block is greatly improved, There is an effect that the speed is increased and the image quality of the restored image is greatly improved.

도 1은 움직임 벡터의 다운 샘플링(down sampling) 모습을 나타낸 도면
도 2는 본 발명의 일 실시예에 따른 변환 부호화 방법을 개략적으로 나타낸 흐름도,
도 3은 본 발명의 일 실시예에 따른 변환 부호화 방법의 공간 분할의 예를 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 변환 부호화 방법의 공간 분할 단계를 구체적으로 나타낸 상세흐름도,
도 5는 본 발명의 일 실시예에 따른 변환 부호화 방법의 최적 예측 움직임 벡터 선정 단계를 구체적으로 나타낸 상세흐름도,
도 6은 본 발명의 일 실시예에 따른 변환 부호화 장치를 개략적으로 나타낸 블록도,
도 7은 본 발명의 일 실시예에 따른 변환 부호화 장치의 공간 분할부를 구체적으로 나타낸 상세블록도,
도 8은 본 발명의 일 실시예에 따른 변환 부호화 장치의 최적 예측 움직임 벡터 선정부를 구체적으로 나타낸 상세블록도,
도 9는 본 발명의 변환 부호화 방법의 공간 분할 기법과 다른 기법을 적용했을 시의 성능을 비교한 그래프,
도 10은 본 발명의 변환 부호화 방법의 최적 움직임 벡터 선정 기법과 다른 기법을 적용했을 시의 성능을 비교한 그래프이다.
1 is a diagram showing a down-sampling state of a motion vector
FIG. 2 is a flowchart schematically illustrating a transcoding method according to an embodiment of the present invention. FIG.
3 is a diagram illustrating an example of spatial division of a transcoding method according to an embodiment of the present invention;
4 is a detailed flowchart specifically illustrating a spatial division step of the transcoding method according to an embodiment of the present invention;
FIG. 5 is a detailed flowchart specifically illustrating an optimal predictive motion vector selection step of the transcoding method according to an embodiment of the present invention;
6 is a block diagram schematically illustrating a transcoding apparatus according to an embodiment of the present invention.
FIG. 7 is a detailed block diagram specifically illustrating a spatial division unit of a transcoding apparatus according to an embodiment of the present invention;
8 is a detailed block diagram specifically illustrating an optimal predictive motion vector selecting unit of the transcoding apparatus according to an embodiment of the present invention.
FIG. 9 is a graph comparing the performance of the spatial division method of the transcoding method of the present invention with that of another technique,
FIG. 10 is a graph comparing performance of an optimal motion vector selection technique of the transcoding method of the present invention with that of another technique.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

변환 부호화 방법Transcoding method

도 2는 본 발명의 일 실시예에 따른 변환 부호화 방법을 개략적으로 나타낸 흐름도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 변환 부호화 방법은 움직임 벡터 결집 단계(210), 공간 분할 단계(220), 대표 예측 움직임 벡터 선정 단계(230), 최적 예측 움직임 벡터 선정 단계(240) 및 변환 부호화 수행 단계(250)를 포함할 수 있다.2 is a flowchart schematically illustrating a transcoding method according to an embodiment of the present invention. 2, the transform coding method according to an exemplary embodiment of the present invention includes a motion vector aggregation step 210, a spatial division step 220, a representative predictive motion vector selection step 230, Step 240 and perform transcoding step 250. [0040]

도 2를 참조하면, 움직임 벡터를 결집하는 단계(210)에서, 변환 부호화 장치(미도시)는 하위 해상도 블록에 매칭되는 상위 해상도 블록의 후보 움직임 벡터들을 각 후호 움직임 벡터들의 공간적 위치를 고려하여 적절히 결집한다. 결집을 위해서는 K-means 알고리즘을 사용할 수 있다. Referring to FIG. 2, in a step 210 of collecting motion vectors, a transcoding device (not shown) appropriately selects candidate motion vectors of an upper resolution block matching a lower resolution block by considering spatial positions of respective motion vectors It is gathering. The K-means algorithm can be used for aggregation.

도 3은 본 발명의 일 실시예에 따른 변환 부호화 방법의 공간 분할의 예를 도시한 도면으로, 전술한 바와 같이, K-means 알고리즘을 사용한 결과로 공간을 분할한 것이다. 도 3에 도시된 바와 같이, 실선 원으로 표시된 것은 후보 예측 움직임 벡터이고, 점선 원으로 표시된 것은 공간적으로 결집되어 그룹을 형성한 움직임 벡터의 집합군을 의미한다. 진하게 색칠이 되어 있는 원은 상기 그룹의 중심값이고, 연하게 색칠되어 있는 것은 예측 움직임 벡터 중 각 그룹의 대표 예측 움직임 벡터를 나타낸다. FIG. 3 is a diagram showing an example of spatial division of the transcoding method according to an embodiment of the present invention. As described above, a space is divided by using a K-means algorithm. As shown in FIG. 3, a solid line indicates a candidate predictive motion vector, and a dotted circle denotes a group of motion vectors that are grouped spatially. The darkly colored circle is the center value of the group, and what is lightly colored represents a representative predicted motion vector of each group in the predicted motion vector.

도 3을 참조하면, 다수의 후보 움직임 벡터가 존재하는데, 이를 공간적인 위치 관계를 고려하여 결집한다. 공간적 위치관계를 통해 K개의 그룹으로 결집할 수 있는데 이는 도 4를 통해 보다 상세히 설명한다. 다음으로, 공간적으로 결집된 그룹에 있어서, 중심값을 계산한다. 이는 상기 분할된 공간의 중심값을 의미하는 것으로, K 개의 그룹이 있으면, 중심값도 K 개 존재한다. 다음 각 그룹에 포함된 후보 예측 움직임 벡터 중에 상기 중심값에 가장 가까이 위치하는 후보 예측 움직임 벡터를 각 그룹의 대표 예측 움직임 벡터로 선정한다. 따라서, 대표 예측 움직임 벡터도 K 개의 그룹이 존재하는 경우, K 개가 선정된다. 또한, 상기 결집된 그룹의 위치 관계를 기반으로 공간을 분할한다. 도 3은 A, B, C 및 D의 4 개의 공간으로 분할된 모습을 도시하고 있다.Referring to FIG. 3, there are a plurality of candidate motion vectors, which are grouped in consideration of a spatial positional relationship. And can be grouped into K groups through the spatial position relation, which will be described in more detail with reference to FIG. Next, in a spatially aggregated group, the center value is calculated. This means the center value of the divided space. If there are K groups, there are also K center values. A candidate prediction motion vector located closest to the center value among the candidate prediction motion vectors included in each of the following groups is selected as the representative prediction motion vector of each group. Therefore, when there are K groups of representative predictive motion vectors, K number is selected. Also, the space is divided based on the positional relationship of the grouped groups. Fig. 3 shows a state in which four spaces A, B, C and D are divided.

도 4는 본 발명의 일 실시예에 따른 변환 부호화 방법의 공간 분할 단계(220)를 구체적으로 나타낸 상세흐름도이다. 본 발명의 일 실시예에 따른 공간 분할 단계(220)는 K-means 알고리즘을 사용할 수 있다. 일반적으로, K-means 알고리즘은 주어진 데이터를 K개의 그룹으로 묶는 알고리즘으로, 각 그룹의 중심값과 데이터 값들의 거리의 차이의 분산을 최소화하는 방식으로 동작한다. 즉, 다음의 수학식으로 표현 가능하다.4 is a detailed flowchart illustrating the spatial division step 220 of the transcoding method according to an exemplary embodiment of the present invention. The spatial division step 220 according to an exemplary embodiment of the present invention may use a K-means algorithm. In general, the K-means algorithm is an algorithm for grouping given data into K groups, and operates in such a manner as to minimize dispersion of the difference between the center value of each group and the distance of data values. That is, it can be expressed by the following equation.

Figure 112011096881839-pat00001
Figure 112011096881839-pat00001

여기서, Si는 K개의 그룹 중 i번째 후보 움직임 벡터 그룹, xj는 j번째 후보 예측 움직임 벡터, ui는 Si의 중심값, S는 K개의 Si들의 중심값과 각 그룹에 속한 xj들의 분산의 합을 최소화하도록 군집화시킨 결과를 의미한다.Here, S i is an i-th candidate motion vector group among K groups, x j is a j-th candidate motion vector, u i is a center value of S i , S is a center value of K S i , j means that the sum of the variances of j is minimized.

도 4를 참조하여 상기 알고리즘을 보다 상세히 살펴보면, 먼저 변환 부호화 장치는 하위 해상도 블록에 매칭되는 상위 해상도 블록을 찾아서 상기 상위 해상도 블록의 후보 예측 움직임 벡터를 추출한다(410). 추출된 블록의 후보 예측 움직임 벡터 xj들 중에서 임의의 K개를 선택하여 초기 중심값을 설정한다(420). 다음으로, K개의 중심값에 가까운 움직임 벡터를 결집한다(430). 다음, 결집된 움직임 벡터를 기반으로 K개의 그룹을 생성한다(440). K개 그룹의 중심값을 다시 설정한다(450). 상기 결집 단계(430)부터 중심값 재설정 단계(450)를 좀더 상세히 살펴보면, 하나의 후보 예측 움직임 벡터 xj와 K개의 그룹의 중심값 ui 사이의 Euclidean distance를 최소화 시키는 ui를 찾고 이와 매칭되는 그룹 Si에 xj를 소속시킨다. 이를 수학식으로 표현하면 다음과 같다.Referring to FIG. 4, the transform coding apparatus finds an upper resolution block matching the lower resolution block and extracts a candidate prediction motion vector of the upper resolution block (Step 410). An arbitrary K of the candidate predicted motion vectors x j of the extracted block is selected to set an initial center value (420). Next, motion vectors close to K center values are collected (430). Next, K groups are generated based on the aggregated motion vectors (440). The center values of the K groups are reset (450). The mobilized step 430. Looking at the resetting center value of step 450 in more detail since, looking at the u i which minimizes the Euclidean distance between one of the candidate prediction motion vectors x j and the center value of the K groups u i that this matching Let x j belong to group S i . This can be expressed as follows.

Figure 112011096881839-pat00002
Figure 112011096881839-pat00002

Figure 112011096881839-pat00003
Figure 112011096881839-pat00003

새롭게 바뀐 각 그룹 내의 모든 후보 움직임 벡터들의 평균값으로 각 그룹의 중심값 ui를 다시 찾는다. 이는 다음의 수학식으로 표현할 수 있다.The center value u i of each group is again searched as an average value of all candidate motion vectors in each group that is newly changed. This can be expressed by the following equation.

Figure 112011096881839-pat00004
Figure 112011096881839-pat00004

상기와 같은 과정을 거친 후, 다시 찾은 중심값을 선행 중심값과 비교한다(460). 비교 결과, 선행 중심값과 현행 중심값이 차이가 나면, 현행 중심값을 토대로 하는 K의 중심값을 기반으로 움직임 벡터 결집 단계(430)로 돌아가서 상기한 과정을 다시 수행한다. 비교 결과, 중심값이 서로 같은 경우, K 개의 후보 움직임 벡터를 추출하고, 공간을 분할한다. 즉, 반복 과정을 통해 더 이상의 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 그룹화 및 중심값으로 선정하고 다음 단계를 진행한다.After the above process, the re-found center value is compared with the leading center value (460). As a result of the comparison, if the leading center value differs from the current center value, the process returns to the motion vector gathering step 430 based on the center value of K based on the current center value. As a result of comparison, if the center values are equal to each other, K candidate motion vectors are extracted and the space is divided. That is, through the iterative process, the result of the point at which the clustering result is no longer changed is selected as the optimum grouping and center value, and the next step is performed.

도면에 도시되진 않았지만, K-means 알고리즘 이외에 다른 공간 분할 알고리즘을 통해 공간적인 위치를 기반으로 공간 분할을 보다 효율적으로 수행할 수 있으면, 다른 방법을 통해 공간을 분할할 수 있다. 반드시 상기 방법만으로 국한되는 것은 아니다.Although it is not shown in the drawing, if the spatial division can be performed more efficiently based on the spatial position through another spatial division algorithm other than the K-means algorithm, the space can be divided by another method. It is not necessarily limited to the above method.

도 2로 돌아가서, 대표 예측 움직임 벡터 선정 단계(230)에서, 변환 부호화 장치는 공간 분할 단계(220)를 통해 분할된 후보 움직임 벡터 공간의 각 집합 군에서 대표 후보 움직임 벡터를 선정한다. 선정 방식은 각 그룹의 중심값에서 거리가 가장 가까운 후보 예측 움직임 벡터를 대표 예측 움직임 벡터로 선정한다. 선정과 관련된 수학식은 다음과 같다.Returning to FIG. 2, in the representative predictive motion vector selection step 230, the transcoding apparatus selects a representative candidate motion vector in each group of the candidate motion vector space divided through the spatial division step 220. In the selection method, the candidate predicted motion vector having the closest distance from the center value of each group is selected as the representative predicted motion vector. The mathematical expressions related to selection are as follows.

Figure 112011096881839-pat00005
Figure 112011096881839-pat00005

K개의 후보 움직임 벡터 공간이 존재하면, 대표 후보 움직임 벡터도 K개가 선정되게 된다. 도 3을 참조하면, 4개의 후보 움직임 벡터 공간이 존재하고, 그에 따라 대표 후보 움직임 벡터도 4개 존재하는 것을 알 수 있다.If there are K candidate motion vector spaces, K representative candidate motion vectors are also selected. Referring to FIG. 3, there are four candidate motion vector spaces, and thus four representative candidate motion vectors exist.

다음으로, 최적 예측 움직임 벡터 선정 단계(240)에서, 변환 부호화 장치는 대표 예측 움직임 벡터 선정 단계(230)에서 선정된 대표 예측 움직임 벡터들 중 최적의 예측 움직임 벡터를 선정한다. Next, in the optimal predictive motion vector selection step 240, the transcoding apparatus selects an optimal predictive motion vector among the representative predictive motion vectors selected in the representative predictive motion vector selection step 230. [

도 5는 본 발명의 일 실시예에 따른 변환 부호화 방법의 최적 예측 움직임 벡터 선정 단계(240)를 구체적으로 나타낸 상세흐름도이다. 도 5를 참조하면, 최적 예측 움직임 벡터 선정 단계(240)는 대표 움직임 벡터 중 율-왜곡 관점에서 가장 좋은 성능을 나타내는 움직임 벡터를 최적 예측 움직임 벡터로 선정하는 단계(510) 및 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역에서 더 적은 왜곡을 발생시키는 움직임 벡터를 새로운 최적 예측 움직임 벡터로 선정하는 단계(520)를 포함할 수 있다.5 is a detailed flowchart illustrating an optimal predicted motion vector selection step 240 of the transcoding method according to an exemplary embodiment of the present invention. Referring to FIG. 5, the optimal predicted motion vector selection step 240 includes a step 510 of selecting a best predicted motion vector as a motion vector showing the best performance in terms of rate-distortion among the representative motion vectors, And selecting (520) a motion vector that causes less distortion in the surrounding area of the pointing block as a new optimal predicted motion vector.

도 5를 참조하면, 최적 예측 움직임 벡터 선정 단계(510)에서, 대표 후보 예측 움직임 벡터들 중 율-왜곡 관점에서 최적인 예측 움직임 벡터를 최적 예측 움직임 벡터로 선정한다. 본 단계(510)에서는 율-왜곡 비용을 비교하기 위해 각 대표 예측 움직임 벡터의 율-왜곡 비용을 계산한다. 율-왜곡 비용은 SAD(Sum of Absolute Difference). SATD(Sum of Absolute Transformed Difference) 또는 (SAITD : Sum of Absolute Integer Transformed Difference) 등 다양한 비용을 계산한다. 상기 계산된 율-왜곡 비용을 기반으로 최적의 예측 움직임 벡터를 선정한다. Referring to FIG. 5, in an optimal predicted motion vector selection step 510, a best predicted motion vector is selected as an optimal predicted motion vector in terms of rate-distortion among representative candidate predicted motion vectors. In this step 510, the rate-distortion cost of each representative predicted motion vector is calculated to compare the rate-distortion cost. The rate-distortion cost is sum of absolute difference (SAD). Sum of Absolute Transformed Difference (SATD) or Sum of Absolute Integer Transformed Difference (SAITD). And selects an optimal predicted motion vector based on the calculated rate-distortion cost.

본 발명의 일 실시예에 있어서, 대표 예측 움직임 벡터 선정 단계(230)에서 선정된 움직임 벡터들 중 율-왜곡 관점에서 최적인 움직임 벡터를 선정하는 식은 다음과 같다.In an exemplary embodiment of the present invention, an optimal motion vector is selected from among the motion vectors selected in the representative predictive motion vector selection step 230 in terms of rate-distortion.

Figure 112011096881839-pat00006
Figure 112011096881839-pat00006

Figure 112011096881839-pat00007
Figure 112011096881839-pat00007

여기서,

Figure 112011096881839-pat00008
은 x를 부호화하는데 들어가는 비트량이다. 또한, R r 은 현재 블록의 잔여 신호(residual signal) 값을 부호화하는데 들어가는 비트량,
Figure 112011096881839-pat00009
은 모드를 부호화하는데 들어가는 비트량,
Figure 112011096881839-pat00010
는 움직임 벡터를 부호화하는데 들어가는 비트량,
Figure 112011096881839-pat00011
Figure 112011096881839-pat00012
은 가중치이다. D는 움직임 벡터가 가리키는 블록과 실제 블록 간의 왜곡을 의미한다.here,
Figure 112011096881839-pat00008
Is the amount of bits entering x to encode x. Also, R r denotes a bit amount for encoding the residual signal value of the current block,
Figure 112011096881839-pat00009
Is the amount of bits entering the mode encoding,
Figure 112011096881839-pat00010
The amount of bits to be used for coding the motion vector,
Figure 112011096881839-pat00011
and
Figure 112011096881839-pat00012
Is the weight. D is the distortion between the block indicated by the motion vector and the actual block.

다음으로, 새로운 최적 예측 움직임 벡터로 선정 단계(520)에서, 이전 단계(510)에서 선정된 최적 움직임 벡터의 정확도를 향상시키기 위해, 선택된 움직임 벡터가 가리키는 블록의 주변 영역에서 더 적은 왜곡이 발생하는 움직임 벡터를 찾는다. 이때, 개선된 움직임 벡터를 찾는 영역은 이전 단계(510)에서 선정된 최적 움직임 벡터로부터 수 화소 이내의 매우 근접한 영역으로 한정한다. 만일 개선된 움직임 벡터를 찾는 영역이 커진다면, 해당 연산에 걸리는 시간이 크게 증가하여 빠른 변화 부호화를 실현하고자 하는 목적에 부합하지 않게 되기 때문이다. 따라서, 영상의 특성에 따라 움직임 벡터 탐색 범위를 적응적으로 조절할 필요가 있다. 움직임이 큰 영상에서는 화질 열화가 심해질 수 있으므로, 움직임 벡터를 추정하는 탐색 범위를 넓은 범위로 해줄 필요가 있다. 따라서, 움직임 벡터 선택 방법에 의해 선택된 움직임 벡터의 크기에 따라 정확도 개선을 위한 탐색 범위를 조절하도록 한다.Next, in order to improve the accuracy of the optimal motion vector selected in the previous step 510, in the step of selecting a new optimal predicted motion vector, less distortion occurs in the peripheral region of the block indicated by the selected motion vector Find the motion vector. In this case, the region for searching for an improved motion vector is limited to a region within a few pixels from the optimal motion vector selected in the previous step 510. If the area for finding an improved motion vector is large, the time required for the corresponding calculation is greatly increased, thereby failing to meet the purpose of realizing fast change coding. Therefore, it is necessary to adjust the motion vector search range adaptively according to the characteristics of the image. It is necessary to set the search range for estimating the motion vector to a wide range because image quality deterioration may increase in a motion image having a large motion. Therefore, the search range for improving the accuracy is adjusted according to the magnitude of the motion vector selected by the motion vector selection method.

다시 도 2로 돌아가서, 마지막으로, 변환 부호화 단계(250)에서, 변환 부호화 장치는 최적 예측 움직임 벡터 선정 단계(240)에서 선정된 최적 예측 움직임 벡터를 기반으로 변환 부호화하고자 하는 하위 해상도의 블록의 움직임 벡터를 예측하여 변환 부호화를 수행한다.
Referring back to FIG. 2, finally, in the transcoding step 250, the transcoding apparatus decides a motion of a block having a lower resolution to be transcoded on the basis of the best predicted motion vector selected in the optimal predicted motion vector selection step 240 The vector is predicted and the transform coding is performed.

변환 부호화 장치Transcoding device

도 6은 본 발명의 일 실시예에 따른 변환 부호화 장치를 개략적으로 나타낸 블록도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 변환 부호화 장치는 공간 분할부(610), 대표 예측 움직임 벡터 선정부(620), 최적 예측 움직임 벡터 선정부(630) 및 변환 부호화부(640)를 포함할 수 있다.6 is a block diagram schematically illustrating a transcoding apparatus according to an embodiment of the present invention. 6, the transcoding apparatus according to an exemplary embodiment of the present invention includes a spatial divider 610, a representative predictive motion vector selecting unit 620, an optimal predictive motion vector selecting unit 630, 640 < / RTI >

공간 분할부(610)는 하위 해상도 블록에 매칭되는 상위 해상도 블록의 후보 움직임 벡터들을 각 후호 움직임 벡터들의 공간적 위치를 고려하여 적절히 결집한다. 결집을 위해서는 K-means 알고리즘을 사용할 수 있다. 다수의 후보 움직임 벡터가 존재하는데, 이를 공간적인 위치 관계를 고려하여 결집한다. 공간적 위치관계를 통해 K개의 그룹으로 결집할 수 있는데 이는 도 7를 통해 보다 상세히 설명한다. 다음으로, 공간적으로 결집된 그룹에 있어서, 중심값을 계산한다. 이는 상기 분할된 공간의 중심값을 의미하는 것으로, K 개의 그룹이 있으면, 중심값도 K 개 존재한다. 결집된 그룹의 위치 관계를 기반으로 공간을 분할한다.The spatial division unit 610 appropriately aggregates candidate motion vectors of an upper resolution block matching the lower resolution block in consideration of the spatial positions of the respective motion vectors. The K-means algorithm can be used for aggregation. There are a number of candidate motion vectors, which are grouped considering spatial relationships. And can be grouped into K groups through the spatial position relation, which will be described in more detail with reference to FIG. Next, in a spatially aggregated group, the center value is calculated. This means the center value of the divided space. If there are K groups, there are also K center values. And divides the space based on the positional relationship of the group.

도 7은 본 발명의 일 실시예에 따른 변환 부호화 장치의 공간 분할부(610)를 구체적으로 나타낸 상세블록도이다. 도 7에 도시된 바와 같이, 공간 분할부(610)는 제 1 중심값 설정부(710), 그룹 생성부(720), 제 2 중심값 생성부(730) 및 최적 공간 분할부(740)를 포함할 수 있다. 공간 분할부(610)는 K-means 알고리즘을 사용하는데, 전술한 바와 같이, K-means 알고리즘은 주어진 데이터를 K개의 그룹으로 묶는 알고리즘으로, 각 그룹의 중심값과 데이터 값들의 거리의 차이의 분산을 최소화하는 방식으로 동작한다.FIG. 7 is a detailed block diagram specifically illustrating a space division unit 610 of the transcoding apparatus according to an embodiment of the present invention. 7, the space division unit 610 includes a first center value setting unit 710, a group generating unit 720, a second center value generating unit 730, and an optimal space dividing unit 740 . As described above, the K-means algorithm is an algorithm for grouping given data into K groups. The K-means algorithm divides the center value of each group and the difference of distance of data values Lt; / RTI >

제 1 중심값 설정부(710)는 하위 해상도 블록에 매칭되는 상위 해상도 블록을 찾아서 상기 상위 해상도 블록의 후보 예측 움직임 벡터를 추출하고, 추출된 블록의 후보 예측 움직임 벡터 xj들 중에서 임의의 K개를 선택하여 초기 중심값을 설정한다. The first center value setting unit 710 finds an upper resolution block matching the lower resolution block, extracts a candidate prediction motion vector of the upper resolution block, and calculates an arbitrary number K of candidate prediction motion vectors x j To set the initial center value.

다음으로, 그룹 생성부(720)는 K개의 중심값에 가까운 움직임 벡터를 결집한다(430). 다음, 결집된 움직임 벡터를 기반으로 K개의 그룹을 생성한다. Next, the group generating unit 720 combines motion vectors close to the K center values (430). Next, K groups are generated based on the aggregated motion vectors.

제 2 중심값 생성부(730)는 K개 그룹의 중심값을 다시 설정한다. 이때, 하나의 후보 예측 움직임 벡터 xj와 K개의 그룹의 중심값 ui 사이의 Euclidean distance를 최소화시키는 ui를 찾고 이와 매칭되는 그룹 Si에 xj를 소속시킨다. 그리고는, 새롭게 바뀐 각 그룹 내의 모든 후보 움직임 벡터들의 평균값으로 각 그룹의 중심값 ui를 다시 찾는다. The second center value generator 730 sets the center values of the K groups again. In this case, the x j belonging to the group S i to be looking at the u i which minimizes the Euclidean distance between one of the candidate prediction motion vectors x j and the center value of the K groups u i this matching. Then, the center value u i of each group is again searched as an average value of all candidate motion vectors in each group that is newly changed.

상기와 같은 과정을 거친 후, 최적 공간 분할부(740)는 제 2 중심값 생성부(730)에서 생성된 중심값을 선행 중심값과 비교한다. 비교 결과, 선행 중심값과 현행 중심값이 차이가 나면, 현행 중심값을 토대로 하는 K의 중심값을 기반으로 제 1 중심값 설정부(710) 돌아가서 상기한 과정을 다시 수행한다. 비교 결과, 중심값이 서로 같은 경우, K 개의 후보 움직임 벡터를 추출하고, 공간을 분할한다. 즉, 반복 과정을 통해 더 이상의 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 그룹화 및 중심값으로 선정한다.After the above process, the optimal space division unit 740 compares the center value generated by the second center value generation unit 730 with the preceding center value. As a result of the comparison, if the leading center value differs from the current center value, the first center value setting unit 710 returns to the first center value setting unit 710 based on the center value of K based on the current center value. As a result of comparison, if the center values are equal to each other, K candidate motion vectors are extracted and the space is divided. That is, an optimal grouping and a center value are selected as a result of a point in time at which no clustering result is changed through an iterative process.

도면에 도시되진 않았지만, 상기 공간 분할부(610)는 K-means 알고리즘 이외에 다른 공간 분할 알고리즘을 통해 공간적인 위치를 기반으로 공간 분할을 보다 효율적으로 수행할 수 있으면, 다른 방법을 통해 공간을 분할할 수 있다. 반드시 상기 방법만으로 국한되는 것은 아니다.Although not shown in the figure, if the space division unit 610 can perform spatial division more efficiently based on the spatial position through a spatial division algorithm other than the K-means algorithm, the spatial division unit 610 may divide the space . It is not necessarily limited to the above method.

도 6으로 돌아가서, 대표 예측 움직임 벡터 선정부(620)는 공간 분할부(610)를 통해 분할된 후보 움직임 벡터 공간의 각 집합 군에서 대표 후보 움직임 벡터를 선정한다. 선정 방식은 각 그룹의 중심값에서 거리가 가장 가까운 후보 예측 움직임 벡터를 대표 예측 움직임 벡터로 선정한다. 전술한 바와 같이, K개의 후보 움직임 벡터 공간이 존재하면, 대표 후보 움직임 벡터도 K개가 선정되게 된다. 6, the representative predictive motion vector selection unit 620 selects a representative candidate motion vector in each group of the candidate motion vector spaces divided through the spatial division unit 610. [ In the selection method, the candidate predicted motion vector having the closest distance from the center value of each group is selected as the representative predicted motion vector. As described above, if there are K candidate motion vector spaces, K representative candidate motion vectors are also selected.

도 8은 본 발명의 일 실시예에 따른 변환 부호화 장치의 최적 예측 움직임 벡터 선정부(630)를 구체적으로 나타낸 상세블록도이다. 도 8에 도시된 바와 같이, 최적 예측 움직임 벡터 선정부(630)는 율-왜곡 비용 계산부(810), 벡터 선택부(820) 및 정확도 계산부(830)를 포함할 수 있다.8 is a detailed block diagram specifically illustrating an optimal predictive motion vector selection unit 630 of the transcoding apparatus according to an embodiment of the present invention. 8, the optimal predictive motion vector selection unit 630 may include a rate-distortion cost calculation unit 810, a vector selection unit 820, and an accuracy calculation unit 830. [

도 8을 참조하면, 최적 예측 움직임 벡터 선정부(630)는 대표 후보 예측 움직임 벡터들 중 율-왜곡 관점에서 최적인 예측 움직임 벡터를 최적 예측 움직임 벡터로 선정하기 위해 율-왜곡 비용을 비교한다. 따라서, 율-왜곡 비용 계산부(810)는 율-왜곡 비용을 비교하기 위해 각 대표 예측 움직임 벡터의 율-왜곡 비용을 계산하는 기능을 수행한다. 율-왜곡 비용은 SAD(Sum of Absolute Difference). SATD(Sum of Absolute Transformed Difference) 또는 (SAITD : Sum of Absolute Integer Transformed Difference) 등 다양한 비용을 계산한다. 상기 계산된 율-왜곡 비용을 기반으로 최적의 예측 움직임 벡터를 선정할 수 있다.Referring to FIG. 8, the optimal predictive motion vector selection unit 630 compares the rate-distortion cost to select the best predicted motion vector as the best predicted motion vector in terms of rate-distortion among the representative candidate predictive motion vectors. Therefore, the rate-distortion cost calculator 810 calculates the rate-distortion cost of each representative predicted motion vector to compare the rate-distortion cost. The rate-distortion cost is sum of absolute difference (SAD). Sum of Absolute Transformed Difference (SATD) or Sum of Absolute Integer Transformed Difference (SAITD). An optimal predicted motion vector can be selected based on the calculated rate-distortion cost.

벡터 선택부(820)는 상기 율-왜곡 비용 계산부(810)에서 계산된 각 대표 예측 움직임 벡터의 율-왜곡 비용을 토대로 최적의 예측 움직임 벡터를 선택한다.The vector selecting unit 820 selects an optimal predicted motion vector based on the rate-distortion cost of each representative predicted motion vector calculated by the rate-distortion cost calculator 810. [

다음으로, 정확도 개선부(830)는 벡터 선택부(820)에서 선정된 최적 움직임 벡터의 정확도를 향상시키기 위해, 선택된 움직임 벡터가 가리키는 블록의 주변 영역에서 더 적은 왜곡이 발생하는 움직임 벡터를 찾는다. 이때, 개선된 움직임 벡터를 찾는 영역은 벡터 선택부(820)에서 선정된 최적 움직임 벡터로부터 수 화소 이내의 매우 근접한 영역으로 한정한다. 만일 개선된 움직임 벡터를 찾는 영역이 커진다면, 해당 연산에 걸리는 시간이 크게 증가하여 빠른 변화 부호화를 실현하고자 하는 목적에 부합하지 않게 되기 때문이다. 따라서, 영상의 특성에 따라 움직임 벡터 탐색 범위를 적응적으로 조절할 필요가 있다. 움직임이 큰 영상에서는 화질 열화가 심해질 수 있으므로, 움직임 벡터를 추정하는 탐색 범위를 넓은 범위로 해줄 필요가 있다. 따라서, 움직임 벡터 선택 방법에 의해 선택된 움직임 벡터의 크기에 따라 정확도 개선을 위한 탐색 범위를 조절하도록 한다.Next, in order to improve the accuracy of the optimal motion vector selected by the vector selecting unit 820, the accuracy improving unit 830 finds a motion vector in which a less distortion occurs in the peripheral region of the block indicated by the selected motion vector. At this time, the region for searching for an improved motion vector is limited to a region within a few pixels from the optimum motion vector selected by the vector selection unit 820. If the area for finding an improved motion vector is large, the time required for the corresponding calculation is greatly increased, thereby failing to meet the purpose of realizing fast change coding. Therefore, it is necessary to adjust the motion vector search range adaptively according to the characteristics of the image. It is necessary to set the search range for estimating the motion vector to a wide range because image quality deterioration may increase in a motion image having a large motion. Therefore, the search range for improving the accuracy is adjusted according to the magnitude of the motion vector selected by the motion vector selection method.

다시 도 6으로 돌아가서, 마지막으로, 변환 부호화부(640)는 최적 예측 움직임 벡터 선정부(630)에서 선정된 최적 예측 움직임 벡터를 기반으로 변환 부호화하고자 하는 하위 해상도의 블록의 움직임 벡터를 예측하여 변환 부호화를 수행한다. 6, finally, the transform coding unit 640 predicts a motion vector of a block having a lower resolution to be transcoded on the basis of the optimal predicted motion vector selected by the optimal predictive motion vector selecting unit 630, And performs encoding.

도 9는 본 발명의 변환 부호화 방법의 공간 분할 기법과 다른 기법을 적용했을 시의 성능을 비교한 그래프이다. 본 발명의 공간 분할 기법의 성능을 검증하기 위해 기존 알고리즘인 Mean 방법과 Median 방법을 사용하여 성능을 비교하였다. 실험은 JSVM(Joint Scalable Video Model) 9.19.7에서 실행하였으며, 실험 영상으로는 1280 x 720 크기의 City, Crew, Harbour, Soccer 영상을 사용하였다. 공간 해상도 감소는 가로, 세로로 각각 1/2로 하였다. 즉, 4개의 매크로 블록이 1개의 매크로 블록으로 병합된다. 도 9에 도시된 바와 같이, Anchor의 기법은 FDFE(Full Decoding Full Encoding) 기법으로 움직임 예측을 모두 수행한 결과이다. 따라서, 복잡도는 높지만 정확한 움직임 벡터를 구할 수 있기 때문에 가장 높은 성능을 보인다. 반면, 본 발명의 공간 분할 기법과 기존 알고리즘(Mean 및 Median)은 움직임 예측을 수행하기 않고 움직임 벡터 병합을 통해 산출된 움직임 벡터로 움직임 보상을 한 결과이다. 결과를 보면, 본 발명의 공간 분할 기법이 기존 알고리즘에 비해최대 1.5 dB 이상 성능이 향상된 것을 확인할 수 있다. 특히, City와 Soccer와 같이 움직임이 빠르고 복잡한 영상에서는 본 발명의 성능이 월등히 우수함을 알 수 있다. 이는 복잡한 움직임에서는 기존 방법은 적절히 해결할 수 없는데 반해 본 발명의 공간 분할 기법은 클러스터링을 통해 복잡한 움직임에서도 효과적으로 대처함을 알 수 있다. FDFE 방식에 비해 성능의 열화가 일부 존재하나 본 발명은 복잡도 측면에서 FDFE 방식과 비교가 되지 않을 정도로 낮은 복잡도를 나타낸다. 하지만 FDFE 방식과의 화질 성능 차이를 좁히기 위해 움직임 벡터 강도에 기반한 최적 움직임 벡터 선정시 정확도 개선 알고리즘을 적용한다.FIG. 9 is a graph comparing performance of a spatial division method of the transcoding method according to the present invention with another technique. In order to verify the performance of the spatial partitioning technique of the present invention, the performance was compared using the median method and the conventional median method. Experiments were performed on JSVM (Joint Scalable Video Model) 9.19.7, and 1280 x 720 city, crew, harbor, and soccer images were used as experimental images. The reduction in spatial resolution was halved in both width and height. That is, four macroblocks are merged into one macroblock. As shown in FIG. 9, the anchor technique is a result of performing all the motion prediction using the FDFE (Full Decoding Full Encoding) technique. Therefore, although the complexity is high, the best performance is obtained because an accurate motion vector can be obtained. On the other hand, the spatial division technique and the existing algorithms (Mean and Median) of the present invention are the results of motion compensation with motion vectors calculated through motion vector merging without motion prediction. From the results, it can be seen that the performance of the space division scheme of the present invention is improved by 1.5 dB or more compared with the conventional algorithm. Particularly, it can be seen that the performance of the present invention is remarkably excellent in fast and complex images such as City and Soccer. It can be seen that the conventional method can not be properly solved in a complicated motion, but the spatial division technique of the present invention effectively copes with a complicated movement through clustering. Although there is some degradation in performance compared to the FDFE method, the present invention exhibits a complexity that is not comparable with the FDFE method in terms of complexity. However, in order to narrow the difference in image quality from the FDFE method, an accuracy improvement algorithm is applied when selecting the optimal motion vector based on the motion vector intensity.

도 10은 본 발명의 변환 부호화 방법의 최적 움직임 벡터 선정 기법과 다른 기법을 적용했을 시의 성능을 비교한 그래프이다. 특히 본 발명에서 제안하는 최적 움직임 벡터 선정과 정확도 개선 알고리즘을 적용한 경우의 성능을 평가하기 위한 것이다. 도 10에 도시된 바와 같이, 실험 결과 정확도 개선 알고리즘을 적용하였을 경우, FDFE 알고리즘과 거의 동일한 성능을 보여줌을 알 수 있다. FIG. 10 is a graph comparing performance of an optimal motion vector selection technique of the transcoding method of the present invention with that of another technique. In particular, the present invention is for evaluating the performance when the optimal motion vector selection and the accuracy improvement algorithm proposed in the present invention are applied. As shown in FIG. 10, when the accuracy improvement algorithm is applied to the test results, the performance is almost the same as that of the FDFE algorithm.

또한 복잡도 평가를 위해, FDFE 기반 트랜스코더 대비 본 발명의 변환 부호화 방법을 기반으로 한 트랜스코더의 움직임 예측 시간을 비교한 결과, 본 발명의 변환 부호화 방법은 대략 30배 정도의 움직임 예측 시간 감소가 있음을 확인할 수 있었다. 따라서, 본 발명의 변환 부호화 방법은 FDFE 방식과 거의 동일한 성능을 보여줌에도 불구하고 FDFE 알고리즘에 비해 최대 30배 정도의 움직임 벡터 추정 연산량 감소를 나타냄을 알 수 있다.Also, in order to evaluate the complexity, the motion prediction time of the transcoder based on the transcoding method of the present invention is compared with that of the FDFE-based transcoder. As a result, the transcoding method of the present invention has a motion prediction time reduction of about 30 times . Therefore, the transcoding method of the present invention shows almost the same performance as the FDFE method, but shows a reduction of the motion vector estimation amount by about 30 times as compared with the FDFE algorithm.

이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions as defined by the following claims It will be understood that various modifications and changes may be made thereto without departing from the spirit and scope of the invention.

Claims (20)

고해상도에서 저해상도로의 변환 부호화시 하위 해상도 블록에 매칭되는 상위 해상도 블록의 후보 예측 움직임 벡터들을 공간적 위치를 고려하여 결집시키고, 상기 결집된 후보 예측 움직임 벡터들을 기반으로 공간을 분할하는 단계;
상기 분할된 공간의 후보 예측 움직임 벡터들 중 하나를 대표 예측 움직임 벡터로 선정하는 단계;
상기 대표 예측 움직임 벡터들 중에서 최적 예측 움직임 벡터를 선정하는 단계; 및
상기 최적 예측 움직임 벡터를 기반으로 상기 하위 해상도의 블록의 움직임 벡터를 예측하여 변환 부호화를 수행하는 단계를 포함하고,
상기 최적 예측 움직임 벡터 선정 단계는,
상기 대표 예측 움직임 벡터들 중에서 임시 최적 예측 움직임 벡터를 설정하는 단계와,
상기 임시 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역에 대한 왜곡을 확인하는 단계와,
상기 임시 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역 중에서, 상대적으로 적은 왜곡이 발생하는 영역에 대한 움직임 벡터를 최적 예측 움직임 벡터로 선정하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
Transforming candidate prediction motion vectors of an upper resolution block matched to a lower resolution block into high resolution to low resolution in consideration of a spatial position and dividing a space based on the combined candidate prediction motion vectors;
Selecting one of the candidate prediction motion vectors in the divided space as a representative predicted motion vector;
Selecting an optimal predicted motion vector from the representative predicted motion vectors; And
And performing a transform coding by predicting a motion vector of the block of the lower resolution based on the best predicted motion vector,
Wherein the optimal predicted motion vector selection step comprises:
Setting a temporary optimal prediction motion vector among the representative prediction motion vectors;
Determining a distortion of a neighboring area of the block indicated by the temporary optimal prediction motion vector;
And selecting a motion vector for an area in which a relatively small amount of distortion occurs from a neighboring area of a block indicated by the temporary optimal prediction motion vector as an optimal predicted motion vector.
제 1 항에 있어서, 상기 대표 예측 움직임 벡터 선정 단계는
상기 분할된 공간의 중심값에서 가장 거리가 가까운 후보 예측 움직임 벡터를 상기 대표 예측 움직임 벡터로 선정하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
2. The method of claim 1, wherein the representative predictive motion vector selection step
And selecting the candidate prediction motion vector having the closest distance from the center value of the divided space as the representative prediction motion vector.
삭제delete 제 1 항에 있어서, 상기 최적 예측 움직임 벡터 선정 단계는,
상기 주변 영역을 상기 임시 최적 예측 움직임 벡터가 지시하는 영역으로부터 수 화소 이내의 근접한 영역으로 설정하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
2. The method of claim 1,
And setting the neighboring region to a neighboring region within a few pixels from an area pointed by the temporary optimal prediction motion vector.
제 4 항에 있어서, 상기 최적 예측 움직임 벡터 선정 단계는
상기 주변 영역을 영상의 특성에 따라 적응적으로 조절하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
[5] The method of claim 4,
And adaptively adjusting the surrounding region according to characteristics of the image.
제 5 항에 있어서, 상기 최적 예측 움직임 벡터 선정 단계는
상기 임시 최적 예측 움직임 벡터가 클 경우, 상기 주변 영역의 범위를 넓은 범위로 조절하고, 상기 임시 최적 예측 움직임 벡터가 작을 경우, 상기 주변 영역의 범위를 좁은 범위로 조절하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
[6] The method of claim 5,
Adjusting the range of the surrounding region to a wide range when the temporary optimal prediction motion vector is large and adjusting the range of the surrounding region to a narrow range when the temporally optimal prediction motion vector is small, Lt; / RTI >
제 1 항에 있어서,
상기 최적 예측 움직임 벡터 선정 단계는 상기 대표 예측 움직임 벡터들 중에서 율-왜곡(rate-distortion) 관점에서 가장 좋은 성능을 나타내는 움직임 벡터를 상기 임시 최적 예측 움직임 벡터로 선정하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
The method according to claim 1,
Wherein the optimal predictive motion vector selection step includes a step of selecting a motion vector having the best performance in terms of rate-distortion among the representative predictive motion vectors as the temporally optimal predictive motion vector. Transcoding method.
제 1 항에 있어서, 상기 공간 분할 단계는
상기 분할된 공간의 중심값과 상기 후보 예측 움직임 벡터들의 거리의 차이의 분산을 최소화하는 방식을 통해 상기 공간을 분할하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
2. The method according to claim 1,
And dividing the space by a method of minimizing dispersion of a difference between a center value of the divided space and a distance of the candidate prediction motion vectors.
제 1 항에 있어서, 상기 공간 분할 단계는
상기 후보 예측 움직임 벡터들 중에서 임의의 K 개를 선택하여 중심값을 설정하는 제 1 단계;
상기 K개의 중심값을 기반으로 K 개의 그룹으로 분할하고, 상기 후보 예측 움직임 벡터 중 어느 하나와 상기 K 개 그룹의 중심 값 사이의 거리를 최소화시키는 새로운 중심 값을 찾고 상기 새로운 중심 값과 매칭되는 그룹에 상기 하나의 후보 예측 움직임 벡터를 소속시키는 제 2 단계;
새롭게 바뀐 각 그룹 내의 모든 후보 예측 움직임 벡터들의 평균값으로 상기 각 그룹의 중심값을 다시 찾는 제 3 단계; 및
상기 제 2 및 제 3 단계의 반복을 통해 더이상 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 공간 분할 및 중심값으로 선정하는 제 4 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
2. The method according to claim 1,
A first step of selecting an arbitrary K of the candidate prediction motion vectors and setting a center value;
A group of K groups which are matched with the new center value by finding a new center value that minimizes a distance between any one of the candidate predicted motion vectors and a center value of the K groups based on the K center values, A second step of assigning the one candidate predictive motion vector to the candidate motion vector;
A third step of searching for the center value of each group as an average value of all candidate prediction motion vectors in each group that is newly changed; And
And a fourth step of selecting a result of a point of time at which the clustering result is no longer changed through the repetition of the second and third steps as an optimum space division and a center value.
제 1 항에 있어서, 상기 최적 예측 움직임 벡터 선정 단계는
SATD(Sum of Absolute Transformed Differences)를 사용하여 상기 임시 최적 예측 움직임 벡터를 선정하는 단계를 포함하는 것을 특징으로 하는 변환 부호화 방법.
2. The method of claim 1,
And selecting the temporary optimal prediction motion vector using a Sum of Absolute Transformed Differences (SATD).
고해상도에서 저해상도로의 변환 부호화시 하위 해상도 블록에 매칭되는 상위 해상도 블록의 후보 예측 움직임 벡터들을 공간적 위치를 고려하여 결집시키고, 상기 결집된 후보 예측 움직임 벡터들을 기반으로 공간을 분할하는 공간 분할부;
상기 분할된 공간의 후보 예측 움직임 벡터들 중 하나를 대표 예측 움직임 벡터로 선정하는 대표 예측 움직임 벡터 선정부;
상기 대표 예측 움직임 벡터들 중에서 최적 예측 움직임 벡터를 선정하는 최적 예측 움직임 벡터 선정부; 및
상기 최적 예측 움직임 벡터를 기반으로 상기 하위 해상도의 블록의 움직임 벡터를 예측하여 변환 부호화를 수행하는 변환 부호화부를 포함하고,
상기 최적 예측 움직임 벡터 선정부는,
상기 대표 예측 움직임 벡터들 중에서 임시 최적 예측 움직임 벡터를 설정하는 동작과,
상기 임시 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역에 대한 왜곡을 확인하는 동작과,
상기 임시 최적 예측 움직임 벡터가 가리키는 블록의 주변 영역 중에서, 상대적으로 적은 왜곡이 발생하는 영역에 대한 움직임 벡터를 최적 예측 움직임 벡터로 선정하는 동작을 처리하는 것을 특징으로 하는 변환 부호화 장치.
A spatial partitioning unit for grouping candidate prediction motion vectors of an upper resolution block matched with a lower resolution block in consideration of a spatial position in a transcoding from a high resolution to a low resolution and dividing a space based on the combined candidate prediction motion vectors;
A representative predicted motion vector selecting unit for selecting one of the candidate predicted motion vectors in the divided space as a representative predicted motion vector;
An optimal predicted motion vector selecting unit for selecting an optimal predicted motion vector from among the representative predicted motion vectors; And
And a transform coding unit for performing a transform coding by predicting a motion vector of the block having the lower resolution based on the best predicted motion vector,
Wherein the optimal predicted motion vector selection unit comprises:
Setting a temporary optimal prediction motion vector among the representative prediction motion vectors;
Confirming a distortion of a surrounding area of a block indicated by the temporally optimal predictive motion vector;
And a motion vector estimating unit for selecting a motion vector for an area in which a relatively small amount of distortion occurs, from the surrounding area of the block indicated by the temporally optimal predictive motion vector, as an optimal predictive motion vector.
제 11 항에 있어서, 상기 대표 예측 움직임 벡터 선정부는
상기 분할된 공간의 중심값에서 가장 거리가 가까운 후보 예측 움직임 벡터를 상기 대표 예측 움직임 벡터로 선정하는 것을 특징으로 하는 변환 부호화 장치.
12. The apparatus of claim 11, wherein the representative predictive motion vector selection unit
And selects the candidate predicted motion vector having the closest distance from the center value of the divided space as the representative predicted motion vector.
삭제delete 제 11 항에 있어서, 상기 최적 예측 움직임 벡터 선정부는
상기 주변 영역을 상기 임시 최적 예측 움직임 벡터가 지시하는 영역으로부터 수 화소 이내의 근접한 영역으로 설정하는 것을 특징으로 하는 변환 부호화 장치.
12. The apparatus of claim 11, wherein the optimal predictive motion vector selection unit
And sets the neighboring area to a neighboring area within a few pixels from an area indicated by the temporary optimal prediction motion vector.
제 14 항에 있어서,
상기 최적 예측 움직임 벡터 선정부는 상기 주변 영역을 영상의 특성에 따라 적응적으로 조절하는 것을 특징으로 하는 변환 부호화 장치.
15. The method of claim 14,
Wherein the optimal predictive motion vector selection unit adaptively adjusts the surrounding region according to characteristics of an image.
제 15 항에 있어서, 상기 최적 예측 움직임 벡터 선정부는
상기 임시 최적 예측 움직임 벡터가 클 경우, 상기 주변 영역의 범위를 넓은 범위로 조절하고, 상기 임시 최적 예측 움직임 벡터가 작을 경우, 상기 주변 영역의 범위를 좁은 범위로 조절하는 것을 특징으로 하는 변환 부호화 장치.
16. The apparatus of claim 15, wherein the optimal predicted motion vector selection unit
Wherein the control unit adjusts the range of the surrounding area to a wide range when the temporary optimal prediction motion vector is large and adjusts the range of the surrounding area to a narrow range when the temporary optimal prediction motion vector is small. .
제 11 항에 있어서,
상기 최적 예측 움직임 벡터 선정부는 상기 대표 예측 움직임 벡터들 중에서 율-왜곡(rate-distortion) 관점에서 가장 좋은 성능을 나타내는 움직임 벡터를 상기 임시 최적 예측 움직임 벡터로 선정하는 것을 특징으로 하는 변환 부호화 장치.
12. The method of claim 11,
Wherein the optimal predictive motion vector selection unit selects a motion vector having the best performance in terms of rate-distortion among the representative predictive motion vectors as the temporally optimal predictive motion vector.
제 11 항에 있어서, 상기 공간 분할부는
상기 분할된 공간의 중심값과 상기 후보 예측 움직임 벡터들의 거리의 차이의 분산을 최소화하는 방식을 통해 상기 공간을 분할하는 것을 특징으로 하는 변환 부호화 장치.
12. The apparatus as claimed in claim 11, wherein the space division unit
And dividing the space by a method of minimizing dispersion of a difference between a center value of the divided space and a distance of the candidate prediction motion vectors.
제 11 항에 있어서, 상기 공간 분할부는
상기 후보 예측 움직임 벡터들 중에서 임의의 K 개를 선택하여 중심값을 설정하는 제 1 중심값 설정부;
상기 K 개의 중심값을 기반으로 K 개의 그룹으로 분할하고, 상기 후보 예측 움직임 벡터 중 어느 하나와 K 개 그룹의 중심 값 사이의 거리를 최소화시키는 새로운 중심 값을 찾고 상기 새로운 중심 값과 매칭되는 그룹에 상기 하나의 후보 예측 움직임 벡터를 소속시키는 그룹 생성부;
새롭게 바뀐 각 그룹 내의 모든 후보 예측 움직임 벡터들의 평균값으로 각 그룹의 중심값을 다시 찾는 제 2 중심값 생성부; 및
상기 제 2 및 제 3 단계의 반복을 통해 더이상 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 공간 분할 및 중심값으로 선정하는 최적 공간 분할부를 포함하는 것을 특징으로 하는 변환 부호화 장치.
12. The apparatus as claimed in claim 11, wherein the space division unit
A first center value setting unit for setting a center value by selecting any K of the candidate prediction motion vectors;
A new center value that minimizes a distance between any one of the candidate predicted motion vectors and a center value of K groups is searched for and a group matching with the new center value is found A group generating unit that belongs to the one candidate prediction motion vector;
A second center value generation unit for searching again the center value of each group as an average value of all candidate prediction motion vectors in each group that is newly changed; And
And an optimal space division unit for selecting a result of a point in time at which the clustering result is no longer changed through the second and third steps as an optimum space division and a center value.
제 11 항에 있어서, 상기 최적 예측 움직임 벡터 선정부는
SATD(Sum of Absolute Transformed Differences)를 사용하여 상기 임시 최적 예측 움직임 벡터를 선정하는 것을 특징으로 하는 변환 부호화 장치.
12. The apparatus of claim 11, wherein the optimal predictive motion vector selection unit
Wherein the temporary optimal prediction motion vector is selected using a Sum of Absolute Transformed Differences (SATD).
KR1020110129721A 2011-12-06 2011-12-06 Transcoding method and apparatus according to prediction motion vector selection KR101796192B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110129721A KR101796192B1 (en) 2011-12-06 2011-12-06 Transcoding method and apparatus according to prediction motion vector selection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110129721A KR101796192B1 (en) 2011-12-06 2011-12-06 Transcoding method and apparatus according to prediction motion vector selection

Publications (2)

Publication Number Publication Date
KR20130063285A KR20130063285A (en) 2013-06-14
KR101796192B1 true KR101796192B1 (en) 2017-11-10

Family

ID=48860682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110129721A KR101796192B1 (en) 2011-12-06 2011-12-06 Transcoding method and apparatus according to prediction motion vector selection

Country Status (1)

Country Link
KR (1) KR101796192B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020005032A1 (en) * 2018-06-28 2020-01-02 엘지전자 주식회사 Inter-prediction method using motion information compression, and device for same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016068674A1 (en) 2014-10-31 2016-05-06 삼성전자 주식회사 Method and device for encoding/decoding motion vector
WO2016137149A1 (en) * 2015-02-24 2016-09-01 엘지전자(주) Polygon unit-based image processing method, and device for same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김경환 외 2명, K-MEANS CLUSTERING 기반 영상의 공간 해상도 축소 변환을 위한 효울적 움직임 벡터 재예측 방법, 한국방송공학회 학술발표대회 논문집, 2011.7, 567-569(3 pages)(2011.07.31.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020005032A1 (en) * 2018-06-28 2020-01-02 엘지전자 주식회사 Inter-prediction method using motion information compression, and device for same

Also Published As

Publication number Publication date
KR20130063285A (en) 2013-06-14

Similar Documents

Publication Publication Date Title
JP5785285B2 (en) Dynamic selection of motion prediction search range and extended motion vector range
US8718143B2 (en) Optical flow based motion vector estimation systems and methods
JP6457483B2 (en) Frame interpolation with motion compensation using smoothness constraints
CN110741640B (en) Optical flow estimation for motion compensated prediction in video coding
US11284107B2 (en) Co-located reference frame interpolation using optical flow estimation
JP2004207802A (en) Image data processing apparatus and method, recording medium, and program
JP2004526363A (en) Apparatus and method for achieving high accuracy and high speed search of intermediate pixels in video coding
CN108574844B (en) Multi-strategy video frame rate improving method for space-time significant perception
JP2008502196A (en) Global motion vector search method
KR20090041562A (en) Frame interpolating device and frame rate up-converting apparatus having the same
CN110691241A (en) Application acceleration
KR101796192B1 (en) Transcoding method and apparatus according to prediction motion vector selection
US20240171733A1 (en) Motion field estimation based on motion trajectory derivation
JP6280679B2 (en) Frame thinning device, frame interpolation device, video encoding device, video decoding device, and programs thereof
KR101253917B1 (en) Apparatus and method for estimating of motion in a moving picture
Wahidah et al. A comparative study on video coding techniques with compressive sensing
Sun et al. Fast motion vector and bitrate re-estimation for arbitrary downsizing video transcoding
Shen et al. Down-sampling based video coding with super-resolution technique
Dehghannasiri et al. Frame rate up-conversion using nonparametric estimator
Kim et al. Efficient motion re-estimation method based on k-means clustering for spatial resolution reduction transcoding
Jha et al. Motion estimation algorithms for baseline profile of H. 264 video codec
ˇ Jurgen Slowack et al. Correlation noise estimation in distributed video coding
JP6071618B2 (en) Image processing apparatus and program
Arévalo López Frame Rate Up-Conversion with Frame Interpolation over non-regular block partitions of H. 264.
Park et al. Motion Vector Re-Estimation Technique for Transcoding into Lower Spatial Resolution

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant