KR102281037B1 - A method and an apparatus for extracting viewport - Google Patents

A method and an apparatus for extracting viewport Download PDF

Info

Publication number
KR102281037B1
KR102281037B1 KR1020190129415A KR20190129415A KR102281037B1 KR 102281037 B1 KR102281037 B1 KR 102281037B1 KR 1020190129415 A KR1020190129415 A KR 1020190129415A KR 20190129415 A KR20190129415 A KR 20190129415A KR 102281037 B1 KR102281037 B1 KR 102281037B1
Authority
KR
South Korea
Prior art keywords
region
coordinates
area
subdivided
viewport
Prior art date
Application number
KR1020190129415A
Other languages
Korean (ko)
Other versions
KR20210045871A (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 KR1020190129415A priority Critical patent/KR102281037B1/en
Publication of KR20210045871A publication Critical patent/KR20210045871A/en
Application granted granted Critical
Publication of KR102281037B1 publication Critical patent/KR102281037B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • G06K9/3233
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

본 발명에 따른 뷰포트 추출 방법은, 뷰포트(viewport)영역의 화소의 위치에 대한 좌표를 UV영역의 좌표로 변환하고, 변환된 UV영역 좌표에 대응하는 구 표면 좌표를 산출하며, 산출된 구 표면 좌표에 해당하는 영상 정보를 추출할 수 있다.The viewport extraction method according to the present invention converts coordinates for positions of pixels in a viewport area into coordinates in the UV area, calculates spherical surface coordinates corresponding to the converted UV area coordinates, and calculates the calculated spherical surface coordinates. It is possible to extract image information corresponding to .

Description

뷰포트(Viewport) 추출 방법 및 장치{A METHOD AND AN APPARATUS FOR EXTRACTING VIEWPORT}Viewport Extraction Method and Apparatus {A METHOD AND AN APPARATUS FOR EXTRACTING VIEWPORT}

본 발명은 뷰포트(Viewport) 추출 방법 및 장치에 관한 것이다.The present invention relates to a viewport extraction method and apparatus.

카메라의 성능이 좋아지고, 네트워크 대역폭이 증가함에 따라, 고해상도와 높은 대역폭을 요구하는 360 VR 영상의 수요 또한 늘고 있다. 360 VR 영상 시청을 위해서, 360 전체 영상의 일부분만을 선택적으로 출력하는 viewport가 필요하다. 360 VR 영상 정보는 3차원 공간상의 단위구 표면에 저장된다. 원하는 시점의 영상만을 viewport를 통하여 시청할 때, 원하는 시점, 원하는 시야각 (FOV; Field of view)을 설정 후 이에 맞게 단위 구 표면의 영상 정보를 구에 인접해 있는 평면에 투영하여 viewport로 영상정보 추출한다.As camera performance improves and network bandwidth increases, the demand for 360 VR video that requires high resolution and high bandwidth is also increasing. In order to view 360 VR video, a viewport that selectively outputs only a part of the entire 360 video is required. 360 VR image information is stored on the surface of a unit sphere in 3D space. When viewing only the image from the desired viewpoint through the viewport, after setting the desired viewpoint and the desired field of view (FOV), the image information of the unit sphere surface is projected onto the plane adjacent to the sphere to extract the image information through the viewport. .

통상적으로 사용하는 기존의 viewport 추출방법인 rectilinear 투영법은 평면을 이용하기에 viewport의 FOV가 커질수록 큰 시각적인 왜곡을 야기한다. Rectilinear projection, which is a conventional viewport extraction method commonly used, uses a plane, so the larger the FOV of the viewport, the greater the visual distortion.

KRUS 2018-00405072018-0040507 AA

본 발명은 곡면을 이용한 viewport 추출 방법을 사용하여 종래기술의 문제점을 해결하는 것에 목적이 있다.An object of the present invention is to solve the problems of the prior art by using a viewport extraction method using a curved surface.

본 발명은 뷰포트 추출에 있어서 영상 정보의 밀도가 고르게 분포하도록 좌표를 보정하는 것에 목적이 있다.An object of the present invention is to correct the coordinates so that the density of image information is evenly distributed in viewport extraction.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be able

본 발명에 따른 viewport 추출 방법 및 장치는, 뷰포트(viewport)영역의 화소의 위치에 대한 좌표를 UV영역의 좌표로 변환하고, 상기 변환된 UV영역 좌표에 대응하는 상기 구 표면 좌표를 산출하며, 상기 산출된 구 표면 좌표에 해당하는 영상 정보를 추출할 수 있다.A viewport extraction method and apparatus according to the present invention converts coordinates for a position of a pixel in a viewport area into coordinates in a UV area, calculates the spherical surface coordinates corresponding to the converted UV area coordinates, Image information corresponding to the calculated spherical surface coordinates may be extracted.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 UV영역은 영상 정보를 담고 있는 구 표면 좌표의 산출 시 이용되는 영역일 수 있다.In the viewport extraction method and apparatus according to the present invention, the UV region may be a region used when calculating spherical surface coordinates containing image information.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 UV영역은, 평면 또는 곡면일 수 있다. In the viewport extraction method and apparatus according to the present invention, the UV region may be a flat surface or a curved surface.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 곡면은, 상기 영상 정보를 담고 있는 구에 외접한 외부 구의 일부이고, 상기 외부 구의 반지름은, 상기 영상 정보를 담고 있는 구의 반지름 보다 크거나 같을 수 있다.In the viewport extraction method and apparatus according to the present invention, the curved surface is a part of an outer sphere circumscribed with the sphere containing the image information, and the radius of the outer sphere may be greater than or equal to the radius of the sphere containing the image information. there is.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 변환은, 상기 UV영역의 가로 및 세로 길이를 고려하지 않고, 상기 뷰포트 영역에서의 가로 방향 및 세로 방향의 화소의 개수만 고려하여 수행되고, 상기 UV영역의 가로 및 세로 길이는 상기 뷰포트 영역의 FOV(Field of view)를 고려하여 결정될 수 있다.In the viewport extraction method and apparatus according to the present invention, the conversion is performed by considering only the number of pixels in the horizontal direction and the vertical direction in the viewport area, without considering the horizontal and vertical lengths of the UV area, The horizontal and vertical lengths of the UV region may be determined in consideration of a field of view (FOV) of the viewport region.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 변환단계는, 상기 변환된 좌표를 보정하는 보정단계를 포함할 수 있다.In the viewport extraction method and apparatus according to the present invention, the conversion step may include a correction step of correcting the converted coordinates.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 보정단계는, 상기 UV영역을 적어도 2개의 영역으로 세분화하고, 상기 제1 세분화 영역의 좌표 간 거리를 상기 제2 세분화 영역의 좌표 간 거리보다 작도록 상기 제1 세분화 영역 또는 상기 제2 세분화 영역 중 적어도 하나의 좌표를 보정할 수 있다.In the viewport extraction method and apparatus according to the present invention, in the correction step, the UV region is subdivided into at least two regions, and the distance between the coordinates of the first subdivided region is smaller than the distance between the coordinates of the second subdivided region. to correct the coordinates of at least one of the first subdivided region and the second subdivided region.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 보정단계는 3차원 함수를 이용하여 수행되고, 상기 3차원 함수는, 상기 제1 세분화 영역에 적용되는 범위 내에서 상기 함수의 기울기는 1보다 작고, 상기 제2 세분화 영역에 적용되는 범위 내에서 상기 함수의 기울기는 1보다 클 수 있다.In the viewport extraction method and apparatus according to the present invention, the correction step is performed using a three-dimensional function, wherein the three-dimensional function has a slope of less than 1 within a range applied to the first subdivided area. , within a range applied to the second subdivided area, the slope of the function may be greater than 1.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 보정단계는, 상기 뷰포트 영역 또는 상기 UV영역의 크기가 문턱크기 이하인 경우, 상기 세분화된 영역들 중 적어도 일부 영역의 보정단계를 스킵할 수 있다.In the viewport extraction method and apparatus according to the present invention, in the correction step, when the size of the viewport area or the UV area is less than or equal to a threshold size, the correction step of at least some of the subdivided areas may be skipped.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 보정단계는, 가중치 및 오프셋 값을 적용하여 수행되고, 상기 가중치 및 상기 오프셋 값은, 상기 세분화된 영역 별로 같거나 다를 수 있다.In the viewport extraction method and apparatus according to the present invention, the correction step is performed by applying a weight and an offset value, and the weight and the offset value may be the same or different for each subdivided area.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 제1 영역은, 상기 UV영역의 중심을 기준으로 하는 원 또는 사각형의 형태일 수 있다. In the viewport extraction method and apparatus according to the present invention, the first area may be in the form of a circle or a rectangle based on the center of the UV area.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 산출단계는, 상기 변환된 UV영역을 상기 구 표면의 중심으로 정사영시키고, 상기 정사영된 UV영역의 좌표에 대응하는 상기 구 표면의 좌표를 산출할 수 있다.In the viewport extraction method and apparatus according to the present invention, the calculating step may include orthogonally projecting the converted UV region to the center of the spherical surface, and calculating the coordinates of the spherical surface corresponding to the coordinates of the orthographically projected UV region. can

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 화소의 위치는, 상기 화소들로 구성된 화소 그룹의 위치를 포함할 수 있다.In the viewport extraction method and apparatus according to the present invention, the position of the pixel may include a position of a pixel group composed of the pixels.

본 발명에 따른 viewport 추출 방법 및 장치에 있어서, 상기 화소 그룹의 위치는, 상기 화소 그룹 내 포함된 어느 한 화소의 위치 또는 상기 화소 그룹 내 포함된 복수개의 화소들의 평균값을 포함할 수 있다.In the viewport extraction method and apparatus according to the present invention, the position of the pixel group may include a position of any one pixel included in the pixel group or an average value of a plurality of pixels included in the pixel group.

본 발명에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 발명의 상세한 설명의 예시적인 양상일 뿐이며, 본 발명의 범위를 제한하는 것은 아니다.The features briefly summarized above with respect to the invention are merely exemplary aspects of the detailed description of the invention that follows, and do not limit the scope of the invention.

본 발명에 의하면, 곡면을 이용한 viewport 추출하여, FOV가 커질수록 커지는 시각적 왜곡을 줄일 수 있다.According to the present invention, by extracting a viewport using a curved surface, it is possible to reduce visual distortion that increases as the FOV increases.

본 발명에 의하면, 좌표를 보정하여, 추가적으로 남아있는 상기 시각적 왜곡을 줄일 수 있다. According to the present invention, by correcting the coordinates, it is possible to further reduce the remaining visual distortion.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned may be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. will be.

도 1은 Viewport 추출 방법의 순서도를 도시한 도면이다.
도 2은 Rectilinear 투영법을 이용한 평면에의 2D 투영 방법을 나타낸 도면이다.
도 3은 Stereographic 투영법을 이용한 평면에의 2D 투영 방법을 나타낸 도면이다.
도 4는 곡면을 사용하는 viewport 추출 방법의 모델을 나타내는 도면이다.
도 5는 곡면을 사용하는 viewport 추출 방법의 모델(도 4)의 단면을 나타내는 도면이다.
도 6는 보정단계에서 적용되는 정의역과 치역이 [0, 1]범위인 3차 함수를 나타내는 도면이다.
1 is a diagram illustrating a flowchart of a Viewport extraction method.
2 is a diagram illustrating a 2D projection method on a plane using a rectilinear projection method.
3 is a diagram illustrating a 2D projection method on a plane using a stereographic projection method.
4 is a diagram illustrating a model of a viewport extraction method using a curved surface.
5 is a diagram showing a cross section of a model ( FIG. 4 ) of a viewport extraction method using a curved surface.
6 is a diagram illustrating a cubic function having a domain and a range of [0, 1] applied in the correction step.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

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

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다 거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. Hereinafter, the same reference numerals are used for the same components in the drawings, and repeated descriptions of the same components are omitted.

사람의 시야각은 대략 120도 정도로 한정되어 있기 때문에, 사용자가 파노라믹 영상 또는 360도 영상 전체를 한번에 볼 수는 없다. 제한된 시야각으로 인해, 사용자는 파노라믹 영상 또는 360도 영상의 부분 영상만을 시청하게 된다. 파노라믹 영상 또는 360도 영상의 전체 영역 중 사용자의 시청 영역에 대응하는 부분 영상을 뷰 포트(View port)라 정의할 수 있다. Since a person's viewing angle is limited to about 120 degrees, the user cannot view the panoramic image or the entire 360-degree image at once. Due to the limited viewing angle, the user only views a panoramic image or a partial image of a 360-degree image. A partial image corresponding to the user's viewing area among the entire area of the panoramic image or 360-degree image may be defined as a view port.

뷰 포트는 유동성에 따라, 정적 뷰 포트(Static View port) 및 동적 뷰 포트(Dynamic View port)로 분류될 수 있다. 정적 뷰 포트는 위치 변화가 없는 뷰 포트를 의미하고, 동적 뷰 포트는 사용자의 시선이 변화함에 따라 위치가 변하는 뷰 포트를 의미한다. 360도 영상의 전체에 대해 정적 뷰 포트를 사용하는 경우는 드물고, 대부분 사용자의 시선 움직임에 따라 위치가 변화하는 동적 뷰 포트를 사용한다.The view port may be classified into a static view port and a dynamic view port according to flexibility. A static view port means a view port that does not change position, and a dynamic view port means a view port whose position changes as the user's gaze changes. It is rare to use a static viewport for the entire 360-degree image, and most use a dynamic viewport whose position changes according to the user's gaze movement.

파노라믹 영상은 복수의 영상을 스티칭하여 생성된 영상일 수 있다. 상기 복수의 영상은 복수의 카메라로 각각 촬영된 영상일 수 있다. 카메라로 촬영된 영상은 카메라의 화각에 따라 시야가 제한되기 때문이다.The panoramic image may be an image generated by stitching a plurality of images. The plurality of images may be images captured by a plurality of cameras, respectively. This is because the field of view of the image captured by the camera is limited according to the angle of view of the camera.

360도 영상은 상기 파노라믹 영상 중 소정의 중심축을 기준으로 회전 자유도(Degree of Freedom)를 갖는 영상일 수 있다. 예컨대, 360도 영상은 Yaw, Roll, Pitch 중 적어도 하나에 대한 회전 자유도를 갖는 영상일 수 있다.The 360-degree image may be an image having a degree of freedom of rotation based on a predetermined central axis among the panoramic images. For example, the 360-degree image may be an image having rotation degrees of freedom for at least one of Yaw, Roll, and Pitch.

후술되는 실시예는, 360도 영상을 중심으로 설명할 것이나, 360도 영상이 아닌 파노라믹 영상에도 후술되는 실시예를 적용하는 것은 본 발명의 기술적 범주에 포함된다 할 것이다.Embodiments to be described later will be described with a focus on a 360-degree image, but applying the embodiments described later to a panoramic image other than a 360-degree image will be included in the technical scope of the present invention.

도 1은 Viewport 추출 방법의 순서도를 도시한 도면이다.1 is a diagram illustrating a flowchart of a Viewport extraction method.

도 1을 참조하면, viewport 추출 방법은 뷰포트(viewport)영역의 화소의 위치에 대한 좌표를 UV영역의 좌표로 변환하는 변환단계(S100); 상기 변환된 UV영역의 좌표에 대응하는 구 표면 좌표를 산출하는 산출단계(S101); 및 상기 산출된 구 표면 좌표에 해당하는 영상 정보를 추출하는 추출단계(S102) 중 적어도 하나를 포함할 수 있다.Referring to FIG. 1 , the viewport extraction method includes a transformation step (S100) of converting coordinates for positions of pixels in a viewport region into coordinates in a UV region; a calculation step (S101) of calculating spherical surface coordinates corresponding to the coordinates of the converted UV region; And it may include at least one of the extraction step (S102) of extracting the image information corresponding to the calculated spherical surface coordinates.

상기 뷰포트 추출 방법은, 영상의 부호화/복호화 장치에 적용될 경우, 360도 영상의 투영 및 역투영 과정을 모두 거쳐 복호화된 구의 형태의 360도 영상으로부터 뷰포트 영상을 추출하는데 적용될 수 있다.When the viewport extraction method is applied to an apparatus for encoding/decoding an image, it may be applied to extract a viewport image from a 360-degree image in the form of a sphere decoded through both projection and back-projection of the 360-degree image.

이하, 뷰포트(viewport) 영역의 화소의 위치에 대한 좌표를 UV영역의 좌표로 변환하는 변환단계(S100)를 설명한다.Hereinafter, a transformation step (S100) of converting coordinates for positions of pixels in a viewport region into coordinates in a UV region will be described.

상기 좌표는 2D의 직교 좌표계일 수 있다.The coordinates may be a 2D Cartesian coordinate system.

상기 화소의 위치에 대한 좌표는 하나의 화소에 대한 좌표 또는 화소 그룹의 좌표를 포함한다. 상기 화소 그룹의 좌표는 해당 화소 그룹의 화소들 중 최 좌/우/상/하측, 좌상단에 위치한 화소, 우하단에 위치한 화소, 중앙에 위치한 화소의 좌표, 또는 화소 그룹 내의 화소 좌표들의 평균값 등을 포함할 수 있다. 상기 평균값은 동일한 가중치 기반의 평균값으로 계산된 값이거나 화소 별 상이한 가중치 기반의 평균값으로 계산된 값일 수 있다. 여기서, 상이한 가중치는, 화소 거리/위치를 고려하여 결정될 수 있다. 또한, 상기 화소 위치에 대한 좌표는 하나의 좌표를 기준으로 하는 벡터 좌표일 수 있다.The coordinates for the positions of the pixels include coordinates for one pixel or coordinates for a group of pixels. The coordinates of the pixel group include the coordinates of the leftmost/right/top/bottom, the upper-left pixel, the lower-right pixel, the central pixel among the pixels of the corresponding pixel group, or the average value of the pixel coordinates in the pixel group. may include The average value may be a value calculated as an average value based on the same weight or a value calculated as an average value based on a different weight for each pixel. Here, the different weights may be determined in consideration of the pixel distance/position. Also, the coordinates of the pixel positions may be vector coordinates based on one coordinate.

일 예로, 뷰포트 영역 내 9개의 화소가 정사각형 모양으로 하나의 그룹을 이루거나, 뷰포트 영역 내 5개의 화소가 마름모 모양으로 하나의 그룹을 이루고 있는 경우, 상기 그룹 내 가운데 화소의 좌표가 화소 그룹의 좌표가 될 수 있다.For example, when 9 pixels in the viewport area form a group in a square shape or when 5 pixels in the viewport area form a group in a rhombus shape, the coordinates of the central pixel in the group are the coordinates of the pixel group. can be

일 예로, 뷰포트 영역의 하나의 행 또는 열이 하나의 그룹을 이루고 있는 경우, 상기 그룹의 최 좌/우측 또는 중앙에 있는 화소의 좌표가 상기 그룹의 좌표가 될 수 있다. 또한, 상기 행 또는 열의 화소들의 좌표에 거리에 따른 가중치를 곱한 후 평균값으로 계산된 좌표가 상기 그룹의 좌표가 될 수 있다.For example, when one row or column of the viewport area forms one group, the coordinates of the pixels at the left/right or center of the group may be the coordinates of the group. In addition, coordinates calculated as an average value after multiplying the coordinates of the pixels in the row or column by a weight according to the distance may be the coordinates of the group.

상기 UV영역은 영상 정보가 담긴 구 표면을 투영하기 위한 별도의 영역일 수 있다. 상기 영역은 곡면 또는 평면의 형태를 가질 수 있다. 상기 평면 또는 곡면은 삼각형, 사각형 등의 다각형 또는 원의 모양을 가질 수 있다. 또한, 상기 다각형의 적어도 하나의 선이 곡선인 모양을 가질 수 있다. 구체적으로, 곡면 형태의 경우, 상기 모양들은 영상 정보가 담긴 구의 방향 또는 그 반대 방향으로 휘어진 형태를 가질 수 있다. 또한, 평면 형태의 경우, 상기 모양들은 어느 방향으로도 휘어지지 않은 펼쳐진 형태를 가질 수 있다. The UV region may be a separate region for projecting a spherical surface containing image information. The region may have a curved or flat shape. The flat or curved surface may have a polygonal shape such as a triangle or a quadrangle or a circle shape. Also, at least one line of the polygon may have a curved shape. Specifically, in the case of a curved shape, the shapes may have a curved shape in the direction of the sphere containing the image information or the opposite direction. Also, in the case of a planar shape, the shapes may have an unfolded shape that is not bent in any direction.

구체적으로, 상기 곡면은 영상 정보를 포함하는 구의 외부 구의 일부일 수 있다. 이 경우, 외부 구의 반지름은 r로 영상 정보를 포함하는 구의 반지름보다 크거나 같을 수 있다. 예를 들어, 영상 정보를 포함하는 구가 단위 구인 경우 상기 r은 1보다 크거나 같을 수 있다.Specifically, the curved surface may be a part of the outer sphere of the sphere including the image information. In this case, the radius of the outer sphere is r, which may be greater than or equal to the radius of the sphere including the image information. For example, when a sphere including image information is a unit sphere, r may be greater than or equal to 1.

상기 UV영역은 영상 정보를 포함하는 구 표면에 외접하거나 소정의 거리만큼 떨어져 있을 수 있다. 상기 소정의 거리는 영상 정보를 포함하는 구의 반지름의 n배의 거리에 해당할 수 있으며, 상기 n은 1,2,3, 또는 그 이상의 자연수를 포함할 수 있다.The UV region may circumscribe the surface of the sphere including the image information or may be spaced apart by a predetermined distance. The predetermined distance may correspond to a distance n times the radius of the sphere including the image information, and n may include 1, 2, 3, or more natural numbers.

일 예로, 도 2, 3을 참조하면, UV영역은 사각형 모양을 가지는 평면의 형태이고, 영상 정보를 포함하는 구 표면에 외접하고 있다. For example, referring to FIGS. 2 and 3 , the UV region is in the form of a plane having a rectangular shape and circumscribes a sphere surface including image information.

일 예로, 도 4를 참조하면, UV영역은 사각형 모양을 가지는 곡면의 형태이고, 영상 정보를 포함하는 구 표면에 외접하고 있으며, 상기 영상 정보를 포함하는 구의 반지름 보다 큰 외부 구의 일부를 구성하고 있다. 여기서, 외부 구의 r은 1보다 크다.As an example, referring to FIG. 4 , the UV region is in the form of a curved surface having a rectangular shape, circumscribes the surface of the sphere containing the image information, and constitutes a part of the outer sphere larger than the radius of the sphere containing the image information. . Here, r of the outer sphere is greater than 1.

상기 UV영역의 형태, 모양, 위치, 또는 크기는 기-약속된 고정된 형태, 모양, 위치, 또는 크기일 수 있다. 또한, 상기 영역의 형태, 모양, 위치, 또는 크기는 UV영역에 관련된 정보로부터 가변적으로 결정될 수 있다. 상기 UV영역에 관련된 정보는 가로 또는 세로 방향의 FOV(Field of View), 뷰포트 영역의 크기 또는 형태, 뷰포트 영역의 화소 또는 화소 그룹의 개수, 영상 정보의 종류, 영상 정보의 데이터의 양 또는 밀도, 후술할 viewport 투영 기법 등을 포함할 수 있다. 여기서, 상기 크기는 너비, 높이, 또는 너비와 높이의 비율을 포함할 수 있다. 상기 UV영역에 관련된 정보 전부 또는 일부는 영상 부호화 장치에서 부호화되어 시그날링되거나, 사용자 입력에 의해 결정될 수도 있다. The shape, shape, location, or size of the UV region may be a predetermined fixed shape, shape, location, or size. In addition, the shape, shape, location, or size of the region may be variably determined from information related to the UV region. The information related to the UV region includes a horizontal or vertical field of view (FOV), the size or shape of the viewport region, the number of pixels or pixel groups in the viewport region, the type of image information, the amount or density of image information, A viewport projection technique, which will be described later, may be included. Here, the size may include a width, a height, or a ratio of the width to the height. All or part of the information related to the UV region may be encoded and signaled by an image encoding apparatus, or may be determined by a user input.

예를 들면, UV영역의 크기는 뷰포트 영역의 크기와 같을 수 있다. 이와 달리, UV영역의 크기는 뷰포트 영역의 크기와 다를 수도 있다. 상기 크기가 서로 다른 경우, UV영역의 크기는 뷰포트 영역의 너비 및 높이의 비율과 같은 비율 가지는 크기로 설정될 수 있다.For example, the size of the UV region may be the same as the size of the viewport region. Alternatively, the size of the UV region may be different from the size of the viewport region. When the sizes are different from each other, the size of the UV region may be set to a size having the same ratio as the ratio of the width and height of the viewport region.

예를 들면, 상기 가로 또는 세로 방향의 FOV가 서로 같은 경우, UV영역의 모양은 정다면체 또는 원의 모양을 가질 수 있다. 구체적으로, 상기 다각형이 사각형인 경우, UV영역의 모양은 정사각형의 모양을 가질 수 있다. 이와 달리, 가로 또는 세로 방향의 FOV가 서로 다른 경우, UV영역의 모양은 상기 FOV 비율에 따른 모양을 가질 수 있다. 구체적으로, 상기 다각형이 사각형인 경우, UV영역의 모양은 FOV 비율과 같은 너비 및 높이의 비율을 가지는 직사각형의 모양을 가질 수 있다.For example, when the FOVs in the horizontal or vertical directions are the same, the shape of the UV region may be a regular polyhedron or a circle shape. Specifically, when the polygon is a quadrangle, the shape of the UV region may have a square shape. On the other hand, when the FOVs in the horizontal or vertical directions are different from each other, the shape of the UV region may have a shape according to the FOV ratio. Specifically, when the polygon is a quadrilateral, the shape of the UV region may have a rectangular shape having the same width and height ratio as the FOV ratio.

좌표의 변환은, UV영역이 평면인 경우 제1 수학식에 의해 계산되고, UV영역이 곡면인 경우 제2 수학식에 의해 계산되는 것을 포함할 수 있다. 다만, 이에 한정되지 않으며, 곡면의 경우도 제1 수학식에 의해 계산될 수 있고, 평면의 경우도 제2 수학식에 의해 계산될 수 있다. 또는, UV영역의 일부는 제1 수학식에 의해 계산되고, 다른 일부는 제2 수학식에 의해 계산될 수도 있다. 예를 들어, 제1 수학식과 제2 수학식은 다음 수학식 1과 수학식 2와 같이 정의될 수 있다.The transformation of the coordinates may include calculating by the first equation when the UV region is a flat surface, and calculating by the second equation when the UV region is a curved surface. However, the present invention is not limited thereto, and a curved surface may be calculated by the first equation, and a flat surface may be calculated by the second equation. Alternatively, a part of the UV region may be calculated by the first equation, and the other part may be calculated by the second equation. For example, the first Equation and the second Equation may be defined as Equations 1 and 2 below.

Figure 112019106190933-pat00001
Figure 112019106190933-pat00001

Figure 112019106190933-pat00002
Figure 112019106190933-pat00002

Figure 112019106190933-pat00003
Figure 112019106190933-pat00003

Figure 112019106190933-pat00004
Figure 112019106190933-pat00004

여기서,

Figure 112019106190933-pat00005
,
Figure 112019106190933-pat00006
는 UV영역의 가로, 세로 길이이며,
Figure 112019106190933-pat00007
,
Figure 112019106190933-pat00008
는 뷰포트 영역의 가로방향, 세로방향 화소의 개수이다. (u,v)는 UV영역의 좌표, (m,n)은 뷰포트 영역의 좌표이다.here,
Figure 112019106190933-pat00005
,
Figure 112019106190933-pat00006
is the horizontal and vertical length of the UV area,
Figure 112019106190933-pat00007
,
Figure 112019106190933-pat00008
is the number of horizontal and vertical pixels in the viewport area. (u,v) is the coordinates of the UV area, and (m,n) is the coordinates of the viewport area.

상기 수학식 1의

Figure 112019106190933-pat00009
,
Figure 112019106190933-pat00010
는 투영 기법에 따라 다른 값을 가질 수 있다. of Equation 1 above
Figure 112019106190933-pat00009
,
Figure 112019106190933-pat00010
may have different values depending on the projection technique.

일 예로, 도 2는 Rectilinear 투영법이 이용되는 경우로,

Figure 112019106190933-pat00011
,
Figure 112019106190933-pat00012
는 아래 수학식 3에 의해 정의될 수 있다.As an example, FIG. 2 shows a case in which a Rectilinear projection is used,
Figure 112019106190933-pat00011
,
Figure 112019106190933-pat00012
may be defined by Equation 3 below.

Figure 112019106190933-pat00013
Figure 112019106190933-pat00013

여기서,

Figure 112019106190933-pat00014
Figure 112019106190933-pat00015
는 각각 viewport의 가로방향, 세로방향에 대한 FOV(Field of view)이다.here,
Figure 112019106190933-pat00014
Wow
Figure 112019106190933-pat00015
is the FOV (Field of View) for the horizontal and vertical directions of the viewport, respectively.

일 예로, 도 3은 Stereographic 투영법이 이용되는 경우로,

Figure 112019106190933-pat00016
,
Figure 112019106190933-pat00017
는 아래 수학식 4에 의해 정의될 수 있다.As an example, FIG. 3 is a case in which stereographic projection is used,
Figure 112019106190933-pat00016
,
Figure 112019106190933-pat00017
may be defined by Equation 4 below.

Figure 112019106190933-pat00018
Figure 112019106190933-pat00018

여기서,

Figure 112019106190933-pat00019
Figure 112019106190933-pat00020
는 각각 viewport의 가로방향, 세로방향에 대한 FOV(Field of view)이다.here,
Figure 112019106190933-pat00019
Wow
Figure 112019106190933-pat00020
is the FOV (Field of View) for the horizontal and vertical directions of the viewport, respectively.

이하, 상기 변환된 UV영역 좌표에 대응하는 구 표면 좌표를 산출하는 산출단계(S101)를 설명한다.Hereinafter, the calculation step (S101) of calculating the spherical surface coordinates corresponding to the converted UV region coordinates will be described.

상기 구 표면 좌표는 3D XYZ 좌표계의 좌표일 수 있다. 3D XYZ 좌표계는 X, Y, Z축과 반지름 길이가 1인 단위 구로 구성될 수 있다. 여기서, 단위 구는 해당 표면에 360도 영상 정보를 포함할 수 있다. The spherical surface coordinates may be coordinates of a 3D XYZ coordinate system. The 3D XYZ coordinate system may consist of a unit sphere with X, Y, and Z axes and a radius length of 1. Here, the unit sphere may include 360-degree image information on the corresponding surface.

상기 단위 구 표면 한 점은 경도(φ)와 위도(θ)로 표현될 수 있다. 상기 경도(φ)는 X축을 기준으로 반시계 방향으로의 각도를 표현할 수 있고, 그 범위는 [-π, π]일 수 있다. 상기 위도(θ)는 적도에서 Y축을 향한 각도를 표현할 수 있고, 그 범위는 [-π/2, π/2]일 수 있다. 3D XYZ 좌표계의 단위 구 표면위의 한 점의 좌표 (X, Y, Z)와 (φ, θ)는 아래 수학식 5과 같은 관계를 갖는다.One point on the surface of the unit sphere may be expressed by longitude (φ) and latitude (θ). The hardness φ may represent an angle in a counterclockwise direction with respect to the X axis, and the range may be [-π, π]. The latitude θ may represent an angle from the equator toward the Y axis, and the range may be [-π/2, π/2]. The coordinates (X, Y, Z) and (φ, θ) of a point on the surface of the unit sphere of the 3D XYZ coordinate system have the same relationship as in Equation 5 below.

Figure 112019106190933-pat00021
Figure 112019106190933-pat00021

Figure 112019106190933-pat00022
Figure 112019106190933-pat00022

게다가, (X, Y, Z) 좌표는 뷰포트 영역의 중심이 되는 시점의 위도 및 경도(

Figure 112019106190933-pat00023
,
Figure 112019106190933-pat00024
)에 따라 전환될 수 있다. 구체적으로, 상기 전환은 아래 수학식 6에 의해 수행될 수 있다.Furthermore, the (X, Y, Z) coordinates are the latitude and longitude (
Figure 112019106190933-pat00023
,
Figure 112019106190933-pat00024
) can be converted according to Specifically, the conversion may be performed by Equation 6 below.

Figure 112019106190933-pat00025
Figure 112019106190933-pat00025

Figure 112019106190933-pat00026
Figure 112019106190933-pat00026

여기서, (X', Y', Z')는 (X, Y, Z)가 전환된 좌표이다.Here, (X', Y', Z') is the converted coordinate of (X, Y, Z).

상기 구 표면의 좌표 산출은, 상기 구 표면을 UV영역에 투영하여 상기 UV영역 좌표에 대응하는 투영된 구 표면의 좌표를 얻는 것을 포함할 수 있다.Calculating the coordinates of the spherical surface may include obtaining coordinates of the projected spherical surface corresponding to the coordinates of the UV region by projecting the spherical surface to the UV region.

상기 투영은, Rectilinear 투영법 또는 Stereographic 투영법을 포함할 수 있다.The projection may include a rectilinear projection or a stereographic projection.

상기 투영 기법의 결정은 기-약속된 고정된 기법에 의해 결정되거나, 투영 관련 정보에 의해 가변적으로 결정될 수 있다. 상기 투영 관련 정보는 전술한 파라미터 중 적어도 하나에 기초하여 결정될 수 있다. 전술한 파라미터는, 가로 방향 또는 세로방향의 FOV(Field of View), 뷰포트 영역의 크기 또는 형태, 뷰포트 영역의 화소 또는 화소 그룹의 개수, UV영역의 형태, 모양, 위치, 또는 크기, 영상 정보의 종류, 영상 정보의 데이터의 양 또는 밀도 중 적어도 하나를 포함할 수 있다.The determination of the projection technique may be determined by a predetermined fixed technique, or may be variably determined based on projection-related information. The projection-related information may be determined based on at least one of the aforementioned parameters. The above-mentioned parameters include a field of view (FOV) in the horizontal or vertical direction, the size or shape of the viewport area, the number of pixels or pixel groups in the viewport area, the shape, shape, position, or size of the UV area, and image information. It may include at least one of a type and an amount or density of data of image information.

도 2는 Rectilinear 투영법을 이용한 평면에의 2D 투영 방법을 나타낸 도면이다.2 is a diagram illustrating a 2D projection method on a plane using a rectilinear projection method.

Rectilinear 투영법은 구의 점을 2D 영역에 수선의 발을 내려 정사영시켜 투영하는 방법이다. 상기 방법에 따라, 2D 영역의 좌표 (u, v)와 3D 구의 좌표 (X, Y, Z)는 아래 수학식 7와 같은 관계를 가질 수 있다.Rectilinear projection is a method of projecting the point of a sphere by orthographically projecting the point of the waterline down to the 2D area. According to the above method, the coordinates (u, v) of the 2D area and the coordinates (X, Y, Z) of the 3D sphere may have a relationship as in Equation 7 below.

Figure 112019106190933-pat00027
Figure 112019106190933-pat00027

Figure 112019106190933-pat00028
Figure 112019106190933-pat00028

여기서,

Figure 112019106190933-pat00029
,
Figure 112019106190933-pat00030
는 UV영역의 가로, 세로 길이이고, 앞서 설명한 수학식 3에 의해 계산될 수 있다. 또한,
Figure 112019106190933-pat00031
,
Figure 112019106190933-pat00032
는 뷰포트 영역의 가로방향, 세로방향 화소의 개수이다.here,
Figure 112019106190933-pat00029
,
Figure 112019106190933-pat00030
is the horizontal and vertical lengths of the UV region, and can be calculated by Equation 3 described above. also,
Figure 112019106190933-pat00031
,
Figure 112019106190933-pat00032
is the number of horizontal and vertical pixels in the viewport area.

도 3은 Stereographic 투영법을 이용한 평면에의 2D 투영 방법을 나타낸 도면이다.3 is a diagram illustrating a 2D projection method on a plane using a stereographic projection method.

Stereographic 투영법은 2D 영역의 좌표 (u, v)와 3D 구의 좌표 (X, Y, Z)가 아래의 수학식 8과 같은 관계를 가지는 것을 말한다. Stereographic projection refers to a relationship between the coordinates (u, v) of the 2D area and the coordinates (X, Y, Z) of the 3D sphere as shown in Equation 8 below.

Figure 112019106190933-pat00033
Figure 112019106190933-pat00033

Figure 112019106190933-pat00034
Figure 112019106190933-pat00034

여기서,

Figure 112019106190933-pat00035
,
Figure 112019106190933-pat00036
는 UV영역의 가로, 세로 길이이고, 앞서 설명한 수학식 4에 의해 계산될 수 있다.here,
Figure 112019106190933-pat00035
,
Figure 112019106190933-pat00036
is the horizontal and vertical lengths of the UV region, and can be calculated by Equation 4 described above.

도 4는 곡면을 사용하는 viewport 추출 방법의 모델이고, 도 5는 곡면을 사용하는 viewport 추출 방법의 모델(도 4)의 단면을 나타내는 도면이다.4 is a model of a viewport extraction method using a curved surface, and FIG. 5 is a diagram illustrating a cross-section of a model ( FIG. 4 ) of a viewport extraction method using a curved surface.

도 4, 5를 참조하여, 이하, Rectilinear 투영법을 이용한 곡면에의 2D 투영 방법을 설명한다. A 2D projection method on a curved surface using a Rectilinear projection method will be described below with reference to FIGS. 4 and 5 .

먼저, 도 4를 참조하면, 곡면 ABCD는 단위 구와 외접해 있는 외부 구의 일부이고, 외부 구의 반지름은 r이며, 외부 구의 중심은 Z축을 따라 r만큼 떨어져 있는 O'이다. 또한, 외부 구는 수학식 9와 같은 방정식으로 표현된다.First, referring to FIG. 4 , the curved surface ABCD is a part of the outer sphere circumscribed with the unit sphere, the radius of the outer sphere is r, and the center of the outer sphere is O' separated by r along the Z axis. In addition, the outer sphere is expressed by the equation shown in Equation (9).

Figure 112019106190933-pat00037
Figure 112019106190933-pat00037

도 5를 참조하면, Rectilinear 투영법을 이용한 곡면에의 2D 투영 방법은 2D 영역의 좌표 (u, v)와 3D 구의 좌표 (X, Y, Z)가 아래의 수학식 10와 같은 관계를 가질 수 있다.Referring to FIG. 5 , in the 2D projection method on a curved surface using the rectilinear projection method, the coordinates (u, v) of the 2D area and the coordinates (X, Y, Z) of the 3D sphere may have a relationship as in Equation 10 below. .

Figure 112019106190933-pat00038
Figure 112019106190933-pat00038

Figure 112019106190933-pat00039
Figure 112019106190933-pat00039

여기서,

Figure 112019106190933-pat00040
,
Figure 112019106190933-pat00041
는 아래의 수학식 11에 의해 정의될 수 있다.here,
Figure 112019106190933-pat00040
,
Figure 112019106190933-pat00041
may be defined by Equation 11 below.

Figure 112019106190933-pat00042
Figure 112019106190933-pat00042

Figure 112019106190933-pat00043
Figure 112019106190933-pat00043

여기서,

Figure 112019106190933-pat00044
는 Viewport의 세로방향 FOV이고,
Figure 112019106190933-pat00045
은 외부 구의 중점 O'을 기준으로 하는 세로방향 각도이다.here,
Figure 112019106190933-pat00044
is the vertical FOV of the viewport,
Figure 112019106190933-pat00045
is the longitudinal angle with respect to the midpoint O' of the outer sphere.

상기 산출된 구 표면 좌표에 해당하는 영상 정보를 추출하는 추출단계(S102)는 뷰포트 영역에 해당 뷰포트 영역 좌표 각각에 매칭되는 구 표면 영상 정보를 불러오는 것을 말한다.The extraction step (S102) of extracting the image information corresponding to the calculated spherical surface coordinates refers to loading the spherical surface image information matching each of the corresponding viewport region coordinates into the viewport region.

상기 변환단계(S100)는, 변환된 좌표를 보정하는 보정단계를 더 포함할 수 있다.The transformation step (S100) may further include a correction step of correcting the transformed coordinates.

보정단계는, 전술한 파라미터 중 적어도 하나에 기초하여 선택적으로 수행될 수 있다. 예를 들어, 뷰포트 영역(또는 UV영역)의 크기가 소정의 문턱크기 이하인 경우에는 보정단계를 스킵하고, 그렇지 않은 경우에는 보정단계를 수행할 수 있다. 상기 문턱크기는 영상 부호화/복호화 장치에 기-정의된 값일 수도 있고, 영상 부호화 장치는 최적의 문턱크기를 결정하고, 이를 부호화할 수 있다. 부호화된 문턱크기는 좌표 보정이 허용되는 최소/최대 크기를 의미할 수 있다. 또는, UV영역의 타입이 평면인 경우에는 보정단계를 스킵하고, UV영역의 타입이 곡면인 경우에는 보정단계를 수행할 수 있다.The correction step may be selectively performed based on at least one of the above-described parameters. For example, if the size of the viewport area (or UV area) is less than or equal to a predetermined threshold size, the correction step may be skipped. Otherwise, the correction step may be performed. The threshold size may be a value pre-defined in the image encoding/decoding apparatus, and the image encoding apparatus may determine an optimal threshold size and encode it. The encoded threshold size may mean a minimum/maximum size for which coordinate correction is allowed. Alternatively, when the type of the UV region is a flat surface, the correction step may be skipped, and if the type of the UV region is a curved surface, the correction step may be performed.

UV영역의 전부에 대해서 보정단계가 수행될 수도 있고, UV영역의 일부에 대해서만 보정단계가 수행될 수도 있다. 여기서, 일부는, UV영역의 중심 영역 또는 UV영역 내 가장자리 영역을 의미할 수 있다. 또는, 일부는, UV영역의 좌/우측 가장자리 영역으로 한정될 수도 있고, 상/하단 가장자리 영역으로 한정될 수도 있다. 또는, 일부는, UV영역의 각 코너 영역(예를 들어, 좌상단, 좌하단, 우상단, 우하단) 중 적어도 하나로 한정될 수도 있다. 상기 가장자리 영역은, UV영역의 경계로부터 T개의 화소 라인을 포함하며, T는 1, 2, 3, 4, 5 또는 그 이상의 정수일 수 있다. 가장자리의 위치에 따라, 가장자리 영역에 속한 화소 라인의 개수가 상이할 수도 있다. 예를 들어, 보정단계가 수행되는 좌/우측 가장자리 영역이 상/하단 가장자리 영역보다 더 많은 화소 라인을 포함할 수 있다.The correction step may be performed for all of the UV region, or the correction step may be performed only for a part of the UV region. Here, the part may mean a central region of the UV region or an edge region within the UV region. Alternatively, a portion may be limited to the left/right edge region of the UV region, or may be limited to the upper/bottom edge region. Alternatively, the portion may be limited to at least one of each corner region (eg, upper left, lower left, upper right, lower right) of the UV region. The edge region includes T pixel lines from the boundary of the UV region, and T may be an integer of 1, 2, 3, 4, 5 or more. Depending on the position of the edge, the number of pixel lines included in the edge region may be different. For example, the left/right edge area where the correction step is performed may include more pixel lines than the upper/lower edge area.

보정을 위해, UV영역은 크게 중심 영역과 가장자리 영역으로 구분될 수 있다. 또는, UV영역은 중심 영역, 가장자리 영역(코너 영역 제외) 및 코너 영역으로 구분될 수도 있다. 다만, 이는 구분되는 영역의 개수와 위치를 한정하는 것은 아니며, UV영역은 4개 이상의 세분화된 영역으로 구분될 수도 있다.For correction, the UV region may be largely divided into a central region and an edge region. Alternatively, the UV region may be divided into a center region, an edge region (excluding a corner region), and a corner region. However, this does not limit the number and position of the divided regions, and the UV region may be divided into four or more subdivided regions.

예를 들어, 상기 보정 단계는, 상기 UV영역을 제1 영역 및 제2 영역으로 나누고, 상기 제1 영역의 좌표 간의 거리를 상기 제 2영역의 좌표 간의 거리보다 작도록 상기 제1 영역 또는 상기 제2 영역 중 적어도 하나의 좌표를 보정하는 것을 포함할 수 있다.For example, in the correction step, the UV region is divided into a first region and a second region, and the distance between the coordinates of the first region is smaller than the distance between the coordinates of the first region or the second region. It may include correcting the coordinates of at least one of the two regions.

상기 제1 영역은 UV영역의 중심점을 중심으로 하는 다각형 또는 원의 모양을 가질 수 있다. 이 경우, 상기 제2 영역은 UV영역에 있어서 상기 제1 영역을 제외한 나머지 영역의 전부 또는 일부를 포함할 수 있다.The first region may have a polygonal or circular shape with a center point of the UV region as a center. In this case, the second area may include all or part of the remaining area except for the first area in the UV area.

본 발명에 따른 보정은, UV영역 내의 화소 위치(x,y)를 (x',y')로 변환하는 과정을 포함할 수 있다. 화소 위치의 x 좌표와 y 좌표 각각에 소정의 가중치(w)와 오프셋(o)를 적용하여 보정된 위치 x'와 y'를 획득할 수 있다. 여기서, 가중치(w)와 오프셋(o)는 0을 포함한 정수일 수 있다. The correction according to the present invention may include a process of converting the pixel position (x,y) in the UV region into (x',y'). Corrected positions x' and y' may be obtained by applying predetermined weights w and offsets o to the x and y coordinates of the pixel position, respectively. Here, the weight w and the offset o may be integers including 0.

x 좌표를 위한 가중치(wx)는 wx1, wx2 또는 wx3 중 적어도 하나를 포함할 수 있다. y 좌표를 위한 가중치(wy)는 wy1, wy2 또는 wy3 중 적어도 하나를 포함할 수 있다. 예를 들어, 보정은, 다음 수학식 12와 같이 수행될 수 있다.The weight wx for the x coordinate may include at least one of wx1, wx2, or wx3. The weight wy for the y coordinate may include at least one of wy1, wy2, or wy3. For example, the correction may be performed as in Equation 12 below.

Figure 112019106190933-pat00046
Figure 112019106190933-pat00046

상기 3차 방정식과 달리, 1차, 2차, 4차, 5차, 또는 그 이상의 차수 방정식도 적용될 수 있다. Unlike the cubic equation, first, second, fourth, fifth, or higher order equations may also be applied.

영상 부호화/복호화 장치는, 보정을 위한 복수의 수학식을 정의할 수 있다. 복수의 수학식 중 어느 하나를 선택하여 보정을 수행할 수도 있다. 여기서, 선택은, 뷰포트 영역의 크기/형태, UV영역의 크기/형태, UV영역의 타입(예를 들어, 평면, 곡면 등), 영상 정보를 담고 있는 구 또는 외접하는 외부 구 중 적어도 하나의 크기(예를 들어, 반지름), 상기 구와 외부 구 간의 크기 비율 등과 같은 정보를 고려하여 수행될 수 있다. 이를 위해, 상기 정보가 메타데이터의 형태로 부호화되어 영상 복호화 장치로 전송될 수 있다.The image encoding/decoding apparatus may define a plurality of equations for correction. Correction may be performed by selecting any one of a plurality of equations. Here, the selection is the size/shape of the viewport area, the size/shape of the UV area, the type of the UV area (eg, flat, curved, etc.), the size of at least one of a sphere containing image information or a circumscribed external sphere. (eg, a radius) and information such as a size ratio between the sphere and the outer sphere may be taken into consideration. To this end, the information may be encoded in the form of metadata and transmitted to the image decoding apparatus.

또한, UV영역이 전술한 것과 같이 세분화된 경우, 각 영역에 대해서 동일한 수학식이 적용될 수도 있고, 영역의 위치에 따라 상이한 수학식이 적용될 수도 있다. 상이한 수학식이라 함은, 차수, 가중치 또는 오프셋 중 적어도 하나가 상이한 수학식을 의미할 수 있다. 일 예로, UV영역이, 중심 영역, 가장자리(코너 포함) 영역, 및 중심 영역의 경계로부터 가장자리의 경계까지의 경계영역으로 세분화된 경우, 상기 중심 영역 또는 상기 가장자리 영역 중 적어도 하나는 제1 수학식이 적용되나, 상기 경계 영역은 제2 수학식이 적용될 수 있다.In addition, when the UV region is subdivided as described above, the same equation may be applied to each region, or different equations may be applied depending on the location of the region. A different equation may mean an equation in which at least one of a degree, a weight, and an offset is different. For example, when the UV region is subdivided into a central region, an edge (including a corner) region, and a boundary region from the boundary of the central region to the boundary of the edge, at least one of the central region or the edge region is expressed by the first equation However, the second equation may be applied to the boundary area.

가중치(w) 및 오프셋(o)는 기-정의된 고정된 값이거나 전술한 파라미터 중 적어도 하나에 의해 가변적으로 결정될 수 있다.The weight w and the offset o may be pre-defined fixed values or may be variably determined by at least one of the above-described parameters.

가중치(w) 또는 오프셋(o)는 뷰포트 영역(또는 UV영역)의 크기에 비례 또는 반비례하여 가중치 또는 오프셋이 증가 또는 감소할 수 있다. 여기서, 상기 증가 또는 감소는 뷰포트 영역(또는 UV영역)의 크기에 따라 연속적으로 증가 또는 감소하는 것을 포함할 수 있다. 또는, 상기 크기를 구간으로 나누고, 가중치(w) 또는 오프셋(o)을 상기 크기가 포함된 구간의 대표값으로 설정하는 계단식으로 증가 또는 감소하는 것을 포함할 수 있다.The weight w or offset o may increase or decrease in proportion to or inversely proportional to the size of the viewport region (or UV region). Here, the increase or decrease may include continuously increasing or decreasing according to the size of the viewport area (or UV area). Alternatively, it may include dividing the size into sections and increasing or decreasing the weight (w) or offset (o) in a stepwise fashion by setting a representative value of the section including the size.

또한, 상기 증가 또는 감소는 상한 또는 하한을 가질 수 있다 예를 들어, 뷰포트 영역(또는 UV영역) 크기가 소정의 문턱값보다 작아지거나 커지더라도, 더 이상 가중치 또는 오프셋이 변하지 않고 일정한 가중치 또는 오프셋을 가질 수 있다.In addition, the increase or decrease may have an upper limit or a lower limit. For example, even if the size of the viewport area (or UV area) becomes smaller or larger than a predetermined threshold, the weight or offset no longer changes and a constant weight or offset is applied. can have

상기 가중치 및 오프셋 값은 뷰포트 영역(또는 UV영역) 전술한 세분화된 영역에 따라 다를 수 있다. The weight and offset values may differ according to the subdivided area of the viewport area (or UV area).

일 예로, 가중치(w) 또는 오프셋(o)는 세분화된 영역의 위치에 따라 결정될 수 있다. 구체적으로, UV영역이 중심영역, 가장자리 영역, 코너 영역으로 세분화된 경우, 상기 영역들 간 가중치(w) 또는 오프셋(o)은 같거나 다를 수 있다. For example, the weight w or the offset o may be determined according to the location of the subdivided area. Specifically, when the UV region is subdivided into a central region, an edge region, and a corner region, a weight w or an offset o between the regions may be the same or different.

다른 예로, 가중치(w) 또는 오프셋(o)는 세분화된 영역의 형태에 따라 결정될 수 있다. 구체적으로, UV영역이 평면의 형태인 경우 가중치(w) 또는 오프셋(o)은 다른 세분화된 영역과 같은 값을 가질 수 있으나, 곡면의 형태인 경우 가중치(w) 또는 오프셋(o)은 다른 세분화된 영역과 다른 값을 가질 수 있다.As another example, the weight w or the offset o may be determined according to the shape of the subdivided region. Specifically, when the UV region is in the form of a plane, the weight (w) or the offset (o) may have the same value as other subdivided regions, but in the case of a curved surface, the weight (w) or the offset (o) is different subdivision It may have a different value than the specified area.

도 6은 보정단계에서 적용되는 정의역과 치역이 [0, 1]범위인 3차 함수를 나타내는 도면이다.6 is a diagram illustrating a cubic function having a domain and a range of [0, 1] applied in the correction step.

상기 보정은 도 6와 같은 곡률을 가지는 3차 함수를 통해 이루어 질 수 있다. 도 6의 u'=g(u)에 있어서, 정의역(u)와 치역(g(u))는 정규화된 값으로 각각 [0, 1]의 범위를 가진다. 도 6의 그래프는 u=0.5 근처에서는 기울기가 1보다 작고, u=1 또는 0 근처에서는 기울기가 1보다 크다.The correction may be performed through a cubic function having a curvature as shown in FIG. 6 . In u'=g(u) of FIG. 6 , the domain (u) and the range (g(u)) are normalized values and have ranges of [0, 1], respectively. In the graph of FIG. 6, the slope is less than 1 near u=0.5, and the slope is greater than 1 near u=1 or 0.

상기 곡률과 같은 함수를 가지는 아래의 수학식 13를 UV영역에 적용하여 보정할 수 있다.The following Equation 13 having the same function as the curvature may be applied to the UV region to correct it.

Figure 112019106190933-pat00047
Figure 112019106190933-pat00047

상기 UV영역의 중심부 위치(u=0.5) 근처에서의 변환된 화소의 좌표 간의 간격은 물리적으로 더 가까워지고, UV영역의 외곽부 위치(u=0 또는 1) 근처에서의 변환된 화소의 좌표 간의 간격은 물리적으로 더 멀어지게 될 수 있다. 상기 보정을 통해 UV영역의 외곽부와 중심부의 영상 정보 밀도가 유사해지고, 투영 과정에서 발생하는 왜곡을 줄일 수 있다.The distance between the coordinates of the converted pixel near the center position (u=0.5) of the UV region is physically closer, and the distance between the coordinates of the transformed pixel near the outer position of the UV region (u=0 or 1) The gap may be physically further apart. Through the correction, the image information density of the outer portion and the center portion of the UV region becomes similar, and distortion generated during the projection process may be reduced.

Claims (11)

뷰포트(viewport)영역의 화소의 위치에 대한 좌표를 변환 좌표 영역의 좌표로 변환하고, 여기서, 상기 변환 좌표 영역은 영상 정보를 담고 있는 구 표면 좌표의 산출시 이용되는 영역임.
상기 변환 좌표 영역을 적어도 2개의 영역으로 세분화하고, 여기서, 상기 세분화된 영역은 제1 세분화 영역 및 제2 세분화 영역을 포함함.
상기 제1 세분화 영역의 좌표 간의 거리를 상기 제2 세분화 영역의 좌표 간의 거리보다 작도록 상기 제1 세분화 영역 또는 상기 제2 세분화 영역 중 적어도 하나의 좌표를 보정하고,
상기 보정된 변환 좌표 영역의 좌표에 대응하는 상기 구 표면 좌표를 산출하고,
상기 산출된 구 표면 좌표에 해당하는 영상 정보를 추출하되,
상기 변환 좌표 영역은, 곡면이고,
상기 변환 좌표 영역의 가로 및 세로 길이는 상기 뷰포트 영역의 FOV(Field of view)를 고려하여 결정되고,
상기 변환은, 상기 변환 좌표 영역의 가로 및 세로 길이를 고려하지 않고, 상기 뷰포트 영역에서의 가로 방향 및 세로 방향의 화소의 개수만 고려하여 수행되고,
상기 보정은, 상기 뷰포트 영역 또는 상기 변환 좌표 영역의 크기가 문턱크기 이하인 경우, 상기 세분화된 영역들 중 적어도 일부 영역의 보정을 스킵하는 것을 특징으로 하는, 영상 복호화 장치.
The coordinates of the positions of pixels in the viewport area are converted into coordinates of a transformation coordinate region, wherein the transformation coordinate region is an area used when calculating spherical surface coordinates containing image information.
The transform coordinate region is subdivided into at least two regions, wherein the subdivided region includes a first subdivided region and a second subdivided region.
correcting the coordinates of at least one of the first subdivided region and the second subdivided region so that the distance between the coordinates of the first subdivided region is smaller than the distance between the coordinates of the second subdivided region;
calculating the spherical surface coordinates corresponding to the coordinates of the corrected transformation coordinate region,
Extracting image information corresponding to the calculated spherical surface coordinates,
The transformation coordinate area is a curved surface,
The horizontal and vertical lengths of the transformation coordinate area are determined in consideration of a field of view (FOV) of the viewport area,
The transformation is performed in consideration of only the number of pixels in the horizontal direction and the vertical direction in the viewport area, without considering the horizontal and vertical lengths of the transformation coordinate area,
The correction comprises skipping correction of at least some of the subdivided regions when the size of the viewport region or the transformation coordinate region is less than or equal to a threshold size.
제 1항에 있어서,
상기 곡면은, 상기 영상 정보를 담고 있는 구에 외접한 외부 구의 일부이고,
상기 외부 구의 반지름은, 상기 영상 정보를 담고 있는 구의 반지름 보다 크거나 같은 것을 특징으로 하는, 영상 복호화 장치.
The method of claim 1,
The curved surface is a part of the outer sphere circumscribed to the sphere containing the image information,
The radius of the outer sphere is greater than or equal to the radius of the sphere containing the image information, the video decoding apparatus.
삭제delete 삭제delete 제1 항에 있어서,
상기 보정은 3차원 함수를 이용하여 수행되고,
상기 3차원 함수는, 상기 제1 세분화 영역에 적용되는 범위 내에서 상기 함수의 기울기는 1보다 작고, 상기 제2 세분화 영역에 적용되는 범위 내에서 상기 함수의 기울기는 1보다 큰 것을 특징으로 하는, 영상 복호화 장치.
According to claim 1,
The correction is performed using a three-dimensional function,
wherein the three-dimensional function has a slope of less than 1 within a range applied to the first subdivided area, and a slope of the function greater than 1 within a range applied to the second subdivided area, video decoding device.
삭제delete 제1 항에 있어서,
상기 보정은, 가중치 및 오프셋 값을 적용하여 수행되고,
상기 가중치 및 상기 오프셋 값은, 상기 세분화된 영역 별로 같거나 다른 것을 특징으로 하는, 영상 복호화 장치.
According to claim 1,
The correction is performed by applying a weight and an offset value,
The weight and the offset value are the same or different for each of the subdivided regions.
제1 항에 있어서,
상기 제1 세분화 영역은, 상기 변환 좌표 영역의 중심을 기준으로 하는 원 또는 사각형의 형태인 것을 특징으로 하는, 영상 복호화 장치.
According to claim 1,
The first subdivision region, characterized in that the shape of a circle or a rectangle based on the center of the transformation coordinate region, image decoding apparatus.
제 1항에 있어서,
상기 산출은, 상기 변환된 변환 좌표 영역을 상기 구 표면의 중심으로 정사영시키고, 상기 정사영된 변환 좌표 영역의 좌표에 대응하는 상기 구 표면의 좌표를 산출하는 것을 특징으로 하는, 영상 복호화 장치.
The method of claim 1,
The calculation comprises orthographically projecting the transformed transformed coordinate region to the center of the spherical surface, and calculating the coordinates of the spherical surface corresponding to the coordinates of the orthographically projected transformed coordinate region.
제 1항에 있어서,
상기 화소의 위치는, 상기 화소들로 구성된 화소 그룹의 위치를 포함하는 것을 특징으로 하는, 영상 복호화 장치.
The method of claim 1,
The position of the pixel includes a position of a pixel group composed of the pixels.
제 10항에 있어서,
상기 화소 그룹의 위치는, 상기 화소 그룹 내 포함된 어느 한 화소의 위치 또는 상기 화소 그룹 내 포함된 복수개의 화소들의 평균값을 포함하는 것을 특징으로 하는, 영상 복호화 장치.
11. The method of claim 10,
The position of the pixel group includes a position of any one pixel included in the pixel group or an average value of a plurality of pixels included in the pixel group.
KR1020190129415A 2019-10-17 2019-10-17 A method and an apparatus for extracting viewport KR102281037B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190129415A KR102281037B1 (en) 2019-10-17 2019-10-17 A method and an apparatus for extracting viewport

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190129415A KR102281037B1 (en) 2019-10-17 2019-10-17 A method and an apparatus for extracting viewport

Publications (2)

Publication Number Publication Date
KR20210045871A KR20210045871A (en) 2021-04-27
KR102281037B1 true KR102281037B1 (en) 2021-07-22

Family

ID=75725716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190129415A KR102281037B1 (en) 2019-10-17 2019-10-17 A method and an apparatus for extracting viewport

Country Status (1)

Country Link
KR (1) KR102281037B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210067758A1 (en) 2016-10-12 2021-03-04 Samsung Electronics Co., Ltd. Method and apparatus for processing virtual reality image
KR20180107007A (en) * 2017-03-21 2018-10-01 주식회사 케이티 Method and apparatus for processing a video signal

Also Published As

Publication number Publication date
KR20210045871A (en) 2021-04-27

Similar Documents

Publication Publication Date Title
KR102431117B1 (en) point cloud mapping
CN109194923B (en) Video image processing device, system and method based on local non-uniform resolution
US6246413B1 (en) Method and system for creating panoramas
CN110956583B (en) Spherical image processing method and device and server
CN110383842B (en) Video processing method and device
CA2995665C (en) Image generating apparatus and image display control apparatus for a panoramic image
WO2018035721A1 (en) System and method for improving efficiency in encoding/decoding a curved view video
KR102551713B1 (en) Electronic apparatus and image processing method thereof
WO2014043814A1 (en) Methods and apparatus for displaying and manipulating a panoramic image by tiles
US20140085295A1 (en) Direct environmental mapping method and system
CN104994367A (en) Image correcting method and camera
TW201921035A (en) Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout
TWI681662B (en) Method and apparatus for reducing artifacts in projection-based frame
Dachsbacher et al. Rendering Procedural Terrain by Geometry Image Warping.
CN106162140A (en) The compression method of a kind of panoramic video and device
US9299127B2 (en) Splitting of elliptical images
CN107871304B (en) Panoramic video frame rectangular mapping method based on spherical surface circular cutting and affine transformation
CN111418213B (en) Method and apparatus for signaling syntax for immersive video coding
KR102281037B1 (en) A method and an apparatus for extracting viewport
US9230359B2 (en) Method for resizing an image
JPH11126261A (en) Texture mapping method and device thereof
JP6851089B2 (en) Adaptive 3D space generation method and its system
US11528412B2 (en) Apparatus and method for stitching together multiple images
US20120050304A1 (en) Image processing apparatus, method, and program
JP4722055B2 (en) Method for changing the scale of a three-dimensional model and scale changing unit

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant