KR20240125802A - Method, program, and apparatus for generating user-customized image - Google Patents
Method, program, and apparatus for generating user-customized image Download PDFInfo
- Publication number
- KR20240125802A KR20240125802A KR1020230018046A KR20230018046A KR20240125802A KR 20240125802 A KR20240125802 A KR 20240125802A KR 1020230018046 A KR1020230018046 A KR 1020230018046A KR 20230018046 A KR20230018046 A KR 20230018046A KR 20240125802 A KR20240125802 A KR 20240125802A
- Authority
- KR
- South Korea
- Prior art keywords
- model
- user input
- linear projection
- shape
- projection
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 210000005069 ears Anatomy 0.000 description 8
- 230000009466 transformation Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000009022 nonlinear effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 개시의 일 실시예에 따른 사용자 맞춤형 이미지 생성 방법, 프로그램 및 장치가 개시된다. 상기 방법은, 특정 뷰(view)에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득하는 단계; 및 상기 획득된 사용자 입력을 기초로, 상기 모델에 대한 선형 투영(projection)을 비선형 투영으로 변환하는 단계를 포함할 수 있다.A method, program and device for generating a user-customized image according to one embodiment of the present disclosure are disclosed. The method may include a step of obtaining a user input for adjusting a shape of a model shown in a specific view; and a step of converting a linear projection of the model into a non-linear projection based on the obtained user input.
Description
본 개시는 이미지 처리 기술에 관한 것으로, 구체적으로 모델 자체의 변형이나 왜곡 없이도 사용자가 원하는 형태로 조정된 모델에 대한 이미지를 생성하는 방법 및 장치에 관한 것이다.The present disclosure relates to image processing technology, and more particularly, to a method and device for generating an image for a model adjusted to a shape desired by a user without deformation or distortion of the model itself.
투영(projection)은 2차원 평면에 3차원 모델을 표시하기 위해 사용되는 기술이다. 투영은 시각적 관점에 대한 분석을 기반으로, 2차원 평면에서 보는 3차원 모델의 개념적 속성을 포함하는 시각적 요소를 생성하는 기술이다. 일반적으로 기존에 이미지 처리 작업을 위해 사용되는 투영은 3차원 모델의 형태를 2차원에서 최대한 사실적으로 표현할 수 있도록 선형적 특성을 고려하여 수행되고 있다.Projection is a technique used to display a three-dimensional model on a two-dimensional plane. Projection is a technique that creates visual elements that include the conceptual properties of a three-dimensional model viewed on a two-dimensional plane based on an analysis of visual perspectives. Projection, which is generally used for existing image processing tasks, is performed by considering linear characteristics so that the shape of a three-dimensional model can be expressed as realistically as possible in two dimensions.
모델이 사실적으로 표현될 필요가 없거나 모델 자체의 왜곡된 표현이 필요한 작업을 수행하는 경우, 선형적 특성을 갖는 기존의 투영 방식은 투영 대상인 모델의 형태 자체를 사용자가 의도한 바에 맞추어 변형시켜야 한다. 이러한 모델 자체의 변형은 특정 뷰(view)에서는 사용자의 의도를 잘 반영할 수 있으나, 전반적으로 사용자가 만족할 수준의 결과를 내지는 못하는 단점이 존재한다. 또한, 변형 과정에서 모델의 원 형태가 유지되지 못하므로, 변형이 거듭될수록 모델의 형태를 원 상태로 복구 시키기 어렵다는 단점이 존재한다.When a model does not need to be represented realistically or a task requiring a distorted representation of the model itself is performed, the existing projection method with linear characteristics must transform the shape of the model itself, which is the projection target, to match the user's intention. This transformation of the model itself can reflect the user's intention well in certain views, but it has the disadvantage of not producing results that satisfy the user overall. In addition, since the original shape of the model is not maintained during the transformation process, there is a disadvantage that it is difficult to restore the shape of the model to its original state as the transformation is repeated.
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 모델이 아닌 모델의 투영 특성을 조정하여, 모델 자체의 변형이나 왜곡 없이도 특정 뷰(view)에서 사용자가 원하는 형태의 모델 이미지를 생성하는 방법 및 장치를 제공하고자 한다.The present disclosure has been made in response to the aforementioned background technology, and aims to provide a method and device for generating a model image of a shape desired by a user in a specific view without deformation or distortion of the model itself by adjusting projection characteristics of a model rather than the model.
다만, 본 개시에서 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재를 근거로 명확하게 이해될 수 있을 것이다.However, the problems to be solved in the present disclosure are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood based on the description below.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨팅 장치에 의해 수행되는, 사용자 맞춤형 이미지 생성 방법이 개시된다. 상기 방법은, 특정 뷰(view)에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득하는 단계; 및 상기 획득된 사용자 입력을 기초로, 상기 모델에 대한 선형 투영(projection)을 비선형 투영으로 변환하는 단계를 포함할 수 있다.According to one embodiment of the present disclosure for achieving the above-described task, a method for generating a user-customized image, which is performed by a computing device, is disclosed. The method may include a step of obtaining a user input for adjusting a shape of a model shown in a specific view; and a step of converting a linear projection on the model into a non-linear projection based on the obtained user input.
대안적으로, 상기 사용자 입력을 기초로, 상기 모델에 대한 선형 투영을 비선형 투영으로 변환하는 단계는, 상기 사용자 입력에 따라 예상되는 모델의 조정된 형태를 기초로, 상기 선형 투영에 의해 정의되는 가상의 평면들 중 적어도 하나를 변형하는 단계를 포함할 수 있다.Alternatively, the step of converting a linear projection on the model into a non-linear projection based on the user input may include the step of deforming at least one of the virtual planes defined by the linear projection based on an adjusted shape of the model expected according to the user input.
대안적으로, 상기 사용자 입력에 따라 예상되는 모델의 조정된 형태를 기초로, 상기 선형 투영에 의해 정의되는 가상의 평면들 중 적어도 하나를 변형하는 단계는, 상기 사용자 입력에 따라 상기 모델에서 형태 조정이 필요한 파트(part)를 식별하는 단계; 상기 가상의 평면들 중 상기 식별된 파트에 매칭되는 적어도 하나의 평면을 변형 대상 평면으로 결정하는 단계; 및 상기 사용자 입력에 따라 예상되는 모델의 조정된 형태를 기초로, 상기 결정된 변형 대상 평면의 크기 혹은 각도 중 적어도 하나를 조절하는 단계를 포함할 수 있다.Alternatively, the step of deforming at least one of the virtual planes defined by the linear projection based on the adjusted shape of the model expected according to the user input may include the steps of: identifying a part of the model that requires shape adjustment according to the user input; determining at least one plane matching the identified part among the virtual planes as a plane to be deformed; and adjusting at least one of the size or angle of the determined plane to be deformed based on the adjusted shape of the model expected according to the user input.
대안적으로, 상기 가상의 평면들은, 상기 선형 투영의 깊이에 따라 구별될 수 있다.Alternatively, the virtual planes can be distinguished based on the depth of the linear projection.
대안적으로, 상기 모델은, 이미지 제작에 사용되는 3차원 개체일 수 있다.Alternatively, the model may be a three-dimensional object used to create the image.
대안적으로, 상기 선형 투영은, 모델의 표현을 3차원 공간에서 2차원 평면으로 전환시키기 위한 원근(perspective) 투영일 수 있다.Alternatively, the linear projection may be a perspective projection to transform the representation of the model from a three-dimensional space to a two-dimensional plane.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램(program)이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 사용자 맞춤형 이미지를 생성하기 위한 동작들을 수행하도록 한다. 이때, 상기 동작들은, 특정 뷰에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득하는 동작; 및 상기 사용자 입력을 기초로, 상기 모델에 대한 선형 투영을 비선형 투영으로 변환하는 동작을 포함할 수 있다.According to one embodiment of the present disclosure for achieving the above-described task, a computer program stored in a computer-readable storage medium is disclosed. When the computer program is executed on one or more processors, it causes operations to be performed for generating a user-customized image. In this case, the operations may include: an operation of obtaining a user input for adjusting a shape of a model shown in a specific view; and an operation of converting a linear projection of the model into a non-linear projection based on the user input.
전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 사용자 맞춤형 이미지를 생성하기 위한 컴퓨팅 장치가 개시된다. 상기 장치는, 적어도 하나의 코어(core)를 포함하는 프로세서; 상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및 네트워크부(network unit)를 포함할 수 있다. 이때, 상기 프로세서는, 특정 뷰에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득하고, 상기 사용자 입력을 기초로, 상기 모델에 대한 선형 투영을 비선형 투영으로 변환할 수 있다.According to one embodiment of the present disclosure for achieving the above-described task, a computing device for generating a user-customized image is disclosed. The device may include a processor including at least one core; a memory including program codes executable by the processor; and a network unit. In this case, the processor may obtain a user input for adjusting a shape of a model shown in a specific view, and may convert a linear projection of the model into a non-linear projection based on the user input.
본 개시는 모델이 아닌 모델의 투영 특성을 조정하여, 모델 자체의 변형이나 왜곡 없이도 특정 뷰(view)에서 사용자가 원하는 형태의 모델 이미지를 생성하는 방법 및 장치를 제공할 수 있다.The present disclosure can provide a method and device for generating a model image of a shape desired by a user in a specific view without deformation or distortion of the model itself by adjusting the projection characteristics of the model rather than the model.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 조정 전후로 특정 뷰에서 보여지는 모델의 형태를 표현한 개념도이다.
도 3은 본 개시의 일 실시예에 따른 선형 투영을 표현한 개념도이다.
도 4는 본 개시의 일 실시예에 따라 선형 투영을 비선형 투영으로 변환하는 방식을 표현한 개념도이다.
도 5는 본 개시의 일 실시예에 따른 사용자 맞춤형 이미지 생성 방법을 나타낸 순서도이다.FIG. 1 is a block diagram of a computing device according to one embodiment of the present disclosure.
FIG. 2 is a conceptual diagram representing the form of a model as seen in a specific view before and after adjustment according to one embodiment of the present disclosure.
FIG. 3 is a conceptual diagram representing linear projection according to one embodiment of the present disclosure.
FIG. 4 is a conceptual diagram illustrating a method of converting a linear projection into a non-linear projection according to one embodiment of the present disclosure.
FIG. 5 is a flowchart illustrating a method for generating a user-customized image according to one embodiment of the present disclosure.
아래에서는 첨부한 도면을 참조하여 본 개시의 기술 분야에서 통상의 지식을 가진 자(이하, 당업자)가 용이하게 실시할 수 있도록 본 개시의 실시예가 상세히 설명된다. 본 개시에서 제시된 실시예들은 당업자가 본 개시의 내용을 이용하거나 또는 실시할 수 있도록 제공된다. 따라서, 본 개시의 실시예들에 대한 다양한 변형들은 당업자에게 명백할 것이다. 즉, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 이하의 실시예에 한정되지 않는다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. The embodiments presented in the present disclosure are provided so that those skilled in the art can utilize or implement the contents of the present disclosure. Accordingly, various modifications to the embodiments of the present disclosure will be apparent to those skilled in the art. That is, the present disclosure may be implemented in various different forms and is not limited to the embodiments below.
본 개시의 명세서 전체에 걸쳐 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 지칭한다. 또한, 본 개시를 명확하게 설명하기 위해서, 도면에서 본 개시에 대한 설명과 관계없는 부분의 도면 부호는 생략될 수 있다.Throughout the specification of the present disclosure, the same or similar drawing numbers refer to the same or similar components. In addition, in order to clearly describe the present disclosure, drawing numbers of parts in the drawings that are not related to the description of the present disclosure may be omitted.
본 개시에서 사용되는 "또는" 이라는 용어는 배타적 "또는" 이 아니라 내포적 "또는" 을 의미하는 것으로 의도된다. 즉, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 이해되어야 한다. 예를 들어, 본 개시에서 달리 특정되지 않거나 문맥상 그 의미가 명확하지 않은 경우, "X는 A 또는 B를 이용한다" 는 X가 A를 이용하거나, X가 B를 이용하거나, 혹은 X가 A 및 B 모두를 이용하는 경우 중 어느 하나로 해석될 수 있다.The term "or" as used herein is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified herein or the context makes clear, "X employs either A or B" should be understood to mean either one of the natural inclusive permutations. For example, unless otherwise specified herein or the context makes clear, "X employs A or B" can be interpreted to mean either X employs A, X employs B, or X employs both A and B.
본 개시에서 사용되는 "및/또는" 이라는 용어는 열거된 관련 개념들 중 하나 이상의 개념의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.The term "and/or" as used herein should be understood to refer to and include all possible combinations of one or more of the relevant concepts listed.
본 개시에서 사용되는 "포함한다" 및/또는 "포함하는" 이라는 용어는, 특정 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는" 이라는 용어는, 하나 이상의 다른 특징, 다른 구성요소 및/또는 이들에 대한 조합의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. The terms "comprises" and/or "comprising" as used herein should be understood to mean the presence of particular features and/or components. However, it should be understood that the terms "comprises" and/or "comprising" do not exclude the presence or addition of one or more other features, other components, and/or combinations thereof.
본 개시에서 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 단수는 일반적으로 "하나 또는 그 이상" 을 포함할 수 있는 것으로 해석되어야 한다. Unless otherwise specified in this disclosure or unless the context makes it clear that the singular form is intended to be referred to, the singular should generally be construed to include “one or more.”
본 개시에서 사용되는 "제 N(N은 자연수)" 이라는 용어는 본 개시의 구성요소들을 기능적 관점, 구조적 관점, 혹은 설명의 편의 등 소정의 기준에 따라 상호 구별하기 위해 사용되는 표현으로 이해될 수 있다. 예를 들어, 본 개시에서 서로 다른 기능적 역할을 수행하는 구성요소들은 제 1 구성요소 혹은 제 2 구성요소로 구별될 수 있다. 다만, 본 개시의 기술적 사상 내에서 실질적으로 동일하나 설명의 편의를 위해 구분되어야 하는 구성요소들도 제 1 구성요소 혹은 제 2 구성요소로 구별될 수도 있다.The term "Nth (N is a natural number)" used in the present disclosure can be understood as an expression used to mutually distinguish components of the present disclosure according to a predetermined standard such as a functional viewpoint, a structural viewpoint, or convenience of explanation. For example, components performing different functional roles in the present disclosure can be distinguished as a first component or a second component. However, components that are substantially the same within the technical spirit of the present disclosure but should be distinguished for convenience of explanation may also be distinguished as a first component or a second component.
본 개시에서 사용되는 "획득" 이라는 용어는, 외부 장치 혹은 시스템과의 무선 통신 네트워크를 통해 데이터를 수신하는 것 뿐만 아니라, 온-디바이스(on-device) 형태로 데이터를 생성 혹은 수신하는 것을 지칭하는 것으로 이해될 수 있다.The term "acquisition" as used in this disclosure may be understood to refer to generating or receiving data in an on-device form, as well as receiving data over a wireless communication network with an external device or system.
한편, 본 개시에서 사용되는 용어 "모듈(module)", 또는 "부(unit)" 는 컴퓨터 관련 엔티티(entity), 펌웨어(firmware), 소프트웨어(software) 혹은 그 일부, 하드웨어(hardware) 혹은 그 일부, 소프트웨어와 하드웨어의 조합 등과 같이 컴퓨팅 자원을 처리하는 독립적인 기능 단위를 지칭하는 용어로 이해될 수 있다. 이때, "모듈" 또는 "부"는 단일 요소로 구성된 단위일 수도 있고, 복수의 요소들의 조합 혹은 집합으로 표현되는 단위일 수도 있다. 예를 들어, 협의의 개념으로서 "모듈" 또는 "부"는 컴퓨팅 장치의 하드웨어 요소 또는 그 집합, 소프트웨어의 특정 기능을 수행하는 응용 프로그램, 소프트웨어 실행을 통해 구현되는 처리 과정(procedure), 또는 프로그램 실행을 위한 명령어 집합 등을 지칭할 수 있다. 또한, 광의의 개념으로서 "모듈" 또는 "부"는 시스템을 구성하는 컴퓨팅 장치 그 자체, 또는 컴퓨팅 장치에서 실행되는 애플리케이션 등을 지칭할 수 있다. 다만, 상술한 개념은 하나의 예시일 뿐이므로, "모듈" 또는 "부"의 개념은 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 정의될 수 있다.Meanwhile, the term "module" or "unit" used in the present disclosure may be understood as a term referring to an independent functional unit that processes computing resources, such as a computer-related entity, firmware, software or a part thereof, hardware or a part thereof, a combination of software and hardware, etc. At this time, the "module" or "unit" may be a unit composed of a single element, or may be a unit expressed as a combination or set of multiple elements. For example, as a narrow concept, a "module" or "unit" may refer to a hardware element of a computing device or a set thereof, an application program that performs a specific function of software, a processing process implemented through software execution, or a set of instructions for program execution, etc. In addition, as a broad concept, a "module" or "unit" may refer to a computing device itself that constitutes a system, or an application that is executed on a computing device, etc. However, the above-described concept is only an example, and the concept of “module” or “part” may be variously defined within a category understandable to those skilled in the art based on the contents of the present disclosure.
전술한 용어의 설명은 본 개시의 이해를 돕기 위한 것이다. 따라서, 전술한 용어를 본 개시의 내용을 한정하는 사항으로 명시적으로 기재하지 않은 경우, 본 개시의 내용을 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.The explanation of the terms set forth above is intended to aid in understanding the present disclosure. Therefore, if the terms set forth above are not explicitly stated as matters limiting the contents of the present disclosure, it should be noted that they are not used to limit the technical ideas of the contents of the present disclosure.
도 1은 본 개시의 일 실시예에 따른 컴퓨팅 장치의 블록도다.FIG. 1 is a block diagram of a computing device according to one embodiment of the present disclosure.
본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 데이터의 종합적인 처리 및 연산을 수행하는 하드웨어 장치 혹은 하드웨어 장치의 일부일 수도 있고, 통신 네트워크로 연결되는 소프트웨어 기반의 컴퓨팅 환경일 수도 있다. 예를 들어, 컴퓨팅 장치(100)는 집약적 데이터 처리 기능을 수행하고 자원을 공유하는 주체인 서버일 수도 있고, 서버와의 상호 작용을 통해 자원을 공유하는 클라이언트(client)일 수도 있다. 또한, 컴퓨팅 장치(100)는 복수의 서버들 및 클라이언트들이 상호 작용하여 데이터를 종합적으로 처리할 수 있도록 하는 클라우드 시스템(cloud system)일 수도 있다. 상술한 기재는 컴퓨팅 장치(100)의 종류와 관련된 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The computing device (100) according to one embodiment of the present disclosure may be a hardware device or a part of a hardware device that performs comprehensive processing and calculation of data, or may be a software-based computing environment connected to a communication network. For example, the computing device (100) may be a server that performs an intensive data processing function and shares resources, or may be a client that shares resources through interaction with a server. In addition, the computing device (100) may be a cloud system that allows a plurality of servers and clients to interact with each other to comprehensively process data. Since the above description is only one example related to the type of the computing device (100), the type of the computing device (100) may be configured in various ways within a range understandable to a person skilled in the art based on the contents of the present disclosure.
도 1을 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 프로세서(processor)(110), 메모리(memory)(120), 및 네트워크부(network unit)(130)를 포함할 수 있다. 다만, 도 1은 하나의 예시일 뿐이므로, 컴퓨팅 장치(100)는 컴퓨팅 환경을 구현하기 위한 다른 구성들을 포함할 수 있다. 또한, 상기 개시된 구성들 중 일부만이 컴퓨팅 장치(100)에 포함될 수도 있다.Referring to FIG. 1, a computing device (100) according to one embodiment of the present disclosure may include a processor (110), a memory (120), and a network unit (130). However, FIG. 1 is only an example, and the computing device (100) may include other configurations for implementing a computing environment. In addition, only some of the configurations disclosed above may be included in the computing device (100).
본 개시의 일 실시예에 따른 프로세서(110)는 컴퓨팅 연산을 수행하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 예를 들어, 프로세서(110)는 컴퓨터 프로그램을 판독하여 이미지 생성, 편집, 변환, 모델링 등과 같은 이미지 처리 작업을 위한 연산을 수행할 수 있다. 이와 같은 연산을 수행하기 위한 프로세서(110)는 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit), 주문형 반도체(ASIC: application specific integrated circuit), 혹은 필드 프로그래머블 게이트 어레이(FPGA: field programmable gate array) 등을 포함할 수 있다. 상술한 프로세서(110)의 종류는 하나의 예시일 뿐이므로, 프로세서(110)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The processor (110) according to one embodiment of the present disclosure may be understood as a configuration unit including hardware and/or software for performing computing operations. For example, the processor (110) may read a computer program and perform operations for image processing tasks such as image generation, editing, conversion, and modeling. The processor (110) for performing such operations may include a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), a tensor processing unit (TPU), an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA). Since the type of the processor (110) described above is only one example, the type of the processor (110) may be variously configured within a range understandable to those skilled in the art based on the contents of the present disclosure.
프로세서(110)는 이미지 생성, 편집, 변환, 모델링 등과 같은 이미지 처리 작업을 위해, 모델에 대한 투영(projection)을 수행할 수 있다. 프로세서(110)는 이미지 처리의 대상이 되는 3차원의 모델을 2차원의 컴퓨팅 환경에서 구현하기 위해, 모델에 대한 투영을 수행할 수 있다. 프로세서(110)는 투영을 수행함으로써, 3차원 공간 상에 존재하는 모델을 2차원 평면 상에서 사실적으로 표현할 수 있다. 여기서 사실적으로 표현한다는 것은, 3차원 공간 상에서 특정 뷰에 따라 달리 보여지는 모델의 형태를 2차원 평면 상에서 동일하거나 유사하게 구현한다는 것으로 이해될 수 있다.The processor (110) can perform projection on a model for image processing tasks such as image creation, editing, conversion, and modeling. The processor (110) can perform projection on a model to implement a three-dimensional model that is the target of image processing in a two-dimensional computing environment. By performing projection, the processor (110) can realistically express a model existing in a three-dimensional space on a two-dimensional plane. Here, realistic expression can be understood as implementing a form of a model that is viewed differently depending on a specific view in a three-dimensional space in the same or similar manner on a two-dimensional plane.
프로세서(110)는 사용자 입력을 획득하고 사용자 입력에 대한 피드백을 제공하기 위한 사용자 인터페이스를 생성할 수 있다. 프로세서(110)는 사용자 인터페이스를 통해, 이미지 생성, 편집, 변환, 모델링 등과 같은 이미지 처리 작업을 위한 사용자 입력을 획득할 수 있다. 프로세서(110)는 사용자 입력을 토대로 이미지 생성, 편집, 변환, 모델링 등과 같은 이미지 처리 작업이 구현되도록 하기 위한 연산을 수행할 수 있다. 그리고, 프로세서(110)는 사용자 입력에 따른 연산 결과를 토대로, 사용자 입력에 대한 피드백을 생성할 수 있다.The processor (110) can obtain user input and generate a user interface for providing feedback on the user input. The processor (110) can obtain user input for image processing tasks such as image creation, editing, conversion, modeling, etc. through the user interface. The processor (110) can perform operations to implement image processing tasks such as image creation, editing, conversion, modeling, etc. based on the user input. In addition, the processor (110) can generate feedback on the user input based on the operation result according to the user input.
예를 들어, 프로세서(110)는 사용자 인터페이스를 통해, 사실적으로 표현되는 모델의 형태를 특정 뷰에서 비사실적으로 왜곡되게 조정하기 위한 사용자 입력을 획득할 수 있다. 프로세서(110)는 사용자 입력을 토대로 특정 뷰에서 모델의 형태가 비사실적으로 왜곡되게 보이도록 하는 연산을 수행할 수 있다. 구체적으로, 프로세서(110)는 특정 뷰에서 보여지는 모델의 형태가 비사실적으로 왜곡되게 보이도록 조정하기 위해, 모델의 투영 특성을 조정할 수 있다. 프로세서(110)는 모델의 투영 특성을 조정하여, 모델 자체를 변형하거나 왜곡시키지 않고도 특정 뷰에서 표현되는 모델의 형태를 조정할 수 있다. 프로세서(110)는 모델의 투영 특성을 조정하여, 사용자 입력에 따라 특정 뷰에서 비사실적으로 왜곡되게 표현된 모델의 이미지를 생성할 수 있다.For example, the processor (110) may obtain a user input for adjusting a shape of a model that is realistically expressed to be unrealistically distorted in a specific view through a user interface. The processor (110) may perform an operation to make the shape of the model appear unrealistically distorted in a specific view based on the user input. Specifically, the processor (110) may adjust the projection characteristics of the model to adjust the shape of the model shown in the specific view to appear unrealistically distorted. The processor (110) may adjust the projection characteristics of the model to adjust the shape of the model expressed in the specific view without deforming or distorting the model itself. The processor (110) may adjust the projection characteristics of the model to generate an image of the model that is unrealistically distorted in a specific view according to the user input.
본 개시의 일 실시예에 따른 메모리(120)는 컴퓨팅 장치(100)에서 처리되는 데이터를 저장하고 관리하기 위한 하드웨어 및/또는 소프트웨어를 포함하는 구성 단위로 이해될 수 있다. 즉, 메모리(120)는 프로세서(110)가 생성하거나 결정한 임의의 형태의 데이터 및 네트워크부(130)가 수신한 임의의 형태의 데이터를 저장할 수 있다. 예를 들어, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리, 램(RAM: random access memory), 에스램(SRAM: static random access memory), 롬(ROM: read-only memory), 이이피롬(EEPROM: electrically erasable programmable read-only memory), 피롬(PROM: programmable read-only memory), 자기 메모리, 자기 디스크, 또는 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(120)는 데이터를 소정의 체제로 통제하여 관리하는 데이터베이스(database) 시스템을 포함할 수도 있다. 상술한 메모리(120)의 종류는 하나의 예시일 뿐이므로, 메모리(120)의 종류는 본 개시의 내용을 기초로 당업자가 이해 가능한 범주에서 다양하게 구성될 수 있다.The memory (120) according to one embodiment of the present disclosure may be understood as a configuration unit including hardware and/or software for storing and managing data processed in the computing device (100). That is, the memory (120) may store any type of data generated or determined by the processor (110) and any type of data received by the network unit (130). For example, the memory (120) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory, a RAM (random access memory), a SRAM (static random access memory), a ROM (read-only memory), an EEPROM (electrically erasable programmable read-only memory), a PROM (programmable read-only memory), a magnetic memory, a magnetic disk, or an optical disk. In addition, the memory (120) may also include a database system that controls and manages data in a predetermined system. The type of memory (120) described above is only an example, and thus the type of memory (120) can be configured in various ways within a range understandable to those skilled in the art based on the contents of the present disclosure.
메모리(120)는 프로세서(110)가 연산을 수행하는데 필요한 데이터, 데이터의 조합, 및 프로세서(110)에서 실행 가능한 프로그램 코드(code) 등을 구조화 및 조직화 하여 관리할 수 있다. 예를 들어, 메모리(120)는 후술할 네트워크부(130)를 통해 특정 모델에 관한 이미지를 저장할 수 있다. 메모리(120)는 특정 뷰를 기준으로 모델을 투영하는 연산을 관장하는 프로그램 코드, 사용자 입력을 기반으로 모델의 형태를 조정하는 연산을 관장하는 프로그램 코드 및 프로그램 코드가 실행됨에 따라 산출된 각종 데이터 등을 저장할 수 있다.The memory (120) can manage, by structuring and organizing, data required for the processor (110) to perform operations, combinations of data, and program codes executable by the processor (110). For example, the memory (120) can store an image regarding a specific model through the network unit (130) described below. The memory (120) can store program codes that manage operations for projecting a model based on a specific view, program codes that manage operations for adjusting the shape of a model based on user input, and various data generated as the program codes are executed.
본 개시의 일 실시예에 따른 네트워크부(130)는 임의의 형태의 공지된 유무선 통신 시스템을 통해 데이터를 송수신하는 구성 단위로 이해될 수 있다. 예를 들어, 네트워크부(130)는 근거리 통신망(LAN: local area network), 광대역 부호 분할 다중 접속(WCDMA: wideband code division multiple access), 엘티이(LTE: long term evolution), 와이브로(WiBro: wireless broadband internet), 5세대 이동통신(5G), 초광역대 무선통신(ultra wide-band), 지그비(ZigBee), 무선주파수(RF: radio frequency) 통신, 무선랜(wireless LAN), 와이파이(wireless fidelity), 근거리 무선통신(NFC: near field communication), 또는 블루투스(Bluetooth) 등과 같은 유무선 통신 시스템을 사용하여 데이터 송수신을 수행할 수 있다. 상술한 통신 시스템들은 하나의 예시일 뿐이므로, 네트워크부(130)의 데이터 송수신을 위한 유무선 통신 시스템은 상술한 예시 이외에 다양하게 적용될 수 있다.The network unit (130) according to one embodiment of the present disclosure may be understood as a configuration unit that transmits and receives data via any type of known wired and wireless communication system. For example, the network unit (130) may perform data transmission and reception using a wired and wireless communication system such as a local area network (LAN), wideband code division multiple access (WCDMA), long term evolution (LTE), wireless broadband internet (WiBro), fifth generation mobile communication (5G), ultra wide-band, ZigBee, radio frequency (RF) communication, wireless LAN, wireless fidelity, near field communication (NFC), or Bluetooth. Since the above-described communication systems are only examples, the wired and wireless communication system for data transmission and reception of the network unit (130) may be applied in various ways other than the above-described examples.
네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)가 연산을 수행하는데 필요한 데이터를 수신할 수 있다. 또한, 네트워크부(130)는 임의의 시스템 혹은 임의의 클라이언트 등과의 유무선 통신을 통해, 프로세서(110)의 연산을 통해 생성된 데이터를 송신할 수 있다. 예를 들어, 네트워크부(130)는 이미지 제작을 위한 모델 이미지를 저장한 데이터베이스 시스템, 혹은 이미지 제작을 위한 협업을 수행하는 클라이언트 등과의 통신을 통해, 모델 이미지를 수신할 수 있다. 네트워크부(130)는 전술한 시스템, 혹은 클라이언트 등과의 통신을 통해, 프로세서(110)의 연산을 통해 생성된 각종 데이터를 송신할 수 있다.The network unit (130) can receive data required for the processor (110) to perform calculations through wired or wireless communication with any system or any client, etc. In addition, the network unit (130) can transmit data generated through the calculation of the processor (110) through wired or wireless communication with any system or any client, etc. For example, the network unit (130) can receive model images through communication with a database system storing model images for image production, or a client performing collaboration for image production, etc. The network unit (130) can transmit various data generated through the calculation of the processor (110) through communication with the aforementioned system, client, etc.
도 2는 본 개시의 일 실시예에 따른 조정 전후로 특정 뷰에서 보여지는 모델의 형태를 표현한 개념도이다.FIG. 2 is a conceptual diagram representing the form of a model as seen in a specific view before and after adjustment according to one embodiment of the present disclosure.
2개의 귀가 동일한 형태로 동일한 선 상에 배치된 3차원 모델이 있다고 가정하면, 3차원 모델의 우측면을 바라보는 뷰에서, 3차원 모델에 존재하는 2개의 귀(210)는 도 2의 (a)와 같이 하나로 겹쳐 보일 수 있다. 즉, 3차원 모델의 형태에 관한 별도의 조건 설정이 없다면, 3차원 모델의 우측면에서 바라보는 뷰를 기준으로, 3차원 모델에 존재하는 2개의 귀(210)는 도 2의 (a)와 같이 보일 수 있다. 따라서, 도 2의 (a)는 3차원 모델을 2차원 평면에서 사실적으로 표현하는 이미지 처리 작업에 사용될 수 있다. Assuming that there is a three-dimensional model in which two ears are positioned on the same line with the same shape, in a view looking at the right side of the three-dimensional model, the two ears (210) existing in the three-dimensional model may appear to overlap as one, as in (a) of Fig. 2. That is, if there is no separate condition setting regarding the shape of the three-dimensional model, the two ears (210) existing in the three-dimensional model may appear as in (a) of Fig. 2 based on the view looking at the right side of the three-dimensional model. Therefore, (a) of Fig. 2 can be used in an image processing task that realistically expresses a three-dimensional model on a two-dimensional plane.
반면, 도 2의 (a)와 동일한 뷰라고 하더라도, 모델에 대한 비사실적이고 과장된 표현이 필요한 경우, 3차원 모델에 존재하는 2개의 귀(221, 225)는 도 2의 (b)와 같이 구분되어 보이는 것이 필요할 수 있다. 예를 들어, 만화 혹은 웹툰 작업이 진행되는 경우, 사용자의 의도에 따라 과장된 표현을 위해 3차원 모델에 존재하는 2개의 귀 중 하나(221)는 좌측으로, 다른 하나(225)는 우측으로 나눠져서 보이도록 표현되는 것이 필요할 수 있다. 따라서, 도 2의 (b)는 3차원 모델의 사실적 표현을 비사실적으로 혹은 과장되게 표현하는 이미지 처리 작업에 사용될 수 있다.On the other hand, even if it is the same view as (a) of Fig. 2, if an unrealistic and exaggerated expression of the model is required, the two ears (221, 225) existing in the 3D model may need to be displayed separately as in (b) of Fig. 2. For example, when working on a cartoon or webtoon, it may be necessary to display one of the two ears existing in the 3D model (221) to the left and the other (225) to the right for an exaggerated expression according to the user's intention. Accordingly, (b) of Fig. 2 can be used in an image processing task that unrealistically or exaggeratedly displays a realistic expression of a 3D model.
한편, 도 2의 (b)와 같은 과장된 표현을 위해, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 3차원 모델에 존재하는 2개의 귀(221, 225)를 나누어 배치하는 사용자 입력을 획득할 수 있다. 그리고, 컴퓨팅 장치(100)는, 3차원 모델의 우측면을 바라보는 뷰에서, 사용자 입력에 맞추어 2개의 귀(221, 225)가 나뉘어져 보이도록 하는 연산을 수행할 수 있다. 이때, 컴퓨팅 장치(100)는 3차원 모델의 귀 자체의 배치, 각도 등을 변형하지 않고, 3차원 모델의 우측면을 바라보는 뷰를 기준으로 3차원 모델의 투영 특성을 변환하여 도 2의 (b)와 같은 과장된 표현을 생성할 수 있다. 이러한 변환은 모델이 가지고 있는 원 형태를 변형시키지 않으므로, 컴퓨팅 장치(100)는 변환을 수행하더라도 모델의 원 형태에 대한 정보를 유지할 수 있다. 따라서, 컴퓨팅 장치(100)는 모델의 원 형태를 별도로 관리하거나 복원하는 작업을 별도로 수행할 필요가 없이, 사용자가 의도하는 바에 따라 특정 뷰에서 모델이 보여지는 형태를 조정하는 작업을 원활하게 손쉽게 수행할 수 있다.Meanwhile, for an exaggerated expression such as (b) of FIG. 2, a computing device (100) according to an embodiment of the present disclosure can obtain a user input for dividing and arranging two ears (221, 225) existing in a three-dimensional model. Then, the computing device (100) can perform an operation to make the two ears (221, 225) appear to be divided according to the user input in a view looking at the right side of the three-dimensional model. At this time, the computing device (100) can generate an exaggerated expression such as (b) of FIG. 2 by transforming the projection characteristics of the three-dimensional model based on the view looking at the right side of the three-dimensional model without transforming the arrangement, angle, etc. of the ears themselves of the three-dimensional model. Since this transformation does not transform the circular shape of the model, the computing device (100) can maintain information about the circular shape of the model even when the transformation is performed. Accordingly, the computing device (100) can easily and smoothly perform the task of adjusting the form in which the model is shown in a specific view according to the user's intention without having to perform a separate task of managing or restoring the original form of the model separately.
도 3은 본 개시의 일 실시예에 따른 선형 투영을 표현한 개념도이다. 도 4는 본 개시의 일 실시예에 따라 선형 투영을 비선형 투영으로 변환하는 방식을 표현한 개념도이다.FIG. 3 is a conceptual diagram representing linear projection according to one embodiment of the present disclosure. FIG. 4 is a conceptual diagram representing a method of converting linear projection into non-linear projection according to one embodiment of the present disclosure.
본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 2차원에서 3차원 모델의 이미지 처리 작업이 수행될 수 있도록, 모델에 대한 선형 투영을 수행할 수 있다. 컴퓨팅 장치(100)는 모델의 표현을 3차원 공간에서 2차원 평면으로 전환시키기 위해, 원근(perspective) 투영을 수행할 수 있다. 예를 들어, 도 3을 참조하면, 컴퓨팅 장치(100)는 사면체인 모델의 3차원 표현(310)을 2차원 표현(350)으로 전환시키기 위해, 원근 투영을 수행할 수 있다. 컴퓨팅 장치(100)는 원근 투영을 통해 모델의 거리에 따른 비율 변화를 표현할 수 있으며, 이러한 비율 변화의 표현은 원근 투영의 깊이에 따라 구별되는 가상의 평면(400)에 맞춰 생성될 수 있다.A computing device (100) according to one embodiment of the present disclosure may perform linear projection on a model so that an image processing task of a three-dimensional model can be performed in two dimensions. The computing device (100) may perform perspective projection to convert a representation of a model from a three-dimensional space to a two-dimensional plane. For example, referring to FIG. 3, the computing device (100) may perform perspective projection to convert a three-dimensional representation (310) of a model that is a tetrahedron into a two-dimensional representation (350). The computing device (100) may express a change in proportion according to a distance of the model through perspective projection, and the expression of this change in proportion may be generated according to a virtual plane (400) that is distinguished according to the depth of the perspective projection.
컴퓨팅 장치(100)는 사용자 입력에 맞추어 특정 뷰에서 보여지는 모델의 형태를 조정하기 위해, 모델에 대한 선형 투영을 비선형 투영으로 변환할 수 있다. 원근 투영과 같은 선형 투영은 일반적으로 카메라를 기준으로 정의된 가상의 평면들을 통해 투영 영역을 선형적으로 구성하여, 2차원 뷰에서 모델에 대한 사실적인 표현을 생성할 수 있다. 이때, 선형 투영에 의해 정의되는 가상의 평면들 중 일부가 변형되면, 투영 특성이 선형에서 비선형으로 변환되고, 2차원 뷰에서 모델의 표현이 기존과 달리 왜곡되거나 변형될 수 있다. 이러한 변형은 모델 자체의 원 형태를 건드리지 않으므로, 특정 뷰에서 사용자가 원하는 이미지를 자유롭고 유연하게 생성할 수 있도록 할 수 있다. 즉, 컴퓨팅 장치(100)는 사용자 입력에 따라 선형 투영을 구성하는 가상의 평면들 중 적어도 하나를 변형함으로써, 선형 투영을 비선형 투영으로 변환하고 특정 뷰에서 보여지는 모델의 형태를 사용자 입력에 맞추어 조정할 수 있다.The computing device (100) can convert a linear projection of the model into a nonlinear projection in order to adjust the shape of the model shown in a specific view according to the user input. Linear projection, such as perspective projection, can generally linearly configure a projection area through virtual planes defined based on a camera, thereby generating a realistic representation of the model in a two-dimensional view. At this time, if some of the virtual planes defined by the linear projection are transformed, the projection characteristics are transformed from linear to nonlinear, and the representation of the model in the two-dimensional view can be distorted or transformed differently from the existing one. Since this transformation does not touch the original shape of the model itself, it can enable the user to freely and flexibly create a desired image in a specific view. That is, the computing device (100) can transform at least one of the virtual planes forming the linear projection according to the user input, thereby converting the linear projection into a nonlinear projection, and adjusting the shape of the model shown in a specific view according to the user input.
예를 들어, 도 4를 참조하면, 컴퓨팅 장치(100)는 사용자 입력을 토대로 3차원 모델에서 형태 조정이 필요한 파트(part)를 식별할 수 있다. 컴퓨팅 장치(100)는 선형 투영에 의해 정의되는 가상의 평면들(511) 중 식별된 파트에 매칭되는 적어도 하나의 평면을 변형 대상 평면(515)으로 결정할 수 있다. 컴퓨팅 장치(100)는 선형 투영 영역에서 깊이에 따라 구별되는 가상의 평면들(511) 중에서 특정 뷰에서 식별된 파트의 표현에 영향을 미치는 적어도 하나의 평면을 변형 대상 평면(515)으로 선별할 수 있다. 컴퓨팅 장치(100)는 사용자 입력에 따라 예상되는 모델의 조정된 형태를 토대로, 변형 대상 평면(515)의 크기를 조절하여 변형 평면(550)을 생성할 수 있다. 즉, 컴퓨팅 장치(100)는 변형 대상 평면(515)의 크기를 예상 형태에 맞춰 조절함으로써, 선형 투영을 비선형 투영으로 변환할 수 있다. 컴퓨팅 장치(100)는 이러한 변환을 통해 도 2의 (b)와 같은 형태 변화를 만들어낼 수 있다. 한편, 컴퓨팅 장치(100)는 상술한 크기 이외에도 변형 대상 평면(515)의 각도를 조절하여 선형 투영을 비선형 투영으로 변환할 수도 있다. 즉, 컴퓨팅 장치(100)는 변형 대상 평면(515)의 크기 혹은 각도 중 적어도 하나를 조절하여 선형 투영을 비선형 투영으로 변환할 수 있다.For example, referring to FIG. 4, the computing device (100) can identify a part in a 3D model that requires shape adjustment based on a user input. The computing device (100) can determine at least one plane matching the identified part among virtual planes (511) defined by linear projection as a deformation target plane (515). The computing device (100) can select at least one plane that affects the expression of the identified part in a specific view among virtual planes (511) distinguished by depth in a linear projection area as a deformation target plane (515). The computing device (100) can generate a deformation plane (550) by adjusting the size of the deformation target plane (515) based on the adjusted shape of the expected model according to the user input. That is, the computing device (100) can convert a linear projection into a non-linear projection by adjusting the size of the deformation target plane (515) to match the expected shape. The computing device (100) can create a shape change such as (b) of FIG. 2 through this transformation. Meanwhile, the computing device (100) can also convert linear projection into nonlinear projection by adjusting the angle of the deformation target plane (515) in addition to the above-described size. That is, the computing device (100) can convert linear projection into nonlinear projection by adjusting at least one of the size or angle of the deformation target plane (515).
도 5는 본 개시의 일 실시예에 따른 사용자 맞춤형 이미지 생성 방법을 나타낸 순서도이다.FIG. 5 is a flowchart illustrating a method for generating a user-customized image according to one embodiment of the present disclosure.
도 5를 참조하면, 본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 특정 뷰에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득할 수 있다(S110). 이때, 모델은 웹툰 작업과 같은 이미지 제작에 사용되는 3차원 개체일 수 있다. 예를 들어, 컴퓨팅 장치(100)는 모델 이미지의 출력이 가능한 클라이언트와 유무선 통신을 통해 모델의 형태를 조정하기 위한 사용자 입력을 획득할 수 있다. 컴퓨팅 장치(100)는 도 1에는 도시되지 않았으나 자체적인 입출력부를 통해 모델의 형태를 조정하기 위한 사용자 입력을 획득할 수도 있다.Referring to FIG. 5, a computing device (100) according to an embodiment of the present disclosure can obtain a user input for adjusting the shape of a model shown in a specific view (S110). At this time, the model may be a three-dimensional object used for image production such as webtoon work. For example, the computing device (100) can obtain a user input for adjusting the shape of the model through wired or wireless communication with a client capable of outputting a model image. Although not shown in FIG. 1, the computing device (100) may also obtain a user input for adjusting the shape of the model through its own input/output unit.
컴퓨팅 장치(100)는 S110 단계를 통해 획득된 사용자 입력을 기초로, 모델에 대한 선형 투영을 비선형 투영으로 변환할 수 있다(S120). 컴퓨팅 장치(100)는 사용자 입력에 따라 예상되는 모델의 조정된 형태를 기초로, 선형 투영에 의해 정의되는 가상의 평면들 중 적어도 하나를 변형함으로써, 선형 투영을 비선형 투영으로 변환할 수 있다. 이때, 가상의 평면들은 선형 투영의 깊이에 따라 구별되며, 표현하고자 하는 모델의 원근에 따라 2차원 뷰 평면에 대응될 수 있다. 예를 들어, 컴퓨팅 장치(100)는 사용자 입력을 기반으로, 선형 투영의 깊이에 따라 구분되는 가상의 평면들 중 적어도 하나의 크기 또는 각도 중 적어도 하나를 조절하여 비선형 특성을 만들 수 있다. 이때, 컴퓨팅 장치(100)는 사용자 입력에 따라 특정 뷰에서 예상되는 모델의 조정된 형태에 맞추어, 크기 또는 각도 중 적어도 하나의 조절 대상이 되는 평면을 선택할 수 있다. 컴퓨팅 장치(100)는 가상의 평면에 대한 변형을 통해 투영의 비선형 특성을 만듦으로써, 특정 뷰에서 보여지는 모델의 형태가 사용자 입력에 맞추어 조정되도록 할 수 있다.The computing device (100) can convert a linear projection of a model into a nonlinear projection based on the user input obtained through step S110 (S120). The computing device (100) can convert the linear projection into a nonlinear projection by transforming at least one of the virtual planes defined by the linear projection based on the adjusted shape of the model expected according to the user input. At this time, the virtual planes are distinguished according to the depth of the linear projection and can correspond to a two-dimensional view plane according to the perspective of the model to be expressed. For example, the computing device (100) can create a nonlinear characteristic by adjusting at least one of the size or angle of at least one of the virtual planes distinguished according to the depth of the linear projection based on the user input. At this time, the computing device (100) can select a plane to be the target of the adjustment of at least one of the size or angle according to the adjusted shape of the model expected in a specific view according to the user input. The computing device (100) can cause the shape of the model shown in a particular view to be adjusted to user input by creating nonlinear properties of the projection through deformation of the virtual plane.
앞서 설명된 본 개시의 다양한 실시예는 추가 실시예와 결합될 수 있고, 상술한 상세한 설명에 비추어 당업자가 이해 가능한 범주에서 변경될 수 있다. 본 개시의 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해되어야 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다. 따라서, 본 개시의 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다. The various embodiments of the present disclosure described above can be combined with additional embodiments and can be modified within a range that can be understood by those skilled in the art in light of the detailed description described above. It should be understood that the embodiments of the present disclosure are illustrative in all respects and not restrictive. For example, each component described as a single component may be implemented in a distributed manner, and likewise, components described as distributed may be implemented in a combined manner. Accordingly, all changes or modifications derived from the meaning, scope, and equivalent concept of the claims of the present disclosure should be interpreted as being included in the scope of the present disclosure.
Claims (8)
특정 뷰(view)에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득하는 단계; 및
상기 획득된 사용자 입력을 기초로, 상기 모델에 대한 선형 투영(projection)을 비선형 투영으로 변환하는 단계;
를 포함하는,
방법.
A method for generating a user-customized image, performed by a computing device including at least one processor, comprising:
A step of obtaining user input for adjusting the shape of a model shown in a specific view; and
A step of converting a linear projection for the model into a nonlinear projection based on the acquired user input;
Including,
method.
상기 사용자 입력을 기초로, 상기 모델에 대한 선형 투영을 비선형 투영으로 변환하는 단계는,
상기 사용자 입력에 따라 예상되는 모델의 조정된 형태를 기초로, 상기 선형 투영에 의해 정의되는 가상의 평면들 중 적어도 하나를 변형하는 단계;
를 포함하는,
방법.
In paragraph 1,
Based on the above user input, the step of converting the linear projection for the model into a non-linear projection is:
A step of deforming at least one of the virtual planes defined by the linear projection based on the adjusted shape of the expected model according to the user input;
Including,
method.
상기 사용자 입력에 따라 예상되는 모델의 조정된 형태를 기초로, 상기 선형 투영에 의해 정의되는 가상의 평면들 중 적어도 하나를 변형하는 단계는,
상기 사용자 입력에 따라 상기 모델에서 형태 조정이 필요한 파트(part)를 식별하는 단계;
상기 가상의 평면들 중 상기 식별된 파트에 매칭되는 적어도 하나의 평면을 변형 대상 평면으로 결정하는 단계; 및
상기 사용자 입력에 따라 예상되는 모델의 조정된 형태를 기초로, 상기 결정된 변형 대상 평면의 크기 혹은 각도 중 적어도 하나를 조절하는 단계;
를 포함하는,
방법.
In the second paragraph,
A step of deforming at least one of the virtual planes defined by the linear projection based on the adjusted shape of the model expected according to the user input,
A step of identifying a part in the model that requires shape adjustment according to the user input;
A step of determining at least one plane matching the identified part among the above virtual planes as a plane to be deformed; and
A step of adjusting at least one of the size or angle of the determined deformation target plane based on the adjusted shape of the expected model according to the user input;
Including,
method.
상기 가상의 평면들은,
상기 선형 투영의 깊이에 따라 구별되는,
방법.
In the second paragraph,
The above virtual planes are,
Distinguished by the depth of the above linear projection,
method.
상기 모델은,
이미지 제작에 사용되는 3차원 개체인,
방법.
In paragraph 1,
The above model is,
A three-dimensional object used in image creation.
method.
상기 선형 투영은,
모델의 표현을 3차원 공간에서 2차원 평면으로 전환시키기 위한 원근(perspective) 투영인,
방법.
In paragraph 1,
The above linear projection is,
A perspective projection to convert the representation of a model from a three-dimensional space to a two-dimensional plane.
method.
상기 동작들은,
특정 뷰(view)에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득하는 동작; 및
상기 사용자 입력을 기초로, 상기 모델에 대한 선형 투영(projection)을 비선형 투영으로 변환하는 동작;
을 포함하는,
컴퓨터 프로그램.
A computer program stored on a computer-readable storage medium, wherein the computer program, when executed on one or more processors, causes the computer program to perform operations for generating a user-customized image.
The above actions are,
An action to obtain user input to adjust the shape of a model displayed in a specific view; and
An action of converting a linear projection of the model into a non-linear projection based on the user input;
Including,
Computer program.
적어도 하나의 코어(core)를 포함하는 프로세서;
상기 프로세서에서 실행 가능한 프로그램 코드(code)들을 포함하는 메모리(memory); 및
네트워크부(network unit);
를 포함하고,
상기 프로세서는,
특정 뷰(view)에서 보여지는 모델의 형태를 조정하기 위한 사용자 입력을 획득하고,
상기 사용자 입력을 기초로, 상기 모델에 대한 선형 투영(projection)을 비선형 투영으로 변환하는,
장치.As a computing device for generating user-customized images,
A processor comprising at least one core;
a memory containing program codes executable by the processor; and
network unit;
Including,
The above processor,
Obtain user input to adjust the shape of the model shown in a specific view,
Based on the above user input, converting the linear projection for the model into a non-linear projection.
device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230018046A KR20240125802A (en) | 2023-02-10 | 2023-02-10 | Method, program, and apparatus for generating user-customized image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230018046A KR20240125802A (en) | 2023-02-10 | 2023-02-10 | Method, program, and apparatus for generating user-customized image |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240125802A true KR20240125802A (en) | 2024-08-20 |
Family
ID=92592338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230018046A KR20240125802A (en) | 2023-02-10 | 2023-02-10 | Method, program, and apparatus for generating user-customized image |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240125802A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11074755B2 (en) | 2017-10-26 | 2021-07-27 | Tencent Technology (Shenzhen) Company Limited | Method, device, terminal device and storage medium for realizing augmented reality image |
-
2023
- 2023-02-10 KR KR1020230018046A patent/KR20240125802A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11074755B2 (en) | 2017-10-26 | 2021-07-27 | Tencent Technology (Shenzhen) Company Limited | Method, device, terminal device and storage medium for realizing augmented reality image |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113808231B (en) | Information processing method and device, image rendering method and device, and electronic device | |
US11941737B2 (en) | Artificial intelligence-based animation character control and drive method and apparatus | |
US12118669B2 (en) | Subdividing a three-dimensional mesh utilizing a neural network | |
CN110288705B (en) | Method and device for generating three-dimensional model | |
CN112330805B (en) | Face 3D model generation method, device, equipment and readable storage medium | |
KR20220137845A (en) | Image display method, image display device, electronic device, storage medium and computer program | |
CN113052962B (en) | Model training method, information output method, device, equipment and storage medium | |
US20200118003A1 (en) | Information processing apparatus, method, and program | |
US20230206578A1 (en) | Method for generating virtual character, electronic device and storage medium | |
EP4283441B1 (en) | Control method, device, equipment and storage medium for interactive reproduction of target object | |
Sheng et al. | A lightweight surface reconstruction method for online 3D scanning point cloud data oriented toward 3D printing | |
CN114708374A (en) | Virtual image generation method, device, electronic device and storage medium | |
US12175792B2 (en) | Method and apparatus for generating object model, electronic device and storage medium | |
US20250045474A1 (en) | Session collaboration system | |
US9665937B2 (en) | Incremental global non-rigid alignment of three-dimensional scans | |
KR20240125802A (en) | Method, program, and apparatus for generating user-customized image | |
CN110288523B (en) | Image generation method and device | |
CN117788709A (en) | A differentiable light source modeling method and device based on neural radiation field | |
US12131505B2 (en) | Method, electronic device, and program product for training encoder and processing data | |
US11295493B2 (en) | System and method for generating scalar vector graphics image in an imaginary console | |
CN113129456A (en) | Vehicle three-dimensional model deformation method and device and electronic equipment | |
CN117475032A (en) | Method and device for generating meridional graph model and super network | |
CN113610992B (en) | Bone driving coefficient determining method and device, electronic equipment and readable storage medium | |
US10846917B2 (en) | Iterating different camera representations in three-dimensional model | |
CN115146494A (en) | Finite element analysis system, method and device, storage medium and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20230210 |
|
PA0201 | Request for examination |
Patent event code: PA02011R01I Patent event date: 20230210 Comment text: Patent Application |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20241118 Patent event code: PE09021S01D |