KR101755206B1 - 스케일러블 벡터 그래픽의 워핑 방법 - Google Patents

스케일러블 벡터 그래픽의 워핑 방법 Download PDF

Info

Publication number
KR101755206B1
KR101755206B1 KR1020160052614A KR20160052614A KR101755206B1 KR 101755206 B1 KR101755206 B1 KR 101755206B1 KR 1020160052614 A KR1020160052614 A KR 1020160052614A KR 20160052614 A KR20160052614 A KR 20160052614A KR 101755206 B1 KR101755206 B1 KR 101755206B1
Authority
KR
South Korea
Prior art keywords
component
point
warping
svg
changing
Prior art date
Application number
KR1020160052614A
Other languages
English (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 KR1020160052614A priority Critical patent/KR101755206B1/ko
Application granted granted Critical
Publication of KR101755206B1 publication Critical patent/KR101755206B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • G06T3/0031
    • G06T3/0006
    • G06T3/0012
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)

Abstract

스케일러블 백터 그래픽(Scalable Vector Graphics, SVG) 이미지의 워핑 방법을 구현하는 컴퓨터 구현 방법(Computer implemented method)으로서, SVG 이미지를 입력받는 단계; SVG 이미지 내에 포함된 그래픽 구성요소들의 상대좌표를 절대좌표로 변경하는 단계; 상기 그래픽 구성요소들을 각각 점대점 연결 구성요소로 변경하는 단계; 및 상기 점대점 연결 구성요소의 좌표값을 워핑 함수의 입력으로 하여 출력되는 치환된 새로운 좌표값에 따라 워핑 변환을 수행하는 단계를 포함하는 스케일러블 벡터 그래픽 이미지의 워핑 방법이 제공된다.

Description

스케일러블 벡터 그래픽의 워핑 방법{WARPING METHOD OF SCALABLE VECTOR GRAPHICS}
본 발명은 워핑 방법에 관한 것으로서, 보다 구체적으로는 스케일러블 벡터 그래픽(Scalable Vector Graphics : SVG) 이미지의 워핑 방법에 관한 것이다.
스케일러블 벡터 그래픽(SVG)는 2차원의 벡터 그래픽을 표한하기 위한 XML 기반의 파일 형식으로, 1999년 W3C(World Wide Web Consortium)의 주도하에 개발된 오픈 표준의 벡터 그래픽 파일 형식이다. SVG 형식의 이미지는 XML 텍스트 파일들로 정의되어 검색, 목록화, 스크립트화가 가능하다.
이러한 스케일러블 벡터 그래픽을 워핑할 수 있게 되면, 현재 스케일러블 벡터 그래픽을 사용하는 모든 분야, 예를 들어, 인터넷 웹 환경, 벡터 그래픽, 전자 문서 등의 분야에서 이미지 처리에 많은 융통성과 유용성을 부여하여 폭넓게 응용할 수 있게 될 것이다. 현재 스케일러블 벡터 그래픽을 애니메이션화할 경우 필요한 프레임에 대한 이미지 전부를 만들어내야 하는 등 작업 효율성이 낮은 문제가 있다. 따라서 스케일러블 벡터 그래픽에 워핑을 순차적으로 실행하여 보다 간편하고 효율적인 방법으로 필요한 프레임을 만들 수 있는 방법이 요구된다.
본 발명은 스케일러블 벡터 그래픽 이미지를 구성하는 각 구성요소의 좌표계를 수정하고 형상이 정해져 있는 구성요소를 복수의 점으로 구성되는 구성요소로 재구성한 후 워핑하는 방법을 제공한다.
본 발명은 사각형, 원, 타원 등 워핑 변환에서 형상 변환이 적용되기 힘든 구성요소까지 워핑 변환할 수 있는 스케일러블 벡터 그래픽의 워핑 방법을 제공한다.
본 발명의 일 측면에 따르면, 스케일러블 백터 그래픽(Scalable Vector Graphics, SVG) 이미지의 워핑 방법을 구현하는 컴퓨터 구현 방법(Computer implemented method)으로서, SVG 이미지를 입력받는 단계; SVG 이미지 내에 포함된 그래픽 구성요소들의 상대좌표를 절대좌표로 변경하는 단계; 상기 그래픽 구성요소들을 각각 점대점 연결 구성요소로 변경하는 단계; 및 상기 점대점 연결 구성요소의 좌표값을 워핑 함수의 입력으로 하여 출력되는 치환된 새로운 좌표값에 따라 워핑 변환을 수행하는 단계를 포함하는 스케일러블 벡터 그래픽 이미지의 워핑 방법이 제공된다.
일 실시예에서, 상기 점대점 연결 구성요소로 변경하는 단계는,
상기 그래픽 구성요소가 SVG의 패스 구성요소인 경우, 패스 구성요소의 V 요소 및 H 요소를 L 요소로 변경하는 단계를 포함할 수 있다.
일 실시예에서, 상기 점대점 연결 구성요소로 변경하는 단계는,
상기 그래픽 구성요소가 SVG의 사각형 구성요소인 경우, 사각형 구성요소를 각각의 꼭지점에 따른 4개의 점으로 변경하고, 상기 4개의 점을 연결하는 점대점 연결 구성요소로 변경하는 단계를 포함할 수 있다.
일 실시예에서, 상기 점대점 연결 구성요소로 변경하는 단계는,
상기 그래픽 구성요소가 SVG의 원 구성요소 또는 타원 구성요소인 경우,
상기 원 구성요소 또는 타원 구성요소를 사전 정의된 각도에 따라 복수개로 분할한 원주 상의 각 분할점의 좌표를 계산하는 단계; 인접한 2개의 분할점 간을 연결하는 점대점 연결 구성요소로 변경하는 단계를 포함할 수 있다.
일 실시예에서, 상기 원 구성요소 또는 타원 구성요소에서 분할되는 분할점은 원 구성요소 또는 타원 구성요소의 중심점을 기준으로 동일 각도로 균등 분할되었을 때의 분할점일 수 있다.
일 실시예에서, 상기 점대점 연결 구성요소는, 패스 구성요소, 스플라인 구성요소, 폴리라인 구성요소 중 어느 하나일 수 있다.
본 발명의 다른 측면에 따르면, 스케일러블 벡터 그래픽 이미지의 워핑 시스템으로서, 상술한 스케일러블 벡터 그래픽 이미지의 워핑 방법에 관한 프로그램 코드를 실행하는 적어도 하나의 프로세서를 포함하는, 워핑 시스템이 제공된다.
본 발명의 실시예에 의하면, 스케일러블 벡터 그래픽 이미지를 구성하는 각 구성요소의 좌표계를 수정하고 형상이 정해져 있는 구성요소를 복수의 점으로 구성되는 구성요소로 재구성한 후 워핑하는 방법을 제공할 수 있다.
본 발명의 실시예에 따른 스케일러블 벡터 그래픽의 워핑 방법에 의하면, 사각형, 원, 타원 등 워핑 변환에서 형상 변환이 적용되기 힘든 구성요소까지 워핑 변환할 수 있는 효과가 있다.
도1은 본 발명의 실시예에 따른 스케일러블 벡터 그래픽 이미지의 워핑 방법에 관한 전체 흐름도.
도 2는 상대좌표를 절대좌표로 변경하는 예를 도시한 도면.
도 3 및 도 4는 패스 구성요소의 V요소와 H요소를 L요소로 변경하는 예를 도시한 도면.
도 5는 사각형 구성요소를 4개의 점으로 연결되는 라인 구성요소로 변경하는 예를 도시한 도면.
도 6은 원 구성요소를 중심점에서 같은 각도에 있는 점으로 분리하고 각 점을 연결하는 라인 구성요소로 변경하는 예를 도시한 도면.
도 7은 타원 구성요소를 중심점에서 같은 각도에 있는 점으로 분리하고 각 점을 연결하는 라인 구성요소로 변경하는 예를 도시한 도면.
도 8은 변환된 입력 구성요소에 따른 워핑 변환 방식을 설명하기 위한 도면.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다. 또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 도 1의 순서도를 중심으로 본 발명의 실시예에 따른 스케일러블 벡터 그래픽 이미지의 워핑 방법을 설명한다. 본 발명의 실시예를 상세히 설명하는 과정에서 도 2 ~ 도 8을 함께 참조하기로 한다.
여기서, 도 2는 상대좌표를 절대좌표로 변경하는 예를 도시한 도면이고, 도 3 및 도 4는 패스 구성요소의 V요소와 H요소를 L요소로 변경하는 예를 도시한 도면이며, 도 5는 사각형 구성요소를 4개의 점으로 연결되는 라인 구성요소로 변경하는 예를 도시한 도면이고, 도 6은 원 구성요소를 중심점에서 같은 각도에 있는 점으로 분리하고 각 점을 연결하는 라인 구성요소로 변경하는 예를 도시한 도면이며, 도 7은 타원 구성요소를 중심점에서 같은 각도에 있는 점으로 분리하고 각 점을 연결하는 라인 구성요소로 변경하는 예를 도시한 도면이고, 도 8은 변환된 입력 구성요소에 따른 워핑 변환 방식을 설명하기 위한 도면이다. 이하에서 설명될 본 실시예의 워핑 방법은 본 방법의 프로그램 코드를 실행하고 소정의 워핑 함수에 따라 워핑 변환 처리를 하는 적어도 하나의 프로세서를 포함하는 스케일러블 벡터 그래픽 이미지 워핑 시스템(이하, 워핑 시스템으로 간략히 명명함)에 의해 수행될 수 있다.
본 발명의 실시예에 따른 워핑 시스템은 특정의 스케일러블 벡터 그래픽 이미지를 입력받고[도 1의 단계 S110 참조], 입력된 스케일러블 벡터 그래픽 이미지에 대한 워핑 변환을 수행하기 위하여 도 1의 단계 S120 ~ 단계 S140를 실행하게 된다. 이하, 각 단계에 대하여 차례로 설명하기로 한다.
도 1의 단계 S120에 의할 때, 워핑 시스템의 프로세서는 스케일러블 벡터 그래픽 이미지의 각 그래픽 구성요소들의 상대좌표를 절대좌표로 변경하는 좌표계 수정을 수행한다.
XML로 표현되는 스케일러블 벡터 그래픽(SVG) 이미지는 도형을 구성하는 값을 상대좌표와 절대좌표로 나타낼 수 있다. 상대좌표는 도 2의 (A)에서 확인할 수 있는 바와 같이, 도형의 각 위치 값을 도형의 시작점을 중심으로 상대적인 증분값을 이용하여 해당 위치 값을 나타낸다. 그리고 절대좌표는 도형의 모든 위치 값을 SVG 이미지의 (0, 0)을 기준으로 나타낸다. 도 2의 (B)를 참조하면, 시작점의 위치가 (10, 10)이고 폭(Width)과 높이(Height)가 각각 90인 "L"자형 도형을 그렸을 때의 절대좌표를 나타낸 것이다.
즉, 도 1의 단계 S120은 SVG 이미지를 구성하는 각 도형 중 상대좌표로 표현되어 있는 것을 절대좌표 값으로 변경하는 과정이다. 이와 같이 SVG 이미지의 각 도형 중 상대좌표로 표현된 것을 절대좌표로 변경하는 이유는, 향후 각 구성요소의 워핑 변환(변경) 과정에서 상대좌표는 그 좌표값을 계산하기 불편하고, 또한 최종 단계인 워핑 처리 과정에서는 절대좌표의 입력만을 받기 때문이다.
아래 표 1은 도 2의 예시를 기준으로, 패스(path) 구성요소의 상대좌표를 절대좌표로 변경하는 예를 나타낸다. 표 1에서 위의 예제는 상대좌표를 나타낸 것이고 아래의 예제는 절대좌표로 변경 표현한 것이다. 이와 같은 좌표계 수정 과정에 의하더라도, 그림을 그리는 좌표 값만이 변경된 상태이기 때문에, 실제 랜더링되는 그림은 동일하게 된다.
Figure 112016041287429-pat00001
또한 워핑 시스템의 프로세서는 그래픽 구성요소들 각각을 소정의 구성요소들로 변경하는 과정을 수행하게 되는데[도 1의 단계 S130 참조], 이에 대해서는 도 1의 단계 S132, 단계 S134, 단계 S136, 단계 S138을 통해서 각 예시들을 설명하기로 한다. 이하의 각 단계의 설명을 통해 명확히 이해될 수 있겠지만, 본 단계(S130)는 각각의 특정 도형 형태를 갖는 그래픽 구성요소들을 점대점 연결 구성요소로 변경하는 과정이라고 통칭할 수 있다. 이하의 예시에 의할 때, 패스 구성요소, 사각형 구성요소, 원 구성요소, 타원 구성요소들은 각각 원 상태에서(패스 구성요소, 사각형 구성요소의 경우 그 상태에서 취득되는 점(point)들) 또는 균등 분할된 상태에서(원 구성요소, 타원 구성요소의 경우 중심점을 기준으로 균등 분할하였을 때 취득되는 점들) 각각 점대점을 연결하는 구성요소에 의해서 변경 표현되게 된다.
이하에서는 패스 구성요소, 사각형 구성요소, 원 구성요소, 타원 구성요소를 점대점 연결 구성요소로 변경하는 과정에 대하여 주로 설명할 것이나, 본 과정에서의 점대점 연결 구성요소로의 변경은 이외에도 다양한 형상의 도형에도 동일 또는 유사한 방법으로 적용될 수 있음은 본 기술분야의 통상의 지식을 가진 자라면 쉽게 이해할 수 있을 것이다. 또한 도 1의 단계 S130에서, 각 세부 단계(S132, S134, S136, S138)는 동시에 또는 병렬적으로 처리될 수 있는 것임은 물론이다. 또한 전술한 도 1의 단계 S120과 단계 S130도 상호간 영향을 주지 않는 과정들이므로, 각 과정의 실행 순서도 반드시 도 1과 같은 순서를 가질 필요는 없음은 물론이다. 즉, 도 1의 단계 S120과 단계 S130는 순서를 불문하고 도 1의 단계 S140(워핑 단계)가 실행되기 이전에만 실행되면 무방하다.
먼저, 단계 S132를 참조하면, 워핑 시스템의 프로세서는 SVG 이미지의 패스 구성요소의 V와 H 요소를 L 구성요소로 변경한다.
통상 SVG에서 패스 구성요소는 V와 H, L 그리고 스플라인 등의 집합으로 선을 그릴 수 있다. SVG에서 특정 패스에서의 H는 도 3의 (A)에서 예시된 바와 같이 앞의 점에서 Width 값(H)을 더한 점과 직선을 그리라는 명령에 해당한다. 또한 SVG에서 특정 패스에서의 V는 도 3의 (B)에서 예시된 바와 같이 앞의 점에서 Height 값(V)를 더한 점과 직선을 그리라는 명령에 해당한다.
그러나 이러한 V와 H 명령어에 의할 때 각각 수직과 수평으로만 직선을 그릴 수 있기 때문에(즉, V 요소와 H 요소는 각각 수직과 수평의 요소만을 나타내므로), 워핑 시 좌표의 점이 수평 및 수직으로 모두 이동이 있을 경우 형상 변환을 반영하기 어렵다. 따라서, 본 발명의 실시예에서는 SVG의 V 요소와 H 요소를 L 요소로 변경한다. 이와 같이 패스 구성요소의 V 및 L 요소를 L 요소로 변경하게 되면, 워핑 후 어떤 위치로도 직선을 그릴 수 있게 된다.
SVG에서 L은 앞의 점에서 L(x,y) 점으로 직선을 그리라는 명령이며, 이에 따라 L 요소를 이용하면 어떤 점으로도 직선을 그릴 수 있게 된다. 도 4의 (A)는 도 3의 (A)에서 V 및 H 요소를 L 요소로 변경한 예이고, 도 4의 (B)는 도 3의 (B)에서 V 및 H 요소를 L 요소로 변경한 예이다.
또한, 아래의 표 2는 V 및 H 요소로 표현된 패스 구성요소를 L 요소로 변경한 예시로서, 변경 후의 패스 구성요소는 도 4의 (C)와 같이 표현된다. 본 과정에 의해 V 및 H 요소를 L 요소로 변경하여도 그 표현 요소만 변경되었을 뿐이므로 모두 동일한 결과로서 랜더링되게 된다.
Figure 112016041287429-pat00002
또한, 단계 S134를 참조하면, 워핑 시스템의 프로세서는 SVG 이미지의 사각형 구성요소를 4개의 점으로 연결되는 구성요소로 변경한다.
SVG에서 사각형을 그리는 요소는 "rect"이며, rect 명령에 의하면 사각형의 시작점과 폭(width) 및 높이(height)로 사각형을 그린다. 일 예로서 아래 표 3의 위의 예제를 그림으로 나타낸 예가 도 5의 (A)에 도시되고 있다.
SVG의 사각형 구성요소를 "rect"로서 표현하게 되면, 사각형의 꼭지점 1개(즉, 시작점)에 대한 좌표와 수직(높이 또는 V) 및 수평(폭 또는 H)에 대한 값만을 가지고 있으므로, 구성요소의 값을 워핑으로 변환(치환)해도 똑같이 사각형으로만 표현이 가능하며, 이에 의하면 다양한 형상 변환을 반영하기 어렵다.
따라서, 본 발명의 실시예에서는 본 단계를 통해서 사각형 구성요소를 4개의 점으로 표현이 가능한 구성요소로 변경한다. 도 5의 (B)를 참조하면, 도 5의 (A)에서 시작점과 폭(width) 및 높이(height)만을 이용해서 사각형을 나타냈던 것을, 도 5의 (B)에서와 같이 시작점과, 시각점과 연결되는 점 3개의 직선으로 나타내도록 변경하고 있다.
이에 따라 사각형을 구성하는 4개의 점을 점대점으로 연결하는 패스 구성요소로서 표현된 예가 표 3의 아래 예제에 기재되어 있다. 표 3의 아래 예제에서, M은 시작점을, L은 뒤의 좌표로 직선을 그리라는 명령을, z는 끝점과 시작점을 직선으로 연결하라는 명령에 해당한다.
Figure 112016041287429-pat00003
도 5의 (B) 및 표 3에서는 사각형 구성요소를 4개의 점을 이용하여 표현하는 구성요소로서 패스 구성요소를 예시하였지만, 본 발명의 실시예에 의할 때, 이외에도 변경 가능한 구성요소로는 스플라인, 폴리곤, 폴리라인 등이 활용될 수 있다. 이하에서도 설명의 편의 및 집중을 위해서, 점대점 연결 구성요소로서 패스 구성요소를 중심으로 설명할 것이지만, 원 구성요소, 타원 구성요소에 관한 점대점 연결 구성요소 또한 전술한 바와 같이 다양한 요소들이 활용 가능하며, 이러한 선택에 특별한 제한은 없음은 물론이다.
또한, 단계 S136을 참조하면, 워핑 시스템의 프로세서는 SVG 이미지의 원 구성요소를 중심점에서 같은 각도에 있는 점들로 분할하고, 각 점을 연결하는 점대점 연결 구성요소로 변경한다.
SVG에서 원을 그리는 요소는 "circle"이며, circle 명령에 의하면 원의 중심점의 좌표와 반지름(r) 값으로 그림을 그리게 된다. 이에 관한 예시가 도 6의 (A) 및 표 4의 위 예제에 나타나있다. 이와 같이 SVG의 원 구성요소는 중심점에 대한 좌표와 반지름 r로만 기술되므로 워핑시 다양한 형상의 변환을 표현할 수 없다. 왜냐하면 워핑의 입력으로 할 수 있는 점은 원의 중심점 밖에 없는 바, 워핑 후 결과도 원 이외에는 표현할 수 없기 때문이다.
따라서, 본 단계에서는 위와 같은 문제를 해결하기 위하여, 중심점에서 같은 각도로 분할된 점(즉, 중심점을 기준으로 동일 각도로 분할하였을 때의 원주 상의 점)을 찾고, 그 분할된 점들 간을 연결하는 점대점 연결 구성요소로 변경한다. 도 6의 (B)는 그 일 예로서, 원의 중심점을 기준으로 45도 각도로 균등 분할된 총 8개의 점을 패스 구성요소로 연결한 예를 나타낸 것이다. 또한 표 4의 아래 예제는 원의 중심점을 기준으로 15도 각도로 균등 분할된 총 24개의 점을 패스 구성요소로 연결한 예를 나타낸다.
Figure 112016041287429-pat00004
도 6의 (B) 및 표 4에서는 점대점 연결 구성요소로서 패스 구성요소(즉, L)를 선택하였지만, 이외에도 다양한 구성요소(스플라인, 폴리곤, 폴리라인 등)를 선택할 수 있음은 앞서 설명한 바이다. 이와 같이 다른 구성요소로 선택되는 경우, SVG에서 C, S, Q, T, A 등의 요소(명령어)가 활용하면 된다. 또한 스플라인 구성요소 등을 적용하면, 패스 구성요소를 선택한 경우에 비해서, 원 형상을 보다 근접하게 표현해낼 수 있는 이점이 있을 것이다.
위와 같이 원 구성요소를 중심점에서 같은 각도로 분할된 점으로 표현하고 이를 연결할 구성요소로 표현하게 되면, 그 분할된 점들을 각각 워핑 함수에 입력할 수 있게 되는 바, 각 점 별로 위치 이동을 시킬 수 있어 다양한 형상 변환을 할 수 있게 된다. 이때, 균등 분할된 점들의 좌표는 아래 수학식 1을 이용하여 계산할 수 있다.
Figure 112016041287429-pat00005
본 발명의 실시예에서 원 구성요소를 몇 개의 점으로 분할할 지에 대해서는 특별한 제한은 없다. 아울러, 본 발명의 실시예에서는 원 구성요소를 균등 분할한 케이스를 중심으로 설명하였지만, 반드시 균등 분할할 필요도 없음은 물론이다. 동일 각도로 균등 분할되지 않았다고 하더라도 분할 점들을 이용한 형상 변환 방식이라는 핵심적 기술 사항이 변하는 것은 아니기 때문이다. 이상에서 설명한 내용들은 향후 설명할 타원 구성요소에 대한 설명 과정에서도 동일하게 적용될 수 있다.
또한, 단계 S138을 참조하면, 워핑 시스템의 프로세서는 SVG 이미지의 타원 구성요소를 중심점에서 같은 각도에 있는 점들로 분할하고, 각 점을 연결하는 점대점 연결 구성요소로 변경한다.
본 단계를 통해서, 타원 구성요소를 중심점에서 같은 각도에 있는 점들로 분할하고 이 점들을 점대점 연결 구성요소로 변경하는 이유 또한 전술한 원 구성요소의 변경 이유와 유사하다. 즉, SVC의 타원 구성요소는 중심점에 대한 좌표와 타원의 장축 및 단축 길이의 1/2 값으로만 기술되므로(도 7의 (A) 및 표 5의 위 예제 (cx, cy, rx, ry) 참조) 다양한 형상 변환이 어려운 바, 워핑 함수에 각 점들의 좌표를 입력하여 다양한 형상 변환이 가능하게 하기 위함이다.
도 7의 (B)는 그 일 예로서, 타원의 중심점을 기준으로 45도 각도로 균등 분할된 총 8개의 점을 패스 구성요소로 연결한 예를 나타낸 것이다. 또한 표 5의 아래 예제는 원의 중심점을 기준으로 15도 각도로 균등 분할된 총 24개의 점을 패스 구성요소로 연결한 예를 나타낸다. 이때, 분할 점의 좌표 값은 하기 수학식 2에 의해 계산될 수 있다.
Figure 112016041287429-pat00006
Figure 112016041287429-pat00007
상술한 바와 같이 그래픽 구성요소들에 관하여 점대점 연결 구성요소로의 변경이 완료되면, 도 1의 단계 S140에서 워핑 시스템의 프로세서는 그 변경된 각 구성요소들을 구성하는 좌표값을 워핑 함수의 입력하고(도 8 참조), 이에 따라 출력되는 새로운 좌표값으로 각 좌표값을 치환한다.
Figure 112016041287429-pat00008
이때, 사용하는 워핑 함수(워핑 방법)은 알고리즘의 종류는 상관이 없으며, 입력되는 구성요소의 좌표 값 P(x,y)를 입력하여 워핑 된 좌표 값 P'(x',y') 를 출력한다. 워핑 과정 이전 단계에서 좌표 값이 실수 값으로 계산되어 변경되므로, 입력을 실수 값으로 하고 그 출력도 실수 값이어야 한다. 이를 위해, 입력되는 좌표값이 정수 값이면 실수 값으로 변경하여 입력한다. 표 6은 사각형을 그리는 패스 구성요소를 x 방향으로 10 씩 이동하는 간단한 워핑 결과를 예로 나타낸 것이다.
상술한 본 발명의 실시예에 따른 스케일러블 벡터 그래픽의 워핑 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.

Claims (7)

  1. 스케일러블 백터 그래픽(Scalable Vector Graphics, SVG) 이미지의 워핑 방법을 구현하는 컴퓨터 구현 방법(Computer implemented method)으로서,
    SVG 이미지를 입력받는 단계;
    입력된 SVG 이미지의 그래픽 구성요소들 중에서 상대좌표로 표현된 그래픽 구성요소가 존재하는 경우, 상대좌표로 표현된 그래픽 구성요소들의 좌표를 절대좌표로 변경하는 단계;
    상기 그래픽 구성요소들을 각각 점대점 연결 구성요소로 변경하는 단계-여기서, 상기 그래픽 구성요소는 SVG의 패스 구성요소, 사각형 구성요소, 원 구성요소, 타원 구성요소 중 적어도 2개를 포함함-; 및
    상기 점대점 연결 구성요소를 구성하는 모든 절대좌표값을 워핑 함수의 입력으로 하여 출력되는 치환된 새로운 좌표값들에 따라, 상기 입력된 SVG 이미지의 본래의 그래픽 구성요소들의 형상을 변환하는 형상 변환을 수행하는 단계
    를 포함하는 스케일러블 벡터 그래픽 이미지의 워핑 방법.
  2. 제1항에 있어서,
    상기 점대점 연결 구성요소로 변경하는 단계는,
    상기 그래픽 구성요소가 SVG의 패스 구성요소인 경우, 패스 구성요소의 V 요소 및 H 요소를 L 요소로 변경하는 단계를 포함하는, 스케일러블 벡터 그래픽 이미지의 워핑 방법.
  3. 제1항에 있어서,
    상기 점대점 연결 구성요소로 변경하는 단계는,
    상기 그래픽 구성요소가 SVG의 사각형 구성요소인 경우, 사각형 구성요소를 각각의 꼭지점에 따른 4개의 점으로 변경하고, 상기 4개의 점을 연결하는 점대점 연결 구성요소로 변경하는 단계를 포함하는, 스케일러블 벡터 그래픽 이미지의 워핑 방법.
  4. 제1항에 있어서,
    상기 점대점 연결 구성요소로 변경하는 단계는,
    상기 그래픽 구성요소가 SVG의 원 구성요소 또는 타원 구성요소인 경우,
    상기 원 구성요소 또는 타원 구성요소를 사전 정의된 각도에 따라 복수개로 분할한 원주 상의 각 분할점의 좌표를 계산하는 단계;
    인접한 2개의 분할점 간을 연결하는 점대점 연결 구성요소로 변경하는 단계를 포함하는, 스케일러블 벡터 그래픽 이미지의 워핑 방법.
  5. 제4항에 있어서,
    상기 원 구성요소 또는 타원 구성요소에서 분할되는 분할점은 원 구성요소 또는 타원 구성요소의 중심점을 기준으로 동일 각도로 균등 분할되었을 때의 분할점인, 스케일러블 벡터 그래픽 이미지의 워핑 방법.
  6. 제1항에 있어서,
    상기 점대점 연결 구성요소는, 패스 구성요소, 스플라인 구성요소, 폴리라인 구성요소 중 어느 하나인, 스케일러블 벡터 그래픽 이미지의 워핑 방법.
  7. 스케일러블 벡터 그래픽 이미지의 워핑 시스템으로서,
    청구항 제1항 내지 제6항 중 어느 한 항에 따른 스케일러블 벡터 그래픽 이미지의 워핑 방법에 관한 프로그램 코드를 실행하는 적어도 하나의 프로세서를 포함하는, 워핑 시스템.
KR1020160052614A 2016-04-29 2016-04-29 스케일러블 벡터 그래픽의 워핑 방법 KR101755206B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160052614A KR101755206B1 (ko) 2016-04-29 2016-04-29 스케일러블 벡터 그래픽의 워핑 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160052614A KR101755206B1 (ko) 2016-04-29 2016-04-29 스케일러블 벡터 그래픽의 워핑 방법

Publications (1)

Publication Number Publication Date
KR101755206B1 true KR101755206B1 (ko) 2017-07-07

Family

ID=59353407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160052614A KR101755206B1 (ko) 2016-04-29 2016-04-29 스케일러블 벡터 그래픽의 워핑 방법

Country Status (1)

Country Link
KR (1) KR101755206B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102298920B1 (ko) * 2021-03-10 2021-09-07 김영환 광섬유 발광 표지판 제작에 이용되는 프로그램이 기록된 기록매체

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001283251A (ja) * 2000-02-28 2001-10-12 Mitsubishi Electric Research Laboratories Inc グラフィックオブジェクトをレンダリングする方法及び装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001283251A (ja) * 2000-02-28 2001-10-12 Mitsubishi Electric Research Laboratories Inc グラフィックオブジェクトをレンダリングする方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102298920B1 (ko) * 2021-03-10 2021-09-07 김영환 광섬유 발광 표지판 제작에 이용되는 프로그램이 기록된 기록매체

Similar Documents

Publication Publication Date Title
JP6961802B2 (ja) 文字画像処理方法、装置、機器及び記憶媒体
KR102215766B1 (ko) 합성 화상을 생성하는 방법 및 장치
CN105765624B (zh) 内容感知图像旋转
US10186068B2 (en) Method, apparatus and system for rendering an image
US10664980B2 (en) Vector graphics handling processes for user applications
JP2019528627A (ja) パノラマビデオ圧縮方法および装置
US9384562B2 (en) Methods for visual content processing, and systems and computer program codes thereto
CN111798361A (zh) 渲染方法、装置、电子设备及计算机可读存储介质
US10403040B2 (en) Vector graphics rendering techniques
CN104111913A (zh) 一种流式文档的处理方法及装置
KR20150106846A (ko) 표시 장치에서의 그래픽 렌더링 및 그와 관련된 개선
US9501812B2 (en) Map performance by dynamically reducing map detail
CN105096364A (zh) 一种动画数据生成方法、装置及电子设备
KR101755206B1 (ko) 스케일러블 벡터 그래픽의 워핑 방법
CN111932448B (zh) 一种数据处理方法、装置、存储介质及设备
JP5798357B2 (ja) 画像処理装置、画像処理方法
CN111179390A (zh) 高效预览cg资产的方法和装置
US9412187B2 (en) Delayed rendering of content
WO2006014029A1 (en) Transforming a polygonized object into an implicit-function representation
CN111739084A (zh) 图片处理方法、图集处理方法、计算机设备和存储介质
KR100903394B1 (ko) 애니메이션 데이터를 경감시켜서 이동 통신 단말기에서 캐릭터 애니메이션하기 위한 처리 방법
WO2024008142A1 (zh) 一种动画渲染方法、装置、设备及存储介质
JP2022011133A (ja) 表示プログラム、表示方法、表示装置
KR102203272B1 (ko) 관심 객체 처리 장치 및 그 방법
CN111047666B (zh) 用于矢量图形和栅格图形的统一数字内容选择系统

Legal Events

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