KR20080083843A - Apparatus and method for generating image to generate 3d image - Google Patents
Apparatus and method for generating image to generate 3d image Download PDFInfo
- Publication number
- KR20080083843A KR20080083843A KR1020070024573A KR20070024573A KR20080083843A KR 20080083843 A KR20080083843 A KR 20080083843A KR 1020070024573 A KR1020070024573 A KR 1020070024573A KR 20070024573 A KR20070024573 A KR 20070024573A KR 20080083843 A KR20080083843 A KR 20080083843A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- size
- divided
- generating
- supported
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000009877 rendering Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 abstract description 4
- 230000015654 memory Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
Description
도 1 및 도 2는 종래 기술에 따라 원본 2D 이미지의 사이즈를 3D 엔진에서 지원하는 이미지 사이즈로 변경하는 과정을 설명하기 위한 예시도,1 and 2 are exemplary diagrams for explaining a process of changing a size of an original 2D image to an image size supported by a 3D engine according to the prior art;
도 3은 본 발명의 실시 예에 따라 3D 이미지를 생성하기 위한 이미지 생성 장치의 내부 블록 구성도,3 is an internal block diagram of an image generating apparatus for generating a 3D image according to an embodiment of the present invention;
도 4는 본 발명의 실시 예에 따라 3D 이미지를 생성하기 위한 과정을 나타낸 흐름도,4 is a flowchart illustrating a process for generating a 3D image according to an embodiment of the present invention;
도 5는 본 발명의 실시 예에 따라 원본 2D 이미지의 사이즈를 3D 엔진에서 지원하는 이미지의 사이즈에 근접하도록 분할한 원본 이미지와 분할된 원본 이미지의 사이즈를 3D 엔진에서 지원하는 이미지의 사이즈로 변경한 이미지의 예시도,FIG. 5 is a view illustrating a method in which an original 2D image is divided into sizes close to an image supported by the 3D engine according to an embodiment of the present invention, and the sizes of the original image and the divided original image are changed to the size of the image supported by the 3D engine. An example of the image,
도 6은 본 발명의 실시 예에 따른 방법으로 생성된 3D 이미지의 예시도.6 is an exemplary view of a 3D image generated by the method according to an embodiment of the present invention.
본 발명은 3차원 이미지(3Dimension Image: 이하 "3D 이미지"라 함)를 생성 하기 위한 장치 및 방법에 관한 것으로, 특히 2차원 이미지(2Dimension Image: 이하 "2D 이미지"라 함)를 3D 이미지 생성할 시 이미지의 왜곡이나 해상도의 저하가 없도록 3D 이미지를 생성하기 위한 이미지 생성 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and a method for generating a 3D image (hereinafter referred to as "3D image"), in particular to a 2D image (hereinafter referred to as "2D image") to generate a 3D image An image generating apparatus and method for generating a 3D image such that there is no distortion of a visual image or a decrease in resolution.
일반적으로 3D 이미지는 OpenGL 또는 Direct 3D와 같은 3차원 엔진진(3Dimension Engine: 이하 "3D 엔진"이라고 함)을 이용하여 생성할 수 있다. 특히, 휴대폰이나 PDA(Personal Digital Assistants)와 같은 임베디드 시스템에서는 OpenGL을 임베디드 시스템에 적합하게 만든 3D 엔진인 OpenGL ES을 이용하고 있는 추세이다.In general, 3D images can be generated using a 3D engine (such as "3D engine"), such as OpenGL or Direct 3D. In particular, embedded systems such as mobile phones and PDAs (Personal Digital Assistants) are using OpenGL ES, a 3D engine that makes OpenGL suitable for embedded systems.
기존의 3D 엔진을 이용하지 않은 단말기에서는 3D 이미지를 디스플레이하기 위한 요청이 있으면 3D 이미지처럼 보이도록 표현한 2D 이미지를 디스플레이하였다. In a terminal that does not use the existing 3D engine, when a request for displaying the 3D image is requested, the terminal displays a 2D image expressed to look like a 3D image.
그러나, 3D 엔진을 이용하는 단말기에서는 3D 이미지를 디스플레이하기 위한 요청이 있으면 3D 엔진을 이용하여 3D 객체를 생성하고, 생성된 객체에 그림자나 색상의 변화를 준다. 그리고 단말기는 텍스쳐 맵핑(Texture Mapping)과 같은 맵핑 방법으로 3D 객체의 질감을 표현하여 입체감을 줌으로써 객체를 보다 현실감 있게 표현한다. 여기서 텍스쳐 맵핑 방법이란 3D 객체에 질감이나 그림, 사진, 문양과 같은 텍스쳐가 되는 이미지를 입히는 방법이다.However, in a terminal using a 3D engine, when a request to display a 3D image is generated, a 3D object is generated using the 3D engine, and a shadow or color is changed on the generated object. In addition, the terminal expresses the texture of the 3D object by a mapping method such as texture mapping to give a three-dimensional effect to express the object more realistically. Here, the texture mapping method is a method of applying a textured image such as a texture, a picture, a photo, or a pattern to a 3D object.
이와 같이 3D 객체에 텍스쳐 맵핑을 하기 위해서 이동 통신 단말기는 내부에 저장된 이미지 중 3D 이미지 생성에 필요한 이미지를 이용하여 3D 객체에 텍스쳐 맵핑을 할 수 있다. 이하, 단말기 내부에 저장된 이미지 중 3D 이미지 생성에 필요 한 2D 이미지를 "원본 이미지"라고 한다. 이때 일반적으로 3D 엔진을 구비하는 임베디드 시스템 중 이동 통신 단말기 내부에 저장된 이미지는 240(pixel) x 320(pixel) 또는 176(pixel) x 144(pixel)와 같은 QVGA(Quarter Video Graphic Array) 또는 QCIF(Quarter Common Intermediate Format) 사이즈를 가진다. 그러나, 3D 엔진에서 지원하는 이미지 사이즈는 2ⁿ(pixel)x 2ⁿ(pixel) 사이즈로 규격화되어 있다. 여기서, 3D 엔진에서 지원하는 이미지 사이즈란 3D 엔진에서 처리 가능한 이미지 사이즈를 의미하고, 지원하는 이미지 사이즈 외의 이미지 사이즈는 처리할 수 없다. 따라서, 이동 통신 단말기는 단말기에 저장된 원본 이미지의 사이즈를 3D 엔진에서 지원하는 이미지 사이즈로 변형한 후 3D 엔진으로 입력하고, 입력된 이미지를 3D 엔진을 통해서 3D 이미지를 생성할 수 있다. As such, in order to texture map the 3D object, the mobile communication terminal may perform texture mapping on the 3D object using an image necessary for generating the 3D image among the images stored therein. Hereinafter, a 2D image required for generating a 3D image among the images stored in the terminal is referred to as an "original image". In this case, an image stored in a mobile communication terminal of an embedded system having a 3D engine is generally a QVGA (Quarter Video Graphic Array) or QCIF (such as 240 (pixel) x 320 (pixel) or 176 (pixel) x 144 (pixel)). Quarter Common Intermediate Format) size. However, the image size supported by the 3D engine is standardized to 2 x 2 pixels. Here, the image size supported by the 3D engine means an image size that can be processed by the 3D engine, and image sizes other than the supported image size cannot be processed. Accordingly, the mobile communication terminal may convert the size of the original image stored in the terminal into an image size supported by the 3D engine, input the same into the 3D engine, and generate the 3D image through the 3D engine.
그러면, 종래의 원본 이미지 사이즈를 3D 엔진에서 지원하는 이미지 사이즈로 변경하기 위한 예를 도 1을 참조하여 설명하도록 한다.Next, an example for changing the conventional original image size to an image size supported by the 3D engine will be described with reference to FIG. 1.
예를 들어 도 1(a)와 같이 240(pixel) x 320(pixel) 사이즈를 가지는 이미지가 단말기 내부에 저장되고, 이 이미지를 3D 이미지로 변환하기 위한 요청이 있으면 우선 단말기는 도 1(a)의 이미지 사이즈를 3D 엔진에서 지원하는 2ⁿ(pixel)x 2ⁿ(pixel) 사이즈로 변경해야 한다. 이때, 만약 3D 엔진에서 지원하는 이미지 사이즈가 256(pixel) x 256(pixel) 사이즈라면 도 1(a)의 이미지는 도 1(c)와 같이 가로 사이즈를 256(pixel) 사이즈만큼 줄여야 하고, 세로 사이즈를 256(pixel) 사이즈만큼 늘려야 한다. 이와 같이 원본 이미지 사이즈는 3D 엔진에서 지원하는 이미지 사이즈와 같은 비율로 변경되는 것이 아니기 때문에 원본 이미지 사이즈를 3D 엔진에서 지원하는 이미지 사이즈로 변형하면 원본 이미지와 차이가 생기게 된다. 따라서, 도 1(a)의 이미지는 도 1(b)와 같이 이미지의 왜곡이 커진다.For example, if an image having a size of 240 (pixel) x 320 (pixel) as shown in FIG. 1 (a) is stored in the terminal, and there is a request for converting the image into a 3D image, the terminal first receives the image of FIG. Must be resized to a size of 2 pixels by 2 pixels supported by the 3D engine. At this time, if the image size supported by the 3D engine is 256 (pixel) x 256 (pixel) size, the image of FIG. 1 (a) should be reduced by 256 (pixel) size as shown in FIG. You need to increase the size by 256 pixels. In this way, since the original image size is not changed at the same rate as the image size supported by the 3D engine, when the original image size is changed to the image size supported by the 3D engine, there is a difference from the original image. Therefore, as shown in FIG. 1 (b), the image of FIG.
이와 같이 3D 이미지 생성시 발생하는 이미지 왜곡을 줄이기 위한 여러 가지 방법이 모색되었는데, 그 방법 중의 하나가 원본 이미지를 줄이거나 늘리지 않고 3D 엔진이 지원하는 이미지 사이즈로 이미지를 생성하는 것이다. 이와 같은 이미지 생성에 대한 구체적인 예는 도 2를 참조하여 살펴보도록 한다.As such, various methods for reducing image distortion generated when generating a 3D image have been sought. One of the methods is to generate an image in an image size supported by the 3D engine without reducing or increasing the original image. A detailed example of such image generation will be described with reference to FIG. 2.
예를 들어 도 2의 202과 같이 이미지가 512(pixel)x 512(pixel) 사이즈를 가지는 이미지라고 가정한다. 만약, 도 2의 200과 같이 240(pixel) x 320(pixel) 사이즈를 가지는 원본 이미지를 3D 이미지로 변환하기 위한 요청이 있으면 단말기는 200의 이미지를 202와 같이 512(pixel)x 512(pixel) 사이즈를 가지는 이미지로 생성하기 위해 202의 이미지에서 200의 이미지를 제외한 나머지 영역을 공백으로 처리한다. For example, assume that the image is an image having a size of 512 (pixel) x 512 (pixel), as shown at 202 of FIG. 2. If there is a request to convert an original image having a size of 240 (pixel) x 320 (pixel) as a 3D image as shown in 200 of FIG. 2, the terminal converts the image of 200 to 512 (pixel) x 512 (pixel) as shown in 202. In order to generate an image having a size, the remaining area of the 202 image except the 200 image is treated as a blank.
그러나, 일반적으로 임베디드 시스템에 구비되는 3D 엔진은 128(pixel) x 128(pixel) 사이즈 또는 256 (pixel) x 256(pixel) 사이즈와 같은 작은 사이즈만 지원하기 때문에 202와 같은 512(pixel)x 512(pixel) 이미지 사이즈는 처리할 수 없다.However, since 3D engines in embedded systems generally support only small sizes such as 128 (pixel) x 128 (pixel) size or 256 (pixel) x 256 (pixel) size, 512 (pixel) x 512 such as 202. (pixel) Image size cannot be processed.
만약, 원본 이미지가 3D 엔진에서 지원하는 이미지 사이즈보다 작은 경우에는 문제가 되지 않는다. 그러나, 원본 이미지가 3D 엔진에서 지원하는 이미지 사이즈보다 큰 경우에는 3D 엔진에서 지원하는 이미지 사이즈보다 작은 사이즈로 축소한 후 3D 엔진을 통하여 3D 이미지를 생성해야만 했다. 또한, 단말기는 생성된 3D 이미지 사이즈가 단말기의 액정 표시 장치(LCD: Liquid Crystal Display) 사이즈에 맞도록 3D 이미지 사이즈를 늘린 후 사이즈가 늘어난 3D 이미지를 LCD를 통해서 디스플레이한다.This is not a problem if the original image is smaller than the image size supported by the 3D engine. However, when the original image was larger than the image size supported by the 3D engine, the original image had to be reduced to a size smaller than the image size supported by the 3D engine and then generated 3D image through the 3D engine. In addition, the terminal increases the size of the 3D image so that the generated 3D image size matches the size of the liquid crystal display (LCD) of the terminal, and then displays the increased 3D image through the LCD.
상기와 같은 단말기는 2D 이미지를 이용하여 3D 이미지로 생성하는 경우 원본 이미지인 2D 이미지의 사이즈를 확대 또는 축소하는 사이즈 변경 과정을 많이 거치기 때문에 생성된 3D 이미지의 해상도는 많이 낮아질 수 밖에 없는 문제점이 있다.When the terminal is generated as a 3D image using the 2D image, the resolution of the generated 3D image is inevitably lowered because the size of the 2D image that is the original image is increased or reduced. .
따라서, 본 발명은 2D 이미지를 이용하여 3D 이미지를 생성하는 경우 이미지의 왜곡이나 해상도 저하가 없이 3D 이미지를 생성할 수 있도록 하기 위한 이미지 생성 장치 및 방법을 제공한다.Accordingly, the present invention provides an image generating apparatus and method for generating a 3D image without distortion or resolution of the image when generating the 3D image using the 2D image.
이를 위해 본 발명은 2D 이미지를 이용하여 3D 이미지를 생성하기 위한 장치에 있어서, 적어도 하나의 2D 이미지가 저장된 이미지 저장부와, 입력된 2D 이미지를 적어도 한 개의 이미지로 분할하고, 상기 분할된 각각의 이미지 사이즈를 상기 3D 엔진에서 지원하는 이미지 사이즈로 변경한 후 텍스쳐 좌표 맵핑 방법을 이용하여 상기 사이즈가 변경된 이미지들을 3D 객체에 맵핑하고, 랜더링하여 최종 3D 이미지를 생성하는 3D 이미지 생성부와, 상기 3D 이미지 생성을 위한 요청이 있으면 상기 요청된 3D 이미지를 생성하기 위해 필요한 2D 이미지를 상기 이미지 저장부에서 독출하여 상기 3D 이미지 생성부로 전송하고,상기 전송된 2D 이미지를 이용하여 상기 3D 이미지를 생성하도록 상기 3D 이미지 생성부를 제어하는 제어부를 구비함을 특징으로 한다.To this end, the present invention provides a device for generating a 3D image by using a 2D image, comprising: an image storage unit storing at least one 2D image, and splitting the input 2D image into at least one image, A 3D image generator for changing the image size to an image size supported by the 3D engine and mapping the changed size images to a 3D object using a texture coordinate mapping method and rendering the final 3D image; and the 3D If there is a request for generating an image, the 2D image necessary to generate the requested 3D image is read from the image storage unit and transmitted to the 3D image generating unit, and the 3D image is generated using the transmitted 2D image. And a control unit for controlling the 3D image generating unit.
또한, 본 발명은 2D 이미지를 입력으로 하여 3D 이미지를 생성하는 3D 엔진을 구비하는 이미지 생성 장치에서 3D 이미지를 생성하기 위한 방법에 있어서, 3D 이미지를 생성하기 위한 요청이 있으면 상기 요청된 3D 이미지를 생성하기 위해 필요한 2D 이미지를 확인하는 과정과, 상기 확인된 2D 이미지를 적어도 한 개의 이미지로 분할하는 과정과, 상기 분할된 각각의 분할 이미지 사이즈를 상기 3D 엔진에서 지원하는 이미지 사이즈로 변경하는 과정과, 텍스쳐 좌표 맵핑 방법을 이용하여 상기 사이즈가 변경된 분할 이미지를 3D 객체에 맵핑하는 과정과, 상기 맵핑된 3D 객체를 랜더링하여 3D 이미지를 생성하는 과정을 구비함을 특징으로 한다.In addition, the present invention is a method for generating a 3D image in the image generating apparatus having a 3D engine for generating a 3D image by inputting the 2D image, if the request for generating a 3D image is requested Identifying a 2D image necessary for generating, dividing the identified 2D image into at least one image, changing the size of each divided image into an image size supported by the 3D engine, and And mapping the split image having the changed size to a 3D object by using a texture coordinate mapping method, and generating the 3D image by rendering the mapped 3D object.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the annexed drawings, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.
본 발명에서는 단말기가 3D 이미지 생성시 3D 이미지 생성을 위해 필요한 2D의 이미지를 다수 개로 분할하고, 각각 분할된 이미지의 사이즈를 3D 객체에서 지원하는 이미지 사이즈로 변경한 후 텍스쳐 맵핑과 랜더링 과정을 수행함으로써, 이미지의 왜곡이나 해상도의 저하가 없이 3D 이미지를 생성하기 위한 방법을 제안하도록 한다.In the present invention, when the terminal generates a 3D image, by dividing the 2D image required for generating the 3D image into a plurality of pieces, and changing the size of each divided image to an image size supported by the 3D object, by performing a texture mapping and rendering process Therefore, we propose a method for generating 3D images without distorting the image or degrading the resolution.
그러면 이제 도 3을 참조하여 본 발명의 실시 예에 따라 3D 이미지를 생성하기 위한 단말기의 블록 구성에 대해서 살펴보기로 한다.Next, a block configuration of a terminal for generating a 3D image according to an embodiment of the present invention will now be described with reference to FIG. 3.
먼저 제어부(300)는 단말기의 전반적인 동작을 제어한다. 특히 본 발명에서 제어부(300)는 3D 이미지를 생성하기 위한 요청에 따라 이미지 저장부(311)에 저장된 해당 2D 이미지인 원본 이미지를 이용하여 3D 이미지를 생성하도록 제어한다. First, the
제어부(300)에서 3D 이미지를 생성하는 동작에 대해 구체적으로 살펴보면, 3D 이미지를 생성하기 위한 요청이 있으면 제어부(300)는 이미지 저장부(312)에 저장된 해당 원본 이미지를 버퍼(311)를 통해서 이미지 사이즈 분석부(321)로 전송한다. 그리고 제어부(300)는 이미지 사이즈 분석부(321)를 통해서 원본 이미지를 분할했을 때 각 분할 이미지의 사이즈가 3D 이미지 생성부(320)에서 지원하는 이미지 사이즈보다 작고, 동시에 분할한 분할 이미지 개수가 최소가 되는 분할 이미지 개수를 확인한다. 이후, 제어부(300)는 원본 이미지를 이미지 사이즈 분석부(321)에서 확인한 최소 분할 이미지 개수로 분할한다. 이후, 제어부(300)는 분할된 이미지들의 사이즈를 3D 이미지 생성부(320)에서 지원하는 이미지 사이즈로 변경한 후 텍스쳐 저장부(323)에 저장한다. 그리고 제어부(300)는 텍스쳐 맵핑부(324)를 통해서 3D 객체에 분할된 각각의 이미지들을 텍스쳐 좌표 맵핑 방법을 사용하여 맵핑한다. 여기서 텍스쳐 좌표 맵핑 방법이란 맵핑에 필요한 이미지와 3D 객체 각각을 좌표계로 나타내어 이미지의 모서리에 대응하는 좌표와 3D 객체의 모서리에 대응하는 좌표를 서로 매칭시켜서 맵핑하는 일반적인 맵핑 방법이다.Referring to the operation of generating the 3D image in detail in the
이후 제어부(300)는 랜더링부(325)를 통해서 맵핑된 3D 객체를 랜더 링(Rendering)하여 최종 3D 이미지를 생성한다. 여기서 랜더링이란 3D 객체에 3차원 질감이 나타나도록 그림자나 색상 또는 농도의 변화와 같은 변화를 주어 컴퓨터 그래픽에 사실감을 추가하는 일반적인 3D 이미지를 생성하기 위한 방법이다.Thereafter, the
한편, 메모리부(310)는 제어부(300)의 처리 및 제어를 위한 프로그램, 참조 데이터, 갱신 가능한 각종 보관용 데이터 등을 저장하며, 제어부(300)의 워킹 메모리(Working)로 제공된다. 특히 본 발명에서 메모리부(310)는 이미지 저장부(311)와 버퍼(312)로 구성된다. 먼저, 이미지 저장부(311)는 단말기의 UI(User Interface) 이미지 또는 메뉴 화면 이미지를 저장하거나 수신된 이미지를 저장한다. 그리고, 버퍼(312)는 3D 이미지로 생성하고자 하는 원본 이미지가 이미지 저장부(311)로부터 입력되면 임시로 저장하고, 제어부(300)의 제어에 따라 이를 3D 이미지 생성부(320)로 출력한다.On the other hand, the
또한, 3D 이미지 생성부(320)는 원본 이미지를 이용하여 3D 이미지를 생성하는데, 이러한 3D 이미지 생성부(320)는 이미지 사이즈 분석부(321)와 이미지 분할부(322), 텍스쳐 저장부(323), 텍스쳐 맵핑부(324), 랜더링부(325)로 구성된다. In addition, the
먼저, 이미지 사이즈 분석부(321)는 버퍼(312)로부터 전송된 원본 이미지를 분할했을 때 각 분할 이미지의 사이즈가 3D 이미지 생성부(320)에서 지원하는 이미지 사이즈보다 작고, 동시에 분할한 분할 이미지 개수가 최소가 되는 분할 이미지 개수를 확인한다. 그리고, 이미지 분할부(322)는 원본 이미지를 이미지 사이즈 분석부(321)에서 확인된 최소 분할 이미지 개수로 분할하고, 분할된 각각의 이미지들은 텍스쳐 저장부(323)에 저장된다. 이후, 텍스쳐 맵핑부(324)는 텍스쳐 저장 부(323)에 저장된 각각의 분할된 이미지들을 하나씩 3D 객체에 텍스쳐 좌표 맵핑 방법을 사용하여 맵핑한다. 이후, 랜더링부(325)는 텍스쳐 맵핑부(324)에서 맵핑된 3D 객체를 랜더링하여 최종 3D 이미지를 생성한다. First, when the image size analyzer 321 divides the original image transmitted from the
한편, 키 입력부(330)는 0 ~ 9의 숫자 키들과 *, #키에 대응되는 메뉴(Menu), 선택, 통화, 지움, 전원/종료, 볼륨(Volume), 촬영 등 다수의 기능 키들을 구비한다. On the other hand, the
또한, 표시부(340)는 LCD로 구성되고, 각종 영상 정보와 카메라 모듈(도면에 도시되지 않음)에 의해 얻어지거나 기지국으로부터 수신 또는 메모리부(310)에 저장되어 있는 영상을 화면상에 디스플레이한다. 특히 본 발명에서 표시부(340)는 3D 이미지 생성부(320)에서 생성된 3D 이미지를 디스플레이한다.In addition, the
그러면 이제 도 3과 같이 구성되는 단말기에서 이미지의 왜곡이나 해상도의 저하가 없이 3D 이미지를 생성하기 위한 이미지 생성 과정을 도 4를 참조하여 살펴보도록 한다.Next, an image generation process for generating a 3D image without distortion or resolution deterioration of the image in the terminal configured as shown in FIG. 3 will now be described with reference to FIG. 4.
도 4는 2D 이미지인 원본 이미지를 이용하여 3D 이미지를 생성하는 과정을 도시한 제어 흐름도이다. 4 is a control flowchart illustrating a process of generating a 3D image using an original image which is a 2D image.
먼저, 도 4를 살펴보면, 400단계에서 제어부(300)는 대기 상태를 유지한다. 이후 402단계에서 제어부(300)는 키 입력부(330)를 통해서 2D 이미지 또는 3D 이미지에 대한 요청이 있는지 검사한다. 이때, 2D 이미지 또는 3D 이미지에 대한 요청은 단말기의 LCD 화면에 2D 이미지 또는 3D 이미지를 디스플레이 할 경우가 발생하는지 검사하는 것이다. 그리고 2D 이미지 또는 3D 이미지에 대한 요청은 사용자에 의해서 2D 이미지를 3D 이미지로 변환하기 위한 요청이 있는지 검사하는 것도 포함한다. 이후, 3D 이미지에 대한 요청이 있으면 제어부(300)는 404단계를 진행하고, 2D 이미지에 대한 요청이 있으면 406단계를 진행하여 이미지 저장부(311)에서 2D 이미지를 독출하여 표시부(340)에 디스플레이한다. First, referring to FIG. 4, in
한편, 404단계에서 제어부(300)는 이미지 저장부(311)에서 3D 이미지로 생성할 해당 2D 이미지를 독출하여 버퍼(312)를 통해서 이미지 사이즈 분석부(312)로 전송한다. 이후 제어부(300)는 이미지 사이즈 분석부(321)를 통해서 원본 이미지를 분할했을 때 각 분할 이미지의 사이즈가 3D 이미지 생성부(320)에서 지원하는 이미지 사이즈보다 작고, 동시에 분할한 분할 이미지 개수가 최소가 되는 분할 이미지 개수를 확인한다. 그러면, 상기와 같이 이미지 사이즈 분석부(321)에서 해당 원본 이미지를 분석하여 최소 분할 이미지 개수를 확인하는 과정에 대해 도 5을 참조하여 살펴보도록 한다. In
예를 들어 도 5(a)의 이미지가 240(pixel)x 320(pixel) 사이즈를 가지고, 3D 이미지 생성부(320)에서 지원하는 이미지 사이즈가 128(pixel)x 128(pixel) 사이즈라고 가정한다. 그러면 제어부(300)는 도 5(a)의 이미지 사이즈가 128(pixel)x 128(pixel) 사이즈보다 작고, 동시에 분할한 분할 이미지 개수가 최소가 되는 개수를 확인한다. 여기서, 도 5(a)의 이미지 사이즈를 분석해보면 도 5(a)의 이미지를 분할했을 때 각 분할 이미지는 120(pixel)x 107(pixel) 사이즈를 가지고, 최소 분할 개수는 6개이다. 그리고 제어부(300)는 이미지 분할부(322)가 도 5(a)의 이미지를 이미지 사이즈 분석부(321)에서 확인한 최소 분할 이미지 개수로 분할하도록 제 어한다. For example, assume that the image of FIG. 5 (a) has a size of 240 (pixel) x 320 (pixel), and the image size supported by the
이후, 408단계로 진행한 제어부(300)는 분할된 이미지들의 사이즈가 3D 이미지 생성부(320)에서 지원하는 이미지 사이즈가 되도록 각각의 이미지 사이즈를 늘린다. 예를 들어 제어부(300)는 도 5(a)에서 500의 이미지가 128(pixel)x 128(pixel) 사이즈를 가지도록 500의 이미지 왼쪽 위 모서리를 기준으로 하여 500의 가로 또는 세로 사이즈를 도 5(b)와 같이 128(pixel)x 128(pixel) 사이즈로 늘린다. 그리고, 제어부(300)는 도 5(a)에서 501의 이미지가 128(pixel)x 128(pixel) 사이즈를 가지도록 501의 왼쪽 위 모서리를 기준으로 하여 501의 가로 또는 세로 사이즈를 도 5(c)와 같이 128(pixel)x 128(pixel) 사이즈로 늘린다. 이와 같이 제어부(300)는 분할된 6개의 이미지들 각각의 이미지 사이즈를 상기와 같은 방법을 이용하여 128(pixel)x 128(pixel) 사이즈로 늘린다. 이후 제어부(300)는 사이즈가 늘어난 각각의 이미지들을 텍스쳐 저장부(323)에 저장한다.Thereafter, the
이후, 410단계에서 제어부(300)는 텍스쳐 맵핑부(324)가 텍스쳐 좌표 맵핑 방법을 이용하여 텍스쳐 저장부(323)에 저장된 각각의 이미지들을 3D 객체에 맵핑하도록 한다. 이때, 저장된 이미지의 모서리 좌표들은 (s,t)와 같은 좌표로 표현되는데, s는 이미지의 가로축 좌표, t는 이미지의 세로축 좌표를 나타내며, 각각의 좌표는 0 ~ 1 사이의 범위를 갖는다. In
예를 들어, 128(pixel)x 128(pixel) 사이즈를 지원하는 3D 이미지 생성부(320)에서 가로 사이즈인 128(pixel)이 1의 값을 가지도록 가로 좌표값을 설정하고, 세로 사이즈인 128(pixel)이 1의 값을 가지도록 세로 좌표값을 설정한다고 가 정한다. 이때, 텍스쳐 저장부(323)에 저장된 각각의 이미지들은 120(pixel)x 107(pixel) 사이즈를 128(pixel)x 128(pixel) 사이즈로 늘린 이미지들이기 때문에 상기 이미지들의 모서리 좌표는 하기와 같은 좌표 범위를 가진다.For example, in the
s의 범위 : 0 ~ (분할된 이미지의 가로 사이즈/3D 이미지 생성부에서 지원하는 이미지의 가로 사이즈)Range of s: 0 ~ (Horizontal size of divided image / 3 Horizontal size of image supported by 3D image generator)
t의 범위 : 0 ~ (분할된 이미지의 세로 사이즈/3D 이미지 생성부에서 지원하는 이미지의 세로 사이즈)Range of t: 0 ~ (vertical size of divided image / 3 height of image supported by 3D image generator)
따라서, 500의 이미지 또는 501의 이미지에서 s의 좌표 범위는 0 ~ 0.947을 가지고, t의 좌표 범위는 0 ~ 0.835를 가진다. 그리하여 상기와 같은 모서리 좌표 범위를 가지는 이미지들을 3D 객체에 맵핑할 경우 맵핑되는 이미지들은 분할된 원본 이미지 사이즈 그대로 3D 객체에 맵핑된다.Thus, in the image of 500 or the image of 501, the coordinate range of s has 0 to 0.947, and the coordinate range of t has 0 to 0.835. Thus, when the images having the above edge coordinate range are mapped to the 3D object, the images to be mapped are mapped to the 3D object as they are.
또한, 410단계에서 412단계로 진행한 제어부(300)는 랜더링부(325)를 통해서 맵핑된 3D 객체를 랜더링하여 최종 3D 이미지를 생성한다. 이후 414단계에서 제어부(300)는 생성된 3D 이미지의 사이즈가 표시부(340)의 LCD 화면 사이즈에 맞도록 생성된 3D 이미지의 사이즈를 변경한다. 그리고 제어부(300)는 사이즈가 변경된 3D 이미지를 표시부(340)를 통해서 디스플레이한다. 이때 표시부(340)를 통해서 디스플레이되는 3D이미지는 도 6(a) 또는 도 6(b)와 같은 이미지로 도시될 수 있다.In addition, the
상술한 바와 같이 본 발명은 단말기가 3D 이미지를 생성시 생성에 필요한 2D 이미지를 다수개의 분할 이미지로 분할하고, 분할된 각 이미지를 3D 엔진에서 지원하는 이미지 사이즈로 변경한 후 텍스쳐 맵핑과 랜더링 처리하여 3D 이미지를 생성한다. 이때, 본 발명은 3D 엔진에서 지원하는 이미지 사이즈와 최대 근접한 이미지 사이즈를 가지도록 2D 이미지를 분할한 후 3D 이미지 생성 동작을 수행하기 때문에 2D 이미지 사이즈를 3D 엔진에서 지원하는 이미지 사이즈로 변경 시 기존에 비해 크게 변경되지 않는다. 따라서, 3D 이미지 생성에 필요한 2D 이미지의 왜곡을 줄일 수 있다.As described above, in the present invention, when the terminal generates a 3D image, the terminal divides the 2D image required for generation into a plurality of divided images, changes each divided image to an image size supported by the 3D engine, and then performs texture mapping and rendering. Generate 3D images. At this time, since the present invention performs a 3D image generation operation after dividing the 2D image to have an image size that is closest to the image size supported by the 3D engine, when the 2D image size is changed to an image size supported by the 3D engine, It does not change significantly. Therefore, distortion of the 2D image required for generating the 3D image can be reduced.
또한, 본 발명은 기존과 같이 2D 이미지 사이즈를 여러 번 늘이거나 줄이지 않기 때문에 생성된 3D 이미지를 화면에 디스플레이 시 해상도 저하를 방지할 수 있는 이점이 있다.In addition, the present invention does not increase or decrease the size of the 2D image as many times as before, there is an advantage that can prevent the resolution degradation when displaying the generated 3D image on the screen.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024573A KR100860673B1 (en) | 2007-03-13 | 2007-03-13 | Apparatus and method for generating image to generate 3d image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070024573A KR100860673B1 (en) | 2007-03-13 | 2007-03-13 | Apparatus and method for generating image to generate 3d image |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080083843A true KR20080083843A (en) | 2008-09-19 |
KR100860673B1 KR100860673B1 (en) | 2008-09-26 |
Family
ID=40024323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070024573A KR100860673B1 (en) | 2007-03-13 | 2007-03-13 | Apparatus and method for generating image to generate 3d image |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100860673B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012138452A1 (en) * | 2011-04-07 | 2012-10-11 | Ebay Inc. | Item model based on descriptor and images |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120040841A (en) * | 2010-10-20 | 2012-04-30 | 엘지전자 주식회사 | Method for moving pointer in display apparatus and display apparatus thereof |
KR20160102608A (en) | 2015-02-23 | 2016-08-31 | 고석호 | Apparatus for producing three-dimension object and method thereof |
KR101705812B1 (en) | 2016-11-10 | 2017-02-10 | 주식회사 팝스라인 | Apparatus for producing mixed reality content and method thereof |
KR102020352B1 (en) | 2018-01-19 | 2019-09-11 | 주식회사 팝스라인 | Apparatus for providing mixed reality content using three-dimension object and marker and method thereof |
KR20190088657A (en) | 2018-01-19 | 2019-07-29 | 주식회사 팝스라인 | Apparatus for providing mixed reality content using three-dimension object and marker and method thereof |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04172576A (en) * | 1990-11-07 | 1992-06-19 | Dainippon Printing Co Ltd | Large picture rendering processor |
JP3527796B2 (en) | 1995-06-29 | 2004-05-17 | 株式会社日立製作所 | High-speed three-dimensional image generating apparatus and method |
US5872572A (en) * | 1995-12-08 | 1999-02-16 | International Business Machines Corporation | Method and apparatus for generating non-uniform resolution image data |
JPH1198531A (en) | 1997-09-24 | 1999-04-09 | Sanyo Electric Co Ltd | Device for converting two-dimensional image into three-dimensional image and its method |
EP1704535B1 (en) * | 2004-01-06 | 2007-10-24 | Nxp B.V. | Method of rendering graphical objects |
-
2007
- 2007-03-13 KR KR1020070024573A patent/KR100860673B1/en not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012138452A1 (en) * | 2011-04-07 | 2012-10-11 | Ebay Inc. | Item model based on descriptor and images |
US8473362B2 (en) | 2011-04-07 | 2013-06-25 | Ebay Inc. | Item model based on descriptor and images |
US9805503B2 (en) | 2011-04-07 | 2017-10-31 | Ebay Inc. | Item model based on descriptor and images |
US10157496B2 (en) | 2011-04-07 | 2018-12-18 | Ebay Inc. | Item model based on descriptor and images |
US11004260B2 (en) | 2011-04-07 | 2021-05-11 | Ebay Inc. | Item model based on descriptor and images |
Also Published As
Publication number | Publication date |
---|---|
KR100860673B1 (en) | 2008-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
US10885607B2 (en) | Storage for foveated rendering | |
EP3180773B1 (en) | Bandwidth reduction using texture lookup by adaptive shading | |
US12020401B2 (en) | Data processing systems | |
US20140064607A1 (en) | Systems, methods, and computer program products for low-latency warping of a depth map | |
US10410398B2 (en) | Systems and methods for reducing memory bandwidth using low quality tiles | |
KR100860673B1 (en) | Apparatus and method for generating image to generate 3d image | |
US10978027B2 (en) | Electronic display partial image frame update systems and methods | |
US7425967B2 (en) | Device for processing pixel rasterization and method for processing the same | |
KR20160051154A (en) | Rendering method and apparatus, and electronic apparatus | |
US10789761B2 (en) | Method and device for processing spatial data | |
CN110569013B (en) | Image display method and device based on display screen | |
KR20040062564A (en) | Systems and methods for generating visual representations of graphical data and digital document processing | |
US20210118109A1 (en) | Image processing method, image processing device, image processing system and medium | |
CN114782648A (en) | Image processing method, image processing device, electronic equipment and storage medium | |
JP2010191026A (en) | Terminal outputting image data in accordance with external display device, program, and method | |
EP1141892B1 (en) | Method and apparatus for stretch blitting using a 3d pipeline processor | |
CN110457098B (en) | Page local image sharing method, device, equipment and storage medium | |
US11955054B1 (en) | Foveated display burn-in statistics and burn-in compensation systems and methods | |
US20040012586A1 (en) | Image processing apparatus and method of same | |
KR101337558B1 (en) | Mobile terminal having hub function for high resolution images or stereoscopic images, and method for providing high resolution images or stereoscopic images using the mobile terminal | |
US12039660B1 (en) | Rendering three-dimensional content based on a viewport | |
CN115223516B (en) | Graphics rendering and LCD driving integrated chip and related method and device | |
US20240095871A1 (en) | Cache architecture for image warp processing systems and methods | |
KR101846279B1 (en) | Display Apparatus For Displaying Three Dimensional Picture And Driving Method For The Same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |