KR100688383B1 - Motion estimation and compensation for panorama image - Google Patents

Motion estimation and compensation for panorama image Download PDF

Info

Publication number
KR100688383B1
KR100688383B1 KR20050072968A KR20050072968A KR100688383B1 KR 100688383 B1 KR100688383 B1 KR 100688383B1 KR 20050072968 A KR20050072968 A KR 20050072968A KR 20050072968 A KR20050072968 A KR 20050072968A KR 100688383 B1 KR100688383 B1 KR 100688383B1
Authority
KR
South Korea
Prior art keywords
image
data unit
subpixel
reference image
current
Prior art date
Application number
KR20050072968A
Other languages
Korean (ko)
Other versions
KR20060050350A (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 US11/201,196 priority Critical patent/US7623682B2/en
Priority to AU2005272287A priority patent/AU2005272287B2/en
Priority to CA2576690A priority patent/CA2576690C/en
Priority to EP05780538.4A priority patent/EP1779662B1/en
Priority to JP2007525553A priority patent/JP4846719B2/en
Priority to CN2005800274424A priority patent/CN101010960B/en
Priority to PCT/KR2005/002652 priority patent/WO2006016788A1/en
Publication of KR20060050350A publication Critical patent/KR20060050350A/en
Application granted granted Critical
Publication of KR100688383B1 publication Critical patent/KR100688383B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes

Abstract

본 발명은 파노라마 영상의 움직임 추정 및 보상에 관한 것으로서, 본 발명에 따른 영상의 움직임 추정 및 보상은, 360도 전 방향 영상을 포함하는 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 공간적 상관관계가 높은 성질을 이용하여, 파노라마 영상의 움직임 예측 및 보상을 수행하는 것을 특징으로 한다. 본 발명에 따르면, 파노라마 영상의 움직임 추정 및 보상의 효율성과 정확도를 향상 시켜 화질을 개선할 수 있는 효과를 제공한다. 특히, 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 화질 개선에 효과가 있다. The present invention relates to motion estimation and compensation of a panoramic image. The motion estimation and compensation of an image according to the present invention has a high spatial correlation between a right boundary portion and a left boundary portion of a panoramic image including a 360 degree omnidirectional image. By using the property, the motion prediction and compensation of the panoramic image is performed. According to the present invention, it is possible to improve the image quality by improving the efficiency and accuracy of motion estimation and compensation of the panoramic image. In particular, it is effective to improve the image quality of the right boundary and the left boundary of the panoramic image.

Description

파노라마 영상의 움직임 추정 및 보상{Motion estimation and compensation for panorama image}Motion estimation and compensation for panorama image}

도 1은 종래기술에 따른 현재 매크로블록의 움직임 벡터의 예측에 이용되는 다수의 이전 매크로블록들을 나타내는 도면,1 is a diagram illustrating a plurality of previous macroblocks used for prediction of a motion vector of a current macroblock according to the prior art;

도 2a 내지 2c는 현재 매크로블록의 움직임 벡터의 예측에 이용할 이전 매크로블록들이 존재하지 않는 경우를 나타내는 도면,2A to 2C are diagrams illustrating a case in which there are no previous macroblocks to use for prediction of a motion vector of a current macroblock;

도 3은 종래 기술에 따른 참조 영상의 패딩 방법을 설명하기 위한 도면,3 is a view for explaining a padding method of a reference image according to the prior art;

도 4a는 360도 전 방향 영상을 포함하는 원통형 영상을 나타내는 도면, 4A illustrates a cylindrical image including a 360 degree omnidirectional image;

도 4b는 도 4a에 도시된 원통형 영상에 대응하는 2차원 파노라마 영상을 나타내는 도면,4B is a diagram illustrating a 2D panoramic image corresponding to the cylindrical image illustrated in FIG. 4A;

도 5는 본 발명의 일 실시예에 따른 파노라마 영상 움직임 벡터 인코더의 블록도,5 is a block diagram of a panoramic image motion vector encoder according to an embodiment of the present invention;

도 6은 본 발명의 일 실시예에 따른 파노라마 영상 움직임 추정 방법의 흐름도,6 is a flowchart of a panoramic image motion estimation method according to an embodiment of the present invention;

도 7a는 현재 매크로블록의 움직임 벡터의 예측에 이용할 이전 매크로블록 선택의 일 예를 나타내는 도면,7A is a diagram illustrating an example of previous macroblock selection to be used for prediction of a motion vector of a current macroblock;

도 7b는 현재 매크로블록의 움직임 벡터의 예측에 이용할 이전 매크로블록 선택의 다른 일 예를 나타내는 도면,7B is a diagram illustrating another example of previous macroblock selection to be used for prediction of a motion vector of a current macroblock;

도 8a는 참조 매크로블록이 참조 영상의 경계에 걸쳐 존재하는 경우를 나타내는 도면, 8A illustrates a case in which a reference macroblock exists across a boundary of a reference picture;

도 8b는 참조 매크로블록이 참조 영상의 바깥 영역에 존재하는 경우를 나타내는 도면,8B is a diagram illustrating a case in which a reference macroblock exists in an outer region of a reference picture;

도 9는 본 발명의 일 실시예에 따른 참조 영상의 패딩 방법을 설명하기 위한 도면,9 is a diagram illustrating a padding method of a reference image according to an embodiment of the present invention;

도 10은 현재 매크로블록 X의 움직임 벡터를 나타내는 도면,10 is a diagram illustrating a motion vector of a current macroblock X;

도 11은 본 발명에 따라 반화소의 움직임 검색 방법 과정의 일 실시예를 나타내는 흐름도,11 is a flowchart illustrating an embodiment of a method for searching for motion of a half pixel according to the present invention;

도 12는 도 11에 도시된 움직임 검색 방법 과정을 설명하기 위한 기본 입력 프레임의 일 예,12 is an example of a basic input frame for explaining a process of searching for a motion shown in FIG. 11;

도 13a는 도 11의 일 실시예를 설명하기 위해 도 12에 도시된 기본 입력 프레임에 패딩 영역을 부가하고 2배 확대한 참조 프레임의 일 예,FIG. 13A is an example of a reference frame in which a padding area is added to a basic input frame shown in FIG. 12 and is enlarged twice to explain an embodiment of FIG. 11;

도 13b는 도 11의 일 실시예에 따라 2배 확대된 참조 프레임에서 패딩 영역에 속한 화소값의 처리를 설명하기 위한 참고도,FIG. 13B is a reference diagram for describing processing of pixel values belonging to a padding area in a reference frame enlarged 2 times according to one embodiment of FIG. 11;

도 14는 본 발명에 따라 반화소 움직임 검색 방법 과정의 다른 실시예를 나타내는 흐름도,14 is a flowchart illustrating another embodiment of a method for searching a half-pixel motion according to the present invention;

도 15a는 도 14의 다른 실시예를 설명하기 위해 도 12에 도시된 기본 입력 프레임에 패딩 영역을 부가하고 2배 확대한 참조 프레임의 일 예,FIG. 15A illustrates an example of a reference frame in which a padding area is added to a basic input frame shown in FIG. 12 and is enlarged twice to explain another embodiment of FIG. 14;

도 15b는 도 14의 다른 실시예에 따라 2배 확대된 참조 프레임에서 패딩 영역에 속한 화소값 및 참조 프레임 바깥에 위치한 화소값의 처리를 설명하기 위한 참고도,FIG. 15B is a reference diagram for describing processing of pixel values belonging to a padding area and pixel values located outside the reference frame in a reference frame enlarged twice according to another embodiment of FIG. 14;

도 16은 본 발명의 일 실시예에 따른 파노라마 영상 움직임 벡터 디코더의 블록도,16 is a block diagram of a panoramic image motion vector decoder according to an embodiment of the present invention;

도 17은 본 발명의 일 실시예에 따른 파노라마 영상 움직임 보상 방법의 흐름도이다. 17 is a flowchart illustrating a panoramic image motion compensation method according to an embodiment of the present invention.

본 발명은 파노라마 영상의 움직임 추정 및 보상에 관한 것으로, 보다 상세하게는 360도 전 방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 방법, 움직임 추정 장치, 움직임 보상 방법 및 움직임 보상 장치에 관한 것이다.The present invention relates to motion estimation and compensation of a panoramic image, and more particularly, to a motion estimation method, a motion estimation device, a motion compensation method, and a motion compensation device of a panoramic image including 360 degree omnidirectional image information.

전 방향(omni-directional) 비디오 카메라 시스템은 고정 시점(視點)을 기준으로 360도 전 방향 영상을 촬영할 수 있는 카메라 시스템을 말한다. 전 방향 비디오 카메라 시스템은 카메라에 쌍곡면 거울과 같은 특수 형태의 거울이나 어안렌즈와 같은 특수 렌즈를 장착하거나 다수의 카메라를 이용하여 전 방향을 촬영한다. An omni-directional video camera system refers to a camera system capable of capturing 360-degree omnidirectional images from a fixed viewpoint. Omni-directional video camera systems are equipped with a special type of mirror, such as a hyperbolic mirror, a special lens, such as a fisheye lens, or use a number of cameras to shoot omni-directional.

전 방향 비디오 코딩 방법이 적용되는 일 예로 삼차원 실감 방송이 있다. 삼차원 실감 방송의 일 예를 들면, 야구 경기 등에서 다양한 시점(視點)에서의 광경에 대한 영상 정보는 시청자측 단말기로 모두 주어진다. 즉, 투수의 입장에서의 시점, 포수의 입장에서의 시점, 타자의 입장에서의 시점, 1루석 관중의 입장에서의 시점 등에서의 다양한 영상 정보가 시청자에게 제공된다. 시청자는 보고 싶은 시점을 스스로 결정하여 그 시점에서의 영상을 시청할 수 있다.One example of applying the omnidirectional video coding method is 3D realistic broadcasting. For example, in a three-dimensional realistic broadcast, video information about a scene at various points of time in a baseball game or the like is all provided to the viewer terminal. That is, a variety of video information is provided to the viewer from the perspective of the pitcher, the perspective of the catcher, the perspective of the batter, and the perspective of the first-base spectator. The viewer can determine a point in time to watch and watch the image at that point in time.

전 방향 카메라 시스템에 의해 촬영된 영상은 3차원의 구형 환경에 대응되는 특징을 갖는다. 따라서 전 방향 카메라 시스템에 의해 촬영된 3차원 영상을 2차원 평면 영상으로 변환한다. 이 때 2차원 평면 영상은 360도 전 방향 영상을 포함하는 파노라마 영상이 된다. 2차원 파노라마 영상에 대해 전 방향 비디오 코딩이 수행된다.The image captured by the omni-directional camera system has a feature corresponding to a three-dimensional spherical environment. Therefore, the 3D image photographed by the omnidirectional camera system is converted into a 2D planar image. In this case, the 2D planar image may be a panoramic image including a 360 degree omnidirectional image. Omni-directional video coding is performed on the 2D panoramic image.

한편, 영상 부호화 기술 중 하나인 움직임 추정(motion estimation)은 소정의 평가 함수를 이용하여 현재 프레임 내의 데이터 유닛과 가장 유사한 데이터 유닛을 이전 프레임에서 탐색하여 양 데이터 유닛의 위치의 차이를 나타내는 움직임 벡터를 구하는 과정이다. 여기서, 데이터 유닛은 일반적으로 16X16 크기의 매크로블록이 주로 이용되지만 16X8, 8X16 및 8X8 블록 등의 다양한 크기의 블록들이 이용될 수 있다. Meanwhile, motion estimation, which is one of image encoding techniques, searches for a data unit most similar to a data unit in a current frame using a predetermined evaluation function in a previous frame to obtain a motion vector indicating a difference between the positions of both data units. It is the process of obtaining. Here, the data unit is generally mainly used macroblock of size 16X16, but blocks of various sizes, such as 16X8, 8X16 and 8X8 block may be used.

16x16 크기의 매크로블록 단위로 수행되는 종래 기술의 일 예에 따른 움직임 추정 과정을 보다 상세하게 설명한다. 먼저, 현재 매크로블록에 인접하는 다수의 이전 매크로블록들의 움직임 벡터들을 이용하여 현재 매크로블록의 움직임 벡터를 예측한다. 도 1은 현재 매크로블록의 움직임 벡터의 예측에 이용되는 다수의 이전 매크로블록들을 나타내는 도면이다. X는 현재 매크로블록을 나타내고, A, B, C 및 D는 현재 매크로블록 X에 앞서 이미 부호화된 이전 매크로블록들이다.A motion estimation process according to an example of the prior art performed in units of 16 × 16 macroblocks will be described in more detail. First, a motion vector of the current macroblock is predicted using the motion vectors of a plurality of previous macroblocks adjacent to the current macroblock. 1 is a diagram illustrating a plurality of previous macroblocks used for prediction of a motion vector of a current macroblock. X represents the current macroblock, and A, B, C and D are the previous macroblocks already encoded before the current macroblock X.

그러나 현재 프레임 내에서의 현재 매크로블록 X의 위치에 따라 이용할 수 없는 이전 매크로블록들이 발생한다. 도 2a는 현재 매크로블록 X의 움직임 벡터의 예측에 이용할 이전 매크로블록B, C 및 D가 존재하지 않는 경우를 나타낸다. 이러한 경우, 현재 매크로블록 X의 움직임 벡터는 0으로 설정된다.However, depending on the position of the current macroblock X in the current frame, previous macroblocks are not available. 2A illustrates a case in which no previous macroblocks B, C, and D to be used for prediction of the motion vector of the current macroblock X exist. In this case, the motion vector of the current macroblock X is set to zero.

도 2b는 현재 매크로블록 X의 움직임 벡터의 예측에 이용할 이전 매크로블록 A 및 D가 존재하지 않는 경우를 나타낸다. 이러한 경우, 이전 매크로블록 A 및 D의 움직임 벡터는 각각 0으로 설정된다. 현재 매크로블록 X의 움직임 벡터는 이전 매크로블록 A, B, C 및 D의 중간값(Median Value)으로 설정된다.2B illustrates a case in which no previous macroblocks A and D to be used for prediction of the motion vector of the current macroblock X exist. In this case, the motion vectors of the previous macroblocks A and D are each set to zero. The motion vector of the current macroblock X is set to the median value of the previous macroblocks A, B, C and D.

도 2c는 현재 매크로블록 X의 움직임 벡터의 예측에 이용할 이전 매크로블록 C가 존재하지 않는 경우를 나타낸다. 이러한 경우, 이전 매크로블록 C의 움직임 벡터는 각각 0으로 설정된다. 현재 매크로블록 X의 움직임 벡터는 이전 매크로블록 A, B, C 및 D의 중간값(Median Value)으로 설정된다.2C illustrates a case in which no previous macroblock C to be used for prediction of the motion vector of the current macroblock X exists. In this case, the motion vectors of the previous macroblocks C are each set to zero. The motion vector of the current macroblock X is set to the median value of the previous macroblocks A, B, C and D.

현재 매크로블록 X의 예측 움직임 벡터(predicted motion vector)가 구해지면, 예측 움직임 벡터가 나타내는, 참조 프레임 내의 참조 매크로블록과 현재 매크로블록의 유사정도를 소정 평가함수를 이용하여 계산한다. 그 후 소정 탐색범위(search range)내에서 현재 매크로블록과 가장 유사한 참조 프레임 내의 참조 매크로블록을 탐색한다. 상기 소정의 평가 함수로는 SAD(Sum of Absolute Difference) 함수, SATD((Sum of Absolute Transformed Difference) 함수 또는 SSD(Sum of Squared Difference) 함수를 이용함이 일반적이다. When the predicted motion vector of the current macroblock X is obtained, the degree of similarity between the reference macroblock and the current macroblock in the reference frame indicated by the predicted motion vector is calculated using a predetermined evaluation function. The reference macroblock in the reference frame most similar to the current macroblock is then searched within a predetermined search range. As the predetermined evaluation function, a sum of absolute difference (SAD) function, a sum of absolute transformed difference (SATD) function, or a sum of squared difference (SSD) function is generally used.

소정 탐색범위 내에서 현재 매크로블록과 가장 유사한 참조 매크로블록 탐색 시, 참조 매크로블록의 일부 또는 전부 화소가 참조 영상의 외부에 존재할 수도 있다. 이러한 경우, 도 3에 도시한 바와 같이, 참조 영상의 왼쪽 경계에 위치한 화소 값을 참조 영상의 왼쪽 경계의 바깥의 영역에 패딩(padding)하고, 참조 영상의 오른쪽 경계에 위치한 화소 값을 참조 영상의 오른쪽 경계의 바깥의 영역에 패딩한 후 움직임 예측 및 보상을 수행한다. 이러한 방식에 따른 움직임 예측 및 보상을 UMV(Unrestricted Motion Vector) 모드에 따른 움직임 예측 및 보상이라 한다. When searching for a reference macroblock most similar to the current macroblock within a predetermined search range, some or all pixels of the reference macroblock may exist outside the reference picture. In this case, as shown in FIG. 3, the pixel value located at the left boundary of the reference image is padded to an area outside the left boundary of the reference image, and the pixel value located at the right boundary of the reference image is After padding the area outside the right boundary, motion prediction and compensation are performed. Motion prediction and compensation according to this method are called motion prediction and compensation according to the Unrestricted Motion Vector (UMV) mode.

도 4a는 360도 전 방향 영상을 포함하는 원통형 영상을 나타내는 도면이고, 도 4b는 도 4a에 도시된 원통형 영상을 기준선 X에 따라 절단함으로써 생성된, 360도 전 방향 영상을 포함하는 파노라마 영상을 나타낸다. 도 4b를 참조하면, 사람 형상의 객체(object)의 왼쪽 부분 A는 파노라마 영상의 오른쪽 경계 부분에 위치하고, 사람 형상의 객체(object)의 오른쪽 부분 B는 파노라마 영상의 왼쪽 경계 부분에 위치함을 알 수 있다. 즉, 360도 전 방향 영상을 포함하는 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 공간적 상관관계는 매우 높다. 4A illustrates a cylindrical image including a 360 degree omnidirectional image, and FIG. 4B illustrates a panoramic image including a 360 degree omnidirectional image generated by cutting the cylindrical image illustrated in FIG. 4A according to a reference line X. FIG. . Referring to FIG. 4B, the left portion A of the human-shaped object is located at the right boundary of the panoramic image, and the right portion B of the human-shaped object is located at the left boundary of the panoramic image. Can be. That is, the spatial correlation between the right boundary part and the left boundary part of the panoramic image including the 360 degree omnidirectional image is very high.

전 방향 영상 정보를 포함하는 파노라마 영상의 이러한 특성을 고려하지 않고, 전술한 종래 기술에 따른 움직임 예측 및 보상 방법을 그대로 전 방향 영상 정보를 포함하는 파노라마 영상에 적용하는 것은 효율적이지 못하다. 따라서, 전 방향 영상 정보를 포함하는 파노라마 영상에 적합한 움직임 예측 및 보상 방법이 요구된다.Without considering these characteristics of the panoramic image including the omnidirectional image information, it is not efficient to apply the above-described motion prediction and compensation method according to the prior art to the panoramic image including the omnidirectional image information as it is. Accordingly, a motion prediction and compensation method suitable for a panoramic image including omnidirectional image information is required.

본 발명이 이루고자 하는 기술적 과제는, 전 방향 영상 정보를 포함하는 파 노라마 영상의 특성에 맞는 보다 효율적이고 보다 정확한 움직임 추정 방법 및 그 장치를 제공하는데 있다. SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a more efficient and accurate motion estimation method and apparatus for the characteristics of a panoramic image including omnidirectional image information.

본 발명이 이루고자 하는 다른 기술적 과제는, 전 방향 영상 정보를 포함하는 파노라마 영상의 특성에 맞는 보다 효율적이고 보다 정확한 움직임 보상 방법 및 그 장치를 제공하는데 있다. Another object of the present invention is to provide a more efficient and accurate motion compensation method and apparatus for the characteristics of a panoramic image including omnidirectional image information.

상기 과제를 이루기 위한 본 발명의 하나의 특징은, 360도 전 방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 방법에 있어서, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참조 영상으로 설정하는 단계와, 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측하는 단계와, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와, 소정 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 단계를 포함하는 것이다. One feature of the present invention for achieving the above object is a motion estimation method of a panoramic image including 360-degree omnidirectional image information, the right border region in the left padding area of the basic reference image for motion estimation of the current panoramic image Padding using the padding, padding the left padding region on the right side of the basic reference image using a left boundary region, and then extending the padded image to set the reference image, and presenting the current data unit included in the current panoramic image. Predicting a motion vector of the current data unit using motion vectors of a plurality of adjacent previous data units; and if the subpixel included in the reference data unit represented by the predicted motion vector belongs to the reference image, The pixel value of the pixel is obtained as it is, and the subpixel is true. When located outside of an image, the distance on the x-axis between one boundary of the base reference image near the subpixel and the subpixel is added to or subtracted from the x coordinate of the other boundary of the base reference image. Obtaining all pixel values of the reference data unit in the reference image by setting the x coordinate of the subpixel to obtain pixel values of the subpixel, and using the evaluation function, the current data unit and the reference data unit Determining the similarity of.

본 발명의 다른 특징은, 360도 전 방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 방법에 있어서, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참조 영상으로 설정하는 단계와, 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측하는 단계와, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와, 소정 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 단계를 포함하는 것이다. According to another aspect of the present invention, in the motion estimation method of a panoramic image including 360-degree omnidirectional image information, the left padding area of the basic reference image for motion estimation of the current panoramic image is padded using a left boundary pixel value. And padding the right padding region of the basic reference image using a right boundary pixel value, and then expanding the padded image to set the reference image, and a plurality of previous ones adjacent to the current data unit included in the current panoramic image. Predicting a motion vector of the current data unit using motion vectors of data units; and if the subpixel included in a reference data unit represented by the predicted motion vector belongs to the basic reference picture of the reference picture Obtain a pixel value of a pixel, and the subpixels refer to the basic If the image falls outside of the image, the subpixel value is obtained by adding or subtracting a distance on the x-axis between one boundary of the base reference image and the subpixel closer to the subpixel from the x coordinate of the other boundary of the base reference image. Obtaining all pixel values of the reference data unit in the reference image by setting the x coordinate value of the sub-pixel to obtain a pixel value of the subpixel, and using the predetermined evaluation function, the current data unit and the reference data unit. Determining the similarity of.

본 발명의 또 다른 특징은, 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 장치에 있어서, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상 및 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 저장하는 메모리와, 상기 복수의 이전 데이터 유닛들의 상기 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측하고, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후, 소정의 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 움직임 추정부를 포함하는 것이다. According to still another aspect of the present invention, in a motion estimation apparatus for a panoramic image including 360-degree omnidirectional image information, the left padding region of the basic reference image for motion estimation of the current panoramic image is padded using a right boundary region. And a motion vector of a plurality of previous data units adjacent to the current data unit included in the reference image and the current panorama image generated by padding the right padding region by using a left boundary region and then expanding the padded image. And a subpixel included in the reference data unit represented by the predicted motion vector, and predicts the motion vector of the current data unit using the memory for storing the data and the motion vectors of the plurality of previous data units. If belonging, the pixel value of the sub-pixel is obtained as it is. If the subpixel is located outside the reference image, the distance on the x-axis between one boundary of the base reference image near the subpixel and the subpixel is x of the other boundary of the base reference image. After all the pixel values of the reference data unit are obtained from the reference image by setting a value added or subtracted from the coordinates to the x-coordinate of the subpixel to obtain the pixel value of the subpixel, the current value is obtained using a predetermined evaluation function. And a motion estimator for determining similarity between the data unit and the reference data unit.

본 발명의 또 다른 특징은, 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 장치에 있어서, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상 및 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 저장하는 메모리와, 상기 복수의 이전 데이터 유닛들의 상기 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측하고, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후에, 소정의 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 움직임 추정부를 포함하는 것이다. According to still another aspect of the present invention, in a motion estimation apparatus for a panoramic image including 360-degree omnidirectional image information, the left padding region of the basic reference image for motion estimation of the current panoramic image is padded using a left boundary pixel value. In addition, padding is performed using a right boundary pixel value in a right padding area of the base reference image, and then a plurality of previous data units adjacent to a current data unit included in a reference image and a current panoramic image generated by expanding the padded image. The memory storing motion vectors and the motion vectors of the plurality of previous data units predict the motion vector of the current data unit, and the sub-pixel included in the reference data unit represented by the predicted motion vector indicates the reference. The incubation if it belongs to the base reference image of the image When a small pixel value is obtained and the subpixel belongs to the outside of the base reference image, the distance of one boundary of the base reference image near the subpixel and the subpixel on the x-axis is determined by the base reference image. After obtaining all the pixel values of the reference data unit in the reference image by setting a value added or subtracted from the x coordinate of another boundary of the subpixel to obtain the pixel value of the subpixel, thereby obtaining all the pixel values of the reference data unit in the reference image. And a motion estimator for determining similarity between the current data unit and the reference data unit using an evaluation function.

본 발명의 또다른 특징은, 360도 전 방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 방법에 있어서, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참조 영상으로 생성하는 단계와, 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받는 단계와 상기 현재 데이터 유닛의 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경 계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와, 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재생하는 단계를 포함하는 것이다. According to another aspect of the present invention, in the motion compensation method of a panoramic image including 360-degree omnidirectional image information, the left padding region of the basic reference image for motion compensation of the current panoramic image is padded using a right boundary region. And padding the left padding region of the basic reference image using a left boundary region, expanding the padded image to generate a reference image, and receiving a motion vector of the current data unit included in the current panoramic image. And the subpixel included in the reference data unit indicated by the motion vector of the current data unit belong to the reference image, the pixel value of the subpixel is acquired as it is, and the subpixel is located outside the reference image. And one boundary of the base reference image close to the subpixel and the subpixel. The reference data in the reference image is obtained by setting a value of the sub-pixel to the x-coordinate of the sub-pixel by adding or subtracting the distance on the x-axis from the x-axis of another boundary of the basic reference image. Obtaining all pixel values of the unit, and reproducing the current data unit using the pixel values of the reference data unit.

본 발명의 또 다른 특징은, 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 방법에 있어서, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참조 영상을 생성하는 단계와, 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받는 단계와, 상기 현재 데이터 유닛의 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와, 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재생하는 단계를 포함하는 것이다. According to another aspect of the present invention, in a motion compensation method for a panoramic image including 360-degree omnidirectional image information, padding is performed using a left boundary pixel value in a left padding area of a basic reference image for motion compensation of a current panoramic image. And padding the right padding region of the basic reference image using a right boundary pixel value, generating a reference image by expanding the padded image, and inputting a motion vector of the current data unit included in the current panorama image. And a pixel value of the sub-pixel when the sub-pixel included in the reference data unit indicated by the motion vector of the current data unit belongs to the base reference image of the reference image, and the sub-pixel receives the base reference. If it is outside of the image, the lower of the base reference image near the subpixel The pixel value of the subpixel is obtained by setting a value of the subpixel by adding or subtracting the distance on the x-axis between the boundary of the subpixel and the subpixel to the x coordinate value of the subpixel. Obtaining all pixel values of the reference data unit from a reference image, and reproducing the current data unit using the pixel values of the reference data unit.

본 발명의 또다른 특징은, 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 장치에 있어서, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상을 저장하는 메모리와, 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받아, 상기 입력된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후, 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재생하는 움직임 보상부를 포함하는 것이다. According to another aspect of the present invention, in a motion compensation apparatus for a panoramic image including 360-degree omnidirectional image information, the left padding region of the basic reference image for motion compensation of the current panoramic image is padded using a right boundary region. And a memory for storing a reference image generated by padding a left boundary region and then expanding the padded image in the right padding region of the basic reference image, and a motion vector of a current data unit included in the current panoramic image. When the subpixel included in the reference data unit indicated by the input motion vector belongs to the reference image, the pixel value of the subpixel is acquired as it is, and the subpixel is located outside the reference image. , Between one boundary of the base reference image near the subpixel and the subpixel The value of the sub-pixel is obtained by adding or subtracting the distance on the x-axis from the x-coordinate of another boundary of the basic reference image to the x-coordinate of the sub-pixel to obtain all pixel values of the reference data unit in the reference image. And obtaining a pixel value, and including a motion compensator for reproducing the current data unit using the pixel values of the reference data unit.

본 발명의 또 다른 특징은, 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 장치에 있어서, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상을 저장하는 메모리와, 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받아, 상기 현재 데이터 유닛의 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후, 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재생하는 움직임 보상부를 포함하는 것이다. According to another aspect of the present invention, in a motion compensation apparatus for a panoramic image including 360-degree omnidirectional image information, the left padding region of the basic reference image for motion compensation of the current panoramic image is padded using a left boundary pixel value. The padding region of the basic reference image is padded using a right boundary pixel value, and thereafter, a memory for storing a reference image generated by expanding the padded image, and movement of a current data unit included in the current panoramic image. When the subpixel included in the reference data unit indicated by the motion vector of the current data unit belongs to the basic reference image, the pixel value of the subpixel is obtained, and the subpixel is the basic pixel. The base reference zero, which is close to the subpixel, if it falls outside the reference image; A pixel value of the subpixel is obtained by setting a value of the subpixel by adding or subtracting the distance on the x-axis between one boundary of the image and the subpixel to the x coordinate value of the subpixel. And a motion compensator for reproducing the current data unit using the pixel values of the reference data unit after obtaining all pixel values of the reference data unit from the reference image.

이하, 첨부된 도면들을 참조하여 본 발명에 따른 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 5는 본 발명의 일 실시예에 따른 파노라마 영상 움직임 벡터 인코더의 블록도이다. 도 5를 참조하면, 본 발명의 일 실시예에 따른 파노라마 영상 움직임 벡터 인코더는 변환부(110)(transforming unit), 양자화부(quantizing unit)(115), 역양자화부(inverse quantizing unit)(120), 역변환부(inverse transforming unit)(125), 가산부(adding unit)(130), 클리핑부(clipping unit)(140), 프레임 메모리(150), 파노라마 영상 움직임 추정부(panorama image motion estimation unit)(160), 파노라마 영상 움직임 보상부(panorama image motion compensation unit)(170), 감산부(180) 및 가변장 부호화부(VLC: Variable Length Coder)(190)를 포함한다. 5 is a block diagram of a panoramic image motion vector encoder according to an embodiment of the present invention. Referring to FIG. 5, a panoramic image motion vector encoder according to an embodiment of the present invention may include a transform unit 110, a quantizing unit 115, and an inverse quantizing unit 120. ), An inverse transforming unit 125, an adding unit 130, a clipping unit 140, a frame memory 150, a panorama image motion estimation unit 160, a panorama image motion compensation unit 170, a subtractor 180, and a variable length coder 190 (VLC).

변환부(110)는 파노라마 영상을 입력받아 소정 방식의 변환 방법에 따라 입력 파노라마 영상을 변환한 후 변환계수값들을 출력한다. 입력 파노라마 영상은 도 4b는 도 4a에 도시된 원통형 영상을 기준선 X에 따라 절단함으로써 생성된, 360도 전 방향 영상을 포함하는 파노라마 영상이다. 변환부(110)에 의해 수행되는 상기 소정 방식의 변환 방법은 예컨대, 8X8 블록 단위의 DCT(Discrete Cosine Transform)가 있다. The converting unit 110 receives the panorama image, converts the input panorama image according to a conversion method of a predetermined method, and outputs conversion coefficient values. The input panoramic image is a panoramic image including a 360 degree omnidirectional image generated by cutting the cylindrical image shown in FIG. 4A according to the baseline X. For example, the predetermined transform method performed by the transform unit 110 may include a DCT (Discrete Cosine Transform) in units of 8 × 8 blocks.

양자화부(115)는 변환부로(110)부터 입력받은 변환계수값들을 양자화한다. 역양자화부(120) 및 역변환부(125)에 의해 각각 역양자화 및 역변환 후 입력 파노라마 영상이 재생된다. 재생된 파노라마 영상은 클리핑부(140)에 의해 정규화된 후 프레임 메모리(150)에 저장된다. 프레임 메모리(150)에 저장된 파노라마 영상은 새롭게 입력된 파노라마 영상의 움직임 추정 및 보상에 참조 영상으로 이용된다.The quantization unit 115 quantizes transform coefficient values received from the transform unit 110. The inverse quantization unit 120 and the inverse transform unit 125 reproduce the input panorama image after inverse quantization and inverse transformation, respectively. The reproduced panoramic image is normalized by the clipping unit 140 and then stored in the frame memory 150. The panoramic image stored in the frame memory 150 is used as a reference image for motion estimation and compensation of the newly input panoramic image.

파노라마 영상 움직임 추정부(160)는 프레임 메모리(150)에 저장된 참조 파노라마 영상을 이용하여 본 발명에 따른 움직임 추정을 수행한다. 즉, 파노라마 영상 움직임 추정부(160)는 현재 파노라마 영상 정보를 입력받아, 프레임 메모리(150)에 저장된 참조 파노라마 영상을 이용하여 상기 현재 파노라마 영상의 움직임 추정을 수행하여 상기 현재 파노라마 영상의 움직임 벡터를 생성한 후 VLC(190)로 출력한다. 움직임 추정 및 보상은 소정 크기의 블록 단위로 수행된다. 움직임 추정 및 보상의 단위 블록을 데이터 유닛이라 한다. 본 실시예에서 데이터 유닛은 16X16 매크로 블록으로 가정한다. The panoramic image motion estimator 160 performs motion estimation according to the present invention using the reference panoramic image stored in the frame memory 150. That is, the panoramic image motion estimator 160 receives current panoramic image information and performs motion estimation of the current panoramic image using the reference panoramic image stored in the frame memory 150 to obtain a motion vector of the current panoramic image. After generation, it is output to the VLC 190. Motion estimation and compensation are performed in units of blocks of a predetermined size. The unit block of motion estimation and compensation is called a data unit. In this embodiment, the data unit is assumed to be a 16 × 16 macroblock.

파노라마 영상 움직임 보상부(170)는 본 발명에 따른 움직임 보상을 수행한다. 즉, 파노라마 영상 움직임 추정부(160)에 의해 생성된 현재 매크로 블록의 움 직임 벡터를 입력받아 현재 매크로블록에 대응하는 참조 매크로블록을 감산부(180)로 출력한다. 감산부(180)는 현재 매크로블록과 참조 매크로블록 간의 잔차 신호를 변환부(110)로 출력한다. 상기 잔차신호는 변환부(110) 및 양자화부(115)에 의해 각각 변환 및 양자화된 후 가변장 부호화부(190)에 의해 가변장부호화된다. 한편, 파노라마 영상 움직임 추정부(160)에 의해 생성된 현재 매크로 블록의 움직임 벡터는 가변장 부호화부(190)로 직접 입력되어 가변장부호화된다. The panoramic image motion compensator 170 performs motion compensation according to the present invention. That is, the motion vector of the current macroblock generated by the panoramic image motion estimator 160 is input to output the reference macroblock corresponding to the current macroblock to the subtractor 180. The subtractor 180 outputs the residual signal between the current macroblock and the reference macroblock to the converter 110. The residual signal is transformed and quantized by the transformer 110 and the quantizer 115, and then variably coded by the variable length encoder 190. Meanwhile, the motion vector of the current macroblock generated by the panoramic image motion estimator 160 is directly input to the variable length encoder 190 and is variable length encoded.

이하에서는, 파노라마 영상 움직임 추정부(160)의 동작을 도면을 참조하여 보다 상세하게 설명한다. Hereinafter, the operation of the panoramic image motion estimator 160 will be described in more detail with reference to the accompanying drawings.

도 6은 본 발명의 일 실시예에 따라 정수 화소 탐색을 대상으로 하는 파노라마 영상 움직임 추정 방법의 흐름도이다. 파노라마 영상 움직임 추정부(160)는 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측한다(310). 도 1에 도시한 바와 같이 데이터 유닛 X가 현재 데이터 유닛이라 할 때, 데이터 유닛 A, B, C 및 D가 현재 데이터 유닛 X의 움직임 벡터 예측을 위해 필요한 이전 데이터 유닛들이다. 본 실시예에서 데이터 유닛은 16X16 크기의 매크로블록이다. 6 is a flowchart illustrating a panoramic image motion estimation method for integer pixel search according to an embodiment of the present invention. The panoramic image motion estimator 160 predicts a motion vector of the current data unit by using motion vectors of a plurality of previous data units adjacent to the current data unit (310). As shown in FIG. 1, when data unit X is a current data unit, data units A, B, C, and D are previous data units necessary for motion vector prediction of current data unit X. In this embodiment, the data unit is a 16 × 16 macroblock.

파노라마 영상 움직임 추정부(160)는 내부 메모리에 저장한 이전 매크로블록 A, B, C 및 D의 움직임 벡터를 탐색한다. 이전 매크로블록 A, B, C 및 D의 움직임 벡터가 모두 존재한다면 이들 움직임벡터들을 이용하여 소정 방식 또는 종래 기술에 따라 현재 매크로블록 X의 움직임 벡터를 예측한다. The panoramic image motion estimator 160 searches for motion vectors of previous macroblocks A, B, C, and D stored in the internal memory. If all of the motion vectors of the previous macroblocks A, B, C and D are present, these motion vectors are used to predict the motion vector of the current macroblock X according to a predetermined scheme or the prior art.

그러나, 이전 매크로블록 A, B, C 및 D의 움직임 벡터 중 적어도 하나가 존 재하지 않을 수도 있다. 도 7a는 이전 매크로블록 A 및 D가 존재하지 않아 이전 매크로블록 A 및 D의 움직임 벡터를 사용할 수 없는 경우를 나타내고 도 7b는 이전 매크로블록 C가 존재하지 않아 이전 매크로블록 C의 움직임 벡터를 사용할 수 없는 경우를 나타낸다.However, at least one of the motion vectors of the previous macroblocks A, B, C, and D may not exist. FIG. 7A illustrates a case in which the motion vector of the previous macroblocks A and D cannot be used because the previous macroblocks A and D do not exist, and FIG. 7B illustrates the motion vector of the previous macroblock C because the previous macroblock C does not exist. Indicates no case.

전술한 바와 같이, 360도 전 방향 영상을 포함하는 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 공간적 상관관계는 매우 높다. 즉, 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분은 실제 공간상의 거리는 0이다. 따라서, 본 발명에서는 현재 매크로블록 X의 움직임 벡터 예측에 필요한 이전 매크로블록 A, C 및 D 중 존재하지 않는 이전 매크로블록이 있다면, 전술한 파노라마 영상의 특성을 이용하여 필요한 이전 매크로블록의 움직임 벡터를 결정한다. 즉, 도 7a에 도시한 예의 경우, 이전 매크로블록 D와 동일한 Y축 상의 오른쪽 경계 부분에 존재하는 이전 매크로블록 D'는 이전 매크로블록 D와 같다고 볼 수 있다. 따라서 이전 매크로블록 D'의 움직임 벡터를 이전 매크로블록 D의 움직임 벡터로 간주하여 현재 매크로블록 X의 움직임 벡터 예측에 이용한다. 그러나 이전 매크로블록 A와 동일한 Y축 상의 오른쪽 경계 부분에 존재하는 이전 매크로블록은 현재 매크로블록 X의 움직임 추정 후에 움직임 추정되므로 이용할 움직임 벡터가 없다. 따라서 현재 매크로블록 X의 움직임 벡터 예측에 이용할 이전 매크로블록 A의 움직임 벡터는 0으로 설정한다.As described above, the spatial correlation between the right boundary portion and the left boundary portion of the panoramic image including the 360 degree omnidirectional image is very high. That is, the distance between the right boundary and the left boundary of the panoramic image is 0 in real space. Accordingly, in the present invention, if there is a previous macroblock that does not exist among the previous macroblocks A, C, and D required for the motion vector prediction of the current macroblock X, the motion vector of the previous macroblock required by using the above-described panorama image is determined. Decide That is, in the example illustrated in FIG. 7A, the previous macroblock D ′ existing at the right boundary on the same Y axis as the previous macroblock D may be regarded as the same as the previous macroblock D. FIG. Therefore, the motion vector of the previous macroblock D 'is regarded as the motion vector of the previous macroblock D and used for the motion vector prediction of the current macroblock X. However, since the previous macroblock existing at the right boundary on the same Y-axis as the previous macroblock A is motion estimated after the motion estimation of the current macroblock X, there is no motion vector to use. Therefore, the motion vector of the previous macroblock A to be used for motion vector prediction of the current macroblock X is set to zero.

도 7b에 도시한 예의 경우, 이전 매크로블록 C와 동일한 Y축 상의 왼쪽 경계 부분에 존재하는 이전 매크로블록 C'는 이전 매크로블록 C와 같다고 볼 수 있다. 따라서 이전 매크로블록 C'의 움직임 벡터를 이전 매크로블록 C의 움직임 벡터로 간주하여 현재 매크로블록 X의 움직임 벡터 예측에 이용한다. In the example shown in FIG. 7B, the previous macroblock C ′ present at the left boundary portion on the same Y axis as the previous macroblock C may be regarded as the same as the previous macroblock C. Therefore, the motion vector of the previous macroblock C 'is regarded as the motion vector of the previous macroblock C and used for the motion vector prediction of the current macroblock X.

파노라마 영상 움직임 추정부(160)는 단계 310에 따라 현재 매크로블록 X의 움직임 벡터를 예측한 후, 상기 예측된 움직임 벡터가 나타내는 참조 매크로블록이 참조 영상 내에 존재하는지 여부를 판단한다(315). 참조 영상은 프레임 메모리(150)에 저장되어 있다. The panoramic image motion estimator 160 predicts a motion vector of the current macroblock X according to step 310 and then determines whether a reference macroblock indicated by the predicted motion vector exists in the reference image (315). The reference image is stored in the frame memory 150.

현재 매크로블록 X의 움직임 벡터가 나타내는 참조 매크로블록의 모든 화소들이 참조 영상 내에 존재하면, 참조 매크로블록들의 모든 화소값들을 프레임 메모리(150)로부터 가져온 후(330), 현재 매크로블록 X와 참조 매크로블록 간의 유사도를 소정 평가 함수를 이용하여 평가한다(335). If all the pixels of the reference macroblock indicated by the motion vector of the current macroblock X exist in the reference image, after all pixel values of the reference macroblocks are obtained from the frame memory 150 (330), the current macroblock X and the reference macroblock The similarity between the two is evaluated using a predetermined evaluation function (335).

그러나, 현재 매크로블록 X의 움직임 벡터가 나타내는 참조 매크로블록의 일부 또는 전체 화소들이 참조 영상의 왼쪽 경계 또는 오른쪽 경계 중 하나의 경계의 바깥 쪽에 존재하면, 상기 참조 영상의 다른 하나의 경계부터 소정 범위까지의 영상을 상기 하나의 경계의 바깥 쪽에 패딩한다(320).However, if some or all pixels of the reference macroblock indicated by the motion vector of the current macroblock X exist outside the boundary of one of the left boundary or the right boundary of the reference image, from the other boundary of the reference image to a predetermined range The image of the padding is padded outside the one boundary (320).

도 8a는 참조 매크로블록이 참조 영상의 경계에 걸쳐 존재하는 경우를 나타내고, 도 8b는 참조 매크로블록이 참조 영상의 바깥 영역에 존재하는 경우를 나타낸다. 도 3에 도시한 종래 기술에 따르면, 참조 영상의 왼쪽 경계에 위치한 화소 값을 참조 영상의 왼쪽 경계의 바깥의 영역에 패딩하고, 참조 영상의 오른쪽 경계에 위치한 화소 값을 참조 영상의 오른쪽 경계의 바깥의 영역에 패딩한 후 움직임 예측 및 보상을 수행하였다. FIG. 8A illustrates a case in which a reference macroblock exists over a boundary of a reference picture, and FIG. 8B illustrates a case in which a reference macroblock exists in an outer region of the reference picture. According to the prior art illustrated in FIG. 3, a pixel value positioned at a left boundary of a reference image is padded to an area outside the left boundary of the reference image, and a pixel value positioned at a right boundary of the reference image is outside the right boundary of the reference image. After padding in the region, motion prediction and compensation were performed.

그러나 본 발명에서는, 360도 전 방향 영상을 포함하는 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 공간적 상관관계는 매우 높은 성질을 이용하여, 도 9에 도시한 바와 같이 참조 영상의 바깥 영역을 패딩한다. 도 9를 참조하면, 참조 영상(400)의 왼쪽 경계의 바깥 영역(480)은 참조 영상(400)의 오른쪽 경계 영역(470)에 위치한 화소 값으로 패딩한다. 참조 영상(400)의 오른쪽 경계의 바깥 영역(460)은 참조 영상(400)의 왼쪽 경계 영역(450)에 위치한 화소 값으로 패딩한다.However, in the present invention, the spatial correlation between the right boundary portion and the left boundary portion of the panoramic image including the 360 degree omnidirectional image is padded to the outer region of the reference image as shown in FIG. 9 using a very high property. . Referring to FIG. 9, the outer region 480 of the left boundary of the reference image 400 is padded with pixel values located in the right boundary region 470 of the reference image 400. The outer region 460 of the right boundary of the reference image 400 is padded with pixel values located in the left boundary region 450 of the reference image 400.

파노라마 영상 움직임 추정부(160)는 단계 320에 따라 참조 영상을 패딩한 후, 패딩된 참조 영상에서 참조 매크로블록의 모든 화소값들을 프레임 메모리(150)로부터 가져온다(325). 그 후, 현재 매크로블록 X와 참조 매크로블록 간의 유사도를 소정 평가 함수를 이용하여 평가한다(335). 상기 소정의 평가 함수로는 SAD(Sum of Absolute Difference) 함수, SATD((Sum of Absolute Transformed Difference) 함수 또는 SSD(Sum of Squared Difference) 함수를 이용함이 일반적이다. The panoramic image motion estimator 160 pads the reference image according to operation 320 and then imports all pixel values of the reference macroblock from the frame memory 150 in the padded reference image (325). Thereafter, the similarity between the current macroblock X and the reference macroblock is evaluated using a predetermined evaluation function (335). As the predetermined evaluation function, a sum of absolute difference (SAD) function, a sum of absolute transformed difference (SATD) function, or a sum of squared difference (SSD) function is generally used.

한편, 전술한 바와 같은 패딩 과정을 수행하지 않고, 상기 참조 영상의 왼쪽 경계와 오른쪽 경계를 연결하여 상기 참조 영상이 원통형 영상인 것으로 가정함으로써, 상기 원통형 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻을 수도 있다. 부연 설명하면, 참조 영상은 도 4b에 도시한 바와 같은 2차원 평면 영상이다. 이러한 2차원 평면 영상의 왼쪽 경계와 오른쪽 경계를 연결하면 도 4a와 같은 원통형 영상이 된다. 참조 영상이 원통형 영상인 것으로 가정한다면, 상기 원통형 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻을 수 있다. On the other hand, without performing the above-mentioned padding process, it is assumed that the reference image is a cylindrical image by connecting the left boundary and the right boundary of the reference image, thereby obtaining all pixel values of the reference data unit in the cylindrical image. It may be. In detail, the reference image is a two-dimensional planar image as illustrated in FIG. 4B. When the left boundary and the right boundary of the 2D plane image are connected, a cylindrical image as shown in FIG. 4A is obtained. If it is assumed that the reference image is a cylindrical image, all pixel values of the reference data unit may be obtained from the cylindrical image.

파노라마 영상 움직임 추정부(160)는 소정 탐색 범위 내에서 참조 매크로블록의 위치를 변경하고 변경된 참조 매크로블록과 현재 매크로블록 X 간의 유사도를 평가한다(340,345). 파노라마 영상 움직임 추정부(160)는 소정 탐색 범위 내에서 다수의 참조 매크로블록들과 현재 매크로블록 X 간의 유사도 평가가 완료되면 상기 다수의 참조 매크로블록들 중에서 현재 매크로블록 X 와 가장 유사한 참조 매크로블록을 결정하고 그 참조 매크로 블록을 나타내는 움직임 벡터를 생성한다(350). The panoramic image motion estimator 160 changes the position of the reference macroblock within a predetermined search range and evaluates the similarity between the changed reference macroblock and the current macroblock X (340 and 345). When the similarity evaluation between the plurality of reference macroblocks and the current macroblock X is completed within the predetermined search range, the panoramic image motion estimator 160 selects the reference macroblock most similar to the current macroblock X among the plurality of reference macroblocks. Determine and generate a motion vector representing the reference macroblock (350).

도 10은 현재 매크로블록 X의 움직임 벡터를 나타내는 도면이다. 도 10을 참조하면, 현재 매크로블록 X(510)와 가장 유사한 참조 매크로블록이 패딩된 참조 영상 상에서는 참조 매크로블록(530)이고, 참조 매크로블록(530)에 대응하는, 패딩되지 않은 참조 영상(500) 상의 매크로블록은 매크로블록(540)이다. 현재 매크로블록 X(510)와 가장 유사한 참조 매크로블록을 참조 매크로블록(530)이라 할 때, 참조번호 550은 현재 매크로블록 X(510)의 움직임 벡터를 나타낸다. 현재 매크로블록 X(510)와 가장 유사한 참조 매크로블록을 참조 매크로블록(540)이라 할 때, 참조번호 560은 현재 매크로블록 X(510)의 움직임 벡터를 나타낸다. 즉, 현재 매크로블록 X(510)의 움직임 벡터는 전술한 두 가지로 표현 가능하다. 그러나, 움직임 검출을 위한 소정 탐색 범위를 벗어난 매크로블록을 나타내는 움직임 벡터를 디코더측에 전송할 수 없으므로 참조 매크로블록(530)을 나타내는 움직임 벡터(550)을 현재 매크로블록 X(510)의 움직임 벡터로 결정한다.10 is a diagram illustrating a motion vector of the current macroblock X. Referring to FIG. 10, an unpadded reference picture 500 corresponding to the reference macroblock 530 is a reference macroblock 530 on a reference picture in which a reference macroblock most similar to the current macroblock X 510 is padded. The macroblock on) is a macroblock 540. When the reference macroblock most similar to the current macroblock X 510 is referred to as the reference macroblock 530, reference numeral 550 denotes a motion vector of the current macroblock X 510. When the reference macroblock most similar to the current macroblock X 510 is referred to as the reference macroblock 540, reference numeral 560 denotes a motion vector of the current macroblock X 510. That is, the motion vector of the current macroblock X 510 can be represented by the above-described two kinds. However, since the motion vector indicating the macroblock outside the predetermined search range for motion detection cannot be transmitted to the decoder side, the motion vector 550 representing the reference macroblock 530 is determined as the motion vector of the current macroblock X 510. do.

도 11은 본 발명의 일 실시예에 따라 부화소(sub pixel) 탐색을 대상으로 하 는 파노라마 영상 움직임 추정 방법의 흐름도이다. 11 is a flowchart of a panoramic image motion estimation method for sub-pixel search according to an embodiment of the present invention.

파노라마 영상 움직임 추정부(160)는 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측한다(1101). 이러한 움직임 벡터 예측은 정화소 탐색을 대상으로 하는 파노라마 영상 움직임 추정 방법에서와 같다.The panoramic image motion estimator 160 predicts a motion vector of the current data unit by using motion vectors of a plurality of previous data units adjacent to the current data unit (1101). This motion vector prediction is the same as that of the panoramic image motion estimation method for the refinery search.

파노라마 영상 움직임 추정부(160)는 현재 파노라마 영상의 움직임 추정에 이용되는 기본 참조 영상인 기본 입력 영상에 경계부의 화소값을 사용하여 패딩영역을 부가한다(1102). 즉, 기본 입력 영상의 좌측 패딩 영역에는 좌측 경계부 화소값이 패딩되고, 기본 입력 영상의 우측 패딩 영역에는 우측 경계부 화소값이 패딩된다. The panoramic image motion estimator 160 adds a padding area to the basic input image, which is a basic reference image used for motion estimation of the current panoramic image, using a pixel value of the boundary part (1102). That is, the left boundary pixel value is padded in the left padding region of the basic input image, and the right boundary pixel value is padded in the right padding region of the basic input image.

다음 파노라마 영상 움직임 추정부(160)는 단계 1102에서 패딩 영역이 부가된 기본 입력 영상을 확장하여 참조 영상으로 사용한다(1103). 예를 들어, 1/2 화소의 경우에는 2배 확장될 것이고, 1/4 화소의 경우에는 4배 확장될 것이다. In operation 1103, the panoramic image motion estimator 160 expands the basic input image to which the padding area is added, as a reference image. For example, it would be doubled in the case of 1/2 pixel and quadrupled in the case of 1/4 pixel.

예를 들어, 현재 파노라마 영상의 크기가 352*288 이고, 반화소 탐색을 할 경우 현재 파노라마 영상의 크기는 2배 확장되어 도 12에 도시된 바와 같이 (352*2)*(288*2)가 된다. 도 13a를 참조하면, 참조 영상의 경우에는 참조를 위한 기본 입력 영상(352*288)에 패딩 크기 4의 패딩 영역을 부가하면 패딩된 기본 입력 영상의 크기는 (4+352+4)*(4+288+4)가 되고, 이렇게 패딩된 기본 입력 영상은 2배 확장되어 (4+352+4)*2*(4+288+4)*2 의 크기가 된다. For example, when the size of the current panorama image is 352 * 288 and the half-pixel search is performed, the size of the current panorama image is doubled so that (352 * 2) * (288 * 2) as shown in FIG. do. Referring to FIG. 13A, in the case of a reference picture, if a padding area having a padding size of 4 is added to the base input picture 352 * 288 for reference, the size of the padded base input picture is (4 + 352 + 4) * (4. + 288 + 4), and the padded base input image is doubled to a size of (4 + 352 + 4) * 2 * (4 + 288 + 4) * 2.

파노라마 영상 움직임 추정부(160)는 현재 데이터 유닛의 움직임 벡터를 예 측한 후, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛의 화소 X가 참조 영상에서 기본 입력 영상 영역에 속하는지를 판단한다(1104). After determining the motion vector of the current data unit, the panoramic image motion estimator 160 determines whether the pixel X of the reference data unit indicated by the predicted motion vector belongs to the basic input image area in the reference image (1104).

참조 데이터 유닛의 화소 X가 참조 영상중에서 기본 입력 영상 영역에 속하는 경우에는 그대로 화소 X의 화소값을 획득한다(1105). If the pixel X of the reference data unit belongs to the basic input image area in the reference image, the pixel value of the pixel X is acquired as it is (1105).

참조 데이터 유닛의 화소 X가 상기 기본 입력 영상 영역의 바깥에 속하는 경우, 즉, 패딩 영역에 속하거나 또는 참조 영상의 바깥에 속하는 경우에는 화소 X의 x 좌표를 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 그에 해당하는 화소값을 획득한다(1106). 즉, 화소 X가 참조 영상의 좌측 패딩 영역 또는 참조 영상의 좌측 바깥 영역에 속하는 경우에는 화소 X의 x 좌표를 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 뺀 값을 상기 부화소의 x좌표로 설정한다. 그리고, 화소 X가 참조 영상의 우측 패딩 영역 또는 참조 영상의 우측 바깥 영역에 속하는 경우에는 화소 X의 x 좌표를 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더한 값을 상기 부화소의 x좌표로 설정한다. When the pixel X of the reference data unit belongs to the outside of the basic input image area, that is, belongs to a padding area or outside the reference image, the x reference coordinate of the pixel X is close to the subpixel. A pixel value corresponding thereto is obtained by adding or subtracting the distance on the x-axis between one boundary of the sub-pixel and the sub-pixel from the x-coordinate of the other boundary of the basic reference image to the x-coordinate of the sub-pixel, thereby obtaining a pixel value corresponding thereto (1106). ). That is, when the pixel X belongs to the left padding region of the reference image or the left outer region of the reference image, the x coordinate of the pixel X is located on the x-axis between one boundary of the base reference image close to the subpixel and the subpixel. A value obtained by subtracting a distance from an x coordinate of another boundary of the basic reference image is set to an x coordinate of the subpixel. When the pixel X belongs to the right padding region of the reference image or the right outer region of the reference image, the x coordinate of the pixel X is located on the x-axis between one boundary of the base reference image near the subpixel and the subpixel. The distance of is added to the x-coordinate of the subpixel by adding the distance from the x-coordinate of another boundary of the basic reference image.

예를 들어, 도 13b를 참조하면, 참조 데이터 유닛내의 화소 A의 좌표는 (30,50)으로서 참조 영상의 기본 입력 영상의 영역에 속하므로 그대로 화소 A의 화소값을 획득하면 된다. For example, referring to FIG. 13B, the coordinates of the pixel A in the reference data unit are (30,50) and belong to the area of the basic input image of the reference image, so that the pixel value of the pixel A may be obtained as it is.

참조 데이터 유닛내의 화소 B의 좌표는 (4,50)으로서, 참조 영상의 패딩 영역에 속한다. 화소 B에 가까이 있는 기본 입력 영상의 하나의 경계의 x 좌표는 7이고, 화소 B와 상기 기본 입력 영상의 하나의 경계의 사이의 거리는 3이다. 상기 기본 입력 영상 영역의 다른 경계의 x 좌표는 711 이고, 711-3=708 이므로, 상기 화소 B의 x좌표를 708로 설정한다. 즉, 화소 B의 화소값은 화소 B'의 좌표(708,50)에서 획득한다. The coordinate of the pixel B in the reference data unit is (4,50), which belongs to the padding area of the reference image. The x coordinate of one boundary of the base input image close to the pixel B is 7, and the distance between the pixel B and one boundary of the base input image is 3. Since the x coordinate of the other boundary of the basic input image region is 711 and 711-3 = 708, the x coordinate of the pixel B is set to 708. That is, the pixel value of the pixel B is obtained at the coordinates 708 and 50 of the pixel B '.

참조 데이터 유닛내의 화소 C의 좌표는 (-5,100)으로서, 참조 영상의 바깥에 위치한다. 화소 C에 가까이 있는 기본 입력 영상의 하나의 경계의 x 좌표는 7이고, 화소 C와 상기 기본 입력 영상의 하나의 경계의 사이의 거리는 12이다. 상기 기본 입력 영상 영역의 다른 경계의 x 좌표는 711 이고, 711-12=699 이므로, 상기 화소 C의 x좌표를 699로 설정한다. 즉, 화소 C의 화소값은 화소 C'의 좌표(699,100)에서 획득한다. The coordinate of the pixel C in the reference data unit is (-5,100), which is located outside the reference image. The x coordinate of one boundary of the base input image close to the pixel C is 7 and the distance between the pixel C and one boundary of the base input image is 12. Since the x coordinate of another boundary of the basic input image region is 711 and 711-12 = 699, the x coordinate of the pixel C is set to 699. That is, the pixel value of the pixel C is obtained at the coordinates 699 and 100 of the pixel C '.

이와 같이 본 실시예에서는, 패딩 영역에 존재하는 화소값을 구하는 경우, 패딩 영역에 존재하는 화소값은 의미없는 값이므로, 반대편 경계 영역의 화소값을 이용하여야 한다. 즉, 패딩 영역을 종래와 같은 방식으로 수행하는 경우에는 패딩 영역에 존재하는 화소나 참조 영상의 바깥에 존재하는 화소 모두 반대편 경계 영역의 화소값을 이용하여야 한다. As described above, in the present embodiment, when the pixel value existing in the padding area is obtained, the pixel value existing in the padding area is meaningless, and thus the pixel value of the opposite boundary area should be used. That is, when the padding area is performed in a conventional manner, the pixel value of the opposite boundary area should be used for both the pixel present in the padding area and the pixel outside the reference image.

다음, 파노라마 영상 움직임 추정부(160)는 참조 데이터 유닛의 모든 화소값을 획득하였는지 판단하고(1107), 모든 화소값을 획득한 경우에는 소정 평가 함수를 이용하여 현재 데이터 유닛과 참조 데이터 유닛의 유사도를 평가하며(1108), 모 든 화소값을 획득하지 못한 경우에는 다음 화소값을 획득하기 위해 단계 1104로 진행한다. 상기 소정의 평가 함수로는 SAD(Sum of Absolute Difference) 함수, SATD((Sum of Absolute Transformed Difference) 함수 또는 SSD(Sum of Squared Difference) 함수를 이용함이 일반적이다. Next, the panoramic image motion estimator 160 determines whether all pixel values of the reference data unit are acquired (1107), and when all pixel values are acquired, the degree of similarity between the current data unit and the reference data unit using a predetermined evaluation function. If not all pixel values are obtained, the process proceeds to step 1104 to obtain the next pixel value. As the predetermined evaluation function, a sum of absolute difference (SAD) function, a sum of absolute transformed difference (SATD) function, or a sum of squared difference (SSD) function is generally used.

다음, 파노라마 영상 움직임 추정부(160)는 소정 탐색 범위 내에서 참조 데이터 유닛의 위치를 변경하고, 변경된 참조 데이터 유닛과 현재 데이터 유닛간의 유사도를 평가한다(1109,1110). 파노라마 영상 움직임 추정부(160)는 소정 탐색 범위 내에서 다수의 참조 데이터 유닛과 현재 데이터 유닛간의 유사도 평가가 완료되면 상기 다수의 참조 데이터 유닛들 중에서 현재 데이터 유닛과 가장 유사한 참조 데이터 유닛을 결정하고 그 참조 데이터 유닛을 나타내는 움직임 벡터를 생성한다(1111). Next, the panoramic image motion estimator 160 changes the position of the reference data unit within the predetermined search range and evaluates the similarity between the changed reference data unit and the current data unit (1109 and 1110). When the similarity evaluation between the plurality of reference data units and the current data unit is completed within the predetermined search range, the panoramic image motion estimator 160 determines a reference data unit that is most similar to the current data unit among the plurality of reference data units, A motion vector representing a reference data unit is generated (1111).

도 14는 본 발명의 다른 실시예에 따라 부화소(sub pixel) 탐색을 대상으로 하는 파노라마 영상 움직임 추정 방법의 흐름도이다. 14 is a flowchart of a panoramic image motion estimation method for subpixel search according to another embodiment of the present invention.

파노라마 영상 움직임 추정부(160)는 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측한다(1401). 이러한 움직임 벡터 예측은 정화소 탐색을 대상으로 하는 파노라마 영상 움직임 추정 방법에서와 같다.The panoramic image motion estimator 160 predicts a motion vector of the current data unit by using motion vectors of a plurality of previous data units adjacent to the current data unit (1401). This motion vector prediction is the same as that of the panoramic image motion estimation method for the refinery search.

파노라마 영상 움직임 추정부(160)는 기본 입력 영상의 좌측 패딩 영역에는 우측 경계부 영역의 화소값을 이용하여 패딩하고, 기본 입력 영상의 우측 패딩 영역에는 좌측 경계부 영역의 화소값을 이용하여 패딩한다(1402). The panoramic image motion estimation unit 160 pads the left padding region of the basic input image using pixel values of the right boundary region and pads the right padding region of the basic input image using pixel values of the left boundary region (1402). ).

다음 파노라마 영상 움직임 추정부(160)는 단계 1402에서 패딩 영역이 부가된 기본 입력 영상을 확장하여 참조 영상으로 사용한다(1403). 예를 들어, 1/2 화소의 경우에는 2배 확장될 것이고, 1/4 화소의 경우에는 4배 확장될 것이다. Next, in operation 1402, the panoramic image motion estimator 160 expands the basic input image to which the padding area is added and uses it as a reference image. For example, it would be doubled in the case of 1/2 pixel and quadrupled in the case of 1/4 pixel.

예를 들어, 현재 파노라마 영상의 크기가 352*288 이고, 반화소 탐색을 할 경우 현재 파노라마 영상의 크기는 2배 확장되어 도 12에 도시된 바와 같이 (352*2)*(288*2)가 된다. 도 15a를 참조하면, 참조 영상의 경우에는 참조를 위한 기본 입력 영상(352*288)에 패딩 크기 4의 패딩 영역을 부가하면 패딩된 기본 입력 영상의 크기는 (4+352+4)*(4+288+4)가 되고, 이렇게 패딩된 기본 입력 영상은 2배 확장되어 (4+352+4)*2*(4+288+4)*2 의 크기가 된다. 물론, 여기서 패딩 영역을 살펴보면, 참조 영상의 좌측 패딩 영역에는 우측 경계부의 영역의 화소값이 패딩되고, 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역의 화소값이 패딩된다. For example, when the size of the current panorama image is 352 * 288 and the half-pixel search is performed, the size of the current panorama image is doubled so that (352 * 2) * (288 * 2) as shown in FIG. do. Referring to FIG. 15A, when a padding area having a padding size of 4 is added to a base input image 352 * 288 for reference, the size of the padded base input image is (4 + 352 + 4) * (4. + 288 + 4), and the padded base input image is doubled to a size of (4 + 352 + 4) * 2 * (4 + 288 + 4) * 2. Of course, referring to the padding area, the pixel value of the right boundary area is padded in the left padding area of the reference image, and the pixel value of the left boundary area is padded in the right padding area of the reference image.

파노라마 영상 움직임 추정부(160)는 현재 데이터 유닛의 움직임 벡터를 예측한 후, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛의 화소 B가 참조 영상에 속하는지를 판단한다(1404). The panoramic image motion estimator 160 predicts the motion vector of the current data unit and then determines whether the pixel B of the reference data unit indicated by the predicted motion vector belongs to the reference image (1404).

참조 데이터 유닛의 화소 X가 참조 영상에 속하는 경우에는 화소 X의 화소값을 그대로 획득한다(1405).If the pixel X of the reference data unit belongs to the reference image, the pixel value of the pixel X is acquired as it is (1405).

참조 데이터 유닛의 화소 X가 참조 영상의 바깥에 위치하는 경우, 화소 X의 x 좌표를 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더한 값을 화소 X의 x 좌표로 설정하여 화소값을 획득한다(1406). 즉, 화소 X가 참 조 영상의 좌측 바깥 영역에 속하는 경우에는 화소 X의 x 좌표를 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 뺀 값을 상기 부화소의 x좌표로 설정한다. 그리고, 화소 X가 참조 영상의 우측 바깥 영역에 속하는 경우에는 화소 X의 x 좌표를 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더한 값을 상기 부화소의 x좌표로 설정한다. When the pixel X of the reference data unit is located outside of the reference image, the basic reference is referred to the distance on the x-axis between one boundary of the base reference image in which the x coordinate of the pixel X is close to the subpixel and the subpixel. A pixel value is obtained by setting a value added from the x coordinate of another boundary of the image as the x coordinate of the pixel X (1406). That is, when the pixel X belongs to the left outer region of the reference image, the basic reference is the distance on the x-axis between one boundary of the base reference image in which the x coordinate of the pixel X is close to the subpixel and the subpixel. The value subtracted from the x coordinate of another boundary of the image is set to the x coordinate of the subpixel. When the pixel X belongs to the right outer region of the reference image, the distance between the boundary of the base reference image in which the x coordinate of the pixel X is close to the subpixel and the distance on the x-axis between the subpixel is determined. The value added from the x coordinate of the other boundary of is set to the x coordinate of the subpixel.

예를 들어, 도 15b를 참조하면, 참조 데이터 유닛에는 좌표(30,50)를 가지는 화소 A, 좌표(4,50)를 가지는 화소 B, 좌표(-5,100)를 가지는 화소 D가 존재한다. For example, referring to FIG. 15B, the reference data unit includes a pixel A having coordinates 30 and 50, a pixel B having coordinates 4 and 50, and a pixel D having coordinates (-5 and 100).

화소 A와 화소 B는 참조 영상에 속하고, 화소 C는 참조 영상에 속하지 않고 참조 영상의 바깥에 속한다. 또한, 화소 A는 참조 영상 중에서도 기본 입력 영상영역에 속하고, 화소 B는 패딩 영역에 속한다. 화소 A의 경우에는 당연히 기본 입력 영상에 속하는 화소이므로 그 위치의 화소값을 획득하면 된다. Pixels A and B belong to the reference picture, and pixel C does not belong to the reference picture but outside the reference picture. In addition, the pixel A belongs to the basic input image region among the reference image, and the pixel B belongs to the padding region. In the case of the pixel A, since the pixel belongs to the basic input image, the pixel value of the position may be acquired.

화소 B의 경우에는 미리 참조 영상 생성시 파노라마 영상의 공간적 상관관계를 고려하여 우측 경계부 영역의 화소값으로 패딩한 영역에 속한 값이므로, 화소 B의 경우에도 그 위치의 화소값을 획득하면 된다. The pixel B is a value belonging to an area padded with the pixel value of the right boundary area in consideration of the spatial correlation of the panoramic image when generating the reference image in advance, and thus, the pixel value of the pixel B may be acquired.

참조 데이터 유닛내의 화소 D의 좌표는 (-5,100)으로서, 참조 영상의 바깥에 위치한다. 화소 D에 가까이 있는 기본 입력 영상의 하나의 경계의 x 좌표는 7이고, 화소 D와 상기 기본 입력 영상의 하나의 경계의 사이의 거리는 12이다. 상기 기본 입력 영상 영역의 다른 경계의 x 좌표는 711 이고, 711-12=699 이므로, 상기 화소 D의 x좌표를 699로 설정한다. 즉, 화소 D의 화소값은 화소 D'의 좌표(699,100)에서 획득한다. 이와 같이 본 실시예에서는, 패딩 영역에 존재하는 화소값을 구하는 경우, 패딩 영역에 존재하는 화소값은 이미 반대편 경계 영역의 화소값을 이용하여 패딩한 값이므로 그대로 이용하면 되고, 참조 영상의 바깥에 있는 소에 대해서만 반대편 경계 영역의 화소값을 계산하여 이용하면 된다. The coordinate of the pixel D in the reference data unit is (-5,100), which is located outside the reference image. The x coordinate of one boundary of the base input image close to the pixel D is 7, and the distance between the pixel D and one boundary of the base input image is 12. Since the x coordinate of another boundary of the basic input image region is 711 and 711-12 = 699, the x coordinate of the pixel D is set to 699. That is, the pixel value of the pixel D is obtained at the coordinates 699 and 100 of the pixel D '. As described above, in the present embodiment, when the pixel value existing in the padding area is obtained, the pixel value existing in the padding area is already padded using the pixel value of the opposite boundary area and may be used as it is. It is only necessary to calculate and use the pixel value of the opposite boundary region for the small cows.

다음, 파노라마 영상 움직임 추정부(160)는 참조 데이터 유닛의 모든 화소값을 획득하였는지 판단하고(1407), 모든 화소값을 획득한 경우에는 소정 평가 함수를 이용하여 현재 데이터 유닛과 참조 데이터 유닛의 유사도를 평가하며(1408), 모든 화소값을 획득하지 못한 경우에는 다음 화소값을 획득하기 위해 단계 1404로 진행한다. 상기 소정의 평가 함수로는 SAD(Sum of Absolute Difference) 함수, SATD((Sum of Absolute Transformed Difference) 함수 또는 SSD(Sum of Squared Difference) 함수를 이용함이 일반적이다. Next, the panoramic image motion estimator 160 determines whether all pixel values of the reference data unit are acquired (1407), and when all pixel values are acquired, the degree of similarity between the current data unit and the reference data unit using a predetermined evaluation function. In operation 1408, if all pixel values are not obtained, the process proceeds to step 1404 to obtain the next pixel value. As the predetermined evaluation function, a sum of absolute difference (SAD) function, a sum of absolute transformed difference (SATD) function, or a sum of squared difference (SSD) function is generally used.

다음, 파노라마 영상 움직임 추정부(160)는 소정 탐색 범위 내에서 참조 데이터 유닛의 위치를 변경하고, 변경된 참조 데이터 유닛과 현재 데이터 유닛간의 유사도를 평가한다(1409,1410). 파노라마 영상 움직임 추정부(160)는 소정 탐색 범위 내에서 다수의 참조 데이터 유닛과 현재 데이터 유닛간의 유사도 평가가 완료되면 상기 다수의 참조 데이터 유닛들 중에서 현재 데이터 유닛과 가장 유사한 참조 데이터 유닛을 결정하고 그 참조 데이터 유닛을 나타내는 움직임 벡터를 생성한다(1411). Next, the panoramic image motion estimator 160 changes the position of the reference data unit within the predetermined search range and evaluates the similarity between the changed reference data unit and the current data unit (1409 and 1410). When the similarity evaluation between the plurality of reference data units and the current data unit is completed within the predetermined search range, the panoramic image motion estimator 160 determines a reference data unit that is most similar to the current data unit among the plurality of reference data units, A motion vector representing the reference data unit is generated (1411).

이하에서는 본 발명의 일 실시예에 따른 파노마라 영상의 움직임 보상 방법 및 장치에 대해 설명한다.Hereinafter, a method and apparatus for compensating for motion of a panoramara image according to an embodiment of the present invention will be described.

도 16은 본 발명의 일 실시예에 따른 파노라마 영상 움직임 벡터 디코더의 블록도이다. 도 16을 참조하면, 본 발명의 일 실시예에 따른 파노라마 영상 움직임 벡터 디코더는 가변장 복호화부(VLD: Variable Length Decoder)(710), 역양자화부(inverse quantizing unit)(720), 역변환부(inverse transforming unit)(730), 가산부(adding unit)(740), 파노라마 영상 움직임 보상부(panorama image motion compensation unit)(750), 클리핑부(clipping unit)(760) 및 프레임 메모리(770)를 포함한다. 16 is a block diagram of a panoramic image motion vector decoder according to an embodiment of the present invention. Referring to FIG. 16, a panoramic image motion vector decoder according to an embodiment of the present invention includes a variable length decoder (VLD) 710, an inverse quantizing unit 720, and an inverse transform unit ( an inverse transforming unit 730, an adding unit 740, a panorama image motion compensation unit 750, a clipping unit 760, and a frame memory 770. Include.

가변장 복호화부(710)는 입력 비트스트림을 가변장복호한다. 가변장 복호화부(710)의 출력 중 움직임 벡터는 파노라마 영상 움직임 보상부(750)로 출력되고, 현재 매크로블록과 참조 매크로블록 간의 잔차신호는 역양자화부(720)로 출력된다.The variable length decoder 710 variable length decodes the input bitstream. The motion vector of the variable length decoder 710 is output to the panoramic image motion compensator 750, and the residual signal between the current macroblock and the reference macroblock is output to the inverse quantizer 720.

프레임 메모리(770)에는 역양자화부(720), 역변환부(730) 및 클리핑부(760)를 거쳐 재생된 참조 영상이 저장된다. 프레임 메모리(770)에 저장된 참조 영상은 새롭게 입력된 파노라마 영상의 움직임 보상에 이용된다.The frame memory 770 stores the reference image reproduced through the inverse quantizer 720, the inverse transformer 730, and the clipping unit 760. The reference image stored in the frame memory 770 is used for motion compensation of the newly input panoramic image.

파노라마 영상 움직임 보상부(750)는 프레임 메모리(770)에 저장된 참조 파노라마 영상을 이용하여 본 발명에 따른 움직임 보상을 수행한다. 도 5에 도시한 바와 같은 파노라마 영샹 움직임 벡터 인코더로부터 전송된 현재 매크로 블록의 움직임 벡터를 입력받아 현재 매크로블록에 대응하는 참조 매크로블록을 프레임 메모리(770)로부터 독출하여 가산부(740)로 출력한다. 나아가, 가산부(740)는 역양자화부(720) 및 역변환부(730)에 의해 각각 역양자화 및 역변환된, 현재 매크로블록과 참조 매크로블록 간의 잔차 신호를 입력받는다. The panoramic image motion compensator 750 performs motion compensation according to the present invention by using the reference panoramic image stored in the frame memory 770. A motion vector of the current macroblock transmitted from the panoramic motion vector encoder as shown in FIG. 5 is input, and a reference macroblock corresponding to the current macroblock is read from the frame memory 770 and output to the adder 740. . In addition, the adder 740 receives a residual signal between the current macroblock and the reference macroblock, which are inversely quantized and inversely transformed by the inverse quantizer 720 and the inverse transformer 730, respectively.

가산부(740)는 현재 매크로블록과 참조 매크로블록 간의 잔차 신호와, 파노라마 영상 움직임 보상부(750)로부터 참조 매크로블록을 입력받아 현재 매크로블록을 재생한다. 클리핑부(760)는 가산부(740)로부터 출력된 재생된 현재 매크로블록을 정규화하는 기능을 수행한다.The adder 740 receives the residual signal between the current macroblock and the reference macroblock and the reference macroblock from the panoramic image motion compensator 750 to reproduce the current macroblock. The clipping unit 760 normalizes the reproduced current macroblock output from the adder 740.

이하에서는, 파노라마 영상 움직임 보상부(750)의 동작을 도면을 참조하여 보다 상세하게 설명한다. 도 17은 본 발명의 일 실시예에 따른 파노라마 영상 움직임 보상 방법의 흐름도이다. Hereinafter, the operation of the panoramic image motion compensator 750 will be described in more detail with reference to the accompanying drawings. 17 is a flowchart illustrating a panoramic image motion compensation method according to an embodiment of the present invention.

파노라마 영상 움직임 보상부(750)는 움직임 보상을 수행할 현재 데이터 유닛의 움직임 벡터를 VLD(710)로부터 입력받는다(910). 본 실시예에서 데이터 유닛은 16X16 크기의 매크로블록이다. The panoramic image motion compensator 750 receives a motion vector of a current data unit to perform motion compensation from the VLD 710 (910). In this embodiment, the data unit is a 16 × 16 macroblock.

파노라마 영상 움직임 보상부(750)는 상기 현재 매크로블록의 움직임 벡터가 나타내는 참조 매크로블록이 참조 영상 내에 존재하는지 여부를 판단한다(920). 참조 영상은 프레임 메모리(770)에 저장되어 있다. The panoramic image motion compensator 750 determines whether a reference macroblock indicated by the motion vector of the current macroblock exists in the reference image (920). The reference image is stored in the frame memory 770.

정화소 탐색의 경우에는 현재 매크로블록의 움직임 벡터가 나타내는 참조 매크로블록의 모든 화소들이 참조 영상 내에 존재하면, 참조 매크로블록들의 모든 화소값들을 프레임 메모리(770)로부터 가져온 후(950), 현재 매크로블록을 재생한다(960). In the case of a refinement search, if all the pixels of the reference macroblock represented by the motion vector of the current macroblock exist in the reference image, after all pixel values of the reference macroblocks are obtained from the frame memory 770 (950), the current macroblock is extracted. Play (960).

가산부(740)는 역변환부(730)로부터 출력된, 현재 매크로블록과 참조 매크로블록 간의 잔차 신호와, 파노라마 영상 움직임 보상부(750)로부터 출력된 참조 매 크로블록을 입력받아 현재 매크로블록을 재생한다. The adder 740 receives the residual signal between the current macroblock and the reference macroblock output from the inverse transformer 730 and the reference macroblock output from the panoramic image motion compensator 750 to reproduce the current macroblock. do.

그러나, 현재 매크로블록의 움직임 벡터가 나타내는 참조 매크로블록의 일부 또는 전체 화소들이 도 8a 또는 8b에 도시한 바와 같이 참조 영상의 왼쪽 경계 또는 오른쪽 경계 중 하나의 경계의 바깥 쪽에 존재하면, 상기 참조 영상의 다른 하나의 경계부터 소정 범위까지의 영상을 상기 하나의 경계의 바깥 쪽에 패딩한다(930). 본 발명에서는, 360도 전 방향 영상을 포함하는 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 공간적 상관관계는 매우 높은 성질을 이용하여, 도 9에 도시한 바와 같이 참조 영상의 바깥 영역을 패딩한다. However, if some or all pixels of the reference macroblock indicated by the motion vector of the current macroblock exist outside the boundary of either the left boundary or the right boundary of the reference image, as shown in FIGS. 8A or 8B, An image from one boundary to a predetermined range is padded outside the one boundary (930). In the present invention, the spatial correlation between the right boundary portion and the left boundary portion of the panoramic image including the 360 degree omnidirectional image is padded to the outer region of the reference image as shown in FIG. 9 using a very high property.

파노라마 영상 움직임 보상부(750)는 제930 단계에 따라 참조 영상을 패딩한 후, 패딩된 참조 영상에서 참조 매크로블록의 모든 화소값들을 프레임 메모리(770)로부터 가져온다(940). The panoramic image motion compensator 750 pads the reference image according to operation 930 and then imports all pixel values of the reference macroblock from the frame memory 770 in the padded reference image (940).

한편, 전술한 바와 같은 패딩 과정을 수행하지 않고, 상기 참조 영상의 왼쪽 경계와 오른쪽 경계를 연결하여 상기 참조 영상이 원통형 영상인 것으로 가정함으로써, 상기 원통형 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻을 수도 있다. 부연 설명하면, 참조 영상은 도 4b에 도시한 바와 같은 2차원 평면 영상이다. 이러한 2차원 평면 영상의 왼쪽 경계와 오른쪽 경계를 연결하면 도 4a와 같은 원통형 영상이 된다. 참조 영상이 원통형 영상인 것으로 가정한다면, 상기 원통형 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻을 수 있다. On the other hand, without performing the above-mentioned padding process, it is assumed that the reference image is a cylindrical image by connecting the left boundary and the right boundary of the reference image, thereby obtaining all pixel values of the reference data unit in the cylindrical image. It may be. In detail, the reference image is a two-dimensional planar image as illustrated in FIG. 4B. When the left boundary and the right boundary of the 2D plane image are connected, a cylindrical image as shown in FIG. 4A is obtained. If it is assumed that the reference image is a cylindrical image, all pixel values of the reference data unit may be obtained from the cylindrical image.

끝으로, 가산부(740)는 현재 매크로블록과 참조 매크로블록 간의 잔차 신호와, 파노라마 영상 움직임 보상부(750)로부터 출력된 참조 매크로블록을 입력받아 현재 매크로블록을 재생한다(960). Finally, the adder 740 receives the residual signal between the current macroblock and the reference macroblock and the reference macroblock output from the panoramic image motion compensator 750 to reproduce the current macroblock (960).

반화소 탐색의 경우에는, 본 발명의 일 실시예에 따라 현재 파노라마 영상의 움직임 보상에 이용되는 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상을 프레임 메모리에 저장해두고, 입력된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함되어 움직임 검색 대상인 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 움직임 보상에 이용하고, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 화소값을 얻는다. In the case of half-pixel search, the left padding region of the basic reference image used for motion compensation of the current panoramic image is padded using a right boundary region, and the right padding region of the basic reference image is scanned according to an embodiment of the present invention. After padding using the left boundary area, the reference image generated by expanding the padded image is stored in the frame memory, and the sub-pixel which is a motion search target included in the reference data unit represented by the input motion vector belongs to the reference image. In this case, the pixel value of the subpixel is used as it is for motion compensation, and the distance on the x-axis between one boundary of the base reference image and the subpixel close to the subpixel is x of the other boundary of the base reference image. A pixel value is obtained by setting the value added or subtracted from the coordinates to the x coordinate value of the subpixel.

반화소 탐색의 경우, 본 발명의 다른 실시예에 따라, 현재 파노라마 영상의 움직임 보상에 이용되는 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상을 프레임 메모리에 저장하고, 현재 데이터 유닛의 움직임 벡터가 나타내는 참조 데이터 유닛에 포함되어 움직임 검색 대상인 부화소가 기본 입력 영상 영역에 속하는 경우에는 그 화소의 화소값을 그대로 획득하고, 부화소가 상기 참조 영상의 패딩 영역 또는 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 화소값을 획득한다. In the case of half-pixel search, the left padding area of the base reference image used for motion compensation of the current panoramic image is padded using a left boundary pixel value, and the right side padding area of the base reference image according to another embodiment of the present invention. After the padding is performed using the right boundary pixel value, the padded image is stored in the frame memory, and the sub-pixel which is a motion search target is included in the reference data unit indicated by the motion vector of the current data unit. In case of belonging to the image area, the pixel value of the pixel is acquired as it is, and when the subpixel belongs to the padding area of the reference image or the outside of the reference image, one boundary of the base reference image near the subpixel and the The distance on the x-axis between the subpixels is determined from the x-coordinate of the other boundary of the base reference image. Setting a value or by subtracting the x-coordinate value of the sub-pixels and, to obtain a pixel value.

또한, 위의 설명에서는 주로 참조 영상의 좌측 경계 영역의 화소값을 이용하여 우측 영역의 화소값으로 이용하고, 참조 영상의 우측 경계 영역의 화소값을 이용하여 좌측 영역의 화소값으로 이용하는 것과 같이 참조 영상의 가로 방향에 대해서만 주로 설명되었지만, 이것은 파노라마 영상의 특성상 좌측 경계와 우측 경계의 공간적 상관성이 높으므로 가로 방향에 대해 설명된 것이다. 그러나 이러한 본 발명에 따른 방법은 가로 방향뿐만 아니라 영상의 상측 경계 영역과 하측 경계 영역의 공간적 상관관계가 높다면 세로 방향으로도 적용될 수 있음은 본 발명이 속하는 기술분야의 당업자라면 충분히 이해할 것이다. In the above description, the pixel value of the left boundary region of the reference image is mainly used as the pixel value of the right region, and the pixel value of the right boundary region of the reference image is used as the pixel value of the left region. Although only the horizontal direction of the image has been mainly described, this has been described for the horizontal direction because of the high spatial correlation between the left boundary and the right boundary due to the characteristics of the panoramic image. However, it will be understood by those skilled in the art that the method according to the present invention can be applied in the vertical direction if the spatial correlation between the upper boundary region and the lower boundary region of the image is high as well as the horizontal direction.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). It includes being. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본 질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

이상에서 설명한 바와 같이, 본 발명에 따르면, 360도 전 방향 영상을 포함하는 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 공간적 상관관계는 매우 높은 성질을 이용하여, 파노라마 영상의 움직임 예측 및 보상을 수행함으로써 움직임 추정 및 보상의 효율성과 정확도를 향상 시켜 화질을 개선할 수 있는 효과를 제공한다. 특히, 본 발명에 따르면 360도 전 방향 영상을 포함하는 파노라마 영상의 오른쪽 경계 부분과 왼쪽 경계 부분의 움직임 예측 및 보상의 효율성 및 정확도를 향상 시켜 오른쪽 경계 부분과 왼쪽 경계 부분의 화질을 개선할 수 있다. As described above, according to the present invention, the spatial correlation between the right boundary portion and the left boundary portion of the panoramic image including the 360 degree omnidirectional image is very high, thereby performing motion prediction and compensation of the panoramic image. This improves the image quality by improving the efficiency and accuracy of motion estimation and compensation. In particular, according to the present invention, the image quality of the right and left boundary parts can be improved by improving the efficiency and accuracy of motion prediction and compensation of the right and left boundary parts of the panoramic image including the 360 degree omnidirectional image. .

Claims (15)

360도 전 방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 방법에 있어서,In the motion estimation method of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참조 영상으로 설정하는 단계와,The left padding region of the base reference image for motion estimation of the current panoramic image is padded using the right boundary region, the right padding region of the basic reference image is padded using the left boundary region, and then the padded image is expanded. Setting as a reference image, 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측하는 단계와,Predicting a motion vector of the current data unit by using motion vectors of a plurality of previous data units adjacent to a current data unit included in the current panoramic image; 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와,When the subpixel included in the reference data unit indicated by the predicted motion vector belongs to the reference image, the pixel value of the subpixel is acquired as it is, and when the subpixel is located outside the reference image, the subpixel The distance on the x-axis between one boundary of the base reference image and a subpixel adjacent to a pixel is added to or subtracted from the x-coordinate of another boundary of the base reference image by the x-coordinate of the sub-pixel. Obtaining all pixel values of the reference data unit in the reference image by obtaining pixel values of the pixel; 소정 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 방법. Determining a similarity degree between the current data unit and the reference data unit using a predetermined evaluation function. 제1 항에 있어서, According to claim 1, 상기 현재 데이터 유닛의 움직임 벡터를 예측하는 단계는,Predicting the motion vector of the current data unit, 상기 복수의 이전 데이터 유닛들 중 적어도 하나가 상기 현재 파노라마 영상의 왼쪽 경계 또는 오른쪽 경계의 바깥 쪽에 존재하면, 상기 현재 파노라마 영상의 왼쪽 경계와 오른쪽 경계를 연결하여 상기 현재 파노라마 영상이 원통형 영상인 것으로 가정하여, 상기 원통형 영상에서 상기 복수의 이전 데이터 유닛들을 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 방법.If at least one of the plurality of previous data units exists outside the left boundary or the right boundary of the current panorama image, it is assumed that the current panorama image is a cylindrical image by connecting the left boundary and the right boundary of the current panorama image. And determining the plurality of previous data units in the cylindrical image. 제1항에 있어서, The method of claim 1, 소정 탐색 범위 내에서 상기 현재 데이터 유닛과 가장 유사한 참조 데이터 유닛을 결정하는 단계와Determining a reference data unit most similar to the current data unit within a predetermined search range; 결정된 상기 참조 데이터 유닛을 나타내는 움직임 벡터를 결정하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.Determining a motion vector representing the determined reference data unit. 360도 전 방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 방법에 있어서,In the motion estimation method of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참 조 영상으로 설정하는 단계와,The left padding area of the base reference image for motion estimation of the current panoramic image is padded using a left boundary pixel value, the right padding area of the base reference image is padded using a right boundary pixel value, and then the padded image is padded. To expand and set it as a reference image, 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측하는 단계와,Predicting a motion vector of the current data unit by using motion vectors of a plurality of previous data units adjacent to a current data unit included in the current panoramic image; 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 참조 영상의 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와,If the subpixel included in the reference data unit indicated by the predicted motion vector belongs to the base reference image of the reference image, the pixel value of the subpixel is obtained, and the subpixel is outside the base reference image of the reference image. In the case of, the x coordinate of the subpixel is obtained by subtracting or subtracting a distance on the x-axis between one boundary of the base reference image and the subpixel adjacent to the subpixel from the x coordinate of the other boundary of the base reference image. Obtaining all pixel values of the reference data unit in the reference image by acquiring the pixel value of the subpixel by setting to a value; 소정 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 방법. Determining a similarity degree between the current data unit and the reference data unit using a predetermined evaluation function. 제4 항에 있어서, The method of claim 4, wherein 상기 현재 데이터 유닛의 움직임 벡터를 예측하는 단계는,Predicting the motion vector of the current data unit, 상기 복수의 이전 데이터 유닛들 중 적어도 하나가 상기 현재 파노라마 영상의 왼쪽 경계 또는 오른쪽 경계의 바깥 쪽에 존재하면, 상기 현재 파노라마 영상의 왼쪽 경계와 오른쪽 경계를 연결하여 상기 현재 파노라마 영상이 원통형 영상인 것으로 가정하여, 상기 원통형 영상에서 상기 복수의 이전 데이터 유닛들을 결정하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 방법.If at least one of the plurality of previous data units exists outside the left boundary or the right boundary of the current panorama image, it is assumed that the current panorama image is a cylindrical image by connecting the left boundary and the right boundary of the current panorama image. And determining the plurality of previous data units in the cylindrical image. 제4 항에 있어서, The method of claim 4, wherein 소정 탐색 범위 내에서 상기 현재 데이터 유닛과 가장 유사한 참조 데이터 유닛을 결정하는 단계와,Determining a reference data unit most similar to the current data unit within a predetermined search range, 결정된 상기 참조 데이터 유닛을 나타내는 움직임 벡터를 결정하는 단계를 더 포함하는 것을 특징으로 하는 움직임 추정 방법.Determining a motion vector representing the determined reference data unit. 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 장치에 있어서,In the motion estimation apparatus of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상 및 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 저장하는 메모리와,The left padding region of the base reference image for motion estimation of the current panoramic image is padded using the right boundary region, the right padding region of the basic reference image is padded using the left boundary region, and then the padded image is expanded. A memory for storing motion vectors of a plurality of previous data units adjacent to the current data unit included in the generated reference image and the current panorama image; 상기 복수의 이전 데이터 유닛들의 상기 움직임 벡터들을 이용하여 상기 현재 데이터 유닛의 움직임 벡터를 예측하고, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화 소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후, 소정의 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 움직임 추정부를 포함하는 것을 특징으로 하는 움직임 추정 장치. The subpixel is predicted by using the motion vectors of the plurality of previous data units, and when the subpixel included in the reference data unit represented by the predicted motion vector belongs to the reference image, If the pixel value of is obtained as it is and the subpixel is located outside the reference image, the basic reference value is the distance on the x-axis between one boundary of the base reference image near the subpixel and the subpixel. After all the pixel values of the reference data unit in the reference image are obtained by setting a value added or subtracted from the x coordinate of another boundary of the image to the x coordinate of the subpixel to obtain pixel values of the subpixel, Motion estimation for determining similarity between the current data unit and the reference data unit using a function Motion estimation apparatus comprising a unit. 제7항에 있어서, The method of claim 7, wherein 상기 움직임 추정부는, The motion estimation unit, 소정 탐색 범위 내에서 상기 현재 데이터 유닛과 가장 유사한 참조 데이터 유닛을 결정하고, 결정된 상기 참조 데이터 유닛을 나타내는 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 장치.And determining a reference data unit most similar to the current data unit within a predetermined search range, and determining a motion vector representing the determined reference data unit. 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 추정 장치에 있어서,In the motion estimation apparatus of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 추정을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상 및 현재 파노라마 영상에 포함된 현재 데이터 유닛에 인접한 복수의 이전 데이터 유닛들의 움직임 벡터들을 저장하는 메모리와,The left padding area of the base reference image for motion estimation of the current panoramic image is padded using a left boundary pixel value, the right padding area of the base reference image is padded using a right boundary pixel value, and then the padded image is padded. A memory for storing motion vectors of a plurality of previous data units adjacent to a current data unit included in the extended reference image and the current panoramic image; 상기 복수의 이전 데이터 유닛들의 상기 움직임 벡터들을 이용하여 상기 현 재 데이터 유닛의 움직임 벡터를 예측하고, 상기 예측된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후에, 소정의 평가 함수를 이용하여 상기 현재 데이터 유닛과 상기 참조 데이터 유닛의 유사도를 결정하는 움직임 추정부를 포함하는 것을 특징으로 하는 움직임 추정 장치. The motion vector of the current data unit is predicted using the motion vectors of the plurality of previous data units, and a subpixel included in a reference data unit represented by the predicted motion vector is added to the basic reference image of the reference image. A pixel value of the subpixel when the subpixel belongs, and a distance on the x-axis between one boundary of the base reference image near the subpixel and the subpixel when the subpixel belongs to the outside of the base reference image. Set the value added or subtracted from the x coordinate of another boundary of the base reference image to the x coordinate value of the subpixel to obtain the pixel value of the subpixel, thereby obtaining all the pixel values of the reference data unit in the reference image. After obtaining, the similarity of the current data unit and the reference data unit using a predetermined evaluation function Motion Estimation Motion estimation apparatus comprising: a unit for determining. 제9 항에 있어서, The method of claim 9, 상기 움직임 추정부는, The motion estimation unit, 상기 복수의 이전 데이터 유닛들 중 적어도 하나가 상기 현재 파노라마 영상의 왼쪽 경계 또는 오른쪽 경계의 바깥 쪽에 존재하면, 상기 현재 파노라마 영상의 왼쪽 경계와 오른쪽 경계를 연결하여 상기 현재 파노라마 영상이 원통형 영상인 것으로 가정하여, 상기 원통형 영상에서 상기 복수의 이전 데이터 유닛들을 결정하는 것을 특징으로 하는 움직임 추정 장치.If at least one of the plurality of previous data units exists outside the left boundary or the right boundary of the current panorama image, it is assumed that the current panorama image is a cylindrical image by connecting the left boundary and the right boundary of the current panorama image. And determine the plurality of previous data units in the cylindrical image. 제9 항에 있어서, The method of claim 9, 상기 움직임 추정부는, The motion estimation unit, 소정 탐색 범위 내에서 상기 현재 데이터 유닛과 가장 유사한 참조 데이터 유닛을 결정하고, 결정된 상기 참조 데이터 유닛을 나타내는 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 장치.And determining a reference data unit most similar to the current data unit within a predetermined search range, and determining a motion vector representing the determined reference data unit. 360도 전 방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 방법에 있어서,In the motion compensation method of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참조 영상으로 생성하는 단계와,The left padding region of the basic reference image for motion compensation of the current panoramic image is padded using the right boundary region, the right padding region of the basic reference image is padded using the left boundary region, and then the padded image is expanded. Generating as a reference image, 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받는 단계와Receiving a motion vector of a current data unit included in a current panorama image; 상기 현재 데이터 유닛의 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와,When the subpixel included in the reference data unit indicated by the motion vector of the current data unit belongs to the reference image, the pixel value of the subpixel is acquired as it is, and the subpixel is located outside the reference image. The distance on the x-axis between one boundary of the base reference image and the subpixel adjacent to the subpixel is added or subtracted from the x coordinate of the other boundary of the base reference image to be the x coordinate of the subpixel, Obtaining all pixel values of the reference data unit in the reference image by obtaining pixel values of the subpixel; 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재생하는 단계를 포함하는 것을 특징으로 하는 움직임 보상 방법. And reproducing the current data unit using the pixel values of the reference data unit. 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 방법에 있어서,In the motion compensation method of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 참조 영상을 생성하는 단계와,The left padding area of the base reference image for motion compensation of the current panoramic image is padded using a left boundary pixel value, the right padding area of the base reference image is padded using a right boundary pixel value, and then the padded image is padded. Generating a reference image by expanding; 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받는 단계와,Receiving a motion vector of a current data unit included in a current panorama image; 상기 현재 데이터 유닛의 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 참조 영상의 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻는 단계와,When the subpixel included in the reference data unit indicated by the motion vector of the current data unit belongs to the basic reference image of the reference image, the pixel value of the subpixel is obtained, and the subpixel is a basic reference image of the reference image. When the value falls outside of, the value on the x-axis between one boundary of the base reference image near the subpixel and the subpixel is added to or subtracted from the x coordinate of the other boundary of the base reference image. obtaining all pixel values of the reference data unit in the reference image by setting the x coordinate value to obtain pixel values of the subpixel; 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재 생하는 단계를 포함하는 것을 특징으로 하는 움직임 보상 방법. And reproducing the current data unit using the pixel values of the reference data unit. 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 장치에 있어서,In the motion compensation device of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 우측 경계부 영역을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 좌측 경계부 영역을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상을 저장하는 메모리와,The left padding region of the basic reference image for motion compensation of the current panoramic image is padded using the right boundary region, the right padding region of the basic reference image is padded using the left boundary region, and then the padded image is expanded. A memory for storing the generated reference image; 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받아, 상기 입력된 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상에 속하는 경우, 상기 부화소의 화소값을 그대로 획득하고, 상기 부화소가 상기 참조 영상의 바깥에 위치하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x좌표로 설정하여, 상기 부화소의 화소값을 획득함으로써 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후, 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재생하는 움직임 보상부를 포함하는 것을 특징으로 하는 움직임 보상 장치. If the subpixel included in the reference data unit indicated by the input motion vector belongs to the reference image, the motion vector of the current data unit included in the current panoramic image is received, and the pixel value of the subpixel is acquired as it is. If the subpixel is located outside the reference image, the distance on the x-axis between one boundary of the base reference image near the subpixel and the subpixel is determined by the x coordinate of the other boundary of the base reference image. By setting the value added or subtracted from to the x-coordinate of the sub-pixel to obtain the pixel value of the sub-pixel to obtain all the pixel values of the reference data unit in the reference image, and then use the pixel values of the reference data unit And a motion compensator for reproducing the current data unit. 360도 전방향 영상 정보를 포함하는 파노라마 영상의 움직임 보상 장치에 있 어서,In a motion compensation device of a panoramic image including 360-degree omnidirectional image information, 현재 파노라마 영상의 움직임 보상을 위한 기본 참조 영상의 좌측 패딩 영역에는 좌측 경계부 화소값을 이용하여 패딩하고, 상기 기본 참조 영상의 우측 패딩 영역에는 우측 경계부 화소값을 이용하여 패딩한 다음, 패딩된 영상을 확장하여 생성된 참조 영상을 저장하는 메모리와,The left padding area of the base reference image for motion compensation of the current panoramic image is padded using a left boundary pixel value, the right padding area of the base reference image is padded using a right boundary pixel value, and then the padded image is padded. A memory for storing the reference image generated by extension; 상기 현재 파노라마 영상에 포함된 현재 데이터 유닛의 움직임 벡터를 입력받아, 상기 현재 데이터 유닛의 움직임 벡터가 나타내는 참조 데이터 유닛에 포함된 부화소가 상기 참조 영상의 상기 기본 참조 영상에 속하는 경우 상기 부화소의 화소값을 획득하고, 상기 부화소가 상기 기본 참조 영상의 바깥에 속하는 경우, 상기 부화소에 가까이 있는 상기 기본 참조 영상의 하나의 경계와 상기 부화소간의 x축상에서의 거리를 상기 기본 참조 영상의 다른 경계의 x좌표에서 더하거나 뺀 값을 상기 부화소의 x 좌표값으로 설정하여, 상기 부화소의 화소값을 획득함으로써, 상기 참조 영상에서 상기 참조 데이터 유닛의 모든 화소값들을 얻은 후, 상기 참조 데이터 유닛의 화소값들을 이용하여 상기 현재 데이터 유닛을 재생하는 움직임 보상부를 포함하는 것을 특징으로 하는 움직임 보상 장치. When the subpixel included in the reference data unit indicated by the motion vector of the current data unit belongs to the basic reference image of the reference image, the motion vector of the current data unit included in the current panoramic image is input. When a pixel value is acquired and the subpixel belongs to the outside of the base reference image, the distance on the x-axis between one boundary of the base reference image near the subpixel and the subpixel is determined by the value of the base reference image. The reference data is obtained after all the pixel values of the reference data unit are obtained from the reference image by setting a value added or subtracted from the x coordinate of another boundary to the x coordinate value of the subpixel to obtain the pixel value of the subpixel. And a motion compensator for reproducing the current data unit using pixel values of the unit. A motion compensation device.
KR20050072968A 2004-08-13 2005-08-09 Motion estimation and compensation for panorama image KR100688383B1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US11/201,196 US7623682B2 (en) 2004-08-13 2005-08-11 Method and device for motion estimation and compensation for panorama image
AU2005272287A AU2005272287B2 (en) 2004-08-13 2005-08-13 Method and device for motion estimation and compensation for panorama image
CA2576690A CA2576690C (en) 2004-08-13 2005-08-13 Method and device for motion estimation and compensation for panorama image
EP05780538.4A EP1779662B1 (en) 2004-08-13 2005-08-13 Method and device for motion estimation and compensation for panorama image
JP2007525553A JP4846719B2 (en) 2004-08-13 2005-08-13 Panorama motion estimation and compensation
CN2005800274424A CN101010960B (en) 2004-08-13 2005-08-13 Method and device for motion estimation and compensation for panorama image
PCT/KR2005/002652 WO2006016788A1 (en) 2004-08-13 2005-08-13 Method and device for motion estimation and compensation for panorama image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20040063889 2004-08-13
KR1020040063889 2004-08-13

Publications (2)

Publication Number Publication Date
KR20060050350A KR20060050350A (en) 2006-05-19
KR100688383B1 true KR100688383B1 (en) 2007-03-02

Family

ID=37150009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050072968A KR100688383B1 (en) 2004-08-13 2005-08-09 Motion estimation and compensation for panorama image

Country Status (3)

Country Link
JP (1) JP4846719B2 (en)
KR (1) KR100688383B1 (en)
CN (1) CN101010960B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150010752A (en) * 2012-07-04 2015-01-28 인텔 코오퍼레이션 Panorama based 3d video coding
WO2019059679A1 (en) * 2017-09-20 2019-03-28 주식회사 케이티 Video signal processing method and device

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708183B1 (en) * 2005-09-26 2007-04-17 삼성전자주식회사 Image storing device for motion prediction, and method for storing data of the same
KR100800804B1 (en) * 2006-12-27 2008-02-04 삼성전자주식회사 Method for photographing panorama picture
KR100919247B1 (en) * 2008-03-12 2009-09-30 중앙대학교 산학협력단 Apparatus and method for panorama image generation and apparatus and method for object tracking using the same
US8958479B2 (en) * 2009-03-04 2015-02-17 Renesas Electronics Corporation Compressed dynamic image encoding device, compressed dynamic image decoding device, compressed dynamic image encoding method and compressed dynamic image decoding method
CN103888780B (en) * 2009-03-04 2017-06-16 瑞萨电子株式会社 Moving picture encoding device, dynamic image decoding device, motion image encoding method and dynamic image decoding method
US9083983B2 (en) * 2011-10-04 2015-07-14 Qualcomm Incorporated Motion vector predictor candidate clipping removal for video coding
JP5718438B2 (en) * 2013-11-28 2015-05-13 ルネサスエレクトロニクス株式会社 Compressed video encoding device, compressed video decoding device, compressed video encoding method, and compressed video decoding method
JP6445404B2 (en) * 2015-07-13 2018-12-26 日本電信電話株式会社 Encoding method and encoding program
JP6517609B2 (en) * 2015-07-13 2019-05-22 日本電信電話株式会社 Encoding method and encoding program
WO2017222301A1 (en) * 2016-06-21 2017-12-28 주식회사 픽스트리 Encoding apparatus and method, and decoding apparatus and method
KR20180000279A (en) * 2016-06-21 2018-01-02 주식회사 픽스트리 Apparatus and method for encoding, apparatus and method for decoding
CN106101698A (en) * 2016-06-30 2016-11-09 乐视控股(北京)有限公司 A kind of automatic broadcasting method judged based on image type and device
US10887621B2 (en) * 2016-07-08 2021-01-05 Vid Scale, Inc. 360-degree video coding using geometry projection
CN117768645A (en) 2016-10-04 2024-03-26 有限公司B1影像技术研究所 Image encoding/decoding method, recording medium, and method of transmitting bit stream
WO2018066991A1 (en) 2016-10-04 2018-04-12 김기백 Image data encoding/decoding method and apparatus
WO2018066992A1 (en) * 2016-10-04 2018-04-12 김기백 Image data encoding/decoding method and apparatus
WO2018066990A1 (en) * 2016-10-04 2018-04-12 김기백 Image data encoding/decoding method and apparatus
WO2018066989A1 (en) * 2016-10-04 2018-04-12 김기백 Image data encoding/decoding method and apparatus
US20190253624A1 (en) 2017-07-17 2019-08-15 Ki Baek Kim Image data encoding/decoding method and apparatus
KR102531386B1 (en) 2016-10-04 2023-05-12 주식회사 비원영상기술연구소 Image data encoding/decoding method and apparatus
WO2018066993A1 (en) * 2016-10-04 2018-04-12 김기백 Image data encoding/decoding method and apparatus
CN115802058B (en) 2016-10-04 2023-09-15 有限公司B1影像技术研究所 Image encoding/decoding method and computer-readable recording medium
EP3800891A1 (en) * 2016-10-04 2021-04-07 Ki Baek Kim Image data encoding/decoding method and apparatus
WO2018066987A1 (en) * 2016-10-04 2018-04-12 김기백 Image data encoding/decoding method and apparatus
US20190238888A1 (en) 2017-07-17 2019-08-01 Ki Baek Kim Image data encoding/decoding method and apparatus
WO2018066986A1 (en) * 2016-10-06 2018-04-12 김기백 Image data encoding/decoding method and apparatus
WO2018066984A1 (en) * 2016-10-06 2018-04-12 김기백 Image data encoding/decoding method and apparatus
WO2018066981A1 (en) * 2016-10-06 2018-04-12 김기백 Image data encoding/decoding method and apparatus
WO2018066985A1 (en) * 2016-10-06 2018-04-12 김기백 Image data encoding/decoding method and apparatus
KR20180057789A (en) * 2016-11-22 2018-05-31 광운대학교 산학협력단 Method and apparatus for omnidirectional security video coding in using methodd of effective transmission for motion vector difference
US20180160119A1 (en) 2016-12-01 2018-06-07 Mediatek Inc. Method and Apparatus for Adaptive Region-Based Decoding to Enhance User Experience for 360-degree VR Video
JP6922215B2 (en) 2016-12-27 2021-08-18 富士通株式会社 Video encoding device
KR20180080120A (en) * 2017-01-02 2018-07-11 주식회사 케이티 Method and apparatus for processing a video signal
KR102437108B1 (en) * 2017-01-13 2022-08-26 삼성전자주식회사 A method and apparatus for encoding or decoding a 360 degree image
JP2019161410A (en) * 2018-03-12 2019-09-19 キヤノン株式会社 Image encoding device, and control method and program therefor
WO2019181101A1 (en) 2018-03-19 2019-09-26 ソニー株式会社 Image processing device and image processing method
CN113014924A (en) * 2019-12-20 2021-06-22 中国电信股份有限公司 Video encoding method, server, apparatus, and computer-readable storage medium
CN114322839B (en) * 2020-09-28 2023-05-05 上海微电子装备(集团)股份有限公司 Method for detecting light spot contour

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331821A (en) 1998-05-11 1999-11-30 Toyo Commun Equip Co Ltd Monitoring system
JP2001359101A (en) 2000-06-09 2001-12-26 Toshiba Corp Flashback processing method and digital video signal processing unit and digital broadcast receiver employing this method
US6717608B1 (en) 1999-12-31 2004-04-06 Stmicroelectronics, Inc. Motion estimation for panoramic digital camera
KR20060015225A (en) * 2004-08-13 2006-02-16 경희대학교 산학협력단 Motion estimation and compensation for panorama image
US7064783B2 (en) 1999-12-31 2006-06-20 Stmicroelectronics, Inc. Still picture format for subsequent picture stitching for forming a panoramic image

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06351001A (en) * 1993-06-08 1994-12-22 Matsushita Electric Ind Co Ltd Motion vector detecting method and movement compensation predicting method and device therefor
DE69732865T2 (en) * 1996-01-29 2006-04-13 Matsushita Electric Industrial Co., Ltd., Kadoma Encoder with means for supplementing a digital image with picture elements
DE19648963C1 (en) * 1996-11-26 1998-04-30 Siemens Ag Method for image coding a digitized image, method for image decoding a digitized image and arrangement for carrying out the method
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
JPH11122618A (en) * 1997-10-15 1999-04-30 Mega Chips Corp Image coder
US6043838A (en) * 1997-11-07 2000-03-28 General Instrument Corporation View offset estimation for stereoscopic video coding
KR100285599B1 (en) * 1998-03-14 2001-04-02 전주범 Device and method for texture padding for motion estimation in alternate line encoding
JP4258879B2 (en) * 1999-03-08 2009-04-30 パナソニック株式会社 Image encoding method and apparatus, image decoding method and apparatus, and computer-readable recording medium storing a program for causing a computer to realize the image encoding method and the image decoding method
US6771304B1 (en) * 1999-12-31 2004-08-03 Stmicroelectronics, Inc. Perspective correction device for panoramic digital camera

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331821A (en) 1998-05-11 1999-11-30 Toyo Commun Equip Co Ltd Monitoring system
US6717608B1 (en) 1999-12-31 2004-04-06 Stmicroelectronics, Inc. Motion estimation for panoramic digital camera
US7064783B2 (en) 1999-12-31 2006-06-20 Stmicroelectronics, Inc. Still picture format for subsequent picture stitching for forming a panoramic image
JP2001359101A (en) 2000-06-09 2001-12-26 Toshiba Corp Flashback processing method and digital video signal processing unit and digital broadcast receiver employing this method
KR20060015225A (en) * 2004-08-13 2006-02-16 경희대학교 산학협력단 Motion estimation and compensation for panorama image

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150010752A (en) * 2012-07-04 2015-01-28 인텔 코오퍼레이션 Panorama based 3d video coding
KR101698657B1 (en) * 2012-07-04 2017-01-20 인텔 코포레이션 Panorama based 3d video coding
WO2019059679A1 (en) * 2017-09-20 2019-03-28 주식회사 케이티 Video signal processing method and device

Also Published As

Publication number Publication date
KR20060050350A (en) 2006-05-19
CN101010960A (en) 2007-08-01
JP4846719B2 (en) 2011-12-28
CN101010960B (en) 2011-01-12
JP2008510359A (en) 2008-04-03

Similar Documents

Publication Publication Date Title
KR100688383B1 (en) Motion estimation and compensation for panorama image
KR100677142B1 (en) Motion estimation and compensation for panorama image
CA2576690C (en) Method and device for motion estimation and compensation for panorama image
CN110419220B (en) Method and apparatus for image motion compensation
KR100700218B1 (en) Method and Device for making virtual image region for motion estimation and compensation of panorama image
JP6636615B2 (en) Motion vector field encoding method, decoding method, encoding device, and decoding device
KR102254986B1 (en) Processing of equirectangular object data to compensate for distortion by spherical projections
US20220038709A1 (en) Video Coding Based on Global Motion Compensated Motion Vectors
JP4494471B2 (en) Circular pixel reference pixel interpolation method, apparatus thereof, circular video encoding method, apparatus thereof, circular video decoding method, and apparatus thereof
KR101360279B1 (en) Method and apparatus for sharing motion information using global disparity estimation by macroblock unit, and method and apparatus for encoding/decoding multi-view video image using it
KR20090065401A (en) Method of inter-frame/intra block predictive coding in video coding
KR100688382B1 (en) Method for interpolating a reference pixel in annular picture, apparatus therefore, annular picture encoding method, apparatus therefore, annular picture decoding method and apparatus therefore
CN112997499A (en) Video coding based on globally motion compensated motion vector predictors
WO2020129681A1 (en) Encryption device and program
WO2006016783A1 (en) Method and device for motion estimation and compensation for panorama image
JP7201906B2 (en) Reference area determination device and program
KR100617177B1 (en) Motion estimation method
García et al. Estimation of non-planar rotation for video coding applications
Tourapis Optimization techniques for block based motion estimation in video coding

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180130

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190130

Year of fee payment: 13