KR20160077559A - Real time interal imaging method - Google Patents

Real time interal imaging method Download PDF

Info

Publication number
KR20160077559A
KR20160077559A KR1020140187598A KR20140187598A KR20160077559A KR 20160077559 A KR20160077559 A KR 20160077559A KR 1020140187598 A KR1020140187598 A KR 1020140187598A KR 20140187598 A KR20140187598 A KR 20140187598A KR 20160077559 A KR20160077559 A KR 20160077559A
Authority
KR
South Korea
Prior art keywords
image
gpu
real
data
integrated
Prior art date
Application number
KR1020140187598A
Other languages
Korean (ko)
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 KR1020140187598A priority Critical patent/KR20160077559A/en
Publication of KR20160077559A publication Critical patent/KR20160077559A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

The present invention relates to a method for generating a real-time integral image by using a real-time integral generation system for generating an integral image in real time at high speed in a computer graphics environment. The method for generating a real-time integral image by using a real-time integral generation system for generating an integral image in real time at high speed in a computer graphics environment uses shader programming together with a GPGPU, thereby displaying an integral image on a monitor at high speed without transferring data between RAM and a GPU. Accordingly, the method for generating a real-time integral image according to the present invention allows the GPU to process overall calculation required to generate an integral image while maintaining an existing rendering pipeline structure, thereby having a significant effect of generating an integral image without a delay time required for physical data transmission between the RAM and the GPU.

Description

실시간 집적 영상 생성 방법{Real time interal imaging method}[0001] The present invention relates to a real-time integrated imaging method,

본 발명은 컴퓨터 그래픽스 환경에서 실시간으로 집적 영상을 고속 생성하는 실시간 집적 생성 시스템을 이용하여 실시간 집적 영상 생성 방법에 관한 것이다.
The present invention relates to a real-time integrated image generation method using a real-time integrated generation system for generating integrated images at high speed in a computer graphics environment.

컴퓨터 그래픽스는(Computer Graphices,CG)는 컴퓨터를 이용해서 실새로운 영상을 만들어 내는 기술을 말한다.Computer Graphics (CG) refers to a technique for creating a new image of a room using a computer.

최근에는 일반적으로 3차원 컴퓨터 그래픽스를 컴퓨터 그래픽스로 부르기도 한다.In recent years, 3D computer graphics is often referred to as computer graphics.

본 발명은 컴퓨터 그래픽스 환경에서 실시간으로 집적 영상을 고속 생성하는 방법에 관한 것이다.The present invention relates to a method for generating an integrated image at high speed in real time in a computer graphics environment.

기존의 컴퓨터 그래픽스 환경에서 집적 영상을 고속으로 생성하는 방법은 GPGPU를 이용해 계산량을 줄이는 방법이 대부분이다.In the conventional computer graphics environment, the method of generating the integrated image at high speed is a method of reducing the calculation amount using the GPGPU.

이러한 컴퓨터 그래픽스 환경에서 집적 영상을 고속으로 생성하는 종래기술로는 등록특허공보 제1275588호에 N×N개의 렌즈들로 구성된 가상 렌즈가 구비되어 있고, 가상 렌즈 정보 입력부, 사용자 요구사항 입력부 및 3차원 볼륨 영상 데이터 입력부로 구성된 데이터 입력부와; 상기 가상 렌즈 정보 입력부에 입력된 정보를 받아 상기 가상 렌즈의 정보를 계산하는 가상 렌즈 정보 계산부와, 상기 사용자 요구사항 입력부와 상기 3차원 볼륨 영상 데이터 입력부에 입력된 정보를 받아 가상 카메라 세팅 정보를 계산하는 가상 카메라 세팅 정보 계산부로 구성된 계산부와; 상기 가상 렌즈 정보 계산부와 상기 가상 카메라 세팅 정보 계산부에서 얻어진 각 값들을 오픈씨엘(OpenCL:Open Computing Language) 커널 프로그램으로 보내면 OpenCL 커널 프로그램에서 다중 쓰레드들이 렌더링될 집적영상의 픽셀 값을 병렬 처리로 실시간에 집적영상을 생성하도록 하는 집적영상 생성부; 및 상기 생성된 집적영상을 디스플레이하기 위한 디스플레이부로 구성됨을 특징으로 하는 3차원 볼륨 데이터에 대한 고속 집적 영상 생성 시스템이 등록공개되어 있다.As a conventional technique for generating an integrated image at high speed in such a computer graphics environment, a virtual lens composed of N x N lenses is provided in Patent Document 1275588, and a virtual lens information input unit, a user requirement input unit, A data input unit configured with a volume video data input unit; A virtual lens information calculation unit that receives information input to the virtual lens information input unit and calculates information of the virtual lens; and a virtual lens information calculation unit that receives information input to the user requirement input unit and the 3D volume image data input unit, A calculation unit configured to calculate a virtual camera setting information; When the values obtained from the virtual lens information calculation unit and the virtual camera setting information calculation unit are sent to an OpenCL (OpenCL) kernel program, the pixel values of the integrated image to be rendered in the multiclass threads in the OpenCL kernel program are subjected to parallel processing An integrated image generation unit for generating an integrated image in real time; And a display unit for displaying the generated integrated image. A high-speed integrated image generation system for three-dimensional volume data is disclosed.

그리고 또 다른 종래기술로는 등록특허공보 제0902974호의 청구항 10항에 그래픽 프로세서 유닛(GPU: graphics processor unit)으로서, 다각형 기술들(polygon descriptions)을 생성하기 위한 설정 유닛; 상기 설정 유닛에 연결되어 상기 다각형 기술들을 래스터화하기 위한 래스터화 유닛; 상기 래스터화 유닛 내에 구비되며, 화소들의 복수의 타일들을 생성하기 위해 그래픽 프리미티브를 제1 수준 정밀도로 래스터화하기 위한 개략 래스터부; 및 상기 래스터화 유닛 내에 구비되며, 상기 그래픽 프로세서의 후속단에서의 렌더링 작업을 위해 커버된 화소들을 생성하기 위하여 상기 그래픽 프리미티브를 제2 수준 정밀도로 래스터화하기 위한 정밀 래스터부를 포함하는 GPU와 독립항인 청구항 18항에 시스템 메모리; 상기 시스템 메모리에 연결된 중앙 처리 장치; 상기 중앙 처리 장치와 통신가능하게 연결된 그래픽 프로세서 유닛; 상기 그래픽 프로세서 유닛 내에 구비되며, 다각형 기술들을 생성하기 위한 설정 유닛; 상기 그래픽 프로세서 유닛 내에서 상기 설정 유닛에 연결되어, 상기 다각형 기술들을 래스터화하기 위한 래스터화기 유닛; 및 상기 래스터화기 유닛 내에 구비된 개략 래스터부를 포함하며, 상기 개략 래스터부는 상기 그래픽 프로세서의 래스터단에서의 래스터화를 위한 그래픽 프리미티브를 수신하고, 화소들의 복수의 타일들을 생성하기 위해 상기 그래픽 프리미티브를 제1 수준 정밀도로 래스터화하고, 커버된 화소들을 생성하기 위해 상기 타일들을 제2 수준 정밀도로 래스터화하며, 상기 커버된 화소들은 상기 그래픽 프로세서의 후속단에서의 렌더링 작업을 위해 출력되는 컴퓨터 시스템이 등록공개되어 있다.Another conventional technique includes a setting unit for generating polygon descriptions as a graphics processor unit (GPU) in claim 10 of Patent Publication No. 0902974; A rasterizing unit coupled to the setting unit for rasterizing the polygon techniques; A rasterization unit, provided in the rasterization unit, for rasterizing graphics primitives to a first level of precision to produce a plurality of tiles of pixels; And a precision raster unit for rasterizing the graphics primitive to a second level precision to produce covered pixels for rendering operations at a subsequent stage of the graphics processor, The system of claim 18, further comprising: a system memory; A central processing unit coupled to the system memory; A graphics processor unit communicably connected to the central processing unit; A setting unit, provided in the graphics processor unit, for generating polygon techniques; A rasterizer unit coupled to the setting unit within the graphics processor unit for rasterizing the polygon techniques; And a generic raster section provided in the rasterizer unit, the generic raster section receiving a graphics primitive for rasterization at a raster end of the graphics processor, and rendering the graphics primitive to generate a plurality of tiles of pixels Rasterizing the tiles to a second level of precision to rasterize the tiles to a level of precision and creating the covered pixels, and wherein the covered pixels are printed by a computer system that is output for rendering operations at a subsequent stage of the graphics processor, It is public.

기존의 방법들의 문제점은 Multi-View Image를 생성할 때 파이파라인을 MxN번 반복함으로 생성에 불필요한 지연시간이 발생하고, Sub-Image 변환을 하기위해서 RAM과 GPU간의 데이터를 송수신할 때 물리적 사용으로 전송속도에 한계가 존재한다.The problem with existing methods is that when generating Multi-View Image, unnecessary delay is generated by repeating pipeline M × N times, and when transmitting / receiving data between RAM and GPU for Sub-Image conversion, There is a limit to the transmission speed.

그리고 컴퓨터 그래픽스 파이프라인을 최대한 활용할 수 없어 기존의 콘텐츠를 바로 사용하지 못한다는 단점이 있다.
And it can not make full use of the computer graphics pipeline, so it can not use existing contents right away.

본 발명은 상술한 문제점을 해결하기 위하여 기존의 Multi-View Image생성에서 M×N 렌더링 파이프라인의 반복을 Shader Programming을 이용하여 속도를 향상 시키는 것과 RAM과 GPU간의 데이터를 송수신(Read/Write)할 때, 물리적(PCle Slot)으로 전송속도에 한계를 극복하기 위해 기존의 렌더링 파이프라인 구조를 유지하면서 GPU에서 집적 영상 생성에 필요한 모든 연산을 처리하도록 하여 RAM과 GPU간의 물리적 데이터 전송에 걸리는 지연시간이 없이 집적 영상을 생성하도록 하는데 그 목적이 있다.
In order to solve the above-described problems, the present invention has been made in order to improve the speed of the M × N rendering pipeline by using Shader Programming in the existing Multi-View Image generation and to read / write data between the RAM and the GPU In order to overcome the limit of transmission speed in physical (PCle Slot), it is necessary to process all the operations required for the integrated image generation in the GPU while maintaining the existing rendering pipeline structure so that the delay time for the physical data transfer between the RAM and the GPU So that an integrated image can be generated.

본 발명 실시간 집적 영상 생성 방법은 컴퓨터 그래픽스 환경에서 실시간으로 집적 영상을 고속 생성하는 실시간 집적 생성 시스템을 이용한 것으로, 쉐이더 프로그램밍(Shader Programming)과 GPGPU를 함께 사용함으로써 RAM과 GPU간의 데이터 전송 없이 고속으로 집적 영상이 모니터에 디스플레이되는 것이 특징이다.
A real-time integrated image generation method of the present invention uses a real-time integrated generation system that generates high-speed integrated images in real time in a computer graphics environment. By using a shader programming and a GPGPU, The image is displayed on the monitor.

본 발명 실시간 집적 영상 생성 방법은 기존의 렌더링 파이프라인 구조를 유지하면서 GPU에서 집적 영상 생성에 필요한 모든 연산을 처리하도록 하여 RAM과 GPU간의 물리적 데이터 전송에 걸리는 지연시간이 없이 집적 영상을 생성할 수 있다는 등의 현저한 효과가 있다.
The method of generating a real-time integrated image according to the present invention can process all the operations required for generating an integrated image in the GPU while maintaining the existing rendering pipeline structure, thereby generating an integrated image without delay time required for physical data transmission between the RAM and the GPU And the like.

도 1은 기존의 렌더링 시스템 개념도.
도 2는 단일 GPU 렌더링 시스템 개념도.
도 3은 단일 GPU에서의 순서도.
도 4는 다중 GPU 렌더링 시스템 개념도.
도 5는 다중 GPU에서의 순서도.
도 6은 컴퓨터 프로그램으로 작동하는 렌더링 파이프라인 순서도.
도 7은 2D 프로세싱 순서도.
도 8은 다시점에서의 순서도.
도 9는 렌더링 결과이미지.
도 10은 Local Area Multi-View Image를 나타낸 개요도.
1 is a conceptual diagram of a conventional rendering system;
2 is a conceptual view of a single GPU rendering system;
3 is a flowchart in a single GPU;
4 is a conceptual diagram of a multiple GPU rendering system;
5 is a flowchart in multiple GPUs;
Figure 6 is a rendering pipeline flowchart operating as a computer program.
7 is a 2D processing flow chart.
8 is a flowchart at a back-point.
Figure 9 is a rendering result image.
10 is an outline view showing a Local Area Multi-View Image.

본 발명 실시간 집적 영상 생성 방법은 컴퓨터 그래픽스 환경에서 실시간으로 집적 영상을 고속 생성하는 실시간 집적 생성 시스템을 이용한 것으로, 쉐이더 프로그램밍(Shader Programming)과 GPGPU를 함께 사용함으로써 RAM과 GPU간의 데이터 전송 없이 고속으로 집적 영상이 모니터에 디스플레이되는 것이 특징이다.A real-time integrated image generation method of the present invention uses a real-time integrated generation system that generates high-speed integrated images in real time in a computer graphics environment. By using a shader programming and a GPGPU, The image is displayed on the monitor.

상기 GPU에 3D데이터를 RAM으로부터 읽어오면, Graphics Rendering Pipeline에서 쉐이더 프로그램밍(Shading Programming)언어와 Multi-View알고리즘을 이용해 Multi-View Image를 생성하고, 생성된 Multi-View Image를 GPGPU를 이용하여 서브 이미지 변환(Sub-Image Transformation) 알고리즘으로 요소 영상을 생성하여 집적 영상 디스플레이 시스템(Integral Imaging Display System)를 통해 3D영상을 디스플레이하는 것이다.When the 3D data is read from the RAM to the GPU, a Multi-View Image is generated using a shader programming language and a Multi-View algorithm in the Graphics Rendering Pipeline, and the generated Multi-View Image is converted into a sub- And generates an element image using a Sub-Image Transformation algorithm to display a 3D image through an integral imaging display system.

또한, 다수의 CPU로 구성된 메모리 분배 장치(Memory Distribute Manager)를 이용하여 3D데이터를 다수의 CPU에 일대일 대응하도록 연결된 각각의 GPU 파이프라인을 통해 데이터를 분산하여 전송함으로써 데이터 처리속도를 높인 것이다.In addition, by using a memory distribution manager (Memory Distribute Manager) composed of a plurality of CPUs, the data processing speed is improved by dispersing and transmitting data through each GPU pipeline connected to correspond one-to-one with 3D data to a plurality of CPUs.

그리고 상기 메모리 분배 장치(Memory Distribute Manager)에 3D Data를 RAM으로부터 읽어오면, 읽어온 정보를 GPU 수에 맞게 적절하게 분산해서 각각의 GPU에 데이터를 넘겨주고, 각각의 Graphics Rendering Pipeline에서 쉐이더 프로그래밍(Shading Programming) 언어와 Multi-View 알고리즘을 이용해 Local Area Multi-View Image를 생성하며, 생성된 Local Area Multi-View Image를 하나의 다시점 영상(Multi-View Image)으로 합치고, GPGPU를 이용하여 서브 이미지 변환(Sub-Image Transformation) 알고리즘으로 요소영상을 생성하여 집적 영상 디스플레이 시스템(Integral Imaging Display System)을 통해 3D영상을 디스플레이하는 것이다.
When the 3D data is read from the RAM to the memory distribution manager, the read information is appropriately distributed according to the number of GPUs, and data is transferred to each GPU. In each Graphics Rendering Pipeline, shading And the local area multi-view image is created using the Multi-View algorithm and the local area multi-view image is combined into one multi-view image. Then, the sub-image conversion is performed using the GPGPU (Sub-Image Transformation) algorithm, and displays the 3D image through an integrated image display system (Integral Imaging Display System).

이하, 본 발명 실시간 집적 영상 생성 시스템을 첨부한 도면에 의해 상세히 설명하면 다음과 같다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a real-time integrated image generation system according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 기존의 렌더링 시스템 개념도이다.1 is a conceptual diagram of a conventional rendering system.

도 1에 도시된 바와 같이 기존의 렌더링 시스템에서는 3차원 데이터 정보를 고정 파이프라인을 M×N번 반복해 Multi-View영상을 만들고 생성된 Multi-View Image를 FrameBuffer에서 다시 RAM으로 읽어온다.As shown in FIG. 1, in the conventional rendering system, the 3D data information is repeated M × N times to generate a multi-view image, and the generated multi-view image is read from the frame buffer to the RAM again.

읽어온 Multi-View Image는 서브이미지 변환 알고리즘을 이용하여 요소영상(Elemental Image)을 만든다.The read Multi-View Image makes an elemental image using sub-image conversion algorithm.

기존의 방법에서 M×N번 반복해 Multi-View영상을 생성하는 부분, 그리고 RAM과 GPU의 Framebuffer에서 glReadPixel()&glDrawPixel()부분에서 이미지의 해상도가 커질수록 물리적으로 많은 시간이 소모된다.The larger the resolution of the image in the glReadPixel () and glDrawPixel () parts of the RAM and the GPU's framebuffer, which is repeated M × N times in the existing method, is physically time consuming.

이러한 기존의 컴퓨터 그래픽스 환경에서 집적 영상을 고속으로 생성하는 방법은 대부분 GPGPU를 이용해 계산량을 줄이는 방법이 대부분이다.Most of the methods for generating integrated images at high speed in the conventional computer graphics environment are using GPGPU to reduce the calculation amount.

그러나 기존의 방법들의 문제점은 RAM과 GPU간의 데이터를 송수신(Read/Write) 할 때 물리적(PCIe3 Slot 사용)으로 전송 속도에 한계가 존재한다.However, the problem with existing methods is that when transferring data between RAM and GPU (Read / Write), the transfer speed is limited by physical (using PCIe3 slot).

그리고 컴퓨터 그래픽스 파이프라인을 최대한 활용할 수 없어 기존의 콘텐츠를 바로 사용하지 못한다.And because the computer graphics pipeline can not be utilized to the full extent, it can not use existing content directly.

도 1을 참조하면 CPU RAM 다음에 구성되는 Fixed Rendering Pipeline은 그래픽카드 처리영역 부분이고, 나머지 한 쌍의 RAM, Sub-Image Transformation은 CPU 영역부분이다.Referring to FIG. 1, the Fixed Rendering Pipeline constituted after the CPU RAM is a graphics card processing area, the other pair of RAM, and the sub-image transformation is a CPU area.

Frame buffer는 화면에 그려질 화면 전체에 대한 정보를 담는 메모리공간(Viedeo Memory) 즉, 컴퓨터에서 화상을 기억하기 위한 기억장치로서, 중앙 처리 장치(CPU)에서 나온 표시 데이터의 신호는 일단 여기에 기록된 다음 디스플레이 화면에 보내져서 표시된다.The frame buffer is a memory space (Viedeo Memory) for storing information about the entire screen to be drawn on the screen, that is, a storage device for storing an image in a computer. The signal of the display data from the central processing unit (CPU) And then displayed on the display screen.

흔히, 해상도라고 1024×768 또는 800×480 등으로 그 해상도에 그려질 화면에 대한 정보를 담는다.Often, the resolution contains information about the screen to be drawn at that resolution, such as 1024x768 or 800x480.

GPGPU는 범용 GPU라고 하며, General Purpose computing on Graphics Processing Units의 약자로서, 컴퓨터 그래픽스를 위한 계산만 다루는 GPU를 사용하여 CPU가 전통적으로 처리했던 응용 프로그램들의 계산을 수행하는 기술이다.GPGPU is a general purpose GPU, abbreviation of General Purpose computing on Graphics Processing Units. It is a technology that performs calculations of applications that the CPU has traditionally processed using a GPU that only handles calculations for computer graphics.

이를 가능하게 한 것은 프로그램 가능한 층과 고정도 연산을 그래픽 파이프라인에 연결하는 것으로, 이를 통하여 소프트웨어 개발자들이 그래픽이 아닌 데이터에 스트림 프로세싱을 사용할 수 있게 된다.
This is achieved by connecting programmable layer and precision operations to the graphics pipeline, which allows software developers to use stream processing for non-graphics data.

도 2는 단일 GPU 렌더링 시스템 개념도이다.2 is a conceptual view of a single GPU rendering system.

도 2에 도시된 바와 같이 본 발명에서는 기존의 RAM과 GPU간의 데이터를 송수신(Read/Write)할 때 물리적(PCIe3 Slot 사용)으로 전송 속도에 한계를 극복하기 위해 기존의 렌더링 파이프라인 구조를 유지하면서 GPU에서 집적 영상 생성에 필요한 모든 연산을 처리하도록 하였다.2, in the present invention, in order to overcome the limitation of transmission speed by using a physical (PCIe3 Slot) when transmitting / receiving data between an existing RAM and a GPU, a conventional rendering pipeline structure is maintained GPU handles all the operations required to generate integrated images.

그래서 RAM과 GPU간의 물리적으로 데이터 전송에 걸리는 지연시간을 없이 집적 영상을 생성하도록 하였다.Thus, the integrated image is generated without the delay time for the physical data transfer between the RAM and the GPU.

따라서, 도 2에 도시된 바와 같이 Shader Programming과 GPGPU를 같이 사용함으로써, RAM에서 GPU간의 데이터 전송이 없이 고속으로 집적 영상이 바로 모니터에 디스플레이된다.Therefore, by using Shader Programming and GPGPU as shown in FIG. 2, integrated images are displayed on the monitor at high speed without transferring data between GPUs in the RAM.

특히, Geometry Shader는 Vertex를 입력으로 받고, 출력으로 Vertex를 생성할 수 있는, 프로그램이 정의한 쉐이더 코드를 실행한다.In particular, the geometry shader executes the program-defined shader code that receives the vertex as input and can generate the vertex as output.

하나의 Vertex에 대해서만 동작하는 Vertex Shader와 달리 지오메트리 쉐이더(Geometry Shader)는 하나의 완전한 프리미티브를 구성하는 모든 Vertex를 입력으로 받는다.Unlike the vertex shader, which works only for one vertex, the geometry shader receives all the vertices that constitute one complete primitive as input.

또, 지오메트리 쉐이더는 인접한 프리미티브들의 버텍스들도 입력으로 가져올 수 있다.The geometry shader can also fetch the vertices of adjacent primitives as input.

따라서, 하나의 View가 생성하여 M×N개의 View가 생성될 때까지 반복 수행하지 않고 한번에 Multy-View를 완성하게 된다.Therefore, Multy-View is completed at one time without repeating until one view is generated and M × N views are generated.

쉐이더 프로그래밍(Shader Programming)은 정점 쉐이더(Vertex Shader)와 픽셀 쉐이더(Pixel Shader)에 사용할 함수를 하나씩 만드는 것을 일컫는다.Shader Programming refers to creating functions for vertex shaders and pixel shaders one by one.

쉐이더(Shader)는 색의 농담, 색조, 명암효과를 주다는 의미의 Shade에 er의 합성어로써 화면에 출력할 픽셀의 위치와 색상을 계산하는 함수를 가리킨다.A shader refers to a function that computes the position and color of a pixel to be displayed on the screen, which is a compound term of Shade er, which means to give a color shade, hue and contrast effect.

참고로, 정점 쉐이더(Vertex Shader)는 3D물체 정점들의 위치를 화면좌표로 변환하는 것으로, 3D물체의 버텍스 개수만큼 실행되며, 정점 쉐이더의 출력 값은 정점의 위치 값이다.For reference, a vertex shader transforms the position of 3D object vertices into screen coordinates, which is executed as many times as the number of vertices of a 3D object, and the output value of a vertex shader is a position value of a vertex.

또한, 픽셀 쉐이더(Pixel Shader)는 화면에 출력할 최종 색상을 계산하는 것으로, 래스터라이져가 찾아내는 픽셀 수만큼 실행(정점 쉐이더의 출력 값을 3개씩 모아 삼각형을 만들어 픽셀 수를 찾는다)되며, 어느 픽셀을 어떤 색으로 칠할지를 계산한다.
The pixel shader calculates the final color to be displayed on the screen. The pixel shader calculates the number of pixels to be found by the rasterizer (collects three vertex shader output values to form a triangle to find the number of pixels) To calculate what color to paint.

도 3은 단일 GPU에서의 순서도이다.Figure 3 is a flow chart in a single GPU.

도 3에 도시된 바와 같이 실시간 집적 영상 시스템이 동작하면 GPU에 자료(Resource(3D Data))를 RAM으로부터 읽어온다.As shown in FIG. 3, when the real-time integrated image system operates, data (Resource (3D Data)) is read from the RAM to the GPU.

Graphics Rendering Pipeline에서 Shading Programming언어와 Multi-View알고리즘을 이용해 Multi-View Image를 생성한다.Graphics Rendering Create multi-view images using Shading Programming language and Multi-View algorithm in Pipeline.

생성된 Multi-View Image를 GPGPU를 이용하여 Sub-Image Transformation 알고리즘으로 요소영상을 생성한다.The generated Multi-View Image is generated by the Sub-Image Transformation algorithm using GPGPU.

생성된 요소영상을 집적 영상 디스플레이 시스템(Integral Imaging Display System)을 통해 디스플레이한다.
And displays the generated element image through the integrated image display system (Integral Imaging Display System).

도 4는 다중 GPU 렌더링 시스템 개념도이다.4 is a conceptual diagram of a multi-GPU rendering system.

기존의 단일 GPU 렌더링 시스템에 Multi-View Image를 생성할 때 한계가 존재한다.There is a limitation in creating a multi-view image in a conventional single GPU rendering system.

하나의 GPU에서 처리할 수 있는 연산량이 존재하기 때문이다.This is because there is a processing amount that can be processed by one GPU.

Multi-View Image를 생성할 때 3D Data양과 Multi-View 수가 많으면 GPU 하나에서 처리할 수 있는 연산량의 오버로 실시간 생성이 어렵다.If you have a large amount of 3D data and a large number of multi-views when creating Multi-View Image, it is difficult to create real-time because of overflow of computation amount that can be processed in one GPU.

이러한 경우 실시간 처리를 위해 다중 GPU를 이용하여 실시간 처리가 가능하게 할 수 있다.In this case, real-time processing can be performed using multiple GPUs for real-time processing.

도 4에서와 같이 메모리 분배 장치(Memory Distribute Manager)를 이용하여 3D Data를 각각의 GPU에 데이터를 분산하여 전송한다.As shown in FIG. 4, 3D data is distributed to each GPU by using a memory distribution manager.

각각의 Single GPU Pipeline은 3D Data와 파라미터 값으로 Multi-View Image를 만들고 만들어진 Local Area Multi-View Image를 하나로 합치게 된다.Each Single GPU Pipeline creates a Multi-View Image with 3D data and parameter values and combines the created Local Area Multi-View Image into one.

Local Area Multi-View Image는 Multi-View Image에서 부분적인 영역의 멀티뷰 영역을 말한다.Local Area Multi-View Image refers to multi-view area of partial area in Multi-View Image.

합쳐진 Multi-View Image를 서브 이미지 변환(Sub-Image Transformation) 알고리즘을 이용하여 요소영상(Elemental Image)으로 변환한다.The combined Multi-View Image is transformed into an Elemental Image using Sub-Image Transformation algorithm.

도 4에 도시된 바와 같이 메모리 분배 장치(Memory Distribute Manager)는 다수의 CPU로 구성되어 있으며, 각각의 CPU에는 단일 GPU 파이프라인이 연결되어 있다.As shown in FIG. 4, the memory distribution manager is composed of a plurality of CPUs, and each CPU is connected to a single GPU pipeline.

즉, 다수의 CPU로 구성된 메모리 분배 장치(Memory Distribute Manager)를 이용하여 3D데이터를 병렬구조로 일대일 대응하도록 연결된 각각의 GPU에 데이터를 분산하여 전송하는 데이터 처리속도를 높인 것이다.That is, the data processing speed of distributing and transmitting data to each GPU connected to correspond to one-to-one correspondence of 3D data in a parallel structure is increased by using a memory distribution manager composed of a plurality of CPUs.

각각의 GPU 파이프라인은 선택적으로 가동하여 데이터를 분산하여 넘기게 된다.
Each GPU pipeline is selectively enabled to distribute the data.

도 5는 다중 GPU에서의 순서도이다.5 is a flowchart in multiple GPUs.

도 5에 도시된 바와 같이 실시간 집적 영상 시스템이 동작하면 GPU에 Resource(3D Data)를 RAM으로 부터 읽어온다. As shown in FIG. 5, when a real-time integrated image system is operated, Resource (3D Data) is read from the RAM to the GPU.

그리고 읽어온 정보를 GPU의 수에 맞게 적절하게 분산해서 각각의 GPU에 Resource를 넘겨준다.We then distribute the information to each GPU by distributing the information appropriately according to the number of GPUs.

각각의 Graphics Rendering Pipeline에서 Shading Programming 언어와 Multi-View 알고리즘을 이용해 Local Area Multi-View Image를 생성한다.In each Graphics Rendering Pipeline, a local area multi-view image is created using the shading programming language and the multi-view algorithm.

생성된 Local Area Multi-View Image를 하나의 Multi-View Image로 합치고, GPGPU를 이용하여 Sub-Image Transformation 알고리즘으로 요소영상을 생성한다.Combine the generated Local Area Multi-View Image with one Multi-View Image, and generate the element image using Sub-Image Transformation algorithm using GPGPU.

생성된 요소영상을 집적 영상 디스플레이 시스템(Integral Imaging Display System)을 통해 디스플레이한다.
And displays the generated element image through the integrated image display system (Integral Imaging Display System).

도 6은 컴퓨터 프로그램으로 작동하는 렌더링 파이프라인 순서도이다.Figure 6 is a rendering pipeline flowchart that operates with a computer program.

도 6은 OpenGL 파이프라인이다.Figure 6 is an OpenGL pipeline.

OpenGLdms 실리콘 그래픽스사에서 만든 2차원 및 3차원 그래픽스 표준 API규격으로, 프로그래밍 언어 간 플랫폼 간의 교차 응용 프로그래밍을 지원한다.OpenGLdms A two-dimensional and three-dimensional graphics standard API standard created by Silicon Graphics, Inc. supports cross-application programming between platforms.

이 API는 약250여개 가량의 함수호출을 이용하여 단순한 기하도형에서부터 복잡한 3차원 장면을 생성할 수 있다.This API can generate complex 3D scenes from simple geometric shapes using about 250 function calls.

도 6의 ⓒ부분에서 Multi-View 알고리즘을 적용하여 다시점 영상을 얻을 수 있다.
6, the multi-view algorithm can be applied to obtain a multi-view image.

도 7은 2D 프로세싱 순서도이다.Figure 7 is a 2D processing flow chart.

도 7에 도시된 바와 같이 2D 프로세싱 순서도As shown in Fig. 7, the 2D processing flow chart

Frame Buffer에 있는 2D 정보를 Pixel Buffer로 복사한다.Copy 2D information in Frame Buffer to Pixel Buffer.

복사된 Pixel Buffer 에서 Single View Image의 크기와 픽셀수를 계산한다.Calculate the size and number of pixels of the single view image in the copied pixel buffer.

계산된 정보를 가지고 GPGPU를 이용하여 병렬처리한다.Parallel processing is performed using GPGPU with the calculated information.

서브 이미지 변환(Sub-Image Transformation) 알고리즘을 이용하여 요소영상으로 변환한다.And transforms it into an elemental image using a sub-image transformation algorithm.

변환된 요소영상을 Frame Buffer로 복사한다.
Copy the transformed element image to Frame Buffer.

도 8은 다시점에서의 순서도이다.Fig. 8 is a flowchart at a more point.

Programmable Rendering Pipleline의 순서도 ⓒ에 해당한다.Programmable Rendering The flowchart of the Pipleline corresponds to ⓒ.

Multi-View의 M×N의 수를 계산한다.Calculate the number of M × N of Multi-View.

3차원 이동 메트릭스 설정, 3차원 이동 로데이션 설정, 설정된 값으로 Multi-View를 생성한다.3-D movement matrix setting, 3-D movement movement setting, and Multi-View with the set value.

그리고 입력된 파라메터정보(Multi-View 생성에 필요한 기본정보)를 기반으로 각각의 3차원 Matrix 계산을 통해 시점이 다르게 새로운 3D 정보를 만들어낸다.Based on the input parameter information (basic information required for Multi-View generation), new 3D information is generated at different points of view through each 3D matrix calculation.

Geometry Shader는 새로운 버텍스를 이동,회전, 그리고 생성하고, 거기에 맞는 텍스쳐 매핑,클리핑 과정을 계산을 통해 수행한다.The geometry shader moves, rotates, and creates a new vertex, and computes the texture mapping and clipping process to match it.

하나의 View가 생성되면 M×N개의 View가 생성될 때까지 Vertex Shader에서 다시 반복 수행한다.When one view is created, it is repeated in the vertex shader until M × N views are generated.

도 9는 래더링 결과이미지이다.9 is a laddering result image.

도 9에 도시된 바와 같이 (a)는 Single View Image로서, 3D Vertex,Edge,Face, Texture Image 등의 정보를 하나의 View로 렌더링한 결과물이며, (b)는 Multi-View Image로서 Programmable Rendering Pipeline을 통해 생성된 다시점 이미지이다.As shown in FIG. 9, (a) is a single view image, which is a result of rendering information such as a 3D vertex, an edge, a face, and a texture image as a single view. (B) Is a multi-view image generated by the user.

또한, (c)는 Elemental Image로서 Multi-View Image를 Sub-Image Transformation 알고리즘을 이용하여 요소영상(Elemental Image)으로 변환한 최종 결과 영상이다.
(C) is a final result image obtained by converting a Multi-View Image as an Elemental Image into an Elemental Image using a Sub-Image Transformation algorithm.

따라서, 상술한 바와 같이 본 발명 실시간 집적 영상 생성 방법은 기존의 렌더링 파이프라인 구조를 유지하면서 GPU에서 집적 영상 생성에 필요한 모든 연산을 처리하도록 하여 RAM과 GPU간의 물리적 데이터 전송에 걸리는 지연시간이 없이 집적 영상을 생성할 수 있다는 등의 현저한 효과가 있다.Accordingly, as described above, the real-time integrated image generation method of the present invention can process all the operations required for the integrated image generation in the GPU while maintaining the existing rendering pipeline structure, It is possible to generate an image.

Claims (4)

컴퓨터 그래픽스 환경에서 실시간으로 집적 영상을 고속 생성하는 실시간 집적 생성 시스템을 이용한 것으로, 쉐이더 프로그램밍(Shader Programming)과 GPGPU를 함께 사용함으로써 RAM과 GPU간의 데이터 전송 없이 고속으로 집적 영상이 모니터에 디스플레이되는 것이 특징인 실시간 집적 영상 생성 방법.
Using Shader Programming and GPGPU, the integrated image can be displayed on the monitor at high speed without transferring data between RAM and GPU by using real-time integrated generation system that generates high-speed integrated image in real time in computer graphics environment. Time integrated image generation method.
제1항에 있어서,
상기 실시간 집적 생성 시스템에 단일 GPU 파이프 라인으로 구성되는 경우, 상기 GPU에 3D데이터를 RAM으로부터 읽어오면, Graphics Rendering Pipeline에서 쉐이더 프로그램밍(Shading Programming)언어와 Multi-View알고리즘을 이용해 Multi-View Image를 생성하고, 생성된 Multi-View Image를 GPGPU를 이용하여 서브 이미지 변환(Sub-Image Transformation) 알고리즘으로 요소 영상을 생성하여 집적 영상 디스플레이 시스템(Integral Imaging Display System)를 통해 3D영상을 디스플레이하는 것이 특징인 실시간 집적 영상 생성 방법.
The method according to claim 1,
When the real-time integrated generation system is composed of a single GPU pipeline, when the 3D data is read from the RAM into the GPU, a multi-view image is generated using the shader programming language and the multi-view algorithm in the Graphics Rendering Pipeline The 3D image is displayed through the integrated image display system by generating the element image by using the Sub-Image Transformation algorithm using the generated Multi-View Image using the GPGPU. Integrated image generation method.
제1항에 있어서,
상기 실시간 집적 생성 시스템에 복수의 GPU 파이프 라인으로 구성되는 경우, 다수의 CPU로 구성된 메모리 분배 장치(Memory Distribute Manager)를 이용하여 3D데이터를 다수의 CPU에 일대일 대응하도록 연결된 각각의 GPU 파이프라인을 통해 데이터를 분산하여 전송함으로써 데이터 처리속도를 높인 것이 특징인 실시간 집적 영상 생성 방법.
The method according to claim 1,
When the real-time integrated generation system is constituted by a plurality of GPU pipelines, it is possible to use a memory distribution device (Memory Distribute Manager) composed of a plurality of CPUs to connect the 3D data to each of the plurality of CPUs through respective GPU pipelines Wherein the data processing speed is increased by dispersing and transmitting data.
제3항에 있어서,
상기 메모리 분배 장치(Memory Distribute Manager)에 3D데이터를 RAM으로부터 읽어오면, 읽어온 정보를 GPU 수에 맞게 분산해서 각각의 GPU에 데이터를 넘겨주고, 각각의 Graphics Rendering Pipeline에서 쉐이더 프로그래밍(Shading Programming) 언어와 Multi-View 알고리즘을 이용해 Local Area Multi-View Image를 생성하며, 생성된 Local Area Multi-View Image를 하나의 다시점 영상(Multi-View Image)으로 합치고, GPGPU를 이용하여 서브 이미지 변환(Sub-Image Transformation) 알고리즘으로 요소영상을 생성하여 집적 영상 디스플레이 시스템(Integral Imaging Display System)을 통해 3D영상을 디스플레이하는 것이 특징인 실시간 집적 영상 생성 방법.
The method of claim 3,
When the 3D data is read from the RAM to the memory distribution manager, the read information is distributed according to the number of GPUs, and data is transferred to each GPU. In each Graphics Rendering Pipeline, a shading programming language View image using the Multi-View algorithm, combine the generated Local Area Multi-View Image into a Multi-View Image, and use the GPGPU to convert the sub- And a 3D image is displayed through an integrated image display system (an integrated image display system).
KR1020140187598A 2014-12-23 2014-12-23 Real time interal imaging method KR20160077559A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140187598A KR20160077559A (en) 2014-12-23 2014-12-23 Real time interal imaging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140187598A KR20160077559A (en) 2014-12-23 2014-12-23 Real time interal imaging method

Publications (1)

Publication Number Publication Date
KR20160077559A true KR20160077559A (en) 2016-07-04

Family

ID=56500990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140187598A KR20160077559A (en) 2014-12-23 2014-12-23 Real time interal imaging method

Country Status (1)

Country Link
KR (1) KR20160077559A (en)

Similar Documents

Publication Publication Date Title
US9747718B2 (en) System, method, and computer program product for performing object-space shading
KR101925292B1 (en) Gradient adjustment for texture mapping to non-orthonormal grid
US11657560B2 (en) VRS rate feedback
US7843463B1 (en) System and method for bump mapping setup
US9224227B2 (en) Tile shader for screen space, a method of rendering and a graphics processing unit employing the tile shader
CN107392836B (en) Stereoscopic multi-projection using a graphics processing pipeline
CN108230435B (en) Graphics processing using cube map textures
US20180211434A1 (en) Stereo rendering
KR20110062083A (en) Video restoration apparatus and its method
CN112017101A (en) Variable rasterization ratio
US10192348B2 (en) Method and apparatus for processing texture
WO2018140223A1 (en) Stereo rendering
CN103679786A (en) Texel data structure for graphics processing unit programmable shader and method of operation thereof
JP4584956B2 (en) Graphics processor and drawing processing method
CN114758051A (en) Image rendering method and related equipment thereof
US10062140B2 (en) Graphics processing systems
KR101227155B1 (en) Graphic image processing apparatus and method for realtime transforming low resolution image into high resolution image
US11972518B2 (en) Hybrid binning
US11417058B2 (en) Anti-aliasing two-dimensional vector graphics using a multi-vertex buffer
US20230206567A1 (en) Geometry-aware augmented reality effects with real-time depth map
CN113256771A (en) Graphics system and graphics processing method therefor
KR20160077559A (en) Real time interal imaging method
US20220319091A1 (en) Post-depth visibility collection with two level binning
Johnson et al. Irregular Shadow Maps

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